.showroom-page {
  --showroom-ink: #20231f;
  --showroom-muted: #596059;
  --showroom-paper: #fff;
  --showroom-ground: #f2f3ef;
  --showroom-accent: #ed5a18;
  color: var(--showroom-ink);
  background: var(--showroom-paper);
  padding-top: 76px;
}
.showroom-page *, .showroom-page *::before, .showroom-page *::after { box-sizing: border-box; }
.showroom-page img { display: block; max-width: 100%; height: auto !important; }
.showroom-hero {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  align-items: start;
  row-gap: 0;
  padding: clamp(28px,3vw,42px) 0 clamp(64px,7vw,100px);
}
.showroom-hero-copy { position: absolute; z-index: 1; top: 50%; left: clamp(24px,7vw,112px); width: min(760px,calc(100% - 48px)); max-width: 760px; padding: 0; transform: translateY(-50%); }
.showroom-page .showroom-hero-copy .showroom-kicker { color: #fff !important; }
.showroom-page .showroom-hero-copy h1 { color: #fff !important; }
.showroom-kicker { margin: 0 0 22px; color: var(--showroom-accent); font-size: 13px; font-weight: 700; letter-spacing: .15em; line-height: 1.4; text-transform: uppercase; }
.showroom-hero h1 { max-width: 12ch; margin: 0; font-size: clamp(48px,5.7vw,82px); font-weight: 650; letter-spacing: -.065em; line-height: .98; }
.showroom-lede { max-width: 55ch; margin: 24px 0 0; color: rgba(255,255,255,.92); font-size: clamp(17px,1.35vw,20px); line-height: 1.65; }
.showroom-page .showroom-hero-copy .showroom-lede { color: rgba(255,255,255,.92) !important; }
.showroom-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 34px; }
.showroom-pill { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 30px; padding: 0 25px; border-radius: 999px; color: #fff; background: var(--showroom-ink); font-size: 15px; font-weight: 650; text-decoration: none; transition: background-color .2s ease, transform .2s ease; }
.showroom-pill:hover,.showroom-pill:focus-visible { color: #fff; background: var(--showroom-accent); transform: translateY(-2px); }
.showroom-pill span,.showroom-outreach a span { font-size: 20px; }
.showroom-text-link { color: var(--showroom-ink); font-size: 15px; font-weight: 600; text-decoration: underline; text-decoration-color: #b5b8b2; text-underline-offset: 5px; }
.showroom-text-link:hover { color: var(--showroom-accent); }
.showroom-hero-photo { position: relative; width: 100vw; min-width: 0; min-height: min(760px,calc(100vh - 130px)); margin: 0 0 0 calc(50% - 50vw); overflow: hidden; background: #20231f; }
.showroom-hero-photo::after { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(14,17,15,.78) 0%,rgba(14,17,15,.52) 38%,rgba(14,17,15,.12) 75%),linear-gradient(0deg,rgba(14,17,15,.2),transparent 38%); content: ""; pointer-events: none; }
.showroom-hero-photo img { width: 100%; height: min(760px,calc(100vh - 130px)) !important; min-height: 560px; object-fit: cover; object-position: center 52%; border-radius: 0; }
.showroom-hero-photo figcaption { position: absolute; right: 18px; bottom: 18px; display: flex; gap: 8px; align-items: center; padding: 12px 16px; border-radius: 999px; color: #fff; background: rgba(25,28,25,.88); font-size: 13px; font-weight: 600; }
.showroom-hero-photo figcaption span + span { padding-left: 9px; border-left: 1px solid rgba(255,255,255,.45); }
.showroom-hero-note { max-width: 70ch; margin: 25px clamp(22px,7vw,112px) 0; color: var(--showroom-muted); font-size: 15px; line-height: 1.65; }
.showroom-gallery { padding: clamp(74px,8vw,116px) clamp(22px,7vw,112px) clamp(88px,10vw,144px); background: var(--showroom-ground); }
.showroom-section-heading { display: grid; grid-template-columns: 1fr .72fr; column-gap: 8vw; row-gap: 16px; align-items: end; margin-bottom: clamp(42px,5vw,70px); }
.showroom-section-heading .showroom-kicker { grid-column: 1 / -1; margin-bottom: 0; }
.showroom-section-heading h2,.showroom-visit h2 { max-width: 12ch; margin: 0; font-size: clamp(42px,5.5vw,76px); font-weight: 620; letter-spacing: -.06em; line-height: .99; }
.showroom-visit h2 { color: #fff; }
.showroom-section-heading > p:last-child { max-width: 44ch; margin: 0 0 4px; color: var(--showroom-muted); font-size: 17px; line-height: 1.7; }
.showroom-photo-run.showroom-photo-mosaic { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); grid-auto-rows: clamp(170px,16vw,232px); gap: clamp(18px,2vw,28px); }
.showroom-photo-tile { display: grid; min-width: 0; min-height: 0; grid-template-rows: minmax(0,1fr) auto; align-self: stretch; margin: 0; }
.showroom-photo-tile img { min-height: 0; width: 100%; height: 100% !important; aspect-ratio: auto; border-radius: 22px; object-fit: cover; background: #e5e6e2; transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .4s ease; }
.showroom-photo-tile-1 { grid-column: span 7; grid-row: span 2; }
.showroom-photo-tile-2,.showroom-photo-tile-3 { grid-column: span 5; }
.showroom-photo-tile-4,.showroom-photo-tile-5,.showroom-photo-tile-6,.showroom-photo-tile-7,.showroom-photo-tile-8,.showroom-photo-tile-9 { grid-column: span 4; }
.showroom-photo-tile figcaption { margin-top: 12px; color: var(--showroom-muted); font-size: 14px; line-height: 1.45; }
.showroom-photo-tile:hover img { filter: saturate(1.04); }
.showroom-visit { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px,9vw,132px); padding: clamp(76px,10vw,144px) clamp(22px,7vw,112px); color: #fff; background: #20231f; }
.showroom-visit .showroom-kicker { color: #ff8a50; }
.showroom-visit-intro > p:last-child { max-width: 43ch; margin: 25px 0 0; color: rgba(255,255,255,.72); font-size: 17px; line-height: 1.7; }
.showroom-visit-details address { margin: 0; padding-bottom: 28px; border-bottom: 1px solid rgba(255,255,255,.24); color: #fff; font-size: clamp(19px,2vw,25px); font-style: normal; line-height: 1.55; }
.showroom-contact-links { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 28px; padding: 25px 0; border-bottom: 1px solid rgba(255,255,255,.24); }
.showroom-contact-links a { display: grid; gap: 6px; width: fit-content; color: #fff; text-decoration: none; }
.showroom-contact-links a:hover strong { color: #ff8a50; }
.showroom-contact-links span,.showroom-tour-links > span { color: rgba(255,255,255,.62); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.showroom-contact-links strong { font-size: 16px; font-weight: 600; transition: color .2s ease; }
.showroom-tour-links { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding-top: 24px; }
.showroom-tour-links > span { width: 100%; margin-bottom: 3px; }
.showroom-floor-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; width: 100%; }
.showroom-floor-link { display: grid; justify-items: start; align-content: start; gap: 13px; padding: 22px; border: 1px solid rgba(255,255,255,.13); border-radius: 20px; background: rgba(255,255,255,.035); }
.showroom-floor-link h3 { margin: 0; color: #fff; font-size: 18px; font-weight: 650; }
.showroom-tour-links a { display: inline-flex; align-items: center; gap: 9px; min-height: 42px; padding: 0 16px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; color: #fff; font-size: 14px; text-decoration: none; transition: border-color .2s ease,background-color .2s ease; }
.showroom-tour-links a:hover { border-color: #ff8a50; background: rgba(255,138,80,.14); }
.showroom-3d-button { position: relative; display: inline-flex; min-width: 142px; min-height: 48px; align-items: center; justify-content: center; padding: 0 31px 0 20px; border: 1px solid #343834; border-radius: 999px; color: #fff; background: #111310; font: inherit; font-size: 14px; font-weight: 650; text-decoration: none; cursor: pointer; transition: background-color .2s ease,transform .2s ease; }
.showroom-3d-button::after { position: absolute; top: -6px; right: -5px; width: 22px; height: 22px; border: 2px solid #fff; border-radius: 50%; background: #111310; content: ""; }
.showroom-3d-button:hover,.showroom-3d-button:focus-visible { color: #fff; background: #2a2d29; transform: translateY(-1px); }
.showroom-directions-link { min-height: 0 !important; padding: 0 !important; border: 0 !important; color: rgba(255,255,255,.7) !important; font-size: 13px !important; }
.showroom-directions-link:hover { color: #ff8a50 !important; background: transparent !important; }
.showroom-outreach { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 32px; padding: 28px clamp(22px,7vw,112px); background: #e8eae5; }
.showroom-outreach p { margin: 0; font-size: 18px; font-weight: 600; }
.showroom-outreach a { display: inline-flex; align-items: center; gap: 14px; color: var(--showroom-ink); font-size: 15px; font-weight: 650; text-decoration: underline; text-decoration-color: #9ea39a; text-underline-offset: 5px; }
.showroom-outreach a:hover { color: var(--showroom-accent); }
.showroom-outreach > span { color: var(--showroom-muted); font-size: 14px; }
@media (max-width: 900px) {
  .showroom-page { padding-top: 82px; }
  .showroom-hero { grid-template-columns: 1fr; gap: 0; padding-top: 24px; }
  .showroom-hero-copy { left: clamp(22px,6vw,56px); width: min(700px,calc(100% - 44px)); max-width: 700px; }
  .showroom-hero h1 { max-width: 12ch; }
  .showroom-hero-photo { grid-row: 1; min-height: 580px; }
  .showroom-hero-photo img { height: 580px !important; min-height: 580px; }
  .showroom-hero-note { grid-column: 1; max-width: 58ch; }
  .showroom-visit { grid-template-columns: 1fr; gap: 38px; }
}
@media (max-width: 600px) {
  .showroom-page { padding-top: 78px; }
  .showroom-gallery,.showroom-visit { padding-right: 20px; padding-left: 20px; }
  .showroom-hero { padding-top: 12px; padding-bottom: 74px; }
  .showroom-hero-copy { top: auto; bottom: 34px; left: 20px; width: calc(100% - 40px); transform: none; }
  .showroom-kicker { margin-bottom: 17px; font-size: 12px; }
  .showroom-hero h1 { max-width: 11ch; font-size: clamp(42px,11vw,60px); }
  .showroom-lede { max-width: 42ch; margin-top: 16px; font-size: 16px; }
  .showroom-hero-actions { gap: 18px; margin-top: 25px; }
  .showroom-hero-photo { min-height: 620px; }
  .showroom-hero-photo::after { background: linear-gradient(0deg,rgba(14,17,15,.84) 0%,rgba(14,17,15,.55) 42%,rgba(14,17,15,.1) 100%); }
  .showroom-hero-photo img { height: 620px !important; min-height: 620px; aspect-ratio: auto; border-radius: 0; object-position: 57% center; }
  .showroom-hero-photo figcaption { right: 12px; bottom: 12px; font-size: 12px; }
  .showroom-hero-note { font-size: 15px; }
  .showroom-gallery { padding-top: 70px; padding-bottom: 78px; }
  .showroom-section-heading { grid-template-columns: 1fr; gap: 18px; margin-bottom: 38px; }
  .showroom-section-heading .showroom-kicker { grid-column: auto; }
  .showroom-section-heading h2,.showroom-visit h2 { font-size: clamp(42px,11vw,58px); }
  .showroom-section-heading > p:last-child { font-size: 16px; }
  .showroom-photo-run.showroom-photo-mosaic { grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: auto; gap: 24px 14px; }
  .showroom-photo-tile-1 { grid-column: 1 / -1; grid-row: auto; }
  .showroom-photo-tile-2,.showroom-photo-tile-3,.showroom-photo-tile-4,.showroom-photo-tile-5,.showroom-photo-tile-6,.showroom-photo-tile-7,.showroom-photo-tile-8,.showroom-photo-tile-9 { grid-column: span 1; grid-row: auto; }
  .showroom-photo-tile img { height: auto !important; aspect-ratio: 1.38; border-radius: 16px; }
  .showroom-photo-tile-1 img { aspect-ratio: 1.5; }
  .showroom-photo-tile figcaption { margin-top: 9px; font-size: 13px; }
  .showroom-visit { gap: 32px; padding-top: 76px; padding-bottom: 78px; }
  .showroom-visit-intro > p:last-child { margin-top: 18px; font-size: 16px; }
  .showroom-contact-links { gap: 20px 14px; }
  .showroom-contact-links strong { font-size: 15px; }
  .showroom-tour-links { gap: 10px; }
  .showroom-tour-links a { min-height: 40px; padding-inline: 13px; }
  .showroom-floor-links { grid-template-columns: 1fr; gap: 14px; }
  .showroom-floor-link { grid-template-columns: minmax(0,1fr) auto; align-items: center; width: 100%; padding: 18px; }
  .showroom-floor-link h3 { grid-column: 1; }
  .showroom-3d-button { grid-column: 1; grid-row: 2; }
  .showroom-directions-link { grid-column: 2; grid-row: 2; }
  .showroom-outreach { align-items: flex-start; flex-direction: column; padding: 28px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .showroom-page *, .showroom-page *::before, .showroom-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
