/* CLT design system */

/* Tokens (colours, type scale, spacing and radii live in Webflow → Variables → Global Theme) */
:root {
  --font-display: 'Gloock', Georgia, 'Times New Roman', serif;
  --font-display-alt: var(--font-display);
  --font-body: 'Wix Madefor Display', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;
  --font-mono: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  --leading-tight: 0.94;
  --leading-display: 0.96;
  --leading-snug: 1.12;
  --leading-body: 1.55;
  --leading-loose: 1.7;
  --tracking-display: -0.018em;
  --tracking-eyebrow: 0.26em;
  --tracking-allcaps: 0.18em;
  --s-0: 0;
  --pad-section: clamp(3rem, 7vw, 8.5rem);
  --pad-chapter: clamp(4rem, 10vw, 11rem);
  --pad-gutter: clamp(1rem, 4vw, 4rem);
  --carve-rest: inset 0 2px 5px rgb(0 0 0 / 0.55), inset 0 1px 0 rgb(0 0 0 / 0.4), inset 0 -1px 0 rgb(255 244 218 / 0.1);
  --carve-press: inset 0 2px 6px rgb(0 0 0 / 0.6), inset 0 1px 0 rgb(0 0 0 / 0.45), inset 0 -1px 0 rgb(255 244 218 / 0.12);
  --carve-lip: inset 0 -1px 0 rgb(255 244 218 / 0.2);
  --carve-ring: inset 0 0 0 1px color-mix(in srgb, var(--clt-brass-rgb) 18%, transparent);
  --carve-pool: inset 0 -16px 30px -16px color-mix(in srgb, var(--clt-brass-rgb) 28%, transparent);
  --carve-bloom: 0 0 26px color-mix(in srgb, var(--clt-brass-rgb) 16%, transparent);
  --carve-select: inset 0 3px 8px rgb(0 0 0 / 0.66), inset 0 1px 0 rgb(0 0 0 / 0.5), inset 0 -1px 0 rgb(255 244 218 / 0.16);
  --carve-select-ring: inset 0 0 0 1px color-mix(in srgb, var(--clt-brass-rgb) 30%, transparent);
  --carve-ground: linear-gradient(180deg, rgb(0 0 0 / 0.4), rgb(0 0 0 / 0.18));
  --focus-ring: 2px solid var(--clt-brass-200);
  --focus-offset: 3px;
  --dur-instant: 90ms;
  --dur-fast: 220ms;
  --dur-base: 380ms;
  --dur-slow: 700ms;
  --dur-curtain: 1100ms;
  / --ease: cubic-bezier(0.2, 0.8, 0.2, 1);
  --ease-stage: cubic-bezier(0.32, 0.72, 0, 1);
  --ease-velvet: cubic-bezier(0.65, 0, 0.05, 1);
  --shadow-low: inset 0 1px 0 rgb(255 244 218 / 0.08), inset 0 -1px 0 rgb(0 0 0 / 0.42), 0 4px 10px rgb(0 0 0 / 0.32);
  --shadow-raise: inset 0 1px 0 rgb(255 244 218 / 0.1), inset 0 -1px 0 rgb(0 0 0 / 0.52), 0 14px 32px rgb(0 0 0 / 0.42);
  --shadow-deep: inset 0 1px 0 rgb(255 244 218 / 0.12), inset 0 -1px 0 rgb(0 0 0 / 0.62), 0 32px 72px rgb(0 0 0 / 0.56);
  --shadow-press: inset 0 2px 6px rgb(0 0 0 / 0.62), inset 0 -1px 0 rgb(255 244 218 / 0.04);
  --glow-brass: 0 0 22px color-mix(in srgb, var(--clt-brass-rgb) 32%, transparent);
  --glow-brass-strong: 0 0 22px color-mix(in srgb, var(--clt-brass-rgb) 40%, transparent), 0 0 40px color-mix(in srgb, var(--clt-brass-rgb) 14%, transparent);
  --glow-velvet: 0 0 24px color-mix(in srgb, var(--clt-velvet-rgb) 36%, transparent);
  --glow-candle: 0 0 22px color-mix(in srgb, var(--clt-candle-rgb) 36%, transparent);
  --glow-linen: 0 0 22px color-mix(in srgb, var(--clt-linen-rgb) 32%, transparent);
  --glow-letter: 0 0 0.45em color-mix(in srgb, var(--clt-candle-rgb) 56%, transparent), 0 0 1.2em color-mix(in srgb, var(--clt-linen-rgb) 22%, transparent);
  --glow-letter-cool: 0 0 0.5em color-mix(in srgb, var(--clt-smoke-blue-rgb) 48%, transparent), 0 0 1.25em color-mix(in srgb, var(--clt-linen-rgb) 18%, transparent);
  --tex-noise: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22260%22%20height%3D%22260%22%3E%3Cfilter%20id%3D%22n%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%220.92%22%20numOctaves%3D%222%22%20seed%3D%225%22%2F%3E%3CfeColorMatrix%20values%3D%220%200%200%200%200.79%200%200%200%200%200.76%200%200%200%200%200.70%200%200%200%200.08%200%22%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20filter%3D%22url(%23n)%22%2F%3E%3C%2Fsvg%3E');
  --tex-grain: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22160%22%20height%3D%22160%22%3E%3Cfilter%20id%3D%22g%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%221.6%22%20numOctaves%3D%221%22%20seed%3D%229%22%2F%3E%3CfeColorMatrix%20values%3D%220%200%200%200%200.95%200%200%200%200%200.85%200%200%200%200%200.62%200%200%200%200.13%200%22%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20filter%3D%22url(%23g)%22%2F%3E%3C%2Fsvg%3E');
  --tex-weave: repeating-linear-gradient(45deg, color-mix(in srgb, var(--clt-linen-rgb) 2.2%, transparent) 0 1px, transparent 1px 9px), repeating-linear-gradient(-45deg, rgb(0 0 0 / 0.06) 0 1px, transparent 1px 11px);
  --tex-thread: repeating-linear-gradient(180deg, transparent 0 6px, color-mix(in srgb, var(--clt-brass-rgb) 22%, transparent) 6px 7px, transparent 7px 14px);
  --tex-halftone: radial-gradient(circle at center, color-mix(in srgb, var(--clt-brass-rgb) 22%, transparent) 0 1px, transparent 1.4px);
  --z-base: 1;
  --z-raised: 10;
  --z-sticky: 40;
  --z-overlay: 60;
  --z-modal: 80;
  --z-toast: 90;
  --z-nav: 100;
}

@media (prefers-reduced-transparency: reduce) {
  :root {
    --surface-glass: var(--surface);
    --surface-soft: var(--surface);
  }
}

@property --orb {
  syntax: '<number>';
  inherits: false;
  initial-value: 0;
}

@property --ax {
  syntax: '<percentage>';
  inherits: false;
  initial-value: 20%;
}

@property --ay {
  syntax: '<percentage>';
  inherits: false;
  initial-value: 30%;
}

/* Base */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  background: var(--bg-page);
  scroll-behavior: auto;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  min-width: 20rem;
  color: var(--text);
  font-family: var(--font-body);
  font-size: var(--type-body);
  line-height: var(--leading-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
  background: radial-gradient(ellipse 60% 40% at 13% 8%, color-mix(in srgb, var(--clt-candle-rgb) 7%, transparent), transparent 54%), radial-gradient(ellipse 52% 36% at 78% 8%, color-mix(in srgb, var(--clt-velvet-rgb) 34%, transparent), transparent 56%), radial-gradient(ellipse 44% 32% at 88% 22%, color-mix(in srgb, var(--clt-smoke-blue-rgb) 14%, transparent), transparent 60%), radial-gradient(ellipse 40% 30% at 16% 82%, color-mix(in srgb, var(--clt-velvet-rgb) 16%, transparent), transparent 62%), radial-gradient(ellipse 52% 38% at 48% 38%, color-mix(in srgb, var(--clt-linen-rgb) 4%, transparent), transparent 50%), linear-gradient(180deg, var(--clt-pitch) 0%, var(--clt-night) 35%, var(--clt-charcoal) 65%, var(--clt-void) 100%);
}

.clt-atmosphere {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}

.clt-atmosphere::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--tex-noise);
  background-size: 16.25rem 16.25rem;
  opacity: 0.45;
  mix-blend-mode: overlay;
}

.clt-atmosphere::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, transparent 48%, rgb(0 0 0 / 0.58) 100%), linear-gradient(180deg, transparent 0%, rgb(0 0 0 / 0.34) 100%);
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image: var(--tex-noise);
  background-size: 16.25rem 16.25rem;
  opacity: 0.45;
  mix-blend-mode: overlay;
}

body::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(ellipse at center, transparent 48%, rgb(0 0 0 / 0.58) 100%), linear-gradient(180deg, transparent 0%, rgb(0 0 0 / 0.34) 100%);
}

body:has(.clt-atmosphere)::before,
body:has(.clt-atmosphere)::after {
  display: none;
}

a {
  color: inherit;
  text-decoration: none;
  text-decoration-skip-ink: auto;
}

:where(a, button, [role='button']):focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
  border-radius: 0.25rem;
}

button,
input,
textarea,
select {
  font: inherit;
  color: inherit;
}

button {
  background: none;
  border: 0;
  cursor: pointer;
}

img,
svg,
video,
canvas {
  display: block;
  max-width: 100%;
  height: auto;
}

::selection {
  background: var(--clt-brass-400);
  color: #15110d;
}

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

/* Typography */
h1,
h2,
h3,
h4,
.clt-display-heading,
.clt-h1,
.clt-h2,
.clt-h3,
.clt-h4 {
  margin: 0;
  color: var(--clt-linen-200);
  font-family: var(--font-display);
  font-weight: 500;
  letter-spacing: var(--tracking-display);
  text-wrap: balance;
}

h1,
.clt-h1 {
  font-size: var(--type-h1);
  line-height: var(--leading-tight);
}

h2,
.clt-h2 {
  font-size: var(--type-h2);
  line-height: 1;
}

h3,
.clt-h3 {
  font-size: var(--type-h3);
  line-height: var(--leading-snug);
}

h4,
.clt-h4 {
  font-size: var(--type-h4);
  line-height: 1.2;
  letter-spacing: -0.01em;
}

.clt-display {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--type-display);
  line-height: 0.92;
  letter-spacing: -0.022em;
  color: var(--clt-linen-100);
  text-wrap: balance;
}

p {
  margin: 0;
  max-width: 65ch;
  color: var(--text-muted);
  line-height: var(--leading-loose);
  text-wrap: pretty;
}

.clt-lede {
  margin: 0;
  max-width: 56ch;
  color: var(--text-muted);
  font-size: var(--type-lede);
  line-height: 1.55;
  text-wrap: pretty;
}

.clt-eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.95rem;
  text-align: center;
  color: var(--clt-brass-300);
  font-family: var(--font-body);
  font-size: var(--type-eyebrow);
  font-weight: 800;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
}

.clt-eyebrow--center {
  display: flex;
}

.clt-eyebrow--center::before,
.clt-eyebrow--center::after {
  content: '';
  flex: 1;
  height: 1px;
  box-shadow: 0 0 14px color-mix(in srgb, var(--clt-brass-rgb) 36%, transparent);
}

.clt-eyebrow--center::before {
  background: linear-gradient(90deg, transparent, var(--clt-brass-200));
}

.clt-eyebrow--center::after {
  background: linear-gradient(90deg, var(--clt-brass-200), transparent);
}

.clt-eyebrow__bar {
  display: none;
}

.clt-eyebrow::before,
.clt-eyebrow::after {
  content: '';
  flex: 1 1 auto;
  min-width: 1.75rem;
  max-width: 4.75rem;
  height: 0.6rem;
  box-shadow: none;
  clip-path: none;
  background-repeat: no-repeat;
  filter: drop-shadow(0 0 4px color-mix(in srgb, var(--clt-candle-rgb) 50%, transparent));
}

.clt-eyebrow::before {
  background-image: radial-gradient(0.22rem 0.22rem at 100% 50%, var(--clt-candle) 0%, color-mix(in srgb, var(--clt-brass-rgb) 70%, transparent) 42%, transparent 75%), linear-gradient(90deg, transparent, color-mix(in srgb, var(--clt-brass-rgb) 72%, transparent) 96%);
  background-size: 100% 100%, 100% 1px;
  background-position: center, center;
}

.clt-eyebrow::after {
  background-image: radial-gradient(0.22rem 0.22rem at 0% 50%, var(--clt-candle) 0%, color-mix(in srgb, var(--clt-brass-rgb) 70%, transparent) 42%, transparent 75%), linear-gradient(90deg, color-mix(in srgb, var(--clt-brass-rgb) 72%, transparent) 4%, transparent);
  background-size: 100% 100%, 100% 1px;
  background-position: center, center;
}

.clt-text-foil {
  font-style: normal;
  background: linear-gradient(180deg, var(--clt-bone), var(--clt-candle) 46%, var(--clt-brass-400));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 1px 0 rgb(0 0 0 / 0.5));
  text-shadow: 0 1px 0 rgb(255 244 218 / 0.16), 0 -1px 0 rgb(0 0 0 / 0.45);
}

.clt-text-foil.is-cool {
  background: linear-gradient(180deg, var(--clt-bone), color-mix(in srgb, var(--clt-smoke-blue-rgb) 78%, transparent) 50%, var(--clt-slate));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 1px 0 rgb(0 0 0 / 0.5));
}

.clt-text-foil.is-velvet {
  background: linear-gradient(180deg, var(--clt-bone), color-mix(in srgb, var(--clt-velvet-rgb) 88%, var(--clt-candle) 12%));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.clt-text-glow {
  text-shadow: var(--glow-letter);
}

.clt-text-glow-cool {
  text-shadow: var(--glow-letter-cool);
}

.clt-smallcaps {
  font-feature-settings: 'smcp' 1, 'c2sc' 1;
  letter-spacing: var(--tracking-allcaps);
  text-transform: uppercase;
  font-weight: 600;
}

strong,
b {
  color: var(--clt-linen-100);
  font-weight: 600;
}

em,
i {
  font-style: italic;
  color: inherit;
}

small {
  font-size: var(--type-caption);
  color: var(--text-dim);
}

.clt-quote {
  position: relative;
  margin: 0;
  padding: clamp(1.75rem, 3.4vw, 3rem) clamp(1.5rem, 3vw, 2.75rem);
  color: var(--clt-linen-100);
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.5rem, 0.9rem + 2.4vw, 2.6rem);
  line-height: 1.18;
  letter-spacing: -0.012em;
  text-wrap: balance;
}

.clt-quote::before,
.clt-quote::after {
  position: absolute;
  font-family: var(--font-display);
  font-size: 2.4em;
  line-height: 1;
  pointer-events: none;
  background: linear-gradient(180deg, var(--clt-filament), var(--clt-candle) 45%, var(--clt-brass-200));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 0 4px color-mix(in srgb, var(--clt-candle-rgb) 80%, transparent)) drop-shadow(0 0 12px color-mix(in srgb, var(--clt-candle-rgb) 50%, transparent)) drop-shadow(0 0 28px color-mix(in srgb, var(--clt-brass-rgb) 55%, transparent));
  animation: clt-quote-lamp 9s ease-in-out infinite;
}

.clt-quote::before {
  content: '\201C';
  top: -0.02em;
  left: -0.12em;
}

.clt-quote::after {
  content: '\201D';
  right: -0.08em;
  bottom: -0.42em;
  animation-delay: -4.5s;
}

@keyframes clt-quote-lamp {
  0%,
  100% {
    opacity: 0.88;
  }
  38% {
    opacity: 1;
  }
  64% {
    opacity: 0.93;
  }
}

@media (prefers-reduced-motion: reduce) {
  .clt-quote::before,
  .clt-quote::after {
    animation: none;
    opacity: 1;
  }
}

.clt-quote__cite {
  display: block;
  margin-top: 1rem;
  font-family: var(--font-body);
  font-size: var(--type-caption);
  font-weight: 700;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--clt-brass-300);
}

.clt-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.6rem;
}

.clt-list > li {
  position: relative;
  padding-left: 1.5rem;
  color: var(--text-muted);
  line-height: 1.6;
}

.clt-list > li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.78em;
  width: 0.5rem;
  height: 1px;
  background: var(--clt-brass-300);
}

.clt-list--check > li::before {
  content: '';
  top: 0.45em;
  width: 0.7rem;
  height: 0.4rem;
  border-left: 1.5px solid var(--clt-brass-200);
  border-bottom: 1.5px solid var(--clt-brass-200);
  background: none;
  transform: rotate(-45deg);
}

.clt-list--num {
  counter-reset: clt;
}

.clt-list--num > li {
  padding-left: 2.4rem;
  counter-increment: clt;
}

.clt-list--num > li::before {
  content: counter(clt, decimal-leading-zero);
  top: 0;
  width: auto;
  height: auto;
  font-family: var(--font-display);
  font-size: 0.9rem;
  letter-spacing: 0.04em;
  color: var(--clt-brass-300);
  background: none;
}

code,
kbd,
samp {
  font-family: var(--font-mono);
  font-size: 0.88em;
  color: var(--clt-linen-100);
}

code {
  padding: 0.1em 0.4em;
  border-radius: 0.35rem;
  background: color-mix(in srgb, var(--clt-linen-rgb) 4%, transparent);
  border: 1px solid var(--line-soft);
}

kbd {
  padding: 0.15em 0.5em;
  border-radius: 0.4rem;
  background: linear-gradient(180deg, color-mix(in srgb, var(--clt-linen-rgb) 10%, transparent), rgb(0 0 0 / 0.34));
  border: 1px solid var(--line);
  box-shadow: inset 0 -1px 0 rgb(0 0 0 / 0.45), inset 0 1px 0 rgb(255 244 218 / 0.08);
  font-size: 0.78em;
}

.clt-dropcap::first-letter {
  font-family: var(--font-display);
  font-weight: 500;
  float: left;
  font-size: 4.6em;
  line-height: 0.86;
  margin: 0.05em 0.14em 0 0;
  color: var(--clt-brass-200);
  text-shadow: var(--glow-letter);
}

/* Layout */
.clt-page {
  position: relative;
  overflow-x: clip;
}

.clt-wrap,
.clt-container {
  width: min(var(--w-canvas), 100%);
  margin-inline: auto;
  padding-inline: var(--pad-gutter);
}

.clt-wrap--prose {
  max-width: var(--w-prose);
}

.clt-wrap--narrow {
  max-width: var(--w-narrow);
}

.clt-wrap--wide {
  max-width: var(--w-wide);
}

.clt-section {
  position: relative;
  padding-block: var(--pad-section);
  isolation: isolate;
}

.clt-section--tight {
  padding-block: clamp(2rem, 4vw, 4rem);
}

.clt-section--flush {
  padding-block: 0;
}

.clt-section-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.35rem;
  text-align: center;
  margin-bottom: clamp(2.25rem, 6vw, 4.5rem);
}

.clt-section-header__title {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2.1rem, 1.4rem + 3.4vw, 4.4rem);
  line-height: 1.02;
  letter-spacing: -0.015em;
  text-wrap: balance;
  max-width: 18ch;
  margin: 0;
}

.clt-section-header__lede {
  color: var(--text-muted);
  max-width: 60ch;
  font-size: var(--type-body-lg);
}

.clt-chapter {
  position: relative;
  padding-block: var(--pad-chapter);
  isolation: isolate;
}

.clt-chapter__intro {
  display: grid;
  gap: clamp(1rem, 2vw, 1.6rem);
  max-width: 62rem;
}

.clt-chapter--split {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.75rem, 4vw, 3rem);
}

@media (min-width: 47.5rem) {
  .clt-chapter--split {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(2rem, 6vw, 6rem);
    align-items: center;
  }
}

.clt-bento {
  display: grid;
  grid-auto-flow: dense;
  grid-template-columns: 1fr;
  gap: clamp(0.85rem, 1.6vw, 1.35rem);
}

@media (min-width: 47.5rem) {
  .clt-bento {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .clt-bento__wide {
    grid-column: span 6;
  }
  .clt-bento__tall {
    grid-column: span 3;
    grid-row: span 2;
  }
  .clt-bento__half {
    grid-column: span 3;
  }
  .clt-bento__full {
    grid-column: 1 / -1;
  }
}

@media (min-width: 64rem) {
  .clt-bento {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .clt-bento__wide {
    grid-column: span 7;
  }
  .clt-bento__tall {
    grid-column: span 5;
    grid-row: span 2;
  }
  .clt-bento__half {
    grid-column: span 6;
  }
  .clt-bento__full {
    grid-column: 1 / -1;
  }
  .clt-bento__third {
    grid-column: span 4;
  }
  .clt-bento__quarter {
    grid-column: span 3;
  }
}

.clt-bento > * {
  min-width: 0;
}

.clt-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(90deg, transparent, var(--line-brass), transparent);
  border: 0;
  margin: 0;
}

.clt-divider--strong {
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--clt-brass-rgb) 70%, transparent), transparent);
  height: 1px;
  filter: drop-shadow(0 0 6px color-mix(in srgb, var(--clt-brass-rgb) 60%, transparent));
}

.clt-divider--ornament {
  position: relative;
  height: 2rem;
  background: none;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--clt-brass-300);
  font-family: var(--font-display);
  letter-spacing: 0.5em;
}

.clt-divider--ornament::before,
.clt-divider--ornament::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--line-brass), transparent);
  margin-inline: 1rem;
}

.clt-divider--ornament::after {
  background: linear-gradient(90deg, var(--line-brass), transparent);
}

.clt-divider--ornament::before {
  background: linear-gradient(90deg, transparent, var(--line-brass));
}

.clt-page-hero {
  position: relative;
  padding: clamp(4rem, 10vw, 11rem) 0 clamp(2.75rem, 6vw, 6rem);
  text-align: center;
  isolation: isolate;
}

.clt-page-hero::before {
  content: '';
  position: absolute;
  inset: -10% -5% 30% -5%;
  background: radial-gradient(60% 80% at 50% 0%, color-mix(in srgb, var(--clt-brass-rgb) 15%, transparent), transparent 70%), radial-gradient(40% 100% at 50% 50%, color-mix(in srgb, var(--clt-plum-rgb) 40%, transparent), transparent 70%);
  pointer-events: none;
  filter: blur(2px);
  z-index: -1;
}

.clt-page-hero__title {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2.6rem, 1.4rem + 5vw, 6.8rem);
  line-height: 0.95;
  letter-spacing: -0.02em;
  margin: 1.4rem auto 0;
  max-width: 14ch;
  text-wrap: balance;
}

.clt-page-hero__lede {
  margin: 1.4rem auto 0;
  color: var(--text-muted);
  font-size: var(--type-body-lg);
  max-width: 56ch;
}

.clt-section.is-spotlit {
  position: relative;
  isolation: isolate;
}

.clt-section.is-spotlit::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(ellipse 50% 60% at 50% 0%, color-mix(in srgb, var(--clt-candle-rgb) 18%, transparent), transparent 60%), radial-gradient(ellipse 90% 50% at 50% 100%, color-mix(in srgb, var(--clt-velvet-rgb) 28%, transparent), transparent 70%);
  filter: blur(2px);
}

.clt-section.is-curtain {
  position: relative;
  isolation: isolate;
  padding-block-start: calc(var(--pad-section) + 3rem);
}

.clt-section.is-curtain::before,
.clt-section.is-curtain::after {
  content: '';
  position: absolute;
  top: 0;
  width: 18vw;
  height: 8rem;
  z-index: -1;
  pointer-events: none;
}

.clt-section.is-curtain::before {
  left: 0;
  background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--clt-velvet-rgb) 80%, transparent) 0 0.6rem, color-mix(in srgb, var(--clt-velvet-rgb) 60%, transparent) 0.6rem 1.3rem, color-mix(in srgb, var(--clt-plum-rgb) 80%, transparent) 1.3rem 2rem), linear-gradient(180deg, color-mix(in srgb, var(--clt-velvet-rgb) 70%, transparent), transparent);
  mask-image: linear-gradient(180deg, #000 0%, transparent 100%);
  -webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 100%);
}

.clt-section.is-curtain::after {
  right: 0;
  background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--clt-plum-rgb) 80%, transparent) 0 0.6rem, color-mix(in srgb, var(--clt-velvet-rgb) 60%, transparent) 0.6rem 1.3rem, color-mix(in srgb, var(--clt-velvet-rgb) 80%, transparent) 1.3rem 2rem), linear-gradient(180deg, color-mix(in srgb, var(--clt-velvet-rgb) 70%, transparent), transparent);
  mask-image: linear-gradient(180deg, #000 0%, transparent 100%);
  -webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 100%);
}

.clt-section.is-stage {
  position: relative;
  isolation: isolate;
  background: radial-gradient(ellipse 60% 30% at 50% 0%, color-mix(in srgb, var(--clt-candle-rgb) 14%, transparent), transparent 70%), radial-gradient(ellipse 100% 90% at 50% 100%, color-mix(in srgb, var(--clt-velvet-rgb) 18%, transparent), transparent 70%);
}

.clt-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.1rem, 3.5vw, 1.85rem) clamp(1.25rem, 4vw, 2.75rem);
  align-items: start;
}

.clt-meta-cell {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding-top: 0.9rem;
  border-top: 1px solid var(--line-soft);
}

.clt-meta-cell--full {
  grid-column: 1 / -1;
  padding-top: 0;
  border-top: 0;
}

.clt-meta-cell__label {
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--clt-brass-300);
  font-weight: 700;
}

@media (min-width: 30rem) {
  .clt-meta-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 48rem) {
  .clt-meta-grid {
    grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
  }
}

.clt-meta-cell__value {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.05rem, 0.9rem + 0.5vw, 1.28rem);
  color: var(--clt-linen-100);
  line-height: 1.25;
}

/* Buttons and links */
.clt-button {
  --btn-fill-1: color-mix(in srgb, var(--clt-slate-rgb) 78%, transparent);
  --btn-fill-2: color-mix(in srgb, var(--clt-ink-rgb) 92%, transparent);
  --btn-bg-1: var(--btn-fill-1);
  --btn-bg-2: var(--btn-fill-2);
  --btn-text: var(--clt-linen-200);
  --btn-ring: color-mix(in srgb, var(--clt-brass-rgb) 42%, transparent);
  --btn-glow-1: color-mix(in srgb, var(--clt-brass-rgb) 30%, transparent);
  --btn-glow-2: color-mix(in srgb, var(--clt-brass-rgb) 10%, transparent);
  --btn-glow-blur-1: 16px;
  --btn-glow-blur-2: 34px;
  --btn-inner-light: rgb(255 244 218 / 0.1);
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  min-height: 3rem;
  padding: 0 1.375rem;
  border: 1px solid var(--btn-ring);
  border-radius: var(--r-button);
  background: linear-gradient(180deg, var(--btn-bg-1), var(--btn-bg-2));
  color: var(--btn-text);
  font-family: var(--font-body);
  font-size: 0.95rem;
  font-weight: var(--btn-weight, 500);
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
  box-shadow: inset 0 1px 0 var(--btn-inner-light), inset 0 -1px 0 rgb(0 0 0 / 0.42), 0 6px 14px rgb(0 0 0 / 0.3), 0 0 var(--btn-glow-blur-1) var(--btn-glow-1), 0 0 var(--btn-glow-blur-2) var(--btn-glow-2);
  transition: --btn-bg-1 480ms var(--ease-stage), --btn-bg-2 480ms var(--ease-stage), border-color 380ms var(--ease), color 380ms var(--ease), box-shadow 620ms var(--ease-stage), filter 380ms var(--ease), transform 240ms var(--ease);
  -webkit-tap-highlight-color: transparent;
}

.clt-button::before {
  content: '';
  position: absolute;
  inset: 1px;
  z-index: 0;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(ellipse 80% 60% at 50% 0%, rgb(255 244 218 / 0.18), transparent 60%);
  opacity: 0.5;
  transition: opacity 520ms var(--ease-stage);
}

.clt-button > * {
  position: relative;
  z-index: 1;
  transition: text-shadow 560ms var(--ease-stage), color 380ms var(--ease);
}

.clt-button:hover {
  --btn-bg-1: rgb(80 95 110 / 0.92);
  --btn-bg-2: rgb(36 52 68 / 0.96);
  border-color: color-mix(in srgb, var(--clt-linen-rgb) 46%, transparent);
  box-shadow: inset 0 1px 0 rgb(255 248 232 / 0.3), inset 0 -1px 0 rgb(0 0 0 / 0.42), 0 6px 14px rgb(0 0 0 / 0.3), 0 0 22px color-mix(in srgb, var(--clt-linen-rgb) 36%, transparent), 0 0 46px color-mix(in srgb, var(--clt-brass-rgb) 22%, transparent);
  color: var(--clt-brass-50);
}

.clt-button:hover::before {
  opacity: 1;
}

.clt-button:hover > * {
  text-shadow: 0 0 0.06em rgb(255 244 218 / 0.75);
}

.clt-button:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
}

.clt-button.is-primary {
  --btn-fill-1: var(--clt-brass-200);
  --btn-fill-2: var(--clt-brass-300);
  --btn-text: var(--clt-brass-ink);
  --btn-ring: rgb(245 227 192 / 0.62);
  --btn-glow-1: color-mix(in srgb, var(--clt-brass-rgb) 42%, transparent);
  --btn-glow-2: color-mix(in srgb, var(--clt-brass-rgb) 16%, transparent);
  --btn-inner-light: rgb(255 244 218 / 0.36);
  --btn-weight: 700;
  letter-spacing: 0.01em;
}

.clt-button.is-primary:hover {
  --btn-bg-1: var(--clt-brass-50);
  --btn-bg-2: var(--clt-brass-200);
  border-color: var(--clt-brass-50);
  box-shadow: inset 0 1px 0 rgb(255 248 232 / 0.6), inset 0 -1px 0 rgb(0 0 0 / 0.36), 0 6px 14px rgb(0 0 0 / 0.3), 0 0 18px color-mix(in srgb, var(--clt-brass-rgb) 46%, transparent), 0 0 40px color-mix(in srgb, var(--clt-candle-rgb) 16%, transparent);
  color: var(--clt-brass-ink);
}

