/* The Cliff Birkdale. "Coast after dark": Coast's layout language (rounded photo boxes, ticker,
   scroll-through-time chapters, counters) with royal blue leading, cream cards and gold detail. */
@font-face{font-family:"Bodoni Moda Variable";font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/fonts/bodoni-latin-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bodoni Moda Variable";font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/fonts/bodoni-latin-ext-normal.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Bodoni Moda Variable";font-style:italic;font-display:swap;font-weight:400 900;src:url(/assets/fonts/bodoni-latin-italic.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bodoni Moda Variable";font-style:italic;font-display:swap;font-weight:400 900;src:url(/assets/fonts/bodoni-latin-ext-italic.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}

:root{
  color-scheme:dark;
  --royal:#16285A;      /* the logo blue, leads every page */
  --deep:#0D1A3E;       /* footer, late chapter */
  --night:#091230;
  --panel:#1D336E;      /* cards sitting on royal */
  --velvet:#1C4E62;     /* the teal velvet banquettes */
  --cream:#F4EEE4;      /* Coast's sand, used for cards and light chapters */
  --champagne:#EFE3CB;  /* first chapter, golden hour */
  --gold:#D9B977;       /* gold on blue */
  --brass:#7A5C22;      /* gold on cream (passes contrast) */
  --amber:#E8A65A;      /* the LED glow under the banquettes */
  --mist:#C7D0E3;       /* secondary text on blue */
  --mist-2:#8FA0C4;
  --ink:#16285A;        /* text on cream */
  --ink-2:#3C4B72;
  --line:rgba(244,238,228,.16);
  --line-cream:#DDD2BF;
  --display:Didot,"Didot LT STD","Linotype Didot","Bodoni Moda Variable","Bodoni 72",Georgia,serif;
  --body:Didot,"Didot LT STD","Linotype Didot","Bodoni Moda Variable","Bodoni 72",Georgia,serif;
  --wrap:1320px;--gutter:32px;--header-h:76px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
@media (max-width:700px){:root{--gutter:18px;--header-h:64px}}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);-webkit-text-size-adjust:100%;background:var(--royal)}
body{background:var(--royal);color:var(--cream);font-family:var(--body);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;margin:0;font-size:18px;line-height:1.6;overflow-x:clip}
img{max-width:100%;display:block}
a{color:inherit}
a:hover{color:var(--gold)}
h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0}
p{margin:0}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px))}
.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
.skip{z-index:60;background:var(--cream);color:var(--ink);border-radius:999px;padding:10px 16px;position:absolute;top:-60px;left:12px}
.skip:focus{top:12px}
.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-size:14px;font-weight:700}
.h-xl{letter-spacing:-.01em;font-size:clamp(42px,6vw,76px);font-weight:700;line-height:1.02}
.h-lg{letter-spacing:-.005em;font-size:clamp(36px,4.4vw,58px);font-weight:700;line-height:1.05}
.h-md{font-size:clamp(26px,2.4vw,34px);font-weight:700;line-height:1.08}
em{font-style:italic;font-weight:400}
.h-xl em,.h-lg em,.h-md em{color:var(--gold)}
.on-cream .h-xl em,.on-cream .h-lg em,.on-cream .h-md em{color:var(--brass)}
.lead{color:var(--mist);font-size:clamp(18px,1.5vw,21px);font-style:italic}
.muted{color:var(--mist)}
.ph{background:rgba(232,166,90,.16);color:inherit;border:1px dashed var(--amber);border-radius:6px;padding:0 5px;font-style:normal;font-size:.9em;white-space:nowrap}
.on-cream .ph,.cream .ph{background:#F7E2C2;border-color:#B5772F;color:var(--ink)}

/* buttons */
.btn{min-height:48px;font:700 17px/1 var(--body);letter-spacing:.01em;cursor:pointer;border:1.5px solid transparent;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 26px;text-decoration:none;transition:transform .2s,background-color .2s,color .2s;display:inline-flex;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:var(--ink)}
.btn-gold:hover{background:#E6C88A;color:var(--ink)}
.btn-cream{background:var(--cream);color:var(--ink)}
.btn-cream:hover{color:var(--ink);background:#fff}
.btn-royal{background:var(--royal);color:var(--cream)}
.btn-royal:hover{background:var(--deep);color:var(--cream)}
.btn-line{color:inherit;background:transparent;border-color:currentColor}
.btn-row{flex-wrap:wrap;gap:12px;display:flex}

/* header */
.site-header{z-index:30;background:var(--royal);border-bottom:1px solid var(--line);position:sticky;top:env(safe-area-inset-top,0px)}
.site-header .wrap{min-height:var(--header-h);justify-content:space-between;align-items:center;gap:16px;display:flex}
.brand{flex:none;display:flex;align-items:center;text-decoration:none}
.brand-logo{width:auto;height:46px}
.head-left{display:flex;align-items:center;gap:18px;min-width:0}
.status{border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:14px;font-weight:700;display:inline-flex;color:var(--cream)}
.status .dot{background:var(--amber);border-radius:999px;width:8px;height:8px;box-shadow:0 0 10px var(--amber);animation:2.4s ease-in-out infinite pulse}
.status .sub{color:var(--mist);font-weight:400;font-style:italic}
.nav{align-items:center;gap:20px;font-size:16px;display:flex}
.nav a{text-decoration:none;white-space:nowrap}
.nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px;text-decoration-color:var(--gold)}
.menu-btn{display:none;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--line);background:transparent;color:var(--cream);font:700 15px/1 var(--body);cursor:pointer;align-items:center;gap:8px}
.progress{background:linear-gradient(90deg,var(--amber),var(--gold));transform-origin:0 50%;height:3px;position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0);box-shadow:0 0 12px var(--amber)}
.drawer{background:var(--deep);border-bottom:1px solid var(--line)}
.drawer .wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;padding-block:18px 24px}
.drawer a{font-size:20px;text-decoration:none;padding:10px 0;border-bottom:1px solid var(--line)}
@media (max-width:1400px){.status{display:none}}
@media (max-width:1240px){.nav .nav-link{display:none}.menu-btn{display:inline-flex}}
@media (max-width:620px){.status{display:none}.brand-logo{height:38px}.nav{gap:8px}.nav .btn{min-height:44px;padding:0 16px;font-size:15px}}
@media (max-width:380px){.nav .btn{display:none}}

