/* ============================================================
   ThumaPay — thumapay.com
   Theme inherited from the Thuma Express brand system.
   Signature colour: Pay Gold #F5A623
   ============================================================ */

:root{
  /* Core surfaces */
  --black:#0D0D0D;
  --panel:#161616;
  --panel-2:#1A1A1A;
  --line:#242424;
  --line-soft:rgba(255,255,255,0.07);

  /* Brand */
  --gold:#F5A623;          /* Pay Gold — ThumaPay signature */
  --gold-hi:#FFBE52;       /* hover / raised state */
  --gold-soft:rgba(245,166,35,0.12);
  --gold-line:rgba(245,166,35,0.35);
  --gold-light:#FEF3DC;
  --navy:#1E3A5F;          /* Shield Navy — trust & regulatory */
  --navy-hi:#2C5486;
  --te-orange:#F26522;     /* master brand endorsement only */

  /* Text */
  --white:#FFFFFF;
  --text:#D6D6D6;
  --grey:#8A8A8A;
  --grey-dim:#5E5E5E;

  /* Semantic */
  --ok:#22C55E;
  --warn:#E5B93C;

  /* Geometry */
  --r-brand:26%;
  --r-card:16px;
  --r-btn:10px;
  --r-chip:999px;

  /* Motion */
  --ease:cubic-bezier(0.4,0,0.2,1);

  /* Rhythm */
  --wrap:1180px;
  --gut:26px;
}

/* ---------- reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--black);
  color:var(--text);
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; color:inherit; }
h1,h2,h3,h4{ color:var(--white); margin:0; line-height:1.15; letter-spacing:-0.025em; }
p{ margin:0; }
ul{ margin:0; padding:0; list-style:none; }
.mono{ font-family:'JetBrains Mono',ui-monospace,monospace; font-variant-numeric:tabular-nums; }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}

/* ---------- focus & skip ---------- */
:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; border-radius:4px; }
.skip-link{
  position:absolute; left:-9999px; top:8px; z-index:200;
  background:var(--gold); color:#0D0D0D; padding:10px 16px;
  border-radius:8px; font-weight:700; font-size:14px;
}
.skip-link:focus{ left:8px; }

/* ---------- layout ---------- */
.wrap{ width:100%; max-width:var(--wrap); margin:0 auto; padding:0 var(--gut); }
.section{ padding:96px 0; }
.section--tight{ padding:64px 0; }
.section--line{ border-top:1px solid var(--line); }

.eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  font-family:'JetBrains Mono',monospace;
  font-size:11px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase;
  color:var(--gold); margin-bottom:20px;
}
.eyebrow::before{ content:''; width:6px; height:6px; border-radius:50%; background:var(--gold); flex-shrink:0; }
.eyebrow--navy{ color:#7FA8DA; }
.eyebrow--navy::before{ background:#7FA8DA; }

.h-xl{ font-size:clamp(38px,6vw,68px); font-weight:900; }
.h-lg{ font-size:clamp(30px,4.2vw,46px); font-weight:900; }
.h-md{ font-size:clamp(22px,2.6vw,30px); font-weight:800; }
.h-sm{ font-size:19px; font-weight:700; }
.accent{ color:var(--gold); }
.lede{ font-size:clamp(16px,1.6vw,18.5px); color:var(--grey); max-width:60ch; }
.section-intro{ max-width:62ch; margin-bottom:52px; }

/* ---------- header ---------- */
.site-header{
  position:sticky; top:0; z-index:80;
  background:rgba(13,13,13,0.86);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.nav{ display:flex; align-items:center; justify-content:space-between; gap:20px; height:70px; }
.brand{ display:flex; align-items:center; gap:11px; flex-shrink:0; }
.te-badge{
  width:28px; height:28px; flex-shrink:0;
  border-radius:var(--r-brand); overflow:hidden;
}
.te-badge svg{ width:100%; height:100%; }
.endorse-divider{ width:1px; height:20px; background:var(--line); flex-shrink:0; }
.wordmark{
  display:inline-block; line-height:1;
  font-size:19px; letter-spacing:-0.03em; white-space:nowrap;
}
.wordmark .wm-thuma{ font-weight:900; color:var(--white); }
.wordmark .wm-suffix{ font-weight:600; color:var(--gold); }

.nav-links{ display:flex; align-items:center; gap:30px; margin-left:auto; }
.nav-links a{
  font-size:14px; font-weight:600; color:var(--grey);
  transition:color .2s var(--ease); white-space:nowrap;
}
.nav-links a:hover,.nav-links a[aria-current="page"]{ color:var(--white); }
.nav-actions{ display:flex; align-items:center; gap:10px; flex-shrink:0; }

.nav-toggle{
  display:none; width:38px; height:38px; align-items:center; justify-content:center;
  background:transparent; border:1px solid var(--line); border-radius:8px; cursor:pointer;
}
.nav-toggle span{ display:block; width:16px; height:1.5px; background:var(--white); position:relative; }
.nav-toggle span::before,.nav-toggle span::after{
  content:''; position:absolute; left:0; width:16px; height:1.5px; background:var(--white);
  transition:transform .25s var(--ease);
}
.nav-toggle span::before{ top:-5px; } .nav-toggle span::after{ top:5px; }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 20px; border-radius:var(--r-btn);
  font-size:14px; font-weight:700; letter-spacing:-0.01em;
  border:1px solid transparent; cursor:pointer;
  transition:background .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease);
  white-space:nowrap;
}
.btn-primary{ background:var(--gold); color:#0D0D0D; }
.btn-primary:hover{ background:var(--gold-hi); transform:translateY(-1px); }
.btn-ghost{ border-color:var(--line); color:var(--white); background:transparent; }
.btn-ghost:hover{ border-color:var(--grey); }
.btn-sm{ padding:9px 15px; font-size:13px; }
.btn-lg{ padding:15px 26px; font-size:15px; }
.btn-row{ display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }

/* ---------- hero ---------- */
.hero{ position:relative; padding:92px 0 88px; overflow:hidden; }
.hero::before{
  content:''; position:absolute; top:-220px; right:-160px;
  width:640px; height:640px; pointer-events:none;
  background:radial-gradient(circle,var(--gold-soft) 0%,rgba(245,166,35,0) 68%);
}
.hero-grid{
  position:relative; display:grid; grid-template-columns:1.02fr 0.98fr;
  gap:60px; align-items:center;
}
.hero-headline{ margin-bottom:22px; }
.trust-line{
  display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:30px;
  font-size:12.5px; color:var(--grey);
}
.trust-line span{ display:inline-flex; align-items:center; gap:7px; }
.trust-line span::before{
  content:''; width:5px; height:5px; border-radius:50%;
  background:var(--gold); flex-shrink:0;
}

/* ---------- signature: fee receipt ---------- */
.receipt{
  background:var(--panel); border:1px solid var(--line);
  border-radius:var(--r-card); padding:26px;
  box-shadow:0 24px 60px rgba(0,0,0,0.45);
}
.receipt-head{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding-bottom:18px; border-bottom:1px solid var(--line);
}
.receipt-title{
  font-family:'JetBrains Mono',monospace; font-size:10.5px;
  letter-spacing:0.14em; text-transform:uppercase; color:var(--grey);
}
.amount-field{ margin:22px 0 18px; }
.amount-label{
  display:block; font-size:12px; color:var(--grey); margin-bottom:9px;
}
.amount-input{
  display:flex; align-items:center; gap:10px;
  background:var(--black); border:1px solid var(--line);
  border-radius:12px; padding:13px 16px;
  transition:border-color .2s var(--ease);
}
.amount-input:focus-within{ border-color:var(--gold-line); }
.amount-input .cur{ font-family:'JetBrains Mono',monospace; color:var(--grey); font-size:15px; }
.amount-input input{
  flex:1; min-width:0; background:transparent; border:0; outline:none;
  color:var(--white); font-family:'JetBrains Mono',monospace;
  font-size:24px; font-weight:700; letter-spacing:-0.02em;
}
.amount-input input::-webkit-outer-spin-button,
.amount-input input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.amount-input input[type=number]{ -moz-appearance:textfield; }

.slider{
  width:100%; margin:4px 0 22px; accent-color:var(--gold);
  height:4px; cursor:pointer;
}

/* fee lines — the transparency motif */
.fee-lines{ border-top:1px dashed var(--line); padding-top:16px; }
.fee-row{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:16px; padding:7px 0; font-size:13.5px;
}
.fee-row .lbl{ color:var(--grey); }
.fee-row .val{ font-family:'JetBrains Mono',monospace; color:var(--text); font-weight:500; }
.fee-row--total{
  margin-top:10px; padding-top:15px; border-top:1px solid var(--line);
  font-size:15px;
}
.fee-row--total .lbl{ color:var(--white); font-weight:700; }
.fee-row--total .val{ color:var(--gold); font-weight:700; font-size:19px; }
.receipt-note{
  margin-top:16px; font-size:11.5px; color:var(--grey-dim); line-height:1.6;
}

/* ---------- cards ---------- */
.grid{ display:grid; gap:20px; }
.grid-2{ grid-template-columns:repeat(2,1fr); }
.grid-3{ grid-template-columns:repeat(3,1fr); }
.grid-4{ grid-template-columns:repeat(4,1fr); }

.card{
  background:var(--panel); border:1px solid var(--line);
  border-radius:var(--r-card); padding:28px;
  transition:border-color .25s var(--ease),transform .25s var(--ease);
}
.card:hover{ border-color:rgba(245,166,35,0.28); transform:translateY(-2px); }
.card h3{ font-size:17.5px; font-weight:700; margin-bottom:9px; }
.card p{ font-size:14.5px; color:var(--grey); }
.card-icon{
  width:40px; height:40px; border-radius:11px;
  background:var(--gold-soft); border:1px solid var(--gold-line);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:18px; color:var(--gold);
}
.card-icon svg{ width:19px; height:19px; }
.card--flat:hover{ transform:none; border-color:var(--line); }

/* stat */
.stat-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.stat .n{
  font-family:'JetBrains Mono',monospace; font-size:clamp(26px,3.4vw,36px);
  font-weight:700; color:var(--gold); letter-spacing:-0.03em; line-height:1.1;
}
.stat .l{ font-size:12.5px; color:var(--grey); margin-top:7px; }

/* ---------- steps (real sequence only) ---------- */
.steps{ display:grid; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r-card); overflow:hidden; }
.step{ background:var(--panel); padding:26px 28px; display:grid; grid-template-columns:44px 1fr; gap:20px; align-items:start; }
.step-n{
  font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:700;
  color:var(--gold); padding-top:3px;
}
.step h3{ font-size:16.5px; margin-bottom:6px; }
.step p{ font-size:14px; color:var(--grey); }

/* ---------- table ---------- */
.table-wrap{ border:1px solid var(--line); border-radius:var(--r-card); overflow:hidden; }
table{ width:100%; border-collapse:collapse; font-size:14.5px; }
thead th{
  background:var(--panel-2); text-align:left; padding:15px 20px;
  font-size:11px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--grey); font-family:'JetBrains Mono',monospace;
  border-bottom:1px solid var(--line);
}
tbody td{ padding:16px 20px; border-bottom:1px solid var(--line); color:var(--text); }
tbody tr:last-child td{ border-bottom:0; }
tbody tr:nth-child(even){ background:rgba(255,255,255,0.015); }
td.num{ font-family:'JetBrains Mono',monospace; color:var(--white); font-weight:600; white-space:nowrap; }

