html[data-preset="primary"]{
  --bg:#F4F7FC; --surface:#FFFFFF; --surface-2:#EAF0F8;
  --primary:#2b498d; --primary-2:#3D63B8; --accent:#00A6CE; --gold:#E0A23B;
  --deep:#0B1B3A; --on-deep:#E8EEF8; --on-deep-muted:#9FB2D4;
  --text:#16213D; --muted:#5B6B8C; --line:rgba(43,73,141,.14);
  --font-head:'Inter Tight',sans-serif; --font-drama:'Space Grotesk',sans-serif; --font-mono:'JetBrains Mono',monospace;
  --drama-style:normal;
  --dur:.6s; --ease:power2.out; --stagger:.08; --y:34px;
  --radius:14px; --radius-lg:20px; --pill:9999px;
}

*{ -webkit-font-smoothing:antialiased; }
html{ scroll-behavior:smooth; }
body{ background:var(--bg); color:var(--text); font-family:var(--font-head); overflow-x:hidden; }
.font-drama{ font-family:var(--font-drama); font-style:var(--drama-style); }
.font-mono{ font-family:var(--font-mono); }
.text-primary{ color:var(--primary); } .text-accent{ color:var(--accent); }
.text-muted{ color:var(--muted); } .text-gold{ color:var(--gold); }
.bg-surface{ background:var(--surface); } .bg-surface-2{ background:var(--surface-2); }
.bg-deep{ background:var(--deep); } .bg-primary{ background:var(--primary); }
.on-deep{ color:var(--on-deep); }
.rounded-card{ border-radius:var(--radius-lg); }
.border-line{ border-color:var(--line); }

.noise{ position:fixed; inset:0; z-index:60; pointer-events:none; opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
#progress{ position:fixed; top:0; left:0; height:3px; width:0%; z-index:70; background:linear-gradient(90deg,var(--primary),var(--accent)); }

.btn{ position:relative; overflow:hidden; display:inline-flex; align-items:center; gap:.55rem;
  font-weight:600; letter-spacing:.01em; border-radius:var(--pill);
  transition:transform .3s cubic-bezier(.25,.46,.45,.94), box-shadow .3s ease; }
.btn:hover{ transform:scale(1.03) translateY(-1px); }
.btn .fill{ position:absolute; inset:0; transform:translateX(-101%); transition:transform .4s cubic-bezier(.25,.46,.45,.94); z-index:0; }
.btn:hover .fill{ transform:translateX(0); }
.btn > span.lbl{ position:relative; z-index:1; display:inline-flex; align-items:center; gap:.5rem; }
.btn-primary{ background:var(--primary); color:#fff; padding:.95rem 1.8rem; box-shadow:0 10px 30px -12px rgba(43,73,141,.6); }
.btn-primary .fill{ background:var(--accent); }
.btn-accent{ background:var(--accent); color:#04202b; padding:.95rem 1.8rem; }
.btn-accent .fill{ background:#fff; }
.btn-ghost{ background:transparent; color:var(--on-deep); border:1px solid rgba(255,255,255,.4); padding:.9rem 1.7rem; }
.btn-ghost .fill{ background:rgba(255,255,255,.14); }

.eyebrow{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.28em; text-transform:uppercase; color:var(--accent); }
.card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-lg);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
.card:hover{ transform:translateY(-5px); box-shadow:0 24px 50px -28px rgba(11,27,58,.5); border-color:var(--accent); }

#nav{ transition:all .4s ease; background:color-mix(in srgb,var(--surface) 90%,transparent);
  backdrop-filter:blur(18px); border-bottom:1px solid var(--line); }
#nav.scrolled{ background:color-mix(in srgb,var(--surface) 97%,transparent); box-shadow:0 12px 40px -24px rgba(11,27,58,.6); }
.navlink{ position:relative; }
.navlink::after{ content:''; position:absolute; left:0; bottom:-4px; height:2px; width:0; background:var(--accent); transition:width .3s ease; }
.navlink:hover::after{ width:100%; }

.reveal{ opacity:0; transform:translateY(var(--y)); }
.logo-cell{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg);
  display:flex; align-items:center; justify-content:center; padding:1.5rem 1.75rem; height:120px;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
.logo-cell:hover{ transform:translateY(-4px); box-shadow:0 22px 44px -26px rgba(11,27,58,.5); border-color:var(--accent); }
.logo-cell img{ height:44px; max-width:100%; width:auto; object-fit:contain; }

.svc-list li{ position:relative; padding-left:1.6rem; }
.svc-list li::before{ content:''; position:absolute; left:0; top:.55em; width:7px; height:7px; border-radius:2px; background:var(--accent); }

input,select{ font-family:var(--font-head); }
.field{ background:var(--surface-2); border:1px solid var(--line); border-radius:var(--radius);
  padding:.8rem 1rem; width:100%; color:var(--text); outline:none; transition:border .25s; }
.field:focus{ border-color:var(--accent); }

.stat-num{ font-family:var(--font-mono); font-weight:700; line-height:1; }
.section-py{ padding-top:clamp(4.5rem,9vw,8rem); padding-bottom:clamp(4.5rem,9vw,8rem); }
.kicker-line{ width:46px; height:2px; background:var(--accent); display:inline-block; vertical-align:middle; }
