@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("fonts/montserrat-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("fonts/montserrat-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--navy:#1f2f44;--gray:#777b7d;--light:#f2f3f3;--white:#fff;--line:rgba(31,47,68,.24);}
*{box-sizing:border-box} html{scroll-behavior:smooth;scroll-padding-top:max(97px,min(156px,calc(22vw + 1px)))}
body{margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--navy);background:#fff;line-height:1.55}
.wrap{width:min(1180px,calc(100% - 48px));margin:auto}
.topnote{background:var(--navy);color:white;text-align:center;padding:9px 20px;font-size:12px;letter-spacing:.04em}
header{background:#fff;border-bottom:1px solid #e6e8ea;position:sticky;top:0;z-index:10}
.nav{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.logo{width:250px;max-width:44vw;display:block}
nav a{color:var(--navy);text-decoration:none;font-size:13px;font-weight:600;margin-left:28px}
.hero{background:var(--light);padding:70px 0 58px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}
.kicker{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);margin-bottom:17px}
h1{font-size:clamp(36px,4.3vw,62px);line-height:1.08;letter-spacing:-.035em;margin:0 0 24px;max-width:820px}
.lead{font-size:18px;max-width:760px;margin:0 0 30px;color:#3e4a58}
.btn{display:inline-block;background:var(--navy);color:white;text-decoration:none;padding:14px 21px;font-size:13px;font-weight:600}
.hero-card{border-left:1px solid var(--navy);padding:12px 0 12px 34px}
.hero-card strong{display:block;font-size:22px;margin-bottom:10px}
.hero-card p{margin:0;color:#4d5965;font-size:14px}
.stats{background:#fff;border-bottom:1px solid #e7e9ea}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.stat{padding:30px 28px;border-right:1px solid #e7e9ea}
.stat:last-child{border-right:0}
.stat b{display:block;font-size:28px;line-height:1.1;margin-bottom:7px}
.stat span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--gray)}
section{padding:76px 0}
.section-head{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;margin-bottom:42px}
h2{font-size:clamp(28px,3vw,43px);line-height:1.13;letter-spacing:-.025em;margin:0}
.section-head p{margin:0;font-size:16px;color:#4b5662;max-width:720px}
.services{background:#777b7d}
.services .kicker,.services h2,.services .section-head p{color:white}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.service{background:#777b7d;border:1px solid #1f2f44;padding:34px;min-height:270px;color:white}
.service h3{font-size:23px;margin:0 0 16px;color:white}
.service p{margin:0 0 14px;font-size:14px}
.service ul{margin:17px 0 0;padding-left:18px;font-size:13px}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.quote{font-size:30px;line-height:1.28;font-weight:600;letter-spacing:-.02em;margin:0}
.why-copy p{margin:0 0 18px;color:#46515d}
.principle{border-top:1px solid var(--line);padding-top:18px;font-weight:600}
.contact{background:var(--navy);color:#fff;padding:64px 0}
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}
.contact h2{font-size:40px;margin-bottom:14px}
.contact p{color:#dce1e5;max-width:700px}
.contact a{color:#fff}
.details{font-size:13px;line-height:1.8;border-left:1px solid rgba(255,255,255,.35);padding-left:28px}
footer{background:#172433;color:#bac1c8;padding:20px 0;font-size:11px}
.footer-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
footer a{color:#d8dde1}
@media(max-width:800px){
 html{scroll-padding-top:max(79px,min(116px,calc(22vw + 1px)))}
 .wrap{width:min(100% - 30px,1180px)} .nav{min-height:78px} .logo{width:190px}
 nav{display:none} .hero{padding:48px 0} .hero-grid,.section-head,.why-grid,.contact-grid{grid-template-columns:1fr;gap:28px}
 .hero-card{border-left:0;border-top:1px solid var(--navy);padding:24px 0 0}
 .stats-grid{grid-template-columns:1fr} .stat{border-right:0;border-bottom:1px solid #e7e9ea;padding:22px 0}
 .service-grid{display:block} .service{min-height:0} .service+.service{margin-top:24px} section{padding:56px 0} .contact h2{font-size:31px} .details{border-left:0;padding-left:0}
}
.contact-kicker{color:#aeb7bf}
.contact .contact-button{background:#fff;color:var(--navy);margin-top:10px}

.legal{padding:65px 0 85px;max-width:900px;hyphens:auto;overflow-wrap:anywhere} .legal h1{font-size:clamp(28px,7vw,42px)} .legal h2{font-size:22px;margin:34px 0 12px}
.legal h3{font-size:16px;margin:24px 0 8px} .legal p,.legal li{font-size:14px;color:#46515d}
.back{display:inline-block;margin-bottom:30px;color:#1f2f44;text-decoration:none;font-weight:600;font-size:13px}
