/* TRENDER — site.css (generated site, edit here then run build_site.py) */
:root{
  --bg:#000;--bg2:#09090b;--bg3:#111114;
  --line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.15);--line3:rgba(255,255,255,.28);
  --tx:#f5f5f6;--tx2:rgba(245,245,246,.66);--tx3:rgba(245,245,246,.42);
  --pad:clamp(20px,5vw,72px);--max:1240px;
  --fd:'Inter Tight','Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --fb:'Inter','Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --fm:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --ease:cubic-bezier(.2,.7,.1,1);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:#000}
body{background:var(--bg);color:var(--tx);font-family:var(--fb);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;word-break:keep-all;overflow-wrap:break-word;overflow-x:hidden}
::selection{background:#fff;color:#000}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul{list-style:none}
.wrap{width:100%;max-width:calc(var(--max) + var(--pad)*2);margin:0 auto;padding:0 var(--pad)}
br.mo{display:none}.mo-i{display:none}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:100;background:#fff;color:#000;padding:8px 12px}
:focus-visible{outline:1px solid #fff;outline-offset:3px}

/* type */
.label{font-family:var(--fm);font-size:11px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--tx3);display:inline-flex;align-items:center;gap:12px}
.label::before{content:none}
.h1{font-family:var(--fd);font-weight:500;font-size:clamp(46px,7.6vw,108px);line-height:.98;letter-spacing:-.035em}
.h2{font-family:var(--fd);font-weight:500;font-size:clamp(36px,5.2vw,72px);line-height:1.02;letter-spacing:-.03em}
.h3{font-family:var(--fd);font-weight:500;font-size:clamp(20px,1.8vw,24px);line-height:1.25;letter-spacing:-.015em}
.lead{font-size:clamp(16px,1.2vw,18px);color:var(--tx2);line-height:1.75}
.mono{font-family:var(--fm);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--tx3)}

