:root{
  --claret:#5C1A22; --claret-2:#3D0F16; --claret-3:#7A3038;
  --parch:#EFE7DA; --parch-2:#F7F1E7; --parch-3:#E2D6C4;
  --walnut:#2A1E18; --soot:#16100D;
  --ink:#241A16; --ink-2:#4E3C34; --muted:#7A6659;
  --brass:#A98B54; --brass-hair:rgba(169,139,84,.5); --bone:#D3BFA6;
  --f-disp:"EB Garamond",Georgia,serif; --f-ui:Jost,system-ui,sans-serif;
  --rule:rgba(92,26,34,.26); --rule-2:rgba(92,26,34,.12);
  --wrap:1180px;
  --hdmin:44px; --tabh:69px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--parch);color:var(--ink);
  font-family:var(--f-disp);font-size:19px;line-height:1.55;-webkit-font-smoothing:antialiased;
  padding-bottom:env(safe-area-inset-bottom,0px)}
img,video,svg{max-width:100%;display:block}
h1,h2,h3{font-family:var(--f-disp);margin:0;line-height:1.08;font-weight:400;text-wrap:balance}
p{margin:0}
a{color:inherit}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding-inline:20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}

/* ---------- his devices ---------- */
.lab{font-family:var(--f-ui);font-size:.56rem;letter-spacing:.3em;text-transform:uppercase;font-weight:500}
.rn{font-family:var(--f-ui);font-size:.56rem;letter-spacing:.26em;color:var(--brass);font-weight:500}
.btn{display:inline-flex;align-items:center;gap:.7rem;cursor:pointer;text-decoration:none;
  font-family:var(--f-ui);font-weight:500;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;
  padding:.85rem 1.7rem;border:1px solid currentColor;background:transparent;border-radius:999px;
  transition:background .18s,color .18s;white-space:nowrap}
.btn .arw{display:grid;place-items:center;width:19px;height:19px;border:1px solid currentColor;
  border-radius:50%;font-size:.58rem;line-height:1;flex:0 0 auto}
.btn--solid{background:var(--claret);border-color:var(--claret);color:var(--parch-2)}
.btn--solid:hover{background:var(--claret-2);border-color:var(--claret-2)}
.btn--line{color:var(--claret);border-color:var(--rule)}
.btn--line:hover{background:var(--claret);border-color:var(--claret);color:var(--parch-2)}
.btn--onDark{color:var(--bone);border-color:rgba(169,139,84,.55)}
.btn--onDark:hover{background:var(--bone);border-color:var(--bone);color:var(--soot)}
.btn--sm{padding:.6rem 1.15rem;font-size:.55rem}
.mk{color:inherit}
.hair{height:1px;background:var(--brass);opacity:.5;border:0;margin:0}

/* ---------- header ---------- */
.ann{background:var(--claret-2);color:var(--parch-2);text-align:center}
.ann p{font-family:var(--f-ui);font-size:.52rem;letter-spacing:.3em;text-transform:uppercase;padding-block:.55rem}
.head{position:sticky;top:env(safe-area-inset-top,0px);z-index:70;background:var(--parch-2);
  border-bottom:1px solid var(--rule)}
.headin{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  gap:clamp(1rem,4vw,3rem);padding-block:clamp(.8rem,1.8vw,1.2rem);
  transition:padding .22s ease}
.navside{display:flex;align-items:center;gap:clamp(.8rem,2.6vw,2.1rem)}
.navside.l{justify-content:flex-end}
.navside.r{justify-content:flex-start}
.navside a{font-family:var(--f-ui);font-size:.57rem;letter-spacing:.2em;text-transform:uppercase;
  text-decoration:none;color:var(--ink-2);white-space:nowrap;padding-bottom:.25rem;
  border-bottom:1px solid transparent;transition:.15s}
.navside a:hover{color:var(--claret);border-bottom-color:var(--brass-hair)}
.navside a[aria-current="page"]{color:var(--claret);border-bottom-color:var(--brass)}
.headfoot{display:flex;align-items:center;justify-content:center;gap:.9rem;
  font-family:var(--f-ui);font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);padding-bottom:.85rem;text-align:center;flex-wrap:wrap}
.headfoot i{width:4px;height:4px;transform:rotate(45deg);background:var(--brass);display:block;flex:0 0 auto}
.headfoot a{color:var(--claret);text-decoration:none;border-bottom:1px solid var(--brass-hair)}
/* Once you are past the masthead the header gives the screen back. It collapses
   rather than snapping: display:none cannot be animated, so the parts that go
   away lose their height and opacity over a fifth of a second instead. */
