/* WutzNxt Design System
   Extracted from the canonical homepage design.
   Shared across all pages. */

/* --- Fonts (self-hosted, latin + latin-ext) --- */
@font-face {
  font-family: 'Archivo Black';
  font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/archivo-black-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo Black';
  font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/archivo-black-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/inter-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/inter-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal; font-weight: 500; font-display: swap;
  src: url("fonts/inter-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal; font-weight: 500; font-display: swap;
  src: url("fonts/inter-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Outfit';
  font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/outfit-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Outfit';
  font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/outfit-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Outfit';
  font-style: normal; font-weight: 500; font-display: swap;
  src: url("fonts/outfit-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Outfit';
  font-style: normal; font-weight: 700; font-display: swap;
  src: url("fonts/outfit-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* --- Design tokens and components --- */
:root{
  --gut:clamp(20px,4.5vw,72px);
  --r:22px;
  --bg:#0B0B0C; --panel:#151517; --panel2:#1B1B1F;
  --line:#28282C; --line2:#3A3A42;
  --text:#F5F4F1; --mute:#9C9CA3; --mute2:#6E6E78;
  --orange:#F06A1A;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
a{color:var(--text);text-decoration:none}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:4px}

/* ---------- nav ---------- */
nav.wn{
  position:fixed;inset:0 0 auto 0;z-index:90;display:flex;align-items:center;justify-content:space-between;
  padding:16px var(--gut);background:transparent;border-bottom:1px solid transparent;
  transition:background .3s,border-color .3s,backdrop-filter .3s;
}
nav.wn.stuck{background:rgba(11,11,12,.86);backdrop-filter:blur(14px);border-bottom-color:var(--line)}
.wordmark{font-family:'Archivo Black',Impact,sans-serif;font-size:16px;letter-spacing:.14em;text-transform:uppercase}
.wordmark i{color:var(--orange);font-style:normal}
.navlinks{display:flex;align-items:center;gap:26px}
.navlinks a{font-family:'Outfit',sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.navlinks a:hover{color:var(--text)}
.navlinks a.on{color:var(--text)}
.navcta{border:1px solid var(--line2);border-radius:100px;padding:9px 18px !important;color:var(--text) !important}
.navcta:hover{background:var(--orange);border-color:var(--orange);color:var(--bg) !important}
@media(max-width:900px){.navlinks a:not(.navcta){display:none}}

/* ---------- layout ---------- */
section{padding:80px var(--gut);position:relative}
section + section{border-top:1px solid var(--line)}
.h2{
  font-family:'Archivo Black',Impact,sans-serif;font-size:clamp(26px,3.8vw,58px);line-height:1.02;
  letter-spacing:-.02em;margin:0;text-transform:uppercase;text-wrap:balance;
}
.h2 .n{font-family:'Outfit',sans-serif;font-weight:400;font-size:.5em;color:var(--orange);margin-right:calc(.45em + 5px);letter-spacing:.02em}
.h3{font-family:'Archivo Black',Impact,sans-serif;text-transform:uppercase;font-size:clamp(21px,2vw,27px);letter-spacing:-.01em;line-height:1.08;margin:0 0 10px}
.h4{font-family:'Archivo Black',Impact,sans-serif;text-transform:uppercase;font-size:16px;letter-spacing:-.005em;margin:0 0 8px}
.lede{font-size:clamp(16px,1.45vw,19px);color:var(--mute);max-width:64ch;margin:20px 0 0}
.body{max-width:60ch;color:#D8D7D2}
.body p{margin:0 0 16px}
.kicker{font-family:'Outfit',sans-serif;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.kicker.o{color:var(--orange)}
.mono{font-family:'Outfit',sans-serif}
.mt{margin-top:clamp(36px,5vw,64px)}
.mt-sm{margin-top:clamp(24px,3vw,40px)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line2);border-radius:100px;
  padding:15px 28px;font-family:'Outfit',sans-serif;font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;transition:background .25s,border-color .25s,color .25s;
}
.btn:hover{border-color:var(--text)}
.btn.fill{background:var(--orange);border-color:var(--orange);color:var(--bg)}
.btn.fill:hover{background:#FF7A2E;border-color:#FF7A2E}
.btnrow{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}

/* ---------- hero ---------- */
header.hero{padding:0 var(--gut) 80px;position:relative;overflow:hidden}
.herostage{position:relative;padding-top:70px;display:flex;flex-direction:column}
.herologo{display:block;width:100vw;max-width:100vw;height:auto;margin-left:calc(50% - 50vw)}
header.hero h1{
  font-family:'Archivo Black',Impact,sans-serif;text-transform:uppercase;
  font-size:clamp(30px,5.6vw,76px);line-height:1.0;letter-spacing:-.025em;margin:0;max-width:17ch;text-wrap:balance;
}
header.hero .sub{font-size:clamp(16px,1.5vw,20px);color:var(--mute);max-width:56ch;margin:24px 0 0}
.herocopy{position:absolute;inset:70px 0 0 0;display:flex;flex-direction:column;justify-content:center;z-index:2;pointer-events:none}
.herocopy a,.herocopy .btnrow{pointer-events:auto}
.heromedia{margin-top:110px;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
@media(max-width:900px){
  .herostage{padding-top:40px;gap:30px}
  .herocopy{position:static;order:-1;inset:auto}
  .heromedia{margin-top:56px}
}

/* ---------- image placeholder ---------- */
.imgph{
  position:relative;background:
    repeating-linear-gradient(135deg,rgba(255,255,255,.014) 0 12px,transparent 12px 24px),var(--panel);
  border:1px dashed var(--line2);border-radius:var(--r);
  display:flex;flex-direction:column;justify-content:flex-end;padding:20px;overflow:hidden;
}
.imgph .tag{
  position:absolute;top:14px;left:14px;font-family:'Outfit',sans-serif;font-size:9.5px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--orange);border:1px solid rgba(255,92,0,.4);
  padding:3px 8px;border-radius:2px;
}
.imgph p{margin:0;font-family:'Outfit',sans-serif;font-size:11px;line-height:1.65;color:var(--mute);max-width:46ch}
.imgph.flat{border-radius:0}

/* ---------- routes ---------- */
#routes .shell{max-width:1200px;margin-left:auto;margin-right:auto}
.routes{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.route{
  border:1px solid var(--line);border-radius:var(--r);background:var(--panel);overflow:hidden;
  position:relative;aspect-ratio:1.35/1;transition:border-color .3s;
}
.route:hover{border-color:var(--orange)}
.route .rmedia{position:absolute;inset:0;z-index:0;overflow:hidden}
.route .rmedia .imgph{height:100%;border:0;border-radius:0}
.route .rbody{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:26px 26px 28px;display:flex;flex-direction:column;gap:12px}
.route .prob{color:var(--mute);font-size:15.5px}
.route .go{font-family:'Outfit',sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);padding-top:14px;display:flex;align-items:center;gap:8px;transition:gap .25s}
.route:hover .go{gap:14px}
@media(max-width:840px){.routes{grid-template-columns:1fr}}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center}
.stat{border-top:2px solid var(--orange);padding-top:18px;text-align:center}
.stat .v{font-family:'Archivo Black',Impact,sans-serif;font-size:clamp(34px,4.4vw,60px);line-height:1;letter-spacing:-.02em}
.stat .l{font-family:'Archivo Black',Impact,sans-serif;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-top:0;margin-bottom:10px;line-height:1}
@media(max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}}

/* ---------- credential cards ---------- */
.creds{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cred{
  border:1.5px solid transparent;border-radius:var(--r);
  background:linear-gradient(var(--panel),var(--panel)) padding-box,
             linear-gradient(140deg,rgba(255,92,0,.9) 0%,rgba(255,92,0,.28) 32%,rgba(255,255,255,.18) 58%,rgba(255,92,0,.6) 100%) border-box;
  padding:24px;display:flex;gap:20px;align-items:center;
}
.cred .icon{flex:0 0 92px;width:92px;height:92px;border-radius:14px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;font-family:'Outfit',sans-serif;font-size:9px;letter-spacing:.1em;color:#555;text-align:center;padding:8px}
.cred .st{font-family:'Outfit',sans-serif;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);display:block;margin-bottom:7px}
.cred p{margin:0;font-size:13.5px;color:var(--mute);line-height:1.55}
@media(max-width:1000px){.creds{grid-template-columns:1fr}}

/* ---------- work rail ---------- */
.railwrap{position:relative;margin-top:clamp(36px,5vw,60px)}
.rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px}
.rail::-webkit-scrollbar{display:none}
.tile{
  flex:0 0 clamp(260px,32vw,420px);scroll-snap-align:start;border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;position:relative;aspect-ratio:5/4;display:flex;flex-direction:column;justify-content:flex-end;
  transition:border-color .3s;background:var(--panel);
}
.tile:hover{border-color:var(--line2)}
.tile .tmedia{position:absolute;inset:0;transition:transform .6s ease}
.tile:hover .tmedia{transform:scale(1.045)}
.tile .tmedia .imgph{height:100%;border:0;border-radius:0;justify-content:center;align-items:center;text-align:center}
.tile .cap{position:relative;padding:22px;background:linear-gradient(to top,rgba(11,11,12,.94) 40%,transparent)}
.tile .cap .c{font-family:'Outfit',sans-serif;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange)}
.tile .cap .t{font-family:'Archivo Black',Impact,sans-serif;text-transform:uppercase;font-size:17px;line-height:1.1;margin-top:8px}
.tile .cap .num{font-family:'Outfit',sans-serif;font-size:11.5px;color:var(--mute);margin-top:10px;max-height:0;opacity:0;overflow:hidden;transition:max-height .35s ease,opacity .35s ease}
.tile:hover .cap .num{max-height:60px;opacity:1}
.railnav{display:flex;gap:10px;margin-top:22px}
.railnav button{
  width:48px;height:48px;border-radius:50%;border:1px solid var(--line2);background:transparent;color:var(--text);
  cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .25s,color .25s,border-color .25s;
}
.railnav button:hover{background:var(--orange);border-color:var(--orange);color:var(--bg)}

/* section 04 work tiles: orange top line + orange outline/glow on hover */
[data-tile]::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;z-index:5;background:linear-gradient(90deg,rgba(255,92,0,0),var(--orange) 45%,rgba(255,92,0,.25) 100%);opacity:.55;transition:opacity .35s ease;pointer-events:none}
[data-tile]:hover::before{opacity:1}
[data-tile]{transition:border-color .35s ease,box-shadow .35s ease !important}
[data-tile]:hover{border-color:rgba(255,92,0,.55) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.11), 0 2px 4px rgba(0,0,0,.4), 0 30px 70px -32px rgba(255,92,0,.28)}

/* ---------- punchlines ---------- */
.punch{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:clamp(36px,5vw,60px);border-top:1px solid var(--line)}
.punch div{padding:32px 28px 32px 0;border-bottom:1px solid var(--line)}
.punch div:nth-child(odd){border-right:1px solid var(--line);padding-right:32px}
.punch div:nth-child(even){padding-left:32px}
.punch .p1{font-family:'Archivo Black',Impact,sans-serif;text-transform:uppercase;font-size:clamp(18px,1.9vw,25px);line-height:1.1}
.punch .p2{color:var(--mute);margin-top:10px;font-size:15.5px}
@media(max-width:800px){
  .punch{grid-template-columns:1fr}
  .punch div:nth-child(odd){border-right:0;padding-right:0}
  .punch div:nth-child(even){padding-left:0}
}

/* ---------- calculator ---------- */
.calc{display:grid;grid-template-columns:1.05fr .95fr;gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:clamp(36px,5vw,60px)}
.calc .in{padding:clamp(26px,3vw,40px);background:var(--panel)}
.calc .out{padding:clamp(26px,3vw,40px);background:linear-gradient(150deg,rgba(255,92,0,.14),rgba(255,92,0,.02));border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}
.field{margin-bottom:24px}
.field .top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.field label{font-family:'Outfit',sans-serif;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.field .val{font-family:'Archivo Black',Impact,sans-serif;font-size:18px}
input[type=range]{width:100%;-webkit-appearance:none;height:4px;border-radius:3px;outline:none;background:linear-gradient(90deg,var(--orange) 0%,var(--orange) var(--p,30%),var(--line2) var(--p,30%),var(--line2) 100%)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--orange);cursor:pointer;border:3px solid var(--bg);box-shadow:0 0 0 1px var(--orange)}
input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--orange);cursor:pointer;border:3px solid var(--bg)}
.readout{font-family:'Archivo Black',Impact,sans-serif;font-size:clamp(40px,5.4vw,72px);line-height:1;letter-spacing:-.03em}
.readout-l{font-family:'Outfit',sans-serif;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-top:12px}
.readout-2{font-family:'Archivo Black',Impact,sans-serif;font-size:clamp(18px,2vw,26px);color:var(--orange);margin-top:24px}
.assump{font-family:'Outfit',sans-serif;font-size:10.5px;line-height:1.7;color:var(--mute2);margin-top:22px;max-width:44ch}
@media(max-width:900px){.calc{grid-template-columns:1fr}.calc .out{border-left:0;border-top:1px solid var(--line)}}

/* ---------- 03 : the shift ---------- */
.shifts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.shiftcard{--acc:#F06A1A;--accRGB:255,92,0;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);padding:clamp(26px,2.6vw,32px) clamp(24px,2.4vw,30px) clamp(28px,2.8vw,34px);display:flex;flex-direction:column;transition:border-color .35s ease,box-shadow .35s ease;background:radial-gradient(85% 90% at 100% 100%, rgba(var(--accRGB),.14) 0%, rgba(var(--accRGB),0) 62%),linear-gradient(178deg,#20202A 0%,#17171C 42%,#131317 100%)}
.shiftcard::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;z-index:3;background:linear-gradient(90deg,rgba(var(--accRGB),0),var(--acc) 45%,rgba(var(--accRGB),.25) 100%);opacity:.55;transition:opacity .35s ease}
.shiftcard:hover::before{opacity:1}
.shiftcard:hover{border-color:rgba(255,92,0,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.11), 0 2px 4px rgba(0,0,0,.4), 0 30px 70px -32px rgba(var(--accRGB),.28)}
.shiftcard .k{font-family:'Outfit',sans-serif;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute2)}
.shiftcard .new{margin-top:clamp(26px,2.6vw,34px);font-family:'Archivo Black',Impact,sans-serif;text-transform:uppercase;font-size:clamp(22px,2.15vw,29px);line-height:1.1;letter-spacing:-.012em;text-wrap:balance}
.shiftcard .new s{color:#7D7D88;text-decoration:line-through;text-decoration-color:var(--orange);text-decoration-thickness:3px}
.shiftcard .sub{margin:14px 0 0;color:var(--mute);font-size:14.5px;line-height:1.55}
.shiftcard .lineglyph{position:absolute;z-index:4;top:clamp(24px,2.4vw,30px);right:clamp(24px,2.4vw,30px);width:52px;height:52px;border-radius:16px;background:linear-gradient(155deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.02) 100%);border:1px solid rgba(var(--accRGB),.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 10px 24px -12px rgba(0,0,0,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;font-family:'Archivo Black',Impact,sans-serif;font-size:18px;font-weight:400;color:var(--acc)}
@media(max-width:980px){.shifts{grid-template-columns:1fr}}
.estats{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:clamp(26px,3vw,34px);padding-top:clamp(22px,2.6vw,28px);border-top:1px solid rgba(255,255,255,.09)}
.estats .v{font-family:'Archivo Black',Impact,sans-serif;font-size:clamp(21px,2.4vw,32px);line-height:1;letter-spacing:-.02em}
.estats .v.o{color:var(--orange)}
.estats .l{font-family:'Outfit',sans-serif;font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--mute);margin-top:10px;line-height:1.65}
@media(max-width:520px){.estats{grid-template-columns:1fr;gap:18px}}

/* ---------- offers ---------- */
.offers{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:clamp(36px,5vw,60px)}
.offer{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:30px 28px;display:flex;flex-direction:column;transition:border-color .3s}
.offer:hover{border-color:var(--orange)}
.offer .dur{font-family:'Outfit',sans-serif;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:12px}
.offer p{margin:0 0 16px;color:var(--mute);font-size:15px}
.offer ul{margin:0;padding-left:17px;color:var(--mute);font-size:14px}
.offer li{margin-bottom:5px}
@media(max-width:800px){.offers{grid-template-columns:1fr}}

/* ---------- patterns grid ---------- */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:clamp(36px,5vw,60px)}
.gcard{border:1px solid var(--line);border-radius:var(--r);padding:26px;background:var(--panel)}
.gcard .k{font-family:'Outfit',sans-serif;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:12px}
.gcard p{margin:0;color:var(--mute);font-size:14.5px}
@media(max-width:960px){.grid3{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.grid3{grid-template-columns:1fr}}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:62px;margin-top:clamp(40px,5vw,64px)}
.step{position:relative}
.step:not(:last-child)::after{content:"";position:absolute;top:26px;right:-38px;width:13px;height:13px;border-top:2px solid var(--orange);border-right:2px solid var(--orange);transform:rotate(45deg)}
.step .sn{font-family:'Outfit',sans-serif;font-size:11px;letter-spacing:.16em;color:var(--orange)}
.step .st{font-family:'Archivo Black',Impact,sans-serif;text-transform:uppercase;font-size:17px;margin:12px 0 8px;line-height:1.1}
.step p{margin:0;color:var(--mute);font-size:14.5px}
.step .dur{font-family:'Outfit',sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute2);margin-top:12px}
@media(max-width:1000px){
  .steps{grid-template-columns:1fr 1fr;gap:44px 62px}
}
@media(max-width:620px){
  .steps{grid-template-columns:1fr;gap:48px}
  .step:not(:last-child)::after{top:auto;bottom:-32px;right:auto;left:0;transform:rotate(135deg)}
}

