:root{
  --deep:#0f242b;
  --slate:#20343c;
  --charcoal:#121a1d;
  --cream:#f3eadb;
  --cream-2:#efe0ca;
  --mineral:#d7ecec;
  --water:#174653;
  --copper:#9b4f2d;
  --copper-dark:#74381f;
  --ink:#172327;
  --muted:#5b6c70;
  --line:rgba(18,26,29,.18);
  --white-soft:#f8f4ed;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Work Sans",system-ui,sans-serif;color:var(--ink);background:var(--cream);font-size:18px;line-height:1.65;overflow-x:hidden}
a{color:inherit}
img{max-width:100%;display:block}
.site-header{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:10;width:min(1180px,calc(100% - 24px));display:flex;align-items:center;justify-content:space-between;gap:22px;padding:13px 16px 13px 22px;border-radius:20px;background:rgba(248,244,237,.76);backdrop-filter:blur(16px) saturate(1.3);border:1px solid rgba(255,255,255,.68);box-shadow:0 18px 45px rgba(11,25,28,.18)}
.brand{font-family:"Literata",serif;font-weight:750;text-decoration:none;font-size:1.2rem;letter-spacing:-.02em;color:var(--deep)}
.site-header nav{display:flex;gap:24px;font-size:.92rem;font-weight:700;color:#24363b}
.site-header nav a,.header-phone{text-decoration:none}.header-phone{border-radius:999px;background:var(--copper);color:#fff7ef;padding:10px 16px;font-weight:800;white-space:nowrap;box-shadow:inset 0 -2px 0 rgba(0,0,0,.18)}
.hero{position:relative;min-height:100dvh;background:var(--deep);display:grid;align-items:end;isolation:isolate;color:var(--white-soft)}
#hero-img{position:absolute;inset:0;width:100%;height:100%;min-height:64vh;object-fit:cover;object-position:center center;z-index:-2}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,18,22,.92) 0%,rgba(7,18,22,.74) 34%,rgba(7,18,22,.34) 62%,rgba(7,18,22,.12) 100%),linear-gradient(0deg,rgba(7,18,22,.62),transparent 45%);z-index:-1}
.hero-copy{width:min(760px,calc(100% - 42px));margin:0 auto 10vh;transform:translateX(-22vw);padding-left:28px;border-left:1px solid rgba(243,234,219,.42)}
.proof-line{margin:0 0 14px;color:#f1c19e;font-weight:800;letter-spacing:.01em;text-shadow:0 2px 20px rgba(0,0,0,.35)}
h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Literata",serif;letter-spacing:-.045em;line-height:1.04}h1{font-size:clamp(3.3rem,8vw,7.8rem);max-width:720px;margin-bottom:20px;text-shadow:0 3px 26px rgba(0,0,0,.5)}h2{font-size:clamp(2.25rem,4.8vw,5.1rem)}h3{font-size:1.15rem;line-height:1.2;margin-bottom:8px}.hero-copy>p:not(.proof-line){font-size:clamp(1.05rem,1.4vw,1.35rem);max-width:610px;color:#f4eadc;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 21px;text-decoration:none;font-weight:800;min-height:52px}.btn.primary{background:var(--copper);color:#fff8f0}.btn.secondary{color:#fff8f0;border:1px solid rgba(255,255,255,.58);background:rgba(255,255,255,.06)}
.band-cream{background:var(--cream)}.band-water{background:var(--water);color:#f1f7f5}.band-mineral{background:var(--mineral)}.band-slate{background:var(--slate);color:#f4efe5}.band-charcoal{background:var(--charcoal);color:#f4efe5}
.intro,.service-ledger,.diagnostic,.reviews,.visit,.final-cta{padding:clamp(72px,9vw,130px) 24px}.intro-wrap,.section-shell,.diagnostic-grid,.visit{width:min(1180px,100%);margin:auto}.intro-wrap{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.72fr);gap:clamp(38px,6vw,86px);align-items:stretch}.intro-text h2{max-width:840px;margin-bottom:30px}.intro-text p{font-size:1.05rem;color:#304247}.intro-media{display:grid;grid-template-rows:1fr 1fr;gap:18px;min-height:100%}.intro-media img{width:100%;height:100%;object-fit:cover;border-radius:0;border:10px solid var(--cream-2)}
@media (min-width:901px){.intro-text{min-height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:clamp(16px,2vw,28px)}.intro-text h2{margin-bottom:0}.intro-text p{font-size:clamp(1.12rem,1.33vw,1.24rem);line-height:1.82;margin-bottom:0}.intro-text p+p{margin-top:0}}
.service-ledger h2{max-width:860px;color:#f4efe5;margin-bottom:44px}.ledger{border-top:1px solid rgba(255,255,255,.25)}.ledger article{display:grid;grid-template-columns:90px minmax(0,1fr);gap:26px;padding:30px 0;border-bottom:1px solid rgba(255,255,255,.25)}.ledger span{font-family:"Literata",serif;font-size:1.45rem;color:#ffd0ad;line-height:1}.ledger p{color:#f1f7f5;max-width:780px;margin-bottom:0}.ledger h3{color:#fffaf2;font-size:1.35rem}
.diagnostic{padding-bottom:clamp(52px,7vw,90px)}.diagnostic-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.05fr);column-gap:60px;row-gap:20px;align-items:start}.diag-note{grid-column:1/-1;margin-top:0}.diag-note p{max-width:none;margin-bottom:14px}.diagnostic p{color:#33484e}.text-link{display:inline-block;margin-top:8px;color:var(--copper-dark);font-weight:800}.steps{list-style:none;margin:0;padding:0;border-top:1px solid rgba(18,26,29,.22)}.steps li{display:grid;grid-template-columns:1fr;gap:6px;padding:22px 0;border-bottom:1px solid rgba(18,26,29,.22)}.steps strong{font-family:"Literata",serif;font-size:1.45rem;line-height:1.18}.steps span{color:#405258}.wide-photo{width:min(1180px,calc(100% - 48px));height:420px;object-fit:cover;object-position:center 42%;margin:32px auto 0;border:12px solid rgba(255,255,255,.44)}
.reviews h2{max-width:900px;margin-bottom:42px}.quote-wall{display:grid;grid-template-columns:1.1fr .9fr .95fr;gap:1px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.2)}blockquote{margin:0;background:var(--slate);padding:34px;min-height:100%}blockquote p{font-family:"Literata",serif;font-size:clamp(1.28rem,2vw,1.72rem);line-height:1.35;letter-spacing:-.025em;color:#fff7ea}cite{font-style:normal;color:#f1c19e;font-weight:800}
.visit{display:grid;grid-template-columns:minmax(0,.78fr) minmax(360px,1fr);gap:48px;align-items:stretch}.visit-copy p{color:#36494e}.contact-lines{display:grid;gap:12px;margin-top:26px;font-weight:700}.contact-lines a{color:var(--copper-dark)}.map-wrap{min-height:420px;border:12px solid var(--cream-2);background:#d8d2c7}.map-wrap iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.82) contrast(1.02)}
.final-cta{text-align:center}.final-cta h2{max-width:900px;margin:0 auto 22px}.final-cta p{max-width:760px;margin:0 auto 28px;color:#dbe1dc}footer{background:#0d1517;color:#d6c9ba;padding:30px 24px;text-align:center;font-size:.95rem}footer p{margin:0}footer a{color:#f2b184}
@media (max-width:900px){.site-header nav{display:none}.hero{display:block;min-height:0;padding-top:0;background:var(--deep)}#hero-img{position:relative;height:38vh;min-height:280px;z-index:0;object-position:center center}.hero:after{display:none}.hero-copy{width:100%;margin:0;transform:none;padding:32px 22px 38px;border-left:0;background:var(--deep)}h1{font-size:clamp(2.85rem,14vw,4.2rem);line-height:1.02}.intro-wrap,.diagnostic-grid,.visit{grid-template-columns:1fr}.intro-media{grid-template-rows:none;grid-template-columns:1fr}.quote-wall{grid-template-columns:1fr}.wide-photo{height:320px}.service-ledger .section-shell{width:100%;}.service-ledger h2{max-width:100%;}.ledger article{grid-template-columns:62px minmax(0,1fr);gap:16px}.visit{padding-left:24px;padding-right:24px}.map-wrap{min-height:360px}.header-phone{padding:9px 12px}.brand{font-size:1rem}}
@media (max-width:520px){body{font-size:17px}.site-header{top:10px;width:calc(100% - 20px);padding:11px 12px 11px 14px;border-radius:17px}.brand{max-width:145px;line-height:1.05}.header-phone{font-size:.88rem}.hero-copy{padding-top:34px}.hero-actions{display:grid}.btn{width:100%;padding:13px 16px}.intro,.service-ledger,.diagnostic,.reviews,.visit,.final-cta{padding:58px 18px}.intro-media{grid-template-columns:1fr}.ledger article{grid-template-columns:1fr}.ledger span{font-size:1.65rem}.wide-photo{width:calc(100% - 36px);height:260px;margin-top:44px;border-width:8px}blockquote{padding:24px}.visit{padding-left:18px;padding-right:18px}.map-wrap{border-width:8px;min-height:310px}h2{font-size:clamp(2.15rem,12vw,3.2rem)}}
