/* CoreWave Credit — site styles
   Brand: navy #060B18 · electric blue #2F8BFF · peak cyan #3FE0FF · deep blue #0A4BC4 · brushed steel
   Fonts: Sora (display) + Figtree (body) — loaded per page from Google Fonts */

:root{
  --navy:#0b1428; --ink:#060b18; --navy-2:#101d3a;
  --blue:#2f8bff; --blue-deep:#0a4bc4; --cyan:#3fe0ff;
  --steel-1:#7d8b9b; --steel-2:#c3ced9;
  --bg:#e8eef8; --surface:#dbe6f4; --surface-2:#cedcee; --card:#ffffff;
  --line:#cedcee; --text:#0e1830; --muted:#54637c;
  --header-bg:rgba(232,238,248,.82); --nav:#33415a; --wordmark-core:#37455a;
  --radius:16px; --radius-sm:11px; --maxw:1160px;
  --shadow-sm:0 1px 2px rgba(11,20,40,.06),0 4px 14px rgba(11,20,40,.05);
  --shadow-lg:0 24px 60px -20px rgba(11,20,40,.35);
  --font-display:"Sora","Segoe UI",system-ui,-apple-system,sans-serif;
  --font-body:"Figtree","Public Sans","Segoe UI",system-ui,-apple-system,sans-serif;
}
:root[data-theme="dark"]{
  --bg:#0a1122; --surface:#0e1830; --surface-2:#12203c; --card:#121f3a;
  --line:#243350; --text:#e7eefb; --muted:#9fb1cc;
  --header-bg:rgba(10,17,34,.86); --nav:#c4d2e8; --wordmark-core:#c9d5e6;
  --shadow-sm:0 1px 2px rgba(0,0,0,.3),0 6px 18px rgba(0,0,0,.35);
  --shadow-lg:0 24px 60px -20px rgba(0,0,0,.65);
}

/* ---------- base ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.6;
  -webkit-font-smoothing:antialiased;font-size:17px}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.1;margin:0;letter-spacing:-.02em;text-wrap:balance}
p{margin:0}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.22em;
  text-transform:uppercase;color:var(--blue)}
.eyebrow.on-dark{color:var(--cyan)}
.skip{position:absolute;left:-9999px;top:0;z-index:300;background:var(--card);color:var(--text);
  padding:12px 18px;border-radius:0 0 10px 0;font-weight:700}
.skip:focus{left:0}
/* Visible to screen readers, not on screen. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}
section{padding:82px 0}
.sec-head{max-width:640px;margin:0 auto 46px;text-align:center}
.sec-head h2{font-size:clamp(28px,4vw,42px);font-weight:800;margin-top:12px}
.sec-head p{color:var(--muted);margin-top:14px;font-size:18px}
.center{text-align:center}
.mt-28{margin-top:28px}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-display);font-weight:700;font-size:15px;
  padding:13px 22px;border-radius:12px;border:1.5px solid transparent;cursor:pointer;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;white-space:nowrap}
.btn:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}
.btn-primary{background:linear-gradient(180deg,#3f97ff,#1f74ec);color:#fff;box-shadow:0 8px 22px -8px rgba(47,139,255,.7)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(47,139,255,.85)}
.btn-ghost{background:rgba(255,255,255,.06);color:#eaf1fb;border-color:rgba(180,205,255,.35)}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-light{background:#fff;color:var(--navy);border-color:var(--line)}
.btn-light:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.btn-outline{background:transparent;color:var(--text);border-color:var(--line)}
.btn-outline:hover{border-color:var(--blue);color:var(--blue)}
.btn-lg{padding:16px 28px;font-size:16px}
.btn[disabled]{opacity:.6;cursor:not-allowed;transform:none!important}

/* ---------- theme toggle ---------- */
.theme-toggle{position:fixed;right:18px;bottom:18px;z-index:200;width:46px;height:46px;border-radius:50%;
  border:1px solid var(--line);background:var(--card);color:var(--text);cursor:pointer;display:grid;place-items:center;
  box-shadow:var(--shadow-lg);transition:transform .15s ease,background .2s ease}
