/* Layout concept: editorial 12-col grid on white, a quiet section rhythm (white · sage · white · ink),
   headline-left / aside-right section openers taken from the current Lookup site, gold used only for action. */
:root{
  color-scheme: light;
  /* Brand colour — from the current site */
  --gold:#FFB200; --gold-hover:#F0A500; --gold-soft:#FFF4D6; --gold-ink:#6B4A00;
  /* Neutrals — cool ink with a faint green bias, matching the reference */
  --ink:#0B141A; --ink-2:#131D24; --ink-3:#1B262E; --ink-line:#26323B; --ink-muted:#9AA6AE;
  --text:#0B141A; --text-2:#35424B; --muted:#5E6A72; --faint:#8B959C;
  --bg:#FFFFFF; --sage:#EDF2EC; --paper:#F3F2ED; --mist:#EEF1F3;
  --line:#E2E5E1; --line-2:#D3D8D4;
  --success:#1F7A4D; --error:#B3261E;
  /* Type */
  --f-display:"Plus Jakarta Sans", ui-sans-serif, system-ui, "Segoe UI", sans-serif;
  --f-body:"Inter", ui-sans-serif, system-ui, "Segoe UI", Roboto, sans-serif;
  --f-label:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace; /* swap to var(--f-body) for Inter labels */
  --t-h1:clamp(2.5rem, 1.4rem + 4vw, 4.4rem);
  --t-h2:clamp(2rem, 1.3rem + 2.4vw, 3.2rem);
  --t-h3:clamp(1.4rem, 1.2rem + .6vw, 1.8rem);
  --t-h4:1.25rem;
  --t-body:clamp(1.0rem, .96rem + .2vw, 1.125rem);
  --t-small:.9375rem; --t-xs:.8125rem; --t-label:.72rem; --t-btn:.9375rem;
  /* Spacing scale (4px base) */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px; --s9:96px; --s10:128px;
  --section:clamp(72px, 5vw + 48px, 128px);
  --gutter:clamp(16px, 4vw, 40px);
  --max:1200px; --max-wide:1360px;
  --r-sm:10px; --r:16px; --r-lg:24px; --r-pill:999px;
  /* Modern Web Layered Shadow System (Modern Web Guidance) */
  --sh-xs: 0 1px 2px rgba(11,20,26,.04);
  --sh-sm: 0 2px 6px -1px rgba(11,20,26,.06), 0 1px 3px rgba(11,20,26,.04);
  --sh-md: 0 6px 16px -2px rgba(11,20,26,.08), 0 2px 6px -1px rgba(11,20,26,.04);
  --sh-lg: 0 16px 36px -4px rgba(11,20,26,.12), 0 6px 16px -2px rgba(11,20,26,.06);
  --sh-xl: 0 24px 60px -8px rgba(11,20,26,.18), 0 12px 24px -4px rgba(11,20,26,.08);
  --sh-glow: 0 0 0 1px rgba(255,178,0,0.3), 0 14px 40px -8px rgba(255,178,0,0.35);
  --sh-ink: 0 20px 50px rgba(0,0,0,0.5);
  --shadow: var(--sh-md);
  --ease: cubic-bezier(.16, 1, .3, 1);
  --in-oklab: ;
  --in-oklch: ;
}
@supports (linear-gradient(in oklab, white, black)) {
  :root {
    --in-oklab: in oklab;
    --in-oklch: in oklch;
  }
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--f-body);font-size:var(--t-body);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
h1,h2,h3,h4{font-family:var(--f-display);margin:0;letter-spacing:-.025em;text-wrap:balance;color:inherit}
h1{font-size:var(--t-h1);line-height:1.02;font-weight:700;letter-spacing:-.035em}
h2{font-size:var(--t-h2);line-height:1.08;font-weight:700}
h3{font-size:var(--t-h3);line-height:1.2;font-weight:700}
h4{font-size:var(--t-h4);line-height:1.3;font-weight:700;letter-spacing:-.015em}
p{margin:0;text-wrap:pretty;max-width:68ch}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.icon{width:1em;height:1em;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.wrap{max-width:calc(var(--max) + 2*var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.wrap-wide{max-width:calc(var(--max-wide) + 2*var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--section)}
.bg-sage{background:var(--sage)} .bg-paper{background:var(--paper)} .bg-ink{background:var(--ink);color:#fff}

/* ---------- Label system ---------- */
.label{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-label);font-size:var(--t-label);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);background:var(--bg);border:1px solid var(--line);padding:5px 12px 5px 10px;border-radius:var(--r-pill);line-height:1.3}
.label::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);flex:none}
.bg-sage .label,.bg-paper .label{background:rgba(255,255,255,.75)}
.bg-ink .label,.on-ink .label{background:var(--ink-3);border-color:var(--ink-line);color:#C9D1D6}
.meta{font-family:var(--f-label);font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* ---------- Section opener: headline left, aside right (from reference) ---------- */
.opener{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--s6) var(--s8);align-items:end;margin-bottom:var(--s8)}
.opener .lede{display:grid;gap:var(--s4);justify-items:start}
.opener h2{margin-top:var(--s4)}
.aside{color:var(--text-2);max-width:46ch;display:grid;gap:var(--s4);justify-items:start}
.bg-ink .aside,.on-ink .aside{color:var(--ink-muted)}

/* ---------- Buttons ---------- */
.btn{--h:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:var(--h);padding:0 22px;border-radius:var(--r-pill);font-family:var(--f-body);font-size:var(--t-btn);font-weight:600;text-decoration:none;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}
.btn .icon{font-size:1.05em;transition:transform .25s var(--ease)}
.btn:hover .icon{transform:translateX(3px)}
.btn-primary{background:var(--gold);color:var(--ink)}
.btn-primary:hover{background:var(--gold-hover)}
.btn-primary:active{transform:translateY(1px)}
.btn-secondary{background:transparent;border-color:var(--line-2);color:var(--text)}
.btn-secondary:hover{border-color:var(--text);background:rgba(11,20,26,.03)}
.on-ink .btn-secondary,.bg-ink .btn-secondary,.hero .btn-secondary{border-color:rgba(255,255,255,.35);color:#fff}
.on-ink .btn-secondary:hover,.bg-ink .btn-secondary:hover,.hero .btn-secondary:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn-sm{--h:40px;padding:0 18px;font-size:.875rem}
.btn[disabled],.btn[aria-disabled="true"]{background:var(--mist);color:var(--faint);border-color:transparent;cursor:not-allowed}
.btn-text{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:var(--t-small);text-decoration:none;color:var(--text);border-bottom:1px solid transparent;padding-bottom:2px;transition:border-color .2s}
.btn-text:hover{border-color:currentColor}
.btn-text .icon{font-size:.95em}
.btn-round{width:40px;height:40px;border-radius:50%;display:inline-grid;place-items:center;border:1px solid var(--line-2);background:var(--bg);color:var(--text);text-decoration:none;transition:background .2s,border-color .2s,transform .25s var(--ease)}
.btn-round:hover{background:var(--gold);border-color:var(--gold)}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* ---------- Editorial note (content to confirm) ---------- */
.note{display:inline-flex;gap:8px;align-items:flex-start;font-family:var(--f-label);font-size:.7rem;letter-spacing:.02em;line-height:1.5;color:var(--gold-ink);background:var(--gold-soft);border-radius:8px;padding:6px 10px}
.note::before{content:"CONFIRM";font-weight:500;letter-spacing:.1em;opacity:.8}
.on-ink .note,.bg-ink .note{background:rgba(255,178,0,.12);color:#F5CF72}

/* ---------- NAV ---------- */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid transparent;transition:border-color .2s}
.nav.scrolled{border-bottom-color:var(--line)}
.nav-in{display:flex;align-items:center;gap:var(--s6);height:72px}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--f-display);font-weight:800;font-size:1.28rem;letter-spacing:-.03em;color:var(--text)}
.logo-mark{width:30px;height:30px;border-radius:8px;background:var(--ink);display:grid;place-items:center}
.nav-links{display:flex;gap:4px;margin:0 auto;padding:0;list-style:none}
.nav-links a{display:block;padding:8px 14px;border-radius:var(--r-pill);font-size:.9rem;font-weight:500;color:var(--text-2);text-decoration:none;transition:background .2s,color .2s}
.nav-links a:hover{background:var(--mist);color:var(--text)}
.nav-links a[aria-current="page"]{color:var(--text);font-weight:600}
.nav-cta{display:flex;align-items:center;gap:8px}
.user-dropdown-item:hover{background:rgba(255,255,255,0.08)!important}
.nav-burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:var(--bg);place-items:center;cursor:pointer}
.nav-burger .icon{font-size:20px}
.drawer{position:fixed;inset:0;z-index:60;background:var(--bg);padding:calc(env(safe-area-inset-top,0px) + 16px) var(--gutter) calc(env(safe-area-inset-bottom,0px) + 24px);display:flex;flex-direction:column;gap:var(--s6);overflow:auto}
.drawer-top{display:flex;justify-content:space-between;align-items:center;height:56px}
.drawer ul{list-style:none;margin:0;padding:0;display:grid}
.drawer li a{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);font-family:var(--f-display);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;text-decoration:none}
.drawer .btn{width:100%}

/* ---------- HERO ---------- */
.hero-wrap{padding-top:var(--s3)}
.hero{position:relative;border-radius:var(--r-lg);overflow:hidden;color:#fff;min-height:clamp(560px, 62vw, 720px);display:grid;align-items:end;isolation:isolate}
.hero-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 40%;transform:scale(1.02);animation:heroIn 1.4s var(--ease) both}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg, rgba(11,20,26,.86) 0%, rgba(11,20,26,.62) 42%, rgba(11,20,26,.18) 75%, rgba(11,20,26,.1) 100%),
  linear-gradient(0deg, rgba(11,20,26,.7) 0%, rgba(11,20,26,0) 45%)}
.hero-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s7);align-items:end;padding:clamp(28px,5vw,72px)}
.hero-copy{display:grid;gap:var(--s5);max-width:800px;animation:rise .9s .1s var(--ease) both}
.hero .label{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);color:#EEF1F3;backdrop-filter:blur(6px);justify-self:start}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero-sub{font-size:clamp(1.05rem,1rem + .3vw,1.25rem);line-height:1.55;color:rgba(255,255,255,.86);max-width:52ch}
.hero-trust{display:flex;align-items:center;gap:12px;font-size:var(--t-small);color:rgba(255,255,255,.8);padding-top:var(--s2)}
.hero-trust .dots{display:flex}
.hero-trust .dots span{width:28px;height:28px;border-radius:50%;border:2px solid rgba(11,20,26,.9);margin-left:-8px;background:#C9D6DF;display:grid;place-items:center;font-size:.62rem;font-weight:600;color:var(--ink)}
.hero-trust .dots span:first-child{margin-left:0;background:var(--gold)}
.hero-trust .dots span:nth-child(3){background:#D9E4D6}
.counsellor-chip{width:300px;background:rgba(255,255,255,.96);color:var(--text);border-radius:var(--r);padding:18px;display:grid;gap:14px;box-shadow:0 20px 40px -20px rgba(0,0,0,.5);animation:rise .9s .35s var(--ease) both}
.cc-head{display:flex;gap:12px;align-items:center}
.avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#E9EEE7,#D5DDD2);display:grid;place-items:center;font-family:var(--f-display);font-weight:700;font-size:.9rem;color:var(--text-2);flex:none;position:relative}
.avatar::after{content:"";position:absolute;right:0;bottom:1px;width:10px;height:10px;border-radius:50%;background:#2FB36B;border:2px solid #fff}
.cc-head strong{display:block;font-size:.95rem;line-height:1.3}
.cc-head span{font-size:.8rem;color:var(--muted)}
.cc-steps{display:flex;gap:4px}
.cc-steps i{flex:1;height:4px;border-radius:4px;background:var(--line)}
.cc-steps i.on{background:var(--gold)}
.cc-foot{display:flex;justify-content:space-between;font-size:.78rem;color:var(--muted)}
.cc-foot b{color:var(--text);font-weight:600}

/* ---------- TRUST STRIP ---------- */
.trust{padding-block:var(--s7) 0}
.trust-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust-item{padding:var(--s5) var(--s5) var(--s5) 0;display:grid;gap:6px;align-content:start}
.trust-item + .trust-item{padding-left:var(--s5);border-left:1px solid var(--line)}
.trust-item .ti-top{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:700;font-size:1.15rem;letter-spacing:-.02em}
.trust-item .ti-top .icon{font-size:20px;color:var(--gold-ink)}
.trust-item p{font-size:var(--t-small);color:var(--muted);line-height:1.5}

/* ---------- START HERE ---------- */
.choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.choice{appearance:none;text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:22px 22px 20px;cursor:pointer;display:grid;gap:6px;grid-template-columns:1fr auto;align-items:start;transition:border-color .2s,background .2s,box-shadow .2s}
.choice:hover{border-color:var(--line-2);box-shadow:var(--shadow)}
.choice .c-ico{grid-column:1/-1;width:40px;height:40px;border-radius:12px;background:var(--mist);display:grid;place-items:center;margin-bottom:10px;transition:background .2s}
.choice .c-ico .icon{font-size:20px}
.choice strong{font-family:var(--f-display);font-size:1.15rem;letter-spacing:-.02em;line-height:1.3}
.choice span{grid-column:1;font-size:var(--t-small);color:var(--muted)}
.choice .c-radio{grid-row:2/4;grid-column:2;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line-2);align-self:center;display:grid;place-items:center;transition:border-color .2s}
.choice[aria-selected="true"]{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.choice[aria-selected="true"] .c-ico{background:var(--gold)}
.choice[aria-selected="true"] .c-radio{border-color:var(--ink);background:radial-gradient(circle,var(--ink) 0 5px,transparent 6px)}
.reveal-panel{margin-top:var(--s5);border-radius:var(--r);background:var(--paper);padding:clamp(20px,3vw,32px);animation:fadeUp .35s var(--ease)}
.rp-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:var(--s5)}
.rp-head p{color:var(--text-2);font-size:var(--t-small);max-width:60ch}
.chip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dest-chip{display:flex;align-items:center;gap:14px;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:12px 14px;text-decoration:none;transition:border-color .2s,transform .2s var(--ease)}
.dest-chip:hover{border-color:var(--ink)}
.dest-chip:hover .icon{transform:translate(2px,-2px)}
.dest-chip .icon{margin-left:auto;transition:transform .2s}
.dest-chip b{display:block;font-family:var(--f-display);font-weight:700;font-size:1rem;letter-spacing:-.01em}
.dest-chip small{font-size:.78rem;color:var(--muted)}
.flag{width:28px;height:20px;border-radius:4px;overflow:hidden;flex:none;box-shadow:0 0 0 1px rgba(11,20,26,.08)}
.flag svg{width:100%;height:100%;display:block}
.field-chip{display:grid;gap:4px;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:14px 16px;text-decoration:none;transition:border-color .2s}
.field-chip:hover{border-color:var(--ink)}
.field-chip b{font-family:var(--f-display);font-size:1rem;letter-spacing:-.01em}
.field-chip span{font-size:.8rem;color:var(--muted);line-height:1.45}
.help-panel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--s5);align-items:center}
.help-panel .avatar{width:56px;height:56px}
.help-panel p{color:var(--text-2);font-size:var(--t-small)}

/* ---------- DESTINATIONS ---------- */
.dest{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:stretch}
.feature{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:560px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;background:var(--ink)}
.feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .45s var(--ease),transform 1.2s var(--ease)}
.feature:hover img{transform:scale(1.03)}
.feature::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,20,26,.92) 0%,rgba(11,20,26,.55) 45%,rgba(11,20,26,0) 75%)}
.feature-body{position:relative;z-index:1;padding:clamp(22px,3vw,36px);display:grid;gap:14px}
.feature-body .tagline{display:flex;align-items:center;gap:10px}
.feature-body .tagline .meta{color:#DDE3E6}
.feature-body h3{font-size:clamp(2rem,1.4rem + 2vw,3rem);letter-spacing:-.035em}
.feature-body p{color:rgba(255,255,255,.85);max-width:44ch}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.18);border-radius:12px;overflow:hidden;margin-top:6px}
.facts div{background:rgba(11,20,26,.55);backdrop-filter:blur(6px);padding:12px 14px;display:grid;gap:2px}
.facts dt{font-family:var(--f-label);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:#AEB9BF}
.facts dd{margin:0;font-weight:600;font-size:.92rem}
.feature .btn{justify-self:start;margin-top:6px}
.dest-list{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid var(--line-2)}
.dest-item{border-bottom:1px solid var(--line-2)}
.dest-btn{appearance:none;background:none;border:0;width:100%;text-align:left;cursor:pointer;display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:20px 4px;transition:padding .25s var(--ease)}
.dest-btn .d-name{font-family:var(--f-display);font-weight:700;font-size:clamp(1.25rem,1.1rem + .5vw,1.6rem);letter-spacing:-.025em;line-height:1.2}
.dest-btn .d-line{display:block;font-size:.88rem;color:var(--muted);margin-top:4px;line-height:1.45}
.dest-btn .d-intake{font-family:var(--f-label);font-size:.7rem;letter-spacing:.08em;background:rgba(255,255,255,.8);border:1px solid var(--line);padding:4px 8px;border-radius:6px;color:var(--text-2);white-space:nowrap}
.dest-btn .d-arrow{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-2);transition:background .2s,border-color .2s,transform .25s var(--ease)}
.dest-btn:hover{padding-left:12px}
.dest-btn:hover .d-arrow,.dest-btn[aria-pressed="true"] .d-arrow{background:var(--gold);border-color:var(--gold)}
.dest-btn[aria-pressed="true"] .d-name{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:3px;text-underline-offset:6px}
.dest-foot{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;margin-top:var(--s5)}

