/* ──────────────────────────────────────────────────────────────────────────────
   Odysia — odysiatravel.app
   Tokens transcribed from the Odysia design system (which is itself transcribed
   from the app's constants/meridian.ts). Do not invent colours here: if a value
   isn't in this block, it belongs in the app's token file first.
   ────────────────────────────────────────────────────────────────────────────── */
@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@600;700;800&family=Red+Hat+Mono:wght@500&display=swap");

:root{
  /* Blue */
  --blue-500:#2E63E7; --blue-600:#1B47B8; --blue-700:#1B3FA0;
  --blue-300:#9BB4F0; --blue-200:#C9D6F5; --blue-tint:#E8EEFC;
  /* Ink */
  --ink-900:#0E1B33; --ink-700:#42506B; --ink-500:#5C6B84; --ink-400:#647288; --ink-300:#C6D0E0;
  /* Surfaces */
  --surface-card:#FFFFFF; --surface-screen:#F5F7FB; --surface-tint-2:#F1F4FA;
  --border-hairline:#E3E9F2; --border-divider:#EEF2F8;
  /* Night */
  --night-space:#0A1224; --night-space-edge:#050A16; --night-land:#17233E; --night-land-edge:#26355A;
  --night-ocean:#122448; --night-graticule:#1D2C4E; --night-visited:#3E6FE8; --night-visited-edge:#6B96F5;
  --night-text:#CFE0FF; --night-text-muted:#8DA0BF; --night-faint:#5C7099; --night-fainter:#3D4E75;
  --night-panel:#0C1628; --night-foot:#080F1E;
  --on-night-fill:rgba(255,255,255,0.10); --on-night-border:rgba(255,255,255,0.14);
  --on-primary:#FFFFFF;
  --accent-violet:#7C5CE0; --accent-teal:#0FA3A3; --accent-orange:#E07A3F;
  /* Type */
  --font-display:'Plus Jakarta Sans',sans-serif;
  --font-mono:'Red Hat Mono',monospace;
  --font-body:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--night-space);color:var(--surface-screen);font-family:var(--font-body);overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:var(--night-visited-edge);text-decoration:none}
a:hover{color:var(--blue-300)}
img,video{max-width:100%}
ion-icon{display:inline-flex;visibility:visible!important}
.wrap{max-width:1180px;margin:0 auto;padding-inline:24px}
.eyebrow{font:500 11px/1.4 var(--font-mono);letter-spacing:2px;color:var(--night-visited-edge)}
.lede{font:600 17px/26px var(--font-display);color:var(--night-text);margin:14px 0 0}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);text-wrap:balance}
:focus-visible{outline:2px solid var(--night-visited-edge);outline-offset:3px;border-radius:6px}

