:root{
    --primary:#D89A38;
    --primary-dark:#C6912F;
    --gold-glaze:linear-gradient(135deg,#ECC062 0%,#D89A38 46%,#B4791F 100%);
    --header-brown:#4A3524;
    --primary-light:#FBF4E8;
    --white:#FFFFFF;
    --ink:#2B2620;
    --ink-2:#3A332B;
    --whatsapp:#25D366;
    --whatsapp-dark:#1DA851;
    --line: rgba(43,38,32,0.14);
    --shadow: 0 12px 30px rgba(43,38,32,0.12);
    /* legacy aliases kept so the rest of the stylesheet resolves to the new palette */
    --sand:var(--primary-light);
    --cream:var(--white);
    --marigold:var(--primary);
    --marigold-2:var(--primary-dark);
    --brick:var(--whatsapp);
    --brick-2:var(--whatsapp-dark);
    --brass-1:var(--primary);
    --brass-2:var(--primary-dark);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:'Work Sans', sans-serif;
    background:var(--cream);
    color:var(--ink);
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.display{
    font-family:'Fraunces', serif;
    font-weight:700;
    letter-spacing:-0.01em;
    margin:0;
  }
  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    text-transform:uppercase;
    letter-spacing:0.16em;
    font-size:0.72rem;
    color:var(--marigold-2);
    font-weight:600;
  }
  a{color:inherit;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
  section{padding:88px 0;}
  @media(max-width:640px){ section{padding:56px 0;} }

  /* ---------- Marigold garland divider (signature motif) ---------- */
  .garland{
    display:flex; justify-content:center; align-items:center; gap:0;
    height:34px; overflow:hidden; opacity:0.9;
  }
  .garland svg{height:34px; width:auto;}

  /* ---------- Nav ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(255,253,248,0.95);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .navbar{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 24px; max-width:1120px; margin:0 auto;
  }
  .brand{
    display:flex; align-items:center; gap:10px;
    font-family:'Fraunces', serif; font-weight:700; font-size:1.15rem;
    text-decoration:none; color:var(--ink); white-space:nowrap;
  }
  .brand .mark{
    width:34px;height:34px;border-radius:50%;
    background:conic-gradient(from 210deg, var(--primary), var(--primary-dark), var(--primary));
    display:grid;place-items:center;color:var(--cream);font-size:0.8rem;font-weight:700;
  }
  /* image logo in header */
  .brand{ padding:2px 0; flex:0 0 auto; }
  .brand-logo{
    height:56px; width:auto; display:block; flex:none;
  }
  @media(max-width:520px){ .brand-logo{ height:46px; } }
  .nav-cta{
    font-family:'IBM Plex Mono', monospace; font-size:0.78rem; font-weight:600;
    background:var(--gold-glaze); color:var(--ink); padding:11px 18px; border-radius:999px;
    text-decoration:none; letter-spacing:0.03em; white-space:nowrap;
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.4);
    transition:filter .2s ease, transform .2s ease;
  }
  .nav-cta:hover{filter:brightness(1.06); transform:translateY(-1px);}

  /* ---------- Nav menu ---------- */
  .nav-menu{ display:flex; align-items:center; gap:26px; }
  .nav-menu a:not(.nav-cta){
    font-family:'Work Sans', sans-serif; font-size:0.92rem; font-weight:500;
    color:var(--ink); text-decoration:none; letter-spacing:0.01em;
    padding:4px 0; position:relative; white-space:nowrap; transition:color .2s ease;
  }
  .nav-menu a:not(.nav-cta)::after{
    content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px;
    background:var(--primary-dark); transform:scaleX(0); transform-origin:left;
    transition:transform .2s ease;
  }
  .nav-menu a:not(.nav-cta):hover{ color:var(--primary-dark); }
  .nav-menu a:not(.nav-cta):hover::after{ transform:scaleX(1); }
  .nav-toggle{
    display:none; flex-direction:column; justify-content:center; gap:5px;
    width:46px; height:40px; padding:8px 9px; border:1px solid var(--line);
    border-radius:10px; background:transparent; cursor:pointer;
  }
  .nav-toggle span{
    display:block; height:2px; width:100%; background:var(--ink); border-radius:2px;
    transition:transform .25s ease, opacity .2s ease;
  }
  .nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

  @media(max-width:1000px){
    .navbar{ position:relative; }
    .nav-toggle{ display:flex; }
    .nav-menu{
      position:absolute; top:100%; left:0; right:0;
      flex-direction:column; align-items:stretch; gap:0;
      background:var(--white); border-bottom:1px solid var(--line);
      box-shadow:0 20px 40px rgba(43,38,32,0.14);
      padding:6px 20px 18px; display:none;
    }
    .nav-menu.open{ display:flex; }
    .nav-menu a:not(.nav-cta){ padding:14px 4px; border-bottom:1px solid var(--line); }
    .nav-menu .nav-cta{ margin-top:14px; text-align:center; }
  }

  /* ---------- Hero ---------- */
  .hero{
    background:
      radial-gradient(1100px 480px at 85% -10%, rgba(231,169,76,0.25), transparent 60%),
      radial-gradient(900px 420px at 10% 110%, rgba(181,83,60,0.18), transparent 60%),
      var(--ink);
    color:var(--cream);
    padding:120px 0 70px;
    position:relative;
  }
  .hero .wrap{display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center;}
  @media(max-width:860px){ .hero .wrap{grid-template-columns:1fr;} .hero{padding-top:96px;} }
  .hero .eyebrow{color:var(--marigold);}
  .hero h1{
    font-size:clamp(2.4rem, 5vw, 3.6rem);
    line-height:1.03; margin:14px 0 20px; color:var(--cream);
  }
  .hero h1 em{color:var(--marigold); font-style:italic;}
  .hero p.lede{
    font-size:1.05rem; line-height:1.6; color:rgba(255,253,248,0.82); max-width:46ch; margin-bottom:16px;
  }
  .hero-points{
    list-style:none; margin:0 0 30px; padding:0; display:grid; gap:11px; max-width:48ch;
  }
  .hero-points li{
    position:relative; padding-left:30px;
    color:rgba(255,253,248,0.9); font-size:1.04rem; line-height:1.5;
  }
  .hero-points li::before{
    content:"\2713"; position:absolute; left:0; top:1px;
    width:20px; height:20px; border-radius:50%;
    background:var(--gold-glaze); color:var(--ink);
    font-size:0.72rem; font-weight:700;
    display:flex; align-items:center; justify-content:center;
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.4);
  }
  .hero-actions{display:flex; gap:14px; flex-wrap:wrap;}
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:14px 24px; border-radius:999px; text-decoration:none;
    font-weight:600; font-size:0.94rem; border:1px solid transparent;
    transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
  }
  .btn-primary{background:var(--gold-glaze); color:var(--ink); box-shadow:inset 0 1px 0 rgba(255,255,255,0.45), 0 10px 24px rgba(180,121,31,0.38);}
  .btn-primary:hover{transform:translateY(-2px); box-shadow:inset 0 1px 0 rgba(255,255,255,0.5), 0 14px 30px rgba(180,121,31,0.5);}
  .btn-ghost{border-color:rgba(255,253,248,0.35); color:var(--cream);}
  .btn-ghost:hover{background:rgba(255,253,248,0.1); transform:translateY(-2px);}
  .hero-stats{display:flex; gap:28px; margin-top:36px; flex-wrap:wrap;}
  .hero-stats div{border-left:2px solid var(--marigold); padding-left:12px;}
  .hero-stats .num{font-family:'IBM Plex Mono',monospace; font-size:1.3rem; font-weight:600; color:var(--marigold);}
  .hero-stats .lbl{font-size:0.78rem; color:rgba(255,253,248,0.7);}

  /* ---------- Hero floating photos (replaces the old rate card) ---------- */
  .hero-photos{
    position:relative;
    width:100%;
    height:440px;
    margin:0 auto;
  }
  @media(max-width:860px){ .hero-photos{ height:360px; max-width:440px; margin-top:10px; } }
  @media(max-width:400px){ .hero-photos{ height:320px; } }

  .photo-card{
    position:absolute;
    padding:7px;
    background:linear-gradient(180deg,#fffdf8,#f3ebda);
    border-radius:16px;
    border:1px solid rgba(255,255,255,0.7);
    box-shadow:0 26px 52px rgba(0,0,0,0.50), 0 6px 14px rgba(0,0,0,0.32);
    overflow:hidden;
    transform:var(--rot);
    will-change:transform;
    animation:floaty 6.5s ease-in-out infinite;
  }
  .photo-card{ margin:0; }
  .photo-card img{
    display:block; width:100%; height:auto;
    object-fit:cover; border-radius:10px;
  }
  /* brass "pin" — echoes the marigold garland motif, like a pinned print */
  .photo-card::after{
    content:""; position:absolute; top:9px; left:50%; transform:translateX(-50%);
    width:9px; height:9px; border-radius:50%; background:var(--marigold);
    box-shadow:0 0 0 3px rgba(255,253,248,0.9), 0 2px 5px rgba(0,0,0,0.45); z-index:4;
  }
  .photo-card .cap{
    position:absolute; left:10px; bottom:10px; z-index:4;
    background:rgba(43,38,32,0.74); color:var(--cream);
    font-family:'IBM Plex Mono',monospace; font-size:0.64rem; letter-spacing:0.04em;
    padding:5px 10px; border-radius:999px;
  }
  .pc-1{ width:56%; left:0;    top:6%;    z-index:2; --rot:rotate(-3deg);  }
  .pc-2{ width:47%; right:2%;  bottom:0;  z-index:1; --rot:rotate(3.5deg); animation-delay:-2.2s; }
  .pc-3{ width:33%; right:4%;  top:1%;    z-index:3; --rot:rotate(-5deg);  animation-delay:-4s; }
  .pc-1 img{ aspect-ratio:4/3.3; }
  .pc-2 img{ aspect-ratio:4/3.1; }
  .pc-3 img{ aspect-ratio:1/1;   }
  @keyframes floaty{
    0%,100%{ transform:var(--rot) translateY(0); }
    50%    { transform:var(--rot) translateY(-13px); }
  }
  @media(prefers-reduced-motion:reduce){
    .photo-card{ animation:none; }
  }

  /* ---------- Quick check-availability bar (below hero) ---------- */
  .quick-check{
    position:relative; z-index:5;
    margin-top:-46px;
  }
  @media(max-width:760px){ .quick-check{margin-top:-30px;} }
  .quick-check .wrap{padding:0 24px;}
  .quick-form{
    background:var(--white);
    border:1px solid var(--line);
    border-top:4px solid var(--primary);
    border-radius:18px;
    box-shadow:0 20px 44px rgba(43,38,32,0.16);
    padding:22px 24px;
    display:grid;
    grid-template-columns:1.1fr 1.1fr 0.8fr 1.3fr 1.3fr auto;
    gap:14px;
    align-items:end;
  }
  @media(max-width:980px){ .quick-form{grid-template-columns:1fr 1fr;} .quick-form .quick-submit{grid-column:1 / -1;} }
  @media(max-width:520px){ .quick-form{grid-template-columns:1fr;} }
  .quick-form .field{margin-bottom:0; min-width:0;}
  .quick-form label{color:var(--ink-2);}
  .quick-form input, .quick-form select{background:var(--primary-light); border:1px solid var(--line); width:100%; min-width:0;}
  .quick-submit{
    border:none; cursor:pointer; white-space:nowrap;
    background:var(--whatsapp); color:var(--white); padding:13px 20px; border-radius:10px;
    font-weight:700; font-size:0.9rem; display:flex; align-items:center; justify-content:center; gap:8px;
    transition:background .2s ease, transform .2s ease; height:46px;
  }
  .quick-submit:hover{background:var(--whatsapp-dark); transform:translateY(-1px);}

  /* ---------- Section headers ---------- */
  .sec-head{max-width:640px; margin-bottom:44px;}
  .sec-head h2{font-size:clamp(1.7rem,3vw,2.3rem); margin-top:10px;}
  .sec-head p{color:rgba(11,46,51,0.68); margin-top:12px; line-height:1.6;}

  /* ---------- Why us strip ---------- */
  .strip{background:var(--ink); color:var(--cream);}
  .strip .wrap{
    display:grid; grid-template-columns:repeat(4,1fr); gap:0;
    padding:0 24px;
  }
  @media(max-width:860px){ .strip .wrap{grid-template-columns:repeat(2,1fr); gap:28px 0;} }
  .strip section{padding:0;}
  .strip-item{padding:44px 20px; border-right:1px solid rgba(255,253,248,0.14);}
  .strip-item:last-child{border-right:none;}
  @media(max-width:860px){ .strip-item{border-right:none;} }
  .strip-item .n{font-family:'IBM Plex Mono',monospace; color:var(--marigold); font-size:0.78rem;}
  .strip-item h3{font-size:1.05rem; margin:10px 0 8px; color:var(--cream);}
  .strip-item p{font-size:0.86rem; color:rgba(255,253,248,0.68); line-height:1.55; margin:0;}

  /* ---------- Room key tags ---------- */
  .rooms-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:34px 28px;
  }
  @media(max-width:860px){ .rooms-grid{grid-template-columns:repeat(2,1fr);} }
  @media(max-width:520px){ .rooms-grid{grid-template-columns:1fr; max-width:280px; margin:0 auto;} }

  .tag{
    position:relative;
    padding-top:26px;
    transition:transform .25s ease;
  }
  .tag:hover{transform:rotate(-1.5deg) translateY(-4px);}
  .tag .ring{
    width:22px; height:22px; border-radius:50%;
    border:4px solid var(--brass-2);
    background:var(--sand);
    position:absolute; top:0; left:50%; transform:translateX(-50%);
    z-index:2;
  }
  .tag .card{
    background:linear-gradient(160deg, var(--brass-1), var(--brass-2));
    border-radius:14px;
    padding:26px 20px 22px;
    color:#2b2205;
    box-shadow:var(--shadow);
    position:relative;
    border:1px solid rgba(0,0,0,0.08);
  }
  .tag .card::before{
    content:"";
    position:absolute; top:11px; left:50%; transform:translateX(-50%);
    width:8px; height:8px; border-radius:50%;
    background:var(--sand);
    box-shadow:inset 0 1px 2px rgba(0,0,0,0.3);
  }
  .tag .code{
    font-family:'IBM Plex Mono',monospace; font-size:0.72rem; font-weight:600;
    letter-spacing:0.1em; opacity:0.65; margin-top:10px; display:block;
  }
  .tag h3{font-family:'Fraunces',serif; font-size:1.2rem; font-weight:700; margin:6px 0 4px; color:#241c04;}
  .tag .occ{font-size:0.78rem; opacity:0.75; margin-bottom:14px;}
  .tag .price{
    font-family:'IBM Plex Mono',monospace; font-size:1.5rem; font-weight:600;
    color:#241c04;
  }
  .tag .price sup{font-size:0.62rem; font-weight:500; opacity:0.7; vertical-align:middle;}
  .tag .tax{font-size:0.72rem; opacity:0.65; margin-top:2px;}

  /* ---------- Amenities ---------- */
  .amen-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:2px;
    background:var(--line); border:1px solid var(--line); border-radius:16px; overflow:hidden;
  }
  @media(max-width:760px){ .amen-grid{grid-template-columns:repeat(2,1fr);} }
  .amen-item{
    background:var(--cream); padding:30px 18px; text-align:center;
  }
  .amen-item .ic{
    width:46px; height:46px; margin:0 auto 14px; border-radius:50%;
    background:var(--sand); display:grid; place-items:center; color:var(--primary-dark);
  }
  .amen-item span{font-size:0.86rem; font-weight:600;}

  /* ---------- Gallery ---------- */
  .gallery-tabs{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:28px;}
  .gtab{
    font-family:'IBM Plex Mono',monospace; font-size:0.76rem; font-weight:600; letter-spacing:0.04em;
    background:transparent; border:1px solid var(--line); color:var(--ink);
    padding:9px 16px; border-radius:999px; cursor:pointer; transition:background .2s ease, color .2s ease;
  }
  .gtab.active, .gtab:hover{background:var(--ink); color:var(--cream); border-color:var(--ink);}
  .gallery-grid{
    display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:150px; gap:12px;
  }
  @media(max-width:860px){ .gallery-grid{grid-template-columns:repeat(2,1fr); grid-auto-rows:130px;} }
  .gitem{border-radius:14px; overflow:hidden; position:relative; grid-column:span 1; grid-row:span 1;}
  .gitem.wide{grid-column:span 2;}
  .gitem.tall{grid-row:span 2;}
  .gitem img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease;}
  .gitem:hover img{transform:scale(1.06);}
  .gitem .gtag{
    position:absolute; left:10px; bottom:10px; background:rgba(11,46,51,0.75); color:var(--cream);
    font-family:'IBM Plex Mono',monospace; font-size:0.68rem; padding:5px 10px; border-radius:999px;
    letter-spacing:0.03em;
  }
  .gitem.hide{display:none;}

  /* ---------- FAQ ---------- */
  .faq-list{display:grid; gap:14px; max-width:820px;}
  .faq-item{
    background:var(--cream); border:1px solid var(--line); border-radius:14px; overflow:hidden;
  }
  .faq-item summary{
    list-style:none; cursor:pointer; padding:20px 22px; display:flex; justify-content:space-between; align-items:center;
    font-weight:600; font-size:0.98rem; gap:16px;
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary .plus{
    flex:none; width:26px; height:26px; border-radius:50%; background:var(--sand); color:var(--primary-dark);
    display:grid; place-items:center; font-size:1.1rem; font-family:'IBM Plex Mono',monospace; transition:transform .2s ease;
  }
  .faq-item[open] summary .plus{transform:rotate(45deg);}
  .faq-item .a{padding:0 22px 22px; color:rgba(11,46,51,0.72); line-height:1.6; font-size:0.94rem;}

  /* ---------- Banquet ---------- */
  .banquet{background:var(--sand);}
  .banquet .wrap{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center;}
  @media(max-width:860px){ .banquet .wrap{grid-template-columns:1fr;} }
  .banquet-visual{
    background:var(--ink); border-radius:20px; padding:38px; color:var(--cream);
    position:relative; overflow:hidden;
  }
  .banquet-visual::after{
    content:""; position:absolute; inset:0;
    background:radial-gradient(420px 220px at 90% 10%, rgba(231,169,76,0.35), transparent 60%);
  }
  .banquet-visual .cap-badge{
    display:inline-flex; align-items:baseline; gap:8px; position:relative; z-index:1;
  }
  .banquet-visual .cap-badge .big{font-family:'IBM Plex Mono',monospace; font-size:3.2rem; font-weight:600; color:var(--marigold);}
  .banquet-visual .cap-badge .unit{font-size:0.9rem; color:rgba(255,253,248,0.7);}
  .banquet-visual p{position:relative; z-index:1; color:rgba(255,253,248,0.75); margin-top:14px; line-height:1.6;}
  .banquet ul{list-style:none; padding:0; margin:22px 0 28px; display:grid; gap:12px;}
  .banquet li{display:flex; gap:10px; align-items:flex-start; font-size:0.94rem; line-height:1.5;}
  .banquet li::before{content:"✺"; color:var(--primary-dark); font-size:0.9rem; margin-top:2px;}

  /* ---------- Reviews ---------- */
  .reviews{background:var(--ink); color:var(--cream);}
  .reviews .sec-head p{color:rgba(255,253,248,0.68);}
  .reviews .sec-head .eyebrow{color:var(--marigold);}
  .review-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:22px;}
  @media(max-width:760px){ .review-grid{grid-template-columns:1fr;} }
  .review-card{
    background:rgba(255,253,248,0.05); border:1px solid rgba(255,253,248,0.14);
    border-radius:16px; padding:26px;
  }
  .stars{color:var(--marigold); font-size:0.9rem; letter-spacing:2px; margin-bottom:12px;}
  .review-card p{font-size:0.95rem; line-height:1.6; color:rgba(255,253,248,0.85); margin:0 0 14px;}
  .review-card .who{font-family:'IBM Plex Mono',monospace; font-size:0.78rem; color:var(--marigold);}
  .google-badge{
    display:inline-flex; align-items:center; gap:10px; margin-top:36px;
    background:rgba(255,253,248,0.06); border:1px solid rgba(255,253,248,0.16);
    padding:12px 20px; border-radius:999px; font-size:0.86rem;
  }
  .google-badge a{color:var(--marigold); text-decoration:underline; font-weight:600;}

  /* ---------- Availability / booking ---------- */
  .book{background:var(--sand);}
  .book .wrap{display:grid; grid-template-columns:0.9fr 1.1fr; gap:50px; align-items:flex-start;}
  .book .wrap > *{ min-width:0; }
  @media(max-width:860px){ .book .wrap{grid-template-columns:1fr;} }
  .contact-block{display:grid; gap:20px;}
  .contact-line{display:flex; gap:14px; align-items:flex-start;}
  .contact-line .ic{
    width:38px; height:38px; border-radius:10px; background:var(--ink); color:var(--marigold);
    display:grid; place-items:center; flex:none;
  }
  .contact-line h4{font-size:0.8rem; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:4px; color:var(--primary-dark);}
  .contact-line p, .contact-line a{font-size:0.95rem; line-height:1.5; text-decoration:none;}
  .map-frame{
    margin-top:26px; border-radius:16px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow);
  }
  .map-frame iframe{width:100%; height:220px; border:0; display:block;}

  form.book-form{
    background:var(--cream); border:1px solid var(--line); border-radius:20px;
    padding:32px; box-shadow:var(--shadow);
  }
  form.book-form .grid2{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  @media(max-width:520px){ form.book-form .grid2{grid-template-columns:1fr;} }
  .field{display:flex; flex-direction:column; gap:6px; margin-bottom:16px; min-width:0;}
  .field label{font-size:0.76rem; text-transform:uppercase; letter-spacing:0.06em; font-weight:600; color:var(--ink-2);}
  .field input, .field select{
    padding:12px 14px; border-radius:10px; border:1px solid var(--line);
    font-family:'Work Sans',sans-serif; font-size:0.94rem; background:var(--sand); color:var(--ink);
    width:100%; min-width:0;
  }
  .field input:focus, .field select:focus{outline:2px solid var(--marigold); outline-offset:1px;}
  .submit-btn{
    width:100%; border:none; cursor:pointer; margin-top:6px;
    background:var(--whatsapp); color:var(--white); padding:15px 20px; border-radius:12px;
    font-weight:700; font-size:0.98rem; display:flex; align-items:center; justify-content:center; gap:10px;
    transition:background .2s ease, transform .2s ease;
  }
  .submit-btn:hover{background:var(--whatsapp-dark); transform:translateY(-1px);}
  .form-note{font-size:0.78rem; color:rgba(11,46,51,0.6); margin-top:10px; text-align:center;}

  /* ---------- Footer ---------- */
  footer{background:var(--ink); color:rgba(255,253,248,0.7); padding:44px 0 26px;}
  footer .wrap{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;}
  footer .brand{color:var(--cream);}
  footer .fine{font-size:0.78rem;}
  .wa-float{
    position:fixed; bottom:22px; right:22px; z-index:60;
    background:#25D366; color:#fff; width:56px; height:56px; border-radius:50%;
    display:grid; place-items:center; box-shadow:0 10px 22px rgba(0,0,0,0.25);
    text-decoration:none;
  }

/* ============================================================
   MULTI-PAGE ADDITIONS
   ============================================================ */

/* ---- Nav dropdown (Room) ---- */
.nav-item{ position:relative; display:flex; align-items:center; }
.nav-drop-label{
  font-family:'Work Sans',sans-serif; font-size:0.92rem; font-weight:500;
  color:var(--ink); letter-spacing:0.01em; cursor:pointer; white-space:nowrap;
  display:inline-flex; align-items:center; gap:5px; padding:4px 0; user-select:none;
}
.nav-drop-label .caret{ font-size:0.62rem; transition:transform .2s ease; }
.dropdown-menu{
  position:absolute; top:calc(100% + 12px); left:50%;
  transform:translateX(-50%) translateY(8px);
  background:var(--white); border:1px solid var(--line); border-radius:14px;
  box-shadow:0 20px 44px rgba(43,38,32,0.16); padding:8px; min-width:220px;
  opacity:0; visibility:hidden; transition:opacity .18s ease, transform .18s ease; z-index:60;
}
/* invisible bridge so the cursor can travel from "Room" down into the menu
   without the hover being lost in the gap */
.dropdown-menu::before{
  content:""; position:absolute; left:0; right:0; top:-18px; height:18px; background:transparent;
}
.nav-item:hover .dropdown-menu, .nav-item:focus-within .dropdown-menu, .nav-item.open .dropdown-menu{
  opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);
}
.nav-item:hover .nav-drop-label .caret, .nav-item.open .nav-drop-label .caret{ transform:rotate(180deg); }
.nav-menu .dropdown-menu a{
  display:block; padding:11px 14px; border-radius:9px; text-decoration:none;
  color:var(--ink); font-size:0.9rem; font-weight:500; white-space:nowrap;
}
.nav-menu .dropdown-menu a::after{ display:none; }
.nav-menu .dropdown-menu a:hover{ background:var(--primary-light); color:var(--primary-dark); }
.nav-drop-label.is-active, .nav-menu a.is-active{ color:var(--primary-dark); }
.nav-menu a.is-active::after{ transform:scaleX(1); }

