/* assets/css/fonts.css */
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
  src: url(../fonts/fraunces-italic-300-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
  src: url(../fonts/fraunces-italic-300-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(../fonts/fraunces-normal-300-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(../fonts/fraunces-normal-300-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(../fonts/inter-normal-300-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(../fonts/inter-normal-300-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/jetbrains-mono-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/jetbrains-mono-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/jetbrains-mono-normal-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/jetbrains-mono-normal-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* assets/css/design-tokens.css */
:root {
  --stone-50:   #FAF7F1;
  --stone-100:  #F2ECE1;
  --stone-200:  #E5DBC9;
  --stone-300:  #D2C4AB;
  --stone-400:  #B3A183;
  --slate-950:  #0A0E10;
  --slate-900:  #11171A;
  --slate-800:  #1A2328;
  --slate-700:  #26333A;
  --slate-500:  #4C5F69;
  --slate-300:  #8A9AA3;
  --luzzu-gold-700: #7A5502;  
  --luzzu-gold-600: #D99B00;  
  --luzzu-gold-500: #FEC401;  
  --luzzu-gold-400: #FFD24A;  
  --luzzu-blue-900: #012870;  
  --luzzu-blue-700: #14508F;  
  --luzzu-blue-600: #1F6FA8;  
  --luzzu-blue-500: #4FA8E8;  
  --luzzu-blue-400: #7CC4F2;  
  --luzzu-green-900: #1B5C40;
  --luzzu-green-700: #1F6B4A;  
  --luzzu-green-600: #2E7D5B;
  --luzzu-green-500: #3FBF83;  
  --luzzu-green-400: #63D69E;
  --luzzu-red-900:  #B4230F;  
  --luzzu-red-700:  #A8261A;  
  --luzzu-red-600:  #D63A22;
  --luzzu-red-500:  #F0564C;  
  --luzzu-red-400:  #FF6F5E;
  --invert-plate: #EAF1F6;
  --invert-ink:   #0D0A06;
  --c-bg:            var(--stone-50);
  --c-bg-alt:        var(--stone-100);
  --c-bg-sunk:       var(--stone-100);
  --c-bg-raised:     #FFFFFF;
  --c-surface:       var(--stone-50);
  --c-ink:           var(--slate-950);
  --c-ink-soft:      var(--slate-700);
  --c-ink-muted:     var(--slate-500);
  --c-accent:        var(--luzzu-gold-500);
  --c-accent-hover:  var(--luzzu-gold-600);
  --c-accent-text:   var(--luzzu-gold-700);
  --c-accent-on:     var(--slate-950);
  --c-line:          color-mix(in oklab, var(--slate-950) 14%, transparent);
  --c-line-strong:   color-mix(in oklab, var(--slate-950) 32%, transparent);
  --c-selection-bg:  var(--slate-950);
  --c-selection-fg:  var(--stone-50);
  --ff-display: "Fraunces", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --ff-body:    "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --ff-mono:    "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
  --fs-mono-xs:  clamp(0.6694rem, 0.6694rem + 0.0806vw, 0.75rem);
  --fs-mono-sm:  clamp(0.75rem,   0.7319rem + 0.0806vw, 0.8125rem);
  --fs-xs:       clamp(0.8125rem, 0.7944rem + 0.0806vw, 0.875rem);
  --fs-sm:       clamp(0.9375rem, 0.9194rem + 0.0806vw, 1rem);
  --fs-md:       clamp(1rem,      0.9637rem + 0.1613vw, 1.125rem);
  --fs-lg:       clamp(1.125rem,  1.0524rem + 0.3226vw, 1.375rem);
  --fs-xl:       clamp(1.375rem,  1.2298rem + 0.6450vw, 1.875rem);
  --fs-2xl:      clamp(1.75rem,   1.4597rem + 1.2900vw, 2.75rem);
  --fs-3xl:      clamp(2.25rem,   1.7420rem + 2.2580vw, 4rem);
  --fs-4xl:      clamp(3rem,      2.1290rem + 3.8710vw, 6rem);
  --fs-display:  clamp(3.25rem,   1.4355rem + 8.0650vw, 9.5rem);
  --lh-display:  0.88;
  --lh-tight:    1.04;
  --lh-snug:     1.22;
  --lh-body:     1.62;
  --lh-loose:    1.75;
  --tr-display:  -0.035em;
  --tr-tight:    -0.02em;
  --tr-normal:   0em;
  --tr-mono:     0.14em;
  --tr-mono-wide:0.24em;
  --fw-light:    300;
  --fw-regular:  400;
  --fw-medium:   500;
  --fw-semi:     600;
  --fw-bold:     700;
  --sp-1:  0.25rem;
  --sp-2:  0.5rem;
  --sp-3:  0.75rem;
  --sp-4:  1rem;
  --sp-5:  1.5rem;
  --sp-6:  2rem;
  --sp-7:  2.5rem;
  --sp-8:  clamp(2rem, 1.2000rem + 3.5000vw, 4rem);
  --sp-9:  clamp(3rem, 1.8000rem + 5.2000vw, 6rem);
  --sp-10: clamp(4rem, 2.2000rem + 7.7000vw, 9rem);
  --sp-11: clamp(5rem, 2.4000rem + 11.600vw, 14rem);
  --grid-columns:  12;
  --gutter:        clamp(0.75rem, 0.35rem + 1.6vw, 1.75rem);
  --margin:        clamp(1.25rem, 0.4rem + 3.4vw, 5rem);
  --content-max:   96rem;
  --ar-cinema:   21 / 9;
  --ar-wide:     16 / 9;
  --ar-square:    1 / 1;
  --ar-portrait:  4 / 5;
  --ar-classic:   3 / 2;
  --ar-panorama:  2 / 1;
  --ease-out:   cubic-bezier(0.16, 1, 0.3, 1);
  --ease-panel: cubic-bezier(0.33, 0, 0.15, 1);
  --ease-inout: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast:   160ms;
  --dur-base:   340ms;
  --dur-slow:   720ms;
  --bw-hair:  1px;
  --bw-rule:  2px;
  --radius-0: 0;
  --radius-1: 2px;
  --radius-pill: 100vmax;
  --scrim-flood:  color-mix(in oklab, var(--slate-950) 70%, transparent);
  --scrim-read:  color-mix(in oklab, var(--slate-950) 82%, transparent);
  --scrim-hero-deep:  color-mix(in oklab, var(--slate-950) 50%, transparent);
  --scrim-hero-mid:  color-mix(in oklab, var(--slate-950) 34%, transparent);
  --scrim-hero-edge:  color-mix(in oklab, var(--slate-950) 38%, transparent);
  --scrim-deep:   color-mix(in oklab, var(--slate-950) 90%, transparent);
  --scrim-mid:    color-mix(in oklab, var(--slate-950) 58%, transparent);
  --scrim-veil:   color-mix(in oklab, var(--slate-950) 20%, transparent);
  --grade-media:  saturate(0.92) contrast(1.04) brightness(0.94);
  --header-h:     4.25rem;
  --section-pad:  clamp(2.25rem, 1.2rem + 3vw, 4rem);
  --section-gap:  clamp(1.75rem, 1.1rem + 2.4vw, 3rem);
  --z-base:    1;
  --z-media:   2;
  --z-overlap: 3;
  --z-nav:     50;
  --z-drawer:  80;
}
[data-scheme="ink"] {
  --c-bg:           var(--slate-950);
  --c-bg-alt:       var(--slate-900);
  --c-bg-sunk:      #060909;
  --c-bg-raised:    var(--slate-900);
  --c-surface:      var(--slate-900);
  --c-ink:          var(--stone-50);
  --c-ink-soft:     var(--stone-300);
  --c-ink-muted:    var(--slate-300);
  --c-accent:       var(--luzzu-gold-500);
  --c-accent-hover: var(--luzzu-gold-400);
  --c-accent-text:  var(--luzzu-gold-500);
  --c-accent-on:    var(--slate-950);
  --c-line:         color-mix(in oklab, var(--stone-50) 16%, transparent);
  --c-line-strong:  color-mix(in oklab, var(--stone-50) 38%, transparent);
  --c-selection-bg: var(--stone-50);
  --c-selection-fg: var(--slate-950);
}
@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-fast: 1ms;
    --dur-base: 1ms;
    --dur-slow: 1ms;
  }
}
:root { color-scheme: light; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
  color-scheme: dark;
  --c-bg:            var(--slate-950);
  --c-bg-alt:        var(--slate-900);
  --c-bg-sunk:       #060909;
  --c-bg-raised:     var(--slate-800);
  --c-surface:       var(--slate-900);
  --c-ink:           var(--stone-50);
  --c-ink-soft:      var(--stone-300);
  --c-ink-muted:     var(--slate-300);
  --c-accent:       var(--luzzu-gold-500);
  --c-accent-hover: var(--luzzu-gold-400);
  --c-accent-text:  var(--luzzu-gold-500);
  --c-accent-on:    var(--slate-950);
  --c-line:          color-mix(in oklab, var(--stone-50) 16%, transparent);
  --c-line-strong:   color-mix(in oklab, var(--stone-50) 38%, transparent);
  --c-selection-bg:  var(--stone-50);
  --c-selection-fg:  var(--slate-950);
  --scrim-flood:     color-mix(in oklab, var(--slate-950) 66%, transparent);
  --scrim-read:     color-mix(in oklab, var(--slate-950) 82%, transparent);
  --scrim-hero-deep:     color-mix(in oklab, var(--slate-950) 50%, transparent);
  --scrim-hero-mid:     color-mix(in oklab, var(--slate-950) 34%, transparent);
  --scrim-hero-edge:     color-mix(in oklab, var(--slate-950) 38%, transparent);
  --scrim-deep:      color-mix(in oklab, var(--slate-950) 88%, transparent);
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --c-bg:            var(--slate-950);
  --c-bg-alt:        var(--slate-900);
  --c-bg-sunk:       #060909;
  --c-bg-raised:     var(--slate-800);
  --c-surface:       var(--slate-900);
  --c-ink:           var(--stone-50);
  --c-ink-soft:      var(--stone-300);
  --c-ink-muted:     var(--slate-300);
  --c-accent:       var(--luzzu-gold-500);
  --c-accent-hover: var(--luzzu-gold-400);
  --c-accent-text:  var(--luzzu-gold-500);
  --c-accent-on:    var(--slate-950);
  --c-line:          color-mix(in oklab, var(--stone-50) 16%, transparent);
  --c-line-strong:   color-mix(in oklab, var(--stone-50) 38%, transparent);
  --c-selection-bg:  var(--stone-50);
  --c-selection-fg:  var(--slate-950);
  --scrim-flood:     color-mix(in oklab, var(--slate-950) 66%, transparent);
  --scrim-read:     color-mix(in oklab, var(--slate-950) 82%, transparent);
  --scrim-hero-deep:     color-mix(in oklab, var(--slate-950) 50%, transparent);
  --scrim-hero-mid:     color-mix(in oklab, var(--slate-950) 34%, transparent);
  --scrim-hero-edge:     color-mix(in oklab, var(--slate-950) 38%, transparent);
  --scrim-deep:      color-mix(in oklab, var(--slate-950) 88%, transparent);
}
:root[data-theme="light"] { color-scheme: light; }
[data-accent="blue"] {
  --c-accent:        var(--luzzu-blue-500);
  --c-accent-hover:  var(--luzzu-blue-600);
  --c-accent-text:   var(--luzzu-blue-700);
  --c-accent-on:     var(--slate-950);
}
[data-scheme="ink"][data-accent="blue"],
[data-scheme="ink"] [data-accent="blue"],
[data-theme="dark"] [data-accent="blue"] {
  --c-accent-text:   var(--luzzu-blue-500);
  --c-accent-hover:  var(--luzzu-blue-400);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) [data-accent="blue"] {
    --c-accent-text: var(--luzzu-blue-500);
    --c-accent-hover: var(--luzzu-blue-400);
  }
}
[data-accent="green"] {
  --c-accent:        var(--luzzu-green-500);
  --c-accent-hover:  var(--luzzu-green-600);
  --c-accent-text:   var(--luzzu-green-700);
  --c-accent-on:     var(--slate-950);
}
[data-scheme="ink"][data-accent="green"],
[data-scheme="ink"] [data-accent="green"],
[data-theme="dark"] [data-accent="green"] {
  --c-accent-text:   var(--luzzu-green-500);
  --c-accent-hover:  var(--luzzu-green-400);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) [data-accent="green"] {
    --c-accent-text: var(--luzzu-green-500);
    --c-accent-hover: var(--luzzu-green-400);
  }
}
[data-accent="red"] {
  --c-accent:        var(--luzzu-red-500);
  --c-accent-hover:  var(--luzzu-red-600);
  --c-accent-text:   var(--luzzu-red-700);
  --c-accent-on:     var(--slate-950);
}
[data-scheme="ink"][data-accent="red"],
[data-scheme="ink"] [data-accent="red"],
[data-theme="dark"] [data-accent="red"] {
  --c-accent-text:   var(--luzzu-red-500);
  --c-accent-hover:  var(--luzzu-red-400);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) [data-accent="red"] {
    --c-accent-text: var(--luzzu-red-500);
    --c-accent-hover: var(--luzzu-red-400);
  }
}

/* assets/css/base.css */
*, *::before, *::after { box-sizing: border-box; }
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}
main > section,
[id] { scroll-margin-block-start: calc(var(--header-h) + var(--sp-4)); }
body,
h1, h2, h3, h4, h5, h6,
p, figure, blockquote, dl, dd, ol, ul {
  margin: 0;
  padding: 0;
}
ul[class], ol[class] { list-style: none; }
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}
input, button, textarea, select {
  font: inherit;
  color: inherit;
}
button {
  background: none;
  border: 0;
  cursor: pointer;
}
a { color: inherit; text-decoration: none; }
::selection {
  background: var(--c-selection-bg);
  color: var(--c-selection-fg);
}
body {
  background: var(--c-bg);
  color: var(--c-ink);
  font-family: var(--ff-body);
  font-size: var(--fs-md);
  font-weight: var(--fw-regular);
  line-height: var(--lh-body);
  letter-spacing: var(--tr-normal);
  font-synthesis-weight: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
:focus-visible {
  outline: var(--bw-rule) solid var(--c-accent);
  outline-offset: 3px;
}
.u-visually-hidden {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.u-skip-link {
  position: absolute;
  top: var(--sp-3);
  left: var(--sp-3);
  z-index: 999;
  padding: var(--sp-2) var(--sp-4);
  background: var(--c-ink);
  color: var(--c-bg);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-sm);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  transform: translateY(-200%);
}
.u-skip-link:focus { transform: translateY(0); }
.l-shell {
  display: grid;
  grid-template-columns:
    [full-start] minmax(var(--margin), 1fr)
    [content-start] repeat(var(--grid-columns), [col] minmax(0, calc(var(--content-max) / 12)))
    [content-end] minmax(var(--margin), 1fr)
    [full-end];
  column-gap: var(--gutter);
}
.l-shell > * { grid-column: content-start / content-end; }
.l-bleed  { grid-column: full-start / full-end; }
.l-bleed-right { grid-column: content-start / full-end; }
.l-bleed-left  { grid-column: full-start / content-end; }
.t-display {
  font-family: var(--ff-display);
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 0, "WONK" 1;
  font-weight: var(--fw-light);
  line-height: var(--lh-display);
  letter-spacing: var(--tr-display);
  text-wrap: balance;
}
.t-serif {
  font-family: var(--ff-display);
  font-weight: var(--fw-regular);
  line-height: var(--lh-tight);
  letter-spacing: var(--tr-tight);
}
.t-mono {
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-sm);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  line-height: 1;
}
.t-mono--wide { letter-spacing: var(--tr-mono-wide); }
.t-mono--xs   { font-size: var(--fs-mono-xs); }
.t-lede {
  font-size: var(--fs-lg);
  line-height: var(--lh-snug);
  color: var(--c-ink-soft);
  text-wrap: pretty;
}
.t-accent { color: var(--c-accent-text); }
.t-display em {
  font-style: italic;
  font-variation-settings: "SOFT" 40, "WONK" 1;
  letter-spacing: -0.045em;
}
.c-rule {
  border: 0;
  border-top: var(--bw-hair) solid var(--c-line);
  block-size: 0;
  inline-size: 100%;
}
.c-rule--strong { border-top-color: var(--c-line-strong); }
.c-bed {
  position: relative;
  isolation: isolate;
  overflow: clip;
  --c-ink-muted: color-mix(in oklab, var(--slate-300) 62%, var(--stone-50));
}
.c-bed__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  filter: var(--grade-media);
}
.c-bed--drift .c-bed__media {
  animation: bed-drift 34s var(--ease-inout) infinite alternate;
  transform-origin: center;
  will-change: transform;
}
@keyframes bed-drift {
  from { transform: scale(1.04) translate3d(0, 0, 0); }
  to   { transform: scale(1.12) translate3d(-1.4%, -1.2%, 0); }
}
.c-bed__plate {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(130% 95% at 80% 8%,
      color-mix(in oklab, var(--slate-700) 62%, var(--stone-300)) 0%,
      transparent 56%),
    linear-gradient(168deg,
      var(--slate-800) 0%,
      var(--slate-900) 42%,
      var(--slate-950) 100%);
}
.c-bed__stage {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0;
  transition: opacity 1.2s var(--ease-out);
}
.c-bed[data-bed-ready] .c-bed__stage { opacity: 1; }
.c-bed__stage iframe {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  transform: translate(
    calc(-50% + var(--bed-x, 0px)),
    calc(-50% + var(--bed-y, 0px))
  );
  transform-origin: center;
  border: 0;
  filter: var(--grade-media);
}
.c-bed__scrim {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}
.c-bed__scrim--corner {
  background:
    linear-gradient(to bottom, var(--scrim-hero-edge) 0%, transparent 20%),
    linear-gradient(to top right, var(--scrim-hero-deep) 0%, var(--scrim-hero-mid) 40%, transparent 76%),
    linear-gradient(to top, var(--scrim-hero-edge) 0%, transparent 46%);
}
.c-bed__scrim--flood {
  background: linear-gradient(to right, var(--scrim-deep) 0%, var(--scrim-mid) 52%, var(--scrim-veil) 100%);
}
.c-bed__scrim--even { background: var(--scrim-flood); }
.c-bed__scrim--read { background: var(--scrim-read); }
.c-bed__wash {
  position: absolute;
  inset: -8%;
  z-index: 0;
  background-image: var(--wash);
  background-size: cover;
  background-position: center;
  filter: blur(28px) saturate(0.75) brightness(0.5);
  opacity: 0.42;
  pointer-events: none;
}
.c-bed__scrim--panel {
  background:
    linear-gradient(to bottom, var(--scrim-flood) 0%, transparent 16%),
    linear-gradient(100deg,
      var(--scrim-deep) 0%,
      var(--scrim-mid) 46%,
      var(--scrim-flood) 100%);
}
.c-bed > .l-shell,
.c-bed > .c-bed__content { position: relative; z-index: 3; }
@media (prefers-reduced-motion: no-preference) {
  .is-armed {
    opacity: 0;
    transform: translateY(1.25rem);
  }
  [data-reveal] {
    transition:
      opacity var(--dur-slow) var(--ease-out),
      transform var(--dur-slow) var(--ease-out);
    transition-delay: calc(var(--reveal-delay, 0) * 90ms);
  }
}
.c-head {
  row-gap: var(--sp-4);
  padding-block-end: var(--section-gap);
  justify-items: center;
  text-align: center;
}
.c-head > * { grid-column: content-start / content-end; }
.c-head__index {
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono-wide);
  text-transform: uppercase;
  color: var(--c-accent-text);
}
.c-head__title {
  font-family: var(--ff-display);
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 0, "WONK" 1;
  font-weight: var(--fw-light);
  font-size: var(--fs-3xl);
  line-height: var(--lh-display);
  letter-spacing: var(--tr-display);
  text-wrap: balance;
}
.c-head__title em {
  font-style: italic;
  font-variation-settings: "SOFT" 60, "WONK" 1;
  color: var(--c-accent-text);
}
.c-head__standfirst {
  max-inline-size: 70ch;
  font-size: var(--fs-sm);
  line-height: var(--lh-body);
  color: var(--c-ink-muted);
}
.c-action {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-3);
  padding-block-end: var(--sp-2);
  border-block-end: var(--bw-rule) solid var(--c-accent);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-sm);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink);
  transition: color var(--dur-fast) var(--ease-out);
  max-inline-size: 100%;
}
.c-action svg { inline-size: 1.5rem; block-size: auto; transition: transform var(--dur-base) var(--ease-out); }
.c-action:hover { color: var(--c-accent-text); }
.c-action:hover svg { transform: translateX(0.4rem); }
.c-action--solid {
  padding: var(--sp-4) clamp(var(--sp-4), 4vw, var(--sp-6));
  border: 0;
  background: var(--c-accent);
  color: var(--c-accent-on);
  transition: background-color var(--dur-fast) var(--ease-out);
}
.c-action--solid:hover { background: var(--c-accent-hover); color: var(--c-accent-on); }
.c-action--ghost {
  padding: var(--sp-4) var(--sp-6);
  border: var(--bw-hair) solid var(--c-line-strong);
  color: var(--c-ink);
  transition: background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);
}
.c-action--ghost:hover { border-color: var(--c-ink); background: color-mix(in oklab, var(--c-ink) 6%, transparent); }
h1, h2, h3, .c-head__title, .c-about__title, .c-panel__title,
.c-shop__title, .c-booking__title, .c-entry__title {
  text-wrap: balance;
}
.t-mono,
.c-action,
.c-site-header__link,
.c-site-header__wordmark,
.c-site-header__badge,
.c-site-header__cta,
.c-hero__control,
.c-hero__eyebrow,
.c-hero__coords,
.c-hero__now-tag,
.c-hero__now-cue,
.c-hero__figure dt,
.c-head__index,
.c-archive__chip,
.c-archive__readout span,
.c-channel__cue,
.c-entry__stamp,
.c-entry__topic,
.c-entry__duration,
.c-entry__play,
.c-entry__foot,
.c-about__eyebrow,
.c-about__caption,
.c-about__figure dt,
.c-socials__text small,
.c-socials__text b,
.c-events__badge,
.c-events__list span,
.c-panel__eyebrow,
.c-panel__figure dt,
.c-shop__eyebrow,
.c-shop__price small,
.c-shop__rating,
.c-shop__contents li,
.c-cover__mark,
.c-services__tag,
.c-services__row-name,
.c-consult__meta div,
.c-mailcard__text small,
.c-mailcard__text b,
.c-mailcard__cue,
.c-tours__stops li,
.c-field label,
.c-site-footer__legal > span,
.c-site-footer__by span,
.c-site-footer__channel small {
  white-space: nowrap;
}
h1, h2, h3, h4,
.c-head__title,
.c-hero__title,
.c-about__title,
.c-panel__title,
.c-shop__title,
.c-consult__title,
.c-contact__title,
.c-events__title,
.c-entry__title,
.c-tours__name,
.c-head__standfirst,
.c-tours__body p,
.c-entry__dek,
.c-services__panel h3,
.c-channel__text b {
  text-wrap: balance;
}
p,
li,
.c-hero__lede,
.c-about__copy,
.c-shop__copy,
.c-consult__copy,
.c-contact__copy,
.c-events__copy,
.c-services__panel p,
.c-post__body p {
  text-wrap: pretty;
}
.c-hero__now .c-hero__now-title,
.c-entry__title,
.c-entry__title span,
.c-entry__dek {
  display: block;
  inline-size: 100%;
  max-inline-size: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-wrap: nowrap;
}
@media (hover: none) {
  .c-action {
    min-block-size: 2.75rem;
    display: inline-flex;
    align-items: center;
  }
  .c-action--solid { padding-block: var(--sp-4); }
  .c-site-footer__by { min-block-size: 2.75rem; align-items: center; }
  .c-action:hover        { color: inherit; }
  .c-action:hover svg    { transform: none; }
  .c-action--solid:hover { background: var(--c-accent); color: var(--c-accent-on); }
  .c-action--ghost:hover { border-color: var(--c-line); background: none; }
  .c-action,
  button,
  summary,
  [role="button"] { touch-action: manipulation; }
}
.c-flag {
  display: inline-block;
  inline-size: 1.05em;
  block-size: auto;
  margin-inline-end: 0.55em;
  vertical-align: -0.12em;
  opacity: 0.82;
}
.c-hero__rail .c-flag {
  inline-size: 1.4rem;
  margin-inline-end: 0;
  opacity: 0.9;
}
.c-site-footer__legal .c-flag { margin-inline: 0.5em 0; }
.u-honeypot {
  position: absolute;
  inset-inline-start: -9999px;
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
}

