/* Athena Jets — gold-on-black brand system.
   Layout: a flight-plan chart. Hairline graticule rules, ICAO codes and
   instrument-style data in mono, Cormorant display set like the wordmark. */
:root {
  --ink: #0b0a09;
  --ink-2: #12100d;
  --ink-3: #1a1712;
  --line: rgba(212, 172, 92, 0.16);
  --line-2: rgba(212, 172, 92, 0.32);
  --gold: #d4ac5c;
  --gold-hi: #efd69b;
  --gold-lo: #9c7a37;
  --paper: #ede7db;
  --mute: #a39a8b;
  --dim: #6f685d;
  --ok: #7fb58a;
  --display: "Cormorant Garamond", "Cormorant", Garamond, "Times New Roman", serif;
  --body: "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --wrap: 1200px;
  --r: 4px;
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
body {
  margin: 0;
  background: var(--ink);
  color: var(--paper);
  font: 400 16px/1.65 var(--body);
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
[hidden] { display: none !important; }

.wrap { max-width: var(--wrap); margin: 0 auto; padding-left: max(20px, env(safe-area-inset-left, 0px)); padding-right: max(20px, env(safe-area-inset-right, 0px)); }

/* Type */
h1, h2, h3, h4 { font-family: var(--display); font-weight: 400; line-height: 1.08; margin: 0; text-wrap: balance; letter-spacing: -0.005em; }
h1 { font-size: clamp(2.9rem, 7vw, 5.6rem); }
h2 { font-size: clamp(2.1rem, 4.4vw, 3.4rem); }
h3 { font-size: 1.7rem; }
h4 { font-size: 1.3rem; }
h1 em, h2 em { color: var(--gold-hi); font-style: italic; }
p { margin: 0; }
.eyebrow { font: 500 0.72rem/1 var(--mono); letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); display: inline-flex; align-items: center; gap: 12px; }
.eyebrow::before { content: ""; width: 28px; height: 1px; background: var(--gold); }
.lede { color: var(--mute); font-size: 1.08rem; max-width: 60ch; }
.mono { font-family: var(--mono); font-variant-numeric: tabular-nums; }
.diamond { display: inline-block; width: 7px; height: 7px; background: var(--gold); transform: rotate(45deg); }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 14px 26px; border-radius: var(--r); font: 500 0.82rem/1 var(--body); letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; cursor: pointer; border: 1px solid var(--gold); transition: background 0.25s, color 0.25s, border-color 0.25s; }
.btn-gold { background: linear-gradient(180deg, var(--gold-hi), var(--gold)); color: var(--ink); border-color: var(--gold-hi); }
.btn-gold:hover { background: var(--gold-hi); }
.btn-line { background: transparent; color: var(--gold-hi); }
.btn-line:hover { background: rgba(212, 172, 92, 0.1); }
.link-arrow { color: var(--gold-hi); text-decoration: none; font: 500 0.78rem/1 var(--body); letter-spacing: 0.14em; text-transform: uppercase; }
.link-arrow:hover { color: var(--paper); }

/* Header */
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 60; background: var(--ink); }
.site-header { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 50; background: rgba(11, 10, 9, 0.82); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); }
.site-header .wrap { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 72px; }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.brand img.mark { height: 34px; width: auto; }
.brand img.word { height: 13px; width: auto; }
.nav { display: flex; align-items: center; gap: 14px; }
.nav a { white-space: nowrap; }
.nav a { color: var(--mute); text-decoration: none; font-size: 0.81rem; letter-spacing: 0.02em; transition: color 0.2s; }
.nav a:hover, .nav a[aria-current="page"] { color: var(--gold-hi); }
.nav .btn { padding: 11px 18px; color: var(--ink); }
.nav-toggle { display: none; background: none; border: 1px solid var(--line-2); color: var(--gold-hi); border-radius: var(--r); padding: 9px 12px; font: 500 0.75rem/1 var(--mono); letter-spacing: 0.14em; cursor: pointer; }
@media (max-width: 1180px) {
  .nav-toggle { display: inline-block; }
  .nav { position: absolute; top: 72px; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; background: var(--ink-2); border-bottom: 1px solid var(--line); padding: 8px max(20px, env(safe-area-inset-right, 0px)) 20px max(20px, env(safe-area-inset-left, 0px)); display: none; }
  .nav.open { display: flex; }
  .nav a { padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 1rem; }
  .nav .btn { margin-top: 16px; border-bottom: 1px solid var(--gold-hi); }
}

/* Sections */
section { position: relative; }
.section { padding-block: clamp(72px, 10vw, 128px); border-top: 1px solid var(--line); }
.section-head { display: grid; gap: 18px; margin-bottom: 52px; max-width: 760px; }
.section-head.split { max-width: none; grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr); align-items: end; gap: 40px; }
@media (max-width: 820px) { .section-head.split { grid-template-columns: 1fr; gap: 18px; } }

/* Hero */
.hero { overflow: hidden; padding-block: clamp(56px, 8vw, 96px) 0; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.hero-copy { display: grid; gap: 26px; }
.hero-copy .lede { font-size: 1.15rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.chart { position: relative; aspect-ratio: 1 / 0.92; max-width: 100%; }
.chart svg { width: 100%; height: 100%; overflow: visible; }
.chart .grat { stroke: var(--line); stroke-width: 1; fill: none; }
.chart .arc { stroke: var(--gold); stroke-width: 1.3; fill: none; stroke-dasharray: 600; stroke-dashoffset: 600; animation: draw 2.4s cubic-bezier(.6,.1,.2,1) forwards; }
.chart .arc.soft { stroke: var(--gold-lo); stroke-dasharray: 3 5; stroke-dashoffset: 0; animation: none; opacity: .7; }
.chart .pt { fill: var(--gold-hi); }
.chart .hub { fill: var(--ink); stroke: var(--gold-hi); stroke-width: 1.5; }
.chart text { font: 500 10px var(--mono); fill: var(--mute); letter-spacing: 0.08em; }
.chart text.hubt { fill: var(--gold-hi); font-size: 12px; }
@keyframes draw { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) { .chart .arc { stroke-dashoffset: 0; } }

.quick { margin-top: clamp(40px, 6vw, 72px); border: 1px solid var(--line-2); border-radius: var(--r); background: var(--ink-2); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; }
.quick label { display: grid; gap: 6px; padding: 18px 20px; border-right: 1px solid var(--line); min-width: 0; }
.quick label span { font: 500 0.66rem/1 var(--mono); letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); }
.quick input, .quick select { background: transparent; border: 0; color: var(--paper); font: 400 1rem var(--body); padding: 0; width: 100%; min-width: 0; }
.quick input::placeholder { color: var(--dim); }
.quick .btn { margin: 10px; }
@media (max-width: 900px) { .quick { grid-template-columns: 1fr 1fr; } .quick label:nth-child(2n) { border-right: 0; } .quick label { border-bottom: 1px solid var(--line); } .quick .btn { grid-column: 1 / -1; } }

.stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); margin-top: clamp(48px, 7vw, 80px); }
.stat { padding: 30px 20px 34px 0; display: grid; gap: 6px; }
.stat + .stat { padding-left: 24px; border-left: 1px solid var(--line); }
.stat b { font: 400 clamp(2.2rem, 4vw, 3.1rem)/1 var(--display); color: var(--gold-hi); }
.stat span { color: var(--mute); font-size: 0.85rem; }
@media (max-width: 820px) { .hero-grid { grid-template-columns: 1fr; } .chart { max-width: 520px; margin-inline: auto; width: 100%; } .stats { grid-template-columns: 1fr 1fr; } .stat:nth-child(3) { border-left: 0; padding-left: 0; } .stat:nth-child(n+3) { border-top: 1px solid var(--line); } }

/* Empty legs board */
.legs-search { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; gap: 12px; margin-bottom: 28px; }
.field { display: grid; gap: 8px; min-width: 0; }
.field > span { font: 500 0.66rem/1 var(--mono); letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); }
.field input, .field select, .field textarea { width: 100%; background: var(--ink-2); border: 1px solid var(--line-2); border-radius: var(--r); color: var(--paper); font: 400 0.98rem var(--body); padding: 13px 14px; min-width: 0; }
.field textarea { min-height: 110px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--gold); outline: none; }
.legs-search .btn { align-self: end; height: 48px; }
@media (max-width: 900px) { .legs-search { grid-template-columns: 1fr 1fr; } .legs-search .btn { grid-column: 1 / -1; } }

.board { border: 1px solid var(--line-2); border-radius: var(--r); overflow: hidden; background: var(--ink-2); }
.board-top { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px 20px; border-bottom: 1px solid var(--line); font: 500 0.7rem/1.4 var(--mono); letter-spacing: 0.16em; text-transform: uppercase; color: var(--mute); flex-wrap: wrap; }
.live-dot { display: inline-flex; align-items: center; gap: 8px; color: var(--ok); }
.live-dot::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--ok); box-shadow: 0 0 0 4px rgba(127, 181, 138, .15); }
.live-dot.demo { color: var(--gold); } .live-dot.demo::before { background: var(--gold); box-shadow: 0 0 0 4px rgba(212,172,92,.15); }
.leg { display: grid; grid-template-columns: 110px minmax(0, 1.6fr) minmax(0, 1fr) 120px auto; gap: 20px; align-items: center; padding: 20px; border-bottom: 1px solid var(--line); transition: background .2s; }
.leg:last-child { border-bottom: 0; }
.leg:hover { background: var(--ink-3); }
.leg-date { font-family: var(--mono); color: var(--gold-hi); font-size: 0.86rem; line-height: 1.35; }
.leg-date small { display: block; color: var(--dim); font-size: 0.7rem; letter-spacing: .08em; }
.route { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 14px; min-width: 0; }
.route .code { font: 500 1.35rem/1 var(--mono); letter-spacing: 0.04em; color: var(--paper); }
.route .city { color: var(--mute); font-size: 0.82rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.route .path { width: 64px; height: 1px; background: linear-gradient(90deg, var(--gold-lo), var(--gold-hi)); position: relative; }
.route .path::after { content: ""; position: absolute; right: -2px; top: -3px; width: 7px; height: 7px; border-top: 1px solid var(--gold-hi); border-right: 1px solid var(--gold-hi); transform: rotate(45deg); }
.leg-ac { font-size: 0.9rem; min-width: 0; }
.leg-ac small { display: block; color: var(--dim); font-size: 0.78rem; }
.leg-price { font: 500 1rem var(--mono); color: var(--gold-hi); text-align: right; font-variant-numeric: tabular-nums; }
.leg-price small { display: block; color: var(--dim); font-size: 0.68rem; letter-spacing: .1em; }
.leg .btn { padding: 11px 16px; font-size: 0.72rem; }
@media (max-width: 900px) {
  .leg { grid-template-columns: 1fr auto; grid-template-areas: "route route" "date price" "ac btn"; gap: 14px; }
  .leg .route { grid-area: route; } .leg-date { grid-area: date; } .leg-price { grid-area: price; } .leg-ac { grid-area: ac; } .leg .btn { grid-area: btn; }
}
.board-empty { padding: 48px 20px; text-align: center; color: var(--mute); }
.board-foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 18px; color: var(--dim); font-size: 0.84rem; }
.pager { display: flex; gap: 8px; }
.pager button { background: transparent; border: 1px solid var(--line-2); color: var(--paper); border-radius: var(--r); padding: 8px 14px; font: 500 .75rem var(--mono); cursor: pointer; }
.pager button:disabled { opacity: .35; cursor: default; }

