/* ============================================================================
   PRIME — Design System
   Tokens → base → components → sections → responsive.
   Palette: Deep Navy · Emerald · Gold · Slate · Charcoal.
   Theme-aware (light default, dark via [data-theme="dark"] or OS preference).
   ========================================================================== */

/* ---- Self-hosted fonts (no CDN dependency) ---- */
@font-face{font-family:'Sora';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/sora-600.woff2') format('woff2')}
@font-face{font-family:'Sora';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/sora-700.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/plus-jakarta-sans-400.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/plus-jakarta-sans-500.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/plus-jakarta-sans-600.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/plus-jakarta-sans-700.woff2') format('woff2')}

/* ----------------------------------------------------------- Tokens (light) */
:root {
  --navy-900:#0b1f3a; --navy-800:#123a6b; --navy-700:#1b4f92;
  --emerald:#0f9d6c;  --emerald-600:#0b7c54; --emerald-050:#e7f6ef;
  --gold:#c8a24a;     --gold-600:#a17a26;    --gold-050:#f8f1de;

  /* Warm ivory grounds — approachable, editorial; navy/gold carry trust & prestige. */
  --bg:#fbfaf7;
  --surface:#f5f2ec;
  --surface-2:#eeeade;
  --card:#fffefb;
  --border:#e9e3d6;
  --border-2:#d9d1bf;

  --ink:#141a24;      /* warm charcoal */
  --ink-2:#414b5d;    /* slate */
  --ink-3:#6e7787;    /* muted */
  --on-navy:#eaf1fb;

  --primary:var(--navy-900);
  --primary-2:var(--navy-800);
  --accent:var(--emerald);
  --grid-line:rgba(64,52,28,.06);
  --aurora-1:rgba(27,79,146,.20);
  --aurora-2:rgba(15,157,108,.16);
  --aurora-3:rgba(200,162,74,.12);

  --radius:14px; --radius-lg:20px; --radius-sm:10px; --radius-pill:999px;
  --shadow-sm:0 1px 2px rgba(13,32,61,.06), 0 1px 3px rgba(13,32,61,.05);
  --shadow:0 6px 24px -8px rgba(13,32,61,.16), 0 2px 6px rgba(13,32,61,.06);
  --shadow-lg:0 24px 60px -18px rgba(11,31,58,.34);
  --ring:0 0 0 3px rgba(27,79,146,.28);

  --container:1180px;
  --font-sans:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji",sans-serif;
  --font-display:"Sora","Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --step:clamp(.5rem,2vw,1rem);
  --header-h:86px;
}

:root[data-theme="dark"] {
  --bg:#070e1b;
  --surface:#0b1526;
  --surface-2:#0e1c33;
  --card:#0d1a2e;
  --border:#1a2942;
  --border-2:#243a5a;

  --ink:#eaf1fb;
  --ink-2:#b7c5da;
  --ink-3:#9fb1cb;

  --primary:#153a6b;
  --primary-2:#1b4f92;
  --emerald:#22c08a; --emerald-050:#0e2a22;
  --gold:#d8b45f; --gold-050:#2a2413;
  --accent:var(--emerald);
  --grid-line:rgba(255,255,255,.05);
  --aurora-1:rgba(37,99,180,.30);
  --aurora-2:rgba(34,192,138,.20);
  --aurora-3:rgba(216,180,95,.14);
  --shadow-sm:0 1px 2px rgba(0,0,0,.4);
  --shadow:0 8px 28px -10px rgba(0,0,0,.6);
  --shadow-lg:0 30px 70px -20px rgba(0,0,0,.7);
  --ring:0 0 0 3px rgba(34,192,138,.32);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg:#070e1b; --surface:#0b1526; --surface-2:#0e1c33; --card:#0d1a2e;
    --border:#1a2942; --border-2:#243a5a;
    --ink:#eaf1fb; --ink-2:#b7c5da; --ink-3:#9fb1cb;
    --primary:#153a6b; --primary-2:#1b4f92;
    --emerald:#22c08a; --emerald-050:#0e2a22; --gold:#d8b45f;
    --grid-line:rgba(255,255,255,.05);
    --aurora-1:rgba(37,99,180,.30); --aurora-2:rgba(34,192,138,.20); --aurora-3:rgba(216,180,95,.14);
    --shadow:0 8px 28px -10px rgba(0,0,0,.6); --shadow-lg:0 30px 70px -20px rgba(0,0,0,.7);
  }
}

/* -------------------------------------------------------------------- Reset */
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 24px)}
body{
  font-family:var(--font-sans);
  color:var(--ink);
  background:var(--bg);
  line-height:1.62;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
/* Line up digits in data-heavy places (stats, calculators, pricing). */
.stats__num,.plan__price,.calc__results,.ccard,[data-count]{font-variant-numeric:tabular-nums}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;background:none;border:none;color:inherit}
input,select,textarea{font:inherit;color:inherit}
ul,ol{list-style:none;padding:0}
:focus-visible{outline:2px solid var(--navy-700);outline-offset:2px;border-radius:4px}
::selection{background:var(--navy-700);color:#fff}

/* --------------------------------------------------------------- Typography */
h1,h2,h3,h4{line-height:1.15;letter-spacing:-.02em;font-weight:700;color:var(--ink)}
/* Section-level headings speak in a warm editorial serif; card-level stays sans for clarity. */
h1,h2,.section__title,.cta__title,.page-hero__title{font-family:var(--font-display);font-weight:700;letter-spacing:-.022em}
.h3{font-size:clamp(1.25rem,2.4vw,1.6rem);font-weight:700}
.eyebrow{
  display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--emerald-600);margin-bottom:.75rem;
}
:root[data-theme="dark"] .eyebrow{color:var(--emerald)}

/* ------------------------------------------------------------------ Layout */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}
.narrow{max-width:820px}
.section{padding-block:clamp(3.5rem,7vw,6rem)}
.section--alt{background:var(--surface)}
.section__head{max-width:720px;margin-bottom:clamp(2rem,4vw,3rem)}
.section__title{font-size:clamp(1.7rem,3.6vw,2.6rem)}
.section__sub{margin-top:.9rem;font-size:clamp(1rem,1.4vw,1.12rem);color:var(--ink-2)}
.mt-xl{margin-top:2.5rem}

.skip-link{position:absolute;left:-999px;top:0;background:var(--navy-900);color:#fff;padding:.6rem 1rem;border-radius:0 0 8px 0;z-index:200}
.skip-link:focus{left:0}

/* ----------------------------------------------------------------- Buttons */
.btn{
  --btn-bg:var(--navy-900);--btn-fg:#fff;--btn-bd:transparent;
  display:inline-flex;align-items:center;gap:.5rem;justify-content:center;
  font-weight:600;font-size:.95rem;line-height:1;
  padding:.7rem 1.15rem;border-radius:var(--radius-sm);
  background:var(--btn-bg);color:var(--btn-fg);border:1.5px solid var(--btn-bd);
  transition:transform .16s ease, box-shadow .2s ease, background .2s ease, border-color .2s;
  white-space:nowrap;
}
.btn .ico{width:1.05em;height:1.05em}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn--sm{padding:.55rem .9rem;font-size:.88rem}
.btn--lg{padding:.9rem 1.5rem;font-size:1rem}
.btn--block{width:100%}
.btn--primary{background:linear-gradient(135deg,var(--navy-800),var(--navy-900));color:#fff;box-shadow:var(--shadow-sm)}
.btn--primary:hover{box-shadow:0 12px 26px -10px rgba(11,31,58,.6)}
.btn--gold{background:linear-gradient(135deg,var(--gold),var(--gold-600));color:#20170a;font-weight:700}
.btn--outline{background:transparent;color:var(--ink);border-color:var(--border-2)}
.btn--outline:hover{border-color:var(--navy-700);color:var(--navy-700)}
:root[data-theme="dark"] .btn--outline:hover{color:var(--on-navy);border-color:var(--navy-700)}
.btn--ghost{background:var(--surface-2);color:var(--ink)}
.btn--ghost:hover{background:var(--border)}
.btn--ghost-light{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.28)}
.btn--ghost-light:hover{background:rgba(255,255,255,.16)}

.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:10px;color:var(--ink-2);transition:background .2s,color .2s}
.icon-btn:hover{background:var(--surface-2);color:var(--ink)}
.icon-btn .ico{width:20px;height:20px}

/* ------------------------------------------------------------- Pills / tags */
.pill{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;padding:.35rem .7rem;border-radius:var(--radius-pill);border:1px solid var(--border-2);color:var(--ink-2);background:var(--card)}
.pill .ico{width:15px;height:15px}
.pill--gold{color:var(--gold-600);background:var(--gold-050);border-color:transparent}
.pill--green{color:var(--emerald-600);background:var(--emerald-050);border-color:transparent}
:root[data-theme="dark"] .pill--gold{color:var(--gold)}
:root[data-theme="dark"] .pill--green{color:var(--emerald)}
.tag{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--emerald-600);background:var(--emerald-050);padding:.15rem .45rem;border-radius:6px;vertical-align:middle}
:root[data-theme="dark"] .tag{color:var(--emerald)}

