: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:10.5ch; margin:0; font-size:clamp(50px,6.8vw,87px); font-weight:600; letter-spacing:-.052em; line-height:.94; }
.currency-symbol { display:inline-block; margin-right:.04em; font-size:.52em; letter-spacing:0; line-height:0; vertical-align:.58em; }
.section-title { max-width:14ch; margin:0; font-size:clamp(36px,4.5vw,58px); font-weight:600; letter-spacing:-.04em; line-height:1; }
.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:1.04fr .96fr; gap:72px; align-items:center; }
.hero-service-label { margin:0 0 20px; color:var(--blue); font-size:18px; font-weight:650; line-height:1.35; }
.hero-sub { max-width:57ch; margin:28px 0 0; color:var(--body); font-size:18px; line-height:1.72; }
.hero-note { max-width:56ch; margin:21px 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:19px; 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:#d1d1cd; }
.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(330px,80%); padding:22px 25px; background:var(--night); color:rgba(255,255,255,.78); font-size:13px; line-height:1.55; }

.evidence { background:var(--blue); color:#fff; }
.evidence-grid { display:grid; grid-template-columns:1fr 1fr; }
.evidence article { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; align-content:center; min-height:210px; padding:34px 48px 34px 0; }
.evidence article + article { padding-left:48px; border-left:1px solid rgba(255,255,255,.25); }
.evidence strong { font-size:64px; font-weight:600; letter-spacing:-.055em; line-height:1; }
.evidence p { max-width:38ch; margin:0; color:rgba(255,255,255,.82); font-size:15px; line-height:1.65; }

.report { padding:112px 0; }
.report-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:92px; }
.report-copy > p { margin:0 0 22px; color:var(--body); font-size:17px; line-height:1.8; }
.report-copy > p:first-child { color:var(--ink); font-size:21px; letter-spacing:-.02em; line-height:1.6; }
.recognition { margin:38px 0; padding:30px 0; border-top:1px solid var(--hair); border-bottom:1px solid var(--hair); }
.recognition > p { margin:0 0 18px; color:var(--blue); font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.recognition div { display:flex; flex-wrap:wrap; gap:10px; }
.recognition span { padding:9px 13px; border:1px solid var(--hair); background:var(--paper); font-size:13px; }
.privacy-note { padding-left:21px; border-left:3px solid var(--blue); font-size:14px!important; }

.services { padding:108px 0 116px; background:var(--paper); color:var(--ink); }
.services-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:82px; }
.services .eyebrow,.service-label { color:var(--blue); }
.services-grid h2 { max-width:13ch; margin:0; font-size:clamp(38px,4.7vw,59px); font-weight:600; letter-spacing:-.04em; line-height:1; }
.services-intro { max-width:43ch; margin:26px 0 0; color:var(--body); font-size:15px; line-height:1.75; }
.service-list { border-top:1px solid #d6d6d0; }
.service-list article { padding:29px 0; border-bottom:1px solid #d6d6d0; }
.service-label { margin:0 0 22px; font-size:10px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.service-list h3 { max-width:24ch; margin:0 0 12px; font-size:clamp(26px,2.5vw,34px); font-weight:600; letter-spacing:-.035em; line-height:1.08; }
.service-list p:last-of-type { margin:0; color:var(--body); font-size:15px; line-height:1.7; }
.service-list a { display:inline-block; margin-top:18px; color:var(--blue); font-size:13px; font-weight:600; }
.hidden-editorial main .service-conditions { display:grid; grid-template-columns:1fr; margin:24px 0 0!important; padding:0!important; border-top:1px solid #d6d6d0; list-style:none!important; }
.hidden-editorial main .service-conditions li { position:relative; padding:14px 12px 14px 22px!important; border-bottom:1px solid #d6d6d0; color:var(--body); font-size:14px; line-height:1.5!important; }
.hidden-editorial main .service-conditions li::before { content:""; position:absolute; left:2px; top:22px; width:5px; height:5px; border-radius:50%; background:var(--blue); }
.hidden-editorial main .service-conditions a { margin:0!important; color:var(--body)!important; font-size:inherit; font-weight:inherit; text-decoration-color:transparent; text-underline-offset:3px; }
.hidden-editorial main .service-conditions a:hover,.hidden-editorial main .service-conditions a:focus-visible { color:var(--blue)!important; text-decoration-color:currentColor; }
.conditions-head { display:grid; grid-template-columns:.78fr 1.22fr; gap:82px; align-items:end; margin-top:100px; padding-top:92px; border-top:1px solid #d6d6d0; }
.conditions-head > p { max-width:55ch; margin:0; color:var(--body); font-size:17px; line-height:1.75; }
.condition-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:64px; border-top:1px solid #d6d6d0; }
.condition-grid div { position:relative; min-height:92px; padding:27px 24px 27px 20px; border-bottom:1px solid #d6d6d0; color:var(--ink); font-size:15px; line-height:1.5; }
.condition-grid div:not(:nth-child(3n+1)) { border-left:1px solid #d6d6d0; }
.condition-grid div::before { content:""; position:absolute; left:0; top:34px; width:6px; height:6px; border-radius:50%; background:var(--blue); }
.condition-grid div:not(:nth-child(3n+1))::before { left:20px; }
.condition-grid div:not(:nth-child(3n+1)) { padding-left:40px; }
.condition-grid a:hover { color:var(--blue); }

.basement-proof { padding:98px 0 104px; background:var(--night); color:#fff; }
.basement-proof-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:82px; }
.basement-proof .eyebrow { color:#75b8f4; }
.basement-proof h2 { max-width:13ch; margin:18px 0 0; font-size:clamp(34px,4vw,54px); font-weight:600; letter-spacing:-.04em; line-height:1.02; }
.basement-proof figure { margin:0; padding-left:40px; border-left:3px solid #75b8f4; }
.basement-proof blockquote { max-width:27ch; margin:0; font-size:clamp(25px,3vw,38px); font-weight:500; letter-spacing:-.035em; line-height:1.28; }
.basement-proof figcaption { margin-top:24px; color:rgba(255,255,255,.76); font-size:14px; }
.basement-proof a { display:inline-block; margin-top:28px; color:#75b8f4; font-size:14px; 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:16ch; margin:0; font-size:clamp(38px,5vw,62px); font-weight:600; letter-spacing:-.04em; line-height:1; }
.cta p:last-child { max-width:60ch; margin:22px 0 0; color:var(--body); font-size:16px; line-height:1.7; }

.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:960px) {
  .nav-links { display:none; }
  .hero-grid,.report-grid,.services-grid,.conditions-head,.basement-proof-grid { grid-template-columns:1fr; gap:44px; }
  .hero-photo { max-width:720px; min-height:560px; }
  .evidence article { grid-template-columns:1fr; }
}
@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(46px,14vw,68px); }
  .hero-photo { min-height:490px; }
  .condition-grid,.cta-grid,.footer-grid { grid-template-columns:1fr; }
  .evidence-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .evidence article,.evidence article + article { grid-template-columns:1fr; gap:14px; min-height:190px; padding:28px 16px; border-left:0; border-bottom:0; }
  .evidence article + article { border-left:1px solid rgba(255,255,255,.25); }
  .evidence strong { font-size:44px; }
  .report,.services,.basement-proof,.cta { padding:78px 0; }
  .condition-grid div,.condition-grid div:not(:nth-child(3n+1)) { min-height:0; padding:23px 20px; border-left:0; }
  .condition-grid div::before,.condition-grid div:not(:nth-child(3n+1))::before { left:0; top:31px; }
  .hidden-editorial main .service-conditions { grid-template-columns:1fr; }
  .hidden-editorial main .service-conditions li { font-size:14px; }
  .basement-proof figure { padding-left:24px; }
  .footer-grid { gap:40px; }
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *{transition:none!important} }
