/* Firstome v3 — editorial system. Paper (light) / Ink (dark). Display: Pretendard + Instrument Serif accents. */
:root,[data-theme="paper"]{
  --bg:#f4f4f1; --bg2:#ebebe6; --surface:#ffffff; --line:#d9d9d2; --line2:#c4c4bb;
  --ink:#0d1214; --muted:#4f585c; --dim:#666d71;
  --teal:#0a9a8f; --blue:#3a5fd6; --amber:#b77500;
  --inv-bg:#0b0f12; --inv-ink:#eef2f3;
  color-scheme:light;
}
[data-theme="ink"]{
  --bg:#080b0d; --bg2:#0f1417; --surface:#12181c; --line:#1e272c; --line2:#2c383e;
  --ink:#eef2f3; --muted:#9aa6ab; --dim:#66737a;
  --teal:#38d3c8; --blue:#86a9ff; --amber:#f0b445;
  --inv-bg:#f4f4f1; --inv-ink:#0d1214;
  color-scheme:dark;
}
:root{
  --f-kr:"Pretendard Variable",Pretendard,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --f-serif:"Instrument Serif","Times New Roman",serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --pad:clamp(20px,4vw,56px);
  --ease:cubic-bezier(.2,.7,.1,1);
}
[data-font="plex"]{ --f-kr:"IBM Plex Sans KR","Apple SD Gothic Neo",sans-serif; }
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-kr);font-size:17px;line-height:1.65;letter-spacing:-.01em;word-break:keep-all;-webkit-font-smoothing:antialiased;transition:background .4s,color .4s}
a{color:inherit}
h1,h2,h3,p{margin:0}
img,video{display:block;max-width:100%}
.w{padding-inline:var(--pad);max-width:1600px;margin:0 auto}
.mono{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.serif{font-family:var(--f-serif);font-weight:400;letter-spacing:0}
.it{font-family:var(--f-serif);font-style:italic;font-weight:400;letter-spacing:0}
.dim{color:var(--dim)} .muted{color:var(--muted)}
.t{color:var(--teal)} .b{color:var(--blue)} .a{color:var(--amber)}

/* logo */
.lg{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:20px;letter-spacing:-.02em;line-height:1;white-space:nowrap}
.lg svg{height:22px;width:auto;flex:none}
.lg-B .lg-w i{font-style:normal;font-weight:400;color:var(--muted)}
.lg-C .lg-w{font-family:var(--f-mono);font-size:15px;letter-spacing:.14em;font-weight:600}
.lg-A .lg-w{font-weight:700;letter-spacing:-.035em}
.lgm{display:inline-flex}.lgm svg{height:1em;width:auto}

/* header */
.hd{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .3s,border-color .3s,transform .4s var(--ease);border-bottom:1px solid transparent}
.hd.solid{background:color-mix(in oklab,var(--bg) 86%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--line)}
.hd.hide{transform:translateY(-100%)}
.hd .w{display:flex;align-items:center;justify-content:space-between;height:68px;gap:24px}
.hd a{text-decoration:none}
.hd nav{display:flex;gap:30px;font-size:15px}
.hd nav a{color:var(--muted);transition:color .2s}
.hd nav a:hover{color:var(--ink)}
.cta{display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 18px;border-radius:999px;background:var(--ink);color:var(--bg);font-size:14.5px;font-weight:600;text-decoration:none;transition:transform .3s var(--ease)}
.cta:hover{transform:translateY(-1px)}
.cta .ar{transition:transform .3s var(--ease)}
.cta:hover .ar{transform:translateX(3px)}
@media (max-width:860px){.hd nav{display:none}}

/* reveal */
.rv{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.rv.in{opacity:1;transform:none}
.split-line{display:block;overflow:hidden;padding-bottom:.06em}
.split-line > span{display:block;transform:translateY(105%);transition:transform 1.1s var(--ease)}
.in .split-line > span,.split-line.in > span{transform:none}
@media (prefers-reduced-motion:reduce){.rv,.split-line>span{opacity:1;transform:none;transition:none}}

/* HERO */
.hero{padding-top:150px;position:relative}
.hero .kick{display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px}
.hero h1{font-size:clamp(46px,8.6vw,152px);line-height:.98;letter-spacing:-.055em;font-weight:700;margin-top:clamp(28px,4vw,56px)}
.hero h1 .it{letter-spacing:-.01em;font-size:1.08em;line-height:.9}
.hero .row{display:grid;grid-template-columns:1fr 1fr;gap:var(--pad);margin-top:clamp(28px,4vw,48px);align-items:end}
.hero .lead{font-size:clamp(17px,1.35vw,20px);color:var(--muted);max-width:30em}
.hero .acts{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.ghost{display:inline-flex;align-items:center;height:42px;padding:0 18px;border-radius:999px;border:1px solid var(--line2);font-size:14.5px;font-weight:600;text-decoration:none}
.ghost:hover{border-color:var(--ink)}
@media (max-width:860px){.hero .row{grid-template-columns:1fr}.hero .acts{justify-content:flex-start}}

.reel{margin-top:clamp(40px,6vw,80px);position:relative;height:clamp(320px,62vw,860px);overflow:hidden;background:#05080a;clip-path:inset(0 var(--inset,0px) round var(--rad,0px))}
.reel video,.reel img{position:absolute;inset:0;width:100%;height:118%;object-fit:cover;top:-9%;will-change:transform}
.reel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.55))}
.reel .cap{position:absolute;z-index:2;left:var(--pad);right:var(--pad);bottom:28px;display:flex;justify-content:space-between;gap:20px;color:#eef2f3}
.reel .cap .mono{opacity:.85}
.reel .tc{font-variant-numeric:tabular-nums}

/* MANIFESTO */
.mani{padding-block:clamp(110px,14vw,220px)}
.mani .grid{display:grid;grid-template-columns:minmax(140px,1fr) 3fr;gap:var(--pad)}
.mani p.big{font-size:clamp(28px,3.5vw,58px);line-height:1.22;letter-spacing:-.04em;font-weight:600;text-wrap:pretty}
.mani p.big .w-dim{color:var(--line2);transition:color .5s}
.mani p.big .w-dim.on{color:var(--ink)}
.mani p.big em{font-style:normal}
@media (max-width:860px){.mani .grid{grid-template-columns:1fr}}

/* THE MILE (pinned scroll scene) */
.mile{height:520vh;position:relative;background:var(--inv-bg);color:var(--inv-ink)}
[data-theme="paper"] .mile{--teal:#38d3c8;--blue:#86a9ff;--amber:#f0b445;--line:#1e272c;--line2:#2c383e;--dim:#66737a;--muted:#9aa6ab}
[data-theme="ink"] .mile{--teal:#0a9a8f;--blue:#3a5fd6;--amber:#b77500;--line:#d9d9d2;--line2:#c4c4bb;--dim:#8a9195;--muted:#4f585c}
.mile .pin{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding-block:96px 44px}
.mile .top{display:flex;justify-content:space-between;align-items:baseline;gap:20px}
.mile .odo{font-family:var(--f-serif);font-size:clamp(80px,13vw,230px);line-height:.8;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--sc,var(--teal));transition:color .5s}
.mile .odo small{font-size:.28em;font-family:var(--f-kr);letter-spacing:-.02em;color:var(--muted);margin-left:.2em}
.mile .stage{display:grid;grid-template-columns:1fr 1fr;gap:var(--pad);align-items:end;min-height:220px}
.mile .stage h3{font-size:clamp(34px,4.6vw,76px);line-height:1.05;letter-spacing:-.045em;font-weight:700}
.mile .stage p{font-size:clamp(16px,1.3vw,19px);color:var(--muted);max-width:28em}
.mile .who{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px}
.mile .who i{width:9px;height:9px;border-radius:50%;background:var(--sc,var(--teal))}
.mile .swap{animation:mlIn .7s var(--ease)}
@keyframes mlIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.track{position:relative;height:90px;margin-top:40px}
.track .rail{position:absolute;left:0;right:0;top:44px;height:1px;background:var(--line2)}
.track .seg{position:absolute;top:43px;height:3px;border-radius:2px;transform-origin:left;transform:scaleX(0);transition:none}
.track .tick{position:absolute;top:0;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--dim);transition:color .4s}
.track .tick span{font-size:12.5px;white-space:nowrap}
.track .tick b{width:11px;height:11px;border-radius:50%;border:1.5px solid currentColor;background:var(--inv-bg);margin-top:32px;transition:all .4s}
.track .tick.on{color:var(--inv-ink)}
.track .tick.on b{background:var(--tc);border-color:var(--tc)}
.track .tick:first-child{transform:none;align-items:flex-start}.track .tick:last-child{transform:translateX(-100%);align-items:flex-end}
.tube{position:absolute;top:24px;left:0;width:16px;height:44px;margin-left:-8px;border-radius:4px 4px 9px 9px;border:2px solid var(--inv-ink);background:linear-gradient(var(--inv-bg) 0 26%,var(--sc,var(--teal)) 26%);box-shadow:0 0 30px var(--sc,var(--teal));transition:background .4s,box-shadow .4s}
@media (max-width:760px){
  .mile .stage{grid-template-columns:1fr;gap:16px}
  .track .tick span{display:none}
  .track .tick.now span{display:block;position:absolute;top:-2px}
}

/* BRANDS — index list */
.sec{padding-block:clamp(100px,12vw,180px)}
.sh{display:grid;grid-template-columns:minmax(140px,1fr) 3fr;gap:var(--pad);margin-bottom:clamp(40px,6vw,80px)}
.sh h2{font-size:clamp(36px,5vw,84px);line-height:1.02;letter-spacing:-.05em;font-weight:700}
.sh p{margin-top:22px;font-size:clamp(16px,1.3vw,19px);color:var(--muted);max-width:34em}
@media (max-width:860px){.sh{grid-template-columns:1fr}}
.bl{border-top:1px solid var(--ink)}
.br{position:relative;display:grid;grid-template-columns:minmax(140px,1fr) 1.4fr 1.6fr auto;gap:var(--pad);align-items:center;padding-block:clamp(26px,3vw,44px);border-bottom:1px solid var(--line);text-decoration:none;color:inherit;overflow:hidden}
.br::before{content:"";position:absolute;inset:0;background:var(--c);transform:scaleY(0);transform-origin:bottom;transition:transform .7s var(--ease);z-index:0}
.br > *{position:relative;z-index:1;transition:color .5s}
.br:hover::before{transform:scaleY(1)}
.br:hover > *{color:#fff}
.br:hover .lg-B .lg-w i,.br:hover .muted{color:rgba(255,255,255,.8)}
.br .nm{font-size:clamp(34px,4.4vw,72px);letter-spacing:-.05em;font-weight:700;line-height:1;display:flex;align-items:center;gap:.28em}
.br .nm .lgm{font-size:.62em}
.br .nm .lgm svg *{transition:fill .5s,stroke .5s}
.br:hover .nm .lgm svg [fill]:not([fill="none"]){fill:#fff}
.br:hover .nm .lgm svg [stroke]{stroke:#fff}
.br .d{font-size:16px;color:var(--muted);max-width:30em}
.br .d b{display:block;color:var(--ink);font-size:17px;margin-bottom:4px;font-weight:600}
.br .go{width:56px;height:56px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;font-size:20px;transition:transform .5s var(--ease)}
.br:hover .go{transform:rotate(-45deg)}
.br .thumb{position:absolute;right:14%;top:50%;width:260px;height:180px;margin-top:-90px;z-index:2;pointer-events:none;opacity:0;transform:scale(.9) rotate(-3deg);transition:opacity .4s,transform .6s var(--ease);overflow:hidden;border-radius:6px}
.br .thumb img{width:100%;height:100%;object-fit:cover}
.br:hover .thumb{opacity:1;transform:scale(1) rotate(-3deg)}
@media (max-width:980px){.br{grid-template-columns:1fr auto}.br .k,.br .d{grid-column:1/-1}.br .thumb{display:none}.br .k{order:-1}}

/* PRINCIPLES — asymmetric gallery */
.gal{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(14px,1.6vw,24px)}
.gi{position:relative}
.gi figure{margin:0;overflow:hidden;position:relative;background:var(--bg2)}
.gi img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.6s var(--ease)}
.gi.in img{transform:scale(1)}
.gi .no{font-family:var(--f-serif);font-size:clamp(46px,5vw,84px);line-height:1;color:var(--c,var(--teal))}
.gi h3{font-size:clamp(22px,2vw,30px);letter-spacing:-.035em;margin-top:6px}
.gi p{color:var(--muted);font-size:16px;margin-top:8px;max-width:26em}
.gi .tx{margin-top:20px}
.g1{grid-column:1/8}.g1 figure{aspect-ratio:4/3.1}
.g2{grid-column:9/13;margin-top:22vh}.g2 figure{aspect-ratio:3/4}
.g3{grid-column:2/6;margin-top:-6vh}.g3 figure{aspect-ratio:3/4}
.g4{grid-column:7/13;margin-top:10vh}.g4 figure{aspect-ratio:4/3}
@media (max-width:860px){.g1,.g2,.g3,.g4{grid-column:1/-1;margin-top:0}.gal{row-gap:56px}}

/* LETTER */
.letter{background:var(--bg2)}
.letter blockquote{margin:0;font-size:clamp(34px,4.8vw,82px);line-height:1.12;letter-spacing:-.05em;font-weight:600;max-width:16em}
.letter blockquote .it{font-size:1.1em;color:var(--teal)}
.letter .body{display:grid;grid-template-columns:minmax(140px,1fr) 1.5fr 1.5fr;gap:var(--pad);margin-top:clamp(50px,6vw,90px);font-size:17px;color:var(--muted)}
.letter .body p + p{margin-top:1em}
.letter .sig{margin-top:28px;color:var(--ink);font-weight:600}
@media (max-width:860px){.letter .body{grid-template-columns:1fr}}

/* ROADMAP */
.rm{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}
.rm article{padding:26px 26px 0 0;position:relative}
.rm article::before{content:"";position:absolute;left:0;top:-5px;width:9px;height:9px;border-radius:50%;background:var(--bg);border:1.5px solid var(--ink)}
.rm article.now::before{background:var(--teal);border-color:var(--teal);box-shadow:0 0 0 6px color-mix(in oklab,var(--teal) 22%,transparent)}
.rm .ph{font-family:var(--f-serif);font-size:44px;line-height:1}
.rm h3{font-size:21px;letter-spacing:-.03em;margin-top:18px}
.rm p{color:var(--muted);font-size:15.5px;margin-top:8px}
.rm .st{display:inline-block;margin-top:16px}
@media (max-width:900px){.rm{grid-template-columns:1fr 1fr;row-gap:40px}}
@media (max-width:540px){.rm{grid-template-columns:1fr}}

/* PROMISE — numbers */
.pr{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}
.pr div{padding:28px 24px 0 0}
.pr b{display:flex;align-items:baseline;gap:6px;font-family:var(--f-serif);font-weight:400;font-size:clamp(72px,8vw,140px);line-height:.9;letter-spacing:-.02em;color:var(--c)}
.pr b small{font-family:var(--f-kr);font-size:15px;letter-spacing:-.01em;color:var(--muted);font-weight:600}
.pr p{color:var(--muted);font-size:15.5px;margin-top:16px;max-width:20em}
@media (max-width:900px){.pr{grid-template-columns:1fr 1fr;row-gap:36px}}

/* PARTNERS + TEAM */
.pt{display:grid;grid-template-columns:minmax(140px,1fr) 1.5fr 1.5fr;gap:var(--pad);align-items:start}
.pt figure{margin:0;aspect-ratio:4/5;overflow:hidden;background:var(--bg2)}
.pt figure img{width:100%;height:100%;object-fit:cover}
.pt h2{font-size:clamp(32px,3.8vw,60px);line-height:1.04;letter-spacing:-.05em;font-weight:700}
.pt p.lead{color:var(--muted);margin-top:20px;max-width:30em}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.chips span{font-size:14px;padding:7px 14px;border:1px solid var(--line2);border-radius:999px;color:var(--muted)}
.facts2{margin-top:36px;border-top:1px solid var(--ink)}
.facts2 div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.facts2 div span:last-child{color:var(--muted)}
@media (max-width:900px){.pt{grid-template-columns:1fr}}

/* FAQ */
.fq{border-top:1px solid var(--ink)}
.fq details{border-bottom:1px solid var(--line)}
.fq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:60px 1fr 40px;align-items:center;padding:26px 0;font-size:clamp(18px,1.6vw,24px);font-weight:600;letter-spacing:-.03em}
.fq summary::-webkit-details-marker{display:none}
.fq summary .n{font-family:var(--f-mono);font-size:12px;color:var(--dim);font-weight:400}
.fq summary::after{content:"+";justify-self:end;font-size:26px;font-weight:300;transition:transform .4s var(--ease)}
.fq details[open] summary::after{transform:rotate(45deg)}
.fq .a{padding:0 40px 30px 60px;color:var(--muted);max-width:52em}
.fq .a a{color:var(--ink)}
@media (max-width:600px){.fq summary{grid-template-columns:36px 1fr 30px}.fq .a{padding-left:36px;padding-right:0}}

/* CONTACT / FOOTER */
.end{background:var(--inv-bg);color:var(--inv-ink);padding-block:clamp(110px,13vw,200px) 40px;overflow:hidden}
.end h2{font-size:clamp(44px,8vw,140px);line-height:.98;letter-spacing:-.055em;font-weight:700}
.end .it{color:#fee500}
.end .acts{display:flex;gap:14px;flex-wrap:wrap;margin-top:48px}
.kk{display:inline-flex;align-items:center;gap:12px;height:58px;padding:0 26px;border-radius:999px;background:#fee500;color:#191919;font-weight:700;font-size:17px;text-decoration:none;transition:transform .3s var(--ease)}
.kk:hover{transform:translateY(-2px)}
.end .ghost{border-color:color-mix(in oklab,var(--inv-ink) 30%,transparent);height:58px;padding:0 26px;font-size:16px}
.end .fam{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--pad);margin-top:clamp(80px,10vw,150px);padding-top:28px;border-top:1px solid color-mix(in oklab,var(--inv-ink) 18%,transparent)}
.end .fam a{text-decoration:none;display:block}
.end .fam .lg{font-size:22px}
.end .fam p{font-size:14.5px;opacity:.6;margin-top:10px}
.end .wm{margin-top:clamp(70px,9vw,140px);font-size:clamp(70px,19.5vw,360px);font-weight:800;letter-spacing:-.075em;line-height:.78;white-space:nowrap;opacity:.95}
.end .legal{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:28px;font-size:13px;opacity:.55}
@media (max-width:760px){.end .fam{grid-template-columns:1fr;gap:28px}}

/* ===== v4 · function clarity ===== */
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:4px}
.skip{position:fixed;left:16px;top:-60px;z-index:100;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:8px;text-decoration:none;font-size:14px}
.skip:focus{top:12px}
.hd nav a.on{color:var(--ink)}
.hd nav a{position:relative}
.hd nav a.on::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1.5px;background:currentColor}
.hd-r{display:flex;align-items:center;gap:10px}
.mnu{display:none;align-items:center;gap:8px;height:42px;padding:0 14px;border:1px solid var(--line2);border-radius:999px;background:transparent;color:var(--ink);font:inherit;font-size:14px;cursor:pointer;position:relative}
.mnu span{display:block;width:14px;height:1.5px;background:currentColor;transition:transform .3s var(--ease)}
.mnu span+span{position:absolute;left:14px;top:24px}
.mnu span:first-child{position:absolute;left:14px;top:17px}
.mnu b{font-weight:600;margin-left:22px}
.mnu[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.mnu[aria-expanded="true"] span+span{transform:translateY(-3.5px) rotate(-45deg)}
.mnav{border-top:1px solid var(--line);background:var(--bg);padding:12px var(--pad) 22px;display:flex;flex-direction:column}
.mnav[hidden]{display:none}
.mnav > a{padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:20px;font-weight:600;letter-spacing:-.03em}
.mnav-b{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.mnav-b a{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border:1px solid var(--line2);border-radius:999px;text-decoration:none;font-size:14.5px}
.mnav-b i{width:8px;height:8px;border-radius:50%;background:var(--c)}
@media (max-width:860px){.mnu{display:inline-flex}.hd .cta{display:none}.hd.open{background:var(--bg);border-color:var(--line)}}
@media (min-width:861px){.mnav{display:none!important}}

/* hero status + intent router */
.hero .status{justify-self:end;max-width:30em;border-top:1px solid var(--ink);padding-top:14px;font-size:14.5px;color:var(--muted)}
.hero .status .live{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.hero .status .live i{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 0 color-mix(in oklab,var(--teal) 60%,transparent);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}
.hero .status p{margin-top:8px}
.hero .status b{color:var(--ink);font-weight:600}
.hero .status a{color:var(--ink);white-space:nowrap}
@media (max-width:860px){.hero .status{justify-self:start}}
.route{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(40px,5vw,72px);border-top:1px solid var(--ink)}
.route-q{grid-column:1/-1;padding:14px 0 4px;color:var(--dim)}
.rt{position:relative;display:flex;flex-direction:column;gap:6px;padding:18px 56px 22px 0;margin-right:20px;text-decoration:none;color:inherit;border-bottom:1px solid var(--line)}
.rt .mono{font-size:11px;color:var(--dim)}
.rt b{font-size:clamp(17px,1.4vw,21px);letter-spacing:-.035em;line-height:1.3;font-weight:600}
.rt small{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:var(--muted)}
.rt small i{width:7px;height:7px;border-radius:50%;background:var(--c)}
.rt em{position:absolute;right:0;top:20px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line2);display:grid;place-items:center;font-style:normal;transition:all .35s var(--ease)}
.rt::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--c);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.rt:hover::after,.rt:focus-visible::after{transform:scaleX(1)}
.rt:hover em{background:var(--c);border-color:var(--c);color:#fff;transform:translateX(3px)}
@media (max-width:1100px){.route{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.route{grid-template-columns:1fr}.rt{margin-right:0}}

/* reel pause */
.reel .pp{background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.3);color:#eef2f3;border-radius:999px;padding:6px 12px;cursor:pointer;font-size:11px;backdrop-filter:blur(6px)}
.reel .pp:hover{background:rgba(0,0,0,.6)}

/* mile: clickable ticks + skip */
.mile .mtl{display:flex;flex-direction:column;gap:6px}
.mile .mtl .dim{color:var(--dim)}
.skipmile{color:var(--muted);text-decoration:none;margin-top:6px;width:max-content;border-bottom:1px solid var(--line2);padding-bottom:2px}
.skipmile:hover{color:var(--inv-ink)}
.track .tick{background:none;border:0;font:inherit;cursor:pointer;padding:0}
.track .tick:hover{color:var(--inv-ink)}
.track .tick.now span{color:var(--sc);font-weight:600}
.mile .who em{font-style:normal;color:var(--dim);margin-left:10px}

/* promise: headline per number + owner */
.pr h3{font-size:19px;letter-spacing:-.03em;margin-top:18px;font-weight:600}
.pr p{margin-top:6px!important}
.pr-w{display:inline-block;margin-top:14px;font-size:11px;color:var(--c)}
.pr b small{white-space:nowrap}

/* contact channel list */
.end .ch{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--pad);margin:44px 0 0;max-width:1100px}
.end .ch div{border-top:1px solid color-mix(in oklab,var(--inv-ink) 18%,transparent);padding-top:14px}
.end .ch dt{opacity:.55}
.end .ch dd{margin:6px 0 0;font-size:15px;opacity:.85}
@media (max-width:760px){.end .ch{grid-template-columns:1fr;gap:16px}}
.end .fam a{transition:opacity .3s}
.end .fam a:hover .lg{text-decoration:underline;text-underline-offset:6px}

/* faq open state */
.fq details[open] summary{color:var(--ink)}
.fq summary:hover{color:var(--teal)}
.fq .a{animation:faqIn .4s var(--ease)}
@keyframes faqIn{from{opacity:0;transform:translateY(-6px)}}

/* language switch */
.lang{display:inline-flex;border:1px solid var(--line2);border-radius:999px;overflow:hidden;font-family:var(--f-mono);font-size:11.5px}
.lang a,.lang > span{padding:8px 11px;text-decoration:none;line-height:1}
.lang > span{background:var(--ink);color:var(--bg)}
.lang a{color:var(--muted)}.lang a:hover{color:var(--ink)}
.end .legal a{text-underline-offset:3px}

/* cursor dot (desktop) */
.cur{position:fixed;left:0;top:0;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--ink);pointer-events:none;z-index:90;mix-blend-mode:difference;filter:invert(1);transition:width .3s var(--ease),height .3s var(--ease),margin .3s var(--ease);display:none}
@media (hover:hover) and (pointer:fine){.cur{display:block}}
.cur.big{width:64px;height:64px;margin:-32px 0 0 -32px}