.lock .nm,.lock .sub{overflow:hidden;
  transition:opacity .16s ease,max-height .22s ease,margin .22s ease}
.lock .nm{max-height:2.2em}
.lock .sub{max-height:1.4em}
.lock .mk{transition:width .22s ease}
.headfoot{overflow:hidden;transition:opacity .16s ease,max-height .22s ease,padding .22s ease}
.hdmin .headin{padding-block:.42rem}
.hdmin .lock{gap:0}
.hdmin .lock .nm,.hdmin .lock .sub{opacity:0;max-height:0;margin:0}
.hdmin .lock .mk{width:30px}
.hdmin .headfoot{opacity:0;max-height:0;padding-bottom:0}
.lock{display:grid;justify-items:center;gap:.35rem;text-decoration:none}
.lock .mk{width:clamp(38px,4.4vw,50px)}
.lock .nm{font-family:var(--f-disp);font-size:clamp(1.15rem,2.3vw,1.6rem);letter-spacing:.06em;
  color:var(--claret-2);line-height:1}
.lock .sub{font-family:var(--f-ui);font-size:.46rem;letter-spacing:.44em;text-transform:uppercase;
  color:var(--brass);padding-left:.44em}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--soot);overflow:hidden}
.hero video,.hero img.bg{width:100%;height:clamp(440px,70vh,660px);object-fit:cover;
  object-position:50% 32%;opacity:.55}
.hero img.bg{display:none}
@media(prefers-reduced-motion:reduce){.hero video{display:none}.hero img.bg{display:block}}
.hero .over{position:absolute;inset:0;display:grid;place-items:center;text-align:center;
  background:radial-gradient(ellipse at 50% 50%,rgba(22,16,13,.18),rgba(22,16,13,.86) 74%)}
.hero .in{padding-inline:20px;max-width:900px;display:grid;justify-items:center}
.kick{display:flex;align-items:center;gap:clamp(.6rem,2.2vw,1.6rem);margin-bottom:1.2rem;
  font-family:var(--f-ui);font-size:.54rem;letter-spacing:.28em;text-transform:uppercase;color:var(--bone);
  flex-wrap:wrap;justify-content:center}
.kick i{width:clamp(14px,3.6vw,38px);height:1px;background:var(--brass);display:block}
.hero h1{font-size:clamp(2.2rem,5.2vw,4rem);max-width:17ch;color:#F8F2E6}
.hero h1 em{font-style:italic;color:var(--bone)}
.hero .lede{margin-top:1.2rem;max-width:44ch;color:rgba(248,242,230,.76);font-size:1.02rem}
.hero .mk{width:38px;color:var(--brass);margin:1.7rem 0 1.05rem}
.hero .acts{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:center}

/* ---------- bill of fare (his) ---------- */
.bill{background:var(--claret);color:var(--parch-2)}
.bill .wrap{padding-block:clamp(1.3rem,2.8vw,1.9rem)}
.bill .row{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}
.bill .item{font-family:var(--f-ui);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(247,241,231,.78)}
.bill .item b{color:var(--bone);font-weight:500}
/* All day is the one most people book, so it carries the brass rule the rest
   of the site uses to mark the current thing. */
.bill .item--all{color:#F8F2E6;padding-bottom:.3rem;border-bottom:1px solid var(--brass)}
@media (min-width:760px){
  .bill .row{flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:.9rem 2.6rem}
  .bill .item--cer{order:1}
  .bill .item--all{order:2}
  .bill .item--half{order:3}
}
.bill .inc{text-align:center;margin-top:.9rem;padding-top:.9rem;border-top:1px solid rgba(211,191,166,.28);
  font-family:var(--f-ui);font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(247,241,231,.62)}
.bill a.more{color:var(--bone);text-decoration:none;border-bottom:1px solid rgba(211,191,166,.5)}

/* ---------- split ---------- */
.split{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);background:var(--parch-2)}
.split.flip{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
.split.flip .pic{order:2;border-right:0;border-left:1px solid var(--rule)}
.split .pic{position:relative;min-height:clamp(340px,50vw,620px);border-right:1px solid var(--rule)}
.split .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split .txt{padding:clamp(1.8rem,4.2vw,3.8rem) clamp(1.3rem,3.8vw,3.4rem);display:flex;align-items:center}
.split .inner{max-width:54ch;width:100%}
.split .byline{font-family:var(--f-ui);font-size:.52rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--muted);margin-bottom:1rem}
.split h2{font-size:clamp(1.7rem,3.5vw,2.6rem);color:var(--claret-2);margin-bottom:1.2rem}
.split h2 em{font-style:italic;color:var(--claret)}
.split p{margin-bottom:.95rem;color:var(--ink-2)}
.split .sign{display:flex;align-items:center;gap:.8rem;margin-top:1.5rem;padding-top:1.1rem;
  border-top:1px solid var(--brass-hair)}
.split .sign .mk{width:30px;color:var(--brass);flex:0 0 auto}
.split .sign span{font-family:var(--f-ui);font-size:.54rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--muted);line-height:1.5}

