/* ==========================================================================
   TraceNOW Design System
   Palette: Ink navy (authority) · Signal blue (action) · Brass (verification, seals)
   Typeface: Inter (single family, sitewide)
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
:root{
  /* Ink: the institutional base. Deep, desaturated, closer to legal navy than tech blue */
  --navy-950:#050B14;
  --navy-900:#0A1626;
  --navy-800:#102034;
  --navy-700:#1B3149;
  --navy-600:#274460;

  /* Signal blue: primary action. Deepened so it reads authoritative rather than consumer */
  --blue-700:#133C7D;
  --blue-600:#1A4FA0;
  --blue-500:#2E6BC4;
  --blue-200:#B7CBE6;
  --blue-100:#DFE8F4;
  --blue-50:#F1F5FA;

  /* Brass: the authority accent. Seals, rules, verification marks, badge furniture */
  --brass-800:#6F4F19;
  --brass-700:#8A6320;
  --brass-600:#A2762A;
  --brass-500:#BE8F3C;
  --brass-400:#D4A855;
  --brass-100:#EEDFBC;
  --brass-50:#FAF4E7;

  /* Neutrals: graphite rather than blue-slate, for a printed-document feel */
  --slate-900:#0D131C;
  --slate-800:#1A2330;
  --slate-700:#303A47;
  --slate-600:#4A5563;
  --slate-500:#697485;
  --slate-400:#98A2B0;
  --slate-300:#C6CCD5;
  --slate-200:#E1E5EB;
  --slate-100:#F0F2F5;
  --slate-50:#F7F8FA;
  --white:#FFFFFF;

  /* Semantic (used sparingly, derived from the same family) */
  --risk-high:#C0392B;
  --risk-high-bg:#FBEDEB;
  --risk-med:#B7791F;
  --risk-med-bg:#FDF4E3;
  --risk-low:#1E8E5A;
  --risk-low-bg:#E7F5EE;
  --star:#00B67A;

  /* Type */
  --font:'Inter','Inter var',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;

  /* Radii: squared off. Rounded corners read consumer software; edges read case file */
  --r-sm:2px; --r-md:3px; --r-lg:4px; --r-xl:6px; --r-pill:3px;

  /* Shadows: flat and printed rather than floating */
  --sh-xs:0 1px 0 rgba(13,19,28,.05);
  --sh-sm:0 1px 2px rgba(13,19,28,.07), 0 1px 0 rgba(13,19,28,.03);
  --sh-md:0 6px 16px -6px rgba(13,19,28,.16), 0 1px 3px rgba(13,19,28,.06);
  --sh-lg:0 16px 40px -14px rgba(13,19,28,.26), 0 3px 8px rgba(13,19,28,.07);
  --sh-glow:0 0 0 1px var(--brass-500), 0 6px 18px -8px rgba(190,143,60,.4);

  /* Layout */
  --container:1200px;
  --container-narrow:880px;
  --nav-h:76px;
}

/* ---------- 2. Reset & base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 20px)}
body{
  margin:0;
  font-family:var(--font);
  font-size:16.5px;
  line-height:1.65;
  color:var(--slate-700);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-feature-settings:"cv02","cv03","cv04","ss01";
  overflow-x:hidden;
  transition:opacity .18s ease;
}
html.i18n-pending body{opacity:0}
img,svg{max-width:100%;display:block}
a{color:var(--blue-600);text-decoration:none;transition:color .18s ease}
a:hover{color:var(--blue-700)}
button{font-family:inherit}
ul,ol{margin:0;padding:0}
h1,h2,h3,h4,h5{margin:0;color:var(--navy-900);font-weight:700;letter-spacing:-.021em;line-height:1.18}
p{margin:0}
:focus-visible{outline:3px solid var(--brass-400);outline-offset:2px;border-radius:4px}
::selection{background:var(--brass-100);color:var(--navy-900)}

/* ---------- 3. Typography scale ---------- */
.h-display{font-size:clamp(2.35rem,4.4vw,3.65rem);line-height:1.07;letter-spacing:-.032em}
.h1{font-size:clamp(2.1rem,3.6vw,3.05rem);line-height:1.1;letter-spacing:-.03em}
.h2{font-size:clamp(1.72rem,2.7vw,2.42rem);line-height:1.14;letter-spacing:-.026em}
.h3{font-size:clamp(1.28rem,1.8vw,1.6rem);line-height:1.25;letter-spacing:-.02em}
.h4{font-size:1.11rem;line-height:1.35;letter-spacing:-.012em}
.lead{font-size:clamp(1.04rem,1.3vw,1.19rem);line-height:1.62;color:var(--slate-600)}
.muted{color:var(--slate-500)}
.small{font-size:.875rem;line-height:1.55}
.xsmall{font-size:.79rem;line-height:1.5}
.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.mono{font-variant-numeric:tabular-nums;letter-spacing:.02em}
.strong{font-weight:600;color:var(--navy-800)}

