
@font-face {
  font-family: 'Bodoni Moda';
  src: url('../public/fonts/bodoni-moda-variable.woff2') format('woff2');
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Montserrat';
  src: url('../public/fonts/montserrat-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Zodiak';
  src: url('../public/fonts/zodiak-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Ranade';
  src: url('../public/fonts/ranade-variable.woff2') format('woff2');
  font-weight: 100 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Ranade';
  src: url('../public/fonts/ranade-variable-italic.woff2') format('woff2');
  font-weight: 100 700;
  font-style: italic;
  font-display: swap;
}
:root {
  --bhg-ivory: #f9f2ec;
  --bhg-cream: #e8d8c4; 
  --bhg-ink: #111111;
  --bhg-camel: #e3bea2;
  --bhg-camel-deep: #d3a684;
  --bhg-muted: #0e0a09; 
  --bhg-bronze: #6a5753;
  --bhg-bronze-deep: #4e3f3c;
  --bhg-letter: #2b292a;
  --bhg-wall-tone: #8c7a6f; 
  --bhg-paper: #ddd5cc;
  --bhg-wall-size: 2100px; 
  --bhg-wall-img: -webkit-image-set(url('../public/brand/wall.avif?v=1') 1x, url('../public/brand/wall@2x.avif?v=1') 2x);
  --bhg-wall: var(--bhg-wall-tone) var(--bhg-wall-img) 0 0 / var(--bhg-wall-size) auto repeat;
  --bhg-line: rgb(17 17 17 / 0.12);
  --bhg-font-display: 'Montserrat', 'Ranade', system-ui, sans-serif;
  --bhg-font-body: 'Ranade', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --bhg-gutter: clamp(20px, 4.4vw, 64px);
  --bhg-header-h: 88px;
  --bhg-safe-top: env(safe-area-inset-top, 0px);
  --bhg-safe-bottom: env(safe-area-inset-bottom, 0px);
  --bhg-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media (max-width: 767px) { :root { --bhg-wall-size: 1350px; --bhg-wall-img: url('../public/brand/wall.avif?v=1'); } }
@media (max-width: 767px), (max-aspect-ratio: 4/5) {
  :root { --bhg-header-h: 64px; }
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-synthesis-weight: none;
  background: var(--bhg-wall);
  color: var(--bhg-ink);
  font-family: var(--bhg-font-body);
  font-size: 17px;
  line-height: 1.55;
  font-weight: 520; 
  -webkit-font-smoothing: antialiased;
}
img, video { display: block; max-width: 100%; }
html {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}
img, video, svg, canvas { -webkit-user-drag: none; user-drag: none; }
input, textarea, select, [contenteditable] { -webkit-user-select: text; user-select: text; }
address, a[href^='tel:'], a[href^='mailto:'], .bhg-job__phone, .bhg-contact-copy { -webkit-user-select: text; user-select: text; -webkit-touch-callout: default; }
a { color: inherit; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.bhg-skip {
  position: absolute;
  left: 16px;
  top: -100px;
  z-index: 100;
  padding: 10px 16px;
  background: var(--bhg-ink);
  color: var(--bhg-cream);
}
.bhg-skip:focus { top: calc(16px + var(--bhg-safe-top)); }
.bhg-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 14px 28px;
  border-radius: 0;
  font-family: var(--bhg-font-display);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.3s var(--bhg-ease), color 0.3s var(--bhg-ease);
}
.bhg-btn--camel { background: var(--bhg-bronze); color: var(--bhg-cream); }
.bhg-btn--camel:hover { background: var(--bhg-bronze-deep); }
.bhg-btn[aria-disabled='true'] { cursor: default; }
.bhg-btn--camel[aria-disabled='true']:hover { background: var(--bhg-bronze); }
.bhg-btn--small { min-height: 40px; padding: 10px 18px; font-size: 11px; }
.bhg-header {
  --hdr-fg: var(--bhg-ink);
  position: fixed;
  inset: 0 0 auto;
  z-index: 50;
  padding-top: var(--bhg-safe-top);
  color: var(--hdr-fg);
  pointer-events: none;
  transition: color 0.5s var(--bhg-ease);
}
.bhg-header__logo, .bhg-header__actions, .bhg-menu { pointer-events: auto; }
.bhg-header[data-tone='dark'] { --hdr-fg: var(--bhg-cream); }
.bhg-header__inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  height: var(--bhg-header-h);
  padding: 0 var(--bhg-gutter);
}
.bhg-header__logo { display: block; grid-column: 2; }
.bhg-header__logo img {
  height: 42px;
  width: auto;
  transition: filter 0.5s var(--bhg-ease);
}
.bhg-header[data-tone='dark'] .bhg-header__logo img { filter: brightness(0) invert(1) sepia(0.15); }
.bhg-header__actions {
  grid-column: 3;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: clamp(10px, 1.4vw, 22px);
}
.bhg-header .bhg-btn--camel {
  --p: var(--bhg-header-presence, 1);
  background: color-mix(in srgb, var(--bhg-bronze) calc(var(--p) * 100%), var(--bhg-ivory));
  color: color-mix(in srgb, var(--bhg-cream) calc(var(--p) * 100%), var(--bhg-ink));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--bhg-bronze) calc(var(--p) * 100%), var(--hdr-fg));
}
.bhg-header .bhg-btn--camel:hover,
.bhg-header .bhg-btn--camel:focus-visible { background: var(--bhg-bronze-deep); color: var(--bhg-cream); box-shadow: none; }
.bhg-header[data-tone='dark'] .bhg-btn--camel { --p: 1; }
.bhg-header::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: calc(var(--bhg-header-h) + var(--bhg-safe-top) + 72px);
  background: linear-gradient(180deg, rgb(14 10 7 / 0.42), rgb(14 10 7 / 0));
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s var(--bhg-ease);
  z-index: -1;
}
.bhg-header[data-tone='dark']::before { opacity: calc(1 - var(--bhg-header-solid, 0)); }
.bhg-burger {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  height: 48px;
  margin-right: -6px; 
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.bhg-burger__label {
  display: block;
  height: 1.3em;
  overflow: hidden;
  font-family: var(--bhg-font-body);
  font-size: 14px;
  line-height: 1.3;
  letter-spacing: 0.01em;
  text-align: right;
  font-weight: 500;
}
.bhg-burger__label span {
  display: block;
  transition: transform 0.6s cubic-bezier(0.76, 0, 0.24, 1);
}
.bhg-burger[aria-expanded='true'] .bhg-burger__label span { transform: translate3d(0, -100%, 0); }
.bhg-burger__icon {
  --knob: 48px;
  position: relative;
  display: block;
  width: var(--knob);
  height: var(--knob);
  border-radius: 50%;
  color: var(--bhg-ink);
  background:
    radial-gradient(circle at 33% 26%, #fff 0, rgb(255 255 255 / 0.9) 9%, rgb(255 253 250 / 0) 44%),
    radial-gradient(circle at 68% 78%, rgb(160 128 108 / 0.16) 0, rgb(160 128 108 / 0) 58%),
    var(--bhg-ivory);
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 0.9),
    inset 0 -1px 2px rgb(106 87 83 / 0.14),
    0 1px 2px rgb(58 40 30 / 0.16),
    0 10px 22px -10px rgb(58 40 30 / 0.45);
  animation: bhg-knob-in 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.35s backwards;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.45s var(--bhg-ease);
}
.bhg-burger__icon::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(
    from 210deg,
    rgb(236 206 222 / 0.75),
    rgb(206 222 240 / 0.7),
    rgb(212 236 224 / 0.65),
    rgb(244 226 196 / 0.75),
    rgb(226 210 238 / 0.7),
    rgb(236 206 222 / 0.75)
  );
  -webkit-mask: radial-gradient(circle at 40% 36%, transparent 0 30%, #000 78%);
  mask: radial-gradient(circle at 40% 36%, transparent 0 30%, #000 78%);
  mix-blend-mode: multiply;
}
.bhg-burger__icon::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: var(--bhg-bronze);
  clip-path: circle(0 at 50% 50%);
  transition: clip-path 0.55s cubic-bezier(0.76, 0, 0.24, 1);
}
@keyframes bhg-knob-in { from { transform: scale(0); } }
.bhg-burger__icon i {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 1.5px;
  margin: -0.75px 0 0 -8px;
  background: currentColor;
  transform-origin: 50% 50%;
  transition: transform 0.6s cubic-bezier(0.76, 0, 0.24, 1), background-color 0.35s var(--bhg-ease) 0.1s;
}
.bhg-burger__icon i:nth-of-type(1) { transform: translate3d(0, -2.75px, 0); }
.bhg-burger__icon i:nth-of-type(2) { transform: translate3d(0, 2.75px, 0); }
.bhg-burger:hover .bhg-burger__icon::after,
.bhg-burger:focus-visible .bhg-burger__icon::after,
.bhg-burger[aria-expanded='true'] .bhg-burger__icon::after { clip-path: circle(50% at 50% 50%); }
.bhg-burger:hover .bhg-burger__icon i,
.bhg-burger:focus-visible .bhg-burger__icon i,
.bhg-burger[aria-expanded='true'] .bhg-burger__icon i { background-color: var(--bhg-cream); }
.bhg-burger:hover .bhg-burger__icon i:nth-of-type(1) { transform: translate3d(0, -3.5px, 0); }
.bhg-burger:hover .bhg-burger__icon i:nth-of-type(2) { transform: translate3d(0, 3.5px, 0); }
.bhg-burger:active .bhg-burger__icon { transform: scale(0.95); }
.bhg-burger:focus-visible { outline: none; }
.bhg-burger:focus-visible .bhg-burger__icon {
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 0.9),
    0 0 0 3px var(--bhg-ivory),
    0 0 0 4.5px var(--bhg-bronze);
}
.bhg-burger[aria-expanded='true'] .bhg-burger__icon i:nth-of-type(1) { transform: rotate(45deg); }
.bhg-burger[aria-expanded='true'] .bhg-burger__icon i:nth-of-type(2) { transform: rotate(-45deg); }
@media (max-width: 767px), (max-aspect-ratio: 4/5) {
  .bhg-burger__label { display: none; }
  .bhg-burger { margin-right: -4px; }
  .bhg-burger__icon { --knob: 44px; }
  .bhg-burger__icon i { width: 18px; height: 2px; margin: -1px 0 0 -9px; }
  .bhg-burger__icon i:nth-of-type(1) { transform: translate3d(0, -3px, 0); }
  .bhg-burger__icon i:nth-of-type(2) { transform: translate3d(0, 3px, 0); }
}
@media (hover: none) {
  .bhg-burger:hover:not([aria-expanded='true']) .bhg-burger__icon::after { clip-path: circle(0 at 50% 50%); }
  .bhg-burger:hover:not([aria-expanded='true']) .bhg-burger__icon i { background-color: currentColor; }
  .bhg-burger:hover:not([aria-expanded='true']) .bhg-burger__icon i:nth-of-type(1) { transform: translate3d(0, -2.75px, 0); }
  .bhg-burger:hover:not([aria-expanded='true']) .bhg-burger__icon i:nth-of-type(2) { transform: translate3d(0, 2.75px, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .bhg-burger__icon { animation: none; }
  .bhg-burger__icon, .bhg-burger__icon::after, .bhg-burger__icon i, .bhg-burger__label span { transition: none; }
}
.bhg-menu {
  --menu-fg: var(--bhg-ink);
  --menu-ease: cubic-bezier(0.76, 0, 0.24, 1);
  --menu-top: calc(var(--bhg-header-h) + var(--bhg-safe-top) + clamp(8px, 3svh, 36px));
  --menu-pic: 68px;
  --menu-mirror-ratio: 0.54;
  --menu-bottom: clamp(16px, 3.5svh, 48px);
  --menu-leading: 1.22;
  --menu-size: clamp(16px, min(3.5vw, calc((100svh - var(--menu-top) - 24px - var(--menu-pic) - var(--menu-bottom)) / (var(--menu-count, 9) * var(--menu-leading)))), 54px);
  position: fixed;
  inset: 0;
  z-index: -1; 
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: 1fr auto;
  padding: 0 var(--bhg-gutter);
  background: var(--bhg-paper);
  color: var(--menu-fg);
  overflow: hidden auto;
  clip-path: inset(0 0 100% 0);
}
.bhg-menu[hidden] { display: none; }
.bhg-menu.is-open { clip-path: inset(0 0 0 0); }
.bhg-menu__glass {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}
.bhg-menu__pane {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: #cfd0cb;
}
.bhg-menu__room {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 38% 50%;
  transform: scale(1.12) scaleX(-1);
  will-change: transform;
}
.bhg-menu__pane::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to right, rgb(238 237 232 / 0.5), rgb(238 237 232 / 0.34) 30%, rgb(238 237 232 / 0.34) 70%, rgb(238 237 232 / 0) 92%),
    rgb(226 227 222 / 0.48);
  box-shadow: inset 0 0 70px 10px rgb(52 46 40 / 0.28);
}
.bhg-menu__sheen {
  position: absolute;
  inset: -40px;
  z-index: 1;
  background:
    linear-gradient(118deg, rgb(255 255 255 / 0) 14%, rgb(255 255 255 / 0.3) 24%, rgb(255 255 255 / 0.06) 34%, rgb(255 255 255 / 0) 40%),
    linear-gradient(118deg, rgb(255 255 255 / 0) 58%, rgb(255 255 255 / 0.16) 66%, rgb(255 255 255 / 0) 76%);
  will-change: transform;
}
.bhg-menu__list {
  grid-column: 3 / span 5;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: var(--menu-top) 0 24px clamp(16px, 2vw, 32px);
}
.bhg-menu__link {
  position: relative;
  font-family: 'Zodiak', var(--bhg-font-body);
  font-weight: 400;
  font-size: var(--menu-size);
  line-height: var(--menu-leading);
  white-space: nowrap;
  text-decoration: none;
  color: var(--menu-fg);
  text-shadow: 0 0 2px rgb(244 242 238 / 0.9), 0 0 14px rgb(244 242 238 / 0.85);
  opacity: 0.36;
  transition: opacity 0.45s var(--bhg-ease);
}
.bhg-menu__link.is-active { opacity: 1; }
.bhg-menu__ch {
  display: inline-block;
  transform: perspective(600px) rotateX(-92deg) translate3d(0, 0.18em, 0);
  transform-origin: 50% 100%;
  backface-visibility: hidden;
  transition: transform 0.25s var(--bhg-ease);
}
.bhg-menu.is-open .bhg-menu__ch {
  transform: none;
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: calc(var(--i, 0) * 60ms + var(--j, 0) * 22ms + 420ms);
}
.bhg-menu__detail {
  grid-column: 8 / span 3;
  grid-row: 1;
  position: relative;
  padding: calc(var(--menu-top) + 0.7em) 0 0 clamp(16px, 2vw, 32px);
}
.bhg-menu__note {
  position: absolute;
  inset: auto 0 auto clamp(16px, 2vw, 32px);
  max-width: 26ch;
  opacity: 0;
  transform: translate3d(0, 10px, 0);
  transition: opacity 0.4s var(--bhg-ease), transform 0.4s var(--bhg-ease);
  pointer-events: none;
}
.bhg-menu__note.is-active { opacity: 1; transform: none; }
.bhg-menu__note strong {
  display: block;
  margin-bottom: 14px;
  font-family: var(--bhg-font-body);
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0.01em;
  color: var(--bhg-muted);
}
.bhg-menu__note span { font-size: clamp(17px, 1.25vw, 20px); line-height: 1.6; color: var(--bhg-muted); }
.bhg-menu__mirror {
  grid-column: 11 / span 2;
  grid-row: 1;
  align-self: end;
  justify-self: end;
  position: relative;
  width: min(100%, calc((100svh - var(--menu-top) - var(--menu-pic) - var(--menu-bottom) - 24px) * var(--menu-mirror-ratio)));
  aspect-ratio: var(--menu-mirror-ratio);
  margin: 0 0 24px;
  overflow: hidden;
  border-radius: 50% 50% 0 0 / 27% 27% 0 0;
  background: var(--bhg-bronze-deep);
  box-shadow: 0 22px 48px rgb(30 20 12 / 0.38);
  clip-path: inset(100% 0 0 0);
  transition: clip-path 0.9s var(--menu-ease);
}
.bhg-menu.is-open .bhg-menu__mirror { clip-path: inset(-60px -60px -60px -60px); transition-delay: 0.5s; }
.bhg-menu__mirror .bhg-video-canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.bhg-menu__mirror video,
.bhg-menu__mirror img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.bhg-menu__mirror img {
  clip-path: inset(100% 0 0 0);
  transition: clip-path 0.55s var(--menu-ease) 0.5s;
}
.bhg-menu__mirror img.is-shown { clip-path: inset(0 0 0 0); transition-delay: 0s; }
.bhg-mirror-frame {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.bhg-menu__mirror .bhg-mirror-frame { z-index: 1000000; }
@media (min-width: 901px) {
  .bhg-menu > .bhg-mirror-frame { display: none; }
}
.bhg-menu__fly {
  position: absolute;
  inset: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.bhg-menu__foot {
  grid-column: 8 / span 5;
  grid-row: 2;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 0 0 var(--menu-bottom) clamp(16px, 2vw, 32px);
  opacity: 0;
  transition: opacity 0.8s var(--bhg-ease) 0.55s;
}
.bhg-menu.is-open .bhg-menu__foot { opacity: 1; }
.bhg-menu__foot .bhg-menu__book { text-shadow: none; }
.bhg-menu__foot ul { list-style: none; margin: 0; padding: 0; }
.bhg-menu__foot .bhg-menu__social { display: flex; gap: 6px; }
.bhg-menu__social a {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  background: var(--bhg-bronze);
  color: var(--bhg-cream);
  text-shadow: none;
  transition: background-color 0.3s var(--bhg-ease);
}
.bhg-menu__social a:hover, .bhg-menu__social a:focus-visible { background: var(--bhg-bronze-deep); }
.bhg-menu__foot p {
  margin: 0;
  font-family: var(--bhg-font-body);
  font-size: 14px;
  letter-spacing: 0.01em;
  color: var(--bhg-muted);
  text-align: right;
  font-weight: 500;
}
.bhg-header::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -2;
  background: #000;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s var(--bhg-ease);
}
.bhg-header.is-menu-open::after { opacity: 0.35; }
.bhg-header.is-menu-open { --hdr-fg: var(--bhg-ink); }
.bhg-header.is-menu-open::before { opacity: 0; }
.bhg-header.is-menu-open .bhg-header__logo img { filter: none; opacity: 1; }
.bhg-header.is-menu-open .bhg-btn--camel { --p: 1; }
@media (hover: none) {
  .bhg-menu.is-open .bhg-menu__link { opacity: 0.92; }
  .bhg-menu.is-open .bhg-menu__list.is-scrubbing .bhg-menu__link { opacity: 0.36; }
  .bhg-menu.is-open .bhg-menu__list.is-scrubbing .bhg-menu__link.is-active { opacity: 1; }
  .bhg-menu__list { touch-action: none; }
}
@media (min-width: 901px) {
  .bhg-menu, .bhg-menu.is-open { clip-path: none; background: none; }
  .bhg-menu { --menu-pane: calc(hypot(100vw, 100lvh) + 8px); }
  .bhg-menu__glass { position: fixed; }
  .bhg-menu__pane {
    inset: auto;
    left: calc(50vw - var(--menu-pane) / 2);
    top: calc(50lvh - var(--menu-pane) / 2);
    width: var(--menu-pane);
    height: var(--menu-pane);
    border-radius: 50% 50% 0 0;
    box-shadow:
      0 0 0 9px rgb(201 143 86), 0 0 0 12px rgb(138 84 42),
      0 0 0 22px rgb(201 143 86), 0 0 0 25px rgb(138 84 42),
      0 24px 70px 20px rgb(30 20 12 / 0.4);
  }
  .bhg-menu__pane::after { box-shadow: none; }
  .bhg-menu.is-open .bhg-menu__ch { transition-delay: calc(var(--i, 0) * 45ms + var(--j, 0) * 16ms + 560ms); }
  .bhg-menu.is-open .bhg-menu__mirror { transition-delay: 0.62s; }
  .bhg-menu.is-open .bhg-menu__foot { transition-delay: 0.62s; }
  .bhg-menu.is-open .bhg-menu__link { opacity: 0.92; }
  .bhg-menu.is-open .bhg-menu__list:has(.is-active) .bhg-menu__link:not(.is-active) { opacity: 0.42; }
  .bhg-menu.is-open .bhg-menu__link.is-active { opacity: 1; }
  .bhg-menu__note strong, .bhg-menu__note span { text-shadow: 0 0 2px rgb(244 242 238 / 0.9), 0 0 14px rgb(244 242 238 / 0.85); }
  .bhg-menu.is-closing .bhg-menu__foot { transition: opacity 0.2s var(--bhg-ease); }
  .bhg-menu.is-closing .bhg-menu__mirror { transition: clip-path 0.3s var(--menu-ease); }
}
@media (max-width: 900px) {
  .bhg-menu.is-open, .bhg-menu.is-closing { clip-path: inset(0 round 50vw 50vw 0 0); }
  .bhg-menu {
    --menu-top: max(calc(var(--bhg-header-h) + var(--bhg-safe-top) + clamp(8px, 3svh, 36px)), var(--menu-arch-clear, 0px));
    --menu-mirror-w: clamp(62px, 19vw, 104px);
    --menu-mirror-h: max(100px, calc(var(--menu-mirror-w) / var(--menu-mirror-ratio)));
    grid-template-rows: 1fr auto;
    padding: 0 20px;
    --menu-leading: 1.3;
    --menu-indent: clamp(28px, 11vw, 56px);
    --menu-size: clamp(16px, min(8.4vw, calc((100vw - 56px - 2 * var(--menu-frame, 27px) - var(--menu-indent)) / 8.8), calc((100svh - var(--menu-top) - 24px - var(--menu-mirror-h) - var(--menu-frame, 27px) - 20px - var(--bhg-safe-bottom)) / (var(--menu-count, 9) * var(--menu-leading)))), 44px);
  }
  .bhg-menu__list { grid-column: 1 / -1; padding-left: calc(var(--menu-frame, 27px) + var(--menu-indent)); }
  .bhg-menu__detail { display: none; }
  .bhg-header__logo { transition: transform 0.6s var(--bhg-ease); }
  .bhg-header.is-menu-open .bhg-header__logo { transform: translate3d(0, var(--menu-logo-drop, 0px), 0); }
  .bhg-menu__foot {
    grid-column: 1 / -1;
    grid-row: 2;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 12px;
    padding-left: calc(var(--menu-frame, 27px) + 4px);
    padding-bottom: calc(var(--menu-frame, 27px) + 20px + var(--bhg-safe-bottom));
  }
  .bhg-menu__foot .bhg-menu__book { padding: 12px 16px; font-size: 11px; letter-spacing: 0.12em; }
  .bhg-menu__social a { width: 44px; height: 44px; }
  .bhg-menu__mirror {
    grid-column: 1 / -1;
    grid-row: 2;
    width: var(--menu-mirror-w);
    height: auto;
    max-height: none;
    margin: 0 calc(var(--menu-frame, 27px) - 8px) calc(var(--menu-frame, 27px) + 20px + var(--bhg-safe-bottom)) 0;
  }
}
@media (max-width: 767px), (max-aspect-ratio: 4/5) {
  .bhg-header__logo img { height: 30px; }
  .bhg-header .bhg-header__book {
    --p: 1;
    position: fixed;
    left: 14px;
    bottom: calc(14px + var(--bhg-safe-bottom));
    min-height: 46px;
    padding: 0 14px;
    font-size: 11px;
    letter-spacing: 0.14em;
    visibility: hidden;
    clip-path: inset(100% 0 0 0);
    transform: translate3d(0, 12px, 0);
    transition: clip-path 0.7s cubic-bezier(0.76, 0, 0.24, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 0.9s, background-color 0.3s var(--bhg-ease);
  }
  .bhg-header .bhg-header__book.is-shown {
    visibility: visible;
    clip-path: inset(0 0 0 0);
    transform: none;
    transition: clip-path 0.7s cubic-bezier(0.76, 0, 0.24, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s, background-color 0.3s var(--bhg-ease);
  }
  .bhg-header.is-menu-open .bhg-header__book.is-shown {
    visibility: hidden;
    clip-path: inset(100% 0 0 0);
    transform: translate3d(0, 12px, 0);
    transition: clip-path 0.4s var(--bhg-ease), transform 0.4s var(--bhg-ease), visibility 0s linear 0.4s;
  }
}
@media (max-width: 359px) {
  .bhg-header .bhg-header__book { padding: 0 12px; font-size: 11px; letter-spacing: 0.1em; }
  .bhg-call .bhg-call__label { padding: 0 12px; font-size: 11px; letter-spacing: 0.1em; }
}
@media (prefers-reduced-motion: reduce) {
  .bhg-header .bhg-header__book, .bhg-header .bhg-header__book.is-shown { transform: none; transition: visibility 0s; }
}
@media (prefers-reduced-motion: reduce) {
  .bhg-menu, .bhg-menu__link, .bhg-menu__mirror, .bhg-menu__mirror img, .bhg-menu__ch, .bhg-menu__foot, .bhg-burger span, .bhg-header::after { transition: none; }
}
.bhg-next {
  padding: clamp(80px, 12vw, 160px) var(--bhg-gutter);
}
.bhg-next__title {
  margin: 0 0 clamp(40px, 6vw, 72px);
  font-family: var(--bhg-font-display);
  font-weight: 400;
  font-size: clamp(30px, 4vw, 56px);
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.bhg-next__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 32px);
}
.bhg-next__grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 1100px; }
.bhg-tile { scroll-margin-top: calc(var(--bhg-header-h) + 24px); }
.bhg-tile img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: #ece2d8; }
.bhg-tile h3 {
  margin: 24px 0 6px;
  font-family: var(--bhg-font-display);
  font-weight: 400;
  font-size: clamp(20px, 2vw, 28px);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.bhg-tile p { margin: 0; color: var(--bhg-muted); }
@media (max-width: 767px) {
  .bhg-next__grid { grid-template-columns: 1fr; gap: 48px; }
}
.bhg-footer {
  position: relative;
  z-index: 5;
  padding: clamp(56px, 8svh, 96px) var(--bhg-gutter) calc(28px + var(--bhg-safe-bottom));
  background: var(--bhg-paper);
  font-family: var(--bhg-font-display);
  font-weight: 500;
  font-size: 13px;
  line-height: 1.7;
}
.bhg-footer a { text-decoration: none; transition: color 0.3s var(--bhg-ease); }
.bhg-footer a:hover, .bhg-footer a:focus-visible { color: var(--bhg-bronze); }
.bhg-footer ul { list-style: none; margin: 0; padding: 0; }
.bhg-footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr));
  gap: 48px clamp(24px, 4vw, 72px);
}
.bhg-footer__logo { display: inline-block; }
.bhg-footer__logo img { height: 56px; width: auto; }
.bhg-footer__brand p { margin: 22px 0 0; max-width: 30ch; color: var(--bhg-muted); }
.bhg-footer__social { display: flex; gap: 4px; margin: 22px 0 0 -11px !important; }
.bhg-footer__social a {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  color: var(--bhg-ink);
}
.bhg-footer__col h2 {
  margin: 0 0 12px;
  font: inherit;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--bhg-ink);
}
.bhg-footer__col li + li { margin-top: 4px; }
.bhg-footer__col address { font-style: normal; }
.bhg-footer__col p { margin: 12px 0 0; color: var(--bhg-muted); }
.bhg-hours { display: grid; grid-template-columns: repeat(4, max-content); column-gap: 0.55em; }
.bhg-hours__dicht { grid-column: 2 / -1; }
.bhg-footer__col .bhg-btn { min-height: 40px; margin-top: 18px; padding: 10px 18px; font-size: 11px; }
.bhg-footer .bhg-btn:hover, .bhg-footer .bhg-btn:focus-visible { color: var(--bhg-cream); }
.bhg-footer__base {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 32px;
  margin-top: clamp(40px, 6svh, 64px);
  font-size: 12px;
  color: var(--bhg-muted);
}
.bhg-split__body p a { color: inherit; text-decoration: none; transition: color 0.3s var(--bhg-ease); }
.bhg-split__body p a:hover, .bhg-split__body p a:focus-visible { color: var(--bhg-bronze); }
.bhg-footer__base p { margin: 0; }
.bhg-footer__base ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.bhg-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.bhg-footer__brand .bhg-signature {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  width: max-content;
  margin: 10px 0 0;
  color: var(--bhg-bronze);
}
.bhg-signature span {
  font: 400 6px/1 'Bodoni Moda', 'Didot', Georgia, serif;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  padding-left: 0.32em; 
}
.bhg-signature img { display: block; width: auto; height: 8.25px; }
@media (max-width: 1279px) {
  .bhg-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bhg-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 1023px) {
  .bhg-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bhg-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .bhg-footer__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .bhg-footer__logo img { height: 46px; }
}
.bhg-call { display: none; }
@media (pointer: coarse) and (max-width: 767px), (pointer: coarse) and (max-aspect-ratio: 4/5) {
  .bhg-call {
    position: fixed;
    right: 14px;
    bottom: calc(14px + var(--bhg-safe-bottom));
    z-index: 60;
    display: flex;
    height: 46px;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
    visibility: hidden;
    clip-path: inset(100% 0 0 0);
    transform: translate3d(0, 12px, 0);
    transition: clip-path 0.7s cubic-bezier(0.76, 0, 0.24, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 0.9s;
  }
  .bhg-call.is-shown {
    visibility: visible;
    clip-path: inset(0 0 0 0);
    transform: none;
    transition: clip-path 0.7s cubic-bezier(0.76, 0, 0.24, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s;
  }
  .bhg-header.is-menu-open ~ .bhg-call.is-shown {
    visibility: hidden;
    clip-path: inset(100% 0 0 0);
    transform: translate3d(0, 12px, 0);
    transition: clip-path 0.4s var(--bhg-ease), transform 0.4s var(--bhg-ease), visibility 0s linear 0.4s;
  }
  .bhg-call:focus-visible { outline: 2px solid var(--bhg-ink); outline-offset: 3px; }
  .bhg-footer { padding-bottom: calc(28px + 46px + 14px + 46px + 10px + 24px + var(--bhg-safe-bottom)); }
  .bhg-footer__brand .bhg-signature {
    position: absolute;
    left: 50%;
    bottom: calc(114px + var(--bhg-safe-bottom));
    margin: 0;
    transform: translate(-50%, 50%);
  }
  .bhg-call__mark {
    display: grid;
    place-items: center;
    width: 46px;
    background: var(--bhg-ink);
  }
  .bhg-call__mark::before {
    content: '';
    width: 20px;
    aspect-ratio: 1;
    background: var(--bhg-camel);
    -webkit-mask: url('../public/brand/phone.png') center / contain no-repeat;
    mask: url('../public/brand/phone.png') center / contain no-repeat;
  }
  .bhg-call__label {
    display: grid;
    place-items: center;
    padding: 0 14px;
    background: var(--bhg-bronze);
    color: var(--bhg-cream);
    font-family: var(--bhg-font-display);
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    transition: background-color 0.2s var(--bhg-ease);
  }
  .bhg-call:active .bhg-call__label { background: var(--bhg-bronze-deep); }
}
@media (prefers-reduced-motion: reduce) {
  .bhg-call, .bhg-call.is-shown, .bhg-header.is-menu-open ~ .bhg-call.is-shown { transform: none; transition: visibility 0s; }
}
.bhg-top {
  --top-clip-left: -220px; 
  position: fixed;
  right: clamp(20px, 2.4vw, 40px);
  bottom: calc(clamp(34px, 2.4vw, 40px) + var(--bhg-safe-bottom)); 
  z-index: 60;
  display: block;
  padding: 0;
  border: 0;
  background: none;
  color: var(--bhg-camel);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  visibility: hidden;
  clip-path: inset(100% -40px 0 var(--top-clip-left));
  transform: translate3d(0, 12px, 0);
  transition: clip-path 0.7s cubic-bezier(0.76, 0, 0.24, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 0.9s;
}
.bhg-top.is-shown {
  visibility: visible;
  clip-path: inset(-40px -40px -40px var(--top-clip-left));
  transform: none;
  transition: clip-path 0.7s cubic-bezier(0.76, 0, 0.24, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s;
}
.bhg-header.is-menu-open ~ .bhg-top.is-shown {
  visibility: hidden;
  clip-path: inset(100% -40px 0 var(--top-clip-left));
  transform: translate3d(0, 12px, 0);
  transition: clip-path 0.4s var(--bhg-ease), transform 0.4s var(--bhg-ease), visibility 0s linear 0.4s;
}
.bhg-top:focus-visible { outline: 2px solid var(--bhg-ink); outline-offset: 3px; }
.bhg-top__mark {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  background: var(--bhg-ink);
}
.bhg-top__mark svg { display: block; width: 24px; height: 24px; }
.bhg-top__label {
  position: absolute;
  top: 0;
  right: 100%;
  bottom: 0;
  display: grid;
  place-items: center;
  padding: 0 18px;
  background: var(--bhg-bronze);
  color: var(--bhg-cream);
  font-family: var(--bhg-font-display);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  white-space: nowrap;
  clip-path: inset(-4px 0 -40px 100%);
  transition: clip-path 0.45s cubic-bezier(0.76, 0, 0.24, 1), background-color 0.2s var(--bhg-ease);
}
.bhg-top:focus-visible .bhg-top__label { clip-path: inset(-4px 0 -40px -40px); }
@media (hover: hover) {
  .bhg-top:hover .bhg-top__label { clip-path: inset(-4px 0 -40px -40px); }
}
.bhg-top:active .bhg-top__label { background: var(--bhg-bronze-deep); }
@media (min-width: 768px) and (min-aspect-ratio: 4/5), (pointer: fine) {
  .bhg-footer__base { padding-right: 78px; }
}
@media (max-width: 767px), (max-aspect-ratio: 4/5) {
  .bhg-top { right: 14px; bottom: calc(14px + var(--bhg-safe-bottom)); }
  .bhg-top__mark { width: 46px; height: 46px; }
  .bhg-top__mark svg { width: 21px; height: 21px; }
  .bhg-top__label { display: none; }
}
@media (pointer: coarse) and (max-width: 767px), (pointer: coarse) and (max-aspect-ratio: 4/5) {
  .bhg-call ~ .bhg-top { bottom: calc(14px + 46px + 10px + var(--bhg-safe-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  .bhg-top, .bhg-top.is-shown, .bhg-header.is-menu-open ~ .bhg-top.is-shown { transform: none; transition: visibility 0s; }
  .bhg-top__label { transition: none; }
}
.bhg-cookie {
  position: fixed;
  inset: auto 0 0;
  z-index: 110;
  width: min(442px, 100%);
  margin-inline: auto;
  padding: 16px 16px calc(16px + var(--bhg-safe-bottom));
  background: var(--bhg-paper);
  color: var(--bhg-ink);
  box-shadow: 0 -14px 36px -14px rgb(30 20 16 / 0.42);
  visibility: hidden;
  clip-path: inset(100% -60px -60px -60px);
  transform: translate3d(0, 16px, 0);
  transition: clip-path 0.7s cubic-bezier(0.76, 0, 0.24, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 0.9s;
}
.bhg-cookie.is-shown {
  visibility: visible;
  clip-path: inset(-60px -60px -60px -60px);
  transform: none;
  transition: clip-path 0.7s cubic-bezier(0.76, 0, 0.24, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s;
}
.bhg-header.is-menu-open ~ .bhg-cookie.is-shown {
  visibility: hidden;
  clip-path: inset(100% -60px -60px -60px);
  transform: translate3d(0, 16px, 0);
  transition: clip-path 0.4s var(--bhg-ease), transform 0.4s var(--bhg-ease), visibility 0s linear 0.4s;
}
.bhg-cookie__title {
  margin: 0 0 4px;
  font-family: var(--bhg-font-display);
  font-size: 13px;
  line-height: 1.3;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.bhg-cookie__text {
  margin: 0;
  font-family: var(--bhg-font-body);
  font-size: 13px;
  line-height: 1.3;
  color: var(--bhg-muted);
}
.bhg-cookie__link {
  color: var(--bhg-bronze-deep);
  font-weight: 700;
  text-decoration: none;
}
.bhg-cookie__link:focus-visible { outline: 2px solid var(--bhg-ink); outline-offset: 2px; }
.bhg-cookie__option {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  margin-top: 8px;
  font-family: var(--bhg-font-body);
  font-size: 13px;
  line-height: 1.3;
  color: var(--bhg-muted);
  cursor: pointer;
}
.bhg-cookie__option input {
  appearance: none;
  flex: none;
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  margin: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: inset 0 0 0 1px var(--bhg-muted);
  cursor: pointer;
}
.bhg-cookie__option input::after {
  content: "";
  width: 10px;
  height: 10px;
  background: var(--bhg-bronze-deep);
  transform: scale(0);
  transition: transform 0.15s ease;
}
.bhg-cookie__option input:checked::after { transform: scale(1); }
.bhg-cookie__option input:focus-visible { outline: 2px solid var(--bhg-ink); outline-offset: 2px; }
.bhg-cookie__actions {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}
.bhg-cookie__actions .bhg-btn { flex: 1 1 auto; min-height: 32px; padding: 6px 8px; font-size: 10px; letter-spacing: 0.08em; white-space: nowrap; }
.bhg-cookie-open {
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
}
.bhg-cookie__actions :is(.bhg-btn:focus-visible) { outline: 2px solid var(--bhg-ink); outline-offset: 3px; }
.bhg-cookie__more {
  background: none;
  color: var(--bhg-ink);
  transition: background-color 0.2s var(--bhg-ease), color 0.2s var(--bhg-ease);
}
@media (hover: hover) {
  .bhg-cookie__more:hover { background: var(--bhg-bronze); color: var(--bhg-cream); }
}
@media (max-width: 767px), (max-aspect-ratio: 4/5) {
  .bhg-cookie { padding: 12px var(--bhg-gutter) calc(12px + var(--bhg-safe-bottom)); }
  .bhg-cookie__actions { gap: 6px; margin-top: 10px; }
  .bhg-cookie__actions .bhg-btn { min-height: 38px; padding: 6px; font-size: 9.5px; letter-spacing: 0.05em; }
}
@media (prefers-reduced-motion: reduce) {
  .bhg-cookie, .bhg-cookie.is-shown, .bhg-header.is-menu-open ~ .bhg-cookie.is-shown { transform: none; transition: visibility 0s; }
}
.bhg-library { text-shadow: 0 0 6px rgb(200 184 172 / 0.9), 0 0 16px rgb(190 174 162 / 0.85), 0 0 32px rgb(178 161 148 / 0.7), 0 0 56px rgb(166 148 134 / 0.45); }
@media (max-width: 767px), (max-aspect-ratio: 4/5) {
  .bhg-library { text-shadow: 0 0 3px rgb(200 184 172 / 0.95), 0 0 10px rgb(186 168 154 / 0.8); }
}
.bhg-library :is(.bhg-btn, figure, figcaption, video, [class*='__play']) { text-shadow: none; }
:where(.bhg-btn--camel, .bhg-header__back, .bhg-menu__social a, .bhg-clip__sound, .bhg-fan__close, .bhg-clip__icon, .bhg-film__play-icon, .bhg-library__icon, .bhg-call__mark, .bhg-call__label, .bhg-top__mark, .bhg-top__label) {
  position: relative;
  --bhg-depth-side: rgb(46 36 33 / 0.92); 
  --bhg-depth-face:
    inset 0 1px 0 rgb(255 243 232 / 0.34),
    inset 0 12px 14px -12px rgb(255 240 226 / 0.2),
    inset 0 -10px 14px -10px rgb(20 12 10 / 0.24),
    inset 0 -1px 0 rgb(20 12 10 / 0.3);
  --bhg-depth-face-pressed:
    inset 0 1px 0 rgb(255 243 232 / 0.1),
    inset 0 12px 14px -12px rgb(20 12 10 / 0.18),
    inset 0 -10px 14px -10px rgb(20 12 10 / 0.1),
    inset 0 1px 3px rgb(20 12 10 / 0.3);
  --bhg-depth-out:
    0 1px 0 var(--bhg-depth-side),
    0 2px 0 rgb(46 36 33 / 0.3),
    0 3px 4px rgb(20 12 10 / 0.16),
    0 12px 20px -10px rgb(20 12 10 / 0.34),
    0 26px 40px -20px rgb(20 12 10 / 0.3);
  --bhg-depth-out-hover:
    0 1px 0 var(--bhg-depth-side),
    0 2px 0 rgb(46 36 33 / 0.3),
    0 4px 6px rgb(20 12 10 / 0.16),
    0 16px 26px -12px rgb(20 12 10 / 0.36),
    0 34px 50px -22px rgb(20 12 10 / 0.32);
  --bhg-depth-out-pressed:
    0 0 0 var(--bhg-depth-side),
    0 1px 0 rgb(46 36 33 / 0.3),
    0 1px 2px rgb(20 12 10 / 0.2),
    0 5px 10px -6px rgb(20 12 10 / 0.3),
    0 10px 18px -12px rgb(20 12 10 / 0.2);
}
:where(.bhg-header__back) { --bhg-depth-side: rgb(170 150 132 / 0.95); }
.bhg-header .bhg-btn--camel { --bhg-depth-side: color-mix(in srgb, rgb(46 36 33 / 0.92) calc(var(--p) * 100%), rgb(170 150 132 / 0.95)); }
:where(.bhg-btn--camel, .bhg-header__back, .bhg-menu__social a, .bhg-clip__sound, .bhg-fan__close, .bhg-clip__icon, .bhg-film__play-icon, .bhg-library__icon, .bhg-call__mark, .bhg-call__label, .bhg-top__mark, .bhg-top__label)::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(104deg, rgb(255 246 236 / 0) 42%, rgb(255 246 236 / 0.08) 46%, rgb(255 248 240 / 0.34) 50%, rgb(255 246 236 / 0.08) 54%, rgb(255 246 236 / 0) 58%) 0% 0 / 300% 100% no-repeat,
    radial-gradient(130% 150% at 18% -18%, rgb(255 244 232 / 0.26), rgb(255 244 232 / 0.07) 38%, rgb(255 244 232 / 0) 62%);
}
html .bhg-btn--camel,
html .bhg-header__back,
html .bhg-menu__social a,
html .bhg-clip__sound,
html .bhg-fan__close,
html .bhg-clip__icon,
html .bhg-film__play-icon,
html .bhg-library__icon,
html .bhg-header .bhg-header__book:is(:hover, :focus-visible) {
  box-shadow: var(--bhg-depth-face), var(--bhg-depth-out);
}
html .bhg-btn--camel,
html .bhg-menu__foot .bhg-menu__book,
html .bhg-call__label { text-shadow: 0 -1px 0 rgb(20 12 10 / 0.32); }
html .bhg-header .bhg-btn--camel {
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--bhg-bronze) calc(var(--p) * 100%), var(--hdr-fg)),
    var(--bhg-depth-face),
    var(--bhg-depth-out);
  text-shadow: none;
}
html .bhg-header[data-tone='dark'] .bhg-btn--camel,
html .bhg-header.is-menu-open .bhg-btn--camel { text-shadow: 0 -1px 0 rgb(20 12 10 / 0.32); }
@media (min-width: 768px) and (min-aspect-ratio: 4/5) {
  html .bhg-header .bhg-btn--camel {
    --bhg-depth-face:
      inset 0 1px 0 rgb(255 243 232 / 0.3),
      inset 0 12px 14px -12px rgb(255 240 226 / 0.18),
      inset 0 -12px 16px -14px rgb(20 12 10 / 0.16);
    --bhg-depth-out:
      0 1px 2px rgb(46 36 33 / 0.22),
      0 6px 12px -6px rgb(20 12 10 / 0.24),
      0 18px 30px -16px rgb(20 12 10 / 0.26);
    --bhg-depth-out-hover:
      0 1px 2px rgb(46 36 33 / 0.22),
      0 8px 16px -8px rgb(20 12 10 / 0.26),
      0 24px 38px -18px rgb(20 12 10 / 0.28);
    --bhg-depth-out-pressed:
      0 1px 1px rgb(46 36 33 / 0.2),
      0 4px 8px -5px rgb(20 12 10 / 0.22);
    box-shadow:
      inset 0 0 0 1px color-mix(in srgb, transparent calc(var(--p) * 100%), var(--hdr-fg)),
      var(--bhg-depth-face),
      var(--bhg-depth-out);
  }
}
html .bhg-header__back { box-shadow: inset 0 0 0 1px var(--bhg-ink), var(--bhg-depth-face), var(--bhg-depth-out); }
html .bhg-header__back:is(:hover, :focus-visible) {
  --bhg-depth-side: rgb(46 36 33 / 0.92);
  box-shadow: inset 0 0 0 1px var(--bhg-bronze-deep), var(--bhg-depth-face), var(--bhg-depth-out);
}
html .bhg-call {
  box-shadow: 0 1px 0 rgb(46 36 33 / 0.92), 0 2px 0 rgb(46 36 33 / 0.3), 0 3px 4px rgb(20 12 10 / 0.16), 0 12px 20px -10px rgb(20 12 10 / 0.34), 0 26px 40px -20px rgb(20 12 10 / 0.3);
}
html .bhg-call__mark, html .bhg-call__label { box-shadow: var(--bhg-depth-face); }
html .bhg-top__mark, html .bhg-top__label { box-shadow: var(--bhg-depth-face), var(--bhg-depth-out); }
html .bhg-top__label { text-shadow: 0 -1px 0 rgb(20 12 10 / 0.32); }
html .bhg-top:active { translate: 0 1px; }
html .bhg-top:active :is(.bhg-top__mark, .bhg-top__label) { box-shadow: var(--bhg-depth-face-pressed), var(--bhg-depth-out-pressed); }
html .bhg-top:active :is(.bhg-top__mark, .bhg-top__label)::after { filter: brightness(0.6); }
@media (hover: hover) {
  html :is(.bhg-btn--camel, .bhg-menu__social a, .bhg-clip__sound, .bhg-fan__close):hover {
    translate: 0 -1px;
    box-shadow: var(--bhg-depth-face), var(--bhg-depth-out-hover);
  }
  html .bhg-header .bhg-header__book:hover { box-shadow: var(--bhg-depth-face), var(--bhg-depth-out-hover); }
  html .bhg-header__back:hover {
    translate: 0 -1px;
    box-shadow: inset 0 0 0 1px var(--bhg-bronze-deep), var(--bhg-depth-face), var(--bhg-depth-out-hover);
  }
}
html :is(.bhg-btn--camel, .bhg-menu__social a, .bhg-clip__sound, .bhg-fan__close, .bhg-header__back):active,
html .bhg-header .bhg-header__book:active,
html .bhg-clip__play:active .bhg-clip__icon,
html .bhg-film__play:active .bhg-film__play-icon,
html .bhg-fan__face:active .bhg-library__icon {
  translate: 0 1px;
  box-shadow: var(--bhg-depth-face-pressed), var(--bhg-depth-out-pressed);
}
html .bhg-call:active {
  translate: 0 1px;
  box-shadow: 0 0 0 rgb(46 36 33 / 0.92), 0 1px 0 rgb(46 36 33 / 0.3), 0 1px 2px rgb(20 12 10 / 0.2), 0 5px 10px -6px rgb(20 12 10 / 0.3), 0 10px 18px -12px rgb(20 12 10 / 0.2);
}
html .bhg-call:active :is(.bhg-call__mark, .bhg-call__label) { box-shadow: var(--bhg-depth-face-pressed); }
html :is(.bhg-btn--camel, .bhg-header__back, .bhg-menu__social a, .bhg-clip__sound, .bhg-fan__close, .bhg-call__mark, .bhg-call__label):active::after,
html .bhg-call:active :is(.bhg-call__mark, .bhg-call__label)::after { filter: brightness(0.6); }
@media (max-width: 767px), (max-aspect-ratio: 4/5) {
  html .bhg-header .bhg-header__book,
  html .bhg-call,
  html .bhg-header.is-menu-open .bhg-header__book.is-shown,
  html .bhg-header.is-menu-open ~ .bhg-call.is-shown { clip-path: inset(100% -40px 0 -40px); }
  html .bhg-header .bhg-header__book.is-shown,
  html .bhg-call.is-shown { clip-path: inset(-40px -40px -40px -40px); }
}
@property --pearl-x { syntax: '<percentage>'; inherits: true; initial-value: 34%; }
@property --pearl-y { syntax: '<percentage>'; inherits: true; initial-value: 27%; }
@property --pearl-orient { syntax: '<angle>'; inherits: true; initial-value: 210deg; }
.bhg-burger__icon {
  --pearl-x: 34%;
  --pearl-y: 27%;
  background:
    radial-gradient(circle at var(--pearl-x) var(--pearl-y), #fff 0 4%, rgb(255 255 255 / 0.9) 8%, rgb(255 255 255 / 0) 22%),
    radial-gradient(circle at var(--pearl-x) var(--pearl-y), rgb(255 255 255 / 0.85) 0, rgb(252 253 252 / 0.35) 30%, rgb(252 253 252 / 0) 55%),
    radial-gradient(60% 34% at calc(100% - var(--pearl-x) + 14%) 94%, rgb(250 250 246 / 0.75), rgb(250 250 246 / 0) 100%),
    radial-gradient(circle at var(--pearl-x) var(--pearl-y), rgb(150 152 150 / 0) 26%, rgb(150 152 150 / 0.22) 62%, rgb(112 114 112 / 0.4) 92%),
    #eeeeea;
  box-shadow:
    inset 0 0 0 0.5px rgb(255 255 255 / 0.55),
    inset 0 0 3px 1px rgb(255 252 248 / 0.4),
    0 1px 1px rgb(58 40 30 / 0.22),
    0 5px 9px -3px rgb(58 40 30 / 0.24),
    0 16px 28px -12px rgb(58 40 30 / 0.42);
  animation: bhg-knob-in 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.35s backwards, bhg-pearl-breathe 16s linear infinite;
}
.bhg-burger__icon::before {
  background: conic-gradient(
    from var(--pearl-orient) at var(--pearl-x) var(--pearl-y),
    rgb(244 232 238 / 0.5),
    rgb(232 238 244 / 0.45),
    rgb(234 242 236 / 0.45),
    rgb(244 240 230 / 0.5),
    rgb(238 234 244 / 0.45),
    rgb(244 232 238 / 0.5)
  );
  -webkit-mask: radial-gradient(circle at var(--pearl-x) var(--pearl-y), transparent 0 24%, rgb(0 0 0 / 0.5) 46%, rgb(0 0 0 / 0.7) 64%, rgb(0 0 0 / 0.2) 92%);
  mask: radial-gradient(circle at var(--pearl-x) var(--pearl-y), transparent 0 24%, rgb(0 0 0 / 0.5) 46%, rgb(0 0 0 / 0.7) 64%, rgb(0 0 0 / 0.2) 92%);
  mix-blend-mode: multiply;
}
@keyframes bhg-pearl-breathe { to { --pearl-orient: 570deg; } }
.bhg-burger:focus-visible .bhg-burger__icon {
  box-shadow:
    inset 0 0 0 0.5px rgb(255 255 255 / 0.55),
    0 0 0 3px var(--bhg-ivory),
    0 0 0 4.5px var(--bhg-bronze);
}
@media (prefers-reduced-motion: reduce) {
  .bhg-burger__icon { animation: none; }
}


@font-face {
  font-family: 'Bodoni Moda';
  src: url('../public/fonts/bodoni-moda-variable.woff2') format('woff2');
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Bodoni Moda';
  src: url('../public/fonts/bodoni-moda-variable-italic.woff2') format('woff2');
  font-weight: 400 900;
  font-style: italic;
  font-display: swap;
}
.mag-cover {
  --mag-serif: 'Bodoni Moda', 'Didot', 'Bodoni 72', Georgia, serif;
  --mag-small: max(12px, calc(1.9 * var(--u)));
  --mag-head: calc(29 * var(--u));
  box-sizing: border-box;
  display: grid;
  grid-template-columns: calc(30 * var(--u)) minmax(0, 1fr) calc(33 * var(--u));
  grid-template-rows: var(--mag-head) auto minmax(0, 1fr) auto;
  padding-inline: calc(5.5 * var(--u));
}
.mag-cover ul, .mag-cover p { margin: 0; padding: 0; list-style: none; }
.mag-cover a { color: inherit; text-decoration: none; }
.mag-cover__scrim, .mag-cover__text, .mag-flash, .mag-cover .mag-lines { pointer-events: none; }
.mag-cover__text a, .mag-lines a { pointer-events: auto; }
.mag-cover .mag-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mag-cover__scrim {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to right, rgb(20 14 12 / 0.62), rgb(20 14 12 / 0.34) 20%, rgb(20 14 12 / 0) 33%),
    linear-gradient(to left, rgb(20 14 12 / 0.66), rgb(20 14 12 / 0.4) 26%, rgb(20 14 12 / 0) 42%),
    linear-gradient(to top, rgb(20 14 12 / 0.84), rgb(20 14 12 / 0.56) 26%, rgb(20 14 12 / 0) 42%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 24%, #000 38%);
  mask-image: linear-gradient(to bottom, transparent 24%, #000 38%);
}
.mag-cover .mag-lines {
  position: relative;
  display: flex;
  flex-flow: column wrap;
  align-content: flex-start;
  gap: calc(2.5 * var(--u)) calc(6 * var(--u));
  min-width: 0;
  min-height: 0;
  overflow: clip;
  overflow-clip-margin: calc(1.3 * var(--u));
  color: #fbf4ec;
  text-shadow: 0 0 calc(1.3 * var(--u)) rgb(20 14 12 / 0.5);
}
.mag-cover .mag-lines--left { grid-column: 1; grid-row: 2 / 4; margin-top: calc(15 * var(--u)); }
.mag-cover .mag-lines--right { grid-column: 3; grid-row: 3; flex-wrap: wrap-reverse; text-align: right; }
.mag-lines li { width: 100%; }
.mag-lines a { display: block; transition: color 0.3s; }
.mag-lines a:hover, .mag-lines a:focus-visible { color: #e3bea2; }
.mag-lines strong {
  display: block;
  font-family: var(--mag-serif);
  font-weight: 500;
  font-size: max(15px, calc(3.9 * var(--u)));
  line-height: 1.08;
  letter-spacing: -0.01em;
}
.mag-lines .is-big strong {
  font-style: italic;
  font-weight: 400;
  font-size: max(19px, calc(6 * var(--u)));
  line-height: 1;
  letter-spacing: -0.02em;
}
.mag-lines span {
  display: block;
  margin-top: calc(0.5 * var(--u));
  font-size: var(--mag-small);
  line-height: 1.2;
}
.mag-flash {
  position: relative;
  grid-column: 3;
  grid-row: 2;
  justify-self: end;
  width: max(calc(23 * var(--u)), 118px);
  background: #e3bea2;
  color: #1a1311;
  transform: rotate(-4deg);
}
.mag-cover .mag-flash {
  margin-bottom: calc(3 * var(--u));
  padding: calc(1.9 * var(--u)) calc(2.2 * var(--u)) calc(2.1 * var(--u));
}
.mag-flash strong {
  display: block;
  font-family: var(--mag-serif);
  font-style: italic;
  font-weight: 400;
  font-size: max(16px, calc(4.3 * var(--u)));
  line-height: 1;
}
.mag-flash span {
  display: block;
  margin-top: calc(0.8 * var(--u));
  font-size: max(11.5px, calc(1.75 * var(--u)));
  line-height: 1.22;
}
.mag-cover__text {
  position: relative;
  grid-column: 1 / -1;
  grid-row: 4;
  padding-top: calc(3 * var(--u));
  padding-bottom: calc(4.6 * var(--u));
  text-align: center;
  color: #fbf4ec;
}
.mag-cover__row {
  display: flex;
  justify-content: space-between;
  gap: calc(2 * var(--u));
  margin-bottom: calc(1.6 * var(--u));
  font-family: var(--mag-serif);
  font-size: max(14px, calc(3.2 * var(--u)));
}
.mag-cover__row a { transition: color 0.3s; }
.mag-cover__row a:hover, .mag-cover__row a:focus-visible { color: #e3bea2; }
.mag-cover__title {
  font-family: var(--mag-serif);
  font-style: italic;
  font-weight: 400;
  font-size: calc(13 * var(--u));
  line-height: 1;
  letter-spacing: -0.025em;
  white-space: nowrap;
}
.mag-cover__title span {
  display: block;
  margin-top: calc(1.5 * var(--u));
  font-family: var(--mag-serif);
  font-style: normal;
  font-size: max(13.5px, calc(2.9 * var(--u)));
  letter-spacing: 0;
  white-space: normal;
}


:root {
  --mag-serif: 'Bodoni Moda', 'Didot', 'Bodoni 72', Georgia, serif;
  --mag-sans: 'Ranade', system-ui, sans-serif;
  --mag-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --mag-text: max(14.5px, calc(2.7 * var(--u)));
  --mag-small: max(12px, calc(1.9 * var(--u)));
  --u: min(1vw, 8px);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; }
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, p, ul, ol, dl, dd { margin: 0; padding: 0; }
ul, ol { list-style: none; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; border-radius: 0; padding: 0; cursor: pointer; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.mag-body {
  background: #2b2220;
  color: #f7efe6;
  font-family: var(--mag-sans);
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
  -webkit-font-smoothing: antialiased;
}
.mag-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
[data-theme='paper'] { --bg: #f4eee5; --fg: #1a1311; --soft: #5f514b; }
[data-theme='cream'] { --bg: #e8d8c4; --fg: #1a1311; --soft: #5a4a41; }
[data-theme='camel'] { --bg: #e3bea2; --fg: #1a1311; --soft: #55402f; }
[data-theme='bronze'] { --bg: #4e3f3c; --fg: #f7efe6; --soft: #d9c9bb; }
[data-theme='ink'] { --bg: #15100e; --fg: #f7efe6; --soft: #bcaea3; }
.mag-page {
  position: relative;
  width: calc(100 * var(--u));
  min-height: calc(130 * var(--u));
  margin-inline: auto;
  overflow: hidden;
  background: var(--bg);
  color: var(--fg);
}
.mag-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mag-page h2 {
  font-family: var(--mag-serif);
  font-weight: 400;
  font-size: calc(15.5 * var(--u));
  line-height: 0.96;
  letter-spacing: -0.02em;
}
.mag-page h2 span,
.mag-page h2 em { display: block; }
.mag-page h2 em { font-style: italic; }
.mag-deck {
  margin-top: calc(2.4 * var(--u));
  font-family: var(--mag-serif);
  font-style: italic;
  font-size: max(15px, calc(3.2 * var(--u)));
  line-height: 1.25;
}
.mag-over {
  position: absolute;
  inset-inline: 0;
  padding: calc(8 * var(--u));
}
.mag-over[data-pos='bottom'] { bottom: 0; padding-top: calc(34 * var(--u)); }
.mag-over[data-pos='top'] { top: 0; padding-bottom: calc(34 * var(--u)); }
.mag-over[data-on='dark'] { color: #fbf4ec; }
.mag-over[data-on='light'] { color: #1a1311; }
.mag-over[data-on='dark'][data-pos='bottom'] {
  background: linear-gradient(to top, rgb(20 14 12 / 0.74), rgb(20 14 12 / 0.46) 48%, rgb(20 14 12 / 0));
}
.mag-over[data-on='dark'][data-pos='top'] {
  background: linear-gradient(to bottom, rgb(20 14 12 / 0.74), rgb(20 14 12 / 0.46) 48%, rgb(20 14 12 / 0));
}
.mag-lede {
  font-family: var(--mag-serif);
  font-size: max(17px, calc(4.3 * var(--u)));
  line-height: 1.22;
}
.mag-feature:has(.mag-band) { display: flex; flex-direction: column; }
.mag-band { flex: 1 1 auto; min-height: calc(75 * var(--u)); position: relative; }
.mag-band img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mag-band__text { padding: calc(7 * var(--u)) calc(8 * var(--u)) calc(8 * var(--u)); }
.mag-toc {
  display: flex;
  flex-direction: column;
  padding: calc(8 * var(--u)) calc(9 * var(--u)) calc(6 * var(--u));
}
.mag-toc h2 { font-size: calc(14 * var(--u)); margin-bottom: calc(2.6 * var(--u)); }
.mag-toc ol { flex: 1; display: flex; flex-direction: column; justify-content: space-between; }
.mag-toc a { display: block; padding-block: calc(0.2 * var(--u)); }
.mag-toc strong {
  display: block;
  font-family: var(--mag-serif);
  font-weight: 400;
  font-size: max(16px, calc(3.1 * var(--u)));
  line-height: 1.15;
  transition: transform 0.35s var(--mag-ease);
}
.mag-toc span { display: block; font-size: max(11.5px, calc(1.75 * var(--u))); line-height: 1.2; color: var(--soft); }
.mag-toc a:hover strong,
.mag-toc a:focus-visible strong { font-style: italic; transform: translateX(calc(1.4 * var(--u))); }
.mag-tight .mag-toc span { display: none; }
.mag-menu {
  display: flex;
  flex-direction: column;
  padding: calc(9 * var(--u)) calc(9 * var(--u)) calc(5.5 * var(--u));
}
.mag-intro {
  font-family: var(--mag-serif);
  font-size: var(--mag-text);
  line-height: 1.42;
}
.mag-intro a { transition: color 0.3s; }
.mag-intro a:hover, .mag-intro a:focus-visible { color: var(--soft); }
.mag-intro::first-letter {
  float: left;
  font-size: 3.55em;
  line-height: 0.82;
  padding: 0.05em 0.07em 0 0;
}
.mag-pick { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; padding-block: calc(4 * var(--u)); }
.mag-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: calc(3 * var(--u));
  width: 100%;
  padding-block: calc(1.15 * var(--u));
}
.mag-row__name {
  font-family: var(--mag-serif);
  font-size: max(17px, calc(3.5 * var(--u)));
  line-height: 1.16;
  transition: transform 0.35s var(--mag-ease);
}
.mag-row__meta {
  flex: none;
  font-size: var(--mag-small);
  color: var(--soft);
  white-space: nowrap;
}
.mag-row:hover .mag-row__name,
.mag-row:focus-visible .mag-row__name,
.mag-row[aria-current='true'] .mag-row__name {
  font-style: italic;
  transform: translateX(calc(1.4 * var(--u)));
}
.mag-folio {
  display: flex;
  justify-content: space-between;
  gap: calc(3 * var(--u));
  margin-top: auto;
  font-size: var(--mag-small);
  color: var(--soft);
}
.mag-art { padding-block: calc(5 * var(--u)); }
.mag-art h3 {
  font-family: var(--mag-serif);
  font-style: italic;
  font-weight: 400;
  font-size: calc(8.4 * var(--u));
  line-height: 1.02;
  letter-spacing: -0.015em;
  outline: 0;
}
.mag-art__text {
  margin-top: calc(3.2 * var(--u));
  font-family: var(--mag-serif);
  font-size: var(--mag-text);
  line-height: 1.45;
}
.mag-art__text p + p { margin-top: 0.7em; }
.mag-art__note {
  margin-top: calc(2.6 * var(--u));
  font-size: max(13px, calc(2.2 * var(--u)));
  line-height: 1.4;
  color: var(--soft);
}
.mag-facts { display: flex; gap: calc(9 * var(--u)); margin-top: calc(3.6 * var(--u)); }
.mag-facts dt { font-size: var(--mag-small); color: var(--soft); }
.mag-facts dd { font-family: var(--mag-serif); font-size: max(20px, calc(5.2 * var(--u))); line-height: 1.1; }
.mag-prices {
  width: 100%;
  margin-top: calc(3.2 * var(--u));
  border-collapse: collapse;
  font-size: max(13px, calc(2.2 * var(--u)));
}
.mag-prices th, .mag-prices td { padding: calc(0.45 * var(--u)) 0; text-align: right; font-weight: 400; white-space: nowrap; }
.mag-prices th:first-child { text-align: left; white-space: normal; }
.mag-prices td, .mag-prices thead th + th { padding-left: calc(3 * var(--u)); }
.mag-prices thead { color: var(--soft); }
.mag-prices tbody td:nth-child(2) { font-family: var(--mag-serif); font-size: 1.16em; }
.mag-btn { margin-top: calc(3.8 * var(--u)); }
.bhg-header__back {
  background: var(--bhg-ivory);
  color: var(--bhg-ink);
  transition: background-color 0.3s var(--bhg-ease), color 0.3s var(--bhg-ease), box-shadow 0.3s var(--bhg-ease);
}
.bhg-header__back:hover,
.bhg-header__back:focus-visible { background: var(--bhg-bronze-deep); color: var(--bhg-cream); }
.mag-stars h2 { font-size: calc(11.5 * var(--u)); }
.mag-stars ul { margin-top: calc(3.4 * var(--u)); display: grid; grid-template-columns: 1fr 1fr; gap: calc(1.7 * var(--u)) calc(4 * var(--u)); }
.mag-stars strong { display: block; font-family: var(--mag-serif); font-weight: 400; font-size: max(17px, calc(3.6 * var(--u))); line-height: 1.1; }
.mag-stars span { display: block; font-size: var(--mag-small); line-height: 1.25; }
.mag-faq { display: flex; flex-direction: column; padding: calc(8 * var(--u)) calc(9 * var(--u)) calc(5.5 * var(--u)); }
.mag-faq h2 { font-size: calc(9.6 * var(--u)); margin-bottom: calc(3.4 * var(--u)); }
.mag-faq h2 span, .mag-faq h2 em { display: inline; }
.mag-faq h3 { font-family: var(--mag-serif); font-style: italic; font-weight: 400; font-size: max(16px, calc(3.3 * var(--u))); line-height: 1.2; }
.mag-faq p:not(.mag-folio) { font-size: max(13.5px, calc(2.3 * var(--u))); line-height: 1.42; }
.mag-faq div { margin-bottom: calc(2.3 * var(--u)); }
.mag-tight .mag-faq { padding-block: calc(5 * var(--u)) calc(4 * var(--u)); }
.mag-tight .mag-faq h2 { font-size: calc(7.6 * var(--u)); margin-bottom: calc(2 * var(--u)); }
.mag-tight .mag-faq div { margin-bottom: calc(1.2 * var(--u)); }
.mag-tight .mag-faq h3 { font-size: max(14.5px, calc(3.3 * var(--u))); }
.mag-tight .mag-faq p:not(.mag-folio) { font-size: max(12.5px, calc(2.3 * var(--u))); line-height: 1.34; }
.mag-back__where { font-family: var(--mag-serif); font-size: calc(6.6 * var(--u)); line-height: 1.1; }
.mag-back__when { margin-top: calc(2.4 * var(--u)); font-size: max(13.5px, calc(2.4 * var(--u))); line-height: 1.45; }
.mag-back__actions { display: flex; flex-wrap: wrap; gap: calc(1.6 * var(--u)); }
.mag-tight .mag-band { min-height: 0; }
.mag-tight .mag-band__text { padding: calc(5 * var(--u)) calc(7 * var(--u)); }
.mag-tight .mag-menu { padding-block: calc(6 * var(--u)) calc(4 * var(--u)); }
.mag-tight .mag-intro { font-size: max(13px, calc(2.7 * var(--u))); line-height: 1.34; }
.mag-tight .mag-pick { padding-block: calc(2.4 * var(--u)); }
.mag-tight .mag-row { padding-block: calc(0.7 * var(--u)); }
.mag-tight .mag-row__name { font-size: max(15px, calc(3.5 * var(--u))); }
.mag-tight .mag-back .mag-over { padding-block: calc(5 * var(--u)) calc(9 * var(--u)); }
.mag-tight .mag-back__where { font-size: calc(5.6 * var(--u)); }
.mag-tight .mag-back__when { margin-top: calc(1.4 * var(--u)); font-size: max(12.5px, calc(2.4 * var(--u))); line-height: 1.34; }
.mag-tight .mag-back .mag-btn { margin-top: calc(1.8 * var(--u)); }
.mag-bar { display: none; }
@keyframes mag-arrive {
  from { transform: translateY(2.6%) scale(0.982); }
  to { transform: none; }
}
.js .mag-body { height: 100svh; overflow: hidden; }
.js .mag {
  position: fixed;
  inset: 0;
  overflow: hidden;
  background:
    linear-gradient(rgb(30 22 20 / 0.74), rgb(30 22 20 / 0.74)),
    #8c7a6f -webkit-image-set(url('../public/brand/wall.avif?v=1') 1x, url('../public/brand/wall@2x.avif?v=1') 2x) 0 0 / 2100px auto repeat;
}
.js .mag-stage {
  position: absolute;
  inset: 0 0 var(--bar, 64px);
  touch-action: pan-y;
  perspective: var(--persp, 2600px);
  perspective-origin: 50% 50%;
  animation: mag-arrive 1.25s var(--mag-ease) both;
}
.js .mag-book {
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(2 * var(--w, 40vw));
  height: var(--h, 80vh);
  margin: calc(var(--h, 80vh) / -2) 0 0 calc(var(--w, 40vw) * -1);
  transform-style: preserve-3d;
  will-change: transform;
}
.js .mag-page {
  position: absolute;
  top: 0;
  left: 0;
  width: var(--w, 40vw);
  height: var(--h, 80vh);
  min-height: 0;
  margin: 0;
  visibility: hidden;
}
.js .mag-menu, .js .mag-faq { overflow: hidden auto; overscroll-behavior: contain; scrollbar-width: none; }
.js .mag-menu::-webkit-scrollbar, .js .mag-faq::-webkit-scrollbar { display: none; }
.js .mag-page.is-left { visibility: visible; left: 0; }
.js .mag-page.is-right { visibility: visible; left: var(--w, 40vw); }
.js .mag-page.is-left,
.js .mag-page.is-right { box-shadow: 0 calc(2 * var(--u)) calc(7 * var(--u)) rgb(0 0 0 / 0.46); }
.js .mag-page::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
}
.js .mag-page--recto::after { background: linear-gradient(to right, rgb(0 0 0 / 0.26), rgb(0 0 0 / 0.07) 2.6%, rgb(0 0 0 / 0) 7%); }
.js .mag-page--verso::after { background: linear-gradient(to left, rgb(0 0 0 / 0.26), rgb(0 0 0 / 0.07) 2.6%, rgb(0 0 0 / 0) 7%); }
.js .mag-cover::after { background: linear-gradient(to right, rgb(0 0 0 / 0.22), rgb(255 255 255 / 0.1) 1%, rgb(0 0 0 / 0) 3%); }
.js .mag-store { display: none; }
.mag-leaf {
  position: absolute;
  top: 0;
  left: var(--w);
  width: var(--w);
  height: var(--h);
  transform-style: preserve-3d;
  transform: translateZ(1px);
  pointer-events: none;
}
.mag-strip {
  position: absolute;
  top: 0;
  height: 100%;
  transform-origin: 0 50%;
  transform-style: preserve-3d;
  will-change: transform;
}
.mag-face {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: #efe8de;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.mag-face--b { transform: rotateY(180deg); }
.mag-face > i { position: absolute; inset: 0; z-index: 9; pointer-events: none; }
.mag-page.is-clone {
  position: absolute;
  top: 0;
  visibility: visible;
  box-shadow: none;
}
.mag-page.is-clone .mag-tip { animation: none; }
.mag-cast {
  position: absolute;
  top: 0;
  width: var(--w);
  height: var(--h);
  z-index: 5;
  opacity: 0;
  pointer-events: none;
}
.mag-cast--r { left: var(--w); background: linear-gradient(to right, rgb(0 0 0 / 0.55), rgb(0 0 0 / 0)); transform-origin: 0 50%; }
.mag-cast--l { left: 0; background: linear-gradient(to left, rgb(0 0 0 / 0.55), rgb(0 0 0 / 0)); transform-origin: 100% 50%; }
.mag-edge {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 6;
  width: calc(9 * var(--u));
  transform: translateZ(2px);
  touch-action: pan-y;
}
.mag-edge--next { right: 0; }
.mag-edge--prev { left: 0; }
.mag-edge[hidden] { display: none; }
.at-cover .mag-edge { width: calc(3.5 * var(--u)); }
.mag-tip {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  padding: calc(5 * var(--u)) calc(9 * var(--u)) calc(4 * var(--u));
  background: var(--bg);
  color: var(--fg);
  overflow: hidden auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
}
.mag-tip[hidden] { display: none; }
.mag-tip::-webkit-scrollbar { display: none; }
.mag-tip.is-in { animation: mag-unroll 0.62s var(--mag-ease) both; }
@keyframes mag-unroll {
  from { clip-path: inset(0 0 0 100%); }
  to { clip-path: inset(0 0 0 0); }
}
.mag-tip__close { flex: none; align-self: flex-end; }
.mag-tip__body { margin-block: auto; }
.mag-tip .mag-art { padding-block: calc(1 * var(--u)); }
.js .mag-bar {
  position: absolute;
  inset: auto 0 0;
  z-index: 20;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
  height: var(--bar, 64px);
  padding: 0 clamp(14px, 2.4vw, 32px) env(safe-area-inset-bottom, 0px);
  color: #f7efe6;
}
.mag-bar__start { display: flex; align-items: center; gap: 18px; }
.mag-bar__home img { width: auto; height: 34px; filter: brightness(0) invert(1); }
.mag-bar__nav { display: flex; gap: 8px; }
.mag-bar__book { justify-self: end; }
.mag-ctl:disabled { filter: brightness(0.66); cursor: default; }
.mag-single .mag-edge--next { width: calc(0.12 * var(--w)); }
.mag-single .mag-edge--prev { left: calc(var(--w) - var(--spine)); width: calc(0.12 * var(--w) + var(--spine)); }
.mag-single .on-verso .mag-edge--next { right: calc(var(--w) - var(--spine)); width: calc(0.12 * var(--w) + var(--spine)); }
.mag-single .on-verso .mag-edge--prev { left: 0; width: calc(0.12 * var(--w)); }
.mag-single .mag-band { min-height: 0; }
.mag-single .mag-cover {
  --mag-head: calc(46 * var(--u));
  grid-template-columns: calc(43 * var(--u)) minmax(0, 1fr) calc(43 * var(--u));
}
.mag-single .mag-cover__scrim {
  background: linear-gradient(to top, rgb(20 14 12 / 0.86), rgb(20 14 12 / 0.66) 30%, rgb(20 14 12 / 0) 46%);
  -webkit-mask-image: none;
  mask-image: none;
}
.mag-single .mag-cover .mag-lines { justify-content: flex-end; row-gap: calc(2.6 * var(--u)); }
.mag-single .mag-cover .mag-lines--left { margin-top: 0; }
.mag-single .mag-lines span { display: none; }
.mag-single .mag-lines strong,
.mag-single .mag-lines .is-big strong { font-size: max(16px, calc(4.6 * var(--u))); line-height: 1.1; font-weight: 400; }
.mag-single .mag-lines .is-big strong { font-style: italic; }
.mag-single .mag-flash { width: max(calc(29 * var(--u)), 118px); }
.js .mag-single .mag-bar { display: flex; gap: 6px; padding-inline: 10px; }
.mag-single .mag-bar__home,
.mag-single .mag-bar__book { display: none; }
.mag-single .mag-bar__start { flex: none; }
.mag-single .mag-bar__nav { flex: 1; min-width: 0; gap: 6px; }
.mag-single .mag-bar .bhg-btn { flex: 1 1 auto; min-width: 0; padding: 0 8px; letter-spacing: 0.1em; }
.mag-reader {
  position: fixed;
  left: calc(50% + var(--reader-x, 0px));
  top: calc((100% - var(--bar, 64px)) / 2);
  width: var(--w);
  height: var(--h);
  inset-inline-end: auto;
  bottom: auto;
  transform: translate(-50%, -50%);
  z-index: 30;
  padding: calc(4 * var(--u)) calc(7 * var(--u)) calc(6 * var(--u));
  box-shadow: 0 calc(2 * var(--u)) calc(7 * var(--u)) rgb(0 0 0 / 0.46);
}
.mag-reader.is-in { animation-name: mag-rise; }
@keyframes mag-rise {
  from { clip-path: inset(100% 0 0 0); }
  to { clip-path: inset(0 0 0 0); }
}
@media (prefers-reduced-motion: reduce) {
  .mag-tip.is-in, .js .mag-stage { animation: none; }
  .mag-row__name, .mag-toc strong { transition: none; }
}