/* ---------- pill / tag ---------- */
.pill{
  display:inline-flex; align-items:center; gap:7px;
  padding:5px 13px; border-radius:var(--r-chip);
  border:1px solid var(--gold-line); background:var(--gold-soft);
  font-family:'JetBrains Mono',monospace; font-size:10.5px;
  letter-spacing:0.08em; text-transform:uppercase; color:var(--gold);
}
.pill--navy{ border-color:rgba(127,168,218,0.4); background:rgba(30,58,95,0.35); color:#9CC0E8; }
.pill-row{ display:flex; flex-wrap:wrap; gap:9px; }

/* ---------- regulated / trust band ---------- */
.trust-band{
  background:linear-gradient(180deg,rgba(30,58,95,0.30) 0%,rgba(30,58,95,0.10) 100%);
  border-top:1px solid rgba(127,168,218,0.18);
  border-bottom:1px solid rgba(127,168,218,0.18);
  padding:52px 0;
}
.licence-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.licence{
  background:rgba(13,13,13,0.5); border:1px solid rgba(127,168,218,0.22);
  border-radius:12px; padding:20px 22px;
}
.licence .who{
  font-family:'JetBrains Mono',monospace; font-size:10.5px;
  letter-spacing:0.12em; text-transform:uppercase; color:#9CC0E8; margin-bottom:8px;
}
.licence .what{ font-size:15px; color:var(--white); font-weight:700; margin-bottom:4px; }
.licence .ref{ font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--grey); }

