
    :root{
      --bg-base:#0A0A0A;
      --bg-raised:#111111;
      --bg-card:#181818;
      --gold:#C9A96E;
      --gold-light:#E2C48A;
      --gold-dim:#A07840;
      --gold-ghost:rgba(201,169,110,0.10);
      --gold-border:rgba(201,169,110,0.15);
      --gold-border-hi:rgba(201,169,110,0.38);
      --cream:#F6F0E4;
      --cream-70:rgba(246,240,228,0.70);
      --cream-45:rgba(246,240,228,0.45);
      --cream-25:rgba(246,240,228,0.25);
      --shadow-md:0 8px 32px rgba(0,0,0,0.38);
      --shadow-lg:0 20px 60px rgba(0,0,0,0.55);
      --shadow-gold:0 4px 24px rgba(201,169,110,0.22);
      --font-display:"Cinzel",serif;
      --font-serif:"Cormorant Garamond",serif;
      --font-sans:"Inter",sans-serif;
      --ease-luxury:cubic-bezier(0.25,0.46,0.45,0.94);
      --ease-expo:cubic-bezier(0.16,1,0.3,1);
    }
    *,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
    html{scroll-behavior:smooth;scroll-padding-top:96px}
    body{
      position:relative;
      font-family:var(--font-sans);
      font-size:17px;
      background:var(--bg-base);
      color:var(--cream);
      overflow-x:hidden;
      -webkit-font-smoothing:antialiased;
    }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      z-index:-2;
      background:
        linear-gradient(180deg, rgba(10,10,10,0.80), rgba(10,10,10,0.88) 40%, rgba(10,10,10,0.94)),
        linear-gradient(135deg, rgba(201,169,110,0.06), rgba(10,10,10,0.18) 42%, rgba(10,10,10,0.34)),
        url("assets/images/about/beach-02.webp") center/cover fixed no-repeat;
      transform:scale(1.02);
    }
    body::after{
      content:"";
      position:fixed;
      inset:0;
      z-index:-1;
      pointer-events:none;
      background:
        radial-gradient(circle at 16% 16%, rgba(201,169,110,0.10), transparent 26%),
        radial-gradient(circle at 84% 14%, rgba(255,255,255,0.03), transparent 22%),
        radial-gradient(circle at 52% 88%, rgba(201,169,110,0.06), transparent 34%),
        linear-gradient(180deg, rgba(10,10,10,0.14), rgba(10,10,10,0.08));
    }
    img{display:block;max-width:100%}
    a{color:inherit;text-decoration:none}
    button,input,select,textarea{font:inherit}
    :focus{outline:none}
    :focus-visible{outline:2px solid var(--gold-light);outline-offset:3px;box-shadow:0 0 0 4px rgba(201,169,110,0.18)}
    .skip-link{position:absolute;left:1rem;top:1rem;z-index:1200;padding:0.85rem 1.1rem;border-radius:999px;background:var(--gold);color:var(--bg-base);font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;transform:translateY(-180%);transition:transform 0.25s var(--ease-expo),box-shadow 0.25s var(--ease-expo)}
    .skip-link:focus{transform:translateY(0)}
    .skip-link:focus-visible{box-shadow:0 10px 24px rgba(201,169,110,0.25)}
    .booking-page{scroll-margin-top:96px}

    /* NAV */
    #mainNav{
      position:fixed;
      top:0;
      left:0;
      right:0;
      z-index:900;
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:1.45rem 3.5rem;
      background:rgba(10,10,10,0.72);
      backdrop-filter:blur(28px);
      -webkit-backdrop-filter:blur(28px);
      border-bottom:1px solid rgba(201,169,110,0.14);
      transition:padding 0.4s,background 0.4s,box-shadow 0.4s,transform 0.4s;
    }
    #mainNav.scrolled{
      padding:0.85rem 3.5rem;
      background:rgba(10,10,10,0.86);
      box-shadow:0 4px 40px rgba(0,0,0,0.5),0 1px 0 var(--gold-border);
      transform:translateY(0);
    }
    .nav-logo{
      display:flex;
      align-items:center;
      background:none;
      border:none;
      padding:0;
      cursor:pointer;
    }
    .nav-logo-wordmark{
      font-family:var(--font-display);
      font-size:1.55rem;
      font-weight:600;
      letter-spacing:0.35em;
      text-transform:uppercase;
      background:linear-gradient(135deg,#C9A96E 0%,#E8D09A 50%,#A07840 100%);
      -webkit-background-clip:text;
      -webkit-text-fill-color:transparent;
      background-clip:text;
    }
    .nav-logo-sep{width:1px;height:18px;background:var(--gold-border-hi);margin:0 1rem}
    .nav-logo-sub{
      font-family:var(--font-sans);
      font-size:0.55rem;
      letter-spacing:0.32em;
      text-transform:uppercase;
      color:rgba(201,169,110,0.6);
    }
    .nav-links{display:flex;gap:2.5rem;list-style:none}
    .nav-links a{
      position:relative;
      font-size:0.68rem;
      letter-spacing:0.20em;
      text-transform:uppercase;
      color:var(--cream-70);
      text-decoration:none;
      transition:color 0.25s;
      padding-bottom:2px;
    }
    .nav-links a::after{
      content:"";
      position:absolute;
      bottom:-2px;
      left:0;
      width:0;
      height:1px;
      background:var(--gold);
      transition:width 0.35s var(--ease-expo);
    }
    .nav-links a:hover,.nav-links a[aria-current]{color:var(--gold)}
    .nav-links a:hover::after,.nav-links a[aria-current]::after{width:100%}
    .nav-cta,.footer-cta{
      font-family:var(--font-sans);
      font-size:0.68rem;
      letter-spacing:0.18em;
      text-transform:uppercase;
      color:var(--bg-base);
      background:linear-gradient(135deg,#C9A96E 0%,#E2C48A 55%,#A07840 100%);
      border:1px solid rgba(201,169,110,0.25);
      padding:0.65rem 1.8rem;
      cursor:pointer;
      transition:all 0.3s;
      box-shadow:0 10px 24px rgba(201,169,110,0.16);
      border-radius:10px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:0.5rem;
    }
    .nav-cta:hover,.footer-cta:hover{
      background:linear-gradient(135deg,#E2C48A,#C9A96E 55%,#B8894D);
      color:var(--bg-base);
      box-shadow:0 14px 32px rgba(201,169,110,0.24);
      transform:translateY(-1px);
    }
    .hamburger{
      display:none;
      flex-direction:column;
      gap:6px;
      background:none;
      border:none;
      cursor:pointer;
      padding:4px;
    }
    .hamburger span{display:block;width:22px;height:1px;background:var(--gold);transition:all 0.3s}
    #mainNav.is-open .hamburger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
    #mainNav.is-open .hamburger span:nth-child(2){opacity:0}
    #mainNav.is-open .hamburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

    /* BUTTONS */
    .btn-primary{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:0.5rem;
      font-family:var(--font-sans);
      font-size:0.70rem;
      letter-spacing:0.20em;
      text-transform:uppercase;
      font-weight:500;
      padding:0.95rem 2.6rem;
      border:none;
      cursor:pointer;
      border-radius:10px;
      background:linear-gradient(135deg,#C9A96E 0%,#E2C48A 50%,#A07840 100%);
      color:#0A0A0A;
      box-shadow:0 4px 20px rgba(201,169,110,0.25);
      transition:all 0.35s var(--ease-luxury);
      position:relative;
      overflow:hidden;
    }
    .btn-primary::before{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(135deg,#E2C48A,#C9A96E);
      opacity:0;
      transition:opacity 0.35s;
    }
    .btn-primary:hover{
      transform:translateY(-2px);
      box-shadow:0 8px 32px rgba(201,169,110,0.40);
    }
    .btn-primary:hover::before{opacity:1}
    .btn-primary span,.btn-primary>*{position:relative;z-index:1}

    /* TYPOGRAPHY */
    .section-label{
      font-family:var(--font-sans);
      font-size:0.60rem;
      letter-spacing:0.42em;
      text-transform:uppercase;
      color:var(--gold);
      margin-bottom:0.6rem;
      display:flex;
      align-items:center;
      gap:0.75rem;
    }
    .section-label::before{
      content:"";
      display:inline-block;
      width:20px;
      height:1px;
      background:var(--gold);
      opacity:0.6;
      flex-shrink:0;
    }
    .section-title{
      font-family:var(--font-serif);
      font-size:clamp(2rem,4vw,3.4rem);
      font-weight:300;
      line-height:1.08;
      color:var(--cream);
      max-width:14ch;
    }
    .section-title em{
      font-style:italic;
      color:var(--gold-light);
    }
    .section-body{
      font-size:0.95rem;
      font-weight:300;
      line-height:2.0;
      color:var(--cream-70);
      max-width:620px;
    }

    /* ANIMATIONS */
    @keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
    @keyframes pageIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
    @keyframes heroZoom{from{transform:scale(1.05)}to{transform:scale(1.0)}}
    @keyframes softGlow{0%,100%{box-shadow:0 18px 54px rgba(0,0,0,0.26)}50%{box-shadow:0 20px 60px rgba(0,0,0,0.32)}}
    @keyframes floatUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
    .reveal{opacity:0;transform:translateY(20px);transition:opacity 0.8s var(--ease-expo),transform 0.8s var(--ease-expo)}
    .reveal.is-visible{opacity:1;transform:none}
    body.is-ready .booking-page{animation:pageIn 0.55s var(--ease-expo)}

    /* PAGE */
    .booking-page{
      position:relative;
      min-height:100vh;
      background:
        radial-gradient(circle at 14% 8%, rgba(201,169,110,0.10), transparent 28%),
        radial-gradient(circle at 84% 18%, rgba(201,169,110,0.05), transparent 24%),
        radial-gradient(circle at 50% 108%, rgba(201,169,110,0.08), transparent 34%),
        linear-gradient(180deg, rgba(10,10,10,0.72), rgba(10,10,10,0.88));
      padding:7.8rem 3.5rem 0;
      overflow:visible;
      isolation:isolate;
    }
    .booking-page::before,
    .booking-page::after{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      z-index:0;
    }
    .booking-page::before{
      background:
        radial-gradient(circle at 10% 2%, rgba(201,169,110,0.12), transparent 28%),
        radial-gradient(circle at 88% 10%, rgba(201,169,110,0.05), transparent 24%),
        radial-gradient(circle at 50% 0%, rgba(255,255,255,0.04), transparent 18%),
        linear-gradient(180deg, rgba(10,10,10,0.12), transparent 18%, transparent 78%, rgba(10,10,10,0.28));
    }
    .booking-page::after{
      left:50%;
      right:auto;
      width:min(1400px,100%);
      transform:translateX(-50%);
      background:
        radial-gradient(circle at 50% 24%, rgba(201,169,110,0.04), transparent 24%),
        linear-gradient(180deg, rgba(255,255,255,0.02), transparent 14%, transparent 86%, rgba(255,255,255,0.01));
    }
    .booking-shell{
      position:relative;
      z-index:1;
      max-width:1380px;
      margin:0 auto;
    }
    .booking-hero{
      position:relative;
      max-width:760px;
      padding:0 0 2.8rem;
      margin-bottom:1.25rem;
      animation:fadeUp 0.9s 0.12s both;
    }
    .booking-hero::after{
      content:"";
      display:block;
      width:min(220px,24vw);
      height:1px;
      margin-top:1.35rem;
      background:linear-gradient(90deg, rgba(201,169,110,0.92), rgba(201,169,110,0.06));
    }
    .booking-hero .section-label{
      margin-bottom:1rem;
      letter-spacing:0.44em;
    }
    .booking-hero .section-title{
      font-size:clamp(2.75rem,5.8vw,4.85rem);
      line-height:0.95;
      letter-spacing:-0.02em;
      max-width:9ch;
      text-shadow:0 10px 32px rgba(0,0,0,0.45);
    }
    .booking-hero .section-body{
      margin-top:1.05rem;
      max-width:620px;
      color:rgba(246,240,228,0.78);
    }

    .booking-layout{
      display:grid;
      grid-template-columns:minmax(0,1.5fr) minmax(360px,0.95fr);
      gap:2.5rem;
      align-items:stretch;
    }
    .booking-panel{
      position:relative;
      background:rgba(15,15,15,0.75);
      border:1px solid rgba(201,169,110,0.20);
      border-radius:28px;
      box-shadow:
        0 24px 72px rgba(0,0,0,0.40),
        0 0 0 1px rgba(255,255,255,0.02) inset,
        inset 0 1px 0 rgba(255,255,255,0.04);
      backdrop-filter:blur(30px) saturate(115%);
      -webkit-backdrop-filter:blur(30px) saturate(115%);
      transition:transform 0.35s var(--ease-expo),box-shadow 0.35s var(--ease-expo),border-color 0.35s var(--ease-expo);
      overflow:hidden;
    }
    .booking-panel::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 16% 10%, rgba(201,169,110,0.08), transparent 28%),
        linear-gradient(135deg, rgba(255,255,255,0.05), transparent 34%, rgba(201,169,110,0.06));
      pointer-events:none;
    }
    .booking-panel:hover{
      transform:translateY(-4px);
      box-shadow:
        0 30px 82px rgba(0,0,0,0.42),
        0 0 0 1px rgba(255,255,255,0.05) inset,
        0 0 48px rgba(201,169,110,0.06);
    }

    .booking-form-panel{padding:2.65rem}
    .booking-form{display:grid;gap:1.55rem}
    .booking-section{
      padding-bottom:1.45rem;
      border-bottom:1px solid rgba(201,169,110,0.12);
    }
    .booking-section:last-of-type{padding-bottom:0;border-bottom:none}
    .booking-section-title{
      display:flex;
      align-items:center;
      gap:0.7rem;
      font-size:0.66rem;
      letter-spacing:0.38em;
      text-transform:uppercase;
      color:rgba(201,169,110,0.84);
      margin-bottom:1.05rem;
    }
    .booking-section-title::before{
      content:"";
      width:16px;
      height:1px;
      background:rgba(201,169,110,0.6);
      flex-shrink:0;
    }
    .form-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:1.15rem;
    }
    .form-group{
      display:flex;
      flex-direction:column;
      gap:0.45rem;
      min-width:0;
    }
    .form-group label{
      font-size:0.58rem;
      letter-spacing:0.26em;
      text-transform:uppercase;
      color:rgba(201,169,110,0.68);
    }
    .form-group input,
    .form-group select,
    .form-group textarea{
      width:100%;
      min-height:58px;
      border:1px solid rgba(201,169,110,0.18);
      background:linear-gradient(180deg, rgba(15,15,15,0.92), rgba(15,15,15,0.74));
      color:var(--cream);
      border-radius:16px;
      padding:0.95rem 1rem;
      outline:none;
      transition:border-color 0.25s var(--ease-expo),box-shadow 0.25s var(--ease-expo),transform 0.25s var(--ease-expo),background 0.25s var(--ease-expo);
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.03),
        0 10px 22px rgba(0,0,0,0.18);
    }
    .form-group textarea{
      resize:vertical;
      min-height:150px;
    }
    .form-group input::placeholder,
    .form-group textarea::placeholder{
      color:rgba(246,240,228,0.32);
    }
    .form-group input:focus,
    .form-group select:focus,
    .form-group textarea:focus{
      border-color:rgba(201,169,110,0.50);
      box-shadow:0 0 0 4px rgba(201,169,110,0.14);
      transform:translateY(-1px);
      background:rgba(15,15,15,0.86);
    }
    .lux-dropdown{
      position:relative;
      min-width:0;
    }
    .lux-dropdown-trigger{
      width:100%;
      min-height:68px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
      padding:0.92rem 1rem;
      border-radius:18px;
      border:1px solid rgba(201,169,110,0.20);
      background:linear-gradient(180deg, rgba(18,18,18,0.98), rgba(12,12,12,0.96));
      color:var(--cream);
      cursor:pointer;
      text-align:left;
      transition:border-color 0.25s var(--ease-expo),box-shadow 0.25s var(--ease-expo),transform 0.25s var(--ease-expo),background 0.25s var(--ease-expo);
    }
    .lux-dropdown-trigger:hover{
      border-color:rgba(201,169,110,0.28);
      box-shadow:0 10px 28px rgba(0,0,0,0.18);
      transform:translateY(-1px);
    }
    .lux-dropdown.is-open .lux-dropdown-trigger{
      border-color:rgba(201,169,110,0.42);
      box-shadow:0 0 0 4px rgba(201,169,110,0.12),0 18px 36px rgba(0,0,0,0.24);
    }
    .lux-dropdown-copy{
      min-width:0;
      display:flex;
      flex-direction:column;
      gap:0.25rem;
      flex:1;
    }
    .lux-dropdown-label{
      font-size:0.56rem;
      letter-spacing:0.30em;
      text-transform:uppercase;
      color:rgba(201,169,110,0.70);
    }
    .lux-dropdown-value{
      font-family:var(--font-serif);
      font-size:1.08rem;
      line-height:1.2;
      color:var(--cream);
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .lux-dropdown-value-sub{
      font-size:0.72rem;
      line-height:1.5;
      color:rgba(246,240,228,0.52);
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .lux-dropdown-arrow{
      flex-shrink:0;
      width:16px;
      height:16px;
      border-right:1.6px solid var(--gold);
      border-bottom:1.6px solid var(--gold);
      transform:translateY(-2px) rotate(45deg);
      transition:transform 0.25s var(--ease-expo);
      margin-right:0.2rem;
    }
    .lux-dropdown.is-open .lux-dropdown-arrow{transform:translateY(2px) rotate(-135deg)}
    .lux-dropdown-panel{
      position:absolute;
      top:calc(100% + 12px);
      left:0;
      right:0;
      z-index:80;
      padding:12px;
      border-radius:20px;
      border:1px solid rgba(201,169,110,0.20);
      background:rgba(11,11,11,0.96);
      box-shadow:0 34px 84px rgba(0,0,0,.52);
      backdrop-filter:blur(24px);
      -webkit-backdrop-filter:blur(24px);
      max-height:350px;
      overflow:auto;
      opacity:0;
      transform:translateY(10px) scale(.98);
      pointer-events:none;
      transition:opacity 0.25s var(--ease-expo),transform 0.25s var(--ease-expo);
    }
    .lux-dropdown.is-open .lux-dropdown-panel{
      opacity:1;
      transform:none;
      pointer-events:auto;
    }
    .lux-dropdown-panel::-webkit-scrollbar{width:6px}
    .lux-dropdown-panel::-webkit-scrollbar-thumb{
      background:var(--gold);
      border-radius:999px;
    }
    .lux-dropdown-panel::-webkit-scrollbar-track{background:transparent}
    .lux-option-list{
      display:grid;
      gap:8px;
    }
    .lux-option{
      width:100%;
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:1rem;
      padding:1rem 1rem;
      border-radius:15px;
      border:1px solid transparent;
      background:transparent;
      color:var(--cream-70);
      text-align:left;
      cursor:pointer;
      transition:background 0.2s var(--ease-expo),border-color 0.2s var(--ease-expo),box-shadow 0.2s var(--ease-expo),transform 0.2s var(--ease-expo),color 0.2s var(--ease-expo);
    }
    .lux-option:hover,
    .lux-option.is-active,
    .lux-option[aria-selected="true"]{
      background:rgba(201,169,110,0.12);
      border-color:rgba(201,169,110,0.28);
      color:var(--cream);
    }
    .lux-option[aria-selected="true"]{
      box-shadow:0 0 0 1px rgba(201,169,110,0.18),0 0 0 4px rgba(201,169,110,0.08);
    }
    .lux-option-main{
      min-width:0;
      display:flex;
      flex-direction:column;
      gap:0.25rem;
      flex:1;
    }
    .lux-option-title{
      font-family:var(--font-serif);
      font-size:1.05rem;
      line-height:1.2;
      color:inherit;
    }
    .lux-option-subtitle{
      font-size:0.66rem;
      letter-spacing:0.24em;
      text-transform:uppercase;
      color:rgba(246,240,228,0.46);
      line-height:1.5;
    }
    .lux-option-price{
      flex-shrink:0;
      font-size:0.78rem;
      letter-spacing:0.16em;
      text-transform:uppercase;
      color:var(--gold);
      text-align:right;
      line-height:1.5;
      white-space:nowrap;
    }
    .lux-option-price small{
      display:block;
      font-size:0.62rem;
      color:rgba(246,240,228,0.50);
      letter-spacing:0.18em;
      margin-top:0.2rem;
    }
    .inline-note{
      font-size:0.7rem;
      line-height:1.75;
      color:rgba(246,240,228,0.48);
      margin-top:0.7rem;
    }
    .room-allocation-cards{
      display:grid;
      gap:1rem;
      margin-top:1rem;
    }
    .room-allocation-card{
      display:grid;
      gap:0.95rem;
      padding:1.1rem 1.1rem 1.05rem;
      border-radius:20px;
      border:1px solid rgba(201,169,110,0.16);
      background:linear-gradient(180deg, rgba(15,15,15,0.68), rgba(15,15,15,0.52));
      box-shadow:0 14px 34px rgba(0,0,0,0.20);
    }
    .room-allocation-header{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:1rem;
    }
    .room-allocation-kicker{
      font-size:0.56rem;
      letter-spacing:0.34em;
      text-transform:uppercase;
      color:rgba(201,169,110,0.72);
      margin-bottom:0.45rem;
    }
    .room-allocation-title{
      font-family:var(--font-serif);
      font-size:1.22rem;
      line-height:1.16;
      font-weight:400;
      color:var(--cream);
      max-width:18ch;
    }
    .room-allocation-subtitle{
      margin-top:0.35rem;
      font-size:0.64rem;
      letter-spacing:0.24em;
      text-transform:uppercase;
      color:rgba(246,240,228,0.50);
      line-height:1.55;
    }
    .room-allocation-pill{
      flex-shrink:0;
      padding:0.55rem 0.85rem;
      border-radius:999px;
      border:1px solid rgba(201,169,110,0.18);
      background:rgba(201,169,110,0.08);
      color:var(--gold-light);
      font-size:0.58rem;
      letter-spacing:0.20em;
      text-transform:uppercase;
      line-height:1;
      white-space:nowrap;
    }
    .room-allocation-select-wrap{
      gap:0.35rem;
    }
    .room-allocation-select-wrap .lux-dropdown-trigger{
      min-height:58px;
    }
    .room-allocation-meta{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:0.75rem;
    }
    .room-allocation-meta-item{
      padding:0.85rem 0.9rem;
      border-radius:14px;
      border:1px solid rgba(201,169,110,0.12);
      background:rgba(255,255,255,0.03);
      display:grid;
      gap:0.3rem;
      min-width:0;
    }
    .room-allocation-meta-item span{
      font-size:0.54rem;
      letter-spacing:0.24em;
      text-transform:uppercase;
      color:rgba(201,169,110,0.64);
      line-height:1.4;
    }
    .room-allocation-meta-item strong{
      font-family:var(--font-serif);
      font-size:1.02rem;
      line-height:1.2;
      font-weight:400;
      color:var(--cream);
      min-width:0;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .form-actions{
      display:grid;
      gap:0.9rem;
      margin-top:0.3rem;
    }
    .continue-button{
      width:100%;
      border:none;
      background:linear-gradient(135deg,#C9A96E 0%,#E2C48A 50%,#A07840 100%);
      color:#0A0A0A;
      border-radius:12px;
      padding:1rem 1.25rem;
      font-family:var(--font-sans);
      font-size:0.70rem;
      font-weight:500;
      letter-spacing:0.20em;
      text-transform:uppercase;
      cursor:pointer;
      box-shadow:0 4px 20px rgba(201,169,110,0.25);
      transition:all 0.35s var(--ease-luxury);
      position:relative;
      overflow:hidden;
    }
    .continue-button::before{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(135deg,#E2C48A,#C9A96E);
      opacity:0;
      transition:opacity 0.35s;
    }
    .continue-button:hover{
      transform:translateY(-2px);
      box-shadow:0 8px 32px rgba(201,169,110,0.40);
    }
    .continue-button:hover::before{opacity:1}
    .continue-button:disabled{
      cursor:not-allowed;
      opacity:0.55;
      box-shadow:none;
      transform:none;
    }
    .continue-button span{position:relative;z-index:1}

    .booking-summary-card{
      position:sticky;
      top:100px;
      overflow:hidden;
      background:
        radial-gradient(circle at top left, rgba(201,169,110,0.08), transparent 26%),
        linear-gradient(180deg, rgba(16,16,16,0.94), rgba(10,10,10,0.84));
    }
    .booking-summary-media{
      position:relative;
      min-height:340px;
      overflow:hidden;
      background:rgba(255,255,255,0.02);
    }
    .booking-summary-media img{
      width:100%;
      height:100%;
      object-fit:cover;
      transform:scale(1.04);
      transition:transform 1.2s var(--ease-luxury),opacity 0.3s ease;
    }
    .booking-summary-card:hover .booking-summary-media img{transform:scale(1.07)}
    .booking-summary-media::after{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 50% 20%, rgba(201,169,110,0.08), transparent 34%),
        linear-gradient(180deg, rgba(10,10,10,0.08), rgba(10,10,10,0.44) 46%, rgba(10,10,10,0.82));
    }
    .summary-copy{
      position:absolute;
      left:1.35rem;
      right:1.35rem;
      bottom:1.2rem;
      z-index:1;
      padding:1rem 1rem 0.95rem;
      border-radius:18px;
      border:1px solid rgba(201,169,110,0.14);
      background:rgba(10,10,10,0.44);
      backdrop-filter:blur(18px);
      -webkit-backdrop-filter:blur(18px);
      box-shadow:0 14px 34px rgba(0,0,0,0.22);
    }
    .summary-room-type{
      font-size:0.58rem;
      letter-spacing:0.34em;
      text-transform:uppercase;
      color:rgba(201,169,110,0.86);
      margin-bottom:0.55rem;
    }
    .summary-room-name{
      font-family:var(--font-serif);
      font-size:clamp(2rem,3vw,2.6rem);
      line-height:0.94;
      font-weight:400;
      color:var(--cream);
      margin-bottom:0.4rem;
      text-shadow:0 8px 24px rgba(0,0,0,0.45);
    }
    .summary-room-subtitle{
      font-size:0.78rem;
      letter-spacing:0.16em;
      text-transform:uppercase;
      color:rgba(246,240,228,0.60);
      line-height:1.45;
    }
    .summary-body{
      padding:1.75rem 1.6rem 1.6rem;
      display:grid;
      gap:1.15rem;
      background:linear-gradient(180deg, rgba(10,10,10,0.16), rgba(10,10,10,0.02));
    }
    .summary-description{
      font-size:0.86rem;
      line-height:1.95;
      color:var(--cream-70);
      margin-bottom:0.15rem;
    }
    .summary-stats{
      display:grid;
      gap:0.1rem;
      padding:0.95rem 1rem 0.85rem;
      border-radius:20px;
      border:1px solid rgba(201,169,110,0.10);
      background:rgba(255,255,255,0.02);
      box-shadow:0 12px 28px rgba(0,0,0,0.12);
    }
    .summary-row{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:1rem;
      padding:0.82rem 0;
      border-bottom:1px solid rgba(201,169,110,0.08);
    }
    .summary-row:last-child{border-bottom:none}
    .summary-row span:first-child{
      font-size:0.62rem;
      letter-spacing:0.28em;
      text-transform:uppercase;
      color:rgba(201,169,110,0.65);
      line-height:1.4;
    }
    .summary-row span:last-child{
      text-align:right;
      color:var(--cream);
      font-size:0.88rem;
      line-height:1.5;
    }
    .summary-price-note{
      font-size:0.68rem;
      letter-spacing:0.16em;
      text-transform:none;
      color:rgba(246,240,228,0.52);
    }
    #summaryTotalRow{
      padding:1rem 0 0;
      border-bottom:none;
      margin-top:0.18rem;
      border-top:1px solid rgba(201,169,110,0.14);
    }
    #summaryTotalRow span:first-child{
      color:var(--gold);
      font-size:0.68rem;
    }
    #summaryTotal{
      font-family:var(--font-serif);
      font-size:1.45rem;
      line-height:1.1;
      color:var(--cream);
    }
    .summary-allocation{
      margin-top:0.25rem;
      padding:1rem 1rem 0.85rem;
      border-top:1px solid rgba(201,169,110,0.10);
      border-radius:20px;
      border:1px solid rgba(201,169,110,0.10);
      background:rgba(255,255,255,0.02);
    }
    .summary-allocation-title{
      font-size:0.64rem;
      letter-spacing:0.38em;
      text-transform:uppercase;
      color:rgba(201,169,110,0.84);
      margin-bottom:0.85rem;
    }
    .summary-allocation-list{
      display:grid;
      gap:0.8rem;
    }
    .summary-allocation-item{
      padding:0.9rem 0;
      border-bottom:1px solid rgba(201,169,110,0.08);
    }
    .summary-allocation-item:last-child{
      border-bottom:none;
      padding-bottom:0;
    }
    .summary-allocation-head{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:1rem;
      margin-bottom:0.35rem;
    }
    .summary-allocation-head span{
      font-size:0.56rem;
      letter-spacing:0.24em;
      text-transform:uppercase;
      color:rgba(201,169,110,0.70);
      line-height:1.4;
    }
    .summary-allocation-room{
      font-family:var(--font-serif);
      font-size:1.08rem;
      line-height:1.22;
      color:var(--cream);
      margin-bottom:0.2rem;
    }
    .summary-allocation-meta{
      font-size:0.6rem;
      letter-spacing:0.22em;
      text-transform:uppercase;
      color:rgba(246,240,228,0.50);
      line-height:1.55;
    }
    .summary-allocation-foot{
      margin-top:0.4rem;
      font-size:0.62rem;
      letter-spacing:0.18em;
      text-transform:uppercase;
      color:rgba(246,240,228,0.52);
    }
    .summary-allocation-empty{
      font-size:0.76rem;
      line-height:1.7;
      color:rgba(246,240,228,0.58);
    }

    .booking-page .btn-primary,
    .booking-page .btn-outline,
    .booking-page .continue-button{
      min-height:54px;
      box-shadow:0 12px 28px rgba(0,0,0,0.20);
    }
    .booking-page .btn-primary:hover,
    .booking-page .btn-outline:hover,
    .booking-page .continue-button:hover{
      transform:translateY(-2px);
    }

    .sr-only{
      position:absolute;
      width:1px;
      height:1px;
      padding:0;
      margin:-1px;
      overflow:hidden;
      clip:rect(0,0,0,0);
      white-space:nowrap;
      border:0;
    }

    /* RESPONSIVE */
    @media (max-width: 1100px){
      .booking-layout{grid-template-columns:1fr}
      .booking-summary-card{position:static}
      .booking-hero{max-width:820px}
      .booking-summary-media{min-height:320px}
    }
    @media (max-width: 960px){
      #mainNav{padding:1.15rem 2rem}
      .booking-page{padding:7.1rem 2rem 0}
      .booking-hero{padding-bottom:1.75rem;margin-bottom:1rem}
      .form-grid{grid-template-columns:1fr}
      .room-allocation-meta{grid-template-columns:1fr}
      .booking-summary-media{min-height:260px}
    }
    @media (max-width: 720px){
      #mainNav{
        padding:1rem 1.5rem;
      }
      .nav-links{
        display:none;
        position:absolute;
        top:calc(100% + 1px);
        left:0;
        right:0;
        background:rgba(10,10,10,0.98);
        padding:1.2rem 1.5rem 1.5rem;
        border-bottom:1px solid var(--gold-border);
        flex-direction:column;
        gap:0.8rem;
      }
      #mainNav.is-open .nav-links{display:flex}
      .nav-links a{display:block;padding:0.5rem 0}
      .hamburger{display:flex}
      .nav-cta{display:none}
      .booking-page{
        padding:6.6rem 1.25rem 0;
      }
      .booking-hero{
        padding-bottom:1.5rem;
        margin-bottom:0.9rem;
      }
      .booking-hero::after{
        width:140px;
        margin-top:1.05rem;
      }
      .booking-hero .section-title{
        font-size:clamp(2.4rem,11vw,3.5rem);
      }
      .booking-form-panel,.summary-body{
        padding:1.25rem;
      }
      .booking-panel,.booking-summary-card{border-radius:22px}
      .booking-summary-media{min-height:240px}
      .summary-copy{left:1rem;right:1rem;bottom:1rem;padding:0.85rem 0.85rem 0.8rem}
      .summary-room-name{font-size:1.7rem}
      .summary-body{padding:1.2rem}
      .summary-stats,.summary-allocation{padding:0.8rem}
      .room-allocation-card{padding:1rem}
      .room-allocation-header,.summary-allocation-head{gap:0.6rem}
      .room-allocation-meta{grid-template-columns:1fr}
      .room-allocation-title,.summary-allocation-room{max-width:none}
      .booking-page .btn-primary,
      .booking-page .btn-outline,
      .booking-page .continue-button{
        width:100%;
      }
      .lux-dropdown-panel{
        position:fixed;
        left:0.75rem;
        right:0.75rem;
        top:auto;
        bottom:0.75rem;
        max-height:min(72vh,560px);
        border-radius:22px 22px 18px 18px;
      }
    }


/* Calendar Icon - Gold (Desktop + Mobile) */
input[type="date"]{
  color-scheme: dark;
  accent-color: #C9A96E;
}

input[type="date"]::-webkit-calendar-picker-indicator{
  filter: brightness(0) saturate(100%) invert(73%) sepia(21%) saturate(657%) hue-rotate(356deg) brightness(92%) contrast(88%);
  cursor:pointer;
  opacity:1;
}

input[type="date"]::-webkit-calendar-picker-indicator:hover{
  filter: brightness(0) saturate(100%) invert(82%) sepia(31%) saturate(524%) hue-rotate(356deg) brightness(103%) contrast(92%);
}

