/* app/fe/static/css/site-shell.css */
:root {
  --ky-color-canvas: #f5efe8;
  --ky-color-shell: #fbf6f0;
  --ky-color-surface: #ede4da;
  --ky-color-panel: #ffffff;
  --ky-color-ink: #342d2a;
  --ky-color-muted: #6e625d;
  --ky-color-subtle: #9e8d83;
  --ky-color-line: #e3d8cf;
  --ky-color-line-strong: #c5b8b0;
  --ky-color-accent: #d47b5f;
  --ky-color-accent-strong: #b95f45;
  --ky-color-card: #4f4033;
  --ky-color-success: #738a71;

  --ky-font-body: "Inter";
  --ky-font-display: "Cormorant Garamond";

  --ky-space-1: 0.25rem;
  --ky-space-2: 0.5rem;
  --ky-space-3: 0.75rem;
  --ky-space-4: 1rem;
  --ky-space-5: 1.25rem;
  --ky-space-6: 1.5rem;
  --ky-space-8: 2rem;
  --ky-space-10: 2.5rem;
  --ky-space-12: 3rem;
  --ky-space-14: 3.5rem;
  --ky-space-16: 4rem;

  --ky-radius-sm: 0.75rem;
  --ky-radius-md: 1rem;
  --ky-radius-lg: 1.5rem;
  --ky-radius-xl: 2rem;
  --ky-radius-pill: 9999px;

  --ky-type-ui-sm: 0.875rem;
  --ky-type-label-xs: 0.75rem;
  --ky-type-brand-lg: 1.875rem;
  --ky-type-brand-md: 1.5rem;
  --ky-type-copy-md: 1rem;
  --ky-type-copy-lg: 1.15rem;
  --ky-type-link-sm: 0.95rem;
  --ky-type-error-sm: 0.83rem;
  --ky-type-wordmark: 2rem;
  --ky-leading-ui: 1.2;
  --ky-leading-copy: 1.7;
  --ky-leading-copy-md: 1.75;
  --ky-leading-copy-lg: 1.85;
  --ky-leading-marketing-button: 1.2;
  --ky-tracking-label: 0.24em;
  --ky-tracking-eyebrow: 0.28em;
  --ky-tracking-wordmark: -0.03em;
  --ky-weight-wordmark: 600;

  --ky-space-tight: 0.8rem;
  --ky-space-field-gap: 0.625rem;
  --ky-space-button-inline: 1.5rem;
  --ky-size-marketing-button-py: 0.9rem;
  --ky-size-marketing-button-px: 1.65rem;
  --ky-size-focus-ring: 3px;

  --ky-space-home-hero-top: 7rem;
  --ky-space-home-hero-top-md: 8rem;
  --ky-space-home-hero-bottom: 4rem;
  --ky-space-home-hero-bottom-lg: 6rem;
  --ky-space-home-section-intro-gap: var(--ky-space-3);
  --ky-space-home-section: 4rem;
  --ky-space-home-section-lg: 5rem;
  --ky-space-home-section-tight: 3.5rem;
  --ky-space-home-section-tight-lg: 4rem;
  --ky-space-error-section: 4rem;
  --ky-space-error-section-lg: 5rem;
  --ky-type-home-display-hero: clamp(3rem, 4.8vw, 4.5rem);
  --ky-type-home-display-section: clamp(2.25rem, 4vw, 3rem);
  --ky-type-home-display-subhero: clamp(1.875rem, 3vw, 2.25rem);
  --ky-type-error-code-display: clamp(4.75rem, 12vw, 7.5rem);
  --ky-type-error-title-display: clamp(2rem, 3.4vw, 2.75rem);
  --ky-type-error-copy: var(--ky-type-copy-md);
  --ky-type-home-body: var(--ky-type-copy-md);
  --ky-type-marketing-button: 0.95rem;
  --ky-leading-error-copy: var(--ky-leading-copy-md);
  --ky-leading-home-body: var(--ky-leading-copy-md);
  --ky-type-home-support: var(--ky-type-ui-sm);
  --ky-leading-home-support: 1.5;
  --ky-type-home-micro: 0.6875rem;
  --ky-tracking-home-micro: 0.22em;
  --ky-size-home-button-py: 0.75rem;
  --ky-size-home-button-px: var(--ky-space-button-inline);

  --ky-type-auth-wordmark: 2.1rem;
  --ky-type-auth-editorial: clamp(3.1rem, 5vw, 4.5rem);
  --ky-type-auth-title: clamp(2.4rem, 4vw, 3.6rem);
  --ky-type-auth-copy: var(--ky-type-copy-md);
  --ky-leading-auth-copy: var(--ky-leading-copy-md);
  --ky-type-auth-label: 0.72rem;
  --ky-tracking-auth-label: 0.18em;
  --ky-space-auth-form-gap: var(--ky-space-tight);
  --ky-space-auth-step-gap: var(--ky-space-4);
  --ky-space-auth-header-gap: var(--ky-space-tight);
  --ky-space-auth-field-gap: var(--ky-space-field-gap);
  --ky-space-auth-role-gap: var(--ky-space-4);
  --ky-space-auth-role-card-gap: 0.45rem;
  --ky-space-auth-role-card-py: 1.35rem;
  --ky-space-auth-role-card-px: var(--ky-space-button-inline);
  --ky-space-auth-submit-after: 1.2rem;
  --ky-space-auth-error-after: 0.6rem;
  --ky-type-auth-role-title: 1.8rem;
  --ky-type-auth-link: var(--ky-type-link-sm);
  --ky-type-auth-error: var(--ky-type-error-sm);
  --ky-size-auth-control-py: 1rem;
  --ky-size-auth-control-px: 1.15rem;
  --ky-size-auth-focus-ring: var(--ky-size-focus-ring);
  --ky-size-auth-submit-py: 1.05rem;
  --ky-size-auth-submit-px: var(--ky-space-button-inline);

  --ky-type-flow-eyebrow: var(--ky-type-label-xs);
  --ky-tracking-flow-eyebrow: var(--ky-tracking-eyebrow);
  --ky-type-flow-section-title: clamp(1.45rem, 2.2vw, 2.05rem);
  --ky-type-flow-copy: 0.96rem;
  --ky-leading-flow-copy: var(--ky-leading-copy);
  --ky-type-flow-submit: 1.05rem;
  --ky-leading-flow-title: 0.98;
  --ky-space-flow-card-gap: 1.75rem;
  --ky-space-flow-section-gap: 0.85rem;
  --ky-space-flow-stack-gap: var(--ky-space-field-gap);
  --ky-space-flow-copy-gap: var(--ky-space-2);
  --ky-space-flow-chip-gap: var(--ky-space-3);
  --ky-space-flow-actions-gap: var(--ky-space-5);
  --ky-space-flow-two-up-gap: var(--ky-space-4);
  --ky-space-flow-submit-px: var(--ky-space-8);
  --ky-space-flow-head-gap: var(--ky-space-4);
  --ky-space-flow-step-offset: calc(-1 * var(--ky-space-2));
  --ky-space-flow-field-px: 1.1rem;
  --ky-space-flow-field-pr: 2.85rem;
  --ky-space-flow-card-pad-top-mobile: 1.9rem;
  --ky-space-flow-control-px-base: var(--ky-space-4);
  --ky-space-flow-control-py-base: var(--ky-size-auth-control-py);
  --ky-space-flow-media-gap: 0.9rem;
  --ky-space-flow-mobile-shell-inline-pad: var(--ky-space-4);
  --ky-space-flow-mobile-shell-bottom-pad: var(--ky-space-8);
  --ky-space-flow-mobile-action-row-gap: var(--ky-space-4);
  --ky-space-flow-mobile-action-column-gap: var(--ky-space-3);
  --ky-space-flow-mobile-action-links-top: var(--ky-space-5);
  --ky-space-flow-mobile-action-links-bottom: 0.65rem;
  --ky-space-flow-mobile-experience-links-top: 1.15rem;
  --ky-space-flow-mobile-availability-bottom: 0.9rem;
  --ky-space-flow-prompt-pad-top: 0.95rem;
  --ky-space-flow-prompt-pad-bottom: 0.75rem;
  --ky-space-flow-count-right: var(--ky-space-5);
  --ky-space-flow-count-bottom: var(--ky-space-4);
  --ky-space-flow-count-pr: var(--ky-space-16);
  --ky-space-flow-count-pb: var(--ky-space-10);
  --ky-size-flow-submit-py: var(--ky-size-auth-submit-py);
  --ky-size-flow-select-arrow: 0.85rem;
  --ky-size-flow-story-min-height: 8.75rem;
  --ky-size-flow-prompt-height: calc(var(--ky-size-auth-control-py) + var(--ky-size-auth-control-py) + var(--ky-space-6));
  --ky-size-flow-check-size: 0.95rem;
  --ky-size-flow-chip-min-height: var(--ky-space-10);
  --ky-type-flow-count: var(--ky-type-label-xs);
  --ky-type-flow-section-heading: 1.35rem;
  --ky-leading-flow-section-heading: 1.1;
  --ky-type-flow-control: var(--ky-type-copy-md);
  --ky-leading-flow-control: 1.5;
  --ky-type-flow-chip: var(--ky-type-ui-sm);
  --ky-leading-flow-prompt-answer: var(--ky-space-6);
  --ky-type-flow-preview-title: clamp(2rem, 3vw, 2.55rem);
  --ky-type-flow-preview-meta: var(--ky-type-link-sm);
  --ky-type-flow-preview-label: var(--ky-type-label-xs);
  --ky-space-flow-preview-gap: var(--ky-space-5);
  --ky-size-public-profile-mobile-sheet-width: 32rem;
  --ky-size-public-profile-mobile-sheet-offset: var(--ky-space-3);
  --ky-size-public-profile-mobile-footer-clearance: 10.5rem;
  --ky-radius-public-profile-mobile-sheet: 1.6rem;
  --ky-space-public-profile-mobile-bar-gap: var(--ky-space-3);
  --ky-space-public-profile-mobile-bar-pad-top: 0.95rem;
  --ky-space-public-profile-mobile-bar-pad-inline: var(--ky-space-4);
  --ky-space-public-profile-mobile-bar-pad-bottom: 0.6rem;
  --ky-space-public-profile-mobile-summary-gap: var(--ky-space-1);
  --ky-space-public-profile-mobile-detail-separator: 0.45rem;
  --ky-space-public-profile-mobile-button-top: var(--ky-space-2);
  --ky-space-public-profile-mobile-sheet-pad-y: var(--ky-space-4);
  --ky-space-public-profile-mobile-rail-pad-y: 1.3rem;
  --ky-type-public-profile-mobile-note: 0.82rem;
  --ky-leading-public-profile-mobile-note: 1.35;
  --ky-space-flow-preview-tag-gap: var(--ky-space-2);
  --ky-radius-flow-control-base: var(--ky-radius-md);
  --ky-radius-flow-control: 1.2rem;
  --ky-color-flow-card-surface: rgba(255, 255, 255, 0.95);
  --ky-color-flow-card-border: rgba(227, 216, 207, 0.9);
  --ky-color-flow-field-surface: rgba(251, 246, 240, 0.95);
  --ky-color-flow-field-surface-soft: rgba(251, 246, 240, 0.88);
  --ky-color-flow-field-surface-strong: rgba(251, 246, 240, 0.98);
  --ky-color-flow-field-hover: rgba(247, 239, 230, 0.98);
  --ky-color-flow-accent-line: rgba(212, 123, 95, 0.55);
  --ky-color-flow-accent-fill: rgba(212, 123, 95, 0.12);
  --ky-shadow-flow-accent-inset: inset 0 0 0 1px rgba(212, 123, 95, 0.22);

  --ky-size-header: 5rem;
  --ky-size-header-min: 4rem;
  --ky-size-social: 2.5rem;

  --ky-shadow-soft: 0 14px 28px rgba(52, 45, 42, 0.08);
  --ky-shadow-card: 0 24px 56px rgba(52, 45, 42, 0.12);
  --ky-shadow-shell: 0 16px 36px rgba(52, 45, 42, 0.08);

  --ky-layout-container: 76rem;
  --ky-layout-reading: 44rem;
  --ky-color-wordmark: var(--ky-color-accent-strong);
}

html {
  background: var(--ky-color-canvas);
}

body[data-header-variant="marketing"],
body[data-header-variant="minimal"],
body[data-header-variant="mentor"],
body[data-header-variant="mentee"] {
  background: var(--ky-color-canvas);
}

.font-display {
  font-family: var(--ky-font-display), Georgia, serif;
}

.max-w-ky-container {
  max-width: var(--ky-layout-container);
}

.max-w-ky-reading {
  max-width: var(--ky-layout-reading);
}

.rounded-ky-lg {
  border-radius: var(--ky-radius-lg);
}

.rounded-ky-md {
  border-radius: var(--ky-radius-md);
}

.rounded-ky-xl {
  border-radius: var(--ky-radius-xl);
}

.rounded-ky-pill {
  border-radius: var(--ky-radius-pill);
}

.border-ky-line {
  border-color: var(--ky-color-line);
}

.bg-ky-canvas {
  background-color: var(--ky-color-canvas);
}

.bg-ky-shell {
  background-color: var(--ky-color-shell);
}

.bg-ky-surface {
  background-color: var(--ky-color-surface);
}

.bg-ky-panel {
  background-color: var(--ky-color-panel);
}

.bg-ky-card {
  background-color: var(--ky-color-card);
}

.bg-ky-accent {
  background-color: var(--ky-color-accent);
}

.bg-ky-accent-strong {
  background-color: var(--ky-color-accent-strong);
}

.text-ky-ink {
  color: var(--ky-color-ink);
}

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

.text-ky-subtle {
  color: var(--ky-color-subtle);
}

.text-ky-accent {
  color: var(--ky-color-accent);
}

.text-ky-accent-strong {
  color: var(--ky-color-accent-strong);
}

.shadow-ky-soft {
  box-shadow: var(--ky-shadow-soft);
}

.shadow-ky-card {
  box-shadow: var(--ky-shadow-card);
}

.shadow-ky-shell {
  box-shadow: var(--ky-shadow-shell);
}

.ky-site-frame {
  padding-inline: var(--ky-space-4);
}

@media (min-width: 640px) {
  .ky-site-frame {
    padding-inline: var(--ky-space-6);
  }
}

@media (min-width: 1024px) {
  .ky-site-frame {
    padding-inline: var(--ky-space-8);
  }
}

.hover\:bg-ky-accent-strong:hover {
  background-color: var(--ky-color-accent-strong);
}

.hover\:text-ky-accent-strong:hover {
  color: var(--ky-color-accent-strong);
}

.hover\:text-ky-ink:hover {
  color: var(--ky-color-ink);
}

.hover\:border-ky-accent:hover {
  border-color: var(--ky-color-accent);
}

.focus-visible\:ring-ky-accent:focus-visible {
  --tw-ring-color: var(--ky-color-accent);
}

.focus-visible\:ring-offset-ky-accent:focus-visible {
  --tw-ring-offset-color: var(--ky-color-accent);
}

.ky-header-shell {
  background: rgba(251, 246, 240, 0.84);
  backdrop-filter: blur(18px);
  box-shadow: var(--ky-shadow-shell);
}

.ky-site-header-row {
  display: flex;
  height: var(--ky-size-header);
  align-items: center;
  justify-content: space-between;
  gap: var(--ky-space-6);
}

.ky-site-header-row--minimal {
  height: var(--ky-size-header-min);
  gap: var(--ky-space-4);
}

.ky-site-header-row--profile-width {
  max-width: 78rem;
  padding-inline: 1.25rem;
}

.ky-site-header-brand {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: var(--ky-space-6);
}

.ky-site-header-brand--minimal {
  gap: var(--ky-space-4);
  flex: 0 0 auto;
}

.ky-site-header-actions {
  display: flex;
  align-items: center;
  gap: var(--ky-space-2);
}

@media (min-width: 640px) {
  .ky-site-header-actions {
    gap: var(--ky-space-3);
  }
}

.ky-site-wordmark,
.ky-site-footer-brand,
.ky-dashboard-wordmark {
  display: inline-block;
  user-select: none;
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: var(--ky-type-wordmark);
  font-weight: var(--ky-weight-wordmark);
  letter-spacing: var(--ky-tracking-wordmark);
  line-height: 1;
  color: var(--ky-color-wordmark);
}

.ky-site-wordmark {
  flex-shrink: 0;
}

.ky-site-nav-link {
  font-size: var(--ky-type-ui-sm);
  line-height: var(--ky-leading-ui);
  font-weight: 600;
}

.ky-site-text-link {
  text-decoration: none;
  transition: color 0.2s ease;
}

.ky-site-text-link:focus-visible {
  outline: 2px solid var(--ky-color-accent);
  outline-offset: 3px;
}

.ky-site-text-link--accent {
  color: var(--ky-color-accent);
  font: inherit;
  font-size: var(--ky-type-auth-link);
  font-weight: 700;
  line-height: 1.4;
}

.ky-site-text-link--accent:hover {
  color: var(--ky-color-accent-strong);
}

.ky-site-text-link--footer {
  color: inherit;
  font: inherit;
}

.ky-site-text-link--footer:hover {
  color: var(--ky-color-accent-strong);
}

.ky-site-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--ky-radius-pill);
  padding: calc(var(--ky-space-2) + var(--ky-space-1)) var(--ky-space-4);
  font-size: var(--ky-type-ui-sm);
  line-height: var(--ky-leading-ui);
  font-weight: 600;
}

.ky-site-button--cta-scale {
  padding: var(--ky-size-home-button-py) var(--ky-size-home-button-px);
  font-size: var(--ky-type-ui-sm);
}

.ky-site-button--marketing-cta {
  padding: var(--ky-size-marketing-button-py) var(--ky-size-marketing-button-px);
  font-size: var(--ky-type-marketing-button);
  line-height: var(--ky-leading-marketing-button);
}

.ky-site-button--ghost {
  color: var(--ky-color-ink);
}

.ky-site-button--outline {
  border: 1px solid var(--ky-color-line-strong);
  color: var(--ky-color-ink);
}

.ky-site-button--primary {
  background: var(--ky-color-accent);
  color: var(--ky-color-panel);
  box-shadow: var(--ky-shadow-soft);
}

.ky-error-page {
  position: relative;
  overflow: hidden;
}

.ky-error-page::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 18%, rgba(212, 123, 95, 0.22), transparent 24%),
    radial-gradient(circle at 82% 14%, rgba(185, 95, 69, 0.12), transparent 22%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.38) 0%, rgba(245, 239, 232, 0) 100%);
  pointer-events: none;
}

.ky-error-shell {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 100%;
  align-items: center;
  justify-content: center;
  padding-top: calc(var(--ky-size-header) + var(--ky-space-10));
  padding-bottom: var(--ky-space-error-section);
}

.ky-error-brand-row {
  position: absolute;
  top: clamp(var(--ky-space-6), 4vw, var(--ky-space-8));
  left: clamp(var(--ky-space-4), 4vw, var(--ky-space-8));
  z-index: 1;
}

.ky-error-card {
  position: relative;
  width: min(100%, 44rem);
  border: 0;
  border-radius: calc(var(--ky-radius-xl) + 0.25rem);
  background: transparent;
  box-shadow: none;
  padding: clamp(2.5rem, 6vw, 4rem);
  text-align: center;
}

.ky-error-card::before {
  content: none;
}

.ky-error-code,
.ky-error-title,
.ky-error-copy {
  position: relative;
  z-index: 1;
}

.ky-error-code {
  margin: 0;
  color: var(--ky-color-accent-strong);
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: var(--ky-type-error-code-display);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 0.88;
}

.ky-error-title {
  margin: var(--ky-space-4) 0 0;
  color: var(--ky-color-ink);
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: var(--ky-type-error-title-display);
  font-weight: 600;
  line-height: 1;
}

.ky-error-page--4xx .ky-error-card {
  width: min(100%, 74rem);
}

.ky-error-page--4xx .ky-error-code {
  white-space: nowrap;
}

.ky-error-copy {
  margin: var(--ky-space-4) auto 0;
  max-width: 32rem;
  color: var(--ky-color-muted);
  font-size: var(--ky-type-error-copy);
  line-height: var(--ky-leading-error-copy);
}

.ky-error-copy p {
  margin: 0;
}

.ky-error-copy p + p {
  margin-top: var(--ky-space-4);
}

.ky-error-recovery {
  margin: var(--ky-space-4) auto 0;
  max-width: 32rem;
  color: var(--ky-color-muted);
  font-size: var(--ky-type-error-copy);
  line-height: var(--ky-leading-error-copy);
}

.ky-error-link {
  color: var(--ky-color-accent-strong);
  text-decoration: underline;
  text-underline-offset: 0.25rem;
}

.ky-error-link:hover {
  color: var(--ky-color-accent);
}

.ky-error-link:focus-visible {
  outline: 2px solid var(--ky-color-accent);
  outline-offset: 2px;
  border-radius: var(--ky-radius-sm);
}

.ky-site-header-auth-button {
  min-width: 7.5rem;
}

.ky-site-icon-link {
  display: inline-flex;
  height: var(--ky-size-social);
  width: var(--ky-size-social);
  align-items: center;
  justify-content: center;
  border: 1px solid var(--ky-color-line);
  border-radius: var(--ky-radius-pill);
  color: var(--ky-color-ink);
}

.ky-header-desktop-cta {
  display: inline-flex;
}

@media (max-width: 767px) {
  .ky-error-brand-row {
    top: var(--ky-space-5);
    left: var(--ky-space-4);
  }

  .ky-error-page--4xx .ky-error-code {
    white-space: normal;
  }

  .ky-header-desktop-cta {
    display: none;
  }
}

.ky-hero-backdrop {
  background:
    radial-gradient(circle at 82% 18%, rgba(212, 123, 95, 0.22), transparent 26%),
    radial-gradient(circle at 16% 12%, rgba(185, 95, 69, 0.08), transparent 18%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.36) 0%, rgba(245, 239, 232, 0) 100%);
}

.ky-home-eyebrow {
  font-size: var(--ky-type-label-xs);
  font-weight: 600;
  letter-spacing: var(--ky-tracking-eyebrow);
  text-transform: uppercase;
}

.ky-home-eyebrow--section {
  color: var(--ky-color-accent-strong);
}

.ky-home-hero-inner {
  padding-top: var(--ky-space-home-hero-top);
  padding-bottom: var(--ky-space-home-hero-bottom);
}

@media (min-width: 768px) {
  .ky-home-hero-inner {
    padding-top: var(--ky-space-home-hero-top-md);
  }
}

@media (min-width: 1024px) {
  .ky-error-shell {
    padding-bottom: var(--ky-space-error-section-lg);
  }

  .ky-home-hero-inner {
    padding-bottom: var(--ky-space-home-hero-bottom-lg);
  }
}

.ky-home-section-inner {
  padding-block: var(--ky-space-home-section);
}

.ky-home-section-inner--tight {
  padding-block: var(--ky-space-home-section-tight);
}

@media (min-width: 1024px) {
  .ky-home-section-inner {
    padding-block: var(--ky-space-home-section-lg);
  }

  .ky-home-section-inner--tight {
    padding-block: var(--ky-space-home-section-tight-lg);
  }
}

.ky-home-hero-title {
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: var(--ky-type-home-display-hero);
  font-weight: 600;
  line-height: 0.92;
}

.ky-home-display-title {
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: var(--ky-type-home-display-section);
  font-weight: 600;
  line-height: 0.96;
}

.ky-home-display-subtitle {
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: var(--ky-type-home-display-subhero);
  font-weight: 600;
  line-height: 1.02;
}

.ky-home-section-intro {
  display: grid;
  gap: var(--ky-space-home-section-intro-gap);
}

.ky-home-body-copy {
  font-size: var(--ky-type-home-body);
  line-height: var(--ky-leading-home-body);
}

.ky-home-support-copy {
  font-size: var(--ky-type-home-support);
  line-height: var(--ky-leading-home-support);
}

.ky-home-micro-label {
  font-size: var(--ky-type-home-micro);
  font-weight: 600;
  letter-spacing: var(--ky-tracking-home-micro);
  text-transform: uppercase;
}

.ky-home-section-label {
  font-size: var(--ky-type-ui-sm);
  font-weight: 600;
  letter-spacing: var(--ky-tracking-home-micro);
  text-transform: uppercase;
}

.ky-home-panel {
  border: 1px solid var(--ky-color-line);
  border-radius: var(--ky-radius-xl);
  background: var(--ky-color-panel);
  box-shadow: var(--ky-shadow-card);
}

.ky-home-subpanel {
  border-radius: var(--ky-radius-lg);
}

.ky-home-hero-media {
  display: grid;
  gap: clamp(0.85rem, 2vw, 1.15rem);
  width: 100%;
}

.ky-home-hero-shot {
  margin: 0;
  overflow: hidden;
  width: 100%;
  border-radius: 1.25rem;
}

.ky-home-hero-shot--secondary,
.ky-home-hero-shot--tertiary {
  width: min(100%, 19rem);
  justify-self: center;
}

.ky-home-hero-shot__image {
  display: block;
  width: 100%;
  height: auto;
  transform: scale(1.04);
  transform-origin: center;
}

@media (min-width: 640px) {
  .ky-home-hero-media {
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.18fr) minmax(0, 1fr);
    align-items: end;
  }

  .ky-home-hero-shot--secondary,
  .ky-home-hero-shot--tertiary {
    width: 100%;
  }
}

.ky-experience-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 18% 16%, rgba(212, 123, 95, 0.22), transparent 32%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(0, 0, 0, 0.18)),
    linear-gradient(180deg, #5b4a3b 0%, #433428 100%);
}

.ky-experience-card::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 58%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(25, 18, 14, 0.42) 100%);
}

.ky-feedback-panel {
  overflow: hidden;
}

.ky-feedback-panel::before {
  content: "";
  position: absolute;
  right: -2.5rem;
  top: -1.5rem;
  height: 9rem;
  width: 9rem;
  border-radius: 9999px;
  background: rgba(212, 123, 95, 0.12);
  filter: blur(4px);
}

.ky-home-feedback-pill-copy {
  color: var(--ky-color-muted);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: var(--ky-type-flow-copy);
  font-weight: 400;
  line-height: 1.5;
}

.ky-feedback-step {
  display: grid;
  grid-template-columns: minmax(3.75rem, 5rem) 1fr;
  gap: 1.25rem;
  align-items: start;
}

.ky-feedback-step__number {
  display: block;
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: clamp(2.4rem, 4.5vw, 3.5rem);
  font-weight: 500;
  line-height: 0.84;
  letter-spacing: -0.05em;
  color: rgba(158, 141, 131, 0.38);
}

.ky-feedback-step__title {
  margin: 0;
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: clamp(1.45rem, 2.2vw, 2.05rem);
  font-weight: 600;
  line-height: 0.98;
  color: var(--ky-color-ink);
}

.ky-guideline-points {
  display: grid;
  gap: var(--ky-space-6);
}

.ky-guideline-shell--mentor .ky-onboard-grid {
  align-items: start;
}

.ky-guideline-shell--mentor .ky-mentor-experience-preview-layout {
  max-width: 34rem;
}

.ky-guideline-shell--mentor .ky-booking-rail,
.ky-guideline-shell--mentor .ky-booking-guarantee {
  width: min(26rem, 100%);
}

.ky-guideline-shell--mentor .ky-booking-rail-note {
  text-align: center;
}

.ky-guideline-point-copy {
  margin: var(--ky-space-2) 0 0;
  color: var(--ky-color-muted);
  font-size: var(--ky-type-copy-md);
  line-height: var(--ky-leading-copy-md);
}

.ky-site-footer-shell {
  border-top: 1px solid var(--ky-color-line);
  background: var(--ky-color-shell);
}

.ky-site-footer-inner {
  padding-block: var(--ky-space-14);
}

.ky-site-footer-inner--profile-width {
  max-width: 78rem;
  padding-inline: 1.25rem;
}

.ky-site-footer-inner--minimal {
  padding-block: var(--ky-space-6);
}

.ky-site-footer-grid {
  display: grid;
  gap: var(--ky-space-12);
}

@media (min-width: 1024px) {
  .ky-site-footer-grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.85fr);
  }
}

.ky-site-footer-copy {
  max-width: 28rem;
  font-size: var(--ky-type-ui-sm);
  line-height: var(--ky-leading-copy);
  color: var(--ky-color-muted);
}

.ky-site-footer-social {
  display: flex;
  align-items: center;
  gap: var(--ky-space-3);
  padding-top: var(--ky-space-1);
}

.ky-site-footer-sections {
  display: grid;
  gap: var(--ky-space-10);
}

@media (min-width: 640px) {
  .ky-site-footer-sections {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.ky-site-footer-heading {
  font-size: var(--ky-type-label-xs);
  font-weight: 600;
  letter-spacing: var(--ky-tracking-label);
  text-transform: uppercase;
  color: var(--ky-color-accent-strong);
}

.ky-site-footer-links {
  margin-top: var(--ky-space-4);
  display: grid;
  gap: var(--ky-space-3);
  font-size: var(--ky-type-ui-sm);
  color: var(--ky-color-muted);
}

.ky-site-footer-bottom {
  margin-top: var(--ky-space-12);
  display: flex;
  flex-direction: column;
  gap: var(--ky-space-3);
  border-top: 1px solid var(--ky-color-line);
  padding-top: var(--ky-space-6);
  font-size: var(--ky-type-ui-sm);
  color: var(--ky-color-muted);
}

.ky-site-footer-bottom--minimal {
  margin-top: 0;
  padding-top: var(--ky-space-4);
}

@media (max-width: 560px) {
  body:has(.ky-public-profile-page--mentor.has-mobile-booking-sheet) .ky-site-footer-shell .ky-site-footer-inner {
    padding-bottom: calc(var(--ky-space-14) + var(--ky-size-public-profile-mobile-footer-clearance) + env(safe-area-inset-bottom));
  }
}

@media (min-width: 768px) {
  .ky-site-footer-bottom {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

.ky-community-grid {
  margin-top: 2.5rem;
  display: grid;
  gap: 1.25rem;
}

.ky-community-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--ky-color-line);
  border-radius: var(--ky-radius-lg);
  background: var(--ky-color-panel);
  padding: 1.75rem;
  box-shadow: var(--ky-shadow-soft);
}

.ky-community-card::after {
  content: "";
  position: absolute;
  inset: auto -1.25rem -2.25rem auto;
  height: 6.5rem;
  width: 6.5rem;
  border-radius: 9999px;
  background: rgba(212, 123, 95, 0.08);
}

.ky-community-card__icon {
  position: relative;
  z-index: 1;
  font-size: 1.85rem;
  color: var(--ky-color-accent-strong);
}

.ky-community-card__title {
  position: relative;
  z-index: 1;
  margin: 1rem 0 0;
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: clamp(1.85rem, 2.4vw, 2.4rem);
  font-weight: 600;
  line-height: 0.95;
  color: var(--ky-color-ink);
}

.ky-community-card__copy {
  position: relative;
  z-index: 1;
  margin: 0.9rem 0 0;
  font-size: 1rem;
  line-height: 1.8;
  color: var(--ky-color-muted);
}

.ky-home-trust-point .ky-community-card__icon {
  font-size: 1.55rem;
}

.ky-home-trust-point .ky-community-card__title {
  margin-top: 0.72rem;
  font-size: clamp(1.5rem, 1.8vw, 1.85rem);
}

.ky-home-trust-point .ky-community-card__copy {
  margin-top: 0.72rem;
  font-size: 0.94rem;
  line-height: 1.7;
}

@media (max-width: 639px) {
  .ky-home-cta-stack {
    width: 100%;
    align-items: stretch;
  }

  .ky-home-final-cta-button {
    width: 100%;
  }
}

@media (max-width: 479px) {
  .ky-site-header-row--marketing {
    padding-inline: 0.95rem;
    gap: 0.625rem;
  }

  .ky-site-header-actions--marketing {
    gap: 0.45rem;
    flex: 0 0 auto;
  }

  .ky-site-header-row--marketing .ky-site-wordmark {
    font-size: clamp(2.08rem, 9.6vw, 2.5rem);
  }

  .ky-site-header-row--marketing .ky-site-header-auth-button {
    min-width: 0;
    padding: 0.82rem 0.95rem;
    font-size: 0.95rem;
    white-space: nowrap;
  }
}

@media (max-width: 374px) {
  .ky-site-header-row--marketing {
    padding-inline: 0.875rem;
    gap: 0.5rem;
  }

  .ky-site-header-actions--marketing {
    gap: 0.375rem;
    flex: 0 0 auto;
  }

  .ky-site-header-row--marketing .ky-site-wordmark {
    font-size: clamp(1.92rem, 9.2vw, 2.3rem);
  }

  .ky-site-header-row--marketing .ky-site-header-auth-button {
    min-width: 0;
    padding: 0.78rem 0.85rem;
    font-size: 0.92rem;
    white-space: nowrap;
  }
}

@media (min-width: 1024px) {
  .ky-community-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.ky-auth-shell {
  min-height: 100svh;
  background: var(--ky-color-canvas);
  color: var(--ky-color-ink);
}

.ky-surface-page {
  min-height: 100svh;
  background: var(--ky-color-canvas);
  color: var(--ky-color-ink);
}

.ky-surface-header {
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(255, 251, 247, 0.88);
  border-bottom: 1px solid var(--ky-color-line);
  backdrop-filter: blur(16px);
}

.ky-surface-header__inner,
.ky-surface-footer__inner {
  margin: 0 auto;
  display: flex;
  width: min(100% - 2rem, 76rem);
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

.ky-surface-header__inner {
  min-height: 4.5rem;
}

.ky-surface-wordmark {
  font-size: 2rem;
  font-weight: 700;
  color: var(--ky-color-accent-strong);
  text-decoration: none;
}

.ky-surface-nav {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  font-size: 0.95rem;
  color: var(--ky-color-subtle);
}

.ky-surface-nav a {
  color: inherit;
  text-decoration: none;
  padding-bottom: 0.25rem;
  border-bottom: 2px solid transparent;
}

.ky-surface-nav a.is-active {
  color: var(--ky-color-accent);
  border-color: var(--ky-color-accent);
}

.ky-surface-header__actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.ky-surface-bell,
.ky-surface-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 9999px;
}

.ky-surface-bell {
  background: transparent;
}

.ky-surface-avatar {
  background: var(--ky-color-line);
  font-weight: 700;
  color: var(--ky-color-muted);
}

.ky-surface-avatar--large {
  width: 3.5rem;
  height: 3.5rem;
  font-size: 1.25rem;
}

.ky-surface-switch {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--ky-color-line);
  border-radius: var(--ky-radius-pill);
  padding: 0.6rem 1rem;
  font-size: 0.85rem;
  color: var(--ky-color-ink);
  text-decoration: none;
  background: rgba(255, 255, 255, 0.6);
}

.ky-surface-main {
  margin: 0 auto;
  width: min(100% - 2rem, 76rem);
  padding: 2.5rem 0 3rem;
}

.ky-checkout-main {
  width: 100%;
  max-width: var(--ky-layout-container);
  box-sizing: border-box;
  padding: 2rem 1.25rem 1.5rem;
}

.ky-checkout-page {
  min-height: auto;
}

body[data-header-variant="minimal"] .ky-checkout-page,
body[data-header-variant="mentor"] .ky-checkout-page,
body[data-header-variant="mentee"] .ky-checkout-page {
  padding-top: var(--ky-size-header-min);
}

body[data-header-variant="marketing"] .ky-checkout-page {
  padding-top: var(--ky-size-header);
}

.ky-feedback-page {
  min-height: auto;
}

main.flex-1:has(.ky-feedback-page) {
  flex: 0 0 auto;
}

.ky-feedback-page {
  padding-bottom: 0;
}

.ky-feedback-page .ky-surface-main {
  padding-bottom: 0;
}

body[data-header-variant="minimal"] .ky-feedback-page,
body[data-header-variant="mentor"] .ky-feedback-page,
body[data-header-variant="mentee"] .ky-feedback-page {
  padding-top: var(--ky-size-header-min);
}

body[data-header-variant="marketing"] .ky-feedback-page {
  padding-top: var(--ky-size-header);
}

.ky-confirm-page {
  min-height: auto;
}

body[data-header-variant="minimal"] .ky-confirm-page,
body[data-header-variant="mentor"] .ky-confirm-page,
body[data-header-variant="mentee"] .ky-confirm-page {
  padding-top: var(--ky-size-header-min);
}

body[data-header-variant="marketing"] .ky-confirm-page {
  padding-top: var(--ky-size-header);
}

.ky-surface-footer {
  margin-top: 4rem;
  border-top: 1px solid var(--ky-color-line);
  background: rgba(255, 255, 255, 0.32);
}

.ky-surface-footer__inner {
  align-items: flex-start;
  padding: 2.5rem 0 2rem;
}

.ky-surface-footer__inner > div {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 0.55rem;
  font-size: 0.95rem;
  color: var(--ky-color-subtle);
}

.ky-surface-footer__brand,
.ky-surface-footer__heading {
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.ky-surface-footer__brand {
  color: var(--ky-color-accent);
}

.ky-surface-footer__heading {
  color: var(--ky-color-accent-strong);
}

.ky-surface-footer a {
  color: inherit;
  text-decoration: none;
}

.ky-section-eyebrow {
  color: var(--ky-color-accent);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.ky-inline-problem {
  margin-top: 1rem;
  border: 1px solid rgba(185, 95, 69, 0.24);
  border-radius: var(--ky-radius-md);
  background: rgba(185, 95, 69, 0.08);
  padding: 1rem 1.1rem;
  color: var(--ky-color-accent-strong);
}

.ky-primary-action,
.ky-secondary-action,
.ky-pill-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--ky-radius-pill);
  padding: 0.9rem 1.65rem;
  text-decoration: none;
  font-size: 0.95rem;
  line-height: 1.2;
  font-weight: 600;
}

.ky-primary-action {
  background: var(--ky-color-accent);
  color: #fff;
  border: 0;
}

.ky-secondary-action {
  background: #fff;
  color: var(--ky-color-ink);
  border: 1px solid var(--ky-color-line);
}

.ky-pill-button--soft {
  background: rgba(212, 123, 95, 0.12);
  color: var(--ky-color-accent-strong);
}

.ky-pill-button--plain {
  border: 1px solid var(--ky-color-line);
  background: #fff;
  color: var(--ky-color-ink);
}

.ky-pill-button--white {
  background: #fff;
  color: var(--ky-color-accent-strong);
}

.ky-pill-button--outline-light {
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: #fff;
}

.ky-inline-link,
.ky-back-link {
  color: var(--ky-color-accent);
  text-decoration: none;
  font-weight: 700;
}

.ky-checkout-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.88fr;
  gap: 2rem;
  align-items: start;
}

.ky-checkout-summary-shell {
  display: grid;
  gap: 0;
  align-content: start;
}

.ky-checkout-summary-shell .ky-booking-guarantee {
  margin-top: 1rem;
}

.ky-checkout-summary,
.ky-payment-card,
.ky-confirm-panel,
.ky-feedback-score,
.ky-feedback-pill-card,
.ky-feedback-highlight,
.ky-feedback-report-card {
  border: 1px solid var(--ky-color-line);
  border-radius: var(--ky-radius-lg);
  background: rgba(255, 255, 255, 0.88);
}

.ky-checkout-summary,
.ky-payment-card,
.ky-confirm-panel {
  padding: 1.75rem;
}

.ky-checkout-back-row {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  width: fit-content;
  margin: 0 0 1rem;
}

.ky-checkout-back-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid rgba(212, 123, 95, 0.32);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: var(--ky-shadow-soft);
  color: var(--ky-color-accent-strong);
  text-decoration: none;
  transition: color 160ms ease;
}

