:root { --blue:#174ea6; --blue-bright:#2563c7; --navy:#071b3d; --ink:#101114; --muted:#6e6e73; --paper:#fff; --soft:#f5f5f7; --line:rgba(0,0,0,.14); --max:1024px; color:var(--ink); background:var(--paper); }
body { min-width:320px; overflow-x:hidden; background:var(--paper); color:var(--ink); }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline-color:#68a4ff; }
.site-header { width:100%; max-width:none; height:44px; padding:0 max(22px,calc((100vw - var(--max))/2 + 22px)); position:sticky; top:0; z-index:20; border-bottom:1px solid rgba(0,0,0,.06); background:rgba(250,250,252,.9); backdrop-filter:saturate(180%) blur(18px); }
.brand { width:150px; min-height:44px; }
.brand img { display:block; width:145px; height:auto; object-fit:contain; }
.brand-mark { display:none; }
.site-header nav { gap:34px; color:#303033; font-size:12px; }
.site-header nav a:hover,.site-header nav a[aria-current=page] { color:var(--blue); }
.nav-cta { min-height:30px; padding:6px 14px; border:0; border-radius:999px; background:var(--blue); color:#fff!important; font-weight:650; }
.nav-cta:hover { background:var(--blue-bright); color:#fff!important; }
.menu-toggle { color:var(--ink); border:0; background:transparent; }
.hero.product-hero { width:100%; max-width:none; min-height:700px; padding:110px max(24px,calc((100vw - var(--max))/2 + 24px)); justify-content:center; overflow:hidden; background:#fff; border-radius:0; }
.hero.product-hero::after { content:""; position:absolute; right:max(24px,calc((100vw - var(--max))/2)); bottom:50px; width:min(34vw,430px); aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 35% 32%,rgba(104,164,255,.65),rgba(23,78,166,.2) 34%,rgba(7,27,61,.03) 66%,transparent 70%); filter:blur(2px); pointer-events:none; }
.hero.product-hero .eyebrow,.section .eyebrow,.cta-band .eyebrow,.contact-layout .eyebrow { color:var(--blue); font-size:14px; letter-spacing:-.01em; text-transform:none; }
.hero.product-hero h1 { max-width:820px; margin:.2rem 0 1.4rem; color:var(--ink); font-size:clamp(50px,7vw,84px); line-height:.98; letter-spacing:-.064em; position:relative; z-index:1; }
.hero.product-hero .hero-copy { max-width:600px; color:#27272a; font-size:clamp(19px,2vw,25px); line-height:1.42; position:relative; z-index:1; }
.actions { position:relative; z-index:1; }
.button { min-height:44px; padding:10px 20px; border-radius:999px; font-size:15px; font-weight:650; }
.button-primary { background:var(--blue); color:#fff; } .button-primary:hover { background:var(--blue-bright); }
.text-link { color:var(--blue); }
.section,.section-wide { max-width:var(--max); padding:128px 24px; color:var(--ink); }
.section h2,.cta-band h2 { color:var(--ink); font-size:clamp(44px,6vw,72px); line-height:1; letter-spacing:-.058em; }
.service-intro>div:last-child,.split-copy>div:last-child,.work-steps p,.legal>p:not(.eyebrow),.lead,.contact-note { color:var(--muted); font-size:18px; }
.price-note { color:var(--ink)!important; } .price-note strong { color:var(--blue); }
.section-dark { background:var(--navy); color:#fff; }
.section-dark .section,.section-dark h2 { color:#fff; }
.section-dark .eyebrow { color:#86b4ff; }
.three-cards { gap:18px; }
.three-cards article { min-height:270px; padding:34px; border:1px solid rgba(255,255,255,.12); border-radius:26px; background:rgba(255,255,255,.08); }
.three-cards h3 { margin:54px 0 12px; color:#fff; font-size:30px; letter-spacing:-.05em; }
.three-cards p { color:#c7d5ea; font-size:17px; line-height:1.45; }
.card-number { color:#86b4ff; }
.cta-band { min-height:520px; padding:120px max(24px,calc((100vw - var(--max))/2 + 24px)); display:flex; flex-direction:column; align-items:center; justify-content:center; background:var(--soft); color:var(--ink); }
.cta-band h2 { max-width:850px; }
.cta-band .button-light { background:var(--blue); color:#fff; }
.journey { border-color:var(--line); } .journey li,.work-steps li { border-color:var(--line); }
.journey b,.work-steps span { color:var(--blue); }
.journey span { color:var(--muted); }
.notice p { border-color:var(--blue); background:rgba(23,78,166,.06); color:var(--muted); }
.status-badge { border-color:rgba(23,78,166,.35); color:var(--blue); }
.contact-layout { max-width:var(--max); padding:120px 24px; }
.contact-layout h1,.legal h1 { color:var(--ink); font-size:clamp(50px,7vw,84px); }
.contact-note { border-color:var(--blue); }
.contact-form { border:1px solid var(--line); border-radius:28px; background:var(--soft); }
.direct-contact { display:grid; gap:7px; margin-top:34px; padding-top:24px; border-top:1px solid var(--line); }
.direct-contact span { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.1em; }
.direct-contact a { color:var(--blue); text-underline-offset:5px; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field { margin:0; }
.field>span,.field label,.check { color:var(--muted); font-size:12px; font-weight:700; }
.field-wide { grid-column:1/-1; }
input,select,textarea { color:var(--ink); background:#fff; border-color:var(--line); border-radius:12px; }
.consent { display:grid; grid-template-columns:18px 1fr; gap:10px; align-items:start; margin:20px 0; color:var(--muted); font-size:12px; }
.consent input { width:18px; height:18px; margin:1px 0 0; accent-color:var(--blue); }
.project-starter .button { width:100%; }
.project-starter .button:disabled { cursor:wait; opacity:.65; }
.honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.form-assurance { margin:12px 0 0; color:var(--muted); font-size:12px; text-align:center; }
.form-status { display:grid; gap:6px; min-height:24px; margin:16px 0 0; color:var(--blue); font-size:14px; }
.form-status:empty { display:none; }
.form-status-success,.form-status-error { padding:18px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.form-status-success { border-color:rgba(23,78,166,.5); }
.form-status-error { border-color:#b45f4b; }
.form-status span { color:var(--muted); }
.form-status a { color:var(--blue); font-weight:700; }
.legal { max-width:840px; min-height:calc(100vh - 44px); }
.site-footer { width:100%; max-width:none; min-height:112px; margin:0; padding:28px max(22px,calc((100vw - var(--max))/2 + 22px)); grid-template-columns:1fr 1.5fr 1fr auto; border-top:1px solid var(--line); background:var(--soft); color:var(--muted); }
.site-footer .brand { color:var(--ink); } .site-footer a:hover { color:var(--blue); }
@media(max-width:760px) {
  .site-header { padding:0 16px; }
  .menu-toggle { min-height:44px; padding:0; }
  .site-header nav { inset:44px 0 auto; right:auto; top:auto; width:100%; padding:16px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:#fff; box-shadow:none; font-size:17px; }
  .site-header nav a { min-height:48px; display:flex; align-items:center; }
  .nav-cta { width:max-content; min-height:40px!important; margin-top:8px; }
  .hero.product-hero { min-height:620px; padding:84px 20px; }
  .hero.product-hero::after { width:70vw; right:-18vw; bottom:16px; opacity:.55; }
  .hero.product-hero h1 { font-size:clamp(42px,12vw,58px); overflow-wrap:anywhere; }
  .section,.section-wide,.contact-layout { padding:92px 20px; }
  .three-cards { grid-template-columns:1fr; }
  .service-intro,.split-copy,.contact-layout { grid-template-columns:1fr; gap:2rem; }
  .field-grid { grid-template-columns:1fr; }
  .field-wide { grid-column:auto; }
  .site-footer { grid-template-columns:1fr; padding:36px 20px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