/* ---------- INTAKES ---------- */
.intake-shell{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.intake-scroll{overflow-x:auto}
.intake{width:100%;border-collapse:collapse;min-width:880px;font-size:var(--t-small)}
.intake th,.intake td{padding:18px 20px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--line)}
.intake thead th{font-family:var(--f-label);font-weight:500;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:var(--paper);padding-block:14px}
.intake tbody tr{transition:background .2s}
.intake tbody tr:hover{background:#FAFAF7}
.intake tbody tr:last-child td{border-bottom:0}
.intake .c-dest{display:flex;align-items:center;gap:12px;font-family:var(--f-display);font-weight:700;font-size:1.05rem;letter-spacing:-.015em;white-space:nowrap}
.months{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;min-width:300px}
.months span{height:28px;border-radius:5px;background:var(--mist);display:grid;place-items:center;font-family:var(--f-label);font-size:.6rem;color:var(--faint);letter-spacing:.02em}
.months span.on{background:var(--gold);color:var(--ink);font-weight:500}
.months span.dim{opacity:.35}
.intake .c-when{font-weight:600;white-space:nowrap}
.intake .c-note{color:var(--text-2);max-width:32ch}
.intake-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
.month-filter{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.month-filter .meta{margin-right:6px}
.mf{appearance:none;border:1px solid var(--line);background:var(--bg);border-radius:var(--r-pill);padding:6px 12px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}
.mf:hover{border-color:var(--ink)}
.mf[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.intake tr.faded{opacity:.35}
.intake-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-top:var(--s5)}
.intake-foot p{font-size:var(--t-xs);color:var(--muted);max-width:62ch}
.intake-cards{display:none}

/* ---------- CTA BANNER ---------- */
.banner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--ink);color:#fff;border-radius:var(--r-lg);overflow:hidden;min-height:520px}
.banner-img{position:relative;min-height:320px}
.banner-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:40% 50%}
.banner-img figcaption{position:absolute;left:20px;bottom:20px;display:flex;align-items:center;gap:10px;background:rgba(11,20,26,.72);backdrop-filter:blur(8px);padding:10px 14px 10px 10px;border-radius:var(--r-pill);font-size:.8rem;color:#E6EAEC}
.banner-img figcaption i{width:8px;height:8px;border-radius:50%;background:#2FB36B;box-shadow:0 0 0 4px rgba(47,179,107,.25)}
.banner-body{padding:clamp(32px,5vw,72px);display:grid;gap:var(--s5);align-content:center}
.banner-body h2{font-size:clamp(2rem,1.3rem + 2.2vw,3rem)}
.banner-body p{color:var(--ink-muted);max-width:44ch}
.ticks{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;padding:0;margin:0;font-size:.85rem;color:#C9D1D6}
.ticks li{display:flex;align-items:center;gap:8px}
.ticks .icon{color:var(--gold)}

/* ---------- TESTIMONIALS ---------- */
.stories{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(20px,3vw,40px)}
.story-lead{display:grid;grid-template-rows:auto 1fr;background:var(--bg);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line)}
.story-lead .img{aspect-ratio:16/8;position:relative;max-width:100%}
.story-lead .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.story-body{padding:clamp(22px,3vw,36px);display:grid;gap:var(--s5);align-content:start}
.quote{font-family:var(--f-display);font-weight:600;font-size:clamp(1.3rem,1.1rem + .8vw,1.75rem);line-height:1.3;letter-spacing:-.02em;color:var(--text)}
.quote::before{content:"\201C";color:var(--gold);margin-right:2px}
.quote::after{content:"\201D";color:var(--gold)}
.who{display:flex;gap:14px;align-items:center}
.who .avatar{width:44px;height:44px}
.who .avatar::after{display:none}
.who b{display:block;font-size:.95rem}
.who small{display:block;font-size:.8rem;color:var(--muted)}
.changed{display:flex;gap:10px;align-items:center;font-size:.82rem;color:var(--text-2);padding-top:var(--s4);border-top:1px solid var(--line)}
.changed .tag{font-family:var(--f-label);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;background:var(--sage);color:#2D4A36;padding:4px 8px;border-radius:6px;white-space:nowrap}
.story-list{display:grid;gap:12px;align-content:start}
.story{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:grid;gap:16px;transition:border-color .2s,box-shadow .2s}
.story:hover{border-color:var(--line-2);box-shadow:var(--shadow)}
.story .quote{font-size:1.1rem;line-height:1.4}
.consent-line{margin-top:var(--s6);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}

/* ---------- HOW WE WORK ---------- */
.process{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.process::before{content:"";position:absolute;left:0;right:0;top:27px;height:2px;background:repeating-linear-gradient(90deg,var(--line-2) 0 6px,transparent 6px 12px)}
.step{position:relative;padding-right:clamp(16px,2.4vw,36px);display:grid;gap:14px;align-content:start}
.step-node{position:relative;z-index:1;width:56px;height:56px;border-radius:50%;background:var(--bg);border:1.5px solid var(--ink);display:grid;place-items:center;transition:background .25s,transform .25s var(--ease)}
.step-node .icon{font-size:22px}
.step:hover .step-node{background:var(--gold);border-color:var(--gold);transform:translateY(-2px)}
.step .meta{margin-top:10px}
.step p{font-size:var(--t-small);color:var(--text-2);line-height:1.6}
.step .answers{margin-top:4px;padding:14px 16px;background:var(--paper);border-radius:12px;font-size:.88rem;color:var(--text-2)}
.step .answers b{display:block;font-family:var(--f-label);font-weight:500;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.step .answers q{font-family:var(--f-display);font-weight:600;color:var(--text);quotes:"\201C" "\201D"}
.cost-bar{margin-top:var(--s7);display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:var(--r);padding:20px 24px}
.cost-bar p{font-size:var(--t-small);color:var(--text-2)}
.cost-bar p b{color:var(--text)}

/* ---------- JOURNEY (the one animated section) ---------- */
.journey{position:relative;overflow:hidden}
.journey h2{max-width:18ch}
.j-sub{font-family:var(--f-display);font-size:clamp(1.15rem,1rem + .5vw,1.5rem);font-weight:600;letter-spacing:-.02em;color:#fff}
.track{position:relative;margin-top:var(--s8);padding-top:84px}
.track-line{position:absolute;left:0;right:0;top:112px;height:2px;background:var(--ink-line);border-radius:2px}
.track-fill{position:absolute;left:0;top:112px;height:2px;background:var(--gold);width:var(--p,0%);border-radius:2px;transition:width .1s linear}
.traveller{position:absolute;top:0;left:var(--p,0%);transform:translateX(-50%);transition:left .1s linear;display:grid;justify-items:center;gap:8px;z-index:2}
.traveller .bubble{display:flex;align-items:center;gap:10px;background:#fff;color:var(--text);padding:6px 14px 6px 6px;border-radius:var(--r-pill);white-space:nowrap;box-shadow:0 10px 30px -10px rgba(0,0,0,.6)}
.traveller .bubble .avatar{width:32px;height:32px;font-size:.72rem}
.traveller .bubble .avatar::after{width:8px;height:8px}
.traveller .bubble b{font-size:.8rem;display:block;line-height:1.2}
.traveller .bubble small{font-size:.7rem;color:var(--muted);display:block;line-height:1.2}
.traveller .stem{width:2px;height:14px;background:#fff;opacity:.6}
.stops{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.stop{position:relative;display:grid;gap:10px;padding-right:16px;align-content:start}
.stop .dot{width:22px;height:22px;border-radius:50%;background:var(--ink);border:2px solid var(--ink-line);margin-top:17px;transition:background .3s,border-color .3s,box-shadow .3s}
.stop.on .dot{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 6px rgba(255,178,0,.16)}
.stop .meta{color:#7F8C94;margin-top:10px}
.stop h4{color:#fff;font-size:1.15rem}
.stop p{font-size:.88rem;color:var(--ink-muted);line-height:1.55}
.stop.on .meta{color:var(--gold)}
.promise{margin-top:var(--s8);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink-line)}
.promise div{padding:var(--s5) var(--s5) 0 0;display:flex;gap:12px;align-items:flex-start;color:#DDE3E6;font-size:var(--t-small)}
.promise div + div{padding-left:var(--s5);border-left:1px solid var(--ink-line)}
.promise .icon{color:var(--gold);font-size:20px;margin-top:2px}
.promise b{display:block;color:#fff;font-family:var(--f-display);font-size:1.05rem;letter-spacing:-.01em}

/* ---------- OFFICES ---------- */
.offices{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,3vw,40px);align-items:stretch}
.office-list{display:grid;gap:10px;align-content:start}
.office{appearance:none;text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:20px;cursor:pointer;display:grid;gap:8px;transition:border-color .2s,box-shadow .2s}
.office:hover{border-color:var(--line-2)}
.office[aria-pressed="true"]{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.office .o-top{display:flex;align-items:center;gap:12px}
.office .o-pin{width:36px;height:36px;border-radius:10px;background:var(--mist);display:grid;place-items:center;transition:background .2s}
.office[aria-pressed="true"] .o-pin{background:var(--gold)}
.office h4{font-size:1.15rem}
.office .o-area{font-size:.88rem;color:var(--text-2)}
.office .o-tag{margin-left:auto;font-family:var(--f-label);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;background:var(--gold-soft);color:var(--gold-ink);padding:4px 8px;border-radius:6px}
.office-detail{display:none;gap:10px;padding-top:12px;margin-top:4px;border-top:1px solid var(--line);font-size:.88rem;color:var(--text-2)}
.office[aria-pressed="true"] .office-detail{display:grid}
.office-detail div{display:flex;gap:10px;align-items:center}
.office-detail .icon{color:var(--muted)}
.map{position:relative;border-radius:var(--r-lg);overflow:hidden;background:#E7ECE5;min-height:520px;border:1px solid var(--line)}
.map svg.m{position:absolute;inset:0;width:100%;height:100%}
.map-card{position:absolute;left:20px;top:20px;background:var(--bg);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow);display:grid;gap:6px;max-width:280px}
.map-card b{font-family:var(--f-display);font-size:1.05rem;letter-spacing:-.01em}
.map-card span{font-size:.84rem;color:var(--text-2)}
.map-note{position:absolute;left:20px;bottom:16px;font-family:var(--f-label);font-size:.64rem;letter-spacing:.06em;color:#5E6A72;background:rgba(255,255,255,.8);padding:4px 8px;border-radius:6px}
.map-pin{position:absolute;left:58%;top:52%;transform:translate(-50%,-100%);animation:none}
.map-pin .pulse{position:absolute;left:50%;bottom:-6px;width:18px;height:8px;transform:translateX(-50%);border-radius:50%;background:rgba(11,20,26,.25)}

/* ---------- COUNSELLORS ---------- */
.people{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.person{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:grid;grid-template-rows:auto 1fr;transition:border-color .2s,box-shadow .25s,transform .25s var(--ease)}
.person:hover{border-color:var(--line-2);box-shadow:var(--shadow);transform:translateY(-3px)}
.portrait{aspect-ratio:4/4.4;position:relative;display:grid;place-items:center;overflow:hidden;max-width:100%}
.portrait svg{position:absolute;inset:0;width:100%;height:100%}
.portrait .ph{position:absolute;left:12px;bottom:12px;font-family:var(--f-label);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;background:rgba(255,255,255,.85);color:var(--text-2);padding:4px 8px;border-radius:6px}
.person-body{padding:20px;display:grid;gap:10px;align-content:start}
.person-body .spec{font-family:var(--f-label);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);background:var(--gold-soft);justify-self:start;padding:4px 8px;border-radius:6px}
.person-body h4{font-size:1.15rem}
.person-body p{font-size:.88rem;color:var(--text-2);line-height:1.55}
.person-meta{display:grid;gap:6px;margin-top:4px;padding-top:12px;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}
.person-meta div{display:flex;justify-content:space-between;gap:8px}
.person-meta b{color:var(--text-2);font-weight:500;text-align:right}

/* ---------- GUIDES ---------- */
.cats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--s6)}
.cat{appearance:none;border:1px solid var(--line);background:var(--bg);border-radius:var(--r-pill);padding:8px 16px;font-size:.86rem;font-weight:500;cursor:pointer;transition:all .2s}
.cat:hover{border-color:var(--ink)}
.cat[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.guides{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(20px,3vw,40px)}
.guide{display:grid;text-decoration:none;color:inherit;gap:16px;align-content:start}
.guide .g-img{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:16/10;max-width:100%}
.guide .g-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.guide:hover .g-img img{transform:scale(1.04)}
.guide .g-cat{position:absolute;left:12px;top:12px;font-family:var(--f-label);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;background:rgba(255,255,255,.92);padding:4px 10px;border-radius:var(--r-pill)}
.guide h3{transition:color .2s}
.guide:hover h3{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:5px}
.guide p{color:var(--text-2);font-size:var(--t-small);max-width:52ch}
.guide-lead h3{font-size:clamp(1.6rem,1.3rem + 1vw,2.1rem)}
.guide-side{display:grid;gap:var(--s5);align-content:start}
.guide-side .guide{grid-template-columns:160px minmax(0,1fr);gap:18px;align-items:start;padding-bottom:var(--s5);border-bottom:1px solid var(--line)}
.guide-side .guide:last-child{border-bottom:0;padding-bottom:0}
.guide-side .g-img{aspect-ratio:1/1}
.guide-side h3{font-size:1.2rem}
.guide-side .g-txt{display:grid;gap:8px}
.guide .g-empty{padding:32px;border:1px dashed var(--line-2);border-radius:var(--r);color:var(--muted);font-size:var(--t-small)}

/* ---------- FAQ ---------- */
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,80px);align-items:start}
.faq-side{position:sticky;top:112px;display:grid;gap:var(--s5)}
.faq-side h2{margin-top:var(--s4)}
.ask-card{border:1px solid var(--line);border-radius:var(--r);padding:20px;display:grid;gap:12px;background:var(--bg)}
.ask-card p{font-size:var(--t-small);color:var(--text-2)}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-family:var(--f-display);font-weight:600;font-size:clamp(1.05rem,1rem + .25vw,1.2rem);letter-spacing:-.015em}
.faq summary::-webkit-details-marker{display:none}
.faq .pm{width:32px;height:32px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;flex:none;transition:transform .3s var(--ease),background .2s,border-color .2s}
.faq details[open] .pm{transform:rotate(45deg);background:var(--ink);color:#fff;border-color:var(--ink)}
.faq summary:hover .pm{border-color:var(--ink)}
.faq .ans{padding:0 56px 24px 0;color:var(--text-2);font-size:var(--t-small);display:grid;gap:10px;animation:fadeUp .3s var(--ease)}

/* ---------- FINAL CTA + FORM ---------- */
.final{background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:clamp(28px,5vw,72px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(28px,5vw,72px);align-items:center;position:relative;overflow:hidden}
.final-copy{display:grid;gap:var(--s5);align-content:center}
.final-copy h2{font-size:clamp(2.1rem,1.3rem + 2.6vw,3.4rem)}
.final-copy p{color:var(--ink-muted);max-width:44ch}
.form{background:var(--bg);color:var(--text);border-radius:var(--r);padding:clamp(20px,3vw,32px);display:grid;gap:16px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.field{display:grid;gap:6px;min-width:0}
.field.full{grid-column:1/-1}
.field label{font-size:.8rem;font-weight:600;color:var(--text-2)}
.field label span{font-weight:400;color:var(--faint)}
.input,.select,.textarea{width:100%;height:48px;border:1px solid var(--line-2);border-radius:12px;padding:0 14px;font:inherit;font-size:.94rem;color:var(--text);background:var(--bg);transition:border-color .2s,box-shadow .2s;appearance:none;-webkit-appearance:none}
.textarea{height:auto;min-height:96px;padding:12px 14px;resize:vertical}
.select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%235E6A72' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.input::placeholder,.textarea::placeholder{color:var(--faint)}
.input:hover,.select:hover{border-color:#B9C0BC}
.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(255,178,0,.35)}
.field.error .input,.field.error .select{border-color:var(--error);box-shadow:0 0 0 3px rgba(179,38,30,.12)}
.field .err{display:none;font-size:.76rem;color:var(--error)}
.field.error .err{display:block}
.field.ok .input{border-color:var(--success)}
.seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;background:var(--mist);padding:4px;border-radius:12px}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label{display:flex;justify-content:center;align-items:center;gap:6px;height:40px;border-radius:9px;font-size:.84rem;font-weight:500;color:var(--text-2);cursor:pointer;transition:background .2s,color .2s}
.seg input:checked + label{background:var(--bg);color:var(--text);box-shadow:0 1px 3px rgba(11,20,26,.12)}
.seg input:focus-visible + label{outline:2px solid var(--gold)}
.form .btn{width:100%}
.form-trust{display:flex;gap:8px;align-items:center;justify-content:center;font-size:.78rem;color:var(--muted);text-align:center}
.success{display:grid;gap:14px;justify-items:start;padding:8px 0}
.success .ok-ico{width:48px;height:48px;border-radius:50%;background:#E3F3EA;color:var(--success);display:grid;place-items:center}
.success .ok-ico .icon{font-size:24px}
.success p{color:var(--text-2);font-size:var(--t-small)}

/* ---------- EXPLORE ---------- */
.explore{border-top:1px solid var(--line)}
.explore-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:var(--s6)}
.explore-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--ink)}
.ex-col{padding:20px 20px 0 0}
.ex-col + .ex-col{padding-left:20px;border-left:1px solid var(--line)}
.ex-col h3{font-family:var(--f-label);font-weight:500;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.ex-col ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.ex-col a{display:flex;justify-content:space-between;align-items:center;padding:7px 0;font-size:.95rem;text-decoration:none;color:var(--text);transition:color .2s,padding .2s}
.ex-col a .icon{opacity:0;transition:opacity .2s,transform .2s;font-size:.85em}
.ex-col a:hover{padding-left:4px}
.ex-col a:hover .icon{opacity:1}

/* ---------- FOOTER ---------- */
.footer{background:var(--ink);color:#C9D1D6;padding-block:var(--s9) var(--s6)}
.foot-top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.8fr);gap:var(--s8);padding-bottom:var(--s8)}
.foot-brand{display:grid;gap:var(--s5);align-content:start}
.foot-brand .logo{color:#fff}
.foot-brand .logo-mark{background:var(--ink-3)}
.foot-brand p{font-family:var(--f-display);font-size:clamp(1.2rem,1rem + .6vw,1.5rem);line-height:1.35;letter-spacing:-.02em;color:#fff;font-weight:600;max-width:28ch}
.foot-cities{display:flex;flex-wrap:wrap;gap:8px}
.foot-cities span{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ink-line);border-radius:var(--r-pill);padding:6px 12px;font-size:.82rem}
.foot-cities .icon{color:var(--gold)}
.foot-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.5fr);gap:var(--s5)}
.foot-cols h3{font-family:var(--f-label);font-weight:500;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#7F8C94;margin-bottom:16px}
.foot-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.foot-cols a{font-size:.9rem;text-decoration:none;color:#C9D1D6;transition:color .2s}
.foot-cols a:hover{color:#fff}
.foot-contact{display:grid;gap:10px;font-size:.9rem}
.foot-contact div{display:flex;gap:10px;align-items:center;min-width:0;overflow-wrap:anywhere}
.foot-contact .icon{color:#7F8C94}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:var(--s5);border-top:1px solid var(--ink-line);font-size:.8rem;color:#7F8C94}
.foot-bottom ul{display:flex;flex-wrap:wrap;gap:6px 20px;list-style:none;margin:0;padding:0}
.foot-bottom a{text-decoration:none;color:#9AA6AE}
.foot-bottom a:hover{color:#fff}

/* ---------- Sticky mobile CTA ---------- */
.sticky-cta{position:fixed;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);z-index:40;display:none;align-items:center;gap:12px;background:var(--ink);color:#fff;border-radius:var(--r-pill);padding:8px 8px 8px 20px;box-shadow:0 16px 40px -12px rgba(0,0,0,.45);transform:translateY(140%);transition:transform .35s var(--ease)}
.sticky-cta.show{transform:none}
.sticky-cta span{font-size:.84rem;color:#C9D1D6;flex:1;line-height:1.3}
.sticky-cta span b{color:#fff;display:block;font-size:.9rem}

/* ---------- Motion ---------- */
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes heroIn{from{transform:scale(1.07)}to{transform:scale(1.02)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.rv{transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.pre{opacity:0;transform:translateY(18px)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .rv.pre{opacity:1;transform:none}
}

/* ---------- Tablet ≤1024 ---------- */
@media (max-width:1080px){
  .nav-links a{padding:8px 10px;font-size:.86rem}
  .nav-cta .btn-secondary{display:none}
  .counsellor-chip{display:none}
  .hero-body{grid-template-columns:1fr}
  .trust-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trust-item:nth-child(3){padding-left:0;border-left:0}
  .trust-item:nth-child(n+3){border-top:1px solid var(--line)}
  .dest{grid-template-columns:1fr}
  .feature{min-height:460px}
  .banner{grid-template-columns:1fr}
  .banner-img{min-height:360px}
  .stories{grid-template-columns:1fr}
  .people{grid-template-columns:repeat(2,minmax(0,1fr))}
  .offices{grid-template-columns:1fr}
  .map{min-height:420px}
  .final{grid-template-columns:1fr}
  .explore-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ex-col:nth-child(4){padding-left:0;border-left:0}
  .ex-col:nth-child(n+4){border-top:1px solid var(--line);margin-top:20px}
  .foot-top{grid-template-columns:1fr}
  .faq-grid{grid-template-columns:1fr}
  .faq-side{position:static}
  .guides{grid-template-columns:1fr}
}
@media (max-width:900px){
  .nav-links,.nav-cta{display:none}
  .nav-burger{display:grid;margin-left:auto}
  .opener{grid-template-columns:1fr;align-items:start;margin-bottom:var(--s7)}
  .process{grid-template-columns:1fr;gap:0}
  .process::before{left:27px;right:auto;top:0;bottom:0;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--line-2) 0 6px,transparent 6px 12px)}
  .step{grid-template-columns:56px minmax(0,1fr);column-gap:20px;padding:0 0 var(--s6)}
  .step > *:not(.step-node){grid-column:2}
  .step-node{grid-row:1/span 5}
  .step .meta{margin-top:0}
  .stops{grid-template-columns:1fr;gap:0;padding-left:40px;position:relative}
  .track{padding-top:0}
  .track-line{left:10px;right:auto;top:0;bottom:0;width:2px;height:auto}
  .track-fill{left:10px;top:0;width:2px;height:var(--p,0%)}
  .traveller{display:none}
  .stop{padding:0 0 var(--s5)}
  .stop .dot{position:absolute;left:-40px;top:0;margin-top:0}
  .stop .meta{margin-top:0}
  .promise{grid-template-columns:1fr}
  .promise div + div{padding-left:0;border-left:0}
  .choices{grid-template-columns:1fr}
  .chip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .help-panel{grid-template-columns:auto minmax(0,1fr)}
  .help-panel .btn{grid-column:1/-1}
  .sticky-cta{display:flex}
}
/* ---------- Mobile ≤600 ---------- */
@media (max-width:600px){
  .section{padding-block:72px}
  .hero{min-height:620px;border-radius:18px}
  .hero::before{background:linear-gradient(0deg,rgba(11,20,26,.94) 0%,rgba(11,20,26,.7) 55%,rgba(11,20,26,.25) 100%)}
  .hero-img{object-position:62% 40%}
  .hero .btn-row .btn{flex:1 1 100%}
  .trust-row{grid-template-columns:1fr}
  .trust-item,.trust-item + .trust-item{padding:18px 0;border-left:0}
  .trust-item + .trust-item{border-top:1px solid var(--line)}
  .chip-grid{grid-template-columns:1fr}
  .feature{min-height:520px}
  .facts{grid-template-columns:1fr 1fr}
  .dest-btn{grid-template-columns:28px minmax(0,1fr) auto;gap:12px;padding:16px 0}
  .dest-btn .d-intake{display:none}
  .dest-btn:hover{padding-left:0}
  .intake-shell .intake-scroll{display:none}
  .intake-cards{display:grid;gap:0}
  .i-card{padding:18px 20px;border-bottom:1px solid var(--line);display:grid;gap:12px}
  .i-card:last-child{border-bottom:0}
  .i-card.faded{opacity:.35}
  .i-card .i-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
  .i-card .i-top .c-dest{display:flex;gap:10px;align-items:center;font-family:var(--f-display);font-weight:700;font-size:1.05rem}
  .i-card .i-top .c-when{font-weight:600;font-size:.85rem}
  .i-card .months{min-width:0}
  .i-card .months span{height:22px;font-size:.5rem}
  .i-card p{font-size:.85rem;color:var(--text-2)}
  .people{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter);padding-bottom:8px;scrollbar-width:none}
  .people::-webkit-scrollbar{display:none}
  .person{flex:0 0 78%;scroll-snap-align:start}
  .guide-side .guide{grid-template-columns:104px minmax(0,1fr)}
  .form-grid{grid-template-columns:1fr}
  .faq .ans{padding-right:0}
  .explore-grid{grid-template-columns:1fr 1fr}
  .ex-col,.ex-col + .ex-col{padding:18px 12px 0 0;border-left:0}
  .ex-col:nth-child(n+3){border-top:1px solid var(--line);margin-top:18px}
  .ex-col:nth-child(4){margin-top:18px}
  .foot-cols{grid-template-columns:1fr 1fr;gap:32px 20px}
  .map{min-height:360px}
  .map-card{right:16px;left:16px;max-width:none;top:auto;bottom:44px}
  .map-pin{top:38%!important}
  .banner-img{min-height:280px}
  .footer{padding-bottom:110px}
}

/* =====================================================================
   SITE LAYER — shared by every page (routing, mega-nav, page heroes)
   ===================================================================== */
.page{display:block}
.page-top{padding-top:var(--s5)}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-family:var(--f-label);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--s5)}
.crumbs a{text-decoration:none;color:var(--muted)}
.crumbs a:hover{color:var(--text)}
.crumbs span[aria-hidden]{opacity:.5}
.on-ink .crumbs,.on-ink .crumbs a{color:#8D99A1}
.eyebrow-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.lead{font-size:clamp(1.05rem,1rem + .3vw,1.25rem);line-height:1.55;color:var(--text-2);max-width:56ch}
.on-ink .lead{color:var(--ink-muted)}
.center-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start}
.h-display{font-size:clamp(2.8rem,1.4rem + 5.2vw,6rem);line-height:.98;letter-spacing:-.045em;font-weight:700}
.kicker{font-family:var(--f-display);font-weight:600;font-size:1.05rem;letter-spacing:-.01em}
.muted{color:var(--muted)}
.divider{height:1px;background:var(--line);border:0;margin:0}

/* ---------- Mega navigation ---------- */
.nav-links > li{position:relative}
.nav-links .nav-trigger{appearance:none;border:0;background:none;cursor:pointer;display:flex;align-items:center;gap:4px;padding:8px 14px;border-radius:var(--r-pill);font-size:.9rem;font-weight:500;color:var(--text-2);transition:background .2s,color .2s}
.nav-links .nav-trigger .icon{font-size:.8rem;transition:transform .2s}
.nav-links .nav-trigger:hover,.nav-links .nav-trigger[aria-expanded="true"]{background:var(--mist);color:var(--text)}
.nav-links .nav-trigger[aria-expanded="true"] .icon{transform:rotate(180deg)}
.nav-links a.active,.nav-links .nav-trigger.active{color:var(--text);font-weight:600}
.nav-links a.active::after,.nav-links .nav-trigger.active::after{content:"";position:absolute;left:50%;bottom:-2px;width:4px;height:4px;border-radius:50%;background:var(--gold);transform:translateX(-50%)}
.nav-links a,.nav-links .nav-trigger{position:relative}
.mega{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 24px 60px -24px rgba(11,20,26,.28);padding:24px;display:grid;gap:24px;min-width:560px;animation:fadeUp .2s var(--ease)}
.mega::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.mega-2{grid-template-columns:1.2fr 1fr}
.mega h6{margin:0 0 10px;font-family:var(--f-label);font-weight:500;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.mega ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.mega a{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:12px;text-decoration:none;font-size:.9rem;font-weight:500;color:var(--text);transition:background .15s}
.mega a:hover{background:var(--paper)}
.mega a small{display:block;font-size:.78rem;font-weight:400;color:var(--muted);line-height:1.35}
.mega .m-ico{width:34px;height:34px;border-radius:10px;background:var(--mist);display:grid;place-items:center;flex:none}
.mega a:hover .m-ico{background:var(--gold)}
.mega .m-feature{background:var(--ink);color:#fff;border-radius:var(--r);padding:18px;display:grid;gap:10px;align-content:space-between}
.mega .m-feature p{font-size:.84rem;color:var(--ink-muted)}
.mega .m-feature b{font-family:var(--f-display);font-size:1.05rem;letter-spacing:-.01em}
.mega .m-feature a{background:var(--gold);color:var(--ink);justify-content:center;font-weight:600}
.mega .m-feature a:hover{background:var(--gold-hover)}
.mega-sm{min-width:280px}
.drawer details{border-bottom:1px solid var(--line)}
.drawer summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:18px 0;font-family:var(--f-display);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;cursor:pointer}
.drawer summary::-webkit-details-marker{display:none}
.drawer summary .icon{transition:transform .2s;font-size:1.1rem}
.drawer details[open] summary .icon{transform:rotate(45deg)}
.drawer details ul{padding-bottom:14px;gap:2px}
.drawer details li a{font-family:var(--f-body);font-size:1rem;font-weight:500;padding:10px 0;border:0;color:var(--text-2)}

/* ---------- Page transition ---------- */
.page.entering{animation:pageIn .45s var(--ease) both}
@keyframes pageIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- Home: About Lookup ---------- */
.about-home .ah-statement{font-family:var(--f-display);font-weight:700;font-size:clamp(1.9rem,1.2rem + 2.6vw,3.4rem);line-height:1.1;letter-spacing:-.035em;max-width:22ch;margin-top:var(--s5)}
.about-home .ah-statement span{color:var(--muted)}
.ah-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,4vw,64px);margin-top:var(--s8);align-items:stretch}
.ah-photo{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:460px}
.ah-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ah-photo .ah-cap{position:absolute;left:16px;right:16px;bottom:16px;background:rgba(255,255,255,.95);border-radius:14px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.84rem}
.ah-photo .ah-cap b{font-family:var(--f-display);font-size:1rem;display:block}
.ah-photo .ah-cap span{color:var(--muted)}
.ah-copy{display:grid;gap:var(--s5);align-content:start}
.ah-copy > p{color:var(--text-2);max-width:56ch}
.def{margin:0;display:grid;border-top:1px solid var(--line)}
.def > div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
.def dt{font-family:var(--f-label);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:4px}
.def dd{margin:0;font-size:var(--t-small);color:var(--text)}
.def dd b{font-family:var(--f-display);font-weight:700;letter-spacing:-.01em}
.numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:var(--s8);border-top:1px solid var(--ink)}
.numbers > div{padding:24px 24px 0 0;display:grid;gap:8px;align-content:start}
.numbers > div + div{padding-left:24px;border-left:1px solid var(--line)}
.numbers .n{font-family:var(--f-display);font-weight:700;font-size:clamp(3rem,2rem + 3vw,4.6rem);line-height:1;letter-spacing:-.05em;display:flex;align-items:flex-start;gap:6px}
.numbers .n::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--gold);margin-top:10px}
.numbers b{font-family:var(--f-display);font-size:1.05rem;letter-spacing:-.01em}
.numbers p{font-size:.88rem;color:var(--muted);line-height:1.5}
.cases-note{font-size:var(--t-xs);color:var(--muted)}

/* ---------- Desk cards (counsellor desks) ---------- */
.desk{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:grid;gap:14px;align-content:start;transition:border-color .2s,box-shadow .25s,transform .25s var(--ease)}
.desk:hover{border-color:var(--line-2);box-shadow:var(--shadow);transform:translateY(-3px)}
.desk-flags{display:flex;gap:6px}
.desk h4{font-size:1.2rem}
.desk p{font-size:.88rem;color:var(--text-2);line-height:1.55}
.desk ul{list-style:none;margin:0;padding:12px 0 0;border-top:1px solid var(--line);display:grid;gap:8px;font-size:.84rem;color:var(--text-2)}
.desk li{display:flex;gap:8px;align-items:flex-start}
.desk li .icon{color:var(--gold-ink);margin-top:3px}
.desk .btn-text{margin-top:4px}

/* =====================================================================
   STUDY — exploration / pathways (Elevated Design System)
   ===================================================================== */
.study-hero-card{
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: clamp(28px, 4vw, 56px);
  box-shadow: var(--sh-sm);
  margin-top: 16px;
  margin-bottom: 24px;
}
.study-hero{
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: stretch;
}
.study-hero-immersive{
  position: relative;
  border-radius: var(--r-lg);
  overflow: hidden;
  color: #fff;
  min-height: clamp(560px, 58vw, 700px);
  display: grid;
  align-items: center;
  isolation: isolate;
}
.study-hero-immersive::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(11,20,26,.94) 0%, rgba(11,20,26,.82) 48%, rgba(11,20,26,.45) 80%, rgba(11,20,26,.25) 100%),
    linear-gradient(0deg, rgba(11,20,26,.8) 0%, rgba(11,20,26,0) 50%);
}
.study-hero-body{
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(380px, 440px);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  padding: clamp(28px, 4vw, 60px);
  width: 100%;
}
.study-hero-copy{
  display: grid;
  gap: 16px;
  max-width: 740px;
  animation: rise .9s .1s var(--ease) both;
}
.crumbs-light{
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 2px;
}
.crumbs-light a{
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
  transition: color 0.2s;
}
.crumbs-light a:hover{
  color: #ffffff;
}
.crumbs-light span{
  color: rgba(255, 255, 255, 0.5);
}
.study-hero-copy h1{
  font-size: clamp(2.2rem, 1.6rem + 2vw, 3.2rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: #ffffff;
  margin: 0;
}
.study-hero-copy h1 em{
  font-style: normal;
  color: var(--gold);
}
.hero-level-tabs-wrap{
  margin-top: 4px;
}
.level-card-wrap{
  animation: rise .9s .3s var(--ease) both;
  display: flex;
  justify-content: flex-end;
}
.level-card{
  background: #ffffff;
  color: var(--text);
  border-radius: 20px;
  padding: 26px 24px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  box-shadow: 0 24px 50px -12px rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.3);
  transition: all 0.3s var(--ease);
  width: 100%;
  max-width: 440px;
}
.level-card:hover{
  box-shadow: 0 30px 60px -12px rgba(0, 0, 0, 0.55);
}
.level-card .lc-top{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 14px;
}
.meta-gold{
  font-family: var(--f-label);
  font-size: 0.65rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold-ink);
  font-weight: 700;
  display: block;
  margin-bottom: 4px;
}
.level-card h3{
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--ink);
  margin: 0;
  line-height: 1.2;
}
.level-card .lc-dur{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--gold-soft);
  color: var(--gold-ink);
  border: 1px solid rgba(199, 134, 13, 0.28);
  padding: 6px 14px;
  border-radius: 100px;
  font-family: var(--f-body);
  font-size: 0.88rem;
  font-weight: 700;
  white-space: nowrap;
  letter-spacing: -0.01em;
  flex-shrink: 0;
  box-shadow: 0 1px 4px rgba(199, 134, 13, 0.08);
}
.level-card .lc-dur .icon{
  width: 15px;
  height: 15px;
  color: var(--gold-ink);
  flex-shrink: 0;
}
.level-card .lc-dur span{
  color: var(--ink);
  font-weight: 750;
  letter-spacing: -0.01em;
}
.level-card .lc-dur small{
  font-family: var(--f-label);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
  border-left: 1px solid rgba(199, 134, 13, 0.3);
  padding-left: 8px;
  margin-left: 2px;
}
.lc-grid{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.lc-item{
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 12px;
}
.lc-ico{
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: #ffffff;
  border: 1px solid var(--line);
  color: var(--gold-ink);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.lc-ico .icon{
  width: 16px;
  height: 16px;
}
.lc-item strong{
  display: block;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 2px;
}
.lc-item p{
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.45;
  color: var(--text-2);
}
.lc-foot{
  display: flex;
  flex-direction: column;
  gap: 14px;
  border-top: 1px solid var(--line);
  padding-top: 14px;
}
.lc-dest-head{
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.lc-dest-head .mini-h{
  font-family: var(--f-label);
  font-size: 0.64rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 700;
}
.lc-action-row{
  display: flex;
  align-items: center;
  gap: 8px;
}
.lc-action-row .btn{
  flex: 1;
  text-align: center;
  justify-content: center;
}
.levels{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 16px;
  padding: 6px;
  width: fit-content;
  max-width: 100%;
}
.level{
  appearance: none;
  border: 1px solid transparent;
  background: transparent;
  border-radius: 100px;
  padding: 10px 18px;
  font-size: 0.88rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
  cursor: pointer;
  transition: all 0.22s var(--ease);
}
.level:hover{
  color: #ffffff;
  background: rgba(255, 255, 255, 0.18);
}
.level[aria-selected="true"]{
  background: var(--gold);
  color: var(--ink);
  border-color: var(--gold);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* Fields of study interactive explorer */
.field-explorer{
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(24px, 3vw, 44px);
  align-items: start;
  margin-top: 32px;
}
.fe-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
  position: sticky;
  top: 96px;
}
.fe-btn{
  appearance: none;
  width: 100%;
  text-align: left;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 16px 20px;
  cursor: pointer;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  transition: all 0.22s var(--ease);
  box-shadow: var(--sh-xs);
}
.fe-btn:hover{
  transform: translateY(-2px);
  border-color: var(--line-2);
  box-shadow: 0 8px 18px rgba(11, 20, 26, 0.06);
}
.fe-btn[aria-selected="true"]{
  background: #ffffff;
  border-color: var(--gold);
  box-shadow: 0 10px 24px rgba(199, 134, 13, 0.12);
}
.fe-btn .fe-ico{
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: var(--paper);
  border: 1px solid var(--line);
  color: var(--ink);
  display: grid;
  place-items: center;
  transition: all 0.22s var(--ease);
}
.fe-btn .fe-ico .icon{
  width: 20px;
  height: 20px;
  color: var(--ink);
}
.fe-btn[aria-selected="true"] .fe-ico{
  background: var(--gold);
  border-color: var(--gold);
  color: var(--ink);
}
.fe-btn[aria-selected="true"] .fe-ico .icon{
  color: var(--ink);
}
.fe-btn b{
  font-family: var(--f-display);
  font-size: 1.08rem;
  letter-spacing: -0.015em;
  color: var(--ink);
  display: block;
}
.fe-btn small{
  font-size: 0.8rem;
  color: var(--muted);
}
.fe-btn > .icon{
  opacity: 0.3;
  transition: all 0.2s;
  color: var(--muted);
}
.fe-btn[aria-selected="true"] > .icon{
  opacity: 1;
  color: var(--gold-ink);
  transform: translateX(3px);
}
.fe-panel{
  background: #ffffff;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid var(--line);
  box-shadow: var(--sh-sm);
  animation: fadeUp 0.35s var(--ease);
}
.fe-panel .fe-img{
  aspect-ratio: 16/8;
  position: relative;
  width: 100%;
  overflow: hidden;
}
.fe-panel .fe-img img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.fe-panel .fe-img::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11,20,26,0.15) 0%, rgba(11,20,26,0.65) 100%);
}
.fe-body{
  padding: clamp(26px, 3.2vw, 40px);
  display: grid;
  gap: 22px;
}
.fe-body h3{
  font-size: clamp(1.6rem, 1.3rem + 1vw, 2.2rem);
  font-weight: 800;
  color: var(--ink);
  margin: 6px 0 0;
}
.fe-cols{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.fe-cols > div{
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 18px 20px;
}
.fe-cols h6, .mini-h{
  margin: 0 0 12px;
  font-family: var(--f-label);
  font-weight: 700;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
}
.ticklist{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
  font-size: 0.9rem;
  color: var(--text-2);
}
.ticklist li{
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.ticklist li .icon{
  color: var(--success);
  margin-top: 3px;
  flex: none;
  width: 16px;
  height: 16px;
}
.dest-pills{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.dest-pill{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 100px;
  padding: 6px 14px 6px 8px;
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--ink);
  text-decoration: none;
  transition: all 0.2s;
  box-shadow: var(--sh-xs);
}
.dest-pill:hover{
  border-color: var(--gold);
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(11,20,26,0.06);
}
.dest-pill .flag{
  width: 22px;
  height: 16px;
  border-radius: 3px;
}

/* Pathways Grid Modernization */
.pathways{
  display: grid;
  gap: 14px;
  margin-top: 28px;
}
.pw-row{
  display: grid;
  grid-template-columns: minmax(0, 1fr) 70px minmax(0, 1.4fr);
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #ffffff;
  overflow: hidden;
  box-shadow: var(--sh-xs);
  transition: all 0.25s var(--ease);
}
.pw-row:hover{
  transform: translateY(-2px);
  border-color: var(--gold);
  box-shadow: 0 10px 24px rgba(11, 20, 26, 0.06);
}
.pw-from{
  padding: 24px 26px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.pw-from b{
  font-family: var(--f-display);
  font-size: 1.15rem;
  letter-spacing: -0.015em;
  color: var(--ink);
}
.pw-from small{
  font-size: 0.84rem;
  color: var(--muted);
}
.pw-arrow{
  height: 100%;
  display: grid;
  place-items: center;
  position: relative;
}
.pw-arrow::before{
  content: "";
  position: absolute;
  left: 0;
  right: 14px;
  top: 50%;
  height: 2px;
  background: repeating-linear-gradient(90deg, var(--line-2) 0 6px, transparent 6px 12px);
}
.pw-arrow .icon{
  position: relative;
  right: -20px;
  background: #ffffff;
  width: 20px;
  height: 20px;
  color: var(--gold-ink);
}
.pw-to{
  padding: 20px 26px;
  background: var(--paper);
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  border-left: 1px solid var(--line);
}
.route{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 8px 14px;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--ink);
  box-shadow: var(--sh-xs);
  transition: all 0.2s;
}
.route:hover{
  border-color: var(--gold);
  transform: translateY(-1px);
}
.route i{
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--gold);
  flex: none;
}
.route.alt i{
  background: #9DB8A4;
}

/* Balanced Shortlist Card */
.balance{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
}
.bal-visual{
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 32px 28px;
  display: grid;
  gap: 16px;
  background: #ffffff;
  box-shadow: var(--sh-sm);
  transition: all 0.25s var(--ease);
}
.bal-visual:hover{
  border-color: var(--gold);
  box-shadow: 0 14px 30px rgba(11,20,26,0.07);
}
.bal-row{
  display: grid;
  grid-template-columns: 85px minmax(0, 1fr) 35px;
  gap: 14px;
  align-items: center;
}
.bal-bar{
  display: flex;
  gap: 8px;
}
.bal-bar span{
  height: 42px;
  flex: 1;
  border-radius: 10px;
  background: var(--mist);
  transition: background 0.3s;
}
.bal-bar span.on{
  background: var(--ink);
}
.bal-row.b-match .bal-bar span.on{
  background: var(--gold);
}
.bal-row.b-safe .bal-bar span.on{
  background: #9DB8A4;
}
.bal-row b{
  font-family: var(--f-display);
  font-size: 1.25rem;
  font-weight: 800;
  text-align: right;
  color: var(--ink);
}
.bal-key{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  font-size: 0.82rem;
  color: var(--muted);
}
.bal-key > div{
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px 14px;
}
.bal-key b{
  display: block;
  color: var(--ink);
  font-size: 0.9rem;
  margin-bottom: 4px;
}
/* scholarships & student funding system */
.sch-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 32px;
}
.sch{
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 24px 20px;
  box-shadow: var(--sh-xs);
  transition: all 0.25s var(--ease);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.sch:hover{
  transform: translateY(-4px);
  border-color: var(--gold);
  box-shadow: 0 12px 26px rgba(11, 20, 26, 0.08);
}
.sch-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.sch-ico{
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--paper);
  border: 1px solid var(--line);
  color: var(--gold-ink);
  display: flex;
  align-items: center;
  justify-content: center;
}
.sch-ico .icon{width: 20px; height: 20px;}
.sch small{
  font-family: var(--f-label);
  font-size: 0.65rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  background: var(--paper);
  border: 1px solid var(--line);
  padding: 3px 8px;
  border-radius: 100px;
}
.sch h4{font-size: 1.05rem; font-weight: 700; color: var(--ink); margin: 0;}
.sch p{font-size: 0.86rem; line-height: 1.55; color: var(--text-2); margin: 0;}

/* Student Mindset Funding System */
.sch-tiers-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-top: 32px;
}
.sch-tier-card{
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: var(--sh-xs);
  transition: all 0.28s var(--ease);
  position: relative;
  overflow: hidden;
}
.sch-tier-card:hover{
  transform: translateY(-4px);
  border-color: var(--gold);
  box-shadow: 0 16px 36px rgba(11, 20, 26, 0.09);
}
.sch-tier-popular{
  border-color: rgba(199, 134, 13, 0.45);
  box-shadow: 0 8px 24px rgba(199, 134, 13, 0.08);
}
.sch-tier-popular::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--gold) 0%, var(--gold-ink) 100%);
}
.st-top-badge{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.st-badge{
  font-family: var(--f-label);
  font-size: 0.64rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 100px;
}
.st-stat{
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--muted);
}
.st-head{
  display: flex;
  align-items: center;
  gap: 14px;
}
.st-ico{
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.st-ico .icon{width: 22px; height: 22px;}
.st-head h4{
  font-size: 1.15rem;
  font-weight: 750;
  color: var(--ink);
  margin: 0;
  line-height: 1.25;
}
.st-sub{
  display: block;
  font-size: 0.78rem;
  color: var(--muted);
  margin-top: 2px;
}
.st-amount{
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 12px 16px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.st-val{
  font-family: var(--f-display);
  font-weight: 800;
  font-size: 1.45rem;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.st-val-sub{
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--gold-ink);
}
.st-desc{
  font-size: 0.88rem;
  line-height: 1.5;
  color: var(--text-2);
  margin: 0;
}
.st-checklist{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex-grow: 1;
}
.st-checklist li{
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  font-size: 0.84rem;
  line-height: 1.45;
  color: var(--text);
}
.st-checklist li .icon{
  width: 16px;
  height: 16px;
  color: var(--gold-ink);
  margin-top: 2px;
}
.st-checklist li b{
  font-weight: 700;
  color: var(--ink);
}
.st-foot{
  border-top: 1px solid var(--line);
  padding-top: 12px;
  font-size: 0.8rem;
  color: var(--muted);
  font-weight: 600;
}
.st-timing{
  display: flex;
  align-items: center;
  gap: 6px;
}

/* 4-Step Process Box */
.sch-process-box{
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: clamp(28px, 4vw, 44px);
  box-shadow: var(--sh-xs);
}
.sch-process-header{
  display: flex;
  gap: 20px;
  align-items: flex-start;
  margin-bottom: 28px;
}
.sch-process-header h3{
  font-size: clamp(1.4rem, 1.2rem + 0.8vw, 1.85rem);
  font-weight: 800;
  color: var(--ink);
  margin: 6px 0 8px;
  line-height: 1.2;
}
.sch-process-header p{
  margin: 0;
  font-size: 0.95rem;
  color: var(--text-2);
  max-width: 65ch;
  line-height: 1.55;
}
.sch-steps-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.sch-step{
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 20px 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  transition: all 0.25s var(--ease);
}
.sch-step:hover{
  border-color: var(--gold);
  background: #ffffff;
  box-shadow: var(--sh-xs);
}
.sch-step-top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.sch-step-num{
  font-family: var(--f-display);
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--gold-ink);
  line-height: 1;
}
.sch-step-time{
  font-family: var(--f-label);
  font-size: 0.65rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--muted);
  background: #ffffff;
  border: 1px solid var(--line);
  padding: 3px 8px;
  border-radius: 100px;
}
.sch-step h4{
  font-size: 0.98rem;
  font-weight: 750;
  color: var(--ink);
  margin: 0;
  line-height: 1.3;
}
.sch-step p{
  font-size: 0.83rem;
  line-height: 1.5;
  color: var(--text-2);
  margin: 0;
}

/* Student Honest Facts Strip */
.sch-facts-strip{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.sch-fact-card{
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 18px 20px;
  display: flex;
  gap: 14px;
  align-items: flex-start;
  transition: all 0.25s var(--ease);
}
.sch-fact-card:hover{
  border-color: var(--gold);
  box-shadow: var(--sh-xs);
}
.sfc-ico{
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--paper);
  border: 1px solid var(--line);
  color: var(--gold-ink);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.sfc-ico .icon{width: 18px; height: 18px;}
.sch-fact-card h5{
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 4px;
}
.sch-fact-card p{
  font-size: 0.82rem;
  line-height: 1.45;
  color: var(--text-2);
  margin: 0;
}

/* Program Spotlight Grid (Study Page) */
.program-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 28px;
}
.program-grid .uni-card{
  width: 100%;
  height: 205px;
}
@media (max-width: 900px){
  .program-grid{grid-template-columns: repeat(2, 1fr);}
}
@media (max-width: 580px){
  .program-grid{grid-template-columns: 1fr;}
}

/* Admissions Evaluation Framework (Study Page) */
.eval-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 32px;
}
.eval-card{
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 26px 22px;
  box-shadow: var(--sh-xs);
  transition: all 0.25s var(--ease);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.eval-card:hover{
  transform: translateY(-4px);
  border-color: var(--gold);
  box-shadow: 0 14px 28px rgba(11, 20, 26, 0.08);
}
.eval-card-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.eval-ico{
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.eval-ico.ico-blue{background: #E8EFFF; color: #1E5EFF;}
.eval-ico.ico-gold{background: var(--gold-soft); color: var(--gold-ink);}
.eval-ico.ico-sage{background: #EAF2EC; color: #2D6A4F;}
.eval-ico .icon{width: 20px; height: 20px;}
.eval-tag{
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
  background: var(--paper);
  border: 1px solid var(--line);
  padding: 3px 9px;
  border-radius: 100px;
}
.eval-card h4{
  font-size: 1.08rem;
  font-weight: 700;
  color: var(--ink);
  margin: 0;
}
.eval-card p{
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--text-2);
  margin: 0;
}
.eval-card .ticklist{
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid var(--line);
  gap: 8px;
}
.eval-card .ticklist li{
  font-size: 0.82rem;
  color: var(--ink);
}
@media (max-width: 860px){
  .eval-grid{grid-template-columns: 1fr;}
}
/* prep checklist */
.prep{
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: start;
}
.prep-progress{
  display: grid;
  gap: 12px;
  margin-top: 24px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 20px;
  box-shadow: var(--sh-xs);
}
.prep-progress .pp-bar{
  height: 10px;
  border-radius: 100px;
  background: var(--mist);
  overflow: hidden;
}
.prep-progress .pp-bar i{
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--gold) 0%, #E6A700 100%);
  width: 0;
  transition: width 0.35s var(--ease);
}
.prep-progress span{
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--ink);
}
.checks{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.checks li{
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 14px;
  transition: all 0.2s var(--ease);
  box-shadow: var(--sh-xs);
}
.checks li:hover{
  border-color: var(--line-2);
  transform: translateY(-1px);
}
.checks label{
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 16px 20px;
  cursor: pointer;
}
.checks input{
  position: absolute;
  opacity: 0;
}
.checks .box{
  width: 26px;
  height: 26px;
  border-radius: 8px;
  border: 1.8px solid var(--line-2);
  display: grid;
  place-items: center;
  transition: all 0.2s;
}
.checks .box .icon{
  opacity: 0;
  color: var(--ink);
  font-size: 15px;
  stroke-width: 2.6;
}
.checks input:checked + .box{
  background: var(--gold);
  border-color: var(--gold);
}
.checks input:checked + .box .icon{
  opacity: 1;
}
.checks b{
  display: block;
  font-weight: 700;
  font-size: 0.96rem;
  color: var(--ink);
}
.checks small{
  display: block;
  font-size: 0.84rem;
  color: var(--muted);
  margin-top: 3px;
}
.checks .when{
  font-family: var(--f-label);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  background: var(--paper);
  border: 1px solid var(--line);
  padding: 4px 10px;
  border-radius: 100px;
  white-space: nowrap;
}
.checks input:checked ~ span b{
  text-decoration: line-through;
  text-decoration-color: var(--muted);
  color: var(--muted);
}

/* =====================================================================
   ABROAD SERVICES — guided journey / trust / decision
   ===================================================================== */
.svc-hero{background:var(--ink);color:#fff;padding-block:var(--s8) var(--s9)}
.svc-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,80px);align-items:center}
.svc-hero h1{font-size:clamp(2.5rem,1.4rem + 3.8vw,4.4rem)}
.svc-map{background:var(--ink-2);border:1px solid var(--ink-line);border-radius:var(--r-lg);padding:8px}
.svc-map-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px;border-radius:16px;text-decoration:none;transition:background .2s}
.svc-map-row:hover{background:var(--ink-3)}
.svc-map-row .num{width:44px;height:44px;border-radius:50%;border:1px solid var(--ink-line);display:grid;place-items:center;font-family:var(--f-label);font-size:.72rem;color:var(--gold)}
.svc-map-row b{font-family:var(--f-display);font-size:1.1rem;letter-spacing:-.015em;display:block}
.svc-map-row small{font-size:.82rem;color:var(--ink-muted)}
.svc-map-row .who{display:flex;gap:6px}
.who-chip{font-family:var(--f-label);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:6px;background:rgba(255,178,0,.14);color:#F5CF72;white-space:nowrap}
.who-chip.you{background:rgba(255,255,255,.08);color:#C9D1D6}
.svc-map-foot{display:flex;justify-content:space-between;gap:12px;padding:14px 16px 10px;border-top:1px solid var(--ink-line);margin-top:4px;font-size:.8rem;color:var(--ink-muted)}
/* where are you */
.stage-pick{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(20px,3vw,40px);align-items:start}
.stage-opts{display:grid;gap:8px}
.stage-opt{appearance:none;text-align:left;cursor:pointer;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:600;font-size:.96rem;transition:all .2s}
.stage-opt small{display:block;font-weight:400;font-size:.8rem;color:var(--muted)}
.stage-opt:hover{border-color:var(--line-2)}
.stage-opt[aria-selected="true"]{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.stage-opt .c-radio{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line-2);flex:none}
.stage-opt[aria-selected="true"] .c-radio{border-color:var(--ink);background:radial-gradient(circle,var(--ink) 0 5px,transparent 6px)}
.stage-result{background:var(--paper);border-radius:var(--r-lg);padding:clamp(22px,3vw,36px);display:grid;gap:20px;animation:fadeUp .3s var(--ease)}
.stage-result h3{font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}
.sr-steps{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:s}
.sr-steps li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;padding:14px 0;border-top:1px solid rgba(11,20,26,.1);counter-increment:s}
.sr-steps li::before{content:counter(s,decimal-leading-zero);font-family:var(--f-label);font-size:.72rem;color:var(--gold-ink);padding-top:3px}
.sr-steps b{display:block;font-size:.96rem}
.sr-steps span{font-size:.88rem;color:var(--text-2)}
.sr-tags{display:flex;flex-wrap:wrap;gap:8px}
/* country strip */
.country-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.cs{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:3/4;color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;padding:16px;max-width:100%}
.cs img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.cs::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,20,26,.88),rgba(11,20,26,.1) 60%)}
.cs:hover img{transform:scale(1.06)}
.cs > *:not(img){position:relative;z-index:1}
.cs .flag{position:absolute;top:14px;left:14px;z-index:1}
.cs b{font-family:var(--f-display);font-size:1.15rem;letter-spacing:-.02em}
.cs small{font-family:var(--f-label);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:#D5DCE0;margin-top:4px}
/* service rows */
.svc-rows{display:grid;gap:clamp(48px,6vw,96px)}
.svc-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center}
.svc-row:nth-child(even) .svc-img{order:2}
.svc-img{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:5/4;max-width:100%}
.svc-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.svc-img .stage-badge{position:absolute;left:16px;top:16px;background:rgba(255,255,255,.94);border-radius:var(--r-pill);padding:6px 12px;font-family:var(--f-label);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}
.svc-copy{display:grid;gap:18px;align-content:start}
.svc-copy h3{font-size:clamp(1.8rem,1.4rem + 1.4vw,2.6rem)}
.svc-copy > p{color:var(--text-2)}
.split-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
/* who does what */
.wdw-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg)}
.wdw{width:100%;border-collapse:collapse;min-width:760px;font-size:.92rem}
.wdw th,.wdw td{padding:16px 20px;border-bottom:1px solid var(--line);text-align:left}
.wdw thead th{font-family:var(--f-label);font-weight:500;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:var(--paper)}
.wdw thead th.lk{background:var(--ink);color:var(--gold)}
.wdw td.lk{background:#FFFBEF}
.wdw tbody tr:last-child td,.wdw tbody tr:last-child th{border-bottom:0}
.wdw tbody th{font-family:var(--f-display);font-weight:700;letter-spacing:-.01em;white-space:nowrap}
.dot-y,.dot-n,.dot-p{display:inline-flex;align-items:center;gap:8px}
.dot-y::before,.dot-n::before,.dot-p::before{content:"";width:10px;height:10px;border-radius:50%;flex:none}
.dot-y::before{background:var(--gold)}
.dot-p::before{background:transparent;border:2px solid var(--gold)}
.dot-n::before{background:var(--mist);border:1px solid var(--line-2)}
.wdw-key{display:flex;flex-wrap:wrap;gap:18px;margin-top:14px;font-size:.82rem;color:var(--muted)}
/* readiness check */
.ready{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(20px,3vw,40px);align-items:start}
.q-block{border-bottom:1px solid var(--ink-line);padding:18px 0}
.q-block:first-child{padding-top:0}
.q-block legend{font-family:var(--f-display);font-weight:600;font-size:1.05rem;letter-spacing:-.01em;color:#fff;margin-bottom:12px;padding:0}
.q-block fieldset{border:0;margin:0;padding:0}
.q-opts{display:flex;flex-wrap:wrap;gap:8px}
.q-opts input{position:absolute;opacity:0}
.q-opts label{border:1px solid var(--ink-line);border-radius:var(--r-pill);padding:8px 14px;font-size:.86rem;color:#C9D1D6;cursor:pointer;transition:all .2s}
.q-opts label:hover{border-color:#5A6770;color:#fff}
.q-opts input:checked + label{background:var(--gold);border-color:var(--gold);color:var(--ink);font-weight:600}
.q-opts input:focus-visible + label{outline:2px solid var(--gold);outline-offset:2px}
.ready-out{background:#fff;color:var(--text);border-radius:var(--r-lg);padding:28px;display:grid;gap:18px;position:sticky;top:100px}
.ready-meter{display:flex;gap:6px}
.ready-meter i{flex:1;height:8px;border-radius:8px;background:var(--mist);transition:background .3s}
.ready-meter i.on{background:var(--gold)}
.ready-out h3{font-size:1.5rem}
.ready-out ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:.9rem;color:var(--text-2)}
.ready-out li{display:flex;gap:10px;align-items:flex-start}
.ready-out li .icon{margin-top:4px;color:var(--gold-ink);flex:none}
.ready-empty{color:var(--muted);font-size:.9rem}

/* cases (typical situations) */
.cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.case{border:1px solid var(--line);border-radius:var(--r);padding:24px;display:grid;gap:14px;align-content:start;background:var(--bg)}
.case .case-h{display:flex;align-items:center;gap:10px}
.case .case-h .icon{width:36px;height:36px;padding:8px;border-radius:10px;background:var(--sage);color:#2D4A36}
.case h4{font-size:1.15rem}
.case .before,.case .after{font-size:.9rem;color:var(--text-2);display:grid;gap:4px}
.case .before b,.case .after b{font-family:var(--f-label);font-weight:500;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.case .after{padding-top:14px;border-top:1px dashed var(--line-2)}
.case .after b{color:var(--success)}

/* =====================================================================
   ABOUT — editorial / storytelling
   ===================================================================== */
.about-hero{background:var(--paper);padding-block:var(--s8) var(--s9)}
.about-hero .h-display{max-width:14ch;margin-top:var(--s6)}
.about-hero .h-display em{font-style:normal;color:var(--muted)}
.ab-hero-foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s7);margin-top:var(--s8);padding-top:var(--s5);border-top:1px solid var(--line-2);align-items:start}
.ab-hero-foot p{color:var(--text-2);max-width:52ch}
.chapter{display:grid;grid-template-columns:200px minmax(0,1fr);gap:clamp(24px,4vw,64px);padding-block:var(--s8);border-top:1px solid var(--line)}
.chapter:first-child{border-top:0}
.chapter .ch-num{font-family:var(--f-label);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);position:sticky;top:110px;align-self:start;display:grid;gap:10px}
.chapter .ch-num b{font-family:var(--f-display);font-size:3.4rem;letter-spacing:-.05em;color:var(--text);line-height:1}
.ch-body{display:grid;gap:22px;max-width:720px}
.ch-body h2{font-size:clamp(1.8rem,1.3rem + 1.8vw,2.8rem)}
.ch-body p{font-size:1.08rem;line-height:1.7;color:var(--text-2)}
.pull{font-family:var(--f-display);font-weight:600;font-size:clamp(1.4rem,1.1rem + 1.2vw,2.1rem);line-height:1.25;letter-spacing:-.025em;padding-left:24px;border-left:3px solid var(--gold);color:var(--text);margin:8px 0}
.fullbleed{position:relative;height:clamp(320px,42vw,560px);overflow:hidden}
.fullbleed img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fullbleed figcaption{position:absolute;right:var(--gutter);bottom:20px;background:rgba(255,255,255,.94);padding:10px 14px;border-radius:12px;font-size:.82rem;color:var(--text-2);max-width:320px}
.pmv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink-line)}
.pmv > div{padding:28px 28px 0 0;display:grid;gap:14px;align-content:start}
.pmv > div + div{padding-left:28px;border-left:1px solid var(--ink-line)}
.pmv .meta{color:var(--gold)}
.pmv p{font-family:var(--f-display);font-weight:600;font-size:clamp(1.2rem,1rem + .6vw,1.5rem);line-height:1.3;letter-spacing:-.02em;color:#fff}
.wont{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.wont li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;padding:24px 0;border-top:1px solid var(--line)}
.wont .x{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;color:var(--error)}
.wont b{font-family:var(--f-display);font-size:1.15rem;letter-spacing:-.015em;display:block;margin-bottom:6px}
.wont p{font-size:.92rem;color:var(--text-2)}
.approach{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ap{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:grid;gap:12px;align-content:start}
.ap .meta{color:var(--gold-ink)}
.ap h4{font-size:1.15rem}
.ap p{font-size:.9rem;color:var(--text-2)}
.commit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center}
.commit-list{display:grid;gap:10px}
.commit-item{display:flex;gap:14px;align-items:center;padding:16px 18px;border-radius:14px;background:var(--bg);border:1px solid var(--line);font-weight:500}
.commit-item .icon{color:var(--success);font-size:20px}
.split-cta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.split-cta a{display:grid;gap:10px;padding:32px;border-radius:var(--r-lg);text-decoration:none;transition:transform .25s var(--ease)}
.split-cta a:hover{transform:translateY(-3px)}
.split-cta a:first-child{background:var(--gold);color:var(--ink)}
.split-cta a:last-child{background:var(--ink);color:#fff}
.split-cta h3{font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}
.split-cta p{font-size:.92rem;opacity:.8}
.split-cta .go{display:flex;align-items:center;gap:8px;font-weight:600;margin-top:12px}

/* =====================================================================
   COUNSELLORS
   ===================================================================== */
.match{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--bg)}
.match > div{padding:24px;display:grid;gap:10px;align-content:start;position:relative}
.match > div + div{border-left:1px solid var(--line)}
.match > div + div::before{content:"";position:absolute;left:-9px;top:34px;width:16px;height:16px;border-radius:50%;background:var(--bg);border:1px solid var(--line);box-shadow:inset 0 0 0 4px var(--bg),inset 0 0 0 8px var(--gold)}
.match .meta{color:var(--gold-ink)}
.match h4{font-size:1.1rem}
.match p{font-size:.88rem;color:var(--text-2)}
.desks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.desk-lg{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:24px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;transition:border-color .2s,box-shadow .25s}
.desk-lg:hover{border-color:var(--line-2);box-shadow:var(--shadow)}
.desk-lg .dl-main{display:grid;gap:14px;align-content:start}
.desk-lg h3{font-size:1.5rem}
.desk-lg p{font-size:.92rem;color:var(--text-2)}
.desk-lg .dl-side{display:grid;gap:12px;align-content:start;padding-left:24px;border-left:1px solid var(--line);font-size:.84rem}
.desk-lg .dl-side div{display:grid;gap:2px}
.desk-lg .dl-side span{font-family:var(--f-label);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.does{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.does > div{border-radius:var(--r-lg);padding:28px;display:grid;gap:16px;align-content:start}
.does > div:first-child{background:var(--sage)}
.does > div:last-child{background:var(--paper)}

/* =====================================================================
   RESOURCES — discovery / editorial
   ===================================================================== */
.res-hero{background:var(--sage);padding-block:var(--s8) var(--s8)}
.res-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,5vw,80px);align-items:end}
.search{position:relative;margin-top:var(--s6)}
.search .icon{position:absolute;left:20px;top:50%;transform:translateY(-50%);font-size:20px;color:var(--muted)}
.search input{width:100%;height:64px;border-radius:var(--r-pill);border:1px solid var(--line-2);background:var(--bg);padding:0 120px 0 54px;font:inherit;font-size:1.05rem;color:var(--text);transition:border-color .2s,box-shadow .2s}
.search input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px rgba(255,178,0,.3)}
.search .clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);height:44px}
.suggest{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;align-items:center}
.suggest .meta{margin-right:4px}
.sugg{appearance:none;border:1px solid rgba(11,20,26,.14);background:rgba(255,255,255,.6);border-radius:var(--r-pill);padding:6px 12px;font-size:.82rem;cursor:pointer;transition:all .2s}
.sugg:hover{background:#fff;border-color:var(--ink)}
.res-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(11,20,26,.15)}
.res-counts > div{padding:18px 16px 0 0;display:grid;gap:4px}
.res-counts > div + div{padding-left:16px;border-left:1px solid rgba(11,20,26,.12)}
.res-counts b{font-family:var(--f-display);font-size:2.4rem;letter-spacing:-.04em;line-height:1}
.res-counts span{font-size:.84rem;color:var(--text-2)}
.reading-path{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:stretch}
.rp-feature{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:440px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(22px,3vw,36px);text-decoration:none}
.rp-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.rp-feature:hover img{transform:scale(1.03)}
.rp-feature::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,20,26,.9),rgba(11,20,26,.15) 65%)}
.rp-feature > *:not(img){position:relative;z-index:1}
.rp-feature h3{font-size:clamp(1.7rem,1.3rem + 1.4vw,2.5rem);max-width:18ch;margin:10px 0}
.rp-feature p{color:rgba(255,255,255,.85);max-width:48ch;font-size:.95rem}
.rp-feature .meta{color:#D5DCE0}
.path{background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:28px;display:grid;gap:6px;align-content:start}
.path h4{font-size:1.25rem;margin-bottom:8px}
.path p.muted{color:var(--ink-muted);font-size:.88rem;margin-bottom:10px}
.path a{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--ink-line);text-decoration:none}
.path a .n{width:36px;height:36px;border-radius:50%;border:1px solid var(--ink-line);display:grid;place-items:center;font-family:var(--f-label);font-size:.7rem;color:var(--gold)}
.path a b{display:block;font-size:.95rem;font-weight:600}
.path a small{font-size:.78rem;color:var(--ink-muted)}
.path a:hover b{color:var(--gold)}
.filterbar{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:sticky;top:calc(env(safe-area-inset-top,0px) + 72px);background:rgba(255,255,255,.95);backdrop-filter:blur(10px);z-index:5}
.fgroup{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.fgroup .meta{margin-right:6px}
.fsel{height:38px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--bg);padding:0 34px 0 14px;font:inherit;font-size:.84rem;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%235E6A72' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}
.fsel:focus{outline:none;border-color:var(--ink)}
.viewtoggle{display:flex;background:var(--mist);border-radius:var(--r-pill);padding:3px}
.viewtoggle button{appearance:none;border:0;background:none;width:36px;height:32px;border-radius:var(--r-pill);display:grid;place-items:center;cursor:pointer;color:var(--muted)}
.viewtoggle button[aria-pressed="true"]{background:var(--bg);color:var(--text);box-shadow:0 1px 3px rgba(11,20,26,.12)}
.res-meta{display:flex;justify-content:space-between;align-items:center;margin:20px 0;font-size:.88rem;color:var(--muted)}
.res-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px}
.rcard{display:grid;gap:12px;text-decoration:none;align-content:start}
.rcard .r-img{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:16/10;background:var(--paper);max-width:100%}
.rcard .r-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.rcard:hover .r-img img{transform:scale(1.04)}
.rcard .r-type{position:absolute;left:12px;top:12px;font-family:var(--f-label);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;background:rgba(255,255,255,.94);padding:4px 10px;border-radius:var(--r-pill)}
.r-art{position:absolute;inset:0;display:grid;place-items:center}
.r-art svg{width:56%;height:auto}
.rcard h3{font-size:1.2rem;line-height:1.3;transition:color .2s}
.rcard:hover h3{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:4px}
.rcard p{font-size:.88rem;color:var(--text-2)}
.rcard mark{background:var(--gold-soft);color:inherit;border-radius:3px;padding:0 2px}
.res-grid.list{grid-template-columns:1fr;gap:0}
.res-grid.list .rcard{grid-template-columns:200px minmax(0,1fr);gap:24px;padding:20px 0;border-bottom:1px solid var(--line);align-items:center}
.res-grid.list .rcard .r-img{aspect-ratio:16/10}
.rcard .r-txt{display:grid;gap:8px}
.empty{border:1px dashed var(--line-2);border-radius:var(--r-lg);padding:48px 24px;display:grid;justify-items:center;gap:12px;text-align:center}
.empty .icon{font-size:32px;color:var(--faint)}
.empty h4{font-size:1.25rem}
.empty p{color:var(--muted);font-size:.92rem;max-width:44ch}
.glossary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px}
.gl{padding:20px 0;border-top:1px solid var(--line);display:grid;gap:6px}
.gl dt{font-family:var(--f-display);font-weight:700;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}
.gl dt .flag{width:22px;height:15px}
.gl dd{margin:0;font-size:.88rem;color:var(--text-2)}