.clt-button.is-primary:hover > * {
  text-shadow: 0 1px 0 rgb(255 248 232 / 0.45);
}

.clt-button.is-linen {
  --btn-fill-1: var(--clt-linen-100);
  --btn-fill-2: var(--clt-linen-300);
  --btn-text: var(--clt-brass-ink);
  --btn-ring: color-mix(in srgb, var(--clt-linen-rgb) 78%, transparent);
  --btn-glow-1: color-mix(in srgb, var(--clt-linen-rgb) 30%, transparent);
  --btn-glow-2: color-mix(in srgb, var(--clt-brass-rgb) 12%, transparent);
  --btn-inner-light: rgb(255 255 255 / 0.55);
}

.clt-button.is-linen:hover {
  --btn-bg-1: var(--clt-filament);
  --btn-bg-2: var(--clt-linen-200);
  border-color: color-mix(in srgb, var(--clt-brass-200) 80%, transparent);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.72), inset 0 -1px 0 rgb(0 0 0 / 0.32), 0 6px 14px rgb(0 0 0 / 0.3), 0 0 18px color-mix(in srgb, var(--clt-brass-rgb) 36%, transparent), 0 0 40px color-mix(in srgb, var(--clt-candle-rgb) 12%, transparent);
  color: var(--clt-brass-ink);
}

.clt-button.is-linen:hover > * {
  text-shadow: 0 1px 0 rgb(255 255 255 / 0.55);
}

.clt-button.is-ghost {
  --btn-fill-1: rgb(255 244 218 / 0.04);
  --btn-fill-2: rgb(0 0 0 / 0.28);
  --btn-text: var(--clt-linen-200);
  --btn-ring: color-mix(in srgb, var(--clt-linen-rgb) 18%, transparent);
  --btn-glow-1: color-mix(in srgb, var(--clt-brass-rgb) 16%, transparent);
  --btn-glow-2: transparent;
  --btn-inner-light: rgb(255 244 218 / 0.06);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.clt-button.is-ghost:hover {
  --btn-bg-1: rgb(255 244 218 / 0.085);
  --btn-bg-2: color-mix(in srgb, var(--clt-plum-rgb) 42%, transparent);
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 36%, transparent);
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.12), inset 0 -1px 0 rgb(0 0 0 / 0.42), 0 6px 14px rgb(0 0 0 / 0.3), 0 0 22px color-mix(in srgb, var(--clt-brass-rgb) 20%, transparent), 0 0 46px color-mix(in srgb, var(--clt-candle-rgb) 8%, transparent);
  color: var(--clt-brass-100);
}

.clt-button.is-velvet {
  --btn-fill-1: color-mix(in srgb, var(--clt-velvet) 76%, var(--clt-plum) 24%);
  --btn-fill-2: color-mix(in srgb, var(--clt-velvet) 54%, var(--clt-void) 46%);
  --btn-text: var(--clt-linen-100);
  --btn-ring: color-mix(in srgb, var(--clt-candle-rgb) 42%, transparent);
  --btn-glow-1: color-mix(in srgb, var(--clt-velvet-rgb) 52%, transparent);
  --btn-glow-2: color-mix(in srgb, var(--clt-candle-rgb) 13%, transparent);
  --btn-inner-light: rgb(255 244 218 / 0.12);
}

.clt-button.is-velvet:hover {
  --btn-bg-1: color-mix(in srgb, var(--clt-velvet) 88%, var(--clt-candle) 12%);
  --btn-bg-2: color-mix(in srgb, var(--clt-velvet) 64%, var(--clt-void) 36%);
  border-color: color-mix(in srgb, var(--clt-candle-rgb) 64%, transparent);
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.18), inset 0 -1px 0 rgb(0 0 0 / 0.42), 0 6px 14px rgb(0 0 0 / 0.3), 0 0 22px color-mix(in srgb, var(--clt-velvet-rgb) 58%, transparent), 0 0 46px color-mix(in srgb, var(--clt-candle-rgb) 18%, transparent);
  color: var(--clt-brass-50);
}

.clt-button.is-velvet:hover > * {
  text-shadow: var(--glow-letter);
}

.clt-button.is-smoke {
  --btn-fill-1: color-mix(in srgb, var(--clt-smoke-blue-rgb) 76%, transparent);
  --btn-fill-2: color-mix(in srgb, var(--clt-ink-rgb) 92%, transparent);
  --btn-text: var(--clt-linen-100);
  --btn-ring: color-mix(in srgb, var(--clt-smoke-blue-rgb) 58%, transparent);
  --btn-glow-1: color-mix(in srgb, var(--clt-smoke-blue-rgb) 34%, transparent);
  --btn-glow-2: color-mix(in srgb, var(--clt-candle-rgb) 10%, transparent);
  --btn-inner-light: rgb(255 244 218 / 0.14);
}

.clt-button.is-smoke:hover {
  --btn-bg-1: color-mix(in srgb, var(--clt-smoke-blue-rgb) 88%, transparent);
  --btn-bg-2: color-mix(in srgb, var(--clt-ink-rgb) 94%, transparent);
  border-color: color-mix(in srgb, var(--clt-linen-rgb) 42%, transparent);
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.18), inset 0 -1px 0 rgb(0 0 0 / 0.42), 0 6px 14px rgb(0 0 0 / 0.3), 0 0 22px color-mix(in srgb, var(--clt-smoke-blue-rgb) 44%, transparent), 0 0 46px color-mix(in srgb, var(--clt-candle-rgb) 12%, transparent);
  color: var(--clt-filament);
}

.clt-button.is-smoke:hover > * {
  text-shadow: var(--glow-letter-cool);
}

.clt-button:active,
.clt-button:active:hover,
.clt-button[data-state='pressed'],
.clt-button[data-state='pressed']:hover,
.clt-button[aria-pressed='true'],
.clt-button[aria-pressed='true']:hover {
  transform: translateY(1.5px) scale(0.985);
  --btn-bg-1: var(--btn-fill-2);
  --btn-bg-2: var(--btn-fill-1);
  box-shadow: inset 0 3px 9px rgb(0 0 0 / 0.62), inset 0 1px 0 rgb(0 0 0 / 0.5), inset 0 -1px 0 rgb(255 244 218 / 0.14), 0 0 0 1px color-mix(in srgb, var(--clt-brass-rgb) 24%, transparent), 0 1px 3px rgb(0 0 0 / 0.42);
  filter: brightness(0.8) saturate(0.92);
  transition-duration: var(--dur-instant);
}

.clt-button:active::before,
.clt-button[data-state='pressed']::before,
.clt-button[aria-pressed='true']::before {
  opacity: 0;
  transition-duration: var(--dur-instant);
}

.clt-button:active > *,
.clt-button:active:hover > *,
.clt-button[data-state='pressed'] > *,
.clt-button[data-state='pressed']:hover > *,
.clt-button[aria-pressed='true'] > *,
.clt-button[aria-pressed='true']:hover > * {
  color: var(--clt-candle);
  text-shadow: 0 0 0.4em color-mix(in srgb, var(--clt-candle-rgb) 70%, transparent), 0 0 1em color-mix(in srgb, var(--clt-brass-rgb) 45%, transparent);
  transition-duration: var(--dur-instant);
}

.clt-button.is-primary:active,
.clt-button.is-linen:active,
.clt-button.is-primary[data-state='pressed'],
.clt-button.is-linen[data-state='pressed'],
.clt-button.is-primary[aria-pressed='true'],
.clt-button.is-linen[aria-pressed='true'],
.clt-button.is-primary[aria-pressed='true']:hover,
.clt-button.is-linen[aria-pressed='true']:hover {
  color: var(--clt-brass-ink);
  filter: brightness(0.9) saturate(0.95);
}

.clt-button.is-primary:active > *,
.clt-button.is-linen:active > *,
.clt-button.is-primary[data-state='pressed'] > *,
.clt-button.is-linen[data-state='pressed'] > *,
.clt-button.is-primary[aria-pressed='true'] > *,
.clt-button.is-linen[aria-pressed='true'] > *,
.clt-button.is-primary[aria-pressed='true']:hover > *,
.clt-button.is-linen[aria-pressed='true']:hover > * {
  color: var(--clt-brass-ink);
  text-shadow: 0 1px 0 rgb(255 248 232 / 0.3);
  transition-duration: var(--dur-instant);
}

.clt-button.is-velvet:active,
.clt-button.is-velvet[data-state='pressed'],
.clt-button.is-velvet[aria-pressed='true'] {
  --btn-bg-1: color-mix(in srgb, var(--clt-velvet) 60%, var(--clt-void) 40%);
  --btn-bg-2: color-mix(in srgb, var(--clt-velvet) 44%, var(--clt-void) 56%);
  border-color: color-mix(in srgb, var(--clt-candle-rgb) 28%, transparent);
}

.clt-button[disabled],
.clt-button[aria-disabled='true'] {
  --btn-fill-1: #44423f;
  --btn-fill-2: #2c2b29;
  --btn-text: color-mix(in srgb, var(--clt-linen-rgb) 42%, transparent);
  --btn-ring: color-mix(in srgb, var(--clt-linen-rgb) 10%, transparent);
  --btn-glow-1: transparent;
  --btn-glow-2: transparent;
  --btn-inner-light: rgb(255 244 218 / 0.04);
  pointer-events: none;
  filter: saturate(0.4);
}

.clt-button[disabled],
.clt-button[disabled]:hover,
.clt-button[aria-disabled='true'],
.clt-button[aria-disabled='true']:hover {
  background: linear-gradient(180deg, #44423f, #2c2b29);
  border-color: color-mix(in srgb, var(--clt-linen-rgb) 10%, transparent);
  color: color-mix(in srgb, var(--clt-linen-rgb) 42%, transparent);
  transform: none;
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.04), 0 1px 2px rgb(0 0 0 / 0.3);
}

.clt-button[disabled] > *,
.clt-button[aria-disabled='true'] > * {
  text-shadow: none;
}

.clt-button.is-small {
  min-height: 2.375rem;
  padding-inline: 1rem;
  font-size: 0.85rem;
  gap: 0.5rem;
}

.clt-button.is-medium {
  min-height: 3rem;
  padding-inline: 1.375rem;
}

.clt-button.is-large {
  min-height: 3.625rem;
  padding-inline: 1.875rem;
  font-size: 1rem;
  gap: 0.75rem;
  min-width: 12.5rem;
}

.clt-button.is-xl {
  min-height: 4.25rem;
  padding-inline: 2.25rem;
  font-size: 1.05rem;
  gap: 0.875rem;
  min-width: 14rem;
  letter-spacing: 0.02em;
}

.clt-button.is-block {
  width: 100%;
}

.clt-icon-button {
  --btn-fill-1: rgb(255 244 218 / 0.05);
  --btn-fill-2: rgb(0 0 0 / 0.3);
  --btn-text: var(--clt-linen-200);
  --btn-ring: color-mix(in srgb, var(--clt-linen-rgb) 18%, transparent);
  --btn-bg-1: var(--btn-fill-1);
  --btn-bg-2: var(--btn-fill-2);
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 2.625rem;
  height: 2.625rem;
  border-radius: var(--r-button);
  border: 1px solid var(--btn-ring);
  background: linear-gradient(180deg, var(--btn-bg-1), var(--btn-bg-2));
  color: var(--btn-text);
  cursor: pointer;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.08), inset 0 -1px 0 rgb(0 0 0 / 0.4), 0 6px 14px rgb(0 0 0 / 0.3);
  transition: --btn-bg-1 var(--dur-fast) var(--ease), --btn-bg-2 var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}

.clt-icon-button:hover {
  --btn-bg-1: rgb(255 244 218 / 0.09);
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 50%, transparent);
  color: var(--clt-brass-100);
}

.clt-icon-button:active {
  transform: translateY(1px) scale(0.97);
  box-shadow: inset 0 2px 6px rgb(0 0 0 / 0.55), inset 0 -1px 0 rgb(255 244 218 / 0.1);
  transition-duration: var(--dur-instant);
}

.clt-icon-button[disabled],
.clt-icon-button[aria-disabled='true'] {
  opacity: 0.45;
  pointer-events: none;
}

.clt-icon-button:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
}

.clt-icon-button > svg {
  width: 1.05rem;
  height: 1.05rem;
}

.clt-link {
  --lx: 50%;
  --ly: 120%;
  --lit: 0;
  --near: 0;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.42rem 0.45rem 0.42rem 0.95rem;
  border-radius: var(--r-pill);
  border: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 20%, transparent);
  background: var(--carve-ground);
  color: var(--clt-brass-100);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.88rem;
  letter-spacing: 0.01em;
  box-shadow: var(--carve-rest);
  transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), background var(--dur-base) var(--ease-stage), box-shadow 520ms var(--ease-stage);
}

.clt-link::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(3.2rem 2.4rem at var(--lx) var(--ly), color-mix(in srgb, var(--clt-candle-rgb) 30%, transparent) 0%, color-mix(in srgb, var(--clt-brass-rgb) 18%, transparent) 42%, transparent 74%);
  opacity: var(--lit);
  transition: opacity 360ms var(--ease-stage);
}

.clt-link:hover,
.clt-link:focus-visible {
  color: var(--clt-bone);
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 46%, transparent);
  background: radial-gradient(ellipse 120% 90% at 50% 112%, color-mix(in srgb, var(--clt-brass-rgb) 26%, transparent), transparent 72%), linear-gradient(180deg, rgb(0 0 0 / 0.36), rgb(0 0 0 / 0.14));
  box-shadow: var(--carve-rest), var(--carve-lip), var(--carve-pool), var(--carve-bloom);
}

.clt-link__arrow {
  display: grid;
  place-items: center;
  width: 1.55rem;
  height: 1.55rem;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 32%, transparent);
  background: radial-gradient(circle at 50% 130%, color-mix(in srgb, var(--clt-brass-rgb) 22%, transparent), transparent 62%), linear-gradient(180deg, rgb(0 0 0 / 0.42), rgb(0 0 0 / 0.2));
  box-shadow: inset 0 2px 6px rgb(0 0 0 / 0.55), inset 0 -1px 0 rgb(255 244 218 / 0.1), 0 0 8px color-mix(in srgb, var(--clt-brass-rgb) 10%, transparent);
  color: var(--clt-brass-100);
  font-size: 0.9rem;
  line-height: 1;
  filter: brightness(calc(1 + var(--near) * 0.5));
  transition: transform var(--dur-base) var(--ease-stage), filter 240ms var(--ease), background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), box-shadow var(--dur-base) var(--ease), color var(--dur-fast) var(--ease);
}

.clt-link:hover .clt-link__arrow,
.clt-link:focus-visible .clt-link__arrow {
  transform: translateX(3px);
  border-color: color-mix(in srgb, var(--clt-candle-rgb) 50%, var(--clt-brass));
  background: radial-gradient(circle at 50% 126%, color-mix(in srgb, var(--clt-candle-rgb) 34%, transparent), transparent 64%), linear-gradient(180deg, rgb(0 0 0 / 0.34), rgb(0 0 0 / 0.14));
  box-shadow: inset 0 2px 6px rgb(0 0 0 / 0.5), inset 0 -1px 0 rgb(255 244 218 / 0.22), inset 0 0 14px color-mix(in srgb, var(--clt-candle-rgb) 18%, transparent), 0 0 16px color-mix(in srgb, var(--clt-brass-rgb) 38%, transparent);
  color: var(--clt-candle);
}

.clt-link.is-inline {
  overflow: visible;
  align-items: baseline;
  gap: 0.4rem;
  padding: 0 0 0.28rem;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  font-size: 0.94rem;
  transition: color var(--dur-fast) var(--ease);
}

.clt-link.is-inline::before {
  inset: auto 0 0 0;
  height: 1px;
  background: color-mix(in srgb, var(--clt-brass-rgb) 34%, transparent);
  opacity: 1;
}

.clt-link.is-inline::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--clt-brass-rgb) 85%, transparent) 0%, color-mix(in srgb, var(--clt-candle-rgb) 95%, transparent) 55%, color-mix(in srgb, var(--clt-brass-rgb) 70%, transparent) 100%);
  box-shadow: 0 0 8px color-mix(in srgb, var(--clt-brass-rgb) 55%, transparent), 0 0 20px color-mix(in srgb, var(--clt-candle-rgb) 26%, transparent);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 420ms var(--ease-stage);
}

.clt-link.is-inline:hover,
.clt-link.is-inline:focus-visible {
  background: none;
  box-shadow: none;
  border-color: transparent;
  color: var(--clt-bone);
}

.clt-link.is-inline:hover::after,
.clt-link.is-inline:focus-visible::after {
  transform: scaleX(1);
}

.clt-link.is-inline:focus-visible {
  border-radius: 2px;
  outline-offset: 4px;
}

.clt-link.is-inline .clt-link__arrow {
  display: inline-block;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  filter: none;
  color: var(--clt-brass-200);
  font-size: 0.95rem;
  transition: transform 320ms var(--ease-stage), color var(--dur-fast) var(--ease), text-shadow 320ms var(--ease);
}

.clt-link.is-inline:hover .clt-link__arrow,
.clt-link.is-inline:focus-visible .clt-link__arrow {
  transform: translateX(4px);
  background: none;
  box-shadow: none;
  color: var(--clt-candle);
  text-shadow: 0 0 10px color-mix(in srgb, var(--clt-candle-rgb) 60%, transparent), 0 0 24px color-mix(in srgb, var(--clt-brass-rgb) 30%, transparent);
}

@media (prefers-reduced-motion: reduce) {
  .clt-link.is-inline::after {
    transform: scaleX(1);
    opacity: 0;
    transition: opacity var(--dur-base) var(--ease);
  }
  .clt-link.is-inline:hover::after,
  .clt-link.is-inline:focus-visible::after {
    opacity: 1;
  }
  .clt-link .clt-link__arrow {
    transition: filter 240ms var(--ease), color var(--dur-fast) var(--ease);
  }
  .clt-link:hover .clt-link__arrow,
  .clt-link:focus-visible .clt-link__arrow,
  .clt-link.is-inline:hover .clt-link__arrow,
  .clt-link.is-inline:focus-visible .clt-link__arrow {
    transform: none;
  }
}

.clt-button__icon {
  width: 1.05em;
  height: 1.05em;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
  opacity: 0.9;
}

.clt-button__arrow {
  display: inline-block;
  font-size: 1.2em;
  line-height: 1;
  font-weight: 900;
  -webkit-text-stroke: 0.045em currentColor;
  transform: translateY(-1px);
  transition: transform 480ms var(--ease-stage), text-shadow 560ms var(--ease-stage);
}

.clt-button:hover .clt-button__arrow {
  transform: translate(4px, -1px);
  text-shadow: 0 0 10px color-mix(in srgb, var(--clt-candle-rgb) 55%, transparent), 0 0 22px color-mix(in srgb, var(--clt-brass-rgb) 28%, transparent);
}

.clt-button.is-primary:hover .clt-button__arrow,
.clt-button.is-linen:hover .clt-button__arrow {
  text-shadow: 0 1px 0 rgb(255 248 232 / 0.45);
}

.clt-button__arrow.is-clef {
  width: 1.3em;
  height: 1.3em;
  -webkit-text-stroke: 0;
  transform: none;
  overflow: visible;
}

.clt-button__arrow.is-clef svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: filter 560ms var(--ease-stage);
}

.clt-button:hover .clt-button__arrow.is-clef {
  transform: none;
  text-shadow: none;
}

.clt-button:hover .clt-button__arrow.is-clef svg {
  filter: drop-shadow(0 0 3px color-mix(in srgb, var(--clt-candle-rgb) 60%, transparent)) drop-shadow(0 0 8px color-mix(in srgb, var(--clt-brass-rgb) 30%, transparent));
}

.clt-button.is-primary:hover .clt-button__arrow.is-clef svg,
.clt-button.is-linen:hover .clt-button__arrow.is-clef svg {
  filter: drop-shadow(0 0.5px 0 rgb(255 248 232 / 0.6));
}

.clt-button__arrow.is-clef .clt-clef__arrow,
.clt-button__arrow.is-clef .clt-clef__clef {
  stroke-dasharray: 1;
  transition: stroke-dashoffset 420ms var(--ease-stage), opacity 200ms var(--ease);
}

.clt-button__arrow.is-clef .clt-clef__arrow {
  stroke-dashoffset: 0;
  transition-delay: 260ms, 260ms;
}

.clt-button__arrow.is-clef .clt-clef__clef {
  stroke-dashoffset: 1;
  opacity: 0;
  stroke-width: 1.7;
  transition-duration: 520ms, 200ms;
}

.clt-button:hover .clt-button__arrow.is-clef:not(.is-morph) .clt-clef__arrow,
.clt-button:focus-visible .clt-button__arrow.is-clef:not(.is-morph) .clt-clef__arrow {
  stroke-dashoffset: -1;
  opacity: 0;
  transition-delay: 0s, 200ms;
}

.clt-button:hover .clt-button__arrow.is-clef:not(.is-morph) .clt-clef__clef,
.clt-button:focus-visible .clt-button__arrow.is-clef:not(.is-morph) .clt-clef__clef {
  stroke-dashoffset: 0;
  opacity: 1;
  transition-delay: 180ms, 180ms;
}

.clt-button__arrow.is-clef.is-morph .clt-clef__arrow {
  stroke-dasharray: none;
  opacity: 1;
  transition: none;
}

.clt-button__arrow.is-clef.is-morph .clt-clef__clef {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .clt-button__arrow.is-clef .clt-clef__arrow,
  .clt-button__arrow.is-clef .clt-clef__clef {
    transition-duration: 0s !important;
    transition-delay: 0s !important;
  }
}

.clt-button.is-loading {
  pointer-events: none;
  color: transparent;
  animation: clt-btn-pulse 2.4s ease-in-out infinite;
}

.clt-button.is-loading .clt-button__text,
.clt-button.is-loading .clt-button__arrow,
.clt-button.is-loading .clt-button__icon {
  visibility: hidden;
}

.clt-button.is-loading::after {
  content: '';
  position: absolute;
  inset: 0;
  margin: auto;
  width: 1.125rem;
  height: 1.125rem;
  border: 1.6px solid var(--btn-text);
  border-top-color: transparent;
  border-radius: 50%;
  animation: clt-btn-spin 0.7s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
  .clt-button.is-loading::after {
    animation-duration: 1.6s !important;
    animation-iteration-count: infinite !important;
  }
}

@keyframes clt-btn-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes clt-btn-pulse {
  50% {
    box-shadow: inset 0 1px 0 var(--btn-inner-light), inset 0 -1px 0 rgb(0 0 0 / 0.42), 0 6px 14px rgb(0 0 0 / 0.3), 0 0 30px var(--btn-glow-1), 0 0 70px var(--btn-glow-2);
  }
}

.clt-button-group {
  display: inline-flex;
  padding: 0.25rem;
  gap: 0.25rem;
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  background: var(--surface-soft);
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.06);
}

.clt-button-group .clt-button {
  background: transparent;
  border-color: transparent;
  min-height: 2.25rem;
  padding-inline: 1rem;
  font-size: 0.84rem;
  box-shadow: none;
  color: var(--text-muted);
}

.clt-button-group .clt-button[aria-pressed='true'] {
  background: linear-gradient(180deg, color-mix(in srgb, var(--clt-brass-rgb) 18%, transparent), color-mix(in srgb, var(--clt-velvet-rgb) 22%, transparent));
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 36%, transparent);
  color: var(--clt-linen-100);
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.1), 0 0 18px color-mix(in srgb, var(--clt-brass-rgb) 16%, transparent);
  transform: none;
  filter: none;
}

.clt-button-group .clt-button[aria-pressed='true'] > * {
  color: inherit;
  text-shadow: none;
}

/* Forms */
.clt-field {
  display: grid;
  gap: 0.45rem;
}

.clt-field__label {
  color: var(--text-muted);
  font-size: 0.86rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.clt-field__hint {
  color: var(--text-faint);
  font-size: 0.78rem;
  letter-spacing: 0.02em;
}

.clt-field__error-text,
.clt-field__error {
  display: none;
  color: #e8a4ad;
  font-size: 0.78rem;
  letter-spacing: 0.02em;
}

.clt-field input,
.clt-field textarea,
.clt-field select,
.clt-input,
.clt-select,
.clt-textarea {
  width: 100%;
  min-height: 3rem;
  border: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 18%, var(--line));
  border-radius: var(--r-field);
  color: var(--text-bright);
  background: radial-gradient(ellipse 120% 60% at 50% 100%, color-mix(in srgb, var(--clt-brass-rgb) 4%, transparent), transparent 70%), linear-gradient(180deg, rgb(0 0 0 / 0.42), rgb(0 0 0 / 0.18));
  padding: 0.85rem 1rem;
  font-family: var(--font-body);
  font-size: 1rem;
  letter-spacing: 0.005em;
  outline: none;
  box-shadow: inset 0 1px 2px rgb(0 0 0 / 0.55), inset 0 -1px 0 color-mix(in srgb, var(--clt-brass-rgb) 14%, transparent), 0 1px 0 rgb(255 244 218 / 0.025);
  transition: border-color var(--dur-fast) var(--ease), background var(--dur-base) var(--ease), box-shadow var(--dur-base) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur-instant) var(--ease);
}

.clt-field input::placeholder,
.clt-textarea::placeholder,
.clt-input::placeholder {
  color: var(--text-faint);
  font-style: italic;
  letter-spacing: 0.01em;
}

.clt-textarea {
  min-height: 8rem;
  resize: vertical;
  line-height: 1.6;
}

.clt-field input:hover,
.clt-input:hover,
.clt-select:hover,
.clt-textarea:hover {
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 42%, transparent);
  background: radial-gradient(ellipse 120% 70% at 50% 100%, color-mix(in srgb, var(--clt-brass-rgb) 7%, transparent), transparent 70%), radial-gradient(ellipse 60% 100% at 50% 0%, color-mix(in srgb, var(--clt-candle-rgb) 4%, transparent), transparent 60%), linear-gradient(180deg, rgb(0 0 0 / 0.38), rgb(0 0 0 / 0.14));
  box-shadow: inset 0 1px 2px rgb(0 0 0 / 0.5), inset 0 -1px 0 color-mix(in srgb, var(--clt-brass-rgb) 28%, transparent), 0 0 16px color-mix(in srgb, var(--clt-brass-rgb) 10%, transparent);
}

.clt-field input:focus,
.clt-field textarea:focus,
.clt-field select:focus,
.clt-input:focus,
.clt-select:focus,
.clt-textarea:focus {
  border-color: var(--clt-brass-200);
  background: radial-gradient(ellipse 80% 140% at 14% 0%, color-mix(in srgb, var(--clt-candle-rgb) 12%, transparent), transparent 60%), radial-gradient(ellipse 120% 80% at 50% 100%, color-mix(in srgb, var(--clt-brass-rgb) 14%, transparent), transparent 70%), linear-gradient(180deg, rgb(0 0 0 / 0.32), rgb(0 0 0 / 0.08));
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.18), inset 0 2px 6px color-mix(in srgb, var(--clt-candle-rgb) 8%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--clt-brass-rgb) 42%, transparent), 0 0 0 2px color-mix(in srgb, var(--clt-brass-rgb) 30%, transparent), 0 0 14px color-mix(in srgb, var(--clt-brass-rgb) 40%, transparent), 0 0 26px color-mix(in srgb, var(--clt-candle-rgb) 20%, transparent), 0 0 40px color-mix(in srgb, var(--clt-candle-rgb) 9%, transparent);
  animation: clt-field-glow 4.8s ease-in-out infinite;
}

@keyframes clt-field-glow {
  0%,
  100% {
    box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.18), inset 0 2px 6px color-mix(in srgb, var(--clt-candle-rgb) 8%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--clt-brass-rgb) 42%, transparent), 0 0 0 2px color-mix(in srgb, var(--clt-brass-rgb) 30%, transparent), 0 0 14px color-mix(in srgb, var(--clt-brass-rgb) 40%, transparent), 0 0 26px color-mix(in srgb, var(--clt-candle-rgb) 20%, transparent), 0 0 40px color-mix(in srgb, var(--clt-candle-rgb) 9%, transparent);
  }
  50% {
    box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.22), inset 0 2px 8px color-mix(in srgb, var(--clt-candle-rgb) 11%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--clt-brass-rgb) 52%, transparent), 0 0 0 2px color-mix(in srgb, var(--clt-brass-rgb) 36%, transparent), 0 0 18px color-mix(in srgb, var(--clt-brass-rgb) 46%, transparent), 0 0 30px color-mix(in srgb, var(--clt-candle-rgb) 24%, transparent), 0 0 46px color-mix(in srgb, var(--clt-candle-rgb) 11%, transparent);
  }
}

@media (prefers-reduced-motion: reduce) {
  .clt-input:focus,
  .clt-select:focus,
  .clt-textarea:focus {
    animation: none;
  }
}

.clt-field.is-error .clt-input,
.clt-field.is-error .clt-select,
.clt-field.is-error .clt-textarea,
.clt-field[data-state='error'] .clt-input,
.clt-field[data-state='error'] .clt-select,
.clt-field[data-state='error'] .clt-textarea {
  border-color: color-mix(in srgb, var(--clt-velvet-rgb) 90%, transparent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--clt-velvet-rgb) 18%, transparent), inset 0 1px 0 rgb(0 0 0 / 0.35);
}

.clt-field.is-error .clt-field__error-text,
.clt-field[data-state='error'] .clt-field__error,
.clt-field[data-state='error'] .clt-field__error-text {
  display: block;
}

.clt-input[disabled],
.clt-select[disabled],
.clt-textarea[disabled] {
  filter: saturate(0.4) brightness(0.86);
  cursor: not-allowed;
}