/* ---------- FAQ ---------- */
.faq{ border-top:1px solid var(--line); }
.faq-item{ border-bottom:1px solid var(--line); }
.faq-q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:20px;
  background:transparent; border:0; cursor:pointer; text-align:left;
  padding:22px 0; font-size:16px; font-weight:600; color:var(--white);
}
.faq-q:hover{ color:var(--gold); }
.faq-q .ind{ flex-shrink:0; color:var(--gold); font-size:20px; line-height:1; transition:transform .25s var(--ease); }
.faq-item.open .faq-q .ind{ transform:rotate(45deg); }
.faq-a{ display:none; padding:0 0 24px; font-size:14.5px; color:var(--grey); max-width:76ch; }
.faq-item.open .faq-a{ display:block; }

/* ---------- code ---------- */
.code{
  background:#111; border:1px solid var(--line); border-radius:12px;
  padding:20px 22px; overflow-x:auto;
  font-family:'JetBrains Mono',monospace; font-size:12.5px; line-height:1.75;
  color:#C9D1D9;
}
.code .k{ color:var(--gold); }
.code .s{ color:#8DD98D; }
.code .c{ color:var(--grey-dim); }

/* ---------- CTA band ---------- */
.cta-band{ background:var(--gold); color:#0D0D0D; text-align:center; padding:84px 0; }
.cta-band h2{ color:#0D0D0D; margin-bottom:14px; }
.cta-band p{ color:#4a3a1a; font-size:16px; max-width:52ch; margin:0 auto 30px; }
.cta-band .btn-primary{ background:#0D0D0D; color:var(--white); }
.cta-band .btn-primary:hover{ background:#262626; }
.cta-band .btn-ghost{ border-color:rgba(0,0,0,0.32); color:#0D0D0D; }
.cta-band .btn-ghost:hover{ border-color:#0D0D0D; }
.cta-band .btn-row{ justify-content:center; margin-top:0; }

/* ---------- footer ---------- */
.site-footer{ border-top:1px solid var(--line); padding:66px 0 34px; }
.footer-top{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px; margin-bottom:48px; }
.footer-brand .brand{ margin-bottom:16px; }
.footer-brand p{ font-size:13.5px; color:var(--grey); max-width:34ch; }
.footer-col h4{
  font-family:'JetBrains Mono',monospace; font-size:10.5px; font-weight:700;
  letter-spacing:0.13em; text-transform:uppercase; color:var(--grey); margin-bottom:16px;
}
.footer-col a{ display:block; font-size:13.5px; color:var(--text); padding:5px 0; transition:color .2s var(--ease); }
.footer-col a:hover{ color:var(--gold); }
.footer-legal{
  border-top:1px solid var(--line); padding-top:26px;
  display:flex; flex-wrap:wrap; gap:14px 28px; justify-content:space-between; align-items:flex-start;
}
.footer-legal p{ font-size:12px; color:var(--grey-dim); line-height:1.7; max-width:70ch; }
.footer-legal a{ color:var(--grey); }
.footer-legal a:hover{ color:var(--gold); }
.legal-links{ display:flex; flex-wrap:wrap; gap:18px; font-size:12px; }

/* ---------- cookie banner ---------- */
.cookie{
  position:fixed; left:0; right:0; bottom:0; z-index:120;
  background:var(--panel); border-top:1px solid var(--line);
  padding:20px 0; display:none;
  padding-bottom:calc(20px + env(safe-area-inset-bottom));
}
.cookie.show{ display:block; }
.cookie-inner{ display:flex; flex-wrap:wrap; gap:18px; align-items:center; justify-content:space-between; }
.cookie p{ font-size:13px; color:var(--grey); max-width:64ch; }
.cookie-actions{ display:flex; flex-wrap:wrap; gap:10px; }

/* ---------- modal ---------- */
.modal{
  position:fixed; inset:0; z-index:140; display:none;
  background:rgba(0,0,0,0.72); backdrop-filter:blur(4px);
  padding:24px; overflow-y:auto;
}
.modal.show{ display:flex; align-items:flex-start; justify-content:center; }
.modal-box{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--r-card);
  max-width:720px; width:100%; margin:auto; padding:34px;
}
.modal-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:20px; }
.modal-close{
  background:transparent; border:1px solid var(--line); border-radius:8px;
  width:34px; height:34px; cursor:pointer; color:var(--white); font-size:18px; line-height:1;
  flex-shrink:0;
}
.modal-close:hover{ border-color:var(--gold); color:var(--gold); }
.modal-body{ font-size:14px; color:var(--grey); max-height:58vh; overflow-y:auto; }
.modal-body h4{ font-size:14.5px; margin:20px 0 8px; }
.modal-body p{ margin-bottom:12px; }
.modal-body ul{ list-style:disc; padding-left:20px; margin-bottom:12px; }
.modal-body li{ margin-bottom:6px; }

/* ---------- form ---------- */
.field{ margin-bottom:16px; }
.field label{ display:block; font-size:13px; color:var(--grey); margin-bottom:7px; }
.field input,.field select,.field textarea{
  width:100%; background:var(--black); border:1px solid var(--line);
  border-radius:10px; padding:12px 15px; color:var(--white);
  font-family:inherit; font-size:14.5px; outline:none;
  transition:border-color .2s var(--ease);
}
.field input:focus,.field select:focus,.field textarea:focus{ border-color:var(--gold-line); }
.field textarea{ min-height:120px; resize:vertical; }
.form-note{ font-size:12px; color:var(--grey-dim); margin-top:10px; }

/* ---------- responsive ---------- */
@media (max-width:980px){
  .hero-grid{ grid-template-columns:1fr; gap:44px; }
  .grid-4{ grid-template-columns:repeat(2,1fr); }
  .stat-row{ grid-template-columns:repeat(2,1fr); }
  .footer-top{ grid-template-columns:1fr 1fr; gap:34px; }
  .licence-grid{ grid-template-columns:1fr; }
}
@media (max-width:760px){
  :root{ --gut:20px; }
  .section{ padding:68px 0; }
  .hero{ padding:64px 0 60px; }
  .nav-toggle{ display:flex; }
  .nav-links{
    position:absolute; top:70px; left:0; right:0;
    background:var(--panel); border-bottom:1px solid var(--line);
    flex-direction:column; align-items:stretch; gap:0; padding:10px 0;
    display:none;
  }
  .nav-links.open{ display:flex; }
  .nav-links a{ padding:13px var(--gut); font-size:15px; }
  .nav-actions .btn{ display:none; }
  .nav-actions .btn.keep{ display:inline-flex; }
  .grid-2,.grid-3,.grid-4{ grid-template-columns:1fr; }
  .step{ grid-template-columns:1fr; gap:8px; }
  .footer-top{ grid-template-columns:1fr; }
  .cookie-inner{ flex-direction:column; align-items:stretch; }
  .cookie-actions .btn{ flex:1; }
  .modal-box{ padding:24px; }
}

/* ============================================================
   Regulatory status, notice bar, sub-brand themes
   ============================================================ */

/* Site-wide pre-authorisation notice */
.notice-bar{
  background:var(--navy); border-bottom:1px solid rgba(127,168,218,0.28);
  color:#DCE8F6; font-size:12.5px; line-height:1.5;
  padding:9px 0;
}
.notice-bar .wrap{ display:flex; gap:10px 16px; align-items:center; flex-wrap:wrap; justify-content:center; text-align:center; }
.notice-bar strong{ color:#fff; font-weight:700; }
.notice-bar a{ color:#9CC0E8; text-decoration:underline; text-underline-offset:2px; }
.notice-bar a:hover{ color:#fff; }

/* Licence status list */
.status-list{ display:grid; gap:14px; }
.status-item{
  display:grid; grid-template-columns:1fr auto; gap:12px 24px; align-items:start;
  background:rgba(13,13,13,0.5); border:1px solid rgba(127,168,218,0.22);
  border-radius:12px; padding:20px 22px;
}
.status-item .body{ font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:0.12em; text-transform:uppercase; color:#9CC0E8; margin-bottom:7px; }
.status-item .what{ font-size:15.5px; color:var(--white); font-weight:700; margin-bottom:5px; }
.status-item .act{ font-size:12.5px; color:var(--grey); }
.status-item .ref{ font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--grey); margin-top:6px; }

.status{
  display:inline-flex; align-items:center; gap:7px; white-space:nowrap;
  padding:5px 12px; border-radius:var(--r-chip);
  font-family:'JetBrains Mono',monospace; font-size:10px;
  letter-spacing:0.09em; text-transform:uppercase; font-weight:700;
}
.status::before{ content:''; width:6px; height:6px; border-radius:50%; background:currentColor; flex-shrink:0; }
.status--progress{ color:#E5B93C; border:1px solid rgba(229,185,60,0.4); background:rgba(229,185,60,0.10); }
.status--planned{ color:#8A8A8A; border:1px solid rgba(138,138,138,0.35); background:rgba(138,138,138,0.08); }
.status--granted{ color:#22C55E; border:1px solid rgba(34,197,94,0.4); background:rgba(34,197,94,0.10); }

/* Roadmap — a real sequence, so numbering is meaningful */
.phase{
  display:grid; grid-template-columns:120px 1fr; gap:26px;
  padding:26px 0; border-top:1px solid var(--line);
}
.phase:first-child{ border-top:0; }
.phase-tag{
  font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700;
  letter-spacing:0.11em; text-transform:uppercase; color:var(--gold); padding-top:3px;
}
.phase h3{ font-size:18px; margin-bottom:8px; }
.phase p{ font-size:14.5px; color:var(--grey); margin-bottom:12px; }

/* Sub-brand accent themes — override the accent token only */
body.brand-credit{
  --gold:#22C55E; --gold-hi:#52D181;
  --gold-soft:rgba(34,197,94,0.12); --gold-line:rgba(34,197,94,0.35);
}
body.brand-shield{
  --gold:#4A9EFF; --gold-hi:#7FB8FF;
  --gold-soft:rgba(74,158,255,0.12); --gold-line:rgba(74,158,255,0.35);
}
body.brand-credit .cta-band p{ color:#123d22; }
body.brand-shield .cta-band p{ color:#10305c; }

/* Underwriter / partner note */
.note-strip{
  border-left:2px solid var(--gold); padding:4px 0 4px 18px;
  font-size:14px; color:var(--grey); max-width:72ch;
}

@media (max-width:760px){
  .status-item{ grid-template-columns:1fr; }
  .phase{ grid-template-columns:1fr; gap:10px; }
}

/* ---------- language switcher & translation note ---------- */
.lang-switch{ display:flex; align-items:center; gap:2px; margin-right:4px; }
.lang-opt{
  font-family:'JetBrains Mono',monospace; font-size:10.5px; font-weight:700;
  letter-spacing:0.06em; padding:5px 7px; border-radius:6px; color:var(--grey);
  transition:color .2s var(--ease), background .2s var(--ease);
}
.lang-opt:hover{ color:var(--white); background:rgba(255,255,255,0.06); }
.lang-opt.is-on{ background:var(--gold); color:#0D0D0D; }
.lang-note{
  background:rgba(255,255,255,0.03); border-bottom:1px solid var(--line);
  font-size:12px; color:var(--grey); padding:8px 0; text-align:center; line-height:1.5;
}
@media (max-width:760px){
  .lang-switch{ margin-right:2px; }
  .lang-opt{ padding:4px 5px; font-size:10px; }
}

/* header must not overflow when translated labels run long */
.nav{ min-width:0; }
.nav-links{ flex-shrink:0; }
.nav-actions{ flex-shrink:0; }



/* On small screens the language switcher replaces the header CTA;
   the call to action is still reachable from the hero and CTA bands. */
@media (max-width:760px){
  .nav-actions .btn.keep{ display:none; }
  .lang-switch{ gap:0; }
  .lang-opt{ padding:4px 4px; font-size:9.5px; }
}


/* ---------- header fits itself to the language ----------
   Nav labels differ in length per language, so instead of guessing breakpoints
   the header measures its own content and collapses to the menu button when it
   no longer fits. Works for any future translation without new CSS. */
.site-header .nav{ gap:22px; }
.nav-links{ flex-shrink:0; }
.site-header.is-compact .nav-links{
  position:absolute; top:70px; left:0; right:0;
  background:var(--panel); border-bottom:1px solid var(--line);
  flex-direction:column; align-items:stretch; gap:0; padding:10px 0;
  display:none; z-index:90;
}
.site-header.is-compact .nav-links.open{ display:flex; }
.site-header.is-compact .nav-links a{ padding:13px var(--gut); font-size:15px; }
.site-header.is-compact .nav-toggle{ display:flex; }
.site-header.is-compact .nav-actions .btn-ghost{ display:none; }

/* The header may use more width than the text column, so longer-label
   languages keep a full navigation instead of collapsing unnecessarily. */
.site-header .wrap{ max-width:1340px; }


/* ---------- contact form ---------- */
.tx-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media(max-width:560px){ .tx-row{ grid-template-columns:1fr; } }
.tx-consent{ display:flex; gap:11px; align-items:flex-start; background:var(--black); border:1px solid var(--line); border-radius:var(--r-btn); padding:13px 14px; cursor:pointer; margin-bottom:14px; }
.tx-consent input{ width:16px; height:16px; margin:2px 0 0; flex:0 0 auto; accent-color:var(--gold); }
.tx-consent span{ font-size:11.5px; line-height:1.62; color:var(--grey); }
.tx-consent a{ color:var(--gold); }
.tx-err{ font-size:12px; color:#FF6B5E; display:none; margin-bottom:12px; }
.tx-note{ font-size:11.5px; color:var(--grey-dim); margin:12px 0 0; }
.tx-ok{ display:none; text-align:center; padding:14px 0; }
.tx-ok .tx-ok-mark{ width:44px; height:44px; border-radius:50%; background:var(--gold-soft); color:var(--gold); display:flex; align-items:center; justify-content:center; margin:0 auto 12px; font-size:20px; }
