:root{--ink:#0c1b2a;--ink2:#16304a;--teal:#0f8b8d;--amber:#f0a202;--paper:#f6f7f5;--line:#d6dbd8;--mut:#4d5b66;--w:1120px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font:17px/1.6 "Source Sans 3",system-ui,Segoe UI,Arial,sans-serif;color:var(--ink);background:#fff}
h1,h2,h3{font-family:"Archivo",Arial Narrow,Arial,sans-serif;line-height:1.12;letter-spacing:-.01em}
h1{font-size:clamp(2.2rem,5.5vw,3.9rem);font-weight:800}
h2{font-size:clamp(1.6rem,3.2vw,2.3rem);font-weight:700;margin-bottom:.6rem}
h3{font-size:1.15rem;font-weight:700;margin-bottom:.4rem}
a{color:var(--teal)}p{max-width:68ch}
.wrap{max-width:var(--w);margin:0 auto;padding:0 20px}
section{padding:72px 0}.alt{background:var(--paper)}.dark{background:var(--ink);color:#e8eef2}
.dark h2,.dark h3{color:#fff}.lead{font-size:1.15rem;color:var(--mut)}.dark .lead{color:#b9c7d1}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
/* header */
.top{background:var(--ink);color:#cfdae2;font-size:.9rem}
.top .wrap{display:flex;justify-content:flex-end;gap:24px;padding-top:7px;padding-bottom:7px;flex-wrap:wrap}
.top a{color:#fff;text-decoration:none}
header.nav{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid var(--line)}
header.nav .wrap{display:flex;align-items:center;justify-content:space-between;min-height:68px}
.logo img{height:44px;display:block}
nav ul{display:flex;gap:6px;list-style:none;align-items:center}
nav a{display:block;padding:8px 14px;color:var(--ink);text-decoration:none;font-weight:600;border-radius:4px}
nav a:hover,nav a[aria-current]{background:var(--paper);box-shadow:inset 0 -3px var(--teal)}
nav a.cta{background:var(--amber);box-shadow:none}
.burger{display:none;background:none;border:1px solid var(--line);padding:8px 12px;font:inherit;font-weight:600;border-radius:4px}
@media(max-width:820px){.burger{display:block}nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line)}nav.open{display:block}nav ul{flex-direction:column;align-items:stretch;padding:10px 20px}}
/* buttons */
.btn{display:inline-block;padding:13px 24px;background:var(--amber);color:var(--ink);font-weight:700;text-decoration:none;border-radius:4px;border:0;font-size:1rem;cursor:pointer}
.btn.ghost{background:none;color:#fff;border:2px solid #5d7387;margin-left:10px}
.btn:hover{filter:brightness(1.08)}
/* hero */
.hero{background:var(--ink);color:#fff;padding:84px 0 76px}
.hero .grid{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center}
.hero p.lead{margin:20px 0 30px;color:#b9c7d1}
.hero .actions{display:flex;flex-wrap:wrap;gap:10px}.hero .btn.ghost{margin:0}
.stack{border:1px solid #2c4660;border-radius:6px;background:var(--ink2)}
.stack div{padding:22px 26px;border-bottom:1px solid #2c4660;display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.stack div:last-child{border:0;background:var(--teal)}
.stack b{font-family:Archivo,Arial,sans-serif;font-size:1.35rem}.stack span{color:#b9c7d1;font-size:.95rem;text-align:right}
.stack div:last-child span{color:#fff}
@media(max-width:820px){.hero .grid{grid-template-columns:1fr}}
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.facts div{padding:24px 20px;border-right:1px solid var(--line)}.facts div:last-child{border:0}
.facts b{display:block;font:800 1.7rem Archivo,Arial,sans-serif}.facts span{color:var(--mut);font-size:.95rem}
@media(max-width:700px){.facts{grid-template-columns:1fr 1fr}.facts div{border-bottom:1px solid var(--line)}}
/* grids */
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:26px;margin-top:34px}
.cap{border-left:4px solid var(--teal);padding:4px 0 4px 20px}.cap p{color:var(--mut);font-size:.98rem}
.cap.s{border-color:var(--amber)}
ul.tick{list-style:none;margin:10px 0}ul.tick li{padding:5px 0 5px 24px;position:relative}
ul.tick li:before{content:"";position:absolute;left:0;top:14px;width:12px;height:3px;background:var(--teal)}
/* process */
ol.steps{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(6,1fr);margin-top:36px;border-top:3px solid var(--teal)}
ol.steps li{counter-increment:s;padding:18px 14px 0 0;position:relative;font-size:.95rem;color:#b9c7d1}
ol.steps li:before{content:counter(s);position:absolute;top:-17px;left:0;width:30px;height:30px;background:var(--amber);color:var(--ink);font:800 .95rem/30px Archivo,Arial,sans-serif;text-align:center;border-radius:50%}
ol.steps li b{display:block;color:#fff;margin:12px 0 4px;font-family:Archivo,Arial,sans-serif;font-size:1.05rem}
@media(max-width:900px){ol.steps{grid-template-columns:1fr;border-top:0;border-left:3px solid var(--teal);margin-left:15px}ol.steps li{padding:0 0 22px 28px}ol.steps li:before{top:0;left:-17px}ol.steps li b{margin-top:0}}
.clients{display:flex;flex-wrap:wrap;gap:0;margin-top:26px;border:1px solid var(--line);background:#fff}
.clients span{flex:1 1 220px;padding:16px 20px;border:1px solid var(--line);font-weight:600}
.two{display:grid;grid-template-columns:1fr 1fr;gap:48px}@media(max-width:820px){.two{grid-template-columns:1fr}}
.band{background:var(--teal);color:#fff;padding:52px 0}.band .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.band h2{margin:0}
.tag{display:inline-block;padding:3px 10px;border:1px solid var(--line);border-radius:20px;font-size:.88rem;margin:3px 4px 3px 0;color:var(--mut)}
.pagehead{background:var(--ink);color:#fff;padding:56px 0}.pagehead p{color:#b9c7d1;margin-top:12px}
.svc{display:grid;grid-template-columns:240px 1fr;gap:40px;padding:56px 0;border-top:1px solid var(--line)}.svc:first-of-type{border:0}
@media(max-width:820px){.svc{grid-template-columns:1fr;gap:10px}}
form{display:grid;gap:14px}label{font-weight:600;display:grid;gap:4px}
input,textarea{font:inherit;padding:11px;border:1px solid #9aa7ae;border-radius:4px;width:100%}
iframe{width:100%;height:340px;border:1px solid var(--line);margin-top:24px}
/* footer */
footer{background:#07121c;color:#a9b8c3;padding:52px 0 24px;font-size:.95rem}
footer .cols{margin-top:0;gap:36px}footer h3{color:#fff;font-size:1rem}footer a{color:#cfdae2;text-decoration:none}footer li{list-style:none;padding:2px 0}
.copy{margin-top:34px;padding-top:18px;border-top:1px solid #1f3346;font-size:.88rem}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}