/* =============================================================
   EcoWell · ASEAN Longevity Capital Economy Summit 2026
   Extracted from ecowell-summit-2026.html
   EPS Singapore colour palette · Outfit + Cormorant Garamond
   ============================================================= */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Outfit:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');

html, body{
    margin: 0px; padding: 0px; overflow-x: hidden;
}

/* ============================================================
   ROOT TOKENS
   ============================================================ */
.ecw-root *{margin:0;padding:0;box-sizing:border-box}
.ecw-root{
    scroll-padding-top:84px;
    --bg:#0a1628;
    --bg-2:#0f2040;
    --panel:#0f2040;
    --panel-2:#162d52;
    --gold:#c9a84c;
    --gold-soft:#e8c97a;
    --gold-deep:#8a6e2d;
    --emerald:#2a9090;
    --forest:#1a6b6b;
    --sage:#6a9090;
    --ivory:#ffffff;
    --ash:#8a9bb5;
    --mute:#4a5d7a;
    --line:rgba(201,168,76,0.16);
    --line-soft:rgba(255,255,255,0.06);
    --line-strong:rgba(201,168,76,0.35);
    --radius:16px;
    --radius-lg:22px;
    --ease:cubic-bezier(.16,.8,.27,1);
    --font-sans:'Outfit','Inter','Helvetica Neue',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
    --font-serif:'Cormorant Garamond','EB Garamond',Georgia,'Times New Roman',Times,serif;
    --font-mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;
    font-family:var(--font-sans);
    color:var(--ivory);
    background:var(--bg);
    line-height:1.65;
    font-weight:400;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    text-rendering:optimizeLegibility;
    font-feature-settings:"kern" 1,"liga" 1,"calt" 1;
    font-kerning:normal;
}
.ecw-root .wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.ecw-root .wrap-narrow{max-width:920px;margin:0 auto;padding:0 28px}
.ecw-root .serif{font-family:var(--font-serif)}
.ecw-root .mono{font-family:var(--font-mono);font-feature-settings:"tnum" 1}
.ecw-root h1,.ecw-root h2,.ecw-root h3,.ecw-root h4,.ecw-root h5{
    font-family:var(--font-serif);
    font-weight:600;
    line-height:1.12;
    letter-spacing:0;
    color:var(--ivory);
}
.ecw-root a{color:inherit;text-decoration:none}
.ecw-root img{max-width:100%;display:block}



/* ============================================================
   ANIMATIONS — SLOW · CALM · DELIBERATE
   ============================================================ */
@keyframes ecwUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes ecwGlow{0%,100%{opacity:.4}50%{opacity:.85}}
@keyframes ecwDrift{0%,100%{transform:translate(0,0)}50%{transform:translate(-18px,-22px)}}
@keyframes ecwShimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes ecwPulse{0%{box-shadow:0 0 0 0 rgba(201,168,76,.45)}70%{box-shadow:0 0 0 14px rgba(201,168,76,0)}100%{box-shadow:0 0 0 0 rgba(201,168,76,0)}}
.ecw-root .rv{opacity:0;animation:ecwUp 1.1s var(--ease) forwards}
.ecw-root .d1{animation-delay:.12s}.ecw-root .d2{animation-delay:.26s}.ecw-root .d3{animation-delay:.4s}
.ecw-root .d4{animation-delay:.54s}.ecw-root .d5{animation-delay:.68s}.ecw-root .d6{animation-delay:.82s}
@media (prefers-reduced-motion:reduce){
    .ecw-root *,.ecw-root *::before,.ecw-root *::after{animation:none!important;transition:none!important}
}

/* ============================================================
   ATOMS — RULES, EYEBROWS, BUTTONS, BADGES
   ============================================================ */
.ecw-root .rule{height:1px;width:60px;background:linear-gradient(90deg,var(--gold),transparent);margin-bottom:22px}
.ecw-root .eyebrow{font-family:var(--font-sans);font-size:12px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.ecw-root .badge{display:inline-flex;align-items:center;gap:8px;background:rgba(201,168,76,.08);border:1px solid var(--line);padding:6px 14px;border-radius:999px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft);font-weight:500}
.ecw-root .badge.emerald{background:rgba(26,107,107,.08);border-color:rgba(26,107,107,.25);color:var(--sage)}