.ky-checkout-back-link:hover {
  color: var(--ky-color-accent);
}

.ky-checkout-back-link .material-symbols-outlined {
  font-size: 1.2rem;
  line-height: 1;
}

.ky-checkout-back-link__label {
  color: var(--ky-color-ink);
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: var(--ky-type-flow-preview-title);
  font-weight: 400;
  line-height: 1;
}

.ky-checkout-summary__hero {
  display: grid;
  grid-template-columns: 4.5rem 1fr;
  gap: 1rem;
  align-items: start;
}

.ky-checkout-summary-title {
  margin: 0;
  color: var(--ky-color-ink);
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: var(--ky-type-flow-preview-title);
  font-weight: 600;
  line-height: 1;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ky-checkout-thumb {
  width: 4.5rem;
  height: 4.5rem;
  align-self: start;
  margin-top: 0.15rem;
  border-radius: var(--ky-radius-md);
  object-fit: cover;
  object-position: center top;
  background: rgba(227, 216, 207, 0.8);
}

.ky-checkout-thumb--placeholder,
.ky-feedback-report-card__media {
  background: linear-gradient(180deg, #62503f 0%, #433428 100%);
}

.ky-checkout-hero-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem 0.9rem;
  margin-top: 0.75rem;
}

.ky-checkout-hero-meta .ky-booking-experience-card-meta-item {
  font-size: 0.95rem;
}

.ky-checkout-hero-meta .ky-booking-experience-card-meta-item .material-symbols-outlined {
  font-size: 1rem;
}

.ky-checkout-sections {
  display: grid;
  gap: 0;
  margin-top: 1.25rem;
}

.ky-checkout-section {
  padding: 0.8rem 0;
  border-top: 1px solid var(--ky-color-line);
}

.ky-checkout-section__label {
  margin: 0;
  color: var(--ky-color-ink);
  font-size: var(--ky-type-flow-copy);
  line-height: var(--ky-leading-flow-copy);
  font-weight: 600;
}

.ky-checkout-section__value {
  margin: 0.25rem 0 0;
  color: var(--ky-color-ink);
  font-size: var(--ky-type-flow-copy);
  line-height: var(--ky-leading-flow-copy);
}

.ky-checkout-price-lines {
  display: grid;
  gap: 0.05rem;
  margin: 0.25rem 0 0;
}

.ky-checkout-price-lines div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: var(--ky-color-ink);
  font-size: var(--ky-type-flow-copy);
  line-height: 1.35;
}

.ky-checkout-price-lines dt,
.ky-checkout-price-lines dd {
  margin: 0;
}

.ky-checkout-price-lines dt {
  color: var(--ky-color-ink);
}

.ky-checkout-price-lines dd {
  text-align: right;
}

.ky-checkout-section--total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 0;
}

.ky-checkout-section--total .ky-checkout-section__value {
  margin-top: 0;
  font-size: var(--ky-type-flow-copy);
  font-weight: 600;
}

.ky-checkout-section--total .ky-checkout-section__label {
  font-weight: 600;
}

.ky-payment-element {
  min-height: 8rem;
}

.ky-payment-copy {
  display: grid;
  gap: 1rem;
}

.ky-payment-copy__body {
  margin: 0;
  color: var(--ky-color-ink);
  font-size: var(--ky-type-flow-copy);
  line-height: 1.4;
}

.ky-payment-copy__divider {
  border-top: 1px solid var(--ky-color-line);
}

.ky-checkout-pay-error {
  margin: -0.2rem 0 0;
  color: var(--ky-color-accent-strong);
  font-size: var(--ky-type-flow-copy);
  line-height: 1.4;
  text-align: center;
}

.ky-checkout-pay-error.is-neutral {
  color: var(--ky-color-muted);
}

.ky-checkout-pay-error.is-success {
  color: var(--ky-color-success);
}

.ky-payment-powered {
  margin: 0;
  text-align: center;
  color: var(--ky-color-subtle);
  font-size: 0.95rem;
}

.ky-payment-powered span {
  color: #635bff;
  font-weight: 600;
}

.ky-confirm-main {
  width: 100%;
  max-width: var(--ky-layout-container);
  box-sizing: border-box;
  padding: 2rem 1.25rem 1.5rem;
}

.ky-confirm-brand-row {
  display: flex;
  justify-content: flex-start;
  margin-bottom: var(--ky-space-12);
}

.ky-confirm-brand-row .ky-auth-wordmark {
  line-height: 1;
  margin-bottom: 0;
}

.ky-confirm-shell {
  display: grid;
  gap: 1.75rem;
}

.ky-confirm-hero {
  display: grid;
  grid-template-columns: minmax(0, 26rem) minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
}

.ky-confirm-summary-card {
  border: 1px solid var(--ky-color-line);
  border-radius: var(--ky-radius-xl);
  background: #fff;
  padding: 1rem;
  display: grid;
  gap: 0.9rem;
  min-width: 0;
  max-width: 100%;
}

.ky-confirm-summary-card__media {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: calc(var(--ky-radius-xl) - 0.4rem);
  background: linear-gradient(180deg, #6d5744 0%, #4f4033 100%);
}

.ky-confirm-summary-card__image,
.ky-confirm-summary-card__placeholder {
  width: 100%;
  height: 100%;
}

.ky-confirm-summary-card__image {
  display: block;
  object-fit: cover;
}

.ky-confirm-summary-card__body {
  display: grid;
  gap: 0;
  min-width: 0;
}

.ky-confirm-summary-card__title {
  margin: 0;
  color: var(--ky-color-ink);
  font-family: var(--ky-font-display), Georgia, serif;
  font-weight: 600;
  font-size: 1.875rem;
  line-height: 2.25rem;
  overflow-wrap: anywhere;
}

.ky-confirm-summary-card .ky-checkout-hero-meta {
  gap: var(--ky-space-5);
  margin-top: 0.42rem;
}

.ky-confirm-summary-card .ky-booking-experience-card-meta-item {
  gap: var(--ky-space-2);
  font-size: var(--ky-type-flow-preview-meta);
  line-height: 1.4;
}

.ky-confirm-summary-card .ky-booking-experience-card-meta-item .material-symbols-outlined {
  font-size: 1rem;
}

.ky-confirm-summary-card__details {
  display: grid;
  gap: 0.08rem;
  margin-top: 1rem;
}

.ky-confirm-summary-card__details .ky-confirm-summary-card__meta,
.ky-confirm-summary-card__details .ky-confirm-summary-card__price {
  margin: 0;
  color: var(--ky-color-muted);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: var(--ky-type-flow-copy);
  line-height: 1.35;
}

.ky-confirm-summary-card__price {
  font-weight: 400;
}

.ky-confirm-copy {
  display: grid;
  justify-items: start;
  gap: 0.9rem;
}

.ky-confirm-copy__icon {
  width: 3.5rem;
  height: 3.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.ky-confirm-copy__icon .material-symbols-outlined {
  font-size: 2rem;
}

.ky-confirm-copy__icon--confirmed {
  background: rgba(212, 123, 95, 0.12);
  color: var(--ky-color-accent-strong);
}

.ky-confirm-copy__icon--pending {
  background: rgba(227, 216, 207, 0.72);
  color: var(--ky-color-card);
}

.ky-confirm-copy__eyebrow {
  margin: 0;
  color: var(--ky-color-accent-strong);
  font-size: var(--ky-type-label-xs);
  font-weight: 600;
  letter-spacing: var(--ky-tracking-eyebrow);
  text-transform: uppercase;
}

.ky-confirm-copy__title {
  margin: 0;
  color: var(--ky-color-ink);
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: var(--ky-type-home-display-hero);
  font-weight: 600;
  line-height: 0.92;
}

.ky-confirm-subtitle {
  margin: 0;
  max-width: 34rem;
  font-size: var(--ky-type-home-body);
  line-height: var(--ky-leading-home-body);
  color: var(--ky-color-muted);
}

.ky-confirm-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 2rem;
}

.ky-confirm-details div {
  display: grid;
  gap: 0.22rem;
}

.ky-confirm-details dt {
  color: var(--ky-color-subtle);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.ky-confirm-details dd {
  margin: 0;
  color: var(--ky-color-ink);
  font-size: 1rem;
  line-height: 1.45;
}

.ky-confirm-details__wide {
  grid-column: 1 / -1;
}

.ky-confirm-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.ky-confirm-action-stack-mobile {
  display: none;
}

.ky-confirm-next {
  width: 100%;
}

.ky-confirm-next__steps {
  display: grid;
  gap: 1.5rem;
  margin-block: 1.5rem;
}

.ky-confirm-step {
  display: grid;
  grid-template-columns: minmax(3.75rem, 5rem) 1fr;
  gap: 1.25rem;
  align-items: start;
}

.ky-confirm-step__number {
  display: block;
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: clamp(2.4rem, 4.5vw, 3.5rem);
  font-weight: 500;
  line-height: 0.84;
  letter-spacing: -0.05em;
  color: rgba(158, 141, 131, 0.38);
}

.ky-confirm-step__title {
  margin: 0;
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: clamp(1.45rem, 2.2vw, 2.05rem);
  font-weight: 600;
  line-height: 0.98;
  color: var(--ky-color-ink);
}

.ky-confirm-step__body {
  margin: 0.5rem 0 0;
  font-size: var(--ky-type-home-body);
  line-height: var(--ky-leading-home-body);
  color: var(--ky-color-muted);
}

.ky-feedback-archive__hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18rem;
  gap: 2rem;
  align-items: start;
}

.ky-feedback-score,
.ky-feedback-pill-card,
.ky-feedback-highlight {
  padding: 1.5rem;
}

.ky-feedback-spotlights {
  display: grid;
  grid-template-columns: 12rem minmax(0, 1fr);
  gap: 1rem;
  margin-top: 2rem;
}

.ky-feedback-highlight {
  min-height: 15rem;
  background: linear-gradient(180deg, rgba(255, 237, 212, 0.88) 0%, rgba(247, 218, 180, 0.92) 100%);
}

.ky-feedback-report-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}

.ky-feedback-report-card {
  overflow: hidden;
}

.ky-feedback-report-card__media {
  min-height: 12rem;
}

.ky-feedback-report-card__body {
  padding: 1.35rem;
}

.ky-feedback-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin-top: 2rem;
  padding: 2rem;
  border-radius: var(--ky-radius-lg);
  background: linear-gradient(135deg, var(--ky-color-accent) 0%, var(--ky-color-accent-strong) 100%);
}

.ky-feedback-banner__actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.ky-feedback-form-page {
  width: min(100%, 52rem);
  margin: 0 auto;
}

.ky-feedback-form-stack--readonly {
  margin-bottom: 2.5rem;
}

.ky-feedback-form-page .fb-field-label {
  display: block;
  margin: 0;
  color: var(--ky-color-ink);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: var(--ky-type-flow-copy);
  font-weight: 600;
  line-height: 1.5;
}

.ky-feedback-form-page .fb-field-hint {
  margin: 0.1rem 0 0;
  color: var(--ky-color-muted);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: var(--ky-type-flow-copy);
  font-weight: 400;
  line-height: 1.5;
}

.ky-feedback-inline-error {
  margin: 0;
  min-height: 1rem;
  color: var(--ky-color-accent-strong);
  font-size: var(--ky-type-error-sm);
  line-height: 1.5;
}

.ky-feedback-form-hero {
  margin-top: 1.25rem;
  margin-bottom: 2rem;
}

.ky-feedback-form-page .fb-control {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid var(--ky-color-line);
  border-radius: var(--ky-radius-flow-control);
  background: var(--ky-color-flow-field-surface);
  box-shadow: var(--ky-shadow-soft);
  color: var(--ky-color-ink);
  font: inherit;
  font-size: var(--ky-type-copy-md);
  line-height: var(--ky-leading-copy-md);
  outline: none;
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease;
}

.ky-feedback-form-page .fb-control::placeholder {
  color: var(--ky-color-subtle);
}

.ky-feedback-form-page .fb-control:hover {
  border-color: var(--ky-color-flow-accent-line);
  background: var(--ky-color-flow-field-hover);
}

.ky-feedback-form-page .fb-control:focus {
  border-color: var(--ky-color-accent);
  background: var(--ky-color-flow-field-surface-strong);
  box-shadow: var(--ky-shadow-soft);
}

.ky-feedback-form-page .fb-control--readonly {
  display: flex;
  align-items: center;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ky-feedback-form-page .fb-control--readonly.fb-control--textarea {
  align-items: flex-start;
}

.ky-feedback-form-page .fb-control--input {
  padding:
    var(--ky-size-auth-control-py)
    var(--ky-space-flow-field-px);
}

.ky-feedback-form-page .fb-control--textarea {
  min-height: 9rem;
  padding: var(--ky-size-auth-control-px) var(--ky-size-auth-control-px);
  resize: vertical;
}

.ky-feedback-form-page .fb-field--counted {
  position: relative;
}

.ky-feedback-form-page .fb-field--counted .fb-control {
  padding-right: var(--ky-space-flow-count-pr);
}

.ky-feedback-form-page .fb-field--counted:not(.fb-field--counted-compact) .fb-control--textarea {
  padding-bottom: var(--ky-space-flow-count-pb);
}

.ky-feedback-form-page .fb-field-count {
  position: absolute;
  right: var(--ky-space-4);
  bottom: var(--ky-space-3);
  color: var(--ky-color-subtle);
  font-size: var(--ky-type-flow-count);
  line-height: var(--ky-leading-ui);
  font-variant-numeric: tabular-nums;
  pointer-events: none;
  white-space: nowrap;
}

.ky-feedback-form-page .fb-field-count--compact {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}

.ky-feedback-form-actions {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 2.5rem 0;
}

.ky-feedback-form-actions > [data-feedback-form-error]:empty {
  min-height: 0;
}

.ky-feedback-form-actions > [data-feedback-form-error]:not(:empty) {
  margin-top: var(--ky-space-2);
}

.ky-feedback-focus-toggle {
  cursor: pointer;
  min-height: auto;
  padding: calc(var(--ky-space-2) + var(--ky-space-1)) var(--ky-space-4);
  font-size: var(--ky-type-ui-sm);
  font-weight: 400;
  line-height: var(--ky-leading-ui);
  text-align: center;
}

.ky-feedback-focus-toggle:hover {
  border-color: rgba(185, 95, 69, 0.34);
  background: rgba(212, 123, 95, 0.08);
  color: var(--ky-color-accent-strong);
}

.ky-feedback-focus-toggle:focus-visible {
  outline: none;
  border-color: rgba(185, 95, 69, 0.42);
  box-shadow: 0 0 0 0.2rem rgba(212, 123, 95, 0.14);
}

.ky-feedback-focus-toggle[aria-pressed="true"] {
  border-color: rgba(185, 95, 69, 0.48);
  background: rgba(212, 123, 95, 0.14);
  color: var(--ky-color-accent-strong);
}

.ky-feedback-focus-toggle[aria-pressed="true"]:hover {
  background: rgba(212, 123, 95, 0.18);
}

.ky-feedback-book-again-option {
  display: inline-flex;
  cursor: pointer;
}

.ky-feedback-book-again-choice,
.ky-feedback-book-again-badge {
  gap: 0.55rem;
  min-width: auto;
  min-height: auto;
  padding: calc(var(--ky-space-2) + var(--ky-space-1)) var(--ky-space-4);
  font-size: var(--ky-type-ui-sm);
  font-weight: 400;
  line-height: var(--ky-leading-ui);
  text-align: center;
}

.ky-feedback-book-again-choice {
  cursor: pointer;
}

.ky-feedback-book-again-option:hover .ky-feedback-book-again-choice {
  border-color: rgba(185, 95, 69, 0.34);
  background: rgba(212, 123, 95, 0.08);
  color: var(--ky-color-accent-strong);
}

.ky-feedback-book-again-option input:checked + .ky-feedback-book-again-choice {
  border-color: rgba(185, 95, 69, 0.48);
  background: rgba(212, 123, 95, 0.14);
  color: var(--ky-color-accent-strong);
}

.ky-feedback-book-again-option input:checked + .ky-feedback-book-again-choice:hover {
  background: rgba(212, 123, 95, 0.18);
}

.ky-feedback-book-again-option input:focus-visible + .ky-feedback-book-again-choice {
  outline: none;
  border-color: rgba(185, 95, 69, 0.42);
  box-shadow: 0 0 0 0.2rem rgba(212, 123, 95, 0.14);
}

.ky-feedback-book-again-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: start;
  width: fit-content;
  max-width: max-content;
  border: 1px solid rgba(185, 95, 69, 0.48);
  border-radius: var(--ky-radius-pill);
  background: rgba(212, 123, 95, 0.14);
  color: var(--ky-color-accent-strong);
}

.ky-feedback-form-page .ky-dashboard-feature-copy.ky-feedback-view-copy {
  color: rgb(17 24 39);
}

.ky-feedback-focus-group-card {
  padding-top: 1.25rem;
  padding-bottom: 0.625rem;
}

.ky-feedback-focus-panel-stack {
  display: grid;
}

.ky-feedback-focus-panel {
  padding: 1rem 0;
}

.ky-feedback-focus-panel:not(.hidden) ~ .ky-feedback-focus-panel:not(.hidden) {
  border-top: 1px solid var(--ky-color-line);
}

.ky-feedback-focus-slider-wrap {
  --ky-feedback-focus-face-size: 2.45rem;
  --ky-feedback-focus-position: 50%;
  --ky-feedback-focus-track-start: 50%;
  --ky-feedback-focus-track-end: 50%;
  --ky-feedback-focus-active-color: var(--ky-color-muted);
  --ky-feedback-focus-thumb-color: var(--ky-color-muted);
  position: relative;
  padding-block: 0.65rem;
}

.ky-feedback-focus-face {
  position: absolute;
  top: 50%;
  left: clamp(
    calc(var(--ky-feedback-focus-face-size) / 2),
    var(--ky-feedback-focus-position),
    calc(100% - (var(--ky-feedback-focus-face-size) / 2))
  );
  transform: translate(-50%, -50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--ky-feedback-focus-face-size);
  height: var(--ky-feedback-focus-face-size);
  border: 1px solid var(--ky-color-line);
  border-radius: 9999px;
  background: var(--ky-color-panel);
  color: var(--ky-color-ink);
  font-size: 1.35rem;
  line-height: 1;
  pointer-events: none;
  z-index: 2;
}

.ky-feedback-focus-slider {
  --ky-feedback-focus-position: 50%;
  --ky-feedback-focus-track-start: 50%;
  --ky-feedback-focus-track-end: 50%;
  --ky-feedback-focus-active-color: var(--ky-color-muted);
  --ky-feedback-focus-thumb-color: var(--ky-color-muted);
  width: 100%;
  height: 0.42rem;
  border-radius: 9999px;
  background: linear-gradient(
    to right,
    rgba(212, 123, 95, 0.16) 0%,
    rgba(212, 123, 95, 0.16) var(--ky-feedback-focus-track-start),
    var(--ky-feedback-focus-active-color) var(--ky-feedback-focus-track-start),
    var(--ky-feedback-focus-active-color) var(--ky-feedback-focus-track-end),
    rgba(212, 123, 95, 0.16) var(--ky-feedback-focus-track-end),
    rgba(212, 123, 95, 0.16) 100%
  );
  appearance: none;
  -webkit-appearance: none;
}

.ky-feedback-focus-slider::-webkit-slider-runnable-track {
  height: 0.42rem;
  border-radius: 9999px;
  background: transparent;
}

.ky-feedback-focus-slider::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.29rem;
  border: 0;
  border-radius: 9999px;
  background: transparent;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
}

.ky-feedback-focus-slider::-moz-range-track {
  height: 0.42rem;
  border: 0;
  border-radius: 9999px;
  background: rgba(212, 123, 95, 0.16);
}

.ky-feedback-focus-slider::-moz-range-progress {
  height: 0.42rem;
  border: 0;
  border-radius: 9999px;
  background: var(--ky-feedback-focus-active-color);
}

.ky-feedback-focus-slider::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  border: 0;
  border-radius: 9999px;
  background: transparent;
  box-shadow: none;
}

.ky-live-page {
  --ky-live-gap: 1rem;
  --ky-live-sidebar-width: clamp(18rem, 22vw, 20rem);
  --ky-live-chat-width: 0rem;
  --ky-live-radius-panel: 1.25rem;
  --ky-live-radius-frame: 1.25rem;
  --ky-live-color-page: #131313;
  --ky-live-color-surface: #232323;
  --ky-live-color-surface-overlay: rgba(17, 17, 17, 0.82);
  --ky-live-color-line: rgba(255, 255, 255, 0.08);
  --ky-live-color-line-soft: rgba(255, 255, 255, 0.03);
  --ky-live-color-text: #fff;
  --ky-live-color-text-muted: rgba(255, 255, 255, 0.72);
  --ky-live-color-text-subtle: rgba(255, 255, 255, 0.56);
  --ky-live-color-text-faint: rgba(255, 255, 255, 0.4);
  --ky-live-color-danger: #ff4e4e;
  --ky-live-color-stage-start: #5b4633;
  --ky-live-color-stage-end: #775b44;
  --ky-live-color-pip-start: #4d4d4d;
  --ky-live-color-pip-end: #2d2d2d;
  --ky-live-shadow-control: 0 6px 18px rgba(0, 0, 0, 0.14);
  --ky-live-shadow-panel: inset 0 0 0 1px var(--ky-live-color-line-soft);
  min-height: 100svh;
  height: 100svh;
  background: var(--ky-live-color-page);
  color: var(--ky-live-color-text);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-sizing: border-box;
  padding: var(--ky-live-gap);
  gap: var(--ky-live-gap);
}

.ky-live-page.is-chat-open {
  --ky-live-chat-width: clamp(19rem, 23vw, 21rem);
}

.ky-live-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.95rem 1.5rem;
  border-radius: 1rem;
  background: transparent;
}

.ky-live-topbar__brand {
  display: inline-flex;
  align-items: baseline;
  gap: 0.6rem;
  color: var(--ky-color-accent);
  font-weight: 700;
}

.ky-live-topbar__wordmark {
  color: var(--ky-color-wordmark);
  font-size: var(--ky-type-wordmark);
}

.ky-live-topbar__label {
  color: var(--ky-live-color-text);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: var(--ky-type-ui-sm);
  font-weight: 600;
  line-height: var(--ky-leading-ui);
  letter-spacing: 0.02em;
}

.ky-live-topbar__brand span {
  color: rgba(255, 255, 255, 0.3);
  margin: 0 0.5rem;
}

.ky-live-topbar__meta {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--ky-live-color-text);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: var(--ky-type-ui-sm);
  font-weight: 600;
  line-height: var(--ky-leading-ui);
  letter-spacing: 0.02em;
}

.ky-live-session-banner {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 0;
  pointer-events: none;
}

.ky-live-session-banner.hidden {
  display: none !important;
}

.ky-live-session-banner p {
  margin: 0;
  max-width: min(34rem, 100%);
  border-radius: 9999px;
  background: rgba(145, 34, 34, 0.92);
  padding: 0.58rem 0.95rem;
  color: #fff;
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
  pointer-events: auto;
}

.ky-live-topbar__duration {
  color: var(--ky-live-color-text-faint);
}

.ky-live-dot {
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 9999px;
  background: #ff5656;
}

.ky-live-grid {
  display: grid;
  grid-template-columns: minmax(0, auto) var(--ky-live-sidebar-width) var(--ky-live-chat-width);
  justify-content: center;
  gap: var(--ky-live-gap);
  padding: 0;
  flex: 1;
  align-items: stretch;
  min-height: 0;
  overflow: hidden;
}

.ky-live-stage {
  display: flex;
  justify-content: flex-start;
  min-width: 0;
  min-height: 0;
}

.ky-live-panel {
  border-radius: var(--ky-live-radius-panel);
  background: var(--ky-live-color-surface);
  box-shadow: var(--ky-live-shadow-panel);
  overflow: hidden;
}

.ky-live-media-frame {
  border-radius: var(--ky-live-radius-frame);
  overflow: hidden;
  box-shadow: var(--ky-live-shadow-panel);
}

.ky-live-stage__frame {
  position: relative;
  width: min(
    calc(100svh - 12.75rem),
    calc(100vw - (var(--ky-live-sidebar-width) + var(--ky-live-chat-width) + 6rem))
  );
  max-width: 100%;
  aspect-ratio: 1 / 1;
  min-height: 0;
  background: linear-gradient(135deg, var(--ky-live-color-stage-start) 0%, var(--ky-live-color-stage-end) 100%);
}

.ky-live-stage__remote,
.ky-live-stage__preview-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ky-live-stage__preview-video {
  transform: scaleX(-1);
}

.ky-live-page video::-webkit-media-controls,
.ky-live-page video::-webkit-media-controls-panel,
.ky-live-page video::-webkit-media-controls-play-button,
.ky-live-page video::-webkit-media-controls-start-playback-button {
  display: none !important;
  -webkit-appearance: none;
}

.ky-live-placeholder,
.ky-live-overlay {
  position: absolute;
  inset: 0;
  text-align: center;
}

.ky-live-placeholder.hidden,
.ky-live-overlay.hidden {
  display: none !important;
}

.ky-live-placeholder:not(.hidden),
.ky-live-overlay:not(.hidden) {
  display: flex;
  align-items: center;
  justify-content: center;
}

.ky-live-overlay__card {
  border-radius: var(--ky-radius-md);
  background: var(--ky-live-color-surface-overlay);
  padding: 1.25rem 1.4rem;
}

.ky-live-overlay--participant .ky-live-overlay__card {
  max-width: calc(100% - 1.4rem);
  padding: 0.95rem 1rem;
}

.ky-live-pip {
  width: 100%;
  height: 100%;
  border-radius: 1rem;
  overflow: hidden;
  background: linear-gradient(135deg, var(--ky-live-color-pip-start) 0%, var(--ky-live-color-pip-end) 100%);
  position: relative;
}

.ky-live-pip span {
  position: absolute;
  left: 0.7rem;
  bottom: 0.7rem;
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: var(--ky-type-label-xs);
  font-weight: 700;
  line-height: var(--ky-leading-ui);
  color: var(--ky-live-color-text);
}

.ky-live-sidebar {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: var(--ky-live-gap);
  min-height: 0;
  width: var(--ky-live-sidebar-width);
  height: 100%;
  align-self: stretch;
}

.ky-live-chat-panel {
  min-height: 0;
  width: var(--ky-live-chat-width);
  height: 100%;
}

.ky-live-chat-panel.hidden,
.ky-live-chat-panel[hidden] {
  display: none !important;
}

.ky-live-participant {
  padding: 0;
  display: block;
  background: transparent;
  min-height: 0;
}

.ky-live-participant__frame {
  width: 100%;
  aspect-ratio: 1 / 1;
  background: linear-gradient(135deg, var(--ky-live-color-pip-start) 0%, var(--ky-live-color-pip-end) 100%);
  position: relative;
  padding: 0.85rem;
}

.ky-live-participant__placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.85rem;
}

.ky-live-presence {
  display: grid;
  justify-items: center;
  gap: 0.7rem;
  width: min(100%, 18rem);
  padding: 1.35rem 1.5rem;
  text-align: center;
  color: var(--ky-live-color-text);
}

.ky-live-presence--compact {
  gap: 0.6rem;
  width: min(100%, 12rem);
  padding: 1rem;
}

.ky-live-presence__avatar {
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 9999px;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(247, 240, 232, 0.2);
  color: #f7f0e8;
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.2);
}

.ky-live-presence--compact .ky-live-presence__avatar {
  width: 3.35rem;
  height: 3.35rem;
  font-size: 1rem;
}

.ky-live-presence__avatar-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ky-live-presence__name {
  margin: 0;
  color: var(--ky-live-color-text);
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: clamp(1.5rem, 2.6vw, 1.95rem);
  font-weight: 500;
  line-height: 1.04;
}

.ky-live-presence--compact .ky-live-presence__name {
  font-size: 1.3rem;
}

