:root{
  --blue:#087ff5;
  --blue-dark:#0564c7;
  --ink:#111317;
  --muted:#68717c;
  --light:#f5f7fa;
  --white:#fff;
  --max:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(calc(100% - 48px),var(--max));margin:auto}
.site-header{position:absolute;z-index:20;left:0;right:0;top:0;color:#fff}
.nav-wrap{height:92px;display:flex;align-items:center;justify-content:space-between}
.brand img{width:155px;height:auto}
.main-nav{display:flex;gap:34px;font-size:14px;font-weight:600}
.main-nav a{padding:8px 0;opacity:.96}
.menu-toggle{display:none;background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff;border-radius:6px;padding:8px 12px}
.hero{min-height:760px;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}
.hero-image,.photo{background-position:center;background-size:cover}
.hero-image{position:absolute;inset:0;background-image:url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=2200&q=85")}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.30) 58%,rgba(0,0,0,.12))}
.hero-content{position:relative;padding-top:80px}
.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:800;margin:0 0 16px;text-transform:uppercase;color:var(--blue)}
.hero .eyebrow{color:#fff}
h1,h2,h3{line-height:1.08;margin:0 0 22px;letter-spacing:-.035em}
h1{font-size:clamp(48px,7vw,86px);max-width:900px}
h2{font-size:clamp(38px,5vw,64px)}
h3{font-size:25px}
.hero-copy{font-size:19px;max-width:590px;margin:0 0 32px}
.button{display:inline-flex;align-items:center;justify-content:center;border-radius:3px;padding:14px 24px;font-weight:700}
.button-primary{background:var(--blue);color:#fff}
.button-light{background:#fff;color:var(--ink)}
.section{padding:110px 0}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}
.body-copy{font-size:18px;color:#4d5660}
.body-copy p{margin:0 0 22px}
.text-link{color:var(--blue);font-weight:700}
.dark-section{background:#111317;color:#fff}
.dark-section .body-copy{color:#c8ced5}
.feature-list{display:grid;gap:22px;margin-top:30px}
.feature-list div{display:grid;grid-template-columns:150px 1fr;gap:15px;border-top:1px solid rgba(255,255,255,.16);padding-top:17px}
.feature-list strong{color:#fff}
.section-heading{max-width:760px;margin-bottom:55px}
.section-heading>p:last-child{font-size:18px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:var(--light);padding:34px;min-height:220px}
.card p{color:var(--muted);margin:0}
.photo-section{display:grid;grid-template-columns:1.25fr .75fr;min-height:520px}
.photo-one{background-image:url("https://images.unsplash.com/photo-1497366216548-37526070297c?auto=format&fit=crop&w=1600&q=85")}
.photo-copy{padding:80px;display:flex;justify-content:center;flex-direction:column;background:var(--blue);color:#fff}
.photo-copy .eyebrow{color:#fff}
.photo-copy p:last-child{max-width:480px;font-size:18px}
.photo-two{min-height:480px;background-image:url("https://images.unsplash.com/photo-1521737711867-e3b97375f902?auto=format&fit=crop&w=1600&q=85")}
.cta{background:var(--blue);color:#fff}
.cta .eyebrow{color:#fff}
.cta-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}
.site-footer{background:#0b0d10;color:#fff;padding:75px 0 25px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;padding-bottom:60px}
.footer-logo{width:135px;margin-bottom:20px}
.site-footer p,.site-footer a{color:#9da5ae}
.site-footer h3{font-size:16px;letter-spacing:0}
.site-footer nav,.site-footer div> a{display:block;margin:8px 0}
.copyright{border-top:1px solid #252a30;padding-top:20px;color:#737b84;font-size:13px}
@media(max-width:800px){
  .container{width:min(calc(100% - 32px),var(--max))}
  .nav-wrap{height:78px}
  .brand img{width:125px}
  .menu-toggle{display:block}
  .main-nav{display:none;position:absolute;top:78px;left:16px;right:16px;padding:18px;background:#111317;border-radius:6px;flex-direction:column;gap:8px}
  .main-nav.open{display:flex}
  .hero{min-height:680px}
  .hero-content{padding-top:70px}
  .two-col,.cards,.photo-section,.footer-grid{grid-template-columns:1fr}
  .section{padding:75px 0}
  .photo-copy{padding:60px 32px;min-height:360px}
  .photo-two{min-height:340px}
  .cta-inner{display:grid}
  .feature-list div{grid-template-columns:1fr}
}
