:root {
  --v2-obsidian: #050505;
  --v2-graphite: #121212;
  --v2-charcoal: #1b1a18;
  --v2-ivory: #f3efe7;
  --v2-stone: #b9b4ab;
  --v2-gold: #d5af45;
  --v2-gold-muted: rgba(213, 175, 69, .35);
  --v2-rule: rgba(243, 239, 231, .16);
  --v2-glass: rgba(7, 7, 7, .78);
}

/* V2: homepage moves through photo, stone, glass, and graphite rather than stacked black blocks. */
.hero-v2 {
  min-height: min(86vh, 800px);
  min-height: 680px;
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: center;
  overflow: clip;
  background: var(--v2-obsidian);
}
.hero-v2-media, .hero-v2-media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-v2-media { z-index: -2; display: block; }
.hero-v2-media img { object-fit: cover; object-position: 68% 50%; }
.hero-v2::after { content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(5,5,5,.96) 0%, rgba(5,5,5,.90) 40%, rgba(5,5,5,.40) 61%, rgba(5,5,5,.06) 100%); }
.hero-v2-container { width: 100%; }
.hero-v2-content { width: min(54%, 690px); margin: 0; padding: 52px 0 38px 30px; text-align: left; border-left: 1px solid var(--v2-gold-muted); }
.hero-v2-eyebrow { margin: 0 0 18px; color: var(--v2-gold); }
.hero-v2-title { max-width: 600px; margin: 0 0 24px !important; color: var(--v2-ivory) !important; font-size: clamp(3.65rem, 5.4vw, 5.05rem) !important; line-height: 1.04 !important; letter-spacing: -.035em; }
.hero-v2-support { max-width: 570px !important; margin: 0 0 30px !important; color: rgba(243,239,231,.80) !important; line-height: 1.72 !important; }
.hero-v2-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.hero-v2-actions .btn { min-height: 48px; }
.hero-v2-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; max-width: 670px; margin-top: 48px; padding-top: 18px; border-top: 1px solid var(--v2-rule); }
.hero-v2-facts > div { padding: 0 18px; border-left: 1px solid rgba(243,239,231,.12); }
.hero-v2-facts > div:first-child { padding-left: 0; border-left: 0; }
.hero-v2-facts p { margin: 0 0 7px; color: var(--v2-gold); font-size: 10px; font-weight: 700; letter-spacing: .13em; line-height: 1.3; }
.hero-v2-facts span { display: block; color: rgba(243,239,231,.66); font-size: 12px; line-height: 1.45; }

