/* ============================================================
   OYI Cold Connect — Market Day
   Design system ported from the approved v5 "Market Day" direction.
   Sections: fonts → reset → tokens → components → site additions.
   ============================================================ */

/* ---- Fonts (self-hosted, latin subsets) ---- */
@font-face {
  font-family: "Paytone One";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/paytone-one-400.woff2) format("woff2");
}
@font-face {
  font-family: "Hanken Grotesk";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/fonts/hanken-grotesk-var.woff2) format("woff2");
}
/* Metric-matched fallbacks to soften font-swap layout shift */
@font-face {
  font-family: "Paytone One Fallback";
  src: local("Arial Bold"), local("Arial");
  size-adjust: 112%;
  ascent-override: 95%;
  descent-override: 27%;
}
@font-face {
  font-family: "Hanken Grotesk Fallback";
  src: local("Arial");
  size-adjust: 99%;
  ascent-override: 98%;
  descent-override: 26%;
}

/* ---- Reset ---- */
*, :before, :after { box-sizing: border-box; margin: 0; padding: 0 }
html { scroll-behavior: smooth }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto }
  *, :before, :after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important }
}
body { -webkit-font-smoothing: antialiased; text-rendering: optimizelegibility }
img { max-width: 100%; display: block }
button { font: inherit; cursor: pointer; color: inherit; background: 0 0; border: none }
a { color: inherit }

