/* 2026-10-15 (batch I): the public pages (home, sign in, sign up, terms, privacy) in the Desk v2
   look -- Quad (USGS topo) palette: paper and ink from the topo sheet, purple overprint, square
   corners, heavy ink rules, Big Shoulders for display and labels, Libre Caslon for prose.
   Loaded LAST on each page, so it restyles the existing markup without changing any wording,
   links or behaviour. The satellite photo stays; Permit Playbook keeps its own gold. */
:root {
  --paper: #f1f2ec; --ink2: #1d1e1c; --grey: #6e706a; --rule: #d3d4cc; --soft: #e6e7df;
  --sig: #7b3c9c; --tint: #e7daef; --sig-lt: #c9a8dc; --gold: #f0b429;
  --v2disp: "Big Shoulders Display", "Arial Narrow", sans-serif;
  --v2txt: "Big Shoulders Text", "Arial Narrow", sans-serif;
  --v2serif: "Libre Caslon Text", Georgia, serif;
  /* the old pages' own tokens, remapped */
  --ink: #1d1e1c; --muted: #6e706a; --line: #d3d4cc; --canvas: #f1f2ec; --card: #f1f2ec;
  --navy: #1d1e1c; --blue: #7b3c9c; --blue2: #5f2c79; --blue-soft: #e7daef;
  --shadow: none; --radius: 0;
  --font: var(--v2serif); --display: var(--v2disp);
}
body { background: var(--paper); color: var(--ink2); -webkit-font-smoothing: antialiased; }
:focus-visible { outline: 2px solid var(--sig); outline-offset: 2px; }

/* square everything (v2 has no rounded corners); map pins and dots stay round */
body *:not(.hero-pin):not(.pin):not(.lead-trust-dot):not(.pw-toggle) { border-radius: 0 !important; }

/* —— type —— */
h1, h2, h3, .headline, .band h2, .brand, .brand-name, .brand-mark-text, .stat-value, .pricing-line, .operator-line,
.step-card strong, .lead-decision, .form-card h1, .pp-card h3, .sales-title {
  font-family: var(--v2disp) !important; letter-spacing: .01em !important;
}
.headline { font-weight: 900 !important; font-size: clamp(2.6rem, 6.4vw, 4.6rem) !important; line-height: .95 !important; text-transform: uppercase; max-width: 13em !important; }
.band h2, .form-card h1 { font-weight: 900 !important; text-transform: uppercase; font-size: clamp(1.9rem, 3.6vw, 2.6rem) !important; line-height: .95 !important; }
.support, .lead, .band > .band-inner > .lead, .feature-list span, .step-card span:not(.step-num), .prod-sub,
.pricing-note, .operator-note, .cta-block p, .pp-card p, .foot, p { font-family: var(--v2serif); }
.support { font-style: italic; }
.band > .band-inner > .lead { font-style: italic; color: var(--grey); }
.nav-link, .nav-cta, .cta-primary, .cta-secondary, .btn-primary, .pp-b, .pp-hero-btn b, .prod-pill, .plan-pill-name,
.stat-label, .pp-k, .brand span, .brand-mark-text span, .brand-eyebrow, label, .tabs button, .lead-chip, .lead-trust,
.plan-pill-badge, .pp-tag, .footer-links a, .site-footer-links a, .signup-line, .guest, .step-num, .pricing-signin, .pp-go {
  font-family: var(--v2txt) !important; letter-spacing: .06em;
}
.nav-link, .nav-cta, .cta-primary, .cta-secondary, .btn-primary, .pp-b, .prod-pill, .stat-label, .pp-k, .tabs button,
.plan-pill-badge, .pp-tag, .step-num { text-transform: uppercase; font-weight: 800 !important; }