/* ------------------------------------------------------------ Announcement */
.announce{background:linear-gradient(90deg,var(--navy-900),var(--navy-800));color:var(--on-navy);font-size:.86rem}
.announce__inner{display:flex;align-items:center;gap:.75rem;justify-content:center;padding:.5rem 0;flex-wrap:wrap}
.announce__dot{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px rgba(200,162,74,.25)}
.announce__text{margin:0}
.announce__cta{display:inline-flex;align-items:center;gap:.3rem;font-weight:600;color:#fff;border-bottom:1px solid rgba(255,255,255,.4)}
.announce__cta .ico{width:14px;height:14px}
@media(max-width:640px){.announce__text{font-size:.8rem}.announce__cta{display:none}}

/* ------------------------------------------------------------------ Header */
.site-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid transparent;transition:border-color .2s,background .2s,box-shadow .2s}
.site-header[data-scrolled="true"]{border-bottom-color:var(--border);box-shadow:var(--shadow-sm)}
.site-header__bar{display:flex;align-items:center;gap:1rem;height:var(--header-h)}
.brand{display:inline-flex;align-items:center;gap:.6rem;flex-shrink:0}
.brand__badge{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;filter:drop-shadow(0 5px 12px -5px rgba(11,31,58,.55));transition:transform .3s var(--ease-premium,cubic-bezier(.2,.7,.3,1))}
.brand__badge svg{width:46px;height:46px;display:block}
.brand:hover .brand__badge{transform:translateY(-1px) rotate(-3deg)}
:root[data-theme="dark"] .brand__badge{filter:drop-shadow(0 5px 14px -6px rgba(0,0,0,.6))}
.brand__mark{display:grid;place-items:center}
.brand__text{display:flex;flex-direction:column;line-height:1.05}
.brand__name{font-weight:800;letter-spacing:-.02em;font-size:1.12rem;color:var(--ink)}
.brand--footer .brand__name{font-size:1.05rem}
/* Wordmark logo (header) — the "I" of PRIME is a gold pillar of trust. */
.brand__lock{display:flex;flex-direction:column;line-height:1;gap:.2em}
.brand__wm{display:inline-flex;align-items:center;font-weight:800;font-size:1.86rem;letter-spacing:.03em;color:var(--ink)}
.brand__pillar{position:relative;display:inline-block;width:2px;height:.72em;margin:0 .13em;border-radius:1px;
  background:linear-gradient(180deg,var(--gold),var(--gold-600))}
.brand__pillar::before,.brand__pillar::after{content:"";position:absolute;left:-1.6px;width:5.2px;height:2px;border-radius:1px;background:var(--gold)}
.brand__pillar::before{top:0}.brand__pillar::after{bottom:0}
.brand__sub{font-size:.66rem;font-weight:600;color:var(--ink-3);letter-spacing:.3em;text-transform:uppercase;padding-left:.08em}
.brand__img{height:56px;width:auto;max-width:230px;object-fit:contain;display:block}
:root[data-theme="dark"] .brand__pillar{--gold:#d8b45f}

.nav{margin-left:.5rem}
.nav__list{display:flex;align-items:center;gap:.3rem}
.nav__link{display:inline-flex;align-items:center;gap:.35rem;padding:.6rem .9rem;border-radius:9px;font-weight:600;font-size:1rem;color:var(--ink-2);transition:color .18s,background .18s}
.nav__link:hover,.nav__trigger[aria-expanded="true"]{color:var(--ink);background:var(--surface-2)}
.nav__caret{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s;opacity:.7}
.nav__trigger[aria-expanded="true"] .nav__caret{transform:rotate(-135deg) translateY(-1px)}
.site-header__actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}
.nav-toggle{display:none}

/* Theme toggle */
.theme-toggle{position:relative}
.theme-toggle__sun,.theme-toggle__moon{display:grid;place-items:center;position:absolute;inset:0;margin:auto;width:20px;height:20px;transition:opacity .2s,transform .3s}
.theme-toggle__moon{opacity:0;transform:rotate(-40deg) scale(.6)}
:root[data-theme="dark"] .theme-toggle__sun{opacity:0;transform:rotate(40deg) scale(.6)}
:root[data-theme="dark"] .theme-toggle__moon{opacity:1;transform:none}

/* --------------------------------------------------------------- Mega menu */
.nav__item--mega{position:static}
.mega{position:absolute;left:0;right:0;top:calc(100% + 1px);background:var(--card);border-top:1px solid var(--border);border-bottom:1px solid var(--border);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s;z-index:99}
.mega.is-open{opacity:1;visibility:visible;transform:none}
.mega__inner{display:grid;grid-template-columns:1fr 260px;gap:2rem;padding-block:1.8rem}
.mega__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem 2rem}
.mega__head{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.92rem;color:var(--ink);margin-bottom:.6rem}
.mega__ico{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--surface-2);color:var(--navy-700)}
.mega__ico .ico{width:17px;height:17px}
:root[data-theme="dark"] .mega__ico{color:var(--emerald)}
.mega__links li a{display:block;padding:.28rem 0;font-size:.9rem;color:var(--ink-3);transition:color .15s,transform .15s}
.mega__links li a:hover{color:var(--navy-700);transform:translateX(3px)}
:root[data-theme="dark"] .mega__links li a:hover{color:var(--on-navy)}
.mega__promo{background:linear-gradient(160deg,var(--navy-800),var(--navy-900));color:var(--on-navy);border-radius:var(--radius);padding:1.4rem;display:flex;flex-direction:column;gap:.8rem;align-items:flex-start}
.mega__promo-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:700;color:var(--gold)}
.mega__promo-badge .ico{width:15px;height:15px}
.mega__promo-title{font-size:1rem;font-weight:600;line-height:1.4}
.mega__promo-link{font-size:.85rem;color:var(--on-navy);border-bottom:1px solid rgba(255,255,255,.35)}
/* Calculators mega: four categories on one row (no empty second-row gap). */
.mega--calc .mega__grid{grid-template-columns:repeat(4,1fr);gap:1.1rem 1.4rem;align-content:start}
.mega--calc .mega__links li a{display:flex;align-items:center;gap:.55rem}
.mega--calc .mega__links .ico{width:16px;height:16px;flex-shrink:0;color:var(--navy-700);stroke-width:1.7}
.mega--calc .mega__links li a:hover .ico{color:var(--emerald-600)}
:root[data-theme="dark"] .mega--calc .mega__links .ico{color:var(--emerald)}
.mega__promo--calc{background:linear-gradient(160deg,var(--emerald-600),var(--navy-900))}

/* ---------------------------------------------------------------- Drawer */
.drawer{position:fixed;inset:0;z-index:150;display:flex;justify-content:flex-end}
.drawer[hidden]{display:none}
.drawer__scrim{position:absolute;inset:0;background:rgba(6,12,24,.5);border:0;opacity:0;transition:opacity .25s}
.drawer__panel{position:relative;width:min(360px,88vw);height:100%;background:var(--bg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);overflow-y:auto}
.drawer.is-open .drawer__scrim{opacity:1}
.drawer.is-open .drawer__panel{transform:none}
.drawer__top{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}
.drawer__nav{padding:.5rem .75rem;flex:1}
.drawer__group{border-bottom:1px solid var(--border)}
.drawer__group summary{display:flex;align-items:center;gap:.6rem;padding:.85rem .5rem;font-weight:600;cursor:pointer;list-style:none}
.drawer__group summary::-webkit-details-marker{display:none}
.drawer__group summary::after{content:"";margin-left:auto;width:8px;height:8px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(45deg);transition:transform .2s}
.drawer__group[open] summary::after{transform:rotate(-135deg)}
.drawer__group ul{padding:0 0 .6rem 2.4rem}
.drawer__group ul a{display:block;padding:.4rem 0;font-size:.9rem;color:var(--ink-2)}
.drawer__link{display:block;padding:.85rem .5rem;font-weight:600;border-bottom:1px solid var(--border)}
.drawer__cta{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;padding:1rem 1.25rem;border-top:1px solid var(--border)}

