/* Preserve the owner's portrait composition beside the desktop headline. */
.luxury-home .site-header{border-bottom-color:transparent}
.luxury-home .home-hero.video-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(28px,5vw,72px);padding:40px clamp(24px,5vw,76px);min-height:0;background:#0a0a0a;align-items:center}
.luxury-home .video-hero .hero-inner{grid-column:1;grid-row:1;max-width:none;width:100%;padding:36px 0;margin:0;pointer-events:auto}
.luxury-home .video-hero .hero-copy{max-width:680px;display:flex;flex-direction:column}
.luxury-home .video-hero .hero-primary,.luxury-home .video-hero .hero-details{display:contents}
.luxury-home .video-hero .hero-message-track{display:contents}
.luxury-home .video-hero .hero-kicker{order:0}
.luxury-home .video-hero .hero-message{order:1;width:100%;min-width:0;display:block;container-type:inline-size}
.luxury-home .video-hero .hero-introduction{grid-area:1/1;align-self:center}
.luxury-home .video-hero .hero-message h1{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:.018em}
.luxury-home .video-hero .hero-message h1 .booking-title{display:block;font-size:clamp(32px,10cqi,58px);line-height:1.15;white-space:nowrap}
.luxury-home .video-hero .hero-message h1 .booking-season{display:block;font-size:clamp(14px,4.9cqi,25px);line-height:1.5;margin-top:8px;white-space:nowrap}
/* Movie-time cues leave the opening clear and reveal the copy as the gates open. */
.luxury-home .video-hero .hero-message.is-video-timed{display:grid}
.luxury-home .video-hero .is-video-timed .hero-introduction{opacity:var(--intro-opacity,0);transform:translateY(var(--intro-offset,8px));filter:blur(var(--intro-blur,2px));-webkit-mask-image:linear-gradient(to bottom,transparent 0%,transparent 33%,#000 66%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0%,transparent 33%,#000 66%,#000 100%);-webkit-mask-size:100% 300%;mask-size:100% 300%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:0 var(--intro-mask-y,100%);mask-position:0 var(--intro-mask-y,100%);transition:opacity .2s linear,transform .2s linear,filter .2s linear,-webkit-mask-position .2s linear,mask-position .2s linear}
.luxury-home .video-hero .hero-location{order:2}
.luxury-home .video-hero .hero-location+p{order:3}
.luxury-home .video-hero .hero-actions{order:4}
.luxury-home .video-hero .hero-actions .button{background:rgb(206 25 43 / 86%);border:1px solid rgb(235 73 89 / 70%);color:#fff;font-family:var(--serif);font-size:18px;font-weight:400;letter-spacing:.01em;border-radius:2px;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);box-shadow:inset 0 1px 0 #ffffff0d;transition:background .2s,border-color .2s}
.luxury-home .video-hero .hero-actions .button:hover{background:rgb(181 20 36 / 94%);border-color:var(--red-hover)}
.luxury-home .video-hero .hero-actions .hero-quote{position:relative;top:-12px;display:inline-grid;grid-template-columns:minmax(0,1fr);justify-items:center;align-content:center;gap:1px;text-align:center;width:max-content;max-width:100%;min-height:44px;font-size:15px;padding:7px 12px;line-height:1.4}
.luxury-home .video-hero .hero-actions .hero-quote span{display:block;margin:0;max-width:none;font-size:inherit;line-height:1.4;font-weight:400}
.luxury-home .video-hero .hero-actions .hero-quote .quote-intro{font-size:12px;letter-spacing:.025em}
.luxury-home .video-hero .mobile-work-link{display:none}
.luxury-home .video-hero .hero-message h1{line-height:1.2;white-space:normal;max-width:none;margin:0}
.luxury-home .video-hero .hero-copy .hero-kicker{font-size:18px}
.luxury-home .video-hero .hero-media{grid-column:2;grid-row:1;position:relative;inset:auto;width:100%;max-width:438px;min-height:0;aspect-ratio:9/16;margin:0 0 0 auto;overflow:hidden;background:#080708}
.luxury-home .video-hero .hero-media>img,.luxury-home .video-hero .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
.luxury-home .video-hero .hero-video{opacity:0}
.luxury-home .video-hero .hero-video.has-started{opacity:1}
.luxury-home .video-hero .hero-shade{display:none}
.luxury-home .video-hero .hero-media::before{display:block;content:'';position:absolute;inset:0 0 70%;background:linear-gradient(180deg,#0a0a0a,#0a0a0a00);z-index:1;pointer-events:none}
.luxury-home .video-hero .hero-media::after{display:block;content:'';position:absolute;inset:78% 0 0;background:linear-gradient(transparent,#000a);z-index:1;pointer-events:none}
.luxury-home .video-hero .hero-caption{left:auto;right:16px;bottom:21px;max-width:185px;z-index:3;font-size:6px}
.luxury-home .video-hero .hero-caption span+span{font-size:12px}
.luxury-home .installation-film{background:#121013;border-block:1px solid #332931}
.film-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:clamp(40px,7vw,110px);align-items:center}
.film-player{width:100%;max-width:380px;justify-self:center;min-width:0}
.film-frame{position:relative;aspect-ratio:4/5;background:#000;overflow:hidden}
.film-frame>img,.film-frame>video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.film-frame>video{opacity:0;pointer-events:none}
.film-frame>video.has-started{opacity:1}
.film-player figcaption{font-size:10px;color:#c1b9bf;margin-top:17px;line-height:1.7}
.film-copy{max-width:520px}
.film-copy h2{font-size:clamp(40px,4vw,62px)}
.film-copy p{font-size:14px;line-height:1.9;margin-top:25px;max-width:430px}
.film-copy .button{margin-top:30px}
.film-error{font-size:12px;margin-top:15px}
.film-error a{text-decoration:underline;text-underline-offset:4px}
.instagram-callout{display:flex;align-items:center;gap:22px;margin-top:44px;padding:30px 0 0;border-top:1px solid var(--line);color:#f6f2f4}
.instagram-callout>svg{width:32px;height:32px;flex-shrink:0;color:#e8dbe2}
.instagram-callout>span:nth-child(2){display:flex;flex-direction:column;gap:5px}
.instagram-label{font-size:11px;letter-spacing:.1em}
.instagram-handle{font-family:var(--serif);font-size:clamp(26px,3vw,36px);line-height:1.3}
.instagram-arrow{margin-left:auto;font-size:28px;font-weight:400}
.instagram-callout:hover .instagram-handle{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}
/* Desktop keeps its copy visible beside a shorter, softly blended portrait. */
@media(min-width:761px){
 .luxury-home .home-hero.video-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;padding-inline:max(40px,calc((100% - 1240px)/2))}
 .luxury-home .video-hero .hero-inner{align-self:start;padding:22px 0 0}
 .luxury-home .video-hero .hero-copy{text-align:center;margin-inline:auto;align-items:center}
 .luxury-home .video-hero .hero-message h1{text-align:center}
 .luxury-home .video-hero .hero-copy .hero-kicker{justify-content:center}
 .luxury-home .video-hero .hero-copy .hero-location,.luxury-home .video-hero .hero-copy .hero-location+p{margin-inline:auto}
 .luxury-home .video-hero .hero-actions{justify-content:center;align-items:center}
 .luxury-home .video-hero .hero-copy .hero-kicker{margin-bottom:14px}
 .luxury-home .video-hero .hero-message .hero-introduction{opacity:1;transform:none;filter:none;-webkit-mask-image:none;mask-image:none;transition:none}
 .luxury-home .video-hero .hero-media{aspect-ratio:4/5;background:#0a0a0a;margin-inline:auto}
 .luxury-home .video-hero .hero-media>img,.luxury-home .video-hero .hero-video{object-fit:cover;object-position:50% 55%}
 .luxury-home .video-hero .hero-media::before{inset:0;background:linear-gradient(180deg,#0a0a0a 0%,#0a0a0a00 14%,#0a0a0a00 84%,#0a0a0a 100%)}
 .luxury-home .video-hero .hero-media::after{inset:0;background:linear-gradient(90deg,#0a0a0a 0%,#0a0a0a00 9%,#0a0a0a00 91%,#0a0a0a 100%);box-shadow:inset 0 0 22px 4px #0a0a0a80}
 .luxury-home .video-hero .hero-caption{display:none}
}
@media(min-width:761px) and (max-width:1050px){
 .luxury-home .home-hero.video-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:28px;padding:32px}
 .luxury-home .video-hero .hero-copy .hero-kicker{font-size:16px}
 .luxury-home .video-hero .hero-actions{gap:24px}
 .luxury-home .video-hero .hero-caption{max-width:115px;font-size:5px}
 .luxury-home .video-hero .hero-caption span+span{font-size:11px}
}
@media(max-width:760px){
 /* Frame the lower portion of the portrait footage and center the message over it. */
 .luxury-home .home-hero.video-hero{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;gap:0;position:relative;padding:0;min-height:0;align-items:stretch;overflow:clip}
 .luxury-home .video-hero .hero-media{grid-column:1;grid-row:1;position:relative;inset:auto;width:100%;height:clamp(420px,133.333vw,680px);max-width:none;margin:0;aspect-ratio:auto}
 .luxury-home .video-hero .hero-media>img,.luxury-home .video-hero .hero-video{object-fit:cover;object-position:50% 80%}
 .luxury-home .video-hero .hero-media::before,.luxury-home .video-hero .hero-media::after{display:none}
 .luxury-home .video-hero .hero-inner,.luxury-home .video-hero .hero-copy{display:contents}
 .luxury-home .video-hero .hero-primary{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;grid-column:1;grid-row:1;align-self:stretch;position:relative;z-index:3;min-width:0;padding:0 16px 60px;pointer-events:none}
 .luxury-home .video-hero .hero-primary a{pointer-events:auto}
 .luxury-home .video-hero .hero-message-track{display:block;position:absolute;top:44%;left:16px;right:16px;transform:translateY(-50%);width:calc(100% - 32px);max-width:520px;min-width:0;margin-inline:auto}
 .luxury-home .video-hero .hero-primary .hero-actions{order:1;margin:0;gap:0;width:fit-content;max-width:100%;align-items:center}
 .luxury-home .video-hero .hero-primary .hero-actions .button{text-shadow:0 1px 10px #0008}
 .luxury-home .video-hero .hero-primary .hero-actions .text-link{display:none}
 .luxury-home .video-hero .hero-message{order:0;max-width:520px;text-align:center;text-shadow:0 3px 28px #000a}
 .luxury-home .video-hero .hero-message h1{width:100%;margin:0;text-align:center}
 .luxury-home .video-hero .hero-details{display:block;grid-column:1;grid-row:2;padding:30px 24px 38px;background:#0a0a0a;min-width:0}
 .luxury-home .video-hero .hero-copy .hero-kicker{display:none}
 .luxury-home .video-hero .hero-copy .hero-kicker::before{display:none}
 .luxury-home .video-hero .hero-copy .hero-location{font-size:14px;margin:0;max-width:560px;line-height:1.8}
 .luxury-home .video-hero .hero-copy .hero-location+p{font-size:14px;margin-top:17px;max-width:560px;line-height:1.85}
 .luxury-home .video-hero .mobile-work-link{display:inline-block;margin-top:24px;font-size:13px}
 .luxury-home .video-hero .hero-shade{display:block;position:relative;inset:auto;grid-column:1;grid-row:1;z-index:2;background:linear-gradient(180deg,#0a0a0a 0%,#0a0a0aeb 4%,#0a0a0a9e 11%,#0a0a0a38 20%,#0a0a0a00 31%),radial-gradient(ellipse 85% 25% at 50% 44%,#03020485 0%,#03020447 55%,transparent 100%),linear-gradient(0deg,#030204c7 0%,#03020455 14%,transparent 30%);pointer-events:none}
 .luxury-home .video-hero .hero-media{z-index:auto}
 .luxury-home .video-hero .hero-caption{display:none}
 .film-layout{grid-template-columns:minmax(0,1fr);gap:34px}
 .film-copy{grid-row:1;max-width:520px}
 .film-copy h2{font-size:43px}
 .film-copy p{margin-top:22px}
 .film-copy .button{margin-top:26px}
 .film-player{max-width:380px}
 .instagram-callout{gap:17px;margin-top:32px;padding-top:26px}
}
@media(max-width:360px){
 .luxury-home .video-hero .hero-primary{padding:0 16px 56px}
 .luxury-home .video-hero .hero-details{padding:27px 20px 34px}
 .film-copy h2{font-size:38px}
}
@media(prefers-reduced-motion:reduce){
 .luxury-home .video-hero .hero-message,.luxury-home .video-hero .hero-message.is-video-timed{display:block}
 .luxury-home .video-hero .hero-message .hero-introduction{transition:none;opacity:1;transform:none;filter:none;-webkit-mask-image:none;mask-image:none}
}
