:root {
  color-scheme: light;
  --p-ohra: #ec5a13;
  --p-blue: #11296b;

  --p-ohra-deep: #c24009;
  --p-karmin: #b5331b;
  --p-blue-bright: #2e6fae;
  --p-steel: #2c6e80;
  --p-brass: #c49a45;
  --p-brass-deep: #856419;
  --p-brass-light: #e3c272;
  --p-green: #1f8a5b;
  --p-green-deep: #0f6b43;
  --p-green-light: #4fc98f;
  --p-karmin-light: #ff8a70;
  --p-ink: #14181f;
  --p-ink-soft: #272c38;
  --p-ink-mute: #5c6470;
  --p-ink-raised: #1b202a;
  --p-ink-sunken: #10141b;
  --p-paper-soft: #c9cdd6;
  --p-paper-mute: #8e95a3;
  --p-ohra-light: #ff7a3d;
  --p-blue-light: #6f9bd8;
  --p-paper: #ffffff;
  --p-paper-2: #f3f5f7;
  --p-line: #e5e7eb;
  --p-line-control: #7c828c;

  --c-surface-warm: color-mix(in srgb, var(--p-ohra) 14%, var(--c-bg));
  --c-surface-blue: color-mix(in srgb, var(--p-blue) 8%, var(--c-bg));
  --c-surface-green: color-mix(in srgb, var(--p-steel) 10%, var(--c-bg));
  --c-bg: var(--p-paper);
  --c-bg-raised: #ffffff;
  --c-bg-sunken: var(--p-paper-2);
  --c-bg-inverse: var(--p-ink);

  --c-text: var(--p-ink);
  --c-text-2: var(--p-ink-soft);
  --c-text-3: var(--p-ink-mute);
  --c-text-inverse: var(--p-paper);

  --c-accent: var(--p-ohra);
  --c-accent-text: var(--p-ohra-deep);
  --c-anchor: var(--p-blue);
  --c-link: var(--p-blue-bright);
  --c-status: var(--p-brass);
  --c-ok: var(--p-green);
  --c-danger: var(--p-karmin);
  --c-ok-text: var(--p-green-deep);
  --c-danger-text: var(--p-karmin);
  --c-status-text: var(--p-brass-deep);
  --c-line: var(--p-line);
  --c-line-control: var(--p-line-control);
  --c-line-strong: rgb(20 24 31 / 0.14);

  --c-on-accent: var(--p-ink);

  --f-display: "HSE Slab", Georgia, serif;
  --f-head: "HSE Sans", system-ui, sans-serif;
  --f-body: "HSE Sans", system-ui, sans-serif;
  --f-data: "HSE Sans", system-ui, sans-serif;

  --t-micro: 12px;
  --t-caption: 14px;
  --t-small: 14px;
  --t-body: 16px;
  --t-lead: clamp(17px, 1.6vw, 20px);
  --t-h3: 24px;
  --t-h2: clamp(28px, 3.4vw, 48px);
  --t-h1: clamp(40px, 5.6vw, 80px);
  --t-h1-page: clamp(32px, 3.6vw, 48px);

  --tr-display: -0.01em;
  --tr-data: 0em;
  --t-caps: 13px;
  --tr-caps: 0.08em;

  --r-sm: 4px;
  --r-md: 4px;
  --r-lg: 8px;
  --space: 4px;
  --container: 1280px;

  --rh-head-top: clamp(26px, 3.4vw, 44px);
  --rh-head-bottom: clamp(16px, 1.8vw, 24px);
  --rh-section: clamp(56px, 6vw, 80px);

  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-spring: cubic-bezier(0.32, 0.72, 0, 1);
  --shadow-ambient: 0 10px 28px -18px rgb(20 24 31 / 0.22), 0 2px 8px -4px rgb(20 24 31 / 0.10);
  --shadow-ambient-lift: 0 16px 40px -22px rgb(20 24 31 / 0.28), 0 4px 12px -6px rgb(20 24 31 / 0.12);
  --shadow-accent: 0 14px 36px -14px rgb(236 90 19 / 0.55);
  --dur-fast: 140ms;
  --dur-base: 200ms;
}

.club-dark {
  color-scheme: dark;
  --c-bg: var(--p-ink);
  --c-bg-raised: var(--p-ink-raised);
  --c-bg-sunken: var(--p-ink-sunken);
  --c-bg-inverse: var(--p-paper);
  --c-text: var(--p-paper);
  --c-text-2: var(--p-paper-soft);
  --c-text-3: var(--p-paper-mute);
  --c-text-inverse: var(--p-ink);
  --c-accent-text: var(--p-ohra-light);
  --c-anchor: var(--p-blue-light);
  --c-link: var(--p-blue-light);
  --c-status: var(--p-brass-light);
  --c-status-text: var(--p-brass-light);
  --c-ok-text: var(--p-green-light);
  --c-danger-text: var(--p-karmin-light);
  --c-line: rgb(255 255 255 / 0.14);
  --c-line-control: rgb(255 255 255 / 0.46);
  --c-line-strong: rgb(255 255 255 / 0.28);
  background: var(--c-bg);
  color: var(--c-text);
}

.blank-field {
  display: block;
  border-bottom: none;
  padding-bottom: 6px;
}
.blank-field__label {
  display: block;
  margin-top: 7px;
  font-family: var(--f-data);
  font-size: var(--t-caption);
  letter-spacing: var(--tr-data);
  text-transform: none;
  color: var(--c-text-3);
  font-variant-numeric: tabular-nums;
}

.data {
  font-family: var(--f-data);
  font-variant-numeric: tabular-nums;
  letter-spacing: var(--tr-data);
}

:root { --layer-modal: 500; --layer-toast: 600; }

:root { --page-gutter: 28px; --page-gutter-phone: 16px; }
@media (max-width: 600px) { :root { --page-gutter: var(--page-gutter-phone); } }
html.pwa-shell { --page-gutter: var(--page-gutter-phone); }

@container club-layout (max-width:600px){ :root { --page-gutter: var(--page-gutter-phone); } }





@layer base {
  *, ::before, ::after, ::backdrop, ::file-selector-button {
    border-color: #e5e7eb;
  }
  input::placeholder, textarea::placeholder {
    color: #9ca3af;
  }
  button:not(:disabled), [role="button"]:not(:disabled) {
    cursor: pointer;
  }
  dialog {
    margin: auto;
  }
}

.legal > :not([hidden]) ~ :not([hidden]) { margin-top: 16px; }

body {
  font-family: var(--f-body); -webkit-font-smoothing: antialiased;
  background: var(--c-bg);
  color: var(--c-text);
}

::selection { background: var(--c-accent); color: var(--c-on-accent); }
.foc:focus-visible { outline: 3px solid var(--c-accent); outline-offset: 2px; border-radius: var(--r-sm); }
@media (prefers-reduced-motion: reduce) {
  [class] { animation: none !important; transition: none !important; }
}

