/*
Theme Name: Histriphy Frontend Refresh Test
Theme URI: https://histriphy.com
Author: Syed Shah Saud
Description: Full public-frontend redesign test for Histriphy. Preserves the existing WordPress and Histriphy Core functionality.
Version: 21.3.18
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: histriphy
*/

/* ==========================================================================
   HISTRIPHY DESIGN SYSTEM  ·  19.21.0
   One neutral ramp (--n1 darkest surface … --n24 brightest ink in dark mode),
   one gold ramp, and status colours. Light mode redefines the same ramp with
   its own hand-tuned values, so every component follows automatically.
   ========================================================================== */
:root,
:root[data-theme="dark"]{
  color-scheme: dark;

  /* Neutral ramp — warm near-black through off-white */
  --n1:#070706;  --n2:#0a0a09;  --n3:#0d0c0b;  --n4:#100f0e;
  --n5:#141312;  --n6:#171614;  --n7:#1a1917;  --n8:#1e1c1a;
  --n9:#232120;  --n10:#282624; --n11:#2e2b29; --n12:#35322f;
  --n13:#403c38; --n14:#4b4741; --n15:#5a554e; --n16:#67625a;
  --n17:#7a746b; --n18:#8a847a; --n19:#99938a; --n20:#a8a29a;
  --n21:#c2bcb3; --n22:#d6d1c9; --n23:#e8e4dd; --n24:#f5f2ec;

  /* Gold ramp — the only chromatic accent in the interface */
  --gold-1:#7a5a1d; --gold-2:#a87a28; --gold-3:#c99436;
  --gold-4:#e0a93b; --gold-5:#f0c470;

  /* Status */
  --ok-1:#7fd0a4;  --ok-2:#3f8c62;
  --bad-1:#ec8f8a; --bad-2:#a8443f;
  --warn-1:#e8b86e; --warn-2:#9a6f21;

  /* Legacy blue slots, folded back into the ink ramp */
  --info-1: var(--n23);
  --info-2: var(--n18);

  /* Legacy names still referenced by older rules */
  --surface: var(--bg-raised);
  --surface-2: var(--bg-elevated);
  --ink-soft: var(--ink-dim);
  --gold-ink: var(--gold-4);

  /* ---- Semantic aliases (used across templates and inline styles) ---- */
  --bg: var(--n2);
  --bg-deep: var(--n1);
  --bg-raised: var(--n5);
  --bg-card: var(--n4);
  --bg-elevated: var(--n7);
  --border: var(--n11);
  --border-soft: var(--n9);
  --border-strong: var(--n14);
  --ink: var(--n24);
  --ink-dim: var(--n19);
  --ink-faint: var(--n18);
  --gold: var(--gold-4);
  --gold-soft: var(--gold-5);
  --gold-deep: var(--gold-2);
  --on-gold:#1a1409;
  --success: var(--ok-1);
  --warning: var(--warn-1);
  --error: var(--bad-1);

  /* Inputs and focus */
  --input-bg: var(--n4);
  --input-border: var(--n12);
  --input-ink: var(--n24);
  --focus-ring: var(--gold-4);

  /* Maps */
  --map-ocean: var(--n2);
  --map-land: var(--n9);
  --map-line: var(--n13);
  --map-fill: var(--n10);
  --map-hover: var(--gold-3);
  --map-selected: var(--gold-4);
  --map-has-data: var(--n14);
  --map-glow: color-mix(in srgb, var(--gold-4) 32%, transparent);

  /* Elevation */
  --shadow-1: 0 1px 0 color-mix(in srgb, var(--n24) 4%, transparent);
  --shadow-2: 0 18px 44px -28px rgba(0,0,0,.85);
  --shadow-3: 0 28px 70px -34px rgba(0,0,0,.9);

  --font-display: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', 'IBM Plex Mono', ui-monospace, monospace;

  --radius: 6px;
  --container: 1240px;
}

/* --------------------------------------------------------------------------
   LIGHT THEME — separately tuned, not an inversion. Page sits on a warm
   off-white, raised surfaces go whiter (not greyer), gold darkens so it can
   carry text, and primary controls become near-black rather than gold.
   -------------------------------------------------------------------------- */
:root[data-theme="light"]{
  color-scheme: light;

  --n1:#f2efe9;  --n2:#f7f5f1;  --n3:#fbfaf7;  --n4:#ffffff;
  --n5:#ffffff;  --n6:#fdfcfa;  --n7:#faf8f4;  --n8:#f5f2ec;
  --n9:#ebe7df;  --n10:#e4dfd6; --n11:#ddd7cc; --n12:#d3ccc0;
  --n13:#c2bab0; --n14:#b0a89d; --n15:#9d958a; --n16:#8d857a;
  --n17:#7c746a; --n18:#6d665d; --n19:#615a52; --n20:#565049;
  --n21:#443f39; --n22:#33302b; --n23:#23211e; --n24:#141210;

  --gold-1:#5f4510; --gold-2:#8a6414; --gold-3:#a5771a;
  --gold-4:#b8862a; --gold-5:#8a6414;

  --ok-1:#1f7a4e;  --ok-2:#2f8c62;
  --bad-1:#b23a33; --bad-2:#8c2f29;
  --warn-1:#8a5f14; --warn-2:#6b4a10;

  --bg: var(--n2);
  --bg-deep: var(--n1);
  --bg-raised: var(--n4);
  --bg-card: var(--n4);
  --bg-elevated: var(--n4);
  --border: var(--n10);
  --border-soft: var(--n9);
  --border-strong: var(--n13);
  --on-gold:#ffffff;

  --gold-ink:#7a5410;
  --ink-faint: var(--n18);

  --input-bg: var(--n4);
  --input-border: var(--n12);

  --map-ocean:#fbfaf7;
  --map-land:#e6e1d8;
  --map-line:#c0b8ab;
  --map-fill:#ded8cd;
  --map-hover: var(--gold-4);
  --map-selected: var(--gold-3);
  --map-has-data:#cfc7b9;
  --map-glow: color-mix(in srgb, var(--gold-3) 22%, transparent);

  --shadow-1: 0 1px 2px rgba(28,24,18,.05);
  --shadow-2: 0 14px 34px -26px rgba(28,24,18,.45);
  --shadow-3: 0 24px 56px -34px rgba(28,24,18,.5);
}

/* ========================================================================== 
   THEME 19.18.0: unified legal documents
   ========================================================================== */
.legal-page{background:var(--n2);color:var(--ink)}
.legal-reading-shell{max-width:940px}
.legal-masthead{padding:92px 0 62px;border-bottom:1px solid var(--n5);background:var(--n2)}
.legal-kicker{margin:0 0 18px;color:var(--gold);font:700 .68rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase}
.legal-masthead h1{max-width:820px;margin:0;color:var(--info-1);font-size:clamp(2.65rem,5vw,4.3rem);font-weight:780;letter-spacing:-.045em;line-height:1.02}
.legal-intro{max-width:760px;margin:22px 0 0;color:var(--n18);font-size:1.08rem;line-height:1.7}
.legal-masthead .legal-meta{margin-top:27px;gap:9px 28px;color:var(--n12);font-size:.66rem;letter-spacing:.06em}
.legal-document-section{padding:52px 0 96px;background:var(--n2)}
.legal-summary{margin:0 0 32px;padding:22px 24px;border:0;border-left:3px solid var(--gold);border-radius:0;background:var(--n3);box-shadow:none}
.legal-summary strong{display:block;margin:0 0 6px;color:var(--gold-5);font-size:.92rem;font-weight:750}
.legal-summary p{margin:0;color:var(--n18);font-size:.96rem;line-height:1.7}
.legal-index{margin:0 0 22px;border-top:1px solid var(--n5);border-bottom:1px solid var(--n5);background:transparent}
.legal-index summary{display:flex;align-items:center;justify-content:space-between;padding:16px 0;color:var(--n22);font-size:.84rem;font-weight:750;cursor:pointer;list-style:none}
.legal-index summary::-webkit-details-marker{display:none}
.legal-index summary::after{content:'+';color:var(--gold);font-size:1.08rem;font-weight:500}
.legal-index[open] summary::after{content:'−'}
.legal-index nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:44px;padding:2px 0 19px}
.legal-index a{padding:7px 0;color:var(--n15);font-size:.83rem;line-height:1.45;text-decoration:none}
.legal-index a:hover,.legal-index a:focus-visible{color:var(--gold-soft);text-decoration:underline;text-underline-offset:4px}
.legal-document{max-width:none;margin:0;min-width:0}
.legal-document>section{position:static;margin:0;padding:42px 0 44px;border:0;border-top:1px solid var(--n5);border-radius:0;background:transparent;box-shadow:none;scroll-margin-top:100px}
.legal-document>section:first-of-type{border-radius:0}
.legal-document>section:last-child{border-bottom:1px solid var(--n5);border-radius:0}
.legal-document h2{max-width:760px;margin:0 0 18px;color:var(--info-1);font-size:1.55rem;font-weight:740;letter-spacing:-.022em;line-height:1.25}
.legal-document h3{margin:26px 0 8px;color:var(--n22);font-size:1rem;font-weight:720}
.legal-document p{max-width:820px;margin:0 0 15px;color:var(--n18);font-size:1rem;line-height:1.82}
.legal-document p:last-child{margin-bottom:0}
.legal-document ul{display:block;max-width:800px;margin:16px 0 2px;padding-left:23px;color:var(--n18);font-size:.98rem;line-height:1.72}
.legal-document li{margin:0 0 9px;padding-left:4px}
.legal-document li::marker{color:var(--gold)}
.legal-document a{color:var(--gold-4);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--gold-4) 45%, transparent);text-underline-offset:4px}
.legal-document a:hover,.legal-document a:focus-visible{color:var(--gold-5);text-decoration-color:currentColor}
.legal-definition-list{margin:8px 0 0;border-top:1px solid var(--n6)}
.legal-definition-list>div{display:grid;grid-template-columns:190px minmax(0,1fr);gap:30px;padding:19px 0;border-bottom:1px solid var(--n6)}
.legal-definition-list dt{color:var(--n22);font-size:.91rem;font-weight:720;line-height:1.5}
.legal-definition-list dd{margin:0;color:var(--n17);font-size:.92rem;line-height:1.7}
.legal-rights-notice{max-width:820px;margin:22px 0;padding:17px 20px;border-left:3px solid var(--n10);background:var(--n3)}
.legal-rights-notice strong{display:block;margin-bottom:5px;color:var(--n22);font-size:.91rem}
.legal-rights-notice p{margin:0;font-size:.91rem;line-height:1.68}
.legal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.legal-actions .button{min-height:43px}
.legal-related{display:flex;align-items:center;flex-wrap:wrap;gap:10px 22px;margin-top:34px;padding:25px 0;border-top:1px solid var(--n6);border-bottom:1px solid var(--n6)}
.legal-related strong{margin-right:auto;color:var(--n22);font-size:.87rem}
.legal-related a{color:var(--n16);font-size:.84rem;text-decoration:none}
.legal-related a:hover,.legal-related a:focus-visible{color:var(--gold-soft)}
.legal-license-summary{display:flex;align-items:center;justify-content:space-between;gap:24px}
.legal-license-summary>div p{color:var(--info-1);font-weight:650}
.legal-copy-button{flex:0 0 auto;min-height:40px;padding:0 16px;border:1px solid color-mix(in srgb, var(--gold-4) 48%, transparent);border-radius:7px;background:color-mix(in srgb, var(--gold-4) 8%, transparent);color:var(--gold-5);font:700 .76rem var(--font-display);cursor:pointer}
.legal-copy-button:hover,.legal-copy-button:focus-visible,.legal-copy-button.is-copied{border-color:var(--gold);background:var(--gold);color:var(--n2)}

@media(max-width:700px){
  .legal-masthead{padding:58px 0 43px}
  .legal-masthead h1{font-size:2.65rem}
  .legal-intro{margin-top:17px;font-size:.98rem;line-height:1.62}
  .legal-masthead .legal-meta{align-items:flex-start;flex-direction:column;gap:6px;margin-top:22px}
  .legal-document-section{padding:32px 0 66px}
  .legal-summary{margin-bottom:24px;padding:18px 17px}
  .legal-index nav{grid-template-columns:1fr;padding-bottom:15px}
  .legal-index a{padding:7px 0;font-size:.86rem}
  .legal-document>section{padding:32px 0 34px}
  .legal-document h2{font-size:1.3rem}
  .legal-document p{font-size:.95rem;line-height:1.74}
  .legal-document ul{font-size:.94rem;line-height:1.67}
  .legal-definition-list>div{grid-template-columns:1fr;gap:5px;padding:16px 0}
  .legal-license-summary{align-items:flex-start;flex-direction:column;gap:14px}
  .legal-related{align-items:flex-start;flex-direction:column;gap:11px;padding:21px 0}
  .legal-related strong{margin:0 0 3px}
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
button{ font-family: inherit; cursor:pointer; }
:focus-visible{ outline: 2px solid var(--gold); outline-offset: 2px; }

.site-shell{ max-width: 100%; overflow-x: hidden; }
.section-inner, .header-inner, .footer-inner{
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 32px;
}

/* ================= HEADER ================= */
.site-header{
  position: sticky; top:0; z-index: 50;
  background: color-mix(in srgb, var(--n2) 92%, transparent);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--border-soft);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  height: 76px;
}
.brand{ display:flex; align-items:center; gap:10px; }
.brand-mark{
  width:32px; height:32px; border-radius:50%;
  background: var(--gold);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.brand-mark svg{ width:18px; height:18px; stroke: var(--bg); fill:none; stroke-width:2; }
.brand-mark.small{ width:26px; height:26px; }
.brand-mark.small svg{ width:15px; height:15px; }
.brand-name{ font-family: var(--font-display); font-weight:700; font-size:1.25rem; color:var(--ink); }

.desktop-nav{ display:flex; gap:36px; align-items:center; }
.desktop-nav a{
  font-size:0.925rem; color: var(--ink-dim); font-weight:500; transition: color .15s;
}
.desktop-nav a:hover{ color: var(--ink); }

.nav-dropdown{ position:relative; }
.nav-dropdown-label{
  display:inline-flex; align-items:center; gap:5px; font-size:0.925rem; color: var(--ink-dim);
  font-weight:500; cursor:pointer; transition: color .15s;
}
.nav-dropdown-label svg{ width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:2; transition: transform .15s; }
.nav-dropdown.is-open .nav-dropdown-label{ color: var(--ink); }
.nav-dropdown-menu{
  position:absolute; top:100%; left:50%; transform:translateX(-50%);
  margin-top:14px; background: var(--bg-card); border:1px solid var(--border); border-radius:8px;
  padding:8px; min-width:190px; display:flex; flex-direction:column; gap:2px;
  opacity:0; visibility:hidden; transition: opacity .15s;
  box-shadow: 0 12px 24px rgba(0,0,0,0.35);
  z-index:20;
}
.nav-dropdown.is-open .nav-dropdown-menu{ opacity:1; visibility:visible; }
.nav-dropdown.is-open .nav-dropdown-label svg{ transform: rotate(180deg); }
.nav-dropdown-menu a{
  padding:9px 12px; border-radius:5px; font-size:0.9rem; white-space:nowrap;
}
.nav-dropdown-menu a:hover{ background: color-mix(in srgb, var(--gold-4) 10%, transparent); color: var(--gold); }

.header-actions{ display:flex; align-items:center; gap:20px; }
.submit-link{
  display:inline-flex; align-items:center; gap:8px;
  background: var(--gold);
  color: var(--bg);
  font-weight:600; font-size:0.9rem;
  padding: 10px 20px;
  border-radius: var(--radius);
  transition: background .15s;
}
.submit-link:hover{ background: var(--gold-soft); }

.menu-toggle{ display:none; }
.menu-button{ display:none; cursor:pointer; }
.mobile-nav{ display:none; }

/* ================= HERO ================= */
.hero{
  display:grid;
  grid-template-columns: 1fr 1fr;
  align-items:stretch;
  min-height: 640px;
}
.hero-copy{ display:flex; align-items:center; padding: 64px 0; }
.hero-copy-inner{ max-width: 560px; padding-left: 32px; }

.kicker{
  display:inline-flex; align-items:center; gap:8px;
  border:1px solid var(--border);
  color: var(--gold);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 7px 14px;
  border-radius: 999px;
  margin-bottom: 28px;
}
.kicker svg{ width:13px; height:13px; stroke: var(--gold); fill:none; stroke-width:2; }

h1{
  font-family: var(--font-display);
  font-size: 3.4rem;
  line-height: 1.1;
  font-weight: 800;
  color: var(--ink);
  margin: 0 0 24px;
  letter-spacing: -0.01em;
}
.hero-text{
  color: var(--ink-dim);
  font-size: 1.05rem;
  line-height: 1.7;
  margin: 0 0 32px;
  max-width: 480px;
}

.hero-buttons{ display:flex; gap:14px; margin-bottom: 24px; }
.button{
  display:inline-flex; align-items:center; gap:9px;
  font-weight:600; font-size:0.92rem;
  padding: 13px 22px;
  border-radius: var(--radius);
  border: 1px solid transparent;
  transition: transform .15s, background .15s, border-color .15s;
}
.button svg{ width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2; }
.button:hover{ transform: translateY(-1px); }
.button-primary{ background: var(--gold); color: var(--bg); }
.button-primary:hover{ background: var(--gold-soft); }
.button-secondary{ background: var(--bg-raised); color: var(--ink); border-color: var(--border); }
.button-secondary:hover{ border-color: var(--gold); }
.button-outline{ background:transparent; color:var(--ink); border-color: var(--border); }
.button-outline:hover{ border-color: var(--gold); color: var(--gold); }

.browse-link{
  display:inline-flex; align-items:center; gap:6px;
  color: var(--ink-dim); font-size:0.9rem; font-weight:500;
  padding-bottom: 32px; border-bottom: 1px solid var(--border-soft);
  margin-bottom: 32px; width: fit-content;
}
.browse-link svg{ width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:2; transition: transform .15s; }
.browse-link:hover svg{ transform: translateX(3px); }

.stats{ display:flex; gap:44px; }
.stats > div{ display:flex; flex-direction:column; gap:4px; }
.stats strong{ font-family: var(--font-display); font-size:1.6rem; color: var(--gold); font-weight:700; }
.stats span{ font-family: var(--font-mono); font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase; color: var(--ink-faint); }

.hero-map{
  position: relative;
  background: linear-gradient(180deg, var(--n3) 0%, var(--n2) 100%);
  overflow:hidden;
  border-left: 1px solid var(--border-soft);
}
.map-grid{
  position:absolute; inset:0;
  background-image: linear-gradient(var(--border-soft) 1px, transparent 1px), linear-gradient(90deg, var(--border-soft) 1px, transparent 1px);
  background-size: 60px 60px;
  opacity: 0.35;
}
.lat-line{ position:absolute; left:0; right:0; height:1px; background: var(--border-soft); opacity:0.5; }
.lat-line.line-20{ top:20%; } .lat-line.line-40{ top:40%; } .lat-line.line-60{ top:60%; } .lat-line.line-80{ top:80%; }
.world-map{ position:relative; width:100%; height:100%; display:block; }
.world-map path{ fill: var(--map-fill); stroke: var(--map-line); stroke-width:0.8; transition: fill .15s; cursor: pointer; }
.world-map path.is-hovered{ fill: var(--gold); stroke: var(--gold-soft); }
.world-map .world-map-supplemental path{ fill:var(--map-fill); stroke:var(--map-line); stroke-width:.8; vector-effect:non-scaling-stroke; }
.world-map .world-map-supplemental path.is-hovered{ fill:var(--gold); stroke:var(--gold-soft); stroke-width:1.8; }
.world-map-tooltip{
  position: fixed;
  pointer-events: none;
  background: var(--bg-raised);
  border: 1px solid var(--border);
  color: var(--ink);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  padding: 5px 10px;
  border-radius: 4px;
  opacity: 0;
  transition: opacity .1s;
  z-index: 999;
  white-space: nowrap;
}
.map-label{
  position:absolute; bottom:20px; right:28px;
  font-family: var(--font-mono); font-size:0.68rem; letter-spacing:0.06em;
  color: var(--ink-faint);
}

/* ================= SECTIONS ================= */
.section{ padding: 88px 0; border-top: 1px solid var(--border-soft); }
.section-heading{ display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:44px; }
.section-heading p{ font-family: var(--font-mono); font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color: var(--gold); margin:0 0 10px; }
.section-heading h2{ font-family: var(--font-display); font-size:2rem; margin:0; color:var(--ink); font-weight:700; }
.view-all{ display:inline-flex; align-items:center; gap:6px; color: var(--ink-dim); font-size:0.9rem; font-weight:500; }
.view-all svg{ width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:2; }
.view-all:hover{ color: var(--gold); }

/* ---- map cards ---- */
.map-cards{ display:grid; grid-template-columns: repeat(3, 1fr); gap:28px; }
.map-card{
  position: relative;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow:hidden;
  transition: border-color .15s, transform .15s;
}
.card-stretched-link{ position:absolute; inset:0; z-index:1; }
.map-card .card-foot button{ position:relative; z-index:2; }
.map-card:hover{ border-color: var(--gold); transform: translateY(-3px); }
.map-card .preview{
  position:relative; height:180px;
  background: linear-gradient(135deg, var(--n4) 0%, var(--n3) 100%);
  display:flex; align-items:center; justify-content:center;
}
.map-card .preview-glow{
  position:absolute; inset:0;
  background: radial-gradient(circle at 30% 30%, color-mix(in srgb, var(--gold-4) 18%, transparent), transparent 60%);
}
.map-card .preview > svg.map-preview-fallback{ width:56px; height:56px; stroke: var(--border); fill:none; stroke-width:1.4; }
.map-card .year{
  position:absolute; top:14px; left:14px;
  font-family: var(--font-mono); font-size:0.72rem; color: var(--gold);
  background: color-mix(in srgb, var(--n2) 70%, transparent); padding:4px 10px; border-radius:999px; border:1px solid var(--border);
}
.map-card .category{
  position:absolute; bottom:14px; left:14px; right:14px;
  font-family: var(--font-mono); font-size:0.65rem; text-transform:uppercase; letter-spacing:0.06em;
  color: var(--ink-dim);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.card-body{ padding:22px; }
.card-body h3{ font-family: var(--font-display); font-size:1.15rem; margin:0 0 10px; color:var(--ink); }
.card-body p{ color: var(--ink-dim); font-size:0.9rem; line-height:1.6; margin:0 0 20px; }
.card-foot{ display:flex; align-items:center; justify-content:space-between; }
.card-foot span{ display:flex; align-items:center; gap:6px; font-family: var(--font-mono); font-size:0.72rem; color: var(--ink-faint); }
.card-foot span svg{ width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:2; }
.card-foot button, .card-foot a.download-btn{
  background: transparent; color: var(--gold); border:1px solid var(--border);
  padding:7px 16px; border-radius: var(--radius); font-size:0.82rem; font-weight:600;
  transition: background .15s, color .15s;
}
.card-foot button:hover, .card-foot a.download-btn:hover{ background: var(--gold); color: var(--bg); }

/* ---- categories ---- */
.categories-heading{ text-align:center; margin-bottom:44px; }
.categories-heading p{ font-family: var(--font-mono); font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color: var(--gold); margin:0 0 10px; }
.categories-heading h2{ font-family: var(--font-display); font-size:2rem; margin:0; color:var(--ink); }
.categories{ display:grid; grid-template-columns: repeat(auto-fit, minmax(170px, 200px)); justify-content:center; gap:18px; }
.categories a{
  display:flex; flex-direction:column; align-items:center; gap:10px;
  background: var(--bg-card); border:1px solid var(--border); border-radius: var(--radius);
  padding: 28px 12px; text-align:center; transition: border-color .15s, transform .15s;
}
.categories a:hover{ border-color: var(--gold); transform: translateY(-2px); }
.categories a span{ font-size:1.6rem; }
.categories a strong{ font-size:0.9rem; color: var(--ink); }
.categories a small{ font-family: var(--font-mono); font-size:0.7rem; color: var(--ink-faint); }

/* ---- CTA ---- */
.cta-section{ padding-bottom: 100px; }
.cta-card{
  background: linear-gradient(135deg, var(--bg-raised), var(--bg-card));
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 56px;
  display:flex; align-items:center; justify-content:space-between; gap:40px;
}
.cta-card h2{ font-family: var(--font-display); font-size:1.7rem; margin:0 0 10px; color:var(--ink); }
.cta-card p{ color: var(--ink-dim); margin:0; max-width:440px; }
.cta-actions{ display:flex; gap:14px; flex-shrink:0; }

/* ================= FOOTER ================= */
.site-footer{ border-top:1px solid var(--border-soft); padding: 36px 0; }
.footer-inner{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.footer-brand{ display:flex; align-items:center; gap:8px; font-family: var(--font-display); font-weight:700; }
.footer-nav{ display:flex; gap:24px; flex-wrap:wrap; }
.footer-nav a{ color: var(--ink-dim); font-size:0.88rem; }
.footer-nav a:hover{ color: var(--gold); }
.site-footer p{ color: var(--ink-faint); font-size:0.85rem; margin:0; }

/* ================= CATEGORY PICKER (submit form) ================= */
.category-picker{ display:flex; flex-wrap:wrap; gap:10px; }
.category-chip{ cursor:pointer; }
.category-chip input{
  position:absolute; opacity:0; width:0; height:0;
}
.category-chip span{
  display:inline-flex; align-items:center;
  padding:9px 18px;
  border-radius:999px;
  border:1px solid var(--border);
  background: var(--bg-card);
  color: var(--ink-dim);
  font-size:0.85rem;
  font-weight:500;
  transition: all .15s;
  user-select:none;
}
.category-chip:hover span{ border-color: var(--gold); color: var(--ink); }
.category-chip input:checked + span{
  background: var(--gold);
  border-color: var(--gold);
  color: var(--bg);
  font-weight:600;
}
.category-chip input:focus-visible + span{ outline: 2px solid var(--gold); outline-offset: 2px; }

/* ================= MAP PREVIEW (cards + detail page) ================= */
.map-preview-svg{ display:none; position:absolute; inset:0; width:100%; height:100%; }
.map-preview.is-ready .map-preview-svg{ display:block; }
.map-preview.is-ready .map-preview-fallback{ display:none; }
.map-preview-fallback{ width:56px; height:56px; stroke: var(--border); fill:none; stroke-width:1.4; }

.map-preview-svg .base-countries path{ fill: var(--map-fill); stroke: var(--map-line); stroke-width:0.8; }
.map-preview-svg .highlight-region path{
  fill: var(--gold);
  fill-opacity:0.88;
  stroke: var(--gold-soft);
  stroke-width:1;
  filter: drop-shadow(0 2px 8px color-mix(in srgb, var(--gold-4) 35%, transparent));
}
.preview-vignette{
  position:absolute; inset:0; pointer-events:none;
  background: radial-gradient(ellipse at center, transparent 45%, color-mix(in srgb, var(--n2) 55%, transparent) 100%);
}

.map-detail-preview{
  position: relative;
  height: 420px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--border);
  background: linear-gradient(135deg, var(--n4) 0%, var(--n3) 100%);
  display:flex; align-items:center; justify-content:center;
}
.map-detail-preview .map-preview-svg .highlight-region path{ stroke-width:1.6; }
.map-detail-preview .map-preview-fallback{ width:72px; height:72px; }

.preview-label-text{ font-family: var(--font-mono); font-size:13px; fill: var(--ink); }
.preview-label-bg{ fill: var(--bg-raised); stroke: var(--border); stroke-width:1; opacity:0.95; }

/* ================= FILE UPLOAD (submit form) ================= */
.file-upload{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  padding:10px 14px;
  background: var(--bg-card);
  border:1px solid var(--border);
  border-radius:6px;
}
.file-upload-input{
  position:absolute; width:1px; height:1px;
  padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.file-upload-btn{
  display:inline-flex; align-items:center;
  padding:9px 18px;
  border-radius:6px;
  background: var(--gold);
  color: var(--bg);
  font-weight:600; font-size:0.85rem;
  cursor:pointer;
  transition: background .15s;
  white-space:nowrap;
}
.file-upload-btn:hover{ background: var(--gold-soft); }
.file-upload-input:focus-visible + .file-upload-btn{ outline:2px solid var(--gold); outline-offset:2px; }
.file-upload-name{ color: var(--ink-dim); font-size:0.85rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* ================= ACCOUNT DASHBOARD ================= */
.account-layout{ display:grid; grid-template-columns:220px 1fr; gap:40px; align-items:start; }
.account-sidebar{
  background: var(--bg-card); border:1px solid var(--border); border-radius: var(--radius);
  padding:20px; position:sticky; top:96px;
}
.account-sidebar-name{
  font-family: var(--font-display); font-weight:700; color:var(--ink);
  padding-bottom:16px; margin-bottom:16px; border-bottom:1px solid var(--border-soft);
  word-break:break-word;
}
.account-nav{ display:flex; flex-direction:column; gap:4px; }
.account-nav a{
  display:flex; align-items:center; gap:10px;
  padding:10px 12px; border-radius:6px;
  color:var(--ink-dim); font-size:0.9rem; font-weight:500;
  transition: background .15s, color .15s;
}
.account-nav a svg{ width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2; flex-shrink:0; }
.account-nav a:hover{ background: var(--bg-raised); color:var(--ink); }
.account-nav a.is-active{ background: var(--gold); color: var(--bg); }
.account-logout{
  display:flex; align-items:center; gap:10px; width:100%;
  padding:10px 12px; border-radius:6px; margin-top:8px;
  background:transparent; border:none; text-align:left; cursor:pointer;
  color:var(--ink-faint); font-size:0.9rem; font-family:var(--font-body); font-weight:500;
  transition: background .15s, color .15s;
}
.account-logout svg{ width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2; }
.account-logout:hover{ background: var(--bg-raised); color:var(--bad-1); }
.account-content h2{ font-family: var(--font-display); font-size:1.8rem; color:var(--ink); margin:0 0 8px; }
.account-content h3{ font-family: var(--font-display); font-size:1.1rem; color:var(--ink); margin:0 0 16px; }

.dashboard-charts{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:8px; }
.dashboard-chart-card{
  background: var(--bg-card); border:1px solid var(--border); border-radius: var(--radius);
  padding:20px;
}

@media (max-width: 780px){
  .account-layout{ grid-template-columns:1fr; }
  .account-sidebar{ position:static; }
  .dashboard-charts{ grid-template-columns:1fr; }
}

/* ================= YEAR RANGE SLIDER ================= */
.year-range{
  display:flex; flex-direction:column; gap:10px; min-width:240px;
  background: var(--bg-card); border:1px solid var(--border); border-radius:6px;
  padding:10px 14px;
}
.year-range-hint{ display:none; }
.year-range-inputs{ display:flex; align-items:flex-start; gap:12px; }
.year-range-field{ display:flex; flex-direction:column; align-items:center; gap:4px; }
.year-range-inputs input{
  width:76px; padding:7px 6px; background:var(--bg); border:1px solid var(--border-soft);
  border-radius:5px; color:var(--ink); font-family:var(--font-mono); font-size:0.85rem; font-weight:600;
  text-align:center; appearance: textfield; -moz-appearance: textfield;
  transition: border-color .15s;
}
.year-range-inputs input:hover, .year-range-inputs input:focus{ border-color: var(--gold); outline:none; }
.year-range-inputs input::-webkit-outer-spin-button,
.year-range-inputs input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.year-range-bce-label{
  font-family: var(--font-mono); font-size:0.62rem; text-transform:uppercase; letter-spacing:0.04em;
  color: var(--gold); height:12px;
}
.year-range-sep{ color: var(--ink-faint); font-size:0.8rem; flex-shrink:0; margin-top:8px; }
.year-range-track{ position:relative; height:20px; display:flex; align-items:center; }
.year-range-fill{
  position:absolute; height:4px; border-radius:2px;
  background: var(--gold);
  left:0; right:0; top:50%; transform:translateY(-50%);
}
.year-range-track::before{
  content:''; position:absolute; left:0; right:0; top:50%; transform:translateY(-50%);
  height:4px; border-radius:2px; background: var(--border);
}
.year-range-input{
  position:absolute; left:0; right:0; top:0;
  width:100%; height:22px; margin:0;
  -webkit-appearance:none; appearance:none;
  background:transparent; pointer-events:none;
}
.year-range-input::-webkit-slider-thumb{
  -webkit-appearance:none; pointer-events:auto;
  width:16px; height:16px; border-radius:50%;
  background: var(--gold); border:2px solid var(--bg);
  cursor:pointer; box-shadow:0 1px 4px rgba(0,0,0,0.4);
}
.year-range-input::-moz-range-thumb{
  pointer-events:auto; width:16px; height:16px; border-radius:50%;
  background: var(--gold); border:2px solid var(--bg); cursor:pointer;
}
.year-range-input::-webkit-slider-runnable-track{ background:transparent; }
.year-range-input::-moz-range-track{ background:transparent; }

/* ================= DOWNLOAD LICENSE MODAL ================= */
body.histriphy-modal-open{ overflow:hidden; }
.license-modal-overlay{
  position:fixed; inset:0; z-index:300;
  display:flex; align-items:center; justify-content:center;
  padding:28px;
  background:
    radial-gradient(circle at 50% 115%, color-mix(in srgb, var(--gold-4) 16%, transparent), transparent 38%),
    rgba(2,5,11,.84);
  -webkit-backdrop-filter: blur(14px) saturate(112%);
  backdrop-filter: blur(14px) saturate(112%);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .28s ease, visibility .28s ease;
}
.license-modal-overlay.is-open{
  opacity:1; visibility:visible; pointer-events:auto;
}
.license-modal-box{
  position:relative; isolation:isolate; overflow:hidden;
  width:min(690px,100%); max-height:calc(100vh - 56px); overflow-y:auto;
  padding:34px;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--n3) 98%, transparent), color-mix(in srgb, var(--n2) 98%, transparent));
  border:1px solid color-mix(in srgb, var(--info-2) 24%, transparent);
  border-radius:22px;
  box-shadow:
    0 34px 90px rgba(0,0,0,.62),
    0 0 0 1px color-mix(in srgb, var(--n24) 2%, transparent) inset,
    0 22px 65px color-mix(in srgb, var(--gold-4) 8%, transparent);
  opacity:0;
  transform:translateY(38px) scale(.985);
  transition:transform .42s cubic-bezier(.2,.8,.2,1), opacity .3s ease;
  scrollbar-width:thin;
  scrollbar-color:color-mix(in srgb, var(--gold-4) 45%, transparent) transparent;
}
.license-modal-overlay.is-open .license-modal-box{
  opacity:1; transform:translateY(0) scale(1);
}
.license-modal-box::-webkit-scrollbar{ width:7px; }
.license-modal-box::-webkit-scrollbar-track{ background:transparent; }
.license-modal-box::-webkit-scrollbar-thumb{ background:color-mix(in srgb, var(--gold-4) 42%, transparent); border-radius:99px; }
.license-modal-glow{
  position:absolute; z-index:-1; width:380px; height:380px; right:-185px; top:-220px;
  border-radius:50%; background:color-mix(in srgb, var(--gold-4) 20%, transparent); filter:blur(75px); pointer-events:none;
}
.license-modal-close{
  position:absolute; z-index:3; top:19px; right:19px;
  width:38px; height:38px; display:grid; place-items:center;
  border:1px solid color-mix(in srgb, var(--info-2) 22%, transparent); border-radius:11px;
  color:var(--ink-dim); background:color-mix(in srgb, var(--n2) 52%, transparent);
  transition:color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease;
}
.license-modal-close:hover{ color:var(--ink); border-color:color-mix(in srgb, var(--gold-4) 48%, transparent); background:color-mix(in srgb, var(--gold-4) 8%, transparent); transform:rotate(3deg); }
.license-modal-close svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.license-modal-kicker{
  display:flex; align-items:center; gap:9px; padding-right:48px;
  color:var(--gold-soft); font-family:var(--font-mono); font-size:.68rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.15em;
}
.license-modal-kicker span{
  width:7px; height:7px; border-radius:50%; background:var(--gold);
  box-shadow:0 0 0 5px color-mix(in srgb, var(--gold-4) 10%, transparent), 0 0 20px color-mix(in srgb, var(--gold-4) 58%, transparent);
}
.license-modal-intro{
  display:grid; grid-template-columns:auto 1fr; align-items:center; gap:18px;
  margin:24px 0 26px;
}
.license-modal-icon{
  width:60px; height:60px; display:grid; place-items:center; border-radius:17px;
  color:var(--gold-soft); border:1px solid color-mix(in srgb, var(--gold-4) 32%, transparent);
  background:linear-gradient(145deg, color-mix(in srgb, var(--gold-4) 16%, transparent), color-mix(in srgb, var(--gold-4) 4%, transparent));
  box-shadow:0 12px 28px rgba(0,0,0,.22), 0 0 34px color-mix(in srgb, var(--gold-4) 8%, transparent);
}
.license-modal-icon svg{ width:31px; height:31px; fill:none; stroke:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; }
.license-modal-box h3{
  margin:0; color:var(--ink); font-family:var(--font-display); font-size:clamp(1.65rem,3vw,2.05rem);
  line-height:1.1; letter-spacing:-.035em;
}
.license-modal-intro p{
  margin:8px 0 0; max-width:520px; color:var(--ink-dim); font-size:.93rem; line-height:1.65;
}
.license-modal-benefits{
  display:grid; grid-template-columns:1fr 1fr; gap:11px; margin-bottom:15px;
}
.license-benefit-item{
  min-height:112px; display:grid; grid-template-columns:auto 1fr; gap:13px; align-items:flex-start;
  padding:17px; border:1px solid color-mix(in srgb, var(--info-2) 17%, transparent); border-radius:15px;
  background:linear-gradient(145deg, color-mix(in srgb, var(--n24) 3.2%, transparent), color-mix(in srgb, var(--n24) 1.2%, transparent));
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}
.license-benefit-item:hover{ transform:translateY(-2px); border-color:color-mix(in srgb, var(--gold-4) 28%, transparent); background:color-mix(in srgb, var(--n24) 3.8%, transparent); }
.license-benefit-item.is-restricted{ grid-column:1/-1; min-height:auto; background:linear-gradient(145deg, color-mix(in srgb, var(--bad-1) 5.5%, transparent), color-mix(in srgb, var(--n24) 1.2%, transparent)); }
.license-benefit-icon{
  width:34px; height:34px; display:grid; place-items:center; border-radius:10px; flex:0 0 auto;
  border:1px solid color-mix(in srgb, var(--info-2) 22%, transparent); background:color-mix(in srgb, var(--n3) 78%, transparent);
}
.license-benefit-icon svg{ width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.license-benefit-icon.is-allowed{ color:var(--ok-1); border-color:color-mix(in srgb, var(--ok-1) 25%, transparent); background:color-mix(in srgb, var(--ok-1) 7%, transparent); }
.license-benefit-icon.is-credit{ color:var(--info-1); border-color:color-mix(in srgb, var(--info-1) 25%, transparent); background:color-mix(in srgb, var(--info-1) 7%, transparent); }
.license-benefit-icon.is-restricted{ color:var(--bad-1); border-color:color-mix(in srgb, var(--bad-1) 25%, transparent); background:color-mix(in srgb, var(--bad-1) 7%, transparent); }
.license-benefit-item strong{ display:block; margin:1px 0 5px; color:var(--ink); font-size:.88rem; }
.license-benefit-item span:not(.license-benefit-icon){ display:block; color:var(--ink-faint); font-size:.75rem; line-height:1.55; }
.license-credit-box{
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  margin:0 0 17px; padding:15px 16px;
  border:1px solid color-mix(in srgb, var(--gold-4) 27%, transparent); border-radius:14px;
  background:linear-gradient(90deg, color-mix(in srgb, var(--gold-4) 10.5%, transparent), color-mix(in srgb, var(--gold-4) 2.5%, transparent));
}
.license-credit-box > div{ min-width:0; }
.license-credit-box span{ display:block; margin-bottom:3px; color:var(--ink-faint); font-family:var(--font-mono); font-size:.59rem; letter-spacing:.12em; text-transform:uppercase; }
.license-credit-box strong{ display:block; color:var(--gold-soft); font-size:.88rem; overflow-wrap:anywhere; }
.license-credit-copy{
  flex:0 0 auto; display:inline-flex; align-items:center; gap:7px;
  padding:9px 11px; color:var(--ink-dim); border:1px solid color-mix(in srgb, var(--gold-4) 24%, transparent);
  border-radius:10px; background:color-mix(in srgb, var(--n2) 50%, transparent); font-size:.72rem; font-weight:600;
  transition:color .18s ease, border-color .18s ease, background .18s ease;
}
.license-credit-copy:hover,.license-credit-copy.is-copied{ color:var(--gold-soft); border-color:color-mix(in srgb, var(--gold-4) 52%, transparent); background:color-mix(in srgb, var(--gold-4) 8%, transparent); }
.license-credit-copy svg{ width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.license-modal-meta-row{
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:3px 1px 21px;
}
.license-modal-link{ color:var(--gold); font-size:.75rem; font-weight:600; transition:color .15s ease; }
.license-modal-link:hover{ color:var(--gold-soft); }
.license-modal-checkbox{
  display:inline-flex; align-items:center; gap:9px; margin:0; cursor:pointer;
  color:var(--ink-dim); font-size:.75rem; user-select:none;
}
.license-modal-checkbox input{
  width:17px; height:17px; margin:0; accent-color:var(--gold); cursor:pointer;
}
.license-modal-actions{
  display:flex; gap:11px; justify-content:flex-end;
  padding-top:20px; border-top:1px solid color-mix(in srgb, var(--info-2) 15%, transparent);
}
.license-modal-actions .button{ min-height:48px; justify-content:center; border-radius:12px; }
.license-modal-actions .button-outline{ min-width:112px; background:color-mix(in srgb, var(--n2) 30%, transparent); }
.license-confirm-button{
  min-width:220px;
  box-shadow:0 10px 30px color-mix(in srgb, var(--gold-4) 18%, transparent), 0 0 0 1px color-mix(in srgb, var(--n24) 8%, transparent) inset;
}
.license-confirm-button svg{ width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform .18s ease; }
.license-confirm-button:hover svg{ transform:translateY(2px); }

/* Premium surface polish inspired by modern creative tools. This deliberately
   changes depth and atmosphere without changing any page structure. */
body{
  background:
    radial-gradient(900px 520px at 72% -180px, color-mix(in srgb, var(--n9) 13%, transparent), transparent 66%),
    radial-gradient(700px 420px at 15% 18%, color-mix(in srgb, var(--gold-4) 4.5%, transparent), transparent 72%),
    var(--bg);
  background-attachment:fixed;
}
.site-header{
  background:color-mix(in srgb, var(--n2) 82%, transparent);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
  backdrop-filter:blur(18px) saturate(125%);
  box-shadow:0 10px 34px rgba(0,0,0,.14);
}
.button-primary{
  box-shadow:0 8px 24px color-mix(in srgb, var(--gold-4) 14%, transparent), 0 0 0 1px color-mix(in srgb, var(--n24) 7%, transparent) inset;
}
.map-card,.map-card-library,.library-stat-card,.map-search-form,.map-library-tabs-wrap,
.map-detail-preview,.map-facts-card-v19,.map-download-card-v19,.map-technical-details,
.map-coming-soon,.map-compare-controls,.map-compare-stage,.map-related-card{
  box-shadow:0 18px 50px rgba(0,0,0,.10), 0 1px 0 color-mix(in srgb, var(--n24) 1.5%, transparent) inset;
}

@media (prefers-reduced-motion:reduce){
  .license-modal-overlay,.license-modal-box,.license-benefit-item,.license-modal-close,.license-confirm-button svg{ transition:none!important; }
}

@media (max-width:700px){
  .license-modal-overlay{ align-items:flex-end; padding:12px; }
  .license-modal-box{
    width:100%; max-height:calc(100vh - 24px); padding:25px 20px 20px;
    border-radius:20px 20px 14px 14px;
    transform:translateY(62px) scale(.99);
  }
  .license-modal-close{ top:14px; right:14px; width:36px; height:36px; }
  .license-modal-intro{ grid-template-columns:1fr; gap:14px; margin:21px 0 22px; padding-right:28px; }
  .license-modal-icon{ width:52px; height:52px; border-radius:15px; }
  .license-modal-icon svg{ width:27px; height:27px; }
  .license-modal-box h3{ font-size:1.62rem; }
  .license-modal-intro p{ font-size:.84rem; }
  .license-modal-benefits{ grid-template-columns:1fr; }
  .license-benefit-item,.license-benefit-item.is-restricted{ grid-column:auto; min-height:auto; padding:15px; }
  .license-credit-box{ align-items:flex-start; }
  .license-modal-meta-row{ align-items:flex-start; flex-direction:column; gap:13px; }
  .license-modal-actions{ display:grid; grid-template-columns:1fr 1.55fr; }
  .license-modal-actions .button,.license-modal-actions .button-outline,.license-confirm-button{ min-width:0; width:100%; padding-left:13px; padding-right:13px; }
}
@media (max-width:430px){
  .license-modal-actions{ grid-template-columns:1fr; }
  .license-confirm-button{ grid-row:1; }
  .license-modal-actions .button-outline{ grid-row:2; }
}

/* ================= RESPONSIVE ================= */
@media (max-width: 980px){
  .hero{ grid-template-columns:1fr; }
  .hero-map{ height:340px; border-left:none; border-top:1px solid var(--border-soft); order:-1; }
  .hero-copy{ padding: 48px 0; }
  .hero-copy-inner{ padding: 0 24px; max-width:100%; }
  h1{ font-size:2.4rem; }
  .map-cards{ grid-template-columns:1fr; }
  .map-detail-preview{ height: 280px; }
  .cta-card{ flex-direction:column; align-items:flex-start; padding:36px; }
  .desktop-nav{ display:none; }
  .header-actions .submit-link{ display:none; }
  .menu-button{ display:flex; align-items:center; justify-content:center; width:40px; height:40px; }
  .menu-icon, .close-icon{ width:20px; height:20px; stroke: var(--ink); fill:none; stroke-width:2; }
  .close-icon{ display:none; }
  .menu-toggle:checked ~ .mobile-nav{ display:flex; }
  .site-header:has(.menu-toggle:checked) .mobile-nav,.histriphy-mobile-menu-open .mobile-nav{ display:flex; }
  .menu-toggle:checked + .menu-button .menu-icon{ display:none; }
  .menu-toggle:checked + .menu-button .close-icon{ display:block; }
  .mobile-nav{
    display:none; flex-direction:column; gap:2px;
    padding: 8px 24px 20px;
    border-top: 1px solid var(--border-soft);
  }
  .mobile-nav a{ padding:12px 0; color: var(--ink-dim); border-bottom:1px solid var(--border-soft); }
  .mobile-submit{ color: var(--gold) !important; font-weight:600; }
  .mobile-nav .nav-dropdown{ border-bottom:1px solid var(--border-soft); }
  .mobile-nav .nav-dropdown-label{ padding:12px 0; width:100%; justify-content:space-between; }
  .mobile-nav .nav-dropdown-menu{
    position:static; transform:none; opacity:1; visibility:visible;
    display:none; box-shadow:none; border:none; background:transparent;
    padding:0 0 8px 16px; margin:0;
  }
  .mobile-nav .nav-dropdown-menu a{ border-bottom:none; padding:8px 0; }
  .mobile-nav .nav-dropdown.is-open .nav-dropdown-menu{ display:flex; }
}
@media (max-width: 640px){
  .categories{ grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); }
  .stats{ gap:28px; flex-wrap:wrap; }
  .section{ padding: 56px 0; }
}

/* ========================================================================== 
   MAP LIBRARY  -  Explore Maps / Official Uploads / Community Uploads
   The controls use a wider canvas while the result cards retain the site's
   established content width.
   ========================================================================== */
.screen-reader-text{
  position:absolute!important; width:1px!important; height:1px!important;
  padding:0!important; margin:-1px!important; overflow:hidden!important;
  clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important;
}
.map-library-page{
  --library-wide: 1480px;
  background:
    radial-gradient(circle at 42% 3%, color-mix(in srgb, var(--n6) 16%, transparent), transparent 28%),
    var(--bg);
}
.map-library-hero{
  position:relative;
  padding:38px 0 0;
  border-bottom:1px solid var(--border-soft);
  overflow:hidden;
}
.map-library-hero::before{
  content:''; position:absolute; inset:0; pointer-events:none; opacity:.18;
  background-image:
    linear-gradient(color-mix(in srgb, var(--n10) 16%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--n10) 16%, transparent) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom, var(--n1), transparent 72%);
}
.map-library-hero::after{
  content:''; position:absolute; width:290px; height:290px; left:33%; top:-98px;
  border:1px solid color-mix(in srgb, var(--gold-4) 8%, transparent); border-radius:50%; pointer-events:none;
  box-shadow:0 0 0 34px color-mix(in srgb, var(--gold-4) 2.5%, transparent), 0 0 0 68px color-mix(in srgb, var(--gold-4) 1.8%, transparent);
}
.map-library-wide{
  position:relative; z-index:1;
  width:min(calc(100% - 56px), var(--library-wide));
  margin:0 auto;
}
.map-library-heading-row{
  display:grid; grid-template-columns:minmax(420px, 1fr) minmax(670px, 1.6fr);
  gap:44px; align-items:center; margin-bottom:30px;
}
.map-library-heading{ max-width:610px; }
.map-library-eyebrow{
  display:flex; align-items:center; gap:9px; margin:0 0 9px;
  color:var(--gold); font-family:var(--font-mono); font-weight:700;
  font-size:.7rem; letter-spacing:.14em; text-transform:uppercase;
}
.map-library-eyebrow span{ width:14px; height:1px; background:var(--gold); opacity:.75; }
.map-library-heading h1{
  margin:0 0 9px; font-family:Georgia, 'Times New Roman', serif;
  font-size:2.75rem; line-height:1.08; font-weight:700; letter-spacing:-.02em;
}
.map-library-description{
  max-width:620px; margin:0; color:var(--ink-dim); font-size:.95rem; line-height:1.55;
}
.map-library-stats{
  display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:12px;
}
.library-stat-card{
  min-height:98px; display:flex; align-items:center; justify-content:center; gap:14px;
  padding:18px 14px; border:1px solid var(--border); border-radius:9px;
  background:linear-gradient(145deg, color-mix(in srgb, var(--n3) 94%, transparent), color-mix(in srgb, var(--n2) 94%, transparent));
  box-shadow:inset 0 1px 0 color-mix(in srgb, var(--n24) 1.8%, transparent);
}
.library-stat-card > svg{
  width:28px; height:28px; flex:0 0 auto; stroke:var(--gold); fill:none; stroke-width:1.7;
}
.library-stat-card div{ min-width:0; }
.library-stat-card strong{
  display:block; color:var(--ink); font-family:Georgia, 'Times New Roman', serif;
  font-size:1.45rem; line-height:1.05; font-weight:700; white-space:nowrap;
}
.library-stat-card span{
  display:block; margin-top:6px; color:var(--ink-dim); font-size:.75rem; white-space:nowrap;
}

/* Filter panel */
.map-library-page .map-search-form{
  display:grid;
  grid-template-columns:minmax(270px, 1.45fr) minmax(170px, .72fr) minmax(255px, 1fr) minmax(150px, .62fr) auto;
  gap:16px; align-items:end; margin:0 0 14px; padding:17px 18px;
  border:1px solid var(--border); border-radius:9px;
  background:color-mix(in srgb, var(--n3) 94%, transparent); box-shadow:0 12px 36px rgba(0,0,0,.12);
}
.map-filter-field{ min-width:0; }
.map-filter-field > label{
  display:block; margin:0 0 7px; color:var(--ink-dim); font-size:.72rem; font-weight:600;
}
.map-filter-control{
  position:relative; height:42px; border:1px solid var(--border); border-radius:6px;
  background:var(--n3); transition:border-color .15s, box-shadow .15s;
}
.map-filter-control:focus-within{
  border-color:color-mix(in srgb, var(--gold-4) 72%, transparent); box-shadow:0 0 0 3px color-mix(in srgb, var(--gold-4) 8%, transparent);
}
.map-filter-control.has-icon > svg{
  position:absolute; left:12px; top:50%; width:16px; height:16px; transform:translateY(-50%);
  stroke:var(--ink-faint); fill:none; stroke-width:2; pointer-events:none;
}
.map-filter-control input,
.map-filter-control select{
  width:100%; height:100%; margin:0; border:0; outline:0; background:transparent;
  color:var(--ink); font:500 .78rem var(--font-body);
}
.map-filter-control input{ padding:0 12px 0 38px; }
.map-filter-control input::placeholder{ color:var(--n13); }
.map-filter-control select{
  appearance:none; -webkit-appearance:none; padding:0 36px 0 12px; cursor:pointer;
}
.map-filter-control select option{ background:var(--bg-raised); color:var(--ink); }
.select-control > svg{
  position:absolute; right:11px; top:50%; width:15px; height:15px; transform:translateY(-50%);
  stroke:var(--ink-dim); fill:none; stroke-width:2; pointer-events:none;
}
.map-library-page .year-range{
  min-width:0; height:42px; display:grid; grid-template-columns:auto 1fr; align-items:center;
  gap:13px; padding:5px 11px; border:1px solid var(--border); border-radius:6px;
  background:var(--n3);
}
.map-library-page .year-range-inputs{ align-items:center; gap:6px; }
.map-library-page .year-range-field{ position:relative; display:block; }
.map-library-page .year-range-inputs input{
  width:70px; height:30px; padding:4px 5px; border:0; background:transparent;
  font-size:.72rem; text-align:center;
}
.map-library-page .year-range-bce-label{
  position:absolute; left:50%; bottom:-2px; transform:translateX(-50%);
  height:auto; font-size:.46rem; line-height:1; letter-spacing:.02em; white-space:nowrap;
}
.map-library-page .year-range-sep{ margin:0; color:var(--ink-faint); }
.map-library-page .year-range-track{ min-width:92px; height:20px; }
.map-library-page .year-range-track::before{ height:3px; z-index:0; }
.map-library-page .year-range-fill{ height:3px; z-index:1; }
.map-library-page .year-range-input{ z-index:2; }
.map-library-page .year-range-input::-webkit-slider-thumb{ width:13px; height:13px; border-width:2px; }
.map-library-page .year-range-input::-moz-range-thumb{ width:13px; height:13px; border-width:2px; }
.map-filter-actions{ display:flex; gap:9px; align-items:center; }
.map-filter-actions .button{
  height:42px; justify-content:center; padding:0 17px; border-radius:6px; white-space:nowrap;
  font-size:.78rem;
}
.map-filter-actions .button svg{ width:15px; height:15px; }
.map-search-submit{ min-width:112px; }
.map-search-reset{ min-width:126px; }

/* Tabs */
.map-library-tabs-wrap{
  display:flex; align-items:stretch; min-height:47px; border:1px solid var(--border);
  border-radius:8px 8px 0 0; background:color-mix(in srgb, var(--n2) 92%, transparent); overflow:hidden;
}
.map-library-tabs{
  min-width:0; display:flex; align-items:stretch; flex:1; overflow-x:auto;
  scrollbar-width:thin; scrollbar-color:var(--border) transparent;
}
.map-library-tab{
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  flex:0 0 auto; min-width:max-content; padding:0 22px; border-right:1px solid var(--border-soft);
  color:var(--ink-dim); font-size:.76rem; font-weight:600; transition:color .15s, background .15s;
}
.map-library-tab svg{ width:17px; height:17px; stroke:currentColor; fill:none; stroke-width:1.8; }
.map-library-tab:hover{ color:var(--ink); background:color-mix(in srgb, var(--n24) 1.8%, transparent); }
.map-library-tab.is-active{
  color:var(--gold); background:color-mix(in srgb, var(--gold-4) 5.5%, transparent);
  box-shadow:inset 0 -2px 0 var(--gold);
}
.map-library-tab-divider{ width:1px; margin:10px 0; background:var(--border); flex:0 0 auto; }
.map-library-clear{
  display:inline-flex; align-items:center; gap:8px; flex:0 0 auto; padding:0 18px;
  color:var(--ink-dim); font-size:.75rem; border-left:1px solid var(--border);
}
.map-library-clear span{ font-size:1.18rem; line-height:1; }
.map-library-clear:hover{ color:var(--gold); }

/* Results retain the original site width */
.map-library-results{ padding:18px 0 72px; }
.map-library-grid{ gap:14px; }
.map-card-library{
  border-radius:9px; background:var(--n3); border-color:var(--n5);
  box-shadow:0 9px 26px rgba(0,0,0,.13);
}
.map-card-library:hover{ transform:translateY(-2px); border-color:color-mix(in srgb, var(--gold-4) 72%, transparent); }
.map-card-library .preview{ height:142px; background:linear-gradient(135deg, var(--n4), var(--n2)); }
.map-card-library .preview-glow{
  background:
    radial-gradient(circle at 42% 54%, color-mix(in srgb, var(--gold-4) 22%, transparent), transparent 42%),
    linear-gradient(90deg, color-mix(in srgb, var(--n5) 15%, transparent), transparent 45%);
}
.map-card-library .year{
  top:10px; left:10px; padding:4px 8px; border-radius:4px;
  border-color:color-mix(in srgb, var(--gold-4) 35%, transparent); color:var(--gold); background:color-mix(in srgb, var(--n2) 88%, transparent);
  font-size:.65rem; font-weight:700;
}
.map-source-badge{
  position:absolute; top:10px; right:10px; z-index:2;
  display:inline-flex; align-items:center; gap:5px; padding:4px 8px;
  border:1px solid var(--border); border-radius:4px; background:color-mix(in srgb, var(--n2) 88%, transparent);
  color:var(--ink-dim); font-size:.61rem; font-weight:600;
}
.map-source-badge svg{ width:12px; height:12px; stroke:var(--gold); fill:none; stroke-width:2; }
.map-source-badge.is-official{ color:var(--gold); border-color:color-mix(in srgb, var(--gold-4) 32%, transparent); }
.source-dot{ width:6px; height:6px; border-radius:50%; background:var(--info-2); box-shadow:0 0 8px color-mix(in srgb, var(--info-2) 55%, transparent); }
.map-card-library .card-body{ padding:13px 14px 12px; }
.map-card-type{
  margin:0 0 5px!important; color:var(--ink-faint)!important; font-family:var(--font-mono);
  font-size:.57rem!important; line-height:1.2!important; letter-spacing:.055em; text-transform:uppercase;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.map-card-library .card-body h3{
  min-height:27px; display:flex; align-items:flex-start; margin:0 0 12px;
  font-family:Georgia, 'Times New Roman', serif; font-size:1.08rem; line-height:1.24;
}
.map-card-library .card-foot{ gap:9px; }
.map-card-library .map-download-total{ white-space:nowrap; font-size:.62rem; }
.map-card-library .map-download-total svg{ width:12px; height:12px; }
.map-card-actions{ position:relative; z-index:2; display:flex; align-items:center; gap:7px; margin-left:auto; }
.map-card-library .map-details-btn,
.map-card-library .card-foot button{
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  height:32px; padding:0 12px; border-radius:5px; font-size:.66rem; font-weight:600;
  border:1px solid var(--border); transition:background .15s, color .15s, border-color .15s;
}
.map-card-library .map-details-btn{ color:var(--ink-dim); background:var(--n2); }
.map-card-library .map-details-btn:hover{ color:var(--ink); border-color:var(--n8); }
.map-card-library .card-foot button{
  color:var(--n3); background:linear-gradient(180deg, var(--gold-4), var(--gold-4)); border-color:var(--gold-4);
}
.map-card-library .card-foot button:hover{ color:var(--n3); background:var(--gold-soft); }
.map-card-library .card-foot button svg{ width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:2; }
.map-card-library .card-foot button:disabled{ opacity:.65; cursor:wait; }
.map-results-footer{
  display:grid; grid-template-columns:minmax(220px,1fr) auto;
  align-items:center; gap:22px; min-height:68px; margin:18px 0 0; padding:13px 18px;
  border:1px solid var(--border); border-radius:9px;
  background:linear-gradient(145deg, color-mix(in srgb, var(--n3) 97%, transparent), color-mix(in srgb, var(--n2) 97%, transparent));
  box-shadow:0 10px 30px rgba(0,0,0,.14), inset 0 1px 0 color-mix(in srgb, var(--n24) 1.5%, transparent);
}
.map-results-footer-summary{ min-width:0; }
.map-results-footer-summary p{ margin:0; color:var(--ink-dim); font-size:.69rem; white-space:nowrap; }
.map-pagination{
  display:flex; justify-content:center; align-items:center; gap:7px; margin:0;
}
.map-pagination .page-numbers,
.map-pagination .page-arrow{
  display:inline-flex; align-items:center; justify-content:center; min-width:34px; height:34px;
  padding:0 10px; border:1px solid var(--border); border-radius:5px; background:var(--n2);
  color:var(--ink-dim); font-size:.7rem; line-height:1; transition:border-color .15s, color .15s, background .15s;
}
.map-pagination .page-arrow{ width:34px; padding:0; }
.map-pagination .page-arrow svg{
  width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:1.8;
  stroke-linecap:round; stroke-linejoin:round;
}
.map-pagination a.page-numbers:hover,
.map-pagination a.page-arrow:hover{ border-color:color-mix(in srgb, var(--gold-4) 75%, transparent); color:var(--gold); }
.map-pagination .page-numbers.current{
  background:linear-gradient(180deg, var(--gold-4), var(--gold-4)); border-color:var(--gold-4);
  color:var(--n3); font-weight:700; box-shadow:0 4px 12px color-mix(in srgb, var(--gold-4) 16%, transparent);
}
.map-pagination .page-numbers.dots{
  min-width:20px; height:34px; padding:0; border:0; background:transparent;
  color:var(--ink-faint); pointer-events:none; letter-spacing:.08em;
}
.map-pagination .page-arrow.is-disabled{ opacity:.42; }
.map-pagination-empty{ min-width:34px; }
.map-empty-state{
  grid-column:1/-1; min-height:280px; display:flex; flex-direction:column; align-items:center;
  justify-content:center; padding:42px; text-align:center; border:1px dashed var(--border);
  border-radius:9px; background:color-mix(in srgb, var(--n3) 50%, transparent);
}
.map-empty-state > svg{ width:36px; height:36px; stroke:var(--gold); fill:none; stroke-width:1.5; }
.map-empty-state h2{ margin:14px 0 5px; font-size:1.25rem; }
.map-empty-state p{ margin:0 0 18px; color:var(--ink-dim); }

@media (max-width: 1320px){
  .map-library-heading-row{ grid-template-columns:minmax(330px,.8fr) minmax(620px,1.4fr); gap:28px; }
  .library-stat-card{ gap:10px; padding:15px 10px; }
  .library-stat-card strong{ font-size:1.25rem; }
  .map-library-page .map-search-form{
    grid-template-columns:minmax(250px,1.3fr) minmax(165px,.65fr) minmax(245px,1fr) minmax(145px,.55fr);
  }
  .map-filter-actions{ grid-column:1/-1; justify-content:flex-end; }
}
@media (max-width: 1080px){
  .map-library-wide{ width:min(calc(100% - 40px), var(--library-wide)); }
  .map-library-heading-row{ grid-template-columns:1fr; }
  .map-library-heading{ max-width:720px; }
  .map-library-stats{ grid-template-columns:repeat(4,1fr); }
  .map-library-page .map-search-form{ grid-template-columns:1.2fr .8fr 1fr; }
  .map-filter-sort{ grid-column:auto; }
  .map-filter-actions{ grid-column:1/-1; }
  .map-library-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 760px){
  .map-library-hero{ padding-top:28px; }
  .map-results-footer{ grid-template-columns:1fr; gap:14px; padding:14px; }
  .map-results-footer-summary{ text-align:center; }
  .map-pagination{ justify-content:center; }
  .map-library-wide{ width:calc(100% - 28px); }
  .map-library-heading h1{ font-size:2.15rem; }
  .map-library-description{ font-size:.88rem; }
  .map-library-stats{ grid-template-columns:repeat(2,1fr); }
  .library-stat-card{ min-height:84px; justify-content:flex-start; }
  .map-library-page .map-search-form{ grid-template-columns:1fr; gap:12px; padding:14px; }
  .map-filter-actions{ grid-column:auto; display:grid; grid-template-columns:1fr 1fr; }
  .map-filter-actions .button{ min-width:0; padding:0 10px; }
  .map-library-tabs-wrap{ border-radius:8px 8px 0 0; }
  .map-library-clear{ display:none; }
  .map-library-tab{ padding:0 17px; }
  .map-library-results{ padding-top:14px; }
  .map-library-grid{ grid-template-columns:1fr; }
}
@media (max-width: 430px){
  .map-library-stats{ grid-template-columns:1fr; }
  .map-results-footer{ grid-template-columns:1fr; }
  .map-pagination{ justify-content:center; flex-wrap:wrap; }
  .library-stat-card{ min-height:70px; }
  .map-library-page .year-range{ grid-template-columns:1fr; height:auto; gap:3px; }
  .map-library-page .year-range-inputs{ justify-content:center; }
  .map-library-page .year-range-track{ width:100%; }
  .map-filter-actions{ grid-template-columns:1fr; }
  .map-card-library .card-foot{ align-items:flex-start; flex-direction:column; }
  .map-card-actions{ width:100%; margin-left:0; }
  .map-card-library .map-details-btn,
  .map-card-library .card-foot button{ flex:1; }
}
.map-card-library .download-count{ display:inline; font:inherit; color:inherit; }

/* ========================================================================== 
   THEME 8.0  -  simplified 1240px map library and navigation refinements
   ========================================================================== */

/* Keep normal wheel/touch scrolling while removing the intrusive visible
   browser/nested scrollbars requested for the public site. */
html, body{ scrollbar-width:none; -ms-overflow-style:none; }
html::-webkit-scrollbar, body::-webkit-scrollbar{ width:0; height:0; display:none; }

/* Main navigation: Uploads is a stable hover/focus dropdown, not a page. */
.nav-dropdown-label{
  appearance:none; -webkit-appearance:none; border:0; background:transparent;
  padding:0; margin:0; font-family:inherit;
}
.desktop-nav .nav-dropdown{ position:relative; display:flex; align-items:center; height:76px; }
.desktop-nav .nav-dropdown::after{
  content:''; position:absolute; top:100%; left:-18px; right:-18px; height:18px;
}
.desktop-nav .nav-dropdown-menu{
  top:calc(100% - 2px); margin-top:0;
  transition:opacity .14s ease, transform .14s ease, visibility 0s linear .22s;
  transform:translate(-50%, 5px);
}
.desktop-nav .nav-dropdown:hover .nav-dropdown-menu,
.desktop-nav .nav-dropdown:focus-within .nav-dropdown-menu,
.desktop-nav .nav-dropdown.is-open .nav-dropdown-menu{
  opacity:1; visibility:visible; transform:translate(-50%, 0);
  transition-delay:0s;
}
.desktop-nav .nav-dropdown:hover .nav-dropdown-label,
.desktop-nav .nav-dropdown:focus-within .nav-dropdown-label,
.desktop-nav .nav-dropdown.is-open .nav-dropdown-label{ color:var(--ink); }
.desktop-nav .nav-dropdown:hover .nav-dropdown-label svg,
.desktop-nav .nav-dropdown:focus-within .nav-dropdown-label svg,
.desktop-nav .nav-dropdown.is-open .nav-dropdown-label svg{ transform:rotate(180deg); }

/* Also style a WordPress menu that has been configured with child items. */
.desktop-nav > li{ display:flex; align-items:center; height:76px; }
.desktop-nav .menu-item-has-children{ position:relative; }
.desktop-nav .menu-item-has-children > a::after{
  content:'⌄'; display:inline-block; margin-left:6px; font-size:.72em;
}
.desktop-nav .sub-menu{
  position:absolute; top:calc(100% - 2px); left:50%; z-index:20;
  min-width:190px; padding:8px; margin:0; display:flex; flex-direction:column; gap:2px;
  border:1px solid var(--border); border-radius:8px; background:var(--bg-card);
  box-shadow:0 12px 24px rgba(0,0,0,.35);
  opacity:0; visibility:hidden; transform:translate(-50%, 5px);
  transition:opacity .14s ease, transform .14s ease, visibility 0s linear .22s;
}
.desktop-nav .menu-item-has-children::after{
  content:''; position:absolute; top:100%; left:-18px; right:-18px; height:18px;
}
.desktop-nav .menu-item-has-children:hover > .sub-menu,
.desktop-nav .menu-item-has-children:focus-within > .sub-menu{
  opacity:1; visibility:visible; transform:translate(-50%, 0); transition-delay:0s;
}
.desktop-nav .sub-menu a{ display:block; padding:9px 12px; border-radius:5px; white-space:nowrap; }
.desktop-nav .sub-menu a:hover{ color:var(--gold); background:color-mix(in srgb, var(--gold-4) 10%, transparent); }

/* The three main library pages use the reference serif display face only for
   their page heading. Other website headings keep the normal brand font. */
.map-library-heading h1{ font-family:var(--font-display); }
.map-library-page-core .map-library-heading h1{
  font-family:Georgia, 'Times New Roman', serif;
  font-weight:700; letter-spacing:-.025em;
}

/* Match the header/footer/results width: one centered 1240px website canvas. */
.map-library-page{ --library-wide:var(--container); background:var(--bg); }
.map-library-wide{
  width:100%; max-width:var(--container); margin:0 auto; padding:0 32px;
}
.map-library-hero{ padding:28px 0 0; overflow:hidden; }
.map-library-hero::before{
  opacity:.13;
  background-image:
    linear-gradient(color-mix(in srgb, var(--n10) 12%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--n10) 12%, transparent) 1px, transparent 1px);
  background-size:76px 76px;
}
/* Replace the old outlined circle with a soft atmospheric glow. */
.map-library-hero::after{
  content:''; position:absolute; pointer-events:none;
  width:760px; height:360px; left:30%; top:-190px; border:0; border-radius:50%;
  background:
    radial-gradient(ellipse at center, color-mix(in srgb, var(--gold-4) 13%, transparent) 0%, color-mix(in srgb, var(--n8) 9%, transparent) 36%, color-mix(in srgb, var(--n4) 3.5%, transparent) 58%, transparent 74%);
  filter:blur(12px); box-shadow:none;
}
.map-library-heading-row{
  grid-template-columns:minmax(330px,.82fr) minmax(620px,1.35fr);
  gap:26px; align-items:center; margin-bottom:22px;
}
.map-library-heading{ max-width:470px; }
.map-library-heading h1{ font-size:2.45rem; margin-bottom:8px; }
.map-library-description{ max-width:480px; font-size:.82rem; line-height:1.55; }
.map-library-eyebrow{ margin-bottom:6px; font-size:.61rem; }

/* One clean statistics panel, with internal dividers instead of four boxes. */
.map-library-stats{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0;
  min-height:104px; padding:0 8px;
  border:1px solid var(--border); border-radius:8px;
  background:linear-gradient(145deg, color-mix(in srgb, var(--n3) 96%, transparent), color-mix(in srgb, var(--n2) 96%, transparent));
  box-shadow:0 16px 42px rgba(0,0,0,.16), inset 0 1px 0 color-mix(in srgb, var(--n24) 1.5%, transparent);
}
.library-stat-card{
  min-height:102px; padding:16px 13px; gap:12px;
  border:0; border-radius:0; background:transparent; box-shadow:none;
}
.library-stat-card + .library-stat-card{ border-left:1px solid var(--border-soft); }
.library-stat-card > svg{ width:24px; height:24px; }
.library-stat-card strong{ font-size:1.32rem; }
.library-stat-card span{ margin-top:5px; font-size:.68rem; }

/* Simple search/category/period/sort row from the approved layout. */
.map-library-page .map-search-form{
  grid-template-columns:minmax(270px,1.45fr) minmax(160px,.72fr) minmax(175px,.78fr) minmax(140px,.62fr) auto;
  gap:18px; align-items:end; margin:0 0 12px; padding:14px 16px 16px;
  border-radius:8px; background:color-mix(in srgb, var(--n3) 94%, transparent);
}
.map-filter-field > label{ margin-bottom:6px; font-size:.66rem; }
.map-filter-control{ height:40px; }
.map-filter-control input,
.map-filter-control select{ font-size:.72rem; }
.map-filter-actions{ display:flex; align-items:flex-end; grid-column:auto; }
.map-filter-actions .button{ height:40px; min-width:106px; padding:0 18px; }

/* Tabs wrap instead of creating any horizontal/nested sliding bar. */
.map-library-tabs-wrap{ min-height:45px; border-radius:7px 7px 0 0; overflow:visible; }
.map-library-tabs{
  display:flex; flex-wrap:wrap; align-items:stretch; overflow:visible;
  scrollbar-width:none;
}
.map-library-tabs::-webkit-scrollbar{ display:none; }
.map-library-tab{ min-height:44px; padding:0 20px; font-size:.69rem; }

/* Brighter gold region, softer world-map context and a proper map glow. */
.map-card-library .preview{
  background:
    radial-gradient(ellipse at 50% 48%, color-mix(in srgb, var(--n5) 38%, transparent), transparent 62%),
    linear-gradient(135deg, var(--n3), var(--n2));
}
.map-card-library .preview-glow{
  background:
    radial-gradient(ellipse at 50% 48%, color-mix(in srgb, var(--gold-4) 23%, transparent) 0%, color-mix(in srgb, var(--gold-4) 9%, transparent) 27%, transparent 58%),
    linear-gradient(180deg, transparent 58%, color-mix(in srgb, var(--n2) 42%, transparent) 100%);
}
.map-card-library .map-preview-svg .base-countries path{
  fill:var(--n6); fill-opacity:.27;
  stroke:var(--info-2); stroke-opacity:.34; stroke-width:.72;
}
.map-card-library .map-preview-svg .highlight-region path{
  fill:var(--gold-4); fill-opacity:.97; stroke:var(--gold-5); stroke-width:1.05;
  filter:
    drop-shadow(0 0 3px color-mix(in srgb, var(--gold-5) 82%, transparent))
    drop-shadow(0 0 10px color-mix(in srgb, var(--gold-4) 62%, transparent))
    drop-shadow(0 0 22px color-mix(in srgb, var(--gold-4) 34%, transparent));
}
.map-card-library:hover .map-preview-svg .highlight-region path{
  filter:
    drop-shadow(0 0 4px color-mix(in srgb, var(--gold-5) 90%, transparent))
    drop-shadow(0 0 13px color-mix(in srgb, var(--gold-4) 72%, transparent))
    drop-shadow(0 0 28px color-mix(in srgb, var(--gold-4) 42%, transparent));
}

@media (max-width:1080px){
  .map-library-heading-row{ grid-template-columns:1fr; }
  .map-library-heading{ max-width:650px; }
  .map-library-stats{ grid-template-columns:repeat(4,minmax(0,1fr)); }
  .map-library-page .map-search-form{ grid-template-columns:1.2fr .8fr .8fr; }
  .map-filter-sort{ grid-column:auto; }
  .map-filter-actions{ grid-column:auto; }
}
@media (max-width:760px){
  .map-library-wide{ padding:0 14px; }
  .map-library-heading h1{ font-size:2.05rem; }
  .map-library-stats{ grid-template-columns:repeat(2,minmax(0,1fr)); padding:0; }
  .library-stat-card:nth-child(3){ border-left:0; border-top:1px solid var(--border-soft); }
  .library-stat-card:nth-child(4){ border-top:1px solid var(--border-soft); }
  .map-library-page .map-search-form{ grid-template-columns:1fr; gap:11px; }
  .map-filter-actions{ grid-column:auto; }
  .map-filter-actions .button{ width:100%; }
  .map-library-tab{ flex:1 1 50%; min-width:0; padding:0 12px; }
}
@media (max-width:430px){
  .map-library-stats{ grid-template-columns:1fr; }
  .library-stat-card + .library-stat-card{ border-left:0; border-top:1px solid var(--border-soft); }
  .map-library-tab{ flex-basis:100%; }
}

/* =====================================================================
   ACCOUNT DASHBOARD V2 + COMMUNITY CREATOR IDENTITY
   ===================================================================== */
.histriphy-avatar{
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  flex:0 0 auto; overflow:hidden; border-radius:50%;
  background:linear-gradient(145deg, var(--gold-soft), var(--gold));
  color:var(--n3); font-weight:800; letter-spacing:.02em;
  border:1px solid color-mix(in srgb, var(--gold-5) 70%, transparent);
  box-shadow:0 0 0 4px color-mix(in srgb, var(--gold-4) 8%, transparent), 0 12px 28px rgba(0,0,0,.26);
}
.histriphy-avatar img{ width:100%; height:100%; object-fit:cover; }
.histriphy-avatar.is-initials{ line-height:1; }
.account-hero-avatar{ width:76px; height:76px; font-size:1.35rem; }
.account-sidebar-avatar{ width:46px; height:46px; font-size:.9rem; box-shadow:0 0 0 3px color-mix(in srgb, var(--gold-4) 7%, transparent); }
.account-settings-avatar{ width:92px; height:92px; font-size:1.6rem; }
.community-uploader-avatar{ width:68px; height:68px; font-size:1.2rem; }

.account-dashboard-page{
  min-height:calc(100vh - 76px);
  background:
    radial-gradient(circle at 18% 2%, color-mix(in srgb, var(--gold-4) 7.5%, transparent), transparent 26%),
    radial-gradient(circle at 88% 16%, color-mix(in srgb, var(--n8) 8%, transparent), transparent 25%),
    var(--bg);
}
.account-dashboard-shell{ padding:38px 0 82px; }
.account-hero-panel{
  display:flex; align-items:center; justify-content:space-between; gap:28px;
  margin-bottom:26px; padding:28px 30px;
  border:1px solid var(--border); border-radius:12px;
  background:
    linear-gradient(115deg, color-mix(in srgb, var(--n4) 97%, transparent), color-mix(in srgb, var(--n2) 95%, transparent)),
    radial-gradient(circle at 18% 50%, color-mix(in srgb, var(--gold-4) 12%, transparent), transparent 34%);
  box-shadow:0 18px 54px rgba(0,0,0,.2), inset 0 1px 0 color-mix(in srgb, var(--n24) 1.8%, transparent);
}
.account-hero-profile{ display:flex; align-items:center; gap:20px; min-width:0; }
.account-kicker{
  margin:0 0 5px; color:var(--gold); font:600 .66rem var(--font-mono);
  letter-spacing:.14em; text-transform:uppercase;
}
.account-hero-profile h1{
  margin:0; color:var(--ink); font-size:1.9rem; line-height:1.15; letter-spacing:-.025em;
}
.account-hero-profile p:last-child{ margin:8px 0 0; max-width:650px; color:var(--ink-dim); font-size:.88rem; }
.account-hero-actions{ display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.account-hero-actions .button{ min-height:42px; padding:0 17px; }

.account-layout-v2{ grid-template-columns:245px minmax(0,1fr); gap:26px; }
.account-sidebar-v2{
  padding:18px; border-radius:10px; top:98px;
  background:linear-gradient(180deg, color-mix(in srgb, var(--n3) 98%, transparent), color-mix(in srgb, var(--n3) 98%, transparent));
  box-shadow:0 14px 36px rgba(0,0,0,.16);
}
.account-sidebar-profile{
  display:flex; align-items:center; gap:12px; padding:2px 2px 17px;
  margin-bottom:12px; border-bottom:1px solid var(--border-soft);
}
.account-sidebar-profile div{ min-width:0; }
.account-sidebar-profile strong{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink); font-size:.9rem; }
.account-sidebar-profile span{ display:block; margin-top:3px; color:var(--ink-faint); font-size:.67rem; }
.account-sidebar-v2 .account-nav a,
.account-sidebar-v2 .account-logout{ min-height:42px; border:1px solid transparent; }
.account-sidebar-v2 .account-nav a.is-active{
  color:var(--gold-soft); background:color-mix(in srgb, var(--gold-4) 8%, transparent); border-color:color-mix(in srgb, var(--gold-4) 22%, transparent);
}
.account-sidebar-v2 .account-nav a.is-active svg{ stroke:var(--gold); }
.account-content-v2{ min-width:0; }

.account-section-heading{
  display:flex; align-items:flex-end; justify-content:space-between; gap:28px;
  margin-bottom:22px;
}
.account-section-heading h2{ margin:0; font-size:1.75rem; }
.account-section-heading > p{ max-width:460px; margin:0; color:var(--ink-dim); font-size:.82rem; text-align:right; }
.account-dashboard-heading{ margin-bottom:20px; }

.account-stat-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.account-stat-card{
  min-height:108px; display:flex; align-items:center; gap:13px; padding:18px;
  border:1px solid var(--border); border-radius:9px;
  background:linear-gradient(145deg, color-mix(in srgb, var(--n3) 97%, transparent), color-mix(in srgb, var(--n3) 97%, transparent));
  box-shadow:inset 0 1px 0 color-mix(in srgb, var(--n24) 1.8%, transparent);
  transition:border-color .18s, transform .18s;
}
.account-stat-card:hover{ transform:translateY(-2px); border-color:color-mix(in srgb, var(--gold-4) 44%, transparent); }
.account-stat-icon{
  width:39px; height:39px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:9px; background:color-mix(in srgb, var(--gold-4) 8%, transparent); border:1px solid color-mix(in srgb, var(--gold-4) 20%, transparent);
}
.account-stat-icon svg{ width:21px; height:21px; fill:none; stroke:var(--gold); stroke-width:1.8; }
.account-stat-card strong{ display:block; color:var(--ink); font-size:1.42rem; line-height:1; }
.account-stat-card div > span{ display:block; margin-top:7px; color:var(--ink-dim); font-size:.68rem; white-space:nowrap; }

.dashboard-chart-card-v2{
  min-height:310px; margin-bottom:28px; padding:20px 22px 18px;
  border-radius:10px; background:linear-gradient(180deg, color-mix(in srgb, var(--n3) 98%, transparent), color-mix(in srgb, var(--n2) 98%, transparent));
  box-shadow:0 12px 34px rgba(0,0,0,.13);
}
.dashboard-chart-card-v2 > div:first-child{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:14px; }
.dashboard-chart-card-v2 h3{ margin:0 0 3px; }
.dashboard-chart-card-v2 p{ margin:0; color:var(--ink-faint); font-size:.72rem; }
.dashboard-chart-card-v2 canvas{ width:100% !important; height:230px !important; }

.account-maps-heading{
  display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin:0 0 14px;
}
.account-maps-heading h3{ margin:0 0 3px; font-size:1.12rem; }
.account-maps-heading p{ margin:0; color:var(--ink-faint); font-size:.72rem; }
.account-maps-heading > a{ color:var(--gold); font-size:.76rem; font-weight:600; }
.account-maps-heading > a:hover{ color:var(--gold-soft); }

.account-map-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.account-map-card{
  min-width:0; overflow:hidden; border:1px solid var(--border); border-radius:9px;
  background:linear-gradient(180deg, color-mix(in srgb, var(--n3) 97%, transparent), color-mix(in srgb, var(--n3) 98%, transparent));
  transition:transform .18s, border-color .18s, box-shadow .18s;
}
.account-map-card:hover{
  transform:translateY(-3px); border-color:color-mix(in srgb, var(--gold-4) 66%, transparent);
  box-shadow:0 16px 35px rgba(0,0,0,.2), 0 0 28px color-mix(in srgb, var(--gold-4) 5%, transparent);
}
.account-map-preview{
  position:relative; height:132px; display:flex; align-items:center; justify-content:center; overflow:hidden;
  background:radial-gradient(ellipse at 50% 48%, color-mix(in srgb, var(--n5) 38%, transparent), transparent 62%), linear-gradient(135deg,var(--n3),var(--n2));
  border-bottom:1px solid var(--border-soft);
}
.account-map-preview > img{ width:100%; height:100%; object-fit:cover; }
.account-map-preview .preview-glow{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(ellipse at 50% 48%, color-mix(in srgb, var(--gold-4) 20%, transparent), color-mix(in srgb, var(--gold-4) 7%, transparent) 30%, transparent 61%);
}
.account-map-preview .map-preview-svg{ z-index:0; }
.account-map-preview .map-preview-fallback{ width:45px; height:45px; stroke:var(--border); fill:none; stroke-width:1.4; }
.account-map-preview .map-preview-svg .base-countries path{ fill:var(--n6); fill-opacity:.27; stroke:var(--info-2); stroke-opacity:.34; stroke-width:.72; }
.account-map-preview .map-preview-svg .highlight-region path{
  fill:var(--gold-4); fill-opacity:.97; stroke:var(--gold-5); stroke-width:1.05;
  filter:drop-shadow(0 0 3px color-mix(in srgb, var(--gold-5) 82%, transparent)) drop-shadow(0 0 10px color-mix(in srgb, var(--gold-4) 58%, transparent));
}
.account-status-badge{
  display:inline-flex; align-items:center; min-height:25px; padding:0 9px; border-radius:5px;
  font:600 .58rem var(--font-mono); letter-spacing:.08em; text-transform:uppercase;
}
.account-map-preview .account-status-badge{ position:absolute; top:10px; right:10px; z-index:3; }
.account-status-badge.status-publish{ color:var(--gold-4); background:color-mix(in srgb, var(--n3) 90%, transparent); border:1px solid color-mix(in srgb, var(--gold-4) 56%, transparent); }
.account-status-badge.status-pending{ color:var(--info-1); background:color-mix(in srgb, var(--n3) 92%, transparent); border:1px solid color-mix(in srgb, var(--info-2) 45%, transparent); }
.account-status-badge.status-draft{ color:var(--n18); background:color-mix(in srgb, var(--n3) 92%, transparent); border:1px solid var(--n7); }
.account-map-year{
  position:absolute; left:10px; top:10px; z-index:3; padding:5px 8px; border-radius:5px;
  color:var(--gold-soft); background:color-mix(in srgb, var(--n2) 90%, transparent); border:1px solid color-mix(in srgb, var(--gold-4) 42%, transparent);
  font:600 .6rem var(--font-mono);
}
.account-map-card-body{ padding:14px 15px 13px; }
.account-map-card-body > p{
  min-height:17px; margin:0 0 5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  color:var(--ink-faint); font:.56rem var(--font-mono); letter-spacing:.08em; text-transform:uppercase;
}
.account-map-card-body h3{
  margin:0 0 14px; min-height:43px; color:var(--ink); font-size:.92rem; line-height:1.35;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.account-map-card-body > div{ display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--ink-faint); font-size:.64rem; }
.account-map-card-body > div span{ display:inline-flex; align-items:center; gap:5px; }
.account-map-card-body svg{ width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:1.8; }
.account-open-label{ color:var(--gold); font-weight:600; }
.account-map-card:hover .account-open-label{ color:var(--gold-soft); }

.account-notice{ margin-bottom:16px; padding:13px 15px; border-radius:7px; font-size:.8rem; }
.account-notice.is-success{ color:var(--gold-4); background:color-mix(in srgb, var(--gold-4) 7%, transparent); border:1px solid color-mix(in srgb, var(--gold-4) 35%, transparent); }
.account-notice.is-error{ color:var(--bad-1); background:color-mix(in srgb, var(--bad-2) 8%, transparent); border:1px solid color-mix(in srgb, var(--bad-2) 40%, transparent); }
.account-settings-form{
  overflow:hidden; border:1px solid var(--border); border-radius:10px;
  background:linear-gradient(180deg, color-mix(in srgb, var(--n3) 98%, transparent), color-mix(in srgb, var(--n2) 98%, transparent));
}
.account-profile-photo-card{
  display:flex; align-items:center; gap:22px; padding:24px;
  border-bottom:1px solid var(--border-soft); background:color-mix(in srgb, var(--n24) 0.8%, transparent);
}
.account-profile-photo-card > div{ min-width:0; }
.account-profile-photo-card h3{ margin:0 0 4px; }
.account-profile-photo-card p{ margin:0 0 13px; color:var(--ink-dim); font-size:.76rem; }
.account-photo-upload{ max-width:470px; background:var(--n3); }
.account-remove-photo{ display:inline-flex; align-items:center; gap:7px; margin-top:10px; color:var(--ink-faint); font-size:.7rem; cursor:pointer; }
.account-remove-photo input{ accent-color:var(--gold); }
.account-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; padding:24px; }
.account-field{ min-width:0; }
.account-field-full{ grid-column:1/-1; }
.account-field label{ display:block; margin-bottom:7px; color:var(--ink-dim); font-size:.72rem; font-weight:600; }
.account-field label span{ color:var(--ink-faint); font-weight:400; }
.account-field input,
.account-field textarea{
  width:100%; border:1px solid var(--border); border-radius:7px; background:var(--n3);
  color:var(--ink); font:500 .82rem var(--font-body); outline:0;
  transition:border-color .15s, box-shadow .15s;
}
.account-field input{ height:44px; padding:0 13px; }
.account-field textarea{ padding:12px 13px; resize:vertical; min-height:102px; }
.account-field input:focus,
.account-field textarea:focus{ border-color:color-mix(in srgb, var(--gold-4) 65%, transparent); box-shadow:0 0 0 3px color-mix(in srgb, var(--gold-4) 7%, transparent); }
.account-form-actions{ display:flex; justify-content:flex-end; padding:0 24px 24px; }
.account-form-actions .button{ min-width:145px; justify-content:center; }

.account-back-link{
  display:inline-flex; align-items:center; gap:6px; margin-bottom:17px; color:var(--ink-dim); font-size:.74rem;
}
.account-back-link:hover{ color:var(--gold); }
.account-back-link svg{ width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2; }
.account-submission-header{
  display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:18px;
}
.account-submission-header h2{ margin:10px 0 4px; font-size:1.8rem; }
.account-submission-header p{ margin:0; color:var(--ink-faint); font-size:.72rem; }
.account-submission-preview{
  height:420px; overflow:hidden; margin-bottom:16px; border:1px solid var(--border); border-radius:10px;
  background:var(--n3);
}
.account-submission-preview > img{ width:100%; height:100%; object-fit:cover; }
.account-submission-facts{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
.account-submission-facts > div{ padding:15px; border:1px solid var(--border); border-radius:8px; background:var(--bg-card); }
.account-submission-facts span{ display:block; margin-bottom:5px; color:var(--ink-faint); font-size:.62rem; text-transform:uppercase; letter-spacing:.07em; }
.account-submission-facts strong{ display:block; overflow:hidden; text-overflow:ellipsis; color:var(--ink); font-size:.82rem; }
.account-submission-note,
.account-empty-panel{ padding:22px; border:1px solid var(--border); border-radius:9px; background:linear-gradient(145deg, color-mix(in srgb, var(--n3) 97%, transparent), color-mix(in srgb, var(--n2) 98%, transparent)); }
.account-submission-note h3{ margin:0 0 6px; }
.account-submission-note p{ margin:0; color:var(--ink-dim); font-size:.8rem; line-height:1.65; }
.account-empty-panel{ text-align:center; padding:46px 24px; }
.account-empty-panel h2,
.account-empty-panel h3{ margin:0 0 7px; }
.account-empty-panel p{ margin:0 auto 18px; max-width:480px; color:var(--ink-dim); font-size:.82rem; }
.account-empty-icon{ width:46px; height:46px; display:inline-flex; align-items:center; justify-content:center; margin-bottom:14px; border:1px solid color-mix(in srgb, var(--gold-4) 35%, transparent); border-radius:50%; color:var(--gold); font-size:1.4rem; }

/* Public identity shown on every Community Upload detail page. */
.single-uploader-name{ color:var(--ink); font-weight:600; }
.community-uploader-card{
  display:flex; align-items:center; gap:18px; margin:0 0 30px; padding:20px 22px;
  border:1px solid color-mix(in srgb, var(--gold-4) 25%, transparent); border-radius:10px;
  background:
    radial-gradient(circle at 8% 50%, color-mix(in srgb, var(--gold-4) 8%, transparent), transparent 28%),
    linear-gradient(145deg, color-mix(in srgb, var(--n3) 97%, transparent), color-mix(in srgb, var(--n2) 98%, transparent));
}
.community-uploader-copy{ min-width:0; }
.community-uploader-copy > p{ margin:0 0 2px; color:var(--gold); font:600 .59rem var(--font-mono); letter-spacing:.12em; text-transform:uppercase; }
.community-uploader-copy h3{ margin:0 0 5px; color:var(--ink); font-size:1rem; }
.community-uploader-bio{ color:var(--ink-dim); font-size:.76rem; line-height:1.55; }
.community-uploader-meta{ display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:9px; color:var(--ink-faint); font-size:.65rem; }
.community-uploader-meta span{ position:relative; }
.community-uploader-meta span + span::before{ content:'•'; position:absolute; left:-10px; color:var(--gold); }

/* Filter dropdowns now apply immediately; this small state prevents double clicks. */
.map-search-form.is-filtering{ opacity:.78; pointer-events:none; }
.map-search-form.is-filtering .map-filter-control{ border-color:color-mix(in srgb, var(--gold-4) 50%, transparent); }

@media (max-width:1100px){
  .account-stat-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .account-map-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .account-submission-facts{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:860px){
  .account-hero-panel{ align-items:flex-start; flex-direction:column; }
  .account-hero-actions{ width:100%; }
  .account-hero-actions .button{ flex:1; justify-content:center; }
  .account-layout-v2{ grid-template-columns:1fr; }
  .account-sidebar-v2{ position:static; }
  .account-sidebar-v2 .account-nav{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .account-sidebar-v2 .account-nav form{ grid-column:1/-1; }
  .account-section-heading{ align-items:flex-start; flex-direction:column; gap:8px; }
  .account-section-heading > p{ max-width:650px; text-align:left; }
}
@media (max-width:620px){
  .account-dashboard-shell{ padding-top:20px; }
  .account-hero-panel{ padding:20px; }
  .account-hero-profile{ align-items:flex-start; }
  .account-hero-avatar{ width:60px; height:60px; }
  .account-hero-profile h1{ font-size:1.45rem; }
  .account-hero-actions{ flex-direction:column; align-items:stretch; }
  .account-stat-grid,
  .account-map-grid,
  .account-submission-facts,
  .account-form-grid{ grid-template-columns:1fr; }
  .account-field-full{ grid-column:auto; }
  .account-sidebar-v2 .account-nav{ grid-template-columns:1fr; }
  .account-profile-photo-card{ align-items:flex-start; flex-direction:column; }
  .account-submission-header{ flex-direction:column; }
  .account-submission-preview{ height:280px; }
  .community-uploader-card{ align-items:flex-start; }
}


/* Histriphy Platform 1.0 */
.map-protection-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--border-soft);border:1px solid var(--border-soft);border-radius:10px;overflow:hidden;margin:0 0 32px}.map-protection-panel>div{background:var(--surface);padding:16px 18px}.map-protection-panel span{display:block;color:var(--ink-faint);font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;margin-bottom:6px}.map-protection-panel strong{color:var(--ink);font-size:.9rem}.account-download-allowance{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;margin-bottom:24px;border:1px solid color-mix(in srgb, var(--gold-4) 35%, transparent);border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb, var(--gold-4) 9%, transparent),color-mix(in srgb, var(--n3) 25%, transparent))}.account-download-allowance span{display:block;color:var(--ink-faint);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.account-download-allowance strong{display:block;color:var(--gold);margin-top:4px}.account-download-allowance p{margin:0;color:var(--ink-dim);font-size:.82rem}@media(max-width:700px){.account-download-allowance{align-items:flex-start;flex-direction:column}}

/* =========================================================
   HISTRIPHY MAP EXPERIENCE  -  THEME 19
   ========================================================= */
.single-histriphy_map .site-shell{
  background:
    radial-gradient(circle at 78% 8%, color-mix(in srgb, var(--gold-4) 7%, transparent), transparent 25%),
    radial-gradient(circle at 16% 26%, color-mix(in srgb, var(--n7) 11%, transparent), transparent 30%),
    var(--bg);
}
.map-experience{ min-height:70vh; }
.map-hero-v19{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--border-soft);
  background:
    linear-gradient(105deg, color-mix(in srgb, var(--n2) 99%, transparent) 0%, color-mix(in srgb, var(--n2) 98%, transparent) 48%, color-mix(in srgb, var(--n3) 96%, transparent) 100%);
}
.map-hero-v19::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.34;
  background-image:
    linear-gradient(color-mix(in srgb, var(--n13) 4.5%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--n13) 4.5%, transparent) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(90deg, transparent, var(--n1) 30%, var(--n1) 100%);
}
.map-hero-inner-v19{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(500px,1.18fr);
  align-items:center;
  gap:58px;
  min-height:590px;
  padding-top:64px;
  padding-bottom:64px;
}
.map-breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  margin-bottom:24px;
  color:var(--ink-faint);
  font-size:.76rem;
}
.map-breadcrumb a{ color:var(--ink-dim); transition:color .18s; }
.map-breadcrumb a:hover{ color:var(--gold); }
.map-badge-row{ display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
.map-origin-badge,.map-period-badge{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 11px;
  border:1px solid var(--border);
  border-radius:999px;
  background:color-mix(in srgb, var(--n3) 72%, transparent);
  color:var(--ink-dim);
  font-size:.69rem;
  font-weight:700;
  letter-spacing:.035em;
}
.map-origin-badge.is-official{ color:var(--gold-soft); border-color:color-mix(in srgb, var(--gold-4) 36%, transparent); background:color-mix(in srgb, var(--gold-4) 7%, transparent); }
.map-origin-badge.is-community{ color:var(--info-1); border-color:color-mix(in srgb, var(--info-2) 36%, transparent); background:color-mix(in srgb, var(--info-2) 7%, transparent); }
.map-origin-dot{ width:7px; height:7px; border-radius:50%; background:currentColor; box-shadow:0 0 12px currentColor; }
.map-period-badge{ font-family:var(--font-mono); color:var(--ink); }
.map-hero-copy-v19 h1{
  max-width:660px;
  margin:0 0 18px;
  font-size:clamp(2.65rem,4.2vw,4.65rem);
  line-height:1.02;
  letter-spacing:-.045em;
}
.map-hero-summary{
  max-width:620px;
  margin:0;
  color:var(--ink-dim);
  font-size:1rem;
  line-height:1.75;
}
.map-primary-actions{ display:flex; align-items:center; flex-wrap:wrap; gap:11px; margin-top:30px; }
.map-primary-actions .button{ min-height:47px; }
.map-primary-actions .button svg{ fill:none; stroke:currentColor; stroke-width:1.9; }
.map-text-button{ padding-left:8px; padding-right:8px; color:var(--ink-dim); }
.map-text-button:hover{ color:var(--gold-soft); }
.map-quick-stats{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  margin-top:34px;
  padding-top:24px;
  border-top:1px solid var(--border-soft);
}
.map-quick-stats > div{ min-width:118px; padding:0 24px; border-left:1px solid var(--border-soft); }
.map-quick-stats > div:first-child{ padding-left:0; border-left:0; }
.map-quick-stats strong{ display:block; color:var(--ink); font-size:1rem; }
.map-quick-stats span{ display:block; margin-top:3px; color:var(--ink-faint); font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; }
.map-hero-visual-v19{ min-width:0; }
.map-hero-preview{
  height:460px;
  margin:0;
  overflow:hidden;
  border:1px solid color-mix(in srgb, var(--n12) 28%, transparent);
  border-radius:14px;
  background:
    radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--gold-4) 10%, transparent), transparent 28%),
    linear-gradient(145deg, color-mix(in srgb, var(--n3) 95%, transparent), color-mix(in srgb, var(--n2) 99%, transparent));
  box-shadow:0 30px 80px rgba(0,0,0,.34), inset 0 1px 0 color-mix(in srgb, var(--n24) 2.5%, transparent);
}
.map-hero-preview::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg, color-mix(in srgb, var(--n24) 1.5%, transparent), transparent 22%, rgba(0,0,0,.18));
}
.map-hero-preview .preview-glow{
  position:absolute;
  inset:19% 20%;
  border-radius:50%;
  background:color-mix(in srgb, var(--gold-4) 13%, transparent);
  filter:blur(54px);
  z-index:0;
}
.map-hero-preview .map-preview-svg .base-countries path,
.map-compare-preview .map-preview-svg .base-countries path{
  fill:var(--n5);
  fill-opacity:.35;
  stroke:var(--info-2);
  stroke-opacity:.36;
  stroke-width:.8;
}
.map-hero-preview .map-preview-svg .highlight-region path,
.map-compare-preview .map-preview-svg .highlight-region path{
  fill:var(--gold-4);
  fill-opacity:.92;
  stroke:var(--gold-4);
  stroke-width:1.5;
  filter:drop-shadow(0 0 5px color-mix(in srgb, var(--gold-4) 86%, transparent)) drop-shadow(0 0 16px color-mix(in srgb, var(--gold-4) 46%, transparent));
}
.map-preview-caption{ display:flex; justify-content:space-between; gap:18px; padding:11px 4px 0; color:var(--ink-faint); font-size:.67rem; }
.map-body-v19{ padding:58px 0 90px; }
.map-body-grid-v19{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:30px; align-items:start; }
.map-main-column-v19{ min-width:0; display:flex; flex-direction:column; gap:22px; }
.map-content-section{
  padding:30px;
  border:1px solid var(--border-soft);
  border-radius:12px;
  background:linear-gradient(145deg, color-mix(in srgb, var(--n3) 95%, transparent), color-mix(in srgb, var(--n2) 95%, transparent));
  box-shadow:inset 0 1px 0 color-mix(in srgb, var(--n24) 1.8%, transparent);
}
.map-section-heading{ margin-bottom:22px; }
.map-section-heading > span,.map-section-heading > div > span{
  display:block;
  margin-bottom:7px;
  color:var(--gold);
  font:600 .64rem var(--font-mono);
  letter-spacing:.14em;
  text-transform:uppercase;
}
.map-section-heading h2{ margin:0; color:var(--ink); font-size:1.72rem; letter-spacing:-.025em; }
.map-section-heading-split{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
.map-section-heading-split > p{ max-width:340px; margin:0; color:var(--ink-faint); font-size:.78rem; text-align:right; }
.map-section-heading-split > a{ color:var(--gold-soft); font-size:.78rem; }
.map-description-copy{ color:var(--ink-dim); line-height:1.85; }
.map-description-copy > :first-child{ margin-top:0; }
.map-description-copy > :last-child{ margin-bottom:0; }
.map-context-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.map-context-group{ min-height:112px; padding:17px; border:1px solid var(--border-soft); border-radius:9px; background:color-mix(in srgb, var(--n2) 48%, transparent); }
.map-context-group h3{ margin:0 0 12px; color:var(--ink-faint); font-size:.65rem; text-transform:uppercase; letter-spacing:.09em; }
.map-chip-list{ display:flex; flex-wrap:wrap; gap:7px; }
.map-chip-list span{ padding:6px 9px; border:1px solid color-mix(in srgb, var(--n12) 22%, transparent); border-radius:999px; background:color-mix(in srgb, var(--n6) 23%, transparent); color:var(--ink-dim); font-size:.71rem; }
.map-timeline{ position:relative; display:flex; gap:0; overflow-x:auto; padding:16px 4px 6px; scrollbar-width:thin; scrollbar-color:var(--border) transparent; }
.map-timeline::before{ content:""; position:absolute; top:58px; left:22px; right:22px; height:1px; background:linear-gradient(90deg, transparent, var(--border), var(--border), transparent); }
.map-timeline-item{ position:relative; z-index:1; min-width:155px; flex:1 0 155px; padding:0 12px; text-align:center; color:var(--ink-faint); }
.map-timeline-year{ display:block; min-height:25px; color:var(--ink-dim); font:600 .68rem var(--font-mono); }
.map-timeline-node{ display:block; width:12px; height:12px; margin:12px auto 13px; border:3px solid var(--bg-card); border-radius:50%; background:var(--n10); box-shadow:0 0 0 1px var(--n10); }
.map-timeline-item strong{ display:block; color:var(--ink-dim); font-size:.77rem; line-height:1.35; }
.map-timeline-item:hover strong{ color:var(--ink); }
.map-timeline-item.is-current .map-timeline-year,.map-timeline-item.is-current strong{ color:var(--gold-soft); }
.map-timeline-item.is-current .map-timeline-node{ background:var(--gold); box-shadow:0 0 0 1px var(--gold),0 0 16px color-mix(in srgb, var(--gold-4) 50%, transparent); }
.map-compare-form{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding:17px; border:1px solid var(--border-soft); border-radius:9px; background:color-mix(in srgb, var(--n2) 45%, transparent); }
.map-compare-form label{ display:block; color:var(--ink-dim); font-size:.76rem; }
.map-compare-controls{ display:flex; align-items:center; gap:9px; width:min(520px,65%); }
.map-compare-controls select{ min-width:0; flex:1; height:44px; padding:0 38px 0 13px; border:1px solid var(--border); border-radius:7px; background:var(--n3); color:var(--ink); }
.map-compare-controls .button{ min-height:44px; padding:0 18px; }
.map-compare-stage{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin-top:16px; }
.map-compare-pane{ min-width:0; border:1px solid var(--border-soft); border-radius:10px; overflow:hidden; background:var(--n3); }
.map-compare-label{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border-bottom:1px solid var(--border-soft); }
.map-compare-label span{ color:var(--ink-faint); font-size:.62rem; text-transform:uppercase; letter-spacing:.08em; }
.map-compare-label strong{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink); font-size:.76rem; }
.map-compare-preview{ height:300px; margin:0; border:0; border-radius:0; background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--gold-4) 8%, transparent), transparent 33%),var(--n3); }
.map-empty-state{ padding:24px; border:1px dashed var(--border); border-radius:9px; color:var(--ink-faint); text-align:center; }
.map-related-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.map-related-card{ min-width:0; overflow:hidden; border:1px solid var(--border-soft); border-radius:10px; background:color-mix(in srgb, var(--n2) 78%, transparent); transition:transform .18s,border-color .18s,box-shadow .18s; }
.map-related-card:hover{ transform:translateY(-3px); border-color:color-mix(in srgb, var(--gold-4) 42%, transparent); box-shadow:0 14px 34px rgba(0,0,0,.22); }
.map-related-preview{ position:relative; height:128px; overflow:hidden; background:linear-gradient(145deg,var(--n3),var(--n2)); }
.map-related-preview .preview-glow{ position:absolute; inset:35% 25%; background:color-mix(in srgb, var(--gold-4) 10%, transparent); filter:blur(24px); }
.map-related-preview .map-preview-svg .base-countries path{ fill:var(--n6); fill-opacity:.32; stroke:var(--info-2); stroke-opacity:.32; }
.map-related-preview .map-preview-svg .highlight-region path{ fill:var(--gold-4); stroke:var(--gold-4); filter:drop-shadow(0 0 8px color-mix(in srgb, var(--gold-4) 55%, transparent)); }
.map-related-copy{ padding:14px; }
.map-related-copy > span{ display:block; min-height:18px; overflow:hidden; color:var(--ink-faint); font:500 .58rem var(--font-mono); text-transform:uppercase; letter-spacing:.06em; white-space:nowrap; text-overflow:ellipsis; }
.map-related-copy strong{ display:block; min-height:42px; margin-top:5px; color:var(--ink); font-size:.87rem; line-height:1.35; }
.map-related-copy small{ display:block; margin-top:10px; color:var(--gold-soft); font-size:.68rem; }
.map-sidebar-v19{ position:sticky; top:98px; display:flex; flex-direction:column; gap:15px; }
.map-download-card-v19,.map-facts-card-v19,.map-technical-details{
  border:1px solid var(--border-soft);
  border-radius:11px;
  background:linear-gradient(145deg, color-mix(in srgb, var(--n3) 97%, transparent), color-mix(in srgb, var(--n2) 98%, transparent));
  box-shadow:0 16px 36px rgba(0,0,0,.17),inset 0 1px 0 color-mix(in srgb, var(--n24) 2%, transparent);
}
.map-download-card-v19{ padding:21px; border-color:color-mix(in srgb, var(--gold-4) 25%, transparent); }
.map-download-card-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:15px; padding-bottom:16px; margin-bottom:17px; border-bottom:1px solid var(--border-soft); }
.map-download-card-head span{ color:var(--ink-faint); font-size:.65rem; text-transform:uppercase; letter-spacing:.08em; }
.map-download-card-head strong{ color:var(--gold-soft); font-size:.76rem; }
.guest-meter-copy{ display:flex; align-items:center; justify-content:space-between; gap:16px; color:var(--ink-dim); font-size:.74rem; }
.guest-meter-copy strong{ color:var(--ink); }
.guest-meter-dots{ display:grid; grid-template-columns:repeat(5,1fr); gap:7px; margin:12px 0 10px; }
.guest-meter-dots span{ height:7px; border-radius:999px; background:var(--gold); box-shadow:0 0 9px color-mix(in srgb, var(--gold-4) 25%, transparent); }
.guest-meter-dots span.is-used{ background:var(--n6); box-shadow:none; }
.guest-download-meter p{ margin:0; color:var(--ink-faint); font-size:.69rem; }
.member-allowance-copy{ display:flex; align-items:flex-end; gap:8px; margin-bottom:16px; }
.member-allowance-copy strong{ color:var(--gold-soft); font-size:1.65rem; line-height:1; }
.member-allowance-copy span{ color:var(--ink-faint); font-size:.69rem; }
.map-sidebar-primary{ width:100%; justify-content:center; margin-top:17px; text-align:center; }
.map-sidebar-login{ display:block; margin-top:11px; color:var(--ink-dim); font-size:.73rem; text-align:center; }
.map-sidebar-login:hover{ color:var(--gold-soft); }
.map-license-note{ margin:16px 0 0; color:var(--ink-faint); font-size:.68rem; line-height:1.6; }
.map-license-link{ display:inline-block; margin-top:10px; color:var(--gold-soft); font-size:.7rem; }
.map-facts-card-v19{ padding:20px; }
.map-facts-card-v19 h2{ margin:0 0 13px; font-size:.92rem; }
.map-facts-card-v19 dl,.map-technical-details dl{ margin:0; }
.map-facts-card-v19 dl > div,.map-technical-details dl > div{ display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:11px 0; border-top:1px solid var(--border-soft); }
.map-facts-card-v19 dt,.map-technical-details dt{ color:var(--ink-faint); font-size:.68rem; }
.map-facts-card-v19 dd,.map-technical-details dd{ margin:0; max-width:58%; color:var(--ink-dim); font-size:.7rem; text-align:right; }
.map-uploader-sidebar{ padding:18px; margin:0; border-radius:11px; }
.map-uploader-sidebar .community-uploader-avatar{ width:48px; height:48px; }
.map-uploader-sidebar .community-uploader-copy h3{ font-size:.9rem; }
.map-uploader-sidebar .community-uploader-bio{ font-size:.69rem; }
.map-technical-details{ overflow:hidden; }
.map-technical-details summary{ padding:16px 18px; color:var(--ink-dim); font-size:.76rem; cursor:pointer; list-style:none; }
.map-technical-details summary::-webkit-details-marker{ display:none; }
.map-technical-details summary::after{ content:"+"; float:right; color:var(--gold); font-size:1rem; }
.map-technical-details[open] summary::after{ content:"−"; }
.map-technical-details dl{ padding:0 18px 15px; }
.map-technical-details code{ color:var(--ink-dim); font-size:.62rem; }

/* Registration prompt shown when both lifetime guest downloads are used. */
.guest-limit-modal-overlay{
  position:fixed; inset:0; z-index:10020; display:none; align-items:center; justify-content:center;
  padding:24px; background:color-mix(in srgb, var(--n2) 82%, transparent); backdrop-filter:blur(10px);
}
.guest-limit-modal-overlay.is-open{display:flex}
.guest-limit-modal{
  position:relative; width:min(560px,100%); padding:30px; overflow:hidden;
  border:1px solid color-mix(in srgb, var(--gold-4) 34%, transparent); border-radius:20px;
  background:linear-gradient(145deg,var(--n3) 0%,var(--n3) 58%,var(--n2) 100%);
  box-shadow:0 28px 80px rgba(0,0,0,.5); color:var(--ink); text-align:left;
}
.guest-limit-modal:before{
  content:""; position:absolute; width:240px; height:240px; right:-95px; top:-120px;
  border-radius:50%; background:radial-gradient(circle,color-mix(in srgb, var(--gold-4) 16%, transparent),transparent 68%); pointer-events:none;
}
.guest-limit-dismiss{
  position:absolute; z-index:2; top:16px; right:16px; width:34px; height:34px; display:grid; place-items:center;
  border:1px solid var(--border-soft); border-radius:10px; background:color-mix(in srgb, var(--n24) 2.5%, transparent);
  color:var(--ink-dim); font-size:1.25rem; line-height:1; cursor:pointer;
}
.guest-limit-dismiss:hover,.guest-limit-dismiss:focus-visible{border-color:color-mix(in srgb, var(--gold-4) 45%, transparent);color:var(--ink)}
.guest-limit-kicker{display:flex;align-items:center;gap:8px;margin:0 44px 20px 0;color:var(--gold-soft);font:600 .7rem/1 var(--font-mono);letter-spacing:.09em;text-transform:uppercase}
.guest-limit-kicker span{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px color-mix(in srgb, var(--gold-4) 10%, transparent)}
.guest-limit-heading-row{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;align-items:start}
.guest-limit-icon{width:56px;height:56px;display:grid;place-items:center;border:1px solid color-mix(in srgb, var(--gold-4) 35%, transparent);border-radius:16px;background:color-mix(in srgb, var(--gold-4) 9%, transparent);color:var(--gold)}
.guest-limit-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.guest-limit-modal h3{margin:1px 0 0;font-size:1.55rem;line-height:1.18;letter-spacing:-.025em}
.guest-limit-modal p{margin:9px 0 0;max-width:430px;color:var(--ink-dim);font-size:.86rem;line-height:1.65}
.guest-limit-plans{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0 12px}
.guest-limit-plan{position:relative;padding:16px;border:1px solid var(--border-soft);border-radius:13px;background:color-mix(in srgb, var(--n24) 1.8%, transparent)}
.guest-limit-plan.is-highlighted{border-color:color-mix(in srgb, var(--gold-4) 38%, transparent);background:color-mix(in srgb, var(--gold-4) 6.5%, transparent)}
.guest-limit-plan-label{display:block;min-height:28px;color:var(--ink-dim);font-size:.69rem;line-height:1.35}
.guest-limit-plan strong{display:block;margin:5px 0 2px;color:var(--ink);font-size:1.8rem;line-height:1}
.guest-limit-plan.is-highlighted strong{color:var(--gold-soft)}
.guest-limit-plan>span:last-child{color:var(--ink-faint);font-size:.68rem}
.guest-limit-note{display:flex;gap:10px;align-items:flex-start;padding:12px 13px;border:1px solid var(--border-soft);border-radius:11px;background:color-mix(in srgb, var(--n24) 1.4%, transparent);color:var(--ink-dim);font-size:.72rem;line-height:1.5}
.guest-limit-note svg{flex:0 0 auto;width:18px;height:18px;margin-top:1px;fill:none;stroke:var(--gold);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.guest-limit-actions{display:grid;grid-template-columns:1.05fr .95fr;gap:10px;margin-top:20px}
.guest-limit-actions .button{min-height:48px;justify-content:center;text-align:center}
@media(max-width:560px){
  .guest-limit-modal-overlay{padding:14px}
  .guest-limit-modal{padding:24px 19px;border-radius:17px}
  .guest-limit-heading-row{grid-template-columns:46px minmax(0,1fr);gap:12px}
  .guest-limit-icon{width:46px;height:46px;border-radius:13px}
  .guest-limit-modal h3{font-size:1.27rem}
  .guest-limit-plans,.guest-limit-actions{grid-template-columns:1fr}
  .guest-limit-plan-label{min-height:0}
}

@media(max-width:1100px){
  .map-hero-inner-v19{ grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr); gap:35px; }
  .map-hero-preview{ height:400px; }
  .map-body-grid-v19{ grid-template-columns:minmax(0,1fr) 310px; gap:22px; }
  .map-related-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:900px){
  .map-hero-inner-v19{ grid-template-columns:1fr; min-height:0; padding-top:44px; padding-bottom:46px; }
  .map-hero-copy-v19{ max-width:760px; }
  .map-hero-visual-v19{ width:100%; }
  .map-body-grid-v19{ grid-template-columns:1fr; }
  .map-sidebar-v19{ position:static; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .map-download-card-v19{ grid-column:1/-1; }
  .map-uploader-sidebar,.map-technical-details{ grid-column:1/-1; }
}
@media(max-width:680px){
  .map-hero-inner-v19{ padding-top:32px; padding-bottom:34px; }
  .map-hero-copy-v19 h1{ font-size:2.55rem; }
  .map-hero-preview{ height:330px; border-radius:10px; }
  .map-preview-caption{ flex-direction:column; gap:2px; }
  .map-primary-actions{ align-items:stretch; }
  .map-primary-actions .button{ flex:1 1 100%; justify-content:center; }
  .map-quick-stats{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .map-quick-stats > div{ min-width:0; padding:0 10px; text-align:center; }
  .map-content-section{ padding:21px 17px; }
  .map-section-heading-split{ align-items:flex-start; flex-direction:column; gap:8px; }
  .map-section-heading-split > p{ text-align:left; }
  .map-context-grid,.map-compare-stage,.map-related-grid,.map-sidebar-v19{ grid-template-columns:1fr; }
  .map-compare-form{ align-items:stretch; flex-direction:column; }
  .map-compare-controls{ width:100%; }
  .map-compare-preview{ height:250px; }
}


/* =========================================================
   MAP EXPERIENCE REFINEMENTS  -  19.1
   ========================================================= */
.map-primary-actions .map-text-button small{
  margin-left:7px;
  color:var(--gold-soft);
  font:600 .58rem var(--font-mono);
  letter-spacing:.05em;
  text-transform:uppercase;
}
.map-quick-stats > div{ min-width:0; }
.map-quick-stats strong{
  display:block;
  max-width:155px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* The timeline remains intentionally honest until verified historical
   relationships are available. No unrelated same-year records are shown. */
.map-coming-soon{
  display:flex;
  align-items:center;
  gap:18px;
  min-height:126px;
  padding:24px;
  border:1px dashed color-mix(in srgb, var(--gold-4) 35%, transparent);
  border-radius:10px;
  background:
    radial-gradient(circle at 9% 50%,color-mix(in srgb, var(--gold-4) 13%, transparent),transparent 20%),
    color-mix(in srgb, var(--n2) 50%, transparent);
}
.map-coming-soon-icon{
  display:grid;
  place-items:center;
  flex:0 0 50px;
  width:50px;
  height:50px;
  border:1px solid color-mix(in srgb, var(--gold-4) 40%, transparent);
  border-radius:50%;
  background:color-mix(in srgb, var(--gold-4) 9%, transparent);
  color:var(--gold-soft);
  font-size:1.25rem;
}
.map-coming-soon strong{ display:block; color:var(--ink); font-size:1rem; }
.map-coming-soon p{ max-width:680px; margin:5px 0 0; color:var(--ink-faint); font-size:.78rem; line-height:1.6; }

/* Full-library compare picker and information panels. */
.map-compare-form{
  align-items:center;
  padding:18px;
}
.map-compare-picker-copy{
  min-width:190px;
}
.map-compare-picker-copy strong{ display:block; color:var(--ink); font-size:.79rem; }
.map-compare-picker-copy span{ display:block; margin-top:3px; color:var(--ink-faint); font-size:.67rem; }
.map-compare-controls{
  display:grid;
  grid-template-columns:minmax(170px,.78fr) minmax(230px,1.35fr) auto;
  width:min(720px,72%);
}
.map-compare-search,
.map-compare-controls select{
  min-width:0;
  width:100%;
  height:44px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--n3);
  color:var(--ink);
  font-size:.74rem;
}
.map-compare-search{ padding:0 13px; }
.map-compare-search::placeholder{ color:var(--ink-faint); }
.map-compare-search:focus,
.map-compare-controls select:focus{ border-color:var(--gold); outline:none; box-shadow:0 0 0 2px color-mix(in srgb, var(--gold-4) 10%, transparent); }
.map-compare-pane{ display:flex; flex-direction:column; }
.map-compare-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:0;
  padding:5px 14px 14px;
  border-top:1px solid var(--border-soft);
}
.map-compare-facts > div{
  min-width:0;
  padding:12px 10px;
  border-bottom:1px solid var(--border-soft);
}
.map-compare-facts > div:nth-last-child(-n+2){ border-bottom:0; }
.map-compare-facts dt{
  color:var(--ink-faint);
  font:500 .56rem var(--font-mono);
  letter-spacing:.07em;
  text-transform:uppercase;
}
.map-compare-facts dd{
  margin:4px 0 0;
  overflow-wrap:anywhere;
  color:var(--ink);
  font-size:.72rem;
  line-height:1.45;
}
.map-compare-empty{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:16px;
  padding:22px;
  border:1px dashed var(--border);
  border-radius:9px;
  background:color-mix(in srgb, var(--n2) 42%, transparent);
}
.map-compare-empty strong{ color:var(--ink); font-size:.82rem; }
.map-compare-empty span{ max-width:560px; color:var(--ink-faint); font-size:.72rem; text-align:right; }
.map-related-library-link{
  display:inline-flex;
  margin-top:18px;
  color:var(--gold-soft);
  font-size:.72rem;
  font-weight:600;
}

/* Labels drawn inside the SVG were easy to clip at the viewport edge. The
   page title already identifies the map, so previews now remain clean. */
.preview-label{ display:none!important; }

@media (max-width:1050px){
  .map-compare-form{ align-items:stretch; flex-direction:column; }
  .map-compare-controls{ width:100%; }
}
@media (max-width:720px){
  .map-coming-soon{ align-items:flex-start; padding:19px; }
  .map-compare-controls{ grid-template-columns:1fr; }
  .map-compare-controls .button{ width:100%; }
  .map-compare-facts{ grid-template-columns:1fr; }
  .map-compare-facts > div:nth-last-child(-n+2){ border-bottom:1px solid var(--border-soft); }
  .map-compare-facts > div:last-child{ border-bottom:0; }
  .map-compare-empty{ align-items:flex-start; flex-direction:column; }
  .map-compare-empty span{ text-align:left; }
  .map-quick-stats strong{ max-width:110px; font-size:.86rem; }
}

/* =========================================================
   MODERN COUNTRY COMPARISON  -  19.2
   ========================================================= */
.map-compare-launch-form{
  display:grid;
  grid-template-columns:minmax(210px,.8fr) minmax(280px,1.35fr) auto;
  align-items:end;
  gap:14px;
  padding:20px;
  border:1px solid var(--border);
  border-radius:10px;
  background:linear-gradient(145deg,color-mix(in srgb, var(--n3) 80%, transparent),color-mix(in srgb, var(--n2) 78%, transparent));
}
.map-compare-launch-form label{ min-width:0; }
.map-compare-launch-form label span{
  display:block;
  color:var(--ink);
  font-size:.78rem;
  font-weight:700;
  line-height:1.45;
}
.map-compare-launch-form select{
  width:100%;
  height:46px;
  min-width:0;
  padding:0 42px 0 14px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--n3);
  color:var(--ink);
  font-size:.76rem;
}
.map-compare-launch-form select:focus{
  border-color:var(--gold);
  outline:none;
  box-shadow:0 0 0 2px color-mix(in srgb, var(--gold-4) 10%, transparent);
}
.map-compare-launch-form .button{ min-height:46px; white-space:nowrap; }

.country-compare-page{ min-height:70vh; background:var(--bg); }
.country-compare-hero{
  padding:46px 0 34px;
  border-bottom:1px solid var(--border-soft);
  background:
    radial-gradient(circle at 24% 16%,color-mix(in srgb, var(--gold-4) 8%, transparent),transparent 28%),
    linear-gradient(180deg,var(--n3) 0%,var(--n2) 100%);
}
.country-compare-heading{
  display:flex;
  justify-content:space-between;
  gap:30px;
  margin-top:25px;
}
.country-compare-eyebrow{
  display:block;
  margin-bottom:8px;
  color:var(--gold);
  font:600 .65rem var(--font-mono);
  letter-spacing:.11em;
  text-transform:uppercase;
}
.country-compare-heading h1{
  margin:0;
  max-width:900px;
  font-size:clamp(2.25rem,4vw,4.25rem);
  line-height:1.02;
  letter-spacing:-.045em;
}
.country-compare-heading p{
  max-width:700px;
  margin:16px 0 0;
  color:var(--ink-dim);
  font-size:.94rem;
  line-height:1.7;
}
.country-compare-picker{
  display:grid;
  grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr) auto;
  align-items:end;
  gap:14px;
  margin-top:30px;
  padding:18px;
  border:1px solid var(--border);
  border-radius:11px;
  background:color-mix(in srgb, var(--n3) 82%, transparent);
}
.country-picker-field label{
  display:block;
  margin-bottom:7px;
  color:var(--ink-faint);
  font:500 .62rem var(--font-mono);
  letter-spacing:.07em;
  text-transform:uppercase;
}
.country-picker-field select{
  width:100%;
  height:48px;
  padding:0 42px 0 14px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--n3);
  color:var(--ink);
  font-size:.78rem;
}
.country-picker-field select:focus{
  border-color:var(--gold);
  outline:none;
  box-shadow:0 0 0 2px color-mix(in srgb, var(--gold-4) 10%, transparent);
}
.country-picker-versus{
  display:grid;
  place-items:center;
  height:48px;
  color:var(--gold-soft);
  font:700 .68rem var(--font-mono);
  letter-spacing:.08em;
}
.country-compare-picker .button{ min-height:48px; white-space:nowrap; }
.country-compare-error{
  margin-top:12px;
  padding:11px 14px;
  border:1px solid color-mix(in srgb, var(--bad-1) 34%, transparent);
  border-radius:7px;
  background:color-mix(in srgb, var(--bad-1) 7%, transparent);
  color:var(--bad-1);
  font-size:.74rem;
}
.country-compare-content{ padding:34px 0 72px; }
.country-map-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.country-map-panel{
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--n3);
}
.country-map-panel-head{
  padding:17px 20px;
  border-bottom:1px solid var(--border-soft);
}
.country-map-panel-head span{
  display:block;
  color:var(--gold);
  font:600 .58rem var(--font-mono);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.country-map-panel-head h2{
  margin:5px 0 0;
  font-size:1.2rem;
  line-height:1.25;
}
.country-compare-preview{
  height:430px;
  border:0;
  border-radius:0;
  background:
    radial-gradient(circle at 50% 50%,color-mix(in srgb, var(--gold-4) 6%, transparent),transparent 30%),
    var(--n3);
}
.country-data-comparison{
  margin-top:24px;
  padding:26px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--n3);
}
.country-data-heading span{
  color:var(--gold);
  font:600 .6rem var(--font-mono);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.country-data-heading h2{ margin:5px 0 20px; font-size:1.55rem; }
.country-data-table{
  overflow:hidden;
  border:1px solid var(--border-soft);
  border-radius:9px;
}
.country-data-row{
  display:grid;
  grid-template-columns:minmax(180px,.7fr) repeat(2,minmax(0,1fr));
  border-top:1px solid var(--border-soft);
}
.country-data-row:first-child{ border-top:0; }
.country-data-row > div{
  min-width:0;
  padding:17px 18px;
  border-left:1px solid var(--border-soft);
  color:var(--ink);
  font-size:.78rem;
  line-height:1.55;
  overflow-wrap:anywhere;
}
.country-data-row > div:first-child{ border-left:0; }
.country-data-header{
  background:color-mix(in srgb, var(--gold-4) 6.5%, transparent);
}
.country-data-header > div{
  color:var(--gold-soft);
  font-size:.73rem;
  font-weight:700;
}
.country-data-label{
  background:color-mix(in srgb, var(--n2) 38%, transparent);
  color:var(--ink-dim)!important;
  font-weight:600;
}
.country-data-row small{
  display:block;
  margin-top:4px;
  color:var(--ink-faint);
  font:500 .55rem var(--font-mono);
}
.country-data-source-note{
  margin:14px 0 0;
  color:var(--ink-faint);
  font-size:.65rem;
  line-height:1.55;
}

@media(max-width:900px){
  .country-compare-picker{ grid-template-columns:1fr 34px 1fr; }
  .country-compare-picker .button{ grid-column:1/-1; width:100%; justify-content:center; }
  .country-map-grid{ grid-template-columns:1fr; }
  .country-compare-preview{ height:390px; }
}
@media(max-width:720px){
  .map-compare-launch-form{ grid-template-columns:1fr; align-items:stretch; }
  .map-compare-launch-form .button{ width:100%; justify-content:center; }
  .country-compare-hero{ padding-top:32px; }
  .country-compare-picker{ grid-template-columns:1fr; }
  .country-picker-versus{ height:auto; padding:2px 0; }
  .country-compare-picker .button{ grid-column:auto; }
  .country-compare-preview{ height:310px; }
  .country-data-comparison{ padding:17px; }
  .country-data-table{ border:0; overflow:visible; }
  .country-data-header{ display:none; }
  .country-data-row{
    grid-template-columns:1fr;
    margin-top:12px;
    border:1px solid var(--border-soft);
    border-radius:8px;
    overflow:hidden;
  }
  .country-data-row > div{
    border-left:0;
    border-top:1px solid var(--border-soft);
  }
  .country-data-row > div:first-child{ border-top:0; }
  .country-data-row > div:nth-child(2)::before,
  .country-data-row > div:nth-child(3)::before{
    display:block;
    margin-bottom:5px;
    color:var(--gold-soft);
    font:600 .55rem var(--font-mono);
    letter-spacing:.06em;
    text-transform:uppercase;
  }
  .country-data-row > div:nth-child(2)::before{ content:"Country one"; }
  .country-data-row > div:nth-child(3)::before{ content:"Country two"; }
}


/* ========================================================================== 
   THEME 19.12.6  -  consistent active navigation state
   ========================================================================== */
.desktop-nav > a.is-current,
.desktop-nav > li.current-menu-item > a,
.desktop-nav > li.current_page_item > a,
.desktop-nav > li.current-menu-ancestor > a,
.desktop-nav .histriphy-compare-nav-link.is-current,
.desktop-nav .histriphy-compare-menu-item.current-menu-item > a,
.mobile-nav > a.is-current,
.mobile-nav > li.current-menu-item > a,
.mobile-nav > li.current_page_item > a,
.mobile-nav .histriphy-compare-nav-link.is-current,
.mobile-nav .histriphy-compare-menu-item.current-menu-item > a{
  color:var(--gold);
}

.desktop-nav > a.is-current,
.desktop-nav > li.current-menu-item > a,
.desktop-nav > li.current_page_item > a,
.desktop-nav > li.current-menu-ancestor > a,
.desktop-nav .histriphy-compare-nav-link.is-current,
.desktop-nav .histriphy-compare-menu-item.current-menu-item > a{
  position:relative;
}

.desktop-nav > a.is-current::after,
.desktop-nav > li.current-menu-item > a::after,
.desktop-nav > li.current_page_item > a::after,
.desktop-nav > li.current-menu-ancestor > a::after,
.desktop-nav .histriphy-compare-nav-link.is-current::after,
.desktop-nav .histriphy-compare-menu-item.current-menu-item > a::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:-11px;
  height:2px;
  border-radius:99px;
  background:var(--gold);
}

/* 19.4  -  robust country framing and island-safe previews */
.map-preview[aria-busy="true"] .map-preview-fallback{ opacity:.5; animation:histriphy-preview-pulse 1.15s ease-in-out infinite; }
.map-preview.has-preview-error .map-preview-fallback{ opacity:.72; }
.map-preview-svg{ overflow:hidden; }
@keyframes histriphy-preview-pulse{ 0%,100%{ opacity:.32; transform:scale(.96); } 50%{ opacity:.72; transform:scale(1); } }
@media (prefers-reduced-motion:reduce){ .map-preview[aria-busy="true"] .map-preview-fallback{ animation:none; } }


/* ========================================================================== 
   THEME 19.5  -  move Uploads out of the header and into one footer dropdown
   ========================================================================== */
.footer-nav{ align-items:center; }
.footer-nav .footer-upload-dropdown{
  display:inline-flex;
  align-items:center;
  position:relative;
}
.footer-nav .footer-upload-dropdown .nav-dropdown-label{
  color:var(--ink-dim);
  font-size:.88rem;
  line-height:1.4;
}
.footer-nav .footer-upload-dropdown .nav-dropdown-label:hover,
.footer-nav .footer-upload-dropdown.is-open .nav-dropdown-label,
.footer-nav .footer-upload-dropdown:focus-within .nav-dropdown-label{
  color:var(--gold);
}
.footer-nav .footer-upload-dropdown .nav-dropdown-menu{
  top:auto;
  bottom:calc(100% + 12px);
  left:50%;
  margin:0;
  min-width:190px;
  transform:translate(-50%, 5px);
}
.footer-nav .footer-upload-dropdown.is-open .nav-dropdown-menu,
.footer-nav .footer-upload-dropdown:hover .nav-dropdown-menu,
.footer-nav .footer-upload-dropdown:focus-within .nav-dropdown-menu{
  opacity:1;
  visibility:visible;
  transform:translate(-50%, 0);
}
.footer-nav .footer-upload-dropdown .nav-dropdown-menu::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:12px;
}
@media (max-width:700px){
  .footer-nav .footer-upload-dropdown .nav-dropdown-menu{
    left:0;
    transform:translate(0, 5px);
  }
  .footer-nav .footer-upload-dropdown.is-open .nav-dropdown-menu,
  .footer-nav .footer-upload-dropdown:hover .nav-dropdown-menu,
  .footer-nav .footer-upload-dropdown:focus-within .nav-dropdown-menu{
    transform:translate(0, 0);
  }
}


/* ========================================================================== 
   THEME 19.8  -  focused country zoom and compliant builder attribution
   ========================================================================== */
.map-hero-preview.is-country-zooming .map-preview-svg{
  display:block;
}
.map-hero-preview .map-zoom-target{
  fill:none;
  stroke:var(--gold-soft);
  stroke-width:2;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 0 7px color-mix(in srgb, var(--gold-4) 90%, transparent));
  transform-box:fill-box;
  transform-origin:center;
  animation:histriphy-map-target-pulse .9s ease-in-out infinite;
  pointer-events:none;
}
@keyframes histriphy-map-target-pulse{
  0%,100%{ transform:scale(.72); stroke-opacity:.35; }
  50%{ transform:scale(1.45); stroke-opacity:1; }
}
@media (prefers-reduced-motion:reduce){
  .map-hero-preview .map-zoom-target{ animation:none; }
}

/* =========================================================
   ACCOUNT SECURITY & PROFESSIONAL AUTHENTICATION  -  v19.9
   ========================================================= */
.auth-page{
  position:relative;
  min-height:calc(100vh - 74px);
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 16% 16%, color-mix(in srgb, var(--gold-4) 10%, transparent), transparent 30%),
    radial-gradient(circle at 88% 18%, color-mix(in srgb, var(--n10) 13%, transparent), transparent 34%),
    linear-gradient(180deg,var(--n2) 0%,var(--n2) 100%);
}
.auth-shell{ position:relative; width:min(1240px,calc(100% - 40px)); margin:0 auto; padding:58px 0 72px; }
.auth-atmosphere{
  position:absolute; inset:-80px -10vw auto; height:520px; z-index:-1; pointer-events:none;
  background:
    linear-gradient(color-mix(in srgb, var(--info-2) 5.5%, transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb, var(--info-2) 5.5%, transparent) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),transparent 86%);
}
.auth-layout{
  display:grid; grid-template-columns:minmax(0,1.03fr) minmax(410px,.78fr);
  min-height:670px; overflow:hidden; border:1px solid color-mix(in srgb, var(--info-2) 25%, transparent); border-radius:20px;
  background:color-mix(in srgb, var(--n3) 88%, transparent); box-shadow:0 35px 95px rgba(0,0,0,.43),inset 0 1px color-mix(in srgb, var(--n24) 3%, transparent);
}
.auth-story-panel{
  position:relative; display:flex; flex-direction:column; justify-content:space-between; min-width:0; padding:58px 56px 34px;
  background:
    radial-gradient(circle at 70% 24%,color-mix(in srgb, var(--gold-4) 18%, transparent),transparent 31%),
    linear-gradient(145deg,color-mix(in srgb, var(--n4) 96%, transparent),color-mix(in srgb, var(--n2) 95%, transparent));
  border-right:1px solid color-mix(in srgb, var(--n11) 22%, transparent);
}
.auth-story-panel:before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.42;
  background:linear-gradient(120deg,transparent 20%,color-mix(in srgb, var(--n24) 2.8%, transparent) 50%,transparent 72%);
}
.auth-story-content,.auth-story-foot{ position:relative; z-index:1; }
.auth-eyebrow,.security-panel-kicker{
  display:inline-flex; align-items:center; gap:9px; color:var(--gold-soft); font:600 .69rem/1 var(--font-mono);
  letter-spacing:.14em; text-transform:uppercase;
}
.auth-eyebrow>span{ width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 16px color-mix(in srgb, var(--gold-4) 70%, transparent); }
.auth-story-panel h1{ max-width:690px; margin:25px 0 19px; color:var(--info-1); font-size:clamp(2.25rem,4vw,4rem); line-height:1.02; letter-spacing:-.055em; }
.auth-story-panel>div>p,.auth-story-content>p{ max-width:610px; margin:0; color:var(--n18); font-size:1rem; line-height:1.8; }
.auth-trust-list{ display:grid; gap:14px; margin-top:38px; max-width:650px; }
.auth-trust-list>div{ display:grid; grid-template-columns:42px 1fr; gap:14px; align-items:center; padding:14px 15px; border:1px solid color-mix(in srgb, var(--n11) 18%, transparent); border-radius:12px; background:color-mix(in srgb, var(--n2) 32%, transparent); }
.auth-trust-icon{ display:grid; place-items:center; width:42px;height:42px;border-radius:10px;background:color-mix(in srgb, var(--gold-4) 10%, transparent);border:1px solid color-mix(in srgb, var(--gold-4) 20%, transparent); }
.auth-trust-icon svg,.auth-step-icon svg,.auth-security-note svg,.session-device-icon svg,.security-status-icon svg{ width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.auth-trust-icon{ color:var(--gold-soft); }
.auth-trust-list strong{ display:block; color:var(--info-1); font-size:.88rem; }
.auth-trust-list small{ display:block; margin-top:4px; color:var(--n14); line-height:1.45; }
.auth-story-foot{ display:flex; flex-wrap:wrap; gap:9px 22px; padding-top:28px; border-top:1px solid color-mix(in srgb, var(--n11) 17%, transparent); color:var(--n13); font-size:.72rem; }
.auth-story-foot span:before{ content:"";display:inline-block;width:5px;height:5px;margin:0 8px 1px 0;border-radius:50%;background:var(--gold); }
.auth-form-panel{ display:flex; align-items:center; padding:44px; background:color-mix(in srgb, var(--n2) 84%, transparent); }
.auth-form-card{ width:100%; max-width:470px; margin:auto; }
.auth-form-brand{ display:flex;align-items:center;gap:10px;margin-bottom:35px;color:var(--info-1);font-weight:700; }
.auth-form-brand .brand-mark{ display:grid;place-items:center;width:34px;height:34px;border-radius:50%;overflow:hidden;background:var(--gold); }
.auth-form-brand img{ width:100%;height:100%;object-fit:cover; }
.auth-form-heading{ margin-bottom:25px; }
.auth-form-heading h1,.auth-form-heading h2{ margin:8px 0 8px; color:var(--info-1); font-size:clamp(1.75rem,3vw,2.35rem); line-height:1.12; letter-spacing:-.04em; }
.auth-form-heading p{ margin:0; color:var(--n15); line-height:1.65; }
.auth-kicker{ color:var(--gold); font:600 .68rem/1 var(--font-mono); letter-spacing:.14em; text-transform:uppercase; }
.auth-step-icon{ display:grid;place-items:center;width:46px;height:46px;margin-bottom:18px;border:1px solid color-mix(in srgb, var(--gold-4) 25%, transparent);border-radius:12px;color:var(--gold-soft);background:color-mix(in srgb, var(--gold-4) 8%, transparent); }
.auth-form{ display:grid; gap:17px; }
.auth-field{ min-width:0; }
.auth-field>label,.auth-label-row label{ display:block;margin-bottom:8px;color:var(--info-1);font-size:.78rem;font-weight:600; }
.auth-label-row{ display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px; }
.auth-label-row label{ margin:0; }
.auth-label-row>a,.auth-label-row>span{ color:var(--n14);font-size:.73rem; }
.auth-label-row>a:hover{ color:var(--gold-soft); }
.auth-input-wrap{ position:relative;display:flex;align-items:center; }
.auth-input-wrap input,.security-form input,.account-field input{
  width:100%; min-height:50px; border:1px solid var(--n6); border-radius:10px; outline:none; color:var(--info-1);
  background:var(--n3); padding:0 46px; font:500 .88rem var(--font-body); transition:border-color .16s,box-shadow .16s,background .16s;
}
.auth-input-wrap input::placeholder,.security-form input::placeholder{ color:var(--n10); }
.auth-input-wrap input:focus,.security-form input:focus,.account-field input:focus{ border-color:color-mix(in srgb, var(--gold-4) 72%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--gold-4) 11%, transparent);background:var(--n3); }
.auth-input-icon{ position:absolute;left:15px;z-index:1;display:grid;place-items:center;color:var(--n11);pointer-events:none; }
.auth-input-icon svg{ width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.auth-password-toggle{ position:absolute;right:8px;display:grid;place-items:center;width:35px;height:35px;padding:0;border:0;border-radius:8px;color:var(--n13);background:transparent;cursor:pointer; }
.auth-password-toggle:hover,.auth-password-toggle.is-revealing{ color:var(--gold-soft);background:color-mix(in srgb, var(--gold-4) 8%, transparent); }
.auth-password-toggle svg{ width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7; }
.auth-code-wrap input{ font-family:var(--font-mono);letter-spacing:.28em;font-size:1.08rem; }
.auth-check{ display:flex;align-items:flex-start;gap:10px;color:var(--n16);font-size:.77rem;line-height:1.5;cursor:pointer; }
.auth-check input{ width:16px;height:16px;margin:2px 0 0;accent-color:var(--gold); }
.auth-check a{ color:var(--gold-soft); }
.auth-submit{ min-height:51px!important;border-radius:10px!important;display:flex!important;align-items:center;justify-content:center;gap:10px;font-weight:700!important; }
.auth-submit svg{ width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .15s; }
.auth-submit:hover svg{ transform:translateX(3px); }
.auth-submit.is-loading{ cursor:wait;opacity:.72; }
.auth-secondary-action{ width:100%;min-height:49px;display:flex!important;align-items:center;justify-content:center;border-radius:10px!important; }
.auth-form-divider{ display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--n11);font-size:.7rem; }
.auth-form-divider:before,.auth-form-divider:after{ content:"";height:1px;flex:1;background:var(--n5); }
.auth-google-form{display:grid;gap:13px;margin:0}
.auth-google-button{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:51px;padding:0 18px;border:1px solid var(--n7);border-radius:10px;background:var(--n23);color:var(--n4);font:700 .86rem var(--font-body);cursor:pointer;box-shadow:0 5px 18px rgba(0,0,0,.16);transition:transform .15s,border-color .15s,box-shadow .15s,background .15s}
.auth-google-button:hover{transform:translateY(-1px);border-color:var(--n11);background:var(--n24);box-shadow:0 8px 24px rgba(0,0,0,.22)}
.auth-google-button:focus-visible{outline:3px solid color-mix(in srgb, var(--gold-4) 32%, transparent);outline-offset:2px}
.auth-google-icon{display:grid;place-items:center;width:21px;height:21px;flex:0 0 21px}
.auth-google-icon svg{display:block;width:21px;height:21px}
.auth-provider-divider{margin:18px 0}
.auth-google-register .auth-terms{margin-bottom:2px}
.auth-security-note{ display:flex;gap:9px;align-items:flex-start;margin:21px 0 0;color:var(--n11);font-size:.69rem;line-height:1.55; }
.auth-security-note svg{ flex:0 0 auto;width:16px;height:16px;margin-top:1px;color:var(--n14); }
.auth-back-link{ display:inline-block;margin-top:19px;color:var(--n16);font-size:.78rem; }
.auth-back-link:hover{ color:var(--gold-soft); }
.auth-notice{ display:flex;gap:10px;align-items:flex-start;margin:0 0 18px;padding:12px 13px;border:1px solid;border-radius:10px;font-size:.78rem;line-height:1.5; }
.auth-notice span{ flex:0 0 7px;width:7px;height:7px;margin-top:5px;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor; }
.auth-notice p{ margin:0; }
.auth-notice.is-error{ color:var(--bad-1);border-color:color-mix(in srgb, var(--bad-1) 25%, transparent);background:color-mix(in srgb, var(--bad-1) 7%, transparent); }
.auth-notice.is-success{ color:var(--ok-1);border-color:color-mix(in srgb, var(--ok-1) 23%, transparent);background:color-mix(in srgb, var(--ok-1) 7%, transparent); }
.auth-notice.is-info{ color:var(--info-1);border-color:color-mix(in srgb, var(--info-2) 24%, transparent);background:color-mix(in srgb, var(--info-2) 8%, transparent); }
.auth-honeypot{ position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important; }
.auth-password-meter{ display:grid;grid-template-columns:repeat(4,1fr) auto;gap:5px;align-items:center;margin-top:9px; }
.auth-password-meter>span{ height:3px;border-radius:10px;background:var(--n5);transition:background .18s,box-shadow .18s; }
.auth-password-meter strong{ min-width:65px;text-align:right;color:var(--n13);font-size:.66rem;font-weight:600; }
.auth-password-meter[data-score="1"]>span:nth-child(-n+1){background:var(--bad-1)}.auth-password-meter[data-score="1"] strong{color:var(--bad-1)}
.auth-password-meter[data-score="2"]>span:nth-child(-n+2){background:var(--gold-4)}.auth-password-meter[data-score="2"] strong{color:var(--gold-4)}
.auth-password-meter[data-score="3"]>span:nth-child(-n+3){background:var(--gold-4)}.auth-password-meter[data-score="3"] strong{color:var(--gold-soft)}
.auth-password-meter[data-score="4"]>span:nth-child(-n+4){background:var(--ok-1);box-shadow:0 0 8px color-mix(in srgb, var(--ok-1) 25%, transparent)}.auth-password-meter[data-score="4"] strong{color:var(--ok-1)}
.auth-password-rules{ display:grid;gap:5px;margin:10px 0 0;padding:0;list-style:none;color:var(--n12);font-size:.68rem; }
.auth-password-rules li:before{ content:"○";margin-right:7px; }
.auth-password-rules li.is-met{ color:var(--ok-1); }.auth-password-rules li.is-met:before{ content:"✓"; }
.auth-field-status{ display:block;min-height:17px;margin-top:6px;color:var(--n13);font-size:.67rem; }
.auth-field-status.is-valid{ color:var(--ok-1); }.auth-field-status.is-invalid{ color:var(--bad-1); }
.auth-benefit-grid{ display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:36px;max-width:610px; }
.auth-benefit-grid>div{ padding:16px;border:1px solid color-mix(in srgb, var(--n12) 18%, transparent);border-radius:12px;background:color-mix(in srgb, var(--n2) 26%, transparent); }
.auth-benefit-grid strong{ display:block;color:var(--gold-soft);font-size:1.28rem; }.auth-benefit-grid span{ display:block;margin-top:4px;color:var(--n13);font-size:.72rem; }
.auth-quote{ display:flex;gap:13px;align-items:flex-start;margin-top:22px;padding:17px 18px;border-left:2px solid var(--gold);background:color-mix(in srgb, var(--gold-4) 5%, transparent); }
.auth-quote svg{ flex:0 0 auto;width:22px;height:22px;fill:var(--gold);opacity:.68; }.auth-quote p{ margin:0;color:var(--n17)!important;font-size:.82rem!important;line-height:1.55!important; }
.auth-compact-page{ display:grid;place-items:center; }
.auth-compact-layout{ display:grid;place-items:center;min-height:620px; }
.auth-compact-card{ max-width:520px;padding:38px;border:1px solid color-mix(in srgb, var(--n11) 24%, transparent);border-radius:18px;background:color-mix(in srgb, var(--n3) 94%, transparent);box-shadow:0 28px 80px rgba(0,0,0,.38); }

/* Account security area */
.account-security-intro{ display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;margin-bottom:20px;padding:26px;border:1px solid color-mix(in srgb, var(--gold-4) 22%, transparent);border-radius:15px;background:radial-gradient(circle at 90% 20%,color-mix(in srgb, var(--gold-4) 11%, transparent),transparent 35%),var(--n3); }
.account-security-intro h2{ margin:8px 0!important; }.account-security-intro p{ margin:0;color:var(--ink-dim);line-height:1.65; }
.security-score{ display:grid;place-items:center;width:112px;height:112px;border-radius:50%;border:1px solid color-mix(in srgb, var(--gold-4) 28%, transparent);background:color-mix(in srgb, var(--n2) 52%, transparent);box-shadow:inset 0 0 0 8px color-mix(in srgb, var(--gold-4) 3.5%, transparent);text-align:center; }
.security-score strong{ display:block;color:var(--gold-soft);font-size:1.55rem; }.security-score span{color:var(--n13);font-size:.62rem;text-transform:uppercase;letter-spacing:.1em}
.security-summary-grid{ display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px; }
.security-summary-card{ display:flex;gap:12px;align-items:center;padding:16px;border:1px solid var(--n5);border-radius:12px;background:var(--n3); }
.security-summary-card strong{ display:block;color:var(--info-1);font-size:.82rem; }.security-summary-card span:not(.security-status-icon){display:block;margin-top:3px;color:var(--n12);font-size:.67rem}
.security-status-icon{ display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;border-radius:10px;color:var(--n13);background:var(--n4); }
.security-status-icon.is-good{ color:var(--ok-1);background:color-mix(in srgb, var(--ok-1) 9%, transparent); }.security-status-icon.is-warn{ color:var(--gold-4);background:color-mix(in srgb, var(--gold-4) 9%, transparent); }
.security-panel{ margin-top:16px;padding:24px;border:1px solid var(--n5);border-radius:14px;background:var(--n3); }
.security-panel-head{ display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:21px; }
.security-panel-head h3{ margin:6px 0 7px!important;font-size:1.2rem!important; }.security-panel-head p{max-width:720px;margin:0;color:var(--n13);font-size:.76rem;line-height:1.6}
.security-state-badge{ flex:0 0 auto;padding:7px 10px;border:1px solid var(--n6);border-radius:100px;color:var(--n15);background:var(--n3);font-size:.65rem;font-weight:700; }
.security-state-badge.is-enabled{ color:var(--ok-1);border-color:color-mix(in srgb, var(--ok-1) 28%, transparent);background:color-mix(in srgb, var(--ok-1) 7%, transparent); }
.security-form{ display:grid;gap:15px; }.security-form-grid{ display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px; }.security-form-grid .is-full{ grid-column:1/-1; }
.security-form label,.account-field label{ display:block;margin-bottom:7px;color:var(--n19);font-size:.73rem;font-weight:600; }
.account-form-actions{ display:flex;justify-content:flex-end;margin-top:18px; }
.two-factor-setup-steps{ display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:17px; }
.two-factor-setup-steps>div{ display:flex;gap:10px;padding:13px;border:1px solid var(--n5);border-radius:11px;background:var(--n3); }
.two-factor-setup-steps>div>span{ display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:50%;color:var(--n3);background:var(--gold);font-size:.69rem;font-weight:800; }
.two-factor-setup-steps p{ margin:0;color:var(--n13);font-size:.68rem;line-height:1.45; }.two-factor-setup-steps strong{ display:block;color:var(--info-1);font-size:.72rem;margin-bottom:3px; }
.two-factor-secret{ display:flex;gap:9px;align-items:center;padding:13px;border:1px dashed color-mix(in srgb, var(--gold-4) 30%, transparent);border-radius:11px;background:color-mix(in srgb, var(--gold-4) 4.5%, transparent); }
.two-factor-secret>div{ flex:1;min-width:0; }.two-factor-secret span{display:block;color:var(--n15);font-size:.64rem}.two-factor-secret code{display:block;margin-top:4px;color:var(--gold-soft);font-size:.8rem;letter-spacing:.08em;word-break:break-all}
.inline-security-form{ grid-template-columns:1fr 1fr auto;align-items:end;margin-top:15px; }.compact-security-form{ padding:17px;border:1px solid var(--n5);border-radius:12px;background:var(--n3); }.compact-security-form h4{margin:0;color:var(--info-1)}.compact-security-form p{margin:5px 0 10px;color:var(--n13);font-size:.7rem}.compact-security-form.is-danger{border-color:color-mix(in srgb, var(--bad-1) 22%, transparent)}
.two-factor-action-grid{ display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px; }.two-factor-enabled-summary{margin-bottom:15px}.two-factor-enabled-summary>div{display:flex;gap:12px;align-items:center}.two-factor-enabled-summary strong{color:var(--info-1)}.two-factor-enabled-summary p{margin:3px 0 0;color:var(--n13);font-size:.72rem}
.recovery-code-panel{ border-color:color-mix(in srgb, var(--gold-4) 35%, transparent);background:linear-gradient(145deg,color-mix(in srgb, var(--gold-4) 8%, transparent),var(--n3) 48%); }.recovery-codes{ display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:15px 0; }.recovery-codes code{padding:10px;border:1px solid var(--n6);border-radius:8px;background:var(--n2);color:var(--gold-5);text-align:center;font-size:.75rem;letter-spacing:.08em}
.session-list,.security-activity-list{ display:grid;gap:9px; }.session-item,.security-activity-item{ display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--n5);border-radius:10px;background:var(--n3); }
.session-device-icon{ display:grid;place-items:center;width:38px;height:38px;border-radius:9px;color:var(--n14);background:var(--n4); }.session-item strong,.security-activity-item strong{color:var(--info-1);font-size:.76rem}.session-item p,.security-activity-item p{margin:3px 0 0;color:var(--n12);font-size:.66rem}.session-item>span:last-child,.security-activity-item time{color:var(--n11);font-size:.64rem;text-align:right}
.current-session-badge{display:inline-block;margin-left:7px;padding:3px 6px;border-radius:100px;color:var(--ok-1);background:color-mix(in srgb, var(--ok-1) 9%, transparent);font-size:.55rem;text-transform:uppercase;letter-spacing:.07em}.revoke-sessions-form{display:flex;gap:12px;align-items:end;margin-top:15px}.revoke-sessions-form .account-field{flex:1}
.activity-dot{ width:8px;height:8px;border-radius:50%;background:var(--n13) }.activity-dot.is-success{background:var(--ok-1);box-shadow:0 0 10px color-mix(in srgb, var(--ok-1) 35%, transparent)}.activity-dot.is-failed,.activity-dot.is-blocked{background:var(--bad-1)}.activity-dot.is-info{background:var(--info-2)}
.account-nav-security svg{ color:var(--n16); }.account-nav-security.is-active svg{ color:var(--gold)!important; }

@media (prefers-reduced-motion:no-preference){
  .auth-layout,.auth-compact-card{ animation:histriphyAuthEnter .34s ease-out both; }
  @keyframes histriphyAuthEnter{from{opacity:0;transform:translateY(10px) scale(.994)}to{opacity:1;transform:none}}
}
@media (max-width:980px){
  .auth-layout{ grid-template-columns:1fr; }.auth-story-panel{ min-height:auto;padding:38px;border-right:0;border-bottom:1px solid color-mix(in srgb, var(--n11) 22%, transparent) }.auth-story-panel h1{font-size:2.5rem}.auth-story-foot{display:none}.auth-form-panel{padding:38px}.security-summary-grid{grid-template-columns:1fr}.two-factor-setup-steps{grid-template-columns:1fr}.inline-security-form{grid-template-columns:1fr}.account-security-intro{grid-template-columns:1fr}.security-score{width:90px;height:90px}
}
@media (max-width:680px){
  .auth-shell{ width:min(100% - 22px,1240px);padding:22px 0 38px }.auth-layout{border-radius:14px}.auth-story-panel{padding:27px 23px}.auth-story-panel h1{font-size:2rem}.auth-trust-list{display:none}.auth-form-panel{padding:27px 21px}.auth-form-brand{margin-bottom:24px}.auth-benefit-grid{grid-template-columns:1fr 1fr}.auth-compact-layout{min-height:560px}.auth-compact-card{padding:25px 21px;border-radius:14px}.security-form-grid,.two-factor-action-grid,.recovery-codes{grid-template-columns:1fr}.security-panel{padding:18px}.security-panel-head{display:block}.security-state-badge{display:inline-block;margin-top:12px}.two-factor-secret{align-items:stretch;flex-direction:column}.session-item,.security-activity-item{grid-template-columns:auto 1fr}.session-item>span:last-child,.security-activity-item time{grid-column:2;text-align:left}.revoke-sessions-form{display:grid}.auth-check{font-size:.72rem}
}
/* Template compatibility aliases */
.security-overview-grid{ display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px; }
.security-overview-card{ display:flex;gap:12px;align-items:center;padding:16px;border:1px solid var(--n5);border-radius:12px;background:var(--n3); }
.security-overview-card small{ display:block;color:var(--n12);font-size:.62rem;text-transform:uppercase;letter-spacing:.08em; }
.security-overview-card strong{ display:block;margin-top:3px;color:var(--info-1);font-size:.86rem; }
.security-overview-card p{ margin:4px 0 0;color:var(--n12);font-size:.67rem;line-height:1.45; }
.recovery-codes-panel{ border-color:color-mix(in srgb, var(--gold-4) 35%, transparent);background:linear-gradient(145deg,color-mix(in srgb, var(--gold-4) 8%, transparent),var(--n3) 48%); }
.recovery-code-grid{ display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:15px; }
.recovery-code-grid code{ padding:10px;border:1px solid var(--n6);border-radius:8px;background:var(--n2);color:var(--gold-5);text-align:center;font-size:.75rem;letter-spacing:.08em; }
.security-password-wrap{ position:relative;display:flex;align-items:center; }
.security-password-wrap input{ padding-right:46px; }
.account-security-shortcut{ display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:18px;padding:15px;border:1px solid var(--n5);border-radius:12px;background:var(--n3); }
.account-security-shortcut>div{ display:flex;align-items:center;gap:12px;min-width:0; }
.account-security-shortcut strong{ display:block;color:var(--info-1);font-size:.78rem;overflow:hidden;text-overflow:ellipsis; }
.account-security-shortcut span:not(.security-status-icon){ display:block;margin-top:4px;color:var(--n12);font-size:.66rem; }
@media (max-width:980px){.security-overview-grid{grid-template-columns:1fr}}
@media (max-width:680px){.recovery-code-grid{grid-template-columns:1fr}.account-security-shortcut{align-items:stretch;flex-direction:column}}

/* Authenticator setup repair */
.two-factor-refresh-form{display:inline-flex;margin:0;}
.two-factor-secret{flex-wrap:wrap;}
.two-factor-secret .two-factor-refresh-form .button{white-space:nowrap;}


/* Authenticator QR setup */
.authy-setup-grid{display:grid;grid-template-columns:minmax(270px,.82fr) minmax(0,1.18fr);gap:16px;margin-bottom:18px;}
.authy-qr-card,.authy-manual-card{border:1px solid var(--n5);border-radius:14px;background:linear-gradient(145deg,var(--n3),var(--n3));padding:18px;}
.authy-qr-card{position:relative;overflow:hidden;}
.authy-qr-card:before{content:"";position:absolute;inset:-100px auto auto -80px;width:220px;height:220px;border-radius:50%;background:color-mix(in srgb, var(--gold-4) 10%, transparent);filter:blur(45px);pointer-events:none;}
.authy-qr-heading{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px;}
.authy-qr-heading span:first-child,.authy-manual-kicker{display:block;color:var(--gold);font-family:var(--font-mono);font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.authy-qr-heading strong{display:block;margin-top:3px;color:var(--info-1);font-size:1rem;}
.authy-qr-status{color:var(--n13);font-size:.62rem;text-align:right;}
.authy-qr-status.is-ready{color:var(--ok-1);}
.authy-qr-status.is-error{color:var(--bad-1);}
.authy-qr-frame{position:relative;display:grid;place-items:center;width:min(100%,246px);aspect-ratio:1;margin:0 auto;padding:13px;border-radius:13px;background:var(--n24);box-shadow:0 14px 38px rgba(0,0,0,.35),0 0 0 1px color-mix(in srgb, var(--n24) 8%, transparent);}
.authy-qr-frame canvas{display:block!important;width:220px!important;height:220px!important;max-width:100%!important;image-rendering:pixelated;}
.authy-qr-frame img{display:none!important;}
.authy-qr-frame svg{display:block;width:220px;height:220px;max-width:100%;}
.authy-qr-frame.is-error:after{content:"QR code could not be generated. Use the manual key instead.";display:grid;place-items:center;height:100%;padding:20px;color:var(--bad-2);background:var(--n24);text-align:center;font-size:.72rem;line-height:1.45;}
.authy-qr-warning{position:relative;margin:13px 0 0;color:var(--n15);font-size:.66rem;line-height:1.5;text-align:center;}
.authy-manual-card h4{margin:5px 0 6px;color:var(--info-1);font-size:1rem;}
.authy-manual-card>p{margin:0 0 15px;color:var(--n13);font-size:.7rem;line-height:1.55;}
.authy-manual-card .two-factor-secret{margin:0;align-items:center;}
.authy-setup-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px;}
@media(max-width:800px){.authy-setup-grid{grid-template-columns:1fr}.authy-qr-frame{width:min(100%,230px)}}

/* Editorial About and License pages */
.editorial-hero{position:relative;overflow:hidden;border-top:0;border-bottom:1px solid var(--border-soft);padding:86px 0 70px;background:radial-gradient(circle at 78% 20%,color-mix(in srgb, var(--gold-4) 10%, transparent),transparent 28%),linear-gradient(180deg,color-mix(in srgb, var(--n3) 42%, transparent),color-mix(in srgb, var(--n2) 0%, transparent));}
.editorial-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(color-mix(in srgb, var(--n14) 2.5%, transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb, var(--n14) 2.5%, transparent) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,var(--n1),transparent 88%);}
.editorial-shell{position:relative;z-index:1;max-width:1120px;}
.editorial-eyebrow,.editorial-label{display:block;color:var(--gold);font-family:var(--font-mono);font-size:.66rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;}
.editorial-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:72px;align-items:end;margin-top:22px;}
.editorial-hero h1{max-width:760px;margin:0;color:var(--ink);font-family:var(--font-display);font-size:clamp(2.55rem,5.2vw,4.75rem);line-height:.98;letter-spacing:-.045em;}
.editorial-hero-grid>div:first-child>p{max-width:720px;margin:28px 0 0;color:var(--ink-dim);font-size:1.04rem;line-height:1.8;}
.editorial-hero-note{padding:24px 25px;border:1px solid color-mix(in srgb, var(--gold-4) 25%, transparent);border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb, var(--gold-4) 9%, transparent),color-mix(in srgb, var(--n3) 86%, transparent));box-shadow:0 22px 60px rgba(0,0,0,.22);}
.editorial-hero-note strong{display:block;color:var(--ink);font-size:.92rem;}
.editorial-hero-note p{margin:10px 0 0;color:var(--ink-dim);font-size:.83rem;line-height:1.65;}
.editorial-section{padding:76px 0 96px;}
.editorial-intro-grid{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:72px;padding-bottom:62px;}
.editorial-intro-grid h2,.editorial-process-panel h2,.editorial-cta h2,.license-content h2,.license-summary-card h2{margin:10px 0 0;color:var(--ink);font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.1;letter-spacing:-.025em;}
.editorial-copy{color:var(--ink-dim);font-size:.95rem;line-height:1.85;}
.editorial-copy p{margin:0 0 18px;}
.editorial-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:12px 0 68px;}
.editorial-value-card{position:relative;min-height:245px;padding:29px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(150deg,color-mix(in srgb, var(--n4) 96%, transparent),color-mix(in srgb, var(--n3) 96%, transparent));box-shadow:0 18px 45px rgba(0,0,0,.14);}
.editorial-card-number{display:block;color:color-mix(in srgb, var(--gold-4) 70%, transparent);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.12em;}
.editorial-value-card h3{margin:50px 0 12px;color:var(--ink);font-family:var(--font-display);font-size:1.2rem;}
.editorial-value-card p{margin:0;color:var(--ink-dim);font-size:.82rem;line-height:1.7;}
.editorial-process-panel{display:grid;grid-template-columns:minmax(260px,.68fr) minmax(0,1.32fr);gap:70px;padding:38px;border:1px solid var(--border);border-radius:18px;background:radial-gradient(circle at 10% 10%,color-mix(in srgb, var(--gold-4) 8%, transparent),transparent 34%),var(--n3);}
.editorial-process-list{display:grid;gap:0;margin:0;padding:0;list-style:none;}
.editorial-process-list li{display:grid;grid-template-columns:38px 1fr;gap:16px;padding:19px 0;border-bottom:1px solid color-mix(in srgb, var(--n14) 13%, transparent);}
.editorial-process-list li:last-child{border-bottom:0;}
.editorial-process-list li>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid color-mix(in srgb, var(--gold-4) 40%, transparent);border-radius:50%;color:var(--gold);font-family:var(--font-mono);font-size:.68rem;}
.editorial-process-list strong{display:block;color:var(--ink);font-size:.88rem;}
.editorial-process-list p{margin:5px 0 0;color:var(--ink-dim);font-size:.76rem;line-height:1.55;}
.editorial-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:28px;padding:34px 38px;border:1px solid color-mix(in srgb, var(--gold-4) 28%, transparent);border-radius:18px;background:linear-gradient(105deg,color-mix(in srgb, var(--gold-4) 10%, transparent),color-mix(in srgb, var(--n3) 94%, transparent) 48%);}
.editorial-cta h2{font-size:1.75rem;}
.editorial-cta p{max-width:620px;margin:10px 0 0;color:var(--ink-dim);font-size:.84rem;line-height:1.65;}
.license-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:32px;align-items:start;}
.license-summary-card{position:sticky;top:110px;padding:28px;border:1px solid color-mix(in srgb, var(--gold-4) 26%, transparent);border-radius:16px;background:linear-gradient(150deg,color-mix(in srgb, var(--gold-4) 9%, transparent),var(--n3) 48%);}
.license-summary-card h2{font-size:1.65rem;}
.license-summary-card p{margin:16px 0 0;color:var(--ink-dim);font-size:.78rem;line-height:1.7;}
.license-summary-card a{display:inline-block;margin-top:24px;color:var(--gold);font-size:.75rem;font-weight:700;}
.license-content{display:grid;gap:18px;}
.license-rule-card{display:grid;grid-template-columns:44px 1fr;gap:19px;padding:30px;border:1px solid var(--border);border-radius:16px;background:var(--n3);}
.license-rule-card.is-allowed{border-color:color-mix(in srgb, var(--ok-1) 25%, transparent);}
.license-rule-card.is-restricted{border-color:color-mix(in srgb, var(--bad-1) 24%, transparent);}
.license-rule-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:color-mix(in srgb, var(--ok-1) 10%, transparent);color:var(--ok-1);font-size:1.1rem;font-weight:800;}
.license-rule-card.is-restricted .license-rule-icon{background:color-mix(in srgb, var(--bad-1) 10%, transparent);color:var(--bad-1);}
.license-rule-card h2,.license-attribution-card h2{font-size:1.5rem;}
.license-rule-card ul{display:grid;gap:10px;margin:18px 0 0;padding-left:18px;color:var(--ink-dim);font-size:.78rem;line-height:1.65;}
.license-attribution-card{padding:32px;border:1px solid color-mix(in srgb, var(--gold-4) 28%, transparent);border-radius:16px;background:radial-gradient(circle at 85% 0,color-mix(in srgb, var(--gold-4) 11%, transparent),transparent 30%),var(--n3);}
.license-attribution-card>p{max-width:720px;margin:13px 0 0;color:var(--ink-dim);font-size:.8rem;line-height:1.65;}
.license-credit-box{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:16px 18px;border:1px solid color-mix(in srgb, var(--gold-4) 28%, transparent);border-radius:10px;background:var(--n2);}
.license-credit-box code{color:var(--gold-5);font-family:var(--font-mono);font-size:.77rem;}
.license-copy-button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 13px;border:1px solid var(--border);border-radius:8px;background:var(--n3);color:var(--ink-dim);font:inherit;font-size:.7rem;font-weight:700;cursor:pointer;}
.license-copy-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;}
.license-copy-button:hover,.license-copy-button.is-copied{border-color:color-mix(in srgb, var(--gold-4) 55%, transparent);color:var(--gold);}
.license-fine-print{font-size:.7rem!important;}
.license-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.license-detail-grid article{padding:25px;border:1px solid var(--border);border-radius:14px;background:var(--n3);}
.license-detail-grid h3{margin:10px 0 9px;color:var(--ink);font-size:.97rem;}
.license-detail-grid p{margin:0;color:var(--ink-dim);font-size:.75rem;line-height:1.65;}
.license-notice{display:grid;grid-template-columns:90px 1fr;gap:18px;padding:22px 25px;border:1px solid var(--border);border-radius:13px;background:color-mix(in srgb, var(--n2) 68%, transparent);}
.license-notice strong{color:var(--ink);font-size:.78rem;}
.license-notice p{margin:0;color:var(--ink-dim);font-size:.72rem;line-height:1.6;}
.country-data-row small a{color:var(--gold);text-decoration:none;}
.country-data-row small a:hover{text-decoration:underline;}
.geo-builder-add-country-button{border-color:color-mix(in srgb, var(--gold-4) 42%, transparent);color:var(--gold-5);background:color-mix(in srgb, var(--gold-4) 7%, transparent);}
.geo-builder-add-country-button:hover{border-color:color-mix(in srgb, var(--gold-4) 72%, transparent)!important;background:color-mix(in srgb, var(--gold-4) 13%, transparent)!important;}
@media(max-width:980px){
  .editorial-hero-grid,.editorial-intro-grid,.editorial-process-panel,.license-layout{grid-template-columns:1fr;gap:34px}.editorial-hero-note{max-width:520px}.editorial-value-grid{grid-template-columns:1fr}.editorial-value-card{min-height:0}.editorial-value-card h3{margin-top:28px}.license-summary-card{position:static}.license-detail-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .editorial-hero{padding:58px 0 48px}.editorial-section{padding:50px 0 70px}.editorial-hero h1{font-size:2.65rem}.editorial-process-panel,.editorial-cta,.license-rule-card,.license-attribution-card{padding:23px}.editorial-cta{align-items:flex-start;flex-direction:column}.license-rule-card{grid-template-columns:1fr}.license-credit-box{align-items:stretch;flex-direction:column}.license-copy-button{justify-content:center}.license-notice{grid-template-columns:1fr}
}

/* ========================================================================== 
   MOBILE QUALITY PASS 19.12
   Touch-first layout, responsive comparison tables, safer drawers, and
   performance-conscious map presentation for phones and small tablets.
   ========================================================================== */
html,body{max-width:100%;overflow-x:hidden;overflow-x:clip}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
@media (hover:none) and (pointer:coarse){
  .button,.submit-link,.mobile-nav a,.map-card-actions a,.map-card-actions button,.map-search-submit,.map-search-reset,.country-compare-picker button,.account-nav a,.account-logout{min-height:44px}
  .button:hover,.map-related-card:hover,.license-benefit-item:hover{transform:none}
}
@media (max-width:980px){
  body.histriphy-mobile-menu-open{overflow:hidden}
  .site-header{z-index:10001;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .header-inner{height:66px;padding-left:18px;padding-right:18px}
  .brand-name{font-size:1.08rem}
  .brand-mark{width:30px;height:30px}
  .menu-button{border:1px solid var(--border);border-radius:9px;background:color-mix(in srgb, var(--n3) 72%, transparent)}
  .histriphy-mobile-menu-open .mobile-nav,.site-shell:has(#menu-toggle:checked)>.mobile-nav{display:flex}
  .mobile-nav{position:fixed;z-index:10000;left:0;right:0;top:66px;height:calc(var(--histriphy-mobile-vh,100dvh) - 66px);max-height:calc(var(--histriphy-mobile-vh,100dvh) - 66px);overflow-y:auto;overscroll-behavior:contain;padding:12px 20px calc(28px + env(safe-area-inset-bottom));border-top:1px solid var(--border-soft);background:var(--n2);box-shadow:0 24px 70px rgba(0,0,0,.65);-webkit-overflow-scrolling:touch}
  .admin-bar .mobile-nav{top:98px;height:calc(var(--histriphy-mobile-vh,100dvh) - 98px);max-height:calc(var(--histriphy-mobile-vh,100dvh) - 98px)}
  .mobile-nav>a,.mobile-nav>li>a,.mobile-nav>.nav-dropdown>.nav-dropdown-label,.mobile-nav>li.nav-dropdown>.nav-dropdown-label{min-height:56px;display:flex;align-items:center;font-size:1.05rem}
  .mobile-nav>li{display:block;flex:0 0 auto;width:100%}
  .mobile-nav>li>a{padding:12px 0;color:var(--ink-dim);border-bottom:1px solid var(--border-soft)}
  .mobile-nav .sub-menu{display:grid;gap:2px;padding:4px 0 10px 16px;border-bottom:1px solid var(--border-soft)}
  .mobile-nav .sub-menu a{display:flex;align-items:center;min-height:44px;padding:8px 0;color:var(--ink-faint);font-size:.94rem}
  .mobile-nav .nav-dropdown-menu{padding:0 0 10px 14px}
  .mobile-nav .nav-dropdown-menu a{min-height:44px;display:flex;align-items:center}
  .mobile-account-link{color:var(--ink)!important;font-weight:700}
  .mobile-submit{margin-top:10px;border:1px solid color-mix(in srgb, var(--gold-4) 45%, transparent)!important;border-radius:9px;padding:0 16px!important;justify-content:center;background:var(--gold);color:var(--bg)!important}
  .section-inner,.footer-inner{padding-left:20px;padding-right:20px}
}
@media (max-width:782px){.admin-bar .mobile-nav{top:112px;height:calc(var(--histriphy-mobile-vh,100dvh) - 112px);max-height:calc(var(--histriphy-mobile-vh,100dvh) - 112px)}}
@media (max-width:760px){
  body{font-size:15px}
  .section-inner,.footer-inner{padding-left:16px;padding-right:16px}
  .section-heading{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:28px}
  .hero{min-height:0}
  .hero-map{height:280px}
  .hero-copy{padding:36px 0 46px}
  .hero-copy-inner{padding:0 18px}
  .hero-buttons{display:grid;grid-template-columns:1fr;gap:10px}
  .hero-buttons .button{justify-content:center;width:100%}
  .stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .cta-card{padding:28px 22px}
  .cta-card .button{width:100%;justify-content:center}
}

/* Library and map cards */
@media (max-width:760px){
  .map-library-page{--library-wide:100%}
  .map-library-top-inner,.map-results-inner{padding-left:14px;padding-right:14px}
  .map-library-hero{padding-top:36px}
  .map-library-heading{font-size:clamp(2rem,11vw,3rem);line-height:1.02}
  .map-library-description{font-size:.86rem}
  .library-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .library-stat-card{min-height:82px;padding:13px 12px}
  .library-stat-card strong{font-size:1.05rem}
  .map-search-form{padding:14px}
  .map-filter-grid{grid-template-columns:1fr!important;gap:12px}
  .map-filter-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
  .map-filter-actions .button{width:100%;justify-content:center}
  .map-library-tabs{overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .map-library-tabs::-webkit-scrollbar{display:none}
  .map-library-tab{scroll-snap-align:start;min-height:48px;white-space:nowrap}
  .map-cards,.map-results-grid{grid-template-columns:1fr!important;gap:12px}
  .map-card{min-height:0}
  .map-card-preview{height:210px}
  .map-card-body{padding:14px}
  .map-card-title{font-size:1.08rem}
  .map-card-actions{display:grid;grid-template-columns:1fr 1.12fr;gap:8px}
  .map-card-actions .button,.map-card-actions a{width:100%;min-width:0;justify-content:center;padding-left:10px;padding-right:10px}
  .map-results-footer{grid-template-columns:1fr;align-items:stretch;gap:13px}
  .map-results-footer-summary{width:100%;text-align:center}
  .map-pagination{width:100%;justify-content:center;overflow-x:auto;padding-bottom:3px}
}
@media (max-width:390px){
  .library-stat-grid{grid-template-columns:1fr}
  .map-filter-actions,.map-card-actions{grid-template-columns:1fr}
  .map-card-preview{height:190px}
}

/* Single map details */
@media (max-width:680px){
  .map-detail-hero-v19{padding:28px 0 36px}
  .map-detail-hero-grid-v19{gap:24px}
  .map-hero-copy-v19 h1{font-size:clamp(2.35rem,14vw,4rem);overflow-wrap:anywhere}
  .map-hero-actions-v19{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .map-hero-actions-v19 .button{width:100%;justify-content:center;padding-left:10px;padding-right:10px}
  .map-detail-preview{height:300px}
  .map-quick-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
  .map-quick-stats>div{padding:0 7px}
  .map-quick-stats strong{font-size:.82rem;overflow-wrap:anywhere}
  .map-section-card-v19{padding:21px 17px}
  .map-section-heading-split{align-items:flex-start;flex-direction:column;gap:6px}
  .map-section-heading-split>p{text-align:left;max-width:none}
  .map-context-grid,.map-related-grid,.map-compare-grid{grid-template-columns:1fr!important}
  .map-facts-card-v19 dt,.map-facts-card-v19 dd,.map-technical-details dt,.map-technical-details dd{max-width:none;text-align:left}
  .map-facts-card-v19>div,.map-technical-details>div{align-items:flex-start;flex-direction:column;gap:5px}
  .guest-limit-modal-box{width:calc(100% - 24px);padding:26px 19px;border-radius:16px}
}
@media (max-width:430px){
  .map-hero-actions-v19{grid-template-columns:1fr}
  .map-detail-preview{height:250px}
  .map-quick-stats{grid-template-columns:1fr;border-top:1px solid var(--border-soft)}
  .map-quick-stats>div{padding:12px 0;border-left:0;border-bottom:1px solid var(--border-soft);text-align:left}
}

/* Dedicated country comparison */
@media (max-width:720px){
  .country-compare-hero{padding:34px 0 26px}
  .country-compare-heading h1{font-size:clamp(2rem,10vw,3rem)}
  .country-compare-picker{grid-template-columns:1fr!important;gap:10px;padding:14px}
  .country-picker-versus{width:38px;height:38px;margin:auto;transform:none}
  .country-compare-picker .button{width:100%;justify-content:center}
  .country-map-grid{grid-template-columns:1fr!important;gap:14px}
  .country-map-panel-head{padding:15px}
  .country-compare-preview{height:250px}
  .country-data-comparison{padding:20px 14px}
  .country-data-table{display:block;border:0;background:transparent}
  .country-data-header{display:none!important}
  .country-data-row{display:block!important;margin-bottom:12px;padding:14px;border:1px solid var(--border-soft);border-radius:10px;background:var(--n3)}
  .country-data-row:last-child{margin-bottom:0}
  .country-data-label{padding:0 0 10px!important;border:0!important;color:var(--gold)!important;font-size:.72rem!important}
  .country-data-row>div[role="cell"]{position:relative;display:block;padding:10px 0 10px 42%!important;border:0!important;border-top:1px solid color-mix(in srgb, var(--n14) 11%, transparent)!important;min-height:45px;text-align:left!important;overflow-wrap:anywhere}
  .country-data-row>div[role="cell"]:before{content:attr(data-country);position:absolute;left:0;top:10px;width:38%;color:var(--ink-faint);font-size:.66rem;font-weight:700;line-height:1.35}
  .country-data-row small{display:block;margin-top:5px}
  .country-data-source-note{font-size:.68rem;line-height:1.55}
}

/* Account, forms, and security */
@media (max-width:680px){
  .account-page-v2{padding-top:20px}
  .account-hero-v2{padding:20px 16px}
  .account-hero-profile{align-items:flex-start;flex-direction:column}
  .account-layout-v2{gap:16px}
  .account-sidebar-v2{position:static;padding:10px;overflow-x:auto;scrollbar-width:none}
  .account-sidebar-v2::-webkit-scrollbar{display:none}
  .account-sidebar-v2 .account-nav{display:flex;flex-direction:row;gap:6px;min-width:max-content}
  .account-sidebar-v2 .account-nav a,.account-sidebar-v2 .account-nav form{flex:0 0 auto}
  .account-sidebar-v2 .account-nav a,.account-sidebar-v2 .account-logout{min-height:44px;padding:10px 13px;white-space:nowrap}
  .account-section-card{padding:20px 15px}
  .account-section-heading{align-items:flex-start;flex-direction:column;gap:8px}
  .account-form-grid,.security-overview-grid,.security-panel-grid,.profile-settings-grid{grid-template-columns:1fr!important}
  .account-form-actions{display:grid;grid-template-columns:1fr;gap:8px}
  .account-form-actions .button{width:100%;min-width:0;justify-content:center}
  .session-item{align-items:flex-start;grid-template-columns:auto 1fr!important}
  .session-item>span:last-child{grid-column:1/-1;width:100%;padding-left:46px;text-align:left!important}
  .auth-shell{min-height:0;grid-template-columns:1fr}
  .auth-story-panel{display:none}
  .auth-form-panel{min-height:calc(100dvh - 66px);padding:28px 16px calc(34px + env(safe-area-inset-bottom))}
  .auth-form-card,.auth-compact-card{max-width:none;padding:25px 18px;border-radius:15px}
  .auth-benefit-grid{grid-template-columns:1fr}
  .authy-setup-grid{gap:14px}
  .authy-qr-card,.authy-manual-card{padding:18px 14px}
  .authy-qr-frame{width:min(100%,220px)}
  .two-factor-secret{align-items:stretch;flex-direction:column}
  .two-factor-secret button{width:100%}
}

/* About, license, footer, and modals */
@media (max-width:680px){
  .editorial-shell{padding-left:16px;padding-right:16px}
  .editorial-hero-grid>div:first-child>p{font-size:.92rem;line-height:1.7}
  .editorial-hero-note{padding:19px}
  .editorial-value-card{padding:23px}
  .editorial-process-list li{grid-template-columns:32px 1fr;gap:12px}
  .license-modal-overlay{align-items:flex-end;padding:10px 10px 0}
  .license-modal-box{width:100%;max-height:92dvh;padding:27px 18px calc(22px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0}
  .license-modal-intro{grid-template-columns:1fr;gap:12px}
  .license-modal-icon{width:50px;height:50px}
  .license-modal-actions{position:sticky;bottom:0;margin:18px -18px -22px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,color-mix(in srgb, var(--n2) 5%, transparent),color-mix(in srgb, var(--n2) 98%, transparent) 24%)}
  .footer-inner{align-items:flex-start;flex-direction:column;gap:24px}
  .footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:10px 18px}
}

/* Avoid expensive overview animation and remote world-atlas work on small phones. */
@media (max-width:639px){.map-detail-preview[data-country-zoom="1"] .map-preview-svg{will-change:auto}}


/* ================= SIMPLE ABOUT AND SUBMIT PAGES ================= */
.simple-page-shell{max-width:960px}
.simple-page-hero{padding:88px 0 42px;border-bottom:1px solid var(--border-soft)}
.simple-page-hero .kicker,.simple-submit-header .kicker{margin-bottom:20px}
.simple-page-hero h1,.simple-submit-header h1{font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.02;letter-spacing:-.045em;margin:0 0 20px;max-width:760px}
.simple-page-hero p,.simple-submit-header p{font-size:1.12rem;color:var(--ink-dim);max-width:720px;margin:0;line-height:1.7}
.simple-about-content{padding:48px 0 88px}
.simple-about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.simple-about-grid article{padding:26px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(145deg,color-mix(in srgb, var(--n3) 96%, transparent),color-mix(in srgb, var(--n3) 96%, transparent))}
.simple-about-grid h2{font-size:1.12rem;margin:0 0 9px}
.simple-about-grid p{color:var(--ink-dim);font-size:.94rem;line-height:1.65;margin:0}
.simple-about-story{max-width:760px;padding:64px 0 48px}
.simple-about-story h2{font-size:1.8rem;margin:0 0 14px}
.simple-about-story p{color:var(--ink-dim);font-size:1.02rem;line-height:1.75;margin:0}
.simple-page-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px;border:1px solid color-mix(in srgb, var(--gold-4) 32%, transparent);border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb, var(--gold-4) 8%, transparent),color-mix(in srgb, var(--n3) 96%, transparent))}
.simple-page-cta h2{font-size:1.4rem;margin:0 0 6px}
.simple-page-cta p{color:var(--ink-dim);margin:0}
.simple-page-cta .button{flex:0 0 auto}

.simple-submit-section{padding:72px 0 96px}
.simple-submit-shell{max-width:760px}
.simple-submit-header{margin-bottom:34px}
.simple-submit-header h1{font-size:clamp(2.5rem,6vw,4rem)}
.simple-submit-card{padding:30px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(145deg,color-mix(in srgb, var(--n3) 98%, transparent),color-mix(in srgb, var(--n3) 98%, transparent));box-shadow:0 22px 60px rgba(0,0,0,.18)}
.simple-submit-login{text-align:center}
.simple-submit-login h2{margin:0 0 8px;font-size:1.35rem}
.simple-submit-login p{margin:0 0 24px;color:var(--ink-dim)}
.simple-submit-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.simple-submit-form{display:flex;flex-direction:column;gap:23px}
.simple-form-field label,.simple-form-fieldset legend{display:block;font-size:.84rem;font-weight:700;color:var(--ink);margin-bottom:8px}
.simple-form-field input[type=text]{width:100%;height:48px;padding:0 14px;border:1px solid var(--border);border-radius:8px;background:var(--n3);color:var(--ink);font:inherit;outline:none}
.simple-form-field input[type=text]:focus{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb, var(--gold-4) 9%, transparent)}
.simple-form-field-small{max-width:320px}
.simple-form-field small,.simple-form-fieldset small{display:block;color:var(--ink-faint);font-size:.78rem;margin-top:7px}
.simple-form-fieldset{border:0;padding:0;margin:0;min-width:0}
.simple-category-picker{gap:9px}
.simple-category-picker .category-chip span{min-height:42px;padding:10px 15px}
.simple-file-upload{min-height:58px;border-radius:8px;background:var(--n3)}
.simple-submit-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:7px}
.simple-submit-footer>span{color:var(--ink-dim);font-size:.86rem}
.simple-submit-footer strong{color:var(--ink)}
.simple-submit-footer .button{min-width:190px;justify-content:center}
.simple-form-notice{padding:14px 16px;border:1px solid color-mix(in srgb, var(--ok-1) 35%, transparent);border-radius:9px;background:color-mix(in srgb, var(--ok-2) 10%, transparent);color:var(--ok-1);margin-bottom:18px}
.simple-form-notice.is-error{border-color:color-mix(in srgb, var(--bad-2) 40%, transparent);background:color-mix(in srgb, var(--bad-2) 8%, transparent);color:var(--bad-1)}

@media(max-width:760px){
  .simple-page-hero,.simple-submit-section{padding-top:52px}
  .simple-page-hero h1,.simple-submit-header h1{font-size:2.55rem}
  .simple-about-grid{grid-template-columns:1fr}
  .simple-about-story{padding:46px 0 36px}
  .simple-page-cta{align-items:flex-start;flex-direction:column;padding:24px}
  .simple-page-cta .button{width:100%;justify-content:center}
  .simple-submit-card{padding:22px}
  .simple-submit-footer{align-items:stretch;flex-direction:column}
  .simple-submit-footer .button{width:100%}
  .simple-form-field-small{max-width:none}
}


/* Theme 19.12.2: simplified military comparison attribution */
.country-data-source-note .country-data-credit{
  display:inline;
  margin-left:.35em;
  color:inherit;
  opacity:.72;
  white-space:normal;
}
.country-data-source-note .country-data-credit a{
  color:inherit;
  text-decoration:underline;
  text-decoration-color:color-mix(in srgb, var(--n15) 35%, transparent);
  text-underline-offset:2px;
}
.country-data-source-note .country-data-credit a:hover{
  color:var(--gold);
  text-decoration-color:currentColor;
}


/* Theme 19.12.3: expanded country comparison without duplicate rows */
.country-data-section-row{
  display:grid;
  grid-template-columns:1fr;
  background:linear-gradient(90deg,color-mix(in srgb, var(--gold-4) 13%, transparent),color-mix(in srgb, var(--gold-4) 3.5%, transparent));
  border-top:1px solid color-mix(in srgb, var(--gold-4) 22%, transparent);
}
.country-data-section-row>div{
  grid-column:1/-1;
  padding:11px 16px;
  color:var(--gold-soft);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.country-data-section-row:first-of-type{border-top:0}
.country-data-row>div[role="cell"]{overflow-wrap:anywhere}
@media (max-width:700px){
  .country-data-section-row{display:block;margin:20px 0 8px;border:0;background:transparent}
  .country-data-section-row:first-of-type{margin-top:0}
  .country-data-section-row>div{padding:0 2px 7px;border-bottom:1px solid color-mix(in srgb, var(--gold-4) 22%, transparent);font-size:.68rem}
}

/* Theme 19.12.4: stable detail and compare map rendering */
.map-detail-preview .map-preview-svg .base-countries path,
.country-compare-preview .map-preview-svg .base-countries path{
  fill:none;
  stroke:var(--n12);
  stroke-opacity:.42;
  stroke-width:.85;
  vector-effect:non-scaling-stroke;
}
.map-detail-preview.is-ready .map-final-stage,
.country-compare-preview.is-ready .map-final-stage{
  animation:histriphy-final-map-reveal .38s ease-out both;
}
@keyframes histriphy-final-map-reveal{
  from{opacity:0}
  to{opacity:1}
}
@media (prefers-reduced-motion:reduce){
  .map-detail-preview.is-ready .map-final-stage,
  .country-compare-preview.is-ready .map-final-stage{animation:none}
}
.map-detail-preview,
.country-compare-preview{
  background-color:var(--n3);
  background-image:
    radial-gradient(circle at 50% 48%,color-mix(in srgb, var(--gold-4) 10%, transparent),transparent 34%),
    linear-gradient(color-mix(in srgb, var(--info-2) 4.5%, transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb, var(--info-2) 4.5%, transparent) 1px,transparent 1px);
  background-size:auto,44px 44px,44px 44px;
}

/* Theme 19.12.5: focused polish and simpler public pages */
.home-submit-section{padding-top:34px;padding-bottom:82px}
.home-submit-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  padding:34px 40px;
  border:1px solid color-mix(in srgb, var(--gold-4) 42%, transparent);
  border-radius:14px;
  background:
    radial-gradient(circle at 85% 45%,color-mix(in srgb, var(--gold-4) 9%, transparent),transparent 28%),
    linear-gradient(145deg,color-mix(in srgb, var(--n3) 98%, transparent),color-mix(in srgb, var(--n3) 98%, transparent));
  box-shadow:inset 0 1px 0 color-mix(in srgb, var(--n24) 2.5%, transparent),0 24px 70px rgba(0,0,0,.2);
}
.home-submit-card h2{margin:0 0 8px;font-size:1.45rem}
.home-submit-card p{margin:0;color:var(--ink-dim);font-size:1rem}
.home-submit-card .button{min-width:182px;justify-content:center}

.data-policy-simple{border-top:0;padding:72px 0 92px}
.data-policy-inner{max-width:920px}
.data-policy-inner>h1{margin:18px 0 14px;font-size:clamp(2.2rem,5vw,3.7rem);line-height:1.04;letter-spacing:-.045em}
.data-policy-lead{max-width:720px;margin:0;color:var(--ink-dim);font-size:1.05rem;line-height:1.75}
.data-policy-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:34px 0 24px}
.data-policy-cards article{padding:24px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(145deg,color-mix(in srgb, var(--n3) 96%, transparent),color-mix(in srgb, var(--n3) 96%, transparent))}
.data-policy-cards h2{margin:0 0 8px;font-size:1rem}
.data-policy-cards p{margin:0;color:var(--ink-dim);font-size:.9rem;line-height:1.65}
.data-policy-note{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:26px 28px;border:1px solid color-mix(in srgb, var(--gold-4) 30%, transparent);border-radius:12px;background:color-mix(in srgb, var(--gold-4) 4%, transparent)}
.data-policy-note h2{margin:0 0 7px;font-size:1.25rem}
.data-policy-note p{margin:0;color:var(--ink-dim)}
.data-policy-actions{display:flex;gap:10px;flex:0 0 auto}

.map-hero-preview.is-country-zooming .map-overview-stage{opacity:1}
.map-hero-preview.is-country-zooming .map-final-stage{animation:none}

@media (max-width:760px){
  .home-submit-card{align-items:flex-start;flex-direction:column;padding:26px}
  .home-submit-card .button{width:100%}
  .data-policy-cards{grid-template-columns:1fr}
  .data-policy-note{align-items:flex-start;flex-direction:column}
  .data-policy-actions{width:100%;flex-direction:column}
  .data-policy-actions .button{width:100%;justify-content:center}
}

/* Theme 19.12.8: Custom map category support */
.simple-submit-shell-wide{max-width:1040px}
.submit-mode-switch{display:inline-flex;gap:5px;padding:5px;margin:0 0 18px;border:1px solid var(--border);border-radius:10px;background:var(--n3)}
.submit-mode-button{min-height:42px;padding:0 20px;border:0;border-radius:7px;background:transparent;color:var(--ink-dim);font-weight:700}
.submit-mode-button:hover{color:var(--ink)}
.submit-mode-button.is-active{background:var(--gold);color:var(--n3);box-shadow:0 8px 24px color-mix(in srgb, var(--gold-4) 17%, transparent)}
.submit-mode-panel{display:none}
.submit-mode-panel.is-active{display:block}
.submission-category-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:16px;align-items:start}
.submission-select{width:100%;min-height:48px;padding:0 40px 0 13px;border:1px solid var(--border);border-radius:8px;background:var(--n3);color:var(--ink);font:inherit;outline:none}
.submission-select:focus{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb, var(--gold-4) 9%, transparent)}
.submission-multi-select{position:relative;border:1px solid var(--border);border-radius:8px;background:var(--n3);color:var(--ink)}
.submission-multi-select[open]{border-color:color-mix(in srgb, var(--gold-4) 55%, transparent);box-shadow:0 14px 40px rgba(0,0,0,.25)}
.submission-multi-select summary{display:flex;align-items:center;min-height:48px;padding:10px 38px 10px 13px;cursor:pointer;list-style:none;color:var(--ink-dim);font-size:.88rem;position:relative}
.submission-multi-select summary::-webkit-details-marker{display:none}
.submission-multi-select summary:after{content:'⌄';position:absolute;right:14px;top:50%;transform:translateY(-54%);color:var(--ink-faint);font-size:1rem}
.submission-multi-select[open] summary:after{transform:translateY(-44%) rotate(180deg)}
.submission-multi-options{display:grid;gap:8px;padding:11px 13px 13px;border-top:1px solid var(--border-soft);max-height:220px;overflow:auto}
.submission-multi-options label{display:flex;gap:9px;align-items:flex-start;margin:0;color:var(--ink-dim);font-size:.86rem;cursor:pointer}
.submission-multi-options label:hover{color:var(--ink)}
.submission-multi-options input{margin-top:2px;accent-color:var(--gold)}
.submission-multi-options input:disabled+span{opacity:.4}
.simple-form-notice.is-warning{border-color:color-mix(in srgb, var(--gold-4) 40%, transparent);background:color-mix(in srgb, var(--gold-4) 8%, transparent);color:var(--gold-5)}
.simple-form-notice>strong,.simple-form-notice>span{display:block}
.batch-result-errors{margin:10px 0 0;padding-left:18px;list-style:disc;color:inherit}
.batch-result-errors li{margin:4px 0}
.batch-submit-form{display:flex;flex-direction:column;gap:22px}
.batch-upload-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:24px;align-items:center}
.batch-upload-intro h2{margin:0 0 7px;font-size:1.25rem}
.batch-upload-intro p{margin:0;color:var(--ink-dim);font-size:.92rem;line-height:1.6}
.batch-file-upload{width:100%}
.batch-defaults{padding:20px;border:1px solid color-mix(in srgb, var(--gold-4) 24%, transparent);border-radius:10px;background:color-mix(in srgb, var(--gold-4) 3.5%, transparent)}
.batch-defaults-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:17px}
.batch-defaults-head strong,.batch-defaults-head span{display:block}
.batch-defaults-head strong{font-size:1rem}
.batch-defaults-head span{margin-top:3px;color:var(--ink-faint);font-size:.78rem}
.batch-defaults-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1.3fr);gap:14px;align-items:start}
.batch-defaults-grid>label>span,.batch-defaults-grid>div>span,.batch-row-fields label>span,.batch-row-additional>span{display:block;margin-bottom:7px;color:var(--ink-dim);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.045em}
.batch-defaults-grid input:not([type="checkbox"]):not([type="radio"]),.batch-row-fields input:not([type="checkbox"]):not([type="radio"]){width:100%;min-height:46px;padding:0 13px;border:1px solid var(--border);border-radius:8px;background:var(--n3);color:var(--ink);font:inherit;outline:none}
.batch-defaults-grid input:not([type="checkbox"]):not([type="radio"]):focus,.batch-row-fields input:not([type="checkbox"]):not([type="radio"]):focus{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb, var(--gold-4) 9%, transparent)}
.batch-review-empty{display:flex;align-items:center;justify-content:center;min-height:160px;padding:28px;border:1px dashed var(--border);border-radius:10px;color:var(--ink-faint);text-align:center}
.batch-review-list{display:grid;gap:13px}
.batch-review-row{overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--n3)}
.batch-row-file{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:13px 16px;border-bottom:1px solid var(--border-soft);background:color-mix(in srgb, var(--n24) 1.8%, transparent)}
.batch-row-file>div{min-width:0}
.batch-row-file span,.batch-row-file strong,.batch-row-file small{display:block}
.batch-row-file span{color:var(--gold);font-family:var(--font-mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.08em}
.batch-row-file strong{margin-top:2px;overflow:hidden;color:var(--ink);font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}
.batch-row-file small{margin-top:2px;color:var(--ink-faint);font-size:.7rem}
.batch-remove-file{min-height:36px;padding:0 11px;border:1px solid color-mix(in srgb, var(--bad-2) 30%, transparent);border-radius:6px;background:transparent;color:var(--bad-1);font-size:.75rem;font-weight:700}
.batch-remove-file:hover{background:color-mix(in srgb, var(--bad-2) 8%, transparent)}
.batch-row-fields{display:grid;grid-template-columns:minmax(170px,1.25fr) minmax(130px,.65fr) minmax(160px,.85fr) minmax(220px,1.2fr);gap:13px;padding:16px;align-items:start}
.batch-row-additional{min-width:0}
.batch-row-fields .submission-select,.batch-row-fields .submission-multi-select summary{min-height:46px}
.batch-submit-footer{padding-top:2px}

@media(max-width:900px){
  .batch-upload-intro{grid-template-columns:1fr}
  .batch-defaults-grid{grid-template-columns:1fr 1fr}
  .batch-defaults-grid>div:last-child{grid-column:1/-1}
  .batch-row-fields{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .simple-submit-shell-wide{width:100%}
  .submit-mode-switch{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .submit-mode-button{padding:0 12px}
  .submission-category-grid,.batch-defaults-grid,.batch-row-fields{grid-template-columns:1fr}
  .batch-defaults-grid>div:last-child{grid-column:auto}
  .batch-defaults-head{align-items:stretch;flex-direction:column}
  .batch-defaults-head .button{width:100%;justify-content:center}
  .batch-row-file{align-items:flex-start}
  .batch-row-file strong{white-space:normal;word-break:break-word}
  .batch-submit-form.simple-submit-card{padding:18px}
}


/* Theme 19.12.9: clean file selection and compact multi-category controls */
.simple-submit-page .simple-file-upload.has-file .file-upload-btn{display:none}
.simple-submit-page .simple-file-upload.has-file .file-upload-name{color:var(--ink);font-weight:700;cursor:pointer;max-width:100%}
.simple-submit-page .simple-file-upload.has-file .file-upload-name:hover{color:var(--gold-soft)}
.submission-multi-options input[type="checkbox"]{appearance:auto!important;-webkit-appearance:checkbox!important;width:17px!important;height:17px!important;min-width:17px!important;min-height:17px!important;max-width:17px!important;max-height:17px!important;padding:0!important;margin:1px 0 0!important;border:0!important;border-radius:3px!important;box-shadow:none!important;flex:0 0 17px!important;background:transparent!important}
.submission-multi-options label{min-height:28px;align-items:center;padding:4px 2px;line-height:1.3}
.submission-multi-options label span{min-width:0;overflow-wrap:anywhere}
.submission-multi-options{gap:3px}
.batch-row-additional .submission-multi-select{width:100%}


/* Theme 19.16.0: the main Histriphy theme is permanently dark. */
html[data-theme="dark"]{color-scheme:dark}
.header-actions{gap:12px}

/* Premium dark map context used on detail and comparison pages. */
.map-hero-preview,.map-detail-preview,.country-compare-preview,.map-card-library .map-preview,.map-related-preview,.account-map-preview{color-scheme:dark}
.map-detail-preview .map-preview-svg .base-countries path,
.country-compare-preview .map-preview-svg .base-countries path{
  fill:var(--n6);fill-opacity:.34;stroke:var(--n13);stroke-opacity:.48;stroke-width:.78;vector-effect:non-scaling-stroke;
}
.map-hero-preview.is-country-zooming .map-overview-stage .base-countries path{
  fill:var(--n6);fill-opacity:.48;stroke:var(--info-2);stroke-opacity:.48;stroke-width:.72;vector-effect:non-scaling-stroke;
}
.map-hero-preview.is-country-zooming .map-zoom-highlight path{
  fill:var(--gold-4);fill-opacity:.9;stroke:var(--gold-4);stroke-width:1.4;vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 0 5px color-mix(in srgb, var(--gold-4) 80%, transparent)) drop-shadow(0 0 14px color-mix(in srgb, var(--gold-4) 35%, transparent));
}
.map-hero-preview .map-zoom-target{fill:color-mix(in srgb, var(--gold-4) 18%, transparent);stroke:var(--gold-soft);stroke-width:2.2;vector-effect:non-scaling-stroke}
.map-hero-preview.is-country-zooming::before{content:"Locating map";position:absolute;left:18px;bottom:16px;z-index:4;padding:6px 9px;border:1px solid color-mix(in srgb, var(--gold-4) 28%, transparent);border-radius:999px;background:color-mix(in srgb, var(--n2) 72%, transparent);color:var(--gold-5);font:600 .58rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(8px)}
.map-hero-preview.has-completed-country-zoom::before{display:none}

/* ========================================================================== 
   THEME 19.16.0: homepage roadmap, support, legal pages and professional footer
   ========================================================================== */
.home-coming-soon{padding-top:72px;padding-bottom:48px;border-top:1px solid var(--border-soft)}
.home-coming-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px}
.home-coming-heading p{margin:0 0 8px;color:var(--gold);font:700 .67rem var(--font-mono);letter-spacing:.13em;text-transform:uppercase}
.home-coming-heading h2{margin:0;font-size:2rem}
.home-coming-heading>span{max-width:320px;color:var(--ink-faint);font-size:.88rem;text-align:right}
.home-roadmap{display:grid;grid-template-columns:330px minmax(0,1fr);min-height:620px;border:1px solid var(--n5);border-radius:16px;overflow:hidden;background:var(--n2);box-shadow:0 24px 60px rgba(0,0,0,.2)}
.home-roadmap-tabs{display:flex;flex-direction:column;gap:5px;padding:22px;border-right:1px solid var(--n5);background:var(--n3)}
.home-roadmap-tab{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;align-items:center;width:100%;min-height:84px;padding:13px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ink);text-align:left;cursor:pointer;opacity:.38;transition:opacity .18s,background .18s,border-color .18s,transform .18s}
.home-roadmap-tab:hover,.home-roadmap-tab:focus-visible{opacity:.72;background:var(--n3);outline:none}
.home-roadmap-tab.is-active{opacity:1;border-color:var(--n6);background:var(--n3);transform:translateX(3px)}
.home-roadmap-tab.is-milestone.is-active{border-color:color-mix(in srgb, var(--gold-4) 42%, transparent)}
.home-roadmap-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid color-mix(in srgb, var(--gold-4) 31%, transparent);border-radius:9px;background:color-mix(in srgb, var(--gold-4) 7%, transparent);color:var(--gold-soft)}
.home-roadmap-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.home-roadmap-tab small{display:block;margin-bottom:4px;color:var(--gold);font:700 .53rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase}
.home-roadmap-tab strong{display:block;color:var(--info-1);font-size:.89rem;line-height:1.25}
.home-roadmap-tab em{display:block;margin-top:4px;color:var(--n13);font-size:.67rem;font-style:normal;line-height:1.35}
.home-roadmap-stage{position:relative;min-width:0;background:var(--n3)}
.home-roadmap-toolbar{position:absolute;z-index:4;top:18px;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--n13);font:700 .57rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase}
.home-roadmap-toolbar>div{display:flex;align-items:center;gap:8px}
.home-roadmap-toolbar button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid var(--n6);border-radius:8px;background:var(--n3);color:var(--n20);font-size:1.25rem;line-height:1;cursor:pointer}
.home-roadmap-toolbar button:hover,.home-roadmap-toolbar button:focus-visible{border-color:color-mix(in srgb, var(--gold-4) 55%, transparent);color:var(--gold-soft);outline:none}
.home-roadmap-toolbar strong{min-width:37px;color:var(--info-1);font-size:.7rem;text-align:center;letter-spacing:0}
.home-roadmap-panels{height:100%}
.home-roadmap-panel{display:grid;grid-template-rows:auto minmax(0,1fr);gap:24px;height:100%;padding:70px 36px 35px;animation:roadmap-panel-in .28s ease both}
.home-roadmap-panel[hidden]{display:none}
@keyframes roadmap-panel-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.roadmap-preview-copy{max-width:650px}
.roadmap-preview-copy>small{display:block;margin-bottom:6px;color:var(--gold);font:700 .58rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase}
.roadmap-preview-copy h3{margin:0 0 8px;color:var(--info-1);font-size:1.45rem;line-height:1.2}
.roadmap-preview-copy p{max-width:640px;margin:0;color:var(--n15);font-size:.83rem;line-height:1.58}
.roadmap-window{align-self:stretch;min-height:350px;border:1px solid var(--n6);border-radius:13px;overflow:hidden;background:var(--n2);box-shadow:0 18px 36px rgba(0,0,0,.24)}
.roadmap-window-bar{display:flex;align-items:center;gap:10px;height:43px;padding:0 15px;border-bottom:1px solid var(--n5);background:var(--n3)}
.roadmap-window-bar>span{width:8px;height:8px;border-radius:50%;background:var(--gold)}
.roadmap-window-bar strong{color:var(--n22);font-size:.72rem}
.roadmap-window-bar em{margin-left:auto;color:var(--n12);font:600 .54rem var(--font-mono);font-style:normal;letter-spacing:.08em;text-transform:uppercase}
.roadmap-chat{display:grid;gap:16px;padding:28px}
.roadmap-chat-user{justify-self:end;max-width:65%;padding:13px 16px;border:1px solid var(--n7);border-radius:12px 12px 3px 12px;background:var(--n4);color:var(--info-1);font-size:.8rem;line-height:1.5}
.roadmap-chat-answer{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;max-width:88%}
.roadmap-ai-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--gold);color:var(--n3);font-weight:800}
.roadmap-chat-answer>div{padding:15px;border:1px solid var(--n5);border-radius:3px 12px 12px;background:var(--n3)}
.roadmap-chat-answer strong{color:var(--info-1);font-size:.8rem}
.roadmap-chat-answer p{margin:5px 0 12px;color:var(--n14);font-size:.71rem;line-height:1.5}
.roadmap-result-chips{display:flex;flex-wrap:wrap;gap:6px}
.roadmap-result-chips span,.roadmap-filter-row span{padding:6px 8px;border:1px solid color-mix(in srgb, var(--gold-4) 23%, transparent);border-radius:6px;background:color-mix(in srgb, var(--gold-4) 6%, transparent);color:var(--gold-4);font-size:.6rem}
.roadmap-search-demo{padding:27px}
.roadmap-search-query{display:grid;grid-template-columns:19px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 11px 10px 14px;border:1px solid var(--n7);border-radius:9px;background:var(--n3);color:var(--n20);font-size:.75rem}
.roadmap-search-query svg{width:18px;height:18px;fill:none;stroke:var(--n13);stroke-width:1.8}
.roadmap-search-query b{padding:7px 11px;border-radius:6px;background:var(--gold);color:var(--n3);font-size:.63rem}
.roadmap-filter-row{display:flex;flex-wrap:wrap;gap:6px;margin:13px 0 20px}
.roadmap-search-results{display:grid;gap:8px}
.roadmap-search-results>div{display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--n5);border-radius:9px;background:var(--n3)}
.roadmap-search-results i,.roadmap-map-thumb{display:block;width:50px;height:39px;border-radius:6px;background:linear-gradient(145deg,var(--n6),var(--n3));box-shadow:inset 0 0 0 1px var(--n7)}
.roadmap-search-results i:after,.roadmap-map-thumb:after{content:"";display:block;width:24px;height:20px;margin:9px auto;background:var(--gold);clip-path:polygon(11% 20%,47% 0,91% 22%,80% 83%,45% 100%,0 72%)}
.roadmap-search-results strong,.roadmap-saved-list strong{display:block;color:var(--info-1);font-size:.7rem}
.roadmap-search-results small,.roadmap-saved-list small{display:block;margin-top:3px;color:var(--n12);font-size:.58rem}
.roadmap-search-results em{color:var(--n17);font-size:.58rem;font-style:normal}
.roadmap-saved-list{display:grid;gap:8px;padding:24px}
.roadmap-saved-list>div{display:grid;grid-template-columns:62px minmax(0,1fr) 34px;gap:13px;align-items:center;padding:10px 13px;border:1px solid var(--n5);border-radius:9px;background:var(--n3)}
.roadmap-saved-list p{margin:0}
.roadmap-saved-list button{border:0;background:transparent;color:var(--gold);font-size:1rem}
.roadmap-map-thumb{width:62px;height:42px}.roadmap-map-thumb:after{margin-top:10px}.roadmap-map-thumb.is-two:after{clip-path:polygon(0 11%,70% 0,100% 47%,71% 100%,14% 81%)}.roadmap-map-thumb.is-three:after{clip-path:polygon(21% 0,87% 15%,100% 73%,51% 100%,0 72%)}
.roadmap-collection-demo{padding:24px}
.roadmap-folder-card{display:grid;grid-template-columns:52px minmax(0,1fr);gap:15px;align-items:center;padding:18px;border:1px solid color-mix(in srgb, var(--gold-4) 28%, transparent);border-radius:10px;background:var(--n3)}
.roadmap-folder-card>span{display:grid;place-items:center;width:52px;height:52px;border-radius:10px;background:color-mix(in srgb, var(--gold-4) 9%, transparent);color:var(--gold-soft)}
.roadmap-folder-card svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.6}
.roadmap-folder-card small{color:var(--gold);font:.54rem var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.roadmap-folder-card strong{display:block;margin:4px 0;color:var(--n22);font-size:.8rem}.roadmap-folder-card p{margin:0;color:var(--n12);font-size:.62rem}
.roadmap-collection-stack{display:grid;gap:7px;margin:13px 0 0 24px;padding-left:18px;border-left:1px solid var(--n7)}
.roadmap-collection-stack span{padding:9px 12px;border:1px solid var(--n5);border-radius:7px;background:var(--n3);color:var(--n17);font-size:.67rem}.roadmap-collection-stack i{margin-right:10px;color:var(--gold);font:600 .55rem var(--font-mono);font-style:normal}
.roadmap-download-table{padding:22px 24px}
.roadmap-download-table>div{display:grid;grid-template-columns:minmax(0,1fr) 90px 104px;gap:12px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--n5);color:var(--n17);font-size:.65rem}
.roadmap-download-table .is-head{color:var(--n11);font:600 .53rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.roadmap-download-table strong{display:block;color:var(--n21);font-size:.69rem}.roadmap-download-table small{display:block;margin-top:2px;color:var(--n11);font-size:.55rem}.roadmap-download-table b{color:var(--n18);font-size:.59rem}.roadmap-download-table time{color:var(--n13)}
.roadmap-replay-map{position:relative;height:245px;background-color:var(--n3);background-image:linear-gradient(color-mix(in srgb, var(--n9) 8%, transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb, var(--n9) 8%, transparent) 1px,transparent 1px);background-size:34px 34px}
.roadmap-replay-map>svg{width:100%;height:100%}.replay-land{fill:var(--n5);stroke:var(--n10);stroke-width:2}.replay-border{fill:none;stroke:var(--gold-4);stroke-width:2}.roadmap-replay-map circle{fill:var(--gold-4);stroke:var(--gold-5);stroke-width:2}
.roadmap-date-card{position:absolute;left:22px;bottom:20px;padding:11px 14px;border:1px solid color-mix(in srgb, var(--gold-4) 35%, transparent);border-radius:8px;background:color-mix(in srgb, var(--n2) 90%, transparent);box-shadow:0 8px 24px rgba(0,0,0,.25)}
.roadmap-date-card small{display:block;color:var(--n14);font:.49rem var(--font-mono);text-transform:uppercase}.roadmap-date-card strong{display:block;margin:2px 0;color:var(--gold-soft);font-size:1.2rem}.roadmap-date-card span{color:var(--n18);font-size:.62rem}
.roadmap-timeline{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:14px 18px;border-top:1px solid var(--n5);background:var(--n3)}.roadmap-timeline button{width:30px;height:30px;border:1px solid color-mix(in srgb, var(--gold-4) 35%, transparent);border-radius:50%;background:color-mix(in srgb, var(--gold-4) 8%, transparent);color:var(--gold-soft);font-size:.6rem}.roadmap-timeline>div{position:relative;height:4px;border-radius:4px;background:var(--n6)}.roadmap-timeline>div span{display:block;width:62%;height:100%;border-radius:inherit;background:var(--gold)}.roadmap-timeline>div i{position:absolute;top:50%;width:12px;height:12px;border:2px solid var(--n3);border-radius:50%;background:var(--gold);transform:translate(-50%,-50%)}.roadmap-timeline strong{color:var(--n13);font:600 .55rem var(--font-mono)}
.home-roadmap-progress{position:absolute;z-index:5;left:0;right:0;bottom:0;height:3px;background:var(--n4);overflow:hidden}.home-roadmap-progress span{display:block;width:0;height:100%;background:var(--gold)}.home-roadmap.is-running .home-roadmap-progress span{animation:roadmap-progress var(--roadmap-delay,4s) linear forwards}@keyframes roadmap-progress{from{width:0}to{width:100%}}

.simple-contact-line{margin:0 0 28px;color:var(--ink-dim);font-size:1rem;line-height:1.6}
.simple-contact-line a{color:var(--ink);font-weight:700;text-decoration:none}
.simple-contact-line a:hover,.simple-contact-line a:focus-visible{color:var(--gold-soft);text-decoration:underline;text-underline-offset:4px}

.legal-simple-shell{max-width:900px}
.legal-simple-page .simple-page-hero small{display:block;margin-top:20px;color:var(--ink-faint);font:.66rem var(--font-mono);letter-spacing:.05em;text-transform:uppercase}
.legal-simple-content{padding:48px 0 88px}
.legal-simple-copy{display:grid;gap:14px}
.legal-simple-copy section{padding:25px 27px;border:1px solid var(--border);border-radius:11px;background:var(--n3)}
.legal-simple-copy h2{margin:0 0 9px;font-size:1.08rem}
.legal-simple-copy p{margin:0;color:var(--ink-dim);font-size:.94rem;line-height:1.72}
.legal-simple-copy a{color:var(--gold-soft);text-decoration:underline;text-underline-offset:3px}

.legal-wide-shell{max-width:1160px}
.legal-hero{padding-bottom:58px}
.legal-hero h1{max-width:780px}
.legal-hero>div>p{max-width:760px}
.legal-meta{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:24px;color:var(--ink-faint);font:.68rem var(--font-mono);letter-spacing:.04em;text-transform:uppercase}
.legal-meta a{color:var(--gold-soft);text-transform:none}
.legal-document-section{padding:54px 0 96px}
.legal-document-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:46px;align-items:start}
.legal-toc{position:sticky;top:102px;padding:19px 18px;border:1px solid var(--border);border-radius:12px;background:var(--n3)}
.legal-toc>strong{display:block;margin-bottom:12px;color:var(--gold);font:700 .62rem var(--font-mono);letter-spacing:.11em;text-transform:uppercase}
.legal-toc nav{display:grid;gap:2px}
.legal-toc a{padding:8px 9px;border-left:2px solid transparent;border-radius:0 6px 6px 0;color:var(--ink-faint);font-size:.76rem;line-height:1.35}
.legal-toc a:hover,.legal-toc a:focus-visible{border-left-color:var(--gold);background:color-mix(in srgb, var(--gold-4) 6%, transparent);color:var(--ink)}
.legal-document{min-width:0}
.legal-summary{margin-bottom:16px;padding:24px 26px;border:1px solid color-mix(in srgb, var(--gold-4) 36%, transparent);border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb, var(--gold-4) 9%, transparent),color-mix(in srgb, var(--n3) 96%, transparent))}
.legal-summary strong{display:block;margin-bottom:7px;color:var(--gold-soft);font-size:.9rem}
.legal-summary p{margin:0;color:var(--ink-dim);line-height:1.68}
.legal-document>section{position:relative;padding:30px 31px 30px 72px;border:1px solid var(--border);border-bottom:0;background:var(--n3);scroll-margin-top:110px}
.legal-document>section:first-of-type{border-radius:12px 12px 0 0}
.legal-document>section:last-child{border-bottom:1px solid var(--border);border-radius:0 0 12px 12px}
.legal-section-number{position:absolute;left:25px;top:34px;color:var(--gold);font:700 .62rem var(--font-mono);letter-spacing:.08em}
.legal-document h2{margin:0 0 13px;color:var(--ink);font-size:1.22rem;line-height:1.3}
.legal-document h3{margin:19px 0 7px;color:var(--info-1);font-size:.9rem}
.legal-document p{margin:0 0 13px;color:var(--ink-dim);font-size:.9rem;line-height:1.78}
.legal-document p:last-child{margin-bottom:0}
.legal-document ul{display:grid;gap:8px;margin:13px 0;padding-left:20px;color:var(--ink-dim);font-size:.88rem;line-height:1.65}
.legal-document li::marker{color:var(--gold)}
.legal-document a{color:var(--gold-soft);text-decoration:underline;text-underline-offset:3px}
.legal-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:17px}
.legal-data-grid>div{padding:17px 18px;border:1px solid var(--n6);border-radius:9px;background:var(--n3)}
.legal-data-grid h3{margin:0 0 6px;color:var(--info-1);font-size:.83rem}
.legal-data-grid p{margin:0;font-size:.78rem;line-height:1.62}
.legal-contact-section{background:linear-gradient(135deg,var(--n3),var(--n3))!important}

@media(max-width:900px){
  .legal-document-layout{grid-template-columns:1fr;gap:20px}
  .legal-toc{position:static}
  .legal-toc nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
}
@media(max-width:620px){
  .legal-hero{padding-bottom:42px}
  .legal-document-section{padding:32px 0 64px}
  .legal-meta{align-items:flex-start;flex-direction:column;gap:7px}
  .legal-toc{padding:15px}
  .legal-toc nav{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
  .legal-toc a{flex:0 0 auto;padding:8px 10px;border:1px solid var(--border);border-radius:7px;white-space:nowrap}
  .legal-document>section{padding:25px 20px 25px 52px}
  .legal-section-number{left:18px;top:29px}
  .legal-data-grid{grid-template-columns:1fr}
  .legal-summary{padding:21px}
}

.site-footer{padding:0;background:var(--n2)}
.site-footer>.footer-inner{display:block;padding-top:54px;padding-bottom:24px}
.footer-main{display:grid;grid-template-columns:minmax(240px,1fr) minmax(540px,1.7fr);gap:70px;padding-bottom:42px}
.footer-intro{max-width:330px}
.footer-brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-family:var(--font-display);font-weight:800;font-size:1.08rem}
.footer-brand .brand-mark{width:34px;height:34px}
.footer-brand img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.footer-intro p{margin:17px 0 13px;color:var(--ink-dim);font-size:.87rem;line-height:1.65}
.footer-email{color:var(--gold-soft);font-size:.86rem;font-weight:700}
.footer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.footer-columns section{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.footer-columns h2{margin:0 0 5px;color:var(--ink);font:700 .68rem var(--font-mono);letter-spacing:.11em;text-transform:uppercase}
.footer-columns a{color:var(--ink-dim);font-size:.84rem;line-height:1.45}
.footer-columns a:hover,.footer-email:hover{color:var(--gold-soft)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:20px;border-top:1px solid var(--border-soft)}
.site-footer .footer-bottom p{margin:0;color:var(--ink-faint);font-size:.76rem}
.footer-bottom>div{display:flex;flex-wrap:wrap;gap:18px}
.footer-bottom a{color:var(--ink-faint);font-size:.76rem}
.footer-bottom a:hover{color:var(--ink-dim)}

/* Cookie preferences remain available from the footer without a floating widget. */
.cky-btn-revisit-wrapper,.cookieadmin_reconsent,.cookieadmin-reconsent,.ca-reconsent-icon{display:none!important}

@media(max-width:900px){
  .home-roadmap{grid-template-columns:1fr;min-height:0}
  .home-roadmap-tabs{flex-direction:row;overflow-x:auto;padding:14px;border-right:0;border-bottom:1px solid var(--n5);scrollbar-width:thin}
  .home-roadmap-tab{flex:0 0 235px;min-height:76px}
  .home-roadmap-tab.is-active{transform:none}
  .home-roadmap-stage{min-height:560px}
  .footer-main{grid-template-columns:1fr;gap:36px}
  .footer-intro{max-width:520px}
}
@media(max-width:680px){
  .home-coming-soon{padding-top:52px;padding-bottom:34px}
  .home-coming-heading{align-items:flex-start;flex-direction:column;gap:8px}
  .home-coming-heading h2{font-size:1.65rem}
  .home-coming-heading>span{text-align:left}
  .home-roadmap{border-radius:13px}
  .home-roadmap-tabs{padding:10px}
  .home-roadmap-tab{flex-basis:205px;grid-template-columns:37px minmax(0,1fr);min-height:69px;padding:10px}
  .home-roadmap-icon{width:37px;height:37px}
  .home-roadmap-tab em{display:none}
  .home-roadmap-stage{min-height:520px}
  .home-roadmap-toolbar{top:14px;left:16px;right:16px}
  .home-roadmap-panel{gap:17px;padding:60px 16px 22px}
  .roadmap-preview-copy h3{font-size:1.17rem}
  .roadmap-preview-copy p{font-size:.75rem}
  .roadmap-window{min-height:330px}
  .roadmap-chat,.roadmap-search-demo{padding:18px}
  .roadmap-chat-user{max-width:84%}
  .roadmap-search-results>div{grid-template-columns:42px minmax(0,1fr)}
  .roadmap-search-results i{width:42px}
  .roadmap-search-results em{display:none}
  .roadmap-download-table{padding:13px}
  .roadmap-download-table>div{grid-template-columns:minmax(0,1fr) 72px;padding:10px 6px}
  .roadmap-download-table>div>*:last-child{display:none}
  .legal-simple-content{padding:34px 0 62px}
  .legal-simple-copy section{padding:21px}
  .site-footer>.footer-inner{padding-top:42px;padding-bottom:22px}
  .footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}
  .footer-bottom{align-items:flex-start;flex-direction:column;gap:12px}
}
@media(max-width:430px){
  .home-roadmap-stage{min-height:535px}
  .roadmap-window-bar{padding:0 11px}
  .roadmap-window-bar em{display:none}
  .roadmap-saved-list,.roadmap-collection-demo{padding:14px}
  .roadmap-saved-list>div{grid-template-columns:48px minmax(0,1fr) 25px;padding:9px}
  .roadmap-map-thumb{width:48px}
  .roadmap-folder-card{grid-template-columns:42px minmax(0,1fr);padding:13px}
  .roadmap-folder-card>span{width:42px;height:42px}
  .footer-columns{grid-template-columns:1fr}
}

/* ========================================================================== 
   THEME 19.16.8: refined legal reading pages and product roadmap
   ========================================================================== */

/* Legal pages use a full-width contents panel so the document has no dead rail. */
.legal-wide-shell{max-width:1240px}
.legal-hero{padding-top:96px;padding-bottom:64px;background:radial-gradient(circle at 88% 20%,color-mix(in srgb, var(--n6) 18%, transparent),transparent 34%)}
.legal-hero h1{max-width:860px;font-size:clamp(3rem,5.4vw,4.8rem);font-weight:800;letter-spacing:-.05em}
.legal-hero>div>p{max-width:800px;font-size:1.12rem;line-height:1.72}
.legal-meta{gap:12px 34px;margin-top:28px;font-size:.71rem}
.legal-document-section{padding:48px 0 108px;background:linear-gradient(180deg,color-mix(in srgb, var(--n3) 50%, transparent),transparent 280px)}
.legal-document-layout{display:block}
.legal-toc{position:relative;top:auto;padding:22px 24px 24px;border-color:var(--n6);border-radius:14px;background:var(--n3);box-shadow:0 18px 48px rgba(0,0,0,.16)}
.legal-toc>strong{margin-bottom:15px;font-size:.67rem}
.legal-toc nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.legal-toc a{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 12px;border:1px solid var(--n5);border-radius:8px;background:var(--n3);color:var(--n17);font-size:.82rem;font-weight:600;line-height:1.3}
.legal-toc a span{flex:0 0 auto;color:var(--gold);font:700 .59rem var(--font-mono);letter-spacing:.07em}
.legal-toc a:hover,.legal-toc a:focus-visible{border:1px solid color-mix(in srgb, var(--gold-4) 48%, transparent);background:var(--n4);color:var(--info-1);transform:translateY(-1px)}
.legal-document{max-width:980px;margin:30px auto 0}
.legal-summary{margin-bottom:18px;padding:30px 34px;border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb, var(--gold-4) 10%, transparent),color-mix(in srgb, var(--n3) 97%, transparent) 60%)}
.legal-summary strong{margin-bottom:9px;font-size:1rem}
.legal-summary p{font-size:1.02rem;line-height:1.74}
.legal-document>section{margin:0 0 14px;padding:38px 40px 38px 84px;border:1px solid var(--n5);border-radius:14px;background:var(--n3);box-shadow:0 12px 32px rgba(0,0,0,.1)}
.legal-document>section:first-of-type,.legal-document>section:last-child{border-radius:14px}
.legal-section-number{left:30px;top:43px;font-size:.66rem}
.legal-document h2{margin-bottom:16px;font-size:1.42rem;font-weight:750;letter-spacing:-.018em}
.legal-document h3{margin:22px 0 8px;font-size:.98rem}
.legal-document p{margin-bottom:15px;font-size:1rem;line-height:1.82}
.legal-document ul{gap:10px;margin:16px 0;padding-left:22px;font-size:.98rem;line-height:1.75}
.legal-data-grid{gap:13px;margin-top:21px}
.legal-data-grid>div{padding:21px 22px;border-color:var(--n6);border-radius:10px;background:var(--n3)}
.legal-data-grid h3{font-size:.94rem}
.legal-data-grid p{font-size:.87rem;line-height:1.68}
.legal-contact-section{border-color:color-mix(in srgb, var(--gold-4) 34%, transparent)!important;background:linear-gradient(135deg,color-mix(in srgb, var(--gold-4) 8%, transparent),var(--n3) 52%)!important}

/* The roadmap reads as a real product preview, not a set of small wireframes. */
.home-coming-soon{padding-top:84px;padding-bottom:62px}
.home-coming-heading{margin-bottom:32px}
.home-coming-heading p{font-size:.72rem}
.home-coming-heading h2{font-size:clamp(2.05rem,3.4vw,2.65rem);letter-spacing:-.035em}
.home-coming-heading>span{max-width:370px;font-size:.96rem;line-height:1.55}
.home-roadmap{grid-template-columns:312px minmax(0,1fr);min-height:700px;border-color:var(--n6);border-radius:18px;background:var(--n2);box-shadow:0 30px 80px rgba(0,0,0,.28)}
.home-roadmap-tabs{gap:7px;padding:20px;border-right-color:var(--n6)}
.home-roadmap-tab{grid-template-columns:46px minmax(0,1fr);gap:14px;min-height:96px;padding:14px 15px;opacity:.62}
.home-roadmap-tab:hover,.home-roadmap-tab:focus-visible{opacity:.9}
.home-roadmap-tab.is-active{border-color:var(--n7);background:linear-gradient(135deg,var(--n4),var(--n3));box-shadow:0 10px 24px rgba(0,0,0,.17);transform:translateX(3px)}
.home-roadmap-icon{width:46px;height:46px;border-radius:11px}
.home-roadmap-icon svg{width:22px;height:22px}
.home-roadmap-tab small{font-size:.57rem}
.home-roadmap-tab strong{font-size:.96rem}
.home-roadmap-tab em{margin-top:5px;font-size:.72rem;line-height:1.4}
.home-roadmap-stage{min-height:700px;background:linear-gradient(145deg,var(--n3),var(--n3))}
.home-roadmap-toolbar{top:22px;left:40px;right:40px;font-size:.61rem}
.home-roadmap-toolbar button{width:34px;height:34px;border-radius:9px}
.home-roadmap-toolbar strong{font-size:.76rem}
.home-roadmap-panel{gap:28px;padding:82px 40px 40px}
.roadmap-preview-copy{max-width:760px}
.roadmap-preview-copy>small{margin-bottom:8px;font-size:.63rem}
.roadmap-preview-copy h3{margin-bottom:10px;font-size:1.75rem;letter-spacing:-.028em}
.roadmap-preview-copy p{max-width:730px;font-size:.94rem;line-height:1.65}
.roadmap-window{min-height:410px;border-color:var(--n6);border-radius:14px;box-shadow:0 24px 48px rgba(0,0,0,.28)}
.roadmap-window-bar{height:50px;padding:0 18px;border-bottom-color:var(--n6)}
.roadmap-window-bar>span{width:9px;height:9px;box-shadow:0 0 0 5px color-mix(in srgb, var(--gold-4) 8%, transparent)}
.roadmap-window-bar strong{font-size:.8rem}
.roadmap-window-bar em{font-size:.58rem}
.roadmap-chat{gap:19px;padding:34px}
.roadmap-chat-user{padding:15px 18px;font-size:.88rem}
.roadmap-chat-answer{grid-template-columns:42px minmax(0,1fr);gap:14px}
.roadmap-ai-mark{width:42px;height:42px}
.roadmap-chat-answer>div{padding:18px}
.roadmap-chat-answer strong{font-size:.9rem}
.roadmap-chat-answer p{font-size:.79rem}
.roadmap-result-chips span,.roadmap-filter-row span{padding:7px 9px;font-size:.66rem}
.roadmap-chat-context{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid var(--n6);border-radius:10px;background:var(--n3)}
.roadmap-chat-context small{display:block;margin-bottom:4px;color:var(--n12);font:.55rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
.roadmap-chat-context strong{display:block;color:var(--n21);font-size:.75rem}
.roadmap-chat-context>span{flex:0 0 auto;padding:6px 8px;border-radius:6px;background:color-mix(in srgb, var(--ok-2) 12%, transparent);color:var(--ok-1);font-size:.61rem;font-weight:700}
.roadmap-chat-prompts{display:flex;flex-wrap:wrap;gap:7px}
.roadmap-chat-prompts span{padding:7px 10px;border:1px solid var(--n6);border-radius:999px;color:var(--n14);font-size:.61rem}
.roadmap-search-demo{padding:34px}
.roadmap-search-query{grid-template-columns:21px minmax(0,1fr) auto;padding:13px 13px 13px 16px;font-size:.84rem}
.roadmap-search-query b{padding:8px 13px;font-size:.68rem}
.roadmap-filter-row{margin:15px 0 22px}
.roadmap-search-results>div{padding:13px}
.roadmap-search-results strong{font-size:.78rem}
.roadmap-search-results small{font-size:.64rem}
.roadmap-search-results em{font-size:.63rem}
.roadmap-search-results i.is-empires:after{clip-path:polygon(8% 31%,28% 8%,53% 18%,72% 3%,96% 30%,81% 53%,89% 83%,57% 95%,37% 72%,9% 84%,18% 53%)}
.roadmap-search-results i.is-balkans:after{clip-path:polygon(24% 0,74% 8%,96% 37%,73% 54%,84% 96%,45% 79%,14% 99%,5% 50%)}
.roadmap-folder-card{padding:22px}
.roadmap-folder-card strong{font-size:.91rem}
.roadmap-folder-card p{font-size:.7rem}
.roadmap-collection-stack span{padding:12px 14px;font-size:.75rem}
.roadmap-collection-stack b{float:right;color:var(--n13);font:700 .52rem var(--font-mono);letter-spacing:.05em;text-transform:uppercase}
.roadmap-collection-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:13px;padding-left:43px}
.roadmap-collection-foot>span{color:var(--n12);font-size:.63rem}
.roadmap-collection-foot button{padding:8px 11px;border:1px solid color-mix(in srgb, var(--gold-4) 34%, transparent);border-radius:7px;background:color-mix(in srgb, var(--gold-4) 8%, transparent);color:var(--gold-soft);font-size:.63rem;font-weight:700}
.roadmap-download-table{padding:28px 30px}
.roadmap-download-table>div{grid-template-columns:minmax(0,1fr) 110px 126px;padding:14px;font-size:.73rem}
.roadmap-download-table .is-head{font-size:.58rem}
.roadmap-download-table strong{font-size:.78rem}
.roadmap-download-table small{font-size:.62rem}
.roadmap-download-table b{font-size:.67rem}
.roadmap-download-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 30px;border-bottom:1px solid var(--n5);background:var(--n3)}
.roadmap-download-summary div{display:flex;align-items:baseline;gap:9px}
.roadmap-download-summary small{color:var(--n12);font:.55rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
.roadmap-download-summary strong{color:var(--n22);font-size:.9rem}
.roadmap-download-summary>span{color:var(--n13);font-size:.65rem}

/* Saved maps use large, recognisable map previews. */
.roadmap-saved-window{display:grid;grid-template-rows:50px auto minmax(0,1fr)}
.roadmap-saved-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;border-bottom:1px solid var(--n5);background:var(--n3)}
.roadmap-saved-toolbar div{display:flex;align-items:baseline;gap:10px}
.roadmap-saved-toolbar strong{color:var(--n22);font-size:.82rem}
.roadmap-saved-toolbar div span{color:var(--n12);font-size:.67rem}
.roadmap-saved-toolbar button{padding:7px 10px;border:1px solid var(--n6);border-radius:7px;background:var(--n3);color:var(--n16);font-size:.66rem}
.roadmap-saved-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding:20px}
.roadmap-saved-grid article{position:relative;min-width:0;overflow:hidden;border:1px solid var(--n5);border-radius:11px;background:var(--n3);transition:border-color .18s,transform .18s}
.roadmap-saved-grid article:hover{border-color:color-mix(in srgb, var(--gold-4) 45%, transparent);transform:translateY(-2px)}
.roadmap-saved-map{position:relative;height:142px;overflow:hidden;border-bottom:1px solid var(--n6);background-color:var(--n3);background-image:radial-gradient(circle at 26% 18%,color-mix(in srgb, var(--n9) 20%, transparent),transparent 35%),linear-gradient(color-mix(in srgb, var(--n11) 7%, transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb, var(--n11) 7%, transparent) 1px,transparent 1px);background-size:auto,22px 22px,22px 22px}
.roadmap-saved-map svg{display:block;width:100%;height:100%;padding:15px}
.roadmap-saved-map .map-coast,.roadmap-saved-map .map-context{fill:var(--n6);stroke:var(--n12);stroke-width:1.2}
.roadmap-saved-map .map-focus{fill:color-mix(in srgb, var(--gold-4) 82%, transparent);stroke:var(--gold-4);stroke-width:1.5}
.roadmap-saved-map .map-line{fill:none;stroke:var(--n3);stroke-width:1.2}
.roadmap-saved-map>span{position:absolute;left:10px;top:10px;padding:5px 7px;border:1px solid color-mix(in srgb, var(--gold-4) 30%, transparent);border-radius:5px;background:color-mix(in srgb, var(--n2) 82%, transparent);color:var(--gold-soft);font:700 .52rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
.roadmap-saved-card-copy{padding:14px 42px 15px 14px}
.roadmap-saved-card-copy small{display:block;margin-bottom:5px;color:var(--gold);font:700 .57rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
.roadmap-saved-card-copy strong{display:block;color:var(--n22);font-size:.82rem}
.roadmap-saved-card-copy p{margin:5px 0 0;color:var(--n13);font-size:.67rem;line-height:1.4}
.roadmap-saved-grid article>button{position:absolute;right:10px;bottom:15px;display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid color-mix(in srgb, var(--gold-4) 34%, transparent);border-radius:7px;background:color-mix(in srgb, var(--gold-4) 8%, transparent);color:var(--gold-soft)}
.roadmap-saved-grid article>button svg{width:14px;height:14px;fill:currentColor;stroke:none}

/* Map Replay uses geographic context and a staged historical timeline. */
.roadmap-replay-window{display:grid;grid-template-rows:50px minmax(0,1fr) 66px}
.roadmap-replay-map{position:relative;height:318px;overflow:hidden;background-color:var(--n3);background-image:radial-gradient(circle at 48% 48%,color-mix(in srgb, var(--n8) 20%, transparent),transparent 46%),linear-gradient(color-mix(in srgb, var(--n9) 7%, transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb, var(--n9) 7%, transparent) 1px,transparent 1px);background-size:auto,32px 32px,32px 32px}
.roadmap-replay-map>svg{display:block;width:100%;height:100%;padding:14px 34px 8px}
.roadmap-replay-map path{vector-effect:non-scaling-stroke;transition:fill .2s,opacity .2s}
.roadmap-replay-map path.is-context{fill:var(--n4);stroke:var(--n12);stroke-width:1.1;opacity:.68}
.roadmap-replay-map path.is-india{fill:var(--n8);stroke:var(--info-1);stroke-width:1.25}
.roadmap-replay-map path.is-pakistan{fill:var(--gold-3);stroke:var(--gold-4);stroke-width:1.45;filter:drop-shadow(0 4px 8px color-mix(in srgb, var(--gold-4) 17%, transparent))}
.replay-place-labels text{fill:var(--info-1);font:700 12px var(--font-mono);letter-spacing:.12em;paint-order:stroke;stroke:var(--n3);stroke-width:4px;stroke-linejoin:round}
.replay-place-labels text.is-city{fill:var(--info-1);font-size:10px;font-weight:600;letter-spacing:.02em;stroke-width:3px;text-transform:none}
.replay-place-labels circle{fill:var(--gold-5);stroke:var(--n3);stroke-width:3}
.roadmap-map-controls{position:absolute;z-index:3;left:14px;top:14px;display:grid;border:1px solid var(--n7);border-radius:8px;overflow:hidden;box-shadow:0 8px 22px rgba(0,0,0,.28)}
.roadmap-map-controls button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-bottom:1px solid var(--n7);background:color-mix(in srgb, var(--n3) 94%, transparent);color:var(--info-1);font-size:1rem}
.roadmap-map-controls button:last-child{border-bottom:0}
.roadmap-date-card{left:auto;right:18px;bottom:auto;top:18px;width:238px;padding:15px 16px;border-color:color-mix(in srgb, var(--gold-4) 46%, transparent);border-radius:10px;background:color-mix(in srgb, var(--n2) 94%, transparent);backdrop-filter:blur(10px)}
.roadmap-date-card small{font-size:.53rem;letter-spacing:.08em}
.roadmap-date-card strong{margin:3px 0 2px;font-size:1.65rem;line-height:1}
.roadmap-date-card span{display:block;color:var(--n22);font-size:.73rem;font-weight:700}
.roadmap-date-card p{margin:8px 0 0;color:var(--n14);font-size:.62rem;line-height:1.45}
.roadmap-replay-legend{position:absolute;right:15px;bottom:13px;display:flex;flex-wrap:wrap;gap:6px;padding:7px 9px;border:1px solid var(--n6);border-radius:7px;background:color-mix(in srgb, var(--n2) 88%, transparent);backdrop-filter:blur(8px)}
.roadmap-replay-legend span{display:flex;align-items:center;gap:5px;color:var(--n15);font-size:.55rem}
.roadmap-replay-legend i{display:block;width:9px;height:9px;border-radius:2px;background:var(--n4)}
.roadmap-replay-legend i.is-pakistan{background:var(--gold-3)}.roadmap-replay-legend i.is-india{background:var(--n8)}.roadmap-replay-legend i.is-context{background:var(--n4);border:1px solid var(--n12)}
.roadmap-timeline{grid-template-columns:36px minmax(0,1fr) auto;gap:15px;padding:13px 17px 15px;background:var(--n3)}
.roadmap-timeline button{width:34px;height:34px;font-size:.65rem}
.roadmap-timeline-track{position:relative;height:4px;margin:0 20px;border-radius:4px;background:var(--n6)}
.roadmap-timeline-track span{display:block;width:68%;height:100%;border-radius:inherit;background:var(--gold)}
.roadmap-timeline-track i{position:absolute;top:50%;width:13px;height:13px;border:3px solid var(--n3);border-radius:50%;background:var(--gold);transform:translate(-50%,-50%)}
.roadmap-timeline-track b{position:absolute;top:13px;color:var(--n13);font:600 .51rem var(--font-mono);transform:translateX(-50%)}
.roadmap-timeline-track b:first-of-type{transform:none}.roadmap-timeline-track b:last-of-type{transform:translateX(-100%)}
.roadmap-timeline>strong{color:var(--n15);font:700 .56rem var(--font-mono);letter-spacing:.04em;text-transform:uppercase}

@media(max-width:960px){
  .legal-toc nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-roadmap{grid-template-columns:1fr;min-height:0}
  .home-roadmap-tabs{flex-direction:row;overflow-x:auto;padding:14px;border-right:0;border-bottom:1px solid var(--n6);scrollbar-width:thin}
  .home-roadmap-tab{flex:0 0 245px;min-height:82px}
  .home-roadmap-tab.is-active{transform:none}
  .home-roadmap-stage{min-height:680px}
}

@media(max-width:700px){
  .legal-hero{padding-top:58px;padding-bottom:44px}
  .legal-hero h1{font-size:2.7rem}
  .legal-hero>div>p{font-size:1rem}
  .legal-document-section{padding:28px 0 70px}
  .legal-toc{padding:17px}
  .legal-toc nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;overflow:visible;padding:0}
  .legal-toc a{min-width:0;white-space:normal;font-size:.74rem}
  .legal-document{margin-top:20px}
  .legal-summary{padding:23px 22px}
  .legal-summary p{font-size:.96rem}
  .legal-document>section{padding:29px 21px 29px 57px}
  .legal-section-number{left:20px;top:34px}
  .legal-document h2{font-size:1.22rem}
  .legal-document p,.legal-document ul{font-size:.95rem;line-height:1.75}
  .legal-data-grid{grid-template-columns:1fr}

  .home-coming-soon{padding-top:58px;padding-bottom:42px}
  .home-coming-heading{align-items:flex-start;flex-direction:column;gap:9px}
  .home-coming-heading h2{font-size:1.9rem}
  .home-coming-heading>span{text-align:left;font-size:.88rem}
  .home-roadmap{border-radius:14px}
  .home-roadmap-tabs{padding:10px}
  .home-roadmap-tab{flex-basis:218px;grid-template-columns:40px minmax(0,1fr);min-height:74px;padding:11px}
  .home-roadmap-icon{width:40px;height:40px}
  .home-roadmap-tab em{display:none}
  .home-roadmap-stage{min-height:660px}
  .home-roadmap-toolbar{top:15px;left:17px;right:17px}
  .home-roadmap-panel{gap:19px;padding:62px 16px 22px}
  .roadmap-preview-copy h3{font-size:1.35rem}
  .roadmap-preview-copy p{font-size:.83rem}
  .roadmap-window{min-height:400px}
  .roadmap-window-bar{height:46px;padding:0 12px}
  .roadmap-window-bar em{display:none}
  .roadmap-saved-window{grid-template-rows:46px auto minmax(0,1fr)}
  .roadmap-saved-toolbar{padding:13px 14px}
  .roadmap-saved-toolbar div span{display:none}
  .roadmap-saved-grid{display:flex;gap:10px;overflow-x:auto;padding:14px;scroll-snap-type:x mandatory}
  .roadmap-saved-grid article{flex:0 0 76%;scroll-snap-align:start}
  .roadmap-saved-map{height:150px}
  .roadmap-replay-window{grid-template-rows:46px minmax(0,1fr) 68px}
  .roadmap-replay-map{height:410px}
  .roadmap-replay-map>svg{position:absolute;left:0;right:0;top:48px;height:218px;padding:8px 22px}
  .roadmap-map-controls{left:10px;top:10px}
  .roadmap-date-card{left:12px;right:12px;top:auto;bottom:51px;width:auto;padding:12px 14px}
  .roadmap-date-card p{display:none}
  .roadmap-replay-legend{left:12px;right:auto;bottom:12px}
  .replay-place-labels text{font-size:10px}
  .replay-place-labels text.is-city,.replay-place-labels circle{display:none}
  .roadmap-timeline{grid-template-columns:34px minmax(0,1fr);gap:9px;padding:12px}
  .roadmap-timeline-track{margin:0 5px}
  .roadmap-timeline>strong{display:none}
  .roadmap-chat-context{align-items:flex-start;flex-direction:column;gap:9px}
  .roadmap-chat-prompts span:last-child{display:none}
  .roadmap-collection-foot{padding-left:0}
  .roadmap-download-summary{align-items:flex-start;flex-direction:column;padding:13px;gap:5px}
  .roadmap-download-summary>span{font-size:.6rem}
}

@media(max-width:460px){
  .legal-toc a{min-height:40px}
  .legal-document>section{padding:26px 18px 26px 50px}
  .legal-section-number{left:17px;top:30px}
  .legal-data-grid>div{padding:18px}
  .home-roadmap-stage{min-height:680px}
  .roadmap-saved-grid article{flex-basis:88%}
  .roadmap-replay-map{height:430px}
  .roadmap-replay-map>svg{transform:scale(1.32);transform-origin:50% 48%}
  .roadmap-replay-legend span{font-size:.51rem}
}

/* ========================================================================== 
   THEME 19.16.9: Histriphy product tour and real account activity
   ========================================================================== */
.home-coming-soon{background:var(--n2)}
.home-coming-heading h2{max-width:720px;font-weight:680;line-height:1.06;letter-spacing:-.04em}
.home-coming-heading>span{color:var(--n15)}
.home-roadmap{grid-template-columns:286px minmax(0,1fr);min-height:720px;border-color:var(--n6);border-radius:10px;background:var(--n2);box-shadow:0 22px 60px rgba(0,0,0,.22)}
.home-roadmap-tabs{gap:0;padding:24px 0;border-right-color:var(--n6);background:var(--n2)}
.home-roadmap-tab{grid-template-columns:38px minmax(0,1fr);gap:13px;min-height:92px;padding:17px 22px;border:0;border-left:2px solid transparent;border-radius:0;opacity:.48;transition:opacity .18s,background .18s,border-color .18s}
.home-roadmap-tab:hover,.home-roadmap-tab:focus-visible{opacity:.82;background:var(--n3)}
.home-roadmap-tab.is-active{border-color:var(--gold);background:var(--n3);box-shadow:none;transform:none}
.home-roadmap-tab.is-milestone.is-active{border-color:var(--gold)}
.home-roadmap-index{align-self:start;padding-top:2px;color:var(--n13);font:600 .62rem var(--font-mono);letter-spacing:.08em}
.home-roadmap-tab.is-active .home-roadmap-index{color:var(--gold)}
.home-roadmap-tab strong{font-size:.97rem;font-weight:650;letter-spacing:-.01em}
.home-roadmap-tab em{max-width:180px;margin-top:6px;font-size:.7rem;line-height:1.45}
.home-roadmap-stage{min-height:720px;background:var(--n3)}
.home-roadmap-toolbar{top:24px;left:36px;right:36px;color:var(--n13);font-size:.58rem}
.home-roadmap-toolbar strong{color:var(--n21);font-size:.69rem;letter-spacing:.02em;text-transform:none}
.home-roadmap-panel{gap:24px;padding:82px 36px 36px}
.roadmap-preview-copy>small{font-size:.6rem;letter-spacing:.11em}
.roadmap-preview-copy h3{max-width:760px;font-size:1.72rem;font-weight:680;line-height:1.16;letter-spacing:-.032em}
.roadmap-preview-copy p{max-width:720px;color:var(--n16);font-size:.91rem;line-height:1.62}
.roadmap-window{min-height:420px;border-color:var(--n6);border-radius:8px;background:var(--n2);box-shadow:none}
.roadmap-window-bar{height:48px;background:var(--n3)}
.roadmap-window-bar strong{font-weight:650}

/* The AI preview behaves like a map research workspace instead of a chat toy. */
.roadmap-ai-window{display:grid;grid-template-rows:48px auto minmax(0,1fr) auto}
.roadmap-research-query{display:flex;align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid var(--n6);background:var(--n3)}
.roadmap-research-query small{flex:0 0 auto;color:var(--n12);font:600 .56rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.roadmap-research-query strong{color:var(--info-1);font-size:.8rem;font-weight:600}
.roadmap-research-workspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);min-height:255px}
.roadmap-research-answer{display:grid;grid-template-columns:34px minmax(0,1fr);gap:13px;padding:22px 24px;border-right:1px solid var(--n6)}
.roadmap-research-answer .roadmap-ai-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--gold);color:var(--n2);font-size:.76rem;font-weight:800}
.roadmap-research-answer strong{display:block;margin:3px 0 8px;color:var(--info-1);font-size:.88rem}
.roadmap-research-answer p{margin:0;color:var(--n15);font-size:.72rem;line-height:1.62}
.roadmap-research-answer ul{display:grid;gap:7px;margin:16px 0 0;padding:0;list-style:none}
.roadmap-research-answer li{display:flex;gap:10px;padding:7px 9px;border-left:2px solid var(--n7);background:var(--n3);color:var(--n18);font-size:.66rem}
.roadmap-research-answer li b{min-width:34px;color:var(--gold-soft);font-family:var(--font-mono);font-size:.59rem}
.roadmap-research-map{display:grid;grid-template-rows:1fr auto;min-width:0;background:var(--n3)}
.roadmap-research-map img{width:100%;height:100%;min-height:150px;padding:15px 20px;object-fit:contain}
.roadmap-research-map>div{padding:12px 14px;border-top:1px solid var(--n6);background:var(--n3)}
.roadmap-research-map small,.roadmap-research-map span{display:block;color:var(--n13);font-size:.58rem}
.roadmap-research-map small{margin-bottom:4px;color:var(--gold);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
.roadmap-research-map strong{display:block;color:var(--n22);font-size:.72rem}
.roadmap-research-map span{margin-top:4px}
.roadmap-research-foot{display:flex;align-items:center;gap:22px;padding:11px 18px;border-top:1px solid var(--n6);color:var(--n13);font-size:.59rem}
.roadmap-research-foot span{display:flex;align-items:center;gap:6px}
.roadmap-research-foot span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold)}

/* Every miniature map now uses projected geography. */
.roadmap-result-map{display:grid;place-items:center;width:50px;height:38px;overflow:hidden;border:1px solid var(--n7);border-radius:5px;background:var(--n4)}
.roadmap-result-map img{width:100%;height:100%;padding:3px;object-fit:contain}
.roadmap-search-results>div{grid-template-columns:50px minmax(0,1fr) auto}
.roadmap-saved-map img{display:block;width:100%;height:100%;padding:12px 14px;object-fit:contain}
.roadmap-saved-map>span{z-index:2}
.roadmap-saved-card-copy strong{font-family:Georgia,'Times New Roman',serif;font-size:.93rem;font-weight:600}
.roadmap-folder-map{width:96px!important;height:64px!important;border:1px solid var(--n6)!important;border-radius:6px!important;background:var(--n3)!important}
.roadmap-folder-map img{width:100%;height:100%;padding:5px;object-fit:contain}
.roadmap-folder-card{grid-template-columns:96px minmax(0,1fr)}

/* Map Replay has four real, selectable scenes. */
.roadmap-replay-window{grid-template-rows:48px minmax(0,1fr) 72px}
.roadmap-replay-map{height:340px;background-color:var(--n3);background-image:linear-gradient(color-mix(in srgb, var(--n10) 6.5%, transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb, var(--n10) 6.5%, transparent) 1px,transparent 1px);background-size:32px 32px}
.roadmap-replay-map>svg,.roadmap-replay-mughal{transition:opacity .28s ease,transform .28s ease}
.roadmap-replay-mughal{position:absolute;inset:0;width:100%;height:100%;padding:12px 120px 8px 24px;object-fit:contain;opacity:0;pointer-events:none}
.roadmap-replay-map>svg{opacity:1}
.roadmap-replay-window[data-replay-stage="0"] .roadmap-replay-mughal{opacity:1}
.roadmap-replay-window[data-replay-stage="0"] .roadmap-replay-map>svg{opacity:0}
.roadmap-replay-window[data-replay-stage="1"] path.is-india,.roadmap-replay-window[data-replay-stage="1"] path.is-pakistan{fill:var(--gold-2);stroke:var(--gold-4)}
.roadmap-replay-window[data-replay-stage="3"] path[data-country="Bangladesh"]{fill:var(--gold-4);stroke:var(--gold-5)}
.roadmap-replay-window[data-replay-stage="0"] .roadmap-replay-map::after,.roadmap-replay-window[data-replay-stage="1"] .roadmap-replay-map::after{position:absolute;left:50%;top:52%;padding:5px 8px;border:1px solid color-mix(in srgb, var(--gold-4) 34%, transparent);border-radius:4px;background:color-mix(in srgb, var(--n2) 84%, transparent);color:var(--gold-5);font:700 .58rem var(--font-mono);letter-spacing:.08em;transform:translate(-50%,-50%)}
.roadmap-replay-window[data-replay-stage="0"] .roadmap-replay-map::after{content:"MUGHAL EMPIRE"}
.roadmap-replay-window[data-replay-stage="1"] .roadmap-replay-map::after{content:"BRITISH INDIA"}
.roadmap-replay-window[data-replay-stage="0"] .replay-place-labels,.roadmap-replay-window[data-replay-stage="1"] .replay-place-labels{opacity:0}
.replay-place-labels{transition:opacity .2s}
.roadmap-date-stack{position:absolute;z-index:4;right:18px;top:18px;width:248px}
.roadmap-date-stack .roadmap-date-card{position:relative;inset:auto;display:none;width:100%;padding:15px 16px;border:1px solid color-mix(in srgb, var(--gold-4) 45%, transparent);border-radius:7px;background:color-mix(in srgb, var(--n2) 95%, transparent);backdrop-filter:blur(10px)}
.roadmap-date-stack .roadmap-date-card.is-active{display:block;animation:roadmap-panel-in .25s ease both}
.roadmap-date-stack .roadmap-date-card strong{font-family:Georgia,'Times New Roman',serif;font-size:1.8rem;font-weight:600}
.roadmap-date-stack .roadmap-date-card span{font-size:.74rem}
.roadmap-date-stack .roadmap-date-card p{font-size:.62rem}
.roadmap-replay-legend{right:14px;bottom:12px;border-radius:5px}
.roadmap-timeline{grid-template-columns:36px minmax(0,1fr) 72px;gap:13px;padding:14px 16px 17px}
.roadmap-timeline-track{height:4px;margin:0 11px}
.roadmap-timeline-track>span{width:66.666%;transition:width .28s ease}
.roadmap-timeline-track>i{left:66.666%;transition:left .28s ease}
.roadmap-timeline-track>button{position:absolute;top:12px;width:auto;height:auto;padding:0;border:0;background:transparent;color:var(--n13);font:600 .51rem var(--font-mono);transform:translateX(-50%)}
.roadmap-timeline-track>button:nth-of-type(1){left:0;transform:none}
.roadmap-timeline-track>button:nth-of-type(2){left:33.333%}
.roadmap-timeline-track>button:nth-of-type(3){left:66.666%}
.roadmap-timeline-track>button:nth-of-type(4){left:100%;transform:translateX(-100%)}
.roadmap-timeline-track>button.is-active{color:var(--gold-soft)}

/* The account chart now explains a genuine zero and shows the real period total. */
.dashboard-chart-card-v2{position:relative}
.dashboard-chart-card-v2>.dashboard-chart-heading{align-items:center}
.dashboard-chart-heading>div{display:block!important;margin:0!important}
.dashboard-chart-heading>span{flex:0 0 auto;padding:7px 10px;border:1px solid var(--n6);border-radius:999px;background:var(--n3);color:var(--n18);font-size:.66rem;font-weight:600}
.dashboard-chart-empty{position:absolute;z-index:2;left:50%;top:55%;padding:8px 11px;border:1px solid var(--n6);border-radius:6px;background:color-mix(in srgb, var(--n2) 88%, transparent);color:var(--n15)!important;transform:translate(-50%,-50%);white-space:nowrap}
.dashboard-chart-card.chart-unavailable canvas{display:none}
.dashboard-chart-card.chart-unavailable::after{content:"The activity chart could not load. Refresh the page to try again.";display:block;margin-top:42px;color:var(--n16);font-size:.82rem;text-align:center}

@media(max-width:960px){
  .home-roadmap{grid-template-columns:1fr}
  .home-roadmap-tabs{padding:0;border-right:0;border-bottom:1px solid var(--n6)}
  .home-roadmap-tab{flex:0 0 240px;min-height:86px;border-left:0;border-bottom:2px solid transparent;padding:15px 18px}
  .home-roadmap-tab.is-active{border-bottom-color:var(--gold)}
}

@media(max-width:700px){
  .home-coming-heading h2{font-size:2rem}
  .home-roadmap{border-radius:8px}
  .home-roadmap-tab{flex-basis:224px;grid-template-columns:30px minmax(0,1fr);min-height:78px;padding:12px 14px}
  .home-roadmap-tab em{display:block;font-size:.64rem}
  .home-roadmap-stage{min-height:720px}
  .home-roadmap-panel{padding:62px 16px 20px}
  .roadmap-preview-copy h3{font-size:1.38rem}
  .roadmap-preview-copy p{font-size:.82rem}
  .roadmap-research-query{align-items:flex-start;flex-direction:column;gap:5px;padding:12px 14px}
  .roadmap-research-workspace{grid-template-columns:1fr}
  .roadmap-research-answer{padding:16px;border-right:0;border-bottom:1px solid var(--n6)}
  .roadmap-research-map{grid-template-columns:100px minmax(0,1fr);grid-template-rows:auto;min-height:112px}
  .roadmap-research-map img{min-height:110px;padding:10px}
  .roadmap-research-map>div{display:flex;flex-direction:column;justify-content:center;border-top:0;border-left:1px solid var(--n6)}
  .roadmap-research-foot{flex-wrap:wrap;gap:8px 14px}
  .roadmap-search-results>div{grid-template-columns:46px minmax(0,1fr)}
  .roadmap-result-map{width:46px}
  .roadmap-folder-card{grid-template-columns:74px minmax(0,1fr)}
  .roadmap-folder-map{width:74px!important;height:58px!important}
  .roadmap-replay-map{height:450px}
  .roadmap-replay-map>svg,.roadmap-replay-mughal{position:absolute;left:0;right:0;top:48px;width:100%;height:220px;padding:8px 22px}
  .roadmap-replay-map>svg{transform:scale(1.28)}
  .roadmap-replay-mughal{transform:scale(1.08)}
  .roadmap-date-stack{left:12px;right:12px;top:auto;bottom:52px;width:auto}
  .roadmap-date-stack .roadmap-date-card{padding:12px 14px}
  .roadmap-date-stack .roadmap-date-card p{display:none}
  .roadmap-replay-legend{left:12px;right:auto;bottom:12px}
  .roadmap-timeline{grid-template-columns:34px minmax(0,1fr);gap:9px;padding:12px}
  .roadmap-timeline>strong{display:none}
  .dashboard-chart-heading{align-items:flex-start!important;flex-direction:column;gap:10px!important}
  .dashboard-chart-empty{max-width:82%;white-space:normal;text-align:center}
}

@media(max-width:460px){
  .home-roadmap-stage{min-height:750px}
  .roadmap-saved-grid article{flex-basis:90%}
  .roadmap-saved-map{height:164px}
  .roadmap-replay-map{height:470px}
  .roadmap-replay-map>svg,.roadmap-replay-mughal{top:55px;height:230px}
  .roadmap-replay-map>svg{transform:scale(1.4)}
}

/* Undated / conceptual map submission option */
.submission-no-year{display:flex;align-items:center;gap:8px;margin-top:10px;color:var(--ink-dim);font-size:.82rem;font-weight:500}.submission-no-year input{width:16px;height:16px;margin:0;accent-color:var(--gold)}input[aria-disabled="true"]{opacity:.48}

/* Homepage future roadmap, v19.20.3 */
.home-future-section{padding:78px 0 58px;border-top:1px solid var(--border-soft);background:linear-gradient(180deg,color-mix(in srgb, var(--n3) 36%, transparent),color-mix(in srgb, var(--n2) 0%, transparent))}
.home-future-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:28px}
.home-future-head p{margin:0 0 9px;color:var(--gold);font:700 .7rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase}
.home-future-head h2{max-width:720px;margin:0;font-size:clamp(1.9rem,3.3vw,2.55rem);line-height:1.08;letter-spacing:-.035em}
.home-future-head>span{max-width:390px;color:var(--ink-dim);font-size:.95rem;line-height:1.55;text-align:right}
.home-future-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.home-future-card{display:flex;gap:18px;min-height:210px;padding:25px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb, var(--n3) 72%, transparent)}
.home-future-card-featured{border-color:color-mix(in srgb, var(--gold-4) 44%, transparent);background:linear-gradient(135deg,color-mix(in srgb, var(--gold-4) 9%, transparent),color-mix(in srgb, var(--n3) 82%, transparent))}
.home-future-icon{display:grid;flex:0 0 44px;width:44px;height:44px;place-items:center;border:1px solid color-mix(in srgb, var(--gold-4) 34%, transparent);border-radius:11px;background:color-mix(in srgb, var(--gold-4) 8%, transparent);color:var(--gold)}
.home-future-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.home-future-label{display:block;margin:1px 0 9px;color:var(--gold);font:700 .67rem var(--font-mono);letter-spacing:.11em;text-transform:uppercase}
.home-future-card h3{margin:0 0 9px;font-size:1.2rem;line-height:1.25}
.home-future-card p{margin:0;color:var(--ink-dim);font-size:.94rem;line-height:1.65}
.home-format-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.home-format-list span{padding:6px 9px;border:1px solid var(--border);border-radius:999px;color:var(--ink-soft);font:600 .68rem var(--font-mono)}
.home-future-note{margin:18px 2px 0;color:var(--ink-faint);font-size:.83rem;line-height:1.6}
.home-future-note code{color:var(--gold);font-family:var(--font-mono)}
@media (max-width:820px){
  .home-future-section{padding:58px 0 44px}
  .home-future-head{align-items:flex-start;flex-direction:column;gap:9px}
  .home-future-head>span{text-align:left}
  .home-future-grid{grid-template-columns:1fr}
  .home-future-card{min-height:0}
}
@media (max-width:520px){
  .home-future-card{gap:14px;padding:20px}
  .home-future-icon{flex-basis:40px;width:40px;height:40px}
}


/* 19.20.7: simplified contact links */
.geo-builder-bug-report{margin:11px 0 0;color:var(--ink-faint);font-size:.76rem;line-height:1.55;text-align:center}
.geo-builder-bug-report a{color:var(--gold-soft);font-weight:700;text-decoration:none}
.geo-builder-bug-report a:hover{text-decoration:underline}


/* ==========================================================================
   19.21.0  ·  HOMEPAGE + GLOBAL CHROME REDESIGN
   ========================================================================== */

.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---- header chrome ---- */
.site-header{background:color-mix(in srgb, var(--bg) 88%, transparent);border-bottom:1px solid var(--border-soft);box-shadow:none}
.header-inner{height:68px;gap:26px}
.brand-name{font-size:1.12rem;letter-spacing:-.02em;font-weight:650}
.brand-mark{background:transparent;overflow:hidden}
.desktop-nav{gap:26px;margin-right:auto;margin-left:8px}
.desktop-nav a{font-size:.9rem;color:var(--ink-dim)}
.desktop-nav a:hover{color:var(--ink)}
.header-actions{gap:10px}
.account-link{display:inline-flex;align-items:center;padding:8px 14px;border:1px solid var(--border);border-radius:8px;font-size:.86rem;font-weight:550;color:var(--ink);transition:border-color .15s,background .15s}
.account-link:hover{border-color:var(--border-strong);background:var(--bg-raised)}
.submit-link{border-radius:8px;padding:9px 15px;font-size:.86rem;font-weight:650;background:var(--gold);color:var(--on-gold);border:1px solid transparent}
.submit-link:hover{background:var(--gold-5);color:var(--on-gold)}

.theme-control{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--border);border-radius:9px;background:var(--bg-card)}
.theme-option{display:inline-flex;align-items:center;justify-content:center;width:30px;height:28px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--ink-faint);cursor:pointer;transition:background .15s,color .15s}
.theme-option svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.theme-option:hover{color:var(--ink)}
.theme-option[aria-checked="true"]{background:color-mix(in srgb, var(--gold-4) 14%, transparent);color:var(--gold)}

/* ---- hero ---- */
.hp-hero{position:relative;border-bottom:1px solid var(--border-soft);overflow:hidden}
.hp-hero::before{content:"";position:absolute;inset:-160px 0 auto 0;height:560px;background:radial-gradient(58% 68% at 20% 0%, color-mix(in srgb, var(--gold-4) 9%, transparent), transparent 72%);pointer-events:none}
.hp-hero-inner{position:relative;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1.08fr);gap:56px;align-items:center;max-width:var(--container);margin:0 auto;padding:72px 32px 76px}
.hp-hero-copy{max-width:600px;min-width:0}
.hp-eyebrow{margin:0 0 20px;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.hp-h1{margin:0 0 20px;font-size:clamp(2.4rem,4.4vw,4rem);line-height:1.02;letter-spacing:-.038em;font-weight:750;color:var(--ink);text-wrap:balance}
.hp-h1 span{color:var(--ink-dim)}
.hp-lede{margin:0 0 28px;max-width:52ch;color:var(--ink-dim);font-size:1.02rem;line-height:1.62;text-wrap:pretty}

.hp-search{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 14px;border:1px solid var(--border-strong);border-radius:12px;background:var(--input-bg);box-shadow:var(--shadow-2)}
.hp-search-icon{width:17px;height:17px;flex:none;fill:none;stroke:var(--ink-faint);stroke-width:1.7;stroke-linecap:round}
.hp-search input{flex:1;min-width:0;padding:11px 2px;border:0;background:transparent;color:var(--input-ink);font-family:var(--font-body);font-size:.96rem}
.hp-search input::placeholder{color:var(--ink-faint)}
.hp-search input:focus{outline:none}
.hp-search:focus-within{border-color:var(--gold);box-shadow:var(--shadow-2),0 0 0 3px color-mix(in srgb, var(--gold-4) 18%, transparent)}
.hp-search button{flex:none;padding:11px 20px;border:0;border-radius:8px;background:var(--gold);color:var(--on-gold);font-family:var(--font-body);font-size:.9rem;font-weight:650;cursor:pointer;transition:background .15s}
.hp-search button:hover{background:var(--gold-5)}

.hp-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.hp-chips a{padding:6px 11px;border:1px solid var(--border);border-radius:7px;color:var(--ink-dim);font-size:.78rem;transition:border-color .15s,color .15s}
.hp-chips a:hover{border-color:var(--border-strong);color:var(--ink)}
.hp-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}

.hp-hero-map{position:relative;min-height:430px;height:100%;border:1px solid var(--border-soft);border-radius:14px;background:var(--map-ocean);overflow:hidden}
.hp-hero-map .map-grid{opacity:.5}
.hp-hero-map .world-map{position:relative;width:100%;height:100%;min-height:430px}
.hp-hero-map .map-label{position:absolute;left:16px;bottom:14px;margin:0;font-family:var(--font-mono);font-size:.63rem;letter-spacing:.06em;color:var(--ink-faint)}

/* map geometry, both themes */
.world-map path{fill:var(--map-land);stroke:var(--map-line);stroke-width:.7}
.world-map path.has-map{fill:var(--map-has-data)}
.world-map path.is-hovered{fill:var(--map-hover);stroke:var(--map-selected);stroke-width:1.1}
.world-map .world-map-supplemental path{fill:var(--map-land);stroke:var(--map-line)}
.world-map .world-map-supplemental path.has-map{fill:var(--map-has-data)}
.world-map .world-map-supplemental path.is-hovered{fill:var(--map-hover);stroke:var(--map-selected)}
.world-map-tooltip{background:var(--bg-elevated);border:1px solid var(--border);color:var(--ink)}

/* ---- shared section furniture ---- */
.section{padding:76px 0;border-top:1px solid var(--border-soft)}
.hp-kicker{margin:0 0 10px;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.hp-platform-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:26px}
.hp-platform-head h2{margin:0;font-size:1.62rem;font-weight:700;letter-spacing:-.028em;color:var(--ink)}
.hp-platform-note{margin:0;max-width:44ch;color:var(--ink-dim);font-size:.88rem}
.hp-empty{color:var(--ink-dim)}

/* ---- platform overview ---- */
.hp-platform-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px}
.hp-tile-lead{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:24px;min-height:266px;padding:26px;border:1px solid var(--border);border-radius:14px;background:var(--bg-card);overflow:hidden;transition:border-color .15s}
.hp-tile-lead::after{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--border-soft) 1px,transparent 1px),linear-gradient(90deg,var(--border-soft) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(120% 82% at 84% 100%,#000,transparent 70%);mask-image:radial-gradient(120% 82% at 84% 100%,#000,transparent 70%);pointer-events:none}
.hp-tile-lead:hover{border-color:var(--border-strong)}
.hp-tile-index{position:relative;z-index:1;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.hp-tile-body{position:relative;z-index:1;display:block}
.hp-tile-body strong{display:block;margin-bottom:8px;font-size:1.5rem;font-weight:700;letter-spacing:-.028em;color:var(--ink)}
.hp-tile-body em{display:block;max-width:42ch;font-style:normal;font-size:.9rem;line-height:1.55;color:var(--ink-dim)}
.hp-tile-stats{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:26px;padding-top:18px;border-top:1px solid var(--border-soft)}
.hp-tile-stats>span{display:flex;flex-direction:column;gap:3px;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}
.hp-tile-stats b{font-family:var(--font-body);font-size:1.3rem;font-weight:700;letter-spacing:-.02em;color:var(--gold);text-transform:none}

.hp-tile-stack{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:14px;background:var(--bg-card);overflow:hidden}
.hp-tile-row{display:flex;align-items:center;gap:16px;flex:1;padding:19px 22px;border-bottom:1px solid var(--border-soft);transition:background .15s}
.hp-tile-row:hover{background:var(--bg-raised)}
.hp-tile-row .hp-tile-index{flex:none;color:var(--ink-faint)}
.hp-tile-row>span:nth-child(2){flex:1;min-width:0}
.hp-tile-row strong{display:block;margin-bottom:3px;font-size:.98rem;font-weight:650;letter-spacing:-.015em;color:var(--ink)}
.hp-tile-row em{display:block;font-style:normal;font-size:.84rem;color:var(--ink-dim)}
.hp-tile-row svg{width:15px;height:15px;flex:none;fill:none;stroke:var(--ink-faint);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hp-source-key{display:flex;flex-wrap:wrap;gap:18px;margin:0;padding:14px 22px;font-size:.78rem;color:var(--ink-dim)}
.hp-source-key span{display:inline-flex;align-items:center;gap:7px}
.hp-source-key span::before{content:"";width:6px;height:6px;border-radius:50%}
.hp-source-key .is-official::before{background:var(--gold)}
.hp-source-key .is-community::before{border:1px solid var(--ink-faint)}

/* ---- categories ---- */
.hp-cat-grid{display:flex;flex-wrap:wrap;gap:1px;border:1px solid var(--border);border-radius:14px;background:var(--border);overflow:hidden}
.hp-cat-grid a{display:flex;flex:1 1 205px;flex-direction:column;gap:7px;min-height:172px;padding:24px 22px;background:var(--bg-card);transition:background .15s}
.hp-cat-grid a:hover{background:var(--bg-raised)}
.hp-cat-index{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;color:var(--gold)}
.hp-cat-grid strong{font-size:1.06rem;font-weight:650;letter-spacing:-.02em;color:var(--ink)}
.hp-cat-grid em{font-style:normal;font-size:.85rem;line-height:1.5;color:var(--ink-dim)}
.hp-cat-grid small{margin-top:auto;font-family:var(--font-mono);font-size:.66rem;color:var(--ink-faint)}

/* ---- studio ---- */
.hp-studio{background:var(--bg-deep)}
.hp-studio-inner{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:48px;align-items:center}
.hp-studio-copy h2{margin:0 0 14px;font-size:clamp(1.7rem,2.9vw,2.4rem);line-height:1.08;letter-spacing:-.032em;font-weight:730;color:var(--ink)}
.hp-feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:26px 0 28px;border:1px solid var(--border);border-radius:12px;background:var(--border);overflow:hidden;list-style:none;padding:0}
.hp-feature-list li{padding:13px 15px;background:var(--bg-card);font-size:.86rem;color:var(--ink-dim)}
.hp-studio-panel{border:1px solid var(--border);border-radius:14px;background:var(--bg-card);box-shadow:var(--shadow-2);overflow:hidden}
.hp-panel-bar{display:flex;align-items:center;gap:9px;margin:0;padding:12px 16px;border-bottom:1px solid var(--border-soft);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}
.hp-panel-bar span{width:7px;height:7px;border-radius:50%;background:var(--gold)}
.hp-op-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;padding:0;background:var(--border-soft);list-style:none}
.hp-op-grid li{padding:18px 18px;background:var(--bg-card)}
.hp-op-grid strong{display:block;margin-bottom:5px;font-size:.92rem;font-weight:650;color:var(--ink)}
.hp-op-grid em{display:block;font-style:normal;font-size:.8rem;line-height:1.5;color:var(--ink-dim)}
.hp-panel-foot{margin:0;padding:13px 18px;border-top:1px solid var(--border-soft);font-family:var(--font-mono);font-size:.63rem;letter-spacing:.06em;color:var(--ink-faint)}

/* ---- compare / steps / coming soon / community ---- */
.hp-compare-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap}
.hp-compare-inner h2{margin:0 0 12px;font-size:clamp(1.6rem,2.6vw,2.1rem);letter-spacing:-.03em;font-weight:720;color:var(--ink)}
.hp-compare-inner .hp-lede{margin:0}

.hp-steps-section{background:var(--bg-deep)}
.section.hp-steps-section{padding:48px 0}
.hp-steps{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));gap:34px;align-items:start}
.hp-steps h2{margin:0;padding-right:14px;border-right:1px solid var(--border);font-size:.95rem;font-weight:650;letter-spacing:-.01em;color:var(--ink);align-self:stretch}
.hp-steps>div span{display:block;margin-bottom:7px;font-family:var(--font-mono);font-size:.7rem;color:var(--gold)}
.hp-steps>div strong{display:block;margin-bottom:5px;font-size:.98rem;font-weight:650;letter-spacing:-.015em;color:var(--ink)}
.hp-steps>div em{display:block;font-style:normal;font-size:.85rem;line-height:1.55;color:var(--ink-dim)}

.section.hp-soon{padding:46px 0}
.hp-soon-inner{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.hp-soon-inner h2{margin:0;font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}
.hp-soon-inner ul{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}
.hp-soon-inner li{padding:5px 10px;border:1px dashed var(--border-strong);border-radius:7px;font-size:.78rem;color:var(--ink-dim)}
.hp-soon-inner p{margin:0;font-size:.78rem;color:var(--ink-faint)}

.hp-community{background:var(--bg-deep)}
.hp-community-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.72fr);gap:44px;align-items:center}
.hp-community-inner h2{margin:0 0 12px;font-size:clamp(1.7rem,2.7vw,2.2rem);line-height:1.1;letter-spacing:-.032em;font-weight:730;color:var(--ink)}
.hp-community-inner .hp-lede{margin:0;max-width:54ch}
.hp-community-actions{display:flex;flex-direction:column;gap:10px}
.hp-community-actions .button{justify-content:center;padding:15px 20px}

/* ---- light-mode component tuning (not an inversion) ---- */
:root[data-theme="light"] .button-primary{background:var(--n24);color:var(--n4);box-shadow:none}
:root[data-theme="light"] .button-primary:hover{background:var(--n22)}
:root[data-theme="light"] .submit-link{background:var(--n24);color:var(--n4)}
:root[data-theme="light"] .submit-link:hover{background:var(--n22);color:var(--n4)}
:root[data-theme="light"] .hp-search button{background:var(--n24);color:var(--n4)}
:root[data-theme="light"] .hp-search button:hover{background:var(--n22)}
:root[data-theme="light"] .site-header{box-shadow:0 1px 0 var(--border-soft)}
:root[data-theme="light"] .hp-hero::before{background:radial-gradient(58% 68% at 20% 0%, color-mix(in srgb, var(--gold-4) 7%, transparent), transparent 72%)}

/* ---- responsive ---- */
@media (max-width:1180px){
  .hp-hero-inner{gap:36px;padding:60px 28px 64px}
  .hp-cat-grid a{flex:1 1 30%}
}
@media (max-width:1024px){
  .hp-hero-inner{grid-template-columns:1fr;gap:38px}
  .hp-hero-copy{max-width:none}
  .hp-hero-map{min-height:360px}
  .hp-hero-map .world-map{min-height:360px}
  .hp-platform-grid{grid-template-columns:1fr}
  .hp-studio-inner{grid-template-columns:1fr;gap:34px}
  .hp-community-inner{grid-template-columns:1fr;gap:26px}
  .hp-steps{grid-template-columns:1fr 1fr;gap:26px}
  .hp-steps h2{grid-column:1/-1;padding:0 0 12px;border-right:0;border-bottom:1px solid var(--border)}
}
@media (max-width:700px){
  .section{padding:52px 0}
  .hp-hero-inner{padding:44px 20px 52px}
  .section-inner,.header-inner,.footer-inner{padding-left:20px;padding-right:20px}
  .hp-h1{font-size:clamp(2.1rem,9vw,2.7rem)}
  .hp-search{flex-wrap:wrap;padding:10px 12px;gap:10px}
  .hp-search input{flex:1 1 60%}
  .hp-search button{flex:1 1 100%;min-height:46px}
  .hp-search-icon{display:none}
  .hp-actions .button{flex:1 1 100%;justify-content:center;min-height:48px}
  .hp-hero-map{min-height:280px}
  .hp-hero-map .world-map{min-height:280px}
  .hp-tile-stats{gap:18px}
  .hp-cat-grid a{flex:1 1 100%;min-height:0}
  .hp-feature-list,.hp-op-grid{grid-template-columns:1fr}
  .hp-steps{grid-template-columns:1fr}
  .hp-community-actions .button{min-height:50px}
  .theme-option{width:34px;height:32px}
  .account-link{padding:9px 12px}
}
@media (max-width:360px){
  .hp-hero-inner{padding-left:16px;padding-right:16px}
  .section-inner,.header-inner,.footer-inner{padding-left:16px;padding-right:16px}
  .brand-name{font-size:1rem}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .button:hover,.map-card:hover{transform:none}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* map previews: restrained lighting, no washed-out glow */
.map-card .preview{background:var(--map-ocean)}
.map-card .preview-glow{background:radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--gold-4) 7%, transparent), transparent 62%)}
.map-card:hover .preview-glow{background:radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--gold-4) 13%, transparent), transparent 64%)}
.map-card{background:var(--bg-card);border-color:var(--border)}
.map-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}
.map-card .preview-vignette{background:linear-gradient(to top, color-mix(in srgb, var(--bg-card) 78%, transparent), transparent 52%)}
.map-preview-svg path{fill:var(--map-fill);stroke:var(--map-selected);stroke-width:.9}

/* Accent text uses the contrast-safe gold; fills keep --gold-4 */
.hp-eyebrow,.hp-kicker,.hp-cat-index,.hp-tile-index,.hp-tile-stats b,.hp-steps>div span,
.section-heading p,.categories-heading p,.legal-kicker{color:var(--gold-ink)}
:root[data-theme="light"] .hp-source-key .is-official::before{background:var(--gold-ink)}

/* ---- hero map: original panel geometry, tighter internal inset ---- */
.hp-hero-map{padding:4px}


/* ==========================================================================
   19.22.0  ·  LANDING PAGE: editorial featured grid + product showcase
   ========================================================================== */

/* ---- featured maps: one lead card, two supporting ---- */
.featured .hp-featured-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.hp-featured-cards>.map-card:first-child{grid-column:span 2}
.hp-featured-cards>.map-card:first-child .preview{height:300px}
.hp-featured-cards>.map-card:first-child .card-body h3{font-size:1.32rem;letter-spacing:-.028em}
.hp-featured-cards .preview{height:210px}
.hp-featured-cards .card-body h3{font-size:1.02rem;letter-spacing:-.02em}

/* ---- category strip ---- */
.hp-cat-strip{display:flex;flex-wrap:wrap;gap:1px;margin-top:20px;border:1px solid var(--border);border-radius:12px;background:var(--border);overflow:hidden}
.hp-cat-strip a{display:flex;flex:1 1 180px;align-items:baseline;justify-content:space-between;gap:12px;padding:15px 18px;background:var(--bg-card);transition:background .15s}
.hp-cat-strip a:hover{background:var(--bg-raised)}
.hp-cat-strip span{font-size:.9rem;font-weight:550;color:var(--ink)}
.hp-cat-strip b{font-family:var(--font-mono);font-size:.72rem;font-weight:500;color:var(--gold-ink)}

/* ---- showcase ---- */
.hs-section{background:var(--bg-deep)}
.hs-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;flex-wrap:wrap;margin-bottom:30px}
.hs-head h2{margin:0 0 10px;font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.08;letter-spacing:-.034em;font-weight:730;color:var(--ink);max-width:22ch;text-wrap:balance}
.hs-head p{margin:0;max-width:52ch;color:var(--ink-dim);font-size:1rem;line-height:1.6}
.hs-controls{display:flex;align-items:center;gap:10px;flex:none}
.hs-arrow{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--ink-dim);cursor:pointer;transition:border-color .15s,color .15s,background .15s}
.hs-arrow svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hs-arrow:hover{border-color:var(--border-strong);color:var(--ink);background:var(--bg-raised)}
.hs-counter{font-family:var(--font-mono);font-size:.78rem;color:var(--ink-faint);min-width:44px;text-align:center}
.hs-counter b{font-weight:500;color:var(--gold-ink)}

.hs-stage{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:32px;align-items:stretch;padding:22px;border:1px solid var(--border);border-radius:16px;background:var(--bg-card)}
.hs-nav{display:flex;flex-direction:column;gap:4px;min-width:0}
.hs-nav-item{display:block;width:100%;padding:16px 18px;border:1px solid transparent;border-radius:11px;background:transparent;text-align:left;cursor:pointer;transition:background .2s,border-color .2s,opacity .2s}
.hs-nav-item:hover{background:var(--bg-raised)}
.hs-nav-label{display:block;margin-bottom:7px;font-family:var(--font-mono);font-size:.63rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faint)}
.hs-nav-title{display:block;margin-bottom:6px;font-family:var(--font-body);font-size:1.04rem;font-weight:650;letter-spacing:-.02em;color:var(--ink-dim)}
.hs-nav-desc{display:block;font-size:.85rem;line-height:1.55;color:var(--ink-faint);max-width:44ch}
.hs-nav-item{opacity:.62}
.hs-nav-item.is-active{opacity:1;background:var(--bg-elevated);border-color:var(--border)}
.hs-nav-item.is-active .hs-nav-label{color:var(--gold-ink)}
.hs-nav-item.is-active .hs-nav-title{color:var(--ink)}
.hs-nav-item.is-active .hs-nav-desc{color:var(--ink-dim)}
.hs-nav-item.is-upcoming .hs-nav-label{letter-spacing:.13em}

.hs-panels{position:relative;min-height:470px}
.hs-panel{position:absolute;inset:0;display:flex;flex-direction:column;gap:16px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease,visibility .4s}
.hs-panel.is-active{opacity:1;visibility:visible;transform:none}
.hs-panel-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:auto}
.hs-panel-foot p{margin:0;font-size:.84rem;color:var(--ink-faint);max-width:40ch}
.hs-panel-foot p a{color:var(--gold-ink);text-decoration:underline;text-underline-offset:3px}
.hs-panel-foot.is-upcoming p{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;color:var(--ink-faint)}
.hs-empty-panel{display:flex;align-items:center;justify-content:center;min-height:200px;padding:24px;border:1px dashed var(--border);border-radius:12px;color:var(--ink-faint);font-size:.88rem;text-align:center}

/* studio visual: real canvas, real operations panel layered over it */
.hs-studio{position:relative;flex:1;min-height:0;margin:0;border:1px solid var(--border);border-radius:13px;overflow:hidden;background:var(--map-ocean)}
.hs-studio img{width:100%;height:100%;object-fit:cover;object-position:2% 52%}
.hs-studio-ops{position:absolute;right:14px;bottom:14px;display:flex;flex-direction:column;gap:9px;width:210px;padding:14px;border:1px solid var(--border-strong);border-radius:11px;background:var(--bg-elevated);box-shadow:var(--shadow-3)}
.hs-ops-title{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faint)}
.hs-ops-primary{padding:9px 10px;border-radius:7px;background:var(--gold);color:var(--on-gold);font-size:.76rem;font-weight:650;text-align:center}
.hs-ops-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.hs-ops-grid span{padding:8px 8px;border:1px solid var(--border);border-radius:7px;font-size:.7rem;color:var(--ink-dim)}
.hs-ops-foot{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.06em;color:var(--ink-faint)}

/* library visual: real filter bar + real map cards */
.hs-mock{flex:1;min-height:0;display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid var(--border);border-radius:13px;background:var(--bg-deep);overflow:hidden}
.hs-mock-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.hs-mock-search{display:inline-flex;align-items:center;gap:9px;flex:1 1 240px;padding:10px 13px;border:1px solid var(--input-border);border-radius:9px;background:var(--input-bg);font-size:.82rem;color:var(--ink-faint)}
.hs-mock-search svg{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.hs-mock-filters{display:inline-flex;gap:7px;flex-wrap:wrap}
.hs-mock-filters span{padding:8px 11px;border:1px solid var(--border);border-radius:8px;font-size:.76rem;color:var(--ink-dim)}
.hs-mock-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;flex:1;min-height:0}
.hs-mock-cards .map-card{transform:none!important}
.hs-mock-cards .map-card .preview{height:150px}
.hs-mock-cards .map-card .card-body{padding:14px 15px}
.hs-mock-cards .map-card .card-body h3{font-size:.96rem}

/* compare visual: real previews, real published figures */
.hs-compare{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hs-compare article{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border);border-radius:13px;background:var(--bg-deep)}
.hs-compare-preview{position:relative;border:1px solid var(--border-soft);border-radius:9px;background:var(--map-ocean);overflow:hidden}
.hs-compare-preview .map-preview-svg{width:100%;height:auto;display:block}
.hs-compare h3{margin:0;font-size:1.06rem;font-weight:650;letter-spacing:-.02em;color:var(--ink)}
.hs-compare dl{margin:0;display:flex;flex-direction:column;gap:1px;background:var(--border-soft);border:1px solid var(--border-soft);border-radius:9px;overflow:hidden}
.hs-compare dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 12px;background:var(--bg-card)}
.hs-compare dt{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-faint)}
.hs-compare dd{margin:0;font-size:.84rem;font-weight:550;color:var(--ink);text-align:right}

/* community visual: review flow + published community maps */
.hs-community{flex:1;min-height:0;display:flex;flex-direction:column;gap:16px}
.hs-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;padding:0;list-style:none;border:1px solid var(--border);border-radius:12px;background:var(--border);overflow:hidden;counter-reset:flow}
.hs-flow li{padding:14px 16px;background:var(--bg-deep);font-size:.82rem;line-height:1.5;color:var(--ink-dim)}
.hs-flow li span{display:block;margin-bottom:6px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint)}
.hs-flow li:last-child span{color:var(--gold-ink)}
.hs-community .hs-mock-cards{padding:0}

/* map replay: conceptual, clearly unavailable */
.hs-replay{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border);border-radius:13px;background:var(--bg-deep)}
.hs-replay-preview{position:relative;flex:1;min-height:0;border:1px solid var(--border-soft);border-radius:10px;background:var(--map-ocean);overflow:hidden}
.hs-replay-preview .map-preview-svg{width:100%;height:100%;display:block}
.hs-replay-bar{display:flex;align-items:center;gap:14px;padding:11px 14px;border:1px dashed var(--border-strong);border-radius:10px;opacity:.7}
.hs-replay-badge{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);flex:none}
.hs-replay-track{position:relative;flex:1;height:2px;background:var(--border);border-radius:2px}
.hs-replay-track i{position:absolute;left:22%;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.hs-replay-date{font-family:var(--font-mono);font-size:.72rem;color:var(--ink-dim);flex:none}

/* ---- how it works: editorial numbered flow ---- */
.section.hp-steps-section{padding:60px 0;background:var(--bg)}
.hp-steps-title{margin:0 0 26px;font-size:1.5rem;font-weight:700;letter-spacing:-.028em;color:var(--ink)}
ol.hp-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--border)}
ol.hp-steps li{position:relative;padding:26px 30px 4px 0}
ol.hp-steps li+li{padding-left:30px;border-left:1px solid var(--border)}
ol.hp-steps li span{display:block;margin-bottom:12px;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em;color:var(--gold-ink)}
ol.hp-steps li strong{display:block;margin-bottom:7px;font-size:1.14rem;font-weight:650;letter-spacing:-.022em;color:var(--ink)}
ol.hp-steps li em{display:block;font-style:normal;font-size:.9rem;line-height:1.6;color:var(--ink-dim);max-width:34ch}

/* ---- roadmap strip ---- */
.section.hp-roadmap{padding:54px 0;background:var(--bg-deep)}
.hp-roadmap-inner{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,1fr);gap:36px;align-items:start}
.hp-roadmap-head h2{margin:0 0 8px;font-size:1.24rem;font-weight:680;letter-spacing:-.024em;color:var(--ink)}
.hp-roadmap-head p{margin:0;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}
.hp-roadmap-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--border)}
.hp-roadmap-list li{padding:15px 18px 15px 0;border-bottom:1px solid var(--border)}
.hp-roadmap-list li b{display:block;margin-bottom:4px;font-size:.9rem;font-weight:600;color:var(--ink-dim)}
.hp-roadmap-list li span{display:block;font-size:.8rem;line-height:1.45;color:var(--ink-faint)}

/* ---- community close ---- */
.section.hp-community{padding:64px 0;background:var(--bg)}
.hp-community-inner{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:40px}
.hp-community-inner h2{margin:0 0 10px;font-size:clamp(1.5rem,2.4vw,2rem)}
.hp-community-actions{flex-direction:row;flex-wrap:wrap}

/* ---- light mode ---- */
:root[data-theme="light"] .hs-nav-item.is-active{background:var(--n2);border-color:var(--border)}
:root[data-theme="light"] .hs-studio-ops{background:var(--n4)}
:root[data-theme="light"] .hs-mock,:root[data-theme="light"] .hs-replay,
:root[data-theme="light"] .hs-compare article,:root[data-theme="light"] .hs-flow li{background:var(--n2)}
:root[data-theme="light"] .hs-ops-primary{background:var(--n24);color:var(--n4)}

/* ---- responsive ---- */
@media (max-width:1180px){
  .featured .hp-featured-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hp-featured-cards>.map-card:first-child{grid-column:span 2}
  .hp-featured-cards>.map-card:first-child .preview{height:260px}
  .hs-stage{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px}
  .hs-panels{min-height:430px}
  .hp-roadmap-inner{grid-template-columns:1fr;gap:20px}
}
@media (max-width:900px){
  .hs-stage{grid-template-columns:1fr;gap:20px;padding:16px}
  .hs-panels{min-height:0}
  .hs-panel{position:relative;inset:auto;display:none;opacity:1;visibility:visible;transform:none}
  .hs-panel.is-active{display:flex}
  .hs-studio{min-height:280px}
  .hs-nav{gap:2px}
  .hs-nav-item{padding:13px 14px}
  .hs-nav-item:not(.is-active) .hs-nav-desc{display:none}
  ol.hp-steps{grid-template-columns:1fr}
  ol.hp-steps li{padding:22px 0 4px}
  ol.hp-steps li+li{padding-left:0;border-left:0;border-top:1px solid var(--border)}
  .hp-roadmap-list{grid-template-columns:1fr 1fr}
  .hp-community-inner{grid-template-columns:1fr}
}
@media (max-width:700px){
  .featured .hp-featured-cards{grid-template-columns:1fr}
  .hp-featured-cards>.map-card:first-child{grid-column:auto}
  .hp-featured-cards>.map-card:first-child .preview,.hp-featured-cards .preview{height:200px}
  .hp-cat-strip a{flex:1 1 100%}
  .hs-head h2{max-width:none}
  .hs-mock-cards,.hs-compare{grid-template-columns:1fr}
  .hs-mock-cards .map-card:last-child{display:none}
  .hs-compare article:last-child{display:none}
  .hs-flow{grid-template-columns:1fr}
  .hs-studio-ops{position:static;width:auto;right:auto;bottom:auto;margin:0;border-radius:0;border:0;border-top:1px solid var(--border);box-shadow:none}
  .hs-studio{display:flex;flex-direction:column;background:var(--bg-card)}
  .hs-studio img{height:220px}
  .hs-panel-foot .button{flex:1 1 100%;justify-content:center;min-height:48px}
  .hp-roadmap-list{grid-template-columns:1fr}
  .hp-community-actions .button{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){
  .hs-panel{transition:none}
}

/* real search/filter component, scaled for the showcase panel */
.hs-mock .hs-filters{margin:0;gap:10px}
.hs-mock .hs-filters .map-filter-field label{font-size:.6rem}
.hs-mock .hs-filters .map-filter-actions .button{min-height:42px}
@media (max-width:1180px){.hs-mock .hs-filters .map-filter-time{display:none}}
@media (max-width:700px){.hs-mock .hs-filters .map-filter-category{display:none}}

/* studio operations overlay: real Studio labels and icons */
.hs-studio-ops{width:246px;gap:8px}
.hs-ops-featured,.hs-ops-grid>span{display:block;padding:10px 11px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card)}
.hs-ops-featured{border-color:color-mix(in srgb, var(--gold-4) 42%, transparent);background:color-mix(in srgb, var(--gold-4) 8%, transparent)}
.hs-studio-ops svg{width:14px;height:14px;margin-bottom:7px;fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.hs-ops-grid>span svg{stroke:var(--ink-faint)}
.hs-studio-ops b{display:block;font-size:.74rem;font-weight:650;color:var(--ink)}
.hs-studio-ops i{display:block;font-style:normal;font-size:.66rem;line-height:1.4;color:var(--ink-faint)}
.hs-ops-featured i{margin-top:5px;padding:6px 8px;border-radius:6px;background:var(--gold);color:var(--on-gold);font-weight:650;text-align:center}
.hs-ops-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.hs-ops-foot{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:9px 11px;border:1px solid var(--border);border-radius:8px}


/* ==========================================================================
   19.23.0  ·  dedicated GeoJSON Studio section + availability roadmap
   ========================================================================== */

.section.hp-studio-section{padding:76px 0;background:var(--bg-deep)}
.hp-studio-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;padding-bottom:30px;border-bottom:1px solid var(--border)}
.hp-studio-top h2{margin:0 0 12px;font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.08;letter-spacing:-.034em;font-weight:730;color:var(--ink);max-width:24ch;text-wrap:balance}
.hp-studio-top .hp-lede{margin:0;max-width:54ch}

.hp-studio-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:44px;align-items:center;padding:38px 0}
.hp-geo-art{position:relative;margin:0;padding:22px;border:1px solid var(--border);border-radius:14px;background:var(--map-ocean);overflow:hidden}
.hp-geo-art::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--map-line) 1px,transparent 1px),linear-gradient(90deg,var(--map-line) 1px,transparent 1px);background-size:42px 42px;opacity:.22;pointer-events:none}
.hp-geo-art svg{position:relative;display:block;width:100%;height:auto}
.hp-geo-art .map-land{fill:var(--map-land);stroke:var(--map-line);stroke-width:.35;vector-effect:non-scaling-stroke}
.hp-geo-art .map-period{fill:color-mix(in srgb, var(--gold-4) 26%, transparent);stroke:var(--gold);stroke-width:.9;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.hp-geo-art figcaption{position:relative;margin-top:16px;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.08em;color:var(--ink-faint)}

ol.hp-studio-flow{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}
ol.hp-studio-flow li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 16px;padding:16px 0;border-top:1px solid var(--border-soft)}
ol.hp-studio-flow li:first-child{border-top:0;padding-top:0}
ol.hp-studio-flow li span{grid-row:span 2;font-family:var(--font-mono);font-size:.72rem;color:var(--gold-ink);padding-top:2px}
ol.hp-studio-flow li strong{font-size:1.02rem;font-weight:650;letter-spacing:-.018em;color:var(--ink)}
ol.hp-studio-flow li em{font-style:normal;font-size:.88rem;line-height:1.55;color:var(--ink-dim);max-width:40ch}

.hp-studio-ops-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;padding:0;list-style:none;border:1px solid var(--border);border-radius:13px;background:var(--border);overflow:hidden}
.hp-studio-ops-row li{padding:15px 17px;background:var(--bg-card)}
.hp-studio-ops-row b{display:block;margin-bottom:4px;font-size:.88rem;font-weight:620;color:var(--ink)}
.hp-studio-ops-row span{display:block;font-size:.78rem;line-height:1.45;color:var(--ink-faint)}
.hp-studio-ops-row li:first-child b{color:var(--gold-ink)}

/* how it works: clearer directional flow */
ol.hp-steps li span{font-size:.9rem}
ol.hp-steps li+li::before{content:"";position:absolute;left:-4px;top:33px;width:7px;height:7px;border-right:1px solid var(--border-strong);border-top:1px solid var(--border-strong);transform:rotate(45deg)}

/* roadmap: available now vs planned */
.section.hp-roadmap{padding:64px 0;background:var(--bg)}
.hp-roadmap-title{margin:0 0 28px;font-size:1.5rem;font-weight:700;letter-spacing:-.028em;color:var(--ink)}
.hp-roadmap-inner{display:grid;grid-template-columns:minmax(0,.66fr) minmax(0,1.34fr);gap:44px;align-items:start;border-top:1px solid var(--border);padding-top:26px}
.hp-roadmap-col h3{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 16px;font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}
.hp-roadmap-col.is-now h3{color:var(--gold-ink)}
.hp-roadmap-col h3 span{font-family:var(--font-body);font-size:.72rem;letter-spacing:0;text-transform:none;color:var(--ink-faint)}
.hp-roadmap-col.is-now ul{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}
.hp-roadmap-col.is-now li{padding:11px 0;border-bottom:1px solid var(--border-soft);font-size:.92rem;color:var(--ink)}
.hp-roadmap-col.is-now li a{color:var(--ink);text-decoration:none}
.hp-roadmap-col.is-now li a:hover{color:var(--gold)}
.hp-roadmap-col.is-now li:last-child{color:var(--ink-dim)}
ul.hp-roadmap-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;padding:0;list-style:none;border:1px solid var(--border-soft);border-radius:12px;background:var(--border-soft);overflow:hidden}
ul.hp-roadmap-list li{padding:14px 16px;background:var(--bg-card);border:0}
ul.hp-roadmap-list li b{display:block;margin-bottom:4px;font-size:.88rem;font-weight:600;color:var(--ink-dim)}
ul.hp-roadmap-list li span{display:block;font-size:.78rem;line-height:1.45;color:var(--ink-faint)}

@media (max-width:1024px){
  .hp-studio-top{grid-template-columns:1fr;gap:20px;align-items:start}
  .hp-studio-top .button{justify-self:start}
  .hp-studio-body{grid-template-columns:1fr;gap:30px;padding:30px 0}
  .hp-roadmap-inner{grid-template-columns:1fr;gap:30px}
  ul.hp-roadmap-list{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
  .section.hp-studio-section{padding:52px 0}
  .hp-studio-top .button{width:100%;justify-content:center;min-height:48px}
  .hp-geo-art{padding:14px}
  .hp-studio-ops-row{grid-template-columns:1fr}
  ul.hp-roadmap-list{grid-template-columns:1fr}
  ol.hp-steps li+li::before{display:none}
}


/* ==========================================================================
   19.23.1  ·  tighter Studio visual with a drawn-boundary animation,
                and showcase cards that stop stretching into empty space
   ========================================================================== */

.hp-studio-body{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:40px;align-items:start}
.hp-geo-art{align-self:start;max-width:480px;padding:14px 14px 12px;border-radius:12px}
.hp-geo-art>svg{aspect-ratio:300/150;transform:scale(1.14);transform-origin:52% 46%}
.hp-geo-art figcaption{display:flex;flex-direction:column;gap:9px;margin-top:12px;line-height:1.4}

.hp-geo-art .map-period{
  fill:color-mix(in srgb, var(--gold-4) 30%, transparent);
  stroke:var(--gold);stroke-width:1.15;stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}

/* showcase panels: cards sit at the top instead of stretching */
.hs-mock-cards{align-content:start;align-items:start}
.hs-mock-cards .map-card{align-self:start;height:auto}
.hs-mock-cards .map-card .preview{height:158px}
.hs-mock-cards .map-card .card-body{gap:8px}
.hs-community .hs-mock-cards{flex:0 0 auto}
.hs-community{justify-content:flex-start}
/* the preview globe should read as a real placeholder, not a ghost */

@media (max-width:1024px){
  .hp-geo-art{max-width:none}
}

/* keep the showcase panel content inside its frame at every width */
.hs-panels{min-height:500px}
.hs-mock-cards .map-card .preview{height:132px}
.hs-mock-cards .map-card .card-body>p{display:none}
.hs-mock .hs-filters .map-filter-actions{align-self:end}
@media (max-width:1180px){
  .hs-mock .hs-filters{grid-template-columns:minmax(0,1fr) auto}
  .hs-mock .hs-filters .map-filter-category{display:none}
}

/* ==========================================================================
   19.23.2  ·  readable preview placeholders, correctly centred and unclipped
   ========================================================================== */

/* every empty preview surface centres its placeholder */
.map-card .preview,
.hs-compare-preview,
.hs-replay-preview{display:flex;align-items:center;justify-content:center}

/* the placeholder reads as a deliberate empty state, not a ghost */
svg.map-preview-fallback{stroke:var(--ink-faint);opacity:1}
.map-card .preview:has(>svg.map-preview-fallback)::after,
.hs-compare-preview:has(>svg.map-preview-fallback)::after,
.hs-replay-preview:has(>svg.map-preview-fallback)::after{
  content:"Preview renders from the map's GeoJSON";
  position:absolute;left:0;right:0;bottom:10px;
  font-family:var(--font-mono);font-size:.58rem;letter-spacing:.07em;
  text-align:center;color:var(--ink-faint);padding:0 12px;
}
.hs-mock-cards .map-card .preview:has(>svg.map-preview-fallback)::after{content:"Renders from GeoJSON"}
.hs-mock-cards .map-card .preview>svg.map-preview-fallback{width:38px;height:38px;margin-bottom:12px}

/* Compare preview keeps its own ratio instead of being squeezed by the panel */
.hs-compare-preview{position:relative;aspect-ratio:400/240;height:auto;min-height:0}
.hs-compare-preview .map-preview-svg{width:100%;height:100%}
.hs-replay-preview{position:relative}
.map-card .preview{position:relative}

/* ==========================================================================
   19.23.3  ·  three features in view at a time, shorter showcase panel
   ========================================================================== */

.hs-nav-item:not(.is-window){display:none}
.hs-nav{gap:6px}
.hs-panels{min-height:0}
.hs-panel{min-height:462px}
.hs-mock{flex:1 1 auto;min-height:0}
.hs-compare article{min-width:0}
.hs-compare-preview{aspect-ratio:400/230}
.hs-compare .hs-compare-stats div{padding:7px 10px}
.hs-stage{align-items:start}
@media (max-width:900px){
  .hs-nav-item:not(.is-window){display:block}
  .hs-panel{min-height:0}
}

/* Replay concept panel: never an empty box  -  the theme's own dated geometry sits behind */
.hs-replay-preview{position:relative;display:block;aspect-ratio:700/340}
.hs-replay-preview::after{content:none !important}
.hs-replay-ghost{position:absolute;inset:14px;display:block}
.hs-replay-ghost svg{width:100%;height:100%;display:block}
.hs-replay-ghost .map-land{fill:var(--map-land);stroke:var(--map-line);stroke-width:.35;vector-effect:non-scaling-stroke}
.hs-replay-ghost .map-period{fill:color-mix(in srgb, var(--gold-4) 18%, transparent);stroke:color-mix(in srgb, var(--gold) 62%, transparent);stroke-width:.9;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.hs-replay-preview .map-preview-svg{position:absolute;inset:0;width:100%;height:100%}

/* ==========================================================================
   19.23.4  ·  showcase mock cards fit the panel instead of being clipped
   ========================================================================== */

/* the demo cards are a size illustration, not a real card  -  trim to fit */
.hs-mock-cards .map-card .preview{height:112px}
.hs-mock-cards .map-card .card-body{gap:6px;padding:12px 14px 14px}
.hs-mock-cards .map-card .map-card-actions{display:none}
.hs-mock-cards .map-card .card-foot{margin-top:2px}
.hs-mock-cards .map-card h3{font-size:.95rem;line-height:1.3}
.hs-mock-cards .map-card .card-meta{margin:0}

/* 20.0.2 light-mode base: white canvas, cool-neutral supporting surfaces. */
:root[data-theme="light"]{
  --bg:#ffffff;--bg-deep:#f7f8fa;--bg-card:#ffffff;--bg-raised:#ffffff;--bg-elevated:#f5f7f9;
  --border:#e2e6eb;--border-soft:#edf0f3;--border-strong:#cbd1d8;
  --ink:#11151a;--ink-dim:#5d6671;--ink-faint:#8b949f;
  --input-bg:#ffffff;--input-border:#d5dae1;--input-ink:#11151a;
  --map-ocean:#fafbfc;--map-land:#eef1f4;--map-line:#c9d0d8;--map-fill:#e2e6eb;--map-has-data:#d4d9e0;
}


/* ========================================================================== 
   20.0.5-test · hero-only first viewport
   Restore the 20.0.3 header and compact section rhythm. Only the homepage
   hero owns the first desktop viewport; following sections keep their normal
   compact spacing and flow immediately after it.
   ========================================================================== */
@media (min-width:1025px){
  body.home .hp-hero,
  body.front-page .hp-hero{
    min-height:calc(100svh - 68px);
    display:flex;
    align-items:center;
  }
  body.home .hp-hero-inner,
  body.front-page .hp-hero-inner{
    width:100%;
  }
}

/* ========================================================================== 
   20.0.8-test · quieter product-first landing hero
   One message, one primary action, then the real interactive map.
   ========================================================================== */
body.home .hp-hero-product,
body.front-page .hp-hero-product{
  min-height:calc(100svh - 68px);
  display:flex;
  align-items:flex-start;
  background:
    radial-gradient(52% 34% at 50% 7%,color-mix(in srgb,var(--gold-4) 5%,transparent),transparent 76%),
    var(--bg);
}
body.home .hp-hero-product::before,
body.front-page .hp-hero-product::before{display:none}

body.home .hp-hero-product .hp-hero-inner,
body.front-page .hp-hero-product .hp-hero-inner{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:62px 32px 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:44px;
}

.hp-hero-product .hp-hero-copy{
  width:100%;
  max-width:860px;
  margin:0 auto;
  text-align:center;
}
.hp-hero-product .hp-h1{
  max-width:none;
  margin:0;
  font-size:clamp(3.45rem,7vw,6.4rem);
  line-height:.94;
  letter-spacing:-.058em;
  font-weight:760;
  text-wrap:balance;
}
.hp-hero-product .hp-h1 span{color:var(--ink-dim)}
.hp-hero-product .hp-lede{
  max-width:630px;
  margin:24px auto 0;
  font-size:1.06rem;
  line-height:1.6;
  text-align:center;
  color:var(--ink-dim);
}
.hp-hero-product .hp-actions{
  margin-top:26px;
  justify-content:center;
  gap:18px;
}
.hp-hero-product .button-primary{
  min-height:46px;
  padding-inline:20px;
}
.hp-hero-secondary{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:46px;
  padding:0 4px;
  color:var(--ink-dim);
  font-size:.9rem;
  font-weight:600;
  text-decoration:none;
  transition:color .15s ease;
}
.hp-hero-secondary:hover{color:var(--ink)}
.hp-hero-secondary svg{
  width:15px;height:15px;
  fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
  transition:transform .15s ease;
}
.hp-hero-secondary:hover svg{transform:translateX(3px)}

.hp-hero-product .hp-hero-map{
  width:min(100%,1040px);
  height:clamp(340px,44vh,455px);
  min-height:0;
  margin:0 auto;
  padding:0;
  border-radius:12px 12px 0 0;
  border-bottom:0;
  background:var(--map-ocean);
  box-shadow:0 -1px 0 color-mix(in srgb,var(--border-soft) 88%,transparent);
}
.hp-hero-product .hp-hero-map .world-map{
  width:100%;height:100%;min-height:0;
  display:block;
}
.hp-hero-product .hp-hero-map .map-label{
  left:18px;bottom:12px;
  opacity:.8;
}

:root[data-theme="light"] .hp-hero-product{
  background:#fff;
}
:root[data-theme="light"] .hp-hero-product .hp-h1 span{color:#626b76}
:root[data-theme="light"] .hp-hero-product .hp-hero-map{
  background:#f8fafc;
  border-color:#e2e7ec;
  box-shadow:none;
}

@media (max-width:1024px){
  body.home .hp-hero-product,
  body.front-page .hp-hero-product{min-height:0}
  body.home .hp-hero-product .hp-hero-inner,
  body.front-page .hp-hero-product .hp-hero-inner{padding:54px 28px 0;gap:38px}
  .hp-hero-product .hp-h1{font-size:clamp(3.2rem,9vw,5rem)}
  .hp-hero-product .hp-hero-map{height:400px}
}
@media (max-width:700px){
  body.home .hp-hero-product .hp-hero-inner,
  body.front-page .hp-hero-product .hp-hero-inner{padding:46px 20px 0;gap:34px}
  .hp-hero-product .hp-h1{font-size:clamp(2.8rem,14vw,4rem);line-height:.95}
  .hp-hero-product .hp-lede{margin-top:18px;font-size:.96rem;line-height:1.55;max-width:34ch}
  .hp-hero-product .hp-actions{margin-top:22px;gap:14px;flex-direction:column;align-items:center}
  .hp-hero-product .button-primary{min-width:160px;justify-content:center}
  .hp-hero-secondary{min-height:36px}
  .hp-hero-product .hp-hero-map{
    width:calc(100% + 40px);
    height:300px;
    margin-left:-20px;
    margin-right:-20px;
    border-left:0;border-right:0;border-radius:0;
  }
  .hp-hero-product .hp-hero-map .map-label{left:16px;bottom:9px;font-size:.55rem}
}
@media (max-width:380px){
  .hp-hero-product .hp-h1{font-size:2.65rem}
  .hp-hero-product .hp-hero-map{height:265px}
}


/* ========================================================================== 
   20.0.9-test · balanced global header + quieter, map-first landing hero
   ========================================================================== */

/* Desktop header: true three-column balance, no overlap or drifting nav. */
@media (min-width:1180px){
  .header-inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    align-items:center;
    justify-content:initial;
    gap:28px;
    height:70px;
  }
  .header-inner .brand{justify-self:start}
  .header-inner .desktop-nav{
    justify-self:center;
    margin:0;
    gap:28px;
  }
  .header-inner .header-actions{justify-self:end}
}

/* Keep the active underline attached to the navigation item/header edge. */
@media (min-width:901px){
  .desktop-nav{height:100%}
  .desktop-nav > a,
  .desktop-nav > li{
    height:100%;
    display:flex;
    align-items:center;
  }
  .desktop-nav > a.is-current::after,
  .desktop-nav > li.current-menu-item > a::after,
  .desktop-nav > li.current_page_item > a::after,
  .desktop-nav > li.current-menu-ancestor > a::after,
  .desktop-nav .histriphy-compare-nav-link.is-current::after,
  .desktop-nav .histriphy-compare-menu-item.current-menu-item > a::after{
    bottom:0;
    height:2px;
  }
}

/* Hero: fewer words, smaller type, more room for the actual map. */
body.home .hp-hero-product .hp-hero-inner,
body.front-page .hp-hero-product .hp-hero-inner{
  max-width:1240px;
  padding:44px 32px 0;
  gap:28px;
}
.hp-hero-product .hp-hero-copy{max-width:760px}
.hp-hero-product .hp-h1{
  font-size:clamp(2.65rem,4.65vw,4.65rem);
  line-height:.98;
  letter-spacing:-.048em;
  font-weight:720;
}
.hp-hero-product .hp-lede{
  max-width:560px;
  margin-top:18px;
  font-size:1rem;
  line-height:1.55;
}
.hp-hero-product .hp-actions{margin-top:20px;gap:16px}
.hp-hero-product .hp-hero-map{
  width:min(100%,1180px);
  height:clamp(410px,53vh,530px);
  border:1px solid var(--border-soft);
  border-bottom:0;
  border-radius:12px 12px 0 0;
}
.hp-hero-product .hp-hero-map .world-map{width:100%;height:100%}

@media (max-width:1179px) and (min-width:901px){
  .header-inner{gap:18px}
  .desktop-nav{gap:20px;margin:0 auto}
  .header-actions{gap:8px}
  .account-link{padding-inline:11px}
  .submit-link{padding-inline:12px}
}
@media (max-width:1024px){
  body.home .hp-hero-product .hp-hero-inner,
  body.front-page .hp-hero-product .hp-hero-inner{padding:40px 24px 0;gap:26px}
  .hp-hero-product .hp-h1{font-size:clamp(2.55rem,7vw,3.8rem)}
  .hp-hero-product .hp-hero-map{height:430px}
}
@media (max-width:700px){
  body.home .hp-hero-product .hp-hero-inner,
  body.front-page .hp-hero-product .hp-hero-inner{padding:36px 20px 0;gap:24px}
  .hp-hero-product .hp-h1{font-size:clamp(2.25rem,11vw,3.15rem);line-height:1}
  .hp-hero-product .hp-lede{font-size:.94rem;max-width:31ch}
  .hp-hero-product .hp-hero-map{height:330px}
}

/* ========================================================================== 
   20.0.10-test · approved header placement + neutral professional light mode
   ========================================================================== */

/*
 * Approved desktop header geometry:
 * brand -> nav immediately after brand -> actions pushed to the far right.
 * The navigation is NOT centered against the full viewport.
 */
@media (min-width:901px){
  .header-inner{
    display:flex !important;
    align-items:center;
    justify-content:flex-start !important;
    height:70px;
    gap:0 !important;
  }
  .header-inner .brand{
    flex:0 0 auto;
    justify-self:auto !important;
  }
  .header-inner .desktop-nav{
    flex:0 0 auto;
    justify-self:auto !important;
    margin-left:34px !important;
    margin-right:0 !important;
    gap:28px !important;
    height:70px;
  }
  .header-inner .header-actions{
    flex:0 0 auto;
    justify-self:auto !important;
    margin-left:auto !important;
  }

  /* The approved header has no detached yellow underline. */
  .desktop-nav > a::after,
  .desktop-nav > li > a::after,
  .desktop-nav .histriphy-compare-nav-link::after,
  .desktop-nav .histriphy-compare-menu-item > a::after{
    display:none !important;
    content:none !important;
  }
  .desktop-nav a.is-current,
  .desktop-nav li.current-menu-item > a,
  .desktop-nav li.current_page_item > a,
  .desktop-nav li.current-menu-ancestor > a,
  .desktop-nav .histriphy-compare-nav-link.is-current{
    color:var(--ink) !important;
  }
}

@media (min-width:901px) and (max-width:1120px){
  .header-inner .desktop-nav{margin-left:24px !important;gap:20px !important}
  .header-actions{gap:8px !important}
  .account-link{padding-inline:10px !important}
  .submit-link{padding-inline:12px !important}
}

/* Quieter hero copy: one statement, with the map carrying the visual weight. */
body.home .hp-hero-product .hp-hero-inner,
body.front-page .hp-hero-product .hp-hero-inner{
  max-width:1280px;
  padding-top:34px;
  gap:20px;
}
.hp-hero-product .hp-hero-copy{max-width:680px}
.hp-hero-product .hp-h1{
  font-size:clamp(2.55rem,4vw,3.65rem);
  line-height:1.01;
  letter-spacing:-.044em;
  font-weight:710;
  color:var(--ink);
}
.hp-hero-product .hp-lede{
  max-width:520px;
  margin-top:14px;
  font-size:.98rem;
  line-height:1.5;
}
.hp-hero-product .hp-actions{margin-top:18px}
.hp-hero-product .hp-hero-map{
  width:min(100%,1240px);
  height:clamp(450px,58vh,590px);
}

/* Light mode: clean white + neutral greys, not cream and not blue-white. */
:root[data-theme="light"]{
  --n1:#f7f7f5;
  --n2:#ffffff;
  --n3:#fcfcfb;
  --n4:#ffffff;
  --n5:#fafaf8;
  --n6:#f7f7f5;
  --n7:#f4f4f2;
  --n8:#f0f0ed;
  --n9:#ecece8;
  --n10:#e5e5e1;
  --n11:#ddddda;
  --n12:#d2d2ce;
  --n13:#c4c4bf;
  --n14:#b6b6b0;
  --n15:#a4a49e;
  --n16:#92928c;
  --n17:#81817b;
  --n18:#73736d;
  --n19:#65655f;
  --n20:#565651;
  --n21:#454541;
  --n22:#343431;
  --n23:#242422;
  --n24:#111110;

  /* Gold becomes a restrained brand detail rather than the main UI colour. */
  --gold-1:#6e4b16;
  --gold-2:#8d611c;
  --gold-3:#a87422;
  --gold-4:#b27a21;
  --gold-5:#8d611c;

  --bg:#ffffff;
  --bg-deep:#fafaf8;
  --bg-raised:#ffffff;
  --bg-card:#ffffff;
  --bg-elevated:#f7f7f5;
  --surface:#ffffff;
  --surface-2:#f7f7f5;
  --border:#e5e5e1;
  --border-soft:#eeeeeb;
  --border-strong:#d2d2ce;
  --ink:#111110;
  --ink-dim:#62625d;
  --ink-faint:#81817b;
  --ink-soft:#62625d;
  --input-bg:#ffffff;
  --input-border:#d8d8d4;
  --input-ink:#111110;
  --focus-ring:#343431;

  /* Neutral map palette: visible on white, with no blue cast. */
  --map-ocean:#ffffff;
  --map-land:#d4d4cf;
  --map-line:#b6b6b0;
  --map-fill:#9b9b95;
  --map-has-data:#b8b8b2;
  --map-hover:#2c2c29;
  --map-selected:#a87422;
  --map-glow:rgba(0,0,0,0);

  --shadow-1:0 1px 1px rgba(17,17,16,.04);
  --shadow-2:0 14px 36px -30px rgba(17,17,16,.28);
  --shadow-3:0 22px 52px -36px rgba(17,17,16,.32);
}

:root[data-theme="light"] body,
:root[data-theme="light"] .site-shell{background:#fff;color:var(--ink)}
:root[data-theme="light"] .site-header{
  background:rgba(255,255,255,.94);
  border-bottom-color:#ecece8;
  box-shadow:none;
}
:root[data-theme="light"] .desktop-nav a{color:#62625d}
:root[data-theme="light"] .desktop-nav a:hover,
:root[data-theme="light"] .desktop-nav a.is-current,
:root[data-theme="light"] .desktop-nav li.current-menu-item > a,
:root[data-theme="light"] .desktop-nav li.current_page_item > a{color:#111110 !important}

/* Light theme actions are black/neutral. Gold stays in the logo and tiny accents. */
:root[data-theme="light"] .button-primary,
:root[data-theme="light"] .submit-link,
:root[data-theme="light"] .hp-search button{
  background:#171715 !important;
  border-color:#171715 !important;
  color:#fff !important;
  box-shadow:none !important;
}
:root[data-theme="light"] .button-primary:hover,
:root[data-theme="light"] .submit-link:hover,
:root[data-theme="light"] .hp-search button:hover{background:#2b2b28 !important;border-color:#2b2b28 !important;color:#fff !important}
:root[data-theme="light"] .hp-hero-secondary{color:#555550}
:root[data-theme="light"] .hp-hero-secondary:hover{color:#111110}
:root[data-theme="light"] .theme-control{background:#fff;border-color:#dededa}
:root[data-theme="light"] .theme-option{color:#777771}
:root[data-theme="light"] .theme-option:hover{color:#111110}
:root[data-theme="light"] .theme-option[aria-checked="true"]{background:#f1f1ee;color:#111110}
:root[data-theme="light"] .account-link{background:#fff;border-color:#ddddda;color:#111110}
:root[data-theme="light"] .account-link:hover{background:#f7f7f5;border-color:#cfcfca}

/* Hero light treatment: pure white and neutral typography. */
:root[data-theme="light"] .hp-hero-product,
:root[data-theme="light"] .hp-hero{background:#fff}
:root[data-theme="light"] .hp-hero::before{display:none}
:root[data-theme="light"] .hp-hero-product .hp-h1{color:#111110}
:root[data-theme="light"] .hp-hero-product .hp-lede{color:#62625d}
:root[data-theme="light"] .hp-hero-product .hp-hero-map{
  background:#fff;
  border-color:#e6e6e2;
  box-shadow:none;
}
:root[data-theme="light"] .hp-hero-product .map-grid{
  opacity:.7;
}
:root[data-theme="light"] .world-map path{
  fill:var(--map-land);
  stroke:var(--map-line);
}
:root[data-theme="light"] .world-map path:hover{fill:var(--map-hover)}

/* Library/map previews remain visible without bringing yellow into every card. */
:root[data-theme="light"] .map-card .preview,
:root[data-theme="light"] .map-card-library .preview{background:#fff !important}
:root[data-theme="light"] .map-card .preview-glow,
:root[data-theme="light"] .map-card-library .preview-glow{display:none !important}
:root[data-theme="light"] .map-card-library .map-preview-svg .base-countries path{fill:#f2f2f0 !important;stroke:#e2e2de !important;filter:none !important}
:root[data-theme="light"] .map-card-library .map-preview-svg .highlight-region path,
:root[data-theme="light"] .map-preview-svg .highlight-region path{
  fill:#9b9b95 !important;
  fill-opacity:1 !important;
  stroke:#777771 !important;
  stroke-width:1.05 !important;
  filter:none !important;
}
:root[data-theme="light"] .map-card-library:hover .map-preview-svg .highlight-region path{fill:#85857f !important;stroke:#666660 !important;filter:none !important}

/* Keep broader public preview surfaces neutral in light mode. */
:root[data-theme="light"] .map-hero-preview,
:root[data-theme="light"] .map-detail-preview,
:root[data-theme="light"] .country-compare-preview,
:root[data-theme="light"] .map-related-preview,
:root[data-theme="light"] .hs-compare-preview,
:root[data-theme="light"] .hs-replay-preview{background:#fff !important;border-color:#e5e5e1 !important;color-scheme:light}
:root[data-theme="light"] .map-hero-preview .map-preview-svg .base-countries path,
:root[data-theme="light"] .map-detail-preview .map-preview-svg .base-countries path,
:root[data-theme="light"] .country-compare-preview .map-preview-svg .base-countries path,
:root[data-theme="light"] .map-compare-preview .map-preview-svg .base-countries path{fill:#eeeeeb !important;stroke:#d0d0cb !important;filter:none !important}
:root[data-theme="light"] .map-hero-preview .map-preview-svg .highlight-region path,
:root[data-theme="light"] .map-detail-preview .map-preview-svg .highlight-region path,
:root[data-theme="light"] .country-compare-preview .map-preview-svg .highlight-region path,
:root[data-theme="light"] .map-compare-preview .map-preview-svg .highlight-region path{fill:#979791 !important;stroke:#6f6f69 !important;filter:none !important}

@media (max-width:1024px){
  .hp-hero-product .hp-h1{font-size:clamp(2.35rem,6.4vw,3.3rem)}
  .hp-hero-product .hp-hero-map{height:450px}
}
@media (max-width:700px){
  .hp-hero-product .hp-h1{font-size:clamp(2.15rem,10vw,2.85rem)}
  .hp-hero-product .hp-hero-map{height:340px}
}


/* ==========================================================================\n   20.0.16 · routing + layout polish\n   ========================================================================== */
/* Legal document links have higher selector specificity than generic buttons;
   explicitly restore readable button text and remove link underlines. */
.legal-page .legal-document .legal-actions a.button,
.legal-page .legal-document .legal-actions a.button:hover,
.legal-page .legal-document .legal-actions a.button:focus-visible{
  text-decoration:none!important;
}
.legal-page .legal-document .legal-actions a.button-primary{
  color:var(--on-gold)!important;
}
.legal-page .legal-document .legal-actions a.button-outline{
  color:var(--gold-soft)!important;
}
:root[data-theme="light"] .legal-page .legal-document .legal-actions a.button-primary{
  color:#fff!important;
}

/* Account dashboard: keep navigation compact at the top and let the dashboard
   use the full content width. This avoids a long empty column beside tall map
   grids once the old vertical sidebar has ended. */
@media (min-width:961px){
  .account-dashboard-page .section-inner{max-width:1240px}
  .account-layout.account-layout-v2{display:block!important;margin-top:22px}
  .account-sidebar.account-sidebar-v2{
    position:static!important;
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    width:100%;
    padding:10px 12px!important;
    margin:0 0 22px;
    overflow:visible;
  }
  .account-sidebar-v2 .account-sidebar-profile{
    flex:0 1 230px;
    padding:4px 8px!important;
    border:0!important;
  }
  .account-sidebar-v2 .account-nav{
    display:flex!important;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:6px;
    margin-left:auto;
  }
  .account-sidebar-v2 .account-nav a,
  .account-sidebar-v2 .account-nav form,
  .account-sidebar-v2 .account-logout{flex:0 0 auto}
  .account-sidebar-v2 .account-nav a,
  .account-sidebar-v2 .account-logout{min-height:40px!important;padding:9px 11px!important}
  .account-content.account-content-v2{width:100%;min-width:0}
  .account-map-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:1180px){
  .account-map-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* Keep the large landing-map product panel visually centred at every desktop
   zoom level instead of allowing internal max-width rules to drift it. */
.hp-hero-product .hp-hero-map{
  margin-left:auto!important;
  margin-right:auto!important;
}

/* 20.0.41 dedicated phone-only comparison components. */
.country-compare-picker-mobile,.country-data-mobile-v41,.country-data-mobile-v42{display:none}

/* 20.0.43 launch polish: remove redundant decorative footer micro-copy. */
.footer-built{display:none!important}

/* 21.2.0 — format-neutral protected download chooser */
.license-format-picker{margin:0 0 17px;padding:15px;border:1px solid color-mix(in srgb,var(--info-2) 17%,transparent);border-radius:14px;background:color-mix(in srgb,var(--n24) 2.2%,transparent)}
.license-format-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:11px}.license-format-heading>span{color:var(--ink);font-size:.79rem;font-weight:800}.license-format-heading small{color:var(--ink-faint);font-size:.66rem}
.license-format-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.license-format-grid label{position:relative;display:block;cursor:pointer}.license-format-grid input{position:absolute;opacity:0;pointer-events:none}.license-format-grid label>span{min-height:58px;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:10px 11px;border:1px solid color-mix(in srgb,var(--info-2) 16%,transparent);border-radius:10px;background:color-mix(in srgb,var(--n2) 50%,transparent);transition:border-color .15s ease,background .15s ease,transform .15s ease}.license-format-grid label:hover>span{transform:translateY(-1px);border-color:color-mix(in srgb,var(--gold-4) 35%,transparent)}.license-format-grid input:checked+span{border-color:color-mix(in srgb,var(--gold-4) 62%,transparent);background:color-mix(in srgb,var(--gold-4) 10%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--gold-4) 12%,transparent) inset}.license-format-grid strong{color:var(--ink);font-size:.72rem}.license-format-grid small{color:var(--ink-faint);font-size:.6rem}
@media(max-width:620px){.license-format-heading{align-items:flex-start;flex-direction:column;gap:3px}.license-format-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
