@font-face{font-family:"Satoshi";src:url("../fonts/Satoshi-Variable.woff2") format("woff2");font-weight:300 900;font-display:swap}
/* EBCG Leaders theme, v04 design.
   Layout v04: centered hero with a sentence the visitor completes (the lead form), lime ticker, talks poster, talk rail, full-bleed particle story, conferences, centered close. Single brand look, no dark/light switch. */
:root{
  color-scheme:light;
  --navy-deep:#001530; --navy:#002D62; --blue:#2945E8; --blue-soft:#5B72F0; --acc:#B9DB01; --acc-sh:#86A000; --acc-glow:#D4F53C;
  --ink:#111423; --muted:#5D6278; --line:#DCE0EC; --mist:#EEF0F6; --paper:#FFFFFF;
  --yellow:#FFD300; --magenta:#DF005B; --orange:#E95617; --violet:#BF559B; --lime:#B9DB01; --slate:#8F96C8;
  --tbc:#FF4FA3;
  --f:"Satoshi",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --r:18px; --wrap:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{background:var(--paper);color:var(--ink);font-family:var(--f);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
h1,h2,h3{margin:0;line-height:1.02;letter-spacing:-.03em;text-wrap:balance}
p{margin:0}
.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))}
:focus-visible{outline:3px solid var(--acc);outline-offset:3px;border-radius:6px}

