*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:#080808
  ;color:#f5f5f5;font-family:Inter,sans-serif;overflow-x:hidden
}
a{text-decoration:none
  ;color:inherit}
  button{font:inherit;color:inherit}img{display:block;max-width:100%}
:root{--bg:#080808;--surface:#111
  ;--text:#f5f5f5;--muted:#686868
  ;--stroke:#202020;--blue1:#89aacc;--blue2:#4e85bf}
.loader{position:fixed
  ;inset:0;background:var(--bg)
  ;z-index:9999;display:flex
  ;align-items:center;justify-content:center
}
.loader-top{position:absolute
  ;top:28px;left:32px
  ;color:#777
  ;font-size:11px
  ;text-transform:uppercase;letter-spacing:.3em
}
.loader-word-wrap{height:80px
  ;overflow:hidden}
  .loader-word{font:italic 60px "Instrument Serif",serif
    ;color:#ddd}.loader-count{position:absolute
      ;right:30px;bottom:25px;font:400 10vw "Instrument Serif",serif
      ;line-height:1;color:#eee;font-variant-numeric:tabular-nums}
      .loader-progress{position:absolute
        ;bottom:0;left:0;width:100%;height:3px;background:#181818}
        .loader-progress span{display:block;height:100%
          ;width:0;background:linear-gradient(90deg,var(--blue1),var(--blue2))
          ;box-shadow:0 0 8px #89aacc59;transform-origin:left}
.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex
  ;justify-content:center;padding:23px 16px}.nav-pill{display:inline-flex
    ;align-items:center;padding:5px;border:1px solid #ffffff18
    ;border-radius:999px;background:#151515b8
    ;backdrop-filter:blur(18px);box-shadow:0 0 0 transparent;transition:.35s
  }
  .navbar.scrolled .nav-pill{box-shadow:0 14px 45px #0008;background:#121212e8
  }.logo{width:40px;height:40px
    ;padding:2px
    ;border-radius:50%
    ;display:grid
    ;place-items:center
    ;background:linear-gradient(135deg,var(--blue1),var(--blue2))
    ;transition:.3s}.logo span{width:100%
      ;height:100%
      ;display:grid
      ;place-items:center
      ;border-radius:50%
      ;background:#090909
      ;font:italic 14px "Instrument Serif",serif
    }
    .logo:hover{transform:scale(1.1) rotate(-4deg)}
    .divider{width:1px
      ;height:20px
      ;background:#242424
      ;margin:0 5px}.nav-links{display:flex}.nav-link,.say-hi
      {padding:10px 15px
        ;border-radius:999px
        ;font-size:13px;color:#777;transition:.25s}
        .nav-link:hover,.nav-link.active,.say-hi:hover{
          color:#f5f5f5;background:#1a1a1a
        }.say-hi b{color:#89aacc;font-weight:400;margin-left:4px}
/* ================= HERO ================= */

.hero {
    min-height: 100vh;
    width: 100%;
    position: relative;

    background-image: url("assets/hero.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;
}

/* LIGHT OVERLAY */
.hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0.12);
}

/* BOTTOM FADE */
.hero-fade {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 120px;

    background: linear-gradient(
        to top,
        #080808,
        transparent
    );

    z-index: 2;
}

/* HERO CONTENT - EXACT CENTER */
.hero-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    width: 90%;
    max-width: 1050px;

    margin: 0;
    padding: 0;

    z-index: 5;
    text-align: center;
}

.hero-title-video {
    position: relative;

    width: 100%;
    max-width: 920px;
    min-height: 175px;

    margin: 0 auto 24px;
    padding: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.hero-title {
    position: relative;
    z-index: 5;

    width: 100%;
    margin: 0 !important;
    padding: 0 !important;

    text-align: center !important;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;

    transform: none !important;
}

/* SMALL TOP TEXT */
.eyebrow {
    font-size: 11px;
    letter-spacing: 5px;
    color: #777;
    margin-bottom: 25px;
}

/* MAIN HERO TITLE */
.hero-title {
    width: 100%;

    margin: 0 0 28px 0 !important;
    padding: 0 !important;

    text-align: center !important;

    font: italic 400 clamp(60px, 10vw, 140px) / 0.82
        "Instrument Serif", serif;

    letter-spacing: -4px;

    color: #fff;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;

    transform: none !important;
}

/* ROLE */
.role-line {
    font-size: 15px;
    color: #aaa;
    margin-bottom: 30px;
    text-align: center;
}

.role-line span {
    display: inline-block;
    color: #eee;

    font: italic 18px "Instrument Serif", serif;

    min-width: 74px;
}

/* DESCRIPTION */
.description {
    max-width: 440px;

    margin: 0 auto 35px;

    color: #aaa;

    font-size: 14px;
    line-height: 1.5;

    text-align: center;
}

/* BUTTONS */
.hero-buttons {
    display: flex;
    justify-content: center;
    align-items: center;

    gap: 14px;
}

/* BUTTON */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 999px;

    padding: 15px 29px;

    font-size: 14px;

    transition: 0.3s;
}

.btn:hover {
    transform: scale(1.05);
}

.btn-primary {
    background: #f5f5f5;
    color: #0a0a0a;
    border: 1px solid #f5f5f5;
}

.btn-primary:hover {
    background: #0a0a0a;
    color: #fff;
    border-color: #5d8fc1;
}

.btn-secondary {
    border: 1px solid #292929;
    background: #090909;
    color: #fff;
}

.btn-secondary:hover {
    border-color: #6e9bc8;
}

/* SCROLL INDICATOR */
.scroll-indicator {
    position: absolute;

    bottom: 29px;
    left: 50%;

    transform: translateX(-50%);

    z-index: 5;

    display: flex;
    align-items: center;

    flex-direction: column;

    gap: 10px;

    color: #aaa;

    font-size: 10px;
    letter-spacing: 3px;
}

.scroll-line {
    width: 1px;
    height: 40px;

    background: #555;

    overflow: hidden;
}

.scroll-line i {
    display: block;

    width: 1px;
    height: 18px;

    background: #aaa;

    animation: scrollDown 1.5s ease-in-out infinite;
}


/* ================= MOBILE ================= */

@media (max-width: 700px) {

    .hero-content {
        width: 94%;
    }

    .hero-title {
        font-size: clamp(55px, 16vw, 90px);
        letter-spacing: -2px;
    }

    .hero-buttons {
        flex-wrap: wrap;
    }

}
.container{width:min(1200px,calc(100% - 50px));margin:auto}
.section-head{position:relative;margin-bottom:58px}
.section-label{display:flex
  ;align-items:center
  ;gap:12px;color:#666
  ;font-size:10px;letter-spacing:4px
  ;text-transform:uppercase
  ;margin-bottom:20px
}
.section-label span{
  width:30px
  ;height:1px
  ;background:#333
}
.section-head h2{font:400 clamp(55px,7vw,90px)/.95 "Instrument Serif",serif
  ;letter-spacing:-2px;margin-bottom:20px
}
.section-head em{font-style:italic
}.section-head p{color:#666;font-size:14px}
view-all{position:absolute
  ;right:0
  ;bottom:0
  ;padding:11px 17px
  ;border:1px solid #222
  ;border-radius:999px
  ;font-size:12px;color:#aaa;transition:.3s}.view-all:hover{border-color:#5e90c0;color:#fff;transform:translateY(-2px)}
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}.project-card{position:relative;min-height:430px;grid-column:span 5;overflow:hidden;border:1px solid #191919;border-radius:28px;background:#111}.project-card.wide{grid-column:span 7}.project-card img{position:absolute;width:100%;height:100%;object-fit:cover;transition:transform .8s}.project-card:hover img{transform:scale(1.06)}.project-shade{position:absolute;inset:0;background:radial-gradient(circle,#0001,#0009);opacity:.45}.project-card:after{content:"";position:absolute;inset:0;background:radial-gradient(circle,#000 1px,transparent 1px);background-size:4px 4px;opacity:.12;mix-blend-mode:multiply}.project-hover{position:absolute;z-index:3;inset:0;display:grid;place-items:center;opacity:0;background:#0009;backdrop-filter:blur(9px);transition:.4s}.project-card:hover .project-hover{opacity:1}.project-hover{font-size:13px}.project-hover em{font:italic 18px "Instrument Serif",serif}.project-card h3{position:absolute;z-index:3;left:24px;bottom:22px;font:italic 28px "Instrument Serif",serif}.project-card:hover h3{opacity:0}
.journal{padding-top:20px}.journal-list{display:grid;gap:12px}.journal-item{display:flex;align-items:center;gap:22px;padding:13px 18px;border:1px solid #1b1b1b;background:#0e0e0e;border-radius:50px;transition:.35s}.journal-item:hover{background:#151515;transform:translateX(5px);border-color:#292929}.journal-item img{width:70px;height:70px;border-radius:50%;object-fit:cover}.journal-item div{flex:1}.journal-item h3{font:400 24px "Instrument Serif",serif}.journal-item small{display:block;color:#626262;margin-top:5px;font-size:11px}.journal-item>b{font-size:18px;color:#777;margin-right:10px}
.explorations{height:300vh;position:relative;overflow:clip;background:#080808}.explore-sticky{position:sticky;top:0;height:100vh;z-index:10;display:grid;place-items:center;pointer-events:none}.explore-copy{text-align:center;width:390px;pointer-events:auto}.explore-copy .section-label{justify-content:center}.explore-copy h2{font:400 50px/1 "Instrument Serif",serif;margin-bottom:20px}.explore-copy h2 em{font-style:italic}.explore-copy p{color:#707070;font-size:14px;line-height:1.45;margin-bottom:26px}.explore-button{position:static;display:inline-flex}.parallax-grid{position:absolute;z-index:20;top:0;left:50%;width:min(1400px,calc(100% - 80px));height:100%;transform:translateX(-50%);display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,12vw,180px);pointer-events:none}.explore-col{display:flex;flex-direction:column;gap:55vh;align-items:flex-start}.explore-col.right{align-items:flex-end;padding-top:24vh}.explore-card{width:min(320px,26vw);aspect-ratio:1;border:1px solid #252525;border-radius:22px;overflow:hidden;padding:0;background:#111;pointer-events:auto;cursor:pointer;transition:border-color .3s,transform .3s}.explore-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.explore-card:hover{border-color:#668db4}.explore-card:hover img{transform:scale(1.05)}.p1{transform:rotate(-2deg)}.p2{transform:rotate(1.5deg)}.p3{transform:rotate(-1deg)}.p4{transform:rotate(2deg)}.p5{transform:rotate(-1.5deg)}.p6{transform:rotate(1deg)}
.stats{padding-top:60px;padding-bottom:150px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #1b1b1b;border-bottom:1px solid #1b1b1b}.stat{padding:60px 20px;text-align:center;border-right:1px solid #1b1b1b}.stat:last-child{border-right:0}.stat strong{font:400 clamp(65px,8vw,105px) "Instrument Serif",serif}.stat strong span{color:#7196ba}.stat small{display:block;color:#666;font-size:11px;letter-spacing:2px;text-transform:uppercase}
.contact{position:relative;min-height:85vh;display:grid;place-items:center;overflow:hidden}.contact-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scaleY(-1);z-index:0}.contact-overlay{position:absolute;inset:0;background:#000b;z-index:1}.contact-inner{position:relative;z-index:3;text-align:center}.contact-inner .section-label{justify-content:center}.contact-inner h2{font:400 clamp(60px,8vw,105px)/.9 "Instrument Serif",serif;max-width:850px;margin:15px auto 35px}.contact-inner em{font-style:italic}.contact-button{display:inline-flex;padding:16px 26px;border:1px solid #292929;border-radius:999px;background:#101010b8;font-size:13px;transition:.3s}.contact-button:hover{border-color:#5e90c0;transform:scale(1.04)}.marquee{position:absolute;z-index:2;top:50%;left:0;transform:translateY(-50%);white-space:nowrap;overflow:hidden;width:100%;opacity:.07;pointer-events:none}.marquee div{font:italic 11vw "Instrument Serif",serif}
footer{display:flex;justify-content:space-between;align-items:center;padding:30px 40px;border-top:1px solid #151515;color:#555;font-size:11px}.availability{display:flex;gap:8px;align-items:center}.availability i{width:6px;height:6px;border-radius:50%;background:#69c58b;animation:pulse 2s infinite}.socials{display:flex;gap:20px}.socials a:hover{color:#fff}
.lightbox{position:fixed;inset:0;background:#000e;z-index:5000;display:none;place-items:center;padding:30px}.lightbox.open{display:grid}.lightbox img{max-width:min(1000px,92vw);max-height:88vh;object-fit:contain;border-radius:18px}.lightbox button{position:absolute;right:30px;top:20px;border:0;background:none;font-size:40px;cursor:pointer;color:#fff}
.reveal{opacity:0;transform:translateY(30px)}.loaded .name-reveal{animation:nameReveal 1.2s cubic-bezier(.16,1,.3,1) .1s both}.loaded .blur-in{animation:blurIn 1s ease .3s both}.loaded .role-line{animation-delay:.45s}.loaded .description{animation-delay:.6s}.loaded .hero-buttons{animation-delay:.75s}
@keyframes nameReveal{from{opacity:0;transform:translateY(50px);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes blurIn{from{opacity:0;filter:blur(10px);transform:translateY(20px)}to{opacity:1;filter:blur(0);transform:none}}@keyframes scrollDown{0%{transform:translateY(-120%)}100%{transform:translateY(300%)}}@keyframes pulse{50%{opacity:.35}}
@media(max-width:800px){.nav-link,.say-hi{padding:9px 10px;font-size:11px}.divider{display:none}.hero-title{font-size:68px;letter-spacing:-2px}.section{padding:95px 0}.view-all{position:static;display:inline-flex;margin-top:22px}.bento{display:flex;flex-direction:column}.project-card,.project-card.wide{min-height:340px}.journal-item{border-radius:28px}.journal-item h3{font-size:20px}.explorations{height:260vh}.parallax-grid{width:calc(100% - 28px);gap:22px}.explore-card{width:42vw;border-radius:16px}.explore-col{gap:55vh}.explore-col.right{padding-top:20vh}.explore-copy{width:280px}.explore-copy h2{font-size:42px}.stats-grid{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid #1b1b1b}.stat:last-child{border-bottom:0}footer{flex-direction:column;gap:20px;text-align:center;padding:30px 20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}}


/* HOTEL CUSTOMIZATION */
.room-card-label{letter-spacing:.08em;text-transform:uppercase}
.project-card h3{letter-spacing:.2px}
.explore-card{box-shadow:0 18px 60px rgba(0,0,0,.28)}
.contact-button{letter-spacing:.02em}

/* HOTEL LOGO + FULL INQUIRY */
.logo-image{padding:0;overflow:hidden;background:#090909;border:1px solid #89aacc}
.logo-image img{width:100%;height:100%;object-fit:contain;padding:5px}
.inquiry-wrap{position:relative;z-index:3;width:min(1100px,calc(100% - 50px));margin:0 auto 100px;display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}
.inquiry-copy h2{font:400 clamp(55px,6vw,82px)/.95 "Instrument Serif",serif;margin:10px 0 18px}
.inquiry-copy h2 em{font-style:italic}
.inquiry-copy p{color:#707070;max-width:440px;font-size:14px;line-height:1.6;margin-bottom:25px}
.whatsapp-direct{display:inline-flex;border:1px solid #29372f;background:#101512;border-radius:999px;padding:13px 18px;font-size:12px;transition:.3s}
.whatsapp-direct:hover{border-color:#6fbd91;transform:translateY(-2px)}
.inquiry-form{display:grid;gap:12px;padding:25px;border:1px solid #222;border-radius:28px;background:#0d0d0ddd;backdrop-filter:blur(16px)}
.inquiry-form input,.inquiry-form select,.inquiry-form textarea{width:100%;border:1px solid #222;border-radius:15px;background:#141414;color:#eee;padding:14px 15px;outline:none;font:400 13px Inter,sans-serif}
.inquiry-form textarea{resize:vertical}
.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{border-color:#638fb9}
.inquiry-form select{appearance:auto}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-submit{position:static;width:100%;border:1px solid #29372f;cursor:pointer}
.inquiry-form small{color:#5e5e5e;line-height:1.5;font-size:10px}
.inquiry-form small strong{color:#888}
@media(max-width:800px){.inquiry-wrap{grid-template-columns:1fr;gap:30px;margin-bottom:70px}.form-row{grid-template-columns:1fr}.inquiry-form{padding:18px}.logo-image img{padding:4px}}

.hero-title-video {
    position: relative;
    width: 100%;
    max-width: 920px;
    min-height: 175px;

    margin: 0 auto 24px;
    padding: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    background: transparent !important;
    border: none !important;
    border-radius: 0;
    box-shadow: none !important;

    text-align: center;
}

.hero-title {
    position: relative;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
}

/* =========================================================
   ROOMS PAGE — SAME PREMIUM HOVER LANGUAGE + BOOK NOW
   ========================================================= */
.rooms-page {
  min-height: 100vh;
  background: #080808;
}

.rooms-page-hero,
.contact-page-hero {
  min-height: 62vh;
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
  padding: 140px 6vw 80px;
  text-align: center;
}

.rooms-page-hero::before,
.contact-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.42);
  z-index: 1;
}

.page-hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.page-hero-content {
  position: relative;
  z-index: 2;
  max-width: 900px;
}

.page-hero-kicker {
  display: inline-block;
  margin-bottom: 18px;
  font-size: .78rem;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: rgba(255,255,255,.72);
}

.page-hero-title {
  margin: 0;
  font-size: clamp(3.5rem, 8vw, 8rem);
  line-height: .9;
  font-family: "Instrument Serif", Georgia, serif;
  font-weight: 400;
}

.rooms-list {
  padding: 100px 6vw 130px;
  max-width: 1500px;
  margin: 0 auto;
}

.rooms-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}

.room-card {
  position: relative;
  min-height: 540px;
  overflow: hidden;
  background: #111;
  border-radius: 2px;
  isolation: isolate;
}

.room-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s cubic-bezier(.2,.7,.2,1), filter .8s ease;
}

.room-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.88), rgba(0,0,0,.05) 65%);
  z-index: 1;
  transition: background .5s ease;
}

.room-card:hover img {
  transform: scale(1.07);
  filter: brightness(.78);
}

.room-card:hover::after {
  background: linear-gradient(to top, rgba(0,0,0,.94), rgba(0,0,0,.12) 70%);
}

.room-info {
  position: absolute;
  left: 34px;
  right: 34px;
  bottom: 30px;
  z-index: 2;
}

.room-number {
  font-size: .72rem;
  letter-spacing: .2em;
  color: rgba(255,255,255,.6);
  text-transform: uppercase;
}

.room-name {
  margin: 8px 0 8px;
  font-family: "Instrument Serif", Georgia, serif;
  font-size: clamp(2.2rem, 4vw, 3.5rem);
  font-weight: 400;
}

.room-meta {
  margin: 0 0 22px;
  color: rgba(255,255,255,.72);
  font-size: .92rem;
}

.book-now {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 13px 20px;
  border: 1px solid rgba(255,255,255,.55);
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: .72rem;
  transition: all .35s ease;
  background: rgba(0,0,0,.15);
  backdrop-filter: blur(8px);
}

.book-now span {
  transition: transform .35s ease;
}

.book-now:hover {
  background: #fff;
  color: #000;
  border-color: #fff;
  transform: translateY(-2px);
}

.book-now:hover span {
  transform: translateX(5px);
}

/* =========================================================
   CONTACT PAGE
   ========================================================= */
.contact-page {
  min-height: 100vh;
  background: #080808;
}

.contact-wrap {
  max-width: 1250px;
  margin: 0 auto;
  padding: 100px 6vw 130px;
}

.contact-grid {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 70px;
  align-items: start;
}

.contact-details h2 {
  font-family: "Instrument Serif", Georgia, serif;
  font-weight: 400;
  font-size: clamp(2.8rem, 5vw, 5rem);
  line-height: .95;
  margin: 0 0 25px;
}

.contact-details p {
  color: rgba(255,255,255,.65);
  line-height: 1.8;
  max-width: 470px;
}

.contact-detail {
  padding: 22px 0;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.contact-detail small {
  display: block;
  color: rgba(255,255,255,.45);
  letter-spacing: .15em;
  text-transform: uppercase;
  font-size: .68rem;
  margin-bottom: 8px;
}

.contact-detail a {
  color: #fff;
  text-decoration: none;
}

.contact-form {
  display: grid;
  gap: 16px;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 17px 18px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.16);
  color: #fff;
  outline: none;
  font: inherit;
  transition: border-color .3s ease, background .3s ease;
}

.contact-form select option {
  color: #000;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  border-color: rgba(255,255,255,.65);
  background: rgba(255,255,255,.075);
}

.contact-form textarea {
  min-height: 150px;
  resize: vertical;
}

.contact-form button {
  justify-self: start;
  cursor: pointer;
  border: 1px solid #fff;
  background: #fff;
  color: #000;
  padding: 16px 26px;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .72rem;
  transition: .35s ease;
}

.contact-form button:hover {
  background: transparent;
  color: #fff;
}

@media (max-width: 800px) {
  .rooms-grid,
  .contact-grid {
    grid-template-columns: 1fr;
  }

  .room-card {
    min-height: 470px;
  }

  .contact-grid {
    gap: 45px;
  }
}


/* FULL-SCREEN CINEMATIC MODERN HERO */
.rooms-page-hero,
.contact-page-hero {
  min-height: 100svh;
  height: 100svh;
  padding: 0 6vw;
  display: grid;
  place-items: center;
}

.page-hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.01);
}

.rooms-page-hero::after,
.contact-page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(to bottom, rgba(0,0,0,.45) 0%, rgba(0,0,0,.08) 42%, rgba(0,0,0,.68) 100%);
  pointer-events: none;
}

.rooms-page-hero::before,
.contact-page-hero::before {
  display: none;
}

.page-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  width: min(1100px, 92vw);
}

.page-hero-kicker {
  margin-bottom: 22px;
  font-size: .72rem;
  letter-spacing: .32em;
}

.page-hero-title {
  font-size: clamp(4.5rem, 12vw, 11rem);
  line-height: .82;
  text-shadow: 0 8px 40px rgba(0,0,0,.35);
}

.page-hero-content p {
  max-width: 600px;
  margin: 28px auto 0;
  color: rgba(255,255,255,.82);
  font-size: clamp(.9rem, 1.4vw, 1.1rem);
  line-height: 1.7;
}

/* Keep navbar above the cinematic hero */
.header {
  z-index: 100;
}


.hero-scroll-hint {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: 34px;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  color: rgba(255,255,255,.7);
  font-size: .62rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  pointer-events: none;
}

.hero-scroll-hint i {
  width: 1px;
  height: 42px;
  background: rgba(255,255,255,.65);
  display: block;
  animation: heroScroll 1.8s ease-in-out infinite;
}

@keyframes heroScroll {
  0%,100% { transform: scaleY(.55); transform-origin: top; opacity: .35; }
  50% { transform: scaleY(1); transform-origin: top; opacity: 1; }
}
.page-hero-content {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.page-hero-title {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.loader {
    position: fixed;
    inset: 0;
    z-index: 99999;
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    transition: opacity 0.8s ease, visibility 0.8s ease;
}

.loader.hide {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
}
