@font-face{font-family:"Montserrat";src:url(fonts/montserrat.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--i0:#040b1e;--i1:#071536;--i2:#0d2250;--ocean:#2a7bff;--lagoon:#1fd6c8;--tx:#f2f7ff;--mut:#a9bbdc;--glass:rgba(255,255,255,.07);--gl:rgba(255,255,255,.15);--grad:linear-gradient(135deg,#2a7bff 0%,#1fd6c8 100%);
 --disp:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;--body:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--i0);color:var(--tx);font:400 1.02rem/1.7 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}a{color:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible,.day:focus-visible{outline:3px solid #8fc0ff;outline-offset:3px;border-radius:8px}
.wrap{max-width:76rem;margin:0 auto;padding:0 28px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;color:#000;padding:8px 14px;z-index:99}
/* aurora */
.aurora{position:fixed;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(120% 80% at 50% -10%,var(--i2),var(--i0) 60%)}
.aurora i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;animation:drift 26s ease-in-out infinite alternate}
.aurora i:nth-child(1){width:60vw;height:60vw;left:-15vw;top:-20vw;background:#1f5fe8}
.aurora i:nth-child(2){width:50vw;height:50vw;right:-18vw;top:6vh;background:#17c9c1;opacity:.38;animation-duration:32s;animation-delay:-8s}
.aurora i:nth-child(3){width:46vw;height:46vw;left:20vw;bottom:-26vw;background:#2a4fd0;opacity:.4;animation-duration:38s;animation-delay:-14s}
.aurora::after{content:"";position:absolute;inset:0;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
@keyframes drift{to{transform:translate3d(6vw,4vh,0) scale(1.12)}}
/* header */
.bar{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s,backdrop-filter .3s,border-color .3s;border-bottom:1px solid transparent}
.bar.solid{background:rgba(5,12,32,.62);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border-color:var(--gl)}
.bar .in{max-width:76rem;margin:0 auto;padding:14px 28px;display:flex;align-items:center;gap:26px}
.brand{display:flex;align-items:center;gap:11px;font:700 1.2rem/1 var(--disp);letter-spacing:-.01em;text-decoration:none;margin-right:auto}
.brand img{width:36px;height:36px;border-radius:10px;box-shadow:0 4px 18px rgba(31,214,200,.4)}
.bar a.nl{text-decoration:none;font-weight:600;font-size:1rem;opacity:.85;padding:6px 2px}.bar a.nl:hover{opacity:1}
.pill{font-weight:700;font-size:.9rem;padding:9px 16px;border-radius:999px;background:var(--glass);border:1px solid var(--gl);text-decoration:none}
/* type */
h1,h2,h3{font-family:var(--disp);margin:0;color:var(--tx)}
h1{font-weight:800;font-size:clamp(2.5rem,5.2vw,4.5rem);line-height:1.04;letter-spacing:-.035em}
h2{font-weight:700;font-size:clamp(1.8rem,3.8vw,2.9rem);line-height:1.1;letter-spacing:-.028em}
h3{font-weight:650;font-size:1.25rem;line-height:1.2}
p{margin:0 0 1em}.mut{color:var(--mut)}
.lead{font-size:1.12rem;color:var(--mut);max-width:34ch}
/* hero */
.hero{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px;align-items:center;max-width:76rem;margin:0 auto;padding:120px 28px 70px}
.hero h1{margin-bottom:26px;max-width:12ch}
.btns{display:flex;flex-wrap:wrap;gap:14px;margin:34px 0 28px}
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;padding:15px 28px;border-radius:999px;text-decoration:none;color:#031024;background:var(--grad);box-shadow:0 10px 40px -8px rgba(31,214,200,.55),inset 0 1px 0 rgba(255,255,255,.5);transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 50px -8px rgba(31,214,200,.7),inset 0 1px 0 rgba(255,255,255,.5)}
.btn.ghost{color:var(--tx);background:var(--glass);border:1px solid var(--gl);box-shadow:none;backdrop-filter:blur(12px)}
.btn.ghost:hover{background:rgba(255,255,255,.12)}
.trust{display:flex;flex-wrap:wrap;gap:10px 22px;color:var(--mut);font-size:1rem;padding:0;margin:0;list-style:none}
.trust li{display:flex;align-items:center;gap:8px}.trust svg{width:18px;height:18px;flex:none;color:var(--lagoon)}
.stagewrap{position:relative;display:flex;justify-content:center}
.device{position:relative;width:min(330px,78vw);border-radius:56px;padding:11px;background:linear-gradient(145deg,#1a2342,#080d1f);box-shadow:0 0 0 1.5px rgba(255,255,255,.18),0 70px 120px -30px rgba(31,214,200,.35),0 40px 80px -20px rgba(0,0,10,.7)}
.device .screen{position:relative;border-radius:45px;overflow:hidden;background:#fff;aspect-ratio:620/1340}
.device .screen img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.chip{position:absolute;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:18px;background:rgba(14,30,66,.55);border:1px solid var(--gl);backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);box-shadow:0 20px 50px -20px rgba(0,0,0,.6);font-size:.95rem;line-height:1.25;white-space:nowrap}
.chip b{font:700 1.15rem/1 var(--disp);display:block;letter-spacing:-.01em}.chip span{color:var(--mut);font-size:.85rem}
.chip .dot{width:38px;height:38px;border-radius:12px;background:var(--grad);display:grid;place-items:center;color:#031024}
.chip .dot svg{width:20px;height:20px}
.c1{right:-16%;top:8%;animation:bob 7s ease-in-out infinite alternate}
.c2{right:-19%;top:40%;animation:bob 8s ease-in-out -3s infinite alternate}
.c3{right:-21%;bottom:6%}
@keyframes bob{to{transform:translateY(-12px)}}
/* entrance */
.in-a{opacity:0;transform:translateY(20px);animation:rise .9s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--d,0)*120ms + .1s)}
@keyframes rise{to{opacity:1;transform:none}}
/* story */
.story{padding:40px 0 60px}
.story .head{max-width:46rem;margin:0 0 20px}
.story .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:60px}
.steps{padding:12vh 0 18vh}
.step{min-height:68vh;display:flex;flex-direction:column;justify-content:center;opacity:.32;transition:opacity .5s}
.step.on{opacity:1}
.step h2{font-size:clamp(1.7rem,3vw,2.4rem);margin-bottom:16px;max-width:16ch}
.step p{color:var(--mut);max-width:40ch;font-size:1.02rem}
.step ul{list-style:none;padding:0;margin:8px 0 0;max-width:38ch}
.step li{padding:10px 0;border-top:1px solid var(--gl);color:var(--tx);font-size:.95rem}
.sticky{position:sticky;top:11vh;height:78vh;display:flex;align-items:center;justify-content:center}
.sticky .device{width:min(340px,100%);}
.sticky .screen img{opacity:0;transform:scale(1.03);transition:opacity .6s,transform .8s}
.sticky .screen img.on{opacity:1;transform:none}
.m-shot{display:none}
/* ribbon */
.ribbon{padding:90px 0}
.glasspanel{background:var(--glass);border:1px solid var(--gl);border-radius:32px;padding:44px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 40px 100px -40px rgba(0,0,0,.6)}
.rhead{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:end;margin-bottom:44px}
.month{display:grid;grid-template-columns:15fr 16fr;gap:24px}
.pp{min-width:0}
.pphead{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--gl);padding-bottom:10px;margin-bottom:14px}
.pphead b{font:600 1rem var(--disp);color:var(--mut)}.pphead span{font:700 1.45rem var(--disp);letter-spacing:-.02em}
.days{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:5px;height:210px}
.day{display:flex;flex-direction:column;justify-content:flex-end;height:100%;position:relative}
.day i{display:block;border-radius:7px 7px 3px 3px;background:var(--grad);height:calc(var(--r)*(100% - 22px));min-height:4px;transform-origin:bottom;transform:scaleY(.02);opacity:.3;transition:transform 1s cubic-bezier(.2,.8,.2,1),opacity .6s;transition-delay:calc(var(--i)*30ms)}
.month.go .day i{transform:none;opacity:1}
.day.z i{background:rgba(255,255,255,.16)}
.day em{font:600 .72rem/1 var(--body);font-style:normal;text-align:center;color:var(--mut);margin-top:7px}
.day .tip{position:absolute;bottom:calc(var(--r)*(100% - 22px) + 30px);left:50%;transform:translateX(-50%);background:#fff;color:#04112b;font:700 .8rem var(--body);padding:5px 9px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;z-index:2}
.day:hover .tip,.day:focus .tip{opacity:1}
.day:nth-child(-n+3) .tip{left:0;transform:none}.day:nth-last-child(-n+3) .tip{left:auto;right:0;transform:none}
.note-s{color:var(--mut);font-size:.95rem;margin:26px 0 0}
/* privacy */
.privacy{padding:90px 0}
.privacy h2{font-size:clamp(2.2rem,5vw,4rem);max-width:13ch;line-height:1.05;margin-bottom:46px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.gcard{background:var(--glass);border:1px solid var(--gl);border-radius:26px;padding:28px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.gcard .ico{width:46px;height:46px;border-radius:14px;background:var(--grad);display:grid;place-items:center;color:#031024;margin-bottom:18px}.gcard .ico svg{width:24px;height:24px}
.gcard h3{margin-bottom:8px}.gcard p{margin:0;color:var(--mut);font-size:1.02rem}
.plink{display:inline-block;margin-top:28px;font-weight:700}
/* cta */
.cta{padding:40px 0 70px}
.ctabox{display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center;background:linear-gradient(135deg,rgba(42,123,255,.28),rgba(31,214,200,.2));border:1px solid var(--gl);border-radius:34px;padding:44px}
.ctabox img{width:92px;height:92px;border-radius:24px;box-shadow:0 14px 50px -10px rgba(31,214,200,.6)}
.ctabox h2{font-size:clamp(1.5rem,2.8vw,2.2rem);margin-bottom:6px}.ctabox p{margin:0;color:var(--mut)}
.indep{max-width:62ch;color:var(--mut);font-size:1rem;margin:34px 0 0}
/* footer */
footer{border-top:1px solid var(--gl);padding:40px 0 56px;background:rgba(2,7,20,.5)}
footer .in{max-width:76rem;margin:0 auto;padding:0 28px;display:flex;flex-wrap:wrap;gap:12px 32px;align-items:baseline;justify-content:space-between}
footer nav{display:flex;flex-wrap:wrap;gap:8px 26px;font-weight:600}footer a{text-decoration:none}footer a:hover{text-decoration:underline}
footer small{color:var(--mut);display:block;max-width:64ch;margin-top:14px;flex-basis:100%}
/* docs */
.docwrap{padding:120px 20px 60px}
.doc{max-width:46rem;margin:0 auto;background:rgba(247,250,255,.97);color:#0a1f44;border-radius:30px;padding:48px;box-shadow:0 50px 120px -40px rgba(0,0,0,.7)}
.doc h1{color:#0a1f44;font-size:clamp(1.9rem,4vw,2.6rem);margin-bottom:8px}.doc h2{color:#0a1f44;font-size:1.4rem;margin:2rem 0 .3rem}
.doc .meta{color:#46587a}.doc a{color:#1f5fe0}.doc p{color:#16294d}
.doc details{border-top:1px solid #d5e0ee;padding:16px 0}.doc details:last-of-type{border-bottom:1px solid #d5e0ee}
.doc summary{font:650 1.15rem/1.3 var(--disp);color:#0a1f44;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}
.doc summary::-webkit-details-marker{display:none}.doc summary::after{content:"+";font-size:1.5rem;line-height:1;color:#2a7bff;transition:transform .2s}
.doc details[open] summary::after{transform:rotate(45deg)}.doc details p{margin:.8rem 0 0;color:#46587a}
/* responsive */
@media(max-width:940px){
 .hero{grid-template-columns:1fr;padding-top:110px;min-height:0;text-align:left}.hero h1{max-width:none}.chip{display:none}
 .story .grid{grid-template-columns:1fr}.sticky{display:none}.steps{padding:20px 0}.step{min-height:0;opacity:1;margin-bottom:64px}
 .m-shot{display:block;margin:30px auto 0;width:min(300px,80%);border-radius:44px;border:9px solid #0a1022;box-shadow:0 40px 80px -30px rgba(0,0,0,.7)}
 .rhead{grid-template-columns:1fr}.month{grid-template-columns:1fr;gap:34px}.days{height:150px}.glasspanel{padding:26px}
 .cards{grid-template-columns:1fr}.ctabox{grid-template-columns:1fr;text-align:left;padding:30px}.doc{padding:30px 22px}.bar a.nl{display:none}}
@media(prefers-reduced-motion:reduce){.aurora i,.chip,.in-a{animation:none!important;opacity:1;transform:none}.day i,.step,.sticky .screen img{transition:none}.month .day i{transform:none;opacity:1}html{scroll-behavior:auto}}

/* Programs */
.programs{padding:84px 0 24px}
.phead{max-width:46rem;margin-bottom:34px}.phead .lead{max-width:56ch}.phead h2{max-width:none;margin-bottom:16px}
.pkicker{font:700 .8rem var(--disp);letter-spacing:.14em;text-transform:uppercase;color:#7fe3ff;margin:0 0 16px}
.pgrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}.pgrid .pc{grid-column:span 2}.pgrid .pc:nth-child(n+5){grid-column:span 3}
.pc{padding:26px;display:flex;flex-direction:column;gap:6px;transition:transform .25s ease,border-color .25s ease}
.pc:hover{transform:translateY(-4px);border-color:rgba(127,227,255,.5)}
.pc h3{font-size:1.3rem;line-height:1.2;margin:10px 0 4px}.pc h3 b{font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.pc p{font-size:.96rem;line-height:1.6}
.ptag{display:flex;align-items:center;gap:10px;color:var(--mut);font-size:.82rem;font-weight:600}
.ptag span{display:inline-grid;place-items:center;min-width:44px;height:30px;padding:0 10px;border-radius:999px;background:var(--grad);color:#031024;font-weight:800;font-size:.8rem;letter-spacing:.04em}
.pgrid .pc.feat{grid-column:1/-1;flex-direction:column;padding:32px;background:linear-gradient(135deg,rgba(39,138,255,.22),rgba(24,182,217,.12));border-color:rgba(127,227,255,.4)}
.pc.feat h3{font-size:clamp(1.7rem,3.4vw,2.4rem)}.pc.feat p{max-width:60ch;font-size:1.04rem}
.pnote{max-width:68ch;color:var(--mut);font-size:.95rem;margin:30px 0 0}.pnote strong{color:var(--tx)}
@media (max-width:940px){.pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.pgrid .pc,.pgrid .pc:nth-child(n+5){grid-column:span 1}.pgrid .pc:last-child{grid-column:1/-1}.programs{padding-top:60px}}
@media (max-width:620px){.pgrid{grid-template-columns:1fr}.pgrid .pc:last-child{grid-column:auto}.pc.feat{padding:26px}}
@media (prefers-reduced-motion:reduce){.pc{transition:none}.pc:hover{transform:none}}
@media (max-width:360px){.glasspanel{overflow-x:clip}.programs .wrap{padding:0 20px}}

.progbar{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 22px;padding:10px 20px;border-radius:999px;background:var(--grad);color:#031024;font:800 clamp(.82rem,1.6vw,1rem)/1.2 var(--disp);letter-spacing:.02em;box-shadow:0 10px 30px rgba(24,150,220,.35)}
.progbar i{font-style:normal;opacity:.6}
@media (max-width:420px){.progbar{padding:9px 14px;gap:7px;font-size:.78rem}}
.herodis{margin:18px 0 0;max-width:46ch;font-size:.85rem;color:var(--mut)}

/* ---- v8: photography, lighter sections ---- */
.hero{min-height:min(100vh,780px);padding-bottom:40px}
.eyebrow{font:800 .8rem/1 var(--disp);letter-spacing:.14em;text-transform:uppercase;color:#1858c9;margin:0 0 16px}
.eyebrow.dk{color:#7fe3ff}
figure{margin:0}
.hphoto img,.tphoto img{width:100%;height:auto;border-radius:30px;border:1px solid rgba(255,255,255,.22);box-shadow:0 40px 90px -35px rgba(0,0,0,.75),0 0 0 6px rgba(255,255,255,.04)}
.hphoto figcaption,.tphoto figcaption{font-size:.74rem;color:rgba(255,255,255,.85)}
/* human connection: light panel */
.human{padding:56px 16px 24px}
.humanwrap{position:relative;max-width:76rem;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,68px);align-items:center;padding:clamp(30px,5vw,68px);border-radius:40px;color:#0b1b3d;background:linear-gradient(135deg,#eef6ff 0%,#f8fbff 52%,#e4f8f6 100%);box-shadow:0 50px 120px -40px rgba(0,0,10,.75);overflow:hidden}
.humanwrap::before{content:"";position:absolute;width:420px;height:420px;right:-120px;top:-140px;border-radius:50%;background:radial-gradient(circle,rgba(31,214,200,.28),transparent 70%);pointer-events:none}
.human h2{color:#0a1f44;max-width:18ch;margin-bottom:20px;font-size:clamp(2rem,4.2vw,3.2rem)}
.human .gt{background:linear-gradient(135deg,#1858c9,#0a7f76);-webkit-background-clip:text;background-clip:text;color:transparent}
.human p{color:#2c4166;font-size:1.08rem;max-width:46ch}
.human .eyebrow{color:#1858c9}
.hpills{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:22px 0 0}
.hpills li{padding:8px 16px;border-radius:999px;background:#fff;border:1px solid #cfe0f7;color:#0f2a5c;font-weight:700;font-size:.9rem;box-shadow:0 6px 18px -10px rgba(20,60,140,.35)}
.hphoto{position:relative}
.hphoto::before{content:"";position:absolute;inset:18px -14px -18px 14px;border-radius:32px;background:var(--grad);opacity:.22;z-index:0}
.hphoto picture{position:relative;display:block;z-index:1}
.hphoto img{border:6px solid #fff;box-shadow:0 30px 60px -28px rgba(10,30,80,.55)}
.hphoto figcaption{position:relative;z-index:1;color:#46587a;margin-top:10px;text-align:right}
/* how it works */
.story .storyhead{max-width:none;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,5vw,60px);align-items:center;margin-bottom:6px}
.story .storyhead h2{margin-bottom:14px}.story .storyhead .lead{max-width:40ch}
.tphoto img{border-radius:26px}.tphoto figcaption{margin-top:10px;text-align:right}
/* privacy: light panel */
.privacy.light{padding:60px 16px}
.privacy.light .wrap{max-width:76rem;border-radius:40px;padding:clamp(30px,5vw,64px);background:linear-gradient(135deg,#eef6ff 0%,#f8fbff 55%,#e4f8f6 100%);color:#0b1b3d;box-shadow:0 50px 120px -40px rgba(0,0,10,.75)}
.privacy.light h2{color:#0a1f44;max-width:16ch;margin-bottom:18px}
.privacy.light .privnote{color:#2c4166;font-size:1.08rem;max-width:62ch;margin:0 0 34px}
.privacy.light .gcard{background:#fff;border:1px solid #d3e3f8;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 18px 40px -26px rgba(20,60,140,.4)}
.privacy.light .gcard h3{color:#0a1f44}.privacy.light .gcard p{color:#3b5078}
.privacy.light .plink{color:#1858c9}
@media(max-width:940px){
 .humanwrap{grid-template-columns:1fr}.human h2{max-width:none}
 .hphoto{max-width:30rem;margin:6px auto 0;width:100%}
 .story .storyhead{grid-template-columns:1fr}.tphoto{max-width:30rem}
}
@media(max-width:620px){
 .human{padding:34px 12px 10px}.humanwrap{border-radius:28px}.privacy.light{padding:40px 12px}.privacy.light .wrap{border-radius:28px}
 .tphoto figcaption,.hphoto figcaption{color:var(--mut)}.hphoto figcaption{color:#46587a}
}
html{overflow-x:clip}

/* ---- v9: refinements ---- */
html{scroll-padding-top:88px}
[id]{scroll-margin-top:88px}
.hero{min-height:min(100vh,760px);padding-bottom:56px}
/* How it works: one balanced two-column layout (text + photo + steps | sticky phone) */
.story{padding:24px 0 16px}
.story .grid{gap:clamp(32px,5vw,72px);align-items:start}
.steps{padding:0}
.story .storyhead{display:block;max-width:none;margin:0 0 22px}
.story .storyhead .lead{max-width:44ch;margin-bottom:0}
.story .storyhead .tphoto{max-width:30rem;margin-top:24px}
.step{min-height:0;padding:28px 0;border-top:1px solid var(--gl);opacity:.4}
.step.on{opacity:1}
.step li{border-top-color:rgba(255,255,255,.1)}
.sticky{top:104px;height:auto;align-self:start;padding:6px 0 24px;display:flex;justify-content:center}
/* tighter rhythm between sections */
.human{padding:40px 16px 12px}
.programs{padding:56px 0 12px}
.ribbon{padding:56px 0}
.privacy.light{padding:32px 16px 40px}
.cta{padding:16px 0 56px}
@media(max-width:940px){
 .story .grid{gap:0}
 .story .storyhead{margin-bottom:12px}
 .step{padding:0;border-top:0;margin-bottom:44px;opacity:1}
 .human{padding:28px 12px 8px}.programs{padding-top:44px}.ribbon{padding:40px 0}.privacy.light{padding:24px 12px 32px}.cta{padding:8px 0 40px}
}
/* v10: sticky scrollytelling */
.story .grid{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);align-items:start}
.step{min-height:clamp(340px,56vh,520px);display:flex;flex-direction:column;justify-content:center;padding:36px 0;transition:opacity .45s}
.sticky{position:sticky;top:96px;height:calc(100svh - 120px);max-height:760px;align-self:start;display:flex;align-items:center;justify-content:center;padding:0}
.sticky .device{--h:min(calc(100svh - 136px),740px);width:fit-content;padding:11px}
.sticky .device .screen{height:calc(var(--h) - 22px);width:auto;aspect-ratio:620/1347}
.sticky .screen img{transition:opacity .55s ease,transform .7s ease}
@media(max-width:940px){.story .grid{grid-template-columns:1fr}.sticky{display:none}.step{min-height:0;padding:0;margin-bottom:48px;opacity:1}.m-shot{display:block;margin:26px auto 0;width:min(320px,84%);height:auto}}
@media(prefers-reduced-motion:reduce){.sticky .screen img{transition:opacity .01s;transform:none}.step{transition:none}}
body{overflow-x:visible}
@media(min-width:941px){.steps{padding-bottom:48px}.step:last-of-type{min-height:calc(100svh - 80px)}}