/* ticker */
.ticker{background:var(--deep);color:var(--cream);white-space:nowrap;font:italic 400 19px/1 var(--display);overflow:hidden;border-bottom:1px solid var(--line)}
.ticker-track{padding:13px 0;animation:40s linear infinite ticker;display:inline-flex}
.ticker-track span{padding:0 26px}
.ticker-track i{color:var(--gold);font-style:normal}

/* hero */
.hero{padding-top:24px}
.hero-box{border-radius:32px;height:clamp(420px,58vw,640px);overflow:hidden;position:relative;background:var(--deep)}
.hero-box::after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(transparent,rgba(9,18,48,.55))}
.hero-img{object-fit:cover;width:100%;height:calc(100% + 140px);margin-top:-70px;animation:2.6s var(--ease) both kenburns}
.hero-panels{flex-wrap:wrap;align-items:flex-end;gap:20px;margin-top:-170px;padding:0 28px;display:flex;position:relative;z-index:2}
.hero-main{background:var(--cream);color:var(--ink);border-radius:28px;flex:3 1 520px;min-width:0;display:flex;flex-direction:column;gap:18px;padding:36px 40px;animation:.9s var(--ease) .15s both heroIn}
.hero-main .eyebrow{color:var(--brass)}
.hero-main .h-xl em{color:var(--brass)}
.glance{background:var(--velvet);color:var(--cream);border-radius:28px;flex:2 1 340px;min-width:0;display:flex;flex-direction:column;gap:14px;padding:30px 32px;animation:.9s var(--ease) .35s both heroIn}
.glance .label{letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-size:13px;font-weight:700}
.glance dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.glance dl div{background:rgba(9,18,48,.28);border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.glance dt{font:700 30px/1 var(--display);color:var(--cream);font-variant-numeric:tabular-nums}
.glance dd{margin:0;color:var(--mist);font-size:15px;font-style:italic;line-height:1.3}
.glance .btn{align-self:flex-start;margin-top:4px}
@media (max-width:700px){.hero-panels{margin-top:-90px;padding:0 8px}.hero-main,.glance{padding:26px 22px}}

/* sections */
.section{padding-top:clamp(80px,9vw,112px)}
.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;display:flex}
.section-head>*{min-width:0}