.alerts { margin-top: 40px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: center; padding: 28px; border: 1px solid var(--line); border-radius: var(--r); }
.alerts form { display: flex; gap: 10px; }
.alerts input { flex: 1; min-width: 0; background: var(--ink-2); border: 1px solid var(--line-2); border-radius: var(--r); color: var(--paper); padding: 13px 14px; font: 400 .98rem var(--body); }
@media (max-width: 760px) { .alerts { grid-template-columns: 1fr; } .alerts form { flex-direction: column; } }

/* Fleet */
.fleet { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.craft { background: var(--ink); display: grid; grid-template-rows: auto 1fr; }
.craft-img { aspect-ratio: 4 / 3; background: radial-gradient(120% 90% at 70% 20%, #2a2318 0%, var(--ink-2) 55%, var(--ink) 100%); overflow: hidden; position: relative; max-width: 100%; }
.craft-img img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.85) contrast(1.05); transition: transform .8s; }
.craft:hover .craft-img img { transform: scale(1.04); }
.craft-img .cls { position: absolute; left: 14px; top: 14px; font: 500 .64rem/1 var(--mono); letter-spacing: .18em; text-transform: uppercase; color: var(--gold-hi); background: rgba(11,10,9,.72); padding: 7px 9px; border: 1px solid var(--line-2); }
.craft-body { padding: 22px; display: grid; gap: 18px; align-content: start; }
.specs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; margin: 0; }
.specs div { display: grid; gap: 2px; }
.specs dt { font: 500 .62rem/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--dim); }
.specs dd { margin: 0; font: 500 .98rem var(--mono); color: var(--paper); font-variant-numeric: tabular-nums; }
@media (max-width: 1000px) { .fleet { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .fleet { grid-template-columns: 1fr; } }

/* Services */
.services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--line); }
.svc { padding: 34px 30px 38px 0; border-bottom: 1px solid var(--line); display: grid; gap: 14px; align-content: start; }
.svc:not(:nth-child(3n+1)) { padding-left: 30px; border-left: 1px solid var(--line); }
.svc p { color: var(--mute); }
.svc .tag { font: 500 .64rem/1 var(--mono); letter-spacing: .18em; text-transform: uppercase; color: var(--gold); }
@media (max-width: 900px) { .services { grid-template-columns: 1fr 1fr; } .svc:not(:nth-child(3n+1)) { padding-left: 0; border-left: 0; } .svc:nth-child(2n) { padding-left: 24px; border-left: 1px solid var(--line); } }
@media (max-width: 600px) { .services { grid-template-columns: 1fr; } .svc:nth-child(2n) { padding-left: 0; border-left: 0; } }

/* Acquisition */
.acq { background: linear-gradient(180deg, var(--ink) 0%, var(--ink-2) 100%); }
.acq-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; }
.acq-pillars { display: grid; gap: 0; border-top: 1px solid var(--line); }
.pillar { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.pillar b { font: 500 .7rem/1.5 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--gold); }
.pillar p { color: var(--mute); }
.pillar p strong { color: var(--paper); font-weight: 500; display: block; font-size: 1.02rem; margin-bottom: 4px; }
.process { counter-reset: step; display: grid; gap: 0; }
.process li { list-style: none; counter-increment: step; display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 16px; padding: 18px 0; border-bottom: 1px dashed var(--line-2); }
.process li::before { content: counter(step, decimal-leading-zero); font: 500 .8rem/1.9 var(--mono); color: var(--gold-hi); }
.process li strong { display: block; font-weight: 500; }
.process li span { color: var(--mute); font-size: .92rem; }
.process { padding: 0; margin: 0; }
.panel { border: 1px solid var(--line-2); border-radius: var(--r); background: var(--ink); padding: clamp(22px, 3vw, 34px); display: grid; gap: 20px; align-content: start; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-grid .full { grid-column: 1 / -1; }
.seg { display: flex; border: 1px solid var(--line-2); border-radius: var(--r); overflow: hidden; }
.seg label { flex: 1; text-align: center; cursor: pointer; position: relative; overflow: hidden; }
.seg input { position: absolute; left: 0; top: 0; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.seg span { display: block; padding: 12px 8px; font: 500 .74rem/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--mute); }
.seg input:checked + span { background: rgba(212,172,92,.14); color: var(--gold-hi); }
.seg input:focus-visible + span { outline: 2px solid var(--gold); outline-offset: -2px; }
@media (max-width: 900px) { .acq-grid { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .form-grid { grid-template-columns: 1fr; } .pillar { grid-template-columns: 1fr; gap: 6px; } }
.form-note { color: var(--dim); font-size: .8rem; }
.form-ok { color: var(--ok); font-size: .9rem; }

/* Pricing */
.tiers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.tier { border: 1px solid var(--line); border-radius: var(--r); padding: 30px; display: grid; gap: 22px; align-content: start; background: var(--ink); }
.tier.feature { border-color: var(--gold); background: linear-gradient(180deg, rgba(212,172,92,.08), transparent 40%), var(--ink); }
.tier .lvl { font: 500 .66rem/1 var(--mono); letter-spacing: .2em; text-transform: uppercase; color: var(--gold); }
.tier .dep { color: var(--mute); font-size: .9rem; }
.tier-card { display: block; margin: -6px -6px 0; }
.tier-card img { display: block; width: 100%; height: auto; border-radius: 14px; box-shadow: 0 22px 40px -20px rgba(0,0,0,.9); transition: transform .35s ease; }
.tier:hover .tier-card img { transform: translateY(-4px) rotate(-.6deg); }
@media (prefers-reduced-motion: reduce) { .tier:hover .tier-card img { transform: none; } }
.rates { display: grid; gap: 0; border-top: 1px solid var(--line); }
.rates div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: .92rem; }
.rates b { font: 500 .95rem var(--mono); color: var(--gold-hi); font-variant-numeric: tabular-nums; white-space: nowrap; }
.rates b small { color: var(--dim); font-weight: 400; }
.ticks { list-style: none; padding: 0; margin: 0; display: grid; gap: 9px; color: var(--mute); font-size: .92rem; }
.ticks li { display: grid; grid-template-columns: 14px 1fr; gap: 10px; }
.ticks li::before { content: ""; width: 6px; height: 6px; background: var(--gold); transform: rotate(45deg); margin-top: 9px; }
.fine { color: var(--dim); font-size: .84rem; margin-top: 28px; max-width: 80ch; }
@media (max-width: 960px) { .tiers { grid-template-columns: 1fr; max-width: 520px; } }

/* Booking */
.book-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 56px; align-items: start; }
@media (max-width: 900px) { .book-grid { grid-template-columns: 1fr; } }

/* Testimonials */
.quotes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.quote { background: var(--ink); padding: 32px; display: grid; gap: 22px; align-content: space-between; }
.quote blockquote { margin: 0; font: 400 1.18rem/1.5 var(--display); color: var(--paper); }
.quote .stars { color: var(--gold); letter-spacing: .3em; font-size: .8rem; }
.quote figcaption { display: grid; gap: 2px; font-size: .86rem; color: var(--mute); }
.quote figcaption b { color: var(--gold-hi); font-weight: 500; }
@media (max-width: 1000px) { .quotes { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .quotes { grid-template-columns: 1fr; } }

/* About */
.about-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; }
.creds { display: grid; gap: 0; border-top: 1px solid var(--line); }
.cred { padding: 22px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 18px minmax(0,1fr); gap: 14px; }
.cred .diamond { margin-top: 10px; }
.cred p { color: var(--mute); }
.prose { display: grid; gap: 18px; color: var(--mute); max-width: 62ch; }
@media (max-width: 900px) { .about-grid { grid-template-columns: 1fr; gap: 40px; } }

/* FAQ */
.faq { border-top: 1px solid var(--line); max-width: 900px; }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { cursor: pointer; list-style: none; padding: 24px 40px 24px 0; font: 400 1.35rem/1.3 var(--display); position: relative; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 4px; top: 22px; font: 300 1.5rem var(--body); color: var(--gold); }
.faq details[open] summary::after { content: "–"; }
.faq details p { color: var(--mute); padding-bottom: 24px; max-width: 70ch; }

/* Journal */
.posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.post { display: grid; gap: 16px; text-decoration: none; align-content: start; }
.post h3 { font-size: 1.5rem; transition: color .2s; }
.post:hover h3 { color: var(--gold-hi); }
.post p { color: var(--mute); font-size: .94rem; }
.post .meta { font: 500 .66rem/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--dim); display: flex; gap: 12px; flex-wrap: wrap; }
.post .meta .cat { color: var(--gold); }
@media (max-width: 960px) { .posts { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .posts { grid-template-columns: 1fr; } }

/* Generated cover: a flight-strip, no stock photo needed */
.cover { aspect-ratio: 16 / 9; max-width: 100%; border: 1px solid var(--line-2); border-radius: var(--r); position: relative; overflow: hidden; background:
  radial-gradient(90% 120% at 100% 0%, rgba(212,172,92,.16), transparent 60%),
  repeating-linear-gradient(90deg, transparent 0 39px, var(--line) 39px 40px),
  repeating-linear-gradient(0deg, transparent 0 39px, var(--line) 39px 40px),
  var(--ink-2); display: grid; align-content: space-between; padding: 18px; }
.cover .c-top { display: flex; justify-content: space-between; font: 500 .62rem/1 var(--mono); letter-spacing: .18em; text-transform: uppercase; color: var(--gold); }
.cover .c-mid { display: flex; align-items: center; gap: 14px; font: 500 clamp(1.4rem, 3vw, 2rem)/1 var(--mono); letter-spacing: .06em; color: var(--paper); }
.cover .c-mid i { flex: 1; height: 1px; background: linear-gradient(90deg, var(--gold-lo), var(--gold-hi)); position: relative; }
.cover .c-mid i::after { content: ""; position: absolute; right: 0; top: -4px; width: 9px; height: 9px; border-top: 1px solid var(--gold-hi); border-right: 1px solid var(--gold-hi); transform: rotate(45deg); }
.cover .c-bot { display: flex; justify-content: space-between; align-items: end; }
.cover .c-bot img { height: 26px; width: auto; opacity: .9; }
.cover .c-bot span { font: 500 .6rem/1 var(--mono); letter-spacing: .16em; color: var(--dim); }
.cover.big { aspect-ratio: 21 / 8; padding: clamp(18px, 3vw, 34px); }
.cover.big .c-mid { font-size: clamp(1.8rem, 5vw, 3.4rem); }

/* Article */
.article-head { padding-block: clamp(48px, 8vw, 96px) 40px; display: grid; gap: 22px; max-width: 900px; }
.article-head h1 { font-size: clamp(2.4rem, 5.5vw, 4.2rem); }
.crumbs { font: 500 .7rem/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--dim); display: flex; gap: 10px; flex-wrap: wrap; }
.crumbs a { color: var(--gold); text-decoration: none; }
.article-body { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 64px; padding-block: 48px 96px; }
.article-body aside { display: grid; gap: 20px; align-content: start; position: sticky; top: 96px; }
@media (max-width: 960px) { .article-body { grid-template-columns: 1fr; } .article-body aside { position: static; } }
.rich { max-width: 68ch; font-size: 1.08rem; color: #d6cfc2; }
.rich > * + * { margin-top: 1.1em; }
.rich h2 { font-size: clamp(1.8rem, 3.4vw, 2.4rem); margin-top: 1.8em; color: var(--paper); }
.rich h3 { font-size: 1.45rem; margin-top: 1.5em; color: var(--paper); }
.rich a { color: var(--gold-hi); text-decoration-color: var(--gold-lo); text-underline-offset: 3px; }
.rich ul, .rich ol { padding-left: 1.2em; }
.rich li + li { margin-top: .4em; }
.rich li::marker { color: var(--gold); }
.rich blockquote { border-left: 2px solid var(--gold); margin-left: 0; padding-left: 20px; font: italic 400 1.3rem/1.5 var(--display); color: var(--paper); }
.rich table { width: 100%; border-collapse: collapse; font-size: .94rem; }
.rich .table-wrap { overflow-x: auto; }
.rich th, .rich td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--line); }
.rich th { font: 500 .68rem/1.3 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--gold); }
.rich strong { color: var(--paper); font-weight: 600; }
.sources { border-top: 1px solid var(--line); padding-top: 24px; margin-top: 48px; font-size: .88rem; color: var(--mute); }
.sources ol { padding-left: 1.2em; display: grid; gap: 6px; }
.sources a { color: var(--mute); }
.cta-card { border: 1px solid var(--gold); border-radius: var(--r); padding: 24px; display: grid; gap: 14px; background: linear-gradient(180deg, rgba(212,172,92,.08), transparent), var(--ink); }
.cta-card p { color: var(--mute); font-size: .92rem; }