.ky-live-session-card {
  padding: 1.05rem 1rem 1rem;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.ky-live-session-card__body {
  display: grid;
  align-content: start;
  gap: 0;
  min-height: 0;
  overflow-y: auto;
  padding-right: 0.1rem;
}

.ky-live-session-card .ky-dashboard-eyebrow.ky-live-session-card__eyebrow {
  margin-bottom: 0.5rem;
  color: var(--ky-color-accent-strong);
  font-size: var(--ky-type-label-xs);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ky-live-session-card__title {
  margin: 0;
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: clamp(1.45rem, 2vw, 1.9rem);
  line-height: 1.04;
  color: var(--ky-live-color-text);
}

.ky-live-session-card__meta,
.ky-live-session-card__host,
.ky-live-session-card__description,
.ky-live-session-card__takeaway {
  margin: 0;
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.82rem;
  color: var(--ky-live-color-text-muted);
}

.ky-live-session-card__meta {
  margin-top: 0.5rem;
}

.ky-live-session-card__host {
  margin-top: 0.2rem;
}

.ky-live-session-card__description {
  margin-top: 0.5rem;
  font-size: 0.95rem;
  line-height: 1.5;
}

.ky-live-session-card__takeaways {
  display: grid;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.ky-live-session-card__takeaway {
  margin: 0;
  color: var(--ky-live-color-text-subtle);
  font-size: 0.9rem;
  line-height: 1.45;
}

.ky-live-session-card__status {
  margin-top: 0.95rem;
  display: grid;
  gap: 0.45rem;
  font-size: 0.76rem;
  color: var(--ky-live-color-text-subtle);
}

.ky-live-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 1rem 1.2rem 1rem;
  border-radius: 1rem;
  background: transparent;
}

.ky-live-controls__cluster {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  flex-wrap: wrap;
  justify-content: center;
}

.ky-live-controls__cta {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  flex-wrap: wrap;
  justify-content: center;
}

.ky-live-icon-button,
.ky-live-primary-button,
.ky-live-end-button {
  border: 0;
  border-radius: var(--ky-radius-pill);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-weight: 700;
  transition:
    background-color 160ms ease,
    border-color 160ms ease,
    color 160ms ease;
}

.ky-live-icon-button {
  width: 3.35rem;
  height: 3.35rem;
  border-radius: 9999px;
  background: var(--ky-color-panel);
  color: var(--ky-color-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid rgba(212, 123, 95, 0.18);
  box-shadow: var(--ky-live-shadow-control);
}

.ky-live-icon-button.is-primary {
  background: var(--ky-color-accent);
  color: #fff;
  border-color: transparent;
}

.ky-live-icon-button.is-on,
.ky-live-icon-button.is-active {
  background: var(--ky-color-accent);
  color: #fff;
  border-color: transparent;
}

.ky-live-icon-button.is-danger {
  background: var(--ky-live-color-danger);
  color: #fff;
  border-color: transparent;
}

.ky-live-icon-button .material-symbols-outlined {
  font-size: 1.45rem;
  font-variation-settings:
    "FILL" 0,
    "wght" 500,
    "GRAD" 0,
    "opsz" 24;
}

.ky-live-icon-button.is-off {
  background: #262626;
  color: rgba(255, 255, 255, 0.75);
  border-color: var(--ky-live-color-line);
  box-shadow: none;
}

.ky-live-icon-button.is-disabled,
.ky-live-icon-button:disabled {
  opacity: 0.48;
  cursor: not-allowed;
}

@media (hover: hover) {
  .ky-live-icon-button.is-primary:not(:disabled):not(.is-disabled):hover,
  .ky-live-icon-button.is-on:not(:disabled):not(.is-disabled):hover,
  .ky-live-icon-button.is-active:not(:disabled):not(.is-disabled):hover,
  .ky-live-primary-button:not(:disabled):not([aria-disabled="true"]):hover {
    background: var(--ky-color-accent-strong);
  }

  .ky-live-icon-button.is-danger:not(:disabled):not(.is-disabled):hover,
  .ky-live-end-button:not(:disabled):not(.is-disabled):hover {
    background: #ff3e3e;
  }

  .ky-live-icon-button.is-off:not(:disabled):not(.is-disabled):hover {
    background: #303030;
    border-color: rgba(255, 255, 255, 0.14);
  }
}

.ky-live-icon-button:focus-visible,
.ky-live-primary-button:focus-visible,
.ky-live-end-button:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 3px rgba(212, 123, 95, 0.2),
    0 10px 24px rgba(0, 0, 0, 0.2);
}

.ky-live-primary-button {
  background: var(--ky-color-accent);
  color: #fff;
  padding: 0.9rem 1.3rem;
}

.ky-live-end-button {
  background: var(--ky-live-color-danger);
  color: #fff;
  padding: 0.95rem 1.8rem;
}

.ky-live-end-button.is-disabled,
.ky-live-end-button:disabled {
  opacity: 0.48;
  cursor: not-allowed;
}

.ky-live-device-select {
  appearance: none;
  width: 100%;
  min-height: 3.35rem;
  border-radius: 1.1rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: #1c1c1c;
  color: #fff;
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.98rem;
  line-height: 1.3;
  padding: 0.85rem 1rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
  transition:
    background-color 160ms ease,
    border-color 160ms ease;
}

.ky-live-device-select:focus,
.ky-live-device-select:focus-visible {
  outline: none;
  border-color: rgba(212, 123, 95, 0.55);
  box-shadow: 0 0 0 3px rgba(212, 123, 95, 0.14);
}

.ky-live-device-select:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.ky-modal__dialog.ky-video-device-modal__dialog {
  border-radius: 1.4rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: #171717;
  color: #fff;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.35);
  overflow: hidden;
  padding: 0;
}

.ky-video-device-modal {
  --ky-video-device-modal-gap: 0.72rem;
  --ky-video-device-modal-action-space: 1.2rem;
  display: grid;
  gap: var(--ky-video-device-modal-gap);
  padding: 1.4rem 1.4rem var(--ky-video-device-modal-action-space);
}

.ky-video-device-modal__header {
  display: grid;
  gap: var(--ky-video-device-modal-gap);
}

.ky-video-device-modal .ky-dashboard-eyebrow {
  margin: 0;
  color: var(--ky-color-accent-strong);
}

.ky-video-device-modal__title {
  margin: 0;
  color: #fff;
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: clamp(1.45rem, 2.3vw, 1.8rem);
  font-weight: 500;
  line-height: 1.08;
}

.ky-video-device-modal__copy {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.95rem;
  line-height: 1.5;
}

.ky-video-device-modal__status {
  margin: 0;
  margin-top: calc(var(--ky-video-device-modal-action-space) - var(--ky-video-device-modal-gap));
  color: rgba(255, 255, 255, 0.52);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.84rem;
  font-weight: 500;
  line-height: 1.45;
  text-align: center;
}

.ky-video-device-modal__status:empty {
  display: none;
}

.ky-video-device-modal__status[data-state="error"] {
  color: #f3a4a4;
}

.ky-video-device-modal__status[data-state="ready"] {
  color: #d6f1e1;
}

.ky-video-device-modal__fields {
  display: grid;
  gap: 0.9rem;
}

.ky-video-device-modal__field {
  display: grid;
  gap: 0.45rem;
}

.ky-video-device-modal__label {
  color: rgba(255, 255, 255, 0.72);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.ky-video-device-modal__actions {
  display: flex;
  margin-top: calc(var(--ky-video-device-modal-action-space) - var(--ky-video-device-modal-gap));
}

.ky-video-device-modal__actions .ky-live-primary-button {
  width: 100%;
  min-height: 3.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 1.1rem;
  color: #fff;
  font-weight: 700;
  font-size: 0.98rem;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

.ky-video-device-modal__actions .ky-live-primary-button:disabled,
.ky-video-device-modal__actions .ky-live-primary-button[aria-disabled="true"] {
  opacity: 0.5;
  cursor: not-allowed;
}

@media (hover: hover) {
  .ky-live-device-select:not(:disabled):hover {
    background: #212121;
    border-color: rgba(212, 123, 95, 0.34);
  }
}

.ky-chat-thread--live-panel {
  --ky-chat-shell-gap: 1rem;
  --ky-chat-header-gap: 0.75rem;
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  border-radius: var(--ky-live-radius-panel);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(252, 248, 244, 0.92));
  border: 1px solid rgba(84, 63, 51, 0.08);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
  padding: var(--ky-chat-shell-gap);
}

.ky-chat-thread--live-panel .ky-chat-messages {
  flex: 1 1 auto;
  height: auto;
  min-height: 0;
  max-height: none;
}

.ky-chat-page {
  min-height: 100svh;
  background:
    radial-gradient(circle at top left, rgba(212, 123, 95, 0.14), transparent 28rem),
    linear-gradient(180deg, #f7f0e8 0%, #f4ebe1 100%);
  color: #2f2a27;
}

.ky-chat-page__topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.4rem;
  border-bottom: 1px solid rgba(84, 63, 51, 0.08);
}

.ky-chat-page__brand {
  color: #bf6d4f;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.ky-chat-page__brand span {
  color: rgba(56, 43, 35, 0.28);
  margin: 0 0.5rem;
}

.ky-chat-page__meta {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: rgba(56, 43, 35, 0.72);
  font-size: 0.9rem;
  font-weight: 600;
}

.ky-chat-page__meta-dot {
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 9999px;
  background: #bf6d4f;
}

.ky-chat-page__shell {
  width: min(100% - 2.5rem, 64rem);
  margin: 0 auto;
  padding: 1.5rem 0 1.75rem;
}

.ky-chat-page__panel {
  border-radius: 2rem;
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid rgba(84, 63, 51, 0.08);
  box-shadow: 0 24px 60px rgba(84, 63, 51, 0.08);
  padding: 1.3rem;
}

.ky-modal {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: grid;
  min-height: 100dvh;
  padding: var(--ky-space-4);
  background: rgba(52, 45, 42, 0.5);
  backdrop-filter: blur(10px);
}

.ky-modal.hidden {
  display: none !important;
}

.ky-modal--center {
  place-items: center;
}

.ky-modal--sheet-right {
  align-items: stretch;
  justify-content: end;
}

.ky-modal--sheet-bottom {
  align-items: end;
  justify-content: center;
}

.ky-modal__dialog {
  width: min(100%, 28rem);
  max-height: calc(100dvh - 3rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  margin-inline: auto;
  border: 1px solid var(--ky-color-line);
  border-radius: var(--ky-radius-xl);
  background: var(--ky-color-panel);
  box-shadow: var(--ky-shadow-card);
}

.ky-modal__placeholder {
  padding: var(--ky-space-6);
  color: var(--ky-color-muted);
  font-size: var(--ky-type-ui-sm);
  line-height: var(--ky-leading-copy);
  text-align: center;
}

.ky-modal__placeholder--error {
  color: var(--ky-color-accent-strong);
}

.ky-modal__dialog--sm {
  width: min(100%, 24rem);
}

.ky-modal__dialog--md {
  width: min(100%, 28rem);
}

.ky-modal__dialog--lg {
  width: min(100%, 32rem);
}

.ky-modal__dialog--xl {
  width: min(100%, 42rem);
}

.ky-modal__dialog--2xl {
  width: min(100%, 48rem);
}

.ky-modal__dialog--4xl {
  width: min(100%, 56rem);
}

.ky-modal__dialog--full {
  width: 100vw;
  max-width: none;
  max-height: 100dvh;
  height: 100dvh;
  border-radius: 0;
}

.ky-chat-page__hero {
  padding: 0.15rem 0.15rem 1rem;
}

.ky-chat-page__eyebrow,
.ky-chat-modal__eyebrow {
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #bf6d4f;
}

.ky-chat-page__title,
.ky-chat-modal__title {
  margin-top: 0.45rem;
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: clamp(2.2rem, 4vw, 3.05rem);
  line-height: 0.96;
  color: #2f2622;
}

.ky-chat-thread__title {
  margin: 0;
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: clamp(1.5rem, 2vw, 1.9rem);
  line-height: 1.04;
  font-weight: 400;
  color: #2f2622;
}

.ky-chat-modal__title {
  font-size: clamp(1.7rem, 2.3vw, 2.15rem);
}

.ky-chat-page__subtitle {
  margin-top: 0.75rem;
  max-width: 38rem;
  font-size: 1rem;
  line-height: 1.6;
  color: rgba(47, 38, 34, 0.72);
}

.ky-chat-thread {
  --ky-chat-shell-gap: 1.1rem;
  --ky-chat-header-gap: 0.8rem;
  display: flex;
  flex-direction: column;
  min-height: 0;
  border-radius: 1.65rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(252, 248, 244, 0.92));
  border: 1px solid rgba(84, 63, 51, 0.08);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
  padding: 1rem;
}

.ky-chat-thread--modal {
  flex: 1 1 auto;
  height: 100%;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  min-height: 0;
  overflow: hidden;
  padding: var(--ky-chat-shell-gap);
}

.ky-chat-modal__dialog {
  display: flex;
  flex-direction: column;
  height: min(40rem, calc(100dvh - 3rem));
  min-height: 0;
  border-radius: var(--ky-radius-xl);
  border-color: rgba(84, 63, 51, 0.08);
  background: var(--ky-color-canvas);
  box-shadow: var(--ky-shadow-card);
  overflow: hidden;
  padding: 0;
}

.ky-chat-thread__statusbar {
  display: flex;
  align-items: start;
  justify-content: center;
  gap: 1rem;
  padding: 0 0 var(--ky-chat-header-gap);
}

.ky-chat-thread__heading {
  display: grid;
  justify-items: center;
  row-gap: var(--ky-chat-header-gap);
  min-width: 0;
  text-align: center;
}

.ky-chat-thread__identity {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  min-width: 0;
  padding-block: 0;
}

.ky-chat-thread__identity-link {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  text-decoration: none;
  color: inherit;
  border-radius: 999px;
  transition: opacity 160ms ease, transform 160ms ease;
}

.ky-chat-thread__identity-link:hover {
  opacity: 0.9;
}

.ky-chat-thread__identity-link:focus-visible {
  outline: 2px solid rgba(191, 109, 79, 0.35);
  outline-offset: 0.25rem;
}

.ky-chat-thread__identity-avatar {
  width: 2.65rem;
  height: 2.65rem;
  border-radius: 9999px;
  overflow: hidden;
  flex: 0 0 auto;
  background: rgba(191, 109, 79, 0.14);
  color: #805340;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.98rem;
  font-weight: 700;
  box-shadow: 0 6px 18px rgba(64, 41, 63, 0.08);
}

.ky-chat-thread__identity-avatar-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ky-chat-thread .ky-dashboard-eyebrow {
  font-size: var(--ky-type-label-xs);
  font-weight: 600;
  margin: 0;
  color: var(--ky-color-accent-strong);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ky-chat-thread__notice {
  margin: var(--ky-chat-shell-gap) 0 0;
  color: var(--ky-color-subtle);
  font-size: 0.92rem;
  line-height: 1.45;
  text-align: center;
}

.ky-chat-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 7rem;
  padding: 0.45rem 0.85rem;
  border-radius: 9999px;
  background: rgba(84, 63, 51, 0.06);
  color: rgba(47, 38, 34, 0.64);
  font-size: 0.8rem;
  font-weight: 700;
}

.ky-chat-status[data-state="connected"] {
  background: rgba(61, 124, 87, 0.12);
  color: #2c6f4c;
}

.ky-chat-status[data-state="error"] {
  background: rgba(172, 64, 51, 0.14);
  color: #9f3f34;
}

.ky-chat-messages {
  height: clamp(13rem, 32svh, 16rem);
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  scrollbar-gutter: stable;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 1rem;
  min-height: 0;
  padding: 1rem;
  border-radius: 1.35rem;
  background: var(--ky-color-panel);
  border: 1px solid rgba(84, 63, 51, 0.08);
  box-shadow: none;
}

.ky-chat-messages:focus,
.ky-chat-messages:focus-visible {
  outline: none;
}

.ky-chat-messages--always-scroll {
  overflow-y: scroll;
}

.ky-chat-thread--modal .ky-chat-messages {
  flex: 1 1 auto;
  height: auto;
  min-height: 0;
  max-height: none;
}

.ky-chat-messages.is-loading,
.ky-chat-messages.is-empty {
  justify-content: center;
}

.ky-chat-loading {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  min-height: 0;
  padding: 2rem 1rem;
  color: rgba(47, 38, 34, 0.52);
  font-size: 0.95rem;
  text-align: center;
}

.ky-chat-loading__spinner {
  width: 1.15rem;
  height: 1.15rem;
  border-radius: 9999px;
  border: 2px solid rgba(191, 109, 79, 0.18);
  border-top-color: var(--ky-color-accent-strong);
  animation: ky-spin 0.9s linear infinite;
}

.ky-chat-message {
  display: flex;
  flex: 0 0 auto;
  min-width: 0;
}

.ky-chat-message.is-self {
  justify-content: flex-end;
}

.ky-chat-message__body {
  display: grid;
  gap: 0.3rem;
  min-width: 0;
  max-width: min(78%, 36rem);
}

.ky-chat-message__bubble-row {
  display: flex;
  align-items: flex-end;
  gap: 0.8rem;
  min-width: 0;
  max-width: 100%;
}

.ky-chat-message.is-self .ky-chat-message__body {
  margin-left: auto;
  justify-items: end;
  max-width: min(70%, 34rem);
}

.ky-chat-message.is-self .ky-chat-message__bubble-row {
  justify-content: flex-end;
}

.ky-chat-message__avatar {
  width: 2.3rem;
  height: 2.3rem;
  border-radius: 9999px;
  overflow: hidden;
  flex: 0 0 auto;
  background: rgba(191, 109, 79, 0.16);
  color: #805340;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.9rem;
}

.ky-chat-message__avatar-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ky-chat-message__wrap {
  min-width: 0;
  max-width: 100%;
}

.ky-chat-day-separator {
  flex: 0 0 auto;
  align-self: center;
  padding: 0.2rem 0.65rem;
  border-radius: 999px;
  background: rgba(84, 63, 51, 0.06);
  color: var(--ky-color-subtle);
  font-size: var(--ky-type-label-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.ky-chat-bubble {
  display: inline-block;
  width: auto;
  max-width: 100%;
  border-radius: 1.1rem;
  padding: 0.95rem 1.15rem;
  font-size: var(--ky-type-flow-copy);
  line-height: 1.55;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: normal;
  box-shadow: 0 6px 22px rgba(64, 41, 63, 0.06);
}

.ky-chat-bubble.is-self {
  background: var(--ky-color-accent);
  color: var(--ky-color-panel);
  border-bottom-right-radius: 0.5rem;
}

.ky-chat-bubble.is-other {
  background: var(--ky-color-panel);
  color: #2e2e2e;
  border: 1px solid rgba(84, 63, 51, 0.12);
  box-shadow: 0 4px 14px rgba(52, 45, 42, 0.05);
  border-bottom-left-radius: 0.5rem;
}

.ky-chat-message__meta {
  margin-top: 0.3rem;
  font-size: var(--ky-type-label-xs);
  font-weight: 500;
  color: var(--ky-color-subtle);
  padding: 0 0.15rem;
}

.ky-chat-message:not(.is-self) .ky-chat-message__meta {
  padding-left: calc(2.3rem + 0.8rem + 0.15rem);
}

.ky-chat-message.is-self .ky-chat-message__meta {
  text-align: right;
}

.ky-chat-composer {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-top: var(--ky-chat-shell-gap);
}

.ky-chat-composer__input {
  min-height: 3.25rem;
  border-radius: var(--ky-radius-pill);
  background: var(--ky-color-panel);
  border-color: rgba(84, 63, 51, 0.08);
  box-shadow: none;
  padding: 0 1.2rem;
}

.ky-chat-composer__input:focus,
.ky-chat-composer__input:focus-visible {
  outline: none;
  box-shadow: none;
  border-color: rgba(212, 123, 95, 0.35);
}

.ky-chat-composer__send {
  min-width: 3.25rem;
  width: 3.25rem;
  min-height: 3.25rem;
  padding: 0;
  border-radius: 999px;
}

.ky-chat-composer__send .material-symbols-outlined {
  font-size: 1rem;
  line-height: 1;
}

.ky-chat-composer__send.is-disabled {
  opacity: 0.48;
  cursor: not-allowed;
}

.ky-live-spinner {
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 9999px;
  border: 2px solid rgba(255, 255, 255, 0.28);
  border-top-color: #fff;
  animation: ky-spin 0.9s linear infinite;
  margin: 0 auto 0.65rem;
}

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

@media (max-width: 960px) {
  .ky-modal {
    padding: var(--ky-space-4) var(--ky-space-3);
  }

  .ky-modal__dialog {
    max-height: calc(100dvh - 2rem);
  }

  .ky-surface-header__inner,
  .ky-surface-footer__inner,
  .ky-surface-main {
    width: min(100% - 1.25rem, 100%);
  }

  .ky-checkout-main {
    max-width: 100%;
    padding: 1.4rem 1rem 1.25rem;
  }

  .ky-confirm-main {
    max-width: 100%;
    padding: 1.4rem 1rem 1.25rem;
  }

  .ky-surface-nav {
    gap: 0.85rem;
    font-size: 0.82rem;
  }

  .ky-checkout-grid,
  .ky-confirm-hero,
  .ky-feedback-archive__hero,
  .ky-feedback-spotlights,
  .ky-feedback-report-grid,
  .ky-live-grid {
    grid-template-columns: 1fr;
  }

  .ky-confirm-summary-card {
    order: 2;
    max-width: 26rem;
    margin-inline: auto;
  }

  .ky-confirm-copy {
    order: 1;
    justify-items: center;
    text-align: center;
  }

  .ky-confirm-action-stack-mobile {
    order: 3;
    display: flex;
    width: min(100%, 26rem);
    box-sizing: border-box;
    margin-inline: auto;
    padding: var(--ky-space-flow-mobile-shell-bottom-pad) 0;
  }

  .ky-confirm-action-stack-mobile__button {
    width: 100%;
  }

  .ky-confirm-next {
    text-align: left;
  }

  .ky-confirm-actions {
    display: none;
  }

  .ky-confirm-details {
    grid-template-columns: 1fr;
  }

  .ky-live-sidebar {
    grid-template-rows: unset;
  }

  .ky-live-chat-panel {
    width: 100%;
  }

  .ky-chat-page__shell {
    width: min(100% - 1.2rem, 100%);
    padding: 1rem 0 1.2rem;
  }

  .ky-chat-page__panel {
    padding: 1rem;
  }

  .ky-chat-thread__statusbar {
    flex-direction: column;
    align-items: stretch;
  }

  .ky-chat-composer {
    flex-direction: row;
    align-items: center;
  }

  .ky-chat-composer__input {
    flex: 1 1 auto;
    min-width: 0;
  }

  .ky-chat-composer__send {
    flex: 0 0 3.25rem;
  }

  .ky-chat-thread__identity-avatar {
    width: 2.4rem;
    height: 2.4rem;
  }

  .ky-chat-messages {
    min-height: 22rem;
    max-height: 54svh;
  }

  .ky-chat-modal__dialog {
    height: calc(100dvh - 2rem);
  }

  .ky-chat-thread--modal .ky-chat-messages {
    max-height: none;
  }

  .ky-chat-message__wrap {
    max-width: calc(100% - 3.2rem);
  }

  .ky-surface-footer__inner {
    flex-direction: column;
    gap: 1.75rem;
  }
}

.ky-auth-grid {
  display: grid;
  min-height: 100svh;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.ky-auth-aside {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: var(--ky-space-12);
  background: var(--ky-color-shell);
  padding: var(--ky-space-10) var(--ky-space-12);
}

.ky-auth-pane {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--ky-space-10) var(--ky-space-6);
  background: var(--ky-color-canvas);
}

.ky-auth-form-wrap {
  width: min(100%, 30rem);
}

.ky-auth-wordmark {
  text-decoration: none;
}

.ky-auth-editorial {
  margin-top: clamp(1.75rem, 4vh, 3rem);
  max-width: 23rem;
}

.ky-auth-editorial-title {
  margin: 0;
}

.ky-auth-editorial-line {
  display: block;
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: var(--ky-type-auth-editorial);
  font-style: normal;
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 0.94;
}

.ky-auth-editorial-line.is-accent {
  color: var(--ky-color-accent-strong);
  font-style: italic;
}

.ky-auth-editorial-line.is-upright {
  font-style: normal;
}

.ky-auth-editorial-copy {
  margin: var(--ky-space-8) 0 0;
  max-width: 21rem;
  font-size: var(--ky-type-copy-lg);
  line-height: var(--ky-leading-copy-lg);
  color: var(--ky-color-muted);
}

.ky-auth-form {
  display: flex;
  flex-direction: column;
  gap: var(--ky-space-auth-form-gap);
}

.ky-auth-step-panel {
  display: flex;
  flex-direction: column;
  gap: var(--ky-space-auth-step-gap);
}

.ky-auth-header-stack {
  display: flex;
  flex-direction: column;
  gap: var(--ky-space-auth-header-gap);
}

.ky-auth-auth-stack {
  display: flex;
  flex-direction: column;
  gap: var(--ky-space-tight);
}

.ky-auth-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ky-space-4);
}

.ky-auth-step-meta,
.ky-auth-label {
  margin: 0;
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: var(--ky-type-auth-label);
  font-weight: 700;
  letter-spacing: var(--ky-tracking-auth-label);
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--ky-color-subtle);
}

.ky-auth-label {
  color: var(--ky-color-accent-strong);
}

.ky-auth-title {
  margin: 0;
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: var(--ky-type-auth-title);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 0.96;
  color: var(--ky-color-ink);
}

.ky-auth-copy,
.ky-auth-footnote,
.ky-auth-link-row {
  margin: 0;
  font-size: var(--ky-type-auth-copy);
  line-height: var(--ky-leading-auth-copy);
  color: var(--ky-color-muted);
}

.ky-auth-copy {
  margin-bottom: 0.95rem;
}

.ky-auth-field-group {
  display: flex;
  flex-direction: column;
  gap: var(--ky-space-auth-field-gap);
}

.ky-auth-password-group {
  margin-bottom: 1.45rem;
}

.ky-auth-orientation-group {
  margin-bottom: -0.35rem;
}

.ky-auth-form[data-mode="login"] .ky-auth-email-group {
  margin-bottom: 0.45rem;
}

.ky-auth-form[data-mode="login"] .ky-auth-password-group {
  margin-bottom: 0.45rem;
}

.ky-auth-form[data-mode="signup"] [data-signup-step-panel="1"] .ky-auth-password-group {
  margin-bottom: 0.45rem;
}

.ky-auth-two-up {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--ky-space-4);
}

.ky-auth-control {
  width: 100%;
  border: 1px solid var(--ky-color-line);
  border-radius: var(--ky-radius-md);
  background: var(--ky-color-panel);
  box-shadow: var(--ky-shadow-soft);
  color: var(--ky-color-ink);
  font: inherit;
  font-size: var(--ky-type-copy-md);
  line-height: 1.5;
  padding: var(--ky-size-auth-control-py) var(--ky-size-auth-control-px);
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.ky-auth-control::placeholder {
  color: var(--ky-color-subtle);
}

.ky-auth-control:focus {
  border-color: var(--ky-color-accent);
  box-shadow: 0 0 0 var(--ky-size-auth-focus-ring) rgba(212, 123, 95, 0.18);
  outline: none;
}

.ky-auth-control.is-invalid {
  border-color: var(--ky-color-accent-strong);
  box-shadow: 0 0 0 var(--ky-size-auth-focus-ring) rgba(185, 95, 69, 0.16);
}

.ky-auth-role-list {
  display: flex;
  flex-direction: column;
  gap: var(--ky-space-auth-role-gap);
}

.ky-auth-role-card {
  box-sizing: border-box;
  width: 100%;
  border: 1px solid var(--ky-color-line);
  border-radius: var(--ky-radius-lg);
  background: var(--ky-color-panel);
  box-shadow: var(--ky-shadow-soft);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: var(--ky-space-auth-role-card-gap);
  padding: var(--ky-space-auth-role-card-py) var(--ky-space-auth-role-card-px);
  text-align: left;
  transition:
    border-color 0.2s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.ky-auth-role-card:hover {
  border-color: var(--ky-color-accent);
  transform: translateY(-1px);
}

.ky-auth-role-card.is-selected {
  border-width: 2px;
  border-color: var(--ky-color-accent);
}

.ky-auth-role-card[aria-pressed="true"] {
  box-shadow: var(--ky-shadow-card);
}

.ky-auth-role-eyebrow {
  font-size: var(--ky-type-auth-label);
  font-weight: 700;
  letter-spacing: var(--ky-tracking-auth-label);
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--ky-color-accent-strong);
}

.ky-auth-role-card.is-selected .ky-auth-role-eyebrow {
  color: var(--ky-color-accent);
}

.ky-auth-role-title {
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: var(--ky-type-auth-role-title);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.05;
  color: var(--ky-color-ink);
}

.ky-auth-role-title-accent {
  color: var(--ky-color-accent-strong);
}

.ky-auth-submit,
.ky-auth-back {
  border: 0;
  cursor: pointer;
}

.ky-auth-submit-stack {
  display: flex;
  flex-direction: column;
}

.ky-auth-form[data-mode="signup"] [data-signup-step-panel="2"] .ky-auth-submit-stack {
  margin-bottom: calc(
    var(--ky-space-auth-form-gap) + 0.45rem - var(--ky-space-auth-step-gap)
  );
}

.ky-auth-submit {
  width: 100%;
  background: var(--ky-color-accent);
  box-shadow: var(--ky-shadow-soft);
  color: var(--ky-color-panel);
  padding: var(--ky-size-auth-submit-py) var(--ky-size-auth-submit-px);
  transition:
    background-color 0.2s ease,
    opacity 0.2s ease,
    transform 0.2s ease;
  margin-bottom: 0.95rem;
}

.ky-auth-submit:hover:not(:disabled) {
  background: var(--ky-color-accent-strong);
  transform: translateY(-1px);
}

.ky-auth-submit:focus-visible,
.ky-auth-role-card:focus-visible,
.ky-auth-wordmark:focus-visible {
  outline: 2px solid var(--ky-color-accent);
  outline-offset: 3px;
}

.ky-auth-submit:disabled {
  background: var(--ky-color-line);
  box-shadow: none;
  color: var(--ky-color-muted);
  cursor: not-allowed;
  opacity: 1;
  transform: none;
}

.ky-auth-back,
.ky-auth-link {
  font: inherit;
}

.ky-auth-link {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.12em;
}

.ky-auth-error {
  margin: 0;
  min-height: 1rem;
  font-size: var(--ky-type-auth-error);
  line-height: 1.4;
  color: var(--ky-color-accent-strong);
}

.ky-auth-error:empty {
  min-height: 0;
}

.ky-auth-error--form {
  text-align: center;
}

.ky-auth-error--form:empty {
  display: none;
}

.ky-auth-role-list + .ky-auth-error:not(:empty) {
  margin-bottom: var(--ky-space-auth-error-after);
}

.ky-auth-submit-stack .ky-auth-error--form:not(:empty) {
  margin-top: 0;
}

.ky-auth-form[data-mode="signup"] [data-signup-step-panel="2"] .ky-auth-orientation-group {
  margin-bottom: calc(
    var(--ky-space-auth-form-gap) + 0.45rem - var(--ky-space-auth-step-gap)
  );
}

.ky-auth-field-group .ky-auth-error:not(:empty) {
  margin-bottom: var(--ky-space-auth-error-after);
}

.ky-auth-step-panel[hidden] {
  display: none;
}

.ky-flow-shell {
  min-height: 100svh;
  padding-top: 4rem;
  background: var(--ky-color-canvas);
  color: var(--ky-color-ink);
}

.ky-flow-topbar,
.ky-flow-wrap,
.ky-flow-footer {
  width: min(100%, 76rem);
  margin: 0 auto;
  padding-left: clamp(1.25rem, 3vw, 2.5rem);
  padding-right: clamp(1.25rem, 3vw, 2.5rem);
}

.ky-flow-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 4.9rem;
}

.ky-flow-wordmark,
.ky-flow-help-link,
.ky-flow-back-link {
  color: var(--ky-color-accent-strong);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-weight: 700;
  text-decoration: none;
}

.ky-flow-wordmark {
  font-size: 1.75rem;
  line-height: 1;
}

.ky-flow-help-link,
.ky-flow-back-link {
  font-size: 0.95rem;
}

.ky-flow-wordmark:hover,
.ky-flow-help-link:hover,
.ky-flow-back-link:hover {
  color: var(--ky-color-accent);
}

.ky-flow-progress {
  height: 0.38rem;
  background: rgba(227, 216, 207, 0.9);
}

.ky-flow-progress-fill {
  display: block;
  height: 100%;
  border-radius: var(--ky-radius-pill);
  background: var(--ky-color-accent-strong);
}

.ky-flow-step-tabs {
  display: flex;
  align-items: center;
  gap: clamp(0.75rem, 2vw, 1.5rem);
  width: min(100%, 76rem);
  margin: 0 auto;
  padding: 1rem clamp(1.25rem, 3vw, 2.5rem) 0;
  overflow-x: auto;
}

.ky-flow-step-tab,
.ky-flow-step-kicker,
.ky-flow-label,
.ky-flow-eyebrow,
.ky-mentee-label {
  color: var(--ky-color-subtle);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.ky-flow-step-tab {
  position: relative;
  padding: 0.45rem 0;
  white-space: nowrap;
}

.ky-flow-step-tab::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.3rem;
  height: 2px;
  border-radius: var(--ky-radius-pill);
  background: transparent;
}

.ky-flow-step-tab.is-active {
  color: var(--ky-color-accent-strong);
}

.ky-flow-step-tab.is-active::after {
  background: var(--ky-color-accent);
}

.ky-flow-wrap {
  padding-top: clamp(2rem, 4vw, 3rem);
  padding-bottom: 3rem;
}

.ky-flow-stage {
  display: grid;
  gap: 1.5rem;
  width: min(100%, 40rem);
  margin: 0 auto;
}

.ky-flow-copy {
  display: grid;
  gap: 0.7rem;
}

.ky-flow-title {
  margin: 0;
  color: var(--ky-color-ink);
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: clamp(2.7rem, 5vw, 4.2rem);
  font-weight: 600;
  line-height: 0.95;
  letter-spacing: -0.045em;
}

.ky-flow-title span {
  display: block;
}

.ky-flow-title .is-accent {
  color: var(--ky-color-accent);
}

.ky-flow-copy-text,
.ky-flow-section-copy,
.ky-flow-field-hint,
.ky-flow-preview-place,
.ky-flow-preview-role,
.ky-profile-catalog-title,
.ky-mentee-catalog-title {
  margin: 0;
  color: var(--ky-color-muted);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.98rem;
  line-height: 1.7;
}

.ky-flow-card,
.ky-profile-card {
  display: grid;
  gap: 1.1rem;
  padding: clamp(1.3rem, 2vw, 1.7rem);
  border: 1px solid var(--ky-color-line);
  border-radius: 1.6rem;
  background: var(--ky-color-panel);
  box-shadow: var(--ky-shadow-card);
}

.ky-profile-card--flow,
.ky-profile-card--compact {
  width: 100%;
}

.ky-profile-card--mentee,
.ky-mentee-profile-card {
  display: flex;
  flex-direction: column;
  gap: var(--ky-space-flow-card-gap);
  padding: clamp(1.5rem, 3vw, 2.75rem);
  border: 1px solid var(--ky-color-flow-card-border);
  border-radius: var(--ky-radius-xl);
  background: var(--ky-color-flow-card-surface);
  box-shadow: var(--ky-shadow-card);
}

.ky-flow-section,
.ky-flow-field,
.ky-profile-editorial,
.ky-profile-prompt-row,
.ky-profile-catalog-group,
.ky-onboard-field,
.ky-mentee-field,
.ky-mentee-prompt-row,
.ky-mentee-catalog-group {
  display: grid;
  gap: var(--ky-space-flow-stack-gap);
}

.ky-flow-section-head,
.ky-flow-photo-row,
.ky-flow-preview-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
}

.ky-flow-photo-row {
  flex-wrap: wrap;
}

.ky-flow-photo-copy {
  display: grid;
  gap: var(--ky-space-flow-copy-gap);
  min-width: 0;
  flex: 1 1 14rem;
}

.ky-flow-photo-uploader {
  flex: 1 1 16rem;
  min-width: 0;
}

.ky-flow-section-title,
.ky-profile-catalog-title,
.ky-flow-preview-name {
  margin: 0;
  color: var(--ky-color-ink);
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: var(--ky-type-flow-section-heading);
  font-weight: 600;
  line-height: var(--ky-leading-flow-section-heading);
}

.ky-flow-two-up {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--ky-space-flow-two-up-gap);
}

.ky-flow-input,
.ky-flow-textarea,
.ky-flow-select,
.ky-mentee-control--select {
  width: 100%;
  border: 1px solid var(--ky-color-line);
  border-radius: var(--ky-radius-flow-control-base);
  background: var(--ky-color-shell);
  color: var(--ky-color-ink);
  font: inherit;
  font-size: var(--ky-type-flow-control);
  line-height: var(--ky-leading-flow-control);
  padding: var(--ky-space-flow-control-py-base) var(--ky-space-flow-control-px-base);
}

.ky-flow-input::placeholder,
.ky-flow-textarea::placeholder {
  color: var(--ky-color-subtle);
}

.ky-flow-input:focus,
.ky-flow-textarea:focus,
.ky-flow-select:focus,
.ky-flow-chip:focus-visible,
.ky-flow-option-card:focus-visible,
.ky-flow-submit:focus-visible,
.ky-flow-wordmark:focus-visible,
.ky-flow-help-link:focus-visible,
.ky-flow-back-link:focus-visible,
.ky-profile-check-chip:focus-within {
  outline: 2px solid rgba(212, 123, 95, 0.28);
  outline-offset: 2px;
}

.ky-chat-composer__input.ky-flow-input {
  background: var(--ky-color-panel);
  border-color: rgba(84, 63, 51, 0.08);
  box-shadow: none;
}

