/* ============================================================
   Cortado — live music for events
   Palette, type and marks are fixed by the Cortado brand sheet.
   ============================================================ */

@font-face{font-family:"Instrument Serif";src:url("../fonts/instrument-serif.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("../fonts/instrument-serif-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Jost";src:url("../fonts/jost.woff2") format("woff2");font-weight:300 500;font-style:normal;font-display:swap}

:root{
  --ink:#161616;
  --burgundy:#421111;
  --burgundy-deep:#2b0b0b;
  --burgundy-lift:#521818;
  --gold:#ebd290;
  --gold-deep:#b8975a;
  --gold-quiet:#c4a87a;
  --cream:#f5f7f5;

  --rule:rgba(235,210,144,.22);
  --rule-strong:rgba(235,210,144,.4);

  --display:"Instrument Serif",Georgia,"Times New Roman",serif;
  --body:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;

  --gutter:clamp(1.25rem,5vw,4.5rem);
  --measure:66ch;
  --bar:4.5rem;

  --ease:cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--ink)}
body{
  margin:0;
  background:var(--burgundy);
  color:var(--cream);
  font-family:var(--body);
  font-weight:300;
  font-size:clamp(1.125rem,1.05rem + .5vw,1.3125rem);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,video,svg{display:block;max-width:100%}
h1,h2,h3{margin:0;font-weight:400;line-height:1.08}
p{margin:0}
a{color:inherit}

/* --- browser surfaces ------------------------------------- */
::selection{background:var(--gold);color:var(--burgundy-deep)}
:where(input,textarea){caret-color:var(--gold)}
html{scrollbar-color:var(--gold-deep) var(--burgundy-deep);scrollbar-width:thin}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:var(--burgundy-deep)}
::-webkit-scrollbar-thumb{background:#6d5432;border:3px solid var(--burgundy-deep);border-radius:99px}
::-webkit-scrollbar-thumb:hover{background:var(--gold-deep)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
:where(a){text-underline-offset:.22em;text-decoration-thickness:1px}

.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:50%;top:0;transform:translate(-50%,-120%);z-index:100;background:var(--gold);color:var(--burgundy-deep);padding:.7em 1.2em;font-size:.9rem;letter-spacing:.02em;transition:transform .2s var(--ease)}
.skip:focus{transform:translate(-50%,0)}

html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* --- buttons ---------------------------------------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-family:var(--body);font-size:.9375rem;font-weight:400;
  letter-spacing:.09em;text-transform:uppercase;text-decoration:none;
  padding:.95em 1.6em;border:1px solid transparent;border-radius:2px;
  cursor:pointer;white-space:nowrap;
  transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease),transform .3s var(--ease);
}
.btn--gold{background:var(--gold);color:var(--burgundy-deep);box-shadow:0 1px 2px rgba(0,0,0,.3),0 10px 24px -12px rgba(235,210,144,.5)}
.btn--gold:hover{background:#f3e0aa;transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.3),0 16px 30px -14px rgba(235,210,144,.6)}
.btn--gold:active{transform:translateY(0)}
.btn--ghost{background:transparent;color:var(--gold);border-color:var(--rule-strong)}
.btn--ghost:hover{border-color:var(--gold);background:rgba(235,210,144,.07)}
.btn--sm{padding:.72em 1.15em;font-size:.8125rem}
.btn__icon{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* --- masthead --------------------------------------------- */
.masthead{
  position:fixed;inset:0 0 auto;z-index:60;
  display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem);
  padding:1rem var(--gutter);
  transition:background .45s var(--ease),backdrop-filter .45s var(--ease),border-color .45s var(--ease);
  border-bottom:1px solid transparent;
}
.masthead::before{
  content:"";position:absolute;inset:0 0 -4.5rem;z-index:-1;pointer-events:none;
  background:linear-gradient(to bottom,rgba(22,22,22,.82) 0%,rgba(22,22,22,.45) 42%,rgba(22,22,22,0) 100%);
  opacity:1;transition:opacity .45s var(--ease);
}
.masthead.is-stuck::before{opacity:0}
.masthead.is-stuck{
  background:rgba(30,9,9,.9);
  backdrop-filter:blur(14px) saturate(1.2);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);
  border-bottom-color:var(--rule);
}
.masthead__mark{display:flex;align-items:center;gap:.6rem;text-decoration:none;margin-right:auto}
.masthead__mark img{width:clamp(44px,4.4vw,52px);height:clamp(44px,4.4vw,52px);border-radius:50%}
.masthead__name{font-family:var(--display);font-size:clamp(1.6rem,1.3rem + .8vw,2.05rem);color:var(--gold);letter-spacing:.01em;line-height:1}
.masthead__nav{display:flex;gap:1.75rem}
.masthead__nav a{
  font-size:.8125rem;letter-spacing:.13em;text-transform:uppercase;color:var(--cream);
  text-decoration:none;padding-bottom:.2em;border-bottom:1px solid transparent;transition:border-color .3s var(--ease),color .3s var(--ease);
}
.masthead__nav a:hover{color:var(--gold);border-bottom-color:var(--gold-deep)}
@media (max-width:820px){.masthead__nav{display:none}}
@media (max-width:520px){.masthead__cta{display:none}}

