/* Stitch-derived page system: compact institutional chrome, cover heroes and dense editorial grids. */
:root {
    --stitch-navy: #091e34;
    --stitch-navy-2: #071626;
    --stitch-teal: #007994;
    --stitch-cyan: #00a3c7;
    --stitch-green: #059669;
    --stitch-surface: #f5f9fb;
}

body { background: var(--stitch-surface); }
.gal-preheader { min-height: 38px; border-bottom: 1px solid rgba(0, 0, 0, .18); background: #005f74; color: rgba(255,255,255,.86); }
.gal-preheader__inner { min-height: 38px; font-size: .84rem; }
.gal-preheader__contact, .gal-preheader__links { gap: 20px; }
.gal-preheader__contact { font-size: .86rem; font-weight: 800; }
.gal-preheader__contact i { margin-right: 6px; font-size: .9rem; }
.gal-preheader a { color: #fff; }
.gal-preheader__contact i, .gal-preheader__contact span { color: #fff; }
body.admin-bar .gal-header { top: 70px; }
.gal-header { top: 38px; min-height: 76px; border-bottom-color: #dce6eb; background: rgba(255,255,255,.97); box-shadow: 0 2px 9px rgba(9,30,52,.08); }
.gal-header__inner { min-height: 76px; gap: 22px; }
.gal-logo { gap: 8px; }
.gal-logo img { width: 48px; height: 48px; border-radius: 4px; }
.gal-logo__text strong { color: var(--stitch-navy); font-size: 1.05rem; }
.gal-logo__text small { color: #647987; font-size: .45rem; letter-spacing: .06em; }
.gal-main-nav__list { gap: 0; }
.gal-main-nav__list > li > a { padding: 10px 10px; color: #26394a; font-size: .9rem; font-weight: 700; }
.gal-main-nav__list > li > a:hover, .gal-main-nav__list > li > a.gal-main-nav__link--active { color: var(--stitch-teal); background: transparent; }
.gal-main-nav__list > li > a.gal-main-nav__link--active { box-shadow: inset 0 -2px 0 var(--stitch-teal); }
.gal-main-nav__item--has-children > a .gal-main-nav__arrow { display: inline-block; width: 7px; height: 7px; margin: -3px 0 0 3px; border: 0; border-right: 1.5px solid #536979; border-bottom: 1.5px solid #536979; border-radius: 0; color: transparent; background: transparent; transform: rotate(45deg); transition: transform .2s ease, border-color .2s ease; }
.gal-main-nav__item--has-children:hover > a .gal-main-nav__arrow, .gal-main-nav__item--has-children:focus-within > a .gal-main-nav__arrow { border-color: var(--stitch-teal); background: transparent; transform: rotate(225deg); }
.gal-button--header { min-height: 42px; padding: 10px 16px; border-radius: 7px; background: var(--stitch-teal); font-size: .84rem; box-shadow: 0 4px 11px rgba(0,121,148,.22); }
.gal-button--header:hover { background: #00677d; }
.gal-button--header.gal-button--green { background: var(--gal-green); box-shadow: 0 4px 11px rgba(0,164,80,.22); }
.gal-button--header.gal-button--green:hover { background: var(--gal-green-dark); }
.gal-social-link { display: inline-flex; align-items: center; justify-content: center; width: 25px; height: 25px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; color: #fff !important; font-size: .78rem; }
.gal-social-link:hover { border-color: #fff; color: var(--gal-green) !important; background: #fff; }

.nur-page { background: var(--stitch-surface); }
.nur-page__hero { min-height: 300px; padding: 52px 0 44px; background-color: var(--stitch-navy); background-position: center; }
.nur-page__hero::before { background: linear-gradient(90deg, rgba(9,30,52,.96), rgba(0,121,148,.76) 65%, rgba(0,121,148,.38)); }
.nur-page__hero > .gal-container { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-height: 204px; }
.nur-page__hero-copy { width: 100%; max-width: 920px; }
.nur-page__breadcrumb { margin: 0 0 19px; padding: 0; border: 0; color: rgba(255,255,255,.72); background: transparent; font-size: .78rem; }
.nur-page__breadcrumb .gal-container { gap: 7px; }
.nur-page__hero .nur-page__hero-copy { order: 1; }
.nur-page__hero .nur-page__breadcrumb { position: static; order: 2; width: 100%; margin: 17px 0 0; }
.nur-page__hero .nur-page__breadcrumb .gal-container { display: flex; align-items: center; min-height: 0; width: 100%; max-width: none; margin: 0; }
.nur-page__breadcrumb a { color: rgba(255,255,255,.75); }
.nur-page__breadcrumb a:hover { color: #fff; }
.nur-page__breadcrumb span:last-child { color: #a7f3d0; }
.nur-page__hero .gal-pill { margin-top: 14px; color: #b8f3df; border-color: rgba(184,243,223,.35); background: rgba(255,255,255,.10); font-size: .69rem; }
.nur-page__hero h1 { max-width: 980px; margin: 12px 0 0; font-size: clamp(2rem, 3.5vw, 2.75rem); letter-spacing: -.055em; line-height: 1.1; }
.nur-page__hero-intro { max-width: 760px; margin-top: 12px; color: #dcecf1; font-size: .95rem; line-height: 1.55; }
.nur-page__body { padding: 48px 0 74px; background: var(--stitch-surface); }
.nur-page__content { max-width: 1200px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.nur-rich { color: #4a5f70; font-size: .9rem; line-height: 1.7; }
.nur-rich h1, .nur-rich h2, .nur-rich h3, .nur-rich h4 { color: var(--stitch-navy); letter-spacing: -.035em; }
.nur-rich h2 { margin-top: 28px; font-size: clamp(1.35rem, 2.5vw, 1.9rem); }
.nur-rich h3 { margin-top: 21px; color: var(--stitch-navy); font-size: 1.02rem; }
.nur-rich h4 { margin-top: 18px; color: var(--stitch-teal); font-size: .86rem; }
.nur-rich p { margin-bottom: 13px; }
.nur-rich a { color: var(--stitch-teal); }
.nur-rich a.gal-button,
.nur-rich a.gal-button:hover,
.nur-rich .nur-content-card a.gal-button,
.nur-rich .nur-content-cta a.gal-button { text-decoration: none; }
.nur-rich a.gal-button--primary,
.nur-rich a.gal-button--primary:hover { color: #fff; background: var(--gal-blue); }
.nur-rich a.gal-button--green,
.nur-rich a.gal-button--green:hover { color: #fff; background: var(--gal-green); }
.nur-rich a.gal-button--outline,
.nur-rich a.gal-button--outline:hover { color: var(--gal-blue); background: #fff; }
.nur-rich ul, .nur-rich ol { margin-bottom: 15px; }
.nur-content-header { margin-bottom: 18px; }
.nur-content-header h2 { margin-top: 0; }
.nur-page-empty { padding: 26px; border: 1px solid #dce7ed; border-radius: 10px; color: #65798a; background: #fff; }
.nur-content-section { margin: 0 0 19px; padding: 0; }
.nur-content-row { gap: 18px; margin-bottom: 18px; }
.nur-content-column { min-width: 0; }
.nur-content-card, .nur-content-cta { padding: 18px; border: 1px solid #dce7ed; border-radius: 12px; background: #fff; box-shadow: 0 4px 12px rgba(9,30,52,.045); }
.nur-content-card h3, .nur-content-cta h3 { margin: 0 0 10px; font-size: .92rem; }
.nur-content-cta { gap: 10px; background: linear-gradient(145deg, #fff, #eef9f9); }
.nur-content-image { margin: 16px auto; }
.nur-content-image img { max-height: 540px; border-radius: 10px; box-shadow: 0 7px 20px rgba(9,30,52,.09); }
.nur-content-table { margin: 18px 0; border: 1px solid #dce7ed; border-radius: 10px; background: #fff; }
.nur-content-table table { font-size: .71rem; }
.nur-content-table th { background: #eaf6f8; }
.nur-content-posts { gap: 18px; }
.nur-content-post { padding: 0 0 15px; overflow: hidden; border-radius: 12px; border-color: #dce7ed; box-shadow: 0 4px 12px rgba(9,30,52,.045); }
.nur-content-post > a:first-child img { width: 100%; height: 146px; object-fit: cover; }
.nur-content-post > strong, .nur-content-post > span, .nur-content-post > p, .nur-content-post > a:last-child { margin-right: 16px; margin-left: 16px; }
.nur-content-post > strong { display: block; margin-top: 13px; font-size: .79rem; }
.nur-content-post > p { color: #65798a; font-size: .67rem; line-height: 1.45; }
.nur-content-post > a:last-child { display: block; }
.nur-content-posts-groups { display: grid; gap: 27px; margin: 26px 0 6px; }
.nur-content-posts-group { padding: 23px 25px 8px; border: 1px solid #dce7ed; border-radius: 15px; background: linear-gradient(145deg, #fff, #f1f9fa); box-shadow: 0 6px 18px rgba(9,30,52,.045); }
.nur-content-posts-group h3 { margin: 0 0 5px; color: var(--stitch-navy); font-size: clamp(1.15rem, 2vw, 1.45rem); letter-spacing: -.035em; }
.nur-content-posts-group__description { margin: 0; color: #607887; font-size: .76rem; line-height: 1.5; }
.nur-content-posts-group .nur-content-posts { margin-top: 18px; }
.nur-content-posts-group__empty { margin: 17px 0 13px; color: #607887; font-size: .78rem; }

/* Chi siamo and Contatti layouts. */
.nur-special-page__body { padding: 40px 0 68px; }
.nur-chi__feature { overflow: hidden; border: 1px solid #dbe6eb; border-radius: 12px; background: #fff; box-shadow: 0 8px 24px rgba(9,30,52,.07); }
.nur-chi__feature-media { position: relative; min-height: 235px; padding: 18px; background: var(--stitch-navy) center / cover no-repeat; }
.nur-chi__feature-media::before { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,121,148,.25), rgba(7,22,38,.88)); content: ''; }
.nur-chi__links { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; max-width: 630px; margin: 0 auto; padding-top: 4px; }
.nur-chi__link { display: flex; min-height: 82px; flex-direction: column; align-items: center; justify-content: center; padding: 12px 8px; border: 1px solid rgba(255,255,255,.25); border-radius: 9px; color: #fff; background: rgba(0,95,116,.85); text-align: center; box-shadow: 0 8px 18px rgba(0,0,0,.13); }
.nur-chi__link strong { font-size: .8rem; line-height: 1.2; }
.nur-chi__link span { margin-top: 7px; color: #b8f3df; font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.nur-chi__feature-caption { position: absolute; right: 20px; bottom: 17px; left: 20px; z-index: 1; color: #fff; }
.nur-chi__feature-caption strong { display: block; font-size: clamp(1.05rem, 2.2vw, 1.45rem); line-height: 1.1; }
.nur-chi__feature-caption span { display: inline-flex; margin-bottom: 8px; padding: 4px 8px; border-radius: 4px; color: #fff; background: var(--stitch-teal); font-size: .48rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.nur-chi__feature-foot { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 20px; color: #536979; font-size: .78rem; }
.nur-chi__feature-foot strong { display: block; color: var(--stitch-navy); font-size: .9rem; }
.nur-chi__feature-foot a { color: var(--stitch-teal); font-weight: 800; white-space: nowrap; }
.nur-chi__story { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 52px; align-items: start; margin-top: 0; }
.nur-chi__story-copy { padding: 0 4px; }
.nur-chi__story-copy .nur-rich { max-width: none; }
.nur-chi__aside { padding: 22px; border: 1px solid #dce7ed; border-radius: 12px; color: #d9e8ef; background: linear-gradient(145deg, var(--stitch-navy), #005f74); box-shadow: 0 10px 24px rgba(9,30,52,.13); }
.nur-chi__aside h2 { margin: 0 0 14px; color: #fff; font-size: 1.05rem; }
.nur-chi__aside ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.nur-chi__aside li a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 11px; border: 1px solid rgba(255,255,255,.16); border-radius: 7px; color: #fff; background: rgba(255,255,255,.08); font-size: .76rem; }
.nur-chi__aside li a:hover { background: rgba(255,255,255,.15); }
.nur-contact__map { overflow: hidden; min-height: 290px; margin-bottom: 28px; border: 1px solid #dce7ed; border-radius: 12px; background: #fff; box-shadow: 0 7px 18px rgba(9,30,52,.06); }
.nur-contact__map iframe { display: block; width: 100%; min-height: 290px; border: 0; }
.nur-contact__content { padding: 0; }
.nur-contact__content .nur-content-section { margin: 0; }
.nur-contact__content .nur-content-row { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 26px; }
.nur-contact__content .nur-content-column { padding: 23px; border: 1px solid #dce7ed; border-radius: 12px; background: #fff; box-shadow: 0 5px 15px rgba(9,30,52,.045); }
.nur-contact__content .nur-content-column:empty { display: none; }
.nur-contact__content .nur-contact-form { margin: 0 -1px -1px; padding: 0; border: 0; background: transparent; box-shadow: none; }
.nur-contact__content .nur-content-column > h3 { margin-top: 0; color: var(--stitch-navy); font-size: 1.18rem; }

/* Transparency index: replace the old anonymous cards with a visual section map. */
.nur-transparency__intro { margin-bottom: 27px; }
.nur-transparency__intro .nur-rich { color: #536979; font-size: .96rem; }
.nur-transparency__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.nur-transparency-card { display: grid; min-height: 174px; grid-template-rows: auto 1fr auto; gap: 14px; padding: 19px; border: 1px solid #dce7ed; border-radius: 14px; background: linear-gradient(145deg, #fff 0%, #f2fafb 100%); box-shadow: 0 5px 15px rgba(9,30,52,.05); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.nur-transparency-card:hover { border-color: rgba(0,121,148,.5); box-shadow: 0 12px 24px rgba(0,121,148,.12); transform: translateY(-3px); }
.nur-transparency-card__icon { display: inline-grid; width: 40px; height: 40px; place-items: center; border-radius: 11px; color: #fff; background: var(--stitch-teal); box-shadow: 0 5px 12px rgba(0,121,148,.2); }
.nur-transparency-card__body span { display: block; margin-bottom: 6px; color: #5f8390; font-size: .61rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.nur-transparency-card h3 { margin: 0; color: var(--stitch-navy); font-size: .91rem; line-height: 1.3; }
.nur-transparency-card__link { display: inline-flex; align-items: center; align-self: end; gap: 8px; color: var(--stitch-teal); font-size: .76rem; font-weight: 800; text-decoration: none; }
.nur-transparency-card__link:hover { color: var(--stitch-navy); }

/* Dedicated document archive layout: compact, scannable and independent from
 * the legacy PDF artwork while preserving every original document link. */
.nur-document__body { padding: 51px 0 84px; background: var(--stitch-surface); }
.nur-document-intro { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 19px; align-items: start; margin-bottom: 34px; padding: 27px 30px; border: 1px solid #dce7ed; border-radius: 16px; background: #fff; box-shadow: 0 7px 19px rgba(9,30,52,.05); }
.nur-document-intro__icon { display: inline-grid; width: 60px; height: 60px; place-items: center; border-radius: 15px; color: #fff; background: linear-gradient(145deg, var(--stitch-teal), #005f74); font-size: 1.35rem; box-shadow: 0 8px 17px rgba(0,121,148,.2); }
.nur-document-intro__copy { min-width: 0; }
.nur-document-intro__eyebrow, .nur-document-list__eyebrow { display: inline-flex; align-items: center; gap: 7px; color: var(--stitch-teal); font-size: .67rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.nur-document-intro__copy h2 { margin: 5px 0 8px; color: var(--stitch-navy); font-size: clamp(1.45rem, 2.5vw, 2rem); letter-spacing: -.045em; }
.nur-document-intro__copy .nur-rich { color: #536979; font-size: .9rem; line-height: 1.6; }
.nur-document-intro__copy .nur-rich > *:last-child { margin-bottom: 0; }
.nur-document-intro__stat { display: grid; min-width: 100px; align-content: center; justify-items: center; padding-left: 24px; border-left: 1px solid #dce7ed; }
.nur-document-intro__stat strong { color: var(--stitch-navy); font-size: 2rem; line-height: 1; }
.nur-document-intro__stat span { margin-top: 5px; color: #5f8390; font-size: .66rem; font-weight: 800; text-transform: uppercase; }
.nur-document-list__header { display: flex; align-items: center; gap: 18px; margin-bottom: 18px; }
.nur-document-list__header h2 { margin: 5px 0 0; color: var(--stitch-navy); font-size: clamp(1.35rem, 2.4vw, 1.9rem); letter-spacing: -.045em; }
.nur-document-list__line { flex: 1; height: 1px; background: #dce7ed; }
.nur-document-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.nur-document-card { display: flex; min-height: 194px; flex-direction: column; padding: 19px; border: 1px solid #dce7ed; border-radius: 13px; background: #fff; box-shadow: 0 4px 13px rgba(9,30,52,.045); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.nur-document-card:hover { border-color: rgba(0,121,148,.48); box-shadow: 0 11px 22px rgba(0,121,148,.11); transform: translateY(-3px); }
.nur-document-card__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.nur-document-card__icon { display: inline-grid; width: 42px; height: 42px; place-items: center; border-radius: 11px; color: #fff; background: var(--stitch-teal); font-size: .98rem; }
.nur-document-card__icon--pdf { background: #d73b4b; }
.nur-document-card__icon--p7m { background: #7556b5; }
.nur-document-card__icon--docx, .nur-document-card__icon--doc { background: #2d70b7; }
.nur-document-card__type { color: #63808d; font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; text-align: right; }
.nur-document-card h3 { flex: 1; margin: 21px 0 17px; color: var(--stitch-navy); font-size: .88rem; line-height: 1.38; }
.nur-document-card__link { display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 12px; border-top: 1px solid #e6eef1; color: var(--stitch-teal); font-size: .75rem; font-weight: 800; text-decoration: none; }
.nur-document-card__link:hover { color: var(--stitch-navy); }
.nur-document-fallback { padding: 30px; border: 1px solid #dce7ed; border-radius: 15px; background: #fff; box-shadow: 0 7px 19px rgba(9,30,52,.045); }

/* The project catalogue keeps its existing data model but uses the same internal cover. */
.gal-projects-filter-band { position: relative; z-index: 2; padding: 0 0 2px; background: var(--stitch-surface); }
.gal-projects-filter-band .gal-projects-filter { margin: -20px 0 0; padding: 11px; border: 1px solid #dce7ed; border-radius: 10px; background: #fff; box-shadow: 0 5px 14px rgba(9,30,52,.10); backdrop-filter: none; }
.gal-projects-filter-band .gal-projects-filter__search input { border: 1px solid #d6e2e8; background: #f8fbfc; }
.gal-projects-filter-band .gal-projects-filter__tags { margin-top: 10px; padding-top: 10px; border-top-color: #edf2f4; color: #708594; }
.gal-projects-filter-band .gal-projects-filter__tag { color: #536979; background: #f1f6f8; }
.gal-project-single__hero .nur-page__hero-intro strong { color: #fff; }

/* News archive. */
.nur-news__hero { min-height: 264px; }
.nur-news__filters { position: relative; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: -20px; padding: 11px; border: 1px solid #dce7ed; border-radius: 10px; background: #fff; box-shadow: 0 5px 14px rgba(9,30,52,.10); }
.nur-news__tabs { display: flex; flex-wrap: wrap; gap: 7px; }
.nur-news__tab { display: inline-flex; padding: 8px 12px; border-radius: 7px; color: #536979; background: #f1f6f8; font-size: .75rem; font-weight: 800; }
.nur-news__tab--active, .nur-news__tab:hover { color: #fff; background: var(--stitch-navy); }
.nur-news__search { display: flex; align-items: center; gap: 7px; min-width: 250px; padding: 8px 10px; border: 1px solid #d6e2e8; border-radius: 7px; color: #90a3af; font-size: .75rem; }
.nur-news__search input { width: 100%; border: 0; outline: 0; color: var(--stitch-navy); background: transparent; font: inherit; }
.nur-news__archive-nav { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 13px; padding: 10px 2px 0; color: #607887; font-size: .72rem; }
.nur-news__archive-nav__label { display: inline-flex; align-items: center; gap: 7px; color: var(--stitch-navy); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.nur-news__archive-nav__label i { color: var(--stitch-teal); }
.nur-news__archive-nav__links { display: inline-flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px 18px; }
.nur-news__archive-nav__links a { display: inline-flex; align-items: center; gap: 7px; color: var(--stitch-teal); font-weight: 800; text-decoration: none; }
.nur-news__archive-nav__links a:hover { color: var(--stitch-navy); }
.nur-news__featured { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); overflow: hidden; margin-top: 26px; border: 1px solid #dce7ed; border-radius: 12px; background: #fff; box-shadow: 0 5px 16px rgba(9,30,52,.05); }
.nur-news__featured-media { min-height: 300px; background: #dbe4e8 center / cover no-repeat; }
.nur-news__featured-copy { display: flex; flex-direction: column; justify-content: space-between; padding: 26px; }
.nur-news__meta { color: #708594; font-size: .7rem; }
.nur-news__featured h2 { margin: 10px 0 9px; color: var(--stitch-navy); font-size: clamp(1.35rem, 2.2vw, 1.8rem); line-height: 1.18; }
.nur-news__featured p { margin: 0; color: #637989; font-size: .82rem; line-height: 1.55; }
.nur-news__section-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin: 39px 0 16px; padding-bottom: 11px; border-bottom: 1px solid #dce7ed; }
.nur-news__section-head h2 { margin: 0; color: var(--stitch-navy); font-size: 1.45rem; letter-spacing: -.04em; }
.nur-news__section-head p { margin: 4px 0 0; color: #718594; font-size: .78rem; }
.nur-news__count { color: #708594; font-size: .61rem; font-weight: 800; }
.nur-news__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.nur-news-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid #dce7ed; border-radius: 11px; background: #fff; box-shadow: 0 4px 12px rgba(9,30,52,.045); transition: transform .2s ease, box-shadow .2s ease; }
.nur-news-card:hover { transform: translateY(-3px); box-shadow: 0 11px 24px rgba(9,30,52,.10); }
.nur-news-card__media { position: relative; display: block; height: 154px; overflow: hidden; background: #dbe4e8; }
.nur-news-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.nur-news-card:hover .nur-news-card__media img { transform: scale(1.04); }
.nur-news-card__body { display: flex; flex: 1; flex-direction: column; padding: 14px 15px 13px; }
.nur-news-card__body h3 { margin: 8px 0 7px; color: var(--stitch-navy); font-size: .95rem; line-height: 1.3; }
.nur-news-card__body p { display: -webkit-box; margin: 0; overflow: hidden; color: #6c8190; font-size: .75rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.nur-news-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 13px; border-top: 1px solid #edf2f4; color: var(--stitch-teal); font-size: .59rem; font-weight: 800; }
.nur-news__pagination { display: flex; justify-content: center; margin-top: 27px; }
.nur-news__pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 29px; height: 29px; margin: 0 3px; padding: 0 8px; border: 1px solid #dce7ed; border-radius: 6px; color: #536979; background: #fff; font-size: .62rem; font-weight: 800; }
.nur-news__pagination .current, .nur-news__pagination a:hover { color: #fff; background: var(--stitch-teal); border-color: var(--stitch-teal); }

/* News article. */
.nur-article__hero { min-height: 246px; }
.nur-article__hero h1 { max-width: 930px; font-size: clamp(2rem, 4vw, 3rem); }
.nur-article__meta { display: flex; flex-wrap: wrap; gap: 8px 15px; margin-top: 14px; color: #d5e7ed; font-size: .72rem; }
.nur-article__layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 25px; align-items: start; }
.nur-article__main { min-width: 0; padding: 25px 27px 30px; border: 1px solid #dce7ed; border-radius: 12px; background: #fff; box-shadow: 0 5px 15px rgba(9,30,52,.045); }
.nur-article__main .nur-rich { font-size: .9rem; }
.nur-article__main .nur-content-section { margin-bottom: 22px; }
.nur-article__main .nur-content-row { gap: 18px; }
.nur-article__featured-image { margin: -1px -1px 25px; overflow: hidden; border-radius: 8px; background: #e5eef1; }
.nur-article__featured-image img { width: 100%; max-height: 420px; object-fit: cover; }
.nur-article__share { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 28px; padding-top: 17px; border-top: 1px solid #e6eef1; }
.nur-article__share strong { margin-right: 4px; color: var(--stitch-navy); font-size: .73rem; }
.nur-article__share a { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border: 1px solid #d6e5ea; border-radius: 7px; color: var(--stitch-teal); background: #f7fbfc; font-size: .68rem; font-weight: 800; text-decoration: none; }
.nur-article__share a:hover { border-color: var(--stitch-teal); color: #fff; background: var(--stitch-teal); }
.nur-article__sidebar { display: grid; gap: 16px; position: sticky; top: 88px; }
.nur-article__sidebar-card { padding: 17px; border: 1px solid #dce7ed; border-radius: 11px; background: #fff; box-shadow: 0 4px 12px rgba(9,30,52,.04); }
.nur-article__sidebar-card h2 { margin: 0 0 12px; color: var(--stitch-navy); font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; }
.nur-article__sidebar-card p { margin: 0 0 14px; color: #6c8190; font-size: .68rem; line-height: 1.5; }
.nur-article__latest { display: grid; gap: 11px; }
.nur-article__latest a { display: grid; grid-template-columns: 62px 1fr; gap: 9px; align-items: center; color: var(--stitch-navy); font-size: .72rem; font-weight: 800; line-height: 1.25; }
.nur-article__latest img { width: 62px; height: 47px; border-radius: 5px; object-fit: cover; }
.nur-article__related { margin-top: 35px; padding-top: 28px; border-top: 1px solid #dce7ed; }
.nur-article__related h2 { margin: 0 0 14px; color: var(--stitch-navy); font-size: 1.3rem; }
.nur-article__related .nur-news__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nur-news__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.nur-article__related .nur-news-card__media { height: 154px; }

/* Keep the internal cards readable when legacy content supplies its own link selectors. */
.nur-rich .nur-content-card a.gal-button { min-height: 36px; }

/* Projects that had no body copy in the old Divi placeholder use a compact editorial summary. */
.nur-project-summary { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 28px; align-items: center; padding: 20px; border: 1px solid #dce7ed; border-radius: 12px; background: #fff; box-shadow: 0 5px 16px rgba(9,30,52,.05); }
.nur-project-summary img { width: 100%; height: 250px; border-radius: 9px; object-fit: cover; }
.nur-project-summary h2 { margin: 0 0 10px; color: var(--stitch-navy); font-size: clamp(1.35rem, 2.5vw, 2rem); }
.nur-project-summary p { margin: 0; color: #5e7483; font-size: .9rem; line-height: 1.65; }

/* Improve the two main institutional indexes without changing their migrated
 * headings, paragraphs, buttons or links. */
.nur-bandi-page .nur-page__content,
.nur-programmazione-page .nur-page__content { max-width: 1180px; }
.nur-bandi-page .nur-rich > .nur-content-section:first-child,
.nur-programmazione-page .nur-rich > .nur-content-section:first-child { margin-bottom: 24px; padding: 27px 29px; border: 1px solid #dce7ed; border-radius: 15px; background: #fff; box-shadow: 0 6px 18px rgba(9,30,52,.045); }
.nur-bandi-page .nur-rich > .nur-content-section:first-child h2,
.nur-programmazione-page .nur-rich > .nur-content-section:first-child h2 { margin-top: 0; font-size: clamp(1.55rem, 2.6vw, 2.1rem); }
.nur-bandi-page .nur-rich > .nur-content-section:nth-child(2) { margin-bottom: 24px; padding: 27px 29px 29px; border: 1px solid #dce7ed; border-radius: 15px; background: linear-gradient(145deg, #fff, #eef9f9); box-shadow: 0 6px 18px rgba(9,30,52,.045); }
.nur-bandi-page .nur-rich > .nur-content-section:nth-child(2) h3 { margin-top: 0; font-size: clamp(1.3rem, 2.4vw, 1.8rem); }
.nur-bandi-page .nur-rich .nur-content-posts { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 0; }
.nur-bandi-page .nur-rich .nur-content-post { background: #fff; }
.nur-bandi-page .nur-rich > .nur-content-section:last-child { margin-bottom: 0; }
.nur-bandi-page .nur-rich > .nur-content-section:last-child .nur-content-row { gap: 16px; }
.nur-bandi-page .nur-rich > .nur-content-section:last-child .nur-content-cta { min-height: 150px; justify-content: space-between; }
.nur-programmazione-page .nur-rich > .nur-content-section:first-child .nur-content-row:nth-child(2) { gap: 16px; }
.nur-programmazione-page .nur-rich > .nur-content-section:first-child .nur-content-cta { min-height: 142px; justify-content: space-between; }
.nur-programmazione-page .nur-rich > .nur-content-section:nth-child(2) { margin-top: 26px; padding: 31px 34px; border-top: 1px solid #dce7ed; border-bottom: 1px solid #dce7ed; background: #f0f8f9; }
.nur-programmazione-page .nur-rich > .nur-content-section:nth-child(2) .nur-content-row { grid-template-columns: 1fr !important; margin: 0; }
.nur-programmazione-page .nur-rich > .nur-content-section:nth-child(2) .nur-content-column:first-child { display: none; }
.nur-programmazione-page .nur-rich > .nur-content-section:nth-child(2) .nur-content-column:last-child { max-width: 780px; margin-left: auto; }
.nur-programmazione-page .nur-rich > .nur-content-section:nth-child(2) h2 { margin-top: 0; font-size: clamp(1.65rem, 3vw, 2.35rem); }
.nur-programmazione-page .nur-rich > .nur-content-section:nth-child(3) { margin-top: 25px; padding: 0 4px; }
.nur-programmazione-page .nur-rich > .nur-content-section:nth-child(3) p { color: #536979; font-size: .98rem; }

/* Editorial navigation rail built from the original CTA links in the ACF
 * content. It adds hierarchy without inventing or duplicating body copy. */
.nur-index-actions { position: relative; z-index: 2; margin: -10px 0 30px; padding: 25px 28px 28px; border: 1px solid #dce7ed; border-radius: 17px; background: linear-gradient(135deg, #fff 0%, #eef9f9 100%); box-shadow: 0 12px 28px rgba(9,30,52,.08); }
.nur-index-actions__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 19px; }
.nur-index-actions__eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--stitch-teal); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.nur-index-actions__eyebrow i { color: var(--stitch-cyan); font-size: .9rem; }
.nur-index-actions__header h2 { margin: 0; color: var(--stitch-navy); font-size: clamp(1.45rem, 2.5vw, 2rem); letter-spacing: -.045em; }
.nur-index-actions__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.nur-index-action { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 82px; padding: 14px 15px; border: 1px solid #dce7ed; border-radius: 12px; color: var(--stitch-navy); background: #fff; box-shadow: 0 4px 12px rgba(9,30,52,.035); text-decoration: none; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.nur-index-action:hover { border-color: rgba(0,121,148,.55); color: var(--stitch-navy); box-shadow: 0 10px 20px rgba(0,121,148,.12); transform: translateY(-2px); }
.nur-index-action__icon { display: inline-grid; width: 38px; height: 38px; place-items: center; border-radius: 10px; color: #fff; background: var(--stitch-teal); box-shadow: 0 5px 12px rgba(0,121,148,.2); }
.nur-index-action__copy { display: grid; gap: 4px; min-width: 0; }
.nur-index-action__copy strong { overflow-wrap: anywhere; font-size: .82rem; line-height: 1.25; }
.nur-index-action__copy small { color: var(--stitch-teal); font-size: .68rem; font-weight: 800; }
.nur-index-action__arrow { color: var(--stitch-teal); font-size: 1.1rem; font-weight: 800; }
.nur-index-content { position: relative; }
.nur-bandi-page .nur-rich > .nur-content-section:last-child { display: none; }
.nur-programmazione-page .nur-rich > .nur-content-section:first-child .nur-content-row:nth-child(2) { display: none; }
.nur-chi__story-copy { position: relative; padding: 30px 34px; border: 1px solid #dce7ed; border-radius: 15px; background: #fff; box-shadow: 0 7px 19px rgba(9,30,52,.045); }
.nur-chi__story-copy::before { position: absolute; top: 28px; bottom: 28px; left: 0; width: 4px; border-radius: 0 4px 4px 0; background: linear-gradient(180deg, var(--stitch-cyan), var(--stitch-green)); content: ''; }
.nur-chi__story-copy .nur-rich { font-size: .96rem; line-height: 1.8; }
.nur-chi__story-copy .nur-content-section { margin: 0; padding: 0; }
.nur-chi__aside li a { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; justify-content: initial; }
.nur-chi__aside-icon { display: inline-grid; width: 25px; height: 25px; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 7px; color: #b8f3df; background: rgba(255,255,255,.08); font-size: .68rem; }

/* External territory bridge and the future-proof homepage fallback once no
 * current grant posts remain. Both reuse the existing project/news content. */
.gal-external-cta { padding: 22px 0; background: #eaf6f7; border-top: 1px solid #d7eaed; border-bottom: 1px solid #d7eaed; }
.gal-external-cta__inner { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; gap: 17px; align-items: center; }
.gal-external-cta__icon { display: inline-grid; width: 54px; height: 54px; place-items: center; border-radius: 15px; color: #fff; background: var(--gal-green); box-shadow: 0 8px 16px rgba(0,164,80,.18); font-size: 1.2rem; }
.gal-external-cta__copy > span { color: var(--gal-green-dark); font-size: .63rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.gal-external-cta__copy h2 { margin: 2px 0 3px; color: var(--stitch-navy); font-size: 1.22rem; letter-spacing: -.03em; }
.gal-external-cta__copy p { margin: 0; color: #5f7886; font-size: .78rem; }
.gal-external-cta__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.gal-external-cta .gal-button { white-space: nowrap; }
.gal-projects-fallback { border-top: 1px solid #edf2f4; }
.nur-bandi-project-fallback { margin-top: 33px; padding: 28px; border: 1px solid #dce7ed; border-radius: 17px; background: linear-gradient(135deg, #fff 0%, #eef9f9 100%); box-shadow: 0 9px 24px rgba(9,30,52,.06); }
.nur-bandi-project-fallback__header { max-width: 720px; margin-bottom: 20px; }
.nur-bandi-project-fallback__header h2 { margin: 6px 0 8px; color: var(--stitch-navy); font-size: clamp(1.45rem, 2.6vw, 2rem); letter-spacing: -.045em; }
.nur-bandi-project-fallback__header p { margin: 0; color: #607887; font-size: .86rem; line-height: 1.55; }
.nur-bandi-project-fallback__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin-bottom: 22px; }
.nur-bandi-project-card { overflow: hidden; border: 1px solid #dce7ed; border-radius: 12px; background: #fff; box-shadow: 0 4px 12px rgba(9,30,52,.04); }
.nur-bandi-project-card__media { display: block; height: 128px; overflow: hidden; background: #dce7ed; }
.nur-bandi-project-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.nur-bandi-project-card:hover .nur-bandi-project-card__media img { transform: scale(1.04); }
.nur-bandi-project-card__body { display: flex; min-height: 190px; flex-direction: column; padding: 14px; }
.nur-bandi-project-card__body > span { color: var(--stitch-teal); font-size: .58rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.nur-bandi-project-card h3 { margin: 7px 0 8px; color: var(--stitch-navy); font-size: .88rem; line-height: 1.28; }
.nur-bandi-project-card h3 a { color: inherit; text-decoration: none; }
.nur-bandi-project-card p { margin: 0; color: #647c89; font-size: .7rem; line-height: 1.45; }
.nur-bandi-project-card__link { display: inline-flex; align-items: center; gap: 7px; margin-top: auto; padding-top: 12px; color: var(--stitch-teal); font-size: .68rem; font-weight: 800; text-decoration: none; }
.nur-bandi-project-card__link:hover { color: var(--stitch-navy); }
.gal-preheader__inner, .gal-preheader__links { font-size: .84rem; }
.gal-footer address { font-size: .86rem; line-height: 1.6; }
.gal-footer__contact { font-size: .88rem; }
.gal-footer__contact > i { width: 20px; font-size: .95rem; }
.gal-footer__social { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
.gal-footer__social a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.25); border-radius: 8px; color: #fff; font-size: .72rem; font-weight: 800; }
.gal-footer__social a i { color: #fff; font-size: .9rem; }
.gal-footer__social a:hover { border-color: var(--gal-green); color: #fff; background: var(--gal-green); }
.gal-footer address a { color: #9de7f3; text-decoration: underline; text-underline-offset: 2px; }
.gal-footer__notice { font-size: .74rem; line-height: 1.5; }

@media (max-width: 1050px) {
    .gal-main-nav__list > li > a { padding-right: 7px; padding-left: 7px; font-size: .58rem; }
    .nur-news__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
    .gal-preheader__contact { display: flex; }
    .gal-preheader__inner { justify-content: space-between; }
    .gal-preheader__links { display: flex; gap: 11px; }
    .gal-preheader__links > a:not(.gal-social-link) { display: none; }
    .gal-preheader__contact { gap: 13px; font-size: .72rem; }
    .gal-header { top: 38px; }
    body.admin-bar .gal-header { top: 84px; }
    .gal-logo img { width: 38px; height: 38px; }
    .nur-page__hero { min-height: 250px; padding: 42px 0 38px; }
    .nur-page__hero > .gal-container { min-height: 176px; }
    .nur-page__hero h1 { font-size: clamp(1.85rem, 8vw, 2.7rem); }
    .nur-page__body, .nur-special-page__body { padding: 32px 0 52px; }
    .nur-chi__links { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 440px; }
    .nur-chi__story { grid-template-columns: 1fr; gap: 25px; }
    .nur-contact__content .nur-content-row { grid-template-columns: 1fr; }
    .nur-transparency__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nur-document-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nur-document-intro { grid-template-columns: 56px minmax(0, 1fr) auto; padding: 23px; }
    .nur-document-intro__icon { width: 52px; height: 52px; }
    .nur-news__filters { align-items: stretch; flex-direction: column; }
    .nur-news__archive-nav { align-items: flex-start; flex-direction: column; }
    .nur-news__archive-nav__links { justify-content: flex-start; }
    .nur-news__search { width: 100%; }
    .nur-news__featured { grid-template-columns: 1fr; }
    .nur-news__featured-media { min-height: 200px; }
    .nur-article__layout { grid-template-columns: 1fr; }
    .nur-article__sidebar { position: static; }
    .nur-index-actions__grid { grid-template-columns: 1fr; }
    .nur-index-actions__header { align-items: flex-start; flex-direction: column; gap: 8px; }
    .gal-external-cta__inner { grid-template-columns: 44px minmax(0, 1fr); }
    .gal-external-cta__icon { width: 44px; height: 44px; border-radius: 12px; font-size: 1rem; }
    .gal-external-cta__actions { grid-column: 2; justify-content: flex-start; }
    .nur-bandi-project-fallback__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
    .nur-page__hero > .gal-container { min-height: 180px; }
    .nur-project-summary { grid-template-columns: 1fr; }
    .nur-chi__links { gap: 8px; }
    .nur-chi__link { min-height: 68px; }
    .nur-chi__feature-foot { align-items: flex-start; flex-direction: column; gap: 8px; }
    .nur-news__grid, .nur-article__related .nur-news__grid { grid-template-columns: 1fr; }
    .nur-transparency__grid { grid-template-columns: 1fr; }
    .nur-document-grid { grid-template-columns: 1fr; }
    .nur-document-intro { grid-template-columns: 1fr; gap: 15px; padding: 22px 19px; }
    .nur-document-intro__stat { justify-items: start; padding: 12px 0 0; border-top: 1px solid #dce7ed; border-left: 0; }
    .nur-document-list__header { align-items: flex-start; }
    .nur-document-list__line { display: none; }
    .nur-article__main { padding: 20px 16px 24px; }
    .nur-bandi-page .nur-rich .nur-content-posts { grid-template-columns: 1fr; }
    .nur-bandi-page .nur-rich > .nur-content-section:first-child,
    .nur-bandi-page .nur-rich > .nur-content-section:nth-child(2),
    .nur-programmazione-page .nur-rich > .nur-content-section:first-child,
    .nur-programmazione-page .nur-rich > .nur-content-section:nth-child(2) { padding-right: 18px; padding-left: 18px; }
    .nur-index-actions { padding: 21px 17px; }
    .nur-chi__story-copy { padding: 25px 23px; }
    .nur-bandi-project-fallback { padding: 21px 17px; }
    .nur-bandi-project-fallback__grid { grid-template-columns: 1fr; }
    .gal-external-cta__inner { grid-template-columns: 1fr; gap: 10px; }
    .gal-external-cta__actions { grid-column: auto; justify-content: flex-start; }
}

/* Reusable GAL blocks. These classes intentionally use the same tokens as
 * the homepage and institutional templates, so pages assembled in Gutenberg
 * remain visually part of the redesign. */
.gal-block { position: relative; }
.gal-block-section__inner { max-width: 820px; }
.gal-block-section--center .gal-block-section__inner { margin: 0 auto; text-align: center; }
.gal-block-section h2, .gal-block-media-text h2, .gal-block-heading h2 { margin: 12px 0 12px; color: var(--gal-slate-950); font-size: clamp(1.8rem, 3vw, 2.55rem); font-weight: 800; letter-spacing: -.05em; line-height: 1.13; }
.gal-block-section--blue { color: #dcecf1; background: linear-gradient(135deg, var(--gal-slate-900), var(--gal-blue-dark)); }
.gal-block-section--blue h2 { color: #fff; }
.gal-block-section--blue .gal-block-richtext { color: #dcecf1; }
.gal-block-richtext { max-width: 780px; color: var(--gal-slate-600); font-size: .9rem; line-height: 1.75; }
.gal-block-section--center .gal-block-richtext { margin-right: auto; margin-left: auto; }
.gal-block-richtext > *:last-child { margin-bottom: 0; }
.gal-block-section .gal-button, .gal-block-media-text .gal-button { margin-top: 21px; }
.gal-block-media-text--light, .gal-block-cards-grid--light { background: var(--gal-slate-50); }
.gal-block-media-text--blue { background: linear-gradient(135deg, #e8f4fa, #f5fbfc); }
.gal-block-media-text__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 6vw, 80px); align-items: center; }
.gal-block-media-text__grid--right .gal-block-media-text__media { order: 2; }
.gal-block-media-text__grid--right .gal-block-media-text__copy { order: 1; }
.gal-block-media-text__media { overflow: hidden; min-height: 280px; border-radius: var(--gal-radius); background: var(--gal-slate-200); box-shadow: var(--gal-shadow); }
.gal-block-media-text__media img { width: 100%; height: 100%; min-height: 280px; object-fit: cover; }
.gal-block-media-text__placeholder { display: grid; min-height: 280px; place-items: center; align-content: center; gap: 10px; padding: 24px; border: 1px dashed var(--gal-slate-300); border-radius: var(--gal-radius); color: var(--gal-slate-500); background: var(--gal-slate-100); text-align: center; }
.gal-block-media-text__placeholder i { color: var(--gal-blue); font-size: 2rem; }
.gal-block-media-text__copy .gal-block-richtext { max-width: none; }
.gal-block-heading { margin: 0 auto 38px; max-width: 720px; text-align: center; }
.gal-block-heading h2 { margin-bottom: 7px; }
.gal-block-heading > p { margin: 0; color: var(--gal-slate-600); font-size: .82rem; }
.gal-block-cards-grid--blue { background: linear-gradient(135deg, #e8f4fa, #f5fbfc); }
.gal-block-cards-grid__items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; }
.gal-block-cards-grid--2 .gal-block-cards-grid__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gal-block-cards-grid--4 .gal-block-cards-grid__items { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.gal-block-card { display: flex; min-height: 205px; flex-direction: column; padding: 23px; border: 1px solid var(--gal-slate-200); border-radius: var(--gal-radius); background: #fff; box-shadow: 0 5px 15px rgba(15,23,42,.05); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.gal-block-card:hover { border-color: rgba(0,102,153,.35); box-shadow: var(--gal-shadow); transform: translateY(-3px); }
.gal-block-card__icon { display: inline-grid; width: 42px; height: 42px; place-items: center; margin-bottom: 17px; border-radius: 11px; color: #fff; background: var(--gal-blue); box-shadow: 0 6px 13px rgba(0,102,153,.2); }
.gal-block-card h3 { margin: 0; color: var(--gal-slate-950); font-size: .98rem; font-weight: 800; line-height: 1.3; }
.gal-block-card__text { margin-top: 9px; color: var(--gal-slate-600); font-size: .73rem; line-height: 1.5; }
.gal-block-card__text > *:last-child { margin-bottom: 0; }
.gal-block-card__link { display: inline-flex; align-items: center; gap: 7px; margin-top: auto; padding-top: 16px; color: var(--gal-blue); font-size: .68rem; font-weight: 800; }
.gal-block-card__link:hover { color: var(--gal-blue-dark); }
.gal-block-contact-cta { color: #dcecf1; background: linear-gradient(135deg, var(--gal-slate-900), var(--gal-blue-dark)); }
.gal-block-contact-cta__inner { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 42px; align-items: center; }
.gal-block-contact-cta__copy h2 { margin: 15px 0 10px; color: #fff; font-size: clamp(1.7rem, 3vw, 2.5rem); font-weight: 800; letter-spacing: -.05em; line-height: 1.12; }
.gal-block-contact-cta__copy .gal-block-richtext { color: #dcecf1; }
.gal-block-contact-cta__form { min-height: 120px; padding: 22px; border: 1px solid rgba(255,255,255,.18); border-radius: var(--gal-radius); background: rgba(255,255,255,.08); }
.gal-block-contact-cta__form .wpcf7 { color: #fff; }
.gal-block-preview-note { margin: 0; color: #dcecf1; font-size: .78rem; }
.gal-block-statement { text-align: center; }
.gal-block-statement--blue { color: #dcecf1; background: linear-gradient(135deg, var(--gal-slate-900), var(--gal-blue-dark)); }
.gal-block-statement--white { background: #fff; }
.gal-block-statement--light { background: var(--gal-slate-50); }
.gal-block-statement h2 { max-width: 980px; margin: 0 auto; color: var(--gal-slate-950); font-size: clamp(2rem, 4vw, 3.5rem); font-weight: 800; letter-spacing: -.065em; line-height: 1.08; }
.gal-block-statement--blue h2 { color: #fff; }
.gal-block-statement__text { max-width: 760px; margin: 17px auto 0; color: var(--gal-slate-600); font-size: .9rem; line-height: 1.65; }
.gal-block-statement--blue .gal-block-statement__text { color: #dcecf1; }
.gal-block-statement__text > *:last-child { margin-bottom: 0; }
.gal-block-faq { background: #fff; }
.gal-block-faq__items { max-width: 900px; margin: 0 auto; border-top: 1px solid var(--gal-slate-200); }
.gal-block-faq__item { border-bottom: 1px solid var(--gal-slate-200); }
.gal-block-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 19px 2px; color: var(--gal-slate-950); font-size: .95rem; font-weight: 800; cursor: pointer; list-style: none; }
.gal-block-faq__item summary::-webkit-details-marker { display: none; }
.gal-block-faq__item summary i { color: var(--gal-blue); font-size: .85rem; transition: transform .2s ease; }
.gal-block-faq__item[open] summary i { transform: rotate(45deg); }
.gal-block-faq__answer { max-width: 760px; padding: 0 42px 20px 2px; color: var(--gal-slate-600); font-size: .82rem; line-height: 1.65; }
.gal-block-faq__answer > *:last-child { margin-bottom: 0; }
.gal-block-projects { background: var(--gal-slate-50); }
.gal-block-projects__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.gal-block-project-card .gal-card__body { min-height: 180px; }

/* Gutenberg content sits above the migrated ACF content on NUR pages. */
.gal-nur-block-content { width: 100%; }
.gal-nur-block-content > .gal-container > :first-child { margin-top: 0; }
.gal-nur-block-content > .gal-container > :last-child { margin-bottom: 0; }
.gal-nur-block-content .wp-block { max-width: none; }

@media (max-width: 800px) {
    .gal-block-media-text__grid, .gal-block-contact-cta__inner { grid-template-columns: 1fr; gap: 28px; }
    .gal-block-media-text__grid--right .gal-block-media-text__media { order: 1; }
    .gal-block-media-text__grid--right .gal-block-media-text__copy { order: 2; }
    .gal-block-cards-grid__items, .gal-block-cards-grid--4 .gal-block-cards-grid__items, .gal-block-projects__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gal-block-contact-cta__form { min-height: 0; }
}
@media (max-width: 560px) {
    .gal-block-cards-grid__items, .gal-block-cards-grid--2 .gal-block-cards-grid__items, .gal-block-cards-grid--4 .gal-block-cards-grid__items, .gal-block-projects__grid { grid-template-columns: 1fr; }
    .gal-block-card { min-height: 0; }
    .gal-block-faq__item summary { padding: 16px 0; font-size: .84rem; }
    .gal-block-faq__answer { padding-right: 0; }
}