/* ── Header ──────────────────────────────────────────────────────────────── */
.nav{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 24px;background:rgba(10,18,36,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--night-graticule)}
.brand{display:flex;align-items:center;gap:9px;color:var(--surface-screen);font:700 19px/1.1 var(--font-display);letter-spacing:-.3px}
.nav nav{display:flex;align-items:center;gap:22px}
.nav-link{font:600 13px/1 var(--font-body);color:var(--night-text-muted)}
.nav-link:hover{color:var(--surface-screen)}
.btn{display:inline-flex;align-items:center;gap:9px;border-radius:999px;font-family:var(--font-body);font-weight:600;cursor:pointer}
.btn-primary{padding:15px 26px;background:var(--blue-500);color:#fff;font-size:15px;box-shadow:0 10px 30px rgba(46,99,231,.5)}
.btn-primary:hover{background:var(--blue-600);color:#fff}
.btn-sm{padding:10px 18px;font-size:13px;box-shadow:0 6px 18px rgba(46,99,231,.45)}
.btn-ghost{padding:15px 24px;background:var(--on-night-fill);border:1px solid var(--on-night-border);color:var(--surface-screen);font-size:15px}
.btn-ghost:hover{color:#fff;background:rgba(255,255,255,.14)}
.btn-dead{padding:16px 26px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:var(--night-text-muted);font-size:15px;cursor:default}

/* ── Hero ────────────────────────────────────────────────────────────────── */
.hero{position:relative;padding-inline:24px;overflow:hidden}
.hero::before,.hero .ring{content:"";position:absolute;pointer-events:none}
.hero::before{inset:0;background:radial-gradient(90% 80% at 28% 8%,var(--night-ocean) 0%,var(--night-space) 68%)}
.ring{border-radius:50%;left:50%}
.ring-1{top:-180px;width:1100px;height:1100px;margin-left:-550px;border:1px solid var(--night-graticule)}
.ring-2{top:-40px;width:720px;height:720px;margin-left:-360px;border:1px solid #16233F}
.hero-in{position:relative;max-width:1180px;margin:0 auto;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:48px;align-items:center;padding-block:84px 96px}
.hero h1{font-weight:800;font-size:clamp(38px,4.6vw,64px);line-height:.98;letter-spacing:-2.2px;color:var(--surface-screen);margin-top:22px}
.hero h1 em{font-style:normal;color:var(--night-visited-edge)}
.hero p{font:600 19px/28px var(--font-display);color:var(--night-text);margin:20px 0 0;max-width:34em}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero-facts{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:22px;
  font:500 11px/1.4 var(--font-mono);letter-spacing:1.4px;color:var(--night-faint)}
.hero-facts b{color:var(--night-graticule);font-weight:500}
.hero-art{display:flex;justify-content:center;min-width:0}
.hero-art .frame{position:relative;width:min(460px,100%);aspect-ratio:840/1059;border-radius:24px;overflow:hidden;
  background:radial-gradient(70% 60% at 50% 38%,var(--night-ocean) 0%,var(--night-space) 75%);
  border:1px solid var(--night-land-edge);box-shadow:0 40px 90px rgba(5,10,22,.6)}
.hero-art img{display:block;width:100%;height:auto}

/* ── Section furniture ───────────────────────────────────────────────────── */
.intro{max-width:1180px;margin:0 auto;padding:96px 24px 24px}
.intro h2{font-weight:800;font-size:clamp(30px,3.4vw,46px);line-height:1.04;letter-spacing:-1.6px;color:var(--surface-screen);margin-top:18px;max-width:22em}
.feature{max-width:1180px;margin:0 auto;padding:56px 24px}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:clamp(32px,5vw,72px);align-items:center}
.tag{display:flex;align-items:center;gap:10px}
.tag i{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;
  background:rgba(107,150,245,.14);border:1px solid var(--night-land-edge);color:var(--night-visited-edge);font-size:17px}
.tag span{font:500 11px/1.4 var(--font-mono);letter-spacing:2px;color:var(--night-text-muted)}
.feature h3{font-weight:800;font-size:clamp(28px,3vw,38px);line-height:1.06;letter-spacing:-1.3px;color:var(--surface-screen);margin-top:20px}
.ticks{display:grid;gap:12px;margin:26px 0 0;padding:0;list-style:none}
.ticks li{display:flex;gap:11px;align-items:flex-start;font:400 14px/21px var(--font-body);color:var(--night-text-muted)}
.ticks li::before{content:"✓";color:var(--night-visited-edge);font-size:14px;line-height:21px}
.aside{font:600 15px/23px var(--font-display);color:var(--night-visited-edge);margin:26px 0 0}
.centre{display:flex;justify-content:center;min-width:0}

/* Map panel */
.panel{border:1px solid var(--night-land-edge);border-radius:24px;overflow:hidden;background:var(--night-panel)}
.panel .split{gap:0;align-items:center}
.panel-copy{padding:clamp(28px,4vw,52px);min-width:0}
.panel-map{min-width:0;position:relative;background:var(--night-space);border-left:1px solid var(--night-graticule);padding:20px}
#worldmap{display:block;width:100%;height:auto}
.map-wait{display:flex;align-items:center;justify-content:center;height:340px;font:500 11px/13px var(--font-mono);color:var(--night-text-muted)}
.count{display:inline-flex;align-items:baseline;gap:8px;margin-top:28px;padding:10px 16px;border-radius:999px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.count b{font:800 18px/1 var(--font-display);color:var(--night-visited-edge)}
.count span{font:500 11px/1 var(--font-mono);letter-spacing:1.6px;color:var(--night-text-muted)}

/* Stats strip */
.stats{display:flex;flex-wrap:wrap;gap:22px;margin-top:30px;padding-top:26px;border-top:1px solid var(--night-graticule)}
.stats b{display:block;font:800 30px/1 var(--font-display);letter-spacing:-1.2px;color:var(--surface-screen)}
.stats .lit b{color:var(--night-visited-edge)}
.stats span{display:block;font:500 10px/1.2 var(--font-mono);letter-spacing:1.6px;color:var(--night-faint);margin-top:6px}

/* Framed artwork */
.shot{width:min(520px,100%);border-radius:24px;overflow:hidden;background:#fff;border:1px solid var(--night-land-edge);box-shadow:0 30px 70px rgba(5,10,22,.55)}
.shot img{display:block;width:100%;height:auto}
.phone{position:relative;width:min(390px,100%);height:700px;border-radius:34px;overflow:hidden;
  background:var(--surface-screen);border:1px solid var(--night-land-edge);box-shadow:0 30px 70px rgba(5,10,22,.55)}
.phone-dark{background:var(--night-space)}
.phone video{width:100%;height:100%;object-fit:cover;display:block}
.phone-badge{position:absolute;top:18px;left:18px;display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:999px;
  background:var(--on-night-fill);border:1px solid var(--on-night-border);backdrop-filter:blur(8px)}
.phone-badge i{width:6px;height:6px;border-radius:50%;background:var(--night-visited-edge)}
.phone-badge span{font:500 10px/1 var(--font-mono);letter-spacing:1.6px;color:var(--night-text)}

/* Wrapped band */
.band{border-top:1px solid var(--night-graticule);border-bottom:1px solid var(--night-graticule);background:var(--night-panel)}
.band .wrap{padding-block:72px}
.band-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px}
.band-head h3{font-weight:800;font-size:clamp(26px,2.6vw,34px);line-height:1.08;letter-spacing:-1.1px;color:var(--surface-screen);margin-top:16px}
.band-head p{font:400 14px/21px var(--font-body);color:var(--night-text-muted);margin:12px 0 0;max-width:34em}
.band-head .stamp{font:500 11px/1.6 var(--font-mono);letter-spacing:1.6px;color:var(--night-faint)}
.band-card{display:flex;justify-content:center;margin-top:36px}
.band-card div{width:min(380px,100%);border-radius:30px;overflow:hidden;background:var(--blue-500);
  border:1px solid var(--night-land-edge);box-shadow:0 30px 70px rgba(5,10,22,.55)}
.band-card img{display:block;width:100%;height:auto}

/* ── How it works ────────────────────────────────────────────────────────── */
.how{border-top:1px solid var(--night-graticule);background:var(--night-panel)}
.how .wrap{padding-block:88px}
.how h2{font-weight:800;font-size:clamp(30px,3.4vw,44px);line-height:1.04;letter-spacing:-1.6px;color:var(--surface-screen);margin-top:18px;max-width:20em}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px;margin-top:44px}
.step{background:var(--night-land);border:1px solid var(--night-land-edge);border-radius:20px;padding:26px}
.step .n{font:500 11px/1 var(--font-mono);letter-spacing:2px;color:var(--night-visited-edge)}
.step h4{font-weight:800;font-size:22px;line-height:1.15;letter-spacing:-.7px;color:var(--surface-screen);margin-top:16px}
.step p{font:400 14px/21px var(--font-body);color:var(--night-text-muted);margin:10px 0 0}

/* ── Closing ─────────────────────────────────────────────────────────────── */
.get{position:relative;border-top:1px solid var(--night-graticule);overflow:hidden}
.get::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(80% 90% at 50% 100%,var(--night-ocean) 0%,var(--night-space) 70%)}
.get .ring-3{position:absolute;bottom:-420px;left:50%;width:900px;height:900px;margin-left:-450px;border-radius:50%;border:1px solid var(--night-graticule);pointer-events:none}
.get .ring-4{position:absolute;bottom:-300px;left:50%;width:560px;height:560px;margin-left:-280px;border-radius:50%;border:1px dashed var(--night-graticule);pointer-events:none}
.get-in{position:relative;max-width:820px;margin:0 auto;padding:110px 24px 120px;text-align:center}
.get h2{font-weight:800;font-size:clamp(36px,5vw,58px);line-height:1.02;letter-spacing:-2.2px;color:var(--surface-screen);margin-top:26px}
.get p{font:600 18px/27px var(--font-display);color:var(--night-text);margin:18px auto 0;max-width:30em}
.get-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:36px}
.social{display:inline-flex;align-items:center;gap:9px;margin-top:26px;color:var(--night-text-muted);font:500 12px/1 var(--font-mono);letter-spacing:1.4px}
.fineprint{font:400 13px/20px var(--font-body);color:var(--night-faint);margin:38px auto 0;max-width:34em}

.foot{border-top:1px solid var(--night-graticule);background:var(--night-foot)}
.foot .wrap{padding-block:32px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}
.foot-brand{display:flex;align-items:center;gap:9px;font:700 15px/1 var(--font-display);letter-spacing:-.2px;color:var(--night-text-muted)}
.foot-links{display:flex;flex-wrap:wrap;align-items:center;gap:22px;font:500 11px/1 var(--font-mono);letter-spacing:1.4px}
.foot-links a{color:var(--night-faint)}
.foot-links a:hover{color:var(--night-visited-edge)}
.foot-links span{color:var(--night-fainter)}

/* ──────────────────────────────────────────────────────────────────────────────
   Phone mock-ups — static replicas of the app's Activity and Profile screens.
   Light, because the app is: these sit inside a .phone frame on the dark page.
   ────────────────────────────────────────────────────────────────────────────── */
.app{height:100%;overflow:hidden;background:var(--surface-screen);color:var(--ink-900);display:grid;gap:14px;
  align-content:start;padding:10px 20px 0;font-family:var(--font-body)}
.app-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.app-head h5{margin:0;font:700 26px/30px var(--font-display);letter-spacing:-.5px;color:var(--ink-900)}
.app-head p{margin:4px 0 0;font:400 12px/17px var(--font-body);color:var(--ink-500)}
.app-actions{display:flex;gap:8px;flex:none}
.icon-btn{width:34px;height:34px;border-radius:999px;background:var(--surface-card);border:1px solid var(--border-hairline);
  display:inline-flex;align-items:center;justify-content:center;color:var(--ink-500);font-size:16px}
.icon-btn.primary{background:var(--blue-500);border-color:var(--blue-500);color:#fff}
.seg{display:flex;background:var(--surface-tint-2);border-radius:999px;padding:3px}
.seg span{flex:1;text-align:center;padding:7px 0;border-radius:999px;font:600 13px/1 var(--font-body);color:var(--ink-500)}
.seg span.on{background:var(--surface-card);color:var(--ink-900);box-shadow:0 1px 2px rgba(14,27,51,.12)}
.sec{font:600 15px/20px var(--font-display);color:var(--ink-900)}
.list{background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:16px;overflow:hidden}
.row{display:flex;align-items:center;gap:12px;padding:13px 16px;border-top:1px solid var(--border-divider)}
.row:first-child{border-top:0}
.row .grow{flex:1;min-width:0}
.name{display:block;font:600 14px/19px var(--font-body);color:var(--ink-900)}
.sub{display:block;font:400 12px/17px var(--font-body);color:var(--ink-500)}
.sub.blue{font:600 12px/17px var(--font-display);color:var(--blue-500)}
.sub.off{color:var(--ink-300)}
.ava{width:34px;height:34px;border-radius:999px;flex:none;display:inline-flex;align-items:center;justify-content:center;
  color:#fff;font:700 13px/1 var(--font-display)}
.ava-v{background:var(--accent-violet)}.ava-t{background:var(--accent-teal)}.ava-o{background:var(--accent-orange)}.ava-b{background:var(--blue-500)}
.cluster{display:flex;flex:none}
.cluster .ava{width:28px;height:28px;font-size:11px;border:2px solid var(--surface-card);margin-left:-9px}
.cluster .ava:first-child{margin-left:0}
.dot{width:8px;height:8px;border-radius:4px;background:var(--blue-500);flex:none}
.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:6px 12px;font:600 12px/1.2 var(--font-display);flex:none}
.pill-solid{background:var(--blue-500);color:#fff}
.pill-tint{background:var(--blue-tint);color:var(--blue-500);padding:3px 9px;font:700 10px/1.3 var(--font-mono);letter-spacing:.5px}
.pill-quiet{background:var(--surface-tint-2);color:var(--ink-500);padding:5px 10px;font:600 11px/1.2 var(--font-display)}
.lvl{display:inline-flex;align-items:center;gap:4px;background:var(--blue-tint);color:var(--blue-500);border-radius:999px;
  padding:3px 8px;font:500 10px/1.2 var(--font-mono);letter-spacing:.4px}
.trip{background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:18px;overflow:hidden}
.trip-top{padding:14px 16px 12px;border-bottom:1px solid var(--border-divider)}
.trip-top .when{font:500 10px/12px var(--font-mono);letter-spacing:1.2px;color:var(--blue-500)}
.trip-top .when.quiet{color:var(--ink-400)}
.trip-top .city{display:block;font:700 20px/24px var(--font-display);letter-spacing:-.3px;color:var(--ink-900);margin-top:6px}
.trip-body{padding:12px 16px 14px}
.between{display:flex;align-items:center;justify-content:space-between;gap:10px}
.stat-row{display:flex;background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:16px;overflow:hidden}
.stat-row div{flex:1;text-align:center;padding:12px 0;border-left:1px solid var(--border-divider)}
.stat-row div:first-child{border-left:0}
.stat-row b{display:block;font:700 20px/24px var(--font-display);color:var(--ink-900)}
.stat-row span{display:block;font:400 12px/16px var(--font-body);color:var(--ink-500);margin-top:2px}
.prof-top{display:flex;align-items:flex-start;gap:16px}
.prof-ava{width:84px;height:84px;border-radius:42px;background:var(--ink-700);flex:none;display:inline-flex;
  align-items:center;justify-content:center;font:700 30px/1 var(--font-display);color:#fff}
.flags{flex:1;display:flex;flex-wrap:wrap;gap:4px;padding-top:3px}
.flags img{width:17px;height:auto;border:1px solid var(--border-hairline);border-radius:2px;display:block}
.prof-name{font:700 26px/30px var(--font-display);letter-spacing:-.5px;color:var(--ink-900)}
.prof-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:8px}
.prof-tabs{display:flex;border-bottom:1px solid var(--border-hairline)}
.prof-tabs span{flex:1;text-align:center;padding:9px 0;margin-bottom:-1px;color:var(--ink-400);font-size:19px}
.prof-tabs span.on{color:var(--blue-500);border-bottom:2px solid var(--blue-500)}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding-top:14px}
.tile{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;
  justify-content:flex-end;padding:8px;color:#fff}
.tile b{font:700 12px/1.2 var(--font-display);text-shadow:0 1px 6px rgba(0,0,0,.55)}
.tile span{font:500 9px/1.2 var(--font-mono);letter-spacing:.6px;color:rgba(255,255,255,.82)}
.g1{background:linear-gradient(160deg,#F4C770,#B07A2A)}.g2{background:linear-gradient(160deg,#E8A0A8,#9C5763)}
.g3{background:linear-gradient(160deg,#7FC8A9,#3B7A61)}.g4{background:linear-gradient(160deg,#8FB3F0,#2E4E9C)}
.g5{background:linear-gradient(160deg,#D9A7E0,#6B4A87)}.g6{background:linear-gradient(160deg,#F0B08A,#9C5A34)}
.g7{background:linear-gradient(160deg,#A8CBE8,#3E6FA8)}.g8{background:linear-gradient(160deg,#C3D98F,#5F7A3B)}
.g9{background:linear-gradient(160deg,#E8C39E,#8A6340)}
.app-tip{font:400 12px/17px var(--font-body);color:var(--ink-500);text-align:center;padding:12px 0}

/* ──────────────────────────────────────────────────────────────────────────────
   Legal pages (privacy.html)
   ────────────────────────────────────────────────────────────────────────────── */
.doc-top{background:var(--night-space);color:#fff;padding-block:40px 34px;border-bottom:1px solid var(--night-graticule)}
.doc-top .wrap{max-width:680px}
.doc-top .back{display:inline-block;margin-bottom:22px;font:600 13px/1 var(--font-display);color:var(--night-text)}
.doc-top .mark{width:44px;height:44px;margin-bottom:18px}
.doc-top h1{font-weight:800;font-size:clamp(28px,4.4vw,40px);letter-spacing:-1.2px;color:var(--surface-screen)}
.doc-top .stamp{margin:12px 0 0;font:500 11px/1 var(--font-mono);letter-spacing:.1em;color:var(--night-text-muted)}

.doc{max-width:680px;margin:0 auto;padding:44px 24px 72px;background:transparent;color:var(--night-text-muted)}
.doc p{margin:10px 0;font:400 15px/25px var(--font-body);color:var(--night-text-muted)}
.doc h2{font-weight:800;font-size:23px;letter-spacing:-.4px;color:var(--surface-screen);margin:44px 0 6px;padding-top:26px;border-top:1px solid var(--night-graticule)}
.doc h2:first-of-type{margin-top:0;padding-top:0;border-top:0}
.doc h3{font:600 15px/1.3 var(--font-display);color:var(--night-text);margin:26px 0 6px}
.doc ul{margin:10px 0;padding:0;list-style:none;display:grid;gap:8px}
.doc li{position:relative;padding-left:20px;font:400 15px/25px var(--font-body);color:var(--night-text-muted)}
.doc li::before{content:"";position:absolute;left:2px;top:10px;width:5px;height:5px;border-radius:50%;background:var(--night-graticule)}
.doc strong{color:var(--night-text);font-weight:600}
.tldr{background:var(--night-panel);border:1px solid var(--night-land-edge);border-radius:18px;padding:22px 24px;margin:26px 0 8px}
.tldr h2{margin:0 0 4px;padding:0;border:0;font-size:19px}
.tldr li::before{background:var(--night-visited-edge)}
.share-wrap{overflow-x:auto}
.share{width:100%;border-collapse:collapse;margin:14px 0;font:400 14px/21px var(--font-body)}
.share th{text-align:left;font:500 10px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;
  color:var(--night-faint);padding:0 12px 10px 0;border-bottom:1px solid var(--night-graticule)}
.share td{padding:12px 12px 12px 0;border-bottom:1px solid #16233F;color:var(--night-text-muted);vertical-align:top}
.share td:first-child{color:var(--night-text);font-weight:600;white-space:nowrap}
.doc-foot{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;margin-top:44px;
  padding-top:22px;border-top:1px solid var(--night-graticule);font:500 11px/1.6 var(--font-mono);letter-spacing:.08em;color:var(--night-fainter)}

/* ── Narrow ──────────────────────────────────────────────────────────────── */
@media (max-width:900px){
  .panel-map{border-left:0;border-top:1px solid var(--night-graticule)}
  .nav nav .nav-link{display:none}
}
@media (max-width:520px){
  .phone{height:620px}
  .hero-in{padding-block:56px 64px}
  .intro{padding-top:64px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}
