:root{--ink:#0f1b4c;--paper:#fbfbf7;--blue:#5b7cff;--red:#e5484d;--hl:#f7d94c;--g:#2b2f3a;--r:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{font:400 17px/1.65 "Bricolage Grotesque",system-ui,sans-serif;color:var(--g);background:var(--paper);overflow-x:hidden}
img{display:block;max-width:100%;object-fit:cover;background:#dfe4f5}a{color:inherit}
h1,h2,h3{font-weight:800;line-height:1.02;color:var(--ink);letter-spacing:-.03em}
.bar{position:fixed;top:0;left:0;height:3px;width:0;background:var(--red);z-index:60}
header{position:fixed;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:14px clamp(18px,4vw,48px);z-index:50;transition:background .3s,box-shadow .3s}
header.s{background:rgba(251,251,247,.92);backdrop-filter:blur(10px);box-shadow:0 1px 0 #0f1b4c18}
.brand{display:flex;gap:10px;align-items:center;font-weight:800;color:var(--ink);text-decoration:none;font-size:19px}.lg{width:36px}
nav{display:flex;gap:26px;align-items:center}nav a{text-decoration:none;font-weight:700;font-size:15px;color:var(--ink)}
.pill{background:var(--ink);color:#fff;padding:9px 18px;border-radius:99px;transition:background .3s}.pill:hover{background:var(--red)}nav .pill{color:#fff}
.mb{display:none;background:none;border:0;width:40px;height:40px;position:relative}.mb i{position:absolute;left:8px;right:8px;height:2px;background:var(--ink);transition:.3s}.mb i:first-child{top:15px}.mb i:last-child{top:23px}
.hero{position:relative;min-height:100svh;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:20px;padding:120px clamp(18px,5vw,70px) 70px 12vw;background:repeating-linear-gradient(transparent 0 47px,#5b7cff30 47px 48px),var(--paper);overflow:hidden}
.margin{position:absolute;left:9vw;top:0;bottom:0;width:2px;background:var(--red);opacity:.7;transform-origin:top;animation:grow 1.2s var(--r) both}
@keyframes grow{from{transform:scaleY(0)}}
h1{font-size:clamp(40px,6.2vw,92px)}h1 .ln{display:block;overflow:hidden;padding-bottom:.08em}h1 .ln>span{display:inline-block;transform:translateY(105%);animation:up 1s var(--r) forwards}
.ln:nth-child(2)>span{animation-delay:.12s}.ln:nth-child(3)>span{animation-delay:.24s}.ln:nth-child(4)>span{animation-delay:.36s}
@keyframes up{to{transform:none}}
.hl{background:linear-gradient(var(--hl),var(--hl)) 0 88%/0 .5em no-repeat;animation:up 1s .24s var(--r) forwards,mark 1s 1.2s var(--r) forwards}
@keyframes mark{to{background-size:100% .5em}}
.lead{max-width:30em;margin:26px 0;font-size:19px;opacity:0;animation:fade 1s 1s forwards}.cta{display:flex;gap:26px;align-items:center;opacity:0;animation:fade 1s 1.2s forwards}
@keyframes fade{to{opacity:1}}
.btn{display:inline-block;background:var(--ink);color:#fff;border:0;padding:15px 28px;border-radius:99px;font:700 16px inherit;font-family:inherit;text-decoration:none;cursor:pointer;transition:transform .3s var(--r),background .3s}.btn:hover{background:var(--red);transform:translateY(-3px)}
.tl{font-weight:700;color:var(--ink);text-underline-offset:6px}
.stack{position:relative;height:min(70vh,560px)}.stack img{position:absolute;box-shadow:0 24px 50px #0f1b4c33;border:8px solid #fff;will-change:transform}
.p1{width:62%;aspect-ratio:3/4;left:6%;top:4%;rotate:-5deg}.p2{width:58%;aspect-ratio:1;right:0;top:26%;rotate:4deg}.p3{width:46%;aspect-ratio:4/3;left:22%;bottom:0;rotate:-2deg}
.seal{position:absolute;width:128px;right:6%;bottom:6%;animation:spin 22s linear infinite}@keyframes spin{to{rotate:360deg}}
.tape{background:var(--ink);color:#fff;overflow:hidden;rotate:-1.2deg;margin:-18px -10px 30px;padding:16px 0;position:relative;z-index:2}
.tk{display:flex;gap:44px;width:max-content;animation:mq 30s linear infinite;font-weight:800;font-size:24px}.tk span:nth-child(odd){color:var(--hl)}@keyframes mq{to{transform:translateX(-50%)}}
.wrap{max-width:1180px;margin:auto;padding:0 clamp(18px,4vw,40px)}
.story{padding:90px 0}.story .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.sticky{position:sticky;top:100px}.sticky img{width:100%;aspect-ratio:4/5;border-radius:240px 240px 12px 12px}
.txt h2{font-size:clamp(34px,4.5vw,60px);margin-bottom:28px}.big{font-family:Newsreader,serif;font-style:italic;font-size:clamp(22px,2.4vw,31px);line-height:1.35;color:var(--ink);margin-bottom:22px}
.note{margin-top:26px;padding-left:16px;border-left:3px solid var(--red);font-weight:700;color:var(--ink)}
.range{background:var(--hl);padding:90px 0 0;clip-path:polygon(0 4%,8% 0,20% 3%,35% 0,50% 3%,65% 0,80% 3%,92% 0,100% 3%,100% 100%,0 100%)}
.rh{padding:30px clamp(18px,5vw,70px) 34px;display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}.rh h2{font-size:clamp(36px,5vw,70px)}
.tabs{display:flex;height:min(72vh,560px);gap:8px;padding:0 8px}
.tabs article{position:relative;flex:1;overflow:hidden;border-radius:140px 140px 0 0;cursor:pointer;transition:flex .8s var(--r);outline-offset:-4px}.tabs article.on{flex:5}
.tabs img{position:absolute;inset:0;width:100%;height:100%;filter:saturate(.7) brightness(.7);transition:filter .6s,scale 1.2s}.tabs .on img{filter:none;scale:1.05}
.tabs div{position:absolute;left:0;right:0;bottom:0;padding:26px;color:#fff;background:linear-gradient(transparent,#0f1b4ccc)}
.tabs h3{color:#fff;font-size:26px;white-space:nowrap}.tabs p{max-height:0;overflow:hidden;opacity:0;transition:.6s var(--r);max-width:26em}.tabs .on p{max-height:120px;opacity:1;margin-top:8px}
.flow{padding:100px 0}.flow h2{font-size:clamp(32px,4.4vw,58px);max-width:12em}.path{width:100%;height:110px;margin:20px 0}
.flow ol{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:0;counter-reset:s}.flow li{counter-increment:s}.flow li:nth-child(2){margin-top:40px}.flow li:nth-child(3){margin-top:80px}
.flow li::before{content:counter(s);display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--ink);color:#fff;font-weight:800;margin-bottom:12px}
.flow b{display:block;font-size:24px;color:var(--ink);margin-bottom:6px}
.num{background:var(--ink);color:#fff;padding:70px 0}.num .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.num strong{display:block;font-size:clamp(44px,6vw,84px);line-height:1;font-weight:800;color:var(--hl)}.num span{opacity:.8}
.mos{position:relative;height:clamp(520px,80vw,780px);margin:60px 0}.mos img{position:absolute;will-change:transform}
.m1{left:5%;top:0;width:38%;aspect-ratio:4/5;border-radius:200px 200px 0 0}.m2{right:6%;top:8%;width:30%;aspect-ratio:1;border-radius:50%}.m3{left:32%;bottom:0;width:34%;aspect-ratio:4/3;border-radius:12px 100px 12px 100px}
.mos p{position:absolute;right:6%;bottom:6%;width:min(34%,420px);font-family:Newsreader,serif;font-style:italic;font-size:clamp(20px,2.4vw,32px);line-height:1.25;color:var(--ink)}
.contact{padding:90px 0;background:var(--ink)}.contact .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center}
.pad{background:var(--hl);padding:44px 40px 40px 70px;border-radius:6px;rotate:-1.5deg;background-image:repeating-linear-gradient(transparent 0 35px,#0f1b4c1f 35px 36px);position:relative;box-shadow:0 30px 60px #0006}
.pad::before{content:"";position:absolute;left:46px;top:0;bottom:0;width:2px;background:var(--red)}
.pad h2{font-size:clamp(28px,3.4vw,44px);margin-bottom:22px}label{display:block;font-weight:700;color:var(--ink);margin-bottom:14px;font-size:15px}
input,textarea{display:block;width:100%;margin-top:4px;padding:10px 0;border:0;border-bottom:2px solid var(--ink);background:transparent;font:inherit;color:var(--g);outline:0}input:focus,textarea:focus{border-color:var(--red)}
address{font-style:normal;color:#fff}address h3{color:var(--hl);font-size:34px;margin-bottom:12px}address p{margin-bottom:16px}address a{text-underline-offset:4px}.sm{font-size:14px;opacity:.7}
footer{background:#0a1236;color:#ffffffaa;text-align:center;padding:22px 18px;font-size:14px}
.rv{opacity:0;transform:translateY(34px);transition:opacity .9s,transform .9s var(--r)}.rv.in{opacity:1;transform:none}
a:focus-visible,button:focus-visible,article:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:860px){.mb{display:block;z-index:2}nav{position:fixed;inset:0;background:var(--paper);flex-direction:column;justify-content:center;font-size:26px;gap:24px;translate:100% 0;transition:translate .5s var(--r)}nav a{font-size:26px}nav.o{translate:0}
.hero{grid-template-columns:1fr;padding:110px 20px 50px 28px}.margin{left:14px}.stack{height:360px}.seal{width:92px}
.story{padding:60px 0}.story .wrap,.contact .wrap{grid-template-columns:1fr;gap:34px}.sticky{position:static}.sticky img{aspect-ratio:1}
.tabs{flex-direction:column;height:auto}.tabs article{flex:none;height:92px;border-radius:50px;transition:height .7s var(--r)}.tabs article.on{height:340px}.tabs div{padding:20px}
.flow ol{grid-template-columns:1fr;gap:26px}.flow li:nth-child(n){margin-top:0}.num .wrap{grid-template-columns:1fr 1fr}.pad{padding:30px 22px 26px 50px}.pad::before{left:30px}
.mos p{position:static;width:auto;padding:0 20px}.mos{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 14px}.mos img{position:static;width:100%!important;aspect-ratio:1!important}.m1{grid-column:span 2}.mos p{grid-column:span 2}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}h1 .ln>span{transform:none}.hl{background-size:100% .5em}.lead,.cta{opacity:1}.rv{opacity:1;transform:none}html{scroll-behavior:auto}}