/* --- hero: the triptych ----------------------------------- */
.hero{position:relative;min-height:100svh;background:var(--ink);overflow:hidden;isolation:isolate}
.hero__wall{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule)}

.panel{position:relative;margin:0;overflow:hidden;background:var(--ink)}
.panel__video{width:100%;height:100%;object-fit:cover;object-position:center;filter:contrast(1.06) brightness(.94)}
.panel::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to bottom,rgba(22,22,22,.55) 0%,rgba(22,22,22,0) 26%,rgba(22,22,22,0) 52%,rgba(43,11,11,.72) 100%);
  transition:opacity .5s var(--ease);
}
.panel__toggle{
  position:absolute;inset:0;z-index:2;width:100%;height:100%;
  background:transparent;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;
}
.panel__toggle:focus-visible{outline:2px solid var(--gold);outline-offset:-6px}
.panel__live{
  position:absolute;left:50%;bottom:2.2rem;z-index:3;translate:-50% 0;
  display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;
  border:1px solid var(--rule-strong);background:rgba(22,22,22,.5);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  transition:border-color .35s var(--ease),background .35s var(--ease),box-shadow .35s var(--ease);
}
.panel__ico{width:1.15rem;height:1.15rem;fill:none;stroke:var(--gold);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;grid-area:1/1}
.panel__ico--on{opacity:0}
.panel.is-live .panel__live{border-color:var(--gold);background:rgba(235,210,144,.14);box-shadow:0 0 0 6px rgba(235,210,144,.08)}
.panel.is-live .panel__ico--off{opacity:0}
.panel.is-live .panel__ico--on{opacity:1}
.panel.is-live .panel__ico--on .w1{animation:wave 1.6s var(--ease) infinite}
.panel.is-live .panel__ico--on .w2{animation:wave 1.6s var(--ease) .18s infinite}
@keyframes wave{0%,100%{opacity:.25}45%{opacity:1}}
.panel.is-live::after{opacity:.55}
@media (hover:hover){
  .panel__toggle:hover ~ .panel__live{border-color:var(--gold)}
  .panel:hover .panel__video{filter:contrast(1.06) brightness(1.02)}
}
@media (max-width:520px){
    .panel__live{width:2.35rem;height:2.35rem;bottom:1.6rem}
  .panel__ico{width:.95rem;height:.95rem}
}

.hero__plate{
  position:absolute;left:50%;top:50%;z-index:4;translate:-50% -50%;
  width:min(78vw,44rem);text-align:center;pointer-events:none;
}
.hero__plate::before{
  content:"";position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:-1;
  width:150%;aspect-ratio:1.7;
  background:radial-gradient(ellipse at center,rgba(22,22,22,.82) 0%,rgba(22,22,22,.55) 45%,rgba(22,22,22,0) 72%);
}
.hero__title{margin:0}
.hero__title img{width:100%;height:auto;filter:drop-shadow(0 4px 26px rgba(0,0,0,.55))}
.hero__hint{
  position:absolute;left:0;right:0;bottom:calc(var(--bar) + 3.2rem);z-index:4;
  text-align:center;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-quiet);text-shadow:0 1px 10px rgba(0,0,0,.85);opacity:0;transition:opacity .8s var(--ease);pointer-events:none;
}
.is-ready .hero__hint{opacity:.85}
.hero__cue{position:absolute;left:50%;bottom:calc(var(--bar) + 1.1rem);z-index:4;translate:-50% 0;pointer-events:none;transition:opacity .55s var(--ease)}
.hero__cue span{display:block;width:1px;height:2.6rem;background:linear-gradient(to bottom,rgba(235,210,144,0),var(--gold-deep));transform-origin:top;animation:cue 2.6s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0);opacity:0}35%{opacity:1}100%{transform:scaleY(1);opacity:0}}