/* the night: chapters */
.night{margin-top:40px;position:relative}
.clock-pill-rail{top:calc(var(--header-h) + 18px + env(safe-area-inset-top,0px));z-index:10;justify-content:center;height:0;display:flex;position:sticky}
.clock-pill{border:1px solid var(--line);background:var(--deep);color:var(--cream);border-radius:999px;align-items:center;gap:12px;height:44px;padding:8px 16px 8px 10px;display:inline-flex;box-shadow:0 8px 28px rgba(0,0,0,.35)}
.clock-pill .icon{background:var(--royal);width:28px;height:28px;color:var(--gold);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}
.clock-pill .icon svg{width:16px;height:16px}
.clock-pill .t{font:700 18px/1 var(--display);font-variant-numeric:tabular-nums}
.clock-pill .k{font-size:15px;font-weight:700}
.clock-pill .dots{align-items:center;gap:5px;padding-left:4px;display:inline-flex}
.clock-pill .dots span{background:var(--line);border-radius:999px;width:6px;height:6px;transition:width .3s,background-color .3s}
.clock-pill .dots span.on{background:var(--gold)}
.clock-pill .dots span.now{width:18px}
.ch{padding:130px 0 120px}
.ch-inner{flex-wrap:wrap;align-items:center;gap:56px;display:flex}
.ch.flip .ch-inner{flex-direction:row-reverse}
.ch-text{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:18px}
.ch-photos{flex:1.2 1 480px;align-items:flex-end;gap:16px;min-width:0;display:flex}
.ch-photos img{object-fit:cover;border-radius:28px;min-width:0}
.ch-photos .a{flex:1.3 1 0;height:560px}
.ch-photos .b{flex:1 1 0;height:400px}
.clock{font:700 150px/.85 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:0}
.ch-kick{margin-top:12px;font-size:21px;font-style:italic}
.inc{display:flex;flex-direction:column;max-width:480px}
.inc div{border-bottom:1px solid var(--rule);justify-content:space-between;gap:16px;padding:12px 0;font-weight:700;display:flex}
.inc div span:last-child{font-weight:400;font-style:italic;color:var(--sub);text-align:right}
.ch.champagne{--bg:var(--champagne);--prev:var(--royal);background:var(--champagne);color:var(--ink);--acc:var(--brass);--sub:var(--ink-2);--rule:#D6C4A1}
.ch.cream{--bg:var(--cream);--prev:var(--champagne);background:var(--cream);color:var(--ink);--acc:var(--brass);--sub:var(--ink-2);--rule:var(--line-cream)}
.ch.royal{--bg:var(--royal);--prev:var(--cream);background:var(--royal);color:var(--cream);--acc:var(--gold);--sub:var(--mist);--rule:var(--line)}
.ch.velvet{--bg:var(--velvet);--prev:var(--royal);background:var(--velvet);color:var(--cream);--acc:var(--gold);--sub:var(--mist);--rule:rgba(244,238,228,.2)}
.ch.late{--bg:var(--night);--prev:var(--velvet);background:var(--night);color:var(--cream);--acc:var(--amber);--sub:var(--mist)}
.ch .clock,.ch .ch-kick{color:var(--acc)}
.ch .ch-body{color:var(--sub);max-width:520px;font-size:19px}
.ch.champagne .h-lg em,.ch.cream .h-lg em{color:var(--brass)}
.ch.champagne .btn-main,.ch.cream .btn-main{background:var(--royal);color:var(--cream)}
.ch.royal .btn-main,.ch.velvet .btn-main,.ch.late .btn-main{background:var(--gold);color:var(--ink)}
.ch .btn-line{color:inherit}
.late{text-align:center;padding:150px 0 160px;position:relative;overflow:hidden}
.late::before{content:"";position:absolute;left:50%;bottom:-180px;width:900px;max-width:140vw;height:360px;translate:-50% 0;background:radial-gradient(closest-side,rgba(232,166,90,.28),transparent);pointer-events:none}
.late .inner{flex-direction:column;align-items:center;gap:20px;max-width:900px;margin:0 auto;display:flex;position:relative}
.late .clock{font-size:190px;text-shadow:0 0 40px rgba(232,166,90,.35)}
@media (max-width:700px){.ch{padding:90px 0 80px}.ch-inner{gap:36px}.clock{font-size:92px}.late .clock{font-size:110px}.ch-photos .a{height:320px}.ch-photos .b{height:240px}.late{padding:110px 0}}

/* numbers */
.numbers{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;display:grid}
.num{border-radius:26px;flex-direction:column;gap:6px;padding:28px 28px 30px;display:flex}
.num.cream{background:var(--cream);color:var(--ink)}
.num.deep{background:var(--deep);color:var(--cream)}
.num.velvet{background:var(--velvet);color:var(--cream)}
.num .count{font:700 120px/.9 var(--display);letter-spacing:-.02em;color:var(--brass);font-variant-numeric:tabular-nums}
.num.deep .count{color:var(--gold)}
.num.velvet .count{color:var(--cream)}
.num .l{font-size:19px;font-weight:700}
.num .s{opacity:.85;font-size:16px;font-style:italic}
@media (max-width:700px){.num .count{font-size:84px}}

/* occasions */
.occ{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.occ-card{position:relative;border-radius:26px;overflow:hidden;min-height:420px;display:flex;align-items:flex-end;text-decoration:none;color:var(--cream);background:var(--deep)}
.occ-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:scale .6s var(--ease)}
.occ-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(9,18,48,.88))}
.occ-card:hover img{scale:1.05}
.occ-card:hover{color:var(--cream)}
.occ-card .in{position:relative;z-index:1;padding:24px 26px;display:flex;flex-direction:column;gap:6px}
.occ-card .t{font:700 34px/1 var(--display)}
.occ-card .s{color:var(--mist);font-size:16px;font-style:italic}
.occ-card .go{color:var(--gold);font-weight:700;font-size:16px}
.tags{flex-wrap:wrap;gap:10px;display:flex}
.tags span{border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:15px}
.also{margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.also p{color:var(--mist);font-style:italic}

/* builder */
.builder{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}
.b-controls{flex:1.5 1 520px;min-width:0;background:var(--panel);border-radius:28px;padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;gap:28px}
.b-step{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;min-width:0}
.b-step legend,.b-step .legend{padding:0;font:700 22px/1.2 var(--display);display:flex;gap:12px;align-items:baseline;margin-bottom:12px}
.b-step .n{color:var(--gold);font-size:15px;letter-spacing:.18em;font-family:var(--body)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid rgba(244,238,228,.3);font-size:16px;font-weight:700;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.chip input:checked+span{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.chip input:focus-visible+span{outline:3px solid var(--amber);outline-offset:2px}
.chip input:disabled+span{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.guests{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.guests output{font:700 64px/1 var(--display);color:var(--gold);min-width:2.2ch;font-variant-numeric:tabular-nums}
.guests input[type=range]{flex:1 1 220px;accent-color:var(--gold);height:44px;min-width:0}
.b-note{color:var(--mist);font-style:italic;font-size:16px}
.b-note b{color:var(--cream);font-style:normal}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label{font-weight:700;font-size:16px}
.field input,.field select,.field textarea{font:inherit;font-size:17px;color:var(--cream);background:var(--deep);border:1.5px solid rgba(244,238,228,.22);border-radius:16px;min-height:50px;padding:10px 16px;width:100%}
.field textarea{min-height:120px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:var(--mist-2)}
.row2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.ticket{flex:1 1 360px;min-width:0;background:var(--cream);color:var(--ink);border-radius:28px;padding:30px 30px 28px;display:flex;flex-direction:column;gap:16px;position:sticky;top:calc(var(--header-h) + 24px)}
.ticket .label{letter-spacing:.2em;text-transform:uppercase;color:var(--brass);font-size:13px;font-weight:700}
.ticket .sum{font:700 30px/1.15 var(--display)}
.ticket .sum em{color:var(--brass)}
.ticket dl{margin:0;display:flex;flex-direction:column}
.ticket dl div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px dashed var(--line-cream)}
.ticket dt{color:var(--ink-2);font-style:italic;font-size:16px;flex:none}
.ticket dd{margin:0;font-weight:700;text-align:right;font-size:16px;min-width:0}
.ticket .tip{background:#E9DFC9;border-radius:16px;padding:12px 16px;font-size:15px;color:var(--ink-2)}
.ticket .tip[hidden]{display:none}
.ticket .btn{align-self:stretch}
.ticket .reset{background:none;border:0;color:var(--ink-2);font:italic 15px var(--body);cursor:pointer;text-decoration:underline;align-self:center;min-height:44px}
@media (max-width:900px){.ticket{position:static}}

/* rooftop feature */
.feature{background:var(--deep);border-radius:32px;flex-wrap:wrap;display:flex;overflow:hidden}
.feature-text{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:20px;padding:clamp(30px,5vw,56px)}
.feature img{object-fit:cover;flex:1 1 420px;min-width:0;height:540px}
@media (max-width:700px){.feature img{height:300px}}

/* what's on */
.regulars{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px;display:grid}
.reg{background:var(--panel);border-radius:22px;flex-direction:column;gap:6px;padding:24px 26px;text-decoration:none;display:flex;transition:translate .25s var(--ease)}
.reg:hover{translate:0 -3px;color:inherit}
.reg .when{color:var(--gold);font-size:17px;font-style:italic}
.reg .t{font-size:24px;font-weight:700;font-family:var(--display);line-height:1.15}
.reg .s{color:var(--mist);font-size:16px}
.reg .next{color:var(--mist-2);margin-top:auto;padding-top:8px;font-size:15px;font-style:italic}

/* reviews */
.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.review{background:var(--cream);color:var(--ink);border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:14px;margin:0}
.review .stars{color:var(--brass);letter-spacing:.2em;font-size:15px}
.review blockquote{margin:0;font:italic 400 22px/1.35 var(--display)}
.review figcaption{margin-top:auto;color:var(--ink-2);font-size:15px}

/* gallery reel */
.reel{scroll-snap-type:x mandatory;padding:0 max(var(--gutter),env(safe-area-inset-left,0px)) 8px;scrollbar-width:none;gap:16px;display:flex;overflow-x:auto}
.reel::-webkit-scrollbar{display:none}
.reel figure{margin:0;flex:0 0 auto;scroll-snap-align:start;display:flex;flex-direction:column;gap:8px}
.reel img{object-fit:cover;border-radius:22px;height:400px;width:auto;max-width:none}
.reel figcaption{color:var(--mist);font-size:15px;font-style:italic}
@media (max-width:700px){.reel img{height:300px}}

/* find us */
.find{flex-wrap:wrap;gap:40px;display:flex}
.find .txt{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:20px}
.contact-list{display:flex;flex-direction:column;gap:8px;font-size:17px}
.contact-list div{display:flex;gap:14px;flex-wrap:wrap;align-items:baseline}
.contact-list dt{color:var(--gold);font-style:italic;min-width:90px}
.contact-list dd{margin:0;user-select:all;font-weight:700}
.map-card-wrap{flex:1.4 1 480px;min-width:0;min-height:440px;border-radius:28px;overflow:hidden;position:relative;display:flex;align-items:flex-end;padding:18px;background:var(--deep)}
.map-card-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7}
.map-card{position:relative;background:var(--cream);color:var(--ink);border-radius:22px;max-width:460px;padding:24px 26px;display:flex;flex-direction:column;gap:10px}
.map-card .h-md em{color:var(--brass)}

/* footer */
.site-footer{background:var(--deep);color:var(--mist);margin-top:clamp(80px,9vw,112px);overflow:hidden;border-top:1px solid var(--line)}
.site-footer .top{flex-wrap:wrap;justify-content:space-between;gap:36px;padding-top:56px;font-size:15px;display:flex}
.site-footer a{color:var(--cream)}
.site-footer a:hover{color:var(--gold)}
.site-footer .btn-gold,.site-footer .btn-gold:hover{color:var(--ink)}
.foot-nav{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px 44px;display:grid}
.foot-nav .foot-h{color:var(--gold);grid-column:1/-1;margin-bottom:2px;font-size:16px;font-style:italic}
.foot-one{grid-template-columns:1fr}
.news{flex-direction:column;gap:12px;max-width:400px;display:flex}
.news .h{font:700 28px/1.1 var(--display);color:var(--cream)}
.news .h em{color:var(--gold)}
.small{color:var(--mist-2);font-size:13px}
.wordmark{padding:72px var(--gutter) 28px;justify-content:center;display:flex}
.wordmark img{width:min(760px,86vw);height:auto}
.sister{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:0 var(--gutter) 48px;color:var(--mist);font-style:italic;font-size:16px}
.sister img{height:34px;width:auto}

/* inner pages */
.guide-hero{flex-wrap:wrap;align-items:center;gap:48px;padding-top:48px;display:flex}
.guide-head{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:18px}
.guide-photo{object-fit:cover;border-radius:32px;flex:1 1 420px;min-width:0;height:560px}
.crumbs{color:var(--mist);font-size:15px;font-style:italic}
.crumbs a{color:var(--mist)}
.facts{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:40px 0 0;display:grid}
.facts div{background:var(--cream);color:var(--ink);border-radius:20px;flex-direction:column;gap:4px;padding:18px 22px;display:flex}
.facts dt{color:var(--brass);font-size:15px;font-style:italic}
.facts dd{margin:0;font-size:19px;font-weight:700;line-height:1.3}
.guide-body{flex-direction:column;gap:clamp(56px,6vw,84px);padding-top:clamp(64px,7vw,96px);display:flex}
.g-split{flex-wrap:wrap;align-items:flex-start;gap:48px;display:flex}
.g-split.rev{flex-direction:row-reverse}
.g-text{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:16px}
.g-text p{color:var(--mist)}
.g-side{flex:1.2 1 440px;min-width:0}
.g-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}
.g-photos img{object-fit:cover;border-radius:24px;width:100%;height:340px}
.g-photo{object-fit:cover;border-radius:28px;width:100%;height:440px}
.list-card{background:var(--cream);color:var(--ink);border-radius:24px;padding:10px 28px}
.li{border-bottom:1px solid var(--line-cream);display:flex;justify-content:space-between;gap:24px;padding:16px 0}
.li:last-child{border-bottom:0}
.li .n{font-size:18px;font-weight:700}
.li .d{color:var(--ink-2);font-size:16px;font-style:italic;max-width:560px}
.li .p{white-space:nowrap;font-weight:700;text-align:right}
.ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ticks li{display:flex;gap:12px;align-items:baseline;color:var(--cream)}
.ticks li::before{content:"";flex:none;width:8px;height:8px;border-radius:999px;background:var(--gold);translate:0 -2px}
.faq-list{flex-direction:column;gap:10px;max-width:880px;margin-top:24px;display:flex}
.faq{background:var(--panel);border-radius:20px;padding:0 24px}
.faq summary{cursor:pointer;padding:20px 36px 20px 0;font-size:19px;font-weight:700;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold);font-size:28px;font-weight:400;transition:rotate .25s;position:absolute;top:50%;right:0;translate:0 -50%}
.faq[open] summary::after{rotate:45deg}
.faq p{color:var(--mist);padding:0 0 22px}
.faq-group{margin-top:44px}
.faq-group h2{font-size:clamp(28px,3vw,36px)}
.book-band{background:var(--velvet);border-radius:28px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:34px 38px;display:flex}
.book-band>div{min-width:0}
.related-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:22px;display:grid}
.rel-card{flex-direction:column;gap:4px;text-decoration:none;display:flex}
.rel-card img{object-fit:cover;width:100%;height:220px;border-radius:22px;margin-bottom:10px;transition:scale .4s var(--ease)}
.rel-card:hover img{scale:1.03}
.rel-t{font-size:21px;font-weight:700;font-family:var(--display)}
.rel-b{color:var(--mist);font-size:16px;font-style:italic}
.events-list{display:flex;flex-direction:column;gap:14px}
.ev{background:var(--panel);border-radius:24px;display:flex;flex-wrap:wrap;overflow:hidden}
.ev img{flex:1 1 280px;min-width:0;height:260px;object-fit:cover}
.ev .in{flex:2 1 380px;min-width:0;padding:26px 30px;display:flex;flex-direction:column;gap:10px}
.ev .when{color:var(--gold);font-style:italic}
.ev p{color:var(--mist)}
.menu-sec{scroll-margin-top:calc(var(--header-h) + 20px)}
.menu-sec .head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px}
.jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.jump a{border:1.5px solid var(--line);border-radius:999px;padding:10px 18px;text-decoration:none;font-weight:700;font-size:16px}
.note-box{border:1px dashed var(--amber);border-radius:20px;padding:18px 22px;color:var(--mist);font-style:italic}
.sent{background:var(--cream);color:var(--ink);border-radius:28px;padding:32px;display:flex;flex-direction:column;gap:12px}
.sent[hidden]{display:none}
.form-card{background:var(--panel);border-radius:28px;padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;gap:18px}
@media (max-width:700px){.guide-photo{height:320px}.g-photos img{height:200px}.g-photo{height:300px}.list-card{padding:6px 18px}.book-band{padding:26px 22px}.li{flex-direction:column;gap:4px}.li .p{text-align:left}}