/* ---------- Article ---------- */
.progress{position:fixed;top:0;left:0;height:3px;background:var(--gold);width:0;z-index:70;transition:width .1s linear}
.art-head{padding-block:var(--s7) var(--s7);display:grid;gap:20px;max-width:860px}
.art-head h1{font-size:clamp(2.2rem,1.4rem + 3vw,3.8rem)}
.art-head .lead{max-width:60ch}
.art-meta{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;font-size:.86rem;color:var(--muted)}
.art-meta span{display:inline-flex;align-items:center;gap:8px}
.art-cover{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:21/9;position:relative;max-width:100%}
.art-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.art-layout{display:grid;grid-template-columns:220px minmax(0,1fr) 260px;gap:clamp(24px,4vw,56px);padding-block:var(--s8);align-items:start}
.toc{position:sticky;top:110px;display:grid;gap:4px}
.toc a{display:block;padding:6px 0 6px 14px;border-left:2px solid var(--line);font-size:.86rem;color:var(--muted);text-decoration:none;transition:all .2s}
.toc a:hover{color:var(--text)}
.toc a.on{border-color:var(--gold);color:var(--text);font-weight:600}
.art-body{display:grid;gap:22px;max-width:680px;font-size:1.06rem;line-height:1.75;color:var(--text-2)}
.art-body h2{font-size:clamp(1.5rem,1.2rem + 1vw,2rem);color:var(--text);margin-top:20px;scroll-margin-top:110px}
.art-body ul{margin:0;padding-left:1.2em;display:grid;gap:8px}
.art-body li::marker{color:var(--gold-ink)}
.takeaways{background:var(--sage);border-radius:var(--r);padding:24px;display:grid;gap:12px}
.takeaways h3{font-size:1.1rem}
.art-aside{position:sticky;top:110px;display:grid;gap:16px}
.aside-card{border:1px solid var(--line);border-radius:var(--r);padding:20px;display:grid;gap:12px}
.aside-card.ink{background:var(--ink);color:#fff;border-color:var(--ink)}
.aside-card.ink p{color:var(--ink-muted);font-size:.88rem}
.aside-card h4{font-size:1.05rem}
.share{display:flex;gap:8px}
.copied{font-size:.8rem;color:var(--success)}

/* =====================================================================
   CONTACT — reassurance / conversation
   ===================================================================== */
.contact-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center;padding-block:var(--s6) var(--s8)}
.after-card{background:var(--paper);border-radius:var(--r-lg);padding:clamp(22px,3vw,36px);display:grid;gap:4px}
.after-card h3{font-size:1.25rem;margin-bottom:10px}
.after-step{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;padding:16px 0;position:relative}
.after-step + .after-step{border-top:1px solid rgba(11,20,26,.08)}
.after-step .ico{width:40px;height:40px;border-radius:50%;background:var(--bg);display:grid;place-items:center;border:1px solid var(--line)}
.after-step:first-of-type .ico{background:var(--gold);border-color:var(--gold)}
.after-step b{display:block;font-size:.98rem}
.after-step span{font-size:.88rem;color:var(--text-2)}
.reasons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.reason{appearance:none;text-align:left;cursor:pointer;background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:18px;display:grid;gap:10px;align-content:start;transition:all .2s}
.reason:hover{border-color:var(--line-2);box-shadow:var(--shadow)}
.reason[aria-pressed="true"]{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.reason .r-ico{width:38px;height:38px;border-radius:11px;background:var(--mist);display:grid;place-items:center}
.reason[aria-pressed="true"] .r-ico{background:var(--gold)}
.reason b{font-family:var(--f-display);font-size:1rem;letter-spacing:-.01em;line-height:1.3}
.reason small{font-size:.8rem;color:var(--muted);line-height:1.45}
.contact-main{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(24px,4vw,56px);align-items:start;margin-top:var(--s6)}
.contact-form{border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(22px,3vw,36px);display:grid;gap:18px}
.contact-form h3{font-size:1.4rem}
.form-hint{font-size:.84rem;color:var(--muted)}
.channels{display:grid;gap:10px}
.channel{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;padding:18px;border:1px solid var(--line);border-radius:var(--r);align-items:start}
.channel .ico{width:40px;height:40px;border-radius:12px;background:var(--mist);display:grid;place-items:center}
.channel b{display:block;font-size:.96rem}
.channel span{font-size:.86rem;color:var(--text-2);display:block}
.channel .copy{appearance:none;border:0;background:none;padding:0;margin-top:6px;font-size:.8rem;font-weight:600;color:var(--text);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.ref{font-family:var(--f-label);font-size:.8rem;background:var(--paper);padding:6px 10px;border-radius:8px;letter-spacing:.06em}
.char{font-size:.74rem;color:var(--faint);justify-self:end}

/* =====================================================================
   OFFICES — place / visit
   ===================================================================== */
.off-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:var(--s5)}
.off-tab{appearance:none;cursor:pointer;border:1px solid var(--line);background:var(--bg);border-radius:var(--r-pill);padding:10px 18px;font-weight:600;font-size:.92rem;display:flex;align-items:center;gap:8px;transition:all .2s}
.off-tab:hover{border-color:var(--ink)}
.off-tab[aria-selected="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.off-tab small{font-family:var(--f-label);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;background:var(--gold);color:var(--ink);padding:2px 6px;border-radius:4px}
.off-stage{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:16px;animation:fadeUp .3s var(--ease)}
.off-photo{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:480px}
.off-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.off-photo .off-name{position:absolute;left:24px;bottom:24px;right:24px;color:#fff;z-index:1}
.off-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,20,26,.8),rgba(11,20,26,0) 55%)}
.off-photo .off-name h2{font-size:clamp(2.4rem,1.6rem + 3vw,4rem);letter-spacing:-.04em}
.off-info{background:var(--paper);border-radius:var(--r-lg);padding:28px;display:grid;gap:18px;align-content:start}
.off-row{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start;font-size:.92rem}
.off-row .ico{width:36px;height:36px;border-radius:10px;background:var(--bg);display:grid;place-items:center}
.off-row b{display:block;font-size:.8rem;font-family:var(--f-label);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.hours{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:6px}
.hours span{text-align:center;font-family:var(--f-label);font-size:.6rem;padding:6px 0;border-radius:6px;background:var(--bg)}
.hours span.on{background:var(--ink);color:#fff}
.hours span.today{box-shadow:0 0 0 2px var(--gold)}
.visit-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;counter-reset:v}
.visit-steps > div{padding:24px 24px 0 0;display:grid;gap:10px;border-top:2px solid var(--ink);counter-increment:v;align-content:start}
.visit-steps > div + div{padding-left:24px}
.visit-steps > div::before{content:"0" counter(v);font-family:var(--f-label);font-size:.72rem;color:var(--gold-ink)}
.visit-steps h4{font-size:1.15rem}
.visit-steps p{font-size:.9rem;color:var(--text-2)}
.bring{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bring div{display:flex;gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--bg);font-size:.92rem}
.bring .icon{color:var(--gold-ink);font-size:18px}

/* =====================================================================
   BOOK — conversion flow
   ===================================================================== */
.book-wrap{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:clamp(24px,4vw,56px);align-items:start;padding-block:var(--s5) var(--s9)}
.book-head{display:grid;gap:12px;margin-bottom:var(--s6)}
.book-head h1{font-size:clamp(2.2rem,1.4rem + 2.6vw,3.4rem)}
.steps-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:var(--s6)}
.steps-bar button{appearance:none;border:0;background:none;padding:0;text-align:left;cursor:pointer;display:grid;gap:8px;font-size:.78rem;color:var(--muted)}
.steps-bar button[disabled]{cursor:default}
.steps-bar i{height:4px;border-radius:4px;background:var(--line);transition:background .3s}
.steps-bar .done i,.steps-bar .cur i{background:var(--gold)}
.steps-bar .cur{color:var(--text);font-weight:600}
.step-pane{display:grid;gap:20px;animation:fadeUp .3s var(--ease)}
.step-pane h2{font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}
.opt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.opt-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.opt{position:relative}
.opt input{position:absolute;opacity:0}
.opt label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:var(--r);cursor:pointer;transition:all .2s;height:100%}
.opt label .o-ico{grid-row:1/3;width:40px;height:40px;border-radius:12px;background:var(--mist);display:grid;place-items:center}
.opt label b{font-weight:600;font-size:.96rem}
.opt label small{font-size:.8rem;color:var(--muted)}
.opt label:hover{border-color:var(--line-2)}
.opt input:checked + label{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.opt input:checked + label .o-ico{background:var(--gold)}
.opt input:focus-visible + label{outline:2px solid var(--gold);outline-offset:2px}
.days{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.day{appearance:none;border:1px solid var(--line);background:var(--bg);border-radius:14px;padding:12px 6px;cursor:pointer;display:grid;gap:2px;justify-items:center;transition:all .2s}
.day small{font-family:var(--f-label);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.day b{font-family:var(--f-display);font-size:1.4rem;letter-spacing:-.03em}
.day:hover{border-color:var(--ink)}
.day[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.day[aria-pressed="true"] small{color:#C9D1D6}
.slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.slot{appearance:none;border:1px solid var(--line);background:var(--bg);border-radius:12px;height:46px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}
.slot:hover:not([disabled]){border-color:var(--ink)}
.slot[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);font-weight:600}
.slot[disabled]{background:var(--mist);color:var(--faint);cursor:not-allowed;text-decoration:line-through}
.step-nav{display:flex;justify-content:space-between;gap:12px;padding-top:20px;border-top:1px solid var(--line)}
.summary{position:sticky;top:100px;background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:28px;display:grid;gap:18px}
.summary h3{font-size:1.2rem}
.sum-rows{display:grid;border-top:1px solid var(--ink-line)}
.sum-rows > div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--ink-line);font-size:.88rem}
.sum-rows span{color:var(--ink-muted)}
.sum-rows b{text-align:right;font-weight:500}
.sum-rows b.empty-v{color:#5A6770;font-weight:400}
.summary .promise-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:.86rem;color:#C9D1D6}
.summary .promise-list li{display:flex;gap:10px}
.summary .promise-list .icon{color:var(--gold);margin-top:3px}
.confirm{display:grid;gap:24px;animation:fadeUp .4s var(--ease)}
.confirm .ok-ico{width:64px;height:64px;border-radius:50%;background:#E3F3EA;color:var(--success);display:grid;place-items:center}
.confirm .ok-ico .icon{font-size:30px}
.ticket{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.ticket-top{background:var(--paper);padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.ticket-body{padding:8px 24px}
.ticket-body > div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.92rem}
.ticket-body > div:last-child{border-bottom:0}
.ticket-body span{color:var(--muted)}

/* =====================================================================
   COMPARE — tool
   ===================================================================== */
.cmp-pick{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cmp-chip{appearance:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--bg);border-radius:var(--r-pill);padding:8px 16px 8px 8px;font-weight:600;font-size:.9rem;transition:all .2s}
.cmp-chip:hover{border-color:var(--ink)}
.cmp-chip[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.cmp-chip .flag{width:26px;height:18px}
.cmp-msg{font-size:.84rem;color:var(--muted);min-height:1.4em}
.cmp-scroll{overflow-x:auto;margin-top:var(--s5);border:1px solid var(--line);border-radius:var(--r-lg)}
.cmp{width:100%;border-collapse:collapse;min-width:720px}
.cmp th,.cmp td{padding:18px 20px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:.92rem}
.cmp thead th{background:var(--paper);vertical-align:bottom}
.cmp thead .ch{display:grid;gap:10px}
.cmp thead .ch b{font-family:var(--f-display);font-size:1.3rem;letter-spacing:-.02em}
.cmp tbody th{font-family:var(--f-label);font-weight:500;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);width:180px;padding-top:21px}
.cmp tbody tr:last-child td,.cmp tbody tr:last-child th{border-bottom:0}
.cmp td .months{min-width:220px}
.cmp tr.hl td{background:#FFFBEF}
.cmp-row-toggle{display:flex;align-items:center;gap:8px;font-size:.84rem;margin-top:14px;color:var(--text-2)}

/* =====================================================================
   DESTINATION — country page (Elevated Design System)
   ===================================================================== */
.dest-hero-immersive{
  position: relative;
  border-radius: var(--r-lg);
  overflow: hidden;
  color: #fff;
  background-size: cover;
  background-position: center;
  min-height: clamp(560px, 58vw, 720px);
  display: grid;
  align-items: center;
  isolation: isolate;
}
.dest-hero-immersive::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(11,20,26,.95) 0%, rgba(11,20,26,.88) 45%, rgba(11,20,26,.6) 75%, rgba(11,20,26,.35) 100%),
    linear-gradient(0deg, rgba(11,20,26,.85) 0%, rgba(11,20,26,0) 50%);
}
.dest-hero-body{
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(360px, 440px);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  padding: clamp(28px, 4vw, 64px);
  width: 100%;
}
.dest-hero-copy{
  display: grid;
  gap: 16px;
  max-width: 720px;
  animation: rise .9s .1s var(--ease) both;
}
.dest-badge-row{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.dest-hero-copy h1{
  font-size: clamp(2.1rem, 1.5rem + 1.8vw, 3.1rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: #fff;
  margin: 0;
}
.dest-hero-copy h1 em{
  font-style: normal;
  color: var(--gold);
}
.dest-hero-intro{
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.94rem;
  line-height: 1.55;
  max-width: 620px;
  margin: 0;
}
.dest-hero-search{
  margin-top: 8px;
  max-width: 620px;
}
.dest-search-bar{
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 100px;
  padding: 6px 8px 6px 18px;
  transition: all 0.3s;
}
.dest-search-bar:focus-within{
  background: rgba(255, 255, 255, 0.2);
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(229, 169, 59, 0.25);
}
.dest-search-field{
  display: flex;
  align-items: center;
  gap: 12px;
}
.dest-search-ico{
  color: var(--gold);
  display: flex;
  align-items: center;
}
.dest-search-ico .icon{
  width: 18px;
  height: 18px;
}
.dest-search-field input{
  flex: 1;
  border: none;
  background: none;
  color: #fff;
  font-size: 0.92rem;
  outline: none;
  font-family: var(--f-body);
}
.dest-search-field input::placeholder{
  color: rgba(255, 255, 255, 0.65);
}
.hero-other-dests{
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 4px;
}
.dest-quick-pills{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.dest-qp{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 100px;
  padding: 5px 12px;
  color: #fff;
  font-size: 0.8rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s;
}
.dest-qp:hover{
  background: rgba(255, 255, 255, 0.2);
  border-color: #fff;
  transform: translateY(-1px);
}
.dest-qp .flag{
  width: 18px;
  height: 13px;
  display: inline-flex;
  border-radius: 2px;
  overflow: hidden;
}
.dest-qp .flag svg{
  width: 100%;
  height: 100%;
  display: block;
}
.dest-snapshot-wrap{
  display: flex;
  justify-content: flex-end;
  animation: rise .9s .3s var(--ease) both;
}
.dest-snapshot-card{
  background: #ffffff;
  color: var(--text);
  border-radius: 20px;
  padding: 26px 24px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  box-shadow: 0 24px 50px -12px rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.3);
  width: 100%;
  max-width: 440px;
  transition: all 0.3s var(--ease);
}
.dest-snapshot-card:hover{
  box-shadow: 0 30px 60px -12px rgba(0, 0, 0, 0.55);
}
.dsc-top{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 14px;
}
.dsc-country{
  display: flex;
  align-items: center;
  gap: 12px;
}
.dsc-flag .flag{
  width: 36px;
  height: 26px;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  display: inline-flex;
  overflow: hidden;
}
.dsc-flag .flag svg{
  width: 100%;
  height: 100%;
  display: block;
}
.dsc-country h3{
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--ink);
  margin: 0;
  line-height: 1.2;
}
.dsc-psw-badge{
  background: var(--gold-soft);
  color: var(--gold-ink);
  border: 1px solid rgba(199, 134, 13, 0.3);
  padding: 4px 10px;
  border-radius: 100px;
  font-family: var(--f-label);
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.dsc-grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.dsc-item{
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.dsc-ico{
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid var(--line);
  color: var(--gold-ink);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.dsc-ico .icon{
  width: 15px;
  height: 15px;
}
.dsc-lbl{
  display: block;
  font-family: var(--f-label);
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted);
  font-weight: 600;
}
.dsc-val{
  display: block;
  font-size: 0.86rem;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.2;
  margin-top: 2px;
}
.dsc-foot{
  border-top: 1px solid var(--line);
  padding-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.dsc-desk-info{
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.dsc-desk-info strong{
  font-size: 0.85rem;
  color: var(--ink);
}

/* Trust strip */
.dest-trust-strip{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.dts-card{
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 20px;
  display: flex;
  gap: 14px;
  align-items: start;
  box-shadow: 0 4px 16px rgba(0,0,0,0.04);
  transition: transform 0.2s, box-shadow 0.2s;
}
.dts-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}
.dts-ico{
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: var(--gold-soft);
  color: var(--gold-ink);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.dts-ico .icon{
  width: 18px;
  height: 18px;
}
.dts-card h4{
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0 0 4px;
  color: var(--ink);
  line-height: 1.25;
}
.dts-card p{
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.45;
  color: var(--text-2);
}

/* Fit cards */
.fit-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.fit-card{
  border-radius: 20px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  border: 1px solid var(--line);
}
.good-card{
  background: #F2F8F5;
  border-color: rgba(46, 125, 50, 0.2);
}
.think-card{
  background: #FDF9F3;
  border-color: rgba(217, 119, 6, 0.2);
}
.fc-head{
  display: flex;
  flex-direction: column;
  gap: 8px;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  padding-bottom: 16px;
}
.fc-badge{
  align-self: flex-start;
  font-family: var(--f-label);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 6px;
}
.fc-good{
  background: #D7EDE1;
  color: #1E663B;
}
.fc-think{
  background: #FCE8D3;
  color: #8A4B08;
}
.fit-card h3{
  font-size: 1.35rem;
  font-weight: 800;
  margin: 0;
  color: var(--ink);
}
.fit-card .ticklist{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.fit-card .ticklist li{
  display: flex;
  align-items: start;
  gap: 12px;
  font-size: 0.92rem;
  line-height: 1.45;
}
.good-card .ticklist .icon{
  color: #1E663B;
  flex-shrink: 0;
  margin-top: 2px;
}
.think-card .ticklist.x .icon{
  color: #B45309;
  flex-shrink: 0;
  margin-top: 2px;
}

/* Work rights */
.dest-work-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.dest-work-card{
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  box-shadow: var(--sh-sm);
  transition: transform 0.2s, box-shadow 0.2s;
}
.dest-work-card.featured{
  border-color: var(--gold);
  box-shadow: 0 12px 32px rgba(199, 134, 13, 0.12);
}
.dest-work-card:hover{
  transform: translateY(-2px);
  box-shadow: var(--sh);
}
.dwc-head{
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.dwc-ico{
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--mist);
  color: var(--gold-ink);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 6px;
}
.dwc-head h3{
  font-size: 1.25rem;
  font-weight: 800;
  margin: 0;
  color: var(--ink);
}
.dwc-stat{
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.dwc-stat-lbl{
  font-family: var(--f-label);
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted);
  font-weight: 600;
}
.dwc-val{
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--ink);
}
.dwc-body{
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.dwc-item strong{
  display: block;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 2px;
}
.dwc-item p{
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.45;
  color: var(--text-2);
}
.dwc-foot{
  border-top: 1px solid var(--line);
  padding-top: 12px;
  margin-top: auto;
}
.dwc-foot small{
  font-size: 0.78rem;
  color: var(--muted);
  line-height: 1.4;
  display: block;
}

/* Pakistani Credentials Grid */
.dest-creds-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.dcred-card{
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 26px 22px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: var(--sh-sm);
  transition: transform 0.2s, box-shadow 0.2s;
}
.dcred-card:hover{
  transform: translateY(-2px);
  box-shadow: var(--sh);
}
.dcred-ico{
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--gold-soft);
  color: var(--gold-ink);
  display: flex;
  align-items: center;
  justify-content: center;
}
.dcred-card h4{
  font-size: 1.15rem;
  font-weight: 750;
  margin: 0;
  color: var(--ink);
}
.dcred-badge{
  font-family: var(--f-label);
  font-size: 0.66rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--gold-ink);
  background: var(--gold-soft);
  padding: 4px 10px;
  border-radius: 6px;
  align-self: flex-start;
  font-weight: 700;
}
.dcred-card p{
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.5;
  color: var(--text-2);
}

.visa-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;counter-reset:vs}
.visa-steps li{border:1px solid var(--line);border-radius:var(--r);padding:20px;display:grid;gap:8px;align-content:start;counter-increment:vs;position:relative;background:#ffffff;box-shadow:var(--sh-sm)}
.visa-steps li::before{content:counter(vs,decimal-leading-zero);font-family:var(--f-label);font-size:.7rem;color:var(--gold-ink);font-weight:700}
.visa-steps b{font-family:var(--f-display);font-size:1.05rem;letter-spacing:-.01em;color:var(--ink)}
.visa-steps span{font-size:.86rem;color:var(--text-2);line-height:1.45}
.term{display:inline-block;font-family:var(--f-label);font-size:.66rem;letter-spacing:.06em;background:var(--mist);padding:2px 6px;border-radius:5px;color:var(--text-2)}
.cost-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:none}
.cost-list > div{background:#ffffff;border:1px solid var(--line);border-radius:var(--r);padding:22px 20px;display:grid;gap:6px;align-content:start;box-shadow:var(--sh-sm);transition:all 0.2s}
.cost-list > div:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:var(--sh)}
.cost-list b{font-size:.96rem;color:var(--ink)}
.cost-list span{font-size:.86rem;color:var(--text-2);line-height:1.45}
.cost-list .icon{color:var(--gold-ink);font-size:22px;margin-bottom:6px}
.next-dest{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:24px 0;border-top:1px solid var(--line)}
.next-dest a{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--f-display);font-weight:700;font-size:1.2rem;letter-spacing:-.02em;color:var(--ink);transition:color 0.2s}
.next-dest a:hover{color:var(--gold-ink)}
.next-dest a small{display:block;font-family:var(--f-label);font-weight:500;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* =====================================================================
   SERVICE DETAIL — expertise / explanation / proof
   ===================================================================== */
.sd-hero{padding-block:var(--s6) var(--s8);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(24px,5vw,80px);align-items:end;position:relative}
.sd-hero .ghost{position:absolute;right:0;top:-10px;font-family:var(--f-display);font-weight:800;font-size:clamp(8rem,4rem + 14vw,18rem);line-height:.8;letter-spacing:-.06em;color:var(--mist);z-index:-1;user-select:none}
.sd-hero h1{font-size:clamp(2.4rem,1.4rem + 3.6vw,4.4rem)}
.sd-q{font-family:var(--f-display);font-size:clamp(1.2rem,1rem + .6vw,1.5rem);font-weight:600;color:var(--muted);letter-spacing:-.02em}
.sd-q q{color:var(--text);quotes:"\201C" "\201D"}
.sd-meta{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg);padding:8px 24px}
.sd-meta > div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.sd-meta > div:last-child{border-bottom:0}
.sd-meta span{color:var(--muted)}
.sd-meta b{font-weight:600;text-align:right}
.stage-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:var(--s5)}
.stage-rail a{display:grid;gap:8px;text-decoration:none;font-size:.78rem;color:var(--muted)}
.stage-rail a i{height:4px;border-radius:4px;background:var(--line)}
.stage-rail a.done i{background:var(--ink)}
.stage-rail a.cur{color:var(--text);font-weight:600}
.stage-rail a.cur i{background:var(--gold)}
.incl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.incl > div{border-top:2px solid var(--ink);padding-top:18px;display:grid;gap:8px;align-content:start}
.incl .icon{font-size:22px;color:var(--gold-ink)}
.incl h4{font-size:1.1rem}
.incl p{font-size:.9rem;color:var(--text-2)}
.proof{background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:clamp(24px,4vw,56px);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,56px);align-items:center}
.proof-copy{display:grid;gap:16px}
.proof-copy p{color:var(--ink-muted)}
.artifact{background:#fff;color:var(--text);border-radius:var(--r);padding:20px;display:grid;gap:12px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.artifact-h{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.artifact-h b{font-family:var(--f-display);font-size:1rem}
.a-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--paper);font-size:.86rem}
.a-row b{display:block;font-size:.9rem}
.a-row small{color:var(--muted);font-size:.78rem}
.pill{font-family:var(--f-label);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:6px;white-space:nowrap}
.pill.reach{background:#E8E4F5;color:#4A3F7A}
.pill.match{background:var(--gold-soft);color:var(--gold-ink)}
.pill.safe{background:var(--sage);color:#2D4A36}
.pill.wait{background:var(--mist);color:var(--text-2)}
.pill.ok{background:#E3F3EA;color:var(--success)}
.pill.cond{background:var(--gold-soft);color:var(--gold-ink)}
.a-seg{display:flex;gap:6px;flex-wrap:wrap}
.a-seg button{appearance:none;border:1px solid var(--line);background:var(--bg);border-radius:var(--r-pill);padding:5px 10px;font-size:.78rem;font-weight:500;cursor:pointer}
.a-seg button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.countdown{display:grid;gap:0}
.cd-row{display:grid;grid-template-columns:90px minmax(0,1fr);gap:14px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.86rem}
.cd-row:last-child{border-bottom:0}
.cd-row .meta{color:var(--gold-ink);padding-top:2px}
.pitfalls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.pitfalls > div{display:grid;grid-template-columns:32px minmax(0,1fr);gap:14px;padding:22px 0;border-top:1px solid var(--line)}
.pitfalls .icon{color:var(--error);font-size:20px;margin-top:3px}
.pitfalls b{display:block;font-size:1rem;margin-bottom:4px}
.pitfalls p{font-size:.9rem;color:var(--text-2)}
.next-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.next-stage a{display:grid;gap:8px;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;text-decoration:none;transition:border-color .2s,transform .25s var(--ease)}
.next-stage a:hover{border-color:var(--ink);transform:translateY(-2px)}
.next-stage a.primary{background:var(--gold);border-color:var(--gold)}
.next-stage a h3{font-size:1.4rem}
.next-stage a p{font-size:.9rem;color:var(--text-2)}
.next-stage a.primary p{color:var(--ink)}

/* =====================================================================
   FAQ page / Legal / Sitemap / 404
   ===================================================================== */
.faq-hero{padding-block:var(--s6) var(--s7);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:end}
.faq-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start;padding-bottom:var(--s9)}
.faq-cats{position:sticky;top:110px;display:grid;gap:2px}
.faq-cats button{appearance:none;border:0;background:none;text-align:left;padding:10px 14px;border-radius:12px;font-size:.92rem;font-weight:500;cursor:pointer;display:flex;justify-content:space-between;color:var(--text-2);transition:background .2s}
.faq-cats button:hover{background:var(--paper)}
.faq-cats button[aria-pressed="true"]{background:var(--ink);color:#fff}
.faq-cats button span{font-family:var(--f-label);font-size:.7rem;opacity:.7}
.faq-group h3{font-family:var(--f-label);font-weight:500;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:var(--s6) 0 4px}
.faq-group:first-child h3{margin-top:0}
.legal{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(24px,4vw,64px);padding-block:var(--s6) var(--s9);align-items:start}
.legal-nav{position:sticky;top:110px;display:grid;gap:2px}
.legal-nav a{padding:9px 14px;border-radius:12px;text-decoration:none;font-size:.92rem;color:var(--text-2)}
.legal-nav a:hover{background:var(--paper)}
.legal-nav a.on{background:var(--paper);color:var(--text);font-weight:600}
.legal-body{max-width:720px;display:grid;gap:18px;color:var(--text-2);line-height:1.75}
.legal-body h1{font-size:clamp(2.2rem,1.5rem + 2vw,3.2rem);color:var(--text)}
.legal-body h2{font-size:1.35rem;color:var(--text);margin-top:14px}
.legal-body ul{margin:0;padding-left:1.2em;display:grid;gap:6px}
.smap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.smap h3{font-size:1.1rem;margin-bottom:12px}
.smap ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.smap a{text-decoration:none;font-size:.94rem;color:var(--text-2)}
.smap a:hover{color:var(--text);text-decoration:underline}
.nf{padding-block:var(--s10);display:grid;gap:20px;justify-items:start}

/* =====================================================================
   Responsive for page layer
   ===================================================================== */
@media (max-width:1080px){
  .mega{min-width:480px}
  .ah-grid,.study-hero,.study-hero-body,.dest-hero-body,.field-explorer,.balance,.prep,.svc-hero-grid,.stage-pick,.ready,.reading-path,.res-hero-grid,.contact-hero,.contact-main,.off-stage,.book-wrap,.dhero,.sd-hero,.proof,.faq-hero,.commit{grid-template-columns:1fr}
  .dest-snapshot-wrap{justify-content:stretch}
  .dest-snapshot-card{max-width:100%}
  .dest-trust-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .level-card-wrap{justify-content:stretch}
  .level-card{max-width:100%}
  .sch-tiers-grid{grid-template-columns:1fr}
  .sch-steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sch-facts-strip{grid-template-columns:1fr}
  .fe-list{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .numbers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .numbers > div:nth-child(3){padding-left:0;border-left:0}
  .numbers > div:nth-child(n+3){border-top:1px solid var(--line);margin-top:20px}
  .country-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cases,.approach{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .res-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .glossary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .art-layout{grid-template-columns:minmax(0,1fr)}
  .toc,.art-aside{position:static}
  .toc{display:none}
  .reasons{grid-template-columns:repeat(3,minmax(0,1fr))}
  .summary,.ready-out{position:static}
  .match{grid-template-columns:repeat(2,minmax(0,1fr))}
  .match > div:nth-child(3){border-left:0}
  .match > div:nth-child(n+3){border-top:1px solid var(--line)}
  .match > div:nth-child(3)::before{display:none}
  .desks{grid-template-columns:1fr}
  .visa-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .smap{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sd-hero .ghost{font-size:9rem}
}
@media (max-width:900px){
  .faq-layout,.legal{grid-template-columns:1fr}
  .faq-cats,.legal-nav{position:static;display:flex;flex-wrap:wrap;gap:6px}
  .faq-cats button{border:1px solid var(--line);border-radius:var(--r-pill);padding:8px 14px}
  .svc-row{grid-template-columns:1fr}
  .svc-row:nth-child(even) .svc-img{order:0}
  .chapter{grid-template-columns:1fr;gap:16px}
  .chapter .ch-num{position:static;grid-auto-flow:column;justify-content:start;align-items:end;gap:16px}
  .ab-hero-foot{grid-template-columns:1fr}
  .pmv{grid-template-columns:1fr}
  .pmv > div + div{padding-left:0;border-left:0;border-top:1px solid var(--ink-line);margin-top:24px}
  .wont,.pitfalls{grid-template-columns:1fr}
  .pw-row{grid-template-columns:1fr}
  .pw-arrow{height:28px}
  .pw-arrow::before{left:24px;right:auto;top:0;bottom:0;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--line-2) 0 6px,transparent 6px 12px)}
  .pw-arrow .icon{right:auto;transform:rotate(90deg)}
  .visit-steps{grid-template-columns:1fr;gap:20px}
  .visit-steps > div + div{padding-left:0}
  .qfacts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qfacts > div:nth-child(3){padding-left:0;border-left:0}
  .qfacts > div:nth-child(n+3){border-top:1px solid var(--line)}
  .incl{grid-template-columns:1fr}
  .next-stage,.split-cta,.fit,.does{grid-template-columns:1fr}
  .fit-grid,.dest-work-grid,.dest-creds-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .mega{display:none}
  .dest-trust-strip{grid-template-columns:1fr}
  .dsc-grid{grid-template-columns:1fr}
  .dest-search-bar{border-radius:18px;padding:8px 12px}
  .dest-search-field{flex-direction:column;align-items:stretch;gap:8px}
  .def > div{grid-template-columns:1fr;gap:6px}
  .ah-photo{min-height:340px}
  .numbers{grid-template-columns:1fr 1fr}
  .numbers > div,.numbers > div + div{padding:18px 12px 0 0;border-left:0}
  .fe-list{grid-template-columns:1fr}
  .fe-cols,.split-lists{grid-template-columns:1fr}
  .lc-rows > div{grid-template-columns:1fr;gap:4px}
  .country-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cases,.approach,.sch-grid,.sch-steps-grid,.res-grid,.glossary,.bring,.cost-list{grid-template-columns:1fr}
  .res-grid.list .rcard{grid-template-columns:110px minmax(0,1fr);gap:14px}
  .res-counts b{font-size:1.8rem}
  .reasons{grid-template-columns:1fr 1fr}
  .opt-grid,.opt-grid.three{grid-template-columns:1fr}
  .days{grid-template-columns:repeat(3,minmax(0,1fr))}
  .slots{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps-bar button span{display:none}
  .match{grid-template-columns:1fr}
  .match > div + div{border-left:0;border-top:1px solid var(--line)}
  .match > div::before{display:none}
  .desk-lg{grid-template-columns:1fr}
  .desk-lg .dl-side{padding-left:0;border-left:0;padding-top:14px;border-top:1px solid var(--line);grid-template-columns:1fr 1fr}
  .visa-steps{grid-template-columns:1fr}
  .smap{grid-template-columns:1fr 1fr}
  .search input{height:56px;padding-right:20px}
  .search .clear{display:none}
  .filterbar{position:static}
  .off-photo{min-height:340px}
  .bal-row{grid-template-columns:70px minmax(0,1fr) 30px}
  .sd-hero .ghost{font-size:6rem}
  .dhero-copy h1{font-size:3rem}
}

.desk.person{grid-template-rows:none;overflow:visible}
.final.final-row{grid-template-columns:minmax(0,1.2fr) auto}
.final.final-row2{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
@media (max-width:1080px){.final.final-row,.final.final-row2{grid-template-columns:1fr}}

/* ================================================================
   LOOKUP PLATFORM DESIGN EXTENSIONS (Modern Web Guidance & Standards)
   Brand Colors: --ink (#0B141A) · --gold (#FFB200) · --sage (#EDF2EC) · --paper (#F3F2ED)
   ================================================================ */

/* --- Atmospheric Dark Canvas with Ambient Mesh & Radial Glow --- */
.bg-ink-deep{
  background-color: var(--ink);
  background-image:
    radial-gradient(ellipse 80% 50% at 50% -10%, rgba(255, 178, 0, 0.14), transparent 70%),
    radial-gradient(circle at 100% 100%, rgba(30, 94, 255, 0.08), transparent 50%),
    radial-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px);
  background-size: 100% 100%, 100% 100%, 28px 28px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.bg-ink-deep .sec-sub, .bg-ink .sec-sub{
  color: rgba(255,255,255,0.72);
  max-width: 65ch;
  line-height: 1.6;
}
.bg-ink-deep h2, .bg-ink h2{color: #fff}

/* --- Bounded Iconography System --- */
.icon-box{
  width: 46px; height: 46px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease);
}
.icon-box .icon{width: 22px; height: 22px; stroke-width: 2;}
.icon-box-gold{
  background: rgba(255, 178, 0, 0.14);
  border: 1px solid rgba(255, 178, 0, 0.32);
  color: var(--gold);
}
.icon-box-ink{
  background: rgba(11, 20, 26, 0.06);
  border: 1px solid var(--line);
  color: var(--ink);
}
.icon-box-sage{
  background: rgba(31, 122, 77, 0.12);
  border: 1px solid rgba(31, 122, 77, 0.28);
  color: var(--success);
}
.icon-box-dark{
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #fff;
}

/* --- Enhanced Split Hero & Interactive Course Explorer --- */
.hero-split-grid{
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.85fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
  position: relative;
  z-index: 2;
  padding: clamp(32px, 5vw, 64px) 0;
}
@media (max-width: 960px){
  .hero-split-grid{grid-template-columns: 1fr; gap: 36px;}
}

.hero-search-wrap{
  margin-top: 24px;
  margin-bottom: 22px;
  max-width: 660px;
}
.hero-level-tabs{
  display: flex;
  gap: 8px;
  margin-bottom: 10px;
}
.level-tab-btn{
  background: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 100px;
  padding: 5px 14px;
  font-size: 0.76rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  backdrop-filter: blur(8px);
}
.level-tab-btn:hover{
  background: rgba(255, 255, 255, 0.22);
  color: #fff;
}
.level-tab-btn.active{
  background: var(--gold);
  color: var(--ink);
  border-color: var(--gold);
  font-weight: 700;
}

.hero-search-box{
  display: flex;
  align-items: center;
  background: #ffffff;
  border: 2px solid var(--line);
  border-radius: 16px;
  padding: 6px 8px 6px 18px;
  box-shadow: var(--sh-lg);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.hero-search-box:focus-within{
  border-color: var(--gold);
  box-shadow: var(--sh-glow);
}
.hero-search-box svg{
  color: var(--muted);
  width: 22px; height: 22px;
  margin-right: 12px;
  flex-shrink: 0;
}
.hero-search-box input{
  flex: 1;
  border: none;
  background: transparent;
  font-family: var(--f-body);
  font-size: 1.02rem;
  color: var(--ink);
  outline: none;
  min-width: 0;
}
.hero-search-box input::placeholder{color: var(--faint)}
.hero-search-box .btn{
  flex-shrink: 0;
  padding: 12px 24px;
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(255, 178, 0, 0.35);
}

.hero-quick-pills{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 14px;
}
.hero-quick-pills span{
  font-size: 0.74rem;
  color: rgba(255, 255, 255, 0.7);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.quick-pill{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text-2);
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 5px 12px;
  border-radius: 100px;
  text-decoration: none;
  transition: all 0.2s var(--ease);
  box-shadow: var(--sh-xs);
}
.quick-pill:hover{
  border-color: var(--gold);
  color: var(--ink);
  background: #fff;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(255, 178, 0, 0.2);
}

/* --- Hero Metrics Quad --- */
.hero-stats-row{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}
.hero-stat-item{
  display: flex;
  flex-direction: column;
}
.hero-stat-val{
  font-family: var(--f-display);
  font-size: 1.6rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.hero-stat-lbl{
  font-size: 0.74rem;
  color: rgba(255, 255, 255, 0.68);
  font-weight: 500;
  margin-top: 5px;
}
@media (max-width: 640px){
  .hero-stats-row{grid-template-columns: repeat(2, 1fr); gap: 18px;}
}

/* --- Live Country Desk Simulator Card --- */
.desk-simulator-card{
  background: rgba(19, 29, 36, 0.92);
  border: 1.5px solid rgba(255, 255, 255, 0.14);
  border-radius: 20px;
  padding: 24px;
  color: #fff;
  box-shadow: var(--sh-ink);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  display: flex;
  flex-direction: column;
  gap: 18px;
  position: relative;
  overflow: hidden;
}
.desk-simulator-card::before{
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--gold), #1E5EFF);
}
.simulator-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding-bottom: 14px;
}
.simulator-title{
  display: flex;
  align-items: center;
  gap: 10px;
}
.simulator-title strong{
  font-family: var(--f-display);
  font-size: 0.95rem;
  color: #fff;
}
.simulator-status-badge{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.72rem;
  font-weight: 700;
  color: #22c55e;
  background: rgba(34, 197, 94, 0.12);
  border: 1px solid rgba(34, 197, 94, 0.28);
  padding: 3px 9px;
  border-radius: 100px;
}
.simulator-office-clock{
  font-size: 0.74rem;
  color: rgba(255, 255, 255, 0.55);
  font-family: var(--f-label);
}
.simulator-stage-box{
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 16px;
}
.stage-step-row{
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
}
.stage-step-pill{
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.45);
}
.stage-step-pill.done{color: var(--gold)}
.stage-step-pill.current{color: #22c55e; font-weight: 800}
.stage-bar{
  height: 6px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 100px;
  overflow: hidden;
  position: relative;
}
.stage-bar-fill{
  height: 100%;
  width: 65%;
  background: linear-gradient(90deg, var(--gold), #22c55e);
  border-radius: 100px;
}
.simulator-metrics-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.sim-metric{
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
  padding: 10px 12px;
}
.sim-metric small{
  display: block;
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.sim-metric span{
  display: block;
  font-size: 0.88rem;
  font-weight: 700;
  color: #fff;
  margin-top: 3px;
}
.simulator-actions{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 4px;
}

/* --- Accredited Trust Credentials Strip --- */
.trust-strip-elevated{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  padding: 28px 0;
}
@media (max-width: 900px){
  .trust-strip-elevated{grid-template-columns: repeat(2, 1fr); gap: 16px;}
}
@media (max-width: 500px){
  .trust-strip-elevated{grid-template-columns: 1fr;}
}
.trust-card{
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r);
  padding: 18px 20px;
  box-shadow: var(--sh-xs);
  transition: all 0.25s var(--ease);
}
.trust-card:hover{
  border-color: var(--gold);
  transform: translateY(-2px);
  box-shadow: var(--sh-md);
}
.trust-card h4{
  font-size: 0.98rem;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 4px;
}
.trust-card p{
  font-size: 0.8rem;
  color: var(--muted);
  line-height: 1.45;
}

/* --- Infinite Partner University Ticker with Gradient Mask --- */
@keyframes ticker {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.uni-ticker-wrap{
  background: var(--paper);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 28px 0 32px;
  overflow: hidden;
  position: relative;
}
.uni-ticker-header{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: var(--max);
  margin: 0 auto 24px;
  padding: 0 24px;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
}
.uni-ticker-header::before,
.uni-ticker-header::after{
  content: "";
  flex: 1;
  height: 1px;
  background: var(--line);
}
.uni-ticker-scroll{
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}
.uni-ticker-track{
  display: flex;
  gap: 18px;
  width: max-content;
  animation: ticker 90s linear infinite;
  padding: 6px 0 10px;
}
.uni-ticker-track:hover{animation-play-state: paused;}

/* Prominent Reference-Sized University Card Box */
.uni-card{
  position: relative;
  width: 255px;
  height: 200px;
  flex-shrink: 0;
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 14px;
  text-decoration: none;
  background: #0b141a;
  border: 1px solid rgba(11, 20, 26, 0.08);
  box-shadow: 0 4px 14px rgba(11, 20, 26, 0.06);
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.28s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.28s ease;
  user-select: none;
  cursor: pointer;
}
.uni-card:hover{
  transform: translateY(-5px);
  border-color: var(--gold);
  box-shadow: 0 14px 28px rgba(11, 20, 26, 0.15), 0 0 0 1px var(--gold);
}
.uni-card-bg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 1;
}
.uni-card:hover .uni-card-bg{
  transform: scale(1.05);
}
.uni-card-scrim{
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(11, 20, 26, 0.65) 0%,
    rgba(11, 20, 26, 0.06) 40%,
    rgba(11, 20, 26, 0.88) 100%
  );
  z-index: 2;
  pointer-events: none;
}
.uni-card-content{
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  pointer-events: none;
}
.uni-card-top{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}
.uni-card-country-tag{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(11, 20, 26, 0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 4px 9px 4px 7px;
  border-radius: 100px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
  letter-spacing: -0.01em;
}
.uni-card-flag{
  font-size: 0.95rem;
  line-height: 1;
}
.uni-card-top-badges{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}
.uni-rank-badge{
  font-size: 0.65rem;
  font-weight: 700;
  color: #1e5eff;
  background: rgba(255, 255, 255, 0.95);
  padding: 3px 8px;
  border-radius: 100px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
  letter-spacing: 0.02em;
}
.uni-intake-badge{
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: var(--gold);
  color: #0b141a;
  padding: 2.5px 8px;
  border-radius: 100px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}
.uni-card-bottom{
  display: flex;
  align-items: flex-end;
  width: 100%;
}
.uni-card-name{
  font-size: 1rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.25;
  margin: 0;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.9), 0 1px 2px rgba(0, 0, 0, 0.8);
  letter-spacing: -0.01em;
}

/* --- 4-Stage Connected Hybrid Pathway --- */
.pathway-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  position: relative;
  margin-top: 40px;
}
.pathway-grid::before{
  content: "";
  position: absolute;
  top: 50px;
  left: 8%;
  right: 8%;
  height: 2px;
  background: linear-gradient(90deg, rgba(255,178,0,0.2), var(--gold), rgba(255,178,0,0.2));
  z-index: 0;
  pointer-events: none;
}
@media (max-width: 960px){
  .pathway-grid{grid-template-columns: 1fr 1fr;}
  .pathway-grid::before{display: none;}
}
@media (max-width: 540px){
  .pathway-grid{grid-template-columns: 1fr;}
}
.pathway-card{
  background: #fff;
  border: 1.5px solid var(--line);
  border-radius: var(--r);
  padding: 28px 22px;
  position: relative;
  z-index: 1;
  transition: all 0.28s var(--ease);
  display: flex;
  flex-direction: column;
  box-shadow: var(--sh-xs);
}
.pathway-card:hover{
  border-color: var(--gold);
  transform: translateY(-5px);
  box-shadow: var(--sh-lg);
}
.pathway-watermark{
  font-family: var(--f-display);
  font-size: 3rem;
  font-weight: 900;
  color: var(--gold);
  opacity: 0.16;
  line-height: 1;
  margin-bottom: 12px;
}
.pathway-role-tag{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 100px;
  padding: 4px 10px;
  margin-bottom: 14px;
  width: fit-content;
}
.role-student{
  background: rgba(11, 20, 26, 0.06);
  color: var(--ink);
  border: 1px solid rgba(11, 20, 26, 0.14);
}
.role-desk{
  background: var(--gold-soft);
  color: var(--gold-ink);
  border: 1px solid rgba(255, 178, 0, 0.35);
}
.pathway-title{
  font-family: var(--f-display);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 10px;
}
.pathway-desc{
  font-size: 0.88rem;
  color: var(--muted);
  line-height: 1.6;
}

/* --- Atmospheric Midnight Destination Grid --- */
.dest-grid-glow{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 40px;
}
@media (max-width: 960px){.dest-grid-glow{grid-template-columns: 1fr 1fr;}}
@media (max-width: 560px){.dest-grid-glow{grid-template-columns: 1fr;}}
.dest-card-glow{
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: var(--r);
  padding: 26px;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: #fff;
  transition: all 0.28s var(--ease);
  position: relative;
  overflow: hidden;
}
.dest-card-glow::after{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--r);
  background: radial-gradient(circle at 50% 25%, rgba(255, 178, 0, 0.15) 0%, transparent 70%);
  opacity: 0;
  transition: opacity 0.28s var(--ease);
  pointer-events: none;
}
.dest-card-glow:hover{
  border-color: rgba(255, 178, 0, 0.45);
  transform: translateY(-5px);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.6);
}
.dest-card-glow:hover::after{opacity: 1;}
.dest-head{
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}
.dest-flag{font-size: 2.2rem; line-height: 1;}
.dest-meta-title h3{
  font-size: 1.2rem;
  font-weight: 700;
  color: #fff;
}
.dest-meta-title span{
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.55);
}
.dest-specs{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 14px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 16px;
}
.dest-spec-item{display: flex; flex-direction: column;}
.dest-spec-label{
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.45);
}
.dest-spec-val{
  font-size: 0.88rem;
  font-weight: 700;
  color: #fff;
  margin-top: 3px;
}
.dest-action{
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--gold);
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  transition: gap 0.2s var(--ease);
}
.dest-card-glow:hover .dest-action{gap: 10px;}

/* --- 3-Way Comparison Matrix --- */
.cmp-table-wrap{
  overflow-x: auto;
  margin-top: 40px;
  border: 1.5px solid var(--line);
  border-radius: var(--r);
  background: #fff;
  box-shadow: var(--sh-md);
}
.cmp-table{
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
  text-align: left;
}
.cmp-table th{
  padding: 18px 22px;
  font-family: var(--f-display);
  font-size: 0.88rem;
  font-weight: 700;
  border-bottom: 1.5px solid var(--line);
}
.cmp-table th.col-feature{width: 34%; color: var(--muted);}
.cmp-table th.col-agency{width: 21%; color: #B3261E; background: rgba(179,38,30,0.035);}
.cmp-table th.col-diy{width: 21%; color: var(--text-2); background: rgba(11,20,26,0.025);}
.cmp-table th.col-lookup{
  width: 24%;
  color: var(--gold-ink);
  background: var(--gold-soft);
  position: relative;
}
.cmp-table td{
  padding: 15px 22px;
  border-bottom: 1px solid var(--line);
  vertical-align: middle;
}
.cmp-table td.col-agency{background: rgba(179,38,30,0.02); color: var(--text-2);}
.cmp-table td.col-diy{background: rgba(11,20,26,0.015); color: var(--text-2);}
.cmp-table td.col-lookup{
  background: rgba(255, 178, 0, 0.06);
  font-weight: 600;
  color: var(--ink);
}
.cmp-table tr:last-child td{border-bottom: none;}
.cmp-check{color: var(--success); font-weight: 800;}
.cmp-cross{color: var(--error); font-weight: 800;}

/* --- Specialized Country Desks Section --- */
.desks-grid-elevated{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 36px;
}
@media (max-width: 1024px){.desks-grid-elevated{grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 580px){.desks-grid-elevated{grid-template-columns: 1fr;}}
.desk-elevated-card{
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r);
  padding: 24px;
  display: flex;
  flex-direction: column;
  box-shadow: var(--sh-xs);
  transition: all 0.25s var(--ease);
}
.desk-elevated-card:hover{
  border-color: var(--gold);
  transform: translateY(-4px);
  box-shadow: var(--sh-md);
}
.desk-card-top{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.desk-card-top h3{
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--ink);
}
.desk-card-lead{
  font-size: 0.8rem;
  color: var(--muted);
}
.desk-card-body{
  font-size: 0.86rem;
  color: var(--text-2);
  line-height: 1.55;
  margin-bottom: 18px;
}
.desk-card-meta{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 14px;
  border-top: 1px solid var(--line);
  margin-top: auto;
  font-size: 0.78rem;
}
.desk-card-meta span{color: var(--muted); display: inline-flex; align-items: center; gap: 5px; font-size: 0.76rem;}
.desk-card-meta b{color: var(--gold-ink); background: var(--gold-soft); padding: 2px 7px; border-radius: 6px;}
.desk-elevated-card .desk-flags{display: flex; gap: 6px; font-size: 1.35rem; line-height: 1;}
.desk-elevated-card .ticklist{list-style: none; margin: 0 0 16px 0; padding: 12px 0 0 0; border-top: 1px solid var(--line); display: grid; gap: 8px; font-size: 0.82rem; color: var(--text-2);}
.desk-elevated-card .ticklist li{display: flex; gap: 8px; align-items: flex-start;}
.desk-elevated-card .ticklist li .icon{color: var(--gold-ink); margin-top: 3px; flex-shrink: 0;}

/* --- Floating Country Desks Widget --- */
.floating-desk-widget{
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--ink);
  color: #fff;
  padding: 10px 18px 10px 14px;
  border-radius: 100px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 16px 40px rgba(11, 20, 26, 0.45);
  text-decoration: none;
  font-size: 0.84rem;
  font-weight: 700;
  transition: all 0.25s var(--ease);
}
.floating-desk-widget:hover{
  transform: translateY(-3px) scale(1.02);
  border-color: var(--gold);
  box-shadow: 0 20px 48px rgba(255, 178, 0, 0.28);
  color: #fff;
}
@keyframes deskPulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.4); opacity: 0.4; }
}
.desk-pulse-dot{
  width: 9px; height: 9px;
  border-radius: 50%;
  background: #22c55e;
  position: relative;
  flex-shrink: 0;
}
.desk-pulse-dot::after{
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  background: rgba(34, 197, 94, 0.4);
  animation: deskPulse 2s infinite ease-in-out;
}
@media (max-width: 600px){
  .floating-desk-widget{
    bottom: 16px; right: 16px;
    padding: 8px 14px;
    font-size: 0.78rem;
  }
}

/* ================================================================
   SECTION: EVERYTHING UNDER ONE ROOF (Specialist Country Desks)
   Derived from Reference Architecture with Lookup Education Brand
   ================================================================ */
.roof-section {
  position: relative;
  overflow: hidden;
}
.svc2-layout {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: clamp(36px, 5vw, 64px);
  align-items: start;
}
.svc2-left {
  position: sticky;
  top: 96px;
  display: flex;
  flex-direction: column;
}
.roof-title {
  font-family: var(--f-display);
  font-size: clamp(2.2rem, 3.2vw, 3rem);
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--ink);
  margin-top: 10px;
  margin-bottom: 16px;
}
.roof-title .highlight-gold {
  color: var(--gold-ink);
  background: linear-gradient(135deg, #FFB200, #E69500);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.roof-lead {
  font-size: 0.95rem;
  line-height: 1.76;
  color: var(--muted);
  margin-bottom: 22px;
}
.roof-lead strong {
  color: var(--ink);
  font-weight: 700;
}
.svc2-stat-row {
  display: flex;
  align-items: center;
  border: 1.5px solid var(--line);
  border-radius: var(--r);
  overflow: hidden;
  background: #fff;
  margin-bottom: 22px;
  box-shadow: var(--sh-xs);
}
.svc2-stat {
  padding: 14px 16px;
  text-align: center;
  flex: 1;
  background: #fff;
}
.svc2-stat:not(:last-child) {
  border-right: 1.5px solid var(--line);
}
.svc2-stat-n {
  display: block;
  font-family: var(--f-display);
  font-size: 1.45rem;
  font-weight: 800;
  color: var(--ink);
  line-height: 1;
}
.svc2-stat-l {
  display: block;
  font-size: 0.65rem;
  font-weight: 700;
  color: var(--faint);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-top: 5px;
}
.roof-desks-box {
  background: #ffffff;
  border: 1.5px solid var(--line);
  border-radius: var(--r);
  padding: 16px 18px;
  margin-bottom: 22px;
  box-shadow: var(--sh-xs);
}
.roof-desks-tag {
  font-family: var(--f-label);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gold-ink);
  display: block;
  margin-bottom: 10px;
}
.roof-desks-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.roof-desk-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text-2);
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 100px;
  padding: 5px 12px;
  text-decoration: none;
  transition: all 0.2s var(--ease);
}
.roof-desk-pill:hover {
  background: var(--gold-soft);
  border-color: var(--gold);
  color: var(--gold-ink);
  transform: translateY(-1px);
}
.roof-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