/* assets/css/components/site-header.css */
.c-site-header {
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
  z-index: var(--z-nav);
  block-size: var(--header-h);
  display: flex;
  align-items: center;
  background: transparent;
  transition:
    background-color var(--dur-base) var(--ease-out),
    border-color var(--dur-base) var(--ease-out);
  border-block-end: var(--bw-hair) solid transparent;
}
.c-site-header[data-over-media] {
  --c-ink: var(--stone-50);
  --c-ink-soft: var(--stone-300);
  --c-ink-muted: var(--slate-300);
  --c-accent: var(--luzzu-gold-500);
  --c-line: color-mix(in oklab, var(--stone-50) 18%, transparent);
  --c-line-strong: color-mix(in oklab, var(--stone-50) 40%, transparent);
}
.c-site-header[data-pinned] {
  background: color-mix(in oklab, var(--c-bg) 97%, transparent);
  border-block-end-color: var(--c-line);
}
.c-site-header__shell {
  inline-size: 100%;
  align-items: center;
}
.c-site-header__progress {
  position: absolute;
  inset-block-end: -1px;
  inset-inline-start: 0;
  block-size: var(--bw-rule);
  inline-size: 100%;
  transform: scaleX(var(--progress, 0));
  transform-origin: left;
  background: var(--c-accent);
  pointer-events: none;
}
.c-site-header__brand {
  grid-column: content-start / span 3;
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  color: var(--c-ink);
}
.c-site-header__mark {
  inline-size: clamp(2rem, 1.5rem + 1.3vw, 2.6rem);
  block-size: clamp(2rem, 1.5rem + 1.3vw, 2.6rem);
  flex: none;
  border-radius: var(--radius-pill);
  object-fit: cover;
  transition: transform var(--dur-base) var(--ease-out);
}
.c-site-header__brand:hover .c-site-header__mark { transform: scale(1.08); }
.c-site-header__wordmark {
  font-family: var(--ff-display);
  font-size: var(--fs-lg);
  font-weight: var(--fw-regular);
  letter-spacing: var(--tr-tight);
  line-height: 1;
  white-space: nowrap;
  color: var(--c-ink);
}
.c-site-header__wordmark em {
  font-style: italic;
  font-variation-settings: "SOFT" 40, "WONK" 1;
}
.c-site-header__badge { color: var(--c-ink-muted); white-space: nowrap; }
.c-site-header__nav {
  grid-column: col 6 / span 5;
  display: flex;
  gap: var(--sp-5);
}
.c-site-header__link {
  position: relative;
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-sm);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink-soft);
  padding-block-end: var(--sp-1);
  white-space: nowrap;
  transition: color var(--dur-fast) var(--ease-out);
}
.c-site-header__link::after {
  content: "";
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  inline-size: 100%;
  block-size: var(--bw-hair);
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--dur-base) var(--ease-out);
}
.c-site-header__link:hover { color: var(--c-ink); }
.c-site-header__link:hover::after { transform: scaleX(1); }
.c-site-header__link[data-current] { color: var(--c-accent-text); }
.c-site-header__link[data-current]::after { transform: scaleX(1); }
.c-site-header__tools {
  grid-column: col 11 / content-end;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: var(--sp-4);
}
.c-site-header__burger {
  display: none;
  position: relative;
  inline-size: 2.25rem;
  block-size: 2.25rem;
  color: var(--c-ink);
}
.c-site-header__burger span {
  position: absolute;
  inset-inline: 0.35rem;
  block-size: var(--bw-hair);
  background: currentColor;
  transition: transform var(--dur-base) var(--ease-out), opacity var(--dur-fast) var(--ease-out);
}
.c-site-header__burger span:nth-child(1) { inset-block-start: 0.7rem; }
.c-site-header__burger span:nth-child(2) { inset-block-start: 1.1rem; }
.c-site-header__burger span:nth-child(3) { inset-block-start: 1.5rem; }
.c-site-header__burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(0.4rem) rotate(45deg); }
.c-site-header__burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.c-site-header__burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-0.4rem) rotate(-45deg); }
@media (max-width: 64rem) {
  .c-site-header__burger { display: block; }
  .c-site-header__nav {
    position: fixed;
    justify-content: center;
    inset: var(--header-h) 0 0 0;
    z-index: var(--z-drawer);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--sp-4);
    padding: var(--sp-8) var(--margin);
    background: var(--slate-950);
    --c-ink: var(--stone-50);
    --c-ink-soft: var(--stone-300);
    --c-accent: var(--luzzu-gold-500);
    clip-path: inset(0 0 100% 0);
    transition: clip-path var(--dur-base) var(--ease-inout);
  }
  .c-site-header[data-nav-open] .c-site-header__nav { clip-path: inset(0 0 0 0); }
  .c-site-header__nav .c-site-header__link {
    font-family: var(--ff-display);
    font-size: var(--fs-2xl);
    font-weight: var(--fw-light);
    letter-spacing: var(--tr-tight);
    text-transform: none;
    color: var(--stone-50);
  }
  .c-site-header__nav .c-site-header__link::after { display: none; }
  .c-site-header__brand { grid-column: content-start / span 8; }
  .c-site-header__tools { grid-column: col 11 / content-end; }
}
@media (max-width: 40rem) {
  .c-site-header__wordmark { font-size: var(--fs-md); }
}
.c-site-header__cta {
  padding: var(--sp-2) var(--sp-4);
  background: var(--c-accent);
  color: var(--c-accent-on);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  white-space: nowrap;
  transition: background-color var(--dur-fast) var(--ease-out);
}
.c-site-header__cta:hover { background: var(--c-accent-hover); color: var(--c-accent-on); }
@media (max-width: 40rem) {
  .c-site-header__cta { display: none; }
}
@media (max-width: 68rem) {
  .c-site-header__nav {
    align-items: center;
    text-align: center;
    padding-block: var(--sp-6) calc(var(--sp-8) * 2.5);
    gap: var(--sp-2);
    overflow-y: auto;
  }
  .c-site-header[data-nav-open] {
    background: var(--slate-950);
    border-block-end-color: transparent;
  }
  .c-site-header__nav .c-site-header__link {
    display: block;
    inline-size: 100%;
    font-size: var(--fs-xl);
    padding-block: var(--sp-2);
  }
  .c-site-header__brand { min-block-size: 2.75rem; align-items: center; }
  .c-site-header__burger {
    inline-size: 2.75rem;
    block-size: 2.75rem;
    display: grid;
    place-content: center;
  }
  .c-site-header[data-nav-open] .c-site-header__cta {
    display: inline-flex;
    position: fixed;
    z-index: calc(var(--z-drawer) + 1);
    inset-block-end: var(--sp-7);
    inset-inline: var(--margin);
    justify-content: center;
    padding-block: var(--sp-4);
    font-size: var(--fs-mono-sm);
  }
}