/* motion */
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes heroIn{from{opacity:0;translate:0 50px}to{opacity:1;translate:0}}
@keyframes kenburns{from{scale:1.14}to{scale:1}}
.js-motion .rv,.js-motion .rv-stack>*{opacity:0;translate:0 56px;transition:opacity .9s var(--ease),translate 1s var(--ease);transition-delay:var(--d,0s)}
.js-motion .rv.is-in,.js-motion .rv-stack.is-in>*{opacity:1;translate:0}
.js-motion .rv-stack.is-in>:nth-child(2){transition-delay:.08s}
.js-motion .rv-stack.is-in>:nth-child(3){transition-delay:.16s}
.js-motion .rv-stack.is-in>:nth-child(4){transition-delay:.24s}
.js-motion .rv-stack.is-in>:nth-child(5){transition-delay:.32s}
.js-motion .rv-img,.js-motion .ch-photos img{clip-path:inset(14% 10% round 28px);scale:1.14;transition:clip-path 1.3s var(--ease),scale 1.6s var(--ease)}
.js-motion .ch-photos .b{transition-delay:.15s}
.js-motion .rv-img.is-in,.js-motion .ch-photos img.is-in{clip-path:inset(0 round 28px);scale:1}
.js-motion .ch{background-color:var(--prev);transition:background-color 1.1s}
.js-motion .ch.is-in{background-color:var(--bg)}
.js-motion .late .clock{opacity:0;scale:.8;transition:opacity 1s var(--ease),scale 1.2s var(--ease)}
.js-motion .late .clock.is-in{opacity:1;scale:1}
.js-motion .occ-card{opacity:0;translate:0 40px;transition:opacity .8s var(--ease),translate .9s var(--ease);transition-delay:calc(var(--i,0)*90ms)}
.js-motion .occ.is-in .occ-card{opacity:1;translate:0}
.js-motion .wordmark img{opacity:0;filter:blur(6px);translate:0 60px;scale:.84;transition:opacity 1.2s var(--ease),scale 1.4s var(--ease),translate 1.4s var(--ease),filter 1.2s var(--ease)}
.js-motion .wordmark.is-in img{opacity:1;filter:none;translate:0;scale:1}
.progress{transition:transform .1s linear}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track,.status .dot,.hero-img,.hero-main,.glance{animation:none}.btn:hover{transform:none}}

