/* I design token (colori, radius, ombra) vivono ora in
   condiviso/pcbi-rilancio-token.css, caricato prima di questo file — vedi
   PIANO_RISTRUTTURAZIONE_OPUS5.md §23. Non reintrodurre qui un :root con
   questi stessi nomi: creerebbe una seconda sorgente destinata a divergere
   di nuovo, esattamente il problema che questo file risolve. */

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.rilancio-page { margin:0; font-family:var(--font-sans); color:var(--ink); background:var(--white); line-height:1.65; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
.container { width:min(1180px, calc(100% - 40px)); margin:0 auto; }

.site-header { position:fixed; inset:0 0 auto; z-index:var(--z-chrome); background:var(--navy); border-bottom:1px solid rgba(255,255,255,.12); transition:.25s ease; }
.site-header.scrolled { background:rgba(7,26,47,.98); box-shadow:0 8px 30px rgba(0,0,0,.14); }
.nav-wrap { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { color:white; display:flex; align-items:center; gap:11px; }
.brand-mark { width:38px; height:38px; display:grid; place-items:center; background:var(--ochre); color:var(--navy); font-weight:900; font-size:22px; transform:skew(-8deg); }
.brand-copy { display:flex; flex-direction:column; line-height:1; letter-spacing:.04em; }
.brand-copy strong { font-size:16px; }
.brand-copy small { font-size:9px; letter-spacing:.22em; opacity:.75; margin-top:5px; }
.main-nav { display:flex; align-items:center; gap:22px; color:white; font-weight:600; font-size:13px; }
.social-links { display:flex; align-items:center; height:76px; gap:14px; }
.social-links a { display:flex; align-items:center; justify-content:center; width:22px; height:22px; opacity:.85; transition:transform .2s, opacity .2s; }
.social-links a:hover { opacity:1; transform:translateY(-1px); }
.social-links svg { display:block; width:21px; height:21px; }
.social-facebook { color:#1877F2; }
.social-linkedin { color:#0A66C2; }
.social-youtube { color:#FF0000; }
.main-nav a { opacity:.86; transition:.2s; }
.main-nav a:hover { opacity:1; color:var(--ochre-2); }
.nav-quick { display:flex; align-items:center; gap:14px; }
.nav-quick a { color:white; font-weight:700; font-size:13px; opacity:.9; transition:.2s; white-space:nowrap; }
.nav-quick a:hover { opacity:1; color:var(--ochre-2); }
.nav-quick .nav-cta { background:var(--ochre); color:var(--navy); padding:12px 18px; opacity:1; }
.nav-quick .nav-cta:hover { background:var(--ochre-2); color:var(--navy); }
.nav-quick .short { display:none; }
@media screen and (max-width:900px) { .nav-quick .full { display:none; } .nav-quick .short { display:inline; } .nav-quick .nav-cta { padding:10px 14px; } .nav-quick { gap:10px; } }
.menu-toggle { position:relative; display:none; background:none; border:0; color:white; padding:8px; line-height:0; cursor:pointer; }
/* Ponte invisibile che estende l'area "hover" del pulsante fino al bordo
   superiore del menu a tendina: senza questo, lo spazio vuoto fra il
   pulsante e il menu (che parte da top:76px) fa richiudere il menu prima
   che il mouse riesca a raggiungerlo scendendo — bastava un click perché
   l'hover da solo si "rompeva" in quello spazio morto. Il ponte deve
   coprire anche i movimenti diagonali verso le voci di menu allineate a
   sinistra (il pulsante è invece all'estrema destra): un ponte stretto
   attorno al solo pulsante lascia scoperta la diagonale e il menu si
   richiude comunque — per questo si estende fino al bordo sinistro dello
   schermo, non solo attorno al pulsante. */
.menu-toggle::after { content:''; position:absolute; left:-100vw; right:-40px; top:100%; height:30px; }
.menu-toggle svg { display:block; }

.promoter-mark { display:flex; align-items:center; gap:8px; margin-right:auto; margin-left:6px; padding-left:18px; border-left:1px solid rgba(255,255,255,.18); white-space:nowrap; }
.promoter-mark span { font-size:8px; line-height:1; text-transform:uppercase; letter-spacing:.16em; color:rgba(255,255,255,.62); }
.promoter-mark img { display:block; width:130px; height:auto; background:transparent; padding:0; border-radius:0; box-shadow:none; }
.signup-date { display:inline-flex; align-items:center; justify-content:center; margin:0 0 22px; padding:11px 15px; background:var(--ochre); color:#fff; font-size:15px; font-weight:800; line-height:1; letter-spacing:.14em; text-transform:uppercase; box-shadow:0 8px 20px rgba(7,26,47,.10); }
.signup-date.on-dark { box-shadow:0 8px 20px rgba(0,0,0,.22); }
.site-footer .patronage { font-weight:700; color:#fff; word-spacing:.08em; }
/* Nota GDPR accanto al modulo di adesione esterno: viveva come <style> inline
   nella pagina prima della fusione con la copia di prova dell'11 settembre
   2026 — spostata qui, dove vive già tutto il resto dello stile del sito
   (CLAUDE.md §4, niente <style> inline nelle pagine pubbliche). */
.footer-bottom-inner a { color:rgba(255,255,255,.7); text-decoration:underline; text-underline-offset:2px; }
.footer-bottom-inner a:hover { color:var(--ochre-2); }
.cookie-prefs-link { background:none; border:0; padding:0; margin:0; font:inherit; cursor:pointer; color:rgba(255,255,255,.7); text-decoration:underline; text-underline-offset:2px; }
.cookie-prefs-link:hover { color:var(--ochre-2); }
@media screen and (max-width:1180px){ .promoter-mark span{display:none} .promoter-mark{padding-left:12px} .promoter-mark img{width:105px} }
@media screen and (max-width:980px){ .promoter-mark{margin-left:auto;margin-right:8px} .promoter-mark img{width:90px} }
@media screen and (max-width:520px){ .promoter-mark{padding-left:8px} .promoter-mark img{width:75px} .brand-copy{display:none} .signup-date{font-size:13px} }

.hero { min-height:740px; color:white; background:var(--navy); position:relative; overflow:hidden; padding:164px 0 84px; }
.hero-media { position:absolute; inset:0; background-image:url('https://images.pexels.com/photos/6285146/pexels-photo-6285146.jpeg?auto=compress&cs=tinysrgb&w=1800'); background-position:center; background-size:cover; filter:saturate(.65); }
.hero-media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,26,47,.98) 0%,rgba(7,26,47,.94) 42%,rgba(7,26,47,.78) 100%); }
.hero-grid { position:absolute; inset:0; opacity:.09; background-image:linear-gradient(rgba(255,255,255,.16) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.16) 1px, transparent 1px); background-size:64px 64px; mask-image:linear-gradient(90deg, transparent 15%, black 100%); }
.hero-content { position:relative; display:grid; grid-template-columns:minmax(0,1.13fr) minmax(0,1fr); gap:48px; align-items:center; }
.eyebrow { display:inline-block; font-size:11px; font-weight:800; letter-spacing:.18em; color:var(--ochre-2); text-transform:uppercase; margin-bottom:17px; }
.eyebrow.dark { color:var(--petrol); }
.eyebrow-date { color:var(--ochre); font-weight:900; }
.hero h1 { font-size:clamp(38px,4.6vw,58px); line-height:1.08; letter-spacing:-.035em; margin:0 0 26px; max-width:760px; text-wrap:balance; }
.hero h1 span { color:var(--ochre-2); display:inline; }
.hero-lead { font-size:17px; max-width:620px; color:rgba(255,255,255,.88); margin:0 0 22px; line-height:1.65; }
.hero-copy .hero-rules { font-size:15px; line-height:1.6; color:#fff; margin:18px 0 0; }
.hero-actions { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 24px; font-size:13px; font-weight:800; letter-spacing:.025em; transition:.22s ease; }
.btn-primary { background:var(--ochre); color:var(--navy); box-shadow:0 12px 28px rgba(227,171,53,.18); }
.btn-primary:hover { background:var(--ochre-2); transform:translateY(-2px); }
.btn-ghost { border:2px solid rgba(255,255,255,.75); color:white; background:transparent; }
.btn-ghost:hover { background:white; color:var(--navy); border-color:white; }
/* CTA unica nella hero: il secondo link resta lo stesso elemento (serve al
   CMS come "heroCta2", selettore .hero-copy .btn-ghost), ma visivamente
   declassato a link testuale — niente bordo, niente riquadro, per non
   competere con il pulsante primario. Deve stare DOPO .btn-ghost: stessa
   specificità, vince l'ultima regola scritta. */
.hero-cta-secondary { border:0; background:none; padding:0; min-height:0; font-weight:700; font-size:13px; text-decoration:underline; text-underline-offset:3px; opacity:.86; }
.hero-cta-secondary:hover { opacity:1; background:none; color:white; }
/* Rassicurazione ("nessun costo, nessun bilancio"): sta PRIMA dei pulsanti,
   non dopo — è l'obiezione che il lettore si fa nel momento in cui decide
   se cliccare, non una postilla da leggere a decisione già presa. */
.hero-note { margin:0 0 22px; color:#fff; font-size:15px; font-weight:700; display:flex; align-items:center; gap:9px; }
.hero-note::before { content:"✓"; display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; border-radius:50%; background:var(--ochre); color:var(--navy); font-size:12px; font-weight:900; flex:none; }
.video-panel { width:min(1100px, 92vw) !important; height:min(640px, 88vh) !important; }
body.video-open { overflow:hidden; }
.hero-showcase { position:relative; display:grid; grid-template-rows:1fr auto; gap:16px; align-self:stretch; align-content:center; min-width:0; }
.showcase-slide { grid-row:1; grid-column:1; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .45s ease,visibility 0s linear .45s; display:flex; align-items:center; min-width:0; }
.showcase-slide.is-active { opacity:1; visibility:visible; pointer-events:auto; transition:opacity .45s ease,visibility 0s linear 0s; }

.showcase-video-frame { position:relative; width:100%; max-width:var(--showcase-video-width,1040px); aspect-ratio:16/9; overflow:hidden; background:var(--navy); border:1px solid rgba(255,255,255,.2); }
.showcase-video-frame iframe,.showcase-video-frame video { position:absolute; inset:0; width:100%; height:100%; border:0; pointer-events:none; }
.showcase-video-frame video { object-fit:cover; background:var(--navy); }
.showcase-video-overlay { position:absolute; inset:0; width:100%; height:100%; border:0; padding:0; background:rgba(7,26,47,.22); display:flex; flex-direction:column; gap:12px; align-items:center; justify-content:center; cursor:pointer; color:white; }

/* Poster video hero: testo ancorato in alto a sinistra, play centrato da solo. */
.showcase-video-poster { position:relative; }
.showcase-video-copy { position:absolute; top:18px; left:20px; right:20px; max-width:min(78%,520px); display:grid; gap:4px; color:#fff; pointer-events:none; }
.showcase-video-kicker { font-size:9px; font-weight:900; letter-spacing:.12em; color:var(--ochre-2); }
.showcase-video-copy strong { font-size:15px; line-height:1.25; color:#fff; }
.showcase-video-copy > span:last-child { font-size:12px; line-height:1.4; color:rgba(255,255,255,.78); }

.showcase-play-label { display:block; font-size:13px; font-weight:700; padding:4px 12px; background:var(--navy); }
.showcase-play { width:60px; height:60px; border-radius:50%; background:var(--ochre); color:var(--navy); display:grid; place-items:center; font-size:20px; transition:.2s; box-shadow:0 10px 26px rgba(0,0,0,.35); }
.showcase-video-overlay:hover .showcase-play { background:var(--ochre-2); transform:scale(1.08); }
.showcase-dots { grid-row:2; grid-column:1; display:flex; justify-content:flex-start; gap:8px; flex-wrap:wrap; }
.showcase-dots button { min-height:44px; padding:9px 15px; font:inherit; font-size:12px; font-weight:700; color:white; background:transparent; border:1px solid rgba(255,255,255,.4); cursor:pointer; }
.showcase-dots button.is-active { background:var(--ochre); color:var(--navy); border-color:var(--ochre); }
.hero-events { display:grid; gap:10px; width:100%; }
.event-card { position:relative; background:#fff; color:var(--ink); padding:14px 20px; display:grid; grid-template-columns:58px minmax(0,1fr); gap:18px; box-sizing:border-box; width:calc(100% - var(--event-offset, 0px)); margin-left:var(--event-offset, 0px); border:2px solid var(--event-border); border-left-width:6px; min-width:0; }
.event-card-1 { --event-border:var(--event-border-1,#bd4d47); --event-offset:0px; }
.event-card-2 { --event-border:var(--event-border-2,#cf9b1d); --event-offset:var(--event-step,14px); }
.event-card-3 { --event-border:var(--event-border-3,#368362); --event-offset:calc(var(--event-step,14px) * 2); }
.event-date { border-right:1px solid var(--line); padding-right:12px; display:flex; flex-direction:column; align-items:flex-start; line-height:.95; }
.event-date strong { font-size:37px; color:var(--navy); letter-spacing:-.06em; }
.event-date span { font-size:11px; font-weight:800; color:var(--muted); line-height:1.1; margin-top:4px; }
.event-date strong.event-date-expired { font-size:13px; letter-spacing:.08em; line-height:1.1; }
.event-date span.event-date-expired { max-width:92px; color:var(--navy); font-size:9px; line-height:1.15; }
.event-date-expired { font-weight:800; }
.event-copy { display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:center; }
.event-copy>.event-kicker,.event-copy>h2,.event-copy>p { grid-column:1/-1; }
.event-kicker { font-size:10px; line-height:1.4; color:var(--petrol); letter-spacing:.1em; font-weight:800; }
.event-card h2 { font-size:21px; line-height:1.2; margin:4px 0 6px; color:var(--navy); }
.event-card p { margin:0; font-size:14px; color:#53616d; line-height:1.45; }
.event-card-2 h2 { font-size:21px; }
.event-mode { font-size:12px; line-height:1.5; color:var(--navy); margin-top:4px; }
.event-detail-link { display:inline-flex; align-items:center; min-height:36px; font-size:13px; font-weight:700; color:var(--navy); text-decoration:underline; text-underline-offset:3px; }
.event-detail-link:hover { color:var(--petrol); }
.event-detail-link:focus-visible { outline:2px solid var(--navy); outline-offset:3px; }
.hero-events .event-card.event-card-expired { grid-template-columns:minmax(0,1fr); }
.hero-events .event-card .event-date[hidden] { display:none!important; }
.hero-events .event-card .event-status { grid-column:1/-1;order:10;margin:8px 0 0;padding:0;border:0;color:#b42318;font-size:13px;font-weight:800;line-height:1.4;text-transform:uppercase;overflow-wrap:anywhere; }
.save-date-strip{background:var(--ochre);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.save-date-inner{min-height:94px;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr) minmax(0,1.2fr) auto;align-items:center;gap:24px;padding-top:18px;padding-bottom:18px}
.save-date-kicker{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--navy)}
.save-date-main{display:flex;flex-direction:column;min-width:0;border-left:2px solid var(--navy);padding-left:24px}
.save-date-main>[data-cms-event]{font-size:26px;font-weight:800;line-height:1.15;color:var(--navy)}
.save-date-title{margin-top:7px;font-weight:700;color:var(--navy)}
.save-date-place{font-size:14px;line-height:1.5;color:var(--navy);min-width:0}
.save-date-link{display:inline-flex;align-items:center;min-height:44px;font-weight:800;color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.save-date-link:hover{color:var(--petrol)}
.save-date-link:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
@media screen and (max-width:900px){.save-date-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.save-date-kicker{grid-column:1/-1}.save-date-main{border-left:0;padding-left:0}.save-date-link{justify-self:end}}
@media screen and (max-width:640px){.save-date-inner{grid-template-columns:minmax(0,1fr)}.save-date-kicker,.save-date-main,.save-date-place,.save-date-link{grid-column:1}.save-date-link{justify-self:start}.save-date-main>[data-cms-event]{font-size:24px}}
.hero-angle { position:absolute; left:0; right:0; bottom:0; height:1px; background:rgba(255,255,255,.2); }

.trust-strip { background:white; padding:12px 0 38px; }
.trust-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.trust-grid div { border-top:3px solid var(--ochre); padding-top:14px; }
.trust-grid strong { display:block; color:var(--navy); font-size:13px; letter-spacing:.04em; }
.trust-grid span { display:block; color:var(--muted); font-size:11px; margin-top:3px; }

.section { padding:110px 0; position:relative; }
.two-col { display:grid; grid-template-columns:.92fr 1.08fr; gap:70px; align-items:start; }
.section-intro h2, .assetti-copy h2, .section-heading h2, .outcome-head h2, .fit-card h2, .signup-copy h2, .salotto-card h2 { font-size:clamp(28px,3.4vw,42px); line-height:1.14; letter-spacing:-.03em; color:var(--navy); margin:0 0 20px; }
.section-intro p, .assetti-copy > p, .section-heading p, .fit-copy p, .signup-copy > p { color:#55616c; font-size:14px; }
.signup-copy .signup-rules { font-size:15px; line-height:1.6; color:var(--navy); margin:22px 0 0; }
blockquote { margin:30px 0 0; border-left:4px solid var(--ochre); padding:5px 0 5px 22px; color:var(--navy); font-weight:700; font-size:16px; line-height:1.45; }
.problem { background:var(--paper); }
.pain-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.pain-grid article { background:white; padding:24px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.pain-grid article > span { font-weight:900; color:var(--ochre); font-size:12px; }
.pain-grid h3 { margin:13px 0 8px; color:var(--navy); font-size:16px; line-height:1.3; }
.pain-grid p { margin:0; color:var(--muted); font-size:14px; line-height:1.5; }

.relief { background:var(--navy); color:#fff; overflow:hidden; position:relative; padding:86px 0; text-align:center; }
.relief:before { content:""; position:absolute; left:50%; top:0; width:1px; height:56px; background:linear-gradient(rgba(227,171,53,0), var(--ochre)); transform:translateX(-50%); }
.relief-inner { max-width:820px; margin:0 auto; }
.relief .eyebrow { display:block; }
.relief-quote { margin:0; border:0; padding:0; font-family:var(--font-serif); font-weight:500; font-style:italic; font-size:clamp(21px,3.1vw,34px); line-height:1.42; color:#fff; letter-spacing:-.01em; }
.relief-note { max-width:620px; margin:32px auto 0; color:rgba(255,255,255,.62); font-size:13px; line-height:1.7; }
@media screen and (max-width:640px){ .relief{padding:64px 0} .relief-quote{font-size:20px} }

.assetti { background:var(--navy); color:white; overflow:hidden; }
.assetti:after { content:""; position:absolute; width:500px; height:500px; right:-180px; top:-140px; border:1px solid rgba(227,171,53,.18); transform:rotate(45deg); }
.assetti-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:72px; align-items:center; position:relative; }
.assetti-visual { position:relative; min-height:500px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px; }
.logo-panel { background:#071521; padding:32px; box-shadow:var(--shadow); width:min(520px,100%); border:1px solid rgba(255,255,255,.07); }
.logo-panel img { width:100%; }
/* Card sotto il logo, non più sovrapposta: sovrapporla copriva parte del logo AssettiMetro. */
.blueprint-card { width:min(360px,100%); background:var(--ochre); color:var(--navy); padding:22px; box-shadow:var(--shadow); }
.metric-line { display:flex; justify-content:space-between; align-items:center; padding:11px 0; border-bottom:1px solid rgba(7,26,47,.25); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.metric-line:last-child { border:0; }
.metric-line strong { font-size:20px; }
.assetti-copy h2 { color:white; }
.assetti-copy > p { color:rgba(255,255,255,.72); }
.feature-list { margin:34px 0; display:grid; gap:1px; background:rgba(255,255,255,.09); }
.feature-list > div { display:grid; grid-template-columns:42px 1fr; gap:14px; align-items:start; background:#0b2238; padding:17px; }
.feature-list b { color:var(--ochre); }
.feature-list span { color:rgba(255,255,255,.78); font-size:13px; }
.feature-list strong { color:white; }
.text-link { color:var(--ochre-2); font-weight:800; font-size:13px; }

.journey { background:white; }
.centered { text-align:center; max-width:850px; margin:0 auto 60px; }
.timeline { display:grid; grid-template-columns:1fr 34px 1fr 34px 1fr 34px 1fr 34px 1fr; align-items:stretch; }
.step { display:block; background:var(--paper); min-height:270px; padding:28px 24px; border-top:5px solid var(--petrol); position:relative; text-decoration:none; cursor:pointer; transition:transform .2s ease, box-shadow .2s ease, border-top-color .2s ease; }
.step:hover { transform:translateY(-5px); box-shadow:0 18px 36px rgba(7,26,47,.2); border-top-color:var(--ochre); }
.step.active { background:var(--navy); color:white; border-top-color:var(--ochre); }
.step.muted { opacity:.74; }
.step.muted:hover { opacity:1; }
.step-num { font-size:54px; font-weight:900; line-height:1; letter-spacing:-.06em; color:rgba(18,61,87,.16); }
.step.active .step-num { color:rgba(227,171,53,.95); }
.step-role { font-size:12px; font-weight:800; line-height:1.4; color:var(--petrol); letter-spacing:.04em; }
.step-support { border-top:1px solid var(--line); background:#fff; opacity:1; }
.step-support:not(a) { cursor:default; }
.step-support:not(a):hover { transform:none; box-shadow:none; border-top-color:var(--line); }
.step-content span { display:block; font-size:9px; font-weight:800; letter-spacing:.1em; margin:24px 0 8px; color:var(--ochre); }
.step.active .step-content span { color:var(--ochre-2); }
.step h3 { margin:0 0 10px; color:var(--navy); font-size:18px; }
.step.active h3 { color:white; }
.step p { margin:0; font-size:12px; color:var(--muted); }
.step.active p { color:rgba(255,255,255,.7); }
.timeline-arrow { display:grid; place-items:center; color:var(--ochre); font-size:25px; }

.salotto { min-height:780px; background:#0a1a2b; display:flex; align-items:center; overflow:hidden; }
.salotto-photo { position:absolute; inset:0; background-image:linear-gradient(90deg, rgba(7,26,47,.2), rgba(7,26,47,.94) 64%), url('https://images.pexels.com/photos/7937956/pexels-photo-7937956.jpeg?auto=compress&cs=tinysrgb&w=1800'); background-size:cover; background-position:center; filter:saturate(.72); }
.salotto-grid { position:relative; display:grid; grid-template-columns:1fr 1fr; }
.salotto-card { grid-column:2; background:rgba(7,26,47,.95); border-left:4px solid var(--ochre); color:white; padding:58px; box-shadow:var(--shadow); }
.salotto-card h2 { color:white; }
.salotto-card p { color:rgba(255,255,255,.72); }
.salotto-card .large { font-size:19px; line-height:1.45; color:white; font-weight:700; }
.salotto-tags { display:flex; flex-wrap:wrap; gap:8px; margin:28px 0; }
.salotto-tags span { border:1px solid rgba(227,171,53,.5); color:var(--ochre-2); padding:8px 10px; font-size:9px; font-weight:800; letter-spacing:.08em; }
.small-note { font-size:13px; line-height:1.6; }
.cms-venue-highlight { color:var(--ochre-2); font-weight:800; font-size:1.45em; letter-spacing:.01em; }

.outcome { background:var(--paper); }
.outcome-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:65px; align-items:start; }
.outcome-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.outcome-cards article { background:white; padding:28px; border-bottom:3px solid var(--ochre); }
.outcome-cards span { font-size:12px; color:var(--ochre); font-weight:900; }
.outcome-cards h3 { color:var(--navy); margin:12px 0 8px; font-size:18px; }
.outcome-cards p { color:var(--muted); font-size:13px; margin:0; }

.fit { background:white; }
.fit-card { background:var(--navy); color:white; display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; padding:55px; box-shadow:var(--shadow); }
.fit-card h2 { color:white; margin-bottom:0; }
.fit-copy p { color:rgba(255,255,255,.72); margin-top:0; }
.fit-copy .fit-emphasis { color:white; font-weight:600; border-top:1px solid rgba(255,255,255,.15); padding-top:20px; margin-top:20px; }

.signup { background:var(--paper); }
.signup-grid { display:grid; grid-template-columns:minmax(0,36fr) minmax(0,60fr); gap:4%; align-items:start; }
.signup-points { display:grid; gap:12px; margin:30px 0; }
.signup-points div { display:flex; align-items:center; gap:15px; color:var(--navy); font-size:13px; font-weight:700; }
.signup-points strong { width:38px; height:38px; display:grid; place-items:center; background:var(--ochre); }
.form-shell { background:white; box-shadow:var(--shadow); border-top:5px solid var(--ochre); overflow:hidden; width:100%; }
@media screen and (min-width:981px) { .form-shell { margin-top:-70px; } }
.form-head { background:var(--navy); color:white; display:flex; justify-content:space-between; gap:15px; padding:20px 24px; font-size:11px; letter-spacing:.08em; }
.form-head span { color:var(--ochre-2); font-weight:800; }
.form-embed-wrap { min-height:0; height:700px; background:white; overflow:hidden; }
.form-embed-wrap iframe { border:0; width:100%; height:700px; display:block; background:white; }

.final-cta { background:var(--petrol); color:white; padding:58px 0; }
.final-grid { display:grid; grid-template-columns:1fr auto; gap:45px; align-items:center; }
.final-grid h2 { margin:0; font-size:26px; line-height:1.22; max-width:760px; }
.final-grid .eyebrow { margin-bottom:10px; }

.site-footer { background:#04111f; color:rgba(255,255,255,.65); }
.footer-top { padding:64px 0 40px; }
.footer-brand { display:flex; align-items:center; gap:11px; color:white; margin-bottom:36px; padding-bottom:32px; border-bottom:1px solid rgba(255,255,255,.1); }
.footer-brand .brand-copy small { display:block; font-weight:500; letter-spacing:.14em; font-size:9px; color:rgba(255,255,255,.5); }
.footer-grid { display:grid; grid-template-columns:1.1fr 1.3fr .6fr; gap:50px; align-items:start; }
.footer-col { border-left:1px solid rgba(255,255,255,.1); padding-left:28px; }
.footer-col:first-child { border-left:0; padding-left:0; }
.footer-eyebrow { display:block; font-size:10px; font-weight:800; letter-spacing:.14em; color:var(--ochre); margin-bottom:14px; }
.footer-grid strong { display:block; color:white; font-size:15px; margin-bottom:8px; }
.footer-grid p { font-size:12px; line-height:1.7; margin:4px 0 0; }
.footer-links { display:flex; flex-direction:column; gap:9px; font-size:12.5px; }
.footer-links a { color:rgba(255,255,255,.75); }
.footer-links a:hover { color:var(--ochre-2); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); padding:20px 0; }
.footer-bottom-inner { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:11px; color:rgba(255,255,255,.45); }
.mobile-sticky { display:none; }

.reveal { opacity:0; transform:translateY(18px); transition:opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity:1; transform:none; }
.delay-1 { transition-delay:.12s; }

/* Soglia del menu separata dal resto del layout tablet/mobile (980px):
   con 8 voci + logo + patrocinio, il menu in linea smette di stare su una
   riga già sotto ~1430px di contenitore reale (il contenitore ha un
   max-width di 1320px gestito dal CMS, non 1180 come il resto del sito) —
   a 980px il menu andava già a capo su più righe, un'accozzaglia
   illeggibile, prima di ricevere il trattamento da menu mobile. Segnalato
   dal proprietario il 12/09/2026. */
@media screen and (max-width: 1480px) {
  .main-nav { position:absolute; top:76px; left:0; right:0; display:none; flex-direction:column; align-items:stretch; gap:0; background:var(--navy-2); border-top:2px solid var(--ochre); box-shadow:0 22px 45px rgba(0,0,0,.38); padding:15px 20px 25px; }
  .main-nav.open, .menu-toggle:hover + .main-nav, .main-nav:hover { display:flex; }
  /* .menu-toggle:hover da solo perde l'apertura nello spazio vuoto fra il
     pulsante e il menu (che parte da top:76px): con :has() il menu resta
     aperto finché il cursore è ovunque dentro l'intestazione col pulsante
     o col menu stesso, senza quella "zona morta" che lo richiudeva prima
     che l'utente riuscisse a raggiungerlo scendendo con il mouse. */
  .nav-wrap:has(.menu-toggle:hover, .main-nav:hover) .main-nav { display:flex; }
  .main-nav.closing { display:none !important; }
  .main-nav a { padding:13px 4px; }
  .menu-toggle { display:block; }
}


@media screen and (max-width: 980px) {
  .hero { min-height:auto; padding-top:130px; }
  .hero-content, .two-col, .assetti-grid, .outcome-grid, .fit-card, .signup-grid { grid-template-columns:1fr; }
  .hero-events { max-width:700px; }
  .timeline { grid-template-columns:1fr; gap:12px; }
  .timeline-arrow { transform:rotate(90deg); min-height:26px; }
  .salotto-grid { grid-template-columns:1fr; }
  .salotto-card { grid-column:1; margin-top:250px; }
  .salotto-photo { background-image:linear-gradient(180deg, rgba(7,26,47,.1), rgba(7,26,47,.96) 68%), url('https://images.pexels.com/photos/7937956/pexels-photo-7937956.jpeg?auto=compress&cs=tinysrgb&w=1200'); }
  .final-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-col { border-left:0; padding-left:0; }
}

@media screen and (max-width: 640px) {
  .container { width:min(100% - 28px, 1180px); }
  .section { padding:78px 0; }
  .hero { padding:115px 0 90px; }
  .hero h1 { font-size:34px; }
  .hero-lead { font-size:15px; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .event-card { grid-template-columns:56px minmax(0,1fr); padding:18px; }
  .event-date strong { font-size:38px; }
  .trust-grid { grid-template-columns:1fr; gap:14px; }
  .pain-grid, .outcome-cards { grid-template-columns:1fr; }
  .assetti-visual { min-height:auto; }
  .salotto { padding:0; min-height:auto; }
  .salotto-card { padding:30px 24px; margin-top:210px; }
  .fit-card { padding:32px 24px; gap:30px; }
  #modulo-iscrizione-mobile { scroll-margin-top:76px; }
  .form-embed-wrap, .form-embed-wrap iframe { min-height:0; height:700px; }
  .footer-grid { grid-template-columns:1fr; gap:28px; padding-bottom:54px; }
  .mobile-sticky { display:block; position:fixed; z-index:var(--z-chrome); left:10px; right:10px; bottom:10px; background:var(--ochre); color:var(--navy); text-align:center; padding:14px 12px; font-size:11px; font-weight:900; box-shadow:0 10px 35px rgba(0,0,0,.28); }
}

/* Opuscolo sfogliabile */
.brochure { background:#f4f1ea; overflow:hidden; }
.brochure-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:78px; align-items:center; }
.brochure-visual { display:flex; justify-content:center; }
.brochure-cover-wrap { position:relative; width:min(390px, 88%); background:white; padding:10px; box-shadow:0 24px 60px rgba(7,26,47,.18); transform:rotate(-1.25deg); }
.brochure-cover-wrap:before { content:""; position:absolute; inset:13px -13px -13px 13px; border:1px solid rgba(18,61,87,.18); }
.brochure-cover-wrap img { width:100%; display:block; }
.brochure-badge { position:absolute; right:-24px; top:34px; background:var(--ochre); color:var(--navy); padding:10px 14px; font-size:10px; font-weight:900; letter-spacing:.12em; box-shadow:0 8px 22px rgba(7,26,47,.15); }
.brochure-copy h2 { color:var(--navy); max-width:720px; }
.brochure-copy > p { color:var(--muted); max-width:710px; }
.brochure-actions { display:flex; gap:12px; flex-wrap:wrap; margin:30px 0 14px; }
.btn-outline { border:2px solid var(--navy); color:#fff; background:var(--navy); }
.btn-outline:hover { background:var(--navy-2); border-color:var(--navy-2); color:#fff; }
button.btn { font:inherit; cursor:pointer; border-radius:0; }
.brochure-note { font-size:11px; margin:0; }

.flipbook-modal { position:fixed; inset:0; z-index:var(--z-modal); display:none; align-items:center; justify-content:center; padding:22px; }
.flipbook-modal.is-open { display:flex; }
.flipbook-backdrop { position:absolute; inset:0; background:rgba(2,11,20,.88); backdrop-filter:blur(5px); }
.flipbook-panel { position:relative; width:min(1500px, 96vw); height:min(900px, 92vh); background:#071A2B; box-shadow:0 30px 90px rgba(0,0,0,.5); border:1px solid rgba(255,255,255,.09); display:grid; grid-template-rows:auto 1fr; }
.flipbook-toolbar { min-height:64px; background:#04111f; color:white; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:12px 18px 12px 22px; border-bottom:1px solid rgba(255,255,255,.08); }
.flipbook-toolbar > div:first-child { display:flex; flex-direction:column; gap:2px; }
.flipbook-toolbar span { color:var(--ochre-2); font-size:9px; font-weight:900; letter-spacing:.13em; }
.flipbook-toolbar strong { font-size:13px; }
.flipbook-tools { display:flex; align-items:center; gap:16px; }
.flipbook-tools a { color:rgba(255,255,255,.78); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
.flipbook-tools a:hover { color:var(--ochre-2); }
.flipbook-close { width:38px; height:38px; border:1px solid rgba(255,255,255,.18); background:transparent; color:white; font-size:28px; line-height:1; cursor:pointer; }
.flipbook-close:hover { border-color:var(--ochre); color:var(--ochre-2); }
.flipbook-frame-wrap { min-height:0; background:#071A2B; }
.flipbook-frame-wrap iframe { display:block; width:100%; height:100%; border:0; background:#071A2B; }
.flipbook-frame-wrap video { display:block; width:100%; height:100%; border:0; background:#02070c; object-fit:contain; }
body.flipbook-open { overflow:hidden; }

@media screen and (max-width: 980px) {
  .brochure-grid { grid-template-columns:1fr; gap:48px; }
  .brochure-cover-wrap { width:min(340px, 72vw); }
  .flipbook-modal { padding:10px; }
  .flipbook-panel { width:100%; height:94vh; }
}

@media screen and (max-width: 640px) {
  .brochure-actions { flex-direction:column; align-items:stretch; }
  .brochure-actions .btn { text-align:center; }
  .brochure-badge { right:-12px; }
  .flipbook-modal { padding:0; }
  .flipbook-panel { width:100vw; height:100vh; border:0; }
  .flipbook-toolbar { min-height:58px; padding:10px 12px; }
  .flipbook-toolbar strong { font-size:11px; }
  .flipbook-tools a { display:none; }
  .flipbook-close { width:36px; height:36px; }
}

.section-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:28px}.section-actions .text-link{margin-top:0}
/* I "Scopri di più" sono uscite verso le pagine satellite, non l'azione
   che vogliamo il lettore compia qui: restano cliccabili ma smettono di
   competere visivamente con il pulsante primario della sezione (selettori
   invariati: sono ancora .btn-ghost/.btn-outline per il CMS). */
.section-actions .btn-ghost, .section-actions .btn-outline { background:none; border:0; padding:0; min-height:0; font-size:13px; text-decoration:underline; text-underline-offset:3px; }
.section-actions .btn-ghost { color:var(--ochre-2); }
.section-actions .btn-ghost:hover { background:none; color:#fff; }
.section-actions .btn-outline { color:var(--navy); }
.section-actions .btn-outline:hover { background:none; color:var(--navy-2); }
@media screen and (max-width:650px){.section-actions{flex-direction:column;align-items:stretch}.section-actions .btn{text-align:center}.section-actions .text-link{text-align:center}}

.rilancio-page h1, .rilancio-page h2, .rilancio-page h3 { font-family:var(--font-serif); }


/* Tre appuntamenti e Save the Date — 10/09/2026 */
.save-the-date-badge{position:absolute;right:14px;top:12px;background:var(--navy);color:#fff;padding:6px 8px;font-size:8px;font-weight:900;letter-spacing:.12em;line-height:1;text-transform:uppercase;box-shadow:0 6px 16px rgba(7,26,47,.14);z-index:2}
/* Sui telefoni lo spazio torna interamente al testo. */
@media screen and (max-width:640px){
  .event-card-2,.event-card-3{--event-offset:0px}
}
.masterclass{background:#f5f3ee;overflow:hidden}
.masterclass-grid{display:grid;grid-template-columns:.42fr 1.58fr;gap:70px;align-items:center}
.masterclass-visual{display:flex;flex-direction:column;gap:18px}
.logo-panel-compact{padding:20px;width:100%}
.masterclass-date-panel{min-height:0;background:var(--navy);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:24px;position:relative;box-shadow:var(--shadow);border-top:4px solid var(--ochre)}
.masterclass-date-panel .save-the-date-badge.standalone{right:22px;top:22px;background:var(--ochre);color:var(--navy)}
.masterclass-date-panel>strong{font-size:44px;line-height:1;letter-spacing:-.07em;color:#fff}
.masterclass-date-panel>span:not(.save-the-date-badge){font-size:14px;font-weight:900;letter-spacing:.13em;line-height:1.05;color:var(--ochre-2);margin-top:10px}
.masterclass-date-panel>small{margin-top:12px;font-size:11px;font-weight:800;letter-spacing:.16em;color:rgba(255,255,255,.62)}
.masterclass-copy h2{font-size:clamp(28px,3.4vw,42px);line-height:1.14;letter-spacing:-.03em;color:var(--navy);margin:0 0 18px}
.masterclass-copy p{color:#55616c;font-size:14px}
.masterclass-copy .large{font-size:19px;line-height:1.42;color:var(--navy);font-weight:700;max-width:760px}
.masterclass-tags{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}
.masterclass-tags span{border:1px solid rgba(18,61,87,.28);color:var(--petrol);background:#fff;padding:8px 10px;font-size:9px;font-weight:800;letter-spacing:.08em}
.final-event-flow{margin:18px 0 0;color:rgba(255,255,255,.82);font-size:11px;font-weight:700;letter-spacing:.03em;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.final-event-flow [data-cms-event]{color:var(--ochre-2);font-weight:900}
.final-event-flow b{color:rgba(255,255,255,.4);padding:0 4px}
.costac{background:#fff}
.costac-grid{display:grid;grid-template-columns:1.58fr .42fr;gap:70px;align-items:center}
.costac-copy h2{font-size:clamp(28px,3.4vw,42px);line-height:1.14;letter-spacing:-.03em;color:var(--navy);margin:0 0 18px}
.costac-copy p{color:#55616c;font-size:14px}
.costac-copy .large{font-size:19px;line-height:1.42;color:var(--navy);font-weight:700;max-width:760px}
.costac-tags{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}
.costac-tags span{border:1px solid rgba(18,61,87,.28);color:var(--petrol);background:#fff;padding:8px 10px;font-size:9px;font-weight:800;letter-spacing:.08em}
.costac-panel{background:var(--paper);border-top:6px solid var(--ochre);padding:40px 34px;box-shadow:var(--shadow)}
.costac-panel h3{font-size:18px;line-height:1.3;color:var(--navy);margin:0 0 18px}
.costac-panel dl{margin:0;display:grid;gap:16px}
.costac-panel dt{font-size:10px;font-weight:800;letter-spacing:.14em;color:#6c7782;margin:0}
.costac-panel dd{margin:4px 0 0;font-weight:700;color:var(--navy);font-size:14px}
@media screen and (max-width:980px){.masterclass-grid,.costac-grid{grid-template-columns:1fr;gap:32px}.costac-panel{order:2}}
@media screen and (max-width:640px){.save-the-date-badge{right:10px;top:9px;font-size:7px}.masterclass-copy .large{font-size:18px}.final-event-flow{line-height:1.7}.costac-copy .large{font-size:18px}}

/* ==========================================================================
   RILANCIO · IMPRESA 2.0 · 22-09-2026
   ========================================================================== */
.relief{padding:92px 0;text-align:left}
.relief:before{display:none}
.relief-inner{max-width:1180px}
.relief .eyebrow{text-align:center;margin-bottom:12px}
.relief-title{max-width:900px;margin:0 auto 18px;text-align:center;font-family:var(--font-serif);font-size:clamp(34px,4.4vw,58px);line-height:1.08;letter-spacing:-.035em;color:#fff}
.relief-intro{max-width:900px;margin:0 auto 42px;text-align:center;color:rgba(255,255,255,.76);font-size:17px;line-height:1.72}
.relief-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.relief-card{position:relative;padding:34px 32px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.055);min-width:0}
.relief-card-future{background:#fff;color:var(--navy);border-color:#fff}
.relief-num{display:inline-grid;place-items:center;width:38px;height:38px;margin-bottom:18px;border:1px solid rgba(255,255,255,.3);font-size:11px;font-weight:900;color:var(--ochre-2)}
.relief-card-future .relief-num{border-color:rgba(7,29,49,.2);color:var(--petrol)}
.relief-card h3{margin:0 0 12px;font-family:var(--font-serif);font-size:29px;line-height:1.15}
.relief-card>p{margin:0;color:rgba(255,255,255,.72);font-size:14px;line-height:1.7}
.relief-card-future>p{color:#566572}
.relief-points{display:grid;gap:14px;margin-top:24px}
.relief-points>div,.relief-plan{padding-top:14px;border-top:1px solid rgba(255,255,255,.15)}
.relief-points strong,.relief-plan strong{display:block;color:#fff;font-size:13px;margin-bottom:6px}
.relief-points span,.relief-plan span{display:block;color:rgba(255,255,255,.65);font-size:12.5px;line-height:1.6}
.relief-plan{margin-top:24px;border-top-color:#dce3e7}
.relief-card-future .relief-plan strong{color:var(--navy)}
.relief-card-future .relief-plan span{color:#566572}
.relief-outcome{max-width:920px;margin:38px auto 0;padding:24px 28px;border-left:5px solid var(--ochre);background:rgba(255,255,255,.07);font-family:var(--font-serif);font-size:22px;line-height:1.45;text-align:center;color:#fff}
.relief-note{max-width:920px;margin:18px auto 0;text-align:center;font-size:11.5px;line-height:1.65;color:rgba(255,255,255,.5)}
@media screen and (max-width:820px){.relief-columns{grid-template-columns:1fr}.relief{padding:68px 0}.relief-card{padding:28px 22px}.relief-title{font-size:34px}.relief-intro{font-size:15px}.relief-outcome{font-size:19px;text-align:left}}

/* BENEFICI RILANCIO / IMPRESA 2.0 · 22-09-2026 — sezione Home validata per alleggerimento del passato + costruzione Impresa 2.0. */


/* ==========================================================================
   ARCHITETTURA PERSUASIVA + SEZIONI GOVERNABILI DAL CMS · 01-10-2026
   ========================================================================== */
[data-cms-section][hidden]{display:none!important}

/* Nuovo significato: dalla reazione al sintomo alla lettura delle cause. */
.meaning{background:#fff}
.meaning-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:68px;align-items:center}
.meaning-copy h2,.about-head h2,.faq-home-intro h2,.custom-section h2{font-size:clamp(30px,3.7vw,46px);line-height:1.12;letter-spacing:-.035em;color:var(--navy);margin:0 0 20px}
.meaning-copy>p,.about-head>p,.faq-home-intro>p,.custom-section p{color:#55616c;font-size:15px;line-height:1.72}
.meaning-copy blockquote{margin-top:28px}
.meaning-cards{display:grid;gap:14px}
.meaning-cards article{background:var(--paper);border-left:4px solid var(--ochre);padding:28px 30px}
.meaning-cards article>span{font-size:11px;font-weight:900;color:var(--ochre)}
.meaning-cards h3{margin:10px 0 8px;color:var(--navy);font-size:21px}
.meaning-cards p{margin:0;color:#5b6772;font-size:13.5px;line-height:1.65}

/* Chi siamo: due competenze riconoscibili, unite da una regia comune. */
.about{background:linear-gradient(180deg,#f3f1eb 0%,#eeece5 100%);overflow:hidden}
.about-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.75fr);gap:72px;align-items:end;margin:0 0 46px;text-align:left}
.about-head .eyebrow{margin-bottom:14px}
.about-head h2{margin-bottom:0;max-width:760px}
.about-head>p{margin:0;padding:0 0 4px;border-left:2px solid var(--ochre);padding-left:24px}
.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px}
.about-card{background:#fff}
.about-profile{position:relative;display:grid;grid-template-rows:310px 1fr;min-width:0;box-shadow:0 18px 50px rgba(7,26,47,.08)}
.about-person-media,.about-emiliano-media{position:relative;width:100%;height:310px;background:var(--navy);overflow:hidden}
.about-person-media:after,.about-emiliano-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(7,26,47,.48) 100%);pointer-events:none}
.about-person-media img,.about-emiliano-media img{display:block;width:100%;height:100%;object-fit:cover;transform:none}
.about-person-media img{object-position:18% 54%}
.about-emiliano-media img{object-position:center top}
.about-profile-index{position:absolute;z-index:1;left:24px;bottom:18px;color:#fff;font-family:var(--font-serif);font-size:42px;line-height:1;font-weight:700;text-shadow:0 2px 15px rgba(0,0,0,.32)}
.about-profile-body{position:relative;padding:31px 34px 36px}
.about-profile-body:before{content:"";position:absolute;left:34px;top:0;width:76px;height:4px;background:var(--petrol)}
.about-entrepreneur .about-profile-body:before{background:var(--ochre)}
.about-kicker{display:block;font-size:11px;font-weight:900;letter-spacing:.12em;color:var(--petrol);margin-bottom:12px}
.about-entrepreneur .about-kicker{color:#a86e00}
.about-card h3{margin:0 0 10px;color:var(--navy);font-family:var(--font-serif);font-size:32px;line-height:1.08}
.about-role{margin:0 0 17px!important;color:var(--petrol)!important;font-weight:800!important;font-size:13.5px!important}
.about-card p{margin:0;color:#53616d;font-size:14.5px;line-height:1.72}
.about-conclusion{display:grid;grid-template-columns:minmax(260px,.58fr) minmax(0,1.42fr);gap:26px;margin-top:26px;align-items:stretch}
.about-principle{display:flex;align-items:center;max-width:none;margin:0;padding:34px 36px;border:0;border-left:5px solid var(--ochre);background:#fff;color:var(--navy);font-size:clamp(20px,2.1vw,27px);line-height:1.42;text-align:left;box-shadow:0 18px 50px rgba(7,26,47,.06)}
.about-network{margin:0}
.about-patronage{display:grid;grid-template-columns:230px minmax(0,1fr);gap:34px;align-items:center;height:100%;padding:32px 36px;background:var(--navy);border:0}
.about-unicsa-mark{display:flex;align-items:center;justify-content:center;min-height:116px;padding:20px;border-right:1px solid rgba(255,255,255,.18)}
.about-unicsa-mark img{display:block;max-width:210px;max-height:92px;width:100%;height:auto}
.about-patronage h3{margin:0 0 10px;color:#fff;font-size:24px}
.about-patronage p{color:rgba(255,255,255,.72);font-size:13.5px;line-height:1.65}

/* FAQ breve: obiezioni rilevanti senza trasformare la home in manuale. */
.faq-home{background:#fff}
.faq-home-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:70px;align-items:start}
.faq-home-intro .btn{margin-top:18px}
.faq-home-list{border-top:1px solid var(--line)}
.faq-home-list details{border-bottom:1px solid var(--line);padding:0}
.faq-home-list summary{list-style:none;cursor:pointer;padding:22px 42px 22px 0;color:var(--navy);font-weight:800;font-size:15px;position:relative}
.faq-home-list summary::-webkit-details-marker{display:none}
.faq-home-list summary:after{content:"+";position:absolute;right:8px;top:17px;color:var(--ochre);font-size:24px;font-weight:500}
.faq-home-list details[open] summary:after{content:"−"}
.faq-home-list details p{margin:0;padding:0 42px 22px 0;color:#5a6671;font-size:13.5px;line-height:1.7}

/* Blocchi aggiuntivi controllati dal CMS. */
.custom-section{background:#fff}
.custom-section:nth-of-type(even){background:var(--paper)}
.custom-section .custom-inner{max-width:920px}
.custom-section.custom-quote blockquote{font-family:var(--font-serif);font-size:clamp(24px,3.2vw,38px);line-height:1.35}
.custom-section.custom-cta .custom-inner{background:var(--navy);color:#fff;padding:48px}
.custom-section.custom-cta h2{color:#fff}
.custom-section.custom-cta p{color:rgba(255,255,255,.75)}
.custom-section .custom-actions{margin-top:24px}

@media screen and (max-width:980px){
  .meaning-grid,.about-grid,.faq-home-grid{grid-template-columns:1fr;gap:38px}
  .about-head{grid-template-columns:1fr;gap:22px;text-align:left;margin-left:0}
  .about-head>p{max-width:720px}
  .about-grid{grid-template-columns:1fr 1fr;gap:20px}
  .about-profile{grid-template-rows:250px 1fr}
  .about-person-media,.about-emiliano-media{height:250px}
  .about-conclusion{grid-template-columns:1fr}
}
@media screen and (max-width:640px){
  .meaning-cards article{padding:24px 22px}
  .about-head{margin-bottom:34px}
  .about-head>p{padding-left:18px}
  .about-grid{grid-template-columns:1fr;gap:22px}
  .about-profile{grid-template-rows:245px 1fr}
  .about-person-media,.about-emiliano-media{height:245px}
  .about-profile-body{padding:28px 24px 30px}
  .about-profile-body:before{left:24px}
  .about-principle{text-align:left;padding:28px 24px}
  .about-patronage{grid-template-columns:1fr;padding:28px 24px;gap:22px}
  .about-unicsa-mark{min-height:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.18);padding:6px 0 24px;justify-content:flex-start}
  .about-unicsa-mark img{max-width:190px}
  .faq-home-list summary{padding-right:34px}
  .custom-section.custom-cta .custom-inner{padding:30px 24px}
}

.social-gradient-defs{position:absolute}
.costac-panel .eyebrow{color:var(--ochre-2)}



[hidden]{display:none!important}
.showcase-video-stage{width:100%;padding:24px;background:rgba(7,26,47,.65);border:1px solid rgba(255,255,255,.2)}
.showcase-video-stage h2{font-size:30px;line-height:1.2;margin:0 0 22px;color:white}
.showcase-video-stage p{font-size:15px;color:rgba(255,255,255,.85);margin-bottom:0}
.showcase-dots button:hover{border-color:var(--ochre);background:rgba(227,171,53,.14)}
.showcase-dots button:focus-visible,.showcase-video-overlay:focus-visible{outline:3px solid var(--ochre);outline-offset:3px}
#showcasePause{margin-left:auto}
section[id]{scroll-margin-top:140px}
@media screen and (min-width:1181px){
 .nav-wrap{flex-wrap:wrap;gap:12px 24px;padding-top:16px}
 .main-nav{position:static;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;gap:26px;width:100%;order:10;background:none;box-shadow:none;border:0;padding:0 0 14px;font-size:12px}
 .main-nav a{padding:0}
 .menu-toggle,.nav-section-label{display:none}
 .social-links{height:auto}
}
@media screen and (max-width:1180px){.hero{padding-top:122px}}
@media screen and (max-width:980px){.hero-content{gap:36px;align-items:start}.hero-copy{max-width:none!important}.hero{padding-bottom:48px}.hero-events .event-card{padding:18px}.event-card-2{padding:18px}}
@media screen and (max-width:640px){.event-copy{grid-template-columns:1fr}.hero{padding-top:116px}.hero-content{gap:30px}.showcase-dots button{padding:9px 12px}.showcase-video-stage{padding:18px}.outcome-cards{grid-template-columns:1fr}section[id]{scroll-margin-top:92px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.showcase-slide,.reveal{transition:none}.reveal{opacity:1;transform:none}}
.cms-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px;margin-top:28px}
.cms-photo-grid figure{margin:0;min-width:0}
.cms-photo-crop{aspect-ratio:4/3;overflow:hidden;background:var(--navy)}
.cms-photo-crop img{width:100%;height:100%;object-fit:cover;display:block}
.cms-photo-grid figcaption{padding-top:10px;font-size:14px;line-height:1.5}
