/*
Theme Name: ICF Ship Exact Theme
Theme URI: https://www.icfshipping.net/
Author: ICF Shipping Pvt. Ltd.
Author URI: https://www.icfshipping.net/
Description: Pixel-exact WordPress port of the original icfship-website.html static site for ICF Shipping Pvt. Ltd. Preserves the original markup, CSS, and JavaScript behavior without redesign. The CSS below this header comment is the original site's stylesheet, carried over unmodified.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary - All rights reserved
Text Domain: icfship-exact-theme
*/

/* ---------- Tokens ---------- */
:root{
  --ink:#111518; --ink-2:#3E474E; --muted:#5E686F;
  --bg:#ECEEEB; --paper:#F7F8F6; --line:#CDD2D0;
  --red:#C8341C; --red-hi:#E4502F; --on-red:#FFFFFF;
  --night:#0F1316; --night-2:#171D21; --night-fg:#E9ECEA; --night-muted:#98A3AA; --night-line:#2A3238; --sea:#6E8FA0;
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-io:cubic-bezier(.65,0,.35,1);
  --ease-in:cubic-bezier(.5,0,.75,0);
  --display:"Archivo", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --pad:clamp(20px,5vw,72px);
  --maxw:1440px;
  color-scheme:light;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ink:#E9ECEA; --ink-2:#C3CACE; --muted:#9AA5AC;
    --bg:#161B1F; --paper:#1C2227; --line:#2C3439;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --ink:#E9ECEA; --ink-2:#C3CACE; --muted:#9AA5AC;
  --bg:#161B1F; --paper:#1C2227; --line:#2C3439;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 80px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--display);font-variation-settings:"wdth" 100;font-size:1.0625rem;line-height:1.55;overflow-x:clip}
img,svg{max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--red-hi);outline-offset:3px;border-radius:2px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:fixed;left:12px;top:calc(env(safe-area-inset-top,0px) + 12px);z-index:100;background:var(--ink);color:var(--bg);padding:10px 14px;transform:translateY(-200%)}
.skip:focus{transform:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}

/* Display type: wide, heavy, tight — stencil-on-steel feel */
.display{font-weight:800;font-variation-settings:"wdth" 118;text-transform:uppercase;line-height:.9;letter-spacing:-.015em;margin:0}
.h-xl{font-size:clamp(2rem,6.6vw,8.25rem)}
@media (min-width:761px){.hero h1 .line > span{white-space:nowrap}}
@media (max-width:760px){.hero .h-xl{font-size:10.2vw;font-variation-settings:"wdth" 86}}
.h-lg{font-size:clamp(2.3rem,6.4vw,6.25rem)}
.h-md{font-size:clamp(1.7rem,3.6vw,3.25rem)}
.lede{font-size:clamp(1.125rem,1.6vw,1.375rem);line-height:1.45;color:var(--ink-2);max-width:34ch;margin:0}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.6em;min-height:48px;padding:0 22px;font:600 .95rem/1 var(--display);font-variation-settings:"wdth" 112;letter-spacing:.02em;text-transform:uppercase;text-decoration:none;border:1.5px solid currentColor;cursor:pointer;background:transparent;color:inherit;transition:background-color .18s var(--ease-out),color .18s var(--ease-out),transform .12s var(--ease-out)}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--red);border-color:var(--red);color:var(--on-red)}
.btn-primary:hover{background:#A92A15;border-color:#A92A15}
.btn-ghost:hover{background:var(--ink);color:var(--bg)}
.band-night .btn-ghost:hover{background:var(--night-fg);color:var(--night)}

/* ---------- Header ---------- */
.progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:60;background:var(--red-hi);transform-origin:0 50%;transform:scaleX(0);pointer-events:none}
@supports (animation-timeline: scroll()){
  .progress{animation:grow linear both;animation-timeline:scroll(root)}
  @keyframes grow{to{transform:scaleX(1)}}
}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;padding-top:env(safe-area-inset-top,0px);transition:background-color .25s var(--ease-out),border-color .25s var(--ease-out)}
.site-header .bar{display:flex;align-items:center;gap:24px;height:76px;transition:height .25s var(--ease-out)}
.site-header.compact{background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line)}
.site-header.compact .bar{height:60px}
.site-header.on-night{color:var(--night-fg)}
.site-header.compact.on-night{background:color-mix(in srgb,var(--night) 90%,transparent);border-bottom-color:var(--night-line)}
.site-header.on-night .btn-primary{color:var(--on-red)}
.logo-mark{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;font-variation-settings:"wdth" 125;font-size:1.25rem;letter-spacing:.01em}
.logo-mark svg{width:26px;height:26px;flex:none}
.nav{margin-left:auto;display:flex;align-items:center;gap:4px}
.nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;text-decoration:none;font-weight:500;font-size:.9rem;font-variation-settings:"wdth" 108;letter-spacing:.03em;text-transform:uppercase;position:relative}
.nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:10px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:0 50%;transition:transform .2s var(--ease-out)}
.nav a:hover::after{transform:scaleX(1)}
.site-header .btn{min-height:44px;margin-left:12px}
.menu-btn{display:none;margin-left:auto;width:48px;height:48px;border:0;background:transparent;color:inherit;cursor:pointer;padding:0}
.menu-btn span{display:block;width:24px;height:2px;background:currentColor;margin:6px auto;transition:transform .2s var(--ease-out)}
.menu-btn[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.sheet{position:fixed;inset:0;z-index:45;background:var(--night);color:var(--night-fg);padding:calc(env(safe-area-inset-top,0px) + 88px) var(--pad) calc(env(safe-area-inset-bottom,0px) + 28px);display:flex;flex-direction:column;opacity:0;transition:opacity .2s var(--ease-out)}
.sheet[hidden]{display:none}
.sheet.open{opacity:1}
.sheet a.big{display:block;text-decoration:none;font-weight:800;font-variation-settings:"wdth" 118;text-transform:uppercase;font-size:2.4rem;line-height:1.1;padding:6px 0}
.sheet .small{margin-top:auto;display:grid;gap:14px}
.sheet .small a{font-size:1rem;text-decoration:none;color:var(--night-muted);min-height:44px;display:flex;align-items:center}
.sheet .btn{justify-content:center}
@media (max-width:980px){
  .nav,.site-header .bar > .btn{display:none}
  .menu-btn{display:block}
  .site-header.menu-open{color:var(--night-fg);background:transparent;border-color:transparent;backdrop-filter:none}
}

/* ---------- Hero ---------- */
.hero{min-height:100svh;display:grid;align-items:end;padding:calc(env(safe-area-inset-top,0px) + 110px) 0 clamp(28px,6vh,64px);position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"since box" "title title" "sub sub";gap:clamp(16px,3vh,32px) 32px;align-items:end}
.hero h1{grid-area:title}.hero .sub{grid-area:sub}.hero .since{grid-area:since;align-self:end}.box{grid-area:box}
.hero h1 .line{display:block;overflow:hidden;padding-bottom:.04em}
.hero h1 .line > span{display:block;transform:translateY(105%);transition:transform .9s var(--ease-out)}
.hero h1 .line:nth-child(2) > span{transition-delay:.09s}
.loaded .hero h1 .line > span{transform:none}
.hero .sub{margin-top:clamp(20px,3vh,32px);display:flex;flex-wrap:wrap;gap:24px 40px;align-items:flex-end;justify-content:space-between}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px}
.fade-late{opacity:0;transform:translateY(8px);filter:blur(4px);transition:opacity .6s var(--ease-out) .45s,transform .6s var(--ease-out) .45s,filter .6s var(--ease-out) .45s}
.loaded .fade-late{opacity:1;transform:none;filter:none}
.since{font-size:.95rem;color:var(--muted);display:flex;gap:12px;align-items:center;margin:0}
.since::before{content:"";width:36px;height:1.5px;background:var(--red)}

