/* Layout: white page, one red accent; hero (text + single visual) → about → program → speakers → final CTA; form opens in a dialog */
#es-forum{
  --bg:#ffffff; --surface:#f7f4f4; --fg:#1a1212; --muted:#6b5c5d; --line:#ece4e4;
  --red:#d7192a; --red-dark:#b3101f; --red-soft:#fdecee; --on-red:#ffffff;
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --wrap:1120px; --r:14px; color-scheme:light;
}

#es-forum *{box-sizing:border-box}
#es-forum{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:17px;line-height:1.6;letter-spacing:normal;-webkit-font-smoothing:antialiased}
#es-forum h1,#es-forum h2,#es-forum h3{margin:0;font-weight:800;line-height:1.12;text-wrap:balance;letter-spacing:-.02em}
#es-forum p{margin:0}
#es-forum .wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
#es-forum .forum-main > section{padding-top:72px!important;padding-bottom:72px!important}
#es-forum .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
#es-forum .eyebrow::before{content:"";width:4px;height:18px;background:var(--red);border-radius:2px}
#es-forum .h2{font-size:clamp(28px,4vw,40px)}
#es-forum .lead{color:var(--muted);font-size:18px;max-width:62ch}

/* buttons */
#es-forum .btn{appearance:none;border:0;cursor:pointer;font:inherit;font-weight:700;font-size:16px;
  display:inline-flex;align-items:center;gap:10px;padding:16px 28px;border-radius:999px;
  background:var(--red);color:var(--on-red);transition:background .2s,transform .2s}
#es-forum .btn:hover{background:var(--red-dark)}
#es-forum .btn:active{transform:translateY(1px)}
#es-forum .btn:focus-visible,#es-forum .input:focus-visible,#es-forum .choice input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--red) 45%,transparent);outline-offset:2px}
#es-forum .btn svg{width:18px;height:18px}

/* top bar */
#es-forum .top{border-bottom:1px solid var(--line)}
#es-forum .top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:18px}
#es-forum .orgs{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-weight:800;font-size:15px;letter-spacing:.02em}
#es-forum .orgs i{font-style:normal;color:var(--red);font-weight:500}
#es-forum .top a{color:var(--fg);font-weight:600;font-size:15px;text-decoration:none;border-bottom:2px solid var(--red)}

/* hero */
#es-forum .forum-main > section.hero{padding-top:56px!important}
#es-forum .hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
#es-forum .hero-text{display:grid;gap:24px;min-width:0}
#es-forum .hero h1{font-size:clamp(36px,5.6vw,64px)}
#es-forum .hero h1 em{font-style:normal;color:var(--red)}
#es-forum .tagline{font-size:20px;color:var(--muted);font-weight:500}
#es-forum .facts{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0;list-style:none}
#es-forum .facts li{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--line);border-radius:999px;font-weight:600;font-size:15px}
#es-forum .facts svg{width:18px;height:18px;color:var(--red);flex:none}
#es-forum .hero-cta{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
#es-forum .hero-cta small{color:var(--muted);font-size:14px}
#es-forum .visual{margin:0;border-radius:24px;overflow:hidden;aspect-ratio:580/410;max-width:100%;background:#2a0c12}
#es-forum .visual img{width:100%;height:100%;object-fit:cover;display:block}

/* about */
#es-forum .about{background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#es-forum .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
#es-forum .about-grid>div{display:grid;gap:18px;min-width:0}
#es-forum .question{font-size:clamp(22px,2.6vw,28px);font-weight:700;line-height:1.3;letter-spacing:-.01em}
#es-forum .question span{color:var(--red)}
#es-forum .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:48px;border-top:1px solid var(--line)}
#es-forum .stat{padding:24px 20px 0 0;display:grid;gap:4px}
#es-forum .stat b{font-size:40px;font-weight:800;color:var(--red);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
#es-forum .stat span{color:var(--muted);font-size:15px;line-height:1.4}
#es-forum .audience{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}
#es-forum .audience li{padding:8px 14px;border-radius:8px;background:var(--red-soft);border:1px solid var(--line);font-size:15px;font-weight:500}

/* program */
#es-forum .prog-head{display:grid;gap:16px;margin-bottom:40px}
#es-forum .program{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
#es-forum .program li{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
#es-forum .program time{font-weight:700;font-variant-numeric:tabular-nums;color:var(--muted);font-size:16px;padding-top:2px}
#es-forum .program .item{display:grid;gap:6px;min-width:0}
#es-forum .program h3{font-size:19px;font-weight:700;letter-spacing:-.01em}
#es-forum .program p{color:var(--muted);font-size:16px}
#es-forum .program .panel time{color:var(--red)}
#es-forum .tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red);background:var(--red-soft);padding:3px 10px;border-radius:6px;justify-self:start}

/* speakers */
#es-forum .forum-main > section.speakers{padding-top:0!important}
#es-forum .sp-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
#es-forum .sp-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
#es-forum .sp-list li{display:flex;gap:14px;align-items:flex-start;font-size:17px}
#es-forum .sp-list li::before{content:"";flex:none;width:8px;height:8px;margin-top:10px;border-radius:50%;background:var(--red)}

