
@property --bd{syntax:'<angle>';initial-value:0deg;inherits:false}
/* ===================== TOKENS ===================== */
:root{
  --font-head:"Plus Jakarta Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-body:"DM Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --blue:#1A3CA0;--accent:#3B82F6;--navy:#0F2167;--indigo:#312E9E;
  --violet:#7c3aed;--cyan:#22d3ee;--teal:#0ea5a4;--rose:#fb7185;--amber:#fbbf24;
  --ink:#0b1226;--body:#454f69;--muted:#6f7a98;--bg:#fff;--soft:#f4f7fe;--tint:#edf2ff;
  --line:rgba(15,33,103,.09);--line2:rgba(15,33,103,.06);
  --grad-text:linear-gradient(100deg,#3B82F6,#7c3aed 92%);
  --grad-btn:linear-gradient(120deg,#3B82F6,#4f46e5 45%,#7c3aed,#3B82F6);
  --r:16px;--r-lg:22px;--r-xl:28px;
  --sh:0 1px 2px rgba(16,24,64,.05),0 8px 18px -10px rgba(26,60,160,.17),0 24px 48px -28px rgba(26,60,160,.28);
  --sh-lift:0 2px 4px rgba(16,24,64,.06),0 16px 30px -12px rgba(26,60,160,.26),0 44px 80px -40px rgba(26,60,160,.4);
  --inset:inset 0 1px 0 rgba(255,255,255,.85);--maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--body);background:var(--bg);line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9000;background-image:url(grain.png);background-size:170px;opacity:.045}
h1,h2,h3,h4{font-family:var(--font-head);color:var(--ink);line-height:1.12;letter-spacing:-.022em;font-weight:800}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
section{position:relative}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-head);font-weight:700;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--blue);background:linear-gradient(135deg,rgba(59,130,246,.12),rgba(124,58,237,.10));border:1px solid rgba(59,130,246,.20);padding:7px 14px;border-radius:999px;box-shadow:var(--inset)}
.eyebrow.on-dark{color:#dbe6ff;background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.2);box-shadow:none}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--violet))}
.grad-text{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.sec-head{max-width:640px;margin:0 auto 42px;text-align:center}
.sec-head h2{font-size:clamp(25px,3vw,37px);margin:16px 0 12px}
.sec-head p{font-size:16.5px;color:var(--muted)}
h2{font-size:clamp(25px,3vw,37px)}
.lead{font-size:17.5px;color:var(--body)}
/* ===================== BUTTONS ===================== */
.btn{position:relative;display:inline-flex;align-items:center;gap:9px;font-family:var(--font-head);font-weight:700;font-size:15px;padding:13px 25px;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:.28s ease;white-space:nowrap;overflow:hidden}
.btn>*{position:relative;z-index:1}
.btn-grad{background:var(--grad-btn);background-size:220% 100%;color:#fff;box-shadow:0 12px 26px -8px rgba(79,70,229,.55),var(--inset)}
.btn-grad:hover{background-position:100% 0;transform:translateY(-2px);box-shadow:0 22px 40px -12px rgba(79,70,229,.68)}
.btn-light{background:#fff;color:var(--blue);box-shadow:var(--sh)}
.btn-light:hover{transform:translateY(-2px);box-shadow:var(--sh-lift)}
.btn-ghost{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.3)}
.btn-ghost:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}
.btn svg{width:17px;height:17px}
.btn::before{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg);z-index:0;transition:left .6s ease;pointer-events:none}
.btn:hover::before{left:150%}
.btn::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--bd),transparent 42%,#22d3ee,#a78bfa,#fff,#22d3ee,transparent);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s;pointer-events:none;z-index:2}
.btn:hover::after{opacity:1;animation:bd 2.6s linear infinite}
/* ===================== ANIMATED HOVER BORDER ===================== */
.fx{position:relative}
.fx::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.6px;background:conic-gradient(from var(--bd),transparent 50%,#22d3ee,#3B82F6,#7c3aed,#22d3ee,transparent);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s;pointer-events:none;z-index:4}
.fx:hover::after{opacity:1;animation:bd 2.6s linear infinite}
@keyframes bd{to{--bd:360deg}}
/* ===================== NAV (hover dropdowns, single CTA) ===================== */
header{position:fixed;top:0;left:0;right:0;z-index:60;transition:.3s ease}
header .bar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:var(--maxw);margin:0 auto}
header .logo{height:29px;width:auto}
header .logo.blue{display:none}
header.scrolled{background:rgba(255,255,255,.86);backdrop-filter:saturate(170%) blur(16px);box-shadow:0 1px 0 var(--line),0 10px 34px -20px rgba(16,24,64,.3)}
header.scrolled .logo.white{display:none}
header.scrolled .logo.blue{display:block}
nav.links{display:flex;align-items:center;gap:28px}
nav.links a.nl{font-family:var(--font-head);font-weight:600;font-size:14.5px;color:rgba(255,255,255,.86);transition:.2s;display:inline-flex;align-items:center;gap:6px}
nav.links a.nl:hover{color:#fff}
header.scrolled nav.links a.nl{color:var(--body)}
header.scrolled nav.links a.nl:hover{color:var(--blue)}
.has-dd{position:relative;display:inline-flex;align-items:center}
.has-dd>a.nl:after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-1px);opacity:.65;transition:.2s}
.has-dd:hover>a.nl:after{transform:rotate(225deg) translateY(1px)}
.dd{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);min-width:230px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh-lift);padding:8px;opacity:0;visibility:hidden;transition:.22s;z-index:70}
.dd:before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.has-dd:hover .dd{opacity:1;visibility:visible;transform:translateX(-50%) translateY(8px)}
.dd a{position:relative;display:block;padding:10px 14px;border-radius:11px;color:var(--body)!important;font-family:var(--font-head);font-weight:600;font-size:14px;transition:.16s}
.dd a:hover{background:var(--soft);color:var(--blue)!important}
.nav-cta{display:flex;align-items:center;gap:14px}
.nav-cta .btn-grad{display:none}
.hamburger{display:none;background:none;border:0;cursor:pointer;padding:6px}
.hamburger span{display:block;width:24px;height:2px;background:#fff;margin:5px 0;border-radius:2px;transition:.2s}
header.scrolled .hamburger span{background:var(--ink)}
/* ===================== HERO ===================== */
.hero{position:relative;color:#fff;padding:142px 0 96px;overflow:hidden;
  background:linear-gradient(100deg,rgba(6,9,18,.62) 0%,rgba(6,9,18,.42) 52%,rgba(6,9,18,.32) 100%),url(banners/hero.jpg) center/cover,linear-gradient(120deg,#0b1020,#161a2b)}
.hero .grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(circle at 50% 36%,#000,transparent 76%)}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:48px;align-items:center;position:relative}
.hero h1{color:#fff;font-size:clamp(38px,5.4vw,62px);margin:20px 0;line-height:1.05}
.hero p.lead{color:#cdd8f0;max-width:48ch;font-size:18px}
.hero-cta{display:flex;gap:13px;flex-wrap:wrap;margin:30px 0 4px}
/* hero dashboard */
.dash{position:relative;border-radius:18px;background:#fff;box-shadow:0 50px 90px -34px rgba(5,12,48,.7),var(--inset);overflow:hidden;border:1px solid rgba(255,255,255,.5)}
.dash .bar{display:flex;align-items:center;gap:7px;padding:12px 15px;background:var(--grad-btn);background-size:200%}
.dash .bar i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.65)}
.dash .bar b{margin-left:9px;color:#fff;font-family:var(--font-head);font-weight:700;font-size:12px}
.dash .bar .pill{margin-left:auto;font-family:var(--font-head);font-size:10px;color:#fff;background:rgba(255,255,255,.22);padding:3px 9px;border-radius:999px;font-weight:700}
.dash .in{padding:15px;background:linear-gradient(180deg,#fff,#f6f8ff)}
.dash .kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:11px}
.dash .kpi{background:#fff;border:1px solid var(--line2);border-radius:11px;padding:9px 10px;box-shadow:var(--inset)}
.dash .kpi small{font-family:var(--font-head);font-size:9px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.dash .kpi b{font-family:var(--font-head);display:block;font-weight:800;color:var(--ink);font-size:17px;margin-top:2px}
.dash .kpi b span{font-size:10px;color:#16a34a}
.dash .panel{background:#fff;border:1px solid var(--line2);border-radius:12px;padding:11px 12px;box-shadow:var(--inset)}
.dash .panel .ttl{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}
.dash .panel .ttl b{font-family:var(--font-head);font-weight:700;color:var(--ink);font-size:11.5px}
.dash .panel .ttl em{font-style:normal;font-size:10px;color:var(--muted)}
.dash .lower{display:grid;grid-template-columns:1.5fr 1fr;gap:8px;margin-top:9px}
.dash .bars{display:flex;align-items:flex-end;gap:6px;height:64px;padding-top:5px}
.dash .bars span{flex:1;border-radius:3px 3px 0 0;background:linear-gradient(180deg,#60a5fa,#4f46e5)}
.float{animation:float 6s ease-in-out infinite}.float.d{animation-delay:-3s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}
.chip{position:absolute;background:rgba(255,255,255,.97);border:1px solid var(--line);border-radius:14px;padding:10px 13px;box-shadow:var(--sh-lift);display:flex;align-items:center;gap:10px;font-family:var(--font-head);z-index:3}
.chip .ic{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:#fff;flex:none}
.chip .ic svg{width:16px;height:16px}
.chip b{font-weight:800;color:var(--ink);font-size:14px;line-height:1}
.chip small{display:block;color:var(--muted);font-size:10.5px;font-weight:600}
.chip.c1{top:6px;left:-28px}.chip.c2{bottom:22px;right:-24px}
/* ===================== TRUST STRIP ===================== */
.trust{padding:24px 0;background:linear-gradient(180deg,#fff,#f3f6ff);border-bottom:1px solid var(--line2)}
.trust .row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.trust .stat{display:flex;align-items:center;justify-content:center;gap:12px}
.trust .stat .mi{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#fff;flex:none;box-shadow:var(--inset)}
.trust .stat .mi svg{width:19px;height:19px}
.trust .stat .tx b{font-family:var(--font-head);font-weight:800;color:var(--ink);font-size:19px;line-height:1;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.trust .stat .tx small{display:block;font-family:var(--font-head);font-weight:600;color:var(--muted);font-size:12px}
/* ===================== LOGO STRIP (thin, auto-rotating) ===================== */
.logos{padding:30px 0;background:#fff;border-bottom:1px solid var(--line2);overflow:hidden}
.logos .lab{text-align:center;font-family:var(--font-head);font-weight:700;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.logostrip{overflow:hidden;position:relative;-webkit-mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.logotrack{display:flex;align-items:center;gap:66px;width:max-content;animation:scrollx 60s linear infinite}
.logos:hover .logotrack{animation-play-state:paused}
.logotrack img{height:44px;width:auto;object-fit:contain;opacity:.9;transition:.25s}
.logotrack img:hover{opacity:1;transform:scale(1.05)}
@keyframes scrollx{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* ===================== SECTION SHELL + TOP SMUDGE ===================== */
.block{padding:clamp(54px,6.4vw,84px) 0}
.bg-tint{background:radial-gradient(135% 78% at 50% -16%,rgba(124,58,237,.20),rgba(59,130,246,.13) 26%,#eef3ff 56%,#fff 100%)}
.bg-soft{background:radial-gradient(125% 70% at 50% -14%,rgba(59,130,246,.16),rgba(124,58,237,.08) 30%,#eff3ff 56%,#fff 100%)}
.bg-mesh{background:linear-gradient(180deg,#e9eeff,#f6f8ff)}
.bg-mesh:before{content:"";position:absolute;inset:0;background:url(aurora-light.jpg) center/cover;opacity:.55;mix-blend-mode:luminosity;pointer-events:none}
.bg-mesh .wrap{position:relative}
/* cards grid */
.cards{display:grid;gap:20px}
.c4{grid-template-columns:repeat(4,1fr)}.c3{grid-template-columns:repeat(3,1fr)}.c2{grid-template-columns:repeat(2,1fr)}
.card{position:relative;background:linear-gradient(180deg,#fff,#f6f8ff);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;box-shadow:var(--sh),var(--inset);transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s;overflow:hidden}
.card:hover{transform:translateY(-8px);box-shadow:var(--sh-lift),var(--inset)}
.card .aura{position:absolute;top:-50px;left:-30px;width:170px;height:170px;border-radius:50%;opacity:.6;transition:.3s;pointer-events:none}
.card:hover .aura{opacity:1;transform:scale(1.12)}
.icon-chip{position:relative;width:54px;height:54px;border-radius:15px;display:grid;place-items:center;color:#fff;margin-bottom:18px;box-shadow:var(--inset)}
.icon-chip svg{width:25px;height:25px}
.card h3{font-size:19px;margin-bottom:8px}
.card p{font-size:14.5px;color:var(--muted)}
.card-link{display:inline-flex;align-items:center;gap:7px;margin-top:16px;color:var(--blue);font-family:var(--font-head);font-weight:700;font-size:13.5px}
.card-link svg{width:15px;height:15px;transition:.2s}
.card:hover .card-link svg{transform:translateX(4px)}
.t-blue   .icon-chip{background:linear-gradient(135deg,#60a5fa,#1A3CA0)} .t-blue .aura{background:radial-gradient(circle,rgba(59,130,246,.22),transparent 70%)}
.t-violet .icon-chip{background:linear-gradient(135deg,#818cf8,#7c3aed)} .t-violet .aura{background:radial-gradient(circle,rgba(124,58,237,.2),transparent 70%)}
.t-cyan   .icon-chip{background:linear-gradient(135deg,#22d3ee,#3B82F6)} .t-cyan .aura{background:radial-gradient(circle,rgba(34,211,238,.22),transparent 70%)}
.t-rose   .icon-chip{background:linear-gradient(135deg,#fb7185,#7c3aed)} .t-rose .aura{background:radial-gradient(circle,rgba(251,113,133,.2),transparent 70%)}
.t-teal   .icon-chip{background:linear-gradient(135deg,#2dd4bf,#0ea5a4)} .t-teal .aura{background:radial-gradient(circle,rgba(45,212,191,.22),transparent 70%)}
.t-amber  .icon-chip{background:linear-gradient(135deg,#fbbf24,#fb7185)} .t-amber .aura{background:radial-gradient(circle,rgba(251,191,36,.24),transparent 70%)}
/* ===================== WHY ===================== */
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.why-list{display:grid;gap:18px;margin-top:24px}
.why-item{display:flex;gap:15px;align-items:flex-start}
.why-item .ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;color:#fff;flex:none;box-shadow:var(--inset)}
.why-item .ic svg{width:22px;height:22px}
.why-item h3{font-size:17px;margin-bottom:4px}
.why-item p{font-size:14.5px;color:var(--muted)}
.capcard{background:linear-gradient(180deg,#fff,#f6f8ff);border:1px solid var(--line);border-radius:var(--r-xl);padding:32px;box-shadow:var(--sh-lift),var(--inset)}
.capcard .ch{display:flex;align-items:center;gap:11px;margin-bottom:22px}
.capcard .ch .ic{width:42px;height:42px;border-radius:12px;background:var(--grad-btn);background-size:200%;display:grid;place-items:center;color:#fff;box-shadow:var(--inset)}
.capcard .ch .ic svg{width:21px;height:21px}
.capcard .ch b{font-family:var(--font-head);font-weight:800;color:var(--ink);font-size:16px}
.capcard .ch small{display:block;color:var(--muted);font-size:12.5px}
.barline{margin-bottom:17px}
.barline .lab{display:flex;justify-content:space-between;font-family:var(--font-head);font-weight:700;font-size:13.5px;color:var(--ink);margin-bottom:7px}
.barline .lab span:last-child{color:var(--blue)}
.track{height:9px;border-radius:999px;background:#e9eefb;overflow:hidden}
.track .fill{height:100%;border-radius:999px;width:0;transition:width 1.3s cubic-bezier(.2,.7,.2,1)}
.rv.in .track .fill{width:var(--w)}
/* ===================== AI BAND ===================== */
.aiband{padding:clamp(56px,6.6vw,88px) 0;overflow:hidden;background:radial-gradient(120% 72% at 50% -12%,rgba(124,58,237,.18),rgba(59,130,246,.12) 26%,var(--soft) 58%,#fff);border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.aiband:before{content:"";position:absolute;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,.15),transparent 65%);filter:blur(60px);top:-150px;left:-90px}
.split{display:grid;grid-template-columns:1.02fr .98fr;gap:50px;align-items:center;position:relative}
.feat{display:grid;gap:13px;margin-top:24px}
.feat .item{display:flex;gap:14px;align-items:flex-start;background:linear-gradient(180deg,#fff,#f7f9ff);border:1px solid var(--line);border-radius:15px;padding:15px 17px;box-shadow:var(--sh),var(--inset);transition:transform .3s,box-shadow .3s}
.feat .item:hover{transform:translateY(-4px);box-shadow:var(--sh-lift),var(--inset)}
.feat .item .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff;flex:none;box-shadow:var(--inset)}
.feat .item .ic svg{width:21px;height:21px}
.feat .item b{font-family:var(--font-head);color:var(--ink);font-size:15px;display:block;margin-bottom:3px}
.feat .item span{font-size:13.5px;color:var(--muted)}
.snap{position:relative;border-radius:18px;background:linear-gradient(180deg,#fff,#f4f7ff);border:1px solid var(--line);box-shadow:var(--sh-lift),var(--inset);padding:17px}
.snap .sh{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}
.snap .sh b{font-family:var(--font-head);font-weight:800;color:var(--ink);font-size:13.5px}
.snap .sh .tag{font-family:var(--font-head);font-size:10px;font-weight:700;color:#16a34a;background:rgba(22,163,74,.1);padding:4px 9px;border-radius:999px}
.snap .row2{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:11px}
.snap .mini{border:1px solid var(--line2);border-radius:11px;padding:10px;background:#fff}
.snap .mini small{font-family:var(--font-head);font-size:9.5px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.snap .mini .v{font-family:var(--font-head);font-weight:800;color:var(--ink);font-size:19px;margin-top:2px}
.snap .table{border:1px solid var(--line2);border-radius:11px;overflow:hidden}
.snap .table .tr{display:grid;grid-template-columns:1.4fr 1fr .8fr;align-items:center;padding:8px 11px;font-size:11.5px;border-top:1px solid var(--line2)}
.snap .table .tr:first-child{border-top:0;background:#f7f9ff;font-family:var(--font-head);font-weight:700;color:var(--ink);font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.snap .table .tr b{font-family:var(--font-head);color:var(--ink);text-align:right}
.snap .pos{color:#16a34a;font-family:var(--font-head);font-weight:700;text-align:right}
/* ===================== PROCESS ===================== */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:stretch;position:relative}
.step{position:relative;background:linear-gradient(180deg,#fff,#f6f8ff);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 22px 26px;box-shadow:var(--sh),var(--inset);transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;overflow:hidden}
.step:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad-btn);background-size:200%}
.step:hover{transform:translateY(-7px);box-shadow:var(--sh-lift),var(--inset)}
.step .stop{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.step .nbadge{position:relative;width:52px;height:52px;border-radius:15px;display:grid;place-items:center;color:#fff;font-family:var(--font-head);font-weight:800;font-size:20px;box-shadow:0 10px 20px -6px rgba(59,130,246,.5),var(--inset);flex:none}
.step .nbadge:after{content:"";position:absolute;inset:-5px;border-radius:19px;border:1.5px solid rgba(59,130,246,.16)}
.step .stip{font-family:var(--font-head);font-weight:700;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);background:rgba(59,130,246,.1);padding:6px 12px;border-radius:999px}
.step h3{font-size:18px;margin-bottom:7px}
.step p{font-size:13.5px;color:var(--muted)}
/* ===================== INDUSTRIES ===================== */
.indcard{position:relative;height:300px;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh),var(--inset);transition:transform .3s,box-shadow .3s;display:flex;align-items:flex-end}
.indcard:hover{transform:translateY(-7px);box-shadow:var(--sh-lift),var(--inset)}
.indcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .6s}
.indcard:hover img{transform:scale(1.07)}
.indcard:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,12,30,.5) 0%,rgba(9,12,32,.58) 45%,rgba(6,9,24,.94) 100%)}
.indcard .ic{position:absolute;top:18px;left:18px;z-index:2;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#fff;box-shadow:var(--sh-lift),var(--inset)}
.indcard .ic svg{width:22px;height:22px}
.indcard .tx{position:relative;z-index:2;padding:22px}
.indcard h3{color:#fff;font-size:18px;margin-bottom:6px}
.indcard p{color:#fff;font-size:13.5px}
/* ===================== TESTIMONIAL CAROUSEL ===================== */
.tcar{max-width:880px;margin:0 auto;position:relative}
.tcwin{overflow:hidden;border-radius:var(--r-xl)}
.tcrail{display:flex;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.tcslide{flex:0 0 100%;width:100%;padding:6px}
.qcard{text-align:center;background:linear-gradient(180deg,#fff,#f6f8ff);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(30px,4vw,46px);box-shadow:var(--sh-lift),var(--inset);min-height:248px;display:flex;flex-direction:column;justify-content:center}
.qcard .stars{display:flex;justify-content:center;gap:4px;margin-bottom:15px}
.qcard .stars svg{width:18px;height:18px}
.qcard p.qt{font-family:var(--font-head);font-weight:500;color:var(--ink);font-size:clamp(15.5px,1.6vw,18px);line-height:1.55;letter-spacing:-.005em;margin-bottom:22px;max-width:58ch;margin-left:auto;margin-right:auto}
.qcard .who{display:flex;align-items:center;justify-content:center;gap:13px}
.qcard .who .av{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;color:#fff;font-family:var(--font-head);font-weight:800;font-size:17px;box-shadow:var(--sh)}
.qcard .who b{display:block;font-family:var(--font-head);color:var(--ink);font-size:15.5px;text-align:left}
.qcard .who small{color:var(--muted);font-size:13px}
.tcar .ar{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center;color:var(--blue);box-shadow:var(--sh);cursor:pointer;transition:.2s;z-index:3}
.tcar .ar:hover{box-shadow:var(--sh-lift);transform:translateY(-50%) scale(1.06);color:var(--violet)}
.tcar .ar svg{width:18px;height:18px}
.tcar .prev{left:-12px}.tcar .next{right:-12px}
.tcar .dots{display:flex;justify-content:center;gap:8px;margin-top:24px}
.tcar .dot{width:9px;height:9px;border-radius:999px;background:#cfd8ef;cursor:pointer;transition:.25s}
.tcar .dot.on{width:26px;background:var(--grad-btn);background-size:200%}
/* ===================== TALK (CTA + form) ===================== */
.talk{position:relative;border-radius:var(--r-xl);overflow:hidden;color:#fff;padding:clamp(32px,4.4vw,54px);box-shadow:var(--sh-lift);background:linear-gradient(125deg,#14245f 0%,#1e3a8a 44%,#3f2f9e 100%);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.talk:before{content:"";position:absolute;top:-40%;right:-10%;width:60%;height:160%;background:radial-gradient(circle,rgba(34,211,238,.22),transparent 60%);pointer-events:none}
.talk:hover{transform:translateY(-6px);box-shadow:0 60px 110px -44px rgba(30,58,138,.75)}
.talk .inner{position:relative;display:grid;grid-template-columns:.82fr 1.18fr;gap:46px;align-items:center}
.talk h2{color:#fff;font-size:clamp(26px,3.4vw,40px);margin:14px 0 12px}
.talk .sub{color:#dfe4ff;font-size:15.5px;margin-bottom:22px;max-width:34ch}
.talk .tinfo{display:grid;gap:11px}
.talk .ti{display:flex;align-items:center;gap:11px}
.talk .ti .ic{width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;color:#fff;flex:none}
.talk .ti .ic svg{width:18px;height:18px}
.talk .ti b{font-family:var(--font-head);color:#fff;display:block;font-size:14px}
.talk .ti span{color:#c3c9f0;font-size:13px}
.talk .tform .frow{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.tfield{margin-bottom:12px}
.tfield label{font-family:var(--font-head);font-weight:600;font-size:12.5px;color:#fff;display:block;margin-bottom:6px}
.tfield input,.tfield select,.tfield textarea{width:100%;font-family:var(--font-body);font-size:14px;color:#fff;padding:11px 13px;border:1px solid rgba(255,255,255,.26);border-radius:11px;background:rgba(255,255,255,.1);outline:none;transition:.2s}
.tfield input::placeholder,.tfield textarea::placeholder{color:rgba(255,255,255,.55)}
.tfield input:focus,.tfield select:focus,.tfield textarea:focus{border-color:#fff;background:rgba(255,255,255,.17);box-shadow:0 0 0 4px rgba(255,255,255,.15)}
.tfield input.bad{border-color:#fda4af;box-shadow:0 0 0 4px rgba(251,113,133,.22)}
.tfield select option{color:#15183a}
.tfield textarea{resize:vertical;min-height:88px}
.talk .tform .btn{width:100%;justify-content:center;margin-top:4px;padding:14px;background:#fff;color:var(--blue)}
.talk .tform .ferr{color:#fecdd3;font-family:var(--font-head);font-weight:600;font-size:12.5px;margin-top:9px;text-align:center}
.talk .tform .fine{color:#c3c9f0;font-size:12px;text-align:center;margin-top:9px}
/* ===================== FOOTER ===================== */
footer{position:relative;color:#fff;padding:66px 0 30px;overflow:hidden;background:radial-gradient(70% 120% at 12% 0%,rgba(34,211,238,.16),transparent 52%),radial-gradient(60% 110% at 88% 18%,rgba(124,58,237,.24),transparent 55%),radial-gradient(50% 80% at 50% 120%,rgba(59,130,246,.22),transparent 60%),linear-gradient(155deg,#0d1c5e 0%,#1a3aa0 52%,#0b1542 100%)}
footer:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#22d3ee,#3B82F6,#7c3aed,#fb7185,#fbbf24)}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px;position:relative}
.foot-grid .logo{height:30px;margin-bottom:16px}
.foot-brand p{color:#fff;font-size:15px;max-width:34ch}
.foot-col h4{font-family:var(--font-head);font-size:14px;letter-spacing:.04em;margin-bottom:16px;font-weight:700;background:linear-gradient(100deg,#67e8f9,#c4b5fd);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}
.foot-col a,.foot-col span{display:block;color:#fff;font-size:15px;margin-bottom:11px;transition:.2s}
.foot-col a:hover{color:#7dd3fc;transform:translateX(3px)}
.social{display:flex;gap:9px;margin-top:18px}
.social a{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);display:grid;place-items:center;color:#fff;transition:.2s}
.social a:hover{background:var(--grad-btn);background-size:200%;color:#fff;border-color:transparent;transform:translateY(-3px)}
.social svg{width:18px;height:18px}
.foot-bot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;border-top:1px solid rgba(255,255,255,.2);margin-top:44px;padding-top:24px;color:#fff;font-size:14px;position:relative}
.foot-bot a{color:#fff}.foot-bot a:hover{color:#7dd3fc}
/* ===================== REVEAL ===================== */
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
/* ===================== RESPONSIVE ===================== */
@media(max-width:980px){
  .hero-grid,.split,.why-grid,.talk .inner{grid-template-columns:1fr;gap:34px}
  .c4{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr);gap:26px}
  .foot-grid{grid-template-columns:1fr 1fr}
  .dash{max-width:470px;margin:0 auto}
  .trust .row{grid-template-columns:repeat(2,1fr);gap:22px}
  .tcar .prev{left:-2px}.tcar .next{right:-2px}
}
@media(max-width:680px){
  nav.links{position:fixed;top:68px;left:16px;right:16px;background:#fff;flex-direction:column;align-items:stretch;gap:4px;padding:14px;border-radius:18px;box-shadow:var(--sh-lift);border:1px solid var(--line);transform:translateY(-12px);opacity:0;pointer-events:none;transition:.25s;max-height:78vh;overflow:auto}
  nav.links.open{transform:none;opacity:1;pointer-events:auto}
  nav.links a.nl{color:var(--body)!important;padding:10px 8px;border-radius:10px}
  .has-dd{display:block}.has-dd>a.nl:after{margin-left:auto}
  .dd{position:static;transform:none!important;opacity:1;visibility:visible;box-shadow:none;border:0;padding:0 0 6px 14px;min-width:0;background:transparent}.dd:before{display:none}
  .dd a:after{display:none}
  nav.links .btn{justify-content:center;margin-top:6px}
  .hamburger{display:block}.nav-cta .btn-grad{display:inline-flex}
  .c4,.c3,.c2,.cards,.steps,.foot-grid{grid-template-columns:1fr}
  .trust .row{grid-template-columns:1fr 1fr}
  .talk .tform .frow{grid-template-columns:1fr}
  .chip{display:none}.hero{padding:120px 0 70px}
  .tcar .ar{display:none}
}


/* ============================================================
   SITE.CSS ADDITIONS — inner-page components. Base above is
   extracted verbatim from index.html so every page shares ONE
   design system.
   ============================================================ */

/* ---- Page banner (inner-page hero): real photo + dark overlay, matches homepage hero weight ---- */
.phead{position:relative;color:#fff;display:flex;align-items:center;min-height:clamp(440px,60vh,580px);padding:128px 0 64px;overflow:hidden;background:linear-gradient(140deg,#0d1c5e,#1a3aa0 55%,#0b1542)}
.phead .phead-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.phead:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(112deg,rgba(7,10,26,.82),rgba(12,17,44,.66) 52%,rgba(34,24,78,.55))}
.phead .wrap{position:relative;z-index:2}
section[id]{scroll-margin-top:96px}
.phead .bc{display:flex;align-items:center;gap:9px;font-family:var(--font-head);font-weight:600;font-size:13px;color:#b8c4ec;margin-bottom:22px}
.phead .bc a{color:#b8c4ec;transition:.2s}.phead .bc a:hover{color:#fff}
.phead .bc .sep{opacity:.5}
.phead h1{color:#fff;font-size:clamp(33px,4.8vw,55px);margin:16px 0 14px;max-width:20ch;line-height:1.06}
.phead p.sub{color:#e0e6ff;font-size:clamp(16px,1.7vw,18.5px);max-width:60ch}
.phead .pcta{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}

/* ---- Feature / check list — subtle, relevant, lightly tinted icons ---- */
.ulist{display:grid;gap:14px;margin:22px 0 6px;padding:0}
.ulist li{list-style:none;display:flex;gap:13px;align-items:flex-start;font-size:15px;color:var(--body)}
.ulist li .ck{width:27px;height:27px;flex:none;margin-top:1px;border-radius:8px;display:grid;place-items:center}
.ulist li .ck svg{width:15px;height:15px}
.ulist li b{color:var(--ink);font-family:var(--font-head)}
.ck.b{background:rgba(37,99,235,.12);color:#2563eb}
.ck.v{background:rgba(124,58,237,.13);color:#7c3aed}
.ck.c{background:rgba(8,145,178,.14);color:#0891b2}
.ck.t{background:rgba(13,148,136,.13);color:#0d9488}
.ck.a{background:rgba(217,119,6,.14);color:#d97706}
.ck.r{background:rgba(225,29,72,.12);color:#e11d48}

/* ---- Two-column detail row (services / industries). Each lives in its own .bg-* section ---- */
.svcsec{position:relative}
.svcsec>.wrap{padding-top:clamp(50px,6vw,82px);padding-bottom:clamp(50px,6vw,82px)}
.duo{display:grid;grid-template-columns:1.02fr .98fr;gap:50px;align-items:center}
.duo.rev .duo-media{order:-1}
.duo .num{font-family:var(--font-head);font-weight:800;font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--blue)}
.duo h2{font-size:clamp(24px,2.7vw,34px);margin:12px 0 12px}

/* ---- Media: browser mockup (web) ---- */
.browser{border-radius:14px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--sh-lift),var(--inset);background:#fff}
.browser .bbar{display:flex;align-items:center;gap:7px;padding:11px 14px;background:linear-gradient(180deg,#f3f6ff,#e8eefb);border-bottom:1px solid var(--line)}
.browser .bbar i{width:11px;height:11px;border-radius:50%}
.browser .bbar i:nth-child(1){background:#fb7185}.browser .bbar i:nth-child(2){background:#fbbf24}.browser .bbar i:nth-child(3){background:#34d399}
.browser .url{margin-left:10px;flex:1;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 13px;font-family:var(--font-head);font-size:11px;color:var(--muted)}
.browser .bbody{padding:18px}
.browser .bhero{height:104px;border-radius:11px;background:linear-gradient(120deg,#3B82F6,#4f46e5 55%,#7c3aed);position:relative;overflow:hidden;margin-bottom:14px}
.browser .bhero:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(255,255,255,.28))}
.browser .bline{height:9px;border-radius:6px;background:#e9eefb;margin-bottom:9px}
.browser .bline.m{width:82%}.browser .bline.s{width:56%}
.browser .brow{display:flex;gap:9px;margin-top:14px}
.browser .bcardm{flex:1;height:50px;border-radius:9px;background:linear-gradient(180deg,#fff,#f3f6ff);border:1px solid var(--line2)}

/* ---- Media: test-run card (QA) ---- */
.testrun{border-radius:16px;background:linear-gradient(180deg,#fff,#f6f8ff);border:1px solid var(--line);box-shadow:var(--sh-lift),var(--inset);padding:19px 20px}
.testrun .trh{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}
.testrun .trh b{font-family:var(--font-head);font-size:13px;color:var(--ink)}
.testrun .trh .pass{font-family:var(--font-head);font-size:11px;font-weight:700;color:#0f9d58;background:rgba(16,163,74,.1);padding:4px 11px;border-radius:999px}
.testrun .trow{display:flex;align-items:center;gap:11px;padding:10px 0;border-top:1px solid var(--line2)}
.testrun .trow:first-of-type{border-top:0}
.testrun .trow .tk{width:21px;height:21px;border-radius:6px;display:grid;place-items:center;background:rgba(16,163,74,.13);color:#0f9d58;flex:none}
.testrun .trow .tk svg{width:12px;height:12px}
.testrun .trow .tt{flex:1;font-family:var(--font-head);font-weight:600;color:var(--ink);font-size:12.5px}
.testrun .trow small{color:var(--muted);font-size:11px;font-family:var(--font-head)}

/* ---- Media: stat/chart card (marketing) ---- */
.statcard{border-radius:16px;background:linear-gradient(180deg,#fff,#f4f7ff);border:1px solid var(--line);box-shadow:var(--sh-lift),var(--inset);padding:19px 20px}
.statcard .sch{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.statcard .sch b{font-family:var(--font-head);font-size:13px;color:var(--ink)}
.statcard .sch .up{font-family:var(--font-head);font-size:11px;font-weight:700;color:#0f9d58;background:rgba(16,163,74,.1);padding:3px 9px;border-radius:999px}
.statcard .kpis2{display:flex;gap:11px;margin-top:13px}
.statcard .k{flex:1;background:#fff;border:1px solid var(--line2);border-radius:10px;padding:10px 12px}
.statcard .k small{font-family:var(--font-head);font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700}
.statcard .k b{display:block;font-family:var(--font-head);font-size:19px;color:var(--ink);margin-top:3px}

/* ---- Media: framed photo ---- */
.framed{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-lift),var(--inset);border:1px solid var(--line)}
.framed img{width:100%;height:360px;object-fit:cover;display:block}

/* ---- Tech chips (capabilities / stack) ---- */
.tchips{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.tchip{font-family:var(--font-head);font-weight:600;font-size:11.5px;color:var(--blue);background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.16);padding:5px 11px;border-radius:999px}

/* ---- Projects grid ---- */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pcard{position:relative;border-radius:var(--r-lg);overflow:hidden;background:linear-gradient(180deg,#fff,#f6f8ff);border:1px solid var(--line);box-shadow:var(--sh),var(--inset);transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}
.pcard:hover{transform:translateY(-8px);box-shadow:var(--sh-lift),var(--inset)}
.pcard .ph{height:150px;position:relative;display:grid;place-items:center;overflow:hidden}
.pcard .ph img{height:56px;width:auto;max-width:62%;object-fit:contain;filter:drop-shadow(0 6px 14px rgba(8,15,52,.18))}
.pcard .tags{position:absolute;top:13px;left:13px;display:flex;gap:6px;flex-wrap:wrap;z-index:2}
.pcard .tags span{font-family:var(--font-head);font-weight:700;font-size:10.5px;letter-spacing:.03em;background:rgba(255,255,255,.92);color:var(--blue);padding:4px 9px;border-radius:999px;box-shadow:var(--sh)}
.pcard .pb{padding:21px 22px 22px;display:flex;flex-direction:column;flex:1}
.pcard h3{font-size:17px;margin-bottom:7px}
.pcard p{font-size:13.5px;color:var(--muted);flex:1}

/* ---- Roles (careers) ---- */
.roles{display:grid;gap:14px;max-width:880px;margin:0 auto}
.role{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(180deg,#fff,#f6f8ff);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px 24px;box-shadow:var(--sh),var(--inset);transition:transform .3s,box-shadow .3s}
.role:hover{transform:translateY(-4px);box-shadow:var(--sh-lift),var(--inset)}
.role .rl b{font-family:var(--font-head);font-size:16.5px;color:var(--ink);display:block}
.role .rl .meta{display:flex;gap:15px;margin-top:6px;font-size:12.5px;color:var(--muted);flex-wrap:wrap}
.role .rl .meta span{display:inline-flex;align-items:center;gap:5px}
.role .rl .meta svg{width:14px;height:14px;color:var(--blue)}
.role .apply{flex:none}

/* ---- Prose ---- */
.prose{max-width:760px;margin:0 auto}
.prose p{font-size:16.5px;color:var(--body);margin-bottom:16px;line-height:1.72}
.prose p.lead{font-size:19px;color:var(--ink)}
.prose h3{font-size:21px;margin:30px 0 10px}

/* ---- FAQ ---- */
.qa{max-width:820px;margin:0 auto;display:grid;gap:12px}
.qa details{background:linear-gradient(180deg,#fff,#f6f8ff);border:1px solid var(--line);border-radius:15px;padding:18px 22px;box-shadow:var(--sh),var(--inset)}
.qa summary{font-family:var(--font-head);font-weight:700;color:var(--ink);cursor:pointer;font-size:15.5px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px}
.qa summary::-webkit-details-marker{display:none}
.qa summary:after{content:"+";color:var(--blue);font-size:22px;font-weight:700;line-height:1}
.qa details[open] summary:after{content:"\2212"}
.qa p{margin-top:12px;font-size:14.5px;color:var(--muted)}

/* ---- Info tiles (contact) ---- */
.itile{display:flex;gap:14px;align-items:flex-start}
.itile .ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;color:#fff;flex:none;box-shadow:var(--inset);background:var(--grad-btn);background-size:200%}
.itile .ic svg{width:22px;height:22px}
.itile b{font-family:var(--font-head);color:var(--ink);font-size:15.5px;display:block;margin-bottom:2px}
.itile span,.itile a{font-size:14px;color:var(--muted)}
.itile a:hover{color:var(--blue)}

/* ---- 3-up steps (fixes the 4-col gap) ---- */
.steps.s3{grid-template-columns:repeat(3,1fr)}

/* ---- Responsive ---- */
@media(max-width:980px){
  .duo{grid-template-columns:1fr;gap:30px}
  .duo.rev .duo-media{order:0}
  .pgrid{grid-template-columns:repeat(2,1fr)}
  .phead{min-height:auto;padding:120px 0 56px}
  .steps.s3{grid-template-columns:1fr}
  .framed img{height:280px}
}
@media(max-width:680px){
  .pgrid{grid-template-columns:1fr}
  .role{flex-direction:column;align-items:flex-start;gap:13px}
  .role .apply{width:100%}.role .apply .btn{width:100%;justify-content:center}
}


/* ============================================================
   ROUND 2 ADDITIONS — about story, light contact form,
   projects maintenance overlay.
   ============================================================ */

/* ---- About: floating badge on the story photo ---- */
.duo-media.relpos{position:relative}
.floatbadge{position:absolute;left:-16px;bottom:20px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--sh-lift),var(--inset);padding:13px 17px;display:flex;align-items:center;gap:12px;z-index:3}
.floatbadge .fbi{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;background:var(--grad-btn);background-size:200%;flex:none;box-shadow:var(--inset)}
.floatbadge .fbi svg{width:20px;height:20px}
.floatbadge b{font-family:var(--font-head);color:var(--ink);font-size:14.5px;display:block;line-height:1.15}
.floatbadge small{color:var(--muted);font-size:11.5px}
@media(max-width:680px){.floatbadge{left:10px;bottom:10px;padding:10px 13px}}

/* ---- Pull-quote / accent paragraph ---- */
.accentp{position:relative;padding-left:20px;border-left:3px solid transparent;border-image:linear-gradient(180deg,#3B82F6,#7c3aed) 1;font-family:var(--font-head);font-weight:600;color:var(--ink);font-size:18px;line-height:1.55}

/* ---- Contact: LIGHT form variant (light hues + hover glow via .fx) ---- */
.talk.light{color:var(--ink);background:radial-gradient(82% 120% at 10% -10%,rgba(59,130,246,.14),transparent 55%),radial-gradient(74% 120% at 94% 8%,rgba(124,58,237,.13),transparent 55%),linear-gradient(168deg,#ffffff,#eef3ff 58%,#e8edff)}
.talk.light:before{display:none}
.talk.light h2{color:var(--ink)}
.talk.light .eyebrow.on-dark{color:var(--blue);background:linear-gradient(135deg,rgba(59,130,246,.12),rgba(124,58,237,.10));border-color:rgba(59,130,246,.20);box-shadow:var(--inset)}
.talk.light .eyebrow.on-dark .dot{background:linear-gradient(135deg,var(--accent),var(--violet))}
.talk.light .sub{color:var(--muted)}
.talk.light .ti .ic{background:var(--grad-btn);background-size:200%;border:0;color:#fff}
.talk.light .ti b{color:var(--ink)}
.talk.light .ti span{color:var(--muted)}
.talk.light .tfield label{color:var(--ink)}
.talk.light .tfield input,.talk.light .tfield select,.talk.light .tfield textarea{background:#fff;border:1px solid var(--line);color:var(--ink)}
.talk.light .tfield input::placeholder,.talk.light .tfield textarea::placeholder{color:var(--muted)}
.talk.light .tfield select option{color:var(--ink)}
.talk.light .tfield input:focus,.talk.light .tfield select:focus,.talk.light .tfield textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(59,130,246,.14)}
.talk.light .tform .btn{background:var(--grad-btn);background-size:220% 100%;color:#fff;box-shadow:0 12px 26px -8px rgba(79,70,229,.5)}
.talk.light .tform .fine{color:var(--muted)}
.talk.light .tform .fine a{color:var(--blue)!important}
.talk.light .ferr{color:#e11d48}
.talk.light .tfield input.bad{border-color:#fb7185;box-shadow:0 0 0 4px rgba(251,113,133,.18)}

/* ---- Projects: Under-maintenance blur overlay ---- */
.maint-wrap{position:relative;border-radius:var(--r-xl);overflow:hidden}
.maint-wrap .pgrid{filter:blur(6px) saturate(.92);opacity:.5;pointer-events:none;user-select:none;transform:scale(1.01)}
.maint-cover{position:absolute;inset:0;display:grid;place-items:center;z-index:4;padding:20px;background:radial-gradient(70% 70% at 50% 45%,rgba(244,247,255,.35),rgba(236,241,255,.66))}
.maint-card{text-align:center;background:linear-gradient(180deg,#fff,#f6f8ff);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-lift),var(--inset);padding:34px 42px;max-width:470px}
.maint-card .mi{width:60px;height:60px;border-radius:17px;display:grid;place-items:center;color:#fff;background:var(--grad-btn);background-size:200%;margin:0 auto 16px;box-shadow:var(--inset)}
.maint-card .mi svg{width:28px;height:28px}
.maint-card .tag{display:inline-block;font-family:var(--font-head);font-weight:700;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.18);padding:5px 13px;border-radius:999px;margin-bottom:13px}
.maint-card h3{font-size:22px;margin-bottom:8px}
.maint-card p{font-size:14.5px;color:var(--muted)}
@media(max-width:680px){.maint-card{padding:26px 22px;max-width:92%}}


/* ---- Legal pages (privacy / terms) ---- */
.legal{padding:56px 0 70px;background:radial-gradient(120% 60% at 50% -10%,rgba(124,58,237,.08),#fff 55%)}
.legal .col{max-width:820px;margin:0 auto;background:linear-gradient(180deg,#fff,#f7f9ff);border:1px solid var(--line);border-radius:24px;box-shadow:var(--sh),var(--inset);padding:clamp(28px,4vw,52px)}
.legal .note{background:rgba(59,130,246,.07);border:1px solid rgba(59,130,246,.18);border-radius:14px;padding:14px 18px;font-size:14px;color:var(--body);margin-bottom:28px}
.legal h2{font-size:20px;margin:30px 0 10px;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}
.legal h2:first-of-type{margin-top:0}
.legal p,.legal li{font-size:15.5px;color:var(--body);margin-bottom:12px}
.legal ul{padding-left:22px;margin-bottom:12px}
.legal li{margin-bottom:7px}
.legal .meta{color:var(--muted);font-size:14px;margin-bottom:26px}