/* The container end-view: doors open on load, revealing your cargo */
.box{position:relative;aspect-ratio:244/259;width:clamp(150px,20vw,290px);justify-self:end;perspective:1400px;border:3px solid var(--ink);background:var(--night);padding:4%}
.box::before,.box::after{content:"";position:absolute;width:10%;aspect-ratio:1;border:2px solid var(--ink);background:var(--bg);z-index:3}
.box::before{top:-3px;left:-3px}.box::after{top:-3px;right:-3px}
.box .cargo{position:absolute;inset:6%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);gap:4%;align-content:end}
.box .ct{background:#3A342C;border:1px solid #57503F;position:relative}
.box .ct::after{content:"";position:absolute;left:0;right:0;top:45%;height:10%;background:#6A604C}
.box .ct.yours{background:var(--red);border-color:#E97B63}
.box .ct.yours::after{background:#F2B09F}
.door{position:absolute;top:0;bottom:0;width:50%;z-index:2;background:
  linear-gradient(90deg,transparent 30%,var(--ink) 30%,var(--ink) calc(30% + 3px),transparent calc(30% + 3px),transparent 70%,var(--ink) 70%,var(--ink) calc(70% + 3px),transparent calc(70% + 3px)),
  repeating-linear-gradient(90deg,var(--paper) 0 9px,color-mix(in srgb,var(--paper) 86%,var(--ink)) 9px 12px);
  border:2px solid var(--ink);transition:transform 1.25s var(--ease-io) .55s}
.door.l{left:0;transform-origin:0 50%}
.door.r{right:0;transform-origin:100% 50%}
.door.r::before{content:"ICFSHIP";position:absolute;right:10%;top:9%;font-weight:900;font-variation-settings:"wdth" 125;font-size:clamp(.7rem,1.3vw,1rem);letter-spacing:.06em;color:var(--ink)}
.door.r::before{transition:opacity .2s linear 1.05s}
.loaded .door.r::before{opacity:0}
.loaded .door.l{transform:rotateY(-100deg)}
.loaded .door.r{transform:rotateY(100deg)}
.box-cap{position:absolute;left:0;right:0;bottom:-2.1em;font-size:.85rem;color:var(--muted);text-align:right}
@media (max-width:760px){
  .hero{min-height:0;align-items:start;padding-top:calc(env(safe-area-inset-top,0px) + 96px);padding-bottom:64px}
  .hero-grid{grid-template-areas:"box box" "title title" "sub sub" "since since"}
  .box{width:42vw;justify-self:center;margin-bottom:22px}
  .box-cap{text-align:center;left:-40px;right:-40px}
  .hero .ctas .btn{flex:1 1 100%;justify-content:center}
}

/* ---------- Journey: camera-follow conveyor ---------- */
.band-night{background:var(--night);color:var(--night-fg);--line:var(--night-line)}
.band-night .lede{color:var(--night-muted)}
.journey{position:relative;height:900vh}
.j-stick{position:sticky;top:0;height:100svh;overflow:hidden;--ground:124px;--art:min(40svh,400px);--cx:34vw}
.track{position:absolute;top:0;left:0;height:100%;display:flex;will-change:transform}
.jp{position:relative;flex:none;width:var(--pw,60vw);height:100%;overflow:hidden}
.jp::after{content:"";position:absolute;left:0;right:0;bottom:var(--ground);height:1.5px;background:var(--night-line)}
.jp.intro{--pw:max(64vw,560px)}
.jp.wide{--pw:110vw}
.jp.outro{--pw:max(56vw,520px)}
.ptext{position:absolute;top:calc(env(safe-area-inset-top,0px) + 104px);left:var(--pad);right:var(--pad);max-width:40ch}
.ptext .idx{font-family:var(--mono);font-size:.8rem;color:var(--night-muted);display:block;margin-bottom:10px}
.ptext h3{margin:0 0 10px;font-weight:800;font-variation-settings:"wdth" 118;text-transform:uppercase;font-size:clamp(1.8rem,3.4vw,3.2rem);line-height:.95;color:var(--night-muted);transition:color .3s var(--ease-out)}
.jp.reached .ptext h3{color:var(--night-fg)}
.ptext p{margin:0;color:var(--night-muted);max-width:36ch}
.intro .ptext{max-width:none}
.intro h2{font-size:clamp(2.4rem,5.2vw,5rem)}
.intro .lede{margin-top:18px;max-width:40ch}
.intro .hint{margin-top:22px;display:flex;align-items:center;gap:12px;font-size:.9rem;color:var(--night-muted)}
.intro .hint::after{content:"";width:64px;height:1.5px;background:linear-gradient(90deg,var(--red-hi),transparent)}
.outro h3{color:var(--night-fg)!important}
.outro .btn{margin-top:22px}
.jart{position:absolute;left:0;right:0;bottom:var(--ground);height:var(--art)}
.jart > svg{position:absolute;left:0;bottom:0;height:100%;width:auto;aspect-ratio:900/400;overflow:visible}
.jp.wide .jart > svg{width:100%}
.sea{position:absolute;bottom:calc(var(--ground) - 72px);height:72px;left:0;right:0;z-index:1;background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='12'%3E%3Cpath d='M0 6q12-6 24 0t24 0' fill='none' stroke='%236E8FA0' stroke-width='1.5'/%3E%3C/svg%3E") repeat-x 0 0/48px 12px,
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='12'%3E%3Cpath d='M0 6q12-6 24 0t24 0' fill='none' stroke='%232A3238' stroke-width='1.5'/%3E%3C/svg%3E") repeat-x 24px 28px/48px 12px,
  var(--night)}
.sea.r{left:48%}.sea.l{right:52%}
.a-f{fill:var(--night-2);stroke:var(--night-fg);stroke-width:1.5;stroke-linejoin:round}
.a-s{fill:none;stroke:var(--night-fg);stroke-width:1.5;stroke-linejoin:round}
.a-d{fill:none;stroke:var(--night-line);stroke-width:1.5}
.a-m{fill:none;stroke:var(--night-muted);stroke-width:1.5}
.a-g{fill:#222A30;stroke:var(--night-muted);stroke-width:1}
.a-t{font:800 30px var(--display);font-variation-settings:"wdth" 125;fill:var(--night-fg);letter-spacing:.08em}
.arm{transform-box:fill-box;transform-origin:0% 50%;transition:transform .7s var(--ease-io)}
.stamped .arm{transform:rotate(-68deg)}
.door-o{transform-box:fill-box;transform-origin:0% 50%;transition:transform .8s var(--ease-io)}
.reached .door-o{transform:scaleX(.18)}
.stamp{position:absolute;left:calc(var(--pad) + 2%);bottom:calc(var(--ground) + var(--art) * .72);z-index:2;border:3px solid var(--red-hi);color:var(--red-hi);font:800 clamp(1rem,1.8vw,1.5rem)/1 var(--display);font-variation-settings:"wdth" 125;letter-spacing:.08em;padding:10px 14px;transform:rotate(-8deg) scale(1.3);opacity:0;transition:opacity .18s var(--ease-out),transform .32s var(--ease-out)}
.stamped .stamp{opacity:1;transform:rotate(-8deg) scale(1)}

/* The cargo: fixed on screen, the world moves under it */
.jcargo{position:absolute;z-index:3;bottom:var(--ground);height:var(--art);width:calc(var(--art) * .75);left:calc(var(--cx) - var(--art) * .375);overflow:visible;pointer-events:none}
.jcargo .vb{fill:var(--night-fg)}
.jcargo .vw{fill:var(--night)}
.jcargo .vg{fill:#39434A;stroke:var(--night);stroke-width:2}
.jcargo .spk{stroke:var(--night);stroke-width:3}
.jcargo .cable{stroke:var(--night-fg);stroke-width:2}
.jcargo .cb{fill:var(--red-hi)}
.jcargo .cl{stroke:#9E2E17;stroke-width:2}
.jcargo{--seal:1}
.jcargo .v{opacity:0;transition:opacity .3s var(--ease-out),transform .55s var(--ease-out)}
.jcargo .ct{fill:var(--red-hi);stroke:#9E2E17;stroke-width:1.5}
.jcargo .tp{stroke:#F2B09F;stroke-width:2}
.jcargo .plt{fill:var(--night-muted)}
.jcargo .cback{fill:var(--night-2)}
.jcargo .cfr{fill:none;stroke:var(--night-fg);stroke-width:2}
.jcargo .cb{fill-opacity:var(--seal)}
.jcargo .cl{stroke-opacity:var(--seal)}
.jcargo .dr{fill:var(--night-2);stroke:var(--night-fg);stroke-width:1.5}
.jcargo .cart{opacity:0;transition:opacity .3s var(--ease-out),transform .6s var(--ease-io)}
.jcargo[data-v="pallet"] .cart,.jcargo[data-v="ptruck"] .cart,.jcargo[data-v="stuff"] .cart,.jcargo[data-v="unstuff"] .cart{opacity:1}
.jcargo[data-v="ptruck"] .cart{transform:translateY(-30px)}
.jcargo .cback,.jcargo .cbox{transition:transform .6s var(--ease-io),opacity .35s var(--ease-out)}
.jcargo[data-v="pallet"] .cback,.jcargo[data-v="pallet"] .cbox,.jcargo[data-v="ptruck"] .cback,.jcargo[data-v="ptruck"] .cbox{opacity:0}
.jcargo[data-v="stuff"] .cback,.jcargo[data-v="stuff"] .cbox,.jcargo[data-v="unstuff"] .cback,.jcargo[data-v="unstuff"] .cbox{transform:translateX(-150px)}
.jcargo .v-truck{transform:translateX(-50px)}
.jcargo .v-lift{transform:translateY(-30px)}
.jcargo[data-v="truck"] .v-truck,.jcargo[data-v="ptruck"] .v-truck,.jcargo[data-v="ship"] .v-ship,.jcargo[data-v="lift"] .v-lift{opacity:1;transform:none}
.jcargo[data-v="truck"] .cbox,.jcargo[data-v="ship"] .cbox,.jcargo[data-v="truck"] .cback,.jcargo[data-v="ship"] .cback{transform:translateY(-30px)}
.jcargo[data-v="lift"] .cbox,.jcargo[data-v="lift"] .cback{transform:translateY(-150px)}

.hud{position:absolute;z-index:4;left:var(--pad);right:var(--pad);bottom:calc(env(safe-area-inset-bottom,0px) + 74px);display:flex;flex-wrap:wrap;gap:4px 22px;margin:0;font-family:var(--mono);font-size:.78rem;line-height:1.5;color:var(--night-fg)}
.hud .row{display:flex;gap:8px}
.hud dt{color:var(--night-muted)}.hud dd{margin:0}
.hud .tag{color:var(--night-muted);margin-left:auto}
.rail{position:absolute;z-index:4;left:var(--pad);right:var(--pad);bottom:calc(env(safe-area-inset-bottom,0px) + 18px)}
.rail ol{list-style:none;margin:0;padding:0;display:flex;justify-content:space-between;gap:4px}
.rail button{background:none;border:0;color:var(--night-muted);cursor:pointer;min-height:44px;padding:14px 2px 0;font:500 .78rem var(--display);font-variation-settings:"wdth" 104;position:relative;transition:color .2s var(--ease-out)}
.rail button::before{content:"";position:absolute;left:50%;top:0;width:9px;height:9px;margin-left:-4.5px;border:1.5px solid currentColor;background:var(--night);transition:background-color .2s var(--ease-out),border-color .2s var(--ease-out)}
.rail button.done{color:var(--night-fg)}
.rail button.done::before{background:var(--night-fg)}
.rail button.now{color:var(--night-fg)}
.rail button.now::before{background:var(--red-hi);border-color:var(--red-hi)}
.rail button:hover{color:var(--night-fg)}
.rail .line{position:absolute;left:0;right:0;top:4px;height:1.5px;background:var(--night-line);z-index:-1}
.rail .line i{position:absolute;inset:0;background:var(--night-fg);transform-origin:0 50%;transform:scaleX(0)}
@media (max-width:760px){
  .j-stick{--ground:124px;--art:min(34svh,300px);--cx:50vw}
  .jp{--pw:100vw}
  .jp.intro,.jp.outro{--pw:100vw}
  .jp.wide{--pw:170vw}
  .ptext{top:calc(env(safe-area-inset-top,0px) + 86px)}
  .ptext h3{font-size:clamp(1.7rem,8vw,2.4rem)}
  .intro h2{font-size:9.4vw}
  .rail button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .rail button{min-width:28px}
  .rail .now-label{display:block;text-align:center;margin-top:4px;font-size:.85rem;color:var(--night-fg)}
  .stamp{left:auto;right:8%}
  .jart > svg{left:auto;right:0}
  .jp.wide .jart > svg{right:auto;left:0}
}
@media (min-width:761px){.rail .now-label{display:none}.jcap{display:none}}
.jcap{position:absolute;z-index:4;left:var(--pad);right:var(--pad);top:calc(env(safe-area-inset-top,0px) + 84px);transition:opacity .25s var(--ease-out),transform .35s var(--ease-out),filter .25s var(--ease-out)}
.jcap.swap{opacity:0;transform:translateY(8px);filter:blur(4px);transition-duration:.12s}
.jcap.hide{opacity:0;pointer-events:none}
.jcap .idx{font-family:var(--mono);font-size:.78rem;color:var(--night-muted);display:block;margin-bottom:8px}
.jcap h3{margin:0 0 8px;font-weight:800;font-variation-settings:"wdth" 118;text-transform:uppercase;font-size:clamp(1.8rem,8.4vw,2.5rem);line-height:.95}
.jcap p{margin:0;color:var(--night-muted);font-size:1rem}
.jcap .st{margin-top:12px;font-family:var(--mono);font-size:.75rem;color:var(--night-fg)}
.jcap .st::before{content:"";display:inline-block;width:7px;height:7px;background:var(--red-hi);margin-right:8px}
@media (max-width:760px){.jp[data-stage] .ptext{display:none}.hud{display:none}}

/* ---------- Section heads ---------- */
.sec{padding:clamp(88px,14vh,160px) 0}
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.55fr);gap:24px 48px;align-items:end;margin-bottom:clamp(36px,6vh,64px)}
@media (max-width:760px){.sec-head{grid-template-columns:1fr}}

/* ---------- Modes: playable ---------- */
.tabs{display:flex;flex-wrap:wrap;gap:0;border:1.5px solid var(--ink);width:max-content;max-width:100%}
.tab{min-height:52px;padding:0 clamp(18px,3vw,34px);border:0;border-left:1.5px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;font:800 1.05rem/1 var(--display);font-variation-settings:"wdth" 118;letter-spacing:.02em;text-transform:uppercase;transition:background-color .18s var(--ease-out),color .18s var(--ease-out)}
.tab:first-child{border-left:0}
.tab[aria-selected="true"]{background:var(--ink);color:var(--bg)}
.tab:not([aria-selected="true"]):hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}
.modes-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.4fr);gap:clamp(24px,4vw,56px);margin-top:28px;align-items:start}
.stage{position:relative;background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}
.stage svg{display:block;width:100%;height:auto}
.controls{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:10px 14px;border-top:1px solid var(--line)}
.play{width:44px;height:44px;border:1.5px solid var(--ink);background:var(--ink);color:var(--bg);cursor:pointer;display:grid;place-items:center;transition:transform .12s var(--ease-out)}
.play:active{transform:scale(.95)}
.play svg{width:16px;height:16px}
.play .i-pause{display:none}
.play[data-state="playing"] .i-pause{display:block}
.play[data-state="playing"] .i-play{display:none}
.scrub{-webkit-appearance:none;appearance:none;width:100%;height:44px;background:transparent;cursor:pointer;--p:0%}
.scrub::-webkit-slider-runnable-track{height:3px;background:linear-gradient(90deg,var(--red) var(--p),var(--line) var(--p))}
.scrub::-moz-range-track{height:3px;background:var(--line)}
.scrub::-moz-range-progress{height:3px;background:var(--red)}
.scrub::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;margin-top:-7.5px;background:var(--red);border:2px solid var(--paper);box-shadow:0 0 0 1.5px var(--red)}
.scrub::-moz-range-thumb{width:16px;height:16px;border-radius:0;background:var(--red);border:2px solid var(--paper)}
.scrub:focus-visible{outline:2px solid var(--red-hi);outline-offset:2px}
.cap-row{display:flex;justify-content:space-between;gap:12px;padding:0 14px 12px;font-size:.85rem;color:var(--muted)}
.m-path{fill:none;stroke:var(--line);stroke-width:2;stroke-dasharray:4 6}
.m-prog{fill:none;stroke:var(--red);stroke-width:2.5;stroke-linecap:round}
.m-lab{font:700 15px var(--display);font-variation-settings:"wdth" 112;text-transform:uppercase;letter-spacing:.04em;fill:var(--ink)}
.m-pin{fill:var(--paper);stroke:var(--ink);stroke-width:2}
.m-pin.arrived{fill:var(--red);stroke:var(--red)}
.m-tick{fill:var(--paper);stroke:var(--muted);stroke-width:1.5;transition:fill .2s var(--ease-out),stroke .2s var(--ease-out)}
.m-tick.done{fill:var(--ink);stroke:var(--ink)}
.ctx{display:none}
.stage[data-mode="air"] .ctx-air,.stage[data-mode="ocean"] .ctx-ocean,.stage[data-mode="road"] .ctx-road{display:inline}
.ctx .ln{stroke:var(--line);stroke-width:1.5;fill:none}
.ctx .fl{fill:var(--paper);stroke:var(--muted);stroke-width:1.5}
.ctx .cloud{fill:color-mix(in srgb,var(--line) 55%,transparent)}
.ctx .wave{stroke:color-mix(in srgb,var(--sea) 70%,var(--line));stroke-width:1.5;fill:none}
.veh{display:none}
.stage[data-mode="air"] .veh-air,.stage[data-mode="ocean"] .veh-ocean,.stage[data-mode="road"] .veh-road{display:inline}
.veh .body{fill:var(--ink)}
.veh .cargo{fill:var(--red)}
.veh .soft{fill:var(--muted)}
.veh .spk{stroke:var(--paper);stroke-width:1.5}
.veh .cable{stroke:var(--ink);stroke-width:1.2}
.mode-info{display:flex;flex-direction:column}
.mode-info .panel-m{display:none}
.mode-info .panel-m.on{display:block;animation:enter .42s var(--ease-out)}
@keyframes enter{from{opacity:0;transform:translateY(8px);filter:blur(4px)}}
.mode-info .kicker{font-weight:800;font-variation-settings:"wdth" 118;text-transform:uppercase;font-size:clamp(2rem,3.6vw,3.2rem);line-height:.95;margin:0 0 14px}
.mode-info ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.mode-info li{padding:11px 0;border-bottom:1px solid var(--line)}
.steps{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:0}
.steps li{display:grid;grid-template-columns:18px 1fr;gap:12px;align-items:center;padding:7px 0;color:var(--muted);font-size:.95rem;transition:color .2s var(--ease-out)}
.steps li::before{content:"";width:10px;height:10px;border:1.5px solid currentColor;transition:background-color .2s var(--ease-out)}
.steps li.done{color:var(--ink)}
.steps li.done::before{background:var(--ink)}
.steps li.now{color:var(--ink);font-weight:600}
.steps li.now::before{background:var(--red);border-color:var(--red)}
.steps-h{margin:22px 0 0;font-size:.85rem;color:var(--muted)}
.note{font-size:.8rem;color:var(--muted);margin-top:14px}
@media (max-width:860px){.m-lab{font-size:30px}.m-pin{stroke-width:4}.m-prog{stroke-width:5}.m-path{stroke-width:3}.m-tick{stroke-width:3}.modes-grid{grid-template-columns:1fr}.tabs{width:100%}.tab{flex:1}}
/* ---------- Industries ---------- */
.ind{padding-bottom:clamp(64px,10vh,120px)}
.ind-grid{display:grid;grid-template-columns:minmax(220px,.34fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.ind-tabs{display:flex;flex-direction:column;border-top:1px solid var(--night-line)}
.ind-tab{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;min-height:64px;padding:12px 0;border:0;border-bottom:1px solid var(--night-line);background:none;color:var(--night-muted);cursor:pointer;font:800 clamp(1.05rem,1.7vw,1.5rem)/1.05 var(--display);font-variation-settings:"wdth" 116;text-transform:uppercase;transition:color .18s var(--ease-out)}
.ind-tab::after{content:"";width:10px;height:10px;border:1.5px solid currentColor;flex:none;transition:background-color .18s var(--ease-out)}
.ind-tab:hover{color:var(--night-fg)}
.ind-tab[aria-selected="true"]{color:var(--night-fg)}
.ind-tab[aria-selected="true"]::after{background:var(--red-hi);border-color:var(--red-hi)}
.ind-stage{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.75fr);gap:clamp(20px,3vw,48px);align-items:start}
.ind-art{position:relative;aspect-ratio:600/262;background:var(--night-2);border:1px solid var(--night-line)}
.ind-art svg{position:absolute;inset:0;width:100%;height:100%}
.art{opacity:0;transform:translateY(10px);transition:opacity .2s var(--ease-in),transform .2s var(--ease-in)}
.art.on{opacity:1;transform:none;transition:opacity .42s var(--ease-out) .08s,transform .5s var(--ease-out) .08s}
.art .s{fill:none;stroke:var(--night-fg);stroke-width:1.5;stroke-linejoin:round}
.art .f{fill:var(--night-2);stroke:var(--night-fg);stroke-width:1.5}
.art .d{stroke:var(--night-line);stroke-width:1}
.art .r{fill:none;stroke:var(--red-hi);stroke-width:2}
.art .rf{fill:var(--red-hi)}
.art text{font-family:var(--mono);font-size:13px;fill:var(--night-fg)}
.art text.m{fill:var(--night-muted);font-size:11px}
.ground{stroke:var(--night-line);stroke-width:1}
.art .arrow{fill:none;stroke:var(--night-muted);stroke-width:1.5}
.art .lead{fill:none;stroke:var(--night-muted);stroke-width:1}
.art text.t{font:600 13px var(--display);fill:var(--night-fg)}
.art text.cname{font:800 15px var(--display);font-variation-settings:"wdth" 118;letter-spacing:.08em;fill:var(--red-hi)}
.art .cg{transform:translateX(-16px);transition:transform .2s var(--ease-in)}
.art .cn{transform:translateX(16px);transition:transform .2s var(--ease-in)}
.art .co{opacity:0;transition:opacity .15s var(--ease-in)}
.art.on .cg,.art.on .cn{transform:none;transition:transform .55s var(--ease-out) .06s}
.art.on .co{opacity:1;transition:opacity .35s var(--ease-out) calc(.32s + var(--i) * .09s)}
.guide{margin-top:24px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;list-style:none;padding:0}
.guide button{width:100%;height:100%;text-align:left;background:transparent;border:1px solid var(--night-line);color:var(--night-muted);padding:12px;cursor:pointer;display:grid;gap:6px;align-content:start;transition:border-color .18s var(--ease-out),color .18s var(--ease-out),background-color .18s var(--ease-out)}
.guide button:hover{border-color:var(--night-muted);color:var(--night-fg)}
.guide button[aria-pressed="true"]{border-color:var(--red-hi);color:var(--night-fg);background:color-mix(in srgb,var(--red-hi) 8%,transparent)}
.guide svg{width:100%;height:auto;aspect-ratio:120/48}
.guide svg .g1{fill:none;stroke:currentColor;stroke-width:1.5}
.guide svg .g2{fill:none;stroke:currentColor;stroke-width:1;opacity:.5}
.guide b{font-size:.85rem;font-weight:700;font-variation-settings:"wdth" 110;text-transform:uppercase;color:var(--night-fg)}
.guide span{font-size:.8rem;line-height:1.35}
.fit{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;margin:0 0 16px;padding:10px 12px;border-left:3px solid var(--red-hi);background:var(--night-2)}
.fit span{font-size:.8rem;color:var(--night-muted)}
.fit b{font-weight:700}
@media (max-width:980px){.guide{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.guide{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ind-copy .panel{display:none}
.ind-copy .panel.on{display:block;animation:enter .42s var(--ease-out)}
.ind-copy h3{margin:0 0 12px;font-weight:800;font-variation-settings:"wdth" 108;text-transform:uppercase;font-size:clamp(1.5rem,2.1vw,2.1rem);line-height:.98;overflow-wrap:anywhere}
.ind-copy p{margin:0 0 16px;color:var(--night-muted);max-width:44ch}
.ind-copy ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--night-line)}
.ind-copy li{padding:11px 0;border-bottom:1px solid var(--night-line);display:grid;grid-template-columns:14px 1fr;gap:12px}
.ind-copy li::before{content:"";width:6px;height:6px;margin-top:.62em;background:var(--red-hi)}
.proof{margin-top:clamp(36px,6vh,56px);border-top:1px solid var(--night-line);padding-top:24px;display:none}
.proof.on{display:block;animation:enter .5s var(--ease-out)}
.proof h4{margin:0 0 6px;font-size:1rem;font-weight:600;color:var(--night-fg)}
.proof .sub{margin:0 0 22px;color:var(--night-muted);font-size:.95rem}
.logos{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:26px 44px}
.logo{display:block;height:var(--h);aspect-ratio:var(--ar);background:var(--night-muted);-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;transition:background-color .2s var(--ease-out)}
.logos li:hover .logo{background:var(--night-fg)}
.proof .group + .group{margin-top:28px}
.proof .gl{font-size:.8rem;color:var(--night-muted);margin:0 0 14px}
@media (max-width:980px){.ind-grid{grid-template-columns:1fr}.ind-tabs{flex-direction:row;flex-wrap:wrap;gap:8px;border:0}.ind-tab{min-height:44px;padding:8px 14px;border:1px solid var(--night-line);font-size:.95rem}.ind-tab::after{display:none}.ind-tab[aria-selected="true"]{background:var(--night-fg);color:var(--night);border-color:var(--night-fg)}.ind-stage{grid-template-columns:1fr}}
@media (max-width:760px){.logos{gap:20px 30px}.logo{height:calc(var(--h) * .82)}}

/* ---------- Network ---------- */
.band-night .tabs{border-color:var(--night-fg)}
.band-night .tab{color:var(--night-fg);border-color:var(--night-fg)}
.band-night .tab[aria-selected="true"]{background:var(--night-fg);color:var(--night)}
.band-night .tab:not([aria-selected="true"]):hover{background:color-mix(in srgb,var(--night-fg) 10%,transparent)}
.net-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px;margin-bottom:24px}
.net-stats{display:flex;flex-wrap:wrap;gap:8px 32px;margin:0;padding:0;list-style:none}
.net-stats li{display:flex;align-items:baseline;gap:8px;color:var(--night-muted);font-size:.9rem}
.net-stats b{font-weight:800;font-variation-settings:"wdth" 118;font-size:1.6rem;color:var(--night-fg)}
.net-map{position:relative;border:1px solid var(--night-line);background:var(--night-2);overflow:hidden}
.net-map svg{display:block;width:100%;height:auto;aspect-ratio:1000/400;cursor:default}
.dots-c{fill:none;stroke:#39444B;stroke-linecap:round;stroke-width:var(--dc,2.4)}
.dots-f{fill:none;stroke:var(--night-muted);stroke-linecap:round;stroke-width:.95}
.lane{fill:none;stroke:#4A565E;stroke-width:1;vector-effect:non-scaling-stroke;transition:stroke .2s var(--ease-out),opacity .3s var(--ease-out)}
.lane.agent{stroke-dasharray:3 5}
.lane.on{stroke:var(--red-hi);stroke-width:2}
.lane.hid{opacity:0}
.nnode{cursor:pointer}
.nnode .hit{fill:transparent}
.nnode .pt{fill:var(--night-fg);transition:fill .2s var(--ease-out)}
.nnode.agent .pt{fill:none;stroke:var(--night-muted);stroke-width:1.5;stroke-dasharray:2 2}
.nnode.hub .pt{fill:var(--red-hi)}
.nnode .ring{fill:none;stroke:var(--night-fg);stroke-width:1.5;opacity:0;transition:opacity .2s var(--ease-out)}
.nnode.on .ring{opacity:1;stroke:var(--red-hi)}
.nnode.on .pt{fill:var(--red-hi)}
.nnode text{font:600 12px var(--display);font-variation-settings:"wdth" 108;fill:var(--night-fg);paint-order:stroke;stroke:var(--night-2);stroke-width:4px;stroke-linejoin:round;opacity:0;transition:opacity .2s var(--ease-out)}
.nnode.lab text,.nnode.on text{opacity:1}
.nnode.hide{opacity:0;pointer-events:none}
#netDot{fill:var(--red-hi)}
.net-info{position:absolute;left:16px;bottom:16px;width:min(340px,calc(100% - 32px));background:color-mix(in srgb,var(--night) 92%,transparent);border:1px solid var(--night-line);padding:16px 18px;transition:opacity .2s var(--ease-out),transform .3s var(--ease-out),filter .2s var(--ease-out)}
.net-info.swap{opacity:0;transform:translateY(6px);filter:blur(3px);transition-duration:.1s}
.net-info .grp{margin:0 0 6px;font-size:.8rem;color:var(--night-muted)}
.net-info h3{margin:0 0 6px;font-weight:800;font-variation-settings:"wdth" 118;text-transform:uppercase;font-size:1.5rem;line-height:1}
.net-info p.d{margin:0;color:var(--night-muted);font-size:.95rem}
.net-info ul{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:4px;font-size:.9rem}
.net-info li::before{content:"";display:inline-block;width:6px;height:6px;background:var(--red-hi);margin-right:10px;vertical-align:middle}
.net-list{margin-top:22px;display:grid;grid-template-columns:auto 1fr;gap:10px 24px;align-items:start}
.net-list h3{margin:0;padding-top:12px;font-size:.8rem;font-weight:600;color:var(--night-muted)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{min-height:40px;padding:0 14px;border:1px solid var(--night-line);background:transparent;color:var(--night-fg);font:500 .9rem var(--display);cursor:pointer;transition:background-color .15s var(--ease-out),border-color .15s var(--ease-out),color .15s var(--ease-out)}
.chip:hover{border-color:var(--night-muted)}
.chip[aria-pressed="true"]{background:var(--night-fg);color:var(--night);border-color:var(--night-fg)}
.chip.agent{border-style:dashed}
@media (max-width:760px){
  .net-map svg{aspect-ratio:1000/520}
  .net-info{position:static;width:auto;border:0;border-top:1px solid var(--night-line)}
  .net-list{grid-template-columns:1fr;gap:6px}
  .net-list h3{padding-top:14px}
  .chip{min-height:44px}
}

/* ---------- 40+ years ---------- */
.about{position:relative;height:260vh;border-top:1px solid var(--line)}
.tl-stick{position:sticky;top:0;height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center;padding-top:calc(env(safe-area-inset-top,0px) + 76px);padding-bottom:24px}
.tl-h{font-size:clamp(2rem,3.9vw,3.8rem)}
.tl-year{font-weight:900;font-variation-settings:"wdth" 125;font-size:clamp(4.5rem,13vw,12rem);line-height:.85;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:18px 0 8px;color:var(--ink)}
.tl-years{font-size:clamp(1.1rem,1.6vw,1.4rem);color:var(--ink-2);margin:0}
.tl-years b{color:var(--red)}
.tl-cap{margin:18px 0 0;color:var(--muted);font-size:.9rem;max-width:40ch}
.stack{display:flex;flex-wrap:wrap-reverse;gap:6px;width:100%;max-width:640px;justify-self:end;padding-bottom:10px;border-bottom:3px solid var(--ink);position:relative}
.stack li{list-style:none;width:calc((100% - 12px) / 3);aspect-ratio:2.6/1;position:relative;padding:8px 10px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;
  background:repeating-linear-gradient(90deg,transparent 0 10px,rgba(0,0,0,.14) 10px 12px),var(--c,#3E474E);
  border:1.5px solid rgba(0,0,0,.35);opacity:0;transform:translateY(-40px);transition:opacity .25s var(--ease-out),transform .5s var(--ease-out)}
.stack li.in{opacity:1;transform:none}
.stack li b{font-weight:800;font-variation-settings:"wdth" 112;text-transform:uppercase;font-size:clamp(.72rem,1.05vw,.92rem);line-height:1.05}
.stack li span{font-size:clamp(.66rem,.9vw,.78rem);opacity:.8;line-height:1.2;margin-top:2px}
.stack li.first{--c:var(--red)}
.stack li.first::after{content:"1983";position:absolute;top:6px;right:8px;font:500 .72rem var(--mono)}
.stack ol{display:contents}
@media (max-width:860px){
  .about{height:240vh}
  .tl-stick{grid-template-columns:1fr;align-content:center;gap:24px;padding-top:calc(env(safe-area-inset-top,0px) + 72px)}
  .tl-h{font-size:clamp(2rem,3.9vw,3.8rem)}
.tl-year{margin:10px 0 4px}
  .stack{justify-self:stretch;width:100%}
  .tl-cap{display:none}
  .stack li{aspect-ratio:1.7/1;padding:6px 5px;overflow:hidden}
  .stack li b{font-size:.62rem;font-variation-settings:"wdth" 88}
  .stack li span{display:none}
  .stack li.first::after{top:4px;right:6px;font-size:.62rem}
  .stack li.first b{padding-right:0;margin-top:12px}
}

/* ---------- Where cargo becomes a shipment ---------- */
.sf{border-top:1px solid var(--line)}
.sf .tabs{margin-bottom:0}
.sf-svg .gnd{stroke:var(--ink);stroke-width:1.5}
.sf-svg .bld{fill:var(--paper);stroke:var(--ink);stroke-width:1.5}
.sf-svg .bld-t{font:800 22px var(--display);font-variation-settings:"wdth" 125;fill:var(--ink);letter-spacing:.08em}
.sf-svg .dim{fill:none;stroke:var(--line);stroke-width:1.5}
.sf-svg .sv{fill:var(--ink)}
.sf-svg .cback{fill:color-mix(in srgb,var(--ink) 8%,var(--paper));stroke:none}
.sf-svg .cfr{fill:none;stroke:var(--ink);stroke-width:2}
.sf-svg .cfill{fill:var(--red)}
.sf-svg .cfill.lcl{fill:#5E686F}
.sf-svg .clines{stroke:rgba(0,0,0,.25);stroke-width:2}
.sf-svg .sdoor{fill:var(--paper);stroke:var(--ink);stroke-width:1.5}
.sf-svg .sealtag{fill:var(--red)}
.sf-svg .ct{stroke:var(--paper);stroke-width:1.5}
.sf-svg .van .wh{fill:var(--ink)}
.sf-svg .van .cab{fill:var(--ink)}
.sf-svg .van .bd{stroke:var(--paper);stroke-width:1.5}
.sf-svg .ct.r,.sf-svg .van .bd.r{fill:var(--red)}.sf-svg .van .bd.a{fill:#4A545B}.sf-svg .van .bd.b{fill:#7C868C}.sf-svg .van .bd.c{fill:#A3ABB0}
.sf-svg .ct.r{fill:var(--red)}.sf-svg .ct.a{fill:#4A545B}.sf-svg .ct.b{fill:#7C868C}.sf-svg .ct.c{fill:#A3ABB0}
.sf-svg .stamp-g rect{fill:none;stroke:var(--red);stroke-width:3}
.sf-svg .stamp-g text{font:800 22px var(--display);font-variation-settings:"wdth" 125;fill:var(--red);letter-spacing:.08em}
.sf-svg .leg{font:500 12px var(--display);fill:var(--muted)}
.sf .kicker{font-weight:800;font-variation-settings:"wdth" 118;text-transform:uppercase;font-size:clamp(1.6rem,2.6vw,2.4rem);line-height:.95;margin:0 0 12px}
.sf .sf-d{margin:0;color:var(--ink-2);max-width:42ch}
.sf .flag{font-size:.8rem;color:var(--muted);margin-top:10px}

/* ---------- Route decision engine ---------- */
.rt{border-top:1px solid var(--line)}
.rt-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,64px);align-items:start}
.rt-form{display:grid;gap:26px}
.rt fieldset{border:0;margin:0;padding:0;min-width:0}
.rt legend,.rt .lbl{display:flex;justify-content:space-between;gap:12px;width:100%;font-weight:600;font-size:.95rem;margin-bottom:10px;padding:0}
.rt .val{font-weight:500;color:var(--muted);font-family:var(--mono);font-size:.85rem}
.seg{display:flex;border:1.5px solid var(--ink)}
.seg label{flex:1;position:relative}
.seg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.seg span{display:flex;align-items:center;justify-content:center;min-height:46px;padding:0 12px;font:700 .9rem var(--display);font-variation-settings:"wdth" 112;text-transform:uppercase;transition:background-color .15s var(--ease-out),color .15s var(--ease-out)}
.seg label + label span{border-left:1.5px solid var(--ink)}
.seg input:checked + span{background:var(--ink);color:var(--bg)}
.seg input:focus-visible + span{outline:2px solid var(--red-hi);outline-offset:-4px}
.rchips{display:flex;flex-wrap:wrap;gap:6px}
.rchips label{position:relative}
.rchips input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.rchips span{display:inline-flex;align-items:center;min-height:42px;padding:0 14px;border:1px solid var(--line);font-size:.9rem;transition:background-color .15s var(--ease-out),color .15s var(--ease-out),border-color .15s var(--ease-out)}
.rchips input:checked + span{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.rchips input:focus-visible + span{outline:2px solid var(--red-hi);outline-offset:2px}
.rt .scrub{height:36px}
.tog{display:flex;align-items:center;gap:12px;cursor:pointer;min-height:44px;font-weight:600;font-size:.95rem}
.tog input{width:22px;height:22px;accent-color:var(--red);margin:0}
.rt-out{position:sticky;top:96px;background:var(--night);color:var(--night-fg);padding:clamp(22px,3vw,36px)}
.rt-out .k{margin:0 0 8px;font-size:.85rem;color:var(--night-muted)}
.rt-mode{margin:0;font-weight:900;font-variation-settings:"wdth" 122;text-transform:uppercase;font-size:clamp(2.2rem,4.6vw,4.2rem);line-height:.92}
.rt-mode.swap{animation:enter .4s var(--ease-out)}
.chain{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:0;row-gap:12px}
.chain li{position:relative;display:flex;align-items:center;font-size:.85rem;color:var(--night-muted)}
.chain li span{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border:1px solid var(--night-line)}
.chain li + li::before{content:"";width:18px;height:1.5px;background:var(--night-line)}
.chain li.main span{border-color:var(--red-hi);background:var(--red-hi);color:#fff;font-weight:600}
.chain.swap li{animation:enter .35s var(--ease-out) both}
.chain.swap li:nth-child(2){animation-delay:.04s}.chain.swap li:nth-child(3){animation-delay:.08s}.chain.swap li:nth-child(4){animation-delay:.12s}.chain.swap li:nth-child(5){animation-delay:.16s}.chain.swap li:nth-child(6){animation-delay:.2s}.chain.swap li:nth-child(7){animation-delay:.24s}
.why{list-style:none;margin:24px 0 0;padding:0;border-top:1px solid var(--night-line)}
.why li{padding:10px 0;border-bottom:1px solid var(--night-line);color:var(--night-fg);font-size:.95rem}
.rt-out .btn{margin-top:24px}
.rt-out .note{color:var(--night-muted)}
@media (max-width:900px){.rt-grid{grid-template-columns:1fr}.rt-out{position:static}}

/* ---------- Marquee (client logos, left to right) ---------- */
.ind-grid > *,.cr-grid > *,.rk-grid > *,.modes-grid > *{min-width:0}
.marquee{position:relative;overflow:hidden;max-width:100%;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq-track{display:flex;width:max-content;animation:mq var(--dur,60s) linear infinite}
.mq-track .logos{flex-wrap:nowrap;padding-right:44px}
@keyframes mq{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.marquee:hover .mq-track,.marquee:focus-within .mq-track,.mq-paused .mq-track{animation-play-state:paused}
.mq-ctrl{display:flex;align-items:center;gap:10px;margin-top:14px}
.mq-btn{min-height:40px;padding:0 14px;border:1px solid currentColor;background:transparent;color:inherit;font:600 .8rem var(--display);font-variation-settings:"wdth" 110;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;opacity:.75}
.mq-btn:hover{opacity:1}
.rm .mq-track{animation:none;width:auto}
.rm .mq-track .logos[aria-hidden="true"]{display:none}
.rm .mq-track .logos{flex-wrap:wrap;row-gap:24px}
.rm .marquee{-webkit-mask:none;mask:none;padding:0 var(--pad)}
.rm .ind .marquee{padding:0}
.rm .mq-ctrl{display:none}

/* ---------- Control room / tracking ---------- */
.cr-grid{display:grid;grid-template-columns:minmax(280px,.42fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:start}
.tr-form{border:1px solid var(--night-line);padding:22px;display:grid;gap:18px;background:var(--night-2)}
.tr-form .seg{border-color:var(--night-fg)}
.tr-form .seg label + label span{border-color:var(--night-fg)}
.tr-form .seg input:checked + span{background:var(--night-fg);color:var(--night)}
.tr-form .fl{display:grid;gap:8px}
.tr-form .fl label,.tr-form legend{font-weight:600;font-size:.9rem;padding:0;margin-bottom:8px}
.tr-form fieldset{border:0;margin:0;padding:0}
.tr-in{min-height:50px;padding:0 14px;border:1.5px solid var(--night-line);background:var(--night);color:var(--night-fg);font:500 1rem var(--mono);width:100%}
.tr-in:focus{outline:none;border-color:var(--red-hi)}
.tr-in[aria-invalid="true"]{border-color:var(--red-hi)}
.tr-err{margin:0;color:#FF8A70;font-size:.85rem;min-height:1.2em}
.tr-form .btn{justify-content:center}
.linkbtn{background:none;border:0;padding:0;color:var(--night-fg);text-decoration:underline;text-underline-offset:3px;font:500 .9rem var(--display);cursor:pointer;min-height:36px;text-align:left}
.tr-disc{margin:0;font-size:.78rem;color:var(--night-muted);line-height:1.5}
.dash{border:1px solid var(--night-line);background:var(--night-2);position:relative}
.dash-h{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid var(--night-line)}
.dash-h div{padding:14px 16px;border-left:1px solid var(--night-line);min-width:0}
.dash-h div:first-child{border-left:0}
.dash-h dt{font-size:.72rem;color:var(--night-muted);margin-bottom:4px}
.dash-h dd{margin:0;font:500 .88rem var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.demo-tag{position:absolute;top:-11px;right:14px;background:var(--red-hi);color:#fff;font:600 .7rem var(--display);padding:3px 8px;letter-spacing:.04em;text-transform:uppercase}
.rail8{list-style:none;margin:0;padding:26px 16px 18px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));position:relative}
.rail8::before{content:"";position:absolute;left:calc(16px + 6.25%);right:calc(16px + 6.25%);top:32px;height:2px;background:var(--night-line)}
.rail8 .fillx{position:absolute;left:calc(16px + 6.25%);right:calc(16px + 6.25%);top:32px;height:2px;background:var(--red-hi);transform-origin:0 50%;transform:scaleX(var(--f,0));transition:transform .8s var(--ease-out)}
.rail8 li{position:relative;text-align:center;font-size:.72rem;color:var(--night-muted);padding-top:22px;line-height:1.25;transition:color .2s var(--ease-out)}
.rail8 li::before{content:"";position:absolute;left:50%;top:0;width:12px;height:12px;margin-left:-6px;border:2px solid var(--night-line);background:var(--night-2);transition:background-color .2s var(--ease-out),border-color .2s var(--ease-out)}
.rail8 li.done{color:var(--night-fg)}
.rail8 li.done::before{background:var(--night-fg);border-color:var(--night-fg)}
.rail8 li.now{color:var(--night-fg);font-weight:600}
.rail8 li.now::before{background:var(--red-hi);border-color:var(--red-hi)}
.dash-b{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1px solid var(--night-line)}
.dash-map{border-right:1px solid var(--night-line);padding:12px}
.dash-map svg{display:block;width:100%;height:auto}
.dash-map .ln{fill:none;stroke:var(--night-line);stroke-width:2;stroke-dasharray:4 5}
.dash-map .pr{fill:none;stroke:var(--red-hi);stroke-width:2.5}
.dash-map .nd{fill:var(--night-2);stroke:var(--night-fg);stroke-width:1.5}
.dash-map text{font:500 11px var(--display);fill:var(--night-muted)}
.evlog{list-style:none;margin:0;padding:6px 0;max-height:260px;overflow:auto}
.evlog li{display:grid;grid-template-columns:7.5em 1fr;gap:10px;padding:8px 16px;font-size:.85rem;border-bottom:1px solid var(--night-line)}
.evlog li:last-child{border-bottom:0}
.evlog time{font:500 .78rem var(--mono);color:var(--night-muted)}
.evlog li:first-child{color:var(--night-fg);font-weight:600}
.evlog li.in{animation:enter .4s var(--ease-out) both}
.dash.loading .dash-h dd,.dash.loading .evlog{opacity:.35;transition:opacity .15s}
.dash-foot{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--night-line);font-size:.8rem;color:var(--night-muted)}
.dash-foot a{color:var(--night-fg)}
@media (max-width:980px){.cr-grid{grid-template-columns:1fr}}
@media (max-width:760px){
  .dash-h{grid-template-columns:1fr 1fr}.dash-h div{border-left:0;border-top:1px solid var(--night-line)}.dash-h div:nth-child(-n+2){border-top:0}
  .rail8{grid-template-columns:1fr;padding:16px}
  .rail8::before,.rail8 .fillx{left:21px;right:auto;top:22px;bottom:22px;width:2px;height:auto}
  .rail8 .fillx{transform-origin:50% 0;transform:scaleY(var(--f,0))}
  .rail8 li{text-align:left;padding:4px 0 12px 28px}
  .rail8 li::before{left:0;margin-left:0;top:5px}
  .dash-b{grid-template-columns:1fr}.dash-map{border-right:0;border-bottom:1px solid var(--night-line)}
}

/* ---------- Customs story ---------- */
.cu{position:relative;height:280vh;border-top:1px solid var(--line)}
.cu-stick{position:sticky;top:0;height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;column-gap:clamp(24px,4vw,64px);row-gap:clamp(12px,3vh,32px);align-content:center;padding-top:calc(env(safe-area-inset-top,0px) + 76px);padding-bottom:24px}
.cu-diag{grid-column:1 / -1}
.cu h2{font-size:clamp(2rem,3.6vw,3.4rem)}
.cu ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.cu li{padding:9px 0 9px 20px;border-bottom:1px solid var(--line);font-size:.93rem;position:relative}
.cu li::before{content:"";position:absolute;left:0;top:1.05em;width:7px;height:7px;background:var(--red)}
.cu .sectors{margin:14px 0 0;font-size:.85rem;color:var(--muted)}
.cu-svg{width:100%;height:auto;overflow:visible}
.cu-svg .post{fill:var(--paper);stroke:var(--ink);stroke-width:1.5}
.cu-svg .ico{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;transition:stroke .25s var(--ease-out)}
.cu-svg .lab{font:600 17px var(--display);font-variation-settings:"wdth" 108;fill:var(--muted);transition:fill .25s var(--ease-out)}
.cu-svg .num{font:500 13px var(--mono);fill:var(--muted)}
.cu-svg .gate.on .lab{fill:var(--ink)}
.cu-svg .gate.on .ico{stroke:var(--red)}
.cu-svg .base{stroke:var(--line);stroke-width:2}
.cu-svg .prog{stroke:var(--red);stroke-width:2.5}
.cu-svg .doc{fill:var(--paper);stroke:var(--ink);stroke-width:1.6}
.cu-svg .dl{stroke:var(--line);stroke-width:2}
.cu-svg .dl.f{stroke:var(--ink)}
.cu-svg .tag{fill:var(--ink)}
.cu-svg .tagt{font:700 9px var(--mono);fill:var(--paper)}
.cu-svg .stp rect{fill:none;stroke:var(--red);stroke-width:2}
.cu-svg .stp text{font:800 10px var(--display);fill:var(--red);letter-spacing:.06em}
.cu-svg .carm{fill:var(--ink)}
.cu-svg .cbx{fill:var(--red)}
.cu-cap{margin:18px 0 0;font:500 .85rem var(--mono);color:var(--ink-2);min-height:1.4em}
@media (max-width:900px){
  .cu{height:260vh}
  .cu-stick{grid-template-columns:1fr;align-content:center;gap:12px;padding-top:calc(env(safe-area-inset-top,0px) + 70px)}
  .cu ul,.cu .sectors{display:none}
  .cu h2{font-size:clamp(1.8rem,7.4vw,2.6rem)}
}
.cu-steps{display:none}
@media (max-width:900px){
  .cu-steps{display:grid;grid-template-columns:1fr 1fr;gap:6px;list-style:none;margin:14px 0 0;padding:0;counter-reset:s}
  .cu-steps li{counter-increment:s;border:1px solid var(--line);padding:10px 12px;font-size:.9rem;color:var(--muted);transition:background-color .2s var(--ease-out),color .2s var(--ease-out),border-color .2s var(--ease-out)}
  .cu .cu-steps li{padding:10px 12px}
  .cu .cu-steps li::before{content:counter(s,decimal-leading-zero) "  ";font:500 .75rem var(--mono);position:static;width:auto;height:auto;background:none}
  .cu-steps li.on{color:var(--ink);border-color:var(--ink)}
  .cu-steps li.now{background:var(--ink);color:var(--bg)}
  .cu-svg .lab,.cu-svg .num{display:none}
}
@media (max-width:760px){.rk .rk-svg .nl{font-size:30px}.rk .rk-svg .ns,.rk .rk-svg .nl.mid{display:none}.rk .rk-svg .nd{stroke-width:3}.rk .rk-svg .rt0{stroke-width:4}.rk .rk-svg .det{stroke-width:5}}
.rm .cu{height:auto}
.rm .cu-stick{position:relative;height:auto;padding:clamp(88px,14vh,140px) var(--pad) clamp(64px,10vh,120px)}
.rm .cu ul,.rm .cu .sectors{display:block}

/* ---------- Services ---------- */
.sv-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:0 6px;border-bottom:1px solid var(--night-line)}
.sv-tab{background:none;border:0;padding:6px 4px 10px;cursor:pointer;color:var(--night-line);font:900 clamp(2rem,3.8vw,4.2rem)/.9 var(--display);font-variation-settings:"wdth" 122;text-transform:uppercase;letter-spacing:-.01em;position:relative;transition:color .2s var(--ease-out)}
.sv-tab:hover{color:var(--night-muted)}
.sv-tab[aria-selected="true"]{color:var(--night-fg)}
.sv-tab::after{content:"";position:absolute;left:4px;right:4px;bottom:-1px;height:4px;background:var(--red-hi);transform:scaleX(0);transform-origin:0 50%;transition:transform .35s var(--ease-out)}
.sv-tab[aria-selected="true"]::after{transform:scaleX(1)}
.sv-arr{color:var(--night-line);font:400 clamp(1.4rem,3vw,2.6rem) var(--display)}
.sv-panel{display:none;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(20px,4vw,64px);padding-top:32px}
.sv-panel.on{display:grid}
.sv-panel .lead{margin:0;font-size:clamp(1.1rem,1.6vw,1.35rem);color:var(--night-fg);max-width:32ch}
.sv-panel .cnt{margin:16px 0 0;font-size:.85rem;color:var(--night-muted)}
.sv-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--night-line)}
.sv-list li{padding:14px 16px 14px 0;border-bottom:1px solid var(--night-line);display:grid;grid-template-columns:28px 1fr;gap:8px;font-size:1rem}
.sv-list li b{font:500 .75rem var(--mono);color:var(--red-hi);padding-top:.2em}
.sv-panel.on .sv-list li{animation:enter .4s var(--ease-out) both;animation-delay:calc(var(--i) * 35ms)}
.sv-panel.on .lead{animation:enter .4s var(--ease-out) both}
@media (max-width:760px){.sv-panel{grid-template-columns:1fr}.sv-list{grid-template-columns:1fr}.sv-arr{display:none}.sv-tabs{gap:0 14px}.sv-tab{font-size:12.4vw}}

/* ---------- Clients + testimonials ---------- */
.cl{border-top:1px solid var(--line)}
.cl-intro{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 32px;margin-bottom:28px}
.cl-intro p{margin:0}
.cl .logo{background:var(--muted);height:calc(var(--h) * 1.3)}
.cl .mq-track .logos{column-gap:64px;padding-right:64px}
.cl .logos li:hover .logo{background:var(--ink)}
.cl .marquee + .marquee{margin-top:30px}
.tst{margin-top:clamp(56px,9vh,96px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 40px;align-items:end;border-top:1px solid var(--line);padding-top:clamp(28px,5vh,48px)}
.tst-stage{position:relative;min-height:260px}
.tst-slide{position:absolute;inset:0 0 auto 0;opacity:0;transform:translateX(16px);filter:blur(4px);transition:opacity .25s var(--ease-in),transform .3s var(--ease-in),filter .25s var(--ease-in);pointer-events:none}
.tst-slide.on{position:relative;opacity:1;transform:none;filter:none;pointer-events:auto;transition:opacity .45s var(--ease-out),transform .5s var(--ease-out),filter .45s var(--ease-out)}
.tst-slide.out{transform:translateX(-12px)}
.tst blockquote{margin:0;font-weight:700;font-variation-settings:"wdth" 104;font-size:clamp(1.5rem,3.1vw,2.7rem);line-height:1.12;max-width:26ch;position:relative;padding-top:52px}
.tst blockquote::before{content:"";position:absolute;left:0;top:0;width:40px;height:32px;background:var(--red);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 32'%3E%3Cpath d='M0 32V18C0 7 6 1 16 0l2 5c-6 2-9 6-9 11h8v16zm22 0V18c0-11 6-17 16-18l2 5c-6 2-9 6-9 11h8v16z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 32'%3E%3Cpath d='M0 32V18C0 7 6 1 16 0l2 5c-6 2-9 6-9 11h8v16zm22 0V18c0-11 6-17 16-18l2 5c-6 2-9 6-9 11h8v16z'/%3E%3C/svg%3E") center/contain no-repeat}
.tst blockquote.ph{color:var(--muted)}
.tst figcaption{margin-top:22px;display:flex;gap:14px;align-items:center}
.tst figcaption .mono{width:48px;height:48px;border:1.5px dashed var(--muted);display:grid;place-items:center;font:600 .8rem var(--display);color:var(--muted)}
.tst figcaption b{display:block}
.tst figcaption span{color:var(--muted);font-size:.9rem}
.ph-tag{display:inline-block;margin-top:14px;font:600 .72rem var(--display);letter-spacing:.04em;text-transform:uppercase;border:1px dashed var(--red);color:var(--red);padding:4px 8px}
.tst-nav{display:flex;align-items:center;gap:10px}
.tst-nav button{width:48px;height:48px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:background-color .15s var(--ease-out),color .15s var(--ease-out)}
.tst-nav button:hover{background:var(--ink);color:var(--bg)}
.tst-nav button:active{transform:scale(.96)}
.tst-count{font:500 .85rem var(--mono);color:var(--muted);min-width:4ch;text-align:center}
@media (max-width:760px){.tst{grid-template-columns:1fr}.tst-stage{min-height:320px}}

/* ---------- Team & experience ---------- */
.tm .tabs{margin-bottom:32px}
.tm-panel{display:none}
.tm-panel.on{display:block;animation:enter .42s var(--ease-out)}
.stmts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--night-line)}
.stmt{padding:clamp(22px,4vw,44px) clamp(16px,3vw,36px) clamp(22px,4vw,40px) 0;border-bottom:1px solid var(--night-line);opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease-out),transform .6s var(--ease-out)}
.stmt:nth-child(even){padding-left:clamp(16px,3vw,36px);border-left:1px solid var(--night-line)}
.stmts.in .stmt{opacity:1;transform:none}
.stmts.in .stmt:nth-child(2){transition-delay:.08s}.stmts.in .stmt:nth-child(3){transition-delay:.16s}.stmts.in .stmt:nth-child(4){transition-delay:.24s}
.stmt b{display:block;font-weight:900;font-variation-settings:"wdth" 104;text-transform:uppercase;font-size:clamp(2.2rem,4.3vw,4.2rem);line-height:.88;letter-spacing:-.01em}
.stmt b em{font-style:normal;color:var(--red-hi)}
.stmt span{display:block;margin-top:10px;font-weight:700;font-variation-settings:"wdth" 112;text-transform:uppercase;letter-spacing:.03em}
.stmt p{margin:8px 0 0;color:var(--night-muted);max-width:40ch;font-size:.95rem}
.sect{margin-top:32px}
.sect h3{margin:0 0 12px;font-size:.85rem;font-weight:600;color:var(--night-muted)}
.sect ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.sect li{border:1px solid var(--night-line);padding:8px 12px;font-size:.9rem}
.people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:28px}
.person{display:flex;gap:18px;align-items:center;border:1px solid var(--night-line);padding:18px}
.person .av{width:72px;height:72px;flex:none;display:grid;place-items:center;border:1.5px dashed var(--night-muted);font:800 1.3rem var(--display);font-variation-settings:"wdth" 118;color:var(--night-fg)}
.person h3{margin:0;font-weight:800;font-variation-settings:"wdth" 112;text-transform:uppercase;font-size:1.25rem}
.person p{margin:4px 0 0;color:var(--night-muted);font-size:.9rem}
.funcs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--night-line)}
.funcs li{padding:20px 20px 20px 0;border-bottom:1px solid var(--night-line)}
.funcs li + li{padding-left:20px;border-left:1px solid var(--night-line)}
.funcs b{display:block;font-weight:800;font-variation-settings:"wdth" 112;text-transform:uppercase;margin-bottom:8px}
.funcs p{margin:0;color:var(--night-muted);font-size:.92rem}
.tm .note{color:var(--night-muted)}
@media (max-width:900px){.funcs{grid-template-columns:1fr 1fr}.funcs li:nth-child(3){padding-left:0;border-left:0}}
@media (max-width:620px){.stmts,.people,.funcs{grid-template-columns:1fr}.stmt:nth-child(even){padding-left:0;border-left:0}.funcs li + li{padding-left:0;border-left:0}}
.rm .stmt{opacity:1;transform:none}

/* ---------- Risk ---------- */
.rk{border-top:1px solid var(--line)}
.rk-h,#cr-title,#sv-title,#tm-title{font-size:clamp(2.2rem,4.4vw,4.2rem)}
.rk .sub{margin:12px 0 0;font-weight:800;font-variation-settings:"wdth" 118;text-transform:uppercase;font-size:clamp(1.3rem,2.4vw,2.2rem);color:var(--red)}
.rk-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.rk-chip{min-height:44px;padding:0 16px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);font:700 .85rem var(--display);font-variation-settings:"wdth" 110;text-transform:uppercase;cursor:pointer;transition:background-color .15s var(--ease-out),color .15s var(--ease-out)}
.rk-chip[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.rk-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(20px,3vw,48px);align-items:start}
.rk-stage{background:var(--paper);border:1px solid var(--line)}
.rk-stage svg{display:block;width:100%;height:auto}
.rk-svg .rt0{fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round}
.rk-svg .rt0.cut{stroke:var(--line);stroke-dasharray:6 6}
.rk-svg .det{fill:none;stroke:var(--red);stroke-width:3;stroke-linecap:round}
.rk-svg .nd{fill:var(--paper);stroke:var(--ink);stroke-width:2}
.rk-svg .nl{font:600 13px var(--display);fill:var(--ink)}
.rk-svg .ns{font:400 11px var(--display);fill:var(--muted)}
.rk-svg .hz{fill:none;stroke:var(--red);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.rk-svg .hzf{fill:var(--red)}
.rk-svg .x{stroke:var(--red);stroke-width:3;stroke-linecap:round}
.rk-svg .dot{fill:var(--red)}
.rk-svg .wv{stroke:var(--line);stroke-width:1.5;fill:none}
.rk-info h3{margin:0 0 6px;font-size:.85rem;font-weight:600;color:var(--muted)}
.rk-info p{margin:0 0 20px;font-size:1.05rem}
.rk-info .resp{font-weight:600}
.rk-info.swap{opacity:0;transform:translateY(6px);filter:blur(3px);transition:opacity .1s}
.rk-info{transition:opacity .3s var(--ease-out),transform .35s var(--ease-out),filter .3s var(--ease-out)}
@media (max-width:900px){.rk-grid{grid-template-columns:1fr}}

/* ---------- Final CTA ---------- */
.final{padding:clamp(120px,20vh,220px) 0 clamp(80px,12vh,140px);text-align:left}
.final h2{font-size:clamp(3rem,11vw,10rem)}
.final .lede{margin-top:24px;max-width:30ch;font-size:clamp(1.2rem,2vw,1.6rem);color:var(--night-muted)}
.final .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.final .reach{margin-top:48px;display:flex;flex-wrap:wrap;gap:10px 36px;font-size:1rem}
.final .reach a{text-decoration:none;border-bottom:1px solid var(--night-line);padding-bottom:2px}
.final .reach a:hover{border-color:var(--night-fg)}
@media (max-width:560px){.final .ctas .btn{flex:1 1 100%;justify-content:center}}

.rail8 li.fillx{padding:0}
.rail8 li.fillx::before{display:none}
/* ---------- Footer ---------- */
.foot{background:var(--night);color:var(--night-fg);border-top:1px solid var(--night-line);padding:clamp(56px,10vh,100px) 0 calc(env(safe-area-inset-bottom,0px) + 36px)}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:36px}
.foot h2{margin:0 0 18px}
.foot h3{font-size:.85rem;font-weight:600;color:var(--night-muted);margin:0 0 12px}
.foot p,.foot address{font-style:normal;margin:0;color:var(--night-fg);font-size:.95rem}
.foot a{text-decoration:none;display:inline-flex;min-height:36px;align-items:center}
.foot a:hover{text-decoration:underline;text-underline-offset:3px}
.foot .legal{margin-top:56px;padding-top:20px;border-top:1px solid var(--night-line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:var(--night-muted);font-size:.85rem}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr}}

/* ---------- Reduced motion: final readable states, no pin, no scrub ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
}
.rm .journey{height:auto!important}
.rm .j-stick{position:relative;height:auto;overflow:visible}
.rm .track{position:static;flex-direction:column;transform:none!important;padding:clamp(88px,14vh,140px) 0 40px}
.rm .jp{width:auto;height:auto;min-height:0;padding-bottom:calc(var(--art) + 40px)}
.rm .jp.intro,.rm .jp.outro{padding-bottom:40px}
.rm .jp.intro::after,.rm .jp.outro::after{display:none}
.rm .j-stick{--ground:0px}
.rm .ptext{position:static;padding:40px var(--pad) 24px}
.rm .jart{bottom:0}
.rm .sea{bottom:-72px;display:none}
.rm #cargo,.rm .hud,.rm .rail,.rm .jcap{display:none}
.rm .jp[data-stage] .ptext{display:block}
.rm .about{height:auto}
.rm .tl-stick{position:relative;height:auto;padding-top:clamp(88px,14vh,140px);padding-bottom:clamp(64px,10vh,120px)}
.rm .jcargo.clone{position:absolute;left:auto;right:6%;bottom:0}