.clt-select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none' stroke='%23f4ebd6' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M3.5 5.5l3.5 3.5 3.5-3.5'/></svg>"), radial-gradient(ellipse 50% 100% at 100% 50%, color-mix(in srgb, var(--clt-brass-rgb) 38%, transparent), transparent 70%), radial-gradient(ellipse 120% 60% at 50% 100%, color-mix(in srgb, var(--clt-brass-rgb) 4%, transparent), transparent 70%), linear-gradient(180deg, rgb(0 0 0 / 0.42), rgb(0 0 0 / 0.18));
  background-repeat: no-repeat;
  background-position: right 1.1rem center, right -1rem center, 0 0, 0 0;
  background-size: 0.875rem 0.875rem, 4rem 100%, auto, auto;
  padding-right: 3rem;
  cursor: pointer;
}

.clt-select:hover {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none' stroke='%23fff4dc' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3.5 5.5l3.5 3.5 3.5-3.5'/></svg>"), radial-gradient(ellipse 50% 100% at 100% 50%, color-mix(in srgb, var(--clt-brass-rgb) 55%, transparent), transparent 70%), radial-gradient(ellipse 120% 70% at 50% 100%, color-mix(in srgb, var(--clt-brass-rgb) 7%, transparent), transparent 70%), radial-gradient(ellipse 60% 100% at 50% 0%, color-mix(in srgb, var(--clt-candle-rgb) 4%, transparent), transparent 60%), linear-gradient(180deg, rgb(0 0 0 / 0.38), rgb(0 0 0 / 0.14));
  background-repeat: no-repeat;
  background-position: right 1.1rem center, right -1rem center, 0 0, 0 0, 0 0;
  background-size: 0.875rem 0.875rem, 4rem 100%, auto, auto, auto;
}

.clt-select:focus {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none' stroke='%23fff4dc' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3.5 5.5l3.5 3.5 3.5-3.5'/></svg>"), radial-gradient(ellipse 50% 100% at 100% 50%, color-mix(in srgb, var(--clt-brass-rgb) 62%, transparent), transparent 70%), radial-gradient(ellipse 80% 140% at 14% 0%, color-mix(in srgb, var(--clt-candle-rgb) 12%, transparent), transparent 60%), radial-gradient(ellipse 120% 80% at 50% 100%, color-mix(in srgb, var(--clt-brass-rgb) 14%, transparent), transparent 70%), linear-gradient(180deg, rgb(0 0 0 / 0.32), rgb(0 0 0 / 0.08));
  background-repeat: no-repeat;
  background-position: right 1.1rem center, right -1rem center, 0 0, 0 0, 0 0;
  background-size: 0.875rem 0.875rem, 4rem 100%, auto, auto, auto;
}

.clt-select option {
  background: var(--clt-night);
  color: var(--clt-linen-200);
  padding: 0.5rem;
}

.clt-search {
  position: relative;
  display: flex;
  align-items: center;
}

.clt-search > svg,
.clt-search > .clt-search__icon {
  position: absolute;
  left: 0.95rem;
  width: 1.05rem;
  height: 1.05rem;
  color: var(--clt-brass-300);
  pointer-events: none;
}

.clt-search .clt-input {
  padding-left: 2.625rem;
}

.clt-check {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.625rem;
  cursor: pointer;
  user-select: none;
  font-size: 0.92rem;
  line-height: 1.45;
  color: var(--text);
}

.clt-check > input {
  appearance: none;
  -webkit-appearance: none;
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
  margin: 0.2rem 0 0 0;
  border: 1px solid var(--line-strong);
  border-radius: 0.3rem;
  background: rgb(0 0 0 / 0.4);
  box-shadow: inset 0 1px 0 rgb(0 0 0 / 0.45);
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), box-shadow var(--dur-base) var(--ease);
}

.clt-check > input[type='radio'] {
  border-radius: 50%;
}

.clt-check > input:checked {
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 60%, transparent);
  background: radial-gradient(circle at 30% 30%, var(--clt-brass-100), var(--clt-brass-400));
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.3), 0 0 14px color-mix(in srgb, var(--clt-brass-rgb) 38%, transparent);
}

.clt-check > input[type='checkbox']:checked::after {
  content: '';
  width: 0.5rem;
  height: 0.28rem;
  border-left: 1.7px solid #1c130b;
  border-bottom: 1.7px solid #1c130b;
  transform: rotate(-45deg) translate(1px, -1px);
}

.clt-check > input[type='radio']:checked::after {
  content: '';
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: #1c130b;
}

.clt-check > input:focus-visible {
  outline: 2px solid var(--clt-brass-200);
  outline-offset: 3px;
}

.clt-switch {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  cursor: pointer;
  user-select: none;
  font-size: 0.92rem;
  color: var(--text);
}

.clt-switch > input {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  width: 2.5rem;
  height: 1.5rem;
  flex-shrink: 0;
  margin: 0;
  border-radius: 999px;
  border: 1px solid var(--line-strong);
  background: linear-gradient(180deg, rgb(0 0 0 / 0.45), rgb(0 0 0 / 0.18));
  box-shadow: inset 0 1px 0 rgb(0 0 0 / 0.55), inset 0 -1px 0 rgb(255 244 218 / 0.05);
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), box-shadow var(--dur-base) var(--ease);
}

.clt-switch > input::after {
  content: '';
  position: absolute;
  inset: 2px auto 2px 2px;
  width: 1.125rem;
  border-radius: 50%;
  background: linear-gradient(180deg, #f6e8c8, #b89564);
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.6), inset 0 1px 0 rgb(255 244 218 / 0.6), inset 0 -1px 0 rgb(0 0 0 / 0.3);
  transition: left var(--dur-fast) var(--ease), inset-inline-start var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}

.clt-switch > input:checked {
  background: radial-gradient(ellipse 100% 100% at 100% 50%, color-mix(in srgb, var(--clt-candle-rgb) 24%, transparent), transparent 70%), linear-gradient(90deg, color-mix(in srgb, var(--clt-brass-rgb) 26%, transparent), color-mix(in srgb, var(--clt-brass-rgb) 56%, transparent));
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 56%, transparent);
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.16), 0 0 16px color-mix(in srgb, var(--clt-brass-rgb) 32%, transparent);
}

.clt-switch > input:checked::after {
  inset: 2px 2px 2px auto;
  transform: translateX(0);
}

.clt-switch > input:focus-visible {
  outline: 2px solid var(--clt-brass-200);
  outline-offset: 3px;
}

.clt-form {
  gap: 1.1rem;
}

.clt-form-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.9rem;
}

@media (min-width: 36rem) {
  .clt-form-row {
    grid-template-columns: 1fr 1fr;
  }
}

.clt-form-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.1rem;
  margin-top: 0.6rem;
  flex-wrap: wrap;
}

.clt-form-note {
  color: var(--text-dim);
  font-size: 0.84rem;
  max-width: 36ch;
  margin: 0;
}

.clt-form-success {
  display: none;
  padding: 0.9rem 1.1rem;
  border-radius: 0.875rem;
  background: color-mix(in srgb, var(--clt-brass-rgb) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 30%, transparent);
  color: var(--clt-brass-100);
  font-size: 0.92rem;
}

.clt-form.is-sent .clt-form-success {
  display: block;
}

.clt-form.is-sent .clt-form-row,
.clt-form.is-sent .clt-field,
.clt-form.is-sent .clt-form-foot {
  opacity: 0.4;
  pointer-events: none;
}

/* Badges, tags and avatars */
.clt-badge {
  --badge-fill: color-mix(in srgb, var(--clt-linen-rgb) 4.5%, transparent);
  --badge-text: var(--text-muted);
  --badge-ring: var(--line);
  --badge-glow: transparent;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  height: 1.75rem;
  padding: 0 0.72rem;
  border: 1px solid var(--badge-ring);
  border-radius: var(--r-pill);
  background: var(--badge-fill);
  color: var(--badge-text);
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 0 18px var(--badge-glow);
}

.clt-badge.is-brass {
  --badge-fill: linear-gradient(180deg, var(--clt-brass-200), var(--clt-brass-400));
  --badge-text: var(--clt-brass-ink);
  --badge-ring: rgb(245 227 192 / 0.6);
  --badge-glow: color-mix(in srgb, var(--clt-brass-rgb) 28%, transparent);
}

.clt-badge.is-linen {
  --badge-fill: linear-gradient(180deg, var(--clt-linen-100), var(--clt-linen-300));
  --badge-text: var(--clt-brass-ink);
  --badge-ring: color-mix(in srgb, var(--clt-linen-rgb) 78%, transparent);
}

.clt-badge.is-velvet {
  --badge-fill: color-mix(in srgb, var(--clt-velvet-rgb) 55%, transparent);
  --badge-text: #f1d8de;
  --badge-ring: color-mix(in srgb, var(--clt-velvet-rgb) 88%, transparent);
}

.clt-badge.is-smoke {
  --badge-fill: color-mix(in srgb, var(--clt-smoke-blue-rgb) 18%, transparent);
  --badge-text: #cfddec;
  --badge-ring: color-mix(in srgb, var(--clt-smoke-blue-rgb) 46%, transparent);
}

.clt-badge.is-candle {
  --badge-fill: color-mix(in srgb, var(--clt-candle-rgb) 16%, transparent);
  --badge-text: var(--clt-candle);
  --badge-ring: color-mix(in srgb, var(--clt-candle-rgb) 42%, transparent);
  --badge-glow: color-mix(in srgb, var(--clt-candle-rgb) 24%, transparent);
}

.clt-badge.is-status::before,
.clt-badge.is-status-cool::before {
  content: '';
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background: var(--clt-brass-200);
  box-shadow: 0 0 10px color-mix(in srgb, var(--clt-brass-rgb) 70%, transparent);
}

.clt-badge.is-status-cool::before {
  background: var(--clt-smoke-blue);
  box-shadow: 0 0 10px color-mix(in srgb, var(--clt-smoke-blue-rgb) 70%, transparent);
}

.clt-badge.is-status-warn::before {
  background: var(--clt-candle);
  box-shadow: 0 0 10px color-mix(in srgb, var(--clt-candle-rgb) 70%, transparent);
}

.clt-badge.is-live::before {
  content: '';
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 50%;
  background: var(--clt-velvet);
  box-shadow: 0 0 0 0 color-mix(in srgb, var(--clt-velvet-rgb) 80%, transparent);
  animation: clt-pulse 1.6s var(--ease) infinite;
}

@keyframes clt-pulse {
  0% {
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--clt-velvet-rgb) 90%, transparent);
  }
  70% {
    box-shadow: 0 0 0 8px transparent;
  }
  100% {
    box-shadow: 0 0 0 0 transparent;
  }
}

.clt-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  height: 1.5rem;
  padding: 0 0.6rem;
  border: 1px solid var(--line);
  border-radius: var(--r-tag);
  background: var(--surface-soft);
  color: var(--text-muted);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
  transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
}

.clt-tag:hover {
  color: var(--clt-linen-100);
  border-color: var(--line-strong);
}

.clt-avatar {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: linear-gradient(205deg, rgb(255 244 218 / 0.14) 0%, rgb(255 244 218 / 0.02) 40%, transparent 68%), linear-gradient(180deg, color-mix(in srgb, var(--clt-charcoal) 72%, transparent), color-mix(in srgb, var(--clt-void) 76%, transparent));
  -webkit-backdrop-filter: blur(9px) saturate(1.25);
  backdrop-filter: blur(9px) saturate(1.25);
  color: var(--clt-linen-100);
  font-family: var(--font-display);
  font-size: 0.92rem;
  letter-spacing: 0.01em;
  border: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 38%, transparent);
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.26), inset 0 -1px 0 rgb(0 0 0 / 0.5), inset 0 -6px 12px color-mix(in srgb, var(--clt-brass-rgb) 12%, transparent), 0 2px 8px rgb(0 0 0 / 0.4), 0 0 14px color-mix(in srgb, var(--clt-brass-rgb) 16%, transparent);
  overflow: hidden;
  transition: border-color 380ms var(--ease), box-shadow 480ms var(--ease-stage), transform 280ms var(--ease);
}

.clt-avatar:hover {
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 68%, transparent);
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.38), inset 0 -1px 0 rgb(0 0 0 / 0.5), inset 0 -8px 16px color-mix(in srgb, var(--clt-brass-rgb) 20%, transparent), 0 0 22px color-mix(in srgb, var(--clt-brass-rgb) 40%, transparent), 0 0 44px color-mix(in srgb, var(--clt-brass-rgb) 16%, transparent);
}

.clt-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.clt-avatar.is-sm {
  width: 1.75rem;
  height: 1.75rem;
  font-size: 0.72rem;
}

.clt-avatar.is-lg {
  width: 3.25rem;
  height: 3.25rem;
  font-size: 1.1rem;
}

.clt-avatar.is-xl {
  width: 4.25rem;
  height: 4.25rem;
  font-size: 1.4rem;
}

.clt-avatar.is-brass {
  background: linear-gradient(180deg, var(--clt-brass-100), var(--clt-brass-400));
  color: var(--clt-brass-ink);
  border-color: rgb(245 227 192 / 0.7);
  box-shadow: inset 0 1px 0 rgb(255 248 232 / 0.5), inset 0 -1px 0 rgb(0 0 0 / 0.32), 0 0 20px color-mix(in srgb, var(--clt-brass-rgb) 32%, transparent);
}

.clt-avatar[data-status] {
  overflow: visible;
}

.clt-avatar[data-status]::after {
  content: '';
  position: absolute;
  bottom: -0.1rem;
  right: -0.1rem;
  width: 0.72rem;
  height: 0.72rem;
  border-radius: 50%;
  background: var(--clt-brass-200);
  box-shadow: 0 0 0 2px var(--clt-void), 0 0 10px color-mix(in srgb, var(--clt-brass-rgb) 70%, transparent);
}

.clt-avatar[data-status='seated']::after {
  background: var(--clt-candle);
  box-shadow: 0 0 0 2px var(--clt-void), 0 0 10px color-mix(in srgb, var(--clt-candle-rgb) 70%, transparent);
}

.clt-avatar[data-status='away']::after {
  background: var(--clt-smoke-blue);
  box-shadow: 0 0 0 2px var(--clt-void), 0 0 10px color-mix(in srgb, var(--clt-smoke-blue-rgb) 70%, transparent);
}

.clt-avatar[data-status='curtain']::after {
  background: var(--clt-velvet);
  box-shadow: 0 0 0 2px var(--clt-void), 0 0 10px color-mix(in srgb, var(--clt-velvet-rgb) 80%, transparent);
}

.clt-avatar.is-sm[data-status]::after {
  width: 0.55rem;
  height: 0.55rem;
}

.clt-avatar.is-lg[data-status]::after {
  width: 0.85rem;
  height: 0.85rem;
}

.clt-avatar.is-xl[data-status]::after {
  width: 1rem;
  height: 1rem;
}

.clt-avatar-stack {
  display: inline-flex;
}

.clt-avatar-stack > .clt-avatar + .clt-avatar {
  margin-left: -0.625rem;
}

.clt-avatar-stack > .clt-avatar {
  transition: transform 280ms var(--ease), margin-left 280ms var(--ease);
}

.clt-avatar-stack:hover > .clt-avatar {
  margin-left: -0.3rem;
}

.clt-avatar-stack:hover > .clt-avatar:first-child {
  margin-left: 0;
}

/* Panels and cards */
.clt-panel {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  background: var(--tex-noise), linear-gradient(180deg, color-mix(in srgb, var(--clt-linen-rgb) 5.5%, transparent), color-mix(in srgb, var(--clt-linen-rgb) 2.5%, transparent)), color-mix(in srgb, var(--clt-night) 76%, var(--clt-plum) 24%);
  background-size: 15rem 15rem, auto, auto;
  background-blend-mode: overlay, normal, normal;
  box-shadow: var(--shadow-raise);
  color: var(--text);
  isolation: isolate;
}

.clt-panel::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(9rem 9rem at var(--mx) var(--my), color-mix(in srgb, var(--clt-candle-rgb) calc(18% * var(--orb)), transparent), transparent 62%), radial-gradient(ellipse 80% 60% at 50% -10%, rgb(255 244 218 / 0.06), transparent 60%);
}

.clt-panel::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse 80% 50% at 50% 110%, rgb(0 0 0 / 0.45), transparent 60%);
  mix-blend-mode: multiply;
  opacity: 0.6;
}

.clt-panel > * {
  position: relative;
  z-index: 1;
}

.clt-panel-body {
  padding: clamp(1.25rem, 2vw, 2rem);
}

.clt-panel-body--snug {
  padding: clamp(1rem, 1.6vw, 1.5rem);
}

.clt-panel-body--loose {
  padding: clamp(1.5rem, 3vw, 3rem);
}

.clt-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: clamp(1rem, 1.6vw, 1.4rem) clamp(1.25rem, 2vw, 2rem);
  border-bottom: 1px solid var(--line-soft);
}

.clt-panel-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  padding: clamp(0.85rem, 1.4vw, 1.2rem) clamp(1.25rem, 2vw, 2rem);
  border-top: 1px solid var(--line-soft);
  background: rgb(0 0 0 / 0.18);
}

.clt-panel-title {
  font-family: var(--font-display);
  font-size: clamp(1.1rem, 0.95rem + 0.6vw, 1.4rem);
  color: var(--clt-linen-100);
  margin: 0;
  letter-spacing: -0.012em;
}

.clt-panel-eyebrow {
  font-size: var(--type-eyebrow);
  font-weight: 700;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--clt-brass-300);
  margin: 0 0 0.45rem 0;
}

.clt-panel.is-velvet,
.clt-panel.is-brass,
.clt-panel.is-smoke,
.clt-panel.is-candle,
.clt-panel.is-plum,
.clt-panel.is-ink {
  position: relative;
  overflow: hidden;
}

.clt-panel.is-velvet {
  border-color: color-mix(in srgb, var(--clt-velvet-rgb) 52%, transparent);
  background: radial-gradient(ellipse 90% 80% at 18% 0%, color-mix(in srgb, var(--clt-candle-rgb) 14%, transparent), transparent 64%), radial-gradient(ellipse 100% 90% at 90% 110%, color-mix(in srgb, var(--clt-velvet-rgb) 50%, transparent), transparent 68%), linear-gradient(155deg, color-mix(in srgb, var(--clt-velvet-rgb) 48%, transparent), color-mix(in srgb, var(--clt-plum-rgb) 30%, transparent)), var(--surface);
  box-shadow: var(--shadow-raise), 0 0 46px color-mix(in srgb, var(--clt-velvet-rgb) 18%, transparent);
}

.clt-panel.is-brass {
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 52%, transparent);
  background: radial-gradient(ellipse 80% 70% at 100% 0%, color-mix(in srgb, var(--clt-candle-rgb) 18%, transparent), transparent 68%), radial-gradient(ellipse 90% 70% at 0% 100%, color-mix(in srgb, var(--clt-brass-rgb) 22%, transparent), transparent 70%), linear-gradient(155deg, color-mix(in srgb, var(--clt-brass-rgb) 22%, transparent), color-mix(in srgb, var(--clt-ink-rgb) 18%, transparent)), var(--surface);
  box-shadow: var(--shadow-raise), 0 0 42px color-mix(in srgb, var(--clt-brass-rgb) 22%, transparent);
}

.clt-panel.is-smoke {
  border-color: color-mix(in srgb, var(--clt-smoke-blue-rgb) 38%, transparent);
  background: radial-gradient(ellipse 80% 75% at 86% 16%, color-mix(in srgb, var(--clt-smoke-blue-rgb) 22%, transparent), transparent 66%), radial-gradient(ellipse 100% 80% at 0% 100%, color-mix(in srgb, var(--clt-ink-rgb) 40%, transparent), transparent 70%), linear-gradient(155deg, color-mix(in srgb, var(--clt-ink-rgb) 35%, transparent), color-mix(in srgb, var(--clt-plum-rgb) 18%, transparent)), var(--surface);
  box-shadow: var(--shadow-raise), 0 0 42px color-mix(in srgb, var(--clt-smoke-blue-rgb) 16%, transparent);
}

.clt-panel.is-candle {
  border-color: color-mix(in srgb, var(--clt-candle-rgb) 38%, transparent);
  background: radial-gradient(ellipse 80% 70% at 50% 0%, color-mix(in srgb, var(--clt-candle-rgb) 30%, transparent), transparent 64%), radial-gradient(ellipse 70% 60% at 50% 100%, color-mix(in srgb, var(--clt-brass-rgb) 30%, transparent), transparent 64%), var(--surface);
  box-shadow: var(--shadow-raise), 0 0 36px color-mix(in srgb, var(--clt-candle-rgb) 18%, transparent);
}

.clt-panel.is-plum {
  border-color: color-mix(in srgb, var(--clt-plum-rgb) 80%, transparent);
  background: radial-gradient(ellipse 90% 100% at 12% 0%, color-mix(in srgb, var(--clt-velvet-rgb) 28%, transparent), transparent 64%), linear-gradient(165deg, color-mix(in srgb, var(--clt-plum-rgb) 76%, transparent), color-mix(in srgb, var(--clt-void) 80%, transparent)), var(--surface);
}

.clt-panel.is-ink {
  border-color: color-mix(in srgb, var(--clt-ink-rgb) 76%, transparent);
  background: radial-gradient(ellipse 80% 100% at 90% 10%, color-mix(in srgb, var(--clt-smoke-blue-rgb) 18%, transparent), transparent 68%), linear-gradient(165deg, color-mix(in srgb, var(--clt-ink-rgb) 72%, transparent), color-mix(in srgb, var(--clt-void) 80%, transparent)), var(--surface);
}

.clt-panel.is-paper {
  color: #211a12;
  border-color: color-mix(in srgb, var(--clt-linen-rgb) 34%, transparent);
  background: var(--tex-halftone) 0 0 / 0.5rem 0.5rem, var(--tex-noise), linear-gradient(145deg, color-mix(in srgb, var(--clt-bone-rgb) 95%, transparent), color-mix(in srgb, var(--clt-linen-rgb) 82%, transparent));
  background-blend-mode: multiply, overlay, normal;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.28), 0 18px 44px rgb(0 0 0 / 0.32);
}

.clt-panel.is-paper :is(h1, h2, h3, strong, p, span, small, a) {
  color: inherit;
}

.clt-panel.is-paper p {
  color: rgb(33 26 18 / 0.78);
}

.clt-panel.is-paper .clt-eyebrow {
  color: var(--clt-brass-500);
}

.clt-panel.is-glass {
  border-color: color-mix(in srgb, var(--clt-linen-rgb) 18%, transparent);
  background: radial-gradient(ellipse 90% 90% at 20% 0%, color-mix(in srgb, var(--clt-linen-rgb) 10%, transparent), transparent 72%), color-mix(in srgb, var(--clt-linen-rgb) 4.5%, transparent);
  -webkit-backdrop-filter: blur(20px) saturate(1.2);
  backdrop-filter: blur(20px) saturate(1.2);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.12), inset 0 -1px 0 rgb(0 0 0 / 0.34), 0 24px 64px rgb(0 0 0 / 0.34);
}

.clt-panel.is-carved {
  background: linear-gradient(180deg, rgb(0 0 0 / 0.34), rgb(0 0 0 / 0.18)), var(--surface);
  border-color: color-mix(in srgb, var(--clt-linen-rgb) 6%, transparent);
  box-shadow: inset 0 2px 8px rgb(0 0 0 / 0.6), inset 0 -1px 0 rgb(255 244 218 / 0.04);
}

.clt-panel.is-carved::before {
  display: none;
}

.clt-panel.is-frame {
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 60%, transparent);
  background: radial-gradient(ellipse 90% 70% at 50% 0%, color-mix(in srgb, var(--clt-candle-rgb) 8%, transparent), transparent 64%), linear-gradient(160deg, color-mix(in srgb, var(--clt-plum-rgb) 50%, transparent), color-mix(in srgb, var(--clt-void) 80%, transparent)), var(--surface);
}

.clt-panel.is-frame::before {
  content: '';
  position: absolute;
  inset: 0.5rem;
  border: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 36%, transparent);
  border-radius: calc(var(--r-card) - 0.45rem);
  pointer-events: none;
  background: transparent;
}

.clt-panel.is-frame > .clt-panel-body {
  padding: clamp(1.6rem, 2.6vw, 2.4rem);
}

.clt-panel.is-interactive {
  cursor: pointer;
  transition: transform var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease), box-shadow var(--dur-base) var(--ease);
}

.clt-panel.is-interactive:hover {
  transform: translateY(-2px);
  border-color: var(--line-strong);
  box-shadow: var(--shadow-deep);
}

.clt-panel.is-interactive:focus-within {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
}

.clt-card {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: clamp(1.25rem, 2vw, 1.75rem);
  border-radius: var(--r-card);
  border: 1px solid var(--line);
  background: var(--tex-noise), linear-gradient(180deg, color-mix(in srgb, var(--clt-linen-rgb) 5%, transparent), color-mix(in srgb, var(--clt-linen-rgb) 2%, transparent)), color-mix(in srgb, var(--clt-night) 78%, var(--clt-plum) 22%);
  background-size: 15rem 15rem, auto, auto;
  background-blend-mode: overlay, normal, normal;
  box-shadow: var(--shadow-raise);
  transition: transform var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease), box-shadow var(--dur-base) var(--ease);
}

.clt-card.is-hover:hover,
a.clt-card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 38%, transparent);
  box-shadow: var(--shadow-deep), 0 0 32px color-mix(in srgb, var(--clt-brass-rgb) 14%, transparent);
}

.clt-card__media {
  position: relative;
  aspect-ratio: 4 / 3;
  margin: calc(clamp(1.25rem, 2vw, 1.75rem) * -1) calc(clamp(1.25rem, 2vw, 1.75rem) * -1) 0;
  border-radius: calc(var(--r-card) - 1px) calc(var(--r-card) - 1px) 0 0;
  overflow: hidden;
  background: radial-gradient(ellipse 80% 80% at 30% 20%, color-mix(in srgb, var(--clt-velvet-rgb) 60%, transparent), transparent 70%), radial-gradient(ellipse 80% 80% at 80% 100%, color-mix(in srgb, var(--clt-brass-rgb) 36%, transparent), transparent 70%), var(--surface-strong);
}

.clt-card__media img,
.clt-card__media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.clt-card__media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgb(0 0 0 / 0.55) 100%);
  pointer-events: none;
}

.clt-card__title {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.3rem, 1.05rem + 1vw, 1.7rem);
  color: var(--clt-linen-100);
  line-height: 1.1;
  letter-spacing: -0.012em;
  text-wrap: balance;
  margin: 0;
}

.clt-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.85rem;
  color: var(--clt-brass-300);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
}

.clt-card__copy {
  color: var(--text-muted);
}

.clt-ticket {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  border-radius: var(--r-card);
  border: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 62%, transparent);
  overflow: hidden;
  background: radial-gradient(ellipse 70% 100% at 0% 50%, color-mix(in srgb, var(--clt-velvet-rgb) 35%, transparent), transparent 70%), linear-gradient(140deg, color-mix(in srgb, var(--clt-plum-rgb) 60%, transparent), color-mix(in srgb, var(--clt-void) 80%, transparent)), var(--surface);
  box-shadow: var(--shadow-deep), 0 0 0 1px color-mix(in srgb, var(--clt-brass-rgb) 34%, transparent), 0 0 36px color-mix(in srgb, var(--clt-brass-rgb) 24%, transparent), inset 0 0 26px color-mix(in srgb, var(--clt-brass-rgb) 9%, transparent);
}

@media (min-width: 36rem) {
  .clt-ticket {
    grid-template-columns: minmax(0, 1.6fr) 1px minmax(0, 1fr);
  }
  .clt-ticket__stub {
    border-left: 0;
    border-top: 0;
  }
}

.clt-ticket__main {
  display: grid;
  gap: 0.85rem;
  padding: clamp(1.4rem, 2.4vw, 2rem);
}

.clt-ticket__perforation {
  position: relative;
  background-image: linear-gradient(180deg, transparent 30%, color-mix(in srgb, var(--clt-linen-rgb) 30%, transparent) 30% 70%, transparent 70%);
  background-size: 1px 0.65rem;
  background-repeat: repeat-y;
  background-position: center;
  filter: drop-shadow(0 0 4px color-mix(in srgb, var(--clt-brass-rgb) 30%, transparent));
}

.clt-ticket__perforation::before,
.clt-ticket__perforation::after {
  content: '';
  position: absolute;
  left: 50%;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  background: var(--clt-void);
  transform: translateX(-50%);
}

.clt-ticket__perforation::before {
  top: -0.6rem;
}

.clt-ticket__perforation::after {
  bottom: -0.6rem;
}

.clt-ticket__stub {
  display: grid;
  align-content: center;
  gap: 0.45rem;
  padding: clamp(1.4rem, 2.4vw, 2rem);
  background: color-mix(in srgb, var(--clt-void) 70%, var(--clt-velvet) 30%);
  text-align: center;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--clt-brass-rgb) 26%, transparent), inset 0 0 30px color-mix(in srgb, var(--clt-candle-rgb) 10%, transparent);
}

.clt-stat {
  position: relative;
  isolation: isolate;
  display: grid;
  gap: 0.5rem;
  align-content: center;
  justify-items: center;
  text-align: center;
  padding: clamp(1.25rem, 2vw, 1.75rem);
  border-radius: var(--r-card);
  border: 1px solid var(--line);
  background: radial-gradient(ellipse 150% 95% at 50% 126%, color-mix(in srgb, var(--clt-brass-rgb) 20%, transparent), transparent 74%), radial-gradient(ellipse 110% 70% at 50% 112%, color-mix(in srgb, var(--clt-candle-rgb) 10%, transparent), transparent 70%), rgb(0 0 0 / 0.3);
  box-shadow: inset 0 2px 6px rgb(0 0 0 / 0.55), inset 0 1px 0 rgb(0 0 0 / 0.4), inset 0 -1px 0 rgb(255 244 218 / 0.12), inset 0 -22px 40px -20px color-mix(in srgb, var(--clt-brass-rgb) 26%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--clt-brass-rgb) 10%, transparent), 0 0 34px color-mix(in srgb, var(--clt-brass-rgb) 10%, transparent);
}

