:root{
  --ink:#17212a;
  --navy:#10273a;
  --navy-deep:#0b1b29;
  --blue:#2c5fa8;
  --paper:#ffffff;
  --off:#f5f6f4;
  --line:#dfe4e7;
  --muted:#64717b;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.6}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.container{width:min(var(--max),calc(100% - 48px));margin:0 auto}
.kicker{margin:0 0 14px;color:#c6d8ea;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.kicker.dark{color:var(--blue)}
h1,h2,h3{font-family:"Source Serif 4",Georgia,serif;margin:0;color:inherit;font-weight:700;letter-spacing:-.025em}
h1{font-size:clamp(45px,5.2vw,66px);line-height:1.03;max-width:720px}
h2{font-size:clamp(35px,4vw,50px);line-height:1.08}
h3{font-size:24px;line-height:1.2}

.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(20,39,55,.10);backdrop-filter:blur(10px)}
.nav-wrap{height:78px;display:flex;align-items:center;gap:32px}
.brand{width:184px;flex:0 0 auto}
.brand img{width:100%;height:auto}
.nav-links{display:flex;align-items:center;gap:27px;margin-left:auto}
.nav-links a{font-size:13px;font-weight:600;color:#35414a;transition:color .2s}
.nav-links a:hover{color:var(--blue)}
.phone-link{font-size:13px;font-weight:700;color:#fff;background:var(--navy);padding:10px 14px;border-radius:3px;white-space:nowrap}
.menu-toggle{display:none;margin-left:auto;width:42px;height:42px;padding:10px;border:0;background:transparent}
.menu-toggle span{display:block;height:2px;background:var(--navy);margin:5px 0}

.hero{background:var(--navy);color:#fff;padding:72px 0 68px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.08fr .82fr;gap:66px;align-items:center}
.hero-copy{padding:10px 0}
.hero .lead{font-size:18px;line-height:1.72;color:#d3dde4;max-width:590px;margin:24px 0 28px}
.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 19px;border-radius:3px;font-weight:700;font-size:13px;transition:transform .2s,background .2s}
.button:hover{transform:translateY(-1px)}
.button-primary{background:#fff;color:var(--navy)}
.button-dark{background:var(--navy);color:#fff}
.text-link{font-weight:700;color:#fff;font-size:13px;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:2px}
.microcopy{margin:20px 0 0;font-size:12px;color:#9fb1bd}
.hero-photo{margin:0;position:relative;background:#152f43;padding:8px;border:1px solid rgba(255,255,255,.13)}
.hero-photo img{width:100%;height:500px;object-fit:cover;object-position:center 38%}

.service-summary{border-bottom:1px solid var(--line);background:#fff}
.summary-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.summary-item{display:grid;grid-template-columns:34px 1fr;gap:13px;align-items:start;padding:24px 26px;border-right:1px solid var(--line);transition:background .2s}
.summary-item:first-child{padding-left:0}
.summary-item:last-child{border-right:0}
.summary-item:hover{background:#fafbfb}
.summary-number{font-size:11px;font-weight:700;color:#94a0a8;padding-top:2px}
.summary-item strong,.summary-item div>span{display:block}
.summary-item strong{font-size:13px;color:var(--navy)}
.summary-item div>span{margin-top:2px;color:var(--muted);font-size:12px}

.section{padding:96px 0}
.section-heading{display:grid;grid-template-columns:1.05fr .72fr;gap:88px;align-items:end;margin-bottom:46px}
.section-copy{margin:0;color:var(--muted);font-size:16px;line-height:1.75}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-card{padding:31px 30px 34px;border-right:1px solid var(--line)}
.service-card:first-child{padding-left:0}
.service-card:last-child{border-right:0}
.card-label{display:block;color:var(--blue);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin-bottom:18px}
.service-card p{margin:12px 0 0;color:var(--muted);font-size:15px;line-height:1.7}

.maintenance-section{background:var(--off);padding:92px 0}
.maintenance-grid{display:grid;grid-template-columns:1fr .76fr;gap:92px;align-items:start}
.maintenance-copy>p:not(.kicker){font-size:16px;line-height:1.78;color:#59656e;max-width:680px;margin:22px 0 0}
.maintenance-list{border-top:1px solid #cfd6d9}
.maintenance-list>div{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:center;padding:21px 0;border-bottom:1px solid #cfd6d9}
.maintenance-list>div span{font-size:11px;color:#8a969e;font-weight:700}
.maintenance-list>div strong{font-size:14px;color:#24313a}
.plain-cta{display:inline-block;margin-top:25px;font-size:13px;font-weight:700;color:var(--navy);border-bottom:1px solid #9ca9b1;padding-bottom:2px}

.about-section{background:#fff}
.about-grid{display:grid;grid-template-columns:.92fr 1fr;gap:78px;align-items:center}
.about-photo{margin:0;overflow:hidden}
.about-photo img{width:100%;height:465px;object-fit:cover;object-position:center 38%}
.about-copy>p:not(.kicker){color:var(--muted);font-size:16px;line-height:1.75;margin:20px 0 0}
.about-copy .button{margin-top:27px}

.area-section{background:var(--navy-deep);color:#fff;padding:76px 0}
.area-grid{display:grid;grid-template-columns:1fr .75fr;gap:92px;align-items:end}
.area-copy p{margin:0;color:#bfd0dc;font-size:16px;line-height:1.75}
.area-copy a{display:inline-block;margin-top:20px;color:#fff;font-weight:700;font-size:13px;border-bottom:1px solid rgba(255,255,255,.45)}

footer{background:#08141e;color:#aab7c1;padding:46px 0 36px;border-top:1px solid rgba(255,255,255,.06)}
.footer-grid{display:grid;grid-template-columns:1.35fr .75fr 1fr;gap:54px;position:relative;padding-bottom:44px}
.footer-brand img{width:195px;filter:brightness(0) invert(1);opacity:.92}
.footer-brand p{font-size:12px;line-height:1.7;margin:15px 0 0}
.footer-nav,.footer-contact{display:flex;flex-direction:column;gap:7px;font-size:12px}
.footer-nav strong,.footer-contact strong{color:#fff;margin-bottom:3px;font-size:12px}
.footer-nav a:hover,.footer-contact a:hover{color:#fff}
.footer-meta{position:absolute;left:0;right:0;bottom:0;padding-top:15px;border-top:1px solid rgba(255,255,255,.08);font-size:11px}

.reveal{opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease}
.reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

@media(max-width:900px){
  .container{width:min(var(--max),calc(100% - 34px))}
  .nav-links,.phone-link{display:none}
  .menu-toggle{display:block}
  .nav-links.open{display:flex;position:absolute;left:0;right:0;top:78px;background:#fff;border-bottom:1px solid var(--line);padding:20px 17px;flex-direction:column;align-items:flex-start;gap:16px}
  .hero-grid,.section-heading,.maintenance-grid,.about-grid,.area-grid{grid-template-columns:1fr;gap:42px}
  .hero{padding-top:52px}
  .hero-photo{max-width:620px}
  .hero-photo img{height:480px}
  .section-heading{align-items:start}
  .service-grid{grid-template-columns:1fr}
  .service-card,.service-card:first-child{padding:26px 0;border-right:0;border-bottom:1px solid var(--line)}
  .service-card:last-child{border-bottom:0}
  .about-photo img{height:430px}
  .area-grid{align-items:start}
  .footer-grid{grid-template-columns:1fr 1fr;gap:38px}
  .footer-brand{grid-column:1/-1}
}
@media(max-width:620px){
  .container{width:min(var(--max),calc(100% - 26px))}
  .nav-wrap{height:70px}
  .brand{width:155px}
  .nav-links.open{top:70px}
  h1{font-size:43px}
  h2{font-size:35px}
  .hero{padding:44px 0 48px}
  .hero .lead{font-size:16px}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:16px}
  .hero-photo img{height:395px}
  .summary-grid{grid-template-columns:1fr}
  .summary-item,.summary-item:first-child{padding:17px 0;border-right:0;border-bottom:1px solid var(--line)}
  .summary-item:last-child{border-bottom:0}
  .section,.maintenance-section{padding:72px 0}
  .section-heading{margin-bottom:32px}
  .maintenance-list>div{padding:18px 0}
  .about-photo img{height:340px}
  .area-section{padding:62px 0}
  .footer-grid{grid-template-columns:1fr;gap:27px}
  .footer-brand{grid-column:auto}
}
