/* ============================================================
   Minerals Finance Team — "Assay Dossier" design system
   Palette: assay green-black / stone / burnished gold
   Type: Spectral (display) · Public Sans (body) · IBM Plex Mono (refs/data)
   ============================================================ */

:root{
  --ink:#10231D;
  --pine:#16352C;
  --pine-deep:#0C1F1A;
  --stone:#EFF1EC;
  --panel:#FFFFFF;
  --gold:#B8862B;
  --gold-bright:#D9A93F;
  --gold-soft:#F3E8D2;
  --muted:#5B655F;
  --line:#D8DBD2;
  --line-dark:rgba(255,255,255,.16);
  --radius:6px;
  --max:1160px;
  --font-display:"Spectral",Georgia,serif;
  --font-body:"Public Sans",system-ui,-apple-system,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,monospace;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--stone);
  line-height:1.65;
  font-size:16.5px;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.15;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,4.6vw,3.4rem)}
h2{font-size:clamp(1.7rem,3.2vw,2.4rem)}
h3{font-size:1.25rem}

.eyebrow{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:12px;margin-bottom:18px;
}
.eyebrow::after{content:"";height:1px;flex:0 0 56px;background:var(--gold);opacity:.5}
.on-dark .eyebrow{color:var(--gold-bright)}

.lede{font-size:1.12rem;color:var(--muted);max-width:62ch}
.on-dark .lede{color:rgba(255,255,255,.75)}

/* ---------- top strip + header ---------- */
.topstrip{background:var(--pine-deep);color:rgba(255,255,255,.82);font-size:.8rem}
.topstrip .wrap{display:flex;justify-content:space-between;gap:16px;padding-top:7px;padding-bottom:7px;flex-wrap:wrap}
.topstrip a{color:var(--gold-bright);text-decoration:none}
.topstrip .mono{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.04em}

.site-header{background:var(--panel);border-bottom:1px solid var(--line);}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:14px;padding-bottom:14px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-mark{width:40px;height:40px;border:1.5px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-weight:600;color:var(--pine);font-size:.95rem;background:var(--gold-soft)}
.brand-name{font-family:var(--font-display);font-weight:600;font-size:1.08rem;line-height:1.1;white-space:nowrap}
.brand-name small{display:block;font-family:var(--font-mono);font-weight:400;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}

.nav{display:flex;align-items:center;gap:17px}
.nav a{text-decoration:none;font-weight:500;font-size:.88rem;color:var(--ink);padding:6px 0;border-bottom:2px solid transparent;white-space:nowrap}
.nav a:hover,.nav a[aria-current="page"]{border-bottom-color:var(--gold)}
.nav .btn{border-bottom:none;padding:11px 18px}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:var(--radius);padding:8px 12px;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.1em;cursor:pointer}

