/* =========================================================
   BOLTON PRODUCTIONS - the booking layer
   Everything added to help a visitor ask about their date: the slim offer
   bar, the "Check your date" button, the phone bar, the home page's date
   check and price line, the Investment page's builder invite, the builder
   itself, and the inquiry form's receipt and thank-you. Loaded after
   styles.css on every page; it only adds, it never restyles what was there.
   ========================================================= */
:root{--pbar-h:38px}

/* ---------- the offer bar (was a popup) ---------- */
.pbar{position:fixed;top:0;left:0;right:0;z-index:210;height:var(--pbar-h);display:flex;align-items:center;justify-content:center;
  background:var(--dark);color:rgba(247,244,238,.86);font-size:.78rem;letter-spacing:.02em;padding:0 44px;
  transition:transform .5s var(--ease)}
.pbar__in{display:flex;align-items:center;gap:14px;min-width:0;white-space:nowrap;overflow:hidden}
.pbar__t{overflow:hidden;text-overflow:ellipsis}
.pbar__t em{font-family:var(--serif);font-size:1.12em;font-style:italic;color:var(--gold-soft)}
.pbar__t strong{font-weight:600;color:#f7f4ee}
.pbar__a{flex:none;color:var(--gold-soft);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:.66rem;
  border-bottom:1px solid color-mix(in oklab,var(--gold-soft) 45%,transparent);padding-bottom:1px;transition:color .3s,border-color .3s}
.pbar__a:hover{color:#f7f4ee;border-color:#f7f4ee}
.pbar__x{position:absolute;right:8px;top:50%;translate:0 -50%;width:30px;height:30px;border:0;background:none;color:rgba(247,244,238,.6);
  font-size:1.1rem;line-height:1;cursor:pointer;border-radius:50%;transition:color .3s,background .3s}
.pbar__x:hover{color:#f7f4ee;background:rgba(247,244,238,.08)}
body.has-pbar{padding-top:var(--pbar-h)}
body.has-pbar .nav{top:var(--pbar-h);transition:top .5s var(--ease),background .5s var(--ease),backdrop-filter .5s,border-color .5s}
body.has-pbar.pbar-up .pbar{transform:translateY(-100%)}
body.has-pbar.pbar-up .nav{top:0}
@media(max-width:600px){
  .pbar{font-size:.72rem;padding:0 38px 0 14px;justify-content:flex-start}
  .pbar__a{display:none}
  .pbar__t .pbar__long{display:none}
}

/* ---------- "Check your date" in the menu ---------- */
.nav__links a.nav__cta{padding:.78em 1.35em;border:1px solid color-mix(in oklab,var(--gold) 70%,transparent);border-radius:7px;
  color:var(--ink);letter-spacing:.16em;transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease)}
.nav__links a.nav__cta::after{display:none}
.nav__links a.nav__cta:hover,.nav__links a.nav__cta.active{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.nav--over-dark:not(.scrolled) .nav__links a.nav__cta{border-color:rgba(255,255,255,.6);color:#fff}
.nav--over-dark:not(.scrolled) .nav__links a.nav__cta:hover{background:#fff;color:var(--ink);border-color:#fff}
.mobile a.mobile__cta{margin-top:18px;font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--bg);background:var(--ink);padding:1.1em 2.2em;border-radius:7px}

/* ---------- the phone bar ---------- */
.mbar{display:none}
@media(max-width:760px){
  .mbar{display:grid;grid-template-columns:1fr 1.35fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:180;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(247,244,238,.94);backdrop-filter:blur(14px) saturate(1.1);
    border-top:1px solid var(--line);transform:translateY(110%);transition:transform .5s var(--ease)}
  .mbar.show{transform:none}
  .mbar a{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:7px;font-size:.7rem;font-weight:600;
    letter-spacing:.16em;text-transform:uppercase;color:var(--ink);border:1px solid color-mix(in oklab,var(--gold) 62%,transparent)}
  .mbar a.mbar__go{background:var(--ink);border-color:var(--ink);color:var(--bg)}
  body.mbar-on .foot{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}

/* ---------- home: is your date open? ---------- */
.dcheck{margin-top:clamp(26px,4vh,38px);max-width:560px}
.dcheck__lbl{font-family:var(--serif);font-size:1.4rem;font-style:italic;color:var(--ink);margin-bottom:12px}
.dcheck__row{display:grid;grid-template-columns:1fr 1.3fr auto;align-items:end;gap:14px;padding:14px 16px 16px;background:var(--surface);
  border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 40px -30px rgba(40,30,15,.5);transition:border-color .4s var(--ease)}
.dcheck__row:focus-within{border-color:color-mix(in oklab,var(--gold) 70%,transparent)}
.dcheck__f{display:flex;flex-direction:column;gap:4px;min-width:0}
.dcheck__f span{font-size:.62rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.dcheck__f input{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;font-family:var(--serif);font-size:1.15rem;
  color:var(--ink);padding:.25em 0;outline:none;border-radius:0;min-height:36px}
.dcheck__f input:focus{border-bottom-color:var(--gold)}
.dcheck__f input::placeholder{color:color-mix(in oklab,var(--muted) 72%,transparent);font-style:italic}
.dcheck .btn{padding:1em 1.5em}
.dcheck__note{margin-top:10px;font-size:.82rem;color:var(--muted)}
.dcheck__note b{font-weight:600;color:var(--ink-soft)}
.dcheck__err{color:var(--gold-deep)}
.dcheck__done{padding:18px 20px;background:var(--surface);border:1px solid var(--gold);border-radius:8px}
.dcheck__done h3{font-size:1.7rem;margin-bottom:6px}
.dcheck__done p{font-size:.94rem;color:var(--ink-dim)}
.dcheck__done a{color:var(--gold-deep);border-bottom:1px solid currentColor}
@media(max-width:600px){
  .dcheck__row{grid-template-columns:1fr 1fr}
  .dcheck__row .btn{grid-column:1/-1;width:100%}
}

/* ---------- home: the price line ---------- */
.pstrip{padding-block:0 clamp(40px,6vw,80px)}
.pstrip__in{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(20px,3.5vw,48px);padding:clamp(22px,3vw,34px) clamp(22px,3vw,40px);
  background:var(--surface);border:1px solid var(--line);border-radius:8px}
.pstrip__lead{font-family:var(--serif);font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.1;max-width:13ch}
.pstrip__lead em{font-style:italic;color:var(--gold)}
.pstrip ul{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,2vw,26px)}
.pstrip li{display:flex;flex-direction:column;gap:2px;padding-left:clamp(12px,1.6vw,20px);border-left:1px solid var(--line)}
.pstrip li span{font-size:.64rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.pstrip li b{font-family:var(--serif);font-weight:500;font-size:clamp(1.3rem,2vw,1.7rem);color:var(--gold-deep)}
.pstrip li b small{font-family:var(--sans);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.pstrip__cta{display:flex;flex-direction:column;gap:10px}
.pstrip__cta .btn{justify-content:center;white-space:nowrap}
@media(max-width:1100px){.pstrip__in{grid-template-columns:1fr}.pstrip__lead{max-width:none}.pstrip__cta{flex-direction:row;flex-wrap:wrap}}
@media(max-width:600px){.pstrip ul{grid-template-columns:1fr 1fr;row-gap:18px}.pstrip__cta .btn{flex:1 1 100%}}

/* ---------- investment: build your own ---------- */
.bband{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);min-height:320px;background:var(--dark);color:#f7f4ee;border-radius:8px;overflow:hidden;
  box-shadow:var(--shadow);isolation:isolate}
.bband__img{position:relative;overflow:hidden}
.bband__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.bband:hover .bband__img img{transform:scale(1.05)}
.bband__body{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px;padding:clamp(28px,4.5vw,60px)}
.bband__body .eyebrow{color:var(--gold-soft)}
.bband__h{font-family:var(--serif);font-size:clamp(2rem,4vw,3.2rem);line-height:1.02;color:#f7f4ee}
.bband__h em{font-style:italic;color:var(--gold-soft)}
.bband__p{color:rgba(247,244,238,.78);max-width:46ch}
.bband__steps{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.66rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(247,244,238,.6)}
.bband__steps li::before{content:attr(data-n);font-family:var(--serif);font-size:1.1rem;font-style:italic;letter-spacing:0;color:var(--gold-soft);margin-right:6px}
.bband .btn{margin-top:6px;border-color:var(--gold-soft);color:#f7f4ee}
.bband .btn::before{background:var(--gold-soft)}
.bband:hover .btn{color:var(--ink);border-color:var(--gold-soft)}
.bband:hover .btn::before{transform:scaleX(1)}
.bband:hover .btn .arrow{transform:translateX(5px)}
@media(max-width:760px){.bband{grid-template-columns:1fr}.bband__img{aspect-ratio:16/9}}

.pjump{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:clamp(30px,4vw,44px)}
.pjump a{font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);padding:.8em 1.2em;
  border:1px solid var(--line);border-radius:999px;background:var(--surface);transition:border-color .3s,color .3s}
.pjump a:hover{border-color:var(--gold);color:var(--ink)}
.pcat[id]{scroll-margin-top:calc(var(--nav-h) + 20px)}
.pcard__custom{display:block;text-align:center;margin-top:12px;font-size:.78rem;color:var(--muted);transition:color .3s}
.pcard__custom span{border-bottom:1px solid color-mix(in oklab,var(--gold) 50%,transparent)}
.pcard__custom:hover{color:var(--gold-deep)}

/* ---------- build your day ---------- */
.bhero{padding-top:calc(var(--nav-h) + clamp(40px,6vw,80px));padding-bottom:clamp(30px,4vw,54px)}
.bhero__in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:end}
.bhero h1{font-size:clamp(2.8rem,7vw,5.6rem);margin-top:14px}
.bhero h1 em{font-style:italic;color:var(--gold)}
.bhero .lead{max-width:48ch}
@media(max-width:860px){.bhero__in{grid-template-columns:1fr}}

.bld{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:clamp(28px,4vw,64px);align-items:start;padding-bottom:clamp(60px,8vw,120px)}
.bstep{padding:clamp(28px,4vw,44px) 0;border-top:1px solid var(--line)}
.bstep--wait{opacity:.38;pointer-events:none;transition:opacity .6s var(--ease)}
.bstep--wait.is-open{opacity:1;pointer-events:auto}
.bstep__head{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 16px;margin-bottom:clamp(18px,2.4vw,26px)}
.bstep__no{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--gold)}
.bstep__head h2{font-size:clamp(1.8rem,3.2vw,2.5rem)}
.bstep__note{flex-basis:100%;font-size:.86rem;color:var(--muted)}

.bcovers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.6vw,18px)}
.bcover{position:relative;display:grid;grid-template-columns:40% 1fr;min-height:150px;background:var(--surface);border:1px solid var(--line);border-radius:6px;
  overflow:hidden;cursor:pointer;transition:border-color .4s var(--ease),box-shadow .4s var(--ease),transform .4s var(--ease)}
.bcover:hover{border-color:color-mix(in oklab,var(--gold) 60%,transparent);transform:translateY(-2px)}
.bcover input{position:absolute;opacity:0;pointer-events:none}
.bcover__img{overflow:hidden}
.bcover__img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.bcover:hover .bcover__img img{transform:scale(1.05)}
.bcover__body{display:flex;flex-direction:column;gap:6px;padding:16px 18px}
.bcover__name{font-family:var(--serif);font-size:1.5rem;line-height:1.05;color:var(--ink)}
.bcover__desc{font-size:.84rem;line-height:1.45;color:var(--ink-dim)}
.bcover__from{margin-top:auto;font-size:.64rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.bcover__from b{font-family:var(--serif);font-size:1.25rem;font-weight:500;letter-spacing:0;text-transform:none;color:var(--gold-deep);margin-left:4px}
.bcover:has(input:checked){border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),var(--shadow)}
.bcover:has(input:checked)::after{content:"";position:absolute;top:10px;left:10px;width:26px;height:26px;border-radius:50%;background:var(--gold)
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/15px no-repeat}
.bcover:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:600px){.bcovers{grid-template-columns:1fr}.bcover{min-height:128px}}

.bhours{display:grid;grid-template-columns:auto 1fr;gap:18px 32px;align-items:center}
.bhours__dial{display:flex;align-items:center;gap:14px}
.bdial{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--surface);font-size:1.4rem;line-height:1;color:var(--ink);cursor:pointer;
  transition:border-color .3s,background .3s,color .3s}
.bdial:hover:not(:disabled){border-color:var(--ink);background:var(--ink);color:var(--bg)}
.bdial:disabled{opacity:.3;cursor:default}
.bhours__n{display:flex;flex-direction:column;align-items:center;min-width:74px}
.bhours__n b{font-family:var(--serif);font-weight:500;font-size:3.4rem;line-height:.9;color:var(--ink);font-variant-numeric:lining-nums tabular-nums}
.bhours__n span{font-size:.62rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.bhours__range{width:100%;accent-color:var(--gold);height:28px}
.bday{grid-column:1/-1;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.bday li{font-size:.8rem;padding:.5em .95em;border:1px dashed var(--line);border-radius:999px;color:var(--muted);transition:all .45s var(--ease)}
.bday li.on{border-style:solid;border-color:color-mix(in oklab,var(--gold) 55%,transparent);background:color-mix(in oklab,var(--gold) 9%,var(--surface));color:var(--ink)}
@media(max-width:600px){.bhours{grid-template-columns:1fr}.bhours__dial{justify-content:center}}

.bteam{display:grid;gap:10px}
.bteam__row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:6px}
.bteam__row h3{font-size:1.35rem}
.bteam__row p{font-size:.84rem;color:var(--ink-dim);line-height:1.45;margin-top:2px;max-width:52ch}
.bseg{display:flex;padding:3px;border:1px solid var(--line);border-radius:999px;background:var(--bg)}
.bseg label{position:relative;cursor:pointer}
.bseg input{position:absolute;opacity:0}
.bseg span{display:flex;align-items:baseline;gap:6px;min-width:52px;justify-content:center;padding:.6em 1.1em;border-radius:999px;font-weight:600;font-size:.9rem;color:var(--ink-soft);
  transition:background .35s var(--ease),color .35s var(--ease);white-space:nowrap}
.bseg span small{font-weight:500;font-size:.72rem;color:var(--muted)}
.bseg input:checked + span{background:var(--ink);color:var(--bg)}
.bseg input:checked + span small{color:rgba(247,244,238,.7)}
.bseg input:focus-visible + span{outline:2px solid var(--gold);outline-offset:2px}
@media(max-width:600px){.bteam__row{grid-template-columns:1fr}.bseg{justify-self:start}}

.balbums{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:12px}
.balbum,.bextra{position:relative;display:grid;gap:4px;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:6px;cursor:pointer;
  transition:border-color .35s var(--ease),box-shadow .35s var(--ease)}
.balbum input,.bextra input{position:absolute;opacity:0}
.balbum__t,.bextra__t{font-family:var(--serif);font-size:1.3rem;line-height:1.1;color:var(--ink);padding-right:28px}
.balbum__d,.bextra__d{font-size:.8rem;line-height:1.45;color:var(--ink-dim)}
.balbum__d em{font-style:normal}
.balbum__p,.bextra__p{font-family:var(--serif);font-size:1.2rem;color:var(--gold-deep);margin-top:4px}
.balbum::after,.bextra::after{content:"";position:absolute;top:16px;right:16px;width:20px;height:20px;border:1px solid var(--line);border-radius:50%;transition:all .3s var(--ease)}
.bextra::after{border-radius:5px}
.balbum:has(input:checked),.bextra:has(input:checked){border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.balbum:has(input:checked)::after,.bextra:has(input:checked)::after{background:var(--gold)
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/13px no-repeat;border-color:var(--gold)}
.balbum:has(input:focus-visible),.bextra:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px}
.bextras{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.balbum[hidden],.bextra[hidden],.bteam__row[hidden],.bday[hidden]{display:none}

/* the call sheet */
/* styles.css sets overflow-x:hidden on body, which turns the body into its
   own scroller and quietly stops position:sticky; clip hides the same overflow
   without that side effect. Only here, where something sticks. */
body:has(.bld){overflow-x:clip}
.bsheet{position:sticky;top:calc(var(--nav-h) + 16px);max-height:calc(100vh - var(--nav-h) - 32px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}
.slate{position:relative;background:var(--dark);color:#f7f4ee}
.slate__clap{height:22px;background:repeating-linear-gradient(-58deg,#f7f4ee 0 16px,var(--dark) 16px 32px);border-bottom:2px solid var(--dark);
  transform-origin:0 100%;transition:transform .35s var(--ease)}
.bsheet.clap .slate__clap{animation:clap .5s var(--ease)}
@keyframes clap{0%{transform:rotate(0)}35%{transform:rotate(-9deg)}100%{transform:rotate(0)}}
.slate__meta{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(247,244,238,.18)}
.slate__meta > div{padding:10px 14px;border-right:1px solid rgba(247,244,238,.14);border-bottom:1px solid rgba(247,244,238,.14);min-width:0}
.slate__meta > div:nth-child(2n){border-right:0}
.slate__meta dt,.slate__meta dt label{font-size:.56rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft)}
.slate__meta dd{font-family:var(--serif);font-size:1.12rem;line-height:1.25;color:#f7f4ee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.slate__date input{width:100%;background:transparent;border:0;color:#f7f4ee;font-family:var(--serif);font-size:1.05rem;color-scheme:dark;padding:0;outline:none}
.slate__date input:focus{box-shadow:0 1px 0 var(--gold-soft)}
.slate__x{display:none}
.bsheet__body{padding:18px 20px 22px;display:grid;gap:14px}
.bsheet__empty{font-size:.92rem;color:var(--muted)}
.bsheet__empty a{color:var(--gold-deep);border-bottom:1px solid currentColor}
.bsheet__lines{list-style:none;display:grid;gap:9px;margin:0}
.bl{display:flex;justify-content:space-between;gap:14px;font-size:.86rem;color:var(--ink-soft);line-height:1.35;animation:blin .45s var(--ease) both}
.bl b{font-weight:600;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.bl--cov{color:var(--muted);font-size:.78rem}
.bl--cov span,.bl--cov b{text-decoration:line-through;text-decoration-color:color-mix(in oklab,var(--gold) 70%,transparent);font-weight:400;color:var(--muted)}
.bl--deal{padding:8px 10px;margin:2px -10px;border-radius:6px;background:color-mix(in oklab,var(--gold) 11%,var(--surface));color:var(--ink)}
.bl--free b{font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep)}
.bl--promo{color:var(--gold-deep)}
.bl--promo b{color:var(--gold-deep)}
@keyframes blin{from{opacity:0;transform:translateY(4px)}}
.bsheet__deal{font-size:.84rem;line-height:1.45;color:var(--ink-dim);padding:10px 12px;border:1px dashed color-mix(in oklab,var(--gold) 60%,transparent);border-radius:6px}
.bsheet__deal b{color:var(--gold-deep);font-weight:600}
.bsheet__total{display:flex;align-items:baseline;gap:10px;padding-top:14px;border-top:1px solid var(--ink)}
.bsheet__total span{font-size:.64rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-right:auto}
.bsheet__total s{font-family:var(--serif);font-size:1.1rem;color:var(--muted)}
.bsheet__total b{font-family:var(--serif);font-weight:500;font-size:2.6rem;line-height:1;color:var(--ink);font-variant-numeric:lining-nums tabular-nums}
.bsheet__get{font-size:.8rem;line-height:1.55;color:var(--ink-dim)}
.bsheet__get span{font-size:.6rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-right:4px}
.bsheet__go{width:100%;justify-content:center}
.bsheet__fine{font-size:.76rem;line-height:1.5;color:var(--muted);text-align:center}
.bbar{display:none}
@media(max-width:900px){
  .bld{grid-template-columns:1fr}
  .bsheet{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:230;max-height:86svh;overflow:auto;border-radius:12px 12px 0 0;
    transform:translateY(105%);transition:transform .5s var(--ease);padding-bottom:env(safe-area-inset-bottom,0px)}
  body.bsheet-open .bsheet{transform:none}
  .slate__x{display:block;position:absolute;right:8px;top:28px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(247,244,238,.1);color:#f7f4ee;font-size:1.3rem;cursor:pointer}
  .slate__meta > div:nth-child(2){padding-right:48px}
  .bbar{display:flex;align-items:center;gap:12px;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:220;
    padding:12px 16px;border:0;border-radius:10px;background:var(--dark);color:#f7f4ee;box-shadow:0 18px 40px -16px rgba(22,20,15,.6);cursor:pointer;font:inherit}
  .bbar[hidden]{display:none}
  .bbar__t{font-size:.64rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft)}
  .bbar__sum{font-family:var(--serif);font-weight:500;font-size:1.5rem;margin-right:auto}
  .bbar__go{font-size:.66rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:.8em 1em;border:1px solid rgba(247,244,238,.35);border-radius:7px}
  .bbar.bump{animation:bump .45s var(--ease)}
  body.bsheet-open .bbar{opacity:0;pointer-events:none}
  .bld{padding-bottom:110px}
}
@keyframes bump{40%{transform:translateY(-4px)}}

/* ---------- the inquiry form: receipt, promise, thank-you ---------- */
.breceipt{padding:18px 20px;background:var(--surface);border:1px solid var(--gold);border-radius:8px}
.breceipt__h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.breceipt__h h3{font-size:1.5rem}
.breceipt__h a{font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);border-bottom:1px solid currentColor}
.breceipt ol{list-style:none;display:grid;gap:6px;margin:0 0 10px}
.breceipt li{display:flex;justify-content:space-between;gap:14px;font-size:.86rem;color:var(--ink-soft)}
.breceipt li b{font-weight:600;color:var(--ink);white-space:nowrap}
.breceipt li.is-free b{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep)}
.breceipt li.is-promo,.breceipt li.is-promo b{color:var(--gold-deep)}
.breceipt__t{display:flex;justify-content:space-between;align-items:baseline;padding-top:10px;border-top:1px solid var(--ink)}
.breceipt__t span{font-size:.62rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.breceipt__t b{font-family:var(--serif);font-weight:500;font-size:2rem;color:var(--ink)}
.cform__promise{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.8rem;color:var(--ink-dim)}
.cform__promise span{display:inline-flex;align-items:center;gap:8px}
.cform__promise span::before{content:"";width:12px;height:7px;border-left:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(-45deg) translateY(-2px)}
.cthanks{padding:clamp(26px,4vw,40px);background:var(--surface);border:1px solid var(--gold);border-radius:8px;animation:blin .6s var(--ease) both}
.cthanks h3{font-size:clamp(2rem,4vw,2.8rem);margin:10px 0 10px}
.cthanks h3 em{font-style:italic;color:var(--gold)}
.cthanks p{color:var(--ink-dim);max-width:52ch}
.cthanks ol{list-style:none;display:grid;gap:10px;margin:20px 0 24px;counter-reset:t}
.cthanks li{display:grid;grid-template-columns:28px 1fr;gap:10px;font-size:.92rem;color:var(--ink-soft);counter-increment:t}
.cthanks li::before{content:counter(t);font-family:var(--serif);font-style:italic;font-size:1.3rem;line-height:1.1;color:var(--gold)}
.cthanks__links{display:flex;flex-wrap:wrap;gap:10px}
@media(prefers-reduced-motion:reduce){.bl,.cthanks{animation:none}.bsheet.clap .slate__clap{animation:none}}


/* ---------- home: a note from us, and the date check ---------- */
.hnote{padding-block:clamp(10px,2vw,30px) clamp(56px,8vw,110px)}
.hnote__in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,5.5vw,90px);align-items:center}
.hnote__img{position:relative;margin:0}
.hnote__img::before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid color-mix(in oklab,var(--gold) 55%,transparent);border-radius:6px;z-index:0}
.hnote__img img{position:relative;z-index:1;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;border-radius:6px;box-shadow:var(--shadow)}
.hnote__body h2{font-size:clamp(2.2rem,4.4vw,3.6rem);margin:14px 0 18px}
.hnote__body h2 em{font-style:italic;color:var(--gold)}
.hnote__txt{display:grid;gap:14px;max-width:54ch}
.hnote__txt p{font-size:1.05rem;color:var(--ink-dim)}
.hnote__sign{font-family:var(--serif);font-style:italic;font-size:1.7rem;color:var(--gold);margin:14px 0 0}
.hnote__sign::before{content:"— ";color:color-mix(in oklab,var(--gold) 60%,transparent)}
.hnote .dcheck{margin-top:clamp(24px,3.5vw,36px)}
.hnote__alt{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}
.hnote__alt span{font-size:.86rem;color:var(--muted);max-width:32ch}
#check{scroll-margin-top:calc(var(--nav-h) + 30px)}
@media(max-width:860px){
  .hnote__in{grid-template-columns:1fr}
  .hnote__img{max-width:420px;margin:0 auto 10px;width:calc(100% - 18px)}
  .hnote__img img{aspect-ratio:5/4}
}
.cta__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.cta__btns .btn:not(.btn--solid){color:#fff;border-color:rgba(255,255,255,.55)}
.cta__btns .btn:not(.btn--solid)::before{background:#fbf8f2}
.cta__btns .btn:not(.btn--solid):hover{color:var(--ink);border-color:#fbf8f2}

/* ---------- builder: what each collection includes, and extra hours ---------- */
.bcmp{margin-top:16px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}
.bcmp[hidden]{display:none}
.bcmp summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;
  font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.bcmp summary::-webkit-details-marker{display:none}
.bcmp summary::after{content:"";width:9px;height:9px;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(45deg) translateY(-3px);transition:transform .35s var(--ease)}
.bcmp[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.bcmp summary:hover{color:var(--ink)}
.bcmp summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.bcmp__set{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;padding:0 12px 12px}
.bcmp__set[hidden]{display:none}
.bcmp__col{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--line);border-radius:6px;background:var(--bg)}
.bcmp__col.is-used{border-color:var(--gold);background:color-mix(in oklab,var(--gold) 6%,var(--surface));box-shadow:0 0 0 1px var(--gold)}
.bcmp__used{display:none;font-size:.58rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep)}
.bcmp__col.is-used .bcmp__used{display:block}
.bcmp__col h3{font-size:1.35rem}
.bcmp__p{font-size:.8rem;color:var(--muted)}
.bcmp__p b{font-family:var(--serif);font-size:1.2rem;font-weight:500;color:var(--gold-deep)}
.bcmp__col ul{list-style:none;display:grid;gap:6px;margin:6px 0 10px;flex:1}
.bcmp__col li{position:relative;padding-left:20px;font-size:.8rem;line-height:1.4;color:var(--ink-dim)}
.bcmp__col li::before{content:"";position:absolute;left:0;top:.45em;width:10px;height:6px;border-left:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(-45deg)}
.bcmp__use{align-self:flex-start;border:1px solid color-mix(in oklab,var(--gold) 62%,transparent);background:transparent;border-radius:7px;padding:.65em 1em;
  font:inherit;font-size:.62rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.bcmp__use:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.bcmp__col.is-used .bcmp__use{display:none}
.bhours__x{grid-column:1/-1;font-size:.86rem;color:var(--ink-dim);padding:10px 14px;border:1px dashed color-mix(in oklab,var(--gold) 60%,transparent);border-radius:6px;background:color-mix(in oklab,var(--gold) 5%,var(--surface))}
.bhours__x[hidden]{display:none}
.bhours__x b{color:var(--gold-deep);font-weight:600}
.bsheet__get ul{list-style:none;display:grid;gap:5px;margin-top:8px}
.bsheet__get li{position:relative;padding-left:18px;font-size:.8rem;line-height:1.4;color:var(--ink-dim)}
.bsheet__get li::before{content:"";position:absolute;left:0;top:.45em;width:9px;height:5px;border-left:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(-45deg)}
.bl--hours{color:var(--ink-soft)}
.balbums[hidden]{display:none}

/* "Is that date open?" under a date field (assets/js/datecheck.js). */
.datecheck{margin:10px 0 0;font-size:.84rem;line-height:1.45;display:flex;gap:8px;align-items:flex-start;font-family:var(--sans)}
.datecheck::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;margin-top:.5em;background:currentColor}
.datecheck.is-open{color:#2f6b4f}
.datecheck.is-booked{color:#9a4f1c}
.datecheck.is-past{color:var(--ink-soft)}
.dcheck .datecheck{margin:12px 2px 0}