/* while a player is audible, the invitation and the cue step aside */
.hero.is-listening .hero__hint,
.hero.is-listening .hero__cue{opacity:0}
.hero.is-listening .hero__cue span{animation-play-state:paused}

/* entrance: the one authored moment */
.hero__wall .panel{opacity:0;transform:scale(1.07)}
.is-ready .hero__wall .panel{opacity:1;transform:none;transition:opacity 1.1s var(--ease),transform 1.5s var(--ease)}
.is-ready .panel[data-panel="2"]{transition-delay:.12s}
.is-ready .panel[data-panel="3"]{transition-delay:.24s}
.hero__plate{opacity:0}
.is-ready .hero__plate{opacity:1;transition:opacity 1s var(--ease) .5s}
@media (prefers-reduced-motion:reduce){
  .hero__wall .panel,.hero__plate{opacity:1;transform:none}
  .hero__cue span{animation:none;transform:scaleY(1);opacity:.5}
  }

/* --- statement -------------------------------------------- */
.statement{
  padding:clamp(4.5rem,11vw,9rem) var(--gutter);
  display:grid;gap:clamp(2rem,5vw,4rem);
  grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);
  align-items:start;border-bottom:1px solid var(--rule);
}
.statement__lead{
  font-family:var(--display);
  font-size:clamp(2rem,1.1rem + 3.6vw,4.25rem);
  letter-spacing:-.015em;text-wrap:balance;color:var(--cream);
}
.statement__lead em{font-style:italic;color:var(--gold)}
.statement__body{display:grid;gap:1.5rem;max-width:var(--measure);color:var(--gold-quiet);padding-top:.5rem;font-size:1.15em;line-height:1.65}
@media (max-width:860px){.statement{grid-template-columns:1fr}}

/* --- full-bleed plate ------------------------------------- */
.plate{margin:0;overflow:hidden;background:var(--ink)}
.plate--wide img{width:100%;height:clamp(20rem,58vw,42rem);object-fit:cover;object-position:center 6%}

/* --- events ----------------------------------------------- */
.events{padding:clamp(4.5rem,11vw,9rem) var(--gutter);background:var(--burgundy-deep)}
.section-title{
  font-family:var(--display);font-size:clamp(1.75rem,1.1rem + 2.4vw,3.25rem);
  color:var(--gold);letter-spacing:-.01em;margin-bottom:clamp(2rem,4vw,3.25rem);
}
.events__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.event{
  display:flex;align-items:stretch;gap:clamp(1.75rem,4vw,3.25rem);
  border-bottom:1px solid var(--rule);
}

/* video sits 20px in from the rule above and the rule below; its width
   is derived from that stretched height via aspect-ratio, not set directly */
.event__media{
  flex:0 0 auto;align-self:stretch;width:auto;aspect-ratio:9/16;
  margin:20px 0;position:relative;overflow:hidden;border-radius:6px;background:var(--ink);
}
.event__video{width:100%;height:100%;object-fit:cover;display:block}
.event__toggle{position:absolute;inset:0;width:100%;height:100%;background:transparent;border:0;cursor:pointer;padding:0}
.event__toggle:focus-visible{outline:2px solid var(--gold);outline-offset:-6px}
.event__live{
  position:absolute;left:.9rem;bottom:.9rem;width:2.35rem;height:2.35rem;border-radius:50%;
  display:grid;place-items:center;border:1px solid var(--rule-strong);
  background:rgba(22,22,22,.5);transition:background .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease);
}
.event__ico{width:1rem;height:1rem;fill:none;stroke:var(--gold);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;grid-area:1/1}
.event__ico--on{opacity:0}
.event.is-live .event__live{border-color:var(--gold);background:rgba(235,210,144,.14);box-shadow:0 0 0 6px rgba(235,210,144,.08)}
.event.is-live .event__ico--off{opacity:0}
.event.is-live .event__ico--on{opacity:1}
.event.is-live .event__ico--on .w1{animation:wave 1.6s var(--ease) infinite}
.event.is-live .event__ico--on .w2{animation:wave 1.6s var(--ease) .18s infinite}

.event__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(1.5rem,4vw,2.75rem) 0}
.event__head{display:flex;align-items:center;gap:1rem;margin-bottom:.9rem}
.event__icon{
  width:clamp(1.85rem,1.5rem + 1vw,2.35rem);height:clamp(1.85rem,1.5rem + 1vw,2.35rem);
  fill:none;stroke:var(--gold-deep);flex-shrink:0;
  stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;transition:stroke .35s var(--ease)
}
.event:hover .event__icon{stroke:var(--gold)}
.event__name{font-family:var(--display);font-size:clamp(2.1rem,1.5rem + 2.6vw,3.5rem);letter-spacing:-.01em;color:var(--cream);text-wrap:balance}
.event__note{color:var(--gold-quiet);font-size:clamp(1.15rem,1.02rem + .5vw,1.4rem);line-height:1.7;max-width:42ch}