/* 2-Column Grid on Right */
.svc2-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.svc2-card {
  background: #ffffff;
  border: 1px solid rgba(11, 20, 26, 0.08);
  border-radius: 16px;
  padding: 26px 24px;
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.28s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.28s ease;
  position: relative;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 8px -2px rgba(11, 20, 26, 0.04), 0 1px 2px rgba(11, 20, 26, 0.02);
  overflow: hidden;
}
.svc2-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: transparent;
  transition: background 0.25s ease;
  border-radius: 16px 16px 0 0;
}
.svc2-card:hover {
  border-color: rgba(255, 178, 0, 0.55);
  box-shadow: 0 16px 36px -8px rgba(11, 20, 26, 0.09), 0 0 0 1px rgba(255, 178, 0, 0.35);
  transform: translateY(-4px);
}
.svc2-card:hover::before {
  background: linear-gradient(90deg, var(--gold), #FFD166);
}
.svc2-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.svc2-icon {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.25s var(--ease);
}
.svc2-icon svg.icon {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2px;
}
.svc2-icon.icon-gold {
  background: rgba(255, 178, 0, 0.12);
  border: 1px solid rgba(255, 178, 0, 0.28);
  color: #B37D00;
}
.svc2-icon.icon-sage {
  background: rgba(237, 242, 236, 0.95);
  border: 1px solid rgba(30, 58, 47, 0.16);
  color: #1E3A2F;
}
.svc2-card:hover .svc2-icon {
  transform: scale(1.08) rotate(-2deg);
}
.svc2-num {
  font-family: var(--f-mono, ui-monospace, SFMono-Regular, monospace);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--muted);
  background: rgba(11, 20, 26, 0.04);
  border: 1px solid rgba(11, 20, 26, 0.07);
  padding: 4px 10px;
  border-radius: 100px;
  line-height: 1;
}
.svc2-title {
  font-family: var(--f-display);
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--ink);
  margin: 0 0 8px 0;
  line-height: 1.32;
  letter-spacing: -0.015em;
}
.svc2-desc {
  font-size: 0.86rem;
  color: #55656F;
  line-height: 1.68;
  margin: 0;
  flex: 1;
}
.svc2-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  align-self: flex-start;
  margin-top: 18px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: rgba(255, 178, 0, 0.1);
  color: #8F5E00;
  border: 1px solid rgba(255, 178, 0, 0.3);
  border-radius: 100px;
  padding: 4px 12px;
  line-height: 1.3;
}
.svc2-badge .badge-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #FFB200;
  display: inline-block;
}
.svc2-badge.badge-sage {
  background: rgba(237, 242, 236, 0.95);
  color: #1E3A2F;
  border-color: rgba(30, 58, 47, 0.18);
}
.svc2-badge.badge-sage .badge-dot {
  background: #2D6A4F;
}