/* ------------------------------------------------------------------- Hero */
.hero{position:relative;isolation:isolate;padding-top:clamp(2.5rem,5vw,4.5rem);overflow:hidden}
/* Fine engineering grid, faded toward the corners — "built like a product". */
.hero::before{content:"";position:absolute;inset:-1px 0 0;z-index:0;pointer-events:none;
  background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(120% 80% at 78% 12%,#000 0%,transparent 68%);
  mask-image:radial-gradient(120% 80% at 78% 12%,#000 0%,transparent 68%)}
/* Ambient aurora that slowly drifts. */
.hero__glow{position:absolute;top:-32%;right:-14%;width:64vw;height:64vw;max-width:820px;max-height:820px;z-index:0;pointer-events:none;will-change:transform,background-position;
  background:radial-gradient(circle at 62% 38%,var(--aurora-1),transparent 60%),radial-gradient(circle at 28% 68%,var(--aurora-2),transparent 58%),radial-gradient(circle at 80% 82%,var(--aurora-3),transparent 62%);
  background-size:150% 150%;background-repeat:no-repeat;
  filter:blur(14px);animation:auroraDrift 22s ease-in-out infinite alternate}
.hero .container{position:relative;z-index:1}
/* Optional uploaded background photo — weighted right, faded toward the copy so text stays crisp. */
.hero__bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center right;opacity:.9;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.25) 34%,#000 72%),radial-gradient(120% 130% at 78% 20%,#000 40%,transparent 78%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.25) 34%,#000 72%),radial-gradient(120% 130% at 78% 20%,#000 40%,transparent 78%);
  -webkit-mask-composite:source-in;mask-composite:intersect}
.hero--photo .hero__bg{opacity:.32}
:root[data-theme="dark"] .hero--photo .hero__bg{opacity:.45}
/* Hero stage: the team stands; a live compliance card floats in front. */
.hero__stage{position:relative;z-index:1;display:flex;justify-content:center;align-items:flex-end;min-height:clamp(440px,47vw,620px)}
/* Studio backdrop: bright highlight core + ambient wash behind the team → they pop off the page in 3D. */
.hero__team-glow{position:absolute;z-index:0;left:50%;top:0;transform:translateX(-50%);width:132%;height:104%;pointer-events:none;
  background:
    radial-gradient(30% 34% at 52% 33%,rgba(255,255,255,.6),transparent 60%),
    radial-gradient(44% 48% at 52% 30%,color-mix(in srgb,var(--emerald) 28%,transparent),transparent 66%),
    radial-gradient(74% 76% at 54% 42%,var(--aurora-1),transparent 72%),
    radial-gradient(98% 92% at 50% 46%,color-mix(in srgb,var(--gold) 12%,transparent),transparent 74%);
  filter:blur(34px);opacity:.95}
:root[data-theme="dark"] .hero__team-glow{opacity:1;
  background:
    radial-gradient(32% 36% at 52% 32%,rgba(130,190,225,.34),transparent 60%),
    radial-gradient(46% 50% at 52% 28%,color-mix(in srgb,var(--emerald) 52%,transparent),transparent 64%),
    radial-gradient(80% 78% at 54% 40%,color-mix(in srgb,#2f6fd8 54%,transparent),transparent 72%),
    radial-gradient(102% 96% at 50% 44%,color-mix(in srgb,var(--gold) 14%,transparent),transparent 76%)}
/* Contact shadow grounds the team (depth). */
.hero__stage::after{content:"";position:absolute;z-index:0;left:50%;bottom:1%;transform:translateX(-50%);width:76%;height:36px;border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(6,12,24,.44),transparent 72%);filter:blur(14px);pointer-events:none}
:root[data-theme="dark"] .hero__stage::after{background:radial-gradient(ellipse at center,rgba(0,0,0,.64),transparent 72%)}
.hero__team{position:relative;z-index:1;width:auto;max-width:122%;max-height:clamp(440px,47vw,620px);object-fit:contain;object-position:bottom center;
  -webkit-mask-image:linear-gradient(180deg,#000 86%,transparent 99%);mask-image:linear-gradient(180deg,#000 86%,transparent 99%);
  animation:teamFade 1.1s ease both}
@keyframes teamFade{from{opacity:0}to{opacity:1}}
.hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,4vw,3.5rem);align-items:center;padding-block:clamp(1.5rem,3vw,3rem)}
/* Staggered entrance for the hero copy on first paint. */
.hero__copy>*{opacity:0;animation:heroRise .72s cubic-bezier(.2,.72,.28,1) forwards}
.hero__copy>*:nth-child(1){animation-delay:.06s}
.hero__copy>*:nth-child(2){animation-delay:.15s}
.hero__copy>*:nth-child(3){animation-delay:.24s}
.hero__copy>*:nth-child(4){animation-delay:.33s}
.hero__copy>*:nth-child(5){animation-delay:.42s}
.hero__title{font-size:clamp(2.15rem,5.1vw,3.7rem);letter-spacing:-.024em;line-height:1.1;margin-top:1rem;text-wrap:balance}
.hero__title-accent{font-weight:700}
.hero__title-accent{background:linear-gradient(100deg,var(--emerald),var(--navy-700) 55%,var(--gold-600));background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:accentPan 9s ease-in-out infinite alternate}
:root[data-theme="dark"] .hero__title-accent{background:linear-gradient(100deg,var(--emerald),#5aa0f0 55%,var(--gold));background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__lead{margin-top:1.25rem;font-size:clamp(1.02rem,1.5vw,1.18rem);color:var(--ink-2);max-width:34rem}
.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}
.hero__trust{display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;margin-top:1.75rem}
.hero__trust li{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--ink-2);font-weight:500;padding:.34rem .7rem .34rem .5rem;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--card)}
.hero__trust .ico{width:16px;height:16px;color:var(--emerald)}

/* Compliance card (hero visual) */
.ccard{position:relative;width:100%;max-width:360px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:1.4rem;animation:floatY 6.5s ease-in-out infinite}
.ccard__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}
.ccard__title{font-weight:700;font-size:.95rem}
/* Live "real-time" pulse dot next to the status. */
.ccard .pill--green{position:relative;padding-left:1.35rem}
.ccard .pill--green::before{content:"";position:absolute;left:.62rem;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:var(--emerald);box-shadow:0 0 0 0 rgba(15,157,108,.5);animation:livePulse 2.4s ease-out infinite}
:root[data-theme="dark"] .ccard .pill--green::before{box-shadow:0 0 0 0 rgba(34,192,138,.55)}
.ccard__score{position:relative;display:grid;place-items:center;margin:.5rem auto 1rem;width:150px;height:150px}
.ring{width:150px;height:150px;transform:rotate(-90deg)}
.ring__bg{fill:none;stroke:var(--surface-2);stroke-width:10}
.ring__fg{fill:none;stroke:url(#none);stroke:var(--emerald);stroke-width:10;stroke-linecap:round;animation:ringfill 1.2s ease forwards}
@keyframes ringfill{from{stroke-dashoffset:326.7}to{stroke-dashoffset:var(--ring-offset,29)}}
.ring__center{position:absolute;text-align:center}
.ring__center strong{font-size:2.1rem;font-weight:800;letter-spacing:-.02em}
.ring__center small{display:block;font-size:.72rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.1em}
.ccard__rows{display:flex;flex-direction:column;gap:.6rem}
.ccard__rows li{display:grid;grid-template-columns:76px 1fr 40px;align-items:center;gap:.6rem;font-size:.82rem;color:var(--ink-2)}
.ccard__rows b{text-align:right;color:var(--ink);font-weight:700}
.bar{height:7px;border-radius:5px;background:var(--surface-2);overflow:hidden}
.bar i{display:block;height:100%;width:var(--v);border-radius:5px;background:linear-gradient(90deg,var(--emerald),var(--navy-700))}
.ccard__foot{display:flex;align-items:center;gap:.4rem;margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--border);font-size:.8rem;color:var(--ink-3)}
.ccard__foot .ico{width:15px;height:15px}

/* Stats strip */
.stats{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:clamp(1.5rem,3vw,2.5rem);padding:1.6rem 1.5rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}
.stats::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,var(--navy-700),var(--emerald),var(--gold))}
.stats__item{position:relative;text-align:center;padding:.4rem}
.stats__item+.stats__item::before{content:"";position:absolute;left:calc(-.5rem - .5px);top:15%;bottom:15%;width:1px;background:var(--border)}
.stats__num{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;letter-spacing:-.02em;background:linear-gradient(120deg,var(--navy-800),var(--emerald));-webkit-background-clip:text;background-clip:text;color:transparent}
:root[data-theme="dark"] .stats__num{background:linear-gradient(120deg,#7bf1d2,#38d9f0);-webkit-background-clip:text;background-clip:text;color:transparent}
.stats__label{font-size:.82rem;color:var(--ink-3);margin-top:.25rem}
:root[data-theme="dark"] .stats__label{color:var(--ink-2)}
@media(max-width:640px){.stats{grid-template-columns:repeat(2,1fr)}}

/* ------------------------------------------------------------ Cards / grid */
.cardgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.1rem}
.cardgrid--tight{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.scard{position:relative;display:flex;flex-direction:column;gap:.55rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem;transition:transform .2s,box-shadow .2s,border-color .2s}
.scard:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--border-2)}
.scard__ico{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;color:var(--navy-700);
  background:linear-gradient(145deg,color-mix(in srgb,var(--navy-700) 12%,var(--card)),var(--card));
  border:1px solid var(--border);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 2px 6px -3px rgba(11,31,58,.25);
  transition:transform .25s cubic-bezier(.2,.7,.3,1),background .25s,color .25s,border-color .25s}
