:root {
  --gold: #c9a96e;
  --gold-hover: #CFB37F;
  --bg: #0a0a0a;
  --text: #e8e4de;
  --text-muted: #aaa;
  --border: #222;
  --font-cormorant: 'Cormorant Garamond', 'Times New Roman', serif;
  --font-jost: 'Jost', Arial, sans-serif;
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
}

*, *::after, *::before { box-sizing: border-box; border: 0 solid; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; line-height: 1.5; }
img, svg, video, canvas, iframe { vertical-align: middle; display: block; }
img, video { max-width: 100%; height: auto; }
ol, ul, menu { list-style: none; }
a { color: inherit; text-decoration: inherit; }
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }
button, input, select, textarea { font: inherit; letter-spacing: inherit; color: inherit; background-color: transparent; border-radius: 0; }
textarea { resize: vertical; }

body {
  font-family: var(--font-jost);
  background: var(--bg);
  color: var(--text);
}

.btn-gold {
  background: var(--gold);
  color: #0a0a0a;
  letter-spacing: 2.5px;
  cursor: pointer;
  border: none;
  padding: 14px 32px;
  font-size: 12px;
  font-weight: 500;
  text-decoration: none;
  transition: background 160ms ease, transform 160ms var(--ease-out);
  display: inline-block;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.btn-gold::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,.22) 50%, transparent 60%);
  transform: translateX(-120%);
  pointer-events: none;
}
.btn-gold:hover { background: var(--gold-hover); }
.btn-gold:active { transform: scale(0.97); }

.btn-ghost {
  color: var(--gold);
  letter-spacing: 2.5px;
  cursor: pointer;
  background: 0 0;
  border: 1px solid #c9a96e80;
  padding: 14px 32px;
  font-size: 12px;
  font-weight: 500;
  text-decoration: none;
  transition: border-color 160ms ease, color 160ms ease, transform 160ms var(--ease-out);
  display: inline-block;
}
.btn-ghost:hover { border-color: var(--gold); color: var(--gold-hover); }
.btn-ghost:active { transform: scale(0.97); }

@media (hover: hover) and (pointer: fine) {
  .btn-gold:hover { transform: translateY(-2px); }
  .btn-gold:hover::after { transform: translateX(120%); transition: transform 520ms var(--ease-out); }
  .btn-gold:active { transform: scale(0.97); }
  .btn-ghost:hover { transform: translateY(-2px); }
  .btn-ghost:active { transform: scale(0.97); }
}

