/* FEDERICA BERTONI · Visual revision 5
   Photo placements are unique across editorial contexts; language equivalents share assets.
   No content is rasterized. No trackers, network dependencies or parallax are added. */
:root {
 --v5-ink:#152d3a;
 --v5-muted:#445762;
 --v5-paper:#f7f5ef;
 --v5-line:#d8dcd8;
 --v5-gold:#c39a53;
 --v5-rhythm:clamp(42px,5.4vw,74px);
}
html { scroll-padding-top:166px; }
.v5-site { color:var(--v5-ink); background:var(--v5-paper); font-size:calc(17px * var(--fb-reading-scale,1)); line-height:1.68; }
.v5-site *, .v5-site *::before, .v5-site *::after { box-sizing:border-box; }
.v5-site .wrap { width:min(1240px,calc(100% - 80px)); }
.v5-empty { display:none!important; }
.v5-site :is(h1,h2,h3,h4) { text-wrap:pretty; overflow-wrap:normal; }
.v5-site main :is(h2,h3) { letter-spacing:-.6px; }
.v5-site :is(.source-prose,.prose,.bibliography,.page-intro) { font-size:calc(17px * var(--fb-reading-scale,1)); line-height:1.7; }
.v5-site .source-lead { font-size:calc(18px * var(--fb-reading-scale,1)); line-height:1.65; color:var(--v5-muted); }
.v5-site .source-block + .source-block { margin-top:18px; }
.v5-site .source-block p + p { margin-top:18px; }
.v5-site .source-block h2 { font-size:clamp(29px,2.8vw,39px); line-height:1.18; margin-bottom:18px; }
.v5-site .source-block h3 { font-size:clamp(24px,2.05vw,29px); line-height:1.25; margin-bottom:16px; }
.v5-site .source-eyebrow, .v5-site .source-eyebrow .eyebrow { font:700 calc(12px * var(--fb-reading-scale,1))/1.55 Arial,Helvetica,sans-serif; letter-spacing:1.6px; margin-bottom:13px; }
.v5-site .source-block ul, .v5-site .source-block ol { margin-block:16px; }
.v5-site .source-block li { margin-block:8px; }
.v5-site .fb-section, .v5-site.home .fb-section { padding-block:var(--v5-rhythm); }
.v5-site .fb-intro { max-width:890px; margin-bottom:30px; }
.v5-site .fb-reading { max-width:900px; }
.v5-site .fb-reading .source-block + .source-block { margin-top:22px; }
.v5-site .button { min-height:48px; padding:14px 22px; font-size:calc(14px * var(--fb-reading-scale,1)); line-height:1.4; letter-spacing:.1px; box-shadow:none; }
.v5-site .button:hover { filter:brightness(1.055); }
.v5-site :is(a,button):focus-visible { outline:3px solid #a66d1b; outline-offset:4px; }
.v5-site :is(.dark,.page-hero,.hero,.cf-actions) :is(a,button):focus-visible { outline-color:#f4d299; }
/* Header: two deliberate rows, instead of narrow, compressed navigation. */
.v5-site .fb-header { background:#fff; border-bottom:1px solid #b9975d; position:sticky; top:0; z-index:50; box-shadow:0 3px 20px rgba(7,31,43,.035); }
.v5-site .fb-header .cf-header-inner { width:min(1280px,calc(100% - 64px)); display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:'brand locale' 'nav nav'; gap:0 28px; min-height:0; padding-top:8px; }
.v5-site .fb-header .brand { grid-area:brand; padding:13px 0 16px; max-width:none; }
.v5-site .fb-header .fb-brand-name { font:400 29px/1.18 Georgia,'Times New Roman',serif; letter-spacing:.75px; }
.v5-site .fb-header .fb-brand-descriptor { max-width:none; margin-top:7px; font-size:12px; line-height:1.45; color:#455865; }
.v5-site .header-utilities { grid-area:locale; display:flex; flex-direction:row; align-items:center; gap:20px; padding:0; border:0; }
.v5-site .language-switcher { gap:4px; }
.v5-site .language-switcher a { min-width:51px; padding:7px 8px; }
.v5-site .header-accessibility { font-size:13px; }
.v5-site .fb-header .primary-nav { grid-area:nav; margin:0; width:100%; border-top:1px solid #e5e7e3; padding:7px 0 8px; justify-content:center; gap:28px; flex-wrap:nowrap; font-size:14px; }
.v5-site .fb-header .primary-nav:not([hidden]) { display:flex; }
.v5-site .fb-header .primary-nav a { min-height:42px; padding:9px 0; white-space:normal; text-align:center; }
.v5-site .fb-header .primary-nav .nav-contact { padding:10px 20px; margin:0; border:1px solid var(--navy); }
.v5-site .fb-header .menu-copyright { display:none; }
.v5-site .fb-header .menu-toggle[hidden] { display:none!important; }
/* The inherited positioning message is retained, without its repeated compass thumbnail. */
.v5-site .v5-context-strip { padding:17px 0; background:#f0f1ed; color:#314854; border-bottom:1px solid var(--v5-line); }
.v5-site .shared-context .shared-context-grid { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:30px; align-items:center; }
.v5-site .shared-context .shared-title { font:400 19px/1.25 Georgia,serif; color:#223d4b; }
.v5-site .shared-context .shared-description { font-size:13px; line-height:1.5; margin-top:5px; max-width:890px; }
.v5-site .shared-context .shared-link { color:#6d4e1c; font-size:13px; white-space:nowrap; }
/* Photographic opening. There is a single image node per scene, never a repeated background copy. */
.v5-site .v5-photo-hero { position:relative; isolation:isolate; overflow:hidden; padding:76px 0; background:#071f2b; }
.v5-site .v5-photo-hero > .hero-art,
.v5-site .v5-hero-stage > .hero-art { position:absolute; inset:0; width:100%; height:100%; margin:0; border:0; z-index:-2; background:#071f2b; }
.v5-site .v5-photo-hero > .hero-art img,
.v5-site .v5-hero-stage > .hero-art img { display:block; width:100%; height:100%; max-height:none; aspect-ratio:auto; object-fit:cover; object-position:center 50%; }
.v5-site .v5-photo-hero > .hero-art::after,
.v5-site .v5-hero-stage > .hero-art::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,24,36,.985) 0%,rgba(4,24,36,.95) 32%,rgba(4,24,36,.81) 53%,rgba(4,24,36,.20) 100%); }
.v5-site .v5-photo-hero .wrap { position:relative; display:block; z-index:1; }
.v5-site .v5-photo-hero .hero-main { max-width:760px; width:64%; }
.v5-site .v5-photo-hero .hero-main h1 { font-size:clamp(38px,3.8vw,59px); line-height:1.08; letter-spacing:-1.2px; color:#fff; }
.v5-site .v5-photo-hero .source-lead { color:#e3eaf0; line-height:1.68; font-size:calc(18px * var(--fb-reading-scale,1)); }
.v5-site .v5-photo-hero .hero-main .source-block + .source-block { margin-top:21px; }
.v5-site .v5-photo-hero .source-eyebrow,
.v5-site .v5-photo-hero .source-eyebrow * { color:#e8c785; }
/* Home has an independent hero stage and an editorial summary with its own photograph. */
.v5-site.home .fb-home-hero.v5-photo-hero { padding:0 0 52px; overflow:visible; }
.v5-site.home .fb-home-hero.v5-photo-hero > .wrap { position:static; }
.v5-site .v5-hero-stage { position:relative; isolation:isolate; width:100vw; margin-inline:calc((100% - 100vw)/2); min-height:536px; display:flex; align-items:center; }
.v5-site.home .v5-hero-stage .hero-grid { display:block; width:min(1240px,calc(100% - 80px)); margin-inline:auto; padding:76px 0 105px; }
.v5-site .v5-hero-stage .hero-copy { width:63%; max-width:790px; }
.v5-site .v5-hero-stage h1 { font-size:clamp(44px,5.1vw,74px); line-height:1.04; letter-spacing:-1.8px; max-width:660px; color:#fff; }
.v5-site .v5-hero-stage .hero-copy .source-lead { font-size:calc(20px * var(--fb-reading-scale,1)); }
.v5-site .v5-hero-stage .hero-copy .source-block p { font-size:calc(19px * var(--fb-reading-scale,1)); line-height:1.65; max-width:660px; }
.v5-site .v5-hero-stage .hero-copy .source-button { display:inline-block; margin-right:22px; }
.v5-site .v5-hero-stage .hero-contact-link { margin-top:22px; font-size:15px; }
.v5-site .v5-hero-stage .hero-art img { object-position:79% 53%; }
.v5-site.home .home-decision-summary.v5-summary { position:relative; z-index:3; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:38px; align-items:center; margin:-44px 0 0; padding:32px 34px; background:rgba(249,247,240,.985); border:1px solid #c6b087; color:var(--v5-ink); box-shadow:0 14px 35px rgba(0,0,0,.12); }
.v5-site.home .v5-summary .v5-summary-copy { grid-column:1; grid-row:1; }
.v5-site.home .v5-summary .source-block + .source-block { margin-top:16px; }
.v5-site.home .v5-summary .source-eyebrow { color:#76521e; }
.v5-site.home .v5-summary .source-prose { font-size:calc(16.5px * var(--fb-reading-scale,1)); color:#314854; line-height:1.67; }
.v5-site.home .v5-summary .source-prose h2 { font-size:clamp(28px,2.5vw,36px); line-height:1.17; color:#0c2b3c; }
.v5-site.home .v5-summary .source-question { font:italic calc(18px * var(--fb-reading-scale,1))/1.5 Georgia,serif; color:#715220; padding:0; border:0; }
.v5-site.home .v5-summary .r4-decision-art { grid-column:2; grid-row:1; width:100%; height:100%; max-height:340px; margin:0; border:0; }
.v5-site.home .v5-summary .r4-decision-art img { width:100%; height:100%; object-fit:cover; aspect-ratio:4/3; object-position:48% 50%; }
/* Photography in reading layouts: deliberate crops, no stretched or letterboxed decorative images. */
.v5-site .v5-photo { min-width:0; overflow:hidden; margin:0; border:0; background:#e8e5dc; }
.v5-site .v5-photo img { display:block; width:100%; height:auto; max-height:none; object-fit:cover; object-position:center; }
.v5-site .r4-reading-art, .v5-site .r4-section-opening { margin:26px 0 30px; border-bottom:2px solid #be9a5c; }
.v5-site .r4-reading-art img { aspect-ratio:21/9; object-fit:cover; }
.v5-site .r4-section-opening img { aspect-ratio:24/9; object-fit:cover; }
.v5-site .fb-editorial, .v5-site .r4-split { gap:clamp(26px,4vw,54px); align-items:center; }
.v5-site .fb-editorial .source-media .v5-image { aspect-ratio:4/3; width:100%; height:auto; max-height:none; object-fit:cover; }
.v5-site .fb-editorial .source-media { border:0; }
.v5-site .r4-split-art img { aspect-ratio:4/3; }
.v5-site .fb-cards { align-items:stretch; gap:26px; }
.v5-site .fb-card { height:100%; padding:26px; border:1px solid #d7dad5; border-top:2px solid #b48b49; background:#fff; box-shadow:0 8px 22px rgba(7,31,43,.028); }
.v5-site .fb-card .source-block { font-size:calc(16.5px * var(--fb-reading-scale,1)); line-height:1.68; }
.v5-site .fb-card .source-block + .source-block { margin-top:17px; }
.v5-site .fb-card .source-block h3 { font-size:clamp(24px,2vw,28px); line-height:1.21; }
.v5-site .r4-card-art { margin:-26px -26px 24px; width:calc(100% + 52px); }
.v5-site .r4-card-art img { aspect-ratio:16/10; object-fit:cover; }
.v5-site .fb-card .source-media { margin:-26px -26px 24px; width:calc(100% + 52px); border:0; }
.v5-site .fb-card .source-media img { aspect-ratio:16/10; width:100%; max-height:none; object-fit:cover; }
.v5-site [data-v5-image='clienti-3'] { object-position:50% 25%!important; }
.v5-site [data-v5-image='clienti-6'] { object-position:50% 67%!important; }
.v5-site [data-v5-image='talks-conferences-6'] { object-position:50% 43%!important; }
.v5-site [data-v5-image='talks-conferences-9'] { object-position:50% 45%!important; }
/* A distinct panoramic transition, with a real text layer and a translucent logo panel. */
.v5-site .v5-photo-band { position:relative; isolation:isolate; overflow:hidden; background:#071f2b; color:#fff; border:0; padding-block:78px!important; }
.v5-site .v5-photo-band .v5-band-media { position:absolute; inset:0; width:100%; height:100%; z-index:-2; }
.v5-site .v5-photo-band .v5-band-media img { width:100%; height:100%; object-fit:cover; object-position:center 57%; }
.v5-site .v5-photo-band .v5-band-media::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,24,37,.95),rgba(3,24,37,.90) 50%,rgba(3,24,37,.56)); }
.v5-site .v5-photo-band :is(.cf-label,h2,.prose) { color:#fff; }
.v5-site .v5-photo-band .cf-label { color:#edcc91; }
.v5-site .v5-photo-band .cf-home-mark { max-width:460px; padding:28px; background:rgba(255,255,255,.94); border:1px solid #d6be8c; box-shadow:0 15px 36px rgba(0,0,0,.16); }
.v5-site .v5-photo-band .button { background:#e1bf78; color:#092638; border-color:#e1bf78; }
.v5-site .v5-photo-band .cf-home-copy h2 { font-size:46px; }
/* Founder portrait is editorial, not a fake testimonial or a replacement for a real portrait. */
.v5-site .v5-founder .fb-editorial { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:48px; align-items:start; }
.v5-site .v5-founder .fb-editorial > div { max-width:none; }
.v5-site .v5-founder .source-media .v5-image { aspect-ratio:3/2; height:auto; object-fit:contain; }
.v5-site .v5-founder .source-media { background:transparent; }
.v5-site .v5-founder .source-prose { font-size:calc(17px * var(--fb-reading-scale,1)); line-height:1.7; }
.v5-site .v5-longform .fb-reading { max-width:930px; margin-inline:auto; }
.v5-site .v5-longform .source-block h2 { max-width:850px; }
.v5-site .v5-longform .source-block + .source-block { margin-top:25px; }
/* Service pages: compact image-copy spreads, generous enough for the actual deliverables. */
.v5-site .service-layout { column-gap:36px; }
.v5-site .section-index { top:158px; }
.v5-site .section-index .source-index a { padding:14px 0; font-size:13px; line-height:1.5; }
.v5-site .service-section.v5-service-spread { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:30px; align-items:start; padding-block:0 46px; margin-bottom:42px; border-bottom:1px solid var(--v5-line); }
.v5-site .v5-service-spread .service-image { margin:0; border-bottom:2px solid var(--v5-gold); width:100%; max-width:none; }
.v5-site .v5-service-spread .service-image img { width:100%; height:auto; max-height:none; aspect-ratio:4/5; object-fit:cover; }
.v5-site .v5-service-copy { min-width:0; }
.v5-site .v5-service-copy .source-block + .source-block { margin-top:16px; }
.v5-site .v5-service-copy .source-prose { font-size:calc(16.5px * var(--fb-reading-scale,1)); line-height:1.66; }
.v5-site .v5-service-copy .source-block h3 { font-size:29px; line-height:1.2; }
.v5-site .v5-service-copy .deliverable-label { padding-top:17px; margin-top:22px; }
.v5-site .v5-text-card { border-top-width:3px; background:#fffdfa; }
/* Long pages: a readable measure, clear section breaks, fewer ornamental interruptions. */
.v5-site .talks-editorial-grid { grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:44px; }
.v5-site .talks-editorial-copy .source-prose { font-size:calc(17px * var(--fb-reading-scale,1)); line-height:1.7; }
.v5-site .talks-editorial-copy p { margin-bottom:18px; }
.v5-site .talks-editorial-images { gap:28px; }
.v5-site .talks-editorial-image img { aspect-ratio:3/2; }
.v5-site .talks-thematic-grid { gap:25px; }
.v5-site .talks-thematic-grid .source-block h3 { font-size:25px; }
.v5-site .v5-pullquote { border-block:1px solid #cab687; padding:28px 30px; background:#f2efe6; display:block; }
.v5-site .v5-pullquote .thread-copy { font:italic calc(23px * var(--fb-reading-scale,1))/1.55 Georgia,serif; color:#684c20; }
.v5-site .v5-pullquote .source-eyebrow { font-size:12px; letter-spacing:1.5px; }
.v5-site .bibliography { font-size:calc(16.5px * var(--fb-reading-scale,1)); line-height:1.66; }
.v5-site .bibliography li { padding-block:14px; }
.v5-site .bibliography .chapter-title { margin-top:34px; padding-top:25px; font-size:28px; line-height:1.25; }
.v5-site .bibliography .chapter-subtitle { font-size:20px; margin-block:10px 20px; }
.v5-site .fb-publication-images { grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:40px; }
.v5-site .fb-publication-images .book-cover { max-height:460px; width:auto; max-width:100%; aspect-ratio:auto; margin-inline:auto; }
.v5-site .fb-publication-images .r4-replaced-image { aspect-ratio:3/2; object-fit:cover; }
.v5-site .v5-policy-page .fb-reading, .v5-site .v5-policy-page .policy-copy { max-width:880px; margin-inline:auto; }
.v5-site .v5-policy-page .r4-policy-section { padding-bottom:0; }
.v5-site .v5-policy-page .policy-copy p, .v5-site .v5-policy-page .policy-copy li { font-size:calc(17px * var(--fb-reading-scale,1)); line-height:1.72; }
.v5-site .v5-policy-page .policy-copy h2, .v5-site .privacy-copy .source-block h2 { font-size:calc(28px * var(--fb-reading-scale,1)); margin:30px 0 16px; line-height:1.26; }
.v5-site .v5-policy-page .privacy-copy section + section { margin-top:28px; padding-top:6px; border-top:1px solid #e0e3dd; }
.v5-site .v5-policy-page .v5-photo-hero { padding-block:62px; }
.v5-site .v5-integrity-page .df-reading { max-width:930px; margin-inline:auto; }
.v5-site .df-reading .source-block { margin-bottom:26px; padding-bottom:26px; }
.v5-site .df-reading .source-block h2 { font-size:30px; line-height:1.25; }
.v5-site .df-reading .source-block .v5-note-heading { font:400 calc(18px * var(--fb-reading-scale,1))/1.65 Arial,sans-serif; letter-spacing:0; padding:20px 24px; background:#f2efe6; border-left:3px solid #bd954b; }
.v5-site .v5-essay-detail { width:240px; margin:5px 0 20px 26px; float:right; }
.v5-site .v5-essay-detail img { width:100%; height:170px; object-fit:cover; }
.v5-site .r4-topic-block { display:flow-root; }
.v5-site .r4-topic-block:last-child h2 { font:400 16px/1.65 Arial,sans-serif; letter-spacing:0; }
.v5-site .cf-story-grid, .v5-site .cf-outcomes-grid, .v5-site .cf-actions-grid { gap:48px; }
.v5-site .cf-person { padding:25px 27px; border:1px solid #dddcd4; border-top:2px solid #b89253; background:#fff; }
.v5-site .cf-person h3 { font-size:30px; }
.v5-site .cf-person p { font-size:17px; line-height:1.68; }
.v5-site .cf-person .r4-person-theme { display:none; }
.v5-site .cf-people-grid { gap:28px; }
.v5-site .cf-intro { padding-block:62px; }
.v5-site .cf-intro-description { font-size:calc(17px * var(--fb-reading-scale,1)); line-height:1.7; }
.v5-site .cf-intro .cf-mark { background:rgba(255,255,255,.97); }
/* Sparse archive pages keep their actual archival object and its credits. */
.v5-site.v5-archive-page .page-hero { padding-block:40px; }
.v5-site.v5-archive-page .fb-hero .wrap { display:block; }
.v5-site.v5-archive-page .page-hero h1 { font-size:clamp(27px,2.6vw,36px); line-height:1.2; max-width:870px; }
.v5-site .attachment-layout { max-width:920px; }
.v5-site .attachment-copy h2 { font-size:26px; line-height:1.35; }
.v5-site .attachment-layout .attachment-copy { padding:24px; }
.v5-site .v5-text-only { max-width:900px; }
/* Footer: restore legible colors inherited incorrectly from the original dark footer. */
.v5-site .fb-footer { background:#f0f1ed; border-top:1px solid #cfd6d4; padding-bottom:23px; color:#344c57; }
.v5-site .fb-footer .footer-nav { padding:24px 0; gap:18px 30px; }
.v5-site .fb-footer .footer-nav a { color:#173341; font-size:14px; }
.v5-site .fb-footer-copy { color:#425661; font-size:calc(13px * var(--fb-reading-scale,1)); line-height:1.75; }
.v5-site .fb-footer-copy .source-block, .v5-site .fb-footer-copy .paragraph-heading { font-size:inherit; line-height:inherit; color:inherit; }
.v5-site .crossfield-connection { background:#fff; padding:19px 20px; border:1px solid #d9ded8; border-top:2px solid #b89455; }
.v5-site .crossfield-connection :is(a,.connection-external,.cf-label) { color:#405560; }
.v5-site .crossfield-connection .cf-label { color:#72531f; }
.v5-site .crossfield-connection img { max-width:250px; object-fit:contain; aspect-ratio:auto; }
.v5-site .footer-utilities { margin-top:26px; padding-top:16px; border-top:1px solid #cbd3d0; gap:7px 23px; }
.v5-site .footer-utilities :is(a,button) { color:#6b4c1c; font-size:calc(13px * var(--fb-reading-scale,1)); }
.v5-site .footer-privacy-state { color:#4b606a; font-size:12px; }
.v5-site .copyright { color:#50636d; }
.v5-site .fb-error { min-height:44vh; }
/* Accessibility preferences remain authoritative. */
html[data-fb-text-size]:not([data-fb-text-size='standard']) .v5-site main h1 { font-size:clamp(calc(35px * var(--fb-reading-scale)),calc(4.2vw * var(--fb-reading-scale)),calc(64px * var(--fb-reading-scale))); }
html[data-fb-text-size]:not([data-fb-text-size='standard']) .v5-site main h2 { font-size:calc(32px * var(--fb-reading-scale)); }
html[data-fb-text-size]:not([data-fb-text-size='standard']) .v5-site main h3 { font-size:calc(25px * var(--fb-reading-scale)); }
html[data-fb-text-size]:not([data-fb-text-size='standard']) .v5-site .source-eyebrow .eyebrow { font-size:calc(12px * var(--fb-reading-scale)); }
html[data-fb-text-size]:not([data-fb-text-size='standard']) .v5-site .source-lead { font-size:calc(18px * var(--fb-reading-scale)); }
.fb-high-contrast .v5-site :is(.v5-photo-hero > .hero-art,.v5-hero-stage > .hero-art,.v5-band-media) { opacity:0!important; }
.fb-high-contrast .v5-site :is(.v5-photo-hero,.v5-hero-stage,.v5-photo-band) { background:#071d2e!important; color:#fff!important; }
.fb-high-contrast .v5-site :is(.v5-photo-hero,.v5-hero-stage,.v5-photo-band) :is(h1,h2,.source-lead,.source-prose,p,.cf-label,.prose) { color:#fff!important; }
.fb-high-contrast .v5-site.home .v5-summary { background:#fff!important; color:#071d2e!important; }
.fb-high-contrast .v5-site.home .v5-summary :is(h2,p,.source-prose,.source-question,.eyebrow) { color:#071d2e!important; }
.fb-high-contrast .v5-site .fb-footer :is(a,button,p,span) { color:#071d2e!important; }
@media (max-width:1200px) {
 .v5-site .wrap { width:calc(100% - 56px); }
 .v5-site .v5-photo-hero .hero-main { width:72%; }
 .v5-site .v5-service-spread { grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)!important; gap:24px!important; }
 .v5-site .fb-header .primary-nav { gap:20px; }
}
@media (max-width:1100px) {
 html { scroll-padding-top:122px; }
 .v5-site .fb-header .cf-header-inner { grid-template-columns:minmax(0,1fr) auto auto; grid-template-areas:'brand locale toggle' 'nav nav nav'; padding-top:0; column-gap:22px; }
 .v5-site .fb-header .brand { padding:16px 0; }
 .v5-site .fb-header .fb-brand-name { font-size:27px; }
 .v5-site .header-utilities { flex-direction:column; gap:0; align-items:flex-start; }
 .v5-site .fb-header .menu-toggle { grid-area:toggle; margin:0; align-self:center; display:inline-flex; }
 .v5-site .fb-header .primary-nav:not([hidden]) { display:flex; flex-wrap:wrap; justify-content:flex-start; padding:12px 0 18px; gap:7px 24px; }
 .v5-site .fb-header .primary-nav[hidden] { display:none!important; }
 .v5-site .fb-header .primary-nav .menu-copyright { display:block; width:100%; text-align:left; }
 .v5-site .fb-header .primary-nav a { min-height:44px; }
 .v5-site .v5-hero-stage .hero-copy { width:75%; }
 .v5-site .section-index { position:static; }
 .v5-site .v5-founder .fb-editorial { gap:32px; }
 .v5-site .fb-cards { gap:20px; }
 .v5-site .fb-card { padding:23px; }
 .v5-site .fb-card .source-media, .v5-site .r4-card-art { width:calc(100% + 46px); margin:-23px -23px 22px; }
}
@media (max-width:900px) {
 .v5-site .fb-header { position:relative; }
 html { scroll-padding-top:24px; }
 .v5-site .v5-photo-hero { padding-block:54px; }
 .v5-site .v5-photo-hero .hero-main { width:90%; max-width:720px; }
 .v5-site .v5-photo-hero > .hero-art::after, .v5-site .v5-hero-stage > .hero-art::after { background:linear-gradient(90deg,rgba(4,24,36,.97),rgba(4,24,36,.91) 62%,rgba(4,24,36,.74)); }
 .v5-site.home .v5-hero-stage .hero-grid { width:calc(100% - 56px); padding:65px 0 95px; }
 .v5-site .v5-hero-stage .hero-copy { width:90%; }
 .v5-site.home .home-decision-summary.v5-summary { gap:25px; grid-template-columns:1fr; padding:28px; }
 .v5-site.home .v5-summary .r4-decision-art { grid-column:1; grid-row:2; max-height:270px; }
 .v5-site.home .v5-summary .r4-decision-art img { aspect-ratio:21/9; height:100%; }
 .v5-site .fb-cards:not(.two) { grid-template-columns:1fr; }
 .v5-site .fb-cards:not(.two) .r4-card-art img { aspect-ratio:21/9; }
 .v5-site .v5-service-spread { grid-template-columns:1fr!important; }
 .v5-site .v5-service-spread .service-image img { aspect-ratio:16/9; max-height:340px; }
 .v5-site .v5-founder .fb-editorial { grid-template-columns:1fr; gap:28px; }
 .v5-site .v5-founder .fb-editorial > div:first-child { max-width:850px; }
 .v5-site .talks-editorial-grid { grid-template-columns:1fr; gap:25px; }
 .v5-site .talks-editorial-images { grid-template-columns:1fr 1fr; gap:22px; }
 .v5-site .r4-split, .v5-site .fb-editorial { grid-template-columns:1fr; gap:28px; }
 .v5-site .r4-split-art img { aspect-ratio:16/9; }
 .v5-site .cf-story-grid, .v5-site .cf-outcomes-grid, .v5-site .cf-actions-grid { grid-template-columns:1fr; gap:28px; }
 .v5-site .cf-home-grid { grid-template-columns:1fr; gap:32px; }
 .v5-site .v5-photo-band .cf-home-mark { max-width:430px; }
 .v5-site .shared-context .shared-context-grid { gap:20px; }
}
@media (max-width:640px) {
 .v5-site .wrap, .v5-site .fb-header .cf-header-inner { width:calc(100% - 40px); }
 .v5-site .fb-header .cf-header-inner { grid-template-columns:minmax(0,1fr) auto; grid-template-areas:'brand toggle' 'locale locale' 'nav nav'; gap:0 12px; }
 .v5-site .fb-header .brand { padding:17px 0 9px; }
 .v5-site .fb-header .fb-brand-name { font-size:clamp(21px,5.1vw,27px); letter-spacing:.2px; white-space:normal; }
 .v5-site .fb-header .fb-brand-descriptor { max-width:290px; font-size:11px!important; line-height:1.45; }
 .v5-site .fb-header .menu-toggle { font-size:13px; min-width:56px; padding:10px; margin-top:16px; align-self:start; }
 .v5-site .header-utilities { flex-direction:row; justify-content:space-between; align-items:center; padding-block:3px 7px; gap:8px; }
 .v5-site .header-accessibility { font-size:12px; }
 .v5-site .language-switcher a { min-height:44px; padding-inline:6px; }
 .v5-site .fb-header .primary-nav:not([hidden]) { display:grid; grid-template-columns:1fr; gap:0; max-height:65vh; overflow-y:auto; padding:7px 0 16px; }
 .v5-site .fb-header .primary-nav a { justify-content:flex-start; text-align:left; padding:11px 0; }
 .v5-site .fb-header .primary-nav .nav-contact { margin-top:8px; justify-content:center; }
 .v5-site .v5-context-strip { padding-block:14px; }
 .v5-site .shared-context .shared-context-grid { grid-template-columns:1fr; gap:9px; }
 .v5-site .shared-context .shared-title { font-size:18px; }
 .v5-site .shared-context .shared-description { font-size:12px; line-height:1.55; }
 .v5-site .shared-context .shared-link { min-height:32px; display:inline-flex; align-items:center; }
 .v5-site .v5-photo-hero { padding-block:43px; }
 .v5-site .v5-photo-hero .hero-main { width:100%; }
 .v5-site .v5-photo-hero .hero-main h1 { font-size:clamp(34px,9vw,44px); line-height:1.1; letter-spacing:-.8px; }
 .v5-site .v5-photo-hero .source-lead { font-size:calc(17px * var(--fb-reading-scale,1)); line-height:1.65; }
 .v5-site.home .fb-home-hero.v5-photo-hero { padding-bottom:35px; }
 .v5-site .v5-hero-stage { min-height:0; }
 .v5-site.home .v5-hero-stage .hero-grid { width:calc(100% - 40px); padding:54px 0 78px; }
 .v5-site .v5-hero-stage .hero-copy { width:100%; }
 .v5-site .v5-hero-stage h1 { font-size:clamp(39px,10.8vw,55px); line-height:1.06; letter-spacing:-1px; }
 .v5-site .v5-hero-stage .hero-copy .source-block p { font-size:calc(17px * var(--fb-reading-scale,1)); }
 .v5-site .v5-hero-stage .hero-copy .source-button { margin-right:12px; }
 .v5-site .v5-hero-stage .hero-contact-link { font-size:14px; margin-top:14px; }
 .v5-site.home .home-decision-summary.v5-summary { padding:24px 22px; margin-top:-26px; gap:22px; }
 .v5-site.home .v5-summary .source-prose h2 { font-size:29px; }
 .v5-site.home .v5-summary .source-prose { font-size:calc(16px * var(--fb-reading-scale,1)); }
 .v5-site.home .v5-summary .r4-decision-art { max-height:none; }
 .v5-site.home .v5-summary .r4-decision-art img { aspect-ratio:16/10; }
 .v5-site .source-block h2 { font-size:30px; }
 .v5-site .source-lead { font-size:calc(17px * var(--fb-reading-scale,1)); }
 .v5-site .fb-cards.two { grid-template-columns:1fr; gap:23px; }
 .v5-site .fb-cards .r4-card-art img, .v5-site .fb-cards:not(.two) .r4-card-art img { aspect-ratio:16/10; }
 .v5-site .v5-photo-band { padding-block:46px!important; }
 .v5-site .v5-photo-band .v5-band-media::after { background:rgba(4,24,36,.9); }
 .v5-site .v5-photo-band .cf-home-copy h2 { font-size:39px; }
 .v5-site .v5-photo-band .cf-home-mark { padding:20px; }
 .v5-site .talks-editorial-images { grid-template-columns:1fr; gap:26px; }
 .v5-site .talks-editorial-image img { aspect-ratio:3/2; }
 .v5-site .v5-service-copy .source-block h3 { font-size:28px; }
 .v5-site .v5-service-spread { margin-bottom:32px!important; padding-bottom:34px!important; }
 .v5-site .v5-pullquote { padding:24px 20px; }
 .v5-site .v5-pullquote .thread-copy { font-size:calc(21px * var(--fb-reading-scale,1)); }
 .v5-site .r4-reading-art img, .v5-site .r4-section-opening img { aspect-ratio:16/10; }
 .v5-site .fb-publication-images { grid-template-columns:1fr; gap:28px; }
 .v5-site .fb-publication-images .book-cover { max-height:410px; }
 .v5-site .v5-policy-page .policy-copy h2, .v5-site .privacy-copy .source-block h2 { font-size:26px; }
 .v5-site .v5-essay-detail { width:140px; margin:6px 0 16px 18px; }
 .v5-site .v5-essay-detail img { height:110px; }
 .v5-site .df-reading .source-block h2 { font-size:27px; }
 .v5-site .cf-person { padding:22px; }
 .v5-site .cf-actions .button { width:100%; }
 .v5-site .fb-footer-grid { gap:28px; }
 .v5-site .fb-footer .footer-nav { gap:5px 20px; padding:20px 0; }
 .v5-site .fb-footer .footer-nav a { min-height:38px; display:inline-flex; align-items:center; font-size:13px; }
 .v5-site .crossfield-connection { max-width:330px; }
 .v5-site .footer-utilities { gap:6px 19px; }
}
@media (max-width:360px) {
 .v5-site .wrap, .v5-site .fb-header .cf-header-inner { width:calc(100% - 32px); }
 .v5-site .v5-hero-stage .hero-grid { width:calc(100% - 32px)!important; }
 .v5-site .v5-hero-stage .hero-copy .source-button { display:block; margin-right:0; }
 .v5-site .v5-essay-detail { float:none; width:100%; margin:18px 0; }
 .v5-site .v5-essay-detail img { height:auto; aspect-ratio:16/9; }
}
@media (prefers-reduced-motion:reduce) { .v5-site *, .v5-site *::before, .v5-site *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
@media print {
 .v5-site .fb-header { position:static; box-shadow:none; }
 .v5-site :is(.v5-photo-hero,.v5-photo-band,.v5-hero-stage) { background:#fff!important; color:#000!important; width:auto; margin:0; padding:0; }
 .v5-site :is(.v5-photo-hero > .hero-art,.v5-hero-stage > .hero-art,.v5-band-media) { display:none!important; }
 .v5-site :is(.v5-photo-hero,.v5-photo-band,.v5-hero-stage) :is(h1,h2,p,.source-lead,.source-prose,.prose) { color:#000!important; }
 .v5-site .v5-hero-stage .hero-copy, .v5-site .v5-photo-hero .hero-main { width:100%; }
 .v5-site .v5-summary, .v5-site .v5-service-spread { display:block!important; margin:0!important; box-shadow:none!important; }
 .v5-site .v5-photo { max-width:80mm; break-inside:avoid; margin-block:6mm; }
 .v5-site .v5-essay-detail { float:none; }
 .v5-site .fb-section { padding-block:8mm!important; }
}
/* Final refinements from the first full-page inspection. */
.v5-site.home .v5-summary .source-eyebrow,
.v5-site.home .v5-summary .source-eyebrow * { color:#73511d!important; }
.v5-site :is(h1,h2,h3,h4) { overflow-wrap:break-word; }
.v5-site .v5-photo-hero[data-addition='contact-page'] .wrap { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:52px; align-items:center; }
.v5-site .v5-photo-hero[data-addition='contact-page'] .contact-direct { background:rgba(7,31,43,.93); border:1px solid #a38a58; padding:28px; }
.v5-site .v5-photo-hero[data-addition='contact-page'] .page-intro { color:#e1e9ed; }
.v5-site[data-v5-page='contatti'] main > section:last-child .r4-wide-art { width:100%; max-width:410px; margin:22px auto 0; }
.v5-site[data-v5-page='contatti'] main > section:last-child .r4-wide-art img { aspect-ratio:16/10; }
html[data-fb-text-size]:not([data-fb-text-size='standard']) .v5-site .fb-header .primary-nav { flex-wrap:wrap; }
@media(max-width:900px) { .v5-site .v5-photo-hero[data-addition='contact-page'] .wrap { grid-template-columns:1fr; gap:28px; } }
@media(max-height:750px) { .v5-site .fb-header { position:relative; } html { scroll-padding-top:24px; } }

/* Align the short civic-section heading with its actual paragraph, not an empty float row. */
.v5-site .v5-essay-feature { display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:30px; align-items:center; padding-bottom:26px; margin-bottom:26px; border-bottom:1px solid var(--v5-line); }
.v5-site .v5-essay-feature .source-block { margin:0; padding:0; border:0; }
.v5-site .v5-essay-feature .source-block + .source-block { margin-top:16px; }
.v5-site .v5-essay-feature .v5-essay-detail { float:none; width:100%; margin:0; }
@media(max-width:640px){.v5-site .v5-essay-feature{grid-template-columns:1fr;gap:22px}.v5-site .v5-essay-feature .v5-essay-detail{max-width:300px}.v5-site .v5-essay-feature .v5-essay-detail img{height:auto;aspect-ratio:16/9;}}