@keyframes marq {
  to { transform: translateX(-50%); }
}
.marq-track { animation: marq 22s linear infinite; }
.nav-link:hover { color: var(--c-accent-text); }
.vcard { transition: transform 0.2s, box-shadow 0.2s; }
.h-xl { font-size: clamp(34px, 7vw, 62px) !important; }
@media (max-width: 920px) {
  .hero-grid { grid-template-columns: 1fr !important; }
}
.shop-nav:hover { color: var(--c-accent-text); }
@media (max-width: 1024px) and (min-width: 761px) {
  .two-col { grid-template-columns: 1fr 1fr !important; }
  .three-col { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 760px) {
  .two-col { grid-template-columns: 1fr !important; }
  .three-col { grid-template-columns: 1fr !important; }
  nav .nav-link { display: none; }
}
@media (max-width: 860px) {
  .grid-2 { grid-template-columns: 1fr !important; }
}
@media (prefers-reduced-motion: reduce) {
  .marq-track { animation: none !important; }
}

.mob-only { display: none !important; }
@media (max-width: 768px) {
  .mob-only { display: flex !important; }
  .desk-only { display: none !important; }
}

html { -webkit-text-size-adjust: 100%; scroll-padding-top: 72px; }
body { -webkit-tap-highlight-color: transparent; }
button, a, input, select, textarea { touch-action: manipulation; }
@media (max-width: 768px) {
  input, select, textarea { font-size: 16px !important; }
  .vcard { transition: none; }
}
@supports (padding: env(safe-area-inset-left)) {
  header { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
  footer { padding-bottom: calc(env(safe-area-inset-bottom) + 8px); }
}
@media (display-mode: standalone) {
  html { overscroll-behavior-y: none; }
}

html.pwa-shell {
  overscroll-behavior-y: none;
}
html.pwa-shell body {
  background: #1c1916;
}
.pwa-shell-root {
  min-height: 100dvh;
  min-height: 100svh;
  display: flex;
  justify-content: center;
  background:
    radial-gradient(120% 80% at 50% -10%, rgba(236, 90, 19, 0.18), transparent 55%),
    #1c1916;
}
.pwa-shell-stage {
  width: 100%;
  max-width: 430px;
  min-height: 100dvh;
  min-height: 100svh;
  background: var(--c-bg, #fbf3e8);
  color: var(--c-text, #14181f);
  position: relative;
  box-shadow: 0 0 0 1px rgba(251, 243, 232, 0.06), 0 24px 80px -28px rgba(0, 0, 0, 0.65);
  overflow-x: clip;
}
@media (max-width: 480px) {
  html.pwa-shell body,
  .pwa-shell-root {
    background: var(--c-bg, #fbf3e8);
  }
  .pwa-shell-root {
    display: block;
  }
  .pwa-shell-stage {
    max-width: none;
    box-shadow: none;
  }
}
html.pwa-shell .mob-only { display: flex !important; }
html.pwa-shell .desk-only { display: none !important; }
html.pwa-shell {
  --tabs-h: 0px;
}
html.pwa-shell .club-cookie-banner,
html.pwa-shell [role="dialog"][aria-label="Согласие на использование cookies"],
html.pwa-shell [role="dialog"][aria-label="Установка приложения"] {
  left: max(16px, calc(50% - 215px + 16px));
  right: max(16px, calc(50% - 215px + 16px));
  bottom: calc(16px + var(--tabs-h, 0px)) !important;
}
@media (max-width: 480px) {
  html.pwa-shell .club-cookie-banner,
  html.pwa-shell [role="dialog"][aria-label="Согласие на использование cookies"],
  html.pwa-shell [role="dialog"][aria-label="Установка приложения"] {
    left: 16px;
    right: 16px;
  }
}

html.vis { zoom: var(--vis-zoom, 1); }
html[data-vis-scheme="bw"] { --vis-bg: #ffffff; --vis-fg: #000000; --vis-link: #0000cc; }
html[data-vis-scheme="wb"] { --vis-bg: #000000; --vis-fg: #ffffff; --vis-link: #74c0ff; }
html[data-vis-scheme="bb"] { --vis-bg: #f2e9c9; --vis-fg: #0a2a66; --vis-link: #0a2a66; }

html.vis, html.vis body, html.vis #root { background: var(--vis-bg) !important; color: var(--vis-fg) !important; }
html.vis *:not(svg):not(path):not(.vis-active):not([role="dialog"]):not(.vis-bar):not(header) {
  background-color: transparent !important;
  background-image: none !important;
  color: var(--vis-fg) !important;
  border-color: var(--vis-fg) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
html.vis a, html.vis a * { color: var(--vis-link) !important; text-decoration: underline !important; }
html.vis button, html.vis input, html.vis select, html.vis textarea,
html.vis .vis-btn {
  background: var(--vis-bg) !important;
  border: 2px solid var(--vis-fg) !important;
  color: var(--vis-fg) !important;
}
html.vis .vis-btn.vis-active { background: var(--vis-fg) !important; color: var(--vis-bg) !important; }
html.vis header, html.vis .vis-bar { background: var(--vis-bg) !important; border-bottom: 2px solid var(--vis-fg) !important; }
html.vis header { position: static !important; }
.vis-bar { position: sticky; top: 0; z-index: 9999; font-size: 16px; }
html.vis img, html.vis video { filter: grayscale(1); }
html.vis-noimg img, html.vis-noimg video, html.vis-noimg [style*="url("] { display: none !important; }
html.vis :focus-visible,
html.vis .foc:focus-visible {
  outline: 3px solid var(--vis-fg) !important;
  outline-offset: 3px !important;
}

html.vis [role="dialog"] {
  background: var(--vis-bg) !important;
  border: 2px solid var(--vis-fg) !important;
}

html.vis-serif, html.vis-serif *:not(svg) { font-family: Georgia, "Times New Roman", serif !important; }
html.vis-spacing *:not(svg) { letter-spacing: 0.1em !important; word-spacing: 0.14em !important; line-height: 1.8 !important; }

@keyframes spin { to { transform: rotate(360deg); } }
@keyframes eq { 0%, 100% { transform: scaleY(.35); } 50% { transform: scaleY(1); } }

@media (max-width: 900px) {
  .v2-hero { grid-template-columns: 1fr !important; gap: 24px !important; }
  .v2-hero-art { order: -1; max-width: 132px; }
  .v2-hero-sec { padding-top: 28px !important; padding-bottom: 36px !important; }
  .v2-hero-cta { margin-top: 20px !important; }
  .v2-two { grid-template-columns: 1fr !important; }
}
@media (max-width: 620px) {
  .v2-row, .v2-row + div a { grid-template-columns: 68px 1fr !important; gap: 16px !important; }
  .v2-hero-art { max-width: 76px; }
  .v2-hero-sec { padding-top: 16px !important; }
}
@media (max-width: 900px) {
  .adm-grid { grid-template-columns: 1fr !important; }
  .adm-aside {
    position: static !important;
    height: auto !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    align-items: center;
    border-right: none !important;
    border-bottom: 1px solid var(--c-line);
  }
  .adm-aside > button { border-left: none !important; }
  .adm-two, .adm-push { grid-template-columns: 1fr !important; }
}
@media (max-width: 620px) {
  .adm-stats { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 1000px) {
  .adm-order-head, .adm-member-head { display: none !important; }
  .adm-order { grid-template-columns: 1fr auto !important; row-gap: 6px !important; }
  .adm-order > :nth-child(1) { grid-column: 1 / -1; }
  .adm-order > :nth-child(3) { grid-column: 1 / -1; }
  .adm-order-items { padding-left: 0 !important; }
  .adm-member { grid-template-columns: 1fr auto !important; row-gap: 6px !important; }
  .adm-member > :nth-child(1) { grid-column: 1 / -1; }
  .adm-member > :nth-child(2) { order: 2; }
}

.club-cookie-banner {
  max-height: calc(100dvh - var(--tabs-h, 0px) - env(safe-area-inset-top, 0px) - 32px);
  overflow-y: auto;
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  z-index: 300;
  max-width: 720px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  padding: 18px 20px;
  border-radius: var(--r-lg);
  border: 1px solid var(--c-text);
  background: var(--c-bg-raised);
  color: var(--c-text);
  font-family: var(--f-body);
  font-size: 0.9375rem;
  line-height: 1.55;
}
.club-cookie-banner__text {
  flex: 1 1 320px;
  min-width: 0;
  margin: 0;
}
.club-cookie-banner__link {
  color: var(--c-link);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.club-cookie-banner__link:hover {
  color: var(--c-text);
}
.club-cookie-banner__actions {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.club-cookie-banner__btn {
  max-width: 100%;
  overflow-wrap: anywhere;
  font: inherit;
  font-weight: 600;
  font-size: var(--t-caps);
  letter-spacing: var(--tr-caps);
  text-transform: uppercase;
  min-height: 44px;
  padding: 10px 20px;
  border-radius: var(--r-sm);
  border: 1px solid transparent;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.club-cookie-banner__btn--primary {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: var(--c-on-accent);
}
.club-cookie-banner__btn--primary:hover {
  opacity: 0.88;
}
.club-cookie-banner__btn--secondary {
  background: transparent;
  border-color: var(--c-text);
  color: var(--c-text);
}
.club-cookie-banner__btn--secondary:hover {
  border-color: var(--c-text);
}
html.vis .club-cookie-banner {
  background: var(--vis-bg, #fff) !important;
  color: var(--vis-fg, #000) !important;
  border: 2px solid var(--vis-fg, #000) !important;
  box-shadow: none;
}
html.vis .club-cookie-banner__link {
  color: var(--vis-link, #0000cc) !important;
}
html.vis .club-cookie-banner__btn {
  border-width: 2px !important;
  border-color: var(--vis-fg, #000) !important;
  color: var(--vis-fg, #000) !important;
  background: transparent !important;
}
html.vis .club-cookie-banner__btn--primary {
  background: var(--vis-fg, #000) !important;
  color: var(--vis-bg, #fff) !important;
}

.club-support-pill {
  position: fixed;
  z-index: 41;
  right: 12px;
  bottom: calc(12px + var(--tabs-h, 0px) + var(--cookie-h, 0px));
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid var(--c-line-control, var(--c-line));
  border-radius: var(--r-sm);
  background: var(--c-bg-raised, var(--c-bg));
  color: var(--c-text);
  font: 600 13px/1 var(--f-body);
  cursor: pointer;
  box-shadow: 0 8px 24px -16px rgba(20, 24, 31, 0.45);
}

.club-btn {
  appearance: none;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 13px 18px;
  border-radius: var(--r-sm);
  border: 1px solid transparent;
  font-family: var(--f-body, "HSE Sans", system-ui, sans-serif);
  font-size: var(--t-caps);
  font-weight: 600;
  letter-spacing: var(--tr-caps);
  text-transform: uppercase;
  line-height: 1.2;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  transition:
    color 0.28s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.28s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.28s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.14s cubic-bezier(0.22, 1, 0.36, 1);
}
.club-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.club-btn--primary {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: var(--c-on-accent);
}
.club-btn--secondary {
  background: transparent;
  color: var(--c-text);
  border-color: var(--c-text);
}
.club-btn--block {
  width: 100%;
}
.club-btn:not(:disabled):active {
  transform: scale(0.97);
}
@media (prefers-reduced-motion: reduce) {
  .club-btn {
    transition: none;
  }
  .club-btn:not(:disabled):active {
    transform: none;
  }
}

@media (max-width: 768px) {
  :root {
    --tabs-h: 0px;
  }
  .club-cookie-banner,
  [role="dialog"][aria-label="Согласие на использование cookies"],
  [role="dialog"][aria-label="Установка приложения"] {
    bottom: calc(16px + var(--tabs-h, 0px)) !important;
  }
}
html { scroll-padding-bottom: var(--tabs-h, 0px); }
@media (min-width: 481px) {
  html.pwa-shell .club-tab-bar { max-width: 430px; margin-inline: auto; }
}
@media (display-mode: standalone) {
  .v2-tabs { padding-bottom: max(env(safe-area-inset-bottom, 0px), 6px); }
}

@media (max-width: 900px) {
  .v2-prog-page { grid-template-columns: 1fr !important; gap: 28px !important; }
  .v2-prog-aside { position: static !important; order: -1; }
}

@media (max-width: 900px) {
  .v2-cart { grid-template-columns: 1fr !important; gap: 24px !important; }
}
@media (max-width: 620px) {
  .v2-cart-row { grid-template-columns: 1fr auto 44px !important; row-gap: 10px !important; }
  .v2-cart-row > :nth-child(1) { grid-column: 1 / -1; }
  .v2-cart-row > :nth-child(2) { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  .lkv2-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
  .lkv2-aside { position: static !important; }
}
@media (max-width: 620px) {
  .lkv2-order { grid-template-columns: 1fr auto !important; gap: 4px 12px !important; }
  .lkv2-order > :first-child { grid-column: 1 / -1; }
  .lkv2-mate { grid-template-columns: 36px 1fr auto !important; row-gap: 8px !important; }
  .lkv2-mate > :nth-child(3) { grid-column: 2; justify-self: start; }
  .lkv2-mate > :nth-child(4) { grid-column: 3; }
}

.v2-card { transition: border-color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out); }
@media (hover: hover) and (pointer: fine) {
  .v2-card:hover { border-color: var(--c-text); transform: translateY(-2px); }
}
.v2-card:active { transform: scale(0.995); }

@media (pointer: coarse) {
  .tap { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
}

button:disabled,
button[aria-disabled="true"],
[data-disabled="true"] {
  opacity: 0.45;
  cursor: not-allowed;
}

.club-chrome-icon-btn {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  margin: 0;
  border: 1px solid var(--c-line-control);
  border-radius: var(--r-sm);
  background: transparent;
  color: var(--c-text-2);
  cursor: pointer;
  flex: none;
  line-height: 0;
}
.club-chrome-icon-btn svg {
  display: block;
  width: 18px;
  height: 18px;
}
.club-chrome-icon-btn[aria-pressed="true"] {
  color: var(--c-text);
  border-color: color-mix(in srgb, var(--c-text) 35%, transparent);
}

.skip {
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 400;
  max-width: calc(100% - 24px);
  padding: 10px 16px;
  border-radius: var(--r-sm);
  background: var(--c-bg-inverse);
  color: var(--c-text-inverse);
  font-weight: 600;
  text-decoration: none;
  translate: 0 calc(-100% - 24px);
  transition: translate var(--dur-fast) var(--ease-out);
}
.skip:focus { translate: none; }

.club-entry-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--c-line-control); }
.club-entry { color: var(--c-text); text-decoration: none; padding: 28px 22px; display: grid; gap: 10px; }
.club-entry + .club-entry { border-left: 1px solid var(--c-line-control); }
.club-entry strong { font-family: var(--f-head); font-size: 24px; line-height: 1.2; }
.club-entry > span { color: var(--c-text-2); }
.club-entry:hover { background: var(--c-bg-raised); }
@media (max-width: 620px) {
  .club-entry-grid { grid-template-columns: 1fr; }
  .club-entry { padding: 22px 0; }
  .club-entry + .club-entry { border-left: 0; border-top: 1px solid var(--c-line-control); }
}

@media (max-width: 900px) {
  .club-event-row { grid-template-columns: 110px minmax(0, 1fr) !important; }
  .club-event-row > :last-child { grid-column: 2; }
}
@media (max-width: 420px) {
  .club-event-row { grid-template-columns: 1fr !important; }
  .club-event-row > :last-child { grid-column: 1; }
}

.club-catalog-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 18px; padding-block: 24px; border-block: 1px solid var(--c-line); align-items: end; }
.club-catalog-filters label { display: grid; gap: 8px; min-width: 0; }
.club-catalog-filters input, .club-catalog-filters select { min-width: 0; max-width: 100%; }
.club-compare { padding-block: 24px; }
.club-compare-scroll { max-width: 100%; overflow-x: auto; border: 1px solid var(--c-line-control); border-radius: 12px; }
.club-compare table { border-collapse: collapse; table-layout: fixed; width: 100%; min-width: 760px; }
.club-compare th, .club-compare td { padding: 18px; border: 1px solid var(--c-line); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.club-compare th { background: var(--c-bg-raised); }
.club-compare th:first-child { width: 180px; }
.club-compare ul { margin: 0; padding-left: 18px; }
.club-compare li + li { margin-top: 10px; }
.club-program-row > * { min-width: 0; }
@media (max-width: 900px) {
  .club-program-row { grid-template-columns: minmax(0, 1fr) !important; gap: 16px !important; }
  .club-program-row > :last-child { flex-direction: row !important; flex-wrap: wrap; min-width: 0 !important; }
}

.club-merch-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.club-merch-item > * { min-width: 0; }
.club-merch-grid .club-merch-item { display: flex !important; flex-direction: column; align-items: stretch !important; gap: 18px !important; }
.club-merch-grid .club-merch-image { order: -1; aspect-ratio: 1; background: var(--c-bg-raised); border-radius: 14px; overflow: hidden; }
.club-merch-grid .club-merch-item > button { align-self: flex-start; }
.club-merch-list .club-merch-image { width: 96px; height: 96px; }
.club-product-detail { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; margin-top: 32px; }
@media (max-width: 1000px) { .club-merch-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .club-merch-grid, .club-product-detail { grid-template-columns: 1fr; }
  .club-merch-list .club-merch-item { grid-template-columns: minmax(0, 1fr) !important; }
  .club-merch-list .club-merch-image { width: 100%; height: 220px; order: -1; }
}

.club-requisites-row { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); overflow-wrap: anywhere; }
.club-requisites-row > span { width: auto; }
.adm-two > * { min-width: 0; }
@media (max-width: 1100px) { .adm-two { grid-template-columns: minmax(0, 1fr) !important; } }
@media (max-width: 620px) { .club-requisites-row { grid-template-columns: minmax(0, 1fr); } }

.club-home-events { display: grid; grid-template-columns: 1.45fr 1fr; gap: 24px; }
.club-home-event { display: flex; flex-direction: column; padding: 36px; min-height: 290px; background: var(--c-bg-sunken); color: var(--c-text); text-decoration: none; border-top: 4px solid var(--c-accent); }
.club-home-event:first-child { background: var(--c-bg-inverse); color: var(--c-text-inverse); }
.club-home-event time { font-size: 22px; }
.club-home-event h3 { font-family: var(--f-display); font-size: clamp(26px, 3vw, 42px); line-height: 1.14; margin: 24px 0 12px; }
.club-home-event span { margin-top: auto; padding-top: 22px; text-decoration: underline; }
.club-home-news { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.club-join-steps, .club-home-history { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.club-join-steps .v2-row, .club-home-history .v2-row { grid-template-columns: 1fr !important; gap: 12px !important; }
.club-home-history .v2-row { border-top: 3px solid var(--c-line) !important; }
.club-view-toggle button { border: 1px solid var(--c-line-control); border-radius: var(--r-sm); padding: 10px 18px; min-height: 44px; color: var(--c-text); background: transparent; }
.club-view-toggle button[aria-pressed="true"] { background: var(--c-bg-inverse); color: var(--c-text-inverse); border-color: var(--c-bg-inverse); }
.club-product-detail div:has(> .club-image-missing) { aspect-ratio: 1; }
.club-identity-mobile { display: none; }
@media (max-width: 900px) {
 .club-home-events { grid-template-columns: 1fr; }
 .club-home-news, .club-join-steps, .club-home-history { grid-template-columns: 1fr; gap: 12px; }
 .club-home-event { padding: 24px; min-height: 250px; }
 .v2-hero { display: block !important; position: relative; }
 .v2-hero h1 { padding-right: 110px; min-height: 130px; font-size: clamp(34px, 5.8vw, 48px) !important; }
 .v2-hero-art { position: absolute; top: 0; right: 0; width: 96px; max-width: none; }
 .v2-hero-art > div { aspect-ratio: 0.65 !important; }
 .v2-hero-art img { object-fit: cover !important; object-position: center; }
 .club-identity-desktop { display: none; }
 .club-identity-mobile { display: block; }
 .club-identity-mobile summary { padding: 14px 0; font-weight: 600; cursor: pointer; }
 .club-identity-mobile summary span { display: block; font-weight: 400; font-size: 14px; color: var(--c-text-2); margin-top: 5px; }
}
@media (min-width: 520px) and (max-width: 900px) {
 .v2-hero h1 { padding-right: 200px; min-height: 220px; }
 .v2-hero-art { width: 170px; }
}
.club-local-notice { padding: 7px 20px; background: var(--c-bg-sunken); color: var(--c-text-2); font: 13px/1.45 var(--f-body); text-align: center; border-bottom: 1px solid var(--c-line); }

.club-program-description { grid-column: 1; grid-row: 1; }
.club-program-price { grid-column: 2; grid-row: 1; }
.club-program-row > :last-child { grid-column: 3; grid-row: 1; }
.club-program-row { padding-block: 30px !important; }
.club-program-row h2 { font-size: 23px !important; }
.club-catalog-filters { background: var(--c-bg-sunken); border: 0; border-radius: 10px; padding: 22px; }
.club-catalog-filters label { font-size: 14px; gap: 4px; }
.club-catalog-filters input:not([type="checkbox"]), .club-catalog-filters select { background: var(--c-bg-raised) !important; }
@media (max-width: 900px) {
 .club-program-description, .club-program-price, .club-program-row > :last-child { grid-column: 1; grid-row: auto; }
 .club-program-description { order: -1; }
}

.club-catalog-filters { background: var(--c-surface-blue); }
.club-identity-desktop > div, .club-identity-mobile > div { background: var(--c-surface-warm) !important; }

.club-support-dock { position: fixed; right: 18px; bottom: calc(18px + var(--tabs-h, 0px) + var(--cookie-h, 0px)); z-index: 40; display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 12px 16px; border-radius: 28px; background: var(--p-blue); color: white; text-decoration: none; border: 1px solid white; font: 600 15px var(--f-body); cursor: pointer; }
.club-support-page { max-width: 820px; padding: 40px 24px; margin: auto; line-height: 1.65; }
.club-support-page h1 { font-size: var(--t-h1-page); line-height: 1.2; margin: 0 0 22px; }
.club-support-page h2 { font-size: var(--t-h3); margin: 22px 0; }
.club-support-page p { margin: 16px 0; }
.club-support-page a { text-decoration: underline; text-underline-offset: 3px; }
.club-support-form { display: grid; gap: 20px; margin-top: 28px; padding: 28px; border: 1px solid var(--c-line); border-radius: var(--r-lg); background: var(--c-bg-raised); box-shadow: var(--shadow-ambient), inset 0 1px 0 rgb(255 255 255 / 0.9); }
.club-support-form > label { display: grid; gap: 8px; font-size: var(--t-caps); font-weight: 600; letter-spacing: var(--tr-caps); text-transform: uppercase; color: var(--c-text-3); }
.club-support-form > label > input, .club-support-form > label > select, .club-support-form > label > textarea { font-size: 16px; letter-spacing: normal; text-transform: none; color: var(--c-text); font-weight: 400; }
.club-support-form .club-support-consent { display: flex; align-items: flex-start; gap: 12px; font-size: var(--t-small); font-weight: 400; letter-spacing: normal; text-transform: none; color: var(--c-text-2); line-height: 1.5; }
.club-support-consent input { margin-top: 7px; flex-shrink: 0; }
.club-support-note { padding: 16px 20px; background: var(--c-bg-sunken); border: 1px solid var(--c-line); border-radius: var(--r-lg); color: var(--c-text-2); }
.club-support-message { padding: 18px; margin: 16px 0; background: var(--c-bg-sunken); border-radius: 10px; }
.club-support-message.from-support { background: var(--c-surface-blue); }
.club-support-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 20px 0; }
.club-support-lookup { margin-top: 32px; }
.club-support-page summary { cursor: pointer; min-height: 44px; padding-block: 8px; }
@media (max-width: 700px) { .club-support-dock { padding: 12px; } .club-support-dock > span { display: none; } }
@media (prefers-reduced-motion: no-preference) { .club-support-dock { transition: background-color 160ms ease, transform 160ms ease; } .club-support-dock:hover { transform: translateY(-2px); } }

.club-agenda-filters { display: grid; grid-template-columns: minmax(0, 1fr) minmax(160px, 240px); gap: 24px; padding: 20px 0; margin: 12px 0 24px; border-block: 1px solid var(--c-line); }
.club-agenda-filters label { display: grid; gap: 8px; font-size: 15px; }
.club-agenda-filters input, .club-agenda-filters select { width: 100%; min-width: 0; min-height: 46px; border: 1px solid var(--c-line-control); background: var(--c-bg); color: var(--c-text); border-radius: var(--r-sm); padding: 10px 12px; }
.club-event-row { transition: background-color 180ms ease-out; }
.club-event-row:focus-within h3 { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
@media (max-width: 600px) { .club-agenda-filters { grid-template-columns: 1fr; gap: 16px; padding: 16px 0; } }
@media (prefers-reduced-motion: no-preference) {
 @keyframes club-menu-open { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
 .club-event-row > div:first-child { transition: transform 240ms cubic-bezier(.22,1,.36,1); }
 .club-event-row:focus-within > div:first-child { transform: translateX(5px); }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
 .club-merch-image img { transition: transform 450ms cubic-bezier(.22,1,.36,1); }
 .club-event-row:hover h3 { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
 .club-event-row:hover > div:first-child { transform: translateX(5px); }
}

.club-awards-intro { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 28px; background: var(--p-blue); color: white; border-radius: 12px 12px 36px 12px; }
.club-awards-intro h3 { margin: 0; font: 400 28px/1.2 var(--f-display); }
.club-awards-intro p { max-width: 46ch; margin: 12px 0 0; line-height: 1.6; color: #e1e7f5; }
.club-awards-total { flex-shrink: 0; display: grid; gap: 8px; }
.club-awards-total strong { font: 400 46px/1 var(--f-display); }
.club-awards-total strong span { font-size: 24px; color: #e1e7f5; }
.club-awards-total > span { font-size: 13px; }
.club-awards-switch { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0 18px; }
.club-awards-switch button, .club-awards-empty button { padding: 12px 18px; min-height: 46px; border: 1px solid var(--c-line-control); border-radius: 24px; background: var(--c-bg); color: var(--c-text); font: 500 15px var(--f-body); }
.club-awards-switch button[aria-pressed="true"] { background: var(--c-accent); color: var(--c-on-accent); border-color: var(--c-accent); }
.club-awards-hint { color: var(--c-text-2); line-height: 1.6; }
.club-achievement-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; align-items: start; margin-top: 24px; }
.club-award { min-width: 0; background: var(--c-bg-sunken); border: 1px solid var(--c-line); border-radius: 10px; overflow: clip; }
.club-award.is-earned { background: var(--c-surface-warm); border-color: var(--c-accent-text); }
.club-award.is-next { background: color-mix(in srgb, var(--c-accent) 12%, var(--c-bg)); box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--c-accent) 55%, transparent); }
.club-award.is-next .club-award-medal { background: var(--c-accent); }
.club-award.is-next .club-award-medal > span { background: color-mix(in srgb, var(--c-accent) 85%, #000); color: var(--c-on-accent); }
.club-award.is-next .club-award-status { color: var(--c-accent-text); font-weight: 600; }
.club-awards-next { margin: 0 0 18px; padding: 14px 18px; background: color-mix(in srgb, var(--c-accent) 10%, var(--c-bg)); border: 1px solid color-mix(in srgb, var(--c-accent) 40%, var(--c-line)); border-radius: 10px; font-size: 15px; line-height: 1.5; color: var(--c-text); }
.club-awards-next strong { font-weight: 600; }
.club-awards-next span { color: var(--c-text-2); }
.club-award summary { list-style: none; padding: 24px 20px 18px; cursor: pointer; display: flex; align-items: center; flex-direction: column; text-align: center; }
.club-award summary::-webkit-details-marker { display: none; }
.club-award h3 { font: 600 18px/1.3 var(--f-body); min-height: 47px; margin: 18px 0 8px; }
.club-award-medal { width: 78px; height: 86px; display: grid; place-items: center; background: var(--c-line-control); clip-path: polygon(50% 0,94% 23%,94% 74%,50% 100%,6% 74%,6% 23%); }
.club-award-medal > span { display: grid; place-items: center; width: 66px; height: 74px; clip-path: inherit; background: var(--c-bg); color: var(--c-text-2); font: 500 30px var(--f-body); }
.is-earned .club-award-medal { background: var(--c-accent-text); }
.is-earned .club-award-medal > span { background: var(--c-accent); color: var(--c-on-accent); }
.club-award-status { font-size: 14px; color: var(--c-text-2); }
.is-earned .club-award-status { color: var(--c-ok-text); font-weight: 600; }
.club-award progress { width: 100%; height: 5px; margin: 16px 0; appearance: none; border: 0; background: var(--c-line); border-radius: 3px; overflow: hidden; }
.club-award progress::-webkit-progress-bar { background: var(--c-line); }
.club-award progress::-webkit-progress-value { background: var(--c-accent-text); }
.club-award progress::-moz-progress-bar { background: var(--c-accent-text); }
.club-award-disclosure { display: flex; width: 100%; justify-content: space-between; font-size: 14px; color: var(--c-text-2); }
.club-award[open] .club-award-disclosure > span { transform: rotate(45deg); }
.club-award-description { padding: 0 20px 22px; font-size: 15px; line-height: 1.6; }
.club-award-description p { margin: 0 0 12px; }
.club-award-description > span { font-size: 13px; color: var(--c-text-2); }
.club-awards-empty { padding: 28px; background: var(--c-surface-blue); border-radius: 12px; }
@media (max-width: 900px) { .club-achievement-list { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 520px) { .club-awards-intro { align-items: start; flex-direction: column; padding: 22px; } .club-awards-total strong { font-size: 36px; } .club-achievement-list { gap: 12px; } .club-award summary { padding: 20px 12px 14px; } .club-award h3 { font-size: 16px; } .club-award-description { padding-inline: 12px; } }
@media (prefers-reduced-motion: no-preference) { .club-award-medal { transition: transform 240ms ease-out; } .club-award summary:is(:hover,:focus-visible) .club-award-medal { transform: rotate(-5deg); } .club-award-disclosure > span { transition: transform 180ms ease-out; } }

.cabinet-club-nav { display: flex; flex-wrap: wrap; gap: 6px; max-width: 1140px; margin: 18px auto 0; padding: 10px 12px; background: var(--c-surface-blue); border-radius: 8px; }
.cabinet-club-nav a { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 16px; font-size: 15px; color: var(--c-text); text-decoration: none; border-radius: 5px; }
.cabinet-club-nav a:is(:hover,:focus-visible) { background: var(--c-bg); text-decoration: underline; text-underline-offset: 4px; }
.cabinet-welcome { margin-bottom: 26px; }
.cabinet-welcome h1 { margin: 0; font: 400 38px/1.2 var(--f-display); }
.cabinet-welcome p { line-height: 1.6; color: var(--c-text-2); }
.cabinet-benefits { display: grid; gap: 10px; margin-bottom: 22px; }
.cabinet-benefits__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 18px; padding: 14px 18px; background: var(--c-surface-blue); border-radius: 8px; }
.cabinet-benefits__row strong { display: block; font-size: 16px; color: var(--c-text); }
.cabinet-benefits__row span { display: block; margin-top: 4px; font-size: 14px; line-height: 1.45; color: var(--c-text-2); max-width: 42ch; }
.cabinet-benefits__row a { font-size: 14px; font-weight: 600; color: var(--c-accent-text); text-underline-offset: 4px; }
.cabinet-more { margin-top: 22px; border-top: 1px solid var(--c-line); padding-top: 8px; }
.cabinet-more > summary { cursor: pointer; list-style: none; min-height: 44px; display: flex; align-items: center; font-size: 15px; font-weight: 600; color: var(--c-accent-text); text-underline-offset: 4px; }
.cabinet-more > summary::-webkit-details-marker { display: none; }
.cabinet-more[open] > summary { margin-bottom: 8px; }
.cabinet-more .cabinet-latest-news { margin-top: 12px; }
.cabinet-next-action { margin-bottom: 26px; padding: 22px 24px; background: color-mix(in srgb, var(--c-accent) 10%, var(--c-bg)); border: 1px solid color-mix(in srgb, var(--c-accent) 40%, var(--c-line)); border-radius: 10px; }
.cabinet-next-action-eyebrow { margin: 0; font: 500 12px/1.2 var(--f-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-accent-text); }
.cabinet-next-action h2 { margin: 10px 0 0; font: 600 22px/1.3 var(--f-body); color: var(--c-text); }
.cabinet-next-action p { margin: 8px 0 0; font-size: 15px; line-height: 1.55; color: var(--c-text-2); max-width: 52ch; }
.cabinet-next-action-cta { display: inline-flex; min-height: 44px; align-items: center; margin-top: 14px; font-weight: 600; color: var(--c-accent-text); text-underline-offset: 4px; }
.cabinet-block-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 14px; margin-bottom: 20px; }
.cabinet-block-heading h2 { margin: 0; font: 600 21px/1.3 var(--f-body); }
.cabinet-block-heading a { font-size: 14px; text-underline-offset: 4px; }
.cabinet-next-event { background: var(--p-blue); color: white; padding: 26px; border-radius: 10px; }
.cabinet-next-event a { color: white; }
.cabinet-next-event time { display: block; color: #ffbd89; font-size: 17px; }
.cabinet-next-event h3 { font: 400 28px/1.25 var(--f-display); margin: 16px 0; }
.cabinet-next-event h3 a { text-decoration: none; }
.cabinet-next-event p { line-height: 1.6; color: #e1e7f5; }
.cabinet-event-action { display: inline-flex; min-height: 44px; align-items: center; margin-top: 8px; text-underline-offset: 5px; }
.cabinet-latest-news { margin-top: 30px; }
.cabinet-latest-news article { padding: 18px 0; border-top: 1px solid var(--c-line); }
.cabinet-latest-news time { font-size: 14px; color: var(--c-text-3); }
.cabinet-latest-news h3 { font-size: 21px; margin: 10px 0; line-height: 1.35; }
.cabinet-latest-news h3 a { color: var(--c-text); text-decoration: none; }
.cabinet-latest-news h3 a:hover { text-decoration: underline; }
.cabinet-latest-news p { color: var(--c-text-2); margin: 8px 0; line-height: 1.6; }
.cabinet-achievements-teaser { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin-top: 22px; padding: 16px 24px; background: var(--c-surface-blue); border-radius: 8px; }
.cabinet-achievements-teaser strong { display: block; font-size: 17px; }
.cabinet-achievements-teaser span { display: block; margin-top: 4px; font-size: 14px; color: var(--c-text-2); }
.cabinet-achievements-teaser-links { display: flex; flex-wrap: wrap; gap: 14px; font-size: 14px; }
.cabinet-achievements-teaser-links a { color: var(--c-accent-text); font-weight: 600; text-underline-offset: 4px; }
.cabinet-club-nav a[aria-current="page"] { background: var(--c-bg); font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.cabinet-opportunities { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 26px; margin-top: 20px; padding: 10px 24px; background: var(--c-surface-warm); border-radius: 8px; }
.cabinet-opportunities a { display: grid; gap: 10px; padding: 20px 0; color: var(--c-text); text-decoration: none; }
.cabinet-opportunities strong { font-size: 18px; }
.cabinet-opportunities span { font-size: 15px; line-height: 1.6; color: var(--c-text-2); }
.cabinet-opportunities a:hover strong { text-decoration: underline; }
@media (max-width: 1180px) { .cabinet-club-nav { margin-inline: 20px; } }
@media (max-width: 600px) { .cabinet-club-nav { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2px; padding: 8px; } .cabinet-club-nav a { padding: 8px 4px; font-size: 14px; } .cabinet-welcome h1 { font-size: 30px; } .cabinet-next-event { padding: 22px; } .cabinet-next-event h3 { font-size: 25px; } .cabinet-opportunities { grid-template-columns: 1fr; } }


.club-event-row > div:first-child > div:first-child { font-family: var(--f-display) !important; font-size: 22px !important; line-height: 1.1; color: var(--c-accent-text) !important; }
.club-merch-image { border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-ambient); transition: transform 520ms var(--ease-spring), box-shadow 520ms var(--ease-spring); }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .club-merch-item:hover .club-merch-image { box-shadow: var(--shadow-ambient-lift); }
}

.club-product-photo { border-radius: var(--r-lg); overflow: hidden; background: linear-gradient(180deg, var(--c-bg-raised) 0%, var(--c-bg-sunken) 100%); box-shadow: var(--shadow-ambient), inset 0 1px 0 rgb(255 255 255 / 0.9); }
.club-product-detail { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; margin-top: 28px; }
.club-product-detail > section { position: sticky; top: 96px; }
.club-product-variants { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.club-product-variants li { display: inline-flex; align-items: baseline; gap: 8px; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--c-line-control); font-size: var(--t-caption); }
.club-product-variants li strong { font-weight: 600; }
.club-product-variants li span { color: var(--c-text-3); }
.club-product-variants li[data-out] { border-style: dashed; color: var(--c-text-3); }
@media (max-width: 900px) { .club-product-detail { grid-template-columns: 1fr; gap: 28px; } .club-product-detail > section { position: static; } }

.cabinet-header__tabs { display: flex; align-items: center; gap: 4px; margin-left: 8px; }
.cabinet-club-nav { background: transparent; border-radius: 0; padding: 4px 6px 0; margin: 0 auto; max-width: 1180px; border-bottom: 1px solid var(--c-line); gap: 0; }
.cabinet-club-nav a { min-height: 44px; padding: 10px 14px; border-radius: 0; font-size: var(--t-caps); font-weight: 600; letter-spacing: var(--tr-caps); text-transform: uppercase; color: var(--c-text-2); }
.cabinet-club-nav a:is(:hover,:focus-visible), .cabinet-club-nav a[aria-current="page"] { background: transparent; color: var(--c-text); text-decoration: underline; text-underline-offset: 8px; text-decoration-thickness: 1px; }
.club-identity-desktop > div, .club-identity-mobile > div { background: var(--c-bg-raised) !important; border: 1px solid var(--c-line) !important; border-radius: var(--r-lg) !important; box-shadow: var(--shadow-ambient), inset 0 1px 0 rgb(255 255 255 / 0.9); }
.cabinet-benefits { gap: 0; border-top: 1px solid var(--c-text); }
.cabinet-benefits__row { background: transparent; border-radius: 0; padding: 16px 0; border-bottom: 1px solid var(--c-line); }
.cabinet-next-action { background: var(--c-bg-raised); border: 1px solid var(--c-line); border-radius: var(--r-lg); box-shadow: var(--shadow-ambient), inset 0 1px 0 rgb(255 255 255 / 0.9); }
.cabinet-next-action-eyebrow { display: none; }
.cabinet-next-action h2 { margin-top: 0; font: 400 26px/1.15 var(--f-display); }
.cabinet-next-event { background: radial-gradient(60% 70% at 85% 20%, rgb(236 90 19 / 0.22), transparent 70%), var(--p-ink); color: var(--p-paper); border-radius: var(--r-lg); box-shadow: var(--shadow-ambient-lift); }
.cabinet-next-event time { color: var(--c-accent); font-family: var(--f-display); font-size: 22px; }
.cabinet-next-event p { color: var(--p-paper-soft); }
.cabinet-next-event a { color: var(--p-paper); }
.cabinet-achievements-teaser { background: transparent; border: 1px solid var(--c-line); border-radius: var(--r-lg); }
.cabinet-opportunities { background: transparent; border-top: 1px solid var(--c-text); border-radius: 0; padding: 0; }
.cabinet-opportunities a { border-bottom: 1px solid var(--c-line); }
.club-awards-intro { background: radial-gradient(60% 70% at 85% 20%, rgb(236 90 19 / 0.22), transparent 70%), var(--p-ink); border-radius: var(--r-lg); box-shadow: var(--shadow-ambient-lift); }
.club-awards-empty { background: var(--c-bg-sunken); border: 1px solid var(--c-line); border-radius: var(--r-lg); }
.club-award.is-earned { background: color-mix(in srgb, var(--c-accent) 8%, var(--c-bg)); }

.adm-aside { border-right: 1px solid rgb(255 255 255 / 0.1); overflow-y: auto; }
.adm-aside > button[aria-current="page"] { color: var(--p-paper) !important; }
.adm-aside > button:not([aria-current]):is(:hover, :focus-visible) { color: var(--p-paper) !important; background: rgb(255 255 255 / 0.04) !important; }

@media (max-width: 620px) {
  .podcast-row { grid-template-columns: minmax(0, 1fr) !important; gap: 12px !important; }
  .podcast-row__meta { display: flex; align-items: center; gap: 14px; }
  .podcast-row__meta > * { margin-top: 0 !important; }
}

.podcast-row--locked { background: var(--c-bg-sunken); padding-left: 18px !important; padding-right: 18px !important; }
.podcast-access-label { display: inline-block; margin-top: 10px; padding: 4px 8px; border: 1px solid var(--c-line-control); border-radius: var(--r-sm); font-size: 12px; color: var(--c-text-2); }
.podcast-subscribe-link { display: inline-flex; margin-top: 18px; min-height: 44px; align-items: center; padding: 12px 18px; border: 1px solid var(--c-text); border-radius: var(--r-sm); color: var(--c-text); text-transform: uppercase; font-size: var(--t-caps); letter-spacing: var(--tr-caps); font-weight: 600; text-decoration: none; }
.podcast-subscribe-link:hover { background: var(--c-bg-raised); }

.alumni-opportunities { margin: 48px 0; padding: clamp(20px,4vw,48px); border: 1px solid var(--c-line); border-radius: 18px; background: var(--c-bg-raised); scroll-margin-top: 110px; }
.alumni-opportunities h2 { font-family: var(--f-display); font-size: clamp(26px,4vw,42px); font-weight: 400; margin: 12px 0; }
.alumni-opportunities > p { color: var(--c-text-2); }
.alumni-opportunities__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap: 0 24px; margin-top:24px; }
.alumni-opportunities__grid a { display:flex; justify-content:space-between; align-items:center; gap:16px; min-width:0; min-height:80px; padding:18px 0; border-top:1px solid var(--c-line); color:var(--c-text); text-decoration:none; overflow-wrap:anywhere; }
.alumni-opportunities__grid a span:last-child { color:var(--c-accent-text); flex-shrink:0; }
@media(max-width:768px) { .alumni-opportunities__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:480px) { .alumni-opportunities__grid { grid-template-columns:minmax(0,1fr); } .alumni-opportunities { margin:28px 0; } }


@media (max-width: 600px) { .club-support-page { padding-inline: var(--page-gutter); } }

@container club-layout (max-width:920px){
  .hero-grid { grid-template-columns: 1fr !important; }
}
@container club-layout (max-width:760px){
  .two-col { grid-template-columns: 1fr !important; }
  .three-col { grid-template-columns: 1fr !important; }
  nav .nav-link { display: none; }
}
@container club-layout (max-width:860px){
  .grid-2 { grid-template-columns: 1fr !important; }
}
@container club-layout (max-width:768px){
  .mob-only { display: flex !important; }
  .desk-only { display: none !important; }
}
@container club-layout (max-width:768px){
  input, select, textarea { font-size: 16px !important; }
  .vcard { transition: none; }
}
@container club-layout (max-width:480px){
  html.pwa-shell body,
  .pwa-shell-root {
    background: var(--c-bg, #fbf3e8);
  }
  .pwa-shell-root {
    display: block;
  }
  .pwa-shell-stage {
    max-width: none;
    box-shadow: none;
  }
}
@container club-layout (max-width:480px){
  html.pwa-shell .club-cookie-banner,
  html.pwa-shell [role="dialog"][aria-label="Согласие на использование cookies"],
  html.pwa-shell [role="dialog"][aria-label="Установка приложения"] {
    left: 16px;
    right: 16px;
  }
}
@container club-layout (max-width:900px){
  .v2-hero { grid-template-columns: 1fr !important; gap: 24px !important; }
  .v2-hero-art { order: -1; max-width: 132px; }
  .v2-hero-sec { padding-top: 28px !important; padding-bottom: 36px !important; }
  .v2-hero-cta { margin-top: 20px !important; }
  .v2-two { grid-template-columns: 1fr !important; }
}
@container club-layout (max-width:620px){
  .v2-row, .v2-row + div a { grid-template-columns: 68px 1fr !important; gap: 16px !important; }
  .v2-hero-art { max-width: 76px; }
  .v2-hero-sec { padding-top: 16px !important; }
}
@container club-layout (max-width:900px){
  .adm-grid { grid-template-columns: 1fr !important; }
  .adm-aside {
    position: static !important;
    height: auto !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    align-items: center;
    border-right: none !important;
    border-bottom: 1px solid var(--c-line);
  }
  .adm-aside > button { border-left: none !important; }
  .adm-two, .adm-push { grid-template-columns: 1fr !important; }
}
@container club-layout (max-width:620px){
  .adm-stats { grid-template-columns: 1fr 1fr !important; }
}
@container club-layout (max-width:1000px){
  .adm-order-head, .adm-member-head { display: none !important; }
  .adm-order { grid-template-columns: 1fr auto !important; row-gap: 6px !important; }
  .adm-order > :nth-child(1) { grid-column: 1 / -1; }
  .adm-order > :nth-child(3) { grid-column: 1 / -1; }
  .adm-order-items { padding-left: 0 !important; }
  .adm-member { grid-template-columns: 1fr auto !important; row-gap: 6px !important; }
  .adm-member > :nth-child(1) { grid-column: 1 / -1; }
  .adm-member > :nth-child(2) { order: 2; }
}
@container club-layout (max-width:768px){
  :root {
    --tabs-h: 0px;
  }
  .club-cookie-banner,
  [role="dialog"][aria-label="Согласие на использование cookies"],
  [role="dialog"][aria-label="Установка приложения"] {
    bottom: calc(16px + var(--tabs-h, 0px)) !important;
  }
}
@container club-layout (max-width:900px){
  .v2-prog-page { grid-template-columns: 1fr !important; gap: 28px !important; }
  .v2-prog-aside { position: static !important; order: -1; }
}
@container club-layout (max-width:900px){
  .v2-cart { grid-template-columns: 1fr !important; gap: 24px !important; }
}
@container club-layout (max-width:620px){
  .v2-cart-row { grid-template-columns: 1fr auto 44px !important; row-gap: 10px !important; }
  .v2-cart-row > :nth-child(1) { grid-column: 1 / -1; }
  .v2-cart-row > :nth-child(2) { grid-column: 1 / -1; }
}
@container club-layout (max-width:900px){
  .lkv2-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
  .lkv2-aside { position: static !important; }
}
@container club-layout (max-width:620px){
  .lkv2-order { grid-template-columns: 1fr auto !important; gap: 4px 12px !important; }
  .lkv2-order > :first-child { grid-column: 1 / -1; }
  .lkv2-mate { grid-template-columns: 36px 1fr auto !important; row-gap: 8px !important; }
  .lkv2-mate > :nth-child(3) { grid-column: 2; justify-self: start; }
  .lkv2-mate > :nth-child(4) { grid-column: 3; }
}
@container club-layout (max-width:620px){
  .club-entry-grid { grid-template-columns: 1fr; }
  .club-entry { padding: 22px 0; }
  .club-entry + .club-entry { border-left: 0; border-top: 1px solid var(--c-line-control); }
}
@container club-layout (max-width:900px){
  .club-event-row { grid-template-columns: 110px minmax(0, 1fr) !important; }
  .club-event-row > :last-child { grid-column: 2; }
}
@container club-layout (max-width:420px){
  .club-event-row { grid-template-columns: 1fr !important; }
  .club-event-row > :last-child { grid-column: 1; }
}
@container club-layout (max-width:900px){
  .club-program-row { grid-template-columns: minmax(0, 1fr) !important; gap: 16px !important; }
  .club-program-row > :last-child { flex-direction: row !important; flex-wrap: wrap; min-width: 0 !important; }
}
@container club-layout (max-width:1000px){ .club-merch-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container club-layout (max-width:700px){
  .club-merch-grid, .club-product-detail { grid-template-columns: 1fr; }
  .club-merch-list .club-merch-item { grid-template-columns: minmax(0, 1fr) !important; }
  .club-merch-list .club-merch-image { width: 100%; height: 220px; order: -1; }
}
@container club-layout (max-width:1100px){ .adm-two { grid-template-columns: minmax(0, 1fr) !important; } }
@container club-layout (max-width:620px){ .club-requisites-row { grid-template-columns: minmax(0, 1fr); } }
@container club-layout (max-width:900px){
 .club-home-events { grid-template-columns: 1fr; }
 .club-home-news, .club-join-steps, .club-home-history { grid-template-columns: 1fr; gap: 12px; }
 .club-home-event { padding: 24px; min-height: 250px; }
 .v2-hero { display: block !important; position: relative; }
 .v2-hero h1 { padding-right: 110px; min-height: 130px; font-size: clamp(34px, 5.8vw, 48px) !important; }
 .v2-hero-art { position: absolute; top: 0; right: 0; width: 96px; max-width: none; }
 .v2-hero-art > div { aspect-ratio: 0.65 !important; }
 .v2-hero-art img { object-fit: cover !important; object-position: center; }
 .club-identity-desktop { display: none; }
 .club-identity-mobile { display: block; }
 .club-identity-mobile summary { padding: 14px 0; font-weight: 600; cursor: pointer; }
 .club-identity-mobile summary span { display: block; font-weight: 400; font-size: 14px; color: var(--c-text-2); margin-top: 5px; }
}
@container club-layout (max-width:900px){
 .club-program-description, .club-program-price, .club-program-row > :last-child { grid-column: 1; grid-row: auto; }
 .club-program-description { order: -1; }
}
@container club-layout (max-width:700px){ .club-support-dock { padding: 12px; } .club-support-dock > span { display: none; } }
@container club-layout (max-width:600px){ .club-agenda-filters { grid-template-columns: 1fr; gap: 16px; padding: 16px 0; } }
@container club-layout (max-width:900px){ .club-achievement-list { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@container club-layout (max-width:520px){ .club-awards-intro { align-items: start; flex-direction: column; padding: 22px; } .club-awards-total strong { font-size: 36px; } .club-achievement-list { gap: 12px; } .club-award summary { padding: 20px 12px 14px; } .club-award h3 { font-size: 16px; } .club-award-description { padding-inline: 12px; } }
@container club-layout (max-width:1180px){ .cabinet-club-nav { margin-inline: 20px; } }
@container club-layout (max-width:600px){ .cabinet-club-nav { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2px; padding: 8px; } .cabinet-club-nav a { padding: 8px 4px; font-size: 14px; } .cabinet-welcome h1 { font-size: 30px; } .cabinet-next-event { padding: 22px; } .cabinet-next-event h3 { font-size: 25px; } .cabinet-opportunities { grid-template-columns: 1fr; } }
@container club-layout (max-width:900px){ .club-product-detail { grid-template-columns: 1fr; gap: 28px; } .club-product-detail > section { position: static; } }
@container club-layout (max-width:620px){
  .podcast-row { grid-template-columns: minmax(0, 1fr) !important; gap: 12px !important; }
  .podcast-row__meta { display: flex; align-items: center; gap: 14px; }
  .podcast-row__meta > * { margin-top: 0 !important; }
}
@container club-layout (max-width:768px){ .alumni-opportunities__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@container club-layout (max-width:480px){ .alumni-opportunities__grid { grid-template-columns:minmax(0,1fr); } .alumni-opportunities { margin:28px 0; } }
@container club-layout (max-width:600px){ .club-support-page { padding-inline: var(--page-gutter); } }
.cabinet-gate { width: 100%; max-width: 960px; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--c-line); border-radius: var(--r-sm); overflow: hidden; box-shadow: var(--shadow-ambient); }
.cabinet-gate__intro { padding: clamp(24px, 4vw, 48px); background: radial-gradient(ellipse at 15% 20%, color-mix(in srgb, var(--c-accent) 14%, transparent), transparent 75%), var(--c-bg); }
.cabinet-gate__brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--c-text); font-weight: 600; font-size: 15px; }
.cabinet-gate__brand svg { flex-shrink: 0; color: var(--c-accent-text); }
.cabinet-gate__brand small { display: block; margin-top: 5px; font-size: 12px; font-weight: 400; color: var(--c-text-2); }
.cabinet-gate__intro h2 { font: 400 clamp(36px, 4vw, 52px)/1.08 var(--f-display); margin: 54px 0 20px; }
.cabinet-gate__intro h2 em { color: var(--c-accent-text); }
.cabinet-gate__intro p { font-size: 16px; line-height: 1.6; color: var(--c-text-2); }
.cabinet-gate__benefits { margin-top: 32px; }
.cabinet-gate__benefits span { display: block; border-top: 1px solid var(--c-line); padding: 14px 0; font-size: 14px; }
.cabinet-gate__form { padding: clamp(24px, 4vw, 48px); background: var(--c-bg-raised); }
.cabinet-gate__form > label { font-family: var(--f-body) !important; font-size: var(--t-caps) !important; letter-spacing: var(--tr-caps) !important; text-transform: uppercase !important; }
@media(max-width: 700px) { .cabinet-gate { grid-template-columns: 1fr; } .cabinet-gate__intro { padding: 24px; } .cabinet-gate__intro h2 { font-size: 32px; margin: 26px 0 12px; } .cabinet-gate__intro h2 br { display: none; } .cabinet-gate__benefits { display: none; } .cabinet-gate__intro p { margin-bottom: 0; } }

@container club-layout (max-width:700px){ .cabinet-gate { grid-template-columns: 1fr; } .cabinet-gate__intro { padding: 24px; } .cabinet-gate__intro h2 { font-size: 32px; margin: 26px 0 12px; } .cabinet-gate__intro h2 br { display: none; } .cabinet-gate__benefits { display: none; } .cabinet-gate__intro p { margin-bottom: 0; } }
.lux-camp { --camp-warm: #ea6806; --camp-glow: #ffb347; --camp-cool: #6f9bd8; }
.camp-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 20px; font-size: 14px; letter-spacing: 0.01em; color: var(--c-accent-text); }
.camp-eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--c-accent); }

.camp-hero { position: relative; overflow: clip; padding-block: clamp(48px, 7cqi, 104px) clamp(40px, 5cqi, 72px); }
.camp-hero::before { content: ""; position: absolute; inset: -20% -10% auto 35%; height: 120%; background: radial-gradient(closest-side, rgb(234 104 6 / 0.2), rgb(46 111 174 / 0.1) 55%, transparent 75%); pointer-events: none; }
.camp-hero__grid { position: relative; display: grid; gap: 40px; align-items: center; }
.camp-hero__title { margin: 0; font: 200 clamp(52px, 9cqi, 124px)/0.96 var(--f-display); letter-spacing: -0.05em; text-wrap: balance; }
.camp-hero__sub { margin: 18px 0 0; font: 200 clamp(24px, 3.2cqi, 44px)/1.1 var(--f-display); letter-spacing: -0.03em; color: var(--c-text-3); }
.camp-hero .camp-hero__lede { max-width: 44ch; margin-top: 28px; color: var(--c-text-2); }
.camp-hero__cta { margin-top: 32px; }
.camp-hero__art { min-width: 0; }
.camp-wave { display: block; width: 100%; height: auto; overflow: visible; }
.camp-wave__bar { transform-box: fill-box; transform-origin: center; }
.camp-facts { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 20px; margin: clamp(40px, 5cqi, 72px) 0 0; padding-top: 28px; border-top: 1px solid var(--c-line); }
.camp-facts dt { font-size: 14px; color: var(--c-text-3); }
.camp-facts dd { margin: 6px 0 0; font: 400 clamp(18px, 1.7cqi, 22px)/1.25 var(--f-display); letter-spacing: -0.015em; font-variant-numeric: tabular-nums; }

.camp-meter { display: grid; gap: 14px; }
.camp-meter__sum { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 0; font-variant-numeric: tabular-nums; }
.camp-meter__label { flex-basis: 100%; font-size: 14px; color: var(--c-text-3); }
.camp-meter__sum b { font: 200 clamp(34px, 3.6cqi, 48px)/1 var(--f-display); letter-spacing: -0.04em; }
.camp-meter__goal { font-size: 16px; color: var(--c-text-3); }
.camp-meter__track { height: 6px; border-radius: 999px; background: var(--lux-control); overflow: hidden; }
.camp-meter__track span { display: block; width: var(--camp-fill); height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--p-ohra), #ffb347); }

.camp-panel-head { display: grid; gap: 16px; margin: 0 0 28px; padding-bottom: 28px; border-bottom: 1px solid var(--c-line); }
.camp-panel-head__goal { margin: 0; font-size: 14px; line-height: 1.4; color: var(--c-text-2); }
.camp-panel-head .camp-meter__sum b { font-size: 32px; }
.camp-panel-note { margin: 16px 4px 0; font-size: 13px; line-height: 1.45; color: var(--c-text-3); }
.camp-layout .give-amount { font-size: clamp(48px, 5cqi, 64px); margin-bottom: 24px; }

.camp-story { display: grid; gap: clamp(64px, 7cqi, 104px); }
.camp-block { min-width: 0; }
.camp-text { max-width: 60ch; margin: 0; font-size: clamp(17px, 1.5cqi, 20px); line-height: 1.5; color: var(--c-text-2); text-wrap: pretty; }
.camp-goal { display: grid; gap: 0; }
.camp-goal .give-h2 { margin-bottom: 16px; }
.camp-goal .camp-meter { margin-top: 32px; }

.camp-numbers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 36px 0 0; padding: 0; list-style: none; }
.camp-numbers li { display: grid; gap: 8px; padding: 24px 20px; border-radius: var(--r-lg); background: var(--c-bg-raised); }
.camp-numbers b { font: 200 clamp(44px, 5cqi, 72px)/0.9 var(--f-display); letter-spacing: -0.05em; background: linear-gradient(120deg, var(--camp-warm), var(--camp-glow)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.camp-numbers span { font-size: 14px; line-height: 1.3; color: var(--c-text-3); }

.camp-day { display: grid; margin: 0; padding: 0; list-style: none; }
.camp-day__item { position: relative; display: grid; gap: 4px; padding: 0 0 0 28px; }
.camp-day__item::before { content: ""; position: absolute; left: 4px; top: 30px; bottom: -22px; width: 1px; background: var(--c-line); }
.camp-day__item::after { content: ""; position: absolute; left: 0; top: 22px; width: 9px; height: 9px; border-radius: 50%; background: var(--c-accent); }
.camp-day__item:last-child::before { display: none; }
.camp-day__time { padding-top: 16px; font-size: 14px; font-variant-numeric: tabular-nums; color: var(--c-accent-text); }
.camp-day__body { padding-bottom: 20px; border-bottom: 1px solid var(--c-line); }
div.camp-day__body { padding-top: 4px; }
.camp-day__body > summary { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; min-height: 44px; padding-block: 4px; cursor: pointer; border-radius: 12px; }
.camp-day__head { display: grid; gap: 6px; }
.camp-day__head b { font: 400 clamp(19px, 1.8cqi, 23px)/1.2 var(--f-display); letter-spacing: -0.015em; }
.camp-day__head span { font-weight: 400; font-size: 15px; line-height: 1.4; color: var(--c-text-3); }
.camp-day__body ul { display: grid; gap: 8px; margin: 16px 0 0; padding: 0 0 0 18px; font-size: 15px; line-height: 1.45; color: var(--c-text-2); }
.camp-day__body li::marker { color: var(--c-text-3); }
.camp-day__pause { position: relative; padding: 14px 0 14px 28px; font-size: 13px; color: var(--c-text-3); }
.camp-day__pause::before { content: ""; position: absolute; left: 4px; top: -8px; bottom: -30px; border-left: 1px dashed var(--lux-hairline); }

.camp-game { position: relative; overflow: clip; margin-top: 36px; padding: clamp(24px, 3.4cqi, 44px); border-radius: var(--r-tile); background: linear-gradient(135deg, rgb(234 104 6 / 0.22), rgb(46 111 174 / 0.16)), var(--c-bg-raised); }
.camp-game h3 { margin: 0 0 14px; font: 200 clamp(28px, 3cqi, 40px)/1.06 var(--f-display); letter-spacing: -0.035em; text-wrap: balance; }
.camp-game p:last-child { max-width: 58ch; margin: 0; font-size: 16px; line-height: 1.5; color: var(--c-text-2); }

.camp-results { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: camp; }
.camp-results li { counter-increment: camp; display: grid; grid-template-columns: 40px minmax(0, 1fr); align-items: baseline; padding: 18px 0; border-top: 1px solid var(--c-line); font-size: clamp(17px, 1.5cqi, 19px); line-height: 1.35; }
.camp-results li::before { content: counter(camp, decimal-leading-zero); font-size: 13px; font-variant-numeric: tabular-nums; color: var(--c-accent-text); }

.camp-speakers { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.camp-speakers li { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 20px; align-items: center; padding: 24px; border-radius: var(--r-tile); background: var(--c-bg-raised); }
.camp-speakers__photo { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; background: var(--lux-control); color: var(--c-text-3); }
img.camp-speakers__photo { object-fit: cover; }
.camp-speakers h3 { margin: 0; font: 400 20px/1.2 var(--f-display); letter-spacing: -0.015em; }
.camp-speakers p { margin: 6px 0 0; font-size: 15px; line-height: 1.4; color: var(--c-text-3); }

.camp-steps { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.camp-steps li { padding: 28px; border-radius: var(--r-tile); background: var(--c-bg-raised); }
.camp-steps__n { display: block; margin-bottom: 20px; font: 200 44px/1 var(--f-display); letter-spacing: -0.04em; color: var(--c-text-3); }
.camp-steps h3 { margin: 0; font: 400 21px/1.2 var(--f-display); letter-spacing: -0.015em; }
.camp-steps p { margin: 10px 0 0; font-size: 15px; line-height: 1.45; color: var(--c-text-3); }

.camp-faq details { border-top: 1px solid var(--c-line); }
.camp-faq details:last-child { border-bottom: 1px solid var(--c-line); }
.camp-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; padding-block: 12px; font: 400 clamp(18px, 1.7cqi, 21px)/1.25 var(--f-display); letter-spacing: -0.015em; cursor: pointer; }
.camp-faq p { max-width: 60ch; margin: 0 0 22px; font-size: 16px; line-height: 1.5; color: var(--c-text-2); }


.camp-teaser-section { padding-block: 0 clamp(40px, 5cqi, 72px); }
.lux-tile.camp-teaser { position: relative; display: grid; gap: 32px; background: radial-gradient(120% 140% at 100% 0%, rgb(234 104 6 / 0.2), rgb(46 111 174 / 0.1) 45%, transparent 70%), var(--c-bg-raised); }
.camp-teaser__title { margin: 0; font: 200 clamp(40px, 6cqi, 84px)/0.98 var(--f-display); letter-spacing: -0.045em; text-wrap: balance; }
.camp-teaser__sub { margin: 12px 0 0; font: 200 clamp(20px, 2.4cqi, 30px)/1.15 var(--f-display); letter-spacing: -0.025em; color: var(--c-text-3); }
.camp-teaser .camp-teaser__lede { max-width: 46ch; margin: 24px 0 32px; font-size: clamp(16px, 1.4cqi, 18px); color: var(--c-text-2); }
.camp-teaser__act { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 32px; }
.camp-teaser__facts { font-size: 14px; color: var(--c-text-3); }
.camp-teaser__art { min-width: 0; align-self: center; }

@media (min-width: 761px) {
  .camp-teaser { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: 48px; }
  .camp-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .camp-day__item { grid-template-columns: 124px minmax(0, 1fr); gap: 0 24px; padding-left: 32px; }
  .camp-day__time { padding-top: 22px; }
  .camp-day__body, div.camp-day__body { padding-top: 12px; }
  .camp-day__pause { padding-left: 180px; }
  .camp-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .camp-speakers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 901px) {
  .camp-hero__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 56px; }
  .camp-goal .camp-meter { display: none; }
  .camp-steps { grid-template-columns: 1fr; }
  .camp-speakers { grid-template-columns: 1fr; }
}

@media (min-width: 1181px) {
  .camp-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .camp-steps li { padding: 24px; }
}

@media (max-width: 900px) {
  .camp-hero::before { inset: 38% -40% -6% -40%; height: auto; }
}

@media (max-width: 600px) {
  .camp-numbers { gap: 8px; }
  .camp-numbers li { padding: 18px 14px; }
  .camp-speakers li { grid-template-columns: 56px minmax(0, 1fr); gap: 16px; padding: 20px; }
  .camp-speakers__photo { width: 56px; height: 56px; }
}

@media (prefers-reduced-motion: no-preference) {
  .camp-wave__bar { animation: camp-wave 2600ms ease-in-out infinite alternate; animation-delay: calc(var(--i) * -90ms); }
  .camp-meter__track span { transition: width 900ms var(--ease-out); }
}

@keyframes camp-wave {
  from { transform: scaleY(0.62); }
  to { transform: scaleY(1); }
}

@container club-layout (max-width:900px){
  .camp-hero::before { inset: 38% -40% -6% -40%; height: auto; }
}
@container club-layout (max-width:600px){
  .camp-numbers { gap: 8px; }
  .camp-numbers li { padding: 18px 14px; }
  .camp-speakers li { grid-template-columns: 56px minmax(0, 1fr); gap: 16px; padding: 20px; }
  .camp-speakers__photo { width: 56px; height: 56px; }
}
.club-checkout-fields { border: 0; padding: 0; margin: 0; min-width: 0; }
.club-checkout-fields button { min-height: 44px; }
.club-checkout-fields [role="alert"] { padding: 16px; background: var(--c-bg-sunken); border: 1px solid var(--c-line); border-radius: var(--r-sm); line-height: 1.5; }
.club-cart-totals { margin-top: 24px; padding: 20px; background: var(--c-bg-raised); border: 1px solid var(--c-line); border-radius: var(--r-lg); box-shadow: var(--shadow-ambient); }
.club-cart-totals > div > :last-child { white-space: nowrap; }
.v2-cart-row > :nth-child(2) { overflow-wrap: anywhere; }


.changes-page{max-width:var(--container);margin:auto;padding:0 28px;color:var(--c-text)}
.changes-page *{box-sizing:border-box}
.changes-head{display:flex;align-items:end;justify-content:space-between;gap:32px;padding:48px 0 30px}
.changes-eyebrow{font:500 12px var(--f-data);letter-spacing:.06em;color:var(--c-accent-text);margin:0 0 16px}
.changes-head h1{font:400 clamp(38px,5vw,64px)/1.04 var(--f-display);margin:0;letter-spacing:-.035em}
.changes-title-break{display:none}
.changes-lead{font-size:18px;line-height:1.6;color:var(--c-text-2);margin:18px 0 0}
.changes-edition{border-left:2px solid var(--c-accent);padding-left:24px;display:grid;gap:12px;flex-shrink:0}
.changes-edition .changes-eyebrow{margin:0}.changes-edition strong{font:400 19px/1.45 var(--f-display)}
.changes-edition span:not(.changes-eyebrow){font-size:13px;color:var(--c-text-2)}
.changes-edition a{font-size:13px;color:var(--c-accent-text);text-underline-offset:4px}
.changes-notice{display:flex;align-items:start;gap:14px;padding:16px 20px;background:var(--c-bg-raised);border:1px solid var(--c-line);border-radius:var(--r-md);color:var(--c-text-2)}
.changes-notice>span{font-size:24px;color:var(--c-accent-text)}.changes-notice p{font-size:14px;line-height:1.55;margin:0}
.changes-controls{padding:28px 0 0}.changes-search-row{display:flex;gap:12px;align-items:end}
.changes-search{flex:1;display:grid;gap:8px;font-size:13px;color:var(--c-text-2)}
.changes-page input,.changes-page select{min-width:0;max-width:100%;border:1px solid var(--c-line-control);border-radius:var(--r-sm);background:var(--c-bg);color:var(--c-text);font:inherit;padding:12px;min-height:46px}
.changes-search input{width:100%;font-size:17px}.changes-page input::placeholder{color:var(--c-text-3)}
.changes-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 18px;border:1px solid var(--c-line-control);border-radius:var(--r-md);background:var(--c-bg);color:var(--c-text);font:500 14px/1.4 var(--f-body);text-decoration:none;text-align:center;cursor:pointer}
.changes-button--primary{background:var(--c-accent);color:var(--c-on-accent);border-color:var(--c-accent)}
.changes-button:disabled{opacity:.4;cursor:default}.changes-button:not(:disabled):active{transform:scale(.98)}
.changes-page :focus-visible{outline:2px solid var(--c-accent-text);outline-offset:4px}
.changes-result-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;font-size:13px;color:var(--c-text-2)}
.changes-result-bar select{border:0;padding:8px;font-size:13px}.changes-result-bar label{display:flex;align-items:center;gap:6px}
.changes-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.changes-chips button{min-height:44px;border:1px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-bg-raised);color:var(--c-text);padding:8px 12px;cursor:pointer}
.changes-workspace{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);border-top:1px solid var(--c-line);scroll-margin-top:calc(86px + var(--notice-h,0px))}
.changes-list{min-width:0;border-right:1px solid var(--c-line)}
.changes-row{padding:24px 22px;border-bottom:1px solid var(--c-line);border-left:3px solid transparent}
.changes-row.is-selected{background:var(--c-bg-raised);border-left-color:var(--c-accent)}
.changes-row-meta{display:flex;gap:12px;flex-wrap:wrap;font:12px/1.5 var(--f-data);color:var(--c-text-3)}
.changes-row h2{font:500 18px/1.5 var(--f-body);margin:10px 0 14px;overflow-wrap:anywhere}
.changes-row h2 a{color:inherit;text-decoration:none}.changes-row h2 a:hover{color:var(--c-accent-text);text-decoration:underline;text-underline-offset:4px}
.changes-row-foot{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--c-text-3);margin:0}.changes-row-foot span{color:var(--c-accent-text)}
.changes-reader{min-width:0;padding:30px clamp(22px,3vw,42px);align-self:start;position:sticky;top:100px;max-height:calc(100dvh - 150px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.changes-reader h2{font:400 28px/1.35 var(--f-display);margin:16px 0 28px;overflow-wrap:anywhere}
.changes-reader h3{font:400 21px var(--f-display);margin:30px 0 12px}.changes-reader p{font-size:17px;line-height:1.65;max-width:70ch}
.changes-reader .changes-eyebrow{font-size:12px;line-height:1.5;margin:24px 0 0}
.changes-facts{display:grid;grid-template-columns:1fr 1fr;gap:22px 16px;border-block:1px solid var(--c-line);padding:22px 0;margin:0}
.changes-facts dt{font-size:12px;color:var(--c-text-3);margin-bottom:6px}.changes-facts dd{margin:0;font-size:15px;line-height:1.5}
.changes-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.changes-page .changes-muted{font-size:14px;color:var(--c-text-2);line-height:1.6}
.changes-reader-footer{border-top:1px solid var(--c-line);padding-top:20px;margin-top:24px;font-size:12px;color:var(--c-text-3);line-height:1.6}
.changes-back{background:none;border:0;color:var(--c-accent-text);cursor:pointer;padding:8px 0;min-height:44px;font:500 14px var(--f-body)}
.changes-reader-hint{padding:38px 0 80px}.changes-reader-hint>span{font:90px/1 var(--f-display);color:var(--c-accent-text)}
.changes-reader-hint h2{margin:26px 0 12px}.changes-reader-hint p{color:var(--c-text-2)}.changes-reader-hint>div{font-size:13px;line-height:2;color:var(--c-text-3);border-top:1px solid var(--c-line);padding-top:20px;margin-top:24px}
.changes-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:24px 16px;font:13px var(--f-data)}
.changes-empty{padding:40px 20px;line-height:1.6}.changes-empty h2{font-size:24px}
.changes-dialog{width:min(520px,calc(100vw - 32px));max-height:85dvh;border:1px solid var(--c-line-control);border-radius:var(--r-lg);background:var(--c-bg);color:var(--c-text);padding:24px;font-family:var(--f-body)}
.changes-dialog::backdrop{background:rgb(0 0 0 / .5)}.changes-dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.changes-dialog h2{margin:0;font:500 28px var(--f-display)}
.changes-dialog label,.changes-copy{display:grid;gap:8px;font-size:14px;margin:16px 0}.changes-dialog select,.changes-dialog input{width:100%}
@media(max-width:1199px){.changes-workspace{display:block}.changes-list{border-right:0}.changes-reader{display:none;position:static;max-height:none;overflow:visible;padding:24px 0}.changes-page--reading .changes-reader{display:block}.changes-page--reading .changes-list,.changes-page--reading .changes-controls{display:none}.changes-page--reading .changes-head{display:none}.changes-page--reading .changes-notice{margin-top:24px}.changes-page--reading .changes-workspace{border-top:0}}
html.pwa-shell .changes-workspace{display:block}html.pwa-shell .changes-reader{display:none;position:static;max-height:none;overflow:visible;padding:24px 0}html.pwa-shell .changes-page--reading .changes-reader{display:block}html.pwa-shell .changes-page--reading .changes-list,html.pwa-shell .changes-page--reading .changes-controls{display:none}
@media(max-width:600px){.changes-page{padding:0 18px}.changes-head{display:block;padding-top:32px}.changes-head h1{font-size:42px}.changes-title-break{display:block}.changes-edition{margin-top:26px;padding-left:16px;gap:8px}.changes-edition strong{font-size:16px}.changes-edition strong br{display:none}.changes-lead{font-size:16px}.changes-notice{padding:14px}.changes-search-row{align-items:stretch;flex-wrap:wrap}.changes-search{flex-basis:100%}.changes-search-row>.changes-button{margin-left:auto}.changes-result-bar{align-items:start}.changes-result-bar label{align-items:end;flex-direction:column;gap:0}.changes-result-bar select{padding-right:0}.changes-row{padding:22px 10px}.changes-row h2{font-size:17px}.changes-reader h2{font-size:25px}.changes-facts{grid-template-columns:1fr}.changes-actions>*{width:100%}.changes-dialog{padding:20px}}
@media(prefers-reduced-motion:no-preference){.changes-button{transition:transform 160ms}.changes-dialog[open]{animation:changes-appear 180ms ease-out}@keyframes changes-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
.changes-views{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}
.changes-views button{min-height:44px;padding:10px 16px;border:1px solid var(--c-line-control);border-radius:var(--r-md);background:var(--c-bg);color:var(--c-text);font:500 14px var(--f-body);cursor:pointer}
.changes-views button[aria-pressed=true]{background:var(--c-text);color:var(--c-bg);border-color:var(--c-text)}
.changes-row-summary{font-size:14px;line-height:1.6;color:var(--c-text-2);margin:0 0 18px}
.changes-notice .changes-sync-meta{font-size:12px;line-height:1.6;color:var(--c-text-3);margin:8px 0 0}
.changes-attribution{display:grid;gap:8px;border-block:1px solid var(--c-line);padding:18px 0;font-size:13px;line-height:1.6;color:var(--c-text-2)}
.changes-attribution strong{color:var(--c-text)}
.changes-brief{padding-top:10px}.changes-brief a{color:var(--c-accent-text);text-underline-offset:3px;overflow-wrap:anywhere}
.changes-brief h3{font:400 22px/1.4 var(--f-display);margin:24px 0 12px}.changes-brief p{margin:16px 0;white-space:pre-wrap}
.changes-reader:has(.changes-brief){scroll-padding-block:20px}


.changes-reading-filter { margin: 0 0 18px; font-size: 14px; }.changes-reading-filter label { display: inline-flex; align-items: center; min-height: 44px; gap: 10px; }.changes-reading-filter input { width: 18px; min-height: 18px; padding: 0; accent-color: var(--c-accent); }
.changes-read-label { display: inline-block; color: var(--c-text-3); font-size: 13px; margin-top: 8px; }
.changes-contents { margin: 24px 0; padding: 16px 0; border-block: 1px solid var(--c-line); }.changes-contents h3 { margin: 0 0 8px; }.changes-contents button { display: block; min-height: 44px; padding: 8px 0; color: var(--c-link); background: none; border: 0; font: 16px var(--f-body); text-align: left; cursor: pointer; }
.changes-brief h3 { scroll-margin-top: 90px; }.changes-read-action { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 24px 0; }

.changes-reading-note { display: block; color: var(--c-text-3); font-size: 13px; }

@container club-layout (max-width:1199px){.changes-workspace{display:block}.changes-list{border-right:0}.changes-reader{display:none;position:static;max-height:none;overflow:visible;padding:24px 0}.changes-page--reading .changes-reader{display:block}.changes-page--reading .changes-list,.changes-page--reading .changes-controls{display:none}.changes-page--reading .changes-head{display:none}.changes-page--reading .changes-notice{margin-top:24px}.changes-page--reading .changes-workspace{border-top:0}}
@container club-layout (max-width:600px){.changes-page{padding:0 18px}.changes-head{display:block;padding-top:32px}.changes-head h1{font-size:42px}.changes-title-break{display:block}.changes-edition{margin-top:26px;padding-left:16px;gap:8px}.changes-edition strong{font-size:16px}.changes-edition strong br{display:none}.changes-lead{font-size:16px}.changes-notice{padding:14px}.changes-search-row{align-items:stretch;flex-wrap:wrap}.changes-search{flex-basis:100%}.changes-search-row>.changes-button{margin-left:auto}.changes-result-bar{align-items:start}.changes-result-bar label{align-items:end;flex-direction:column;gap:0}.changes-result-bar select{padding-right:0}.changes-row{padding:22px 10px}.changes-row h2{font-size:17px}.changes-reader h2{font-size:25px}.changes-facts{grid-template-columns:1fr}.changes-actions>*{width:100%}.changes-dialog{padding:20px}}
.adm-dashboard { margin-bottom: 32px; }
.adm-push > input { min-width: 0; width: 100%; }
.dash-toolbar, .dash-card-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.dash-toolbar { margin-bottom: 22px; }
.dash-toolbar p, .dash-note { font-size: 13px; color: var(--c-text-2); line-height: 1.6; }
.dash-period { display: flex; padding: 4px; border: 1px solid var(--c-line); border-radius: 8px; background: var(--c-bg-raised); }
.dash-period button { padding: 10px 16px; border: 0; border-radius: 4px; background: transparent; color: var(--c-text); font: inherit; cursor: pointer; min-height: 44px; }
.dash-period button[aria-pressed="true"] { background: var(--c-text); color: var(--c-bg); }
.dash-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 22px; }
.dash-kpi, .dash-card { background: var(--c-bg-raised); border: 1px solid var(--c-line); border-radius: 12px; padding: 24px; box-shadow: var(--shadow-ambient); min-width: 0; }
.dash-kpi:first-child { border-top: 3px solid var(--c-accent); }
.dash-kpi h2 { margin: 0; font: 500 14px var(--f-body); color: var(--c-text-2); }
.dash-kpi strong { display: block; margin: 16px 0 8px; font: 400 clamp(28px, 3vw, 42px) var(--f-display); font-variant-numeric: tabular-nums; }
.dash-kpi p, .dash-service p { color: var(--c-text-2); font-size: 13px; line-height: 1.6; margin: 0; }
.dash-analysis { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 22px; }
.dash-card h2 { font: 400 24px var(--f-display); margin: 0; }
.dash-card-head span, .dash-card-head p { font-size: 13px; color: var(--c-text-2); }
.dash-traffic svg { display: block; width: 100%; margin-top: 20px; }
.dash-dates { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; font-size: 11px; color: var(--c-text-2); }
.dash-traffic details { margin-top: 16px; font-size: 13px; }
.dash-table-scroll { max-height: 200px; overflow: auto; }
.dash-table-scroll table { width: 100%; text-align: left; }
.dash-ranking { list-style: none; padding: 0; margin: 20px 0; }
.dash-ranking li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 16px; margin-bottom: 16px; font-size: 14px; }
.dash-ranking span { overflow-wrap: anywhere; }
.dash-ranking meter { grid-column: 1 / -1; width: 100%; height: 6px; accent-color: var(--c-accent); }
.dash-link { border: 0; background: none; color: var(--c-accent-text); font: inherit; padding: 8px 0; cursor: pointer; }
.dash-system { margin-top: 22px; }
.dash-services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 24px; margin-top: 12px; }
.dash-service { padding: 20px 0; border-top: 1px solid var(--c-line); }
.dash-service > div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.dash-service h3 { margin: 0; font-size: 14px; font-weight: 600; }
.dash-status { font-size: 11px; font-weight: 600; padding: 4px 8px; border-radius: 4px; background: var(--c-bg-sunken); }
.dash-status[data-status="ok"] { color: #166534; background: #dcfce7; }
.dash-status[data-status="error"] { color: #991b1b; background: #fee2e2; }
.dash-service small { display: block; color: var(--c-text-2); margin-top: 8px; }
.dash-refresh { border: 1px solid var(--c-line); background: var(--c-bg); border-radius: 6px; padding: 12px 16px; min-height: 44px; color: var(--c-text); font: inherit; cursor: pointer; }
.dash-refresh:disabled { opacity: .6; cursor: wait; }
.dash-error { padding: 20px; color: var(--c-danger-text); }
@media (max-width: 1200px) { .dash-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dash-services { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .dash-analysis, .dash-services { grid-template-columns: 1fr; } .dash-kpi, .dash-card { padding: 18px; } .dash-kpis { gap: 10px; } }
@media (max-width: 380px) { .dash-kpis { grid-template-columns: 1fr; } }

@container club-layout (max-width:1200px){ .dash-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dash-services { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container club-layout (max-width:700px){ .dash-analysis, .dash-services { grid-template-columns: 1fr; } .dash-kpi, .dash-card { padding: 18px; } .dash-kpis { gap: 10px; } }
@container club-layout (max-width:380px){ .dash-kpis { grid-template-columns: 1fr; } }
.discovery-dialog{width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--c-line-control);border-radius:var(--r-lg);padding:24px;background:var(--c-bg);color:var(--c-text);font-family:var(--f-body)}
.discovery-dialog::backdrop{background:rgb(0 0 0 / .5)}
.discovery-dialog-head{display:flex;justify-content:space-between;align-items:start;gap:16px}.discovery-dialog-head h2{margin:0 0 20px;font-family:var(--f-display)}
.discovery-dialog button,.discovery-dialog input{min-height:48px}.discovery-dialog label{display:grid;gap:8px}.discovery-dialog form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px}.discovery-dialog [data-search-row]{display:block;padding:12px 0}.discovery-dialog [data-search-row]:focus-visible{outline:2px solid var(--c-accent-text);outline-offset:3px}
[data-reading-undo][hidden]{display:none}.changes-filter-launch{display:none}.changes-contents a{display:block;min-height:44px;padding:8px 0}.changes-copy-field{width:100%;min-height:220px}.changes-reader h1{font:400 28px/1.35 var(--f-display);overflow-wrap:anywhere}.changes-controls .site-filters{margin-block:24px}.changes-reader [data-changes-text]{overflow-wrap:anywhere}.changes-pagination{flex-wrap:wrap}.changes-reader .changes-back{display:inline-flex;align-items:center}.changes-dialog-footer{padding-bottom:env(safe-area-inset-bottom);display:flex;gap:12px;justify-content:end}.changes-dialog .site-filters{display:grid;margin:0}
@media(max-width:767px){.changes-filter-launch{display:inline-flex}.changes-controls [data-changes-filter-home]{display:none}.discovery-dialog{padding:18px}.discovery-dialog form{grid-template-columns:1fr}.changes-reader{padding-bottom:calc(32px + env(safe-area-inset-bottom))}}

.changes-dialog .site-filters{gap:8px;padding:12px 0;align-items:stretch}.changes-dialog .site-filters label{margin:8px 0;max-width:none}.changes-dialog-head{position:sticky;top:0;background:var(--c-bg)}

@container club-layout (max-width:767px){.changes-filter-launch{display:inline-flex}.changes-controls [data-changes-filter-home]{display:none}.discovery-dialog{padding:18px}.discovery-dialog form{grid-template-columns:1fr}.changes-reader{padding-bottom:calc(32px + env(safe-area-inset-bottom))}}
.dpo-picker{margin:0 0 32px}
.dpo-picker summary{cursor:pointer;font-size:20px;font-weight:600;min-height:44px;align-content:center}
.dpo-picker form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-top:24px}
.dpo-picker label{min-width:0}
.dpo-picker select{width:100%;margin-top:10px}
.dpo-picker form>button{justify-self:start;grid-column:1/-1}
.dpo-starts{margin:32px 0 40px}
.dpo-starts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.dpo-starts-grid article{min-width:0;border-top:2px solid var(--c-accent);padding:16px 0}
.dpo-starts-grid time{font-weight:600;color:var(--c-accent-text)}
.dpo-starts-grid h3{font-size:20px;line-height:1.4;margin:12px 0}
.dpo-starts-grid p{font-weight:600;margin-bottom:0}
#program-list{scroll-margin-top:140px}
.dpo-compare-bar{position:sticky;top:100px;z-index:25;margin:24px 0;background:var(--c-bg);border:1px solid var(--c-line-control);box-shadow:var(--shadow-ambient);display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.dpo-compare-bar p{margin:0;font-weight:600}
.dpo-compare-bar [data-compare-selected]{display:flex;flex-wrap:wrap;gap:8px;flex:1 1 100%}
.dpo-compare-bar [data-compare-selected] button{max-width:240px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#program-compare-dialog{max-width:1080px;width:calc(100% - 32px);max-height:90dvh;border:1px solid var(--c-line-control);border-radius:var(--r-lg);padding:24px;color:var(--c-text);background:var(--c-bg)}
#program-compare-dialog::backdrop{background:rgb(0 0 0/.55)}
#program-compare-dialog header{display:flex;gap:16px;align-items:start;justify-content:space-between}
#program-compare-dialog h2{margin:0}
.dpo-compare-scroll{overflow:auto;margin:24px 0}
.dpo-compare-scroll table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:600px}
.dpo-compare-scroll th,.dpo-compare-scroll td{text-align:left;vertical-align:top;padding:14px;border:1px solid var(--c-line);overflow-wrap:anywhere}
.dpo-compare-scroll th{background:var(--c-bg-sunken)}
.dpo-compare-scroll th:first-child{width:150px}
.dpo-compare-scroll caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#program-compare-dialog [data-compare-fallback]{margin-top:16px}
#program-compare-dialog input{width:100%}
.dpo-compare-hint{display:none}
@media(max-width:900px){.dpo-picker form{grid-template-columns:1fr}.dpo-starts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.dpo-starts-grid{grid-template-columns:1fr}.dpo-picker summary{font-size:18px}.dpo-compare-hint{display:block}.dpo-compare-bar{top:80px;padding:12px;gap:8px}.dpo-compare-bar [data-compare-selected]{flex-wrap:nowrap;overflow-x:auto;min-width:0}.dpo-compare-bar [data-compare-selected] button{flex:0 0 auto;max-width:180px}.dpo-compare-bar>[data-action='show-compare']{flex:1;min-width:0;font-size:14px;padding:10px}}

@container club-layout (max-width:900px){.dpo-picker form{grid-template-columns:1fr}.dpo-starts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container club-layout (max-width:600px){.dpo-starts-grid{grid-template-columns:1fr}.dpo-picker summary{font-size:18px}.dpo-compare-hint{display:block}.dpo-compare-bar{top:80px;padding:12px;gap:8px}.dpo-compare-bar [data-compare-selected]{flex-wrap:nowrap;overflow-x:auto;min-width:0}.dpo-compare-bar [data-compare-selected] button{flex:0 0 auto;max-width:180px}.dpo-compare-bar>[data-action='show-compare']{flex:1;min-width:0;font-size:14px;padding:10px}}
.club-dpo-vitrine {
  max-width: none;
  margin: 0;
  padding: 0;
}

.club-dpo-masthead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  min-height: clamp(380px, 46vh, 520px);
}

.club-dpo-masthead__inner {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(40px, 5vw, 72px) clamp(24px, 4vw, 64px);
  padding-left: max(clamp(24px, 4vw, 64px), calc((100vw - var(--container)) / 2 + 28px));
}

.club-dpo-masthead__media {
  position: relative;
  min-width: 0;
  min-height: 280px;
  background: var(--c-bg-sunken);
}

.club-dpo-masthead__media > picture,
.club-dpo-masthead__media > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.club-dpo-masthead__photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 40% 0%;
}

.club-dpo-masthead h1 {
  margin: 14px 0 0;
  max-width: min(22ch, 100%);
  overflow-wrap: anywhere;
  text-wrap: balance;
  font-family: var(--f-display);
  font-weight: 400;
  font-size: var(--t-h1-page);
  line-height: 1.12;
  letter-spacing: var(--tr-display);
  color: var(--c-text);
}

.club-dpo-lead {
  margin: 16px 0 0;
  max-width: 52ch;
  font-size: var(--t-lead);
  line-height: 1.5;
  color: var(--c-text-2);
}

.club-dpo-body {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 28px clamp(48px, 6vw, 80px);
}

.club-dpo-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 20px;
  margin: 4px 0 16px;
}

.club-dpo-toolbar__hint {
  margin: 0;
  font-size: var(--t-small);
  color: var(--c-text-3);
  max-width: 36ch;
  line-height: 1.4;
}

.club-dpo-vitrine .club-catalog-filters {
  margin-top: 0;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
  border-radius: 0;
  padding: 22px 0;
}

.club-dpo-vitrine .club-catalog-filters label {
  font-size: 14px;
  color: var(--c-text-2);
}

.club-dpo-mode {
  display: inline-flex;
  align-items: stretch;
  width: min(100%, 440px);
  border: 1px solid var(--c-text);
  border-radius: var(--r-sm);
  overflow: hidden;
  background: var(--c-bg);
}

.club-dpo-mode__btn {
  flex: 1 1 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: none;
  background: transparent;
  color: var(--c-text-2);
  padding: 11px 16px;
  font: inherit;
  font-size: var(--t-caption);
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition:
    background-color 0.2s var(--ease-out),
    color 0.2s var(--ease-out);
}

.club-dpo-mode__btn + .club-dpo-mode__btn {
  border-left: 1px solid var(--c-text);
}

.club-dpo-mode__btn.is-on {
  background: var(--c-bg-inverse);
  color: var(--c-text-inverse);
}

.club-dpo-mode__count {
  font-family: var(--f-data);
  font-size: 12px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  opacity: 0.85;
  min-width: 1.5ch;
}

.club-dpo-mode__btn:not(.is-on) .club-dpo-mode__count {
  color: var(--c-text-3);
}

.club-dpo-status {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px 20px;
  margin: 18px 0 6px;
  font-size: var(--t-small);
  color: var(--c-text-2);
}

.club-dpo-status strong {
  font-weight: 600;
  color: var(--c-text);
  font-variant-numeric: tabular-nums;
}

.club-dpo-external {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 44px;
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 600;
  color: var(--c-link);
  text-decoration: underline;
  text-underline-offset: 4px;
  border-radius: var(--r-sm);
  background: transparent;
  border: 0;
}

.club-dpo-external:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.club-dpo-closed {
  text-align: center;
  color: var(--c-text-3);
  border: 1px dashed var(--c-line-control);
  border-radius: var(--r-sm);
  padding: 10px 16px;
  font-size: 14px;
}

.club-dpo-empty,
.club-dpo-loading,
.club-dpo-error {
  margin: 28px 0;
  padding: 28px 24px;
  border-radius: var(--r-lg);
  border: 1px solid var(--c-line);
}

.club-dpo-loading {
  background: color-mix(in srgb, var(--c-anchor) 6%, var(--c-bg));
  color: var(--c-text-3);
  font-family: var(--f-data);
  font-size: var(--t-caption);
}

.club-dpo-loading__bars {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.club-dpo-loading__bar {
  height: 14px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--c-anchor) 12%, var(--c-bg-sunken));
  transform-origin: left center;
}

.club-dpo-loading__bar:nth-child(2) { width: 78%; }
.club-dpo-loading__bar:nth-child(3) { width: 62%; }

.club-dpo-empty {
  background: color-mix(in srgb, var(--c-accent) 6%, var(--c-bg));
  border-color: color-mix(in srgb, var(--c-accent) 18%, var(--c-line));
}

.club-dpo-empty h2 {
  margin: 0;
  font-family: var(--f-display);
  font-weight: 400;
  font-size: var(--t-h3);
}

.club-dpo-empty p {
  margin: 10px 0 0;
  color: var(--c-text-2);
}

.club-dpo-error {
  background: color-mix(in srgb, var(--c-danger) 8%, var(--c-bg));
  border-color: color-mix(in srgb, var(--c-danger) 22%, var(--c-line));
}

.club-dpo-foot {
  border-top: 1px solid var(--c-line);
  padding-top: 18px;
  margin-top: 8px;
  font-family: var(--f-data);
  font-size: var(--t-caption);
  color: var(--c-text-3);
  font-variant-numeric: tabular-nums;
}

@media (prefers-reduced-motion: no-preference) {
  .club-dpo-loading__bar {
    animation: club-dpo-pulse 1.2s var(--ease-out) infinite alternate;
  }
  .club-dpo-loading__bar:nth-child(2) { animation-delay: 80ms; }
  .club-dpo-loading__bar:nth-child(3) { animation-delay: 160ms; }
}

@keyframes club-dpo-pulse {
  from { opacity: 0.55; transform: scaleX(0.98); }
  to { opacity: 1; transform: scaleX(1); }
}

@media (max-width: 900px) {
  .club-dpo-mode {
    width: 100%;
    max-width: none;
  }
  .club-dpo-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  .club-dpo-toolbar__hint {
    max-width: none;
  }
  .club-dpo-masthead {
    grid-template-columns: 1fr;
    gap: 18px;
    padding-bottom: 22px;
  }
  .club-dpo-masthead__media {
    order: -1;
    min-height: 180px;
    max-height: 220px;
  }
  .club-dpo-masthead__photo {
    object-position: 42% 0%;
  }
  .club-dpo-masthead__inner {
    padding-right: 0;
  }
}

@media (max-width: 620px) {
  .club-dpo-masthead,
  .club-dpo-body {
    padding-left: 18px;
    padding-right: 18px;
  }
}

html.vis .club-dpo-masthead__media {
  display: none;
}
html.vis .club-dpo-masthead {
  grid-template-columns: 1fr;
  background: var(--vis-bg, var(--c-bg)) !important;
}

.club-dpo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 44px 28px;
  margin-top: 28px;
}
.club-dpo-tile { display: grid; gap: 8px; align-content: start; min-width: 0; }
.club-dpo-tile__cover {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: var(--r-lg);
  background: var(--c-bg-sunken);
  text-decoration: none;
}
.club-dpo-tile__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.club-dpo-tile__link { color: inherit; text-decoration: none; margin-top: 6px; }
.club-dpo-tile h2 { font-family: var(--f-head); font-weight: 600; font-size: 20px; line-height: 1.28; margin: 0; }
.club-dpo-tile__link:hover h2 { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.club-dpo-tile__meta { font-size: var(--t-caption); color: var(--c-text-3); }
.club-dpo-tile__price { display: flex; flex-wrap: wrap; gap: 10px; align-items: baseline; font-family: var(--f-data); font-variant-numeric: tabular-nums; font-size: 18px; font-weight: 500; }
.club-dpo-tile__price s { font-size: var(--t-caption); color: var(--c-text-3); font-weight: 400; }
.club-dpo-tile__closed { font-size: var(--t-caption); font-weight: 400; color: var(--c-danger-text); }
.club-dpo-tile__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 6px; padding-top: 12px; border-top: 1px solid var(--c-line); }
.club-dpo-tile__compare { display: flex; align-items: center; gap: 8px; min-height: 40px; font-size: var(--t-caption); color: var(--c-text-2); cursor: pointer; }
.club-dpo-tile__compare input { width: 16px; height: 16px; margin: 0; accent-color: var(--c-bg-inverse); }
.club-dpo-tile__actions .club-btn { min-height: 40px; padding: 8px 14px; }
@media (max-width: 960px) { .club-dpo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 20px; } }
@media (max-width: 560px) { .club-dpo-grid { grid-template-columns: 1fr; } }

.club-dpo-tile--text { padding-top: 16px; border-top: 1px solid var(--c-line); }
.club-dpo-tile--text h2 { font-size: 20px; }
.club-dpo-grid--text { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 48px; margin-top: 56px; }
.club-dpo-grid__title { grid-column: 1 / -1; margin: 0 0 4px; font-family: var(--f-display); font-weight: 400; font-size: clamp(26px, 2.6vw, 32px); line-height: 1.1; }
@media (max-width: 560px) { .club-dpo-grid--text { grid-template-columns: 1fr; } }

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .club-dpo-tile__cover img { transition: transform 1200ms var(--ease-out); }
}

.club-dpo-tile__cover { box-shadow: var(--shadow-ambient); transition: transform 520ms var(--ease-spring), box-shadow 520ms var(--ease-spring); }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .club-dpo-tile:hover .club-dpo-tile__cover { box-shadow: var(--shadow-ambient-lift); }
}

.club-dpo-masthead + .club-dpo-body { padding-top: clamp(28px, 3.5vw, 44px); }
.club-dpo-mode { box-shadow: var(--shadow-ambient); }
.club-dpo-tile__price { color: var(--c-accent-text); }

.club-dpo-masthead__media { min-height: 0; aspect-ratio: 1100 / 330; align-self: center; overflow: hidden; isolation: isolate; }
.club-dpo-masthead__photo { object-fit: contain; object-position: center; }

@media (max-width: 900px) {
  .club-dpo-masthead { gap: 0; padding: 0; }
  .club-dpo-masthead__inner { padding: 32px 24px; }
}
@media (max-width: 620px) {
  .club-dpo-masthead__inner { padding: 28px 16px; }
  .club-dpo-body { padding-inline: 16px; }
  .club-dpo-masthead h1 { margin-top: 0; }
}

@container club-layout (max-width:900px){
  .club-dpo-mode {
    width: 100%;
    max-width: none;
  }
  .club-dpo-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  .club-dpo-toolbar__hint {
    max-width: none;
  }
  .club-dpo-masthead {
    grid-template-columns: 1fr;
    gap: 18px;
    padding-bottom: 22px;
  }
  .club-dpo-masthead__media {
    order: -1;
    min-height: 180px;
    max-height: 220px;
  }
  .club-dpo-masthead__photo {
    object-position: 42% 0%;
  }
  .club-dpo-masthead__inner {
    padding-right: 0;
  }
}
@container club-layout (max-width:620px){
  .club-dpo-masthead,
  .club-dpo-body {
    padding-left: 18px;
    padding-right: 18px;
  }
}
@container club-layout (max-width:960px){ .club-dpo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 20px; } }
@container club-layout (max-width:560px){ .club-dpo-grid { grid-template-columns: 1fr; } }
@container club-layout (max-width:560px){ .club-dpo-grid--text { grid-template-columns: 1fr; } }
@container club-layout (max-width:900px){
  .club-dpo-masthead { gap: 0; padding: 0; }
  .club-dpo-masthead__inner { padding: 32px 24px; }
}
@container club-layout (max-width:620px){
  .club-dpo-masthead__inner { padding: 28px 16px; }
  .club-dpo-body { padding-inline: 16px; }
  .club-dpo-masthead h1 { margin-top: 0; }
}
.club-news-row { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 24px; padding: 24px 0; border-top: 1px solid var(--c-line); }
.club-news-row h2 { overflow-wrap: anywhere; }
.club-news-row time { color: var(--c-accent-text); }
.club-news-row--featured { grid-template-columns: 1fr; padding: 32px; margin: 24px 0; border: 1px solid var(--c-line); border-radius: var(--r-lg); background: var(--c-bg-raised); box-shadow: var(--shadow-ambient); }
.club-news-row--featured h2 { max-width: 30ch; }
.club-news-read { display: inline-flex; align-items: center; min-height: 44px; }
.club-news-post { max-width: 1000px; margin: 0 auto; padding: 0 var(--page-gutter); }
.club-news-post article { margin: 28px 0 48px; padding: 40px; border: 1px solid var(--c-line); border-radius: var(--r-lg); background: var(--c-bg-raised); box-shadow: var(--shadow-ambient); }
.club-news-post article > time { color: var(--c-accent-text); }
.club-news-post article h1 { overflow-wrap: anywhere; }
.club-news-post article p { max-width: 68ch; overflow-wrap: anywhere; }
.club-news-post__body { max-width: 72ch; }
.club-news-post__body p { white-space: pre-line; }
.club-news-post__footer { display: flex; flex-wrap: wrap; gap: 16px; border-top: 1px solid var(--c-line); padding-top: 20px; margin-top: 32px; }
.club-news-post__footer a { color: var(--c-link); text-underline-offset: 4px; min-height: 44px; display: inline-flex; align-items: center; }
@media (max-width: 700px) {
  .club-news-row { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .club-news-row--featured { padding: 24px 20px; }
  .club-news-post article { padding: 24px 20px; }
}
.club-event-featured { padding: 0 24px; margin: 12px 0 24px; background: var(--c-bg-raised); border: 1px solid var(--c-line); border-radius: var(--r-lg); box-shadow: var(--shadow-ambient); }
.club-event-featured .club-event-row { border-top: 0 !important; }
.club-agenda-reset { align-self: end; min-height: 44px; padding: 10px 16px; background: transparent; color: var(--c-text-2); border: 1px solid var(--c-line-control); border-radius: var(--r-sm); cursor: pointer; }
@media (max-width: 700px) { .club-event-featured { padding: 0 20px; } }

.club-event-row > :last-child { grid-column: 2; }
@media (max-width: 420px) { .club-event-row > :last-child { grid-column: 1; } }

@container club-layout (max-width:700px){
  .club-news-row { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .club-news-row--featured { padding: 24px 20px; }
  .club-news-post article { padding: 24px 20px; }
}
@container club-layout (max-width:700px){ .club-event-featured { padding: 0 20px; } }
@container club-layout (max-width:420px){ .club-event-row > :last-child { grid-column: 1; } }
.club-event-detail { background: var(--c-bg-raised); color: var(--c-text); border: 1px solid var(--c-line); border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-ambient); }
.club-event-detail__nav { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; padding: 20px 24px; border-bottom: 1px solid var(--c-line); }
.club-event-detail__nav a { color: var(--c-link); text-underline-offset: 4px; }
.club-event-detail__nav button { background: transparent; color: var(--c-text-2); border: 1px solid var(--c-line-control); border-radius: var(--r-sm); padding: 10px 14px; min-height: 44px; cursor: pointer; }
.club-event-detail__header { padding: 28px 24px; }
.club-event-detail__tags { display: flex; flex-wrap: wrap; gap: 8px 16px; color: var(--c-text-2); font-size: 13px; }
.club-event-detail__header h1, .club-event-detail__header h2 { font-family: var(--f-display); font-weight: 400; font-size: clamp(28px, 4vw, 40px); line-height: 1.12; margin: 16px 0 0; overflow-wrap: anywhere; }
.club-event-detail__cover { display: block; width: 100%; height: auto; margin-bottom: 24px; border-radius: var(--r-sm); }
.club-event-detail__body { display: grid; gap: 28px; padding: 28px 24px; }
.club-event-detail__story { min-width: 0; }
.club-event-detail__story :is(h2, h3) { font-size: 18px; font-weight: 600; margin: 0 0 12px; }
.club-event-detail__story p { color: var(--c-text-2); font-size: var(--t-body); line-height: 1.65; white-space: pre-line; overflow-wrap: anywhere; margin: 0; max-width: 62ch; }
.club-event-detail__info { min-width: 0; }
.club-event-detail__info dl { margin: 0; }
.club-event-detail__info dl > div { padding: 16px 0; border-top: 1px solid var(--c-line); }
.club-event-detail__info dt, .club-event-detail__calendar > span { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--c-text-3); }
.club-event-detail__info dd { margin: 8px 0 0; font-size: 16px; line-height: 1.5; overflow-wrap: anywhere; }
.club-event-detail__info time { color: var(--c-accent-text); font-weight: 500; }
.club-event-detail__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.club-event-detail__actions > a, .club-event-detail__actions > button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.club-event-detail__registration { background: var(--c-bg-inverse); color: var(--c-text-inverse); border-radius: var(--r-sm); padding: 10px 16px; text-decoration: none; }
.club-event-detail__attendance { font-size: 13px; color: var(--c-text-3); margin: 12px 0 0; }
.club-event-detail__calendar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; border-top: 1px solid var(--c-line); margin-top: 20px; padding-top: 16px; }
.club-event-detail__calendar > span { flex-basis: 100%; margin-bottom: 4px; }
.club-event-detail__calendar a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 12px; border: 1px solid var(--c-line-control); border-radius: var(--r-sm); color: var(--c-text-2); font-size: 13px; text-decoration: none; }
.club-event-detail--page { margin: 36px auto 56px; }
.club-event-detail--page .club-event-detail__header { padding: 40px; }
.club-event-detail--page .club-event-detail__header h1 { font-size: clamp(32px, 4.5vw, 60px); max-width: 24ch; }
.club-event-detail--page .club-event-detail__body { grid-template-columns: minmax(0, 1fr) minmax(280px, .7fr); gap: 40px; padding: 0 40px 40px; }
.club-event-detail--page .club-event-detail__info { border-left: 1px solid var(--c-line); padding-left: 32px; }
.club-event-state { margin: 40px auto; padding: 32px; background: var(--c-bg-raised); border: 1px solid var(--c-line); border-radius: var(--r-lg); }
.club-event-state h1 { font-family: var(--f-display); font-weight: 400; font-size: clamp(28px, 5vw, 44px); }
@media (max-width: 700px) {
  .club-event-detail--page .club-event-detail__header, .club-event-detail--page .club-event-detail__body { padding: 24px 20px; }
  .club-event-detail--page .club-event-detail__body { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .club-event-detail--page .club-event-detail__info { border-left: 0; padding-left: 0; }
  .club-event-detail__nav { padding: 16px 20px; }
  .club-event-detail--page { margin-top: 24px; }
}

@container club-layout (max-width:700px){
  .club-event-detail--page .club-event-detail__header, .club-event-detail--page .club-event-detail__body { padding: 24px 20px; }
  .club-event-detail--page .club-event-detail__body { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .club-event-detail--page .club-event-detail__info { border-left: 0; padding-left: 0; }
  .club-event-detail__nav { padding: 16px 20px; }
  .club-event-detail--page { margin-top: 24px; }
}
.lux-give { padding-bottom: clamp(72px, 8cqi, 128px); }
.give-hero { padding-block: clamp(56px, 8cqi, 112px) clamp(40px, 5cqi, 72px); text-align: center; }
.give-hero__eyebrow { margin: 0 0 20px; font-size: 14px; color: var(--c-text-3); }
.give-hero__title { margin: 0; font: 200 clamp(48px, 9.4cqi, 132px)/0.98 var(--f-display); letter-spacing: -0.045em; font-kerning: none; text-wrap: balance; }
.give-hero .give-hero__lede { max-width: 40ch; margin: 28px auto 0; text-wrap: balance; }

.give-layout { display: grid; gap: 48px; }
.give-panel { min-width: 0; }
.give-story { min-width: 0; }

.give-form { display: grid; }
.give-amount { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 10px; margin: 0 0 28px; font: 200 clamp(60px, 6cqi, 80px)/1 var(--f-display); letter-spacing: -0.045em; font-kerning: none; font-variant-numeric: tabular-nums; }
.give-amount__unit { font-size: 0.5em; color: var(--c-text-3); letter-spacing: -0.02em; }
.give-amount__period { font: 400 17px/1 var(--f-body); letter-spacing: 0; color: var(--c-text-3); }
.give-amount__period[hidden] { display: none; }
.give-group { min-width: 0; margin: 0 0 20px; padding: 0; border: 0; }
.give-group__label { margin-bottom: 10px; padding: 0; font-size: 14px; color: var(--c-text-3); }
.give-seg { width: 100%; }
.give-seg--sums .lux-seg__opt span { padding-inline: 4px; font-variant-numeric: tabular-nums; }
.give-seg.is-free .lux-seg__thumb { opacity: 0; }
.give-seg__soon { cursor: default; }
.give-seg__soon input { cursor: default; }
.give-seg__soon span { flex-direction: column; gap: 4px; }
.give-seg__soon small { padding: 2px 8px; border-radius: 999px; background: var(--c-bg-raised); font-size: 12px; line-height: 1.3; color: var(--c-text-3); }
.give-other { margin: 14px 0 0; font-size: 14px; color: var(--c-text-3); }
.give-form .site-field { margin: 16px 0 0; font-size: 14px; font-weight: 400; color: var(--c-text-3); }
.give-form .site-field input { font-size: 16px; color: var(--c-text); }
.give-hint { margin: 8px 0 0; font-size: 13px; line-height: 1.4; color: var(--c-text-3); }
.give-hint--center { margin-top: 14px; text-align: center; text-wrap: balance; }
.give-form .site-consent { display: flex; align-items: flex-start; gap: 12px; min-height: 44px; margin: 4px 0 0; padding-block: 12px; font-size: 14px; line-height: 1.4; color: var(--c-text-2); }
.give-form .site-consent input { flex: none; width: 20px; height: 20px; margin: 0; }
.give-submit { width: 100%; min-height: 56px; margin-top: 24px; column-gap: 0.3em; font-size: 18px; font-variant-numeric: tabular-nums; }
.give-status { margin: 12px 0 0; font-size: 14px; text-align: center; color: var(--c-accent-text); }
.give-status:empty { display: none; }
.give-status[hidden] { display: none; }
.give-transfer { display: grid; justify-items: center; gap: 16px; text-align: center; }
.give-transfer[hidden] { display: none; }
.give-transfer__title { margin: 0; font: 600 22px/1.25 var(--f-body); letter-spacing: -0.01em; font-variant-numeric: tabular-nums; text-wrap: balance; }
.give-transfer__qr { display: block; width: min(240px, 100%); height: auto; aspect-ratio: 1; border-radius: 12px; background: #fff; }
.give-transfer .give-hint { margin: 0; }
.give-transfer__save { min-height: 44px; }
.give-requisites { display: grid; gap: 2px; width: 100%; margin: 4px 0 0; text-align: left; font-size: 14px; line-height: 1.4; }
.give-requisites dt { color: var(--c-text-3); }
.give-requisites dd { margin: 0 0 10px; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; user-select: all; color: var(--c-text); }
.give-requisites dd:last-child { margin-bottom: 0; }
.pay-layout { max-width: 480px; }
.give-hero .pay-title { font-size: clamp(44px, 7cqi, 96px); }

.give-thanks { padding-block: clamp(72px, 10cqi, 144px); }
.give-thanks__mark { display: block; width: 64px; height: 64px; margin: 0 auto 32px; border-radius: 14px; }
.give-thanks__home { margin-top: 36px; }

.give-photo { margin: 0; }
.give-photo img { display: block; width: 100%; height: auto; border-radius: var(--r-tile); }
.give-block { margin-top: clamp(64px, 7cqi, 104px); }
.give-h2 { margin: 0 0 28px; font: 200 clamp(32px, 3.6cqi, 52px)/1.04 var(--f-display); letter-spacing: -0.04em; font-kerning: none; text-wrap: balance; }

.give-dirs { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.give-dirs li { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 6px 20px; padding: 28px; border-radius: var(--r-tile); background: var(--c-bg-raised); }
.give-dirs__icon { grid-row: span 2; color: var(--c-accent-text); }
.give-dirs h3 { margin: 0; font: 400 21px/1.2 var(--f-display); letter-spacing: -0.015em; }
.give-dirs p { margin: 0; font-size: 16px; line-height: 1.45; color: var(--c-text-3); }
.give-note { margin: 20px 0 0; font-size: 14px; line-height: 1.45; color: var(--c-text-3); }

.give-teaser { display: grid; gap: 28px; align-items: end; }
.give-teaser .lux-lede { max-width: 30ch; }
.give-teaser__act { display: grid; gap: 16px; justify-items: start; }

html.lux .club-header__give { position: relative; display: inline-flex; align-items: center; min-height: 32px; margin-left: 8px; padding: 0 14px; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--lux-hairline); color: var(--c-text); font: 600 14px/1 var(--f-body); letter-spacing: -0.01em; text-decoration: none; white-space: nowrap; transition: transform 160ms var(--ease-out), background-color 160ms ease; }
html.lux .club-header__give::after { content: ""; position: absolute; inset: -6px -2px; }
html.lux .club-header__give:active { transform: scale(0.97); }
html.lux .club-menu .club-menu__give { justify-content: center; min-height: 48px; margin-top: 20px; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--lux-hairline); color: var(--c-text); font: 600 17px/1 var(--f-body); letter-spacing: -0.01em; }
html.lux .club-menu .club-menu__give + [data-member-link] { margin-top: 12px; }

@media (min-width: 761px) {
  .give-teaser { grid-template-columns: minmax(0, 1fr) auto; }
  .give-teaser__act { justify-items: end; text-align: right; }
}

@media (min-width: 901px) {
  .give-layout { grid-template-columns: minmax(0, 1fr) minmax(360px, 420px); grid-template-areas: "story panel"; align-items: start; gap: 56px; }
  .give-panel { grid-area: panel; position: sticky; top: calc(var(--lux-header) + 24px); }
  .give-story { grid-area: story; }
}

html.lux .club-header .club-header__nav--dense { gap: 14px; }
html.lux .club-header__nav--dense .club-header__tools .club-chrome-icon-btn { width: 36px; }
html.lux .club-header__nav--dense .club-header__give { margin-left: 0; padding-inline: 12px; }

@container club-layout (max-width: 1240px) {
  html.lux:not(.pwa-shell):not(.telegram-mini) .club-header .club-header__nav--dense { display: none; }
  html.lux:not(.pwa-shell):not(.telegram-mini) .club-header__nav--dense + .club-header__burger { display: inline-flex; }
}

@media (max-width: 1240px) {
  html.lux .club-header .club-header__nav { gap: 18px; }
}

@media (max-width: 1139px) {
  html.lux .club-header .club-header__nav { gap: 12px; }
}

@media (max-width: 600px) {
  .give-dirs li { padding: 24px; }
}

@media (hover: hover) and (pointer: fine) {
  html.lux .club-header__give:hover { background: var(--lux-control); }
}

@media (prefers-reduced-motion: no-preference) {
  .give-amount__value.is-swap { animation: lux-swap 180ms var(--ease-out); }
}


@container club-layout (max-width:1240px){
  html.lux .club-header .club-header__nav { gap: 18px; }
}
@container club-layout (max-width:1139px){
  html.lux .club-header .club-header__nav { gap: 12px; }
}
@container club-layout (max-width:600px){
  .give-dirs li { padding: 24px; }
}
@property --p { syntax: "<number>"; inherits: false; initial-value: 0; }

.lux-home {
  --lux-nav: var(--lux-header);
  --lux-top: var(--lux-nav);
  --lux-gutter: var(--page-gutter);
  --lux-h2: clamp(34px, 4.4cqi, 64px);
  --lux-h3: clamp(24px, 2.2cqi, 32px);
  --lux-lede: clamp(19px, 1.6cqi, 23px);
  --lux-tile-pad: clamp(24px, 3.4cqi, 44px);
  --fig-h: min(64svh, 600px);
  --fig-w: calc(var(--fig-h) * var(--fig-ratio));
  --word-gap: clamp(20px, 3cqi, 48px);
  --hero-glyph: 0.46;
  --far: 0.42;
  --fig-axis: 0.452;
  --fig-ratio: var(--themis-ratio);
  --fig-min: 180px;
  display: block;
  padding: 0;
  max-width: none;
  background: var(--c-bg);
  color: var(--c-text);
}
.lux-home :is(a, button, label) { -webkit-tap-highlight-color: transparent; }
.lux-wrap { width: min(var(--container), 100%); margin-inline: auto; padding-inline: var(--lux-gutter); }
.lux-section { padding-block: clamp(88px, 9cqi, 136px); }
.lux-h2 { margin: 0; font: 200 var(--lux-h2)/1.04 var(--f-display); letter-spacing: -0.04em; text-wrap: balance; }
.lux-lede { margin: 20px 0 0; max-width: 36ch; font-size: var(--lux-lede); line-height: 1.4; letter-spacing: -0.015em; color: var(--c-text-3); text-wrap: pretty; }
.lux-split { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 48px; align-items: end; }
.lux-split .lux-lede { margin-top: 0; }
.lux-frame { overflow: clip; border-radius: var(--r-tile); background: var(--c-bg-sunken); }
.lux-frame img { display: block; width: 100%; height: auto; }

.lux-links { display: flex; flex-wrap: wrap; gap: 4px 28px; margin-top: 16px; }

.lux-hero { position: relative; }
.lux-hero__stage { position: relative; height: calc(100svh - var(--lux-top)); min-height: 560px; overflow: clip; }
.lux-hero__figure {
  position: absolute; left: 50%; top: 3svh; height: var(--fig-h); aspect-ratio: var(--fig-ratio); translate: calc(var(--fig-axis) * -100%) 0;
  transform: translateY(calc(var(--p) * -2svh)) scale(calc(1 + var(--p) * 0.04)); transform-origin: 50% 42%;
}
.lux-hero__figure .lux-themis { width: 100%; height: 100%; }
.lux-hero__title { --hero-fit: calc((50cqi - var(--fig-w) * (1 - var(--fig-axis)) - var(--word-gap) - var(--lux-gutter)) / (var(--hero-chars) * var(--hero-glyph))); position: absolute; inset: 0; margin: 0; font: 200 min(7.2cqi, 12svh, var(--hero-fit))/0.98 var(--f-display); letter-spacing: -0.045em; pointer-events: none; }
.lux-hero__word { position: absolute; top: calc(3svh + var(--fig-h) * 0.27); display: flex; flex-direction: column; opacity: calc(1 - var(--p) * 1.7); }
.lux-hero__word--l { right: calc(50% + var(--fig-w) * var(--fig-axis) + var(--word-gap)); align-items: flex-end; transform: translateX(calc(var(--p) * -9cqi)); }
.lux-hero__word--r { left: calc(50% + var(--fig-w) * (1 - var(--fig-axis)) + var(--word-gap)); align-items: flex-start; transform: translateX(calc(var(--p) * 9cqi)); }
.lux-hero__line { display: block; overflow: clip; padding: 0.04em 0.06em 0.12em; margin: -0.04em -0.06em -0.12em; }
.lux-hero__line > span { display: block; }
.lux-hero__foot { position: absolute; left: 0; right: 0; bottom: max(4svh, 28px); display: grid; justify-items: center; gap: 16px; padding-inline: var(--lux-gutter); text-align: center; opacity: calc(1 - var(--p) / var(--far)); transform: translateY(calc(var(--p) * 28px)); }
.lux-hero__foot:focus-within { opacity: 1; transform: none; }
.lux-hero__lede { margin: 0; font-size: 21px; line-height: 1.3; letter-spacing: -0.015em; color: var(--c-text-3); text-wrap: balance; }
.lux-hero__acts { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 32px; }
.lux-hero__next {
  position: absolute; left: 50%; bottom: 7svh; width: min(30ch, 100% - 2 * var(--lux-gutter)); margin: 0; translate: -50% 0;
  font: 200 clamp(24px, 2.4cqi, 34px)/1.22 var(--f-display); letter-spacing: -0.025em; text-align: center; text-wrap: balance;
  pointer-events: none; display: none;
}

.lux-join__head { text-align: center; }
.lux-join__head .lux-lede { margin-inline: auto; }
.lux-join__photo { margin-top: 64px; padding-block: 0; }
.lux-join__photo img { border-radius: var(--r-tile); }
.lux-join__photo.lux-frame { background: none; }
.lux-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; margin-top: 64px; margin-bottom: 0; list-style: none; }
.lux-step h3 { margin: 0; font: 200 var(--lux-h3)/1.1 var(--f-display); letter-spacing: -0.03em; }
.lux-step p { margin: 12px 0 0; max-width: 28ch; color: var(--c-text-3); text-wrap: pretty; }
.lux-join__cta { margin-top: 56px; text-align: center; }

html.lux .lux-portfolio .site-catalog { gap: 56px 24px; margin: 64px 0 48px; }
.lux-portfolio__note { margin: 48px 0 32px; max-width: 64ch; font-size: 15px; color: var(--c-text-3); text-wrap: pretty; }

.lux-tile { overflow: clip; border-radius: var(--r-tile); background: var(--c-bg-raised); padding: var(--lux-tile-pad); }
.lux-calc { margin-top: 56px; }
.lux-calc__levels { display: grid; gap: 12px; margin: 0; padding: 0; border: 0; min-width: 0; }
.lux-calc__label { padding: 0; color: var(--c-text-3); font-size: 15px; }
.lux-seg { position: relative; display: grid; grid-template-columns: repeat(var(--seg-n), minmax(0, 1fr)); width: min(680px, 100%); padding: 4px; border-radius: 999px; background: var(--lux-control); }
.lux-seg__thumb { position: absolute; top: 4px; bottom: 4px; left: 4px; width: calc((100% - 8px) / var(--seg-n)); border-radius: 999px; background: var(--c-text); transform: translateX(calc(var(--seg-i, 0) * 100%)); transition: transform 280ms var(--ease-out); }
.lux-seg__opt { position: relative; z-index: 1; display: flex; min-height: 44px; border-radius: 999px; cursor: pointer; }
.lux-seg__opt input { position: absolute; inset: 0; margin: 0; opacity: 0; cursor: pointer; }
.lux-seg__opt span { display: flex; flex: 1; align-items: center; justify-content: center; gap: 6px; padding: 8px 10px; font-size: 15px; line-height: 1.15; color: var(--c-text-3); text-align: center; transition: color 200ms ease; }
.lux-seg__opt b { font-weight: 600; }
.lux-seg__opt input:checked + span { color: var(--c-text-inverse); }
.lux-seg__opt:has(input:focus-visible) { outline: 3px solid var(--c-text); outline-offset: 2px; }
html.vis .lux-seg__opt:has(input:focus-visible) { outline-color: var(--vis-fg); }
html.vis .lux-calc__levels { position: static; }
html.vis .lux-seg__opt input:checked + span { border-radius: 999px; outline: 2px solid var(--vis-fg); outline-offset: -2px; font-weight: 700; }
.lux-calc__sub { margin: 40px 0 0; font: 600 15px/1.3 var(--f-body); color: var(--c-text-3); letter-spacing: 0; }
.lux-progs { margin: 8px -16px 0; padding: 0; list-style: none; }
.lux-prog__link { display: grid; grid-template-columns: 150px 1fr auto; align-items: baseline; gap: 24px; padding: 16px; border-radius: 12px; color: inherit; text-decoration: none; transition: background-color 160ms ease; }
.lux-prog__date { font-size: 15px; color: var(--c-text-3); }
.lux-prog__main { display: grid; gap: 4px; }
.lux-prog__name { font-size: 19px; line-height: 1.3; letter-spacing: -0.01em; text-wrap: balance; }
.lux-prog__meta { font-size: 15px; color: var(--c-text-3); }
.lux-prog__price { display: grid; justify-items: end; gap: 2px; white-space: nowrap; }
.lux-prog__price s { font-size: 14px; color: var(--lux-quiet, #86868b); }
.lux-prog__member { font-size: 24px; letter-spacing: -0.01em; font-variant-numeric: tabular-nums; }
.lux-calc__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; margin-top: 28px; }
.lux-calc__foot p, .lux-calc :is([data-starts-empty], .lux-calc__error) { margin: 0; max-width: 64ch; font-size: 15px; color: var(--c-text-3); text-wrap: pretty; }
.lux-calc__error { padding-top: 40px; }

.lux-agenda { display: grid; gap: 4px; margin: 48px auto 0; list-style: none; }
.lux-agenda a { display: grid; grid-template-columns: 220px 1fr auto; gap: 24px; align-items: baseline; padding: 16px 0; color: inherit; text-decoration: none; }
.lux-agenda time, .lux-agenda__place { color: var(--c-text-3); font-size: 15px; }
.lux-agenda a span:not(.lux-agenda__place) { font-size: 21px; letter-spacing: -0.015em; }
.lux-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 56px; align-items: start; }
.lux-pair figure { margin: 0; }
.lux-pair figcaption { margin-top: 16px; font-size: 15px; color: var(--c-text-3); }
.lux-voice { display: grid; grid-template-columns: 5fr 7fr; grid-template-areas: "photo quote" "photo cap"; gap: 24px clamp(32px, 6cqi, 96px); align-items: center; margin-top: clamp(88px, 9cqi, 128px); margin-bottom: 0; }
.lux-voice__photo { grid-area: photo; max-width: 576px; }
.lux-voice__quote { grid-area: quote; align-self: end; margin: 0; }
.lux-voice blockquote p { margin: 0; font: 200 clamp(26px, 2.6cqi, 36px)/1.2 var(--f-display); letter-spacing: -0.025em; text-wrap: balance; }
.lux-voice__cap { grid-area: cap; align-self: start; max-width: 46ch; color: var(--c-text-3); text-wrap: pretty; }
.lux-voice__cap p { margin: 0; }
.lux-voice__cap b { color: var(--c-text); font-weight: 600; }
.lux-voice .lux-more { margin-top: 16px; }
.lux-news { margin-top: clamp(72px, 7cqi, 112px); }
.lux-news h3 { margin: 0 0 8px; font: 600 15px/1.3 var(--f-body); color: var(--c-text-3); letter-spacing: 0; }
.lux-news ul { margin: 0 0 12px; padding: 0; list-style: none; }
.lux-news a:not(.lux-more) { display: grid; grid-template-columns: 220px 1fr; gap: 24px; align-items: baseline; padding: 16px 0; color: inherit; text-decoration: none; }
.lux-news time { color: var(--c-text-3); font-size: 15px; }
.lux-news li span { font-size: 19px; letter-spacing: -0.01em; text-wrap: balance; }

.lux-bento { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 56px; align-items: stretch; }
.lux-law, .lux-pod { display: flex; flex-direction: column; align-items: flex-start; }
.lux-tile__media { width: calc(100% + 2 * var(--lux-tile-pad)); margin: calc(-1 * var(--lux-tile-pad)) calc(-1 * var(--lux-tile-pad)) 32px; background: var(--c-bg-sunken); }
.lux-tile__media > img { display: block; width: 100%; height: auto; }
.lux-cover { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 10; min-height: 0; }
.lux-cover > img { width: auto; height: 82%; }
.lux-cover--law span { font: 200 clamp(120px, 15cqi, 200px)/1 var(--f-display); color: var(--c-text-3); }
.lux-tile__title { margin: 0; font: 200 var(--lux-h3)/1.1 var(--f-display); letter-spacing: -0.03em; text-wrap: balance; }
.lux-tile__lede { margin: 12px 0 0; color: var(--c-text-3); text-wrap: pretty; }
.lux-acts, .lux-eps { display: grid; gap: 4px; width: 100%; margin: 24px 0 28px; padding: 0; list-style: none; }
.lux-acts a { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 16px; padding: 12px 0; color: inherit; font-size: 15px; text-decoration: none; }
.lux-acts time { color: var(--c-text-3); white-space: nowrap; }
.lux-acts__text { display: grid; gap: 4px; overflow-wrap: anywhere; }
.lux-bento > * { min-width: 0; }
.lux-acts b { font-weight: 500; }
.lux-acts__text span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--c-text-3); }
.lux-eps a { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; color: inherit; text-decoration: none; }
.lux-eps a span:last-child { color: var(--c-text-3); white-space: nowrap; }
.lux-tile__end { margin-top: auto; }

.lux-last { text-align: center; }
.lux-last__inner { display: grid; justify-items: center; }
.lux-last__mark { width: 64px; height: 64px; margin-bottom: 32px; border-radius: 14px; }
.lux-last .lux-h2 { font-size: clamp(40px, 5.4cqi, 80px); }
.lux-last .lux-lede { margin-inline: auto; text-wrap: balance; }
.lux-last .lux-btn { margin-top: 36px; }

@media (hover: hover) and (pointer: fine) {
  .lux-prog__link:hover { background: var(--lux-hover); }
  .lux-seg__opt:hover input:not(:checked) + span { color: var(--c-text); }
  :is(.lux-agenda, .lux-news, .lux-eps) a:hover span:not(.lux-agenda__place), .lux-acts a:hover b { text-decoration: underline 1px; text-underline-offset: 4px; }
}

@media (max-width: 1000px), (max-height: 600px) {
  .lux-hero__stage { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: clamp(16px, 3svh, 28px); height: auto; min-height: calc(100svh - var(--lux-top) - var(--tabs-h, 0px)); padding: 3svh var(--lux-gutter) max(3svh, 20px); }
  .lux-hero__title { position: static; text-align: center; font-size: min(11.5cqi, 64px); line-height: 1.02; }
  .lux-hero__word { position: static; display: block; transform: translateY(calc(var(--p) * -24px)); }
  .lux-hero__line { display: inline-block; }
  .lux-hero__figure { position: relative; left: auto; top: auto; flex: 1 1 0; min-height: var(--fig-min); max-height: 480px; height: auto; translate: calc((0.5 - var(--fig-axis)) * 100%) 0; }
  .lux-hero__foot { position: static; padding: 0; }
  .lux-hero__lede { font-size: 17px; }
  .lux-hero__acts { gap: 8px 24px; }
}

@media (max-width: 760px) {
  .lux-home { --r-tile: 22px; }
  .lux-hero__acts { flex-direction: column; gap: 0; }
  .lux-split, .lux-pair, .lux-voice, .lux-bento { grid-template-columns: 1fr; }
  .lux-voice { grid-template-areas: "photo" "quote" "cap"; }
  .lux-join__head, .lux-join__cta { text-align: left; }
  .lux-join__head .lux-lede { margin-inline: 0; }
  .lux-join__photo { margin-top: 40px; }
  .lux-steps { grid-template-columns: 1fr; gap: 28px; margin-top: 40px; }
  html.lux .lux-portfolio .site-catalog { gap: 48px; margin: 40px 0 32px; }
  .lux-calc__levels { position: sticky; top: var(--lux-nav); z-index: 2; margin: calc(-1 * var(--lux-tile-pad)) calc(-1 * var(--lux-tile-pad)) 0; padding: var(--lux-tile-pad) var(--lux-tile-pad) 12px; background: var(--c-bg-raised); }
  .lux-seg__opt span { flex-direction: column; gap: 2px; min-width: 0; padding: 8px 2px; font-size: 13px; overflow-wrap: anywhere; hyphens: auto; }
  .lux-acts a { grid-template-columns: 1fr; gap: 4px; }
  .lux-prog__link { grid-template-columns: 1fr auto; gap: 4px 16px; }
  .lux-prog__date { grid-column: 1 / -1; }
  .lux-prog__name { font-size: 17px; }
  .lux-prog__member { font-size: 20px; }
  .lux-agenda a, .lux-news a:not(.lux-more) { grid-template-columns: 1fr; gap: 4px; }
  .lux-agenda a span:not(.lux-agenda__place) { font-size: 19px; }
}

@media (scripting: enabled) and (prefers-reduced-motion: no-preference) and (min-height: 640px) {
  :root:not(.vis) .lux-hero { height: 190svh; }
  :root:not(.vis) .lux-hero__stage { position: sticky; top: var(--lux-nav); }
  :root:not(.vis) .lux-hero__next { display: block; opacity: clamp(0, (var(--p) - var(--far)) * 4, 1); transform: translateY(calc((1 - var(--p)) * 28px)); }
  :root:not(.vis) .lux-hero:not(.is-far) .lux-hero__next { visibility: hidden; }
  :root:not(.vis) .lux-hero.is-far .lux-hero__foot { visibility: hidden; }
}

@media (scripting: enabled) and (prefers-reduced-motion: no-preference) {
  .lux-hero__line > span { animation: lux-line-up 900ms var(--ease-out) backwards; animation-delay: calc(140ms + var(--i) * 110ms); }
  .lux-hero__foot > * { animation: lux-rise 700ms var(--ease-out) 820ms backwards; }
  .lux-hero__acts { animation-delay: 900ms; }
  .lux-reveal { opacity: 0; transform: translateY(24px); transition: opacity 600ms var(--ease-out), transform 600ms var(--ease-out); transition-delay: calc(var(--d, 0) * 60ms); }
  .lux-reveal.is-in, .lux-reveal:focus-within { opacity: 1; transform: none; }
  .lux-reveal:focus-within { transition: none; }
  .lux-prog__member.is-swap { animation: lux-swap 180ms var(--ease-out); }
}

@media (max-width: 1000px) {
  @media (scripting: enabled) and (prefers-reduced-motion: no-preference) and (min-height: 640px) {
    :root:not(.vis) .lux-hero { height: 165svh; }
  }
  @media (scripting: none) {
    .lux-hero__stage { height: auto; min-height: 0; }
    .lux-hero__figure { flex: none; height: clamp(160px, 34svh, 480px); }
  }
}

@media (scripting: none) {
  .lux-calc__levels { display: none; }
}

@keyframes lux-line-up { from { transform: translateY(108%); } }
@keyframes lux-rise { from { opacity: 0; transform: translateY(12px); } }
@keyframes lux-swap { from { opacity: 0.5; transform: translateY(3px); } to { opacity: 1; transform: none; } }

@container club-layout (max-width:760px){
  .lux-home { --r-tile: 22px; }
  .lux-hero__acts { flex-direction: column; gap: 0; }
  .lux-split, .lux-pair, .lux-voice, .lux-bento { grid-template-columns: 1fr; }
  .lux-voice { grid-template-areas: "photo" "quote" "cap"; }
  .lux-join__head, .lux-join__cta { text-align: left; }
  .lux-join__head .lux-lede { margin-inline: 0; }
  .lux-join__photo { margin-top: 40px; }
  .lux-steps { grid-template-columns: 1fr; gap: 28px; margin-top: 40px; }
  html.lux .lux-portfolio .site-catalog { gap: 48px; margin: 40px 0 32px; }
  .lux-calc__levels { position: sticky; top: var(--lux-nav); z-index: 2; margin: calc(-1 * var(--lux-tile-pad)) calc(-1 * var(--lux-tile-pad)) 0; padding: var(--lux-tile-pad) var(--lux-tile-pad) 12px; background: var(--c-bg-raised); }
  .lux-seg__opt span { flex-direction: column; gap: 2px; min-width: 0; padding: 8px 2px; font-size: 13px; overflow-wrap: anywhere; hyphens: auto; }
  .lux-acts a { grid-template-columns: 1fr; gap: 4px; }
  .lux-prog__link { grid-template-columns: 1fr auto; gap: 4px 16px; }
  .lux-prog__date { grid-column: 1 / -1; }
  .lux-prog__name { font-size: 17px; }
  .lux-prog__member { font-size: 20px; }
  .lux-agenda a, .lux-news a:not(.lux-more) { grid-template-columns: 1fr; gap: 4px; }
  .lux-agenda a span:not(.lux-agenda__place) { font-size: 19px; }
}
@container club-layout (max-width:1000px){
  @media (scripting: enabled) and (prefers-reduced-motion: no-preference) and (min-height: 640px) {
    :root:not(.vis) .lux-hero { height: 165svh; }
  }
  @media (scripting: none) {
    .lux-hero__stage { height: auto; min-height: 0; }
    .lux-hero__figure { flex: none; height: clamp(160px, 34svh, 480px); }
  }
}
html.lux .cabinet-gate { max-width: 1040px; margin: clamp(32px, 5cqi, 72px) auto; border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
html.lux .cabinet-gate__intro { display: grid; align-content: start; padding: clamp(28px, 4cqi, 56px); background: none; }
html.lux .cabinet-gate__intro > a { display: inline-flex; flex-direction: column; min-height: 44px; color: var(--c-text); font-size: 15px; font-weight: 600; text-decoration: none; }
html.lux .cabinet-gate__intro > a small { margin-top: 2px; font-size: 13px; font-weight: 400; color: var(--c-text-3); }
html.lux .cabinet-gate__intro h2 { margin: clamp(32px, 5cqi, 64px) 0 16px; font: 200 clamp(36px, 4cqi, 52px)/1.04 var(--f-display); letter-spacing: -0.04em; font-kerning: none; }
html.lux .cabinet-gate__intro h2 em, html.lux .club-auth__aside h2 em { font-style: normal; color: inherit; }
html.lux .cabinet-gate__intro p { color: var(--c-text-3); font-size: 17px; }
html.lux .cabinet-gate__benefits span { padding: 16px 0; border-color: var(--c-line); font-size: 15px; color: var(--c-text-2); }
html.lux .cabinet-gate__form[hidden] { display: none; }
html.lux .cabinet-gate__form { display: grid; align-content: start; gap: 16px; padding: clamp(28px, 4cqi, 56px); border-radius: var(--r-tile); background: var(--c-bg-raised); }
html.lux .cabinet-gate__form h1 { margin: 0; font-size: clamp(28px, 3cqi, 36px); }
html.lux .cabinet-gate__form > p { margin: 0 0 8px; color: var(--c-text-3); }
html.lux .cabinet-gate__form > label { font-size: 15px !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--c-text-3); }
html.lux .cabinet-gate__form .site-primary { margin-top: 8px; }
html.lux .cabinet-gate__form .site-actions { justify-content: space-between; margin: 4px 0 0; }

html.lux .club-auth__aside h2 { font: 200 clamp(32px, 3.6cqi, 48px)/1.06 var(--f-display); letter-spacing: -0.04em; font-kerning: none; }

html.lux .cabinet-page { --cabinet-pad: clamp(20px, 2.4cqi, 28px); }
html.lux .cabinet-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; padding: clamp(32px, 5cqi, 64px) 0 clamp(24px, 3cqi, 36px); }
html.lux .cabinet-head__person { display: flex; align-items: center; gap: 20px; min-width: 0; }
html.lux .cabinet-head h1 { margin: 0; font: 200 clamp(32px, 3.4cqi, 48px)/1.05 var(--f-display); letter-spacing: -0.035em; font-kerning: none; }
html.lux .cabinet-head p { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 8px 0 0; color: var(--c-text-3); font-size: 16px; }
html.lux .cabinet-head__actions { display: flex; flex-wrap: wrap; gap: 8px; }
html.lux .cabinet-head__actions .lux-btn { gap: 8px; }
html.lux .cabinet-avatar { display: inline-grid; flex: none; place-items: center; width: 72px; height: 72px; border-radius: 50%; background: var(--lux-control); color: var(--c-text); font: 500 24px/1 var(--f-body); object-fit: cover; }
html.lux .cabinet-avatar--small { width: 44px; height: 44px; font-size: 15px; }
html.lux .cabinet-level-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 0 12px; border-radius: 999px; background: var(--lux-control); color: var(--c-text); font-size: 14px; }
html.lux :is(.cabinet-level-chip, .cabinet-metric dt, .cabinet-card h3) svg { flex: none; color: var(--c-accent-text); }

html.lux .cabinet-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 0 clamp(28px, 4cqi, 44px); }
html.lux .cabinet-metric { display: grid; align-content: start; gap: 14px; min-width: 0; padding: var(--cabinet-pad); border-radius: var(--r-lg); background: var(--c-bg-raised); }
html.lux .cabinet-metric dt { display: flex; align-items: center; gap: 8px; margin: 0; color: var(--c-text-3); font-size: 14px; }
html.lux .cabinet-metric dd { display: grid; gap: 10px; margin: 0; font: 200 34px/1.05 var(--f-display); letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
html.lux .cabinet-metric dd a { color: inherit; text-decoration: none; }
html.lux .cabinet-metric__note { font: 400 14px/1.35 var(--f-body); letter-spacing: 0; color: var(--c-text-3); }
html.lux .cabinet-page progress { width: 100%; height: 4px; border: 0; border-radius: 999px; background: var(--lux-control); overflow: hidden; appearance: none; }
html.lux .cabinet-page progress::-webkit-progress-bar { border-radius: 999px; background: var(--lux-control); }
html.lux .cabinet-page progress::-webkit-progress-value { border-radius: 999px; background: var(--c-accent); }
html.lux .cabinet-page progress::-moz-progress-bar { border-radius: 999px; background: var(--c-accent); }

html.lux .cabinet-tabs { display: flex; gap: 4px; width: fit-content; max-width: 100%; margin: 0 0 clamp(24px, 3cqi, 32px); padding: 6px; border-radius: 999px; background: var(--c-bg-raised); overflow-x: auto; scroll-margin-top: 96px; scrollbar-width: none; }
html.lux .cabinet-tabs a { display: inline-flex; align-items: center; gap: 8px; flex: none; min-height: 44px; padding: 0 18px; border-radius: 999px; color: var(--c-text-2); font-size: 15px; text-decoration: none; }
html.lux .cabinet-tabs a[aria-current="true"] { background: var(--c-text); color: var(--c-text-inverse); }
html.lux .cabinet-panel { display: grid; align-content: start; gap: 16px; min-width: 0; }
html.lux .cabinet-panel[hidden] { display: none; }
html.lux .cabinet-panels:not(.is-tabbed) .cabinet-panel + .cabinet-panel { margin-top: clamp(40px, 5cqi, 56px); }
html.lux .cabinet-panel > h2 { margin: 0 0 4px; font: 200 clamp(28px, 2.6cqi, 36px)/1.1 var(--f-display); letter-spacing: -0.03em; }
html.lux .cabinet-panel .site-empty { margin: 0; padding: var(--cabinet-pad); border-radius: var(--r-lg); background: var(--c-bg-raised); }
html.lux .cabinet-panel > .site-actions { gap: 8px 24px; margin: 0; }
html.lux .cabinet-panel > .site-actions a, html.lux .cabinet-people .site-empty a { color: var(--c-text); text-decoration-color: var(--lux-hairline); text-underline-offset: 4px; }

html.lux .cabinet-card { display: grid; align-content: start; gap: 10px; min-width: 0; padding: var(--cabinet-pad); border-radius: var(--r-lg); background: var(--c-bg-raised); }
html.lux .cabinet-card h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 4px; font: 500 17px/1.3 var(--f-body); }
html.lux .cabinet-card p { margin: 0; color: var(--c-text-3); font-size: 15px; }
html.lux .cabinet-card .cabinet-card__title { color: var(--c-text); font-size: 19px; }
html.lux .cabinet-card a:not(.lux-btn) { justify-self: start; color: var(--c-text); text-decoration-color: var(--lux-hairline); text-underline-offset: 4px; }
html.lux .cabinet-card > :is(button, .lux-btn) { justify-self: start; gap: 8px; }
html.lux .cabinet-status { margin-bottom: 48px; }
html.lux .session-unavailable { display: grid; gap: 16px; justify-items: start; max-width: 640px; margin: clamp(32px, 6vw, 72px) 0; padding: clamp(20px, 2.4cqi, 28px); border-radius: var(--r-lg); background: var(--c-bg-raised); }
html.lux .session-unavailable h1 { margin: 0; font: 200 clamp(28px, 2.6cqi, 36px)/1.1 var(--f-display); letter-spacing: -0.03em; font-kerning: none; }
html.lux .session-unavailable p { margin: 0; color: var(--c-text-2); }
html.lux .cabinet-document { display: grid; gap: 12px; margin-top: 8px; padding-top: 24px; border-top: 1px solid var(--lux-hairline); }
html.lux .cabinet-document h3 { margin: 0; color: var(--c-text); font: 500 19px/1.3 var(--f-body); }
html.lux .cabinet-document p { margin: 0; max-width: 62ch; color: var(--c-text-2); }
html.lux .cabinet-document form { display: grid; gap: 12px; justify-items: start; }
html.lux .cabinet-document > button { justify-self: start; }
html.lux .cabinet-document__state { display: flex; align-items: center; gap: 8px; color: var(--c-text); }
html.lux .cabinet-status h2 { margin: 0; font: 200 clamp(28px, 2.6cqi, 36px)/1.1 var(--f-display); letter-spacing: -0.03em; }
html.lux .cabinet-overview { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
html.lux .cabinet-callout { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 16px; }
html.lux .cabinet-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
html.lux .cabinet-list li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px; color: var(--c-text-2); font-size: 15px; }
html.lux .cabinet-list li > span:last-child { color: var(--c-text-3); font-size: 14px; white-space: nowrap; }
html.lux .cabinet-list strong { color: var(--c-text); font-weight: 500; font-variant-numeric: tabular-nums; }
html.lux .cabinet-notices ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
html.lux .cabinet-notices li { display: grid; gap: 8px; padding-top: 12px; border-top: 1px solid var(--c-line); }
html.lux .cabinet-notices li:first-child { padding-top: 0; border-top: 0; }
html.lux .cabinet-invite strong { color: var(--c-text); font-weight: 500; letter-spacing: 0.04em; }
html.lux .cabinet-order__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
html.lux .cabinet-order__head h3 { margin: 0; }
html.lux .cabinet-chip { display: inline-flex; align-items: center; min-height: 28px; padding: 0 12px; border-radius: 999px; background: var(--lux-control); color: var(--c-text-2); font-size: 13px; }
html.lux .cabinet-people { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
html.lux .cabinet-people > li { display: grid; min-width: 0; }
html.lux .cabinet-person { grid-template-columns: auto minmax(0, 1fr); align-items: start; column-gap: 16px; }
html.lux .cabinet-person h3 { margin: 0 0 4px; }
html.lux .cabinet-person > button { grid-column: 2; justify-self: start; }
html.lux .cabinet-chart { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); align-items: end; gap: 12px; height: 160px; margin: 8px 0 0; padding: 0; list-style: none; }
html.lux .cabinet-chart li { display: grid; grid-template-rows: auto 1fr auto; justify-items: center; gap: 6px; height: 100%; }
html.lux .cabinet-chart i { align-self: end; width: 100%; max-width: 40px; height: max(var(--share), 3px); border-radius: 8px 8px 2px 2px; background: var(--c-accent); }
html.lux .cabinet-chart :is(span, small) { color: var(--c-text-3); font-size: 13px; font-variant-numeric: tabular-nums; }

html.lux .cabinet-badges__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
html.lux .cabinet-badges__head h3 { margin: 0; }
html.lux .cabinet-badges__head a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
html.lux .cabinet-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
html.lux .cabinet-badge { display: grid; flex: 1 1 140px; align-content: space-between; gap: 6px; max-width: 240px; padding: 12px 14px; border-radius: 16px; background: var(--c-bg-sunken); }
html.lux .cabinet-badge__title { font: 500 14px/1.3 var(--f-body); }
html.lux .cabinet-badge__title > span, html.lux .cabinet-achievement__title > span { margin-right: 6px; color: var(--c-text-3); }
html.lux :is(.cabinet-badge, .cabinet-achievement).is-earned :is(.cabinet-badge__title, .cabinet-achievement__title) > span { color: var(--c-accent-text); }
html.lux .cabinet-badge small, html.lux .cabinet-achievement__count { color: var(--c-text-3); font-size: 13px; font-variant-numeric: tabular-nums; }
html.lux .cabinet-panel > .cabinet-achievements__summary { margin: -8px 0 0; color: var(--c-text-3); font-size: 15px; }
html.lux .cabinet-achievements { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
html.lux .cabinet-achievements > li { display: grid; min-width: 0; }
html.lux .cabinet-achievement { border-radius: var(--r-lg); background: var(--c-bg-raised); }
html.lux .cabinet-achievement summary { display: grid; grid-template-rows: auto 1fr auto auto; gap: 8px; height: 100%; padding: 16px; border-radius: inherit; list-style: none; cursor: pointer; }
html.lux .cabinet-achievement summary::-webkit-details-marker { display: none; }
html.lux .cabinet-achievement summary:focus-visible { outline: 3px solid var(--c-text); outline-offset: 2px; }
html.lux .cabinet-achievement__title { font: 500 16px/1.3 var(--f-body); }
html.lux .cabinet-achievement__text { display: -webkit-box; align-self: start; overflow: hidden; color: var(--c-text-3); font-size: 13px; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
html.lux .cabinet-achievement[open] .cabinet-achievement__text { display: block; overflow: visible; -webkit-line-clamp: unset; line-clamp: none; }

@media (hover: hover) and (pointer: fine) {
  html.lux .cabinet-tabs a:not([aria-current="true"]):hover { background: var(--lux-hover); color: var(--c-text); }
  html.lux :is(.cabinet-card, .cabinet-panel > .site-actions) a:not(.lux-btn):hover { text-decoration-color: currentColor; }
}
@media (max-width: 1000px) {
  html.lux .cabinet-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html.lux .cabinet-metric--level { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  html.lux .cabinet-gate { margin: 16px 0 32px; }
  html.lux .cabinet-gate__form { border-radius: var(--r-lg); }
  html.lux .cabinet-head { padding-top: 24px; }
  html.lux .cabinet-head__person { gap: 16px; }
  html.lux .cabinet-avatar { width: 56px; height: 56px; font-size: 19px; }
  html.lux .cabinet-avatar--small { width: 44px; height: 44px; font-size: 15px; }
  html.lux .cabinet-head__actions .lux-btn { width: 44px; min-width: 44px; height: 44px; padding: 0; justify-content: center; }
  html.lux .cabinet-head__label { display: none; }
  html.lux .cabinet-metric--level { grid-column: auto; }
  html.lux .cabinet-metric { gap: 10px; padding: 16px; }
  html.lux .cabinet-metric dd { font-size: 26px; }
  html.lux .cabinet-metric dt { font-size: 13px; }
  html.lux .cabinet-tabs { width: auto; max-width: none; margin-inline: calc(-1 * var(--page-gutter)); padding: 8px var(--page-gutter); border-radius: 0; background: none; scroll-padding-inline: var(--page-gutter); }
  html.lux .cabinet-tabs a { background: var(--lux-control); }
  html.lux .cabinet-overview, html.lux .cabinet-callout { grid-template-columns: 1fr; }
  html.lux .cabinet-callout { justify-items: start; }
  html.lux .cabinet-badges { flex-wrap: nowrap; margin-inline: calc(-1 * var(--cabinet-pad)); padding-inline: var(--cabinet-pad); overflow-x: auto; scroll-padding-inline: var(--cabinet-pad); scroll-snap-type: x mandatory; scrollbar-width: none; }
  html.lux .cabinet-badge { flex: 0 0 148px; scroll-snap-align: start; }
  html.lux .cabinet-achievements { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html.lux .cabinet-chart { gap: 8px; height: 140px; }
}

html.lux .club-auth { padding: clamp(32px, 5cqi, 72px) var(--page-gutter) 96px; }
html.lux .club-auth:not(.club-auth--split) .club-auth__card { max-width: var(--lux-form); }
html.lux .club-auth:not(.club-auth--split) .club-auth__card h1 { font-size: min(var(--t-h1-page), clamp(32px, 4cqi, 44px)); }
html.lux .club-auth--split { gap: clamp(32px, 4cqi, 64px); max-width: var(--container); margin: 0 auto; }
html.lux .club-auth__aside--photo { background: none; overflow: visible; }
html.lux .club-auth__aside--photo img { position: static; border-radius: var(--r-tile); }
html.lux .club-auth__aside-copy { padding: 32px 0 0; }
html.lux .club-auth__aside li { border-color: var(--c-line); color: var(--c-text-2); }
html.lux .club-auth__aside li::before { font: 200 30px/1 var(--f-display); color: var(--c-text-3); }
html.lux .club-auth--split .club-auth__card { padding: 0; justify-content: flex-start; }
html.lux .club-auth__card .site-panel { width: 100%; padding: clamp(28px, 4cqi, 48px); border: 0; border-radius: var(--r-tile); background: var(--c-bg-raised); }
html.lux .club-auth__card h1 { margin: 0 0 12px; }
html.lux .club-auth__card .site-panel > p { color: var(--c-text-3); }
html.lux .club-auth__card form { display: grid; gap: 16px; }
html.lux .club-auth__card .site-actions { justify-content: space-between; margin-top: 20px; }
html.lux .club-auth__card details { margin-top: 12px; color: var(--c-text-3); }

html.lux :is(.club-auth__card, .profile-page) fieldset { margin: 8px 0 0; padding: 0; border: 0; }
html.lux :is(.club-auth__card, .profile-page) legend { margin-bottom: 12px; padding: 0; font-size: 15px; color: var(--c-text-3); }
html.lux .site-checkbox { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: 0 6px 6px 0; padding: 0 14px; border-radius: 999px; background: var(--lux-control); font-size: 14px; cursor: pointer; }
html.lux .site-checkbox:has(input:checked) { background: var(--c-text); color: var(--c-text-inverse); }
html.lux .site-checkbox:has(input:focus-visible) { outline: 3px solid var(--c-text); outline-offset: 2px; }
html.lux .site-checkbox input { accent-color: var(--c-accent); }

html.lux .profile-page { max-width: 720px; }
html.lux .profile-page .site-masthead { padding-bottom: 24px; }
html.lux .profile-page form { display: grid; gap: 16px; margin-bottom: 8px; }
html.lux .profile-page form > button { justify-self: start; }
html.lux .profile-page input[readonly] { color: var(--c-text-2); cursor: default; }
html.lux .profile-page .profile-fio-note { margin: -8px 0 0; font-size: 13px; line-height: 1.4; color: var(--c-text-3); }
html.lux .profile-page section { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--c-line); }
html.lux .profile-page section > h2 { margin: 0 0 12px; }
html.lux .profile-page section > p { color: var(--c-text-3); }
html.lux .profile-page details summary { margin-top: 20px; color: var(--c-danger-text); }
html.lux .site-avatar { border-radius: 50%; }
html.lux input[type="file"] { font-size: 15px; color: var(--c-text-3); }
html.lux input[type="file"]::file-selector-button { min-height: 44px; margin-right: 12px; padding: 0 18px; border: 0; border-radius: 999px; background: var(--lux-control); color: var(--c-text); font: 500 15px/1 var(--f-body); cursor: pointer; }

html.lux .cart-page .site-cart-row { gap: 12px 20px; padding: 24px 0; border-color: var(--c-line); }
html.lux .cart-page .site-cart-row h2 { margin: 0 0 8px; font: 400 21px/1.3 var(--f-body); letter-spacing: -0.015em; }
html.lux .cart-page .site-cart-row p { margin: 0; color: var(--c-text-3); font-variant-numeric: tabular-nums; }
html.lux .cart-page .site-cart-row form label { font-size: 13px; color: var(--c-text-3); }
html.lux .cart-page .site-two-col > div > button { margin-top: 16px; }
html.lux .cart-page .site-two-col > aside.site-panel { display: grid; gap: 12px; }
html.lux .cart-page .site-two-col > aside.site-panel h2 { margin: 0; }
html.lux .cart-page .site-two-col > aside.site-panel .site-price { margin: 4px 0; }
html.lux .cart-page .site-two-col > aside.site-panel > p { margin: 0; color: var(--c-text-3); font-size: 15px; }
html.lux .cart-page .site-two-col > aside.site-panel form { display: grid; gap: 16px; margin-top: 12px; }
html.lux .cart-page .site-empty + .site-actions { gap: 12px 28px; }

@container club-layout (max-width:1000px){
  html.lux .cabinet-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html.lux .cabinet-metric--level { grid-column: 1 / -1; }
}
@container club-layout (max-width:700px){
  html.lux .cabinet-gate { margin: 16px 0 32px; }
  html.lux .cabinet-gate__form { border-radius: var(--r-lg); }
  html.lux .cabinet-head { padding-top: 24px; }
  html.lux .cabinet-head__person { gap: 16px; }
  html.lux .cabinet-avatar { width: 56px; height: 56px; font-size: 19px; }
  html.lux .cabinet-avatar--small { width: 44px; height: 44px; font-size: 15px; }
  html.lux .cabinet-head__actions .lux-btn { width: 44px; min-width: 44px; height: 44px; padding: 0; justify-content: center; }
  html.lux .cabinet-head__label { display: none; }
  html.lux .cabinet-metric--level { grid-column: auto; }
  html.lux .cabinet-metric { gap: 10px; padding: 16px; }
  html.lux .cabinet-metric dd { font-size: 26px; }
  html.lux .cabinet-metric dt { font-size: 13px; }
  html.lux .cabinet-tabs { width: auto; max-width: none; margin-inline: calc(-1 * var(--page-gutter)); padding: 8px var(--page-gutter); border-radius: 0; background: none; scroll-padding-inline: var(--page-gutter); }
  html.lux .cabinet-tabs a { background: var(--lux-control); }
  html.lux .cabinet-overview, html.lux .cabinet-callout { grid-template-columns: 1fr; }
  html.lux .cabinet-callout { justify-items: start; }
  html.lux .cabinet-badges { flex-wrap: nowrap; margin-inline: calc(-1 * var(--cabinet-pad)); padding-inline: var(--cabinet-pad); overflow-x: auto; scroll-padding-inline: var(--cabinet-pad); scroll-snap-type: x mandatory; scrollbar-width: none; }
  html.lux .cabinet-badge { flex: 0 0 148px; scroll-snap-align: start; }
  html.lux .cabinet-achievements { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html.lux .cabinet-chart { gap: 8px; height: 140px; }
}
html.lux .site-masthead { max-width: none; padding: clamp(48px, 6cqi, 88px) 0 clamp(32px, 4cqi, 48px); }
html.lux .site-masthead h1 { margin: 0; }
html.lux .site-masthead p { max-width: 44ch; margin: 20px 0 0; font-size: clamp(19px, 1.6cqi, 23px); line-height: 1.4; letter-spacing: -0.015em; color: var(--c-text-3); text-wrap: pretty; }

html.lux .dpo-picker { margin: 0 0 56px; padding: 0; border: 0; border-radius: var(--r-lg); background: var(--c-bg-raised); }
html.lux .dpo-picker { --lux-disclosure-size: 30px; }
html.lux .dpo-picker summary { justify-content: space-between; gap: 16px; min-height: 64px; padding: 0 24px; font-size: 19px; font-weight: 500; letter-spacing: -0.01em; }
html.lux .dpo-picker form { padding: 0 24px 24px; }
html.lux .dpo-picker label { font-size: 15px; color: var(--c-text-3); }

html.lux .dpo-starts { margin: 0 0 64px; }
html.lux .dpo-starts h2 { margin: 0; font: 200 clamp(30px, 3.2cqi, 44px)/1.08 var(--f-display); letter-spacing: -0.035em; font-kerning: none; }
html.lux .dpo-starts > p { margin: 12px 0 0; color: var(--c-text-3); }
html.lux .dpo-starts-grid { gap: 12px; margin-top: 28px; }
html.lux .dpo-starts-grid article { position: relative; display: grid; grid-template-rows: auto 1fr auto; gap: 12px; min-height: 176px; padding: 24px; border: 0; border-radius: var(--r-lg); background: var(--c-bg-raised); transition: background-color 160ms ease; }
html.lux .dpo-starts-grid article:has(a:focus-visible) { outline: 3px solid var(--c-text); outline-offset: 2px; }
html.lux .dpo-starts-grid time { font-size: 15px; font-weight: 400; color: var(--c-text-3); }
html.lux .dpo-starts-grid h3 { margin: 0; font: 500 19px/1.3 var(--f-body); letter-spacing: -0.01em; }
html.lux .dpo-starts-grid h3 a { color: var(--c-text); text-decoration: none; outline: none; }
html.lux .dpo-starts-grid h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
html.lux .dpo-starts-grid p { margin: 0; font-size: 17px; font-weight: 400; font-variant-numeric: tabular-nums; }

html.lux :is(.catalog-page, .saved-page) .site-filters { gap: 12px 16px; padding: 24px 0; border-color: var(--c-line); }
html.lux :is(.catalog-page, .saved-page) .site-filters label { font-size: 13px; color: var(--c-text-3); }
html.lux :is(.catalog-page, .saved-page) .site-filters :is(input, select) { margin-top: 8px; font-size: 16px; }

html.lux :is(.catalog-page, .podcasts-page) .site-catalog { gap: 56px 24px; margin: 28px 0 64px; }
html.lux :is(.catalog-page, .podcasts-page, .lux-portfolio) .site-catalog-card { display: flex; flex-direction: column; border-top: 0; overflow: visible; }
html.lux :is(.catalog-page, .podcasts-page, .lux-portfolio) .site-catalog-card > div:not(.site-card-media) { display: flex; flex: 1 0 auto; flex-direction: column; padding: 20px 0 0; }
html.lux .site-card-media { flex: none; border-radius: var(--r-lg); background: var(--c-bg-raised); }
html.lux .site-card-media--empty::before { content: ""; position: absolute; inset: 18% 0; background: url("themis-figure.svg") center / contain no-repeat; }
html.lux :is(.catalog-page, .podcasts-page, .lux-portfolio) .site-catalog-card .club-caps { font-size: 13px; color: var(--c-text-3); }
html.lux :is(.catalog-page, .podcasts-page, .lux-portfolio) .site-catalog-card :is(h2, h3) { margin: 8px 0; font: 400 21px/1.28 var(--f-body); letter-spacing: -0.015em; text-wrap: pretty; }
html.lux :is(.catalog-page, .podcasts-page, .lux-portfolio) .site-catalog-card p { margin: 0; font-size: 15px; color: var(--c-text-3); }
html.lux :is(.catalog-page, .lux-portfolio) .site-catalog-card .site-price { margin-top: 16px; font-size: 21px; color: var(--c-text); }
html.lux .podcasts-page .site-catalog-card .save-material { margin-top: 16px; }
html.lux :is(.catalog-page, .lux-portfolio) .site-catalog-card .site-actions { margin: auto 0 0; padding-top: 16px; gap: 8px; }
html.lux :is(.catalog-page, .lux-portfolio) .site-catalog-card .site-actions > .lux-more { margin-right: auto; }
html.lux :is(.catalog-page, .lux-portfolio) .site-catalog-card .site-actions form { display: flex; flex-basis: 100%; flex-wrap: wrap; align-items: end; gap: 8px; }
html.lux :is(.catalog-page, .lux-portfolio) .site-catalog-card .site-actions form .site-field { flex: 0 0 96px; font-size: 13px; color: var(--c-text-3); }
html.lux .catalog-page .site-filters ~ p[role="status"] { color: var(--c-text-3); font-size: 15px; }

@media (hover: hover) and (pointer: fine) {
  html.lux .dpo-starts-grid article:hover { background: var(--lux-hover); }
}
@media (max-width: 600px) {
  html.lux .dpo-picker summary { min-height: 56px; padding: 0 20px; font-size: 17px; }
  html.lux .dpo-picker form { padding: 0 20px 20px; }
  html.lux .dpo-starts-grid {
    grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: min(80%, 300px);
    margin: 20px calc(-1 * var(--page-gutter)) -12px; padding: 8px var(--page-gutter) 12px;
    overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--page-gutter); scrollbar-width: none;
  }
  html.lux .dpo-starts-grid::-webkit-scrollbar { display: none; }
  html.lux .dpo-starts-grid article { min-height: 168px; scroll-snap-align: start; }
  html.lux :is(.catalog-page, .podcasts-page) .site-catalog { gap: 48px; }
}
html.lux .site-catalog > .program-card { display: grid; grid-row: span 2; grid-template-rows: subgrid; row-gap: 0; }
html.lux .program-card > .program-card__tile { display: flex; flex-direction: column; justify-content: space-between; gap: 24px; aspect-ratio: auto; min-height: 132px; padding: 20px 22px; background: linear-gradient(140deg, color-mix(in srgb, var(--c-accent) 16%, var(--c-bg-raised)), var(--c-bg-raised) 62%); color: var(--c-text-2); }
html.lux .program-card__mark { color: var(--c-accent-text); }
html.lux .program-card__tile > span { font-size: 15px; line-height: 1.35; }
html.lux .program-status { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; color: var(--c-text-3); }
html.lux .program-status::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: currentColor; opacity: .7; }
html.lux .program-status--open { color: var(--c-ok-text); }
html.lux .program-status--open::before { opacity: 1; box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 22%, transparent); }
html.lux .program-card p.program-status { margin: 0 0 10px; font-size: 14px; color: var(--c-text-3); }
html.lux .program-card p.program-status--open { color: var(--c-ok-text); }
html.lux .program-facts { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; }
html.lux .program-facts > div { display: flex; align-items: center; gap: 8px; min-width: 0; }
html.lux .program-facts dt { display: flex; align-items: center; gap: 8px; margin: 0; }
html.lux .program-facts dd { margin: 0; }
html.lux .program-facts__icon { flex: none; color: var(--c-accent-text); }
html.lux .program-facts--brief { margin-top: 4px; font-size: 15px; color: var(--c-text-2); }
html.lux .program-card .site-price.site-price--pending { font-size: 16px; color: var(--c-text-3); }
@media (max-width: 640px) {
  html.lux .program-card > .program-card__tile { flex-direction: row; align-items: center; justify-content: flex-start; gap: 12px; min-height: 64px; padding: 16px 18px; }
}

@container club-layout (max-width:600px){
  html.lux .dpo-picker summary { min-height: 56px; padding: 0 20px; font-size: 17px; }
  html.lux .dpo-picker form { padding: 0 20px 20px; }
  html.lux .dpo-starts-grid {
    grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: min(80%, 300px);
    margin: 20px calc(-1 * var(--page-gutter)) -12px; padding: 8px var(--page-gutter) 12px;
    overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--page-gutter); scrollbar-width: none;
  }
  html.lux .dpo-starts-grid::-webkit-scrollbar { display: none; }
  html.lux .dpo-starts-grid article { min-height: 168px; scroll-snap-align: start; }
  html.lux :is(.catalog-page, .podcasts-page) .site-catalog { gap: 48px; }
}
@container club-layout (max-width:640px){
  html.lux .program-card > .program-card__tile { flex-direction: row; align-items: center; justify-content: flex-start; gap: 12px; min-height: 64px; padding: 16px 18px; }
}
html.lux :is(.program-page, .product-page) .site-masthead .club-caps { display: block; margin-bottom: 16px; font-size: 14px; color: var(--c-text-3); }

html.lux :is(.program-page, .product-page) .site-two-col { gap: clamp(32px, 4cqi, 64px); margin-bottom: clamp(64px, 8cqi, 112px); }
html.lux .program-page .site-two-col > div > section { margin-top: clamp(40px, 5cqi, 64px); }
html.lux .program-page .site-two-col > div > section h2 { margin: 0 0 20px; }
html.lux .program-page .site-two-col > div > section > ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
html.lux .program-page .site-two-col > div > section > ul > li { padding: 12px 0; border-top: 1px solid var(--c-line); font-size: 17px; line-height: 1.45; }
html.lux .program-page .site-two-col > div > section > ul > li:last-child { border-bottom: 1px solid var(--c-line); }
html.lux .program-page .site-program-cover { border-radius: var(--r-lg); }

html.lux :is(.program-page, .support-page) details:last-of-type { border-bottom: 1px solid var(--c-line); }
html.lux :is(.program-page, .support-page) details summary { justify-content: space-between; gap: 16px; min-height: 56px; padding: 8px 0; font-size: 17px; font-weight: 500; }
html.lux :is(.program-page, .support-page) details > :not(summary) { color: var(--c-text-3); }

html.lux .lux-teachers { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 32px 24px; }
html.lux .lux-teachers article { display: grid; align-content: start; gap: 8px; }
html.lux .lux-teachers .site-teacher-photo { margin-bottom: 12px; border-radius: 14px; }
html.lux .lux-teachers h3 { margin: 0; font: 500 17px/1.3 var(--f-body); }
html.lux .lux-teachers p { margin: 0; font-size: 15px; line-height: 1.45; color: var(--c-text-3); }

html.lux .program-page .site-two-col > aside.site-panel h2 { margin: 0 0 8px; }
html.lux .program-page .site-two-col > aside.site-panel dl { display: grid; gap: 0; margin: 0 0 24px; }
html.lux .program-page .site-two-col > aside.site-panel dt { margin-top: 16px; font-size: 13px; color: var(--c-text-3); }
html.lux .program-page .site-two-col > aside.site-panel dd { margin: 4px 0 0; font-size: 17px; }
html.lux :is(.program-page, .product-page) .site-two-col > aside.site-panel > p:last-child { margin: 20px 0 0; font-size: 14px; color: var(--c-text-3); }
html.lux :is(.program-page, .product-page) .site-two-col > aside.site-panel form[data-cart] { display: grid; gap: 16px; margin-bottom: 12px; }
html.lux :is(.program-page, .product-page) .site-two-col > aside.site-panel :is(.site-primary, .save-material) { width: 100%; }
html.lux :is(.program-page, .product-page) .site-two-col > aside.site-panel > .save-material { margin-top: 12px; }

html.lux .portfolio-program .site-two-col > aside.site-panel > a.site-primary { display: flex; justify-content: center; }
html.lux .portfolio-application { max-width: 760px; margin: 0 0 clamp(64px, 8cqi, 112px); padding: clamp(24px, 4cqi, 40px); }
html.lux .portfolio-application h2 { margin: 0 0 12px; }
html.lux .portfolio-application > p { color: var(--c-text-3); }
html.lux .portfolio-application :is(input:not([type=checkbox]):not([type=radio]), textarea) { width: 100%; }
html.lux .portfolio-applicant { margin: 20px 0 8px; padding: 0; border: 0; }
html.lux .portfolio-applicant legend { margin-bottom: 10px; font-size: 14px; color: var(--c-text-3); }
html.lux .portfolio-applicant .lux-seg__opt input:checked + span { border-radius: 999px; background: var(--c-text); }
html.lux .portfolio-cohorts { display: grid; gap: 8px; margin: 20px 0 8px; padding: 0; border: 0; }
html.lux .portfolio-cohorts legend { margin-bottom: 10px; font-size: 14px; color: var(--c-text-3); }
html.lux .portfolio-cohort { display: flex; align-items: flex-start; gap: 12px; min-height: 44px; padding: 12px 16px; border-radius: var(--r-md); background: var(--lux-control); cursor: pointer; }
html.lux .portfolio-cohort:has(input:checked) { background: var(--c-text); color: var(--c-text-inverse); }
html.lux .portfolio-cohort:has(input:focus-visible) { outline: 3px solid var(--c-text); outline-offset: 2px; }
html.lux .portfolio-cohort input[type=radio] { flex: none; width: 20px; height: 20px; min-height: 0; margin: 2px 0 0; padding: 0; accent-color: var(--c-accent); }
html.lux .portfolio-cohort small { display: block; margin-top: 2px; font-size: 14px; opacity: .8; }
html.lux .portfolio-promo { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin: 16px 0 0; }
html.lux .portfolio-promo .site-field { flex: 1 1 160px; margin: 0; }
html.lux .portfolio-promo input { text-transform: uppercase; }
html.lux .portfolio-promo .lux-btn { flex: none; }
html.lux .portfolio-quote { margin: 8px 0 0; font-size: 15px; color: var(--c-ok-text); }
html.lux .portfolio-quote:empty { margin: 0; }
html.lux .portfolio-quote[data-state=error] { color: var(--c-danger-text); }
html.lux .portfolio-application .site-consent { display: flex; align-items: flex-start; gap: 12px; margin: 16px 0; }
html.lux .portfolio-application .site-consent input { flex: none; width: 20px; height: 20px; margin: 2px 0 0; }
html.lux .portfolio-application form > .site-primary { margin-top: 8px; }
html.lux .portfolio-receipt { padding: 20px 0 0; }
html.lux .portfolio-receipt h3 { margin: 0 0 8px; font: 500 20px/1.3 var(--f-body); }
html.lux .portfolio-hero { display: grid; row-gap: clamp(28px, 4cqi, 56px); align-items: end; }
html.lux .portfolio-hero--cover { grid-template-columns: subgrid; }
html.lux .portfolio-hero h1 { margin-bottom: 20px; }
html.lux .portfolio-hero p.program-status { max-width: none; margin: 0; font-size: 15px; letter-spacing: 0; color: var(--c-text-3); }
html.lux .portfolio-hero p.program-status--open { color: var(--c-ok-text); }
html.lux .portfolio-hero .program-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 180px), 1fr)); gap: 12px; margin-top: 28px; }
html.lux .portfolio-hero .program-facts > div { flex-direction: column; align-items: flex-start; gap: 6px; padding: 16px 18px; border-radius: var(--r-lg); background: var(--c-bg-raised); }
html.lux .portfolio-hero .program-facts dt { font-size: 13px; color: var(--c-text-3); }
html.lux .portfolio-hero .program-facts dd { font-size: 17px; line-height: 1.3; }
html.lux .portfolio-program { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); column-gap: clamp(32px, 4cqi, 64px); align-items: start; }
html.lux .portfolio-program > .portfolio-flow { display: contents; }
html.lux .portfolio-program > .lux-back { grid-column: 1 / -1; grid-row: 1; justify-self: start; }
html.lux .portfolio-flow > .portfolio-hero { grid-column: 1 / -1; grid-row: 2; padding-top: clamp(24px, 3cqi, 40px); }
html.lux .portfolio-flow > .portfolio-body { grid-column: 1; grid-row: 3; }
html.lux .portfolio-flow > .portfolio-buy { grid-column: 2; grid-row: 3 / span 2; }
html.lux .portfolio-program > .portfolio-application { grid-column: 1; grid-row: 4; margin: clamp(40px, 5cqi, 64px) 0 0; }
html.lux .portfolio-program .portfolio-flow > .portfolio-body > section:first-child { margin-top: 0; }
html.lux .portfolio-program .portfolio-flow > aside.site-panel.portfolio-buy h2 { margin: 0 0 6px; font: 400 14px/1.3 var(--f-body); letter-spacing: 0; color: var(--c-text-3); }
html.lux .portfolio-buy .lux-price { margin: 0; }
html.lux .portfolio-program .portfolio-flow > aside.site-panel.portfolio-buy .lux-price--pending { font-size: 22px; color: var(--c-text-2); }
html.lux .portfolio-buy > :is(.site-primary, [role=status]) { margin-top: 24px; }
html.lux .portfolio-program .portfolio-flow > .portfolio-body > section > ul.portfolio-points { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 12px; }
html.lux .portfolio-program .portfolio-flow > .portfolio-body > section > ul.portfolio-points > li { display: flex; align-items: flex-start; gap: 12px; padding: 16px 18px; border: 0; border-radius: var(--r-lg); background: var(--c-bg-raised); font-size: 16px; line-height: 1.45; }
html.lux .portfolio-points__icon { flex: none; margin-top: 1px; color: var(--c-accent-text); }
html.lux .portfolio-program .portfolio-flow > .portfolio-body > section > ul.portfolio-chips { display: flex; flex-wrap: wrap; gap: 8px; }
html.lux .portfolio-program .portfolio-flow > .portfolio-body > section > ul.portfolio-chips > li { padding: 8px 14px; border: 1px solid var(--c-line-strong); border-radius: 999px; font-size: 15px; line-height: 1.3; }
html.lux .portfolio-trainers { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 16px; }
html.lux .portfolio-trainers > .portfolio-trainer { grid-template-columns: 72px minmax(0, 1fr); align-items: start; gap: 16px; padding: 18px; border-radius: var(--r-lg); background: var(--c-bg-raised); }
html.lux .portfolio-trainer > .site-teacher-photo { max-width: 72px; max-height: 96px; margin: 0; border-radius: 12px; }
html.lux .portfolio-trainer__initials { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; background: var(--lux-control); font: 500 22px/1 var(--f-body); }
html.lux .portfolio-trainer > div { display: grid; gap: 6px; }
html.lux .portfolio-dock { display: none; }
@media (max-width: 900px) {
  html.lux .portfolio-hero--cover { grid-template-columns: minmax(0, 1fr); }
  html.lux .portfolio-program { display: block; }
  html.lux .portfolio-program > .portfolio-flow { display: block; margin-bottom: 0; }
  html.lux .portfolio-flow > .portfolio-buy { margin: 8px 0 clamp(40px, 5cqi, 64px); }
  html.lux .portfolio-program > .portfolio-application { margin-top: 24px; }
  html.lux .portfolio-dock { position: sticky; bottom: var(--tabs-h, 0px); z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 40px calc(-1 * var(--page-gutter)) 0; padding: 12px var(--page-gutter); border-top: 1px solid var(--c-line); background: color-mix(in srgb, var(--c-bg) 90%, transparent); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
  html.lux .portfolio-dock p { display: grid; gap: 2px; margin: 0; font-size: 19px; font-variant-numeric: tabular-nums; }
  html.lux .portfolio-dock .site-primary { flex: none; min-height: 48px; }
}
@media (max-width: 640px) {
  html.lux .portfolio-hero .program-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  html.lux .portfolio-hero .program-facts > div { padding: 14px; }
  html.lux .portfolio-hero .program-facts dd { font-size: 16px; }
  html.lux .portfolio-hero .program-facts dt { flex-direction: column; align-items: flex-start; gap: 6px; }
}
@media (max-width: 359px) {
  html.lux .portfolio-hero .program-facts { grid-template-columns: minmax(0, 1fr); }
}

@container club-layout (max-width:900px){
  html.lux .portfolio-hero--cover { grid-template-columns: minmax(0, 1fr); }
  html.lux .portfolio-program { display: block; }
  html.lux .portfolio-program > .portfolio-flow { display: block; margin-bottom: 0; }
  html.lux .portfolio-flow > .portfolio-buy { margin: 8px 0 clamp(40px, 5cqi, 64px); }
  html.lux .portfolio-program > .portfolio-application { margin-top: 24px; }
  html.lux .portfolio-dock { position: sticky; bottom: var(--tabs-h, 0px); z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 40px calc(-1 * var(--page-gutter)) 0; padding: 12px var(--page-gutter); border-top: 1px solid var(--c-line); background: color-mix(in srgb, var(--c-bg) 90%, transparent); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
  html.lux .portfolio-dock p { display: grid; gap: 2px; margin: 0; font-size: 19px; font-variant-numeric: tabular-nums; }
  html.lux .portfolio-dock .site-primary { flex: none; min-height: 48px; }
}
@container club-layout (max-width:640px){
  html.lux .portfolio-hero .program-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  html.lux .portfolio-hero .program-facts > div { padding: 14px; }
  html.lux .portfolio-hero .program-facts dd { font-size: 16px; }
  html.lux .portfolio-hero .program-facts dt { flex-direction: column; align-items: flex-start; gap: 6px; }
}
@container club-layout (max-width:359px){
  html.lux .portfolio-hero .program-facts { grid-template-columns: minmax(0, 1fr); }
}
html.lux .news-page .site-editorial-list article { display: grid; justify-items: start; gap: 8px; padding: 28px 0; border-color: var(--c-line); }
html.lux :is(.news-page .site-editorial-list, .site-event) h2 { font: 400 clamp(22px, 2.2cqi, 28px)/1.25 var(--f-body); letter-spacing: -0.02em; }
html.lux .news-page .site-editorial-list h2 { margin: 0; text-wrap: pretty; }
html.lux .news-page .site-editorial-list p { margin: 0; max-width: 68ch; color: var(--c-text-3); }
html.lux .news-page .site-editorial-list .news-meta { font-size: 14px; }
html.lux .news-page .site-editorial-list article.has-cover { grid-template-columns: minmax(0, 1fr) minmax(140px, 240px); column-gap: 32px; }
html.lux .news-page .site-editorial-list article.has-cover > :not(.news-thumb) { grid-column: 1; }
html.lux .news-page .site-editorial-list .news-thumb { grid-column: 2; grid-row: 1 / span 4; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--r-lg); }
@media (max-width: 640px) {
  html.lux .news-page .site-editorial-list article.has-cover { grid-template-columns: minmax(0, 1fr); }
  html.lux .news-page .site-editorial-list .news-thumb { grid-column: 1; grid-row: 1; }
}

html.lux .site-calendar { margin: 8px 0 40px; overflow: visible; }
html.lux .site-calendar > header { flex-wrap: nowrap; justify-content: space-between; gap: 8px; margin: 0 0 16px; }
html.lux .site-calendar > header h2 { flex: 1 1 0; min-width: 0; margin: 0; text-align: center; }
html.lux .site-calendar > header a { display: inline-grid; flex: none; place-items: center; width: var(--lux-arrow); height: var(--lux-arrow); border-radius: 50%; background: var(--lux-control); color: var(--c-text); text-decoration: none; }
html.lux .site-calendar { --lux-heading-size: min(var(--lux-section-size), var(--lux-month-fit)); --lux-month-fit: 9cqi; }
html.lux.vis-spacing .site-calendar { --lux-month-fit: 7.5cqi; }
html.lux .site-calendar-grid { --lux-dot: var(--c-accent); gap: 4px; border: 0; }
html.vis .site-calendar-grid { --lux-dot: var(--vis-fg); }
html.lux .site-calendar-grid > strong { padding: 6px 8px; background: none; font-size: 13px; font-weight: 500; color: var(--c-text-3); }
html.lux .site-calendar-grid > div { min-height: 72px; padding: 8px; border: 0; border-radius: 12px; background: var(--c-bg-raised); }
html.lux .site-calendar-grid > div:not(:has(span)) { background: none; }
html.lux .site-calendar-grid span { font-size: 14px; color: var(--c-text-3); font-variant-numeric: tabular-nums; }
html.lux .site-calendar-grid a { display: flex; align-items: center; min-height: 44px; margin-top: 8px; padding: 4px 8px; border-radius: 8px; background: var(--c-accent); color: var(--c-on-accent); font-weight: 500; text-decoration: none; }

html.lux .site-event { gap: clamp(20px, 3cqi, 40px); padding: 32px 0; border-color: var(--c-line); }
html.lux .site-event img { border-radius: var(--r-lg); }
html.lux .site-event:not(:has(> img)) { grid-template-columns: minmax(0, 1fr); }
html.lux .site-event:not(:has(> img)) > div { max-width: 68ch; }
html.lux .site-event time { font-size: 15px; color: var(--c-text-3); }
html.lux .site-event h2 { margin: 8px 0 12px; }
html.lux .site-event p { margin: 4px 0; color: var(--c-text-3); }
html.lux .site-event .site-actions { gap: 8px 20px; margin-top: 16px; }
html.lux .site-event .site-actions > span { color: var(--c-text-3); }

@media (hover: hover) and (pointer: fine) {
  html.lux .site-event .site-actions > a:not(.site-primary):hover { text-decoration: underline 1px; text-underline-offset: 4px; }
}
@media (max-width: 760px) {
  html.lux .site-calendar-grid > div { position: relative; min-height: 48px; padding: 4px; border-radius: 8px; }
  html.lux .site-calendar-grid > div:focus-within { z-index: 1; }
  html.lux .site-calendar-grid a { position: absolute; inset: 0; margin: 0; padding: 0; border-radius: inherit; background: none; color: transparent; font-size: 0; }
  html.lux .site-calendar-grid a ~ a { display: none; }
  html.lux .site-calendar-grid a::after { content: ""; position: absolute; left: 50%; bottom: 8px; width: 8px; height: 8px; margin-left: -4px; border-radius: 50%; background: var(--lux-dot); forced-color-adjust: none; }
}
@media (forced-colors: active) {
  html.lux .site-calendar-grid { --lux-dot: LinkText; }
}

html.lux .site-article { max-width: 760px; }
html.lux .site-article > .lux-back { margin-top: 0; }
html.lux .site-article > time { display: block; margin-top: 20px; font-size: 15px; }
html.lux .site-article > h1 { margin: 12px 0 20px; }
html.lux .site-lead { font-size: clamp(19px, 1.6cqi, 23px); line-height: 1.45; letter-spacing: -0.015em; }
html.lux .site-article .site-prose { margin-top: 28px; font-size: 18px; line-height: 1.65; color: var(--c-text-2); }
html.lux .site-article .site-prose p { margin: 0 0 1em; }
html.lux .site-article .news-cover { display: block; width: 100%; height: auto; margin-top: 28px; border-radius: var(--r-lg); }
html.lux .site-article .site-rich { white-space: normal; }
html.lux .site-article .site-rich :is(h2, h3, h4) { margin: 1.6em 0 0.6em; color: var(--c-text); font-family: var(--f-body); font-weight: 500; line-height: 1.3; }
html.lux .site-article .site-rich h2 { font-size: 26px; }
html.lux .site-article .site-rich h3 { font-size: 22px; }
html.lux .site-article .site-rich h4 { font-size: 19px; }
html.lux .site-article .site-rich :is(ul, ol) { margin: 0 0 1em; padding-left: 1.4em; }
html.lux .site-article .site-rich li + li { margin-top: 0.35em; }
html.lux .site-article .site-rich blockquote { margin: 0 0 1em; padding-left: 20px; border-left: 2px solid var(--c-accent); color: var(--c-text); }
html.lux .site-article .site-rich hr { margin: 2em 0; border: 0; border-top: 1px solid var(--c-line); }
html.lux .site-article .site-rich img { display: block; width: 100%; height: auto; margin: 1.4em 0; border-radius: var(--r-lg); }
html.lux .site-article .news-credit { margin-top: 28px; font-size: 15px; color: var(--c-text-3); }
html.lux .site-player { margin: 24px 0; padding: 20px; border-radius: var(--r-lg); background: var(--c-bg-raised); }
html.lux .site-player .site-actions { gap: 8px; margin: 16px 0 0; }
html.lux .site-player .site-actions label { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; color: var(--c-text-3); }
html.lux .site-player .site-actions select { width: auto; margin: 0; }

html.lux main.club-search { padding: clamp(32px, 5cqi, 48px) var(--page-gutter) 100px; border-radius: 0; background: none; }
html.lux main.club-search > form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 12px; margin: 8px 0 16px; }
html.lux main.club-search > form label { display: grid; gap: 8px; font-size: 15px; color: var(--c-text-3); }
html.lux main.club-search > form input { height: 48px; margin: 0; font-size: 17px; }
html.lux main.club-search > p { color: var(--c-text-3); }
html.lux main.club-search section h2 { margin: 32px 0 4px; font: 500 15px/1.3 var(--f-body); color: var(--c-text-3); }
html.lux main.club-search .site-reading-item { display: flex; align-items: center; min-height: 56px; padding: 12px 0; border-color: var(--c-line); color: var(--c-text); text-decoration: none; }

@container club-layout (max-width:640px){
  html.lux .news-page .site-editorial-list article.has-cover { grid-template-columns: minmax(0, 1fr); }
  html.lux .news-page .site-editorial-list .news-thumb { grid-column: 1; grid-row: 1; }
}
@container club-layout (max-width:760px){
  html.lux .site-calendar-grid > div { position: relative; min-height: 48px; padding: 4px; border-radius: 8px; }
  html.lux .site-calendar-grid > div:focus-within { z-index: 1; }
  html.lux .site-calendar-grid a { position: absolute; inset: 0; margin: 0; padding: 0; border-radius: inherit; background: none; color: transparent; font-size: 0; }
  html.lux .site-calendar-grid a ~ a { display: none; }
  html.lux .site-calendar-grid a::after { content: ""; position: absolute; left: 50%; bottom: 8px; width: 8px; height: 8px; margin-left: -4px; border-radius: 50%; background: var(--lux-dot); forced-color-adjust: none; }
}
html.lux .mini-home { padding: 24px var(--page-gutter) 40px; }
html.lux .mini-welcome { display: grid; justify-items: center; margin-bottom: 28px; text-align: center; }
html.lux .mini-welcome .lux-themis { height: clamp(150px, 26svh, 220px); margin-bottom: 16px; }
html.lux .mini-welcome h1 { font: 200 clamp(32px, 9cqi, 40px)/1.06 var(--f-display); letter-spacing: -0.04em; font-kerning: none; }
html.lux .mini-welcome h1 em { color: inherit; }
html.lux .mini-welcome > p:last-child { margin-top: 12px; font-size: 15px; color: var(--c-text-3); }
html.lux .mini-agenda { margin-bottom: 12px; border: 0; border-radius: var(--r-lg); background: var(--c-bg-raised); }
html.lux .mini-agenda__link { justify-content: space-between; min-height: 56px; padding: 0 20px; font-size: 17px; }
html.lux .mini-agenda__link:focus-visible { outline-offset: -5px; }
html.lux .mini-home > [data-mini-preview] { margin: 20px 0 8px; font-size: 13px; color: var(--c-text-3); text-align: center; }
html.lux .mini-home > .site-primary[data-action="leave-mini"] { margin-bottom: 12px; }
html.lux .mini-membership { display: grid; gap: 8px; padding: 20px; border-radius: var(--r-lg); background: var(--c-bg-raised); color: var(--c-text); }
html.lux .mini-membership h2 { margin: 0; }
html.lux .mini-membership p { margin: 0 0 8px; font-size: 15px; color: var(--c-text-3); }
html.lux .mini-home > .site-catalog { display: grid; grid-template-columns: 1fr; gap: 0; margin: 24px 0 0; border-radius: var(--r-lg); background: var(--c-bg-raised); }
html.lux .mini-home > .site-catalog > .site-panel { display: flex; align-items: center; justify-content: space-between; min-height: 52px; margin: 0; padding: 0 20px; border: 0; border-bottom: 1px solid var(--c-line); border-radius: 0; background: none; color: var(--c-text); font-size: 17px; text-decoration: none; }
html.lux .mini-home > .site-catalog > .site-panel:last-child { border-bottom: 0; }
html.lux .mini-home > .site-catalog > .site-panel::after { content: "›"; font-size: 22px; color: var(--c-text-3); }


html.lux .site-office { background: var(--c-bg); }
html.lux .office-sidebar, html.lux .office-account { background: var(--c-bg-sunken); border-color: var(--c-line); }
html.lux .office-brand img { border-radius: 6px; }
html.lux .office-nav-group p { margin-bottom: 6px; font-size: 13px; font-weight: 500; letter-spacing: 0; text-transform: none; }
html.lux .office-nav-group a { border-left: 0; border-radius: 999px; padding: 10px 14px; transition: background-color 160ms ease, color 160ms ease; }
html.lux .office-nav-group a[aria-current] { background: var(--lux-control); color: var(--c-text); }
html.lux .office-account-mark { border-radius: 50%; background: var(--lux-control); color: var(--c-text); }
html.lux .office-topbar { border-color: var(--c-line); }
html.lux .office-page-header h1 { font-weight: 200; }
html.lux .site-office :is(.site-panel, .site-filters, .site-metrics article) { border: 0; background: var(--c-bg-raised); }
html.lux .site-office .office-primary-metrics article:first-child { background: var(--c-bg-raised); color: var(--c-text); }
html.lux .site-office .office-primary-metrics article:first-child strong { color: var(--c-accent-text); }
html.lux .site-office input[type="file"] { background: var(--c-bg-sunken); }

@media (hover: hover) and (pointer: fine) {
  html.lux .office-nav-group a:not([aria-current]):hover { background: var(--lux-hover); color: var(--c-text); }
}


.club-merch-selection { border: 1px solid var(--c-line); box-shadow: var(--shadow-ambient); }
.club-merch-selection h2 { overflow-wrap: anywhere; line-height: 1.15; }
.club-merch-selection button { min-height: 44px; }
.club-merch-selection button:disabled { cursor: not-allowed; }
.club-merch-selection__error { color: var(--c-danger-text); border-top: 1px solid var(--c-line); padding-top: 16px; margin: 20px 0 0; font-size: 14px; line-height: 1.5; }
@media (max-width: 420px) { .club-merch-selection { padding: 20px !important; } }

@container club-layout (max-width:420px){ .club-merch-selection { padding: 20px !important; } }
.office-program-new { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
.office-programs { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 16px; margin-bottom: 24px; }
.office-programs > .site-empty { grid-column: 1 / -1; }
.office-program { display: grid; grid-template-rows: auto 1fr; min-width: 0; overflow: hidden; border-radius: var(--r-lg); background: var(--c-bg-raised); }
.office-program__media { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--c-bg-sunken); }
.office-program__media:not(:has(img)) { aspect-ratio: auto; height: 104px; }
.office-program__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 320ms var(--ease-out); }
.office-program__body { display: flex; flex-direction: column; gap: 14px; min-width: 0; padding: 20px; }
.office-program__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.office-program h2 { margin: 0; font: 400 21px/1.25 var(--f-display); letter-spacing: -0.015em; overflow-wrap: anywhere; }
.office-program h2 a { color: var(--c-text); text-decoration: none; }
.office-program__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; margin: 0; }
.office-program__facts dt { font-size: 12px; color: var(--c-text-3); }
.office-program__facts dd { margin: 2px 0 0; font-size: 15px; color: var(--c-text); overflow-wrap: anywhere; }
.office-program .office-meta { margin: 0; }
.office-program__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: auto; padding-top: 4px; }
.office-program__actions .site-primary { min-height: 44px; padding-inline: 22px; text-decoration: none; }
.office-program__actions a:not(.site-primary) { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; color: var(--c-text-2); }
.office-program__mark { display: grid; place-items: center; align-content: center; gap: 12px; height: 100%; padding: 16px; color: var(--c-accent-text); text-align: center; background: radial-gradient(120% 90% at 20% 0%, color-mix(in srgb, var(--c-accent) 18%, transparent), transparent 60%); }
.office-program__mark .office-icon { width: 36px; height: 36px; }
.office-program__mark small { font-size: 13px; color: var(--c-text-3); }
.office-program-missing { display: grid; justify-items: start; gap: 16px; }
.office-page-header.office-page-header--record h1 { font-size: clamp(26px, 2.4vw, 34px); }
.office-topbar nav span:last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.program-editor__nav { position: sticky; top: 0; z-index: 3; display: flex; gap: 8px; margin: 0 0 20px; padding: 10px 0; overflow-x: auto; scrollbar-width: none; background: var(--c-bg); }
.program-editor__nav a { flex: none; display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--c-line); color: var(--c-text-2); font-size: 14px; text-decoration: none; white-space: nowrap; }
.program-editor__nav a[aria-current] { background: var(--lux-control); box-shadow: none; color: var(--c-text); }
.program-editor__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 360px); align-items: start; gap: 24px; }
.program-editor__blocks { display: grid; gap: 16px; min-width: 0; }
.program-editor__block { min-width: 0; padding: 24px; border-radius: var(--r-lg); background: var(--c-bg-raised); scroll-margin-top: 72px; }
.program-editor__block h2 { margin: 0 0 16px; font: 300 26px/1.15 var(--f-display); letter-spacing: -0.02em; }
.program-editor__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
.program-editor__fields > :is(fieldset, label:has(textarea), label:has(input[name="title"]), label:has(input[name="document"]), label:has(input[name="cover"])) { grid-column: 1 / -1; }
.program-editor__fields .site-field { margin-bottom: 16px; }
.program-editor__fields textarea { min-height: 120px; }
.program-editor__side { position: sticky; top: 72px; display: grid; gap: 16px; min-width: 0; }
.program-editor__caption { margin: 0; font-size: 13px; color: var(--c-text-3); }
.office-campaign-raised { margin: 0; font-size: 15px; color: var(--c-text-3); font-variant-numeric: tabular-nums; }
.office-invitations { display: grid; gap: 16px; margin-top: 24px; }
.office-invitations h2, .office-invitations h3, .office-invitations p { margin: 0; }
.office-invitations .office-record { display: grid; gap: 10px; padding-top: 16px; border-top: 1px solid var(--c-line); }
.office-campaign-raised strong { display: block; font: 200 32px/1.1 var(--f-display); letter-spacing: -0.03em; color: var(--c-text); }
.office-program-preview { overflow: hidden; border-radius: var(--r-lg); background: var(--c-bg-raised); }
.office-program-preview__media { aspect-ratio: 16 / 9; overflow: hidden; background: var(--c-bg-sunken); }
.office-program-preview__media:not(:has(img)) { aspect-ratio: auto; height: 104px; }
.office-program-preview__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.office-program-preview__body { display: grid; gap: 8px; padding: 18px 20px 20px; }
.office-program-preview__body .program-status { margin: 0; }
.office-program-preview__body .club-caps:empty { display: none; }
.office-program-preview__body h3 { margin: 0; font: 400 20px/1.25 var(--f-display); letter-spacing: -0.015em; overflow-wrap: anywhere; }
.office-program-preview__body .office-meta { margin: 0; }
.office-program-preview__body .site-price { margin: 4px 0 0; font-size: 22px; }
.program-editor__save { display: grid; gap: 12px; padding: 18px 20px; border-radius: var(--r-lg); background: var(--c-bg-raised); }
.program-editor__state { margin: 0; font-size: 14px; color: var(--c-text-3); }
.program-editor__state[data-dirty] { color: var(--c-accent-text); }
.program-editor__save .site-primary { width: 100%; min-height: 48px; }
.program-editor__save [data-error] { margin: 0; }
.program-editor__site { justify-self: start; font-size: 14px; }
.program-editor__danger { margin-top: 24px; }
.program-editor__danger h2 { font-size: 20px !important; }

