/* Three Crowns — Luxury Director layer
   Approved 2026-08-28. Loaded LAST so it upgrades the existing structure
   without changing booking/domain semantics or media truth. */

:root{
  --luxury-ink:#0A1128;
  --luxury-ink-2:#0D1B2A;
  --luxury-ink-3:#11233B;
  --luxury-ink-4:#172C46;
  --luxury-silver:#D1D5DB;
  --luxury-silver-hi:#EEF2F7;
  --luxury-muted:#9CA3AF;
  --luxury-line:rgba(209,213,219,.20);
  --luxury-line-hi:rgba(219,231,242,.42);
  --luxury-glass:rgba(12,27,49,.58);
  --luxury-glass-strong:rgba(9,21,40,.78);
  --luxury-blue-glow:rgba(111,175,225,.18);
  --luxury-shadow:0 28px 80px rgba(0,0,0,.42);
  --luxury-ease:cubic-bezier(.16,1,.3,1);
  --sans:"Inter Display","Plus Jakarta Sans","SF Pro Display","Inter",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

html{
  scroll-behavior:smooth;
  background:var(--luxury-ink);
  scrollbar-color:#5f7185 #08111f;
}

body{
  margin:0;
  background:
    radial-gradient(circle at 76% 9%,rgba(78,133,179,.13),transparent 27%),
    radial-gradient(circle at 14% 46%,rgba(255,255,255,.04),transparent 25%),
    linear-gradient(180deg,#08111f 0%,var(--luxury-ink) 40%,#07101d 100%);
  color:#fff;
  font-family:var(--sans);
  font-feature-settings:"kern" 1,"liga" 1,"calt" 1;
  text-rendering:optimizeLegibility;
}

body::before{
  content:"";
  position:fixed;
  z-index:-1;
  inset:0;
  pointer-events:none;
  opacity:.58;
  background:
    radial-gradient(circle at 90% 30%,rgba(123,186,231,.09),transparent 20%),
    radial-gradient(circle at 18% 76%,rgba(215,224,235,.045),transparent 23%);
}

::selection{background:#dbe4ee;color:#06111f}

.landing-v3,.rooms-page{background:transparent;color:#fff}
.landing-v3 section,.catalog-section,.room-detail-main,.room-detail-gallery{position:relative;isolation:isolate}

/* Typography */
.v3-hero h1,
.rooms-hero h1,
.room-detail-hero h1,
.display-title,
.v3-final-cta h2,
.v3-booking-help h3,
.v3-extra-heading h3,
.room-rate-card strong{
  font-family:var(--sans);
  font-weight:800;
  letter-spacing:-.047em;
  text-wrap:balance;
}

.v3-hero h1{font-size:clamp(4.2rem,8vw,8.6rem);line-height:.86;max-width:1050px}
.display-title{font-size:clamp(3rem,5.6vw,6.2rem);line-height:.91}
.rooms-hero h1,.room-detail-hero h1{font-size:clamp(3.9rem,7.4vw,7.6rem);line-height:.9}

.eyebrow,.eyebrow.light{
  color:#c6d0dc;
  font-size:.69rem;
  font-weight:800;
  letter-spacing:.19em;
  text-transform:uppercase;
}

.v3-section-head>p,
.v3-booking-intro-copy>p,
.v3-amenities-copy .lead,
.v3-groups-intro>p:not(.eyebrow),
.v3-contact-head>div>p,
.catalog-heading>p,
.room-detail-copy .lead{
  color:#a8b3c1;
  font-size:clamp(.96rem,1.25vw,1.08rem);
  line-height:1.8;
}

/* Header — floating dark glass */
.site-header.is-scrolled{
  background:rgba(7,16,31,.72)!important;
  color:#fff!important;
  border-bottom:1px solid var(--luxury-line);
  box-shadow:0 12px 48px rgba(0,0,0,.18);
  backdrop-filter:blur(24px) saturate(150%);
  -webkit-backdrop-filter:blur(24px) saturate(150%);
}
.site-header.is-scrolled .desktop-nav a,.site-header.is-scrolled .brand-copy strong{color:#fff}
.site-header.is-scrolled .brand-copy small{color:#9ba8b7}
.site-header.is-scrolled .header-book{border-color:var(--luxury-line-hi);color:#fff;background:rgba(255,255,255,.025)}

/* Hero */
.v3-hero{background:#050b16;min-height:100svh}
.v3-hero-media{transform:none!important;overflow:hidden}
.v3-hero-media video{
  transform:translate3d(0,var(--premium-parallax,0),0) scale(1.07);
  transition:transform .18s linear;
  filter:saturate(.88) contrast(1.06) brightness(.93);
}
.v3-hero-shade{
  background:
    linear-gradient(90deg,rgba(4,9,21,.95) 0%,rgba(6,17,35,.77) 42%,rgba(6,19,41,.28) 77%),
    linear-gradient(0deg,rgba(4,10,24,.96) 0%,rgba(7,17,34,.16) 58%,rgba(4,9,22,.34) 100%)!important;
}
.v3-hero::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:auto 0 0;
  height:26%;
  pointer-events:none;
  background:linear-gradient(transparent,var(--luxury-ink));
}
.v3-hero-content{z-index:3}
.v3-hero-copy{max-width:720px;color:rgba(241,245,249,.76);font-size:clamp(1rem,1.35vw,1.16rem);line-height:1.78}
.v3-hero-meta{border-top:1px solid rgba(224,232,240,.24);gap:0}
.v3-hero-meta span{padding-right:clamp(20px,4vw,56px);color:#aeb9c6}
.v3-hero-meta b{color:#fff;font-weight:750}
.v3-scroll-cue{z-index:4}
.v3-scroll-cue i{border-color:rgba(222,231,240,.28);background:rgba(10,25,48,.46);backdrop-filter:blur(16px)}

/* Section surfaces */
.v3-booking,.v3-advantages,.v3-rooms,.v3-amenities,.v3-reviews,.v3-contacts,
.catalog-section,.room-detail-main,.room-detail-gallery{
  background:
    radial-gradient(circle at 88% 14%,rgba(96,156,205,.10),transparent 28%),
    linear-gradient(180deg,var(--luxury-ink) 0%,var(--luxury-ink-2) 54%,#091728 100%)!important;
}
.v3-advantages,.v3-reviews,.room-detail-gallery{
  background:
    radial-gradient(circle at 10% 20%,rgba(157,183,208,.055),transparent 27%),
    linear-gradient(180deg,#091728,#0c1c30)!important;
}

/* Glass booking */
.v3-booking-main .booking-shell,
.v3-booking-help,
.v3-arrival-card,
.room-rate-card,
.catalog-truth{
  background:linear-gradient(155deg,rgba(17,36,61,.72),rgba(7,18,35,.88))!important;
  border:1px solid var(--luxury-line)!important;
  box-shadow:var(--luxury-shadow)!important;
  backdrop-filter:blur(26px) saturate(135%);
  -webkit-backdrop-filter:blur(26px) saturate(135%);
}
.v3-booking-help::before,.v3-booking-help::after{opacity:.20}
.v3-booking-main .booking-bar,
.v3-booking-main .request-form,
.v3-booking-trust span,
.v3-help-actions a{
  background:rgba(255,255,255,.035)!important;
  border-color:var(--luxury-line)!important;
}
.v3-booking-main input,.v3-booking-main select{color:#fff!important}

/* Buttons — silver/blue liquid sheen */
.button,.header-book,.search-button{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-radius:999px!important;
  transition:transform .42s var(--luxury-ease),box-shadow .42s ease,border-color .42s ease,color .42s ease,background .42s ease!important;
}
.button::after,.header-book::after,.search-button::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-80% -30%;
  opacity:0;
  transform:translateX(-35%) rotate(12deg);
  background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.24) 44%,rgba(185,218,242,.52) 51%,rgba(255,255,255,.18) 59%,transparent 76%);
  transition:opacity .3s ease,transform .65s var(--luxury-ease);
}
.button:hover,.header-book:hover,.search-button:hover{
  transform:translateY(-3px) scale(1.015)!important;
  border-color:rgba(215,229,242,.6)!important;
  box-shadow:0 16px 48px rgba(85,153,207,.22),0 0 0 1px rgba(255,255,255,.05) inset!important;
}
.button:hover::after,.header-book:hover::after,.search-button:hover::after{opacity:1;transform:translateX(28%) rotate(12deg)}
.button:active,.header-book:active,.search-button:active{transform:translateY(0) scale(.985)!important}
.button-accent{background:linear-gradient(125deg,#f5f7fa 0%,#c7d2de 48%,#9fb6cb 100%)!important;color:#061324!important}
.button-dark,.search-button{background:linear-gradient(135deg,#173b5f,#0b2039)!important;color:#fff!important;border:1px solid rgba(208,224,238,.24)!important}
.button-quiet{background:rgba(8,23,45,.42)!important;border:1px solid rgba(218,229,239,.33)!important;color:#fff!important;backdrop-filter:blur(18px)}

/* High-end card system */
.v3-advantage-card,
.v3-room-card,
.v3-amenity-grid article,
.v3-review-grid article,
.v3-extra-grid article,
.v3-group-grid article,
.v3-contact-actions a,
.room-catalog-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:linear-gradient(155deg,rgba(20,41,67,.62),rgba(9,23,43,.74))!important;
  color:#fff!important;
  border:1px solid var(--luxury-line)!important;
  box-shadow:0 20px 58px rgba(0,0,0,.20)!important;
  backdrop-filter:blur(18px) saturate(125%);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
  transition:transform .5s var(--luxury-ease),border-color .42s ease,box-shadow .42s ease,background .42s ease!important;
}
.v3-advantage-card::before,
.v3-room-card::before,
.v3-amenity-grid article::before,
.v3-review-grid article::before,
.v3-extra-grid article::before,
.v3-group-grid article::before,
.room-catalog-card::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  opacity:0;
  pointer-events:none;
  background:radial-gradient(320px circle at var(--spot-x,50%) var(--spot-y,50%),rgba(145,199,238,.17),transparent 64%);
  transition:opacity .35s ease;
}
.v3-advantage-card:hover::before,
.v3-room-card:hover::before,
.v3-amenity-grid article:hover::before,
.v3-review-grid article:hover::before,
.v3-extra-grid article:hover::before,
.v3-group-grid article:hover::before,
.room-catalog-card:hover::before{opacity:1}
.v3-advantage-card:hover,
.v3-room-card:hover,
.v3-amenity-grid article:hover,
.v3-review-grid article:hover,
.v3-extra-grid article:hover,
.v3-group-grid article:hover,
.room-catalog-card:hover{
  transform:translateY(-7px) scale(1.018)!important;
  border-color:var(--luxury-line-hi)!important;
  box-shadow:0 28px 78px rgba(0,0,0,.33),0 0 42px var(--luxury-blue-glow)!important;
}
.v3-room-card p,.v3-advantage-card p,.v3-amenity-grid p,.v3-review-grid p,.v3-extra-grid p,.v3-group-grid p,.room-catalog-card p{color:#a8b4c2!important}
.v3-room-card h3,.v3-advantage-card h3,.v3-amenity-grid h3,.v3-review-grid h3,.v3-extra-grid h4,.v3-group-grid h3,.room-catalog-card h2{color:#fff!important}
.v3-room-card-top,.v3-room-card-price small,.v3-advantage-body>span,.v3-amenity-grid article>span,.v3-review-grid article>span,.v3-extra-grid article>span,.v3-group-grid article>span,.room-catalog-index,.room-catalog-meta{color:#c4cfdb!important}

/* Media cards */
.v3-advantage-image,.v3-room-card-photo,.v3-amenity-card-media,.v3-extra-card-media,.room-catalog-media{
  background:#0d1c31!important;
}
.v3-advantage-image img,.v3-room-card-photo img,.v3-amenity-card-media img,.v3-extra-card-media img,.room-catalog-media img{
  filter:saturate(.92) contrast(1.035);
  transition:transform .7s var(--luxury-ease),filter .45s ease!important;
}
.v3-advantage-card:hover img,.v3-room-card:hover img,.v3-amenity-grid article:hover img,.v3-extra-grid article:hover img,.room-catalog-card:hover img{transform:scale(1.055)!important;filter:saturate(1.02) contrast(1.04)}

/* Three video centres */
.v3-territory{
  position:relative;
  background:
    radial-gradient(circle at 82% 12%,rgba(85,150,202,.14),transparent 30%),
    linear-gradient(180deg,#071322 0%,#0a1b30 100%)!important;
  padding-bottom:clamp(78px,9vw,142px);
}
.v3-territory::before{display:none!important}
.v3-territory-film{
  position:relative!important;
  inset:auto!important;
  z-index:1!important;
  width:min(100% - 28px,1380px)!important;
  height:auto!important;
  max-width:1380px!important;
  margin:52px auto 0!important;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(211,225,238,.30)!important;
  background:#081525!important;
  box-shadow:0 35px 110px rgba(0,0,0,.47),0 0 60px rgba(84,151,202,.08)!important;
  transform:none!important;
}
.v3-territory-film video{
  width:100%!important;
  height:min(70vw,760px)!important;
  min-height:440px;
  opacity:1!important;
  object-fit:cover;
  transform:translate3d(0,var(--premium-parallax,0),0) scale(1.055);
  transition:transform .2s linear;
}
.v3-territory-film::after,.v3-lake-film::after{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  border:1px solid rgba(235,240,246,.07);
  box-shadow:inset 0 0 110px rgba(117,179,225,.06);
}
.v3-territory-film .v3-film-caption{
  display:grid!important;
  z-index:4;
  background:rgba(7,18,35,.62)!important;
  border:1px solid rgba(219,229,239,.22)!important;
  backdrop-filter:blur(18px);
}
.v3-lake-film{
  border-radius:28px!important;
  border:1px solid rgba(211,225,238,.30)!important;
  background:#081525!important;
  box-shadow:0 32px 92px rgba(0,0,0,.42),0 0 50px rgba(91,156,204,.08)!important;
  overflow:hidden;
}
.v3-lake-film video{transform:translate3d(0,var(--premium-parallax,0),0) scale(1.055);transition:transform .2s linear;filter:saturate(.9) contrast(1.04)}
.v3-lake-film:after{background:linear-gradient(180deg,rgba(7,15,30,.04) 40%,rgba(6,16,32,.82) 100%)!important}
.v3-lake-film figcaption span{color:#ced8e3!important}
.v3-lake-film figcaption strong{font-family:var(--sans)!important;font-weight:700!important;letter-spacing:-.03em!important}

/* Minimal custom video controls */
.premium-video-toggle{
  position:absolute;
  z-index:12;
  right:24px;
  bottom:24px;
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  padding:0;
  color:#fff;
  background:rgba(7,18,35,.60);
  border:1px solid rgba(224,233,241,.36);
  border-radius:50%;
  box-shadow:0 14px 38px rgba(0,0,0,.30);
  backdrop-filter:blur(16px) saturate(135%);
  -webkit-backdrop-filter:blur(16px) saturate(135%);
  cursor:pointer;
  transition:transform .35s var(--luxury-ease),border-color .35s ease,background .35s ease,box-shadow .35s ease;
}
.premium-video-toggle:hover{transform:scale(1.08);border-color:rgba(226,237,246,.72);background:rgba(19,48,78,.72);box-shadow:0 16px 44px rgba(75,148,205,.22)}
.premium-video-toggle::before,.premium-video-toggle::after{content:"";position:absolute;transition:opacity .2s ease,transform .2s ease}
.premium-video-toggle[data-state="playing"]::before{width:4px;height:16px;border-left:4px solid currentColor;border-right:4px solid currentColor}
.premium-video-toggle[data-state="paused"]::before{width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:13px solid currentColor;transform:translateX(2px)}
.premium-video-toggle-hero{right:clamp(18px,4vw,62px);bottom:clamp(94px,9vw,130px)}

/* Gallery/territory strip */
.v3-territory-photo-strip figure,.v3-review-visual,.gallery-item{
  border-radius:20px!important;
  border:1px solid var(--luxury-line)!important;
  box-shadow:0 22px 64px rgba(0,0,0,.25);
}
.v3-territory-photo-strip figcaption{font-family:var(--sans)!important;font-weight:700;letter-spacing:-.025em}
.v3-review-visual{background:#081525!important}

/* Group cinematic section */
.v3-groups{background:#050d1b!important}
.v3-groups-shade{background:linear-gradient(90deg,rgba(4,10,24,.96),rgba(6,19,40,.74) 55%,rgba(7,19,37,.40))!important}
.v3-groups-media img{filter:saturate(.88) contrast(1.04)}

/* Contacts */
.v3-map-card{overflow:hidden;border-radius:28px;border:1px solid var(--luxury-line)!important;box-shadow:var(--luxury-shadow)!important;background:#071324}
.v3-arrival-card::before{filter:saturate(.8)}
.v3-arrival-card::after{background:linear-gradient(145deg,rgba(6,17,34,.78),rgba(7,18,36,.95))!important}
.v3-final-cta::after{background:linear-gradient(90deg,rgba(4,11,25,.96),rgba(6,18,38,.76) 60%,rgba(6,18,36,.84))!important}
.home-footer,.rooms-footer{background:#050c17!important;color:#fff!important;border-top:1px solid var(--luxury-line)!important}

/* Room catalogue/detail */
.rooms-hero,.room-detail-hero{background:#050c18}
.rooms-hero-media img,.room-detail-hero-media img{filter:saturate(.88) contrast(1.05)}
.rooms-hero-shade,.room-detail-hero-shade{background:linear-gradient(90deg,rgba(5,11,24,.94),rgba(6,18,36,.62) 56%,rgba(5,15,30,.38)),linear-gradient(0deg,rgba(5,11,23,.82),transparent 55%)!important}
.catalog-heading,.room-detail-layout,.room-detail-gallery-head{color:#fff}
.catalog-heading>p,.room-detail-gallery-head>p{color:#a5b1bf!important}
.room-catalog-card h2,.room-catalog-price strong,.room-rate-card,.room-rate-card strong,.room-detail-copy,.room-detail-copy h2{color:#fff!important}
.room-catalog-price span,.room-rate-card>p,.room-rate-row span,.room-rate-note,.room-detail-facts span{color:#9eabba!important}
.room-rate-row,.room-detail-facts>div{border-color:var(--luxury-line)!important}
.room-detail-safety{background:rgba(255,255,255,.035)!important;border:1px solid var(--luxury-line)!important;color:#cbd5df!important}
.room-detail-gallery{color:#fff}
.gallery-item{background:#0a1729!important}

/* Rules cards */
.catalog-truth{color:#fff}
.catalog-truth p{color:#a7b2c0!important}

/* Motion system */
.premium-scroll-progress{
  position:fixed;
  z-index:10050;
  top:0;
  left:0;
  width:100%;
  height:2px;
  pointer-events:none;
  transform-origin:left center;
  transform:scaleX(var(--scroll-progress,0));
  background:linear-gradient(90deg,#91b8d5,#e7edf4,#8db5d4);
  box-shadow:0 0 18px rgba(150,200,236,.45);
}
.premium-js .premium-reveal{
  opacity:0;
  transform:translate3d(0,34px,0) scale(.985);
  filter:blur(5px);
  transition:
    opacity .95s var(--luxury-ease) var(--reveal-delay,0ms),
    transform .95s var(--luxury-ease) var(--reveal-delay,0ms),
    filter .95s ease var(--reveal-delay,0ms);
  will-change:opacity,transform,filter;
}
.premium-js .premium-reveal.is-revealed{opacity:1;transform:none;filter:none}

/* Premium cursor */
.premium-cursor{
  position:fixed;
  z-index:10040;
  top:0;
  left:0;
  width:12px;
  height:12px;
  margin:-6px 0 0 -6px;
  pointer-events:none;
  border:1px solid rgba(240,244,248,.85);
  border-radius:50%;
  background:rgba(255,255,255,.05);
  box-shadow:0 0 18px rgba(157,202,235,.12);
  backdrop-filter:invert(.03);
  transition:width .28s var(--luxury-ease),height .28s var(--luxury-ease),margin .28s var(--luxury-ease),background .28s ease,border-color .28s ease;
  will-change:transform,width,height;
}
.premium-cursor::after{content:"";position:absolute;inset:50% auto auto 50%;width:3px;height:3px;transform:translate(-50%,-50%);border-radius:50%;background:#fff}
.premium-cursor.is-active{width:42px;height:42px;margin:-21px 0 0 -21px;background:rgba(137,188,226,.09);border-color:rgba(224,237,247,.72)}
.premium-cursor.is-video{width:62px;height:62px;margin:-31px 0 0 -31px;background:rgba(10,29,52,.22);box-shadow:0 0 32px rgba(106,176,226,.18)}

@media (pointer:fine) and (hover:hover){
  html.premium-cursor-enabled body,
  html.premium-cursor-enabled a,
  html.premium-cursor-enabled button,
  html.premium-cursor-enabled .v3-room-card,
  html.premium-cursor-enabled .v3-advantage-card{cursor:none!important}
  html.premium-cursor-enabled input,
  html.premium-cursor-enabled textarea{cursor:text!important}
}

@media(max-width:900px){
  .v3-hero h1{font-size:clamp(3.4rem,14vw,6.4rem)}
  .display-title{font-size:clamp(2.6rem,10vw,4.7rem)}
  .v3-territory-film{width:calc(100% - 28px)!important;border-radius:20px}
  .v3-territory-film video{height:64svh!important;min-height:430px}
  .v3-lake-film{border-radius:20px!important}
  .premium-video-toggle{width:46px;height:46px;right:16px;bottom:16px}
  .premium-video-toggle-hero{bottom:86px}
  .premium-cursor{display:none!important}
}

@media(max-width:640px){
  .v3-hero h1{letter-spacing:-.052em}
  .v3-hero-meta{display:grid;grid-template-columns:1fr 1fr;gap:0}
  .v3-hero-meta span{padding:13px 12px 13px 0;border-bottom:1px solid rgba(255,255,255,.10)}
  .v3-territory-film{margin-top:30px!important}
  .v3-territory-film video{height:58svh!important;min-height:390px}
  .premium-video-toggle-hero{bottom:76px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .premium-scroll-progress,.premium-cursor{display:none!important}
  .premium-reveal,.premium-reveal.is-revealed{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
  .v3-hero-media video,.v3-territory-film video,.v3-lake-film video{transform:none!important;transition:none!important}
  .button,.v3-room-card,.v3-advantage-card,.v3-amenity-grid article,.v3-review-grid article,.v3-extra-grid article,.v3-group-grid article,.room-catalog-card{transition:none!important}
}
