/* Astute Expat. Brand Guide v1.0: Obsidian, Gilt, Old Gold, Ivory, Ink. Cinzel for headlines, Hanken Grotesk for text. */
:root {
  --obsidian: #071A30;
  --obsidian-2: #0C2440;
  --obsidian-3: #12304F;
  --line-dark: #24466B;
  --gilt: #D9B672;
  --gilt-hi: #E6C88A;
  --old-gold: #1876BB;
  --ivory: #F4F8FC;
  --ivory-2: #E6EEF7;
  --paper: #FFFFFF;
  --ink: #111111;
  --muted-dark: #A8BDD3;
  --blue: #1876BB;
  --blue-hi: #3A93D4;
  --blue-deep: #0B2A4A;
  --hero-grad: linear-gradient(160deg, #061629 0%, #0B2A4A 42%, #12528A 75%, #1876BB 100%);
  --muted-light: #4E5D6E;
  --line-light: #D3DFEC;
  --wa: #25D366;
  --wrap: 1440px;
  --gutter: clamp(20px, 4vw, 64px);
  --serif: Cinzel, Georgia, "Times New Roman", serif;
  --sans: "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--obsidian); color: var(--ivory); font: 17px/1.6 var(--sans); }
img, svg { max-width: 100%; }
img { display: block; height: auto; }
a { color: inherit; }
h1, h2, h3, h4 { margin: 0; }
p { margin: 0; }
.wrap { width: 100%; max-width: calc(var(--wrap) + var(--gutter) * 2); margin: 0 auto; padding: 0 var(--gutter); }
.skip { position: absolute; left: -9999px; top: 8px; background: var(--gilt); color: var(--obsidian); padding: 8px 14px; z-index: 100; }
.skip:focus { left: 8px; }
:focus-visible { outline: 2px solid var(--gilt); outline-offset: 3px; }

/* Type */
.display, .h2, .band h2, .page-hero h1 { font-family: var(--serif); font-weight: 600; text-transform: uppercase; letter-spacing: .07em; line-height: 1.12; }
.display { font-size: clamp(34px, 5.2vw, 60px); }
.display em { font-style: normal; color: var(--gilt); }
.h2, .band h2 { font-size: clamp(26px, 3.4vw, 40px); }
.eyebrow { font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--gilt); margin-bottom: 14px; display: block; }
.on-light .eyebrow, .on-paper .eyebrow { color: var(--old-gold); }
.lede { font-size: 19px; line-height: 1.6; color: var(--muted-dark); max-width: 640px; }
.on-light .lede, .on-paper .lede { color: var(--muted-light); }
.muted { color: var(--muted-dark); }
.on-light .muted, .on-paper .muted { color: var(--muted-light); }
.small { font-size: 14px; }
.fine { font-size: 13px; line-height: 1.55; color: var(--muted-dark); }
.on-light .fine, .on-paper .fine { color: var(--muted-light); }

/* Buttons and links */
.btn { display: inline-flex; align-items: center; gap: 10px; font: 600 13px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; padding: 16px 22px; border-radius: 2px; text-decoration: none; border: 1px solid transparent; cursor: pointer; transition: background .15s, color .15s, border-color .15s; }
.btn-gold { background: var(--gilt); color: var(--obsidian); }
.btn-gold:hover { background: var(--gilt-hi); }
.btn-line { border-color: var(--line-dark); color: var(--ivory); background: transparent; }
.btn-line:hover { border-color: var(--gilt); color: var(--gilt); }
.on-light .btn-line, .on-paper .btn-line { border-color: var(--ink); color: var(--ink); }
.on-light .btn-line:hover, .on-paper .btn-line:hover { background: var(--ink); color: var(--ivory); }
.link-arrow { font: 600 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; text-decoration: none; color: var(--gilt); display: inline-flex; gap: 8px; align-items: center; padding: 6px 0; border-bottom: 1px solid currentColor; }
.on-light .link-arrow, .on-paper .link-arrow { color: var(--old-gold); }
.link-arrow:hover { color: var(--gilt-hi); }
.on-light .link-arrow:hover, .on-paper .link-arrow:hover { color: var(--blue-deep); }
.actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 32px; }

/* Header */
.site-head { position: sticky; top: 0; z-index: 50; background: rgba(6,22,41,.92); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line-dark); }
.site-head > .wrap { display: flex; align-items: center; justify-content: space-between; height: 72px; gap: 20px; }
.brand img { width: 140px; height: auto; }
.nav { display: flex; align-items: center; gap: 4px; }
.nav > a, .nav-drop > button { font: 600 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--ivory); text-decoration: none; padding: 12px 12px; background: none; border: 0; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.nav > a:hover, .nav-drop > button:hover, .nav > a[aria-current="page"] { color: var(--gilt); }
.nav-drop { position: relative; }
.nav-drop > button svg { width: 10px; height: 10px; }
.drop-panel { position: absolute; left: -12px; top: 100%; min-width: 440px; background: var(--obsidian-2); border: 1px solid var(--line-dark); padding: 22px; display: none; grid-template-columns: repeat(2, 1fr); gap: 20px 40px; box-shadow: 0 20px 40px rgba(0,0,0,.4); }
.nav-drop:hover .drop-panel, .nav-drop:focus-within .drop-panel, .nav-drop.open .drop-panel { display: grid; }
.drop-panel h4 { font: 600 11px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--gilt); margin-bottom: 12px; }
.drop-panel a { display: block; text-decoration: none; color: var(--ivory); font-size: 15px; padding: 6px 0; }
.drop-panel a:hover { color: var(--gilt); }
.drop-panel .drop-all { grid-column: 1 / -1; border-top: 1px solid var(--line-dark); padding-top: 14px; font: 600 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--gilt); }
.head-ctas { display: flex; gap: 10px; align-items: center; }
.head-ctas .btn { padding: 13px 16px; font-size: 12px; }
.menu-btn { display: none; background: none; border: 1px solid var(--line-dark); color: var(--ivory); padding: 10px 12px; border-radius: 2px; font: 600 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }

/* Hero */
.hero { position: relative; overflow: hidden; padding: 72px 0 80px; border-bottom: 1px solid var(--line-dark); background: var(--hero-grad); }
.hero .wrap { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: start; }
.hero .lede { margin-top: 24px; }
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 44px; padding-top: 28px; border-top: 1px solid var(--line-dark); }
.stat strong { display: block; font-family: var(--serif); font-weight: 600; font-size: 28px; color: var(--ivory); letter-spacing: .04em; }
.stat span { display: block; font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--muted-dark); margin-top: 4px; }

/* Match card */
.match { background: rgba(7,26,48,.78); backdrop-filter: blur(10px); border: 1px solid rgba(168,189,211,.25); padding: 28px; border-radius: 2px; }
.match-top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.match h2 { font: 600 22px/1.3 var(--sans); color: var(--ivory); margin: 4px 0 18px; text-transform: none; letter-spacing: 0; }
.match .label { font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gilt); margin: 18px 0 10px; display: block; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { font: 500 14px/1 var(--sans); color: var(--ivory); background: transparent; border: 1px solid var(--line-dark); padding: 10px 12px; border-radius: 2px; cursor: pointer; }
.chip:hover { border-color: var(--muted-dark); }
.chip[aria-pressed="true"] { background: rgba(217,182,114,.14); border-color: var(--gilt); color: var(--gilt); }
.on-light .chip, .on-paper .chip { color: var(--ink); border-color: var(--line-light); background: var(--paper); }
.on-light .chip[aria-pressed="true"], .on-paper .chip[aria-pressed="true"] { background: var(--ink); color: var(--ivory); border-color: var(--ink); }
.select { width: 100%; font: 500 15px/1.2 var(--sans); color: var(--ivory); background: var(--obsidian-2); border: 1px solid var(--line-dark); padding: 12px 14px; border-radius: 2px; }
.match .btn { width: 100%; justify-content: center; margin-top: 22px; }
.match-results { margin-top: 18px; display: grid; gap: 8px; }
.match-results a { display: flex; justify-content: space-between; gap: 12px; text-decoration: none; padding: 12px 14px; border: 1px solid var(--line-dark); background: var(--obsidian); }
.match-results a:hover { border-color: var(--gilt); }
.match-results a span:last-child { color: var(--gilt); font-weight: 600; white-space: nowrap; }
.match-results .none { font-size: 14px; color: var(--muted-dark); }
.match .fine { margin-top: 14px; }

/* Bands */
.band { padding: 96px 0; }
.on-light { background: var(--ivory); color: var(--ink); }
.on-paper { background: var(--paper); color: var(--ink); }
.on-dark2 { background: linear-gradient(180deg, var(--obsidian-2) 0%, var(--blue-deep) 100%); }
.band-head { display: flex; justify-content: space-between; align-items: end; gap: 32px; margin-bottom: 40px; flex-wrap: wrap; }
.band-head > div { max-width: 680px; }
.band-head .lede { margin-top: 16px; }

/* Program cards */
.tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.tab { font: 600 12px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; padding: 13px 16px; border: 1px solid var(--line-light); background: var(--paper); color: var(--ink); cursor: pointer; border-radius: 2px; }
.tab[aria-pressed="true"] { background: var(--ink); color: var(--ivory); border-color: var(--ink); }
.cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.card { display: grid; grid-template-columns: 38% 1fr; background: var(--paper); border: 1px solid var(--line-light); min-height: 300px; }
.card[hidden] { display: none; }
.card-img { position: relative; overflow: hidden; background: var(--ivory-2); }
.card-help { grid-template-columns: 1fr; background: var(--hero-grad); color: var(--ivory); border-color: var(--blue-deep); }
.card-help h3 { color: var(--ivory); }
.card-help .eyebrow, .card-help .link-arrow { color: var(--gilt); }
.card-help .link-arrow:hover { color: var(--gilt-hi); }
.card-help .muted { color: var(--muted-dark); }
.card-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.card-body { padding: 24px; display: flex; flex-direction: column; }
.card-country { font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--muted-light); display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.badge { font-size: 10px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; background: var(--gilt); color: var(--obsidian); padding: 5px 8px; border-radius: 20px; white-space: nowrap; }
.badge-soft { background: var(--ivory-2); color: var(--ink); }
.card h3 { font: 600 22px/1.25 var(--sans); margin: 8px 0 4px; }
.card h3 a { text-decoration: none; }
.card h3 a:hover { color: var(--old-gold); }
.card-type { font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--old-gold); }
.facts { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 20px; margin: 18px 0; padding-top: 16px; border-top: 1px solid var(--line-light); }
.facts dt { font-size: 10px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--muted-light); }
.facts dd { margin: 3px 0 0; font-size: 15px; font-weight: 500; line-height: 1.4; }
.card .link-arrow { margin-top: auto; align-self: flex-start; }
.note-line { margin-top: 24px; font-size: 13px; color: var(--muted-light); max-width: 720px; }

/* Goals */
.goals-grid { display: grid; grid-template-columns: 320px 1fr; gap: 56px; }
.goals { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; list-style: none; padding: 0; margin: 0; }
.goals li { border-top: 1px solid var(--line-light); }
.goals a { display: grid; grid-template-columns: 34px 1fr 20px; gap: 8px; padding: 22px 0; text-decoration: none; }
.goals .num { font-size: 12px; color: var(--old-gold); font-weight: 600; padding-top: 6px; }
.goals strong { display: block; font: 600 21px/1.3 var(--sans); }
.goals .what { display: block; font-size: 15px; color: var(--muted-light); margin-top: 2px; }
.goals .where { display: block; font-size: 13px; color: var(--old-gold); margin-top: 8px; }
.goals .arr { color: var(--muted-light); padding-top: 4px; }
.goals a:hover strong { color: var(--old-gold); }

/* Map */
.map-band { background: linear-gradient(180deg, #071A30 0%, #0B2A4A 60%, #103E6B 100%); border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.map-grid { display: grid; grid-template-columns: 1fr 300px; gap: 40px; align-items: center; }
.world { width: 100%; height: auto; display: block; }
.world .land { fill: #1D3D61; stroke: #0A223D; stroke-width: .5; }
.world .hl { fill: rgba(217,182,114,.62); stroke: #F0D49A; stroke-width: .6; }
.world .hl.dim { fill: rgba(217,182,114,.14); stroke: rgba(217,182,114,.3); }
.pin { cursor: pointer; }
.pin circle.dot { fill: var(--gilt); stroke: #071A30; stroke-width: 1.5; }
.pin circle.halo { fill: rgba(217,182,114,.22); }
.pin.soon circle.dot { fill: var(--obsidian); stroke: var(--gilt); stroke-width: 2; }
.pin.dim { opacity: .2; pointer-events: none; }
.pin.active circle.dot { fill: var(--ivory); }
.pin:focus { outline: none; }
.pin:focus-visible circle.halo { stroke: var(--ivory); stroke-width: 1.5; }
.map-list { list-style: none; margin: 0; padding: 0; }
.map-list li a { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line-dark); text-decoration: none; font-size: 15px; }
.map-list li a:hover { color: var(--gilt); }
.map-list b { color: var(--gilt); font-weight: 600; }
.map-counts { display: flex; gap: 32px; margin: 28px 0 0; }

/* Founder and steps */
.founder { display: grid; grid-template-columns: 300px 1fr; gap: 64px; align-items: center; }
.founder-mark { aspect-ratio: 4/5; background: var(--obsidian-2); border: 1px solid var(--line-dark); display: grid; place-items: center; }
.founder-mark img { width: 46%; }
.steps { list-style: none; padding: 0; margin: 40px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; counter-reset: s; }
.steps-4 { grid-template-columns: repeat(4, 1fr); }
.steps li { border-top: 1px solid var(--line-dark); padding-top: 18px; }
.on-light .steps li, .on-paper .steps li { border-color: var(--line-light); }
.steps .n { font-size: 12px; font-weight: 600; color: var(--gilt); letter-spacing: .1em; }
.on-light .steps .n, .on-paper .steps .n { color: var(--old-gold); }
.steps h3 { font: 600 19px/1.3 var(--sans); margin: 8px 0 6px; }
.steps p { color: var(--muted-dark); font-size: 15px; }
.on-light .steps p, .on-paper .steps p { color: var(--muted-light); }

/* Feature (image + text) */
.feature { display: grid; grid-template-columns: 1fr 1fr; min-height: 520px; }
.feature-img { position: relative; min-height: 320px; }
.feature-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.feature-body { padding: 80px 64px; display: flex; flex-direction: column; justify-content: center; }
.ticks { list-style: none; padding: 0; margin: 24px 0 0; display: grid; gap: 12px; }
.ticks li { padding-left: 28px; position: relative; }
.ticks li::before { content: ""; position: absolute; left: 0; top: .62em; width: 14px; height: 1px; background: var(--gilt); }
.on-light .ticks li::before, .on-paper .ticks li::before { background: var(--old-gold); }
.ticks.cross li::before { background: var(--muted-light); }

/* FAQ */
.faq-grid { display: grid; grid-template-columns: 340px 1fr; gap: 56px; }
.faq details { border-top: 1px solid var(--line-light); }
.faq details:last-child { border-bottom: 1px solid var(--line-light); }
.on-dark2 .faq details, .faq.dark details { border-color: var(--line-dark); }
.faq summary { cursor: pointer; list-style: none; padding: 22px 36px 22px 0; font: 600 18px/1.4 var(--sans); position: relative; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 4px; top: 18px; font-size: 24px; font-weight: 400; color: var(--old-gold); }
.faq details[open] summary::after { content: "\2212"; }
.faq .answer { padding: 0 36px 24px 0; color: var(--muted-light); max-width: none; }
.faq.dark .answer { color: var(--muted-dark); }
.faq .answer p + p { margin-top: 12px; }

/* Closer */
.closer { text-align: center; }
.closer .lede { margin: 18px auto 0; }
.closer .actions { justify-content: center; }

/* Page hero (inner pages) */
.page-hero { position: relative; padding: 88px 0 72px; border-bottom: 1px solid var(--line-dark); overflow: hidden; background: var(--hero-grad); }
.page-hero.has-img { padding: 140px 0 64px; min-height: 520px; display: flex; align-items: flex-end; }
.page-hero-img { position: absolute; inset: 0; }
.page-hero-img img { width: 100%; height: 100%; object-fit: cover; }
.page-hero-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6,22,41,.30) 0%, rgba(8,32,58,.55) 45%, rgba(7,26,48,.95) 100%); }
.page-hero .wrap { position: relative; }
.page-hero h1 { font-size: clamp(32px, 5vw, 56px); max-width: 900px; }
.page-hero .lede { margin-top: 20px; color: #CFC8B8; }
.crumbs { font-size: 13px; color: var(--muted-dark); margin-bottom: 18px; }
.crumbs a { text-decoration: none; color: var(--gilt); }
.photo-credit { position: absolute; right: 16px; bottom: 10px; font-size: 11px; color: rgba(247,244,238,.6); z-index: 1; }
.photo-credit a { color: inherit; }

/* Key facts strip */
.keyfacts { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid rgba(168,189,211,.25); margin-top: 36px; background: rgba(7,26,48,.72); backdrop-filter: blur(6px); }
.keyfacts div { padding: 18px 20px; border-right: 1px solid var(--line-dark); }
.keyfacts div:last-child { border-right: 0; }
.keyfacts dt { font-size: 10px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gilt); }
.keyfacts dd { margin: 6px 0 0; font-size: 16px; font-weight: 600; }

/* Program page sections */
.split { display: grid; grid-template-columns: 340px 1fr; gap: 56px; }
.prose p + p { margin-top: 16px; }
.prose p { max-width: 720px; }
.prose a { color: var(--old-gold); }
.fit { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.fit > div { background: var(--paper); border: 1px solid var(--line-light); padding: 28px; }
.fit h3 { font: 600 19px/1.3 var(--sans); }
.routes { display: grid; gap: 12px; }
.route { display: grid; grid-template-columns: 180px 1fr; gap: 24px; padding: 22px 24px; border: 1px solid var(--line-light); background: var(--paper); }
.route .amt { font: 600 24px/1.2 var(--sans); }
.route .kind { font-size: 10px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--old-gold); display: block; margin-bottom: 6px; }
.route h3 { font: 600 18px/1.35 var(--sans); }
.route p { color: var(--muted-light); font-size: 15px; margin-top: 6px; }
.table { width: 100%; border-collapse: collapse; font-size: 15px; background: var(--paper); }
.table th, .table td { text-align: left; padding: 14px 16px; border-bottom: 1px solid var(--line-light); vertical-align: top; }
.table th { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--muted-light); background: var(--ivory-2); }
.table td:last-child { font-weight: 600; white-space: nowrap; }
.table-wrap { overflow-x: auto; border: 1px solid var(--line-light); }
.req-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.req-grid h3 { font: 600 18px/1.3 var(--sans); margin-bottom: 4px; }
.sources ol { margin: 16px 0 0; padding-left: 20px; display: grid; gap: 8px; font-size: 14px; }
.sources a { color: var(--old-gold); }
.compare-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.mini { border: 1px solid var(--line-dark); padding: 22px; background: var(--obsidian); text-decoration: none; display: block; }
.mini:hover { border-color: var(--gilt); }
.mini .card-type { color: var(--gilt); }
.mini h3 { font: 600 19px/1.3 var(--sans); margin: 8px 0 14px; }
.mini dl { margin: 0; display: grid; gap: 8px; font-size: 14px; }
.mini dt { color: var(--muted-dark); display: inline; }
.mini dd { display: inline; margin: 0 0 0 6px; font-weight: 600; }
.mini.here { border-color: var(--gilt); }
.inquiry { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.inquiry-box { background: var(--obsidian-2); border: 1px solid var(--line-dark); padding: 32px; }
.inquiry-box .btn { width: 100%; justify-content: center; margin-top: 12px; }
.btn-wa { background: transparent; border-color: var(--wa); color: var(--ivory); }
.btn-wa:hover { background: var(--wa); color: var(--obsidian); }
.status-note { border-left: 2px solid var(--gilt); padding: 14px 18px; background: rgba(217,182,114,.08); margin-top: 28px; max-width: 760px; font-size: 15px; }

/* Global map page */
.gm-tools { display: grid; grid-template-columns: repeat(4, auto) 1fr; gap: 24px; align-items: start; padding: 24px 0; border-bottom: 1px solid var(--line-dark); }
.gm-tools .label { font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gilt); margin-bottom: 10px; display: block; }
.gm-count { justify-self: end; font-size: 14px; color: var(--muted-dark); }
.gm-stage { position: relative; margin-top: 24px; border: 1px solid var(--line-dark); background: radial-gradient(900px 450px at 50% 40%, rgba(24,118,187,.28), transparent 70%), #08203A; overflow: hidden; touch-action: none; }
.gm-stage svg { display: block; width: 100%; height: auto; cursor: grab; user-select: none; }
.gm-stage svg.dragging { cursor: grabbing; }
.gm-zoom { position: absolute; right: 14px; top: 14px; display: grid; gap: 6px; }
.gm-zoom button { width: 38px; height: 38px; background: var(--obsidian-2); color: var(--ivory); border: 1px solid var(--line-dark); font-size: 18px; cursor: pointer; border-radius: 2px; }
.gm-zoom button:hover { border-color: var(--gilt); color: var(--gilt); }
.gm-hint { position: absolute; left: 14px; bottom: 12px; font-size: 12px; color: var(--muted-dark); }
.gm-legend { display: flex; gap: 22px; flex-wrap: wrap; font-size: 13px; color: var(--muted-dark); margin-top: 14px; }
.gm-legend span { display: inline-flex; align-items: center; gap: 8px; }
.gm-legend i { width: 11px; height: 11px; border-radius: 50%; background: var(--gilt); display: inline-block; }
.gm-legend i.o { background: transparent; border: 2px solid var(--gilt); }
.pin-card { position: absolute; width: 300px; background: var(--obsidian-2); border: 1px solid var(--gilt); box-shadow: 0 20px 40px rgba(0,0,0,.5); z-index: 5; }
.pin-card[hidden] { display: none; }
.pin-card img { width: 100%; height: 130px; object-fit: cover; }
.pin-card .pc-body { padding: 16px 18px 18px; }
.pin-card h3 { font: 600 18px/1.3 var(--sans); margin: 6px 0 12px; }
.pin-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 0 14px; }
.pin-card dt { font-size: 10px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--muted-dark); }
.pin-card dd { margin: 2px 0 0; font-size: 14px; font-weight: 600; }
.pin-card .x { position: absolute; right: 8px; top: 8px; width: 30px; height: 30px; border-radius: 50%; border: 0; background: rgba(11,11,11,.8); color: var(--ivory); cursor: pointer; font-size: 16px; }
.gm-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 40px; }
.gm-item { border: 1px solid var(--line-dark); background: var(--obsidian-2); text-decoration: none; display: block; }
.gm-item[hidden] { display: none; }
.gm-item img { width: 100%; height: 150px; object-fit: cover; }
.gm-item div { padding: 16px 18px; }
.gm-item h3 { font: 600 17px/1.3 var(--sans); margin: 6px 0 8px; }
.gm-item p { font-size: 14px; color: var(--muted-dark); }
.gm-item:hover { border-color: var(--gilt); }