/* ---------- story ---------- */
.story{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:clamp(40px,5vw,64px)}
.story .k{font-family:'Outfit',sans-serif;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:20px}
.story p{margin:0;color:var(--mute);font-size:15px}
@media(max-width:900px){.story{grid-template-columns:1fr;gap:36px}}
.quote{margin-top:clamp(40px,5vw,64px);border-left:2px solid var(--orange);padding:6px 0 6px 28px;max-width:60ch}
.quote .q{font-family:'Archivo Black',Impact,sans-serif;text-transform:uppercase;font-size:clamp(18px,2vw,24px);line-height:1.2}
.quote .a{font-family:'Outfit',sans-serif;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-top:16px}

/* ---------- 05 : case file ---------- */
.casefile{--acc:#F06A1A;--accRGB:255,92,0;position:relative;overflow:hidden;border-radius:var(--r);
  background:linear-gradient(178deg,#20202A 0%,#17171C 42%,#131317 100%);
  border:1px solid rgba(255,255,255,.085);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.075),0 2px 4px rgba(0,0,0,.4),0 26px 60px -34px rgba(0,0,0,.95);
}
.casefile::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;z-index:3;
  background:linear-gradient(90deg,rgba(var(--accRGB),0),var(--acc) 45%,rgba(var(--accRGB),.25) 100%);opacity:.9}