.site-office .program-editor .office-modules { margin: 0; padding: 0; border: 0; counter-reset: module; }
.site-office .program-editor .office-modules legend { padding: 0; font-size: 0; }
.site-office .office-modules { counter-reset: module; }
.office-modules__total { margin: 0 0 12px; font-size: 14px; color: var(--c-text-3); }
.office-modules__total:empty { display: none; }
.site-office .office-modules .office-module { display: block; padding: 0; counter-increment: module; }
.office-module__head { display: flex; align-items: center; gap: 8px; }
.site-office .office-module__toggle { flex: 1; display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: center; gap: 14px; min-width: 0; min-height: 56px; margin: 0; padding: 8px 0; border: 0; border-radius: 0; background: none; color: var(--c-text); font: inherit; font-size: 16px; text-align: left; cursor: pointer; }
.office-module__number { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--lux-control); font-size: 13px; font-variant-numeric: tabular-nums; }
.office-module__number::before { content: counter(module); }
.office-module.is-open .office-module__number { background: var(--c-accent); color: var(--c-on-accent); }
.office-module__title { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.office-module__meta { font-size: 13px; color: var(--c-text-3); white-space: nowrap; }
.office-module__tools { display: flex; gap: 4px; }
.site-office .office-module__tool { display: grid; place-items: center; width: 44px; height: 44px; min-height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--c-text-2); }
.site-office .office-module__tool:disabled { opacity: 0.3; cursor: default; }
.site-office .office-modules .office-module__body { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; padding: 4px 0 16px 46px; }
.site-office .office-modules .office-module__body[hidden] { display: none; }
.site-office .office-modules .office-module__body > button { justify-self: start; }