/* testimonial inside a split */
.qtext p{font-size:1.04rem;font-style:italic;color:var(--ink)}
.qfilm video{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--rule-2);background:var(--walnut)}
.qwho{font-family:var(--f-ui);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--claret);margin-top:1.1rem;font-weight:500}
.qmeta{font-family:var(--f-ui);font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);margin-top:.3rem}
.qshout{font-family:var(--f-ui);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--claret);font-weight:600;margin-bottom:.8rem}
.tnav{display:flex;gap:.5rem;align-items:center;margin-top:1.4rem;padding-top:1.1rem;
  border-top:1px solid var(--rule-2)}
.tnav button{appearance:none;background:transparent;border:1px solid var(--rule);cursor:pointer;
  width:34px;height:34px;border-radius:50%;color:var(--claret);font-size:.78rem;line-height:1;transition:.15s}
.tnav button:hover{background:var(--claret);color:var(--parch-2);border-color:var(--claret)}
.tnav .dots{display:flex;gap:.45rem;margin-left:.5rem}
.tnav .dots button{width:8px;height:8px;border-radius:50%;padding:0;background:var(--rule);border:0}
.tnav .dots button.on{background:var(--claret)}
.tnav .count{font-family:var(--f-ui);font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);margin-left:auto}

/* ---------- guarantee ribbon (his original device) ---------- */
.gbar{background:var(--parch-3);border-block:1px solid var(--brass-hair)}
.gbar .wrap{display:flex;align-items:center;gap:.7rem 1.5rem;flex-wrap:wrap;padding-block:.95rem}
.gbar ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;
  gap:.4rem clamp(.9rem,1.8vw,1.7rem);flex:1 1 auto}
.gbar li{font-size:.9rem;color:var(--ink-2);position:relative;padding-left:1.15rem;white-space:nowrap}
.gbar li::before{content:"\2726";position:absolute;left:0;top:.12em;color:var(--brass);font-size:.62rem}

/* ---------- listen ---------- */
.sec{background:var(--parch)}
.sec--alt{background:var(--parch-2);border-block:1px solid var(--rule-2)}
.sec .wrap{padding-block:clamp(2.2rem,4.6vw,3.6rem)}
.hd{text-align:center;display:grid;justify-items:center;gap:.9rem}
.hd .mk{width:32px;color:var(--brass)}
.hd .lab{color:var(--claret)}
.hd h1,.hd h2{font-size:clamp(1.7rem,3.4vw,2.5rem);color:var(--claret-2);max-width:22ch}
.hd h1 em,.hd h2 em{font-style:italic;color:var(--claret)}
.hd .sub{max-width:54ch;color:var(--ink-2);font-family:var(--f-disp);font-size:1rem;
  font-weight:400;line-height:1.5}
.tracks{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.2rem}
.track{background:var(--parch-2);border:1px solid var(--rule-2);border-top:2px solid var(--brass);
  padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.45rem}