.clt-stat::before {
  content: '';
  position: absolute;
  z-index: -1;
  left: 4%;
  right: 4%;
  bottom: -8%;
  height: 72%;
  border-radius: 50%;
  background: radial-gradient(ellipse 70% 100% at 50% 100%, color-mix(in srgb, var(--clt-candle-rgb) 26%, transparent), transparent 70%), radial-gradient(ellipse 100% 100% at 50% 100%, color-mix(in srgb, var(--clt-brass-rgb) 20%, transparent), transparent 72%);
  filter: blur(18px);
  opacity: 0.85;
  pointer-events: none;
  animation: clt-stat-lamp-pool 11s ease-in-out infinite;
}

.clt-stat::after {
  content: '';
  position: absolute;
  left: 12%;
  right: 12%;
  bottom: -1px;
  height: 1px;
  border-radius: var(--r-pill);
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--clt-brass-rgb) 70%, transparent) 30%, color-mix(in srgb, var(--clt-candle-rgb) 85%, transparent) 50%, color-mix(in srgb, var(--clt-brass-rgb) 70%, transparent) 70%, transparent);
  box-shadow: 0 0 12px color-mix(in srgb, var(--clt-brass-rgb) 48%, transparent), 0 0 34px color-mix(in srgb, var(--clt-candle-rgb) 20%, transparent), 0 0 64px color-mix(in srgb, var(--clt-brass-rgb) 10%, transparent);
  pointer-events: none;
  animation: clt-stat-lamp-line 7.3s ease-in-out infinite;
}

@keyframes clt-stat-lamp-pool {
  0%,
  100% {
    opacity: 0.8;
    filter: blur(18px) brightness(1);
  }
  27% {
    opacity: 0.92;
    filter: blur(20px) brightness(1.06);
  }
  53% {
    opacity: 0.84;
    filter: blur(17px) brightness(0.97);
  }
  76% {
    opacity: 0.95;
    filter: blur(21px) brightness(1.08);
  }
}

@keyframes clt-stat-lamp-line {
  0%,
  100% {
    opacity: 1;
    filter: brightness(1);
  }
  31% {
    opacity: 0.94;
    filter: brightness(0.96);
  }
  58% {
    opacity: 1;
    filter: brightness(1.07);
  }
  81% {
    opacity: 0.97;
    filter: brightness(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .clt-stat::before,
  .clt-stat::after {
    animation: none;
  }
}

.clt-stat__label {
  font-size: var(--type-eyebrow);
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--clt-brass-300);
  font-weight: 700;
}

.clt-stat__value {
  font-family: var(--font-display);
  font-size: clamp(2rem, 1.4rem + 2vw, 3.4rem);
  color: var(--clt-linen-100);
  line-height: 0.95;
  letter-spacing: -0.02em;
}

.clt-stat__sub {
  color: var(--text-muted);
  font-size: 0.92rem;
}

.clt-surface {
  position: relative;
  isolation: isolate;
}

.clt-surface.is-velvet {
  background: radial-gradient(ellipse 80% 60% at 50% 0%, color-mix(in srgb, var(--clt-candle-rgb) 6%, transparent), transparent 60%), radial-gradient(ellipse 90% 70% at 50% 100%, color-mix(in srgb, var(--clt-velvet-rgb) 56%, transparent), transparent 70%), var(--surface);
}

.clt-surface.is-brass {
  background: radial-gradient(ellipse 90% 70% at 90% 0%, color-mix(in srgb, var(--clt-brass-rgb) 26%, transparent), transparent 64%), radial-gradient(ellipse 70% 80% at 10% 100%, color-mix(in srgb, var(--clt-brass-rgb) 16%, transparent), transparent 60%), linear-gradient(180deg, color-mix(in srgb, var(--clt-night) 90%, transparent), color-mix(in srgb, var(--clt-pitch) 96%, transparent));
}

.clt-surface.is-smoke {
  background: radial-gradient(ellipse 80% 80% at 50% 0%, color-mix(in srgb, var(--clt-smoke-blue-rgb) 24%, transparent), transparent 64%), var(--surface);
}

.clt-surface.is-pit {
  background: radial-gradient(ellipse 80% 70% at 50% 100%, color-mix(in srgb, var(--clt-velvet-rgb) 22%, transparent), transparent 64%), var(--surface-pit);
}

.clt-panel.has-corners::after,
.clt-card.has-corners::after,
.clt-surface.has-corners::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, color-mix(in srgb, var(--clt-brass-rgb) 70%, transparent) 0 1.5rem, transparent 1.5rem) top left/auto 1px no-repeat, linear-gradient(180deg, color-mix(in srgb, var(--clt-brass-rgb) 70%, transparent) 0 1.5rem, transparent 1.5rem) top left/1px auto no-repeat, linear-gradient(-90deg, color-mix(in srgb, var(--clt-brass-rgb) 70%, transparent) 0 1.5rem, transparent 1.5rem) top right/auto 1px no-repeat, linear-gradient(180deg, color-mix(in srgb, var(--clt-brass-rgb) 70%, transparent) 0 1.5rem, transparent 1.5rem) top right/1px auto no-repeat, linear-gradient(90deg, color-mix(in srgb, var(--clt-brass-rgb) 70%, transparent) 0 1.5rem, transparent 1.5rem) bottom left/auto 1px no-repeat, linear-gradient(0deg, color-mix(in srgb, var(--clt-brass-rgb) 70%, transparent) 0 1.5rem, transparent 1.5rem) bottom left/1px auto no-repeat, linear-gradient(-90deg, color-mix(in srgb, var(--clt-brass-rgb) 70%, transparent) 0 1.5rem, transparent 1.5rem) bottom right/auto 1px no-repeat, linear-gradient(0deg, color-mix(in srgb, var(--clt-brass-rgb) 70%, transparent) 0 1.5rem, transparent 1.5rem) bottom right/1px auto no-repeat;
  filter: drop-shadow(0 0 6px color-mix(in srgb, var(--clt-brass-rgb) 28%, transparent));
}

.clt-panel {
  --mx: 50%;
  --my: 50%;
  --orb: 0;
  transition: transform 320ms var(--ease), border-color 380ms var(--ease), box-shadow 540ms var(--ease-stage), --orb 360ms var(--ease);
}

@media (prefers-reduced-motion: reduce) {
  .clt-panel {
    transition: none;
  }
}

.clt-panel:not(.is-carved):not(.is-paper):hover {
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 36%, var(--line));
}

.clt-panel.is-foil {
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 56%, transparent);
  background: linear-gradient(115deg, color-mix(in srgb, var(--clt-bone-rgb) 8%, transparent) 0%, color-mix(in srgb, var(--clt-brass-rgb) 26%, transparent) 22%, color-mix(in srgb, var(--clt-candle-rgb) 22%, transparent) 38%, color-mix(in srgb, var(--clt-brass-rgb) 32%, transparent) 54%, color-mix(in srgb, var(--clt-velvet-rgb) 30%, transparent) 78%, color-mix(in srgb, var(--clt-brass-rgb) 24%, transparent) 100%), var(--surface);
  background-size: 320% 100%, auto;
  animation: clt-foil-shift 22s linear infinite;
  box-shadow: var(--shadow-raise), 0 0 38px color-mix(in srgb, var(--clt-brass-rgb) 18%, transparent);
}

@keyframes clt-foil-shift {
  0% {
    background-position: 0 0, 0 0;
  }
  100% {
    background-position: 320% 0, 0 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .clt-panel.is-foil {
    animation: none;
  }
}

.clt-panel.is-spotlit {
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 32%, transparent);
  background: radial-gradient(ellipse 70% 110% at 50% -10%, color-mix(in srgb, var(--clt-candle-rgb) 24%, transparent), transparent 60%), radial-gradient(ellipse 100% 60% at 50% 110%, color-mix(in srgb, var(--clt-velvet-rgb) 50%, transparent), transparent 70%), linear-gradient(180deg, color-mix(in srgb, var(--clt-night) 90%, transparent), color-mix(in srgb, var(--clt-pitch) 96%, transparent));
  box-shadow: var(--shadow-deep), 0 0 60px color-mix(in srgb, var(--clt-candle-rgb) 12%, transparent);
}

.clt-panel.is-noir {
  background: var(--clt-pitch);
  border-color: color-mix(in srgb, var(--clt-linen-rgb) 6%, transparent);
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.08), inset 0 -1px 0 rgb(0 0 0 / 0.6), inset 0 0 80px rgb(0 0 0 / 0.6), 0 14px 32px rgb(0 0 0 / 0.5);
}

.clt-panel.is-noir::before {
  background: radial-gradient(ellipse 60% 40% at 50% 0%, rgb(255 244 218 / 0.05), transparent 70%);
}

.clt-panel.is-lacquer {
  border-color: color-mix(in srgb, var(--clt-velvet-rgb) 70%, transparent);
  background: linear-gradient(180deg, rgb(255 244 218 / 0.16) 0%, rgb(255 244 218 / 0.02) 18%, transparent 32%), radial-gradient(ellipse 100% 70% at 50% 100%, color-mix(in srgb, var(--clt-velvet-rgb) 60%, transparent), transparent 75%), linear-gradient(180deg, color-mix(in srgb, var(--clt-plum-rgb) 80%, transparent), color-mix(in srgb, var(--clt-void) 92%, transparent)), var(--surface);
  box-shadow: var(--shadow-deep), 0 0 48px color-mix(in srgb, var(--clt-velvet-rgb) 24%, transparent);
}

.clt-panel.is-aurora {
  border-color: color-mix(in srgb, var(--clt-smoke-blue-rgb) 38%, transparent);
  background: radial-gradient(ellipse 70% 80% at 50% 50%, color-mix(in srgb, var(--clt-smoke-blue-rgb) 32%, transparent), transparent 60%), radial-gradient(ellipse 60% 70% at 50% 50%, color-mix(in srgb, var(--clt-candle-rgb) 18%, transparent), transparent 60%), linear-gradient(160deg, color-mix(in srgb, var(--clt-ink-rgb) 40%, transparent), color-mix(in srgb, var(--clt-plum-rgb) 22%, transparent)), var(--surface);
  background-size: 200% 200%, 200% 200%, 100% 100%, 100% 100%;
  background-position: 82% 74%, 18% 28%, 0 0, 0 0;
  animation: clt-aurora 26s ease-in-out infinite alternate;
}

@keyframes clt-aurora {
  0% {
    background-position: 82% 74%, 18% 28%, 0 0, 0 0;
  }
  50% {
    background-position: 65% 86%, 30% 14%, 0 0, 0 0;
  }
  100% {
    background-position: 42% 62%, 50% 40%, 0 0, 0 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .clt-panel.is-aurora {
    animation: none;
  }
}

.clt-panel.is-marquee {
  padding: 1.5rem clamp(1.75rem, 4vw, 2.5rem);
  border: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 48%, transparent);
  background: radial-gradient(ellipse 80% 70% at 50% 0%, color-mix(in srgb, var(--clt-candle-rgb) 16%, transparent), transparent 60%), linear-gradient(165deg, color-mix(in srgb, var(--clt-velvet-rgb) 40%, transparent), color-mix(in srgb, var(--clt-plum-rgb) 28%, transparent)), var(--surface);
}

.clt-panel.is-marquee::before,
.clt-panel.is-marquee::after {
  content: '';
  position: absolute;
  inset: 0.55rem;
  border-radius: calc(var(--r-card) - 0.45rem);
  pointer-events: none;
  mix-blend-mode: normal;
  background-image: radial-gradient(circle at 0.35rem 0.35rem, var(--clt-candle) 0.16rem, transparent 0.22rem), radial-gradient(circle at 0.35rem 0.35rem, var(--clt-candle) 0.16rem, transparent 0.22rem), radial-gradient(circle at 0.35rem 0.35rem, var(--clt-candle) 0.16rem, transparent 0.22rem), radial-gradient(circle at 0.35rem 0.35rem, var(--clt-candle) 0.16rem, transparent 0.22rem);
  background-size: 2rem 0.7rem, 2rem 0.7rem, 0.7rem 2rem, 0.7rem 2rem;
  background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
  animation: clt-bulb-on 2.8s ease-in-out infinite;
}

.clt-panel.is-marquee::before {
  background-position: left top, left bottom, left top, right top;
}

.clt-panel.is-marquee::after {
  background-position: 1rem top, 1rem bottom, left 1rem, right 1rem;
  animation-delay: -1.4s;
}

@keyframes clt-bulb-on {
  0%,
  100% {
    opacity: 1;
    filter: drop-shadow(0 0 6px color-mix(in srgb, var(--clt-candle-rgb) 80%, transparent));
  }
  50% {
    opacity: 0.15;
    filter: drop-shadow(0 0 1px color-mix(in srgb, var(--clt-candle-rgb) 15%, transparent));
  }
}

@media (prefers-reduced-motion: reduce) {
  .clt-panel.is-marquee::before,
  .clt-panel.is-marquee::after {
    animation: none;
    opacity: 0.85;
  }
}

.has-underglow {
  filter: drop-shadow(0 14px 34px color-mix(in srgb, var(--clt-brass-rgb) 15%, transparent));
  transition: filter 720ms var(--ease-stage), transform 320ms var(--ease);
}

.has-underglow:hover {
  filter: drop-shadow(0 18px 46px color-mix(in srgb, var(--clt-brass-rgb) 36%, transparent));
}

.has-underglow.is-brass {
  filter: drop-shadow(0 14px 34px color-mix(in srgb, var(--clt-brass-rgb) 18%, transparent));
}

.has-underglow.is-brass:hover {
  filter: drop-shadow(0 18px 46px color-mix(in srgb, var(--clt-brass-rgb) 40%, transparent));
}

.has-underglow.is-candle {
  filter: drop-shadow(0 14px 34px color-mix(in srgb, var(--clt-candle-rgb) 18%, transparent));
}

.has-underglow.is-candle:hover {
  filter: drop-shadow(0 18px 46px color-mix(in srgb, var(--clt-candle-rgb) 40%, transparent));
}

.has-underglow.is-velvet {
  filter: drop-shadow(0 14px 34px color-mix(in srgb, var(--clt-velvet-rgb) 26%, transparent));
}

.has-underglow.is-velvet:hover {
  filter: drop-shadow(0 18px 46px color-mix(in srgb, var(--clt-velvet-rgb) 54%, transparent));
}

.has-underglow.is-smoke {
  filter: drop-shadow(0 14px 34px color-mix(in srgb, var(--clt-smoke-blue-rgb) 18%, transparent));
}

.has-underglow.is-smoke:hover {
  filter: drop-shadow(0 18px 46px color-mix(in srgb, var(--clt-smoke-blue-rgb) 40%, transparent));
}

.has-underglow.is-linen {
  filter: drop-shadow(0 14px 34px color-mix(in srgb, var(--clt-linen-rgb) 12%, transparent));
}

.has-underglow.is-linen:hover {
  filter: drop-shadow(0 18px 46px color-mix(in srgb, var(--clt-linen-rgb) 24%, transparent));
}

@media (prefers-reduced-transparency: reduce) {
  .has-underglow {
    filter: none;
  }
}

/* Navbar, section nav and pagination */
.clt-navbar-shell {
  position: sticky;
  top: 0;
  z-index: var(--z-nav);
  display: flex;
  justify-content: center;
  width: 100%;
  padding: clamp(0.6rem, 2vw, 1.4rem) clamp(0.75rem, 4vw, 4rem) 0;
}

.clt-navbar {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.5rem;
  min-height: 3.25rem;
  width: min(100%, var(--w-canvas));
  margin-inline: auto;
  padding: 0.4rem 0.5rem 0.4rem 0.65rem;
  border: 1px solid color-mix(in srgb, var(--clt-linen-rgb) 19%, transparent);
  border-radius: 1.4rem;
  isolation: isolate;
  overflow: visible;
  background: var(--tex-noise), radial-gradient(ellipse 34% 115% at 4% 44%, color-mix(in srgb, var(--clt-brass-rgb) 20%, transparent), transparent 74%), radial-gradient(ellipse 44% 160% at 100% 50%, color-mix(in srgb, var(--clt-smoke-blue-rgb) 14%, transparent), transparent 72%), linear-gradient(180deg, color-mix(in srgb, var(--clt-bone-rgb) 13%, transparent), color-mix(in srgb, var(--clt-linen-rgb) 5.5%, transparent) 34%, rgb(12 12 14 / 0.78));
  background-size: 16.25rem 16.25rem, auto, auto, auto;
  background-blend-mode: overlay, normal, normal, normal;
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.16), inset 0 -1px 0 rgb(0 0 0 / 0.52), 0 14px 32px rgb(0 0 0 / 0.36);
  -webkit-backdrop-filter: blur(24px) saturate(1.35);
  backdrop-filter: blur(24px) saturate(1.35);
}

.clt-navbar::before {
  content: '';
  position: absolute;
  inset: 0.3rem;
  border: 1px solid color-mix(in srgb, var(--clt-linen-rgb) 8%, transparent);
  border-radius: inherit;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgb(0 0 0 / 0.48);
}

.clt-navbar__brand {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  min-width: 0;
  gap: 0.5rem;
  color: var(--clt-linen-200);
}

.clt-navbar__seal {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 2.25rem;
  height: 2.25rem;
  font-family: var(--font-display);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.06em;
}

.clt-navbar__seal::after {
  content: '';
  position: absolute;
  inset: 4px;
  border: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 38%, transparent);
  border-radius: 50%;
  pointer-events: none;
}

.clt-navbar__title {
  display: none;
  min-width: 0;
  color: var(--clt-linen-200);
  font-family: var(--font-display);
  font-size: clamp(1.1rem, 0.95rem + 0.6vw, 2.25rem);
  font-weight: 500;
  letter-spacing: -0.018em;
  line-height: 0.9;
}

.clt-navbar__links {
  position: relative;
  z-index: 1;
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-start;
  gap: 0.25rem;
  margin: 0;
  padding: 0.16rem;
  list-style: none;
  grid-column: 1 / -1;
  order: 3;
  width: 100%;
  border-radius: 1rem;
  background: radial-gradient(ellipse 70% 100% at 0% 50%, color-mix(in srgb, var(--clt-brass-rgb) 12%, transparent), transparent 72%), radial-gradient(ellipse 64% 100% at 100% 50%, color-mix(in srgb, var(--clt-smoke-blue-rgb) 10%, transparent), transparent 70%), rgb(0 0 0 / 0.18);
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
}

.clt-navbar__links::-webkit-scrollbar {
  display: none;
}

.clt-navbar__links > li {
  display: contents;
}

.clt-navbar__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 2rem;
  padding: 0 0.65rem;
  border: 1px solid transparent;
  border-radius: var(--r-pill);
  color: color-mix(in srgb, var(--clt-linen-rgb) 76%, transparent);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  white-space: nowrap;
  text-align: center;
  scroll-snap-align: center;
  transition: color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), box-shadow var(--dur-base) var(--ease);
}

.clt-navbar__link:hover,
.clt-navbar__link:focus-visible {
  color: var(--clt-linen-100);
  background: color-mix(in srgb, var(--clt-linen-rgb) 4.5%, transparent);
  border-color: color-mix(in srgb, var(--clt-linen-rgb) 12%, transparent);
}

.clt-navbar__link[aria-current='page'] {
  color: var(--clt-linen-100);
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 38%, transparent);
  background: radial-gradient(ellipse 90% 100% at 50% 18%, color-mix(in srgb, var(--clt-brass-rgb) 18%, transparent), transparent 70%), rgb(20 16 14 / 0.68);
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.1), inset 0 -1px 0 rgb(0 0 0 / 0.42), 0 0 22px color-mix(in srgb, var(--clt-brass-rgb) 18%, transparent);
}

.clt-navbar__actions {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-self: end;
  gap: 0.5rem;
}

.clt-navbar__actions .clt-button {
  min-height: 2.25rem;
  padding-inline: 0.875rem;
  font-size: 0.78rem;
}

@media (min-width: 47.5rem) {
  .clt-navbar {
    grid-template-columns: auto 1fr auto;
    gap: 0.7rem;
    min-height: 4rem;
    padding: 0.5rem 0.6rem 0.5rem 0.68rem;
    border-radius: 2rem;
  }
  .clt-navbar__seal {
    width: 2.75rem;
    height: 2.75rem;
    font-size: 0.9rem;
  }
  .clt-navbar__links {
    order: 0;
    grid-column: auto;
    width: auto;
    justify-content: center;
    overflow-x: auto;
  }
  .clt-navbar__link {
    min-height: 2.125rem;
    padding-inline: 0.72rem;
    font-size: 0.86rem;
  }
  .clt-navbar__actions .clt-button {
    min-height: 2.375rem;
    padding-inline: 1rem;
    font-size: 0.84rem;
  }
}

@media (min-width: 77.5rem) {
  .clt-navbar {
    grid-template-columns: minmax(11.875rem, 0.55fr) minmax(0, 1fr) auto;
    gap: clamp(0.625rem, 1.8vw, 1.75rem);
    min-height: clamp(4.125rem, 5.4vw, 5.75rem);
    padding: clamp(0.48rem, 0.72vw, 0.78rem) clamp(0.58rem, 1vw, 1rem) clamp(0.5rem, 0.74vw, 0.82rem) clamp(0.72rem, 1.2vw, 1.35rem);
    border-radius: var(--r-pill);
  }
  .clt-navbar__brand {
    gap: clamp(0.625rem, 1vw, 1.15rem);
  }
  .clt-navbar__seal {
    width: clamp(3rem, 4.2vw, 4.8rem);
    height: clamp(3rem, 4.2vw, 4.8rem);
    font-size: clamp(0.78rem, 1vw, 1rem);
  }
  .clt-navbar__title {
    display: grid;
  }
  .clt-navbar__links {
    padding: 0.18rem;
    border: 1px solid color-mix(in srgb, var(--clt-linen-rgb) 7%, transparent);
    background: rgb(0 0 0 / 0.14);
    border-radius: var(--r-pill);
  }
  .clt-navbar__link {
    min-height: 2.25rem;
    padding-inline: 0.72rem;
    font-size: clamp(0.82rem, 0.9vw, 1.02rem);
  }
  .clt-navbar__actions .clt-button {
    min-height: 3rem;
    padding-inline: 1.375rem;
    font-size: 0.95rem;
  }
}

.clt-sectionnav {
  position: relative;
  display: grid;
  gap: 0.15rem;
  padding-left: 1.35rem;
  border-left: none;
  --progress: 0;
}

.clt-sectionnav::before {
  content: '';
  position: absolute;
  left: 0.3rem;
  top: 0.7rem;
  bottom: 0.7rem;
  width: 2px;
  border-radius: 2px;
  background: var(--line);
}

.clt-sectionnav::after {
  content: '';
  position: absolute;
  left: 0.3rem;
  top: 0.7rem;
  width: 2px;
  height: calc((100% - 1.4rem) * var(--progress));
  border-radius: 2px;
  background: linear-gradient(180deg, var(--clt-brass-100), var(--clt-brass-400));
  box-shadow: 0 0 12px color-mix(in srgb, var(--clt-brass-rgb) 60%, transparent);
  transition: height 140ms linear;
}

.clt-sectionnav__link {
  position: relative;
  display: block;
  padding: 0.55rem 0.7rem 0.55rem 0.6rem;
  border-radius: 0.6rem;
  color: var(--text-dim);
  font-size: 0.86rem;
  transition: color var(--dur-fast) var(--ease), background var(--dur-base) var(--ease-stage), box-shadow var(--dur-base) var(--ease-stage);
}

.clt-sectionnav__link::before {
  content: '\2726';
  position: absolute;
  left: calc(-1.35rem + 0.3rem + 1px);
  top: 50%;
  transform: translate(-50%, -50%) scale(0.78);
  font-size: 0.72rem;
  color: var(--line-strong);
  text-shadow: none;
  transition: color 320ms var(--ease), text-shadow 320ms var(--ease), transform 320ms var(--ease-stage);
}

.clt-sectionnav__link:hover {
  color: var(--clt-linen-100);
}

.clt-sectionnav__link.is-passed::before {
  color: var(--clt-brass-200);
  text-shadow: 0 0 8px color-mix(in srgb, var(--clt-brass-rgb) 60%, transparent);
  transform: translate(-50%, -50%) scale(0.92);
}

.clt-sectionnav__link.is-current,
.clt-sectionnav__link[aria-current='true'] {
  color: var(--clt-brass-100);
  background: radial-gradient(ellipse 90% 120% at 0% 50%, color-mix(in srgb, var(--clt-brass-rgb) 16%, transparent), transparent 70%), rgb(0 0 0 / 0.4);
  box-shadow: var(--carve-select), inset 0 0 0 1px color-mix(in srgb, var(--clt-brass-rgb) 28%, transparent), 0 0 20px color-mix(in srgb, var(--clt-brass-rgb) 18%, transparent);
}

.clt-sectionnav__link.is-current::before,
.clt-sectionnav__link[aria-current='true']::before {
  color: var(--clt-candle);
  text-shadow: 0 0 10px color-mix(in srgb, var(--clt-candle-rgb) 75%, transparent);
  transform: translate(-50%, -50%) scale(1.1);
}

@media (max-width: 60rem) {
  .clt-sectionnav {
    gap: 0.1rem;
    padding-left: 1.15rem;
  }
  .clt-sectionnav__link {
    padding: 0.45rem 0.5rem 0.45rem 0.5rem;
    font-size: 0.8rem;
  }
}

.clt-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  color: var(--text-dim);
}

.clt-breadcrumbs a {
  color: var(--text-muted);
  transition: color var(--dur-fast) var(--ease);
}

.clt-breadcrumbs a:hover {
  color: var(--clt-linen-100);
}

.clt-breadcrumbs__sep {
  color: var(--clt-brass-300);
  font-size: 0.7rem;
  letter-spacing: 0.2em;
}

.clt-pagination {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.3rem;
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  background: var(--surface-soft);
}

.clt-pagination a,
.clt-pagination span {
  display: inline-grid;
  place-items: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.6rem;
  border-radius: var(--r-pill);
  font-size: 0.82rem;
  color: var(--text-muted);
  cursor: pointer;
}

.clt-pagination a:hover {
  color: var(--clt-linen-100);
  background: rgb(0 0 0 / 0.22);
  box-shadow: var(--carve-press);
}

.clt-pagination [aria-current='page'] {
  color: var(--clt-linen-100);
  background: radial-gradient(ellipse 120% 90% at 50% 100%, color-mix(in srgb, var(--clt-brass-rgb) 20%, transparent), transparent 70%), rgb(0 0 0 / 0.42);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--clt-brass-rgb) 36%, transparent);
}

/* Utilities */
.clt-stack {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.clt-stack--xs {
  gap: 0.25rem;
}

.clt-stack--sm {
  gap: 0.5rem;
}

.clt-stack--md {
  gap: 1rem;
}

.clt-stack--lg {
  gap: 1.5rem;
}

.clt-stack--xl {
  gap: 2.5rem;
}

.clt-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--row-gap, 0.85rem);
}

.clt-row--end {
  justify-content: flex-end;
}

.clt-row--between {
  justify-content: space-between;
}

.clt-row--center {
  justify-content: center;
}

.clt-cluster {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.clt-grid {
  display: grid;
  gap: var(--grid-gap, 1rem);
}

.clt-grid--2 {
  grid-template-columns: 1fr;
}

.clt-grid--3 {
  grid-template-columns: 1fr;
}

.clt-grid--4 {
  grid-template-columns: 1fr;
}

.clt-grid--auto {
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}

@media (min-width: 36rem) {
  .clt-grid--2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .clt-grid--3 {
    grid-template-columns: repeat(2, 1fr);
  }
  .clt-grid--4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 56rem) {
  .clt-grid--3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .clt-grid--4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

.clt-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.clt-hide-mobile {
  display: none !important;
}

@media (min-width: 47.5rem) {
  .clt-hide-mobile {
    display: revert !important;
  }
}

.clt-show-mobile {
  display: revert !important;
}

@media (min-width: 47.5rem) {
  .clt-show-mobile {
    display: none !important;
  }
}

.clt-text-center {
  text-align: center;
}

.clt-text-left {
  text-align: left;
}

.clt-text-right {
  text-align: right;
}

.clt-text-balance {
  text-wrap: balance;
}

.clt-text-pretty {
  text-wrap: pretty;
}

.clt-text-muted {
  color: var(--text-muted);
}

.clt-text-dim {
  color: var(--text-dim);
}

.clt-text-bright {
  color: var(--clt-linen-100);
}

.clt-text-brass {
  color: var(--clt-brass-200);
}

.clt-text-candle {
  color: var(--clt-candle);
}

.clt-text-eyebrow {
  font-family: var(--font-body);
  font-size: var(--type-eyebrow);
  font-weight: 700;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--clt-brass-300);
}

.clt-spacer-xs {
  height: 0.5rem;
}

.clt-spacer-sm {
  height: 1rem;
}

.clt-spacer-md {
  height: 2rem;
}

.clt-spacer-lg {
  height: 4rem;
}

.clt-spacer-xl {
  height: 6rem;
}

.clt-ratio-1\:1 {
  aspect-ratio: 1 / 1;
}

.clt-ratio-4\:3 {
  aspect-ratio: 4 / 3;
}

.clt-ratio-16\:9 {
  aspect-ratio: 16 / 9;
}

.clt-ratio-3\:4 {
  aspect-ratio: 3 / 4;
}

.clt-ratio-21\:9 {
  aspect-ratio: 21 / 9;
}

.clt-overlay-grain {
  position: relative;
}

.clt-overlay-grain::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: var(--tex-noise);
  background-size: 16.25rem 16.25rem;
  opacity: 0.5;
  mix-blend-mode: overlay;
}