/* assets/css/components/hero.css */
.c-hero {
  --hero-title-size: clamp(3rem, 1.6935rem + 5.806vw, 7.5rem);
  min-block-size: 100svh;
  display: grid;
  background: var(--slate-950);
  color: var(--c-ink);
  padding-block: calc(var(--header-h) + var(--sp-6)) var(--sp-7);
}
.c-hero .c-bed__plate { z-index: 0; }
.c-hero .c-bed__stage { z-index: 1; }
.c-hero .c-bed__scrim { z-index: 2; }
.c-hero .c-bed__stage {
  opacity: 0;
  transition: opacity 1.8s var(--ease-out);
}
.c-hero .c-bed__stage[data-visible] { opacity: 1; }
.c-hero__shell {
  align-content: end;
  grid-template-rows:
    [top] auto
    [void] 1fr
    [main] auto
    [foot] auto;
  row-gap: 0;
}
.c-hero__rail {
  grid-column: full-start / content-start;
  grid-row: top / foot;
  justify-self: center;
  align-self: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-4);
}
.c-hero__rail-mark {
  inline-size: var(--bw-rule);
  block-size: clamp(2rem, 5vw, 4rem);
  background: var(--c-accent);
}
.c-hero__coords {
  writing-mode: vertical-rl;
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono-wide);
  text-transform: uppercase;
  color: var(--c-ink-soft);
  white-space: nowrap;
}
.c-hero__eyebrow {
  grid-column: content-start / span 5;
  grid-row: top;
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink-soft);
}
.c-hero__eyebrow::before {
  content: "";
  inline-size: clamp(1.5rem, 4vw, 3rem);
  block-size: var(--bw-hair);
  background: var(--c-accent);
}
.c-hero__controls {
  grid-column: col 9 / content-end;
  grid-row: top;
  justify-self: end;
  display: flex;
  gap: var(--sp-2);
}
.c-hero__control {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-2) var(--sp-3);
  border: var(--bw-hair) solid var(--c-line);
  background: color-mix(in oklab, var(--slate-950) 62%, transparent);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink-soft);
  line-height: 1.4;
  transition:
    color var(--dur-fast) var(--ease-out),
    border-color var(--dur-fast) var(--ease-out);
}
.c-hero__control:hover { color: var(--c-ink); border-color: var(--c-line-strong); }
.c-hero__control svg { inline-size: 0.75rem; block-size: auto; }
.c-hero__control [data-when] { display: none; }
.c-hero__control[aria-pressed="false"] [data-when="off"],
.c-hero__control[aria-pressed="true"]  [data-when="on"] { display: inline-flex; align-items: center; gap: var(--sp-2); }
.c-hero__masthead {
  grid-column: content-start / span 8;
  grid-row: main;
  align-self: end;
}
.c-hero__title {
  font-family: var(--ff-display);
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 0, "WONK" 1;
  font-weight: var(--fw-light);
  font-size: var(--hero-title-size);
  line-height: var(--lh-display);
  letter-spacing: var(--tr-display);
  color: var(--stone-50);
}
.c-hero__title-line { display: block; white-space: nowrap; }
.c-hero__title-line--b { margin-inline-start: clamp(1.5rem, 6vw, 6.5rem); }
.c-hero__title-line--c { margin-inline-start: clamp(0.5rem, 2.2vw, 2.5rem); }
.c-hero__title em {
  font-style: italic;
  font-variation-settings: "SOFT" 60, "WONK" 1;
  letter-spacing: -0.05em;
  color: var(--c-accent-text);
}
.c-hero__now {
  grid-column: col 8 / content-end;
  grid-row: main;
  align-self: end;
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  padding: var(--sp-4);
  border: var(--bw-hair) solid var(--c-line);
  background: color-mix(in oklab, var(--slate-950) 72%, transparent);
  text-align: left;
  transition: border-color var(--dur-base) var(--ease-out), background-color var(--dur-base) var(--ease-out);
}
.c-hero__now:hover {
  border-color: var(--c-accent);
  background: color-mix(in oklab, var(--slate-950) 68%, transparent);
}
.c-hero__now-tag {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink-muted);
  line-height: 1;
}
.c-hero__now-tag::before {
  content: "";
  inline-size: 6px;
  block-size: 6px;
  border-radius: var(--radius-pill);
  background: var(--c-accent);
  animation: hero-rec 2.4s var(--ease-inout) infinite;
}
@keyframes hero-rec {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.15; }
}
.c-hero__now-title {
  font-family: var(--ff-display);
  font-size: var(--fs-lg);
  font-weight: var(--fw-regular);
  line-height: var(--lh-tight);
  letter-spacing: var(--tr-tight);
  color: var(--stone-50);
  text-wrap: balance;
}
.c-hero__now .c-hero__now-title {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  text-wrap: pretty;
}
.c-hero__now-cue {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-accent-text);
  line-height: 1;
}
.c-hero__now-cue svg { inline-size: 0.55rem; block-size: auto; }
.c-hero__lede {
  grid-column: content-start / span 7;
  grid-row: foot;
  padding-block-start: var(--sp-6);
  font-size: var(--fs-lg);
  line-height: var(--lh-snug);
  color: var(--c-ink-soft);
  text-wrap: pretty;
}
.c-hero__lede .c-action { margin-block-start: var(--sp-5); }
.c-hero__ledger {
  grid-column: col 7 / content-end;
  grid-row: foot;
  align-self: end;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-5);
  padding-block-start: var(--sp-6);
}
.c-hero__figure {
  border-block-start: var(--bw-hair) solid var(--c-line);
  padding-block-start: var(--sp-3);
}
.c-hero__figure dt {
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink-muted);
  margin-block-end: var(--sp-2);
}
.c-hero__figure dd {
  font-family: var(--ff-display);
  font-size: var(--fs-2xl);
  font-weight: var(--fw-light);
  line-height: 1;
  letter-spacing: var(--tr-tight);
  color: var(--c-ink);
}
.c-hero__figure dd sup {
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  letter-spacing: var(--tr-mono);
  color: var(--c-accent-text);
  vertical-align: super;
}
@media (max-width: 64rem) {
  .c-hero { padding-block-end: var(--sp-6); }
  .c-hero__rail { display: none; }
  .c-hero__eyebrow    { grid-column: content-start / span 8; }
  .c-hero__controls   { grid-column: col 9 / content-end; }
  .c-hero__masthead   { grid-column: content-start / content-end; }
  .c-hero__now        { grid-column: content-start / content-end; grid-row: foot; margin-block-start: var(--sp-6); }
  .c-hero__lede       { grid-column: content-start / content-end; grid-row: foot; }
  .c-hero__ledger     { grid-column: content-start / content-end; grid-row: foot; gap: var(--sp-3); }
  .c-hero__shell { grid-template-rows: auto 1fr auto repeat(3, auto); }
  .c-hero__lede   { grid-row: 4; }
  .c-hero__now    { grid-row: 5; margin-block-start: var(--sp-5); }
  .c-hero__ledger { grid-row: 6; padding-block-start: var(--sp-6); }
}
@media (max-width: 46rem) {
  .c-hero { --hero-title-size: clamp(2.4rem, 1.05rem + 6.2vw, 4rem); }
  .c-hero__title-line--b { margin-inline-start: clamp(0.5rem, 2.5vw, 1.75rem); }
  .c-hero__title-line--c { margin-inline-start: clamp(0.25rem, 1.2vw, 0.75rem); }
}
@media (max-width: 40rem) {
  .c-hero__eyebrow  { grid-column: content-start / content-end; }
  .c-hero__controls { grid-column: content-start / content-end; grid-row: 2; justify-self: start; margin-block-start: var(--sp-4); }
  .c-hero__shell    { grid-template-rows: auto auto 1fr auto repeat(3, auto); }
  .c-hero__masthead { grid-row: 4; }
  .c-hero__lede     { grid-row: 5; }
  .c-hero__now      { grid-row: 6; }
  .c-hero__ledger   { grid-row: 7; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .c-hero__figure:last-child { grid-column: span 2; }
}
.c-hero__now-bar {
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  block-size: var(--bw-rule);
  inline-size: 100%;
  transform: scaleX(0);
  transform-origin: left;
  background: var(--c-accent);
}
.c-hero__now { position: relative; overflow: hidden; }
.c-hero[data-reel-running] .c-hero__now-bar {
  animation: reel-dwell var(--reel-dwell, 12s) linear forwards;
}
@keyframes reel-dwell {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}
@media (prefers-reduced-motion: reduce) {
  .c-hero__now-bar { display: none; }
}
@media (max-width: 40rem) {
  .c-hero__eyebrow { grid-row: 1; }
  .c-hero__ledger { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .c-hero__figure {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--sp-4);
    padding-block: var(--sp-3);
  }
  .c-hero__figure:last-child { grid-column: auto; }
  .c-hero__figure dt { margin-block-end: 0; }
}
@media (max-width: 44rem) {
  .c-hero__now .c-hero__now-title {
    white-space: normal;
    text-wrap: pretty;
    display: block;
    overflow: visible;
  }
}
@media (max-width: 44rem) {
  .c-hero { min-block-size: 78svh; }
}
.c-hero__wash {
  --wash: url("data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABMNDhEODBMRDxEVFBMXHTAfHRoaHToqLCMwRT1JR0Q9Q0FMVm1dTFFoUkFDX4JgaHF1e3x7SlyGkIV3j214e3b/2wBDARQVFR0ZHTgfHzh2T0NPdnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnb/wAARCAASACADASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIFAwT/xAAnEAACAQMCBAcBAAAAAAAAAAABAgADBBESIQUUMUETJDJCUXFygf/EABYBAQEBAAAAAAAAAAAAAAAAAAMEAf/EABwRAAMAAQUAAAAAAAAAAAAAAAABAkEDBBEhMf/aAAwDAQACEQMRAD8A6DQ32im2+pINwxONRjqzkZ14/svVED4RT5YxTb4+JPau4Vn8RVVAOgzvN6NyK2ko9ID3dcwK3Dn1Dxoq+0zPhqq1yoZQRjuJSuERfSqjbsIQk6EySaqry4OBk5zt1nJw0ebb8GEJlZEk/9k=");
  opacity: 0.55;
  filter: blur(12px) saturate(0.85) brightness(0.62);
}
.c-hero[data-video-ready] .c-hero__wash {
  opacity: 0.3;
  transition: opacity 1.2s var(--ease-out);
}
.c-hero__poster {
  position: absolute;
  inset: 0;
  z-index: 2;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: 50% 42%;
  opacity: 1;
  transition: opacity 1.4s var(--ease-out);
  pointer-events: none;
}
.c-hero__mark {
  position: absolute;
  inset-block-start: calc(50% + var(--bed-drop, 0px));
  inset-inline-start: 50%;
  translate: -50% -50%;
  z-index: 3;
  display: grid;
  justify-items: center;
  gap: var(--sp-4);
  opacity: 1;
  transition: opacity 0.7s var(--ease-out);
  pointer-events: none;
}
.c-hero__mark-face {
  inline-size: clamp(4.5rem, 2.5rem + 5vw, 7.5rem);
  block-size: auto;
  border-radius: var(--radius-pill);
  box-shadow: 0 0.5rem 2.5rem color-mix(in oklab, var(--slate-950) 55%, transparent);
}
.c-hero__mark-word {
  font-family: var(--ff-display);
  font-optical-sizing: auto;
  font-weight: var(--fw-regular);
  font-size: clamp(1.5rem, 0.7rem + 2.2vw, 2.75rem);
  line-height: 1;
  letter-spacing: var(--tr-tight);
  color: var(--stone-50);
  white-space: nowrap;
  text-shadow: 0 0.15rem 1.75rem color-mix(in oklab, var(--slate-950) 78%, transparent);
}
.c-hero__mark-wait {
  display: flex;
  gap: 0.42rem;
  margin-block-start: calc(var(--sp-2) * -1);
}
.c-hero__mark-wait span {
  inline-size: 0.32rem;
  block-size: 0.32rem;
  border-radius: var(--radius-pill);
  background: var(--stone-50);
  opacity: 0.24;
}
@media (prefers-reduced-motion: no-preference) {
  .c-hero__mark-wait span { animation: mark-wait 1.5s var(--ease-inout) infinite; }
  .c-hero__mark-wait span:nth-child(2) { animation-delay: 0.19s; }
  .c-hero__mark-wait span:nth-child(3) { animation-delay: 0.38s; }
}
@keyframes mark-wait {
  0%, 100% { opacity: 0.22; transform: translateY(0); }
  42%      { opacity: 0.92; transform: translateY(-0.2rem); }
}
.c-hero[data-video-ready] .c-hero__mark-wait { display: none; }
.c-hero__mark-word em {
  font-style: italic;
  font-variation-settings: "SOFT" 60, "WONK" 1;
}
@media (prefers-reduced-motion: no-preference) {
  .c-hero__poster { animation: hero-poster-push 20s var(--ease-out) forwards; }
}
@keyframes hero-poster-push {
  from { scale: 1; }
  to   { scale: 1.06; }
}
.c-hero[data-video-ready] .c-hero__poster { opacity: 0; }
.c-hero[data-video-ready] .c-hero__mark   { opacity: 0; }
.c-hero[data-video-ready] .c-hero__mark-word { display: none; }
.c-hero[data-video-ready] .c-hero__mark-face {
  inline-size: clamp(3.75rem, 5.5vw, 5.25rem);
  box-shadow: 0 0.4rem 1.75rem color-mix(in oklab, var(--slate-950) 70%, transparent);
}
.c-hero[data-video-ready][data-swap] .c-hero__mark {
  opacity: 0.92;
  transition: opacity 0.3s var(--ease-out);
}
@media (prefers-reduced-motion: reduce) {
  .c-hero__poster,
  .c-hero__mark { transition: none; }
}
@media (max-width: 40rem) {
  .c-hero {
    padding-block-end: 0;
    min-block-size: calc(100svh + var(--hero-strip, 15rem));
  }
  .c-hero .c-bed__plate,
  .c-hero .c-bed__wash,
  .c-hero .c-bed__stage,
  .c-hero .c-bed__scrim,
  .c-hero__poster {
    inset-block-end: var(--hero-strip, 15rem);
  }
  .c-hero__now {
    grid-column: full-start / full-end;
    margin-block: var(--sp-6) 0;
    padding: var(--sp-5) var(--margin);
    border: 0;
    background: var(--c-bg);
    backdrop-filter: none;
  }
  .c-hero__now:hover { background: var(--c-bg); }
  .c-hero__ledger {
    grid-column: full-start / full-end;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--sp-4);
    padding: var(--sp-5) var(--margin) var(--sp-6);
    background: var(--c-bg);
  }
  .c-hero__figure {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: flex-end;
    gap: var(--sp-2);
    padding-block: 0;
    border-block-start: 0;
    text-align: center;
  }
  .c-hero__figure dt {
    margin-block-end: 0;
    max-inline-size: 100%;
    white-space: normal;
    text-wrap: balance;
  }
  .c-hero__figure dd { font-size: var(--fs-xl); }
}
@media (max-width: 40rem) {
  .c-hero__mark {
    inset-block-start: calc((100% - var(--hero-strip, 15rem)) / 2 + var(--bed-drop, 0px));
  }
}