/* —— hero: the satellite photo, toned to ink, with a purple overprint —— */
.hero { color: #fff; }
.hero-map {
  filter: grayscale(.55) contrast(1.05) brightness(.9) !important;
}
.hero-map::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(160deg, rgba(29,30,28,.72) 0%, rgba(29,30,28,.45) 45%, rgba(29,30,28,.78) 100%);
}
.hero-grid { opacity: .5; }
.hero-pin { background: var(--sig-lt) !important; }
.hero-pin::after { border-top-color: var(--sig-lt) !important; }
.hero-nav { border-bottom: 3px solid rgba(255,255,255,.9); padding-bottom: 10px; }
.nav-link { color: rgba(255,255,255,.82); font-size: 15px; }
.nav-link:hover { background: none; color: #fff; box-shadow: 0 3px 0 var(--sig-lt); }
.nav-cta, .cta-primary { background: var(--sig) !important; color: #fff !important; border: 0 !important; box-shadow: none !important; }
.nav-cta:hover, .cta-primary:hover { background: #8d47b3 !important; transform: none; }
.cta-secondary { background: transparent !important; border: 2px solid rgba(255,255,255,.85) !important; color: #fff !important; backdrop-filter: none; }
.cta-secondary:hover { background: rgba(255,255,255,.1) !important; }
.brand span { color: var(--sig-lt) !important; }
.support { color: rgba(255,255,255,.88) !important; }
.pp-hero-btn { border: 2px solid var(--gold) !important; background: rgba(29,30,28,.55) !important; }
.pp-tag { background: var(--gold) !important; }

/* lead cards: paper slips with a purple top rule, like the desk's lead rows */
.lead-card { background: var(--paper) !important; border: 1.5px solid var(--ink2) !important; border-top: 4px solid var(--sig) !important; box-shadow: 0 18px 40px rgba(0,0,0,.35) !important; }
.lead-decision { font-size: 22px !important; font-weight: 900 !important; color: var(--ink2) !important; text-transform: uppercase; }
.lead-where { font-family: var(--v2serif); font-style: italic; color: var(--grey); }
.lead-chip { background: transparent !important; border: 1.5px solid var(--rule) !important; color: var(--ink2) !important; font-weight: 700; }
.lead-chip.type { background: var(--tint) !important; border-color: var(--tint) !important; color: var(--sig) !important; }
.lead-chip.score { background: var(--sig) !important; border-color: var(--sig) !important; color: #fff !important; }
.lead-trust { background: transparent !important; border: 0 !important; color: var(--grey) !important; padding-left: 0 !important; }
.lead-trust-dot { background: var(--sig) !important; }

/* —— sections below the hero —— */
.band, .band-stats, .band-operator, .band-cta, .pp-choose { background: var(--paper) !important; }
.band { border-top: 3px solid var(--ink2); }
.band-stats { border-bottom: 0 !important; }
.tile, .pp-card, .cta-block, .form-card, .info-tile, .compare-tile, .plan-card {
  background: var(--paper) !important; border: 1.5px solid var(--ink2) !important; box-shadow: none !important;
}
.pp-choose-inner .pp-card { border-top: 4px solid var(--sig) !important; box-shadow: 0 18px 40px rgba(0,0,0,.25) !important; }
.pp-card-b, .price-pp { border-top: 4px solid var(--gold) !important; }
.price-desk { border-top: 4px solid var(--sig) !important; }
.stat-value { font-weight: 900 !important; font-size: clamp(2.6rem, 5vw, 3.6rem) !important; color: var(--ink2) !important; }
.stat-label { color: var(--grey) !important; }
.step-num { background: var(--sig) !important; width: 34px !important; height: 34px !important; font-size: 18px !important; }
.step-card strong { font-size: 1.5rem !important; font-weight: 800 !important; text-transform: uppercase; color: var(--ink2) !important; }
.feature-list li { border-top: 1.5px solid var(--ink2) !important; }
.feature-list strong { font-family: var(--v2disp); font-size: 1.45rem !important; font-weight: 800 !important; text-transform: uppercase; color: var(--ink2) !important; }
.pricing-line { font-size: clamp(1.4rem, 2.6vw, 1.9rem) !important; font-weight: 800 !important; text-transform: uppercase; color: var(--ink2) !important; }
.plan-pill, .pp-prices li { background: transparent !important; border: 1.5px solid var(--rule) !important; }
.plan-pill.rec { border-color: var(--sig) !important; background: var(--tint) !important; }
.price-pp .plan-pill.rec { border-color: var(--gold) !important; background: #fdf3d8 !important; }  /* Playbook keeps its gold */
.plan-pill-badge { background: var(--tint) !important; color: var(--sig) !important; }
.price-pp .plan-pill-badge { background: var(--gold) !important; color: var(--ink2) !important; }
.p-badge { background: var(--tint) !important; color: var(--sig) !important; font-family: var(--v2txt) !important; text-transform: uppercase; letter-spacing: .06em; font-weight: 800 !important; }
.plan-group-label, .plan-wrap > .plan-hdr, .plan-wrap > h3, .plan-wrap > label, .brand-eyebrow { font-family: var(--v2txt) !important; text-transform: uppercase; letter-spacing: .1em !important; font-weight: 800 !important; color: var(--grey) !important; }
.plan-card .plan-note, .plan-card em, .plan-card .badge, .plan-card [class*="rec"] { background: var(--tint) !important; color: var(--sig) !important; }
.pp-prices li.pp-best { border-color: var(--gold) !important; background: #fdf3d8 !important; }
.plan-pill-price, .pp-prices b { color: var(--ink2) !important; }
.prod-pill.desk { background: var(--sig) !important; color: #fff !important; }
.prod-pill.pp { background: var(--gold) !important; color: var(--ink2) !important; }
.pp-b { border: 2px solid var(--ink2) !important; background: transparent !important; color: var(--ink2) !important; }
.pp-b1 { background: var(--sig) !important; border-color: var(--sig) !important; color: #fff !important; }
.pp-b1.gold, .pp-cta, .band-cta .cta-primary.pp-cta, .price-pp .pp-cta { background: var(--gold) !important; border-color: var(--gold) !important; color: var(--ink2) !important; }
.pp-go, .pricing-signin, .operator-line a { color: var(--sig) !important; }
.band .cta-secondary, .band-cta .cta-secondary, .pp-band .cta-secondary { color: var(--ink2) !important; border-color: var(--ink2) !important; }
.operator-line { font-size: clamp(1.4rem, 2.4vw, 1.8rem) !important; font-weight: 800 !important; color: var(--ink2) !important; }
.operator-logo { border: 1.5px solid var(--ink2) !important; border-radius: 50% !important; background: #fff !important; }
.site-footer { background: var(--ink2) !important; border-top: 3px solid var(--sig); }

/* —— sign in / sign up —— */
.stage, .map-drift { background-color: var(--paper) !important; }
.map-drift { filter: grayscale(.7) contrast(.9) brightness(1.08) !important; opacity: .55; }
.grid-wash { background: linear-gradient(180deg, rgba(241,242,236,.86), rgba(241,242,236,.94)) !important; }
.form-card { border-top: 4px solid var(--sig) !important; }
.form-card input, .form-card select, .form-card textarea {
  background: #fff !important; border: 1.5px solid var(--ink2) !important; font-family: var(--v2serif);
}
.form-card input:focus { outline: 2px solid var(--sig); outline-offset: 0; }
.btn-primary { background: var(--sig) !important; border: 0 !important; color: #fff !important; box-shadow: none !important; font-size: 17px !important; }
.btn-primary:hover { background: #8d47b3 !important; }
.guest, .signup-line a, .foot a { color: var(--sig) !important; }
.back-home, .top-actions a { background: transparent !important; border: 2px solid var(--ink2) !important; color: var(--ink2) !important;
  font-family: var(--v2txt) !important; font-weight: 800 !important; text-transform: uppercase; letter-spacing: .06em; }
.brand-mark-text { font-weight: 900 !important; font-size: 1.5rem !important; text-transform: uppercase; }
.brand-mark-text span { color: var(--grey) !important; }
.tabs { border-bottom: 3px solid var(--ink2) !important; background: transparent !important; }
.tabs button[aria-selected="true"], .tabs button.active, .tabs button.on { box-shadow: 0 3px 0 var(--sig) !important; color: var(--ink2) !important; background: transparent !important; }
.plan-card[aria-checked="true"], .plan-card.selected, .plan-card.on { border-color: var(--sig) !important; background: var(--tint) !important; }
.compare-table th { font-family: var(--v2txt); text-transform: uppercase; letter-spacing: .08em; border-bottom: 3px solid var(--ink2) !important; }

/* —— terms / privacy —— */
.legal-page { background: var(--paper); }