/* ---------- 4. Layout ---------- */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:24px}
.container-narrow{max-width:var(--container-narrow)}
.section{padding:clamp(60px,7.4vw,104px) 0}
.section-sm{padding:clamp(44px,5vw,68px) 0}
.section-tint{background:var(--slate-50)}
.section-line{border-top:1px solid var(--slate-200)}
.section-navy{background:var(--navy-900);color:#C3D2E6}
.section-navy h1,.section-navy h2,.section-navy h3,.section-navy h4{color:#fff}
.grid{display:grid;gap:24px}
.g-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.split{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(32px,4.6vw,64px);align-items:center}
.split-wide{grid-template-columns:1.12fr .88fr}
.split-top{align-items:start}
.split-toc{grid-template-columns:.32fr .68fr}
.stack-sm>*+*{margin-top:10px}
.stack>*+*{margin-top:18px}
.stack-lg>*+*{margin-top:30px}
.center{text-align:center}
.flex{display:flex}
.wrap{flex-wrap:wrap}
.items-center{align-items:center}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}
.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mt-40{margin-top:40px}.mt-56{margin-top:56px}
.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.mb-32{margin-bottom:32px}.mb-40{margin-bottom:40px}
.maxw-460{max-width:460px}.maxw-560{max-width:560px}.maxw-660{max-width:660px}.maxw-760{max-width:760px}
.mx-auto{margin-inline:auto}
.full{grid-column:1/-1}

/* ---------- 5. Buttons ---------- */
.btn{
  --btn-bg:var(--blue-600); --btn-fg:#fff; --btn-bd:var(--blue-600);
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:13px 24px;border-radius:var(--r-pill);
  background:var(--btn-bg);color:var(--btn-fg);border:1.5px solid var(--btn-bd);
  font-size:.95rem;font-weight:600;letter-spacing:-.006em;
  cursor:pointer;text-decoration:none;white-space:nowrap;
  transition:transform .16s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease;
  box-shadow:0 6px 18px -8px rgba(26,79,160,.7);
}
.btn:hover{--btn-bg:var(--blue-700);--btn-bd:var(--blue-700);color:#fff;transform:translateY(-1px);box-shadow:0 12px 26px -10px rgba(26,79,160,.75)}
.btn:active{transform:translateY(0)}
.btn svg{width:17px;height:17px;flex:none}
.btn-lg{padding:16px 30px;font-size:1.01rem}
.btn-sm{padding:9px 17px;font-size:.86rem}
.btn-ghost{--btn-bg:transparent;--btn-fg:var(--navy-800);--btn-bd:var(--slate-300);box-shadow:none}
.btn-ghost:hover{--btn-bg:var(--slate-50);--btn-fg:var(--navy-900);--btn-bd:var(--slate-400);box-shadow:none}
/* brass-700 rather than 600: white text needs 4.5:1 and 600 only reaches 4.1 */
.btn-brass{--btn-bg:var(--brass-700);--btn-bd:var(--brass-700);box-shadow:0 4px 12px -6px rgba(111,79,25,.7)}
.btn-brass:hover{--btn-bg:var(--brass-800);--btn-bd:var(--brass-800);box-shadow:0 8px 18px -8px rgba(111,79,25,.75)}
.btn-white{--btn-bg:#fff;--btn-fg:var(--navy-900);--btn-bd:#fff;box-shadow:0 8px 24px -10px rgba(0,0,0,.5)}
.btn-white:hover{--btn-bg:var(--blue-50);--btn-bd:var(--blue-50);--btn-fg:var(--navy-900)}
.btn-outline-light{--btn-bg:transparent;--btn-fg:#fff;--btn-bd:rgba(255,255,255,.32);box-shadow:none}
.btn-outline-light:hover{--btn-bg:rgba(255,255,255,.09);--btn-bd:rgba(255,255,255,.55);--btn-fg:#fff;box-shadow:none}
.btn-block{width:100%}
.link-arrow{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:.93rem}
.link-arrow svg{width:15px;height:15px;transition:transform .18s ease}
.link-arrow:hover svg{transform:translateX(3px)}

/* ---------- 6. Eyebrow / badges / pills ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.745rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--brass-700);
}
.eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--brass-500)}
.eyebrow-plain::before{display:none}
.eyebrow-light{color:var(--brass-400)}
.pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 14px;border-radius:var(--r-pill);
  background:var(--blue-50);border:1px solid var(--blue-100);
  color:var(--blue-700);font-size:.8rem;font-weight:600;letter-spacing:-.005em;
}
.pill-brass{background:var(--brass-50);border-color:var(--brass-100);color:var(--brass-700)}
.pill-dark{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);color:#DCE8F7}
.pill-dot{width:7px;height:7px;border-radius:50%;background:var(--brass-500);flex:none}
.pill-dot-live{box-shadow:0 0 0 0 rgba(190,143,60,.6);animation:pulse 2.4s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(190,143,60,0)}100%{box-shadow:0 0 0 0 rgba(190,143,60,0)}}
.tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:.735rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.tag-high{background:var(--risk-high-bg);color:var(--risk-high)}
.tag-med{background:var(--risk-med-bg);color:var(--risk-med)}
.tag-low{background:var(--risk-low-bg);color:var(--risk-low)}
.tag-info{background:var(--blue-100);color:var(--blue-700)}
.tag-neutral{background:var(--slate-100);color:var(--slate-600)}

/* ---------- 7. Cards ---------- */
.card{
  background:var(--white);border:1px solid var(--slate-200);border-radius:var(--r-lg);
  padding:26px;box-shadow:var(--sh-sm);
  transition:transform .2s ease,box-shadow .25s ease,border-color .2s ease;
}
.card-hover:hover{transform:translateY(-3px);box-shadow:var(--sh-md);border-color:var(--blue-200)}
.card-flat{box-shadow:none}
.card-pad-lg{padding:32px}
.card-dark{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.11);box-shadow:none;color:#B9CADF}
.card-accent{border-top:3px solid var(--brass-500)}
.card-icon{
  width:46px;height:46px;border-radius:12px;display:grid;place-items:center;flex:none;
  background:linear-gradient(145deg,var(--blue-50),var(--brass-50));
  border:1px solid var(--blue-100);color:var(--blue-600);
}
.card-icon svg{width:22px;height:22px}
.card-icon-brass{background:linear-gradient(145deg,var(--brass-50),#fff);border-color:var(--brass-100);color:var(--brass-600)}
.card-icon-dark{background:rgba(190,143,60,.14);border-color:rgba(190,143,60,.28);color:var(--brass-400)}
.card-icon-lg{width:56px;height:56px;border-radius:15px}
.card-icon-lg svg{width:26px;height:26px}
.card h3+p,.card h4+p{margin-top:9px}
/* Cards that are links must not inherit link colouring for their body text */
a.card,a.card:hover{color:var(--slate-700);text-decoration:none}
a.card .link-arrow{color:var(--blue-600)}
a.card:hover .link-arrow{color:var(--blue-700)}

/* ---------- 8. Header / navigation ---------- */
.site-header{position:sticky;top:0;z-index:70;background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--slate-200);transition:box-shadow .22s ease}
.site-header.is-stuck{box-shadow:0 6px 22px -14px rgba(13,19,28,.4)}
.topbar{background:var(--navy-900);color:#A9BDD6;font-size:.79rem}
.topbar .container{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px;padding-block:6px}
.topbar-items{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.topbar-item{display:inline-flex;align-items:center;gap:7px;color:#A9BDD6}
.topbar-item svg{width:14px;height:14px;color:var(--brass-400);flex:none}
.topbar a.topbar-item:hover{color:#fff}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:var(--nav-h)}
.brand{display:inline-flex;align-items:center;gap:11px;flex:none}
.brand-mark{width:38px;height:38px;flex:none}
.brand-name{font-size:1.235rem;font-weight:800;letter-spacing:-.035em;color:var(--navy-900);line-height:1}
.brand-name span{color:var(--brass-600)}
.brand-sub{display:block;font-size:.615rem;font-weight:600;letter-spacing:.19em;text-transform:uppercase;color:var(--slate-400);margin-top:3px}
.nav-links{display:flex;align-items:center;gap:2px;list-style:none;margin:0}
.nav-link{
  display:inline-flex;align-items:center;gap:5px;padding:9px 13px;border-radius:9px;
  color:var(--slate-700);font-size:.925rem;font-weight:550;letter-spacing:-.008em;
  transition:background .16s ease,color .16s ease;
}
.nav-link:hover{background:var(--slate-100);color:var(--navy-900)}
.nav-link.active{color:var(--blue-700);background:var(--blue-50)}
.nav-link .chev{width:13px;height:13px;transition:transform .2s ease;color:var(--slate-400)}
.nav-actions{display:flex;align-items:center;gap:10px;flex:none}

/* Dropdown */
.has-drop{position:relative}
.drop{
  position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%,8px);
  width:min(660px,86vw);background:#fff;border:1px solid var(--slate-200);border-radius:var(--r-lg);
  box-shadow:var(--sh-lg);padding:14px;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:80;
}
.has-drop:hover .drop,.has-drop:focus-within .drop{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto}
.has-drop:hover .chev{transform:rotate(180deg)}
.drop::before{content:"";position:absolute;top:-14px;left:0;right:0;height:16px}
.drop-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.drop-item{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:11px;transition:background .16s ease}
.drop-item:hover{background:var(--blue-50)}
.drop-item .card-icon{width:36px;height:36px;border-radius:9px}
.drop-item .card-icon svg{width:18px;height:18px}
.drop-title{display:block;font-size:.905rem;font-weight:650;color:var(--navy-900);line-height:1.3}
.drop-desc{display:block;font-size:.79rem;color:var(--slate-500);line-height:1.45;margin-top:2px}
.drop-foot{margin-top:8px;padding:13px 14px 4px;border-top:1px solid var(--slate-200);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}

/* Language switcher */
.lang{position:relative}
.lang-btn{
  display:inline-flex;align-items:center;gap:7px;padding:8px 12px;
  border:1.5px solid var(--slate-200);border-radius:var(--r-pill);background:#fff;
  color:var(--navy-800);font-size:.83rem;font-weight:650;cursor:pointer;letter-spacing:.01em;
  transition:border-color .18s ease,background .18s ease;
}
.lang-btn:hover{border-color:var(--slate-400);background:var(--slate-50)}
.lang-btn .globe{width:15px;height:15px;color:var(--blue-600)}
.lang-btn .chev{width:12px;height:12px;color:var(--slate-400);transition:transform .2s ease}
.lang.open .lang-btn .chev{transform:rotate(180deg)}
.lang-menu{
  position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:#fff;
  border:1px solid var(--slate-200);border-radius:var(--r-md);box-shadow:var(--sh-lg);
  padding:6px;opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s;z-index:90;
}
.lang.open .lang-menu{opacity:1;visibility:visible;transform:translateY(0)}
.lang-opt{
  display:flex;width:100%;align-items:center;gap:10px;padding:9px 11px;border:0;border-radius:8px;
  background:transparent;cursor:pointer;text-align:left;font-size:.885rem;color:var(--slate-700);font-weight:550;
}
.lang-opt:hover{background:var(--slate-100);color:var(--navy-900)}
.lang-opt[aria-selected="true"]{background:var(--blue-50);color:var(--blue-700);font-weight:650}
.lang-opt .flag{width:22px;height:15px;border-radius:3px;flex:none;box-shadow:0 0 0 1px rgba(13,19,28,.09)}
.lang-opt .check{width:15px;height:15px;margin-left:auto;color:var(--brass-600);opacity:0}
.lang-opt[aria-selected="true"] .check{opacity:1}

/* Mobile nav */
.burger{display:none;width:44px;height:44px;border:1.5px solid var(--slate-200);border-radius:11px;background:#fff;cursor:pointer;padding:0;place-items:center}
.burger span{display:block;width:19px;height:2px;background:var(--navy-800);border-radius:2px;position:relative;transition:background .18s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:19px;height:2px;background:var(--navy-800);border-radius:2px;transition:transform .22s ease,top .22s ease}
.burger span::before{top:-6px}.burger span::after{top:6px}
.burger.open span{background:transparent}
.burger.open span::before{top:0;transform:rotate(45deg)}
.burger.open span::after{top:0;transform:rotate(-45deg)}
.mobile-nav{display:none;border-top:1px solid var(--slate-200);background:#fff;padding:14px 0 22px;max-height:calc(100vh - var(--nav-h));overflow-y:auto}
.mobile-nav.open{display:block}
.mobile-nav a{display:block;padding:12px 4px;font-size:1rem;font-weight:600;color:var(--navy-800);border-bottom:1px solid var(--slate-100)}
.mobile-nav .sub a{padding-left:18px;font-size:.92rem;font-weight:550;color:var(--slate-600);border-bottom:0;padding-block:9px}
.mobile-nav .sub{margin:4px 0 10px;border-left:2px solid var(--blue-100)}
.mobile-nav .m-label{display:block;padding:12px 4px 6px;font-size:.75rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--slate-400)}
.mobile-lang{display:flex;gap:8px;margin-top:18px}
.mobile-lang button{flex:1;padding:11px;border:1.5px solid var(--slate-200);border-radius:10px;background:#fff;font-weight:650;color:var(--slate-600);cursor:pointer;font-size:.9rem}
.mobile-lang button[aria-selected="true"]{border-color:var(--blue-500);background:var(--blue-50);color:var(--blue-700)}

/* ---------- 9. Hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--navy-900);color:#BFD1E6;padding:clamp(58px,7vw,96px) 0 clamp(64px,7.6vw,104px)}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(900px 520px at 78% 8%,rgba(190,143,60,.20),transparent 62%),
    radial-gradient(820px 620px at 6% 96%,rgba(46,107,196,.24),transparent 60%),
    linear-gradient(168deg,#0A1626 0%,#102034 52%,#0A2A50 100%);
}
.hero::after{
  content:"";position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 30%,#000 30%,transparent 78%);
  mask-image:radial-gradient(ellipse 90% 70% at 50% 30%,#000 30%,transparent 78%);
}
.hero>*{position:relative;z-index:2}
.hero h1{color:#fff}
.hero .lead{color:#AFC4DD}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(34px,4.4vw,62px);align-items:center}
.hero-sm{padding:clamp(48px,5.4vw,72px) 0 clamp(52px,5.8vw,80px)}
.hero-bullets{list-style:none;display:flex;flex-wrap:wrap;gap:10px 22px;margin:0}
.hero-bullets li{display:flex;align-items:center;gap:8px;font-size:.9rem;color:#B7CBE3}
.hero-bullets svg{width:16px;height:16px;color:var(--brass-400);flex:none}
.hero-note{font-size:.815rem;color:#8FA6C2}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.hero-stats{display:flex;flex-wrap:wrap;gap:28px 40px;margin-top:34px;padding-top:26px;border-top:1px solid rgba(255,255,255,.11)}
.hero-stat b{display:block;font-size:1.62rem;font-weight:800;color:#fff;letter-spacing:-.03em;line-height:1.1}
.hero-stat span{display:block;font-size:.79rem;color:#8FA6C2;margin-top:3px}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:.8rem;color:#8FA6C2;margin-bottom:18px;flex-wrap:wrap}
.breadcrumb a{color:#A9C0DA}
.breadcrumb a:hover{color:#fff}
.breadcrumb svg{width:12px;height:12px;opacity:.55}

/* ---------- 10. Hero visual widgets ---------- */
.panel{
  background:linear-gradient(158deg,rgba(255,255,255,.078),rgba(255,255,255,.028));
  border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:20px;
  box-shadow:0 34px 70px -26px rgba(0,0,0,.7);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);
}
.panel+.panel{margin-top:16px}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid rgba(255,255,255,.12)}
.panel-title{font-size:.9rem;font-weight:650;color:#fff;display:flex;align-items:center;gap:9px}
.panel-title svg{width:16px;height:16px;color:var(--brass-400)}
.panel-tag{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brass-400);background:rgba(190,143,60,.14);border:1px solid rgba(190,143,60,.3);padding:4px 9px;border-radius:6px;white-space:nowrap}
.panel-tag.risk{color:#F2A79E;background:rgba(192,57,43,.16);border-color:rgba(192,57,43,.36)}
.panel-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:.86rem}
.panel-row:last-child{border-bottom:0}
.panel-row .k{color:#93A9C6;display:flex;align-items:center;gap:9px;min-width:0}
.panel-row .k svg{width:15px;height:15px;color:#6E88A8;flex:none}
.panel-row .v{color:#E6EEF8;font-weight:600;letter-spacing:.01em;white-space:nowrap}
.panel-foot{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.78rem;color:#8FA6C2;flex-wrap:wrap}
.chip-row{display:flex;flex-wrap:wrap;gap:7px}
.chip{font-size:.72rem;font-weight:600;padding:5px 10px;border-radius:var(--r-pill);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);color:#C6D7EC;white-space:nowrap}
.chip-brass{background:rgba(190,143,60,.15);border-color:rgba(190,143,60,.32);color:#E0BE7C}
.chip-red{background:rgba(192,57,43,.17);border-color:rgba(192,57,43,.4);color:#F2A79E}
.chip-amber{background:rgba(183,121,31,.17);border-color:rgba(183,121,31,.42);color:#EFC786}

/* Trace chain (crypto hops) */
.hop{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1)}
.hop+.hop{margin-top:9px}
.hop-dot{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none;background:rgba(46,107,196,.18);border:1px solid rgba(46,107,196,.36);color:#8FC0FF;font-size:.74rem;font-weight:700}
.hop-dot svg{width:15px;height:15px}
.hop-dot.risk{background:rgba(192,57,43,.18);border-color:rgba(192,57,43,.42);color:#F0A79E}
.hop-dot.ok{background:rgba(190,143,60,.18);border-color:rgba(190,143,60,.4);color:#E0BE7C}
.hop-body{flex:1;min-width:0}
.hop-label{font-size:.82rem;font-weight:650;color:#EAF1F9}
.hop-addr{font-size:.74rem;color:#8AA3C1;letter-spacing:.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hop-amount{font-size:.79rem;font-weight:650;color:#C9D9EC;text-align:right;flex:none}

/* Meters */
.meter{margin-top:12px}
.meter-head{display:flex;justify-content:space-between;font-size:.79rem;color:#9DB2CC;margin-bottom:6px;gap:12px}
.meter-head b{color:#E6EEF8;font-weight:650}
.meter-track{height:6px;border-radius:4px;background:rgba(255,255,255,.1);overflow:hidden}
.meter-fill{height:100%;border-radius:2px;background:var(--blue-500);width:0;transition:width 1.1s cubic-bezier(.2,.7,.3,1)}
.meter-fill.warn{background:linear-gradient(90deg,#D9A441,#C0392B)}
.meter-light .meter-head{color:var(--slate-500)}
.meter-light .meter-head b{color:var(--navy-800)}
.meter-light .meter-track{background:var(--slate-200)}

/* Risk gauge */
.gauge{display:flex;align-items:center;gap:20px}
.gauge-ring{position:relative;width:112px;height:112px;flex:none}
.gauge-ring svg{transform:rotate(-90deg)}
.gauge-ring .track{stroke:rgba(255,255,255,.11)}
.gauge-ring .bar{stroke-linecap:round;transition:stroke-dashoffset 1.4s cubic-bezier(.2,.7,.3,1)}
.gauge-val{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.gauge-val b{font-size:1.85rem;font-weight:800;color:#fff;letter-spacing:-.04em;line-height:1}
.gauge-val span{font-size:.68rem;color:#8FA6C2;letter-spacing:.06em}

/* ---------- 11. Section headers ---------- */
.sec-head{max-width:720px}
.sec-head.center{margin-inline:auto}
.sec-head .eyebrow{margin-bottom:14px}
.sec-head h2+p{margin-top:15px}
.sec-head.center .eyebrow{justify-content:center}

/* ---------- 12. Trust / compliance bar ---------- */
.trustbar{border-top:1px solid rgba(255,255,255,.1);padding-top:26px;margin-top:34px}
.badge-row{display:flex;flex-wrap:wrap;gap:10px}
.badge{
  display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:10px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.13);
  font-size:.79rem;font-weight:650;color:#CBDBEE;letter-spacing:.01em;
}
.badge svg{width:15px;height:15px;color:var(--brass-400);flex:none}
.badge-light{background:var(--white);border-color:var(--slate-200);color:var(--slate-700);box-shadow:var(--sh-xs)}
.badge-light svg{color:var(--brass-600)}

/* Marquee */
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.marquee-track{display:flex;gap:14px;width:max-content;animation:scroll-x 46s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes scroll-x{to{transform:translateX(-50%)}}
.logo-chip{
  display:inline-flex;align-items:center;gap:11px;padding:14px 22px;border-radius:12px;
  background:#fff;border:1px solid var(--slate-200);white-space:nowrap;box-shadow:var(--sh-xs);
}
.logo-chip .lm{width:26px;height:26px;flex:none;color:var(--navy-700)}
.logo-chip b{font-size:.93rem;font-weight:700;color:var(--navy-800);letter-spacing:-.015em;display:block;line-height:1.2}
.logo-chip i{font-style:normal;font-size:.68rem;color:var(--slate-400);font-weight:600;letter-spacing:.06em;text-transform:uppercase;display:block;margin-top:2px}

/* ---------- 13. Steps / process ---------- */
.steps{display:grid;gap:22px}
.step{position:relative;display:flex;gap:20px;align-items:flex-start}
.step-num{
  width:46px;height:46px;border-radius:13px;flex:none;display:grid;place-items:center;
  background:var(--navy-900);color:#fff;font-size:1.02rem;font-weight:750;letter-spacing:-.02em;
  box-shadow:0 8px 20px -10px rgba(13,19,28,.65);
}
.step-num.brass{background:var(--brass-600);box-shadow:0 8px 20px -10px rgba(162,118,42,.7)}
.step-line{position:absolute;left:23px;top:54px;bottom:-22px;width:2px;background:linear-gradient(180deg,var(--slate-200),var(--slate-100))}
.step:last-child .step-line{display:none}
.step-body{padding-bottom:4px}
.step-body h3{font-size:1.11rem}
.step-body p{margin-top:7px;font-size:.95rem}

.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;position:relative}
.flow-node{
  background:#fff;border:1px solid var(--slate-200);border-radius:14px;padding:18px 15px;text-align:center;
  box-shadow:var(--sh-xs);cursor:pointer;transition:all .2s ease;font-family:inherit;
}
.flow-node:hover{border-color:var(--blue-200);box-shadow:var(--sh-md);transform:translateY(-2px)}
.flow-node.active{border-color:var(--brass-500);box-shadow:var(--sh-glow);background:var(--brass-50)}
.flow-node .fn-ico{width:38px;height:38px;margin:0 auto 10px;border-radius:11px;display:grid;place-items:center;background:var(--blue-50);color:var(--blue-600);border:1px solid var(--blue-100)}
.flow-node.active .fn-ico{background:#fff;color:var(--brass-600);border-color:var(--brass-100)}
.flow-node .fn-ico svg{width:19px;height:19px}
.flow-node b{display:block;font-size:.88rem;color:var(--navy-900);font-weight:650}
.flow-node span{display:block;font-size:.755rem;color:var(--slate-500);margin-top:3px}
.flow-detail{margin-top:22px;background:var(--white);border:1px solid var(--slate-200);border-left:3px solid var(--brass-500);border-radius:var(--r-md);padding:24px 26px;box-shadow:var(--sh-sm)}
.flow-detail .fd-step{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brass-700)}
.flow-detail h4{margin-top:7px;font-size:1.15rem}
.flow-detail p{margin-top:8px;font-size:.95rem}
.flow-detail ul{margin-top:14px;list-style:none;display:grid;gap:8px}
.flow-detail li{display:flex;gap:9px;align-items:flex-start;font-size:.9rem}
.flow-detail li svg{width:16px;height:16px;color:var(--brass-600);flex:none;margin-top:3px}

/* ---------- 14. Feature lists ---------- */
.check-list{list-style:none;display:grid;gap:11px}
.check-list li{display:flex;gap:11px;align-items:flex-start;font-size:.96rem}
.check-list li>svg{width:19px;height:19px;flex:none;margin-top:3px;color:var(--brass-600)}
.check-list.light li{color:#B7CBE3}
.check-list.light li>svg{color:var(--brass-400)}
.x-list li>svg{color:var(--risk-high)}
.dot-list{list-style:none;display:grid;gap:9px}
.dot-list li{position:relative;padding-left:19px;font-size:.95rem}
.dot-list li::before{content:"";position:absolute;left:0;top:10px;width:7px;height:7px;border-radius:50%;background:var(--brass-500)}

/* ---------- 15. Stats ---------- */
.stat-card{text-align:center;padding:28px 20px}
.stat-num{font-size:clamp(2rem,3.2vw,2.7rem);font-weight:800;color:var(--navy-900);letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.stat-num.light{color:#fff}
.stat-label{font-size:.87rem;color:var(--slate-500);margin-top:8px}
.stat-label.light{color:#93A9C6}

/* ---------- 16. Trustpilot-style widget ---------- */
.tp-widget{background:#fff;border:1px solid var(--slate-200);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden}
.tp-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:22px 26px;border-bottom:1px solid var(--slate-200);background:var(--slate-50)}
.tp-brand{display:flex;align-items:center;gap:10px}
.tp-brand .tp-star-logo{width:26px;height:26px}
.tp-brand b{font-size:1.19rem;font-weight:750;color:var(--navy-900);letter-spacing:-.03em}
.tp-score{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.tp-score-num{font-size:.98rem;color:var(--slate-600)}
.tp-score-num b{color:var(--navy-900);font-weight:750}
.stars{display:inline-flex;gap:3px}
.stars i{width:24px;height:24px;background:var(--star);display:grid;place-items:center;border-radius:2px}
.stars i svg{width:17px;height:17px;color:#fff}
.stars.sm i{width:19px;height:19px}
.stars.sm i svg{width:13px;height:13px}
.stars i.off{background:#DCDCE6}
.tp-reviews{display:grid;grid-template-columns:repeat(3,1fr)}
.tp-review{padding:26px;border-right:1px solid var(--slate-200);display:flex;flex-direction:column}
.tp-review:last-child{border-right:0}
.tp-review-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.tp-verified{display:inline-flex;align-items:center;gap:5px;font-size:.73rem;font-weight:650;color:var(--slate-500)}
.tp-verified svg{width:14px;height:14px;color:var(--star);flex:none}
.tp-review h4{font-size:1rem;font-weight:700;color:var(--navy-900)}
.tp-review p{margin-top:9px;font-size:.925rem;color:var(--slate-600);flex:1}
.tp-author{display:flex;align-items:center;gap:11px;margin-top:20px;padding-top:16px;border-top:1px solid var(--slate-100)}
.tp-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--navy-800);color:#fff;font-size:.85rem;font-weight:700;flex:none;letter-spacing:-.01em}
.tp-author b{display:block;font-size:.885rem;color:var(--navy-900);font-weight:650;line-height:1.3}
.tp-author span{display:flex;align-items:center;gap:6px;font-size:.775rem;color:var(--slate-500);margin-top:2px}
.tp-author .flag{width:18px;height:12px;border-radius:2px;box-shadow:0 0 0 1px rgba(13,19,28,.1);flex:none}
.tp-date{font-size:.75rem;color:var(--slate-400);margin-top:12px}
.tp-foot{padding:16px 26px;border-top:1px solid var(--slate-200);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.815rem;color:var(--slate-500);background:var(--slate-50)}

/* ---------- 17. Accordion / tabs ---------- */
.acc{border:1px solid var(--slate-200);border-radius:var(--r-md);background:#fff;overflow:hidden;box-shadow:var(--sh-xs)}
.acc+.acc{margin-top:12px}
.acc-btn{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:19px 22px;background:transparent;border:0;cursor:pointer;text-align:left;
  font-size:1.005rem;font-weight:650;color:var(--navy-900);line-height:1.45;letter-spacing:-.013em;
  transition:background .16s ease;
}
.acc-btn:hover{background:var(--slate-50)}
.acc-ico{width:30px;height:30px;border-radius:8px;flex:none;display:grid;place-items:center;background:var(--blue-50);color:var(--blue-600);transition:transform .25s ease,background .2s ease,color .2s ease}
.acc-ico svg{width:15px;height:15px}
.acc.open .acc-ico{transform:rotate(45deg);background:var(--brass-600);color:#fff}
.acc-panel{max-height:0;overflow:hidden;transition:max-height .32s cubic-bezier(.3,.8,.4,1)}
.acc-inner{padding:0 22px 22px;font-size:.955rem;color:var(--slate-600)}
.acc-inner>*+*{margin-top:12px}
.acc.open{border-color:var(--blue-200);box-shadow:var(--sh-sm)}

.tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--slate-200);margin-bottom:28px}
.tab{
  padding:11px 18px;border:0;background:transparent;cursor:pointer;font-size:.925rem;font-weight:600;
  color:var(--slate-500);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .18s ease;
}
.tab:hover{color:var(--navy-800)}
.tab.active{color:var(--blue-700);border-bottom-color:var(--blue-600)}
.tab-panel{display:none}
.tab-panel.active{display:block;animation:fade .3s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ---------- 18. Case study cards / timeline ---------- */
.case-card{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:0}
.case-top{padding:22px 24px 18px;border-bottom:1px solid var(--slate-100);display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.case-ref{font-size:.735rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--slate-400)}
.case-body{padding:20px 24px;flex:1}
.case-body h3{font-size:1.13rem}
.case-body p{margin-top:10px;font-size:.93rem}
.case-meta{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--slate-100);background:var(--slate-50)}
.case-meta div{padding:15px 12px;text-align:center;border-right:1px solid var(--slate-200)}
.case-meta div:last-child{border-right:0}
.case-meta b{display:block;font-size:1.02rem;color:var(--navy-900);font-weight:750;letter-spacing:-.02em}
.case-meta span{display:block;font-size:.72rem;color:var(--slate-500);margin-top:2px}

.tl{position:relative;padding-left:30px}
.tl::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:var(--slate-200)}
.tl-item{position:relative;padding-bottom:22px}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{content:"";position:absolute;left:-30px;top:6px;width:12px;height:12px;border-radius:50%;background:#fff;border:2.5px solid var(--slate-300)}
.tl-item.done::before{border-color:var(--brass-500);background:var(--brass-500);box-shadow:0 0 0 4px var(--brass-50)}
.tl-item.risk::before{border-color:var(--risk-high);background:var(--risk-high);box-shadow:0 0 0 4px var(--risk-high-bg)}
.tl-time{font-size:.75rem;font-weight:700;color:var(--slate-400);letter-spacing:.04em}
.tl-item h4{font-size:.98rem;margin-top:3px}
.tl-item p{font-size:.9rem;margin-top:4px}
.tl-dark::before{background:rgba(255,255,255,.14)}
.tl-dark .tl-item::before{background:var(--navy-900);border-color:rgba(255,255,255,.3)}
.tl-dark .tl-item.done::before{background:var(--brass-500);border-color:var(--brass-500);box-shadow:0 0 0 4px rgba(190,143,60,.16)}
.tl-dark .tl-item.risk::before{background:var(--risk-high);border-color:var(--risk-high);box-shadow:0 0 0 4px rgba(192,57,43,.2)}
.tl-dark h4{color:#EAF1F9}
.tl-dark p{color:#93A9C6}

/* ---------- 19. Pricing ---------- */
.price-card{display:flex;flex-direction:column;height:100%;position:relative}
.price-card.featured{border-color:var(--brass-500);box-shadow:var(--sh-glow)}
.price-flag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--brass-600);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:5px 14px;border-radius:var(--r-pill);white-space:nowrap;box-shadow:0 6px 16px -8px rgba(162,118,42,.9)}
.price-amt{font-size:2.32rem;font-weight:800;color:var(--navy-900);letter-spacing:-.04em;line-height:1.05;margin-top:14px}
.price-amt small{font-size:.85rem;font-weight:550;color:var(--slate-500);letter-spacing:0}
.price-per{font-size:.79rem;color:var(--slate-500);margin-top:4px;min-height:20px}
.price-card .check-list{margin-top:20px;padding-top:20px;border-top:1px solid var(--slate-100);flex:1}
.price-card .check-list li{font-size:.9rem}
.price-card .btn{margin-top:24px}

/* ---------- 20. Contact / offices ---------- */
.office{display:flex;flex-direction:column;height:100%;padding:0;overflow:hidden}
.office-map{position:relative;height:152px;background:var(--navy-800);overflow:hidden;border-bottom:1px solid var(--slate-200)}
.office-map svg.map-svg{position:absolute;inset:0;width:100%;height:100%}
.office-flag{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.95);padding:6px 11px;border-radius:var(--r-pill);font-size:.775rem;font-weight:700;color:var(--navy-900);box-shadow:var(--sh-sm);z-index:2}
.office-flag .flag{width:20px;height:14px;border-radius:2px;box-shadow:0 0 0 1px rgba(13,19,28,.12);flex:none}
.office-body{padding:22px;flex:1}
.office-body h3{font-size:1.09rem}
.office-role{font-size:.75rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--brass-700);margin-top:5px}
.office-addr{font-size:.92rem;color:var(--slate-600);margin-top:12px;font-style:normal;line-height:1.6}
.office-meta{display:grid;gap:7px;margin-top:14px;font-size:.86rem}
.office-meta div{display:flex;align-items:center;gap:9px;color:var(--slate-600)}
.office-meta svg{width:15px;height:15px;color:var(--slate-400);flex:none}
.office-actions{display:flex;gap:9px;padding:0 22px 22px}
.nav-btn{
  flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:10px 12px;border-radius:10px;border:1.5px solid var(--slate-200);background:#fff;
  font-size:.825rem;font-weight:650;color:var(--navy-800);transition:all .18s ease;
}
.nav-btn:hover{border-color:var(--blue-500);background:var(--blue-50);color:var(--blue-700)}
.nav-btn svg{width:15px;height:15px;flex:none}
.nav-btn.waze:hover{border-color:var(--brass-500);background:var(--brass-50);color:var(--brass-700)}

/* Forms */
.field{display:block}
.field+.field{margin-top:16px}
.label{display:block;font-size:.855rem;font-weight:650;color:var(--navy-800);margin-bottom:7px}
.label .req{color:var(--risk-high)}
.input,.select,.textarea{
  width:100%;padding:12px 14px;border:1.5px solid var(--slate-200);border-radius:10px;
  font-family:inherit;font-size:.94rem;color:var(--navy-900);background:#fff;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.input::placeholder,.textarea::placeholder{color:var(--slate-400)}
.input:focus,.select:focus,.textarea:focus{outline:0;border-color:var(--blue-500);box-shadow:0 0 0 4px var(--blue-100)}
.field.invalid .input,.field.invalid .select,.field.invalid .textarea{border-color:var(--risk-high);box-shadow:0 0 0 4px var(--risk-high-bg)}
.textarea{min-height:132px;resize:vertical;line-height:1.6}
.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23647089' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:16px;padding-right:38px}
.err-msg{display:none;font-size:.79rem;color:var(--risk-high);margin-top:6px;font-weight:550}
.field.invalid .err-msg{display:block}
.check-row{display:flex;gap:11px;align-items:flex-start;font-size:.86rem;color:var(--slate-600)}
.check-row input{margin-top:3px;width:17px;height:17px;accent-color:var(--blue-600);flex:none}
.form-note{font-size:.79rem;color:var(--slate-500);display:flex;gap:8px;align-items:flex-start}
.form-note svg{width:15px;height:15px;color:var(--brass-600);flex:none;margin-top:2px}
.form-success{display:none;text-align:center;padding:34px 24px}
.form-success.show{display:block;animation:fade .35s ease}
.success-ico{width:64px;height:64px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;background:var(--brass-50);border:1.5px solid var(--brass-100);color:var(--brass-600)}
.success-ico svg{width:30px;height:30px}
.ref-code{display:inline-flex;align-items:center;gap:9px;margin-top:16px;padding:10px 16px;border-radius:10px;background:var(--slate-50);border:1px dashed var(--slate-300);font-size:.9rem;color:var(--navy-800);font-weight:650;letter-spacing:.04em}

/* ---------- 21. CTA band ---------- */
.cta-band{position:relative;overflow:hidden;background:var(--navy-900);border-radius:var(--r-xl);padding:clamp(38px,4.6vw,62px);color:#BFD1E6}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 340px at 88% 12%,rgba(190,143,60,.24),transparent 60%),radial-gradient(600px 400px at 4% 92%,rgba(46,107,196,.26),transparent 62%)}
.cta-band>*{position:relative;z-index:2}
.cta-band h2{color:#fff}

/* ---------- 22. Footer ---------- */
.site-footer{background:var(--navy-950);color:#93A9C6;padding-top:clamp(50px,5.6vw,76px);font-size:.905rem}
.footer-grid{display:grid;grid-template-columns:1.55fr 1fr 1fr 1.15fr;gap:38px}
.site-footer h4{color:#fff;font-size:.83rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:17px}
.footer-links{list-style:none;display:grid;gap:11px}
.footer-links a{color:#93A9C6;font-size:.9rem}
.footer-links a:hover{color:#fff}
.site-footer .brand-name{color:#fff}
.site-footer .brand-sub{color:#5F7A9B}
.footer-about{margin-top:16px;font-size:.885rem;color:#8398B5;max-width:340px;line-height:1.65}
.footer-contact{display:grid;gap:10px;margin-top:18px;font-size:.885rem}
.footer-contact div,.footer-contact a{display:flex;align-items:center;gap:9px;color:#93A9C6}
.footer-contact a:hover{color:#fff}
.footer-contact svg{width:15px;height:15px;color:var(--brass-400);flex:none}
.footer-status{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:7px 13px;border-radius:var(--r-pill);background:rgba(190,143,60,.11);border:1px solid rgba(190,143,60,.26);font-size:.78rem;font-weight:650;color:#E0BE7C}
.footer-bottom{margin-top:clamp(38px,4.4vw,56px);border-top:1px solid rgba(255,255,255,.09);padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:.83rem;color:#7690AF}
.footer-legal{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.footer-legal a{color:#93A9C6}
.footer-legal .sep{color:#3E5877}
.footer-disc{border-top:1px solid rgba(255,255,255,.09);padding:20px 0 26px;font-size:.78rem;color:#6C86A5;line-height:1.65}

/* ---------- 23. Misc components ---------- */
.callout{
  border:1px solid var(--blue-100);background:var(--blue-50);border-radius:var(--r-md);
  padding:20px 22px;display:flex;gap:14px;align-items:flex-start;
}
.callout>svg{width:21px;height:21px;color:var(--blue-600);flex:none;margin-top:2px}
.callout h4{font-size:.98rem;color:var(--navy-900)}
.callout p{font-size:.9rem;margin-top:6px;color:var(--slate-600)}
.callout-brass{background:var(--brass-50);border-color:var(--brass-100)}
.callout-brass>svg{color:var(--brass-600)}
.callout-warn{background:var(--risk-med-bg);border-color:#F2DFB8}
.callout-warn>svg{color:var(--risk-med)}
.callout-dark{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.callout-dark h4{color:#fff}
.callout-dark p{color:#A9BDD6}
.callout-dark>svg{color:var(--brass-400)}

.quote{border-left:3px solid var(--brass-500);padding-left:20px;font-size:1.06rem;color:var(--navy-800);line-height:1.6;font-weight:500}

.kv{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;font-size:.92rem}
.kv dt{color:var(--slate-500);font-weight:550}
.kv dd{margin:0;color:var(--navy-800);font-weight:600}

.legal-body h2{font-size:1.42rem;margin-top:44px;scroll-margin-top:110px}
.legal-body h2:first-child{margin-top:0}
.legal-body h3{font-size:1.06rem;margin-top:26px}
.legal-body p{margin-top:13px;font-size:.965rem;line-height:1.72}
.legal-body ul{margin-top:13px;list-style:none;display:grid;gap:9px}
.legal-body li{position:relative;padding-left:20px;font-size:.955rem;line-height:1.7}
.legal-body li::before{content:"";position:absolute;left:2px;top:11px;width:6px;height:6px;border-radius:50%;background:var(--brass-500)}
.legal-toc{position:sticky;top:calc(var(--nav-h) + 24px)}
.legal-toc ol{list-style:none;display:grid;gap:3px}
.legal-toc a{display:block;padding:8px 12px;border-radius:8px;font-size:.865rem;color:var(--slate-600);border-left:2px solid transparent}
.legal-toc a:hover{background:var(--slate-50);color:var(--navy-900)}
.legal-toc a.active{background:var(--blue-50);color:var(--blue-700);border-left-color:var(--blue-600);font-weight:650}

.updated-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:var(--r-pill);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);font-size:.79rem;color:#C6D7EC}
.updated-pill svg{width:14px;height:14px;color:var(--brass-400);flex:none}

.table-wrap{overflow-x:auto;border:1px solid var(--slate-200);border-radius:var(--r-md);background:#fff}
table.data{width:100%;border-collapse:collapse;font-size:.9rem;min-width:560px}
table.data th{background:var(--slate-50);text-align:left;padding:13px 16px;font-size:.775rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--slate-500);border-bottom:1px solid var(--slate-200);white-space:nowrap}
table.data td{padding:14px 16px;border-bottom:1px solid var(--slate-100);color:var(--slate-600);vertical-align:top}
table.data tr:last-child td{border-bottom:0}
table.data td strong{color:var(--navy-800);font-weight:650}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.2,.7,.3,1),transform .6s cubic-bezier(.2,.7,.3,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
  .reveal{opacity:1;transform:none}
}

.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--navy-900);color:#fff;padding:12px 20px;border-radius:0 0 10px 0;font-weight:650}
.skip:focus{left:0;color:#fff}

/* ==========================================================================
   23a. Institutional treatment
   Squared geometry, ruled edges and brass accents: the register of a legal
   filing or an enforcement notice rather than a consumer product.
   ========================================================================== */

/* The brass rule across the top of every page is the seal device */
.site-header{border-top:3px solid var(--brass-500)}
.site-header.is-stuck{box-shadow:0 1px 0 var(--slate-200),0 4px 14px -10px rgba(13,19,28,.35)}
.topbar{border-bottom:1px solid rgba(255,255,255,.07)}

/* Eyebrows read as file markers, not decorative kickers */
.eyebrow::before{width:16px;height:3px;border-radius:0;background:var(--brass-500)}
.eyebrow{letter-spacing:.15em}

/* Cards and panels: define with edges rather than elevation */
.card{border-color:var(--slate-200)}
.card-hover:hover{transform:none;border-color:var(--brass-500);box-shadow:var(--sh-md)}
.card-accent{border-top-width:2px}
.panel{border-radius:var(--r-xl);border-color:rgba(255,255,255,.16)}

/* Tags, chips and badges square off into stamps */
.tag{border-radius:2px;letter-spacing:.05em}
.chip{border-radius:2px}
.badge{border-radius:2px;border-left:2px solid var(--brass-500)}
.badge-light{border-left:2px solid var(--brass-500)}
.pill{border-radius:2px}
.price-flag{border-radius:2px;letter-spacing:.09em}

/* Buttons: rectangular, with a firmer press */
.btn{border-radius:var(--r-sm);font-weight:650}
.btn:hover{transform:none}
.btn:active{transform:translateY(1px)}
.nav-btn{border-radius:var(--r-sm)}
.lang-btn{border-radius:var(--r-sm)}

/* Section headings sit under a hairline, like clauses in a document */
.sec-head .eyebrow{padding-top:14px;border-top:1px solid var(--slate-200)}
.section-navy .sec-head .eyebrow,.hero .sec-head .eyebrow{border-top-color:rgba(255,255,255,.16)}
.sec-head.center .eyebrow{display:inline-flex}

/* Tables read as exhibits */
table.data th{border-bottom:2px solid var(--navy-800);color:var(--navy-800);background:var(--slate-100)}

/* Numbered steps become case-file markers */
.step-num{border-radius:var(--r-sm)}
.step-num.teal{background:var(--brass-700);box-shadow:none}

/* Footer closes with the same brass rule that opens the page */
.site-footer{border-top:3px solid var(--brass-500)}

/* Form controls */
.input,.select,.textarea{border-radius:var(--r-sm)}
.input:focus,.select:focus,.textarea:focus{border-color:var(--navy-700);box-shadow:0 0 0 3px var(--blue-100)}

/* Accordions and flow nodes */
.acc,.flow-node,.flow-detail,.callout,.table-wrap,.tp-widget,.office,.cta-band{border-radius:var(--r-lg)}
.acc-ico{border-radius:2px}
.card-icon{border-radius:var(--r-md);background:var(--blue-50);border-color:var(--blue-100)}
.card-icon-brass{background:var(--brass-50);border-color:var(--brass-100);color:var(--brass-700)}
.card-icon-dark{border-radius:var(--r-md)}
.success-ico{border-radius:50%}

/* ---------- 23a2. Form field alignment ----------
   Fields in a grid were inheriting the stacked-field margin, which pushed the
   second column of every row 16px below the first. Inside a grid the gap does
   that job, so the margin is cancelled and each field becomes a column with the
   control pinned to the bottom. That keeps inputs on a shared baseline even
   when one label wraps and its neighbour does not, which German reliably does.
   The error line is always reserved so validation cannot shift the row. */
.grid .field + .field{margin-top:0}
.grid .field{display:flex;flex-direction:column}
.grid .field .input,
.grid .field .select,
.grid .field .textarea{margin-top:auto}
.grid .field .err-msg{display:block;visibility:hidden;min-height:1.15em}
.grid .field.invalid .err-msg{visibility:visible}
.label{line-height:1.35}

/* ---------- 23b. Layout refinements ---------- */
/* Long German compounds must never punch out of their column */
body{overflow-wrap:break-word}
:root[data-lang="de"] p,:root[data-lang="de"] li,:root[data-lang="de"] .acc-btn,
:root[data-lang="de"] h1,:root[data-lang="de"] h2,:root[data-lang="de"] h3{hyphens:auto;-webkit-hyphens:auto}

/* Labels, chips and numbers stay on one line so rows keep their rhythm */
.nav-link,.lang-btn,.topbar-item,.tag,.tab,.nav-btn,.badge,.updated-pill,
.office-flag,.stat-num,.price-amt,.hero-stat b,.case-meta b,.meter-head b,
.tp-author b,.brand-name,.brand-sub,.footer-legal a,.price-flag{white-space:nowrap}
.nav-links{flex-wrap:nowrap}
.eyebrow,.pill{line-height:1.45}
.pill{align-items:flex-start}
.pill .pill-dot{margin-top:.45em}

/* Trustpilot footer: the verification tick was rendering at its intrinsic size */
.tp-foot>span{display:inline-flex;align-items:center;gap:7px}
.tp-foot svg{width:14px;height:14px;flex:none;color:var(--star)}

/* Hero: more breathing room, less density */
.hero{padding:clamp(66px,7.6vw,104px) 0 clamp(74px,8.4vw,116px)}
.hero-grid{gap:clamp(40px,5.2vw,72px)}
.hero-bullets{gap:12px 26px}
.hero-stats{margin-top:38px;padding-top:30px;gap:26px 44px}
.hero .lead{line-height:1.68}
.panel{padding:22px}
.panel+.panel{margin-top:20px}
.panel-row{padding:12px 0}
.hero .pill+h1{margin-top:26px}

/* Card grids keep even baselines when labels wrap */
.case-meta div{display:flex;flex-direction:column;justify-content:center}
.stat-card{display:flex;flex-direction:column;justify-content:center}

/* ---------- 24. Responsive ---------- */
/* Switch to the compact menu before the links have any chance to wrap */
@media (max-width:1180px){
  .nav-links,.desktop-only{display:none}
  .burger{display:grid}
}
@media (min-width:1181px) and (max-width:1320px){
  .nav-link{padding-inline:10px;font-size:.9rem}
  .nav-actions{gap:8px}
}

@media (max-width:1100px){
  .g-5{grid-template-columns:repeat(3,1fr)}
  .flow{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:32px}
  .footer-grid>div:nth-child(4){grid-column:1/-1;border-top:1px solid rgba(255,255,255,.09);padding-top:28px}
}
@media (max-width:980px){
  .nav-links,.desktop-only{display:none}
  .burger{display:grid}
  .hero-grid,.split,.split-wide,.split-toc{grid-template-columns:1fr}
  .g-4{grid-template-columns:repeat(2,1fr)}
  .tp-reviews{grid-template-columns:1fr}
  .tp-review{border-right:0;border-bottom:1px solid var(--slate-200)}
  .tp-review:last-child{border-bottom:0}
  .legal-toc{position:static;margin-bottom:32px}
}
@media (max-width:760px){
  :root{--nav-h:66px}
  .g-2,.g-3,.g-4,.g-5{grid-template-columns:1fr}
  .flow{grid-template-columns:1fr 1fr}
  .case-meta{grid-template-columns:1fr}
  .case-meta div{border-right:0;border-bottom:1px solid var(--slate-200)}
  .case-meta div:last-child{border-bottom:0}
  .topbar-items .hide-sm{display:none}
  .hero-stats{gap:20px 28px}
  .brand-mark{width:34px;height:34px}
  .brand-name{font-size:1.12rem}
  .card{padding:22px}
  .card-pad-lg{padding:24px}
  .cta-band{border-radius:var(--r-lg)}
  .footer-grid{grid-template-columns:1fr;gap:30px}
  .footer-grid>div:nth-child(4){border-top:0;padding-top:0}
  .gauge{flex-direction:column;align-items:flex-start;gap:16px}
  .tp-head{padding:20px}
  .tp-review{padding:22px}
  .tp-foot{padding:16px 20px}
}
@media (max-width:460px){
  .flow{grid-template-columns:1fr}
  .hero-cta{flex-direction:column;align-items:stretch}
  .hero-cta .btn{width:100%}
  .office-actions{flex-direction:column}
}