.cf-head{display:flex;flex-wrap:wrap;align-items:center;background:rgba(255,255,255,.022);border-bottom:1px solid rgba(255,255,255,.09)}
.cf-head .m{padding:15px clamp(18px,2vw,26px);border-right:1px solid rgba(255,255,255,.07);font-family:'Outfit',sans-serif;font-size:9.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--mute2)}
.cf-head .m b{display:block;color:var(--text);font-weight:500;margin-top:7px;letter-spacing:.1em;font-size:10.5px}
.cf-head .st{margin-left:auto;border-right:0;display:flex;align-items:center;gap:9px;padding-right:clamp(18px,2vw,26px)}
.cf-head .st i{width:7px;height:7px;border-radius:50%;background:var(--acc);box-shadow:0 0 10px 1px rgba(var(--accRGB),.85)}
.cf-head .st span{font-family:'Outfit',sans-serif;font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--acc)}
.cf-body{display:grid;grid-template-columns:1fr 1.14fr 1fr}
.cf-stage{padding:clamp(28px,3vw,40px) clamp(22px,2.3vw,30px);position:relative}
.cf-stage + .cf-stage::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.13) 20%,rgba(255,255,255,.13) 80%,rgba(255,255,255,0))}
.cf-stage .k{font-family:'Outfit',sans-serif;font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--mute2)}
.cf-stage .k b{color:var(--acc);font-weight:500}
.cf-stage .t{margin-top:15px;font-family:'Archivo Black',Impact,sans-serif;text-transform:uppercase;font-size:clamp(17px,1.62vw,21px);line-height:1.14;letter-spacing:-.008em;text-wrap:balance}
.cf-stage p{margin:13px 0 0;color:var(--mute);font-size:14.5px;line-height:1.55}
.cf-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.cf-facts span{font-family:'Outfit',sans-serif;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:6px 9px;background:rgba(255,255,255,.03)}
.cf-stage.pay{background:radial-gradient(115% 125% at 100% 100%, rgba(var(--accRGB),.14) 0%, rgba(var(--accRGB),0) 62%)}
.cf-big{margin-top:15px;font-family:'Archivo Black',Impact,sans-serif;font-size:clamp(42px,4.8vw,68px);line-height:.94;letter-spacing:-.038em}
.cf-att{padding:clamp(26px,2.8vw,34px) clamp(22px,2.3vw,30px);border-top:1px solid rgba(255,255,255,.09);display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,2.2vw,28px);align-items:start}
.cf-att .mk{font-family:'Archivo Black',Impact,sans-serif;font-size:42px;line-height:.62;color:var(--acc);opacity:.5}
.cf-att .q{font-size:clamp(16px,1.7vw,20px);line-height:1.45;max-width:64ch}
.cf-att .a{font-family:'Outfit',sans-serif;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute2);margin-top:16px}
.cf-att .a b{color:var(--acc);font-weight:500}
@media(max-width:920px){
  .cf-body{grid-template-columns:1fr}
  .cf-stage + .cf-stage::before{left:0;right:0;top:0;bottom:auto;width:auto;height:1px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.13) 20%,rgba(255,255,255,.13) 80%,rgba(255,255,255,0))}
  .cf-head .st{margin-left:0;width:100%;border-top:1px solid rgba(255,255,255,.07);padding:14px clamp(18px,2vw,26px)}
}

