/* Circuit and country pages (generated by tools/build.py). Same tokens as the rest of the site. */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
:root {
  --bg:#0B0B0B; --surface:#16161C; --surface-light:#1E1E24; --border:#2A2A30;
  --orange:#FF6B00; --orange-dark:#D45A00; --white:#f0f0ec; --text-primary:#e8e8e4;
  --text-secondary:#9aa3b8; --text-dim:#6b7590;
}
body { background:var(--bg); color:var(--text-primary); font-family:'Barlow',sans-serif; -webkit-font-smoothing:antialiased; min-height:100vh; overflow-x:clip; }
:focus-visible { outline:2px solid var(--orange); outline-offset:2px; }
a { color:var(--orange); }

nav { position:fixed; top:0; left:0; right:0; z-index:200; padding:16px 40px; display:flex; align-items:center; justify-content:space-between; background:rgba(11,11,11,0.92); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); border-bottom:1px solid rgba(255,107,0,0.08); }
.nav-logo-wrap { display:flex; align-items:center; gap:12px; text-decoration:none; }
.nav-logo-img { width:30px; height:30px; }
.nav-brand { font-family:'Bebas Neue',sans-serif; font-size:20px; letter-spacing:3px; color:var(--white); }
.nav-brand span { color:var(--orange); }
.nav-links { display:flex; gap:28px; align-items:center; }
.nav-links a { color:var(--text-secondary); text-decoration:none; font-family:'Barlow Condensed',sans-serif; font-size:12px; letter-spacing:3px; text-transform:uppercase; font-weight:600; transition:color .3s; }
.nav-links a:hover { color:var(--orange); }
.nav-links .nav-cta { padding:9px 22px; background:var(--orange); color:var(--white); transition:background .3s; }
.nav-links .nav-cta:hover { background:var(--orange-dark); color:var(--white); }

.cp { max-width:1080px; margin:0 auto; padding:112px 40px 40px; }
nav.crumbs { position:static; display:block; padding:0; background:none; border:0; backdrop-filter:none; -webkit-backdrop-filter:none; z-index:auto; }
.crumbs ol { list-style:none; display:flex; flex-wrap:wrap; gap:6px; font-family:'Barlow Condensed',sans-serif; font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--text-dim); margin-bottom:28px; }
.crumbs li + li::before { content:"›"; margin-right:6px; color:var(--text-dim); }
.crumbs a { color:var(--text-secondary); text-decoration:none; }
.crumbs a:hover { color:var(--orange); }
.crumbs [aria-current] { color:var(--text-primary); }

.cp-label { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:6px; text-transform:uppercase; color:var(--orange); font-weight:600; margin-bottom:14px; }
.cp-head h1 { font-family:'Bebas Neue',sans-serif; font-weight:400; font-size:clamp(40px,6.4vw,80px); line-height:.95; letter-spacing:1px; color:var(--white); max-width:900px; }
.cp-lede { margin-top:22px; max-width:680px; font-size:16.5px; line-height:1.75; color:var(--text-secondary); }