.ky-chat-composer__input.ky-flow-input:focus,
.ky-chat-composer__input.ky-flow-input:focus-visible {
  outline: none;
  box-shadow: none;
  border-color: rgba(84, 63, 51, 0.12);
}

.ky-flow-textarea {
  min-height: 8.25rem;
  resize: vertical;
}

.ky-flow-chip-list,
.ky-profile-option-grid,
.ky-mentee-option-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.ky-profile-catalog-list,
.ky-profile-prompt-stack,
.ky-mentee-catalog-list,
.ky-mentee-prompt-stack {
  display: grid;
  gap: 1rem;
}

.ky-flow-chip,
.ky-profile-check-chip,
.ky-mentee-check-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--ky-size-flow-chip-min-height);
  padding: var(--ky-space-flow-copy-gap) var(--ky-space-flow-control-py-base);
  border: 1px solid var(--ky-color-line);
  border-radius: var(--ky-radius-pill);
  background: var(--ky-color-panel);
  color: var(--ky-color-ink);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: var(--ky-type-flow-chip);
  font-weight: 600;
  line-height: 1.2;
}

.ky-flow-chip {
  cursor: pointer;
}

.ky-flow-chip:hover,
.ky-flow-chip.is-selected,
.ky-flow-chip[aria-pressed="true"],
.ky-profile-check-chip:has(input:checked) {
  border-color: var(--ky-color-accent);
  background: rgba(212, 123, 95, 0.1);
  color: var(--ky-color-accent-strong);
}

.ky-flow-chip.is-static {
  cursor: default;
}

.ky-flow-chip.is-locked,
.ky-flow-option-card.is-locked {
  opacity: 0.55;
}

.ky-profile-check-chip {
  justify-content: flex-start;
  gap: 0.55rem;
  cursor: pointer;
}

.ky-profile-check-chip--mentee,
.ky-mentee-check-chip {
  position: relative;
  justify-content: center;
  gap: 0;
  min-height: auto;
  padding: calc(var(--ky-space-2) + var(--ky-space-1)) var(--ky-space-4);
  border-radius: var(--ky-radius-pill);
  background: var(--ky-color-panel);
  color: var(--ky-color-ink);
  cursor: pointer;
  font-size: var(--ky-type-ui-sm);
  font-weight: 400;
  line-height: var(--ky-leading-ui);
  text-align: center;
}

.ky-profile-check-chip--mentee:hover,
.ky-mentee-check-chip:hover {
  border-color: var(--ky-color-accent);
  background: var(--ky-color-flow-field-surface-strong);
  color: var(--ky-color-accent-strong);
}

.ky-profile-check-chip--mentee.is-selected,
.ky-profile-check-chip--mentee[aria-pressed="true"],
.ky-profile-check-chip--mentee:has(input:checked),
.ky-mentee-check-chip.is-selected,
.ky-mentee-check-chip[aria-pressed="true"],
.ky-mentee-check-chip:has(input:checked) {
  border-color: var(--ky-color-accent);
  background: var(--ky-color-flow-accent-fill);
  color: var(--ky-color-accent-strong);
  box-shadow: none;
}

.ky-profile-check-chip input {
  width: var(--ky-size-flow-check-size);
  height: var(--ky-size-flow-check-size);
  accent-color: var(--ky-color-accent);
}

.ky-profile-check-chip--mentee input,
.ky-mentee-check-chip input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
}

.ky-profile-check-chip--mentee.is-disabled,
.ky-mentee-check-chip.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.ky-profile-dropdown,
.ky-mentee-dropdown {
  display: block;
}

.ky-profile-dropdown {
  overflow: hidden;
  border: 1px solid var(--ky-color-line);
  border-radius: var(--ky-radius-flow-control);
  background: var(--ky-color-flow-field-surface);
  box-shadow: var(--ky-shadow-soft);
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    box-shadow 0.2s ease;
}

.ky-profile-dropdown:hover {
  border-color: var(--ky-color-flow-accent-line);
  background: var(--ky-color-flow-field-hover);
}

.ky-profile-dropdown[open] {
  border-color: var(--ky-color-accent);
  background: var(--ky-color-flow-accent-fill);
  box-shadow: none;
}

.ky-profile-dropdown[open] .ky-profile-dropdown-summary,
.ky-mentee-dropdown[open] .ky-mentee-dropdown-summary {
  border-color: var(--ky-color-accent);
  background: var(--ky-color-flow-accent-fill);
  color: var(--ky-color-accent-strong);
  box-shadow: none;
}

.ky-profile-dropdown-summary,
.ky-mentee-dropdown-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ky-space-flow-head-gap);
  width: 100%;
  list-style: none;
  padding: var(--ky-size-auth-control-py) var(--ky-space-flow-field-px);
  border: 1px solid var(--ky-color-line);
  border-radius: var(--ky-radius-flow-control);
  background: var(--ky-color-flow-field-surface);
  box-shadow: var(--ky-shadow-soft);
  color: var(--ky-color-ink);
  cursor: pointer;
  font-size: var(--ky-type-copy-md);
  line-height: var(--ky-leading-copy-md);
  outline: none;
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease;
}

.ky-profile-dropdown-summary [data-dropdown-label],
.ky-mentee-dropdown-summary [data-dropdown-label] {
  flex: 1 1 auto;
  min-width: 0;
  white-space: normal;
}

.ky-profile-dropdown-summary:hover,
.ky-mentee-dropdown-summary:hover {
  border-color: var(--ky-color-flow-accent-line);
  background: var(--ky-color-flow-field-hover);
}

.ky-profile-dropdown-summary {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.ky-profile-dropdown-summary:hover,
.ky-profile-dropdown[open] .ky-profile-dropdown-summary {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.ky-profile-dropdown-summary::-webkit-details-marker,
.ky-mentee-dropdown-summary::-webkit-details-marker {
  display: none;
}

.ky-profile-dropdown-summary::after,
.ky-mentee-dropdown-summary::after {
  content: "+";
  color: var(--ky-color-accent-strong);
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
}

.ky-profile-dropdown[open] .ky-profile-dropdown-summary::after,
.ky-mentee-dropdown[open] .ky-mentee-dropdown-summary::after {
  content: "−";
}

.ky-profile-dropdown-panel,
.ky-mentee-dropdown-panel {
  margin-top: var(--ky-space-4);
}

.ky-profile-dropdown-panel {
  margin-top: 0;
  padding: var(--ky-space-4) var(--ky-space-flow-field-px) var(--ky-space-flow-field-px);
  border-top: 1px solid var(--ky-color-flow-accent-line);
  background: transparent;
  cursor: pointer;
}

.ky-profile-dropdown-options {
  display: grid;
  gap: var(--ky-space-4);
}

.ky-mentee-profile-card .ky-mentee-dropdown {
  overflow: hidden;
  border: 1px solid var(--ky-color-line);
  border-radius: var(--ky-radius-flow-control);
  background: var(--ky-color-flow-field-surface);
  box-shadow: var(--ky-shadow-soft);
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    box-shadow 0.2s ease;
}

.ky-mentee-profile-card .ky-mentee-dropdown:hover {
  border-color: var(--ky-color-flow-accent-line);
  background: var(--ky-color-flow-field-hover);
}

.ky-mentee-profile-card .ky-mentee-dropdown[open] {
  border-color: var(--ky-color-accent);
  background: var(--ky-color-flow-accent-fill);
  box-shadow: var(--ky-shadow-flow-accent-inset);
}

.ky-mentee-profile-card .ky-mentee-dropdown-summary {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.ky-mentee-profile-card .ky-mentee-dropdown-summary:hover,
.ky-mentee-profile-card .ky-mentee-dropdown[open] .ky-mentee-dropdown-summary {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.ky-mentee-profile-card .ky-mentee-dropdown-panel {
  margin-top: 0;
  padding: var(--ky-space-4) var(--ky-space-flow-field-px) var(--ky-space-flow-field-px);
  border-top: 1px solid var(--ky-color-flow-accent-line);
  background: transparent;
  cursor: pointer;
}

.ky-flow-option-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.ky-flow-option-grid--compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ky-flow-option-card {
  display: grid;
  gap: 0.35rem;
  min-height: 5.6rem;
  padding: 1rem;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid var(--ky-color-line);
  border-radius: 1rem;
  background: var(--ky-color-shell);
  color: var(--ky-color-ink);
  text-align: left;
  -webkit-tap-highlight-color: transparent;
}

.ky-flow-option-card:focus {
  outline: none;
}

.ky-flow-option-card strong {
  font-size: 0.95rem;
}

.ky-flow-option-card span {
  color: var(--ky-color-muted);
  font-size: 0.82rem;
  line-height: 1.45;
}

.ky-flow-option-card.is-selected,
.ky-flow-option-card[aria-pressed="true"] {
  border-color: var(--ky-color-accent);
  background: rgba(212, 123, 95, 0.08);
  box-shadow: var(--ky-shadow-soft);
}

.ky-flow-money {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.65rem;
}

.ky-flow-money-symbol {
  color: var(--ky-color-muted);
  font-weight: 700;
}

.ky-flow-preview-card,
.ky-profile-portrait-card {
  display: grid;
  gap: 0.9rem;
  padding: 1.15rem;
  border: 1px solid var(--ky-color-line);
  border-radius: 1.35rem;
  background: var(--ky-color-shell);
}

.ky-flow-preview-avatar,
.ky-flow-preview-avatar--fallback,
.ky-profile-portrait-image,
.ky-profile-portrait-placeholder {
  border-radius: 1.1rem;
}

.ky-flow-preview-avatar,
.ky-flow-preview-avatar--fallback {
  width: 3.25rem;
  height: 3.25rem;
}

.ky-flow-preview-avatar {
  object-fit: cover;
}

.ky-flow-preview-avatar--fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--ky-color-panel);
  color: var(--ky-color-accent-strong);
  font-weight: 700;
}

.ky-profile-portrait-image,
.ky-profile-portrait-placeholder {
  width: 100%;
  min-height: 14rem;
}

.ky-profile-portrait-image {
  object-fit: cover;
}

.ky-profile-portrait-placeholder {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(227, 216, 207, 0.92));
}

.ky-profile-portrait-quote {
  margin: 0;
  color: var(--ky-color-ink);
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: 1.35rem;
  font-style: italic;
  line-height: 1.45;
}

.ky-flow-error {
  margin: 0;
  min-height: 1rem;
  color: var(--ky-color-accent-strong);
  font-size: 0.83rem;
  line-height: 1.45;
}

.ky-flow-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.ky-flow-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.1rem;
  padding: 0.9rem 1.6rem;
  border: 0;
  border-radius: var(--ky-radius-pill);
  background: var(--ky-color-accent);
  box-shadow: var(--ky-shadow-soft);
  color: var(--ky-color-panel);
  cursor: pointer;
  font: inherit;
  font-size: 0.96rem;
  font-weight: 700;
}

.ky-flow-submit:hover:not(:disabled) {
  background: var(--ky-color-accent-strong);
}

.ky-flow-submit:disabled {
  background: var(--ky-color-surface);
  color: var(--ky-color-subtle);
  cursor: not-allowed;
}

.ky-profile-shell {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(21rem, 1.2fr);
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: start;
}

.ky-profile-option-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ky-profile-option-grid--mentee {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ky-space-flow-chip-gap);
}

.ky-onboard-shell,
.ky-mentee-shell {
  min-height: 100svh;
  padding-top: 4rem;
  background:
    radial-gradient(circle at 10% 12%, rgba(212, 123, 95, 0.08), transparent 20%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.44) 0%, rgba(245, 239, 232, 0) 18%),
    var(--ky-color-canvas);
  color: var(--ky-color-ink);
}

.ky-onboard-shell--standalone-profile {
  min-height: auto;
}

.ky-onboard-shell--standalone-profile .ky-onboard-grid {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 2rem;
  max-width: 52rem;
}

.ky-onboard-shell--standalone-profile .ky-onboard-editorial,
.ky-onboard-shell--standalone-profile .ky-onboard-form-column {
  width: 100%;
  align-self: start;
}

.ky-onboard-shell--standalone-profile .ky-onboard-copy-block {
  max-width: 34rem;
}

.ky-onboard-topbar,
.ky-mentee-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ky-space-4);
  padding: 1.5rem clamp(1.25rem, 4vw, 7rem);
  background: rgba(251, 246, 240, 0.88);
  border-bottom: 1px solid var(--ky-color-line);
}

.ky-onboard-wordmark,
.ky-onboard-footer-links a,
.ky-onboard-save-link,
.ky-onboard-inline-link,
.ky-mentee-wordmark,
.ky-mentee-footer-links a,
.ky-mentee-save-link,
.ky-mentee-inline-link {
  text-decoration: none;
}

.ky-onboard-wordmark,
.ky-mentee-wordmark {
  color: var(--ky-color-accent);
  font-size: clamp(1.65rem, 2.8vw, 2.1rem);
  font-weight: 700;
  letter-spacing: -0.03em;
}

.ky-onboard-progress,
.ky-mentee-progress {
  height: 0.5rem;
  background: rgba(227, 216, 207, 0.7);
}

.ky-onboard-progress-fill,
.ky-mentee-progress-fill {
  display: block;
  width: 68%;
  height: 100%;
  border-radius: var(--ky-radius-pill);
  background: var(--ky-color-accent-strong);
}

.ky-onboard-return-row,
.ky-mentee-return-row {
  display: flex;
  justify-content: center;
  max-width: 76rem;
  margin: 0 auto;
  padding: clamp(1.5rem, 3vw, 2rem) clamp(1.25rem, 4vw, 3rem);
}

.ky-onboard-return-row .ky-onboard-return-card,
.ky-mentee-return-row .ky-mentee-return-card {
  margin-bottom: 0;
}

.ky-onboard-shell--mentee-core.ky-onboard-shell--with-return-card .ky-onboard-grid {
  padding-top: 0;
}

.ky-onboard-grid,
.ky-mentee-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(22rem, 34rem);
  gap: clamp(2rem, 5vw, 5rem);
  max-width: 76rem;
  margin: 0 auto;
  padding: clamp(2rem, 4vw, 4.5rem) clamp(1.25rem, 4vw, 3rem) 2rem;
}

.ky-onboard-editorial,
.ky-mentee-editorial {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.ky-onboard-return-card,
.ky-mentee-return-card {
  display: inline-flex;
  align-items: center;
  gap: 0.875rem;
  max-width: 24rem;
  margin-bottom: var(--ky-space-8);
  padding: 0.9rem 1rem;
  border: 1px solid var(--ky-color-line);
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: var(--ky-shadow-soft);
  color: var(--ky-color-muted);
}

.ky-onboard-return-card p,
.ky-mentee-return-card p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.6;
}

.ky-onboard-return-card strong,
.ky-mentee-return-card strong {
  color: var(--ky-color-ink);
}

.ky-onboard-return-avatar,
.ky-mentee-return-avatar {
  flex: 0 0 auto;
  width: 3rem;
  height: 3rem;
  border-radius: 999px;
  object-fit: cover;
  box-shadow: var(--ky-shadow-soft);
}

.ky-onboard-return-avatar--fallback,
.ky-mentee-return-avatar--fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(212, 123, 95, 0.14);
  color: var(--ky-color-accent-strong);
  font-weight: 700;
}

.ky-onboard-copy-block,
.ky-mentee-copy-block {
  max-width: 28rem;
}

.ky-onboard-title,
.ky-mentee-title {
  margin: 0;
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: clamp(3.1rem, 5vw, 4.5rem);
  font-weight: 700;
  line-height: 0.9;
  letter-spacing: -0.03em;
}

.ky-onboard-title span,
.ky-mentee-title span {
  display: block;
}

.ky-onboard-title .is-accent,
.ky-mentee-title .is-accent {
  color: var(--ky-color-accent);
}

.ky-onboard-copy,
.ky-mentee-copy {
  max-width: 21rem;
  margin: var(--ky-space-8) 0 0;
  color: var(--ky-color-muted);
  font-size: var(--ky-type-copy-lg);
  line-height: var(--ky-leading-copy-lg);
}

.ky-mentee-profile-preview {
  width: min(26rem, 100%);
  margin-top: clamp(2rem, 5vw, 6rem);
  position: sticky;
  top: calc(var(--ky-size-header) + var(--ky-space-8));
}

.ky-onboard-shell--standalone-profile .ky-mentee-profile-preview {
  width: 100% !important;
  max-width: none;
  margin-top: 0;
  position: static !important;
  top: auto !important;
}

.ky-mentee-profile-preview-frame {
  display: grid;
  gap: var(--ky-space-flow-preview-gap);
  padding: var(--ky-space-5);
  border: 1px solid var(--ky-color-flow-card-border);
  border-radius: var(--ky-radius-xl);
  background: var(--ky-color-flow-card-surface);
  box-shadow: var(--ky-shadow-soft);
}

.ky-mentee-profile-preview-collage {
  width: 100%;
  margin-top: 0;
}

.ky-mentee-profile-preview-content {
  display: grid;
  gap: var(--ky-space-4);
}

.ky-mentee-profile-preview-name {
  margin: 0;
  color: var(--ky-color-ink);
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: var(--ky-type-flow-preview-title);
  font-weight: 600;
  line-height: 1;
}

.ky-mentee-profile-preview-heading-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  flex-wrap: nowrap;
}

.ky-mentee-profile-preview-heading-row.has-actions .ky-mentee-profile-preview-name {
  flex: 1 1 auto;
  min-width: 0;
}

.ky-mentee-profile-preview-heading-actions {
  display: flex;
  align-items: center;
  gap: var(--ky-space-5);
  flex-wrap: nowrap;
  flex: 0 0 auto;
  justify-content: flex-end;
}

.ky-mentee-profile-preview-heading-action {
  display: inline-flex;
  align-items: center;
  gap: var(--ky-space-2);
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--ky-color-muted);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: var(--ky-type-flow-preview-meta);
  font-weight: 400;
  line-height: 1.4;
  text-decoration: none;
}

.ky-mentee-profile-preview-heading-action .material-symbols-outlined {
  color: var(--ky-color-accent-strong);
  font-size: 1rem;
  line-height: 1;
}

.ky-mentee-profile-preview-heading-action-label {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.12em;
}

.ky-mentee-profile-preview-heading-action[disabled] {
  cursor: default;
  opacity: 1;
}

.ky-mentee-profile-preview-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ky-space-5);
  align-items: center;
}

.ky-mentor-preview-subtitle {
  margin: 0;
  color: var(--ky-color-muted);
  font-size: var(--ky-type-copy-lg);
  font-weight: 500;
  line-height: 1.3;
  max-width: 22rem;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ky-mentee-profile-preview-meta-item {
  display: inline-flex;
  align-items: center;
  gap: var(--ky-space-2);
  color: var(--ky-color-muted);
  font-size: var(--ky-type-flow-preview-meta);
  line-height: 1.4;
}

.ky-mentee-profile-preview-star {
  color: var(--ky-color-accent-strong);
  font-size: 0.9em;
  line-height: 1;
}

.ky-mentee-profile-preview-count {
  color: var(--ky-color-subtle);
}

.ky-mentee-profile-preview-pin {
  color: var(--ky-color-accent-strong);
  font-size: 1rem;
  line-height: 1;
}

.ky-mentee-profile-preview-facts {
  display: grid;
  gap: var(--ky-space-3);
  padding-top: var(--ky-space-4);
  border-top: 1px solid var(--ky-color-line);
}

.ky-mentor-preview-features {
  display: grid;
  gap: var(--ky-space-3);
  padding-top: var(--ky-space-4);
  border-top: 1px solid var(--ky-color-line);
}

.ky-mentor-preview-feature {
  display: flex;
  gap: var(--ky-space-2);
  align-items: flex-start;
}

.ky-mentor-preview-feature-icon {
  color: var(--ky-color-accent-strong);
  font-size: 1rem;
  line-height: 1;
  margin-top: 0;
  flex: 0 0 auto;
}

.ky-mentor-preview-feature-body {
  display: grid;
  gap: var(--ky-space-1);
  min-width: 0;
}

.ky-mentor-preview-feature-title {
  margin: 0;
  color: var(--ky-color-ink);
  font-size: var(--ky-type-ui-sm);
  font-weight: 600;
  line-height: 1.4;
}

.ky-mentor-preview-feature-copy {
  margin: 0;
  color: var(--ky-color-muted);
  font-size: var(--ky-type-flow-copy);
  line-height: 1.5;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ky-mentor-preview-features + .ky-mentee-profile-preview-section {
  padding-top: var(--ky-space-4);
  border-top: 1px solid var(--ky-color-line);
}

.ky-mentee-profile-preview-fact {
  display: flex;
  align-items: flex-start;
  gap: var(--ky-space-2);
}

.ky-mentee-profile-preview-fact-icon {
  color: var(--ky-color-accent-strong);
  font-size: 1rem;
  line-height: 1;
  flex: 0 0 auto;
}

.ky-mentee-profile-preview-fact-body {
  display: grid;
  gap: var(--ky-space-1);
  min-width: 0;
}

.ky-mentee-profile-preview-fact-title {
  margin: 0;
  color: var(--ky-color-ink);
  font-size: var(--ky-type-ui-sm);
  font-weight: 600;
  line-height: 1.4;
}

.ky-mentee-profile-preview-fact-copy {
  margin: 0;
  color: var(--ky-color-muted);
  font-size: var(--ky-type-flow-copy);
  line-height: 1.5;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ky-mentee-profile-preview-tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ky-space-flow-preview-tag-gap);
}

.ky-mentee-profile-preview-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: 0.35rem 0.7rem;
  border: 1px solid var(--ky-color-line);
  border-radius: var(--ky-radius-pill);
  background: var(--ky-color-flow-field-surface-strong);
  color: var(--ky-color-muted);
  font-size: var(--ky-type-ui-sm);
  line-height: 1.2;
}

.ky-mentee-profile-preview-tag.is-muted {
  background: transparent;
  color: var(--ky-color-subtle);
}

.ky-mentee-profile-preview-section {
  display: grid;
  gap: var(--ky-space-3);
}

.ky-mentee-profile-preview-facts + .ky-mentee-profile-preview-section {
  margin-top: var(--ky-space-2);
}

.ky-mentee-profile-preview-label {
  margin: 0;
  color: var(--ky-color-ink);
  font-size: var(--ky-type-flow-preview-label);
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.ky-public-profile-preview .ky-mentee-profile-preview-label {
  letter-spacing: 0.16em;
}

.ky-mentee-profile-preview-body,
.ky-mentee-profile-preview-empty,
.ky-mentee-profile-preview-prompt-answer {
  margin: 0;
  color: var(--ky-color-muted);
  font-size: var(--ky-type-flow-copy);
  line-height: var(--ky-leading-flow-copy);
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ky-mentee-profile-preview-body {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.ky-mentee-profile-preview-prompts {
  display: grid;
  gap: var(--ky-space-3);
}

.ky-mentee-profile-preview-prompt {
  display: grid;
  gap: var(--ky-space-2);
}

.ky-mentee-profile-preview-prompt-title {
  margin: 0;
  color: var(--ky-color-ink);
  font-size: var(--ky-type-ui-sm);
  font-weight: 600;
  line-height: 1.4;
}

.ky-mentee-profile-preview-prompt.is-placeholder .ky-mentee-profile-preview-prompt-title {
  color: var(--ky-color-subtle);
}

.ky-mentee-profile-preview-prompt-answer {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.ky-mentee-portrait-card {
  position: relative;
  width: min(25.5rem, 100%);
  aspect-ratio: 3 / 2;
  margin-top: clamp(2rem, 5vw, 6rem);
  background: transparent;
  box-shadow: none;
  padding: 0;
  overflow: visible;
}

.ky-mentee-profile-preview .ky-mentee-portrait-card {
  width: 100%;
  margin-top: 0;
}

.ky-mentor-experience-preview {
  width: min(26rem, 100%);
  margin-top: clamp(2rem, 5vw, 6rem);
  position: static;
  top: auto;
}

.ky-mentor-experience-preview-layout {
  display: flex;
  flex-direction: column;
  gap: var(--ky-space-5);
  align-items: stretch;
}

.ky-mentor-experience-preview-main {
  display: grid;
  gap: var(--ky-space-4);
  min-width: 0;
}

.ky-mentor-experience-preview-title-block,
.ky-mentor-experience-preview-title-block .ky-profile-title-copy {
  min-width: 0;
}

.ky-mentor-experience-preview-frame .ky-mentee-portrait-card {
  width: 100%;
  margin-top: 0;
}

.ky-mentor-experience-preview-frame .ky-mentee-profile-preview-meta {
  column-gap: var(--ky-space-5);
  row-gap: var(--ky-space-2);
}

.ky-mentor-experience-preview-heading {
  margin: 0;
  font-size: var(--ky-type-flow-preview-title);
  line-height: 1;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ky-mentor-experience-preview-meta {
  margin-top: var(--ky-space-3);
}

.ky-mentor-experience-preview-meta .material-symbols-outlined {
  font-size: 1rem;
  line-height: 1;
  vertical-align: text-bottom;
}

.ky-mentor-experience-preview-meta-pair {
  flex-wrap: nowrap;
  gap: var(--ky-space-5);
}

.ky-mentor-experience-preview-meta-subitem {
  display: inline-flex;
  align-items: center;
  gap: var(--ky-space-2);
}

.ky-mentor-experience-preview-story {
  display: grid;
  gap: var(--ky-space-2);
  padding-top: var(--ky-space-4);
  padding-bottom: 0;
  padding-left: var(--ky-space-2);
  border-top: 1px solid var(--ky-color-line);
  min-width: 0;
}

.ky-mentor-experience-preview-story .ky-profile-eyebrow {
  margin: 0;
  letter-spacing: 0.14em;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ky-mentor-experience-preview-story .ky-profile-eyebrow.is-placeholder {
  color: var(--ky-color-accent);
}

.ky-mentor-experience-preview-story .ky-profile-body {
  margin: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ky-mentor-experience-preview-panels {
  display: grid;
  gap: var(--ky-space-3);
}

.ky-mentor-experience-preview-panel {
  display: grid;
  align-content: start;
  gap: var(--ky-space-3);
  padding: 1rem 1.1rem;
  border: 1px solid var(--ky-color-line);
  border-radius: 1rem;
  background: var(--ky-color-flow-field-surface-soft);
}

.ky-mentor-experience-preview-panel-title {
  margin: 0;
  color: var(--ky-color-accent-strong);
  font-size: var(--ky-type-ui-sm);
  font-weight: 700;
  line-height: 1.4;
}

.ky-mentor-experience-preview-panel-list {
  display: grid;
  align-content: start;
  gap: var(--ky-space-2);
}

.ky-mentor-experience-preview-panel-item {
  display: flex;
  align-items: flex-start;
  gap: var(--ky-space-2);
  color: var(--ky-color-muted);
  font-size: var(--ky-type-flow-copy);
  line-height: 1.5;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ky-mentor-experience-preview-panel-item.is-placeholder {
  color: var(--ky-color-subtle);
}

.ky-mentor-experience-preview-panel-check {
  flex: 0 0 auto;
  color: var(--ky-color-accent-strong);
  font-weight: 700;
  line-height: 1.2;
}

.ky-mentor-experience-preview-rail {
  width: 100%;
}

.ky-mentor-experience-preview-booking {
  gap: var(--ky-space-4);
  padding-top: 0.9rem;
}

.ky-mentor-experience-preview-booking .ky-booking-field input[disabled],
.ky-mentor-experience-preview-booking .ky-booking-field select[disabled] {
  color: var(--ky-color-ink);
  opacity: 1;
  -webkit-text-fill-color: var(--ky-color-ink);
}

.ky-mentor-experience-preview-pricing {
  width: min(26rem, 100%);
  margin-top: var(--ky-space-4);
  border-color: var(--ky-color-ink);
  box-shadow: none;
  background: rgba(255, 255, 255, 0.92);
  box-sizing: border-box;
}

.ky-mentor-experience-preview-pricing-lines {
  display: grid;
  gap: var(--ky-space-2);
  margin: 0;
}

.ky-mentor-experience-preview-pricing-lines div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--ky-space-3);
}

.ky-mentor-experience-preview-pricing-lines dt {
  color: var(--ky-color-muted);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.7;
}

.ky-mentor-experience-preview-pricing-lines dd {
  margin: 0;
  color: var(--ky-color-muted);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.7;
  text-align: right;
}

.ky-mentor-experience-preview-pricing-lines .is-total {
  padding-top: var(--ky-space-2);
  margin-top: var(--ky-space-1);
  border-top: 1px solid var(--ky-color-line);
}

.ky-mentor-experience-preview-pricing-lines .is-total dt,
.ky-mentor-experience-preview-pricing-lines .is-total dd {
  color: var(--ky-color-ink);
  font-weight: 600;
}

.ky-mentor-availability-list {
  display: grid;
  gap: var(--ky-space-3);
}

.ky-mentor-availability-row {
  display: grid;
  gap: var(--ky-space-3);
}

.ky-mentor-availability-day {
  justify-content: flex-start;
  min-width: 0;
}

.ky-mentor-availability-times {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: var(--ky-space-2);
  min-width: 0;
}

.ky-mentor-availability-separator {
  color: var(--ky-color-subtle);
  font-size: var(--ky-type-ui-sm);
  font-weight: 600;
}

.ky-mentor-availability-time {
  min-width: 0;
}

.ky-mentor-availability-time:disabled {
  cursor: not-allowed;
  opacity: 0.68;
  background: var(--ky-color-flow-field-surface-soft);
  color: var(--ky-color-subtle);
}

.ky-onboard-agenda-list,
.ky-mentee-agenda-list {
  display: grid;
  gap: var(--ky-space-3);
}

@media (min-width: 720px) {
  .ky-mentor-availability-row {
    grid-template-columns: minmax(9rem, auto) minmax(0, 1fr);
    align-items: center;
  }
}

.ky-mentee-portrait-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
  width: 100%;
  height: 100%;
}

.ky-mentee-portrait-tile {
  position: relative;
  min-width: 0;
  min-height: 0;
  border-radius: 1.35rem;
  overflow: hidden;
}

.ky-mentee-portrait-tile.is-primary {
  grid-row: 1 / span 2;
}

.ky-mentee-portrait-image,
.ky-mentee-portrait-placeholder {
  width: 100%;
  height: 100%;
}

.ky-mentee-portrait-image {
  position: absolute;
  inset: 0;
  object-fit: cover;
}

.ky-mentee-portrait-placeholder {
  position: absolute;
  inset: 0;
}

.ky-mentee-portrait-placeholder.is-primary {
  background: linear-gradient(180deg, rgba(58, 48, 41, 0.98) 0%, rgba(46, 38, 33, 0.98) 100%);
}

.ky-mentee-portrait-placeholder.is-secondary[data-portrait-slot="1"],
.ky-mentee-portrait-placeholder.is-secondary[data-preview-slot="1"] {
  background: linear-gradient(180deg, rgba(233, 208, 195, 0.98) 0%, rgba(227, 201, 188, 0.98) 100%);
}

.ky-mentee-portrait-placeholder.is-secondary[data-portrait-slot="2"],
.ky-mentee-portrait-placeholder.is-secondary[data-preview-slot="2"] {
  background: linear-gradient(180deg, rgba(210, 199, 190, 0.98) 0%, rgba(202, 191, 182, 0.98) 100%);
}

.ky-onboard-form-column,
.ky-mentee-form-column {
  min-width: 0;
}

.ky-onboard-card,
.ky-mentee-card {
  display: flex;
  flex-direction: column;
  gap: var(--ky-space-flow-card-gap);
  padding: clamp(1.5rem, 3vw, 2.75rem);
  border: 1px solid var(--ky-color-flow-card-border);
  border-radius: var(--ky-radius-xl);
  background: var(--ky-color-flow-card-surface);
  box-shadow: var(--ky-shadow-card);
}

.ky-onboard-section,
.ky-mentee-section {
  display: flex;
  flex-direction: column;
  gap: var(--ky-space-flow-section-gap);
}

.ky-onboard-section-head,
.ky-mentee-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--ky-space-flow-head-gap);
}

.ky-onboard-section-head--story,
.ky-mentee-section-head--story {
  align-items: flex-start;
}

.ky-onboard-eyebrow,
.ky-mentee-eyebrow {
  margin: 0;
  color: var(--ky-color-ink);
  font-size: var(--ky-type-flow-eyebrow);
  font-weight: 700;
  letter-spacing: var(--ky-tracking-flow-eyebrow);
  text-transform: uppercase;
}

.ky-onboard-step-eyebrow,
.ky-mentee-step-eyebrow {
  margin-top: var(--ky-space-flow-step-offset);
  margin-bottom: var(--ky-space-5);
  color: var(--ky-color-accent-strong);
  font-size: var(--ky-type-label-xs);
  font-weight: 600;
  letter-spacing: var(--ky-tracking-eyebrow);
}

.ky-onboard-section-title,
.ky-onboard-photo-note,
.ky-onboard-min-note,
.ky-onboard-section-copy,
.ky-onboard-field-hint,
.ky-onboard-check-copy,
.ky-onboard-footer,
.ky-onboard-footer-links a,
.ky-mentee-section-title,
.ky-mentee-photo-note,
.ky-mentee-min-note,
.ky-mentee-section-copy,
.ky-mentee-field-hint,
.ky-mentee-check-copy,
.ky-mentee-footer,
.ky-mentee-footer-links a {
  color: var(--ky-color-muted);
}

.ky-onboard-section-title,
.ky-mentee-section-title {
  margin: 0;
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: var(--ky-type-flow-section-title);
  font-weight: 600;
  line-height: var(--ky-leading-flow-title);
  color: var(--ky-color-ink);
}

.ky-onboard-photo-note,
.ky-onboard-min-note,
.ky-mentee-photo-note,
.ky-mentee-min-note {
  margin: 0;
  font-size: var(--ky-type-ui-sm);
  line-height: 1.5;
}

.ky-onboard-section-copy,
.ky-onboard-field-hint,
.ky-mentee-section-copy,
.ky-mentee-field-hint {
  margin: 0;
  font-size: var(--ky-type-flow-copy);
  line-height: var(--ky-leading-flow-copy);
}

.ky-profile-card .ky-flow-section {
  display: flex;
  flex-direction: column;
  gap: var(--ky-space-flow-section-gap);
}

.ky-profile-card .ky-flow-section-head {
  align-items: flex-end;
  gap: var(--ky-space-flow-head-gap);
}

.ky-profile-card .ky-flow-section-title {
  font-size: var(--ky-type-flow-section-title);
  line-height: var(--ky-leading-flow-title);
}

.ky-profile-card .ky-flow-section-copy,
.ky-profile-card .ky-flow-field-hint {
  font-size: var(--ky-type-flow-copy);
  line-height: var(--ky-leading-flow-copy);
}

.ky-profile-card--mentee .ky-profile-prompt-stack,
.ky-profile-card--mentee .ky-profile-catalog-list,
.ky-profile-card--mentee .ky-mentee-prompt-stack,
.ky-profile-card--mentee .ky-mentee-catalog-list,
.ky-mentee-profile-card .ky-mentee-prompt-stack,
.ky-mentee-profile-card .ky-mentee-catalog-list {
  gap: var(--ky-space-flow-section-gap);
}

.ky-profile-card--mentee .ky-profile-prompt-row,
.ky-profile-card--mentee .ky-profile-catalog-group,
.ky-profile-card--mentee .ky-mentee-prompt-row,
.ky-profile-card--mentee .ky-mentee-catalog-group,
.ky-mentee-profile-card .ky-mentee-prompt-row,
.ky-mentee-profile-card .ky-mentee-catalog-group {
  gap: var(--ky-space-flow-section-gap);
}

.ky-profile-card--mentee .ky-mentee-prompt-row + .ky-mentee-prompt-row > .ky-mentee-field:first-child,
.ky-mentee-profile-card .ky-mentee-prompt-row + .ky-mentee-prompt-row > .ky-mentee-field:first-child {
  gap: var(--ky-space-2);
}

.ky-profile-card--mentee .ky-mentee-prompt-row:not(:last-child) > [data-prompt-answer-field],
.ky-mentee-profile-card .ky-mentee-prompt-row:not(:last-child) > [data-prompt-answer-field] {
  margin-bottom: var(--ky-space-4);
}

.ky-profile-card--mentee .ky-profile-catalog-title,
.ky-profile-card--mentee .ky-mentee-catalog-title,
.ky-mentee-profile-card .ky-mentee-catalog-title {
  color: var(--ky-color-muted);
  font-size: var(--ky-type-flow-copy);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-weight: 400;
  line-height: var(--ky-leading-flow-copy);
}

.ky-profile-control--mentee,
.ky-onboard-control--select,
.ky-mentee-control--select {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid var(--ky-color-line);
  border-radius: var(--ky-radius-flow-control);
  background: var(--ky-color-flow-field-surface);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%23B95F45' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: right var(--ky-space-flow-field-px) center;
  background-repeat: no-repeat;
  background-size: var(--ky-size-flow-select-arrow) auto;
  box-shadow: var(--ky-shadow-soft);
  color: var(--ky-color-ink);
  font: inherit;
  font-size: var(--ky-type-copy-md);
  line-height: var(--ky-leading-copy-md);
  padding:
    var(--ky-size-auth-control-py)
    var(--ky-space-flow-field-pr)
    var(--ky-size-auth-control-py)
    var(--ky-space-flow-field-px);
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-focus-ring-color: transparent;
}

.ky-profile-control--mentee:hover,
.ky-onboard-control--select:hover,
.ky-mentee-control--select:hover {
  border-color: var(--ky-color-flow-accent-line);
  background: var(--ky-color-flow-field-hover);
}

.ky-profile-control--mentee:focus,
.ky-onboard-control--select:focus,
.ky-mentee-control--select:focus {
  border-color: var(--ky-color-accent);
  background: var(--ky-color-flow-accent-fill);
  color: var(--ky-color-accent-strong);
  box-shadow: var(--ky-shadow-flow-accent-inset);
  outline: none;
}

.ky-onboard-input,
.ky-mentee-input {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid var(--ky-color-line);
  border-radius: var(--ky-radius-flow-control);
  background: var(--ky-color-flow-field-surface);
  box-shadow: var(--ky-shadow-soft);
  color: var(--ky-color-ink);
  font: inherit;
  font-size: var(--ky-type-copy-md);
  line-height: var(--ky-leading-copy-md);
  padding:
    var(--ky-size-auth-control-py)
    var(--ky-space-flow-field-px);
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-focus-ring-color: transparent;
}

.ky-onboard-input::placeholder,
.ky-mentee-input::placeholder {
  color: var(--ky-color-subtle);
}

.ky-onboard-input:hover,
.ky-mentee-input:hover {
  border-color: var(--ky-color-flow-accent-line);
  background: var(--ky-color-flow-field-hover);
}

.ky-onboard-input:focus,
.ky-mentee-input:focus {
  border-color: var(--ky-color-accent);
  background: var(--ky-color-flow-field-surface-strong);
  box-shadow: var(--ky-shadow-soft);
  outline: none;
}

.ky-onboard-control--select.ky-mentor-availability-time,
.ky-mentee-control--select.ky-mentor-availability-time {
  min-height: var(--ky-size-flow-chip-min-height);
  font-size: var(--ky-type-ui-sm);
  line-height: var(--ky-leading-ui);
  padding-top: calc(var(--ky-space-2) + var(--ky-space-1));
  padding-bottom: calc(var(--ky-space-2) + var(--ky-space-1));
}

.ky-profile-textarea--mentee,
.ky-onboard-textarea--profile,
.ky-mentee-textarea--profile {
  min-height: var(--ky-size-flow-story-min-height);
}

.ky-onboard-media [data-media-grid],
.ky-mentee-media [data-media-grid] {
  margin-top: 0;
}

.ky-onboard-media [data-media-grid] > ul,
.ky-mentee-media [data-media-grid] > ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--ky-space-flow-media-gap);
  margin-top: 0;
}

.ky-onboard-media [data-media-grid] > ul > li,
.ky-mentee-media [data-media-grid] > ul > li {
  border: 1px dashed var(--ky-color-line);
  border-radius: var(--ky-radius-flow-control);
  background: var(--ky-color-flow-field-surface-soft);
  box-shadow: none;
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    box-shadow 0.2s ease;
}

.ky-onboard-media [data-media-grid] > ul > li img[data-preview],
.ky-onboard-media [data-media-grid] > ul > li video[data-preview],
.ky-mentee-media [data-media-grid] > ul > li img[data-preview],
.ky-mentee-media [data-media-grid] > ul > li video[data-preview] {
  cursor: pointer;
}

.ky-onboard-media [data-media-grid] > ul > li[data-has="1"],
.ky-mentee-media [data-media-grid] > ul > li[data-has="1"] {
  border-style: solid;
  background: var(--ky-color-panel);
}

.ky-onboard-media [data-media-grid][data-mode="edit"] > ul > li:hover,
.ky-onboard-media [data-media-grid][data-mode="edit"] > ul > li:focus-within,
.ky-mentee-media [data-media-grid][data-mode="edit"] > ul > li:hover,
.ky-mentee-media [data-media-grid][data-mode="edit"] > ul > li:focus-within {
  border-color: var(--ky-color-flow-accent-line);
  background: var(--ky-color-flow-field-hover);
}

.ky-onboard-media [data-empty-hint],
.ky-mentee-media [data-empty-hint] {
  display: none;
}

.ky-onboard-media [data-edit-controls],
.ky-mentee-media [data-edit-controls] {
  display: none !important;
}

.ky-onboard-chip-list,
.ky-mentee-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ky-space-flow-chip-gap);
}

