/* Preserve venue framing and readable copy at every screen size. */
.hero-shade{background:linear-gradient(90deg,#060c11e6 0%,#060c11a8 36%,#060c1126 66%,#060c1110),linear-gradient(0deg,#080c0fe6,transparent 42%)}
.hero-description{margin-left:0;margin-right:0}
.hero h1{overflow-wrap:anywhere}
.opening-date>span{font-size:14px}
.wordmark .trident-mark{object-fit:contain}
.soiree-photo>img{aspect-ratio:16/9;object-position:center}
.gallery-card:first-child img{aspect-ratio:16/9}
.gallery-card img{aspect-ratio:16/10}
.sound-grid>*,.venue-heading>*,.intro-grid>*,.visit-grid>*,.reservation>*,.song-panel>*{min-width:0}
.display,.occasion-panel h3,.contact-button,.location-card address,.resort-directions{overflow-wrap:anywhere}
@media(max-width:850px){
 html{scroll-padding-top:90px}
 .hero{display:block;height:auto;min-height:0;max-height:none;padding-top:0}
 .hero-image{height:360px;object-fit:cover;object-position:center 55%}
 .hero-shade{height:365px;background:linear-gradient(0deg,#0b1014 0%,#0b101408 42%,#0b101410)}
 .hero-content{width:auto;max-width:none;margin:0;padding:365px 7% 28px;animation:none}
 .hero-location{margin-bottom:24px}
 .hero h1{font-size:clamp(32px,5.8vw,48px);line-height:1.4;max-width:100%}
 .hero-description{max-width:100%;margin:22px 0 26px}
 .opening-date{position:relative;inset:auto;max-width:86%;margin:0 7% 30px;padding:5px 0 5px 20px}
 .opening-date p{font-size:14px}
 .hero-bottom{position:relative;inset:auto;margin:0 7%;padding:20px 0 26px;border-top:1px solid #ffffff20}
 .hero-photo-note{top:14px;right:5%;max-width:88%}
 .soiree-photo>img,.music-photo>img{aspect-ratio:16/10;object-position:center}
 .gallery-card:first-child img,.gallery-card img,.venue-photo img{aspect-ratio:16/10;height:auto}
 .campaign-photo>figcaption{position:static;background:#10171c;padding:12px 16px}
}
@media(max-width:480px){
 .hero-image{height:270px;object-position:center 55%}
 .hero-shade{height:275px}
 .hero-content{padding-top:275px}
 .hero h1,html[lang=de] .hero h1,html[lang=fr] .hero h1,html[lang=es] .hero h1{font-size:32px}
 .hero-actions .button{padding:12px 18px}
 .hero-bottom>span{max-width:56%}
 .soiree-photo{margin-bottom:48px}
 .soiree-photo>img,.music-photo>img{aspect-ratio:16/10;object-position:center}
 .gallery-card:first-child img,.gallery-card img,.venue-photo img{aspect-ratio:16/10}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-content,.reveal{animation:none;transition:none;transform:none;opacity:1}}

/* Frame the original transparent trident tightly, keeping its full height. */
.header{height:108px}
.wordmark{gap:16px}
.wordmark .trident-mark{width:48px;height:94px;object-fit:cover;object-position:center;flex-shrink:0}
.wordmark-type>span{font-size:29px}
.hero{height:calc(100svh - 108px);min-height:800px}
.hero-brand{display:flex;align-items:center;gap:20px;margin-bottom:22px}
.hero-brand>img{width:55px;height:112px;object-fit:cover;flex-shrink:0}
.hero-brand>div{display:flex;flex-direction:column;align-items:center}
.hero-brand strong{font-size:clamp(28px,3vw,44px);font-weight:500;line-height:1.2;letter-spacing:.16em}
.hero-brand span{font-size:14px;letter-spacing:.5em;color:var(--gold);margin-top:8px;padding-left:.5em}
.hero-location{margin-bottom:28px}
.hero-location .resort-signature>img{width:74px}
.hero-content{padding-top:44px;padding-bottom:125px}
.reservation-crest{width:43px;height:92px;object-fit:cover;margin-bottom:22px}
.footer-top .wordmark .trident-mark{width:54px;height:110px}
@media(max-width:1120px){.wordmark-type>span{font-size:25px}.desktop-nav{gap:14px}.header{padding-inline:4%}}
@media(max-width:850px){
 .header{height:92px;padding-inline:4%;gap:8px}
 .wordmark{gap:9px}.wordmark .trident-mark{width:37px;height:78px}.wordmark-type>span{font-size:21px}
 .hero{height:auto;min-height:0;max-height:none}
 .hero-content{padding-top:365px;padding-bottom:28px}
 .hero-brand{gap:15px;margin-bottom:22px}.hero-brand>img{width:44px;height:92px}.hero-brand strong{font-size:32px}
 .hero-location .resort-signature>img{width:65px}
 .footer-top .wordmark .trident-mark{width:44px;height:92px}
}
@media(max-width:480px){
 .header{padding-inline:3%;gap:5px}.wordmark{gap:6px}.wordmark-type>span{font-size:18px;letter-spacing:.08em}
 .wordmark .trident-mark{width:32px;height:72px}.language-control select{max-width:86px}.header-actions{gap:0}
 .hero-content{padding-top:275px}.hero-brand strong{font-size:29px}.hero-brand span{font-size:13px}
 .footer-top .wordmark-type>span{font-size:24px}
}
@media(max-width:350px){.header .language-control svg{display:none}.header .wordmark-type>span{font-size:17px}.header .wordmark-type>small{letter-spacing:.18em}.header .wordmark .trident-mark{width:29px;height:66px}}

.party-gallery{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;margin:15px 0 0}
.party-scene{margin:0;min-width:0}
.party-scene:first-child{grid-column:1/-1}
.party-scene img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.party-scene:first-child img{aspect-ratio:16/9}
.party-scene figcaption{padding-top:14px;font-size:16px;color:var(--cream)}
.party-disclosure{color:var(--muted);font-size:12px;line-height:1.7;margin:18px 0 44px}
@media(max-width:600px){.party-gallery{grid-template-columns:1fr;gap:26px}.party-scene:first-child{grid-column:auto}.party-disclosure{margin-bottom:32px}}
.party-scene img,.party-scene:first-child img,.soiree-photo>img{aspect-ratio:1672/941;object-fit:contain}

/* Compact champagne trident, with the complete emblem visible. */
.header .wordmark .trident-mark{width:66px;height:76px;object-fit:contain;filter:none}
.hero-brand>img{width:84px;height:90px;object-fit:contain;filter:none}
.footer-top .wordmark .trident-mark{width:64px;height:76px;object-fit:contain;filter:none}
.reservation-crest{width:60px;height:72px;object-fit:contain;filter:none}
.signature-photo{margin:58px 7% 0}
.signature-photo>img{aspect-ratio:auto;object-fit:contain}
@media(max-width:850px){
 .header .wordmark .trident-mark{width:48px;height:56px}
 .hero-brand>img{width:64px;height:74px}
 .footer-top .wordmark .trident-mark{width:54px;height:64px}
 .signature-photo{margin:32px 7% 0}
}
@media(max-width:350px){.header .wordmark .trident-mark{width:38px;height:48px}}

.focal-showcase{margin-top:78px;padding-top:58px;border-top:1px solid var(--line)}
.focal-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:10%;margin-bottom:34px}
.focal-heading .eyebrow{margin-bottom:14px}.focal-heading .display{font-size:clamp(28px,3vw,44px)}
.focal-heading>p{color:var(--muted);font-size:16px;line-height:1.9;max-width:460px}
/* Equal-size product frames; keep the complete speaker in each composition. */
.focal-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 18px;align-items:start}
.focal-card{border:0;padding:0;background:transparent;color:var(--cream);text-align:left;cursor:zoom-in;min-width:0}
.focal-frame{display:block;width:100%;aspect-ratio:4/5;overflow:hidden;background:#11161a;border:1px solid #ffffff14}
.focal-frame>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:filter .25s ease}
[data-gallery="focal-ivory"] img{object-position:50% 48%}
[data-gallery="focal-blue-interior"] img{object-position:12% 50%}
[data-gallery="focal-red"] img{object-position:88% 65%;transform:scale(1.15);transform-origin:72% 73%}
.focal-caption{display:flex;align-items:baseline;gap:10px;padding-top:13px;line-height:1.65;font-size:13px;word-break:keep-all;overflow-wrap:anywhere}
.focal-caption small{font-size:10px;color:var(--gold)}.focal-caption>span:last-child{margin-left:auto;color:var(--gold)}
.focal-card:hover .focal-frame>img{filter:brightness(1.08)}.focal-card:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.focal-product-note{font-size:12px;line-height:1.8;color:var(--muted);margin-top:24px}
@media(max-width:1100px){.focal-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.focal-heading{grid-template-columns:1fr;gap:20px}.focal-gallery{gap:24px 16px}.focal-caption{gap:8px}}
@media(max-width:600px){.focal-showcase{margin-top:46px;padding-top:36px}.focal-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.focal-caption{font-size:12px}.focal-caption>small{display:none}}
@media(prefers-reduced-motion:reduce){.focal-frame>img{transition:none}}


/* Prominent Solaire location marks with an unambiguous second-floor label. */
.resort-location-badge.resort-signature{gap:24px;max-width:100%;text-align:left;vertical-align:middle}
.resort-location-badge.resort-signature>img{width:152px;height:auto;padding:0;background:transparent;object-fit:contain;flex-shrink:0}
.resort-location-badge.resort-signature>.resort-floor{display:flex;flex-direction:column;gap:5px;min-width:0;padding-left:24px;border-left:1px solid #dfbb8655;white-space:normal;letter-spacing:0;margin:0}
.resort-floor>strong{font:500 42px/1 var(--sans);letter-spacing:-.04em;color:var(--gold)}
.resort-floor>span{font-size:13px;line-height:1.5;letter-spacing:.04em;color:var(--cream);margin:0}
.piano-photo-credit{display:block;font-size:12px;line-height:1.8;color:var(--muted);margin-top:8px}
.piano-photo-credit a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.hero-location{margin-bottom:24px}
.hero-location .resort-location-badge>img{width:142px}
.hero-location .resort-floor>span{color:var(--cream)}
.venue-location{padding-bottom:30px;margin-bottom:38px;border-bottom:1px solid var(--line)}
.reservation-location{margin-top:30px}
.reservation-location .resort-location-badge>img{width:138px}
.footer-bottom{gap:28px}
.footer-bottom .resort-location-badge>img{width:124px}
.footer-bottom .resort-floor>strong{font-size:34px}
@media(max-width:850px){
 .resort-location-badge.resort-signature{gap:20px}
 .resort-location-badge.resort-signature>img{width:128px}
 .hero-location .resort-location-badge>img{width:120px}
 .resort-location-badge.resort-signature>.resort-floor{padding-left:20px}
 .resort-floor>strong{font-size:36px}
 .venue-location{padding-bottom:24px;margin-bottom:28px}
 .reservation-location{margin-top:25px}
 .footer-bottom{align-items:flex-start}
}
@media(max-width:480px){
 .resort-location-badge.resort-signature{gap:17px}
 .resort-location-badge.resort-signature>img{width:112px}
 .hero-location .resort-location-badge>img{width:112px}
 .resort-location-badge.resort-signature>.resort-floor{padding-left:17px}
 .resort-floor>strong,.footer-bottom .resort-floor>strong{font-size:32px}
 .resort-floor>span{font-size:12px;letter-spacing:.02em;max-width:150px}
}

/* A quieter Focal selection and a focused TJ karaoke story. */
.tj-karaoke{display:grid;grid-template-columns:minmax(200px,.75fr) minmax(0,1.25fr);gap:10%;align-items:center;border-top:1px solid var(--line);background:radial-gradient(ellipse at 15% 50%,#28221a 0,transparent 55%),#0c1115}
.tj-brand{text-align:center;color:var(--gold);padding:42px 0}
.tj-brand>span{display:block;font:500 clamp(80px,11vw,145px)/1 var(--sans);letter-spacing:-.09em;padding-right:.09em}
.tj-brand>small{display:block;font-size:10px;letter-spacing:.28em;margin:20px 0 30px}
.tj-wave{display:flex;align-items:center;justify-content:center;gap:6px;height:56px;opacity:.65}
.tj-wave i{width:2px;height:15px;background:var(--gold)}
.tj-wave i:nth-child(3n){height:40px}.tj-wave i:nth-child(4n){height:28px}.tj-wave i:nth-child(5n){height:52px}
.tj-story .display{font-size:clamp(30px,3.6vw,52px);line-height:1.3}
.tj-story>p:not(.eyebrow){color:var(--muted);font-size:16px;line-height:1.95;max-width:620px;margin-top:25px}
.tj-details{display:flex;flex-wrap:wrap;gap:10px 22px;padding:24px 0 0;margin:25px 0 0;border-top:1px solid var(--line);list-style:none;font-size:13px;color:var(--cream)}
.tj-details li{display:flex;align-items:center;gap:8px}.tj-details li:before{content:'·';color:var(--gold)}
@media(max-width:850px){.tj-karaoke{gap:6%}}
@media(max-width:600px){.tj-karaoke{grid-template-columns:1fr;gap:20px}.tj-brand{padding:0 0 20px;border-bottom:1px solid var(--line)}.tj-brand>span{font-size:76px}.tj-brand>small{margin:14px 0 18px}.tj-wave{height:35px;transform:scaleY(.65)}.tj-story .display{font-size:32px}.tj-details{gap:12px 18px}}

/* User-preferred campaign photos replace overlapping shots and retain full framing. */
.campaign-zoom{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:zoom-in}
.campaign-zoom>img{display:block;width:100%;height:auto;max-width:100%;aspect-ratio:auto;object-fit:contain}
.campaign-zoom:focus-visible{outline:2px solid var(--gold);outline-offset:7px}
.party-scene .campaign-zoom>img,.party-scene:first-child .campaign-zoom>img{aspect-ratio:auto;object-fit:contain}
#night-gallery{scroll-margin-top:120px}
@media(max-width:600px){#night-gallery{scroll-margin-top:100px}}



.table-detail{margin:42px 0 55px;scroll-margin-top:120px}.table-detail figcaption{padding-top:14px;font-size:15px;color:var(--cream)}.table-detail figcaption small{display:block;margin-top:6px;font-size:12px;color:var(--muted)}

/* Keep people photography together below the venue, rooms and karaoke facilities. */
.moments .occasion-layout{margin-bottom:46px}
.party-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px;margin-top:0}
.party-scene:first-child{grid-column:auto}
.party-scene .campaign-zoom{aspect-ratio:4/3;background:#080d11;display:flex;align-items:center;justify-content:center}
.party-scene .campaign-zoom>img,.party-scene:first-child .campaign-zoom>img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain}
.party-scene figcaption{font-size:14px;line-height:1.7;padding-top:12px}
.party-scene .piano-photo-credit{font-size:11px;margin-top:5px}
.party-disclosure{margin-bottom:34px}
.table-detail{max-width:760px;margin:38px auto 0}
@media(max-width:850px){.party-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px}}
@media(max-width:600px){.party-gallery{gap:22px 14px}.party-scene figcaption{font-size:12px}.party-scene .piano-photo-credit{font-size:10px}.moments .occasion-layout{margin-bottom:30px}}

/* Official A3 product photo, paired with a brief description. */
.tj-karaoke{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7%;background:#0c1115}
.tj-product{margin:0;min-width:0}
.tj-product .tj-product-image{aspect-ratio:8/5;overflow:hidden;background:radial-gradient(ellipse at 50% 80%,#29323b,#11191f 80%);border:1px solid var(--line)}
.tj-product .tj-product-image>img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.tj-product figcaption{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;padding-top:15px}
.tj-product figcaption strong{font-size:24px;font-weight:400;letter-spacing:.06em;color:var(--gold)}
.tj-product figcaption span{font-size:11px;color:var(--muted)}
.tj-story>p:not(.eyebrow){margin-top:20px}
.tj-story .tj-details{margin-top:20px;padding-top:20px}
.tj-product-link{margin-top:23px;font-size:13px}
.party-gallery .table-detail{width:100%;max-width:none;margin:0}
@media(max-width:850px){.tj-karaoke{grid-template-columns:1fr;gap:30px}.tj-product{width:100%;max-width:580px;margin:0 auto}.tj-story .display{font-size:34px}}
@media(max-width:600px){.tj-product figcaption strong{font-size:21px}.tj-product figcaption span{font-size:10px}.tj-story .display{font-size:32px}}

/* Six Focal finishes and the user-confirmed large-room capacity. */
.finish-swatches li{font-size:.875rem}
.finish-swatches .swatch{flex-shrink:0}
.finish-swatches .swatch.red{background:#a32935}
.finish-swatches .swatch.black{background:#111318;box-shadow:inset 0 0 0 1px #8c9297}
.gallery-heading .room-capacity{margin-top:20px;max-width:40ch;color:var(--gold);font-size:1rem;line-height:1.8}

/* User-selected Solaire films introduce the resort before the directions. */
.resort-film{background:#090f14;border-top:1px solid #cfb77c26;scroll-margin-top:95px}
.resort-film-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:32px}
.resort-film-heading>div{min-width:0}
.resort-film-heading .eyebrow{color:var(--gold);font-size:.875rem;margin-bottom:16px}
.resort-film-heading .display{max-width:30ch;color:var(--cream);font-size:clamp(2rem,3.2vw,2.8rem);line-height:1.45}
.resort-film-link{flex-shrink:0;font-size:.875rem;min-height:44px;display:inline-flex;align-items:center;color:var(--gold)}
.resort-films{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.resort-film-player{margin:0;min-width:0}
.resort-film-player h3{margin:0 0 18px;min-height:3em;color:var(--cream);font-size:1.25rem;line-height:1.5;overflow-wrap:anywhere}
.resort-film-frame{position:relative;aspect-ratio:16/9;min-height:200px;background:#000;border:1px solid #cfb77c40;overflow:hidden}
.resort-film-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.resort-film-player figcaption{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;margin-top:14px;color:var(--muted);font-size:.875rem;line-height:1.6}
.resort-film-player figcaption>span{overflow-wrap:anywhere}
@media(max-width:900px){.resort-films{grid-template-columns:1fr;gap:40px}.resort-film-player h3{min-height:0}}
@media(max-width:600px){.resort-film-heading{display:block;margin-bottom:22px}.resort-film-heading .display{font-size:2rem}.resort-film-link{margin-top:14px}}


/* Approved edited uploads: preserve their colors and complete compositions. */
.gallery-card img,.gallery-card:first-child img{aspect-ratio:1672/941;object-fit:contain}
.gallery-card:last-child{grid-column:1/-1}
.gallery-card img.venue-photo-selected,.gallery-card:hover img.venue-photo-selected{filter:none}
@media(max-width:480px){.gallery-card:last-child{grid-column:auto}}