:root[data-theme="dark"] .scard__ico{color:var(--emerald);background:linear-gradient(145deg,color-mix(in srgb,var(--emerald) 14%,var(--card)),var(--card));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.scard__ico .ico{width:25px;height:25px;stroke-width:1.7}
.scard:hover .scard__ico{background:linear-gradient(145deg,var(--navy-800),var(--navy-900));color:#fff;border-color:transparent;transform:translateY(-3px) rotate(-3deg)}
:root[data-theme="dark"] .scard:hover .scard__ico{background:linear-gradient(145deg,var(--emerald-600),var(--emerald))}
.scard__title{font-size:1.05rem;font-weight:700}
.scard__desc{font-size:.9rem;color:var(--ink-2);flex:1}
.scard__more{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;color:var(--navy-700)}
:root[data-theme="dark"] .scard__more{color:var(--emerald)}
.scard__more .ico{width:15px;height:15px;transition:transform .2s}
.scard:hover .scard__more .ico{transform:translateX(4px)}
/* Premium service cards (services index) */
.scard--link{overflow:hidden;padding:1.5rem 1.4rem 1.25rem;border-radius:16px;
  transition:transform .4s var(--ease-premium),box-shadow .4s ease,border-color .4s ease}
.scard--link::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;z-index:2;
  background:linear-gradient(90deg,var(--navy-700),var(--emerald),var(--gold));
  transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease-premium)}
.scard--link:hover::before{transform:scaleX(1)}
.scard--link:hover{transform:translateY(-6px);box-shadow:0 22px 44px -22px rgba(11,31,58,.42);
  border-color:color-mix(in srgb,var(--navy-700) 34%,var(--border))}
:root[data-theme="dark"] .scard--link:hover{border-color:color-mix(in srgb,var(--emerald) 40%,var(--border));box-shadow:0 22px 44px -20px rgba(0,0,0,.6)}
.scard--link .scard__title{transition:color .3s ease}
.scard--link:hover .scard__title{color:var(--navy-800)}
:root[data-theme="dark"] .scard--link:hover .scard__title{color:var(--on-navy)}
.scard--link .scard__foot{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--border);transition:border-color .3s}
.scard--link:hover .scard__foot{border-color:color-mix(in srgb,var(--navy-700) 22%,var(--border))}
.scard--link .scard__more{padding:.34rem .62rem;border-radius:999px;background:color-mix(in srgb,var(--navy-700) 8%,transparent);transition:background .3s,gap .25s}
:root[data-theme="dark"] .scard--link .scard__more{background:color-mix(in srgb,var(--emerald) 12%,transparent)}
.scard--link:hover .scard__more{background:color-mix(in srgb,var(--navy-700) 15%,transparent);gap:.55rem}
:root[data-theme="dark"] .scard--link:hover .scard__more{background:color-mix(in srgb,var(--emerald) 20%,transparent)}
.scard__price{font-size:.9rem;font-weight:800;color:var(--emerald-600);letter-spacing:-.01em}
:root[data-theme="dark"] .scard__price{color:var(--emerald)}
/* "Popular" tag on service cards — bright amber, high-contrast in both themes */
.scard--link .tag{margin-left:.45rem;font-size:.6rem;font-weight:800;letter-spacing:.09em;
  padding:.24rem .6rem;border-radius:999px;
  background:linear-gradient(135deg,#f7d675,#e5a92c);color:#3a2606;
  box-shadow:0 2px 9px -2px rgba(224,168,50,.5);transform:translateY(-2px)}
:root[data-theme="dark"] .scard--link .tag{
  background:linear-gradient(135deg,#ffdd83,#f2b544);color:#2a1c04;
  box-shadow:0 2px 12px -2px rgba(255,196,88,.45)}

/* Accented category cards (homepage "one platform" grid) */
.scard--cat{position:relative;overflow:hidden;--sc:var(--navy-700)}
.scard--cat > *{position:relative;z-index:1}
.scard--cat::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;z-index:2;
  background:linear-gradient(90deg,var(--sc),color-mix(in srgb,var(--sc) 25%,transparent));
  transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.7,.3,1)}
.scard--cat:hover::before{transform:scaleX(1)}
.scard--cat:hover{border-color:color-mix(in srgb,var(--sc) 45%,var(--border))}
.scard--cat .scard__ico{
  background:linear-gradient(145deg,color-mix(in srgb,var(--sc) 16%,var(--card)),var(--card));
  color:var(--sc);border-color:color-mix(in srgb,var(--sc) 24%,var(--border))}