.ky-onboard-chip,
.ky-mentee-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--ky-color-line);
  border-radius: var(--ky-radius-pill);
  background: var(--ky-color-panel);
  color: var(--ky-color-ink);
  cursor: pointer;
  font: inherit;
  font-size: var(--ky-type-ui-sm);
  line-height: var(--ky-leading-ui);
  font-weight: 600;
  padding: calc(var(--ky-space-2) + var(--ky-space-1)) var(--ky-space-4);
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease;
}

.ky-onboard-chip:hover,
.ky-mentee-chip:hover {
  border-color: var(--ky-color-accent);
  background: var(--ky-color-flow-field-surface-strong);
  color: var(--ky-color-accent-strong);
}

.ky-onboard-chip.is-selected,
.ky-onboard-chip[aria-pressed="true"],
.ky-mentee-chip.is-selected,
.ky-mentee-chip[aria-pressed="true"] {
  border-color: var(--ky-color-accent);
  background: var(--ky-color-flow-accent-fill);
  color: var(--ky-color-accent-strong);
  box-shadow: var(--ky-shadow-flow-accent-inset);
}

.ky-onboard-textarea,
.ky-mentee-textarea {
  width: 100%;
  min-height: 11.5rem;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid var(--ky-color-line);
  border-radius: var(--ky-radius-flow-control);
  background: var(--ky-color-flow-field-surface);
  box-shadow: var(--ky-shadow-soft);
  color: var(--ky-color-ink);
  font: inherit;
  font-size: var(--ky-type-copy-md);
  line-height: var(--ky-leading-copy-md);
  padding: var(--ky-size-auth-control-px) var(--ky-size-auth-control-px);
  resize: vertical;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-focus-ring-color: transparent;
}

.ky-profile-card--mentee .ky-onboard-textarea,
.ky-profile-card--mentee .ky-mentee-textarea,
.ky-mentee-profile-card .ky-mentee-textarea {
  border-radius: var(--ky-radius-flow-control);
}

.ky-onboard-field--counted,
.ky-mentee-field--counted {
  position: relative;
}

.ky-onboard-field--counted .ky-onboard-input,
.ky-onboard-field--counted .ky-onboard-textarea,
.ky-onboard-field--counted .ky-mentee-input,
.ky-onboard-field--counted .ky-mentee-textarea,
.ky-mentee-field--counted .ky-mentee-input,
.ky-mentee-field--counted .ky-mentee-textarea {
  padding-right: var(--ky-space-flow-count-pr);
}

.ky-onboard-field--counted:not(.ky-onboard-field--counted-compact) .ky-onboard-textarea,
.ky-onboard-field--counted:not(.ky-onboard-field--counted-compact) .ky-mentee-textarea,
.ky-mentee-field--counted:not(.ky-mentee-field--counted-compact) .ky-mentee-textarea {
  padding-bottom: var(--ky-space-flow-count-pb);
}

.ky-onboard-textarea.ky-profile-prompt-answer--mentee,
.ky-onboard-textarea.ky-onboard-prompt-answer,
.ky-mentee-textarea.ky-profile-prompt-answer--mentee,
.ky-mentee-textarea.ky-mentee-prompt-answer {
  box-sizing: border-box;
  min-height: var(--ky-size-flow-prompt-height);
  height: var(--ky-size-flow-prompt-height);
  border-radius: var(--ky-radius-flow-control);
  padding-top: var(--ky-space-flow-prompt-pad-top);
  padding-bottom: var(--ky-space-flow-prompt-pad-bottom);
  line-height: var(--ky-leading-flow-prompt-answer);
  overflow-y: auto;
  resize: none;
}

.ky-onboard-field-count,
.ky-mentee-field-count {
  position: absolute;
  right: var(--ky-space-flow-count-right);
  bottom: var(--ky-space-flow-count-bottom);
  color: var(--ky-color-subtle);
  font-size: var(--ky-type-flow-count);
  line-height: var(--ky-leading-ui);
  font-variant-numeric: tabular-nums;
  pointer-events: none;
  white-space: nowrap;
}

.ky-onboard-field-count--compact,
.ky-mentee-field-count--compact {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}

.ky-onboard-field-count--story,
.ky-mentee-field-count--story {
  right: var(--ky-space-4);
  bottom: var(--ky-space-3);
}

.ky-onboard-textarea::placeholder,
.ky-mentee-textarea::placeholder {
  color: var(--ky-color-subtle);
}

.ky-onboard-textarea:hover,
.ky-mentee-textarea:hover {
  border-color: var(--ky-color-flow-accent-line);
  background: var(--ky-color-flow-field-hover);
}

.ky-onboard-textarea:focus,
.ky-mentee-textarea:focus {
  border-color: var(--ky-color-accent);
  background: var(--ky-color-flow-field-surface-strong);
  box-shadow: var(--ky-shadow-soft);
  outline: none;
}

.ky-profile-card--mentee .ky-onboard-textarea:focus,
.ky-mentee-profile-card .ky-mentee-textarea:focus,
.ky-profile-card--mentee .ky-mentee-textarea:focus {
  border-color: var(--ky-color-accent);
  background: var(--ky-color-flow-field-surface-strong);
  box-shadow: var(--ky-shadow-soft);
  outline: none;
}

.ky-profile-card--mentee .ky-profile-dropdown-summary:focus,
.ky-profile-card--mentee .ky-profile-dropdown-summary:focus-visible,
.ky-profile-card--mentee .ky-mentee-dropdown-summary:focus,
.ky-profile-card--mentee .ky-mentee-dropdown-summary:focus-visible,
.ky-mentee-profile-card .ky-mentee-dropdown-summary:focus,
.ky-mentee-profile-card .ky-mentee-dropdown-summary:focus-visible {
  border-color: var(--ky-color-accent);
  background: var(--ky-color-flow-accent-fill);
  color: var(--ky-color-accent-strong);
  box-shadow: var(--ky-shadow-flow-accent-inset);
  outline: none;
}

.ky-profile-card--mentee .ky-profile-check-chip:has(input:focus-visible),
.ky-profile-card--mentee .ky-mentee-check-chip:has(input:focus-visible),
.ky-mentee-profile-card .ky-mentee-check-chip:has(input:focus-visible) {
  outline: 2px solid var(--ky-color-accent);
  outline-offset: 3px;
}

.ky-onboard-chip:focus-visible,
.ky-onboard-submit:focus-visible,
.ky-onboard-wordmark:focus-visible,
.ky-onboard-save-link:focus-visible,
.ky-onboard-inline-link:focus-visible,
.ky-onboard-footer-links a:focus-visible,
.ky-mentee-chip:focus-visible,
.ky-mentee-submit:focus-visible,
.ky-mentee-wordmark:focus-visible,
.ky-mentee-save-link:focus-visible,
.ky-mentee-inline-link:focus-visible,
.ky-mentee-footer-links a:focus-visible {
  outline: 2px solid var(--ky-color-accent);
  outline-offset: 3px;
}

.ky-onboard-textarea.is-invalid,
.ky-mentee-textarea.is-invalid {
  border-color: var(--ky-color-accent-strong);
  box-shadow: 0 0 0 3px rgba(185, 95, 69, 0.16);
}

[data-prompt-answer-field][hidden] {
  display: none !important;
}

.ky-onboard-guidelines-row,
.ky-mentee-guidelines-row {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.ky-onboard-check,
.ky-mentee-check {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: flex-start;
  gap: 0.9rem;
  cursor: pointer;
}

.ky-onboard-check input,
.ky-mentee-check input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.ky-onboard-check-box,
.ky-mentee-check-box {
  width: 1.2rem;
  height: 1.2rem;
  margin-top: 0.12rem;
  border: 2px solid var(--ky-color-accent);
  border-radius: 0.35rem;
  background: var(--ky-color-panel);
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease;
}

.ky-onboard-check input:checked + .ky-onboard-check-box,
.ky-mentee-check input:checked + .ky-mentee-check-box {
  background: var(--ky-color-accent);
  border-color: var(--ky-color-accent);
  box-shadow: inset 0 0 0 0.18rem var(--ky-color-panel);
}

.ky-onboard-check input:disabled + .ky-onboard-check-box,
.ky-mentee-check input:disabled + .ky-mentee-check-box {
  opacity: 0.7;
}

.ky-onboard-check-copy,
.ky-mentee-check-copy {
  font-size: var(--ky-type-flow-copy);
  line-height: var(--ky-leading-flow-copy);
}

.ky-onboard-inline-link,
.ky-mentee-inline-link {
  color: var(--ky-color-accent);
}

.ky-onboard-inline-link:hover,
.ky-onboard-save-link:hover,
.ky-onboard-footer-links a:hover,
.ky-onboard-wordmark:hover,
.ky-mentee-inline-link:hover,
.ky-mentee-save-link:hover,
.ky-mentee-footer-links a:hover,
.ky-mentee-wordmark:hover {
  color: var(--ky-color-accent-strong);
}

.ky-onboard-error,
.ky-mentee-error {
  margin: 0;
  min-height: 1rem;
  color: var(--ky-color-accent-strong);
  font-size: var(--ky-type-error-sm);
  line-height: 1.5;
}

.ky-onboard-action-stack,
.ky-mentee-action-stack {
  display: flex;
  flex-direction: column;
  gap: 0;
}

[data-error-for="form"].ky-onboard-error:empty,
[data-error-for="form"].ky-mentee-error:empty,
.ky-onboard-action-stack > [data-error-for="form"].ky-flow-error:empty,
.ky-mentee-action-stack > [data-error-for="form"].ky-flow-error:empty {
  min-height: 0;
}

[data-error-for="form"].ky-onboard-error:not(:empty),
[data-error-for="form"].ky-mentee-error:not(:empty),
.ky-onboard-action-stack > [data-error-for="form"].ky-flow-error:not(:empty),
.ky-mentee-action-stack > [data-error-for="form"].ky-flow-error:not(:empty) {
  margin-top: var(--ky-space-2);
}

.ky-onboard-actions,
.ky-mentee-actions {
  display: flex;
  align-items: center;
  gap: var(--ky-space-flow-actions-gap);
}

.ky-onboard-actions-spacer,
.ky-mentee-actions-spacer {
  flex: 1 1 auto;
}

.ky-onboard-action-links {
  display: contents;
}

.ky-onboard-action-stack--mentee-core-mobile {
  display: none;
}

.ky-onboard-action-stack--onboard-profile-mobile {
  display: none;
}

.ky-onboard-action-stack--onboard-guidelines-mobile {
  display: none;
}

.ky-onboard-action-stack--mentor-core-mobile {
  display: none;
}

.ky-onboard-action-stack--mentor-experience-mobile {
  display: none;
}

.ky-onboard-submit,
.ky-mentee-submit {
  border: 0;
  background: var(--ky-color-accent);
  box-shadow: var(--ky-shadow-soft);
  color: var(--ky-color-panel);
  cursor: pointer;
  font-size: var(--ky-type-flow-submit);
  line-height: 1.2;
  padding: var(--ky-size-flow-submit-py) var(--ky-space-flow-submit-px);
  transition:
    background-color 0.2s ease,
    opacity 0.2s ease,
    transform 0.2s ease;
}

.ky-onboard-submit:hover:not(:disabled),
.ky-mentee-submit:hover:not(:disabled) {
  background: var(--ky-color-accent-strong);
  transform: translateY(-1px);
}

.ky-onboard-submit:disabled,
.ky-mentee-submit:disabled {
  background: var(--ky-color-line);
  box-shadow: none;
  color: var(--ky-color-muted);
  cursor: not-allowed;
  opacity: 1;
  transform: none;
}

.ky-onboard-save-link,
.ky-mentee-save-link {
  color: var(--ky-color-muted);
  font-size: var(--ky-type-copy-md);
}

.ky-onboard-footer,
.ky-mentee-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  max-width: 76rem;
  margin: 0 auto;
  padding: 0 1.25rem 1.5rem;
  font-size: 0.92rem;
  line-height: 1.6;
}

.ky-onboard-footer p,
.ky-mentee-footer p {
  margin: 0;
}

.ky-onboard-footer-links,
.ky-mentee-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}

@media (max-width: 960px) {
  .ky-auth-grid {
    grid-template-columns: 1fr;
  }

  .ky-auth-aside {
    gap: var(--ky-space-8);
    padding: 1.75rem 1.5rem 2rem;
  }

  .ky-auth-pane {
    align-items: flex-start;
    padding: 1.5rem;
  }

  .ky-auth-form-wrap {
    width: 100%;
  }

  .ky-auth-editorial {
    margin-top: 0;
  }

  .ky-auth-editorial-copy {
    margin-top: var(--ky-space-6);
    max-width: 20rem;
    font-size: 1rem;
    line-height: 1.7;
  }

  .ky-auth-two-up {
    grid-template-columns: 1fr;
  }

  .ky-flow-stage,
  .ky-profile-shell {
    width: 100%;
    grid-template-columns: 1fr;
  }

  .ky-flow-two-up,
  .ky-flow-option-grid,
  .ky-flow-option-grid--compact,
  .ky-profile-option-grid {
    grid-template-columns: 1fr;
  }

  .ky-onboard-grid,
  .ky-mentee-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .ky-onboard-editorial,
  .ky-mentee-editorial {
    order: 1;
  }

  .ky-onboard-form-column,
  .ky-mentee-form-column {
    order: 2;
  }

  .ky-onboard-copy-block,
  .ky-mentee-copy-block {
    max-width: 34rem;
  }

  .ky-mentee-profile-preview {
    position: static;
    width: min(100%, 28rem);
    margin-top: 2rem;
  }

  .ky-mentee-profile-preview-frame {
    padding: var(--ky-space-5);
  }

  .ky-mentee-portrait-card {
    width: min(100%, 26rem);
    margin-top: 2rem;
  }

  .ky-mentee-profile-preview .ky-mentee-portrait-card {
    width: 100%;
    margin-top: 0;
  }

  .ky-onboard-footer,
  .ky-mentee-footer {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 639px) {
  .ky-onboard-shell--mentee-core .ky-onboard-editorial {
    display: contents;
  }

  .ky-onboard-shell--mentee-core .ky-onboard-copy-block {
    order: 1;
  }

  .ky-onboard-shell--mentee-core .ky-onboard-form-column {
    order: 2;
  }

  .ky-onboard-shell--mentee-core .ky-onboard-return-card {
    order: 3;
  }

  .ky-onboard-shell--mentee-core .ky-mentee-profile-preview {
    order: 4;
    width: 100%;
    margin-top: 0;
  }

  .ky-onboard-shell--mentee-core .ky-onboard-action-stack--mentee-core-inline {
    display: none;
  }

  .ky-onboard-shell--mentee-core .ky-onboard-action-stack--mentee-core-mobile {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0 var(--ky-space-flow-mobile-shell-inline-pad) var(--ky-space-flow-mobile-shell-bottom-pad);
  }

  .ky-onboard-shell--onboard-profile .ky-onboard-editorial {
    display: contents;
  }

  .ky-onboard-shell--onboard-profile .ky-onboard-copy-block {
    order: 1;
  }

  .ky-onboard-shell--onboard-profile .ky-onboard-form-column {
    order: 2;
  }

  .ky-onboard-shell--onboard-profile .ky-onboard-return-card {
    order: 3;
  }

  .ky-onboard-shell--onboard-profile .ky-mentee-profile-preview {
    order: 4;
    width: 100%;
    margin-top: 0;
  }

  .ky-onboard-shell--onboard-profile .ky-onboard-action-stack--onboard-profile-inline {
    display: none;
  }

  .ky-onboard-shell--onboard-profile .ky-onboard-action-stack--onboard-profile-mobile {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0 var(--ky-space-flow-mobile-shell-inline-pad) var(--ky-space-flow-mobile-shell-bottom-pad);
  }

  .ky-onboard-shell--onboard-profile .ky-onboard-action-stack--onboard-profile-mobile .ky-onboard-actions {
    row-gap: 0;
  }

  .ky-onboard-shell--onboard-profile .ky-onboard-action-stack--onboard-profile-mobile .ky-onboard-action-links {
    margin-top: var(--ky-space-flow-mobile-action-links-top);
    margin-bottom: 0;
  }

  .ky-onboard-shell--onboard-guidelines .ky-onboard-editorial {
    display: contents;
  }

  .ky-onboard-shell--onboard-guidelines .ky-onboard-copy-block {
    order: 1;
  }

  .ky-onboard-shell--onboard-guidelines .ky-onboard-form-column {
    order: 2;
  }

  .ky-onboard-shell--onboard-guidelines .ky-onboard-return-card {
    order: 3;
  }

  .ky-onboard-shell--onboard-guidelines .ky-mentee-profile-preview {
    order: 4;
    width: 100%;
    margin-top: 0;
  }

  .ky-onboard-shell--onboard-guidelines .ky-mentor-experience-preview-layout {
    display: contents;
  }

  .ky-onboard-shell--onboard-guidelines .ky-mentor-guideline-profile-preview {
    order: 4;
    width: 100%;
    margin-top: 0;
  }

  .ky-onboard-shell--onboard-guidelines .ky-mentor-guideline-profile-preview .ky-mentor-experience-preview {
    width: 100%;
    margin-top: 0;
  }

  .ky-onboard-shell--onboard-guidelines .ky-mentor-guideline-profile-preview .ky-mentor-experience-preview-meta-pair {
    width: 100%;
    flex-wrap: wrap;
    gap: var(--ky-space-3);
  }

  .ky-onboard-shell--onboard-guidelines .ky-mentor-guideline-profile-preview .ky-mentee-profile-preview-heading-row {
    align-items: flex-start;
    gap: var(--ky-space-3);
    flex-wrap: wrap;
  }

  .ky-onboard-shell--onboard-guidelines .ky-mentor-guideline-profile-preview .ky-mentee-profile-preview-heading-actions {
    width: 100%;
    gap: var(--ky-space-4);
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .ky-onboard-shell--onboard-guidelines .ky-mentor-guideline-profile-preview .ky-mentee-profile-preview-heading-action {
    min-width: 0;
  }

  .ky-onboard-shell--onboard-guidelines .ky-mentor-guideline-experience-preview {
    order: 5;
    width: 100%;
    margin-top: 0;
  }

  .ky-onboard-shell--onboard-guidelines .ky-mentor-guideline-experience-preview .ky-booking-stack,
  .ky-onboard-shell--onboard-guidelines .ky-mentor-guideline-experience-preview .ky-booking-rail,
  .ky-onboard-shell--onboard-guidelines .ky-mentor-guideline-experience-preview .ky-booking-guarantee {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
  }

  .ky-onboard-shell--onboard-guidelines .ky-onboard-action-stack--onboard-guidelines-inline {
    display: none;
  }

  .ky-onboard-shell--onboard-guidelines .ky-onboard-action-stack--onboard-guidelines-mobile {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0 var(--ky-space-flow-mobile-shell-inline-pad) var(--ky-space-flow-mobile-shell-bottom-pad);
  }

  .ky-onboard-shell--onboard-guidelines .ky-onboard-action-stack--onboard-guidelines-mobile .ky-onboard-actions {
    row-gap: 0;
  }

  .ky-onboard-shell--onboard-guidelines .ky-onboard-action-stack--onboard-guidelines-mobile .ky-onboard-action-links {
    margin-top: var(--ky-space-flow-mobile-action-links-top);
    margin-bottom: 0;
  }

  .ky-onboard-shell--mentor-core .ky-onboard-editorial {
    display: contents;
  }

  .ky-onboard-shell--mentor-core .ky-onboard-copy-block {
    order: 1;
  }

  .ky-onboard-shell--mentor-core .ky-onboard-form-column {
    order: 2;
  }

  .ky-onboard-shell--mentor-core .ky-mentee-profile-preview {
    order: 3;
    width: 100%;
    margin-top: 0;
  }

  .ky-onboard-shell--mentor-core .ky-onboard-action-stack--mentor-core-inline {
    display: none;
  }

  .ky-onboard-shell--mentor-core .ky-onboard-action-stack--mentor-core-mobile {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0 var(--ky-space-flow-mobile-shell-inline-pad) var(--ky-space-flow-mobile-shell-bottom-pad);
  }

  .ky-onboard-shell--mentor-experience .ky-onboard-editorial {
    display: contents;
  }

  .ky-onboard-shell--mentor-experience .ky-onboard-copy-block {
    order: 1;
  }

  .ky-onboard-shell--mentor-experience .ky-onboard-form-column {
    order: 2;
  }

  .ky-onboard-shell--mentor-experience .ky-mentor-experience-preview,
  .ky-onboard-shell--mentor-experience .ky-mentor-experience-preview-pricing,
  .ky-onboard-shell--mentor-experience .ky-public-profile-rail {
    order: 3;
    width: 100%;
    margin-top: 0;
  }

  .ky-onboard-shell--mentor-experience .ky-onboard-action-stack--mentor-experience-inline {
    display: none;
  }

  .ky-onboard-shell--mentor-experience .ky-onboard-action-stack--mentor-experience-mobile {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0 var(--ky-space-flow-mobile-shell-inline-pad) var(--ky-space-flow-mobile-shell-bottom-pad);
  }

  .ky-home-hero-shot--secondary,
  .ky-home-hero-shot--tertiary {
    width: min(100%, 16rem);
  }

  .ky-feedback-step {
    grid-template-columns: 3rem 1fr;
    gap: 0.85rem;
  }

  .ky-feedback-step__number {
    font-size: 2.2rem;
  }

  .ky-feedback-step__title {
    font-size: 1.55rem;
  }

  .ky-confirm-step {
    grid-template-columns: 3rem 1fr;
    gap: 0.85rem;
  }

  .ky-confirm-step__number {
    font-size: 2.2rem;
  }

  .ky-confirm-step__title {
    font-size: 1.55rem;
  }

  .ky-community-card {
    padding: 1.4rem;
  }

  .ky-community-card__title {
    font-size: 1.95rem;
  }

  .ky-mentee-topbar {
    padding-inline: 1rem;
  }

  .ky-onboard-grid,
  .ky-mentee-grid {
    padding-inline: 1rem;
  }

  .ky-flow-topbar,
  .ky-flow-wrap,
  .ky-flow-step-tabs {
    padding-inline: 1rem;
  }

  .ky-flow-title {
    font-size: 3rem;
  }

  .ky-flow-card,
  .ky-profile-card {
    padding: 1.1rem;
  }

  .ky-onboard-title,
  .ky-mentee-title {
    font-size: 3.35rem;
  }

  .ky-mentee-copy {
    font-size: 1rem;
  }

  .ky-onboard-card,
  .ky-profile-card--mentee,
  .ky-mentee-card {
    padding: var(--ky-space-flow-card-pad-top-mobile) var(--ky-space-5) var(--ky-space-5);
    border-radius: 1.5rem;
  }

  .ky-onboard-section-head,
  .ky-mentee-section-head,
  .ky-mentee-actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .ky-onboard-actions,
  .ky-mentee-actions {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    row-gap: var(--ky-space-flow-mobile-action-row-gap);
    column-gap: var(--ky-space-flow-mobile-action-column-gap);
  }

  .ky-onboard-action-links {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ky-space-flow-mobile-action-row-gap);
    width: 100%;
    margin-top: var(--ky-space-flow-card-pad-top-mobile);
    margin-bottom: var(--ky-space-flow-mobile-action-links-bottom);
  }

  .ky-experience-action-links {
    margin-top: var(--ky-space-flow-mobile-experience-links-top);
  }

  .ky-mentor-availability-times {
    margin-bottom: var(--ky-space-flow-mobile-availability-bottom);
  }

  .ky-mentee-chip-list {
    gap: 0.65rem;
  }

  .ky-mentee-chip {
    width: 100%;
  }

  .ky-mentee-media [data-media-grid] > ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ky-onboard-submit,
  .ky-mentee-submit {
    width: 100%;
  }

  .ky-onboard-footer-links,
  .ky-mentee-footer-links {
    gap: 1rem;
  }
}

.ky-dashboard-shell {
  min-height: 100vh;
  padding-top: var(--ky-size-header-min);
  background:
    linear-gradient(180deg, var(--ky-color-shell) 0%, var(--ky-color-canvas) 22rem);
  color: var(--ky-color-ink);
}

.ky-site-role-header-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ky-color-ink);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: var(--ky-type-ui-sm);
  line-height: var(--ky-leading-ui);
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}

.ky-site-role-header-nav {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  gap: var(--ky-space-5);
  min-width: 0;
  text-align: center;
}

.ky-site-role-header-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: var(--ky-space-3);
}

.ky-site-role-header-menu {
  position: relative;
}

.ky-site-role-header-icon-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  background: transparent;
  color: var(--ky-color-ink);
  text-decoration: none;
  transition:
    color 180ms ease,
    opacity 180ms ease;
}

.ky-site-role-header-icon-link .material-symbols-outlined {
  font-size: 1.35rem;
  color: var(--ky-color-accent-strong);
}

.ky-site-role-header-avatar-link {
  display: inline-flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 2px solid var(--ky-color-accent);
  border-radius: 999px;
  background: var(--ky-color-panel);
  text-decoration: none;
  box-shadow: var(--ky-shadow-soft);
  transition:
    border-color 180ms ease,
    background-color 180ms ease,
    color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.ky-site-role-header-avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ky-site-role-header-menu-trigger {
  display: inline-flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--ky-color-accent-strong);
  border-radius: 999px;
  background: var(--ky-color-accent-strong);
  color: var(--ky-color-panel);
  box-shadow: var(--ky-shadow-soft);
  cursor: pointer;
  list-style: none;
  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.ky-site-role-header-menu-trigger::-webkit-details-marker {
  display: none;
}

.ky-site-role-header-menu-trigger .material-symbols-outlined {
  font-size: 1.3rem;
  color: currentColor;
}

.ky-site-role-header-menu-panel {
  position: absolute;
  right: 0;
  top: calc(100% + 0.6rem);
  display: grid;
  min-width: 13rem;
  overflow: hidden;
  border: 1px solid var(--ky-color-line);
  border-radius: var(--ky-radius-lg);
  background: #fff;
  box-shadow: var(--ky-shadow-card);
  backdrop-filter: blur(14px);
  z-index: 20;
}

.ky-site-role-header-menu form {
  margin: 0;
  width: 100%;
}

.ky-site-role-header-menu-divider {
  height: 1px;
  margin: 0 1.25rem;
  background: var(--ky-color-line);
}

.ky-site-role-header-menu-item {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: flex-start;
  min-height: 2.5rem;
  padding: 1.1rem 1rem;
  border: 0;
  border-radius: var(--ky-radius-md);
  background: transparent;
  color: var(--ky-color-ink);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: var(--ky-type-ui-sm);
  line-height: var(--ky-leading-ui);
  font-weight: 600;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  transition:
    background-color 180ms ease,
    color 180ms ease;
}

.ky-site-role-header-menu-item--mobile-nav,
.ky-site-role-header-menu-divider--mobile-nav {
  display: none !important;
}

.ky-site-role-header-menu-item--secondary {
  font-weight: 500;
}

.ky-site-role-header-menu-item--mobile-nav {
  font-weight: 500;
}

.ky-site-role-header-menu-item:hover,
.ky-site-role-header-menu-item:focus-visible {
  border-radius: 0;
  background: rgba(212, 123, 95, 0.1);
  color: var(--ky-color-accent-strong);
  outline: none;
}

.ky-site-role-header-icon-link:hover {
  opacity: 0.75;
}

.ky-site-role-header-avatar-link:hover {
  border-color: var(--ky-color-flow-accent-line);
}

.ky-site-role-header-menu-trigger:hover,
.ky-site-role-header-menu[open] .ky-site-role-header-menu-trigger {
  border-color: var(--ky-color-flow-accent-line);
  background: var(--ky-color-flow-accent-line);
}

.ky-site-role-header-avatar--fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ky-color-ink);
  font-size: var(--ky-type-ui-sm);
  font-weight: 700;
}

@media (max-width: 560px) {
  .ky-site-role-header-nav {
    display: none;
  }

  .ky-site-role-header-menu-item--mobile-nav {
    display: flex;
  }

  .ky-site-role-header-menu-divider--mobile-nav {
    display: block;
  }
}

.ky-dashboard-topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  border-bottom: 1px solid var(--ky-color-line);
  background: var(--ky-color-canvas);
  backdrop-filter: blur(18px);
}

.ky-dashboard-topbar__inner,
.ky-dashboard-page,
.ky-dashboard-footer__inner {
  width: min(100%, var(--ky-layout-container));
  margin: 0 auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.ky-dashboard-topbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  min-height: 5rem;
}

.ky-dashboard-brand-nav,
.ky-dashboard-toolbar,
.ky-dashboard-nav,
.ky-dashboard-action-row,
.ky-dashboard-contact,
.ky-dashboard-calendar-weekdays,
.ky-dashboard-link-row,
.ky-dashboard-footer__grid ul,
.ky-dashboard-footer__logout,
.ky-dashboard-calendar-actions {
  display: flex;
  align-items: center;
}