.clt-overlay-vignette {
  position: relative;
}

.clt-overlay-vignette::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse 90% 90% at 50% 50%, transparent 50%, rgb(0 0 0 / 0.55) 100%);
}

.clt-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.clt-clamp-2,
.clt-clamp-3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.clt-clamp-2 {
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.clt-clamp-3 {
  -webkit-line-clamp: 3;
  line-clamp: 3;
}

/* Motion and reveal */
[data-gsap~='clt-reveal'] {
  opacity: 0;
  transform: translate3d(0, 2.125rem, 0);
  filter: blur(10px);
  transition: opacity var(--dur-slow) var(--ease-stage), transform var(--dur-slow) var(--ease-stage), filter var(--dur-slow) var(--ease-stage);
}

.clt-state-visible[data-gsap~='clt-reveal'],
[data-gsap~='clt-reveal'].is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0);
}

[data-gsap~='clt-rise'] {
  opacity: 0;
  transform: translate3d(0, 1.25rem, 0);
  transition: opacity var(--dur-base) var(--ease), transform var(--dur-base) var(--ease);
}

[data-gsap~='clt-rise'].is-visible,
.clt-state-visible[data-gsap~='clt-rise'] {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

[data-clt-reveal] {
  opacity: 1;
  will-change: opacity, transform;
}

[data-clt-reveal=''],
[data-clt-reveal~='rise'] {
  transform: translate3d(0, 2.25rem, 0);
}

[data-clt-reveal~='fly'] {
  transform: translate3d(0, -2.5rem, 0);
}

[data-clt-reveal~='wing-left'] {
  transform: translate3d(-3rem, 0, 0);
}

[data-clt-reveal~='wing-right'] {
  transform: translate3d(3rem, 0, 0);
}

[data-clt-reveal~='fade'] {
  transform: none;
}

[data-clt-reveal~='curtain'] {
  transform: translate3d(0, 100%, 0);
}

[data-clt-reveal].is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
  [data-clt-reveal] {
    opacity: 1;
    transform: none;
  }
}

.clt-split-line {
  overflow: clip;
  padding-bottom: 0.1em;
  margin-bottom: -0.1em;
}

[data-gsap~='clt-magnetic'],
[data-gsap~='clt-tilt'] {
  will-change: transform;
}

.clt-curtain {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
}

.clt-curtain > span {
  display: inline-block;
  transform: translateY(100%);
  transition: transform var(--dur-curtain) var(--ease-velvet);
}

.clt-curtain.is-visible > span {
  transform: translateY(0);
}

.clt-marquee {
  display: flex;
  gap: 3rem;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.clt-marquee__track {
  display: inline-flex;
  flex-shrink: 0;
  gap: 3rem;
  animation: clt-marquee 28s linear infinite;
}

.clt-marquee:hover .clt-marquee__track {
  animation-play-state: paused;
}

@keyframes clt-marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

.clt-flicker {
  animation: clt-flicker 5.4s ease-in-out infinite;
}

@keyframes clt-flicker {
  0%,
  100% {
    opacity: 1;
    text-shadow: var(--glow-letter);
  }
  35% {
    opacity: 0.92;
    text-shadow: var(--glow-letter), 0 0 0.6em color-mix(in srgb, var(--clt-candle-rgb) 22%, transparent);
  }
  60% {
    opacity: 0.96;
  }
  72% {
    opacity: 0.88;
  }
}

.clt-promenade {
  --promenade: 0;
  position: relative;
  isolation: isolate;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
}

.clt-promenade::-webkit-scrollbar {
  display: none;
}

.clt-promenade.is-pinned {
  overflow: clip;
  scroll-snap-type: none;
}

.clt-promenade__track {
  display: flex;
  gap: clamp(1rem, 2.5vw, 2rem);
  width: max-content;
  padding-block: clamp(1.5rem, 4vh, 3rem) clamp(2.5rem, 6vh, 4rem);
  padding-inline: max(1.5rem, 8vw);
}

.clt-promenade__panel {
  flex: 0 0 auto;
  width: min(70vw, 34rem);
  scroll-snap-align: center;
}

.clt-promenade::after {
  content: '';
  position: absolute;
  left: 10%;
  right: 10%;
  bottom: 1rem;
  height: 1px;
  background: var(--line-soft);
  opacity: 0;
  pointer-events: none;
}

.clt-promenade::before {
  content: '';
  position: absolute;
  left: 10%;
  bottom: 1rem;
  height: 1px;
  width: calc(80% * var(--promenade));
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  background: linear-gradient(90deg, color-mix(in srgb, var(--clt-brass-rgb) 60%, transparent), var(--clt-filament));
  box-shadow: 0 0 8px color-mix(in srgb, var(--clt-candle-rgb) 40%, transparent);
}

.clt-promenade.is-pinned::before,
.clt-promenade.is-pinned::after {
  opacity: 1;
}

/* Lighting: ambient, lamps, rays, curtain stage */
.clt-lamp {
  --lamp-rgb: var(--clt-candle-rgb);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  justify-items: center;
  text-align: center;
  padding-top: clamp(3.25rem, 9vw, 7rem);
}

.clt-lamp.is-cool {
  --lamp-rgb: var(--clt-smoke-blue-rgb);
}

.clt-lamp.is-velvet {
  --lamp-rgb: var(--clt-velvet-rgb);
}

.clt-lamp > * {
  position: relative;
  z-index: 1;
}

.clt-lamp::before {
  content: '';
  position: absolute;
  left: 50%;
  top: -1px;
  width: min(72rem, 150%);
  height: 22rem;
  transform: translateX(-50%);
  z-index: -2;
  pointer-events: none;
  background: radial-gradient(36% 46% at 50% 0%, color-mix(in srgb, var(--lamp-rgb) 30%, transparent), transparent 72%), conic-gradient(from 180deg at 50% 0%, color-mix(in srgb, var(--lamp-rgb) 22%, transparent) 0deg, transparent 34deg, transparent 326deg, color-mix(in srgb, var(--lamp-rgb) 22%, transparent) 360deg);
  filter: blur(16px);
  -webkit-mask-image: radial-gradient(58% 100% at 50% 0%, #000 28%, transparent 76%);
  mask-image: radial-gradient(58% 100% at 50% 0%, #000 28%, transparent 76%);
  opacity: 0.92;
  animation: clt-lamp-bloom 1300ms var(--ease-stage) both;
}

.clt-lamp::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  width: min(34rem, 82%);
  height: 2px;
  transform: translateX(-50%);
  z-index: -1;
  pointer-events: none;
  border-radius: 2px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--lamp-rgb) 70%, transparent) 16%, var(--clt-filament) 50%, color-mix(in srgb, var(--lamp-rgb) 70%, transparent) 84%, transparent);
  box-shadow: 0 0 10px color-mix(in srgb, var(--lamp-rgb) 58%, transparent), 0 0 30px color-mix(in srgb, var(--lamp-rgb) 26%, transparent);
  animation: clt-lamp-line 1100ms var(--ease-stage) both;
}

.clt-lamp.is-velvet::after {
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--clt-velvet-rgb) 78%, transparent) 16%, var(--clt-candle) 50%, color-mix(in srgb, var(--clt-velvet-rgb) 78%, transparent) 84%, transparent);
}

@keyframes clt-lamp-line {
  from {
    opacity: 0;
    transform: translateX(-50%) scaleX(0.4);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) scaleX(1);
  }
}

@keyframes clt-lamp-bloom {
  from {
    opacity: 0;
    transform: translateX(-50%) scaleX(0.7);
  }
  to {
    opacity: 0.92;
    transform: translateX(-50%) scaleX(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .clt-lamp::before,
  .clt-lamp::after {
    animation: none;
  }
}

.clt-lamp-layer,
.clt-rays-layer {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  border-radius: inherit;
}

.clt-lamp-layer {
  --lamp-rgb: var(--clt-candle-rgb);
  bottom: auto;
  height: clamp(8rem, 70%, 18rem);
}

.clt-lamp-layer.is-cool {
  --lamp-rgb: var(--clt-smoke-blue-rgb);
}

.clt-lamp-layer.is-velvet {
  --lamp-rgb: var(--clt-velvet-rgb);
}

[data-clt-lamp] {
  opacity: 0;
  transition: opacity var(--dur-slow) var(--ease-stage);
}

[data-clt-lamp].is-lit {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  [data-clt-lamp] {
    opacity: 1;
    transition: none;
  }
}

.clt-lamp-layer::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  width: 150%;
  height: 220%;
  transform: translateX(-50%);
  background: radial-gradient(34% 40% at 50% 0%, color-mix(in srgb, var(--lamp-rgb) 28%, transparent), transparent 70%), conic-gradient(from 180deg at 50% 0%, color-mix(in srgb, var(--lamp-rgb) 18%, transparent) 0deg, transparent 32deg, transparent 328deg, color-mix(in srgb, var(--lamp-rgb) 18%, transparent) 360deg);
  filter: blur(15px);
  -webkit-mask-image: radial-gradient(60% 100% at 50% 0%, #000 22%, transparent 80%);
  mask-image: radial-gradient(60% 100% at 50% 0%, #000 22%, transparent 80%);
  opacity: 0.9;
}

.clt-lamp-layer::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  width: min(80%, 26rem);
  height: 2px;
  transform: translateX(-50%);
  border-radius: 2px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--lamp-rgb) 64%, transparent) 18%, var(--clt-filament) 50%, color-mix(in srgb, var(--lamp-rgb) 64%, transparent) 82%, transparent);
  box-shadow: 0 0 8px color-mix(in srgb, var(--lamp-rgb) 52%, transparent), 0 0 24px color-mix(in srgb, var(--lamp-rgb) 22%, transparent);
}

.clt-lamp-layer.is-velvet::after {
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--clt-velvet-rgb) 78%, transparent) 18%, var(--clt-candle) 50%, color-mix(in srgb, var(--clt-velvet-rgb) 78%, transparent) 82%, transparent);
}

.clt-lamp-layer.is-under {
  top: auto;
  bottom: 0;
}

.clt-lamp-layer.is-under::after {
  top: auto;
  bottom: 0;
}

.clt-lamp-layer.is-under::before {
  top: auto;
  bottom: 0;
  transform: translateX(-50%) scaleY(-1);
}

.clt-rays-layer {
  --ray-rgb: var(--clt-candle-rgb);
  --ray-rot: 0deg;
}

.clt-rays-layer.is-cool {
  --ray-rgb: var(--clt-smoke-blue-rgb);
}

.clt-rays-layer.is-velvet {
  --ray-rgb: var(--clt-velvet-rgb);
}

.clt-rays-layer::before,
.clt-rays-layer::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  width: 200%;
  height: 200%;
  transform: translateX(-50%);
  transform-origin: 50% 0%;
  -webkit-mask-image: radial-gradient(72% 92% at 50% 0%, #000 6%, transparent 72%);
  mask-image: radial-gradient(72% 92% at 50% 0%, #000 6%, transparent 72%);
  filter: blur(2px);
}

.clt-rays-layer::before {
  background: repeating-conic-gradient(from calc(180deg + var(--ray-rot)) at 50% 0%, transparent 0deg, color-mix(in srgb, var(--ray-rgb) 17%, transparent) 1.4deg, transparent 3deg, transparent 8.5deg);
  opacity: 0.8;
  animation: clt-rays-sway 15s ease-in-out infinite alternate;
}

.clt-rays-layer::after {
  background: repeating-conic-gradient(from calc(180deg + var(--ray-rot) * 0.6) at 50% 0%, transparent 0deg, color-mix(in srgb, var(--ray-rgb) 12%, transparent) 0.9deg, transparent 2.4deg, transparent 12deg);
  opacity: 0.55;
  animation: clt-rays-sway-2 21s ease-in-out infinite alternate;
}

@keyframes clt-rays-sway {
  from {
    transform: translateX(-50%) rotate(-3deg);
  }
  to {
    transform: translateX(-50%) rotate(3deg);
  }
}

@keyframes clt-rays-sway-2 {
  from {
    transform: translateX(-50%) rotate(2.4deg);
  }
  to {
    transform: translateX(-50%) rotate(-2.8deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .clt-rays-layer::before,
  .clt-rays-layer::after {
    animation: none;
  }
}

.clt-panel > .clt-lamp-layer,
.clt-panel > .clt-rays-layer {
  z-index: 0;
}

.clt-lamp-layer.is-animated::before {
  animation: clt-lamp-cone-pulse 9s ease-in-out infinite;
}

.clt-lamp-layer.is-animated::after {
  animation: clt-lamp-line-pulse 6.5s ease-in-out infinite;
}

@keyframes clt-lamp-cone-pulse {
  0%,
  100% {
    opacity: 0.82;
  }
  50% {
    opacity: 1;
  }
}

@keyframes clt-lamp-line-pulse {
  0%,
  100% {
    opacity: 1;
    box-shadow: 0 0 8px color-mix(in srgb, var(--lamp-rgb) 50%, transparent), 0 0 22px color-mix(in srgb, var(--lamp-rgb) 20%, transparent);
  }
  50% {
    opacity: 0.92;
    box-shadow: 0 0 13px color-mix(in srgb, var(--lamp-rgb) 62%, transparent), 0 0 34px color-mix(in srgb, var(--lamp-rgb) 28%, transparent);
  }
}

@media (prefers-reduced-motion: reduce) {
  .clt-lamp-layer.is-animated::before,
  .clt-lamp-layer.is-animated::after {
    animation: none;
  }
}

.clt-rays-canvas {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  border-radius: inherit;
  -webkit-mask-image: radial-gradient(135% 105% at 50% 0%, #000 52%, transparent 100%);
  mask-image: radial-gradient(135% 105% at 50% 0%, #000 52%, transparent 100%);
}

.clt-rays-canvas canvas {
  width: 100% !important;
  height: 100% !important;
  display: block;
  mix-blend-mode: screen;
}

.clt-ambient {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  isolation: isolate;
  contain: strict;
  --ax: 0;
  --ay: 0;
  --scr: 0px;
}

.clt-ambient.is-act-buffer {
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  .clt-ambient *,
  .clt-ambient::before,
  .clt-ambient::after {
    animation: none !important;
    translate: none !important;
  }
}

.clt-ambient__layer {
  position: absolute;
  inset: 0;
  will-change: transform, opacity, filter;
}

.clt-ambient[data-variant='curtain'] {
  background: radial-gradient(ellipse 90% 38% at 50% -6%, color-mix(in srgb, var(--clt-candle-rgb) 18%, transparent), transparent 62%), radial-gradient(ellipse 120% 70% at 50% 50%, color-mix(in srgb, var(--clt-velvet-rgb) 38%, transparent), transparent 72%), linear-gradient(180deg, color-mix(in srgb, var(--clt-plum) 80%, var(--clt-velvet) 20%) 0%, var(--clt-pitch) 60%, var(--clt-void) 100%);
}

.clt-ambient[data-variant='curtain']::before {
  content: '';
  position: absolute;
  inset: -2% 0;
  background: repeating-linear-gradient(90deg, transparent 0, color-mix(in srgb, #000 42%, transparent) 38px, transparent 76px, color-mix(in srgb, var(--clt-velvet-rgb) 28%, transparent) 114px, transparent 152px);
  mix-blend-mode: multiply;
  opacity: 0.55;
  animation: clt-curtain-breathe 14s var(--ease-velvet) infinite alternate;
  translate: calc(var(--ax) * -10px) calc(var(--scr) * -0.018);
}

.clt-ambient[data-variant='curtain']::after {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(90deg, transparent 0, transparent 92px, color-mix(in srgb, var(--clt-brass-rgb) 14%, transparent) 95px, transparent 98px, transparent 188px);
  mix-blend-mode: screen;
  opacity: 0.42;
  animation: clt-curtain-sheen 22s var(--ease-velvet) infinite alternate;
  translate: calc(var(--ax) * 14px) calc(var(--scr) * 0.01);
}

@keyframes clt-curtain-breathe {
  0% {
    transform: translate3d(-1.2%, 0, 0) scaleX(1.01);
  }
  100% {
    transform: translate3d(1.2%, 0, 0) scaleX(1.03);
  }
}

@keyframes clt-curtain-sheen {
  0% {
    transform: translate3d(2%, 0, 0);
    opacity: 0.32;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    transform: translate3d(-2%, 0, 0);
    opacity: 0.32;
  }
}

.clt-ambient[data-variant='candlepool'] {
  background: radial-gradient(ellipse 70% 50% at 50% 58%, color-mix(in srgb, var(--clt-candle-rgb) 14%, transparent) 0%, color-mix(in srgb, var(--clt-brass-rgb) 10%, transparent) 32%, transparent 64%), radial-gradient(ellipse 140% 100% at 50% 100%, color-mix(in srgb, var(--clt-velvet-rgb) 22%, transparent), transparent 70%), linear-gradient(180deg, var(--clt-pitch) 0%, var(--clt-void) 100%);
}

.clt-ambient[data-variant='candlepool']::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 56%;
  width: 80vmin;
  height: 80vmin;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, color-mix(in srgb, var(--clt-candle-rgb) 38%, transparent) 0%, color-mix(in srgb, var(--clt-brass-rgb) 22%, transparent) 22%, transparent 58%);
  filter: blur(28px);
  mix-blend-mode: screen;
  animation: clt-candle-breathe 6.5s var(--ease) infinite alternate, clt-candle-flicker 1.7s steps(3, end) infinite;
  translate: calc(var(--ax) * 44px) calc(var(--ay) * 26px - var(--scr) * 0.05);
}

.clt-ambient[data-variant='candlepool']::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 56%;
  width: 32vmin;
  height: 32vmin;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, color-mix(in srgb, var(--clt-candle-rgb) 60%, transparent) 0%, transparent 60%);
  filter: blur(14px);
  mix-blend-mode: screen;
  animation: clt-candle-core 3.1s var(--ease) infinite alternate;
  translate: calc(var(--ax) * 64px) calc(var(--ay) * 34px - var(--scr) * 0.03);
}

@keyframes clt-candle-breathe {
  0% {
    transform: translate(-50%, -50%) scale(0.94);
    opacity: 0.72;
  }
  100% {
    transform: translate(-50%, -50%) scale(1.06);
    opacity: 1;
  }
}

@keyframes clt-candle-flicker {
  0%,
  100% {
    filter: blur(28px) brightness(1);
  }
  33% {
    filter: blur(28px) brightness(1.08);
  }
  66% {
    filter: blur(28px) brightness(0.94);
  }
}

@keyframes clt-candle-core {
  0% {
    transform: translate(-50%, -50%) scale(0.86) translateX(-1.5%);
    opacity: 0.7;
  }
  100% {
    transform: translate(-50%, -52%) scale(1.04) translateX(1.5%);
    opacity: 1;
  }
}

.clt-ambient[data-variant='spotlight'] {
  background: radial-gradient(ellipse 80% 60% at 50% 100%, color-mix(in srgb, var(--clt-velvet-rgb) 18%, transparent), transparent 65%), linear-gradient(180deg, var(--clt-pitch) 0%, var(--clt-void) 100%);
}

.clt-ambient[data-variant='spotlight']::before {
  content: '';
  position: absolute;
  left: -10%;
  top: -10%;
  width: 140vmax;
  height: 140vmax;
  transform-origin: 14% 14%;
  background: conic-gradient(from -14deg at 14% 14%, transparent 0deg, transparent 24deg, color-mix(in srgb, var(--clt-candle-rgb) 9%, transparent) 38deg, color-mix(in srgb, var(--clt-brass-rgb) 16%, transparent) 52deg, color-mix(in srgb, var(--clt-candle-rgb) 9%, transparent) 66deg, transparent 80deg, transparent 360deg);
  mix-blend-mode: screen;
  filter: blur(36px);
  animation: clt-spot-left 24s var(--ease-velvet) infinite alternate;
  rotate: calc(var(--ax) * 11deg + var(--ay) * 3deg);
  translate: calc(var(--ax) * 26px) calc(var(--scr) * -0.06);
}

.clt-ambient[data-variant='spotlight']::after {
  content: '';
  position: absolute;
  right: -10%;
  top: -10%;
  width: 140vmax;
  height: 140vmax;
  transform-origin: 86% 14%;
  background: conic-gradient(from 198deg at 86% 14%, transparent 0deg, transparent 24deg, color-mix(in srgb, var(--clt-linen-rgb) 7%, transparent) 36deg, color-mix(in srgb, var(--clt-brass-rgb) 12%, transparent) 50deg, color-mix(in srgb, var(--clt-linen-rgb) 7%, transparent) 64deg, transparent 78deg, transparent 360deg);
  mix-blend-mode: screen;
  filter: blur(40px);
  animation: clt-spot-right 28s var(--ease-velvet) infinite alternate;
  rotate: calc(var(--ax) * -11deg + var(--ay) * 3deg);
  translate: calc(var(--ax) * -26px) calc(var(--scr) * -0.09);
}

@keyframes clt-spot-left {
  0% {
    transform: rotate(-6deg);
    opacity: 0.85;
  }
  100% {
    transform: rotate(10deg);
    opacity: 1;
  }
}

@keyframes clt-spot-right {
  0% {
    transform: rotate(6deg);
    opacity: 0.7;
  }
  100% {
    transform: rotate(-10deg);
    opacity: 0.95;
  }
}

.clt-ambient[data-variant='aurora'] {
  background: linear-gradient(180deg, var(--clt-pitch) 0%, color-mix(in srgb, var(--clt-night) 70%, var(--clt-plum) 30%) 60%, var(--clt-void) 100%);
}

.clt-ambient[data-variant='aurora'] .clt-ambient__blob {
  position: absolute;
  width: 70vmax;
  height: 70vmax;
  border-radius: 50%;
  filter: blur(70px);
  mix-blend-mode: screen;
  opacity: 0.55;
}

.clt-ambient[data-variant='aurora'] .clt-ambient__blob--velvet {
  left: -18%;
  top: -10%;
  background: radial-gradient(circle, color-mix(in srgb, var(--clt-velvet-rgb) 70%, transparent), transparent 64%);
  animation: clt-aurora-a 26s ease-in-out infinite alternate;
  translate: calc(var(--ax) * -52px) calc(var(--ay) * -34px + var(--scr) * -0.05);
}

.clt-ambient[data-variant='aurora'] .clt-ambient__blob--brass {
  right: -20%;
  top: 14%;
  background: radial-gradient(circle, color-mix(in srgb, var(--clt-brass-rgb) 56%, transparent), transparent 60%);
  animation: clt-aurora-b 32s ease-in-out infinite alternate;
  translate: calc(var(--ax) * 38px) calc(var(--ay) * 24px + var(--scr) * -0.085);
}

.clt-ambient[data-variant='aurora'] .clt-ambient__blob--smoke {
  left: 22%;
  bottom: -28%;
  background: radial-gradient(circle, color-mix(in srgb, var(--clt-smoke-blue-rgb) 50%, transparent), transparent 62%);
  animation: clt-aurora-c 36s ease-in-out infinite alternate;
  translate: calc(var(--ax) * 66px) calc(var(--ay) * -20px - var(--scr) * 0.11);
}

@keyframes clt-aurora-a {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 0.5;
  }
  100% {
    transform: translate3d(16%, 6%, 0) scale(1.15);
    opacity: 0.7;
  }
}

@keyframes clt-aurora-b {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 0.42;
  }
  100% {
    transform: translate3d(-18%, 10%, 0) scale(1.2);
    opacity: 0.62;
  }
}

@keyframes clt-aurora-c {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 0.4;
  }
  100% {
    transform: translate3d(-10%, -14%, 0) scale(1.18);
    opacity: 0.58;
  }
}

.clt-ambient[data-variant='foil'] {
  background: linear-gradient(180deg, var(--clt-pitch) 0%, var(--clt-void) 100%);
}

.clt-ambient[data-variant='foil']::before {
  content: '';
  position: absolute;
  inset: -10%;
  background: repeating-linear-gradient(112deg, transparent 0, color-mix(in srgb, var(--clt-brass-rgb) 6%, transparent) 1px, transparent 2px, transparent 7px), linear-gradient(112deg, transparent 0%, color-mix(in srgb, var(--clt-brass-rgb) 14%, transparent) 30%, color-mix(in srgb, var(--clt-candle-rgb) 18%, transparent) 48%, color-mix(in srgb, var(--clt-brass-rgb) 14%, transparent) 66%, transparent 100%);
  background-size: auto, 220% 220%;
  mix-blend-mode: screen;
  opacity: 0.78;
  animation: clt-foil-pan 28s linear infinite;
  translate: calc(var(--ax) * 18px) calc(var(--ay) * 12px + var(--scr) * -0.02);
}

.clt-ambient[data-variant='foil']::after {
  content: '';
  position: absolute;
  inset: -10%;
  background: linear-gradient(292deg, transparent 0%, color-mix(in srgb, var(--clt-smoke-blue-rgb) 12%, transparent) 40%, color-mix(in srgb, var(--clt-linen-rgb) 10%, transparent) 55%, transparent 100%);
  background-size: 220% 220%;
  mix-blend-mode: screen;
  opacity: 0.45;
  animation: clt-foil-counter 36s linear infinite reverse;
  translate: calc(var(--ax) * -14px) calc(var(--ay) * -8px + var(--scr) * 0.025);
}

@keyframes clt-foil-pan {
  0% {
    background-position: 0 0, 0% 50%;
  }
  100% {
    background-position: 0 0, 100% 50%;
  }
}

@keyframes clt-foil-counter {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 100% 50%;
  }
}

.clt-ambient[data-variant='marquee'] {
  background: radial-gradient(ellipse 100% 60% at 50% 50%, color-mix(in srgb, var(--clt-plum) 80%, transparent), transparent 70%), linear-gradient(180deg, var(--clt-pitch) 0%, var(--clt-void) 100%);
}

.clt-ambient[data-variant='marquee']::before {
  content: '';
  position: absolute;
  inset: 2.6rem;
  border-radius: 1.25rem;
  background: radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--clt-candle-rgb) 90%, transparent) 0 2px, color-mix(in srgb, var(--clt-brass-rgb) 60%, transparent) 2px 3.5px, transparent 5px) 0 0 / 48px 24px repeat-x, radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--clt-candle-rgb) 90%, transparent) 0 2px, color-mix(in srgb, var(--clt-brass-rgb) 60%, transparent) 2px 3.5px, transparent 5px) 0 100% / 48px 24px repeat-x, radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--clt-candle-rgb) 90%, transparent) 0 2px, color-mix(in srgb, var(--clt-brass-rgb) 60%, transparent) 2px 3.5px, transparent 5px) 0 0 / 24px 48px repeat-y, radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--clt-candle-rgb) 90%, transparent) 0 2px, color-mix(in srgb, var(--clt-brass-rgb) 60%, transparent) 2px 3.5px, transparent 5px) 100% 0 / 24px 48px repeat-y;
  filter: drop-shadow(0 0 6px color-mix(in srgb, var(--clt-candle-rgb) 60%, transparent));
  animation: clt-marquee-pulse 4.5s var(--ease) infinite;
  opacity: 0.85;
}

.clt-ambient[data-variant='marquee']::after {
  content: '';
  position: absolute;
  inset: 2.6rem;
  border-radius: 1.25rem;
  box-shadow: inset 0 0 40px color-mix(in srgb, var(--clt-brass-rgb) 22%, transparent), inset 0 0 90px color-mix(in srgb, var(--clt-velvet-rgb) 38%, transparent);
  animation: clt-marquee-halo 7s var(--ease) infinite;
  translate: calc(var(--ax) * 6px) calc(var(--ay) * 4px + var(--scr) * -0.015);
}

@keyframes clt-marquee-pulse {
  0%,
  100% {
    opacity: 0.55;
    filter: drop-shadow(0 0 4px color-mix(in srgb, var(--clt-candle-rgb) 40%, transparent));
  }
  50% {
    opacity: 1;
    filter: drop-shadow(0 0 10px color-mix(in srgb, var(--clt-candle-rgb) 80%, transparent));
  }
}

@keyframes clt-marquee-halo {
  0%,
  100% {
    opacity: 0.6;
  }
  50% {
    opacity: 1;
  }
}

.clt-ambient[data-variant='embers'] {
  background: radial-gradient(ellipse 110% 55% at 50% 110%, color-mix(in srgb, var(--clt-velvet-rgb) 56%, transparent), color-mix(in srgb, var(--clt-velvet-rgb) 18%, transparent) 38%, transparent 72%), radial-gradient(ellipse 90% 30% at 50% -8%, color-mix(in srgb, var(--clt-brass-rgb) 14%, transparent), transparent 70%), linear-gradient(180deg, var(--clt-pitch) 0%, var(--clt-void) 100%);
}

.clt-ambient[data-variant='embers']::before {
  content: '';
  position: absolute;
  inset: -10% -6% -6% -6%;
  background: radial-gradient(circle at 12% 18%, color-mix(in srgb, var(--clt-candle-rgb) 78%, transparent) 0 1.4px, color-mix(in srgb, var(--clt-brass-rgb) 40%, transparent) 1.4px 2.6px, transparent 4px) 0 0 / 220px 320px, radial-gradient(circle at 64% 72%, color-mix(in srgb, var(--clt-candle-rgb) 86%, transparent) 0 1.8px, color-mix(in srgb, var(--clt-brass-rgb) 46%, transparent) 1.8px 3.2px, transparent 5px) 0 0 / 180px 260px, radial-gradient(circle at 38% 44%, color-mix(in srgb, var(--clt-brass-rgb) 60%, transparent) 0 1px, transparent 3px) 0 0 / 140px 220px;
  filter: blur(0.4px) drop-shadow(0 0 6px color-mix(in srgb, var(--clt-candle-rgb) 45%, transparent));
  mix-blend-mode: screen;
  opacity: 0.78;
  animation: clt-embers-rise 22s linear infinite;
  translate: calc(var(--ax) * 14px) calc(var(--scr) * -0.05);
}