.scard--cat:hover .scard__ico{
  background:linear-gradient(145deg,var(--sc),color-mix(in srgb,var(--sc) 62%,#000));
  color:#fff;border-color:transparent;transform:translateY(-3px) rotate(-3deg)}
.scard--cat .scard__more{color:var(--sc)}
:root[data-theme="dark"] .scard--cat .scard__ico{color:color-mix(in srgb,var(--sc) 62%,#fff)}
:root[data-theme="dark"] .scard--cat:hover .scard__ico{color:#fff}
:root[data-theme="dark"] .scard--cat .scard__more{color:color-mix(in srgb,var(--sc) 62%,#fff)}
.scard__watermark{position:absolute;right:-16px;bottom:-18px;z-index:0;color:var(--sc);opacity:.05;pointer-events:none;
  transition:opacity .4s ease,transform .4s ease}
.scard__watermark .ico{width:128px;height:128px;stroke-width:.9}
.scard--cat:hover .scard__watermark{opacity:.1;transform:scale(1.06) rotate(-6deg)}

/* ------------------------------------------------------------------ Steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;counter-reset:step}
.step{position:relative;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem 1.3rem}
.step__n{font-size:.8rem;font-weight:800;color:var(--gold-600);letter-spacing:.08em}
:root[data-theme="dark"] .step__n{color:var(--gold)}
.step__ico{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--navy-900);color:#fff;margin:.7rem 0 .9rem}
.step__ico .ico{width:22px;height:22px}
.step__title{font-size:1.05rem}
.step__desc{font-size:.88rem;color:var(--ink-2);margin-top:.4rem}

/* --------------------------------------------------------------- Why grid */
.why__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,4vw,3.5rem);align-items:center}
.why__cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.feature{display:flex;gap:.9rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem}
.feature__ico{flex-shrink:0;display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--emerald-050);color:var(--emerald-600)}
:root[data-theme="dark"] .feature__ico{color:var(--emerald)}
.feature__ico .ico{width:22px;height:22px}
.feature__title{font-size:1rem}
.feature__desc{font-size:.86rem;color:var(--ink-2);margin-top:.25rem}

/* -------------------------------------------------------------------- CTA */
.cta{position:relative;overflow:hidden;text-align:center;background:linear-gradient(150deg,var(--navy-800),var(--navy-900));color:#fff;border-radius:var(--radius-lg);padding:clamp(2.5rem,5vw,4rem) clamp(1.5rem,4vw,3rem)}
.cta__glow{position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(200,162,74,.22),transparent 45%),radial-gradient(circle at 85% 80%,rgba(15,157,108,.25),transparent 45%);pointer-events:none}
.cta__title{position:relative;font-size:clamp(1.6rem,3.4vw,2.4rem);color:#fff}
.cta__sub{position:relative;margin:.9rem auto 0;max-width:36rem;color:var(--on-navy)}
.cta__actions{position:relative;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.8rem}

/* ------------------------------------------------------ Page hero / crumbs */
.page-hero{padding-top:clamp(2rem,4vw,3rem);padding-bottom:clamp(1.5rem,3vw,2.5rem);background:var(--surface);border-bottom:1px solid var(--border)}
.crumbs{display:flex;flex-wrap:wrap;gap:.4rem;font-size:.85rem;color:var(--ink-3);margin-bottom:1rem}
.crumbs a:hover{color:var(--navy-700)}
.crumbs span{opacity:.5}
.crumbs em{color:var(--ink);font-style:normal;font-weight:600}
.page-hero__title{font-size:clamp(1.9rem,4vw,3rem)}
.page-hero__lead{margin-top:.8rem;max-width:44rem;color:var(--ink-2);font-size:1.05rem}
.svc-hero{display:flex;gap:1.2rem;align-items:flex-start}
.svc-hero__ico{flex-shrink:0;display:grid;place-items:center;width:60px;height:60px;border-radius:16px;background:var(--navy-900);color:#fff}
.svc-hero__ico .ico{width:30px;height:30px}
.svc-hero__price{margin-top:.8rem;color:var(--ink-2)}
.svc-hero__price strong{color:var(--emerald-600)}
:root[data-theme="dark"] .svc-hero__price strong{color:var(--emerald)}

/* ------------------------------------------------------- Services index */
.svc-block{padding-top:clamp(1.5rem,3vw,2.5rem);scroll-margin-top:calc(var(--header-h) + 20px)}
.svc-block+.svc-block{margin-top:1rem;border-top:1px solid var(--border);padding-top:2.5rem}
.svc-block__head{display:flex;gap:.9rem;align-items:center;margin-bottom:1.3rem}
.svc-block__ico{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--surface-2);color:var(--navy-700)}
:root[data-theme="dark"] .svc-block__ico{color:var(--emerald)}
.svc-block__ico .ico{width:24px;height:24px}
.svc-block__title{font-size:1.4rem}
.svc-block__blurb{color:var(--ink-2);font-size:.92rem}

.note-card{display:flex;gap:.9rem;align-items:flex-start;background:var(--emerald-050);border:1px solid color-mix(in srgb,var(--emerald) 25%,transparent);border-radius:var(--radius);padding:1.2rem 1.3rem;color:var(--ink-2)}
.note-card .ico{flex-shrink:0;width:22px;height:22px;color:var(--emerald-600)}
:root[data-theme="dark"] .note-card .ico{color:var(--emerald)}

/* ------------------------------------------------------ Service detail */
.svc-hero__meta{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.svc-hero__meta .pill strong{color:var(--ink)}
.svc-layout{display:grid;grid-template-columns:1fr 340px;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.svc-sec{margin-bottom:2.5rem}
.svc-sec .h3{margin-bottom:1.1rem;padding-bottom:.6rem;border-bottom:2px solid var(--border)}
.checklist{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1.5rem}
.checklist li,.doclist li{display:flex;gap:.6rem;align-items:flex-start;font-size:.94rem;color:var(--ink-2)}
.checklist .ico{flex-shrink:0;width:20px;height:20px;color:var(--emerald);margin-top:1px}
.doclist{display:flex;flex-direction:column;gap:.65rem}
.doclist .ico{flex-shrink:0;width:18px;height:18px;color:var(--navy-700);margin-top:2px}
:root[data-theme="dark"] .doclist .ico{color:var(--emerald)}
@media(max-width:560px){.checklist{grid-template-columns:1fr}}

.proctimeline{position:relative;display:flex;flex-direction:column;gap:1.4rem;padding-left:.5rem}
.proc{display:grid;grid-template-columns:auto 1fr;gap:1rem;position:relative}
.proc__num{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--navy-900);color:#fff;font-weight:700;font-size:.95rem;flex-shrink:0;z-index:1}
.proc:not(:last-child)::before{content:"";position:absolute;left:18px;top:38px;bottom:-1.4rem;width:2px;background:var(--border-2)}
.proc__title{font-size:1.02rem}
.proc__desc{font-size:.9rem;color:var(--ink-2);margin-top:.2rem}

.faq__item{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.7rem;background:var(--card);overflow:hidden;transition:border-color .2s}
.faq__item[open]{border-color:var(--border-2)}
.faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;font-weight:600;cursor:pointer;list-style:none}
.faq__item summary::-webkit-details-marker{display:none}
.faq__icon{position:relative;flex-shrink:0;width:16px;height:16px}
.faq__icon::before,.faq__icon::after{content:"";position:absolute;background:var(--navy-700);border-radius:2px;transition:transform .2s}
.faq__icon::before{top:7px;left:0;width:16px;height:2px}
.faq__icon::after{top:0;left:7px;width:2px;height:16px}
.faq__item[open] .faq__icon::after{transform:scaleY(0)}
:root[data-theme="dark"] .faq__icon::before,:root[data-theme="dark"] .faq__icon::after{background:var(--emerald)}
.faq__a{padding:0 1.2rem 1.1rem;color:var(--ink-2);font-size:.92rem}

.svc-aside{position:sticky;top:calc(var(--header-h) + 20px)}
.svc-cta{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}
.svc-cta__title{font-size:1.15rem;margin-bottom:1rem}
.svc-cta__meta{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.1rem;padding-bottom:1.1rem;border-bottom:1px solid var(--border)}
.svc-cta__meta li{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:var(--ink-3)}
.svc-cta__meta strong{color:var(--ink);font-size:.95rem}
.svc-cta .btn{margin-bottom:.6rem}
.svc-cta__trust{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}
.svc-cta__trust li{display:flex;gap:.5rem;align-items:center;font-size:.83rem;color:var(--ink-2)}
.svc-cta__trust .ico{width:16px;height:16px;color:var(--emerald);flex-shrink:0}
@media(max-width:900px){.svc-layout{grid-template-columns:1fr}.svc-aside{position:static;order:-1}}

/* ------------------------------------------------------------- Contact */
.contact__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.contact__list{display:flex;flex-direction:column;gap:1rem;margin-top:1.2rem}
.contact__list li{display:flex;gap:.8rem;align-items:flex-start}
.contact__ico{flex-shrink:0;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--surface-2);color:var(--navy-700)}
:root[data-theme="dark"] .contact__ico{color:var(--emerald)}
.contact__ico .ico{width:20px;height:20px}
.contact__list small{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}
.contact__list a,.contact__list span{font-weight:500}
.contact__list a:hover{color:var(--navy-700)}

.contact__form-wrap{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:clamp(1.3rem,3vw,2rem);box-shadow:var(--shadow-sm)}
.lead-form{display:flex;flex-direction:column;gap:1rem}
.field{display:flex;flex-direction:column;gap:.4rem}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field label{font-size:.85rem;font-weight:600;color:var(--ink-2)}
.req{color:#d4443a}
.field input,.field select,.field textarea{width:100%;padding:.7rem .85rem;border:1.5px solid var(--border-2);border-radius:10px;background:var(--bg);transition:border-color .18s,box-shadow .18s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--navy-700);box-shadow:var(--ring)}
.field textarea{resize:vertical;min-height:110px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lead-form__fine{font-size:.78rem;color:var(--ink-3);text-align:center}
.lead-form__status{padding:.8rem 1rem;border-radius:10px;font-size:.9rem;font-weight:500}
.lead-form__status.is-ok{background:var(--emerald-050);color:var(--emerald-600);border:1px solid color-mix(in srgb,var(--emerald) 30%,transparent)}
.lead-form__status.is-err{background:#fdecea;color:#b3261e;border:1px solid #f5c6c2}
:root[data-theme="dark"] .lead-form__status.is-err{background:#2a1210;color:#ff8a80;border-color:#5a2420}
@media(max-width:560px){.field-row{grid-template-columns:1fr}}

/* -------------------------------------------------------------- Error page */
.errpage__inner{text-align:center;padding-block:2rem}
.errpage__code{font-size:clamp(3rem,10vw,5rem);font-weight:800;letter-spacing:-.03em;background:linear-gradient(120deg,var(--navy-800),var(--emerald));-webkit-background-clip:text;background-clip:text;color:transparent}
.errpage .hero__actions{justify-content:center}

/* ------------------------------------------------------------------ Footer */
.site-footer{background:var(--navy-900);color:var(--on-navy);padding-block:clamp(3rem,5vw,4.5rem) 2rem;margin-top:2rem}
:root[data-theme="dark"] .site-footer{background:#050b16;border-top:1px solid var(--border)}
.site-footer__top{display:grid;grid-template-columns:1.2fr 2fr;gap:2.5rem}
.site-footer__brand .brand__name{color:#fff}
.site-footer__promise{margin-top:1rem;font-size:.9rem;color:#a9b8ce;max-width:34rem}
.site-footer__contact{margin-top:1.3rem;display:flex;flex-direction:column;gap:.7rem}
.site-footer__contact li{display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;color:#c2cee0}
.site-footer__contact .ico{flex-shrink:0;width:18px;height:18px;color:var(--gold)}
.site-footer__contact a:hover{color:#fff}
.site-footer__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.site-footer__col h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:#8fa1bd;margin-bottom:.8rem}
.site-footer__col ul{display:flex;flex-direction:column;gap:.5rem}
.site-footer__col a{font-size:.88rem;color:#c2cee0}
.site-footer__col a:hover{color:#fff}
.site-footer__bottom{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:.6rem}
.site-footer__bottom p{font-size:.82rem;color:#8fa1bd}
.site-footer__legal{max-width:60rem}
.site-footer__bottom-row{display:flex;flex-wrap:wrap;gap:.8rem 1.5rem;align-items:center;justify-content:space-between}
.site-footer__policies{display:flex;flex-wrap:wrap;gap:1rem}
.site-footer__policies a{font-size:.82rem;color:#a9b8ce}
.site-footer__policies a:hover{color:#fff}

/* ---------------------------------------------------------- Calculators */
.scard--soon{opacity:.7}
.scard--soon .scard__ico{color:var(--ink-3)}
.tag--muted{color:var(--ink-3);background:var(--surface-2)}
.calc{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}
.calc__inputs,.calc__output{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:clamp(1.3rem,3vw,2rem);box-shadow:var(--shadow-sm)}
.calc__output{position:sticky;top:calc(var(--header-h) + 20px);background:linear-gradient(160deg,var(--surface),var(--card))}
.calc__heading{font-size:1.05rem;margin-bottom:1.2rem}
.calc__hint{color:var(--ink-3);font-size:.9rem}

.control{margin-bottom:1.4rem}
.control__label{display:block;font-size:.88rem;font-weight:600;color:var(--ink-2);margin-bottom:.6rem}
.control__row{display:flex;align-items:center;gap:1rem}
.control__range{flex:1;-webkit-appearance:none;appearance:none;height:6px;border-radius:5px;background:var(--surface-2);outline:none}
.control__range::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--navy-800);border:3px solid var(--card);box-shadow:var(--shadow-sm);cursor:pointer}
.control__range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--navy-800);border:3px solid var(--card);cursor:pointer}
:root[data-theme="dark"] .control__range::-webkit-slider-thumb{background:var(--emerald)}
:root[data-theme="dark"] .control__range::-moz-range-thumb{background:var(--emerald)}
.control__num{display:flex;align-items:center;gap:.2rem;background:var(--bg);border:1.5px solid var(--border-2);border-radius:9px;padding:.3rem .6rem;min-width:120px}
.control__num:focus-within{border-color:var(--navy-700);box-shadow:var(--ring)}
.control__aff{color:var(--ink-3);font-weight:600;font-size:.9rem}
.control__input{width:100%;border:none;background:none;padding:.3rem 0;font-weight:600;text-align:right}
.control__input:focus{outline:none}
.control__input::-webkit-outer-spin-button,.control__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.seg{display:flex;flex-wrap:wrap;gap:.4rem;background:var(--surface-2);padding:.3rem;border-radius:11px}
.seg--wide{width:100%}
.seg__opt{flex:1;text-align:center}
.seg__opt input{position:absolute;opacity:0;pointer-events:none}
.seg__opt span{display:block;padding:.5rem .3rem;border-radius:8px;font-size:.86rem;font-weight:600;color:var(--ink-2);cursor:pointer;transition:background .18s,color .18s}
.seg__opt input:checked+span{background:var(--card);color:var(--navy-800);box-shadow:var(--shadow-sm)}
:root[data-theme="dark"] .seg__opt input:checked+span{color:var(--emerald)}
.seg__opt input:focus-visible+span{outline:2px solid var(--navy-700);outline-offset:1px}

.control--check{margin-top:.5rem}
.switch{display:flex;align-items:center;gap:.7rem;cursor:pointer;font-size:.9rem;color:var(--ink-2)}
.switch input{position:absolute;opacity:0}
.switch__track{flex-shrink:0;width:44px;height:26px;border-radius:14px;background:var(--border-2);position:relative;transition:background .2s}
.switch__thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:var(--shadow-sm)}
.switch input:checked+.switch__track{background:var(--emerald)}
.switch input:checked+.switch__track .switch__thumb{transform:translateX(18px)}
.switch input:focus-visible+.switch__track{box-shadow:var(--ring)}

.calc-headline{display:flex;flex-direction:column;gap:.2rem;padding-bottom:1.2rem;border-bottom:1px solid var(--border);margin-bottom:1.2rem}
.calc-headline span{font-size:.85rem;color:var(--ink-3);font-weight:600}
.calc-headline strong{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;letter-spacing:-.02em;background:linear-gradient(120deg,var(--navy-800),var(--emerald));-webkit-background-clip:text;background-clip:text;color:transparent}
.calc-chart{display:flex;align-items:center;gap:1.3rem;margin-bottom:1.2rem;flex-wrap:wrap}
.donut{width:130px;height:130px;flex-shrink:0}
.calc-legend{display:flex;flex-direction:column;gap:.55rem;flex:1;min-width:150px}
.calc-legend li{display:flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--ink-2)}
.calc-legend .dot{width:11px;height:11px;border-radius:3px;flex-shrink:0}
.calc-legend b{margin-left:auto;color:var(--ink);font-weight:700}
.calc-rows{display:flex;flex-direction:column}
.calc-row{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;font-size:.92rem;color:var(--ink-2);border-bottom:1px solid var(--border)}
.calc-row b{color:var(--ink);font-weight:700}
.calc-row--head{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);border-bottom:none;padding-bottom:.2rem}
.calc-row--strong{font-size:1rem}
.calc-row--strong b{color:var(--emerald-600)}
:root[data-theme="dark"] .calc-row--strong b{color:var(--emerald)}

.calc-notes{margin-top:2.5rem}
.calc-notes .h3{margin-bottom:.8rem}
.calc-notes p{color:var(--ink-2);margin-bottom:.8rem}
.formula{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:.9rem 1.1rem;font-size:1.02rem;color:var(--ink);text-align:center;letter-spacing:.01em}
.calc-disclaimer{display:flex;gap:.8rem;align-items:flex-start;margin-top:2rem;padding:1rem 1.2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem;color:var(--ink-3)}
.calc-disclaimer .ico{flex-shrink:0;width:20px;height:20px;color:var(--gold-600)}
:root[data-theme="dark"] .calc-disclaimer .ico{color:var(--gold)}
.calc-disclaimer a{color:var(--navy-700);font-weight:600}
:root[data-theme="dark"] .calc-disclaimer a{color:var(--emerald)}
.calc__heading--sub{font-size:.95rem;margin-top:2rem;margin-bottom:1rem;padding-top:1.2rem;border-top:1px solid var(--border)}
.calc__heading--sub span{font-weight:500;color:var(--ink-3);font-size:.82rem}
.control__hint{font-size:.8rem;color:var(--ink-3);margin:-.7rem 0 1.3rem}

/* Income-tax old vs new comparison */
.taxbanner{padding:.9rem 1.1rem;border-radius:12px;background:var(--surface-2);color:var(--ink-2);font-size:.95rem;text-align:center;margin-bottom:1.1rem}
.taxbanner--save{background:var(--emerald-050);color:var(--emerald-600);border:1px solid color-mix(in srgb,var(--emerald) 25%,transparent)}
:root[data-theme="dark"] .taxbanner--save{color:var(--emerald)}
.taxbanner strong{font-weight:800}
.taxgrid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-top:.7rem}
.taxcard{position:relative;border:1px solid var(--border);border-radius:14px;padding:1.3rem 1.1rem 1.1rem;background:var(--card)}
.taxcard--best{border-color:var(--emerald);box-shadow:0 0 0 1px var(--emerald),var(--shadow)}
.taxcard__flag{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--emerald);color:#fff;font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.18rem .6rem;border-radius:999px;white-space:nowrap}
.taxcard__name{font-size:.92rem;margin-bottom:.5rem}
.taxcard__total{display:flex;flex-direction:column;gap:.1rem;padding-bottom:.7rem;margin-bottom:.7rem;border-bottom:1px solid var(--border)}
.taxcard__total span{font-size:.74rem;color:var(--ink-3)}
.taxcard__total strong{font-size:1.5rem;font-weight:800;letter-spacing:-.02em}
.taxcard--best .taxcard__total strong{color:var(--emerald-600)}
:root[data-theme="dark"] .taxcard--best .taxcard__total strong{color:var(--emerald)}
.taxcard__rows li{display:flex;justify-content:space-between;gap:.5rem;font-size:.82rem;color:var(--ink-2);padding:.22rem 0}
.taxcard__rows b{color:var(--ink);font-weight:600}
.taxnote{font-size:.76rem;color:var(--ink-3);margin-top:.9rem;text-align:center}
@media(max-width:1080px){.taxgrid{grid-template-columns:1fr}}
@media(max-width:820px){.calc{grid-template-columns:1fr}.calc__output{position:static}.taxgrid{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.taxgrid{grid-template-columns:1fr}}

/* --------------------------------------------------------- Prose / legal */
.prose{color:var(--ink-2);font-size:1rem;line-height:1.75}
.prose h2{font-size:1.3rem;color:var(--ink);margin:2rem 0 .8rem}
.prose p{margin-bottom:1rem}
.prose ul{margin:0 0 1rem;padding-left:0;display:flex;flex-direction:column;gap:.5rem}
.prose ul li{position:relative;padding-left:1.5rem}
.prose ul li::before{content:"";position:absolute;left:.3rem;top:.65rem;width:6px;height:6px;border-radius:50%;background:var(--emerald)}
.prose strong{color:var(--ink)}
.prose a{color:var(--navy-700);font-weight:600;text-decoration:underline;text-underline-offset:2px}
:root[data-theme="dark"] .prose a{color:var(--emerald)}
.legal__updated{margin-top:.8rem;font-size:.85rem;color:var(--ink-3)}
.legal__note{margin-top:2rem;padding:1rem 1.2rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;font-size:.85rem;color:var(--ink-3)}

/* ------------------------------------------------------------- Pricing */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;align-items:start}
.plan{position:relative;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.8rem 1.5rem;box-shadow:var(--shadow-sm)}
.plan--popular{border-color:var(--navy-700);box-shadow:0 0 0 1px var(--navy-700),var(--shadow-lg);transform:translateY(-6px)}
:root[data-theme="dark"] .plan--popular{border-color:var(--emerald);box-shadow:0 0 0 1px var(--emerald),var(--shadow-lg)}
.plan__badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--gold),var(--gold-600));color:#20170a;font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:.25rem .8rem;border-radius:999px}
.plan__name{font-size:1.3rem}
.plan__tagline{color:var(--ink-3);font-size:.88rem;margin:.3rem 0 1rem;min-height:2.4em}
.plan__price{display:flex;align-items:baseline;gap:.4rem;margin-bottom:1.2rem}
.plan__price strong{font-size:2rem;font-weight:800;letter-spacing:-.02em}
.plan__price span{color:var(--ink-3);font-size:.9rem}
.plan__features{margin-top:1.4rem;display:flex;flex-direction:column;gap:.7rem}
.plan__features li{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;color:var(--ink-2)}
.plan__features .ico{flex-shrink:0;width:18px;height:18px;color:var(--emerald);margin-top:1px}
.plans__note{display:flex;gap:.6rem;align-items:flex-start;justify-content:center;max-width:640px;margin:2.5rem auto 0;text-align:center;color:var(--ink-3);font-size:.9rem}
.plans__note .ico{flex-shrink:0;width:18px;height:18px;color:var(--gold-600)}
:root[data-theme="dark"] .plans__note .ico{color:var(--gold)}
.plans__note a{color:var(--navy-700);font-weight:600}
:root[data-theme="dark"] .plans__note a{color:var(--emerald)}
@media(max-width:860px){.plans{grid-template-columns:1fr;max-width:440px;margin-inline:auto}.plan--popular{transform:none}}

/* --------------------------------------------------------------- About */
.about__lead{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(2rem,4vw,3.5rem);align-items:center}
.about__stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.about__stat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.3rem;text-align:center;box-shadow:var(--shadow-sm)}
.about__creds{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(2rem,4vw,3rem);align-items:center}
.about__contact-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.6rem;box-shadow:var(--shadow-sm)}
.about__contact-card .h3{margin-bottom:1rem}
.about__contact-card .btn{margin-top:.6rem}
.text-center{text-align:center}
@media(max-width:860px){.about__lead,.about__creds{grid-template-columns:1fr}}

/* -------------------------------------------------------------- WhatsApp */
.fab-whatsapp{position:fixed;right:20px;bottom:20px;z-index:90;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 10px 30px -6px rgba(37,211,102,.5);transition:transform .2s}
.fab-whatsapp:hover{transform:scale(1.08)}
.fab-whatsapp .ico{width:28px;height:28px}

/* Utilities */
.hide-sm{display:inline-flex}

/* ----------------------------------------------- Cursor micro-interactions */
/* A warm gold spotlight follows the cursor across cards (JS sets --mx/--my). */
@media (hover:hover) and (pointer:fine){
  .glowable{position:relative}
  .glowable::after{content:"";position:absolute;inset:-1px;border-radius:inherit;opacity:0;z-index:1;pointer-events:none;
    transition:opacity .5s ease;
    background:radial-gradient(230px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--gold) 14%,transparent),transparent 65%)}
  .glowable:hover::after{opacity:1}
}

/* Nav links: a gradient underline draws itself in on hover. */
.nav__link{position:relative}
.nav__link::after{content:"";position:absolute;left:.9rem;right:.9rem;bottom:.32rem;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--emerald),var(--gold));
  transform:scaleX(0);transform-origin:left center;transition:transform .34s var(--ease-premium)}
.nav__link:hover::after,.nav__trigger[aria-expanded="true"].nav__link::after{transform:scaleX(1)}

/* Primary buttons: a soft light sweep on hover. */
.btn--primary,.btn--gold{position:relative;overflow:hidden}
.btn--primary::before,.btn--gold::before{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.32),transparent);
  transform:skewX(-18deg);pointer-events:none}
.btn--primary:hover::before,.btn--gold:hover::before{animation:btnShine .65s ease}
@keyframes btnShine{from{left:-60%}to{left:130%}}

/* Feature & step cards come alive under the cursor. */
.feature,.step{transition:transform .35s var(--ease-premium),box-shadow .35s ease,border-color .35s ease}
.feature:hover,.step:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--border-2)}
.feature__ico,.step__ico{transition:transform .4s var(--ease-premium)}
.feature:hover .feature__ico{transform:scale(1.1) rotate(-5deg)}
.step:hover .step__ico{transform:scale(1.08) rotate(4deg)}
.plan{transition:transform .35s var(--ease-premium),box-shadow .35s ease}
.plan:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.plan--popular:hover{transform:translateY(-9px)}