@media(max-width:1000px){
  .nav-item{ width:100%; flex-direction:column; align-items:stretch; }
  .nav-drop-label{ padding:14px 4px; border-bottom:1px solid var(--line); justify-content:space-between; }
  .dropdown-menu{
    position:static; opacity:1; visibility:visible; transform:none;
    box-shadow:none; border:none; border-radius:0; padding:0 0 4px 14px; min-width:0; background:transparent;
  }
  .nav-menu .dropdown-menu a{ padding:12px 4px; border-bottom:1px solid var(--line); }
  .nav-item:hover .nav-drop-label .caret{ transform:none; }
}

/* ---- Interior page hero ---- */
.page-hero{
  position:relative; color:var(--white);
  background:
    radial-gradient(900px 420px at 85% -25%, rgba(216,154,56,0.25), transparent 60%),
    linear-gradient(180deg,#2B2620,#3A332B);
  padding:60px 0 54px;
}
.page-hero .eyebrow{ color:var(--primary); }
.page-hero h1{
  font-family:'Fraunces',serif; font-weight:700; color:#fff;
  font-size:clamp(2rem,4.6vw,3rem); line-height:1.08; margin:10px 0 12px;
}
.page-hero p{ color:rgba(255,255,255,0.82); max-width:60ch; line-height:1.65; font-size:1.03rem; }
.breadcrumb{ font-family:'IBM Plex Mono',monospace; font-size:0.74rem; letter-spacing:0.05em;
  color:rgba(255,255,255,0.62); text-transform:uppercase; }
.breadcrumb a{ color:rgba(255,255,255,0.82); text-decoration:none; }
.breadcrumb a:hover{ color:var(--primary); }

/* ---- Room detail cards ---- */
.room-detail{ display:grid; grid-template-columns:1fr 1.05fr; gap:44px; align-items:center;
  padding:40px 0; border-bottom:1px solid var(--line); }
.room-detail:first-of-type{ padding-top:8px; }
.room-detail:last-child{ border-bottom:none; }
.rd-img{ border-radius:18px; overflow:hidden; box-shadow:var(--shadow); aspect-ratio:4/3; }
.rd-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.room-detail.reverse .rd-img{ order:2; }
.room-detail h3{ font-family:'Fraunces',serif; font-weight:700; font-size:1.55rem; color:var(--ink); }
.rd-desc{ color:var(--ink-2); line-height:1.7; margin:12px 0 6px; }
.rd-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:12px 16px; margin:16px 0; }
.rd-price{ font-family:'Fraunces',serif; font-weight:700; font-size:1.5rem; color:var(--primary-dark); }
.rd-price small{ font-family:'Work Sans',sans-serif; font-weight:500; font-size:0.78rem; color:var(--ink-2); }
.rd-extra{ font-size:0.82rem; color:var(--ink-2); background:var(--primary-light); padding:6px 12px; border-radius:999px; white-space:nowrap; }
.rd-amenities{ list-style:none; padding:0; margin:8px 0 22px; display:flex; flex-wrap:wrap; gap:10px 22px; }
.rd-amenities li{ display:flex; align-items:center; gap:8px; color:var(--ink); font-size:0.92rem; }
.rd-amenities li::before{ content:"✓"; color:#fff; background:var(--gold-glaze);
  width:20px; height:20px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  font-size:0.68rem; font-weight:700; box-shadow:inset 0 1px 0 rgba(255,255,255,0.4); }