/* function menu */
.tag{display:inline-block;margin-left:8px;padding:3px 8px;border-radius:999px;background:#E3EBDD;color:#2F5A44;font:700 12px/1 var(--body);letter-spacing:.04em;vertical-align:3px}
.key{display:flex;flex-wrap:wrap;align-items:center;gap:6px 4px;margin-top:16px;color:var(--mist);font-size:15px;font-style:italic}
.key .tag{margin-left:10px}
.key .tag:first-child{margin-left:0}
.deal{align-self:flex-end;background:var(--gold);color:var(--ink);border-radius:999px;padding:10px 18px;font-weight:700;font-size:16px;white-space:nowrap}
.mnote{color:var(--mist);font-style:italic;font-size:16px;margin-top:12px}
.menu-sec .head{align-items:flex-end;margin-bottom:16px}
.menu-sec .head .lead{margin:0}
@media (max-width:700px){.deal{white-space:normal;align-self:flex-start}}
.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(520px,100%),1fr));gap:56px 28px;align-items:start}
.menu-grid .h-lg{font-size:clamp(32px,3.4vw,46px)}
.occ-card .time{color:var(--gold);font-size:14px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.dayparts .occ-card{min-height:460px}
.dayparts .occ-card .s{color:var(--cream);opacity:.9}

/* availability calendar */
.cal{background:var(--deep);border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:10px}
.cal-left{color:var(--cream);font-size:16px}
.cal-left b{color:var(--amber)}
.cal-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cal-month{font:700 20px/1 var(--display)}
.cal-nav{width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--cream);font-size:22px;cursor:pointer}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal-h{text-align:center;font-size:12px;color:var(--mist-2);letter-spacing:.08em;text-transform:uppercase;padding-bottom:2px}
.cal-d{min-height:52px;border-radius:12px;border:1.5px solid transparent;background:var(--royal);color:var(--cream);font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:4px 2px;min-width:0}
.cal-d .n{font:700 17px/1 var(--display);font-variant-numeric:tabular-nums}
.cal-d .s{font-size:10px;line-height:1.1;color:var(--mist);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.cal-d.free{background:rgba(127,191,140,.16);border-color:rgba(127,191,140,.45)}
.cal-d.part{background:linear-gradient(135deg,rgba(127,191,140,.18) 50%,rgba(232,166,90,.28) 50%);border-color:rgba(232,166,90,.5)}
.cal-d.held{background:rgba(232,166,90,.22);border-color:rgba(232,166,90,.6)}
.cal-d.booked{background:transparent;border-color:var(--line);color:var(--mist-2);cursor:not-allowed;text-decoration:line-through}
.cal-d.past{background:transparent;color:rgba(199,208,227,.35);cursor:default}
.cal-d.sel{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.cal-d.sel .s{color:var(--ink)}
.cal-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px;color:var(--mist)}
.cal-legend span{display:inline-flex;align-items:center;gap:6px}
.k{width:14px;height:14px;border-radius:4px;display:inline-block;border:1.5px solid}
.k.free{background:rgba(127,191,140,.16);border-color:rgba(127,191,140,.6)}
.k.part{background:linear-gradient(135deg,rgba(127,191,140,.3) 50%,rgba(232,166,90,.4) 50%);border-color:rgba(232,166,90,.6)}
.k.held{background:rgba(232,166,90,.3);border-color:rgba(232,166,90,.7)}
.k.booked{border-color:var(--line)}
@media (max-width:620px){.cal{padding:12px}.cal-d{min-height:44px}.cal-d .s{display:none}.cal-d.part::after,.cal-d.held::after{content:"";width:5px;height:5px;border-radius:9px;background:var(--amber)}}

/* packages */
.pk-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pk-btn{min-height:40px;padding:0 14px;border-radius:999px;border:1.5px dashed var(--gold);background:transparent;color:var(--gold);font:700 15px/1 var(--body);cursor:pointer}
.pk-btn:hover{background:rgba(217,185,119,.12)}
.pk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:16px}
.pk-card{background:var(--cream);color:var(--ink);border-radius:26px;overflow:hidden;display:flex;flex-direction:column}
.pk-card img{width:100%;height:200px;object-fit:cover}
.pk-card .in{padding:22px 24px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.pk-for{color:var(--brass);font-size:15px;font-style:italic}
.pk-card .ticks li{color:var(--ink);font-size:16px}
.pk-card .ticks li::before{background:var(--brass)}
.pk-note{color:var(--ink-2);font-size:15px;font-style:italic}
.pk-price{margin-top:auto;padding-top:8px;font-size:17px}
.pk-price b{font:700 30px/1 var(--display)}
.pk-fine{font-size:13px;color:var(--ink-2)}
.pk-card .btn{align-self:flex-start;margin-top:6px}

/* WhatsApp */
.wa-float{position:fixed;right:max(18px,calc(env(safe-area-inset-right,0px) + 12px));bottom:max(18px,calc(env(safe-area-inset-bottom,0px) + 12px));z-index:40;display:inline-flex;align-items:center;gap:10px;background:#25D366;color:#0B2A17;border-radius:999px;padding:12px 18px 12px 14px;font:700 16px/1 var(--body);text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .2s}
.wa-float:hover{color:#0B2A17;transform:translateY(-2px)}
@media (max-width:620px){.wa-float span{display:none}.wa-float{padding:14px}}

/* three-slot calendar */
.cal-d{background:var(--royal);border-color:rgba(244,238,228,.12);gap:5px}
.cal-d .bars{display:flex;gap:3px;width:70%;max-width:44px}
.bars i{flex:1;height:5px;border-radius:3px;background:var(--line)}
.bars i.free{background:#7FBF8C}
.bars i.part{background:linear-gradient(90deg,#7FBF8C 50%,var(--amber) 50%)}
.bars i.held{background:var(--amber)}
.bars i.booked{background:rgba(199,208,227,.22)}
.cal-d.full,.cal-d.closed{background:transparent;color:var(--mist-2);cursor:not-allowed}
.cal-d.full .n,.cal-d.closed .n{text-decoration:line-through}
.cal-d.past{background:transparent;border-color:transparent}
.cal-d.sel{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.cal-d.sel .bars i.booked{background:rgba(22,40,90,.25)}
.cal-key{gap:8px!important}
.cal-key .bars{display:inline-flex;gap:3px;width:40px}
.k.part{background:linear-gradient(90deg,#7FBF8C 50%,var(--amber) 50%);border-color:transparent}
.k.free{background:#7FBF8C;border-color:transparent}
.k.held{background:var(--amber);border-color:transparent}
.k.booked{background:rgba(199,208,227,.22);border-color:transparent}
.cal-pick{display:flex;flex-direction:column;gap:6px;font-style:normal}
.slotline{display:flex;flex-wrap:wrap;gap:6px}
.sl{border-radius:999px;padding:4px 10px;font-size:14px;font-style:normal;background:rgba(199,208,227,.14);color:var(--mist)}
.sl.free{background:rgba(127,191,140,.2);color:#BFE6C7}
.sl.part{background:rgba(232,166,90,.18);color:#F3C994}
.sl.held{background:rgba(232,166,90,.28);color:#F3C994}
.sl.booked{text-decoration:line-through}
@media (max-width:620px){.cal-d .bars{width:80%}.cal-d.part::after,.cal-d.held::after{content:none}}
.b-step .cal-d .n{color:inherit;letter-spacing:0;font:700 17px/1 var(--display)}

/* calendar without live availability (until the booking system is connected) */
.cal.plain .bars,.cal.plain .cal-legend,.cal.plain .cal-left{display:none}
.cal.plain .cal-d{background:var(--royal)}
/* live site extras */
.form-msg{border-radius:16px;padding:14px 18px;font-size:16px}
.form-msg.err{background:rgba(232,166,90,.16);border:1px solid var(--amber);color:var(--cream)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.btn[aria-busy=true]{opacity:.7;cursor:progress}
.g-side,.g-photos,.guide-hero,.map-card-wrap,.feature,.ch-photos{overflow:clip}