/* --------------------------------------------------------------- Reveal */
:root{--ease-premium:cubic-bezier(.16,1,.3,1)}
/* Gated on .js so content is never hidden if scripts fail to run. */
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .85s var(--ease-premium),transform .85s var(--ease-premium)}
.js .reveal--scale{transform:translateY(22px) scale(.955)}
.js .reveal--left{transform:translateX(-42px)}
.js .reveal--right{transform:translateX(42px)}
.js .reveal--slow{transition-duration:1.1s}
.reveal.is-visible{opacity:1;transform:none}

/* Staggered groups — children cascade in one after another. */
.js [data-stagger]>*{opacity:0;transform:translateY(34px) scale(.98);transition:opacity .8s var(--ease-premium),transform .8s var(--ease-premium)}
.js [data-stagger].is-visible>*{opacity:1;transform:none}
.js [data-stagger].is-visible>*:nth-child(1){transition-delay:.02s}
.js [data-stagger].is-visible>*:nth-child(2){transition-delay:.10s}
.js [data-stagger].is-visible>*:nth-child(3){transition-delay:.18s}
.js [data-stagger].is-visible>*:nth-child(4){transition-delay:.26s}
.js [data-stagger].is-visible>*:nth-child(5){transition-delay:.34s}
.js [data-stagger].is-visible>*:nth-child(6){transition-delay:.42s}
.js [data-stagger].is-visible>*:nth-child(7){transition-delay:.50s}
.js [data-stagger].is-visible>*:nth-child(8){transition-delay:.58s}
.js [data-stagger].is-visible>*:nth-child(9){transition-delay:.66s}
.js [data-stagger].is-visible>*:nth-child(n+10){transition-delay:.72s}