/* Contact & footer */
.contact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.contact-grid > div { padding: 28px 24px 28px 0; display: grid; gap: 8px; }
.contact-grid > div + div { padding-left: 24px; border-left: 1px solid var(--line); }
.contact-grid b { font: 500 .66rem/1 var(--mono); letter-spacing: .18em; text-transform: uppercase; color: var(--gold); }
.contact-grid a, .contact-grid p { font: 400 1.5rem/1.3 var(--display); text-decoration: none; color: var(--paper); }
.contact-grid a:hover { color: var(--gold-hi); }
@media (max-width: 760px) { .contact-grid { grid-template-columns: 1fr; } .contact-grid > div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); } }

.site-footer { border-top: 1px solid var(--line); padding-block: 64px 40px; color: var(--mute); font-size: .9rem; }
.foot-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(4, minmax(0, 1fr)); gap: 32px; }
.foot-grid h6 { font: 500 .66rem/1 var(--mono); letter-spacing: .18em; text-transform: uppercase; color: var(--gold); margin: 0 0 16px; }
.foot-grid ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.foot-grid a { text-decoration: none; color: var(--mute); }
.foot-grid a:hover { color: var(--gold-hi); }
.foot-brand { display: grid; gap: 18px; max-width: 34ch; }
.foot-brand img { width: 200px; height: auto; }
.foot-base { margin-top: 56px; padding-top: 22px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: .8rem; color: var(--dim); }
@media (max-width: 860px) { .foot-grid { grid-template-columns: 1fr 1fr; } .foot-brand { grid-column: 1 / -1; } }

.page-hero { padding-block: clamp(56px, 9vw, 110px) clamp(40px, 6vw, 64px); display: grid; gap: 24px; }
.page-hero .lede { font-size: 1.15rem; }


/* Photo covers (Wikimedia Commons, credited) */
.photo { margin: 0; position: relative; display: grid; gap: 6px; }
.photo img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--r); border: 1px solid var(--line); background: var(--ink-2); filter: saturate(.92) contrast(1.03); transition: filter .4s; }
.post:hover .photo img { filter: saturate(1) contrast(1.05); }
.photo.big img { aspect-ratio: 21 / 9; }
.photo .ph-over { position: absolute; left: 0; right: 0; top: 0; aspect-ratio: 16 / 9; border-radius: var(--r); pointer-events: none;
  background: linear-gradient(180deg, rgba(11,10,9,.55) 0%, rgba(11,10,9,0) 30%, rgba(11,10,9,0) 60%, rgba(11,10,9,.75) 100%);
  display: flex; flex-direction: column; justify-content: space-between; padding: 14px 16px; }