@media (max-width:860px){
  /* text rides on the video as a floating card, not below it */
  .event{flex-direction:column;gap:0;position:relative}
  .event__media{width:100%;aspect-ratio:9/16;margin:20px 0 0}
  .event__live{left:auto;right:.85rem;bottom:auto;top:.85rem}

  .event__body{
    position:absolute;left:1rem;right:1rem;bottom:1rem;
    display:block;flex:none;
    background:rgba(66,17,17,.9);border-radius:14px;
    padding:1.1rem 1.25rem 1.3rem;
  }
  .event__head{margin-bottom:.5rem}
  .event__icon{width:1.6rem;height:1.6rem}
  .event__name{font-size:clamp(1.5rem,5vw,2rem)}
  .event__note{font-size:1rem;max-width:none}
}

/* --- the room --------------------------------------------- */
.room{
  background:var(--ink);padding:clamp(4.5rem,11vw,9rem) var(--gutter);
  display:grid;gap:clamp(1.5rem,4vw,3rem);
  grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;
}
.room__copy{grid-column:1/-1;max-width:var(--measure)}
.room__copy p{color:var(--gold-quiet);margin-top:1.2rem;font-size:1.1em;line-height:1.65}
.room__shot{margin:0;overflow:hidden;background:var(--burgundy-deep)}
.room__shot img{width:100%;height:clamp(18rem,38vw,32rem);object-fit:cover;transition:transform 1.2s var(--ease)}
.room__shot--a img{object-position:center 50%}
.room__shot--b img{object-position:center 55%}
@media (hover:hover){.room__shot:hover img{transform:scale(1.03)}}
@media (max-width:860px){
  .room{grid-template-columns:1fr}
  .room__shot img{height:clamp(15rem,62vw,20rem)}
  .room__shot--a img{object-position:center 52%}
  .room__shot--b img{object-position:center 50%}
}

/* --- booking ---------------------------------------------- */
.book{
  padding:clamp(4.5rem,11vw,9rem) var(--gutter) clamp(6rem,10vw,8rem);
  display:grid;align-items:start;
  gap:clamp(2rem,5vw,3.5rem) clamp(1.5rem,3.5vw,3rem);
  grid-template-columns:minmax(0,.95fr) auto minmax(0,1.2fr);
}
.book__intro{grid-column:1/-1;max-width:var(--measure)}
.book__title{font-family:var(--display);font-size:clamp(2.25rem,1.2rem + 4vw,4.5rem);color:var(--gold);letter-spacing:-.015em}
.book__lede{margin-top:1rem;color:var(--gold-quiet);font-size:1.125em}