.ecw-root .btn{padding:16px 34px;border-radius:2px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;cursor:pointer;transition:.45s var(--ease);border:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-sans);white-space:nowrap}
.ecw-root .btn-gold{background:linear-gradient(110deg,var(--gold),var(--gold-soft));color:#0a1628;box-shadow:0 14px 40px rgba(201,168,76,.22)}
.ecw-root .btn-gold:hover{transform:translateY(-3px);box-shadow:0 22px 56px rgba(201,168,76,.38)}
.ecw-root .btn-line{background:transparent;color:var(--ivory);border:1px solid rgba(255,255,255,.22)}
.ecw-root .btn-line:hover{border-color:var(--gold);color:var(--gold-soft);transform:translateY(-3px)}
.ecw-root .btn-emerald{background:linear-gradient(110deg,var(--forest),var(--emerald));color:var(--ivory);box-shadow:0 14px 40px rgba(27,94,74,.3)}
.ecw-root .btn-emerald:hover{transform:translateY(-3px);box-shadow:0 22px 56px rgba(26,107,107,.4)}
.ecw-root .btn-sm{padding:11px 22px;font-size:12px}
.ecw-root .btn-block{width:100%}

/* ============================================================
   NAV — STICKY · MOBILE-FIRST · GLASS WITH OPAQUE FALLBACK
   ============================================================ */
.ecw-root .nav{
    position:fixed;
    top:0px;
    left: 0px;
    width: 100%;
    z-index:80;
    background:rgba(10,22,40,.96);
    border-bottom:1px solid var(--line-soft);
    padding-top:env(safe-area-inset-top,0);
    padding-left:env(safe-area-inset-left,0);
    padding-right:env(safe-area-inset-right,0);
    transition:box-shadow .3s ease, background .3s ease;
}
.ecw-root .nav.scrolled{background:rgba(10,22,40,.99);box-shadow:0 8px 30px rgba(0,0,0,.35)}

.ecw-root .nav-in{
    display:flex;align-items:center;justify-content:space-between;
    height:78px;max-width:1180px;margin:0 auto;padding:0 28px;
}
.ecw-root .logo{font-family:var(--font-serif);font-weight:700;font-size:26px;letter-spacing:.06em;color:var(--ivory);display:flex;align-items:center;gap:10px;line-height:1}
.ecw-root .logo b{color:var(--gold);font-weight:700}
.ecw-root .logo .leaf{width:22px;height:22px;color:var(--gold);flex-shrink:0}
.ecw-root .nav-links{display:flex;gap:30px;align-items:center}
.ecw-root .nav-links a{color:var(--ash);font-size:14px;letter-spacing:.02em;transition:.3s;font-weight:400}
.ecw-root .nav-links a:hover{color:var(--gold-soft)}
.ecw-root .nav-cta{background:transparent;color:var(--gold)!important;padding:11px 22px;border:1px solid var(--gold);border-radius:2px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;transition:.35s}
.ecw-root .nav-cta:hover{background:var(--gold);color:var(--bg)!important}

.ecw-root .custom-logo-link img{
    max-width: 90px; height: auto;
}


/* Burger button — 44px touch target (Apple HIG) */
.ecw-root .nav-burger{
    display:none;background:transparent;border:1px solid var(--line-soft);
    width:44px;height:44px;border-radius:4px;cursor:pointer;color:var(--ivory);
    align-items:center;justify-content:center;transition:border-color .25s, color .25s;
    -webkit-tap-highlight-color:transparent;
}
.ecw-root .nav-burger:hover,.ecw-root .nav-burger:focus-visible{border-color:var(--gold);color:var(--gold-soft);outline:none}
.ecw-root .nav-burger svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.8;fill:none;transition:transform .3s var(--ease)}
.ecw-root .nav-burger .ico-close{display:none}
.ecw-root .nav-burger[aria-expanded="true"] .ico-open{display:none}
.ecw-root .nav-burger[aria-expanded="true"] .ico-close{display:block}