/* ---------- QA ---------- */
.qa{margin-top:clamp(36px,5vw,60px);border-top:1px solid var(--line)}
.qa .row{padding:26px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:.9fr 1.1fr;gap:36px}
.qa .q{font-family:'Archivo Black',Impact,sans-serif;text-transform:uppercase;font-size:16px;line-height:1.2}
.qa .a{color:var(--mute);font-size:15.5px}
@media(max-width:820px){.qa .row{grid-template-columns:1fr;gap:12px}}

/* ---------- fit ---------- */
.fit{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:clamp(36px,5vw,60px)}
.fitbox{border:1px solid var(--line);border-radius:var(--r);padding:30px 28px;background:var(--panel)}
.fitbox.no{background:transparent}
.fitbox .k{font-family:'Outfit',sans-serif;font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px}
.fitbox.yes .k{color:var(--orange)}
.fitbox.no .k{color:var(--mute2)}
.fitbox ul{margin:0;padding-left:17px}
.fitbox li{margin-bottom:9px;color:var(--mute);font-size:15px}
@media(max-width:800px){.fit{grid-template-columns:1fr}}

/* ---------- CTA band ---------- */
.ctaband{background:linear-gradient(140deg,#F06A1A 0%,#C33F00 42%,#1A0B04 100%)}
.ctaband .h2{color:#0B0B0C}
.ctaband .lede{color:rgba(11,11,12,.72)}
.ctaband .btn{border-color:rgba(11,11,12,.5);color:#0B0B0C}
.ctaband .btn:hover{border-color:#0B0B0C;background:rgba(11,11,12,.08)}
.ctaband .btn.fill{background:#0B0B0C;border-color:#0B0B0C;color:var(--text)}
.ctaband .btn.fill:hover{background:#000}

/* ---------- dual routes CTA ---------- */
.dual{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:clamp(36px,5vw,60px)}
.dcard{border:1px solid var(--line);border-radius:var(--r);padding:32px 30px;background:var(--panel);transition:border-color .3s}
.dcard:hover{border-color:var(--orange)}
.dcard .who{font-family:'Outfit',sans-serif;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.dcard .what{font-family:'Archivo Black',Impact,sans-serif;text-transform:uppercase;font-size:19px;line-height:1.12;margin:14px 0 18px}
.dcard .go{font-family:'Outfit',sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
@media(max-width:800px){.dual{grid-template-columns:1fr}}

/* ---------- footer ---------- */
footer.wn{padding:clamp(48px,6vw,80px) var(--gut);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;align-items:flex-start}
footer.wn .fl{display:flex;flex-wrap:wrap;gap:26px}
footer.wn a{font-family:'Outfit',sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
footer.wn a:hover{color:var(--text)}
footer.wn .stamp{font-family:'Outfit',sans-serif;font-size:10.5px;letter-spacing:.1em;color:var(--mute2)}

/* ---------- reveal ---------- */
[data-rv]{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
[data-rv].in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  [data-rv]{opacity:1;transform:none;transition:none}
  *{animation:none!important}
}

/* ============================================================
   DEPTH LAYER
   Three section moods, alternated so nothing repeats back to back.
   ember = warm brand wash. steel = cool counter wash. void = flat black rest.
   ============================================================ */
section{isolation:isolate}
section::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
}
section > *{position:relative;z-index:1}

section.ember::before{
  background:
    radial-gradient(120% 90% at 12% -10%, rgba(255,92,0,.13) 0%, rgba(255,92,0,0) 55%),
    radial-gradient(90% 70% at 92% 30%, rgba(150,52,10,.16) 0%, rgba(150,52,10,0) 60%),
    radial-gradient(140% 100% at 50% 120%, rgba(255,120,40,.05) 0%, rgba(0,0,0,0) 60%);
}
section.steel::before{
  background:
    radial-gradient(110% 85% at 88% -12%, rgba(70,104,180,.15) 0%, rgba(70,104,180,0) 58%),
    radial-gradient(95% 75% at 8% 40%, rgba(38,52,96,.20) 0%, rgba(38,52,96,0) 62%),
    radial-gradient(130% 90% at 50% 118%, rgba(120,150,220,.045) 0%, rgba(0,0,0,0) 58%);
}
section.void::before{
  background:radial-gradient(120% 80% at 50% -20%, rgba(255,255,255,.035) 0%, rgba(255,255,255,0) 55%);
}
/* hairline that catches light at the top edge of a washed section */
section.ember,section.steel{border-top:1px solid transparent}
section.ember::after,section.steel::after{
  content:"";position:absolute;top:-1px;left:0;right:0;height:1px;z-index:2;pointer-events:none;
}
section.ember::after{background:linear-gradient(90deg,transparent,rgba(255,92,0,.45) 35%,rgba(255,140,60,.2) 60%,transparent)}
section.steel::after{background:linear-gradient(90deg,transparent,rgba(120,160,255,.32) 40%,transparent)}

/* film grain, kills banding on the gradients and adds texture */
.grain{
  position:fixed;inset:0;z-index:2;pointer-events:none;opacity:.055;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='220' height='220' filter='url(%23n)'/></svg>");
}

/* ============================================================
   ELEVATED SURFACES
   Cards sit ON the page: lighter fill, hairline edge, lit top edge, cast shadow.
   ============================================================ */
.route,.gcard,.offer,.fitbox,.dcard,.calc,.cred{
  background:linear-gradient(178deg,#20202A 0%,#17171C 42%,#131317 100%);
  border:1px solid rgba(255,255,255,.085);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.075),
    0 2px 4px rgba(0,0,0,.4),
    0 26px 60px -34px rgba(0,0,0,.95);
  transition:border-color .35s ease, box-shadow .35s ease, transform .35s ease;
}
.fitbox.no{
  background:linear-gradient(178deg,rgba(32,32,42,.4) 0%,rgba(19,19,23,.4) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.route:hover,.gcard:hover,.offer:hover,.dcard:hover{
  border-color:rgba(255,92,0,.55);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.11),
    0 2px 4px rgba(0,0,0,.4),
    0 30px 70px -32px rgba(255,92,0,.30);
}
.cred{
  background:linear-gradient(178deg,#20202A 0%,#17171C 42%,#131317 100%) padding-box,
             linear-gradient(140deg,rgba(255,92,0,.9) 0%,rgba(255,92,0,.28) 32%,rgba(255,255,255,.22) 58%,rgba(255,92,0,.65) 100%) border-box;
  border:1.5px solid transparent;
  box-shadow:0 0 0 1px rgba(255,92,0,.06),0 18px 44px -28px rgba(255,92,0,.35);
}
.calc{overflow:hidden}
.calc .in{background:transparent}
.calc .out{
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(255,92,0,.22) 0%, rgba(255,92,0,.02) 62%),
    linear-gradient(180deg,rgba(28,28,36,.7),rgba(17,17,21,.7));
  border-left:1px solid rgba(255,255,255,.085);
}

/* accent chip. one saturated hit per card, the way the reference does it */
.chip{
  width:52px;height:52px;border-radius:16px;flex:0 0 52px;
  background:linear-gradient(155deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.02) 100%);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 10px 24px -12px rgba(0,0,0,.7);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;
  font-family:'Archivo Black',Impact,sans-serif;font-size:18px;font-weight:400;color:var(--acc);
}
.cardtop{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}

/* stat blocks lift off the page too */
.stat{
  border-top:0;padding:24px 22px;border-radius:16px;
  background:linear-gradient(178deg,rgba(32,32,42,.85) 0%,rgba(19,19,23,.85) 100%);
  border:1px solid rgba(255,255,255,.075);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 22px 50px -34px rgba(0,0,0,.9);
  position:relative;overflow:hidden;
}
.stat::before{
  content:"";position:absolute;top:0;left:22px;right:22px;height:2px;
  background:linear-gradient(90deg,var(--orange),rgba(255,92,0,.15));
}
.stat .v{background:linear-gradient(180deg,#FFFFFF 30%,#B8B7B2 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* tiles get an edge and a shadow so the rail reads as objects, not swatches */
.tile{
  border:1px solid rgba(255,255,255,.09);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 30px 60px -38px rgba(0,0,0,1);
}
.tile:hover{border-color:rgba(255,92,0,.5)}

/* ============================================================
   FULL BLEED IMAGE BANDS
   Connective tissue between text sections. Rule: never more than two
   text-only sections in a row without one of these.
   ============================================================ */
section.band{padding:0;border-top:1px solid var(--line)}
section.band::before{display:none}
.bandmedia{position:relative;min-height:clamp(280px,42vw,520px);display:flex;align-items:flex-end}
.bandmedia .imgph{position:absolute;inset:0;border-radius:0;border:0;height:100%}
.bandcap{
  position:relative;z-index:2;padding:clamp(28px,4vw,56px) var(--gut);width:100%;
  background:linear-gradient(to top,rgba(11,11,12,.94) 10%,rgba(11,11,12,.55) 55%,transparent 100%);
}
.bandcap .bt{font-family:'Archivo Black',Impact,sans-serif;text-transform:uppercase;font-size:clamp(20px,2.6vw,34px);line-height:1.08;max-width:20ch}
.bandcap .bs{color:var(--mute);margin-top:12px;max-width:52ch;font-size:15.5px}

/* split section: text one side, tall image the other */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,64px);align-items:center;margin-top:clamp(36px,5vw,60px)}
.split.rev{grid-template-columns:.95fr 1.05fr}
@media(max-width:900px){.split,.split.rev{grid-template-columns:1fr}}

/* image placeholder reads as a real photo well rather than a dashed box */
.imgph{
  border:1px solid rgba(255,255,255,.07);
  background:
    radial-gradient(90% 70% at 30% 20%, rgba(70,104,180,.10) 0%, rgba(0,0,0,0) 60%),
    repeating-linear-gradient(135deg,rgba(255,255,255,.012) 0 14px,transparent 14px 28px),
    linear-gradient(160deg,#1D1D24,#101014);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

/* punchline rows get a lit divider instead of a flat rule */
.punch{border-top:1px solid rgba(255,255,255,.09)}
.punch div{border-bottom:1px solid rgba(255,255,255,.07)}
.punch div:nth-child(odd){border-right:1px solid rgba(255,255,255,.07)}

/* CTA band, deeper and less flat */
.ctaband{background:linear-gradient(135deg,#FF6A0D 0%,#E04E00 30%,#7A2800 62%,#140803 100%)}
.ctaband::before{
  background:radial-gradient(80% 120% at 85% 10%, rgba(255,190,120,.35) 0%, rgba(255,190,120,0) 55%) !important;
}
.ctaband::after{display:none}

/* ============================================================
   LINE COLOR SYSTEM
   Each of the four businesses carries a signature hue. The four hues are the
   Copilot spectrum split into quarters: blue, teal, amber, magenta. Orange
   stays the brand constant and owns the nav, the CTAs and the homepage.
   Saturation is kept low. These are cues, not paint.
   ============================================================ */
:root{--acc:#F06A1A;--accRGB:255,92,0}

/* wash now follows whatever accent the page or block is carrying */
section.ember::before{
  background:
    radial-gradient(120% 90% at 12% -10%, rgba(var(--accRGB),.13) 0%, rgba(var(--accRGB),0) 55%),
    radial-gradient(90% 70% at 92% 30%, rgba(var(--accRGB),.09) 0%, rgba(var(--accRGB),0) 60%),
    radial-gradient(140% 100% at 50% 120%, rgba(var(--accRGB),.045) 0%, rgba(0,0,0,0) 60%);
}

/* ============================================================
   BRUSHED METAL
   Three layers, the way the reference does it: fine striations, a hue that
   travels across the form, and one blown specular edge.
   ============================================================ */
.metal,.metalrule,.chip.metal,.metaltext{
  --striate:repeating-linear-gradient(93deg,
     rgba(255,255,255,.13) 0 1px, rgba(0,0,0,.16) 1px 2px, rgba(255,255,255,.04) 2px 3px);
  --spec:linear-gradient(102deg,
     rgba(255,255,255,0) 14%, rgba(255,255,255,.62) 33%, rgba(255,255,255,.06) 44%,
     rgba(255,255,255,0) 58%, rgba(255,255,255,.34) 78%, rgba(255,255,255,0) 88%);
  --spectrum:linear-gradient(100deg,
     #3A3A44 0%, #7C7C88 22%, #C9C9D2 46%, #8A8A96 62%, #4A4A55 82%, #2A2A31 100%);
}

/* the popping line. a brushed spectrum seam used sparingly between acts. */
.metalrule{
  height:3px;width:100%;border-radius:2px;margin:0;
  background-image:var(--spec),var(--striate),var(--spectrum);
  background-blend-mode:screen,overlay,normal;
  box-shadow:0 0 20px -8px rgba(255,255,255,.18);
  opacity:.92;
}
.metalrule.thin{height:2px;opacity:.75}
.metalrule.mono{
  background-image:var(--spec),var(--striate),
    linear-gradient(100deg,#3A3A44 0%,#8A8A96 40%,#D6D6DE 55%,#6E6E7A 72%,#2A2A31 100%);
  box-shadow:0 0 22px -6px rgba(255,255,255,.22);
}
.metalrule.acc{
  background-image:var(--spec),var(--striate),
    linear-gradient(100deg,rgba(var(--accRGB),.15) 0%,var(--acc) 45%,rgba(var(--accRGB),.9) 62%,rgba(var(--accRGB),.1) 100%);
  box-shadow:0 0 24px -6px rgba(var(--accRGB),.45);
}
.rulewrap{margin:clamp(28px,4vw,52px) 0}

/* section 01 top seam: same brushed orange+white rule as above the hero video */
section#routes::after{
  top:0;height:3px;border-radius:0;opacity:.92;
  background-image:var(--spec),var(--striate),
    linear-gradient(100deg,rgba(255,92,0,.15) 0%,#F06A1A 45%,rgba(255,92,0,.9) 62%,rgba(255,92,0,.1) 100%);
  background-blend-mode:screen,overlay,normal;
  box-shadow:0 0 24px -6px rgba(255,92,0,.45);
  --striate:repeating-linear-gradient(93deg,
     rgba(255,255,255,.13) 0 1px, rgba(0,0,0,.16) 1px 2px, rgba(255,255,255,.04) 2px 3px);
  --spec:linear-gradient(102deg,
     rgba(255,255,255,0) 14%, rgba(255,255,255,.62) 33%, rgba(255,255,255,.06) 44%,
     rgba(255,255,255,0) 58%, rgba(255,255,255,.34) 78%, rgba(255,255,255,0) 88%);
}

/* brushed metal numerals */
.metaltext{
  background-image:var(--spec),var(--striate),
    linear-gradient(178deg,#FFFFFF 8%,#D2D2DA 38%,#8E8E9A 62%,#E4E4EC 84%,#7A7A86 100%);
  background-blend-mode:screen,overlay,normal;
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

/* chips get the material treatment in their own hue */
.chip{
  border-color:rgba(var(--accRGB),.35);
  color:var(--acc);
}

/* ============================================================
   ROUTE TILES : four doors, four hues
   ============================================================ */
.route{position:relative;overflow:hidden}
.route::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;z-index:3;
  background:linear-gradient(90deg,rgba(var(--accRGB),0),var(--acc) 45%,rgba(var(--accRGB),.25) 100%);
  opacity:.55;transition:opacity .35s ease;
}
.route:hover::before{opacity:1}
.route .rmedia::after{
  content:'';position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(to top, rgba(var(--accRGB),.24) 0%, rgba(var(--accRGB),.06) 35%, transparent 65%),
    linear-gradient(to top, var(--panel) 0%, rgba(21,21,23,.65) 42%, transparent 100%);
}
.route:hover{
  border-color:rgba(var(--accRGB),.55);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.11), 0 2px 4px rgba(0,0,0,.4),
             0 34px 74px -32px rgba(var(--accRGB),.42);
}
.route .go{color:var(--acc)}
.route .lineglyph{
  position:absolute;top:14px;right:14px;z-index:4;width:52px;height:52px;border-radius:16px;
  background:linear-gradient(155deg,rgba(var(--accRGB),.82) 0%,rgba(var(--accRGB),.5) 100%);
  border:1px solid rgba(var(--accRGB),.4);
  box-shadow:0 8px 20px -10px rgba(var(--accRGB),.55), inset 0 1px 0 rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;
  font-family:'Archivo Black',Impact,sans-serif;font-size:18px;color:#FFFFFF;
}

/* ============================================================
   DOUBLE FRAME
   Outer shell, a gap, then the surface. Lifted from the first reference.
   ============================================================ */
.shell{
  border:1px solid rgba(255,255,255,.06);border-radius:calc(var(--r) + 12px);
  padding:12px;background:rgba(255,255,255,.012);
  box-shadow:0 40px 90px -50px rgba(0,0,0,1);
}
.shell > *{margin-top:0 !important}

/* accent-tinted card hover across the pillar pages */
.gcard:hover,.offer:hover,.dcard:hover{
  border-color:rgba(var(--accRGB),.5);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.11), 0 2px 4px rgba(0,0,0,.4),
             0 30px 70px -32px rgba(var(--accRGB),.28);
}
.stat::before{background:linear-gradient(90deg,var(--acc),rgba(var(--accRGB),.12))}
.h2 .n{color:var(--acc)}
.kicker.o{color:var(--acc)}
.step .sn{color:var(--acc)}
.step:not(:last-child)::after{border-color:var(--acc)}
.quote{border-left-color:var(--acc)}
.story .k{color:var(--acc)}
.offer .dur{color:var(--acc)}
.gcard .k{color:var(--acc)}
.cred .st{color:var(--acc)}
.imgph .tag{color:var(--acc);border-color:rgba(var(--accRGB),.4)}
.fitbox.yes .k{color:var(--acc)}
.btn.fill{background:var(--acc);border-color:var(--acc)}
.tile:hover{border-color:rgba(var(--accRGB),.5)}
.dcard .go{color:var(--acc)}

/* ported work rail (from v3) */
[data-tile]:hover [data-tile-media]{transform:scale(1.045)}
[data-rail]{--gh:90svh}
[data-rail]::-webkit-scrollbar{display:none}
[data-wgroup]{grid-template-columns:calc(var(--gh)*.8) calc((var(--gh) - 18px)/2*1.25);height:var(--gh)}
[data-chev]{right:calc(var(--gut) * -0.4);width:58px;height:58px}
[data-chev-back]{left:calc(var(--gut) * -0.4);width:58px;height:58px}
[data-viewall]:hover span{transform:translateX(5px)}
.wreveal{font-family:'Outfit',sans-serif;font-size:11.5px;color:#9C9CA3;max-height:0;opacity:0;overflow:hidden;transition:max-height .35s ease,opacity .35s ease}
[data-tile]:hover .wreveal{max-height:60px;opacity:1}
@keyframes wnx-nudge{0%,100%{transform:translateY(-50%) translateX(0)}50%{transform:translateY(-50%) translateX(5px)}}
@media(max-width:720px){
  [data-wgroup]{grid-template-columns:84vw 64vw;height:100vw}
  [data-chev]{right:8px;width:48px;height:48px}
  [data-chev-back]{left:8px;width:48px;height:48px}
}

/* --- Nav (from SiteNav component) --- */
nav a[aria-current="page"]::after{content:"";position:absolute;left:-2px;right:-2px;bottom:0;height:2px;border-radius:2px;background:linear-gradient(90deg,rgba(255,92,0,0) 0%,rgba(255,92,0,.55) 22%,#FF5C00 50%,rgba(255,92,0,.55) 78%,rgba(255,92,0,0) 100%);box-shadow:0 0 12px -2px rgba(255,92,0,.7)}
.nav-about-wrap .nav-about-menu{opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s,visibility .15s}
.nav-about-wrap:hover .nav-about-menu{opacity:1;visibility:visible;transform:translateY(0)}

/* --- Nav stuck state (vanilla JS version) --- */
.wn-nav.stuck{background:rgba(11,11,12,.72) !important;backdrop-filter:blur(14px) !important;border-bottom-color:#28282C !important}
@media(max-width:900px){.wn-nav .navlinks a:not(.navcta){display:none}.wn-nav .nav-about-wrap{display:none !important}}