.ky-dashboard-brand-nav {
  gap: 2rem;
  min-width: 0;
}

.ky-dashboard-wordmark {
  text-decoration: none;
}

.ky-dashboard-nav {
  flex-wrap: wrap;
  gap: 1.25rem;
}

.ky-dashboard-nav a,
.ky-dashboard-inline-link,
.ky-dashboard-link-row a,
.ky-dashboard-footer__grid a {
  text-decoration: none;
  transition: color 180ms ease;
}

.ky-dashboard-nav a,
.ky-dashboard-inline-link,
.ky-dashboard-link-row a,
.ky-dashboard-footer__grid a {
  color: var(--ky-color-muted);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.92rem;
  font-weight: 600;
}

.ky-dashboard-nav a.is-active,
.ky-dashboard-nav a:hover,
.ky-dashboard-inline-link:hover,
.ky-dashboard-link-row a:hover,
.ky-dashboard-footer__grid a:hover,
.ky-dashboard-wordmark:hover {
  color: var(--ky-color-accent-strong);
}

.ky-dashboard-toolbar {
  gap: 0.7rem;
}

.ky-dashboard-switch,
.ky-dashboard-icon-link,
.ky-dashboard-avatar-link,
.ky-dashboard-btn,
.ky-dashboard-footer__logout {
  border: 1px solid transparent;
  font-family: var(--ky-font-body), Inter, sans-serif;
  transition:
    border-color 180ms ease,
    background-color 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.ky-dashboard-switch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  padding: 0.7rem 1.1rem;
  border-color: var(--ky-color-line);
  border-radius: var(--ky-radius-pill);
  background: var(--ky-color-panel);
  color: var(--ky-color-ink);
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
}

.ky-dashboard-switch:hover,
.ky-dashboard-switch:focus-visible {
  border-color: var(--ky-color-accent);
  color: var(--ky-color-accent-strong);
  outline: none;
}

.ky-dashboard-icon-link,
.ky-dashboard-avatar-link,
.ky-dashboard-contact-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.9rem;
  height: 2.9rem;
  border-radius: 999px;
  background: var(--ky-color-panel);
  color: var(--ky-color-ink);
  text-decoration: none;
  box-shadow: var(--ky-shadow-soft);
}

.ky-dashboard-icon-link {
  border-color: var(--ky-color-line);
}

.ky-dashboard-icon-link:hover,
.ky-dashboard-avatar-link:hover,
.ky-dashboard-contact-avatar:hover {
  border-color: var(--ky-color-accent);
  color: var(--ky-color-accent-strong);
}

.ky-dashboard-avatar {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}

.ky-dashboard-avatar--fallback,
.ky-dashboard-contact-avatar {
  background: var(--ky-color-shell);
  color: var(--ky-color-accent-strong);
  font-size: 0.95rem;
  font-weight: 700;
}

.ky-dashboard-page {
  display: grid;
  gap: var(--ky-space-8);
  padding-top: clamp(1rem, 2vw, 2.25rem);
  padding-bottom: 4rem;
}

.ky-dashboard-heading,
.ky-dashboard-section-head,
.ky-dashboard-calendar-head,
.ky-dashboard-discover-head,
.ky-dashboard-footer__inner,
.ky-dashboard-feedback-author,
.ky-dashboard-feedback-card,
.ky-dashboard-session-row,
.ky-dashboard-momentum-copy,
.ky-dashboard-revenue {
  display: flex;
}

.ky-dashboard-heading {
  align-items: end;
  justify-content: space-between;
  gap: 1.5rem;
}

.ky-dashboard-heading--mentor {
  display: block;
}

.ky-dashboard-heading-shell--mentor {
  display: grid;
  grid-template-columns: minmax(0, 1.38fr) minmax(20rem, 0.9fr);
  align-items: start;
  gap: 1.5rem;
  width: 100%;
}

.ky-dashboard-heading-aside {
  width: 100%;
  min-width: 0;
}

.ky-dashboard-title {
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: clamp(3.1rem, 5vw, 4.5rem);
  font-weight: 600;
  line-height: 0.92;
  letter-spacing: -0.05em;
  margin: 0;
}

.ky-dashboard-title span {
  display: block;
}

.ky-dashboard-title .is-accent {
  color: var(--ky-color-accent);
}

.ky-dashboard-copy,
.ky-dashboard-panel-copy,
.ky-dashboard-feature-copy,
.ky-dashboard-history-copy,
.ky-dashboard-footer__brand p,
.ky-dashboard-footer__grid li,
.ky-dashboard-feedback-card blockquote {
  color: var(--ky-color-muted);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 1rem;
  line-height: 1.7;
  margin: 0;
}

.ky-dashboard-section-head,
.ky-dashboard-calendar-head,
.ky-dashboard-discover-head {
  justify-content: space-between;
  gap: 1rem;
  align-items: start;
}

.ky-dashboard-section-head--with-nav {
  align-items: center;
}

.ky-dashboard-section-block {
  display: grid;
  gap: 1rem;
}

.ky-dashboard-section-head--mobile-shell {
  display: none;
}

.ky-dashboard-slot--calendar .ky-dashboard-section-head--mobile-shell,
.ky-dashboard-slot--support .ky-dashboard-section-head--mobile-shell {
  display: flex;
}

.ky-dashboard-slot--support .ky-dashboard-panel--message > .ky-dashboard-section-title {
  display: none;
}

.ky-dashboard-eyebrow,
.ky-dashboard-kicker {
  margin: 0 0 0.35rem;
  color: var(--ky-color-subtle);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.ky-dashboard-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  background: var(--ky-color-panel);
  border: 1px solid var(--ky-color-line);
}

.ky-dashboard-session-nav {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.ky-dashboard-session-nav__count {
  min-width: 3rem;
  color: var(--ky-color-subtle);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
}

.ky-dashboard-session-nav__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ky-color-muted);
  transition: color 180ms ease;
  cursor: pointer;
}

.ky-dashboard-session-nav__button:hover {
  color: var(--ky-color-accent-strong);
}

.ky-dashboard-session-nav__button:disabled,
.ky-dashboard-session-nav__button[aria-disabled="true"] {
  color: var(--ky-color-subtle);
  cursor: not-allowed;
  opacity: 0.55;
}

.ky-dashboard-session-nav__button .material-symbols-outlined {
  font-size: 1.25rem;
  line-height: 1;
}

.ky-dashboard-section-title,
.ky-dashboard-feature-title,
.ky-dashboard-history-title,
.ky-dashboard-discover-head h3,
.ky-dashboard-empty h3,
.ky-dashboard-feedback-author strong,
.ky-dashboard-contact strong {
  color: var(--ky-color-ink);
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: 1.7rem;
  font-weight: 600;
  line-height: 1.08;
  margin: 0;
}

.ky-dashboard-feature-title,
.ky-dashboard-history-title,
.ky-dashboard-discover-head h3,
.ky-dashboard-empty h3,
.ky-dashboard-feedback-author strong,
.ky-dashboard-contact strong {
  font-size: 1.5rem;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ky-dashboard-grid {
  display: grid;
  gap: 1.5rem;
}

.ky-dashboard-grid--kyndee {
  grid-template-columns: minmax(0, 1.38fr) minmax(20rem, 0.9fr);
  align-items: start;
}

.ky-dashboard-grid--kynder {
  grid-template-columns: minmax(0, 1.38fr) minmax(18rem, 0.88fr);
  align-items: start;
}

.ky-dashboard-main,
.ky-dashboard-sidebar {
  display: grid;
}

.ky-dashboard-slot {
  min-width: 0;
}

.ky-dashboard-main {
  gap: 2rem;
}

.ky-dashboard-sidebar {
  gap: 2rem;
}

.ky-dashboard-panel,
.ky-dashboard-revenue {
  border: 1px solid var(--ky-color-line);
  border-radius: 1.75rem;
  background: var(--ky-color-panel);
  box-shadow: var(--ky-shadow-card);
}

.ky-dashboard-panel {
  padding: 1.5rem;
}

.ky-dashboard-panel--feature {
  display: grid;
  gap: 1.25rem;
  min-width: 0;
}

.ky-dashboard-panel--feature[hidden] {
  display: none !important;
}

.ky-dashboard-feature-main {
  display: grid;
  grid-template-columns: minmax(13rem, 16rem) minmax(0, 1fr);
  gap: 1.2rem;
  align-items: start;
  min-width: 0;
}

.ky-dashboard-feature-main--no-media {
  grid-template-columns: minmax(0, 1fr);
}

.ky-dashboard-feature-media {
  position: relative;
  aspect-ratio: 1 / 1;
  border-radius: 1.45rem;
  overflow: hidden;
  background: var(--ky-color-card);
}

.ky-dashboard-feature-media-link {
  display: block;
  width: 100%;
  height: 100%;
}

.ky-dashboard-feature-image,
.ky-dashboard-feature-placeholder {
  width: 100%;
  height: 100%;
}

.ky-dashboard-feature-image {
  object-fit: cover;
}

.ky-dashboard-feature-placeholder {
  display: grid;
  place-items: center;
  color: var(--ky-color-panel);
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: 3rem;
}

.ky-dashboard-feature-chip {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  display: inline-flex;
  align-items: center;
  min-height: 1.9rem;
  padding: 0.2rem 0.7rem;
  border-radius: 999px;
  background: var(--ky-color-panel);
  color: var(--ky-color-ink);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.ky-dashboard-feature-content,
.ky-dashboard-prep-grid,
.ky-dashboard-history-grid,
.ky-dashboard-discover-grid,
.ky-dashboard-session-list,
.ky-dashboard-feedback-list,
.ky-dashboard-calendar-grid,
.ky-dashboard-list,
.ky-dashboard-pill-list {
  display: grid;
}

.ky-dashboard-feature-content {
  gap: 0;
  align-content: start;
  min-width: 0;
}

.ky-dashboard-feature-divider {
  width: 100%;
  border-top: 1px solid var(--ky-color-line);
}

.ky-dashboard-feature-prep {
  display: grid;
  gap: 1.5rem;
}

.ky-dashboard-prep-header {
  display: grid;
  gap: 0.5rem;
}

.ky-dashboard-prep-steps {
  display: grid;
  gap: 1rem;
}

.ky-dashboard-prep-step {
  display: grid;
  grid-template-columns: 3.75rem minmax(0, 1fr);
  gap: 0.625rem;
  align-items: start;
}

.ky-dashboard-prep-step__number {
  color: var(--ky-color-line);
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: clamp(2.4rem, 3.6vw, 3.2rem);
  font-weight: 500;
  line-height: 0.96;
  letter-spacing: -0.03em;
}

.ky-dashboard-prep-step__content {
  display: grid;
  gap: 0.325rem;
  min-width: 0;
}

.ky-dashboard-prep-step__title {
  margin: 0;
  color: var(--ky-color-ink);
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.03em;
}

.ky-dashboard-prep-step__copy {
  max-width: 56rem;
  margin: 0;
  color: var(--ky-color-muted);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: var(--ky-type-flow-copy);
  line-height: 1.55;
}

.ky-dashboard-prep-step__link {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.12em;
}

.ky-dashboard-feature-prep-title {
  margin: 0;
  color: var(--ky-color-ink);
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.08;
}

.ky-dashboard-feature-meta-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--ky-space-5);
  margin-top: 0.5rem;
}

.ky-dashboard-feature-meta-item {
  display: inline-flex;
  align-items: center;
  gap: var(--ky-space-2);
  color: var(--ky-color-muted);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.4;
  white-space: nowrap;
}

.ky-dashboard-feature-meta-item .material-symbols-outlined {
  color: var(--ky-color-accent-strong);
  font-size: 1rem;
  line-height: 1;
}

.ky-dashboard-feature-meta-symbol {
  color: var(--ky-color-accent-strong);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1;
}

.ky-dashboard-feature-detail-stack {
  display: grid;
  gap: 0.12rem;
  margin-top: 0.45rem;
}

.ky-dashboard-feature-detail {
  margin: 0;
  color: var(--ky-color-muted);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 1rem;
  line-height: 1.4;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ky-dashboard-feature-detail-row {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  min-width: 0;
}

.ky-dashboard-feature-detail-index {
  flex: 0 0 auto;
  color: var(--ky-color-muted);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
}

.ky-dashboard-feature-detail-row .ky-dashboard-feature-detail {
  flex: 1 1 auto;
  min-width: 0;
}

.ky-dashboard-panel--feature .ky-dashboard-eyebrow {
  font-size: var(--ky-type-label-xs);
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--ky-color-accent-strong);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ky-dashboard-panel--feature .ky-dashboard-eyebrow-separator {
  display: inline-block;
  font-size: 0.78em;
  margin-inline: 0.65em;
  vertical-align: 0.08em;
}

.ky-dashboard-panel--feature .ky-dashboard-feature-copy {
  margin-top: 0.5rem;
  font-size: var(--ky-type-flow-copy);
  line-height: 1.5;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ky-feedback-focus-group-eyebrow {
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: var(--ky-type-label-xs);
  font-weight: 600;
  margin: 0 0 0.5rem;
  color: var(--ky-color-accent-strong);
  letter-spacing: 0.04em;
  line-height: 1.1;
  text-transform: uppercase;
}

.ky-dashboard-feature-takeaways-wrap {
  display: grid;
  gap: 0.24rem;
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  min-width: 0;
}

.ky-dashboard-feature-takeaways {
  display: none;
  gap: 0.18rem;
  min-width: 0;
}

.ky-dashboard-feature-takeaways-wrap.is-expanded .ky-dashboard-feature-takeaways {
  display: grid;
}

.ky-dashboard-feature-takeaway {
  margin: 0;
  color: var(--ky-color-subtle);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: var(--ky-type-flow-copy);
  font-weight: 400;
  line-height: 1.5;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ky-dashboard-feature-takeaways-toggle {
  display: block;
  width: fit-content;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ky-color-accent-strong);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.82rem;
  font-weight: 400;
  line-height: 1.2;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.12em;
  cursor: pointer;
}

.ky-dashboard-prep-header .ky-dashboard-eyebrow,
.ky-dashboard-prep-header .ky-dashboard-feature-copy {
  margin-top: 0;
  margin-bottom: 0;
}

.ky-dashboard-prep-header .ky-dashboard-eyebrow {
  letter-spacing: 0.14em;
}

.ky-dashboard-panel--feature .ky-dashboard-action-row {
  margin-top: 1rem;
  flex-wrap: nowrap;
  align-items: flex-start;
}

.ky-dashboard-pending-notice {
  margin: 1rem 0 0;
  color: var(--ky-color-muted);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: var(--ky-type-flow-copy);
  line-height: 1.5;
}

.ky-dashboard-pending-notice__timer {
  color: var(--ky-color-ink);
  font-weight: 600;
}

.ky-dashboard-feature-meta,
.ky-dashboard-contact p,
.ky-dashboard-feedback-author p {
  margin: 0;
  color: var(--ky-color-muted);
  font-size: 0.92rem;
  line-height: 1.5;
}

.ky-dashboard-pill-list {
  grid-template-columns: repeat(3, minmax(0, max-content));
  gap: 0.55rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.ky-dashboard-pill-list li {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.25rem 0.8rem;
  border-radius: 999px;
  background: var(--ky-color-shell);
  border: 1px solid var(--ky-color-line);
  color: var(--ky-color-ink);
  font-size: 0.8rem;
  font-weight: 600;
}

.ky-dashboard-action-row,
.ky-dashboard-calendar-actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.ky-dashboard-action-stack {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
}

.ky-dashboard-action-row .ky-dashboard-action-stack {
  flex: 0 1 auto;
}

.ky-dashboard-action-row.is-inline {
  flex-wrap: nowrap;
}

.ky-dashboard-action-row.is-inline .ky-dashboard-action-stack {
  flex: 0 0 auto;
}

.ky-dashboard-panel--message .ky-dashboard-action-stack {
  width: 100%;
}

.ky-dashboard-action-subtext {
  margin: 0;
  color: var(--ky-color-muted);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.82rem;
  line-height: 1.35;
}

.ky-dashboard-btn {
  min-height: 3rem;
  padding: 0.8rem 1.25rem;
  text-decoration: none;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}

.ky-dashboard-btn:hover:not(:disabled):not([aria-disabled="true"]) {
  transform: translateY(-1px);
}

.ky-dashboard-btn.is-primary {
  background: var(--ky-color-accent);
  color: var(--ky-color-panel);
  box-shadow: var(--ky-shadow-soft);
}

.ky-dashboard-btn.is-primary:hover:not(:disabled):not([aria-disabled="true"]) {
  background: var(--ky-color-accent-strong);
}

.ky-dashboard-btn.is-secondary {
  background: var(--ky-color-panel);
  border-color: var(--ky-color-line-strong);
  color: var(--ky-color-ink);
}

.ky-dashboard-btn.is-secondary:hover:not(:disabled):not([aria-disabled="true"]),
.ky-dashboard-btn.is-light:hover:not(:disabled):not([aria-disabled="true"]) {
  border-color: var(--ky-color-accent);
  color: var(--ky-color-accent-strong);
}

.ky-dashboard-btn.is-light {
  width: 100%;
  background: var(--ky-color-panel);
  border-color: var(--ky-color-line-strong);
  color: var(--ky-color-accent-strong);
}

.ky-dashboard-btn:disabled,
.ky-dashboard-btn[aria-disabled="true"] {
  border-color: var(--ky-color-line);
  background: var(--ky-color-shell);
  color: var(--ky-color-subtle);
  box-shadow: none;
  cursor: not-allowed;
  opacity: 0.85;
  transform: none;
}

.ky-dashboard-btn.is-primary:disabled,
.ky-dashboard-btn.is-primary[aria-disabled="true"],
.ky-dashboard-btn.is-secondary:disabled,
.ky-dashboard-btn.is-secondary[aria-disabled="true"],
.ky-dashboard-btn.is-light:disabled,
.ky-dashboard-btn.is-light[aria-disabled="true"] {
  background: var(--ky-color-shell);
  color: var(--ky-color-subtle);
  border-color: var(--ky-color-line);
}

.ky-dashboard-prep-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.ky-dashboard-list {
  gap: 0.8rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.ky-dashboard-list li {
  position: relative;
  padding-left: 1.1rem;
  color: var(--ky-color-muted);
  font-size: var(--ky-type-flow-copy);
  line-height: 1.5;
}

.ky-dashboard-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.75rem;
  width: 0.35rem;
  height: 0.35rem;
  border-radius: 999px;
  background: var(--ky-color-accent);
}

.ky-dashboard-prompt {
  padding: 1.15rem 1.2rem;
  border-radius: 1.25rem;
  background: var(--ky-color-shell);
  border: 1px solid var(--ky-color-line);
}

.ky-dashboard-prompt blockquote {
  margin: 0.25rem 0 0;
  color: var(--ky-color-ink);
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: 1.2rem;
  line-height: 1.45;
}

.ky-dashboard-history-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.ky-dashboard-panel--history,
.ky-dashboard-panel--discover {
  gap: 0.8rem;
}

.ky-dashboard-link-row {
  gap: 1rem;
  flex-wrap: wrap;
}

.ky-dashboard-panel--calendar {
  gap: 1rem;
}

.ky-dashboard-calendar-nav {
  display: inline-flex;
  gap: 0.35rem;
  color: var(--ky-color-subtle);
}

.ky-dashboard-calendar-legend-wrap {
  display: flex;
  justify-content: center;
  padding: 0.45rem 0;
}

.ky-dashboard-calendar-legend {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.85rem;
  margin: 0;
  color: var(--ky-color-subtle);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.3;
}

.ky-dashboard-calendar-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 0.22rem;
}

.ky-dashboard-calendar-legend-icon {
  color: var(--ky-color-accent);
  font-size: 0.82rem;
  line-height: 1;
}

.ky-dashboard-calendar-legend-icon.is-filled {
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 20;
}

.ky-dashboard-calendar-nav-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  transition:
    border-color 180ms ease,
    background-color 180ms ease,
    color 180ms ease;
}

.ky-dashboard-calendar-nav-button .material-symbols-outlined {
  font-size: 1.25rem;
  transition: color 180ms ease;
}

.ky-dashboard-calendar-nav-button:hover,
.ky-dashboard-calendar-nav-button:focus-visible {
  border-color: transparent;
  background: transparent;
  color: var(--ky-color-accent-strong);
  outline: none;
}

.ky-dashboard-calendar-nav-button.is-today {
  color: var(--ky-color-subtle);
}

.ky-dashboard-calendar-nav-button.is-today:hover,
.ky-dashboard-calendar-nav-button.is-today:focus-visible {
  color: var(--ky-color-accent-strong);
}

.ky-dashboard-calendar-weekdays {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.45rem;
  margin-top: 1rem;
  color: var(--ky-color-subtle);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-align: center;
}

.ky-dashboard-calendar-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.45rem;
  margin-top: 0.8rem;
}

.ky-dashboard-calendar-detail {
  display: grid;
  gap: 0.8rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--ky-color-line);
}

.ky-dashboard-calendar-detail[hidden] {
  display: none;
}

.ky-dashboard-calendar-session-list {
  display: grid;
  gap: 0.75rem;
}

.ky-dashboard-calendar-session-card {
  display: grid;
  gap: 0;
  padding: 0.95rem 1rem;
  color: inherit;
  text-decoration: none;
}

.ky-dashboard-calendar-session-card .ky-dashboard-eyebrow {
  font-size: var(--ky-type-label-xs);
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--ky-color-accent-strong);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ky-dashboard-calendar-session-card .ky-dashboard-eyebrow-separator {
  display: inline-block;
  font-size: 0.78em;
  margin-inline: 0.65em;
  vertical-align: 0.08em;
}

.ky-dashboard-calendar-session-card .ky-dashboard-feature-title {
  font-size: 1.5rem;
}

.ky-dashboard-calendar-session-card .ky-dashboard-feature-meta-row {
  margin-top: 0.5rem;
}

.ky-dashboard-calendar-day {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  aspect-ratio: 1;
  padding: 0.12rem 0 0.08rem;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--ky-color-shell);
  color: var(--ky-color-ink);
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition:
    border-color 180ms ease,
    background-color 180ms ease,
    color 180ms ease;
}

.ky-dashboard-calendar-day-number {
  line-height: 1;
}

.ky-dashboard-calendar-day-session-row {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.05rem;
  min-height: 0.56rem;
  margin-top: -0.03rem;
}

.ky-dashboard-calendar-day-session-icon {
  color: var(--ky-color-accent);
  font-size: 0.76rem;
  line-height: 1;
}

.ky-dashboard-calendar-day-session-icon.is-filled {
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 20;
}

.ky-dashboard-calendar-day:hover,
.ky-dashboard-calendar-day:focus-visible {
  border-color: var(--ky-color-accent);
  outline: none;
}

.ky-dashboard-calendar-day.is-outside {
  opacity: 0.3;
}

.ky-dashboard-calendar-day.is-primary {
  background: var(--ky-color-accent);
  color: var(--ky-color-panel);
}

.ky-dashboard-calendar-day.is-primary .ky-dashboard-calendar-day-session-icon {
  color: var(--ky-color-panel);
}

.ky-dashboard-calendar-day.is-today {
  box-shadow: inset 0 0 0 2px var(--ky-color-accent);
}

.ky-dashboard-panel--message {
  background: linear-gradient(160deg, var(--ky-color-accent-strong), var(--ky-color-accent));
  color: var(--ky-color-panel);
}

.ky-dashboard-panel--message .ky-dashboard-section-title,
.ky-dashboard-panel--message .ky-dashboard-panel-copy,
.ky-dashboard-panel--message .ky-dashboard-contact p,
.ky-dashboard-panel--message .ky-dashboard-contact strong {
  color: var(--ky-color-panel);
}

.ky-dashboard-panel--message .ky-dashboard-section-title {
  margin-bottom: 0.5rem;
}

.ky-dashboard-contact {
  gap: 0.8rem;
  margin: 1rem 0 1.15rem;
}

.ky-dashboard-panel--message .ky-dashboard-contact-avatar {
  background: var(--ky-color-panel);
  color: var(--ky-color-accent-strong);
  box-shadow: none;
}

.ky-dashboard-panel--habit {
  display: grid;
  gap: 1rem;
  border: 0;
}

.ky-dashboard-panel--habit[hidden] {
  display: none !important;
}

.ky-dashboard-prompt--tip {
  min-height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
}

.ky-dashboard-dictionary-entry {
  display: grid;
  gap: 0.25rem;
}

.ky-dashboard-dictionary-entry__header {
  display: grid;
  gap: 0.5rem;
}

.ky-dashboard-dictionary-entry__head {
  display: grid;
  gap: 0.5rem;
}

.ky-dashboard-dictionary-entry__subhead {
  display: flex;
  align-items: baseline;
  gap: 0.35rem;
  flex-wrap: wrap;
}

.ky-dashboard-dictionary-entry__term {
  margin: 0;
  letter-spacing: normal;
}

.ky-dashboard-dictionary-entry__pronunciation {
  margin: 0;
  font-style: italic;
}

.ky-dashboard-dictionary-entry__dot {
  color: var(--ky-color-accent-strong);
  font-size: 0.78em;
}

.ky-dashboard-dictionary-entry__part {
  margin: 0;
  font-style: italic;
}

.ky-dashboard-dictionary-entry__definition {
  margin: 0;
}

.ky-dashboard-dictionary-entry .ky-dashboard-eyebrow {
  margin: 0;
  color: var(--ky-color-accent-strong);
  letter-spacing: 0.14em;
}

.ky-dashboard-revenue {
  min-width: 15rem;
  padding: 1rem 1.25rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.3rem;
}

.ky-dashboard-heading--mentor .ky-dashboard-revenue {
  width: 100%;
  min-width: 0;
}

.ky-dashboard-panel--mentor-revenue {
  width: 100%;
  min-width: 0;
  display: grid;
  gap: 0;
  padding: 1.3rem 1.5rem;
}

.ky-dashboard-panel--mentor-revenue .ky-dashboard-eyebrow,
.ky-dashboard-mentor-revenue__value,
.ky-dashboard-mentor-revenue__change {
  margin: 0;
}

.ky-dashboard-panel--mentor-revenue .ky-dashboard-eyebrow {
  color: var(--ky-color-accent-strong);
  font-size: var(--ky-type-label-xs);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ky-dashboard-panel--mentor-revenue .ky-dashboard-section-title.ky-dashboard-mentor-revenue__value {
  color: var(--ky-color-ink);
  font-size: 3.4rem;
  line-height: 0.92;
}

.ky-dashboard-panel--mentor-revenue .ky-dashboard-feature-copy.ky-dashboard-mentor-revenue__change {
  color: var(--ky-color-muted);
  font-size: 1rem;
  line-height: 0.92;
  margin-top: 0.12rem;
}

.ky-dashboard-session-list,
.ky-dashboard-feedback-list {
  gap: 1rem;
}

.ky-dashboard-session-row {
  align-items: center;
  gap: 1rem;
  padding: 1.1rem 1.2rem;
  text-decoration: none;
  color: inherit;
}

.ky-dashboard-session-media {
  width: 3.65rem;
  height: 3.65rem;
  border-radius: 1rem;
  background: var(--ky-color-card);
  flex: 0 0 auto;
}

.ky-dashboard-session-copy,
.ky-dashboard-session-meta {
  display: grid;
  gap: 0.2rem;
}

.ky-dashboard-session-copy h3,
.ky-dashboard-session-meta strong {
  margin: 0;
  color: var(--ky-color-ink);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
}

.ky-dashboard-session-copy p,
.ky-dashboard-session-meta span {
  margin: 0;
  color: var(--ky-color-muted);
  font-size: 0.92rem;
  line-height: 1.45;
}

.ky-dashboard-session-meta {
  margin-left: auto;
  justify-items: end;
  text-align: right;
}

.ky-dashboard-session-arrow {
  color: var(--ky-color-accent);
}

.ky-dashboard-panel--momentum {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(10rem, 12rem);
  gap: 1rem;
  align-items: end;
}

.ky-dashboard-momentum-copy {
  flex-direction: column;
  gap: 0.85rem;
}

.ky-dashboard-bar-cluster {
  display: flex;
  align-items: end;
  justify-content: flex-end;
  gap: 0.5rem;
  height: 9rem;
}

.ky-dashboard-bar-cluster span {
  width: 1.1rem;
  min-height: 1.5rem;
  border-radius: 0.45rem 0.45rem 0 0;
  background: var(--ky-color-line);
}

.ky-dashboard-bar-cluster span:nth-child(3),
.ky-dashboard-bar-cluster span:nth-child(4) {
  background: var(--ky-color-accent);
}

.ky-dashboard-bar-cluster span:last-child {
  background: var(--ky-color-accent-strong);
}

.ky-dashboard-panel--feedback {
  min-height: 100%;
}

.ky-dashboard-feedback-card {
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--ky-color-line);
}

.ky-dashboard-feedback-card:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.ky-dashboard-feedback-author {
  align-items: center;
  gap: 0.8rem;
}

.ky-dashboard-feedback-author p {
  display: flex;
  gap: 0.2rem;
  align-items: center;
  color: var(--ky-color-accent-strong);
}

.ky-dashboard-feedback-rating {
  margin-left: 0.4rem;
  color: var(--ky-color-muted);
}

.ky-dashboard-discover-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.ky-dashboard-discover-avatar {
  width: 3rem;
  height: 3rem;
  border-radius: 999px;
  object-fit: cover;
}

.ky-dashboard-empty {
  display: grid;
  gap: 0.5rem;
}

.ky-dashboard-footer {
  border-top: 1px solid var(--ky-color-line);
  background: var(--ky-color-panel);
}

.ky-dashboard-footer__inner {
  align-items: start;
  justify-content: space-between;
  gap: 2rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.ky-dashboard-footer__brand {
  max-width: 18rem;
}

.ky-dashboard-footer__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
  flex: 1;
}

.ky-dashboard-footer__grid h2 {
  margin: 0 0 0.9rem;
  color: var(--ky-color-subtle);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.ky-dashboard-footer__grid ul {
  flex-direction: column;
  gap: 0.75rem;
  align-items: flex-start;
  list-style: none;
  margin: 0;
  padding: 0;
}

.ky-dashboard-footer__logout {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ky-color-muted);
  font-size: 0.92rem;
  font-weight: 600;
  cursor: pointer;
}

.ky-dashboard-footer__logout:hover {
  color: var(--ky-color-accent-strong);
}

.ky-dashboard-switch:focus-visible,
.ky-dashboard-icon-link:focus-visible,
.ky-dashboard-avatar-link:focus-visible,
.ky-dashboard-btn:focus-visible,
.ky-dashboard-nav a:focus-visible,
.ky-dashboard-inline-link:focus-visible,
.ky-dashboard-link-row a:focus-visible,
.ky-dashboard-footer__grid a:focus-visible,
.ky-dashboard-footer__logout:focus-visible,
.ky-dashboard-wordmark:focus-visible,
.ky-dashboard-session-row:focus-visible {
  outline: 2px solid var(--ky-color-accent);
  outline-offset: 2px;
}

@media (max-width: 1080px) {
  .ky-dashboard-grid--kyndee,
  .ky-dashboard-grid--kynder,
  .ky-dashboard-panel--momentum,
  .ky-dashboard-footer__inner {
    grid-template-columns: 1fr;
  }

  .ky-dashboard-heading {
    flex-direction: column;
    align-items: flex-start;
  }

  .ky-dashboard-heading--mentor {
    display: block;
  }

  .ky-dashboard-heading-shell--mentor {
    grid-template-columns: 1fr;
  }

  .ky-dashboard-revenue {
    min-width: 0;
  }
}

