/* ═══════════════════════════════════════════════
   DESIGN TOKENS
═══════════════════════════════════════════════ */
:root{
  --blue:#0C5BA6;--blue-dk:#073F75;--blue-md:#1E73CC;
  --blue-lt:#E8F1FB;--blue-bd:#C7DDF4;
  --t:#1A1D23;--t-m:#4A4F5A;--t-l:#7A7F8A;
  --bg:#F7F8FA;--bg-s:#FAFBFC;--br:#E4E7EC;--w:#FFFFFF;
  --sh-xs:0 1px 2px rgba(12,91,166,.05);
  --sh-s:0 1px 3px rgba(12,91,166,.08),0 1px 2px rgba(0,0,0,.04);
  --sh-m:0 4px 16px rgba(12,91,166,.11),0 2px 4px rgba(0,0,0,.04);
  --sh-l:0 8px 32px rgba(12,91,166,.14),0 2px 8px rgba(0,0,0,.05);
  --r:10px;--rl:14px;
}

/* ═══════════════════════════════════════════════
   RESET & BASE
═══════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
/* Anchor scroll offset: sticky nav (66px) + subnav (48px) */
[id]{scroll-margin-top:114px}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--t);background:var(--w);line-height:1.5;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button{font-family:inherit;cursor:pointer}

/* ═══════════════════════════════════════════════
   LAYOUT
═══════════════════════════════════════════════ */
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.sec{padding:88px 0}
.sec-alt{padding:88px 0;background:var(--bg)}

/* ═══════════════════════════════════════════════
   TYPOGRAPHY
═══════════════════════════════════════════════ */
.h1{font-size:clamp(30px,4vw,52px);font-weight:800;line-height:1.1;letter-spacing:-.03em}
.h2{font-size:clamp(22px,2.8vw,38px);font-weight:800;line-height:1.15;letter-spacing:-.025em}
.body-t{font-size:16px;line-height:1.65;color:var(--t-m)}
.sm{font-size:13px;line-height:1.6;color:var(--t-m)}
.blue{color:var(--blue)}


/* ═══════════════════════════════════════════════
   BUTTONS
═══════════════════════════════════════════════ */
.btn{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;border:none;border-radius:7px;cursor:pointer;letter-spacing:-.01em;white-space:nowrap;transition:background .15s,transform .1s}
.btn:active{transform:scale(.98)}
.btn-p{background:var(--blue);color:#fff;padding:11px 24px}
.btn-p:hover{background:var(--blue-dk)}
.btn-s{background:var(--w);color:var(--blue);padding:10px 22px;border:1.5px solid var(--blue)}
.btn-s:hover{background:var(--blue-lt)}

/* ═══════════════════════════════════════════════
   SUBNAV
═══════════════════════════════════════════════ */
.subnav{background:var(--w);border-bottom:1px solid var(--br);position:sticky;top:66px;z-index:90;overflow-x:auto;scrollbar-width:none;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.subnav::-webkit-scrollbar{display:none}
.sn-inner{display:flex;min-width:max-content;max-width:1200px;margin:0 auto;padding:0 24px}
.sn-link{font-size:13px;font-weight:500;color:var(--t-m);padding:13px 18px;border-bottom:2.5px solid transparent;white-space:nowrap;transition:color .15s,border-color .15s}
.sn-link:hover,.sn-link.active{color:var(--blue);border-bottom-color:var(--blue)}

/* ═══════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════ */
.hero{position:relative;padding:88px 0 80px;background-color:var(--w);background-image:linear-gradient(var(--br) 1px,transparent 1px),linear-gradient(90deg,var(--br) 1px,transparent 1px);background-size:48px 48px}
.hero-veil{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 80% 75% at 50% 45%,rgba(255,255,255,.97) 28%,rgba(255,255,255,.78) 62%,transparent 100%)}

/* ═══════════════════════════════════════════════
   CTA FORM INPUTS
═══════════════════════════════════════════════ */
.f-inv{padding:12px 18px;border-radius:8px;border:1.5px solid rgba(255,255,255,.28);background:rgba(255,255,255,.1);color:#fff;font-size:14px;outline:none;font-family:inherit;width:100%;transition:border-color .15s}
.f-inv:focus{border-color:rgba(255,255,255,.6)}
.f-inv::placeholder{color:rgba(255,255,255,.5)}

/* ═══════════════════════════════════════════════
   WORKFLOW SCROLL CONTAINER
═══════════════════════════════════════════════ */
.flow-scroll{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.flow-scroll::-webkit-scrollbar{display:none}

/* ═══════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════ */
@media(max-width:1023px){
  .g2{grid-template-columns:1fr !important;gap:28px !important}
  .g3{grid-template-columns:1fr !important;gap:24px !important}
  .g4{grid-template-columns:1fr 1fr !important}
  .sec,.sec-alt{padding-top:60px;padding-bottom:60px}
  .hero{padding:64px 0 56px}
}
@media(max-width:767px){
  .g2{grid-template-columns:1fr !important;gap:24px !important}
  .g4{grid-template-columns:1fr 1fr !important}
  .hero{padding:52px 0 44px}
  .sec,.sec-alt{padding-top:52px;padding-bottom:52px}
}
@media(max-width:640px){
  [style*="1.1fr 0.9fr"]{grid-template-columns:1fr !important;gap:28px !important}
  .hero{padding:52px 0 44px}
}
@media(max-width:480px){
  [style*="grid-template-columns:1fr 1fr;gap:10px"]{grid-template-columns:1fr !important}
  [style*="grid-template-columns:1fr auto;gap:10px"]{grid-template-columns:1fr !important;gap:8px}
}
