*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body.eo-timeline{font-family:"Space Grotesk",system-ui,sans-serif;background:#fff;color:#0a0a0a;line-height:1.55;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:#0057ff;text-decoration:none}
a:hover{text-decoration:underline}

/* header */
.eo-head{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.25rem;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:2px solid #0057ff}
.eo-logo{font-weight:700;font-size:1.15rem;color:#0a0a0a;text-decoration:none}
.eo-logo em{color:#0057ff;font-style:normal}
.eo-nav{display:flex;gap:1.25rem}
.eo-nav a{color:#0a0a0a;font-weight:500;font-size:.9rem;text-decoration:none}
.eo-nav a:hover{color:#0057ff}
.eo-burger{display:none;width:44px;height:44px;border:2px solid #0057ff;background:#fff;border-radius:4px;cursor:pointer;align-items:center;justify-content:center;padding:0}
.eo-burger span,.eo-burger span::before,.eo-burger span::after{display:block;width:20px;height:2px;background:#0057ff;position:relative}
.eo-burger span::before,.eo-burger span::after{content:"";position:absolute;left:0}
.eo-burger span::before{top:-6px}
.eo-burger span::after{top:6px}
.eo-backdrop{display:none;position:fixed;inset:0;background:rgba(0,87,255,.15);z-index:90}

/* horizontal track — desktop */
.eo-track{display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;height:100vh;padding-top:60px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#0057ff #eee}
.eo-track::-webkit-scrollbar{height:8px}
.eo-track::-webkit-scrollbar-thumb{background:#0057ff;border-radius:4px}
.eo-panel{flex:0 0 100vw;scroll-snap-align:start;min-height:calc(100vh - 60px);display:flex;flex-direction:column;justify-content:center;padding:2rem 3rem;border-right:1px solid #e8e8e8}

/* panel 1 hero split */
.eo-panel-hero{flex-direction:row;align-items:center;gap:3rem;background:linear-gradient(135deg,#fff 55%,#e8f0ff 100%)}
.eo-hero-copy{flex:1;max-width:520px}
.eo-tag{display:inline-block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#0057ff;margin-bottom:1rem}
.eo-panel-hero h1{font-size:clamp(1.75rem,3.5vw,2.75rem);font-weight:700;line-height:1.15;margin-bottom:1rem;color:#0a0a0a}
.eo-hero-copy p{font-size:1rem;color:#333;margin-bottom:.75rem}
.eo-hero-img{flex:1;max-width:560px;border:3px solid #0057ff;border-radius:2px;overflow:hidden}
.nb-disclaimer{font-size:.82rem;background:#f0f6ff;border-left:4px solid #0057ff;padding:.75rem 1rem;margin-top:1rem;color:#222}

/* panel 2 bleed */
.eo-panel-bleed{padding:0;position:relative}
.eo-bleed-fig{width:100%;height:100%;min-height:calc(100vh - 60px);position:relative}
.eo-bleed-fig img{width:100%;height:100%;object-fit:cover;min-height:calc(100vh - 60px)}
.eo-bleed-fig figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,87,255,.85));color:#fff;padding:2.5rem 3rem 2rem;font-size:1.25rem;font-weight:600}

/* panel 3 mosaic */
.eo-panel-mosaic h2{font-size:1.5rem;margin-bottom:1.5rem;color:#0057ff}
.eo-mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:1rem;max-width:900px}
.eo-mosaic-a{grid-column:1;grid-row:1 / 3}
.eo-mosaic-b{grid-column:2;grid-row:1}
.eo-mosaic-c{grid-column:2;grid-row:2}
.eo-mosaic-d{grid-column:1 / 3;grid-row:3}
.eo-mosaic figure{border:2px solid #0057ff;overflow:hidden;background:#f8f8f8}
.eo-mosaic img{width:100%;height:100%;object-fit:cover;min-height:140px}
.eo-mosaic-a img{min-height:280px}
.eo-mosaic figcaption{padding:.5rem .75rem;font-size:.8rem;font-weight:600;background:#0057ff;color:#fff}

/* panel 4 protocol */
.eo-panel-protocol{background:#0057ff;color:#fff;max-width:none}
.eo-panel-protocol h2{font-size:1.75rem;margin-bottom:2rem}
.eo-steps{list-style:none;max-width:640px}
.eo-steps li{display:flex;gap:1rem;align-items:flex-start;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.25);font-size:1.05rem}
.eo-steps strong{font-size:1.5rem;color:#fff;opacity:.7;min-width:2.5rem}

.eo-panel-faq,.eo-panel-planes{background:#fff;align-items:flex-start;justify-content:flex-start;padding-top:3rem}
.eo-panel-faq h2,.eo-panel-planes h2{font-size:1.5rem;color:#0057ff;margin-bottom:1.25rem}
.eo-faq-list{max-width:640px;width:100%}
.eo-faq-list details{border-bottom:1px solid #e8e8e8;padding:.85rem 0}
.eo-faq-list summary{cursor:pointer;font-weight:600}
.eo-faq-list p{margin:.45rem 0 0;color:#333}
.eo-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:900px;width:100%}
.eo-plan-grid article{border:2px solid #0057ff;padding:1.1rem}
.eo-plan-grid h3{font-size:1.05rem;margin-bottom:.4rem}
.eo-plan-note{margin-top:1rem;font-size:.88rem;color:#555;max-width:640px}
.sub-page{max-width:42rem;margin:0 auto;padding:5.5rem 1.25rem 5rem}
.sub-page h1{font-size:clamp(1.6rem,3vw,2.1rem);margin-bottom:1rem}
.sub-page h2{font-size:1.1rem;color:#0057ff;margin:1.5rem 0 .4rem}
.sub-page p,.sub-page li{margin:.5rem 0;color:#333}
.sub-nav{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.25rem 0 1.75rem;font-size:.88rem;font-weight:600}
@media(max-width:960px){.eo-plan-grid{grid-template-columns:1fr}}
/* panel 5 contact */
.eo-panel-contact{background:#fafafa;align-items:flex-start}
.eo-panel-contact h2{font-size:1.5rem;margin-bottom:.5rem}
.eo-form{display:grid;gap:.75rem;max-width:420px;margin-top:1rem;width:100%}
.eo-form label{display:grid;gap:.25rem;font-size:.85rem;font-weight:500}
.eo-form input,.eo-form select,.eo-form textarea{font-family:inherit;padding:.6rem .75rem;border:2px solid #ccc;border-radius:0;font-size:1rem}
.eo-form input:focus,.eo-form select:focus,.eo-form textarea:focus{outline:none;border-color:#0057ff}
.eo-form button{font-family:inherit;padding:.75rem 1.5rem;background:#0057ff;color:#fff;border:none;font-weight:600;cursor:pointer;font-size:1rem}
.eo-form button:hover{background:#0046cc}
.form-fb{font-size:.85rem;color:#0057ff}
.form-fb.on{display:block}

/* footer + cookie */
.eo-foot{position:fixed;bottom:0;left:0;right:0;z-index:50;padding:.75rem 1rem 1rem;background:#fff;border-top:1px solid #eee;font-size:.75rem;text-align:center}
.eo-foot a{color:#0057ff}
.site-legal-note{max-width:42rem;margin:.55rem auto 0;font-size:.68rem;line-height:1.55;color:#777}
.site-legal-note a{color:#555}
.ck-banner{position:fixed;bottom:2.5rem;left:1rem;right:1rem;max-width:480px;margin:0 auto;background:#0a0a0a;color:#fff;padding:1rem 1.25rem;border-radius:4px;display:none;z-index:200;align-items:center;justify-content:space-between;gap:1rem;font-size:.85rem}
.ck-banner.on{display:flex}
.ck-banner button{background:#0057ff;color:#fff;border:none;padding:.5rem 1rem;font-family:inherit;font-weight:600;cursor:pointer;white-space:nowrap}

/* mobile: vertical stack */
@media(max-width:960px){
.eo-burger{display:flex}
.eo-nav{position:fixed;top:60px;right:0;width:min(280px,85vw);background:#fff;border-left:3px solid #0057ff;flex-direction:column;padding:1.5rem;gap:1rem;transform:translateX(100%);transition:transform .25s;z-index:95;height:calc(100vh - 60px)}
body.nav-open .eo-nav{transform:translateX(0)}
body.nav-open .eo-backdrop{display:block}
.eo-track{flex-direction:column;overflow-x:hidden;overflow-y:auto;scroll-snap-type:y mandatory;height:auto;min-height:100vh;padding-top:60px;padding-bottom:3rem}
.eo-panel{flex:none;width:100%;min-height:auto;scroll-snap-align:start;border-right:none;border-bottom:1px solid #eee;padding:2rem 1.25rem}
.eo-panel-hero{flex-direction:column}
.eo-hero-img{max-width:100%}
.eo-panel-bleed .eo-bleed-fig,.eo-panel-bleed .eo-bleed-fig img{min-height:50vh}
.eo-mosaic{grid-template-columns:1fr}
.eo-mosaic-a,.eo-mosaic-b,.eo-mosaic-c,.eo-mosaic-d{grid-column:1;grid-row:auto}
.eo-foot{position:relative;margin-top:0}
}