/* assets/css/components/about.css */
.c-about {
  position: relative;
  padding-block: var(--section-pad);
  background: var(--slate-950);
  color: var(--stone-50);
  overflow: clip;
  isolation: isolate;
}
.c-about::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(90% 70% at 88% -10%,
    color-mix(in oklab, var(--slate-700) 55%, var(--stone-300)) 0%,
    transparent 62%);
  opacity: 0.5;
}
.c-about__shell { position: relative; z-index: 1; row-gap: var(--sp-8); }
.c-about__portrait {
  grid-column: content-start / span 4;
  position: relative;
  align-self: start;
}
.c-about__portrait::before {
  content: "";
  position: absolute;
  inset-block: var(--sp-5) calc(var(--sp-5) * -1);
  inset-inline: calc(var(--sp-5) * -1) var(--sp-5);
  border: var(--bw-hair) solid color-mix(in oklab, var(--stone-50) 26%, transparent);
  pointer-events: none;
}
.c-about__plate {
  position: relative;
  z-index: 1;
  aspect-ratio: 7 / 10;
  overflow: hidden;
  background:
    linear-gradient(168deg, var(--slate-800) 0%, var(--slate-950) 70%);
}
.c-about__stage {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1.2s var(--ease-out);
}
.c-about[data-portrait-ready] .c-about__stage { opacity: 1; }
.c-about__stage iframe {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  transform: translate(-50%, -50%);
  border: 0;
  filter: saturate(0.96) contrast(1.02);
  pointer-events: none;
}
.c-about__portrait-img {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}
.c-about__caption {
  position: absolute;
  z-index: 2;
  inset-block-end: 0;
  inset-inline-start: 0;
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  background: color-mix(in oklab, var(--slate-950) 88%, transparent);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--stone-300);
  line-height: 1.5;
}
.c-about__caption::before {
  content: "";
  inline-size: 6px;
  block-size: 6px;
  border-radius: var(--radius-pill);
  background: var(--c-accent);
}
.c-about__body { grid-column: col 6 / content-end; }
.c-about__eyebrow {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  margin-block-end: var(--sp-5);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-accent-text);
}
.c-about__eyebrow::before {
  content: "";
  inline-size: clamp(1.5rem, 4vw, 3rem);
  block-size: var(--bw-hair);
  background: currentColor;
}
.c-about__title {
  font-family: var(--ff-display);
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 0, "WONK" 1;
  font-weight: var(--fw-light);
  font-size: var(--fs-3xl);
  line-height: var(--lh-display);
  letter-spacing: var(--tr-display);
  text-wrap: balance;
}
.c-about__title em {
  font-style: italic;
  font-variation-settings: "SOFT" 60, "WONK" 1;
  color: var(--c-accent-text);
}
.c-about__copy {
  margin-block-start: var(--sp-5);
  max-inline-size: none;
  font-size: var(--fs-md);
  line-height: var(--lh-body);
  color: var(--stone-300);
  text-wrap: pretty;
}
.c-about__copy + .c-about__copy { margin-block-start: var(--sp-4); }
.c-about__title .c-flag,
.c-about__copy .c-flag {
  margin-inline: 0.3em 0;
  opacity: 0.95;
}
.c-about__copy--send {
  font-family: var(--ff-display);
  font-size: var(--fs-lg);
  font-weight: var(--fw-light);
  line-height: var(--lh-display);
  letter-spacing: var(--tr-display);
  color: var(--c-accent-text);
  text-wrap: nowrap;
}
.c-about__copy--send .c-flag { inline-size: 0.85em; }
.c-about__figures {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-5);
  margin-block-start: var(--sp-7);
  padding-block-end: var(--sp-6);
}
.c-about__figure {
  border-block-start: var(--bw-hair) solid color-mix(in oklab, var(--stone-50) 22%, transparent);
  padding-block-start: var(--sp-3);
}
.c-about__figure dt {
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--slate-300);
  margin-block-end: var(--sp-2);
}
.c-about__figure dd {
  font-family: var(--ff-display);
  font-size: var(--fs-2xl);
  font-weight: var(--fw-light);
  line-height: 1;
  letter-spacing: var(--tr-tight);
}
.c-about .c-socials { margin-block-start: var(--sp-4); }
.c-about__links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-4);
  margin-block-start: var(--sp-7);
}
.c-about__links a {
  display: grid;
  grid-template-columns: 1.35rem minmax(0, 1fr);
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-4);
  border: var(--bw-hair) solid color-mix(in oklab, var(--stone-50) 20%, transparent);
  color: var(--stone-300);
  transition:
    color var(--dur-fast) var(--ease-out),
    border-color var(--dur-fast) var(--ease-out),
    transform var(--dur-base) var(--ease-out);
}
.c-about__links a:hover {
  color: var(--stone-50);
  border-color: var(--c-accent-text);
  transform: translateY(-0.25rem);
}
.c-about__links svg { inline-size: 1.15rem; block-size: auto; }
.c-about__links a:hover svg { color: var(--c-accent-text); }
.c-about__links small {
  display: block;
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--slate-300);
}
.c-about__links b {
  display: block;
  margin-block-start: 0.2rem;
  font-family: var(--ff-display);
  font-size: var(--fs-sm);
  font-weight: var(--fw-regular);
  color: var(--stone-50);
  overflow-wrap: anywhere;
}
@media (max-width: 68rem) {
  .c-about__portrait { grid-column: content-start / span 5; }
  .c-about__body     { grid-column: content-start / content-end; }
  .c-about__portrait::before { inset-inline: calc(var(--sp-4) * -1) var(--sp-4); }
}
@media (max-width: 48rem) {
  .c-about__portrait { grid-column: content-start / span 8; }
  .c-about__figures  { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .c-about__links    { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 68rem) {
  .c-about__portrait { grid-column: content-start / content-end; inline-size: 100%; }
  .c-about__portrait::before { display: none; }
  .c-about__plate { inline-size: 100%; }
}
.c-about__figure--wide {
  grid-column: 1 / -1;
  border-block-start: var(--bw-hair) solid var(--c-line);
  padding-block-start: var(--sp-4);
  margin-block-start: var(--sp-2);
}
@media (max-width: 48rem) {
  .c-about__eyebrow { justify-content: center; }
  .c-about__title { text-align: center; }
}
.c-about__figure { text-align: center; }
@media (max-width: 48rem) {
  .c-about__copy { text-align: center; text-wrap: balance; }
}

/* assets/css/components/socials.css */
.c-socials {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-4);
  margin: 0 auto;
  inline-size: fit-content;
  max-inline-size: 100%;
}
.c-socials > li { display: grid; }
.c-socials__card {
  --brand: var(--c-accent);
  --brand-ink: var(--stone-50);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: var(--sp-3);
  padding: var(--sp-4) var(--sp-3);
  overflow: hidden;
  border: var(--bw-hair) solid color-mix(in oklab, var(--stone-50) 18%, transparent);
  color: var(--stone-300);
  transition:
    color var(--dur-base) var(--ease-out),
    border-color var(--dur-base) var(--ease-out);
}
.c-socials__card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--brand-wash, var(--brand));
  opacity: 0.13;
  transition: opacity var(--dur-base) var(--ease-out);
}
.c-socials__card:hover,
.c-socials__card:focus-visible {
  color: var(--stone-50);
  border-color: var(--brand);
}
.c-socials__card:hover::before,
.c-socials__card:focus-visible::before { opacity: 0.3; }
.c-socials__glyph {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  inline-size: 2.75rem;
  block-size: 2.75rem;
  background: var(--brand-wash, var(--brand));
  color: var(--brand-ink);
  transition: transform var(--dur-base) var(--ease-out);
}
.c-socials__card:hover .c-socials__glyph { transform: scale(1.08); }
.c-socials__glyph svg { inline-size: 1.25rem; block-size: auto; }
.c-socials__text {
  position: relative;
  z-index: 1;
  min-inline-size: 0;
  inline-size: 100%;
}
.c-socials__text small {
  display: block;
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--slate-300);
  white-space: nowrap;
}
.c-socials__text b {
  display: block;
  margin-block-start: var(--sp-2);
  font-family: var(--ff-display);
  font-size: var(--fs-sm);
  font-weight: var(--fw-regular);
  letter-spacing: var(--tr-tight);
  color: var(--stone-50);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.c-socials__card--youtube   { --brand: #FF0000; --brand-wash: #FF0000; }
.c-socials__card--facebook  { --brand: #1877F2; --brand-wash: #1877F2; }
.c-socials__card--instagram {
  --brand: #DD2A7B;
  --brand-wash: linear-gradient(135deg, #F58529 0%, #DD2A7B 48%, #8134AF 76%, #515BD4 100%);
}
.c-socials__card--tiktok {
  --brand: #FFFFFF;
  --brand-wash: #0A0A0A;
  --brand-ink: #FFFFFF;
}
.c-socials__card--tiktok .c-socials__glyph {
  border: var(--bw-hair) solid color-mix(in oklab, var(--stone-50) 30%, transparent);
}
@media (max-width: 78rem) {
  .c-socials { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 30rem) {
  .c-socials { gap: var(--sp-3); }
  .c-socials__card { padding: var(--sp-4) var(--sp-3); }
}
.c-socials--compact {
  inline-size: auto;
  justify-self: stretch;
  gap: var(--sp-3);
  margin-block-start: var(--sp-5);
}
.c-socials--compact .c-socials__card {
  gap: var(--sp-2);
  padding: var(--sp-4) var(--sp-2);
}
.c-socials--compact .c-socials__glyph {
  inline-size: 2rem;
  block-size: 2rem;
}
.c-socials--compact .c-socials__glyph svg { inline-size: 0.95rem; }
.c-socials--compact .c-socials__text b { display: none; }
.c-socials--compact .c-socials__text small {
  font-size: 0.58rem;
  letter-spacing: 0.1em;
}
@media (max-width: 62rem) {
  .c-socials--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* assets/css/components/events.css */
.c-events {
  position: relative;
  padding-block: var(--section-pad);
  background: var(--c-bg);
  color: var(--c-ink);
  overflow: clip;
}
.c-events__hold {
  grid-column: content-start / content-end;
  position: relative;
  display: grid;
  justify-items: center;
  gap: var(--sp-5);
  padding: var(--sp-8);
  border: var(--bw-rule) dashed var(--c-line-strong);
  text-align: center;
}
.c-events__hold::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: repeating-linear-gradient(
    -45deg,
    transparent 0 14px,
    color-mix(in oklab, var(--c-ink) 4%, transparent) 14px 15px);
}
.c-events__badge {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-2) var(--sp-4);
  background: var(--c-accent);
  color: var(--c-accent-on);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  white-space: nowrap;
}
.c-events__badge::before {
  content: "";
  inline-size: 6px;
  block-size: 6px;
  border-radius: var(--radius-pill);
  background: var(--stone-50);
  animation: events-pulse 2.6s var(--ease-inout) infinite;
}
@keyframes events-pulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.2; }
}
.c-events__title {
  font-family: var(--ff-display);
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 0, "WONK" 1;
  font-weight: var(--fw-light);
  font-size: var(--fs-2xl);
  line-height: var(--lh-tight);
  letter-spacing: var(--tr-display);
  text-wrap: balance;
}
.c-events__title em {
  font-style: italic;
  font-variation-settings: "SOFT" 60, "WONK" 1;
  color: var(--c-accent-text);
}
.c-events__copy {
  position: relative;
  z-index: 1;
  max-inline-size: none;
  font-size: var(--fs-md);
  line-height: var(--lh-body);
  color: var(--c-ink-soft);
  text-wrap: pretty;
}
.c-events__kinds {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--sp-3);
  margin-block-start: var(--sp-2);
}
.c-events__kinds li {
  padding: var(--sp-3) var(--sp-5);
  border: var(--bw-hair) solid var(--c-line-strong);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink-soft);
  white-space: nowrap;
  transition:
    border-color var(--dur-fast) var(--ease-out),
    color var(--dur-fast) var(--ease-out);
}
.c-events__kinds li:hover { border-color: var(--c-accent); color: var(--c-ink); }
@media (max-width: 68rem) {
  .c-events__hold { padding: var(--sp-6); }
}

/* assets/css/components/consult.css */
.c-consult {
  padding-block: var(--section-pad);
  background: var(--c-bg-alt);
  color: var(--c-ink);
}
.c-consult__shell { row-gap: var(--sp-6); align-items: start; justify-items: center; }
.c-consult__intro {
  grid-column: content-start / content-end;
  display: grid;
  justify-items: center;
  gap: var(--sp-4);
  text-align: center;
}
.c-consult__title {
  font-family: var(--ff-display);
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 0, "WONK" 1;
  font-weight: var(--fw-light);
  font-size: var(--fs-3xl);
  line-height: var(--lh-display);
  letter-spacing: var(--tr-display);
  text-wrap: balance;
}
.c-consult__title em {
  font-style: italic;
  font-variation-settings: "SOFT" 60, "WONK" 1;
  color: var(--c-accent-text);
}
.c-consult__copy {
  max-inline-size: none;
  font-size: var(--fs-md);
  line-height: var(--lh-body);
  color: var(--c-ink-soft);
  text-wrap: pretty;
}
.c-consult__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--sp-3) var(--sp-5);
}
.c-consult__meta div {
  display: flex;
  align-items: baseline;
  gap: var(--sp-3);
  padding: var(--sp-2) var(--sp-4);
  border: var(--bw-hair) solid var(--c-line);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  white-space: nowrap;
}
.c-consult__meta dt { color: var(--c-ink-muted); }
.c-consult__panel {
  grid-column: content-start / content-end;
  max-inline-size: 67rem;
  margin-inline: auto;
  inline-size: 100%;
  position: relative;
  padding: var(--sp-3);
  border: var(--bw-hair) solid var(--c-line-strong);
  background: var(--c-bg-alt);
}
.c-consult__stage {
  --calendly-bg:      var(--c-bg-alt);
  --calendly-text:    var(--c-ink);
  --calendly-primary: var(--luzzu-blue-600);
  position: relative;
  min-block-size: 26rem;
  background: var(--c-bg-alt);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .c-consult__stage {
    --calendly-bg:   var(--invert-plate);
    --calendly-text: var(--invert-ink);
  }
  :root:not([data-theme="light"]) .c-consult__stage iframe {
    filter: invert(1) hue-rotate(180deg) brightness(1.06) contrast(0.96);
  }
}
[data-theme="dark"] .c-consult__stage {
  --calendly-bg:   var(--invert-plate);
  --calendly-text: var(--invert-ink);
}
[data-theme="dark"] .c-consult__stage iframe {
  filter: invert(1) hue-rotate(180deg) brightness(1.06) contrast(0.96);
}
.c-consult__stage .calendly-inline-widget {
  position: relative;
  z-index: 1;
  min-inline-size: 100%;
}
.c-consult__holding {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: var(--sp-4);
  padding: var(--sp-6);
  text-align: center;
  color: var(--c-ink-muted);
}
.c-consult__holding span {
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
}
.c-consult__holding svg {
  inline-size: 2rem;
  block-size: auto;
  color: var(--c-accent-text);
}
.c-consult__fallback {
  grid-column: content-start / content-end;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--sp-4);
  margin-block-start: var(--sp-4);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink-muted);
}
@media (max-width: 68rem) {
  .c-consult__intro,
  .c-consult__panel,
  .c-consult__fallback { grid-column: content-start / content-end; }
  .c-consult__stage { min-block-size: 26rem; }
}
.c-contact {
  padding-block: var(--section-pad);
  background: var(--c-bg);
  color: var(--c-ink);
}
.c-contact__shell { row-gap: var(--sp-7); align-items: start; }
.c-contact__intro { grid-column: content-start / span 4; }
.c-contact__title {
  font-family: var(--ff-display);
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 0, "WONK" 1;
  font-weight: var(--fw-light);
  font-size: var(--fs-3xl);
  line-height: var(--lh-display);
  letter-spacing: var(--tr-display);
  text-wrap: balance;
}
.c-contact__title em {
  font-style: italic;
  font-variation-settings: "SOFT" 60, "WONK" 1;
  color: var(--c-accent-text);
}
.c-contact__copy {
  margin-block-start: var(--sp-5);
  max-inline-size: none;
  font-size: var(--fs-md);
  line-height: var(--lh-body);
  color: var(--c-ink-soft);
  text-wrap: pretty;
}
.c-contact__form {
  grid-column: col 6 / content-end;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-6) var(--sp-5);
}
@media (max-width: 68rem) {
  .c-contact__intro { grid-column: content-start / content-end; }
  .c-contact__form  { grid-column: content-start / content-end; }
}
@media (max-width: 40rem) {
  .c-contact__form { grid-template-columns: minmax(0, 1fr); }
}
.c-consult__stage[data-calendly-ready] .c-consult__holding { display: none; }