/* --------------------------------------------------------- Hero motion */
@keyframes heroRise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes auroraDrift{0%{background-position:0% 18%}50%{background-position:100% 72%}100%{background-position:26% 100%}}
@keyframes accentPan{0%{background-position:0% 50%}100%{background-position:100% 50%}}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(15,157,108,.5)}70%{box-shadow:0 0 0 7px rgba(15,157,108,0)}100%{box-shadow:0 0 0 0 rgba(15,157,108,0)}}

/* ------------------------------------------------------------ Responsive */
@media(max-width:960px){
  :root{--header-h:72px}
  .brand__wm{font-size:1.5rem}
  .brand__badge,.brand__badge svg{width:38px;height:38px}
  .brand__img{height:46px}
  .nav{display:none}
  .nav-toggle{display:inline-grid}
  .hero__grid{grid-template-columns:1fr}
  .hero__stage{min-height:auto;align-items:center;margin-top:1rem}
  .hero__team{max-height:380px;max-width:90%}
  .why__grid{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,1fr)}
  .site-footer__top{grid-template-columns:1fr}
  .site-footer__cols{grid-template-columns:repeat(3,1fr)}
  .contact__grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .hide-sm{display:none}
  .stats__item+.stats__item::before{display:none}
  .why__cards{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .site-footer__cols{grid-template-columns:repeat(2,1fr)}
  .cta__actions{flex-direction:column}
  .cta__actions .btn{width:100%}
}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .reveal,.js .reveal{opacity:1;transform:none}
  .js [data-stagger]>*{opacity:1;transform:none;transition-delay:0s!important}
  .hero__copy>*,.hero__card{opacity:1!important;transform:none!important;animation:none!important}
  .hero__glow,.ccard,.hero__title-accent,.hero__team{animation:none!important}
  .hero__team{opacity:1!important}
  .ring__fg{stroke-dashoffset:var(--ring-offset,29)}
}

