:root {
  --ink: #29343e;
  --forest: #304f68;
  --forest-deep: #1f3447;
  --cream: #edf0f1;
  --paper: #fcfbf8;
  --sand: #d7dadd;
  --brass: #c47f42;
  --muted: #6c757d;
  --line: rgba(45, 58, 69, .16);
  --shadow: 0 24px 70px rgba(35, 51, 66, .16);
  --serif: 'Playfair Display', 'Bodoni 72', Didot, 'Baskerville', Georgia, serif;
  --sans: 'DM Sans', 'Avenir Next', Avenir, 'Helvetica Neue', Inter, ui-sans-serif, system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); line-height: 1.65; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.section { padding-block: clamp(76px, 10vw, 140px); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; top: 12px; left: 12px; padding: 10px 16px; background: white; transform: translateY(-150%); }
.skip-link:focus { transform: none; }
:focus-visible { outline: 3px solid #d7a354; outline-offset: 4px; }

h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--serif); font-weight: 500; letter-spacing: -.04em; line-height: 1.04; text-wrap: balance; }
h1 { font-size: clamp(2.9rem, 5.4vw, 5.25rem); }
h2 { font-size: clamp(2.7rem, 5vw, 5rem); }
h3 { line-height: 1.25; }
.eyebrow { margin-bottom: 18px; color: var(--brass); font-size: .72rem; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
.eyebrow.light { color: #e2c28d; }
.lead { font-family: var(--serif); font-size: clamp(1.35rem, 2.3vw, 2rem); line-height: 1.45; }
.fine-print { margin-top: 36px; color: var(--muted); font-size: .78rem; line-height: 1.55; }

.site-header { position: fixed; z-index: 100; top: 0; left: 0; display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 20px clamp(24px, 4vw, 64px); color: white; transition: background .25s, padding .25s, box-shadow .25s; }
.site-header.scrolled { padding-block: 12px; color: var(--ink); background: rgba(255, 253, 249, .96); box-shadow: 0 8px 36px rgba(15, 34, 28, .1); backdrop-filter: blur(12px); }
.wordmark { display: flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; }
.wordmark span { font-family: var(--serif); font-size: 2.2rem; font-weight: 600; letter-spacing: -.04em; line-height: 1; }
.wordmark small { max-width: 88px; font-size: .65rem; font-weight: 800; letter-spacing: .17em; line-height: 1.35; text-transform: uppercase; }
.site-nav { display: flex; align-items: center; gap: clamp(20px, 2.5vw, 40px); }
.site-nav a { font-size: .76rem; font-weight: 750; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.site-nav a:hover { color: var(--brass); }
.nav-cta { padding: 12px 17px; border: 1px solid currentColor; }
.menu-toggle { display: none; width: 44px; height: 44px; border: 0; color: inherit; background: transparent; }
.menu-toggle span:not(.sr-only) { display: block; width: 24px; height: 2px; margin: 5px auto; background: currentColor; }

.hero { position: relative; display: grid; min-height: 100svh; color: white; isolation: isolate; }
.hero-image, .hero-shade { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-image { object-position: 50% 55%; }
.hero-shade { z-index: -1; background: linear-gradient(90deg, rgba(28, 42, 57, .82) 0%, rgba(36, 55, 71, .46) 53%, rgba(66, 49, 39, .12) 100%), linear-gradient(0deg, rgba(28, 48, 65, .76), transparent 38%); }
.hero-content { align-self: center; max-width: 720px; margin-left: max(24px, calc((100% - 1180px) / 2)); margin-right: auto; padding-top: 80px; padding-bottom: 170px; }
.hero-content h1 { max-width: 650px; margin-bottom: 18px; font-size: clamp(2.45rem, 4.6vw, 4.35rem); }
.hero-copy { max-width: 540px; margin-bottom: 30px; color: rgba(255, 250, 242, .92); font-size: clamp(1rem, 1.5vw, 1.16rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: 13px 23px; border: 1px solid transparent; font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; transition: transform .2s, background .2s, color .2s; }
.button:hover { transform: translateY(-2px); }
.button.primary { color: var(--forest-deep); background: #f8edda; box-shadow: 0 8px 24px rgba(28, 21, 15, .14); }
.button.ghost { border-color: rgba(255,255,255,.7); color: white; }
.button.dark { color: white; background: var(--forest); }
.quick-facts { position: absolute; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: 1.7fr repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.35); }
.quick-facts div { padding: 22px 22px 25px; border-right: 1px solid rgba(255,255,255,.25); }
.quick-facts div:last-child { border-right: 0; }
.quick-facts dt { margin-bottom: 3px; font-size: .62rem; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; opacity: .72; }
.quick-facts dd { margin: 0; font-family: var(--serif); font-size: clamp(1rem, 1.8vw, 1.45rem); }
.quick-facts .fact-note { display: block; margin-top: 4px; font-family: var(--sans, inherit); font-size: .68rem; font-weight: 700; letter-spacing: .04em; line-height: 1.3; color: #f4d9b4; }
.quick-facts .hero-note { display: block; margin-top: 4px; font-family: var(--sans, inherit); font-size: .68rem; font-weight: 700; letter-spacing: .04em; line-height: 1.3; color: #f4d9b4; }

.intro { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(50px, 9vw, 130px); align-items: start; }
.section-heading h2 { margin-bottom: 0; }
.section-heading.compact { max-width: 760px; }
.intro-copy p:last-child { margin-bottom: 0; color: var(--muted); }
.intro-bullets { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.intro-bullets li { position: relative; padding: 0 0 14px 22px; border-bottom: 1px solid var(--line); color: var(--muted); }
.intro-bullets li::before { position: absolute; top: .58em; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--brass); content: ''; }
.intro-bullets li:last-child { padding-bottom: 0; border-bottom: 0; }

.feature-image { position: relative; height: min(78vw, 820px); min-height: 560px; color: white; }
.feature-image > img { width: 100%; height: 100%; object-fit: cover; }
.feature-image::after { position: absolute; inset: 0; content: ''; background: linear-gradient(0deg, rgba(8, 27, 22, .7), transparent 50%); }
.feature-caption { position: absolute; z-index: 1; right: 0; bottom: 42px; left: 0; display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.feature-caption span { font-family: var(--serif); font-weight: 500; letter-spacing: -.035em; font-size: clamp(2rem, 4vw, 4rem); }
.feature-caption p { max-width: 340px; margin: 0; }

.floor-map { padding-top: 0; }
.floor-map-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 44px; }
.floor-map-grid article { padding: 28px; border-top: 3px solid var(--brass); background: var(--cream); }
.floor-map-grid article:nth-child(2) { border-top-color: #759dbb; background: #e9edef; }
.floor-map-grid span { color: var(--muted); font-size: .62rem; font-weight: 850; letter-spacing: .14em; }
.floor-map-grid h3 { margin: 16px 0 10px; font-family: var(--serif); font-size: 1.65rem; font-weight: 500; }
.floor-map-grid p { margin: 0; color: var(--muted); font-size: .88rem; }

.audience { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; }
.fit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 1px solid var(--line); }
.fit-grid article { padding: 32px 30px 32px 0; border-bottom: 1px solid var(--line); }
.fit-grid article:nth-child(odd) { padding-right: 40px; border-right: 1px solid var(--line); }
.fit-grid article:nth-child(even) { padding-left: 40px; }
.fit-grid span { color: var(--brass); font-family: var(--serif); }
.fit-grid h3 { margin: 14px 0 10px; font-family: var(--serif); font-size: 1.45rem; font-weight: 400; }
.fit-grid p { margin: 0; color: var(--muted); font-size: .92rem; }

.use-cases { padding-top: 0; }
.use-case-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 48px; }
.use-case-card { min-height: 350px; padding: 30px 26px; color: white; background: var(--forest); }
.use-case-card:nth-child(2n) { background: #b86f3d; }
.use-case-card:nth-child(3n) { background: #65798a; }
.use-case-number { color: #e2c28d; font-family: var(--serif); font-size: 1.5rem; }
.use-case-card h3 { margin: 24px 0 14px; font-family: var(--serif); font-size: 1.55rem; font-weight: 400; line-height: 1.15; }
.use-case-card p { min-height: 125px; margin-bottom: 22px; color: rgba(255,255,255,.78); font-size: .88rem; line-height: 1.55; }
.use-case-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.use-case-tags span { padding: 5px 8px; border: 1px solid rgba(255,255,255,.28); color: rgba(255,255,255,.8); font-size: .6rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }

.spaces { background: var(--cream); }
.space-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 52px; }
.space-card { padding: 34px 36px 32px; border: 1px solid rgba(23, 32, 28, .12); background: var(--paper); }
.space-card:nth-child(3n) { background: #eef1f2; }
.space-card-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.space-card-top span { color: var(--brass); font-family: var(--serif); font-size: 1.6rem; }
.space-card-top p { margin: 0; color: var(--muted); font-size: .66rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.space-card h3 { margin: 26px 0 13px; font-family: var(--serif); font-size: 1.75rem; font-weight: 400; line-height: 1.12; }
.space-card .card-lead { min-height: 0; margin-bottom: 16px; color: var(--muted); font-size: .92rem; line-height: 1.5; }
.executive-list { display: grid; gap: 8px; min-height: 112px; margin: 0 0 24px; padding: 0; list-style: none; }
.executive-list li { position: relative; padding-left: 18px; color: var(--ink); font-size: .84rem; line-height: 1.45; }
.executive-list li::before { position: absolute; top: .62em; left: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--brass); content: ''; }
.space-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.space-tags span { padding: 6px 8px; border: 1px solid rgba(23, 32, 28, .18); color: var(--forest); font-size: .6rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }

.gallery-section { background: var(--cream); }
.gallery-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 48px; }
.gallery-heading > p { color: var(--muted); font-size: .84rem; }
.gallery { display: grid; grid-auto-flow: dense; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 250px; gap: 13px; }
.gallery-item { position: relative; overflow: hidden; padding: 0; border: 0; color: white; background: #d4d0c7; cursor: zoom-in; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.gallery-item:hover img { transform: scale(1.035); }
.gallery-item::after { position: absolute; inset: 45% 0 0; content: ''; background: linear-gradient(transparent, rgba(7, 25, 21, .7)); }
.gallery-item span { position: absolute; z-index: 1; bottom: 16px; left: 18px; font-size: .7rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.gallery-wide { grid-column: span 2; }
.gallery-tall { grid-row: span 2; }

.terrace { color: white; background: linear-gradient(135deg, #304f68, #3e607a); }
.split-feature { display: grid; grid-template-columns: 1.15fr .85fr; min-height: 650px; align-items: center; }
.split-image { height: 100%; min-height: 600px; }
.split-image img { width: 100%; height: 100%; object-fit: cover; }
.split-copy { padding: 60px clamp(40px, 7vw, 100px); }
.split-copy h2 { margin-bottom: 30px; }
.split-copy > p:not(.eyebrow) { color: rgba(255,255,255,.78); }
.check-list { margin: 32px 0 0; padding: 0; list-style: none; }
.check-list li { padding: 13px 0 13px 28px; border-top: 1px solid rgba(255,255,255,.16); background: linear-gradient(#d8b57b, #d8b57b) 0 23px/11px 1px no-repeat; }

.details { display: grid; grid-template-columns: .72fr 1.28fr; gap: 100px; }
.detail-layout { display: grid; gap: 55px; }
.detail-list { display: grid; grid-template-columns: 1fr 1fr; margin: 0; border-top: 1px solid var(--line); }
.detail-list > div { padding: 23px 30px 23px 0; border-bottom: 1px solid var(--line); }
.detail-list > div:nth-child(even) { padding-left: 30px; border-left: 1px solid var(--line); }
.detail-list dt { margin-bottom: 5px; color: var(--muted); font-size: .65rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.detail-list dd { margin: 0; font-family: var(--serif); font-size: 1.15rem; line-height: 1.45; }
.detail-list .incentive-row dt { color: var(--brass); }
.detail-list .incentive-row dd { color: var(--forest-deep); }
.detail-list .dd-note { display: block; margin-top: 5px; font-family: var(--sans); font-size: .78rem; line-height: 1.5; color: var(--muted); }
.detail-list .price-reduction-row { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; border-left: 0; }
.detail-list .price-reduction-cell { padding: 23px 30px 23px 0; border: 0; }
.detail-list .price-reduction-cell + .price-reduction-cell { padding-left: 30px; border-left: 1px solid var(--line); }
.detail-list .price-reduction-cell dt { color: var(--brass); }
.detail-list .price-reduction-cell dd { color: var(--forest-deep); }
.overview-bullets { margin: 12px 0 0; padding-left: 18px; font-family: var(--sans); font-size: .78rem; line-height: 1.45; color: var(--muted); }
.overview-bullets li { margin: 4px 0; }
.highlights { padding: 38px 42px; background: var(--cream); }
.highlights h3 { font-family: var(--serif); font-size: 1.7rem; font-weight: 400; }
.highlights ul { columns: 2; column-gap: 48px; margin: 0; padding-left: 20px; }
.highlights li { margin-bottom: 10px; break-inside: avoid; color: var(--muted); }
.details .fine-print { grid-column: 2; }

.market-position { background: #e9edef; }
.market-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 48px; }
.market-grid article { padding: 34px 30px; color: white; background: var(--forest); }
.market-grid article:nth-child(2) { background: #b86f3d; }
.market-grid article:nth-child(3) { color: var(--ink); background: #fffaf2; }
.market-grid span { font-size: .62rem; font-weight: 850; letter-spacing: .14em; }
.market-grid h3 { margin: 22px 0 12px; font-family: var(--serif); font-size: 1.75rem; font-weight: 500; line-height: 1.1; }
.market-grid p { margin: 0; color: rgba(255,255,255,.8); font-size: .9rem; }
.market-grid article:nth-child(3) p { color: var(--muted); }

.faq { padding-top: 0; }
.faq-list { max-width: 860px; margin-top: 42px; border-top: 1px solid var(--line); }
.faq-list details { padding: 18px 0; border-bottom: 1px solid var(--line); }
.faq-list summary { cursor: pointer; font-family: var(--serif); font-size: 1.25rem; }
.faq-list p { max-width: 760px; margin: 12px 0 0; color: var(--muted); font-size: .9rem; }

.location { padding-bottom: 0; color: white; background: linear-gradient(135deg, #1f3447, #3a4b5a); }
.location-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: end; gap: clamp(50px, 8vw, 100px); }
.location-copy { align-self: center; padding-bottom: 80px; }
.location-copy p:not(.eyebrow) { color: rgba(255,255,255,.72); }
.location-grid img { width: 100%; min-height: 560px; object-fit: cover; }
.amenities { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.amenities span { padding: 9px 12px; border: 1px solid rgba(255,255,255,.28); font-size: .68rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }

.professional { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; }
.professional-grid .lead { max-width: 660px; }
.resource-list { margin: 40px 0 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.resource-list li { display: flex; gap: 24px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.resource-list span { color: var(--brass); font-family: var(--serif); }

.closing-thought { color: white; background: linear-gradient(135deg, #b86f3d, #d78e52); }
.closing-inner { max-width: 900px; text-align: center; }
.closing-inner h2 { margin-bottom: 28px; }
.closing-inner > p:not(.eyebrow) { max-width: 800px; margin-inline: auto; color: rgba(255,255,255,.9); font-size: 1.08rem; }
.closing-link { display: inline-flex; gap: 10px; margin-top: 26px; color: white; font-size: .75rem; font-weight: 850; letter-spacing: .12em; text-decoration: underline; text-underline-offset: 6px; text-transform: uppercase; }

.contact { position: relative; overflow: hidden; min-height: 760px; display: grid; align-items: center; }
.contact-bg { position: absolute; z-index: -2; inset: 0; }
.contact-bg img { width: 100%; height: 100%; object-fit: cover; }
.contact::after { position: absolute; z-index: -1; inset: 0; content: ''; background: linear-gradient(90deg, rgba(11, 35, 29, .55), rgba(11, 35, 29, .1)); }
.contact-card { width: min(700px, calc(100% - 48px)); margin-left: max(24px, calc((100% - 1180px) / 2)); padding: clamp(42px, 7vw, 78px); background: rgba(255, 253, 249, .96); box-shadow: var(--shadow); }
.contact-card h2 { margin-bottom: 26px; }
.agent { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-top: 35px; padding-top: 28px; border-top: 1px solid var(--line); }
.agent strong, .agent span { display: block; }
.agent strong { font-family: var(--serif); font-size: 1.25rem; font-weight: 400; }
.agent span { color: var(--muted); font-size: .82rem; }
.listing-links { display: flex; gap: 25px; margin-top: 25px; }
.listing-links a { font-size: .76rem; font-weight: 750; text-underline-offset: 4px; }

.site-footer { padding: 52px 0 105px; color: rgba(244,247,249,.72); background: #202c36; }
.footer-grid { display: grid; grid-template-columns: .6fr 1.4fr; gap: 50px; align-items: start; }
.wordmark.inverse { color: white; }
.site-footer p { max-width: 720px; margin: 0; font-size: .76rem; }
.copyright { grid-column: 2; }

.lightbox { max-width: min(1100px, 94vw); max-height: 92vh; padding: 0; border: 0; color: white; background: transparent; overflow: visible; }
.lightbox::backdrop { background: rgba(4, 14, 12, .92); backdrop-filter: blur(8px); }
.lightbox img { max-width: 90vw; max-height: 80vh; object-fit: contain; box-shadow: 0 20px 70px rgba(0,0,0,.35); }
.lightbox p { margin: 12px 0 0; text-align: center; }
.lightbox-close { position: absolute; top: -44px; right: 0; border: 0; color: white; background: none; font-size: 2.4rem; cursor: pointer; }

.scroll-progress { position: fixed; z-index: 90; right: 0; bottom: 0; left: 0; height: 7px; background: rgba(31, 52, 71, .97); box-shadow: 0 -5px 22px rgba(23, 38, 52, .2); }
.scroll-progress-fill { width: 0%; height: 100%; background: linear-gradient(90deg, #759dbb, #d9874d); transition: width .08s linear; }
.mobile-cta { display: none; }

@media (max-width: 900px) {
  .site-header { padding: 14px 20px; }
  .menu-toggle { display: block; }
  .site-nav { position: absolute; top: 100%; right: 16px; display: none; width: min(320px, calc(100vw - 32px)); padding: 18px; color: var(--ink); background: var(--paper); box-shadow: var(--shadow); }
  .site-nav.open { display: grid; }
  .site-nav a { padding: 10px; }
  .hero { display: block; min-height: auto; }
  .hero-content { width: min(100% - 40px, 720px); margin-inline: auto; padding-top: 120px; padding-bottom: 72px; }
  .quick-facts { grid-template-columns: repeat(2, 1fr); }
  .quick-facts div { padding: 14px; }
  .quick-facts .home-fact { grid-column: span 2; }
  .quick-facts { position: relative; right: auto; bottom: auto; left: auto; width: min(100% - 40px, 1180px); margin-inline: auto; }
  .intro, .audience, .details, .professional { grid-template-columns: 1fr; gap: 50px; }
  .use-case-grid { grid-template-columns: 1fr 1fr; }
  .space-grid { grid-template-columns: 1fr; }
  .market-grid { grid-template-columns: 1fr; }
  .floor-map-grid { grid-template-columns: 1fr; }
  .details .fine-print { grid-column: 1; }
  .gallery { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 230px; }
  .split-feature, .location-grid { grid-template-columns: 1fr; }
  .split-image { min-height: 460px; }
  .location-grid img { min-height: 420px; }
  .contact-card { margin-inline: auto; }
}

@media (max-width: 600px) {
  .shell { width: min(100% - 32px, 1180px); }
  .section { padding-block: 76px; }
  .wordmark span { font-size: 1.8rem; }
  .hero-content { width: calc(100% - 32px); margin-inline: 16px; padding-top: 120px; padding-bottom: 72px; }
  h1 { font-size: clamp(2.8rem, 10vw, 4.3rem); }
  .hero-shade { background: linear-gradient(90deg, rgba(28, 42, 57, .84), rgba(55, 48, 43, .3)), linear-gradient(0deg, rgba(28, 48, 65, .88), transparent 60%); }
  .hero-copy { font-size: 1rem; }
  .hero-actions .button { width: 100%; }
  .quick-facts { width: calc(100% - 32px); margin-inline: 16px; }
  .quick-facts dd { font-size: 1rem; }
  .detail-list .price-reduction-row { grid-template-columns: 1fr 1fr; }
  .feature-image { min-height: 590px; }
  .feature-caption { display: block; bottom: 25px; }
  .feature-caption p { margin-top: 8px; }
  .fit-grid { grid-template-columns: 1fr; }
  .fit-grid article, .fit-grid article:nth-child(odd), .fit-grid article:nth-child(even) { padding: 28px 0; border-right: 0; }
  .use-case-grid { grid-template-columns: 1fr; }
  .use-case-card { min-height: 0; }
  .use-case-card p { min-height: 0; }
  .executive-list { min-height: 0; }
  .gallery-heading { display: block; }
  .gallery { display: flex; width: 100%; overflow-x: auto; scroll-snap-type: x mandatory; padding-inline: 16px; }
  .gallery-item, .gallery-wide, .gallery-tall { flex: 0 0 84vw; height: 470px; scroll-snap-align: center; }
  .split-image { min-height: 410px; }
  .split-copy { padding: 50px 24px; }
  .detail-list { grid-template-columns: 1fr; }
  .detail-list div, .detail-list div:nth-child(even) { padding: 20px 0; border-left: 0; }
  .highlights { padding: 30px 25px; }
  .highlights ul { columns: 1; }
  .location-copy { padding-bottom: 0; }
  .location-grid img { min-height: 320px; }
  .contact { min-height: 800px; }
  .contact-card { width: calc(100% - 32px); padding: 36px 25px; }
  .agent { align-items: stretch; flex-direction: column; }
  .listing-links { flex-direction: column; gap: 10px; }
  .footer-grid { grid-template-columns: 1fr; }
  .copyright { grid-column: 1; }
  .scroll-progress { height: 6px; }
  .mobile-cta { position: fixed; z-index: 89; right: 12px; bottom: 17px; left: 12px; display: flex; gap: 8px; }
  .mobile-cta a { flex: 1; padding: 10px 12px; color: white; background: var(--forest); box-shadow: 0 5px 18px rgba(20, 38, 52, .24); font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-align: center; text-decoration: none; text-transform: uppercase; }
  .mobile-cta a:last-child { color: var(--forest-deep); background: #f6e5cc; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

@media print {
  .site-header, .hero-actions, .gallery-section, .lightbox, .listing-links { display: none !important; }
  .hero { min-height: 7.5in; break-after: page; }
  .hero-content { padding: 2in .5in 0; }
  .section { padding: .45in 0; }
  .feature-image, .terrace, .location, .professional { break-inside: avoid; }
}


.hero-value { display: inline-flex; max-width: 520px; flex-direction: column; gap: 4px; margin-bottom: 24px; padding: 12px 16px; border-left: 3px solid #f4d09b; color: #fffaf2; background: rgba(20, 38, 52, .5); box-shadow: 0 12px 28px rgba(20, 38, 52, .12); }
.hero-deal-points { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; font-size: .86rem; font-weight: 700; line-height: 1.35; }
.hero-deal-points li::before { content: '- '; color: #f4d09b; }
.hero-value strong { font-size: .78rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.hero-value span { font-size: .92rem; line-height: 1.45; }
.floor-plan-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 28px; }
.floor-plan-gallery figure { margin: 0; padding: 12px; background: #fff; border: 1px solid rgba(20, 38, 52, .12); box-shadow: 0 12px 32px rgba(20, 38, 52, .08); }
.floor-plan-gallery img { display: block; width: 100%; height: auto; max-height: 560px; object-fit: contain; background: #fff; }
.floor-plan-gallery figcaption { padding: 10px 2px 2px; color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
@media (max-width: 600px) {
  .floor-plan-gallery { grid-template-columns: 1fr; }
}


.floor-plan-trigger { position: relative; display: block; width: 100%; padding: 0; border: 0; color: var(--forest-deep); background: #fff; cursor: zoom-in; text-align: left; }
.floor-plan-trigger img { transition: transform .35s ease; }
.floor-plan-trigger:hover img { transform: scale(1.015); }
.floor-plan-trigger span { position: absolute; right: 12px; bottom: 12px; padding: 6px 9px; color: #fff; background: rgba(20, 38, 52, .82); font-size: .62rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.floor-plan-trigger:focus-visible { outline: 3px solid var(--brass); outline-offset: 4px; }

/* SEKHARS REALTY branding and contacts */
.site-header{background:#143f50}.site-header.scrolled{background:#143f50}.sr-brand{display:flex;flex-direction:column;align-items:center;flex-shrink:0;text-decoration:none}.sr-logo{display:block;width:220px;height:76px;object-fit:contain}.sr-tagline{font:700 10px/1.5 Arial,sans-serif;color:#e3c693;letter-spacing:.1em;white-space:nowrap}.agent .button{white-space:nowrap}.contact-card .listing-links{flex-wrap:wrap}.quick-facts dd{font-size:clamp(1rem,1.6vw,1.4rem)}@media(max-width:760px){.sr-logo{width:165px;height:58px}.sr-tagline{font-size:8px}.hero-content{padding-top:150px}}

.site-header.scrolled .site-nav a{color:#fff}.site-header.scrolled .menu-toggle span:not(.sr-only){background:#fff}section[id]{scroll-margin-top:135px}

.hero-shade{background:linear-gradient(90deg,rgba(15,35,46,.84),rgba(15,35,46,.46) 56%,rgba(15,35,46,.14)),linear-gradient(0deg,rgba(15,35,46,.9),transparent 45%)}.hero-image{object-position:center 45%}.hero-content{padding-bottom:190px}.hero h1{max-width:740px}.quick-facts{grid-template-columns:repeat(4,1fr)}@media(max-width:760px){.hero-content{padding-bottom:50px}.quick-facts{grid-template-columns:repeat(2,1fr)}.hero-image{object-position:58% center}.detail-layout .button{white-space:normal}}