/* buttons */
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;height:50px;padding:0 26px;font-size:12px;font-weight:500;line-height:1;letter-spacing:.16em;text-transform:uppercase;color:var(--tx);border:1px solid rgba(255,255,255,.5);overflow:hidden;isolation:isolate;transition:color .5s var(--ease),border-color .5s var(--ease);white-space:nowrap}
.btn::before{content:'';position:absolute;inset:0;background:#fff;transform:scaleY(0);transform-origin:50% 100%;transition:transform .5s var(--ease);z-index:-1}
.btn:hover{color:#000;border-color:#fff}.btn:hover::before{transform:scaleY(1)}
.btn-w{background:#fff;color:#000;border-color:#fff}
.btn-w::before{background:#000}
.btn-w:hover{color:#fff;border-color:#fff}
.btn .ar{display:inline-block;transition:transform .5s var(--ease)}.btn:hover .ar{transform:translateX(4px)}
.tlink{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--tx);padding-bottom:8px;position:relative}
.tlink::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line3)}
.tlink::before{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:#fff;transform:scaleX(0);transform-origin:right;transition:transform .6s var(--ease);z-index:1}
.tlink:hover::before{transform:scaleX(1);transform-origin:left}
.tlink .ar{transition:transform .5s var(--ease)}.tlink:hover .ar{transform:translateX(4px)}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);border-bottom:1px solid transparent;transition:background .5s var(--ease),border-color .5s var(--ease)}
.nav.scrolled{background:rgba(0,0,0,.64);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);border-bottom-color:var(--line)}
/* chrome logos: the logo shape filled with a slowly flowing metal gradient, plus a specular glint that sweeps across every few seconds */
@property --sx{syntax:'<percentage>';inherits:false;initial-value:-40%}
.chrome{position:relative;display:block;line-height:0}
.chrome>img{opacity:0}
.chrome::after{content:'';position:absolute;inset:0;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;
  background:linear-gradient(104deg,transparent calc(var(--sx) - 14%),rgba(236,243,255,.0) calc(var(--sx) - 9%),rgba(246,250,255,.95) var(--sx),rgba(236,243,255,0) calc(var(--sx) + 9%),transparent calc(var(--sx) + 14%)),
    linear-gradient(100deg,#5e5e60,#a2a4a8,#dcdee2,#fff,#e9ebee,#adb0b5,#7d8085,#a9acb1,#e2e4e8,#fff,#cdd0d4,#6c6e72);
  background-size:100% 100%,400% 100%;background-position:0 0,0 50%;
  animation:chm 26s linear infinite,chs 7.5s cubic-bezier(.5,0,.25,1) infinite}
@keyframes chm{from{background-position:0 0,0 50%}to{background-position:0 0,400% 50%}}
@keyframes chs{0%{--sx:-40%}38%{--sx:140%}100%{--sx:140%}}
.nav-logo .chrome{--m:url(nav-icon.png)}.nav-logo .chrome::after{animation-delay:0s,-3.2s}
.hero-logo .chrome{--m:url(logo.png)}
.hero-logo{filter:drop-shadow(0 0 28px rgba(170,190,255,.10)) drop-shadow(0 0 2px rgba(255,255,255,.12))}
@media(prefers-reduced-motion:reduce){.chrome::after{animation:none}}
.nav-logo{position:relative;z-index:2}
.nav-logo img{height:22px;width:auto}
.nav-links{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:36px}
.nav-links a{position:relative;padding:6px 0;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--tx2);transition:color .4s}
.nav-links a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:#fff;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav-links a:hover,.nav-links a.on{color:var(--tx)}
.nav-links a:hover::after,.nav-links a.on::after{transform:scaleX(1);transform-origin:left}
.nav-cta{height:38px;padding:0 18px;font-size:11px}
.burger{display:none;position:relative;z-index:2;width:40px;height:40px;margin-right:-8px}
.burger span{position:absolute;left:10px;right:10px;height:1.5px;background:#fff;transition:transform .5s var(--ease),top .5s var(--ease)}
.burger span:nth-child(1){top:16px}.burger span:nth-child(2){top:23px}
.menu-open .burger span:nth-child(1){top:19.5px;transform:rotate(45deg)}
.menu-open .burger span:nth-child(2){top:19.5px;transform:rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:45;background:#000;display:flex;flex-direction:column;justify-content:space-between;padding:120px var(--pad) 40px;opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility .5s}
.menu-open{overflow:hidden}
.menu-open .menu{opacity:1;visibility:visible}
.menu nav a{display:block;font-family:var(--fd);font-weight:500;font-size:clamp(38px,10vw,60px);line-height:1.16;letter-spacing:-.035em;opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.menu-open .menu nav a{opacity:1;transform:none}
.menu nav a:nth-child(2){transition-delay:.04s}.menu nav a:nth-child(3){transition-delay:.08s}.menu nav a:nth-child(4){transition-delay:.12s}.menu nav a:nth-child(5){transition-delay:.16s}.menu nav a:nth-child(6){transition-delay:.2s}
.menu-foot{display:grid;gap:6px;font-size:14px;color:var(--tx2)}
.menu-foot .mono{margin-bottom:8px}

/* hero */
.hero{position:relative;height:100vh;height:100svh;height:var(--hh,100svh);min-height:660px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.fx{display:block;width:100%;height:100%}
.hero>.fx{position:absolute;inset:0}
.hero-in{position:absolute;left:0;right:0;top:72px;bottom:calc(20% + 26px);z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 var(--pad)}
.eyebrow{font-family:var(--fm);font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--tx3);margin-right:-.34em}
.hero-logo{width:clamp(250px,33vw,500px);margin:30px 0 26px}
.hero-logo img{width:100%;height:auto}
.hero-tag{font-family:var(--fd);font-weight:400;font-size:clamp(12px,1vw,14px);letter-spacing:.56em;text-transform:uppercase;margin-right:-.56em}
.hero-desc{margin-top:28px;font-size:clamp(15px,1.15vw,17px);color:var(--tx2);line-height:1.75}
.hero .btns{margin-top:38px;justify-content:center}
.hero .btns .btn{min-width:196px}
.hero .btn:not(.btn-w){background:rgba(0,0,0,.55)}
.scroll-cue{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:14px;font-family:var(--fm);font-size:10px;letter-spacing:.32em;color:var(--tx3);margin-right:-.32em}
.scroll-cue i{display:block;width:1px;height:42px;background:linear-gradient(rgba(255,255,255,.5),transparent);transform-origin:top;animation:cue 2.6s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0);opacity:1}60%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
.js .hero-in>*{opacity:0;transform:translateY(16px);transition:opacity 1.2s var(--ease),transform 1.2s var(--ease)}
.ready .hero-in>*{opacity:1;transform:none}
.hero-in>*:nth-child(2){transition-delay:.12s}.hero-in>*:nth-child(3){transition-delay:.24s}.hero-in>*:nth-child(4){transition-delay:.36s}.hero-in>*:nth-child(5){transition-delay:.48s}

/* marquee */
.mq{position:absolute;left:0;right:0;bottom:0;z-index:3;overflow:hidden;white-space:nowrap;border-top:1px solid var(--line);padding:20px 0;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.mq-t{display:inline-flex;animation:mq 60s linear infinite}
.mq span{font-family:var(--fm);font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--tx3);padding:0 28px}
.mq span.sep{color:rgba(255,255,255,.18);padding:0}
@keyframes mq{to{transform:translateX(-50%)}}

/* sections */
.sec{padding:clamp(110px,13vw,190px) 0}
.sec+.sec{border-top:1px solid var(--line)}
.sec-head{display:grid;grid-template-columns:1.2fr 1fr;gap:28px 64px;align-items:end;margin-bottom:clamp(52px,6vw,88px)}
.sec-head .label{grid-column:1/-1}
.sec-head .lead{justify-self:end;max-width:420px}

/* about (index) */
.st{text-align:center;position:relative;overflow:hidden;display:flex;align-items:center;min-height:clamp(560px,84vh,880px);min-height:clamp(560px,84svh,880px);min-height:clamp(560px,calc(var(--hh,100svh)*.84),880px)}.st>.wrap{position:relative;z-index:2;width:100%}
.st-media{position:absolute;inset:0;z-index:0;background:#000}
.st-star{position:relative;display:block;width:4px;height:4px;margin:0 auto 34px;border-radius:50%;background:#fff;box-shadow:0 0 8px 2px rgba(210,222,255,.8),0 0 30px 9px rgba(150,175,255,.16)}
.st-star::before,.st-star::after,.st-star i,.st-star i::before,.st-star i::after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}
.st-star::before{width:88px;height:1px;background:linear-gradient(90deg,transparent,rgba(214,225,255,.35) 30%,rgba(240,245,255,.95) 50%,rgba(214,225,255,.35) 70%,transparent)}
.st-star::after{width:1px;height:36px;background:linear-gradient(180deg,transparent,rgba(214,225,255,.3) 30%,rgba(240,245,255,.85) 50%,rgba(214,225,255,.3) 70%,transparent)}
.st-star i{width:64px;height:64px;border-radius:50%;background:radial-gradient(circle,rgba(160,185,255,.16),rgba(160,185,255,.05) 40%,transparent 68%)}
.st-star i::before,.st-star i::after{width:22px;height:1px;background:linear-gradient(90deg,transparent,rgba(225,233,255,.45),transparent)}
.st-star i::before{transform:translate(-50%,-50%) rotate(45deg)}.st-star i::after{transform:translate(-50%,-50%) rotate(-45deg)}
.st-star.in{animation:stg 4.8s ease-in-out infinite}.st-star.in::before,.st-star.in::after,.st-star.in i{animation:stp 4.8s ease-in-out infinite}
@keyframes stp{0%,100%{opacity:.6}50%{opacity:1}}
@keyframes stg{0%,100%{box-shadow:0 0 7px 2px rgba(210,222,255,.65),0 0 24px 7px rgba(150,175,255,.12)}50%{box-shadow:0 0 10px 2px rgba(210,222,255,.95),0 0 36px 11px rgba(150,175,255,.22)}}
@media(prefers-reduced-motion:reduce){.st-star.in,.st-star.in::before,.st-star.in::after,.st-star.in i{animation:none}}
.st-media>.fx{position:absolute;inset:0;width:100%;height:100%}

.st-h{margin-top:28px;font-family:var(--fd);font-weight:500;font-size:clamp(38px,5vw,72px);line-height:1.18;letter-spacing:-.035em}
.st-p{margin:34px auto 0}
.st .tlink{margin-top:46px}
.quote{margin-top:38px;padding-left:22px;border-left:1px solid var(--line3);font-family:var(--fd);font-size:clamp(19px,1.7vw,24px);font-weight:400;line-height:1.45;letter-spacing:-.015em}

/* services (index) */
.svc{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.svc a{position:relative;display:flex;flex-direction:column;min-height:320px;padding:clamp(28px,3.4vw,48px);background:#000;transition:background .6s var(--ease)}
.svc a:hover{background:var(--bg2)}
.svc .top{display:flex;justify-content:space-between;align-items:center}
.svc .ar{font-size:18px;color:var(--tx3);transition:transform .6s var(--ease),color .4s}
.svc a:hover .ar{transform:translate(4px,-4px);color:#fff}
.svc .h3{margin-top:auto;padding-top:64px;font-size:clamp(24px,2.3vw,32px);letter-spacing:-.025em}
.svc p{margin-top:14px;font-size:15px;color:var(--tx2);line-height:1.75}
.svc .tags{margin-top:26px;font-family:var(--fb);font-size:13px;letter-spacing:.01em;text-transform:none;color:var(--tx3)}

/* divisions */
.dgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.dcard{position:relative;display:block;aspect-ratio:3/4.2;border:1px solid var(--line);overflow:hidden;background:#000;transition:border-color .6s var(--ease)}
.dcard:hover{border-color:var(--line3)}
.dcard>.fx{position:absolute;inset:0}
.dcard::after{content:'';position:absolute;left:0;right:0;top:0;height:50%;z-index:1;pointer-events:none;background:linear-gradient(rgba(0,0,0,.9),rgba(0,0,0,.55) 45%,transparent)}
.dcard .no{position:absolute;top:20px;left:22px;z-index:2}
.dcard .meta{position:absolute;left:0;right:0;top:0;z-index:2;padding:26px 24px}
.dcard .nm{font-family:var(--fd);font-weight:500;font-size:clamp(20px,1.75vw,26px);letter-spacing:.16em;line-height:1}
.dcard .sub{margin-top:10px;font-size:12px;letter-spacing:.06em;color:var(--tx2)}
.dcard .go{flex:none;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line2);font-size:14px;transition:background .5s var(--ease),color .5s var(--ease),border-color .5s var(--ease)}
.dcard:hover .go{background:#fff;color:#000;border-color:#fff}

/* tools */
.tools{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.tools>div{position:relative;padding-top:26px;border-top:1px solid var(--line2)}
.tools .h3{font-size:18px}
.tools p{margin-top:14px;font-size:14px;line-height:1.9;color:var(--tx2)}

/* steps (index) */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.step{position:relative;padding-top:26px;border-top:1px solid var(--line2)}
.step::before{content:'';position:absolute;top:-1px;left:0;right:0;height:1px;background:rgba(255,255,255,.6);transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease)}
.step.in::before{transform:scaleX(1)}
.step .h3{margin:48px 0 10px}
.step p{font-size:15px;color:var(--tx2)}

/* cta */
.cta{position:relative;overflow:hidden;text-align:center;padding:clamp(130px,16vw,230px) 0;border-top:1px solid var(--line);background:radial-gradient(70% 60% at 50% 115%,rgba(150,175,255,.13),transparent 70%)}
.cta .h1{font-size:clamp(46px,7vw,104px)}
.cta .lead{margin:30px auto 0}
.cta .btns{justify-content:center;margin-top:44px}

/* footer */
.foot{border-top:1px solid var(--line);padding:80px 0 36px}
.foot-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
.foot-brand img{height:20px;width:auto}
.foot-brand p{margin-top:22px;font-size:14px;line-height:1.8;color:var(--tx3)}
.foot h5{font-family:var(--fm);font-weight:400;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--tx3);margin-bottom:20px}
.foot ul{display:grid;gap:11px}
.foot li,.foot a{font-size:14px;color:var(--tx2)}
.foot a{transition:color .3s}.foot a:hover{color:#fff}
.foot-bot{display:flex;justify-content:space-between;gap:16px;margin-top:80px;padding-top:26px;border-top:1px solid var(--line);font-size:12px;color:var(--tx3)}

/* page hero */
.phero{position:relative;display:flex;align-items:flex-end;min-height:64vh;min-height:64svh;min-height:calc(var(--hh,100svh)*.64);padding:clamp(150px,17vw,220px) 0 clamp(72px,8vw,110px);overflow:hidden;border-bottom:1px solid var(--line)}
.phero:not(.unit){padding:clamp(130px,13vw,180px) 0 clamp(110px,12vw,170px)}
.phero>.fx{position:absolute;inset:0;z-index:0}

.phero .wrap{position:relative;z-index:2}
.phero .h1{margin-top:24px}
.phero.unit>.fx{left:auto;width:min(80vw,1280px);-webkit-mask-image:linear-gradient(90deg,transparent 4%,#000 42%);mask-image:linear-gradient(90deg,transparent 4%,#000 42%)}
.phero.unit .h1{letter-spacing:.06em}
.phero .sub{margin-top:24px;font-family:var(--fm);font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--tx)}
.phero .lead{margin-top:22px;max-width:560px}

/* doc rows */
.doc{padding:clamp(24px,4vw,56px) 0 clamp(90px,11vw,150px)}
.row{display:grid;grid-template-columns:minmax(200px,320px) 1fr;gap:24px 72px;padding:clamp(44px,5vw,72px) 0;border-top:1px solid var(--line)}
.row:first-child{border-top:0}
.row>h2{align-self:start;position:sticky;top:110px;font-family:var(--fd);font-weight:500;font-size:clamp(22px,2vw,28px);line-height:1.2;letter-spacing:-.02em}
.row>h2 .no{display:block;margin-bottom:14px}
.body>*+*{margin-top:22px}
.body p{font-size:17px;color:var(--tx2);line-height:1.8}
.body p.big{font-family:var(--fd);font-size:clamp(22px,2.3vw,32px);line-height:1.38;letter-spacing:-.025em;color:var(--tx)}
.body p a{color:var(--tx);border-bottom:1px solid var(--line3);transition:border-color .3s}.body p a:hover{border-color:#fff}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.cards>div,.cards>a{display:block;padding:30px 30px 32px;background:#000;transition:background .5s var(--ease)}
.cards>a:hover{background:var(--bg2)}
.cards h3{font-family:var(--fd);font-weight:500;font-size:19px;letter-spacing:-.01em;margin-bottom:10px}
.cards p{font-size:15px;color:var(--tx2);line-height:1.75}
.cards .mono{display:block;margin-bottom:22px}
.list{border-top:1px solid var(--line)}
.list li{display:grid;grid-template-columns:52px 1fr;padding:19px 0;border-bottom:1px solid var(--line);font-size:16px}
.list li .mono{padding-top:5px}
.slist{border-top:1px solid var(--line)}
.slist li{display:grid;grid-template-columns:52px 200px 1fr;gap:0 24px;padding:22px 0;border-bottom:1px solid var(--line)}
.slist li .mono{padding-top:6px}
.slist b{font-family:var(--fd);font-weight:500;font-size:18px;letter-spacing:-.01em}
.slist span:last-child{font-size:15px;color:var(--tx2);line-height:1.75;padding-top:2px}
.kv{border-top:1px solid var(--line)}
.kv li{display:grid;grid-template-columns:180px 1fr;gap:0 24px;padding:19px 0;border-bottom:1px solid var(--line)}
.kv li>span:first-child{font-size:14px;color:var(--tx3);padding-top:2px}
.kv li>span:last-child{font-size:16px}
.kv a{border-bottom:1px solid var(--line3)}
.next{display:flex;flex-wrap:wrap;gap:12px}

/* contact */
.ccards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.ccards a{display:block;padding:34px 30px;background:#000;transition:background .5s var(--ease)}
.ccards a:hover{background:var(--bg2)}
.ccards .v{margin-top:22px;font-family:var(--fd);font-size:clamp(18px,1.6vw,23px);letter-spacing:-.015em}

/* reveal */
.js .rv{opacity:0;transform:translateY(24px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.js .rv.in{opacity:1;transform:none}
.d1{transition-delay:.08s!important}.d2{transition-delay:.16s!important}.d3{transition-delay:.24s!important}

/* responsive */
@media(max-width:1024px){
  .nav-links,.nav-cta{display:none}.burger{display:block}
  .dgrid{grid-template-columns:repeat(2,1fr)}
  .tools,.steps{grid-template-columns:repeat(2,1fr)}
  .foot-top{grid-template-columns:1fr 1fr 1fr}.foot-brand{grid-column:1/-1}
}
@media(max-width:768px){
  body{font-size:15px}
  br.d{display:none}br.mo{display:inline}.mo-i{display:inline}.d-i{display:none}
  .nav{height:64px}.nav-logo img{height:20px}
  .hero{min-height:600px}
  .hero-in{top:64px;bottom:calc(25% + 14px)}
  .mq{padding:16px 0}.mq span{font-size:11px;padding:0 20px;color:rgba(245,245,246,.6)}
  .sec{padding:84px 0}
  .hero-logo{width:min(60vw,250px);margin:22px 0 20px}
  .hero-tag{font-size:11px;letter-spacing:.46em;margin-right:-.46em}
  .hero-desc{margin-top:22px;font-size:14px}
  .hero .btns{margin-top:30px}
  .btn{height:46px;padding:0 20px;font-size:11px}
  .eyebrow{font-size:10px;letter-spacing:.22em;margin-right:-.22em}
  .hero .btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;max-width:272px}.hero .btns .btn{min-width:0;height:42px;padding:0 8px;gap:8px;font-size:10.5px;letter-spacing:.14em}.hero .btns .btn .ar{display:none}
  .cta .btns,.next{display:grid;grid-template-columns:1fr;gap:10px;width:100%;max-width:340px}.cta .btns{margin-left:auto;margin-right:auto}
  .cta .btns .btn,.next .btn{width:100%}
  .sec-head{grid-template-columns:1fr;gap:22px}.sec-head .lead{justify-self:start}
  .st{min-height:clamp(480px,72vh,620px);min-height:clamp(480px,72svh,620px);min-height:clamp(480px,calc(var(--hh,100svh)*.72),620px)}.st-star{margin-bottom:28px}.st-h{margin-top:22px;font-size:29px;line-height:1.3}.st .tlink{margin-top:38px}
  .svc{grid-template-columns:1fr}.svc a{min-height:0;padding:28px 24px 30px}.svc .h3{padding-top:36px}
  .dgrid{gap:10px}.dcard{aspect-ratio:3/4}.dcard .no{top:14px;left:14px}
  .dcard .meta{padding:18px 16px}.dcard .nm{font-size:17px;letter-spacing:.14em}.dcard .sub{font-size:11px;margin-top:8px}.dcard .go{display:none}
  .tools{grid-template-columns:1fr;gap:28px}
  .steps{grid-template-columns:1fr;gap:0}.step{padding:24px 0 26px}.step .h3{margin:16px 0 6px}
  .foot{padding-top:64px}.foot-top{grid-template-columns:1fr 1fr;gap:40px 20px}
  .foot-bot{flex-direction:column;margin-top:56px}
  .phero{min-height:0}.phero:not(.unit){padding-bottom:104px}
  .phero.unit>.fx{width:100%;opacity:.7;-webkit-mask-image:linear-gradient(180deg,#000 25%,transparent 95%);mask-image:linear-gradient(180deg,#000 25%,transparent 95%)}
  .row{grid-template-columns:1fr;gap:22px}.row>h2{position:static}
  .body p{font-size:15.5px}
  .cards{grid-template-columns:1fr}.cards>div,.cards>a{padding:26px 24px 28px}
  .list li{grid-template-columns:40px 1fr;font-size:15.5px}
  .slist li{grid-template-columns:40px 1fr;gap:6px 0}.slist li span:last-child{grid-column:2}
  .kv li{grid-template-columns:96px 1fr;gap:0 14px}.kv li>span:last-child{font-size:15px}
  .ccards{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .rv,.js .hero-in>*{opacity:1;transform:none}
}

/* facts band (index) */
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts>div{padding:clamp(40px,4.4vw,64px) clamp(20px,2.6vw,36px);border-left:1px solid var(--line)}
.facts>div:first-child{border-left:0;padding-left:0}
.facts .n{font-family:var(--fd);font-weight:400;font-size:clamp(46px,5.4vw,80px);line-height:1;letter-spacing:-.045em}
.facts .mono{display:block;margin-top:22px}
.facts p{margin-top:8px;font-size:14px;color:var(--tx2);line-height:1.6}
@media(max-width:768px){
  .facts{grid-template-columns:1fr 1fr}
  .facts>div{padding:30px 0 30px 18px}
  .facts>div:nth-child(odd){border-left:0;padding-left:0}
  .facts>div:nth-child(n+3){border-top:1px solid var(--line)}
  .facts .n{font-size:44px}.facts .mono{margin-top:16px}
}

/* touch: hover states come from scroll focus and taps */
@media(hover:none){
  .svc a.focus,.cards>a.focus,.ccards a.focus{background:var(--bg2)}
  .dcard.focus{border-color:var(--line3)}
  .svc a,.cards>a,.ccards a,.dcard{-webkit-tap-highlight-color:transparent}
  .svc a:active,.cards>a:active,.ccards a:active{background:var(--bg3)}
  .btn:active{color:#000;border-color:#fff}.btn:active::before{transform:scaleY(1)}
  .btn-w:active{color:#fff}
  .tlink:active::before,.nav-links a:active::after{transform:scaleX(1)}
}

/* custom cursor (mouse only): a dot that sits exactly on the pointer + a thin ring that trails it */
.has-cur,.has-cur *{cursor:none!important}.has-cur input,.has-cur textarea,.has-cur [contenteditable]{cursor:text!important}
.cur{position:fixed;left:0;top:0;z-index:9999;pointer-events:none;opacity:0;transition:opacity .35s ease;mix-blend-mode:difference}
.cur.on{opacity:1}.cur.txt{opacity:0}
.cur svg{position:fixed;left:0;top:0;display:block;overflow:visible;shape-rendering:geometricPrecision}
.cur-d{width:6px;height:6px;margin:-3px 0 0 -3px;transition:width .3s var(--ease),height .3s var(--ease),margin .3s var(--ease)}.cur-d circle{fill:#fff}
.cur-r{width:34px;height:34px;margin:-17px 0 0 -17px;transition:width .45s var(--ease),height .45s var(--ease),margin .45s var(--ease)}
.cur-r circle{fill:rgba(255,255,255,0);stroke:rgba(255,255,255,.45);stroke-width:1.1px;transition:fill .45s var(--ease),stroke .45s var(--ease)}
.cur.hov .cur-r{width:60px;height:60px;margin:-30px 0 0 -30px}.cur.hov .cur-r circle{fill:rgba(255,255,255,.07);stroke:rgba(255,255,255,.78)}
.cur.hov .cur-d{width:4px;height:4px;margin:-2px 0 0 -2px}
.cur.dn .cur-r{width:24px;height:24px;margin:-12px 0 0 -12px}.cur.dn .cur-r circle{stroke:rgba(255,255,255,.92)}
.cur.hov.dn .cur-r{width:46px;height:46px;margin:-23px 0 0 -23px}

/* no stray text caret (caret browsing / clicks on plain text); editable fields keep theirs. Logos & controls are not text to select */
html{caret-color:transparent}input,textarea,select,[contenteditable]{caret-color:auto}
.nav-logo,.hero-logo,.chrome,.btn,.tlink,.dcard,.svc a,.nav-links a,.mq{-webkit-user-select:none;user-select:none}
.nav-logo img,.hero-logo img{-webkit-user-drag:none}

@media(max-width:390px){.cards>div,.cards>a{padding-left:18px;padding-right:18px}.cards p{font-size:15px}}