@media (hover: hover) and (pointer: fine) {
  .office-program:hover .office-program__media img { transform: scale(1.03); }
  .program-editor__nav a:not([aria-current]):hover { background: var(--lux-hover); }
  .site-office .office-module__tool:not(:disabled):hover { background: var(--lux-hover); color: var(--c-text); }
}

@media (max-width: 1100px) {
  .program-editor__layout { grid-template-columns: minmax(0, 1fr); }
  .program-editor__side { position: static; grid-template-columns: minmax(0, 1fr); }
  .program-editor__save { position: fixed; z-index: 5; right: 0; bottom: 0; left: 0; grid-template-columns: minmax(0, 1fr) auto; align-items: center; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); border-radius: 0; border-top: 1px solid var(--c-line); background: var(--c-bg-sunken); }
  .program-editor__save .site-primary { width: auto; padding-inline: 24px; }
  .program-editor__save [data-error] { grid-column: 1 / -1; }
  .program-editor { padding-bottom: 88px; }
}

@media (max-width: 700px) {
  .office-program__body { padding: 18px 16px; }
  .program-editor__block { padding: 20px 16px; }
  .program-editor__fields { grid-template-columns: minmax(0, 1fr); }
  .site-office .office-modules .office-module__body { grid-template-columns: minmax(0, 1fr); padding-left: 0; }
  .site-office .office-module__toggle { grid-template-columns: 32px minmax(0, 1fr); }
  .office-module__meta { grid-column: 2; white-space: normal; }
}