.theme-toggle:hover{transform:translateY(-2px)}
.theme-toggle:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.theme-toggle .sun{display:none}
:root[data-theme="dark"] .theme-toggle .moon{display:none}
:root[data-theme="dark"] .theme-toggle .sun{display:block}

/* ---------- header ---------- */
header.site{position:sticky;top:0;z-index:50;background:var(--header-bg);
  backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:24px;height:74px}
.brand{display:flex;align-items:center;gap:12px;margin-right:auto}
.brand .badge{width:44px;height:44px;flex:none}
.brand .wm{display:flex;flex-direction:column;line-height:1;gap:3px}
.brand .cw{font-family:var(--font-display);font-weight:800;font-size:22px;letter-spacing:-.01em}
.brand .cw .c{color:var(--wordmark-core)}
.brand .cw .w{color:var(--blue)}
.brand .sub{font-family:var(--font-display);font-size:8.5px;font-weight:700;letter-spacing:.4em;
  text-transform:uppercase;color:var(--steel-1);padding-left:2px}
.menu{display:flex;align-items:center;gap:24px}
.menu a{font-weight:600;font-size:15px;color:var(--nav)}
.menu a:hover{color:var(--blue)}
.menu a[aria-current="page"]{color:var(--blue)}
.nav-cta{display:flex;align-items:center;gap:14px}
.nav-cta .call{font-weight:700;color:var(--text);font-size:15px}
.burger{display:none;background:none;border:0;padding:8px;cursor:pointer}
.burger span{display:block;width:24px;height:2.5px;background:var(--text);border-radius:2px;margin:5px 0}

/* Header space is tight on phones. Without these the brand and the CTA both
   shrink past their content width and visibly overlap — the CTA ends up sitting
   on top of the wordmark. Pin the CTA and burger, and let the brand be the
   thing that gives. */
.nav-cta,.burger{flex:none}
.brand{min-width:0}
.brand .badge{flex:none}
/* Safety net: if a device's font metrics are wider than expected, the wordmark
   clips at the edge instead of being overlapped by the button. */
.brand .wm{min-width:0;overflow:hidden}
.brand .cw,.brand .sub{white-space:nowrap}

@media (max-width:940px){
  .menu,.nav-cta .call{display:none}
  .burger{display:block}
}

/* Scale the header down so brand + CTA + burger actually fit side by side. */
@media (max-width:620px){
  .wrap.nav{padding:0 16px}
  .nav{gap:10px;height:64px}
  .brand{gap:9px}
  .brand .badge{width:36px;height:36px}
  .brand .cw{font-size:18px}
  .brand .sub{font-size:7.5px;letter-spacing:.3em}
  .nav-cta .btn{padding:10px 15px;font-size:13.5px;border-radius:10px}
  .burger{padding:6px}
  .burger span{width:22px;height:2px;margin:4.5px 0}
  .mobile-menu{padding:12px 16px 20px}
}

/* Below this there genuinely isn't room for three things. The CTA is already
   the first item in the burger menu, so drop it from the bar rather than
   sacrifice the brand. */
@media (max-width:400px){
  .nav-cta{display:none}
  .brand .cw{font-size:19px}
}
.mobile-menu{display:none;border-top:1px solid var(--line);background:var(--card);padding:14px 24px 22px}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;padding:11px 4px;font-weight:600;border-bottom:1px solid var(--surface-2)}
.mobile-menu .btn{width:100%;justify-content:center;margin-top:14px}