/* assets/css/components/tours.css */
.c-tours {
  position: relative;
  padding-block: var(--section-pad);
  background: var(--slate-950);
  color: var(--stone-50);
  overflow: clip;
}
.c-tours .c-head__title { color: var(--stone-50); }
.c-tours .c-head__standfirst { color: var(--stone-300); }
.c-tours .c-head__index { color: var(--c-accent-text); }
.c-tours__grid {
  display: grid;
  grid-template-columns: repeat(var(--grid-columns), minmax(0, 1fr));
  column-gap: var(--gutter);
  row-gap: var(--sp-8);
  align-items: start;
}
.c-tours__card { grid-column: span 6; }
.c-tours__card {
  position: relative;
  display: block;
  transition: transform var(--dur-base) var(--ease-out);
}
.c-tours__card:hover { transform: translateY(-0.35rem); }
.c-tours__frame {
  position: relative;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: var(--slate-800);
  outline: var(--bw-hair) solid color-mix(in oklab, var(--stone-50) 16%, transparent);
  transition: outline-color var(--dur-base) var(--ease-out);
}
.c-tours__card:hover .c-tours__frame { outline-color: var(--c-accent-text); }
.c-tours__frame img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  filter: saturate(1.12) contrast(1.06) brightness(0.94);
  transform: scale(1.02);
  transition: transform var(--dur-slow) var(--ease-out), filter var(--dur-base) var(--ease-out);
}
.c-tours__card:hover .c-tours__frame img { transform: scale(1.06); filter: saturate(1.22) contrast(1.08) brightness(1); }
.c-tours__frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top,
    color-mix(in oklab, var(--slate-950) 78%, transparent) 0%,
    color-mix(in oklab, var(--slate-950) 14%, transparent) 44%,
    transparent 68%);
  pointer-events: none;
}
.c-tours__name {
  position: absolute;
  z-index: 2;
  inset-block-end: var(--sp-5);
  inset-inline: var(--sp-5);
  font-family: var(--ff-display);
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 0, "WONK" 1;
  font-weight: var(--fw-light);
  font-size: var(--fs-2xl);
  line-height: var(--lh-tight);
  letter-spacing: var(--tr-tight);
  color: var(--stone-50);
  text-wrap: balance;
}
.c-tours__name em {
  font-style: italic;
  font-variation-settings: "SOFT" 60, "WONK" 1;
  color: var(--c-accent-text);
}
.c-tours__body { padding-block-start: var(--sp-4); }
.c-tours__body p {
  max-inline-size: none;
  font-size: var(--fs-sm);
  line-height: var(--lh-body);
  color: var(--stone-300);
  text-wrap: pretty;
}
.c-tours__stops {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2) var(--sp-3);
  margin-block-start: var(--sp-4);
}
.c-tours__stops li {
  padding: var(--sp-1) var(--sp-3);
  border: var(--bw-hair) solid color-mix(in oklab, var(--stone-50) 20%, transparent);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--stone-300);
  line-height: 1.7;
  white-space: nowrap;
}
.c-tours__foot {
  grid-column: 1 / -1;
  display: grid;
  justify-items: center;
  gap: var(--sp-5);
  margin-block-start: var(--sp-7);
  text-align: center;
}
.c-tours__cta {
  padding: var(--sp-4) var(--sp-8);
  font-size: var(--fs-mono-sm);
}
.c-tours__foot p {
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  letter-spacing: var(--tr-normal);
  line-height: 1.7;
  color: var(--slate-300);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 68rem) {
  .c-tours__card { grid-column: span 6; }
}
@media (max-width: 44rem) {
  .c-tours__card { grid-column: span 12 !important; }
  .c-tours__name { font-size: var(--fs-xl); }
}
@media (max-width: 44rem) {
  .c-tours__stops {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sp-2);
    justify-items: stretch;
  }
  .c-tours__stops li {
    display: grid;
    place-content: center;
    min-block-size: 2.5rem;
    text-align: center;
  }
  .c-tours__stops li:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    white-space: normal;
    text-wrap: balance;
  }
}
@media (max-width: 26rem) {
  .c-tours__cta {
    white-space: normal;
    text-align: center;
    text-wrap: balance;
  }
}
.c-tours__body { text-align: center; }
.c-tours__stops { justify-content: center; }

/* assets/css/components/video-archive.css */
.c-archive {
  position: relative;
  background: var(--c-bg);
  padding-block: var(--section-pad);
}
.c-archive__controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4) var(--sp-6);
  padding-block: var(--sp-4);
  border-block: var(--bw-hair) solid var(--c-line);
  margin-block-end: var(--sp-8);
}
.c-archive__readout {
  display: flex;
  align-items: baseline;
  gap: var(--sp-3);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink-muted);
}
.c-archive__readout b {
  font-weight: var(--fw-medium);
  color: var(--c-ink);
}
.c-archive__sort {
  display: flex;
  align-items: stretch;
  gap: 0;
  border: var(--bw-hair) solid var(--c-line-strong);
}
.c-archive__sort-label {
  display: flex;
  align-items: center;
  padding-inline: var(--sp-4);
  border-inline-end: var(--bw-hair) solid var(--c-line-strong);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink-muted);
}
.c-archive__sort-btn {
  position: relative;
  padding: var(--sp-3) var(--sp-5);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink-muted);
  transition:
    color var(--dur-fast) var(--ease-out),
    background-color var(--dur-fast) var(--ease-out);
}
.c-archive__sort-btn + .c-archive__sort-btn {
  border-inline-start: var(--bw-hair) solid var(--c-line-strong);
}
.c-archive__sort-btn:hover { color: var(--c-ink); }
.c-archive__sort-btn[aria-pressed="true"] {
  background: var(--c-ink);
  color: var(--c-bg);
}
.c-archive__sort-btn svg {
  display: inline-block;
  inline-size: 0.7em;
  block-size: auto;
  margin-inline-end: var(--sp-2);
  vertical-align: baseline;
}
.c-archive__sort-btn--asc svg { transform: rotate(180deg); }
.c-video-card {
  --card-title-size: var(--fs-lg);
  position: relative;
}
.c-video-card__link {
  display: block;
  outline-offset: 6px;
}
.c-video-card__thumb {
  position: relative;
  aspect-ratio: var(--card-ar, var(--ar-wide));
  overflow: hidden;
  background: var(--slate-900);
}
.c-video-card__image {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  background:
    linear-gradient(
      var(--thumb-angle, 155deg),
      var(--thumb-a, var(--slate-700)) 0%,
      var(--thumb-b, var(--slate-950)) 100%);
  filter: saturate(0.9) contrast(1.02);
  transform: scale(1.001);
  transition:
    transform var(--dur-slow) var(--ease-out),
    filter var(--dur-base) var(--ease-out);
  will-change: transform;
}
.c-video-card__link:hover .c-video-card__image,
.c-video-card__link:focus-visible .c-video-card__image {
  transform: scale(1.06);
  filter: saturate(1.05) contrast(1.06);
}
.c-video-card__thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    to top,
    color-mix(in oklab, var(--slate-950) 76%, transparent) 0%,
    transparent 46%);
  opacity: 0;
  transition: opacity var(--dur-base) var(--ease-out);
}
.c-video-card__link:hover .c-video-card__thumb::after,
.c-video-card__link:focus-visible .c-video-card__thumb::after { opacity: 1; }
.c-video-card__duration {
  position: absolute;
  inset-block-end: var(--sp-3);
  inset-inline-end: var(--sp-3);
  z-index: var(--z-overlap);
  padding: var(--sp-1) var(--sp-2);
  background: color-mix(in oklab, var(--slate-950) 90%, transparent);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  color: var(--stone-50);
  line-height: 1.4;
}
.c-video-card__play {
  position: absolute;
  inset-block-end: var(--sp-3);
  inset-inline-start: 0;
  z-index: var(--z-overlap);
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-2) var(--sp-4);
  background: var(--c-accent);
  color: var(--c-accent-on);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  line-height: 1.4;
  transform: translateX(-100%);
  transition: transform var(--dur-base) var(--ease-out);
}
.c-video-card__link:hover .c-video-card__play,
.c-video-card__link:focus-visible .c-video-card__play { transform: translateX(0); }
.c-video-card__play svg { inline-size: 0.6em; block-size: auto; }
.c-video-card__body { padding-block-start: var(--sp-4); }
.c-video-card__meta {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  margin-block-end: var(--sp-3);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink-muted);
  line-height: 1;
}
.c-video-card__no { color: var(--c-accent-text); }
.c-video-card__meta::after {
  content: "";
  flex: 1;
  block-size: var(--bw-hair);
  background: var(--c-line);
}
.c-video-card__title {
  font-family: var(--ff-display);
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 0, "WONK" 0;
  font-weight: var(--fw-regular);
  font-size: var(--card-title-size);
  line-height: var(--lh-tight);
  letter-spacing: var(--tr-tight);
  color: var(--c-ink);
  text-wrap: balance;
}
.c-video-card__title span {
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0% var(--bw-hair);
  transition: background-size var(--dur-base) var(--ease-out);
  padding-block-end: 0.06em;
}
.c-video-card__link:hover .c-video-card__title span,
.c-video-card__link:focus-visible .c-video-card__title span {
  background-size: 100% var(--bw-hair);
}
.c-video-card__excerpt {
  margin-block-start: var(--sp-3);
  font-size: var(--fs-sm);
  line-height: var(--lh-body);
  color: var(--c-ink-muted);
  text-wrap: pretty;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}