@media (max-width: 820px) {
  .ky-dashboard-topbar__inner {
    flex-direction: column;
    align-items: flex-start;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .ky-dashboard-brand-nav,
  .ky-dashboard-toolbar,
  .ky-dashboard-history-grid,
  .ky-dashboard-discover-grid,
  .ky-dashboard-prep-grid,
  .ky-dashboard-prep-step,
  .ky-dashboard-feature-main,
  .ky-dashboard-panel--feature,
  .ky-dashboard-footer__grid {
    grid-template-columns: 1fr;
  }

  .ky-dashboard-toolbar {
    width: 100%;
    justify-content: space-between;
  }

  .ky-dashboard-panel--feature,
  .ky-dashboard-panel--momentum {
    gap: 1rem;
  }

  .ky-dashboard-prep-steps {
    gap: 0.75rem;
  }

  .ky-dashboard-prep-step {
    grid-template-columns: 3rem 1fr;
    gap: 0.425rem;
  }

  .ky-dashboard-prep-step__number {
    font-size: 2.35rem;
  }

  .ky-dashboard-prep-step__title {
    font-size: 1.5rem;
  }

  .ky-dashboard-session-row {
    grid-template-columns: auto 1fr;
    align-items: start;
  }

  .ky-dashboard-session-meta {
    margin-left: 0;
    justify-items: start;
    text-align: left;
  }

  .ky-dashboard-footer__inner {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}

@media (max-width: 560px) {
  .ky-dashboard-topbar__inner,
  .ky-dashboard-page,
  .ky-dashboard-footer__inner {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .ky-dashboard-nav {
    gap: 0.9rem;
  }

  .ky-dashboard-title {
    font-size: 2.35rem;
  }

  .ky-dashboard-panel,
  .ky-dashboard-revenue {
    padding: 1.15rem;
    border-radius: 1.4rem;
  }

  .ky-dashboard-pill-list {
    grid-template-columns: 1fr;
  }

  .ky-dashboard-btn,
  .ky-dashboard-switch {
    width: 100%;
  }

  .ky-dashboard-toolbar {
    gap: 0.5rem;
  }

  .ky-dashboard-contact-avatar,
  .ky-dashboard-icon-link,
  .ky-dashboard-avatar-link {
    width: 2.7rem;
    height: 2.7rem;
  }

  .ky-dashboard-slot--support .ky-dashboard-contact-avatar {
    flex: 0 0 2.7rem;
    aspect-ratio: 1 / 1;
  }

  .ky-dashboard-grid--kyndee,
  .ky-dashboard-grid--kynder {
    gap: 2rem;
  }

  .ky-dashboard-grid--kyndee > .ky-dashboard-main,
  .ky-dashboard-grid--kyndee > .ky-dashboard-sidebar,
  .ky-dashboard-grid--kynder > .ky-dashboard-main,
  .ky-dashboard-grid--kynder > .ky-dashboard-sidebar {
    display: contents;
  }

  .ky-dashboard-slot--upcoming {
    order: 1;
  }

  .ky-dashboard-slot--calendar {
    order: 2;
  }

  .ky-dashboard-slot--tip {
    order: 3;
  }

  .ky-dashboard-slot--support {
    order: 4;
  }

  .ky-dashboard-slot--explore {
    order: 5;
  }

  .ky-dashboard-section-head--mobile-shell {
    display: flex;
  }

  .ky-dashboard-slot--support .ky-dashboard-panel--message > .ky-dashboard-section-title {
    display: none;
  }

  .ky-dashboard-calendar-legend-wrap {
    padding-block: 0.7rem;
  }

  .ky-dashboard-calendar-weekdays {
    margin-top: 0;
  }

  .ky-dashboard-calendar-session-card .ky-dashboard-feature-meta-row {
    gap: 0.2rem 0.85rem;
  }

  .ky-dashboard-feature-meta-item .material-symbols-outlined,
  .ky-dashboard-feature-meta-symbol {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    min-width: 1rem;
  }

  .ky-dashboard-panel--feature .ky-dashboard-feature-meta-row {
    align-items: flex-start;
    gap: 0.2rem 0.85rem;
  }

  .ky-dashboard-panel--feature .ky-dashboard-action-row,
  .ky-dashboard-panel--feature .ky-dashboard-action-row.is-inline {
    flex-direction: column;
    gap: 0.6rem;
  }

  .ky-dashboard-panel--feature .ky-dashboard-action-stack,
  .ky-dashboard-panel--feature .ky-dashboard-action-row.is-inline .ky-dashboard-action-stack {
    width: 100%;
    flex: 0 0 auto;
  }

  .ky-dashboard-panel--feature .ky-dashboard-pending-notice {
    text-align: center;
  }

  .ky-dashboard-panel--feature .ky-dashboard-eyebrow-date,
  .ky-dashboard-panel--feature .ky-dashboard-eyebrow-time,
  .ky-dashboard-calendar-session-card .ky-dashboard-eyebrow-date,
  .ky-dashboard-calendar-session-card .ky-dashboard-eyebrow-time {
    display: block;
  }

  .ky-dashboard-panel--feature .ky-dashboard-eyebrow-time,
  .ky-dashboard-calendar-session-card .ky-dashboard-eyebrow-time {
    margin-top: 0.2rem;
  }

  .ky-dashboard-panel--feature .ky-dashboard-eyebrow-separator,
  .ky-dashboard-calendar-session-card .ky-dashboard-eyebrow-separator {
    display: none;
  }
}

.ky-public-profile-page {
  background: var(--ky-color-canvas);
  color: var(--ky-color-ink);
}

body[data-header-variant="minimal"] .ky-public-profile-page,
body[data-header-variant="mentor"] .ky-public-profile-page,
body[data-header-variant="mentee"] .ky-public-profile-page {
  padding-top: var(--ky-size-header-min);
}

body[data-header-variant="marketing"] .ky-public-profile-page {
  padding-top: var(--ky-size-header);
}

.ky-public-profile-body {
  background: var(--ky-color-shell);
}

.ky-public-profile-container {
  width: min(100%, 78rem);
  box-sizing: border-box;
  margin: 0 auto;
  padding: 2rem 1.25rem 4rem;
}

.ky-public-profile-page--mentee .ky-public-profile-container {
  display: flex;
  justify-content: center;
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.ky-public-profile-page--mentor .ky-public-profile-container {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.ky-public-profile-page--mentor .ky-mentee-profile-preview {
  width: 100%;
  max-width: none;
  min-width: 0;
  margin-top: 0;
  position: static;
  top: auto;
}

.ky-public-profile-page--mentor .ky-public-profile-preview {
  min-width: 0;
  max-width: 100%;
}

.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentee-profile-preview-frame {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentee-profile-preview-content {
  min-width: 0;
}

.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentee-profile-preview-meta,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentee-profile-preview-meta-item,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentee-profile-preview-facts,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentee-profile-preview-fact,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentee-profile-preview-fact-body,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentee-profile-preview-section,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentee-profile-preview-prompts,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentee-profile-preview-prompt,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentor-preview-features,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentor-preview-feature,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentor-preview-feature-body,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentor-experience-preview-story,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentor-experience-preview-panels,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentor-experience-preview-panel,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentor-experience-preview-panel-list,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentor-experience-preview-panel-item,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentor-experience-preview-meta-pair,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentor-experience-preview-meta-subitem {
  min-width: 0;
  max-width: 100%;
}

.ky-public-profile-page--mentor .ky-public-profile-preview .ky-profile-eyebrow,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-profile-body,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentor-preview-feature-title,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentor-preview-feature-copy,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentee-profile-preview-fact-title,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentee-profile-preview-fact-copy,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentee-profile-preview-label,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentee-profile-preview-body,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentee-profile-preview-prompt-title,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentee-profile-preview-prompt-answer,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentor-experience-preview-panel-title,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentor-experience-preview-panel-item,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentee-profile-preview-meta-item,
.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentor-experience-preview-meta-subitem {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentee-profile-preview-body {
  display: block;
  overflow: visible;
  -webkit-box-orient: initial;
  -webkit-line-clamp: unset;
}

.ky-mentor-preview-top-heading {
  margin: 0 0 1rem;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ky-public-profile-page--mentor .ky-mentor-experience-preview-panels {
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
}

.ky-public-profile-layout--mentor {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  align-items: start;
}

.ky-public-profile-main {
  min-width: 0;
  display: grid;
  gap: 2rem;
}

.ky-public-profile-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: start;
}

.ky-public-profile-hero-grid.has-rail {
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
}

.ky-public-profile-hero-primary,
.ky-public-profile-hero-rail {
  min-width: 0;
}

.ky-public-profile-rail {
  min-width: 0;
}

.ky-public-profile-mobile-booking-bar {
  display: none;
}

.ky-public-profile-mobile-modal {
  display: grid;
}

.ky-public-profile-mobile-modal__dialog {
  padding: 0;
}

.ky-public-profile-mobile-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1rem 0.9rem;
}

.ky-public-profile-mobile-modal__title {
  margin: 0;
  color: var(--ky-color-ink);
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: 1.45rem;
  font-weight: 600;
  line-height: 1.08;
}

.ky-public-profile-mobile-modal__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: 1px solid var(--ky-color-line);
  border-radius: 999px;
  background: var(--ky-color-panel);
  color: var(--ky-color-ink);
  cursor: pointer;
}

.ky-public-profile-mobile-modal__close .material-symbols-outlined {
  font-size: 1.2rem;
  line-height: 1;
}

.ky-public-profile-mobile-modal__body {
  display: grid;
  gap: 1rem;
  padding: 0 1rem 1rem;
}

.ky-public-profile-mobile-modal__copy {
  margin: 0;
  color: var(--ky-color-ink);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
}

.ky-public-profile-mobile-modal__body .ky-booking-stack {
  gap: 1rem;
}

body[data-header-variant="minimal"] .ky-public-profile-page--mentor .ky-profile-rail,
body[data-header-variant="mentor"] .ky-public-profile-page--mentor .ky-profile-rail,
body[data-header-variant="mentee"] .ky-public-profile-page--mentor .ky-profile-rail {
  position: static;
  top: auto;
}

body[data-header-variant="marketing"] .ky-public-profile-page--mentor .ky-profile-rail {
  position: static;
  top: auto;
}

@media (min-width: 821px) {
  body[data-header-variant="minimal"] .ky-public-profile-page--mentor .ky-public-profile-hero-rail.ky-profile-rail,
  body[data-header-variant="mentor"] .ky-public-profile-page--mentor .ky-public-profile-hero-rail.ky-profile-rail,
  body[data-header-variant="mentee"] .ky-public-profile-page--mentor .ky-public-profile-hero-rail.ky-profile-rail,
  body[data-header-variant="marketing"] .ky-public-profile-page--mentor .ky-public-profile-hero-rail.ky-profile-rail {
    position: sticky;
    top: 1.5rem;
    align-self: start;
  }
}

.ky-public-profile-page--mentee .ky-mentee-profile-preview {
  width: min(100%, 26rem);
  max-width: 26rem;
  margin-top: 0;
  position: static;
  top: auto;
}

.ky-public-profile-header {
  border-bottom: 1px solid var(--ky-color-line);
  background: rgba(255, 255, 255, 0.96);
}

.ky-public-profile-header-inner,
.ky-public-profile-footer-inner {
  width: min(100%, 78rem);
  box-sizing: border-box;
  margin: 0 auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.ky-public-profile-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 4.75rem;
}

.ky-public-profile-header-left,
.ky-public-profile-header-right,
.ky-public-profile-nav {
  display: flex;
  align-items: center;
}

.ky-public-profile-header-left {
  gap: 2rem;
  min-width: 0;
}

.ky-public-profile-header-right,
.ky-public-profile-nav {
  gap: 1rem;
}

.ky-public-profile-brand {
  color: var(--ky-color-accent-strong);
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

.ky-public-profile-nav-link,
.ky-public-profile-utility {
  color: var(--ky-color-subtle);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.84rem;
  font-weight: 600;
  text-decoration: none;
}

.ky-public-profile-nav-link.is-active,
.ky-public-profile-nav-link:hover,
.ky-public-profile-utility:hover {
  color: var(--ky-color-accent-strong);
}

.ky-public-profile-avatar,
.ky-public-profile-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  min-height: 2.5rem;
  border-radius: 999px;
}

.ky-public-profile-avatar {
  background: rgba(212, 123, 95, 0.12);
  color: var(--ky-color-ink);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
}

.ky-public-profile-cta {
  padding: 0 1rem;
  background: linear-gradient(135deg, var(--ky-color-accent) 0%, var(--ky-color-accent-strong) 100%);
  color: #fff;
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.84rem;
  font-weight: 700;
  text-decoration: none;
}

.ky-public-profile-footer {
  border-top: 1px solid var(--ky-color-line);
  background: rgba(255, 255, 255, 0.94);
}

.ky-public-profile-footer-inner {
  display: grid;
  gap: 2rem;
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.ky-public-profile-footer-brand p,
.ky-public-profile-footer-links a,
.ky-public-profile-footer-links h2 {
  font-family: var(--ky-font-body), Inter, sans-serif;
}

.ky-public-profile-footer-brand p {
  max-width: 16rem;
  margin: 0.85rem 0 0;
  color: var(--ky-color-muted);
  font-size: 0.92rem;
  line-height: 1.7;
}

.ky-public-profile-footer-links {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ky-public-profile-footer-links h2 {
  margin: 0 0 0.8rem;
  color: var(--ky-color-accent);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.ky-public-profile-footer-links a {
  display: block;
  margin-top: 0.55rem;
  color: var(--ky-color-muted);
  font-size: 0.92rem;
  line-height: 1.5;
  text-decoration: none;
}

.ky-public-profile-footer-links a:hover {
  color: var(--ky-color-accent-strong);
}

.ky-profile-owner-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  margin-bottom: 1.5rem;
  padding: 1rem 1.25rem;
  border: 1px solid var(--ky-color-line);
  border-radius: var(--ky-radius-lg);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: var(--ky-shadow-soft);
}

.ky-profile-owner-eyebrow,
.ky-profile-role-label,
.ky-profile-eyebrow,
.ky-profile-card-eyebrow {
  margin: 0 0 0.4rem;
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ky-color-accent);
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ky-profile-owner-copy,
.ky-profile-body,
.ky-profile-about-copy p,
.ky-profile-mini-card p,
.ky-profile-testimonial-quote {
  margin: 0;
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--ky-color-muted);
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ky-profile-body.is-small {
  font-size: 0.92rem;
}

.ky-profile-owner-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.ky-profile-owner-button,
.ky-profile-inline-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  border: 1px solid var(--ky-color-line);
  border-radius: var(--ky-radius-pill);
  background: var(--ky-color-panel);
  color: var(--ky-color-ink);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.92rem;
  font-weight: 600;
  padding: 0.8rem 1.15rem;
  text-decoration: none;
}

.ky-profile-owner-button[disabled],
.ky-profile-inline-link[disabled] {
  cursor: default;
  opacity: 0.7;
}

.ky-profile-owner-button.is-accent,
.ky-booking-submit {
  border-color: transparent;
  background: linear-gradient(135deg, var(--ky-color-accent) 0%, var(--ky-color-accent-strong) 100%);
  color: #fff;
  box-shadow: var(--ky-shadow-soft);
}

.ky-profile-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 20rem;
  gap: 2rem;
  align-items: start;
}

.ky-profile-main {
  min-width: 0;
}

.ky-profile-media-band {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 13rem;
  gap: 0.75rem;
}

.ky-profile-media-band.is-mentee {
  margin-bottom: 2rem;
}

.ky-profile-hero-frame,
.ky-profile-support-tile,
.ky-profile-support-filler {
  overflow: hidden;
  border: 1px solid var(--ky-color-line);
  border-radius: 1.4rem;
  background: var(--ky-color-panel);
  box-shadow: var(--ky-shadow-soft);
}

.ky-profile-hero-frame {
  min-height: 21rem;
}

.ky-profile-hero-image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 21rem;
  object-fit: cover;
}

.ky-profile-hero-placeholder,
.ky-profile-about-avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(52, 45, 42, 0.92), rgba(91, 74, 59, 0.96));
  color: rgba(255, 255, 255, 0.9);
}

.ky-profile-hero-placeholder {
  min-height: 21rem;
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: 4rem;
}

.ky-profile-support-stack {
  display: grid;
  gap: 0.75rem;
}

.ky-profile-support-tile,
.ky-profile-support-filler {
  min-height: 10rem;
}

.ky-profile-support-tile {
  cursor: pointer;
  padding: 0;
}

.ky-profile-support-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ky-profile-support-filler {
  background: linear-gradient(180deg, rgba(212, 123, 95, 0.18), rgba(227, 216, 207, 0.88));
}

.ky-profile-support-filler.is-soft {
  background: linear-gradient(180deg, rgba(237, 228, 218, 1), rgba(227, 216, 207, 0.8));
}

.ky-profile-title-block,
.ky-profile-story,
.ky-profile-about-card,
.ky-profile-testimonials,
.ky-profile-related,
.ky-profile-mentee-sections {
  margin-top: 1.6rem;
}

.ky-profile-display {
  margin: 0;
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: clamp(2.45rem, 5vw, 3.8rem);
  line-height: 0.96;
  letter-spacing: -0.04em;
  color: var(--ky-color-ink);
}

.ky-profile-title-copy {
  display: grid;
  gap: 0.3rem;
}

.ky-profile-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 0.85rem;
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.92rem;
  color: var(--ky-color-muted);
}

.ky-profile-muted {
  color: var(--ky-color-subtle);
}

.ky-profile-mentee-hero {
  display: grid;
  gap: 1.6rem;
}

.ky-profile-duo-grid,
.ky-profile-mentee-grid,
.ky-profile-testimonial-grid,
.ky-profile-related-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.ky-profile-detail-card,
.ky-profile-about-card,
.ky-profile-testimonial-card,
.ky-booking-rail,
.ky-profile-mini-card {
  border: 1px solid var(--ky-color-line);
  border-radius: 1.4rem;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: var(--ky-shadow-soft);
}

.ky-profile-detail-card,
.ky-profile-mini-card,
.ky-profile-testimonial-card {
  padding: 1.2rem 1.25rem;
}

.ky-profile-detail-list,
.ky-profile-stack,
.ky-profile-chip-groups {
  display: grid;
  gap: 0.9rem;
}

.ky-profile-detail-list {
  margin: 0;
  padding-left: 1rem;
  color: var(--ky-color-muted);
}

.ky-profile-detail-list li {
  margin: 0;
  padding-left: 0.25rem;
  line-height: 1.6;
}

.ky-profile-about-card {
  display: grid;
  grid-template-columns: 4.6rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1.35rem;
}

.ky-profile-about-card.is-mentee {
  margin-top: 1.25rem;
}

.ky-profile-about-avatar {
  width: 4.6rem;
  height: 4.6rem;
  border-radius: 999px;
  overflow: hidden;
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: 2rem;
}

.ky-profile-about-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ky-profile-about-copy h2,
.ky-profile-section-heading h2 {
  margin: 0 0 0.5rem;
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: 2rem;
  color: var(--ky-color-ink);
}

.ky-profile-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.ky-profile-rating-mark {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-family: var(--ky-font-body), Inter, sans-serif;
  color: var(--ky-color-ink);
}

.ky-profile-testimonial-meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.8rem;
}

.ky-profile-testimonial-meta p,
.ky-profile-testimonial-meta span {
  margin: 0;
  font-family: var(--ky-font-body), Inter, sans-serif;
}

.ky-profile-testimonial-meta p {
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--ky-color-ink);
}

.ky-profile-testimonial-meta span {
  font-size: 0.72rem;
  color: var(--ky-color-subtle);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.ky-profile-testimonial-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: var(--ky-color-shell);
  color: var(--ky-color-ink);
  font-size: 0.82rem;
  font-weight: 700;
}

.ky-profile-related-card {
  display: grid;
  gap: 0.65rem;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
}

.ky-profile-related-card[disabled] {
  cursor: default;
}

.ky-profile-related-art {
  display: block;
  min-height: 8.8rem;
  border-radius: 1.25rem;
  background:
    radial-gradient(circle at 20% 20%, rgba(212, 123, 95, 0.18), transparent 30%),
    linear-gradient(180deg, rgba(91, 74, 59, 1) 0%, rgba(67, 52, 40, 1) 100%);
  border: 1px solid rgba(52, 45, 42, 0.08);
  box-shadow: var(--ky-shadow-soft);
  position: relative;
}

.ky-profile-related-art.is-placeholder {
  background: linear-gradient(180deg, rgba(212, 123, 95, 0.14), rgba(67, 52, 40, 0.76));
}

.ky-profile-related-badge {
  position: absolute;
  left: 0.8rem;
  top: 0.8rem;
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.55rem;
  border-radius: var(--ky-radius-pill);
  background: rgba(255, 244, 240, 0.96);
  color: var(--ky-color-accent-strong);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ky-profile-related-copy {
  display: grid;
  gap: 0.18rem;
  font-family: var(--ky-font-body), Inter, sans-serif;
}

.ky-profile-related-copy strong {
  font-size: 0.98rem;
  color: var(--ky-color-ink);
}

.ky-profile-related-copy span {
  color: var(--ky-color-muted);
  font-size: 0.84rem;
}

.ky-profile-related-price {
  color: var(--ky-color-accent-strong) !important;
  font-weight: 700;
}

.ky-profile-rail {
  position: sticky;
  top: 1.5rem;
}

.ky-booking-stack {
  display: grid;
  gap: 1rem;
}

.ky-booking-rail {
  display: grid;
  gap: 1rem;
  padding: 1.3rem;
}

.ky-booking-rail-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.ky-booking-rail-price,
.ky-booking-rail-rating,
.ky-booking-breakdown strong {
  margin: 0;
  color: var(--ky-color-ink);
  font-family: var(--ky-font-body), Inter, sans-serif;
}

.ky-booking-breakdown strong {
  font-weight: 500;
}

.ky-booking-rail-note {
  margin: 0;
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--ky-color-ink);
}

.ky-booking-guarantee {
  display: grid;
  gap: var(--ky-space-2);
  padding: 1rem 1.1rem;
  border: 1px solid var(--ky-color-line);
  border-radius: var(--ky-radius-lg);
  background: #fff;
}

.ky-booking-guarantee-title {
  margin: 0;
  color: var(--ky-color-accent-strong);
  font-size: var(--ky-type-ui-sm);
  font-weight: 700;
  line-height: 1.4;
}

.ky-booking-guarantee-copy {
  margin: 0;
  color: var(--ky-color-ink);
  font-size: var(--ky-type-flow-copy);
  line-height: 1.4;
}

.ky-booking-rail-price {
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.2;
}

.ky-booking-rail-price span {
  font-size: 1rem;
  color: var(--ky-color-ink);
  font-weight: 500;
}

.ky-booking-rail-rating {
  font-size: 0.92rem;
  font-weight: 700;
}

.ky-booking-field {
  display: grid;
  gap: 0.45rem;
}

.ky-booking-experience-list {
  display: grid;
  gap: 0.75rem;
}

.ky-booking-experience-card {
  appearance: none;
  font: inherit;
  color: inherit;
  text-align: left;
  min-width: 0;
}

.ky-booking-experience-card[hidden] {
  display: none;
}

.ky-booking-experience-card {
  gap: 0;
}

.ky-booking-experience-card-topline {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.54rem;
  min-width: 0;
}

.ky-booking-experience-card-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 0.7rem;
  margin-top: 0.34rem;
  min-width: 0;
}

.ky-booking-experience-card-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.22rem;
  color: var(--ky-color-muted);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 1.35;
  white-space: nowrap;
}

.ky-booking-experience-card-meta-pair {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.55rem 0.7rem;
  min-width: 0;
}

.ky-booking-experience-card-meta-item .material-symbols-outlined,
.ky-booking-experience-card-meta-accent {
  color: var(--ky-color-accent-strong);
}

.ky-booking-experience-card-meta-item .material-symbols-outlined {
  font-size: 0.88rem;
  line-height: 1;
}

.ky-public-profile-rail .ky-booking-experience-card {
  gap: 0;
  padding: 1rem 1.2rem;
}

.ky-public-profile-rail .ky-booking-experience-card .ky-auth-role-eyebrow {
  font-size: 0.66rem;
  letter-spacing: 0.16em;
}

.ky-booking-experience-card .ky-auth-role-title {
  display: block;
  max-width: 100%;
  min-width: 0;
  margin-bottom: 0.18rem;
  color: var(--ky-color-ink);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: var(--ky-type-flow-copy);
  font-weight: 400;
  line-height: 1.5;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ky-booking-experience-card-description {
  display: block;
  max-width: 100%;
  min-width: 0;
  margin-top: 0;
  margin-bottom: 0.18rem;
  color: var(--ky-color-muted);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.82rem;
  font-weight: 400;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ky-booking-experience-card-takeaway {
  display: block;
  max-width: 100%;
  min-width: 0;
  margin-top: 0;
  margin-bottom: 0.18rem;
  color: var(--ky-color-subtle);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.82rem;
  font-weight: 400;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ky-booking-experience-more {
  appearance: none;
  border: 0;
  background: transparent;
  cursor: pointer;
  margin: 0;
  color: var(--ky-color-accent-strong);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.65;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.12em;
}

.ky-public-profile-rail .ky-booking-experience-more,
.ky-public-profile-rail .ky-booking-rail-note {
  text-align: center;
}

.ky-public-profile-rail .ky-booking-experience-more {
  display: block;
  justify-self: center;
  width: fit-content;
}

.ky-booking-auth-actions {
  display: grid;
  gap: 0.9rem;
  margin-top: 1rem;
}

.ky-booking-auth-actions .ky-site-button {
  width: 100%;
  justify-content: center;
  min-height: 3.4rem;
  padding: 1rem 1.35rem;
}

.ky-mentor-feedback-section {
  display: grid;
  gap: 1.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--ky-color-line);
}

.ky-public-profile-explore-divider {
  display: grid;
  gap: 2rem;
}

.ky-mentor-feedback-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
}

.ky-mentor-feedback-heading-block {
  display: grid;
  gap: 0.45rem;
}

.ky-mentor-feedback-title {
  margin: 0;
  color: var(--ky-color-ink);
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: 1.85rem;
  font-weight: 600;
  line-height: 1.08;
}

.ky-mentor-feedback-heading-block .ky-mentee-profile-preview-meta {
  gap: 0;
}

.ky-mentor-feedback-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.ky-mentor-feedback-card {
  display: grid;
  gap: 0.95rem;
  padding: 1.35rem 1.45rem;
  border: 1px solid var(--ky-color-line);
  border-radius: 1.5rem;
  background: var(--ky-color-panel);
  box-shadow: var(--ky-shadow-soft);
}

.ky-mentor-feedback-card-head {
  display: flex;
  align-items: center;
  gap: 0.9rem;
}

.ky-mentor-feedback-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.05);
  color: var(--ky-color-ink);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1;
}

.ky-mentor-feedback-card-meta {
  display: grid;
  gap: 0.08rem;
}

.ky-mentor-feedback-card-meta strong {
  color: var(--ky-color-ink);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.2;
}

.ky-mentor-feedback-card-meta p {
  margin: 0;
  color: var(--ky-color-subtle);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1.2;
  text-transform: uppercase;
}

.ky-mentor-feedback-quote {
  margin: 0;
  color: var(--ky-color-muted);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 1rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.7;
}

.ky-explore-section {
  display: grid;
  gap: 1.25rem;
  padding-top: 2rem;
  border-top: 1px solid var(--ky-color-line);
}

.ky-explore-section.is-dashboard-fallback {
  padding-top: 0;
  border-top: 0;
}

.ky-explore-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.ky-explore-title {
  margin: 0;
  color: var(--ky-color-ink);
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: 1.85rem;
  font-weight: 600;
  line-height: 1.08;
}

.ky-explore-title--dashboard {
  font-size: 1.7rem;
  line-height: 1.08;
}