/* Drawer — full-screen overlay, animated, scroll-locked body */
.ecw-root .nav-drawer{
    position:fixed;left:0;right:0;
    top:calc(64px + env(safe-area-inset-top,0));
    bottom:0;
    background:rgba(10,22,40,.98);
    z-index:79;
    padding:24px 22px calc(28px + env(safe-area-inset-bottom,0));
    display:none;flex-direction:column;gap:4px;
    overflow-y:auto;-webkit-overflow-scrolling:touch;
}
.ecw-root .nav-drawer.open{display:flex;}
.ecw-root .nav-drawer a{
    padding:18px 4px;font-size:20px;color:var(--ivory);
    border-bottom:1px solid var(--line-soft);
    font-family:var(--font-serif);font-weight:500;
    display:flex;align-items:center;justify-content:space-between;
    min-height:44px;
    -webkit-tap-highlight-color:transparent;
}
.ecw-root .nav-drawer a::after{content:"\002192";color:var(--gold);font-family:var(--font-sans);font-size:18px;opacity:.55}
.ecw-root .nav-drawer a:active{color:var(--gold-soft)}
.ecw-root .nav-drawer .drawer-cta{
    margin-top:18px;background:linear-gradient(110deg,var(--gold),var(--gold-soft));color:#0a1628;
    padding:16px;border-radius:2px;text-align:center;justify-content:center;
    font-family:var(--font-sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
    border-bottom:none;
}
.ecw-root .nav-drawer .drawer-cta::after{content:""}
.ecw-root .nav-drawer .drawer-foot{
    margin-top:auto;padding-top:24px;font-size:12px;color:var(--mute);
    text-align:center;letter-spacing:.06em;line-height:1.7;
    font-family:var(--font-sans);
}
.ecw-root .nav-drawer .drawer-foot strong{color:var(--gold-soft);font-weight:500}

/* Lock body scroll when drawer is open */
.ecw-root.nav-open{overflow:hidden}
body.ecw-nav-open{overflow:hidden;position:fixed;width:100%}

/* Mobile breakpoint — lifted to 960px so iPad portrait gets the drawer */
@media(max-width:960px){
    .ecw-root .nav-links{display:none}
    .ecw-root .nav-burger{display:inline-flex}
    .ecw-root .nav-in{height:64px;padding:0 18px}
    .ecw-root .logo{font-size:22px}
    .ecw-root .logo .leaf{width:20px;height:20px}
    .ecw-root{scroll-padding-top:70px}
}
@media(max-width:380px){
    .ecw-root .nav-in{padding:0 14px}
    .ecw-root .logo{font-size:20px}
}

/* ============================================================
   HERO — EVENT FORWARD, COUNTDOWN, 4 CTAs
   ============================================================ */
.ecw-root .hero{position:relative;min-height:96vh;display:flex;align-items:center;padding:90px 0 70px;overflow:hidden;
    background:
        radial-gradient(ellipse 80% 60% at 72% 28%,rgba(26,107,107,.18),transparent 55%),
        radial-gradient(ellipse 60% 80% at 18% 82%,rgba(201,168,76,.08),transparent 50%),
        linear-gradient(135deg,#0a1628 0%,#0f2040 50%,#0a2a2a 100%)}
.ecw-root .hero-grain{position:absolute;inset:0;opacity:.04;z-index:0;pointer-events:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.ecw-root .hero-orb{position:absolute;width:520px;height:520px;right:-160px;top:8%;border-radius:50%;z-index:0;
    background:radial-gradient(circle,rgba(201,168,76,.18),transparent 62%);filter:blur(20px);animation:ecwDrift 18s ease-in-out infinite}
.ecw-root .hero-orb-2{position:absolute;width:420px;height:420px;left:-120px;bottom:8%;border-radius:50%;z-index:0;
    background:radial-gradient(circle,rgba(26,107,107,.14),transparent 62%);filter:blur(20px);animation:ecwDrift 22s ease-in-out infinite reverse}
.ecw-root .hero .wrap{position:relative;z-index:2}
.ecw-root .save-date{display:inline-flex;align-items:center;gap:12px;background:rgba(201,168,76,.08);border:1px solid var(--line);
    padding:10px 22px;border-radius:999px;font-size:13px;letter-spacing:.06em;color:var(--gold-soft);margin-bottom:30px}
.ecw-root .save-date .pulse{width:8px;height:8px;border-radius:50%;background:var(--gold);animation:ecwPulse 2.4s infinite}
.ecw-root .hero h1{font-size:clamp(42px,7.6vw,94px);font-weight:600;letter-spacing:-0.005em;margin-bottom:14px;word-spacing:.02em}
.ecw-root .hero h1 .gold{color:transparent;background:linear-gradient(110deg,var(--gold),var(--gold-soft),var(--gold));background-size:200% auto;-webkit-background-clip:text;background-clip:text;animation:ecwShimmer 8s linear infinite}
.ecw-root .hero .summit-sub{font-family:var(--font-serif);font-size:clamp(22px,3vw,34px);font-style:italic;color:var(--ash);margin-bottom:28px;font-weight:400}
.ecw-root .hero .lede{font-family:var(--font-sans);font-size:clamp(16px,1.7vw,19px);color:var(--ash);max-width:640px;margin-bottom:40px;font-weight:300}
.ecw-root .hero .lede b{color:var(--ivory);font-weight:500}
.ecw-root .btn-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:54px}
.ecw-root .btn-row .btn{padding:15px 28px;font-size:12px}

/* Countdown */
.ecw-root .countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:34px;max-width:580px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:rgba(255,255,255,.02)}
.ecw-root .cd-cell{padding:18px 12px;text-align:center;border-right:1px solid var(--line-soft)}
.ecw-root .cd-cell:last-child{border-right:none}
.ecw-root .cd-cell .cdn{font-family:var(--font-serif);font-size:38px;font-weight:600;color:var(--gold);line-height:1;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:.02em}
.ecw-root .cd-cell .cdl{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ash);margin-top:6px;font-family:var(--font-mono)}

/* Facts strip */
.ecw-root .facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.ecw-root .fact{padding:26px 22px;border-right:1px solid var(--line-soft)}
.ecw-root .fact:last-child{border-right:none}
.ecw-root .fact .n{font-family:var(--font-serif);font-size:38px;font-weight:600;color:var(--gold);line-height:1;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
.ecw-root .fact .l{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ash);margin-top:8px}
@media(max-width:760px){
    .ecw-root .facts{grid-template-columns:repeat(2,1fr)}
    .ecw-root .fact:nth-child(2){border-right:none}
    .ecw-root .countdown{grid-template-columns:repeat(4,1fr);max-width:none}
    .ecw-root .cd-cell .cdn{font-size:30px}
}

/* ============================================================
   SECTION SHELL
   ============================================================ */
.ecw-root section.block{padding:108px 0;position:relative}
.ecw-root .h-sec{font-size:clamp(32px,5vw,56px);max-width:780px;margin-bottom:20px}
.ecw-root .h-sec .it{font-style:italic;color:var(--gold-soft);font-weight:500}
.ecw-root .sub{font-family:var(--font-sans);font-size:17px;color:var(--ash);max-width:640px;margin-bottom:54px;font-weight:300}
@media(max-width:760px){.ecw-root section.block{padding:74px 0}}

/* ============================================================
   STAKEHOLDER AUDIENCE — 11 ELITE CARDS
   ============================================================ */
.ecw-root .audience{background:var(--bg-2)}
.ecw-root .aud-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ecw-root .aud-card{background:linear-gradient(165deg,var(--panel),#071020);border:1px solid var(--line-soft);border-radius:var(--radius);padding:28px 24px;transition:.45s var(--ease);position:relative;overflow:hidden}
.ecw-root .aud-card::before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--gold),transparent);opacity:0;transition:.45s}
.ecw-root .aud-card:hover{transform:translateY(-6px);border-color:var(--line);background:linear-gradient(165deg,var(--panel-2),var(--panel))}
.ecw-root .aud-card:hover::before{opacity:1}
.ecw-root .aud-card .ai{width:38px;height:38px;margin-bottom:18px;color:var(--gold);display:flex;align-items:center;justify-content:center}
.ecw-root .aud-card .ai svg{width:28px;height:28px;stroke:currentColor;stroke-width:1.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ecw-root .aud-card h4{font-size:19px;margin-bottom:6px}
.ecw-root .aud-card p{font-size:13px;color:var(--ash);font-weight:300;line-height:1.55}
@media(max-width:1000px){.ecw-root .aud-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.ecw-root .aud-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.ecw-root .aud-grid{grid-template-columns:1fr}}

/* ============================================================
   PROGRAM — 3 DAY CARDS + TAB SWITCHER
   ============================================================ */
.ecw-root .program{background:var(--bg)}
.ecw-root .day-tabs{display:inline-flex;background:var(--bg-2);border:1px solid var(--line-soft);border-radius:4px;padding:5px;margin-bottom:34px;gap:4px;flex-wrap:wrap}
.ecw-root .day-tabs button{border:none;background:none;padding:12px 22px;border-radius:2px;font-family:var(--font-sans);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ash);cursor:pointer;transition:.35s;font-weight:500}
.ecw-root .day-tabs button.on{background:linear-gradient(110deg,var(--gold),var(--gold-soft));color:#0a1628}
.ecw-root .day-tabs button:hover:not(.on){color:var(--gold-soft)}
.ecw-root .day-panels{position:relative}
.ecw-root .day-panel{display:none;animation:ecwUp .6s var(--ease) forwards}
.ecw-root .day-panel.on{display:block}
.ecw-root .day-detail{display:grid;grid-template-columns:.9fr 1.4fr;gap:36px;background:linear-gradient(165deg,var(--panel),#071020);border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:48px}
.ecw-root .day-detail .dd-left .dno{font-family:var(--font-serif);font-size:96px;font-weight:700;color:rgba(201,168,76,.18);line-height:.85;margin-bottom:10px}
.ecw-root .day-detail .dd-left h3{font-size:32px;margin-bottom:8px}
.ecw-root .day-detail .dd-left .dtag{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;font-family:var(--font-mono)}
.ecw-root .day-detail .dd-left p{font-size:14px;color:var(--ash);font-weight:300}
.ecw-root .day-detail .dd-right .timeline{list-style:none;border-left:1px solid var(--line-soft);padding-left:24px;margin-left:6px}
.ecw-root .day-detail .dd-right .timeline li{position:relative;padding:0 0 22px 0}
.ecw-root .day-detail .dd-right .timeline li::before{content:"";position:absolute;left:-30px;top:8px;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.ecw-root .day-detail .dd-right .timeline .ttime{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--gold-soft);text-transform:uppercase;margin-bottom:4px}
.ecw-root .day-detail .dd-right .timeline .ttitle{font-family:var(--font-serif);font-size:19px;color:var(--ivory);margin-bottom:3px;font-weight:600}
.ecw-root .day-detail .dd-right .timeline .tdesc{font-size:13px;color:var(--ash);font-weight:300}
@media(max-width:880px){.ecw-root .day-detail{grid-template-columns:1fr;padding:32px 26px}}

/* Spotlight: Pitch Table */
.ecw-root .spotlight{margin-top:36px;background:linear-gradient(135deg,rgba(201,168,76,.10),rgba(26,107,107,.06));border:1px solid var(--line);
    border-radius:var(--radius-lg);padding:38px 42px;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.ecw-root .spotlight h4{font-size:28px;color:var(--gold-soft);margin-bottom:6px}
.ecw-root .spotlight p{font-size:15px;color:var(--ash);font-weight:300;max-width:520px}
.ecw-root .spotlight .seats{display:flex;gap:30px}
.ecw-root .spotlight .seat .sn{font-family:var(--font-serif);font-size:36px;font-weight:700;color:var(--ivory);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
.ecw-root .spotlight .seat .sl{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ash)}
.ecw-root .compliance-note{margin-top:18px;font-size:12px;color:var(--mute);font-style:italic;max-width:780px;line-height:1.7}

/* ============================================================
   VERTICALS (4 pillars)
   ============================================================ */
.ecw-root .verts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden}
.ecw-root .vert{background:var(--bg);padding:40px 28px;transition:.4s;text-align:center}
.ecw-root .vert:hover{background:var(--panel)}
.ecw-root .vert .vi{margin-bottom:18px;display:flex;align-items:center;justify-content:center}
.ecw-root .vert .vi svg{width:34px;height:34px;stroke:var(--gold);stroke-width:1.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ecw-root .vert h3{font-size:24px;margin-bottom:6px}
.ecw-root .vert p{font-size:13px;color:var(--ash);font-weight:300}
@media(max-width:760px){.ecw-root .verts{grid-template-columns:repeat(2,1fr)}}

/* ============================================================
   DUAL PLATFORM
   ============================================================ */
.ecw-root .dual{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ecw-root .side{background:linear-gradient(165deg,var(--panel),#071020);border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:46px 42px;transition:.45s var(--ease);position:relative;overflow:hidden}
.ecw-root .side:hover{transform:translateY(-6px);border-color:var(--line)}
.ecw-root .side .tag{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.ecw-root .side h3{font-size:30px;margin-bottom:8px}
.ecw-root .side .role{font-size:15px;color:var(--ash);margin-bottom:26px;font-weight:300}
.ecw-root .side ul{list-style:none;margin-bottom:32px}
.ecw-root .side li{font-size:15px;color:var(--ash);padding:11px 0 11px 26px;position:relative;border-bottom:1px solid var(--line-soft);font-weight:300}
.ecw-root .side li::before{content:"\002192";position:absolute;left:0;color:var(--gold)}
@media(max-width:760px){.ecw-root .dual{grid-template-columns:1fr}}

/* ============================================================
   SPONSOR PACKAGES — 8 TIERS + SELECTOR
   ============================================================ */
.ecw-root .sponsors{background:var(--bg-2)}
.ecw-root .sp-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}
.ecw-root .sp-filter button{background:transparent;border:1px solid var(--line-soft);color:var(--ash);padding:8px 16px;border-radius:999px;font-family:var(--font-sans);font-size:12px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:.3s}
.ecw-root .sp-filter button.on,.ecw-root .sp-filter button:hover{border-color:var(--gold);color:var(--gold)}
.ecw-root .sp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ecw-root .sp-card{background:linear-gradient(165deg,var(--panel),#071020);border:1px solid var(--line-soft);border-radius:var(--radius);padding:30px 26px;transition:.45s var(--ease);position:relative;overflow:hidden;display:flex;flex-direction:column}
.ecw-root .sp-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-soft));opacity:0;transition:.4s}
.ecw-root .sp-card:hover{transform:translateY(-6px);border-color:var(--line)}
.ecw-root .sp-card:hover::before{opacity:1}
.ecw-root .sp-card.featured{border-color:var(--line-strong);background:linear-gradient(165deg,#101e35,var(--panel))}
.ecw-root .sp-card.featured::before{opacity:1}
.ecw-root .sp-card .sp-tier{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.ecw-root .sp-card h4{font-size:24px;margin-bottom:6px}
.ecw-root .sp-card .sp-cat{font-size:12px;color:var(--ash);margin-bottom:18px;font-style:italic;font-family:var(--font-serif)}
.ecw-root .sp-card ul{list-style:none;margin-bottom:22px;flex:1}
.ecw-root .sp-card li{font-size:13px;color:var(--ash);padding:7px 0 7px 18px;position:relative;font-weight:300;line-height:1.5}
.ecw-root .sp-card li::before{content:"";position:absolute;left:0;top:14px;width:4px;height:4px;border-radius:50%;background:var(--gold);opacity:.7}
.ecw-root .sp-card .sp-cta{margin-top:auto}
@media(max-width:1000px){.ecw-root .sp-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.ecw-root .sp-grid{grid-template-columns:1fr}}

/* ============================================================
   FORMS — INVESTOR & PROJECT
   ============================================================ */
.ecw-root .signup{background:linear-gradient(165deg,var(--panel),#0a1628);border:1px solid var(--line);border-radius:var(--radius-lg);padding:56px;box-shadow:0 40px 100px rgba(0,0,0,.5)}
.ecw-root .signup.compact{padding:42px}
.ecw-root .toggle{display:inline-flex;background:var(--bg);border:1px solid var(--line-soft);border-radius:4px;padding:5px;margin-bottom:34px;flex-wrap:wrap;gap:4px}
.ecw-root .toggle button{border:none;background:none;padding:11px 16px;border-radius:2px;font-family:var(--font-sans);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ash);cursor:pointer;transition:.35s;font-weight:500}
.ecw-root .toggle button.on{background:linear-gradient(110deg,var(--gold),var(--gold-soft));color:#0a1628}
.ecw-root .frm{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ecw-root .fld{display:flex;flex-direction:column;gap:8px}
.ecw-root .fld.full{grid-column:1/-1}
.ecw-root .fld label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ash);font-family:var(--font-mono)}
.ecw-root .fld label .req{color:var(--gold)}
.ecw-root .fld input,.ecw-root .fld select,.ecw-root .fld textarea{
    font-family:var(--font-sans);font-size:15px;padding:14px 16px;border:1px solid var(--line-soft);border-radius:4px;background:var(--bg);color:var(--ivory);transition:.25s;width:100%}
.ecw-root .fld input::placeholder,.ecw-root .fld textarea::placeholder{color:#3a4d65}
.ecw-root .fld select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23C9A84C' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:42px}
.ecw-root .fld input:focus,.ecw-root .fld select:focus,.ecw-root .fld textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,76,.14)}
.ecw-root .fld input[type=file]{padding:11px 16px;cursor:pointer}
.ecw-root .frm .btn-gold{grid-column:1/-1;justify-content:center;margin-top:8px}
.ecw-root .consent{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;font-size:12px;color:var(--ash);font-weight:300;line-height:1.6}
.ecw-root .consent input{width:16px;height:16px;margin-top:3px;accent-color:var(--gold)}
.ecw-root .note{font-size:12px;color:#3a4d65;margin-top:18px;text-align:center;font-weight:300;line-height:1.6}
.ecw-root .ok{display:none;text-align:center;padding:34px 10px}
.ecw-root .ok.show{display:block}
.ecw-root .ok .big{font-family:var(--font-serif);font-size:36px;color:var(--gold-soft);margin-bottom:12px}
.ecw-root .ok p{color:var(--ash);font-weight:300}
.ecw-root .ok .check{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-soft));margin:0 auto 24px;display:flex;align-items:center;justify-content:center}
.ecw-root .ok .check svg{width:30px;height:30px;stroke:#0a1628;stroke-width:2.5;fill:none}
@media(max-width:760px){.ecw-root .frm{grid-template-columns:1fr}.ecw-root .signup{padding:34px 26px}.ecw-root .signup.compact{padding:30px 22px}}

/* ============================================================
   SERVICES
   ============================================================ */
.ecw-root .svcs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden}
.ecw-root .svc{background:var(--bg);padding:34px 30px;transition:.35s}
.ecw-root .svc:hover{background:var(--panel)}
.ecw-root .svc .si{font-size:24px;margin-bottom:14px;display:flex;align-items:center;justify-content:flex-start}
.ecw-root .svc .si svg{width:28px;height:28px;stroke:var(--gold);stroke-width:1.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ecw-root .svc h3{font-size:21px;margin-bottom:6px}
.ecw-root .svc p{font-size:14px;color:var(--ash);font-weight:300}
@media(max-width:760px){.ecw-root .svcs{grid-template-columns:1fr}}

/* ============================================================
   TRUST
   ============================================================ */
.ecw-root .trust{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.ecw-root .tcard{padding-top:22px;border-top:1px solid var(--line)}
.ecw-root .tcard .ti{margin-bottom:12px}
.ecw-root .tcard .ti svg{width:26px;height:26px;stroke:var(--gold);stroke-width:1.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ecw-root .tcard h4{font-size:19px;margin-bottom:6px}
.ecw-root .tcard p{font-size:13px;color:var(--ash);font-weight:300}
@media(max-width:760px){.ecw-root .trust{grid-template-columns:1fr 1fr}}

/* ============================================================
   FAQ (accordion)
   ============================================================ */
.ecw-root .faq{max-width:840px;margin:0 auto}
.ecw-root .faq-item{border-bottom:1px solid var(--line-soft)}
.ecw-root .faq-item summary{cursor:pointer;padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;font-family:var(--font-serif);font-size:22px;color:var(--ivory);font-weight:500;transition:.3s}
.ecw-root .faq-item summary::-webkit-details-marker{display:none}
.ecw-root .faq-item summary::after{content:"+";font-size:28px;color:var(--gold);font-weight:300;transition:.3s;font-family:var(--font-sans)}
.ecw-root .faq-item[open] summary::after{content:"\002212";transform:rotate(0)}
.ecw-root .faq-item[open] summary{color:var(--gold-soft)}
.ecw-root .faq-item .a{padding:0 0 24px 0;font-size:15px;color:var(--ash);font-weight:300;line-height:1.75;max-width:760px}

/* ============================================================
   LEGAL / DISCLAIMER BLOCK
   ============================================================ */
.ecw-root .legal-box{background:var(--bg-2);border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:48px 52px}
.ecw-root .legal-box h3{font-size:22px;margin-bottom:12px;margin-top:30px}
.ecw-root .legal-box h3:first-child{margin-top:0}
.ecw-root .legal-box p{font-size:14px;color:var(--ash);font-weight:300;margin-bottom:14px;line-height:1.78}
.ecw-root .legal-box p:last-child{margin-bottom:0}
.ecw-root .legal-box .disc-list{list-style:none;margin:14px 0}
.ecw-root .legal-box .disc-list li{padding:6px 0 6px 22px;position:relative;font-size:14px;color:var(--ash);font-weight:300;line-height:1.7}
.ecw-root .legal-box .disc-list li::before{content:"\0025C6";position:absolute;left:0;color:var(--gold);font-size:10px;top:11px}
@media(max-width:760px){.ecw-root .legal-box{padding:30px 26px}}

/* ============================================================
   CONTACT STRIP
   ============================================================ */
.ecw-root .contact-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden}
.ecw-root .c-card{background:var(--bg);padding:34px 28px}
.ecw-root .c-card .clabel{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;font-family:var(--font-mono)}
.ecw-root .c-card .cval{font-family:var(--font-serif);font-size:22px;color:var(--ivory);line-height:1.3}
.ecw-root .c-card .csub{font-size:13px;color:var(--ash);margin-top:6px;font-weight:300}
@media(max-width:760px){.ecw-root .contact-strip{grid-template-columns:1fr}}

/* ============================================================
   FOOTER
   ============================================================ */
.ecw-root .foot{background:#060e1d;border-top:1px solid var(--line-soft);padding:64px 0 40px}
.ecw-root .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding-bottom:38px;border-bottom:1px solid var(--line-soft);margin-bottom:26px}
.ecw-root .foot h5{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;font-family:var(--font-sans);font-weight:500}
.ecw-root .foot p{font-size:13px;color:var(--ash);font-weight:300;line-height:1.7}
.ecw-root .foot ul{list-style:none}
.ecw-root .foot ul li{padding:5px 0;font-size:13px;color:var(--ash);font-weight:300}
.ecw-root .foot ul li a{transition:.3s}
.ecw-root .foot ul li a:hover{color:var(--gold-soft)}
.ecw-root .foot .meta{font-size:12px;color:#2a3a52;font-weight:300;line-height:1.7}
.ecw-root .foot .foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-size:11px;color:#2a3a52;letter-spacing:.06em}
@media(max-width:880px){.ecw-root .foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ecw-root .foot-grid{grid-template-columns:1fr}}

/* ============================================================
   UTILITY
   ============================================================ */
.ecw-root .hide{display:none!important}
.ecw-root .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ============================================================
   MOBILE IMPROVEMENTS — phones first
   ============================================================ */

/* Tighter wrap padding on narrow phones */
@media(max-width:480px){
    .ecw-root .wrap,.ecw-root .wrap-narrow{padding:0 16px}
    .ecw-root section.block{padding:56px 0}
}

/* Hero: safe viewport height excludes iOS Safari address bar */
@supports(height:1svh){
    .ecw-root .hero{min-height:96svh}
}

/* Hero: scale headline and pill to fit phones */
@media(max-width:640px){
    .ecw-root .hero h1{font-size:clamp(30px,8vw,94px)}
    .ecw-root .save-date{
        font-size:11px;padding:8px 16px;gap:8px;
        white-space:normal;text-align:center;justify-content:center
    }
    .ecw-root .hero .lede{font-size:15px}
    /* Stack 4 CTAs vertically on phones */
    .ecw-root .btn-row{flex-direction:column;gap:10px}
    .ecw-root .btn-row .btn{width:100%;justify-content:center}
}

/* Countdown: 2x2 grid on very small phones */
@media(max-width:400px){
    .ecw-root .countdown{grid-template-columns:repeat(2,1fr);max-width:none}
    .ecw-root .cd-cell:nth-child(2){border-right:none}
    .ecw-root .cd-cell:nth-child(1),
    .ecw-root .cd-cell:nth-child(2){border-bottom:1px solid var(--line-soft)}
    .ecw-root .cd-cell .cdn{font-size:34px}
}

/* Day tabs: equal-width buttons that fill the row */
@media(max-width:520px){
    .ecw-root .day-tabs{width:100%}
    .ecw-root .day-tabs button{flex:1;padding:12px 6px;font-size:11px;text-align:center}
}

/* Spotlight: tighter padding on small phones */
@media(max-width:520px){
    .ecw-root .spotlight{padding:26px 20px;gap:20px}
    .ecw-root .spotlight .seats{justify-content:space-around}
}

/* Registration toggle: stack full-width on phones */
@media(max-width:640px){
    .ecw-root .toggle{width:100%;flex-direction:column}
    .ecw-root .toggle button{width:100%;text-align:center}
}

/* CRITICAL: prevents iOS Safari auto-zoom on input focus (< 16px triggers zoom) */
@media(max-width:768px){
    .ecw-root .fld input,
    .ecw-root .fld select,
    .ecw-root .fld textarea{font-size:16px}
}

/* Contact emails: prevent long addresses from overflowing */
@media(max-width:640px){
    .ecw-root .cval{font-size:17px;word-break:break-all}
}

/* FAQ: slightly smaller question text on tiny screens */
@media(max-width:400px){
    .ecw-root .faq-item summary{font-size:18px;padding:20px 0}
}

/* =============================================================
   ECW FORMS — AJAX UI
   Processing Overlay · Success Modal · Error Toast · Honeypot
   ============================================================= */

/* ── Honeypot field (visually hidden; NOT display:none so bots see it) */
.ecw-root .ecw-hp-field {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

/* ── Processing overlay ──────────────────────────────────────── */
.ecw-overlay {
    position: fixed;
    inset: 0;
    z-index: 9000;
    background: rgba(10, 22, 40, 0.88);
    display: none;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 24px;
}
.ecw-overlay.active {
    display: flex;
}
.ecw-overlay-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}
.ecw-spinner {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 3px solid rgba(201, 168, 76, 0.18);
    border-top-color: var(--gold, #c9a84c);
    animation: ecw-spin 0.75s linear infinite;
}
@keyframes ecw-spin {
    to { transform: rotate(360deg); }
}
.ecw-overlay-msg {
    margin: 0;
    font-family: var(--font-sans);
    font-size: 15px;
    font-weight: 400;
    color: var(--ash, #8a9bb5);
    letter-spacing: 0.02em;
}

/* ── Success modal ───────────────────────────────────────────── */
.ecw-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 9500;
    background: rgba(10, 22, 40, 0.80);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
}
.ecw-modal-backdrop.active {
    display: flex;
}
.ecw-modal {
    background: var(--panel, #0f2040);
    border: 1px solid var(--line-strong, rgba(201, 168, 76, 0.35));
    border-radius: var(--radius-lg, 22px);
    padding: 52px 44px 44px;
    max-width: 480px;
    width: 100%;
    text-align: center;
}
.ecw-modal-icon {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: rgba(42, 144, 144, 0.12);
    border: 2px solid var(--emerald, #2a9090);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 28px;
}
.ecw-modal-icon svg {
    width: 34px;
    height: 34px;
    stroke: var(--emerald, #2a9090);
}
.ecw-modal h3 {
    margin: 0 0 12px;
    font-family: var(--font-serif);
    font-size: 28px;
    font-weight: 600;
    color: var(--ivory, #fff);
}
.ecw-modal p {
    margin: 0 0 32px;
    font-size: 15px;
    color: var(--ash, #8a9bb5);
    line-height: 1.65;
}
.ecw-modal .btn {
    min-width: 160px;
}

/* ── Error toast ─────────────────────────────────────────────── */
.ecw-toast {
    position: fixed;
    bottom: 28px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9600;
    background: #2a0f0f;
    border: 1px solid rgba(220, 80, 80, 0.35);
    color: #ffb3b3;
    padding: 14px 26px;
    border-radius: 10px;
    font-family: var(--font-sans);
    font-size: 14px;
    line-height: 1.5;
    max-width: min(480px, calc(100vw - 40px));
    text-align: center;
    display: none;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}

/* ── Modal responsive ────────────────────────────────────────── */
@media (max-width: 520px) {
    .ecw-modal {
        padding: 36px 24px 32px;
    }
    .ecw-modal h3 {
        font-size: 22px;
    }
}