@media (max-width: 64rem) {
  .c-archive__index      { grid-column: content-start / content-end; grid-row: auto; padding-block-start: 0; }
  .c-archive__title      { grid-column: content-start / content-end; grid-row: auto; }
  .c-archive__standfirst { grid-column: content-start / span 9; grid-row: auto; align-self: auto; }
}
@media (max-width: 40rem) {
  .c-archive__sort { inline-size: 100%; }
  .c-archive__sort-btn { flex: 1; }
}
@supports (content-visibility: auto) {
  .c-video-card {
    content-visibility: auto;
    contain-intrinsic-size: auto 420px;
  }
}
@keyframes card-reveal {
  from { opacity: 0; transform: translateY(0.75rem); }
  to   { opacity: 1; transform: none; }
}
.c-archive__bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4) var(--sp-6);
  padding-block-end: var(--sp-4);
}
.c-archive__filters {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
}
.c-archive__chip {
  display: inline-flex;
  align-items: baseline;
  gap: var(--sp-2);
  padding: var(--sp-2) var(--sp-4);
  border: var(--bw-hair) solid var(--c-line);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink-muted);
  line-height: 1.5;
  transition:
    color var(--dur-fast) var(--ease-out),
    border-color var(--dur-fast) var(--ease-out),
    background-color var(--dur-fast) var(--ease-out);
}
.c-archive__chip:hover { color: var(--c-ink); border-color: var(--c-line-strong); }
.c-archive__chip[aria-pressed="true"] {
  background: var(--c-ink);
  border-color: var(--c-ink);
  color: var(--c-bg);
}
.c-archive__chip b {
  font-weight: var(--fw-regular);
  font-size: 0.85em;
  opacity: 0.62;
}
.c-archive__search {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  min-inline-size: min(22rem, 100%);
  padding-block-end: var(--sp-2);
  border-block-end: var(--bw-hair) solid var(--c-line-strong);
}
.c-archive__search:focus-within { border-block-end-color: var(--c-accent); }
.c-archive__search svg {
  inline-size: 0.95rem;
  block-size: auto;
  color: var(--c-ink-muted);
  flex: none;
}
.c-archive__search input {
  flex: 1;
  min-inline-size: 0;
  border: 0;
  background: none;
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-sm);
  letter-spacing: var(--tr-mono);
  color: var(--c-ink);
  padding: 0;
}
.c-archive__search input::placeholder { color: var(--c-ink-muted); text-transform: uppercase; }
.c-archive__search input:focus { outline: none; }
.c-archive__search input::-webkit-search-cancel-button { display: none; }
.c-archive__search-clear {
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink-muted);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.c-archive__search[data-filled] .c-archive__search-clear { opacity: 1; pointer-events: auto; }
.c-archive__search-clear:hover { color: var(--c-accent-text); }
.c-archive__empty {
  display: none;
  padding-block: var(--sp-9);
  border-block-start: var(--bw-hair) solid var(--c-line);
}
.c-archive[data-empty] .c-archive__empty { display: block; }
.c-archive__empty p {
  font-family: var(--ff-display);
  font-size: var(--fs-xl);
  font-weight: var(--fw-light);
  letter-spacing: var(--tr-tight);
  color: var(--c-ink);
  margin-block-end: var(--sp-4);
}
.c-archive__empty span {
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink-muted);
}
.c-video-card__thumb img.c-video-card__image { background: var(--slate-800); }
.c-video-card__topic {
  position: absolute;
  inset-block-start: var(--sp-3);
  inset-inline-start: var(--sp-3);
  z-index: var(--z-overlap);
  padding: var(--sp-1) var(--sp-2);
  background: color-mix(in oklab, var(--slate-950) 82%, transparent);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--stone-100);
  line-height: 1.4;
  opacity: 0;
  transform: translateY(-0.35rem);
  transition: opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);
}
.c-video-card__link:hover .c-video-card__topic,
.c-video-card__link:focus-visible .c-video-card__topic { opacity: 1; transform: none; }
.c-video-card__views { color: var(--c-ink-muted); }
.c-archive__more {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-5);
  margin-block-start: var(--sp-7);
  padding-block-start: var(--sp-5);
  border-block-start: var(--bw-hair) solid var(--c-line);
}
.c-archive__more p {
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink-muted);
  max-inline-size: 34rem;
}
@media (max-width: 48rem) {
  .c-archive__search { min-inline-size: 100%; }
  .c-archive__bar { gap: var(--sp-5); }
}
.c-video-card {
  transition: transform var(--dur-base) var(--ease-out);
}
.c-video-card:has(.c-video-card__link:hover),
.c-video-card:has(.c-video-card__link:focus-visible) {
  transform: translateY(-0.35rem);
}
.c-video-card__thumb {
  outline: var(--bw-hair) solid transparent;
  outline-offset: 0;
  transition: outline-color var(--dur-base) var(--ease-out);
}
.c-video-card__link:hover .c-video-card__thumb,
.c-video-card__link:focus-visible .c-video-card__thumb {
  outline-color: var(--c-accent);
}
.c-video-card__link:active { transform: translateY(0.05rem); }
.c-channel {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--sp-5);
  margin-block: var(--sp-8) 0;
  margin-inline: auto;
  padding: var(--sp-5) var(--sp-6);
  overflow: hidden;
  inline-size: fit-content;
  max-inline-size: 100%;
  border: var(--bw-hair) solid var(--c-line-strong);
  background: color-mix(in oklab, var(--c-ink) 4%, transparent);
  transition:
    border-color var(--dur-base) var(--ease-out),
    background-color var(--dur-base) var(--ease-out);
}
.c-channel:hover {
  border-color: #FF0000;
  background: color-mix(in oklab, #FF0000 7%, transparent);
}
.c-channel__sheen {
  position: absolute;
  inset-block: 0;
  inset-inline-start: -40%;
  inline-size: 35%;
  background: linear-gradient(
    100deg,
    transparent 0%,
    color-mix(in oklab, #FF0000 26%, transparent) 50%,
    transparent 100%);
  transform: skewX(-14deg);
  opacity: 0;
  pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
  .c-channel:hover .c-channel__sheen { animation: channel-sweep 0.9s var(--ease-out) forwards; }
}
@keyframes channel-sweep {
  from { inset-inline-start: -40%; opacity: 0; }
  20%  { opacity: 1; }
  to   { inset-inline-start: 115%; opacity: 0; }
}
.c-channel__glyph {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  inline-size: 3.75rem;
  block-size: 2.65rem;
  background: #FF0000;
  color: #FFFFFF;
  transition: transform var(--dur-base) var(--ease-out);
}
.c-channel:hover .c-channel__glyph { transform: scale(1.06); }
.c-channel__glyph svg { inline-size: 1.7rem; block-size: auto; }
.c-channel__text { position: relative; z-index: 1; min-inline-size: 0; }
.c-channel__text b {
  display: block;
  font-family: var(--ff-display);
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 0, "WONK" 1;
  font-size: var(--fs-lg);
  font-weight: var(--fw-light);
  line-height: var(--lh-tight);
  letter-spacing: var(--tr-display);
  color: var(--c-ink);
  white-space: nowrap;
}
.c-channel__text small {
  display: block;
  margin-block-start: var(--sp-2);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink-muted);
  white-space: nowrap;
}
.c-channel__arrow {
  position: relative;
  z-index: 1;
  inline-size: 2.25rem;
  block-size: auto;
  color: #FF0000;
}
@media (prefers-reduced-motion: no-preference) {
  .c-channel__arrow { animation: u-nudge 2.6s var(--ease-out) infinite; }
  .c-channel:hover .c-channel__arrow,
  .c-channel:focus-visible .c-channel__arrow {
    animation: none;
    transform: translateX(0.5rem);
    transition: transform var(--dur-base) var(--ease-out);
  }
}
@media (max-width: 56rem) {
  .c-channel {
    gap: var(--sp-4);
    padding: var(--sp-4) var(--sp-5);
  }
  .c-channel__text b { font-size: var(--fs-md); }
  .c-channel__text small { white-space: nowrap; font-size: 0.62rem; }
  .c-channel__glyph { inline-size: 3rem; block-size: 2.1rem; }
  .c-channel__glyph svg { inline-size: 1.4rem; }
  .c-channel__arrow { inline-size: 1.75rem; }
}
@media (max-width: 44rem) {
  .c-channel {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    text-align: center;
    gap: var(--sp-4);
    padding: var(--sp-5);
  }
  .c-channel__sheen { display: none; }
}

/* assets/css/components/timeline.css */
.c-timeline {
  position: relative;
  --col: calc((100% - 11 * var(--gutter)) / 12);
}
.c-timeline::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 50%;
  inline-size: var(--bw-hair);
  background: var(--c-line);
  transform: translateX(-50%);
  pointer-events: none;
}
.c-entry { display: block; }
.c-entry[hidden] { display: none; }
.c-entry__link {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--gutter);
  align-items: center;
  padding-block: var(--sp-6);
  border-block-end: var(--bw-hair) solid var(--c-line);
}
.c-entry:last-of-type .c-entry__link { border-block-end: 0; }
.c-entry:nth-child(odd) .c-entry__media { grid-row: 1; grid-column: 1 / span 6; }
.c-entry:nth-child(odd) .c-entry__text  { grid-row: 1; grid-column: 7 / span 6; padding-inline-start: var(--sp-6); }
.c-entry:nth-child(even) .c-entry__media { grid-row: 1; grid-column: 7 / span 6; }
.c-entry:nth-child(even) .c-entry__text  { grid-row: 1; grid-column: 1 / span 6; padding-inline-end: var(--sp-6); }
.c-entry__text > * { max-inline-size: none; }
.c-entry:nth-child(even) .c-entry__text > * { margin-inline-start: auto; }
.c-entry__node {
  grid-row: 1;
  grid-column: 1 / -1;
  justify-self: center;
  align-self: center;
  inline-size: 9px;
  block-size: 9px;
  border-radius: var(--radius-pill);
  background: var(--c-bg);
  border: var(--bw-rule) solid var(--c-line-strong);
  pointer-events: none;
  transition:
    border-color var(--dur-base) var(--ease-out),
    background-color var(--dur-base) var(--ease-out),
    transform var(--dur-base) var(--ease-out);
}
.c-entry__link:hover .c-entry__node,
.c-entry__link:focus-visible .c-entry__node {
  border-color: var(--c-accent);
  background: var(--c-accent);
  transform: scale(1.4);
}
.c-entry__media {
  position: relative;
  aspect-ratio: var(--ar-wide);
  overflow: hidden;
  background: var(--slate-900);
  padding: var(--bw-rule);
}
.c-entry__media::before {
  content: "";
  position: absolute;
  inset: -60%;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--dur-base) var(--ease-out);
  background: conic-gradient(
    from 0deg,
    transparent 0deg 186deg,
    color-mix(in oklab, #FF0000 28%, transparent) 276deg,
    #FF0000 338deg,
    #FF8478 354deg,
    transparent 360deg);
}
.c-entry__link:hover .c-entry__media::before,
.c-entry__link:focus-visible .c-entry__media::before { opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
  .c-entry__link:hover .c-entry__media::before,
  .c-entry__link:focus-visible .c-entry__media::before {
    animation: entry-ring 2.8s linear infinite;
  }
}
@keyframes entry-ring {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
.c-entry__image,
.c-entry__duration,
.c-entry__play { position: relative; z-index: 1; }
.c-entry__image {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  transform: scale(1.001);
  transition: transform var(--dur-slow) var(--ease-out), filter var(--dur-base) var(--ease-out);
}
.c-entry__link:hover .c-entry__image,
.c-entry__link:focus-visible .c-entry__image { transform: scale(1.05); filter: brightness(0.88); }
.c-entry__duration {
  position: absolute;
  inset-block-end: var(--sp-3);
  inset-inline-end: var(--sp-3);
  padding: 0.15rem var(--sp-2);
  background: color-mix(in oklab, #0A0E10 88%, transparent);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  color: var(--stone-50);
  line-height: 1.5;
}
.c-entry__play {
  position: absolute;
  inset-block-end: var(--sp-3);
  inset-inline-start: 0;
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  padding: 0.3rem var(--sp-4);
  background: var(--c-accent);
  color: var(--c-accent-on);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  line-height: 1.5;
  transform: translateX(-101%);
  transition: transform var(--dur-base) var(--ease-out);
}
.c-entry__link:hover .c-entry__play,
.c-entry__link:focus-visible .c-entry__play { transform: none; }
.c-entry__play svg { inline-size: 0.55em; block-size: auto; }
.c-entry__stamp {
  display: flex;
  align-items: baseline;
  gap: var(--sp-3);
  margin-block-end: var(--sp-4);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink-muted);
  line-height: 1;
}
.c-entry__stamp b { font-weight: var(--fw-medium); color: var(--c-ink); }
.c-entry__no { color: var(--c-accent-text); }
.c-entry__stamp::after {
  content: "";
  flex: 1;
  block-size: var(--bw-hair);
  background: var(--c-line);
}
.c-entry__topic {
  display: inline-block;
  margin-block-end: var(--sp-3);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink-muted);
}
.c-entry__title {
  font-family: var(--ff-display);
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 0, "WONK" 0;
  font-weight: var(--fw-regular);
  font-size: var(--fs-lg);
  line-height: var(--lh-tight);
  letter-spacing: var(--tr-tight);
  color: var(--c-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.c-entry__title span {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.c-entry__title span {
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0% var(--bw-hair);
  transition: background-size var(--dur-base) var(--ease-out);
  padding-block-end: 0.06em;
}
.c-entry__link:hover .c-entry__title span,
.c-entry__link:focus-visible .c-entry__title span { background-size: 100% var(--bw-hair); }
.c-entry__dek {
  margin-block-start: var(--sp-4);
  font-size: var(--fs-sm);
  line-height: var(--lh-body);
  color: var(--c-ink-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.c-entry__foot {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  margin-block-start: var(--sp-5);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink-muted);
  line-height: 1;
}
.c-entry__foot svg {
  inline-size: 1.5rem;
  block-size: auto;
  color: var(--c-accent-text);
  transition: transform var(--dur-base) var(--ease-out);
}
.c-entry__link:hover .c-entry__foot svg { transform: translateX(0.35rem); }
@media (max-width: 60rem) {
  .c-timeline::before { display: none; }
  .c-entry__node { display: none; }
  .c-entry__link {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--sp-5);
    padding-block: var(--sp-6);
    align-items: start;
  }
  .c-entry:nth-child(odd) .c-entry__media,
  .c-entry:nth-child(even) .c-entry__media { grid-row: 1; grid-column: 1 / -1; }
  .c-entry:nth-child(odd) .c-entry__text,
  .c-entry:nth-child(even) .c-entry__text {
    grid-row: 2;
    grid-column: 1 / -1;
    padding-inline: 0;
  }
  .c-entry__title { font-size: var(--fs-lg); }
}
@supports (content-visibility: auto) {
  .c-entry {
    content-visibility: auto;
    contain-intrinsic-size: auto 320px;
  }
}
.c-timeline[data-reordered] > .c-entry[style*="--reveal-i"] {
  animation: entry-reveal var(--dur-base) var(--ease-out) both;
  animation-delay: calc(var(--reveal-i, 0) * 22ms);
}
@keyframes entry-reveal {
  from { opacity: 0; transform: translateY(0.6rem); }
  to   { opacity: 1; transform: none; }
}
@media (hover: none) {
  .c-entry__play {
    position: static;
    transform: none;
    inline-size: fit-content;
    margin-block-start: var(--sp-4);
    padding-block: var(--sp-2);
  }
}
@media (max-width: 44rem) {
  .c-entry__title,
  .c-entry__title span,
  .c-entry__dek {
  white-space: normal;
  text-wrap: pretty;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  }
}

/* assets/css/components/services.css */
.c-services {
  position: relative;
  padding-block: var(--section-pad);
  color: var(--stone-50);
  overflow: clip;
}
.c-services .c-head__standfirst { color: var(--stone-300); }
.c-services .c-head__index { color: var(--c-accent-text); }
.c-services__stack {
  overflow-anchor: none;
  grid-column: content-start / content-end;
  display: grid;
  gap: var(--sp-4);
}
.c-service {
  border: var(--bw-hair) solid color-mix(in oklab, var(--stone-50) 20%, transparent);
  background: color-mix(in oklab, var(--slate-950) 62%, transparent);
  transition:
    border-color var(--dur-base) var(--ease-out),
    background-color var(--dur-base) var(--ease-out);
}
.c-service:hover { border-color: color-mix(in oklab, var(--stone-50) 34%, transparent); }
.c-service[open] {
  border-color: var(--c-accent);
  background: color-mix(in oklab, var(--slate-950) 62%, transparent);
}
.c-service__head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: var(--sp-4);
  padding: var(--sp-5) var(--sp-6);
  cursor: pointer;
  list-style: none;            
  user-select: none;
}
.c-service__head::-webkit-details-marker { display: none; }
.c-service__head:focus-visible {
  outline: var(--bw-rule) solid var(--c-accent);
  outline-offset: calc(var(--bw-rule) * -3);
}
.c-service__no {
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  color: var(--slate-300);
  transition: color var(--dur-fast) var(--ease-out);
}
.c-service[open] .c-service__no { color: var(--c-accent-text); }
.c-service__name {
  font-family: var(--ff-display);
  font-optical-sizing: auto;
  font-weight: var(--fw-light);
  font-size: var(--fs-2xl);
  line-height: var(--lh-tight);
  letter-spacing: var(--tr-tight);
  color: var(--stone-300);
  white-space: nowrap;
  transition: color var(--dur-fast) var(--ease-out);
}
.c-service[open] .c-service__name,
.c-service__head:hover .c-service__name { color: var(--stone-50); }
.c-service__tag {
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--slate-300);
  white-space: nowrap;
}
.c-service__mark {
  inline-size: 1.5rem;
  block-size: 1.5rem;
  display: grid;
  place-content: center;
  border: var(--bw-hair) solid color-mix(in oklab, var(--stone-50) 26%, transparent);
  color: var(--stone-300);
  transition:
    border-color var(--dur-fast) var(--ease-out),
    color var(--dur-fast) var(--ease-out);
}
.c-service__mark svg { inline-size: 0.85rem; block-size: auto; }
.c-service__mark svg path {
  transition: d var(--dur-fast) var(--ease-out);
}
.c-service__mark svg { transition: transform var(--dur-base) var(--ease-out); }
.c-service[open] .c-service__mark { display: none; }
.c-service__body {
  padding: 0 var(--sp-6) var(--sp-6);
}
.c-service__inner {
  display: grid;
  gap: var(--sp-4);
  padding-block-start: var(--sp-5);
  border-block-start: var(--bw-hair) solid color-mix(in oklab, var(--stone-50) 14%, transparent);
}
.c-service__lede {
  font-family: var(--ff-display);
  font-optical-sizing: auto;
  font-weight: var(--fw-regular);
  font-size: var(--fs-lg);
  line-height: var(--lh-snug);
  letter-spacing: var(--tr-tight);
  color: var(--stone-50);
}
.c-service__copy {
  font-size: var(--fs-sm);
  line-height: var(--lh-body);
  color: var(--stone-300);
}
.c-service__points {
  display: grid;
  gap: var(--sp-3);
}
.c-service__points li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--sp-3);
  font-size: var(--fs-sm);
  line-height: var(--lh-snug);
  color: var(--stone-300);
}
.c-service__points li::before {
  content: "";
  inline-size: var(--sp-4);
  block-size: var(--bw-hair);
  margin-block-start: 0.7em;
  background: var(--c-accent);
}
.c-service__body .c-action { color: var(--stone-50); }
.c-service__body .c-action:hover { color: var(--c-accent-text); }
@media (min-width: 75rem) {
  .c-service[open] {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 25%) minmax(0, 75%);
    align-items: stretch;
  }
  .c-service[open] .c-service__head {
    position: relative;
    grid-column: 1;
    min-inline-size: 0;
    overflow: hidden;
    display: block;                     
    padding: var(--sp-5) var(--sp-5) var(--sp-6) calc(var(--sp-6) + 2.25rem);
  }
  .c-service[open] .c-service__no {
    position: absolute;
    inset-block-start: calc(var(--sp-5) + 0.55em);
    inset-inline-start: var(--sp-6);
  }
  .c-service[open] .c-service__name {
    display: block;
    font-size: clamp(1.45rem, -0.125rem + 1.8vw, 2.05rem);
    line-height: var(--lh-tight);
    white-space: normal;
    text-wrap: balance;
  }
  .c-service[open] .c-service__tag {
    display: block;
    margin-block-start: var(--sp-3);
  }
  .c-service[open] .c-service__body {
    grid-column: 2;
    min-inline-size: 0;
    overflow: hidden;
    padding: var(--sp-5) calc(var(--sp-6) + 3rem) var(--sp-6) 0;
  }
  .c-service[open] .c-service__inner {
    padding-block-start: 0;
    border-block-start: 0;
    border-inline-start: var(--bw-hair) solid color-mix(in oklab, var(--stone-50) 14%, transparent);
    padding-inline-start: var(--sp-6);
  }
}
@media (max-width: 48rem) {
  .c-service__head {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: var(--sp-3);
    padding: var(--sp-4) var(--sp-5);
  }
  .c-service__tag { display: none; }
  .c-service__name { font-size: var(--fs-xl); }
  .c-service__body { padding: 0 var(--sp-5) var(--sp-5); }
}
@media (max-width: 26rem) {
  .c-service__name { white-space: normal; font-size: var(--fs-lg); }
}
@supports (transition-behavior: allow-discrete) and (interpolate-size: allow-keywords) {
  html { interpolate-size: allow-keywords; }
  .c-service::details-content {
    block-size: 0;
    overflow: hidden;
    transition:
      block-size 0.9s var(--ease-panel),
      content-visibility 0.9s allow-discrete;
  }
  .c-service[open]::details-content { block-size: auto; }
}
@media (prefers-reduced-motion: no-preference) {
  .c-service__inner > * {
    opacity: 0;
    translate: 0 0.9rem;
    transition:
      opacity 0.55s var(--ease-out),
      translate 0.55s var(--ease-out);
  }
  .c-service[open] .c-service__inner > * { opacity: 1; translate: 0 0; }
  .c-service[open] .c-service__inner > *:nth-child(1) { transition-delay: 0.22s; }
  .c-service[open] .c-service__inner > *:nth-child(2) { transition-delay: 0.34s; }
  .c-service[open] .c-service__inner > *:nth-child(3) { transition-delay: 0.46s; }
  .c-service[open] .c-service__inner > *:nth-child(4) { transition-delay: 0.58s; }
  .c-service__points li {
    opacity: 0;
    translate: 0 0.6rem;
    transition:
      opacity 0.5s var(--ease-out),
      translate 0.5s var(--ease-out);
  }
  .c-service[open] .c-service__points li { opacity: 1; translate: 0 0; }
  .c-service[open] .c-service__points li:nth-child(1) { transition-delay: 0.50s; }
  .c-service[open] .c-service__points li:nth-child(2) { transition-delay: 0.60s; }
  .c-service[open] .c-service__points li:nth-child(3) { transition-delay: 0.70s; }
  .c-service[open] .c-service__points li:nth-child(4) { transition-delay: 0.80s; }
  .c-service[open] .c-service__points li:nth-child(n+5) { transition-delay: 0.90s; }
}
@media (prefers-reduced-motion: reduce) {
  .c-service,
  .c-service__mark svg,
  .c-service__inner > *,
  .c-service__points li,
  .c-service::details-content { transition: none; }
}

