:root {
 --canvas:#FAFAF4; --surface:#FFFFFF; --surface-2:#EDF3E8; --border:#D6E4D6; --border-strong:#97B59B;
 --ink:#213B2D; --muted:#516757; --accent:#336B49; --accent-hover:#275438; --accent-ink:#FFFFFF;
 --accent-text:#2D6544; --accent-soft:#E5F2E3; --accent-strong:#245635; --accent-border:#A7C9AC;
 --success:#247343; --success-ink:#FFFFFF; --success-soft:#E0F3E5; --success-strong:#246841;
 --warning:#97520D; --warning-ink:#FFFFFF; --warning-soft:#FFF0D6; --warning-strong:#85500E;
 --danger:#AD3939; --danger-ink:#FFFFFF; --danger-soft:#FCE8E6; --danger-strong:#972D2D;
 --chart-1:#336B49; --chart-2:#78975D; --chart-3:#B68B54; --chart-4:#766A99; --chart-5:#507D86; --chart-6:#C1775E;
 --font-display:"Cormorant Garamond", Georgia, serif; --font-body:"DM Sans", sans-serif; --font-sans:"DM Sans", sans-serif;
 --font-mono:ui-monospace, SFMono-Regular, monospace; --display-weight:600; --display-tracking:-0.035em; --eyebrow-tracking:0.16em;
 --radius-btn:999px; --radius-card:24px; --radius-input:12px; --border-w:1px; --border-strong-w:1px;
 --card-pad:1.5rem; --btn-weight:700; --shadow-card:0 16px 50px -35px rgba(0,0,0,.17);
 --shadow-raised:0 18px 65px -25px rgba(0,0,0,.28); --shadow-btn:0 5px 15px -9px rgba(0,0,0,.15);
 --x-pine:#1B3D2D; --x-pine-ink:#FAF9F0; --x-gold:#E6CE89; --x-peach:#F0DDD0; --x-cream:#F6F1E8;
}
html[data-theme="dark"] {
 --canvas:#14291F; --surface:#1B3327; --surface-2:#264331; --border:#3A5944; --border-strong:#73927A;
 --ink:#F4F6EE; --muted:#BBCDBD; --accent:#C1E5A7; --accent-hover:#D2EDBA; --accent-ink:#1D392A;
 --accent-text:#CCECAF; --accent-soft:#2C4B37; --accent-strong:#E1F4CD; --accent-border:#668870;
 --success:#91DBA0; --success-ink:#173522; --success-soft:#244B31; --success-strong:#B3E9BA;
 --warning:#E3B976; --warning-ink:#392411; --warning-soft:#513B23; --warning-strong:#F2CC8A;
 --danger:#F0A4A4; --danger-ink:#462020; --danger-soft:#512C2C; --danger-strong:#F7B3B3;
 --chart-1:#C1E5A7; --chart-2:#A6BC81; --chart-3:#E3B976; --chart-4:#B9ABD9; --chart-5:#84C0C2; --chart-6:#F3A188;
 --font-display:"Cormorant Garamond", Georgia, serif; --font-body:"DM Sans", sans-serif; --font-sans:"DM Sans", sans-serif;
 --font-mono:ui-monospace, SFMono-Regular, monospace; --display-weight:600; --display-tracking:-0.035em; --eyebrow-tracking:0.16em;
 --radius-btn:999px; --radius-card:24px; --radius-input:12px; --border-w:1px; --border-strong-w:1px;
 --card-pad:1.5rem; --btn-weight:700; --shadow-card:0 16px 50px -35px rgba(0,0,0,.55);
 --shadow-raised:0 18px 65px -25px rgba(0,0,0,.55); --shadow-btn:0 5px 15px -9px rgba(0,0,0,.35);
 --x-pine:#0F2118; --x-pine-ink:#F7F8EC; --x-gold:#E6CE89; --x-peach:#3E3C31; --x-cream:#203C2D;
}