/* Desk Profiles Drawer (Preserving #homeDesks with visual elevation) */
.roof-desks-drawer {
  margin-top: 56px;
  padding-top: 48px;
  border-top: 1.5px solid var(--line);
}
.roof-desks-drawer-header {
  margin-bottom: 24px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.roof-desks-drawer-header h3 {
  font-size: clamp(1.3rem, 2vw, 1.6rem);
  color: var(--ink);
  font-weight: 800;
  margin-top: 6px;
}
.roof-desks-drawer-header p {
  color: var(--muted);
  font-size: 0.9rem;
  max-width: 520px;
}

@media (max-width: 1080px) {
  .svc2-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .svc2-left {
    position: static;
  }
}
@media (max-width: 680px) {
  .svc2-grid {
    grid-template-columns: 1fr;
  }
  .svc2-stat-row {
    flex-direction: column;
  }
  .svc2-stat {
    width: 100%;
    border-right: none !important;
  }
  .svc2-stat:not(:last-child) {
    border-bottom: 1.5px solid var(--line);
  }
}

/* ==========================================================================
   REVIEWS & GOOGLE TESTIMONIALS SECTION
   ========================================================================== */
.reviews-footer-bar {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 36px;
}
.google-trust-badge {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: var(--r);
  padding: 16px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  box-shadow: var(--sh-xs);
  flex-wrap: wrap;
  width: 100%;
  max-width: 500px;
}
.google-logo-box {
  display: flex;
  align-items: center;
  gap: 14px;
}
.google-icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}
.google-meta {
  display: flex;
  flex-direction: column;
}
.google-stars-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.google-score {
  font-family: var(--f-display);
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--ink);
  line-height: 1;
}
.google-stars {
  display: inline-flex;
  gap: 3px;
  color: #FBBC05;
}
.google-stars .star-icon {
  width: 16px;
  height: 16px;
  fill: #FBBC05;
}
.google-sub {
  font-size: 0.75rem;
  color: var(--muted);
  font-weight: 500;
  margin-top: 3px;
}