/* assets/css/components/commerce.css */
.c-shop {
  padding-block: var(--section-pad);
  background: var(--c-bg-alt);
  color: var(--c-ink);
}
.c-shop__shell { align-items: center; row-gap: var(--sp-8); }
.c-cover {
  grid-column: content-start / span 3;
  align-self: center;
  perspective: 1400px;
}
.c-cover__plate {
  position: relative;
  aspect-ratio: 1413 / 2000;
  overflow: hidden;
  border: var(--bw-hair) solid color-mix(in oklab, var(--stone-50) 18%, transparent);
  box-shadow:
    0 1px 0 color-mix(in oklab, var(--stone-50) 26%, transparent) inset,
    -18px 12px 40px -22px rgba(0, 0, 0, 0.75);
  transform-origin: left center;
  will-change: transform;
  animation: aim-cover-drift 18s ease-in-out infinite;
}
@keyframes aim-cover-drift {
  0%,
  100% { transform: rotateY(-11deg) rotateX(2deg)   translateY(0); }
  50%  { transform: rotateY(-5deg)  rotateX(0.5deg) translateY(-0.55rem); }
}
.c-cover:hover .c-cover__plate,
.c-cover:focus-within .c-cover__plate {
  animation-play-state: paused;
  transform: rotateY(-2deg) rotateX(0.5deg) translateY(-0.75rem);
  transition: transform var(--dur-slow) var(--ease-out);
}
.c-cover__art {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}
.c-cover__spine {
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  inline-size: clamp(0.7rem, 1.8vw, 1.35rem);
  background: linear-gradient(to right,
    rgba(0, 0, 0, 0.62) 0%,
    rgba(0, 0, 0, 0.28) 45%,
    color-mix(in oklab, var(--stone-50) 14%, transparent) 100%);
  pointer-events: none;
}
.c-cover__sheen {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(105deg,
    transparent 34%,
    color-mix(in oklab, var(--stone-50) 16%, transparent) 50%,
    transparent 66%);
  background-size: 260% 100%;
  animation: aim-cover-sheen 18s ease-in-out infinite;
}
@keyframes aim-cover-sheen {
  0%,
  100% { background-position: 100% 0; }
  50%  { background-position: 0 0; }
}
@media (prefers-reduced-motion: reduce) {
  .c-cover__plate {
    animation: none;
    transform: rotateY(-4deg);
  }
  .c-cover__sheen { animation: none; opacity: 0.5; }
  .c-cover:hover .c-cover__plate,
  .c-cover:focus-within .c-cover__plate { transform: rotateY(-4deg); transition: none; }
}
.c-shop__detail {
  min-inline-size: 0; grid-column: col 5 / content-end; }
.c-shop__eyebrow {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  margin-block-end: var(--sp-5);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-accent-text);
}
.c-shop__eyebrow::before {
  content: "";
  inline-size: clamp(1.5rem, 4vw, 3rem);
  block-size: var(--bw-hair);
  background: currentColor;
}
.c-shop__title {
  font-family: var(--ff-display);
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 0, "WONK" 1;
  font-weight: var(--fw-light);
  font-size: var(--fs-3xl);
  line-height: var(--lh-display);
  letter-spacing: var(--tr-display);
}
.c-shop__title-line { display: block; }
.c-shop__title em {
  font-style: italic;
  font-variation-settings: "SOFT" 60, "WONK" 1;
  color: var(--c-accent-text);
}
.c-shop__copy {
  margin-block: var(--sp-5);
  max-inline-size: none;
  font-size: var(--fs-md);
  line-height: var(--lh-body);
  color: var(--c-ink-soft);
  text-wrap: pretty;
}
.c-shop__contents {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-2) var(--sp-6);
  margin-block: var(--sp-6);
  padding-block: var(--sp-5);
  border-block: var(--bw-hair) solid var(--c-line);
}
.c-shop__contents li {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--sp-3);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink-soft);
  line-height: 1.7;
}
.c-shop__contents b { color: var(--c-accent-text); font-weight: var(--fw-medium); }
.c-shop__buy {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-5) var(--sp-7);
}
.c-shop__price {
  display: flex;
  align-items: baseline;
  gap: var(--sp-2);
}
.c-shop__price b {
  font-family: var(--ff-display);
  font-size: var(--fs-3xl);
  font-weight: var(--fw-light);
  line-height: 1;
  letter-spacing: var(--tr-display);
}
.c-shop__price small {
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink-muted);
}
@media (max-width: 68rem) {
  .c-cover      { grid-column: content-start / span 5; }
  .c-shop__detail { grid-column: content-start / content-end; }
}
@media (max-width: 48rem) {
  .c-cover { grid-column: content-start / span 8; }
  .c-shop__contents { grid-template-columns: minmax(0, 1fr); }
}
.c-shop__buy-btn[disabled] {
  background: color-mix(in oklab, var(--c-accent) 38%, transparent);
  color: var(--c-accent-on);
  cursor: not-allowed;
}
.c-shop__soon {
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink-muted);
  white-space: nowrap;
}
@media (max-width: 68rem) {
  .c-shop__shell { justify-items: center; }
  .c-cover {
    grid-column: content-start / content-end;
    justify-self: center;
    inline-size: min(100%, 20rem);
  }
  .c-cover__plate { transform-origin: center center; }
  .c-shop__detail { text-align: center; }
  .c-shop__eyebrow { justify-content: center; }
  .c-shop__buy { justify-content: center; }
  .c-shop__contents {
    display: grid;
    justify-content: stretch;
  }
  .c-shop__contents li {
    display: flex;
    justify-content: center;
    gap: var(--sp-3);
    text-align: center;
  }
  .c-shop__contents b { flex: none; }
  .c-shop__buy { flex-direction: column; }
  .c-shop__price b { white-space: nowrap; }
}
@media (max-width: 48rem) {
  .c-shop__title { font-size: min(var(--fs-3xl), calc(8.55vw - 5.8px)); }
}
.c-shop__buy { justify-content: center; align-items: center; }
.c-shop__buy-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-3);
}
.c-shop__buy-form .c-shop__soon { margin: 0; text-align: center; }
.c-shop__price {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: var(--sp-2);
}
.c-checkout {
  grid-column: content-start / content-end;
  margin-block-start: var(--sp-7);
  min-inline-size: 0;
  max-inline-size: 100%;
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.55s var(--ease-panel, ease-in-out);
}
.c-checkout[data-open] { grid-template-rows: 1fr; }
.c-checkout__inner {
  overflow: hidden;
  min-block-size: 0;
  min-inline-size: 0;
  background: var(--c-bg-alt);
  border: var(--bw-hair) solid var(--c-line);
  border-radius: 6px;
}
.c-checkout__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
  padding: var(--sp-4) var(--sp-5);
  border-block-end: var(--bw-hair) solid var(--c-line);
}
.c-checkout__title {
  margin: 0;
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  letter-spacing: var(--tr-wide);
  text-transform: uppercase;
  color: var(--c-ink-muted);
}
.c-checkout__title span {
  color: var(--c-ink);
  font-weight: 500;
}
.c-checkout__close {
  display: grid;
  place-items: center;
  inline-size: 2rem;
  block-size: 2rem;
  padding: 0;
  background: none;
  border: var(--bw-hair) solid var(--c-line);
  border-radius: 4px;
  color: var(--c-ink-muted);
  cursor: pointer;
  transition: color var(--dur-fast) var(--ease-out),
              border-color var(--dur-fast) var(--ease-out);
}
.c-checkout__close svg { inline-size: 0.85rem; }
.c-checkout__close:hover { color: var(--c-ink); border-color: var(--c-line-strong); }
.c-checkout__stage {
  padding: var(--sp-5);
  min-block-size: 6rem;
  min-inline-size: 0;
  overflow-x: auto;
}
.c-checkout__wait {
  margin: 0;
  padding: var(--sp-6) 0;
  text-align: center;
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  letter-spacing: var(--tr-normal);
  color: var(--c-ink-muted);
}
@media (prefers-reduced-motion: reduce) {
  .c-checkout { transition: none; }
}
@media (max-width: 44rem) {
  .c-checkout__stage { padding: var(--sp-4) var(--sp-3); }
}
.c-express {
  inline-size: 100%;
  max-inline-size: 22rem;
  margin-block-end: var(--sp-5);
}
.c-express__slot { min-block-size: 2.75rem; }
.c-express__or {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
  margin-block: var(--sp-5) 0;
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  letter-spacing: var(--tr-wide);
  text-transform: uppercase;
  color: var(--c-ink-muted);
  white-space: nowrap;
}
.c-express__or::before,
.c-express__or::after {
  content: "";
  flex: 1;
  block-size: var(--bw-hair);
  background: var(--c-line);
}
@media (max-width: 68rem) {
  .c-express { margin-inline: auto; }
}

