:root {
    --black: #0b0b0a;
    --charcoal: #222222;
    --gold: #dcaa38;
    --gold-dark: #a87816;
    --ivory: #f8f6f1;
    --white: #ffffff;
    --gray: #e7e4de;
    --muted: #68645d;
    --serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
    --sans: Manrope, "Segoe UI", Arial, sans-serif;
    --container: 1400px;
    --section: clamp(5rem, 9vw, 9rem);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body { margin: 0; min-width: 320px; overflow-x: hidden; color: var(--charcoal); background: var(--white); font-family: var(--sans); font-size: 16px; line-height: 1.7; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-underline-offset: .2em; }
a:hover { color: var(--gold-dark); }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
h1, h2, h3 { margin: 0 0 .65em; font-family: var(--serif); font-weight: 500; line-height: 1.06; letter-spacing: -.025em; }
h1 { font-size: clamp(2.65rem, 6.5vw, 5.8rem); }
h2 { font-size: clamp(2.2rem, 4.6vw, 4.25rem); }
h3 { font-size: clamp(1.45rem, 2.2vw, 2rem); }
p { margin: 0 0 1.25rem; }
.container { width: min(calc(100% - 2rem), var(--container)); margin-inline: auto; }
.section { padding-block: var(--section); }
.sr-only { position: absolute !important; 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: 9999; top: .75rem; left: .75rem; padding: .8rem 1rem; color: var(--white); background: var(--black); transform: translateY(-150%); }
.skip-link:focus { transform: none; }
.eyebrow { margin-bottom: 1.25rem; color: var(--gold); font-size: .875rem; font-weight: 800; line-height: 1.3; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow--dark { color: #8b6515; }
.section-heading { max-width: 790px; margin-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.section-heading > p:last-child { max-width: 680px; color: var(--muted); font-size: clamp(1rem, 1.8vw, 1.2rem); }
.button-row { display: flex; flex-wrap: wrap; gap: .8rem; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: .85rem 1.35rem; border: 1px solid var(--black); border-radius: 3px; color: var(--white); background: var(--black); font-size: 1rem; font-weight: 750; line-height: 1.25; text-align: center; text-decoration: none; cursor: pointer; transition: color .2s, background-color .2s, border-color .2s, transform .2s; }
.button:hover { color: var(--black); border-color: var(--gold); background: var(--gold); transform: translateY(-1px); }
.button:active { transform: translateY(0); }
.button--small { min-height: 48px; padding-inline: 1rem; }
.button--gold { color: var(--black); border-color: var(--gold); background: var(--gold); }
.button--gold:hover { color: var(--white); border-color: var(--white); background: transparent; }
.button--light { color: var(--white); border-color: rgba(255,255,255,.75); background: transparent; }
.button--light:hover { color: var(--black); border-color: var(--white); background: var(--white); }
.button--outline { color: var(--black); background: transparent; }

.topbar { position: relative; z-index: 1001; color: var(--white); background: var(--black); font-size: .875rem; }
.topbar__inner { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.topbar a { color: var(--white); font-weight: 700; }
.site-header { position: sticky; z-index: 1000; top: 0; border-bottom: 1px solid var(--gray); background: rgba(255,255,255,.97); }
.header__inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.brand { min-width: 0; flex: 0 1 260px; }
.brand img { width: min(260px, 64vw); height: auto; }
.site-nav { display: flex; align-items: center; gap: clamp(1rem, 1.5vw, 1.75rem); }
.site-nav > a:not(.button) { font-size: .875rem; font-weight: 600; letter-spacing: .075em; text-decoration: none; text-transform: uppercase; }
.menu-toggle { display: none; width: 48px; height: 48px; flex: 0 0 48px; padding: 12px; border: 0; border-radius: 3px; background: var(--black); cursor: pointer; }
.menu-toggle span:not(.sr-only) { display: block; height: 2px; margin: 5px 0; background: var(--white); transition: transform .2s, opacity .2s; }

.hero { position: relative; min-height: calc(100svh - 116px); display: grid; align-items: center; overflow: hidden; color: var(--white); background: var(--black); }
.hero__poster, .hero__poster img, .hero__video, .hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero__poster img { object-fit: cover; }
.hero__video { object-fit: cover; pointer-events: none; opacity: 0; transition: opacity .6s; }
.hero.video-ready .hero__video { opacity: 1; }
.hero__shade { background: linear-gradient(90deg, rgba(3,3,3,.84), rgba(3,3,3,.5) 58%, rgba(3,3,3,.25)); }
.hero__content { position: relative; z-index: 2; padding-block: clamp(5rem, 11vw, 9rem); }
.hero h1 { max-width: 960px; text-wrap: balance; }
.hero .eyebrow { font-size: clamp(1.15rem, 1.9vw, 1.75rem); letter-spacing: .13em; }
.hero__lead { max-width: 980px; font-size: clamp(1.3rem, 2.4vw, 2.5rem); line-height: 1.42; }
.hero .button { min-height: 88px; padding: 1.15rem 1.75rem; font-size: clamp(1rem, 1.25vw, 1.15rem); font-weight: 500; letter-spacing: .025em; }
.video-toggle { position: absolute; z-index: 3; right: max(1rem, calc((100% - var(--container))/2)); bottom: 1.25rem; min-width: 48px; min-height: 48px; padding: .6rem .85rem; border: 1px solid rgba(255,255,255,.65); border-radius: 3px; color: var(--white); background: rgba(11,11,10,.75); cursor: pointer; }
.video-toggle__play { display: none; }
.video-toggle[aria-pressed="true"] .video-toggle__pause { display: none; }
.video-toggle[aria-pressed="true"] .video-toggle__play { display: inline; }
.video-toggle__label { margin-left: .45rem; font-size: .875rem; }

.trust { padding-block: 2.5rem 3.5rem; border-bottom: 1px solid var(--gray); background: var(--ivory); }
.trust__grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #cfc9bd; border-bottom: 1px solid #cfc9bd; }
.trust__grid p { min-height: 74px; margin: 0; display: grid; place-items: center; padding: 1rem; border-right: 1px solid #cfc9bd; font-family: var(--serif); font-size: 1.2rem; font-weight: 600; text-align: center; }
.trust__grid p:last-child { border-right: 0; }
.trust__statement { max-width: 820px; margin: 2rem auto 0; color: var(--muted); text-align: center; }

.materials { background: var(--white); }
.materials__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.material-card { min-width: 0; display: grid; grid-template-columns: minmax(170px, 42%) 1fr; border: 1px solid var(--gray); background: var(--white); box-shadow: 0 10px 28px rgba(24,20,12,.055); }
.material-card__media { min-height: 270px; overflow: hidden; background: #d9d5cb; }
.material-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.material-card:hover img { transform: scale(1.025); }
.material-card__media--icon { display: grid; place-items: center; background: var(--black); }
.material-card__media--icon svg { width: 80px; fill: var(--gold); }
.material-card__body { align-self: center; padding: clamp(1.25rem, 3vw, 2rem); }
.material-card__body h3 { margin-bottom: .5rem; }
.material-card__body p { margin: 0; color: var(--muted); font-size: .96rem; }

.showroom { background: var(--ivory); }
.showroom__intro { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 7vw, 7rem); align-items: end; margin-bottom: 3rem; }
.showroom__intro p:last-child { color: var(--muted); font-size: 1.1rem; }
.gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem; }
.gallery figure { position: relative; min-height: 290px; margin: 0; overflow: hidden; background: #d8d5ce; }
.gallery__wide { grid-column: span 2; grid-row: span 2; }
.gallery img { width: 100%; height: 100%; object-fit: cover; }
.gallery figcaption { position: absolute; inset: auto 0 0; padding: 2.5rem 1rem 1rem; color: var(--white); background: linear-gradient(transparent, rgba(0,0,0,.76)); font-size: .875rem; font-weight: 700; }

.consultation { background: var(--white); }
.consultation__feature { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(2rem, 7vw, 7rem); }
.consultation__image img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.consultation__copy > p:not(.eyebrow,.offer,.fine-print) { font-size: 1.08rem; }
.offer { margin: 1.5rem 0; padding: 1rem 0 1rem 1.25rem; border-left: 3px solid var(--gold); }
.offer strong, .offer span { display: block; }
.offer strong { font-family: var(--serif); font-size: 1.35rem; }
.offer span { color: #795812; font-weight: 800; }
.fine-print { color: var(--muted); font-size: .9rem; }
.contact-panel { scroll-margin-top: 100px; display: grid; grid-template-columns: .8fr 1.2fr; margin-top: var(--section); color: var(--white); background: var(--black); }
.contact-panel__intro, .contact-panel__form { padding: clamp(2rem, 5vw, 4.5rem); }
.contact-panel__intro { background: #151512; }
.contact-panel__intro a { color: var(--white); }
.contact-panel__form { min-width: 0; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.field { margin-bottom: 1rem; }
.field--full { grid-column: 1/-1; }
.field label, .interest legend { display: block; margin-bottom: .4rem; font-size: .9rem; font-weight: 750; }
.optional { color: #bbb6ab; font-weight: 400; }
input, textarea { width: 100%; min-height: 48px; padding: .75rem; border: 1px solid #6b6862; border-radius: 3px; color: var(--white); background: #23231f; }
textarea { resize: vertical; }
input:focus, textarea:focus { border-color: var(--gold); }
[aria-invalid="true"] { border-color: #ff9d91; }
.interest { margin: 0 0 1.25rem; padding: 0; border: 0; }
.interest__options { display: flex; flex-wrap: wrap; gap: .5rem; }
.interest__options label { position: relative; cursor: pointer; }
.interest__options input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.interest__options span { min-height: 48px; display: inline-flex; align-items: center; padding: .65rem .85rem; border: 1px solid #6b6862; border-radius: 3px; }
.interest__options input:checked + span { color: var(--black); border-color: var(--gold); background: var(--gold); }
.interest__options input:focus-visible + span { outline: 3px solid var(--gold); outline-offset: 3px; }
.field-error { display: block; margin-top: .35rem; color: #ffb5ad; font-size: .875rem; }
.form-status { margin-bottom: 1.25rem; padding: 1rem; border-left: 4px solid var(--gold); background: #292923; }
.form-status p, .form-status ul { margin: 0; }
.form-status a { color: var(--white); }
.form-status--success { border-color: #8fd19e; }
.form-status--error { border-color: #ff9d91; }
.honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.process { background: var(--ivory); }
.process__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 0; padding: 0; list-style: none; background: #d6d0c4; }
.process__steps li { padding: clamp(1.5rem, 4vw, 3rem); background: var(--white); }
.process__steps span { display: block; margin-bottom: 2rem; color: #906a19; font-weight: 800; }
.process__steps p, .support-paths p { color: var(--muted); }
.support-paths { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin-top: 3rem; }
.support-paths article { padding-top: 1.5rem; border-top: 2px solid var(--gold); }

.local__grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: clamp(2rem, 8vw, 8rem); }
.local__grid > div > p:not(.eyebrow) { max-width: 650px; color: var(--muted); font-size: 1.08rem; }
.location-card { position: relative; padding: clamp(2rem, 5vw, 3.5rem); border: 1px solid var(--gray); background: var(--ivory); font-style: normal; box-shadow: 0 15px 45px rgba(24,20,12,.08); }
.location-card img { position: absolute; top: 1.5rem; right: 1.5rem; width: 58px; height: 58px; object-fit: contain; }
.location-card h3 { max-width: 75%; }

.final-cta { position: relative; min-height: 570px; display: grid; align-items: center; overflow: hidden; color: var(--white); background: var(--black); }
.final-cta > img, .final-cta__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.final-cta > img { object-fit: cover; }
.final-cta__shade { background: rgba(0,0,0,.68); }
.final-cta__content { position: relative; z-index: 1; max-width: 800px; text-align: center; }
.final-cta__content p:not(.eyebrow) { font-size: 1.15rem; }

.site-footer { padding-top: 4.5rem; color: #dedbd4; background: var(--black); font-size: .9rem; }
.footer__grid { display: grid; grid-template-columns: 1.4fr 1fr .85fr .65fr; gap: clamp(2rem, 5vw, 5rem); }
.site-footer h2 { color: var(--white); font-family: var(--sans); font-size: .9rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.site-footer a { color: var(--white); }
.site-footer address { font-style: normal; }
.footer__brand img { width: min(290px, 100%); height: auto; margin-bottom: 1.25rem; }
.footer__brand p { max-width: 350px; }
.site-footer nav { display: grid; gap: .55rem; }
.footer__bottom { display: flex; justify-content: space-between; gap: 2rem; margin-top: 3.5rem; padding-block: 1.4rem; border-top: 1px solid #393833; font-size: .875rem; }
.footer__bottom p { margin: 0; }

@media (max-width: 1050px) {
    .menu-toggle { display: block; }
    .site-nav { position: fixed; inset: 116px 0 auto; max-height: calc(100svh - 116px); display: grid; align-content: start; gap: 0; padding: 1rem; overflow-y: auto; border-top: 1px solid var(--gray); background: var(--white); transform: translateX(100%); visibility: hidden; transition: transform .25s, visibility .25s; }
    .site-nav.is-open { transform: none; visibility: visible; }
    .site-nav > a:not(.button) { min-height: 52px; display: flex; align-items: center; border-bottom: 1px solid var(--gray); font-size: 1rem; }
    .menu-toggle[aria-expanded="true"] span:nth-of-type(2) { transform: translateY(7px) rotate(45deg); }
    .menu-toggle[aria-expanded="true"] span:nth-of-type(3) { opacity: 0; }
    .menu-toggle[aria-expanded="true"] span:nth-of-type(4) { transform: translateY(-7px) rotate(-45deg); }
    .materials__grid { grid-template-columns: 1fr; }
    .material-card { grid-template-columns: minmax(220px, 40%) 1fr; }
    .footer__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 767px) {
    .topbar__inner { min-height: 44px; justify-content: center; }
    .topbar__area, .topbar__hours { display: none; }
    .site-nav { inset-block-start: 122px; max-height: calc(100svh - 122px); }
    .hero { min-height: calc(100svh - 122px); }
    .hero__shade { background: rgba(3,3,3,.63); }
    .button-row { flex-direction: column; align-items: stretch; }
    .video-toggle__label { display: none; }
    .trust__grid { grid-template-columns: 1fr 1fr; }
    .trust__grid p:nth-child(2) { border-right: 0; }
    .trust__grid p:nth-child(-n+2) { border-bottom: 1px solid #cfc9bd; }
    .showroom__intro, .consultation__feature, .contact-panel, .local__grid { grid-template-columns: 1fr; }
    .gallery { grid-template-columns: 1fr 1fr; }
    .gallery figure { min-height: 230px; }
    .gallery__wide { grid-column: 1/-1; grid-row: auto; min-height: 360px !important; }
    .process__steps, .support-paths { grid-template-columns: 1fr; }
    .form-grid { grid-template-columns: 1fr; }
    .field--full { grid-column: auto; }
    .footer__bottom { flex-direction: column; }
}

@media (max-width: 540px) {
    .container { width: min(calc(100% - 1.25rem), var(--container)); }
    .header__inner { min-height: 72px; gap: .65rem; }
    .brand { max-width: calc(100% - 59px); flex: 1 1 auto; }
    .brand img { width: min(250px, 100%); }
    .site-nav { inset-block-start: 116px; max-height: calc(100svh - 116px); }
    .hero { min-height: calc(100svh - 116px); }
    .hero__content { min-width: 0; padding-block: 4rem 6rem; }
    .hero .button-row .button { width: 100%; max-width: 100%; display: block; min-height: 88px; padding: 1.15rem .65rem; overflow-wrap: anywhere; white-space: normal; }
    .material-card { display: block; }
    .material-card__media { min-height: 0; aspect-ratio: 4/3; }
    .gallery { grid-template-columns: 1fr; }
    .gallery__wide { min-height: 290px !important; }
    .contact-panel__intro, .contact-panel__form { padding: 1.5rem; }
    .interest__options { display: grid; grid-template-columns: 1fr; }
    .interest__options span { width: 100%; }
    .footer__grid { grid-template-columns: 1fr; }
}

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