/* Reviews Grid */
.reviews-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}
.google-card {
  background: #ffffff;
  border: 1px solid rgba(11, 20, 26, 0.08);
  border-radius: 16px;
  padding: 24px 22px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 10px -2px rgba(11, 20, 26, 0.04);
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.28s ease, border-color 0.28s ease;
  position: relative;
}
.google-card:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 178, 0, 0.5);
  box-shadow: 0 16px 36px -8px rgba(11, 20, 26, 0.09);
}
.google-card-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  position: relative;
}
.google-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 2px solid var(--paper);
}
.google-user-info {
  flex: 1;
  min-width: 0;
}
.google-user-name {
  display: block;
  font-family: var(--f-display);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.2;
}
.google-dest {
  display: block;
  font-size: 0.73rem;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 2px;
}
.google-card-g {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  opacity: 0.9;
}
.google-card-rating {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.google-card-rating .google-stars .star-icon {
  width: 14px;
  height: 14px;
}
.google-time {
  font-size: 0.7rem;
  color: var(--faint);
  font-weight: 600;
}
.google-card-text {
  font-size: 0.86rem;
  line-height: 1.65;
  color: #4A5568;
  margin: 0;
  flex: 1;
}
.google-card-desk {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px dashed var(--line);
}
.desk-tag {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--gold-ink);
  background: var(--gold-soft);
  padding: 3px 10px;
  border-radius: 100px;
  border: 1px solid rgba(255, 178, 0, 0.3);
  display: inline-block;
}