/* buttons */
.btn{--bg:var(--acc);--fg:var(--navy-deep);--sh:var(--acc-sh);display:inline-flex;align-items:center;justify-content:center;gap:10px;font:700 16px/1 var(--f);padding:17px 24px;border-radius:14px;border:0;background:var(--bg);color:var(--fg);text-decoration:none;cursor:pointer;box-shadow:0 4px 0 var(--sh);transition:transform .12s,box-shadow .12s,filter .15s;white-space:nowrap}
.btn:hover{filter:brightness(1.04)}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--sh)}
.btn.blue{--bg:var(--blue);--fg:#fff;--sh:#1A2FB0}
.btn.ghost{--bg:transparent;--fg:#fff;--sh:transparent;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
.btn.ghost:active{transform:none}
.btn.ghost-dark{--bg:transparent;--fg:var(--navy);--sh:transparent;box-shadow:inset 0 0 0 1.5px var(--line)}
.btn[disabled]{--bg:#E4E7F0;--fg:#9AA0B4;--sh:#CDD2E0;cursor:not-allowed;filter:none}
.arrow{font-weight:900}

/* nav */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--navy-deep)}
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(0,21,48,.84);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav .wrap{display:flex;align-items:center;gap:28px;height:72px}
.nav img{height:34px;width:auto;display:block}
.nav ul{display:flex;gap:26px;list-style:none;margin:0 0 0 auto;padding:0}
.nav ul a{color:rgba(255,255,255,.78);text-decoration:none;font-weight:600;font-size:15px}
.nav ul a:hover{color:#fff}
.nav .signin{color:#fff;font-weight:700;font-size:15px;text-decoration:none}
.nav .btn{padding:12px 18px;font-size:15px;box-shadow:0 3px 0 var(--sh)}
.nav .menu{display:none;background:none;border:0;color:#fff;font:700 15px var(--f);cursor:pointer;padding:8px}
@media (max-width:980px){.nav ul,.nav .signin{display:none}.nav .menu{display:block;margin-left:auto}.nav ul.open{display:flex;position:absolute;top:72px;left:0;right:0;flex-direction:column;gap:0;background:var(--navy-deep);padding:8px max(20px,env(safe-area-inset-left,0px)) 20px}.nav ul.open a{display:block;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:17px}}
@media (max-width:420px){.nav .btn{padding:11px 14px}.nav img{height:28px}}

[hidden]{display:none!important}
/* hero: centered */
.hero{isolation:isolate;position:relative;overflow:hidden;color:#fff;text-align:center;
  background:radial-gradient(60% 55% at 50% 0%,rgba(22,104,190,.6),transparent 70%),radial-gradient(40% 40% at 50% 100%,rgba(185,219,1,.12),transparent 70%),linear-gradient(180deg,var(--navy-deep),var(--navy) 85%)}
.hero::before{content:none}
.hero-in{padding-block:52px 56px;display:flex;flex-direction:column;align-items:center}
.badge{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:15px;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);padding:7px 14px 7px 8px;border-radius:999px}
.badge b{background:var(--acc);color:var(--navy-deep);font-size:12px;font-weight:900;padding:4px 9px;border-radius:999px;letter-spacing:.02em}
.h1{font-size:clamp(56px,8.8vw,136px);font-weight:900;letter-spacing:-.05em;line-height:.9;margin-top:28px}
.h1 .l1,.h1 .l2{display:block}
.h1 .l2{margin-top:.08em}
.rot{display:inline-block;white-space:nowrap;transition:opacity .35s,transform .45s cubic-bezier(.2,.8,.2,1)}
.rot.out{opacity:0;transform:translateY(-.2em)}
.rot.in{opacity:0;transform:translateY(.2em)}
.rot u{text-decoration:none;background:var(--c,var(--acc));color:var(--tc,var(--navy-deep));padding:0 .12em .04em;border-radius:.09em;transition:background .35s}
.lead{font-size:clamp(19px,1.8vw,24px);font-weight:600;line-height:1.38;margin-top:34px;max-width:40ch}
.support{margin-top:12px;color:rgba(255,255,255,.7);max-width:52ch}

/* the sentence form */
.mad{margin-top:36px;width:min(920px,100%);text-align:left;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.14);border-radius:28px;padding:26px 32px 28px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 40px 80px -40px rgba(0,0,0,.6);scroll-margin-top:100px}
.madhead{display:flex;align-items:center;gap:12px;font-weight:700;font-size:15px;color:rgba(255,255,255,.8)}
.madhead em{font-style:normal;color:rgba(255,255,255,.5);margin-left:8px}
.mark-prog{width:40px;height:auto;flex:none;overflow:visible}
.mark-prog .pb{fill:rgba(255,255,255,.16)}
.mark-prog .pc{opacity:0;transition:opacity .6s ease}
.mark-prog .pc.lit{opacity:1}
.mark-prog .dot.on{transform:scale(1.7)}
.mad.done .mark-prog{animation:pop .7s cubic-bezier(.2,.8,.2,1.5)}
@keyframes pop{40%{transform:scale(1.3) rotate(25deg)}}
.sent{margin:18px 0 0;font-size:clamp(24px,3.1vw,40px);font-weight:700;letter-spacing:-.025em;line-height:1.3;color:#fff}
.sent .ln{display:block}
.sent .ln[hidden]{display:none}
.slot{font:inherit;letter-spacing:inherit;color:var(--acc);background:none;border:0;padding:0 .05em;cursor:pointer;border-bottom:3px solid var(--acc);text-align:left}
.slot.empty{color:rgba(255,255,255,.35);border-bottom:3px dashed rgba(255,255,255,.35);min-width:2.4em;animation:blink 1.4s ease-in-out infinite}
@keyframes blink{50%{border-bottom-color:var(--acc)}}
.sent input{font:inherit;letter-spacing:inherit;color:var(--acc);background:none;border:0;border-bottom:3px dashed rgba(255,255,255,.35);padding:0 .05em;width:min(11.5em,100%);outline:none}
.sent input::placeholder{color:rgba(255,255,255,.3)}
.sent input:focus{border-bottom-color:var(--acc)}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.chips[hidden]{display:none}
.chip{display:inline-flex;align-items:center;gap:10px;font:700 16px/1.2 var(--f);color:#fff;background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.2);border-radius:999px;padding:12px 18px;cursor:pointer;transition:background .15s,border-color .15s,transform .1s}
.chip i{width:11px;height:11px;border-radius:50%;background:var(--c);flex:none}
.chip:hover{border-color:rgba(255,255,255,.5)}
.chip:active{transform:scale(.97)}
.chip[aria-pressed="true"]{background:var(--acc);border-color:var(--acc);color:var(--navy-deep)}
.madfoot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:22px}
.hint{color:rgba(255,255,255,.6);font-size:15px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:rgba(255,255,255,.7);line-height:1.45;max-width:46ch}
.check input{width:20px;height:20px;accent-color:var(--acc);flex:none;margin-top:1px}
.check a{color:#fff}
.err{display:block;color:#FF8FB8;font-size:14px;font-weight:600;margin-top:10px}
.ok{font-size:18px;font-weight:600;color:rgba(255,255,255,.85);margin:18px 0 18px}
.below{margin-top:22px;font-size:15px;color:rgba(255,255,255,.6)}
.below a{color:#fff;font-weight:700;text-decoration:none}
.btn[disabled]{--bg:rgba(255,255,255,.12);--fg:rgba(255,255,255,.45);--sh:transparent}
@media (max-width:600px){.mad{padding:20px 18px 22px;border-radius:22px}.chip{font-size:15px;padding:11px 14px}.madfoot .btn{width:100%}}

/* lime ticker */
.ticker{background:var(--acc);color:var(--navy-deep);overflow:hidden;white-space:nowrap;border-block:1px solid rgba(0,0,0,.08)}
.tk{display:inline-flex;align-items:center;gap:28px;padding-block:16px;animation:tick 38s linear infinite;font-weight:900;font-size:clamp(18px,1.8vw,24px);letter-spacing:-.02em}
.tk .sep{width:14px;height:14px;border-radius:50%;background:var(--navy-deep);flex:none;box-shadow:20px 0 0 -3px var(--magenta),-20px 0 0 -3px var(--orange);margin-inline:20px}
.ticker:hover .tk{animation-play-state:paused}
@keyframes tick{to{transform:translateX(-50%)}}

/* sections */
section{position:relative}
.sec{padding-block:112px}
.eyebrow{font-weight:700;font-size:15px;color:var(--blue);display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--c,var(--blue))}
.h2{font-size:clamp(38px,5vw,66px);font-weight:900;letter-spacing:-.035em;line-height:1.05;margin-top:18px}
.body{font-size:18px;color:var(--muted);margin-top:22px;max-width:52ch}
.body + .body{margin-top:14px}
.body strong{color:var(--ink)}

/* talks + mockup */
.poster{display:grid;grid-template-columns:auto 1fr;gap:clamp(28px,5vw,80px);align-items:end;margin-top:22px;font-weight:900}
.p15{display:grid;min-width:0}
.p15 .n{font-size:clamp(170px,25vw,360px);line-height:.74;letter-spacing:-.07em;color:var(--blue);margin-left:-.04em}
.p15 .mins{font-size:clamp(34px,4vw,56px);letter-spacing:-.035em;line-height:1;margin-top:clamp(14px,1.6vw,26px)}
.scrub{display:flex;align-items:center;gap:10px;margin-top:22px;font-size:13px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.track{flex:1;height:6px;border-radius:9px;background:var(--mist);position:relative;min-width:120px}
.track i{position:absolute;inset:0 auto 0 0;width:var(--p,38%);border-radius:9px;background:var(--blue)}
.track b{position:absolute;top:50%;left:var(--p,38%);width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px var(--blue)}
.ones{display:grid;gap:.06em;font-size:clamp(40px,5.6vw,84px);letter-spacing:-.04em;line-height:1.08;padding-bottom:clamp(40px,4vw,56px);min-width:0}
.ones span{display:flex;align-items:center;gap:.28em}
.ones span::before{content:"";width:.34em;height:.34em;border-radius:50%;background:var(--c);flex:none;transform:translateY(.04em)}
.talkrow{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center;margin-top:80px}
.talks .copy{min-width:0}
@media (max-width:860px){.poster{grid-template-columns:1fr;gap:28px}.ones{padding-bottom:0}}
.talks .btn{margin-top:32px}
.mac{min-width:0;border-radius:16px;background:#0B1033;box-shadow:0 40px 80px -30px rgba(0,17,85,.45),0 0 0 1px rgba(0,17,85,.1);overflow:hidden}
.mac .bar{display:flex;align-items:center;gap:8px;padding:12px 14px;background:#151B45}
.mac .bar i{width:11px;height:11px;border-radius:50%;background:#3A4170}
.mac .bar i:nth-child(1){background:#FF5F57}.mac .bar i:nth-child(2){background:#FEBC2E}.mac .bar i:nth-child(3){background:#28C840}
.mac .url{margin-left:12px;flex:1;max-width:320px;background:#0B1033;color:rgba(255,255,255,.7);font-size:12px;font-weight:600;border-radius:8px;padding:6px 12px}
.app{display:grid;grid-template-columns:150px 1fr;min-height:380px;color:#fff;font-size:12px}
.app aside{border-right:1px solid rgba(255,255,255,.07);padding:16px 14px;display:flex;flex-direction:column;gap:4px}
.app aside .lg{font-weight:900;font-size:14px;margin-bottom:14px;letter-spacing:-.02em}
.app aside .lg em{font-style:normal;color:var(--acc)}
.app aside a{text-decoration:none;color:rgba(255,255,255,.62);padding:7px 9px;border-radius:8px;font-weight:600}
.app aside a.on{background:rgba(255,255,255,.08);color:#fff}
.app .streak{margin-top:auto;background:rgba(185,219,1,.1);border:1px solid rgba(185,219,1,.3);border-radius:10px;padding:10px;color:#fff}
.app .streak b{display:block;font-size:20px;font-weight:900;color:var(--acc)}
.app main{padding:16px 18px;min-width:0}
.app .hello{font-size:17px;font-weight:900;letter-spacing:-.02em}
.app .sub{color:rgba(255,255,255,.55);margin-top:2px}
.app .feature{margin-top:14px;border-radius:12px;padding:16px;background:linear-gradient(120deg,#2945E8,#5B2AA8 55%,#DF005B);display:flex;justify-content:space-between;align-items:flex-end;gap:12px;min-height:118px}
.app .feature b{font-size:18px;font-weight:900;line-height:1.1;letter-spacing:-.02em;max-width:18ch;display:block}
.app .feature .play{width:40px;height:40px;border-radius:50%;background:#fff;display:grid;place-items:center;flex:none}
.app .feature .play::after{content:"";border-left:11px solid var(--navy);border-top:7px solid transparent;border-bottom:7px solid transparent;margin-left:3px}
.app .rowt{margin-top:16px;font-weight:800;font-size:13px}
.app .mini{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.app .mini div{aspect-ratio:16/10;border-radius:8px;background:var(--c);padding:8px;font-weight:800;font-size:10.5px;line-height:1.15;display:flex;align-items:flex-end;color:#fff;position:relative}
.app .mini div::after{content:"15 min";position:absolute;top:6px;right:6px;font-size:9px;background:rgba(0,0,0,.35);padding:2px 5px;border-radius:5px}
.app .bar2{height:3px;background:rgba(255,255,255,.12);border-radius:3px;margin-top:10px;overflow:hidden}
.app .bar2 i{display:block;height:100%;width:62%;background:var(--acc)}
@media (max-width:980px){.talkrow{grid-template-columns:1fr;gap:48px;margin-top:56px}}
@media (max-width:560px){.app{grid-template-columns:1fr}.app aside{display:none}}

/* rows */
.rows{background:var(--mist)}
.rows .head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.tabs{display:flex;gap:6px;background:#fff;padding:5px;border-radius:999px;box-shadow:0 0 0 1px var(--line)}
.tabs button{font:700 15px var(--f);border:0;background:none;padding:10px 16px;border-radius:999px;cursor:pointer;color:var(--muted)}
.tabs button[aria-selected="true"]{background:var(--navy);color:#fff}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;margin-top:40px;padding-bottom:14px;scrollbar-width:thin}
.card{scroll-snap-align:start;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:12px;min-width:0}
.thumb{aspect-ratio:16/10;border-radius:16px;background:var(--navy);position:relative;overflow:hidden;padding:18px;display:flex;flex-direction:column;justify-content:space-between;color:#fff}
.thumb::before{content:"";position:absolute;width:46%;aspect-ratio:1;right:-12%;bottom:-30%;border-radius:50%;border:18px solid var(--c);opacity:.95}
.thumb .t{position:relative;font-weight:900;font-size:21px;line-height:1.08;letter-spacing:-.02em;max-width:15ch}
.thumb .meta{position:relative;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700}
.thumb .min{background:rgba(255,255,255,.14);padding:5px 9px;border-radius:999px}
.thumb .pv{display:flex;align-items:center;gap:8px;background:#fff;color:var(--navy);padding:7px 12px 7px 9px;border-radius:999px;opacity:0;transform:translateY(6px);transition:.2s}
.thumb .pv::before{content:"";border-left:9px solid var(--navy);border-top:6px solid transparent;border-bottom:6px solid transparent}
.card:hover .pv,.card:focus-visible .pv{opacity:1;transform:none}
@media (hover:none){.thumb .pv{opacity:1;transform:none}}
.card .who{font-size:15px;line-height:1.35}
.card .who b{display:block}
.card .who span{color:var(--muted)}
.card .tag{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--muted)}
.card .tag::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c)}
.rows .note{margin-top:24px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:space-between;background:#fff;border-radius:var(--r);padding:20px 24px;box-shadow:0 0 0 1px var(--line)}
.rows .note p{font-weight:700}
.rows .note p span{color:var(--muted);font-weight:500}

/* community: full-bleed particle story, centered */
.comm{background:radial-gradient(55% 60% at 50% 38%,#003A7A,transparent 72%),var(--navy-deep);color:#fff;text-align:center}
.comm .stage{position:relative;height:clamp(760px,66vw,960px);overflow:hidden}
.comm canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y}
.comm .stage>*:not(canvas){pointer-events:none}
.comm .cta a,.comm .cta button{pointer-events:auto}
.cw1{position:absolute;left:0;right:0;top:20%;transition:opacity .5s,transform .6s}
.kick{font-size:clamp(28px,3.4vw,52px);font-weight:900;letter-spacing:-.03em;color:rgba(255,255,255,.75)}
.cw2{position:absolute;left:0;right:0;top:60%;font-size:clamp(17px,1.6vw,22px);font-weight:600;color:rgba(255,255,255,.7);padding-inline:20px;transition:opacity .5s,transform .6s}
.cw2 b{color:#fff}
.comm:not(.s-word) .cw1,.comm:not(.s-word) .cw2{opacity:0;transform:translateY(-20px)}
.strike{position:absolute;height:clamp(8px,1vw,14px);background:var(--magenta);border-radius:9px;transform:translateY(-50%) scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.7,0,.2,1),opacity .3s;box-shadow:0 0 30px rgba(223,0,91,.7)}
.comm.s-strike .strike{transform:translateY(-50%) scaleX(1)}
.comm:not(.s-word) .strike{opacity:0}
.cw3{position:absolute;left:0;right:0;bottom:clamp(36px,5vw,72px);display:flex;flex-direction:column;align-items:center;padding-inline:20px;opacity:0;transform:translateY(24px);transition:opacity .7s,transform .8s cubic-bezier(.2,.8,.2,1)}
.comm.s-done .cw3{opacity:1;transform:none}
.cw3 .h2{font-size:clamp(52px,6.6vw,104px);letter-spacing:-.05em;line-height:1;color:#fff;margin:0}
.cw3 .h2 span{color:var(--acc)}
.cw3 .body{color:rgba(255,255,255,.72);max-width:60ch;margin-top:16px}
.cw3 .body strong{color:#fff}
.cta{display:flex;gap:14px;align-items:center;margin-top:26px;flex-wrap:wrap;justify-content:center}
.replay2{font:700 13px var(--f);color:rgba(255,255,255,.7);background:none;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:9px 14px;cursor:pointer}
.replay2:hover{color:#fff;border-color:#fff}
.rl{position:absolute;transform:translate(-50%,-50%) scale(.6);opacity:0;font-weight:800;font-size:14px;color:#fff;background:rgba(0,21,48,.85);border:1.5px solid var(--c);padding:6px 12px;border-radius:999px;white-space:nowrap;transition:opacity .5s,transform .6s cubic-bezier(.2,.8,.2,1.5)}
.comm.s-done .rl{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media (max-width:760px){.comm .stage{height:820px}.cw3{bottom:96px}.rl{font-size:11px;padding:4px 8px}.cw3 .body{font-size:16px}}

/* membership */
.member{background:var(--yellow)}
.member .eyebrow{color:var(--navy)}.member .eyebrow::before{background:var(--navy)}
.member .h2{font-size:clamp(46px,7vw,104px);letter-spacing:-.045em;line-height:1;color:var(--navy)}
.member .body{color:#3D3A1E}
.member .eq .blk{background:#fff}
.member .eq .blk.res{background:var(--navy)}
.member .eq .blk.res b{color:var(--yellow)}.member .eq .blk.res span{color:#fff}
.member .eq .op{color:var(--navy)}
.member .ticket{box-shadow:0 40px 80px -40px rgba(60,45,0,.55)}
.eq{display:flex;align-items:stretch;gap:14px;margin-top:44px;flex-wrap:wrap}
.eq .blk{flex:1 1 180px;border-radius:var(--r);padding:20px 22px;background:var(--mist);min-width:0}
.eq .blk b{display:block;font-size:30px;font-weight:900;letter-spacing:-.03em;line-height:1}
.eq .blk span{font-weight:600;color:var(--muted);font-size:15px}
.eq .blk.res{background:var(--yellow)}
.eq .blk.res span{color:var(--navy)}
.eq .op{align-self:center;font-size:30px;font-weight:900;color:var(--blue)}
.ticket{margin-top:28px;display:grid;grid-template-columns:1.05fr 1fr;border-radius:24px;overflow:hidden;box-shadow:0 30px 70px -30px rgba(0,17,85,.35),0 0 0 1px var(--line)}
.tk-l{background:var(--navy);color:#fff;padding:36px;position:relative;min-width:0}
.tk-l::after{content:"";position:absolute;right:-1px;top:24px;bottom:24px;border-right:2px dashed rgba(255,255,255,.25)}
.tk-l .ev{font-weight:700;color:rgba(255,255,255,.7);font-size:15px}
.tk-l h3{font-size:clamp(28px,3vw,38px);font-weight:900;margin-top:10px}
.tk-l dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:20px 0 0;font-size:15px}
.tk-l dt{color:rgba(255,255,255,.55);font-weight:600}
.tk-l dd{margin:0;font-weight:700}
.price{display:flex;align-items:baseline;gap:14px;margin-top:28px;flex-wrap:wrap}
.price b{font-size:clamp(56px,6vw,76px);font-weight:900;letter-spacing:-.045em;line-height:.9;color:var(--yellow)}
.price span{font-weight:700;font-size:15px;color:rgba(255,255,255,.75)}
.tk-l .btn{margin-top:26px;width:100%}
.tk-r{background:#fff;padding:36px;min-width:0}
.tk-r h4{margin:0;font-size:17px;font-weight:900}
.tk-r ul.inc{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}
.tk-r ul.inc li{display:flex;gap:10px;font-weight:600}
.tk-r ul.inc li::before{content:"+";font-weight:900;color:var(--blue);width:14px}
.ladder{margin-top:28px;display:grid;gap:0}
.ladder div{display:flex;justify-content:space-between;padding:11px 0;border-top:1px solid var(--line);font-weight:600;font-variant-numeric:tabular-nums}
.ladder div b{font-weight:800}
.ladder div.now{color:var(--blue)}
.ladder div.now b{background:var(--yellow);color:var(--navy);padding:2px 8px;border-radius:6px}
.tk-r .fine{font-size:13px;color:var(--muted);margin-top:14px}
@media (max-width:900px){.ticket{grid-template-columns:1fr}.tk-l::after{right:24px;left:24px;top:auto;bottom:-1px;border-right:0;border-bottom:2px dashed rgba(255,255,255,.25)}.tk-l,.tk-r{padding:28px 22px}}

/* conferences (kept from the current ebcg.com) */
.conf{background:#fff}
.intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:start}
.conf .h2{font-size:clamp(48px,6vw,84px);color:var(--navy);margin-top:0;line-height:1}
.intro-copy{padding-top:28px;border-top:1px solid var(--line);min-width:0}
.intro-copy p{max-width:700px;margin:0 0 20px;color:var(--muted);font-size:16px;line-height:1.8}
.intro-copy .lead2{color:var(--ink);font-size:clamp(20px,2vw,26px);font-weight:700;line-height:1.4;letter-spacing:-.02em}
.events-heading{display:flex;align-items:end;justify-content:space-between;margin:72px 0 24px}
.events-heading .eyebrow{margin:0}
.events-count{display:flex;gap:24px;margin:0;color:var(--navy);font-size:13px;font-weight:700}
.events-count span{color:var(--muted);font-weight:500}
.event-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:215px;gap:14px}
.event-card{position:relative;grid-column:span 4;grid-row:span 2;overflow:hidden;border-radius:22px;color:#fff;background:var(--navy);isolation:isolate;text-decoration:none}
.event-card-featured{grid-column:span 8;grid-row:span 3}
.event-card-tall{grid-row:span 3}
.event-card img{position:absolute;z-index:-3;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .4s}
.event-card-chro img{object-position:center 38%}
.event-card-founders img{object-position:center 42%}
.event-shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(180deg,rgba(0,17,85,.1),rgba(0,17,85,.28) 36%,rgba(0,12,55,.95))}
.event-card::after{content:"";position:absolute;z-index:-1;inset:0;background:var(--accent);mix-blend-mode:multiply;opacity:0;transition:opacity .4s}
.event-content{position:absolute;inset:0;display:flex;flex-direction:column;padding:26px}
.event-index{font-size:12px;font-weight:700;opacity:.7}
.event-meta{display:flex;flex-direction:column;gap:6px;margin-top:auto;font-size:13px;line-height:1.25}
.event-meta span{opacity:.75}
.event-title{max-width:92%;margin-top:16px;font-size:clamp(26px,2.4vw,39px);font-weight:900;line-height:1.02;letter-spacing:-.04em}
.event-link{display:block;margin-top:22px;padding-top:14px;border-top:1px solid rgba(255,255,255,.35);font-size:13px;font-weight:700}
.event-card:hover img,.event-card:focus-visible img{transform:scale(1.055);filter:brightness(.78)}
.event-card:hover::after,.event-card:focus-visible::after{opacity:.18}
@media (max-width:1100px){.event-grid{grid-auto-rows:190px}.event-card{grid-column:span 6}.event-card-featured{grid-column:span 12;grid-row:span 3}.event-card-tall{grid-row:span 2}}
@media (max-width:760px){.intro-grid{grid-template-columns:1fr;gap:24px}.event-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:none}.event-card,.event-card-featured,.event-card-tall{flex:0 0 min(84vw,380px);height:480px;scroll-snap-align:start}.event-title{font-size:31px}}

/* final */
.final{background:var(--navy);color:#fff;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08)}
.final .wrap{padding-block:120px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:36px}
.final .q{font-size:clamp(28px,3.2vw,44px);font-weight:900;letter-spacing:-.03em;line-height:1.1;max-width:22ch;margin-inline:auto}
.final .a{font-size:clamp(72px,13vw,200px);font-weight:900;letter-spacing:-.05em;line-height:.95;margin-top:14px;color:var(--acc)}
.final .side{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;align-items:center}
.final .side p{flex-basis:100%}
.final .side p{color:rgba(255,255,255,.85);font-size:18px}
.final .btn.ghost{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
@media (max-width:900px){.final .wrap{grid-template-columns:1fr;padding-block:72px}}

footer{background:var(--navy-deep);color:rgba(255,255,255,.7);font-size:15px}
footer .wrap{padding-block:64px 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
footer img{height:40px}
footer h5{margin:0 0 12px;color:#fff;font-size:15px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
footer a{text-decoration:none}
footer a:hover{color:#fff}
footer .copy{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:24px;font-size:13px}
@media (max-width:760px){footer .wrap{grid-template-columns:1fr 1fr}footer .wrap>div:first-child{grid-column:1/-1}}

/* sticky mobile cta */
.mcta{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:12px max(16px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:rgba(255,255,255,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 -1px 0 var(--line);transform:translateY(110%);transition:transform .3s}
.mcta .btn{width:100%}
.mcta.show{transform:none}
@media (min-width:981px){.mcta{display:none}}

/* review mode: unconfirmed content */
.rv{position:fixed;left:max(16px,env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:45;font:800 13px var(--f);background:var(--ink);color:#fff;border:0;border-radius:999px;padding:11px 15px;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.rv b{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:99px;background:var(--tbc);margin-left:8px;font-size:12px}
@media (max-width:980px){.rv{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}
body.review .tbc{outline:2px dashed var(--tbc);outline-offset:3px;border-radius:4px;position:relative}
body.review .tbc[data-n]::after{content:attr(data-n);position:absolute;top:-12px;right:-10px;background:var(--tbc);color:#fff;font:900 11px/20px var(--f);min-width:20px;height:20px;border-radius:99px;text-align:center;z-index:5}
.panel{position:fixed;left:max(16px,env(safe-area-inset-left,0px));bottom:calc(66px + env(safe-area-inset-bottom,0px));z-index:46;width:min(400px,calc(100vw - 32px));max-height:60vh;overflow:auto;background:#fff;color:var(--ink);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);padding:20px;font-size:14px}
@media (max-width:980px){.panel{bottom:calc(134px + env(safe-area-inset-bottom,0px))}}
.panel h6{margin:0 0 10px;font-size:15px}
.panel ol{margin:0;padding-left:20px;display:grid;gap:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- v0.6 overrides ---------- */
/* hero: lower block, clear gap under "Learn from", no full stop */
.h1 .l2{margin-top:.2em}
.rot u{display:inline-block;line-height:.8;padding:.07em .14em .1em;border-radius:.08em}
.mad{width:min(1180px,100%)}
/* classic flat buttons with a clear hover */
.btn{box-shadow:none;border-radius:12px;transition:background-color .2s,color .2s,box-shadow .2s,transform .2s}
.btn .arrow{display:inline-block;transition:transform .2s}
.btn:hover{filter:none;--bg:#fff;--fg:var(--navy-deep);transform:translateY(-1px)}
.btn:hover .arrow{transform:translateX(4px)}
.btn:active{transform:none;box-shadow:none}
.btn.blue:hover{--bg:var(--acc);--fg:var(--navy-deep)}
.btn.ghost{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.45)}
.btn.ghost:hover{--bg:#fff;--fg:var(--navy-deep);box-shadow:inset 0 0 0 1.5px #fff}
.final .btn.ghost{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.45)}
.final .btn.ghost:hover{box-shadow:inset 0 0 0 1.5px #fff}
.nav .btn{box-shadow:none}
.btn[disabled],.btn[disabled]:hover{--bg:rgba(255,255,255,.12);--fg:rgba(255,255,255,.45);transform:none;cursor:not-allowed}
.rows .btn.blue:hover,.talks .btn.blue:hover{--bg:var(--navy-deep);--fg:#fff}
/* header and footer in the same blue as the closing section */
.nav{background:rgba(0,45,98,.94)}
body::before{background:var(--navy)}
.nav ul.open{background:var(--navy)}
footer{background:var(--navy);border-top:1px solid rgba(255,255,255,.1)}
/* ticker: one quiet separator */
.tk .sep{width:2px;height:24px;border-radius:2px;background:rgba(0,21,48,.4);box-shadow:none;transform:rotate(18deg);margin-inline:14px}
/* talk cards: optional preview video and real thumbnails */
.thumb img,.thumb video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none}
.thumb video{opacity:0;transition:opacity .3s}
.card.playing .thumb video{opacity:1}
.thumb.has-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,21,48,.15),rgba(0,21,48,.85))}
.thumb.has-img .t,.thumb.has-img .meta{z-index:1}
.thumb.has-img::before{display:none}
.card[hidden]{display:none}
.meta{justify-content:flex-end}

/* ---------- v0.7 "wide web" ---------- */
:root{--wrap:1680px;--gut:clamp(20px,3.4vw,64px);--navh:72px}
.wrap{padding-left:max(var(--gut),env(safe-area-inset-left,0px));padding-right:max(var(--gut),env(safe-area-inset-right,0px))}
/* header: transparent over the hero, full width, solid blue after scroll */
.nav{position:fixed;top:0;left:0;right:0;background:transparent;border-bottom:1px solid transparent;-webkit-backdrop-filter:none;backdrop-filter:none;transition:background-color .25s,border-color .25s}
.nav.stuck{background:rgba(0,45,98,.96);border-bottom-color:rgba(255,255,255,.1);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px)}
.nav .wrap{max-width:none;height:var(--navh);padding-inline:clamp(20px,2.6vw,48px)}
.nav ul{gap:clamp(22px,2.2vw,40px)}
.nav img{height:36px}
.admin-bar .nav{top:32px}
@media (max-width:782px){.admin-bar .nav{top:46px}}
body:not(.nav-over){padding-top:var(--navh)}
/* hero: fills the screen, content centred, scales with viewport height */
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center}
.hero-in{width:100%;padding-block:calc(var(--navh) + clamp(10px,2.6vh,32px)) clamp(22px,4vh,52px)}
.h1{font-size:clamp(46px,min(8.8vw,14vh),150px);margin-top:clamp(14px,2.6vh,28px)}
.lead{margin-top:clamp(14px,2.8vh,34px)}
.support{margin-top:clamp(6px,1.2vh,12px)}
.below{margin-top:clamp(12px,2vh,22px)}
@media (max-height:700px) and (min-width:700px){.support{display:none}}
/* one-field form */
.mad{width:min(900px,100%);margin-top:clamp(18px,3.4vh,36px);padding:clamp(16px,2.4vh,24px) 26px clamp(14px,2vh,20px);border-radius:24px}
.madrow{display:flex;align-items:center;gap:20px}
.madrow[hidden]{display:none}
.mark-prog{width:54px}
.madmain{flex:1;min-width:0}
.madlabel{display:block;font-weight:700;font-size:15px;color:rgba(255,255,255,.82);margin-bottom:8px}
.madin{display:flex;gap:10px}
.madin input{flex:1;min-width:0;height:56px;font:600 19px var(--f);color:#fff;background:rgba(0,21,48,.55);border:1.5px solid rgba(255,255,255,.24);border-radius:12px;padding:0 18px;outline:none;transition:border-color .15s,background-color .15s}
.madin input::placeholder{color:rgba(255,255,255,.38)}
.madin input:focus{border-color:var(--acc);background:rgba(0,21,48,.8)}
.madin .btn{height:56px;padding:0 28px;font-size:17px}
.mad .check{margin-top:12px;max-width:none}
.mad .err{margin-top:8px}
@media (max-width:640px){.madrow{align-items:flex-start;gap:12px}.mark-prog{width:38px;margin-top:2px}.madin{flex-direction:column}.madin .btn{width:100%}.mad{padding:16px 16px 14px}}
/* wider sections */
.body{max-width:60ch}
.rail{grid-auto-columns:minmax(300px,1fr)}
.talkrow{grid-template-columns:.75fr 1.25fr;gap:clamp(48px,5vw,96px)}
.intro-grid{grid-template-columns:.7fr 1.3fr}
.intro-copy p{max-width:860px}
.event-grid{grid-auto-rows:clamp(215px,15.5vw,300px);gap:clamp(14px,1.2vw,20px)}
.event-title{font-size:clamp(26px,2.4vw,46px)}
.sec{padding-block:clamp(88px,8vw,140px)}
footer .wrap{grid-template-columns:1.6fr 1fr 1fr 1fr}
@media (max-width:1100px){.event-grid{grid-auto-rows:190px}}
@media (max-width:760px){.event-grid{grid-auto-rows:auto}}
/* v0.12: the "wider sections" overrides above beat the earlier mobile queries; restore single-column layouts */
@media (max-width:980px){.talkrow{grid-template-columns:1fr;gap:48px}}
@media (max-width:760px){.intro-grid{grid-template-columns:1fr;gap:24px}footer .wrap{grid-template-columns:1fr 1fr}}

/* v0.9b hero: copy left, tagline animation right, membership bar full width */
.hero-split{text-align:left}
.hero-split .hero-in{align-items:stretch}
.hero-top{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(24px,4vw,72px);align-items:center}
.hero-copy{min-width:0}
.badge .bsub{font-weight:600;color:rgba(255,255,255,.6);padding-left:10px;margin-left:2px;border-left:1px solid rgba(255,255,255,.2)}
.hero-split .h1{font-size:clamp(40px,min(6.4vw,11vh),118px);white-space:nowrap;margin-top:clamp(14px,2.4vh,26px)}
.hero-split .h1 .l1{display:inline}
.hero-split .lead{max-width:none;font-size:clamp(19px,1.6vw,25px);margin-top:clamp(12px,2.2vh,26px)}
.hero-split .support{max-width:54ch}
/* tagline as kinetic type: big, quiet, the words drift apart and come together; a soft light passes through */
.kin{container-type:inline-size;padding-left:4%;display:flex;flex-direction:column;align-items:flex-end;text-align:right;user-select:none;pointer-events:none}
.kin .w{display:block;font-weight:900;font-size:16.5cqi;line-height:.92;letter-spacing:-.045em;white-space:nowrap;
  color:transparent;background:linear-gradient(100deg,rgba(255,255,255,.075) 0 40%,rgba(212,245,60,.42) 50%,rgba(255,255,255,.075) 60% 100%);background-size:300% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;
  animation:kinMove 12s cubic-bezier(.65,0,.35,1) infinite,kinLight 12s linear infinite;animation-delay:calc(var(--i)*.12s),calc(var(--i)*.35s)}
@keyframes kinMove{0%,8%{transform:translateX(var(--dx));letter-spacing:.015em;opacity:.55}34%,78%{transform:none;letter-spacing:-.045em;opacity:1}100%{transform:translateX(var(--dx));letter-spacing:.015em;opacity:.55}}
@keyframes kinLight{0%,40%{background-position:100% 0}62%,100%{background-position:0 0}}
@media (prefers-reduced-motion:reduce){.kin .w{animation:none}}
/* membership bar */
.mem{width:100%;display:grid;grid-template-columns:1fr auto;gap:clamp(20px,3vw,48px);align-items:stretch;margin-top:clamp(20px,3.6vh,44px);padding:clamp(18px,2.6vh,28px) clamp(20px,2.4vw,36px)}
.memgets h2{font-size:15px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.gets{list-style:none;margin:clamp(10px,1.6vh,16px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,30px)}
.gets li{display:flex;flex-direction:column;gap:6px;padding-top:12px;border-top:3px solid var(--c)}
.gets b{font-size:clamp(17px,1.3vw,20px);font-weight:800;line-height:1.25;color:#fff}
.gets span{font-size:15px;line-height:1.45;color:rgba(255,255,255,.7)}
.memcta{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;padding-left:clamp(20px,3vw,48px);border-left:1px solid rgba(255,255,255,.12);min-width:280px}
.btn.big{height:64px;padding:0 36px;font-size:19px;width:100%}
.memcta p{font-size:15px;color:rgba(255,255,255,.65)}
.memcta p b{color:#fff;font-size:16px}
.memlinks a{color:#fff;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}
.memlinks a:hover{border-bottom-color:var(--acc)}
@media (max-height:780px) and (min-width:900px){.gets span{display:none}.support{display:none}}
@media (max-width:1100px){.mem{grid-template-columns:1fr}.memcta{padding-left:0;border-left:0;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 22px}.btn.big{width:auto}}
@media (max-width:860px){.hero-top{grid-template-columns:1fr}.gets{grid-template-columns:1fr;gap:14px}}
@media (max-width:640px){.hero-split .h1{font-size:clamp(34px,10.4vw,56px)}.memcta{flex-direction:column;align-items:stretch;text-align:center}.btn.big{width:100%}.badge .bsub{display:none}}
@media (max-width:480px){.nav .btn{display:none}}
/* H1 always fits its column on one line: sized by the column width (container units) */
.hero-copy{container-type:inline-size}
.hero-split .h1{font-size:clamp(30px,min(10.4cqi,11vh),112px)}
/* mobile: copy, then membership + CTA, then the animation */
@media (max-width:860px){.hero-split .hero-in{display:flex;flex-direction:column}.hero-top{display:contents}.hero-copy{order:1}.mem{order:2}.kin{display:none}}
@media (max-width:640px){.hero-split .h1{white-space:normal;font-size:clamp(44px,13.5vw,64px)}.hero-split .h1 .l1{display:block}}

/* v0.10 hero "photo": copy + CTA left, faces right, benefit links below */
.hero-photo .hero-in{justify-content:flex-start}
.hero-photo .hero-top{grid-template-columns:1.15fr 1fr;align-items:center}
.hero-photo .h1{font-size:clamp(30px,min(11.2cqi,11.5vh),116px)}
.hcta{display:flex;align-items:center;gap:18px 26px;flex-wrap:wrap;margin-top:clamp(20px,3.4vh,40px)}
.hcta .btn.big{width:auto}
.hcta p{font-size:15px;line-height:1.5;color:rgba(255,255,255,.62)}
.hcta p b{color:#fff;font-size:16px}
.hcta p a{color:#fff;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}
.hcta p a:hover{border-bottom-color:var(--acc)}
.faces{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.2vw,20px);max-width:600px;justify-self:end;width:100%}
.face{margin:0}
.face.f2,.face.f4{transform:translateY(clamp(20px,4vh,44px))}
.face .ph{aspect-ratio:4/5;max-height:min(25vh,300px);width:100%;border-radius:18px;overflow:hidden;background:radial-gradient(120% 90% at 30% 10%,color-mix(in srgb,var(--c) 45%,transparent),transparent 65%),var(--bg);display:grid;place-items:center;border:1px solid rgba(255,255,255,.08)}
.face img{width:100%;height:100%;object-fit:cover;display:block}
.face .ini{font-weight:900;font-size:clamp(34px,3.4vw,56px);letter-spacing:-.04em;color:var(--c)}
.face p{margin-top:10px;display:flex;flex-direction:column;gap:2px;font-size:14px;line-height:1.3}
.face p b{color:#fff;font-size:15px}
.face p span{color:rgba(255,255,255,.58)}
.gets-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,28px);margin-top:clamp(28px,6vh,72px)}
.gets-bar a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0 0;border-top:3px solid var(--c);color:#fff;font-weight:800;font-size:clamp(16px,1.25vw,19px);text-decoration:none}
.gets-bar a .arrow{color:var(--c);transition:transform .2s}
.gets-bar a:hover .arrow{transform:translateX(4px)}
@media (max-height:760px) and (min-width:900px){.face p span{display:none}.face .ph{max-height:21vh}}
@media (max-width:860px){.hero-photo .hero-in{display:flex;flex-direction:column}.hero-photo .hero-top{display:grid;grid-template-columns:1fr}.faces{justify-self:start;grid-template-columns:repeat(4,1fr);max-width:none;margin-top:28px}.face.f2,.face.f4{transform:none}.face .ph{max-height:none}.face p span{display:none}.gets-bar{grid-template-columns:1fr}}
@media (max-width:640px){.hero-photo .h1{white-space:normal;font-size:clamp(44px,13.5vw,64px)}.hcta{flex-direction:column;align-items:stretch}.hcta .btn.big{width:100%}.faces{grid-template-columns:repeat(2,1fr)}}
.face .ini.long{font-size:clamp(16px,1.5vw,24px);letter-spacing:-.01em}
/* v0.10 fixes */
.hero-photo .h1{font-size:clamp(30px,min(10.5cqi,11.5vh),112px)}
.hero-photo .lead{max-width:34ch;text-wrap:balance}
.face .ph{background:radial-gradient(120% 90% at 30% 10%,color-mix(in srgb,var(--c) 22%,transparent),transparent 70%),rgba(255,255,255,.04)}
.face .ini{font-size:clamp(26px,2.4vw,40px);color:color-mix(in srgb,var(--c) 75%,#fff)}
@media (max-width:860px){.hero-photo .hero-copy{order:1}.hero-photo .faces{order:2}}
@media (max-width:640px){.faces{grid-template-columns:repeat(4,1fr);gap:8px}.face .ph{aspect-ratio:3/4;border-radius:12px}.face .ini{font-size:15px}.face .ini.long{font-size:9px}.face p{display:none}}
@media (max-width:640px){.hero-photo .h1{font-size:clamp(44px,13.5vw,64px)}}

/* v0.11 hero "center" */
.hero-center{text-align:center}
.hero-center .hero-in{align-items:center}
.hero-center .hero-copy{width:100%;container-type:inline-size;display:flex;flex-direction:column;align-items:center}
.hero-center .h1{white-space:nowrap;font-size:clamp(30px,min(9.4cqi,12vh),140px);margin-top:clamp(16px,2.8vh,30px)}
.hero-center .h1 .l1{display:inline}
.rot.glide{transition:opacity .35s,transform .45s cubic-bezier(.2,.8,.2,1),width .5s cubic-bezier(.4,0,.2,1);text-align:left}
.hero-center .lead{max-width:none;font-size:clamp(19px,1.7vw,26px);margin-top:clamp(14px,2.6vh,30px);text-wrap:balance}
.hero-center .hcta{flex-direction:column;align-items:center;gap:14px;margin-top:clamp(22px,3.8vh,44px)}
.hero-center .hcta p{text-align:center}
.hero-center .gets-bar{width:100%;max-width:1200px;margin-top:clamp(36px,8vh,96px);text-align:left}
@media (max-width:860px){.hero-center .gets-bar{grid-template-columns:1fr}}
@media (max-width:640px){.hero-center .h1{white-space:normal;font-size:clamp(44px,13.5vw,64px)}.hero-center .h1 .l1{display:block}.hero-center .hcta{align-items:stretch;width:100%}.hero-center .hcta .btn.big{width:100%}}
@media (max-width:860px){.hero-center .gets-bar{order:2}}

/* v0.11b: anchored rotating word + shorter hero so the ticker shows */
.rot.fixed u{display:inline-block;min-width:var(--rw,auto);text-align:center}
.rot.fixed.out,.rot.fixed.in{transform:none}
.rot.fixed u{transition:background .4s,color .22s}
.rot.fixed.out u,.rot.fixed.in u{color:transparent}
.rot.fixed{opacity:1!important}
.hero-center{min-height:0}
.hero-center .hero-in{padding-block:calc(var(--navh) + clamp(40px,8vh,96px)) clamp(40px,7vh,84px)}
.hero-center .gets-bar{margin-top:clamp(40px,7vh,80px)}

/* v0.13: full-height hero with the ticker as its base line */
.hero-center{min-height:100svh}
.hero>.hero-in{margin-block:auto}
.hero-center .hero-in{padding-block:calc(var(--navh) + clamp(28px,6vh,80px)) clamp(32px,6vh,72px)}

/* ticker: no fill. A dim line of capitals; words light up as they pass the centre */
.hero .ticker{position:relative;flex:none;width:100%;background:none;color:#fff;border-block:0;border-top:1px solid rgba(255,255,255,.1);text-align:left;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.hero .tk{gap:0;padding-block:clamp(16px,2.6vh,26px);animation:tick 70s linear infinite;font-weight:800;font-size:clamp(17px,1.5vw,24px);letter-spacing:.14em;text-transform:uppercase;line-height:1}
.hero .tk span{color:rgba(255,255,255,.22)}
.hero .tk .sep{width:6px;height:6px;border-radius:50%;background:var(--acc);box-shadow:none;transform:none;margin-inline:clamp(26px,2.6vw,48px);opacity:.35}
.hero .tk-lit{position:absolute;inset:0;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 22%,#000 42%,#000 58%,transparent 78%);mask-image:linear-gradient(90deg,transparent 22%,#000 42%,#000 58%,transparent 78%)}
.hero .tk-lit span{color:#fff;text-shadow:0 0 22px rgba(255,255,255,.35)}
.hero .tk-lit .sep{opacity:1}
.hero .ticker:hover .tk{animation-play-state:paused}
@media (max-width:640px){.hero .tk{animation-duration:48s;letter-spacing:.1em}.hero .tk-lit{-webkit-mask-image:linear-gradient(90deg,transparent 12%,#000 38%,#000 62%,transparent 88%);mask-image:linear-gradient(90deg,transparent 12%,#000 38%,#000 62%,transparent 88%)}}

/* MacBook Pro mockup: screenshot slot 16:10 */
.mbp{margin:0;min-width:0;width:100%;max-width:980px;justify-self:center;perspective:2200px;filter:drop-shadow(0 40px 50px rgba(0,21,48,.22))}
.mbp-lid{width:88%;margin-inline:auto;padding:1.7% 1.7% 2.6%;border-radius:3.2% 3.2% 0 0/5% 5% 0 0;background:#0d0f14;box-shadow:inset 0 0 0 1px #2b2f38,0 0 0 1.5px #b8bcc4;position:relative;transform-origin:50% 100%;transition:transform 1.3s cubic-bezier(.2,.8,.2,1)}
.mbp-lid::before{content:"";position:absolute;top:.55%;left:50%;width:.9%;aspect-ratio:1;border-radius:50%;background:#1d2230;box-shadow:inset 0 0 0 1px #2c3344;transform:translateX(-50%)}
.mbp-screen{aspect-ratio:16/10;overflow:hidden;border-radius:.6%;background:#0B1033}
.mbp-screen img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}
.mbp-base{position:relative;height:0;padding-bottom:3.1%;border-radius:0 0 12% 12%/0 0 100% 100%;background:linear-gradient(180deg,#e9ebef 0%,#cfd2d8 38%,#a9adb5 100%);box-shadow:inset 0 1px 0 #fff}
.mbp-base::before{content:"";position:absolute;top:0;left:50%;width:15%;height:42%;transform:translateX(-50%);border-radius:0 0 10px 10px/0 0 8px 8px;background:linear-gradient(180deg,#b9bdc4,#d6d9de)}
.mbp.shut .mbp-lid{transform:rotateX(-62deg)}
@media (max-width:980px){.mbp{max-width:720px}}

/* ---- v0.14: Our community logos, Jobs by EBCG, In-house training (from the current ebcg.com) ---- */
.cl{text-align:center;padding-block:clamp(72px,8vw,120px)}
.cl .eyebrow{justify-content:center}
.cl .h2{max-width:20ch;margin:18px auto 56px;text-wrap:balance}
.cl-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}
.cl-grid img{width:100%;height:auto;aspect-ratio:2/1;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:14px;filter:grayscale(1);opacity:.7;transition:filter .3s,opacity .3s,transform .3s}
.cl-grid img:hover{filter:none;opacity:1;transform:translateY(-3px)}
.jb{--jb-o:#ea5619;--jb-n:#002e5e;position:relative;overflow:hidden;padding-block:clamp(80px,9vw,140px);background:#f0f0f0;color:var(--jb-n)}
.jb:before{content:"";position:absolute;inset:0 auto 0 0;width:9px;background:var(--jb-o)}
.jb-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:center}
.jb-eyebrow{margin:0 0 22px;font-weight:700;font-size:15px;color:var(--jb-o)}
.jb h2{margin:0;font-size:clamp(48px,6vw,88px);font-weight:900;line-height:.92;letter-spacing:-.05em;color:var(--jb-n)}
.jb h2 span{color:var(--jb-o)}
.jb-copy>p:not(.jb-eyebrow):not(.jb-note){max-width:620px;margin:30px 0;color:#5b6670;font-size:16px;line-height:1.75}
.jb-note{display:flex;flex-direction:column;gap:7px;margin:30px 0 35px;padding-left:20px;border-left:3px solid var(--jb-o)}
.jb-note span{color:#727980;font-size:13px}
.jb .btn.jb-btn{--bg:var(--jb-o);--fg:#fff}
.jb .btn.jb-btn:hover{--bg:var(--jb-n);--fg:#fff}
.jb-visual{position:relative;min-height:460px;display:grid;place-items:center;border-radius:26px;background:var(--jb-n);overflow:hidden}
.jb-visual:before{content:"";position:absolute;width:78%;aspect-ratio:1;border:1px solid rgba(255,255,255,.2);transform:rotate(45deg)}
.jb-visual:after{content:"";position:absolute;width:190px;height:190px;right:-70px;top:-70px;background:var(--jb-o);border-radius:50%}
.jb-visual img{position:relative;z-index:1;width:86%;filter:brightness(0) invert(1);opacity:.94;transform:rotate(-4deg)}
.jb-stat{position:absolute;z-index:2;right:24px;bottom:24px;display:flex;flex-direction:column;min-width:164px;padding:20px 22px;border-radius:14px;background:var(--jb-o);color:#fff;text-align:left;box-shadow:0 18px 40px rgba(0,0,0,.18)}
.jb-stat strong{font-size:27px}.jb-stat small{margin-top:4px;font-size:10px;letter-spacing:.09em;text-transform:uppercase}
.ih{background:var(--mist)}
.ih-grid{display:grid;grid-template-columns:1fr .9fr;gap:8vw;align-items:end}
.ih .h2{margin-top:18px}
.ih-lead{margin:28px 0;color:var(--muted);font-size:16px}
.ih-phone{display:flex;flex-direction:column;gap:7px;margin-top:48px;padding-top:22px;border-top:1px solid var(--line)}
.ih-phone span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.ih-phone a{width:max-content;color:var(--blue);font-size:clamp(23px,2.2vw,32px);font-weight:700;text-decoration:none}
.ih-form{padding:40px;border-radius:var(--r);background:#fff;box-shadow:0 25px 80px rgba(0,17,85,.1)}
.ih-form label{display:block;margin-bottom:14px;color:var(--navy);font-size:13px;font-weight:700}
.ih-row{display:flex;gap:8px}
.ih-row input{min-width:0;flex:1;padding:18px;border:1px solid var(--line);border-radius:12px;color:var(--ink);font:inherit;outline:none;transition:border-color .2s,box-shadow .2s}
.ih-row input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(41,69,232,.1)}
.ih-row .btn{padding:18px;font-size:13px;white-space:normal;text-align:left}
.ih-grid>*,.jb-grid>*{min-width:0}
.ih-msg{min-height:18px;margin:12px 0 0;color:var(--blue);font-size:12px}
@media(max-width:1000px){.cl-grid{grid-template-columns:repeat(4,1fr)}.jb-grid,.ih-grid{gap:6vw}}
@media(max-width:760px){.jb-grid,.ih-grid{grid-template-columns:1fr;gap:44px}.jb-visual{min-height:340px;order:-1}.cl-grid{grid-template-columns:repeat(3,1fr);gap:8px}.ih-row{flex-direction:column}.ih-form{padding:26px}.ih-row .btn{justify-content:space-between}}
@media(max-width:480px){.cl-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1200px){.ih-row{flex-direction:column}.ih-row input{flex:none}.ih-row .btn{justify-content:space-between}}

/* Production enquiry form */
.ih-form .ih-consent,.ih-form .ebcg-consent-field{display:flex;align-items:flex-start;gap:10px;margin-top:18px}
.ih-form .ih-consent input,.ih-form .ebcg-consent-field input{flex:0 0 auto;width:18px;height:18px;margin:2px 0 0}
.ih-form .ih-consent label,.ih-form .ebcg-consent-field label{font-size:14px;line-height:1.5;font-weight:400;margin:0}
.ih-consent a{text-decoration:underline}.ih-msg{font-size:14px}.ih-msg.error{color:#a71d2a}.ih-msg.success{color:#24613b}