/* final CTA */
#es-forum .final{background:var(--red);color:var(--on-red)}
#es-forum .final .wrap{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}
#es-forum .final h2{font-size:clamp(28px,4vw,42px)}
#es-forum .final p{opacity:.9;margin-top:12px;font-size:18px}
#es-forum .final .btn{background:#ffffff;color:#b3101f;padding:18px 34px;font-size:17px}
#es-forum .final .btn:hover{background:#fbe3e5}
#es-forum .final .btn:focus-visible{outline-color:#ffffff}
#es-forum footer .wrap{padding-block:28px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:14px}

/* dialog + form */
#es-forum dialog{border:0;padding:0;border-radius:20px;width:min(640px,calc(100vw - 24px));max-height:calc(100dvh - 24px);background:var(--bg);color:var(--fg);box-shadow:0 30px 80px rgba(0,0,0,.35)}
#es-forum #reg[open]{position:fixed!important;inset:0!important;margin:auto!important;overflow:auto}
#es-forum dialog::backdrop{background:rgba(20,8,10,.6)}
#es-forum .dlg{position:relative;padding:36px 36px 32px;display:grid;gap:24px}
#es-forum .close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:0;background:var(--surface);color:var(--fg);cursor:pointer;display:grid;place-items:center}
#es-forum .close svg{width:18px;height:18px}
#es-forum .dlg h2{font-size:26px;padding-right:40px}
#es-forum .dlg .intro{display:grid;gap:8px;color:var(--muted);font-size:15px}
#es-forum .dlg .intro strong{color:var(--fg);font-weight:600}
#es-forum form{display:grid;gap:18px}
#es-forum .field{display:grid;gap:6px}
#es-forum .field>label,#es-forum .legend{font-size:14px;font-weight:600}
#es-forum .req{color:var(--red)}
#es-forum .input{width:100%;font:inherit;font-size:16px;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--fg)}
#es-forum .input:hover{border-color:color-mix(in srgb,var(--muted) 50%,var(--line))}
#es-forum .phone{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:10px;overflow:hidden}
#es-forum .phone span{display:grid;place-items:center;padding:0 14px;background:var(--surface);font-weight:600;border-right:1px solid var(--line)}
#es-forum .phone .input{border:0;border-radius:0}
#es-forum .two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
#es-forum fieldset{border:0;margin:0;padding:0;display:grid;gap:8px}
#es-forum .choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#es-forum .choice{position:relative;display:block;cursor:pointer}
#es-forum .choice input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
#es-forum .choice span{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;font-size:15px;line-height:1.3;height:100%}
#es-forum .choice span::before{content:"";flex:none;width:16px;height:16px;border-radius:50%;border:2px solid var(--line);transition:all .15s}
#es-forum .choice input:checked+span{border-color:var(--red);background:var(--red-soft)}
#es-forum .choice input:checked+span::before{border:5px solid var(--red)}
#es-forum .other{display:none}
#es-forum .other.show{display:block}
#es-forum .consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--muted);line-height:1.5;cursor:pointer}
#es-forum .consent input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--red);flex:none}
#es-forum .err{color:var(--red);font-size:13px;font-weight:500;display:none}
#es-forum .invalid .err{display:block}
#es-forum .invalid .input,#es-forum .invalid .phone{border-color:var(--red)}
#es-forum form .btn{justify-content:center;width:100%}
#es-forum .done{display:grid;gap:14px;text-align:center;justify-items:center;padding:24px 0 8px}
#es-forum .done .ok{width:64px;height:64px;border-radius:50%;background:var(--red-soft);color:var(--red);display:grid;place-items:center}
#es-forum .done .ok svg{width:30px;height:30px}
#es-forum .done p{color:var(--muted);max-width:42ch}

@media (max-width:880px){
#es-forum .hero .wrap,#es-forum .about-grid,#es-forum .sp-grid{grid-template-columns:1fr;gap:32px}
#es-forum .visual{order:-1}
#es-forum .stats{grid-template-columns:1fr 1fr;row-gap:8px}
#es-forum .final .wrap{grid-template-columns:1fr}
#es-forum .final .btn{justify-self:start}
}
@media (max-width:560px){
#es-forum .forum-main > section{padding-top:52px!important;padding-bottom:52px!important}
#es-forum .forum-main > section.hero{padding-top:28px!important}
#es-forum .program li{grid-template-columns:1fr;gap:6px}
#es-forum .two,#es-forum .choices{grid-template-columns:1fr}
#es-forum .dlg{padding:28px 20px 24px}
#es-forum .top a{display:none}
#es-forum .btn{width:100%;justify-content:center}
#es-forum .final .btn{justify-self:stretch}
}
@media (prefers-reduced-motion:reduce){#es-forum *{transition:none!important;scroll-behavior:auto!important}}

#es-forum #done-view[hidden],#es-forum [hidden]{display:none!important}