/* Video Testimonials Section */
.video-testimonials-section {
  padding-top: var(--section);
  margin-top: var(--section);
  border-top: 1px solid var(--line);
}
.video-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.video-card {
  background: #ffffff;
  border: 1px solid rgba(11, 20, 26, 0.08);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 18px -4px rgba(11, 20, 26, 0.06);
  cursor: pointer;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
}
.video-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px -10px rgba(11, 20, 26, 0.14);
}
.video-media-wrap {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #0B141A;
}
.video-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
  display: block;
}
.video-card:hover .video-thumb {
  transform: scale(1.05);
}
.video-play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(11, 20, 26, 0.85);
  backdrop-filter: blur(8px);
  border: 2px solid rgba(255, 178, 0, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s ease;
  box-shadow: 0 0 20px rgba(255, 178, 0, 0.4);
  cursor: pointer;
  pointer-events: auto;
}
.video-play-btn * {
  pointer-events: none;
}
.video-play-btn .play-icon {
  width: 20px;
  height: 20px;
  fill: #FFB200;
  margin-left: 2px;
}
.video-card:hover .video-play-btn {
  transform: translate(-50%, -50%) scale(1.12);
  background: var(--gold);
  border-color: #ffffff;
}
.video-card:hover .video-play-btn .play-icon {
  fill: #0B141A;
}
.video-duration {
  position: absolute;
  top: 12px;
  right: 12px;
  background: rgba(11, 20, 26, 0.75);
  backdrop-filter: blur(6px);
  color: #ffffff;
  font-family: var(--f-mono, monospace);
  font-size: 0.72rem;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 6px;
}
.video-grant-pill {
  position: absolute;
  bottom: 12px;
  left: 12px;
  background: rgba(45, 106, 79, 0.9);
  backdrop-filter: blur(6px);
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 100px;
}
.video-card-meta {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.video-card-meta h4 {
  font-family: var(--f-display);
  font-size: 1rem;
  font-weight: 800;
  color: var(--ink);
  line-height: 1.35;
  margin: 0 0 12px 0;
  flex: 1;
}
.video-student-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.8rem;
  color: var(--muted);
  border-top: 1px solid var(--line);
  padding-top: 12px;
}
.video-desk-tag {
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--gold-ink);
  background: var(--gold-soft);
  padding: 2px 8px;
  border-radius: 6px;
}