/* ---------- home hero ---------- */
.hero{position:relative;overflow:hidden;color:#eaf1fb;isolation:isolate;
  background:radial-gradient(60% 80% at 82% -10%, rgba(47,139,255,.28), transparent 60%),
    linear-gradient(180deg,#0c1730 0%, #0a1128 60%, #0b1428 100%)}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;
  background:radial-gradient(50% 55% at 80% 12%, rgba(47,139,255,.35), transparent 70%)}
.streaks{position:absolute;inset:0;z-index:-1;overflow:hidden;opacity:.45}
.streak{position:absolute;bottom:-10%;height:120%;width:1px;transform-origin:bottom;
  background:linear-gradient(to top,rgba(63,224,255,0),rgba(63,224,255,.6) 45%,rgba(63,224,255,0));
  animation:drift 10s ease-in-out infinite}
.streak:nth-child(1){left:12%;transform:rotate(12deg)}
.streak:nth-child(2){left:28%;transform:rotate(6deg);animation-delay:-3s;opacity:.6}
.streak:nth-child(3){left:66%;transform:rotate(-6deg);animation-delay:-5s;opacity:.6}
.streak:nth-child(4){left:88%;transform:rotate(-12deg);animation-delay:-2s}
@keyframes drift{0%,100%{opacity:.15}50%{opacity:.7}}
@media (prefers-reduced-motion:reduce){.streak{animation:none}}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:78px 0 92px}
.hero h1{font-size:clamp(38px,5.4vw,60px);font-weight:800}
.hero h1 .grad{background:linear-gradient(120deg,#8fc4ff,#3fe0ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{font-size:clamp(17px,2vw,20px);color:#b7c6de;margin-top:20px;max-width:48ch}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.hero-chips{display:flex;gap:20px;flex-wrap:wrap;margin-top:30px;color:#93a6c4;font-size:14px;font-weight:600}
.hero-chips span{display:flex;align-items:center;gap:8px}
.hero-chips svg{color:var(--cyan)}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:36px;padding:56px 0 68px}}

