:root {
  --navy: #071a2f;
  --navy-2: #0d2945;
  --petrol: #123d57;
  --ochre: #e3ab35;
  --ochre-2: #f0bf50;
  --red: #b23a2e;
  --green: #2f7a4d;
  --ink: #111820;
  --muted: #65717d;
  --paper: #f5f3ee;
  --white: #ffffff;
  --line: rgba(7,26,47,.13);
  --radius: 2px;
  --shadow: 0 24px 70px rgba(4,18,35,.16);
}

* { 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:rgba(7,26,47,.86); backdrop-filter:blur(14px); border-bottom:1px solid rgba(255,255,255,.08); 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 (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. */
.menu-toggle::after { content:''; position:absolute; left:-40px; right:-40px; top:100%; height:28px; }
.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; }
.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; }
/* 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); }
@media(max-width:1180px){ .promoter-mark span{display:none} .promoter-mark{padding-left:12px} .promoter-mark img{width:105px} }
@media(max-width:980px){ .promoter-mark{margin-left:auto;margin-right:8px} .promoter-mark img{width:90px} }
@media(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:880px; color:white; background:var(--navy); position:relative; overflow:hidden; padding:104px 0 72px; }
.hero-media { position:absolute; inset:0; background-image:linear-gradient(90deg, rgba(7,26,47,.96) 0%, rgba(7,26,47,.91) 40%, rgba(7,26,47,.48) 69%, rgba(7,26,47,.58) 100%), 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(.75) contrast(1.03); }
.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:1.16fr .84fr; gap:62px; align-items:start; }
.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.8vw,62px); line-height:1.03; letter-spacing:-.04em; margin:0 0 24px; max-width:780px; }
.hero h1 span { color:var(--ochre-2); }
.hero-lead { font-size:16px; max-width:700px; color:rgba(255,255,255,.82); margin:0 0 32px; }
.hero-actions { display:flex; gap:14px; 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; }
.hero-note { margin-top:17px; color:rgba(255,255,255,.56); font-size:12px; }
.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; }
.showcase-slide { grid-row:1; grid-column:1; opacity:0; visibility:hidden; pointer-events:none; transform:scale(.97); transition:opacity .45s ease, transform .45s ease, visibility 0s linear .45s; display:flex; align-items:flex-start; justify-content:center; }
.showcase-slide.is-active { opacity:1; visibility:visible; pointer-events:auto; transform:scale(1); transition:opacity .45s ease, transform .45s ease, visibility 0s linear 0s; }
.showcase-slide[data-showcase="0"] { display:block; }
.showcase-video-frame { position:relative; width:100%; max-width:var(--showcase-video-width, 1040px); aspect-ratio:16/9; border-radius:6px; overflow:hidden; background:#000; box-shadow:var(--shadow); }
.showcase-video-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; pointer-events:none; }
.showcase-video-overlay { position:absolute; inset:0; width:100%; height:100%; border:0; padding:0; background:rgba(7,26,47,.1); display:flex; align-items:center; justify-content:center; cursor:pointer; }
.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; justify-self:center; display:flex; gap:7px; }
.showcase-dots button { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.28); border:0; padding:0; cursor:pointer; }
.showcase-dots button.is-active { background:var(--ochre); }
.hero-events { display:grid; gap:13px; }
.event-card { position:relative; background:rgba(255,255,255,.94); color:var(--ink); padding:20px; display:grid; grid-template-columns:64px 1fr; gap:16px; box-shadow:var(--shadow); border-left:4px solid var(--red); }
.event-card-main { transform:translateX(-32px); }
.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:9px; font-weight:800; color:var(--muted); line-height:1.1; margin-top:4px; }
.event-kicker { font-size:8px; color:var(--petrol); letter-spacing:.14em; font-weight:800; }
.event-card h2 { font-size:14px; line-height:1.2; margin:5px 0 6px; color:var(--navy); }
.event-card p { margin:0; font-size:10px; color:#5c6670; line-height:1.55; min-height:4.65em; }
.hero-angle { position:absolute; left:-5%; right:-5%; bottom:-70px; height:130px; background:white; transform:rotate(-2deg); transform-origin:center; }

.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; }
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 { min-height:190px; background:white; padding:26px; 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(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; align-items:center; }
.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%; }
.blueprint-card { position:absolute; right:-40px; bottom:10px; width:270px; 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-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; }
.cmr-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(3,1fr); gap:14px; }
.outcome-cards article { background:white; padding:30px; min-height:210px; border-bottom:4px 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 (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 CMR, 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 (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 (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; }
  .event-card-main, .event-card-2 { transform:none; }
  .blueprint-card { right:0; }
  .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 (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:64px 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:390px; }
  .blueprint-card { width:220px; bottom:0; }
  .salotto { padding:0; min-height:auto; }
  .salotto-card { padding:30px 24px; margin-top:210px; }
  .fit-card { padding:32px 24px; gap:30px; }
  .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:var(--navy); background:transparent; }
.btn-outline:hover { background:var(--navy); 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; }
body.flipbook-open { overflow:hidden; }

@media (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 (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}
@media(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 */
.event-card{padding-top:30px}
.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}
.event-card-2{border-left-color:var(--ochre);transform:translateX(-16px)}
.event-card-3{border-left-color:var(--green);background:rgba(255,255,255,.97)}
.event-card-3 .event-kicker{color:var(--green)}
.masterclass{background:#f5f3ee;overflow:hidden}
.masterclass-grid{display:grid;grid-template-columns:.42fr 1.58fr;gap:70px;align-items:center}
.masterclass-date-panel{min-height:360px;background:var(--navy);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:48px;position:relative;box-shadow:var(--shadow);border-top:6px 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:110px;line-height:.82;letter-spacing:-.07em;color:#fff}
.masterclass-date-panel>span:not(.save-the-date-badge){font-size:20px;font-weight:900;letter-spacing:.13em;line-height:1.05;color:var(--ochre-2);margin-top:18px}
.masterclass-date-panel>small{margin-top:30px;font-size:10px;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}
.final-event-flow span{color:var(--ochre-2);font-weight:900}
.final-event-flow b{color:rgba(255,255,255,.4);padding:0 5px}
.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(max-width:980px){.masterclass-grid,.costac-grid{grid-template-columns:1fr;gap:32px}.masterclass-date-panel{min-height:260px}.masterclass-date-panel>strong{font-size:86px}.costac-panel{order:2}}
@media(max-width:640px){.save-the-date-badge{right:10px;top:9px;font-size:7px}.masterclass-date-panel{padding:34px 28px;min-height:230px}.masterclass-date-panel>strong{font-size:76px}.masterclass-copy .large{font-size:18px}.final-event-flow{line-height:1.7}.costac-copy .large{font-size:18px}}
