:root { --canvas:#fcfcfb; --paper:#efefeb; --ink:#14181d; --body:#565f6b; --hair:#e5e5e1; --blue:#1b63b6; --night:#112943; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--canvas); color:var(--ink); font-family:"Instrument Sans",system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
a:focus-visible { outline:2px solid var(--blue); outline-offset:4px; }
.wrap { width:min(1160px,calc(100% - 48px)); margin-inline:auto; }
.eyebrow { margin:0; color:var(--blue); font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.display { max-width:10ch; margin:22px 0 0; font-size:clamp(50px,6.8vw,88px); font-weight:600; letter-spacing:-.055em; line-height:.93; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 26px; border-radius:999px; background:var(--ink); color:#fff; font-size:13px; font-weight:600; transition:background .2s ease,transform .2s ease; }
.button:hover { background:var(--blue); transform:translateY(-1px); }
.button-blue { background:var(--blue); }

.site-nav { position:sticky; top:0; z-index:20; border-bottom:1px solid var(--hair); background:rgba(252,252,251,.94); backdrop-filter:blur(10px); }
.nav-inner { height:80px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand img { width:210px; height:auto; }
.nav-links { display:flex; align-items:center; gap:23px; color:var(--body); font-size:13px; font-weight:500; }
.nav-links a:hover,.phone:hover { color:var(--blue); }
.nav-actions { display:flex; align-items:center; gap:16px; }
.phone { font-size:13px; font-weight:600; white-space:nowrap; }

.hero { padding:64px 0 76px; background:var(--paper); }
.hero-grid { display:grid; grid-template-columns:.94fr 1.06fr; gap:68px; align-items:center; }
.hero .display { max-width:12ch; margin-top:0; }
.hero-sub { max-width:55ch; margin:28px 0 0; color:var(--body); font-size:19px; line-height:1.7; }
.hero-sub + .hero-sub { margin-top:16px; font-size:16px; }
.hero-sub a { color:var(--blue); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.hero-note { max-width:55ch; margin:22px 0 0; padding-left:20px; border-left:3px solid var(--blue); color:var(--ink); font-size:15px; line-height:1.7; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin-top:31px; }
.hero-phone { color:var(--body); font-size:14px; font-weight:600; }
.hero-photo { position:relative; min-height:650px; margin:0; overflow:hidden; background:#a6a19b; }
.hero-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-photo figcaption { position:absolute; left:0; bottom:0; width:min(370px,80%); padding:23px 26px; background:var(--night); color:rgba(255,255,255,.78); font-size:13px; line-height:1.58; }

.inspection-context h2,.recognition h2,.testimonial h2,.cta h2 { margin:18px 0 0; font-size:clamp(39px,4.8vw,61px); font-weight:600; letter-spacing:-.043em; line-height:1; }

.testimonial .eyebrow { color:#75b8f4; }

.inspection-context { padding:110px 0 118px; background:#fff; }
.inspection-context-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:92px; align-items:start; }
.inspection-context h2 { max-width:13ch; }
.inspection-context-intro { max-width:48ch; margin:28px 0 0; color:var(--body); font-size:16px; line-height:1.75; }
.inspection-path { border-top:1px solid var(--hair); }
.inspection-path article { display:grid; grid-template-columns:86px 1fr; gap:12px 28px; padding:25px 0; border-bottom:1px solid var(--hair); }
.inspection-path span { grid-row:1 / 3; padding-top:4px; color:var(--blue); font-size:10px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.inspection-path h3 { margin:0; font-size:21px; font-weight:600; letter-spacing:-.025em; }
.inspection-path p { margin:0; color:var(--body); font-size:14px; line-height:1.68; }

.recognition { padding:110px 0 118px; }
.recognition-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:92px; align-items:center; }
.recognition h2 { max-width:13ch; }
.recognition h2,.cta h2 { margin-top:0; }
.recognition-intro { max-width:46ch; margin:28px 0 0; color:var(--body); font-size:16px; line-height:1.75; }
.recognition-list-intro { margin-top:14px; color:var(--ink); font-weight:600; }
.recognized-by { display:flex; flex-wrap:wrap; gap:10px; border-top:1px solid var(--hair); padding-top:22px; }
.recognized-by p { margin:0; padding:10px 14px; border:1px solid var(--hair); border-radius:6px; background:var(--paper); color:var(--ink); font-size:14px; font-weight:600; line-height:1.35; letter-spacing:0; }
.recognized-by p::before { display:none; }

.testimonial { padding:105px 0; background:var(--night); color:#fff; }
.testimonial-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:90px; }
.testimonial h2 { max-width:12ch; }
.testimonial blockquote { margin:0; padding-left:30px; border-left:3px solid #3c8bd5; }
.testimonial blockquote > p { max-width:28ch; margin:0; font-size:clamp(27px,3.3vw,42px); font-weight:500; letter-spacing:-.035em; line-height:1.22; }
.testimonial blockquote footer { margin-top:27px; color:rgba(255,255,255,.65); font-size:14px; }
.testimonial blockquote a { display:inline-block; margin-top:24px; color:#75b8f4; font-size:13px; font-weight:600; }

.cta { padding:96px 0; background:var(--paper); border-top:1px solid var(--hair); }
.cta-grid { display:grid; grid-template-columns:1fr auto; gap:58px; align-items:end; }
.cta h2 { max-width:15ch; }
.cta p:last-child { max-width:58ch; margin:22px 0 0; color:var(--body); font-size:16px; line-height:1.72; }

.site-footer { padding:64px 0 34px; background:var(--ink); color:#fff; }
.footer-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:60px; }
.footer-brand { width:240px; filter:brightness(0) invert(1); }
.footer-copy { max-width:36ch; margin:24px 0 0; color:rgba(255,255,255,.58); font-size:13px; line-height:1.7; }
.footer-title { margin:0 0 18px; color:rgba(255,255,255,.46); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.footer-links { display:grid; gap:12px; font-size:14px; }
.footer-links a:hover { color:#75b8f4; }
.legal { margin-top:54px; padding-top:26px; border-top:1px solid rgba(255,255,255,.14); color:rgba(255,255,255,.44); font-size:11px; line-height:1.7; }

@media (max-width:1080px) { .nav-links { display:none; } }
@media (max-width:960px) {
  .hero-grid,.inspection-context-grid,.recognition-grid,.testimonial-grid { grid-template-columns:1fr; gap:44px; }
  .hero-photo { max-width:760px; min-height:560px; }
}
@media (max-width:700px) {
  .wrap { width:min(100% - 32px,1160px); }
  .site-nav .phone { display:none; }
  .brand img { width:180px; }
  .nav-inner { height:72px; }
  .nav-actions .button { min-height:42px; padding:0 16px; }
  .hero { padding:48px 0 58px; }
  .display { font-size:clamp(45px,13vw,66px); }
  .hero-photo { min-height:460px; }
  .inspection-context,.recognition,.testimonial,.cta { padding:78px 0; }
  .cta-grid,.footer-grid { grid-template-columns:1fr; }
  .testimonial blockquote { padding-left:22px; }
  .footer-grid { gap:40px; }
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *{transition:none!important} }