.clt-ambient[data-variant='embers']::after {
  content: '';
  position: absolute;
  inset: -10% -6%;
  background: radial-gradient(circle at 28% 86%, color-mix(in srgb, var(--clt-candle-rgb) 70%, transparent) 0 2.4px, color-mix(in srgb, var(--clt-brass-rgb) 30%, transparent) 2.4px 4px, transparent 7px) 0 0 / 360px 520px, radial-gradient(circle at 78% 28%, color-mix(in srgb, var(--clt-brass-rgb) 58%, transparent) 0 1.6px, transparent 5px) 0 0 / 300px 460px;
  filter: blur(1px);
  mix-blend-mode: screen;
  opacity: 0.6;
  animation: clt-embers-rise-slow 38s linear infinite;
  translate: calc(var(--ax) * -10px) calc(var(--scr) * -0.025);
}

@keyframes clt-embers-rise {
  0% {
    background-position: 0 0, 0 0, 0 0;
  }
  100% {
    background-position: 0 -320px, 0 -260px, 0 -220px;
  }
}

@keyframes clt-embers-rise-slow {
  0% {
    background-position: 0 0, 0 0;
  }
  100% {
    background-position: 0 -520px, 0 -460px;
  }
}

.clt-ambient[data-variant='lacquer'] {
  background: linear-gradient(180deg, color-mix(in srgb, var(--clt-pitch) 88%, var(--clt-brass) 12%) 0%, var(--clt-void) 60%, color-mix(in srgb, var(--clt-pitch) 92%, var(--clt-velvet) 8%) 100%);
}

.clt-ambient[data-variant='lacquer']::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 50% at calc(50% + var(--ax) * 22%) calc(38% + var(--ay) * 18%), color-mix(in srgb, var(--clt-candle-rgb) 22%, transparent) 0%, color-mix(in srgb, var(--clt-brass-rgb) 14%, transparent) 28%, transparent 62%), radial-gradient(ellipse 120% 70% at calc(50% - var(--ax) * 22%) calc(62% - var(--ay) * 18%), color-mix(in srgb, var(--clt-linen-rgb) 7%, transparent) 0%, transparent 60%);
  mix-blend-mode: screen;
  opacity: 0.95;
  animation: clt-lacquer-breathe 11s var(--ease) infinite alternate;
}

.clt-ambient[data-variant='lacquer']::after {
  content: '';
  position: absolute;
  inset: -2%;
  background: repeating-linear-gradient(96deg, transparent 0, color-mix(in srgb, var(--clt-brass-rgb) 8%, transparent) 1px, transparent 2px, transparent 9px), repeating-linear-gradient(96deg, transparent 0, color-mix(in srgb, var(--clt-linen-rgb) 4%, transparent) 1px, transparent 3px, transparent 22px);
  background-size: 100% 100%, 100% 100%;
  mix-blend-mode: screen;
  opacity: 0.35;
  animation: clt-lacquer-grain 26s linear infinite;
  rotate: calc(var(--ax) * 0.6deg);
  translate: calc(var(--ax) * 8px) calc(var(--ay) * 4px + var(--scr) * -0.03);
}

@keyframes clt-lacquer-breathe {
  0% {
    opacity: 0.85;
    filter: saturate(1) brightness(1);
  }
  100% {
    opacity: 1;
    filter: saturate(1.08) brightness(1.06);
  }
}

@keyframes clt-lacquer-grain {
  0% {
    background-position: 0% 50%, 0% 50%;
  }
  100% {
    background-position: 100% 50%, 60% 50%;
  }
}

.clt-curtain-stage {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  overflow: hidden;
  pointer-events: none;
  isolation: isolate;
  --curtain-tex: none;
}

.clt-curtain-stage[hidden] {
  display: none;
}

.clt-curtain-stage__panel {
  position: relative;
  width: 50.5%;
  height: 100%;
  will-change: transform;
  background: var(--curtain-tex), var(--tex-noise), repeating-linear-gradient(90deg, transparent 0 2.1rem, color-mix(in srgb, var(--clt-linen-rgb) 5%, transparent) 2.35rem, transparent 2.6rem 4.7rem), repeating-linear-gradient(90deg, color-mix(in srgb, #000 58%, transparent) 0 0.55rem, transparent 1.7rem 3.5rem, color-mix(in srgb, #000 40%, transparent) 4.3rem 4.95rem), linear-gradient(177deg, color-mix(in srgb, var(--clt-charcoal) 68%, var(--clt-plum) 32%) 0%, color-mix(in srgb, var(--clt-plum) 80%, var(--clt-velvet) 20%) 48%, color-mix(in srgb, var(--clt-plum) 58%, var(--clt-void) 42%) 100%);
  background-size: cover, 16rem 16rem, auto, auto, auto;
  background-blend-mode: overlay, overlay, screen, multiply, normal;
  box-shadow: inset 0 0 140px rgb(0 0 0 / 0.55);
}

.clt-curtain-stage__panel.is-left::after,
.clt-curtain-stage__panel.is-right::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 3rem;
  pointer-events: none;
}

.clt-curtain-stage__panel.is-left::after {
  right: -1px;
  background: linear-gradient(90deg, transparent 45%, color-mix(in srgb, var(--clt-candle-rgb) 15%, transparent) 88%, color-mix(in srgb, var(--clt-candle-rgb) 32%, transparent));
  box-shadow: 1px 0 18px color-mix(in srgb, var(--clt-candle-rgb) 20%, transparent);
}

.clt-curtain-stage__panel.is-right::after {
  left: -1px;
  background: linear-gradient(270deg, transparent 45%, color-mix(in srgb, var(--clt-candle-rgb) 15%, transparent) 88%, color-mix(in srgb, var(--clt-candle-rgb) 32%, transparent));
  box-shadow: -1px 0 18px color-mix(in srgb, var(--clt-candle-rgb) 20%, transparent);
}

@media (prefers-reduced-transparency: reduce) {
  .clt-curtain-stage__panel {
    background-blend-mode: normal;
  }
}

/* Dialogs, accordions, lists and steppers */
.clt-accordion {
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  background: var(--surface);
  overflow: hidden;
}

.clt-accordion-item + .clt-accordion-item {
  border-top: 1px solid var(--line-soft);
}

.clt-accordion-summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: clamp(1rem, 1.6vw, 1.4rem) clamp(1.25rem, 2vw, 1.75rem);
  cursor: pointer;
  font-family: var(--font-display);
  font-size: clamp(1.05rem, 0.9rem + 0.4vw, 1.2rem);
  color: var(--clt-linen-100);
  user-select: none;
  transition: background 420ms var(--ease), color 380ms var(--ease);
}

.clt-accordion-summary::-webkit-details-marker {
  display: none;
}

.clt-accordion-summary::after {
  content: '';
  flex-shrink: 0;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 46%, transparent);
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none' stroke='%23e8c994' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'><path d='M3.5 5.5l3.5 3.5 3.5-3.5'/></svg>") center / 0.78rem 0.78rem no-repeat, radial-gradient(circle at 35% 28%, color-mix(in srgb, var(--clt-linen-rgb) 28%, transparent), transparent 50%), radial-gradient(circle, color-mix(in srgb, var(--clt-brass-rgb) 18%, transparent), transparent 75%), rgb(0 0 0 / 0.32);
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.12), inset 0 -1px 0 rgb(0 0 0 / 0.5), 0 0 14px color-mix(in srgb, var(--clt-brass-rgb) 24%, transparent);
  transform: rotate(0deg);
  transition: transform 540ms var(--ease-stage), box-shadow 480ms var(--ease-stage), border-color 380ms var(--ease);
}

.clt-accordion-summary:hover {
  background: rgb(0 0 0 / 0.2);
  box-shadow: var(--carve-press);
}

.clt-accordion-summary:hover::after {
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 70%, transparent);
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.18), inset 0 -1px 0 rgb(0 0 0 / 0.5), 0 0 22px color-mix(in srgb, var(--clt-brass-rgb) 50%, transparent), 0 0 46px color-mix(in srgb, var(--clt-candle-rgb) 22%, transparent);
}

.clt-accordion-item[open] .clt-accordion-summary::after {
  transform: rotate(-180deg);
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 64%, transparent);
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.18), inset 0 -1px 0 rgb(0 0 0 / 0.5), 0 0 22px color-mix(in srgb, var(--clt-brass-rgb) 44%, transparent), 0 0 46px color-mix(in srgb, var(--clt-candle-rgb) 16%, transparent);
}

.clt-accordion-item[open] .clt-accordion-summary {
  color: var(--clt-bone);
  background: radial-gradient(ellipse 110% 100% at 50% 100%, color-mix(in srgb, var(--clt-brass-rgb) 14%, transparent), transparent 72%), rgb(0 0 0 / 0.38);
  box-shadow: inset 0 2px 5px rgb(0 0 0 / 0.55), inset 0 -1px 0 rgb(255 244 218 / 0.08);
}

.clt-accordion-body {
  padding: 0 clamp(1.25rem, 2vw, 1.75rem) clamp(1.25rem, 2vw, 1.5rem);
  color: var(--text-muted);
  line-height: 1.65;
}

@supports (interpolate-size: allow-keywords) {
  :root {
    interpolate-size: allow-keywords;
  }
  .clt-accordion-item::details-content {
    block-size: 0;
    overflow: clip;
    opacity: 0;
    transition: block-size 540ms var(--ease-stage), opacity 380ms var(--ease), content-visibility 540ms allow-discrete;
  }
  .clt-accordion-item[open]::details-content {
    block-size: auto;
    opacity: 1;
  }
}

.clt-tabs {
  display: inline-flex;
  position: relative;
  padding: 0.3rem;
  gap: 0;
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  background: radial-gradient(ellipse 100% 100% at 50% 0%, color-mix(in srgb, var(--clt-brass-rgb) 6%, transparent), transparent 70%), var(--surface-soft);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  overflow-x: auto;
  max-width: 100%;
  scrollbar-width: none;
  isolation: isolate;
  --tab-x: 0px;
  --tab-w: 0px;
}

.clt-tabs::-webkit-scrollbar {
  display: none;
}

.clt-tabs::before {
  content: '';
  position: absolute;
  top: 0.3rem;
  bottom: 0.3rem;
  left: 0;
  width: var(--tab-w);
  transform: translate3d(var(--tab-x), 0, 0);
  border-radius: var(--r-pill);
  background: radial-gradient(ellipse 100% 120% at 50% 0%, color-mix(in srgb, var(--clt-brass-rgb) 28%, transparent), transparent 70%), radial-gradient(ellipse 100% 80% at 50% 100%, color-mix(in srgb, var(--clt-velvet-rgb) 22%, transparent), transparent 70%), rgb(0 0 0 / 0.46);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--clt-brass-rgb) 44%, transparent), inset 0 1px 0 rgb(255 244 218 / 0.12), inset 0 -1px 0 rgb(0 0 0 / 0.5), 0 0 24px color-mix(in srgb, var(--clt-brass-rgb) 24%, transparent);
  pointer-events: none;
  z-index: 0;
  opacity: 0;
  transition: transform 540ms var(--ease-stage), width 540ms var(--ease-stage), box-shadow 380ms var(--ease), opacity 220ms var(--ease);
}

.clt-tabs.is-ready::before {
  opacity: 1;
}

.clt-tab {
  position: relative;
  z-index: 1;
  padding: 0.6rem 1.1rem;
  border-radius: var(--r-pill);
  font-size: 0.84rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--text-muted);
  white-space: nowrap;
  transition: color 380ms var(--ease), text-shadow 380ms var(--ease);
  cursor: pointer;
  background: transparent;
  border: 0;
}

.clt-tab:hover {
  color: var(--clt-linen-100);
  background: rgb(0 0 0 / 0.2);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--clt-linen-rgb) 12%, transparent);
  text-shadow: 0 0 0.05em rgb(255 244 218 / 0.5);
}

.clt-tabs:not(.is-ready) .clt-tab[aria-selected='true'] {
  color: var(--clt-linen-100);
  background: radial-gradient(ellipse 120% 90% at 50% 100%, color-mix(in srgb, var(--clt-brass-rgb) 20%, transparent), transparent 70%), rgb(0 0 0 / 0.46);
  box-shadow: var(--carve-select), var(--carve-select-ring), 0 0 20px color-mix(in srgb, var(--clt-brass-rgb) 16%, transparent);
}

.clt-tabs.is-ready .clt-tab[aria-selected='true'] {
  color: var(--clt-linen-100);
  text-shadow: 0 0 0.05em rgb(255 244 218 / 0.55);
}

.clt-tooltip {
  position: relative;
  display: inline-block;
}

.clt-tooltip__bubble {
  position: absolute;
  bottom: calc(100% + 0.5rem);
  left: 50%;
  transform: translateX(-50%);
  padding: 0.45rem 0.7rem;
  border: 1px solid var(--line);
  border-radius: 0.6rem;
  background: linear-gradient(180deg, color-mix(in srgb, var(--clt-night) 90%, transparent), color-mix(in srgb, var(--clt-void) 95%, transparent));
  color: var(--clt-linen-100);
  font-size: 0.78rem;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  box-shadow: var(--shadow-raise);
  transition: opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}

.clt-tooltip:hover .clt-tooltip__bubble,
.clt-tooltip:focus-within .clt-tooltip__bubble {
  opacity: 1;
  transform: translateX(-50%) translateY(-2px);
}

.clt-notice {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.85rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--line);
  border-left: 2px solid var(--clt-brass-300);
  border-radius: 0.875rem;
  background: radial-gradient(ellipse 130% 90% at 0% 100%, color-mix(in srgb, var(--clt-brass-rgb) 18%, transparent), transparent 72%), rgb(0 0 0 / 0.34);
  box-shadow: inset 0 2px 5px rgb(0 0 0 / 0.5), inset 0 -1px 0 rgb(255 244 218 / 0.08), inset 0 0 0 1px color-mix(in srgb, var(--clt-brass-rgb) 12%, transparent), 0 0 20px color-mix(in srgb, var(--clt-brass-rgb) 12%, transparent);
  color: var(--text);
  font-size: 0.92rem;
  line-height: 1.55;
}

.clt-notice__icon {
  display: grid;
  place-items: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 40%, transparent);
  background: linear-gradient(200deg, rgb(255 244 218 / 0.18) 0%, rgb(255 244 218 / 0.03) 36%, transparent 64%), radial-gradient(circle at 50% 130%, color-mix(in srgb, var(--clt-brass-rgb) 30%, transparent), transparent 62%), rgb(0 0 0 / 0.26);
  -webkit-backdrop-filter: blur(8px) saturate(1.25);
  backdrop-filter: blur(8px) saturate(1.25);
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.3), inset 0 2px 5px rgb(0 0 0 / 0.34), 0 0 12px color-mix(in srgb, var(--clt-brass-rgb) 22%, transparent);
  color: var(--clt-bone);
  font-family: var(--font-display);
  font-size: 0.86rem;
}

.clt-notice.is-velvet {
  border-left-color: color-mix(in srgb, var(--clt-velvet-rgb) 100%, transparent);
  background: radial-gradient(ellipse 130% 90% at 0% 100%, color-mix(in srgb, var(--clt-velvet-rgb) 42%, transparent), transparent 72%), rgb(0 0 0 / 0.34);
  box-shadow: inset 0 2px 5px rgb(0 0 0 / 0.5), inset 0 -1px 0 rgb(255 244 218 / 0.08), inset 0 0 0 1px color-mix(in srgb, var(--clt-velvet-rgb) 26%, transparent), 0 0 20px color-mix(in srgb, var(--clt-velvet-rgb) 20%, transparent);
}

.clt-notice.is-smoke {
  border-left-color: var(--clt-smoke-blue);
  background: radial-gradient(ellipse 130% 90% at 0% 100%, color-mix(in srgb, var(--clt-smoke-blue-rgb) 24%, transparent), transparent 72%), rgb(0 0 0 / 0.34);
  box-shadow: inset 0 2px 5px rgb(0 0 0 / 0.5), inset 0 -1px 0 rgb(255 244 218 / 0.08), inset 0 0 0 1px color-mix(in srgb, var(--clt-smoke-blue-rgb) 20%, transparent), 0 0 20px color-mix(in srgb, var(--clt-smoke-blue-rgb) 14%, transparent);
}

.clt-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.92rem;
}

.clt-table th,
.clt-table td {
  padding: 0.85rem 1rem;
  text-align: left;
  border-bottom: 1px solid var(--line-soft);
  color: var(--text);
}

.clt-table th {
  font-family: var(--font-body);
  font-size: 0.72rem;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--clt-brass-300);
  font-weight: 700;
  background: color-mix(in srgb, var(--clt-linen-rgb) 3%, transparent);
}

.clt-table tr:hover td {
  background: color-mix(in srgb, var(--clt-linen-rgb) 3%, transparent);
}

.clt-table caption {
  text-align: left;
  padding: 0.75rem 0;
  color: var(--text-muted);
  font-size: 0.84rem;
}

.clt-progress {
  width: 100%;
  height: 0.375rem;
  border-radius: var(--r-pill);
  background: rgb(0 0 0 / 0.45);
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgb(0 0 0 / 0.6);
}

.clt-progress__bar {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--clt-brass-400), var(--clt-brass-100));
  box-shadow: 0 0 14px color-mix(in srgb, var(--clt-brass-rgb) 50%, transparent);
  transition: width var(--dur-slow) var(--ease);
}

dialog.clt-dialog {
  --lamp-rgb: var(--clt-candle-rgb);
  position: relative;
  isolation: isolate;
  max-width: min(36rem, 92vw);
  padding: 0;
  overflow: visible;
  border: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 28%, transparent);
  border-radius: var(--r-shell);
  background: radial-gradient(ellipse 70% 50% at 50% 0%, color-mix(in srgb, var(--lamp-rgb) 11%, transparent), transparent 72%), var(--clt-pitch);
  color: var(--text);
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.08), inset 0 -1px 0 rgb(0 0 0 / 0.6), inset 0 0 90px rgb(0 0 0 / 0.55), 0 32px 80px rgb(0 0 0 / 0.65), 0 0 90px color-mix(in srgb, var(--clt-brass-rgb) 10%, transparent);
}

dialog.clt-dialog::before {
  content: '';
  position: absolute;
  left: 50%;
  top: -1px;
  z-index: 3;
  width: min(60%, 22rem);
  height: 2px;
  translate: -50% 0;
  border-radius: 2px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--lamp-rgb) 64%, transparent) 18%, var(--clt-filament) 50%, color-mix(in srgb, var(--lamp-rgb) 64%, transparent) 82%, transparent);
  box-shadow: 0 0 8px color-mix(in srgb, var(--lamp-rgb) 52%, transparent), 0 0 24px color-mix(in srgb, var(--lamp-rgb) 22%, transparent);
}

dialog.clt-dialog::backdrop {
  background: radial-gradient(ellipse 80% 60% at 50% 0%, color-mix(in srgb, var(--clt-velvet-rgb) 30%, transparent), transparent 60%), rgb(4 3 6 / 0.8);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

@media (pointer: coarse) {
  dialog.clt-dialog::backdrop {
    background: rgb(4 3 6 / 0.88);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

.clt-dialog__body {
  padding: clamp(1.5rem, 3vw, 2.25rem);
}

.clt-dialog__title {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
  color: var(--clt-linen-100);
  margin: 0 0 0.5rem 0;
  letter-spacing: -0.012em;
}

.clt-dialog__actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.6rem;
  padding: 1rem clamp(1.5rem, 3vw, 2.25rem);
  border-top: 1px solid var(--line-soft);
  background: rgb(0 0 0 / 0.18);
}

.clt-dialog__close {
  position: absolute;
  top: 0.85rem;
  right: 0.85rem;
  z-index: 2;
  display: grid;
  place-items: center;
}

dialog.clt-dialog.is-wide {
  max-width: min(44rem, 94vw);
}

.clt-dialog__scroll {
  max-height: min(54vh, 24rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  margin-top: 0.6rem;
  padding-right: 0.5rem;
  display: grid;
  gap: 0.85rem;
  color: var(--text-muted);
  line-height: 1.65;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--clt-brass-rgb) 40%, transparent) transparent;
}

.clt-dialog__scroll h4 {
  margin: 0.5rem 0 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.05rem;
  letter-spacing: -0.008em;
  color: var(--clt-linen-100);
}

.clt-dialog__scroll p {
  color: var(--text-muted);
}

.clt-dialog__scroll::-webkit-scrollbar {
  width: 6px;
}

.clt-dialog__scroll::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--clt-brass-rgb) 40%, transparent);
  border-radius: 3px;
}

@media (max-width: 30rem) {
  dialog.clt-dialog {
    max-width: 94vw;
  }
  .clt-dialog__actions {
    flex-wrap: wrap;
  }
  .clt-dialog__actions .clt-button {
    flex: 1 1 12rem;
  }
}

.clt-stepper {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0;
  padding: 0.45rem;
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  background: radial-gradient(ellipse 100% 100% at 50% 0%, color-mix(in srgb, var(--clt-brass-rgb) 5%, transparent), transparent 70%), var(--surface-soft);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  isolation: isolate;
}

.clt-stepper__step {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.5rem 1rem;
  border-radius: var(--r-pill);
  color: var(--text-faint);
  font-size: 0.84rem;
  letter-spacing: 0.02em;
  white-space: nowrap;
  transition: color 380ms var(--ease), background 480ms var(--ease-stage), box-shadow 480ms var(--ease-stage);
}

.clt-stepper__step + .clt-stepper__step::before {
  content: '';
  display: inline-block;
  width: 1.2rem;
  height: 1px;
  margin-right: 0.25rem;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--clt-linen-rgb) 22%, transparent), transparent);
}

.clt-stepper__num {
  display: inline-grid;
  place-items: center;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  background: linear-gradient(200deg, rgb(255 244 218 / 0.12) 0%, transparent 52%), rgb(0 0 0 / 0.35);
  border: 1px solid color-mix(in srgb, var(--clt-linen-rgb) 14%, transparent);
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.14), inset 0 2px 4px rgb(0 0 0 / 0.4);
  color: var(--text-dim);
  font-family: var(--font-display);
  font-size: 0.78rem;
  transition: background 380ms var(--ease), border-color 380ms var(--ease), color 380ms var(--ease), box-shadow 480ms var(--ease-stage);
}

.clt-stepper__step.is-active {
  color: var(--clt-bone);
  background: radial-gradient(ellipse 120% 90% at 50% 100%, color-mix(in srgb, var(--clt-brass-rgb) 20%, transparent), transparent 70%), rgb(0 0 0 / 0.42);
  box-shadow: var(--carve-select), inset 0 0 0 1px color-mix(in srgb, var(--clt-brass-rgb) 32%, transparent), 0 0 22px color-mix(in srgb, var(--clt-brass-rgb) 20%, transparent);
}

.clt-stepper__step.is-active .clt-stepper__num {
  background: linear-gradient(180deg, var(--clt-brass-100), var(--clt-brass-400));
  border-color: rgb(245 227 192 / 0.7);
  color: var(--clt-brass-ink);
  box-shadow: inset 0 1px 0 rgb(255 248 232 / 0.5), 0 0 14px color-mix(in srgb, var(--clt-brass-rgb) 40%, transparent);
}

.clt-stepper__step.is-done {
  color: var(--text-muted);
}

.clt-stepper__step.is-done .clt-stepper__num {
  background: linear-gradient(200deg, rgb(255 244 218 / 0.16) 0%, transparent 54%), radial-gradient(circle at 50% 128%, color-mix(in srgb, var(--clt-brass-rgb) 40%, transparent), transparent 64%), rgb(0 0 0 / 0.3);
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 50%, transparent);
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.24), inset 0 2px 4px rgb(0 0 0 / 0.36), 0 0 10px color-mix(in srgb, var(--clt-brass-rgb) 20%, transparent);
  color: var(--clt-bone);
}

.clt-stepper__step.is-done .clt-stepper__num::after {
  content: '';
  width: 0.55rem;
  height: 0.3rem;
  border-left: 1.6px solid var(--clt-bone);
  border-bottom: 1.6px solid var(--clt-bone);
  transform: rotate(-45deg) translate(1px, -1px);
}

.clt-stepper__step.is-done .clt-stepper__num-text {
  display: none;
}

.clt-list-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: clamp(0.75rem, 2vw, 1.5rem);
  padding: 1rem clamp(1rem, 2vw, 1.5rem);
  border-radius: var(--r-card);
  border: 1px solid var(--line-soft);
  background: radial-gradient(ellipse 30% 100% at 0% 50%, color-mix(in srgb, var(--clt-brass-rgb) 5%, transparent), transparent 70%), rgb(0 0 0 / 0.16);
  transition: border-color 380ms var(--ease), background 480ms var(--ease-stage), transform 320ms var(--ease);
}

.clt-list-row:hover {
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 40%, transparent);
  background: radial-gradient(ellipse 50% 120% at 0% 50%, color-mix(in srgb, var(--clt-brass-rgb) 12%, transparent), transparent 70%), rgb(0 0 0 / 0.18);
  transform: translateX(2px);
}

.clt-list-row__date {
  display: grid;
  place-items: center;
  width: 3.5rem;
  padding: 0.45rem 0;
  border-radius: 0.7rem;
  border: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 38%, transparent);
  background: rgb(0 0 0 / 0.3);
  color: var(--clt-brass-200);
  font-family: var(--font-display);
  line-height: 1;
  letter-spacing: -0.012em;
}

.clt-list-row__day {
  font-size: 1.4rem;
  color: var(--clt-bone);
}

.clt-list-row__mon {
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding-top: 0.15rem;
}

.clt-list-row__body {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.clt-list-row__title {
  font-family: var(--font-display);
  font-size: clamp(1.05rem, 0.9rem + 0.45vw, 1.25rem);
  color: var(--clt-linen-100);
  letter-spacing: -0.012em;
  line-height: 1.15;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.clt-list-row__meta {
  color: var(--text-muted);
  font-size: 0.82rem;
  display: flex;
  gap: 0.5rem 0.85rem;
  flex-wrap: wrap;
}

.clt-list-row__meta > span + span::before {
  content: '·';
  color: var(--clt-brass-300);
  padding-right: 0.5rem;
}

.clt-list-row__weekday {
  font-size: 0.58rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--text-dim);
  font-weight: 700;
  padding-top: 0.15rem;
}

.clt-event .clt-list-row__date {
  width: 4rem;
  padding-block: 0.55rem;
}

.clt-callout {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-radius: var(--r-card);
  border: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 32%, transparent);
  background: radial-gradient(ellipse 60% 100% at 0% 50%, color-mix(in srgb, var(--clt-velvet-rgb) 40%, transparent), transparent 70%), radial-gradient(ellipse 60% 100% at 100% 50%, color-mix(in srgb, var(--clt-brass-rgb) 18%, transparent), transparent 70%), linear-gradient(160deg, color-mix(in srgb, var(--clt-plum-rgb) 50%, transparent), color-mix(in srgb, var(--clt-void) 80%, transparent)), var(--surface);
  color: var(--clt-linen-100);
  overflow: hidden;
  isolation: isolate;
  transition: border-color 380ms var(--ease), transform 320ms var(--ease), box-shadow 540ms var(--ease-stage);
}

.clt-callout::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: var(--tex-noise);
  background-size: 16rem 16rem;
  mix-blend-mode: overlay;
  opacity: 0.4;
}

.clt-callout:hover {
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 56%, transparent);
  box-shadow: var(--shadow-deep), 0 0 40px color-mix(in srgb, var(--clt-brass-rgb) 18%, transparent);
}

@media (min-width: 47.5rem) {
  .clt-callout {
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 2rem;
  }
}

.clt-callout__body {
  display: grid;
  gap: 0.5rem;
  position: relative;
}

.clt-callout__eyebrow {
  font-family: var(--font-body);
  font-size: var(--type-eyebrow);
  font-weight: 700;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--clt-brass-300);
}

.clt-callout__title {
  font-family: var(--font-display);
  font-size: clamp(1.4rem, 1rem + 1.5vw, 2rem);
  color: var(--clt-linen-100);
  line-height: 1.1;
  letter-spacing: -0.012em;
  margin: 0;
}

.clt-callout__lede {
  color: var(--text-muted);
  font-size: var(--type-body);
}

.clt-rating {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  --rating: 0;
  --rating-count: 5;
}

.clt-rating__mark {
  position: relative;
  width: 1.05rem;
  height: 1.05rem;
  display: grid;
  place-items: center;
  color: color-mix(in srgb, var(--clt-linen-rgb) 22%, transparent);
  font-size: 0.95rem;
  line-height: 1;
  transition: color 280ms var(--ease), text-shadow 280ms var(--ease);
}

.clt-rating__mark::before {
  content: '\2726';
}

.clt-rating[data-value] .clt-rating__mark.is-on,
.clt-rating .clt-rating__mark.is-on {
  color: var(--clt-brass-100);
  text-shadow: 0 0 6px color-mix(in srgb, var(--clt-candle-rgb) 60%, transparent);
}

.clt-rating__num {
  margin-left: 0.55rem;
  color: var(--text-muted);
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  font-feature-settings: 'tnum' 1;
}

.clt-kbd-cluster {
  display: inline-flex;
  gap: 0.3rem;
  align-items: center;
  font-size: 0.78rem;
  color: var(--text-muted);
}

.clt-kbd-cluster kbd {
  padding: 0.2em 0.5em;
  border-radius: 0.4rem;
  background: linear-gradient(180deg, color-mix(in srgb, var(--clt-linen-rgb) 10%, transparent), rgb(0 0 0 / 0.34));
  border: 1px solid var(--line);
  box-shadow: inset 0 -1px 0 rgb(0 0 0 / 0.45), inset 0 1px 0 rgb(255 244 218 / 0.08);
}