.cp-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:32px; margin:44px 0 12px; align-items:start; }
.cp-figure { background:var(--surface); border:1px solid var(--border); padding:24px 24px 16px; }
.cp-figure figcaption { font-size:12.5px; color:var(--text-dim); margin-top:10px; line-height:1.6; }
.cp-map, .cc-map { display:block; width:100%; height:auto; overflow:visible; }
.cp-map .trk, .cc-map .trk { fill:none; stroke:var(--white); stroke-width:2.2; stroke-linejoin:round; stroke-linecap:round; }
.cp-map .trk.new, .cc-map .trk.new { stroke:var(--orange); }
.cp-map .sf, .cc-map .sf { stroke:var(--white); stroke-width:3; }
.cp-map .trk.new + .sf, .cc-map .trk.new + .sf { stroke:var(--white); }
.cp-map .mk circle { fill:var(--orange); stroke:var(--bg); stroke-width:.8; }
.cp-map .mk text { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:4.6px; fill:#fff; text-anchor:middle; }
.cp-map .trk.new ~ .mk circle { fill:var(--white); }
.cp-map .trk.new ~ .mk text { fill:var(--bg); }

.cp-facts { display:grid; gap:0; border-top:1px solid var(--border); }
.cp-facts div { padding:14px 0; border-bottom:1px solid var(--border); }
.cp-facts dt { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:3px; text-transform:uppercase; font-weight:600; color:var(--text-dim); margin-bottom:4px; }
.cp-facts dd { font-family:'Bebas Neue',sans-serif; font-size:26px; letter-spacing:1px; color:var(--white); line-height:1.1; }
.cp-facts dd small { font-family:'Barlow',sans-serif; font-size:13px; letter-spacing:0; color:var(--text-dim); margin-left:6px; }

.cp-section { max-width:760px; margin:56px 0 0; }
.cp-section h2, .cp-more h2, .cp-cta h2 { font-family:'Bebas Neue',sans-serif; font-weight:400; font-size:clamp(28px,4vw,40px); letter-spacing:1px; color:var(--white); line-height:1; margin-bottom:16px; }
.cp-section p { font-size:15px; line-height:1.8; color:var(--text-secondary); margin-bottom:14px; }
.cp-section strong { color:var(--text-primary); }
.cp-section a, .cp-note a, .cp-credit a { color:var(--orange); text-decoration:none; border-bottom:1px solid rgba(255,107,0,0.3); }
.cp-corners { columns:2; column-gap:32px; margin:20px 0 18px; padding-left:28px; font-size:15.5px; color:var(--text-primary); line-height:1.9; }
.cp-corners li::marker { color:var(--orange); font-family:'Barlow Condensed',sans-serif; font-weight:700; }
.cp-note { font-size:13px !important; color:var(--text-dim) !important; }
.cp-features { list-style:none; display:grid; gap:12px; margin:8px 0 22px; }
.cp-features li { font-size:15px; line-height:1.7; color:var(--text-secondary); padding-left:20px; position:relative; }
.cp-features li::before { content:""; position:absolute; left:0; top:.72em; width:8px; height:2px; background:var(--orange); }
.cp-features strong { color:var(--text-primary); }

.cp-cta { margin:64px 0 0; padding:40px; background:var(--surface); border:1px solid var(--border); border-left:3px solid var(--orange); }
.cp-cta p { font-size:14.5px; color:var(--text-secondary); line-height:1.7; margin-bottom:22px; max-width:620px; }
.appstore-badge { display:inline-block; line-height:0; }

.cp-more { margin:56px 0 0; }
.cp-links { list-style:none; display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
.cp-links a { display:inline-block; padding:8px 14px; border:1px solid var(--border); color:var(--text-primary); text-decoration:none; font-size:14px; transition:border-color .2s,color .2s; }
.cp-links a:hover { border-color:var(--orange); color:var(--orange); }
.cp-more > a, .cp-back a { font-family:'Barlow Condensed',sans-serif; font-size:12px; letter-spacing:3px; text-transform:uppercase; color:var(--orange); text-decoration:none; }
.cp-back { margin:48px 0 10px; }
.cp-credit { font-size:12px; color:var(--text-dim); margin-bottom:24px; }

.cc-grid { list-style:none; display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:16px; margin-top:44px; }
.cc-card { background:var(--surface); border:1px solid var(--border); padding:18px 18px 16px; }
.cc-card .cc-map { margin-bottom:12px; }
.cc-card h3 { font-family:'Barlow',sans-serif; font-size:16px; font-weight:600; color:var(--text-primary); line-height:1.35; }
.cc-card h3 a { color:var(--white); text-decoration:none; border-bottom:1px solid rgba(255,107,0,0.45); }
.cc-card h3 a:hover { color:var(--orange); }
.cc-layout { font-size:13px; color:var(--text-secondary); margin-top:3px; }
.cc-meta { font-family:'Barlow Condensed',sans-serif; font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-dim); margin-top:8px; }

footer { margin-top:48px; padding:32px 40px; border-top:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; gap:24px; }
.footer-left { display:flex; align-items:center; gap:12px; }
.footer-left span { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:3px; color:var(--text-dim); text-transform:uppercase; }
.footer-copy { display:flex; flex-direction:column; gap:5px; }
.footer-osm { font-family:'Barlow',sans-serif !important; font-size:12px !important; letter-spacing:0 !important; text-transform:none !important; color:var(--text-dim); }
.footer-osm a { color:var(--text-dim); text-decoration:none; border-bottom:1px solid rgba(255,107,0,0.35); }
.footer-links { display:flex; gap:24px; flex-wrap:wrap; }
.footer-links a { color:var(--text-dim); text-decoration:none; font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:3px; text-transform:uppercase; transition:color .3s; }
.footer-links a:hover { color:var(--orange); }

@media (max-width:860px) {
  .cp-grid { grid-template-columns:1fr; }
  footer { flex-direction:column; gap:12px; text-align:center; padding:24px 20px; }
  .footer-copy { align-items:center; }
  .footer-links { justify-content:center; gap:16px; }
}
@media (max-width:600px) {
  nav { padding:14px 20px; }
  .nav-links a:not(.nav-cta) { display:none; }
  .cp { padding:92px 16px 24px; }
  .cp-figure { padding:16px 12px 12px; }
  .cp-corners { columns:1; }
  .cp-cta { padding:28px 20px; }
}

/* Landing pages (src/landing/) */
.lp-tag { font-family:'Barlow Condensed',sans-serif; font-size:13px; letter-spacing:4px; text-transform:uppercase; color:var(--text-secondary); margin-top:18px; }
.lp-compare { width:100%; border-collapse:collapse; margin:22px 0 8px; font-size:14.5px; }
.lp-compare th, .lp-compare td { text-align:left; vertical-align:top; padding:13px 14px 13px 0; border-bottom:1px solid var(--border); line-height:1.6; }
.lp-compare thead th { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:3px; text-transform:uppercase; font-weight:600; color:var(--text-dim); }
.lp-compare thead th:last-child { color:var(--orange); }
.lp-compare tbody th { font-weight:600; color:var(--text-primary); width:26%; }
.lp-compare td { color:var(--text-secondary); }
.lp-compare td:last-child { color:var(--text-primary); }
.cp-section ol.lp-steps { padding-left:22px; margin:8px 0 18px; }
.lp-steps li { font-size:15px; line-height:1.75; color:var(--text-secondary); margin-bottom:10px; }
.lp-steps li::marker { color:var(--orange); font-weight:700; }
.lp-steps strong { color:var(--text-primary); }
@media (max-width:600px) {
  .lp-compare { font-size:13.5px; }
  .lp-compare tbody th { width:30%; }
}