/* ============================================================================
   Sign-in & client area (/login, /account)
   ========================================================================== */

.h4{font-size:1.05rem;font-weight:700;letter-spacing:-.01em}
.ico-lg{width:34px;height:34px;stroke-width:1.5}

/* ---- Sign-in page ---- */
.authpage{padding-block:clamp(2.5rem,5vw,4.5rem)}
.authpage__inner{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.authpage__inner--solo{grid-template-columns:minmax(0,460px);justify-content:center}
.authbox{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:clamp(1.6rem,3vw,2.2rem);box-shadow:var(--shadow)}
.authbox__title{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2rem);letter-spacing:-.02em}
.authbox__sub{margin-top:.5rem;color:var(--ink-2);font-size:.96rem}
.authbox .lead-form{margin-top:1.4rem}
.authbox .lead-form__status{margin-bottom:.2rem}
.authbox__fine{margin-top:1.3rem;padding-top:1.1rem;border-top:1px solid var(--border);font-size:.85rem;color:var(--ink-3);line-height:1.6}
.authbox__fine a{color:var(--navy-700);font-weight:600}
:root[data-theme="dark"] .authbox__fine a{color:var(--emerald)}

.authaside{max-width:30rem}
.authaside__badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--emerald);background:var(--emerald-050);padding:.35rem .7rem;border-radius:var(--radius-pill)}
.authaside__badge .ico{width:15px;height:15px}
.authaside__title{margin-top:1rem;font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.022em;line-height:1.2}
.authaside__list{margin-top:1.4rem;display:flex;flex-direction:column;gap:.75rem}
.authaside__list li{display:flex;align-items:flex-start;gap:.6rem;color:var(--ink-2);font-size:.98rem}
.authaside__list .ico{width:19px;height:19px;flex-shrink:0;margin-top:.12rem;color:var(--emerald)}
.authaside__help{margin-top:1.6rem;font-size:.9rem;color:var(--ink-3)}
.authaside__help a{color:var(--ink);font-weight:600}

/* ---- Client area ---- */
.acct__flash{margin-bottom:1.5rem}
.acct__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,320px);gap:clamp(1.5rem,3vw,2.5rem);align-items:start}
.acct__head{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:1.3rem}

.acct__list{display:flex;flex-direction:column;gap:.9rem}
.acct__item{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.3rem;box-shadow:var(--shadow-sm)}
.acct__item-top{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between}
.acct__item-title{font-size:1.05rem;font-weight:700;letter-spacing:-.01em}
.acct__item-msg{margin-top:.6rem;color:var(--ink-2);font-size:.94rem;line-height:1.6}
.acct__item-meta{margin-top:.7rem;font-size:.8rem;color:var(--ink-3)}
.acct__note{margin-top:1.3rem;font-size:.88rem;color:var(--ink-3);line-height:1.6}
.acct__note a{color:var(--navy-700);font-weight:600}
:root[data-theme="dark"] .acct__note a{color:var(--emerald)}

.acct__empty{background:var(--card);border:1px dashed var(--border-2);border-radius:var(--radius-lg);padding:clamp(2rem,4vw,3rem);text-align:center;color:var(--ink-3)}
.acct__empty .ico{color:var(--ink-3);margin-bottom:.8rem}
.acct__empty h3{font-size:1.2rem;color:var(--ink);font-weight:700}
.acct__empty p{margin:.5rem auto 1.4rem;max-width:26rem;font-size:.94rem}

.acct__card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.3rem;box-shadow:var(--shadow-sm);margin-bottom:1.1rem}
.acct__card .lead-form{margin-top:1.1rem;gap:.85rem}
.acct__card-fine{margin-top:.9rem;font-size:.83rem;color:var(--ink-3);line-height:1.6}
.acct__card .btn{margin-top:.7rem}

/* Enquiry status badge */
.sbadge{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .6rem;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--ink-3);white-space:nowrap}
.sbadge--new{background:var(--surface-2);color:var(--navy-700)}
:root[data-theme="dark"] .sbadge--new{color:var(--on-navy)}
.sbadge--live{background:var(--gold-050);color:var(--gold-600)}
:root[data-theme="dark"] .sbadge--live{color:var(--gold)}
.sbadge--done{background:var(--emerald-050);color:var(--emerald-600)}
:root[data-theme="dark"] .sbadge--done{color:var(--emerald)}

.btn--danger-link{background:transparent;color:#b3261e;border-color:transparent}
.btn--danger-link:hover{background:#fdecea}
:root[data-theme="dark"] .btn--danger-link{color:#ff8a80}
:root[data-theme="dark"] .btn--danger-link:hover{background:#2a1210}

@media (max-width:900px){
  .authpage__inner{grid-template-columns:minmax(0,1fr)}
  .authaside{order:-1;max-width:none}
  .authaside__list{display:none}
  .acct__grid{grid-template-columns:minmax(0,1fr)}
}