/* Video Modal */
.video-modal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
.video-modal.active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
.video-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(11, 20, 26, 0.85);
  backdrop-filter: blur(8px);
}
.video-modal-dialog {
  position: relative;
  background: #ffffff;
  border-radius: 20px;
  overflow: hidden;
  max-width: 680px;
  width: 100%;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.35);
  transform: translateY(20px);
  transition: transform 0.25s ease;
  z-index: 1;
}
.video-modal.active .video-modal-dialog {
  transform: translateY(0);
}
.video-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(11, 20, 26, 0.8);
  color: #ffffff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  transition: background 0.2s ease;
}
.video-modal-close:hover {
  background: #000000;
}
.video-player-screen {
  position: relative;
  aspect-ratio: 16 / 9;
  width: 100%;
  background: #000000;
  overflow: hidden;
}
.video-iframe-player {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.video-modal-info {
  padding: 24px;
}
.video-modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}
.video-modal-header h3 {
  font-family: var(--f-display);
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--ink);
  margin: 0;
}
.modal-student-uni {
  font-size: 0.86rem;
  color: var(--muted);
}
.modal-student-desc {
  font-size: 0.92rem;
  line-height: 1.65;
  color: var(--text-2);
  margin-bottom: 20px;
}
.modal-action-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* ==========================================================================
   INSTAGRAM FEED SECTION
   ========================================================================== */
.insta-footer-bar {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 36px;
}
.insta-profile-badge {
  background: #ffffff;
  border: 1.5px solid var(--line);
  border-radius: 16px;
  padding: 12px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  text-decoration: none;
  box-shadow: var(--sh-xs);
  transition: all 0.25s var(--ease);
  width: 100%;
  max-width: 480px;
}
.insta-profile-badge:hover {
  border-color: #E1306C;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px -4px rgba(225, 48, 108, 0.15);
}
.insta-icon-box {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
}
.insta-icon-box .icon {
  width: 22px;
  height: 22px;
  stroke: #ffffff;
}
.insta-profile-info {
  display: flex;
  flex-direction: column;
}
.insta-handle {
  font-family: var(--f-display);
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--ink);
}
.insta-followers {
  font-size: 0.72rem;
  color: var(--muted);
  margin-top: 1px;
}
.insta-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}
.insta-card {
  position: relative;
  aspect-ratio: 1 / 1;
  border-radius: 14px;
  overflow: hidden;
  display: block;
  box-shadow: 0 2px 8px rgba(11, 20, 26, 0.06);
}
.insta-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
  display: block;
}
.insta-card:hover .insta-img {
  transform: scale(1.08);
}
.insta-overlay {
  position: absolute;
  inset: 0;
  background: rgba(11, 20, 26, 0.82);
  backdrop-filter: blur(4px);
  opacity: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 16px;
  text-align: center;
  transition: opacity 0.25s ease;
  color: #ffffff;
}
.insta-card:hover .insta-overlay {
  opacity: 1;
}
.insta-metrics {
  display: flex;
  align-items: center;
  gap: 14px;
  font-weight: 700;
  font-size: 0.82rem;
  margin-bottom: 8px;
}
.insta-caption {
  font-size: 0.74rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ==========================================================================
   BLOGS & LATEST NEWS SECTION
   ========================================================================== */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.news-footer-cta {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 36px;
}
.blog-card {
  background: #ffffff;
  border: 1px solid rgba(11, 20, 26, 0.08);
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 10px -2px rgba(11, 20, 26, 0.04);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease;
}
.blog-card:hover {
  transform: translateY(-5px);
  border-color: rgba(255, 178, 0, 0.55);
  box-shadow: 0 18px 40px -10px rgba(11, 20, 26, 0.1);
}
.blog-thumb-wrap {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #0B141A;
}
.blog-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
  display: block;
}
.blog-card:hover .blog-thumb {
  transform: scale(1.06);
}
.blog-category-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 100px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
.badge-gold {
  background: #FFB200;
  color: #0B141A;
}
.badge-sage {
  background: #2D6A4F;
  color: #ffffff;
}
.badge-ink {
  background: #0B141A;
  color: #ffffff;
}
.blog-body {
  padding: 22px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.blog-meta {
  font-size: 0.75rem;
  color: var(--faint);
  font-weight: 600;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.meta-dot {
  opacity: 0.5;
}
.blog-title {
  font-family: var(--f-display);
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1.35;
  color: var(--ink);
  margin: 0 0 10px 0;
}
.blog-title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}
.blog-card:hover .blog-title a {
  color: var(--gold-ink);
}
.blog-excerpt {
  font-size: 0.88rem;
  line-height: 1.65;
  color: #55656F;
  margin: 0 0 18px 0;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.blog-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}
.blog-author {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Responsive adjustments */
@media (max-width: 1100px) {
  .reviews-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .insta-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 768px) {
  .reviews-grid {
    grid-template-columns: 1fr;
  }
  .video-grid {
    grid-template-columns: 1fr;
  }
  .blog-grid {
    grid-template-columns: 1fr;
  }
  .insta-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .google-trust-badge {
    width: 100%;
    justify-content: space-between;
  }
}