/* The Positivity Reset — bespoke editorial webinar design */
html { scroll-behavior:smooth; }
body { font-family:var(--font-body); background:var(--canvas); color:var(--ink); }
a { text-decoration:none; }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible { outline:3px solid var(--accent-text); outline-offset:4px; }
.page-shell { max-width:1240px; padding-inline:clamp(20px,4vw,56px); margin-inline:auto; }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:25px; }
.brand { display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:-.035em; font-size:19px; color:var(--ink); }
.brand-mark { width:37px; height:37px; border-radius:50%; background:var(--accent-soft); display:grid; place-items:center; color:var(--accent-strong); font-size:23px; }
.nav-right { display:flex; align-items:center; gap:28px; font-size:13px; font-weight:650; }
.nav-right a:not(.cta) { color:var(--muted); }
.nav-right a:hover { color:var(--accent-text); }
.cta { display:inline-flex; align-items:center; justify-content:center; gap:11px; padding:15px 26px; background:var(--accent); color:var(--accent-ink); border-radius:999px; font-size:14px; font-weight:800; border:1px solid var(--accent); transition:transform .2s ease, background .2s ease; }
.cta:hover { background:var(--accent-hover); border-color:var(--accent-hover); transform:translateY(-2px); color:var(--accent-ink); }
.cta .arr { font-size:19px; line-height:1; }
.cta-outline { background:transparent; color:var(--accent-text); border-color:var(--accent-border); }
.cta-outline:hover { background:var(--accent-soft); color:var(--accent-strong); border-color:var(--accent-border); }
.hero { position:relative; overflow:hidden; background:radial-gradient(circle at 76% 22%, var(--x-cream) 0,transparent 47%),var(--canvas); }
.hero-grid { display:grid; grid-template-columns:1.06fr .94fr; align-items:center; gap:5%; min-height:670px; padding-block:65px 86px; }
.eyebrow { text-transform:uppercase; font-size:11px; letter-spacing:.19em; font-weight:800; color:var(--accent-text); }
.eyebrow .tiny { display:inline-block; height:8px; width:8px; background:var(--accent); border-radius:50%; vertical-align:middle; margin-right:9px; }
.hero h1 { font-family:var(--font-display); font-weight:600; font-size:clamp(70px,8.25vw,127px); line-height:.79; letter-spacing:-.065em; margin:26px 0 31px; max-width:720px; }
.hero h1 em { font-weight:500; color:var(--accent-text); }
.hero-lead { max-width:480px; font-size:17px; line-height:1.85; color:var(--muted); margin:0 0 34px; }
.hero-actions { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.hero-secondary { color:var(--ink); font-size:13px; font-weight:750; border-bottom:1px solid var(--border-strong); padding-bottom:5px; }
.hero-note { font-size:12px; color:var(--muted); margin-top:18px; }
.hero-visual { position:relative; padding:26px 22px 31px; }
.hero-visual::before { content:""; position:absolute; inset:4% 1% 2% 12%; border:1px solid var(--accent-border); border-radius:49% 49% 13px 13px; transform:rotate(5deg); }
.hero-photo { position:relative; overflow:hidden; border-radius:48% 48% 12px 12px; height:510px; box-shadow:0 35px 60px -35px rgba(0,0,0,.25); background:var(--surface-2); }
.hero-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.photo-caption { display:flex; align-items:center; justify-content:space-between; font-size:10px; letter-spacing:.14em; text-transform:uppercase; margin-top:17px; color:var(--muted); }
.hero-sticker { position:absolute; top:13%; right:-5%; width:122px; height:122px; border-radius:50%; background:var(--x-gold); color:var(--x-pine); display:flex; align-items:center; justify-content:center; text-align:center; font-size:12px; font-weight:850; line-height:1.4; transform:rotate(13deg); box-shadow:0 12px 30px -17px rgba(0,0,0,.35); }
.hero-sticker span { display:block; font-size:23px; margin-bottom:5px; }
.info-strip { border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.info-inner { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding-block:24px; }
.info-item { display:flex; align-items:center; gap:14px; padding-inline:20px; border-right:1px solid var(--border); }
.info-item:first-child { padding-left:0; }
.info-item:last-child { border:0; }
.info-symbol { font-size:23px; color:var(--accent-text); }
.info-label { display:block; font-size:10px; letter-spacing:.12em; text-transform:uppercase; font-weight:800; color:var(--muted); margin-bottom:3px; }
.info-value { font-size:14px; font-weight:750; }
.section { padding-block:112px; }
.section-title { font:600 clamp(49px,6vw,82px)/.94 var(--font-display); letter-spacing:-.045em; margin:13px 0 24px; }
.section-title em { color:var(--accent-text); font-weight:500; }
.intro-layout { display:grid; grid-template-columns:.9fr 1.1fr; align-items:end; gap:13%; margin-bottom:54px; }
.intro-copy { font-size:16px; line-height:1.85; color:var(--muted); max-width:480px; margin:0 0 9px; }
.benefits-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.benefit { padding:38px 29px 35px; border:1px solid var(--border); border-radius:16px; background:var(--surface); min-height:270px; }
.benefit-no { font-family:var(--font-display); font-size:29px; font-style:italic; color:var(--accent-text); }
.benefit h3 { font-family:var(--font-display); font-size:31px; line-height:1.04; margin:38px 0 15px; letter-spacing:-.025em; }
.benefit p { font-size:14px; color:var(--muted); line-height:1.75; margin:0; }
.benefit:nth-child(2) { background:var(--accent-soft); }
.benefit:nth-child(3) { background:var(--x-cream); }
.statement { background:var(--x-pine); color:var(--x-pine-ink); padding-block:110px; position:relative; overflow:hidden; }
.statement::after { content:"✳"; font-family:var(--font-display); position:absolute; font-size:360px; line-height:1; right:-25px; top:10px; color:var(--x-gold); opacity:.13; }
.statement-inner { max-width:1040px; position:relative; z-index:1; }
.statement .eyebrow { color:var(--x-gold); }
.statement h2 { font:500 clamp(50px,7vw,96px)/.97 var(--font-display); letter-spacing:-.04em; margin:22px 0 22px; }
.statement h2 em { color:var(--x-gold); }
.statement p { font-size:16px; line-height:1.85; max-width:590px; opacity:.82; }
.journey { background:var(--surface-2); padding-block:112px; }
.journey-intro { max-width:650px; margin-bottom:48px; }
.step-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.step { border-top:1px solid var(--border-strong); padding-top:22px; }
.step-symbol { width:65px; height:65px; border-radius:50%; display:grid; place-items:center; font:italic 40px var(--font-display); background:var(--surface); border:1px solid var(--border); color:var(--accent-text); }
.step h3 { font:600 37px/1 var(--font-display); margin:28px 0 13px; }
.step p { color:var(--muted); line-height:1.75; font-size:14px; max-width:330px; margin:0; }
.register { padding-block:120px; }
.register-grid { display:grid; grid-template-columns:1fr .92fr; gap:11%; align-items:center; }
.register-copy { max-width:540px; }
.register-copy .section-title { font-size:clamp(60px,7vw,104px); margin-bottom:20px; }
.register-copy p { font-size:16px; line-height:1.9; color:var(--muted); }
.register-details { margin-top:36px; display:grid; gap:13px; font-size:14px; color:var(--ink); }
.register-details div { display:flex; align-items:center; gap:11px; }
.checkmark { width:21px; height:21px; background:var(--accent-soft); border-radius:50%; color:var(--accent-strong); display:grid; place-items:center; font-weight:800; }
.form-panel { border:1px solid var(--border); background:var(--surface); border-radius:24px; padding:44px; box-shadow:var(--shadow-card); }
.form-panel h3 { font:600 42px/.95 var(--font-display); margin:0 0 8px; }
.form-panel .sub { color:var(--muted); font-size:13px; line-height:1.7; margin:0 0 30px; }
.webinar-form { display:grid; gap:19px; }
.form-field { display:grid; gap:8px; }
.form-field label { font-size:12px; font-weight:800; color:var(--ink); }
.form-field input, .form-field textarea { width:100%; background:var(--canvas); border:1px solid var(--border-strong); border-radius:10px; padding:14px 16px; font:14px var(--font-body); color:var(--ink); transition:border-color .2s; }
.form-field textarea { min-height:96px; resize:vertical; }
.form-field input:focus, .form-field textarea:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.form-consent { display:flex; align-items:start; gap:11px; font-size:12px; color:var(--muted); line-height:1.65; }
.form-consent input { flex:none; margin-top:4px; accent-color:var(--accent); }
.form-panel .cta { width:100%; cursor:pointer; }
.form-panel .privacy-note { color:var(--muted); font-size:11px; text-align:center; margin:14px 0 0; }
.form-feedback { margin-bottom:19px; padding:15px; border-radius:10px; background:var(--danger-soft); color:var(--danger-strong); font-size:13px; line-height:1.5; }
.form-feedback.ok { background:var(--success-soft); color:var(--success-strong); padding:26px; margin:0; }
.form-feedback.ok strong { display:block; font:600 33px var(--font-display); margin-bottom:10px; }
.faq-section { border-top:1px solid var(--border); padding-block:93px 110px; }
.faq-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:10%; }
.faq-list { border-top:1px solid var(--border); }
.faq-list details { border-bottom:1px solid var(--border); padding-block:23px; }
.faq-list summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:20px; font-weight:750; font-size:15px; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+"; font-size:23px; line-height:1; color:var(--accent-text); }
.faq-list details[open] summary::after { content:"−"; }
.faq-list p { font-size:14px; color:var(--muted); line-height:1.85; margin:16px 30px 0 0; max-width:550px; }
.footer { border-top:1px solid var(--border); padding-block:29px; }
.footer-inner { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.footer p { font-size:12px; color:var(--muted); margin:0; }
@media (max-width:1050px) {
 .hero-grid { min-height:610px; gap:3%; }
 .hero h1 { font-size:clamp(65px,8.5vw,91px); }
 .hero-photo { height:440px; }
 .hero-sticker { right:-1%; width:100px; height:100px; font-size:10px; }
 .register-grid { gap:5%; }
 .form-panel { padding:30px; }
}
@media (max-width:760px) {
 .topbar { padding-block:18px; }
 .nav-right { gap:10px; }
 .nav-right .nav-link { display:none; }
 .nav-right .cta { padding:11px 17px; font-size:12px; }
 .hero-grid, .intro-layout, .register-grid, .faq-grid { grid-template-columns:1fr; }
 .hero-grid { padding-block:45px 60px; gap:42px; }
 .hero h1 { font-size:clamp(65px,13vw,100px); margin:23px 0; }
 .hero-lead { font-size:15px; }
 .hero-visual { max-width:580px; margin-inline:auto; width:100%; padding:12px 10px 15px; }
 .hero-photo { height:390px; }
 .hero-sticker { right:-1%; top:9%; }
 .info-inner { grid-template-columns:1fr; gap:0; padding-block:6px; }
 .info-item { border-right:0; border-bottom:1px solid var(--border); padding:16px 0; }
 .info-item:last-child { border-bottom:0; }
 .section, .journey, .register, .statement { padding-block:76px; }
 .intro-layout { gap:12px; margin-bottom:30px; }
 .benefits-grid, .step-grid { grid-template-columns:1fr; gap:12px; }
 .benefit { min-height:0; padding:29px; }
 .benefit h3 { margin-top:22px; }
 .statement h2 { font-size:clamp(53px,10vw,76px); }
 .statement::after { right:-130px; font-size:280px; }
 .step-grid { gap:28px; }
 .step { padding-top:20px; }
 .register-grid { gap:38px; }
 .register-copy .section-title { font-size:clamp(65px,11vw,90px); }
 .faq-grid { gap:24px; }
 .faq-section { padding-block:70px; }
 .footer-inner { align-items:start; flex-direction:column; }
}
@media (max-width:430px) {
 .brand { font-size:16px; }
 .brand-mark { width:31px; height:31px; }
 .hero h1 { font-size:65px; }
 .hero-photo { height:315px; }
 .hero-visual { padding-right:8px; }
 .hero-actions { align-items:flex-start; gap:18px; flex-direction:column; }
 .form-panel { padding:25px 21px; }
 .form-panel h3 { font-size:38px; }
 .hero-sticker { width:87px; height:87px; }
}
@media (prefers-reduced-motion: reduce) { html {scroll-behavior:auto;} .cta { transition:none;} }