@container club-layout (max-width:1100px){
  .program-editor__layout { grid-template-columns: minmax(0, 1fr); }
  .program-editor__side { position: static; grid-template-columns: minmax(0, 1fr); }
  .program-editor__save { position: fixed; z-index: 5; right: 0; bottom: 0; left: 0; grid-template-columns: minmax(0, 1fr) auto; align-items: center; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); border-radius: 0; border-top: 1px solid var(--c-line); background: var(--c-bg-sunken); }
  .program-editor__save .site-primary { width: auto; padding-inline: 24px; }
  .program-editor__save [data-error] { grid-column: 1 / -1; }
  .program-editor { padding-bottom: 88px; }
}
@container club-layout (max-width:700px){
  .office-program__body { padding: 18px 16px; }
  .program-editor__block { padding: 20px 16px; }
  .program-editor__fields { grid-template-columns: minmax(0, 1fr); }
  .site-office .office-modules .office-module__body { grid-template-columns: minmax(0, 1fr); padding-left: 0; }
  .site-office .office-module__toggle { grid-template-columns: 32px minmax(0, 1fr); }
  .office-module__meta { grid-column: 2; white-space: normal; }
}
.site-office { display:grid; grid-template-columns:252px minmax(0,1fr); min-height:100dvh; background:var(--c-bg-sunken); }
.office-icon { flex:none; }
.office-sidebar { position:sticky; top:0; height:100dvh; display:flex; flex-direction:column; min-width:0; background:var(--c-bg); border-right:1px solid var(--c-line); }
.office-brand-row { display:flex; align-items:center; gap:12px; padding:28px 20px 24px; }
.office-brand { display:flex; align-items:center; gap:12px; min-width:0; color:var(--c-text); font-size:15px; font-weight:600; line-height:1.25; text-decoration:none; }
.office-brand img { flex:none; border-radius:var(--r-sm); }
.office-brand small { display:block; margin-top:4px; font-size:12px; font-weight:400; color:var(--c-text-3); }
.office-menu-toggle { display:none; align-items:center; justify-content:center; padding:10px; }
.office-navigation { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:0 12px 16px; }
.office-nav-group { margin-bottom:20px; }
.office-nav-group:last-child { margin-bottom:0; }
.office-nav-group p { margin:0 12px 8px; font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--c-text-3); }
.office-nav-group a { display:flex; align-items:center; gap:12px; min-height:44px; padding:10px 12px; margin:2px 0; border-radius:var(--r-sm); border-left:3px solid transparent; color:var(--c-text-2); font-size:14px; text-decoration:none; }
.office-nav-group a[aria-current] { background:var(--c-surface-warm); border-left-color:var(--c-accent); color:var(--c-accent-text); font-weight:600; }
.office-nav-group hr { display:none; }
.office-account { display:flex; align-items:center; gap:12px; padding:16px 20px; border-top:1px solid var(--c-line); background:var(--c-bg); }
.office-account-mark { display:grid; place-items:center; width:36px; height:36px; border-radius:var(--r-sm); background:var(--c-bg-inverse); color:var(--c-text-inverse); font-size:12px; }
.office-account strong { font-size:13px; font-weight:600; }
.office-account small { display:block; font-size:12px; color:var(--c-text-3); }
.office-account button { margin-left:auto; border:0; padding:10px; display:flex; align-items:center; justify-content:center; }
.site-office-content { width:100%; max-width:1512px; margin:0 auto; min-width:0; padding:0 36px 64px; }
.office-topbar { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:72px; border-bottom:1px solid var(--c-line); font-size:14px; }
.office-topbar nav { display:flex; flex-wrap:wrap; gap:12px; align-items:center; min-width:0; color:var(--c-text-3); }
.office-topbar nav a { color:var(--c-text-3); text-decoration:none; }
.office-topbar nav span:last-child { color:var(--c-text); }
.office-site-link { display:inline-flex; align-items:center; gap:6px; flex:none; min-height:44px; color:var(--c-text); text-decoration:none; }
.office-page-header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; padding:32px 0 28px; }
.office-page-header>div { flex:1; min-width:180px; }
.office-page-header h1 { margin:0 0 12px; font-size:clamp(32px,3vw,44px); }
.office-page-header p { margin:0; max-width:680px; font-size:16px; color:var(--c-text-3); }
.office-refresh { display:inline-flex; align-items:center; gap:8px; font-size:14px; }
.site-office .site-panel { box-shadow:none; border-radius:var(--r-lg); margin-bottom:20px; padding:24px; }
.site-office .site-panel h2 { font-size:24px; overflow-wrap:anywhere; }
.site-office .site-panel p { overflow-wrap:anywhere; }
.site-office .site-filters { gap:12px; margin:0 0 20px; padding:16px 20px; border:1px solid var(--c-line); border-radius:var(--r-lg); background:var(--c-bg); }
.site-office .site-filters label { display:grid; gap:6px; font-size:14px; }
.site-office .site-filters button { font-size:14px; }
.site-office label { font-size:14px; }
.site-office input:not([type=checkbox]),.site-office select,.site-office textarea { font-size:16px; }
.site-office input[type=file] { width:100%; padding:12px; border:1px dashed var(--c-line-control); border-radius:var(--r-sm); background:var(--c-bg-sunken); }
.site-office input[type=file]::file-selector-button { padding:8px 12px; border:1px solid var(--c-line-control); border-radius:var(--r-sm); background:var(--c-bg); color:var(--c-text); font:inherit; margin-right:12px; }
.site-office .site-admin-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; padding-top:12px; }
.site-office .site-field:has(textarea) { grid-column:1/-1; }
.site-office .site-field:has(input[type=checkbox]) { display:flex; align-items:center; gap:12px; }
.site-office .site-field input[type=checkbox] { margin:0; width:20px; height:20px; }
.site-office .site-admin-form>button { justify-self:start; margin:8px 0; }
.site-office [data-error]:not([hidden]) { padding:12px 16px; background:color-mix(in srgb,var(--c-danger) 8%,var(--c-bg)); color:var(--c-danger-text); border-radius:var(--r-sm); }
.office-list { background:var(--c-bg); border:1px solid var(--c-line); border-radius:var(--r-lg); overflow:hidden; margin-bottom:24px; }
.site-office .office-list>.site-panel { border:0; border-bottom:1px solid var(--c-line); border-radius:0; margin:0; padding:20px 24px; }
.site-office .office-list>.site-panel:last-child { border-bottom:0; }
.office-list>.site-empty { margin:0; padding:32px 24px; }
.office-list-heading,.office-record-head { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:12px; }
.office-list-heading { margin:24px 0 12px; }
.office-list-heading h2 { margin:0; font-size:24px; }
.office-list-heading p { margin:0; color:var(--c-text-3); font-size:14px; }
.office-record-head { align-items:start; margin-bottom:12px; }
.office-record-head h2 { flex:1; min-width:160px; margin:0; }
.office-meta { color:var(--c-text-3); font-size:14px; }
.office-record-head+.office-meta { margin:0 0 16px; }
.office-rich { min-height:320px; }
.office-news-schedule { display:flex; flex-wrap:wrap; align-items:end; gap:16px 24px; margin-bottom:16px; }
.office-news-schedule .site-field { margin:0; }
.office-hint { display:block; margin-top:6px; color:var(--c-text-3); font-size:13px; line-height:1.5; }
.office-status { display:inline-flex; align-items:center; gap:6px; max-width:100%; padding:4px 8px; border-radius:var(--r-sm); background:var(--c-bg-sunken); color:var(--c-text-2); font-size:12px; font-weight:600; overflow-wrap:anywhere; }
.office-status::before { content:''; flex:none; width:6px; height:6px; border-radius:50%; background:currentColor; }
.office-status:is([data-status=published],[data-status=verified],[data-status=confirmed],[data-status=active],[data-status=ok],[data-status=succeeded]) { color:var(--c-ok-text); background:color-mix(in srgb,var(--c-ok) 10%,var(--c-bg)); }
.office-status:is([data-status=new],[data-status=pending],[data-status=open],[data-status=in_progress],[data-status=warn],[data-status=review]) { color:var(--c-status-text); background:color-mix(in srgb,var(--c-status) 12%,var(--c-bg)); }
.office-status:is([data-status=rejected],[data-status=canceled],[data-status=error],[data-status=failed]) { color:var(--c-danger-text); background:color-mix(in srgb,var(--c-danger) 8%,var(--c-bg)); }
.office-record details { padding:0; border:0; }
.office-record details>summary { justify-content:space-between; gap:12px; min-height:44px; font-size:14px; color:var(--c-link); }
.office-record details>summary::after { content:'+'; font-size:22px; font-weight:400; }
.office-record details[open]>summary::after { content:'−'; }
.office-record details[open] { margin-bottom:16px; }
.office-record .site-danger { font-size:14px; padding:8px 12px; }
.office-record .site-actions { margin:12px 0 0; gap:8px; }
.office-create { margin:0 0 20px; padding:0!important; border:1px solid var(--c-line); background:var(--c-bg); border-radius:var(--r-lg); }
.office-create>summary { padding:16px 20px; gap:12px; color:var(--c-accent-text); }
.office-create>summary::before { content:'+'; font-size:24px; font-weight:400; }
.office-create[open]>summary { border-bottom:1px solid var(--c-line); }
.office-create .site-admin-form { padding:8px 24px 20px; }
.office-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:20px; }
.office-toolbar p { margin:0; font-size:14px; color:var(--c-text-3); }
.site-office .site-metrics { margin:0 0 24px; gap:12px; }
.site-office .site-metrics article { background:var(--c-bg); border-radius:var(--r-lg); padding:20px; }
.site-office .site-metrics strong { font-size:32px; font-weight:500; line-height:1.2; font-variant-numeric:tabular-nums; }
.site-office .site-metrics span { display:block; margin-top:8px; }
.office-metric-link { display:block; color:var(--c-text); text-decoration:none; }
.site-office .office-primary-metrics article:first-child { background:var(--c-bg-inverse); color:var(--c-text-inverse); border-color:var(--c-bg-inverse); }
.site-office .office-primary-metrics article:first-child span,.site-office .office-primary-metrics article:first-child a { color:inherit; }
.office-workspace { display:grid; grid-template-columns:1.2fr 1fr; gap:24px; align-items:start; }
.office-queue { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:64px; padding:16px 0; border-bottom:1px solid var(--c-line); color:var(--c-text); text-decoration:none; }
.office-queue:last-child { border:0; }
.office-queue>span { display:flex; align-items:center; gap:12px; }
.office-queue strong { font-weight:500; font-variant-numeric:tabular-nums; }
.office-shortcuts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.office-shortcuts a { display:flex; align-items:center; gap:10px; padding:12px; min-height:48px; border:1px solid var(--c-line); border-radius:var(--r-sm); color:var(--c-text); font-size:14px; text-decoration:none; }
.office-health-row { display:flex; justify-content:space-between; gap:16px; padding:16px 0; border-top:1px solid var(--c-line); }
.office-health-row strong { font-weight:500; }
.office-health-row p { margin:4px 0 0; color:var(--c-text-3); font-size:14px; }
.office-health-row .office-status { align-self:start; flex:none; }
.office-metric-details { border:0; padding:0; margin:0 0 24px; }
.office-metric-details summary { margin-bottom:12px; color:var(--c-text-2); }
.office-access { padding:32px; background:var(--c-bg); border:1px solid var(--c-line); border-radius:var(--r-lg); }
.office-access h2 { margin-top:0; }
.office-pagination { justify-content:space-between; padding:16px 0; border-top:1px solid var(--c-line); }
.office-pagination a { min-height:44px; display:inline-flex; align-items:center; }
.office-edit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 20px; align-items:end; padding:16px 0; }
.office-edit-grid label { display:grid; gap:6px; }
.office-edit-grid>button { justify-self:start; }
.office-edit-grid>[data-error] { grid-column:1/-1; }
.office-order-details { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.office-order-details p { margin:6px 0; }
.office-order-items { margin:16px 0; padding:12px 16px; background:var(--c-bg-sunken); border-radius:var(--r-sm); }
.office-order-items p { margin:4px 0; font-size:14px; }
.office-order-total { font-size:24px; font-variant-numeric:tabular-nums; }
.office-source-error { color:var(--c-danger-text); font-size:14px; }
.office-upload { margin-bottom:24px; }
.office-upload .site-field { margin-top:0; }
.office-upload button { margin-top:12px; }
.office-media-id { color:var(--c-text-3); font-size:12px; }
.office-messages { display:grid; gap:12px; margin:20px 0; }
.office-message { padding:12px 16px; max-width:90%; border-radius:var(--r-sm); background:var(--c-bg-sunken); white-space:pre-wrap; }
.office-message[data-author=office] { justify-self:end; background:var(--c-surface-blue); }
.office-message strong { display:block; margin-bottom:4px; font-size:12px; }
.office-message p { margin:0; }
.site-office fieldset { background:var(--c-bg); border:1px solid var(--c-line); border-radius:var(--r-lg); padding:12px 24px 24px; margin:0 0 20px; }
.site-office legend { padding:0 8px; font-size:20px; font-family:var(--f-display); }
.site-office .office-choices { grid-column:1/-1; margin:16px 0; padding:8px 16px 12px; border-radius:var(--r-sm); }
.site-office .office-choices legend { padding:0 4px; font-size:14px; font-family:inherit; }
.site-office .office-choices label { display:flex; align-items:center; gap:12px; min-height:44px; }
.site-office .office-choices input { flex:none; margin:0; width:20px; height:20px; }
.site-office .office-choices p { margin:8px 0; }
.site-office .office-modules { grid-column:1/-1; margin:16px 0; padding:8px 16px 16px; border-radius:var(--r-sm); }
.site-office .office-modules legend { padding:0 4px; font-size:14px; font-family:inherit; }
.site-office .office-module { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; padding:12px 0; border-bottom:1px solid var(--c-line); }
.site-office .office-module__wide { grid-column:1/-1; }
.site-office .office-module>button,.site-office .office-modules>button { justify-self:start; margin:8px 0; }
.site-office .site-audit { background:var(--c-bg); padding:20px 24px; }
.site-office .site-audit time { display:block; font-size:12px; color:var(--c-text-3); margin-bottom:4px; }
.site-office .site-audit pre { font-size:12px; background:var(--c-bg-sunken); padding:12px; border-radius:var(--r-sm); }
@media(hover:hover) and (pointer:fine) {
  .office-nav-group a:not([aria-current]):hover,.office-account button:hover,.office-shortcuts a:hover { background:var(--c-bg-sunken); }
  .office-queue:hover,.office-site-link:hover,.office-topbar nav a:hover { color:var(--c-accent-text); }
}
@media(max-width:1200px) {
  .site-office { grid-template-columns:232px minmax(0,1fr); }
  .site-office-content { padding-inline:28px; }
  .office-workspace { grid-template-columns:1fr; gap:0; }
}
@media(max-width:900px) {
  .site-office { grid-template-columns:minmax(0,1fr); }
  .office-sidebar { position:sticky; height:auto; z-index:150; border-right:0; border-bottom:1px solid var(--c-line); }
  .office-brand-row { justify-content:space-between; padding:12px 20px; }
  .office-menu-toggle { display:inline-flex; }
  .office-navigation { display:none; max-height:calc(100dvh - 160px); }
  .office-navigation[data-open=true] { display:block; }
  .office-account { display:none; }
  .office-sidebar:has(.office-navigation[data-open=true]) .office-account { display:flex; }
  .office-nav-group { margin-bottom:16px; }
  .office-nav-group a { font-size:16px; }
  .office-topbar { min-height:60px; }
  .office-page-header { padding:24px 0; }
}
@media(max-width:640px) {
  .site-office-content { padding:0 16px 96px; }
  .office-page-header { align-items:start; gap:16px; }
  .office-page-header>div { flex-basis:100%; }
  .office-page-header p { font-size:14px; }
  .office-refresh { padding:8px 12px; }
  .office-topbar { gap:8px; font-size:12px; }
  .office-topbar nav { gap:8px; }
  .office-site-link { font-size:12px; }
  .site-office .site-filters { padding:16px; }
  .site-office .site-filters label { max-width:none; flex-basis:100%; }
  .site-office .site-filters button { flex:1; }
  .site-office .site-panel,.site-office .office-list>.site-panel { padding:20px 16px; }
  .site-office .site-admin-form,.office-edit-grid,.office-order-details,.site-office .office-module { grid-template-columns:minmax(0,1fr); }
  .office-create .site-admin-form { padding:8px 16px 20px; }
  .site-office .site-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .site-office .site-metrics article { padding:16px; }
  .site-office .site-metrics strong { font-size:28px; }
  .site-office .site-metrics span { font-size:12px; }
  .office-record-head h2 { font-size:22px!important; min-width:0; flex-basis:100%; }
  .office-health-row { flex-wrap:wrap; gap:8px; }
  .office-health-row>div { flex-basis:100%; }
  .office-shortcuts { grid-template-columns:1fr; }
  .office-message { max-width:100%; }
  .site-office fieldset { padding:12px 16px 20px; }
  .office-list-heading { gap:8px; }
}
.office-history { margin-bottom:24px; }
.office-ledger { display:grid; gap:0; margin:16px 0 0; padding:0; list-style:none; }
.office-ledger li { display:grid; grid-template-columns:minmax(0,220px) minmax(0,1fr) auto; gap:4px 16px; align-items:baseline; padding:12px 0; border-top:1px solid var(--c-line); }
.office-ledger strong { font-variant-numeric:tabular-nums; }
@media (max-width: 640px) {
  .office-ledger li { grid-template-columns:minmax(0,1fr) auto; }
  .office-ledger li > span:first-child { grid-column:1 / -1; }
}


@container club-layout (max-width:1200px){
  .site-office { grid-template-columns:232px minmax(0,1fr); }
  .site-office-content { padding-inline:28px; }
  .office-workspace { grid-template-columns:1fr; gap:0; }
}
@container club-layout (max-width:900px){
  .site-office { grid-template-columns:minmax(0,1fr); }
  .office-sidebar { position:sticky; height:auto; z-index:150; border-right:0; border-bottom:1px solid var(--c-line); }
  .office-brand-row { justify-content:space-between; padding:12px 20px; }
  .office-menu-toggle { display:inline-flex; }
  .office-navigation { display:none; max-height:calc(100dvh - 160px); }
  .office-navigation[data-open=true] { display:block; }
  .office-account { display:none; }
  .office-sidebar:has(.office-navigation[data-open=true]) .office-account { display:flex; }
  .office-nav-group { margin-bottom:16px; }
  .office-nav-group a { font-size:16px; }
  .office-topbar { min-height:60px; }
  .office-page-header { padding:24px 0; }
}
@container club-layout (max-width:640px){
  .site-office-content { padding:0 16px 96px; }
  .office-page-header { align-items:start; gap:16px; }
  .office-page-header>div { flex-basis:100%; }
  .office-page-header p { font-size:14px; }
  .office-refresh { padding:8px 12px; }
  .office-topbar { gap:8px; font-size:12px; }
  .office-topbar nav { gap:8px; }
  .office-site-link { font-size:12px; }
  .site-office .site-filters { padding:16px; }
  .site-office .site-filters label { max-width:none; flex-basis:100%; }
  .site-office .site-filters button { flex:1; }
  .site-office .site-panel,.site-office .office-list>.site-panel { padding:20px 16px; }
  .site-office .site-admin-form,.office-edit-grid,.office-order-details,.site-office .office-module { grid-template-columns:minmax(0,1fr); }
  .office-create .site-admin-form { padding:8px 16px 20px; }
  .site-office .site-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .site-office .site-metrics article { padding:16px; }
  .site-office .site-metrics strong { font-size:28px; }
  .site-office .site-metrics span { font-size:12px; }
  .office-record-head h2 { font-size:22px!important; min-width:0; flex-basis:100%; }
  .office-health-row { flex-wrap:wrap; gap:8px; }
  .office-health-row>div { flex-basis:100%; }
  .office-shortcuts { grid-template-columns:1fr; }
  .office-message { max-width:100%; }
  .site-office fieldset { padding:12px 16px 20px; }
  .office-list-heading { gap:8px; }
}
@container club-layout (max-width:640px){
  .office-ledger li { grid-template-columns:minmax(0,1fr) auto; }
  .office-ledger li > span:first-child { grid-column:1 / -1; }
}
.podcast-artwork { position: relative; aspect-ratio: 1; overflow: hidden; border-radius: var(--r-sm); background: var(--c-accent); color: var(--c-on-accent); box-shadow: var(--shadow-ambient); }
.podcast-artwork img { width: 100%; height: 100%; object-fit: cover; display: block; }
.podcast-artwork__type { height: 100%; display: flex; flex-direction: column; justify-content: space-between; padding: 12%; }
.podcast-artwork__type > span { font-size: 10px; line-height: 1.4; }
.podcast-artwork__type strong { font-family: var(--f-display); font-size: clamp(24px, 3.1vw, 38px); line-height: .98; font-weight: 400; }
.podcast-artwork__symbol { position: absolute; right: 10px; bottom: 10px; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--c-bg-inverse); color: var(--c-text-inverse); }
.podcast-artwork--locked { background: #d7d5d1; color: #3b3b3b; box-shadow: none; }
.podcast-artwork--locked img { filter: grayscale(1) brightness(.65); }
.podcast-row__meta > a { display: block; width: 150px; text-decoration: none; }
.podcast-member-panel { display: flex; align-items: center; gap: 18px; padding: 24px; background: var(--c-bg-inverse); color: var(--c-text-inverse); border-radius: var(--r-sm); }
.podcast-member-panel svg { color: var(--c-accent); flex-shrink: 0; }
.podcast-member-panel strong { display: block; font-family: var(--f-display); font-size: 25px; font-weight: 400; }
.podcast-member-panel p { margin: 8px 0 0; font-size: 14px; opacity: .8; }
@media (max-width: 620px) { .podcast-row__meta > a { width: 116px; } .podcast-row__meta { align-items: flex-end; } .podcast-artwork__type strong { font-size: 27px; } .podcast-artwork__type > span { font-size: 8px; } .podcast-artwork__symbol { right: 6px; bottom: 6px; width: 25px; height: 25px; } }

@container club-layout (max-width:620px){ .podcast-row__meta > a { width: 116px; } .podcast-row__meta { align-items: flex-end; } .podcast-artwork__type strong { font-size: 27px; } .podcast-artwork__type > span { font-size: 8px; } .podcast-artwork__symbol { right: 6px; bottom: 6px; width: 25px; height: 25px; } }
.episode-page { max-width: var(--container); margin: 0 auto; padding: 32px 28px 64px; }
.episode-back { display: inline-block; margin-bottom: 32px; color: var(--c-text-2); font-size: 14px; text-decoration: none; }
.episode-layout { display: grid; grid-template-columns: minmax(240px, .8fr) minmax(0, 1.2fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.episode-cover { aspect-ratio: 1; overflow: hidden; border-radius: var(--r-sm); box-shadow: var(--shadow-ambient); }
.episode-cover img { width: 100%; height: 100%; object-fit: cover; }
.episode-cover__type { height: 100%; padding: 8%; display: flex; flex-direction: column; justify-content: space-between; background: var(--c-accent); color: var(--c-on-accent); }
.episode-cover__brand { display: flex; align-items: center; gap: 12px; font-size: 12px; line-height: 1.4; }
.episode-cover__title { font-family: var(--f-display); font-size: clamp(52px, 7vw, 100px); line-height: .95; letter-spacing: -.035em; }
.episode-cover__foot { display: flex; justify-content: space-between; border-top: 1px solid currentColor; padding-top: 16px; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.episode-meta { margin: 0 0 20px; color: var(--c-accent-text); font-size: 12px; text-transform: uppercase; letter-spacing: .09em; }
.episode-content h1 { font-family: var(--f-display); font-weight: 400; font-size: clamp(30px, 3.4vw, 48px); line-height: 1.12; margin: 0; }
.episode-description { color: var(--c-text-2); font-size: 17px; line-height: 1.65; margin: 24px 0; }
.episode-player { margin-top: 28px; padding: 24px; border: 1px solid var(--c-line); border-radius: var(--r-md); background: var(--c-bg-raised); box-shadow: var(--shadow-ambient); }
.episode-skip { min-height: 44px; padding: 10px 14px; border: 1px solid var(--c-line-control); border-radius: var(--r-sm); background: transparent; color: var(--c-text); cursor: pointer; font-size: 14px; }
.episode-note { color: var(--c-text-3); font-size: 13px; line-height: 1.6; margin-top: 20px; }
.episode-neighbors { display: flex; gap: 32px; border-top: 1px solid var(--c-line); margin-top: 56px; padding-top: 24px; }
.episode-neighbors a { flex: 1; color: var(--c-text); text-decoration: none; line-height: 1.5; }
.episode-neighbors span { display: block; margin-bottom: 8px; color: var(--c-text-3); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
@media (max-width: 700px) {
 .episode-layout { grid-template-columns: minmax(0, 1fr); }
 .episode-cover { width: min(100%, 340px); margin: 0 auto; }
 .episode-cover__title { font-size: 72px; }
 .episode-player { padding: 16px; }
 .episode-neighbors { flex-direction: column; }
}

.episode-cover .podcast-artwork__type strong { font-size: clamp(48px, 7vw, 100px); }
.episode-cover .podcast-artwork__type > span { font-size: 13px; }
.episode-cover .podcast-artwork__symbol { width: 44px; height: 44px; right: 20px; bottom: 20px; }
.episode-access { padding: 28px; background: var(--c-text); color: var(--c-bg); border-radius: var(--r-sm); }
.episode-access > svg { color: var(--c-accent); }
.episode-access h2 { font-family: var(--f-display); font-weight: 400; font-size: 26px; margin: 16px 0; }
.episode-access p { line-height: 1.6; }
.episode-access > strong { display: block; font-size: 22px; margin: 22px 0; }
.episode-access > a { display: inline-flex; min-height: 44px; align-items: center; }
@media (max-width: 700px) { .episode-access > a { display: flex; justify-content: center; } }

@container club-layout (max-width:700px){
 .episode-layout { grid-template-columns: minmax(0, 1fr); }
 .episode-cover { width: min(100%, 340px); margin: 0 auto; }
 .episode-cover__title { font-size: 72px; }
 .episode-player { padding: 16px; }
 .episode-neighbors { flex-direction: column; }
}
@container club-layout (max-width:700px){ .episode-access > a { display: flex; justify-content: center; } }
.podcast-subscription { scroll-margin-top: 100px; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); border: 1px solid var(--c-line); border-radius: var(--r-lg); background: var(--c-bg-raised); box-shadow: var(--shadow-ambient); overflow: hidden; }
.podcast-subscription__intro, .podcast-subscription__steps { padding: clamp(22px, 3vw, 36px); }
.podcast-subscription__intro { background: var(--c-bg-sunken, var(--c-bg)); border-right: 1px solid var(--c-line); }
.podcast-subscription h2, .podcast-subscription h3 { margin: 0; font-family: var(--f-display); font-weight: 400; line-height: 1.2; }
.podcast-subscription h2 { font-size: clamp(26px, 3vw, 36px); }
.podcast-subscription h3 { font-size: 24px; }
.podcast-subscription p { color: var(--c-text-2); line-height: 1.6; overflow-wrap: anywhere; }
.podcast-subscription__price { display: block; margin-top: 24px; color: var(--c-accent-text); font-size: 28px; font-variant-numeric: tabular-nums; }
.podcast-subscription__price span { color: var(--c-text-3); font-size: 16px; font-weight: 400; }
.podcast-subscription__steps > a, .podcast-subscription__steps > button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin: 6px 10px 0 0; max-width: 100%; text-align: center; }
.podcast-subscription button:disabled { cursor: wait; opacity: .65; }
.podcast-subscription [role="alert"] { color: var(--c-danger-text); }
@media (max-width: 700px) { .podcast-subscription { grid-template-columns: minmax(0, 1fr); } .podcast-subscription__intro { border-right: 0; border-bottom: 1px solid var(--c-line); } }

@container club-layout (max-width:700px){ .podcast-subscription { grid-template-columns: minmax(0, 1fr); } .podcast-subscription__intro { border-right: 0; border-bottom: 1px solid var(--c-line); } }
.club-program-mast {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  align-items: center;
  min-height: clamp(360px, 48vh, 520px);
  background: radial-gradient(55% 70% at 28% 50%, rgb(236 90 19 / 0.18), transparent 70%), var(--p-ink);
}
.club-program-mast__art {
  display: flex; align-items: center; justify-content: center;
  padding: clamp(32px, 4vw, 56px) clamp(24px, 4vw, 56px);
  padding-left: max(clamp(24px, 4vw, 56px), calc((100vw - var(--container)) / 2 + 28px));
}
.club-program-mast__art picture, .club-program-mast__art img {
  display: block; width: 100%; max-width: 560px; aspect-ratio: 16 / 9; object-fit: cover;
  border-radius: var(--r-lg);
  box-shadow: 0 40px 90px -30px rgb(236 90 19 / 0.5), var(--shadow-ambient-lift);
}
.club-program-mast__copy {
  display: flex; flex-direction: column; justify-content: center;
  padding: clamp(40px, 6vw, 88px) clamp(28px, 5vw, 80px);
  padding-right: max(clamp(28px, 5vw, 80px), calc((100vw - var(--container)) / 2 + 28px));
}
.club-program-mast h1 {
  margin: 0; font-family: var(--f-display); font-weight: 400; letter-spacing: var(--tr-display);
  font-size: clamp(30px, 3.4vw, 50px); line-height: 1.08; text-wrap: balance; max-width: 20ch;
}
.club-program-mast__tagline { margin: 20px 0 0; max-width: 46ch; font-size: var(--t-lead); line-height: 1.5; color: var(--c-text-2); }
.club-program-mast__meta { margin: 22px 0 0; font-size: var(--t-caps); font-weight: 600; letter-spacing: var(--tr-caps); text-transform: uppercase; color: var(--c-text-3); }
.club-program-mast + * { padding-top: clamp(24px, 3vw, 40px) !important; }

.club-program-blank {
  padding: 24px;
  border: 1px solid var(--c-line);
  border-radius: var(--r-lg);
  background: linear-gradient(180deg, var(--c-bg-raised) 0%, color-mix(in srgb, var(--c-bg-sunken) 60%, var(--c-bg-raised)) 100%);
  box-shadow: var(--shadow-ambient), inset 0 1px 0 rgb(255 255 255 / 0.8);
}

@media (prefers-reduced-motion: no-preference) {
  .club-program-mast__art img, .club-program-mast__art picture { transition: transform 900ms var(--ease-spring), box-shadow 900ms var(--ease-spring); }
}
@media (max-width: 900px) {
  .club-program-mast { grid-template-columns: 1fr; min-height: 0; }
  .club-program-mast__art { padding: 28px 24px 0; }
  .club-program-mast__copy { padding: 28px 24px 44px; }
}
@media (max-width: 480px) {
  .club-program-mast__art { padding: 20px 16px 0; }
  .club-program-mast__copy { padding: 24px 16px 40px; }
}

@container club-layout (max-width:900px){
  .club-program-mast { grid-template-columns: 1fr; min-height: 0; }
  .club-program-mast__art { padding: 28px 24px 0; }
  .club-program-mast__copy { padding: 28px 24px 44px; }
}
@container club-layout (max-width:480px){
  .club-program-mast__art { padding: 20px 16px 0; }
  .club-program-mast__copy { padding: 24px 16px 40px; }
}
.reading-page { max-width: var(--container); margin: 0 auto; padding: 40px var(--page-gutter) 64px; }
.reading-page h1 { font: 400 var(--t-h1-page)/1.15 var(--f-display); margin: 0 0 16px; }
.reading-page > p { color: var(--c-text-2); }
.reading-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 16px; border: 1px solid var(--c-line-control); border-radius: var(--r-sm); color: var(--c-text); background: var(--c-bg); font: 600 14px var(--f-body); cursor: pointer; }
.reading-button[aria-pressed=true] { background: var(--c-bg-inverse); color: var(--c-text-inverse); }
.reading-save { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 16px 0; }
.reading-save span { font-size: 14px; }
.reading-filters { display: grid; grid-template-columns: minmax(0,2fr) minmax(160px,1fr); gap: 16px; padding: 24px 0; }
.reading-filters label { display: grid; gap: 8px; font-size: 14px; }
.reading-filters input,.reading-filters select { min-width: 0; width: 100%; min-height: 48px; border: 1px solid var(--c-line-control); border-radius: var(--r-sm); padding: 12px; font: 16px var(--f-body); color: var(--c-text); background: var(--c-bg); }
.reading-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 0; border-top: 1px solid var(--c-line); }
.reading-row > div { min-width: 0; }.reading-row span { font-size: 13px; color: var(--c-text-3); }
.reading-row h2 { font: 600 19px/1.4 var(--f-body); margin: 8px 0; overflow-wrap: anywhere; }
.reading-row a { color: var(--c-text); text-decoration: none; }.reading-row a:hover { text-decoration: underline; }
.reading-empty { padding: 32px 0; }.reading-empty h2 { font: 400 28px var(--f-display); }
.reading-cabinet { margin: 24px 0; padding: 20px 0; border-block: 1px solid var(--c-line); }
.reading-cabinet h2 { font: 400 26px var(--f-display); margin: 0 0 14px; }
.reading-cabinet ul { padding: 0; list-style: none; }.reading-cabinet li { padding: 12px 0; }
@media(max-width:600px) { .reading-filters { grid-template-columns: 1fr; }.reading-row { align-items: start; flex-direction: column; gap: 8px; } }

.reading-meta { display: block; color: var(--c-text-3); font-size: 13px; margin-bottom: 4px; }.reading-resume { display: inline-block; color: var(--c-text); font-size: 17px; line-height: 1.5; overflow-wrap: anywhere; }

@container club-layout (max-width:600px){ .reading-filters { grid-template-columns: 1fr; }.reading-row { align-items: start; flex-direction: column; gap: 8px; } }
.club-caps {
  font-family: var(--f-body);
  font-size: var(--t-caps);
  font-weight: 600;
  letter-spacing: var(--tr-caps);
  text-transform: uppercase;
}

.club-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: color-mix(in srgb, var(--c-bg) 94%, transparent);
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  border-bottom: 1px solid color-mix(in srgb, var(--c-text) 8%, transparent);
}
@supports (animation-timeline: scroll()) {
  @media (prefers-reduced-motion: no-preference) {
    .club-header { animation: club-header-edge linear both; animation-timeline: scroll(root); animation-range: 0 120px; }
    @keyframes club-header-edge { to { box-shadow: 0 10px 30px -18px rgb(20 24 31 / 0.35); border-bottom-color: color-mix(in srgb, var(--c-text) 14%, transparent); } }
  }
}
@media (prefers-reduced-transparency: reduce) {
  .club-header { background: var(--c-bg); backdrop-filter: none; -webkit-backdrop-filter: none; }
}
.club-header__inner {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 28px;
  height: 64px;
  display: flex;
  align-items: center;
  gap: 20px;
}
.club-header__brand {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: inherit;
  flex: none;
}
.club-header__lockup {
  font-family: var(--f-head);
  font-weight: 700;
  font-size: 15px;
  line-height: 1.1;
  letter-spacing: -0.01em;
}
.club-header__lockup small {
  display: block;
  margin-top: 3px;
  font-size: var(--t-micro);
  font-weight: 400;
  color: var(--c-text-3);
}
.cabinet-header { background: var(--c-bg); backdrop-filter: none; -webkit-backdrop-filter: none; }

