:root{--cream:#f5f0e7;--paper:#fffdf9;--ink:#171d19;--ink2:#252b25;--gold:#c6a15b;--gold2:#927039;--text:#26251f;--muted:#77736a;--line:rgba(23,29,25,.14);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--max:1200px;--radius:18px;--shadow:0 24px 70px rgba(17,24,18,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--text);font-family:var(--sans);line-height:1.6}body.menu-open{overflow:hidden}img,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}::selection{background:var(--gold);color:var(--ink)}.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.eyebrow{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--gold2);display:flex;align-items:center;gap:10px}.eyebrow:before{content:"";width:28px;height:1px;background:currentColor}.display,h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.02;letter-spacing:-.035em}h1{font-size:clamp(3rem,7vw,6.4rem);margin:.4em 0}h2{font-size:clamp(2.4rem,5vw,4.5rem);margin:.25em 0}h3{font-size:1.75rem;margin:.3em 0}.lede{color:var(--muted);max-width:650px;font-size:1rem;line-height:1.85}.section{padding:clamp(64px,9vw,120px) 0;position:relative}.section.alt{background:var(--paper)}.section.dark{background:var(--ink);color:#fff}.section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:36px}.section-head .lede{max-width:470px;margin-bottom:4px}.btn{min-height:48px;display:inline-flex;gap:10px;align-items:center;justify-content:center;padding:0 22px;border:1px solid transparent;border-radius:999px;font-size:.8rem;font-weight:700;transition:transform .25s,box-shadow .25s,background .25s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:linear-gradient(135deg,#f0d99f,#c39b52);color:#1d2117;box-shadow:0 10px 25px #00000010}.btn-dark{background:var(--ink);color:white}.btn-outline{border-color:currentColor;background:transparent}.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,253,249,.92);backdrop-filter:blur(16px);border-bottom:1px solid #c6a15b38}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;min-width:max-content}.brand-mark{width:42px;height:42px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold2);font:600 1.7rem var(--serif);position:relative}.brand-mark:after{content:"♛";position:absolute;top:-8px;font-size:.7rem;background:var(--paper);padding:0 3px}.brand-name strong{display:block;font:600 1.2rem var(--serif);line-height:1.1}.brand-name small{font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.nav-links{display:flex;align-items:center;gap:clamp(12px,2vw,26px);font-size:.78rem}.nav-links a{padding:10px 0;position:relative}.nav-links a:after{content:"";height:1px;position:absolute;bottom:3px;left:0;right:0;background:var(--gold);transform:scaleX(0);transition:transform .2s}.nav-links a:hover:after,.nav-links a[aria-current=page]:after{transform:scaleX(1)}.nav-actions{display:flex;align-items:center;gap:10px}.nav-actions .btn{min-height:42px;padding-inline:16px}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);width:44px;height:44px;border-radius:50%;font-size:1.2rem}.hero{min-height:min(780px,calc(100svh - 78px));position:relative;display:grid;align-items:center;overflow:hidden;background:#142a23;color:white}.hero-media{position:absolute;inset:0}.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.61) saturate(.86)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#06140ff0,#06140fa6 45%,#06140f10 90%),linear-gradient(0deg,#06140f6b,transparent 50%);pointer-events:none}.hero-content{position:relative;z-index:2;padding:96px 0;max-width:790px}.hero h1{max-width:820px;color:#fff9ef}.hero h1 em{font-style:normal;color:#e4c47e}.hero .lede{color:#ffffffd6;max-width:620px}.hero-note{display:flex;flex-wrap:wrap;gap:20px;margin-top:28px;color:#ffffffd8;font-size:.8rem}.hero-note span:before{content:"✦";color:#e4c47e;margin-right:8px}.hero-scroll{position:absolute;z-index:2;bottom:22px;left:50%;transform:translateX(-50%);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:#ffffffab}.quick-search{position:relative;z-index:5;margin-top:-38px}.search-panel{background:white;border-radius:18px;box-shadow:var(--shadow);padding:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:12px;align-items:end}.field{display:grid;gap:7px;min-width:0}.field label{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--muted)}.field input,.field select,.field textarea{min-width:0;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:10px 0;color:var(--text);outline:0;border-radius:0}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold2)}.search-note{font-size:.72rem;color:var(--muted);grid-column:1/-1;margin:0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{background:var(--paper);border:1px solid var(--line);overflow:hidden;border-radius:var(--radius);transition:transform .3s,box-shadow .3s}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.card-media{aspect-ratio:4/3;overflow:hidden;background:#e7e0d5}.card-media img,.card-media video{width:100%;height:100%;object-fit:cover;transition:transform .6s}.card:hover .card-media img{transform:scale(1.04)}.card-body{padding:22px}.card-body p{color:var(--muted);font-size:.86rem;line-height:1.8}.card-meta{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold2)}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,80px);align-items:center}.split-media{min-height:450px;border-radius:var(--radius);overflow:hidden;background:#e6ddd0}.split-media img{width:100%;height:100%;min-height:450px;object-fit:cover}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0}.feature{padding:18px;border:1px solid var(--line);border-radius:14px;background:#ffffff70}.feature strong{font:600 1.25rem var(--serif);display:block}.feature small{color:var(--muted)}.gallery-filters{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 28px}.filter-btn{border:1px solid var(--line);background:transparent;color:var(--text);border-radius:999px;padding:10px 16px;font-size:.76rem}.filter-btn[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:13px}.gallery-item{grid-column:span 4;position:relative;aspect-ratio:4/3;border:0;padding:0;border-radius:14px;overflow:hidden;background:#ddd;text-align:left}.gallery-item:nth-child(7n+1){grid-column:span 6;aspect-ratio:8/5}.gallery-item[hidden]{display:none}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.gallery-item:hover img{transform:scale(1.05)}.gallery-caption{position:absolute;inset:auto 0 0;padding:38px 16px 15px;color:white;background:linear-gradient(transparent,#071a14d9);font:500 1.2rem var(--serif)}.video-card video{width:100%;aspect-ratio:16/9;object-fit:cover;background:#172d25}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:step}.step{padding:25px;border-top:1px solid var(--gold);background:#ffffff08;counter-increment:step}.step:before{content:"0" counter(step);font:500 2rem var(--serif);color:var(--gold)}.step p{color:var(--muted);font-size:.85rem;line-height:1.8}.dark .step p{color:#ffffffa8}.form-panel{background:var(--paper);padding:clamp(22px,4vw,42px);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field.full{grid-column:1/-1}.field textarea{min-height:100px;resize:vertical}.form-feedback{margin-top:15px;font-size:.83rem;color:var(--ink)}.faq{max-width:900px;margin:auto}.faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;padding:22px 0;border:0;background:transparent;display:flex;justify-content:space-between;gap:20px;text-align:left;font:500 1.5rem var(--serif);color:var(--ink)}.faq-answer{display:none;padding:0 0 20px;color:var(--muted);font-size:.9rem;line-height:1.8}.faq-item.open .faq-answer{display:block}.cta-banner{padding:clamp(32px,5vw,64px);background:var(--ink);color:white;border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:25px}.cta-banner p{color:#ffffffad;max-width:570px}.site-footer{padding:58px 0 22px;background:#f0e8dd}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding-bottom:35px;border-bottom:1px solid var(--line)}.footer-grid h3{font:700 .7rem var(--sans);letter-spacing:.15em;text-transform:uppercase}.footer-grid p,.footer-grid a{color:var(--muted);font-size:.8rem;line-height:1.9}.footer-links{display:grid;gap:5px}.footer-bottom{display:flex;justify-content:space-between;gap:18px;padding-top:17px;color:var(--muted);font-size:.72rem}.page-hero{padding:clamp(70px,10vw,130px) 0;background:var(--ink);color:white;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;width:500px;height:500px;border:1px solid #c6a15b38;border-radius:50%;right:-100px;top:-220px;box-shadow:0 0 0 40px #c6a15b0a,0 0 0 80px #c6a15b08}.page-hero .container{position:relative;z-index:1}.page-hero h1{max-width:850px}.page-hero .lede{color:#ffffffbb}.breadcrumb{font-size:.75rem;color:#c6a15b;margin-bottom:18px}.lightbox{display:none;position:fixed;inset:0;z-index:2000;background:#07110ef2;align-items:center;justify-content:center;padding:28px}.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:84vh;object-fit:contain;border-radius:10px}.lb-close,.lb-prev,.lb-next{position:fixed;border:1px solid #ffffff48;background:#ffffff12;color:white;width:46px;height:46px;border-radius:50%;font-size:1.25rem}.lb-close{top:20px;right:20px}.lb-prev{left:18px;top:50%}.lb-next{right:18px;top:50%}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}.reveal.is-visible{opacity:1;transform:none}.history-table{width:100%;border-collapse:collapse}.history-table td,.history-table th{padding:13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.history-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
@media(max-width:1000px){.nav-links{gap:12px}.nav-actions .phone-link{display:none}.search-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.search-panel .btn{grid-column:1/-1}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.container{width:min(calc(100% - 30px),var(--max))}.nav{min-height:70px}.nav-links{display:none;position:fixed;inset:70px 0 auto;background:var(--paper);padding:18px 24px 24px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0}.nav-links.open{display:flex}.nav-links a{padding:14px 0;border-bottom:1px solid var(--line)}.nav-actions>.btn{display:none}.menu-toggle{display:block}.brand-name strong{font-size:1.05rem}.brand-name small{font-size:.48rem}.hero{min-height:680px}.hero-content{padding:84px 0}.hero h1{font-size:clamp(3rem,14vw,5rem)}.section-head{display:block}.section-head .lede{margin-top:15px}.split{grid-template-columns:1fr}.split-media,.split-media img{min-height:320px}.cards{grid-template-columns:1fr}.gallery-item,.gallery-item:nth-child(7n+1){grid-column:span 6;aspect-ratio:4/3}.gallery-grid{gap:8px}.feature-list{gap:8px}.feature{padding:13px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.steps{grid-template-columns:1fr 1fr}.cta-banner{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column}.float-whatsapp{right:10px;bottom:10px}}
@media(max-width:420px){.search-panel{grid-template-columns:1fr}.search-panel .btn{grid-column:auto}.gallery-item,.gallery-item:nth-child(7n+1){grid-column:span 12;aspect-ratio:4/3}.steps{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.nav-actions{gap:5px}.brand{gap:8px}.brand-mark{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}


/* Luxury refinement: quieter palette, refined type and a shorter hero */
:root{--cream:#f5f0e7;--paper:#fffdf9;--ink:#171d19;--ink2:#252b25;--gold:#c6a15b;--gold2:#927039;--text:#26251f;--muted:#77736a;--line:rgba(23,29,25,.14);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
body{background:var(--cream);color:var(--text);letter-spacing:.005em}
h1,h2,h3,.display{font-family:var(--serif);letter-spacing:-.035em}
.site-header{background:rgba(255,253,249,.94);border-bottom-color:rgba(198,161,91,.3)}
.brand-mark{color:var(--gold2);border-color:var(--gold);border-radius:3px}
.brand-mark:after{background:var(--paper);color:var(--gold2)}
.brand-name strong{font-family:var(--serif);font-weight:500;letter-spacing:-.02em}
.btn-gold{background:var(--gold);color:#171d19;box-shadow:none}
.btn-gold:hover{background:#d6b873;box-shadow:0 9px 28px rgba(23,29,25,.12)}
.btn-dark{background:var(--ink);color:#fffdf9}
.eyebrow{color:var(--gold2);letter-spacing:.22em}
.hero{min-height:clamp(430px,62vh,650px);margin-bottom:0;background:#171d19}
.hero-media img,.hero-media video{filter:brightness(.58) saturate(.78);object-position:center 48%}
.hero:after{background:linear-gradient(90deg,rgba(12,18,14,.86),rgba(12,18,14,.52) 48%,rgba(12,18,14,.08)),linear-gradient(0deg,rgba(12,18,14,.28),transparent 55%)}
.hero-content{max-width:var(--max);padding:clamp(64px,8vw,112px) 0}
.hero h1{max-width:760px;font-size:clamp(2.8rem,6.5vw,5.7rem);line-height:1.02;letter-spacing:-.045em;margin:.32em 0 .2em}
.hero h1 em{color:#e1c17c;font-weight:400}
.hero .lede{max-width:560px;font-size:.98rem;line-height:1.85;color:rgba(255,253,249,.84)}
.hero-note{font-size:.72rem;letter-spacing:.03em;color:rgba(255,253,249,.78);gap:18px}
.hero-scroll{font-size:.58rem;letter-spacing:.24em;color:rgba(255,253,249,.72)}
.quick-search{margin-top:0;padding:26px 0 0;background:var(--cream)}
.search-panel{border:1px solid rgba(198,161,91,.25);border-radius:12px;box-shadow:0 14px 40px rgba(23,29,25,.06);padding:20px}
.field input,.field select,.field textarea{color:var(--ink)}
.section{padding:clamp(58px,7vw,100px) 0}
.section.alt{background:var(--paper)}
.section-head{margin-bottom:32px}
.section-head h2{font-size:clamp(2.2rem,4.4vw,4rem);letter-spacing:-.045em}
.card{border-radius:8px;background:var(--paper);border-color:rgba(198,161,91,.2);box-shadow:none}
.card:hover{box-shadow:0 18px 40px rgba(23,29,25,.1)}
.card-body{padding:22px}
.card-meta{color:var(--gold2);letter-spacing:.15em}
.card-body h3{font-size:1.55rem}
.feature{border-radius:8px;background:#fffdf9;border-color:rgba(198,161,91,.25)}
.split-media{border-radius:8px}
.steps .step{border-top-color:var(--gold)}
.cta-banner{background:var(--ink);border-radius:8px}
.site-footer{background:#eee6d9}
@media(max-width:760px){
 .hero{min-height:0}
 .hero-content{padding:66px 0 70px}
 .hero h1{font-size:clamp(2.65rem,11vw,4.4rem);max-width:600px}
 .hero-note{gap:10px 16px}
 .hero-scroll{display:none}
 .quick-search{padding-top:18px}
 .search-panel{grid-template-columns:1fr 1fr}
 .search-panel .btn{grid-column:1/-1}
}
@media(max-width:420px){
 .hero-content{padding:56px 0 58px}
 .hero h1{font-size:clamp(2.45rem,11.5vw,3.2rem)}
 .search-panel{grid-template-columns:1fr}
 .search-panel .btn{grid-column:auto}
}


/* Scroll storytelling: shorter hero, cinematic image reveals, and restrained motion */
:root{--story-ease:cubic-bezier(.22,.75,.18,1)}
.hero{
  /* 70% of the previous 430–650px range = roughly 30% shorter */
  min-height:clamp(300px,43.4vh,455px);
  height:auto;
}
.hero-content{padding:clamp(42px,5.6vw,78px) 0}
.hero h1{font-size:clamp(2.6rem,6vw,5rem);line-height:1.03;margin:.28em 0 .22em}
.hero .lede{max-width:530px;font-size:.94rem;line-height:1.78}
.hero-note{margin-top:18px}
.hero-scroll{bottom:12px}
.quick-search{padding-top:22px}

/* Added by the motion controller only when JavaScript is available. */
.js-motion-enabled .story-reveal{
  opacity:0;
  transform:translate3d(0,26px,0);
  transition:opacity .78s var(--story-ease),transform .88s var(--story-ease);
  transition-delay:var(--story-delay,0ms);
  will-change:opacity,transform;
}
.js-motion-enabled .story-reveal.is-story-visible{
  opacity:1;
  transform:translate3d(0,0,0);
  will-change:auto;
}
.js-motion-enabled .story-media-reveal{
  overflow:hidden;
  clip-path:inset(0 0 10% 0 round 8px);
  transform:translate3d(0,14px,0);
  transition:clip-path 1s var(--story-ease),transform .9s var(--story-ease);
  will-change:clip-path,transform;
}
.js-motion-enabled .story-media-reveal.is-story-visible{
  clip-path:inset(0 0 0 0 round 8px);
  transform:translate3d(0,0,0);
  will-change:auto;
}
.story-media-reveal img{
  object-position:center calc(50% + var(--parallax-y,0px));
  transition:object-position .14s linear,transform 1.15s var(--story-ease);
}
.js-motion-enabled .story-media-reveal:not(.is-story-visible) img{transform:scale(1.075)}
.js-motion-enabled .story-media-reveal.is-story-visible img{transform:scale(1.015)}
.card:hover .story-media-reveal.is-story-visible img{transform:scale(1.055)}
.scroll-progress{
  position:fixed;z-index:5000;top:0;left:0;width:100%;height:2px;
  background:linear-gradient(90deg,#927039,#e2c783);
  transform:scaleX(0);transform-origin:left center;pointer-events:none;
  box-shadow:0 0 12px rgba(198,161,91,.22);
}
.btn,.nav-links a,.filter-btn,.gallery-item,.faq-question{ -webkit-tap-highlight-color:transparent }
:where(a,button,input,select,textarea):focus-visible{
  outline:2px solid var(--gold2);outline-offset:4px;
}
@media(max-width:760px){
  .hero{min-height:0}
  .hero-content{padding:44px 0 48px}
  .hero h1{font-size:clamp(2.5rem,10vw,3.9rem);line-height:1.02}
  .hero .lede{font-size:.88rem;line-height:1.72}
  .hero-note{margin-top:14px;gap:9px 14px;font-size:.66rem}
  .hero-scroll{display:none}
  .quick-search{padding-top:16px}
  .js-motion-enabled .story-media-reveal{clip-path:inset(0 0 6% 0 round 6px)}
  .js-motion-enabled .story-media-reveal.is-story-visible{clip-path:inset(0 round 6px)}
}
@media(max-width:420px){
  .hero-content{padding:38px 0 40px}
  .hero h1{font-size:clamp(2.3rem,10.5vw,3rem)}
  .hero .lede{font-size:.84rem}
}
@media(prefers-reduced-motion:reduce){
  .js-motion-enabled .story-reveal,
  .js-motion-enabled .story-media-reveal,
  .story-media-reveal img{
    opacity:1!important;transform:none!important;clip-path:none!important;
    transition:none!important;will-change:auto!important;object-position:center!important;
  }
  .scroll-progress{display:none}
}

.form-fallback-link{display:inline-flex;align-items:center;gap:4px;margin:8px 0 0;color:var(--gold2);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.form-fallback-link:hover{color:var(--ink)}

/* Keep the 30% shorter desktop hero true even when its copy wraps onto two lines. */
.hero-content{padding:clamp(30px,3.5vw,48px) 0}
.hero h1{font-size:clamp(2.45rem,4.6vw,3.9rem);line-height:1.03;margin:.24em 0 .16em}
.hero .lede{font-size:.9rem;line-height:1.7}
.hero .btn-row{margin-top:20px}
.hero-note{margin-top:14px}
@media(max-width:760px){
  .hero-content{padding:40px 0 44px}
  .hero h1{font-size:clamp(2.45rem,9.3vw,3.7rem)}
}
@media(max-width:420px){
  .hero-content{padding:34px 0 36px}
  .hero h1{font-size:clamp(2.25rem,10vw,2.85rem)}
}


/* Hero size adjustment: increase the compact hero by 10% from its current sizing. */
.hero{min-height:clamp(330px,47.75vh,501px)}
@media(max-width:760px){
  .hero-content{padding:44px 0 48px}
}
@media(max-width:420px){
  .hero-content{padding:37px 0 40px}
}


/* Latest request: increase the current hero size by a further 20%. */
.hero{min-height:clamp(396px,57.3vh,601px)}
@media(max-width:760px){
  .hero-content{padding:48px 0 52px}
}
@media(max-width:420px){
  .hero-content{padding:40px 0 44px}
}


/* Hero framing fix: preserve the exact frame dimensions while shifting the image up
   within the frame so more of the stage is visible. */
.hero-media img,.hero-media video{
  object-position:center 68%;
  filter:brightness(.66) saturate(.88);
}

/* Clearer homepage enquiry journey: one obvious action and three visible steps. */
.quick-search{padding:30px 0 58px}
.booking-intro{
  display:flex;justify-content:space-between;align-items:flex-end;gap:28px;
  margin:0 0 20px;
}
.booking-intro-copy{max-width:540px}
.booking-intro .eyebrow{margin-bottom:12px}
.booking-intro h2{
  font-size:clamp(2rem,3.6vw,3rem);line-height:1.05;
  margin:0 0 10px;color:var(--ink);letter-spacing:-.04em;
}
.booking-intro p{max-width:540px;margin:0;color:var(--muted);font-size:.92rem;line-height:1.75}
.booking-steps{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  justify-content:flex-end;padding-bottom:3px;
}
.booking-step{
  display:flex;align-items:center;gap:8px;min-height:38px;
  border:1px solid rgba(198,161,91,.28);border-radius:999px;
  padding:7px 12px;background:rgba(255,253,249,.72);
}
.booking-step span{
  display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;
  border-radius:50%;background:var(--ink);color:#fffdf9;
  font-size:.64rem;font-weight:700;
}
.booking-step strong{font-size:.7rem;white-space:nowrap;color:var(--ink)}
.search-panel{
  gap:16px;padding:24px;border-radius:14px;
  border-color:rgba(198,161,91,.34);
  box-shadow:0 18px 50px rgba(23,29,25,.075);
}
.search-panel .field label{
  font-size:.66rem;letter-spacing:.11em;line-height:1.4;
  color:#706a5d;
}
.search-panel .field input,.search-panel .field select{
  min-height:43px;padding:10px 3px;font-size:.95rem;
  border-bottom:1px solid rgba(23,29,25,.2);
}
.search-panel .field:focus-within label{color:var(--gold2)}
.search-panel .field:focus-within input,.search-panel .field:focus-within select{
  border-bottom:2px solid var(--gold2);
}
.search-panel .btn-booking-primary{
  min-height:54px;padding:0 22px;white-space:nowrap;
  border:1px solid #b48c43;background:linear-gradient(135deg,#dfc17a,#c6a15b);
  color:#181b16;font-size:.78rem;font-weight:800;
  box-shadow:0 9px 22px rgba(163,123,48,.2);
}
.search-panel .btn-booking-primary:hover{
  background:linear-gradient(135deg,#ead394,#d1aa5e);
  box-shadow:0 13px 28px rgba(163,123,48,.28);
  transform:translateY(-2px);
}
.search-note{font-size:.74rem;line-height:1.65}
.form-feedback{grid-column:1/-1;margin:0;color:var(--ink);font-size:.84rem;line-height:1.6}
@media(max-width:1000px){
  .booking-intro{align-items:flex-start;flex-direction:column;gap:16px}
  .booking-steps{justify-content:flex-start}
  .search-panel{grid-template-columns:repeat(2,minmax(0,1fr))}
  .search-panel .btn-booking-primary{grid-column:1/-1}
}
@media(max-width:760px){
  /* Deliberately leave hero height unchanged: only crop position and image clarity change. */
  .hero-media img,.hero-media video{object-position:center 72%}
  .quick-search{padding:24px 0 42px}
  .booking-intro{margin-bottom:17px}
  .booking-intro h2{font-size:clamp(1.9rem,7vw,2.5rem)}
  .booking-intro p{font-size:.86rem}
  .booking-steps{gap:7px}
  .booking-step{min-height:34px;padding:6px 10px}
  .booking-step strong{font-size:.65rem}
  .search-panel{padding:17px;gap:14px;border-radius:12px}
  .search-panel .btn-booking-primary{min-height:52px}
}
@media(max-width:520px){
  .booking-steps{display:grid;grid-template-columns:1fr;width:100%}
  .booking-step{width:100%;border-radius:9px}
  .search-panel{grid-template-columns:1fr}
  .search-panel .btn-booking-primary{grid-column:auto}
}


.search-panel .field-hint{display:block;margin-top:-4px;color:var(--muted);font-size:.68rem;line-height:1.45}
.search-panel .btn-booking-primary:active{transform:translateY(0);box-shadow:0 4px 12px rgba(163,123,48,.18)}
.search-panel .btn-booking-primary:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
@media(max-width:760px){
  .search-panel .field-hint{font-size:.65rem}
}


/* Image-led page heroes: each page uses its own real venue photograph. */
.page-hero{
  min-height:clamp(300px,36vw,430px);
  display:flex;align-items:center;
  padding:clamp(52px,7vw,86px) 0;
  isolation:isolate;
  background:var(--ink);
}
.page-hero-media{position:absolute;inset:0;z-index:-1;overflow:hidden;background:var(--ink)}
.page-hero-media img{
  display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%;
  filter:brightness(.54) saturate(.82);
  transform:scale(1.015);transition:transform 1.5s cubic-bezier(.22,.75,.18,1),filter .8s ease;
}
.page-hero:before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(11,20,16,.88) 0%,rgba(11,20,16,.63) 52%,rgba(11,20,16,.2) 100%),linear-gradient(0deg,rgba(10,18,14,.42),transparent 55%);
}
.page-hero:after{opacity:.22;pointer-events:none}
.page-hero .container{z-index:1;width:min(calc(100% - 40px),var(--max))}
.page-hero .breadcrumb{color:#e3c77f;position:relative;z-index:2}
.page-hero .eyebrow{color:#e5c77d}
.page-hero h1{max-width:850px;color:#fffaf0;text-wrap:balance}
.page-hero .lede{max-width:700px;color:rgba(255,253,249,.84)}
.page-hero .btn-outline{border-color:rgba(255,253,249,.7);color:#fffdf9;background:rgba(12,22,17,.22)}
.page-hero .btn-outline:hover{background:rgba(255,253,249,.12)}
.page-hero-events .page-hero-media img{object-position:center 54%}
.page-hero-gallery .page-hero-media img{object-position:center 57%}
.page-hero-experience .page-hero-media img{object-position:center 54%}
.page-hero-booking .page-hero-media img{object-position:center 55%}
.page-hero-contact .page-hero-media img{object-position:center 58%}

/* Image-first amenity cards inspired by the supplied reference. */
.amenities-section{background:#f8f5ef}
.amenities-section .section-head{margin-bottom:28px}
.amenity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.amenity-card{
  min-width:0;background:var(--paper);border:1px solid rgba(198,161,91,.55);
  border-radius:11px;overflow:hidden;box-shadow:0 8px 25px rgba(23,29,25,.035);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.amenity-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(23,29,25,.10);border-color:var(--gold)}
.amenity-card>a{display:block}
.amenity-image{position:relative;aspect-ratio:1.72/1;overflow:hidden;background:#e8e0d5}
.amenity-image:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(9,21,16,.12));pointer-events:none}
.amenity-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,.75,.18,1)}
.amenity-card:hover .amenity-image img{transform:scale(1.055)}
.amenity-card-label{
  min-height:57px;padding:12px 14px;display:grid;grid-template-columns:26px minmax(0,1fr) 18px;
  align-items:center;gap:8px;background:var(--ink);color:#fffdf7;
  border-top:1px solid var(--gold);
}
.amenity-number{font-size:.65rem;letter-spacing:.08em;color:#dfbd70;font-weight:700}
.amenity-card-label h3{font-size:clamp(1.1rem,1.75vw,1.45rem);line-height:1.15;margin:0;letter-spacing:-.02em}
.amenity-arrow{justify-self:end;color:#dfbd70;font-size:1.05rem;transition:transform .2s ease}
.amenity-card:hover .amenity-arrow{transform:translate(2px,-2px)}
.amenity-card>p{margin:0;padding:14px 16px 17px;color:var(--muted);font-size:.82rem;line-height:1.65}
.amenity-footer{margin-top:25px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.amenity-footer p{margin:0;max-width:570px;color:var(--muted);font-size:.76rem;line-height:1.6}
.amenity-footer .btn{flex-shrink:0}

/* Honest review presentation: sourced aggregate, attributed public feedback, and a live write-review link. */
.reviews-section{background:#111d2a;color:#fffdf7}
.reviews-section .eyebrow{color:#dec078}
.reviews-section .eyebrow:before{background:currentColor}
.reviews-section .section-head h2{color:#d4ad55}
.reviews-section .section-head .lede{color:rgba(255,253,249,.77)}
.review-layout{display:grid;grid-template-columns:.91fr 1.2fr 1fr;gap:17px;align-items:stretch}
.rating-panel,.review-card,.review-invite{min-width:0;border-radius:12px;padding:25px;border:1px solid rgba(198,161,91,.4)}
.rating-panel{background:#fffdf8;color:var(--ink);display:flex;flex-direction:column;align-items:flex-start}
.rating-kicker{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}
.rating-score{font-family:var(--serif);font-size:clamp(3.3rem,5vw,4.9rem);line-height:1;margin:16px 0 4px;letter-spacing:-.05em;color:var(--ink)}
.rating-score span{font-family:var(--sans);font-size:.95rem;letter-spacing:0;color:var(--muted)}
.rating-stars{font-size:1.35rem;letter-spacing:.08em;color:#bd8f35}
.rating-panel p{font-size:.82rem;color:var(--muted);line-height:1.75;margin:16px 0 20px}
.rating-panel .btn{margin-top:auto}
.rating-panel>small{margin-top:13px;font-size:.66rem;line-height:1.5;color:var(--muted)}
.review-card{background:#fffdf8;color:var(--text);display:flex;flex-direction:column}
.review-card-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.review-source-mark{width:32px;height:32px;border:1px solid rgba(198,161,91,.5);border-radius:50%;display:grid;place-items:center;font-size:.64rem;font-weight:800;color:var(--gold2);background:#f4ecdc}
.review-source{font-size:.68rem;font-weight:800;letter-spacing:.04em;color:var(--muted);flex:1}
.review-score{white-space:nowrap;color:#a87923;font-size:.78rem;font-weight:800}
.review-quote{font-family:var(--serif);font-size:clamp(1.13rem,1.65vw,1.42rem);line-height:1.55;margin:22px 0 24px;color:var(--ink)}
.review-author{display:flex;align-items:center;gap:10px;margin-top:auto}
.review-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#f4d88e;font-size:.7rem;font-weight:800}
.review-author strong,.review-author small{display:block}
.review-author strong{font-size:.78rem}
.review-author small{color:var(--muted);font-size:.68rem;margin-top:3px}
.review-source-link{display:inline-block;margin-top:18px;color:var(--gold2);font-weight:800;font-size:.76rem;text-decoration:underline;text-underline-offset:4px}
.review-invite{background:#1b3028;color:#fffdf7;display:flex;flex-direction:column;align-items:flex-start}
.review-invite-icon{font-size:1.7rem;color:#e1c17b;margin-bottom:12px}
.review-invite .eyebrow{font-size:.62rem}
.review-invite h3{font-size:clamp(1.7rem,2.4vw,2.35rem);line-height:1.12;margin:18px 0 12px;color:#fff8e9}
.review-invite p{font-size:.82rem;line-height:1.75;color:rgba(255,253,249,.74);margin:0 0 25px}
.review-invite .btn{margin-top:auto}
.btn-light{background:#fffdf7;color:var(--ink);border-color:#fffdf7}
.btn-light:hover{background:#e8d8b0;border-color:#e8d8b0}
@media(max-width:1000px){
  .amenity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .review-layout{grid-template-columns:repeat(2,minmax(0,1fr))}
  .review-invite{grid-column:1/-1}
  .review-invite h3{max-width:600px}
}
@media(max-width:760px){
  .page-hero{min-height:300px;padding:50px 0 56px}
  .page-hero:before{background:linear-gradient(90deg,rgba(11,20,16,.86),rgba(11,20,16,.49)),linear-gradient(0deg,rgba(10,18,14,.38),transparent 62%)}
  .page-hero .container{width:min(calc(100% - 30px),var(--max))}
  .amenity-card-label{grid-template-columns:21px minmax(0,1fr) 15px;padding:11px 10px;gap:6px;min-height:53px}
  .amenity-card-label h3{font-size:1.08rem}
  .amenity-card>p{padding:12px;font-size:.78rem}
  .amenity-footer{align-items:flex-start;flex-direction:column;gap:14px}
  .review-layout{grid-template-columns:1fr}
  .review-invite{grid-column:auto}
  .rating-panel,.review-card,.review-invite{padding:22px}
  .rating-score{font-size:4rem}
}
@media(max-width:520px){
  .amenities-section .section-head h2{font-size:clamp(2rem,8.5vw,2.8rem)}
  .amenity-grid{grid-template-columns:1fr;gap:14px}
  .amenity-image{aspect-ratio:1.8/1}
  .amenity-card-label h3{font-size:1.25rem}
}
@media(prefers-reduced-motion:reduce){
  .page-hero-media img,.amenity-card,.amenity-image img,.amenity-arrow{transition:none!important;transform:none!important}
}


/* Use local system fonts; the uploaded crest is the exact supplied brand lettering. */
:root{--serif:"Baskerville Old Face","Book Antiqua",Georgia,serif;--sans:Arial,Helvetica,sans-serif}
body{font-family:var(--sans)}
h1,h2,h3,.display,.brand-name strong{font-family:var(--serif)}
.brand-logo{display:block;width:auto;height:62px;max-width:146px;object-fit:contain;flex:0 0 auto}
.site-footer .brand-logo{height:88px;max-width:156px}
.brand{gap:10px}
.brand-mark,.brand-name{display:none!important}
@media(max-width:760px){.brand-logo{height:50px;max-width:120px}.site-footer .brand-logo{height:72px;max-width:132px}}

/* Compact all inner-page heroes to roughly 70% of their previous size. Home hero is untouched. */
.page-hero{min-height:clamp(210px,25.2vw,301px);padding:clamp(26px,4.2vw,44px) 0}
.page-hero h1{font-size:clamp(2rem,3.5vw,3.1rem);line-height:1.05;margin:.25em 0 .16em}
.page-hero .lede{font-size:.86rem;line-height:1.65;max-width:640px}
.page-hero .btn-row{margin-top:17px;gap:10px}
.page-hero .breadcrumb{margin-bottom:10px}
.page-hero:after{width:310px;height:310px;right:-100px;top:-180px}
.page-hero-media img{filter:brightness(.57) saturate(.78)}
.page-hero-catering .page-hero-media img{object-position:center 53%}
@media(max-width:760px){
 .page-hero{min-height:210px;padding:24px 0 30px}
 .page-hero h1{font-size:clamp(1.8rem,6vw,2.6rem)}
 .page-hero .lede{font-size:.8rem;line-height:1.58;max-width:540px}
 .page-hero .breadcrumb{font-size:.68rem}
}
@media(max-width:420px){.page-hero{min-height:195px;padding:22px 0 27px}.page-hero h1{font-size:1.8rem}}

/* Catering menu page */
.catering-intro{background:var(--cream)}
.catering-note{display:flex;align-items:flex-start;gap:14px;padding:20px 22px;margin-bottom:46px;background:#fffdf8;border:1px solid rgba(198,161,91,.35);border-radius:12px}
.catering-note-mark{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#e2c17b}
.catering-note strong{display:block;color:var(--ink);font:700 1rem var(--sans)}
.catering-note p{margin:7px 0 0;color:var(--muted);font-size:.84rem;line-height:1.65}
.menu-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.menu-card{background:var(--paper);border:1px solid rgba(198,161,91,.45);border-radius:14px;overflow:hidden;box-shadow:0 14px 40px rgba(23,29,25,.06)}
.menu-card-header{position:relative;padding:28px 28px 24px;background:var(--ink);color:#fffaf0;border-bottom:2px solid var(--gold)}
.menu-tier{font-size:.63rem;letter-spacing:.17em;text-transform:uppercase;color:#e2c17b;font-family:var(--sans);font-weight:700}
.menu-card-header h2{font-size:clamp(2.5rem,4vw,3.7rem);line-height:1;margin:12px 0 9px;color:#e4c57d}
.menu-card-header p{margin:0;font-size:.82rem;line-height:1.65;color:#ffffffbf}
.menu-course{padding:17px 22px 15px;border-bottom:1px solid rgba(23,29,25,.095)}
.menu-course h3{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 7px;color:var(--ink);font:700 .9rem var(--sans)}
.menu-course h3 span{flex-shrink:0;padding:4px 8px;border-radius:999px;background:#f1e7d3;color:#75551e;font:700 .61rem var(--sans);letter-spacing:.025em}
.menu-course p{margin:0;color:#5e5a50;font-size:.8rem;line-height:1.75}
.menu-course-last{background:#f7f1e6;border-bottom:0}
.menu-card-footer{padding:20px 22px 24px;display:flex;align-items:center;gap:12px}
.menu-disclaimer{max-width:900px;margin:24px auto 0;color:var(--muted);font-size:.74rem;line-height:1.7;text-align:center}
.catering-preview{background:#f8f5ef}
.catering-preview-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(28px,5vw,68px)}
.catering-preview-copy h2{font-size:clamp(2.1rem,4vw,3.6rem);line-height:1.05;margin:12px 0 18px}
.catering-preview-copy .lede{font-size:.9rem;line-height:1.8}
.catering-preview-image{position:relative;height:clamp(230px,32vw,390px);border-radius:12px;overflow:hidden;border:1px solid rgba(198,161,91,.38)}
.catering-preview-image img{width:100%;height:100%;object-fit:cover;object-position:center 54%}
.qr-contact-section{background:#f8f5ef}
.qr-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.qr-card{padding:25px;display:flex;flex-direction:column;align-items:flex-start;gap:13px;background:var(--paper);border:1px solid rgba(198,161,91,.32);border-radius:12px;box-shadow:0 10px 28px rgba(23,29,25,.04)}
.qr-image-link{display:grid;place-items:center;align-self:center;width:100%;min-height:190px;background:white;border-radius:8px;padding:10px;border:1px solid rgba(23,29,25,.10)}
.qr-image-link img{display:block;width:min(100%,220px);height:auto;aspect-ratio:1;object-fit:contain}
.qr-card h3{margin:5px 0 0;color:var(--ink);font-size:1.55rem}
.qr-card p{margin:0 0 8px;color:var(--muted);font-size:.83rem;line-height:1.7;flex:1}
.qr-card .btn{margin-top:auto}
.qr-booking-card{background:var(--ink);color:#fffdf7;justify-content:center}
.qr-booking-card h3{color:#fff5dc;font-size:2rem}
.qr-booking-card p{color:#ffffffb8}
.qr-booking-symbol{font-size:2rem;color:#e2c17b}
.qr-booking-card .eyebrow{color:#e2c17b}
.qr-phone-link{color:#e2c17b;font-size:.8rem;font-weight:700;text-decoration:underline;text-underline-offset:4px;margin-top:10px}
@media(max-width:980px){.menu-comparison{grid-template-columns:1fr}.menu-card-header h2{font-size:3rem}.qr-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.qr-booking-card{grid-column:1/-1}.catering-preview-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.catering-preview-grid{grid-template-columns:1fr}.catering-preview-image{height:260px}.qr-card-grid{grid-template-columns:1fr}.qr-booking-card{grid-column:auto}.qr-image-link{min-height:0}.menu-card-header{padding:23px}.menu-course{padding:15px 17px}.menu-course h3{align-items:flex-start}.menu-course h3 span{font-size:.57rem}.menu-card-footer{padding:18px}.catering-note{padding:16px;margin-bottom:32px}}


/* Map, reviews and contact: consistent venue destination across the site. */
.site-footer-extras{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;padding-top:17px;margin-top:17px;border-top:1px solid rgba(198,161,91,.23);color:var(--muted);font-size:.72rem;line-height:1.7}
.site-footer-extras a{color:var(--gold2);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.map-frame{position:relative;overflow:hidden;min-height:320px;border:1px solid rgba(198,161,91,.42);border-radius:13px;background:#e8e2d7;box-shadow:0 14px 40px rgba(23,29,25,.08)}
.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;min-height:320px;border:0}
.home-map-section{background:#f5f0e7}
.home-map-grid,.reviews-map-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,4vw,56px);align-items:center}
.home-map-copy h2,.reviews-map-copy h2,.map-info h2{font-size:clamp(2.2rem,4.2vw,3.6rem);line-height:1.04;margin:12px 0 17px}
.home-map-copy .lede,.reviews-map-copy .lede,.map-info .lede{font-size:.9rem;line-height:1.8}
.map-small-note{font-size:.72rem;color:var(--muted);line-height:1.65;margin-top:20px}
.contact-map-section{background:var(--cream)}
.review-link-layout{align-items:stretch}
.review-wordmark{font-size:clamp(2rem,3.2vw,3rem);line-height:1.15;letter-spacing:-.04em;overflow-wrap:anywhere}
.review-secondary-link{color:#e2c17b!important}
.reviews-footer-link{display:flex;justify-content:center;margin-top:28px}
.reviews-footer-link .btn-outline{border-color:#d4ad55;color:#f9ebc9}
.reviews-footer-link .btn-outline:hover{background:#d4ad55;color:#111d2a}
.reviews-hub-section{background:var(--cream)}
.review-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.review-hub-card{display:flex;flex-direction:column;align-items:flex-start;padding:25px;background:var(--paper);border:1px solid rgba(198,161,91,.35);border-radius:13px;box-shadow:0 12px 34px rgba(23,29,25,.05)}
.review-hub-icon{display:grid;place-items:center;min-width:42px;height:42px;padding:0 8px;margin-bottom:20px;border-radius:50%;background:var(--ink);color:#e2c17b;font:700 .7rem var(--sans)}
.review-hub-card h3{font-size:1.5rem;line-height:1.2;margin:12px 0}
.review-hub-card p{flex:1;color:var(--muted);font-size:.83rem;line-height:1.75;margin:0 0 24px}
.review-hub-card .btn{width:100%;justify-content:center}
.reviews-map-section{background:#fffdf9}
@media(max-width:900px){.home-map-grid,.reviews-map-grid{grid-template-columns:1fr}.review-hub-grid{grid-template-columns:1fr 1fr}.map-frame{min-height:300px}}
@media(max-width:600px){.review-hub-grid{grid-template-columns:1fr}.map-frame,.map-frame iframe{min-height:270px}.site-footer-extras{gap:9px 15px}.home-map-grid,.reviews-map-grid{gap:22px}}


/* ================= BLACK + GOLD LUXURY STORY SYSTEM ================= */
:root{
  --cream:#090b0f;--paper:#11151b;--ink:#060708;--ink2:#10151b;
  --gold:#d7af59;--gold2:#e6c87e;--text:#f2eee5;--muted:#b5b0a5;
  --line:rgba(215,175,89,.2);--serif:"Baskerville Old Face","Book Antiqua",Georgia,serif;
  --sans:Arial,Helvetica,sans-serif;--shadow:0 24px 70px rgba(0,0,0,.38);
}
html{background:#060708;scroll-behavior:smooth;scroll-padding-top:88px}
body{position:relative;isolation:isolate;background:#060708;color:var(--text);font-family:var(--sans)}
h1,h2,h3,.display,.brand-name strong{font-family:var(--serif);color:inherit}
p{color:inherit}
.lede{color:#c7c1b6}
.eyebrow{color:var(--gold2)}
.eyebrow:before{background:linear-gradient(90deg,transparent,var(--gold))}
.site-header{background:rgba(6,7,8,.84);border-bottom:1px solid rgba(215,175,89,.28);backdrop-filter:blur(20px) saturate(120%)}
.nav-links a{color:#eae3d5}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--gold2)}
.brand-logo{filter:drop-shadow(0 2px 10px rgba(215,175,89,.15))}
.btn,.btn-booking-primary,.menu-toggle{
  position:relative;isolation:isolate;overflow:hidden;
  border-color:rgba(230,200,126,.48);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 7px 24px rgba(0,0,0,.2);
  transition:transform .3s cubic-bezier(.22,.75,.18,1),box-shadow .35s ease,border-color .35s ease,background-color .35s ease,color .35s ease;
  -webkit-tap-highlight-color:transparent;
}
.btn:before,.btn-booking-primary:before,.menu-toggle:before{
  content:"";position:absolute;z-index:1;pointer-events:none;
  top:-80%;bottom:-80%;left:-135%;width:66%;
  transform:rotate(24deg);
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.06) 22%,rgba(255,255,255,.43) 49%,rgba(255,255,255,.09) 70%,transparent 100%);
  opacity:.78;transition:left .85s cubic-bezier(.2,.7,.1,1);
}
.btn:after,.btn-booking-primary:after{
  content:"";position:absolute;pointer-events:none;inset:1px;border-radius:inherit;
  border-top:1px solid rgba(255,255,255,.22);opacity:.7;
}
.btn:hover:before,.btn:focus-visible:before,.btn-booking-primary:hover:before,.menu-toggle:hover:before{left:155%}
.btn:hover,.btn-booking-primary:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 12px 32px rgba(0,0,0,.32),0 0 23px rgba(215,175,89,.12)}
.btn-gold,.btn-booking-primary{
  background-color:#d7af59;background-image:linear-gradient(135deg,#efd995 0%,#d7af59 48%,#9e762e 100%);
  background-size:100% 100%;color:#14110a;border-color:rgba(255,227,160,.72);
}
.btn-gold:hover,.btn-booking-primary:hover{background-image:linear-gradient(135deg,#fff0b8 0%,#e0be6c 48%,#b78a39 100%);color:#0a0a09}
.btn-dark{background:linear-gradient(135deg,rgba(34,39,45,.95),rgba(10,12,15,.97));color:#f9f2e3;border-color:rgba(215,175,89,.55)}
.btn-dark:hover{background:linear-gradient(135deg,#282b30,#111317);color:#fff8e6}
.btn-outline{color:#f2e9d5;border-color:rgba(230,200,126,.58);background:rgba(12,14,17,.35);backdrop-filter:blur(12px)}
.btn-outline:hover{color:#fff2cc;background:rgba(215,175,89,.12);border-color:var(--gold2)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold2);outline-offset:4px}
.section,.section.alt,.section.dark,.quick-search,.amenities-section,.catering-intro,.catering-preview,.qr-contact-section,.contact-map-section,.reviews-hub-section,.reviews-map-section,.home-map-section{
  color:var(--text);background:rgba(8,10,13,.89);
  border-top:1px solid rgba(215,175,89,.105);
  backdrop-filter:blur(14px) saturate(118%);
}
.section.dark,.reviews-section,.catering-cta{background:rgba(5,6,8,.94);color:var(--text)}
.section.alt,.amenities-section,.catering-preview,.reviews-hub-section{background:rgba(15,18,23,.9)}
.quick-search{background:rgba(8,10,12,.93)}
.card,.amenity-card,.menu-card,.qr-card,.review-hub-card,.feature,.search-panel,.form-panel,.review-card,.rating-panel,.review-invite{
  color:var(--text);background:linear-gradient(145deg,rgba(25,29,34,.91),rgba(9,11,14,.94));
  border:1px solid rgba(215,175,89,.25);
  box-shadow:0 18px 48px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.035);
}
.card:hover,.amenity-card:hover,.review-hub-card:hover{border-color:rgba(230,200,126,.58);box-shadow:0 22px 52px rgba(0,0,0,.33),0 0 24px rgba(215,175,89,.055)}
.card-body h3,.amenity-card-label h3,.review-hub-card h3,.qr-card h3,.menu-course h3{color:#f4ead2}
.card-body p,.amenity-card>p,.review-hub-card p,.qr-card p,.menu-course p,.catering-note p{color:#bbb4a8}
.amenity-card-label,.menu-card-header{background:linear-gradient(120deg,#15191f,#08090b);border-color:rgba(215,175,89,.48)}
.amenity-card>p{background:rgba(8,10,12,.65)}
.rating-panel{background:linear-gradient(145deg,#181c22,#0b0d10);color:var(--text)}
.rating-kicker,.review-source,.review-author small,.review-card .review-quote,.rating-panel p{color:#c4bdae}
.rating-score,.review-quote,.review-author strong{color:#f6ead0}
.review-author strong{color:#f6ead0}
.review-avatar,.review-source-mark,.review-hub-icon{background:#08090b;color:var(--gold2);border:1px solid rgba(215,175,89,.35)}
.review-invite{background:linear-gradient(150deg,rgba(28,38,32,.96),rgba(8,11,10,.96));color:var(--text)}
.review-invite h3{color:#fff1ce}
.review-invite p{color:#c7c1b6}
.site-footer{background:rgba(4,5,7,.97);color:#e9e0cc;border-top:1px solid rgba(215,175,89,.28)}
.site-footer .footer-grid h3{color:var(--gold2)}
.site-footer .footer-grid p,.site-footer .footer-grid a,.footer-bottom{color:#aaa497}
.site-footer .footer-grid a:hover,.site-footer-extras a{color:var(--gold2)}
.site-footer-extras{border-color:rgba(215,175,89,.22)}
.cta-banner{background:linear-gradient(115deg,rgba(27,31,35,.98),rgba(6,7,9,.99));border:1px solid rgba(215,175,89,.32);box-shadow:0 22px 60px rgba(0,0,0,.23)}
.cta-banner h2{color:#f5e6bd}
.site-footer a.brand{max-width:max-content}
.breadcrumb{color:var(--gold2)}
.gallery-filter,.filter-btn,.faq-question{background:rgba(22,25,30,.88);border-color:rgba(215,175,89,.24);color:#ebe3d4}
.gallery-filter.is-active,.filter-btn.is-active,.faq-item.open .faq-question{background:#d7af59;color:#17120a;border-color:#e5c779}
.faq-item,.step,.feature{border-color:rgba(215,175,89,.24)}
.faq-answer,.field-hint,.search-note,.form-fallback-link{color:#bfb8ab}
.search-panel .field label,.field label{color:#d4c9b2}
.field input,.field select,.field textarea,.search-panel .field input,.search-panel .field select,.form-panel input,.form-panel select,.form-panel textarea{
  background:rgba(5,7,9,.35);color:#f8f0df;border-color:rgba(215,175,89,.26);
}
.field input::placeholder,.field textarea::placeholder{color:#8f897d}
.field select option,.search-panel select option,.form-panel select option{background:#111419;color:#f5eddd}
.search-panel .field input,.search-panel .field select{border-bottom-color:rgba(215,175,89,.34)}
.search-panel .field:focus-within input,.search-panel .field:focus-within select{border-bottom-color:var(--gold2)}
.map-frame{background:#12161b;border-color:rgba(215,175,89,.35)}
.map-small-note{color:#aaa396}
.catering-note{background:rgba(21,25,30,.92);border-color:rgba(215,175,89,.29)}
.catering-note strong{color:#f1e5ca}
.menu-course{border-color:rgba(215,175,89,.13)}
.menu-course h3 span{background:rgba(215,175,89,.14);color:#e7ca84;border:1px solid rgba(215,175,89,.19)}
.menu-course-last{background:rgba(215,175,89,.055)}
.menu-disclaimer{color:#aaa397}
.qr-image-link{background:#fffdf7;border-color:rgba(215,175,89,.35)}
.qr-booking-card{background:linear-gradient(145deg,#1c2d27,#080b09)}
.reviews-section .section-head h2{color:#e0ba63}
.review-source-link{color:var(--gold2)}
.review-source-link:hover{text-decoration-thickness:2px}
.amenity-footer p,.map-small-note{color:#aaa396}
.btn-light{background:linear-gradient(135deg,#f3dfac,#c8a45c);color:#14110a;border-color:#f3d795}
.nav-actions .btn{white-space:nowrap}
.menu-toggle{background:rgba(20,23,27,.88);color:#f1e3bf}

/* The image remains pinned while dark glass content panels travel over it. */
.story-backdrop{
  position:fixed;z-index:-1;inset:0;pointer-events:none;
  background-image:var(--story-backdrop-image);
  background-position:center center;background-size:cover;background-repeat:no-repeat;
  opacity:.16;transform:scale(1.025);filter:saturate(.72) contrast(1.12);
  will-change:opacity;transition:opacity .5s ease;
}
.story-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,5,7,.28),rgba(4,5,7,.7) 55%,rgba(4,5,7,.5))}
.page-hero{position:sticky;top:78px;z-index:0;isolation:isolate;overflow:hidden;background:#08090b}
.page-hero~.section,.page-hero~section,.page-hero~.catering-cta{position:relative;z-index:2}
.page-hero+.section,.page-hero+section{margin-top:0}
.page-hero-media{z-index:-1}
.page-hero:before{background:linear-gradient(90deg,rgba(5,6,8,.79),rgba(5,6,8,.56) 54%,rgba(5,6,8,.24)),linear-gradient(0deg,rgba(5,6,8,.62),rgba(5,6,8,.04) 60%)}
.page-hero h1{color:#faefd3;text-shadow:0 6px 30px rgba(0,0,0,.28)}
.page-hero .lede{color:#ded5c3}
.page-hero .btn-outline{background:rgba(4,6,8,.35)}
.story-reveal{backdrop-filter:blur(3px)}
@media(max-width:760px){
 .site-header{background:rgba(5,6,8,.95)}
 .nav-links{background:rgba(8,10,13,.98);border:1px solid rgba(215,175,89,.25);box-shadow:0 18px 40px rgba(0,0,0,.36)}
 .section,.section.alt,.section.dark,.quick-search,.amenities-section,.catering-intro,.catering-preview,.qr-contact-section,.contact-map-section,.reviews-hub-section,.reviews-map-section,.home-map-section{backdrop-filter:blur(8px)}
 .page-hero{top:68px;min-height:210px}
 .story-backdrop{background-position:center 45%;opacity:.12}
}
@media(hover:none){
 .btn:before,.btn-booking-primary:before{left:155%;opacity:.45}
 .btn:hover,.btn-booking-primary:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .btn,.btn:before,.btn:after,.btn-booking-primary,.btn-booking-primary:before,.menu-toggle:before,.story-backdrop{transition:none!important;animation:none!important}
 .page-hero{position:relative;top:auto}
}


/* Full-viewport silent brand intro. No text, controls, or skip button. */
.site-intro{
  position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;
  width:100%;height:100vh;height:100dvh;overflow:hidden;background:#000;
  opacity:1;visibility:visible;pointer-events:auto;
  transition:opacity .58s ease,visibility .58s step-end;
  isolation:isolate;touch-action:manipulation;
}
.site-intro-video{
  display:block;width:100%;height:100%;max-width:none;max-height:none;
  object-fit:contain;object-position:center center;background:#000;border:0;outline:0;
}
body.intro-pending{overflow:hidden!important;height:100%;min-height:100%;overscroll-behavior:none}
body.intro-pending> :not(#site-intro){visibility:hidden!important}
.site-intro.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
@media(prefers-reduced-motion:reduce){
  .site-intro,.site-intro.is-hidden{transition:opacity .16s linear,visibility .16s step-end}
}


/* ================= OBSIDIAN + GOLD BACKDROP / REPEATING LIGHT SWEEP ================= */
:root{
  --luxury-bg:url("https://d2ol7oe51mr4n9.cloudfront.net/user_35mtirXTBJzeOp1GtU8b1ixSM0D/bd5156e5-4702-4ea1-8af6-958e12655619.jpg");
  --gold-white:#fff7df;
  --gold-highlight:#fffdf5;
}
html{background:#060709}
body{background:transparent!important;color:#fff8e9}

/* One persistent image layer across every page; all site content remains in the foreground. */
body:before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(180deg,rgba(4,5,7,.38),rgba(4,5,7,.52) 48%,rgba(4,5,7,.62)),var(--luxury-bg);
  background-size:cover;background-position:center 43%;background-repeat:no-repeat;
  opacity:1;transform:translateZ(0);will-change:transform;
}
.site-header{background:rgba(5,6,8,.72)!important;backdrop-filter:blur(19px) saturate(125%)}
.section,.section.alt,.section.dark,.quick-search,.amenities-section,.catering-intro,.catering-preview,.qr-contact-section,.contact-map-section,.reviews-hub-section,.reviews-map-section,.home-map-section{
  color:#fff6e5!important;background:rgba(7,9,12,.55)!important;
  border-top:1px solid rgba(225,184,88,.22);
  backdrop-filter:blur(13px) saturate(125%);
}
.section.alt,.amenities-section,.catering-preview,.reviews-hub-section{background:rgba(13,16,21,.62)!important}
.section.dark,.reviews-section,.catering-cta{background:rgba(4,5,7,.68)!important;color:#fff6e5}
.quick-search{background:rgba(5,7,9,.66)!important}
.card,.amenity-card,.menu-card,.qr-card,.review-hub-card,.feature,.search-panel,.form-panel,.review-card,.rating-panel,.review-invite{
  color:#fff6e5;background:linear-gradient(145deg,rgba(23,27,33,.79),rgba(5,7,10,.83));
  border:1px solid rgba(225,184,88,.42);
  box-shadow:0 18px 48px rgba(0,0,0,.33),inset 0 1px 0 rgba(255,255,255,.075);
}
.amenity-card-label,.menu-card-header{background:linear-gradient(112deg,rgba(26,28,32,.94),rgba(5,6,8,.96));border-color:rgba(230,197,116,.75)}
.amenity-card>p{background:rgba(6,8,10,.7)}
.rating-panel{background:linear-gradient(145deg,rgba(22,26,32,.93),rgba(7,9,12,.95));color:#fff6e5}
.review-invite{background:linear-gradient(145deg,rgba(31,35,31,.88),rgba(5,8,8,.91))}
.cta-banner{background:linear-gradient(115deg,rgba(25,28,32,.86),rgba(4,5,7,.93));border:1px solid rgba(230,197,116,.55)}
.site-footer{background:rgba(3,4,6,.9)!important;color:#fff4db;border-top:1px solid rgba(225,184,88,.4)}
.page-hero{background:rgba(4,5,7,.24)!important}
.page-hero-media img{filter:brightness(.52) saturate(.9) contrast(1.08)}
.page-hero:before{background:linear-gradient(90deg,rgba(4,5,7,.73),rgba(4,5,7,.43) 55%,rgba(4,5,7,.19)),linear-gradient(0deg,rgba(4,5,7,.54),rgba(4,5,7,.02) 58%)}
.hero:after{background:linear-gradient(90deg,rgba(4,5,7,.71),rgba(4,5,7,.42) 50%,rgba(4,5,7,.12)),linear-gradient(0deg,rgba(4,5,7,.24),transparent 58%)}
.search-panel,.form-panel{backdrop-filter:blur(19px) saturate(125%)}
.search-panel .field label,.field label{color:#f4dfad!important;font-weight:800}
.search-panel .field input,.search-panel .field select,.field input,.field select,.field textarea{
  color:#fff9ed!important;border-color:rgba(230,197,116,.48)!important;
}
.field input::placeholder,.field textarea::placeholder{color:#bcb3a3!important}
.search-panel .field select option,.field select option{background:#111318!important;color:#fff9ed!important}
.search-panel .search-note,.form-panel .search-note,.search-note{color:#e0d5c0!important}
.section-head .lede,.lede,.card-body p,.amenity-card>p,.review-hub-card p,.qr-card p,.menu-course p{color:#e0d9ca}
.eyebrow,.hero h1 em,.page-hero .eyebrow,.card-meta,.amenity-number,.amenity-arrow,.menu-tier,.review-source-link,.review-score,.review-invite-icon,.qr-phone-link,.site-footer .footer-grid h3,.site-footer-extras a,.hero-scroll{
  color:#f0ce7a!important;
  animation:luxury-gold-glow 3.6s ease-in-out infinite;
}
.hero h1 em,.page-hero h1 em,.reviews-section .section-head h2,.catering-preview-copy h2{
  color:#f0ce7a;
  text-shadow:0 0 12px rgba(240,206,122,.16);
}

/* White silk-like reflection sweeps across all buttons in a continuous, offset loop. */
.btn:before,.btn-booking-primary:before,.menu-toggle:before{
  left:-145%;width:62%;opacity:.92;
  animation:luxury-button-sheen 5.2s cubic-bezier(.43,0,.23,1) infinite;
  transition:none;
}
.btn:after,.btn-booking-primary:after{
  border-top:1px solid rgba(255,255,255,.46);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.btn-gold,.btn-booking-primary,.btn-light{
  background-image:linear-gradient(115deg,#e5c274 0%,#f4de9f 24%,#c39338 52%,#f5d98c 76%,#b6812c 100%)!important;
  background-size:220% 100%!important;color:#171107!important;
  border-color:rgba(255,242,200,.9)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.54),0 8px 28px rgba(0,0,0,.28),0 0 18px rgba(224,180,76,.13);
}
.btn-gold:before,.btn-booking-primary:before,.btn-light:before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.12) 18%,rgba(255,255,255,.84) 47%,rgba(255,255,255,.22) 68%,transparent 100%)}
.btn-outline:before,.btn-dark:before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.07) 18%,rgba(255,255,255,.62) 48%,rgba(255,255,255,.13) 68%,transparent 100%)}
.btn:hover,.btn-booking-primary:hover{filter:brightness(1.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 13px 35px rgba(0,0,0,.37),0 0 28px rgba(230,197,116,.22)}
.btn:nth-child(2):before{animation-delay:1.1s}
.btn:nth-child(3):before{animation-delay:2.2s}
.btn:nth-child(4):before{animation-delay:3.3s}
.nav-actions .btn:before{animation-delay:.65s}
.search-panel .btn-booking-primary:before{animation-delay:.8s}
.menu-card-footer .btn:before{animation-delay:1.5s}
.footer-links a{transition:color .25s ease,text-shadow .25s ease}
.footer-links a:hover{color:#fff2c9!important;text-shadow:0 0 11px rgba(255,247,223,.36)}
@keyframes luxury-button-sheen{
  0%,8%{left:-145%}
  34%{left:160%}
  100%{left:160%}
}
@keyframes luxury-gold-glow{
  0%,100%{text-shadow:0 0 1px rgba(255,255,255,.02),0 0 7px rgba(230,197,116,.07);filter:brightness(1)}
  48%{text-shadow:0 0 2px rgba(255,255,255,.45),0 0 11px rgba(255,248,222,.3),0 0 21px rgba(230,197,116,.25);filter:brightness(1.2)}
}

/* Guest capacity bands match the venue's requested booking ranges. */
#guestCount,#guests{font-weight:700}
.search-panel .btn-booking-primary{min-height:56px;font-weight:900;letter-spacing:.015em}
@media(max-width:760px){
  body:before{background-position:center 45%;background-size:cover}
  .section,.section.alt,.section.dark,.quick-search,.amenities-section,.catering-intro,.catering-preview,.qr-contact-section,.contact-map-section,.reviews-hub-section,.reviews-map-section,.home-map-section{backdrop-filter:blur(8px) saturate(115%)}
  .btn:before,.btn-booking-primary:before,.menu-toggle:before{animation-duration:6.2s}
}
@media(prefers-reduced-motion:reduce){
  .btn:before,.btn-booking-primary:before,.menu-toggle:before,.eyebrow,.hero h1 em,.page-hero .eyebrow,.card-meta,.amenity-number,.amenity-arrow,.menu-tier,.review-source-link,.review-score,.review-invite-icon,.qr-phone-link,.site-footer .footer-grid h3,.site-footer-extras a,.hero-scroll{
    animation:none!important;
  }
  .btn:before,.btn-booking-primary:before,.menu-toggle:before{display:none}
}


/* Botanical edge artwork: fixed to the right viewport edge while content stays above it. */
body{background:transparent!important}
body:after{
  content:"";position:fixed;z-index:-1;pointer-events:none;top:0;right:0;
  width:clamp(340px,52vw,760px);height:100vh;height:100dvh;
  background-color:#030405;
  background-image:linear-gradient(90deg,rgba(3,4,5,0) 0%,rgba(3,4,5,.04) 48%,rgba(3,4,5,.02) 100%),url("https://d2ol7oe51mr4n9.cloudfront.net/user_35mtirXTBJzeOp1GtU8b1ixSM0D/bd5156e5-4702-4ea1-8af6-958e12655619.jpg");
  background-repeat:no-repeat,no-repeat;
  background-size:100% 100%,auto 100%;
  background-position:right center,right center;
  opacity:.96;
  filter:drop-shadow(0 0 26px rgba(211,164,72,.08));
  animation:botanical-drift 24s ease-in-out infinite alternate;
  will-change:transform;
}
@keyframes botanical-drift{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-7px,0,0)}
}

/* Let the supplied artwork show through instead of hiding it behind blurred panels. */
.section,.section.alt,.section.dark,.quick-search,.amenities-section,.catering-intro,.catering-preview,.qr-contact-section,.contact-map-section,.reviews-hub-section,.reviews-map-section,.home-map-section{
  background:rgba(4,5,7,.24)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  border-top-color:rgba(225,184,88,.18);
}
.section.dark,.reviews-section,.catering-cta{background:rgba(4,5,7,.37)!important}
.section.alt,.amenities-section,.catering-preview,.reviews-hub-section{background:rgba(5,6,8,.22)!important}
.quick-search{background:rgba(3,4,6,.32)!important}
.card,.amenity-card,.menu-card,.qr-card,.review-hub-card,.feature,.search-panel,.form-panel,.review-card,.rating-panel,.review-invite{
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  background:linear-gradient(145deg,rgba(17,19,23,.64),rgba(4,5,7,.70));
  border-color:rgba(225,184,88,.44);
}
.amenity-card>p{background:rgba(3,4,6,.5)}
.page-hero~.section,.page-hero~section{backdrop-filter:none!important}
.map-frame,.qr-card .qr-image-link{isolation:isolate}
.section-head h2,.booking-intro h2,.catering-preview-copy h2,.home-map-copy h2,.reviews-map-copy h2{
  color:#fff5dc;text-shadow:0 3px 24px rgba(0,0,0,.4);
}
body,.hero .lede,.section-head .lede,.booking-intro p,.search-note,.card-body p{
  color:#f3ecdf;
}
@media(max-width:760px){
  body:after{
    width:min(100vw,520px);opacity:.8;
    background-position:right center,right center;
    background-size:100% 100%,auto 100%;
    animation-duration:30s;
  }
}
@media(prefers-reduced-motion:reduce){
  body:after{animation:none!important}
}

/* Video interlude below the booking form: wide, inset, silent and looping. */
.venue-film-section{
  position:relative;z-index:1;
  padding:clamp(26px,4vw,48px) 0 clamp(38px,5vw,60px);
  background:rgba(3,4,5,.22)!important;
  overflow:hidden;
}
.venue-film-frame{
  position:relative;isolation:isolate;overflow:hidden;
  width:100%;max-width:1240px;margin:0 auto;aspect-ratio:16/9;
  border:1px solid rgba(232,197,114,.66);border-radius:clamp(9px,1.5vw,18px);
  background:#050607;
  box-shadow:0 24px 65px rgba(0,0,0,.45),0 0 30px rgba(208,162,67,.09),inset 0 1px 0 rgba(255,255,255,.15);
}
.venue-film{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:#050607}
.venue-film-edge{
  position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.04) 42%,rgba(255,245,216,.14) 50%,rgba(255,255,255,.025) 57%,transparent 100%);
  background-size:240% 100%;background-position:-170% 0;
  animation:venue-film-sheen 9s ease-in-out infinite;
  mix-blend-mode:screen;
}
@keyframes venue-film-sheen{
  0%,15%{background-position:-170% 0}
  60%,100%{background-position:170% 0}
}

/* React Bits-inspired motion, adapted for this existing HTML/CSS/JS site:
   ShinyText (silky text highlight), BlurText/ScrollReveal and AnimatedContent. */
.rb-shiny-text{
  display:inline;
  background-image:linear-gradient(105deg,#d4aa51 0%,#f4d98d 28%,#fffdf3 43%,#e4be68 53%,#c28a2f 72%,#f9e3a6 100%);
  background-size:230% 100%;background-position:100% 50%;
  -webkit-background-clip:text;background-clip:text;color:transparent!important;
  -webkit-text-fill-color:transparent;
  animation:rb-shiny-text 6.8s ease-in-out infinite;
}
@keyframes rb-shiny-text{
  0%,7%{background-position:100% 50%}
  56%,100%{background-position:-130% 50%}
}
.js-motion-enabled .story-reveal{
  filter:blur(9px);
  transition:opacity .78s cubic-bezier(.22,.75,.18,1),transform .88s cubic-bezier(.22,.75,.18,1),filter .9s cubic-bezier(.22,.75,.18,1);
}
.js-motion-enabled .story-reveal.is-story-visible{filter:blur(0)}
.js-motion-enabled .story-media-reveal{
  transition:clip-path 1.05s cubic-bezier(.22,.75,.18,1),transform 1s cubic-bezier(.22,.75,.18,1),filter .9s ease;
}
@media(max-width:760px){
  .venue-film-section{padding:23px 0 35px}
  .venue-film-frame{border-radius:9px}
  .venue-film-edge{animation-duration:12s}
}
@media(prefers-reduced-motion:reduce){
  .rb-shiny-text,.venue-film-edge{animation:none!important}
  .rb-shiny-text{background-image:none;color:#f0ce7a!important;-webkit-text-fill-color:currentColor}
  .js-motion-enabled .story-reveal,.js-motion-enabled .story-media-reveal{filter:none!important;transition:none!important}
}


/* Reveal text without reintroducing blurred glass panels. */
.story-reveal,.story-media-reveal,.story-media-reveal.is-story-visible{
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
.story-reveal{background-color:transparent}
.venue-film-frame{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}


/* Correct background artwork: use the exact newly supplied gold botanical image. */
:root{--luxury-bg:url("https://d2ol7oe51mr4n9.cloudfront.net/user_35mtirXTBJzeOp1GtU8b1ixSM0D/bd5156e5-4702-4ea1-8af6-958e12655619.jpg")}
body:before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-color:#020203;
  background-image:linear-gradient(90deg,rgba(0,0,0,.03),rgba(0,0,0,.02)),var(--luxury-bg);
  background-repeat:no-repeat,no-repeat;
  background-size:100% 100%,auto 100%;
  background-position:center,right center;
  opacity:1;transform:translateZ(0);will-change:auto;
}
body:after{display:none!important}

/* Full-bleed landscape film: touch both horizontal edges, with a restrained height. */
.venue-film-section{padding:clamp(24px,3vw,38px) 0 clamp(34px,4vw,50px);overflow:clip}
.venue-film-section>.container{width:100%;max-width:none;padding-left:0;padding-right:0}
.venue-film-frame{
  position:relative;left:50%;transform:translateX(-50%);
  width:100vw;max-width:none;height:clamp(220px,29vw,430px);
  aspect-ratio:auto;margin:0;border-radius:0;border-left:0;border-right:0;
  border-top:1px solid rgba(232,197,114,.7);border-bottom:1px solid rgba(232,197,114,.7);
  box-shadow:0 22px 58px rgba(0,0,0,.42),0 0 24px rgba(208,162,67,.10);
}
.venue-film{width:100%;height:100%;object-fit:cover;object-position:center 50%}
.venue-film-edge{border-radius:0}
@media(max-width:760px){
  body:before{background-size:100% 100%,auto 100%;background-position:center,right center}
  .venue-film-section{padding:22px 0 34px}
  .venue-film-frame{height:clamp(190px,49vw,275px)}
}
@media(prefers-reduced-motion:reduce){body:before{animation:none!important}}

/* React Bits Circle Gallery-inspired 3D image orbit for the venue gallery. */
.circle-gallery-showcase{
  --circle-gold:#e4bf69;
  margin:18px 0 38px;padding:26px 16px 22px;
  background:linear-gradient(180deg,rgba(4,5,7,.18),rgba(4,5,7,.08));
  border-top:1px solid rgba(228,191,105,.24);
  border-bottom:1px solid rgba(228,191,105,.24);
  overflow:hidden;
}
.circle-gallery-heading{text-align:center;max-width:690px;margin:0 auto 8px}
.circle-gallery-heading h2{font-size:clamp(1.9rem,3.6vw,3rem);margin:8px 0 9px;color:#fff1cf}
.circle-gallery-heading p{font-size:.85rem;line-height:1.7;color:#ded5c2;margin:0}
.circle-gallery{
  position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;
  gap:8px;align-items:center;max-width:1160px;margin:0 auto;
}
.circle-gallery-stage{
  position:relative;width:100%;height:clamp(310px,37vw,480px);
  perspective:1250px;perspective-origin:50% 44%;
  touch-action:pan-y;cursor:grab;outline:none;
}
.circle-gallery-stage:active{cursor:grabbing}
.circle-gallery-stage:focus-visible{outline:2px solid var(--circle-gold);outline-offset:4px;border-radius:14px}
.circle-gallery-ring{
  position:absolute;inset:0;transform-style:preserve-3d;
  transform:rotateY(0deg);transition:transform .82s cubic-bezier(.19,.78,.2,1);
  will-change:transform;
}
.circle-gallery-card{
  appearance:none;position:absolute;left:50%;top:47%;
  width:clamp(128px,17vw,218px);aspect-ratio:3/4;
  padding:0;overflow:hidden;border:1px solid rgba(255,228,164,.68);
  border-radius:13px;background:#08090b;color:#fff5dc;cursor:pointer;
  box-shadow:0 16px 42px rgba(0,0,0,.5),0 0 0 1px rgba(215,175,89,.12);
  transform:translate(-50%,-50%) rotateY(var(--circle-angle)) translateZ(var(--circle-radius));
  transform-style:preserve-3d;backface-visibility:hidden;
  transition:filter .35s ease,border-color .35s ease,box-shadow .35s ease;
}
.circle-gallery-card img{display:block;width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none;pointer-events:none}
.circle-gallery-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.82));pointer-events:none}
.circle-gallery-card .circle-gallery-caption{
  position:absolute;z-index:2;left:0;right:0;bottom:0;padding:36px 12px 14px;
  font:500 clamp(.8rem,1.2vw,1rem) var(--serif);line-height:1.35;text-align:left;
  text-shadow:0 2px 8px rgba(0,0,0,.6)
}
.circle-gallery-card .circle-gallery-index{
  position:absolute;z-index:2;top:10px;left:10px;padding:5px 8px;
  border:1px solid rgba(255,240,202,.5);border-radius:999px;
  color:#fff1c9;background:rgba(5,6,8,.48);font:700 .6rem var(--sans);letter-spacing:.08em
}
.circle-gallery-card:hover{border-color:#fff0be;box-shadow:0 22px 52px rgba(0,0,0,.52),0 0 24px rgba(222,186,94,.18);filter:brightness(1.08)}
.circle-gallery-control{
  position:relative;z-index:4;width:42px;height:42px;border:1px solid rgba(228,191,105,.62);
  border-radius:50%;display:grid;place-items:center;
  background:rgba(5,6,8,.78);color:#f7dfa1;font:400 2rem/1 var(--sans);
  cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.22);
  transition:background .25s ease,transform .25s ease,color .25s ease;
}
.circle-gallery-control:hover{background:#d4ad55;color:#111;transform:scale(1.06)}
.circle-gallery-status{text-align:center;margin:0 auto;color:#dfc98f;font-size:.73rem;letter-spacing:.11em;text-transform:uppercase;min-height:1.5em}
.circle-gallery-showcase .gallery-hint{text-align:center;color:#d7cdb7;font-size:.72rem;margin:4px 0 0}
.circle-gallery.is-dragging .circle-gallery-ring{transition:none}
.circle-gallery.is-changing .circle-gallery-card{pointer-events:none}
@media(max-width:760px){
  .circle-gallery-showcase{padding:22px 4px 19px;margin:8px -10px 30px}
  .circle-gallery{grid-template-columns:30px minmax(0,1fr) 30px;gap:2px}
  .circle-gallery-stage{height:clamp(280px,72vw,360px);perspective:920px}
  .circle-gallery-card{width:clamp(108px,31vw,155px);border-radius:10px;top:47%}
  .circle-gallery-card .circle-gallery-caption{font-size:.78rem;padding:31px 9px 10px}
  .circle-gallery-control{width:29px;height:29px;font-size:1.45rem}
}
@media(max-width:390px){
  .circle-gallery-stage{height:285px}
  .circle-gallery-card{width:108px}
}
@media(prefers-reduced-motion:reduce){
  .circle-gallery-ring,.circle-gallery-card,.circle-gallery-control{transition:none!important}
}


/* Fix: one shared floral backdrop only. Hero photography stays inside its hero and scrolls away. */
body{background:transparent!important}
body:before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-color:#020203;
  background-image:linear-gradient(90deg,rgba(0,0,0,.015),rgba(0,0,0,.02)),url("https://d2ol7oe51mr4n9.cloudfront.net/user_35mtirXTBJzeOp1GtU8b1ixSM0D/bd5156e5-4702-4ea1-8af6-958e12655619.jpg");
  background-repeat:no-repeat,no-repeat;
  background-size:100% 100%,auto 100%;
  background-position:center,right center;
  opacity:1;transform:translateZ(0);
}
body:after{display:none!important}
.page-hero{position:relative!important;top:auto!important;z-index:1!important;isolation:isolate;overflow:hidden}
.page-hero~.section,.page-hero~section,.page-hero~.catering-cta{position:relative;z-index:1}
.story-backdrop{display:none!important}

/* Five coordinated React Bits-inspired effect families used throughout all pages:
   1 ShinyText, 2 Glare Hover, 3 AnimatedContent/ScrollReveal,
   4 soft floating motion, 5 gold edge pulse / image zoom. */
.rb-shiny-text,.fx-shiny{
  background-image:linear-gradient(105deg,#d7af59 0%,#f3da91 25%,#fffef7 42%,#e7c577 54%,#c08c35 75%,#f9e6ae 100%);
  background-size:230% 100%;background-position:100% 50%;
  -webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;
  animation:rb-shiny-text 6.8s ease-in-out infinite;
}
.luxury-interactive{--mx:50%;--my:50%;--tilt-x:0deg;--tilt-y:0deg;position:relative}
.luxury-interactive.fx-glare{overflow:hidden;isolation:isolate}
.luxury-interactive.fx-glare:before{
  content:"";position:absolute;inset:-1px;z-index:2;pointer-events:none;border-radius:inherit;
  background:radial-gradient(circle at var(--mx) var(--my),rgba(255,248,223,.22),rgba(224,184,92,.085) 19%,transparent 48%);
  opacity:0;transition:opacity .3s ease;
}
.luxury-interactive.fx-glare:hover:before,.luxury-interactive.fx-glare:focus-within:before{opacity:1}
.luxury-interactive.fx-tilt{transform-style:preserve-3d;will-change:transform}
.luxury-interactive.fx-tilt:hover{
  transform:perspective(900px) rotateX(var(--tilt-y)) rotateY(var(--tilt-x)) translateY(-3px);
  box-shadow:0 24px 54px rgba(0,0,0,.42),0 0 22px rgba(230,197,116,.12);
}
.luxury-interactive.fx-float.is-story-visible{animation:luxury-card-float 7.8s ease-in-out infinite}
.luxury-interactive.fx-edge{transition:box-shadow .35s ease,border-color .35s ease}
.luxury-interactive.fx-edge:hover,.luxury-interactive.fx-edge:focus-within{
  border-color:rgba(255,235,174,.8);
  box-shadow:0 18px 48px rgba(0,0,0,.36),0 0 0 1px rgba(230,197,116,.18),0 0 23px rgba(230,197,116,.13);
  animation:luxury-edge-pulse 2.6s ease-in-out infinite;
}
.luxury-interactive.fx-image-zoom img,.luxury-interactive.fx-image-zoom .amenity-image img{
  transition:transform .85s cubic-bezier(.2,.75,.15,1),filter .6s ease;
}
.luxury-interactive.fx-image-zoom:hover img{transform:scale(1.075);filter:saturate(1.08) brightness(1.08)}
@keyframes luxury-card-float{0%,100%{translate:0 0}50%{translate:0 -5px}}
@keyframes luxury-edge-pulse{0%,100%{box-shadow:0 18px 48px rgba(0,0,0,.36),0 0 12px rgba(230,197,116,.07)}50%{box-shadow:0 18px 48px rgba(0,0,0,.36),0 0 26px rgba(255,239,194,.2)}}
@keyframes luxury-select-pulse{0%,100%{box-shadow:0 0 0 rgba(230,197,116,0)}50%{box-shadow:0 0 0 3px rgba(230,197,116,.12)}}

/* Selection feedback: gold focus ring makes the event/date/guest controls visibly actionable. */
.search-panel .field,.form-panel .field{transition:transform .28s ease,background .28s ease}
.search-panel .field:focus-within,.form-panel .field:focus-within{
  transform:translateY(-2px);
}
.search-panel .field:focus-within label,.form-panel .field:focus-within label{color:#fff1c3!important}
#guestCount,#guests{
  border-radius:8px 8px 3px 3px;
  transition:border-color .25s ease,box-shadow .25s ease,background .25s ease;
}
#guestCount:focus,#guests:focus{
  outline:2px solid rgba(255,234,173,.85);outline-offset:3px;
  box-shadow:0 0 0 6px rgba(215,175,89,.12),0 0 25px rgba(215,175,89,.11);
  background-color:rgba(215,175,89,.07);
}

/* Keep the floral image flush to the right and reduce obstruction from content panels. */
.section,.section.alt,.section.dark,.quick-search,.amenities-section,.catering-intro,.catering-preview,.qr-contact-section,.contact-map-section,.reviews-hub-section,.reviews-map-section,.home-map-section{
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  background-color:rgba(3,4,6,.17)!important;
}
.section.dark,.reviews-section,.catering-cta{background-color:rgba(3,4,6,.29)!important}
@media(max-width:760px){
  body:before{background-size:100% 100%,auto 100%;background-position:center,right center}
  .luxury-interactive.fx-float.is-story-visible{animation-duration:9.5s}
  .luxury-interactive.fx-tilt:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
  .rb-shiny-text,.fx-shiny,.luxury-interactive.fx-float.is-story-visible,.luxury-interactive.fx-edge:hover,.luxury-interactive.fx-edge:focus-within{
    animation:none!important;transition:none!important
  }
  .luxury-interactive.fx-tilt:hover{transform:none!important}
}


/* Final layered backdrop and scroll behavior: only the supplied floral image is fixed. */
body:before{
  background-image:
    radial-gradient(circle at var(--spot-x,82%) var(--spot-y,38%),rgba(232,195,105,.105),transparent 29%),
    linear-gradient(90deg,rgba(0,0,0,.015),rgba(0,0,0,.025)),
    url("https://d2ol7oe51mr4n9.cloudfront.net/user_35mtirXTBJzeOp1GtU8b1ixSM0D/bd5156e5-4702-4ea1-8af6-958e12655619.jpg");
  background-repeat:no-repeat,no-repeat,no-repeat;
  background-size:100% 100%,100% 100%,auto 100%;
  background-position:center,center,right center;
}
body:after{display:none!important}
.page-hero{position:relative!important;top:auto!important}
.story-backdrop{display:none!important}
.hero-media{position:absolute}
.page-hero-media{position:absolute}

/* Add visual variety without running heavy WebGL loops across every screen. */
.luxury-interactive.fx-float{animation-delay:var(--effect-delay,0s)}
.luxury-interactive.fx-edge{animation-delay:var(--effect-delay,0s)}
.luxury-interactive.fx-glare:after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;
  background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.065) 43%,rgba(255,248,225,.18) 50%,rgba(255,255,255,.045) 57%,transparent 76%);
  background-size:230% 100%;background-position:200% 0;opacity:0;
  transition:opacity .3s ease;
}
.luxury-interactive.fx-glare:hover:after{
  opacity:1;animation:luxury-card-glint 1.15s ease-out forwards;
}
@keyframes luxury-card-glint{
  from{background-position:200% 0}
  to{background-position:-150% 0}
}
.btn,.btn-booking-primary{will-change:transform}
@media(hover:none){
  .luxury-interactive.fx-tilt:hover{transform:none}
  .luxury-interactive.fx-glare:before{display:none}
  .luxury-interactive.fx-glare:hover:after{animation:none}
}
@media(prefers-reduced-motion:reduce){
  body:before{background-image:linear-gradient(90deg,rgba(0,0,0,.015),rgba(0,0,0,.025)),url("https://d2ol7oe51mr4n9.cloudfront.net/user_35mtirXTBJzeOp1GtU8b1ixSM0D/bd5156e5-4702-4ea1-8af6-958e12655619.jpg")}
  .luxury-interactive.fx-glare:hover:after{animation:none!important}
}


/* Slow ambient movement on the floral artwork; text/cards remain stable and readable. */
body:before{animation:floral-edge-breathe 28s ease-in-out infinite alternate}
@keyframes floral-edge-breathe{
  0%{background-position:center,center,right center;filter:brightness(1) saturate(1)}
  100%{background-position:center,center,calc(100% + 10px) center;filter:brightness(1.075) saturate(1.035)}
}
@media(prefers-reduced-motion:reduce){body:before{animation:none!important}}


/* ================= RESPONSIVE FINISH PASS: DESKTOP / TABLET / PHONE ================= */
/* Fluid sizing and safe viewport handling. Desktop visual language remains unchanged. */
html,body{max-width:100%;overflow-x:clip}
img,video,iframe{max-width:100%}
body:before{
  background-attachment:scroll;
  background-position:center,center,right center;
}
.site-intro{width:100%;height:100vh;height:100dvh}
.site-intro-video{width:100%;height:100%;object-fit:contain}

/* Tablet: preserve the same hero hierarchy while relieving tight nav and card layouts. */
@media (min-width:761px) and (max-width:1100px){
  .container{width:min(calc(100% - 44px),var(--max))}
  .nav{gap:14px}
  .nav-links{gap:clamp(8px,1.25vw,15px);font-size:.72rem}
  .brand-logo{max-width:126px;height:56px}
  .nav-actions .btn{padding-inline:14px}
  .hero{min-height:clamp(430px,62vh,570px)}
  .hero-content{max-width:720px}
  .hero h1{font-size:clamp(2.8rem,5.5vw,4.5rem)}
  .venue-film-frame{height:clamp(240px,33vw,360px)}
  .circle-gallery-stage{height:clamp(340px,42vw,440px)}
  .circle-gallery-card{width:clamp(145px,19vw,195px)}
}

/* Phones: the floral pattern hugs the right edge, never creates horizontal scroll. */
@media (max-width:760px){
  html{scroll-padding-top:76px}
  body:before{
    inset:0;
    background-color:#020203;
    background-image:
      linear-gradient(90deg,rgba(0,0,0,.08),rgba(0,0,0,.025)),
      url("https://d2ol7oe51mr4n9.cloudfront.net/user_35mtirXTBJzeOp1GtU8b1ixSM0D/bd5156e5-4702-4ea1-8af6-958e12655619.jpg");
    background-repeat:no-repeat,no-repeat;
    background-size:100% 100%,auto 100%;
    background-position:center,right center;
    opacity:.98;
    animation-duration:36s;
  }
  .site-header{
    position:sticky;top:0;z-index:1000;
    padding-top:env(safe-area-inset-top,0px);
    backdrop-filter:blur(14px) saturate(118%);
  }
  .nav{
    min-height:68px;padding-block:5px;
    gap:8px;align-items:center;
  }
  .brand{min-width:0;gap:5px}
  .brand-logo{height:45px!important;max-width:112px!important;width:auto}
  .site-footer .brand-logo{height:64px!important;max-width:132px!important}
  .nav-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
  .menu-toggle{
    display:grid!important;place-items:center;
    width:42px;height:42px;min-width:42px;
    font-size:1.05rem;border-radius:50%;
  }
  .nav-links{
    position:fixed;inset:calc(68px + env(safe-area-inset-top,0px)) 12px auto!important;
    max-height:calc(100dvh - 92px);overflow-y:auto;
    padding:10px 18px 16px!important;gap:0!important;
    border:1px solid rgba(230,197,116,.36);border-radius:13px;
    background:rgba(6,8,11,.98)!important;
    box-shadow:0 20px 52px rgba(0,0,0,.52);
    overscroll-behavior:contain;
  }
  .nav-links.open{display:flex!important}
  .nav-links a{
    min-height:47px;display:flex;align-items:center;
    padding:12px 3px!important;font-size:.88rem;
    border-bottom:1px solid rgba(215,175,89,.17)!important;
  }

  /* Homepage hero: same photo, type hierarchy and gold CTAs; only fluid fit changes. */
  .hero{
    min-height:clamp(495px,calc(100svh - 68px),680px);
    min-height:clamp(495px,calc(100dvh - 68px),680px);
    height:auto;display:flex;align-items:center;
    overflow:hidden;
  }
  .hero-media{position:absolute;inset:0}
  .hero-media img,.hero-media video{
    width:100%;height:100%;object-fit:cover;
    object-position:64% 68%;
    filter:brightness(.61) saturate(.88);
  }
  .hero-content{
    width:min(calc(100% - 34px),var(--max));
    max-width:100%;padding:42px 0 48px!important;
    margin-inline:auto;
  }
  .hero h1{
    max-width:100%;font-size:clamp(2.55rem,9.8vw,4.25rem);
    line-height:1.01;letter-spacing:-.045em;
    overflow-wrap:normal;text-wrap:balance;
    margin:.28em 0 .25em;
  }
  .hero .lede{max-width:35rem;font-size:.9rem;line-height:1.65}
  .hero .eyebrow{font-size:.62rem;letter-spacing:.14em}
  .hero-note{display:flex;flex-wrap:wrap;gap:8px 13px;margin-top:16px;font-size:.66rem}
  .hero-scroll{display:none}
  .hero .btn-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:19px}
  .hero .btn-row .btn{min-height:47px;padding:12px 16px;flex:1 1 145px;justify-content:center;white-space:normal;text-align:center}

  /* The two key mobile sections lead cleanly from the hero into enquiry. */
  .quick-search{margin:0!important;padding:24px 0 28px!important}
  .quick-search>.container,.quick-search .container{width:calc(100% - 28px)}
  .booking-intro{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin:0 0 18px}
  .booking-intro-copy{width:100%;max-width:none}
  .booking-intro h2{font-size:clamp(1.9rem,7.5vw,2.65rem);line-height:1.04;margin:9px 0}
  .booking-intro p{font-size:.84rem;line-height:1.65}
  .booking-steps{display:grid;grid-template-columns:1fr;gap:8px;width:100%;justify-content:stretch}
  .booking-step{display:flex;align-items:center;min-height:42px;width:100%;padding:8px 11px;border-radius:10px;background:rgba(9,11,14,.72);border-color:rgba(230,197,116,.28)}
  .booking-step strong{font-size:.72rem;white-space:normal}
  .search-panel{
    display:grid;grid-template-columns:minmax(0,1fr)!important;
    width:100%;gap:14px;padding:16px!important;border-radius:14px;
    align-items:stretch;
  }
  .search-panel .field{min-width:0;width:100%}
  .search-panel .field label,.field label{display:block;font-size:.66rem;line-height:1.45}
  .search-panel .field input,.search-panel .field select,.field input,.field select,.field textarea{
    width:100%;min-width:0;min-height:48px;font-size:16px;
    padding:10px 9px;border-radius:7px;
  }
  .search-panel .btn-booking-primary,.search-panel .btn{
    grid-column:auto!important;width:100%;min-height:52px;
    padding:13px 16px;justify-content:center;font-size:.78rem;
  }
  .search-note{font-size:.69rem;line-height:1.6;margin:0}
  .form-feedback{font-size:.78rem;overflow-wrap:anywhere}
  #eventDate{min-height:49px}

  /* Inner heroes move with the page; no sticky photo left behind during scroll. */
  .page-hero{
    position:relative!important;top:auto!important;
    display:flex;align-items:center;
    min-height:245px;padding:30px 0 34px;
  }
  .page-hero .container{width:calc(100% - 34px);max-width:var(--max)}
  .page-hero-media{position:absolute;inset:0}
  .page-hero-media img{width:100%;height:100%;object-fit:cover;transform:none;object-position:center 54%}
  .page-hero h1{font-size:clamp(2rem,8vw,3.25rem);line-height:1.02;overflow-wrap:normal}
  .page-hero .lede{font-size:.82rem;line-height:1.6;max-width:100%}
  .page-hero .breadcrumb{font-size:.65rem;margin-bottom:9px}
  .page-hero .btn-row{gap:9px}
  .page-hero .btn-row .btn{flex:1 1 130px;justify-content:center;min-height:44px;padding:11px 13px;text-align:center}

  /* Sections, photos and text grids. */
  .section{padding-top:42px;padding-bottom:42px}
  .section-head{display:block;margin-bottom:22px}
  .section-head h2{font-size:clamp(1.9rem,7.4vw,2.7rem);line-height:1.06}
  .section-head .lede{font-size:.83rem;line-height:1.68;margin-top:12px}
  .split,.home-map-grid,.reviews-map-grid,.catering-preview-grid{grid-template-columns:minmax(0,1fr);gap:22px}
  .split-media,.split-media img{min-height:220px}
  .cards,.amenity-grid,.review-layout,.review-hub-grid,.qr-card-grid{grid-template-columns:minmax(0,1fr)}
  .card,.amenity-card,.review-card,.rating-panel,.review-invite,.review-hub-card,.qr-card{min-width:0}
  .amenity-grid{gap:13px}
  .amenity-image{aspect-ratio:1.7/1}
  .amenity-card-label h3{font-size:1.18rem}
  .amenity-card>p{font-size:.79rem;line-height:1.65}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .gallery-item,.gallery-item:nth-child(7n+1){grid-column:span 1!important;min-width:0;aspect-ratio:3/4}
  .gallery-item img{width:100%;height:100%;object-fit:cover}
  .feature-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .feature{min-width:0;padding:12px}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .cta-banner{padding:23px;gap:16px}
  .cta-banner h2{font-size:clamp(1.8rem,7vw,2.5rem)}
  .cta-banner .btn{width:100%;justify-content:center}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 15px}
  .site-footer{padding-top:35px}
  .site-footer p,.footer-links a{overflow-wrap:anywhere}
  .footer-links{gap:9px}
  .footer-bottom{gap:7px;font-size:.69rem}
  .site-footer-extras{display:flex;gap:10px 14px;font-size:.68rem}

  /* Inset cinematic strip becomes full-bleed horizontally, with a shorter mobile height. */
  .venue-film-section{width:100%;padding:22px 0 32px!important;overflow:hidden}
  .venue-film-section>.container{width:100%!important;max-width:none!important;padding:0!important}
  .venue-film-frame{
    width:100vw!important;max-width:none!important;left:auto!important;transform:none!important;
    height:clamp(175px,51vw,270px)!important;aspect-ratio:auto!important;
    margin:0!important;border-radius:0!important;border-left:0!important;border-right:0!important;
  }
  .venue-film{width:100%;height:100%;object-fit:cover;object-position:center}

  /* Carousel fits within narrow phone screens, keeps controls tappable and remains draggable. */
  .circle-gallery-showcase{margin:4px -14px 26px;padding:21px 3px 17px}
  .circle-gallery-heading{padding:0 13px}
  .circle-gallery-heading h2{font-size:clamp(1.75rem,7.2vw,2.5rem)}
  .circle-gallery-heading p{font-size:.78rem;line-height:1.6}
  .circle-gallery{grid-template-columns:32px minmax(0,1fr) 32px;gap:0;width:100%}
  .circle-gallery-stage{height:clamp(265px,76vw,350px);min-width:0;perspective:850px;perspective-origin:50% 45%;overflow:visible}
  .circle-gallery-card{width:clamp(94px,29vw,132px);top:47%;border-radius:9px}
  .circle-gallery-card .circle-gallery-caption{font-size:.73rem;padding:28px 8px 9px}
  .circle-gallery-card .circle-gallery-index{top:7px;left:7px;padding:4px 6px;font-size:.54rem}
  .circle-gallery-control{width:30px;height:30px;min-width:30px;font-size:1.45rem}
  .circle-gallery-status{font-size:.62rem;letter-spacing:.06em;margin-top:5px}

  /* Keep continuous effects but soften shadow/blur cost on touch devices. */
  .luxury-interactive.fx-tilt,.luxury-interactive.fx-tilt:hover{transform:none!important;will-change:auto}
  .luxury-interactive.fx-float.is-story-visible{animation-duration:10s}
  .luxury-interactive.fx-edge:hover,.luxury-interactive.fx-edge:focus-within{animation:none}
  .luxury-interactive.fx-glare:after{display:none}
  .card,.amenity-card,.menu-card,.qr-card,.review-hub-card,.feature,.search-panel,.form-panel,.review-card,.rating-panel,.review-invite{
    box-shadow:0 10px 26px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.035);
  }
  .btn:before,.btn-booking-primary:before,.menu-toggle:before{animation-duration:7.2s}
  .rb-shiny-text,.fx-shiny{animation-duration:8.5s}
  .js-motion-enabled .story-reveal{will-change:auto;transform:translate3d(0,16px,0)}
  .js-motion-enabled .story-media-reveal{will-change:auto}
  .map-frame,.map-frame iframe{min-height:270px}
  .catering-preview-image{height:230px}
  .menu-comparison{grid-template-columns:minmax(0,1fr);gap:16px}
  .menu-card-header{padding:22px}
  .menu-course{padding:14px 15px}
  .menu-course p{font-size:.77rem;line-height:1.7}
}

/* Smaller phones: prevent clipped buttons, titles and footer columns. */
@media(max-width:420px){
  .container{width:calc(100% - 26px)}
  .nav{min-height:63px}
  .nav-links{inset:calc(63px + env(safe-area-inset-top,0px)) 9px auto!important}
  .brand-logo{height:40px!important;max-width:100px!important}
  .menu-toggle{width:40px;height:40px;min-width:40px}
  .hero{min-height:clamp(480px,calc(100dvh - 63px),630px)}
  .hero-content{width:calc(100% - 28px);padding:34px 0 39px!important}
  .hero h1{font-size:clamp(2.3rem,10.2vw,2.85rem);letter-spacing:-.04em}
  .hero .lede{font-size:.82rem}
  .hero .btn-row{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}
  .hero .btn-row .btn{width:100%;min-height:46px}
  .hero-note{font-size:.61rem;gap:7px 11px}
  .booking-intro h2{font-size:clamp(1.8rem,7.5vw,2.25rem)}
  .search-panel{padding:13px!important;gap:12px}
  .page-hero{min-height:220px;padding:27px 0 29px}
  .page-hero h1{font-size:clamp(1.85rem,8.3vw,2.4rem)}
  .page-hero .btn-row{display:grid;grid-template-columns:minmax(0,1fr)}
  .page-hero .btn-row .btn{width:100%}
  .section{padding-top:35px;padding-bottom:35px}
  .section-head h2{font-size:clamp(1.8rem,7.7vw,2.35rem)}
  .footer-grid{grid-template-columns:minmax(0,1fr)}
  .feature-list,.steps{grid-template-columns:minmax(0,1fr)}
  .venue-film-frame{height:clamp(165px,52vw,215px)!important}
  .circle-gallery{grid-template-columns:27px minmax(0,1fr) 27px}
  .circle-gallery-control{width:26px;height:26px;min-width:26px;font-size:1.25rem}
  .circle-gallery-stage{height:270px;perspective:720px}
  .circle-gallery-card{width:102px}
}

/* Landscape phones: preserve readable content and keep the primary hero from swallowing the viewport. */
@media(max-width:900px) and (orientation:landscape){
  .hero{min-height:clamp(390px,108svh,560px)}
  .hero-content{padding:30px 0 38px!important}
  .hero h1{font-size:clamp(2.2rem,6vw,3.2rem)}
  .hero .lede{max-width:630px}
  .page-hero{min-height:200px;padding:22px 0}
  .circle-gallery-stage{height:265px}
}

/* Respect device accessibility settings and ensure content is never trapped invisible. */
@media(prefers-reduced-motion:reduce){
  body:before{animation:none!important}
  .js-motion-enabled .story-reveal,.js-motion-enabled .story-media-reveal,
  .js-motion-enabled .story-reveal.is-story-visible,.js-motion-enabled .story-media-reveal.is-story-visible{
    opacity:1!important;filter:none!important;transform:none!important;clip-path:none!important;transition:none!important;will-change:auto!important;
  }
  .luxury-interactive,.luxury-interactive:hover,.luxury-interactive.fx-tilt:hover{transform:none!important;animation:none!important}
  .btn:before,.btn-booking-primary:before,.menu-toggle:before{display:none!important}
}


/* Touch layout helpers: avoid sticky hover states, preserve tap feedback and safe areas. */
.touch-layout .luxury-interactive.fx-tilt:hover,
.touch-layout .luxury-interactive.fx-tilt:active{transform:none!important}
.touch-layout .luxury-interactive.fx-glare:before{display:none}
.touch-layout .luxury-interactive.fx-glare:after{display:none}
.touch-layout .btn:active,.touch-layout .btn-booking-primary:active{filter:brightness(1.08)}
.touch-layout .nav-links a{touch-action:manipulation}
.touch-layout .circle-gallery-control{min-width:34px;min-height:34px}
.touch-layout .circle-gallery-card{touch-action:pan-y;user-select:none;-webkit-user-select:none}
.touch-layout input,.touch-layout select,.touch-layout textarea{font-size:16px!important}
@supports(padding:max(0px)){
  .site-header{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}
  .site-footer{padding-bottom:max(24px,env(safe-area-inset-bottom))}
}


/* ================= HERO ENTRANCE SEQUENCE AFTER INTRO VIDEO ================= */
/* The fixed floral artwork fades first; the stage photo then scales into place,
   followed by crest, title, supporting copy and CTAs in deliberate staggered order. */
body:not(.site-revealed):before{opacity:0;animation:none!important}
body.site-revealed:before{
  animation:hero-floral-fade 1.45s ease-out both,floral-edge-breathe 28s ease-in-out 1.45s infinite alternate;
}
@keyframes hero-floral-fade{from{opacity:0}to{opacity:1}}

.hero{isolation:isolate}
.hero-brand-crest{
  position:absolute;z-index:3;display:block;
  left:max(22px,calc((100vw - var(--max))/2 + 20px));
  top:2.5%;width:clamp(150px,14.5vw,232px);height:auto;max-height:48%;
  object-fit:contain;object-position:center;opacity:0;
  filter:drop-shadow(0 9px 22px rgba(0,0,0,.44)) drop-shadow(0 0 15px rgba(230,197,116,.16));
  transform:translate3d(0,20px,0) scale(.82);transform-origin:center;
  pointer-events:none;
}
body.site-revealed .hero .hero-media img{
  animation:hero-stage-pop 1.35s cubic-bezier(.18,.78,.19,1) .08s both;
  will-change:opacity,transform;
}
@keyframes hero-stage-pop{
  0%{opacity:0;transform:scale(1.085)}
  70%{opacity:1;transform:scale(.992)}
  100%{opacity:1;transform:scale(1)}
}
body.site-revealed .hero .hero-brand-crest{
  animation:hero-crest-arrive 1.05s cubic-bezier(.16,.8,.24,1) .38s both;
  will-change:opacity,transform,filter;
}
@keyframes hero-crest-arrive{
  0%{opacity:0;transform:translate3d(0,24px,0) scale(.76);filter:blur(9px) drop-shadow(0 9px 22px rgba(0,0,0,.44))}
  72%{opacity:1;transform:translate3d(0,-3px,0) scale(1.035);filter:blur(0) drop-shadow(0 9px 22px rgba(0,0,0,.44)) drop-shadow(0 0 18px rgba(230,197,116,.2))}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:drop-shadow(0 9px 22px rgba(0,0,0,.44)) drop-shadow(0 0 15px rgba(230,197,116,.16))}
}
body.site-revealed .hero .hero-content>.eyebrow{
  animation:hero-copy-rise .72s cubic-bezier(.2,.75,.2,1) .62s both;
}
body.site-revealed .hero .hero-content>h1{
  animation:hero-copy-rise .86s cubic-bezier(.2,.75,.2,1) .82s both;
}
body.site-revealed .hero .hero-title-primary{
  display:inline-block;
  animation:hero-word-blur-in .88s cubic-bezier(.16,.8,.24,1) .91s both;
}
body.site-revealed .hero .hero-title-accent{
  display:inline-block;
  animation:hero-word-blur-in 1s cubic-bezier(.16,.8,.24,1) 1.13s both,rb-shiny-text 6.8s ease-in-out 2.2s infinite;
}
body.site-revealed .hero .hero-content>.lede{
  animation:hero-copy-rise .76s cubic-bezier(.2,.75,.2,1) 1.42s both;
}
body.site-revealed .hero .hero-content>.btn-row{
  animation:hero-copy-rise .76s cubic-bezier(.2,.75,.2,1) 1.72s both;
}
body.site-revealed .hero .hero-content>.hero-note{
  animation:hero-copy-rise .76s cubic-bezier(.2,.75,.2,1) 2.02s both;
}
body.site-revealed .hero .hero-scroll{
  animation:hero-copy-rise .7s ease 2.2s both;
}
@keyframes hero-copy-rise{
  0%{opacity:0;transform:translate3d(0,24px,0);filter:blur(7px)}
  100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
}
@keyframes hero-word-blur-in{
  0%{opacity:0;transform:translate3d(0,28px,0) scale(.98);filter:blur(11px)}
  68%{opacity:1;filter:blur(0)}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
}

/* Inner-page hero images and copy enter in the same restrained sequence. */
body.site-revealed .page-hero-media img{
  animation:hero-stage-pop 1.25s cubic-bezier(.18,.78,.19,1) .1s both;
  will-change:opacity,transform;
}
body.site-revealed .page-hero .breadcrumb{animation:hero-copy-rise .6s ease .42s both}
body.site-revealed .page-hero .eyebrow{animation:hero-copy-rise .66s ease .54s both}
body.site-revealed .page-hero h1{animation:hero-copy-rise .88s cubic-bezier(.16,.8,.24,1) .72s both}
body.site-revealed .page-hero .lede{animation:hero-copy-rise .72s ease 1.02s both}
body.site-revealed .page-hero .btn-row{animation:hero-copy-rise .72s ease 1.24s both}

/* Mobile placement: keep the crest visible above the title, without covering the text. */
@media(max-width:760px){
  .hero-brand-crest{
    left:16px;top:13px;width:clamp(74px,19vw,104px);max-height:88px;
    object-position:left top;
  }
  .hero-content{padding-top:clamp(112px,25vw,145px)!important}
  .hero .hero-title-primary,.hero .hero-title-accent{overflow-wrap:normal}
  body.site-revealed .hero .hero-media img{animation-duration:1.15s}
  body.site-revealed .hero .hero-brand-crest{animation-delay:.28s}
  body.site-revealed .hero .hero-content>.eyebrow{animation-delay:.5s}
  body.site-revealed .hero .hero-content>h1{animation-delay:.72s}
  body.site-revealed .hero .hero-title-primary{animation-delay:.78s}
  body.site-revealed .hero .hero-title-accent{animation-delay:.98s,2.2s}
  body.site-revealed .hero .hero-content>.lede{animation-delay:1.28s}
  body.site-revealed .hero .hero-content>.btn-row{animation-delay:1.55s}
  body.site-revealed .hero .hero-content>.hero-note{animation-delay:1.8s}
}
@media(max-width:420px){
  .hero-brand-crest{left:14px;top:11px;width:74px;max-height:76px}
  .hero-content{padding-top:100px!important}
}

/* Honor explicit motion reduction while keeping the complete hero visible. */
@media(prefers-reduced-motion:reduce){
  body:not(.site-revealed):before{opacity:1}
  body.site-revealed:before{animation:none!important;opacity:1}
  body.site-revealed .hero .hero-media img,
  body.site-revealed .hero .hero-brand-crest,
  body.site-revealed .hero .hero-content>.eyebrow,
  body.site-revealed .hero .hero-content>h1,
  body.site-revealed .hero .hero-title-primary,
  body.site-revealed .hero .hero-title-accent,
  body.site-revealed .hero .hero-content>.lede,
  body.site-revealed .hero .hero-content>.btn-row,
  body.site-revealed .hero .hero-content>.hero-note,
  body.site-revealed .hero .hero-scroll,
  body.site-revealed .page-hero-media img,
  body.site-revealed .page-hero .breadcrumb,
  body.site-revealed .page-hero .eyebrow,
  body.site-revealed .page-hero h1,
  body.site-revealed .page-hero .lede,
  body.site-revealed .page-hero .btn-row{
    animation:none!important;opacity:1!important;transform:none!important;filter:none!important;will-change:auto!important;
  }
}


/* Keep the gold CTA reflections synchronized with the delayed hero reveal. */
body:not(.site-revealed) .hero .btn:before{animation:none!important;opacity:0}
body.site-revealed .hero .hero-content>.btn-row .btn:nth-child(1){
  animation:hero-copy-rise .7s cubic-bezier(.2,.75,.2,1) 1.82s both;
}
body.site-revealed .hero .hero-content>.btn-row .btn:nth-child(2){
  animation:hero-copy-rise .7s cubic-bezier(.2,.75,.2,1) 2.03s both;
}
body.site-revealed .hero .hero-content>.btn-row .btn:nth-child(1):before{
  animation:luxury-button-sheen 5.2s cubic-bezier(.43,0,.23,1) 2.25s infinite;
}
body.site-revealed .hero .hero-content>.btn-row .btn:nth-child(2):before{
  animation:luxury-button-sheen 5.2s cubic-bezier(.43,0,.23,1) 2.5s infinite;
}
@media(max-width:760px){
  body.site-revealed .hero .hero-content>.btn-row .btn:nth-child(1){animation-delay:1.55s}
  body.site-revealed .hero .hero-content>.btn-row .btn:nth-child(2){animation-delay:1.72s}
  body.site-revealed .hero .hero-content>.btn-row .btn:nth-child(1):before{animation-delay:1.85s}
  body.site-revealed .hero .hero-content>.btn-row .btn:nth-child(2):before{animation-delay:2.05s}
}
@media(prefers-reduced-motion:reduce){
  body:not(.site-revealed) .hero .btn:before{animation:none!important;opacity:1}
}


/* ================= ROYAL LUXURY RESPONSIVE PASS ================= */
:root{
  --royal-gold:#e0b75e;
  --royal-gold-light:#fff0bc;
  --royal-ink:#07090c;
  --royal-panel:#11151b;
}

/* Move the oversized crest to the very left of the hero and reserve a separate text lane. */
.hero-brand-crest{
  left:clamp(12px,1.2vw,22px)!important;
  top:50%!important;
  width:clamp(165px,17vw,265px)!important;
  height:auto!important;max-height:58%!important;
  object-fit:contain;
  transform:translate3d(0,-50%,0) scale(.82);
  transform-origin:center;
  filter:drop-shadow(0 12px 25px rgba(0,0,0,.5)) drop-shadow(0 0 18px rgba(230,197,116,.22));
}
.hero-content{
  width:min(100%,1400px)!important;
  max-width:none!important;
  margin-left:auto!important;margin-right:auto!important;
  padding-left:clamp(170px,18vw,286px)!important;
  padding-right:clamp(22px,4vw,64px)!important;
  box-sizing:border-box;
}
.hero{min-height:clamp(560px,76svh,820px)!important;background:#050608}
.hero:after{
  background:
    linear-gradient(90deg,rgba(0,0,0,.89) 0%,rgba(0,0,0,.77) 18%,rgba(0,0,0,.48) 36%,rgba(0,0,0,.18) 56%,rgba(0,0,0,.025) 78%,rgba(0,0,0,0) 100%),
    linear-gradient(0deg,rgba(0,0,0,.32),transparent 46%);
}
.hero-content{z-index:4;text-shadow:0 2px 22px rgba(0,0,0,.32)}
.hero h1,.hero .lede,.hero .eyebrow{ text-shadow:0 2px 16px rgba(0,0,0,.48)}
.hero .lede{color:rgba(255,252,243,.94)!important}
.hero-slideshow [data-hero-slide]{
  position:absolute;inset:0;display:block;width:100%;height:100%;
  object-fit:cover;object-position:center 48%;
  opacity:0;transform:scale(1.035);
  transition:opacity 1.1s ease,transform 5.8s cubic-bezier(.2,.65,.25,1),filter 1s ease;
  will-change:opacity,transform;
}
.hero-slideshow [data-hero-slide].is-active{opacity:1;transform:scale(1);z-index:1}
body.site-revealed .hero-slideshow [data-hero-slide]{animation:none!important}
body.site-revealed .hero-slideshow [data-hero-slide]:not(.is-active){opacity:0!important}
body.site-revealed .hero-slideshow [data-hero-slide].is-active{opacity:1!important}
.hero-slideshow-controls{
  position:absolute;z-index:6;right:clamp(18px,4vw,56px);bottom:25px;
  display:flex;gap:9px;align-items:center;padding:8px 12px;
  border:1px solid rgba(255,230,170,.3);border-radius:999px;
  background:rgba(5,6,8,.4);backdrop-filter:blur(8px);
}
.hero-slide-dot{
  appearance:none;width:7px;height:7px;min-width:7px;padding:0;border:0;border-radius:50%;
  background:rgba(255,247,222,.5);cursor:pointer;
  transition:width .3s ease,background .3s ease,box-shadow .3s ease,transform .3s ease;
}
.hero-slide-dot.is-active{width:24px;border-radius:99px;background:var(--royal-gold-light);box-shadow:0 0 13px rgba(255,242,196,.48)}
.hero-slide-dot:focus-visible{outline:2px solid white;outline-offset:4px}

/* Booking panel: a distinct, legible dark-gold section on every device. */
.quick-search{
  margin-top:-20px!important;padding:clamp(30px,4vw,54px) 0!important;
  background:
    radial-gradient(ellipse at 82% 15%,rgba(211,166,76,.14),transparent 38%),
    linear-gradient(135deg,rgba(5,7,10,.98),rgba(17,20,25,.97) 55%,rgba(5,7,10,.98))!important;
  border-top:1px solid rgba(235,198,112,.36);
  border-bottom:1px solid rgba(235,198,112,.26);
}
.quick-search>.container{position:relative;z-index:2}
.booking-intro{gap:clamp(18px,3vw,48px);align-items:end}
.booking-intro h2{color:#fff2c9!important}
.booking-intro p{color:#eee5d1!important}
.booking-steps{gap:10px}
.booking-step{
  background:rgba(245,232,199,.96)!important;color:#252016!important;
  border:1px solid rgba(255,243,205,.92)!important;
  box-shadow:0 7px 22px rgba(0,0,0,.22);
}
.booking-step strong,.booking-step span{color:#292316!important}
.search-panel{
  position:relative;isolation:isolate;
  background:linear-gradient(145deg,rgba(20,24,30,.98),rgba(7,9,12,.99))!important;
  border:1px solid rgba(230,191,99,.78)!important;
  border-radius:18px!important;padding:clamp(18px,2.1vw,28px)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.44),0 0 0 1px rgba(230,191,99,.08),inset 0 1px 0 rgba(255,255,255,.07)!important;
}
.search-panel:before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;
  background:linear-gradient(115deg,rgba(255,255,255,.045),transparent 33%,rgba(225,181,88,.035) 70%,transparent);
}
.search-panel .field{padding:10px 12px 12px;border-radius:10px;background:rgba(255,255,255,.035);border:1px solid rgba(230,191,99,.15)}
.search-panel .field label,.form-panel .field label{color:#f3d991!important;letter-spacing:.1em;font-weight:800}
.search-panel .field input,.search-panel .field select,.search-panel .field textarea{
  min-height:48px;padding:10px 9px!important;
  color:#fffaf0!important;background:rgba(4,6,9,.82)!important;
  border:1px solid rgba(235,201,125,.32)!important;border-radius:7px!important;
  font-size:16px!important;outline:none;
}
.search-panel .field input:focus,.search-panel .field select:focus,.search-panel .field textarea:focus{
  border-color:#fff0b8!important;box-shadow:0 0 0 3px rgba(224,183,94,.14),0 0 22px rgba(224,183,94,.12)!important;
}
.search-panel .field select option{background:#11151a!important;color:#fff8e9!important}
.search-panel .field input[type="date"]{
  color-scheme:dark;accent-color:#e0b75e;min-height:50px;
  padding-right:11px!important;cursor:pointer;
}
.search-panel .field input[type="date"]::-webkit-calendar-picker-indicator{
  display:block;opacity:1;visibility:visible;cursor:pointer;
  width:23px;height:23px;padding:3px;margin-left:7px;
  filter:invert(87%) sepia(39%) saturate(548%) hue-rotate(350deg) brightness(105%) contrast(95%);
  background-color:rgba(224,183,94,.15);border:1px solid rgba(255,235,179,.44);border-radius:6px;
}
.search-panel .field input[type="date"]::-webkit-inner-spin-button,
.search-panel .field input[type="date"]::-webkit-clear-button{display:none}
.search-panel .field:has(input[type="date"]){border-color:rgba(230,191,99,.44);background:rgba(224,183,94,.07)}
.search-panel .search-note{color:#d0c7b4!important;line-height:1.65}
.search-panel .btn-booking-primary{min-height:54px;align-self:stretch}
.search-panel .field.fx-date-glow input[type="date"]::-webkit-calendar-picker-indicator{animation:fx-date-icon-breathe 2.8s ease-in-out infinite}

/* 42 coordinated effect families. React Bits-inspired, native CSS/JS, no heavy shader bundle. */
.fx-heading-sweep{background-image:linear-gradient(100deg,#d9b25e,#fff1bf 40%,#e0b75e 60%,#f8e7b4);background-size:220% 100%;background-clip:text;-webkit-background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;animation:fx-heading-sweep 7s ease-in-out infinite}
@keyframes fx-heading-sweep{0%,12%{background-position:100% 50%}70%,100%{background-position:-120% 50%}}
.fx-heading-glow{animation:fx-heading-glow 4.4s ease-in-out infinite}
@keyframes fx-heading-glow{0%,100%{text-shadow:0 0 5px rgba(255,246,216,.04)}50%{text-shadow:0 0 18px rgba(255,244,208,.18),0 0 30px rgba(224,183,94,.16)}}
.fx-heading-line{position:relative;width:max-content;max-width:100%}
.fx-heading-line:after{content:"";display:block;height:1px;width:100%;margin-top:9px;background:linear-gradient(90deg,transparent,#fff0bc,#c39338,transparent);transform:scaleX(0);transform-origin:left;transition:transform .8s ease}
.fx-heading-line.is-motion-visible:after{transform:scaleX(1)}
.fx-text-rise{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.2,1)}
.fx-text-rise.is-motion-visible{opacity:1;transform:translateY(0)}
.fx-text-blur{filter:blur(5px);transition:filter .8s ease}
.fx-text-blur.is-motion-visible{filter:blur(0)}
.fx-text-shimmer{animation:rb-shiny-text 6.8s ease-in-out infinite}
.fx-button-sheen:before{animation:luxury-button-sheen 5.2s cubic-bezier(.43,0,.23,1) infinite}
.fx-button-pulse{animation:fx-button-pulse 3.5s ease-in-out infinite}
@keyframes fx-button-pulse{0%,100%{box-shadow:0 7px 22px rgba(0,0,0,.22),0 0 0 rgba(255,244,205,0)}50%{box-shadow:0 9px 28px rgba(0,0,0,.26),0 0 0 4px rgba(255,244,205,.055),0 0 18px rgba(224,183,94,.13)}}
.fx-button-arrow span,.fx-button-arrow .arrow{display:inline-block;transition:transform .3s cubic-bezier(.2,.75,.2,1)}
.fx-button-arrow:hover span,.fx-button-arrow:hover .arrow{transform:translate(3px,-2px)}
.fx-button-border{border:1px solid transparent;background-clip:padding-box;box-shadow:inset 0 0 0 1px rgba(255,241,192,.2)}
.fx-button-lift{transition:transform .28s ease,box-shadow .28s ease,filter .28s ease}
.fx-button-lift:hover{transform:translateY(-3px);filter:brightness(1.08)}
.fx-button-press:active{transform:scale(.975)!important;filter:brightness(1.12)}
.fx-nav-sweep{position:relative}
.fx-nav-sweep:after{content:"";position:absolute;height:1px;bottom:3px;left:0;right:0;background:linear-gradient(90deg,transparent,#fff0bc,#d0a347,transparent);transform:scaleX(0);transform-origin:center;transition:transform .3s ease}
.fx-nav-sweep:hover:after,.fx-nav-sweep[aria-current="page"]:after{transform:scaleX(1)}
.fx-nav-glint:hover{color:#fff0bc!important;text-shadow:0 0 13px rgba(255,241,192,.28)}
.fx-card-glare:before{opacity:0}
.fx-card-glare:hover:before{opacity:1}
.fx-card-tilt{transform-style:preserve-3d}
.fx-card-float.is-motion-visible{animation:luxury-card-float 8s ease-in-out infinite}
.fx-card-border{border:1px solid rgba(224,183,94,.34);transition:border-color .3s ease,box-shadow .3s ease}
.fx-card-border:hover{border-color:rgba(255,240,188,.88);box-shadow:0 0 26px rgba(224,183,94,.14)}
.fx-card-lift{transition:transform .35s cubic-bezier(.2,.75,.2,1),box-shadow .35s ease}
.fx-card-lift:hover{transform:translateY(-5px)}
.fx-image-zoom img{transition:transform .8s cubic-bezier(.2,.75,.15,1),filter .5s ease}
.fx-image-zoom:hover img{transform:scale(1.055);filter:brightness(1.08)}
.fx-image-pan img{transition:transform 1.2s cubic-bezier(.2,.75,.15,1)}
.fx-image-pan:hover img{transform:scale(1.04) translateX(-1.5%)}
.fx-image-wipe{clip-path:inset(0 0 0 0);transition:clip-path .9s cubic-bezier(.2,.75,.15,1)}
.js-motion-enabled .fx-image-wipe:not(.is-motion-visible){clip-path:inset(0 0 100% 0)}
.fx-image-caption figcaption,.fx-image-caption .gallery-item-caption{opacity:.72;transform:translateY(4px);transition:opacity .3s ease,transform .3s ease}
.fx-image-caption:hover figcaption,.fx-image-caption:hover .gallery-item-caption{opacity:1;transform:translateY(0)}
.fx-scroll-reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.75,.15,1)}
.fx-scroll-reveal.is-motion-visible{opacity:1;transform:translateY(0)}
.fx-scroll-left{opacity:0;transform:translateX(-24px);transition:opacity .75s ease,transform .8s cubic-bezier(.2,.75,.15,1)}
.fx-scroll-left.is-motion-visible{opacity:1;transform:translateX(0)}
.fx-scroll-right{opacity:0;transform:translateX(24px);transition:opacity .75s ease,transform .8s cubic-bezier(.2,.75,.15,1)}
.fx-scroll-right.is-motion-visible{opacity:1;transform:translateX(0)}
.fx-scroll-blur{filter:blur(7px);opacity:.5;transition:filter .8s ease,opacity .8s ease}
.fx-scroll-blur.is-motion-visible{filter:blur(0);opacity:1}
.fx-scroll-scale{opacity:0;transform:scale(.965);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.75,.15,1)}
.fx-scroll-scale.is-motion-visible{opacity:1;transform:scale(1)}
.fx-form-focus:focus-within{border-color:#fff0bc!important;box-shadow:0 0 0 3px rgba(224,183,94,.13),0 0 22px rgba(224,183,94,.1)}
.fx-date-glow{position:relative}
.fx-date-glow:focus-within{animation:luxury-select-pulse 2.4s ease-in-out infinite}
@keyframes fx-date-icon-breathe{0%,100%{filter:invert(87%) sepia(39%) saturate(548%) hue-rotate(350deg) brightness(1) contrast(95%)}50%{filter:invert(100%) sepia(12%) saturate(320%) hue-rotate(350deg) brightness(1.3) contrast(100%)}}
.fx-select-lift:focus-within{transform:translateY(-2px)}
.fx-panel-glow{position:relative}
.fx-panel-glow:focus-within,.fx-panel-glow:hover{box-shadow:0 24px 70px rgba(0,0,0,.44),0 0 0 1px rgba(255,240,188,.14),0 0 28px rgba(224,183,94,.14)!important}
.fx-separator-shimmer{position:relative;overflow:hidden}
.fx-separator-shimmer:after{content:"";display:block;height:1px;margin-top:12px;background:linear-gradient(90deg,transparent,#d0a347,#fff4d3,#d0a347,transparent);background-size:200% 100%;animation:fx-separator-move 6s linear infinite}
@keyframes fx-separator-move{to{background-position:200% 0}}
.fx-gallery-progress{height:2px;overflow:hidden;background:rgba(235,210,157,.18);border-radius:9px}
.fx-gallery-progress>span{display:block;width:0;height:100%;background:linear-gradient(90deg,#bb8732,#fff0bc,#d7ad50);box-shadow:0 0 13px rgba(255,240,188,.35)}
.fx-gallery-parallax img{transition:transform .8s cubic-bezier(.2,.75,.15,1)}
.fx-gallery-parallax:hover img{transform:scale(1.04) translateX(-1%)}
.fx-gallery-center{transform:scale(1.025);border-color:rgba(255,240,188,.82)!important;box-shadow:0 22px 54px rgba(0,0,0,.42),0 0 20px rgba(224,183,94,.15)}
.fx-review-reveal{opacity:0;transform:translateY(12px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.75,.15,1)}
.fx-review-reveal.is-motion-visible{opacity:1;transform:translateY(0)}
.fx-footer-sweep{position:relative;width:max-content;max-width:100%}
.fx-footer-sweep:after{content:"";position:absolute;bottom:-3px;left:0;right:0;height:1px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#b98736,#fff0bc);transition:transform .28s ease}
.fx-footer-sweep:hover:after{transform:scaleX(1)}
.fx-map-glint{position:relative;overflow:hidden}
.fx-map-glint:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgba(255,246,212,.12) 49%,transparent 63%);background-size:220% 100%;animation:fx-map-glint 9s ease-in-out infinite}
@keyframes fx-map-glint{0%,100%{background-position:180% 0}45%{background-position:-120% 0}}
.fx-background-ambient{animation:floral-edge-breathe 28s ease-in-out infinite alternate}
.fx-hero-crossfade{transition:opacity 1.1s ease,transform 5.8s cubic-bezier(.2,.65,.25,1)}
.fx-logo-pop{animation:hero-crest-arrive-left 1.05s cubic-bezier(.16,.8,.24,1) .38s both}
@keyframes hero-crest-arrive-left{
  0%{opacity:0;transform:translate3d(0,-50%,0) scale(.76);filter:blur(9px)}
  70%{opacity:1;transform:translate3d(0,-50%,0) scale(1.035);filter:blur(0)}
  100%{opacity:1;transform:translate3d(0,-50%,0) scale(1);filter:blur(0)}
}
body.site-revealed .hero .hero-brand-crest{animation:hero-crest-arrive-left 1.05s cubic-bezier(.16,.8,.24,1) .38s both!important}

/* Mobile: keep the crest at the upper-left, title clear, booking controls thumb-friendly. */
@media(max-width:760px){
  .hero{min-height:clamp(610px,calc(100dvh - 64px),790px)!important}
  .hero-content{
    width:calc(100% - 28px)!important;max-width:none!important;
    padding:clamp(125px,29vw,160px) 0 64px!important;
    margin-inline:auto!important;
  }
  .hero-brand-crest{
    left:12px!important;top:13px!important;width:clamp(76px,20vw,104px)!important;
    max-height:100px!important;transform:scale(.82);object-position:left top;
  }
  body.site-revealed .hero .hero-brand-crest{animation:hero-crest-arrive-mobile .95s cubic-bezier(.16,.8,.24,1) .38s both!important}
  @keyframes hero-crest-arrive-mobile{
    from{opacity:0;transform:translateY(12px) scale(.78);filter:blur(7px)}
    to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
  }
  .hero:after{
    background:
      linear-gradient(180deg,rgba(0,0,0,.64) 0%,rgba(0,0,0,.6) 20%,rgba(0,0,0,.36) 48%,rgba(0,0,0,.08) 78%,rgba(0,0,0,.17) 100%),
      linear-gradient(90deg,rgba(0,0,0,.43),transparent);
  }
  .hero-slideshow-controls{right:15px;bottom:16px;padding:7px 10px;gap:8px}
  .hero-slide-dot{width:8px;height:8px;min-width:8px}
  .hero-slide-dot.is-active{width:22px}
  .quick-search{margin-top:0!important;padding:27px 0 34px!important}
  .booking-intro{margin-bottom:16px}
  .search-panel{padding:14px!important;gap:12px!important}
  .search-panel .field{padding:9px 10px 11px}
  .search-panel .field input,.search-panel .field select{min-height:50px}
}
@media(max-width:420px){
  .hero{min-height:clamp(590px,calc(100dvh - 62px),730px)!important}
  .hero-content{padding-top:115px!important}
  .hero-brand-crest{width:76px!important;left:10px!important;top:12px!important}
  .hero h1{font-size:clamp(2.3rem,10vw,2.8rem)}
}
@media(prefers-reduced-motion:reduce){
  .fx-heading-sweep,.fx-heading-glow,.fx-text-shimmer,.fx-button-pulse,.fx-card-float.is-motion-visible,.fx-separator-shimmer:after,.fx-map-glint:after,.fx-background-ambient,.fx-logo-pop{animation:none!important}
  .fx-text-rise,.fx-text-blur,.fx-scroll-reveal,.fx-scroll-left,.fx-scroll-right,.fx-scroll-blur,.fx-scroll-scale,.fx-review-reveal{opacity:1!important;filter:none!important;transform:none!important;transition:none!important}
  .hero-slideshow [data-hero-slide]{transition:none!important}
}


/* Replace the old orbit with a cleaner React Bits-inspired parallax coverflow carousel. */
.gallery-carousel-showcase{
  --carousel-gold:#e4bd67;
  margin:12px 0 34px;padding:clamp(21px,3vw,34px) 0 19px;
  background:linear-gradient(180deg,rgba(5,6,8,.19),rgba(5,6,8,.08));
  border-top:1px solid rgba(228,189,103,.25);
  border-bottom:1px solid rgba(228,189,103,.25);
  overflow:hidden;
}
.gallery-carousel-heading{text-align:center;max-width:720px;padding:0 18px;margin:0 auto 12px}
.gallery-carousel-heading h2{font-size:clamp(1.9rem,4vw,3.1rem);margin:8px 0;color:#fff0c8}
.gallery-carousel-heading p{color:#dfd4bf;font-size:.86rem;line-height:1.7;margin:0 auto}
.gallery-carousel{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:9px;align-items:center;max-width:1300px;margin:0 auto}
.gallery-carousel-viewport{min-width:0;position:relative;overflow:hidden;outline:none;touch-action:pan-y;perspective:1200px}
.gallery-carousel-viewport:focus-visible{outline:2px solid #fff0bc;outline-offset:-3px;border-radius:14px}
.gallery-carousel-stage{position:relative;height:clamp(330px,43vw,520px);overflow:hidden;isolation:isolate}
.gallery-carousel-card{
  position:absolute;left:50%;top:50%;display:block;
  width:clamp(200px,23vw,288px);aspect-ratio:3/4;height:auto;padding:0;overflow:hidden;
  border:1px solid rgba(255,231,174,.62);border-radius:14px;background:#07080a;color:#fff3d1;
  box-shadow:0 20px 55px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.08);
  transform-origin:center;cursor:pointer;backface-visibility:hidden;
  transition:transform .85s cubic-bezier(.2,.78,.18,1),opacity .7s ease,filter .7s ease,box-shadow .4s ease,border-color .4s ease;
  will-change:transform,opacity;user-select:none;-webkit-user-select:none;
}
.gallery-carousel-card img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;-webkit-user-drag:none;transition:transform 1.1s cubic-bezier(.2,.75,.15,1),filter .6s ease}
.gallery-carousel-card:after{content:"";position:absolute;inset:35% 0 0;pointer-events:none;background:linear-gradient(transparent,rgba(0,0,0,.82))}
.gallery-carousel-card .gallery-carousel-label{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:35px 13px 14px;text-align:left;font:500 clamp(.88rem,1.2vw,1rem)/1.35 var(--serif);text-shadow:0 2px 12px rgba(0,0,0,.8);transition:transform .4s ease,opacity .4s ease}
.gallery-carousel-card .gallery-carousel-count{position:absolute;z-index:2;top:10px;left:11px;padding:5px 8px;border-radius:999px;border:1px solid rgba(255,239,198,.5);background:rgba(4,5,7,.55);font:700 .59rem var(--sans);letter-spacing:.09em;color:#fff0bc}
.gallery-carousel-card.is-centre{border-color:rgba(255,240,188,.96);box-shadow:0 26px 65px rgba(0,0,0,.48),0 0 26px rgba(224,183,94,.17)}
.gallery-carousel-card.is-centre:hover img{transform:scale(1.035);filter:brightness(1.045)}
.gallery-carousel-card:not(.is-centre) .gallery-carousel-label{opacity:.82}
.gallery-carousel-nav{
  display:grid;place-items:center;width:42px;height:42px;padding:0;border-radius:50%;
  border:1px solid rgba(228,189,103,.64);background:rgba(5,6,8,.83);color:#f6df9c;
  font:400 2rem/1 var(--sans);cursor:pointer;
  transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.gallery-carousel-nav:hover{background:#e0b75e;color:#15120b;transform:scale(1.06);box-shadow:0 0 18px rgba(224,183,94,.18)}
.gallery-carousel-nav:focus-visible{outline:2px solid #fff0bc;outline-offset:4px}
.gallery-carousel-info{display:flex;align-items:center;justify-content:space-between;max-width:790px;margin:0 auto;padding:0 18px;gap:15px}
.gallery-carousel-caption{margin:0;color:#fff0c8;font:500 1.05rem var(--serif);text-align:center}
.gallery-carousel-counter{flex:none;color:#dfbd70;font:700 .68rem var(--sans);letter-spacing:.13em}
.gallery-carousel-progress{height:2px;max-width:790px;margin:14px auto 0;overflow:hidden;border-radius:99px;background:rgba(230,195,121,.18)}
.gallery-carousel-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,#a97828,#fff0bc,#d8a84a);box-shadow:0 0 12px rgba(255,240,188,.3)}
.gallery-carousel-progress.is-running span{animation:gallery-progress-run 4.8s linear forwards}
.gallery-carousel-showcase.is-paused .gallery-carousel-progress span{animation-play-state:paused}
@keyframes gallery-progress-run{from{width:0}to{width:100%}}
.gallery-carousel-showcase.is-moving .gallery-carousel-card{pointer-events:none}
@media(max-width:760px){
  .gallery-carousel-showcase{margin:0 -13px 27px;padding:22px 2px 17px}
  .gallery-carousel-heading{padding:0 14px}
  .gallery-carousel-heading h2{font-size:clamp(1.8rem,7vw,2.45rem)}
  .gallery-carousel-heading p{font-size:.78rem;line-height:1.62}
  .gallery-carousel{grid-template-columns:34px minmax(0,1fr) 34px;gap:0}
  .gallery-carousel-stage{height:clamp(280px,83vw,370px)}
  .gallery-carousel-card{width:clamp(122px,39vw,164px);border-radius:10px}
  .gallery-carousel-card .gallery-carousel-label{padding:30px 9px 10px;font-size:.78rem}
  .gallery-carousel-card .gallery-carousel-count{top:7px;left:7px;padding:4px 6px;font-size:.53rem}
  .gallery-carousel-nav{width:31px;height:31px;font-size:1.4rem}
  .gallery-carousel-info{padding:0 14px;gap:9px}
  .gallery-carousel-caption{font-size:.88rem}
  .gallery-carousel-counter{font-size:.59rem}
  .gallery-carousel-progress{margin:12px 13px 0}
}
@media(max-width:420px){
  .gallery-carousel{grid-template-columns:28px minmax(0,1fr) 28px}
  .gallery-carousel-nav{width:26px;height:26px;font-size:1.15rem}
  .gallery-carousel-stage{height:280px}
  .gallery-carousel-card{width:120px}
}


/* Final interaction polish: attach ambient motion to the floral layer only. */
body.fx-background-ambient{animation:none!important}
body.fx-background-ambient:before{animation:floral-edge-breathe 28s ease-in-out infinite alternate}
.fx-image-caption:hover .gallery-caption{opacity:1;transform:translateY(0)}
.gallery-carousel-card.fx-gallery-center{
  border-color:rgba(255,240,188,.96);
  box-shadow:0 26px 65px rgba(0,0,0,.48),0 0 26px rgba(224,183,94,.17);
}
.gallery-carousel-card.fx-gallery-center img{filter:brightness(1.03)}
.form-panel .field input[type="date"]{
  color-scheme:dark;accent-color:#e0b75e;min-height:50px;width:100%;
  color:#fffaf0;background:rgba(4,6,9,.82);border:1px solid rgba(235,201,125,.32);
  border-radius:7px;padding:10px 9px;
}
.form-panel .field input[type="date"]::-webkit-calendar-picker-indicator{
  display:block;opacity:1;visibility:visible;cursor:pointer;width:23px;height:23px;padding:3px;
  filter:invert(87%) sepia(39%) saturate(548%) hue-rotate(350deg) brightness(105%) contrast(95%);
  background-color:rgba(224,183,94,.15);border:1px solid rgba(255,235,179,.44);border-radius:6px;
}
@media(max-width:760px){
  .hero-slideshow-controls{right:14px;bottom:14px}
  .hero-brand-crest{max-width:calc(100vw - 24px)}
  .search-panel .field input[type="date"],.form-panel .field input[type="date"]{font-size:16px!important}
  .gallery-carousel-card.fx-gallery-center{box-shadow:0 17px 35px rgba(0,0,0,.43),0 0 18px rgba(224,183,94,.15)}
}


/* Final entrance timing: do not let the crest's animation finish behind the intro veil. */
.hero-brand-crest.fx-logo-pop{animation:none!important;opacity:0}
body.site-revealed .hero .hero-brand-crest.fx-logo-pop{
  animation:hero-crest-arrive-left 1.05s cubic-bezier(.16,.8,.24,1) .38s both!important;
}
@media(max-width:760px){
  body.site-revealed .hero .hero-brand-crest.fx-logo-pop{
    animation:hero-crest-arrive-mobile .95s cubic-bezier(.16,.8,.24,1) .38s both!important;
  }
}
.hero-content{padding-left:clamp(190px,22vw,350px)!important}
@media(max-width:760px){.hero-content{padding-left:0!important}}
@media(prefers-reduced-motion:reduce){
  .hero-brand-crest.fx-logo-pop{animation:none!important;opacity:1!important;transform:translateY(-50%) scale(1)!important}
  .gallery-carousel-card{transition:none!important}
}
@media(max-width:760px) and (prefers-reduced-motion:reduce){
  .hero-brand-crest.fx-logo-pop{transform:none!important}
}


/* Keep banquet photography luminous on the right, with the dark fade focused on text/logo at left. */
.hero-slideshow [data-hero-slide]{filter:brightness(.86) saturate(1.04) contrast(1.03)!important}
body.site-revealed .hero-slideshow [data-hero-slide].is-active{
  animation:hero-stage-pop 1.3s cubic-bezier(.18,.78,.19,1) .08s both!important;
}
@media(max-width:760px){
  .hero-slideshow [data-hero-slide]{filter:brightness(.8) saturate(1.03) contrast(1.03)!important}
}


/* ================= REACT BITS-INSPIRED GOOEY NAV ================= */
.royal-gooey-svg{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.site-header .container.nav{
  width:calc(100% - 30px)!important;max-width:1760px!important;
  margin-left:15px!important;margin-right:15px!important;
}
.site-header .brand{flex:0 0 auto;margin-right:clamp(8px,1.4vw,24px);justify-content:flex-start}
.site-header .brand-logo{
  display:block;width:var(--cms-logo-width, clamp(74px,7vw,106px))!important;
  height:var(--cms-logo-height, clamp(52px,5.4vw,68px))!important;max-width:none!important;
  object-fit:contain;object-position:left center;
}
.nav-links{
  position:relative;isolation:isolate;flex:0 1 auto;
  gap:clamp(7px,1.25vw,19px);
}
.nav-links>a{position:relative;z-index:2;padding:10px clamp(7px,.95vw,14px);white-space:nowrap;transition:color .24s ease,text-shadow .24s ease}
.nav-links.gooey-nav-ready>a:after{opacity:0!important}
.gooey-nav-layer{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  opacity:0;filter:url(#royal-gooey-filter);
  transition:opacity .25s ease;
}
.gooey-nav-layer.is-visible{opacity:1}
.gooey-nav-blob,.gooey-nav-tail{
  position:absolute;top:50%;display:block;pointer-events:none;border-radius:999px;
  background:linear-gradient(120deg,#f8e4aa 0%,#d3a64c 43%,#fff0bc 100%);
  box-shadow:0 4px 16px rgba(207,163,70,.23),inset 0 1px 0 rgba(255,255,255,.62);
  transform:translateY(-50%);
  will-change:left,width;
}
.gooey-nav-blob{
  left:0;height:36px;width:var(--goo-width,60px);
  transition:left .62s cubic-bezier(.22,.8,.18,1),width .34s ease;
}
.gooey-nav-tail{
  left:0;height:27px;width:32px;opacity:.76;
  transition:left .8s cubic-bezier(.16,1,.3,1),width .42s ease;
}
.nav-links.gooey-nav-ready>a.gooey-active,
.nav-links.gooey-nav-ready>a[aria-current=page]{
  color:#171106!important;font-weight:800;
  text-shadow:0 1px rgba(255,255,255,.22);
}
.nav-links.gooey-nav-ready>a:hover{color:#fff0bc}
.nav-links.gooey-nav-ready>a.gooey-active:hover{color:#171106!important}
@media(max-width:1100px) and (min-width:761px){
  .site-header .container.nav{width:calc(100% - 24px)!important;margin-inline:12px!important;gap:9px}
  .site-header .brand{margin-right:4px}
  .site-header .brand-logo{width:76px!important;height:52px!important}
  .nav-links{gap:4px;font-size:.68rem}
  .nav-links>a{padding-inline:6px}
  .gooey-nav-blob{height:33px}
}
@media(max-width:760px){
  .site-header .container.nav{width:calc(100% - 20px)!important;margin-inline:10px!important}
  .site-header .brand{margin-right:auto;min-width:0}
  .site-header .brand-logo{width:70px!important;height:48px!important}
  .nav-links{isolation:auto}
  .gooey-nav-layer{display:none!important}
  .nav-links.gooey-nav-ready>a.gooey-active,
  .nav-links.gooey-nav-ready>a[aria-current=page]{color:#fff0bc!important;text-shadow:none}
}

/* Hero framing: stage stays fully visible on the right while only the copy side fades. */
.hero-slideshow [data-hero-slide]:first-child{object-position:center 63%!important}
.hero-slideshow [data-hero-slide]:nth-child(2){object-position:center 58%!important}
.hero-slideshow [data-hero-slide]:nth-child(3){object-position:center 54%!important}
.hero:after{
  background:
    linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.72) 20%,rgba(0,0,0,.49) 37%,rgba(0,0,0,.22) 54%,rgba(0,0,0,.035) 76%,transparent 100%),
    linear-gradient(0deg,rgba(0,0,0,.22),transparent 48%);
}
.hero-content{isolation:isolate}
.hero-content:before{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  top:-72px;bottom:-72px;left:clamp(-220px,-13vw,-135px);right:23%;
  background:linear-gradient(90deg,rgba(0,0,0,.52) 0%,rgba(0,0,0,.43) 58%,rgba(0,0,0,.16) 82%,transparent 100%);
  filter:blur(12px);border-radius:24px;
}
.hero-brand-crest{
  left:14px!important;top:14px!important;
  width:clamp(112px,10.5vw,165px)!important;height:auto!important;
  max-height:36%!important;transform:none!important;
  object-position:left top;object-fit:contain;
}
body.site-revealed .hero .hero-brand-crest.fx-logo-pop{
  animation:hero-crest-top-left 1.05s cubic-bezier(.16,.8,.24,1) .38s both!important;
}
@keyframes hero-crest-top-left{
  0%{opacity:0;transform:translate3d(-10px,-8px,0) scale(.78);filter:blur(8px)}
  72%{opacity:1;transform:translate3d(0,0,0) scale(1.035);filter:blur(0) drop-shadow(0 0 14px rgba(230,197,116,.2))}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:drop-shadow(0 8px 20px rgba(0,0,0,.42))}
}
@media(max-width:760px){
  .hero:after{
    background:
      linear-gradient(90deg,rgba(0,0,0,.68) 0%,rgba(0,0,0,.52) 36%,rgba(0,0,0,.2) 64%,rgba(0,0,0,.02) 100%),
      linear-gradient(0deg,rgba(0,0,0,.16),transparent 45%);
  }
  .hero-content:before{left:-26px;right:15%;top:-34px;bottom:-36px;filter:blur(9px)}
  .hero-brand-crest{left:10px!important;top:10px!important;width:clamp(70px,18vw,94px)!important;max-height:85px!important}
  body.site-revealed .hero .hero-brand-crest.fx-logo-pop{animation:hero-crest-mobile-top-left .92s cubic-bezier(.16,.8,.24,1) .32s both!important}
  @keyframes hero-crest-mobile-top-left{
    from{opacity:0;transform:translate3d(-6px,-5px,0) scale(.78);filter:blur(6px)}
    to{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
  }
}
@media(prefers-reduced-motion:reduce){
  .gooey-nav-blob,.gooey-nav-tail{transition:none!important}
  .hero-content:before{filter:none}
  body.site-revealed .hero .hero-brand-crest.fx-logo-pop{animation:none!important;opacity:1!important;transform:none!important}
}


/* ======================================================================
   HOMEPAGE ART DIRECTION: CINEMATIC HERO + BLACK / GOLD EVENT ENQUIRY
   Based on the supplied Royal Hall hero and enquiry references.
   ====================================================================== */
:root{
  --royal-black:#070707;
  --royal-panel:#101010;
  --royal-panel-soft:#171513;
  --royal-ivory:#fff8e9;
  --royal-muted:#c9c0b1;
  --royal-gold:#e4bd68;
  --royal-gold-bright:#ffe6a0;
}

/* Black luxury navigation with the logo aligned to the far-left edge. */
.site-header{
  background:rgba(5,5,5,.97)!important;
  border-bottom:1px solid rgba(226,185,92,.23)!important;
  box-shadow:0 8px 32px rgba(0,0,0,.18);
}
.site-header .container.nav{
  width:calc(100% - 40px)!important;
  max-width:1760px!important;
  margin-left:20px!important;margin-right:20px!important;
  min-height:84px;
}
.site-header .brand{margin-left:0!important;margin-right:clamp(12px,2vw,30px);flex:0 0 auto}
.site-header .brand-logo{
  height:70px!important;width:112px!important;max-width:112px!important;
  object-fit:contain;object-position:left center;
}
.site-header .nav-links{gap:clamp(8px,1.25vw,22px)}
.site-header .nav-links>a{color:#f7f0e5}
.site-header .nav-links>a[aria-current="page"],
.site-header .nav-links>a.gooey-active{color:var(--royal-gold-bright)!important}
.site-header .nav-actions .btn{min-height:48px;padding-inline:23px;border-radius:999px}

/* Hero: long cinematic frame, focused copy lane, unobstructed stage on the right. */
.hero{
  position:relative!important;
  display:flex!important;align-items:center!important;
  min-height:clamp(690px,calc(100svh - 84px),880px)!important;
  height:auto!important;
  overflow:hidden!important;background:#040404!important;
  color:var(--royal-ivory)!important;
}
.hero-media,.hero-slideshow{position:absolute!important;inset:0!important;width:100%;height:100%}
.hero-slideshow [data-hero-slide]{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center 56%!important;
  filter:brightness(.99) saturate(1.06) contrast(1.03)!important;
}
.hero-slideshow [data-hero-slide]:first-child{object-position:center 58%!important}
.hero-slideshow [data-hero-slide]:nth-child(2){object-position:center 54%!important}
.hero-slideshow [data-hero-slide]:nth-child(3){object-position:center 53%!important}
.hero:after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    linear-gradient(90deg,
      rgba(0,0,0,.88) 0%,
      rgba(0,0,0,.78) 20%,
      rgba(0,0,0,.62) 34%,
      rgba(0,0,0,.31) 48%,
      rgba(0,0,0,.08) 64%,
      rgba(0,0,0,0) 79%),
    linear-gradient(0deg,rgba(0,0,0,.42) 0%,transparent 34%,rgba(0,0,0,.06) 100%);
}
.hero-content{
  position:relative!important;z-index:4!important;
  width:min(54vw,820px)!important;max-width:820px!important;
  margin-left:clamp(30px,6.2vw,116px)!important;margin-right:auto!important;
  padding:clamp(58px,6.5vw,94px) 0 clamp(62px,7vw,105px)!important;
  text-shadow:0 2px 18px rgba(0,0,0,.4);
}
.hero-content:before{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  inset:-44px -8% -46px -7%;
  background:linear-gradient(90deg,rgba(0,0,0,.38),rgba(0,0,0,.23) 65%,transparent);
  border-radius:24px;filter:blur(22px);
}
.hero .eyebrow{
  color:var(--royal-gold-bright)!important;
  font-size:clamp(.66rem,.88vw,.86rem)!important;
  letter-spacing:.23em!important;line-height:1.6;
  margin-bottom:17px;
}
.hero h1{
  display:block!important;max-width:790px!important;
  margin:0 0 18px!important;
  color:#fffdf7!important;
  font-size:clamp(3.9rem,7.1vw,7.35rem)!important;
  font-weight:500!important;line-height:.87!important;
  letter-spacing:-.058em!important;text-wrap:balance;
}
.hero .hero-title-primary,.hero .hero-title-accent{display:block!important}
.hero .hero-title-accent{
  color:#f2ce72!important;
  margin-top:.045em;
  -webkit-text-fill-color:#f2ce72!important;
  text-shadow:0 2px 22px rgba(0,0,0,.4),0 0 18px rgba(231,188,87,.1);
}
.hero .lede{
  max-width:650px!important;margin:0!important;
  color:rgba(255,250,241,.93)!important;
  font-size:clamp(.92rem,1.1vw,1.12rem)!important;
  line-height:1.75!important;
  text-shadow:0 2px 11px rgba(0,0,0,.72);
}
.hero .btn-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:28px!important}
.hero .btn-row .btn{
  min-height:60px;padding:0 29px!important;
  border-radius:999px!important;font-size:.94rem!important;
}
.hero .btn-row .btn-gold{
  color:#171106!important;
  background:linear-gradient(115deg,#ffe6a0 0%,#e5b74f 60%,#c58e32 100%)!important;
  border:1px solid rgba(255,239,191,.76)!important;
  box-shadow:0 13px 34px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.55);
}
.hero .btn-row .btn-outline{
  color:#fff0bc!important;background:rgba(0,0,0,.25)!important;
  border:1px solid rgba(243,206,116,.94)!important;
  backdrop-filter:blur(5px);
}
.hero .hero-note{
  display:flex;align-items:center;gap:0;flex-wrap:wrap;
  margin-top:31px!important;color:#f7ecda!important;
  font-size:.82rem!important;
}
.hero .hero-note span{display:inline-flex;align-items:center;gap:10px;padding:0 21px;border-right:1px solid rgba(255,227,160,.46)}
.hero .hero-note span:first-child{padding-left:0}
.hero .hero-note span:last-child{border-right:0}
.hero .hero-note span:before{content:"✧";font-size:1.35rem;color:var(--royal-gold-bright)}
.hero-slideshow-controls{
  right:clamp(24px,5.6vw,90px)!important;bottom:25px!important;
  background:rgba(0,0,0,.3)!important;border:1px solid rgba(255,226,160,.2)!important;
  backdrop-filter:blur(8px);
}
.hero-scroll{z-index:5;color:#fff4d5!important;letter-spacing:.24em!important;font-size:.62rem!important}

/* Booking directly under the hero: intro/story at left, proper enquiry card at right. */
.quick-search{
  position:relative!important;z-index:5;margin:0!important;
  padding:clamp(46px,6vw,88px) 0 clamp(52px,6vw,88px)!important;
  color:var(--royal-ivory)!important;
  background:
    radial-gradient(ellipse at 78% 6%,rgba(210,166,76,.12),transparent 34%),
    radial-gradient(ellipse at 7% 94%,rgba(194,142,50,.075),transparent 33%),
    linear-gradient(135deg,#080808 0%,#101010 52%,#080808 100%)!important;
  border-top:1px solid rgba(225,184,88,.38)!important;
  border-bottom:1px solid rgba(225,184,88,.22)!important;
  overflow:hidden;
}
.quick-search:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.25;
  background-image:radial-gradient(rgba(238,203,125,.32) .65px,transparent .65px);
  background-size:24px 24px;mask-image:linear-gradient(90deg,#000,transparent 38%,transparent 80%,#000);
}
.booking-layout{
  position:relative;z-index:1;
  display:grid!important;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;
  align-items:center;gap:clamp(32px,5.2vw,86px);
  width:min(calc(100% - 64px),1480px)!important;
}
.booking-intro{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  gap:24px!important;margin:0!important;min-width:0;
}
.booking-intro-copy{max-width:600px!important;width:100%!important}
.booking-intro-copy .eyebrow{color:var(--royal-gold)!important;letter-spacing:.25em!important}
.booking-intro-copy h2{
  color:#fff8e9!important;font-size:clamp(3rem,5.3vw,5.65rem)!important;
  letter-spacing:-.055em!important;line-height:.93!important;font-weight:500!important;
  margin:14px 0 18px!important;max-width:650px;
}
.booking-intro-copy h2 em{
  color:#e4bd68!important;font-style:normal!important;
  -webkit-text-fill-color:#e4bd68!important;
}
.booking-intro-copy>p{
  color:#d0c7b8!important;max-width:540px;
  font-size:clamp(.9rem,1.1vw,1.05rem)!important;line-height:1.78!important;
}
.booking-steps{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  position:relative;gap:23px!important;margin:4px 0 0!important;
  padding:0!important;
}
.booking-steps:before{
  content:"";position:absolute;left:26px;top:34px;bottom:34px;width:1px;
  background:linear-gradient(180deg,#dfb95e,rgba(223,185,94,.17));
}
.booking-step{
  position:relative;display:grid!important;
  grid-template-columns:52px 48px minmax(0,1fr);align-items:center!important;
  gap:13px!important;min-height:58px!important;padding:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;color:#f8edda!important;
}
.booking-step-number{
  position:relative;z-index:1;display:grid;place-items:center;
  width:52px;height:52px;border-radius:50%;
  border:1px solid rgba(226,185,92,.78);
  background:#101010;color:#f1ce7c!important;
  font-family:var(--serif);font-size:1.15rem;font-weight:600;
}
.booking-step-icon{display:grid;place-items:center;color:#e7c46e}
.booking-step-icon svg{width:34px;height:34px}
.booking-step>div{min-width:0}
.booking-step strong{display:block;color:#fff4df!important;font:600 1.12rem/1.35 var(--serif)!important;letter-spacing:0}
.booking-step p{margin:4px 0 0;color:#bdb4a4!important;font-size:.8rem;line-height:1.55}
.booking-signoff{
  display:flex;align-items:center;gap:12px;margin-top:6px;padding-top:19px;
  border-top:1px solid rgba(226,185,92,.35);color:#d7b45e;
}
.booking-signoff>span{font-size:1.55rem}
.booking-signoff p{
  display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;
  color:#cfc3ae;text-transform:uppercase;font-size:.58rem;font-weight:700;letter-spacing:.18em;line-height:1.8;
}
.booking-signoff i{display:inline-block;width:3px;height:3px;border-radius:50%;background:#e4bd68}

/* Enquiry form: deep black card with ivory fields, gold keylines and visible date picker. */
.quick-search .search-panel{
  position:relative;isolation:isolate;
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:start!important;gap:20px 22px!important;
  width:100%;min-width:0;margin:0!important;
  padding:clamp(22px,3.2vw,48px)!important;
  border:1px solid rgba(230,190,98,.86)!important;
  border-radius:24px!important;
  background:
    radial-gradient(ellipse at 100% 0%,rgba(211,164,68,.09),transparent 35%),
    linear-gradient(140deg,rgba(22,21,19,.99),rgba(8,8,8,.99) 68%)!important;
  color:#fff8e9!important;
  box-shadow:0 28px 78px rgba(0,0,0,.48),0 0 0 1px rgba(247,221,157,.07),inset 0 1px 0 rgba(255,255,255,.07)!important;
}
.quick-search .search-panel:before{
  content:"";position:absolute;z-index:-1;inset:6px;border:1px solid rgba(230,190,98,.13);
  border-radius:18px;pointer-events:none;
}
.enquiry-form-heading{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  grid-column:1/-1;margin-bottom:2px;padding-bottom:18px;
  border-bottom:1px solid rgba(226,185,92,.22);
}
.enquiry-form-heading .eyebrow{color:#e4bd68!important;letter-spacing:.26em!important}
.enquiry-form-heading h3{margin:8px 0 0;color:#fff6e7;font:500 clamp(1.45rem,2.2vw,2.05rem)/1.18 var(--serif);letter-spacing:-.02em}
.enquiry-form-heading img{
  display:block;width:92px;height:78px;object-fit:contain;object-position:center;
  opacity:.96;filter:drop-shadow(0 0 10px rgba(224,183,94,.12));
}
.quick-search .search-panel .field{
  display:grid;gap:9px;min-width:0;padding:0!important;
  background:transparent!important;border:0!important;border-radius:0!important;
}
.quick-search .search-panel .field label{
  color:#fff4dc!important;font-size:.83rem!important;font-weight:700!important;
  text-transform:none!important;letter-spacing:0!important;line-height:1.45;
}
.quick-search .search-panel .field label span[aria-hidden="true"]{color:#e8b75a}
.quick-search .optional-label{color:#b8afa0;font-weight:400;font-style:italic}
.quick-search .search-panel .field input,
.quick-search .search-panel .field select,
.quick-search .search-panel .field textarea{
  display:block;width:100%;min-width:0;min-height:58px;
  padding:0 15px!important;border:1px solid rgba(229,204,154,.25)!important;
  border-radius:9px!important;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.025))!important;
  color:#fff8ea!important;font-size:16px!important;line-height:1.4;
  outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  transition:border-color .25s ease,background .25s ease,box-shadow .25s ease;
}
.quick-search .search-panel .field select{
  appearance:none;-webkit-appearance:none;
  padding-right:42px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23e4bd68' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"),linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.025))!important;
  background-repeat:no-repeat!important;background-position:right 14px center,center!important;
}
.quick-search .search-panel .field select option{background:#101010!important;color:#fff7e8!important}
.quick-search .search-panel .field input[type="date"]{
  color-scheme:dark!important;accent-color:#e4bd68;cursor:pointer;
}
.quick-search .search-panel .field input[type="date"]::-webkit-calendar-picker-indicator{
  display:block!important;visibility:visible!important;opacity:1!important;
  width:25px;height:25px;padding:4px;margin-left:6px;cursor:pointer;
  filter:invert(79%) sepia(42%) saturate(515%) hue-rotate(352deg) brightness(103%) contrast(93%);
  background:rgba(228,189,104,.13);border:1px solid rgba(228,189,104,.36);border-radius:6px;
}
.quick-search .search-panel .field input:focus,
.quick-search .search-panel .field select:focus,
.quick-search .search-panel .field textarea:focus{
  border-color:#e7c36f!important;
  background-color:rgba(221,174,80,.07)!important;
  box-shadow:0 0 0 3px rgba(228,189,104,.1),0 0 25px rgba(228,189,104,.07)!important;
}
.quick-search .field-hint{color:#afa596!important;font-size:.7rem;line-height:1.45;margin-top:-3px}
.quick-search .btn-booking-primary{
  grid-column:1/-1!important;display:flex!important;align-items:center;justify-content:center;gap:13px;
  width:100%;min-height:66px;margin-top:3px;padding:14px 22px!important;
  border:1px solid #edcd7c!important;border-radius:12px!important;
  color:#fff0c1!important;font:600 1.16rem/1.3 var(--serif)!important;white-space:normal!important;
  background:linear-gradient(112deg,#111 0%,#25221b 48%,#0a0a0a 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 10px 28px rgba(0,0,0,.3),0 0 0 1px rgba(225,184,88,.08)!important;
}
.quick-search .btn-booking-primary .whatsapp-mark{width:28px;height:28px;flex:0 0 28px;color:#d9b65e}
.quick-search .btn-booking-primary>span{font-family:var(--sans);font-size:1.35rem;transition:transform .25s ease}
.quick-search .btn-booking-primary:hover{
  background:linear-gradient(112deg,#29251b 0%,#161513 48%,#080808 100%)!important;
  transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 16px 35px rgba(0,0,0,.38),0 0 24px rgba(225,184,88,.1)!important;
}
.quick-search .btn-booking-primary:hover>span{transform:translateX(4px)}
.quick-search .search-note{
  grid-column:1/-1!important;margin:0!important;color:#bfb6a6!important;
  font-size:.74rem!important;line-height:1.65!important;text-align:left;
}
.quick-search .form-feedback{grid-column:1/-1;color:#f3d891;font-size:.78rem;overflow-wrap:anywhere}
.quick-search .search-panel .fx-button-pulse{animation:none}

/* Tablet layout: keep the story and form side by side until the layout genuinely runs out of room. */
@media(max-width:1080px) and (min-width:761px){
  .hero{min-height:clamp(650px,calc(100svh - 78px),800px)!important}
  .hero-content{width:57vw!important;margin-left:4.5vw!important}
  .hero h1{font-size:clamp(3.6rem,7vw,5.8rem)!important}
  .booking-layout{width:calc(100% - 42px)!important;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr)!important;gap:28px}
  .booking-intro-copy h2{font-size:clamp(2.8rem,5vw,4rem)!important}
  .booking-step{grid-template-columns:44px 36px minmax(0,1fr);gap:9px!important}
  .booking-step-number{width:44px;height:44px}
  .booking-step-icon svg{width:29px;height:29px}
  .quick-search .search-panel{padding:24px!important;gap:17px 15px!important}
  .enquiry-form-heading img{width:74px;height:64px}
}

/* Phones: the hero remains cinematic and the two-column enquiry becomes a guided stack. */
@media(max-width:760px){
  .site-header .container.nav{width:calc(100% - 22px)!important;margin-inline:11px!important;min-height:68px}
  .site-header .brand-logo{width:82px!important;height:56px!important;max-width:82px!important}
  .site-header .nav-links{gap:0}
  .site-header .nav-actions .btn{display:none}
  .hero{min-height:clamp(620px,calc(100svh - 68px),790px)!important;min-height:clamp(620px,calc(100dvh - 68px),790px)!important}
  .hero-slideshow [data-hero-slide]{object-position:58% center!important}
  .hero-slideshow [data-hero-slide]:first-child{object-position:60% center!important}
  .hero:after{
    background:
      linear-gradient(90deg,rgba(0,0,0,.81) 0%,rgba(0,0,0,.67) 34%,rgba(0,0,0,.37) 66%,rgba(0,0,0,.11) 100%),
      linear-gradient(0deg,rgba(0,0,0,.35),transparent 42%);
  }
  .hero-content{
    width:calc(100% - 34px)!important;max-width:600px!important;
    margin:0 auto!important;padding:45px 0 78px!important;
  }
  .hero-content:before{inset:-22px -12px -28px -12px;filter:blur(14px);background:linear-gradient(90deg,rgba(0,0,0,.33),rgba(0,0,0,.16) 70%,transparent)}
  .hero .eyebrow{font-size:.61rem!important;letter-spacing:.17em!important;margin-bottom:15px}
  .hero h1{font-size:clamp(3.05rem,12.5vw,5.3rem)!important;line-height:.9!important;letter-spacing:-.055em!important;margin-bottom:19px!important}
  .hero .lede{font-size:.89rem!important;line-height:1.7!important;max-width:540px}
  .hero .btn-row{display:grid;grid-template-columns:1fr;gap:10px;margin-top:23px!important;max-width:340px}
  .hero .btn-row .btn{min-height:52px;width:100%;padding:12px 20px!important;font-size:.87rem!important;justify-content:center}
  .hero .hero-note{gap:10px 0;margin-top:23px!important;font-size:.69rem!important}
  .hero .hero-note span{padding:5px 11px;border-right:1px solid rgba(255,227,160,.36)}
  .hero .hero-note span:first-child{padding-left:0}
  .hero .hero-note span:last-child{border:0}
  .hero-slideshow-controls{right:15px!important;bottom:15px!important;gap:7px;padding:6px 9px}
  .hero-scroll{display:none}

  .quick-search{padding:38px 0 42px!important}
  .booking-layout{width:calc(100% - 30px)!important;grid-template-columns:minmax(0,1fr)!important;gap:30px!important}
  .booking-intro{gap:19px!important}
  .booking-intro-copy h2{font-size:clamp(2.8rem,10.5vw,4rem)!important;line-height:.95!important;margin:12px 0 15px!important}
  .booking-intro-copy>p{font-size:.91rem!important;line-height:1.72!important}
  .booking-steps{gap:17px!important;margin-top:5px!important}
  .booking-steps:before{left:21px;top:28px;bottom:28px}
  .booking-step{grid-template-columns:43px 38px minmax(0,1fr);gap:10px!important;min-height:54px!important}
  .booking-step-number{width:43px;height:43px;font-size:1rem}
  .booking-step-icon svg{width:29px;height:29px}
  .booking-step strong{font-size:1rem!important}
  .booking-step p{font-size:.75rem;line-height:1.5}
  .booking-signoff{margin-top:3px;padding-top:15px}
  .booking-signoff p{font-size:.52rem;letter-spacing:.11em;gap:6px}
  .quick-search .search-panel{
    grid-template-columns:minmax(0,1fr)!important;gap:16px!important;
    padding:20px 16px!important;border-radius:18px!important;
  }
  .enquiry-form-heading{gap:10px;padding-bottom:14px}
  .enquiry-form-heading h3{font-size:1.55rem}
  .enquiry-form-heading img{width:66px;height:58px}
  .quick-search .search-panel .field label{font-size:.8rem!important}
  .quick-search .search-panel .field input,
  .quick-search .search-panel .field select{min-height:54px;font-size:16px!important}
  .quick-search .btn-booking-primary{min-height:59px;font-size:1.03rem!important;gap:9px;padding:13px!important}
  .quick-search .search-note{font-size:.7rem!important}
}
@media(max-width:390px){
  .hero{min-height:650px!important}
  .hero h1{font-size:clamp(2.8rem,12vw,3.35rem)!important}
  .hero .hero-note{font-size:.64rem!important}
  .hero .hero-note span{padding-inline:8px}
  .booking-layout{width:calc(100% - 24px)!important}
  .quick-search .search-panel{padding:17px 13px!important}
  .enquiry-form-heading img{width:56px;height:52px}
}
@media(prefers-reduced-motion:reduce){
  .hero-slideshow [data-hero-slide]{transition:none!important}
  .quick-search .btn-booking-primary,.booking-step,.quick-search .search-panel .field input,.quick-search .search-panel .field select{transition:none!important}
}


/* ===== HOTFIX: ENQUIRY DESKTOP GRID + CONTRAST + LEFT CREST BADGE ===== */
/* Use explicit grid placement so the booking story and form cannot break into separate rows. */
@media(min-width:761px){
  .quick-search .container.booking-layout{
    display:grid!important;
    grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;
    grid-template-rows:auto!important;
    grid-auto-flow:row!important;
    align-items:center!important;
    column-gap:clamp(28px,4vw,64px)!important;
    row-gap:0!important;
    width:min(calc(100% - 64px),1480px)!important;
  }
  .quick-search .container.booking-layout>.booking-intro{
    grid-column:1!important;grid-row:1!important;
    display:flex!important;flex-direction:column!important;
    align-items:stretch!important;justify-content:flex-start!important;
    width:auto!important;min-width:0!important;
    margin:0!important;gap:clamp(18px,2.4vw,30px)!important;
  }
  .quick-search .container.booking-layout>form.search-panel{
    grid-column:2!important;grid-row:1!important;
    width:100%!important;min-width:0!important;
    margin:0!important;align-self:center!important;
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;gap:19px 18px!important;
  }
  .quick-search .search-panel>.enquiry-form-heading,
  .quick-search .search-panel>.btn-booking-primary,
  .quick-search .search-panel>.search-note,
  .quick-search .search-panel>.form-feedback{
    grid-column:1/-1!important;
  }
}
/* Process steps should be dark and readable, never pale pills with low-contrast text. */
.quick-search .booking-step{
  display:grid!important;
  grid-template-columns:46px 38px minmax(0,1fr)!important;
  align-items:center!important;gap:11px!important;
  min-width:0;min-height:64px!important;
  padding:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;color:#f8edda!important;
  box-shadow:none!important;
}
.quick-search .booking-step-number{
  display:grid!important;place-items:center!important;
  width:46px!important;height:46px!important;min-width:46px;
  border:1px solid rgba(226,185,92,.8)!important;border-radius:50%!important;
  background:#090909!important;color:#f1ce7c!important;
  font-family:var(--serif);font-size:1.05rem!important;
}
.quick-search .booking-step-icon{display:grid!important;place-items:center;color:#e7c46e!important;opacity:1!important}
.quick-search .booking-step-icon svg{width:32px;height:32px;display:block}
.quick-search .booking-step>div{min-width:0}
.quick-search .booking-step strong{
  display:block!important;color:#fff2d7!important;
  font-family:var(--serif)!important;font-size:1.03rem!important;
  font-weight:600!important;line-height:1.35!important;white-space:normal!important;
}
.quick-search .booking-step p{
  display:block!important;color:#cfc4b1!important;
  opacity:1!important;font-size:.79rem!important;line-height:1.55!important;
  margin:4px 0 0!important;white-space:normal!important;
}
.quick-search .booking-steps:before{left:22px!important;opacity:.85}
.quick-search .booking-signoff{color:#e4bd68!important}
.quick-search .booking-signoff p{color:#d8c8a9!important;line-height:1.8!important}
.quick-search .booking-intro-copy h2{max-width:100%;font-size:clamp(2.7rem,4.7vw,4.8rem)!important}
.quick-search .booking-intro-copy>p{color:#d6cbbb!important;max-width:540px}

/* Form heading always occupies the whole form width. Keep the crest beside the heading. */
.quick-search .search-panel>.enquiry-form-heading{
  grid-column:1/-1!important;width:100%;min-width:0;
  display:flex!important;flex-direction:row!important;align-items:center!important;
  justify-content:space-between!important;gap:18px!important;
}
.quick-search .enquiry-form-heading>div{min-width:0;flex:1}
.quick-search .enquiry-form-heading h3{overflow-wrap:normal}
.quick-search .enquiry-form-heading img{
  flex:0 0 auto;width:78px!important;height:72px!important;
  object-fit:contain;object-position:center;
  border-radius:0!important;background:transparent!important;
}
.quick-search .search-panel .field{min-width:0!important;align-self:start}
.quick-search .search-panel .field label{color:#fff0d1!important}
.quick-search .search-panel .field input,
.quick-search .search-panel .field select{
  color:#fff9ed!important;background-color:#0a0a0a!important;
  border-color:rgba(229,197,127,.4)!important;
}
.quick-search .search-panel .field input[type="date"]{
  color-scheme:dark!important;min-width:0!important;cursor:pointer;
}
.quick-search .search-panel .field input[type="date"]::-webkit-calendar-picker-indicator{
  opacity:1!important;visibility:visible!important;display:block!important;
  width:25px!important;height:25px!important;cursor:pointer!important;
  filter:invert(79%) sepia(42%) saturate(515%) hue-rotate(352deg) brightness(112%) contrast(95%)!important;
  background-color:rgba(228,189,104,.16)!important;
  border:1px solid rgba(255,235,179,.5)!important;border-radius:6px!important;padding:3px!important;
}
.quick-search .search-panel .field select option{background:#101010!important;color:#fff8e9!important}

/* Larger crest badge at the extreme left of the navbar. */
.site-header .container.nav{
  width:calc(100% - 28px)!important;margin-left:14px!important;margin-right:14px!important;
  min-height:96px!important;gap:clamp(14px,2vw,28px)!important;
}
.site-header .brand{
  position:relative!important;isolation:isolate;
  display:grid!important;place-items:center!important;
  flex:0 0 84px!important;width:84px!important;height:84px!important;
  min-width:84px!important;margin-left:0!important;margin-right:clamp(8px,1.4vw,22px)!important;
  padding:7px!important;border-radius:50%!important;
  background:radial-gradient(circle at 38% 25%,#202020 0%,#090909 62%,#000 100%)!important;
  border:1px solid rgba(231,195,111,.82)!important;
  box-shadow:0 5px 22px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.09),0 0 0 4px rgba(0,0,0,.4)!important;
  overflow:hidden;
}
.site-header .brand:before{
  content:"";position:absolute;inset:4px;border:1px solid rgba(231,195,111,.2);
  border-radius:50%;pointer-events:none;
}
.site-header .brand-logo{
  position:relative;z-index:1;display:block!important;
  width:69px!important;height:69px!important;max-width:69px!important;
  object-fit:contain!important;object-position:center!important;
  filter:drop-shadow(0 1px 5px rgba(226,185,92,.15));
}
@media(max-width:1100px) and (min-width:761px){
  .site-header .container.nav{min-height:88px!important;gap:10px!important}
  .site-header .brand{flex-basis:76px!important;width:76px!important;height:76px!important;min-width:76px!important}
  .site-header .brand-logo{width:63px!important;height:63px!important;max-width:63px!important}
  .site-header .brand{margin-right:4px!important}
  .site-header .nav-links{gap:clamp(3px,.65vw,8px)!important}
  .quick-search .container.booking-layout{width:calc(100% - 44px)!important;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)!important;gap:24px!important}
  .quick-search .search-panel{padding:25px!important;gap:16px 14px!important}
}
@media(max-width:760px){
  .site-header .container.nav{width:calc(100% - 20px)!important;margin-inline:10px!important;min-height:72px!important;gap:8px!important}
  .site-header .brand{flex:0 0 62px!important;width:62px!important;height:62px!important;min-width:62px!important;padding:5px!important;margin:0 auto 0 0!important}
  .site-header .brand-logo{width:51px!important;height:51px!important;max-width:51px!important}
  .quick-search .container.booking-layout{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;gap:28px!important;
    width:calc(100% - 30px)!important;margin-inline:auto!important;
  }
  .quick-search .container.booking-layout>.booking-intro{
    grid-column:1!important;grid-row:1!important;gap:20px!important;
    display:flex!important;flex-direction:column!important;
  }
  .quick-search .container.booking-layout>form.search-panel{
    grid-column:1!important;grid-row:2!important;display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;width:100%!important;
    gap:15px!important;padding:20px 16px!important;
  }
  .quick-search .search-panel>.enquiry-form-heading,
  .quick-search .search-panel>.btn-booking-primary,
  .quick-search .search-panel>.search-note,
  .quick-search .search-panel>.form-feedback{grid-column:1!important}
  .quick-search .booking-step{grid-template-columns:42px 34px minmax(0,1fr)!important;gap:10px!important;min-height:53px!important}
  .quick-search .booking-step-number{width:42px!important;height:42px!important;min-width:42px}
  .quick-search .booking-step-icon svg{width:28px;height:28px}
  .quick-search .booking-step strong{font-size:.96rem!important}
  .quick-search .booking-step p{font-size:.75rem!important}
  .quick-search .enquiry-form-heading img{width:63px!important;height:58px!important}
}
@media(max-width:420px){
  .site-header .brand{flex-basis:56px!important;width:56px!important;height:56px!important;min-width:56px!important}
  .site-header .brand-logo{width:46px!important;height:46px!important;max-width:46px!important}
  .site-header .container.nav{min-height:66px!important}
}


/* ================= FINAL RESPONSIVE POLISH: NAV, HERO, BOOKING, PHOTO GRID ================= */
/* Compact header, with the large circular crest allowed to overlap the bar edges. */
.site-header{
  height:72px!important;min-height:72px!important;
  position:sticky!important;top:0;z-index:1000!important;
  overflow:visible!important;
  background:rgba(5,5,5,.965)!important;
  border-bottom:1px solid rgba(226,185,92,.25)!important;
  box-shadow:0 7px 25px rgba(0,0,0,.28);
}
.site-header:after{
  content:"";position:absolute;bottom:-1px;left:0;right:0;height:1px;
  pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,235,174,.7),rgba(200,150,55,.22),transparent);
  background-size:220% 100%;animation:royal-nav-line 8s linear infinite;
}
@keyframes royal-nav-line{0%{background-position:200% 0}100%{background-position:-200% 0}}
.site-header .container.nav{
  position:relative!important;display:flex!important;
  align-items:center!important;justify-content:center!important;
  width:calc(100% - 32px)!important;max-width:1780px!important;
  height:72px!important;min-height:72px!important;
  margin:0 16px!important;padding:0 190px 0 120px!important;
  gap:0!important;box-sizing:border-box;overflow:visible!important;
}
.site-header .brand{
  position:absolute!important;left:0;top:50%;
  z-index:1002!important;transform:translateY(-50%)!important;
  display:grid!important;place-items:center!important;
  width:84px!important;height:84px!important;min-width:84px!important;flex:none!important;
  margin:0!important;padding:6px!important;overflow:hidden!important;
  border-radius:50%!important;
  background:radial-gradient(circle at 36% 24%,#24211a 0%,#090909 59%,#000 100%)!important;
  border:1px solid rgba(235,199,117,.86)!important;
  box-shadow:0 7px 24px rgba(0,0,0,.55),0 0 0 4px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.12)!important;
  transition:box-shadow .3s ease,filter .3s ease;
}
.site-header .brand:before{
  content:"";position:absolute;inset:4px;z-index:1;
  border:1px solid rgba(231,195,111,.28);border-radius:50%;pointer-events:none;
}
.site-header .brand:after{
  content:"";position:absolute;inset:-55% 25%;z-index:2;pointer-events:none;
  background:linear-gradient(110deg,transparent 35%,rgba(255,246,211,.28) 49%,transparent 62%);
  transform:translateX(-150%) rotate(12deg);animation:royal-logo-glint 7.5s ease-in-out infinite;
}
@keyframes royal-logo-glint{0%,24%{transform:translateX(-150%) rotate(12deg)}52%,100%{transform:translateX(150%) rotate(12deg)}}
.site-header .brand:hover{
  filter:brightness(1.08);
  box-shadow:0 9px 29px rgba(0,0,0,.6),0 0 0 4px rgba(0,0,0,.4),0 0 22px rgba(227,190,100,.18)!important;
}
.site-header .brand-logo{
  position:relative;z-index:0;display:block!important;
  width:76px!important;height:76px!important;max-width:76px!important;
  object-fit:contain!important;object-position:center!important;
  filter:drop-shadow(0 1px 5px rgba(226,185,92,.18));
}
.site-header .nav-links{
  position:relative!important;display:flex;align-items:center;justify-content:center;
  gap:clamp(7px,1vw,18px)!important;
  margin:0 auto!important;min-width:0;
}
.site-header .nav-links>a{
  min-height:39px;display:inline-flex;align-items:center;justify-content:center;
  padding:8px clamp(8px,.9vw,14px)!important;
  font-size:clamp(.77rem,.83vw,.91rem)!important;font-weight:600;
  letter-spacing:.005em;line-height:1.1;border-radius:999px;
  color:#f5ecdd!important;
  transition:color .24s ease,background .3s ease,transform .28s ease,text-shadow .28s ease;
}
.site-header .nav-links>a:hover{
  color:#fff0bc!important;transform:translateY(-1px);
  text-shadow:0 0 14px rgba(255,238,184,.27);
}
.site-header .nav-links.gooey-nav-ready>a.gooey-active,
.site-header .nav-links.gooey-nav-ready>a[aria-current=page]{
  color:#171106!important;
  box-shadow:0 2px 13px rgba(211,169,75,.18);
}
.site-header .gooey-nav-blob{height:34px!important}
.site-header .gooey-nav-tail{height:25px!important}
.site-header .nav-actions{
  position:absolute!important;right:0;top:50%;transform:translateY(-50%);
  display:flex;align-items:center;gap:8px;margin:0!important;
}
.site-header .nav-actions .btn{
  min-height:43px!important;padding:11px 21px!important;
  font-size:.82rem!important;white-space:nowrap;
  box-shadow:0 5px 17px rgba(210,166,70,.16),inset 0 1px 0 rgba(255,255,255,.35);
}
.site-header .menu-toggle{min-width:39px;min-height:39px}

/* Hero height is reduced by approximately 20%; its full viewport width is unchanged. */
.hero{
  width:100%!important;max-width:none!important;
  height:clamp(552px,calc(80svh - 67.2px),704px)!important;
  min-height:0!important;max-height:none!important;
  overflow:hidden!important;
}
.hero-media,.hero-slideshow{width:100%!important;max-width:none!important;height:100%!important;inset:0!important}
.hero-slideshow [data-hero-slide]{
  width:100%!important;height:100%!important;max-width:none!important;
  object-fit:cover!important;object-position:center 59%!important;
}
.hero-slideshow [data-hero-slide]:first-child{object-position:center 61%!important}
.hero-content{max-height:100%;box-sizing:border-box}
.hero:after{
  background:
    linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.73) 20%,rgba(0,0,0,.53) 37%,rgba(0,0,0,.23) 54%,rgba(0,0,0,.025) 77%,transparent 100%),
    linear-gradient(0deg,rgba(0,0,0,.32),transparent 42%);
}

/* Remove the section's own background and dot overlay, exposing the supplied floral page artwork. */
.quick-search{
  margin:0!important;
  background:transparent!important;background-color:transparent!important;
  background-image:none!important;
  border-top:1px solid rgba(226,185,92,.28)!important;
  border-bottom:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.quick-search:before,.quick-search:after{display:none!important;content:none!important}
.quick-search>.container{background:transparent!important}
.quick-search .booking-step{background:transparent!important;box-shadow:none!important}
.quick-search .booking-step strong{color:#fff3dc!important}
.quick-search .booking-step p{color:#d8cdbb!important}
.quick-search .booking-signoff p{color:#d8c8a9!important}
.quick-search .search-panel{
  background:
    radial-gradient(ellipse at 100% 0%,rgba(211,164,68,.075),transparent 35%),
    linear-gradient(140deg,rgba(16,16,16,.94),rgba(5,5,5,.96) 68%)!important;
  border-color:rgba(230,190,98,.82)!important;
  color:#fff8e9!important;
}

/* A grid must never depend on an animation observer to become visible.
   The cards and images render visibly immediately; animations only enhance them. */
.gallery-grid{
  display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));gap:13px;
  opacity:1!important;visibility:visible!important;
}
.gallery-grid .gallery-item,
.gallery-grid .gallery-item.reveal,
.gallery-grid .gallery-item.fx-scroll-reveal,
.gallery-grid .gallery-item.fx-scroll-left,
.gallery-grid .gallery-item.fx-scroll-right,
.gallery-grid .gallery-item.fx-scroll-blur,
.gallery-grid .gallery-item.fx-scroll-scale,
.gallery-grid .gallery-item.fx-review-reveal{
  display:block;position:relative;opacity:1!important;visibility:visible!important;
  transform:none!important;filter:none!important;
  clip-path:none!important;
  transition:box-shadow .35s ease,border-color .35s ease,transform .35s ease;
}
.gallery-grid .gallery-item[hidden]{display:none!important}
.gallery-grid .gallery-photo-card{background:#15130f;border:1px solid rgba(225,185,91,.16);border-radius:12px}
.gallery-grid .gallery-photo-card img{
  display:block!important;position:relative;width:100%!important;height:100%!important;
  min-height:100%;object-fit:cover!important;opacity:1!important;visibility:visible!important;
  background:#17130d;transition:transform .65s cubic-bezier(.2,.75,.15,1),filter .45s ease;
}
.gallery-grid .gallery-photo-card:hover{
  transform:translateY(-3px)!important;
  border-color:rgba(255,231,174,.58);
  box-shadow:0 16px 34px rgba(0,0,0,.34),0 0 18px rgba(224,183,94,.09);
}
.gallery-grid .gallery-photo-card:hover img{transform:scale(1.035);filter:brightness(1.05)}
.gallery-grid .gallery-caption{
  color:#fff7e7!important;
  background:linear-gradient(transparent,rgba(0,0,0,.85))!important;
  font-size:clamp(.9rem,1vw,1.12rem);line-height:1.4;
}
.gallery-carousel-stage{overflow:visible}
.gallery-carousel-card{background:#12100c}
.gallery-carousel-card img{display:block;opacity:1;visibility:visible}
.gallery-carousel-card.is-centre{border-color:rgba(255,235,176,.93)}

/* Global contrast pass for black-and-gold surfaces and keyboard navigation. */
:where(.section-head h2,.booking-intro-copy h2,.page-hero h1,.hero h1,.cta-banner h2){
  text-wrap:balance;
}
:where(.eyebrow,.card-meta,.gallery-carousel-counter){color:#f0ce7b}
:where(.section-head .lede,.booking-intro-copy>p,.search-note,.card-body p,.page-hero .lede){
  color:#d9d0c1!important;
}
:where(a,button,input,select,textarea):focus-visible{
  outline:2px solid #ffe6a0!important;outline-offset:3px;
}
:where(.site-footer a,.nav-links a,.footer-links a){text-underline-offset:4px}
@media(max-width:1100px) and (min-width:761px){
  .site-header .container.nav{padding:0 160px 0 102px!important;height:72px!important;min-height:72px!important}
  .site-header .brand{width:78px!important;height:78px!important;min-width:78px!important}
  .site-header .brand-logo{width:70px!important;height:70px!important;max-width:70px!important}
  .site-header .nav-links{gap:3px!important}
  .site-header .nav-links>a{padding-inline:7px!important;font-size:.72rem!important}
  .site-header .nav-actions .btn{padding-inline:14px!important;font-size:.75rem!important}
}
@media(max-width:760px){
  .site-header{height:66px!important;min-height:66px!important}
  .site-header .container.nav{
    height:66px!important;min-height:66px!important;
    width:calc(100% - 20px)!important;margin:0 10px!important;
    padding:0 48px 0 0!important;justify-content:flex-end!important;
  }
  .site-header .brand{
    left:0!important;top:50%!important;transform:translateY(-50%)!important;
    width:70px!important;height:70px!important;min-width:70px!important;
    padding:4px!important;margin:0!important;
  }
  .site-header .brand-logo{width:63px!important;height:63px!important;max-width:63px!important}
  .site-header .nav-actions{right:0!important}
  .site-header .nav-actions .btn{display:none!important}
  .site-header .menu-toggle{min-width:40px;min-height:40px}
  .site-header .nav-links{
    top:calc(66px + env(safe-area-inset-top,0px))!important;
    inset-inline:10px!important;max-height:calc(100dvh - 84px);
    overflow-y:auto;overscroll-behavior:contain;
  }
  .site-header .gooey-nav-layer{display:none!important}
  .site-header .nav-links.gooey-nav-ready>a.gooey-active,
  .site-header .nav-links.gooey-nav-ready>a[aria-current=page]{
    color:#fff0bc!important;background:rgba(224,183,94,.13);
    box-shadow:inset 0 -1px rgba(224,183,94,.38);
  }
  .hero{
    height:clamp(496px,calc(80svh - 54.4px),632px)!important;
    min-height:0!important;
  }
  .hero-content{
    padding-top:clamp(105px,20vw,130px)!important;
    padding-bottom:clamp(38px,7vh,65px)!important;
  }
  .hero h1{font-size:clamp(2.65rem,10.5vw,4.15rem)!important}
  .hero .hero-note{margin-top:18px!important}
  .hero-slideshow [data-hero-slide],.hero-slideshow [data-hero-slide]:first-child{
    object-position:61% center!important;
  }
  .quick-search{padding:32px 0 38px!important}
  .quick-search .search-panel{
    background:linear-gradient(140deg,rgba(12,12,12,.92),rgba(5,5,5,.96))!important;
  }
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .gallery-grid .gallery-item,.gallery-grid .gallery-item:nth-child(7n+1){
    grid-column:span 1!important;aspect-ratio:3/4!important;min-width:0;
  }
}
@media(max-width:420px){
  .site-header{height:62px!important;min-height:62px!important}
  .site-header .container.nav{height:62px!important;min-height:62px!important}
  .site-header .brand{width:64px!important;height:64px!important;min-width:64px!important}
  .site-header .brand-logo{width:57px!important;height:57px!important;max-width:57px!important}
  .site-header .nav-links{top:calc(62px + env(safe-area-inset-top,0px))!important}
  .hero{height:clamp(472px,calc(80svh - 49.6px),600px)!important}
}
@media(prefers-reduced-motion:reduce){
  .site-header:after,.site-header .brand:after{animation:none!important}
  .gallery-grid .gallery-photo-card,.gallery-grid .gallery-photo-card img{transition:none!important}
}


/* Fallback viewport units for older mobile browsers. */
.hero{height:clamp(552px,calc(80vh - 67.2px),704px)!important;height:clamp(552px,calc(80svh - 67.2px),704px)!important}
@media(max-width:760px){
  .hero{height:clamp(496px,calc(80vh - 54.4px),632px)!important;height:clamp(496px,calc(80svh - 54.4px),632px)!important}
}
@media(max-width:420px){
  .hero{height:clamp(472px,calc(80vh - 49.6px),600px)!important;height:clamp(472px,calc(80svh - 49.6px),600px)!important}
}


/* ================= MOBILE NAV + SITE-WIDE PHONE LAYOUT FIX ================= */
/* A compact mobile header with a deliberately controlled dropdown menu. */
@media(max-width:760px){
  html,body{width:100%;max-width:100%;overflow-x:clip}
  .site-header{
    height:66px!important;min-height:66px!important;
    overflow:visible!important;z-index:1100!important;
  }
  .site-header .container.nav{
    position:relative!important;display:flex!important;
    width:calc(100% - 20px)!important;height:66px!important;min-height:66px!important;
    margin:0 10px!important;padding:0 0 0 72px!important;
    align-items:center!important;justify-content:flex-end!important;gap:8px!important;
    overflow:visible!important;
  }
  .site-header .brand{
    left:0!important;top:50%!important;transform:translateY(-50%)!important;
    width:64px!important;height:64px!important;min-width:64px!important;
    padding:4px!important;margin:0!important;
  }
  .site-header .brand-logo{
    display:block!important;width:56px!important;height:56px!important;max-width:56px!important;
  }
  .site-header .nav-actions{
    position:static!important;top:auto!important;right:auto!important;
    transform:none!important;display:flex!important;align-items:center!important;
    flex:0 0 auto!important;margin-left:auto!important;gap:0!important;
  }
  .site-header .nav-actions .btn{display:none!important}
  .site-header .menu-toggle{
    display:grid!important;place-items:center!important;
    width:43px!important;height:43px!important;min-width:43px!important;min-height:43px!important;
    padding:0!important;border-radius:50%!important;
    background:linear-gradient(145deg,#171510,#050505)!important;
    border:1px solid rgba(236,200,117,.78)!important;
    color:#ffe7a0!important;font-size:1.15rem!important;line-height:1!important;
    box-shadow:0 4px 15px rgba(0,0,0,.35),inset 0 1px rgba(255,255,255,.1)!important;
    -webkit-tap-highlight-color:transparent;
  }
  .site-header .menu-toggle:active{transform:scale(.95)}
  .site-header .nav-links{
    display:none!important;
    position:fixed!important;
    top:calc(66px + env(safe-area-inset-top,0px))!important;
    right:10px!important;bottom:auto!important;left:10px!important;inset-inline:10px!important;
    width:auto!important;max-width:none!important;
    max-height:calc(100dvh - 82px - env(safe-area-inset-top,0px))!important;
    overflow-x:hidden!important;overflow-y:auto!important;
    flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;
    gap:3px!important;margin:0!important;padding:10px!important;
    border:1px solid rgba(230,197,116,.38)!important;border-radius:17px!important;
    background:linear-gradient(145deg,rgba(12,12,12,.985),rgba(3,3,3,.99))!important;
    box-shadow:0 22px 65px rgba(0,0,0,.68),inset 0 1px rgba(255,255,255,.055)!important;
    backdrop-filter:blur(18px) saturate(125%);
    overscroll-behavior:contain;z-index:1200!important;
  }
  .site-header .nav-links.open{
    display:flex!important;animation:royal-mobile-menu-in .22s ease-out both;
  }
  @keyframes royal-mobile-menu-in{
    from{opacity:0;transform:translateY(-7px) scale(.985)}
    to{opacity:1;transform:translateY(0) scale(1)}
  }
  .site-header .nav-links>a,
  .site-header .nav-links.gooey-nav-ready>a{
    display:flex!important;align-items:center!important;justify-content:flex-start!important;
    width:100%!important;min-width:0!important;min-height:48px!important;
    padding:13px 14px!important;margin:0!important;
    border:0!important;border-radius:10px!important;
    background:transparent!important;box-shadow:none!important;
    color:#f3ead9!important;text-align:left!important;text-decoration:none!important;
    white-space:normal!important;overflow-wrap:anywhere;
    font-size:.94rem!important;font-weight:600!important;line-height:1.25!important;
    transform:none!important;text-shadow:none!important;
  }
  .site-header .nav-links>a:hover,
  .site-header .nav-links>a:focus-visible{
    color:#fff0bc!important;background:rgba(226,185,92,.1)!important;
  }
  .site-header .nav-links>a[aria-current="page"],
  .site-header .nav-links>a.gooey-active{
    color:#ffe8a0!important;
    background:linear-gradient(90deg,rgba(224,183,94,.16),rgba(224,183,94,.045))!important;
    box-shadow:inset 2px 0 #e4bd68!important;
  }
  .site-header .nav-links>a:after{display:none!important}
  .site-header .gooey-nav-layer{display:none!important}
  .site-header .nav-links.open .gooey-nav-layer{display:none!important}

  /* Additional circular black crest just below the navbar on the homepage. */
  .mobile-hero-crest-seal{
    display:grid!important;place-items:center!important;
    position:absolute!important;top:71px!important;left:10px!important;
    width:64px!important;height:64px!important;z-index:1090!important;
    overflow:hidden;border-radius:50%!important;padding:4px!important;
    background:radial-gradient(circle at 34% 25%,#28251d 0%,#090909 58%,#000 100%)!important;
    border:1px solid rgba(245,207,120,.9)!important;
    box-shadow:0 7px 23px rgba(0,0,0,.55),0 0 0 4px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.12)!important;
    isolation:isolate;pointer-events:none;
  }
  .mobile-hero-crest-seal:before{
    content:"";position:absolute;inset:4px;z-index:1;border-radius:50%;
    border:1px solid rgba(255,231,174,.25);pointer-events:none;
  }
  .mobile-hero-crest-seal:after{
    content:"";position:absolute;inset:-55% 24%;z-index:2;
    background:linear-gradient(108deg,transparent 34%,rgba(255,246,215,.4) 49%,transparent 63%);
    transform:translateX(-150%) rotate(12deg);animation:mobile-crest-glint 6.5s ease-in-out infinite;
  }
  .mobile-hero-crest-seal img{
    position:relative;z-index:0;display:block!important;width:100%!important;height:100%!important;
    max-width:none!important;object-fit:contain!important;object-position:center!important;
    filter:drop-shadow(0 1px 5px rgba(232,193,93,.2));
  }
  @keyframes mobile-crest-glint{
    0%,23%{transform:translateX(-150%) rotate(12deg)}
    48%,100%{transform:translateX(150%) rotate(12deg)}
  }
  .hero-content{padding-top:clamp(132px,28vw,150px)!important}

  /* Two evenly sized gallery columns on phones; no one-card-per-row surprises. */
  .gallery-grid{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;gap:10px!important;width:100%!important;
    margin-inline:0!important;opacity:1!important;visibility:visible!important;
  }
  .gallery-grid>.gallery-item,
  .gallery-grid>.gallery-item:nth-child(7n+1){
    display:block!important;grid-column:span 1!important;grid-row:auto!important;
    min-width:0!important;width:100%!important;height:auto!important;
    aspect-ratio:3/4!important;opacity:1!important;visibility:visible!important;
    transform:none!important;filter:none!important;clip-path:none!important;
  }
  .gallery-grid>.gallery-item img{
    display:block!important;width:100%!important;height:100%!important;min-height:100%!important;
    object-fit:cover!important;opacity:1!important;visibility:visible!important;
  }
  .gallery-grid>.gallery-item[hidden]{display:none!important}
  .gallery-caption{font-size:.78rem!important;line-height:1.35!important;padding:30px 9px 10px!important}

  /* General mobile guardrails for every page and form. */
  main,.container,.section,.section-head,.card,.split,.cta-banner,.form-panel,.search-panel{
    min-width:0;max-width:100%;
  }
  .container{width:calc(100% - 28px)!important}
  img,video,iframe{max-width:100%}
  input,select,textarea,button{max-width:100%}
  .field input,.field select,.field textarea{width:100%;min-width:0;font-size:16px!important}
  .btn,.btn-booking-primary{white-space:normal;overflow-wrap:anywhere}
  .section-head h1,.section-head h2,.page-hero h1,.hero h1,.booking-intro-copy h2{overflow-wrap:normal;text-wrap:balance}
  .site-footer,.footer-grid,.footer-bottom{min-width:0}
}
@media(max-width:420px){
  .site-header .container.nav{padding-left:62px!important}
  .site-header .brand{width:58px!important;height:58px!important;min-width:58px!important}
  .site-header .brand-logo{width:50px!important;height:50px!important;max-width:50px!important}
  .site-header .menu-toggle{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important}
  .mobile-hero-crest-seal{top:67px!important;left:8px!important;width:58px!important;height:58px!important}
  .hero-content{padding-top:126px!important}
  .gallery-grid{gap:8px!important}
  .gallery-caption{font-size:.72rem!important}
}
@media(prefers-reduced-motion:reduce){
  .mobile-hero-crest-seal:after,.site-header:after{animation:none!important}
  .site-header .nav-links.open{animation:none!important}
}


@media(min-width:761px){.mobile-hero-crest-seal{display:none!important}}


/* Per-page Admin Studio hero and logo placement. */
.rbh-page-hero-overlay{position:absolute;inset:0;pointer-events:none!important;z-index:1!important}
.hero:has(.rbh-page-hero-overlay) .hero-content,
.page-hero:has(.rbh-page-hero-overlay)>.container,
.hero-section:has(.rbh-page-hero-overlay)>.container{position:relative;z-index:2}
.rbh-page-logo-positioned{display:flex!important;align-items:center;justify-content:center;gap:0;max-width:min(45vw,500px);width:max-content;margin:0!important;padding:8px!important;z-index:30!important;text-decoration:none!important;line-height:0}
.rbh-page-logo-positioned .brand-logo{display:block;object-fit:contain!important;max-width:min(45vw,500px)!important}
.rbh-page-logo-positioned[data-rbh-logo-placement^="hero-"]{position:absolute!important;transform:translate(0,0);filter:drop-shadow(0 4px 18px rgba(0,0,0,.3))}
.rbh-page-logo-positioned[data-rbh-logo-placement="hero-top-left"]{top:12px;left:12px}
.rbh-page-logo-positioned[data-rbh-logo-placement="hero-top-center"]{top:12px;left:50%;transform:translateX(-50%)}
.rbh-page-logo-positioned[data-rbh-logo-placement="hero-top-right"]{top:12px;right:12px}
.rbh-page-logo-positioned[data-rbh-logo-placement="hero-middle-left"]{top:50%;left:12px;transform:translateY(-50%)}
.rbh-page-logo-positioned[data-rbh-logo-placement="hero-center"]{top:50%;left:50%;transform:translate(-50%,-50%)}
.rbh-page-logo-positioned[data-rbh-logo-placement="hero-middle-right"]{top:50%;right:12px;transform:translateY(-50%)}
.rbh-page-logo-positioned[data-rbh-logo-placement="hero-bottom-left"]{bottom:12px;left:12px}
.rbh-page-logo-positioned[data-rbh-logo-placement="hero-bottom-center"]{bottom:12px;left:50%;transform:translateX(-50%)}
.rbh-page-logo-positioned[data-rbh-logo-placement="hero-bottom-right"]{bottom:12px;right:12px}
.rbh-page-logo-positioned[data-rbh-logo-placement="footer"]{position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;margin:12px 0!important;max-width:100%;filter:none}
.rbh-page-logo-positioned[data-rbh-logo-placement="custom"]{position:fixed!important;top:var(--rbh-logo-y,15%);left:var(--rbh-logo-x,50%);transform:translate(-50%,-50%);z-index:9999!important;filter:drop-shadow(0 4px 18px rgba(0,0,0,.3))}
@media(max-width:760px){.rbh-page-logo-positioned{max-width:40vw!important;padding:4px!important}.rbh-page-logo-positioned .brand-logo{max-width:40vw!important;height:auto!important}}


/* THE ROYAL HALL: circular crest medallions, not clipped rectangular scaling. */
:root{
  --rbh-nav-crest-size:180px;
  --rbh-footer-crest-size:264px;
  --rbh-crest-gold:#d8b25f;
  --rbh-crest-gold-light:#f8e8ad;
  --rbh-crest-shadow:0 10px 28px rgba(0,0,0,.48),0 0 24px rgba(216,178,95,.19);
}
.site-header{position:sticky!important;top:0!important;z-index:1100!important;overflow:visible!important;isolation:isolate}
.site-header .container.nav{
  position:relative!important;overflow:visible!important;
  padding-left:calc(var(--rbh-nav-crest-size) + 22px)!important;
}
.site-header .brand{
  position:absolute!important;left:0!important;top:0!important;transform:none!important;
  display:grid!important;place-items:center!important;box-sizing:border-box!important;
  width:var(--rbh-nav-crest-size)!important;height:var(--rbh-nav-crest-size)!important;
  min-width:var(--rbh-nav-crest-size)!important;max-width:none!important;aspect-ratio:1/1!important;
  padding:7px!important;margin:0!important;border:2px solid var(--rbh-crest-gold)!important;
  border-radius:50%!important;
  background:radial-gradient(circle at 35% 25%,#242016 0,#080808 53%,#000 100%)!important;
  box-shadow:var(--rbh-crest-shadow),inset 0 0 0 2px rgba(248,232,173,.2)!important;
  overflow:hidden!important;z-index:1102!important;
}
.site-header .brand::before,.site-footer .brand::before{
  content:"";position:absolute;inset:4px;border:1px solid rgba(248,232,173,.72);
  border-radius:50%;pointer-events:none;z-index:3;
}
.site-header .brand-logo{
  display:block!important;box-sizing:border-box!important;width:100%!important;height:100%!important;
  min-width:0!important;max-width:none!important;margin:0!important;border:0!important;
  border-radius:50%!important;object-fit:cover!important;object-position:center!important;
  /* The source artwork contains its own wide black margin. Zoom the artwork
     inside the clipped circular frame so the wreath and monogram fill the seal. */
  transform:scale(3.15)!important;transform-origin:center!important;position:relative!important;
  z-index:1!important;box-shadow:none!important;
}
/* Expand the footer content area so the medallion sits close to the viewport's left edge. */
.site-footer>.container{
  width:min(calc(100% - 48px),1680px)!important;max-width:1680px!important;
  margin-left:auto!important;margin-right:auto!important;
}
.site-footer .footer-grid{
  grid-template-columns:minmax(264px,1.35fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)!important;
  align-items:start!important;gap:clamp(22px,3vw,48px)!important;
}
.site-footer .footer-grid>div:first-child{
  justify-self:start!important;min-width:0!important;max-width:100%!important;margin-left:0!important;
}
.site-footer .brand{
  position:relative!important;display:grid!important;place-items:center!important;box-sizing:border-box!important;
  width:var(--rbh-footer-crest-size)!important;height:var(--rbh-footer-crest-size)!important;
  min-width:var(--rbh-footer-crest-size)!important;max-width:none!important;aspect-ratio:1/1!important;
  padding:8px!important;margin:0 0 18px 0!important;border:3px solid var(--rbh-crest-gold)!important;
  border-radius:50%!important;
  background:radial-gradient(circle at 35% 25%,#242016 0,#080808 53%,#000 100%)!important;
  box-shadow:var(--rbh-crest-shadow),inset 0 0 0 2px rgba(248,232,173,.22)!important;
  overflow:hidden!important;z-index:2!important;
}
.site-footer .brand-logo{
  display:block!important;box-sizing:border-box!important;width:100%!important;height:100%!important;
  min-width:0!important;max-width:none!important;max-height:none!important;margin:0!important;
  border-radius:50%!important;object-fit:cover!important;object-position:center!important;
  /* Use the same internal artwork zoom for the large footer medallion. */
  transform:scale(3.15)!important;transform-origin:center!important;box-shadow:none!important;
}
/* Tablet: keep the crest prominent without squeezing navigation links. */
@media(min-width:761px) and (max-width:1120px){
  :root{--rbh-nav-crest-size:142px;--rbh-footer-crest-size:220px}
  .site-header .container.nav{padding-left:158px!important}
  .site-footer .footer-grid{grid-template-columns:minmax(220px,1.2fr) repeat(3,minmax(0,1fr))!important;gap:22px!important}
}
/* Mobile: use a smaller full circle and reserve a clean lane for the menu. */
@media(max-width:760px){
  :root{--rbh-nav-crest-size:108px;--rbh-footer-crest-size:216px}
  .site-header .container.nav{padding-left:118px!important;padding-right:0!important;overflow:visible!important}
  .site-header .brand{
    top:0!important;left:0!important;width:var(--rbh-nav-crest-size)!important;
    height:var(--rbh-nav-crest-size)!important;min-width:var(--rbh-nav-crest-size)!important;padding:5px!important;
  }
  .site-header .brand-logo{width:100%!important;height:100%!important}
  .site-footer>.container{width:calc(100% - 28px)!important;max-width:none!important}
  .site-footer .footer-grid{grid-template-columns:minmax(0,1fr)!important;gap:20px!important}
  .site-footer .brand{
    width:var(--rbh-footer-crest-size)!important;height:var(--rbh-footer-crest-size)!important;
    min-width:var(--rbh-footer-crest-size)!important;margin-bottom:16px!important;
  }
}
@media(max-width:420px){
  :root{--rbh-nav-crest-size:98px;--rbh-footer-crest-size:196px}
  .site-header .container.nav{padding-left:108px!important}
  .site-header .brand{width:98px!important;height:98px!important;min-width:98px!important}
  .site-footer .footer-grid{grid-template-columns:minmax(0,1fr)!important}
}


/* Mobile-only crest correction: keep the primary logo in the header and remove the overlapping duplicate. */
@media(max-width:760px){
  :root{--rbh-nav-crest-size:58px!important;--rbh-footer-crest-size:112px!important}
  .site-header{height:66px!important;min-height:66px!important}
  .site-header .container.nav{
    height:66px!important;min-height:66px!important;
    padding-left:68px!important;padding-right:0!important;
    justify-content:flex-end!important;
  }
  .site-header .brand{
    top:50%!important;left:0!important;transform:translateY(-50%)!important;
    width:58px!important;height:58px!important;min-width:58px!important;padding:3px!important;
  }
  .site-header .brand-logo{
    width:100%!important;height:100%!important;max-width:none!important;
    object-fit:contain!important;object-position:center!important;
  }
  .mobile-hero-crest-seal{display:none!important}
  .site-footer .brand{
    width:112px!important;height:112px!important;min-width:112px!important;max-width:112px!important;
    margin-bottom:12px!important;
  }
}
@media(max-width:420px){
  :root{--rbh-nav-crest-size:54px!important;--rbh-footer-crest-size:96px!important}
  .site-header .container.nav{padding-left:64px!important}
  .site-header .brand{width:54px!important;height:54px!important;min-width:54px!important}
  .site-header .brand-logo{width:100%!important;height:100%!important}
  .site-footer .brand{width:96px!important;height:96px!important;min-width:96px!important;max-width:96px!important}
}


/* Phone-only crest scale correction. Desktop medallions keep their original artwork scale. */
@media(max-width:760px){
  .site-header .brand-logo{
    transform:scale(1.08)!important;transform-origin:center!important;
    object-fit:contain!important;object-position:center!important;
  }
  .site-footer .brand-logo{
    transform:scale(1.08)!important;transform-origin:center!important;
    object-fit:contain!important;object-position:center!important;
  }
}
@media(max-width:420px){
  .site-header .brand-logo,.site-footer .brand-logo{transform:scale(1.04)!important}
}


/* Mobile navbar crest: larger, complete artwork like the footer. These rules are phone-only. */
@media(max-width:760px){
  .site-header .container.nav{
    padding-left:116px!important;padding-right:0!important;overflow:visible!important;
  }
  .site-header .container.nav > .brand{
    position:absolute!important;top:50%!important;left:0!important;
    transform:translateY(-50%)!important;z-index:1005!important;
    width:106px!important;height:106px!important;min-width:106px!important;max-width:106px!important;
    padding:4px!important;overflow:hidden!important;
  }
  .site-header .container.nav > .brand > img.brand-logo{
    display:block!important;width:100%!important;height:100%!important;
    min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;
    object-fit:cover!important;object-position:center!important;
    transform:scale(1.04)!important;transform-origin:center!important;
  }
}
@media(max-width:420px){
  .site-header .container.nav{padding-left:108px!important}
  .site-header .container.nav > .brand{
    width:98px!important;height:98px!important;min-width:98px!important;max-width:98px!important;
  }
  .site-header .container.nav > .brand > img.brand-logo{transform:scale(1.04)!important}
}
