/* CabLink inner pages: shares the homepage's tokens, header, CTA and footer language */
:root{
  --y:#FFD000; --y-deep:#E8BC00; --ink:#0D0E0F; --ch:#131416; --ch2:#1A1B1E; --ch3:#232427;
  --line:#2C2D31; --mute:#8E8F94; --soft:#C9C7C1; --white:#F6F4EF; --paper:#F1EEE6; --paper2:#E6E2D7; --paper3:#D8D3C5;
  --ok:#1E7A45; --bad:#B3261E;
  --mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --sans:"Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;overflow-x:hidden}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- header (same as homepage) ---------- */
.top{position:sticky;top:0;z-index:40;height:68px;display:flex;align-items:center;gap:28px;padding:0 max(20px,3.2vw);background:var(--ink);color:var(--white);border-bottom:1px solid #1f2023}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.brand svg{width:30px;height:30px;flex:none}
.bw{display:flex;flex-direction:column;line-height:1}
.wm{font-weight:850;font-stretch:112%;font-size:23px;letter-spacing:-.02em;color:var(--white)}
.loc{margin-top:5px;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;color:#7d7e83;white-space:nowrap}
.loc b{color:var(--y);font-weight:600}
.nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav a{position:relative;text-decoration:none;font-size:14px;font-weight:550;color:#bdbcb7;padding:8px 10px;border-radius:2px;white-space:nowrap}
.nav a:hover{color:var(--white)}
.nav a[aria-current]{color:var(--white)}
.nav a[aria-current]::after{content:"";position:absolute;left:10px;right:14px;bottom:1px;height:2px;background:var(--y)}
.nav a[aria-current]::before{content:"";position:absolute;right:9px;bottom:-1px;width:6px;height:6px;border-radius:50%;background:var(--y)}
.cta{display:inline-block;text-decoration:none;text-align:center;border:0;background:var(--y);color:var(--ink);font-weight:800;font-size:13.5px;letter-spacing:.08em;padding:12px 18px 11px;border-radius:9px 9px 3px 3px;white-space:nowrap;box-shadow:inset 0 -3px 0 rgba(0,0,0,.18);transition:transform .15s,background .15s}
.cta:hover{background:#FFDA2E}
.cta:active{transform:translateY(1px)}
.cta.lg{font-size:15px;padding:16px 26px 15px}
.cta.dark{background:var(--ink);color:var(--white);box-shadow:inset 0 -3px 0 rgba(255,255,255,.08)}
.cta.dark:hover{background:#26272b}
.cta.ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.cta.ghost:hover{background:rgba(127,127,127,.12)}
.cta:focus-visible,.nav a:focus-visible,.menu:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--y);outline-offset:3px}
.top .cta{flex:none}
.menu{display:none;margin-left:auto;border:1px solid #34353a;background:transparent;color:var(--white);font-size:13px;font-weight:600;letter-spacing:.06em;padding:9px 12px;border-radius:3px}
.drawer{display:none}
.drawer.open{display:block;position:fixed;z-index:39;top:68px;left:0;right:0;background:var(--ink);border-bottom:1px solid #26272a;padding:8px max(20px,3.2vw) 18px}
.drawer a{display:block;text-decoration:none;font-size:20px;font-weight:700;padding:10px 0;border-bottom:1px solid #1f2023;color:#e6e4de}
.drawer a[aria-current]{color:var(--y)}
@media (max-width:1180px){ .nav a{padding:8px 7px;font-size:13.5px} .top{gap:18px} }
@media (max-width:1060px){ .nav{display:none} .menu{display:block} .top .cta{display:none} }
@media (max-width:900px){ .top{height:62px} .drawer.open{top:62px} .wm{font-size:21px} }
@media (max-width:380px){ .loc{font-size:8.6px;letter-spacing:.1em} .wm{font-size:19px} }

/* ---------- page layout ---------- */
.wrap{max-width:1240px;margin:0 auto;padding:0 max(24px,4vw)}
.kick{margin:0 0 14px;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.18em;color:#5f5d57}
.phead{background:var(--ch);color:var(--white);padding:clamp(48px,7vw,96px) 0 clamp(44px,6vw,80px);border-bottom:1px solid #222326;position:relative;overflow:hidden}
.phead .kick{color:#8e8f94}
.phead h1{margin:0;font-weight:850;font-stretch:88%;font-size:clamp(42px,5.4vw,78px);line-height:.95;letter-spacing:-.025em;max-width:16ch}
.phead h1 .it{color:var(--y)}
.phead .lede{margin:20px 0 0;font-size:clamp(17px,1.4vw,20px);line-height:1.45;color:var(--soft);max-width:48ch}
.phead .lede strong{color:var(--white);font-weight:650}
.phead .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.phead .route{position:absolute;right:-40px;bottom:-30px;width:min(520px,55vw);opacity:.9;pointer-events:none}
@media (max-width:760px){ .phead .route{display:none} }
.sec{padding:clamp(56px,7vw,100px) 0}
.sec.dark{background:var(--ch);color:var(--white)}
.sec.dark .kick{color:#8e8f94}
.sec.alt{background:var(--paper2)}
.sec h2{margin:0 0 12px;font-weight:850;font-stretch:88%;font-size:clamp(32px,3.6vw,52px);line-height:.98;letter-spacing:-.02em;max-width:18ch}
.sec .intro{margin:0 0 36px;font-size:17px;color:#3a3935;max-width:60ch}
.sec.dark .intro{color:var(--soft)}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px){ .grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:600px){ .grid,.grid.two{grid-template-columns:1fr} }
.tile{background:#fff;border:1px solid var(--paper3);border-top:2px solid var(--y);border-radius:3px;padding:22px 22px 20px}
.sec.dark .tile{background:#0f1011;border-color:#2d2e32;border-top-color:var(--y)}
.tile h3{margin:0 0 6px;font-weight:800;font-stretch:92%;font-size:21px;line-height:1.1;letter-spacing:-.01em}
.tile p{margin:0;color:#4a4944;font-size:15.5px}
.sec.dark .tile p{color:var(--soft)}
.tile .mono{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:#77756e;margin-bottom:10px}
a.tile{text-decoration:none;display:block;transition:transform .2s,border-color .2s}
a.tile:hover{transform:translateY(-2px);border-color:#b9b4a5}
a.tile .go{display:block;margin-top:12px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--ink);font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--paper3);background:#fff;border-radius:999px;font-weight:600;font-size:15px}
.chip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--y);box-shadow:0 0 0 1.5px var(--ink)}

/* lifecycle / route steps */
.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;position:relative}
.flow::before{content:"";position:absolute;left:14px;right:14px;top:14px;height:5px;background:var(--y);box-shadow:0 0 0 2px var(--ink);border-radius:3px}
.flow li{position:relative;padding:44px 16px 0 0}
.flow li::before{content:"";position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;background:var(--paper);border:4px solid var(--ink)}
.flow li:last-child::before{background:var(--y)}
.flow b{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.12em;font-weight:600;margin-bottom:6px}
.flow span{display:block;color:#4a4944;font-size:15px;max-width:26ch}
.sec.dark .flow li::before{background:var(--ch);border-color:var(--white)}
.sec.dark .flow::before{box-shadow:none}
.sec.dark .flow span{color:var(--soft)}
@media (max-width:760px){
  .flow{grid-template-columns:1fr;gap:26px}
  .flow::before{left:12px;right:auto;top:14px;bottom:14px;width:5px;height:auto}
  .flow li{padding:2px 0 0 48px}
}

/* ---------- forms ---------- */
.form{display:grid;gap:16px}
.fcard{background:#fff;border:1px solid var(--paper3);border-top:3px solid var(--y);border-radius:3px;padding:clamp(20px,3vw,32px)}
.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.row.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:640px){ .row,.row.three{grid-template-columns:1fr} }
.field{display:grid;gap:6px;min-width:0}
.field label,.flabel{font-family:var(--mono);font-size:11px;letter-spacing:.12em;font-weight:600;color:#5f5d57}
.field .opt{color:#8e8c85;font-weight:400}
.in{width:100%;min-height:52px;padding:12px 14px;border:1.5px solid var(--paper3);border-radius:3px;background:#fff;font-size:16px;line-height:1.3;appearance:none;-webkit-appearance:none}
.in:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(255,208,0,.55)}
.in.bad{border-color:var(--bad)}
textarea.in{min-height:110px;resize:vertical}
select.in{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230D0E0F' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:40px}
.check{display:flex;align-items:center;gap:12px;min-height:52px;padding:10px 14px;border:1.5px solid var(--paper3);border-radius:3px;background:#fff;font-weight:600;cursor:pointer}
.check input{width:22px;height:22px;accent-color:var(--ink);flex:none;margin:0}
.ferr{color:var(--bad);font-size:13px;font-weight:600}
.form .cta{justify-self:start}
@media (max-width:640px){ .form .cta{justify-self:stretch} }
.notice{border-left:3px solid var(--y);background:#fff;padding:14px 16px;font-size:15px;color:#3a3935}
.notice b{color:var(--ink)}
.notice.dark{background:#0f1011;color:var(--soft);border-left-color:var(--y)}
.notice.dark b{color:var(--white)}
.result{display:grid;gap:14px}
.result h3{margin:0;font-weight:850;font-stretch:90%;font-size:clamp(26px,3vw,36px);line-height:1;letter-spacing:-.015em}
.kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 18px;margin:0;font-size:15px}
.kv dt{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:#77756e;padding-top:3px}
.kv dd{margin:0;font-weight:650;overflow-wrap:anywhere}
.side-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:24px;align-items:start}
@media (max-width:900px){ .side-grid{grid-template-columns:minmax(0,1fr)} }
.aside{display:grid;gap:16px}

/* ---------- footer (same as homepage) ---------- */
.foot{background:var(--ink);color:#9d9ca0;padding:44px max(24px,4vw) 44px;font-size:13px}
.foot-in{max-width:1240px;margin:0 auto;display:flex;flex-wrap:wrap;gap:28px 56px;justify-content:space-between;align-items:flex-start}
.foot .loc{font-size:10.5px}
.foot-nav{display:grid;gap:2px;align-content:start}
.foot-nav a{color:#c9c7c1;text-decoration:none;font-size:14px;padding:5px 0}
.foot-nav a:hover{color:var(--y)}
.credits{max-width:520px;font-size:12px;line-height:1.6;color:#77787c;margin:0}
.credits a{color:#a9a8a3}

/* sticky mobile CTA */
.sticky{position:fixed;z-index:45;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));display:none}
.sticky .cta{width:100%;font-size:15px;padding:16px 18px 15px;box-shadow:0 10px 30px rgba(0,0,0,.35),inset 0 -3px 0 rgba(0,0,0,.18)}
@media (max-width:900px){ .sticky{display:block} .foot{padding-bottom:110px} }
@media (prefers-reduced-motion:reduce){ *{transition:none!important;animation:none!important} }
@media (max-width:640px){ .cta{white-space:normal;line-height:1.25} .actions .cta{width:100%} }
.side-grid>*,.aside>*,.form>*{min-width:0}