.sec--alt .track{background:var(--parch)}
.track b{font-size:1.14rem;font-weight:500;color:var(--claret-2)}
.track .len{font-family:var(--f-ui);font-size:.54rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.track p{color:var(--muted);font-size:.96rem;flex:1}
.track audio{width:100%;margin-top:.5rem;height:34px}
.cen{text-align:center;margin-top:2rem}

/* ---------- after dark ---------- */
.dark{position:relative;background:var(--soot);color:#EDE2D0;overflow:hidden}
.dark video.bg,.dark img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.36}
.dark img.bg{display:none}
@media(prefers-reduced-motion:reduce){.dark video.bg{display:none}.dark img.bg{display:block}}
.dark .wrap{position:relative;padding-block:clamp(2.8rem,6vw,4.6rem)}
.dark .in{max-width:42ch}
.dark .lab{color:var(--brass)}
.dark h2{font-size:clamp(1.8rem,3.6vw,2.7rem);color:#F8F2E6;margin:1rem 0 1rem;max-width:16ch}
.dark h2 em{font-style:italic;color:var(--bone)}
.dark p{color:rgba(237,226,208,.76);margin-bottom:.9rem}
.dark .acts{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.2rem}

/* ---------- venues ---------- */
.ven{background:var(--parch-2);border-block:1px solid var(--rule-2);overflow:hidden}
.ven .wrap{padding-block:clamp(1.4rem,3vw,2rem)}
.ven .lab{text-align:center;color:var(--muted);margin-bottom:1.1rem}
.marq{display:flex;gap:clamp(2rem,6vw,4.5rem);align-items:center;width:max-content;
  animation:slide 34s linear infinite}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marq img{opacity:.62;filter:grayscale(1)}
.marqwrap{position:relative;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
@media(prefers-reduced-motion:reduce){.marq{animation:none;flex-wrap:wrap;width:auto;justify-content:center}}

/* ---------- closing CTA ---------- */
.cta{position:relative;background:var(--claret);color:var(--parch-2);overflow:clip}
/* clip, not hidden: overflow:hidden on an ancestor silently kills position:sticky,
   and the left column of this panel needs to stick beside the long enquiry form. */
.cta .mkhold{position:absolute;right:clamp(1rem,6vw,6rem);top:50%;transform:translateY(-50%);
  height:min(70%,280px);color:rgba(211,191,166,.19);pointer-events:none}
.cta .mkhold .mk{height:100%;width:auto}
.cta .wrap{position:relative;padding-block:clamp(2.6rem,6vw,4.4rem)}
.cta .lab{color:var(--bone);opacity:.8;margin-bottom:1rem}
.cta h1,.cta h2{font-size:clamp(2rem,5vw,3.6rem);max-width:13ch;color:#F8F2E6;line-height:1.05;
  font-weight:400}
.cta p{margin-top:1rem;max-width:36ch;color:rgba(248,242,230,.78)}
.cta .acts{margin-top:1.7rem;display:flex;gap:.7rem;flex-wrap:wrap}
.cta .ctamail{margin-top:1.1rem;font-family:var(--f-ui);font-size:.56rem;letter-spacing:.16em;
  text-transform:uppercase}
.cta .ctamail a{color:var(--bone);text-decoration:none;border-bottom:1px solid rgba(169,139,84,.5)}
.cta .grid{position:relative;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:2rem 3.2rem;align-items:start}
/* the real enquiry form is long, so the words stay with you while you fill it in */
.cta .grid .l{max-width:34ch;position:sticky;top:calc(var(--hdmin) + 1.6rem)}
.cta .card{background:var(--parch-2);border:1px solid rgba(211,191,166,.3);
  border-top:2px solid var(--bone);padding:clamp(1.2rem,2.6vw,1.8rem);color:var(--ink)}
.cta .card label{display:block;font-family:var(--f-ui);font-size:.52rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}
.cta .card input,.cta .card textarea{width:100%;font-family:var(--f-ui);font-size:.84rem;
  padding:.68rem .8rem;border:1px solid var(--rule);background:var(--parch);color:var(--ink);
  margin-bottom:.8rem}
.cta .card textarea{min-height:78px;resize:vertical;font-family:var(--f-disp);font-size:.98rem}
.cta .card .two{display:grid;grid-template-columns:1fr 1fr;gap:0 .9rem}
.cta .card .note{font-family:var(--f-ui);font-size:.5rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--muted);margin-top:.5rem;line-height:1.7}
.cta .card .done{font-size:1rem;color:var(--claret-2)}

/* ---------- footer (his original) ---------- */
.ft{background:var(--parch-3);border-top:1px solid var(--brass-hair)}
.ft .wrap{padding-block:clamp(1.8rem,3.8vw,2.6rem)}
.ft .g{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.4rem 2.6rem;align-items:start}
.ft .eyebrow{font-family:var(--f-ui);font-size:.56rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--brass);margin-bottom:.7rem;font-weight:500}
.ft h2{font-size:clamp(1.3rem,2.4vw,1.85rem);max-width:19ch;color:var(--claret-2)}
.ft h2 em{font-style:italic;color:var(--claret)}
.flinks{display:grid;gap:.4rem;font-family:var(--f-ui);font-size:.6rem;
  letter-spacing:.16em;text-transform:uppercase}
.flinks a{color:var(--ink-2);text-decoration:none}
.flinks a:hover{color:var(--claret)}
.metaline{border-top:1px solid var(--rule-2);margin-top:1.5rem;padding-top:1rem;
  display:flex;gap:.4rem 1.4rem;flex-wrap:wrap;align-items:baseline}
.metaline .mk{width:24px;color:var(--brass);flex:0 0 auto}
.nap,.legal{font-family:var(--f-ui);font-size:.55rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--muted);margin:0}