/* V2 membership is the immediate conversion module. Existing plan URLs, data, and calculations remain untouched. */
.membership-v2 { position: relative; isolation: isolate; overflow: clip; padding: 96px 0 112px; background: linear-gradient(110deg, #1b1a18 0%, #111 58%, #0d0d0d 100%) !important; border: 0 !important; }
.membership-v2::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .14; background: radial-gradient(circle at 12% 0%, rgba(213,175,69,.28), transparent 34%), repeating-linear-gradient(135deg, transparent 0 32px, rgba(243,239,231,.035) 33px 34px); }
.membership-v2-media { position: absolute; display: block; right: max(0px, calc((100vw - 1280px)/2)); top: 74px; width: min(40vw, 510px); aspect-ratio: 4 / 5; overflow: hidden; }
.membership-v2-media img { width: 100%; height: 100%; object-fit: cover; object-position: 66% 52%; }
.membership-v2-media::after { content: ""; position:absolute; inset:0; background: linear-gradient(90deg, rgba(18,18,18,.34), transparent 45%), linear-gradient(0deg, rgba(18,18,18,.46), transparent 48%); }
.membership-v2-container { position: relative; z-index: 1; max-width: 1280px; }
.membership-v2 #membership-teaser { width: 56%; display: block !important; padding: 0 0 72px !important; }
.membership-v2 #membership-teaser > div:first-child { max-width: 560px; }
.membership-v2 .membership-headline { color: var(--v2-ivory) !important; font-size: clamp(3rem, 4.6vw, 4.2rem) !important; line-height: 1.05 !important; letter-spacing: -.035em; }
.membership-v2 .membership-headline span { color: var(--v2-gold); }
.membership-v2 #membership-teaser > div:last-child { display: none !important; }
.membership-v2 #membership-plans { max-height: none !important; opacity: 1 !important; overflow: visible !important; }
.membership-v2 #membership-plans > div { padding-bottom: 0 !important; }
.membership-v2 #membership-plans > div > div:first-child { position: relative; width: min(840px, 76%); max-width: 860px; margin: 0 !important; padding: 0 !important; transform: translateY(0); }
.membership-v2 #membership-plans > div > div:first-child > div { border-radius: 0 !important; border-color: rgba(243,239,231,.19) !important; background: rgba(5,5,5,.78) !important; box-shadow: none !important; }
.membership-v2 #membership-plans > div > div:first-child > div:nth-child(2) { border-top: 3px solid var(--v2-gold) !important; }
.membership-v2 #membership-plans > div > div:first-child > div a { border-radius: 8px !important; }
.membership-v2 #membership-plans > div > p { max-width: 780px; margin: 24px 0 0 !important; text-align: left !important; }

.visit-ribbon-section { padding: 96px 0 104px; background: var(--v2-obsidian); overflow: clip; }
.visit-ribbon-heading { max-width: 1280px; padding-bottom: 30px; }
.v2-section-title { margin: 10px 0 12px; color: var(--v2-ivory); font-family: 'Playfair Display', Georgia, serif; font-size: clamp(2.6rem, 4.2vw, 3.75rem); font-weight: 600; line-height: 1.08; letter-spacing: -.025em; }
.visit-ribbon-heading > p:last-child { max-width: 530px; margin: 0; color: var(--v2-stone); font-size: 17px; line-height: 1.65; }
.visit-ribbon { display: grid; grid-template-columns: 1.2fr .82fr 1.2fr .82fr 1.2fr; gap: 10px; width: 100%; max-width: none; margin: 0; padding: 0; list-style: none; }
.visit-ribbon__item { position: relative; min-height: clamp(360px, 37vw, 520px); overflow: hidden; background: var(--v2-graphite); }
.visit-ribbon__item picture, .visit-ribbon__item img { display: block; width: 100%; height: 100%; }
.visit-ribbon__item img { object-fit: cover; transition: transform 800ms ease; }
.visit-ribbon__item:hover img { transform: scale(1.025); }
.visit-ribbon__item span { position: absolute; left: 0; bottom: 0; max-width: 230px; padding: 10px 14px; color: var(--v2-ivory); background: rgba(5,5,5,.74); border-top: 1px solid var(--v2-gold); font-size: 13px; line-height: 1.35; }

.private-visits-v2 { position: relative; overflow: hidden; padding-block: 104px !important; background: linear-gradient(135deg, #191919 0%, #111 58%, #151515 100%); }
.private-visits-v2::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.16; background: radial-gradient(ellipse at 10% 10%, rgba(213,175,69,.24), transparent 29%), linear-gradient(130deg, transparent 0 47%, rgba(243,239,231,.04) 48%, transparent 49%); }
.private-visits-v2 .container { position: relative; }
.private-visits-v2 .signature-section-head { text-align:left !important; margin-left:0 !important; margin-right:0 !important; }
.private-visits-v2 .signature-section-head p:last-child { margin-left:0 !important; }
.private-visits-v2 .signature-visit-grid { max-width: 1120px; margin-left:0; }
.private-visits-v2 .signature-visit { text-align:left !important; min-height: 330px; border-radius: 0 !important; border-color: rgba(243,239,231,.16) !important; background: rgba(5,5,5,.62) !important; box-shadow:none !important; }
.private-visits-v2 .signature-visit--featured { border-top:3px solid var(--v2-gold) !important; }
.private-visits-v2 .visit-price-row { justify-content:space-between !important; }
.private-visits-v2 .foundation-visit-link { text-align:left; }

.standard-v2 { padding: 108px 0; background: var(--v2-obsidian); }
.standard-v2-grid { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1fr); gap: clamp(34px, 6vw, 92px); align-items: center; max-width: 1180px; }
.standard-v2-media { display:block; aspect-ratio:4/5; max-height:580px; overflow:hidden; background:var(--v2-graphite); }
.standard-v2-media img { display:block; width:100%; height:100%; object-fit:cover; object-position:54% 50%; }
.standard-v2-support { max-width:600px; color:var(--v2-stone); line-height:1.7; }
.standard-v2-steps { margin:30px 0 0; padding:0; list-style:none; border-top:1px solid var(--v2-rule); }
.standard-v2-steps li { display:grid; grid-template-columns: 72px 1fr; gap:18px; padding:21px 0; border-bottom:1px solid var(--v2-rule); }
.standard-v2-steps > li > span { color:var(--v2-gold); font-family:'Playfair Display', Georgia, serif; font-size:25px; line-height:1; }
.standard-v2-steps h3 { margin:0 0 6px; color:var(--v2-ivory); font-size:12px; letter-spacing:.15em; }
.standard-v2-steps p { margin:0; color:var(--v2-stone); font-size:15px; line-height:1.58; }
.standard-v2-details { margin-top:24px; border-top:1px solid var(--v2-rule); color:var(--v2-stone); }
.standard-v2-details summary { padding:16px 0; color:var(--v2-ivory); cursor:pointer; }
.standard-v2-details p { line-height:1.65; }

.reviews-v2 { background: linear-gradient(135deg, #29251e, #1c1a18 48%, #24211d) !important; border: 0 !important; }
.reviews-v2 .display-3 { color:var(--v2-ivory) !important; }
.reviews-v2 #reviewsTrack > div { border-radius:0 !important; background:rgba(5,5,5,.45) !important; border-color:rgba(243,239,231,.18) !important; }

.coverage-v2 { position:relative; isolation:isolate; overflow:clip; min-height: 560px; display:grid; align-items:center; background:var(--v2-obsidian); }
.coverage-v2-media, .coverage-v2-media img { position:absolute; inset:0; z-index:-2; width:100%; height:100%; }
.coverage-v2-media img { object-fit:cover; object-position:65% 50%; }
.coverage-v2::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(5,5,5,.82) 0%,rgba(5,5,5,.71) 45%,rgba(5,5,5,.14) 100%); }
.coverage-v2 .card { max-width:620px !important; margin-left:0 !important; text-align:left !important; border-radius:0 !important; background:rgba(5,5,5,.72) !important; border-color:rgba(243,239,231,.19) !important; }
.coverage-v2 .card > div { justify-content:flex-start !important; }

@media (max-width: 900px) {
  .hero-v2-content { width:min(60%, 590px); }
  .membership-v2 #membership-teaser { width:62%; }
  .membership-v2 #membership-plans > div > div:first-child { width:88%; }
}

@media (max-width: 767px) {
  .hero-v2 { min-height:0; display:block; padding-top:70px; overflow:visible; }
  .hero-v2-media { position:relative; height:clamp(310px,48vh,460px); z-index:0; }
  .hero-v2-media img { object-position:58% 34%; }
  .hero-v2::after { top:70px; bottom:auto; height:clamp(310px,48vh,460px); z-index:1; background:linear-gradient(180deg,rgba(5,5,5,.02) 0%,rgba(5,5,5,.18) 42%,rgba(5,5,5,.92) 100%); }
  .hero-v2-container { background:linear-gradient(180deg,#050505,#121212); }
  .hero-v2-content { width:auto; margin:-22px 20px 0; padding:28px 20px 32px; position:relative; z-index:2; border-left:0; border-top:1px solid var(--v2-gold-muted); border-radius:20px 20px 0 0; background:linear-gradient(180deg,rgba(5,5,5,.96),#121212); }
  .hero-v2-title { font-size:clamp(2.75rem,12vw,3.35rem) !important; }
  .hero-v2-actions { display:grid; grid-template-columns:1fr; gap:12px; }
  .hero-v2-actions .btn { width:100%; justify-content:center; }
  .hero-v2-facts { grid-template-columns:1fr; gap:16px; margin-top:32px; }
  .hero-v2-facts > div { padding:0; border:0; }
  .hero-v2-facts p { margin-bottom:3px; }

  .membership-v2 { padding:0 0 60px; }
  .membership-v2-media { position:relative; top:auto; right:auto; width:100%; aspect-ratio:3/2; }
  .membership-v2-container { padding: 34px 20px 0; }
  .membership-v2 #membership-teaser { width:auto; padding:0 0 30px !important; }
  .membership-v2 .membership-headline { font-size:clamp(2.35rem,10vw,2.8rem) !important; }
  .membership-v2 #membership-plans > div > div:first-child { width:100%; display:flex !important; flex-direction:column; gap:14px !important; }
  .membership-v2 #membership-plans > div > div:first-child > div:nth-child(2) { order:-1; }
  .membership-v2 #membership-plans > div > p { margin:20px 0 0 !important; font-size:11px !important; }

  .visit-ribbon-section { padding:64px 0 70px; }
  .visit-ribbon-heading { padding:0 20px 24px; }
  .visit-ribbon { display:flex; gap:14px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; padding:0 20px 4px; scrollbar-width:none; }
  .visit-ribbon::-webkit-scrollbar { display:none; }
  .visit-ribbon__item { flex:0 0 82vw; min-height:0; aspect-ratio:4/5; scroll-snap-align:start; }
  .visit-ribbon__item span { font-size:13px; }

  .private-visits-v2 { padding:72px 0 !important; }
  .private-visits-v2 .container { padding-inline:20px; }
  .private-visits-v2 .signature-visit-grid { grid-template-columns:1fr !important; gap:14px !important; }
  .private-visits-v2 .signature-visit { min-height:0; padding:24px !important; }

  .standard-v2 { padding:72px 0; }
  .standard-v2-grid { grid-template-columns:1fr; gap:28px; padding-inline:20px; }
  .standard-v2-media { aspect-ratio:3/2; max-height:none; }
  .standard-v2-steps li { grid-template-columns:48px 1fr; }

  .coverage-v2 { min-height:0; padding:64px 0 !important; }
  .coverage-v2-media { position:absolute; }
  .coverage-v2-media img { object-position:60% 45%; }
  .coverage-v2::after { background:linear-gradient(90deg,rgba(5,5,5,.89),rgba(5,5,5,.48)); }
  .coverage-v2 .container { padding-inline:20px; }
  .coverage-v2 .card { padding:28px 22px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .visit-ribbon__item img { transition:none; }
  .visit-ribbon__item:hover img { transform:none; }
}

/* The legacy homepage wrapper used flex order values from an earlier page architecture. V2 owns the sequence through source order. */
#page-wrap { display: block; }
#page-wrap > #navigation { order: initial; }
#page-wrap > #home,
#page-wrap > #membership,
#page-wrap > .visit-ribbon-section,
#page-wrap > #services,
#page-wrap > #about,
#page-wrap > #reviews,
#page-wrap > #book,
#page-wrap > #contact-form { order: initial; }

/* V2 layout correction: override the legacy narrow homepage container with the intended editorial reading measure. */
.hero-v2-container { width: calc(100% - 80px) !important; max-width: 1280px !important; margin: 0 auto !important; }
.hero-v2-content { width: min(54%, 690px) !important; max-width: 690px !important; }
@media (max-width: 767px) {
  .hero-v2-container { width: 100% !important; max-width: none !important; }
  .hero-v2-content { width: auto !important; max-width: none !important; }
}

/* Exact override of prior #home .hero-content visual experiments. */
#page-wrap #home.hero-v2 > .hero-v2-container {
  width: calc(100% - 80px) !important;
  max-width: 1280px !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}
#page-wrap #home.hero-v2 .hero-v2-content {
  width: min(54%, 690px) !important;
  max-width: 690px !important;
  padding-left: 30px !important;
}
@media (max-width: 767px) {
  #page-wrap #home.hero-v2 > .hero-v2-container { width: 100% !important; max-width: none !important; }
  #page-wrap #home.hero-v2 .hero-v2-content { width: auto !important; max-width: none !important; padding-left: 20px !important; }
}

/* The legacy hero used a two-track grid; V2 needs one full-width track with a 54% internal reading rail. */
#page-wrap #home.hero-v2 { grid-template-columns: minmax(0, 1fr) !important; }

/* === V2 treatments menu: presentation only. Service objects, category keys and booking controls are unchanged. === */
.s-hero-v2 {
  position: relative;
  isolation: isolate;
  min-height: min(60vh, 680px);
  display: flex;
  align-items: flex-end;
  text-align: left;
  padding: 132px max(5vw, 40px) 76px;
  overflow: hidden;
  background: var(--v-obsidian);
}
.s-hero-v2-media,
.s-hero-v2-media picture,
.s-hero-v2-media img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.s-hero-v2-media { z-index: -2; }
.s-hero-v2-media img { object-fit: cover; object-position: 69% 51%; }
.s-hero-v2::after { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, rgba(5,5,5,.92) 0%, rgba(5,5,5,.74) 40%, rgba(5,5,5,.20) 68%, rgba(5,5,5,.04) 100%); }
.s-hero-v2-content { width: min(100%, 610px); }
.s-hero-v2 .s-hero-eyebrow { margin: 0 0 18px; color: var(--v-gold); }
.s-hero-v2 .s-hero-title { margin: 0 0 20px; max-width: 600px; font: 500 clamp(2.75rem, 5vw, 5rem)/.98 var(--v-font-display); letter-spacing: -.045em; }
.s-hero-v2 .s-hero-sub { max-width: 545px; margin: 0; color: rgba(243,239,231,.78); font: 400 1rem/1.7 var(--v-font-ui); }
.s-hero-v2 .clr-gate { position: relative; margin: 28px 0 0; z-index: 2; }
.s-hero-v2 .cat-tabs { position: absolute; bottom: 30px; right: max(5vw, 40px); z-index: 2; margin: 0; justify-content: flex-end; }
.s-hero-v2 .cat-btn { min-height: 42px; border-radius: 999px; background: rgba(5,5,5,.52); backdrop-filter: blur(8px); }
.prechoose-note-v2 { display: block; width: min(100% - 48px, 1200px); margin: 30px auto 8px; padding: 0; border: 0; background: none; color: var(--v-muted); font: 400 .91rem/1.65 var(--v-font-ui); }
.prechoose-note-v2 summary { display: inline-flex; gap: 9px; align-items: center; padding: 0; color: var(--v-ivory); cursor: pointer; list-style: none; font: 600 .78rem/1.2 var(--v-font-ui); letter-spacing: .12em; text-transform: uppercase; }
.prechoose-note-v2 summary::-webkit-details-marker { display: none; }
.prechoose-note-v2 summary::after { content: '+'; color: var(--v-gold); font-size: 1.2rem; font-weight: 400; }
.prechoose-note-v2[open] summary::after { content: '−'; }
.prechoose-note-v2 p { max-width: 880px; margin: 12px 0 0; padding: 16px 18px; border-left: 2px solid var(--v-gold); background: rgba(255,255,255,.025); }
.prechoose-note-v2 strong { color: var(--v-gold); }
.t-grid { display: block; max-width: 1280px; padding: 48px 24px 86px; }
.menu-shelf { margin: 0 0 70px; }
.menu-shelf-head { display: flex; align-items: center; gap: 18px; margin: 0 0 25px; }
.menu-shelf-head p { flex: 0 0 auto; margin: 0; color: var(--v-gold); font: 600 .75rem/1.2 var(--v-font-ui); letter-spacing: .15em; text-transform: uppercase; }
.menu-shelf-head span { height: 1px; flex: 1; background: linear-gradient(90deg, rgba(213,175,69,.52), rgba(213,175,69,0)); }
.menu-shelf-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.menu-shelf[data-v2-shelf="foundation"] .menu-shelf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 640px; }
.menu-shelf[data-v2-shelf="situation"] .menu-shelf-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.menu-shelf[data-v2-shelf="nad"] .menu-shelf-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 960px; }
.t-card-v2 { min-height: 282px; display: flex; flex-direction: column; padding: 24px; border: 1px solid rgba(243,239,231,.15); border-radius: 0; background: linear-gradient(155deg, rgba(255,255,255,.055), rgba(255,255,255,.018)); box-shadow: none; }
.t-card-v2::before { display: none; }
.t-card-v2:hover { transform: translateY(-4px); border-color: rgba(213,175,69,.67); box-shadow: 0 18px 40px rgba(0,0,0,.22); }
.t-card-v2-top { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.t-card-v2-utility { color: var(--v-gold); font: 600 .65rem/1.25 var(--v-font-ui); letter-spacing: .13em; text-transform: uppercase; }
.t-card-v2 .t-card-name { margin-top: 24px; color: var(--v-ivory); font: 500 clamp(1.4rem, 1.8vw, 2rem)/1.05 var(--v-font-display); }
.t-card-v2 .t-card-price { flex: 0 0 auto; color: var(--v-gold); font: 600 1rem/1 var(--v-font-ui); }
.t-card-v2-support { margin: 15px 0 0; color: rgba(243,239,231,.68); font: 400 .88rem/1.55 var(--v-font-ui); }
.t-card-v2 .t-card-duration { margin-top: 18px; color: rgba(243,239,231,.48); font: 500 .73rem/1.4 var(--v-font-ui); }
.t-card-v2 .t-card-cta { margin-top: auto; padding-top: 22px; }
.t-card-v2 .t-card-btn { padding: 0; border: 0; border-radius: 0; background: none; color: var(--v-ivory); font: 600 .76rem/1.2 var(--v-font-ui); letter-spacing: .06em; text-transform: uppercase; }
.t-card-v2 .t-card-btn span { margin-left: 7px; color: var(--v-gold); transition: transform .2s ease; }
.t-card-v2:hover .t-card-btn span { display: inline-block; transform: translateX(4px); }
.menu-addons { margin-top: 82px; padding: 56px 0 0; border-top: 1px solid rgba(213,175,69,.42); }
.menu-addons h2 { margin: 0; max-width: 650px; color: var(--v-ivory); font: 500 clamp(2rem, 3.5vw, 3.7rem)/1.05 var(--v-font-display); letter-spacing: -.04em; }
.menu-addons > p { max-width: 620px; margin: 18px 0 32px; color: var(--v-muted); font: 400 1rem/1.65 var(--v-font-ui); }
.menu-addon-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.menu-addon-grid .t-card-v2 { min-height: 250px; }
@media (max-width: 900px) {
  .menu-shelf-grid, .menu-shelf[data-v2-shelf="situation"] .menu-shelf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .menu-addon-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .s-hero-v2 { min-height: 0; padding: 0 0 38px; display: block; background: var(--v-obsidian); }
  .s-hero-v2-media { position: relative; height: clamp(280px, 80vw, 380px); }
  .s-hero-v2-media picture, .s-hero-v2-media img { position: absolute; }
  .s-hero-v2-media img { object-position: 68% 46%; }
  .s-hero-v2::after { top: 240px; background: linear-gradient(180deg, transparent 0%, rgba(5,5,5,.92) 100%); }
  .s-hero-v2-content { width: auto; margin: -8px 22px 0; padding: 30px 0 0; }
  .s-hero-v2 .s-hero-title { font-size: clamp(2.5rem, 13vw, 3.45rem); }
  .s-hero-v2 .cat-tabs { position: static; margin: 32px 22px 0; justify-content: flex-start; }
  .prechoose-note-v2 { width: auto; margin: 25px 22px 4px; }
  .t-grid { padding: 42px 20px 68px; }
  .menu-shelf { margin-bottom: 55px; }
  .menu-shelf-grid, .menu-shelf[data-v2-shelf="foundation"] .menu-shelf-grid, .menu-shelf[data-v2-shelf="situation"] .menu-shelf-grid, .menu-shelf[data-v2-shelf="nad"] .menu-shelf-grid, .menu-addon-grid { grid-template-columns: 1fr; max-width: none; }
  .t-card-v2 { min-height: 242px; padding: 22px; }
}

/* V2 contact support surface: coverage setting adds context while all contact actions remain in the original DOM. */
.contact-hero-v2 { position: relative; isolation: isolate; min-height: min(52vh, 580px); display: flex; align-items: flex-end; padding: 116px max(5vw, 40px) 72px; overflow: hidden; text-align: left; background: var(--v-obsidian); }
.contact-v2-media, .contact-v2-media picture, .contact-v2-media img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.contact-v2-media { z-index: -2; }
.contact-v2-media img { object-fit: cover; object-position: 65% 50%; }
.contact-hero-v2::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(5,5,5,.86) 0%, rgba(5,5,5,.62) 42%, rgba(5,5,5,.12) 72%, rgba(5,5,5,.04) 100%); pointer-events: none; }
.contact-v2-content { width: min(100%, 610px); }
.contact-hero-v2 .eyebrow { color: var(--v-gold); }
.contact-hero-v2 h1 { max-width: 600px; font: 500 clamp(2.8rem, 5vw, 4.8rem)/1.02 var(--v-font-display); letter-spacing: -.045em; }
.contact-hero-v2 .subtitle { max-width: 545px; margin-left: 0; color: rgba(243,239,231,.78); }
.contact-hero-v2 .contact-divider { margin-left: 0; }
.contact-body { max-width: 1200px; }
.contact-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.contact-card, .hours-section, .service-area, .faq-item { border-radius: 0; border-color: rgba(243,239,231,.15); background: rgba(17,17,17,.84); }
.contact-card a.card-link, .contact-card a.card-link-outline { border-radius: 999px; text-transform: none; letter-spacing: .01em; }
.contact-card .icon { font-size: 0; height: 2px; width: 36px; margin: 0 auto 18px; background: var(--v-gold); }
@media (max-width: 900px) { .contact-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 767px) {
  .contact-hero-v2 { display: block; min-height: 0; padding: 0 0 42px; }
  .contact-v2-media { position: relative; height: 300px; }
  .contact-v2-media picture, .contact-v2-media img { position: absolute; }
  .contact-v2-media img { object-position: 60% 45%; }
  .contact-hero-v2::after { top: 230px; background: linear-gradient(180deg, transparent 0%, rgba(5,5,5,.9) 100%); }
  .contact-v2-content { margin: -10px 22px 0; padding-top: 30px; }
  .contact-hero-v2 h1 { font-size: clamp(2.5rem, 12vw, 3.45rem); }
  .contact-grid { grid-template-columns: 1fr; }
}