@media(max-width:820px){
  .room-detail{ grid-template-columns:1fr; gap:22px; }
  .room-detail.reverse .rd-img{ order:0; }
}

/* ---- Directions ---- */
.dir-grid{ display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:stretch; }
.dir-steps{ list-style:none; padding:0; margin:18px 0 0; display:grid; gap:16px; }
.dir-steps li{ display:flex; gap:14px; align-items:flex-start; }
.dir-steps .n{ flex:none; width:30px; height:30px; border-radius:50%; background:var(--gold-glaze);
  color:var(--ink); font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:0.85rem;
  display:flex; align-items:center; justify-content:center; box-shadow:inset 0 1px 0 rgba(255,255,255,0.4); }
.dir-steps b{ color:var(--ink); }
.dir-steps p{ color:var(--ink-2); line-height:1.55; margin:2px 0 0; font-size:0.95rem; }
.dir-map{ border-radius:18px; overflow:hidden; box-shadow:var(--shadow); min-height:320px; }
.dir-map iframe{ width:100%; height:100%; min-height:340px; border:0; display:block; }
@media(max-width:820px){ .dir-grid{ grid-template-columns:1fr; gap:26px; } }

/* ---- Feature / why grid ---- */
.feature-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(238px,1fr)); gap:22px; margin-top:34px; }
.feature-card{ background:var(--white); border:1px solid var(--line); border-radius:16px; padding:26px; box-shadow:var(--shadow); }
.feature-card .fic{ width:46px; height:46px; border-radius:12px; background:var(--primary-light);
  color:var(--primary-dark); display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.feature-card h3{ font-family:'Fraunces',serif; font-size:1.18rem; color:var(--ink); margin-bottom:8px; }
.feature-card p{ color:var(--ink-2); line-height:1.6; font-size:0.94rem; }

/* ---- Split (image + text) ---- */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:46px; align-items:center; }
.split.reverse > :first-child{ order:2; }
.split-img{ border-radius:18px; overflow:hidden; box-shadow:var(--shadow); aspect-ratio:4/3; }
.split-img img{ width:100%; height:100%; object-fit:cover; display:block; }
@media(max-width:820px){ .split{ grid-template-columns:1fr; gap:26px; } .split.reverse > :first-child{ order:0; } }