.form{display:grid;gap:1.4rem 1.25rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.field{display:grid;gap:.45rem}
.field--wide,.form__actions,.form__note{grid-column:1/-1}
/* Honeypot: off-canvas rather than display:none, which some bots detect. */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.field label{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-quiet)}
.field__opt{text-transform:none;letter-spacing:.02em;opacity:.75}
.field input,.field textarea,.field select{
  width:100%;font-family:var(--body);font-size:1rem;font-weight:300;color:var(--cream);
  background:rgba(22,22,22,.4);border:1px solid var(--rule);border-radius:2px;
  padding:.85em .95em;transition:border-color .3s var(--ease),background .3s var(--ease);
}
.field textarea{resize:vertical;min-height:5.5rem;line-height:1.6}
.field input::placeholder,.field textarea::placeholder{color:rgba(196,168,122,.6)}
.field input:hover,.field textarea:hover,.field select:hover{border-color:var(--rule-strong)}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--gold);background:rgba(22,22,22,.62)}
.field.is-invalid input{border-color:#e08a7a}
.field__error{font-size:.875rem;color:#e8a294;letter-spacing:.01em}
.select{position:relative;display:grid}
.select select{appearance:none;-webkit-appearance:none;padding-right:2.6em;cursor:pointer}
.select select option{background:var(--burgundy-deep);color:var(--cream)}
.select svg{position:absolute;right:.95em;top:50%;translate:0 -50%;width:1.1rem;height:1.1rem;fill:none;stroke:var(--gold-deep);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.form__actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:.4rem}
.form__note{font-size:.9375rem;color:var(--gold-quiet);opacity:.8;max-width:52ch}
.form__note.is-alert{color:var(--gold);opacity:1}
@media (max-width:600px){.form{grid-template-columns:1fr}.form__actions .btn{flex:1 1 auto}}

.direct{
  align-self:start;margin-top:clamp(3.6rem,3rem + 2vw,4.8rem);
  background:rgba(22,22,22,.34);border:1px solid var(--rule);
  border-radius:2px;padding:clamp(1.4rem,2.5vw,2rem);
}
.direct__list{border-top:1px solid var(--rule)}

/* the choice between the two columns, stated once */
.book__or{
  align-self:stretch;display:grid;grid-template-rows:1fr auto 1fr;
  justify-items:center;gap:1.15rem;
}
.book__or::before,.book__or::after{
  content:"";width:1px;justify-self:center;
  background:linear-gradient(to bottom,rgba(235,210,144,0),var(--rule-strong));
}
.book__or::after{background:linear-gradient(to top,rgba(235,210,144,0),var(--rule-strong))}
.book__or span{
  font-family:var(--display);font-size:clamp(2rem,1.4rem + 1.8vw,3.25rem);
  color:var(--gold);line-height:1;letter-spacing:.01em;
}
.book__subtitle{
  font-family:var(--display);font-size:clamp(1.35rem,1.15rem + .6vw,1.75rem);
  color:var(--cream);margin-bottom:.9rem;line-height:1.15;
}
.direct__list{list-style:none;margin:0;padding:0}
.direct__list li{border-bottom:1px solid var(--rule)}
.direct__list a{
  display:flex;align-items:center;gap:1rem;
  padding:1.3rem 0;text-decoration:none;transition:color .3s var(--ease);
}
.direct__icon{
  width:clamp(1.6rem,1.3rem + .8vw,2rem);height:clamp(1.6rem,1.3rem + .8vw,2rem);
  flex:0 0 auto;opacity:.85;
  transition:opacity .3s var(--ease),transform .3s var(--ease);
}
.direct__list a:hover .direct__icon{opacity:1;transform:scale(1.06)}
.direct__list a:hover{color:var(--gold)}
.direct__label{font-size:1rem;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-quiet)}
.direct__value{margin-left:auto;padding-left:.5rem;font-size:clamp(1.25rem,1.1rem + .4vw,1.4rem);text-align:right;word-break:break-word}
@media (max-width:860px){
  .book{grid-template-columns:1fr}
  .direct{margin-top:0}
  .book__or{
    grid-template-rows:none;grid-template-columns:1fr auto 1fr;
    align-items:center;gap:1rem;padding:.25rem 0;
  }
  .book__or::before,.book__or::after{width:auto;height:1px;align-self:center;justify-self:stretch}
  .book__or::before{background:linear-gradient(to right,rgba(235,210,144,0),var(--rule-strong))}
  .book__or::after{background:linear-gradient(to left,rgba(235,210,144,0),var(--rule-strong))}
}


/* --- footer ----------------------------------------------- */
.foot{
  background:var(--ink);border-top:1px solid var(--rule);
  padding:clamp(3rem,7vw,5rem) var(--gutter) calc(var(--bar) + 2.5rem);
  display:grid;justify-items:center;gap:.9rem;text-align:center;
}
.foot__mark{width:58px;height:58px;border-radius:50%;opacity:1}
.foot__line{font-family:var(--display);font-size:1.6rem;color:var(--gold);line-height:1}
.foot__tag{font-size:.7rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold-quiet);text-indent:.34em}
.foot__meta{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;font-size:.9375rem;color:var(--gold-quiet)}
.foot__meta a{text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:.1em;transition:color .3s var(--ease),border-color .3s var(--ease)}
.foot__meta a:hover{color:var(--gold);border-bottom-color:var(--gold)}

/* --- sticky book bar -------------------------------------- */
.bookbar{
  position:fixed;inset:auto 0 0;z-index:70;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.7rem var(--gutter) calc(.7rem + env(safe-area-inset-bottom));
  background:rgba(30,9,9,.93);
  backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);
  border-top:1px solid var(--rule);
  transform:translateY(110%);transition:transform .5s var(--ease);
}
.bookbar.is-up{transform:none}
.bookbar__text{font-family:var(--display);font-size:1.15rem;color:var(--gold);white-space:nowrap}
@media (max-width:420px){.bookbar__text{display:none}.bookbar{justify-content:center}.bookbar .btn{width:100%}}
