/* Premium interaction patterns, adapted to the existing approved-media site. */
body[data-premium-site]{overflow-x:clip}
body[data-premium-site] a,body[data-premium-site] a:visited{color:#f2eee6}
body[data-premium-site] [class*="price"] a,body[data-premium-site] [class*="price"] a:visited{color:#e2c88e}
body[data-premium-site] a.p-card,body[data-premium-site] a.p-card:visited,
body[data-premium-site] .p-card h3,body[data-premium-site] .p-card h3 a:visited{color:#f2eee6;text-decoration:none}
body[data-premium-site] .p-card-price{color:#e2c88e;font-size:clamp(16px,1.6vw,23px);line-height:1.5}
body[data-premium-site] .p-card-price small{display:block;color:#d3cdc3;font-size:12px}
body[data-premium-site] .p-hero-toggle{opacity:0;pointer-events:none;transition:opacity .2s}
body[data-premium-site] .p-hero:hover .p-hero-toggle,body[data-premium-site] .p-hero-toggle:focus-visible{opacity:1;pointer-events:auto}
body[data-premium-site] .p-signature-carousel{max-width:1440px;margin:auto;padding:0 3vw;touch-action:pan-y}
body[data-premium-site] .p-signature-slides{position:relative;min-height:560px;height:65svh;max-height:820px}
body[data-premium-site] .p-signature-slide{position:absolute;inset:0;display:grid;grid-template-columns: .76fr 1.24fr;gap:5vw;opacity:0;visibility:hidden;transition:opacity 1s,visibility 1s}
body[data-premium-site] .p-signature-slide.is-active{opacity:1;visibility:visible}
body[data-premium-site] .p-signature-copy{align-self:center;padding:32px 0 32px 3vw}
body[data-premium-site] .p-signature-copy h3{font:400 clamp(46px,5vw,80px)/1.05 var(--serif);margin:24px 0 16px;color:#f2eee6}
body[data-premium-site] .p-signature-copy p{color:#d3cdc3}
body[data-premium-site] .p-signature-copy .p-text-link{display:inline-block;margin-top:36px}
body[data-premium-site] .p-signature-art{position:relative;display:block;overflow:hidden;min-width:0;background:#15120e}
body[data-premium-site] .p-signature-art img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1)}
body[data-premium-site] .p-signature-slide.is-active img{animation:signature-drift 9s ease-out both}
body[data-premium-site] .p-signature-carousel.is-paused img{animation-play-state:paused}
@keyframes signature-drift{to{transform:scale(1.055)}}
body[data-premium-site] .p-signature-controls{display:flex;align-items:center;gap:18px;padding:28px 0}
body[data-premium-site] .p-signature-controls>button{flex-shrink:0;width:44px;min-height:44px;border:1px solid #c9a45c66;border-radius:50%;background:#15120e;color:#e2c88e;cursor:pointer}
body[data-premium-site] .p-signature-controls [data-signature-pause]{border-radius:0;width:auto;padding:0 10px;background:transparent;border:0;font-size:11px}
body[data-premium-site] .p-signature-progress{flex:1;display:flex;gap:12px;min-width:0}
body[data-premium-site] .p-signature-progress button{flex:1;min-width:0;border:0;padding:12px 0;background:transparent;color:#d3cdc3;text-align:left;font:11px var(--sans);cursor:pointer}
body[data-premium-site] .p-signature-progress span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body[data-premium-site] .p-signature-progress i{display:block;height:2px;margin-top:12px;background:#c9a45c33}
body[data-premium-site] .p-signature-progress [aria-current=true]{color:#e2c88e}
body[data-premium-site] .p-signature-progress [aria-current=true] i{background:#e2c88e}
body[data-premium-site] .p-also-available{grid-column:1/-1;margin-top:48px;padding-top:30px;border-top:1px solid var(--hair)}
body[data-premium-site] .p-also-available h3{font:400 30px var(--serif);color:#e2c88e}
body[data-premium-site] .p-text-residences{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}
body[data-premium-site] .p-text-residence{display:grid;grid-template-columns:1fr auto;gap:8px;padding:20px 0;border-bottom:1px solid var(--hair);text-decoration:none;color:#f2eee6}
body[data-premium-site] .p-text-residence strong{font:400 23px var(--serif)}
body[data-premium-site] .p-text-residence>span{font-size:11px;color:#d3cdc3}
body[data-premium-site] .p-text-residence>span:last-child{grid-column:1/-1;color:#e2c88e}
body[data-premium-site] .p-aperture-media img,body[data-premium-site] .p-travels-art img,body[data-premium-site] .p-weekend-art img{opacity:1;visibility:visible;content-visibility:visible}
body[data-premium-site] .p-aperture.image-unavailable{height:auto;min-height:0;padding:90px 20px}
body[data-premium-site] .p-aperture.image-unavailable .p-aperture-content{position:static}
body[data-premium-site] .p-travels.image-unavailable,body[data-premium-site] .p-weekend.image-unavailable{grid-template-columns:1fr;max-width:900px}
body[data-premium-site] main[data-premium-home]{overflow:visible}
body[data-premium-site] .coast-experience{overflow:visible;min-height:0;padding-block:110px}
body[data-premium-site] .coast-map-column{position:sticky;top:95px;align-self:start}
body[data-premium-site] .coast-map-shell{height:clamp(340px,56svh,650px);min-height:0}
body[data-premium-site] .coast-stop{min-height:0;padding:26px 0 32px;opacity:1}
body[data-premium-site] .coast-stop-select{font-size:clamp(30px,3vw,46px)}
body[data-premium-site] .coast-residences{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
body[data-premium-site] .coast-residence{padding:13px 0;gap:6px;background:none;border:0;border-bottom:1px solid var(--hair)}
body[data-premium-site] .coast-residence-kicker,body[data-premium-site] .coast-residence>span:not(.coast-residence-link){display:none}
body[data-premium-site] .coast-residence strong{font-size:20px}
body[data-premium-site] .coast-film-card{margin-top:20px}
body[data-premium-site] .mapboxgl-ctrl-group{border:0;background:transparent;box-shadow:none}
body[data-premium-site] .mapboxgl-ctrl-group button{width:42px;height:42px;margin-bottom:8px;border:1px solid #c9a45c66!important;border-radius:50%!important;background:#15120ed9;backdrop-filter:blur(12px);filter:none}
body[data-premium-site] .mapboxgl-ctrl-icon{filter:invert(.82) sepia(.6) saturate(1.5)}
body[data-premium-site] .coast-map-controls{top:auto;bottom:42px;max-width:calc(100% - 70px)}
body[data-premium-site] .coast-map-controls button{border-radius:20px;padding:8px 12px;font-size:8px;min-height:32px;backdrop-filter:blur(12px)}
body[data-premium-site] .up-cookie-panel{left:0;right:0;bottom:0;width:100%;max-width:none;display:flex;align-items:center;gap:16px;padding:12px clamp(16px,3vw,48px);border-width:1px 0 0;box-sizing:border-box}
body[data-premium-site] .up-cookie-panel[hidden]{display:none}
body[data-premium-site] .up-cookie-panel h2{flex-shrink:0;font-size:22px;margin:0}
body[data-premium-site] .up-cookie-panel p{flex:1;margin:0;color:#e2ddd3;font-size:12px;line-height:1.5}
body[data-premium-site] .up-cookie-panel .up-cookie-actions{display:flex;gap:10px;flex-shrink:0}
body[data-premium-site] .up-cookie-panel button{white-space:nowrap;padding:10px 16px;min-height:42px}
body[data-premium-site] .p-hero .p-search{bottom:calc(22px + var(--consent-bar-height,0px))}
body[data-premium-site] .p-hero-inner{padding-bottom:calc(230px + var(--consent-bar-height,0px))}
body[data-premium-site] .p-hero{min-height:max(100svh,calc(660px + var(--consent-bar-height,0px)))}
body[data-premium-site] :is(.p-card,.p-text-residence,.p-signature-controls button):focus-visible{outline:2px solid #e2c88e;outline-offset:5px}
@media(max-width:850px){
 body[data-premium-site] .p-signature-slides{height:760px;min-height:0}
 body[data-premium-site] .p-signature-slide{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:24px}
 body[data-premium-site] .p-signature-copy{padding:12px 16px}
 body[data-premium-site] .p-signature-copy h3{font-size:46px;margin:8px 0}
 body[data-premium-site] .p-signature-copy .p-text-link{margin-top:12px}
 body[data-premium-site] .p-signature-art{min-height:320px}
 body[data-premium-site] .p-signature-controls{gap:8px}
 body[data-premium-site] .p-signature-progress span{font-size:0}
 body[data-premium-site] .p-signature-progress [aria-current=true] span{font-size:10px}
 body[data-premium-site] .p-signature-progress [aria-current=true]{flex:3}
 body[data-premium-site] .p-text-residences{grid-template-columns:1fr}
 body[data-premium-site] .coast-map-column{position:relative;top:auto}
 body[data-premium-site] .coast-experience{padding-block:70px}
 body[data-premium-site] .coast-residences{column-gap:14px}
 body[data-premium-site] .up-cookie-panel{flex-wrap:wrap;gap:8px 12px;padding:10px 14px}
 body[data-premium-site] .up-cookie-panel h2{display:none}
 body[data-premium-site] .up-cookie-panel p{flex-basis:100%;font-size:11px}
 body[data-premium-site] .up-cookie-panel button{font-size:11px;min-height:40px}
 body[data-premium-site] .p-hero-inner{padding-bottom:calc(250px + var(--consent-bar-height,0px))}
}
@media(prefers-reduced-motion:reduce){
 body[data-premium-site] .p-signature-slide{transition:none}
 body[data-premium-site] .p-signature-art img{animation:none!important;transform:none!important}
}

/* Property gallery: keep media chrome inside the stage and thumbnails in flow. */
body[data-premium-site] main .p-property-page .hero.project-cinematic:has(>.thumbs){margin-bottom:88px;overflow:visible}
body[data-premium-site] main .p-property-page .hero.project-cinematic>.thumbs{
  position:absolute;top:100%;bottom:auto;left:0;right:0;display:flex;
  width:100%;height:88px;min-width:0;margin:0;padding:10px;gap:9px;
  overflow-x:auto;overflow-y:hidden;background:#0b0a08;scrollbar-width:thin;z-index:4;
  overscroll-behavior-inline:contain
}
body[data-premium-site] main .p-property-page .hero.project-cinematic>.thumbs>.thumb{
  position:relative;inset:auto;flex:0 0 110px;width:110px;height:64px;min-width:0
}
body[data-premium-site] main .p-property-page .hero.project-cinematic .hero-media .hero-controls-overlay{
  position:absolute;inset:0;width:100%;height:100%;transform:none;pointer-events:none;z-index:11
}
body[data-premium-site] main .p-property-page .hero.project-cinematic .hero-media,
body[data-premium-site] main .p-property-page .hero.project-cinematic .hero-stage,
body[data-premium-site] main .p-property-page .hero.project-cinematic .hero-slide-open{z-index:auto}
body[data-premium-site] main .p-property-page .hero.project-cinematic .hero-media .hero-controls-overlay button{pointer-events:auto}
body[data-premium-site] main .p-property-page .hero.project-cinematic .hero-media .hero-controls-overlay .hero-arrow{
  position:absolute;top:36%;bottom:auto;width:38px;height:38px;transform:translateY(-50%);border-radius:50%
}
body[data-premium-site] main .p-property-page .hero.project-cinematic .hero-media [data-hero-prev]{left:12px;right:auto}
body[data-premium-site] main .p-property-page .hero.project-cinematic .hero-media [data-hero-next]{right:12px;left:auto}
body[data-premium-site] main .p-property-page .hero.project-cinematic .hero-media .hero-overlay-count{
  position:absolute;top:12px;right:12px;bottom:auto;left:auto;min-width:66px;white-space:nowrap
}
body[data-premium-site] main .p-property-page .hero.project-cinematic .hero-stage .media-caption{
  position:absolute;left:10px;right:56px;bottom:10px;top:auto;
  width:auto;max-width:calc(100% - 66px);padding:0;font-size:10px;line-height:1.45;
  color:#f2eee6;opacity:1;text-shadow:0 1px 3px #000;z-index:10
}
body[data-premium-site] .p-property-page .hero,
body[data-premium-site] .p-property-page .hero-media,
body[data-premium-site] .p-property-page .hero-stage,
body[data-premium-site] .p-property-page .hero-copy{min-width:0}
body[data-premium-site] .p-property-page .hero-stage{overflow:hidden}
body[data-premium-site] .p-property-page .hero-stage .media-caption{
  right:auto;width:min(72%,calc(100% - 100px));max-width:calc(100% - 100px);
  padding:28px 12px 12px;line-height:1.45;overflow-wrap:anywhere
}
body[data-premium-site] .p-property-page .hero-overlay-count{
  top:12px;right:12px;bottom:auto;min-width:66px;white-space:nowrap
}
body[data-premium-site] .p-property-page .thumbs{
  position:relative;inset:auto;display:flex;flex:none;min-width:0;width:100%;
  overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin
}
body[data-premium-site] .p-property-page .thumbs .thumb{
  position:relative;inset:auto;flex:0 0 110px;width:110px;min-width:0
}
body[data-premium-site] .p-property-page .facts{min-width:0;gap:8px 10px;line-height:1.55}
body[data-premium-site] .p-property-page .facts span{min-width:0;overflow-wrap:anywhere}
body[data-premium-site] .p-property-page .facts span+span:before{margin-right:8px}

/* The consent panel is a fixed overlay; its arrival never resizes the hero. */
body[data-premium-site] .p-hero .p-search{bottom:82px}
body[data-premium-site] .p-hero-inner{padding-bottom:260px}
body[data-premium-site] .p-hero{min-height:max(100svh,660px)}
body[data-premium-site] .up-cookie-panel{
  min-height:0;max-height:30svh;overflow:auto
}
body[data-premium-site] .up-cookie-panel[hidden]{display:none}
@media(max-width:850px){
  body[data-premium-site] .up-cookie-panel{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:center;gap:6px 10px;padding:8px 12px
  }
  body[data-premium-site] .up-cookie-panel h2{display:none}
  body[data-premium-site] .up-cookie-panel p{
    grid-column:1/-1;min-width:0;margin:0;font-size:10px;line-height:1.3
  }
  body[data-premium-site] .up-cookie-panel .up-accept,
  body[data-premium-site] .up-cookie-panel .up-reject{
    width:100%;min-width:0;min-height:34px;padding:6px 8px;
    white-space:normal;font-size:10px;line-height:1.2
  }
}
@media(max-width:520px){
  body[data-premium-site] .p-property-page .hero-stage .media-caption{
    width:calc(100% - 94px);max-width:calc(100% - 94px);
    padding:22px 9px 9px;font-size:9px;letter-spacing:.045em
  }
  body[data-premium-site] .p-property-page .hero-overlay-count{
    top:10px;right:10px;bottom:auto;min-width:62px;padding:7px 8px;font-size:9px
  }
  body[data-premium-site] .p-property-page .thumbs{gap:7px;padding:10px}
  body[data-premium-site] .p-property-page .thumbs .thumb{
    flex-basis:clamp(68px,21vw,92px);width:clamp(68px,21vw,92px);height:58px
  }
  body[data-premium-site] .up-cookie-panel{gap:5px 8px;padding:7px 10px}
  body[data-premium-site] .up-cookie-panel p{font-size:9px;line-height:1.25}
  body[data-premium-site] .up-cookie-panel .up-accept,
  body[data-premium-site] .up-cookie-panel .up-reject{min-height:32px;font-size:9px}
}