.cabinet-header__tools { margin-left: auto; display: flex; align-items: center; gap: 6px; }
@media (max-width: 700px) {
  .cabinet-header .club-header__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    height: auto;
    padding: 8px 16px;
    gap: 4px 8px;
  }
  .cabinet-header .club-header__brand { grid-area: 1 / 1; min-width: 0; min-height: 44px; }
  .cabinet-header .cabinet-header__tabs { grid-area: 2 / 1; margin-left: 0; }
  .cabinet-header__tools { display: contents; }
  .cabinet-header__tools > .club-chrome-icon-btn { grid-area: 1 / 2; justify-self: end; }
  .cabinet-header__logout { grid-area: 2 / 2; justify-self: end; }
}
.club-header__nav {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
}
.club-header__link {
  color: var(--c-text-2);
  text-decoration: none;
  padding: 10px 12px;
  border-radius: var(--r-sm);
  white-space: nowrap;
}
.club-header__link:hover,
.club-header__link[aria-current="page"] {
  color: var(--c-text);
}
.club-header__link[aria-current="page"] {
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-thickness: 1px;
}
.club-header__tools {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: 12px;
}
.club-header__tools .club-chrome-icon-btn {
  border-color: transparent;
}
.club-header__tools .club-chrome-icon-btn:hover {
  color: var(--c-text);
}
.club-header__cart {
  position: relative;
  text-decoration: none;
}
.club-header__count {
  position: absolute;
  top: 2px;
  right: 0;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--c-accent);
  color: var(--c-on-accent);
  font-family: var(--f-data);
  font-size: 10px;
  font-weight: 700;
  line-height: 16px;
  text-align: center;
}
.club-header__cta {
  margin-left: 8px;
}
.club-header__burger {
  margin-left: auto;
  width: 44px;
  height: 44px;
  border: 1px solid var(--c-line-control);
  border-radius: var(--r-sm);
  background: transparent;
  color: var(--c-text);
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
}