/* ---------- interior page hero ---------- */
.page-hero{position:relative;overflow:hidden;color:#eaf1fb;text-align:center;padding:64px 0 68px;isolation:isolate;
  background:radial-gradient(70% 100% at 50% -20%, rgba(47,139,255,.3), transparent 65%),
    linear-gradient(180deg,#0c1730,#0a1128)}
.page-hero h1{font-size:clamp(32px,4.8vw,50px);font-weight:800;margin-top:12px}
.page-hero h1 .grad{background:linear-gradient(120deg,#8fc4ff,#3fe0ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.page-hero p{color:#b7c6de;margin:16px auto 0;max-width:58ch;font-size:18px}
.page-hero .eyebrow{display:block;margin-top:14px}
.crumbs{font-size:13px;color:#7d8fb0;margin-bottom:4px}
.crumbs a{color:#9fb1cc}
.crumbs a:hover{color:var(--cyan)}

/* ---------- promise list ---------- */
.promise-list{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.promise-list li{display:flex;gap:10px;font-weight:600;font-size:15px}
.promise-list li svg{color:var(--blue);flex:none;margin-top:4px}
@media (max-width:560px){.promise-list{grid-template-columns:1fr}}

/* ---------- scorecard (home) ---------- */
.scorecard{background:linear-gradient(165deg,rgba(24,40,74,.9),rgba(10,18,40,.92));
  border:1px solid rgba(120,160,230,.28);border-radius:20px;padding:26px;
  box-shadow:0 30px 70px -30px rgba(0,0,0,.8);backdrop-filter:blur(4px)}
.scorecard .sc-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}
.sc-label{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:#8aa0c4;font-weight:700}
.sc-delta{display:inline-flex;align-items:center;gap:6px;background:rgba(63,224,255,.14);
  color:#7ef0ff;font-weight:700;font-size:13px;padding:5px 11px;border-radius:999px}
.sc-num{font-family:var(--font-display);font-weight:800;font-size:60px;color:#fff;line-height:1;letter-spacing:-.02em}
.sc-num small{font-size:16px;color:#8aa0c4;font-weight:600;letter-spacing:.02em}
.sc-band{height:8px;border-radius:99px;margin:16px 0 6px;
  background:linear-gradient(90deg,#e2513f,#e2b23f 45%,#3f97ff 78%,#3fe0ff)}
.sc-band-row{display:flex;justify-content:space-between;font-size:11px;color:#7d8fb0;font-weight:600}
.sc-chart{margin-top:18px;border-top:1px solid rgba(120,160,230,.2);padding-top:16px}
.sc-foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:12px;color:#8aa0c4}
.sc-foot b{color:#cfe0f5}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:s}
.step{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;position:relative}
.step .ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;
  background:linear-gradient(180deg,#eaf3ff,#d6e8ff);color:var(--blue-deep);margin-bottom:16px}
.step .k{counter-increment:s;font-family:var(--font-display);font-weight:800;font-size:13px;color:var(--blue);letter-spacing:.1em}
.step .k::before{content:"STEP 0" counter(s)}
.step h3{font-size:19px;margin:8px 0 8px}
.step p{color:var(--muted);font-size:15px}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}

/* ---------- service cards ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px;
  box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease}
.svc:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.svc .ic{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;margin-bottom:16px;
  background:linear-gradient(160deg,#14264a,#0d1a34);color:var(--cyan)}
.svc h3{font-size:19px;margin-bottom:8px}
.svc p{color:var(--muted);font-size:15px}
.svc ul{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:9px}
.svc li{display:flex;gap:9px;font-size:14.5px;color:var(--muted)}
.svc li svg{color:var(--blue);flex:none;margin-top:4px}
@media (max-width:900px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.svc-grid{grid-template-columns:1fr}}

/* ---------- split / why ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.why-list{display:flex;flex-direction:column;gap:20px;margin-top:26px}
.why-item{display:flex;gap:16px}
.why-item .tick{width:30px;height:30px;flex:none;border-radius:8px;display:grid;place-items:center;
  background:linear-gradient(180deg,#e7f2ff,#cfe6ff);color:var(--blue-deep)}
.why-item h4{font-family:var(--font-display);font-size:17px;margin-bottom:3px}
.why-item p{color:var(--muted);font-size:15px}
.why-visual{background:linear-gradient(165deg,#0c1730,#0a1128);border-radius:20px;padding:30px;color:#dfe9f7;box-shadow:var(--shadow-lg)}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:34px}}

/* ---------- meters (used in why-visual) ---------- */
.meter-row{display:flex;justify-content:space-between;font-size:13px;color:#b7c6de;margin-bottom:6px}
.meter{height:8px;background:#1a2b4d;border-radius:99px;overflow:hidden}
.meter i{display:block;height:100%;background:linear-gradient(90deg,#2f8bff,#3fe0ff);border-radius:99px}

/* ---------- pricing ---------- */
.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;align-items:stretch;max-width:800px;margin:0 auto}
.plan{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px;display:flex;flex-direction:column}
.plan.pop{border-color:var(--blue);box-shadow:0 20px 50px -22px rgba(47,139,255,.5);position:relative}
.plan .tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--blue);color:#fff;
  font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:.08em;padding:5px 14px;border-radius:99px;white-space:nowrap}
.plan h3{font-size:20px}
.plan .amt{font-family:var(--font-display);font-weight:800;font-size:40px;margin:12px 0 2px;letter-spacing:-.02em}
.plan .amt small{font-size:15px;color:var(--muted);font-weight:600}
.plan .setup{color:var(--muted);font-size:14px}
.plan ul{list-style:none;padding:0;margin:20px 0 24px;display:flex;flex-direction:column;gap:11px}
.plan li{display:flex;gap:10px;font-size:15px;color:var(--text)}
.plan li svg{color:var(--blue);flex:none;margin-top:3px}
.plan .btn{width:100%;justify-content:center;margin-top:auto}
@media (max-width:640px){.price-grid{grid-template-columns:1fr}}

/* comparison table */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 auto;max-width:820px}
table.cmp{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;font-size:15px;min-width:520px}
table.cmp th,table.cmp td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line)}
table.cmp thead th{font-family:var(--font-display);font-size:13px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);background:var(--surface)}
table.cmp tbody tr:last-child td{border-bottom:0}
table.cmp td.yes{color:var(--blue);font-weight:700}
table.cmp td.center,table.cmp th.center{text-align:center}

/* ---------- stats ---------- */
.stats{background:var(--navy);color:#dfe9f7}
.stats .row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.stats .n{font-family:var(--font-display);font-weight:800;font-size:clamp(26px,3.4vw,38px);color:#fff}
.stats .n .u{color:var(--cyan)}
.stats .l{font-size:13.5px;color:#93a6c4;margin-top:6px;font-weight:600}
.stats .note{text-align:center;color:#6f83a6;font-size:12px;margin-top:26px}
@media (max-width:720px){.stats .row{grid-template-columns:repeat(2,1fr);gap:28px 20px}}

/* ---------- testimonials ---------- */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.quote{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.quote .stars{color:#ffb020;letter-spacing:2px;margin-bottom:12px}
.quote p{font-size:15.5px;color:var(--text)}
.quote .who{display:flex;align-items:center;gap:11px;margin-top:18px}
.quote .av{width:38px;height:38px;border-radius:99px;background:linear-gradient(150deg,#2f8bff,#0a4bc4);color:#fff;
  display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:14px}
.quote .who b{font-size:14px}
.quote .who span{font-size:12.5px;color:var(--muted)}
@media (max-width:860px){.quotes{grid-template-columns:1fr}}

/* ---------- FAQ ---------- */
.faq{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.faq-group{max-width:820px;margin:0 auto 40px}
.faq-group > h3{font-size:20px;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--line)}
details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:4px 22px}
details[open]{background:var(--card);box-shadow:var(--shadow-sm)}
summary{list-style:none;cursor:pointer;padding:18px 0;font-family:var(--font-display);font-weight:700;
  font-size:17px;display:flex;justify-content:space-between;align-items:center;gap:16px}
summary::-webkit-details-marker{display:none}
summary:focus-visible{outline:3px solid var(--cyan);outline-offset:2px;border-radius:6px}
summary .pm{width:22px;height:22px;flex:none;position:relative}
summary .pm::before,summary .pm::after{content:"";position:absolute;background:var(--blue);border-radius:2px}
summary .pm::before{top:10px;left:3px;right:3px;height:2.5px}
summary .pm::after{left:10px;top:3px;bottom:3px;width:2.5px;transition:opacity .2s}
details[open] summary .pm::after{opacity:0}
details p{color:var(--muted);padding:0 0 20px;font-size:15.5px}
details p + p{padding-top:0;margin-top:-8px}
details a{color:var(--blue);font-weight:600}
.faq-group + .faq-group{margin-top:0}
.faq-list{display:flex;flex-direction:column;gap:12px}

/* ---------- about ---------- */
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.value{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.value .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;margin-bottom:14px;
  background:linear-gradient(160deg,#14264a,#0d1a34);color:var(--cyan)}
.value h3{font-size:18px;margin-bottom:7px}
.value p{color:var(--muted);font-size:15px}
@media (max-width:860px){.value-grid{grid-template-columns:1fr}}

/* ---------- prose (legal / long text) ---------- */
.prose{max-width:760px;margin:0 auto}
.prose h2{font-size:26px;margin:40px 0 14px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:19px;margin:26px 0 10px}
.prose p{color:var(--muted);margin-bottom:15px}
.prose ul,.prose ol{color:var(--muted);padding-left:22px;margin:0 0 15px}
.prose li{margin-bottom:9px}
.prose strong{color:var(--text)}
.prose a{color:var(--blue);font-weight:600}
.prose .updated{font-size:14px;color:var(--muted);padding:12px 16px;background:var(--surface);
  border-left:3px solid var(--blue);border-radius:0 8px 8px 0;margin-bottom:32px}
.callout{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--blue);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:20px 22px;margin:24px 0}
.callout h3{margin:0 0 8px;font-size:17px}
.callout p{margin:0;font-size:15px}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:44px;align-items:start}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;gap:34px}}
.contact-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.contact-list{display:flex;flex-direction:column;gap:22px;margin-top:6px}
.contact-item{display:flex;gap:15px}
.contact-item .ic{width:40px;height:40px;flex:none;border-radius:11px;display:grid;place-items:center;
  background:linear-gradient(160deg,#14264a,#0d1a34);color:var(--cyan)}
.contact-item h4{font-family:var(--font-display);font-size:15px;margin-bottom:3px}
.contact-item p,.contact-item a{color:var(--muted);font-size:15.5px}
.contact-item a:hover{color:var(--blue)}
.contact-item .big{font-size:19px;font-weight:700;color:var(--text);font-family:var(--font-display)}

/* ---------- forms ---------- */
form.cw{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px;
  box-shadow:var(--shadow-sm)}
.field{margin-bottom:18px}
.field label{display:block;font-family:var(--font-display);font-weight:700;font-size:14px;margin-bottom:7px}
.field .req{color:var(--blue)}
.field input,.field select,.field textarea{width:100%;font-family:var(--font-body);font-size:16px;
  padding:12px 14px;border-radius:10px;border:1.5px solid var(--line);background:var(--bg);color:var(--text);
  transition:border-color .15s ease,box-shadow .15s ease}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(47,139,255,.18)}
.field .hint{font-size:13px;color:var(--muted);margin-top:6px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:560px){.field-row{grid-template-columns:1fr}}
.consent{display:flex;gap:11px;align-items:flex-start;font-size:14px;color:var(--muted);margin-bottom:20px}
.consent input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:var(--blue)}
.consent a{color:var(--blue);font-weight:600}
form.cw .btn{width:100%;justify-content:center}
.form-note{font-size:13px;color:var(--muted);margin-top:14px;text-align:center}
.form-msg{display:none;padding:14px 16px;border-radius:10px;font-size:15px;margin-bottom:18px;font-weight:600}
.form-msg.show{display:block}
.form-msg.ok{background:rgba(47,139,255,.12);color:var(--blue-deep);border:1px solid rgba(47,139,255,.35)}
:root[data-theme="dark"] .form-msg.ok{color:#8fc4ff}
.form-msg.err{background:rgba(226,81,63,.1);color:#c0392b;border:1px solid rgba(226,81,63,.35)}
:root[data-theme="dark"] .form-msg.err{color:#ff9e93}

/* ---------- CRC embed slot ---------- */
.embed-shell{max-width:860px;margin:0 auto}
.embed-frame{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:30px;box-shadow:var(--shadow-sm);min-height:220px}
.embed-frame iframe{width:100%;border:0;display:block}
.embed-placeholder{border:2px dashed var(--line);border-radius:var(--radius);padding:48px 28px;text-align:center;
  background:var(--surface)}
.embed-placeholder h3{font-size:19px;margin-bottom:10px}
.embed-placeholder p{color:var(--muted);font-size:15.5px;max-width:46ch;margin:0 auto 20px}

/* ---------- CTA band ---------- */
.cta-band{position:relative;overflow:hidden;color:#eaf1fb;text-align:center;
  background:linear-gradient(120deg,#0a4bc4,#2f8bff 60%,#1f74ec)}
.cta-band::after{content:"";position:absolute;inset:0;opacity:.25;
  background:radial-gradient(60% 100% at 50% 0%,rgba(63,224,255,.6),transparent 70%)}
.cta-band .wrap{position:relative}
.cta-band h2{font-size:clamp(28px,4vw,42px);font-weight:800}
.cta-band p{color:#dbe9ff;margin:14px auto 28px;max-width:52ch;font-size:18px}
.cta-band .btn-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ---------- footer ---------- */
footer.site{background:var(--ink);color:#9fb1cc;font-size:14.5px}
.foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding:64px 0 40px}
.foot-brand .cw{font-family:var(--font-display);font-weight:800;font-size:22px}
.foot-brand .cw .c{color:#cdd8e6}
.foot-brand .cw .w{color:var(--blue)}
.foot-brand p{margin-top:14px;max-width:34ch;color:#7f92b0}
.foot-col h4{font-family:var(--font-display);color:#dbe6f4;font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}
.foot-col a{display:block;padding:6px 0;color:#9fb1cc}
.foot-col a:hover{color:var(--cyan)}
.disclosure{border-top:1px solid #16233d;padding:26px 0;color:#6d80a0;font-size:12.5px;line-height:1.7}
.disclosure strong{color:#9fb1cc}
.foot-bottom{border-top:1px solid #16233d;padding:20px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#6d80a0;font-size:13px}
.foot-bottom a{color:#9fb1cc}
.foot-bottom a:hover{color:var(--cyan)}
@media (max-width:860px){.foot-top{grid-template-columns:1fr 1fr;gap:32px}}
@media (max-width:520px){.foot-top{grid-template-columns:1fr}}

/* ---------- 404 ---------- */
.err-page{min-height:62vh;display:grid;place-items:center;text-align:center;padding:80px 24px}
.err-page .code{font-family:var(--font-display);font-weight:800;font-size:clamp(72px,14vw,140px);
  line-height:1;background:linear-gradient(120deg,var(--blue),var(--cyan));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.err-page h1{font-size:clamp(24px,4vw,34px);margin:10px 0 14px}
.err-page p{color:var(--muted);max-width:46ch;margin:0 auto 28px}