.clt-kbd-cluster .plus {
  color: var(--text-faint);
}

.clt-feature-card {
  position: relative;
  display: grid;
  gap: 0.85rem;
  padding: clamp(1.25rem, 2vw, 1.75rem);
  border-radius: var(--r-card);
  border: 1px solid var(--line);
  background: radial-gradient(ellipse 100% 60% at 50% 0%, color-mix(in srgb, var(--clt-brass-rgb) 8%, transparent), transparent 60%), var(--surface);
  transition: border-color 380ms var(--ease), transform 320ms var(--ease), box-shadow 540ms var(--ease-stage);
  overflow: hidden;
  isolation: isolate;
}

.clt-feature-card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 40%, transparent);
  box-shadow: var(--shadow-deep), 0 0 32px color-mix(in srgb, var(--clt-brass-rgb) 14%, transparent);
}

.clt-feature-card__icon {
  display: grid;
  place-items: center;
}

.clt-feature-card__title {
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 1rem + 0.6vw, 1.4rem);
  color: var(--clt-linen-100);
  letter-spacing: -0.012em;
  line-height: 1.15;
  margin: 0;
}

.clt-feature-card__copy {
  color: var(--text-muted);
}

.clt-pulse-dot {
  position: relative;
  display: inline-block;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--clt-brass-200);
  box-shadow: 0 0 0 0 color-mix(in srgb, var(--clt-brass-rgb) 60%, transparent);
}

.clt-pulse-dot::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: inherit;
  animation: clt-pulse-out 1.8s var(--ease-stage) infinite;
}

@keyframes clt-pulse-out {
  0% {
    transform: scale(1);
    opacity: 0.7;
  }
  100% {
    transform: scale(2.8);
    opacity: 0;
  }
}

.clt-pulse-dot.is-velvet {
  background: var(--clt-velvet);
}

.clt-pulse-dot.is-candle {
  background: var(--clt-candle);
}

.clt-pulse-dot.is-smoke {
  background: var(--clt-smoke-blue);
}

@media (prefers-reduced-motion: reduce) {
  .clt-pulse-dot::after {
    animation: none;
  }
}

.clt-spotlight {
  position: relative;
  isolation: isolate;
}

.clt-spotlight::before {
  content: '';
  position: absolute;
  inset: -20% -10% -30% -10%;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(ellipse 60% 70% at 50% 35%, color-mix(in srgb, var(--clt-candle-rgb) 22%, transparent), transparent 70%);
  filter: blur(28px);
  animation: clt-spotlight-breathe 7s ease-in-out infinite alternate;
}

@keyframes clt-spotlight-breathe {
  0% {
    opacity: 0.78;
    transform: scale(1);
  }
  100% {
    opacity: 1;
    transform: scale(1.04);
  }
}

@media (prefers-reduced-motion: reduce) {
  .clt-spotlight::before {
    animation: none;
  }
}

.clt-toggle-group {
  display: inline-flex;
  padding: 0.3rem;
  gap: 0;
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  background: var(--surface-soft);
  position: relative;
  isolation: isolate;
  --tg-x: 0;
  --tg-w: 0;
}

.clt-toggle-group::before {
  content: '';
  position: absolute;
  top: 0.3rem;
  bottom: 0.3rem;
  left: 0;
  width: var(--tg-w);
  transform: translate3d(var(--tg-x), 0, 0);
  border-radius: var(--r-pill);
  background: radial-gradient(ellipse 100% 120% at 50% 0%, color-mix(in srgb, var(--clt-brass-rgb) 28%, transparent), transparent 70%), rgb(0 0 0 / 0.46);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--clt-brass-rgb) 44%, transparent), inset 0 1px 0 rgb(255 244 218 / 0.12);
  pointer-events: none;
  z-index: 0;
  opacity: 0;
  transition: transform 540ms var(--ease-stage), width 540ms var(--ease-stage), opacity 220ms var(--ease);
}

.clt-toggle-group.is-ready::before {
  opacity: 1;
}

.clt-toggle-group__option {
  position: relative;
  z-index: 1;
  padding: 0.55rem 1rem;
  border: 0;
  background: transparent;
  border-radius: var(--r-pill);
  color: var(--text-muted);
  font-size: 0.84rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: color 380ms var(--ease);
  white-space: nowrap;
}

.clt-toggle-group__option:hover {
  color: var(--clt-linen-100);
}

.clt-toggle-group__option[aria-pressed='true'] {
  color: var(--clt-bone);
}

.clt-factbar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  border-radius: var(--r-shell);
  border: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 30%, transparent);
  background: linear-gradient(180deg, color-mix(in srgb, var(--clt-charcoal) 88%, transparent), color-mix(in srgb, var(--clt-void) 90%, transparent));
  box-shadow: var(--shadow-deep), inset 0 1px 0 rgb(255 244 218 / 0.05);
  overflow: hidden;
  isolation: isolate;
}

.clt-factbar::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 66%;
  background: radial-gradient(140% 110% at 50% -30%, color-mix(in srgb, var(--clt-candle-rgb) 18%, transparent) 0%, color-mix(in srgb, var(--clt-brass-rgb) 8%, transparent) 44%, transparent 78%);
  filter: blur(6px);
  pointer-events: none;
  z-index: 0;
  animation: clt-factbar-overhead 13s ease-in-out infinite;
}

@keyframes clt-factbar-overhead {
  0%,
  100% {
    opacity: 0.86;
    filter: blur(6px) brightness(1);
  }
  34% {
    opacity: 1;
    filter: blur(7px) brightness(1.05);
  }
  67% {
    opacity: 0.9;
    filter: blur(6px) brightness(0.98);
  }
}

@media (prefers-reduced-motion: reduce) {
  .clt-factbar::before {
    animation: none;
  }
}

.clt-factbar__cell {
  position: relative;
  z-index: 1;
  flex: 1 1 50%;
  min-width: 0;
  box-sizing: border-box;
  display: grid;
  gap: 0.5rem;
  align-content: center;
  justify-items: center;
  text-align: center;
  padding: clamp(1.4rem, 2.6vw, 2.1rem) clamp(1.1rem, 2vw, 1.6rem);
  transition: transform var(--dur-base) var(--ease-stage), opacity var(--dur-base) var(--ease);
}

@media (min-width: 40rem) {
  .clt-factbar__cell {
    flex-basis: 33.3333%;
  }
}

@media (min-width: 64rem) {
  .clt-factbar__cell {
    flex-basis: 20%;
  }
}

.clt-factbar__cell {
  border-radius: calc(var(--r-shell) - 0.5rem);
}

.clt-factbar__cell::before {
  content: '';
  position: absolute;
  inset: 0.5rem;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(180deg, color-mix(in srgb, var(--clt-void) 92%, transparent), color-mix(in srgb, var(--clt-void) 60%, transparent));
  box-shadow: inset 0 3px 10px rgb(0 0 0 / 0.7), inset 0 2px 3px rgb(0 0 0 / 0.55), inset 0 -1px 0 rgb(255 244 218 / 0.09);
  opacity: 0;
  transform: scale(0.96);
  transition: opacity var(--dur-base) var(--ease-stage), transform var(--dur-base) var(--ease-stage);
  pointer-events: none;
}

.clt-factbar__cell::after {
  content: '';
  position: absolute;
  z-index: -1;
  left: 0.5rem;
  right: 0.5rem;
  bottom: 0.5rem;
  height: 78%;
  border-radius: inherit;
  background: radial-gradient(ellipse 62% 86% at 50% 116%, color-mix(in srgb, var(--clt-candle-rgb) 40%, transparent) 0%, transparent 72%), radial-gradient(ellipse 104% 100% at 50% 122%, color-mix(in srgb, var(--clt-brass-rgb) 20%, transparent) 0%, transparent 76%);
  filter: blur(10px);
  opacity: 0;
  transform: translateY(10px);
  transition: opacity var(--dur-base) var(--ease-stage), transform var(--dur-base) var(--ease-stage);
  pointer-events: none;
}

.clt-factbar__label {
  font-family: var(--font-body);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--clt-brass-300);
}

.clt-factbar__value {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.25rem, 0.9rem + 0.9vw, 1.6rem);
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--clt-linen-100);
  overflow-wrap: break-word;
  hyphens: auto;
  transition: color var(--dur-base) var(--ease);
}

.clt-factbar__note {
  margin: 0;
  color: var(--text-dim);
  font-size: 0.84rem;
  line-height: 1.45;
}

@media (hover: hover) {
  .clt-factbar__cell:hover::before {
    opacity: 1;
    transform: scale(1);
  }
  .clt-factbar__cell:hover::after {
    opacity: 1;
    transform: translateY(0);
    animation: clt-factbar-foot 6.5s ease-in-out infinite;
  }
  .clt-factbar__cell:hover .clt-factbar__value {
    color: var(--clt-candle);
  }
}

@keyframes clt-factbar-foot {
  0%,
  100% {
    filter: blur(10px) brightness(1);
  }
  38% {
    filter: blur(12px) brightness(1.08);
  }
  71% {
    filter: blur(10px) brightness(0.97);
  }
}

@media (prefers-reduced-motion: reduce) {
  .clt-factbar__cell::before,
  .clt-factbar__cell::after,
  .clt-factbar__value {
    transition: opacity var(--dur-base) var(--ease);
  }
  .clt-factbar__cell:hover::before {
    transform: none;
  }
  .clt-factbar__cell:hover::after {
    animation: none;
  }
}

/* Media, people and showcases */
.clt-media-ph {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  min-height: 9rem;
  overflow: hidden;
  isolation: isolate;
  color: var(--clt-brass-200);
  background: var(--tex-noise), radial-gradient(ellipse 80% 80% at 28% 18%, color-mix(in srgb, var(--clt-velvet-rgb) 58%, transparent), transparent 70%), radial-gradient(ellipse 80% 80% at 82% 100%, color-mix(in srgb, var(--clt-brass-rgb) 34%, transparent), transparent 70%), var(--surface-strong);
  background-size: 15rem 15rem, auto, auto, auto;
  background-blend-mode: overlay, normal, normal, normal;
}

.clt-media-ph::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgb(255 244 218 / 0.05) 0%, transparent 30%, rgb(0 0 0 / 0.5) 100%);
}

.clt-media-ph__seal {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 50%, transparent);
  background: radial-gradient(circle at 35% 26%, color-mix(in srgb, var(--clt-linen-rgb) 30%, transparent), transparent 40%), linear-gradient(145deg, color-mix(in srgb, var(--clt-brass-rgb) 38%, transparent), rgb(14 11 10 / 0.9));
  font-family: var(--font-display);
  font-size: 1.1rem;
  color: var(--clt-brass-100);
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.18), inset 0 -1px 0 rgb(0 0 0 / 0.55), 0 0 18px color-mix(in srgb, var(--clt-brass-rgb) 22%, transparent);
}

.clt-media-ph__label {
  position: absolute;
  z-index: 1;
  bottom: 0.9rem;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--text-faint);
}

.clt-media-ph:has(img, video) .clt-media-ph__seal,
.clt-media-ph:has(img, video) .clt-media-ph__label {
  display: none;
}

.clt-media-ph > img,
.clt-media-ph > video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.clt-figure {
  margin: 0;
  display: grid;
  gap: 0.85rem;
}

.clt-figure__frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: var(--r-card);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-raise);
}

.clt-figure.is-portrait .clt-figure__frame {
  aspect-ratio: 3 / 4;
}

.clt-figure.is-square .clt-figure__frame {
  aspect-ratio: 1 / 1;
}

.clt-figure__cap {
  display: flex;
  gap: 0.7rem;
  align-items: baseline;
  color: var(--text-dim);
  font-size: 0.82rem;
  line-height: 1.5;
}

.clt-figure__cap::before {
  content: '';
  flex: 0 0 1.4rem;
  height: 1px;
  transform: translateY(-0.3em);
  background: linear-gradient(90deg, var(--clt-brass-200), transparent);
}

.clt-figure__cap strong {
  color: var(--clt-brass-200);
  font-weight: 700;
}

.clt-person-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  padding: clamp(0.6rem, 1.5vw, 0.9rem);
  overflow: hidden;
  isolation: isolate;
  border-radius: var(--r-card);
  border: 1px solid var(--line);
  background: var(--tex-noise), radial-gradient(ellipse 100% 60% at 50% 0%, color-mix(in srgb, var(--clt-brass-rgb) 7%, transparent), transparent 60%), color-mix(in srgb, var(--clt-night) 78%, var(--clt-plum) 22%);
  background-size: 15rem 15rem, auto, auto;
  background-blend-mode: overlay, normal, normal;
  box-shadow: inset 0 2px 6px rgb(0 0 0 / 0.55), inset 0 1px 0 rgb(0 0 0 / 0.4), inset 0 -1px 0 rgb(255 244 218 / 0.1), inset 0 0 0 1px color-mix(in srgb, var(--clt-brass-rgb) 8%, transparent);
  transition: border-color var(--dur-base) var(--ease), box-shadow 540ms var(--ease-stage);
}

.clt-person-card:hover,
.clt-person-card.is-hover:hover,
a.clt-person-card:hover {
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 44%, transparent);
  box-shadow: inset 0 2px 6px rgb(0 0 0 / 0.5), inset 0 1px 0 rgb(0 0 0 / 0.36), inset 0 -1px 0 rgb(255 244 218 / 0.18), inset 0 -18px 34px -18px color-mix(in srgb, var(--clt-brass-rgb) 24%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--clt-brass-rgb) 18%, transparent), 0 0 32px color-mix(in srgb, var(--clt-brass-rgb) 14%, transparent);
}

.clt-person-card:focus-within {
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 50%, transparent);
  box-shadow: inset 0 2px 6px rgb(0 0 0 / 0.5), inset 0 1px 0 rgb(0 0 0 / 0.36), inset 0 -1px 0 rgb(255 244 218 / 0.2), inset 0 -18px 34px -18px color-mix(in srgb, var(--clt-brass-rgb) 28%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--clt-brass-rgb) 22%, transparent), 0 0 32px color-mix(in srgb, var(--clt-brass-rgb) 16%, transparent);
}

a.clt-person-card:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
}

.clt-person-card > .clt-lamp-layer {
  height: clamp(12rem, 105%, 34rem);
  opacity: 0.4;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, rgb(0 0 0 / 0.94) 26%, rgb(0 0 0 / 0.62) 52%, rgb(0 0 0 / 0.26) 74%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 0%, rgb(0 0 0 / 0.94) 26%, rgb(0 0 0 / 0.62) 52%, rgb(0 0 0 / 0.26) 74%, transparent 100%);
  transition: opacity 520ms var(--ease-stage);
}

.clt-person-card:hover > .clt-lamp-layer,
.clt-person-card:focus-within > .clt-lamp-layer {
  opacity: 1;
}

.clt-person-card__portrait {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: calc(var(--r-card) - 0.5rem);
  border: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 26%, transparent);
  background: var(--surface-strong);
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.08), 0 6px 16px rgb(0 0 0 / 0.4);
  transition: border-color var(--dur-base) var(--ease), box-shadow 520ms var(--ease-stage);
}

.clt-person-card__portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.clt-person-card__portrait .clt-media-ph {
  min-height: 0;
  height: 100%;
}

.clt-person-card:hover .clt-person-card__portrait {
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 50%, transparent);
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.12), 0 8px 22px rgb(0 0 0 / 0.48), 0 0 26px color-mix(in srgb, var(--clt-brass-rgb) 16%, transparent);
}

.clt-person-card.is-bleed {
  gap: 0;
  padding: 0;
}

.clt-person-card.is-bleed .clt-person-card__portrait {
  aspect-ratio: 4 / 5;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.clt-person-card.is-bleed .clt-person-card__portrait::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 52%, rgb(0 0 0 / 0.6) 100%);
}

.clt-person-card.is-bleed .clt-person-card__body {
  padding: clamp(1.1rem, 1.8vw, 1.5rem);
}

.clt-person-card__body {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 0.3rem;
  padding: 0 0.3rem 0.1rem;
  min-width: 0;
}

.clt-person-card__role {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
  color: var(--clt-brass-300);
}

@media (min-width: 48rem) {
  .clt-person-card__role {
    font-size: var(--type-eyebrow);
    letter-spacing: var(--tracking-eyebrow);
  }
}

.clt-person-card__more {
  display: grid;
  place-items: center;
  width: 1.3rem;
  height: 1.3rem;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 38%, transparent);
  background: linear-gradient(180deg, rgb(0 0 0 / 0.36), rgb(0 0 0 / 0.16));
  box-shadow: inset 0 1px 4px rgb(0 0 0 / 0.5), inset 0 -1px 0 rgb(255 244 218 / 0.1);
  color: var(--clt-brass-100);
  font-size: 0.82rem;
  line-height: 1;
  letter-spacing: 0;
  transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), box-shadow var(--dur-base) var(--ease);
}

.clt-person-card:hover .clt-person-card__more {
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 64%, transparent);
  background: radial-gradient(circle at 50% 126%, color-mix(in srgb, var(--clt-brass-rgb) 34%, transparent), transparent 64%), linear-gradient(180deg, rgb(0 0 0 / 0.3), rgb(0 0 0 / 0.12));
  box-shadow: inset 0 1px 4px rgb(0 0 0 / 0.44), inset 0 -1px 0 rgb(255 244 218 / 0.16), 0 0 14px color-mix(in srgb, var(--clt-brass-rgb) 34%, transparent);
  color: var(--clt-bone);
}

.clt-person-card.is-compact .clt-person-card__more {
  display: none;
}

.clt-person-card__name {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.05rem, 0.92rem + 0.55vw, 1.4rem);
  line-height: 1.1;
  letter-spacing: -0.012em;
  color: var(--clt-linen-100);
  margin: 0;
}

.clt-person-card__line {
  margin: 0.1rem 0 0;
  color: var(--text-dim);
  font-size: 0.85rem;
  line-height: 1.5;
}

.clt-person-card__bio {
  color: var(--text-muted);
  font-size: 0.92rem;
  line-height: 1.55;
  margin: 0.15rem 0 0;
}

.clt-person-card.is-programme .clt-person-card__bio {
  display: grid;
  gap: 0.9rem;
  max-width: 64ch;
}

.clt-person-card.is-programme .clt-person-card__bio p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.96rem;
  line-height: 1.62;
}

.clt-person-card.is-programme .clt-person-card__bio p:first-child {
  position: relative;
  padding-bottom: 1.1rem;
  color: var(--text);
  font-size: 1.04rem;
  line-height: 1.6;
}

.clt-person-card.is-programme .clt-person-card__bio p:first-child::first-letter {
  float: left;
  margin: 0.02em 0.12em 0 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 3.4em;
  line-height: 0.84;
  color: var(--clt-brass-200);
  text-shadow: var(--glow-letter);
}

.clt-person-card.is-programme .clt-person-card__bio p:first-child::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, var(--line-brass), transparent 70%);
}

.clt-person-card__socials {
  display: flex;
  flex-wrap: wrap;
  gap: 0.32rem;
  margin: 0;
  padding: 0 0.3rem 0.1rem;
}

.clt-person-card__socials a {
  display: grid;
  place-items: center;
  width: 1.95rem;
  height: 1.95rem;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 34%, transparent);
  background: radial-gradient(circle at 50% 128%, color-mix(in srgb, var(--clt-brass-rgb) 22%, transparent), transparent 62%), linear-gradient(180deg, rgb(0 0 0 / 0.42), rgb(0 0 0 / 0.2));
  box-shadow: inset 0 2px 6px rgb(0 0 0 / 0.55), inset 0 -1px 0 rgb(255 244 218 / 0.1), inset 0 0 0 1px color-mix(in srgb, var(--clt-brass-rgb) 12%, transparent), 0 0 10px color-mix(in srgb, var(--clt-brass-rgb) 12%, transparent);
  color: var(--clt-brass-100);
  transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), box-shadow var(--dur-base) var(--ease);
}

.clt-person-card__socials a:hover {
  color: var(--clt-candle);
  border-color: color-mix(in srgb, var(--clt-candle-rgb) 56%, var(--clt-brass));
  background: radial-gradient(circle at 50% 124%, color-mix(in srgb, var(--clt-candle-rgb) 30%, transparent), transparent 64%), linear-gradient(180deg, rgb(0 0 0 / 0.36), rgb(0 0 0 / 0.16));
  box-shadow: inset 0 2px 6px rgb(0 0 0 / 0.5), inset 0 -1px 0 rgb(255 244 218 / 0.18), inset 0 0 16px color-mix(in srgb, var(--clt-candle-rgb) 20%, transparent), 0 0 16px color-mix(in srgb, var(--clt-brass-rgb) 40%, transparent), 0 0 34px color-mix(in srgb, var(--clt-candle-rgb) 16%, transparent);
}

.clt-person-card__socials a:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
}

.clt-person-card__socials svg {
  width: 0.92rem;
  height: 0.92rem;
}

@media (min-width: 48rem) {
  .clt-person-card__socials {
    gap: 0.4rem;
  }
  .clt-person-card__socials a {
    width: 2.15rem;
    height: 2.15rem;
  }
  .clt-person-card__socials svg {
    width: 1rem;
    height: 1rem;
  }
}

.clt-person-card.is-compact .clt-person-card__line {
  display: none;
}

.clt-person-card.is-compact > .clt-lamp-layer {
  opacity: 0.28;
}

@media (min-width: 30rem) {
  .clt-person-card.is-horizontal {
    flex-direction: row;
    align-items: center;
  }
  .clt-person-card.is-horizontal .clt-person-card__portrait {
    flex: 0 0 38%;
  }
  .clt-person-card.is-horizontal .clt-person-card__body {
    align-content: center;
  }
  .clt-person-card.is-bleed.is-horizontal {
    align-items: stretch;
  }
  .clt-person-card.is-bleed.is-horizontal .clt-person-card__portrait {
    aspect-ratio: auto;
    min-height: 100%;
  }
  .clt-person-card.is-bleed.is-horizontal .clt-person-card__portrait::after {
    background: linear-gradient(90deg, transparent 60%, rgb(0 0 0 / 0.4) 100%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .clt-person-card,
  .clt-person-card > .clt-lamp-layer,
  .clt-person-card__portrait,
  .clt-person-card__more,
  .clt-person-card__socials a {
    transition: none;
  }
}

.clt-testimonial {
  position: relative;
  display: grid;
  gap: 1.25rem;
  padding: clamp(1.5rem, 3vw, 2.4rem);
  border-radius: var(--r-card);
  border: 1px solid var(--line);
  overflow: hidden;
  isolation: isolate;
  background: radial-gradient(ellipse 70% 90% at 100% 0%, color-mix(in srgb, var(--clt-velvet-rgb) 30%, transparent), transparent 66%), radial-gradient(ellipse 60% 80% at 0% 100%, color-mix(in srgb, var(--clt-brass-rgb) 10%, transparent), transparent 70%), var(--surface);
  box-shadow: var(--shadow-raise);
}

.clt-testimonial::before {
  content: '\201C';
  position: absolute;
  top: 0.1rem;
  right: 1.1rem;
  font-family: var(--font-display);
  font-size: 4.4rem;
  line-height: 1;
  color: color-mix(in srgb, var(--clt-brass-rgb) 24%, transparent);
  text-shadow: 0 1px 0 rgb(255 244 218 / 0.12), 0 -1px 2px rgb(0 0 0 / 0.6);
  pointer-events: none;
  z-index: 0;
}

.clt-testimonial > * {
  position: relative;
  z-index: 1;
}

.clt-testimonial__quote {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.15rem, 0.95rem + 0.9vw, 1.6rem);
  line-height: 1.32;
  letter-spacing: -0.01em;
  color: var(--clt-linen-100);
  text-wrap: pretty;
}

.clt-testimonial__author {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.clt-testimonial__meta {
  display: grid;
  gap: 0.1rem;
  min-width: 0;
}

.clt-testimonial__name {
  font-weight: 600;
  color: var(--clt-bone);
  font-size: 0.96rem;
}

.clt-testimonial__role {
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  color: var(--clt-brass-300);
}

.clt-testimonial.is-feature {
  padding: clamp(2rem, 5vw, 4rem);
  text-align: center;
}

.clt-testimonial.is-feature::before {
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  top: 0.2rem;
  font-size: 6rem;
}

.clt-testimonial.is-feature .clt-testimonial__quote {
  font-size: clamp(1.6rem, 1.1rem + 2.4vw, 3rem);
  line-height: 1.22;
}

.clt-testimonial.is-feature .clt-testimonial__author {
  justify-content: center;
}

.clt-tier {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding: clamp(1.5rem, 2.6vw, 2.25rem);
  border-radius: var(--r-card);
  border: 1px solid var(--line);
  background: radial-gradient(ellipse 100% 60% at 50% 0%, color-mix(in srgb, var(--clt-brass-rgb) 7%, transparent), transparent 64%), var(--surface);
  box-shadow: var(--shadow-raise);
  transition: transform var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease), box-shadow 540ms var(--ease-stage);
}

.clt-tier:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 36%, transparent);
  box-shadow: var(--shadow-deep);
}

.clt-tier__head {
  display: grid;
  gap: 0.35rem;
}

.clt-tier__name {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.2rem, 1rem + 0.7vw, 1.5rem);
  color: var(--clt-linen-100);
  letter-spacing: -0.012em;
}

.clt-tier__tagline {
  color: var(--text-dim);
  font-size: 0.86rem;
}

.clt-tier__price {
  display: flex;
  align-items: baseline;
  gap: 0.35rem;
  font-family: var(--font-display);
  color: var(--clt-bone);
}

.clt-tier__amount {
  font-size: clamp(2.4rem, 1.8rem + 2vw, 3.4rem);
  line-height: 0.9;
  letter-spacing: -0.02em;
}

.clt-tier__period {
  font-family: var(--font-body);
  font-size: 0.86rem;
  color: var(--text-muted);
  letter-spacing: 0.02em;
}

.clt-tier__features {
  list-style: none;
  margin: 0;
  padding: 1.25rem 0 0;
  border-top: 1px solid var(--line-soft);
  display: grid;
  gap: 0.7rem;
}

.clt-tier__features li {
  position: relative;
  padding-left: 1.6rem;
  color: var(--text-muted);
  font-size: 0.92rem;
  line-height: 1.5;
}

.clt-tier__features li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.4em;
  width: 0.7rem;
  height: 0.4rem;
  border-left: 1.6px solid var(--clt-brass-200);
  border-bottom: 1.6px solid var(--clt-brass-200);
  transform: rotate(-45deg);
}

.clt-tier__cta {
  margin-top: auto;
}

.clt-tier__cta .clt-button {
  width: 100%;
}

.clt-tier.is-featured {
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 56%, transparent);
  background: radial-gradient(ellipse 100% 70% at 50% 0%, color-mix(in srgb, var(--clt-candle-rgb) 14%, transparent), transparent 62%), radial-gradient(ellipse 90% 70% at 50% 100%, color-mix(in srgb, var(--clt-velvet-rgb) 28%, transparent), transparent 70%), var(--surface);
  box-shadow: var(--shadow-deep), 0 0 44px color-mix(in srgb, var(--clt-brass-rgb) 18%, transparent);
}

.clt-tier__ribbon {
  position: absolute;
  top: 1.1rem;
  right: 1.1rem;
  height: 1.6rem;
  padding: 0 0.7rem;
  display: inline-flex;
  align-items: center;
  border-radius: var(--r-pill);
  background: linear-gradient(180deg, var(--clt-brass-200), var(--clt-brass-400));
  color: var(--clt-brass-ink);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  box-shadow: 0 0 18px color-mix(in srgb, var(--clt-brass-rgb) 32%, transparent);
}

.clt-showcase {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: center;
}

@media (min-width: 52rem) {
  .clt-showcase {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  }
  .clt-showcase.is-reverse .clt-showcase__media {
    order: 2;
  }
}

.clt-showcase__media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 5 / 4;
  border-radius: var(--r-shell);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-deep);
}

.clt-showcase__media img,
.clt-showcase__media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.clt-showcase__body {
  display: grid;
  gap: 1.1rem;
  align-content: center;
}

.clt-showcase__title {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.9rem, 1.3rem + 2.6vw, 3.4rem);
  line-height: 1.03;
  letter-spacing: -0.018em;
  color: var(--clt-linen-100);
  margin: 0;
  text-wrap: balance;
}

.clt-showcase__lede {
  color: var(--text-muted);
  font-size: var(--type-body-lg);
}

.clt-showcase__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 0.4rem;
}

.clt-timeline {
  position: relative;
  display: grid;
  gap: clamp(1.75rem, 4vw, 2.75rem);
  margin: 0;
  padding: 0 0 0 1.75rem;
}

.clt-timeline::before {
  content: '';
  position: absolute;
  top: 0.4rem;
  bottom: 0.4rem;
  left: 0.32rem;
  width: 1px;
  background: linear-gradient(180deg, transparent, var(--line-brass) 12%, var(--line-brass) 88%, transparent);
}

.clt-timeline__item {
  position: relative;
  display: grid;
  gap: 0.4rem;
}

.clt-timeline__item::before {
  content: '';
  position: absolute;
  left: calc(-1.75rem + 0.32rem);
  top: 0.45rem;
  transform: translateX(-50%);
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, var(--clt-candle), var(--clt-brass-400) 70%);
  box-shadow: 0 0 0 3px var(--bg-page), 0 0 14px color-mix(in srgb, var(--clt-brass-rgb) 60%, transparent);
}

.clt-timeline__year {
  font-family: var(--font-mono);
  font-size: 0.74rem;
  letter-spacing: 0.16em;
  color: var(--clt-brass-300);
  font-weight: 700;
}

.clt-timeline__title {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.15rem, 1rem + 0.6vw, 1.45rem);
  line-height: 1.12;
  letter-spacing: -0.012em;
  color: var(--clt-linen-100);
  margin: 0;
}