.btn{display:inline-block;text-decoration:none;font-weight:600;font-size:.92rem;padding:13px 26px;border-radius:var(--radius);border:1.5px solid transparent;cursor:pointer;font-family:var(--font-body);transition:transform .12s ease,box-shadow .12s ease}
.btn:hover{transform:translateY(-1px)}
.btn-gold{background:var(--gold);color:#fff}
.btn-gold:hover{box-shadow:0 6px 18px rgba(184,134,43,.35)}
.btn-outline{border-color:var(--pine);color:var(--pine);background:transparent}
.on-dark .btn-outline,.hero .btn-outline,.cta-band .btn-outline{border-color:rgba(255,255,255,.45);color:#fff}
.btn-lg{padding:16px 34px;font-size:1rem}

/* ---------- hero ---------- */
.hero{background:var(--pine-deep);color:#fff;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:
  repeating-linear-gradient(90deg,transparent 0 119px,rgba(255,255,255,.035) 119px 120px);pointer-events:none}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;padding-top:84px;padding-bottom:96px;position:relative}
.hero h1{color:#fff}
.hero h1 em{font-style:italic;color:var(--gold-bright)}
.hero .lede{margin-top:20px}
.hero-ctas{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap}
.hero-note{margin-top:22px;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;color:rgba(255,255,255,.55)}

/* dossier card — the signature element */
.dossier{background:#FDFCF8;color:var(--ink);border-radius:8px;padding:26px 26px 22px;box-shadow:0 30px 60px rgba(0,0,0,.45);position:relative;max-width:420px;justify-self:end;width:100%}
.dossier::before{content:"";position:absolute;inset:8px;border:1px solid var(--line);border-radius:5px;pointer-events:none}
.dossier-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--ink);padding-bottom:12px;margin-bottom:16px;position:relative}
.dossier-head h3{font-size:1rem}
.dossier .ref{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;color:var(--muted)}
.dossier dl{display:grid;grid-template-columns:auto 1fr;gap:7px 18px;font-size:.85rem}
.dossier dt{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.dossier dd{font-weight:600;text-align:right}
.dossier dd .ok{color:#1F7A4D}
.purity{margin-top:16px}
.purity-label{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.purity-bar{height:8px;background:var(--stone);border-radius:99px;overflow:hidden}
.purity-bar span{display:block;height:100%;width:92%;background:linear-gradient(90deg,var(--gold),var(--gold-bright));border-radius:99px}
.stamp{position:absolute;right:18px;bottom:54px;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.26em;color:#1F7A4D;border:2px solid #1F7A4D;border-radius:4px;padding:5px 10px;transform:rotate(-7deg);opacity:.85;background:rgba(255,255,255,.7)}
.dossier-foot{margin-top:18px;padding-top:12px;border-top:1px dashed var(--line);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.1em;color:var(--muted)}

/* ---------- sections ---------- */
.section{padding:84px 0}
.section.tight{padding:64px 0}
.section.dark{background:var(--pine);color:#fff}
.section.dark h2,.section.dark h3{color:#fff}
.section.dark .lede,.hero .lede{color:rgba(255,255,255,.75)}
.section.dark .eyebrow{color:var(--gold-bright)}
.section.paper{background:var(--panel)}
.section-head{max-width:720px;margin-bottom:48px}

/* risk strip */
.riskstrip{background:var(--gold-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.riskstrip .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0}
.risk{padding:30px 28px;border-left:1px solid var(--line)}
.risk:first-child{border-left:none}
.risk h3{font-size:1.02rem;margin-bottom:8px}
.risk p{font-size:.9rem;color:var(--muted)}
.risk .tag{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:10px}

/* card grids */
.grid{display:grid;gap:26px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px}
.section.dark .card{background:rgba(255,255,255,.05);border-color:var(--line-dark)}
.card h3{margin-bottom:10px}
.card p{font-size:.94rem;color:var(--muted)}
.section.dark .card p{color:rgba(255,255,255,.72)}
.card .more{display:inline-block;margin-top:14px;font-weight:600;font-size:.88rem;color:var(--gold);text-decoration:none}
.card .more:hover{text-decoration:underline}

/* process ledger — numbered: a real sequence */
.ledger{border-top:1px solid var(--line);counter-reset:step}
.section.dark .ledger{border-top-color:var(--line-dark)}
.ledger-row{display:grid;grid-template-columns:90px 280px 1fr;gap:28px;padding:26px 0;border-bottom:1px solid var(--line);align-items:start}
.section.dark .ledger-row{border-bottom-color:var(--line-dark)}
.ledger-row .num{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.14em;color:var(--gold)}
.ledger-row h3{font-size:1.12rem}
.ledger-row p{font-size:.93rem;color:var(--muted)}
.section.dark .ledger-row p{color:rgba(255,255,255,.72)}

/* country chips */
.countries{display:flex;flex-wrap:wrap;gap:12px}
.country-chip{display:inline-flex;align-items:center;gap:8px;text-decoration:none;border:1px solid var(--line);background:var(--panel);border-radius:99px;padding:9px 18px;font-size:.88rem;font-weight:500}
.country-chip:hover{border-color:var(--gold);color:var(--gold)}
.country-chip .dot{width:7px;height:7px;border-radius:50%;background:var(--gold)}
.country-chip.muted .dot{background:var(--line)}

/* testimonials */
.testimonial{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.video-ph{aspect-ratio:16/9;background:var(--pine-deep);position:relative;display:grid;place-items:center;cursor:pointer}
.video-ph .play{width:62px;height:62px;border-radius:50%;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.55);display:grid;place-items:center;transition:transform .15s ease,background .15s ease}
.video-ph:hover .play{transform:scale(1.08);background:var(--gold)}
.video-ph .play::after{content:"";border-style:solid;border-width:10px 0 10px 17px;border-color:transparent transparent transparent #fff;margin-left:4px}
.video-ph .ph-label{position:absolute;bottom:12px;left:14px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.testimonial blockquote{padding:22px 24px 8px;font-family:var(--font-display);font-style:italic;font-size:1.02rem;line-height:1.5}
.testimonial figcaption{padding:0 24px 22px;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:auto}

/* FAQ accordion */
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;font-family:var(--font-display);font-weight:600;font-size:1.1rem;position:relative}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:1.3rem;color:var(--gold)}
.faq-item[open] summary::after{content:"–"}
.faq-item .faq-body{padding:0 0 24px;color:var(--muted);max-width:72ch}
.faq-item .faq-body p+p{margin-top:12px}

/* CTA band */
.cta-band{background:var(--pine-deep);color:#fff;text-align:center}
.cta-band .wrap{padding-top:76px;padding-bottom:76px;max-width:760px}
.cta-band h2{color:#fff;margin-bottom:14px}
.cta-band p{color:rgba(255,255,255,.72);margin-bottom:30px}

/* ---------- forms ---------- */
.form-shell{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:40px;max-width:840px;margin:0 auto}
fieldset{border:none;margin-bottom:34px}
legend{font-family:var(--font-display);font-weight:600;font-size:1.2rem;margin-bottom:6px;padding-top:8px}
.legend-sub{font-size:.88rem;color:var(--muted);margin-bottom:20px}
.legend-ref{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:6px}
.field{margin-bottom:18px}
.field label{display:block;font-weight:600;font-size:.88rem;margin-bottom:7px}
.field .hint{font-weight:400;color:var(--muted);font-size:.8rem}
.field input,.field select,.field textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);font-family:var(--font-body);font-size:.95rem;background:var(--input-bg);color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.radio-set{display:flex;flex-direction:column;gap:9px}
.radio-set label{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.92rem;cursor:pointer}
.radio-set input{width:auto;margin-top:4px}
.form-foot{border-top:1px dashed var(--line);padding-top:24px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.86rem;color:var(--muted);margin-bottom:22px}
.consent input{margin-top:4px}
.form-status{margin-top:16px;font-size:.92rem;display:none;padding:14px 16px;border-radius:var(--radius)}
.form-status.ok{display:block;background:#E8F3EC;color:#1F5C3C;border:1px solid #BCDCC8}
.form-status.err{display:block;background:#F9ECEA;color:#8A2E22;border:1px solid #E7C4BD}
.req{color:var(--gold)}

/* ---------- page hero (interior) ---------- */
.page-hero{background:var(--pine);color:#fff;padding:64px 0 56px;position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 119px,rgba(255,255,255,.04) 119px 120px)}
.page-hero .wrap{position:relative}
.page-hero h1{color:#fff;max-width:18ch}
.page-hero .lede{color:rgba(255,255,255,.75);margin-top:16px}
.breadcrumb{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:22px}
.breadcrumb a{color:var(--gold-bright);text-decoration:none}

/* prose (long-form content pages) */
.prose{max-width:740px}
.prose h2{margin:44px 0 16px}
.prose h3{margin:30px 0 10px}
.prose p{margin-bottom:16px}
.prose ul,.prose ol{margin:0 0 16px 22px}
.prose li{margin-bottom:8px}
.prose strong{color:var(--ink)}
.prose .callout{background:var(--gold-soft);border-left:3px solid var(--gold);padding:18px 22px;border-radius:0 var(--radius) var(--radius) 0;margin:24px 0;font-size:.95rem}

/* two-col layout with aside */
.layout-aside{display:grid;grid-template-columns:1fr 320px;gap:56px;align-items:start}
.aside-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px;position:sticky;top:96px}
.aside-card h3{margin-bottom:10px;font-size:1.05rem}
.aside-card p{font-size:.88rem;color:var(--muted);margin-bottom:16px}
.aside-card .btn{width:100%;text-align:center}
.aside-links{list-style:none;margin-top:18px;border-top:1px solid var(--line)}
.aside-links li{border-bottom:1px solid var(--line)}
.aside-links a{display:block;padding:11px 2px;text-decoration:none;font-size:.88rem;font-weight:500}
.aside-links a:hover{color:var(--gold)}

/* fact table on country pages */
.facts{width:100%;border-collapse:collapse;margin:20px 0 28px;font-size:.92rem}
.facts th{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;text-align:left;color:var(--muted);padding:10px 14px 10px 0;border-bottom:1px solid var(--line);vertical-align:top;width:38%}
.facts td{padding:10px 0;border-bottom:1px solid var(--line);font-weight:500}

/* ---------- footer ---------- */
.site-footer{background:var(--pine-deep);color:rgba(255,255,255,.72);font-size:.88rem}
.site-footer .wrap{padding-top:64px;padding-bottom:32px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:44px;border-bottom:1px solid var(--line-dark)}
.site-footer h4{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:16px;font-weight:500}
.site-footer ul{list-style:none}
.site-footer li{margin-bottom:9px}
.site-footer a{color:rgba(255,255,255,.72);text-decoration:none}
.site-footer a:hover{color:#fff}
.footer-brand p{margin-top:14px;max-width:34ch;font-size:.84rem}
.footer-legal{display:flex;justify-content:space-between;gap:16px;padding-top:24px;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;flex-wrap:wrap;color:rgba(255,255,255,.45)}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .hero .wrap{grid-template-columns:1fr;gap:44px}
  .dossier{justify-self:start}
  .grid-3{grid-template-columns:1fr 1fr}
  .riskstrip .wrap{grid-template-columns:1fr}
  .risk{border-left:none;border-top:1px solid var(--line)}
  .ledger-row{grid-template-columns:70px 1fr;grid-template-rows:auto auto}
  .ledger-row p{grid-column:2}
  .layout-aside{grid-template-columns:1fr}
  .aside-card{position:static}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .grid-3,.grid-2,.field-row{grid-template-columns:1fr}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--panel);flex-direction:column;align-items:stretch;padding:18px 24px;gap:4px;border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(0,0,0,.08)}
  .nav.open{display:flex}
  .nav a{padding:11px 0;border-bottom:1px solid var(--line)}
  .nav-toggle{display:block}
  .form-shell{padding:26px 20px}
  .section{padding:60px 0}
  .topstrip .hide-sm{display:none}
}

:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* ============================================================
   THEME TOGGLE — light (default) / dark
   ============================================================ */
:root{color-scheme:light;--input-bg:#FDFDFB}

.theme-toggle{background:none;border:1px solid var(--line);border-radius:99px;width:38px;height:38px;min-width:38px;cursor:pointer;font-size:1.05rem;color:var(--ink);display:grid;place-items:center;line-height:1}
.theme-toggle:hover{border-color:var(--gold);color:var(--gold)}
.header-actions{display:flex;align-items:center;gap:10px}

/* the dossier is printed paper — it stays light in both themes */
.dossier{--ink:#10231D;--muted:#5B655F;--line:#D8DBD2;color:#10231D}

[data-theme="dark"]{
  color-scheme:dark;
  --ink:#E9ECE5;
  --stone:#0D1714;
  --panel:#152420;
  --muted:#A4B0A7;
  --line:#2B3C35;
  --gold-soft:rgba(184,134,43,.14);
  --input-bg:#0F1C17;
  --pine:#133028;
}
[data-theme="dark"] body{background:var(--stone)}
[data-theme="dark"] .brand-mark{color:var(--gold-bright)}
[data-theme="dark"] .brand-name small{color:var(--muted)}
[data-theme="dark"] .site-header{box-shadow:0 1px 0 rgba(0,0,0,.4)}
[data-theme="dark"] .riskstrip{background:#13211C}
[data-theme="dark"] .card,[data-theme="dark"] .testimonial,[data-theme="dark"] .aside-card,[data-theme="dark"] .form-shell{box-shadow:0 10px 30px rgba(0,0,0,.25)}
[data-theme="dark"] .btn-outline{border-color:rgba(233,236,229,.45);color:var(--ink)}
[data-theme="dark"] .field input,[data-theme="dark"] .field select,[data-theme="dark"] .field textarea{background:var(--input-bg);border-color:var(--line);color:var(--ink)}
[data-theme="dark"] .form-status.ok{background:#14301F;color:#A9DFBC;border-color:#1F5C3C}
[data-theme="dark"] .form-status.err{background:#371711;color:#F0B5A8;border-color:#7A2E20}
[data-theme="dark"] .callout{background:var(--gold-soft)}
[data-theme="dark"] .purity-bar{background:#E7E4DA}

/* hardened toggle (survives UA button defaults) */
button.theme-toggle{appearance:none;-webkit-appearance:none;padding:0;margin:0;flex:0 0 38px;box-sizing:border-box;background:transparent}
button.theme-toggle svg{display:block}

/* ============================================================
   METALS TICKER
   ============================================================ */
.ticker{background:var(--pine-deep);border-bottom:1px solid rgba(255,255,255,.08);overflow:hidden;position:relative}
.ticker-track{display:flex;width:max-content;animation:ticker-scroll 42s linear infinite;padding:9px 0}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes ticker-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none;flex-wrap:wrap;width:100%}}
.tk{display:inline-flex;align-items:baseline;gap:8px;padding:0 26px;border-right:1px solid rgba(255,255,255,.1);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;white-space:nowrap}
.tk .sym{color:var(--gold-bright);font-weight:500}
.tk .px{color:#fff;font-weight:500}
.tk .unit{color:rgba(255,255,255,.45);font-size:.62rem}
.tk .chg{font-size:.66rem}
.tk .chg.up{color:#5CC98A}.tk .chg.down{color:#E58A77}
.tk-live{display:inline-flex;align-items:center;gap:7px;color:rgba(255,255,255,.55)}
.tk-live .pulse{width:7px;height:7px;border-radius:50%;background:#5CC98A;animation:tkpulse 1.6s ease-in-out infinite}
@keyframes tkpulse{0%,100%{opacity:1}50%{opacity:.3}}
@media(prefers-reduced-motion:reduce){.tk-live .pulse{animation:none}}

/* ============================================================
   TRANSLATOR (language selector + Google Translate cleanup)
   ============================================================ */
.lang-select{appearance:none;-webkit-appearance:none;background:transparent;border:1px solid var(--line);border-radius:99px;height:38px;padding:0 26px 0 13px;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;color:var(--ink);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6' viewBox='0 0 9 6'%3E%3Cpath d='M1 1l3.5 3.5L8 1' fill='none' stroke='%23B8862B' stroke-width='1.4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center}
.lang-select:hover{border-color:var(--gold);color:var(--gold)}
.lang-select option{color:#10231D;background:#fff}
/* suppress Google Translate chrome */
body{top:0!important}
.skiptranslate iframe,#goog-gt-tt,.goog-te-balloon-frame{display:none!important}
font[style]{background:transparent!important;box-shadow:none!important}
#gt-holder{display:none}

/* ============================================================
   CASE STUDIES
   ============================================================ */
.case{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:40px;margin-bottom:40px;position:relative}
.case-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap;border-bottom:1px solid var(--ink);padding-bottom:18px;margin-bottom:24px}
[data-theme="dark"] .case-top{border-bottom-color:var(--line)}
.case-type{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:#fff;background:var(--gold);border-radius:3px;padding:5px 11px;display:inline-block;margin-bottom:12px}
.case-type.prevented{background:#8A3D2E}
.case-type.program{background:var(--pine)}
.case h2{font-size:1.55rem}
.case .ref{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;color:var(--muted);text-align:right}
.case-grid{display:grid;grid-template-columns:300px 1fr;gap:40px;align-items:start}
.case-facts{width:100%;border-collapse:collapse;font-size:.86rem}
.case-facts td{padding:8px 0;border-bottom:1px solid var(--line);vertical-align:top}
.case-facts td:first-child{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-right:14px;width:46%}
.case-facts td:last-child{font-weight:600}
.case-body h3{margin:20px 0 8px;font-size:1.05rem}
.case-body h3:first-child{margin-top:0}
.case-body p{font-size:.95rem;color:var(--muted);margin-bottom:12px}
.case-outcome{background:var(--gold-soft);border-left:3px solid var(--gold);padding:16px 20px;border-radius:0 var(--radius) var(--radius) 0;margin-top:18px;font-size:.93rem}
.case-outcome strong{color:var(--ink)}
.case-disclaimer{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;color:var(--muted);max-width:860px;line-height:1.7}
@media(max-width:900px){.case-grid{grid-template-columns:1fr}.case{padding:26px 22px}}

/* ============================================================
   HEADER v2 — Option A: brand in top bar, nav owns the full line
   ============================================================ */
.topstrip .wrap{align-items:center;padding-top:12px;padding-bottom:12px;flex-wrap:nowrap;justify-content:space-between;gap:24px}
.topstrip .brand{flex:0 0 auto}
.topstrip .brand-name{color:#fff;font-size:1.15rem}
.topstrip .brand-name small{color:rgba(255,255,255,.55)}
.topstrip .brand-mark{background:rgba(184,134,43,.15);color:var(--gold-bright)}
.contactline{display:flex;align-items:center;gap:16px;font-family:var(--font-mono);font-size:.74rem;white-space:nowrap;letter-spacing:.04em}
.contactline .sep{color:rgba(255,255,255,.35)}
.contactline .dim{color:rgba(255,255,255,.7)}
.site-header .wrap{padding-top:0;padding-bottom:0}
.nav{flex:1;justify-content:flex-start;gap:22px}
.nav a{padding:20px 0}
.nav .btn{padding:11px 20px;margin-left:6px}
@media(max-width:980px){
  .contactline{display:none}
  .site-header .wrap{padding-top:10px;padding-bottom:10px;justify-content:flex-end;gap:10px}
}
@media(max-width:720px){
  .nav a{padding:11px 0}
  .topstrip .brand-name{font-size:1rem}
}

/* ============================================================
   VISUAL LAYER — flags, icons, gold texture bands, photo frames
   ============================================================ */
.flag-chip{width:22px;height:15px;border-radius:2px;overflow:hidden;flex:0 0 22px;border:1px solid var(--line);display:inline-block;vertical-align:-2px}
.flag-chip svg{display:block;width:100%;height:100%}
.country-chip .flag-chip{margin-right:2px}
.flag-lg{width:42px;height:28px;border-radius:3px;overflow:hidden;border:1px solid rgba(255,255,255,.25);display:inline-block;margin-bottom:14px}
.flag-lg svg{display:block;width:100%;height:100%}

.svc-icon{height:34px;display:flex;align-items:flex-end;margin-bottom:14px}

.gold-band{border-radius:8px;overflow:hidden;position:relative;border:1px solid var(--line);line-height:0}
.gold-band svg{width:100%;height:100%;display:block}
.gold-band .band-label{position:absolute;left:18px;bottom:14px;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.9);background:rgba(12,31,26,.55);padding:6px 12px;border-radius:4px;line-height:1.4}
.gold-band .band-title{position:absolute;left:24px;top:50%;transform:translateY(-50%);font-family:var(--font-display);font-weight:600;font-size:clamp(1.4rem,3vw,2.2rem);color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.45);line-height:1.1}

.commit-icon{height:30px;margin-bottom:12px;display:flex;align-items:flex-end}
.commit-icon svg{stroke:var(--gold);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* ============================================================
   NAV TYPOGRAPHY — Option C: bold links, active = normal weight in gold pill
   ============================================================ */
.nav a{font-weight:700}
.nav a[aria-current="page"]{font-weight:400;background:var(--gold-soft);border-radius:99px;padding:9px 16px;border-bottom-color:transparent}
.nav a[aria-current="page"]:hover{border-bottom-color:transparent}
@media(max-width:720px){
  .nav a[aria-current="page"]{padding:11px 16px;border-bottom:1px solid var(--line)}
}

/* ============================================================
   PRICING / FEE EXPLAINER — used on apply.html + how-it-works.html
   ============================================================ */
.fee-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:32px 0}
.fee-card{border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px;background:var(--panel);position:relative}
.fee-card.highlight{border-color:var(--gold);background:var(--gold-soft)}
.fee-card .fc-label{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:10px}
.fee-card h3{font-size:1.1rem;margin-bottom:8px}
.fee-card .fc-amount{font-family:var(--font-display);font-size:1.8rem;font-weight:600;color:var(--ink);margin:10px 0 6px}
.fee-card .fc-note{font-size:.85rem;color:var(--muted);line-height:1.55}
.fee-card .fc-when{margin-top:14px;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}
.fee-card.highlight .fc-when{border-top-color:rgba(184,134,43,.35)}
.fee-table{width:100%;border-collapse:collapse;font-size:.92rem;margin:24px 0}
.fee-table th{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:left;padding:10px 14px 10px 0;border-bottom:2px solid var(--ink)}
.fee-table td{padding:12px 14px 12px 0;border-bottom:1px solid var(--line);vertical-align:top}
.fee-table td:last-child{font-weight:600;text-align:right;white-space:nowrap}
.fee-table tr.total td{font-weight:700;border-top:2px solid var(--ink);border-bottom:none;padding-top:16px}
.fee-zero{color:#1F7A4D;font-weight:700}
@media(max-width:720px){.fee-grid{grid-template-columns:1fr}}

/* ============================================================
   UTILITY STRIP — Option B (warm gold-tinted, between topbar & nav)
   ============================================================ */
.util-strip {
  background: var(--gold-soft);
  border-bottom: 1px solid #E2D5BC;
}
.util-strip .util-inner {
  max-width: var(--max);
  margin: 0 auto;
  padding: 6px 24px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
}
.util-strip a,
.util-strip button,
.util-strip select {
  font-family: var(--font-mono);
  font-size: .7rem;
  letter-spacing: .06em;
  text-decoration: none;
  line-height: 1;
}
.util-strip .u-portal {
  border: 1.5px solid rgba(184,134,43,.5);
  border-radius: 5px;
  padding: 5px 14px;
  color: var(--ink);
  white-space: nowrap;
  background: rgba(255,255,255,.65);
}
.util-strip .u-portal:hover { border-color: var(--gold); color: var(--gold); }
.util-strip .u-apply {
  background: var(--gold);
  color: #fff;
  border-radius: 5px;
  padding: 5px 16px;
  font-weight: 700;
  white-space: nowrap;
  border: none;
  cursor: pointer;
}
.util-strip .u-apply:hover { background: #a07726; }
.util-strip .u-lang {
  appearance: none;
  -webkit-appearance: none;
  border: 1.5px solid rgba(184,134,43,.4);
  border-radius: 5px;
  padding: 5px 22px 5px 10px;
  color: var(--ink);
  background: rgba(255,255,255,.65)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6' viewBox='0 0 9 6'%3E%3Cpath d='M1 1l3.5 3.5L8 1' fill='none' stroke='%23B8862B' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E")
    no-repeat right 8px center;
  cursor: pointer;
}
.util-strip .u-lang:hover { border-color: var(--gold); }
.util-strip .u-lang option { color: #10231D; background: #fff; }
.util-strip .u-theme {
  border: 1.5px solid rgba(184,134,43,.4);
  border-radius: 5px;
  width: 30px;
  height: 28px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.65);
  cursor: pointer;
  color: var(--ink);
  padding: 0;
}
.util-strip .u-theme:hover { border-color: var(--gold); color: var(--gold); }
.util-strip .u-theme svg { display: block; }
.util-strip .u-sep {
  width: 1px;
  height: 16px;
  background: rgba(184,134,43,.3);
  margin: 0 2px;
}

/* dark mode adjustments */
[data-theme="dark"] .util-strip {
  background: rgba(184,134,43,.1);
  border-bottom-color: rgba(184,134,43,.2);
}
[data-theme="dark"] .util-strip .u-portal,
[data-theme="dark"] .util-strip .u-lang,
[data-theme="dark"] .util-strip .u-theme {
  background: rgba(255,255,255,.06);
  border-color: rgba(184,134,43,.35);
  color: var(--ink);
}
[data-theme="dark"] .util-strip .u-lang {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6' viewBox='0 0 9 6'%3E%3Cpath d='M1 1l3.5 3.5L8 1' fill='none' stroke='%23D9A93F' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
}
[data-theme="dark"] .util-strip .u-sep { background: rgba(184,134,43,.25); }

@media(max-width:720px) {
  .util-strip { padding: 6px 16px; gap: 6px; }
  .util-strip .u-portal { display: none; }
}

/* Sticky wrapper for util-strip + nav */
.util-strip{position:sticky;top:0;z-index:61}
.site-header{position:sticky;top:38px;z-index:60}

/* ============================================================
   NAV DROPDOWN — Other Services
   ============================================================ */
.nav-dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.nav-dropdown > a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-weight: 700;
  font-size: .88rem;
  color: var(--ink);
  padding: 20px 0;
  border-bottom: 2px solid transparent;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.nav-dropdown > a svg {
  transition: transform .18s ease;
  flex-shrink: 0;
}
.nav-dropdown:hover > a { border-bottom-color: var(--gold); }
.nav-dropdown.active > a { border-bottom-color: var(--gold); }
.nav-dropdown:hover > a svg { transform: rotate(180deg); }

.dd-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 16px 48px rgba(0,0,0,.15);
  min-width: 280px;
  padding: 8px;
  z-index: 200;
}
.nav-dropdown:hover .dd-menu { display: block; }

.dd-item {
  display: block;
  padding: 12px 14px;
  border-radius: 6px;
  text-decoration: none;
  color: var(--ink);
}
.dd-item:hover { background: var(--gold-soft); }
.dd-item { font-weight: 600; font-size: .9rem; }

[data-theme="dark"] .dd-menu { box-shadow: 0 16px 48px rgba(0,0,0,.5); }
[data-theme="dark"] .dd-item strong { color: var(--ink); }
[data-theme="dark"] .dd-item:hover { background: var(--gold-soft); }

@media(max-width:720px) {
  .nav-dropdown { flex-direction: column; align-items: stretch; width: 100%; }
  .nav-dropdown > a { padding: 11px 0; border-bottom: 1px solid var(--line); border-bottom-width: 1px; }
  .dd-menu {
    display: block;
    position: static;
    transform: none;
    box-shadow: none;
    border: none;
    border-radius: 0;
    padding: 0 0 4px 16px;
    min-width: auto;
  }
  .dd-item { padding: 8px 0; border-radius: 0; border-bottom: 1px solid var(--line); }
}