.club-menu {
  display: none;
  flex-direction: column;
  border-top: 1px solid var(--c-line);
  padding: 8px 20px 20px;
  max-height: calc(100dvh - 64px - var(--tabs-h, 0px) - var(--cookie-h, 0px));
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--c-bg);
}
.club-menu[data-open="true"] { display: flex; }
.club-menu a,
.club-menu button {
  text-decoration: none;
  color: var(--c-text);
  padding: 14px 4px;
  border-bottom: 1px solid var(--c-line);
  background: none;
  border-top: 0;
  border-left: 0;
  border-right: 0;
  text-align: left;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.club-menu__tools {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
}
.club-menu__tools .club-chrome-icon-btn { padding: 0; border: 1px solid var(--c-line-control); }
.club-menu__cta {
  margin-top: 14px;
  border-bottom: 0 !important;
  justify-content: center !important;
}

html.pwa-shell .club-header__nav { display: none; }
html.pwa-shell .club-header__burger { display: inline-flex; }
html.pwa-shell .club-header__inner { padding-inline: 16px; }

@media (max-width: 1280px) {
  .club-header__nav { display: none; }
  .club-header__burger { display: inline-flex; }
}
@media (max-width: 480px) {
  .club-header__inner { padding: 0 16px; }
  .club-menu { padding: 8px 16px 20px; }
}
@media (prefers-reduced-motion: no-preference) {
  .club-menu[data-open="true"] { animation: club-menu-open 220ms cubic-bezier(.16, 1, .3, 1); }
}

.club-search {
  background: var(--c-bg);
  color: var(--c-text);
  border-radius: var(--r-lg);
  padding: 20px 22px 8px;
}
.club-search__form label { display: block; color: var(--c-text-3); margin-bottom: 10px; }
.club-search__row { display: flex; gap: 8px; align-items: center; }
.club-search__input {
  flex: 1;
  min-width: 0;
  height: 48px;
  padding: 0 14px;
  font: inherit;
  font-size: 16px;
  color: var(--c-text);
  background: var(--c-bg);
  border: 1px solid var(--c-line-control);
  border-radius: var(--r-sm);
}
.club-search__input:focus { outline: 3px solid var(--c-accent); outline-offset: 2px; }
.club-search__results { margin-top: 8px; }
.club-search__results section { padding: 14px 0 6px; border-top: 1px solid var(--c-line); }
.club-search__results h2 { margin: 0 0 6px; color: var(--c-text-3); }
.club-search__results ul { list-style: none; margin: 0; padding: 0; }
.club-search__hint { margin: 8px 0 14px; color: var(--c-text-2); line-height: 1.5; }
.club-search__hint a { color: var(--c-link); }
.club-search__item {
  display: grid;
  gap: 2px;
  padding: 10px 4px;
  color: inherit;
  text-decoration: none;
  border-radius: var(--r-sm);
}
.club-search__item strong { font-weight: 600; line-height: 1.3; }
.club-search__item span { font-size: var(--t-caption); color: var(--c-text-3); }
.club-search__item:hover { background: var(--c-bg-sunken); }

.club-footer {
  margin-top: var(--rh-section);
  padding: 56px 28px 40px;
  padding-bottom: calc(40px + var(--cookie-h, 0px));
}
.club-footer__inner {
  max-width: var(--container);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 32px 40px;
}
.club-footer__brand { display: flex; align-items: flex-start; gap: 14px; }
.club-footer__brand strong { display: block; font-family: var(--f-display); font-weight: 400; font-size: 24px; line-height: 1.15; }
.club-footer__brand p { margin: 10px 0 0; max-width: 40ch; color: var(--c-text-2); line-height: 1.5; font-size: var(--t-small); }
.club-footer h2 { margin: 0 0 12px; color: var(--c-text-3); }
.club-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.club-footer a, .club-footer button {
  color: var(--c-text);
  text-decoration: none;
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  cursor: pointer;
  text-align: left;
}
.club-footer a:hover, .club-footer button:hover { text-decoration: underline; text-underline-offset: 4px; }
.club-footer__legal {
  grid-column: 1 / -1;
  margin-top: 16px;
  padding-top: 20px;
  border-top: 1px solid var(--c-line);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px 24px;
  font-size: var(--t-caption);
  color: var(--c-text-3);
  line-height: 1.5;
}
.club-footer__legal p { margin: 0; max-width: 72ch; }
@media (max-width: 860px) {
  .club-footer__inner { grid-template-columns: 1fr 1fr; }
  .club-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .club-footer { padding: 44px 16px 32px; padding-bottom: calc(32px + var(--cookie-h, 0px)); }
  .club-footer__inner { grid-template-columns: 1fr; }
}

.club-masthead {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: clamp(380px, 52vh, 560px);
}
.club-masthead__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(40px, 6vw, 88px) clamp(28px, 5vw, 80px);
  padding-left: max(clamp(28px, 5vw, 80px), calc((100vw - var(--container)) / 2 + 28px));
}
.club-masthead__photo { position: relative; background: var(--c-bg-sunken); }
.club-masthead__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; display: block; }
.club-masthead + * { margin-top: clamp(32px, 4vw, 56px); }
@media (max-width: 900px) {
  .club-masthead { grid-template-columns: 1fr; min-height: 0; }
  .club-masthead__photo { aspect-ratio: 3 / 2; }
  .club-masthead__copy { padding: 44px 24px; order: 1; }
}
@media (max-width: 480px) {
  .club-masthead__copy { padding: 36px 16px; }
}

.club-masthead--photo-left .club-masthead__photo { order: -1; }
.club-masthead--photo-left .club-masthead__copy {
  padding-left: clamp(28px, 5vw, 80px);
  padding-right: max(clamp(28px, 5vw, 80px), calc((100vw - var(--container)) / 2 + 28px));
}
@media (max-width: 900px) { .club-masthead--photo-left .club-masthead__photo { order: 0; } }

@media (prefers-reduced-motion: no-preference) {
  .reveal-armed [data-reveal] {
    opacity: 0.6;
    transform: translateY(18px);
    transition: opacity 820ms var(--ease-out), transform 820ms var(--ease-out);
  }
  .reveal-armed [data-reveal].is-in { opacity: 1; transform: none; }
  @view-transition { navigation: auto; }
  .club-header { view-transition-name: club-header; }
  .mobile-tabs { view-transition-name: club-tabs; }
  ::view-transition-old(root) { animation: 220ms var(--ease-out) both club-vt-out; }
  ::view-transition-new(root) { animation: 380ms var(--ease-out) both club-vt-in; }
  @keyframes club-vt-out { to { opacity: 0; } }
  @keyframes club-vt-in { from { opacity: 0; transform: translateY(12px); } }
  .club-header__link, .club-chrome-icon-btn, .club-footer a { transition: color 200ms var(--ease-out); }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .club-masthead__photo img { transition: transform 1400ms var(--ease-out); }
}
.club-masthead__photo::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(90deg, var(--p-ink) 0%, rgb(20 24 31 / 0.45) 10%, transparent 30%);
}
.club-masthead--photo-left .club-masthead__photo::before {
  background: linear-gradient(270deg, var(--p-ink) 0%, rgb(20 24 31 / 0.45) 10%, transparent 30%);
}
@media (max-width: 900px) {
  .club-masthead__photo::before, .club-masthead--photo-left .club-masthead__photo::before { background: linear-gradient(0deg, var(--p-ink) 0%, transparent 28%); }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .club-masthead__photo { will-change: auto; }
}

.club-auth { display: flex; flex-direction: column; align-items: center; padding: var(--rh-head-top) 20px 40px; }
.club-auth__card { display: flex; flex-direction: column; align-items: center; width: 100%; }
.club-auth--split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 0; padding: 0; align-items: stretch; }
.club-auth--split .club-auth__card { padding: clamp(32px, 5vw, 72px) 20px 40px; justify-content: center; }
.club-auth__aside { position: sticky; top: 64px; align-self: start; height: calc(100vh - 64px); min-height: 560px; overflow: hidden; }
.club-auth__aside img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 78%; opacity: 0.42; display: block; }
.club-auth__aside::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(20 24 31 / 0.55) 0%, rgb(20 24 31 / 0.35) 40%, rgb(20 24 31 / 0.88) 100%), radial-gradient(50% 40% at 20% 100%, rgb(236 90 19 / 0.28), transparent 70%); }
.club-auth__aside-copy { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; height: 100%; padding: clamp(40px, 6vw, 88px) clamp(28px, 5vw, 72px); padding-left: max(clamp(28px, 5vw, 72px), calc((100vw - var(--container)) / 2 + 28px)); }
.club-auth__aside h2 { margin: 0; font-family: var(--f-display); font-weight: 400; font-size: clamp(30px, 3.2vw, 46px); line-height: 1.08; letter-spacing: var(--tr-display); max-width: 16ch; }
.club-auth__aside h2 em { font-style: italic; color: var(--c-accent); }
.club-auth__aside ol { list-style: none; margin: 32px 0 0; padding: 0; counter-reset: step; max-width: 44ch; }
.club-auth__aside li { counter-increment: step; display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 4px 16px; padding: 16px 0; border-top: 1px solid var(--c-line); }
.club-auth__aside li::before { content: counter(step); grid-row: 1 / span 2; font-family: var(--f-display); font-size: 30px; line-height: 1; color: var(--c-accent); }
.club-auth__aside li strong { grid-column: 2; font-weight: 600; }
.club-auth__aside li span { grid-column: 2; color: var(--c-text-2); font-size: var(--t-small); line-height: 1.5; }
@media (max-width: 900px) {
  .club-auth--split { grid-template-columns: 1fr; }
  .club-auth__aside { position: relative; top: auto; height: auto; min-height: 0; }
  .club-auth__aside-copy { padding: 40px 24px; }
  .club-auth__aside img { position: absolute; }
}

.club-auth__aside--photo { position: relative; top: auto; height: auto; min-height: 0; }
.club-auth__aside--photo::after { display: none; }
.club-auth__aside--photo img { position: static; height: auto; aspect-ratio: 3 / 2; opacity: 1; }
.club-auth__aside--photo .club-auth__aside-copy { height: auto; padding-top: 40px; padding-bottom: 40px; }

.club-header__emblem { display: block; flex: none; width: 36px; height: 36px; object-fit: contain; border-radius: 4px; }
.club-footer__emblem { display: block; flex: none; width: 48px; height: 48px; object-fit: contain; border-radius: 4px; }

.club-masthead__photo { overflow: hidden; isolation: isolate; }

.club-menu a[aria-current="page"] { color: var(--c-accent-text); background: var(--c-bg-sunken); padding-inline: 12px; border-radius: var(--r-sm); }
.club-menu a, .club-menu button { min-height: 44px; }
.club-header__brand { flex-shrink: 0; }
.club-footer li a, .club-footer li button { display: inline-flex; align-items: center; min-height: 44px; }
.club-footer ul { gap: 0; }
.club-search__shortcuts { display: flex; flex-wrap: wrap; gap: 8px; padding-block: 8px 20px; }
.club-search__shortcuts a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 12px; border: 1px solid var(--c-line-control); border-radius: var(--r-sm); color: var(--c-text); text-decoration: none; }
.club-search__shortcuts a:hover { background: var(--c-bg-sunken); }
@media (max-width: 600px) {
  .club-search { padding: 16px 16px 8px; }
  .club-masthead__photo { aspect-ratio: auto; height: 200px; }
}

@media (max-width: 600px) { .club-masthead--photo-left .club-masthead__copy { padding-inline: var(--page-gutter); } }