/* ---- Root tokens (Market Day) ---- */
.cb {
  --navy: #131a38; --ink: #1b2142; --paperink: #231a05; --teal: #1fa9b0;
  --amber: #f7a733; --white: #fffdf7;
  --disp: "Paytone One", "Paytone One Fallback", sans-serif;
  --body: "Hanken Grotesk", "Hanken Grotesk Fallback", sans-serif;
  background: var(--bg, #f7a733); color: var(--ink);
  font-family: var(--body); transition: color .5s;
  position: relative; overflow-x: clip; min-height: 100vh;
}

/* ---- Skip link ---- */
.skip-link {
  position: absolute; top: -60px; left: 16px; z-index: 100;
  background: var(--navy); color: #fff; font-weight: 800; font-size: 14px;
  padding: 12px 18px; border-radius: 0 0 12px 12px; text-decoration: none;
  transition: top .15s;
}
.skip-link:focus { top: 0 }

/* ---- Ported Market Day component styles (v5, byte-exact) ---- */
.cb.cb-dark{color:var(--white)}
.cb .rv{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(24px)rotate(.001deg)}
.cb .rv.in{opacity:1;transform:translateY(0)}
.cb .rv.d1.in{transition-delay:50ms}
.cb .rv.d2.in{transition-delay:.16s}
.cb .rv.d3.in{transition-delay:.27s}
.cb-sun{aspect-ratio:1;z-index:0;pointer-events:none;background:radial-gradient(circle at 38% 34%,#ffe6a8,#ffc257 55%,#ff9e2e 100%);border-radius:50%;width:min(30vw,300px);position:fixed;top:9vh;right:8vw;box-shadow:0 0 120px 40px #ffce6e8c}
.cb-flake{color:#ffffffe6;z-index:0;pointer-events:none;text-shadow:0 0 60px #8fe6eacc;font-size:min(20vw,170px);line-height:1;position:fixed;top:14vh;right:9vw}
.cb-temp{z-index:40;pointer-events:none;color:#131a38;background:#ffffffeb;border:2px solid #131a38;border-radius:14px;min-width:118px;padding:10px 14px 12px;position:fixed;top:86px;right:18px;box-shadow:0 10px 30px #0000002e}
@media (width<=820px){.cb-temp{top:auto;bottom:16px;right:12px;min-width:96px;padding:8px 12px 10px}.cb-temp-n{font-size:18px}}
.cb-temp-n{font-family:var(--disp);font-size:22px;line-height:1;display:block}
.cb-temp-l{letter-spacing:.18em;opacity:.75;margin-top:4px;font-size:8.5px;font-weight:800;display:block}
.cb-temp i{background:linear-gradient(90deg,#f7a733,#1fa9b0);border-radius:99px;height:4px;margin-top:7px;transition:width .2s linear;display:block}
.cb-nav{justify-content:space-between;align-items:center;padding:18px clamp(18px,5vw,64px);display:flex}
.cb-brand img{width:auto;height:58px}
.cb-logo-d,.cb-dark .cb-logo-l{display:none}
.cb-dark .cb-logo-d{display:block}
.cb-links{align-items:center;gap:22px;display:flex}
.cb-links a{font-size:14.5px;font-weight:700;text-decoration:none}
.cb-links a:hover{text-underline-offset:4px;text-decoration:underline 2.5px}
.cb-navbtn{background:var(--navy);border-radius:999px;padding:11px 18px;box-shadow:0 4px #00000040;color:#fff!important;text-decoration:none!important}
.cb-dark .cb-navbtn{background:var(--amber);color:var(--navy)!important}
@media (width<=820px){.cb-nav{flex-wrap:wrap;gap:8px}.cb-links{flex-wrap:wrap;row-gap:6px;max-width:100%;padding-bottom:4px}.cb-links a{white-space:nowrap;font-size:13px}}
.cb-hero{max-width:1200px;padding:clamp(44px,8vh,90px) clamp(18px,5vw,64px) clamp(60px,10vh,110px)}
.cb-sticker{background:var(--white);border:2.5px solid var(--ink);letter-spacing:.14em;border-radius:999px;padding:8px 16px;font-size:11.5px;font-weight:800;display:inline-block;transform:rotate(-1.2deg);box-shadow:3px 4px #00000038}
.cb-hero h1{font-family:var(--disp);letter-spacing:-.005em;max-width:14ch;margin-top:26px;font-size:clamp(46px,7.4vw,104px);line-height:1.04}
.cb-sub{max-width:56ch;margin-top:24px;font-size:clamp(16px,1.6vw,19px);font-weight:500;line-height:1.7}
.cb-sub b{background:var(--white);border:2px solid var(--ink);white-space:nowrap;color:#131a38;border-radius:8px;padding:1px 8px}
.cb-cta-row{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}
.cb-btn{font-family:var(--body);background:var(--navy);color:#fff;border-radius:999px;padding:16px 28px;font-size:16px;font-weight:800;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-block;box-shadow:0 5px #00000047}
.cb-btn:hover{transform:translateY(-3px);box-shadow:0 8px #00000047}
.cb-btn:active{transform:translateY(1px);box-shadow:0 3px #00000047}
.cb-btn.ghost{color:inherit;box-shadow:none;background:0 0;border:2.5px solid}
.cb-btn.navy{margin-top:22px}
.cb-btn.sun{background:var(--amber);color:var(--navy)}
.cb-crowd{flex-wrap:wrap;gap:10px;margin-top:52px;display:flex}
.cb-crowd span{letter-spacing:.08em;background:#ffffff47;border:2px dashed #00000047;border-radius:999px;padding:7px 14px;font-size:12px;font-weight:800}
.cb-dark .cb-crowd span{background:#ffffff14;border-color:#ffffff4d}
.cb-personas{padding:clamp(30px,5vh,60px) clamp(18px,5vw,64px) clamp(50px,8vh,90px)}
.cb-personas h2,.cb-how h2,.cb-hubs h2{font-family:var(--disp);font-size:clamp(30px,4vw,52px);line-height:1.08}
.cb-stick-row{grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px;display:grid}
@media (width<=1120px){.cb-stick-row{grid-template-columns:repeat(2,1fr)}}
.cb-sticker-card{background:var(--white);color:#131a38;border:3px solid var(--ink);transform:rotate(var(--rot,0deg));border-radius:22px;flex-direction:column;gap:8px;padding:26px 24px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:5px 7px #0000003d}
.cb-sticker-card:hover{transform:rotate(0)translateY(-5px);box-shadow:7px 11px #0000003d}
.cb-sticker-card b{font-family:var(--disp);font-size:22px;font-weight:400;line-height:1.15}
.cb-sticker-card span{opacity:.8;font-size:14.5px;font-weight:500;line-height:1.55}
.cb-sticker-card em{margin-top:6px;font-size:22px;font-style:normal;font-weight:800}
.cb-dark .cb-sticker-card{border-color:#0a0e22}
@media (width<=880px){.cb-stick-row{grid-template-columns:1fr}}
.cb-how{padding:clamp(40px,7vh,80px) clamp(18px,5vw,64px)}
.cb-steps{gap:22px;max-width:860px;margin-top:36px;list-style:none;display:grid}
.cb-steps li{backdrop-filter:blur(4px);background:#ffffff24;border:2px solid #ffffff59;border-radius:20px;align-items:flex-start;gap:22px;padding:24px 26px;display:flex}
.cb:not(.cb-dark) .cb-steps li{background:#ffffff59;border-color:#0003}
.cb-step-n{font-family:var(--disp);background:var(--white);color:#131a38;border:3px solid var(--ink);border-radius:18px;flex:none;place-items:center;width:64px;height:64px;font-size:34px;line-height:1;display:grid;box-shadow:3px 4px #00000038}
.cb-steps b{font-family:var(--disp);margin-bottom:6px;font-size:21px;font-weight:400;display:block}
.cb-steps p{opacity:.88;max-width:58ch;font-size:15px;font-weight:500;line-height:1.65}
.cb-price-card{background:var(--white);color:#131a38;border:3px solid #0a0e22;border-radius:26px;padding:36px 34px;box-shadow:7px 9px #0000004d}
.cb-price-tag{letter-spacing:.24em;opacity:.75;font-size:10.5px;font-weight:800}
.cb-price-big{font-family:var(--disp);margin:14px 0 10px;font-size:clamp(64px,7vw,104px);line-height:1}
.cb-price-big small{font-family:var(--body);opacity:.6;margin-left:8px;font-size:clamp(15px,1.6vw,20px);font-weight:800}
.cb-price-card p{max-width:44ch;font-size:15.5px;font-weight:500;line-height:1.65}
.cb-channels{flex-wrap:wrap;gap:9px;margin-top:20px;display:flex}
.cb-channels span{background:#fff6e4;border:2px solid #131a38;border-radius:999px;padding:8px 14px;font-size:12.5px;font-weight:700}
.cb-receipt{color:#131a38;font-family:var(--body);background:#fffdf7;border:2px dashed #131a38;border-radius:18px;flex-direction:column;gap:14px;padding:30px 28px;display:flex;box-shadow:5px 7px #0000004d}
.cb-receipt b{letter-spacing:.18em;border-bottom:2px dashed #0000004d;padding-bottom:12px;font-size:11px}
.cb-receipt div{justify-content:space-between;gap:14px;font-size:14.5px;font-weight:600;display:flex}
.cb-receipt em{font-style:normal;font-family:var(--disp);font-size:19px}
.cb-receipt small{opacity:.65;border-top:2px dashed #0000004d;margin-top:auto;padding-top:12px;font-size:11px;font-weight:600;line-height:1.6}
.cb-hubs{padding:clamp(40px,7vh,80px) clamp(18px,5vw,64px)}
.cb-hubs-sub{opacity:.85;max-width:52ch;margin-top:12px;font-size:16px;font-weight:500}
.cb-hub-groups{grid-template-columns:repeat(4,1fr);gap:18px;margin-top:32px;display:grid}
@media (width<=1120px){.cb-hub-groups{grid-template-columns:repeat(2,1fr)}}
.cb-hub-city b{font-family:var(--disp);letter-spacing:.04em;margin-bottom:12px;font-size:19px;font-weight:400;display:block}
.cb-hub-city div{flex-wrap:wrap;gap:8px;display:flex}
.cb-hub-city span{border:2px solid;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700}
@media (width<=880px){.cb-hub-groups{grid-template-columns:1fr}}
.cb-end{text-align:center;padding:clamp(70px,12vh,130px) clamp(18px,5vw,64px) 120px}
.cb-end h2{font-family:var(--disp);font-size:clamp(40px,6.4vw,88px);line-height:1.06}
.cb-dark .cb-end h2 span{color:var(--amber)}
.cb-end .cb-cta-row{justify-content:center;margin-top:36px}
.cb-footer{opacity:.7;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:80px;font-size:12.5px;font-weight:600;display:flex}
.cb-footer img{width:auto;height:26px}
.cb-loop{max-width:1200px;margin:0 auto;padding:clamp(56px,10vh,110px) clamp(18px,5vw,64px)}
.cb-loop h2{font-family:var(--disp);font-size:clamp(34px,4.6vw,58px);line-height:1.06}
.cb-loop-sub{opacity:.85;margin-top:10px;font-size:clamp(15px,1.6vw,18px);font-weight:600}
.cb-loop-row{grid-template-columns:1fr 1fr;gap:22px;margin-top:30px;display:grid}
.cb-lane-card{backdrop-filter:blur(2px);background:#ffffff17;border:2.5px solid;border-radius:24px;padding:28px 26px}
.cb:not(.cb-dark) .cb-lane-card{background:#fffcf48c;border-color:#131a38}
.cb-lane-tag{letter-spacing:.2em;border:2px solid;border-radius:999px;padding:6px 12px;font-size:11px;font-weight:800;display:inline-block}
.cb-lane-tag.south{color:#131a38;background:#f5a83b;border-color:#131a38}
.cb-lane-tag.north{color:#0e2a46;background:#8fe6ea;border-color:#0e2a46}
.cb-lane-card b{font-family:var(--disp);margin:14px 0 8px;font-size:clamp(22px,2.4vw,30px);line-height:1.15;display:block}
.cb-lane-card p{opacity:.92;font-size:15px;font-weight:500;line-height:1.65}
.cb-lane-chips{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}
.cb-lane-chips span{background:#ffffff8c;border:2px solid #00000059;border-radius:10px;padding:4px 8px;font-size:20px;line-height:1}
.cb-dark .cb-lane-chips span{background:#ffffff1f;border-color:#ffffff59}
.cb-lane-chips em{letter-spacing:.18em;opacity:.75;margin-left:auto;font-size:11px;font-style:normal;font-weight:800}
.cb-loop-line{font-family:var(--disp);text-align:center;margin-top:24px;font-size:clamp(18px,2.2vw,26px)}
@media (width<=900px){.cb-loop-row{grid-template-columns:1fr}}
.cb-shop{max-width:1200px;margin:0 auto;padding:clamp(50px,9vh,100px) clamp(18px,5vw,64px)}
.cb-shop h2{font-family:var(--disp);margin-bottom:28px;font-size:clamp(34px,4.6vw,58px);line-height:1.06}
.cb-shop-row{grid-template-columns:1.15fr .85fr;align-items:stretch;gap:24px;display:grid}
.cb-shop-card{background:var(--white);color:#131a38;border:3px solid #0a0e22;border-radius:26px;padding:34px 32px;box-shadow:7px 9px #0000004d}
.cb-shop-card>b{font-family:var(--disp);margin:12px 0 14px;font-size:clamp(26px,3vw,38px);line-height:1.1;display:block}
.cb-shop-card ul{gap:12px;margin:0 0 18px;padding:0;list-style:none;display:grid}
.cb-shop-card li{padding-left:18px;font-size:15px;font-weight:500;line-height:1.6;position:relative}
.cb-shop-card li:before{content:"❄";content:"❄" / "";opacity:.6;font-size:11px;position:absolute;top:2px;left:0}
.cb-shop-card li em{font-style:normal;font-weight:800}
.cb-shop .cb-receipt{margin-top:24px}
@media (width<=900px){.cb-shop-row{grid-template-columns:1fr}}
.cb-links a.cur{text-underline-offset:5px;font-weight:800;text-decoration:underline}
.cb-pagehead{max-width:1200px;margin:0 auto;padding:clamp(56px,9vh,110px) clamp(18px,5vw,64px) clamp(10px,2vh,20px)}
.cb-pagehead h1{font-family:var(--disp);margin:18px 0 16px;font-size:clamp(40px,6.4vw,86px);line-height:1.02}
.cb-cta-row.center{justify-content:center;margin-top:28px}
.cb-plat{gap:26px;max-width:1200px;margin:0 auto;padding:clamp(30px,5vh,60px) clamp(18px,5vw,64px);display:grid}
.cb-plat-block{color:#131a38;background:#fffcf499;border:3px solid #0a0e22;border-radius:26px;padding:30px 30px 24px;box-shadow:7px 9px #00000038}
.cb-dark .cb-plat-block{color:inherit;box-shadow:none;background:#ffffff12;border-color:#ffffffbf}
.cb-plat-head{align-items:center;gap:18px;display:flex}
.cb-plat-head em{letter-spacing:.26em;opacity:.75;font-size:11px;font-style:normal;font-weight:800;display:block}
.cb-plat-head b{font-family:var(--disp);font-size:clamp(24px,2.8vw,36px);line-height:1.1;display:block}
.cb-plat-block>p{max-width:70ch;margin:14px 0 18px;font-size:15.5px;font-weight:500;line-height:1.65}
.cb-spec{grid-template-columns:repeat(2,1fr);gap:10px 22px;margin:0;display:grid}
.cb-spec div{border-top:2px dashed #00000038;flex-direction:column;gap:2px;padding-top:10px;display:flex}
.cb-dark .cb-spec div{border-top-color:#ffffff47}
.cb-spec dt{letter-spacing:.2em;opacity:.75;font-size:10.5px;font-weight:800}
.cb-spec dd{margin:0;font-size:14.5px;font-weight:700}
@media (width<=760px){.cb-spec{grid-template-columns:1fr}}
.cb-network{max-width:1200px;margin:0 auto;padding:clamp(30px,6vh,70px) clamp(18px,5vw,64px)}
.cb-network h2{font-family:var(--disp);margin-bottom:22px;font-size:clamp(30px,4vw,50px)}
.cb-net-table{background:#ffffff14;border:3px solid;border-radius:20px;overflow:hidden}
.cb:not(.cb-dark) .cb-net-table{background:#fffcf48c;border-color:#131a38}
.cb-net-row{border-top:2px dashed #0003;grid-template-columns:170px 1.4fr 1.2fr 100px;align-items:center;gap:14px;padding:15px 20px;font-size:14px;font-weight:600;display:grid}
.cb-dark .cb-net-row{border-top-color:#ffffff38}
.cb-net-row:first-child{border-top:0}
.cb-net-row.head{letter-spacing:.22em;opacity:.65;font-size:10.5px;font-weight:800}
.cb:not(.cb-dark) .cb-net-row.head{opacity:1;color:#454b63}
.cb-net-row>span:first-child{font-weight:800}
.cb-live{color:#075c2d;letter-spacing:.08em;font-size:12px;font-weight:800}
.cb-dark .cb-live{color:#5ff2a0}
@media (width<=820px){.cb-net-row{grid-template-columns:1fr;gap:4px}.cb-net-row.head{display:none}}
.cb-impact{max-width:1200px;margin:0 auto;padding:clamp(30px,5vh,60px) clamp(18px,5vw,64px)}
.cb-kpi-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}
.cb-kpi{color:#131a38;background:#fffcf49e;border:3px solid #0a0e22;border-radius:22px;padding:24px 22px;box-shadow:6px 8px #0003}
.cb-dark .cb-kpi{color:inherit;box-shadow:none;background:#ffffff14;border-color:#ffffffbf}
.cb-kpi em{font-style:normal;font-family:var(--disp);font-size:clamp(34px,4vw,54px);line-height:1;display:block}
.cb-kpi span{opacity:.85;margin-top:8px;font-size:13.5px;font-weight:600;display:block}
@media (width<=880px){.cb-kpi-grid{grid-template-columns:1fr 1fr}}
@media (width<=560px){.cb-kpi-grid{grid-template-columns:1fr}}
.cb-method{margin-top:34px}
.cb-method h2{font-family:var(--disp);margin-bottom:16px;font-size:clamp(28px,3.6vw,44px)}
.cb-method-row{border-top:2px dashed #00000040;grid-template-columns:210px 1fr;align-items:baseline;gap:16px;padding:14px 0;display:grid}
.cb-dark .cb-method-row{border-top-color:#ffffff40}
.cb-method-row b{font-family:var(--disp);font-size:18px}
.cb-method-row p{font-size:14.5px;font-weight:500;line-height:1.65}
@media (width<=700px){.cb-method-row{grid-template-columns:1fr;gap:4px}}
.cb-receipt.wide{max-width:none;margin-top:34px}
.cb-about{gap:22px;max-width:1000px;margin:0 auto;padding:clamp(30px,5vh,60px) clamp(18px,5vw,64px);display:grid}
.cb-about-block{border-left:6px solid;padding:6px 0 6px 24px}
.cb-about-block b{font-family:var(--disp);margin-bottom:8px;font-size:clamp(22px,2.8vw,34px);display:block}
.cb-about-block p{max-width:66ch;font-size:16px;font-weight:500;line-height:1.7}
.cb-contact{max-width:1200px;margin:0 auto;padding:clamp(30px,5vh,60px) clamp(18px,5vw,64px)}
.cb-stick-row.three{grid-template-columns:repeat(3,1fr)}
@media (width<=1000px){.cb-stick-row.three{grid-template-columns:1fr}}
.cb-sticker-card.static{cursor:default}
.cb-desks{margin-top:40px}
.cb-desks h2,.cb-writeus h2{font-family:var(--disp);margin-bottom:18px;font-size:clamp(26px,3.4vw,42px)}
.cb-writeus{margin-top:40px}
.cb-writeus p{font-size:16px;font-weight:600;line-height:1.9}
.cb-writeus a{color:inherit;font-weight:800}
.cb-sitefoot{color:#eaf0ff;border-top:2px dashed #ffffff4d;margin-top:clamp(30px,6vh,60px);padding:26px clamp(18px,5vw,64px) 90px}
.cb-sitefoot-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;display:flex}
.cb-sitefoot-top img{height:30px;width:auto}
.cb-sitefoot-top nav{flex-wrap:wrap;gap:18px;display:flex}
.cb-sitefoot-top nav a{color:inherit;opacity:.85;font-size:14px;font-weight:700;text-decoration:none}
.cb-sitefoot-top nav a:hover,.cb-sitefoot-top nav a[aria-current]{opacity:1;text-underline-offset:4px;text-decoration:underline}
.cb-sitefoot>span{opacity:.7;font-size:12.5px;font-weight:600}
.cb:not(.cb-dark) .cb-sitefoot{color:#131a38;border-top-color:#0000004d}
.cb-end.small{padding-top:clamp(40px,7vh,70px)}
.cb-journey{padding:clamp(50px,9vh,100px) 0 clamp(30px,5vh,60px)}
.cb-j-head{max-width:1200px;margin:0 auto;padding:0 clamp(18px,5vw,64px) 34px}
.cb-j-head h2{font-family:var(--disp);margin-top:16px;font-size:clamp(34px,4.8vw,60px);line-height:1.06}
.cb-j-sub{opacity:.85;margin-top:10px;font-size:clamp(15px,1.6vw,18px);font-weight:600}
.cb-j-stage{max-width:1160px;height:clamp(2600px,330vh,3600px);margin:0 auto;padding:0 clamp(16px,4vw,40px);position:relative}
.cb-road{width:100%;height:100%;position:absolute;inset:0}
.cb-road-case{fill:none;stroke:#131a38;stroke-width:46px;stroke-linecap:round;stroke-linejoin:round}
.cb-road-paper{fill:none;stroke:#fff7e8;stroke-width:36px;stroke-linecap:round;stroke-linejoin:round}
.cb-road-dash{fill:none;stroke:#131a38;stroke-width:4px;stroke-dasharray:18 24;stroke-linecap:round}
.cb-token-inner{transition:transform .5s;transform:rotate(-6deg)}
.cb-token-inner.sea{transform:rotate(5deg)}
.cb-token-shadow{fill:#0000004d}
.cb-token-card{fill:#fff7e8;stroke:#131a38;stroke-width:3px}
.cb-token-e{font-size:15px}
.cb-compass{z-index:6;letter-spacing:.2em;border:3px solid #131a38;border-radius:999px;width:max-content;margin:0 auto 10px;padding:9px 18px;font-size:11.5px;font-weight:800;position:sticky;top:86px;box-shadow:4px 5px #00000040}
.cb-compass.south{color:#131a38;background:#f5a83b}
.cb-compass.north{color:#0e2a46;background:#8fe6ea}
.cb-j-deco{transform:rotate(var(--rot,0deg));filter:drop-shadow(2px 3px #0000002e);font-size:clamp(22px,2.6vw,34px);position:absolute}
.cb-jwp{color:#131a38;width:min(340px,38%);transform:rotate(var(--rot,0deg));background:#fff7e8;border:3px solid #0a0e22;border-radius:20px;padding:18px 20px;position:absolute;box-shadow:6px 8px #00000040}
.cb-jwp-l{left:clamp(16px,4vw,44px)}
.cb-jwp-r{right:clamp(16px,4vw,44px)}
.cb-jwp-top{justify-content:space-between;align-items:center;gap:10px;display:flex}
.cb-jwp-time{color:#fff7e8;letter-spacing:.08em;background:#131a38;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:800}
.cb-jwp-top em{letter-spacing:.16em;opacity:.65;text-align:right;font-size:10px;font-style:normal;font-weight:800}
.cb-jwp b{font-family:var(--disp);margin:10px 0 6px;font-size:clamp(18px,2vw,24px);line-height:1.15;display:block}
.cb-jwp p{opacity:.92;font-size:13.5px;font-weight:500;line-height:1.6}
.cb-jwp-turn{background:#f5a83b;border-width:4px}
.cb-jwp-turn .cb-jwp-time{background:#0e2a46}
.cb-jwp-turn .cb-jwp-top em{opacity:.85}
.cb-j-finale{max-width:1200px;margin:0 auto;padding:34px clamp(18px,5vw,64px) 0}
@media (width<=880px){.cb-j-stage{height:2500px}.cb-road{width:92%;left:-32%}.cb-jwp{width:min(330px,70%)}.cb-jwp-l,.cb-jwp-r{left:auto;right:clamp(12px,4vw,28px)}.cb-j-deco{display:none}.cb-compass{top:72px}}
@media (prefers-reduced-motion:reduce){.cb-token-inner{transition:none}}
@media (width<=820px){.cb-brand img{height:46px}}
.cb-live.soon{color:#6f4407}
.cb-dark .cb-live.soon{color:#f5a83b}
.cb a:focus-visible,.cb button:focus-visible{outline-offset:3px;border-radius:6px;outline:3px solid}
.cb-writeus a{text-underline-offset:3px;text-decoration:underline}
.cb-price-big small{margin-left:12px}
@media (width<=880px){.cb-j-stage{height:2750px}}

/* ============================================================
   Site additions beyond the v5 direction: forms, legal pages,
   footer legal row, 404 — same paper-sticker language.
   ============================================================ */

/* focus ring for form controls (a/button covered in ported block) */
.cb input:focus-visible, .cb select:focus-visible, .cb textarea:focus-visible {
  outline: 3px solid var(--navy); outline-offset: 2px; border-radius: 8px;
}
.cb-dark input:focus-visible, .cb-dark select:focus-visible, .cb-dark textarea:focus-visible,
.cb-dark a:focus-visible, .cb-dark button:focus-visible { outline-color: #8fe6ea }

/* ---- Waitlist form ---- */
.cb-formwrap { max-width: 1200px; margin: 0 auto; padding: clamp(20px,4vh,40px) clamp(18px,5vw,64px) clamp(50px,8vh,90px); display: grid; grid-template-columns: 1.1fr .9fr; gap: 26px; align-items: start }
@media (width<=980px) { .cb-formwrap { grid-template-columns: 1fr } }
.cb-form { background: var(--white); color: #131a38; border: 3px solid #0a0e22; border-radius: 26px; padding: 34px 32px; box-shadow: 7px 9px #0000004d }
.cb-form h2 { font-family: var(--disp); font-size: clamp(24px,2.8vw,34px); line-height: 1.1; margin-bottom: 6px }
.cb-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; margin-top: 20px }
@media (width<=640px) { .cb-form-grid { grid-template-columns: 1fr } }
.cb-field { display: flex; flex-direction: column; gap: 6px }
.cb-field.full { grid-column: 1 / -1 }
.cb-field label { font-size: 13px; font-weight: 800; letter-spacing: .06em }
.cb-field label small { font-weight: 600; opacity: .6; letter-spacing: 0 }
.cb-field input, .cb-field select {
  font: inherit; font-size: 15.5px; font-weight: 600; color: #131a38;
  background: #fffdf7; border: 2.5px solid #131a38; border-radius: 12px;
  padding: 12px 14px; width: 100%; appearance: none;
}
.cb-field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23131a38' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; padding-right: 38px;
}
.cb-field input::placeholder { color: #13193866; font-weight: 500 }
.cb-field input[aria-invalid="true"] { border-color: #b3261e; background: #fff5f4 }
.cb-field-err { color: #b3261e; font-size: 13px; font-weight: 700; display: none }
.cb-field.invalid .cb-field-err { display: block }
.cb-consent { display: flex; gap: 12px; align-items: flex-start; margin-top: 20px; font-size: 14px; font-weight: 600; line-height: 1.55 }
.cb-consent input { flex: none; width: 22px; height: 22px; margin-top: 2px; appearance: auto; accent-color: #131a38 }
.cb-consent a { font-weight: 800; text-decoration: underline; text-underline-offset: 3px }
.cb-form .cb-btn { margin-top: 24px; border: none; width: 100%; text-align: center }
.cb-form .cb-btn[disabled] { opacity: .6; cursor: wait; transform: none }
.cb-form-status { margin-top: 14px; font-size: 14.5px; font-weight: 700; line-height: 1.55 }
.cb-form-status.err { color: #b3261e }
.cb-form-fine { margin-top: 16px; font-size: 12.5px; font-weight: 600; opacity: .65; line-height: 1.6 }
.cb-hp { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap }

/* success receipt swap */
.cb-form-success { display: none }
.cb-form-success.show, .cb-form-success:target { display: flex }
.cb-form.done .cb-form-body, .cb-form:has(.cb-form-success:target) .cb-form-body { display: none }

/* ---- Legal pages ---- */
.cb-legal { max-width: 860px; margin: 0 auto; padding: clamp(20px,4vh,40px) clamp(18px,5vw,64px) clamp(60px,10vh,110px) }
.cb-legal-card { background: var(--white); color: #131a38; border: 3px solid #0a0e22; border-radius: 26px; padding: clamp(28px,4vw,44px); box-shadow: 7px 9px #0000004d }
.cb-legal-card h2 { font-family: var(--disp); font-size: clamp(20px,2.4vw,28px); line-height: 1.15; margin: 30px 0 10px }
.cb-legal-card h2:first-child { margin-top: 0 }
.cb-legal-card p, .cb-legal-card li { font-size: 15.5px; font-weight: 500; line-height: 1.75; max-width: 70ch }
.cb-legal-card p + p { margin-top: 10px }
.cb-legal-card ul { margin: 10px 0 10px 22px }
.cb-legal-card li + li { margin-top: 6px }
.cb-legal-card a { font-weight: 800; text-decoration: underline; text-underline-offset: 3px }
.cb-draft-note { background: #fff6e4; border: 2px dashed #131a38; border-radius: 14px; padding: 14px 18px; font-size: 13.5px; font-weight: 700; margin-bottom: 26px; line-height: 1.6 }

/* ---- Footer legal row ---- */
.cb-sitefoot-legal { display: flex; flex-wrap: wrap; gap: 16px; margin: 10px 0 12px }
.cb-sitefoot-legal a { color: inherit; opacity: .75; font-size: 12.5px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px }
.cb-sitefoot-legal a:hover { opacity: 1 }

/* tiny screens: give the platform job-cards room to breathe */
@media (width<=380px) {
  .cb-plat-block { padding: 24px 18px 20px }
  .cb-plat-head { flex-wrap: wrap }
}

/* ---- 404 ---- */
.cb-lost { max-width: 800px; margin: 0 auto; text-align: center; padding: clamp(70px,14vh,150px) clamp(18px,5vw,64px) }
.cb-lost h1 { font-family: var(--disp); font-size: clamp(44px,7vw,96px); line-height: 1.04 }
.cb-lost p { margin-top: 18px; font-size: 17px; font-weight: 600 }