/* ---------- sticky enquire, phones ---------- */
.stick{position:fixed;left:0;right:0;bottom:0;z-index:80;display:none;
  background:var(--claret);border-top:1px solid rgba(211,191,166,.35);
  padding:.65rem 16px calc(.65rem + env(safe-area-inset-bottom,0px))}
.stick .in{display:flex;gap:.8rem;align-items:center;justify-content:space-between;max-width:560px;margin:0 auto}
.stick .p{font-family:var(--f-ui);font-size:.54rem;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(247,241,231,.78);line-height:1.4}
.stick .p b{color:var(--bone);font-weight:500;display:block}
.stick .btn{color:var(--bone);border-color:rgba(211,191,166,.6)}

/* ---------- pricing page ---------- */
.pktabs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule-2);
  border:1px solid var(--rule-2);margin-top:2rem;
  position:sticky;top:var(--hdmin,44px);z-index:40;
  box-shadow:0 -14px 0 0 var(--parch), 0 10px 18px -16px rgba(22,16,13,.5)}
.pktab{appearance:none;background:var(--parch-2);border:0;cursor:pointer;padding:1rem .9rem;
  display:grid;gap:.25rem;position:relative;transition:.15s;text-align:center}
.pktab .nm{font-family:var(--f-disp);font-size:1.12rem;color:var(--ink)}
.pktab .pr{font-family:var(--f-ui);font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.pktab .tg{position:absolute;top:0;right:0;font-family:var(--f-ui);font-size:.46rem;letter-spacing:.18em;
  text-transform:uppercase;background:var(--brass);color:var(--soot);padding:.2rem .45rem}
.pktab:hover{background:var(--parch-3)}
.pktab[aria-selected="true"]{background:var(--claret)}
.pktab[aria-selected="true"] .nm,.pktab[aria-selected="true"] .pr{color:var(--parch-2)}
.pktab[aria-selected="true"] .tg{background:var(--parch-2);color:var(--claret)}
.pk{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:2rem 3rem;
  margin-top:2.2rem;align-items:start}
[hidden]{display:none !important}
.pk .price{font-size:clamp(1.9rem,4vw,2.8rem);color:var(--claret);line-height:1}
.pk .dur{font-family:var(--f-ui);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--brass);margin:.6rem 0 1rem}
.pk .lede{color:var(--ink-2);margin-bottom:1.3rem;max-width:46ch}
.incl-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--brass-hair)}
.incl-list li{padding:.85rem 0 .85rem 1.8rem;border-bottom:1px solid var(--rule-2);position:relative;
  color:var(--ink-2);font-size:1rem}
.incl-list li::before{content:"\2726";position:absolute;left:0;top:.95rem;color:var(--brass);font-size:.66rem}
.halfsw{display:flex;margin:.2rem 0 1.2rem;border:1px solid var(--rule);
  position:sticky;top:calc(var(--hdmin) + var(--tabh));z-index:39;background:var(--parch);
  box-shadow:0 -6px 0 0 var(--parch), 0 9px 16px -15px rgba(22,16,13,.5)}
.halfsw button{flex:1;appearance:none;background:transparent;border:0;cursor:pointer;
  font-family:var(--f-ui);font-size:.54rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;
  color:var(--muted);padding:.6rem .45rem;line-height:1.3;transition:.15s}
.halfsw button + button{border-left:1px solid var(--rule)}
.halfsw button[aria-selected="true"]{background:var(--claret);color:var(--parch-2)}
.pkshot img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--rule-2)}
.tie{margin-top:1.4rem;padding-top:1.1rem;border-top:1px solid var(--rule-2);color:var(--muted);
  font-size:.96rem;font-style:italic}