/* Services page */
.svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.svc { background: var(--paper); border: 1px solid var(--line-light); padding: 28px; }
.svc .card-type { display: block; margin-bottom: 10px; }
.svc h3 { font: 600 21px/1.3 var(--sans); margin-bottom: 10px; }
.svc p { color: var(--muted-light); font-size: 15px; }
.svc .ticks { font-size: 15px; }

/* About and contact */
.principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.principles h3 { font-family: var(--serif); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; font-size: 18px; color: var(--old-gold); margin-bottom: 8px; }
.principles p { color: var(--muted-light); }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.contact-grid h2 { font: 600 20px/1.3 var(--sans); text-transform: none; letter-spacing: 0; margin-bottom: 12px; }
.mail { font-size: 22px; color: var(--gilt); }

/* Footer */
.site-foot { border-top: 1px solid var(--line-dark); padding: 72px 0 40px; background: linear-gradient(180deg, #0B2A4A 0%, #071A30 100%); }
.newsletter { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; padding-bottom: 56px; border-bottom: 1px solid var(--line-dark); }
.newsletter h2 { font-family: var(--serif); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; font-size: 24px; margin-bottom: 12px; }
.newsletter p { color: var(--muted-dark); max-width: 460px; }
.newsletter-form label { display: block; font-size: 13px; color: var(--muted-dark); margin-bottom: 8px; }
.newsletter-row { display: flex; gap: 8px; }
.newsletter-row input { flex: 1; min-width: 0; font: inherit; padding: 14px 16px; border-radius: 2px; border: 1px solid var(--line-dark); background: var(--obsidian-2); color: var(--ivory); }
.newsletter-row input:focus { outline: 2px solid var(--gilt); outline-offset: 1px; border-color: var(--gilt); }
.newsletter-row button { font: 600 13px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; padding: 0 20px; border: 0; border-radius: 2px; background: var(--gilt); color: var(--obsidian); cursor: pointer; }
.newsletter-row button:hover { background: var(--gilt-hi); }
.newsletter-row button:disabled { opacity: .6; cursor: default; }
.newsletter-status { min-height: 1.4em; margin-top: 10px; font-size: 14px; }
.newsletter-status[data-kind="ok"] { color: #9FD3A8; }
.newsletter-status[data-kind="error"] { color: #E8A090; }
.newsletter-note { font-size: 13px; color: var(--muted-dark); }
.foot-cols { display: grid; grid-template-columns: 1.7fr repeat(4, 1fr); gap: 32px; padding: 48px 0; }
.foot-cols h4 { font: 600 11px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--gilt); margin-bottom: 14px; }
.foot-cols a { display: block; text-decoration: none; color: var(--muted-dark); font-size: 15px; padding: 5px 0; }
.foot-cols a:hover { color: var(--ivory); }
.foot-slogan { font-family: var(--serif); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; font-size: 13px; color: var(--gilt); margin-top: 14px; }
.social-icons { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.social-icons a { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line-dark); border-radius: 50%; color: var(--muted-dark); padding: 0; }
.social-icons a:hover { color: var(--gilt); border-color: var(--gilt); }
.social-icons svg { width: 17px; height: 17px; fill: currentColor; }
.social-icons-lg a { width: 52px; height: 52px; border-color: var(--line-light); color: var(--ink); }
.social-icons-lg svg { width: 22px; height: 22px; }
.social-icons-lg a:hover { background: var(--ink); color: var(--ivory); border-color: var(--ink); }
.legal { font-size: 13px; color: var(--muted-dark); border-top: 1px solid var(--line-dark); padding-top: 24px; max-width: none; line-height: 1.6; }

/* WhatsApp */
.wa-float { position: fixed; right: 22px; bottom: 22px; z-index: 60; width: 58px; height: 58px; border-radius: 50%; background: var(--wa); color: #fff; display: grid; place-items: center; box-shadow: 0 8px 24px rgba(0,0,0,.35); transition: transform .15s; }
.wa-float:hover { transform: scale(1.06); }
.wa-float svg { fill: currentColor; }

/* Responsive */
@media (max-width: 1080px) {
  .nav, .head-ctas .btn-line { display: none; }
  .menu-btn { display: inline-block; }
  .site-head.menu-open .nav { display: flex; position: absolute; top: 72px; left: 0; right: 0; flex-direction: column; align-items: stretch; background: var(--obsidian); border-bottom: 1px solid var(--line-dark); padding: 12px 24px 24px; max-height: calc(100vh - 72px); overflow-y: auto; }
  .site-head.menu-open .nav > a, .site-head.menu-open .nav-drop > button { padding: 16px 0; border-bottom: 1px solid var(--line-dark); width: 100%; justify-content: space-between; }
  .site-head.menu-open .drop-panel { position: static; display: grid; min-width: 0; grid-template-columns: 1fr; border: 0; box-shadow: none; padding: 8px 0 16px 12px; background: transparent; }
  .hero .wrap, .map-grid, .founder, .goals-grid, .faq-grid, .split, .inquiry { grid-template-columns: 1fr; gap: 40px; }
  .cards { grid-template-columns: 1fr; }
  .feature { grid-template-columns: 1fr; }
  .feature-body { padding: 56px 24px; }
  .foot-cols { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .keyfacts { grid-template-columns: repeat(3, 1fr); }
  .keyfacts div { border-bottom: 1px solid var(--line-dark); }
  .gm-tools { grid-template-columns: 1fr 1fr; }
  .gm-list, .compare-cards, .svc-grid { grid-template-columns: 1fr 1fr; }
  .founder-mark { max-width: 260px; }
  .steps-4 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 680px) {
  body { font-size: 16px; }
  .wrap { padding: 0 16px; }
  .band { padding: 64px 0; }
  .hero { padding: 48px 0 56px; }
  .stats { grid-template-columns: 1fr 1fr; }
  .card { grid-template-columns: 1fr; }
  .card-img { aspect-ratio: 16/9; }
  .goals { grid-template-columns: 1fr; }
  .fit, .req-grid, .principles, .contact-grid, .newsletter, .steps, .steps-4 { grid-template-columns: 1fr; }
  .route { grid-template-columns: 1fr; gap: 6px; }
  .keyfacts { grid-template-columns: 1fr 1fr; }
  .gm-tools { grid-template-columns: 1fr; }
  .gm-count { justify-self: start; }
  .gm-list, .compare-cards, .svc-grid { grid-template-columns: 1fr; }
  .head-ctas .btn-gold { display: none; }
  .brand img { width: 124px; }
  .pin-card { position: static; width: auto; border-width: 1px 0 0; box-shadow: none; }
  .gm-hint { display: none; }
  .page-hero.has-img { padding-top: 120px; min-height: 460px; }
  .wa-float { right: 16px; bottom: 16px; width: 54px; height: 54px; }
  .newsletter-row { flex-direction: column; }
  .newsletter-row button { padding: 15px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }

/* ---------- Globe hero ---------- */
.hero-globe { padding: 40px 0 0; background: radial-gradient(900px 700px at 72% 45%, rgba(24,118,187,.38), transparent 65%), linear-gradient(175deg, #04101F 0%, #071A30 55%, #0B2A4A 100%); border-bottom: 0; }
.hero-globe .hero-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 24px; align-items: center; min-height: min(820px, calc(100vh - 72px)); }
.hero-copy { padding: 40px 0 72px; position: relative; z-index: 2; }
.hero-copy .display { font-size: clamp(38px, 5.4vw, 74px); }
.globe { position: relative; z-index: 1; isolation: isolate; height: min(780px, calc(100vh - 100px)); min-height: 520px; margin-right: calc(var(--gutter) * -1); cursor: grab; touch-action: pan-y; user-select: none; }
.globe.dragging { cursor: grabbing; }
.globe canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; opacity: 0; transition: opacity 1.2s ease; }
.globe.globe-ready canvas { opacity: 1; }
.globe-labels { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.glabel { position: absolute; left: 0; top: 0; display: grid; gap: 2px; padding: 9px 12px 10px; min-width: 120px; text-decoration: none; color: var(--ivory); background: rgba(6,20,38,.72); border: 1px solid rgba(120,180,240,.28); border-radius: 4px; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); box-shadow: 0 10px 30px rgba(0,0,0,.35); transform-origin: 50% 100%; will-change: transform, opacity; opacity: 0; transition: border-color .3s, background .3s, box-shadow .3s; }
.glabel::after { content: ""; position: absolute; left: 50%; bottom: -7px; width: 1px; height: 7px; background: rgba(217,182,114,.7); }
.glabel .gl-type { font-size: 9.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: #7DB8EA; }
.glabel strong { font-size: 14px; font-weight: 600; line-height: 1.2; white-space: nowrap; }
.glabel .gl-min { font-size: 12px; color: var(--gilt); font-weight: 600; }
.glabel.on { border-color: var(--gilt); background: rgba(10,34,60,.88); box-shadow: 0 0 0 1px rgba(217,182,114,.25), 0 14px 40px rgba(0,0,0,.45), 0 0 34px rgba(217,182,114,.18); }
.glabel:hover { border-color: var(--gilt-hi); }
.glabel.soon .gl-type { color: var(--gilt); }
.globe-hud { position: absolute; left: 4%; top: 5%; max-width: 340px; padding: 14px 18px 16px; border-left: 2px solid var(--gilt); background: linear-gradient(90deg, rgba(6,20,38,.8), rgba(6,20,38,0)); pointer-events: auto; z-index: 3; }
.globe-hud:empty { display: none; }
.globe-hud .hud-k { display: block; font-size: 10px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: #7DB8EA; }
.globe-hud a { text-decoration: none; }
.globe-hud strong { display: block; font: 600 19px/1.3 var(--sans); margin: 4px 0 2px; }
.globe-hud a:hover strong { color: var(--gilt); }
.globe-hud .hud-meta { font-size: 13px; color: var(--muted-dark); }
.globe-hud.flash { animation: hudIn .6s ease; }
@keyframes hudIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.globe-hint { position: absolute; right: calc(var(--gutter) + 8px); bottom: 7%; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: rgba(168,189,211,.6); pointer-events: none; }
.globe.no-webgl { background: url(/assets/img/globe.webp) center/cover; opacity: .6; }

/* ---------- Match band ---------- */
.match-band { background: linear-gradient(180deg, #0B2A4A 0%, #0F4273 55%, #1876BB 100%); }
.match-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 64px; align-items: start; }
.match-band .match { padding: 32px; }
.match-row { display: grid; grid-template-columns: 1fr 1.3fr; gap: 24px; }
.match-results a { animation: hudIn .4s ease both; }

@media (max-width: 1080px) {
  .hero-globe .hero-grid { grid-template-columns: 1fr; min-height: 0; gap: 0; }
  .hero-copy { padding: 32px 0 8px; }
  .globe { height: 560px; min-height: 0; margin: 0 calc(var(--gutter) * -1); }
  .match-grid { grid-template-columns: 1fr; gap: 36px; }
}
@media (max-width: 680px) {
  .globe { height: 420px; order: -1; margin-top: -8px; }
  .hero-copy { padding-top: 0; }
  .hero-globe { padding-top: 8px; }
  .globe-hud { left: 16px; right: 16px; top: auto; bottom: 10px; max-width: none; }
  .globe-hint { display: none; }
  .globe-hud { display: none; }
  .glabel { min-width: 0; padding: 7px 9px 8px; }
  .glabel strong { font-size: 12.5px; }
  .glabel .gl-type { font-size: 8.5px; }
  .match-row { grid-template-columns: 1fr; gap: 0; }
  .match-band .match { padding: 22px; }
}

/* Founder photo */
.founder-photo { position: relative; margin: 0; aspect-ratio: 689 / 1300; max-height: 640px; border: 1px solid rgba(217,182,114,.45); overflow: hidden; background: #0B0B0B; box-shadow: 0 30px 60px rgba(0,0,0,.35); }
.founder-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 30%; }
.founder-photo::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(11,11,11,.85) 0%, rgba(11,11,11,0) 16%), linear-gradient(0deg, rgba(7,26,48,.75) 0%, rgba(7,26,48,0) 22%); pointer-events: none; }
.founder-photo figcaption { position: absolute; left: 18px; bottom: 14px; z-index: 2; font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gilt); }
@media (max-width: 1080px) { .founder-photo { max-width: 340px; } }

/* Legal pages */
.legal-doc { max-width: 780px; }
.legal-doc h2 { font: 600 22px/1.3 var(--sans); text-transform: none; letter-spacing: 0; margin: 40px 0 12px; color: var(--ink); }
.legal-doc h2:first-child { margin-top: 0; }
.legal-doc p, .legal-doc li { color: var(--muted-light); }
.legal-doc p + p { margin-top: 12px; }
.legal-doc ul { margin: 12px 0 0; padding-left: 20px; display: grid; gap: 8px; }
.legal-doc strong { color: var(--ink); }
.legal-doc a { color: var(--old-gold); }
.legal-links { margin-left: 18px; }
.legal-links a { color: var(--muted-dark); text-decoration: none; margin-right: 16px; }
.legal-links a:hover { color: var(--ivory); }
.newsletter-note a { color: var(--muted-dark); }

/* Founder key points */
.keypoints { list-style: none; padding: 0; margin: 28px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; max-width: 900px; }
.keypoints li { position: relative; padding: 18px 18px 18px 50px; border: 1px solid rgba(168,189,211,.2); background: rgba(10,34,60,.45); border-radius: 4px; }
.keypoints li::before { content: ""; position: absolute; left: 18px; top: 20px; width: 20px; height: 20px; border-radius: 50%; background: rgba(217,182,114,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%23D9B672' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat; }
.keypoints strong { display: block; font-family: var(--serif); font-weight: 600; font-size: 17px; letter-spacing: .06em; text-transform: uppercase; color: var(--gilt); }
.keypoints span { display: block; font-size: 14px; line-height: 1.5; color: var(--muted-dark); margin-top: 4px; }
@media (max-width: 1080px) { .keypoints { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .keypoints { grid-template-columns: 1fr; } }

/* Book a call */
.calls { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.call-card { display: flex; flex-direction: column; padding: 36px; border: 1px solid rgba(168,189,211,.22); background: rgba(10,34,60,.5); border-radius: 4px; }
.call-card-feature { border-color: rgba(217,182,114,.55); background: linear-gradient(160deg, rgba(18,82,138,.45), rgba(10,34,60,.6)); }
.call-card h2 { font-family: var(--serif); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; font-size: clamp(24px, 2.4vw, 32px); }
.call-price { display: flex; align-items: baseline; gap: 12px; margin: 14px 0 16px; }
.call-price strong { font-family: var(--serif); font-size: 40px; color: var(--gilt); font-weight: 600; }
.call-price span { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted-dark); }
.call-card .ticks { margin-bottom: 8px; }
.call-card .btn { margin-top: auto; align-self: flex-start; }
.call-card .fine, .call-credit { margin-bottom: 24px; }
.call-credit { margin-top: 18px; padding: 12px 14px; border-left: 2px solid var(--gilt); background: rgba(217,182,114,.08); font-size: 15px; }
.call-form { background: var(--paper); border: 1px solid var(--line-light); padding: 32px; border-radius: 4px; }
.cf-row { margin-bottom: 16px; }
.cf-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.call-form label { display: block; font-size: 13px; font-weight: 600; color: var(--ink); }
.call-form .opt { font-weight: 400; color: var(--muted-light); }
.call-form input, .call-form select, .call-form textarea { display: block; width: 100%; margin-top: 6px; font: 400 15px/1.4 var(--sans); color: var(--ink); background: var(--ivory); border: 1px solid var(--line-light); border-radius: 3px; padding: 12px 14px; }
.call-form input:focus, .call-form select:focus, .call-form textarea:focus { outline: 2px solid var(--blue); outline-offset: 1px; border-color: var(--blue); }
.cf-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.btn-wa-dark { background: #1F9E52; color: #fff; }
.btn-wa-dark:hover { background: var(--wa); color: var(--obsidian); }
.cf-status { min-height: 1.4em; font-size: 14px; margin: 0 0 12px; }
.cf-status[data-kind="error"] { color: #B4462F; }
.cf-status[data-kind="ok"] { color: #237A45; }
@media (max-width: 900px) { .calls, .cf-2 { grid-template-columns: 1fr; } .call-card, .call-form { padding: 24px; } }

/* Founder section: text column and photo share one height, text spans the full width of the key points */
.founder:has(.founder-photo) { grid-template-columns: 360px minmax(0, 1fr); gap: 56px; align-items: stretch; }
.founder-photo { aspect-ratio: auto; height: 100%; min-height: 520px; max-height: none; }
.founder-photo img { position: absolute; inset: 0; object-position: 62% 18%; }
.founder:has(.founder-photo) > div { display: flex; flex-direction: column; justify-content: center; }
.founder:has(.founder-photo) h2 { margin-bottom: 4px; }
.keypoints { max-width: none; gap: 12px; margin-top: 24px; }
.keypoints li { padding: 16px 16px 16px 48px; }
.keypoints li::before { top: 17px; left: 16px; }
.keypoints strong { font-size: 15px; letter-spacing: .07em; }
.keypoints span { font-size: 13.5px; margin-top: 3px; }
.founder:has(.founder-photo) .muted { font-size: 16px; line-height: 1.65; }
.founder:has(.founder-photo) .actions { margin-top: 24px; }
@media (max-width: 1080px) {
  .founder:has(.founder-photo) { grid-template-columns: 1fr; gap: 32px; }
  .founder-photo { height: auto; aspect-ratio: 689 / 1300; max-width: 340px; min-height: 0; }
}

/* Company structuring: closing card fills the last row */
.svc-help { grid-column: span 2; background: var(--hero-grad); border-color: transparent; color: var(--ivory); display: flex; flex-direction: column; justify-content: center; }
.svc-help .card-type { color: var(--gilt); }
.svc-help p { color: rgba(247,244,238,.8); max-width: 640px; }
@media (max-width: 680px) { .svc-help { grid-column: auto; } }

/* The Brief */
.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.post-card { display: flex; flex-direction: column; background: var(--paper); border: 1px solid var(--line-light); text-decoration: none; color: inherit; transition: transform .2s, box-shadow .2s; }
.post-card:hover { transform: translateY(-3px); box-shadow: 0 16px 32px rgba(7,26,48,.12); }
.post-img { aspect-ratio: 16 / 9; overflow: hidden; }
.post-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.post-text { padding: 24px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.post-text h3 { font: 600 21px/1.3 var(--sans); }
.post-text p { color: var(--muted-light); font-size: 15px; }
.post-text .link-arrow { margin-top: auto; align-self: flex-start; }
.article-wrap { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 72px; align-items: start; }
.article { max-width: 740px; font-size: 18px; line-height: 1.75; }
.article p + p, .article ul + p, .article p + ul { margin-top: 18px; }
.band .article h2 { font: 600 26px/1.3 var(--serif); letter-spacing: .05em; margin: 48px 0 16px; }
.article ul { padding-left: 22px; display: grid; gap: 12px; }
.article a { color: var(--old-gold); }
.article .fine { margin-top: 36px; padding-top: 20px; border-top: 1px solid var(--line-light); }
.article-side { position: sticky; top: 104px; display: grid; gap: 20px; }
.side-card { background: var(--paper); border: 1px solid var(--line-light); padding: 24px; display: grid; gap: 12px; }
.side-card h3 { font: 600 19px/1.3 var(--sans); }
.side-card p { color: var(--muted-light); font-size: 15px; }
.side-card dl { display: grid; gap: 8px; font-size: 14px; }
.side-card dl div { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line-light); padding-bottom: 8px; }
.side-card dt { color: var(--muted-light); }
.side-card .btn { justify-self: start; }
ul.sources { list-style: none; padding: 0; display: grid; gap: 10px; font-size: 15px; }
@media (max-width: 1000px) { .post-grid { grid-template-columns: 1fr 1fr; } .article-wrap { grid-template-columns: 1fr; gap: 40px; } .article-side { position: static; } }
@media (max-width: 680px) { .post-grid { grid-template-columns: 1fr; } .article { font-size: 17px; } }

/* Services dropdown and real estate due diligence */
.drop-panel.drop-sm { min-width: 280px; grid-template-columns: 1fr; }
.nav-drop > button[aria-current="page"] { color: var(--gilt); }
.dd-checks { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.dd-checks > div { background: var(--paper); border: 1px solid var(--line-light); padding: 26px; }
.dd-checks .n { font: 600 13px/1 var(--sans); letter-spacing: .14em; color: var(--old-gold); }
.dd-checks h3 { font: 600 19px/1.3 var(--sans); margin: 14px 0 8px; }
.dd-checks p { color: var(--muted-light); font-size: 15px; }
.dd-grid .svc-help { grid-column: span 1; }
.dd-callout { margin-top: 28px; display: flex; gap: 24px; align-items: center; justify-content: space-between; padding: 22px 26px; border: 1px solid var(--line-light); border-left: 3px solid var(--old-gold); background: var(--paper); }
.dd-callout strong { display: block; margin-bottom: 4px; }
.dd-callout .link-arrow { flex-shrink: 0; }
@media (max-width: 1000px) { .dd-checks { grid-template-columns: 1fr 1fr; } .dd-callout { flex-direction: column; align-items: flex-start; } }
@media (max-width: 680px) { .dd-checks { grid-template-columns: 1fr; } }
.dd-checks > .dd-verdict { background: var(--hero-grad); border-color: transparent; color: var(--ivory); }
.dd-verdict .n { color: var(--gilt); text-transform: uppercase; }
.dd-checks .dd-verdict p { color: rgba(247,244,238,.8); }

/* Strategy session: Plan A, B, C */
.plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; counter-reset: plan; }
.plan { background: var(--paper); border: 1px solid var(--line-light); border-top: 3px solid var(--old-gold); padding: 32px 28px; }
.plan-tag { font: 600 28px/1 var(--serif); letter-spacing: .08em; text-transform: uppercase; color: var(--old-gold); }
.plan h3 { font: 600 20px/1.3 var(--sans); margin: 18px 0 10px; }
.plan p { color: var(--muted-light); font-size: 15px; }
@media (max-width: 900px) { .plans { grid-template-columns: 1fr; } }

/* Packages */
.pkg-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pkg { background: var(--paper); border: 1px solid var(--line-light); border-top: 3px solid var(--old-gold); padding: 30px 28px; display: flex; flex-direction: column; gap: 18px; }
.pkg h3 { font: 600 22px/1.25 var(--serif); letter-spacing: .05em; text-transform: uppercase; }
.pkg-for { font-size: 15px; color: var(--muted-light); }
.pkg-for span, .pkg-time span, .pkg-sec h4 { display: block; font: 600 11px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--old-gold); margin-bottom: 8px; }
.pkg-sec .ticks { font-size: 15px; }
.pkg-sec p { font-size: 15px; }
.pkg-time { font-size: 15px; font-weight: 500; padding: 14px 0; border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); margin-top: auto; }
.pkg-foot { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.pkg-notes { margin-top: 32px; display: grid; gap: 10px; max-width: 900px; }
.pkg-home .band-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
@media (max-width: 1000px) { .pkg-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 680px) { .pkg-grid { grid-template-columns: 1fr; } }

/* Language picker (translations not live yet) */
.lang-drop > button { font: 600 12px/1 var(--sans); letter-spacing: .1em; color: var(--ivory); background: none; border: 0; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; padding: 12px 8px; }
.lang-drop > button:hover { color: var(--gilt); }
.lang-drop > button svg { width: 10px; height: 10px; }
.lang-drop > button .globe-ico { width: 16px; height: 16px; }
.drop-panel.lang-panel { left: auto; right: 0; min-width: 210px; grid-template-columns: 1fr; padding: 14px 20px; }
.lang-item { display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 15px; padding: 7px 0; color: var(--ivory); }
.lang-item.is-current { color: var(--gilt); }
.lang-item.is-soon { color: rgba(247,244,238,.5); cursor: default; }
.lang-item em { font: 600 10px/1 var(--sans); font-style: normal; letter-spacing: .14em; text-transform: uppercase; color: rgba(247,244,238,.45); border: 1px solid rgba(247,244,238,.2); padding: 4px 6px; }

/* Header fit between tablet and wide desktop */
.nav > a, .nav-drop > button, .head-ctas .btn { white-space: nowrap; }
@media (min-width: 1081px) and (max-width: 1340px) {
  .head-ctas .btn-line { display: none; }
  .nav > a, .nav > .nav-drop > button { padding: 12px 9px; letter-spacing: .1em; }
}
.post-date { display: block; font-size: 13px; color: var(--muted-light); margin-top: -4px; }
.post-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; }
.post-card[hidden] { display: none; }
.on-light .post-filters .chip { color: var(--ink, #111); border-color: var(--line-light); }
.on-light .post-filters .chip:hover { border-color: var(--old-gold); }
.on-light .post-filters .chip[aria-pressed="true"] { color: var(--old-gold); border-color: var(--old-gold); background: rgba(160,120,50,.08); }

/* Programs mega menu */
.drop-panel.drop-mega { min-width: 720px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 36px; }
.drop-note { display: block; font-size: 12px; color: var(--gilt); opacity: .8; margin-top: 2px; }
.svc > .card-type + p { margin-top: 4px; }
@media (max-width: 1080px) {
  .site-head.menu-open .drop-panel.lang-panel { display: none; position: absolute; }
  .site-head .lang-drop.open .drop-panel.lang-panel { display: grid; position: absolute; top: 100%; right: 0; left: auto; min-width: 210px; padding: 14px 20px; background: var(--obsidian-2); border: 1px solid var(--line-dark); box-shadow: 0 20px 40px rgba(0,0,0,.4); }
}
@media (max-width: 1080px) { .site-head.menu-open .lang-drop > button { border-bottom: 0; width: auto; padding: 12px 8px; } }

/* Program pathways: timeline chains + comparison table */
.pw-chains { display: grid; gap: 14px; margin-bottom: 36px; }
.pw-row { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 20px; align-items: center; background: var(--paper); border: 1px solid var(--line-light); padding: 18px 20px; }
.pw-name span { display: block; font: 600 17px/1.3 var(--sans); }
.pw-name small { display: block; font-size: 13px; color: var(--old-gold); font-weight: 600; margin-top: 4px; }
.pw-chain { list-style: none; margin: 0; padding: 0; display: flex; align-items: stretch; gap: 0; }
.pw-step { flex: 1 1 0; min-width: 0; position: relative; display: flex; flex-direction: column; justify-content: center; gap: 4px; padding: 12px 14px 12px 26px; background: rgba(24,118,187,.07); border: 1px solid rgba(24,118,187,.18); margin-right: 18px; }
.pw-step:first-child { padding-left: 14px; }
.pw-step::after { content: ""; position: absolute; right: -14px; top: 50%; width: 10px; height: 10px; border-top: 2px solid var(--old-gold); border-right: 2px solid var(--old-gold); transform: translateY(-50%) rotate(45deg); }
.pw-step.pw-end { margin-right: 0; background: var(--hero-grad); border-color: transparent; color: var(--ivory); }
.pw-step.pw-end::after { display: none; }
.pw-label { font: 600 14px/1.3 var(--sans); }
.pw-dur { font-size: 13px; color: var(--muted-light); }
.pw-end .pw-dur { color: rgba(247,244,238,.8); }
.pw-table td { font-size: 14px; vertical-align: top; }
.pw-table th { white-space: nowrap; }
@media (max-width: 900px) {
  .pw-row { grid-template-columns: 1fr; gap: 12px; }
  .pw-chain { flex-direction: column; }
  .pw-step { margin: 0 0 18px; padding-left: 14px; }
  .pw-step::after { right: auto; left: 50%; top: auto; bottom: -15px; transform: translateX(-50%) rotate(135deg); }
}
.pw-table td:last-child { font-weight: 400; }

/* Full width mega menus (Programs, About) */
.nav-drop.mega { position: static; }
.nav-drop.mega > button { position: relative; }
.nav-drop.mega > button::after { content: ""; position: absolute; left: -16px; right: -16px; top: 100%; height: 26px; }
.drop-panel.mega-panel { position: absolute; left: 0; right: 0; top: 100%; min-width: 0; padding: 0; display: none; grid-template-columns: none; background: var(--paper); color: var(--ink); border: 0; border-top: 1px solid var(--line-light); box-shadow: 0 24px 48px rgba(7,26,48,.28); }
.nav-drop.mega:hover .mega-panel, .nav-drop.mega:focus-within .mega-panel, .nav-drop.mega.open .mega-panel { display: block; }
.mega-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, .9fr); gap: 48px; padding-top: 36px; padding-bottom: 36px; }
.mega-panel h4 { font: 600 11px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--old-gold); margin: 0 0 14px; }
.mega-panel a { display: block; text-decoration: none; color: var(--ink); font-size: 16px; padding: 11px 0; border-bottom: 1px solid var(--line-light); transition: color .15s, padding-left .15s; }
.mega-panel a:hover { color: var(--old-gold); padding-left: 4px; }
.mega-panel .drop-note { display: inline; font-size: 12px; color: var(--old-gold); margin-left: 6px; opacity: 1; }
.mega-cta { background: var(--ivory); padding: 24px; align-self: start; }
.mega-cta p { font-size: 15px; color: var(--muted-light); margin: 0 0 18px; }
.mega-panel .mega-cta .btn { display: inline-flex; border-bottom: 0; padding: 14px 22px; color: var(--obsidian); }
.mega-panel .mega-cta .btn:hover { padding-left: 22px; }
.mega-panel .mega-cta .mega-link { border-bottom: 0; font: 600 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--old-gold); margin-top: 14px; }
.mega-foot { background: var(--ivory); border-top: 1px solid var(--line-light); }
.mega-foot .wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 26px; padding-top: 14px; padding-bottom: 14px; }
.mega-foot span { font: 600 11px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--muted-light); }
.mega-panel .mega-foot a { border: 0; padding: 4px 0; font-size: 14px; }
.mega-list { padding-top: 12px; padding-bottom: 20px; }
.mega-list a { font-size: 17px; padding: 16px 0; }
.mega-list a:last-child { border-bottom: 0; }
@media (max-width: 1080px) {
  .site-head.menu-open .drop-panel.mega-panel { position: static; display: block; background: transparent; box-shadow: none; border: 0; }
  .site-head.menu-open .mega-grid { grid-template-columns: 1fr; gap: 18px; padding: 8px 0 16px 12px; }
  .site-head.menu-open .mega-list { padding: 0 0 12px 12px; }
  .site-head.menu-open .mega-panel a { color: var(--ivory); border-color: var(--line-dark); font-size: 15px; padding: 9px 0; }
  .site-head.menu-open .mega-panel h4 { color: var(--gilt); }
  .site-head.menu-open .mega-cta, .site-head.menu-open .mega-foot { display: none; }
  .nav-drop.mega > button::after { display: none; }
}

/* How we work journey */
.jr-track { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); margin: 8px 0 48px; position: relative; }
.jr-track::before { content: ""; position: absolute; left: 6%; right: 6%; top: 15px; height: 2px; background: linear-gradient(90deg, var(--old-gold), var(--blue-deep)); opacity: .35; }
.jr-track span { position: relative; text-align: center; font-size: 13px; line-height: 1.35; color: var(--muted-light); padding: 0 6px; }
.jr-track b { display: grid; place-items: center; width: 32px; height: 32px; margin: 0 auto 10px; border-radius: 50%; background: var(--paper); border: 2px solid var(--old-gold); color: var(--old-gold); font-size: 12px; }
.jr-track span.opt b { border-style: dashed; }
.jr-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; }
.jr-phase { font: 600 12px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--old-gold); margin: 0 0 6px; padding-bottom: 14px; border-bottom: 2px solid var(--ink); }
.jr-list { list-style: none; margin: 0; padding: 0; }
.jr-step { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 12px; padding: 24px 0; border-bottom: 1px solid var(--line-light); }
.jr-n { font: 600 22px/1 var(--serif); color: var(--old-gold); }
.jr-step h3 { font: 600 19px/1.3 var(--sans); margin: 0 0 8px; }
.jr-step p { color: var(--muted-light); font-size: 15.5px; margin: 0; }
.jr-tag { display: inline-block; vertical-align: middle; margin-left: 8px; font: 600 10px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--old-gold); border: 1px solid var(--old-gold); padding: 4px 6px; }
@media (max-width: 900px) { .jr-track { display: none; } .jr-cols { grid-template-columns: 1fr; gap: 32px; } }

/* Home theme picker dropdown */
.drop-panel.home-panel { min-width: 220px; padding: 14px 20px; }
.home-panel a { display: flex; align-items: center; gap: 12px; }
.home-panel .sw { width: 14px; height: 14px; border-radius: 50%; border: 1px solid rgba(255,255,255,.4); flex: none; }

/* Language flags */
.flag { display: inline-flex; width: 21px; height: 14px; flex: none; overflow: hidden; border-radius: 2px; box-shadow: 0 0 0 1px rgba(255,255,255,.18); }
.flag svg { width: 100%; height: 100%; display: block; }
.lang-drop > button .flag { margin-right: 2px; }
.lang-item { justify-content: flex-start; }
.lang-item .flag { margin-right: 10px; }
.lang-item em { margin-left: auto; }
.lang-item.is-soon .flag { opacity: .6; }
.principles { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) { .principles { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .principles { grid-template-columns: 1fr; } }
.lang-drop > button .flag svg, .nav-drop > button .flag svg { width: 100%; height: 100%; }

/* Banking: US credit cards */
.credit-band { background: var(--hero-grad); }
.credit-steps { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; counter-reset: none; }
.credit-steps li { border: 1px solid var(--line-dark); background: rgba(255,255,255,.03); padding: 26px 24px; }
.credit-steps span { font: 600 13px/1 var(--sans); letter-spacing: .14em; color: var(--gilt); }
.credit-steps h3 { font: 600 19px/1.3 var(--sans); margin: 14px 0 8px; color: var(--ivory); }
.credit-steps p { font-size: 15px; color: var(--muted-dark); margin: 0; }
@media (max-width: 1000px) { .credit-steps { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .credit-steps { grid-template-columns: 1fr; } }

/* Compact call to action band (replaces the tall slogan banner) */
.closer { text-align: left; padding: 64px 0; }
.closer-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.closer h2 { font-size: clamp(26px, 3vw, 36px); }
.closer .lede { margin: 16px 0 0; max-width: 640px; }
.closer-cta { display: grid; gap: 12px; justify-items: stretch; max-width: 380px; justify-self: end; width: 100%; }
.closer-cta .btn { justify-content: center; }
.closer-note { font-size: 13px; color: var(--muted-dark); text-align: center; margin: 4px 0 0; }
@media (max-width: 900px) { .closer-grid { grid-template-columns: 1fr; gap: 28px; } .closer-cta { justify-self: start; } }

/* Newsletter tucked into the footer brand column */
.newsletter.foot-news { display: block; padding: 24px 0 0; border: 0; margin-top: 22px; border-top: 1px solid var(--line-dark); max-width: 360px; }
.foot-news h4 { margin-bottom: 8px; }
.foot-news p { font-size: 14px; color: var(--muted-dark); margin: 0 0 12px; }
.foot-news .newsletter-row input { padding: 11px 14px; font-size: 14px; }
.foot-news .newsletter-row button { padding: 0 16px; font-size: 12px; }
.foot-news .newsletter-status { margin: 6px 0 0; min-height: 0; font-size: 13px; }
.foot-news .newsletter-note { font-size: 12px; margin: 6px 0 0; }
.foot-news .newsletter-note a { display: inline; padding: 0; font-size: 12px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
@media (max-width: 680px) { .foot-news .newsletter-row { flex-direction: row; } .foot-news .newsletter-row button { padding: 0 14px; } }
@media (max-width: 1080px) { .foot-cols > div:first-child { grid-column: 1 / -1; } .newsletter.foot-news { max-width: 520px; } }
.site-foot { padding-top: 56px; } .foot-cols { padding-top: 0; }


/* ===== Site theme: dark blue (adopted 25 Oct 2026; was the /dark-blue trial) ===== */

:root {
  --obsidian: #030B17;
  --obsidian-2: #06132A;
  --obsidian-3: #0A1D3B;
  --line-dark: #18304F;
  --old-gold: #0F4C81;
  --blue: #0F4C81;
  --blue-hi: #1B64A3;
  --blue-deep: #061A33;
  --ivory: #EEF2F7;
  --ivory-2: #DFE6EF;
  --muted-dark: #93A7BE;
  --line-light: #CBD6E3;
  --hero-grad: linear-gradient(160deg, #020812 0%, #051329 45%, #0A2447 78%, #0F3563 100%);
}
body { background: var(--obsidian); }
.site-head { background: rgba(3, 10, 22, .94); }
.hero-globe { background: radial-gradient(900px 700px at 72% 45%, rgba(15, 76, 129, .32), transparent 65%), var(--hero-grad); }
.match-band { background: linear-gradient(180deg, #051329 0%, #08203F 55%, #0F3563 100%); }
.match { background: rgba(3, 12, 26, .8); }
.map-band { background: linear-gradient(180deg, #030B17 0%, #061A33 60%, #0A2447 100%); }
.site-foot { background: linear-gradient(180deg, #061A33 0%, #030B17 100%); }
.glabel { background: rgba(3, 12, 26, .8); }
.glabel.on { background: rgba(5, 19, 41, .92); }
.globe-hud { background: linear-gradient(90deg, rgba(3, 12, 26, .85), rgba(3, 12, 26, 0)); }
.keypoints li { background: rgba(6, 26, 51, .55); }
.world .land { fill: #12294A; stroke: #050F1F; }
.card-help { border-color: #0A2447; }

/* Gold buttons: a polished metal gradient that sweeps across on hover */
.btn-gold {
  background: linear-gradient(110deg, #A47B2C 0%, #D2AE66 20%, #F4E1AA 38%, #D9B672 52%, #B48C3E 70%, #EAD08F 88%, #C9A458 100%);
  background-size: 230% 100%; background-position: 0% 50%;
  color: #06142A; border-color: transparent;
  box-shadow: inset 0 1px 0 rgba(255, 246, 218, .6), inset 0 -1px 0 rgba(96, 64, 16, .35), 0 8px 22px rgba(196, 152, 72, .22);
  transition: background-position .7s cubic-bezier(.2, .7, .2, 1), box-shadow .3s, transform .2s;
}
.btn-gold:hover { background-position: 100% 50%; box-shadow: inset 0 1px 0 rgba(255, 246, 218, .7), inset 0 -1px 0 rgba(96, 64, 16, .35), 0 10px 30px rgba(214, 172, 92, .35); transform: translateY(-1px); }
.btn-line { border-color: rgba(214, 180, 110, .45); }
.btn-line:hover { border-color: var(--gilt); background: rgba(217, 182, 114, .08); }

/* Light on the dark: soft pools of blue light so the dark sections have depth instead of reading as one block */
.hero-globe {
  background:
    radial-gradient(1100px 620px at 88% 12%, rgba(84, 150, 228, .26), transparent 62%),
    radial-gradient(900px 600px at 72% 55%, rgba(24, 108, 196, .30), transparent 64%),
    radial-gradient(700px 480px at 6% 96%, rgba(48, 102, 182, .20), transparent 60%),
    linear-gradient(165deg, #030B17 0%, #061630 46%, #0B2A52 100%);
}
.match-band {
  background:
    radial-gradient(900px 500px at 0% 0%, rgba(96, 156, 226, .22), transparent 60%),
    radial-gradient(800px 520px at 100% 100%, rgba(36, 110, 196, .26), transparent 60%),
    linear-gradient(180deg, #061630 0%, #0A2447 100%);
}
.match { background: rgba(4, 14, 30, .62); border-color: rgba(150, 190, 236, .22); box-shadow: 0 24px 60px rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .05); }
.map-band {
  background:
    radial-gradient(1000px 520px at 38% 58%, rgba(42, 116, 204, .28), transparent 62%),
    radial-gradient(600px 400px at 95% 10%, rgba(120, 170, 230, .14), transparent 60%),
    linear-gradient(180deg, #040E1E 0%, #08203F 70%, #0B2A52 100%);
}
.band:not(.on-light):not(.on-paper):not(.hero-globe):not(.match-band):not(.map-band):not(.credit-band) {
  background:
    radial-gradient(900px 520px at 92% 8%, rgba(76, 140, 220, .18), transparent 60%),
    radial-gradient(700px 500px at 0% 100%, rgba(30, 92, 176, .16), transparent 60%),
    var(--obsidian);
}
.closer {
  background:
    radial-gradient(800px 420px at 50% 0%, rgba(110, 168, 236, .24), transparent 65%),
    linear-gradient(180deg, #071A36 0%, #0B2A52 100%) !important;
}
.site-foot { background: radial-gradient(900px 360px at 50% 0%, rgba(60, 120, 200, .14), transparent 70%), linear-gradient(180deg, #061A33 0%, #030B17 100%); }
.site-head { background: rgba(4, 12, 26, .88); box-shadow: 0 1px 0 rgba(217, 182, 114, .18); border-bottom-color: transparent; }

/* Light sections: a whisper of warmth and depth rather than flat white */
.on-light { background: radial-gradient(1200px 500px at 85% 0%, rgba(24, 118, 187, .06), transparent 60%), var(--ivory); }
.on-paper { background: radial-gradient(1000px 420px at 10% 0%, rgba(217, 182, 114, .07), transparent 60%), #FFFFFF; }

/* Cards and key figures pick up a faint sheen */
.keypoints li { background: linear-gradient(160deg, rgba(40, 96, 170, .22), rgba(6, 22, 44, .5)); border-color: rgba(150, 190, 236, .18); }
.glabel { background: rgba(5, 18, 38, .78); border-color: rgba(150, 190, 236, .3); }

/* Header logo: small use lockup (assets/logo-header.svg) with the wordmark boosted relative to the knight */
.site-head .brand img { height: 44px; width: auto; display: block; }
@media (min-width: 1081px) and (max-width: 1240px) { .site-head .brand img { height: 38px; } }
@media (max-width: 680px) { .site-head .brand img { height: 34px; } }
.foot-logo { height: 36px; width: auto; display: block; }
.call-honest { margin: 16px 0 4px; padding: 12px 16px; border-left: 2px solid var(--gilt); background: rgba(217,182,114,.06); color: var(--ivory); font-size: 15px; }

/* Find my program: four goal cards */
.match-simple { padding: 28px; }
.goal-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.goal-card { display: grid; gap: 6px; text-align: left; padding: 20px 20px 22px; background: rgba(255,255,255,.03); border: 1px solid var(--line-dark); color: var(--ivory); cursor: pointer; font: inherit; border-radius: 2px; transition: border-color .2s, background .2s, transform .15s; }
.goal-card:hover { border-color: rgba(217,182,114,.6); transform: translateY(-1px); }
.goal-card[aria-pressed="true"] { border-color: var(--gilt); background: rgba(217,182,114,.12); box-shadow: inset 0 0 0 1px var(--gilt); }
.goal-card .gc-n { font: 600 12px/1 var(--sans); letter-spacing: .14em; color: var(--gilt); }
.goal-card strong { font: 600 18px/1.3 var(--sans); }
.goal-card span:last-child { font-size: 14px; color: var(--muted-dark); line-height: 1.45; }
@media (max-width: 600px) { .goal-cards { grid-template-columns: 1fr; } }
.hero-copy .display { font-size: clamp(34px, 4.4vw, 60px); }

/* Footer client dashboard link + login page */
.site-foot .legal { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 0; }
.foot-login { margin-left: auto; color: var(--gilt); text-decoration: none; font-size: 13px; letter-spacing: .04em; }
.foot-login:hover { color: var(--ivory); }
.login-band { min-height: calc(100vh - 74px); display: flex; align-items: center; padding: 72px 0; background: var(--hero-grad, var(--obsidian)); }
.login-card { max-width: 420px; margin: 0 auto; padding: 40px 36px; background: rgba(255,255,255,.03); border: 1px solid var(--line-dark); text-align: center; }
.login-knight { height: 40px; width: auto; margin: 0 auto 18px; display: block; }
.login-card h1 { font-family: var(--serif); font-size: 26px; letter-spacing: .08em; text-transform: uppercase; color: var(--ivory); margin: 0 0 10px; }
.login-sub { color: var(--muted-dark); font-size: 15px; margin: 0 0 28px; }
.login-form { display: grid; gap: 8px; text-align: left; }
.login-form label { font: 600 11px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--gilt); margin-top: 8px; }
.login-form input { width: 100%; padding: 13px 14px; background: rgba(0,0,0,.25); border: 1px solid var(--line-dark); color: var(--ivory); font: 400 15px var(--sans); }
.login-form input:focus { outline: none; border-color: var(--gilt); }
.login-form .btn { margin-top: 18px; width: 100%; justify-content: center; }
.login-status { color: var(--muted-dark); font-size: 14px; min-height: 1em; margin: 6px 0 0; }
.login-foot { margin: 26px 0 0; padding-top: 20px; border-top: 1px solid var(--line-dark); color: var(--muted-dark); font-size: 14px; }
.login-foot a { color: var(--gilt); }
@media (min-width: 641px) { .site-foot .legal { padding-right: 84px; } }
/* Homepage hero spacing (25 Oct 2026): taller, even top and bottom */
@media (min-width: 1081px) {
  .hero-globe { padding: 56px 0; }
  .hero-globe .hero-grid { min-height: min(760px, calc(100vh - 184px)); align-items: center; }
  .globe { height: min(720px, calc(100vh - 200px)); min-height: 560px; margin-top: 0; margin-bottom: 0; }
  .hero-copy { padding: 0; }
}

/* Homepage program sliders (25 Oct 2026) */
.prog-band .band-head { margin-bottom: 28px; }
.ps-row + .ps-row { margin-top: 48px; }
.ps-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.ps-head h3 { font: 500 20px/1.2 var(--sans); letter-spacing: 0; text-transform: none; margin: 0; }
.ps-head h3 a { color: var(--ivory); text-decoration: none; display: inline-flex; align-items: center; gap: 10px; }
.ps-head h3 a svg { width: 16px; height: 16px; color: var(--gilt); transition: transform .2s; }
.ps-head h3 a:hover svg { transform: translateX(3px); }
.ps-nav { display: flex; gap: 8px; }
.ps-nav button { width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(217,182,114,.45); background: transparent; color: var(--gilt); display: grid; place-items: center; cursor: pointer; transition: background .2s, opacity .2s; }
.ps-nav button svg { width: 16px; height: 16px; }
.ps-nav .ps-prev svg { transform: rotate(180deg); }
.ps-nav button:hover:not(:disabled) { background: rgba(217,182,114,.12); }
.ps-nav button:disabled { opacity: .3; cursor: default; }
.ps-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 4 * 16px) / 4.4); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
.ps-track::-webkit-scrollbar { display: none; }
.ps-card { position: relative; display: block; aspect-ratio: 3 / 4.4; overflow: hidden; scroll-snap-align: start; text-decoration: none; color: #fff; background: #0a1a2e; border: 1px solid rgba(255,255,255,.08); }
.ps-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.ps-card:hover img { transform: scale(1.05); }
.ps-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(3,11,23,0) 30%, rgba(3,11,23,.55) 55%, rgba(3,11,23,.94) 100%); }
.ps-badge { position: absolute; top: 14px; left: 14px; z-index: 2; font: 600 10px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; padding: 7px 10px; background: rgba(3,11,23,.7); color: var(--gilt); border: 1px solid rgba(217,182,114,.4); backdrop-filter: blur(6px); }
.ps-body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 20px 18px 20px; }
.ps-region { display: block; font: 600 10.5px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.72); margin-bottom: 10px; }
.ps-body h3 { font: 600 23px/1.15 var(--sans); letter-spacing: 0; text-transform: none; color: #fff; margin: 0; }
.ps-price { font: 500 19px/1.2 var(--sans); color: var(--gilt); margin: 6px 0 14px; }
.ps-body ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.ps-body li { display: flex; align-items: center; gap: 9px; font: 600 10.5px/1.3 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.9); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ps-body li svg { width: 13px; height: 13px; flex: none; color: var(--gilt); }
@media (max-width: 1080px) { .ps-track { grid-auto-columns: calc((100% - 2 * 16px) / 2.6); } }
@media (max-width: 640px) { .ps-track { grid-auto-columns: 78%; margin-right: calc(var(--gutter) * -1); padding-right: var(--gutter); } .ps-nav { display: none; } }
.prog-band { overflow-x: clip; }
.ps-head h3 a span { color: var(--gilt); transition: transform .2s; display: inline-block; }
.ps-head h3 a:hover span { transform: translateX(3px); }

/* Programs slider on light background + package tailoring note */
.prog-band.on-light .ps-head h3 a { color: var(--ink); }
.prog-band.on-light .ps-head h3 a span { color: var(--old-gold); }
.prog-band.on-light .ps-nav button { border-color: rgba(15,76,129,.35); color: var(--old-gold); }
.prog-band.on-light .ps-nav button:hover:not(:disabled) { background: rgba(15,76,129,.08); }
.prog-band.on-light .ps-card { border-color: transparent; box-shadow: 0 10px 28px rgba(3,11,23,.12); }
.pkg-tailor { max-width: 860px; margin: 0 0 40px; padding: 24px 28px; border-left: 3px solid var(--old-gold); background: rgba(15,76,129,.05); }
.pkg-tailor h2 { font: 600 20px/1.3 var(--sans); letter-spacing: 0; text-transform: none; margin: 0 0 8px; color: var(--ink); }
.pkg-tailor h2::after { display: none; }
.pkg-tailor p { margin: 0; color: var(--muted-light); }

/* Why work with us (homepage) */
.why-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 8px; }
.why-card { background: rgba(255,255,255,.035); border: 1px solid var(--line-dark); overflow: hidden; display: flex; flex-direction: column; }
.why-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; filter: saturate(.9); }
.why-body { padding: 22px 22px 26px; }
.why-body h3 { font: 600 18px/1.3 var(--sans); letter-spacing: 0; text-transform: none; color: var(--ivory); margin: 0 0 10px; }
.why-body p { font-size: 15px; line-height: 1.6; color: var(--muted-dark); margin: 0; }
@media (max-width: 1080px) { .why-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .why-grid { grid-template-columns: 1fr; } }
/* Dark bands match the hero: navy gradient with soft blue light pools, never near black (25 Oct 2026) */
.band:not(.on-light):not(.on-paper):not(.hero-globe):not(.match-band):not(.map-band):not(.credit-band),
.why-band {
  background:
    radial-gradient(1000px 560px at 88% 10%, rgba(84, 150, 228, .24), transparent 62%),
    radial-gradient(800px 560px at 8% 92%, rgba(36, 110, 196, .24), transparent 62%),
    linear-gradient(165deg, #051329 0%, #08203F 55%, #0C2C55 100%);
}
.why-card { background: rgba(255,255,255,.05); border-color: rgba(160,190,230,.16); }

/* Contact: two step booking with embedded Cal.com calendar */
.book-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
.book-head h2 { margin: 6px 0 0; }
.link-btn { background: none; border: 0; padding: 0; font: inherit; color: var(--old-gold); text-decoration: underline; cursor: pointer; }
.cal-inline { width: 100%; min-height: 640px; overflow: auto; background: #fff; border: 1px solid var(--line-light); }
#book-step2 { scroll-margin-top: 96px; }

/* Programs page: photo cards, four per row */
.pg-group + .pg-group { margin-top: 56px; }
.pg-title { font: 500 22px/1.2 var(--sans); letter-spacing: 0; text-transform: none; color: var(--ink); margin: 28px 0 18px; }
.pg-title::after { display: none; }
.pg-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.pg-grid .ps-card { box-shadow: 0 10px 28px rgba(3,11,23,.12); border-color: transparent; }
.ps-card[hidden], .pg-group[hidden] { display: none; }
@media (max-width: 1080px) { .pg-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .pg-grid { grid-template-columns: 1fr; } }

/* Contact: straight into the calendar */
.book-hero { padding-bottom: 48px; }
.book-band { padding-top: 48px; }
.call-pick { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; max-width: 760px; }
.cp-opt { text-align: left; padding: 16px 20px; background: #fff; border: 1px solid var(--line-light); cursor: pointer; display: grid; gap: 4px; transition: border-color .2s, box-shadow .2s; }
.cp-opt:hover { border-color: rgba(15,76,129,.4); }
.cp-opt[aria-selected="true"] { border-color: var(--old-gold); box-shadow: inset 0 0 0 1px var(--old-gold); }
.cp-name { font: 600 16px/1.3 var(--sans); color: var(--ink); }
.cp-meta { font-size: 14px; color: var(--muted-light); }
.cp-opt[aria-selected="true"] .cp-meta { color: var(--old-gold); }
.cp-note { max-width: 760px; margin: 16px 0 24px; color: var(--muted-light); }
.cp-note a, .book-alt a { color: var(--old-gold); }
.book-alt { margin-top: 20px; }
@media (max-width: 640px) { .call-pick { grid-template-columns: 1fr; } }

/* Contact: compact side by side call cards above the calendar */
.call-pick { grid-template-columns: 1fr 1fr; gap: 16px; max-width: none; }
.cp-card { text-align: left; display: grid; gap: 6px; align-content: start; padding: 20px 22px; background: #fff; border: 1px solid var(--line-light); cursor: pointer; font: inherit; color: var(--ink); transition: border-color .2s, box-shadow .2s, transform .2s; }
.cp-card:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(3,11,23,.08); }
.cp-top { display: flex; justify-content: space-between; align-items: center; }
.cp-eyebrow { font: 600 10.5px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--old-gold); }
.cp-check { width: 20px; height: 20px; border-radius: 50%; border: 1.5px solid var(--line-light); display: grid; place-items: center; }
.cp-card[aria-selected="true"] .cp-check { border-color: var(--old-gold); background: var(--old-gold); }
.cp-card[aria-selected="true"] .cp-check::after { content: ""; width: 6px; height: 10px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg) translate(-1px, -1px); }
.cp-card[aria-selected="true"] { border-color: var(--old-gold); box-shadow: inset 0 0 0 1px var(--old-gold); }
.cp-name { font: 600 19px/1.25 var(--sans); }
.cp-price { font-size: 14px; color: var(--muted-light); }
.cp-price strong { font-size: 17px; color: var(--ink); }
.cp-desc { font-size: 14.5px; line-height: 1.5; color: var(--muted-light); }
.cp-ticks { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 4px; }
.cp-ticks span { font-size: 13px; color: var(--ink); position: relative; padding-left: 16px; }
.cp-ticks span::before { content: ""; position: absolute; left: 0; top: 4px; width: 8px; height: 5px; border: solid var(--old-gold); border-width: 0 0 1.5px 1.5px; transform: rotate(-45deg); }
.cp-feature { background: linear-gradient(165deg, #051329 0%, #0C2C55 100%); border-color: #0C2C55; color: var(--ivory); }
.cp-feature .cp-eyebrow { color: var(--gilt); }
.cp-feature .cp-price, .cp-feature .cp-desc { color: rgba(247,244,238,.72); }
.cp-feature .cp-price strong, .cp-feature .cp-ticks span { color: var(--ivory); }
.cp-feature .cp-ticks span::before { border-color: var(--gilt); }
.cp-feature .cp-check { border-color: rgba(247,244,238,.35); }
.cp-feature[aria-selected="true"] { border-color: var(--gilt); box-shadow: inset 0 0 0 1px var(--gilt); }
.cp-feature[aria-selected="true"] .cp-check { background: var(--gilt); border-color: var(--gilt); }
.cp-feature[aria-selected="true"] .cp-check::after { border-color: #051329; }
.cp-hint { margin: 14px 0 20px; font-size: 14px; color: var(--muted-light); }
.cp-hint a { color: var(--old-gold); }
@media (max-width: 760px) { .call-pick { grid-template-columns: 1fr; } }
.cp-feature .cp-name { color: var(--ivory); }
@media (min-width: 641px) { .site-foot .legal { padding-right: 0; } }
.site-foot .social-icons { gap: 7px; flex-wrap: nowrap; } .site-foot .social-icons a { width: 36px; height: 36px; flex: none; } .site-foot .social-icons svg { width: 16px; height: 16px; }
@media (max-width: 420px) { .site-foot .social-icons { flex-wrap: wrap; } }

/* Contact: message section */
.msg-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 56px; align-items: start; }
.msg-intro .lede { margin-top: 16px; }
.msg-buttons { display: grid; gap: 10px; margin-top: 28px; max-width: 360px; }
.msg-btn { display: flex; align-items: center; gap: 14px; padding: 14px 18px; border: 1px solid rgba(160,190,230,.22); background: rgba(255,255,255,.04); color: var(--ivory); text-decoration: none; font-weight: 500; transition: border-color .2s, background .2s; }
.msg-btn svg { width: 20px; height: 20px; fill: var(--gilt); flex: none; }
.msg-btn:hover { border-color: var(--gilt); background: rgba(217,182,114,.08); }
.msg-form { background: #fff; padding: 32px; color: var(--ink); box-shadow: 0 20px 50px rgba(0,0,0,.25); }
.msg-form label { color: var(--ink); }
.msg-interests { border: 0; padding: 0; margin: 4px 0 16px; display: flex; flex-wrap: wrap; gap: 8px; }
.msg-interests legend { font-size: 14px; font-weight: 600; margin-bottom: 10px; padding: 0; color: var(--ink); }
.msg-interests label { cursor: pointer; display: inline-flex; }
.msg-interests input { position: absolute; opacity: 0; pointer-events: none; }
.msg-interests span { display: inline-block; padding: 8px 14px; border: 1px solid var(--line-light); font-size: 14px; color: var(--ink); transition: all .15s; }
.msg-interests input:checked + span { border-color: var(--old-gold); background: rgba(15,76,129,.08); color: var(--old-gold); box-shadow: inset 0 0 0 1px var(--old-gold); }
.msg-interests input:focus-visible + span { outline: 2px solid var(--old-gold); outline-offset: 2px; }
@media (max-width: 960px) { .msg-grid { grid-template-columns: 1fr; gap: 32px; } .msg-form { padding: 24px; } }
.msg-interests label { position: relative; font-weight: 400; } .call-form .msg-interests input { position: absolute; inset: 0; width: 1px; height: 1px; margin: 0; padding: 0; opacity: 0; }

/* Homepage: simple package formulas */
.ps-pkgs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ps-pkg { display: flex; flex-direction: column; gap: 18px; padding: 30px 28px 26px; background: #fff; border: 1px solid var(--line-light); text-decoration: none; color: var(--ink); transition: transform .2s, box-shadow .2s, border-color .2s; }
.ps-pkg:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(3,11,23,.10); border-color: rgba(15,76,129,.35); }
.ps-pkg-name { font-family: var(--serif); font-size: 21px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink); }
.ps-combo { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.ps-part { padding: 10px 14px; background: var(--ivory); border: 1px solid var(--line-light); font-size: 15px; font-weight: 500; }
.ps-plus { font-size: 22px; font-weight: 300; color: var(--old-gold); line-height: 1; }
.ps-result { font-size: 17px; font-weight: 600; color: var(--old-gold); padding-top: 16px; border-top: 1px solid var(--line-light); margin-top: auto; }
.ps-more { font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted-light); }
.ps-pkg:hover .ps-more { color: var(--old-gold); }
@media (max-width: 1000px) { .ps-pkgs { grid-template-columns: 1fr; } }

/* FAQ page */
.faq-page { display: grid; grid-template-columns: 220px 1fr; gap: 56px; align-items: start; }
.faq-nav { position: sticky; top: 100px; display: grid; gap: 4px; }
.faq-nav a { padding: 8px 12px; border-left: 2px solid var(--line-light); color: var(--muted-light); text-decoration: none; font-size: 15px; }
.faq-nav a:hover { color: var(--old-gold); border-left-color: var(--old-gold); }
.faq-cat { scroll-margin-top: 100px; }
.faq-cat + .faq-cat { margin-top: 56px; }
.faq-cat h2 { font-size: 26px; margin-bottom: 16px; }
.faq-cat .answer a { color: var(--old-gold); }
@media (max-width: 900px) { .faq-page { grid-template-columns: 1fr; gap: 24px; } .faq-nav { position: static; display: flex; flex-wrap: wrap; gap: 8px; } .faq-nav a { border: 1px solid var(--line-light); } }

.mega-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }


/* Login: faded dashboard preview behind the card */
.login-band { position: relative; overflow: hidden; }
.login-band > .wrap { position: relative; z-index: 2; }
.login-bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.login-bg iframe { position: absolute; top: 0; left: 50%; width: 1440px; height: 1000px; border: 0; transform: translateX(-50%) scale(var(--s, 1)); transform-origin: top center; opacity: .5; filter: blur(1.5px) saturate(.9); }
.login-bg::after { content: ""; position: absolute; inset: 0; background: radial-gradient(520px 420px at 50% 50%, rgba(4,14,30,.82), rgba(4,14,30,.45) 70%), linear-gradient(180deg, rgba(4,14,30,.35), rgba(4,14,30,.55)); }
.login-card { background: rgba(5,19,41,.88); backdrop-filter: blur(10px); box-shadow: 0 30px 80px rgba(0,0,0,.45); }
@media (min-width: 1600px) { .login-bg iframe { --s: 1.15; } }
@media (max-width: 900px) { .login-bg iframe { --s: .8; } }
.login-bg iframe { opacity: .7; filter: blur(1px); }
.login-bg::after { background: radial-gradient(480px 400px at 50% 50%, rgba(4,14,30,.7), rgba(4,14,30,.25) 75%), linear-gradient(180deg, rgba(4,14,30,.15), rgba(4,14,30,.35)); }

/* Login: request access panel */
.login-switch { background: none; border: 0; padding: 0; font: inherit; color: var(--gilt); text-decoration: underline; cursor: pointer; }
.login-opt { font-weight: 400; letter-spacing: .04em; text-transform: none; color: rgba(247,244,238,.5); }
.login-form select, .login-form textarea { width: 100%; padding: 13px 14px; background: rgba(0,0,0,.25); border: 1px solid var(--line-dark); color: var(--ivory); font: 400 15px var(--sans); box-sizing: border-box; }
.login-form select option { color: #111; }
.login-form textarea { resize: vertical; }
.login-form select:focus, .login-form textarea:focus { outline: none; border-color: var(--gilt); }
.login-status[data-kind="error"] { color: #F0A8A0; }
.login-status[data-kind="ok"] { color: var(--gilt); }
/* Founder photo on mobile: full width, framed from the chest up */
@media (max-width: 1080px) {
  .founder:has(.founder-photo) .founder-photo, .founder-photo { max-width: none; width: 100%; aspect-ratio: 4 / 5; height: auto; min-height: 0; }
  .founder-photo img { object-position: 45% 12%; }
  .founder-photo::before { background: linear-gradient(90deg, rgba(11,11,11,.55) 0%, rgba(11,11,11,0) 12%), linear-gradient(0deg, rgba(7,26,48,.85) 0%, rgba(7,26,48,0) 30%); }
}
/* Mobile hero: smaller globe, breathing room under the buttons */
@media (max-width: 680px) {
  .globe { height: 330px; margin-left: 0; margin-right: 0; }
  .hero-copy { padding-bottom: 56px; }
}
/* Mobile header: Menu left, logo centred, language right */
@media (max-width: 680px) {
  .site-head > .wrap { display: grid; grid-template-columns: 1fr auto 1fr; gap: 8px; }
  .site-head .brand { grid-column: 2; grid-row: 1; justify-self: center; }
  .head-ctas { display: contents; }
  .head-ctas .menu-btn { grid-column: 1; grid-row: 1; justify-self: start; }
  .head-ctas .lang-drop { grid-column: 3; grid-row: 1; justify-self: end; }
  .site-head .brand img { height: 30px; width: auto; }
  .lang-drop .drop-panel.lang-panel { right: 0; left: auto; }
}

/* Header: three simple dropdowns (Residency, Citizenship, Services) */
.drop-panel.simple-panel { min-width: 230px; grid-template-columns: 1fr; padding: 10px 0; left: -8px; }
.simple-panel > div { display: grid; }
.simple-panel a { display: block; padding: 10px 20px; font-size: 15px; color: var(--ivory); text-decoration: none; white-space: nowrap; letter-spacing: 0; text-transform: none; }
.simple-panel a:hover { background: rgba(217,182,114,.1); color: var(--gilt); }
.simple-panel .drop-note { font-size: 11px; color: var(--gilt); margin-left: 6px; }
@media (max-width: 1080px) { .site-head.menu-open .simple-panel a { padding: 10px 0; } }

/* Why section: three options for comparison (25 Oct 2026) */
.wo1, .wo2, .wo3 { position: relative; }
.opt-tag { position: absolute; top: 18px; left: 50%; transform: translateX(-50%); font: 600 11px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; background: var(--gilt); color: #071A30; padding: 7px 12px; z-index: 2; }
.wo1-grid { display: grid; grid-template-columns: minmax(280px, 5fr) 7fr; gap: 72px; align-items: start; }
.wo1-head { position: sticky; top: 120px; }
.wo1-head .lede { margin: 18px 0 28px; }
.wo1-list { list-style: none; margin: 0; padding: 0; }
.wo1-list li { display: grid; grid-template-columns: 96px 1fr; gap: 20px; padding: 34px 0; border-top: 1px solid rgba(160,190,230,.18); }
.wo1-list li:last-child { border-bottom: 1px solid rgba(160,190,230,.18); }
.wo1-n { font: 600 44px/1 var(--serif); color: var(--gilt); letter-spacing: .04em; }
.wo1-list h3 { font: 600 21px/1.3 var(--sans); text-transform: none; letter-spacing: 0; color: var(--ivory); margin: 4px 0 10px; }
.wo1-list p { margin: 0; color: var(--muted-dark); font-size: 16px; line-height: 1.65; max-width: 620px; }
@media (max-width: 900px) { .wo1-grid { grid-template-columns: 1fr; gap: 32px; } .wo1-head { position: static; } .wo1-list li { grid-template-columns: 64px 1fr; } .wo1-n { font-size: 32px; } }

.wo2-head { max-width: 680px; margin-bottom: 40px; }
.wo2-head .lede { margin-top: 16px; }
.wo2-table { border-top: 1px solid var(--line-light); }
.wo2-row { display: grid; grid-template-columns: 160px 1fr 1fr; gap: 0; border-bottom: 1px solid var(--line-light); }
.wo2-row > * { padding: 22px 24px; }
.wo2-row > b { font: 600 15px/1.4 var(--sans); color: var(--ink); padding-left: 0; }
.wo2-th > span { font: 600 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--muted-light); padding-top: 18px; padding-bottom: 18px; }
.wo2-th > span:last-child { color: #fff; background: #08203F; }
.wo2-no { color: var(--muted-light); font-size: 15.5px; line-height: 1.55; position: relative; padding-left: 50px !important; }
.wo2-yes { color: var(--ivory); background: #08203F; font-size: 15.5px; line-height: 1.55; position: relative; padding-left: 50px !important; }
.wo2-no::before, .wo2-yes::before { position: absolute; left: 22px; top: 22px; width: 18px; height: 18px; border-radius: 50%; display: grid; place-items: center; font: 700 11px/1 var(--sans); }
.wo2-no::before { content: "\00D7"; border: 1px solid #C9D3DE; color: #8A97A6; font-size: 14px; }
.wo2-yes::before { content: "\2713"; background: var(--gilt); color: #071A30; }
@media (max-width: 800px) {
  .wo2-th { display: none; }
  .wo2-row { grid-template-columns: 1fr; }
  .wo2-row > b { padding: 20px 0 8px; }
  .wo2-row > .wo2-no { padding-top: 6px; padding-bottom: 12px; }
  .wo2-no::before { top: 6px; }
  .wo2-row > .wo2-yes { margin-bottom: 18px; }
}

.wo3-head { text-align: center; max-width: 900px; margin: 0 auto 64px; }
.wo3-statement { font: 600 clamp(28px, 3.6vw, 48px)/1.2 var(--serif); text-transform: uppercase; letter-spacing: .05em; color: var(--ivory); margin: 14px 0 0; }
.wo3-statement em { font-style: normal; color: var(--gilt); }
.wo3-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.wo3-grid article { padding: 8px 32px 8px; border-left: 1px solid rgba(217,182,114,.28); }
.wo3-grid article:first-child { border-left: 0; padding-left: 0; }
.wo3-grid svg { width: 44px; height: 44px; fill: none; stroke: var(--gilt); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; margin-bottom: 22px; }
.wo3-grid h3 { font: 600 19px/1.3 var(--sans); text-transform: none; letter-spacing: 0; color: var(--ivory); margin: 0 0 10px; }
.wo3-grid p { margin: 0; color: var(--muted-dark); font-size: 15.5px; line-height: 1.6; }
@media (max-width: 1000px) { .wo3-grid { grid-template-columns: 1fr 1fr; row-gap: 40px; } .wo3-grid article:nth-child(3) { border-left: 0; padding-left: 0; } }
@media (max-width: 600px) { .wo3-grid { grid-template-columns: 1fr; } .wo3-grid article { border-left: 0; padding: 0 0 28px; border-bottom: 1px solid rgba(217,182,114,.2); } .wo3-head { text-align: left; } }

/* Why section options 4 to 6 (26 Oct 2026) */
.wo4, .wo5, .wo6 { position: relative; }
.wo4-head { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: end; margin-bottom: 56px; }
.wo4-head .lede { margin: 0; }
.wo4-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.wo4-grid article { border: 1px solid rgba(217,182,114,.3); padding: 28px 28px 32px; background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,0)); }
.wo4-big { display: block; font: 600 120px/0.9 var(--serif); color: transparent; -webkit-text-stroke: 1.5px var(--gilt); margin-bottom: 18px; }
.wo4-grid h3 { font: 600 13px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--gilt); margin: 0 0 14px; }
.wo4-grid p { margin: 0; color: var(--muted-dark); font-size: 15.5px; line-height: 1.6; }
@media (max-width: 1000px) { .wo4-head { grid-template-columns: 1fr; gap: 16px; } .wo4-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .wo4-grid { grid-template-columns: 1fr; } .wo4-big { font-size: 88px; } }

.wo5-grid { display: grid; grid-template-columns: 7fr 5fr; gap: 64px; align-items: center; }
.wo5-grid .lede { margin: 16px 0 32px; max-width: 620px; }
.wo5-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
.wo5-list li { padding: 14px 0 14px 32px; border-top: 1px solid var(--line-light); position: relative; font-size: 16px; color: var(--ink); }
.wo5-list li::before { content: "\2713"; position: absolute; left: 0; top: 14px; width: 20px; height: 20px; border-radius: 50%; background: var(--gilt); color: #071A30; font: 700 11px/20px var(--sans); text-align: center; }
.wo5-card { background: linear-gradient(165deg, #051329 0%, #08203F 55%, #0C2C55 100%); color: var(--ivory); padding: 44px 40px; }
.wo5-big { font: 600 clamp(30px, 3vw, 42px)/1.15 var(--serif); text-transform: uppercase; letter-spacing: .05em; margin: 12px 0 18px; }
.wo5-big em { font-style: normal; color: var(--gilt); display: block; }
.wo5-card p:not(.wo5-big) { color: var(--muted-dark); margin: 0 0 28px; }
@media (max-width: 960px) { .wo5-grid { grid-template-columns: 1fr; gap: 40px; } }
@media (max-width: 520px) { .wo5-list { grid-template-columns: 1fr; } .wo5-card { padding: 32px 24px; } }

.wo6-head { margin-bottom: 40px; }
.wo6-box { display: grid; grid-template-columns: 5fr 7fr; gap: 0; border: 1px solid rgba(160,190,230,.18); }
.wo6-tabs { display: flex; flex-direction: column; border-right: 1px solid rgba(160,190,230,.18); }
.wo6-tabs button { all: unset; cursor: pointer; display: flex; gap: 18px; align-items: baseline; padding: 26px 28px; font: 500 18px/1.35 var(--sans); color: var(--muted-dark); border-bottom: 1px solid rgba(160,190,230,.12); border-left: 3px solid transparent; transition: background .2s, color .2s; }
.wo6-tabs button:last-child { border-bottom: 0; }
.wo6-tabs button span { font: 600 14px/1 var(--serif); color: var(--gilt); opacity: .6; }
.wo6-tabs button:hover { color: var(--ivory); }
.wo6-tabs button[aria-selected="true"] { color: var(--ivory); background: rgba(255,255,255,.05); border-left-color: var(--gilt); }
.wo6-tabs button[aria-selected="true"] span { opacity: 1; }
.wo6-tabs button:focus-visible { outline: 2px solid var(--gilt); outline-offset: -2px; }
.wo6-panels { padding: 56px 56px; display: flex; align-items: center; }
.wo6-panel h3 { font: 600 clamp(24px, 2.4vw, 34px)/1.2 var(--serif); text-transform: uppercase; letter-spacing: .04em; color: var(--ivory); margin: 0 0 20px; }
.wo6-panel p { color: var(--muted-dark); font-size: 17px; line-height: 1.7; margin: 0; max-width: 560px; }
@media (max-width: 900px) { .wo6-box { grid-template-columns: 1fr; } .wo6-tabs { border-right: 0; border-bottom: 1px solid rgba(160,190,230,.18); } .wo6-panels { padding: 32px 24px; } .wo6-tabs button { padding: 18px 20px; font-size: 16px; } }
.wo5-card .eyebrow { color: var(--gilt); }

/* Mobile menu: dropdowns collapse into tap to open sections, so About and The Brief stay in view (26 Oct 2026) */
@media (max-width: 1080px) {
  .site-head.menu-open .nav-drop:not(.lang-drop):not(.open) > .drop-panel { display: none !important; }
  .site-head.menu-open .nav-drop:not(.lang-drop) > button svg { transition: transform .2s; width: 12px; height: 12px; }
  .site-head.menu-open .nav-drop.open:not(.lang-drop) > button svg { transform: rotate(180deg); }
  .site-head.menu-open .nav-drop.open:not(.lang-drop) > button { color: var(--gilt); }
}

/* Why section final (option 5 on a dark band, 26 Oct 2026) */
.why-band.wo5 h2 { color: var(--ivory); }
.why-band.wo5 .lede { color: var(--muted-dark); }
.why-band.wo5 .wo5-list li { color: var(--ivory); border-top-color: rgba(160,190,230,.18); }
.why-band.wo5 .wo5-card { background: linear-gradient(160deg, rgba(255,255,255,.08), rgba(255,255,255,.02)); border: 1px solid rgba(217,182,114,.45); box-shadow: 0 30px 60px rgba(0,0,0,.25); }

/* Who we work with: confidentiality note */
.confid { display: grid; grid-template-columns: 22px 1fr; gap: 14px; margin-top: 28px; padding: 20px 20px 20px 18px; border: 1px solid var(--line-light); border-left: 3px solid var(--gilt); background: #FAFBFD; }
.confid svg { width: 22px; height: 22px; fill: none; stroke: #A07832; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; margin-top: 1px; }
.confid strong { display: block; font: 600 15px/1.3 var(--sans); color: var(--ink); margin-bottom: 6px; }
.confid p { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--muted-light); }

/* Who we work with: comparison options A to C (26 Oct 2026) */
.ww0, .wwa, .wwb, .wwc { position: relative; }
.wwa-head, .wwb-head { text-align: center; max-width: 720px; margin: 0 auto 48px; }
.wwa-head .lede { margin-top: 14px; }
.wwa-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.wwa-card { display: flex; flex-direction: column; text-decoration: none; color: var(--ink); background: #fff; border: 1px solid var(--line-light); padding: 30px 28px 26px; transition: border-color .2s, box-shadow .2s, transform .2s; }
.wwa-card:hover { border-color: var(--gilt); box-shadow: 0 18px 40px rgba(7,26,48,.10); transform: translateY(-2px); }
.wwa-card svg, .wwb-ic svg { width: 36px; height: 36px; fill: none; stroke: #A07832; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.wwa-card h3 { font: 600 20px/1.3 var(--sans); text-transform: none; letter-spacing: 0; margin: 20px 0 8px; color: var(--ink); }
.wwa-card p { margin: 0 0 20px; font-size: 15px; line-height: 1.6; color: var(--muted-light); flex: 1; }
.wwa-flags, .wwc-flags { display: flex; flex-wrap: wrap; gap: 6px; }
.wwa-flags img, .wwc-flags img, .wwb-list img { width: 22px; height: 16px; object-fit: cover; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.08); }
.wwa-more { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line-light); font: 600 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--old-gold); display: flex; gap: 8px; align-items: center; }
.wwa-more svg { width: 14px; height: 14px; stroke: currentColor; }
.wwa-conf { display: flex; gap: 14px; align-items: flex-start; justify-content: center; max-width: 860px; margin: 40px auto 0; text-align: left; }
.wwa-conf svg, .wwb-conf svg { flex: 0 0 20px; width: 20px; height: 20px; fill: none; stroke: #A07832; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; margin-top: 2px; }
.wwa-conf p { margin: 0; font-size: 14.5px; color: var(--muted-light); line-height: 1.6; }
.wwa-conf strong, .wwb-conf strong { color: var(--ink); }
@media (max-width: 1000px) { .wwa-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .wwa-grid { grid-template-columns: 1fr; } .wwa-head, .wwb-head { text-align: left; } }

.wwb-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 28px; }
.wwb-tabs button { all: unset; cursor: pointer; padding: 12px 20px; border: 1px solid var(--line-light); border-radius: 999px; font: 500 15px/1 var(--sans); color: var(--ink); background: #fff; transition: all .2s; }
.wwb-tabs button:hover { border-color: var(--gilt); }
.wwb-tabs button[aria-selected="true"] { background: #08203F; border-color: #08203F; color: #fff; }
.wwb-tabs button:focus-visible { outline: 2px solid var(--gilt); outline-offset: 2px; }
.wwb-panel { display: grid; grid-template-columns: 72px 1.2fr 1fr; gap: 36px; align-items: center; background: #fff; border: 1px solid var(--line-light); padding: 44px 48px; max-width: 1100px; margin: 0 auto; }
.wwb-panel[hidden] { display: none; }
.wwb-ic { width: 72px; height: 72px; border-radius: 50%; background: #F6F1E6; display: grid; place-items: center; }
.wwb-panel h3 { font: 600 clamp(24px, 2.4vw, 32px)/1.2 var(--serif); text-transform: uppercase; letter-spacing: .04em; color: var(--ink); margin: 0 0 12px; }
.wwb-panel p { margin: 0 0 18px; color: var(--muted-light); font-size: 17px; line-height: 1.65; }
.wwb-list { list-style: none; margin: 0; padding: 0 0 0 32px; border-left: 1px solid var(--line-light); display: grid; grid-template-columns: 1fr 1fr; gap: 12px 20px; }
.wwb-list li { display: flex; align-items: center; gap: 10px; font-size: 15px; color: var(--ink); }
.wwb-conf { display: flex; gap: 12px; justify-content: center; align-items: flex-start; margin: 32px auto 0; max-width: 820px; font-size: 14.5px; color: var(--muted-light); }
@media (max-width: 860px) { .wwb-panel { grid-template-columns: 1fr; padding: 28px 24px; gap: 20px; } .wwb-list { border-left: 0; padding: 18px 0 0; border-top: 1px solid var(--line-light); } .wwb-tabs { justify-content: flex-start; } .wwb-tabs button { padding: 10px 14px; font-size: 14px; } }

.wwc-head { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: end; margin-bottom: 36px; }
.wwc-head .lede { margin: 0; }
.wwc-rows { border-top: 1px solid var(--ink); }
.wwc-row { display: grid; grid-template-columns: 260px 1fr 220px 28px; gap: 32px; align-items: center; padding: 26px 8px; border-bottom: 1px solid var(--line-light); text-decoration: none; color: var(--ink); transition: background .2s, padding .2s; }
.wwc-row:hover { background: #F7F9FC; padding-left: 20px; }
.wwc-row h3 { font: 600 22px/1.25 var(--sans); text-transform: none; letter-spacing: 0; margin: 0; color: var(--ink); }
.wwc-row p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--muted-light); }
.wwc-flags { justify-content: flex-end; }
.wwc-arr svg { width: 18px; height: 18px; stroke: #A07832; }
.wwc-conf { display: grid; grid-template-columns: 56px 1fr; gap: 24px; align-items: center; margin-top: 48px; padding: 32px 36px; background: linear-gradient(165deg, #051329 0%, #08203F 55%, #0C2C55 100%); color: var(--ivory); }
.wwc-lock { width: 56px; height: 56px; border-radius: 50%; border: 1px solid rgba(217,182,114,.5); display: grid; place-items: center; }
.wwc-lock svg { width: 24px; height: 24px; fill: none; stroke: var(--gilt); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.wwc-conf h3 { font: 600 13px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--gilt); margin: 0 0 10px; }
.wwc-conf p { margin: 0; color: var(--muted-dark); font-size: 15.5px; line-height: 1.6; max-width: 900px; }
@media (max-width: 1000px) { .wwc-head { grid-template-columns: 1fr; gap: 14px; } .wwc-row { grid-template-columns: 1fr 28px; gap: 8px 16px; } .wwc-row h3 { grid-column: 1; } .wwc-arr { grid-column: 2; grid-row: 1; } .wwc-row p, .wwc-flags { grid-column: 1 / -1; } .wwc-flags { justify-content: flex-start; margin-top: 6px; } }
@media (max-width: 560px) { .wwc-conf { grid-template-columns: 1fr; padding: 26px 22px; } }

/* Who we work with: Sovereign individuals, the top tier */
.goals li.goal-top { grid-column: 1 / -1; }
.wwa-card.wwa-top { grid-column: 1 / -1; display: grid; grid-template-columns: 56px 1fr auto; column-gap: 28px; align-items: center; background: linear-gradient(165deg, #051329 0%, #08203F 55%, #0C2C55 100%); border-color: rgba(217,182,114,.55); color: var(--ivory); }
.wwa-card.wwa-top svg { width: 48px; height: 48px; stroke: var(--gilt); grid-row: 1 / 4; }
.wwa-card.wwa-top h3 { color: var(--ivory); margin: 0 0 6px; font-family: var(--serif); text-transform: uppercase; letter-spacing: .05em; font-size: 24px; }
.wwa-card.wwa-top p { color: var(--muted-dark); margin: 0 0 14px; max-width: 760px; }
.wwa-card.wwa-top .wwa-flags { grid-column: 2; }
.wwa-card.wwa-top .wwa-more { grid-column: 3; grid-row: 1 / 4; border: 0; margin: 0; padding: 0; color: var(--gilt); white-space: nowrap; }
@media (max-width: 760px) { .wwa-card.wwa-top { grid-template-columns: 1fr; } .wwa-card.wwa-top svg, .wwa-card.wwa-top .wwa-more, .wwa-card.wwa-top .wwa-flags { grid-row: auto; grid-column: 1; } .wwa-card.wwa-top h3 { margin-top: 16px; } .wwa-card.wwa-top .wwa-more { margin-top: 16px; } }
.wwc-row.wwc-top { background: linear-gradient(165deg, #051329 0%, #08203F 55%, #0C2C55 100%); border-bottom: 0; padding-left: 24px; padding-right: 24px; }
.wwc-row.wwc-top h3 { color: var(--gilt); font-family: var(--serif); text-transform: uppercase; letter-spacing: .05em; font-size: 20px; }
.wwc-row.wwc-top p { color: var(--muted-dark); }
.wwc-row.wwc-top .wwc-arr svg, .wwc-row.wwc-top .wwc-arr { color: var(--gilt); }
.wwc-row.wwc-top:hover { padding-left: 32px; }
.wwc-note { display: flex; gap: 10px; align-items: flex-start; margin: 24px 0 0; font-size: 14px; line-height: 1.6; color: var(--muted-light); max-width: 900px; }
.wwc-note svg { flex: 0 0 16px; width: 16px; height: 16px; fill: none; stroke: var(--muted-light); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; margin-top: 3px; }
.wwc-note strong { color: var(--ink); font-weight: 600; }

/* Program pages: Tax at a glance table (26 Oct 2026) */
.tax-table { border-top: 1px solid var(--ink); background: #fff; }
.tax-row { display: grid; grid-template-columns: 210px 1fr; gap: 24px; padding: 16px 20px; border-bottom: 1px solid var(--line-light); align-items: baseline; }
.tax-row:nth-child(even) { background: #F8FAFC; }
.tax-k { font-size: 14.5px; color: var(--muted-light); }
.tax-v b { display: inline-block; font: 600 17px/1.3 var(--sans); color: var(--ink); margin-right: 10px; }
.tax-v small { font-size: 14px; color: var(--muted-light); line-height: 1.5; }
@media (max-width: 640px) { .tax-row { grid-template-columns: 1fr; gap: 4px; padding: 14px 14px; } .tax-v b { display: block; margin: 0 0 2px; } }

/* Program pages: tabs (26 Oct 2026) */
.ptabs { position: sticky; top: 72px; z-index: 40; background: rgba(255,255,255,.97); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line-light); box-shadow: 0 6px 18px rgba(7,26,48,.06); }
.ptabs-in { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.ptabs-in::-webkit-scrollbar { display: none; }
.ptabs a { flex: 0 0 auto; padding: 20px 18px 18px; font: 600 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--muted-light); text-decoration: none; border-bottom: 2px solid transparent; transition: color .2s, border-color .2s; }
.ptabs a:hover { color: var(--ink); }
.ptabs a[aria-selected="true"] { color: var(--ink); border-bottom-color: var(--gilt); }
.ptabs a:first-child { margin-left: -18px; }
.ptab[hidden] { display: none; }
@media (max-width: 680px) { .ptabs a { padding: 17px 13px 15px; letter-spacing: .1em; } .ptabs a:first-child { margin-left: -13px; } }
/* Sources: a quiet expandable note under the FAQ */
.src-note { margin-top: 40px; border-top: 1px solid var(--line-light); padding-top: 18px; font-size: 14px; color: var(--muted-light); }
.src-note summary { cursor: pointer; font: 600 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--muted-light); list-style: none; display: inline-flex; gap: 8px; align-items: center; }
.src-note summary::-webkit-details-marker { display: none; }
.src-note summary::after { content: "+"; font-size: 15px; letter-spacing: 0; }
.src-note[open] summary::after { content: "\2212"; }
.src-note p { margin: 14px 0 8px; }
.src-note ol { margin: 0; padding-left: 20px; columns: 2; column-gap: 40px; }
.src-note li { margin: 0 0 6px; break-inside: avoid; }
.src-note a { color: var(--muted-light); }
.src-note a:hover { color: var(--old-gold); }
@media (max-width: 700px) { .src-note ol { columns: 1; } }

/* Program overview: Why <country> highlights (26 Oct 2026) */
.why-hl .band-head .fine { max-width: 360px; margin: 0; }
.hl-tax { display: grid; grid-template-columns: 1.1fr 1fr; gap: 0; background: linear-gradient(165deg, #051329 0%, #08203F 55%, #0C2C55 100%); color: var(--ivory); margin-bottom: 20px; overflow: hidden; }
.hl-tax-copy { padding: 44px 44px 40px; }
.hl-kicker { font: 600 11px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--gilt); }
.hl-tax h3 { font: 600 clamp(24px, 2.3vw, 32px)/1.2 var(--serif); text-transform: uppercase; letter-spacing: .04em; color: var(--ivory); margin: 14px 0 14px; }
.hl-tax p { color: var(--muted-dark); margin: 0 0 12px; font-size: 16.5px; line-height: 1.65; max-width: 520px; }
.hl-tax .hl-sub { font-size: 15px; }
.hl-tax .link-arrow { color: var(--gilt); margin-top: 10px; }
.hl-rates { display: grid; grid-template-columns: 1fr 1fr; border-left: 1px solid rgba(217,182,114,.25); }
.hl-rates > div { padding: 32px 30px; border-bottom: 1px solid rgba(160,190,230,.14); border-right: 1px solid rgba(160,190,230,.14); display: flex; flex-direction: column; justify-content: center; }
.hl-rates > div:nth-child(2n) { border-right: 0; }
.hl-rates > div:nth-last-child(-n+2) { border-bottom: 0; }
.hl-rates b { font: 600 clamp(28px, 3vw, 42px)/1.05 var(--serif); color: var(--gilt); letter-spacing: .02em; }
.hl-rates span { font-size: 13.5px; color: var(--muted-dark); margin-top: 8px; letter-spacing: .02em; }
.hl-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.hl-grid article { background: #fff; border: 1px solid var(--line-light); padding: 30px 28px; }
.hl-grid svg { width: 34px; height: 34px; fill: none; stroke: #A07832; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.hl-grid h3 { font: 600 19px/1.3 var(--sans); text-transform: none; letter-spacing: 0; color: var(--ink); margin: 18px 0 8px; }
.hl-grid p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--muted-light); }
@media (max-width: 1000px) { .hl-tax { grid-template-columns: 1fr; } .hl-rates { border-left: 0; border-top: 1px solid rgba(217,182,114,.25); } .hl-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .hl-tax-copy { padding: 30px 24px; } .hl-rates > div { padding: 22px 20px; } .hl-grid { grid-template-columns: 1fr; } }

/* Program overview: How people use it (personas) */
.persona-list { border-top: 1px solid var(--ink); }
.persona { display: grid; grid-template-columns: 280px 1fr 240px; gap: 40px; padding: 32px 0; border-bottom: 1px solid var(--line-light); align-items: start; }
.persona-tag { display: inline-block; font: 600 11px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: #A07832; margin-bottom: 10px; }
.persona h3 { font: 600 21px/1.3 var(--sans); text-transform: none; letter-spacing: 0; color: var(--ink); margin: 0; }
.persona > p { margin: 0; font-size: 16px; line-height: 1.7; color: var(--muted-light); }
.persona-set > span { display: block; font: 600 11px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--muted-light); margin-bottom: 12px; }
.persona-set ul { list-style: none; margin: 0; padding: 0; }
.persona-set li { position: relative; padding: 0 0 8px 22px; font-size: 15px; color: var(--ink); }
.persona-set li::before { content: ""; position: absolute; left: 0; top: 7px; width: 10px; height: 10px; border-radius: 50%; background: var(--gilt); }
@media (max-width: 1000px) { .persona { grid-template-columns: 1fr; gap: 14px; } }

/* Tax calculator (26 Oct 2026) */
.tc-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 32px; background: #fff; border: 1px solid var(--line-light); padding: 28px 32px; margin-bottom: 28px; }
.tc-field label, .tc-label { display: block; font: 600 11px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--muted-light); margin-bottom: 12px; }
.tc-income { grid-row: span 2; }
.tc-money { display: flex; align-items: baseline; gap: 10px; border-bottom: 2px solid var(--ink); padding-bottom: 6px; }
.tc-money span { font: 600 22px/1 var(--sans); color: var(--muted-light); }
.tc-money input { all: unset; width: 100%; font: 600 clamp(32px, 4vw, 48px)/1.1 var(--serif); color: var(--ink); letter-spacing: .02em; }
#tc-range, #tc-co-range { width: 100%; margin-top: 18px; accent-color: #A07832; }
.tc-seg { display: flex; flex-wrap: wrap; gap: 8px; }
.tc-seg button { all: unset; cursor: pointer; padding: 10px 14px; border: 1px solid var(--line-light); font-size: 14.5px; color: var(--ink); background: #fff; transition: all .15s; }
.tc-seg button:hover { border-color: var(--gilt); }
.tc-seg button[aria-pressed="true"] { background: #08203F; border-color: #08203F; color: #fff; }
.tc-seg button:focus-visible { outline: 2px solid var(--gilt); outline-offset: 2px; }
.tc-check { grid-column: 2; display: flex; gap: 10px; align-items: center; font-size: 14.5px; color: var(--muted-light); cursor: pointer; }
.tc-check[hidden] { display: none; }
.tc-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.tc-card { position: relative; background: #fff; border: 1px solid var(--line-light); padding: 22px 22px 24px; display: flex; flex-direction: column; }
.tc-card.best { border-color: var(--gilt); box-shadow: 0 16px 36px rgba(7,26,48,.08); }
.tc-best { position: absolute; top: -11px; right: 16px; background: var(--gilt); color: #071A30; font: 600 10.5px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; padding: 6px 10px; }
.tc-card-top { display: flex; align-items: center; gap: 8px; }
.tc-pick { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; border-bottom: 1px solid var(--line-light); padding-bottom: 10px; }
.tc-pick img { border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.08); flex: 0 0 auto; }
.tc-pick select { all: unset; cursor: pointer; flex: 1; min-width: 0; font: 600 17px/1.3 var(--sans); color: var(--ink); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1 3l4 4 4-4' fill='none' stroke='%23111' stroke-width='1.5'/%3E%3C/svg%3E") right center / 10px no-repeat; padding-right: 18px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }
.tc-x { all: unset; cursor: pointer; font-size: 22px; line-height: 1; color: var(--muted-light); padding: 0 4px; }
.tc-x:hover { color: var(--ink); }
.tc-sys { font: 600 11px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: #A07832; margin: 16px 0 10px; }
.tc-tax span { display: block; font-size: 13px; color: var(--muted-light); }
.tc-tax b { display: block; font: 600 clamp(26px, 2.4vw, 34px)/1.15 var(--serif); color: var(--ink); margin-top: 4px; letter-spacing: .01em; }
.tc-bar { height: 6px; background: #EEF2F7; margin: 14px 0 16px; }
.tc-bar i { display: block; height: 100%; background: linear-gradient(90deg, #A07832, #D9B672); transition: width .3s; }
.tc-dl { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }
.tc-dl dt { font-size: 12.5px; color: var(--muted-light); }
.tc-dl dd { margin: 2px 0 0; font: 600 16px/1.3 var(--sans); color: var(--ink); }
.tc-note { font-size: 13px; line-height: 1.5; color: var(--muted-light); margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--line-light); }
.tc-add { all: unset; cursor: pointer; border: 1px dashed #B9C6D6; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 260px; color: var(--muted-light); font: 600 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.tc-add span { font: 400 34px/1 var(--sans); color: #A07832; }
.tc-add:hover { border-color: var(--gilt); color: var(--ink); }
.tc-h2 { font-size: clamp(22px, 2vw, 28px); margin: 56px 0 18px; }
.tc-table th img { width: 20px; height: 15px; vertical-align: -2px; margin-right: 8px; border-radius: 2px; }
.tc-table tbody th { font-weight: 500; color: var(--muted-light); white-space: nowrap; }
.tc-notes { margin: 20px 0 0; padding-left: 18px; font-size: 14px; color: var(--muted-light); }
.tc-notes li { margin-bottom: 6px; }
.tc-fine { margin-top: 24px; max-width: 980px; }
@media (max-width: 1100px) { .tc-cards { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) { .tc-controls { grid-template-columns: 1fr; padding: 22px 18px; } .tc-income { grid-row: auto; } .tc-check { grid-column: 1; } }
@media (max-width: 560px) { .tc-cards { grid-template-columns: 1fr; } .tc-add { min-height: 90px; } }
.tc-table { table-layout: fixed; }
.tc-table td, .tc-table td:last-child { font-weight: 400; font-size: 14.5px; line-height: 1.5; vertical-align: top; }
.tc-table thead th:first-child, .tc-table tbody th { width: 190px; }
@media (max-width: 760px) { .tc-table { table-layout: auto; min-width: 640px; } }
.tc-table td, .tc-table th { white-space: normal !important; overflow-wrap: anywhere; }
.tc-table tbody th { width: 200px; }

/* Tax calculator: clearer steps and country pickers */
.tc-step { display: flex; gap: 14px; align-items: center; margin: 0 0 14px; }
.tc-step + .tc-cards { margin-top: 0; }
.tc-controls + .tc-step { margin-top: 8px; }
.tc-step-n { width: 32px; height: 32px; border-radius: 50%; background: #08203F; color: var(--gilt); display: grid; place-items: center; font: 600 15px/1 var(--serif); flex: 0 0 32px; }
.tc-step b { display: block; font: 600 18px/1.3 var(--sans); color: var(--ink); }
.tc-step span { font-size: 14.5px; color: var(--muted-light); }
.tc-card-top { align-items: flex-start; }
.tc-pick { flex-direction: column; align-items: stretch; gap: 8px; border: 0; padding: 0; }
.tc-pick-label { display: flex; justify-content: space-between; font: 600 11px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--muted-light); }
.tc-pick-label em { font-style: normal; color: #A07832; }
.tc-pick-box { display: flex; align-items: center; gap: 10px; border: 1.5px solid #08203F; background: #F6F8FB; padding: 11px 12px; cursor: pointer; transition: border-color .15s, background .15s, box-shadow .15s; }
.tc-pick-box:hover, .tc-pick-box:focus-within { border-color: #A07832; background: #fff; box-shadow: 0 0 0 3px rgba(217,182,114,.25); }
.tc-pick-box select { background-size: 12px; padding-right: 22px; }
.tc-x { margin-top: 22px; }
.tc-card, .tc-pick, .tc-pick-box { min-width: 0; }
.tc-step-n { color: #fff; background: #A07832; font-family: var(--sans); }

/* Program page: one page with section links (26 Oct 2026, replaces tabs) */
.ptabs a[aria-current="true"] { color: var(--ink); border-bottom-color: var(--gilt); }
.ptabs a[aria-selected] { border-bottom-color: transparent; }
.psec { scroll-margin-top: 130px; }
/* Who does this program suit (compact) */
.suits-band { padding-top: 8px !important; }
.suits-h { font-size: clamp(22px, 2vw, 28px); margin: 0 0 20px; }
.suits { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 1px solid var(--line-light); background: #fff; }
.suits > div { padding: 24px 28px; }
.suits > div + div { border-left: 1px solid var(--line-light); }
.suits h3 { display: flex; align-items: center; gap: 10px; font: 600 15px/1.3 var(--sans); text-transform: none; letter-spacing: 0; color: var(--ink); margin: 0 0 12px; }
.suits-ic { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 700; }
.suits-ic.yes { background: var(--gilt); color: #071A30; }
.suits-ic.no { border: 1px solid #C9D3DE; color: #8A97A6; font-size: 15px; }
.suits ul { margin: 0; padding-left: 18px; }
.suits li { font-size: 15px; line-height: 1.55; color: var(--muted-light); margin-bottom: 6px; }
@media (max-width: 760px) { .suits { grid-template-columns: 1fr; } .suits > div + div { border-left: 0; border-top: 1px solid var(--line-light); } }
/* Pathways: intro and timelines to scale */
.pw-intro { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 32px; }
.pw-intro > div { border-top: 2px solid var(--gilt); padding-top: 14px; }
.pw-intro h3 { font: 600 16px/1.3 var(--sans); text-transform: none; letter-spacing: 0; color: var(--ink); margin: 0 0 6px; }
.pw-intro p { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--muted-light); }
.pw-chains { display: flex; flex-direction: column; gap: 14px; margin-bottom: 28px; }
.pw-row, .pw-axis { display: grid; grid-template-columns: 220px 1fr; gap: 20px; align-items: start; border: 0 !important; padding: 0 !important; background: none !important; }
.pw-row { padding: 14px 0 !important; border-bottom: 1px solid var(--line-light) !important; }
.pw-name span { display: block; font: 600 15px/1.3 var(--sans); color: var(--ink); }
.pw-name small { display: block; font-size: 13px; color: var(--old-gold); margin-top: 3px; }
.pw-ruler { position: relative; height: 18px; margin-right: 150px; border-bottom: 1px solid var(--line-light); }
.pw-ruler span { position: absolute; top: 0; transform: translateX(-50%); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted-light); white-space: nowrap; }
.pw-ruler span:first-child { transform: none; }
.pw-track { min-width: 0; }
.pw-bars { display: flex; align-items: stretch; height: 46px; margin-right: 150px; position: relative; }
.pw-seg { position: relative; overflow: hidden; background: #E9EFF7; border-right: 2px solid #fff; padding: 6px 8px; display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.pw-seg:nth-child(2) { background: #D7E3F1; }
.pw-seg:nth-child(3) { background: #C3D5EA; }
.pw-seg.unknown { background: repeating-linear-gradient(45deg, #EEF2F7, #EEF2F7 6px, #F8FAFC 6px, #F8FAFC 12px); }
.pw-seg b { font: 600 12.5px/1.2 var(--sans); color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pw-seg span { font-size: 12px; color: var(--muted-light); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pw-goal { position: absolute; left: 100%; top: 0; bottom: 0; width: 150px; display: flex; align-items: center; padding-left: 10px; }
.pw-goal span { background: #08203F; color: #fff; font: 600 12px/1.25 var(--sans); padding: 8px 10px; position: relative; }
.pw-goal span::before { content: ""; position: absolute; left: -6px; top: 50%; transform: translateY(-50%); border: 6px solid transparent; border-right-color: #08203F; border-left: 0; }
.pw-pass { margin-top: 8px; border-top: 2px solid var(--gilt); position: relative; }
.pw-pass::before, .pw-pass::after { content: ""; position: absolute; top: -6px; width: 2px; height: 10px; background: var(--gilt); }
.pw-pass::before { left: 0; } .pw-pass::after { right: 0; }
.pw-pass span { display: block; padding-top: 6px; font-size: 12.5px; color: #8A6A2C; white-space: nowrap; }
@media (max-width: 900px) {
  .pw-intro { grid-template-columns: 1fr; }
  .pw-row, .pw-axis { grid-template-columns: 1fr; gap: 10px; }
  .pw-axis .pw-name { display: none; }
  .pw-bars, .pw-ruler { margin-right: 0; }
  .pw-goal { position: static; width: auto; padding: 0 0 0 8px; }
  .pw-bars { height: auto; min-height: 46px; }
  .pw-pass span { white-space: normal; }
}
/* Review your eligibility form */
.elig-form { background: rgba(255,255,255,.04); border: 1px solid rgba(217,182,114,.35); padding: 28px; display: grid; gap: 14px; }
.ef-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.elig-form label { display: flex; flex-direction: column; gap: 6px; font-size: 13.5px; color: var(--muted-dark); }
.elig-form label small { color: rgba(168,189,211,.7); }
.elig-form input, .elig-form select, .elig-form textarea { font: 400 15px/1.4 var(--sans); color: var(--ivory); background: rgba(3,12,26,.55); border: 1px solid rgba(160,190,230,.25); padding: 11px 12px; border-radius: 0; }
.elig-form input:focus, .elig-form select:focus, .elig-form textarea:focus { outline: none; border-color: var(--gilt); }
.elig-form select option { color: #111; }
.elig-form .btn { justify-self: start; margin-top: 4px; }
.ef-status { margin: 0; font-size: 14px; color: var(--gilt); min-height: 1em; }
.ef-status[data-kind="error"] { color: #F2A6A6; }
@media (max-width: 640px) { .ef-row { grid-template-columns: 1fr; } .elig-form { padding: 20px; } }
.ef-done h3 { font: 600 22px/1.2 var(--serif); text-transform: uppercase; letter-spacing: .05em; color: var(--gilt); margin: 0 0 10px; }
.ef-done p { color: var(--muted-dark); margin: 0; }
.pw-goal { position: relative; left: auto; width: 0; flex: none; padding: 0; }
.pw-goal span { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); white-space: nowrap; }
.pw-pass { margin-right: 150px; }
.elig-form label { display: block; }
.elig-form input, .elig-form select, .elig-form textarea { display: block; width: 100%; margin-top: 6px; box-sizing: border-box; }
@media (max-width: 900px) { .pw-pass { margin-right: 0; } .pw-goal span { white-space: normal; width: 110px; } .pw-bars { margin-right: 120px; } }
.pw-track { padding-right: 150px; }
.pw-bars, .pw-pass { margin-right: 0 !important; }
@media (max-width: 900px) { .pw-track { padding-right: 120px; } }
.tc-ss { display: flex; gap: 8px; align-items: flex-start; margin-top: 14px; font-size: 13px; line-height: 1.4; color: var(--muted-light); cursor: pointer; }
.tc-ss input { margin-top: 2px; accent-color: #A07832; }
.pw-pres { display: flex; margin-top: 6px; }
.pw-pres > div { min-width: 0; padding: 0 8px; border-left: 1px dashed #C9D3DE; }
.pw-pres > div:first-child { border-left-color: transparent; padding-left: 0; }
.pw-pres span { display: flex; gap: 5px; align-items: center; font-size: 12px; line-height: 1.3; color: #3B5574; }
.pw-pres span::before { content: ""; flex: 0 0 11px; height: 11px; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A07832' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 16v-2l-8-5V3.5a1.5 1.5 0 0 0-3 0V9l-8 5v2l8-2.5V19l-2 1.5V22l3.5-1 3.5 1v-1.5L13 19v-5.5z'/%3E%3C/svg%3E"); }
@media (max-width: 900px) { .pw-pres span { font-size: 11px; } }

/* Program pages: Who can apply / Documents / Family as three cards */
.req3 { display: grid; grid-template-columns: 1.15fr 1.15fr 0.9fr; gap: 20px; align-items: stretch; }
.req3.two { grid-template-columns: 1.4fr 1fr; }
.req-card { background: #fff; border: 1px solid var(--line-light); padding: 30px 28px; display: flex; flex-direction: column; }
.req-ic { width: 44px; height: 44px; border-radius: 50%; background: #F6F1E6; display: grid; place-items: center; }
.req-ic svg { width: 22px; height: 22px; fill: none; stroke: #A07832; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.req-card h3 { font: 600 19px/1.3 var(--sans); text-transform: none; letter-spacing: 0; color: var(--ink); margin: 18px 0 14px; }
.req-ticks, .req-docs { margin: 0; padding: 0; list-style: none; }
.req-ticks li { position: relative; padding: 0 0 12px 28px; font-size: 15px; line-height: 1.55; color: var(--muted-light); }
.req-ticks li::before { content: "\2713"; position: absolute; left: 0; top: 1px; width: 18px; height: 18px; border-radius: 50%; background: var(--gilt); color: #071A30; font: 700 10px/18px var(--sans); text-align: center; }
.req-docs { counter-reset: d; }
.req-docs li { counter-increment: d; display: grid; grid-template-columns: 28px 1fr; padding: 9px 0; border-top: 1px solid var(--line-light); font-size: 14.5px; line-height: 1.5; color: var(--ink); }
.req-docs li:first-child { border-top: 0; padding-top: 0; }
.req-docs li::before { content: counter(d, decimal-leading-zero); font: 600 12px/1.9 var(--sans); color: #A07832; }
.req-foot { margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--line-light); font-size: 13.5px; color: var(--muted-light); }
.req-fam { margin: 0 0 18px; font-size: 15px; line-height: 1.6; color: var(--muted-light); }
.req-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
.req-chips span { background: #08203F; color: #fff; font-size: 13px; padding: 7px 12px; }
@media (max-width: 1000px) { .req3, .req3.two { grid-template-columns: 1fr; } }
.tc-table tr.tc-group th { background: #08203F; color: var(--gilt); font: 600 11.5px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; padding: 12px 16px; text-align: left; }
.pw-pres > div.narrow { overflow: visible; }
.pw-pres > div.narrow span { white-space: nowrap; }
/* Service pages: process and closing call in one section */
.proc-closer .steps { margin-top: 8px; }
.proc-fine { margin: 28px 0 0; max-width: 760px; color: var(--muted-dark); }
.proc-cta { margin-top: 64px; padding-top: 56px; border-top: 1px solid rgba(217,182,114,.25); }
.tc-step-co { margin-top: 56px; }
.tc-presets { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.tc-presets button { all: unset; cursor: pointer; padding: 7px 12px; border: 1px solid var(--line-light); font-size: 13.5px; color: var(--ink); }
.tc-presets button:hover { border-color: var(--gilt); }
.tc-co-head { display: flex; align-items: center; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid var(--line-light); margin-bottom: 14px; }
.tc-co-head b { font: 600 17px/1.3 var(--sans); color: var(--ink); }
.tc-co-head img { border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.08); }
.tc-lines { list-style: none; margin: 14px 0 0; padding: 12px 0 0; border-top: 1px solid var(--line-light); }
.tc-lines li { font-size: 13px; color: var(--ink); padding: 2px 0; }
.tc-step-n { color: #071A30 !important; background: var(--gilt) !important; font-weight: 700; }
/* Program pages: related Brief articles slider */
.brief-rel .ps-head h2 { margin: 6px 0 0; }
.brief-rel .ps-track { grid-auto-columns: calc((100% - 2 * 20px) / 3); gap: 20px; }
.brief-rel .ps-track .post-card { scroll-snap-align: start; height: 100%; }
@media (max-width: 1080px) { .brief-rel .ps-track { grid-auto-columns: calc((100% - 20px) / 2.2); } }
@media (max-width: 640px) { .brief-rel .ps-track { grid-auto-columns: 82%; } }

/* The Brief index: lead story, search and filters, pagination (26 Oct 2026) */
.brief-lead { display: grid; grid-template-columns: 1.25fr 1fr; background: #fff; border: 1px solid var(--line-light); text-decoration: none; color: var(--ink); margin-bottom: 40px; overflow: hidden; transition: box-shadow .2s; }
.brief-lead:hover { box-shadow: 0 20px 44px rgba(7,26,48,.12); }
.brief-lead[hidden] { display: none; }
.brief-lead-img img { width: 100%; height: 100%; object-fit: cover; display: block; aspect-ratio: 16 / 9; }
.brief-lead-text { padding: 40px 44px; display: flex; flex-direction: column; justify-content: center; }
.brief-lead-text h2 { font: 600 clamp(24px, 2.4vw, 34px)/1.2 var(--serif); text-transform: uppercase; letter-spacing: .03em; margin: 10px 0 14px; color: var(--ink); }
.brief-lead-text p { color: var(--muted-light); font-size: 16.5px; line-height: 1.65; margin: 0 0 18px; }
.brief-tools { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 12px; background: #08203F; padding: 14px; margin-bottom: 14px; }
.bt-search { display: flex; align-items: center; gap: 10px; background: #fff; padding: 0 14px; }
.bt-search svg { width: 18px; height: 18px; fill: none; stroke: #A07832; stroke-width: 2; stroke-linecap: round; flex: 0 0 18px; }
.bt-search input { all: unset; flex: 1; font: 400 15.5px/1 var(--sans); color: var(--ink); padding: 15px 0; }
.bt-select { position: relative; display: flex; flex-direction: column; justify-content: center; background: #fff; padding: 7px 14px; }
.bt-select span { font: 600 10px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: #A07832; }
.bt-select select { all: unset; cursor: pointer; font: 500 15px/1.4 var(--sans); color: var(--ink); padding-right: 22px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1 3l4 4 4-4' fill='none' stroke='%23111' stroke-width='1.5'/%3E%3C/svg%3E") right center / 10px no-repeat; }
.bt-search:focus-within, .bt-select:focus-within { outline: 2px solid var(--gilt); outline-offset: -2px; }
.bt-count { min-height: 1.4em; margin: 0 0 18px; font-size: 14px; color: var(--muted-light); }
.bt-empty { text-align: center; color: var(--muted-light); padding: 40px 0; }
.bt-pages { display: flex; justify-content: center; gap: 6px; margin-top: 40px; }
.bt-pages button { all: unset; cursor: pointer; min-width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--line-light); background: #fff; font: 600 14px/1 var(--sans); color: var(--ink); }
.bt-pages button:hover:not([disabled]) { border-color: var(--gilt); }
.bt-pages button[aria-current="page"] { background: #08203F; border-color: #08203F; color: #fff; }
.bt-pages button[disabled] { opacity: .35; cursor: default; }
@media (max-width: 900px) { .brief-lead { grid-template-columns: 1fr; } .brief-lead-text { padding: 28px 24px; } .brief-tools { grid-template-columns: 1fr 1fr; } .bt-search { grid-column: 1 / -1; } }
@media (max-width: 520px) { .brief-tools { grid-template-columns: 1fr; } }
/* Tax calculator: personal / company switch */
.tc-mode { display: inline-flex; background: #08203F; padding: 5px; gap: 4px; margin-bottom: 20px; }
.tc-mode button { all: unset; cursor: pointer; padding: 12px 26px; font: 600 13px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.7); }
.tc-mode button[aria-selected="true"] { background: var(--gilt); color: #071A30; }
.tc-mode button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.tc-hint { font-size: 14px; color: var(--muted-light); margin: 0 0 14px; }
#tc-personal[hidden], #tc-company[hidden], .tc-cards[hidden] { display: none; }

/* Compare programs page */
.cmp-filter { display: inline-flex; background: #08203F; padding: 5px; gap: 4px; margin-bottom: 20px; }
.cmp-filter button { all: unset; cursor: pointer; padding: 11px 22px; font: 600 12.5px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.7); }
.cmp-filter button[aria-pressed="true"] { background: var(--gilt); color: #071A30; }
.cmp-table { min-width: 1080px; }
.cmp-table td { font-size: 14.5px; vertical-align: top; white-space: normal; }
.cmp-group[hidden] { display: none; }
.cmp-head th { background: #08203F !important; color: var(--ivory); padding: 18px 20px !important; text-align: left; font-weight: 400; letter-spacing: 0; text-transform: none; }
.cmp-head-in { display: grid; grid-template-columns: 240px 1fr auto; gap: 24px; align-items: center; }
.cmp-head .card-type { color: var(--gilt); display: block; margin-bottom: 4px; }
.cmp-head-in > div > a { font: 600 18px/1.25 var(--sans); color: #fff; text-decoration: none; }
.cmp-head dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; }
.cmp-head dt { font: 600 10.5px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--gilt); margin-bottom: 5px; }
.cmp-head dd { margin: 0; font-size: 13.5px; line-height: 1.4; color: var(--muted-dark); }
.cmp-head .link-arrow { color: var(--gilt); white-space: nowrap; }
.cmp-table td:last-child { font-weight: 400; }

.prog-compare { justify-content: center; margin-top: 40px; }

.cmp-cols th { background: #EEF2F7 !important; color: var(--muted-light) !important; font: 600 10.5px/1.2 var(--sans) !important; letter-spacing: .12em; text-transform: uppercase; padding: 11px 14px !important; text-align: left; border-bottom: 1px solid #DCE3EC; }
.cmp-group + .cmp-group .cmp-head th { border-top: 22px solid #EEF2F7; }
.cmp-table { table-layout: fixed; width: 100%; }
.cmp-cols th, .cmp-table td { white-space: normal !important; overflow-wrap: anywhere; }
.cmp-cols th:nth-child(1) { width: 18%; } .cmp-cols th:nth-child(2) { width: 16%; } .cmp-cols th:nth-child(3) { width: 13%; } .cmp-cols th:nth-child(4) { width: 15%; } .cmp-cols th:nth-child(5) { width: 14%; } .cmp-cols th:nth-child(6) { width: 24%; }

.steps-5 { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 1100px) { .steps-5 { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px) { .steps-5 { grid-template-columns: 1fr; } }

/* Strategy session: varied sections */
.ss-head { max-width: 760px; margin-bottom: 44px; }
.ss-head .lede { margin-top: 16px; }
.hol-compare { display: grid; grid-template-columns: 1fr 1.15fr; gap: 24px; align-items: stretch; }
.hol-col { border: 1px solid var(--line-light); background: var(--paper); padding: 32px; display: flex; flex-direction: column; gap: 22px; }
.hol-col > p { margin: 0; color: var(--muted-light); }
.hol-tag { font: 600 11px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--muted-light); }
.hol-new { background: linear-gradient(160deg, #071A30, #0B2A4A); border-color: transparent; color: var(--ivory); }
.hol-new .hol-tag { color: var(--gilt); }
.hol-new > p { color: rgba(247,244,238,.75); }
.hol-silos { display: grid; gap: 14px; flex: 1; align-content: center; }
.hol-silo { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 20px; border: 1px dashed #B9C6D6; background: #F6F8FB; }
.hol-silo b { font-weight: 600; }
.hol-silo span { color: var(--muted-light); font-size: 14px; }
.hol-silo:nth-child(2) { margin-left: 22px; } .hol-silo:nth-child(3) { margin-left: 44px; }
.hol-ring { position: relative; width: 300px; height: 300px; margin: 6px auto; border-radius: 50%; border: 1px solid rgba(217,182,114,.35); flex: none; }
.hol-ring::before { content: ""; position: absolute; inset: 56px; border-radius: 50%; border: 1px dashed rgba(217,182,114,.25); }
.hol-core { position: absolute; inset: 50% auto auto 50%; transform: translate(-50%, -50%); width: 104px; height: 104px; border-radius: 50%; display: grid; place-items: center; text-align: center; background: linear-gradient(135deg, #B8913F, #E8CF8A 55%, #B8913F); color: #1A1305; font: 600 13px/1.2 var(--sans); letter-spacing: .1em; text-transform: uppercase; box-shadow: 0 0 0 10px rgba(217,182,114,.12); }
.hol-node { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) rotate(calc(var(--i) * 60deg - 90deg)) translate(150px) rotate(calc(var(--i) * -60deg + 90deg)); background: #0B2A4A; border: 1px solid rgba(217,182,114,.6); color: var(--ivory); font: 600 12.5px/1 var(--sans); padding: 9px 12px; border-radius: 999px; white-space: nowrap; }
.hol-foot { margin: 32px auto 0; max-width: 760px; text-align: center; color: var(--muted-light); font-size: 16px; }
.num-chips { list-style: none; padding: 0; margin: 0 0 48px; display: flex; flex-wrap: wrap; gap: 10px; }
.num-chips li { padding: 10px 16px; border: 1px solid rgba(217,182,114,.4); color: var(--ivory); font-size: 14.5px; border-radius: 999px; background: rgba(255,255,255,.03); }
.num-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--line-dark); }
.num-cols > div { padding: 28px 28px 0 0; }
.num-cols > div + div { padding-left: 28px; border-left: 1px solid var(--line-dark); }
.num-k { display: block; font: 600 12px/1 var(--sans); letter-spacing: .16em; color: var(--gilt); margin-bottom: 14px; }
.num-cols h3 { margin: 0 0 10px; font: 600 19px/1.3 var(--sans); text-transform: none; letter-spacing: 0; color: var(--ivory); }
.num-cols p { margin: 0; color: rgba(247,244,238,.72); line-height: 1.6; }
.rcv { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.rcv-card { padding: 34px; border: 1px solid var(--line-light); }
.rcv-card h3 { margin: 0 0 18px; font: 600 20px/1.3 var(--sans); text-transform: none; letter-spacing: 0; }
.rcv-card { display: flex; flex-direction: column; } .rcv-card > p { margin: auto 0 0; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line-light); }
.rcv-no { background: #F6F8FB; }
.rcv-no h3 { color: var(--muted-light); }
.rcv-yes { border: 1px solid var(--old-gold); box-shadow: 0 18px 40px -26px rgba(160,120,50,.55); }
.rcv-network { margin: 28px 0 0; max-width: 820px; color: var(--muted-light); }
@media (max-width: 900px) {
  .hol-compare, .rcv, .num-cols { grid-template-columns: 1fr; }
  .num-cols > div, .num-cols > div + div { padding: 24px 0 0; border-left: 0; }
  .hol-silo:nth-child(n) { margin-left: 0; }
  .hol-ring { transform: scale(.86); }
}

.hol-chaos { grid-template-columns: 1fr 1fr; gap: 10px 12px; align-content: start; }
.hol-chaos .hol-silo { flex-direction: column; align-items: flex-start; gap: 3px; padding: 12px 14px; margin: 0 !important; transform: rotate(var(--r)); box-shadow: 0 6px 14px -10px rgba(3,11,23,.35); background: #fff; }
.hol-chaos .hol-silo:nth-child(odd) { transform: rotate(var(--r)) translateX(6px); }
.hol-chaos .hol-silo:nth-child(4n+2) { transform: rotate(var(--r)) translate(-4px, 8px); }
.hol-chaos .hol-silo b { font-size: 14.5px; }
.hol-chaos .hol-silo span { font-size: 13px; }
.hol-node { font-size: 12px; padding: 8px 11px; }
.hol-node { transform: translate(-50%, -50%) rotate(calc(var(--i) * 45deg - 90deg)) translate(150px) rotate(calc(var(--i) * -45deg + 90deg)); }
.hol-ring { width: 320px; height: 320px; }
.hol-col { overflow: hidden; }
@media (max-width: 600px) {
  .hol-col { padding: 24px 18px; }
  .hol-ring { width: 260px; height: 260px; transform: none; }
  .hol-ring::before { inset: 46px; }
  .hol-core { width: 88px; height: 88px; font-size: 11px; }
  .hol-node { font-size: 11px; padding: 6px 9px; transform: translate(-50%, -50%) rotate(calc(var(--i) * 45deg - 90deg)) translate(118px) rotate(calc(var(--i) * -45deg + 90deg)); }
}

/* Settling in: after approval callout (dark process band on program pages) */
.after-callout { margin-top: 44px; display: flex; gap: 28px; align-items: flex-end; justify-content: space-between; padding: 28px 30px; border: 1px solid var(--line-dark); border-left: 3px solid var(--gilt); background: rgba(255,255,255,.04); }
.after-callout .eyebrow { color: var(--gilt); }
.after-callout h3 { font: 600 21px/1.3 var(--sans); margin: 6px 0 8px; color: var(--ivory); }
.after-callout p { color: rgba(247,244,238,.78); font-size: 15.5px; max-width: 680px; margin: 0; }
.after-callout .link-arrow { flex-shrink: 0; color: var(--gilt); }
.after-callout .after-chips span { background: transparent; border-color: var(--line-dark); color: var(--ivory); }
.after-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.after-chips span { font-size: 13.5px; line-height: 1.2; padding: 7px 12px; border: 1px solid var(--line-light); background: var(--ivory); color: var(--ink); }
.on-paper .after-chips span { background: #fff; }
@media (max-width: 900px) { .after-callout { flex-direction: column; align-items: flex-start; padding: 24px 22px; } }

/* Settling in page */
.settle-tax .lede { color: rgba(247,244,238,.85); }
.settle-tax-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 32px; }
.settle-tax-grid > div { border: 1px solid var(--line-dark); background: rgba(255,255,255,.03); padding: 26px 24px; }
.settle-tax-grid h3 { font: 600 19px/1.3 var(--sans); color: var(--ivory); margin: 0; }
.settle-tax-grid .ticks { font-size: 15px; color: rgba(247,244,238,.85); margin-top: 16px; }
@media (max-width: 680px) { .settle-tax-grid { grid-template-columns: 1fr; } }
.settle-countries { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.settle-countries a { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; border: 1px solid var(--line-light); background: var(--paper); color: var(--ink); text-decoration: none; font-weight: 600; font-size: 15.5px; transition: border-color .2s; }
.settle-countries a::after { content: "→"; color: var(--old-gold); font-weight: 400; }
.settle-countries a:hover { border-color: var(--old-gold); }
@media (max-width: 900px) { .settle-countries { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.jr-step p a { color: var(--old-gold); }
#content { overflow-x: clip; }

/* Pathways on phones: a plain vertical list instead of the proportional timeline, and the table as cards */
.pw-list, .pw-list-pass { display: none; }
@media (max-width: 1100px) {
  .pw-axis, .pw-bars, .pw-pres, .pw-pass { display: none !important; }
  .pw-track { padding-right: 0 !important; }
  .pw-list { display: block; list-style: none; margin: 4px 0 0; padding: 0 0 0 14px; border-left: 2px solid var(--line-light); }
  .pw-list li { position: relative; padding: 0 0 14px 4px; }
  .pw-list li::before { content: ""; position: absolute; left: -21px; top: 5px; width: 10px; height: 10px; border-radius: 50%; background: var(--paper); border: 2px solid var(--old-gold); }
  .pw-list b { display: block; font: 600 15px/1.3 var(--sans); color: var(--ink); }
  .pw-list span { display: block; font-size: 14px; color: var(--muted-light); margin-top: 2px; }
  .pw-list em { display: block; font-style: normal; font-size: 13.5px; color: var(--muted-light); margin-top: 2px; }
  .pw-list .pw-list-goal { padding-bottom: 0; }
  .pw-list .pw-list-goal::before { background: var(--old-gold); }
  .pw-list .pw-list-goal b { display: inline-block; background: #08203F; color: #fff; font-size: 13px; padding: 6px 10px; }
  .pw-list-pass { display: block; margin: 12px 0 0; font-size: 14px; font-weight: 600; color: #8A6A2C; }
  .pw-table table, .pw-table thead, .pw-table tbody, .pw-table tr, .pw-table td { display: block; width: 100%; }
  .pw-table thead { display: none; }
  .pw-table { overflow: visible; border: 0; }
  .pw-table tr { border: 1px solid var(--line-light); background: var(--paper); padding: 14px 16px; margin-bottom: 12px; }
  .pw-table td { border: 0 !important; padding: 5px 0 !important; font-size: 14.5px; }
  .pw-table td[data-label]:not(:first-child)::before { content: attr(data-label); display: block; font: 600 11px/1.4 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--muted-light); }
  .pw-table td:first-child { font-size: 16px; padding-bottom: 8px !important; }
}

/* Phones: smoother scrolling and no sideways drift */
html.menu-lock { overflow: hidden; }
.site-head .nav { overscroll-behavior: contain; }
@media (max-width: 1080px) { .site-head.menu-open .nav { max-height: calc(100dvh - 72px); -webkit-overflow-scrolling: touch; } }
@media (max-width: 900px) {
  .site-head { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgb(4,12,26); }
  .ptabs { backdrop-filter: none; -webkit-backdrop-filter: none; background: #fff; }
  .match, .keyfacts, .ps-badge, .login-card, .glabel { backdrop-filter: none; -webkit-backdrop-filter: none; }
  .keyfacts { background: rgba(7,26,48,.9); }
  .match { background: rgba(7,26,48,.92); }
}
body { overflow-x: clip; }
img, video, svg, iframe { max-width: 100%; }
h1, h2, h3 { overflow-wrap: break-word; }
@media (max-width: 360px) { .page-hero h1 { font-size: 28px; letter-spacing: .05em; } }
a, button, summary, label { -webkit-tap-highlight-color: rgba(217,182,114,.15); }
@media (max-width: 700px) { .pw-table td:last-child { white-space: normal; } }
.pw-table td:last-child { white-space: normal; }

/* Compare programs on phones: one card per program, one card per route */
@media (max-width: 760px) {
  .cmp-wrap { overflow: visible; border: 0; }
  .cmp-table, .cmp-table tbody, .cmp-table tr, .cmp-table th, .cmp-table td { display: block; width: 100% !important; min-width: 0 !important; }
  .cmp-table thead, .cmp-cols { display: none !important; }
  .cmp-group { margin-bottom: 26px; }
  .cmp-group + .cmp-group .cmp-head th { border-top: 0; }
  .cmp-head th { padding: 20px !important; }
  .cmp-head-in { grid-template-columns: 1fr; gap: 14px; }
  .cmp-head dl { grid-template-columns: 1fr 1fr; gap: 12px 16px; }
  .cmp-table tbody tr:not(.cmp-head) { border: 1px solid var(--line-light); border-top: 0; background: var(--paper); padding: 14px 18px; }
  .cmp-table td { border: 0 !important; padding: 5px 0 !important; }
  .cmp-table td[data-label]:not(:first-child)::before { content: attr(data-label); display: block; font: 600 10.5px/1.4 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--muted-light); }
  .cmp-table td:first-child { font-size: 16px; padding-bottom: 8px !important; }
}

/* Tax calculator table on phones: readable columns that scroll sideways, labels pinned */
@media (max-width: 760px) {
  .tc-table { table-layout: fixed !important; min-width: 0 !important; width: max-content !important; }
  .tc-table thead th:first-child, .tc-table tbody th { width: 128px !important; min-width: 128px; position: sticky; left: 0; z-index: 1; background: #F4F6F9; }
  .tc-table tr.tc-group th { position: sticky; left: 0; }
  .tc-table td, .tc-table thead th:not(:first-child) { width: 168px; min-width: 168px; overflow-wrap: normal !important; word-break: normal; hyphens: none; }
  .tc-table td { font-size: 14px; }
  .tc-table tbody th { white-space: normal !important; font-size: 12px; }
}
.login-band { min-height: calc(100svh - 74px); }

@media (min-width: 1101px) { .pw-goal span { white-space: normal; width: 136px; } }
/* Pathway bars: wrap stage names instead of cutting them off */
.pw-bars { height: auto !important; min-height: 46px; }
.pw-seg b, .pw-seg span { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
.pw-seg { padding: 7px 8px; justify-content: flex-start; }

/* Country guides */
.g-flag { width: 30px; height: 20px; object-fit: cover; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.12); flex: none; }
.g-eyebrow { display: inline-flex; align-items: center; gap: 10px; }
.g-eyebrow .g-flag { width: 24px; height: 16px; }
.g-glance-band { padding-bottom: 0; }
.g-glance { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 0; background: var(--line-light); border: 1px solid var(--line-light); }
.g-glance > div { background: var(--paper); padding: 20px 22px; }
.g-glance dt { font: 600 11px/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--old-gold); margin-bottom: 8px; }
.g-glance dd { margin: 0; font-size: 15.5px; line-height: 1.45; color: var(--ink); }
.g-disclaimer { display: flex; gap: 14px; align-items: flex-start; margin-top: 20px; padding: 18px 22px; background: #FBF6EA; border: 1px solid #EADBB8; border-left: 3px solid var(--old-gold); font-size: 14.5px; line-height: 1.6; color: var(--ink); }
.g-disclaimer svg { width: 22px; height: 22px; flex: none; fill: none; stroke: var(--old-gold); stroke-width: 1.8; stroke-linecap: round; margin-top: 1px; }
.g-disclaimer a { color: var(--old-gold); }
.g-grid { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 56px; align-items: start; }
.g-side { position: sticky; top: 100px; display: grid; gap: 20px; }
.g-toc { display: grid; gap: 2px; border-left: 2px solid var(--line-light); padding-left: 16px; }
.g-toc .card-type { margin-bottom: 8px; }
.g-toc a { color: var(--muted-light); text-decoration: none; font-size: 14.5px; padding: 5px 0; }
.g-toc a:hover { color: var(--ink); }
.g-cta { background: var(--hero-grad); color: var(--ivory); padding: 22px; }
.g-cta .card-type { color: var(--gilt); }
.g-cta p { font-size: 14.5px; color: rgba(247,244,238,.82); margin: 8px 0 16px; }
.g-article { max-width: 760px; }
.g-sec + .g-sec { margin-top: 48px; padding-top: 40px; border-top: 1px solid var(--line-light); }
.g-sec { scroll-margin-top: 96px; }
.g-sec h2 { font-family: var(--serif); font-weight: 600; text-transform: uppercase; letter-spacing: .07em; font-size: clamp(22px, 2.6vw, 28px); line-height: 1.2; margin: 0 0 16px; }
.g-sec p { color: var(--muted-light); font-size: 16.5px; line-height: 1.7; margin: 0 0 14px; }
.g-sec .ticks { margin-top: 8px; font-size: 16px; }
.g-steps { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 12px; }
.g-steps li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; padding: 16px 18px; background: var(--paper); border: 1px solid var(--line-light); }
.g-steps .n { font: 600 20px/1 var(--serif); color: var(--old-gold); padding-top: 2px; }
.g-steps h3 { font: 600 16.5px/1.35 var(--sans); margin: 0 0 4px; }
.g-steps p { font-size: 15px; margin: 0; line-height: 1.6; }
.g-fits { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.g-fit { display: flex; flex-direction: column; background: var(--paper); border: 1px solid var(--line-light); text-decoration: none; color: var(--ink); transition: border-color .2s; }
.g-fit:hover { border-color: var(--old-gold); }
.g-fit img { width: 100%; height: 170px; object-fit: cover; display: block; }
.g-fit > div { padding: 20px 22px 22px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.g-fit h3 { font: 600 19px/1.3 var(--sans); margin: 0; }
.g-fit p { color: var(--muted-light); font-size: 15px; margin: 0 0 6px; flex: 1; }
.g-mistakes { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.g-mistakes li { position: relative; padding: 16px 18px 16px 50px; background: var(--paper); border: 1px solid var(--line-light); font-size: 15.5px; line-height: 1.55; }
.g-mistakes li::before { content: ""; position: absolute; left: 18px; top: 19px; width: 16px; height: 16px; border-radius: 50%; border: 1.6px solid #B4553F; background: linear-gradient(45deg, transparent 45%, #B4553F 45%, #B4553F 55%, transparent 55%); }
.g-others { padding-top: 56px; padding-bottom: 56px; }
.g-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.g-chips a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid var(--line-light); background: var(--paper); color: var(--ink); text-decoration: none; font-size: 14px; }
.g-chips a:hover { border-color: var(--old-gold); }
.g-chips .g-flag { width: 20px; height: 14px; }
.g-pick { margin-top: 28px; max-width: 420px; }
.g-pick select { width: 100%; font: 500 16px/1.2 var(--sans); padding: 15px 44px 15px 16px; border: 1px solid rgba(217,182,114,.5); background: rgba(255,255,255,.06) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23D9B672' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center / 16px; color: var(--ivory); appearance: none; border-radius: 0; }
.g-pick select option { color: #111; }
.g-region + .g-region { margin-top: 40px; }
.g-region-h { font: 600 12px/1 var(--sans) !important; letter-spacing: .18em !important; text-transform: uppercase; color: var(--old-gold); margin: 0 0 16px; padding-bottom: 12px; border-bottom: 1px solid var(--line-light); }
.g-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.g-card { display: flex; gap: 14px; align-items: flex-start; padding: 18px 18px; background: var(--paper); border: 1px solid var(--line-light); text-decoration: none; color: var(--ink); transition: border-color .2s; }
.g-card:hover { border-color: var(--old-gold); }
.g-card .g-flag { margin-top: 3px; }
.g-card > div { flex: 1; min-width: 0; }
.g-card h3 { font: 600 17px/1.3 var(--sans); margin: 0 0 4px; }
.g-card p { color: var(--muted-light); font-size: 13.5px; line-height: 1.5; margin: 0; }
.g-arr { color: var(--old-gold); flex: none; margin-top: 2px; }
.g-arr svg { width: 14px; height: 14px; }
@media (max-width: 1000px) { .g-grid { grid-template-columns: 1fr; gap: 36px; } .g-side { position: static; } .g-toc { display: none; } .g-glance { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .g-glance { grid-template-columns: 1fr; } .g-sec p { font-size: 16px; } }
@media (max-width: 1000px) { .g-side { order: 2; } }
.g-sec p, .g-steps p, .g-mistakes li, .faq .answer p { overflow-wrap: break-word; }

/* Language suggestion bar (assets/site.js) */
.lang-hint{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:560px;margin:0 auto;display:flex;align-items:center;gap:14px;padding:14px 16px 14px 20px;background:linear-gradient(160deg,#061629,#0B2A4A);border:1px solid rgba(217,182,114,.45);border-radius:4px;box-shadow:0 18px 40px rgba(0,0,0,.45);color:#F7F4EE;font:500 15px/1.4 'Hanken Grotesk',sans-serif}
.lang-hint p{margin:0;flex:1}
.lang-hint-go{flex:none;padding:10px 16px;border-radius:2px;background:linear-gradient(135deg,#B8873A,#E8C77F 50%,#B8873A);color:#1A1205;font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.lang-hint-x{flex:none;width:32px;height:32px;border:0;background:none;color:#A8BDD3;font-size:22px;line-height:1;cursor:pointer}
.lang-hint-x:hover{color:#F7F4EE}
@media (max-width:480px){.lang-hint{flex-wrap:wrap;padding:14px}.lang-hint p{flex-basis:calc(100% - 46px)}.lang-hint-go{flex:1;text-align:center}}

/* Narrow screens: segmented controls and the Brief pager fit longer (Spanish) labels (28 Oct 2026) */
@media (max-width: 560px) {
  .cmp-filter, .tc-mode { display: flex; width: 100%; box-sizing: border-box; }
  .cmp-filter button, .tc-mode button { flex: 1 1 0; min-width: 0; padding: 12px 8px; text-align: center; letter-spacing: .08em; font-size: 11.5px; line-height: 1.25; }
  .bt-pages { flex-wrap: wrap; justify-content: center; row-gap: 8px; }
}

/* Language menu: a linked language must look exactly like the others (".drop-panel a" is display:block) */
.drop-panel a.lang-item { display: flex; padding: 7px 0; font-size: 15px; }
.btn { text-align: center; }
@media (max-width: 560px) { .cmp-filter button, .tc-mode button { flex: 1 1 auto; } }

/* Cookie choice banner (assets/analytics.js) */
.consent { position: fixed; z-index: 90; left: 16px; right: 16px; bottom: 16px; max-width: 560px; margin-left: auto; background: var(--obsidian-2); color: var(--ivory); border: 1px solid var(--line-dark); border-radius: 4px; padding: 18px 20px; box-shadow: 0 12px 40px rgba(0,0,0,.35); display: grid; gap: 14px; }
.consent p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--muted-dark); max-width: none; }
.consent p a { color: var(--gilt); text-decoration: underline; text-underline-offset: 2px; }
.consent-actions { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; }
.consent-actions .btn { padding: 12px 22px; font-size: 12px; min-width: 110px; justify-content: center; }
.consent-actions .btn-line { border-color: var(--line-dark); color: var(--ivory); background: transparent; }
.legal-links .consent-link { background: none; border: 0; padding: 0; margin: 0; color: var(--muted-dark); font: inherit; cursor: pointer; }
.legal-links .consent-link:hover { color: var(--gilt); }
@media (max-width: 480px) { .consent { left: 10px; right: 10px; bottom: 10px; } .consent-actions .btn { flex: 1; } }

/* Program waiting list (programs with p.waitlist, e.g. Argentina): status, key dates, pending items and sign up */
.wl { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.wl-copy .lede { max-width: 680px; }
.wl-h { font: 600 13px/1.2 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--old-gold); margin: 36px 0 14px; }
.wl-dates { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--gilt); }
.wl-dates li { position: relative; padding: 0 0 18px 24px; }
.wl-dates li::before { content: ""; position: absolute; left: -7px; top: 5px; width: 12px; height: 12px; border-radius: 50%; background: var(--paper); border: 2px solid var(--gilt); }
.wl-dates li:last-child { padding-bottom: 0; }
.wl-d { display: block; font: 600 14px/1.3 var(--sans); color: var(--ink); margin-bottom: 4px; }
.wl-dates p { margin: 0; color: var(--muted-light); font-size: 15px; line-height: 1.6; max-width: 640px; }
.wl-pending { margin: 0; padding-left: 20px; display: grid; gap: 8px; color: var(--muted-light); }
.wl-card { position: sticky; top: 150px; background: var(--hero-grad); color: var(--ivory); border-radius: 4px; padding: 32px 30px 26px; box-shadow: 0 18px 50px rgba(6,22,41,.25); }
.wl-card h3 { font: 600 22px/1.25 var(--serif); letter-spacing: .06em; text-transform: uppercase; margin: 6px 0 10px; color: #fff; }
.wl-card .eyebrow { color: var(--gilt); }
.wl-card > p { color: var(--muted-dark); margin: 0 0 18px; font-size: 15px; }
.wl-card .newsletter-row input { background: rgba(3,11,23,.55); }
.wl-card .newsletter-status { color: var(--ivory); }
.wl-card .newsletter-status[data-kind="error"] { color: #ffb4a8; }
.wl-fine { font-size: 13px; color: var(--muted-dark); margin: 6px 0 0; }
.wl-fine a { color: var(--gilt); }
@media (max-width: 960px) { .wl { grid-template-columns: 1fr; gap: 36px; } .wl-card { position: static; } }
@media (max-width: 420px) { .wl-card { padding: 26px 20px 22px; } .wl-card .newsletter-row { flex-direction: column; } .wl-card .newsletter-row button { padding: 14px 20px; } }

/* Website chat assistant (assets/chat.js) */
.aechat-launch { position: fixed; right: 22px; bottom: 92px; z-index: 61; height: 50px; padding: 0 18px 0 14px; border: 0; border-radius: 25px; display: flex; align-items: center; gap: 8px; cursor: pointer; font: 600 14px/1 var(--sans); color: #1A1205; background: linear-gradient(135deg, #B8873A, #E8C77F 50%, #B8873A); box-shadow: 0 8px 24px rgba(0,0,0,.35); transition: transform .15s; }
.aechat-launch:hover { transform: translateY(-2px); }
.aechat-launch svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.aechat.is-open .aechat-launch { display: none; }
.aechat-panel { position: fixed; right: 22px; bottom: 22px; z-index: 70; width: 380px; max-width: calc(100vw - 32px); height: min(600px, calc(100vh - 44px)); display: flex; flex-direction: column; background: #FFFFFF; color: #111827; border-radius: 14px; overflow: hidden; box-shadow: 0 24px 60px rgba(3,11,23,.45); }
.aechat-panel[hidden] { display: none; }
.aechat-panel header { display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: var(--hero-grad, #061629); color: #fff; }
.aechat-panel header div { flex: 1; min-width: 0; }
.aechat-panel header b { display: block; font: 600 15px/1.2 var(--serif); letter-spacing: .08em; text-transform: uppercase; }
.aechat-panel header small { color: #B9C4D4; font-size: 12.5px; }
.aechat-x { border: 0; background: none; color: #fff; font-size: 26px; line-height: 1; cursor: pointer; padding: 4px 6px; }
.aechat-list { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; background: #F5F7FA; overscroll-behavior: contain; }
.aechat-msg { max-width: 88%; padding: 10px 13px; border-radius: 12px; font-size: 14.5px; line-height: 1.55; overflow-wrap: anywhere; }
.aechat-msg p { margin: 0 0 6px; } .aechat-msg p:last-child { margin: 0; }
.aechat-msg ul { margin: 4px 0 6px; padding-left: 18px; } .aechat-msg li { margin: 2px 0; }
.aechat-msg a { color: #8A6424; text-decoration: underline; }
.aechat-msg.bot { align-self: flex-start; background: #FFFFFF; border: 1px solid #E3E8EF; }
.aechat-msg.me { align-self: flex-end; background: #0B2A4A; color: #fff; }
.aechat-ideas { display: flex; flex-wrap: wrap; gap: 6px; }
.aechat-ideas button { border: 1px solid #D5DCE6; background: #fff; color: #0B2A4A; border-radius: 16px; padding: 7px 12px; font: 500 13px/1.3 var(--sans); cursor: pointer; text-align: left; }
.aechat-ideas button:hover { border-color: #A07832; }
.aechat-dots { display: flex; gap: 4px; padding: 4px 0; } .aechat-dots i { width: 7px; height: 7px; border-radius: 50%; background: #9AA6B6; animation: aechat-b 1s infinite ease-in-out; } .aechat-dots i:nth-child(2) { animation-delay: .15s; } .aechat-dots i:nth-child(3) { animation-delay: .3s; }
@keyframes aechat-b { 0%, 80%, 100% { opacity: .3; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }
.aechat-form { display: flex; gap: 8px; padding: 10px 12px; border-top: 1px solid #E3E8EF; background: #fff; }
.aechat-form textarea { flex: 1; resize: none; border: 1px solid #D5DCE6; border-radius: 10px; padding: 10px 12px; font: 400 15px/1.4 var(--sans); color: #111827; max-height: 120px; }
.aechat-form textarea:focus { outline: 2px solid #D9B672; outline-offset: 0; border-color: #D9B672; }
.aechat-form button { width: 44px; border: 0; border-radius: 10px; background: #0B2A4A; color: #fff; cursor: pointer; display: grid; place-items: center; }
.aechat-form button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; }
.aechat-panel footer { padding: 8px 14px 10px; font-size: 12px; color: #6B7686; background: #fff; display: flex; flex-wrap: wrap; gap: 4px 10px; justify-content: space-between; align-items: center; }
.aechat-human { border: 0; background: none; padding: 0; color: #8A6424; font: 600 12.5px var(--sans); text-decoration: underline; cursor: pointer; }
.aechat-lead form { display: grid; gap: 6px; margin-top: 8px; }
.aechat-lead input { border: 1px solid #D5DCE6; border-radius: 8px; padding: 9px 10px; font: 400 14px var(--sans); }
.aechat-lead button { border: 0; border-radius: 8px; padding: 10px; background: #0B2A4A; color: #fff; font: 600 13.5px var(--sans); cursor: pointer; }
.aechat-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.aechat-st { color: #A8471E; }
@media (max-width: 600px) {
  .aechat-launch { right: 16px; bottom: 82px; height: 46px; }
  .aechat-panel { right: 0; bottom: 0; width: 100vw; max-width: 100vw; height: 100dvh; border-radius: 0; }
  html.aechat-lock, html.aechat-lock body { overflow: hidden; }
}

/* German compounds (Unternehmensstrukturierung, Staatsbürgerschaft) can be wider than a phone column: let them wrap
   inside the word without a visible hyphen rather than push the page sideways. */
html[lang="de"] h1, html[lang="de"] h2, html[lang="de"] h3, html[lang="de"] .btn, html[lang="de"] button { overflow-wrap: break-word; hyphens: manual; }
html[lang="de"] .foot-cols a, html[lang="de"] .foot-cols h4 { overflow-wrap: anywhere; hyphens: manual; }
html[lang="de"] .hero-copy .display { font-size: clamp(28px, 3.6vw, 50px); }
html[lang="de"] .foot-cols h4 { letter-spacing: .1em; }
html[lang="de"] .band-head > *, html[lang="de"] .ps-head > * { min-width: 0; }