.clt-timeline__body {
  color: var(--text-muted);
  font-size: 0.94rem;
  line-height: 1.6;
  margin: 0;
}

.clt-spec {
  margin: 0;
  display: grid;
  gap: 0;
}

.clt-spec__row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.2rem 1.5rem;
  padding: 0.95rem 0;
  border-bottom: 1px solid var(--line-soft);
}

.clt-spec__row:first-child {
  border-top: 1px solid var(--line-soft);
}

@media (min-width: 34rem) {
  .clt-spec__row {
    grid-template-columns: minmax(8rem, 0.32fr) 1fr;
    align-items: baseline;
  }
}

.clt-spec__term {
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--clt-brass-300);
  font-weight: 700;
}

.clt-spec__desc {
  color: var(--clt-linen-200);
  font-size: 0.98rem;
  line-height: 1.5;
  margin: 0;
}

.clt-spec__desc em {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--clt-candle);
}

.clt-cta-band {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  display: grid;
  gap: 1.5rem;
  justify-items: center;
  text-align: center;
  padding: clamp(2.75rem, 7vw, 6rem) clamp(1.5rem, 5vw, 4rem);
  border-radius: var(--r-shell);
  border: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 34%, transparent);
  background: radial-gradient(ellipse 70% 100% at 0% 0%, color-mix(in srgb, var(--clt-velvet-rgb) 40%, transparent), transparent 66%), radial-gradient(ellipse 70% 100% at 100% 100%, color-mix(in srgb, var(--clt-brass-rgb) 18%, transparent), transparent 66%), linear-gradient(160deg, color-mix(in srgb, var(--clt-plum-rgb) 52%, transparent), color-mix(in srgb, var(--clt-void) 84%, transparent)), var(--surface);
  box-shadow: var(--shadow-deep);
}

.clt-cta-band::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: var(--tex-noise);
  background-size: 16rem 16rem;
  mix-blend-mode: overlay;
  opacity: 0.4;
}

.clt-cta-band > * {
  position: relative;
  z-index: 1;
}

.clt-cta-band.is-spotlit::after {
  content: '';
  position: absolute;
  inset: -30% 20% auto 20%;
  height: 70%;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(ellipse 60% 100% at 50% 0%, color-mix(in srgb, var(--clt-candle-rgb) 20%, transparent), transparent 65%);
  filter: blur(8px);
}

.clt-cta-band__title {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2rem, 1.3rem + 3.4vw, 4.4rem);
  line-height: 0.98;
  letter-spacing: -0.018em;
  color: var(--clt-linen-100);
  margin: 0;
  max-width: 18ch;
  text-wrap: balance;
}

.clt-cta-band__lede {
  color: var(--text-muted);
  font-size: var(--type-body-lg);
  max-width: 52ch;
}

.clt-cta-band__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  justify-content: center;
  margin-top: 0.4rem;
}

.clt-logo-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: clamp(1.5rem, 5vw, 4rem);
}

.clt-logo-strip__item {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: var(--text-dim);
  font-family: var(--font-display);
  font-size: clamp(1rem, 0.9rem + 0.5vw, 1.3rem);
  letter-spacing: 0.02em;
  opacity: 0.7;
  filter: saturate(0.6);
  transition: opacity var(--dur-base) var(--ease), filter var(--dur-base) var(--ease), color var(--dur-base) var(--ease);
}

.clt-logo-strip__item:hover {
  opacity: 1;
  filter: saturate(1);
  color: var(--clt-linen-200);
}

.clt-logo-strip__item svg {
  width: 1.4rem;
  height: 1.4rem;
  color: var(--clt-brass-300);
}

.clt-feature-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: start;
  padding: 0.4rem 0;
}

.clt-feature-row__icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.clt-feature-row__title {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.1rem;
  color: var(--clt-linen-100);
  letter-spacing: -0.01em;
  margin: 0 0 0.2rem;
  line-height: 1.2;
}

.clt-feature-row__copy {
  color: var(--text-muted);
  font-size: 0.92rem;
  line-height: 1.55;
  margin: 0;
}

:where(.clt-feature-card__icon, .clt-feature-row__icon, .clt-icon-button, .clt-media-ph__seal, .clt-navbar__seal, .clt-tier__ribbon) {
  -webkit-backdrop-filter: blur(6px) saturate(1.15);
  backdrop-filter: blur(6px) saturate(1.15);
}

:where(.clt-feature-card__icon, .clt-feature-row__icon, .clt-icon-button, .clt-person-card__socials a, .clt-logo-strip__item, .clt-link, .clt-footer__social a, .clt-button-group, .clt-search) svg,
.clt-glow-icon {
  filter: drop-shadow(0 0 5px color-mix(in srgb, var(--clt-brass-rgb) 42%, transparent));
}

.clt-media-ph__seal {
  text-shadow: 0 0 10px color-mix(in srgb, var(--clt-candle-rgb) 55%, transparent);
}

.clt-feature-card:hover .clt-feature-card__icon svg,
.clt-feature-row:hover .clt-feature-row__icon svg {
  filter: drop-shadow(0 0 9px color-mix(in srgb, var(--clt-candle-rgb) 55%, transparent));
}

.clt-feature-card__icon,
.clt-feature-row__icon,
.clt-footer__social a,
.clt-navbar__seal,
.clt-media-ph__seal,
.clt-icon-disc {
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 46%, transparent);
  background: linear-gradient(200deg, rgb(255 244 218 / 0.16) 0%, rgb(255 244 218 / 0.03) 34%, transparent 62%), radial-gradient(circle at 50% 132%, color-mix(in srgb, var(--clt-brass-rgb) 24%, transparent), transparent 62%), linear-gradient(180deg, rgb(0 0 0 / 0.28), rgb(0 0 0 / 0.12));
  -webkit-backdrop-filter: blur(10px) saturate(1.3);
  backdrop-filter: blur(10px) saturate(1.3);
  color: var(--clt-brass-100);
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.3), inset 0 2px 7px rgb(0 0 0 / 0.36), inset 0 -2px 8px color-mix(in srgb, var(--clt-brass-rgb) 16%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--clt-brass-rgb) 16%, transparent), 0 0 12px color-mix(in srgb, var(--clt-brass-rgb) 20%, transparent), 0 0 28px color-mix(in srgb, var(--clt-brass-rgb) 10%, transparent);
  transition: color 320ms var(--ease), border-color 320ms var(--ease), background 240ms var(--ease), box-shadow 460ms var(--ease-stage), transform 320ms var(--ease-stage);
}

:where(.clt-feature-card__icon, .clt-feature-row__icon, .clt-footer__social a, .clt-navbar__seal, .clt-media-ph__seal, .clt-icon-disc) svg {
  filter: drop-shadow(0 0 4px color-mix(in srgb, var(--clt-brass-rgb) 45%, transparent));
}

.clt-media-ph__seal,
.clt-navbar__seal {
  text-shadow: 0 0 6px color-mix(in srgb, var(--clt-candle-rgb) 42%, transparent);
}

.clt-feature-card__icon {
  width: 3.7rem;
  height: 3.7rem;
}

.clt-feature-row__icon {
  width: 3.3rem;
  height: 3.3rem;
}

.clt-feature-card__icon svg {
  width: 1.8rem;
  height: 1.8rem;
}

.clt-feature-row__icon svg {
  width: 1.65rem;
  height: 1.65rem;
}

.clt-icon-disc {
  display: grid;
  place-items: center;
  width: 4.75rem;
  height: 4.75rem;
  flex-shrink: 0;
}

.clt-icon-disc svg {
  width: 2.35rem;
  height: 2.35rem;
}

.clt-icon-disc.is-lg {
  width: 6.25rem;
  height: 6.25rem;
}

.clt-icon-disc.is-lg svg {
  width: 3.2rem;
  height: 3.2rem;
}

.clt-icon-disc.is-sm {
  width: 3.3rem;
  height: 3.3rem;
}

.clt-icon-disc.is-sm svg {
  width: 1.6rem;
  height: 1.6rem;
}

.clt-feature-card:hover .clt-feature-card__icon,
.clt-feature-row:hover .clt-feature-row__icon,
.clt-footer__social a:hover,
a.clt-icon-disc:hover,
.clt-icon-disc.is-interactive:hover {
  color: var(--clt-candle);
  background: linear-gradient(200deg, rgb(255 244 218 / 0.24) 0%, rgb(255 244 218 / 0.05) 38%, transparent 66%), radial-gradient(circle at 50% 128%, color-mix(in srgb, var(--clt-candle-rgb) 26%, transparent), transparent 64%);
  border-color: color-mix(in srgb, var(--clt-candle-rgb) 58%, var(--clt-brass));
  transform: none;
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.42), inset 0 0 0 1px color-mix(in srgb, var(--clt-brass-rgb) 50%, transparent), inset 0 0 16px color-mix(in srgb, var(--clt-candle-rgb) 24%, transparent), 0 0 16px color-mix(in srgb, var(--clt-brass-rgb) 40%, transparent), 0 0 36px color-mix(in srgb, var(--clt-candle-rgb) 20%, transparent);
}

.clt-feature-card:hover .clt-feature-card__icon svg,
.clt-feature-row:hover .clt-feature-row__icon svg,
.clt-footer__social a:hover svg,
a.clt-icon-disc:hover svg,
.clt-icon-disc.is-interactive:hover svg {
  filter: drop-shadow(0 0 7px color-mix(in srgb, var(--clt-candle-rgb) 58%, transparent));
}

.clt-event {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
}

@media (min-width: 48rem) {
  .clt-event {
    grid-template-columns: minmax(0, 17rem) minmax(0, 1fr);
  }
}

.clt-event__poster {
  width: 100%;
  max-width: 21rem;
  margin-inline: auto;
}

@media (min-width: 48rem) {
  .clt-event__poster {
    max-width: none;
    margin-inline: 0;
    position: sticky;
    top: 5.5rem;
  }
}

.clt-event__detail {
  display: grid;
  gap: clamp(1.1rem, 2.5vw, 1.6rem);
}

.clt-event__title {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.9rem, 1.3rem + 2.6vw, 3.4rem);
  line-height: 1.02;
  letter-spacing: -0.018em;
  color: var(--clt-linen-100);
  margin: 0;
  text-wrap: balance;
}

.clt-event__schedule {
  margin-top: clamp(1.75rem, 4vw, 2.5rem);
  display: grid;
  gap: 0.85rem;
}

.clt-event__schedule-title {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.4rem, 1rem + 1.6vw, 2.1rem);
  letter-spacing: -0.012em;
  margin: 0 0 0.4rem;
}

.clt-frame-ornate {
  border-style: solid;
  border-width: clamp(15px, 2.6vw, 24px);
  border-image-source: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23c79a5e' stroke-width='1.3'><rect x='6' y='6' width='88' height='88'/><rect x='11' y='11' width='78' height='78' stroke='%23a77d42' stroke-width='0.9'/><g stroke='%23c79a5e' stroke-width='1'><path d='M11 21 Q11 11 21 11'/><path d='M89 21 Q89 11 79 11'/><path d='M11 79 Q11 89 21 89'/><path d='M89 79 Q89 89 79 89'/></g><g fill='%23f2c46d' stroke='none'><path d='M6 1.6 10.4 6 6 10.4 1.6 6Z'/><path d='M94 1.6 98.4 6 94 10.4 89.6 6Z'/><path d='M6 89.6 10.4 94 6 98.4 1.6 94Z'/><path d='M94 89.6 98.4 94 94 98.4 89.6 94Z'/></g></svg>");
  border-image-slice: 24;
  border-image-repeat: stretch;
  background: var(--clt-pitch);
  background-clip: padding-box;
  padding: clamp(0.35rem, 1.4vw, 0.7rem);
  box-shadow: 0 0 26px color-mix(in srgb, var(--clt-brass-rgb) 14%, transparent);
}

.clt-poster {
  position: relative;
  aspect-ratio: 2 / 3;
  overflow: hidden;
  border-radius: 2px;
  isolation: isolate;
}

.clt-poster > img,
.clt-poster > svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (prefers-reduced-transparency: reduce) {
  .clt-frame-ornate {
    box-shadow: none;
  }
}

/* Events showcard */
.clt-events-showcard {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1.4rem;
  padding: 1rem 1.25rem 1rem 1rem;
  border-radius: 20px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--clt-linen-rgb) 3%, transparent), transparent 60%), color-mix(in srgb, var(--clt-charcoal) 70%, var(--clt-plum) 30%);
  border: 1px solid var(--line);
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.04), 0 14px 30px rgb(0 0 0 / 0.35);
  transition: transform var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease), box-shadow var(--dur-slow) var(--ease);
}

.clt-events-showcard + .clt-events-showcard {
  margin-top: 0.85rem;
}

.clt-events-showcard:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 55%, transparent);
  box-shadow: var(--shadow-deep), var(--glow-brass);
}

.clt-events-showcard-date {
  width: 64px;
  padding: 0.7rem 0;
  border-radius: 14px;
  background: color-mix(in srgb, var(--clt-night) 80%, var(--clt-plum) 20%);
  border: 1px solid var(--line);
  text-align: center;
  font-family: var(--font-body);
}

.clt-events-showcard-date-m {
  display: block;
  font-size: 0.62rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--clt-brass-200);
  font-weight: 700;
}

.clt-events-showcard-date-d {
  display: block;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: var(--clt-linen-100);
  line-height: 1;
  margin: 2px 0 3px;
}

.clt-events-showcard-date-w {
  display: block;
  font-size: 0.58rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-dim);
  font-weight: 700;
}

.clt-events-showcard-main {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 0;
}

.clt-events-showcard-title {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.28rem;
  color: var(--clt-linen-100);
  line-height: 1.2;
}

.clt-events-showcard-sub {
  font-size: 0.92rem;
  color: var(--text-muted);
}

.clt-events-showcard-sub .dot {
  color: var(--clt-brass-300);
  margin: 0 0.4rem;
}

/* Main nav */
.clt-mainnav__progress {
  background-image: conic-gradient(var(--clt-brass-100) calc(var(--clt-nav-progress,0) * 1turn),rgba(216,205,184,.12) 0);
}

.clt-mainnav__link.w--current,
.clt-mainnav__link[aria-current="page"] {
  color: var(--clt-brass-100);
  border-color: rgba(232,201,148,.55);
  background-image: linear-gradient(180deg,rgba(232,201,148,.26),rgba(168,137,60,.12));
  box-shadow: inset 0 1px rgba(255,244,218,.15);
}

.clt-mainnav a:focus-visible,
.clt-mainnav button:focus-visible {
  outline: 2px solid var(--clt-brass-200);
  outline-offset: 3px;
}

.clt-mainnav__bar {
  transition: background-color .5s cubic-bezier(.22,1,.36,1),box-shadow .5s cubic-bezier(.22,1,.36,1);
}

.clt-mainnav__seal {
  transition: transform .5s cubic-bezier(.22,1,.36,1);
}

.clt-mainnav__burger-line {
  transition: transform .38s cubic-bezier(.32,.72,0,1);
}

.clt-mainnav__toggle[aria-expanded="true"] .clt-mainnav__burger-line:first-child {
  transform: translateY(4px) rotate(45deg);
}

.clt-mainnav__toggle[aria-expanded="true"] .clt-mainnav__burger-line:last-child {
  transform: translateY(-4px) rotate(-45deg);
}

@media (min-width:992px) {
  .clt-mainnav.is-scrolled .clt-mainnav__bar {
    background-color: rgba(10,9,11,.5);
    box-shadow: inset 0 1px 0 rgba(255,244,218,.18),0 18px 44px rgba(0,0,0,.5);
  }
  .clt-mainnav.is-scrolled .clt-mainnav__seal {
    transform: scale(.9);
  }
  .clt-mainnav.has-glow .clt-mainnav__link:hover {
    background-color: transparent;
  }
  .clt-mainnav.has-glow .clt-mainnav__link.w--current,
  .clt-mainnav.has-glow .clt-mainnav__link[aria-current="page"] {
    background-image: none;
    border-color: transparent;
    box-shadow: none;
  }
}

@media (min-width:992px) and (max-width:1239px) {
  .clt-mainnav__brand-text {
    display: none;
  }
  .clt-mainnav__bar {
    gap: 12px;
  }
  .clt-mainnav__link {
    padding-left: 10px;
    padding-right: 10px;
  }
}

@media (max-width:991px) {
  .clt-mainnav {
    bottom: max(12px,env(safe-area-inset-bottom));
  }
  .clt-mainnav__menu:not(:popover-open) {
    display: none;
  }
  .clt-mainnav__menu {
    bottom: calc(max(12px,env(safe-area-inset-bottom)) + 80px);
    max-height: calc(100dvh - max(12px,env(safe-area-inset-bottom)) - 100px);
    transform-origin: 50% 100%;
  }
  .clt-mainnav__menu::backdrop {
    background: radial-gradient(ellipse at 85% 95%,rgba(142,100,51,.16),transparent 55%),rgba(6,5,8,.74);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
  }
  .clt-mainnav__link.w--current,
  .clt-mainnav__link[aria-current="page"] {
    box-shadow: inset 3px 0 var(--clt-brass-100);
  }
  body {
    padding-bottom: calc(96px + env(safe-area-inset-bottom));
  }
}

@media (max-width:991px) and (prefers-reduced-motion:no-preference) {
  .clt-mainnav__menu {
    opacity: 0;
    transform: translateY(20px) scale(.98);
    transition: opacity .26s cubic-bezier(.32,.72,0,1),transform .42s cubic-bezier(.32,.72,0,1),overlay .42s allow-discrete,display .42s allow-discrete;
  }
  .clt-mainnav__menu:popover-open {
    opacity: 1;
    transform: none;
  }
  @starting-style {
    .clt-mainnav__menu:popover-open {
      opacity: 0;
      transform: translateY(20px) scale(.98);
    }
  }
  .clt-mainnav__menu::backdrop {
    opacity: 0;
    transition: opacity .32s ease,overlay .42s allow-discrete,display .42s allow-discrete;
  }
  .clt-mainnav__menu:popover-open::backdrop {
    opacity: 1;
  }
  @starting-style {
    .clt-mainnav__menu:popover-open::backdrop {
      opacity: 0;
    }
  }
  .clt-mainnav__menu:popover-open .clt-mainnav__sheet-head,
  .clt-mainnav__menu:popover-open .clt-mainnav__link {
    animation: clt-mainnav-item .5s cubic-bezier(.22,1,.36,1) both;
    animation-delay: calc(var(--i,0) * 40ms + 60ms);
  }
  @keyframes clt-mainnav-item {
    from {
      opacity: 0;
      transform: translateY(12px);
    }
  }
}

@media (prefers-reduced-motion:no-preference) {
  .clt-mainnav.is-intro .clt-mainnav__bar {
    animation: clt-mainnav-drop .8s cubic-bezier(.22,1,.36,1) .05s both;
  }
  @keyframes clt-mainnav-drop {
    from {
      opacity: 0;
      transform: translateY(-16px);
    }
  }
}

@media (prefers-reduced-motion:no-preference) and (max-width:991px) {
  .clt-mainnav.is-intro .clt-mainnav__bar {
    animation-name: clt-mainnav-rise;
  }
  @keyframes clt-mainnav-rise {
    from {
      opacity: 0;
      transform: translateY(16px);
    }
  }
}

@media (prefers-reduced-motion:reduce) {
  .clt-mainnav__bar,
  .clt-mainnav__seal,
  .clt-mainnav__glow,
  .clt-mainnav__burger-line {
    transition: none;
  }
}

@media (prefers-reduced-transparency:reduce) {
  .clt-mainnav__bar {
    background: #171419;
    backdrop-filter: none;
  }
}

/* Footer */
.clt-navbar__seal::after {
  content: '';
  position: absolute;
  inset: 4px;
  border: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 38%, transparent);
  border-radius: 50%;
  pointer-events: none;
}

.clt-footer__social a {
  display: grid;
  place-items: center;
  width: 3.1rem;
  height: 3.1rem;
}

.clt-footer__social svg {
  width: 1.5rem;
  height: 1.5rem;
}

.clt-footer__col {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.clt-footer__col h4 {
  margin: 0 0 0.35rem;
  font-family: var(--font-body);
  font-size: 0.7rem;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--clt-brass-300);
  font-weight: 700;
}

.clt-footer__col a {
  color: var(--text-muted);
  font-size: 0.92rem;
  transition: color var(--dur-fast) var(--ease);
}

.clt-footer__col a:hover {
  color: var(--clt-linen-100);
}

.clt-footer__legal button {
  appearance: none;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  cursor: pointer;
  border-bottom: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 30%, transparent);
  transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
}

.clt-footer__legal button:hover {
  color: var(--clt-brass-100);
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 60%, transparent);
}

.clt-footer__legal button:focus-visible {
  outline: 2px solid var(--clt-brass-200);
  outline-offset: 3px;
}

.clt-footer.clt-panel > .clt-lamp-layer {
  z-index: 0;
  height: clamp(8rem, 18vw, 13rem);
}

.clt-footer.clt-panel > .clt-lamp-layer::after {
  width: min(62%, 36rem);
  box-shadow: 0 0 10px color-mix(in srgb, var(--lamp-rgb) 64%, transparent), 0 0 26px color-mix(in srgb, var(--lamp-rgb) 30%, transparent), 0 0 44px color-mix(in srgb, var(--lamp-rgb) 14%, transparent);
}

.clt-footer.clt-panel > .clt-lamp-layer::before {
  background: radial-gradient(40% 50% at 50% 0%, color-mix(in srgb, var(--lamp-rgb) 38%, transparent), transparent 70%), conic-gradient(from 180deg at 50% 0%, color-mix(in srgb, var(--lamp-rgb) 26%, transparent) 0deg, transparent 34deg, transparent 326deg, color-mix(in srgb, var(--lamp-rgb) 26%, transparent) 360deg);
}

.clt-footer.clt-panel .clt-footer__rule {
  display: none;
}

/* Jump nav */
.clt-jumpnav::-webkit-scrollbar {
  display: none;
}

.clt-jumpnav>:not(a) {
  display: contents;
}

.clt-jumpnav>.w-embed {
  display: none;
}

.clt-jumpnav.is-docked {
  animation: clt-jumpnav-dock .42s cubic-bezier(.32,.72,0,1) both;
}

@keyframes clt-jumpnav-dock {
  from {
    opacity: 0;
    transform: translate(-50%,-10px) scale(.98);
  }
  to {
    opacity: 1;
    transform: translate(-50%,0);
  }
}

@media (max-width:991px) {
  .clt-jumpnav.is-docked {
    top: var(--clt-jumpnav-top,max(12px,env(safe-area-inset-top)));
  }
}

@media (hover:none) {
  .clt-jumpnav__link:hover:not(.is-current) {
    background-color: transparent;
    box-shadow: none;
    color: var(--text-dim);
  }
}

@media (prefers-reduced-motion:reduce) {
  .clt-jumpnav,
  .clt-jumpnav.is-docked {
    animation: none;
    transition: none;
  }
}

@media (prefers-reduced-transparency:reduce) {
  .clt-jumpnav.is-docked {
    background: #171419;
    backdrop-filter: none;
  }
}

/* Bottom sheet: a dialog that rises from the bottom edge on phones */
@media (max-width: 47.99rem) {
  dialog.clt-dialog.is-sheet {
    width: 100%;
    max-width: 100%;
    max-height: 88dvh;
    margin: auto 0 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    border-bottom: 0;
    border-radius: var(--r-shell) var(--r-shell) 0 0;
    padding-bottom: env(safe-area-inset-bottom);
  }
}

/* Close button (dialogs, team cards) */
.clt-dialog__close,
.au-member__close {
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 42%, transparent);
  background: radial-gradient(circle at 32% 26%, color-mix(in srgb, var(--clt-linen-rgb) 10%, transparent), transparent 60%), color-mix(in srgb, var(--clt-void) 84%, transparent);
  color: var(--clt-brass-100);
  font-size: 1.05rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.12), 0 4px 14px rgb(0 0 0 / 0.5);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), rotate var(--dur-base) var(--ease-stage), scale var(--dur-fast) var(--ease);
}

.clt-dialog__close svg,
.au-member__close svg {
  width: 1.1rem;
  height: 1.1rem;
  stroke-width: 1.8;
}

.clt-dialog__close:hover,
.au-member__close:hover {
  color: var(--clt-bone);
  border-color: color-mix(in srgb, var(--clt-brass-rgb) 66%, transparent);
  background: color-mix(in srgb, var(--clt-brass-rgb) 26%, transparent);
  rotate: 90deg;
}

.clt-dialog__close:active,
.au-member__close:active {
  scale: 0.94;
}

.clt-dialog__close:focus-visible,
.au-member__close:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
}

/* Play button (disc + label; also the YAP video thumbnails) */
.clt-play {
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
  color: var(--clt-linen-100);
  text-decoration: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.clt-play:focus-visible {
  outline: none;
}

.clt-play:focus-visible .clt-play__disc {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
}

.clt-play__disc {
  position: relative;
  flex: none;
  display: grid;
  place-items: center;
  width: 3.6rem;
  height: 3.6rem;
}

.clt-play__disc,
.yap-play {
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--clt-brass-rgb) 46%, transparent);
  background: linear-gradient(200deg, rgb(255 244 218 / 0.16) 0%, rgb(255 244 218 / 0.03) 34%, transparent 62%), radial-gradient(circle at 50% 132%, color-mix(in srgb, var(--clt-brass-rgb) 24%, transparent), transparent 62%), linear-gradient(180deg, rgb(0 0 0 / 0.28), rgb(0 0 0 / 0.12));
  -webkit-backdrop-filter: blur(10px) saturate(1.3);
  backdrop-filter: blur(10px) saturate(1.3);
  color: var(--clt-brass-100);
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.3), inset 0 2px 7px rgb(0 0 0 / 0.36), inset 0 -2px 8px color-mix(in srgb, var(--clt-brass-rgb) 16%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--clt-brass-rgb) 16%, transparent), 0 0 12px color-mix(in srgb, var(--clt-brass-rgb) 20%, transparent), 0 0 28px color-mix(in srgb, var(--clt-brass-rgb) 10%, transparent);
  transition: color 320ms var(--ease), border-color 320ms var(--ease), background 240ms var(--ease), box-shadow 460ms var(--ease-stage);
}

.clt-play__icon {
  width: 1.35rem;
  height: 1.35rem;
  margin-left: 0.15rem;
  fill: currentColor;
  filter: drop-shadow(0 0 4px color-mix(in srgb, var(--clt-brass-rgb) 45%, transparent));
}

.clt-play:hover .clt-play__disc,
.clt-play:focus-visible .clt-play__disc,
.yap-video:hover .yap-play,
.yap-video:focus-visible .yap-play {
  color: var(--clt-candle);
  background: linear-gradient(200deg, rgb(255 244 218 / 0.24) 0%, rgb(255 244 218 / 0.05) 38%, transparent 66%), radial-gradient(circle at 50% 128%, color-mix(in srgb, var(--clt-candle-rgb) 26%, transparent), transparent 64%);
  border-color: color-mix(in srgb, var(--clt-candle-rgb) 58%, var(--clt-brass));
  box-shadow: inset 0 1px 0 rgb(255 244 218 / 0.42), inset 0 0 0 1px color-mix(in srgb, var(--clt-brass-rgb) 50%, transparent), inset 0 0 16px color-mix(in srgb, var(--clt-candle-rgb) 24%, transparent), 0 0 16px color-mix(in srgb, var(--clt-brass-rgb) 40%, transparent), 0 0 36px color-mix(in srgb, var(--clt-candle-rgb) 20%, transparent);
}

.clt-play:hover .clt-play__icon,
.clt-play:focus-visible .clt-play__icon {
  filter: drop-shadow(0 0 7px color-mix(in srgb, var(--clt-candle-rgb) 58%, transparent));
}

.clt-play__label {
  display: grid;
  gap: 0.2rem;
  text-align: left;
}

.clt-play__title {
  font-family: var(--font-display);
  font-size: 1.15rem;
  line-height: 1.1;
}

.clt-play__meta {
  font: 700 0.6rem/1 var(--font-body);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--clt-brass-200);
}

.clt-play.is-lg .clt-play__disc {
  width: 4.75rem;
  height: 4.75rem;
}

.clt-play.is-lg .clt-play__icon {
  width: 1.8rem;
  height: 1.8rem;
}

@media (prefers-reduced-transparency: reduce) {
  .clt-play__disc {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: var(--surface);
  }
}

@media (prefers-reduced-motion: reduce) {
  .clt-play__disc,
  .yap-play {
    transition: none;
  }
}

/* Dust */
.clt-home-dust.is-layer {
  will-change: transform, translate;
}

.clt-home-dust.is-layer > .clt-home-dust.is-particle {
  transition: none;
  will-change: auto;
  mix-blend-mode: normal;
  scale: 1 var(--warp, 1);
  animation:
    dust-twinkle var(--twinkle-dur, 3s) ease-in-out var(--twinkle-delay, 0s) infinite,
    dust-drift var(--drift-dur, 30s) ease-in-out var(--drift-delay, 0s) infinite alternate;
}

@keyframes dust-drift {
  to {
    translate: var(--dx, 0) var(--dy, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .clt-home-dust.is-layer > .clt-home-dust.is-particle {
    animation: none;
  }
}

/* Touch devices: no frosted glass on cards that move under the finger */
@media (pointer: coarse) {
  .clt-home-explore {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}

/* Touch devices: hold the aurora still, no blur or blend */
@media (pointer: coarse) {
  .clt-ambient .clt-ambient__blob {
    filter: none;
    mix-blend-mode: normal;
    animation: none;
    translate: none;
  }
}

/* Curtain failsafe (lifts the curtain if clt-core never runs) */
.clt-curtain-stage:not(.is-live) {
  animation: clt-curtain-failsafe .8s ease 4s forwards;
}

@keyframes clt-curtain-failsafe {
  to {
    opacity: 0;
    visibility: hidden;
  }
}