.tie a{color:var(--claret)}
.lines{max-width:760px;margin:2rem auto 0}
.line{display:grid;gap:.3rem;padding-block:1.1rem;border-bottom:1px dotted var(--rule)}
.line:first-child{border-top:1px dotted var(--rule)}
.line b{font-weight:500;font-size:1.16rem;color:var(--claret-2)}
.line p{color:var(--muted);font-size:.97rem;max-width:62ch}
.promise{max-width:64ch;margin:1.6rem auto 0;text-align:center;color:var(--claret);
  border-top:1px solid var(--brass-hair);padding-top:1.2rem;font-style:italic;font-size:1.04rem}
.vanrow{display:grid;grid-template-columns:1fr 1fr;gap:2rem 3rem;margin-top:2rem}
.vanrow h3{font-family:var(--f-ui);font-size:.56rem;letter-spacing:.26em;text-transform:uppercase;
  color:var(--brass);margin-bottom:.9rem;font-weight:500}

/* ---------- the worries, and what answers them ---------- */
.worries{max-width:34ch;margin:0 auto 2.6rem;text-align:center}
.worries p{font-family:var(--f-disp);font-style:italic;font-weight:400;
  font-size:clamp(1.15rem,2.5vw,1.5rem);line-height:1.45;color:var(--muted);
  padding-block:.42rem}
.worries p + p{border-top:1px solid var(--rule-2)}
.fixes{display:grid;grid-template-columns:repeat(3,1fr);gap:0 2.4rem;margin-top:2.2rem}
.fix{border-top:1px solid var(--brass-hair);padding-top:1.1rem}
.fix b{display:block;font-weight:500;font-size:1.12rem;color:var(--claret-2);
  line-height:1.3;margin-bottom:.55rem}
.fix p{color:var(--muted);font-size:.97rem}

/* ---------- the keepsake band ---------- */
.keep{background:var(--parch-2);border-block:1px solid var(--brass-hair)}
.keep .wrap{padding-block:clamp(1.1rem,2.6vw,1.6rem)}
.keep p{display:flex;align-items:center;justify-content:center;gap:clamp(.8rem,2.4vw,1.5rem)}
.keep span{text-align:center;font-family:var(--f-disp);font-style:italic;color:var(--claret);
  font-size:clamp(1.02rem,2.1vw,1.2rem);line-height:1.45;max-width:54ch;text-wrap:balance}
.keep b{font-style:normal;font-weight:500;color:var(--claret-2);letter-spacing:.01em}
.keep i{width:5px;height:5px;transform:rotate(45deg);background:var(--brass);
  display:block;flex:0 0 auto}
@media(max-width:600px){ .keep i{display:none} }

/* ---------- listen page ---------- */
.plate{position:relative}
.plate video,.plate img{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--rule-2)}
.platecap{font-family:var(--f-ui);font-size:.54rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);padding-top:.6rem}
.tilehd{text-align:center;margin-top:clamp(2.6rem,6vw,4rem);
  padding-top:1.6rem;border-top:1px solid var(--brass-hair)}
.tilehd h3{font-family:var(--f-disp);font-size:clamp(1.5rem,3.2vw,2.1rem);color:var(--claret-2);
  font-weight:400;line-height:1.15}
.tilehd p{font-family:var(--f-disp);font-style:italic;color:var(--muted);margin-top:.45rem;
  font-size:1.04rem}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule-2);
  border:1px solid var(--rule-2);margin-top:1.6rem}
.tile{background:var(--parch-2);display:grid;grid-template-rows:auto 1fr;align-content:start}
.tile img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.tile .ph{aspect-ratio:16/9;display:grid;place-items:center;background:var(--parch);
  border-bottom:1px solid var(--rule-2)}
.tile .ph span{font-family:var(--f-ui);font-size:.5rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted)}
.tile .cap{padding:.85rem 1rem 1.05rem}
.tile b{font-size:1.04rem;font-weight:500;color:var(--claret-2)}

.inclnote,.hdnote{text-align:center;max-width:62ch;margin:1.1rem auto 0;color:var(--muted);
  font-size:.95rem;line-height:1.5}

/* ---------- the guide modal, his device from the old site ---------- */
.gm{position:fixed;inset:0;z-index:960;border:0;padding:0;max-width:none;max-height:none;
  width:100%;height:100%;background:rgba(12,8,10,.88);display:none;place-items:center}
.gm[open]{display:grid}
.gm::backdrop{background:transparent}
.gm-box{position:relative;width:min(100% - 32px,500px);background:var(--parch-2);
  border:1px solid var(--rule);border-top:2px solid var(--brass);
  padding:clamp(1.5rem,4vw,2.4rem);transition:opacity .4s ease;max-height:88vh;overflow:auto}