/* assets/css/components/site-footer.css */
.c-booking {
  padding-block: var(--section-pad);
  background: var(--c-bg-alt);
  color: var(--c-ink);
}
.c-booking__shell { row-gap: var(--sp-8); }
.c-booking__intro { grid-column: content-start / span 4; }
.c-booking__title {
  font-family: var(--ff-display);
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 0, "WONK" 1;
  font-weight: var(--fw-light);
  font-size: var(--fs-3xl);
  line-height: var(--lh-display);
  letter-spacing: var(--tr-display);
  text-wrap: balance;
}
.c-booking__title em {
  font-style: italic;
  font-variation-settings: "SOFT" 60, "WONK" 1;
  color: var(--c-accent-text);
}
.c-booking__copy {
  margin-block-start: var(--sp-5);
  font-size: var(--fs-sm);
  line-height: var(--lh-body);
  color: var(--c-ink-soft);
  text-wrap: pretty;
}
.c-booking__meta {
  margin-block-start: var(--sp-6);
  display: grid;
  gap: var(--sp-3);
}
.c-booking__meta div {
  display: grid;
  grid-template-columns: 6.5rem minmax(0, 1fr);
  gap: var(--sp-3);
  padding-block: var(--sp-3);
  border-block-start: var(--bw-hair) solid var(--c-line);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
}
.c-booking__meta dt { color: var(--c-ink-muted); }
.c-booking__form {
  grid-column: col 6 / content-end;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-6) var(--sp-5);
}
.c-field { display: grid; gap: var(--sp-3); }
.c-field--wide { grid-column: span 2; }
.c-field label {
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink-muted);
}
.c-field label span { color: var(--c-accent-text); }
.c-field input,
.c-field select,
.c-field textarea {
  inline-size: 100%;
  padding: var(--sp-2) 0;
  border: 0;
  border-block-end: var(--bw-hair) solid var(--c-line-strong);
  border-radius: 0;
  background: none;
  font-family: var(--ff-body);
  font-size: var(--fs-md);
  color: var(--c-ink);
  transition: border-color var(--dur-fast) var(--ease-out);
}
.c-field textarea { resize: vertical; min-block-size: 5rem; line-height: var(--lh-snug); }
.c-field input:focus,
.c-field select:focus,
.c-field textarea:focus {
  outline: none;
  border-block-end-color: var(--c-accent);
}
.c-field input::placeholder,
.c-field textarea::placeholder { color: var(--c-ink-muted); }
.c-field select {
  appearance: none;
  padding-inline-end: var(--sp-6);
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),
                    linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position: right 0.55rem center, right 0.25rem center;
  background-size: 0.35rem 0.35rem;
  background-repeat: no-repeat;
  cursor: pointer;
}
.c-field__error {
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-accent-text);
  min-block-size: 1em;
}
.c-field[data-invalid] input,
.c-field[data-invalid] select,
.c-field[data-invalid] textarea { border-block-end-color: var(--c-accent); }
.c-booking__submit {
  grid-column: span 2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-5);
}
.c-booking__consent {
  flex: 1;
  min-inline-size: 14rem;
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink-muted);
  line-height: 1.6;
}
.c-booking__status {
  grid-column: span 2;
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-sm);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-accent-text);
}
.c-site-footer {
  padding-block: var(--sp-7) var(--sp-6);
  background: var(--slate-950);
  color: var(--stone-300);
  overflow: clip;
}
.c-site-footer__shell { row-gap: var(--sp-8); }
.c-site-footer__cta { grid-column: content-start / span 6; }
.c-site-footer__channel {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-4);
  padding: var(--sp-4) var(--sp-5);
  border: var(--bw-hair) solid color-mix(in oklab, var(--stone-50) 22%, transparent);
  color: var(--stone-50);
  transition: border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);
}
.c-site-footer__channel:hover {
  border-color: var(--c-accent-text);
  background: color-mix(in oklab, var(--stone-50) 5%, transparent);
}
.c-site-footer__channel svg { inline-size: 1.6rem; block-size: auto; color: var(--c-accent-text); flex: none; }
.c-site-footer__channel b {
  display: block;
  font-family: var(--ff-display);
  font-size: var(--fs-lg);
  font-weight: var(--fw-regular);
  letter-spacing: var(--tr-tight);
}
.c-site-footer__channel small {
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--slate-300);
}
.c-site-footer__nav {
  grid-column: col 8 / content-end;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-6);
}
.c-site-footer__col h3 {
  margin-block-end: var(--sp-4);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--slate-300);
}
.c-site-footer__col ul { display: grid; gap: var(--sp-3); }
.c-site-footer__col a {
  font-size: var(--fs-sm);
  color: var(--stone-100);
  transition: color var(--dur-fast) var(--ease-out);
}
.c-site-footer__col a:hover { color: var(--c-accent-text); }
.c-site-footer__mark {
  grid-column: content-start / content-end;
  display: flex;
  align-items: center;
  gap: clamp(var(--sp-4), 2vw, var(--sp-7));
  margin-block-start: var(--sp-8);
  font-family: var(--ff-display);
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 0, "WONK" 1;
  font-weight: var(--fw-light);
  font-size: clamp(2.25rem, 0.6rem + 6.6vw, 7.5rem);
  line-height: 0.9;
  letter-spacing: -0.045em;
  color: color-mix(in oklab, var(--stone-50) 22%, transparent);
  white-space: nowrap;
  user-select: none;
  overflow: hidden;
}
.c-site-footer__eye {
  inline-size: clamp(2.5rem, 1rem + 6vw, 6rem);
  block-size: auto;
  flex: none;
  color: color-mix(in oklab, var(--stone-50) 34%, transparent);
}
.c-site-footer__mark em {
  font-style: italic;
  font-variation-settings: "SOFT" 60, "WONK" 1;
}
.c-site-footer__legal {
  grid-column: content-start / content-end;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
  margin-block-start: var(--sp-6);
  padding-block-start: var(--sp-4);
  border-block-start: var(--bw-hair) solid color-mix(in oklab, var(--stone-50) 16%, transparent);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--slate-300);
}
.c-site-footer__legal a { transition: color var(--dur-fast) var(--ease-out); }
.c-site-footer__legal a:hover { color: var(--stone-50); }
@media (max-width: 68rem) {
  .c-booking__intro { grid-column: content-start / content-end; }
  .c-booking__form  { grid-column: content-start / content-end; }
  .c-site-footer__cta { grid-column: content-start / content-end; }
  .c-site-footer__nav { grid-column: content-start / content-end; }
}
@media (max-width: 40rem) {
  .c-booking__form { grid-template-columns: minmax(0, 1fr); }
  .c-field--wide, .c-booking__submit, .c-booking__status { grid-column: span 1; }
}
.c-mailcard {
  grid-column: col 6 / content-end;
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--sp-5);
  margin-block-start: var(--sp-6);
  padding: var(--sp-5);
  border: var(--bw-hair) solid var(--c-line-strong);
  transition:
    border-color var(--dur-base) var(--ease-out),
    background-color var(--dur-base) var(--ease-out),
    transform var(--dur-base) var(--ease-out);
}
.c-mailcard:hover {
  border-color: var(--c-accent);
  background: color-mix(in oklab, var(--c-accent) 7%, transparent);
  transform: translateY(-0.25rem);
}
.c-mailcard__glyph {
  display: grid;
  place-items: center;
  inline-size: 3rem;
  block-size: 3rem;
  border: var(--bw-hair) solid var(--c-line-strong);
  color: var(--c-accent-text);
}
.c-mailcard__glyph svg { inline-size: 1.25rem; block-size: auto; }
.c-mailcard__text small {
  display: block;
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-ink-muted);
  white-space: nowrap;
}
.c-mailcard__text b {
  display: block;
  margin-block-start: var(--sp-2);
  font-family: var(--ff-display);
  font-size: var(--fs-lg);
  font-weight: var(--fw-regular);
  letter-spacing: var(--tr-tight);
  color: var(--c-ink);
  overflow-wrap: anywhere;
}
.c-mailcard__cue {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-3);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  color: var(--c-accent-text);
  white-space: nowrap;
}
.c-mailcard__cue svg { inline-size: 1.5rem; block-size: auto; transition: transform var(--dur-base) var(--ease-out); }
.c-mailcard:hover .c-mailcard__cue svg { transform: translateX(0.4rem); }
.c-site-footer__socials {
  grid-column: content-start / content-end;
}
.c-site-footer__by {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-3);
  color: var(--slate-300);
  transition: color var(--dur-fast) var(--ease-out);
}
.c-site-footer__by span {
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  letter-spacing: var(--tr-mono);
  text-transform: uppercase;
  white-space: nowrap;
}
.c-site-footer__by img {
  block-size: 1.4rem;
  inline-size: auto;
  opacity: 0.72;
  transition: opacity var(--dur-fast) var(--ease-out);
}
.c-site-footer__by:hover { color: var(--stone-50); }
.c-site-footer__by:hover img { opacity: 1; }
@media (max-width: 56rem) {
  .c-mailcard { grid-column: content-start / content-end; grid-template-columns: 3rem minmax(0, 1fr); row-gap: var(--sp-4); }
  .c-mailcard__cue { grid-column: 1 / -1; }
}
@media (max-width: 68rem) {
  .c-contact__intro { text-align: center; justify-items: center; }
  .c-mailcard { justify-self: stretch; }
  .c-contact__title,
  .c-contact__copy { text-align: center; }
}
@media (max-width: 48rem) {
  .c-site-footer__legal {
    display: grid;
    justify-content: center;
    justify-items: center;
    text-align: center;
    gap: var(--sp-4);
  }
  .c-site-footer__by { justify-content: center; }
}
@media (max-width: 26rem) {
  .c-mailcard__text b,
  .c-mailcard__text small {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

/* assets/css/components/legal.css */
.c-cookie {
  position: fixed;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 60;
  padding: var(--sp-4);
  pointer-events: none;
}
.c-cookie__inner {
  pointer-events: auto;
  max-inline-size: 62rem;
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4) var(--sp-6);
  padding: var(--sp-4) var(--sp-5);
  background: var(--slate-900);
  color: var(--stone-200);
  border: var(--bw-hair) solid var(--slate-700);
  border-radius: 6px;
  box-shadow: 0 18px 40px -24px rgba(0, 0, 0, 0.9);
  animation: aim-cookie-in 0.5s var(--ease-out) both;
}
@keyframes aim-cookie-in {
  from { opacity: 0; transform: translateY(1rem); }
  to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .c-cookie__inner { animation: none; }
}
.c-cookie__text {
  margin: 0;
  flex: 1 1 22rem;
  font-size: var(--fs-sm);
  line-height: 1.6;
  color: var(--stone-300);
  text-wrap: pretty;
}
.c-cookie__text strong { color: var(--stone-50); font-weight: 500; }
.c-cookie__actions {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
  flex-wrap: wrap;
}
.c-cookie__ok { white-space: nowrap; }
.c-cookie__more {
  padding: 0;
  background: none;
  border: 0;
  border-block-end: var(--bw-hair) solid var(--slate-500);
  color: var(--stone-300);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  letter-spacing: var(--tr-wide);
  text-transform: uppercase;
  cursor: pointer;
  transition: color var(--dur-fast) var(--ease-out),
              border-color var(--dur-fast) var(--ease-out);
}
.c-cookie__more:hover { color: var(--luzzu-gold-400); border-color: var(--luzzu-gold-400); }
.c-legal {
  inline-size: min(46rem, calc(100% - 2rem));
  max-block-size: min(80vh, 48rem);
  padding: 0;
  border: var(--bw-hair) solid var(--slate-700);
  border-radius: 8px;
  background: var(--slate-900);
  color: var(--stone-200);
  overflow: hidden;
}
.c-legal::backdrop {
  background: rgba(4, 6, 7, 0.72);
}
.c-legal__inner {
  display: grid;
  grid-template-rows: auto 1fr;
  max-block-size: inherit;
}
.c-legal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
  padding: var(--sp-5) var(--sp-6);
  border-block-end: var(--bw-hair) solid var(--slate-700);
  background: var(--slate-950);
}
.c-legal__title {
  margin: 0;
  font-family: var(--ff-display);
  font-weight: var(--fw-light);
  font-size: var(--fs-xl);
  letter-spacing: var(--tr-display);
  color: var(--stone-50);
}
.c-legal__close {
  display: grid;
  place-items: center;
  inline-size: 2.25rem;
  block-size: 2.25rem;
  padding: 0;
  background: none;
  border: var(--bw-hair) solid var(--slate-700);
  border-radius: 4px;
  color: var(--stone-300);
  cursor: pointer;
}
.c-legal__close svg { inline-size: 0.9rem; }
.c-legal__close:hover { color: var(--stone-50); border-color: var(--slate-500); }
.c-legal__body {
  padding: var(--sp-6);
  overflow-y: auto;
  font-size: var(--fs-sm);
  line-height: 1.75;
  color: var(--stone-300);
}
.c-legal__body p { margin: 0 0 var(--sp-5); max-inline-size: 62ch; text-wrap: pretty; }
.c-legal__body p:last-child { margin-block-end: 0; }
.c-legal__body strong { color: var(--stone-50); font-weight: 500; }
.c-legal__body h3 {
  margin: var(--sp-6) 0 var(--sp-3);
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: 500;
  letter-spacing: var(--tr-wide);
  text-transform: uppercase;
  color: var(--luzzu-gold-400);
}
.c-legal__body a { color: var(--luzzu-blue-500); }
.c-legal__body code {
  font-family: var(--ff-mono);
  font-size: 0.9em;
  color: var(--stone-200);
}
.c-legal__table {
  inline-size: 100%;
  border-collapse: collapse;
  margin: 0 0 var(--sp-5);
}
.c-legal__table th,
.c-legal__table td {
  text-align: start;
  vertical-align: top;
  padding: var(--sp-3) var(--sp-4) var(--sp-3) 0;
  border-block-end: var(--bw-hair) solid var(--slate-800);
}
.c-legal__table th {
  inline-size: 7rem;
  font-family: var(--ff-mono);
  font-size: var(--fs-mono-xs);
  font-weight: 500;
  letter-spacing: var(--tr-normal);
  color: var(--stone-100);
  white-space: nowrap;
}
.c-legal__table tr:last-child th,
.c-legal__table tr:last-child td { border-block-end: 0; }
@media (max-width: 40rem) {
  .c-legal__table th,
  .c-legal__table td { display: block; inline-size: auto; border: 0; padding-block: 0; }
  .c-legal__table th { padding-block-start: var(--sp-4); }
  .c-legal__table td { padding-block-end: var(--sp-3); }
}
.c-site-footer__legal-link {
  padding: 0;
  background: none;
  border: 0;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: color-mix(in oklab, currentColor 40%, transparent);
}
.c-site-footer__legal-link:hover { color: var(--c-accent-text); }
.c-cookie__no {
  white-space: nowrap;
  border-color: var(--slate-500);
  color: var(--stone-200);
}
.c-cookie__no:hover {
  border-color: var(--stone-300);
  background: color-mix(in oklab, var(--stone-50) 8%, transparent);
  color: var(--stone-50);
}

/* assets/css/components/motion.css */
.u-word {
  display: inline-block;
  overflow: hidden;
  padding-block: 0.16em;
  margin-block: -0.16em;
  padding-inline: 0.12em;
  margin-inline: -0.12em;
  vertical-align: bottom;
}
.u-word__in {
  display: inline-block;
  transform: translateY(var(--word-y, 0));
}
.u-punct {
  font-style: normal;
  color: var(--c-ink);
}
@media (prefers-reduced-motion: no-preference) {
  .is-split .u-word__in {
    transition:
      transform var(--dur-slow) var(--ease-out),
      opacity var(--dur-slow) var(--ease-out);
    transition-delay: calc(var(--i, 0) * 48ms);
  }
  .is-split:not(.is-shown) .u-word__in {
    --word-y: 118%;
    opacity: 0;
  }
}
.c-head__title em,
.c-shop__title em,
.c-consult__title em,
.c-contact__title em,
.c-about__title em,
.c-hero__title-line em {
  position: relative;
}
@media (prefers-reduced-motion: no-preference) {
  .c-head__title em::after,
  .c-shop__title em::after,
  .c-consult__title em::after,
  .c-contact__title em::after,
  .c-about__title em::after,
  .c-hero__title-line em::after {
    content: "";
    position: absolute;
    inset-block-end: -0.06em;
    inset-inline: 0;
    block-size: var(--bw-rule);
    background: currentColor;
    opacity: 0.5;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.9s var(--ease-out);
    transition-delay: 0.5s;
  }
  .is-shown em::after { transform: scaleX(1); }
}
@media (prefers-reduced-motion: no-preference) {
  .c-head__index,
  .c-about__eyebrow,
  .c-shop__eyebrow {
    transition:
      letter-spacing 1s var(--ease-out),
      opacity var(--dur-slow) var(--ease-out);
  }
  .is-armed .c-head__index,
  .is-armed .c-about__eyebrow,
  .is-armed .c-shop__eyebrow {
    letter-spacing: calc(var(--tr-mono-wide) + 0.22em);
  }
}
@keyframes bed-parallax {
  from { translate: 0 -6%; }
  to   { translate: 0 6%; }
}
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .c-entry {
      animation: entry-rule linear both;
      animation-timeline: view();
      animation-range: entry 10% entry 70%;
    }
  }
}
@keyframes entry-rule {
  from { opacity: 0.35; translate: 0 1.5rem; }
  to   { opacity: 1; translate: 0 0; }
}
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .c-tours__frame,
    .c-entry__media {
      overflow: clip;
    }
    .c-tours__frame img,
    .c-entry__image {
      block-size: 108%;
      object-fit: cover;
      animation: photo-drift linear both;
      animation-timeline: view();
      animation-range: entry 0% exit 100%;
    }
  }
}
@keyframes photo-drift {
  from { translate: 0 -4%; }
  to   { translate: 0 4%; }
}
@media (max-width: 48rem) {
  .c-head__title,
  .c-shop__title,
  .c-consult__title,
  .c-contact__title,
  .c-about__title {
    line-height: 1.02;
  }
}
@keyframes u-nudge {
  0%, 62%, 100% { transform: translateX(0); }
  20%           { transform: translateX(0.4rem); }
  40%           { transform: translateX(0); }
}
@media (prefers-reduced-motion: no-preference) {
  .c-action svg,
  .c-entry__foot svg {
    animation: u-nudge 2.6s var(--ease-out) infinite;
  }
  .c-entry:nth-child(3n + 2) .c-entry__foot svg { animation-delay: 0.35s; }
  .c-entry:nth-child(3n + 3) .c-entry__foot svg { animation-delay: 0.7s; }
  .c-service__inner .c-action svg { animation-delay: 0.5s; }
  .c-action:hover svg,
  .c-entry__link:hover .c-entry__foot svg,
  .c-entry__link:focus-visible .c-entry__foot svg {
    animation: none;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .is-shown em::after {
    background: linear-gradient(
      90deg,
      currentColor 0%,
      currentColor 34%,
      color-mix(in oklab, currentColor 22%, transparent) 50%,
      currentColor 66%,
      currentColor 100%);
    background-size: 320% 100%;
    animation: u-rule-travel 7s linear 1.6s infinite;
  }
}
@keyframes u-rule-travel {
  from { background-position: 160% 0; }
  to   { background-position: -160% 0; }
}