/* ---- Light stat row ---- */
.statrow{ display:flex; flex-wrap:wrap; gap:16px 42px; margin-top:28px; }
.statrow .st{ border-left:3px solid var(--primary); padding-left:14px; }
.statrow .st b{ font-family:'Fraunces',serif; font-size:1.7rem; color:var(--ink); display:block; line-height:1.1; }
.statrow .st span{ font-size:0.84rem; color:var(--ink-2); }

/* ---- Occasion chips ---- */
.occasions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.occasion{ background:var(--white); border:1px solid var(--line); border-radius:999px; padding:10px 18px;
  font-weight:500; color:var(--ink); display:flex; align-items:center; gap:9px; box-shadow:var(--shadow); font-size:0.94rem; }
.occasion::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--gold-glaze); }

/* ---- CTA band ---- */
.cta-band{ background:radial-gradient(700px 300px at 80% -30%, rgba(216,154,56,0.22), transparent 60%), linear-gradient(180deg,#2B2620,#3A332B);
  color:#fff; border-radius:22px; padding:44px; text-align:center; }
.cta-band h2{ color:#fff; font-family:'Fraunces',serif; font-size:1.9rem; margin-bottom:10px; }
.cta-band p{ color:rgba(255,255,255,0.82); margin:0 auto 24px; max-width:52ch; line-height:1.6; }

/* alt background helper */
.bg-sand{ background:var(--sand); }
