: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: #444; }
.footer__link { font-size: 11px; letter-spacing: 2px; color: #555; 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); }
}