@container club-layout (max-width:700px){
  .cabinet-header .club-header__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    height: auto;
    padding: 8px 16px;
    gap: 4px 8px;
  }
  .cabinet-header .club-header__brand { grid-area: 1 / 1; min-width: 0; min-height: 44px; }
  .cabinet-header .cabinet-header__tabs { grid-area: 2 / 1; margin-left: 0; }
  .cabinet-header__tools { display: contents; }
  .cabinet-header__tools > .club-chrome-icon-btn { grid-area: 1 / 2; justify-self: end; }
  .cabinet-header__logout { grid-area: 2 / 2; justify-self: end; }
}
@container club-layout (max-width:1280px){
  .club-header__nav { display: none; }
  .club-header__burger { display: inline-flex; }
}
@container club-layout (max-width:480px){
  .club-header__inner { padding: 0 16px; }
  .club-menu { padding: 8px 16px 20px; }
}
@container club-layout (max-width:860px){
  .club-footer__inner { grid-template-columns: 1fr 1fr; }
  .club-footer__brand { grid-column: 1 / -1; }
}
@container club-layout (max-width:480px){
  .club-footer { padding: 44px 16px 32px; padding-bottom: calc(32px + var(--cookie-h, 0px)); }
  .club-footer__inner { grid-template-columns: 1fr; }
}
@container club-layout (max-width:900px){
  .club-masthead { grid-template-columns: 1fr; min-height: 0; }
  .club-masthead__photo { aspect-ratio: 3 / 2; }
  .club-masthead__copy { padding: 44px 24px; order: 1; }
}
@container club-layout (max-width:480px){
  .club-masthead__copy { padding: 36px 16px; }
}
@container club-layout (max-width:900px){ .club-masthead--photo-left .club-masthead__photo { order: 0; } }
@container club-layout (max-width:900px){
  .club-masthead__photo::before, .club-masthead--photo-left .club-masthead__photo::before { background: linear-gradient(0deg, var(--p-ink) 0%, transparent 28%); }
}
@container club-layout (max-width:900px){
  .club-auth--split { grid-template-columns: 1fr; }
  .club-auth__aside { position: relative; top: auto; height: auto; min-height: 0; }
  .club-auth__aside-copy { padding: 40px 24px; }
  .club-auth__aside img { position: absolute; }
}
@container club-layout (max-width:600px){
  .club-search { padding: 16px 16px 8px; }
  .club-masthead__photo { aspect-ratio: auto; height: 200px; }
}
@container club-layout (max-width:600px){ .club-masthead--photo-left .club-masthead__copy { padding-inline: var(--page-gutter); } }
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--f-body);font-size:16px;line-height:1.55;color:var(--c-text);background:var(--c-bg)}
[hidden]{display:none!important}
a{color:var(--c-link);text-underline-offset:3px}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;min-height:44px;padding:10px 18px;background:var(--c-bg);border:1px solid var(--c-line-control);border-radius:var(--r-sm)}
button:disabled{cursor:default;opacity:.5}
input:not([type=checkbox]):not([type=hidden]):not([type=file]),select,textarea{max-width:100%;min-height:44px;width:100%;padding:11px 13px;border:1px solid var(--c-line-control);border-radius:var(--r-md);background:var(--c-bg)}
textarea{min-height:120px;resize:vertical}
h1{font-family:var(--f-display);font-size:var(--t-h1-page);font-weight:400;line-height:1.12;overflow-wrap:anywhere}
h2{font-family:var(--f-display);font-size:var(--t-h3);font-weight:400;line-height:1.25}
h3{font-size:20px;line-height:1.3}
img{max-width:100%;height:auto}
fieldset{border:1px solid var(--c-line);padding:16px;margin:20px 0}
section{scroll-margin-top:100px}
details{padding:14px 0;border-top:1px solid var(--c-line)}
summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600}
dt{color:var(--c-text-3)}
dd{margin:0 0 16px;overflow-wrap:anywhere}
pre{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}
:focus-visible{outline:3px solid var(--c-accent);outline-offset:3px}
.site-container{max-width:1280px;padding:0 28px 64px;margin:0 auto}
.site-article{max-width:820px;padding:48px 28px 64px;margin:0 auto}
.site-masthead{padding:48px 0 30px;max-width:900px}
.site-masthead h1{margin:0 0 20px}
.site-masthead p,.site-lead{font-size:var(--t-lead);color:var(--c-text-2)}
.site-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:end;padding:20px 0;border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line)}
.site-filters label{flex:1 1 170px;max-width:380px}
.site-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:32px 0}
.site-catalog-card{border-top:1px solid var(--c-line);overflow:hidden;min-width:0}
.site-catalog-card>div{padding:20px 0}
.site-catalog-card :is(h2,h3){font-size:24px;margin:14px 0}
.site-catalog-card :is(h2,h3) a{color:var(--c-text);text-decoration:none}
.site-price{font-size:24px;font-variant-numeric:tabular-nums}
.site-two-col{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:36px;align-items:start}
.site-panel{padding:24px;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-bg-raised);margin-bottom:20px;min-width:0}
.site-panel h2{margin-top:0}
.site-field{display:block;margin:16px 0}
.site-field input,.site-field textarea,.site-field select{display:block;margin-top:7px}
.site-checkbox{display:inline-flex;gap:8px;align-items:center;padding:8px;font-size:14px}
.site-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:18px 0}
.site-primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:13px 20px;background:var(--c-accent);color:var(--c-on-accent);border:1px solid var(--c-accent);border-radius:var(--r-sm);font-weight:600;text-decoration:none}
.site-danger{color:var(--c-danger-text);border-color:var(--c-danger-text)}
.site-empty{padding:30px 0;color:var(--c-text-3)}
.site-consent{display:block;margin:20px 0}
.site-honeypot{position:absolute;left:-9999px;width:1px!important;height:1px;opacity:0}
.site-prose{white-space:pre-line;line-height:1.75;overflow-wrap:anywhere}
.site-editorial-list article{padding:24px 0;border-top:1px solid var(--c-line)}
.site-editorial-list time,.site-article>time{color:var(--c-text-3);font-size:14px}
.site-event{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:28px;padding:28px 0;border-top:1px solid var(--c-line)}
.site-cover{width:100%;object-fit:cover;border-radius:var(--r-md)}
.site-gallery{display:grid;gap:18px}
.site-cart-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:22px 0;border-top:1px solid var(--c-line)}
.site-cart-row>div{flex:1 1 240px}
.site-cart-row form{display:flex;gap:12px;align-items:end}
.site-cart-row form input{width:100px!important}
.site-player audio{width:100%}
.site-video{width:100%;aspect-ratio:16/9;border:0}
.site-avatar{object-fit:cover;border-radius:12px;width:120px;height:120px}
.site-reading-item{display:block;padding:18px 0;border-top:1px solid var(--c-line)}
.site-errors{padding:16px 28px;background:var(--c-bg-sunken);color:var(--c-danger-text)}
.site-admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
.site-admin-form button,.site-admin-form [data-error]{grid-column:1/-1}
.site-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}
.site-metrics article{padding:20px;border:1px solid var(--c-line);border-radius:var(--r-md)}
.site-metrics strong{display:block;font-size:30px}
.site-metrics span{font-size:14px;color:var(--c-text-3)}
.site-health[data-status=error]{color:var(--c-danger-text)}
.site-health[data-status=ok]{color:var(--c-ok-text)}
.site-chart p{display:grid;grid-template-columns:120px 1fr 40px;gap:12px;align-items:center}
.site-chart meter{width:100%}
.site-audit{border-top:1px solid var(--c-line);padding:16px 0}
.mobile-tabs{display:none}
#toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:14px 20px;z-index:1000;background:var(--c-bg-inverse);color:var(--c-text-inverse);border-radius:var(--r-md)}
#site-dialog{max-width:900px;width:calc(100% - 32px);max-height:90dvh;border:1px solid var(--c-line-control);border-radius:var(--r-lg);padding:24px}
#site-dialog::backdrop{background:rgb(0 0 0/.55)}
.offline-notice{padding:12px 20px;background:var(--c-bg-sunken);text-align:center}
.offline-notice button{margin:8px 0 0 12px;min-height:44px}
.legal h2{margin-top:32px}
.legal ul,.legal ol{padding-left:24px}
@media(max-width:1000px){.site-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.site-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.site-two-col{grid-template-columns:1fr}}
@media(max-width:640px){.site-container{padding:0 16px 100px}.site-article{padding:32px 16px 100px}.site-masthead{padding:32px 0 20px}.site-catalog{grid-template-columns:1fr;gap:16px}.site-event{grid-template-columns:1fr}.site-admin-form{grid-template-columns:1fr}.site-panel{padding:18px}.mobile-tabs{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:120;justify-content:space-around;border-top:1px solid var(--c-line);padding:8px 4px calc(8px + env(safe-area-inset-bottom));background:var(--c-bg)}.mobile-tabs a{min-height:44px;display:flex;align-items:center;text-decoration:none;font-size:13px;color:var(--c-text)}.site-chart p{grid-template-columns:90px 1fr 25px;font-size:13px}}

#install-app{position:fixed;right:20px;bottom:calc(16px + var(--tabs-h,0px) + var(--cookie-h,0px));z-index:300;max-width:calc(100% - 40px)}

.club-header__cta{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;min-height:44px;background:var(--c-accent);color:var(--c-on-accent);border:1px solid var(--c-accent);border-radius:var(--r-sm);font-size:var(--t-caps);font-weight:600;text-decoration:none}.club-chrome-icon-btn{color:inherit;text-decoration:none}.club-footer a{color:inherit}

#site-stage { width:100%; container-type:inline-size; container-name:club-layout; }
html.pwa-shell #site-shell { display:flex; justify-content:center; background:#1c1916; min-height:100dvh; }
html.pwa-shell #site-stage { max-width:430px; background:var(--c-bg); overflow-x:clip; }
html.pwa-shell .club-header__nav,html.telegram-mini .club-header__nav { display:none; }
html.pwa-shell .club-header__burger,html.telegram-mini .club-header__burger { display:inline-flex; }
html.pwa-shell .club-footer,html.telegram-mini .club-footer { display:none; }
html.pwa-shell .mobile-tabs,html.telegram-mini .mobile-tabs { display:flex; position:fixed; left:max(0px,calc(50% - 215px)); right:max(0px,calc(50% - 215px)); bottom:0; z-index:120; justify-content:space-around; border-top:1px solid var(--c-line); padding:8px 4px calc(8px + max(env(safe-area-inset-bottom),var(--mini-bottom,0px))); background:var(--c-bg); }
html.telegram-mini:not(.pwa-shell) .mobile-tabs { left:0; right:0; }
html.pwa-shell .mobile-tabs a,html.telegram-mini .mobile-tabs a { min-height:44px; display:flex; align-items:center; text-decoration:none; font-size:13px; color:var(--c-text); }
html.pwa-shell .club-header__inner { padding-inline:16px; }
.site-calendar { margin:24px 0; overflow:hidden; }
.site-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); border:1px solid var(--c-line); }
.site-calendar-grid>div { min-height:64px; padding:6px; border:1px solid var(--c-line); min-width:0; }
.site-calendar-grid a { display:block; font-size:12px; overflow-wrap:anywhere; }
.site-calendar-grid>strong { padding:8px; background:var(--c-bg-sunken); }


.site-card-media { display: block; position: relative; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--r-lg); background: var(--c-bg-sunken); }
.site-card-media--product { aspect-ratio: 1; }
.site-card-media img { display: block; position: absolute; inset: 0; margin: auto; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.site-program-cover { display: block; width: auto; height: auto; max-width: 100%; margin-inline: auto; object-fit: contain; }
.site-teacher-photo { display: block; width: auto; height: auto; max-width: min(100%, 200px); max-height: 240px; border-radius: var(--r-md); }
.site-product-photo { display: grid; place-items: center; padding: 24px; min-height: 320px; border-radius: var(--r-lg); background: var(--c-bg-sunken); }
.site-product-photo img { display: block; width: auto; height: auto; max-width: 100%; max-height: 640px; object-fit: contain; }

@container club-layout (max-width:1000px){.site-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.site-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container club-layout (max-width:900px){.site-two-col{grid-template-columns:1fr}}
@container club-layout (max-width:640px){.site-container{padding:0 16px 100px}.site-article{padding:32px 16px 100px}.site-masthead{padding:32px 0 20px}.site-catalog{grid-template-columns:1fr;gap:16px}.site-event{grid-template-columns:1fr}.site-admin-form{grid-template-columns:1fr}.site-panel{padding:18px}.mobile-tabs{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:120;justify-content:space-around;border-top:1px solid var(--c-line);padding:8px 4px calc(8px + env(safe-area-inset-bottom));background:var(--c-bg)}.mobile-tabs a{min-height:44px;display:flex;align-items:center;text-decoration:none;font-size:13px;color:var(--c-text)}.site-chart p{grid-template-columns:90px 1fr 25px;font-size:13px}}
.club-skeleton { display: none; }
html[data-skeleton] #page { display: none; }
html[data-skeleton] .club-skeleton { display: block; }
.club-skeleton__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.club-skeleton__frame {
  display: grid; align-content: start; gap: 16px; box-sizing: border-box;
  max-width: 1200px; min-height: 100svh; margin: 0 auto;
  padding: clamp(32px, 6vw, 72px) clamp(16px, 4vw, 40px);
}
.club-skeleton__bone { display: block; border-radius: 12px; background: var(--lux-raised, #161617); }
.club-skeleton__title { width: min(60%, 520px); height: clamp(36px, 5vw, 56px); }
.club-skeleton__lead { width: min(85%, 640px); height: 18px; margin-bottom: 16px; }
.club-skeleton__media, .club-skeleton__text { display: none; }
.club-skeleton__media { aspect-ratio: 16 / 9; }
.club-skeleton__text { height: 14px; }
.club-skeleton__text:last-child { width: 60%; }
.club-skeleton__grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.club-skeleton__card { aspect-ratio: 4 / 3; }
html[data-skeleton="article"] .club-skeleton__frame { max-width: 760px; }
html[data-skeleton="article"] .club-skeleton__media, html[data-skeleton="article"] .club-skeleton__text { display: block; }
html[data-skeleton="article"] .club-skeleton__grid { display: none; }
html[data-skeleton="panel"] .club-skeleton__grid { grid-template-columns: minmax(0, 1fr); }
html[data-skeleton="panel"] .club-skeleton__card { aspect-ratio: auto; height: 120px; }
@media (prefers-reduced-motion: no-preference) {
  .club-skeleton__bone { animation: club-skeleton-pulse 1.4s ease-in-out infinite; }
}
@keyframes club-skeleton-pulse { 50% { opacity: .5; } }


html.telegram-mini { --mini-top: 0px; --mini-bottom: 0px; }
.telegram-mini body { padding-top: var(--mini-top); }
.telegram-mini .mob-only { display: flex !important; }
.telegram-mini .club-footer { display: none; }
.telegram-mini .club-header__nav { display: none; }
.telegram-mini .club-header__burger { display: inline-flex; }
.telegram-mini .club-header__inner { padding-inline: 16px; }
.telegram-mini .club-tab-bar { padding-bottom: calc(12px + max(env(safe-area-inset-bottom, 0px), var(--mini-bottom))) !important; }
.telegram-mini .club-dpo-masthead__media, .telegram-mini .club-masthead__photo { display: none; }
.telegram-mini .club-dpo-masthead, .telegram-mini .club-masthead { display: block; min-height: 0; }
.telegram-mini .club-dpo-masthead__inner, .telegram-mini .club-masthead__copy { padding: 28px 20px; }
.telegram-mini .club-masthead h1, .telegram-mini .club-dpo-masthead h1 { font-size: 30px !important; }
.mini-preview { padding: 8px 16px; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; background: var(--c-bg-sunken); font-size: 11px; color: var(--c-text-2); }
.mini-preview button { background: none; border: 0; font: inherit; text-decoration: underline; color: inherit; cursor: pointer; }
.mini-home { max-width: 680px; margin-inline: auto; padding: 24px 20px 32px; }
 .mini-welcome { margin-bottom: 22px; }
.mini-welcome h1 { font: 400 35px/1.12 var(--f-display); margin: 0; letter-spacing: -.025em; overflow-wrap: anywhere; }
.mini-welcome h1 em { font-style: normal; color: var(--c-accent-text); }
.mini-welcome > p:last-child { font-size: 13px; line-height: 1.5; color: var(--c-text-2); margin: 12px 0 0; }
.mini-agenda { border: 1px solid var(--c-line); border-radius: 12px; overflow: hidden; margin-bottom: 16px; }
.mini-agenda > img { display: block; width: 100%; height: auto; }
.mini-agenda__link { padding: 16px; display: flex; align-items: center; gap: 16px; color: inherit; text-decoration: none; }
.mini-agenda__body { display: grid; gap: 7px; min-width: 0; flex: 1; }
.mini-agenda strong { font: 400 23px/1.2 var(--f-display); overflow-wrap: anywhere; }
.mini-agenda__body > span:last-child { font-size: 12px; line-height: 1.5; color: var(--c-text-2); }
.mini-arrow { display: grid; place-items: center; flex: 0 0 36px; height: 36px; border-radius: 50%; background: var(--c-bg-sunken); color: var(--c-accent-text); font-size: 22px; }
.mini-membership { background: var(--p-ink); color: white; border-radius: 12px; padding: 18px; }
.mini-membership h2 { font: 400 25px/1.2 var(--f-display); margin: 0 0 6px; }
.mini-membership p { margin: 0 0 14px; font-size: 12px; line-height: 1.5; }
.mini-membership .club-btn { width: 100%; text-align: center; text-decoration: none; display: block; white-space: normal; }
.mini-membership small { display: block; margin-top: 10px; font-size: 10px; color: #d1d5db; line-height: 1.5; }
.mini-email { display: block; color: white; margin-top: 16px; text-align: center; }
.mini-membership .mini-error { color: #fecaca; margin-top: 14px; }
.mini-shortcuts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 20px; margin: 20px 0; }
.mini-shortcuts a { min-width: 0; padding: 16px 0; border-bottom: 1px solid var(--c-line); color: inherit; text-decoration: none; }
.mini-shortcuts h2 { display: flex; justify-content: space-between; gap: 6px; font-size: 15px; margin: 0 0 6px; overflow-wrap: anywhere; }
.mini-shortcuts h2 span { color: var(--c-accent-text); }
.mini-shortcuts p { font-size: 12px; line-height: 1.5; color: var(--c-text-2); margin: 0; }
@media (max-width: 359px) { .mini-home { padding-inline: 16px; } .mini-welcome h1 { font-size: 30px; } .mini-shortcuts { gap: 0 14px; } }
.mini-learning { border: 1px solid var(--c-line); border-radius: 12px; overflow: hidden; background: var(--c-bg-raised); }
.mini-learning > div { padding: 20px; }
.mini-learning h2 { font: 400 24px var(--f-display); margin: 0; }
.mini-learning p { font-size: 13px; color: var(--c-text-2); }
.mini-learning a { color: var(--c-accent-text); font-size: 14px; }
.mini-learning img { width: 100%; height: auto; display: block; }
.mini-shop { padding: 20px 0; display: flex; justify-content: space-between; gap: 16px; color: inherit; text-decoration: none; font-size: 14px; }
.mini-shop span { color: var(--c-accent-text); white-space: nowrap; }

.telegram-mini .club-dpo-masthead__inner { padding: 20px; }
.telegram-mini .club-dpo-masthead h1 { margin-top: 0; font-size: 26px !important; }
.telegram-mini .club-dpo-lead { font-size: 13px; margin-top: 10px; }
.telegram-mini .club-dpo-masthead + .club-dpo-body { padding: 18px 20px 32px; }
.telegram-mini .club-dpo-toolbar { gap: 8px; margin-bottom: 12px; }
.telegram-mini .club-dpo-toolbar__hint { font-size: 12px; }
.telegram-mini .club-dpo-vitrine .club-catalog-filters { display: grid; grid-template-columns: 1fr; padding: 12px 0; gap: 10px; }
.mini-catalog-options summary { cursor: pointer; min-height: 44px; display: list-item; align-content: center; font-size: 14px; color: var(--c-accent-text); }
.mini-catalog-options > div { display: grid; gap: 12px; padding-bottom: 12px; }
.telegram-mini .club-dpo-status { font-size: 12px; }

@container club-layout (max-width:359px){ .mini-home { padding-inline: 16px; } .mini-welcome h1 { font-size: 30px; } .mini-shortcuts { gap: 0 14px; } }
:root { --themis-ratio: 930 / 1360; }
.lux-themis { position: relative; display: block; aspect-ratio: var(--themis-ratio); }
.lux-themis__poster, .lux-themis__scene { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.lux-themis__scene { opacity: 0; pointer-events: none; }
.lux-themis.is-live .lux-themis__scene { opacity: 1; }
.lux-themis.is-live .lux-themis__poster { opacity: 0; }

@media (scripting: enabled) and (prefers-reduced-motion: no-preference) {
  .lux-themis { animation: lux-themis-in 900ms var(--ease-out) 140ms backwards; }
  .lux-themis__poster, .lux-themis__scene { transition: opacity 600ms var(--ease-out); }
}

@keyframes lux-themis-in { from { opacity: 0; transform: translateY(16px); } }


html.lux, html.lux .club-dark {
  color-scheme: dark;
  --p-ohra: #ea6806;
  --p-ohra-hover: #f47a1c;
  --lux-black: #000;
  --lux-raised: #161617;
  --lux-sunken: #0b0b0c;
  --lux-control: #262628;
  --lux-ink: #f5f5f7;
  --lux-ink-2: #d2d2d7;
  --lux-mute: #a1a1a6;
  --lux-quiet: #86868b;
  --lux-hairline: #424245;
  --lux-hover: #1d1d1f;
  --lux-header: 52px;
  --lux-form: 480px;
  --lux-section-size: clamp(26px, 2.6cqi, 34px);
  --lux-arrow: 44px;
  --c-bg: var(--lux-black);
  --c-bg-raised: var(--lux-raised);
  --c-bg-sunken: var(--lux-sunken);
  --c-bg-inverse: var(--lux-ink);
  --c-text: var(--lux-ink);
  --c-text-2: var(--lux-ink-2);
  --c-text-3: var(--lux-mute);
  --c-text-inverse: var(--lux-black);
  --c-accent: var(--p-ohra);
  --c-accent-text: #ff8c42;
  --c-anchor: var(--p-blue-light);
  --c-link: var(--p-blue-light);
  --c-status: var(--p-brass-light);
  --c-status-text: var(--p-brass-light);
  --c-ok-text: var(--p-green-light);
  --c-danger-text: var(--p-karmin-light);
  --c-line: rgb(255 255 255 / 0.12);
  --c-line-control: rgb(255 255 255 / 0.36);
  --c-line-strong: rgb(255 255 255 / 0.24);
  --c-on-accent: #111;
  --f-display: "HSE Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --t-h1-page: clamp(min(40px, 10cqi), 5cqi, 72px);
  --r-sm: 12px;
  --r-md: 12px;
  --r-lg: 20px;
  --r-tile: 28px;
  --shadow-ambient: none;
  --shadow-ambient-lift: none;
  --shadow-accent: none;
  --container: 1180px;
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  background: var(--c-bg);
}
html.lux { scroll-padding-top: calc(var(--lux-header) + 20px); }
html.lux body { background: var(--c-bg); color: var(--c-text); -webkit-font-smoothing: antialiased; }
html.lux h1 { font-weight: 200; letter-spacing: -0.035em; }
html.lux :is(h1, h2, h3) a:not(.lux-btn) { color: var(--c-text); text-decoration: underline 1px transparent; text-underline-offset: 5px; transition: text-decoration-color 160ms ease; }
html.lux :is(h2, h3) { letter-spacing: -0.02em; }
html.lux :is(h1, .lux-h2, .lux-hero__title, .lux-step h3, .lux-tile__title, .lux-voice blockquote p, .lux-hero__next, .club-menu a, .club-menu button) { font-kerning: none; }
html.lux .club-caps { text-transform: none; letter-spacing: -0.01em; font-weight: 400; font-size: 14px; }
html.lux :focus-visible { outline-color: var(--lux-ink); }
html.lux button { border-radius: 999px; }
html.lux :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]), select, textarea) { border-radius: var(--r-sm); background: var(--lux-raised); border-color: var(--c-line-control); color: var(--c-text); }

html.lux .lux-disclosure > summary { list-style: none; }
html.lux .lux-disclosure > summary::-webkit-details-marker { display: none; }
html.lux .lux-disclosure > summary::after { content: "+"; content: "+" / ""; flex: none; font: 200 var(--lux-disclosure-size, 26px)/1 var(--f-display); color: var(--c-text-3); }
html.lux .lux-disclosure[open] > summary::after { transform: rotate(45deg); }
@media (prefers-reduced-motion: no-preference) {
  html.lux .lux-disclosure > summary::after { transition: transform 200ms var(--ease-out); }
}

.lux-nobr { white-space: nowrap; }
.lux-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.lux-btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 26px;
  border: 0; border-radius: 999px; background: var(--c-accent); color: var(--c-on-accent);
  font: 600 17px/1 var(--f-body); letter-spacing: -0.01em; text-decoration: none; white-space: nowrap; cursor: pointer;
  transition: transform 160ms var(--ease-out), background-color 160ms ease;
}
.lux-btn:active { transform: scale(0.97); }
.lux-btn--ghost { background: transparent; color: var(--c-text); box-shadow: inset 0 0 0 1px var(--lux-hairline); }
.lux-btn--sm { min-height: 44px; padding: 0 18px; font-size: 15px; font-weight: 500; }
.save-material.lux-btn { align-self: flex-start; justify-self: start; }
.lux-btn--ghost[aria-pressed="true"] { background: var(--c-text); color: var(--c-text-inverse); box-shadow: none; }
.lux-more {
  display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--c-text); font-size: 17px; text-decoration: underline 1px transparent; text-underline-offset: 5px;
  transition: text-decoration-color 160ms ease, transform 160ms var(--ease-out);
}
.lux-more:active { transform: scale(0.97); }
.lux-more__arrow { display: inline-block; font-size: 20px; line-height: 1; transition: transform 160ms var(--ease-out); }
.lux-back { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-top: 16px; color: var(--c-text-3); font-size: 15px; text-decoration: none; transition: color 160ms ease; }
html.lux .lux-back + .site-masthead { padding-top: clamp(24px, 3cqi, 40px); }
html.lux.vis :is(h1, h2, h3, .cabinet-metric dd, .lux-hero__next, .lux-voice blockquote p, .club-menu a) { font-weight: 400 !important; }
html.vis .lux-disclosure > summary::after { color: var(--vis-fg); font-weight: 400; }
html.lux.vis .lux-btn.lux-btn--ghost[aria-pressed="true"] { background-color: var(--vis-fg) !important; color: var(--vis-bg) !important; }
html.lux.vis :is(.dpo-starts-grid article:has(a:focus-visible), .site-checkbox:has(input:focus-visible)) { outline-color: var(--vis-fg); }
html.lux.vis .club-auth__aside li::before { font-weight: 400; color: var(--vis-fg); }

html.lux :is(.cabinet-page, .cart-page, .program-page, .product-page) .site-two-col > aside.site-panel { padding: clamp(24px, 2.6cqi, 32px); border: 0; border-radius: var(--r-lg); background: var(--c-bg-raised); }
html.lux :is(.cabinet-page, .cart-page, .program-page) .site-two-col > aside.site-panel h2, html.lux .mini-membership h2 { font: 200 28px/1.1 var(--f-display); letter-spacing: -0.03em; }
html.lux :is(.cart-page, .program-page, .product-page) .site-two-col > aside.site-panel :is(.lux-price, .site-price) { font-size: 32px; font-weight: 400; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
html.lux :is(.cabinet-page .site-two-col > div > section > h2, .program-page .site-two-col > div > section h2, :is(.profile-page, .support-page, .saved-page) section > h2, .site-calendar > header h2) { font: 200 var(--lux-heading-size, var(--lux-section-size))/1.12 var(--f-display); letter-spacing: -0.03em; font-kerning: none; }
html.lux :is(.cabinet-gate__form, .club-auth__card, .cart-page .site-two-col > aside.site-panel, .mini-membership) .site-primary, html.lux .mini-home > .site-primary[data-action="leave-mini"] { width: 100%; min-height: 48px; }
html.lux :is(.cabinet-gate__form .site-actions a, .club-auth__card .site-actions a, .site-filters > a) { display: inline-flex; align-items: center; min-height: 44px; color: var(--c-text-3); text-decoration: none; }
html.lux :is(.site-event .site-actions > a:not(.site-primary), .mini-membership > a) { display: inline-flex; align-items: center; min-height: 44px; color: var(--c-text); text-decoration: none; }
@media (hover: hover) and (pointer: fine) {
  html.lux .cabinet-gate__form .site-actions a:hover { color: var(--c-text); }
}
@container club-layout (min-width: 901px) {
  html.lux :is(.cart-page, .program-page, .product-page) .site-two-col > aside.site-panel, html.lux .club-auth__aside--photo { position: sticky; top: calc(var(--lux-header) + 24px); }
}

html.lux .site-container { max-width: var(--container); }
html.lux .club-header { background: var(--lux-black); border-bottom: 0; backdrop-filter: none; -webkit-backdrop-filter: none; animation: none; box-shadow: none; }
html.lux .club-header__inner { max-width: var(--container); height: var(--lux-header); padding: 0 var(--page-gutter); gap: 28px; }
html.lux .club-header__brand { gap: 12px; min-height: 44px; }
html.lux .club-header__emblem { width: 26px; height: 26px; border-radius: 6px; }
html.lux .club-header__lockup { font-size: 14px; font-weight: 600; letter-spacing: -0.015em; }
html.lux .club-header__lockup small { display: none; }
html.lux .club-header__nav { gap: 26px; }
html.lux .club-header__link { display: inline-flex; align-items: center; min-height: 44px; padding: 0; font-size: 14px; color: var(--lux-mute); text-decoration: none; transition: color 160ms ease; }
html.lux .club-header__link[aria-current="page"] { color: var(--lux-ink); text-decoration: none; }
html.lux .club-header__tools { gap: 0; margin-left: 4px; }
html.lux .club-header__tools .club-chrome-icon-btn { width: 40px; height: 44px; min-height: 44px; padding: 0; border: 0; border-radius: 999px; background: transparent; color: var(--lux-mute); transition: color 160ms ease; }
html.lux .club-header__cta { position: relative; min-height: 32px; margin-left: 4px; padding: 0 16px; border: 0; border-radius: 999px; background: var(--c-accent); color: var(--c-on-accent); font: 600 14px/1 var(--f-body); letter-spacing: -0.01em; text-transform: none; box-shadow: none; transition: transform 160ms var(--ease-out), background-color 160ms ease; }
html.lux .club-header__cta::after { content: ""; position: absolute; inset: -6px -2px; }
html.lux .club-header__cta:active { transform: scale(0.97); }
html.lux .club-header__join { position: relative; display: flex; }
html.lux .club-header__login { position: absolute; top: 100%; left: 4px; right: 0; display: flex; align-items: center; justify-content: center; min-height: 32px; margin-top: 8px; border-radius: 999px; background: var(--lux-control); color: var(--c-text); font: 600 14px/1 var(--f-body); letter-spacing: -0.01em; text-decoration: none; opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity 160ms var(--ease-out), transform 160ms var(--ease-out), visibility 0s linear 160ms, background-color 160ms ease; }
html.lux .club-header__login::before { content: ""; position: absolute; inset: -10px 0 100%; }
html.lux .club-header__login:hover { background: var(--lux-hairline); }
html.lux .club-header__join:is(:hover, :focus-within) .club-header__login { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
html.lux .club-header__login[hidden] { display: none; }
html.lux .club-header__burger { width: 44px; height: 44px; border: 0; border-radius: 999px; background: transparent; color: var(--lux-ink); font-size: 20px; }
html.lux .club-menu { padding: 8px var(--page-gutter) 32px; border-top: 0; background: var(--lux-black); }
html.lux .club-menu a, html.lux .club-menu button { min-height: 52px; padding: 6px 0; border: 0; background: none; color: var(--lux-ink); font: 200 28px/1.15 var(--f-display); letter-spacing: -0.03em; }
html.lux .club-menu a[aria-current="page"] { padding-inline: 0; background: none; color: var(--lux-ink); }
html.lux .club-menu [data-member-link] { justify-content: center; min-height: 48px; margin-top: 20px; border-radius: 999px; background: var(--c-accent); color: var(--c-on-accent); font: 600 17px/1 var(--f-body); letter-spacing: -0.01em; }
html.lux .club-menu [data-guest-only] { justify-content: center; min-height: 48px; margin-top: 12px; border-radius: 999px; background: var(--lux-control); color: var(--c-text); font: 600 17px/1 var(--f-body); letter-spacing: -0.01em; }
html.lux .club-menu [data-guest-only][hidden] { display: none; }
html.lux .club-menu button[data-action="vision"] { font-size: 17px; font-weight: 400; letter-spacing: 0; color: var(--lux-mute); }

html.lux .club-footer { background: var(--lux-sunken); color: var(--lux-quiet); border-top: 0; }
html.lux .club-footer__inner { max-width: calc(var(--container) - 2 * var(--page-gutter)); }
html.lux .club-footer__brand strong { font-family: var(--f-body); font-weight: 600; font-size: 15px; color: var(--lux-ink); letter-spacing: -0.01em; }
html.lux .club-footer__brand p { color: var(--lux-quiet); font-size: 14px; }
html.lux .club-footer__brand img { width: 40px; height: 40px; border-radius: 9px; }
html.lux .club-footer h2 { color: var(--lux-ink); font-size: 14px; font-weight: 600; text-transform: none; letter-spacing: -0.01em; }
html.lux .club-footer :is(a, button) { display: inline-flex; align-items: center; min-height: 44px; padding: 0; border: 0; background: none; color: var(--lux-quiet); font-size: 14px; text-decoration: none; transition: color 160ms ease; }
html.lux .club-footer__legal { border-top: 0; color: var(--lux-quiet); font-size: 13px; }

html.lux .mobile-tabs { background: var(--lux-sunken); border-top: 0; }
html.lux .mobile-tabs a { color: var(--lux-mute); }
html.lux .mobile-tabs a[aria-current="page"] { color: var(--lux-ink); }

html.lux .club-cookie-banner { background: var(--lux-raised); color: var(--lux-ink-2); border: 0; border-radius: var(--r-lg); box-shadow: none; }
html.lux .club-cookie-banner__btn { border-radius: 999px; }
html.lux .club-cookie-banner__btn--primary { background: var(--c-accent); border-color: var(--c-accent); color: var(--c-on-accent); }
html.lux .club-cookie-banner__btn--secondary { background: var(--lux-control); border-color: transparent; color: var(--lux-ink); }
html.lux #install-app { border: 0; border-radius: 999px; background: var(--lux-ink); color: var(--lux-black); box-shadow: none; }
html.lux :is(#site-dialog, #search-dialog) { border: 0; border-radius: var(--r-lg); background: var(--lux-raised); color: var(--lux-ink); box-shadow: none; }
html.lux :is(#site-dialog, #search-dialog)::backdrop { background: rgb(0 0 0 / 0.64); }
html.lux #toast { border-radius: 999px; background: var(--lux-ink); color: var(--lux-black); box-shadow: none; }

@media (hover: hover) and (pointer: fine) {
  html.lux .club-header__link:hover,
  html.lux .club-header__tools .club-chrome-icon-btn:hover,
  html.lux .club-footer :is(a, button):hover { color: var(--lux-ink); text-decoration: none; }
  html.lux .club-header__cta:hover { background: var(--p-ohra-hover); }
  .lux-btn:hover { background: var(--p-ohra-hover); }
  .lux-btn--ghost:hover { background: var(--lux-hover); }
  .lux-btn--ghost[aria-pressed="true"]:hover { background: var(--c-text); }
  .lux-more:hover { text-decoration-color: currentColor; }
  .lux-more:hover .lux-more__arrow { transform: translateX(3px); }
  .lux-back:hover { color: var(--c-text); }
  html.lux :is(h1, h2, h3) a:not(.lux-btn):hover { text-decoration-color: currentColor; }
}

@container club-layout (min-width: 1101px) {
  html.lux:not(.pwa-shell):not(.telegram-mini) .club-header__nav { display: flex; }
  html.lux:not(.pwa-shell):not(.telegram-mini) .club-header__burger { display: none; }
}