.photo.big .ph-over { aspect-ratio: 21 / 9; padding: clamp(16px, 3vw, 30px); }
.ph-cat { align-self: flex-start; font: 500 .62rem/1 var(--mono); letter-spacing: .18em; text-transform: uppercase; color: var(--gold-hi); background: rgba(11,10,9,.7); border: 1px solid var(--line-2); padding: 7px 9px; }
.ph-route { display: flex; align-items: center; gap: 12px; font: 500 clamp(1.1rem, 2.4vw, 1.6rem)/1 var(--mono); letter-spacing: .06em; color: #fff; text-shadow: 0 1px 12px rgba(0,0,0,.6); }
.photo.big .ph-route { font-size: clamp(1.6rem, 4.5vw, 3rem); }
.ph-route i { width: 60px; height: 1px; background: var(--gold-hi); position: relative; }
.ph-route i::after { content: ""; position: absolute; right: 0; top: -4px; width: 8px; height: 8px; border-top: 1px solid var(--gold-hi); border-right: 1px solid var(--gold-hi); transform: rotate(45deg); }
.photo figcaption { font-size: .68rem; color: var(--dim); line-height: 1.4; }
.photo figcaption a { color: var(--dim); }
@media (max-width: 600px) { .photo.big img, .photo.big .ph-over { aspect-ratio: 16 / 10; } }

.consult { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px 28px; align-items: center; border: 1px solid var(--line-2); border-radius: var(--r); padding: 22px 24px; background: linear-gradient(180deg, rgba(212,172,92,.07), transparent), var(--ink-2); max-width: 900px; }
.consult > div { display: grid; gap: 10px; }
.consult p { color: var(--mute); max-width: 62ch; }
@media (max-width: 640px) { .consult { grid-template-columns: 1fr; } .consult .btn { justify-self: start; } }

/* Advisory packages */
.packs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.pack { border: 1px solid var(--line); border-radius: var(--r); padding: 28px; display: grid; gap: 18px; align-content: start; background: var(--ink); }
.pack.feature { border-color: var(--gold); background: linear-gradient(180deg, rgba(212,172,92,.08), transparent 40%), var(--ink); }
.pack .lvl { font: 500 .66rem/1 var(--mono); letter-spacing: .2em; text-transform: uppercase; color: var(--gold); }
.pack .fee { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.pack .fee b { font: 400 clamp(2.2rem, 4vw, 2.9rem)/1 var(--display); color: var(--gold-hi); }
.pack .fee span { color: var(--dim); font-size: .85rem; }
.pack > p { color: var(--mute); }
.pack .meta { display: flex; gap: 16px; flex-wrap: wrap; font: 500 .7rem/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--mute); border-top: 1px solid var(--line); padding-top: 14px; }
.pack .meta b { color: var(--paper); font-weight: 500; }
@media (max-width: 960px) { .packs { grid-template-columns: 1fr; max-width: 560px; } }
.areas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.areas div { padding: 26px 26px 28px 0; border-bottom: 1px solid var(--line); display: grid; gap: 8px; align-content: start; }
.areas div:not(:nth-child(3n+1)) { padding-left: 26px; border-left: 1px solid var(--line); }
.areas p { color: var(--mute); font-size: .95rem; }
@media (max-width: 900px) { .areas { grid-template-columns: 1fr 1fr; } .areas div:not(:nth-child(3n+1)) { padding-left: 0; border-left: 0; } .areas div:nth-child(2n) { padding-left: 22px; border-left: 1px solid var(--line); } }
@media (max-width: 600px) { .areas { grid-template-columns: 1fr; } .areas div:nth-child(2n) { padding-left: 0; border-left: 0; } }

/* ===== Ask Athena chat ===== */
#ac-root { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); z-index: 90; font-family: var(--body, system-ui, sans-serif); }
.ac-fab { display: inline-flex; align-items: center; gap: 9px; padding: 8px 18px 8px 10px; border-radius: 999px; border: 1px solid var(--gold); background: #0b0a09; color: var(--gold-hi, #efd69b); font: 600 .92rem/1 var(--body, system-ui, sans-serif); letter-spacing: .02em; cursor: pointer; box-shadow: 0 10px 30px rgba(0,0,0,.45); }
.ac-fab:hover { background: #17140f; border-color: var(--gold-hi, #efd69b); }
.ac-mark { flex: none; display: block; }
.ac-id { display: flex; align-items: center; gap: 10px; }
.ac-dot { width: 8px; height: 8px; border-radius: 50%; background: #1f8f4e; box-shadow: 0 0 0 3px rgba(31,143,78,.25); }
#ac-root.on .ac-fab { display: none; }
.ac-panel { width: min(380px, calc(100vw - 32px)); height: min(600px, calc(100vh - 40px)); display: flex; flex-direction: column; background: #12100d; border: 1px solid rgba(212,172,92,.35); border-radius: 18px; overflow: hidden; box-shadow: 0 24px 60px rgba(0,0,0,.6); color: var(--paper, #ede7db); }
.ac-panel[hidden] { display: none; }
.ac-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid rgba(212,172,92,.2); background: #0b0a09; }
.ac-head b { font: 500 1.25rem/1.1 var(--display, Georgia, serif); color: var(--gold-hi, #efd69b); display: block; }
.ac-head small { color: #a39a8b; font-size: .74rem; }
.ac-x { background: none; border: 0; color: #a39a8b; font-size: 1.6rem; line-height: 1; cursor: pointer; padding: 4px 8px; }
.ac-log { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 10px; overscroll-behavior: contain; }
.ac-log.short { flex: 0 1 30%; }
.ac-msg { max-width: 86%; padding: 10px 13px; border-radius: 14px; font-size: .9rem; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; }
.ac-msg.bot { align-self: flex-start; background: #1c1914; border: 1px solid rgba(212,172,92,.15); border-bottom-left-radius: 4px; }
.ac-msg.me { align-self: flex-end; background: var(--gold, #d4ac5c); color: #15110a; border-bottom-right-radius: 4px; }
.ac-msg.typing { color: #a39a8b; letter-spacing: .2em; }
.ac-chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 14px 10px; }
.ac-chips[hidden] { display: none; }
.ac-chips button { background: none; border: 1px solid rgba(212,172,92,.4); color: var(--gold-hi, #efd69b); border-radius: 999px; padding: 7px 11px; font-size: .78rem; cursor: pointer; }
.ac-form { display: flex; gap: 8px; padding: 10px 12px; border-top: 1px solid rgba(212,172,92,.15); }
.ac-form[hidden] { display: none; }
.ac-in { flex: 1; min-width: 0; background: #0b0a09; border: 1px solid rgba(212,172,92,.3); color: inherit; border-radius: 12px; padding: 11px 12px; font-size: 16px; }
.ac-send { width: 44px; border-radius: 12px; border: 0; background: var(--gold, #d4ac5c); color: #15110a; font-size: 1rem; cursor: pointer; }
.ac-wa, .ac-go { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0 12px 12px; padding: 12px; border-radius: 12px; border: 0; background: #1f8f4e; color: #fff; font: 600 .92rem/1 var(--body, system-ui, sans-serif); cursor: pointer; text-decoration: none; }
.ac-wa[hidden] { display: none; }
.ac-go.off { opacity: .55; }
.ac-hand { padding: 12px 14px 4px; display: grid; gap: 9px; overflow-y: auto; border-top: 1px solid rgba(212,172,92,.15); }
.ac-hand[hidden] { display: none; }
.ac-hand-t { margin: 0; font-size: .86rem; color: #cfc6b6; }
.ac-hand-t b { color: var(--gold-hi, #efd69b); }
.ac-hand label { display: grid; gap: 4px; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: #a39a8b; }
.ac-hand input { box-sizing: border-box; width: 100%; min-width: 0; background: #0b0a09; border: 1px solid rgba(212,172,92,.3); color: var(--paper, #ede7db); border-radius: 10px; padding: 10px 11px; font-size: 16px; text-transform: none; letter-spacing: 0; }
.ac-row { display: grid; grid-template-columns: 1fr 110px; gap: 8px; }
.ac-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.ac-hand .ac-go { margin: 4px 0 0; }
.ac-back { background: none; border: 0; color: #a39a8b; font-size: .82rem; padding: 6px 0 10px; cursor: pointer; }
@media (max-width: 640px) {
  #ac-root.on { inset: 0; right: 0; bottom: 0; }
  #ac-root.on .ac-panel { width: 100%; height: 100%; height: 100dvh; border-radius: 0; border: 0; padding-bottom: env(safe-area-inset-bottom); }
  .ac-fab { padding: 7px 15px 7px 9px; font-size: .86rem; }
}
@media print { #ac-root { display: none; } }

/* ---------- Private jet cost calculator ---------- */
.calc-hero { padding-bottom: clamp(20px, 3vw, 32px); }
.calc-section { padding-top: 0; }
.calc { display: grid; grid-template-columns: minmax(300px, 380px) 1fr; gap: 0; border: 1px solid var(--line-2); border-radius: var(--r); overflow: hidden; background: var(--ink); }
.calc-form { border: 0; border-right: 1px solid var(--line-2); border-radius: 0; gap: 18px; position: relative; z-index: 2; }
.calc-trip { display: inline-flex; border: 1px solid var(--line-2); border-radius: 999px; padding: 3px; justify-self: start; }
.calc-trip input { position: absolute; opacity: 0; pointer-events: none; }
.calc-trip label { position: relative; }
.calc-trip span { display: block; padding: 7px 16px; border-radius: 999px; font: 500 0.66rem/1 var(--mono); letter-spacing: 0.16em; text-transform: uppercase; color: var(--mute); cursor: pointer; transition: background .2s, color .2s; }
.calc-trip input:checked + span { background: var(--gold); color: var(--ink); }
.calc-trip input:focus-visible + span { outline: 1px solid var(--gold-hi); outline-offset: 2px; }
.calc-route { display: grid; gap: 10px; position: relative; }
.calc-swap { position: absolute; right: 12px; top: 50%; transform: translateY(-20%); z-index: 3; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--line-2); background: var(--ink); color: var(--gold-hi); font-size: 1rem; cursor: pointer; }
.calc-swap:hover { border-color: var(--gold); }
.calc-route .ap-field:first-child input { padding-right: 52px; }
.calc-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.calc-row .calc-ret { grid-column: 1 / -1; }
.calc-row .calc-ret[hidden] { display: none; }
.calc-go { width: 100%; justify-content: center; }
.calc-hint { color: var(--mute); font-size: 0.9rem; margin: 0; }
.ap-field { position: relative; }
.ap-list { position: absolute; left: 0; right: 0; top: 100%; margin: 4px 0 0; padding: 4px; list-style: none; background: var(--ink-2); border: 1px solid var(--line-2); border-radius: var(--r); z-index: 20; max-height: 320px; overflow: auto; box-shadow: 0 18px 40px rgba(0,0,0,.55); }
.ap-list li { display: grid; grid-template-columns: 46px 1fr; gap: 10px; align-items: baseline; padding: 9px 10px; border-radius: 3px; cursor: pointer; font-size: 0.92rem; }
.ap-list li b { font: 500 0.8rem var(--mono); color: var(--gold-hi); letter-spacing: 0.06em; }
.ap-list li small { display: block; color: var(--dim); font-size: 0.8rem; }
.ap-list li[aria-selected="true"], .ap-list li:hover { background: var(--ink-3); }
.ap-list li.none { display: block; color: var(--mute); cursor: default; }

.calc-map { position: relative; min-height: 460px; background: radial-gradient(120% 90% at 50% 40%, #15120d 0%, var(--ink) 70%); overflow: hidden; }
.calc-map svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.cm-grat { stroke: var(--line); stroke-width: 1px; fill: none; }
.cm-dots { stroke: rgba(212, 172, 92, 0.34); stroke-linecap: round; fill: none; }
.cm-glow { stroke: rgba(239, 214, 155, 0.18); stroke-width: 9px; fill: none; stroke-linecap: round; stroke-linejoin: round; filter: blur(3px); }
.cm-arc { stroke: var(--gold-hi); stroke-width: 1.8px; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.cm-plane { stroke: #fff6dc; stroke-width: 6px; stroke-linecap: round; filter: drop-shadow(0 0 6px var(--gold-hi)); }
.calc-map-tag { position: absolute; left: 50%; bottom: 22px; transform: translateX(-50%); font: 500 0.66rem/1 var(--mono); letter-spacing: 0.18em; text-transform: uppercase; color: var(--mute); border: 1px solid var(--line-2); background: rgba(11,10,9,.75); padding: 9px 14px; border-radius: 999px; white-space: nowrap; }
.calc-map-tag[hidden] { display: none; }
.cm-pin { position: absolute; left: 0; top: 0; width: 0; height: 0; opacity: 0; transition: opacity .4s; pointer-events: none; }
.cm-pin.on { opacity: 1; }
.cm-pin i { position: absolute; left: -5px; top: -5px; width: 10px; height: 10px; border-radius: 50%; background: var(--gold-hi); box-shadow: 0 0 0 3px rgba(11,10,9,.9), 0 0 14px var(--gold); }
.cm-pin i::after { content: ""; position: absolute; inset: -9px; border-radius: 50%; border: 1px solid var(--gold); animation: cmPulse 2.4s ease-out infinite; }
@keyframes cmPulse { from { transform: scale(.4); opacity: 1; } to { transform: scale(1.9); opacity: 0; } }
.cm-pin span { position: absolute; top: -12px; white-space: nowrap; font: 400 0.82rem/1.15 var(--body); color: var(--paper); text-shadow: 0 1px 8px #000, 0 0 2px #000; }
.cm-pin span b { display: block; font: 500 0.95rem/1 var(--mono); letter-spacing: 0.1em; color: var(--gold-hi); margin-bottom: 3px; }
.cm-pin.lbl-r span { left: 16px; text-align: left; }
.cm-pin.lbl-l span { right: 16px; text-align: right; }

.calc-out { margin-top: clamp(28px, 4vw, 44px); display: grid; gap: 22px; }
.calc-out[hidden] { display: none; }
.calc-head { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(20px, 4vw, 48px); align-items: end; border-bottom: 1px solid var(--line-2); padding-bottom: 22px; }
.calc-price { margin: 10px 0 6px; display: grid; gap: 6px; }
.calc-est { font: 500 0.66rem/1 var(--mono); letter-spacing: 0.18em; text-transform: uppercase; color: var(--mute); }
.calc-price strong { font: 400 clamp(2.2rem, 5.4vw, 3.6rem)/1.02 var(--display); color: var(--gold-hi); letter-spacing: -0.01em; }
.calc-sub { color: var(--mute); margin: 0; }
.calc-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.calc-note { color: var(--mute); font-size: 0.92rem; margin: 0; border-left: 2px solid var(--gold-lo); padding-left: 14px; max-width: 80ch; }
.calc-note strong { color: var(--paper); }
.calc-full { display: grid; grid-template-columns: 1.35fr 1fr; gap: clamp(20px, 3vw, 36px); align-items: start; }
.calc-table-wrap h2 { font-size: clamp(1.4rem, 2.4vw, 1.9rem); margin: 0 0 14px; }
.calc-locked { position: relative; }
.calc-table { width: 100%; border-collapse: collapse; font-size: 0.93rem; }
.calc-table th { text-align: left; font: 500 0.62rem/1 var(--mono); letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold); padding: 0 10px 12px 0; border-bottom: 1px solid var(--line-2); }
.calc-table td { padding: 13px 10px 13px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.calc-table td span { color: var(--dim); font-size: 0.82rem; }
.calc-table .mono { font-family: var(--mono); font-size: 0.84rem; white-space: nowrap; }
.calc-table tr.best td { background: rgba(212,172,92,.07); }
.calc-table tr.na td { opacity: .45; }
.calc-badge { font: 500 0.58rem/1 var(--mono); letter-spacing: 0.14em; text-transform: uppercase; font-style: normal; color: var(--ink); background: var(--gold); padding: 3px 6px; border-radius: 2px; vertical-align: 2px; margin-left: 4px; }
.calc-locked:not(.open) .calc-table tbody { filter: blur(6px); user-select: none; pointer-events: none; }
.calc-lock-veil { position: absolute; inset: 34px 0 0; display: grid; place-items: center; }
.calc-lock-veil span { font: 500 0.66rem/1 var(--mono); letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-hi); border: 1px solid var(--gold); background: rgba(11,10,9,.85); padding: 11px 16px; border-radius: 999px; text-align: center; }
.calc-locked.open .calc-lock-veil { display: none; }
.calc-unlock h3, .calc-advisor h3 { margin: 0; font: 400 1.6rem/1.15 var(--display); }
.calc-unlock form { display: grid; gap: 14px; }
.calc-unlock[hidden], .calc-advisor[hidden] { display: none; }
.calc-fine { color: var(--dim); font-size: 0.8rem; margin: 0; }
.calc-err { color: #e3a28f; margin: 0; font-size: 0.9rem; }
.calc-adv-id { display: flex; gap: 14px; align-items: center; }
.calc-adv-mono { flex: none; width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--gold); color: var(--gold-hi); font: 400 1.7rem/1 var(--display); background: radial-gradient(circle at 35% 30%, #2a2116, var(--ink)); }
.calc-advisor p { margin: 0; color: var(--paper); }
.calc-advisor strong { color: var(--gold-hi); font-weight: 500; }
.calc-advisor .hero-actions { margin: 0; }
.calc-resend { justify-self: start; }

@media (max-width: 899px) {
  .calc { grid-template-columns: 1fr; }
  .calc-form { border-right: 0; border-bottom: 1px solid var(--line-2); }
  .calc-map { min-height: 0; aspect-ratio: 1 / 0.95; scroll-margin-top: 80px; }
  .calc-head, .calc-full { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .calc-table th:nth-child(2), .calc-table td:nth-child(2) { display: none; }
  .calc-table .mono { white-space: normal; }
  .cm-pin span { font-size: 0.74rem; }
  .calc-advisor .hero-actions .btn { width: 100%; justify-content: center; }
}

/* nav: client login, contact only in the mobile menu */
.nav a.nav-login { color: var(--gold-hi); }
@media (min-width: 1181px) { .nav a.nav-m { display: none; } }
@media (max-width: 1180px) { .nav a.nav-login { border: 0; border-bottom: 1px solid var(--line); border-radius: 0; padding: 14px 0; } }

/* ---------- Client portal ---------- */
.pt-demo { background: linear-gradient(90deg, #2a2114, #1a1610); border-bottom: 1px solid var(--line-2); font-size: .88rem; color: var(--paper); }
.pt-demo .wrap { padding-block: 10px; display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.pt-demo span { font: 500 .62rem/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; background: var(--gold); color: var(--ink); padding: 4px 7px; border-radius: 2px; }
.pt-demo a { color: var(--gold-hi); margin-left: auto; }
.pt-auth { display: grid; grid-template-columns: 1.1fr minmax(320px, 440px); gap: clamp(28px, 6vw, 80px); align-items: center; padding-block: clamp(48px, 8vw, 100px); }
.pt-auth[hidden] { display: none; }
.pt-auth-copy { display: grid; gap: 22px; }
.pt-perks { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; color: var(--paper); }
.pt-perks li { padding-left: 26px; position: relative; }
.pt-perks li::before { content: ""; position: absolute; left: 0; top: .7em; width: 14px; height: 1px; background: var(--gold); }
.pt-box { gap: 18px; }
.pt-tabs { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--line-2); }
.pt-tabs button { background: none; border: 0; border-bottom: 2px solid transparent; color: var(--mute); padding: 12px 6px; font: 500 .7rem/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; cursor: pointer; margin-bottom: -1px; }
.pt-tabs button[aria-selected="true"] { color: var(--gold-hi); border-bottom-color: var(--gold); }
.pt-form { display: grid; gap: 14px; }
.pt-form[hidden], .pt-done[hidden], .pt-err[hidden] { display: none; }
.pt-form .btn { width: 100%; justify-content: center; }
.pt-link { background: none; border: 0; color: var(--gold-hi); font: inherit; font-size: .9rem; cursor: pointer; justify-self: start; padding: 4px 0; text-decoration: underline; text-underline-offset: 3px; }
.pt-fine { color: var(--dim); font-size: .85rem; margin: 0; }
.pt-err { color: #e3a28f; margin: 0; font-size: .92rem; }
.pt-done { display: grid; gap: 10px; justify-items: start; }
.pt-done h3 { margin: 0; font: 400 1.7rem/1.1 var(--display); }
.pt-done p { margin: 0; color: var(--mute); }
.pt-seal { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--gold); color: var(--gold-hi); display: grid; place-items: center; font-size: 1.2rem; }

#pt-dash[hidden] { display: none; }
.pt-top { display: flex; justify-content: space-between; align-items: end; gap: 20px; flex-wrap: wrap; padding-block: clamp(40px, 6vw, 72px) 22px; }
.pt-top h1 { margin: 12px 0 0; font-size: clamp(2.2rem, 5vw, 3.6rem); }
.pt-top-acts { display: flex; gap: 10px; flex-wrap: wrap; }
.pt-notice { margin: 0 0 22px; border: 1px solid var(--line-2); border-left: 3px solid var(--gold); padding: 14px 18px; border-radius: var(--r); background: var(--ink-2); color: var(--paper); }
.pt-notice[hidden] { display: none; }
.pt-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border: 1px solid var(--line-2); border-radius: var(--r); }
.pt-stat { padding: 22px clamp(16px, 2.4vw, 28px); display: grid; gap: 6px; border-left: 1px solid var(--line-2); min-width: 0; }
.pt-stat:first-child { border-left: 0; }
.pt-stat span { font: 500 .62rem/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--gold); }
.pt-stat b { font: 400 clamp(1.7rem, 3.6vw, 2.6rem)/1 var(--display); color: var(--gold-hi); font-weight: 400; overflow-wrap: anywhere; }
.pt-stat small { color: var(--dim); font-size: .82rem; }
.pt-next { margin-top: 18px; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: clamp(20px, 3vw, 30px); border-radius: var(--r); border: 1px solid var(--gold-lo); background: radial-gradient(120% 140% at 0% 0%, rgba(212,172,92,.14), transparent 60%), var(--ink-2); }
.pt-next-route { font: 400 clamp(1.7rem, 4vw, 2.6rem)/1.1 var(--display); margin: 10px 0 6px; }
.pt-next-route i, .pt-froute i { color: var(--gold); font-style: normal; }
.pt-next p { margin: 0; color: var(--mute); }
.pt-count { text-align: center; border-left: 1px solid var(--line-2); padding-left: 24px; min-width: 110px; }
.pt-count b { display: block; font: 400 2.6rem/1 var(--display); color: var(--gold-hi); }
.pt-count span { font: 500 .62rem/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--mute); }
.pt-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: clamp(18px, 2.6vw, 30px); margin-top: 26px; padding-bottom: clamp(48px, 7vw, 90px); align-items: start; }
.pt-flights { gap: 14px; }
.pt-flights-head { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; }
.pt-flights-head h2 { margin: 0; font-size: clamp(1.5rem, 2.6vw, 2rem); }
.pt-ftabs { display: flex; gap: 4px; flex-wrap: wrap; }
.pt-ftabs button { background: none; border: 1px solid var(--line-2); color: var(--mute); border-radius: 999px; padding: 7px 12px; font: 500 .62rem/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.pt-ftabs button span { color: var(--gold-hi); margin-left: 3px; }
.pt-ftabs button[aria-selected="true"] { background: var(--gold); color: var(--ink); border-color: var(--gold); }
.pt-ftabs button[aria-selected="true"] span { color: var(--ink); }
.pt-f { display: grid; grid-template-columns: 58px 1fr auto; gap: 16px; padding: 16px 0; border-top: 1px solid var(--line); align-items: start; }
.pt-fdate { text-align: center; border: 1px solid var(--line-2); border-radius: var(--r); padding: 8px 4px; }
.pt-fdate b { display: block; font: 400 1.6rem/1 var(--display); color: var(--gold-hi); }
.pt-fdate span { font: 500 .58rem/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--mute); }
.pt-fmain { min-width: 0; }
.pt-froute { font: 400 1.3rem/1.2 var(--display); }
.pt-fmeta { color: var(--mute); font-size: .86rem; margin-top: 4px; }
.pt-fnote { margin: 6px 0 0; color: var(--dim); font-size: .85rem; }
.pt-el { font: 500 .56rem/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; font-style: normal; border: 1px solid var(--gold); color: var(--gold-hi); padding: 3px 5px; border-radius: 2px; margin-left: 4px; }
.pt-fside { display: grid; gap: 8px; justify-items: end; text-align: right; }
.pt-fside b { font-size: .86rem; color: var(--paper); font-weight: 500; }
.pt-pill { font: 500 .58rem/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; padding: 5px 8px; border-radius: 999px; border: 1px solid var(--line-2); color: var(--mute); white-space: nowrap; }
.pt-pill.bok { border-color: var(--gold); color: var(--gold-hi); }
.pt-pill.air { background: var(--gold); color: var(--ink); border-color: var(--gold); }
.pt-pill.done { border-color: rgba(127,181,138,.5); color: var(--ok); }
.pt-pill.quo { border-color: var(--gold-lo); color: var(--gold); }
.pt-pill.can { opacity: .6; }
.pt-empty { border-top: 1px solid var(--line); padding: 26px 0 6px; display: grid; gap: 14px; justify-items: start; }
.pt-empty p { margin: 0; color: var(--mute); }
.pt-total { display: flex; justify-content: space-between; border-top: 1px solid var(--line-2); margin: 0; padding-top: 14px; color: var(--mute); }
.pt-total b { color: var(--gold-hi); font-weight: 500; }
.pt-side { display: grid; gap: 18px; }
.pt-adv, .pt-founder, .pt-msg { gap: 14px; }
.pt-person { display: flex; gap: 14px; align-items: center; }
.pt-person h3, .pt-msg h3 { margin: 0; font: 400 1.45rem/1.15 var(--display); }
.pt-person p { margin: 2px 0 0; color: var(--mute); font-size: .88rem; }
.pt-mono { flex: none; width: 50px; height: 50px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--gold); color: var(--gold-hi); font: 400 1.6rem/1 var(--display); background: radial-gradient(circle at 35% 30%, #2a2116, var(--ink)); }
.pt-cacts { display: flex; gap: 8px; flex-wrap: wrap; }
.pt-cacts .btn { padding: 10px 14px; font-size: .68rem; }
.pt-small { margin: 0; color: var(--dim); font-size: .76rem; overflow-wrap: anywhere; }
.pt-msg form { display: grid; gap: 12px; }
.pt-thread h4 { margin: 4px 0 8px; font: 500 .62rem/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--gold); }
.pt-tm { border-top: 1px solid var(--line); padding: 10px 0; }
.pt-tm span { font-size: .76rem; color: var(--dim); }
.pt-tm p { margin: 4px 0 0; font-size: .9rem; color: var(--paper); white-space: pre-wrap; }
.pt-tools { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 26px; }
.pt-dlg { width: min(560px, calc(100vw - 24px)); background: var(--ink); color: var(--paper); border: 1px solid var(--line-2); border-radius: var(--r); padding: clamp(20px, 4vw, 30px); }
.pt-dlg::backdrop { background: rgba(0,0,0,.7); }
.pt-dlg form { display: grid; gap: 16px; }
.pt-dlg-head { display: flex; justify-content: space-between; align-items: center; }
.pt-dlg-head h3 { margin: 0; font: 400 1.7rem/1.1 var(--display); }
.pt-x { background: none; border: 1px solid var(--line-2); color: var(--gold-hi); width: 36px; height: 36px; border-radius: 50%; font-size: 1.2rem; cursor: pointer; }
.pt-req-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pt-req-grid .pt-wide { grid-column: 1 / -1; }
.pt-toast { position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 160%); opacity: 0; visibility: hidden; transition: transform .3s, opacity .3s, visibility .3s; background: var(--ink-2); border: 1px solid var(--gold); color: var(--paper); padding: 12px 18px; border-radius: var(--r); z-index: 90; transition: transform .3s; max-width: calc(100vw - 32px); font-size: .92rem; }
.pt-toast.on { transform: translate(-50%, 0); opacity: 1; visibility: visible; }
@media (max-width: 960px) {
  .pt-auth, .pt-grid { grid-template-columns: 1fr; }
  .pt-stats { grid-template-columns: 1fr 1fr; }
  .pt-stat:nth-child(3) { border-left: 0; }
  .pt-stat:nth-child(n+3) { border-top: 1px solid var(--line-2); }
}
@media (max-width: 560px) {
  .pt-top-acts, .pt-top-acts .btn { width: 100%; justify-content: center; }
  .pt-f { grid-template-columns: 50px 1fr; }
  .pt-fside { grid-column: 2; justify-items: start; text-align: left; grid-auto-flow: column; justify-content: start; align-items: center; gap: 12px; }
  .pt-next { flex-direction: column; align-items: flex-start; }
  .pt-count { border-left: 0; border-top: 1px solid var(--line-2); padding: 14px 0 0; text-align: left; display: flex; gap: 10px; align-items: baseline; }
  .pt-req-grid { grid-template-columns: 1fr; }
}
.pt-alerts { margin-bottom: 26px; gap: 16px; }
.pt-alerts h3 { margin: 0 0 6px; font: 400 1.5rem/1.15 var(--display); }
.pt-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.pt-chip { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--gold-lo); color: var(--gold-hi); border-radius: 999px; padding: 6px 6px 6px 13px; font-size: .9rem; }
.pt-chip button { background: none; border: 0; color: var(--mute); width: 22px; height: 22px; border-radius: 50%; cursor: pointer; font-size: 1rem; line-height: 1; }
.pt-chip button:hover { color: var(--paper); background: var(--ink-3); }
.pt-addcity { display: flex; gap: 10px; max-width: 520px; }
.pt-addcity input { flex: 1; min-width: 0; background: var(--ink-2); border: 1px solid var(--line-2); border-radius: var(--r); color: var(--paper); font: 400 .98rem var(--body); padding: 12px 14px; }
.pt-addcity input:focus { border-color: var(--gold); outline: none; }
.pt-switch { display: flex; gap: 10px; align-items: center; color: var(--paper); font-size: .92rem; cursor: pointer; }
.pt-switch input { width: 18px; height: 18px; accent-color: var(--gold); }
.pt-alerts, .pt-box, .pt-flights, .pt-side .panel { grid-template-columns: minmax(0, 1fr); min-width: 0; }
/* Account menu in the header (signed-in clients) */
.nav-acct { position: relative; }
.nav-acct-btn { background: none; border: 0; color: var(--gold-hi); font: 400 0.81rem var(--body); letter-spacing: 0.02em; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; padding: 6px 0; }
.nav-acct-btn::after { content: ""; width: 6px; height: 6px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg) translateY(-2px); margin-left: 2px; transition: transform .2s; }
.nav-acct.open .nav-acct-btn::after { transform: rotate(-135deg) translateY(-1px); }
.nav-acct-ic { width: 22px; height: 22px; border-radius: 50%; border: 1px solid var(--gold); display: inline-block; position: relative; overflow: hidden; }
.nav-acct-ic::before { content: ""; position: absolute; left: 50%; top: 4px; width: 7px; height: 7px; margin-left: -3.5px; border-radius: 50%; background: var(--gold-hi); }
.nav-acct-ic::after { content: ""; position: absolute; left: 50%; top: 13px; width: 14px; height: 10px; margin-left: -7px; border-radius: 50% 50% 0 0; background: var(--gold-hi); }
.nav-acct-menu { position: absolute; right: 0; top: calc(100% + 12px); min-width: 190px; background: var(--ink-2); border: 1px solid var(--line-2); border-radius: var(--r); padding: 6px; display: none; box-shadow: 0 18px 40px rgba(0,0,0,.55); z-index: 60; }
.nav-acct.open .nav-acct-menu { display: grid; }
.nav .nav-acct-menu a, .nav-acct-menu button { display: block; text-align: left; padding: 11px 12px; border-radius: 3px; color: var(--paper); font: 400 0.9rem var(--body); background: none; border: 0; cursor: pointer; text-decoration: none; width: 100%; }
.nav .nav-acct-menu a:hover, .nav-acct-menu button:hover { background: var(--ink-3); color: var(--gold-hi); }
@media (max-width: 1180px) {
  .nav-acct { border-bottom: 1px solid var(--line); padding: 8px 0; }
  .nav-acct-btn { font-size: 1rem; padding: 6px 0; }
  .nav-acct-btn::after { display: none; }
  .nav-acct-menu, .nav-acct.open .nav-acct-menu { display: grid; position: static; box-shadow: none; border: 0; background: none; padding: 4px 0 0 30px; min-width: 0; }
  .nav .nav-acct-menu a, .nav-acct-menu button { padding: 10px 0; border-bottom: 0; font-size: .95rem; color: var(--mute); }
}

/* Client portal: message thread */
.pt-msg { gap: 12px; }
.pt-msg-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pt-badge { font: 500 .6rem/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; background: var(--gold); color: var(--ink); padding: 5px 8px; border-radius: 999px; }
.pt-badge[hidden] { display: none; }
.pt-chat { display: flex; flex-direction: column; gap: 10px; max-height: 380px; min-height: 120px; overflow-y: auto; padding: 4px 2px 4px 0; overscroll-behavior: contain; scroll-behavior: smooth; }
.pt-bub { max-width: 86%; display: grid; gap: 4px; }
.pt-bub p { margin: 0; padding: 10px 13px; border-radius: 14px; font-size: .93rem; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; }
.pt-bub span { font-size: .7rem; color: var(--dim); padding: 0 6px; }
.pt-bub.me { align-self: flex-end; justify-items: end; }
.pt-bub.me p { background: linear-gradient(180deg, #e2c27e, var(--gold)); color: var(--ink); border-bottom-right-radius: 4px; }
.pt-bub.them { align-self: flex-start; }
.pt-bub.them p { background: var(--ink-3); border: 1px solid var(--line-2); color: var(--paper); border-bottom-left-radius: 4px; }
.pt-chat-empty { color: var(--dim); font-size: .9rem; margin: auto 0; }
.pt-compose { display: grid; gap: 8px; border-top: 1px solid var(--line); padding-top: 12px; }
.pt-to { display: flex; align-items: center; gap: 8px; font: 500 .6rem/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--gold); }
.pt-to select { flex: 1; min-width: 0; background: var(--ink-2); color: var(--paper); border: 1px solid var(--line-2); border-radius: var(--r); padding: 8px 10px; font: 400 .88rem var(--body); text-transform: none; letter-spacing: 0; }
.pt-compose-row { display: flex; gap: 8px; align-items: flex-end; }
.pt-compose-row textarea { flex: 1; min-width: 0; resize: none; background: var(--ink-2); border: 1px solid var(--line-2); border-radius: 18px; color: var(--paper); font: 400 .95rem/1.4 var(--body); padding: 10px 14px; max-height: 140px; }
.pt-compose-row textarea:focus { border-color: var(--gold); outline: none; }
.pt-compose-row .btn { border-radius: 999px; padding: 11px 16px; flex: none; }

/* Client portal: Jet Card */
#pt-jc-wrap[hidden] { display: none; }
.pt-jc { margin-top: 18px; display: grid; grid-template-columns: minmax(0, 460px) 1fr; gap: clamp(22px, 4vw, 48px); align-items: center; border: 1px solid var(--line-2); border-radius: var(--r); padding: clamp(20px, 3.4vw, 36px); background: radial-gradient(90% 120% at 0% 50%, rgba(212,172,92,.08), transparent 60%), var(--ink); }
.jc-stage { perspective: 1000px; touch-action: pan-y; }
.jc { --rx: -4deg; --ry: 8deg; --mx: 50%; --my: 50%; position: relative; aspect-ratio: 1.586; width: 100%; border-radius: 18px; overflow: hidden; padding: 7% 7.5%; display: grid; grid-template-rows: auto auto 1fr auto; color: var(--gold-hi);
  background:
    radial-gradient(120% 90% at 15% 0%, rgba(255,255,255,.07), transparent 55%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.018) 0 1px, rgba(0,0,0,.025) 1px 3px),
    linear-gradient(135deg, #1b1a19 0%, #0b0b0b 45%, #151413 70%, #070707 100%);
  box-shadow: 0 30px 60px -18px rgba(0,0,0,.85), 0 0 0 1px rgba(212,172,92,.22) inset, 0 1px 0 rgba(255,255,255,.08) inset;
  transform: rotateX(var(--rx)) rotateY(var(--ry)); transform-style: preserve-3d; transition: transform .15s ease-out; will-change: transform; }
.jc-sheen { position: absolute; inset: 0; background: radial-gradient(60% 70% at var(--mx) var(--my), rgba(255,236,190,.16), rgba(255,236,190,.04) 40%, transparent 70%); mix-blend-mode: screen; pointer-events: none; }
.jc-grain { position: absolute; inset: 0; background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.05) 45%, transparent 60%); background-size: 250% 100%; background-position: calc(var(--mx) * 1.2) 0; pointer-events: none; }
.jc-row { display: flex; justify-content: space-between; align-items: center; position: relative; }
.jc-emb { display: inline-block; filter: drop-shadow(0 1px 0 rgba(255,238,200,.35)) drop-shadow(0 -1px 0 rgba(0,0,0,.9)); }
.jc-mark, .jc-word { display: block; background: linear-gradient(160deg, #f6e2ae 0%, #d4ac5c 40%, #8c6a2a 70%, #e8cd8a 100%); -webkit-mask: center / contain no-repeat; mask: center / contain no-repeat; }
.jc-mark { width: clamp(58px, 17vw, 86px); aspect-ratio: 480 / 236; -webkit-mask-image: url(/assets/img/mark.png); mask-image: url(/assets/img/mark.png); }
.jc-word { width: clamp(70px, 20vw, 128px); aspect-ratio: 1000 / 64; -webkit-mask-image: url(/assets/img/wordmark.png); mask-image: url(/assets/img/wordmark.png); }
.jc-tier { font: 500 clamp(.52rem, 1.6vw, .66rem)/1 var(--mono); letter-spacing: .32em; text-transform: uppercase; color: #cdb07a; }
.jc-chip { position: relative; width: 13%; aspect-ratio: 1.3; margin-top: 7%; border-radius: 6px; background: linear-gradient(135deg, #3a3326, #1d1a14 50%, #2c271d); box-shadow: inset 0 0 0 1px rgba(212,172,92,.35), inset 0 1px 0 rgba(255,255,255,.08); }
.jc-chip::before { content: ""; position: absolute; inset: 22% 0; border-top: 1px solid rgba(212,172,92,.3); border-bottom: 1px solid rgba(212,172,92,.3); }
.jc-chip::after { content: ""; position: absolute; inset: 0 38%; border-left: 1px solid rgba(212,172,92,.3); border-right: 1px solid rgba(212,172,92,.3); }
.jc-gold { background: linear-gradient(170deg, #f8e6b5 0%, #d9b469 45%, #9b7633 75%, #e9cf8f 100%); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 1px 0 rgba(255,238,200,.28)) drop-shadow(0 -1px 0 rgba(0,0,0,.95)); }
.jc-name { align-self: end; font: 500 clamp(1.15rem, 5vw, 1.75rem)/1.1 var(--mono); letter-spacing: .16em; text-transform: uppercase; margin-bottom: 4%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.jc-foot { align-items: flex-end; gap: clamp(14px, 4vw, 26px); }
.jc-foot div { display: grid; gap: 3px; }
.jc-foot small { font: 500 clamp(.45rem, 1.3vw, .55rem)/1 var(--mono); letter-spacing: .2em; text-transform: uppercase; color: #8d7b58; }
.jc-foot b { font: 500 clamp(.56rem, 2.4vw, .8rem)/1 var(--mono); letter-spacing: .1em; white-space: nowrap; }
.jc-foot .jc-emb-word { margin-left: auto; }
.jc-col { display: grid; gap: 12px; justify-items: center; min-width: 0; }
.jc-col .jc-stage { width: 100%; }
.jc-tiltbtn { font-size: .85rem; }
.jc-tiltbtn[hidden] { display: none; }
.pt-jc-info { display: grid; gap: 14px; min-width: 0; }
.pt-jc-hours b { font: 400 clamp(2.8rem, 7vw, 4.2rem)/1 var(--display); color: var(--gold-hi); margin-right: 10px; }
.pt-jc-hours span { color: var(--mute); }
.pt-jc-bar { height: 8px; border-radius: 999px; background: var(--ink-3); display: flex; overflow: hidden; border: 1px solid var(--line); }
.pt-jc-bar i.u { background: var(--gold); }
.pt-jc-bar i.r { background: repeating-linear-gradient(45deg, var(--gold-lo) 0 4px, transparent 4px 7px); }
.pt-jc-legend { display: flex; gap: 14px; flex-wrap: wrap; font-size: .82rem; color: var(--mute); }
.pt-jc-legend i { display: inline-block; width: 9px; height: 9px; border-radius: 2px; margin-right: 6px; vertical-align: 0; }
.pt-jc-legend i.u { background: var(--gold); } .pt-jc-legend i.r { background: var(--gold-lo); } .pt-jc-legend i.f { background: var(--ink-3); border: 1px solid var(--line-2); }
.pt-jc-dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 12px; margin: 4px 0 0; }
.pt-jc-dl dt { font: 500 .6rem/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--gold); margin-bottom: 5px; }
.pt-jc-dl dd { margin: 0; color: var(--paper); }
@media (max-width: 860px) { .pt-jc { grid-template-columns: 1fr; } .jc-stage { max-width: 440px; width: 100%; margin: 0 auto; } }

/* Header: client account icon on phones */
.hdr-acct { display: none; }
@media (max-width: 1180px) {
  .site-header .wrap { gap: 10px; }
  .hdr-acct { display: inline-flex; align-items: center; gap: 7px; margin-left: auto; color: var(--gold-hi); text-decoration: none; border: 1px solid var(--line-2); border-radius: var(--r); padding: 7px 10px; font: 500 .7rem/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
  .hdr-acct .nav-acct-ic { width: 18px; height: 18px; }
  .hdr-acct .nav-acct-ic::before { top: 3px; width: 6px; height: 6px; margin-left: -3px; }
  .hdr-acct .nav-acct-ic::after { top: 10px; width: 12px; height: 9px; margin-left: -6px; }
}
@media (max-width: 400px) { .hdr-acct b { display: none; } }
@media (max-width: 560px) {
  .brand { gap: 9px; } .brand img.mark { height: 28px; } .brand img.word { height: 10px; }
  .hdr-acct b { display: none; } .hdr-acct { padding: 7px 8px; }
}
@media (max-width: 350px) { .brand img.word { height: 8px; } }

/* ---------- Client admin (/client/admin/) ---------- */
.ca { min-height: 100vh; }
.ca-bar { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 12px max(16px, calc((100vw - 1100px) / 2)); background: rgba(11,10,9,.94); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line-2); }
.ca-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--gold-hi); font: 500 .72rem/1 var(--mono); letter-spacing: .18em; text-transform: uppercase; }
.ca-tabs { display: flex; gap: 4px; order: 3; width: 100%; overflow-x: auto; }
.ca-tabs[hidden] { display: none; }
.ca-tabs button { background: none; border: 1px solid var(--line-2); color: var(--mute); border-radius: 999px; padding: 8px 14px; font: 500 .66rem/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; white-space: nowrap; }
.ca-tabs button[aria-selected="true"] { background: var(--gold); color: var(--ink); border-color: var(--gold); }
.ca-tabs i { font-style: normal; color: var(--gold-hi); margin-left: 4px; }
.ca-tabs button[aria-selected="true"] i { color: var(--ink); }
.ca-tabs i:empty { display: none; }
.ca-bar-acts { margin-left: auto; display: flex; gap: 6px; }
.ca-ghost { white-space: nowrap; background: none; border: 1px solid var(--line-2); color: var(--gold-hi); border-radius: var(--r); padding: 7px 11px; font: 500 .64rem/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; text-decoration: none; }
.ca-ghost[hidden] { display: none; }
.ca-main { max-width: 1100px; margin: 0 auto; padding: 20px 16px 120px; }
.ca-gate { max-width: 380px; margin: 12vh auto 0; display: grid; gap: 14px; }
.ca-gate[hidden] { display: none; }
.ca-gate h1 { margin: 0; font: 400 2.2rem/1.1 var(--display); }
.ca-gate p { margin: 0; color: var(--mute); }
.ca-gate input, .ca-f input, .ca-f select, .ca-mini select, .ca-filters input, .ca-filters select, .ca-reply textarea { width: 100%; min-width: 0; background: var(--ink-2); border: 1px solid var(--line-2); border-radius: var(--r); color: var(--paper); font: 400 16px/1.3 var(--body); padding: 11px 12px; }
.ca-gate input:focus, .ca-f input:focus, .ca-f select:focus, .ca-reply textarea:focus { border-color: var(--gold); outline: none; }
.ca-err { color: #e3a28f; }
.ca-btn { background: none; border: 1px solid var(--gold); color: var(--gold-hi); border-radius: var(--r); padding: 11px 16px; font: 500 .68rem/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; cursor: pointer; white-space: nowrap; }
.ca-btn.gold { background: linear-gradient(180deg, var(--gold-hi), var(--gold)); color: var(--ink); }
.ca-btn:disabled { opacity: .5; cursor: default; }
.ca-btn-red { border-color: #b4534a; color: #e9857a; }
.ca-btn-red:hover { background: rgba(180,83,74,.12); }
.ca-danger { border-color: rgba(180,83,74,.4); }
.ca-sec { margin-bottom: 26px; display: grid; gap: 12px; }
.ca-sec h2 { margin: 0; font: 400 1.6rem/1.15 var(--display); }
.ca-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.ca-filters { display: flex; gap: 8px; flex: 1; max-width: 520px; }
.ca-filters select { max-width: 170px; }
.ca-sub { color: var(--mute); font-size: .86rem; margin-top: 3px; overflow-wrap: anywhere; }
.ca-hint { margin: 0; color: var(--dim); font-size: .84rem; }
.ca-empty { color: var(--mute); }
.ca-card { border: 1px solid var(--line-2); border-radius: var(--r); padding: 14px 16px; background: var(--ink-2); }
.ca-pend { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; border-color: var(--gold-lo); }
.ca-pend-acts { display: flex; gap: 8px; align-items: flex-end; flex-wrap: wrap; }
.ca-mini { display: grid; gap: 4px; font: 500 .58rem/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--gold); }
.ca-mini select { padding: 9px 10px; font-size: 15px; min-width: 190px; }
.ca-list { display: grid; border: 1px solid var(--line-2); border-radius: var(--r); overflow: hidden; }
.ca-row { display: flex; align-items: center; gap: 12px; text-align: left; background: var(--ink); border: 0; border-bottom: 1px solid var(--line); color: var(--paper); padding: 14px 16px; cursor: pointer; font: inherit; width: 100%; }
.ca-row:last-child { border-bottom: 0; }
.ca-row:hover { background: var(--ink-2); }
.ca-row-main { flex: 1; min-width: 0; }
.ca-row b { font-weight: 600; margin-right: 6px; }
.ca-row > i { color: var(--gold); font-style: normal; font-size: 1.4rem; }
.ca-pill { display: inline-block; font: 500 .56rem/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; padding: 4px 7px; border-radius: 999px; border: 1px solid var(--line-2); color: var(--mute); margin-right: 4px; vertical-align: 2px; }
.ca-pill.s-approved { color: var(--ok); border-color: rgba(127,181,138,.5); }
.ca-pill.s-pending { color: var(--gold-hi); border-color: var(--gold); }
.ca-pill.s-suspended, .ca-pill.s-closed, .ca-pill.s-rejected { color: #e3a28f; border-color: rgba(227,162,143,.45); }
.ca-pill.unread { background: var(--gold); color: var(--ink); border-color: var(--gold); }
.ca-pill.jcp { color: var(--gold-hi); border-color: var(--gold-lo); }
.ca-top { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 18px; }
.ca-top h1 { margin: 0; font: 400 clamp(1.8rem, 5vw, 2.6rem)/1.1 var(--display); }
.ca-panel { border: 1px solid var(--line-2); border-radius: var(--r); padding: clamp(14px, 3vw, 22px); background: var(--ink); }
.ca-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px 12px; }
.ca-f { display: grid; gap: 5px; min-width: 0; }
.ca-f > span { font: 500 .58rem/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--gold); }
.ca-f.wide { grid-column: 1 / -1; }
.ca-chk { display: flex; align-items: center; gap: 8px; font-size: .9rem; color: var(--paper); cursor: pointer; }
.ca-chk input { width: 18px; height: 18px; accent-color: var(--gold); }
.ca-status { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; }
.ca-radio { display: grid; gap: 4px; border: 1px solid var(--line-2); border-radius: var(--r); padding: 12px 14px; cursor: pointer; position: relative; }
.ca-radio input { position: absolute; opacity: 0; }
.ca-radio b { font-weight: 600; }
.ca-radio span { color: var(--mute); font-size: .84rem; }
.ca-radio.on { border-color: var(--gold); background: rgba(212,172,92,.08); }
.ca-radio:focus-within { outline: 1px solid var(--gold-hi); }
.ca-fl { border: 1px solid var(--line); border-radius: var(--r); padding: 12px; display: grid; gap: 10px; background: var(--ink-2); }
.ca-fl-head { display: flex; align-items: center; gap: 10px; }
.ca-fl-head span { color: var(--mute); font-size: .84rem; flex: 1; }
.ca-x { background: none; border: 1px solid var(--line-2); color: var(--mute); width: 30px; height: 30px; border-radius: 50%; cursor: pointer; font-size: 1rem; flex: none; margin-left: auto; }
.ca-x:hover { color: #e3a28f; border-color: #e3a28f; }
.ca-chat { display: flex; flex-direction: column; gap: 10px; max-height: 420px; overflow-y: auto; padding-right: 2px; }
.ca-bub { max-width: 84%; display: grid; gap: 4px; }
.ca-bub p { margin: 0; padding: 10px 13px; border-radius: 14px; white-space: pre-wrap; overflow-wrap: anywhere; font-size: .93rem; }
.ca-bub span { font-size: .7rem; color: var(--dim); padding: 0 6px; }
.ca-bub.me { align-self: flex-end; justify-items: end; }
.ca-bub.me p { background: linear-gradient(180deg, #e2c27e, var(--gold)); color: var(--ink); border-bottom-right-radius: 4px; }
.ca-bub.them p { background: var(--ink-3); border: 1px solid var(--line-2); border-bottom-left-radius: 4px; }
.ca-reply { display: grid; gap: 8px; border-top: 1px solid var(--line); padding-top: 12px; }
.ca-reply-row { display: flex; gap: 8px; align-items: flex-end; }
.ca-reply textarea { resize: vertical; border-radius: 14px; }
.ca-savebar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 25; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px max(16px, calc((100vw - 1100px) / 2)); padding-bottom: max(12px, env(safe-area-inset-bottom)); background: rgba(18,16,13,.97); border-top: 1px solid var(--line-2); color: var(--mute); font-size: .88rem; }
.ca-savebar.dirty { border-top-color: var(--gold); color: var(--gold-hi); }
.ca-toast { position: fixed; left: 50%; bottom: 80px; transform: translate(-50%, 20px); opacity: 0; visibility: hidden; transition: all .25s; background: var(--ink-2); border: 1px solid var(--gold); color: var(--paper); padding: 11px 16px; border-radius: var(--r); z-index: 60; max-width: calc(100vw - 32px); font-size: .9rem; }
.ca-toast.on { transform: translate(-50%, 0); opacity: 1; visibility: visible; }
@media (min-width: 900px) { .ca-tabs { order: 0; width: auto; } }
@media (max-width: 600px) {
  .ca-filters { max-width: none; width: 100%; flex-basis: 100%; }
  .ca-filters select { max-width: 140px; }
  .ca-pend-acts, .ca-pend-acts .ca-mini { width: 100%; } .ca-mini select { min-width: 0; width: 100%; }
  .ca-pend-acts .ca-btn { flex: 1; }
  .ca-grid { grid-template-columns: 1fr 1fr; }
  .ca-bar-acts .ca-ghost:first-child { display: none; }
}
@media (max-width: 430px) { .ca-detail .ca-grid { grid-template-columns: 1fr; } .ca-fl .ca-grid { grid-template-columns: 1fr 1fr; } .ca-fl .ca-f:nth-child(3), .ca-fl .ca-f:nth-child(4), .ca-fl .ca-f:nth-child(5) { grid-column: 1 / -1; } }

/* ---------- Homepage flight scene (scroll-driven) ---------- */
.fl { position: relative; height: 340vh; background: var(--ink); }
.fl-stage { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; isolation: isolate;
  background: radial-gradient(120% 80% at 80% 110%, #2a2116 0%, #14110d 38%, #0b0a09 70%), var(--ink); }
.fl-sky, .fl-clouds { position: absolute; inset: -10% -40% -10% -10%; will-change: transform; pointer-events: none; }
.fl-stars { fill: #efd69b; }
.fl-glow { position: absolute; left: -20%; right: -20%; bottom: -30%; height: 60%; pointer-events: none;
  background: radial-gradient(50% 60% at 60% 100%, rgba(212,172,92,calc(.22 + var(--fl-p, 0) * .18)), transparent 70%); }
.fl-clouds { background-repeat: repeat-x; filter: blur(2px); }
.fl-c1 { top: 52%; opacity: .35; background-image: radial-gradient(40% 50% at 20% 60%, rgba(239,214,155,.10), transparent 70%), radial-gradient(30% 40% at 65% 50%, rgba(239,214,155,.08), transparent 70%); background-size: 60% 100%; }
.fl-c2 { top: 66%; opacity: .55; background-image: radial-gradient(35% 45% at 30% 55%, rgba(30,26,20,.95), transparent 72%), radial-gradient(28% 40% at 75% 60%, rgba(36,31,23,.9), transparent 72%); background-size: 45% 100%; }
.fl-c3 { top: 74%; opacity: .9; filter: blur(6px); background-image: radial-gradient(30% 50% at 25% 60%, rgba(20,17,13,1), transparent 75%), radial-gradient(38% 55% at 70% 55%, rgba(16,14,11,1), transparent 75%); background-size: 55% 100%; }
.fl-trail { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.fl-trail path { stroke: url(#fl-gold); stroke: rgba(239,214,155,.55); stroke-width: 2; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 6px rgba(212,172,92,.5)); stroke-linecap: round; }
.fl-jet { position: absolute; left: 0; top: 0; transform-origin: 50% 50%; will-change: transform; filter: drop-shadow(0 30px 40px rgba(0,0,0,.7)) drop-shadow(0 0 18px rgba(212,172,92,.12)); z-index: 2; }
.fl-jet-svg { display: block; width: 100%; height: auto; }
.fl-exhaust { position: absolute; left: 1%; top: 30%; width: 16%; height: 8%; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,226,160,.35), transparent); filter: blur(4px); }
.fl-copy { position: absolute; inset: 0; display: grid; align-content: start; padding-top: clamp(84px, 14vh, 150px); z-index: 3; pointer-events: none; }
.fl-copy .eyebrow { margin-bottom: 18px; }
.fl-caps { list-style: none; margin: 0; padding: 0; display: grid; }
.fl-cap, .fl-end { grid-area: 1 / 1; opacity: 0; max-width: 560px; }
.fl-caps { grid-template-areas: "a"; }
.fl-cap h2, .fl-end h2 { font-size: clamp(2.6rem, 7vw, 5.4rem); line-height: 1; }
.fl-cap p { color: var(--mute); font-size: clamp(1rem, 1.6vw, 1.2rem); margin: 14px 0 0; max-width: 440px; }
.fl-end { position: absolute; left: var(--gutter, 24px); right: var(--gutter, 24px); bottom: clamp(60px, 14vh, 140px); display: grid; gap: 22px; justify-items: start; max-width: 1200px; margin: 0 auto; }
.fl-end .btn { pointer-events: inherit; }
.fl-scroll-hint { position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%); display: grid; justify-items: center; gap: 8px; font: 500 .62rem/1 var(--mono); letter-spacing: .24em; text-transform: uppercase; color: var(--gold); z-index: 3; }
.fl-scroll-hint span { width: 1px; height: 34px; background: linear-gradient(var(--gold), transparent); animation: fl-hint 1.8s ease-in-out infinite; }
@keyframes fl-hint { 0% { transform: scaleY(0); transform-origin: top; } 50% { transform: scaleY(1); transform-origin: top; } 51% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }
@media (max-width: 720px) { .fl { height: 280vh; } .fl-copy { padding-top: 96px; } }
.fl-static { height: auto; }
.fl-static .fl-stage { position: relative; height: auto; min-height: 100vh; padding-bottom: 40px; }
.fl-static .fl-copy { position: relative; }
.fl-static .fl-caps { gap: 26px; }
.fl-static .fl-cap, .fl-static .fl-caps { grid-area: auto; }
.fl-static .fl-cap, .fl-static .fl-end { opacity: 1 !important; transform: none !important; position: relative; left: auto; right: auto; bottom: auto; margin-top: 30px; pointer-events: auto !important; }
.fl-static .fl-scroll-hint, .fl-static .fl-trail { display: none; }

/* Client portal Jet Card: per-tier finishes matching the homepage card images */
.jc.jc-t-silver, .jc.jc-t-gold, .jc.jc-t-platinum { background-size: cover; background-position: center; }
.jc.jc-t-silver { background-image: url(/assets/img/jet-cards/jet-card-silver-blank.webp); box-shadow: 0 30px 60px -18px rgba(0,0,0,.85), 0 1px 0 rgba(255,255,255,.4) inset; }
.jc.jc-t-gold { background-image: url(/assets/img/jet-cards/jet-card-gold-blank.webp); box-shadow: 0 30px 60px -18px rgba(0,0,0,.85), 0 1px 0 rgba(255,244,210,.45) inset; }
.jc.jc-t-platinum { background-image: url(/assets/img/jet-cards/jet-card-platinum-blank.webp); }
/* engraved ink on the metal cards */
.jc-t-silver .jc-gold, .jc-t-silver .jc-mark, .jc-t-silver .jc-word { background: linear-gradient(170deg, #4a4d52 0%, #1d1e21 50%, #3a3c40 100%); }
.jc-t-gold .jc-gold, .jc-t-gold .jc-mark, .jc-t-gold .jc-word { background: linear-gradient(170deg, #6a4c1c 0%, #36260c 50%, #5c4218 100%); }
.jc-t-silver .jc-gold, .jc-t-gold .jc-gold { -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 1px 0 rgba(255,255,255,.45)) drop-shadow(0 -1px 0 rgba(0,0,0,.3)); }
.jc-t-silver .jc-emb, .jc-t-gold .jc-emb { filter: drop-shadow(0 1px 0 rgba(255,255,255,.45)) drop-shadow(0 -1px 0 rgba(0,0,0,.3)); }
.jc-t-silver .jc-tier, .jc-t-silver .jc-foot small { color: #3d4045; }
.jc-t-gold .jc-tier, .jc-t-gold .jc-foot small { color: #4b3510; }
.jc-t-silver .jc-chip { background: linear-gradient(135deg, #f8e6b5, #c9a25a 45%, #9b7633 75%, #e9cf8f); box-shadow: inset 0 0 0 1px rgba(0,0,0,.25); }
.jc-t-gold .jc-chip { background: linear-gradient(135deg, #fafaf8, #ced1d4 40%, #80848a 70%, #e8eaec); box-shadow: inset 0 0 0 1px rgba(0,0,0,.25); }
.jc-t-silver .jc-chip::before, .jc-t-silver .jc-chip::after, .jc-t-gold .jc-chip::before, .jc-t-gold .jc-chip::after { border-color: rgba(0,0,0,.28); }
.jc-t-silver .jc-sheen, .jc-t-gold .jc-sheen { mix-blend-mode: soft-light; }
/* platinum: platinum foil text, gold mark and wordmark */
.jc-t-platinum .jc-gold { background: linear-gradient(170deg, #fafaf8 0%, #ced1d4 40%, #80848a 70%, #e8eaec 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.jc-t-platinum .jc-tier { color: #d8dadd; }
.jc-t-platinum .jc-chip { background: linear-gradient(135deg, #f8e6b5, #d9b469 45%, #9b7633 75%, #e9cf8f); }
.jc-t-platinum .jc-chip::before, .jc-t-platinum .jc-chip::after { border-color: rgba(0,0,0,.3); }

/* Cost calculator: real map (MapLibre) */
.calc-map .calc-gl, .calc-map .calc-gl.maplibregl-map { position: absolute; inset: 0; width: 100%; height: 100%; }
.calc-map .maplibregl-canvas { outline: none; }
.calc-map .cm-pin { position: absolute; z-index: 2; }
.cm-jet { width: 10px; height: 10px; border-radius: 50%; background: #fff6dc; box-shadow: 0 0 0 2px rgba(11,10,9,.85), 0 0 14px 3px rgba(239,214,155,.8); pointer-events: none; z-index: 3; }
.calc-map .maplibregl-ctrl-attrib { background: rgba(11,10,9,.75); color: var(--mute); font-size: 10px; }
.calc-map .maplibregl-ctrl-attrib a { color: var(--mute); }
.calc-map .maplibregl-ctrl-attrib-button { filter: invert(1) sepia(1) saturate(2) hue-rotate(5deg); background-color: transparent; }
.calc-map .maplibregl-ctrl-group { background: rgba(11,10,9,.85); border: 1px solid var(--line-2, rgba(212,172,92,.3)); box-shadow: none; }
.calc-map .maplibregl-ctrl-group button + button { border-top: 1px solid var(--line); }
.calc-map .maplibregl-ctrl-group button .maplibregl-ctrl-icon { filter: invert(1) sepia(1) saturate(3) hue-rotate(5deg) brightness(.9); }
.calc-map .maplibregl-cooperative-gesture-screen { background: rgba(11,10,9,.7); color: var(--paper); font: 500 .9rem var(--body); }
.calc-map-tag { z-index: 2; }
.calc-map .maplibregl-ctrl-attrib.maplibregl-compact, .calc-map .maplibregl-ctrl-attrib.maplibregl-compact-show { background: rgba(11,10,9,.82); color: var(--mute); }
.calc-map .maplibregl-ctrl-attrib-inner { color: var(--mute); }