.gm.is-closing .gm-box{opacity:0}
.gm-box h3{font-size:clamp(1.5rem,3vw,2.1rem);color:var(--claret-2);margin:.5rem 0 .5rem;max-width:20ch}
.gm-sub{color:var(--muted);font-size:1rem;margin-bottom:1.5rem;max-width:36ch}
.gm-x{position:absolute;top:.4rem;right:.6rem;background:none;border:0;color:var(--muted);
  cursor:pointer;font-size:1.5rem;line-height:1;padding:.3rem .45rem}
.gm-x:hover{color:var(--claret)}
.gm-form label{display:block;font-family:var(--f-ui);font-size:.54rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--muted);margin-bottom:.35rem}
.gm-form input{width:100%;font-family:var(--f-ui);font-size:.86rem;padding:.75rem .85rem;
  border:1px solid var(--rule);background:var(--parch);color:var(--ink);margin-bottom:1rem}
.gm-done{text-align:center;padding:.6rem 0 .2rem}
.gm-tick{display:inline-grid;place-items:center;width:3rem;height:3rem;border-radius:50%;
  border:1px solid var(--brass);color:var(--brass);font-size:1.15rem;margin-bottom:1rem}
.gm-done h3{margin:0 auto .6rem;color:var(--claret)}
.gm-done p{color:var(--ink-2);font-size:1rem;margin:0 auto 1.5rem;max-width:34ch}
/* the quiet way in, under the form rather than before it */
.guideask{position:relative;margin-top:clamp(1.8rem,4vw,2.6rem);padding-top:1.4rem;
  border-top:1px solid rgba(211,191,166,.3);display:flex;align-items:center;
  justify-content:center;gap:.9rem 1.4rem;flex-wrap:wrap;text-align:center}
/* an inline way into the guide, wherever the copy mentions it */
.lnk{appearance:none;background:none;border:0;padding:0;cursor:pointer;
  font:inherit;color:var(--claret);border-bottom:1px solid var(--brass-hair)}
.lnk:hover{border-bottom-color:var(--brass);color:var(--claret-2)}
.guideask p{font-family:var(--f-ui);font-size:.54rem;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(247,241,231,.7);line-height:1.7}

/* ---------- songs page ---------- */
.sbar{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center;margin-top:1.6rem}
.sbar input{font-family:var(--f-ui);font-size:.8rem;padding:.8rem 1rem;border:1px solid var(--rule);
  background:var(--parch-2);color:var(--ink);min-width:230px;flex:1 1 230px}
.sbar .n{font-family:var(--f-ui);font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.az{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:1rem}
.az a{font-family:var(--f-ui);font-size:.58rem;letter-spacing:.1em;text-decoration:none;
  color:var(--muted);padding:.3rem .45rem;border:1px solid transparent}
.az a:hover{color:var(--claret);border-color:var(--rule-2)}
.slist{columns:3;column-gap:2.4rem;margin-top:1.6rem}
.sgrp{break-inside:avoid;margin-bottom:1.3rem}
.sgrp h3{font-family:var(--f-ui);font-size:.6rem;letter-spacing:.26em;color:var(--brass);
  border-bottom:1px solid var(--brass-hair);padding-bottom:.35rem;margin-bottom:.55rem;font-weight:500}
.sgrp p{font-size:.97rem;color:var(--ink-2);padding-block:.16rem}
.sgrp p span{color:var(--muted);font-size:.86rem}

/* ---------- enquiry ---------- */
.formcard{background:var(--parch-2);border:1px solid var(--rule-2);border-top:2px solid var(--brass);
  padding:clamp(1.4rem,3.4vw,2.4rem);max-width:640px;margin:2rem auto 0}
.formcard label{display:block;font-family:var(--f-ui);font-size:.54rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--muted);margin-bottom:.35rem}
.formcard input,.formcard textarea,.formcard select{width:100%;font-family:var(--f-ui);font-size:.86rem;
  padding:.75rem .85rem;border:1px solid var(--rule);background:var(--parch);color:var(--ink);
  margin-bottom:1rem}
