/* Brighter charcoal surfaces, white type, and a clear Christmas-red accent. */
.luxury-page{--ink:#faf7f8;--muted:#cec7cc;--line:#454148;--paper:#19191c;--sand:#232225;--red:#ce192b;--red-hover:#b51424;background:var(--paper);color:var(--ink);color-scheme:dark}
.luxury-page::selection,.luxury-page ::selection{background:var(--red);color:#fff}
.luxury-page .button:not(.outline):hover{background:var(--red-hover);border-color:var(--red-hover)}
.luxury-page .site-header .button.compact{border-radius:999px}
.luxury-page .button.outline{border-color:#817078;color:#fff}
.luxury-page .button.outline:hover{background:#242025;border-color:#b09ba5}
.luxury-page a:focus-visible,.luxury-page button:focus-visible,.luxury-page input:focus-visible,.luxury-page textarea:focus-visible,.luxury-page summary:focus-visible{outline:3px solid #ff6873;outline-offset:5px}
.luxury-page .announcement{background:var(--red);border-bottom:1px solid #e34550}
.luxury-page .site-header{background:var(--logo-surround);border-bottom:1px solid #292329}
.luxury-page .section-heading .eyebrow,.luxury-page .service-intro .eyebrow,.luxury-page .detail-section .eyebrow,.luxury-page .faq-layout .eyebrow,.luxury-page .quote-story .eyebrow,.luxury-page .quote-panel .eyebrow,.luxury-page .quote-next .eyebrow{color:#f2e9ed}
.luxury-page .inline-link{color:#fff;text-decoration-color:#d54d65}
.luxury-page .project figcaption span+span{color:var(--muted)}
.luxury-page .skip-link{background:#fff;color:#171417}

/* Opening background is ready for the owner's real video. Until supplied, show their photo. */
.luxury-home .home-hero{display:flex;align-items:center;isolation:isolate;min-height:780px;background:#000;color:#fff;overflow:hidden}
.luxury-home .hero-media{position:absolute;inset:0;grid-column:auto;grid-row:auto;min-height:0;aspect-ratio:auto;z-index:0;isolation:auto}
.luxury-home .hero-media>img,.luxury-home .hero-video{object-position:58% 61%;width:100%;height:100%}
.luxury-home .hero-media::after{display:none}
.luxury-home .hero-shade{display:block;position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#030204e8 0%,#030204c2 36%,#0302045c 70%,#03020421 100%),linear-gradient(0deg,#070609b8,transparent 46%)}
.luxury-home .hero-inner{display:block;position:relative;z-index:3;max-width:1360px;padding:95px clamp(24px,5vw,76px) 132px;pointer-events:none}
.luxury-home .hero-inner a{pointer-events:auto}
.luxury-home .hero-copy{max-width:840px;margin:0}
.luxury-home .hero-copy .hero-kicker{font-size:20px;color:#f6edf1;line-height:1.5;margin-bottom:28px;gap:15px}
.luxury-home .hero-copy .hero-kicker::before{width:34px;background:#df3b57}
.luxury-home .hero-copy h1{font-size:clamp(55px,5.9vw,88px);line-height:1.07;max-width:830px;color:#fff;letter-spacing:-.045em}
.luxury-home .hero-copy h1 em{color:#fff}
.luxury-home .hero-copy .hero-location{font-size:15px;line-height:1.85;max-width:460px;color:#fff;margin-top:29px}
.luxury-home .hero-copy .hero-location+p{font-size:14px;line-height:1.9;max-width:425px;color:#e2dce0;margin-top:20px}
.luxury-home .hero-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:28px;margin-top:32px}
.luxury-home .hero-actions .text-link{color:#fff;text-decoration-color:#da6077}
.luxury-home .hero-caption{left:auto;right:clamp(24px,5vw,76px);bottom:30px;z-index:3;gap:7px;max-width:280px;text-align:right;color:#fff}
.luxury-home .hero-caption span+span{color:#f3e9ed}
.luxury-home .video-control{left:clamp(24px,5vw,76px);bottom:25px;z-index:4;color:#fff;background:#080609c9;border:1px solid #b5a5ae;min-height:44px}
.luxury-home .service-ribbon{background:#111013;border-top:1px solid #30282e;border-bottom:1px solid #30282e;color:#eae3e7}
.luxury-home .service-ribbon span+span{border-color:#393038}
.luxury-home #our-work{background:var(--paper)}
.luxury-home .gallery-actions{border-color:var(--line)}
.luxury-home .service-section{background:var(--sand);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.luxury-home .service-icon{background:transparent;border-color:#80737a}
.luxury-home .steps p{color:#c7c0c4}
.luxury-home .detail-section{background:var(--paper)}
.luxury-home .faq-section{background:#242225;border-color:var(--line)}
.luxury-home .faqs details{border-color:#423840}
.luxury-home .faqs summary::after{color:#ef7188}
.luxury-home .closing{background:var(--logo-surround);border-top:1px solid #30272d}
.luxury-page footer,.luxury-page.funnel-page footer{background:var(--logo-surround);border-top:1px solid #2e262d}

/* Dark form surfaces keep the quote funnel consistent without changing its fields. */
.luxury-page .quote-panel{background:#262327;border-color:#4e4049;border-top-color:var(--red);box-shadow:0 20px 60px #0003}
.luxury-page .quote-panel .preview-notice{background:#322429;border-left-color:#ed4e5b;color:#f0dce2}
.luxury-page .field label{color:#f2ebef}
.luxury-page .optional{color:#c0b4bc}
.luxury-page .field input,.luxury-page .field textarea{color:#fff;background:#302c31;border-color:#83747e;caret-color:#fff}
.luxury-page .field input::placeholder,.luxury-page .field textarea::placeholder{color:#c0b3bd;opacity:1}
.luxury-page .field input:autofill{color:#fff;background:#302c31}
.luxury-page .quote-benefits span::before{color:#f4869b}
.luxury-page .form-note{color:#c5b9c1}
.luxury-page .form-privacy a{color:#f2dce4;text-decoration-color:#e36b85}
.luxury-page .form-contact{color:#c6bac2;border-color:#4d3f48}
.luxury-page .form-contact a{color:#fff}
.luxury-page .quote-next li::marker{color:#ee94a6}
.luxury-page .quote-final{border-top:1px solid var(--line)}
.luxury-page .privacy-page p,.luxury-page .privacy-page li{color:#d8cfd5}
.luxury-page .privacy-page article a,.luxury-page .privacy-back{color:#f5d9e3;text-decoration-color:#e1748d}
.luxury-page .mobile-actions{background:#1c191e;border-top-color:#67515f;box-shadow:0 -4px 24px #0005}
.luxury-page .mobile-actions>a:first-child{color:#fff;border-color:#997b8b}
.luxury-page .mobile-actions>a+a{color:#fff}

@media(min-width:1800px){
 .luxury-home .home-hero{min-height:850px}
 .luxury-home .hero-media{min-height:0}
 .luxury-home .hero-inner{padding-left:76px;padding-right:76px}
}
@media(max-width:1100px){
 .luxury-home .home-hero{min-height:735px}
 .luxury-home .hero-media{min-height:0}
 .luxury-home .hero-inner{padding:85px 32px 125px}
 .luxury-home .hero-copy h1{font-size:68px;max-width:690px}
 .luxury-home .hero-copy .hero-kicker{font-size:18px}
 .luxury-home .hero-caption{right:32px}
 .luxury-home .video-control{left:32px}
}
@media(max-width:760px){
 .luxury-home .home-hero{min-height:710px;display:flex;overflow:hidden}
 .luxury-home .hero-media{position:absolute;inset:0;min-height:0;aspect-ratio:auto;isolation:auto}
 .luxury-home .hero-media>img,.luxury-home .hero-video{object-position:61% 57%}
 .luxury-home .hero-shade{background:linear-gradient(90deg,#040305df,#040305a3),linear-gradient(0deg,#060408b0,transparent 60%)}
 .luxury-home .hero-inner{padding:67px 24px 125px}
 .luxury-home .hero-copy{margin:0;max-width:570px}
 .luxury-home .hero-copy .hero-kicker{font-size:17px;gap:12px;margin-bottom:27px}
 .luxury-home .hero-copy .hero-kicker::before{width:22px}
 .luxury-home .hero-copy h1{font-size:clamp(43px,7.2vw,59px);line-height:1.1;max-width:580px}
 .luxury-home .hero-copy .hero-location{font-size:14px;line-height:1.85;margin-top:26px}
 .luxury-home .hero-copy .hero-location+p{font-size:14px;line-height:1.9;margin-top:18px;max-width:430px}
 .luxury-home .hero-actions{flex-direction:column;align-items:flex-start;gap:27px;margin-top:30px}
 .luxury-home .hero-caption{left:auto;right:24px;bottom:27px;max-width:200px;font-size:7px}
 .luxury-home .hero-caption span+span{font-size:13px}
 .luxury-home .video-control{left:24px;bottom:24px;font-size:11px;padding:10px 12px}
 .luxury-home .home-hero:has(.hero-video) .hero-caption{max-width:185px;font-size:6px}
 .luxury-home .service-ribbon span+span{border:0}
}
@media(max-width:360px){
 .luxury-home .hero-inner{padding:57px 20px 122px}
 .luxury-home .hero-copy h1{font-size:40px;line-height:1.1}
 .luxury-home .hero-copy .hero-kicker{font-size:15px;gap:10px}
 .luxury-home .hero-copy .hero-location{font-size:13px}
 .luxury-home .hero-caption{right:20px;max-width:180px}
 .luxury-home .video-control{left:20px}
 .luxury-home .home-hero:has(.hero-video) .hero-caption{max-width:145px}
 .luxury-home .home-hero:has(.hero-video) .hero-caption span+span{font-size:11px}
}