.ky-explore-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.ky-explore-grid--dashboard {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ky-public-profile-page--mentor .ky-explore-grid--dashboard {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ky-explore-card {
  display: grid;
  gap: 0.75rem;
}

.ky-explore-card[hidden] {
  display: none !important;
}

.ky-explore-card.is-dashboard-fallback {
  position: relative;
  border: 1px solid var(--ky-color-line);
  border-radius: var(--ky-radius-lg);
  background: var(--ky-color-panel);
  box-shadow: var(--ky-shadow-soft);
  padding: 1rem;
  gap: 0.9rem;
}

.ky-explore-card.is-dashboard-fallback:hover,
.ky-explore-card.is-dashboard-fallback:focus-within {
  border-color: var(--ky-color-accent);
  background: var(--ky-color-shell);
}

.ky-explore-card.is-dashboard-fallback:hover .ky-explore-card-name,
.ky-explore-card.is-dashboard-fallback:focus-within .ky-explore-card-name {
  color: var(--ky-color-accent);
}

.ky-explore-card.is-dashboard-fallback:hover .ky-explore-card-title,
.ky-explore-card.is-dashboard-fallback:focus-within .ky-explore-card-title {
  color: var(--ky-color-accent-strong);
}

.ky-explore-card-overlay-link {
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
}

.ky-explore-card-overlay-link:focus-visible {
  outline: 2px solid var(--ky-color-accent);
  outline-offset: 2px;
}

.ky-explore-card-media {
  position: relative;
  min-height: 10rem;
  border-radius: 1.35rem;
  border: 1px solid rgba(93, 69, 47, 0.18);
  background: linear-gradient(160deg, rgba(93, 69, 47, 0.96) 0%, rgba(116, 88, 61, 0.96) 100%);
  overflow: hidden;
}

.ky-explore-card.is-dashboard-fallback .ky-explore-card-media {
  min-height: 0;
  aspect-ratio: 1 / 1;
  border: 0;
  border-radius: calc(var(--ky-radius-lg) - 0.35rem);
}

.ky-explore-card-media-link {
  display: block;
  width: 100%;
  height: 100%;
}

.ky-explore-card-image,
.ky-explore-card-placeholder {
  width: 100%;
  height: 100%;
}

.ky-explore-card-image {
  object-fit: cover;
}

.ky-explore-card-placeholder {
  display: grid;
  place-items: center;
  color: var(--ky-color-panel);
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: 2.8rem;
}

.ky-explore-card-eyebrow {
  position: absolute;
  top: 0.6rem;
  left: 0.6rem;
  display: inline-flex;
  align-items: center;
  min-height: 1.35rem;
  padding: 0.1rem 0.45rem;
  border-radius: 999px;
  background: rgba(255, 249, 245, 0.96);
  color: var(--ky-color-accent-strong);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.ky-explore-card-body {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  position: relative;
  z-index: 1;
}

.ky-explore-card.is-dashboard-fallback .ky-explore-card-body {
  display: grid;
  gap: 0;
  align-items: start;
  justify-content: start;
  padding-inline: 0;
}

.ky-explore-card-copy {
  display: grid;
  gap: 0.08rem;
  min-width: 0;
  position: relative;
  z-index: 1;
}

.ky-explore-card.is-dashboard-fallback .ky-explore-card-copy {
  display: grid;
  grid-template-rows: auto minmax(4.8rem, auto) auto;
  gap: 0;
  align-content: start;
}

.ky-explore-card-name {
  margin: 0 0 0.35rem;
  color: var(--ky-color-accent-strong);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.ky-explore-card-title-wrap {
  min-height: 0;
}

.ky-explore-card.is-dashboard-fallback .ky-explore-card-title-wrap {
  min-height: 4.8rem;
}

.ky-explore-card-title {
  margin: 0;
  color: var(--ky-color-ink);
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.08;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ky-explore-card.is-dashboard-fallback .ky-explore-card-title {
  font-size: 1.5rem;
  line-height: 1.08;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.ky-explore-card-subtitle {
  margin: 0;
  color: var(--ky-color-muted);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.4;
}

.ky-explore-card-meta-row {
  margin-top: 0.62rem;
}

.ky-explore-card.is-dashboard-fallback .ky-explore-card-meta-row {
  margin-top: 0.18rem;
  flex-wrap: wrap;
  gap: 0.45rem 0.6rem;
}

.ky-explore-card.is-dashboard-fallback .ky-explore-card-meta-row.is-price-row {
  margin-top: 0.3rem;
}

.ky-explore-card.is-dashboard-fallback .ky-explore-card-meta-row.is-detail-row {
  margin-top: 0.16rem;
  flex-wrap: wrap;
  row-gap: 0.16rem;
}

.ky-explore-card .ky-booking-experience-card-meta-item {
  font-size: var(--ky-type-flow-copy);
  line-height: 1.5;
}

.ky-explore-card-price {
  margin: 0;
  color: var(--ky-color-accent-strong);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.ky-booking-field > span {
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: var(--ky-type-auth-label);
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--ky-color-accent-strong);
}

.ky-booking-breakdown span,
.ky-booking-rail-subcopy {
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.84rem;
  color: var(--ky-color-ink);
}

.ky-booking-field input,
.ky-booking-field select {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid var(--ky-color-line);
  border-radius: 1rem;
  background: #fff;
  color: var(--ky-color-ink);
  font: 400 0.98rem/1.3 var(--ky-font-body), Inter, sans-serif;
  padding: 0.95rem 1rem;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-focus-ring-color: transparent;
}

.ky-booking-field input:hover,
.ky-booking-field select:hover {
  border-color: var(--ky-color-flow-accent-line);
  background: var(--ky-color-flow-field-hover);
}

.ky-booking-field input:focus,
.ky-booking-field select:focus {
  border-color: var(--ky-color-accent);
  background: var(--ky-color-flow-field-surface-strong);
  box-shadow: var(--ky-shadow-soft);
  outline: none;
}

.ky-flow-option-card:focus-visible,
.ky-profile-control--mentee:focus-visible,
.ky-mentee-control--select:focus-visible,
.ky-mentee-input:focus-visible,
.ky-mentee-textarea:focus-visible,
.ky-booking-field input:focus-visible,
.ky-booking-field select:focus-visible {
  outline: none;
}

input:focus,
textarea:focus,
select:focus,
button:focus {
  outline: none;
  -webkit-focus-ring-color: transparent;
  -webkit-tap-highlight-color: transparent;
}

input:focus,
textarea:focus,
select:focus {
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
}

.ky-booking-submit {
  margin-top: 1rem;
  width: 100%;
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--ky-radius-pill);
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.95rem;
  line-height: 1.2;
  font-weight: 600;
  padding: 0.9rem 1.65rem;
  text-decoration: none;
}

.ky-checkout-pay-submit {
  margin-top: 0;
}

.ky-booking-submit[disabled],
.ky-booking-submit[disabled]:hover,
.ky-booking-submit.is-disabled,
.ky-booking-submit.is-disabled:hover,
.ky-booking-submit[aria-disabled="true"],
.ky-booking-submit[aria-disabled="true"]:hover {
  pointer-events: none;
  cursor: not-allowed;
  border-color: transparent;
  background: var(--ky-color-line);
  color: var(--ky-color-muted);
  box-shadow: none;
  opacity: 1;
  transform: none;
}

.ky-booking-breakdown {
  display: grid;
  gap: 0.55rem;
  padding-top: 0.2rem;
}

.ky-booking-breakdown > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.ky-booking-breakdown > div.is-total {
  padding-top: 0.45rem;
  border-top: 1px solid var(--ky-color-line);
}

.ky-booking-breakdown > div.is-total strong {
  font-weight: 700;
}

.ky-booking-status {
  min-height: 1.4rem;
  margin: 0;
  font-size: 0.84rem;
  color: var(--ky-color-accent-strong);
}

.ky-booking-rail-subcopy a,
.ky-profile-inline-link {
  color: var(--ky-color-accent-strong);
  font-weight: 700;
}

.ky-profile-mentee-copy {
  display: grid;
  align-content: center;
}

.ky-profile-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 0.45rem;
}

.ky-profile-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.8rem;
  border: 1px solid rgba(212, 123, 95, 0.28);
  border-radius: var(--ky-radius-pill);
  background: rgba(255, 255, 255, 0.88);
  color: var(--ky-color-ink);
  font-size: 0.82rem;
  font-weight: 600;
}

.ky-profile-mini-card.is-soft {
  background: rgba(251, 246, 240, 0.96);
}

.ky-profile-mini-card strong,
.ky-profile-chip-groups strong {
  display: block;
  margin-bottom: 0.28rem;
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ky-color-subtle);
}

.ky-profile-mentee-sections {
  margin-top: 2rem;
}

@media (max-width: 1080px) {
  .ky-profile-grid {
    grid-template-columns: 1fr;
  }

  .ky-profile-rail {
    position: static;
  }
}

@media (max-width: 820px) {
  .ky-public-profile-header-inner,
  .ky-public-profile-footer-inner,
  .ky-public-profile-container {
    padding-top: 1.4rem;
  }

  .ky-public-profile-header-inner {
    flex-wrap: wrap;
    padding-bottom: 1rem;
  }

  .ky-public-profile-header-left {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.85rem;
  }

  .ky-public-profile-nav {
    flex-wrap: wrap;
  }

  .ky-public-profile-footer-links {
    grid-template-columns: 1fr;
  }

  .ky-profile-owner-strip,
  .ky-profile-media-band,
  .ky-profile-duo-grid,
  .ky-profile-mentee-grid,
  .ky-profile-testimonial-grid,
  .ky-profile-related-grid {
    grid-template-columns: 1fr;
  }

  .ky-public-profile-layout--mentor {
    grid-template-columns: 1fr;
  }

  .ky-public-profile-hero-grid.has-rail {
    grid-template-columns: 1fr;
  }

  .ky-mentor-feedback-grid {
    grid-template-columns: 1fr;
  }

  .ky-explore-grid {
    grid-template-columns: 1fr;
  }

  .ky-explore-grid--dashboard {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ky-public-profile-page--mentor .ky-explore-grid--dashboard {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ky-profile-section-heading,
  .ky-booking-rail-heading {
    align-items: start;
    flex-direction: column;
  }
}

@media (max-width: 560px) {
  .ky-live-page {
    --ky-live-gap: 0.65rem;
    --ky-live-sidebar-width: 0rem;
    padding: 0.45rem 0.75rem 0.75rem;
    gap: var(--ky-live-gap);
  }

  .ky-live-controls {
    flex-wrap: nowrap;
    gap: 0.7rem;
    padding: 0.85rem 0.9rem 0.9rem;
  }

  .ky-live-controls__cluster,
  .ky-live-controls__cta {
    flex-wrap: nowrap;
    gap: 0.7rem;
  }

  .ky-live-icon-button {
    width: 3rem;
    height: 3rem;
  }

  .ky-live-icon-button .material-symbols-outlined {
    font-size: 1.32rem;
  }

  .ky-live-topbar {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0.2rem;
    padding: 0.2rem 0.85rem 0.15rem;
  }

  .ky-live-topbar__brand,
  .ky-live-topbar__meta {
    flex: 0 0 auto;
    width: auto;
  }

  .ky-live-session-banner {
    order: 3;
    flex: 0 0 100%;
    justify-content: center;
  }

  .ky-live-sidebar {
    display: contents;
    width: auto;
    grid-template-rows: none;
  }

  .ky-live-stage {
    grid-row: 1;
    grid-column: 1;
  }

  .ky-live-stage__frame {
    width: 100%;
    aspect-ratio: 1 / 1;
  }

  .ky-live-overlay--participant {
    position: fixed;
    inset: 0;
    z-index: 30;
    padding: 1.25rem;
  }

  .ky-live-overlay--participant .ky-live-overlay__card {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 7.75rem;
    min-height: 7.75rem;
    box-sizing: border-box;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 0.5rem;
    padding: 0.9rem;
    text-align: center;
    transform: translate(-50%, -50%);
  }

  .ky-live-participant {
    display: block;
    grid-row: 1;
    grid-column: 1;
    justify-self: end;
    align-self: end;
    z-index: 4;
    width: 5.5rem;
    height: 5.5rem;
    margin: 0 0.75rem 0.75rem 0;
    aspect-ratio: 1 / 1;
  }

  .ky-live-participant__frame {
    width: 100%;
    height: 100%;
    padding: 0;
    border-radius: 0.9rem;
    overflow: hidden;
    background: linear-gradient(135deg, var(--ky-live-color-pip-start) 0%, var(--ky-live-color-pip-end) 100%);
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.24);
  }

  .ky-live-participant__placeholder,
  .ky-live-pip {
    width: 100%;
    height: 100%;
    padding: 0;
    border-radius: 0.9rem;
    overflow: hidden;
  }

  .ky-live-participant .ky-live-presence--compact {
    width: 100%;
    padding: 0.55rem 0.45rem;
  }

  .ky-live-participant .ky-live-presence__avatar {
    width: 2.35rem;
    height: 2.35rem;
  }

  .ky-live-participant .ky-live-presence__name,
  .ky-live-participant .ky-live-pip span {
    display: none;
  }

  .ky-live-session-card {
    grid-row: 2;
    grid-column: 1;
    max-height: 15rem;
  }

  .ky-live-page.is-chat-open .ky-live-stage,
  .ky-live-page.is-chat-open .ky-live-participant,
  .ky-live-page.is-chat-open .ky-live-session-card {
    display: none;
  }

  .ky-live-page.is-chat-open .ky-live-chat-panel {
    grid-row: 1;
    width: 100%;
  }

  .ky-public-profile-page--mentor.has-mobile-booking-sheet .ky-public-profile-body {
    padding-bottom: 0;
  }

  .ky-public-profile-page--mentor.has-mobile-booking-sheet .ky-public-profile-hero-rail {
    display: none;
  }

  .ky-public-profile-mobile-booking-bar {
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: 45;
    display: block;
    padding: 0 0 env(safe-area-inset-bottom);
    border-top: 1px solid var(--ky-color-line);
    background: var(--ky-color-panel);
  }

  .ky-public-profile-mobile-booking-bar__inner {
    width: min(100%, var(--ky-size-public-profile-mobile-sheet-width));
    margin: 0 auto;
    display: grid;
    gap: var(--ky-space-public-profile-mobile-bar-gap);
    padding:
      var(--ky-space-public-profile-mobile-bar-pad-top)
      var(--ky-space-public-profile-mobile-bar-pad-inline)
      var(--ky-space-public-profile-mobile-bar-pad-bottom);
  }

  .ky-public-profile-mobile-booking-summary {
    display: grid;
    gap: var(--ky-space-public-profile-mobile-summary-gap);
  }

  .ky-public-profile-mobile-booking-price-row {
    margin-top: 0;
    margin-bottom: 0;
  }

  .ky-public-profile-mobile-booking-price-row .ky-booking-experience-card-meta-item {
    font-size: var(--ky-type-flow-copy);
    line-height: 1.5;
  }

  .ky-public-profile-mobile-booking-detail {
    margin: 0;
  }

  .ky-public-profile-mobile-booking-detail [data-mobile-booking-separator] {
    display: inline-block;
    margin-inline: var(--ky-space-public-profile-mobile-detail-separator);
    color: var(--ky-color-accent-strong);
  }

  .ky-public-profile-mobile-booking-open {
    width: 100%;
    margin-top: var(--ky-space-public-profile-mobile-button-top);
  }

  .ky-public-profile-mobile-modal__dialog--booking .ky-booking-experience-more {
    display: block;
    justify-self: center;
    width: fit-content;
    font-size: var(--ky-type-public-profile-mobile-note);
    line-height: var(--ky-leading-public-profile-mobile-note);
  }

  .ky-public-profile-mobile-modal__dialog--booking .ky-booking-rail-note {
    font-size: var(--ky-type-public-profile-mobile-note);
    text-align: center;
  }

  .ky-public-profile-mobile-modal__dialog--booking .ky-mentor-experience-preview-booking {
    padding-top: var(--ky-space-public-profile-mobile-rail-pad-y);
    padding-bottom: var(--ky-space-public-profile-mobile-rail-pad-y);
  }

  #mentor-booking-sheet.ky-modal--sheet-bottom {
    padding-bottom: 0;
  }

  .ky-public-profile-mobile-guarantee-link {
    justify-self: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--ky-color-ink);
    font-family: var(--ky-font-body), Inter, sans-serif;
    font-size: var(--ky-type-public-profile-mobile-note);
    font-weight: 400;
    line-height: var(--ky-leading-public-profile-mobile-note);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.14em;
  }

  .ky-public-profile-mobile-modal__dialog {
    width: min(100%, var(--ky-size-public-profile-mobile-sheet-width));
    max-height: calc(100dvh - var(--ky-size-public-profile-mobile-sheet-offset));
    border-radius: var(--ky-radius-public-profile-mobile-sheet) var(--ky-radius-public-profile-mobile-sheet) 0 0;
  }

  .ky-public-profile-mobile-modal__dialog--guarantee {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
  }

  .ky-public-profile-mobile-modal__dialog--booking {
    padding-top: var(--ky-space-public-profile-mobile-sheet-pad-y);
    padding-bottom: var(--ky-space-public-profile-mobile-sheet-pad-y);
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow-x: visible;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentee-profile-preview-content {
    gap: var(--ky-space-3);
  }

  .ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentee-profile-preview-meta {
    align-items: flex-start;
    row-gap: var(--ky-space-3);
    column-gap: var(--ky-space-4);
  }

  .ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentee-portrait-tile:not(.is-primary) {
    border-radius: var(--ky-radius-md);
  }

  .ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentor-experience-preview-panels {
    grid-template-columns: 1fr;
  }

  .ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentor-experience-preview-meta-pair {
    width: 100%;
    flex-wrap: wrap;
    gap: var(--ky-space-3);
  }

  .ky-public-profile-page--mentor .ky-mentee-profile-preview-heading-row {
    align-items: flex-start;
    gap: var(--ky-space-3);
    flex-wrap: wrap;
  }

  .ky-public-profile-page--mentor .ky-mentee-profile-preview-heading-actions {
    width: 100%;
    gap: var(--ky-space-4);
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .ky-public-profile-page--mentor .ky-mentee-profile-preview-heading-action {
    min-width: 0;
  }

  .ky-explore-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(15.5rem, 78vw);
    grid-template-columns: none;
    gap: 0.9rem;
    overflow-x: auto;
    padding-bottom: 0.2rem;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
  }

  .ky-explore-card {
    min-width: 0;
    scroll-snap-align: start;
  }

  .ky-explore-card.is-dashboard-fallback {
    padding: 0.85rem;
    gap: 0.75rem;
  }

  .ky-explore-card-name {
    margin-bottom: 0.28rem;
    font-size: 0.68rem;
  }

  .ky-explore-card.is-dashboard-fallback .ky-explore-card-title,
  .ky-explore-card-title {
    font-size: 1.25rem;
    line-height: 1.08;
  }

  .ky-explore-card .ky-booking-experience-card-meta-item {
    font-size: 1rem;
  }

  .ky-site-header-row--profile-width,
  .ky-site-footer-inner--profile-width {
    padding-inline: 1rem;
  }

  .ky-public-profile-header-inner,
  .ky-public-profile-footer-inner,
  .ky-public-profile-container {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .ky-public-profile-container {
    padding-bottom: 3rem;
  }

  .ky-public-profile-brand {
    font-size: 1.7rem;
  }

  .ky-profile-display {
    font-size: 2.7rem;
  }

  .ky-profile-detail-card,
  .ky-profile-about-card,
  .ky-profile-testimonial-card,
  .ky-booking-rail,
  .ky-profile-mini-card {
    padding: 1rem;
  }
}

@media (max-width: 374px) {
  .ky-public-profile-page--mentor .ky-public-profile-container {
    padding-left: var(--ky-space-3);
    padding-right: var(--ky-space-3);
  }

  .ky-public-profile-page--mentor .ky-public-profile-preview .ky-mentee-profile-preview-frame {
    padding: var(--ky-space-4);
  }

  .ky-public-profile-page--mentor .ky-mentee-profile-preview-heading-action {
    font-size: var(--ky-type-ui-sm);
  }
}

body.ky-studio-modal-open {
  overflow: hidden;
}

.ky-studio-shell {
  min-height: 100svh;
  background:
    radial-gradient(circle at top left, rgba(212, 123, 95, 0.08), transparent 18%),
    linear-gradient(180deg, #f7f1ea 0%, var(--ky-color-canvas) 24rem);
  color: var(--ky-color-ink);
}

.ky-studio-page {
  width: min(100%, 76rem);
  margin: 0 auto;
  padding: 2.25rem 1.5rem 4.5rem;
}

.ky-studio-topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  border-bottom: 1px solid rgba(227, 216, 207, 0.9);
  background: rgba(251, 246, 240, 0.92);
  backdrop-filter: blur(16px);
}

.ky-studio-topbar__inner,
.ky-studio-footer__inner {
  width: min(100%, 76rem);
  margin: 0 auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.ky-studio-topbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  min-height: 4.75rem;
}

.ky-studio-brand-nav,
.ky-studio-toolbar,
.ky-studio-nav {
  display: flex;
  align-items: center;
}

.ky-studio-brand-nav {
  gap: 2rem;
}

.ky-studio-wordmark {
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1;
  color: var(--ky-color-accent);
  text-decoration: none;
}

.ky-studio-nav {
  gap: 1.35rem;
}

.ky-studio-nav a,
.ky-studio-toolbar a,
.ky-studio-switch,
.ky-experience-row__edit,
.ky-studio-ghost-button {
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.94rem;
  font-weight: 600;
  color: var(--ky-color-muted);
  text-decoration: none;
  transition: color 160ms ease, border-color 160ms ease, background-color 160ms ease;
}

.ky-studio-nav a:hover,
.ky-studio-toolbar a:hover,
.ky-experience-row__edit:hover,
.ky-studio-ghost-button:hover {
  color: var(--ky-color-ink);
}

.ky-studio-nav a.is-active {
  color: var(--ky-color-accent);
}

.ky-studio-toolbar {
  gap: 0.8rem;
}

.ky-studio-switch,
.ky-studio-icon-link,
.ky-studio-avatar-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  border: 1px solid rgba(227, 216, 207, 0.95);
  border-radius: var(--ky-radius-pill);
  background: rgba(255, 255, 255, 0.86);
}

.ky-studio-switch {
  padding: 0 1rem;
}

.ky-studio-icon-link,
.ky-studio-avatar-link {
  width: 2.75rem;
}

.ky-studio-avatar {
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  object-fit: cover;
}

.ky-studio-avatar--fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(212, 123, 95, 0.14);
  color: var(--ky-color-accent-strong);
  font-weight: 700;
}

.ky-studio-section-head,
.ky-schedule-panel__header,
.ky-bookings-section__head,
.ky-experience-editor__section-head,
.ky-experience-row__headline {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
}

.ky-studio-section-head {
  margin-bottom: 1.5rem;
}

.ky-studio-title {
  margin: 0;
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: clamp(2.4rem, 4vw, 3.25rem);
  font-weight: 700;
  line-height: 0.94;
}

.ky-studio-subtitle,
.ky-studio-stat-note,
.ky-schedule-summary,
.ky-schedule-empty p,
.ky-experience-editor__hint,
.ky-studio-empty-state p,
.ky-bookings-card__body p,
.ky-schedule-item__body p,
.ky-studio-footer__brand p,
.ky-studio-footer__grid a {
  margin: 0;
  color: var(--ky-color-muted);
}

.ky-studio-subtitle {
  margin-top: 0.4rem;
  max-width: 40rem;
  font-size: 1rem;
  line-height: 1.65;
}

.ky-studio-eyebrow {
  margin: 0;
  font-family: var(--ky-font-body), Inter, sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ky-color-subtle);
}

.ky-studio-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.ky-studio-stat-grid--compact {
  margin-bottom: 0;
}

.ky-bookings-lite {
  display: grid;
  gap: 1.5rem;
}

.ky-studio-stat-card,
.ky-schedule-panel,
.ky-bookings-card,
.ky-studio-empty-state,
.ky-experience-row {
  border: 1px solid rgba(227, 216, 207, 0.92);
  border-radius: var(--ky-radius-lg);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--ky-shadow-soft);
}

.ky-studio-stat-card {
  padding: 1rem 1.2rem;
}

.ky-studio-stat-value {
  margin: 0.2rem 0 0;
  font-size: clamp(1.9rem, 4vw, 2.45rem);
  font-weight: 700;
  line-height: 1;
  color: var(--ky-color-ink);
}

.ky-studio-primary-button,
.ky-studio-secondary-button,
.ky-studio-ghost-button,
.ky-bookings-card,
.ky-schedule-item__menu,
.ky-schedule-day,
.ky-chip-toggle,
.ky-chip-option span,
.ky-experience-type-card,
.ky-studio-field input,
.ky-studio-field textarea {
  font-family: var(--ky-font-body), Inter, sans-serif;
}

.ky-studio-primary-button,
.ky-studio-secondary-button,
.ky-studio-ghost-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.1rem;
  padding: 0 1.25rem;
  border-radius: var(--ky-radius-pill);
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
}

.ky-studio-primary-button {
  background: var(--ky-color-accent);
  color: #fff;
  box-shadow: var(--ky-shadow-soft);
}

.ky-studio-primary-button:hover {
  background: var(--ky-color-accent-strong);
}

.ky-studio-secondary-button {
  background: rgba(255, 255, 255, 0.88);
  color: var(--ky-color-ink);
  border-color: rgba(227, 216, 207, 0.95);
}

.ky-studio-secondary-button:hover,
.ky-studio-ghost-button:hover {
  border-color: rgba(212, 123, 95, 0.4);
  color: var(--ky-color-accent-strong);
}

.ky-studio-ghost-button {
  background: transparent;
  color: var(--ky-color-muted);
}

.ky-experience-stack,
.ky-bookings-stack,
.ky-schedule-list {
  display: grid;
  gap: 1rem;
}

.ky-experience-row {
  display: grid;
  grid-template-columns: 8.5rem minmax(0, 1fr) auto;
  align-items: stretch;
  overflow: hidden;
}

.ky-experience-row.is-draft {
  opacity: 0.82;
  border-style: dashed;
}

.ky-experience-row__media {
  position: relative;
  min-height: 11rem;
  padding: 0.9rem;
  background:
    radial-gradient(circle at 20% 20%, rgba(212, 123, 95, 0.22), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(0, 0, 0, 0.22)),
    linear-gradient(180deg, #5e4d3f, #48382c);
}

.ky-experience-row__media[data-theme="practice_date"] {
  background:
    radial-gradient(circle at 82% 24%, rgba(212, 123, 95, 0.3), transparent 22%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(0, 0, 0, 0.2)),
    linear-gradient(180deg, #594538, #3f3028);
}

.ky-experience-row__status {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  padding: 0 0.65rem;
  border-radius: var(--ky-radius-pill);
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ky-experience-row__status.is-draft {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.82);
}

.ky-experience-row__body,
.ky-experience-row__aside {
  padding: 1.25rem 1.3rem;
}

.ky-experience-row__body {
  display: grid;
  gap: 0.95rem;
}

.ky-experience-row__headline h2,
.ky-schedule-panel h2,
.ky-bookings-section__head h2,
.ky-studio-empty-state h2,
.ky-experience-editor h2,
.ky-experience-editor h3,
.ky-bookings-card__headline h3,
.ky-schedule-item__body h3 {
  margin: 0;
  font-family: var(--ky-font-display), Georgia, serif;
  font-weight: 700;
  color: var(--ky-color-ink);
}

.ky-experience-row__headline h2 {
  font-size: 2rem;
}

.ky-experience-row__headline p {
  margin: 0.35rem 0 0;
  font-size: 0.98rem;
  line-height: 1.6;
  color: var(--ky-color-muted);
}

.ky-experience-row__chips,
.ky-chip-group,
.ky-chip-grid,
.ky-bookings-card__headline {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.ky-experience-chip,
.ky-schedule-chip,
.ky-bookings-card__status,
.ky-chip-option span {
  display: inline-flex;
  align-items: center;
  min-height: 1.9rem;
  padding: 0 0.8rem;
  border-radius: var(--ky-radius-pill);
  background: rgba(212, 123, 95, 0.1);
  color: var(--ky-color-accent-strong);
  font-size: 0.78rem;
  font-weight: 700;
}

.ky-experience-row__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  color: var(--ky-color-subtle);
  font-size: 0.9rem;
}

.ky-experience-row__aside {
  display: grid;
  align-content: space-between;
  justify-items: end;
  min-width: 8.5rem;
  border-left: 1px solid rgba(227, 216, 207, 0.9);
}

.ky-experience-row__price {
  margin: 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}

.ky-experience-row__price-caption {
  margin-top: 0.35rem;
  font-size: 0.8rem;
  color: var(--ky-color-subtle);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.ky-studio-empty-state {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1.5rem 1.6rem;
}

.ky-schedule-panel__header,
.ky-bookings-section__head {
  margin-bottom: 1rem;
}

.ky-experience-editor-shell[hidden] {
  display: none;
}

.ky-experience-editor-shell {
  position: fixed;
  inset: 0;
  z-index: 60;
}

.ky-experience-editor-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(52, 45, 42, 0.34);
  backdrop-filter: blur(5px);
}

.ky-experience-editor {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: min(100%, 34rem);
  display: grid;
  grid-template-rows: auto 1fr;
  background: #fffaf4;
  box-shadow: -24px 0 56px rgba(52, 45, 42, 0.16);
}

.ky-experience-editor__header,
.ky-experience-editor__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.4rem;
  border-bottom: 1px solid rgba(227, 216, 207, 0.95);
}

.ky-experience-editor__close,
.ky-schedule-item__menu {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem;
  height: 2.6rem;
  border: 1px solid rgba(227, 216, 207, 0.95);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.86);
  color: var(--ky-color-muted);
  text-decoration: none;
}

.ky-experience-editor__form {
  overflow-y: auto;
  padding: 1.4rem;
}

.ky-experience-editor__section {
  display: grid;
  gap: 1rem;
  padding-bottom: 1.5rem;
}

.ky-experience-editor__section + .ky-experience-editor__section {
  padding-top: 1.5rem;
  border-top: 1px solid rgba(227, 216, 207, 0.9);
}

.ky-experience-editor__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.ky-experience-type-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}

.ky-experience-type-card,
.ky-chip-toggle,
.ky-chip-option span {
  border: 1px solid rgba(227, 216, 207, 0.95);
  background: rgba(255, 255, 255, 0.9);
}

.ky-experience-type-card {
  position: relative;
  display: grid;
  gap: 0.2rem;
  padding: 1rem;
  border-radius: var(--ky-radius-md);
  cursor: pointer;
}

.ky-experience-type-card span {
  font-size: 1rem;
  font-weight: 700;
  color: var(--ky-color-ink);
}

.ky-experience-type-card small {
  color: var(--ky-color-muted);
}

.ky-experience-type-card input,
.ky-chip-option input {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}

.ky-experience-type-card:has(input:checked),
.ky-chip-option:has(input:checked) span,
.ky-chip-toggle.is-active,
.ky-schedule-chip.is-enabled,
.ky-bookings-card__status.pending,
.ky-bookings-card__status.accepted {
  border-color: rgba(212, 123, 95, 0.6);
  background: rgba(212, 123, 95, 0.14);
  color: var(--ky-color-accent-strong);
}

.ky-chip-grid {
  display: flex;
  flex-wrap: wrap;
}

.ky-chip-grid--days,
.ky-chip-grid--slots {
  gap: 0.55rem;
}

.ky-chip-toggle {
  min-height: 2.5rem;
  padding: 0 1rem;
  border-radius: var(--ky-radius-pill);
  color: var(--ky-color-muted);
}

.ky-chip-option span {
  cursor: pointer;
}

.ky-studio-field {
  display: grid;
  gap: 0.45rem;
}

.ky-studio-field > span,
.ky-experience-duration-group legend {
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ky-color-subtle);
}

.ky-studio-field input,
.ky-studio-field textarea {
  width: 100%;
  min-height: 3.25rem;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(227, 216, 207, 0.95);
  border-radius: var(--ky-radius-md);
  background: rgba(255, 255, 255, 0.96);
  color: var(--ky-color-ink);
  resize: vertical;
}

.ky-studio-field textarea {
  min-height: 7rem;
}

.ky-studio-field input:focus,
.ky-studio-field textarea:focus,
.ky-schedule-day:focus,
.ky-chip-toggle:focus,
.ky-experience-editor__close:focus,
.ky-studio-primary-button:focus,
.ky-studio-secondary-button:focus,
.ky-studio-ghost-button:focus,
.ky-studio-switch:focus {
  outline: 2px solid rgba(212, 123, 95, 0.35);
  outline-offset: 2px;
}

.ky-studio-field--toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(227, 216, 207, 0.95);
  border-radius: var(--ky-radius-md);
  background: rgba(255, 255, 255, 0.92);
}

.ky-studio-field--toggle input {
  width: 1.2rem;
  min-height: 1.2rem;
  padding: 0;
}

.ky-experience-editor__status {
  margin-bottom: 1rem;
  padding: 0.9rem 1rem;
  border-radius: var(--ky-radius-md);
  background: rgba(212, 123, 95, 0.1);
  color: var(--ky-color-accent-strong);
}

.ky-experience-editor__status.is-error {
  background: rgba(185, 95, 69, 0.14);
  color: var(--ky-color-accent-strong);
}

.ky-experience-editor__actions {
  margin-top: 1.5rem;
  padding: 0;
  border-bottom: 0;
}

.ky-experience-editor__actions-right {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.ky-schedule-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.25fr);
  gap: 1rem;
}

.ky-schedule-sidebar {
  display: grid;
  gap: 1rem;
  align-content: start;
}

.ky-schedule-panel {
  padding: 1.35rem;
}

.ky-schedule-panel--calendar {
  min-height: 100%;
}

.ky-schedule-calendar {
  margin-top: 1rem;
}

.ky-schedule-calendar__weekdays,
.ky-schedule-calendar__grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.45rem;
}

.ky-schedule-calendar__weekdays {
  margin-bottom: 0.7rem;
  color: var(--ky-color-subtle);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.ky-schedule-day {
  min-height: 3rem;
  display: grid;
  align-items: center;
  justify-items: center;
  border: 1px solid transparent;
  border-radius: var(--ky-radius-md);
  background: transparent;
  color: var(--ky-color-ink);
}

.ky-schedule-day.is-muted {
  visibility: hidden;
}

.ky-schedule-day span {
  font-weight: 600;
}

.ky-schedule-day small {
  font-size: 0.7rem;
  color: var(--ky-color-accent-strong);
}

.ky-schedule-day.is-booked {
  background: rgba(212, 123, 95, 0.14);
  color: var(--ky-color-accent-strong);
}

.ky-schedule-day.is-today {
  border-color: rgba(212, 123, 95, 0.44);
}

.ky-schedule-day.is-selected {
  background: var(--ky-color-accent);
  color: #fff;
}

.ky-schedule-availability {
  margin-top: 1.5rem;
  padding-top: 1.3rem;
  border-top: 1px solid rgba(227, 216, 207, 0.92);
}

.ky-schedule-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.ky-schedule-chip {
  background: rgba(227, 216, 207, 0.6);
  color: var(--ky-color-subtle);
}

.ky-schedule-chip.is-enabled {
  background: rgba(212, 123, 95, 0.16);
}

.ky-schedule-summary {
  margin-top: 0.8rem;
  font-size: 0.94rem;
}

.ky-schedule-filter-label {
  color: var(--ky-color-accent-strong);
  font-size: 0.88rem;
  font-weight: 600;
}

.ky-schedule-item,
.ky-bookings-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  gap: 0.9rem;
  align-items: center;
  padding: 1rem 1.1rem;
  text-decoration: none;
}

.ky-schedule-item__accent,
.ky-bookings-card__accent {
  width: 0.24rem;
  min-height: 4rem;
  border-radius: 999px;
  background: rgba(212, 123, 95, 0.35);
}

.ky-schedule-item__accent[data-accent="coral"],
.ky-bookings-card__accent[data-accent="coral"] {
  background: var(--ky-color-accent);
}

.ky-schedule-item__accent[data-accent="gold"],
.ky-bookings-card__accent[data-accent="gold"] {
  background: #d7a65d;
}

.ky-schedule-item__accent[data-accent="sage"],
.ky-bookings-card__accent[data-accent="sage"] {
  background: var(--ky-color-success);
}

.ky-schedule-item__body,
.ky-bookings-card__body {
  min-width: 0;
  text-decoration: none;
}

.ky-schedule-item__body h3,
.ky-bookings-card__headline h3 {
  font-size: 1.35rem;
  line-height: 1;
}

.ky-schedule-item__body p,
.ky-bookings-card__body p {
  margin-top: 0.3rem;
  font-size: 0.92rem;
}

.ky-schedule-item__meta,
.ky-bookings-card__meta {
  display: grid;
  justify-items: end;
  gap: 0.15rem;
  color: var(--ky-color-muted);
  font-size: 0.9rem;
}

.ky-schedule-item__meta strong,
.ky-bookings-card__meta strong {
  color: var(--ky-color-ink);
}

.ky-bookings-section + .ky-bookings-section {
  margin-top: 1.4rem;
}

.ky-bookings-card__status.completed,
.ky-bookings-card__status.no-show,
.ky-bookings-card__status.canceled,
.ky-bookings-card__status.declined,
.ky-bookings-card__status.expired {
  background: rgba(227, 216, 207, 0.72);
  color: var(--ky-color-muted);
}

.ky-schedule-empty {
  display: grid;
  gap: 0.5rem;
  padding: 1rem 0.2rem 0.2rem;
}

.ky-schedule-empty h3 {
  margin: 0;
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: 1.6rem;
  color: var(--ky-color-ink);
}

.ky-studio-footer {
  border-top: 1px solid rgba(227, 216, 207, 0.92);
  background: rgba(255, 255, 255, 0.64);
}

.ky-studio-footer__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.6fr);
  gap: 1.5rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.ky-studio-footer__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.ky-studio-footer__brand p {
  margin-top: 0.8rem;
  max-width: 18rem;
  font-size: 0.95rem;
  line-height: 1.6;
}

.ky-studio-footer__grid h2 {
  margin: 0 0 0.6rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ky-color-subtle);
}

.ky-studio-footer__grid ul {
  display: grid;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ky-studio-footer__grid a {
  text-decoration: none;
}

.ky-earnings-section-head {
  margin-bottom: 1.85rem;
}

.ky-earnings-summary-grid,
.ky-earnings-detail-grid {
  display: grid;
  gap: 1rem;
}

.ky-earnings-summary-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 1rem;
}

.ky-earnings-detail-grid {
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.28fr);
}

.ky-earnings-card,
.ky-earnings-panel,
.ky-earnings-modal__dialog {
  border: 1px solid rgba(227, 216, 207, 0.92);
  border-radius: var(--ky-radius-lg);
  box-shadow: var(--ky-shadow-soft);
}

.ky-earnings-card,
.ky-earnings-panel {
  background: rgba(255, 255, 255, 0.94);
}

.ky-earnings-card {
  display: grid;
  gap: 1rem;
  padding: 1.4rem 1.5rem;
}

.ky-earnings-card__value {
  margin: 0;
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: clamp(2.45rem, 5vw, 3.25rem);
  font-weight: 700;
  line-height: 0.96;
  color: var(--ky-color-ink);
}

.ky-earnings-card__split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  padding-top: 0.95rem;
  border-top: 1px solid rgba(227, 216, 207, 0.92);
}

.ky-earnings-card__mini-value {
  margin: 0.28rem 0 0;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1;
  color: var(--ky-color-ink);
}

.ky-earnings-card--accent {
  background: var(--ky-color-accent);
  border-color: rgba(212, 123, 95, 0.94);
  color: #fff;
}

.ky-earnings-card--accent .ky-studio-eyebrow,
.ky-earnings-card--accent .ky-earnings-card__value,
.ky-earnings-card--accent .ky-earnings-card__note {
  color: #fff;
}

.ky-earnings-card__note {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.6;
  color: var(--ky-color-muted);
}

.ky-earnings-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: 0 1.3rem;
  border: 0;
  border-radius: var(--ky-radius-pill);
  background: rgba(255, 255, 255, 0.96);
  color: var(--ky-color-accent-strong);
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  transition: transform 160ms ease, opacity 160ms ease;
}

.ky-earnings-card__button:hover:not(:disabled) {
  transform: translateY(-1px);
}

.ky-earnings-card__button:disabled {
  cursor: default;
  opacity: 0.68;
}

.ky-earnings-panel {
  padding: 1.35rem;
}

.ky-earnings-breakdown-stack {
  display: grid;
  gap: 0.9rem;
}

.ky-earnings-breakdown-row {
  display: grid;
  gap: 0.5rem;
}

.ky-earnings-breakdown-row__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.ky-earnings-breakdown-row__head h3 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--ky-color-ink);
}

.ky-earnings-breakdown-row__head strong {
  font-size: 1.02rem;
  color: var(--ky-color-ink);
}

.ky-earnings-breakdown-row__bar {
  height: 0.45rem;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(227, 216, 207, 0.62);
}

.ky-earnings-breakdown-row__bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--ky-color-accent);
}

.ky-earnings-breakdown-row__bar span[data-tone="amber"] {
  background: #d79c55;
}

.ky-earnings-breakdown-row__bar span[data-tone="sage"] {
  background: #7c8c77;
}

.ky-earnings-breakdown-row__bar span[data-tone="clay"] {
  background: #9c7a62;
}

.ky-earnings-table-wrap {
  overflow-x: auto;
}

.ky-earnings-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 34rem;
}

.ky-earnings-table th,
.ky-earnings-table td {
  padding: 0.85rem 0;
  text-align: left;
}

.ky-earnings-table th {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ky-color-subtle);
}

.ky-earnings-table td {
  border-top: 1px solid rgba(227, 216, 207, 0.82);
  font-size: 0.98rem;
  color: var(--ky-color-ink);
}

.ky-earnings-table td:last-child,
.ky-earnings-table th:last-child {
  text-align: right;
}

.ky-earnings-status {
  display: inline-flex;
  align-items: center;
  min-height: 1.65rem;
  padding: 0 0.7rem;
  border-radius: var(--ky-radius-pill);
  background: rgba(124, 140, 119, 0.16);
  color: #58704f;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ky-earnings-modal {
  position: fixed;
  inset: 0;
  z-index: 70;
  display: grid;
  place-items: center;
  padding: 1.5rem;
}

.ky-earnings-modal__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(52, 45, 42, 0.34);
  backdrop-filter: blur(5px);
}

.ky-earnings-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 42rem);
  background: #fffaf4;
}

.ky-earnings-modal__header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.35rem 0;
}

.ky-earnings-modal__header h2 {
  margin: 0.2rem 0 0;
  font-family: var(--ky-font-display), Georgia, serif;
  font-size: 2rem;
  line-height: 1;
  color: var(--ky-color-ink);
}

.ky-earnings-modal__body {
  display: grid;
  gap: 0.85rem;
  padding: 1.1rem 1.35rem 1.35rem;
}

.ky-earnings-detail-item {
  display: grid;
  gap: 0.45rem;
  padding: 1rem 1.05rem;
  border: 1px solid rgba(227, 216, 207, 0.9);
  border-radius: var(--ky-radius-md);
  background: rgba(255, 255, 255, 0.92);
}

.ky-earnings-detail-item__top,
.ky-earnings-detail-item__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.ky-earnings-detail-item__top h3,
.ky-earnings-detail-item__top p,
.ky-earnings-detail-item__release {
  margin: 0;
}

.ky-earnings-detail-item__top h3 {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--ky-color-ink);
}

.ky-earnings-detail-item__top p,
.ky-earnings-detail-item__meta,
.ky-earnings-detail-item__release {
  color: var(--ky-color-muted);
}

@media (max-width: 1080px) {
  .ky-studio-stat-grid,
  .ky-schedule-layout,
  .ky-studio-footer__inner,
  .ky-earnings-summary-grid,
  .ky-earnings-detail-grid {
    grid-template-columns: 1fr;
  }

  .ky-experience-row {
    grid-template-columns: 1fr;
  }

  .ky-experience-row__media {
    min-height: 9rem;
  }

  .ky-experience-row__aside {
    border-left: 0;
    border-top: 1px solid rgba(227, 216, 207, 0.9);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    justify-items: start;
  }

  .ky-schedule-sidebar {
    order: 2;
  }
}

@media (max-width: 760px) {
  .ky-studio-topbar__inner,
  .ky-studio-footer__inner,
  .ky-studio-page {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .ky-studio-topbar__inner,
  .ky-studio-brand-nav,
  .ky-studio-nav,
  .ky-studio-toolbar,
  .ky-studio-section-head,
  .ky-studio-empty-state,
  .ky-experience-editor__grid,
  .ky-experience-type-grid,
  .ky-studio-footer__grid,
  .ky-schedule-item,
  .ky-bookings-card {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: stretch;
  }

  .ky-studio-topbar__inner,
  .ky-studio-brand-nav,
  .ky-studio-nav,
  .ky-studio-toolbar {
    display: flex;
  }

  .ky-studio-topbar__inner,
  .ky-studio-brand-nav {
    align-items: flex-start;
  }

  .ky-studio-nav,
  .ky-studio-toolbar {
    flex-wrap: wrap;
  }

  .ky-earnings-card__split,
  .ky-earnings-detail-item__top,
  .ky-earnings-detail-item__meta {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: stretch;
  }

  .ky-experience-row__aside,
  .ky-experience-editor__actions,
  .ky-experience-editor__actions-right {
    grid-template-columns: 1fr;
    justify-items: stretch;
  }

  .ky-experience-editor {
    width: 100%;
  }

  .ky-schedule-item__accent,
  .ky-bookings-card__accent {
    width: 100%;
    min-height: 0.22rem;
  }

  .ky-schedule-item__meta,
  .ky-bookings-card__meta {
    justify-items: start;
  }

  .ky-earnings-modal {
    padding: 1rem;
  }

  .ky-earnings-modal__header h2 {
    font-size: 1.6rem;
  }
}