.formcard textarea{min-height:110px;resize:vertical;font-family:var(--f-disp);font-size:1rem}
.formcard .two{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.formcard .note{font-family:var(--f-ui);font-size:.54rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);margin-top:.4rem;line-height:1.7}
.contactrow{display:flex;gap:.8rem 2.4rem;flex-wrap:wrap;justify-content:center;margin-top:1.6rem;
  font-family:var(--f-ui);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.contactrow a{color:var(--claret);text-decoration:none}

/* ---------- faq ---------- */
.faq{max-width:780px;margin:2rem auto 0;border-top:1px solid var(--brass-hair)}
.faq details{border-bottom:1px solid var(--rule-2)}
.faq summary{cursor:pointer;list-style:none;padding:1.1rem 2rem 1.1rem 0;position:relative;
  font-size:1.1rem;color:var(--claret-2)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.2rem;top:1rem;color:var(--brass);font-size:1.2rem}
.faq details[open] summary::after{content:"\2013"}
.faq .a{padding:0 0 1.2rem;color:var(--ink-2)}
.faq .a p{margin-bottom:.7rem}
.faq .a p:last-child{margin-bottom:0}

/* the package tabs stay one row on a phone so the sticky strip is short */
@media(max-width:900px){
  :root{--hdmin:38px}
}
@media(max-width:620px){
  .pktab{padding:.7rem .3rem;gap:.15rem}
  .pktab .nm{font-size:.86rem;line-height:1.15}
  .pktab .pr{font-size:.46rem;letter-spacing:.1em}
  :root{--tabh:60px}
  .pktab{padding-top:1.25rem}
  .pktab .tg{left:0;right:0;font-size:.4rem;letter-spacing:.14em;padding:.2rem 0;text-align:center}
}
@media(max-width:370px){
  :root{--hdmin:62px}
}
/* below the split point the header becomes option C: lockup, then one centred row */
@media(max-width:900px){
  .headin{display:flex;flex-wrap:wrap;justify-content:center;
    gap:.35rem clamp(1rem,5vw,2.2rem);padding-block:1rem .55rem}
  .headin > .navside{display:contents}
  .lock{order:-1;flex:0 0 100%;margin-bottom:.8rem}
  /* minimised on a phone: the lockup steps out, the six links stay */
  .lock{overflow:hidden;transition:opacity .16s ease,max-height .24s ease,margin .24s ease}
  .hdmin .lock{opacity:0;max-height:0;margin-bottom:0}
  .hdmin .headin{padding-block:.5rem;gap:.15rem .85rem}
  .hdmin .navside a{font-size:.48rem;letter-spacing:.09em;padding-bottom:.18rem}
  .navside a{padding:.35rem .1rem .5rem}
  .headfoot{padding-bottom:.8rem}
}
@media(max-width:980px){
  .tiles{grid-template-columns:repeat(2,1fr)}
  .slist{columns:2}
}
@media(max-width:820px){
  body{font-size:18px}
  .split,.split.flip{grid-template-columns:1fr}
  .split .pic,.split.flip .pic{order:-1;min-height:360px;border-right:0;border-left:0;
    border-bottom:1px solid var(--rule)}
  .split .pic img{object-position:50% 20%}
  .tracks,.pk,.vanrow{grid-template-columns:1fr}
  .fixes{grid-template-columns:1fr;gap:1.6rem 0}
  .slist{columns:1}
  .cta .mkhold{position:static;transform:none;height:auto;width:82px;margin-bottom:1.3rem;
    color:rgba(211,191,166,.42)}
  .cta .mkhold .mk{width:100%;height:auto}
  .ft .g{grid-template-columns:1fr}
  .cta .grid{grid-template-columns:1fr}
  /* stacked on a phone, so sticking would sit on top of the form */
  .cta .grid .l{position:static}
  .cta .card .two{grid-template-columns:1fr}
  .formcard .two{grid-template-columns:1fr}
  .stick{display:block}
  body{padding-bottom:84px}
}
/* ---------- HubSpot embed, painted over by the iframe ---------- */
.enq-form{position:relative;min-height:320px}
.formwait{position:absolute;top:.2rem;left:0;margin:0;color:var(--muted);font-size:.95rem;z-index:0}
.enq-form .hs-form-frame{position:relative;z-index:1}
.enq-form:has(.hs-form-frame > *) .formwait{display:none}
.gm-form{min-height:260px;position:relative}
.gm-form .formwait{color:var(--muted)}
.skip{position:absolute;left:-999px;top:0;z-index:1000;background:var(--parch-2);color:var(--claret);
  padding:.7rem 1.1rem;font-family:var(--f-ui);font-size:.6rem;letter-spacing:.16em;
  text-transform:uppercase;border:1px solid var(--claret)}
.skip:focus{left:1rem;top:1rem}