.gold-line { background: var(--gold); width: 48px; height: 1px; transform-origin: left center; }
.sec-eyebrow { letter-spacing: 4px; color: var(--gold); margin-bottom: 12px; font-size: 11px; }
.sec-title { font-family: var(--font-cormorant); color: #f5f2ed; margin-bottom: 16px; font-size: 42px; font-weight: 500; line-height: 1.1; }
.wrap { max-width: 1160px; margin: 0 auto; padding: 0 48px; }

.nav { background: rgba(10,10,10,.95); border-bottom: 1px solid #222; padding: 18px 0; position: sticky; top: 0; z-index: 100; backdrop-filter: blur(8px); }
.nav__inner { max-width: 1160px; margin: 0 auto; padding: 0 48px; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.nav__brand-tag { font-size: 11px; letter-spacing: 5px; color: var(--gold); }
.nav__brand-name { font-family: var(--font-cormorant); font-size: 24px; font-weight: 500; color: #f5f2ed; letter-spacing: 2px; margin-top: 2px; }
.nav__right { text-align: right; }
.nav__phone { font-size: 16px; font-weight: 500; color: #f5f2ed; letter-spacing: 1px; text-decoration: none; }
.nav__hours { font-size: 12px; letter-spacing: 2px; color: #aaa; margin-top: 3px; }

.menu { display: flex; align-items: center; gap: 36px; }
.menu__link { font-size: 12px; letter-spacing: 3px; color: var(--text); text-decoration: none; background: none; border: none; cursor: pointer; font-family: inherit; display: inline-flex; align-items: center; gap: 7px; padding: 6px 0; transition: color 160ms ease; }
.menu__link:hover, .menu__link--active { color: var(--gold); }
.menu__item { position: relative; }
.menu__caret { transition: transform 200ms var(--ease-out); }
.menu__item:hover .menu__caret { transform: rotate(180deg); }
.menu__dropdown { position: absolute; top: 100%; left: 50%; transform: translateX(-50%) scale(0.96); transform-origin: top center; min-width: 232px; background: #111; border: 1px solid #2a2a2a; border-top: 2px solid var(--gold); padding: 6px 0; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 200ms var(--ease-out), transform 200ms var(--ease-out), visibility 200ms; }
.menu__item:hover .menu__dropdown { opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(-50%) scale(1); }
.menu__dropdown a { display: block; padding: 12px 24px; font-size: 12px; letter-spacing: 2px; color: #ccc8c2; text-decoration: none; transition: background 150ms ease, color 150ms ease, transform 150ms var(--ease-out); }
.menu__dropdown a:hover { background: #171717; color: var(--gold); transform: translateX(4px); }

.nav__burger { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 6px; }
.nav__burger span { width: 22px; height: 1px; background: var(--text); }
.mnav { display: none; background: #0d0d0d; border-bottom: 1px solid #222; padding: 8px 48px 20px; }
.mnav.is-open { display: block; }
.mnav a, .mnav button { display: block; width: 100%; text-align: left; padding: 14px 0; font-size: 12px; letter-spacing: 3px; color: var(--text); text-decoration: none; background: none; border: none; border-bottom: 1px solid #1e1e1e; cursor: pointer; font-family: inherit; }
.mnav__sub { display: none; padding-left: 18px; }
.mnav__sub.is-open { display: block; }
.mnav__sub a { color: #9a9690; letter-spacing: 2px; }

.hero { position: relative; min-height: 88vh; display: flex; align-items: center; background-color: #0d0d0d; border-bottom: 1px solid #222; overflow: hidden; }
.hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center center; transform: scale(1); animation: heroZoom 22s var(--ease-in-out) alternate infinite; }
.hero__scrim { position: absolute; inset: 0; background: linear-gradient(to right, rgba(8,8,8,.85) 35%, rgba(8,8,8,.15) 100%); }
.hero__content { position: relative; z-index: 2; max-width: 1160px; margin: 0 auto; padding: 80px 48px; }
.hero__eyebrow { font-size: 11px; letter-spacing: 5px; color: var(--gold); margin-bottom: 20px; }
.hero__title { font-family: var(--font-cormorant); font-size: clamp(48px, 6vw, 80px); font-weight: 500; color: #f5f2ed; line-height: 1.05; max-width: 620px; margin-bottom: 24px; }
.hero__text { font-size: 16px; color: #ccc8c2; line-height: 1.9; max-width: 520px; margin-bottom: 36px; }
.hero__actions { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 36px; }
.hero__rating { display: flex; align-items: center; gap: 12px; }
.hero__stars { color: var(--gold); font-size: 18px; letter-spacing: 2px; }
.hero__rating-text { font-size: 12px; letter-spacing: 3px; color: #aaa; }

.stats { background: #0f0f0f; border-bottom: 1px solid #222; }
.stats__grid { max-width: 1160px; margin: 0 auto; padding: 0 48px; display: grid; grid-template-columns: repeat(4, 1fr); }
.stats__cell { padding: 32px 0; text-align: center; border-right: 1px solid #222; }
.stats__cell:last-child { border-right: none; }
.stats__value { font-family: var(--font-cormorant); font-size: 36px; font-weight: 500; color: var(--gold); line-height: 1; margin-bottom: 6px; }
.stats__label { font-size: 10px; letter-spacing: 3px; color: #aaa; }

.band { background: #080808; border-bottom: 1px solid #1e1e1e; padding: 28px 0; }
.band__inner { display: flex; align-items: center; justify-content: center; gap: 16px; }
.band__rule { width: 32px; height: 1px; background: var(--gold); flex-shrink: 0; }
.band__text { font-size: 18px; letter-spacing: 4px; color: #e8e4de; font-weight: 500; }

.services { background: #0d0d0d; padding: 88px 0; border-top: 1px solid #222; border-bottom: 1px solid #222; }
.services__head { margin-bottom: 56px; }
.services__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 2px; }
.svc { background: #111; padding: 24px 36px 40px; border-top: 1px solid #1e1e1e; position: relative; text-decoration: none; display: block; transition: background 200ms ease, transform 200ms var(--ease-out); }
.svc:hover { background: #151515; }
.svc:active { transform: scale(0.98); }
.svc__num { font-family: var(--font-cormorant); font-size: 13px; letter-spacing: 3px; color: #333; margin-bottom: 8px; }
.svc__title { font-family: var(--font-cormorant); font-size: 26px; font-weight: 500; color: #f5f2ed; margin-bottom: 16px; line-height: 1.2; }
.svc__text { font-size: 14px; color: #9a9690; line-height: 1.8; }

.facility { position: relative; height: 480px; background-size: cover; background-position: center; background-color: #0d0d0d; border-top: 1px solid #222; border-bottom: 1px solid #222; display: flex; align-items: center; }
.facility__scrim { position: absolute; inset: 0; background: linear-gradient(to right, rgba(8,8,8,.90) 35%, rgba(8,8,8,.2) 100%); }
.facility__content { position: relative; z-index: 2; max-width: 560px; padding-left: 96px; }
.facility__title { font-family: var(--font-cormorant); font-size: 36px; font-weight: 500; color: #f5f2ed; line-height: 1.1; margin-bottom: 16px; }
.facility__text { font-size: 16px; color: #ccc8c2; line-height: 1.9; margin-bottom: 28px; }

.results { background: #0a0a0a; padding: 88px 0 0; }
.results__head { max-width: 1160px; margin: 0 auto 48px; padding: 0 48px; }
.results__note { margin-top: 16px; color: #9a9690; font-size: 15px; }
.results__grid { display: grid; grid-template-columns: 1fr 1fr; }
.ba { position: relative; height: 480px; background-size: cover; background-position: center; background-repeat: no-repeat; border-top: 1px solid #222; }
.ba--before { background-color: #111; }
.ba--after { background-color: #1a1a1a; border-left: 1px solid #333; }
.ba--before .ba__scrim { position: absolute; inset: 0; background: rgba(0,0,0,.45); }
.ba--after .ba__scrim { position: absolute; inset: 0; background: rgba(0,0,0,.25); }
.ba__caption { position: absolute; bottom: 32px; left: 40px; z-index: 2; }
.ba__label { font-size: 10px; letter-spacing: 4px; color: #aaa; margin-bottom: 6px; }
.ba--after .ba__label { color: var(--gold); }
.ba__desc { font-size: 14px; color: #e8e4de; }

.reviews { background: #0d0d0d; padding: 88px 0; border-top: 1px solid #222; border-bottom: 1px solid #222; }
.reviews__head { margin-bottom: 56px; }
.review { background: #111; padding: 48px 56px; border-top: 2px solid var(--gold); max-width: 780px; margin: 0 auto 48px; position: relative; opacity: 1; transform: translateY(0); transition: opacity .4s ease, transform .4s ease; }
.review--hidden { opacity: 0; transform: translateY(10px); }
.review__meta { display: flex; align-items: center; gap: 10px; margin-bottom: 28px; }
.review__src { font-size: 10px; letter-spacing: 3px; padding: 4px 12px; }
.review__src--google { color: #4285F4; background: rgba(66,133,244,.1); border: 1px solid rgba(66,133,244,.3); }
.review__src--yelp { color: #d32323; background: rgba(211,35,35,.1); border: 1px solid rgba(211,35,35,.3); }
.review__stars { color: var(--gold); font-size: 13px; letter-spacing: 2px; }
.review__quote-mark { font-family: var(--font-cormorant); font-size: 64px; color: var(--gold); line-height: .8; display: block; margin-bottom: 20px; opacity: .5; }
.review__body { font-size: 16px; color: #ccc8c2; line-height: 1.9; margin-bottom: 32px; }
.review__rule { height: 1px; background: #222; margin-bottom: 20px; }
.review__author { font-size: 12px; letter-spacing: 3px; color: #888; }
.review__nav { display: flex; align-items: center; justify-content: center; gap: 24px; margin-bottom: 48px; }
.review__arrow { background: transparent; border: 1px solid #333; color: #e8e4de; width: 40px; height: 40px; cursor: pointer; font-size: 18px; display: flex; align-items: center; justify-content: center; transition: border-color 160ms ease, color 160ms ease, transform 160ms var(--ease-out); }
.review__arrow:hover { border-color: var(--gold); color: var(--gold); }
.review__arrow:active { transform: scale(0.97); }
.review__dots { display: flex; gap: 8px; }
.review__dot { width: 8px; height: 2px; background: #444; border: none; cursor: pointer; transition: width .2s, background .2s; padding: 0; }
.review__dot--active { width: 24px; background: var(--gold); }
.reviews__cta { text-align: center; }

.contact { background: #0a0a0a; padding: 88px 0; }
.contact__head { margin-bottom: 56px; }
.contact__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.contact__block { margin-bottom: 28px; }
.contact__label { font-size: 10px; letter-spacing: 3px; color: #555; margin-bottom: 6px; }
.contact__value { font-size: 15px; color: #ccc8c2; line-height: 1.7; }
.contact__value a { color: var(--gold); text-decoration: none; }
.contact__form-eyebrow { font-size: 11px; letter-spacing: 4px; color: var(--gold); margin-bottom: 12px; }
.contact__form-title { font-family: var(--font-cormorant); font-size: 32px; font-weight: 500; color: #f5f2ed; margin-bottom: 32px; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.field-label { font-size: 10px; letter-spacing: 3px; color: #666; display: block; margin-bottom: 6px; }
.field { width: 100%; background: #111; border: 1px solid #2a2a2a; color: #e8e4de; padding: 14px 16px; font-size: 14px; outline: none; margin-bottom: 16px; font-family: var(--font-jost); transition: border-color 160ms ease; color-scheme: dark; }
.field:focus { border-color: var(--gold); }
textarea.field { min-height: 120px; resize: vertical; }
select.field { cursor: pointer; }
input[type="date"].field { cursor: pointer; }
input[type="date"].field::-webkit-calendar-picker-indicator { cursor: pointer; opacity: .75; transition: opacity 160ms ease; }
input[type="date"].field::-webkit-calendar-picker-indicator:hover { opacity: 1; }
.map iframe { border: none; display: block; }

.footer { background: #070707; border-top: 1px solid #1c1c1c; padding: 28px 0; }
.footer__inner { max-width: 1160px; margin: 0 auto; padding: 0 48px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; }
.footer__copy { font-size: 11px; letter-spacing: 2px; color: #8A8A8A; }
.footer__link { font-size: 11px; letter-spacing: 2px; color: #8A8A8A; text-decoration: none; transition: color .2s; }
.footer__link:hover { color: var(--gold); }

.page-hero { position: relative; min-height: 52vh; display: flex; align-items: center; background-color: #0d0d0d; background-size: cover; background-position: center center; border-bottom: 1px solid #222; overflow: hidden; }
.page-hero__scrim { position: absolute; inset: 0; background: linear-gradient(to right, rgba(8,8,8,.88) 35%, rgba(8,8,8,.25) 100%); }
.page-hero__content { position: relative; z-index: 2; max-width: 1160px; margin: 0 auto; padding: 88px 48px; width: 100%; }
.page-hero__title { font-family: var(--font-cormorant); font-size: clamp(40px, 5vw, 64px); font-weight: 500; color: #f5f2ed; line-height: 1.05; max-width: 620px; margin-bottom: 24px; }
.page-hero__text { font-size: 16px; color: #ccc8c2; line-height: 1.9; max-width: 560px; margin-top: 24px; }
.crumbs { font-size: 10px; letter-spacing: 3px; color: #666; margin-bottom: 18px; }
.crumbs a { color: #9a9690; text-decoration: none; }
.crumbs a:hover { color: var(--gold); }

.prose { background: #0d0d0d; padding: 88px 0; border-bottom: 1px solid #222; }
.prose__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.prose h2 { font-family: var(--font-cormorant); font-size: 32px; font-weight: 500; color: #f5f2ed; line-height: 1.15; margin-bottom: 16px; }
.prose h3 { font-family: var(--font-cormorant); font-size: 22px; font-weight: 500; color: #f5f2ed; margin-bottom: 10px; }
.prose p { font-size: 15px; color: #ccc8c2; line-height: 1.9; margin-bottom: 18px; }
.prose p:last-child { margin-bottom: 0; }
.checks { margin-top: 4px; }
.checks li { font-size: 14px; color: #ccc8c2; line-height: 1.7; padding: 13px 0 13px 22px; border-bottom: 1px solid #1e1e1e; position: relative; }
.checks li::before { content: ''; position: absolute; left: 0; top: 20px; width: 6px; height: 6px; background: var(--gold); }

.steps { background: #0a0a0a; padding: 88px 0; border-bottom: 1px solid #222; }
.steps__head { margin-bottom: 56px; }
.steps__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; }
.step { background: #111; padding: 32px 36px 40px; border-top: 1px solid #1e1e1e; }
.step__num { font-family: var(--font-cormorant); font-size: 13px; letter-spacing: 3px; color: #333; margin-bottom: 10px; }
.step__title { font-family: var(--font-cormorant); font-size: 22px; font-weight: 500; color: #f5f2ed; margin-bottom: 12px; line-height: 1.2; }
.step__text { font-size: 14px; color: #9a9690; line-height: 1.8; }
@media (max-width: 1080px) { .steps__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .steps__grid { grid-template-columns: 1fr; } }

.strip { background: #080808; padding: 72px 0; border-bottom: 1px solid #1e1e1e; text-align: center; }
.strip__title { font-family: var(--font-cormorant); font-size: 36px; font-weight: 500; color: #f5f2ed; line-height: 1.15; margin-bottom: 14px; }
.strip__text { font-size: 15px; color: #ccc8c2; line-height: 1.9; max-width: 620px; margin: 0 auto 28px; }
.strip__actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.strip .gold-line { margin: 0 auto 20px; transform-origin: center; }

.other { background: #0d0d0d; padding: 88px 0; }
.other__head { margin-bottom: 40px; }
.other__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 2px; }

@media (max-width: 1080px) { .facility__content { padding-left: 48px; } }
@media (max-width: 900px) {
  .wrap, .nav__inner, .hero__content, .stats__grid, .results__head, .footer__inner, .page-hero__content { padding-left: 24px; padding-right: 24px; }
  .menu { display: none; }
  .nav__burger { display: flex; }
  .mnav { padding-left: 24px; padding-right: 24px; }
  .nav__brand-name { font-size: 19px; letter-spacing: 1px; }
  .nav__brand-tag { font-size: 9px; letter-spacing: 3px; }
  .nav__phone { font-size: 14px; }
  .nav__hours { font-size: 10px; letter-spacing: 1px; }
  .stats__grid { grid-template-columns: repeat(2, 1fr); }
  .stats__cell:nth-child(2) { border-right: none; }
  .stats__cell:nth-child(1), .stats__cell:nth-child(2) { border-bottom: 1px solid #222; }
  .band__text { font-size: 13px; letter-spacing: 2px; }
  .band__rule { width: 18px; }
  .facility { height: auto; padding: 64px 0; }
  .facility__content { padding: 0 24px; max-width: 100%; }
  .results__grid { grid-template-columns: 1fr; }
  .ba { height: 320px; }
  .review { padding: 32px 24px; }
  .contact__grid, .prose__grid { grid-template-columns: 1fr; gap: 40px; }
  .field-row { grid-template-columns: 1fr; }
  .sec-title { font-size: 32px; }
}
@media (max-width: 560px) {
  .nav__inner { gap: 12px; }
  .hero__actions .btn-gold, .hero__actions .btn-ghost { padding: 13px 22px; font-size: 11px; letter-spacing: 2px; }
}

@keyframes fadeUp { to { opacity: 1; transform: translateY(0); } }
@keyframes lineDraw { to { opacity: 1; transform: scaleX(1); } }
@keyframes heroZoom { from { transform: scale(1); } to { transform: scale(1.08); } }

.hero__eyebrow, .hero__title, .hero__text, .hero__actions, .hero__rating,
.page-hero__content .crumbs, .page-hero__content .sec-eyebrow, .page-hero__title, .page-hero__text {
  opacity: 0; transform: translateY(12px); animation: fadeUp 560ms var(--ease-out) forwards;
}
.hero__eyebrow { animation-delay: 60ms; }
.hero__title { animation-delay: 140ms; }
.hero .gold-line { opacity: 0; transform: scaleX(0); animation: lineDraw 520ms var(--ease-out) 240ms forwards; }
.hero__text { animation-delay: 300ms; }
.hero__actions { animation-delay: 380ms; }
.hero__rating { animation-delay: 460ms; }
.page-hero__content .crumbs { animation-delay: 40ms; }
.page-hero__content .sec-eyebrow { animation-delay: 100ms; }
.page-hero__title { animation-delay: 160ms; }
.page-hero .gold-line { opacity: 0; transform: scaleX(0); animation: lineDraw 520ms var(--ease-out) 240ms forwards; }
.page-hero__text { animation-delay: 320ms; }

.reveal { opacity: 1; transform: none; }
html.js .reveal { opacity: 0; transform: translateY(16px); transition: opacity 560ms var(--ease-out), transform 560ms var(--ease-out); }
html.js .reveal.is-in { opacity: 1; transform: none; }
html.js .reveal .gold-line { transform: scaleX(0); transition: transform 500ms var(--ease-out) 80ms; }
html.js .reveal.is-in .gold-line { transform: scaleX(1); }
.strip .gold-line { transform-origin: center; }

@media (hover: hover) and (pointer: fine) {
  .svc:hover { transform: translateY(-4px); }
  .svc:active { transform: scale(0.98); }
}

@media (prefers-reduced-motion: reduce) {
  .hero__bg { animation: none; transform: none; }
  .hero__eyebrow, .hero__title, .hero__text, .hero__actions, .hero__rating,
  .hero .gold-line, .page-hero__content .crumbs, .page-hero__content .sec-eyebrow,
  .page-hero__title, .page-hero__text, .page-hero .gold-line {
    animation: none; opacity: 1; transform: none;
  }
  .reveal, html.js .reveal, html.js .reveal .gold-line { opacity: 1; transform: none; transition: none; }
  .btn-gold, .btn-ghost, .svc, .review__arrow { transition: background 160ms ease, border-color 160ms ease, color 160ms ease; }
  .btn-gold:hover, .btn-ghost:hover, .svc:hover, .btn-gold:active, .btn-ghost:active, .svc:active, .review__arrow:active { transform: none; }
  .btn-gold::after { display: none; }
}

/* ── Section imagery (stock photos) ───────────────────────────── */
.svc { padding: 0 0 40px; overflow: hidden; }
.svc--nomedia { padding-top: 24px; }
.svc__media { display: block; width: 100%; aspect-ratio: 16 / 10; overflow: hidden; background: #0d0d0d; margin-bottom: 20px; }
.svc__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 500ms var(--ease-out); filter: saturate(.9) contrast(1.05); }
.svc:hover .svc__media img { transform: scale(1.05); }
.svc__num, .svc__title, .svc__text { padding-left: 36px; padding-right: 36px; }

.showcase { position: relative; height: 460px; background-size: cover; background-position: center; background-color: #0d0d0d; border-top: 1px solid #222; border-bottom: 1px solid #222; display: flex; align-items: center; }
.showcase__scrim { position: absolute; inset: 0; background: linear-gradient(to right, rgba(8,8,8,.90) 35%, rgba(8,8,8,.15) 100%); }
.showcase__wrap { position: relative; z-index: 2; width: 100%; }
.showcase__content { max-width: 560px; }
.showcase__title { font-family: var(--font-cormorant); font-size: 36px; font-weight: 500; color: #f5f2ed; line-height: 1.1; margin-bottom: 16px; }
.showcase__text { font-size: 16px; color: #ccc8c2; line-height: 1.9; }

.reviews { position: relative; background-size: cover; background-position: center; }
.reviews::before { content: ""; position: absolute; inset: 0; background: rgba(10,10,10,.90); }
.reviews > .wrap { position: relative; z-index: 2; }

.contact__photo { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; margin-bottom: 28px; border: 1px solid #1e1e1e; }
iframe.contact__photo { border: 1px solid #1e1e1e; }

@media (max-width: 860px) {
  .showcase { height: auto; padding: 64px 0; }
  .showcase__content { max-width: 100%; }
  .showcase__scrim { background: rgba(8,8,8,.86); }
}
/* ================= v2 additions (SEO + lead-gen rebuild) ================= */
.nav__logo img{height:46px;width:auto}
.nav__tag{font-size:9px;letter-spacing:3px;color:var(--gold);margin-top:6px;white-space:nowrap}
.nav__hours{white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:#0a0a0a;padding:10px 16px;z-index:200}
.skip:focus{left:12px;top:12px}
a:focus-visible,button:focus-visible,summary:focus-visible,.field:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* trust bar */
.trust{background:#0f0f0f;border-bottom:1px solid #222}
.trust__grid{max-width:1160px;margin:0 auto;padding:0 48px;display:grid;grid-template-columns:repeat(4,1fr)}
.trust__cell{padding:26px 18px;border-right:1px solid #222;text-align:center}
.trust__cell:last-child{border-right:none}
.trust__v{font-family:var(--font-cormorant);font-size:22px;color:#f5f2ed;line-height:1.15;margin-bottom:6px}
.trust__l{font-size:10px;letter-spacing:2.5px;color:#9a9690;line-height:1.6}

/* generic section */
.sec{padding:88px 0;border-bottom:1px solid #222;background:#0a0a0a}
.sec--alt{background:#0d0d0d}
.sec__head{margin-bottom:44px;max-width:760px}
.sec__lead{font-size:16px;color:#ccc8c2;line-height:1.9;margin-top:8px}
.copy p{font-size:15.5px;color:#ccc8c2;line-height:1.9;margin-bottom:18px;max-width:72ch}
.copy h2{font-family:var(--font-cormorant);font-size:34px;font-weight:500;color:#f5f2ed;line-height:1.15;margin:8px 0 16px}
.copy h3{font-family:var(--font-cormorant);font-size:24px;font-weight:500;color:#f5f2ed;margin:26px 0 10px}
.copy a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.copy ul.checks{margin-bottom:22px}
.two{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start}
.two img{width:100%;height:auto;border:1px solid #222}
.cap{font-size:12.5px;color:#8f8a83;margin-top:10px;line-height:1.6}

/* local pain points */
.pains{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.pain{background:#111;padding:30px 30px 34px;border-top:2px solid var(--gold)}
.pain__k{font-size:10px;letter-spacing:3px;color:var(--gold);margin-bottom:10px}
.pain h3{font-family:var(--font-cormorant);font-size:23px;color:#f5f2ed;font-weight:500;margin-bottom:10px;line-height:1.2}
.pain p{font-size:14px;color:#a9a49d;line-height:1.8}
.pain a,.sec__lead a{color:var(--gold)}

/* quote */
.quote{border-left:2px solid var(--gold);padding:6px 0 6px 26px;margin:28px 0}
.quote p{font-family:var(--font-cormorant);font-size:25px;line-height:1.45;color:#f5f2ed;font-style:italic;margin:0 0 10px}
.quote cite{font-style:normal;font-size:11px;letter-spacing:3px;color:var(--gold)}

/* timeline (about) */
.tl{position:relative;margin-top:10px}
.tl__i{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid #1e1e1e}
.tl__y{font-family:var(--font-cormorant);font-size:22px;color:var(--gold)}
.tl__t{font-size:15px;color:#ccc8c2;line-height:1.8}
.tl__t b{color:#f5f2ed;font-weight:500}

/* FAQ */
.faqs{display:grid;gap:2px;max-width:900px}
.faq{background:#111;border-top:1px solid #1e1e1e}
.faq summary{list-style:none;cursor:pointer;padding:22px 64px 22px 26px;font-family:var(--font-cormorant);font-size:21px;color:#f5f2ed;position:relative;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:26px;top:50%;transform:translateY(-50%);color:var(--gold);font-family:var(--font-jost);font-size:22px}
.faq[open] summary::after{content:"\2212"}
.faq .faq-a{padding:0 26px 22px}
.faq .faq-a p{font-size:15px;color:#b9b4ad;line-height:1.85}

/* lead strip + lead form section */
.lead{background:linear-gradient(180deg,#0d0d0d,#080808);padding:88px 0;border-bottom:1px solid #222}
.lead__grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.lead__list li{font-size:15px;color:#ccc8c2;line-height:1.7;padding:12px 0 12px 26px;border-bottom:1px solid #1e1e1e;position:relative}
.lead__list li::before{content:"";position:absolute;left:0;top:21px;width:10px;height:1px;background:var(--gold)}
.lead__phone{font-family:var(--font-cormorant);font-size:40px;color:var(--gold);text-decoration:none;display:inline-block;margin:18px 0 6px}
.lead__note{font-size:12px;letter-spacing:2px;color:#777}

/* blog cards */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.post{background:#111;text-decoration:none;display:flex;flex-direction:column;border-top:1px solid #1e1e1e;transition:background .2s}
.post:hover{background:#151515}
.post__img{aspect-ratio:16/9;background:#0d0d0d;overflow:hidden;border-bottom:1px solid #1e1e1e}
.post__img img{width:100%;height:100%;object-fit:cover}
.post__b{padding:24px 26px 30px}
.post__k{font-size:10px;letter-spacing:3px;color:var(--gold);margin-bottom:10px}
.post__t{font-family:var(--font-cormorant);font-size:23px;color:#f5f2ed;line-height:1.25;margin-bottom:10px}
.post__d{font-size:13.5px;color:#9a9690;line-height:1.75}
.post--pillar{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr}
.post--pillar .post__img{aspect-ratio:auto;border-bottom:none;border-right:1px solid #1e1e1e}
.post--pillar .post__t{font-size:32px}

/* article */
.art{background:#0a0a0a;padding:64px 0 88px}
.art__wrap{max-width:1160px;margin:0 auto;padding:0 48px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px}
.art__body{min-width:0}
.byline{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:12px;letter-spacing:1.5px;color:#8f8a83;margin:0 0 30px;padding-bottom:22px;border-bottom:1px solid #1e1e1e}
.byline b{color:#e8e4de;font-weight:500}
.takeaways{background:#111;border-top:2px solid var(--gold);padding:24px 28px;margin:0 0 30px}
.takeaways h2{font-family:var(--font-jost)!important;font-size:11px!important;letter-spacing:4px;color:var(--gold)!important;margin:0 0 12px!important;font-weight:500!important}
.takeaways li{font-size:15px;color:#e8e4de;line-height:1.7;padding:6px 0 6px 20px;position:relative}
.takeaways li::before{content:"";position:absolute;left:0;top:15px;width:8px;height:1px;background:var(--gold)}
.toc{background:#0f0f0f;border:1px solid #1e1e1e;padding:20px 24px;margin-bottom:34px}
.toc b{display:block;font-size:10px;letter-spacing:3px;color:var(--gold);margin-bottom:10px;font-weight:500}
.toc li{padding:5px 0}
.toc a{color:#ccc8c2;text-decoration:none;font-size:14px}
.toc a:hover{color:var(--gold)}
.art__body h2{font-family:var(--font-cormorant);font-size:33px;font-weight:500;color:#f5f2ed;line-height:1.18;margin:44px 0 14px;scroll-margin-top:110px}
.art__body h3{font-family:var(--font-cormorant);font-size:24px;font-weight:500;color:#f5f2ed;margin:28px 0 10px}
.art__body p{font-size:16.5px;color:#cfcac3;line-height:1.9;margin-bottom:18px}
.art__body ul,.art__body ol{margin:0 0 20px}
.art__body ul li{font-size:16px;color:#cfcac3;line-height:1.8;padding:5px 0 5px 22px;position:relative}
.art__body ul li::before{content:"";position:absolute;left:0;top:17px;width:8px;height:1px;background:var(--gold)}
.art__body ol{counter-reset:o}
.art__body ol li{font-size:16px;color:#cfcac3;line-height:1.8;padding:6px 0 6px 34px;position:relative;counter-increment:o}
.art__body ol li::before{content:counter(o);position:absolute;left:0;top:6px;font-family:var(--font-cormorant);color:var(--gold);font-size:20px}
.art__body a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.art__body strong{color:#f5f2ed;font-weight:500}
.art__body table{width:100%;border-collapse:collapse;margin:8px 0 24px;font-size:14.5px}
.art__body th{background:#141414;color:var(--gold);font-weight:500;letter-spacing:1px;text-align:left;padding:12px 14px;border-bottom:1px solid #2a2a2a}
.art__body td{color:#cfcac3;padding:12px 14px;border-bottom:1px solid #1e1e1e;vertical-align:top}
.tscroll{overflow-x:auto}
.fig{margin:26px 0 30px}
.fig img{width:100%;height:auto;border:1px solid #222;background:#0d0d0d}
.fig figcaption{font-size:13px;color:#8f8a83;margin-top:10px;line-height:1.6}
.bay{background:#111;border-left:2px solid var(--gold);padding:22px 26px;margin:30px 0}
.bay b{display:block;font-size:10px;letter-spacing:3px;color:var(--gold);margin-bottom:8px;font-weight:500}
.bay p{margin:0!important;font-size:16px!important}
.sources{margin-top:40px;padding-top:24px;border-top:1px solid #1e1e1e}
.sources h2{font-size:24px!important;margin-top:0!important}
.sources li{font-size:13.5px!important;color:#9a9690!important;padding:6px 0 6px 22px!important}
.abox{display:grid;grid-template-columns:72px 1fr;gap:18px;background:#111;padding:24px;margin-top:34px;border-top:1px solid #222}
.abox img{width:72px;height:84px}
.abox b{font-family:var(--font-cormorant);font-size:22px;font-weight:500;color:#f5f2ed;display:block}
.abox p{font-size:14px!important;color:#9a9690!important;margin:6px 0 0!important;line-height:1.7!important}
.aside{position:sticky;top:104px;display:grid;gap:16px;align-self:start}
.aside__card{background:#111;border-top:2px solid var(--gold);padding:24px}
.aside__card h3{font-family:var(--font-cormorant);font-size:24px;color:#f5f2ed;font-weight:500;margin-bottom:8px}
.aside__card p{font-size:14px;color:#9a9690;line-height:1.7;margin-bottom:14px}
.aside__card a.btn-gold,.aside__card a.btn-ghost{display:block;text-align:center;margin-top:8px}
.aside__links a{display:block;font-size:14px;color:#ccc8c2;text-decoration:none;padding:9px 0;border-bottom:1px solid #1e1e1e}
.aside__links a:hover{color:var(--gold)}
.related{margin-top:44px}
.related h2{margin-top:0!important}

/* footer v2 */
.foot{background:#070707;border-top:1px solid #1c1c1c;padding:64px 0 28px}
.foot__grid{max-width:1160px;margin:0 auto;padding:0 48px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:40px}
.foot h4{font-size:10px;letter-spacing:3.5px;color:var(--gold);margin-bottom:16px;font-weight:500}
.foot li{padding:5px 0}
.foot a{color:#9a9690;text-decoration:none;font-size:13.5px}
.foot a:hover{color:var(--gold)}
.foot p,.foot address{font-size:13.5px;color:#9a9690;line-height:1.8;font-style:normal}
.foot__logo img{height:52px;width:auto;margin-bottom:16px}
.social{display:flex;gap:12px;margin-top:18px}
.social a,.social span{width:40px;height:40px;border:1px solid #333;display:grid;place-items:center;color:#cfcac3;transition:border-color .2s,color .2s}
.social a:hover{border-color:var(--gold);color:var(--gold)}
.social svg{width:18px;height:18px;fill:currentColor}
.social span{opacity:.55;cursor:default}
.foot__bottom{max-width:1160px;margin:40px auto 0;padding:22px 48px 0;border-top:1px solid #1c1c1c;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:11px;letter-spacing:2px;color:#8A8A8A}
.foot__bottom a{font-size:11px;color:#8A8A8A}

/* sticky mobile action bar */
.mbar{display:none}
@media (max-width:900px){
  .trust__grid{grid-template-columns:1fr 1fr;padding:0 24px}
  .trust__cell:nth-child(2){border-right:none}
  .trust__cell:nth-child(-n+2){border-bottom:1px solid #222}
  .two,.lead__grid,.art__wrap{grid-template-columns:1fr;gap:40px}
  .art__wrap{padding:0 24px}
  .aside{position:static}
  .pains,.posts{grid-template-columns:1fr}
  .post--pillar{grid-template-columns:1fr}
  .post--pillar .post__img{border-right:none;border-bottom:1px solid #1e1e1e;aspect-ratio:16/9}
  .foot__grid{grid-template-columns:1fr 1fr;padding:0 24px}
  .foot__bottom{padding:22px 24px 0}
  .tl__i{grid-template-columns:1fr;gap:4px}
  .mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:150;border-top:1px solid #2a2a2a;padding-bottom:env(safe-area-inset-bottom,0px);background:#0a0a0a}
  .mbar a{padding:15px 10px;text-align:center;font-size:12px;letter-spacing:2px;text-decoration:none}
  .mbar a:first-child{color:#f5f2ed}
  .mbar a:last-child{background:var(--gold);color:#0a0a0a;font-weight:500}
  body{padding-bottom:58px}
}
@media (max-width:560px){.foot__grid{grid-template-columns:1fr}.art__body h2{font-size:28px}.lead__phone{font-size:32px}}

@media (max-width:900px){.nav__tag,.nav__right{display:none}.nav__logo img{height:40px}.nav__inner{align-items:center}}
@media (max-width:1180px) and (min-width:901px){.menu{gap:22px}.nav__tag{display:none}}
