:root{
  --bg:#0b0b0c;
  --bg2:#141416;
  --fg:#f3f3f1;
  --mute:#9b9b9f;
  --line:rgba(255,255,255,.12);
  --acc:#4b74ff;
  --night:#060a16;
  --display:"Archivo",system-ui,sans-serif;
  --body:"Inter",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,monospace;
  --pad:clamp(20px,4vw,64px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--bg);color:var(--fg);font:400 17px/1.55 var(--body);-webkit-font-smoothing:antialiased;overflow-x:clip}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:90;background:url(/assets/img/grain.png);opacity:.06;mix-blend-mode:overlay}
img,video{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--display);margin:0;font-weight:800;letter-spacing:-.02em}
p{margin:0}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:200;background:var(--acc);color:#000;padding:10px 14px}
.skip:focus{left:8px}
::selection{background:var(--acc);color:#000}

/* buttons: square corners on purpose */
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--acc);color:#0b0b0c;text-decoration:none;font:700 15px/1 var(--display);font-stretch:110%;padding:16px 20px;border-radius:2px;transition:transform .25s,background .25s}
.btn svg{width:14px;height:14px}
.btn:hover{background:#fff;transform:translateY(-2px)}
.btn-sm{padding:11px 14px;font-size:14px}

/* loader */
.loader{display:none}
.js:not(.rm) .loader{display:flex;position:fixed;inset:0;z-index:150;background:var(--acc);color:#0b0b0c;align-items:flex-end;padding:var(--pad)}
.loader-inner{display:flex;justify-content:space-between;align-items:flex-end;width:100%}
.loader-name{font:800 clamp(22px,3vw,40px)/1 var(--display);font-stretch:120%;text-transform:uppercase}
.loader-count{font:900 clamp(80px,18vw,260px)/.8 var(--display);font-stretch:125%;font-variant-numeric:tabular-nums}

/* progress */
.progress{position:fixed;left:0;top:0;right:0;height:3px;z-index:120;pointer-events:none}
.progress span{display:block;height:100%;width:100%;background:var(--acc);transform-origin:0 50%;transform:scaleX(0)}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:18px var(--pad);mix-blend-mode:normal;transition:transform .4s,background .4s}
.nav.is-scrolled{background:rgba(11,11,12,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.nav.is-hidden{transform:translateY(-110%)}
.nav-mark{display:block;line-height:0}
.nav nav{display:flex;gap:30px}
.nav nav a{text-decoration:none;font:600 15px/1 var(--body);color:var(--fg);opacity:.75;transition:opacity .2s}
.nav nav a:hover{opacity:1}

/* hero */
.hero{position:relative;height:100vh;height:100svh}
.js:not(.rm) .hero{height:220vh}
.hero-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:0 var(--pad)}
.hero-glow{position:absolute;width:70vmax;height:70vmax;left:50%;top:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(75,116,255,.28),rgba(75,116,255,0) 60%);pointer-events:none;filter:blur(10px)}
.hero-kicker{font:600 clamp(15px,1.3vw,19px)/1 var(--body);color:var(--acc);margin-bottom:2vh;position:relative}
.hero-name{position:relative;display:flex;flex-direction:column;font-weight:900;font-stretch:125%;text-transform:uppercase;font-size:clamp(56px,13.4vw,260px);line-height:.8;letter-spacing:-.035em}
.hn{display:block;will-change:transform}
.hn-2{align-self:flex-end;display:flex;align-items:center;gap:.1em}
.hn-txt{-webkit-text-stroke:2px var(--fg);color:transparent}
.hn-face{width:.8em;height:.8em;object-fit:cover;object-position:50% 35%;border-radius:2px;filter:grayscale(1) contrast(1.08);transition:filter .6s}
.hero-name:hover .hn-face{filter:none}
.hero-bottom{position:relative;display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-top:5vh}
.hero-roll{font:700 clamp(22px,2.6vw,40px)/1.15 var(--display);font-stretch:105%;flex:1;min-width:0}
.roll{position:relative;display:block;height:1.2em;overflow:hidden;color:var(--acc);width:100%}
.roll-item{position:absolute;left:0;top:0;white-space:nowrap;transform:translateY(110%);transition:transform .7s cubic-bezier(.7,0,.2,1)}
.roll-item.is-on{transform:translateY(0)}
.roll-item.is-out{transform:translateY(-110%)}
.hero-sub{max-width:34ch;color:var(--mute);font-size:clamp(15px,1.2vw,18px)}
.hero-cue{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font:600 12px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.hero-cue i{width:1px;height:40px;background:linear-gradient(var(--fg),transparent);animation:cue 1.6s infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.hero-reveal{position:absolute;inset:0;z-index:2;clip-path:inset(50% 50% 50% 50%);pointer-events:none}
.hero-reveal img{width:100%;height:100%;object-fit:cover;filter:brightness(.42) saturate(.9)}
.hero-reveal-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 var(--pad);font:900 clamp(40px,7.5vw,140px)/.92 var(--display);font-stretch:120%;text-transform:uppercase;letter-spacing:-.03em}
.hero-reveal-copy span:nth-child(2){color:var(--acc)}
.rm .hero-reveal,html:not(.js) .hero-reveal{display:none}

/* marquee */
.marquee{padding:6vh 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:var(--bg)}
.mq-row{overflow:hidden;white-space:nowrap}
.mq-track{display:inline-flex;align-items:center;gap:3vw;will-change:transform}
.mq-track span{font:900 clamp(44px,8vw,130px)/1.05 var(--display);font-stretch:125%;text-transform:uppercase;letter-spacing:-.03em}
.mq-track b{width:.5em;height:.5em;font-size:clamp(44px,8vw,130px);background:var(--acc);flex:none}
.mq-b span{color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.55)}
.mq-b b{background:transparent;border:2px solid var(--acc)}

/* statement */
.statement{padding:22vh var(--pad);max-width:1500px;margin:0 auto}
.statement p{font:800 clamp(32px,4.6vw,84px)/1.08 var(--display);font-stretch:105%;letter-spacing:-.025em}
.split-words .w{display:inline-block;opacity:.14;transition:none}
.rm .split-words .w{opacity:1}

/* story */
.story{position:relative;background:var(--fg);color:var(--bg)}
.story-pin{height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;position:relative}
.story-title{position:absolute;top:96px;left:var(--pad);font-size:clamp(18px,1.6vw,24px);font-stretch:110%}
.story-track{display:flex;gap:4vw;padding:0 var(--pad);width:max-content;will-change:transform}
.panel{width:min(74vw,980px);flex:none;border-left:2px solid var(--bg);padding:0 0 0 3vw;display:flex;flex-direction:column;justify-content:center}
.panel-step{font:800 clamp(16px,1.4vw,20px)/1 var(--display);color:var(--acc);font-stretch:115%;margin-bottom:2vh}
.panel-num{font:900 clamp(90px,15vw,260px)/.85 var(--display);font-stretch:125%;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.panel h3{font-size:clamp(24px,2.6vw,44px);line-height:1.08;margin:3vh 0 2vh;max-width:22ch}
.panel p:last-child{max-width:46ch;font-size:clamp(16px,1.15vw,19px);color:#3a3a3d}
.story-bar{position:absolute;left:var(--pad);right:var(--pad);bottom:48px;height:2px;background:rgba(0,0,0,.12)}
.story-bar span{display:block;height:100%;background:var(--acc);transform-origin:0 50%;transform:scaleX(0)}
@media (max-width:820px),(prefers-reduced-motion:reduce){
  .story-pin{height:auto;padding:110px 0 60px}
  .story-title{position:static;padding:0 var(--pad) 30px}
  .story-track{flex-direction:column;width:auto;gap:60px}
  .panel{width:auto}
  .story-bar{display:none}
}

/* day / night */
.daynight{position:relative}
.js:not(.rm) .daynight{height:320vh}
.dn-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.dn-day,.dn-night{position:absolute;inset:0;display:flex;align-items:center;padding:0 var(--pad)}
.dn-day{background:#cfd8de}
.dn-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.7)}
.dn-day::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,10,.82),rgba(8,8,10,.35) 55%,rgba(8,8,10,0));z-index:1}
.dn-night{background:radial-gradient(ellipse at 70% 0%,#13204a,var(--night) 60%);gap:5vw;justify-content:space-between}
.js:not(.rm) .dn-night{opacity:0}
.dn-day-copy,.dn-night-copy{position:relative;z-index:2;max-width:640px}
.dn-label{font:800 clamp(16px,1.4vw,20px)/1 var(--display);font-stretch:115%;color:var(--acc);margin-bottom:2vh}
.dn-big{font:900 clamp(80px,13vw,230px)/.85 var(--display);font-stretch:125%;text-transform:uppercase;letter-spacing:-.04em}
.dn-text{margin-top:3vh;font-size:clamp(17px,1.4vw,22px);max-width:36ch}
.dn-code{position:relative;z-index:2;margin:0;max-width:720px;width:48vw;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);padding:28px;font:400 clamp(11px,1.05vw,17px)/1.7 var(--mono);color:#cfe1ff;white-space:pre;overflow:hidden;min-height:16em}
.dn-code code::after{content:"";display:inline-block;width:.6em;height:1.1em;background:var(--acc);vertical-align:-.2em;margin-left:2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.dn-stars{position:absolute;inset:0;background-image:radial-gradient(1px 1px at 20% 30%,#fff,transparent),radial-gradient(1px 1px at 80% 20%,#fff,transparent),radial-gradient(1.5px 1.5px at 60% 70%,#fff,transparent),radial-gradient(1px 1px at 35% 85%,#fff,transparent),radial-gradient(1px 1px at 90% 60%,#fff,transparent),radial-gradient(1px 1px at 10% 65%,#fff,transparent),radial-gradient(1.5px 1.5px at 48% 12%,#fff,transparent),radial-gradient(1px 1px at 72% 42%,#fff,transparent);opacity:.7}
.dn-sky{position:absolute;inset:0;pointer-events:none;z-index:3}
.dn-sun,.dn-moon{position:absolute;width:64px;height:64px;border-radius:50%;left:calc(50% - 32px);top:60%}
.dn-sun{background:#ffe27a;box-shadow:0 0 80px 24px rgba(255,226,122,.45)}
.dn-moon{background:#e9eefc;box-shadow:inset -14px -6px 0 0 #b9c3dd,0 0 60px rgba(200,215,255,.25);opacity:0}
.dn-clock{position:absolute;right:var(--pad);bottom:40px;z-index:4;font:500 clamp(28px,3.4vw,56px)/1 var(--mono);font-variant-numeric:tabular-nums;display:flex;gap:10px;align-items:baseline}
.dn-ampm{font-size:.45em;color:var(--acc)}
.rm .dn-sky,.rm .dn-clock{display:none}
.rm .dn-pin,html:not(.js) .dn-pin{position:relative;height:auto}
.rm .dn-day,.rm .dn-night{position:relative;min-height:90vh}
@media (max-width:820px){
  .dn-night{flex-direction:column;justify-content:center;align-items:flex-start;gap:30px}
  .dn-code{width:100%;font-size:10.5px;padding:18px}
  .dn-sun,.dn-moon{width:44px;height:44px}
}

/* section heads */
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding:0 var(--pad);margin-bottom:8vh}
.sec-head h2{font-size:clamp(38px,10vw,170px);line-height:.85;font-weight:900;font-stretch:125%;text-transform:uppercase;letter-spacing:-.04em}
.sec-head p{max-width:30ch;color:var(--mute);font-size:clamp(16px,1.2vw,19px)}
@media (max-width:820px){.sec-head{flex-direction:column;align-items:flex-start;gap:20px}}

/* companies: stacking cards */
.companies{padding:20vh 0 10vh}
.cards{padding:0 var(--pad)}
.card{position:sticky;top:12vh;display:grid;grid-template-columns:1fr 1.25fr;gap:4vw;align-items:center;min-height:76vh;padding:clamp(24px,4vw,64px);margin-bottom:6vh;border-radius:4px;overflow:hidden;transform-origin:50% 0;will-change:transform}
.card-tru{background:#1b2220}
.card-redwood{background:#2a1513}
.card-os{background:#161c14}
.card:nth-child(2){top:14vh}
.card:nth-child(3){top:16vh}
.card-tag{font:700 15px/1 var(--body);color:var(--acc);margin-bottom:18px}
.card h3{font-size:clamp(44px,5.6vw,100px);line-height:.9;font-weight:900;font-stretch:120%;letter-spacing:-.035em}
.card-lede{margin:3vh 0;font-size:clamp(16px,1.2vw,20px);max-width:40ch;color:#d2d2cf}
.card-stats{list-style:none;padding:0;margin:0 0 4vh;display:flex;gap:clamp(18px,3vw,48px);border-top:1px solid var(--line);padding-top:3vh}
.card-stats strong{display:block;font:900 clamp(28px,2.8vw,48px)/1 var(--display);font-stretch:115%}
.card-stats span{font-size:14px;color:var(--mute)}
.card-shot{display:block;border-radius:6px;overflow:hidden;box-shadow:0 40px 80px -20px rgba(0,0,0,.6);background:#000;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.card-shot:hover{transform:translateY(-6px) rotate(-.6deg)}
.card-shot img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:top}
.browser{display:flex;align-items:center;gap:6px;padding:10px 12px;background:#202024;border-bottom:1px solid rgba(255,255,255,.06)}
.browser i{width:10px;height:10px;border-radius:50%;background:#3b3b40}
.browser i:first-child{background:#ff5f57}.browser i:nth-child(2){background:#febc2e}.browser i:nth-child(3){background:#28c840}
.browser em{font:500 12px/1 var(--body);font-style:normal;color:#8d8d93;margin-left:12px;background:#2c2c31;padding:5px 12px;border-radius:4px;flex:1;max-width:280px}
@media (max-width:900px){.card{grid-template-columns:1fr;position:relative;top:auto!important;min-height:0}}

/* software */
.software{padding:16vh 0 10vh;background:var(--bg2)}
.sw-grid{display:grid;grid-template-columns:.9fr 1.3fr;gap:5vw;padding:0 var(--pad)}
.sw-step{min-height:85vh;display:flex;flex-direction:column;justify-content:center;opacity:.25;transition:opacity .5s}
.sw-step.is-on{opacity:1}
.sw-step h3{font-size:clamp(38px,4.4vw,78px);line-height:.95;font-weight:900;font-stretch:118%;letter-spacing:-.03em;margin-bottom:3vh}
.sw-step p{font-size:clamp(17px,1.3vw,21px);color:#cfcfcc;max-width:38ch}
.sw-inline{display:none}
.sw-stage{position:sticky;top:0;height:100vh;display:flex;align-items:center}
.sw-frame{width:100%;border-radius:8px;overflow:hidden;background:#000;box-shadow:0 50px 100px -30px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.06)}
.sw-shots{position:relative;aspect-ratio:16/9;background:#0e0e10}
.sw-shots img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left top;opacity:0;transform:scale(1.04);transition:opacity .6s,transform .9s cubic-bezier(.2,.7,.2,1)}
.sw-shots img:nth-child(2){object-fit:contain;background:#0f131b}
.sw-shots img.is-on{opacity:1;transform:scale(1)}
.sw-stats{list-style:none;margin:10vh var(--pad) 0;padding:6vh 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;border-top:1px solid var(--line)}
.sw-stats strong{display:block;font:900 clamp(48px,6vw,110px)/.9 var(--display);font-stretch:120%;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.sw-stats span{color:var(--mute);font-size:15px}
@media (max-width:900px),(prefers-reduced-motion:reduce){
  .sw-grid{grid-template-columns:1fr}
  .sw-stage{display:none}
  .sw-step{min-height:0;opacity:1;padding:6vh 0}
  .sw-inline{display:block;margin-top:24px;border-radius:6px}
  .sw-stats{grid-template-columns:repeat(2,1fr)}
}

/* thesis */
.thesis{padding:22vh var(--pad) 18vh}
.thesis blockquote{margin:0 auto;max-width:1400px}
.thesis blockquote p{font:900 clamp(40px,6.4vw,124px)/.98 var(--display);font-stretch:112%;letter-spacing:-.035em;text-transform:uppercase}
.thesis footer{margin-top:4vh;font-weight:600;color:var(--acc)}
.split-hot .w.hot{color:var(--acc)}
.big3{max-width:1400px;margin:18vh auto 0;display:grid;grid-template-columns:1fr 1.4fr;gap:5vw;align-items:start}
.big3-lede{font-size:clamp(20px,1.8vw,30px);font-family:var(--display);font-weight:700;line-height:1.2}
.big3 ul{list-style:none;margin:0;padding:0}
.big3 li{border-top:1px solid var(--line);padding:2.4vh 0;overflow:hidden}
.big3 li:last-child{border-bottom:1px solid var(--line)}
.big3 li span{display:block;font:900 clamp(40px,5.4vw,96px)/1 var(--display);font-stretch:122%;text-transform:uppercase;letter-spacing:-.03em}
@media (max-width:820px){.big3{grid-template-columns:1fr}}

/* capabilities */
.caps{padding:16vh 0;position:relative}
.cap-list{list-style:none;margin:0;padding:0 var(--pad)}
.cap{display:grid;grid-template-columns:1.1fr 1fr;gap:4vw;align-items:center;padding:3.6vh 0;border-top:1px solid var(--line);position:relative;cursor:default;transition:padding .4s}
.cap:last-child{border-bottom:1px solid var(--line)}
.cap h3{font-size:clamp(34px,4.6vw,84px);font-weight:900;font-stretch:120%;letter-spacing:-.03em;line-height:1;transition:color .3s,transform .4s cubic-bezier(.2,.7,.2,1)}
.cap p{color:var(--mute);font-size:clamp(16px,1.2vw,20px);max-width:40ch;transition:color .3s}
.cap:hover h3{color:var(--acc);transform:translateX(18px)}
.cap:hover p{color:var(--fg)}
.cap-float{position:fixed;left:0;top:0;width:340px;height:230px;object-fit:cover;pointer-events:none;z-index:60;border-radius:4px;opacity:0;transform:translate(-50%,-50%) scale(.8);box-shadow:0 30px 60px rgba(0,0,0,.5)}
@media (max-width:820px){.cap{grid-template-columns:1fr;gap:10px}.cap-float{display:none}}

/* team */
.team{padding:12vh var(--pad);background:var(--fg);color:var(--bg)}
.team h2{font-size:clamp(48px,7vw,130px);line-height:.88;font-weight:900;font-stretch:125%;text-transform:uppercase;letter-spacing:-.04em;margin-bottom:8vh}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4vw}
.team-grid article{border-top:2px solid var(--bg);padding-top:3vh}
.team-face{width:120px;height:120px;object-fit:cover;object-position:50% 35%;border-radius:2px;margin-bottom:20px}
.team-grid h3{font-size:clamp(26px,2.4vw,40px);font-stretch:115%}
.team-grid .role{color:var(--acc);font-weight:600;margin:8px 0 18px}
.team-grid p:last-child{color:#3a3a3d}
@media (max-width:820px){.team-grid{grid-template-columns:1fr;gap:50px}}

/* faq */
.faq{padding:16vh var(--pad);max-width:1200px;margin:0 auto}
.faq>h2{font-size:clamp(44px,6vw,110px);font-weight:900;font-stretch:125%;text-transform:uppercase;letter-spacing:-.04em;line-height:.9;margin-bottom:6vh}
.faq details{border-top:1px solid var(--line)}
.faq details:last-of-type{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:3vh 0}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{font-size:clamp(22px,2.2vw,36px);font-stretch:110%;font-weight:800}
.faq summary::after{content:"";width:18px;height:18px;flex:none;background:linear-gradient(var(--acc),var(--acc)) center/100% 3px no-repeat,linear-gradient(var(--acc),var(--acc)) center/3px 100% no-repeat;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 4vh;max-width:70ch;color:#cfcfcc;font-size:clamp(16px,1.2vw,19px)}
.faq details a{color:var(--acc)}

/* contact */
.contact{padding:18vh var(--pad) 12vh;border-top:1px solid var(--line)}
.ct-big{font:900 clamp(90px,19vw,360px)/.8 var(--display);font-stretch:125%;text-transform:uppercase;letter-spacing:-.05em;display:flex;flex-wrap:wrap;gap:0 .2em}
.ct-big span:last-child{color:var(--acc)}
.ct-links{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:10vh}
.ct-link{display:flex;flex-direction:column;gap:14px;text-decoration:none;padding:26px;border:1px solid var(--line);border-radius:2px;transition:background .3s,color .3s,border-color .3s}
.ct-link:hover{background:var(--acc);color:#0b0b0c;border-color:var(--acc)}
.ct-k{font-size:14px;opacity:.7}
.ct-v{font:800 clamp(17px,1.3vw,22px)/1.1 var(--display);font-stretch:100%;overflow-wrap:anywhere}
@media (max-width:900px){.ct-links{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.ct-links{grid-template-columns:1fr}}

/* footer */
.foot{padding:0 var(--pad) 30px;overflow:hidden}
.foot-name{font:900 clamp(60px,14.6vw,290px)/.8 var(--display);font-stretch:125%;text-transform:uppercase;letter-spacing:-.05em;white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.25);margin-bottom:30px}
.foot-row{display:flex;justify-content:space-between;gap:20px;color:var(--mute);font-size:14px;flex-wrap:wrap}
.foot-row a{text-decoration:none}
.foot-clock{font-family:var(--mono);color:var(--fg)}

/* cursor */
.cursor{position:fixed;left:0;top:0;width:12px;height:12px;border-radius:50%;background:var(--acc);pointer-events:none;z-index:130;transform:translate(-50%,-50%);transition:width .25s,height .25s,background .25s;mix-blend-mode:difference;display:none;opacity:0}
.cursor.is-live{opacity:1}
.cursor.is-big{width:64px;height:64px;background:#fff}
@media (hover:hover) and (pointer:fine){.js:not(.rm) .cursor{display:block}}

/* reveal */
.js:not(.rm) [data-reveal]{opacity:0;transform:translateY(40px)}

@media (max-width:820px){
  .nav nav{display:none}
  .hero-name{font-size:11.4vw}
  .hero-bottom{flex-direction:column;align-items:stretch;gap:20px}
  .hero-roll{width:100%}
  .hn-txt{-webkit-text-stroke:1.5px var(--fg)}
  .hn-face{position:absolute;right:0;bottom:calc(100% + 2.5em);width:36vw;height:36vw;max-width:170px;max-height:170px;filter:none}
  .panel-num{font-size:17vw}
  .dn-code{font-size:2.35vw;padding:14px}
  .ct-big{font-size:21vw}
}
