: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, summary: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 { margin:0; max-width:10.5ch; font-size:clamp(50px,6.6vw,86px); font-weight:600; letter-spacing:-.052em; line-height:.94; }
.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:62px 0 76px; background:var(--paper); border-bottom:1px solid var(--hair); }
.hero-grid { display:grid; grid-template-columns:minmax(430px,.92fr) minmax(0,1.08fr); gap:72px; align-items:center; }
.hero-photo { position:relative; min-height:610px; 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; right:0; bottom:0; width:min(330px,82%); padding:22px 25px; background:var(--night); color:rgba(255,255,255,.78); font-size:13px; line-height:1.55; }
.hero .eyebrow { margin-bottom:23px; }
.hero-service-label { margin:0 0 20px; color:var(--blue); font-size:18px; font-weight:650; line-height:1.35; }
.hero-sub { max-width:55ch; margin:28px 0 0; color:var(--body); font-size:18px; line-height:1.72; }
.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; }

.symptoms { padding:88px 0 96px; }
.symptoms-grid { display:grid; grid-template-columns:.68fr 1.32fr; gap:84px; }
.symptoms h2 { max-width:13ch; margin:0; font-size:clamp(36px,4.2vw,54px); font-weight:600; letter-spacing:-.04em; line-height:1.02; }
.symptom-list { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--hair); }
.symptom-list article { padding:30px 28px 30px 0; border-bottom:1px solid var(--hair); }
.symptom-list article:nth-child(even) { padding-left:28px; border-left:1px solid var(--hair); }
.symptom-icon { position:relative; display:block; width:76px; height:62px; margin-bottom:27px; border:1px solid #cdd8e4; background:linear-gradient(to right,transparent 49%,rgba(27,99,182,.08) 50%,transparent 51%),linear-gradient(to bottom,transparent 49%,rgba(27,99,182,.08) 50%,transparent 51%); }
.symptom-icon::before,.symptom-icon::after { content:""; position:absolute; }
.icon-bow::before { left:20px; top:9px; width:1px; height:43px; background:#aeb9c4; }
.icon-bow::after { left:31px; top:9px; width:24px; height:43px; border-right:3px solid var(--blue); border-radius:0 75% 75% 0; }
.icon-horizontal::before { left:10px; right:10px; top:16px; bottom:16px; border:1px solid #aeb9c4; }
.icon-horizontal::after { left:8px; top:27px; width:58px; height:8px; background:var(--blue); clip-path:polygon(0 42%,18% 56%,34% 34%,51% 62%,69% 38%,84% 55%,100% 43%,100% 60%,84% 69%,69% 52%,51% 76%,34% 48%,18% 70%,0 56%); }
.icon-stair::before { left:10px; right:10px; top:8px; bottom:8px; border:1px solid #aeb9c4; }
.icon-stair::after { left:16px; top:14px; width:45px; height:36px; background:var(--blue); clip-path:polygon(0 0,32% 0,32% 28%,57% 28%,57% 58%,80% 58%,80% 83%,100% 83%,100% 100%,75% 100%,75% 74%,52% 74%,52% 44%,27% 44%,27% 16%,0 16%); }
.icon-lean::before { left:13px; right:13px; bottom:11px; height:1px; background:#aeb9c4; }
.icon-lean::after { left:38px; top:9px; width:3px; height:42px; background:var(--blue); transform:rotate(-12deg); transform-origin:bottom; }
.symptom-list h3 { margin:0 0 12px; font-size:20px; letter-spacing:-.025em; }
.symptom-list p { margin:0; color:var(--body); font-size:14px; line-height:1.66; }

.pressure { padding:108px 0; background:var(--night); color:#fff; }
.pressure-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:92px; }
.pressure .eyebrow { color:#75b8f4; }
.pressure-copy > p:not(.eyebrow) { margin:26px 0 0; color:rgba(255,255,255,.7); font-size:17px; line-height:1.8; }
.cause-list { border-top:1px solid rgba(255,255,255,.2); }
.cause-list article { display:grid; grid-template-columns:190px 1fr; gap:34px; padding:25px 0; border-bottom:1px solid rgba(255,255,255,.2); }
.cause-list h3 { margin:0; font-size:18px; font-weight:600; }
.cause-list p { margin:0; color:rgba(255,255,255,.7); font-size:15px; line-height:1.65; }
.season-note { margin:30px 0 0; padding-left:22px; border-left:3px solid #75b8f4; color:rgba(255,255,255,.76); font-size:14px; line-height:1.72; }

.measurement { padding:112px 0 0; background:var(--paper); }
.measurement-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:center; }
.measurement-copy > p:not(.eyebrow) { margin:25px 0 0; color:var(--body); font-size:17px; line-height:1.8; }
.measurement-photo { margin:0; }
.measurement-photo img { width:100%; height:570px; object-fit:cover; }
.measurement-photo figcaption { padding:15px 0 0; color:var(--body); font-size:12px; }
.threshold-grid { display:grid; grid-template-columns:1fr 1fr; margin-top:72px; border-top:1px solid #d4d4ce; }
.threshold-grid article { min-height:275px; padding:38px 50px 50px 0; }
.threshold-grid article + article { padding-left:50px; border-left:1px solid #d4d4ce; }
.threshold-value { margin:0 0 40px; color:var(--blue); font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.threshold-grid h3 { max-width:16ch; margin:0 0 15px; font-size:28px; font-weight:600; letter-spacing:-.035em; line-height:1.08; }
.threshold-grid p:last-child { max-width:46ch; margin:0; color:var(--body); font-size:15px; line-height:1.7; }

.decision { padding:106px 0; background:var(--canvas); }
.decision-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:82px; }
.decision h2 { max-width:12ch; margin:0; font-size:clamp(38px,4.8vw,60px); font-weight:600; letter-spacing:-.04em; line-height:1; }
.decision-copy > p { margin:0 0 22px; color:var(--body); font-size:17px; line-height:1.8; }
.decision-copy > p:first-child { color:var(--ink); font-size:21px; letter-spacing:-.02em; line-height:1.6; }
.decision aside { margin-top:38px; padding:30px 32px; background:var(--paper); border-left:4px solid var(--blue); }
.decision aside strong { font-size:16px; }
.decision aside p { margin:10px 0 0; color:var(--body); font-size:14px; line-height:1.7; }
.decision aside a { color:var(--blue); font-weight:600; text-decoration:underline; text-underline-offset:3px; }

.wall-proof { padding:98px 0 104px; background:var(--night); color:#fff; }
.wall-proof-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:82px; }
.wall-proof .eyebrow { color:#75b8f4; }
.wall-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; }
.wall-proof figure { margin:0; padding-left:40px; border-left:3px solid #75b8f4; }
.wall-proof blockquote { max-width:27ch; margin:0; font-size:clamp(25px,3vw,38px); font-weight:500; letter-spacing:-.035em; line-height:1.28; }
.wall-proof figcaption { margin-top:24px; color:rgba(255,255,255,.76); font-size:14px; }
.wall-proof a { display:inline-block; margin-top:28px; color:#75b8f4; font-size:14px; font-weight:600; }

.faq { padding:112px 0 124px; border-top:1px solid var(--hair); }
.faq-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:82px; }
.faq-list { border-top:1px solid var(--hair); }
details { border-bottom:1px solid var(--hair); }
summary { position:relative; cursor:pointer; list-style:none; padding:27px 52px 27px 0; font-size:19px; font-weight:600; letter-spacing:-.018em; line-height:1.4; }
summary::-webkit-details-marker { display:none; }
summary::after { content:"+"; position:absolute; right:2px; top:23px; color:var(--blue); font-size:28px; font-weight:400; }
details[open] summary::after { content:"–"; }
details p { margin:0; padding:0 48px 28px 0; color:var(--body); font-size:15px; line-height:1.72; }

.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,.symptoms-grid,.pressure-grid,.measurement-grid,.decision-grid,.wall-proof-grid,.faq-grid { grid-template-columns:1fr; gap:44px; }
  .hero-photo { max-width:720px; }
  .symptom-list { max-width:720px; }
}
@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; }
  .hero-copy { order:-1; }
  .hero-photo { min-height:400px; }
  .display { font-size:clamp(46px,14vw,68px); }
  .symptoms,.pressure,.measurement,.decision,.wall-proof,.faq,.cta { padding:78px 0; }
  .cta-grid,.footer-grid { grid-template-columns:1fr; }
  .symptom-list,.threshold-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .symptom-list article,.symptom-list article:nth-child(even) { padding:24px 14px 24px 0; border-left:0; border-bottom:1px solid var(--hair); }
  .symptom-list article:nth-child(even) { padding-left:18px; border-left:1px solid var(--hair); }
  .symptom-list p { font-size:13px; }
  .cause-list article { grid-template-columns:1fr; gap:8px; }
  .measurement-photo img { height:440px; }
  .threshold-grid article,.threshold-grid article + article { min-height:0; padding:28px 16px 32px 0; border-left:0; border-bottom:0; }
  .threshold-grid article + article { padding-left:18px; border-left:1px solid #d4d4ce; }
  .threshold-value { margin-bottom:24px; }
  .threshold-grid h3 { font-size:22px; }
  .threshold-grid p:last-child { font-size:13px; }
  .wall-proof figure { padding-left:24px; }
  .footer-grid { gap:40px; }
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *{transition:none!important} }
