@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Inter:wght@300;400;500;600&family=Lora:ital,wght@0,400;0,500;0,600;1,400&family=Outfit:wght@300;400;500;600&display=swap');

:root {
    --font-family-base: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-size-xs: .75rem;
    --font-size-sm: .875rem;
    --font-size-md: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.5rem;
    --font-size-2xl: 2rem;
    --font-size-3xl: 3rem;
    --line-height-tight: 1.08;
    --line-height-heading: 1.16;
    --line-height-body: 1.6;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-bold: 700;
    --color-primary: #1e3a5f;
    --color-primary-hover: #2c4f7a;
    --color-secondary: #6b7280;
    --color-accent: #6f8677;
    --color-highlight: #a85f45;
    --color-background: #fafaf8;
    --color-surface: #ffffff;
    --color-surface-muted: #f3f6f4;
    --color-surface-subtle: #f8f5f2;
    --color-text: #1f2937;
    --color-text-secondary: #6b7280;
    --color-muted: #6b7280;
    --color-border: #e5e7eb;
    --color-border-strong: #c7d1cb;
    --color-success: #16a34a;
    --color-success-surface: #f0fdf4;
    --color-warning: #d97706;
    --color-warning-surface: #fff8eb;
    --color-error: #dc2626;
    --color-error-surface: #fef2f2;
    --color-info: #1e3a5f;
    --color-info-surface: #eff6ff;
    --color-action: var(--color-primary);
    --color-action-hover: var(--color-primary-hover);
    --radius-sm: 8px;
    --radius-base: 8px;
    --radius-md: 8px;
    --radius-lg: 8px;
    --radius-pill: 999px;
    --space-1: .5rem;
    --space-2: .75rem;
    --space-3: 1rem;
    --space-4: 1.5rem;
    --space-5: 2rem;
    --space-6: 3rem;
    --space-7: 4.5rem;
    --shadow-xs: 0 1px 2px rgba(23, 32, 47, .05);
    --shadow-sm: 0 8px 28px rgba(23, 32, 47, .07);
    --shadow-md: 0 24px 80px rgba(23, 32, 47, .08);
    --motion-fast: 160ms ease;
    --motion-base: 200ms ease;
    --container: 1120px;
    --container-narrow: 720px;
    --container-wide: 1280px;
    --breakpoint-sm: 480px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 1024px;
    --breakpoint-xl: 1280px;
    --editorial-font-sans: Inter, system-ui, sans-serif;
    --editorial-font-serif: "DM Serif Display", Georgia, serif;
    --editorial-body-size: 16px;
    --editorial-size-text: var(--editorial-body-size);
    --editorial-size-subtitle: clamp(18px, 1.8vw, 22px);
    --editorial-size-heading: clamp(22px, 2.4vw, 30px);
    --editorial-line-height-text: 1.65;
    --editorial-line-height-subtitle: 1.35;
    --editorial-line-height-heading: 1.15;
    --landing-media-content-gap: 48px;
    --landing-media-radius: 16px;
    --landing-video-standard-max-width: 720px;
    --landing-video-standard-proportion: 64.2857%;
    color-scheme: light;
}

/* Public Product Landing V2 fidelity: approved Figma slots, scoped to the public renderer. */
.public-product-landing-body { background: #F5F0E8; }
.product-landing-header { backdrop-filter: blur(12px); background: rgba(245,240,232,.96); border-color: #E0DBD0; }
.product-landing-header__inner { max-width: 1120px; }
.product-landing-header__brand { color: #1f2937; font-size: 14px; font-weight: 500; gap: 10px; letter-spacing: 0; }
.product-landing-header__monogram { align-items: center; background: #1e3a5f; border-radius: 50%; color: #F5F0E8; display: inline-flex; font-size: 11px; font-weight: 600; height: 28px; justify-content: center; width: 28px; }
.product-landing-header__cta { background: #1e3a5f; border-color: #1e3a5f; border-radius: 999px; color: #F5F0E8; font-size: 14px; font-weight: 500; min-height: 0; padding: 8px 20px; }
.product-landing-header__cta:hover, .product-landing-header__cta:focus-visible { background: #2c4f7a; border-color: #2c4f7a; }
.public-product-page--figma { --landing-cream: #F5F0E8; --landing-light: #FAFAF8; --landing-text: #1f2937; --landing-muted: #6B7570; --landing-navy: #1e3a5f; --landing-navy-hover: #2c4f7a; --landing-sage: #6f8677; --landing-teal: #2D5A52; --landing-line: #E0DBD0; background: var(--landing-cream); color: var(--landing-text); font-family: Inter, system-ui, sans-serif; min-height: 100vh; overflow: clip; padding-bottom: 0; }
.public-product-page--figma .public-product-page__container, .public-product-page--figma .public-product-page__hero { margin: 0 auto; max-width: 1120px; padding-left: 24px; padding-right: 24px; }
.public-product-page--figma .public-product-page__narrow { margin: 0 auto; max-width: 680px; padding-left: 24px; padding-right: 24px; }
.public-product-page--figma .public-product-page__preview { align-items: center; background: #edf3ea; border: 1px solid #c9dbc7; border-radius: 0; color: #315443; display: flex; font-size: 13px; gap: 14px; justify-content: space-between; margin: 0; padding: 12px max(24px, calc((100% - 1120px) / 2 + 24px)); }
.public-product-page--figma .public-product-page__preview a { color: inherit; font-weight: 600; }
.public-product-page--figma .public-product-page__hero { border: 0; display: grid; grid-template-columns: minmax(0, 1fr); padding-bottom: 56px; padding-top: 48px; }
.public-product-page--figma .public-product-page__hero-copy { max-width: 660px; }
.public-product-page--figma .public-product-page__hero.has-media { align-items: start; gap: 56px; grid-template-columns: minmax(0, 1fr) 360px; }
.public-product-page--figma .public-product-page__hero.has-media .public-product-page__hero-copy { max-width: none; }
.public-product-page--figma .public-product-page__hero-media { margin: 0; min-width: 0; position: relative; }
.public-product-page--figma .public-product-page__hero-media img { aspect-ratio: 4 / 5; background: #DDD8CC; border-radius: 16px; display: block; object-fit: cover; width: 100%; }
.public-product-page--figma .public-product-page__hero-media figcaption { background: rgba(245,240,232,.95); border: 1px solid rgba(224,219,208,.8); border-radius: 12px; bottom: 20px; left: 20px; padding: 20px; position: absolute; right: 20px; }
.public-product-page--figma .public-product-page__hero-media figcaption p { color: var(--landing-text); font-family: "DM Serif Display", Georgia, serif; font-size: 14px; font-style: italic; line-height: 1.35; margin: 0 0 10px; }
.public-product-page--figma .public-product-page__hero-media figcaption small { color: #8A8580; font-size: 11px; }
.public-product-page--figma .public-product-page__hero-identity { align-items: center; display: flex; gap: 12px; margin-top: 32px; min-width: 0; }
.public-product-page--figma .public-product-page__hero-identity img { border-radius: 50%; display: block; flex: 0 0 40px; height: 40px; object-fit: cover; width: 40px; }
.public-product-page--figma .public-product-page__hero-identity-name, .public-product-page--figma .public-product-page__hero-identity-description { margin: 0; overflow-wrap: anywhere; }
.public-product-page--figma .public-product-page__hero-identity-name { color: var(--landing-text); font-size: 14px; font-weight: 500; line-height: 1.25; }
.public-product-page--figma .public-product-page__hero-identity-description { color: #8A8580; font-size: 12px; line-height: 1.35; margin-top: 2px; }
.public-product-page--figma .public-product-page__product-label { align-items: center; display: flex; gap: 8px; margin-bottom: 28px; }
.public-product-page--figma .public-product-page__product-label span { color: var(--landing-teal); font-size: 11px; font-weight: 500; letter-spacing: .12em; }
.public-product-page--figma .public-product-page__product-label i { background: #C8C2B6; border-radius: 50%; display: block; height: 4px; width: 4px; }
.public-product-page--figma .public-product-page__product-label small { color: #8A8580; font-size: 11px; letter-spacing: .08em; }
.public-product-page--figma h1, .public-product-page--figma h2 { color: var(--landing-text); font-family: "DM Serif Display", Georgia, serif; font-weight: 400; letter-spacing: 0; }
.public-product-page--figma h1 { font-size: clamp(38px, 5vw, 56px); letter-spacing: -.025em; line-height: 1.08; margin: 0; }
.public-product-page--figma h2 { font-size: clamp(26px, 3vw, 34px); line-height: 1.1; margin: 0; }
.public-product-page--figma .public-product-page__hero h1 { max-width: 660px; overflow-wrap: anywhere; }
.public-product-page--figma .public-product-page__subtitle { color: #4A4540; font-size: 17px; line-height: 1.625; margin: 24px 0 0; max-width: 500px; }
.public-product-page--figma .public-product-page__hero .public-product-page__subtitle { overflow-wrap: anywhere; }
.public-product-page--figma .public-product-page__facts { border-top: 0; display: flex; flex-wrap: wrap; gap: 16px 28px; margin: 32px 0 0; padding: 0; }
.public-product-page--figma .public-product-page__facts div { display: grid; gap: 4px; }
.public-product-page--figma .public-product-page__facts dt { color: #8A8580; font-size: 10px; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; }
.public-product-page--figma .public-product-page__facts dd { color: var(--landing-text); font-size: 13px; font-weight: 500; margin: 0; }
.public-product-page--figma .public-product-page__hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 20px; margin-top: 36px; }
.public-product-page--figma .public-product-page__primary-cta, .public-product-page--figma .public-product-page__option-action { align-items: center; background: var(--landing-navy); border: 1px solid var(--landing-navy); border-radius: 999px; color: #F5F0E8; display: inline-flex; font-size: 14px; font-weight: 500; justify-content: center; line-height: 1.2; min-height: 0; padding: 14px 32px; text-align: center; text-decoration: none; }
.public-product-page--figma .public-product-page__primary-cta:hover, .public-product-page--figma .public-product-page__primary-cta:focus-visible, .public-product-page--figma .public-product-page__option-action:hover, .public-product-page--figma .public-product-page__option-action:focus-visible { background: var(--landing-navy-hover); border-color: var(--landing-navy-hover); color: #fff; }
.public-product-page--figma .public-product-page__details-link { color: var(--landing-navy); font-size: 14px; text-decoration: underline; text-decoration-color: rgba(30,58,95,.4); text-underline-offset: 4px; }
.public-product-page--figma .public-product-page__recognition, .public-product-page--figma .public-product-page__program { background: var(--landing-light); border-bottom: 1px solid var(--landing-line); border-top: 1px solid var(--landing-line); }
.public-product-page--figma .public-product-page__recognition .public-product-page__container, .public-product-page--figma .public-product-page__program .public-product-page__container { padding-bottom: 48px; padding-top: 48px; }
.public-product-page--figma .public-product-page__eyebrow { color: var(--landing-sage); font-size: 11px; font-weight: 500; letter-spacing: .12em; margin: 0 0 28px; }
.public-product-page--figma .public-product-page__recognition-copy { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.public-product-page--figma .public-product-page__recognition-copy { list-style: none; margin: 0; padding: 0; }
.public-product-page--figma .public-product-page__recognition-copy.is-one-column { grid-template-columns: minmax(0, 760px); max-width: 760px; }
.public-product-page--figma .public-product-page__recognition-copy.is-one-column > * { border-left: 0; padding-left: 28px; }
.public-product-page--figma .public-product-page__recognition-copy.is-one-column > *::before { left: 0; }
.public-product-page--figma .public-product-page__recognition h2 { color: var(--landing-ink); font-family: var(--landing-serif); font-size: clamp(30px, 4vw, 44px); font-weight: 500; line-height: 1.05; margin: 0 0 24px; }
.public-product-page--figma .public-product-page__recognition-intro { color: var(--landing-text); font-size: 16px; line-height: 1.5; margin: -8px 0 28px; max-width: 760px; }
.public-product-page--figma .public-product-page__recognition-copy > * { border-top: 1px solid var(--landing-line); color: var(--landing-text); font-size: 15px; line-height: 1.35; margin: 0; min-height: 54px; padding: 16px 32px 16px 28px; position: relative; }
.public-product-page--figma .public-product-page__recognition-copy > *::before { color: var(--landing-teal); content: '—'; left: 0; position: absolute; }
.public-product-page--figma .public-product-page__recognition-copy > *:nth-child(even) { border-left: 1px solid var(--landing-line); padding-left: 60px; }
.public-product-page--figma .public-product-page__recognition-copy > *:nth-child(even)::before { left: 32px; }
.public-product-page--figma .public-product-page__recognition-item h2, .public-product-page--figma .public-product-page__value-body h2 { font-family: "DM Serif Display", Georgia, serif; font-size: clamp(26px, 3vw, 34px); font-weight: 400; letter-spacing: 0; line-height: 1.1; margin: 0 0 16px; }
.public-product-page--figma .public-product-page__recognition-item h3, .public-product-page--figma .public-product-page__value-body h3 { color: var(--landing-text); font-family: Inter, system-ui, sans-serif; font-size: 18px; font-weight: 500; letter-spacing: 0; line-height: 1.35; margin: 0 0 12px; }
.public-product-page--figma .public-product-page__recognition-item h2 + *, .public-product-page--figma .public-product-page__recognition-item h3 + *, .public-product-page--figma .public-product-page__value-body h2 + *, .public-product-page--figma .public-product-page__value-body h3 + * { margin-top: 0; }
.public-product-page--figma .public-product-page__recognition-item p, .public-product-page--figma .public-product-page__value-body p, .public-product-page--figma .public-product-page__value-body li { color: var(--landing-text); font-size: 15px; line-height: 1.65; }
.public-product-page--figma .public-product-page__recognition-item p, .public-product-page--figma .public-product-page__value-body p { margin: 0 0 16px; }
.public-product-page--figma .public-product-page__recognition-item ul, .public-product-page--figma .public-product-page__recognition-item ol, .public-product-page--figma .public-product-page__value-body ul, .public-product-page--figma .public-product-page__value-body ol { margin: 0 0 16px; padding-left: 22px; }
.public-product-page--figma .public-product-page__editorial, .public-product-page--figma .public-product-page__media, .public-product-page--figma .public-product-page__authors { padding-bottom: 56px; padding-top: 56px; }
.public-product-page--figma .public-product-page__editorial blockquote { border-left: 2px solid var(--landing-navy); color: var(--landing-text); font-family: "DM Serif Display", Georgia, serif; font-size: 22px; font-style: italic; line-height: 1.35; margin: 0; max-width: 700px; padding-left: 20px; }
.public-product-page--figma .public-product-page__editorial blockquote + blockquote { margin-top: 28px; }
.public-product-page--figma .public-product-page__media-grid { display: grid; gap: 48px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); }
.public-product-page--figma .public-product-page__media-frame { margin: 0 auto; width: 100%; }
.public-product-page--figma .public-product-page__media-frame--width-normal { max-width: 720px; }
.public-product-page--figma .public-product-page__media-frame--width-wide { max-width: 100%; }
.public-product-page--figma .public-product-page__media-frame img, .public-product-page--figma .public-product-page__media-frame iframe { background: #DDD8CC; border: 0; border-radius: 16px; display: block; height: auto; min-height: 0; overflow: hidden; width: 100%; }
.public-product-page--figma .public-product-page__media-frame iframe { aspect-ratio: 16 / 9; }
.public-product-page--figma .public-product-page__media-frame img { aspect-ratio: auto; object-fit: contain; }
.public-product-page--figma .public-product-page__media-frame--ratio-16-9 img { aspect-ratio: 16 / 9; object-fit: cover; object-position: center; }
.public-product-page--figma .public-product-page__media-frame--ratio-4-3 img { aspect-ratio: 4 / 3; object-fit: cover; object-position: center; }
.public-product-page--figma .public-product-page__media-frame--ratio-1-1 img { aspect-ratio: 1 / 1; object-fit: cover; object-position: center; }
.public-product-page--figma .public-product-page__media-frame figcaption { color: #8A8580; font-size: 12px; margin-top: 12px; text-align: center; }
.public-product-page--figma .public-product-page__section-heading { align-items: flex-end; display: flex; justify-content: space-between; margin-bottom: 36px; }
.public-product-page--figma .public-product-page__section-heading .public-product-page__eyebrow { margin-bottom: 8px; }
.public-product-page--figma .public-product-page__section-heading > span { color: #8A8580; font-size: 13px; }
.public-product-page--figma .public-product-page__program-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.public-product-page--figma .public-product-page__program-list article { border-top: 1px solid var(--landing-line); display: flex; gap: 16px; min-height: 80px; padding: 20px 32px 20px 0; }
.public-product-page--figma .public-product-page__program-list article:nth-child(even) { border-left: 1px solid var(--landing-line); padding-left: 32px; }
.public-product-page--figma .public-product-page__program-list article > span { color: var(--landing-sage); font-size: 11px; letter-spacing: .1em; padding-top: 3px; }
.public-product-page--figma .public-product-page__program-list h3 { color: var(--landing-text); font-size: 14px; font-weight: 500; line-height: 1.35; margin: 0 0 4px; }
.public-product-page--figma .public-product-page__program-list p { color: #5C5750; font-size: 13px; line-height: 1.5; margin: 0; }
.public-product-page--figma .public-product-page__program-list article > div { min-width: 0; }
.public-product-page--figma .public-product-page__program-lessons { display: grid; gap: 8px; list-style: none; margin: 14px 0 0; padding: 0; }
.public-product-page--figma .public-product-page__program-lessons li { border-top: 1px solid var(--landing-line); padding-top: 8px; }
.public-product-page--figma .public-product-page__program-list .public-product-page__program-lesson-title { color: var(--landing-text); font-size: 13px; font-weight: 500; line-height: 1.45; margin: 0; overflow-wrap: anywhere; }
.public-product-page--figma .public-product-page__program-list .public-product-page__program-lesson-teaser { color: #5C5750; font-size: 13px; line-height: 1.5; margin: 3px 0 0; overflow-wrap: anywhere; }
.public-product-page--figma .public-product-page__faq { padding-bottom: 56px; padding-top: 56px; }
.public-product-page--figma .public-product-page__faq h2 { margin-bottom: 24px; }
.public-product-page--figma .public-product-page__faq details { border-top: 1px solid var(--landing-line); }
.public-product-page--figma .public-product-page__faq details:last-child { border-bottom: 1px solid var(--landing-line); }
.public-product-page--figma .public-product-page__faq summary { color: var(--landing-text); cursor: pointer; display: flex; font-size: 15px; font-weight: 500; gap: 24px; justify-content: space-between; line-height: 1.35; list-style: none; padding: 20px 0; }
.public-product-page--figma .public-product-page__faq summary::-webkit-details-marker { display: none; }
.public-product-page--figma .public-product-page__faq summary::after { color: var(--landing-navy); content: '+'; flex: 0 0 auto; font-size: 21px; font-weight: 400; line-height: .8; transition: transform .2s ease; }
.public-product-page--figma .public-product-page__faq details[open] summary::after { transform: rotate(45deg); }
.public-product-page--figma .public-product-page__faq details p { color: #5C5750; font-size: 14px; line-height: 1.65; margin: 0; padding: 0 40px 20px 0; }
.public-product-page--figma .public-product-page__access { background: #152f52; color: #F5F0E8; padding-bottom: 56px; padding-top: 56px; }
.public-product-page--figma .public-product-page__access .public-product-page__eyebrow { color: var(--landing-sage); margin-bottom: 12px; }
.public-product-page--figma .public-product-page__access h2 { color: #F5F0E8; }
.public-product-page--figma .public-product-page__access-intro { margin-bottom: 36px; }
.public-product-page--figma .public-product-page__access-unavailable { color: #B8C8D8; margin: 0; }
.public-product-page--figma .public-product-page__options { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); margin: 0; }
.public-product-page--figma .public-product-page__access.is-single .public-product-page__options { max-width: 540px; }
.public-product-page--figma .public-product-page__option { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.2); border-radius: 16px; color: #F5F0E8; display: flex; flex-direction: column; min-height: 300px; padding: 28px; }
.public-product-page--figma .public-product-page__option-label { color: #8A9CB0; font-size: 11px; letter-spacing: .1em; margin: 0 0 20px; text-transform: uppercase; }
.public-product-page--figma .public-product-page__option strong { color: #F5F0E8; font-family: "DM Serif Display", Georgia, serif; font-size: 42px; font-weight: 400; line-height: 1; }
.public-product-page--figma .public-product-page__option-duration { color: #B8C8D8; font-size: 13px; line-height: 1.5; margin: 18px 0 0; }
.public-product-page--figma .public-product-page__option-scope { color: #B8C8D8; font-size: 13px; line-height: 1.5; margin: 8px 0 28px; }
.public-product-page--figma .public-product-page__option-action { align-self: stretch; background: transparent; border-color: rgba(255,255,255,.35); color: #E8F0F8; font-size: 13px; margin-top: auto; padding: 12px 20px; }
.public-product-page--figma .public-product-page__option-action:hover, .public-product-page--figma .public-product-page__option-action:focus-visible { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.35); }
.public-product-page--figma .public-product-page__option-action.is-disabled, .public-product-page--figma .public-product-page__secondary-cta.is-disabled { align-items: center; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: #B8C8D8; display: inline-flex; font-size: 13px; justify-content: center; padding: 12px 20px; }
.public-product-page--figma .public-product-page__final-cta { border-bottom: 1px solid var(--landing-line); padding-bottom: 48px; padding-top: 48px; }
.public-product-page--figma .public-product-page__final-cta > .public-product-page__container > div { align-items: center; display: flex; gap: 24px; justify-content: space-between; }
.public-product-page--figma .public-product-page__final-cta p { color: var(--landing-text); font-family: "DM Serif Display", Georgia, serif; font-size: 26px; line-height: 1.1; margin: 0; }
.public-product-page--figma .public-product-page__sticky-cta { backdrop-filter: blur(12px); background: rgba(245,240,232,.96); border-top: 1px solid var(--landing-line); bottom: 0; display: none; left: 0; padding: 12px max(16px, env(safe-area-inset-left)) calc(12px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-right)); position: fixed; right: 0; z-index: 25; }
.public-product-page--figma .public-product-page__sticky-cta a { background: var(--landing-navy); border-radius: 999px; color: #F5F0E8; display: block; font-size: 14px; font-weight: 500; padding: 14px 20px; text-align: center; text-decoration: none; }
.product-landing-footer { background: var(--landing-light); border-color: #E0DBD0; }
.product-landing-footer__inner { max-width: 1120px; padding-bottom: 28px; padding-top: 28px; }
.product-landing-footer__brand { align-items: center; color: #1f2937; display: inline-flex; font-family: Inter, system-ui, sans-serif; font-size: 14px; font-weight: 500; gap: 8px; }
.product-landing-footer__brand span { align-items: center; background: #1e3a5f; border-radius: 50%; color: #F5F0E8; display: inline-flex; font-size: 10px; height: 22px; justify-content: center; width: 22px; }
.product-landing-footer nav a, .product-landing-footer small { color: #6B7570; font-size: 12px; }
@media (max-width: 767px) {
    .product-landing-header__inner { padding-left: 16px; padding-right: 16px; }
    .product-landing-header__cta { font-size: 13px; padding: 8px 15px; }
    .public-product-page--figma { padding-bottom: 72px; }
    .public-product-page--figma .public-product-page__container, .public-product-page--figma .public-product-page__hero, .public-product-page--figma .public-product-page__narrow { padding-left: 16px; padding-right: 16px; }
    .public-product-page--figma .public-product-page__preview { align-items: flex-start; flex-direction: column; padding: 12px 16px; }
    .public-product-page--figma .public-product-page__hero { padding-bottom: 48px; padding-top: 40px; }
    .public-product-page--figma h1 { font-size: clamp(38px, 11vw, 48px); }
    .public-product-page--figma .public-product-page__subtitle { font-size: 16px; }
    .public-product-page--figma .public-product-page__hero-actions { align-items: stretch; display: grid; gap: 16px; grid-template-columns: 1fr; }
    .public-product-page--figma .public-product-page__primary-cta { width: 100%; }
    .public-product-page--figma .public-product-page__details-link { justify-self: center; }
    .public-product-page--figma .public-product-page__recognition-copy, .public-product-page--figma .public-product-page__program-list { grid-template-columns: 1fr; }
    .public-product-page--figma .public-product-page__recognition-copy > *, .public-product-page--figma .public-product-page__recognition-copy > *:nth-child(even) { border-left: 0; padding-left: 28px; padding-right: 0; }
    .public-product-page--figma .public-product-page__recognition-copy > *:nth-child(even)::before { left: 0; }
    .public-product-page--figma .public-product-page__editorial, .public-product-page--figma .public-product-page__media, .public-product-page--figma .public-product-page__authors, .public-product-page--figma .public-product-page__faq { padding-bottom: 48px; padding-top: 48px; }
    .public-product-page--figma .public-product-page__editorial blockquote { font-size: 20px; }
    .public-product-page--figma .public-product-page__media-grid { gap: 24px; grid-template-columns: 1fr; }
    .public-product-page--figma .public-product-page__section-heading { align-items: start; flex-direction: column; gap: 12px; }
    .public-product-page--figma .public-product-page__program-list article:nth-child(even) { border-left: 0; padding-left: 0; }
    .public-product-page--figma .public-product-page__program-list article { padding-right: 0; }
    .public-product-page--figma .public-product-page__author { gap: 12px; }
    .public-product-page--figma .public-product-page__author-mark { aspect-ratio: 16 / 9; max-width: 100%; }
    .public-product-page--figma .public-product-page__options, .public-product-page--figma .public-product-page__access.is-single .public-product-page__options { grid-template-columns: 1fr; max-width: none; }
    .public-product-page--figma .public-product-page__option { min-height: 0; }
    .public-product-page--figma .public-product-page__final-cta > .public-product-page__container > div { align-items: stretch; flex-direction: column; }
    .public-product-page--figma .public-product-page__sticky-cta { display: block; }
    .product-landing-footer__inner { padding: 24px 16px calc(24px + env(safe-area-inset-bottom)); }
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: var(--color-background);
    color: var(--color-text);
    font-family: var(--font-family-base);
    line-height: var(--line-height-body);
}

html {
    scroll-behavior: smooth;
}

[data-browser-push-toggle][hidden] {
    display: none !important;
}

a {
    color: inherit;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    box-shadow: 0 0 0 3px rgba(30, 58, 95, .28);
    outline: 2px solid transparent;
    outline-offset: 2px;
}

.skip-link {
    align-items: center;
    display: inline-flex;
    left: var(--space-3);
    min-height: 44px;
    position: absolute;
    top: -4rem;
}

.skip-link:focus {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    padding: var(--space-2) var(--space-3);
    top: var(--space-3);
    z-index: 100;
}

.site-header,
.site-footer {
    background: var(--color-surface);
    border-color: var(--color-border);
}

.site-header {
    background: rgba(252, 251, 248, .96);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid #e7ded2;
    inset: 0 0 auto;
    line-height: 1.5;
    position: fixed;
    z-index: 50;
}

.site-header__inner,
.site-footer__inner {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin: 0 auto;
    max-width: var(--container-wide);
    padding: var(--space-3) var(--space-4);
}

.site-header__inner {
    gap: 0;
    height: 64px;
    max-width: 1280px;
    padding: 0 clamp(20px, 4vw, 48px);
    flex-wrap: nowrap;
    justify-content: space-between;
}

.site-brand {
    align-items: center;
    display: inline-flex;
    font-weight: var(--font-weight-bold);
    min-height: 44px;
    text-decoration: none;
}

.site-brand--header {
    color: #222831;
    flex: 0 0 auto;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -.01em;
    margin-right: auto;
    min-height: 0;
    text-decoration: none;
}

.site-brand--monogram {
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.site-brand--monogram img {
    display: block;
    height: 36px;
    width: 36px;
}

.site-nav,
.site-actions,
.site-footer__nav {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.site-nav,
.site-actions {
    align-items: center;
}

.site-nav {
    gap: 24px;
    margin-left: 0;
    margin-right: 28px;
}

.site-actions {
    gap: 18px;
    margin-right: 0;
}

.site-nav--desktop,
.site-actions {
    flex-wrap: nowrap;
}

.site-nav__group {
    align-items: center;
    display: inline-flex;
    position: relative;
}

.site-nav__dropdown summary {
    align-items: center;
    appearance: none;
    background: transparent;
    border: 0;
    border-radius: 0;
    color: #6e6b66;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: 13px;
    font-weight: var(--font-weight-regular);
    gap: 4px;
    list-style: none;
    min-height: 0;
    padding: 0;
    white-space: nowrap;
}

.site-nav__dropdown summary::-webkit-details-marker {
    display: none;
}

.site-nav__dropdown summary::after {
    background: currentColor;
    content: '';
    height: 10px;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 3.5L5 6.5L8 3.5' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px 10px no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 3.5L5 6.5L8 3.5' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px 10px no-repeat;
    width: 10px;
}

.site-nav__dropdown[open] summary::after {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 6.5L5 3.5L8 6.5' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 6.5L5 3.5L8 6.5' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.site-nav__dropdown-panel {
    background: #fcfbf8;
    border: 1px solid #e7ded2;
    border-radius: 12px;
    box-shadow: 0 8px 28px rgba(34, 40, 49, .09);
    display: block;
    min-width: 210px;
    padding: 5px;
    position: absolute;
    right: 0;
    top: calc(100% + 10px);
    z-index: 60;
}

.site-nav__dropdown-panel a {
    border-radius: 8px;
    color: #222831;
    display: block;
    font-size: 13px;
    min-height: 0;
    padding: 9px 12px;
    text-decoration: none;
}

.site-nav__dropdown-panel .site-nav__dropdown-item--group-start {
    margin-top: .5rem;
}

.site-mobile-menu__child {
    border-radius: var(--radius-sm);
    min-height: 44px;
    padding: .55rem .8rem;
    text-decoration: none;
}

.site-mobile-menu__child--group-start {
    margin-top: .65rem;
}

.site-nav__dropdown-panel a:hover,
.site-nav__dropdown-panel a:focus-visible,
.site-mobile-menu__child:hover,
.site-mobile-menu__child:focus-visible,
.site-mobile-menu__child.is-active {
    background: #f5f1eb;
}

.site-footer__inner {
    align-items: start;
    display: grid;
    gap: var(--space-5);
    grid-template-columns: 1fr;
}

.site-nav__item {
    border-radius: 0;
    color: #6e6b66;
    font-size: 13px;
    font-weight: var(--font-weight-regular);
    min-height: 0;
    padding: 0;
    text-decoration: none;
    white-space: nowrap;
}

.site-nav__item:hover,
.site-nav__item:focus-visible {
    background: transparent;
    color: #222831;
}

.site-nav__item--primary {
    background: var(--color-action);
    border-radius: var(--radius-pill);
    color: white;
    font-size: 13px;
    font-weight: var(--font-weight-medium);
    min-height: 0;
    padding: 10px 20px;
    align-items: center;
    display: inline-flex;
}

.site-nav__item--primary:hover,
.site-nav__item--primary:focus-visible {
    background: var(--color-action-hover);
    color: white;
}

.site-mobile-menu {
    display: none;
}

.site-mobile-menu > summary {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    cursor: pointer;
    list-style: none;
    min-height: 44px;
    padding: .55rem .9rem;
}

.site-mobile-menu > summary::-webkit-details-marker {
    display: none;
}

.site-mobile-menu__overlay {
    background: rgba(31, 41, 55, .45);
    border: 0;
    cursor: pointer;
    inset: 0;
    opacity: 0;
    padding: 0;
    position: fixed;
    transition: opacity .2s ease, visibility .2s ease;
    visibility: hidden;
    z-index: 29;
}

.site-mobile-menu__drawer {
    background: var(--color-surface);
    box-shadow: var(--shadow-md);
    display: flex;
    flex-direction: column;
    gap: .82rem;
    height: 100dvh;
    max-width: 30rem;
    overflow-x: hidden;
    overflow-y: auto;
    padding: var(--space-3);
    position: fixed;
    right: 0;
    top: 0;
    transform: translateX(100%);
    transition: transform .2s ease;
    width: min(90vw, 30rem);
    z-index: 30;
}

.site-mobile-menu[open] .site-mobile-menu__overlay {
    opacity: 1;
    visibility: visible;
}

.site-mobile-menu[open] .site-mobile-menu__drawer {
    transform: translateX(0);
}

.site-mobile-menu__drawer-header {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.site-mobile-menu__title {
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-medium);
    margin: 0;
}

.site-mobile-menu__close {
    align-items: center;
    background: transparent;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    color: var(--color-text);
    cursor: pointer;
    display: inline-flex;
    font-size: 1.5rem;
    justify-content: center;
    min-height: 44px;
    min-width: 44px;
    padding: 0;
}

.site-mobile-menu__links,
.site-mobile-menu__actions,
.site-mobile-menu__accordion-panel {
    display: grid;
    gap: .42rem;
}

.site-mobile-menu__links {
    flex: 1 0 auto;
}

.site-mobile-menu__actions {
    border-top: 1px solid var(--color-border);
    margin-top: auto;
    padding-top: var(--space-2);
}

.site-mobile-menu__actions .site-nav__item {
    text-align: center;
}

.site-mobile-menu__actions .site-nav__item--primary {
    background: var(--color-action);
    color: white;
    opacity: 1;
}

.site-mobile-menu__drawer .site-nav__item {
    width: 100%;
}

.site-mobile-menu__links .site-nav__item,
.site-mobile-menu__accordion-panel .site-mobile-menu__child {
    align-items: center;
    display: flex;
    justify-content: center;
    padding-inline: .75rem;
    text-align: center;
}

.site-mobile-menu__accordion {
    border: 0;
}

.site-mobile-menu__accordion summary {
    align-items: center;
    appearance: none;
    background: transparent;
    border: 0;
    color: inherit;
    cursor: pointer;
    display: flex;
    font: inherit;
    gap: .15rem;
    justify-content: center;
    list-style: none;
    width: 100%;
}

.site-mobile-menu__accordion summary::-webkit-details-marker {
    display: none;
}

.site-mobile-menu__accordion summary::after {
    content: '+';
    font-size: .95rem;
    line-height: 1;
}

.site-mobile-menu__accordion[open] summary::after {
    content: '−';
}

.site-mobile-menu__accordion-panel {
    margin-left: .75rem;
    padding-top: .08rem;
}

.site-mobile-menu__accordion-panel .site-mobile-menu__child {
    justify-content: flex-start;
    padding-left: .85rem;
    text-align: left;
}

html.mobile-menu-open,
html.mobile-menu-open body {
    overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
    .site-mobile-menu__overlay,
    .site-mobile-menu__drawer {
        transition: none;
    }
}

.site-footer__brand {
    display: grid;
    gap: var(--space-2);
    max-width: 34rem;
}

.site-footer__brand .caption {
    margin: 0;
}

.site-footer__group {
    display: grid;
    gap: var(--space-2);
}

.site-footer__heading {
    color: var(--color-text);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    margin: 0;
}

.site-footer__nav {
    display: grid;
    gap: var(--space-1);
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-footer__nav a {
    align-items: center;
    border-radius: var(--radius-sm);
    display: inline-flex;
    min-height: 44px;
    padding: .45rem .55rem;
    text-decoration: none;
}

.site-footer__nav a:hover,
.site-footer__nav a:focus-visible {
    background: var(--color-surface-muted);
}

.site-footer__bottom {
    border-top: 1px solid var(--color-border);
    color: var(--color-text-secondary);
    font-size: var(--font-size-sm);
    grid-column: 1 / -1;
    margin: 0;
    padding-top: var(--space-3);
}

.page-shell {
    overflow: hidden;
    padding-top: 64px;
}

.section {
    background: var(--color-surface);
    margin: 0 auto;
    max-width: var(--container);
    padding: var(--space-7) var(--space-4);
}

.public-section__inner {
    display: grid;
    gap: var(--space-5);
}

.section--compact {
    padding-block: var(--space-6);
}

.section--hero {
    display: grid;
    gap: var(--space-6);
    min-height: calc(82svh - 4.75rem);
    padding-bottom: var(--space-6);
    padding-top: var(--space-6);
}

.public-section {
    display: grid;
    gap: var(--space-5);
    position: relative;
}

.public-section--muted {
    background: var(--color-surface-subtle);
    box-shadow: 50vw 0 0 var(--color-surface-subtle), -50vw 0 0 var(--color-surface-subtle);
}

.public-section--direction {
    background: var(--color-surface-muted);
    box-shadow: 50vw 0 0 var(--color-surface-muted), -50vw 0 0 var(--color-surface-muted);
}

.section--centered {
    text-align: center;
}

.section-header {
    display: grid;
    gap: var(--space-2);
    max-width: var(--container-narrow);
}

.section-header--centered {
    justify-self: center;
    text-align: center;
}

.section-header h2,
.section-header .lead {
    margin-bottom: 0;
}

.two-column {
    display: grid;
    gap: var(--space-5);
}

.two-column__main {
    display: grid;
    gap: var(--space-3);
}

.two-column__aside {
    background: var(--color-surface-muted);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: var(--space-4);
}

.two-column__media,
.ds-hero__media {
    margin: 0;
}

.two-column__media img,
.ds-hero__media img {
    display: block;
    height: auto;
    max-width: 100%;
    object-fit: cover;
    width: 100%;
}

.two-column__media img {
    aspect-ratio: 3 / 4;
    border-radius: var(--radius-md);
}

.ds-hero__content {
    align-content: center;
    display: grid;
    gap: var(--space-3);
}

.ds-hero__content > * {
    margin-bottom: 0;
}

.ds-hero--home {
    background: var(--color-surface);
    gap: 0;
    max-width: none;
    padding: 0;
}

.ds-hero--home .ds-hero__content {
    align-content: center;
    gap: var(--space-4);
    margin-left: auto;
    max-width: none;
    padding-bottom: clamp(4rem, 7vw, 6.5rem);
    padding-left: clamp(2rem, 11.1vw, 10rem);
    padding-right: clamp(2rem, 5vw, 5rem);
    padding-top: clamp(4rem, 8vw, 7.5rem);
    width: 100%;
}

.ds-hero--home .eyebrow {
    color: var(--color-primary);
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-medium);
    text-transform: none;
}

.ds-hero--home h1 {
    font-size: clamp(2.75rem, 4.3vw, 4rem);
    font-weight: var(--font-weight-regular);
    letter-spacing: 0;
    max-width: 11ch;
}

.ds-hero--home .lead {
    font-size: var(--font-size-lg);
    line-height: 1.7;
    max-width: 38ch;
}

.ds-hero--home .button-row {
    margin-top: var(--space-1);
}

.ds-hero--home .ds-hero__media {
    align-self: stretch;
    background: #ede8e0;
    display: flex;
    justify-content: center;
    margin: 0;
    min-height: clamp(38rem, 60vw, 52rem);
    overflow: hidden;
    padding: clamp(2rem, 4vw, 3.5rem) clamp(1.5rem, 3vw, 3rem) 0;
}

.ds-hero--home .ds-hero__media::after {
    display: none;
}

.ds-hero--home .ds-hero__media img {
    aspect-ratio: auto;
    border-radius: var(--radius-md) var(--radius-md) 0 0;
    height: auto;
    max-height: 100%;
    max-width: min(100%, 31rem);
    object-fit: cover;
    object-position: 50% 20%;
    width: auto;
}

.home-recognition {
    background: #ede8e0;
    box-shadow: 50vw 0 0 #ede8e0, -50vw 0 0 #ede8e0;
    padding-bottom: clamp(3rem, 6vw, 5rem);
    padding-top: clamp(3rem, 6vw, 5rem);
}

.home-recognition__eyebrow {
    color: var(--color-highlight);
    margin: 0 0 var(--space-4);
    max-width: 42rem;
}

.home-recognition__thoughts {
    display: grid;
    max-width: 42rem;
}

.home-recognition__thought {
    border-top: 1px solid #ded4c8;
    color: var(--color-text);
    font-size: var(--font-size-lg);
    font-style: italic;
    font-weight: var(--font-weight-regular);
    line-height: 1.58;
    margin: 0;
    padding-block: 1.05rem;
}

.home-recognition__thought:last-child {
    border-bottom: 1px solid #ded4c8;
}

.home-find,
.home-story {
    gap: clamp(2rem, 4vw, 3.5rem);
}

.home-find__header,
.home-story__header {
    display: grid;
    gap: var(--space-2);
    max-width: 44rem;
}

.home-find__header .eyebrow,
.home-story__header .eyebrow {
    color: var(--color-highlight);
    margin-bottom: 0;
}

.home-find__outcomes {
    border-bottom: 1px solid #ded4c8;
    counter-reset: outcome;
    display: grid;
    list-style: none;
    margin: 0;
    max-width: 62rem;
    padding: 0;
}

.home-find__outcomes li {
    align-items: baseline;
    border-top: 1px solid #ded4c8;
    color: var(--color-text);
    display: grid;
    font-size: var(--font-size-md);
    gap: var(--space-3);
    grid-template-columns: 1.75rem minmax(0, 1fr);
    line-height: 1.65;
    padding: 1.1rem 0;
}

.home-find__outcomes li::before {
    color: var(--color-highlight);
    content: counter(outcome, decimal-leading-zero);
    counter-increment: outcome;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    letter-spacing: .08em;
}

.home-story {
    background: #f5f1eb;
    box-shadow: 50vw 0 0 #f5f1eb, -50vw 0 0 #f5f1eb;
}

.home-story__chapters {
    counter-reset: story;
    display: grid;
    gap: clamp(3rem, 6vw, 5rem);
    padding-left: clamp(1.5rem, 4vw, 3.5rem);
    position: relative;
}

.home-story__chapters::before {
    background: rgba(168, 95, 69, .22);
    bottom: .5rem;
    content: "";
    left: 0;
    position: absolute;
    top: .5rem;
    width: 1px;
}

.home-story__chapter {
    counter-increment: story;
    display: grid;
    gap: clamp(1.5rem, 3vw, 3rem);
    position: relative;
}

.home-story__chapter::before {
    color: var(--color-highlight);
    content: counter(story, upper-roman);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    left: calc(-1 * clamp(1.5rem, 4vw, 3.5rem));
    letter-spacing: .16em;
    position: absolute;
    top: .25rem;
}

.home-story__copy {
    display: grid;
    gap: var(--space-2);
    max-width: 43rem;
}

.home-story__copy h3,
.home-story__copy p {
    margin: 0;
}

.home-story__copy h3 {
    font-size: clamp(1.5rem, 2.3vw, 2rem);
    font-weight: var(--font-weight-regular);
    letter-spacing: 0;
    line-height: var(--line-height-heading);
    margin-bottom: var(--space-1);
}

.home-story__copy p {
    color: var(--color-text-secondary);
    max-width: 66ch;
}

.home-story__emphasis {
    color: var(--color-text);
    font-size: var(--font-size-lg);
    font-style: italic;
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
    padding-top: var(--space-2);
}

.home-story__portrait {
    align-self: center;
    background: #ede8e0;
    border-radius: var(--radius-md);
    margin: 0;
    max-width: 20rem;
    overflow: hidden;
}

.home-story__portrait img {
    aspect-ratio: 4 / 5;
    border-radius: 0;
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: 50% 35%;
    width: 100%;
}

.home-story__certificates {
    align-self: start;
    display: grid;
    gap: var(--space-2);
    grid-auto-columns: minmax(15rem, 17.5rem);
    grid-auto-flow: column;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding-bottom: var(--space-2);
    scroll-snap-type: inline mandatory;
}

.home-story__certificate {
    background: var(--color-surface);
    border: 1px solid #ded4c8;
    border-radius: var(--radius-md);
    margin: 0;
    overflow: hidden;
    scroll-snap-align: start;
}

.home-story__certificate img {
    display: block;
    height: 14rem;
    object-fit: contain;
    width: 100%;
}

.public-section--home-start {
    background: var(--color-surface);
    box-shadow: none;
}

.public-section--home-start .section-header {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    max-width: none;
}

.public-section--home-start .section-header .eyebrow {
    color: var(--color-highlight);
    order: 2;
}

.public-section--home-start .section-header h2 {
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: var(--font-weight-regular);
}

.public-section--home-start .section-header .lead {
    flex-basis: 100%;
    max-width: 42rem;
}

.public-section--home-start .grid--cards {
    gap: .75rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.card--home-start {
    background: var(--color-surface);
    border-color: #ded4c8;
    border-radius: var(--radius-md);
    min-height: 100%;
    padding: 1.5rem 1.3rem;
}

.card--home-start:hover {
    background: #ede8e0;
    border-color: #d4c8b8;
    transform: none;
}

.card--home-start .card__meta {
    color: var(--color-highlight);
    font-size: var(--font-size-xs);
    letter-spacing: .08em;
}

.card--home-start .card__title {
    font-size: var(--font-size-md);
    line-height: 1.4;
}

.card--home-start .card__body {
    font-size: var(--font-size-sm);
    line-height: 1.7;
}

.card--home-start .card__action {
    margin-top: auto;
}

.card--home-start:first-child {
    background: var(--color-primary);
    border-color: var(--color-primary);
}

.card--home-start:first-child .card__title {
    color: var(--color-surface);
}

.card--home-start:first-child .card__body {
    color: rgba(255, 255, 255, .72);
}

.card--home-start:first-child .card__meta {
    color: #d8a58b;
}

.card--home-start:first-child .button {
    background: transparent;
    border-color: rgba(255, 255, 255, .42);
    color: var(--color-surface);
}

.card--home-start:first-child .button:hover,
.card--home-start:first-child .button:focus-visible {
    background: rgba(255, 255, 255, .12);
}

.ds-hero__media {
    align-self: center;
    position: relative;
}

.ds-hero__media::after {
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-md);
    bottom: -1rem;
    content: "";
    left: 1rem;
    position: absolute;
    right: -1rem;
    top: 1rem;
    z-index: -1;
}

.ds-hero__media img {
    aspect-ratio: 3 / 4;
    border-radius: var(--radius-md);
}

.check-list {
    display: grid;
    gap: var(--space-2);
    list-style: none;
    margin: 0;
    padding: 0;
}

.check-list li {
    border-bottom: 1px solid var(--color-border);
    padding-block: var(--space-2);
}

.process-list {
    display: grid;
    gap: var(--space-3);
    list-style: none;
    margin: 0;
    padding: 0;
}

.process-step {
    align-items: start;
    border-top: 1px solid var(--color-border);
    display: grid;
    gap: var(--space-3);
    grid-template-columns: auto 1fr;
    padding-top: var(--space-3);
}

.process-step__number {
    color: var(--color-text-secondary);
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    min-width: 3rem;
}

.process-step h3,
.process-step p {
    margin-bottom: var(--space-1);
}

.eyebrow {
    color: var(--color-highlight);
    font-weight: 700;
    margin: 0 0 var(--space-2);
    text-transform: uppercase;
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

h1 {
    font-size: var(--font-size-3xl);
    line-height: var(--line-height-tight);
    max-width: 12ch;
}

h2 {
    font-size: var(--font-size-2xl);
    line-height: var(--line-height-heading);
}

h3 {
    font-size: var(--font-size-xl);
    line-height: var(--line-height-heading);
}

.lead {
    color: var(--color-text-secondary);
    font-size: 1.25rem;
    max-width: 64ch;
}

.text-small,
.caption {
    color: var(--color-text-secondary);
    font-size: var(--font-size-sm);
}

.grid {
    display: grid;
    gap: var(--space-3);
}

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

.card {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    padding: var(--space-4);
    transition: border-color var(--motion-base), box-shadow var(--motion-base), transform var(--motion-base);
}

.card:hover {
    border-color: var(--color-border-strong);
    box-shadow: var(--shadow-xs);
    transform: translateY(-1px);
}

.card--quiet {
    background: var(--color-surface-subtle);
}

.card--direction {
    background: var(--color-surface);
    border-top: 3px solid var(--color-accent);
}

.card__meta {
    color: var(--color-text-secondary);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    margin: 0;
}

.card__title {
    margin-bottom: 0;
}

.card__body {
    color: var(--color-text-secondary);
}

.card__action {
    margin-top: auto;
}

.button {
    align-items: center;
    border: 1px solid transparent;
    border-radius: var(--radius-pill);
    display: inline-flex;
    font-weight: var(--font-weight-medium);
    justify-content: center;
    min-height: 44px;
    padding: .75rem 1.1rem;
    text-decoration: none;
    transition: background-color var(--motion-base), border-color var(--motion-base), box-shadow var(--motion-base), color var(--motion-base), transform var(--motion-base);
}

.button--large {
    min-height: 48px;
    padding: .85rem 1.3rem;
}

.button--medium {
    min-height: 44px;
    padding: .75rem 1.1rem;
}

.button--small {
    min-height: 36px;
    padding: .45rem .8rem;
}

.button--primary {
    background: var(--color-action);
    color: white;
}

.button:not(.button--primary):not(.button--secondary):not(.button--ghost):not(.button--danger),
.button--secondary {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    color: var(--color-text);
}

.button--ghost {
    background: transparent;
    color: var(--color-text-secondary);
}

.button--danger {
    background: var(--color-error);
    color: white;
}

.button--primary:hover,
.button--primary:focus-visible,
.button--primary:active {
    background: var(--color-action-hover);
    color: white;
    transform: translateY(-1px);
}

.button:not(.button--primary):not(.button--secondary):not(.button--ghost):not(.button--danger):hover,
.button:not(.button--primary):not(.button--secondary):not(.button--ghost):not(.button--danger):focus-visible,
.button:not(.button--primary):not(.button--secondary):not(.button--ghost):not(.button--danger):active,
.button--secondary:hover,
.button--secondary:focus-visible,
.button--secondary:active {
    background: var(--color-surface-muted);
    border-color: var(--color-border-strong);
    color: var(--color-text);
    transform: translateY(-1px);
}

.button--ghost:hover,
.button--ghost:focus-visible,
.button--ghost:active {
    background: var(--color-surface-muted);
    color: var(--color-text);
    transform: translateY(-1px);
}

.button--danger:hover,
.button--danger:focus-visible,
.button--danger:active {
    background: #b91c1c;
    color: white;
    transform: translateY(-1px);
}

.button[aria-disabled="true"],
.button.is-loading {
    opacity: .55;
    pointer-events: none;
}

.button-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.form,
.field {
    display: grid;
    gap: var(--space-2);
}

.field__input {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    color: var(--color-text);
    font: inherit;
    min-height: 44px;
    padding: .75rem;
    transition: border-color var(--motion-base), box-shadow var(--motion-base);
    width: 100%;
}

.field__input:focus-visible {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(30, 58, 95, .2);
    outline: 0;
}

.field__input:disabled {
    background: var(--color-surface-muted);
    color: var(--color-muted);
    cursor: not-allowed;
}

.field__input--textarea {
    min-height: 8rem;
    resize: vertical;
}

.field--checkbox {
    align-items: center;
    display: flex;
    gap: var(--space-2);
}

.field--checkbox .field__input,
.field__choice .field__input {
    min-height: auto;
    width: 1.1rem;
}

.field--radio {
    border: 0;
    margin: 0;
    min-inline-size: 0;
    padding: 0;
}

.field--radio .field__label {
    padding: 0;
}

.field__choices {
    display: grid;
    gap: var(--space-1);
}

.field__choice {
    align-items: center;
    display: inline-flex;
    gap: var(--space-2);
    min-height: 44px;
}

.field--filled .field__input:not([type="checkbox"]),
.field--filled .field__choice {
    background: var(--color-surface-subtle);
}

.field__hint {
    color: var(--color-muted);
    font-size: .9rem;
}

.field__error {
    color: var(--color-error);
    font-size: var(--font-size-sm);
}

.field--error .field__input,
.field__input[aria-invalid="true"] {
    border-color: var(--color-error);
}

.password-field {
    display: block;
    position: relative;
}

.password-field > input {
    padding-inline-end: 3.5rem;
}

.password-field__toggle {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: var(--radius-sm);
    color: var(--color-muted);
    cursor: pointer;
    display: inline-flex;
    height: 44px;
    justify-content: center;
    padding: 0;
    position: absolute;
    right: .125rem;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
}

.password-field__toggle:hover {
    color: var(--color-text);
}

.password-field__toggle:focus-visible {
    box-shadow: 0 0 0 3px rgba(30, 58, 95, .2);
    outline: 0;
}

.password-field__icon {
    height: 1.2rem;
    pointer-events: none;
    width: 1.2rem;
}

.password-field__icon--hide,
.password-field[data-password-visible="true"] .password-field__icon--show {
    display: none;
}

.password-field[data-password-visible="true"] .password-field__icon--hide {
    display: block;
}

.phone-input {
    align-items: stretch;
    display: grid;
    gap: var(--space-2);
    grid-template-columns: minmax(9.5rem, .78fr) minmax(0, 1.22fr);
}

.phone-input__country {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.phone-input__number {
    min-width: 0;
}

.field--error .phone-input__country,
.field--error .phone-input__number {
    border-color: var(--color-error);
}

@media (max-width: 30rem) {
    .phone-input {
        grid-template-columns: minmax(0, 1fr);
    }
}

.alert,
.validation-summary {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    padding: var(--space-3);
}

.alert--success {
    background: var(--color-success-surface);
    border-color: #b9d8c6;
    color: var(--color-success);
}

.alert--info {
    background: var(--color-info-surface);
    border-color: #c7dce8;
    color: var(--color-info);
}

.alert--warning {
    background: var(--color-warning-surface);
    border-color: #ead4a8;
    color: var(--color-warning);
}

.alert--error,
.validation-summary {
    background: var(--color-error-surface);
    border-color: #fecaca;
    color: var(--color-error);
}

.badge {
    align-items: center;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    display: inline-flex;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    min-height: 1.75rem;
    padding: .2rem .65rem;
}

.badge--success {
    background: var(--color-success-surface);
    border-color: #b9d8c6;
    color: var(--color-success);
}

.badge--warning {
    background: var(--color-warning-surface);
    border-color: #ead4a8;
    color: var(--color-warning);
}

.badge--error {
    background: var(--color-error-surface);
    border-color: #e6c6c6;
    color: var(--color-error);
}

.empty-state,
.feedback-state {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    display: grid;
    gap: var(--space-2);
    padding: var(--space-5);
}

.empty-state {
    background: var(--color-surface);
    text-align: center;
}

.feedback-state--success {
    background: var(--color-success-surface);
}

.feedback-state--warning {
    background: var(--color-warning-surface);
}

.feedback-state--error {
    background: var(--color-error-surface);
}

.table-wrap {
    overflow-x: auto;
}

.table {
    border-collapse: collapse;
    min-width: 100%;
}

.table th,
.table td {
    border-bottom: 1px solid var(--color-border);
    padding: var(--space-2) var(--space-3);
    text-align: left;
}

.table th {
    color: var(--color-text-secondary);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
}

.tabs,
.pagination {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.tabs__item,
.pagination__item {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    min-height: 44px;
    padding: .65rem .95rem;
    text-decoration: none;
}

.tabs__item.is-active,
.tabs__item:hover,
.tabs__item:focus-visible,
.pagination__item:hover,
.pagination__item:focus-visible {
    background: var(--color-surface-muted);
    border-color: var(--color-border-strong);
}

.pagination__item.is-disabled,
.pagination__status {
    color: var(--color-text-secondary);
}

.quote {
    border-left: 3px solid var(--color-primary);
    margin: 0;
    padding-left: var(--space-4);
}

.page-shell > .quote {
    background: var(--color-surface);
    border-bottom: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    border-right: 1px solid var(--color-border);
    border-top: 1px solid var(--color-border);
    margin-block: var(--space-5);
    padding: var(--space-6);
}

.quote blockquote {
    font-size: var(--font-size-lg);
    margin: 0;
}

.quote figcaption {
    color: var(--color-text-secondary);
    font-size: var(--font-size-sm);
    margin-top: var(--space-2);
}

.cta-block,
.ds-hero {
    justify-items: start;
}

.section--centered.cta-block {
    background: var(--color-primary);
    box-shadow: 50vw 0 0 var(--color-primary), -50vw 0 0 var(--color-primary);
    color: white;
    justify-items: center;
}

.section--centered.cta-block .lead {
    color: rgba(255, 255, 255, .78);
}

.section--centered.cta-block .button {
    background: white;
    color: var(--color-primary);
}

.faq {
    display: grid;
    gap: var(--space-4);
    margin: 0 auto;
    max-width: var(--container);
    padding: var(--space-7) var(--space-4);
}

.faq__items {
    display: grid;
    gap: var(--space-2);
}

.faq__item {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    padding: var(--space-3);
}

.faq__item summary {
    cursor: pointer;
    font-weight: var(--font-weight-bold);
    min-height: 44px;
}

.validation-summary__title {
    font-weight: 800;
    margin-bottom: var(--space-1);
}

.auth-body {
    background: #f5f1eb;
}

.auth-shell {
    align-items: center;
    display: grid;
    min-height: 100vh;
    padding: 2.5rem var(--space-4);
}

.auth-card {
    background: #fafaf8;
    border: 1px solid #d9d4cb;
    border-radius: 9px;
    box-shadow: 0 1.25rem 3.5rem rgba(27, 25, 22, .08);
    display: grid;
    gap: 1.15rem;
    margin: 0 auto;
    max-width: 34rem;
    padding: 2rem;
    width: 100%;
}

.auth-card__brand {
    color: #1b1916;
    font-family: "Lora", Georgia, serif;
    font-size: 1.05rem;
    font-weight: 600;
    text-decoration: none;
}

.auth-card > .eyebrow {
    color: #a86a4a;
    font-size: .6875rem;
    font-weight: 600;
    letter-spacing: .08em;
    margin: .25rem 0 -.45rem;
}

.auth-card h1 {
    color: #1b1916;
    font-family: "Lora", Georgia, serif;
    font-size: 2.25rem;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.16;
    margin: 0;
    max-width: 14ch;
}

.auth-card > .lead {
    color: #6e6b66;
    font-size: .95rem;
    line-height: 1.65;
    margin: -.35rem 0 .15rem;
    max-width: 42ch;
}

.auth-card .form {
    gap: .85rem;
}

.auth-card .field {
    gap: .4rem;
}

.auth-card .field__label {
    color: #3d3934;
    font-size: .875rem;
    font-weight: 500;
}

.auth-card .field__input {
    background: #fffdfa;
    border-color: #d9d4cb;
    border-radius: 6px;
    min-height: 42px;
    padding: .65rem .75rem;
}

.auth-card .form > .button--primary,
.auth-card .auth-google-button,
.auth-card .auth-telegram-button {
    border-radius: 6px;
    min-height: 42px;
}

.auth-card .form > .button--primary {
    background: #1c2b4a;
}

.auth-card .form > .button--primary:hover,
.auth-card .form > .button--primary:focus-visible {
    background: #273b63;
}

.auth-card .button--secondary {
    background: transparent;
    border-color: #d9d4cb;
    color: #1b1916;
}

.auth-card .button--secondary:hover,
.auth-card .button--secondary:focus-visible {
    background: #edebe5;
    border-color: #c6bfb5;
    color: #1b1916;
}

.auth-oauth-divider {
    align-items: center;
    color: #8d867d;
    display: flex;
    font-size: .8125rem;
    gap: .75rem;
    margin: -.1rem 0;
}

.auth-oauth-divider::before,
.auth-oauth-divider::after {
    background: #d9d4cb;
    content: "";
    height: 1px;
    flex: 1;
}

.auth-google-button,
.auth-telegram-button {
    width: 100%;
}

.auth-card--telegram-handoff {
    max-width: 28rem;
}

.auth-card--telegram-handoff h1 {
    font-size: clamp(2rem, 8vw, 3rem);
}

@media (max-width: 30rem) {
    .auth-shell {
        align-items: start;
        min-height: auto;
        padding: 1rem;
    }

    .auth-card {
        gap: .9rem;
        padding: 1.25rem;
    }

    .auth-card__brand {
        font-size: 1rem;
    }

    .auth-card > .eyebrow {
        font-size: .625rem;
        margin: .15rem 0 -.3rem;
    }

    .auth-card h1 {
        font-size: 1.75rem;
        line-height: 1.2;
    }

    .auth-card > .lead {
        font-size: .9rem;
        line-height: 1.55;
        margin: -.2rem 0 .1rem;
    }

    .auth-card .form {
        gap: .75rem;
    }

    .auth-card .field__input,
    .auth-card .form > .button--primary,
    .auth-card .auth-google-button,
    .auth-card .auth-telegram-button {
        min-height: 40px;
    }

    .auth-card--telegram-handoff {
        gap: var(--space-2);
        padding: 1.25rem;
    }
}

.auth-recovery-options {
    border-block: 1px solid var(--color-border);
    display: grid;
}

.auth-recovery-option {
    display: grid;
    gap: .65rem;
    padding: 1.1rem 0;
}

.auth-recovery-option + .auth-recovery-option {
    border-top: 1px solid var(--color-border);
}

.auth-recovery-option h2,
.auth-recovery-option p {
    margin: 0;
}

.auth-recovery-option h2 {
    color: #1b1916;
    font-family: "Lora", Georgia, serif;
    font-size: 1.1rem;
    font-weight: 500;
}

.auth-recovery-option p {
    color: #6e6b66;
    font-size: .9rem;
    line-height: 1.55;
}

.auth-recovery-option .button {
    justify-self: start;
}

.auth-links {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .9rem;
    justify-content: center;
}

.auth-links a {
    color: #6e6b66;
    font-size: .875rem;
    min-height: 36px;
    padding-block: .4rem;
}

.auth-links__home {
    flex-basis: 100%;
    justify-content: center;
}

@media (prefers-reduced-motion: reduce) {
    * {
        scroll-behavior: auto !important;
        transition: none !important;
    }
}

.workspace-body {
    background: var(--color-surface-muted);
}

.workspace-shell {
    display: grid;
    min-height: 100vh;
}

.workspace-sidebar,
.workspace-topbar,
.workspace-panel,
.workspace-page-header {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
}

.content-library-filters {
    display: grid;
    grid-template-columns: minmax(220px, 2fr) repeat(5, minmax(110px, 1fr)) auto;
    gap: 12px;
    align-items: end;
    width: 100%;
}

.content-library-heading,
.content-library-item,
.content-viewer__heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.content-library-list {
    display: grid;
    gap: 0;
}

.content-library-item {
    padding: 20px 0;
    border-top: 1px solid var(--color-border);
}

.content-library-item:first-child {
    border-top: 0;
}

.content-library-item__meta,
.content-classifications {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.content-classifications span {
    padding: 3px 8px;
    border: 1px solid var(--color-border);
    border-radius: 4px;
    font-size: 0.875rem;
}

.content-editor {
    display: grid;
    gap: 20px;
}

.content-classification-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.content-rich-editor {
    min-height: 260px;
    padding: 14px;
    overflow-wrap: anywhere;
    border: 1px solid var(--color-border);
    background: var(--color-surface);
}

.content-rich-editor:focus {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.content-rendered {
    max-width: 760px;
    margin: 28px 0;
    overflow-wrap: anywhere;
}

.content-file-summary,
.content-file-replace {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin: 28px 0;
    padding-block: 20px;
    border-block: 1px solid var(--color-border);
}

.content-preview {
    display: grid;
    gap: 20px;
}

.content-preview__image-stage,
.content-preview__frame {
    display: grid;
    min-height: 420px;
    place-items: center;
    overflow: auto;
    border: 1px solid var(--color-border);
    background: var(--color-surface-muted);
}

.content-preview__image-stage:fullscreen {
    background: #111;
    padding: 24px;
}

.content-preview__image-stage img {
    display: block;
    max-width: none;
    width: min(100%, 960px);
    height: auto;
    transform-origin: center;
    transition: transform 120ms ease;
}

.content-preview__frame iframe {
    display: block;
    width: 100%;
    height: min(72vh, 880px);
    min-height: 560px;
    border: 0;
}

.content-preview__media {
    width: 100%;
    max-height: 72vh;
    background: #111;
}

.content-preview__audio {
    width: 100%;
}

.content-preview__controls {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    min-height: 44px;
}

.content-preview__controls output {
    min-width: 96px;
    text-align: center;
}

@media (max-width: 980px) {
    .content-library-filters,
    .content-classification-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.workspace-notification-link {
    align-items: center;
    display: inline-flex;
    gap: var(--space-2);
}

.workspace-notification-count {
    background: var(--color-danger, #a61b1b);
    border-radius: 999px;
    color: #fff;
    font-size: .75rem;
    min-width: 1.5rem;
    padding: .15rem .4rem;
    text-align: center;
}

.messaging-thread {
    display: grid;
    gap: 0.75rem;
}

.message-item {
    position: relative;
    max-width: 46rem;
    padding: 0.75rem;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    background: var(--color-surface);
}

.message-item.is-own {
    margin-left: auto;
}

.message-meta,
.message-actions,
.message-reactions,
.message-replying {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.message-meta {
    color: var(--color-text-secondary);
    font-size: 0.8125rem;
}

.message-body {
    white-space: normal;
    overflow-wrap: anywhere;
}

.message-actions {
    min-height: 2rem;
    opacity: 0;
}

.message-item:hover .message-actions,
.message-item:focus-within .message-actions {
    opacity: 1;
}

.message-action {
    border: 0;
    padding: 0.25rem;
    background: transparent;
    color: var(--color-action);
    cursor: pointer;
}

.reaction-picker {
    position: relative;
}

.reaction-picker__menu {
    position: absolute;
    z-index: 5;
    bottom: calc(100% + 0.25rem);
    left: 0;
    display: grid;
    grid-template-columns: repeat(7, 2rem);
    gap: 0.25rem;
    padding: 0.5rem;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    background: var(--color-surface);
    box-shadow: 0 0.5rem 1.5rem rgb(0 0 0 / 12%);
}

.reaction-picker__menu[hidden] {
    display: none;
}

.reaction-picker__menu button {
    width: 2rem;
    height: 2rem;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.message-reactions span {
    padding: 0.125rem 0.375rem;
    border: 1px solid var(--color-border);
    border-radius: 8px;
}

.message-reactions .is-mine {
    border-color: var(--color-action);
}

.message-reply-preview {
    display: grid;
    margin-bottom: 0.5rem;
    padding-left: 0.75rem;
    border-left: 3px solid var(--color-border);
    color: inherit;
    text-decoration: none;
}

.message-composer {
    display: grid;
    gap: 0.75rem;
    margin-top: 1rem;
}

.message-composer textarea {
    min-height: 7rem;
    resize: vertical;
}

.message-attachments,
.message-upload-actions {
    display: grid;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

.message-attachment {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding: 0.5rem;
    border: 1px solid var(--color-border);
}

.message-attachment img {
    display: block;
    width: 5rem;
    height: 5rem;
    object-fit: cover;
}

.message-attachment__status,
.message-attachment small,
.message-upload-actions small {
    display: block;
    color: var(--color-text-secondary);
}

.message-upload-actions form {
    display: flex;
    align-items: end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.message-upload-actions label {
    display: grid;
    gap: 0.25rem;
}

@media (max-width: 640px) {
    .message-item {
        max-width: 100%;
    }

    .message-actions {
        opacity: 1;
    }

    .reaction-picker__menu {
        position: fixed;
        right: 1rem;
        bottom: 1rem;
        left: 1rem;
        grid-template-columns: repeat(7, minmax(2rem, 1fr));
    }
}

/* Canonical Figma Make reference: Home only. */
.home-page {
    background: #f5f1eb;
}

.home-page .ds-hero--home {
    background: #f5f1eb;
    display: grid;
    gap: 0;
    grid-template-columns: 55% 45%;
    max-height: 53.75rem;
    max-width: none;
    min-height: min(82svh, 53.75rem);
    padding: 0;
}

.home-page .ds-hero--home .ds-hero__content {
    align-content: center;
    gap: 0;
    margin: 0;
    max-width: none;
    padding: clamp(2.5rem, 5vw, 5rem) clamp(1.5rem, 4vw, 4rem);
    width: auto;
}

.home-page .ds-hero--home .eyebrow {
    color: #a86a4a;
    font-size: .625rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: .18em;
    margin: 0 0 1.25rem;
    text-transform: uppercase;
}

.home-page .ds-hero--home h1 {
    color: #222831;
    font-size: clamp(2rem, 3.8vw, 3.25rem);
    font-weight: var(--font-weight-regular);
    letter-spacing: -.025em;
    line-height: 1.12;
    margin: 0 0 1.125rem;
    max-width: 30rem;
}

.home-page .ds-hero--home .lead {
    color: #6e6b66;
    font-size: var(--font-size-md);
    line-height: 1.75;
    margin: 0 0 2rem;
    max-width: 23.75rem;
}

.home-page .ds-hero--home .button-row {
    gap: .625rem;
    margin: 0;
}

.home-page .ds-hero--home .button {
    border-radius: var(--radius-pill);
    font-size: .8125rem;
    font-weight: var(--font-weight-medium);
    min-height: 0;
    padding: .625rem 1.25rem;
}

.home-page .ds-hero--home .ds-hero__media {
    align-items: flex-end;
    align-self: stretch;
    background: #ede8e0;
    display: flex;
    justify-content: center;
    margin: 0;
    min-height: 0;
    overflow: hidden;
    padding: 2.5rem 0 0;
    position: relative;
}

.home-page .ds-hero--home .ds-hero__media::before {
    color: rgba(168, 106, 74, .07);
    content: "ВС";
    font-size: 7.5rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: -.04em;
    line-height: 1;
    pointer-events: none;
    position: absolute;
    right: 1.5rem;
    top: 1.5rem;
    user-select: none;
}

.home-page .ds-hero--home .ds-hero__media img {
    aspect-ratio: auto;
    border-radius: .875rem .875rem 0 0;
    height: 92%;
    max-height: none;
    max-width: 88%;
    object-fit: cover;
    object-position: 50% top;
    position: relative;
    width: auto;
    z-index: 1;
}

.home-page .ds-hero__credential {
    background: rgba(252, 251, 248, .88);
    border: 1px solid #e7ded2;
    border-radius: .5rem;
    bottom: 1.25rem;
    color: #222831;
    display: grid;
    font-size: .8125rem;
    font-weight: var(--font-weight-medium);
    gap: .125rem;
    left: 1.25rem;
    margin: 0;
    padding: .5rem .75rem;
    position: absolute;
    z-index: 2;
}

.home-page .ds-hero__credential span {
    color: #a86a4a;
    font-size: .625rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: .14em;
    text-transform: uppercase;
}

.home-page .home-recognition,
.home-page .home-find,
.home-page .home-story,
.home-page .public-section--home-start,
.about-page .public-section--home-start {
    box-shadow: 50vw 0 0 currentColor, -50vw 0 0 currentColor;
    max-width: none;
    padding: clamp(2.75rem, 5vw, 4.5rem) clamp(1.5rem, 5vw, 4.5rem);
}

.home-page .home-recognition {
    background: #ede8e0;
    color: #ede8e0;
}

.home-page .home-recognition__eyebrow,
.home-page .home-recognition__thoughts {
    margin-left: auto;
    margin-right: auto;
    max-width: 42.5rem;
}

.home-page .home-recognition__eyebrow {
    color: #a86a4a;
    font-size: .625rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: .18em;
    margin-bottom: 2rem;
}

.home-page .home-recognition__thought {
    border-color: #e7ded2;
    color: #222831;
    font-size: 1.125rem;
    font-weight: 300;
    line-height: 1.55;
    padding-block: 1.125rem;
}

.home-page .home-find {
    background: #fcfbf8;
    color: #fcfbf8;
}

.home-page .home-find__inner {
    display: grid;
    gap: 2rem;
    margin: 0 auto;
    max-width: 62.5rem;
}

.home-page .home-find__header {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 1.125rem;
    max-width: none;
}

.home-page .home-find__header h2 {
    color: #222831;
    font-size: clamp(1.5rem, 2.8vw, 2.25rem);
    font-weight: var(--font-weight-regular);
    letter-spacing: -.02em;
    line-height: 1.2;
    margin: 0;
    order: 1;
}

.home-page .home-find__header .eyebrow {
    color: #a86a4a;
    font-size: .625rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: .18em;
    margin: 0;
    order: 2;
}

.home-page .home-find__outcomes {
    border-bottom-color: #e7ded2;
    gap: 0;
    max-width: none;
}

.home-page .home-find__outcomes li {
    border-color: #e7ded2;
    color: #222831;
    font-size: .9375rem;
    gap: .875rem;
    grid-template-columns: auto minmax(0, 1fr);
    line-height: 1.65;
    padding: 1rem 0;
}

.home-page .home-find__outcomes li::before {
    color: #a86a4a;
    font-size: .625rem;
    padding-top: .2rem;
}

.home-page .home-story {
    background: #f5f1eb;
    color: #f5f1eb;
}

.home-page .home-story__inner {
    display: grid;
    gap: 2rem;
    margin: 0 auto;
    max-width: 68.75rem;
}

.home-page .home-story__header {
    max-width: none;
}

.home-page .home-story__header .eyebrow {
    color: #a86a4a;
    font-size: .625rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: .18em;
    margin: 0;
}

.home-page .home-story__chapters {
    gap: clamp(2.5rem, 5vw, 4rem);
    padding-left: clamp(1.25rem, 3vw, 2.75rem);
}

.home-page .home-story__chapters::before {
    background: #a86a4a;
    opacity: .2;
}

.home-page .home-story__chapter {
    gap: clamp(1.5rem, 3vw, 3rem);
}

.home-page .home-story__chapter::before {
    color: #a86a4a;
    font-size: .625rem;
    top: .15rem;
}

.home-page .home-story__copy {
    gap: .625rem;
    max-width: 41.25rem;
}

.home-page .home-story__copy h3 {
    color: #222831;
    font-size: clamp(1.25rem, 2.4vw, 1.75rem);
    font-weight: var(--font-weight-regular);
    letter-spacing: -.02em;
    line-height: 1.2;
    margin: 0 0 .375rem;
}

.home-page .home-story__copy p {
    color: #6e6b66;
    font-size: .9375rem;
    line-height: 1.8;
    max-width: 41.25rem;
}

.home-page .home-story__emphasis {
    color: #222831;
    font-size: 1.0625rem;
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
    padding-top: .5rem;
}

.home-page .home-story__portrait {
    background: #ede8e0;
    border-radius: .875rem;
    max-width: 20rem;
}

.home-page .home-story__portrait img {
    aspect-ratio: 4 / 5;
    object-position: 50% 35%;
}

.home-page .home-story__certificates {
    align-self: start;
    display: grid;
    gap: .75rem;
    grid-auto-columns: unset;
    grid-auto-flow: row;
    grid-template-columns: minmax(0, 1fr);
    max-width: 17.5rem;
    overflow: visible;
    padding: 0;
    scroll-snap-type: none;
}

.home-page .home-story__certificate-eyebrow {
    color: #a86a4a;
    font-size: .625rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: .18em;
    margin: 0;
}

.home-page .home-story__certificate-stage {
    align-items: center;
    background: #fcfbf8;
    border: 1px solid #e7ded2;
    border-radius: .625rem;
    display: flex;
    height: 16.25rem;
    justify-content: center;
    overflow: hidden;
    position: relative;
    transition: height 220ms ease;
}

.home-page .home-story__certificate {
    background: transparent;
    border: 0;
    border-radius: 0;
    align-items: center;
    display: flex;
    height: 100%;
    inset: 0;
    margin: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    transition: opacity 180ms ease;
    width: 100%;
}

.home-page .home-story__certificate.is-active {
    opacity: 1;
    pointer-events: auto;
}

.home-page .home-story__certificate img {
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.home-page .home-story__certificates:focus-visible {
    border-radius: .625rem;
    outline: 2px solid #1e3a5f;
    outline-offset: .25rem;
}

.home-page .home-story__certificate-meta {
    align-items: center;
    color: #6e6b66;
    display: flex;
    font-size: .75rem;
    gap: var(--space-2);
    justify-content: space-between;
}

.home-page .home-story__certificate-meta p,
.home-page .home-story__certificate-meta span {
    margin: 0;
}

.home-page .home-story__certificate-meta span {
    color: #e7ded2;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.home-page .home-story__certificate-controls {
    align-items: center;
    display: flex;
    gap: .5rem;
}

.home-page .home-story__certificate-controls > button {
    align-items: center;
    background: transparent;
    border: 1px solid #e7ded2;
    border-radius: 50%;
    color: #222831;
    cursor: pointer;
    display: inline-flex;
    font-size: .875rem;
    height: 1.875rem;
    justify-content: center;
    padding: 0;
    width: 1.875rem;
}

.home-page .home-story__certificate-controls > button:disabled {
    cursor: not-allowed;
    opacity: .28;
}

.home-page .home-story__certificate-dots {
    align-items: center;
    display: flex;
    flex: 1;
    gap: .25rem;
}

.home-page .home-story__certificate-dots button {
    background: #e7ded2;
    border: 0;
    border-radius: .125rem;
    cursor: pointer;
    flex: 1;
    height: .25rem;
    padding: 0;
}

.home-page .home-story__certificate-dots button.is-active {
    background: #1e3a5f;
    flex: 2;
}

.home-page .public-section--home-start {
    background: #fcfbf8;
    color: #fcfbf8;
}

.home-page .home-start__inner,
.about-page .home-start__inner {
    display: grid;
    gap: 2rem;
    margin: 0 auto;
    max-width: 68.75rem;
}

.home-page .public-section--home-start .section-header,
.about-page .public-section--home-start .section-header {
    align-items: baseline;
    display: flex;
    gap: 1.125rem;
    max-width: none;
}

.home-page .public-section--home-start .section-header h2,
.about-page .public-section--home-start .section-header h2 {
    color: #222831;
    font-size: clamp(1.5rem, 2.8vw, 2.25rem);
    font-weight: var(--font-weight-regular);
    letter-spacing: -.02em;
    line-height: 1.2;
    margin: 0;
    order: 1;
}

.home-page .public-section--home-start .section-header .eyebrow,
.about-page .public-section--home-start .section-header .eyebrow {
    color: #a86a4a;
    font-size: .625rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: .18em;
    margin: 0;
    order: 2;
}

.home-page .public-section--home-start .grid--cards,
.about-page .public-section--home-start .grid--cards {
    gap: .625rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-page .card--home-start,
.about-page .card--home-start {
    background: #fcfbf8;
    border-color: #e7ded2;
    border-radius: .625rem;
    padding: 1.375rem;
}

.home-page .card--home-start:hover,
.about-page .card--home-start:hover {
    background: #fcfbf8;
    border-color: #e7ded2;
}

.home-page .card--home-start .card__meta,
.about-page .card--home-start .card__meta {
    color: #a86a4a;
    font-size: .625rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: .08em;
}

.home-page .card--home-start .card__title,
.about-page .card--home-start .card__title {
    color: #222831;
    font-size: .9375rem;
    font-weight: var(--font-weight-medium);
    line-height: 1.4;
}

.home-page .card--home-start .card__body,
.about-page .card--home-start .card__body {
    color: #6e6b66;
    font-size: .8125rem;
    line-height: 1.7;
}

.home-page .card--home-start .button,
.about-page .card--home-start .button {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    color: #1e3a5f;
    display: inline-flex;
    font-size: .8125rem;
    font-weight: var(--font-weight-medium);
    gap: .375rem;
    min-height: 0;
    padding: 0;
}

.home-page .card--home-start .button::after,
.about-page .card--home-start .button::after {
    content: "→";
    font-size: .875rem;
    line-height: 1;
}

.home-page .card--home-start:first-child,
.about-page .card--home-start:first-child {
    background: #1e3a5f;
    border-color: #1e3a5f;
}

.home-page .card--home-start:first-child .card__title,
.about-page .card--home-start:first-child .card__title {
    color: #fcfbf8;
}

.home-page .card--home-start:first-child .card__body,
.about-page .card--home-start:first-child .card__body {
    color: rgba(252, 251, 248, .72);
}

.home-page .card--home-start:first-child .card__meta,
.about-page .card--home-start:first-child .card__meta {
    color: #d8a58b;
}

.home-page .card--home-start:first-child .button,
.about-page .card--home-start:first-child .button {
    color: rgba(252, 251, 248, .85);
}

.page-shell:has(.home-page) + .site-footer {
    background: #19324f;
    border: 0;
}

.page-shell:has(.home-page) + .site-footer .site-footer__heading,
.page-shell:has(.home-page) + .site-footer .site-footer__brand,
.page-shell:has(.home-page) + .site-footer .site-footer__nav a {
    color: rgba(255, 255, 255, .72);
}

.page-shell:has(.home-page) + .site-footer .site-footer__brand .caption,
.page-shell:has(.home-page) + .site-footer .site-footer__bottom {
    color: rgba(255, 255, 255, .35);
}

.page-shell:has(.home-page) + .site-footer .site-footer__bottom {
    border-color: rgba(255, 255, 255, .08);
}

.page-shell:has(.home-page) + .site-footer .site-footer__nav a:hover,
.page-shell:has(.home-page) + .site-footer .site-footer__nav a:focus-visible {
    background: rgba(255, 255, 255, .08);
}

@media (min-width: 801px) {
    .home-page .home-find__outcomes {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-page .home-find__outcomes li:nth-child(odd) {
        border-right: 1px solid #e7ded2;
        padding-right: 2rem;
    }

    .home-page .home-find__outcomes li:nth-child(even) {
        padding-left: 2rem;
    }

    .home-page .home-story__chapter--1,
    .home-page .home-story__chapter--2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-page .home-story__chapter--1 {
        align-items: center;
    }
}

@media (max-width: 800px) {
    .home-page .ds-hero--home {
        display: grid;
        grid-template-columns: 1fr;
        max-height: none;
        min-height: 0;
    }

    .home-page .ds-hero--home .ds-hero__content {
        padding: 2.5rem 1.5rem;
    }

    .home-page .ds-hero--home h1 {
        font-size: clamp(2rem, 9vw, 2.5rem);
        max-width: 14ch;
    }

    .home-page .ds-hero--home .lead {
        font-size: var(--font-size-md);
        max-width: none;
    }

    .home-page .ds-hero--home .button-row {
        display: grid;
        width: 100%;
    }

    .home-page .ds-hero--home .button-row .button {
        width: 100%;
    }

    .home-page .ds-hero--home .ds-hero__media {
        align-items: flex-end;
        align-self: stretch;
        display: flex;
        justify-content: center;
        justify-self: stretch;
        min-height: 16.25rem;
        padding: 0 1.5rem;
        width: 100%;
    }

    .home-page .ds-hero--home .ds-hero__media::before,
    .home-page .ds-hero__credential {
        display: none;
    }

    .home-page .ds-hero--home .ds-hero__media img {
        border-radius: .75rem .75rem 0 0;
        display: block;
        flex: 0 0 auto;
        height: 16.25rem;
        margin: 0 auto;
        max-width: 21.25rem;
        object-position: 50% 15%;
        width: 100%;
    }

    .home-page .home-recognition,
    .home-page .home-find,
    .home-page .home-story,
    .home-page .public-section--home-start {
        padding: 2.75rem 1.5rem;
    }

    .home-page .home-recognition__eyebrow {
        margin-bottom: 1.5rem;
    }

    .home-page .home-recognition__thought {
        font-size: var(--font-size-md);
        padding-block: 1.125rem;
    }

    .home-page .home-find__inner,
    .home-page .home-story__inner,
    .home-page .home-start__inner {
        gap: 1.5rem;
    }

    .home-page .home-find__header,
    .home-page .public-section--home-start .section-header {
        align-items: flex-start;
        flex-direction: column;
        gap: .5rem;
    }

    .home-page .home-find__outcomes {
        grid-template-columns: 1fr;
    }

    .home-page .home-story__chapters {
        gap: 2.5rem;
        padding-left: 1.5rem;
    }

    .home-page .home-story__chapter {
        gap: 1.5rem;
        padding-top: 0;
    }

    .home-page .home-story__portrait,
    .home-page .home-story__certificates {
        max-width: 100%;
    }

    .home-page .home-story__portrait {
        width: 100%;
    }

    .home-page .home-story__certificate-stage {
        height: 16.25rem;
    }

    .home-page .public-section--home-start .grid--cards,
    .about-page .public-section--home-start .grid--cards {
        grid-template-columns: 1fr;
    }
}

/* Getting started and public legal/service documents */
.getting-started-page {
    background: #f5f1eb;
}

.getting-started-page__reading {
    margin: 0 auto;
    max-width: 46rem;
}

.getting-started-page__intro,
.getting-started-route {
    padding: clamp(5rem, 10vw, 9rem) max(1.5rem, calc((100vw - var(--container)) / 2));
}

.getting-started-page__intro {
    background: #f5f1eb;
}

.getting-started-page__intro .eyebrow {
    color: #a86a4a;
    font-size: .625rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: .18em;
    margin: 0 0 1.25rem;
    text-transform: uppercase;
}

.getting-started-page h1,
.getting-started-page h2,
.getting-started-page p {
    overflow-wrap: anywhere;
}

.getting-started-page h1 {
    color: #222831;
    font-size: clamp(2.25rem, 4.2vw, 3.5rem);
    font-weight: var(--font-weight-regular);
    letter-spacing: -.025em;
    line-height: 1.12;
    margin: 0 0 2.25rem;
}

.getting-started-page__intro-copy,
.getting-started-route__copy {
    display: grid;
    gap: 1rem;
}

.getting-started-page__intro-copy p,
.getting-started-route__copy p {
    color: #6e6b66;
    font-size: var(--font-size-md);
    line-height: 1.75;
    margin: 0;
}

.getting-started-route {
    background: #fffdf9;
}

.getting-started-route:nth-child(even) {
    background: #f0ece5;
}

.getting-started-route h2 {
    color: #222831;
    font-size: clamp(1.5rem, 2.6vw, 2.25rem);
    font-weight: var(--font-weight-regular);
    letter-spacing: -.02em;
    line-height: 1.2;
    margin: 0;
    max-width: 38rem;
}

.getting-started-route__recommendation {
    color: #222831;
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    font-weight: var(--font-weight-medium);
    line-height: 1.3;
    margin: 1.5rem 0 1.25rem;
}

.getting-started-route__copy {
    margin-bottom: 2rem;
    max-width: 40rem;
}

.getting-started-route .button {
    font-size: .875rem;
    min-width: 12rem;
}

@media (max-width: 800px) {
    .getting-started-page__intro,
    .getting-started-route {
        padding: 4.5rem 1.5rem;
    }

    .getting-started-page h1 {
        font-size: 2.25rem;
        margin-bottom: 2rem;
    }

    .getting-started-route h2 {
        font-size: 1.6rem;
    }

    .getting-started-route__recommendation {
        font-size: 1.35rem;
    }

    .getting-started-route .button {
        width: 100%;
    }
}

.legal-document {
    margin: 0 auto;
    max-width: min(100% - 2rem, 50rem);
    padding: clamp(4.5rem, 9vw, 8rem) 0 clamp(4.5rem, 10vw, 9rem);
}

.legal-document__header {
    border-bottom: 1px solid #e7ded2;
    margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
    padding-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.legal-document h1,
.legal-document h2,
.legal-document h3,
.legal-document p {
    overflow-wrap: anywhere;
}

.legal-document h1 {
    font-size: clamp(2rem, 4vw, 3.4rem);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0;
    line-height: var(--line-height-tight);
    margin: 0;
}

.legal-document h2 {
    font-size: clamp(1.25rem, 2vw, 1.5rem);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0;
    line-height: var(--line-height-heading);
    margin: clamp(2.75rem, 6vw, 4.5rem) 0 1rem;
    scroll-margin-top: 6rem;
}

.legal-document h3 {
    font-size: 1rem;
    font-weight: var(--font-weight-bold);
    line-height: 1.5;
    margin: 1.75rem 0 .65rem;
}

.legal-document p {
    color: #5f5d59;
    font-size: 1rem;
    line-height: 1.75;
    margin: 0 0 .9rem;
}

.legal-document__space {
    height: .85rem;
}

@media (min-width: 801px) {
    .site-nav__dropdown-panel {
        max-height: min(75vh, 42rem);
        min-width: 25rem;
        overflow-y: auto;
        padding: .5rem;
    }

    .site-nav__dropdown-panel a {
        white-space: normal;
    }
}

@media (max-width: 800px) {
    .legal-document {
        max-width: none;
        padding: 3.25rem 1.5rem 4.5rem;
    }

    .legal-document__header {
        margin-bottom: 2.25rem;
        padding-bottom: 1.35rem;
    }

    .legal-document h1 {
        font-size: 2rem;
    }

    .legal-document h2 {
        font-size: 1.25rem;
        margin-top: 3rem;
    }

    .legal-document h3 {
        margin-top: 1.75rem;
    }

    .legal-document p {
        font-size: .975rem;
        line-height: 1.7;
    }

    .site-mobile-menu__accordion-panel {
        gap: .25rem;
    }

    .site-mobile-menu__accordion-panel .site-mobile-menu__child {
        align-items: flex-start;
        min-height: 44px;
        padding-bottom: .6rem;
        padding-top: .6rem;
    }
}

/* About page: a long-form editorial continuation of the approved Homepage. */
.about-page {
    background: #f5f1eb;
}

.about-page .ds-hero--about {
    background: #f5f1eb;
    display: grid;
    gap: 0;
    grid-template-columns: 55% 45%;
    max-width: none;
    max-height: 53.75rem;
    min-height: min(82svh, 53.75rem);
    padding: 0;
}

.about-page .ds-hero--about .ds-hero__content {
    align-content: center;
    gap: 0;
    margin: 0;
    max-width: none;
    padding: clamp(2.5rem, 5vw, 5rem) clamp(1.5rem, 4vw, 4rem);
    width: auto;
}

.about-page .ds-hero--about .eyebrow,
.about-page .eyebrow {
    color: #a86a4a;
    font-size: .625rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: .18em;
    text-transform: uppercase;
}

.about-page .ds-hero--about .eyebrow {
    margin: 0 0 1.25rem;
}

.about-page .ds-hero--about h1 {
    color: #222831;
    font-size: clamp(2rem, 3.8vw, 3.25rem);
    font-weight: var(--font-weight-regular);
    letter-spacing: -.025em;
    line-height: 1.12;
    margin: 0 0 1.125rem;
    max-width: 32rem;
}

.about-page .ds-hero--about .lead {
    color: #6e6b66;
    font-size: var(--font-size-md);
    line-height: 1.75;
    margin: 0;
    max-width: 26rem;
}

.about-page .ds-hero--about .ds-hero__media {
    align-items: flex-end;
    align-self: stretch;
    background: #ede8e0;
    display: flex;
    justify-content: center;
    margin: 0;
    min-height: 0;
    overflow: hidden;
    padding: 2.5rem 0 0;
}

.about-page .ds-hero--about .ds-hero__media img {
    border-radius: .875rem .875rem 0 0;
    height: 92%;
    max-width: 88%;
    object-fit: cover;
    object-position: 50% 22%;
    width: auto;
}

.about-page__section,
.about-page__statement {
    box-shadow: 50vw 0 0 currentColor, -50vw 0 0 currentColor;
    max-width: none;
    padding: clamp(4.5rem, 9vw, 8rem) clamp(1.5rem, 5vw, 4.5rem);
}

.about-page__origin,
.about-page__patterns,
.about-page__work,
.about-page__place {
    background: #f5f1eb;
    color: #f5f1eb;
}

.about-page__origin {
    padding-bottom: clamp(3rem, 5vw, 4.5rem);
}

.about-page__search {
    padding-top: clamp(3rem, 5vw, 4.5rem);
}

.about-page__search,
.about-page__insight {
    background: #fcfbf8;
    color: #fcfbf8;
}

.about-page__reading,
.about-page__two-column {
    margin: 0 auto;
    max-width: 68.75rem;
}

.about-page__origin-layout {
    align-items: center;
    display: grid;
    gap: clamp(2.5rem, 7vw, 7rem);
    grid-template-columns: minmax(0, 45rem) minmax(13rem, 17.5rem);
    margin: 0 auto;
    max-width: 68.75rem;
}

.about-page__origin-layout .about-page__reading {
    margin: 0;
}

.about-page__origin-photo {
    aspect-ratio: 4 / 5;
    background: #ede8e0;
    border: 1px solid #e7ded2;
    border-radius: .875rem;
    margin: 0;
    min-height: 15rem;
    width: 100%;
}

.about-page__reading {
    display: grid;
    gap: 1.25rem;
    max-width: 45rem;
}

.about-page__origin .about-page__reading {
    gap: .875rem;
}

.about-page__reading .eyebrow,
.about-page__copy .eyebrow {
    margin: 0 0 .5rem;
}

.about-page__reading h2,
.about-page__copy h2 {
    color: #222831;
    font-size: clamp(1.5rem, 2.8vw, 2.25rem);
    font-weight: var(--font-weight-regular);
    letter-spacing: -.02em;
    line-height: 1.2;
    margin: 0 0 .5rem;
}

.about-page__reading p,
.about-page__copy > p {
    color: #6e6b66;
    font-size: .9375rem;
    line-height: 1.8;
    margin: 0;
}

.about-page__pullquote {
    color: #222831 !important;
    font-size: clamp(1.5rem, 3vw, 2.25rem) !important;
    font-style: italic;
    font-weight: var(--font-weight-regular);
    letter-spacing: -.02em;
    line-height: 1.25 !important;
    margin-top: 1.5rem !important;
}

.about-page__two-column {
    align-items: start;
    display: grid;
    gap: clamp(2.5rem, 7vw, 7rem);
    grid-template-columns: minmax(0, 1fr) minmax(15rem, 20rem);
}

.about-page__copy {
    display: grid;
    gap: 1.25rem;
    max-width: 43rem;
}

.about-page__questions {
    border-left: 1px solid #e7ded2;
    display: grid;
    gap: 1.25rem;
    margin: .5rem 0;
    padding-left: 1.5rem;
}

.about-page__questions p {
    color: #222831;
    font-size: 1.0625rem;
    font-weight: var(--font-weight-medium);
    line-height: 1.55;
    margin: 0;
}

.about-page .home-story__certificates {
    align-self: start;
    display: grid;
    gap: .75rem;
    grid-auto-columns: auto;
    grid-auto-flow: row;
    grid-template-columns: minmax(0, 1fr);
    max-width: 17.5rem;
    overflow: visible;
    padding: 0;
    scroll-snap-type: none;
    width: 100%;
}

@media (min-width: 801px) {
    .about-page__search .home-story__certificates {
        align-self: center;
    }
}

.about-page .home-story__certificate-eyebrow {
    margin: 0;
}

.about-page .home-story__certificate-stage {
    align-items: center;
    background: #fcfbf8;
    border: 1px solid #e7ded2;
    border-radius: .625rem;
    display: flex;
    height: 16.25rem;
    justify-content: center;
    overflow: hidden;
    position: relative;
    transition: height 220ms ease;
}

.about-page .home-story__certificate {
    align-items: center;
    display: flex;
    height: 100%;
    inset: 0;
    margin: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    transition: opacity 180ms ease;
    width: 100%;
}

.about-page .home-story__certificate.is-active {
    opacity: 1;
    pointer-events: auto;
}

.about-page .home-story__certificate img {
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.about-page .home-story__certificate-meta {
    align-items: center;
    color: #6e6b66;
    display: flex;
    font-size: .75rem;
    gap: var(--space-2);
    justify-content: space-between;
}

.about-page .home-story__certificate-meta p,
.about-page .home-story__certificate-meta span {
    margin: 0;
}

.about-page .home-story__certificate-meta span {
    color: #e7ded2;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.about-page .home-story__certificate-controls {
    align-items: center;
    display: flex;
    gap: .5rem;
}

.about-page .home-story__certificate-controls > button {
    align-items: center;
    background: transparent;
    border: 1px solid #e7ded2;
    border-radius: 50%;
    color: #222831;
    cursor: pointer;
    display: inline-flex;
    font-size: .875rem;
    height: 1.875rem;
    justify-content: center;
    padding: 0;
    width: 1.875rem;
}

.about-page .home-story__certificate-controls > button:disabled {
    cursor: not-allowed;
    opacity: .28;
}

.about-page .home-story__certificate-dots {
    align-items: center;
    display: flex;
    flex: 1;
    gap: .25rem;
}

.about-page .home-story__certificate-dots button {
    background: #e7ded2;
    border: 0;
    border-radius: .125rem;
    cursor: pointer;
    flex: 1;
    height: .25rem;
    padding: 0;
}

.about-page .home-story__certificate-dots button.is-active {
    background: #1e3a5f;
    flex: 2;
}

.about-page__quote-image,
.about-page__portrait {
    background: #ede8e0;
    border-radius: .875rem;
    margin: 0;
    max-width: 20rem;
    overflow: hidden;
    position: relative;
}

.about-page__quote-image img,
.about-page__portrait img {
    aspect-ratio: 4 / 5;
    display: block;
    height: auto;
    object-fit: cover;
    object-position: 50% 35%;
    width: 100%;
}

.about-page__quote-image figcaption {
    background: rgba(30, 58, 95, .92);
    bottom: 1rem;
    color: #fcfbf8;
    font-size: clamp(1.25rem, 2vw, 1.75rem);
    font-style: italic;
    left: 1rem;
    line-height: 1.2;
    margin: 0;
    max-width: calc(100% - 2rem);
    padding: .75rem 1rem;
    position: absolute;
}

.about-page__qualities {
    border-top: 1px solid #e7ded2;
    display: grid;
}

.about-page__qualities p {
    align-items: baseline;
    border-bottom: 1px solid #e7ded2;
    color: #6e6b66;
    display: grid;
    font-size: .9375rem;
    gap: .75rem;
    grid-template-columns: minmax(8rem, .75fr) minmax(0, 1fr);
    line-height: 1.6;
    margin: 0;
    padding: 1.125rem 0;
}

.about-page__qualities strong {
    color: #222831;
    font-size: 1.0625rem;
    font-weight: var(--font-weight-medium);
}

.about-page__qualities span::before {
    color: #a86a4a;
    content: '→';
    margin-right: .5rem;
}

.about-page__statement {
    background: #ede8e0;
    color: #ede8e0;
    display: grid;
    gap: .5rem;
    place-items: center;
    text-align: center;
    padding-block: clamp(2.25rem, 4.5vw, 4rem);
}

.about-page__statement p {
    color: #222831;
    font-size: clamp(1.5rem, 2.8vw, 2.25rem);
    font-weight: var(--font-weight-regular);
    letter-spacing: -.025em;
    line-height: 1.15;
    margin: 0;
    max-width: 18ch;
}

.about-page__work-media {
    display: grid;
    gap: 2rem;
    justify-items: start;
}

.about-page__place {
    padding-bottom: 0;
}

.about-page__start-options {
    margin: clamp(3rem, 7vw, 6rem) auto clamp(3rem, 7vw, 6rem);
    max-width: 68.75rem;
}

.about-page__start-options .public-section--home-start {
    background: transparent;
    box-shadow: none;
    color: inherit;
    padding: 0;
}

.about-page__start-options .home-start__inner {
    max-width: none;
}

.about-page__closing {
    padding-bottom: clamp(4.5rem, 9vw, 8rem);
}

.about-page__closing-emphasis {
    color: #222831 !important;
    font-weight: var(--font-weight-medium);
}

@media (max-width: 800px) {
    .about-page .ds-hero--about {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .about-page .ds-hero--about .ds-hero__content {
        padding: 2.5rem 1.5rem;
    }

    .about-page .ds-hero--about h1 {
        font-size: clamp(2rem, 9vw, 2.5rem);
        max-width: 14ch;
    }

    .about-page .ds-hero--about .ds-hero__media {
        min-height: 16.25rem;
        padding: 0 1.5rem;
    }

    .about-page .ds-hero--about .ds-hero__media img {
        border-radius: .75rem .75rem 0 0;
        height: 16.25rem;
        margin: 0 auto;
        max-width: 21.25rem;
        object-position: 50% 15%;
        width: 100%;
    }

    .about-page__section,
    .about-page__statement {
        padding: 3.5rem 1.5rem;
    }

    .about-page__reading,
    .about-page__copy {
        gap: 1rem;
    }

    .about-page__origin-layout {
        display: block;
    }

    .about-page__origin-photo {
        display: none;
    }

    .about-page__reading h2,
    .about-page__copy h2 {
        font-size: 1.5rem;
    }

    .about-page__two-column {
        gap: 2.5rem;
        grid-template-columns: minmax(0, 1fr);
    }

    .about-page__questions {
        gap: 1rem;
        padding-left: 1rem;
    }

    .about-page__questions p {
        font-size: 1rem;
    }

    .about-page .home-story__certificates,
    .about-page__quote-image,
    .about-page__portrait {
        max-width: 100%;
        width: 100%;
    }

    .about-page .home-story__certificate-stage {
        height: 16.25rem;
    }

    .about-page__quote-image figcaption {
        font-size: 1.25rem;
    }

    .about-page__qualities p {
        gap: .5rem;
        grid-template-columns: 1fr;
    }

    .about-page__statement p {
        font-size: clamp(2rem, 9vw, 2.5rem);
    }

    .about-page__work-media {
        gap: 1.5rem;
    }

    .about-page__place {
        padding-bottom: 0;
    }
}

/* Consultation page: practical editorial continuation of the approved Homepage. */
.consultation-page {
    background: #f5f1eb;
}

.consultation-page .ds-hero--consultation {
    background: #f5f1eb;
    display: grid;
    gap: 0;
    grid-template-columns: 55% 45%;
    max-width: none;
    min-height: min(82svh, 53.75rem);
    padding: 0;
}

.consultation-page .ds-hero--consultation .ds-hero__content {
    align-content: center;
    gap: 0;
    margin: 0;
    max-width: none;
    padding: clamp(2.5rem, 5vw, 5rem) clamp(1.5rem, 4vw, 4rem);
    width: auto;
}

.consultation-page .ds-hero--consultation .eyebrow,
.consultation-page .eyebrow {
    color: #a86a4a;
    font-size: .625rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: .18em;
    text-transform: uppercase;
}

.consultation-page .ds-hero--consultation .eyebrow {
    margin: 0 0 1.25rem;
}

.consultation-page .ds-hero--consultation h1 {
    color: #222831;
    font-size: clamp(2rem, 3.8vw, 3.25rem);
    font-weight: var(--font-weight-regular);
    letter-spacing: -.025em;
    line-height: 1.12;
    margin: 0 0 1.125rem;
    max-width: 32rem;
}

.consultation-page .ds-hero--consultation .lead {
    color: #6e6b66;
    font-size: var(--font-size-md);
    line-height: 1.75;
    margin: 0;
    max-width: 29rem;
}

.consultation-page .ds-hero--consultation .ds-hero__media {
    align-items: flex-end;
    align-self: stretch;
    background: #ede8e0;
    display: flex;
    justify-content: center;
    margin: 0;
    min-height: 0;
    overflow: hidden;
    padding: 2.5rem 0 0;
}

.consultation-page .ds-hero--consultation .ds-hero__media img {
    border-radius: .875rem .875rem 0 0;
    height: 92%;
    max-width: 88%;
    object-fit: cover;
    object-position: 50% 22%;
    width: auto;
}

.consultation-page__section,
.consultation-page__cta {
    box-shadow: 50vw 0 0 currentColor, -50vw 0 0 currentColor;
    max-width: none;
    padding: clamp(4.5rem, 9vw, 8rem) clamp(1.5rem, 5vw, 4.5rem);
}

.consultation-page__first-task,
.consultation-page__outcomes,
.consultation-page__fit,
.consultation-page__practical,
.consultation-page__questions {
    background: #f5f1eb;
    color: #f5f1eb;
}

.consultation-page__process,
.consultation-page__alternatives {
    background: #fcfbf8;
    color: #fcfbf8;
}

.consultation-page__reading,
.consultation-page__two-column,
.consultation-page__information,
.consultation-page__cta > div {
    margin: 0 auto;
    max-width: 68.75rem;
}

.consultation-page__reading {
    display: grid;
    gap: 1.25rem;
    max-width: 45rem;
}

.consultation-page__reading .eyebrow,
.consultation-page__copy .eyebrow {
    margin: 0 0 .5rem;
}

.consultation-page__reading h2,
.consultation-page__copy h2,
.consultation-page__cta h2 {
    color: #222831;
    font-size: clamp(1.5rem, 2.8vw, 2.25rem);
    font-weight: var(--font-weight-regular);
    letter-spacing: -.02em;
    line-height: 1.2;
    margin: 0 0 .5rem;
}

.consultation-page__reading p,
.consultation-page__copy > p,
.consultation-page__information p {
    color: #6e6b66;
    font-size: .9375rem;
    line-height: 1.8;
    margin: 0;
}

.consultation-page__pullquote {
    color: #222831 !important;
    font-size: clamp(1.5rem, 3vw, 2.25rem) !important;
    font-style: italic;
    font-weight: var(--font-weight-regular);
    letter-spacing: -.02em;
    line-height: 1.25 !important;
    margin-top: 1.5rem !important;
}

.consultation-page__two-column {
    align-items: start;
    display: grid;
    gap: clamp(2.5rem, 7vw, 7rem);
    grid-template-columns: minmax(0, 1fr) minmax(15rem, 20rem);
}

.consultation-page__copy {
    display: grid;
    gap: 1.25rem;
    max-width: 43rem;
}

.consultation-page__process-list,
.consultation-page__results {
    border-top: 1px solid #e7ded2;
    display: grid;
    list-style: none;
    margin: 0;
    padding: 0;
}

.consultation-page__process-list li,
.consultation-page__results p {
    border-bottom: 1px solid #e7ded2;
    display: grid;
    gap: .375rem;
    margin: 0;
    padding: 1.125rem 0;
}

.consultation-page__process-list strong,
.consultation-page__results p {
    color: #222831;
    font-size: 1.0625rem;
    font-weight: var(--font-weight-medium);
    line-height: 1.45;
}

.consultation-page__process-list span {
    color: #6e6b66;
    font-size: .875rem;
    line-height: 1.7;
}

.consultation-page__results p {
    font-style: italic;
    padding-left: 1rem;
    position: relative;
}

.consultation-page__results p::before {
    color: #a86a4a;
    content: '→';
    left: 0;
    position: absolute;
}

.consultation-page__alternatives-nav {
    border-top: 1px solid #e7ded2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: clamp(3rem, 7vw, 5rem) auto 0;
    max-width: 68.75rem;
}

.consultation-page__alternatives-nav a {
    align-items: center;
    border-bottom: 1px solid #e7ded2;
    color: #1e3a5f;
    display: flex;
    font-size: .9375rem;
    font-weight: var(--font-weight-medium);
    justify-content: space-between;
    min-height: 4.25rem;
    padding: .75rem 1rem  .75rem 0;
    text-decoration: none;
}

.consultation-page__alternatives-nav a + a {
    border-left: 1px solid #e7ded2;
    padding-left: 1rem;
}

.consultation-page__alternatives-nav a::after,
.consultation-page__tertiary-links a::after {
    content: '→';
    font-size: 1rem;
    line-height: 1;
}

.consultation-page__alternatives-nav a:hover,
.consultation-page__alternatives-nav a:focus-visible,
.consultation-page__tertiary-links a:hover,
.consultation-page__tertiary-links a:focus-visible {
    color: #2c4f7a;
}

.consultation-page__information {
    display: grid;
    gap: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: clamp(3rem, 7vw, 5rem);
}

.consultation-page__information article {
    border-top: 1px solid #e7ded2;
    padding: 1.25rem 1.5rem 0;
}

.consultation-page__information article:first-child {
    padding-left: 0;
}

.consultation-page__information article + article {
    border-left: 1px solid #e7ded2;
}

.consultation-page__information h3 {
    color: #222831;
    font-size: 1.0625rem;
    font-weight: var(--font-weight-medium);
    line-height: 1.4;
    margin: 0 0 1rem;
}

.consultation-page__information article p + p {
    margin-top: .875rem;
}

.consultation-page__selection {
    background: #fcfbf8;
    color: #fcfbf8;
}

.consultation-page__selection-heading {
    margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.consultation-page__selection-empty,
.consultation-formats,
.consultation-booking {
    margin-left: auto;
    margin-right: auto;
    max-width: 68.75rem;
}

.consultation-page__selection-empty {
    border-top: 1px solid #e7ded2;
    color: #6e6b66;
    font-size: .9375rem;
    padding-top: 1.25rem;
}

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

.consultation-formats--single {
    grid-template-columns: minmax(0, 34rem);
}

.consultation-format {
    border: 1px solid #e7ded2;
    border-radius: .5rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding: clamp(1.5rem, 3vw, 2rem);
}

.consultation-format__header {
    border-bottom: 1px solid #e7ded2;
    padding-bottom: 1rem;
}

.consultation-format h3,
.consultation-booking h2,
.consultation-booking h3,
.consultation-summary h3 {
    color: #222831;
    margin: 0;
}

.consultation-format h3 {
    font-size: clamp(1.35rem, 2vw, 1.6rem);
    line-height: 1.4;
}

.consultation-format__header p,
.consultation-format__package-details,
.consultation-format__validity {
    color: #6e6b66;
    font-size: .875rem;
    line-height: 1.65;
    margin: .375rem 0 0;
}

.consultation-format__single,
.consultation-format__package > p {
    color: #222831;
    font-size: 1rem;
    line-height: 1.5;
    margin: 0;
}

.consultation-format__single {
    font-size: 1.125rem;
    font-style: italic;
}

.consultation-format__single span,
.consultation-format__package strong {
    font-weight: var(--font-weight-bold);
}

.consultation-format__packages {
    border-top: 1px solid #e7ded2;
    display: grid;
    gap: 1rem;
    padding-top: 1.25rem;
}

.consultation-format__packages h4 {
    color: #222831;
    font-size: .9375rem;
    margin: 0;
}

.consultation-format__package {
    border-left: 2px solid #d7cab9;
    display: grid;
    gap: .25rem;
    padding-left: .875rem;
}

.consultation-format__cta {
    margin-top: auto;
    justify-content: center;
    min-height: 2.875rem;
    width: 100%;
}

.consultation-wizard {
    background: #fcfbf8;
    min-height: 68vh;
    padding: clamp(2.5rem, 7vw, 5.5rem) 1.5rem;
}

.consultation-wizard__inner {
    margin: 0 auto;
    max-width: 68.75rem;
}

.consultation-wizard__back {
    color: #1e3a5f;
    display: inline-flex;
    font-size: .9375rem;
    font-weight: var(--font-weight-medium);
    margin-bottom: clamp(2rem, 5vw, 3.5rem);
    text-decoration: none;
}

.consultation-wizard__back:hover,
.consultation-wizard__back:focus-visible {
    text-decoration: underline;
}

.consultation-wizard__steps {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
    list-style: none;
    margin: 0 0 clamp(2.5rem, 6vw, 4.5rem);
    max-width: 45rem;
    padding: 0;
}

.consultation-wizard__step {
    align-items: center;
    color: #85817b;
    display: flex;
    font-size: .875rem;
    gap: .5rem;
    min-width: 0;
}

.consultation-wizard__step > span:first-child {
    align-items: center;
    border: 1px solid #dcd6cc;
    border-radius: 50%;
    display: inline-flex;
    flex: 0 0 1.875rem;
    height: 1.875rem;
    justify-content: center;
}

.consultation-wizard__step.is-current {
    color: #222831;
    font-weight: var(--font-weight-bold);
}

.consultation-wizard__step.is-current > span:first-child {
    background: #1e3a5f;
    border-color: #1e3a5f;
    color: #fff;
}

.consultation-wizard__step.is-complete {
    color: #3f6654;
    font-weight: var(--font-weight-medium);
}

.consultation-wizard__step.is-complete > span:first-child {
    background: #e7f0e9;
    border-color: #87a493;
    color: #315942;
}

.consultation-wizard__header {
    display: grid;
    gap: .75rem;
    margin-bottom: clamp(2rem, 5vw, 3.5rem);
    max-width: 43rem;
}

.consultation-wizard__header .eyebrow,
.consultation-wizard__format,
.consultation-wizard__header h1,
.consultation-wizard__header p {
    margin: 0;
}

.consultation-wizard__format {
    color: #222831;
    font-size: 1.0625rem;
    font-weight: var(--font-weight-medium);
}

.consultation-wizard__format span,
.consultation-wizard__header > p:last-child,
.consultation-wizard__detail {
    color: #6e6b66;
}

.consultation-wizard__header h1 {
    color: #222831;
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1.12;
}

.consultation-wizard__form {
    display: grid;
    gap: 1.5rem;
}

.direct-code-payment__form {
    background: #f5f2ec;
    border: 1px solid #e2dcd3;
    border-radius: .5rem;
    gap: 1.25rem;
    max-width: 34rem;
    padding: 1.5rem;
}

.direct-code-payment__field {
    color: #222831;
    display: grid;
    font-size: .9375rem;
    font-weight: var(--font-weight-medium);
    gap: .5rem;
}

.direct-code-payment__field input {
    background: #fff;
    border: 1px solid #dcd6cc;
    border-radius: .375rem;
    color: #222831;
    font: inherit;
    min-height: 3rem;
    padding: .75rem .875rem;
}

.direct-code-payment__field input::placeholder {
    color: #85817b;
}

.direct-code-payment__field input:focus-visible {
    border-color: #1e3a5f;
    outline: 2px solid #1e3a5f;
    outline-offset: 2px;
}

.direct-code-payment__form .button {
    justify-self: start;
    min-width: 12rem;
}

.consultation-wizard__variants {
    border: 0;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    padding: 0;
}

.consultation-wizard__variant {
    border: 1px solid #e2dcd3;
    border-radius: .5rem;
    cursor: pointer;
    min-height: 13rem;
    padding: 1.5rem;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.consultation-wizard__variant:hover,
.consultation-wizard__variant:focus-within,
.consultation-wizard__variant.is-selected {
    background: #f3f6f4;
    border-color: #587363;
    box-shadow: inset 0 0 0 1px #587363;
}

.consultation-wizard__variant input {
    height: 1px;
    opacity: 0;
    position: absolute;
    width: 1px;
}

.consultation-wizard__variant-content {
    display: grid;
    gap: .5rem;
}

.consultation-wizard__variant-content strong {
    color: #222831;
    font-size: 1.125rem;
}

.consultation-wizard__price {
    color: #1e3a5f;
    font-size: 1.375rem;
    font-weight: var(--font-weight-bold);
    line-height: 1.25;
}

.consultation-wizard__saving {
    color: #3f6654;
    font-size: .875rem;
    font-weight: var(--font-weight-medium);
}

.consultation-wizard__detail {
    font-size: .875rem;
    line-height: 1.5;
}

.consultation-wizard__continue {
    justify-self: start;
    min-width: 12rem;
}

.consultation-wizard__continue:disabled {
    cursor: not-allowed;
    opacity: .45;
}

.consultation-wizard__account-actions,
.consultation-wizard__account-links {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.consultation-wizard__auth-form {
    max-width: 28rem;
}

.consultation-wizard__auth-form label {
    color: #222831;
    display: grid;
    font-size: .9375rem;
    font-weight: var(--font-weight-medium);
    gap: .5rem;
}

.consultation-wizard__auth-form input {
    background: #fff;
    border: 1px solid #dcd6cc;
    border-radius: .375rem;
    color: #222831;
    font: inherit;
    min-height: 2.875rem;
    padding: .625rem .75rem;
}

.consultation-wizard__auth-form .password-field > input {
    padding-inline-end: 3.5rem;
}

.consultation-wizard__auth-form input:focus-visible {
    border-color: #1e3a5f;
    outline: 2px solid #1e3a5f;
    outline-offset: 2px;
}

.consultation-wizard__auth-form .phone-input select {
    background: #fff;
    border: 1px solid #dcd6cc;
    border-radius: .375rem;
    color: #222831;
    font: inherit;
    min-height: 2.875rem;
    padding: .625rem .75rem;
}

.consultation-wizard__auth-form .phone-input select:focus-visible {
    border-color: #1e3a5f;
    outline: 2px solid #1e3a5f;
    outline-offset: 2px;
}

.consultation-wizard__account-links {
    font-size: .9375rem;
    margin-top: 1.25rem;
}

.consultation-wizard__account-links a {
    color: #1e3a5f;
}

.consultation-wizard__help {
    color: #6e6b66;
    font-size: .875rem;
    margin: 2rem 0 0;
}

.consultation-wizard__help a {
    color: #1e3a5f;
}

.consultation-wizard__contact-options {
    width: fit-content;
}

.consultation-wizard__contact-options summary {
    color: #6e6b66;
    cursor: pointer;
}

.consultation-wizard__contact-options summary span {
    color: #1e3a5f;
    text-decoration: underline;
    text-underline-offset: .16em;
}

.consultation-wizard__contact-options nav {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: .85rem;
}

.consultation-wizard__contact-options nav a {
    align-items: center;
    border: 1px solid #dcd8d1;
    border-radius: 999px;
    color: #1e3a5f;
    display: inline-flex;
    font-size: .875rem;
    font-weight: 600;
    min-height: 2.5rem;
    padding: .45rem .9rem;
    text-decoration: none;
}

.consultation-wizard__contact-options nav a:hover,
.consultation-wizard__contact-options nav a:focus-visible {
    background: #1e3a5f;
    border-color: #1e3a5f;
    color: #fff;
}

.consultation-wizard__code {
    border-top: 1px solid #e2dcd3;
    margin-top: 3rem;
    max-width: 34rem;
    padding-top: 1.5rem;
}

.consultation-wizard__code-heading {
    display: grid;
    gap: .4rem;
    margin-bottom: 1.25rem;
}

.consultation-wizard__code-heading .eyebrow,
.consultation-wizard__code-heading h2,
.consultation-wizard__code-heading p {
    margin: 0;
}

.consultation-wizard__code-heading h2 {
    color: #222831;
    font-family: var(--font-family-serif, Georgia, serif);
    font-size: 1.25rem;
    line-height: 1.2;
}

.consultation-wizard__code-heading > p:last-child {
    color: var(--color-text-muted, #6f6a63);
    font-size: .9375rem;
    line-height: 1.55;
}

.consultation-wizard__code-form {
    align-items: end;
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(0, 1fr) auto;
}

.consultation-wizard__code-field {
    color: #222831;
    display: grid;
    font-size: .875rem;
    font-weight: var(--font-weight-medium);
    gap: .4rem;
}

.consultation-wizard__code-field input {
    background: #fff;
    border: 1px solid #dcd6cc;
    border-radius: .375rem;
    color: #222831;
    font: inherit;
    min-width: 0;
    min-height: 2.875rem;
    padding: .625rem .75rem;
}

.consultation-wizard__code-field input::placeholder {
    color: #85817b;
}

.consultation-wizard__code-field input:focus-visible {
    border-color: #1e3a5f;
    outline: 2px solid #1e3a5f;
    outline-offset: 2px;
}

.consultation-wizard__code-form .button {
    min-height: 2.875rem;
}

.consultation-wizard__code-remove {
    background: transparent;
    border: 0;
    color: #6e6b66;
    cursor: pointer;
    font: inherit;
    font-size: .875rem;
    margin-top: .875rem;
    padding: 0;
    text-decoration: underline;
    text-underline-offset: .18em;
}

.consultation-wizard__code-remove:hover,
.consultation-wizard__code-remove:focus-visible {
    color: #1e3a5f;
}

.consultation-wizard__code-direct-link {
    color: #1e3a5f;
    display: inline-flex;
    font-size: .875rem;
    font-weight: var(--font-weight-medium);
    gap: .4rem;
    margin-top: 1.25rem;
    text-decoration: none;
}

.consultation-wizard__code-direct-link:hover,
.consultation-wizard__code-direct-link:focus-visible {
    text-decoration: underline;
}

.consultation-wizard__success { color: #356749 !important; font-weight: 700; }

.consultation-wizard__validity,
.consultation-wizard__quiet {
    color: #6e6b66;
    font-size: .9375rem;
}

.consultation-wizard__error {
    background: #fff3f0;
    border-left: 3px solid #ad5c4e;
    color: #6d3128;
    margin: 0 0 1.5rem;
    padding: .875rem 1rem;
}

.consultation-wizard__error a { color: inherit; font-weight: 700; }

.consultation-hold-notice { background: #edf5ef; border-left: 3px solid #587363; display: grid; gap: .5rem; margin: 0 0 2rem; max-width: 43rem; padding: 1rem 1.125rem; }
.consultation-hold-notice strong { color: #315942; }
.consultation-hold-notice p, .consultation-hold-notice ul { margin: 0; }
.consultation-hold-notice ul { display: grid; gap: .25rem; padding-left: 1.25rem; }

.workspace-toast { align-items: center; background: #edf5ef; border: 1px solid #b9d7c0; border-left: 3px solid #587363; box-shadow: 0 12px 30px rgba(28, 43, 74, .14); color: #315942; display: flex; gap: .55rem; max-width: min(24rem, calc(100vw - 2rem)); padding: .7rem .8rem; position: fixed; right: 1.5rem; top: 1.5rem; z-index: 50; }
.workspace-toast > span { font-weight: 700; }
.workspace-toast p { font-size: .875rem; font-weight: 600; margin: 0; }
.workspace-toast--message { pointer-events: none; }
.workspace-toast[hidden] { display: none; }
.workspace-toast button { background: transparent; border: 0; color: inherit; cursor: pointer; font-size: 1.2rem; line-height: 1; margin-left: auto; padding: .15rem; }
@media (max-width: 899px) { .workspace-toast { left: 1rem; right: 1rem; top: calc(1rem + env(safe-area-inset-top)); } }

.consultation-wizard__payment-boundary {
    display: grid;
    gap: 1.25rem;
    max-width: 43rem;
}

.consultation-wizard__consents {
    display: grid;
    gap: .875rem;
    justify-items: center;
}

.consultation-wizard__consents label {
    align-items: center;
    color: #222831;
    cursor: pointer;
    display: inline-grid;
    font-size: 1rem;
    gap: .75rem;
    grid-template-columns: 1.375rem minmax(0, 1fr);
    line-height: 1.45;
    max-width: 100%;
}

.consultation-wizard__consents input {
    accent-color: #1e3a5f;
    height: 1.375rem;
    margin: 0;
    width: 1.375rem;
}

.consultation-wizard__consents input:focus-visible {
    outline: 2px solid #1e3a5f;
    outline-offset: 3px;
}

.consultation-wizard__consents a {
    color: #1e3a5f;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .15em;
}

.consultation-wizard__consents a:hover,
.consultation-wizard__consents a:focus-visible {
    color: #315942;
}

.consultation-order-summary { border-block: 1px solid #e2dcd3; display: grid; gap: .5rem; margin: 0 0 2rem; max-width: 43rem; padding: 1.25rem 0; }
.consultation-order-summary p, .consultation-order-summary ul { margin: 0; }
.consultation-order-summary ul { display: grid; gap: .25rem; padding-left: 1.25rem; }
.consultation-order-summary__price { color: #1e3a5f; font-size: 1.25rem; font-weight: var(--font-weight-bold); }

.consultation-time {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr);
    margin-bottom: 1.75rem;
}

.consultation-time__calendar,
.consultation-time__panel {
    border: 1px solid #e2dcd3;
    border-radius: .5rem;
    padding: clamp(1.25rem, 3vw, 1.75rem);
}

.consultation-time__calendar-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.consultation-time__calendar-head h2,
.consultation-time__panel h2,
.consultation-time__chosen h2 {
    color: #222831;
    font-size: 1.1rem;
    margin: 0;
}

.consultation-time__calendar-head button {
    align-items: center;
    background: transparent;
    border: 1px solid #dcd6cc;
    border-radius: 50%;
    color: #1e3a5f;
    display: inline-flex;
    font-size: 1.125rem;
    height: 2.5rem;
    justify-content: center;
    width: 2.5rem;
}

.consultation-time__calendar-head button:disabled {
    cursor: not-allowed;
    opacity: .35;
}

.consultation-time__weekdays,
.consultation-time__days {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.consultation-time__weekdays {
    color: #6e6b66;
    font-size: .75rem;
    font-weight: var(--font-weight-bold);
    margin-bottom: .5rem;
    text-align: center;
}

.consultation-time__day {
    aspect-ratio: 1;
    background: transparent;
    border: 1px solid #eee8df;
    color: #222831;
    font-weight: var(--font-weight-medium);
}

.consultation-time__day:disabled {
    color: #c4c0ba;
}

.consultation-time__day:not(:disabled):hover,
.consultation-time__day:not(:disabled):focus-visible,
.consultation-time__day.is-selected {
    background: #edf3ef;
    border-color: #587363;
    color: #315942;
    outline: 0;
}

.consultation-time__day.is-blank {
    border: 1px solid #f5f1eb;
}

.consultation-time__panel {
    background: #f6f8f6;
}

.consultation-time__status {
    color: #6e6b66;
    font-size: .9375rem;
    line-height: 1.5;
    margin: .75rem 0 0;
}

.consultation-time__slots {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin: 1.25rem 0;
}

.consultation-time__slot {
    background: #fff;
    border: 1px solid #dcd6cc;
    border-radius: .375rem;
    color: #222831;
    min-height: 2.625rem;
    padding: .5rem .75rem;
}

.consultation-time__slot[aria-pressed="true"] {
    background: #1e3a5f;
    border-color: #1e3a5f;
    color: #fff;
}

.consultation-time__slot:disabled {
    cursor: not-allowed;
    opacity: .4;
}

.consultation-time__chosen {
    border-top: 1px solid #dfe4df;
    display: grid;
    gap: .75rem;
    padding-top: 1.25rem;
}

.consultation-time__chosen-row {
    align-items: center;
    display: flex;
    font-size: .9375rem;
    gap: .75rem;
    justify-content: space-between;
}

.consultation-time__chosen-row button {
    background: transparent;
    border: 0;
    color: #6d3128;
    font-size: 1.5rem;
    line-height: 1;
    padding: .25rem .5rem;
}

.consultation-time__count {
    color: #6e6b66;
    display: grid;
    font-size: .875rem;
    gap: .25rem;
    line-height: 1.5;
    margin: 0;
}

.consultation-time__count p {
    margin: 0;
}

.consultation-time__count p:last-child {
    margin-top: .45rem;
}

.consultation-booking {
    border-top: 1px solid #e7ded2;
    margin-top: clamp(3rem, 7vw, 5rem);
    padding-top: clamp(2rem, 5vw, 3.5rem);
}

.consultation-booking__heading {
    display: grid;
    gap: .625rem;
    max-width: 42rem;
}

.consultation-booking__heading .eyebrow,
.consultation-summary .eyebrow {
    margin: 0;
}

[data-consultation-selected-offer] {
    color: #6e6b66;
    font-size: .875rem;
    margin: 0;
}

.consultation-booking h2 {
    font-size: clamp(1.5rem, 2.8vw, 2.25rem);
    font-weight: var(--font-weight-regular);
    letter-spacing: -.02em;
    line-height: 1.2;
}

.consultation-booking__timezone,
.consultation-booking__status {
    color: #6e6b66;
    font-size: .875rem;
    margin: 0;
}

.consultation-booking__status {
    margin-top: 1.5rem;
}

.consultation-booking__layout {
    align-items: start;
    display: grid;
    gap: clamp(1.5rem, 4vw, 3rem);
    grid-template-columns: minmax(18rem, 1.1fr) minmax(16rem, .9fr);
    margin-top: 1.75rem;
}

.consultation-calendar,
.consultation-times,
.consultation-summary,
.consultation-booking__fallback {
    border: 1px solid #e7ded2;
    border-radius: .5rem;
    padding: 1.25rem;
}

.consultation-calendar__toolbar {
    align-items: center;
    display: grid;
    gap: .75rem;
    grid-template-columns: 2.75rem minmax(0, 1fr) 2.75rem;
    margin-bottom: 1.25rem;
}

.consultation-calendar__toolbar h3 {
    font-size: 1.125rem;
    font-weight: var(--font-weight-medium);
    text-align: center;
    text-transform: capitalize;
}

.consultation-calendar__toolbar button {
    align-items: center;
    background: transparent;
    border: 1px solid #e7ded2;
    border-radius: 50%;
    color: #222831;
    display: inline-flex;
    font: inherit;
    font-size: 1.25rem;
    height: 2.75rem;
    justify-content: center;
    width: 2.75rem;
}

.consultation-calendar__toolbar button:disabled {
    color: #b6b1aa;
    cursor: not-allowed;
}

.consultation-calendar__weekdays,
.consultation-calendar__days {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.consultation-calendar__weekdays {
    color: #6e6b66;
    font-size: .6875rem;
    font-weight: var(--font-weight-bold);
    margin-bottom: .375rem;
    text-align: center;
}

.consultation-calendar__day {
    align-items: center;
    aspect-ratio: 1;
    background: transparent;
    border: 0;
    border-radius: .375rem;
    color: #b6b1aa;
    display: inline-flex;
    font: inherit;
    font-size: .875rem;
    justify-content: center;
    padding: 0;
}

.consultation-calendar__day:not(:disabled) {
    color: #1e3a5f;
    cursor: pointer;
    font-weight: var(--font-weight-bold);
}

.consultation-calendar__day:not(:disabled):hover,
.consultation-calendar__day:not(:disabled):focus-visible {
    background: #e8eef4;
    outline: none;
}

.consultation-calendar__day.is-selected {
    background: #1e3a5f;
    color: #fff;
}

.consultation-calendar__empty {
    color: #6e6b66;
    font-size: .8125rem;
    line-height: 1.5;
    margin: 1rem 0 0;
}

.consultation-times {
    background: #f5f1eb;
}

.consultation-times h3 {
    font-size: 1.0625rem;
    font-weight: var(--font-weight-medium);
}

.consultation-times > p {
    color: #6e6b66;
    font-size: .875rem;
    margin: .5rem 0 1rem;
}

.consultation-times__slots {
    display: grid;
    gap: .625rem;
}

.consultation-times__slot {
    background: #fff;
    border: 1px solid #d9e0e7;
    border-radius: .375rem;
    color: #222831;
    cursor: pointer;
    font: inherit;
    font-size: .9375rem;
    font-weight: var(--font-weight-medium);
    min-height: 2.875rem;
    padding: .625rem .875rem;
    text-align: left;
}

.consultation-times__slot:hover,
.consultation-times__slot:focus-visible,
.consultation-times__slot[aria-pressed="true"] {
    border-color: #1e3a5f;
    box-shadow: inset 0 0 0 1px #1e3a5f;
    outline: none;
}

.consultation-summary {
    background: #ede8e0;
    margin-top: 1.25rem;
}

.consultation-summary h3 {
    font-size: 1.0625rem;
    font-weight: var(--font-weight-medium);
    margin-top: .5rem;
}

.consultation-summary p:not(.eyebrow) {
    color: #6e6b66;
    font-size: .875rem;
    margin: .375rem 0 0;
}

.consultation-summary__price {
    color: #222831 !important;
    font-size: 1.0625rem !important;
    font-weight: var(--font-weight-medium);
    margin-top: .875rem !important;
}

.consultation-summary .button {
    justify-content: center;
    margin-top: 1.25rem;
    min-height: 2.875rem;
    width: 100%;
}

.consultation-summary__note {
    font-size: .75rem !important;
    line-height: 1.5;
    margin-top: .875rem !important;
}

.consultation-booking__fallback {
    margin-top: 1.25rem;
}

.consultation-booking__fallback strong {
    color: #222831;
    font-size: .9375rem;
}

.consultation-booking__fallback p {
    color: #6e6b66;
    font-size: .875rem;
    line-height: 1.6;
    margin: .375rem 0 0;
}

.consultation-page__cta {
    background: #ede8e0;
    color: #ede8e0;
    text-align: center;
}

.consultation-page__cta > div {
    display: grid;
    justify-items: center;
    max-width: 47rem;
}

.consultation-page__cta .eyebrow {
    margin: 0 0 1.25rem;
}

.consultation-page__cta h2 {
    font-size: clamp(1.75rem, 3.4vw, 3rem);
    margin-bottom: 2rem;
}

.consultation-page__cta .button {
    min-width: min(100%, 17rem);
}

.consultation-page__contact-methods {
    color: #222831 !important;
    font-size: 1.0625rem !important;
    font-weight: var(--font-weight-medium);
    letter-spacing: .01em;
}

.consultation-page__contact-methods span {
    color: #a86a4a;
    margin: 0 .4rem;
}

.consultation-page__tertiary-links {
    display: grid;
    gap: .75rem;
    margin-top: 1.5rem;
}

.consultation-page__tertiary-links a {
    align-items: center;
    color: #1e3a5f;
    display: inline-flex;
    font-size: .875rem;
    font-weight: var(--font-weight-medium);
    gap: .5rem;
    justify-content: space-between;
    text-decoration: none;
}

@media (max-width: 800px) {
    .consultation-page,
    .consultation-page .ds-hero--consultation,
    .consultation-page .ds-hero--consultation > *,
    .consultation-page .ds-hero--consultation .ds-hero__content,
    .consultation-page .ds-hero--consultation .lead,
    .consultation-page__two-column,
    .consultation-page__copy,
    .consultation-page__information {
        min-width: 0;
    }

    .consultation-page .ds-hero--consultation {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .consultation-page .ds-hero--consultation .ds-hero__content {
        padding: 2.5rem 1.5rem;
    }

    .consultation-page .ds-hero--consultation h1 {
        font-size: clamp(2rem, 9vw, 2.5rem);
        max-width: 14ch;
    }

    .consultation-page .ds-hero--consultation .ds-hero__media {
        margin-right: 0;
        min-height: 16.25rem;
        padding: 0 1.5rem;
    }

    .consultation-page .ds-hero--consultation .ds-hero__media img {
        border-radius: .75rem .75rem 0 0;
        height: 16.25rem;
        margin: 0 auto;
        max-width: 21.25rem;
        object-position: 50% 15%;
        width: 100%;
    }

    .consultation-page__section,
    .consultation-page__cta {
        padding: 3.5rem 1.5rem;
    }

    .consultation-page__reading,
    .consultation-page__copy {
        gap: 1rem;
    }

    .consultation-page__reading h2,
    .consultation-page__copy h2 {
        font-size: 1.5rem;
    }

    .consultation-page__two-column {
        gap: 2.5rem;
        grid-template-columns: minmax(0, 1fr);
    }

    .consultation-page__alternatives-nav,
    .consultation-page__information,
    .consultation-formats,
    .consultation-wizard__variants,
    .consultation-time,
    .consultation-booking__layout {
        grid-template-columns: 1fr;
    }

    .consultation-wizard {
        min-height: 0;
        padding: 2.5rem 1.5rem 3.5rem;
    }

    .consultation-wizard__steps {
        gap: .5rem;
        grid-template-columns: repeat(auto-fit, minmax(6.25rem, 1fr));
    }

    .consultation-wizard__variant {
        min-height: 0;
    }

    .consultation-wizard__continue {
        justify-self: stretch;
    }

    .consultation-wizard__consents {
        justify-items: stretch;
    }

    .consultation-wizard__consents label {
        font-size: .9375rem;
    }

    .consultation-wizard__code { margin-top: 2.25rem; padding-top: 1.25rem; }

    .consultation-wizard__code-form { grid-template-columns: 1fr; }

    .consultation-wizard__code-form .button { justify-content: center; width: 100%; }

    .direct-code-payment__form { padding: 1.25rem; }

    .direct-code-payment__form .button { justify-content: center; width: 100%; }

    .consultation-wizard__account-actions > .button {
        flex: 1 1 12rem;
        justify-content: center;
    }

    .consultation-time__calendar,
    .consultation-time__panel {
        padding: 1rem;
    }

    .consultation-page__alternatives-nav a + a,
    .consultation-page__information article + article {
        border-left: 0;
        padding-left: 0;
    }

    .consultation-page__information article {
        padding: 1.25rem 0 0;
    }

    .consultation-page__reading p,
    .consultation-page__copy p,
    .consultation-page__process-list span,
    .consultation-page__results p {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .consultation-offer {
        min-height: 0;
    }

    .consultation-booking__layout {
        gap: 1rem;
    }

    .consultation-calendar,
    .consultation-times,
    .consultation-summary,
    .consultation-booking__fallback {
        padding: 1rem;
    }
}

.assessment-catalog-header {
    max-width: 48rem;
    padding-block: var(--space-6) var(--space-5);
}

.assessment-navigator {
    background: var(--color-info-surface);
    border: 1px solid var(--color-border-strong);
    display: grid;
    gap: var(--space-4);
    padding: var(--space-5);
}

.assessment-navigator__form {
    display: grid;
    gap: var(--space-3);
}

.assessment-navigator__form fieldset {
    border: 0;
    display: grid;
    gap: var(--space-2);
    margin: 0;
    padding: 0;
}

.assessment-navigator__form legend {
    font-weight: var(--font-weight-medium);
    margin-bottom: var(--space-2);
}

.assessment-navigator__form label {
    align-items: center;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    display: flex;
    gap: var(--space-2);
    min-height: 44px;
    padding: var(--space-2) var(--space-3);
}

.assessment-recommendations,
.assessment-section,
.assessment-admin-section {
    display: grid;
    gap: var(--space-3);
}

.assessment-recommendation {
    align-items: center;
    background: var(--color-surface);
    border-top: 1px solid var(--color-border);
    display: flex;
    gap: var(--space-3);
    justify-content: space-between;
    padding-block: var(--space-3);
}

.assessment-recommendation p,
.assessment-card p {
    color: var(--color-text-secondary);
    margin: var(--space-1) 0 0;
}

.assessment-filters {
    border-bottom: 1px solid var(--color-border);
    display: grid;
    gap: var(--space-3);
    padding-block: var(--space-5);
}

.assessment-filter-primary {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.assessment-filter-primary a {
    border-bottom: 2px solid transparent;
    padding: var(--space-2) 0;
    text-decoration: none;
}

.assessment-filter-primary a[aria-current="page"] {
    border-color: var(--color-highlight);
    font-weight: var(--font-weight-medium);
}

.assessment-filter-details > div {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    padding-top: var(--space-3);
}

.assessment-filter-details label,
.assessment-admin-section label {
    display: grid;
    gap: var(--space-1);
}

.assessment-section {
    padding-block: var(--space-5);
}

.assessment-grid {
    display: grid;
    gap: var(--space-3);
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
}

.assessment-card {
    border: 1px solid var(--color-border);
    display: grid;
    gap: var(--space-3);
    min-width: 0;
    padding: var(--space-4);
}

.assessment-card__meta,
.assessment-tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.assessment-card__meta span,
.assessment-tags li {
    background: var(--color-surface-muted);
    color: var(--color-text-secondary);
    font-size: var(--font-size-xs);
    list-style: none;
    padding: .25rem .5rem;
}

.assessment-tags {
    margin: 0;
    padding: 0;
}

.assessment-empty {
    color: var(--color-text-secondary);
}

/* Public assessment discovery follows the editorial public-page rhythm. */
.assessment-catalog-page {
    background: #f5f1eb;
}

.assessment-catalog-page__reading {
    margin: 0 auto;
    max-width: 46rem;
}

.assessment-catalog-page__intro,
.assessment-catalogue-section {
    padding: clamp(5rem, 10vw, 9rem) max(1.5rem, calc((100vw - var(--container)) / 2));
}

.assessment-catalog-page__intro {
    background: #f5f1eb;
}

.assessment-catalog-page h1,
.assessment-catalog-page h2,
.assessment-catalog-page h3,
.assessment-catalog-page p {
    overflow-wrap: anywhere;
}

.assessment-catalog-page h1 {
    color: #222831;
    font-size: clamp(2.25rem, 4.2vw, 3.5rem);
    font-weight: var(--font-weight-regular);
    letter-spacing: -.025em;
    line-height: 1.12;
    margin: 0 0 2.25rem;
}

.assessment-catalog-page__copy {
    display: grid;
    gap: 1rem;
    max-width: 42rem;
}

.assessment-catalog-page__copy p,
.assessment-catalogue-section__header p,
.assessment-catalogue-card p {
    color: #6e6b66;
    font-size: var(--font-size-md);
    line-height: 1.75;
    margin: 0;
}

.assessment-catalogue-section {
    background: #fffdf9;
}

.assessment-catalogue-section:nth-child(even) {
    background: #f0ece5;
}

.assessment-catalogue-section__header {
    margin-bottom: 3rem;
    max-width: 42rem;
}

.assessment-catalogue-section__header h2 {
    color: #222831;
    font-size: clamp(1.6rem, 2.8vw, 2.35rem);
    font-weight: var(--font-weight-regular);
    letter-spacing: -.02em;
    line-height: 1.2;
    margin: 0 0 1rem;
}

.assessment-catalogue-section__cards {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.assessment-catalogue-card {
    background: #fffdf9;
    border: 1px solid #e4ddd2;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: 0;
    padding: clamp(1.5rem, 3vw, 2.25rem);
}

.assessment-catalogue-card h3 {
    color: #222831;
    font-size: clamp(1.2rem, 1.8vw, 1.45rem);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0;
    line-height: 1.3;
    margin: 0;
}

.assessment-catalogue-card .button {
    align-self: flex-start;
    margin-top: auto;
}

.assessment-catalogue-card:hover {
    border-color: #c9bba9;
    box-shadow: 0 4px 14px rgb(34 40 49 / 5%);
}

.assessment-catalogue-card:focus-within {
    border-color: #24446f;
}

/* Public materials retain the editorial rhythm of the public homepage. */
.materials-page {
    background: #f5f1eb;
    color: #222831;
}

.materials-page__reading {
    margin: 0 auto;
    max-width: 68.75rem;
}

.materials-page__hero,
.materials-page__catalogue {
    padding-inline: clamp(1.5rem, 5vw, 4.5rem);
}

.materials-page__hero {
    margin-inline: auto;
    max-width: 55rem;
    padding-bottom: clamp(3.5rem, 6vw, 5.5rem);
    padding-top: clamp(6rem, 11vw, 8.5rem);
}

.materials-page h1,
.materials-page h2,
.materials-page h3,
.materials-page p {
    overflow-wrap: anywhere;
}

.materials-page h1,
.materials-page h2 {
    color: #222831;
    font-weight: var(--font-weight-regular);
    line-height: 1.12;
    margin: 0;
}

.materials-page h1 {
    font-size: clamp(2.25rem, 4.25vw, 3.75rem);
    max-width: 42rem;
}

.materials-page__copy {
    color: #6e6b66;
    display: grid;
    font-size: 1rem;
    gap: 1rem;
    line-height: 1.78;
    margin-top: 1.5rem;
    max-width: 43rem;
}

.materials-page__copy p {
    margin: 0;
}

.materials-page__lead {
    color: #222831;
    font-size: clamp(1.125rem, 1.7vw, 1.3rem);
    line-height: 1.55;
    max-width: 40rem;
}

.materials-page__emphasis {
    color: #222831;
    font-size: 1.0625rem;
    font-style: italic;
    line-height: 1.65;
    margin-top: .25rem !important;
}

.materials-page__transition {
    color: #222831;
    font-weight: var(--font-weight-medium);
    margin-top: .25rem !important;
}

.materials-page__catalogue {
    background: #fcfbf8;
    box-shadow: 50vw 0 0 #fcfbf8, -50vw 0 0 #fcfbf8;
    padding-bottom: clamp(4rem, 7vw, 6.5rem);
    padding-top: clamp(3.5rem, 6vw, 5rem);
}

.materials-page__catalogue-header {
    margin-bottom: clamp(2rem, 4vw, 3.25rem);
}

.materials-page__catalogue-header h2 {
    font-size: clamp(1.75rem, 3.1vw, 2.5rem);
}

.materials-page__grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.materials-page__card {
    background: #fffdf9;
    border: 1px solid #e7ded2;
    border-radius: .625rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    min-width: 0;
    padding: clamp(1.5rem, 3vw, 2.25rem);
    transition: border-color var(--motion-fast), box-shadow var(--motion-fast);
}

.materials-page__card:hover {
    border-color: #c9b9aa;
    box-shadow: 0 8px 20px rgb(34 40 49 / 4.5%);
}

.materials-page__card:focus-within {
    border-color: #24446f;
}

.materials-page__card h3 {
    color: #222831;
    font-size: clamp(1.2rem, 1.8vw, 1.45rem);
    font-weight: var(--font-weight-medium);
    line-height: 1.3;
    margin: 0;
}

.materials-page__card .button {
    align-self: flex-start;
    margin-top: auto;
}

.materials-page__empty {
    border-top: 1px solid #e7ded2;
    color: #6e6b66;
    font-size: 1rem;
    line-height: 1.7;
    margin: 0;
    padding-top: 1.5rem;
}

@media (max-width: 1100px) {
    .materials-page__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 800px) {
    .materials-page__hero { padding-top: 5.5rem; }
    .materials-page__copy { font-size: .9375rem; line-height: 1.75; }
    .materials-page__grid { grid-template-columns: 1fr; }
    .materials-page__card .button { align-self: stretch; width: 100%; }
}

@media (max-width: 800px) {
    .assessment-catalog-page__intro,
    .assessment-catalogue-section {
        padding: 4.5rem 1.5rem;
    }

    .assessment-catalog-page h1 {
        font-size: 2.25rem;
        margin-bottom: 2rem;
    }

    .assessment-catalogue-section__header {
        margin-bottom: 2rem;
    }

    .assessment-catalogue-section__header h2 {
        font-size: 1.6rem;
    }

    .assessment-catalogue-section__cards {
        grid-template-columns: 1fr;
    }

    .assessment-catalogue-card .button {
        align-self: stretch;
        width: 100%;
    }
}

.assessment-runtime {
    margin-inline: auto;
    max-width: 48rem;
    padding-block: clamp(4rem, 10vw, 8rem);
}

.assessment-runtime__intro,
.assessment-runtime__question,
.assessment-runtime__complete,
.assessment-runtime__result {
    display: grid;
    gap: var(--space-4);
}

.assessment-runtime__intro > form,
.assessment-runtime__complete > form {
    margin-top: var(--space-2);
}

.assessment-runtime__progress {
    display: grid;
    gap: var(--space-2);
}

.assessment-runtime__progress p {
    margin: 0;
}

.assessment-runtime__progress-bar {
    background: var(--color-surface-muted);
    height: .25rem;
    overflow: hidden;
}

.assessment-runtime__progress-bar span {
    background: var(--color-accent);
    display: block;
    height: 100%;
    transition: width .2s ease;
}

.assessment-runtime__form {
    border-top: 1px solid var(--color-border);
    display: grid;
    gap: var(--space-4);
    padding-top: var(--space-4);
}

.assessment-runtime__form fieldset {
    border: 0;
    display: grid;
    gap: var(--space-2);
    margin: 0;
    padding: 0;
}

.assessment-runtime__grouped-fields {
    display: grid;
    gap: var(--space-5);
}

.assessment-runtime__grouped-fields fieldset + fieldset {
    border-top: 1px solid var(--color-border);
    padding-top: var(--space-4);
}

.assessment-runtime__form legend {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-medium);
    line-height: 1.3;
    margin-bottom: var(--space-2);
}

.assessment-runtime__form fieldset > p {
    color: var(--color-text-secondary);
    margin: 0 0 var(--space-1);
}

.assessment-runtime__option {
    align-items: center;
    border: 1px solid var(--color-border);
    cursor: pointer;
    display: flex;
    min-height: 3rem;
    padding: var(--space-2) var(--space-3);
}

.assessment-runtime__option:has(input:checked) {
    border-color: var(--color-accent);
}

.assessment-runtime__option input {
    margin: 0 var(--space-2) 0 0;
}

.assessment-runtime__actions {
    display: flex;
    gap: var(--space-2);
    justify-content: space-between;
}

.assessment-runtime__actions .button--primary:first-child:last-child {
    margin-left: auto;
}

.assessment-runtime__result-header,
.assessment-runtime__profile,
.assessment-runtime__interpretation,
.assessment-runtime__notices,
.assessment-runtime__disclaimer,
.assessment-runtime__next-step,
.assessment-runtime__result-footer {
    display: grid;
    gap: var(--space-3);
}

.assessment-runtime__summary {
    background: var(--color-surface-muted);
    border: 1px solid var(--color-border);
    display: grid;
    gap: var(--space-1);
    margin-top: var(--space-2);
    padding: var(--space-4);
}

.assessment-runtime__summary-label,
.assessment-runtime__summary-score,
.assessment-runtime__summary-band,
.assessment-runtime__profile header h2,
.assessment-runtime__profile header p,
.assessment-runtime__interpretation > h2,
.assessment-runtime__notices > h2,
.assessment-runtime__disclaimer h2,
.assessment-runtime__next-step h2,
.assessment-runtime__result-item h3,
.assessment-runtime__result-item p,
.assessment-runtime__notice h3,
.assessment-runtime__notice p,
.assessment-runtime__scales dt,
.assessment-runtime__scales dd,
.assessment-runtime__scales dd p {
    margin: 0;
}

.assessment-runtime__summary-label {
    color: var(--color-text-secondary);
    font-size: var(--font-size-sm);
}

.assessment-runtime__summary-score {
    font-size: clamp(2.5rem, 7vw, 4rem);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0;
    line-height: 1;
}

.assessment-runtime__summary-score span {
    color: var(--color-text-secondary);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-regular);
}

.assessment-runtime__summary-band {
    color: var(--color-accent);
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-medium);
}

.assessment-runtime__profile header,
.assessment-runtime__interpretation > h2,
.assessment-runtime__notices > h2,
.assessment-runtime__disclaimer h2,
.assessment-runtime__next-step h2 {
    display: grid;
    gap: var(--space-1);
}

.assessment-runtime__profile header p,
.assessment-runtime__result-item p,
.assessment-runtime__notice p,
.assessment-runtime__disclaimer p,
.assessment-runtime__scales dd {
    color: var(--color-text-secondary);
}

.assessment-runtime__result-item,
.assessment-runtime__notice,
.assessment-runtime__scales > div {
    border-top: 1px solid var(--color-border);
    display: grid;
    gap: var(--space-2);
    padding-top: var(--space-3);
}

.assessment-runtime__scales {
    display: grid;
    gap: var(--space-3);
    margin: 0;
}

.assessment-runtime__scales dd {
    display: grid;
    gap: var(--space-2);
}

.assessment-runtime__disclaimer {
    border-top: 1px solid var(--color-border);
    color: var(--color-text-secondary);
    font-size: var(--font-size-sm);
    padding-top: var(--space-3);
}

.assessment-runtime__next-step {
    border-top: 1px solid var(--color-border);
    padding-top: var(--space-4);
}

@media (max-width: 767px) {
    .assessment-runtime {
        padding-inline: var(--space-4);
        padding-block: var(--space-5);
    }

    .assessment-runtime__actions {
        display: grid;
    }

    .assessment-runtime__actions .button,
    .assessment-runtime__intro .button,
    .assessment-runtime__complete .button,
    .assessment-runtime__next-step .button,
    .assessment-runtime__result-footer .button {
        justify-content: center;
        width: 100%;
    }
}

.assessment-admin-section > form,
.assessment-admin-item,
.assessment-admin-item form {
    display: grid;
    gap: var(--space-2);
}

.assessment-admin-item {
    border-top: 1px solid var(--color-border);
    padding-top: var(--space-3);
}

@media (min-width: 768px) {
    .assessment-navigator {
        grid-template-columns: minmax(14rem, .8fr) minmax(20rem, 1.2fr);
    }

    .assessment-recommendations {
        grid-column: 1 / -1;
    }
}

.notification-list {
    display: grid;
    gap: var(--space-3);
    list-style: none;
    margin: var(--space-4) 0;
    padding: 0;
}

.notification-item {
    border: 1px solid var(--color-border);
    padding: var(--space-3);
}

.notification-item.is-unread {
    border-left: 4px solid var(--color-accent);
    font-weight: 600;
}

.notification-meta {
    color: var(--color-text-muted);
    font-size: .875rem;
}

.notification-body {
    white-space: pre-wrap;
}

@media (min-width: 801px) {
    .home-page .ds-hero--home .ds-hero__media::before {
        content: none;
        display: none;
    }

    .home-page .ds-hero--home .ds-hero__media img {
        margin-bottom: 2rem;
    }
}

@media (max-width: 640px) {
    .content-library-filters,
    .content-classification-grid {
        grid-template-columns: 1fr;
    }

    .content-library-heading,
    .content-library-item,
    .content-viewer__heading {
        flex-direction: column;
    }

    .content-file-summary,
    .content-file-replace {
        align-items: stretch;
        flex-direction: column;
    }

    .content-preview__image-stage,
    .content-preview__frame {
        min-height: 320px;
    }

    .content-preview__frame iframe {
        height: 65vh;
        min-height: 420px;
    }
}

/* Experience presentation policies */
.experience {
    display: grid;
    gap: var(--space-5);
    margin: 0 auto;
    max-width: var(--container-wide);
    padding: var(--space-6) var(--space-4);
}

.experience__header {
    max-width: 52rem;
}

.experience__header h1 {
    max-width: 18ch;
}

.experience__layout,
.experience__main,
.experience-components {
    display: grid;
    gap: var(--space-4);
    min-width: 0;
}

.experience__sidebar {
    min-width: 0;
}

.experience-toc {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
}

.experience-toc summary {
    cursor: pointer;
    font-weight: var(--font-weight-bold);
    min-height: 44px;
    padding: var(--space-3);
}

.experience-toc nav {
    border-top: 1px solid var(--color-border);
    max-height: min(65vh, 42rem);
    overflow: auto;
    padding: var(--space-3);
}

.experience-toc h3 {
    font-size: var(--font-size-md);
    margin-top: var(--space-3);
}

.experience-toc ul {
    display: grid;
    gap: var(--space-1);
    list-style: none;
    margin: 0;
    padding: 0;
}

.experience-toc a,
.experience-toc li > span:first-child {
    border-radius: var(--radius-sm);
    display: block;
    overflow-wrap: anywhere;
    padding: var(--space-1) var(--space-2);
    text-decoration: none;
}

.experience-toc a[aria-current="page"] {
    background: var(--color-surface-muted);
    font-weight: var(--font-weight-bold);
}

.experience-progress {
    align-items: center;
    background: var(--color-surface-subtle);
    border-block: 1px solid var(--color-border);
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    justify-content: space-between;
    padding: var(--space-3);
}

.experience-progress h2,
.experience-progress p {
    margin-bottom: var(--space-1);
}

.experience-progress progress {
    accent-color: var(--color-accent);
    max-width: 20rem;
    width: 100%;
}

.experience-component {
    justify-self: start;
    max-width: 48rem;
    min-width: 0;
    overflow-wrap: anywhere;
    width: 100%;
}

.experience-component > :last-child {
    margin-bottom: 0;
}

.experience-component--width-wide {
    max-width: 64rem;
}

.experience-component--width-full {
    justify-self: stretch;
    max-width: none;
}

.experience-component--density-compact {
    padding-block: var(--space-2);
}

.experience-component--align-center {
    justify-self: center;
    text-align: center;
}

.experience-component--align-right {
    justify-self: end;
    text-align: right;
}

.experience-component--accent-info,
.experience-component--accent-success,
.experience-component--accent-warning {
    border-left: 3px solid var(--color-border-strong);
    padding: var(--space-3);
}

.experience-component--accent-info {
    background: var(--color-info-surface);
    border-left-color: var(--color-info);
}

.experience-component--accent-success {
    background: var(--color-success-surface);
    border-left-color: var(--color-success);
}

.experience-component--accent-warning {
    background: var(--color-warning-surface);
    border-left-color: var(--color-warning);
}

.experience-component--structure-divider {
    max-width: none;
}

.experience-component--structure-divider hr {
    border: 0;
    border-top: 1px solid var(--color-border);
}

.experience-spacer {
    min-height: var(--space-4);
}

.experience-spacer--small {
    min-height: var(--space-2);
}

.experience-spacer--large {
    min-height: var(--space-7);
}

.experience-navigation,
.experience-navigation__primary,
.experience-navigation__secondary {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.experience-navigation {
    border-top: 1px solid var(--color-border);
    justify-content: space-between;
    padding-top: var(--space-4);
}

.experience-navigation__primary {
    margin-left: auto;
}

.experience-component .content-preview__frame,
.experience-component .content-preview__image-stage {
    min-height: clamp(20rem, 55vh, 46rem);
}

/* Public Experiences are read as editorial materials rather than courses. */
.experience--public-material {
    background: #f5f1eb;
    gap: 0;
    max-width: none;
    padding: 0;
}

.experience--public-material .experience__header {
    margin: 0 auto;
    max-width: 46rem;
    padding: clamp(4.5rem, 8vw, 7rem) clamp(1.5rem, 5vw, 4.5rem) clamp(2.5rem, 4vw, 3.75rem);
    width: 100%;
}

.experience--public-material .experience__back {
    color: #1e3a5f;
    display: inline-block;
    font-size: .875rem;
    font-weight: var(--font-weight-medium);
    margin-bottom: 1.75rem;
    text-decoration: none;
    text-underline-offset: .2em;
}

.experience--public-material .experience__back:hover {
    text-decoration: underline;
}

.experience--public-material .experience__header .eyebrow {
    color: #a86a4a;
    font-size: .625rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: .18em;
    margin: 0 0 1.125rem;
    text-transform: uppercase;
}

.experience--public-material .experience__header h1 {
    color: #222831;
    font-size: clamp(2.15rem, 4vw, 3.5rem);
    font-weight: var(--font-weight-regular);
    letter-spacing: 0;
    line-height: 1.13;
    max-width: 18ch;
    overflow-wrap: anywhere;
}

.experience--public-material .experience__layout {
    background: #fffdf9;
    box-shadow: 50vw 0 0 #fffdf9, -50vw 0 0 #fffdf9;
    display: block;
    padding: clamp(2.5rem, 5vw, 4.5rem) clamp(1.5rem, 5vw, 4.5rem) clamp(4rem, 7vw, 6.5rem);
}

.experience--public-material .experience__main {
    margin: 0 auto;
    max-width: 68.75rem;
}

.experience--public-material .experience-components {
    gap: clamp(2rem, 4vw, 3.5rem);
}

.experience--public-material .experience-component {
    max-width: 44rem;
}

.experience--public-material .experience-component--width-wide,
.experience--public-material .experience-component--content-video,
.experience--public-material .experience-component--content-audio {
    max-width: 64rem;
}

.experience--public-material .experience-component--width-full {
    max-width: none;
}

.experience--public-material .experience-component h2,
.experience--public-material .content-rendered h2,
.experience--public-material .content-rendered h3 {
    color: #222831;
    font-weight: var(--font-weight-medium);
    line-height: 1.3;
}

.experience--public-material .experience-component h2,
.experience--public-material .content-rendered h2 {
    font-size: clamp(1.45rem, 2.5vw, 2rem);
    margin: 0;
}

.experience--public-material .content-rendered {
    color: #3f454b;
    font-size: 1.0625rem;
    line-height: 1.8;
    margin: 0;
    max-width: 44rem;
}

.experience--public-material .content-rendered > :first-child { margin-top: 0; }
.experience--public-material .content-rendered > :last-child { margin-bottom: 0; }
.experience--public-material .content-rendered p { margin: 0 0 1.25rem; }
.experience--public-material .content-rendered ul,
.experience--public-material .content-rendered ol { margin: 0 0 1.25rem; padding-left: 1.35rem; }
.experience--public-material .content-rendered li + li { margin-top: .5rem; }

.experience--public-material .content-preview {
    gap: 1rem;
}

.experience--public-material .content-preview__media,
.experience--public-material .content-preview__audio {
    border-radius: .5rem;
}

.experience--public-material .content-preview__frame,
.experience--public-material .content-preview__image-stage {
    border-color: #e7ded2;
    border-radius: .5rem;
}

.experience--public-material .experience-navigation {
    margin-top: clamp(.5rem, 2vw, 1.5rem);
}

@media (min-width: 1024px) {
    .experience__layout {
        align-items: start;
        grid-template-columns: minmax(14rem, 17rem) minmax(0, 1fr);
    }

    .experience__sidebar {
        position: sticky;
        top: 6rem;
    }

    .experience__header {
        margin-left: calc(17rem + var(--space-4));
    }
}

@media (max-width: 767px) {
    .experience {
        gap: var(--space-3);
        padding: var(--space-4) var(--space-3) calc(var(--space-7) + 4rem);
    }

    .experience__layout,
    .experience__main,
    .experience-components {
        gap: var(--space-3);
    }

    .experience-progress {
        align-items: stretch;
        display: grid;
    }

    .experience-progress .button {
        width: 100%;
    }

    .experience-navigation {
        background: var(--color-surface);
        border: 1px solid var(--color-border);
        bottom: 0;
        box-shadow: 0 -8px 24px rgba(23, 32, 47, .08);
        display: grid;
        gap: var(--space-2);
        left: 0;
        padding: var(--space-2) var(--space-3);
        position: fixed;
        right: 0;
        z-index: 8;
    }

    .experience-navigation__primary,
    .experience-navigation__secondary {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin: 0;
    }

    .experience-component--align-right {
        text-align: left;
    }

    .experience-component .content-preview__controls .button {
        width: auto;
    }

    .experience-component .content-preview__frame,
    .experience-component .content-preview__image-stage {
        min-height: 18rem;
    }

    .experience--public-material .experience__header {
        padding-top: 3.5rem;
    }

    .experience--public-material .experience__layout {
        padding-bottom: 4rem;
    }

    .experience--public-material .experience-navigation {
        background: transparent;
        border: 0;
        bottom: auto;
        box-shadow: none;
        padding: 0;
        position: static;
    }

    .experience--public-material .experience-navigation__primary,
    .experience--public-material .experience-navigation__secondary {
        grid-template-columns: 1fr;
    }

    .experience--public-material .content-rendered {
        font-size: 1rem;
        line-height: 1.75;
    }
}

.calendar-section + .calendar-section { margin-top: 1rem; }
.calendar-form { display: grid; gap: .85rem; max-width: 42rem; }
.calendar-form--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; }
.calendar-form label, .calendar-inline-form label { display: grid; gap: .35rem; font-weight: 600; }
.calendar-form input, .calendar-form select, .calendar-inline-form select {
    min-height: 2.75rem;
    width: 100%;
    border: 1px solid var(--color-border);
    border-radius: 4px;
    background: var(--color-surface);
    color: var(--color-text);
    padding: .55rem .7rem;
}
.calendar-list { margin: 1rem 0 0; padding-left: 1.25rem; }
.calendar-bookings { display: grid; gap: .75rem; }
.calendar-booking { display: grid; gap: .75rem; padding: 1rem 0; border-bottom: 1px solid var(--color-border); }
.calendar-booking.is-selected { border-left: 3px solid var(--color-accent); padding-left: .8rem; }
.calendar-booking h3, .calendar-booking p { margin: 0; }
.workspace-tabs { align-items: center; border-bottom: 1px solid var(--color-border); display: flex; gap: .25rem; overflow-x: auto; }
.workspace-tabs__item { border-bottom: 2px solid transparent; color: var(--color-text-muted); flex: 0 0 auto; font-weight: 700; padding: .7rem .9rem; text-decoration: none; }
.workspace-tabs__item:hover { color: var(--color-text); }
.workspace-tabs__item--active { border-bottom-color: var(--color-accent); color: var(--color-text); }
.payment-code-tabs { margin: 0 0 var(--space-4); }
.payment-code-panel { display: grid; gap: var(--space-4); }
.workspace-section-heading h2 { margin: .15rem 0 .4rem; }
.workspace-section-heading p:last-child { color: var(--color-text-muted); margin: 0; max-width: 44rem; }
.payment-code-form { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: none; }
.payment-code-form__error { background: color-mix(in srgb, #b94f43 10%, var(--color-surface)); border-left: 3px solid #b94f43; color: var(--color-text); grid-column: 1 / -1; margin: 0; padding: .75rem .9rem; }
.payment-code-form [disabled] { background: var(--color-surface-muted); color: var(--color-text-muted); cursor: not-allowed; opacity: .7; }
.payment-code-form [aria-invalid="true"] { border-color: #b94f43; box-shadow: 0 0 0 1px color-mix(in srgb, #b94f43 32%, transparent); }
.payment-code-form fieldset { border: 1px solid var(--color-border); display: grid; gap: .45rem; grid-column: 1 / -1; margin: 0; padding: .8rem; }
.payment-code-form legend { font-weight: 700; padding: 0 .3rem; }
.payment-code-check { align-items: center; display: flex !important; font-weight: 500 !important; gap: .5rem; }
.payment-code-check input { min-height: auto !important; width: auto !important; }
.payment-code-state-tabs { background: var(--color-surface-muted); border: 1px solid var(--color-border); border-radius: 8px; display: inline-flex; gap: .3rem; padding: .3rem; width: fit-content; }
.payment-code-state-tabs a { align-items: center; border-radius: 6px; color: var(--color-text-muted); display: inline-flex; font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); gap: .5rem; min-height: 2.4rem; padding: .4rem .85rem; text-decoration: none; }
.payment-code-state-tabs a:hover { background: color-mix(in srgb, var(--color-surface) 65%, transparent); color: var(--color-text); }
.payment-code-state-tabs a span { align-items: center; background: color-mix(in srgb, var(--color-text-muted) 12%, transparent); border-radius: 999px; display: inline-flex; font-size: .72rem; justify-content: center; min-width: 1.35rem; padding: .08rem .35rem; }
.payment-code-state-tabs a.is-active { background: var(--color-surface); box-shadow: 0 1px 3px color-mix(in srgb, var(--color-text) 14%, transparent); color: var(--color-accent); }
.payment-code-state-tabs a.is-active span { background: color-mix(in srgb, var(--color-accent) 14%, transparent); }
.payment-code-list { display: grid; gap: .75rem; }
.payment-code-row { align-items: stretch; background: var(--color-surface); border: 1px solid var(--color-border); display: grid; gap: var(--space-3); grid-template-columns: minmax(0, 1fr) minmax(18rem, .8fr) auto; padding: var(--space-3); }
.payment-code-row__summary { display: grid; gap: .2rem; }
.payment-code-row strong { color: var(--color-accent); font-size: 1.05rem; letter-spacing: .04em; }
.payment-code-row p { color: var(--color-text-muted); margin: .25rem 0 0; }
.payment-code-row__details { border-left: 1px solid var(--color-border); display: grid; gap: var(--space-2); grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding-left: var(--space-3); }
.payment-code-row__details div { display: grid; align-content: center; gap: .2rem; }
.payment-code-row__details dt { color: var(--color-text-muted); font-size: .75rem; font-weight: var(--font-weight-bold); text-transform: uppercase; }
.payment-code-row__details dd { margin: 0; }
.payment-code-row form { align-self: center; }
.consultation-notes { display: grid; gap: var(--space-3); margin-top: var(--space-4); }
.consultation-note { border-top: 1px solid var(--color-border); display: grid; gap: var(--space-2); padding-top: var(--space-3); }
.consultation-note__heading { align-items: center; display: flex; gap: var(--space-2); justify-content: space-between; }
.consultation-note__heading h5 { font-size: 1rem; margin: 0; }
.consultation-note__content { line-height: 1.65; overflow-wrap: anywhere; }
.consultation-note__content.is-empty { color: var(--color-text-muted); }
.consultation-note__content > :first-child { margin-top: 0; }
.consultation-note__content > :last-child { margin-bottom: 0; }
.consultation-note__edit { width: auto; }
.consultation-note__form { display: grid; gap: var(--space-2); }
.consultation-note__form[hidden] { display: none; }
.consultation-note__toolbar { display: flex; gap: .35rem; }
.consultation-note__toolbar button { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 4px; min-height: 2.25rem; min-width: 2.25rem; }
.consultation-note__input { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 6px; line-height: 1.65; min-height: 10rem; overflow-wrap: anywhere; padding: var(--space-3); }
.consultation-note__input:focus { border-color: var(--color-accent); outline: 2px solid color-mix(in srgb, var(--color-accent) 25%, transparent); }
.consultation-note__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.calendar-inline-form { display: flex; align-items: end; gap: .6rem; flex-wrap: wrap; }
.calendar-tabs { border-bottom: 1px solid var(--color-border); display: flex; gap: var(--space-4); margin: 0 0 var(--space-4); }
.calendar-tabs a { color: var(--color-text-muted); font-weight: 700; padding: .7rem .1rem; text-decoration: none; }
.calendar-tabs a[aria-current="page"] { border-bottom: 2px solid var(--color-accent); color: var(--color-text); }
.client-consultations-tabs { border-bottom: 1px solid var(--color-border); display: flex; gap: var(--space-4); margin: 0 0 var(--space-4); overflow-x: auto; scrollbar-width: thin; }
.client-consultations-tabs a { color: var(--color-text-muted); flex: 0 0 auto; font-weight: 700; padding: .75rem .1rem; text-decoration: none; }
.client-consultations-tabs a[aria-current="page"] { border-bottom: 2px solid var(--color-accent); color: var(--color-text); }
.client-consultations { display: grid; gap: var(--space-4); }
.client-consultations__nearest { display: grid; gap: var(--space-2); }
.client-consultations__nearest .eyebrow { margin: 0; }
.client-consultations__nearest h2, .client-consultations__later h2, .client-consultations--packages > h2, .client-consultations--history h2 { margin: 0; }
.client-consultations__time { font-size: 1.25rem; font-variant-numeric: tabular-nums; font-weight: 800; margin: 0; }
.client-consultations__nearest > p:not(.eyebrow):not(.client-consultations__time) { margin: 0; }
.client-consultations__actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: var(--space-2); }
.client-consultations details { position: relative; }
.client-consultations summary { color: var(--color-accent); cursor: pointer; font-weight: 700; }
.client-consultations details form, .client-consultations details > p { margin-top: .65rem; }
.client-consultations details form { display: grid; gap: .55rem; min-width: min(100%, 18rem); }
.client-consultations details label { display: grid; font-size: .9rem; font-weight: 700; gap: .3rem; }
.client-consultations details select { min-height: 2.5rem; }
.client-consultations__later { display: grid; gap: 0; }
.client-consultations__row { align-items: start; border-top: 1px solid var(--color-border); display: flex; gap: var(--space-3); justify-content: space-between; padding: var(--space-3) 0; }
.client-consultations__row > div { display: grid; gap: .25rem; }
.client-consultations__row span, .client-consultations__package > p, .client-consultations__allocation span, .client-consultations__history-list span { color: var(--color-text-muted); }
.client-consultations__allocations, .client-consultations__packages { display: grid; gap: .7rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.client-consultations__allocation { border: 1px solid var(--color-border); color: var(--color-text); display: grid; gap: .25rem; padding: var(--space-3); text-decoration: none; }
.client-consultations__allocation:hover, .client-consultations__allocation.is-selected { border-color: var(--color-accent); background: color-mix(in srgb, var(--color-accent) 8%, var(--color-surface)); }
.client-consultations__booking-form { border-top: 1px solid var(--color-border); margin-top: var(--space-4); padding-top: var(--space-4); }
.client-consultations__package { display: grid; gap: .55rem; }
.client-consultations__package h3, .client-consultations__package p { margin: 0; }
.client-consultations__package .button { justify-self: start; }
.client-consultations__history-list { display: grid; }
.client-consultations__history-list article { border-top: 1px solid var(--color-border); display: grid; gap: .2rem; padding: var(--space-3) 0; }
.client-consultations__empty { display: grid; gap: var(--space-3); justify-items: start; }
.client-consultations__empty h2, .client-consultations__empty p { margin: 0; }
.client-consultations-header { align-items: end; border-bottom: 1px solid var(--color-border); display: flex; gap: var(--space-4); justify-content: space-between; margin-bottom: var(--space-4); padding: var(--space-2) 0 0; }
.client-consultations-header h1 { font-size: clamp(1.6rem, 3vw, 2rem); margin: 0; }
.client-consultations-header > div > span { color: var(--color-text-muted); display: block; font-size: var(--font-size-sm); margin-top: .15rem; }
.client-consultations-tabs { background: transparent; border: 0; border-radius: 0; gap: .2rem; margin: 0; padding: 0; width: max-content; }
.client-consultations-tabs a { border-radius: calc(var(--radius-sm) - 2px); padding: .6rem .9rem; }
.client-consultations-tabs a[aria-current="page"] { background: var(--color-surface-muted); border-bottom: 2px solid var(--color-accent); box-shadow: none; }
.client-consultations__section-intro { max-width: 42rem; }
.client-consultations__section-intro h2, .client-consultations__section-intro p { margin: 0; }
.client-consultations__section-intro p { color: var(--color-text-muted); margin-top: .4rem; }
.client-consultations__nearest { gap: var(--space-4); padding: clamp(1.25rem, 3vw, 2rem); }
.client-consultations__nearest-intro { align-items: center; display: flex; gap: var(--space-2); justify-content: space-between; }
.client-consultations__nearest-intro span { color: var(--color-accent); font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); }
.client-consultations__nearest-grid { align-items: center; display: grid; gap: var(--space-4); grid-template-columns: 5rem minmax(0, 1fr); }
.client-consultations__date { align-items: center; background: var(--color-surface-muted); border: 1px solid var(--color-border); border-radius: var(--radius-sm); color: var(--color-text); display: flex; font-size: var(--font-size-lg); font-weight: var(--font-weight-bold); justify-content: center; min-height: 5rem; padding: .5rem; text-align: center; text-decoration: none; }
.client-consultations__nearest-grid h2, .client-consultations__nearest-grid p { margin: 0; }
.client-consultations__quiet { color: var(--color-text-muted); font-size: var(--font-size-sm); }
.client-consultations__allowance-note { color: var(--color-text-muted); font-size: var(--font-size-sm); }
.client-consultations__space-entry { align-items: center; display: flex; flex-wrap: wrap; gap: .45rem .8rem; margin-top: var(--space-2); }
.client-consultations__space-entry span { color: var(--color-text-muted); font-size: var(--font-size-sm); }
.client-consultations__space-entry a, .client-consultations__history-list a { color: var(--color-accent); font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); }
.client-consultations__section-heading { align-items: center; display: flex; gap: var(--space-3); justify-content: space-between; padding-bottom: var(--space-2); }
.client-consultations__section-heading h2 { margin: 0; }
.client-consultations__section-heading a, .client-consultations__row-actions a, .client-consultations__row-actions button { background: transparent; border: 0; color: var(--color-accent); font: inherit; font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); padding: 0; text-decoration: none; }
.client-consultations__section-heading a:hover, .client-consultations__row-actions a:hover, .client-consultations__row-actions button:hover { text-decoration: underline; }
.client-consultations__list { display: grid; }
.client-consultations__row { align-items: center; display: grid; grid-template-columns: 8.5rem minmax(0, 1fr) auto; }
.client-consultations__row time, .client-consultations__row > div { display: grid; gap: .2rem; }
.client-consultations__row time span { color: var(--color-text-muted); font-size: var(--font-size-sm); }
.client-consultations__row-actions { position: relative; }
.client-consultations__row-actions summary { align-items: center; background: var(--color-surface-muted); border: 1px solid var(--color-border); border-radius: 50%; cursor: pointer; display: flex; font-size: 1rem; font-weight: var(--font-weight-bold); height: 2.5rem; justify-content: center; list-style: none; width: 2.5rem; }
.client-consultations__row-actions summary::-webkit-details-marker { display: none; }
.client-consultations__row-actions > div { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-sm); box-shadow: 0 .5rem 1.25rem color-mix(in srgb, var(--color-text) 12%, transparent); display: grid; gap: .65rem; min-width: 9.5rem; padding: .75rem; position: absolute; right: 0; top: calc(100% + .35rem); z-index: 2; }
.client-consultations__row-actions hr { border: 0; border-top: 1px solid var(--color-border); margin: -.1rem 0; width: 100%; }
.client-booking-layout { display: grid; gap: var(--space-4); grid-template-columns: minmax(15rem, .78fr) minmax(0, 1.22fr); }
.client-booking__packages { align-content: start; display: grid; gap: .6rem; }
.client-booking__calendar { min-width: 0; }
.client-consultations__allocation { border-radius: var(--radius-sm); gap: .35rem; }
.client-consultations__allocation b { color: var(--color-accent); font-size: var(--font-size-sm); }
.client-consultations__package { align-items: start; gap: var(--space-2); grid-template-columns: minmax(0, 1fr) auto; padding: var(--space-3); }
.client-consultations__package > strong { color: var(--color-accent); font-size: var(--font-size-sm); }
.client-consultations__package > p { grid-column: 1 / -1; }
.client-consultations__package .button { min-height: 2.35rem; }
.client-consultation-calendar { display: grid; gap: var(--space-4); grid-template-columns: minmax(0, 1.1fr) minmax(13rem, .9fr); margin-top: var(--space-4); }
.client-consultation-calendar__month, .client-consultation-calendar__times { border-top: 1px solid var(--color-border); padding-top: var(--space-3); }
.client-consultation-calendar .consultation-time__calendar-head { margin-bottom: var(--space-3); }
.client-consultation-calendar .consultation-time__calendar-head h4, .client-consultation-calendar__times h4 { margin: 0; text-transform: capitalize; }
.client-consultation-calendar .consultation-time__calendar-head button { height: 2.25rem; width: 2.25rem; }
.client-consultation-calendar__times { align-content: start; background: var(--color-surface-muted); border-radius: var(--radius-sm); display: grid; gap: var(--space-2); padding: var(--space-3); }
.client-consultation-calendar__times > p { color: var(--color-text-muted); font-size: var(--font-size-sm); margin: 0; }
.client-consultation-calendar__times .consultation-time__slots { margin: .25rem 0 0; }
.client-consultation-calendar__form { border-top: 1px solid var(--color-border); display: flex; justify-content: flex-end; margin-top: var(--space-4); padding-top: var(--space-3); }
.client-reschedule { display: grid; gap: var(--space-3); max-width: 62rem; }
.client-reschedule h2, .client-reschedule p { margin: 0; }
.client-reschedule__back { color: var(--color-accent); font-weight: var(--font-weight-bold); text-decoration: none; }
.client-reschedule__back:hover { text-decoration: underline; }
.client-cancel-dialog { border: 0; border-radius: var(--radius-sm); box-shadow: 0 1rem 3rem color-mix(in srgb, var(--color-text) 24%, transparent); max-width: min(31rem, calc(100vw - 2rem)); padding: 0; }
.client-cancel-dialog::backdrop { background: color-mix(in srgb, var(--color-text) 32%, transparent); }
.client-cancel-dialog section { display: grid; gap: var(--space-3); padding: var(--space-5); }
.client-cancel-dialog h2, .client-cancel-dialog p { margin: 0; }
.client-cancel-dialog__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.client-cancel-dialog__actions form { margin: 0; }
.calendar-section-heading, .calendar-v1__toolbar { align-items: flex-start; display: flex; gap: var(--space-3); justify-content: space-between; }
.calendar-section-heading h2, .calendar-section-heading p, .calendar-v1__toolbar h2, .calendar-v1__toolbar p { margin: 0; }
.calendar-section-heading p, .calendar-v1__toolbar p, .calendar-v1__quiet { color: var(--color-text-muted); }
.calendar-hours__week { display: grid; gap: .5rem; margin-top: var(--space-4); }
.calendar-hours__day { align-items: start; border-top: 1px solid var(--color-border); display: grid; gap: var(--space-4); grid-template-columns: minmax(11rem, .65fr) minmax(22rem, 1.7fr); padding: 1rem 0; }
.calendar-hours__day h3, .calendar-hours__day p { margin: 0; }
.calendar-hours__day p { color: var(--color-text-muted); margin-top: .2rem; }
.calendar-hours__form { display: grid; gap: .65rem; }
.calendar-hours__edit summary { color: var(--color-accent); cursor: pointer; font-weight: 800; }
.calendar-hours__edit form { margin-top: .75rem; }
.calendar-hours__actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.calendar-hour-grid { border: 0; display: grid; gap: .35rem; grid-template-columns: repeat(6, minmax(2.4rem, 1fr)); margin: 0; padding: 0; }
.calendar-hour-chip { cursor: pointer; display: block; position: relative; }
.calendar-hour-chip input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.calendar-hour-chip span { align-items: center; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-sm); color: var(--color-text-muted); display: flex; font-size: .82rem; font-variant-numeric: tabular-nums; justify-content: center; min-height: 2.35rem; transition: background .16s ease, border-color .16s ease, color .16s ease; }
.calendar-hour-chip:hover span { border-color: var(--color-accent); color: var(--color-text); }
.calendar-hour-chip input:checked + span { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-surface); font-weight: 800; }
.calendar-hour-chip input:focus-visible + span { outline: 2px solid color-mix(in srgb, var(--color-accent) 45%, transparent); outline-offset: 2px; }
.button--quiet { background: transparent; border-color: transparent; color: var(--color-text-muted); }
.calendar-v1__toolbar { margin-bottom: var(--space-4); }
.calendar-v1__nav { display: flex; gap: .5rem; }
.calendar-v1__nav .button { min-width: 2.5rem; text-align: center; }
.calendar-v1__layout { display: grid; gap: var(--space-5); grid-template-columns: minmax(0, 1.65fr) minmax(19rem, .9fr); }
.calendar-v1__weekdays, .calendar-v1__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.calendar-v1__weekdays { color: var(--color-text-muted); font-size: .78rem; font-weight: 700; padding: 0 .35rem .45rem; text-align: center; }
.calendar-v1__day { border: 1px solid color-mix(in srgb, var(--color-border) 76%, transparent); color: var(--color-text); display: grid; gap: .35rem; min-height: 6.5rem; padding: .6rem; text-decoration: none; transition: background .16s ease, border-color .16s ease, box-shadow .16s ease; }
.calendar-v1__day:hover { background: var(--color-surface-muted); border-color: color-mix(in srgb, var(--color-accent) 50%, var(--color-border)); }
.calendar-v1__day.is-selected { background: color-mix(in srgb, var(--color-accent) 12%, var(--color-surface)); border-color: var(--color-accent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-accent) 40%, transparent); }
.calendar-v1__day.is-outside { opacity: .45; }
.calendar-v1__day.is-today strong { color: var(--color-accent); }
.calendar-v1__day span { color: var(--color-text-muted); font-size: .75rem; line-height: 1.25; }
.calendar-v1__day-panel { background: var(--color-surface-muted); border-radius: var(--radius-md); display: grid; align-content: start; gap: var(--space-3); padding: var(--space-4); }
.calendar-v1__day-panel h3, .calendar-v1__day-panel h4 { margin: 0; }
.calendar-v1__state { color: var(--color-accent); font-weight: 800; margin: 0; }
.calendar-v1__facts { display: grid; gap: .35rem; margin: 0; }
.calendar-v1__facts dt { color: var(--color-text-muted); font-size: .8rem; font-weight: 800; }
.calendar-v1__facts dd { margin: 0 0 .35rem; }
.calendar-v1__bookings { display: grid; gap: .35rem; }
.calendar-v1__bookings a { border-left: 2px solid var(--color-accent); color: var(--color-text); display: grid; gap: .15rem; padding: .35rem .55rem; text-decoration: none; }
.calendar-v1__actions { display: grid; gap: .45rem; }
.calendar-v1__actions details { border-top: 1px solid var(--color-border); padding-top: .65rem; }
.calendar-v1__actions summary { cursor: pointer; font-weight: 700; }
.calendar-v1__actions form { margin-top: .65rem; }
.calendar-form--hours { gap: .75rem; }
.calendar-v1__vacation { margin-top: var(--space-4); }
.calendar-v1__vacation-list { border-top: 1px solid var(--color-border); display: grid; gap: .5rem; margin-top: var(--space-4); padding-top: var(--space-3); }
.calendar-v1__vacation-list h3 { font-size: 1rem; margin: 0; }
.calendar-v1__vacation-list > div { align-items: center; display: flex; gap: var(--space-3); justify-content: space-between; }
.calendar-v1__vacation-list form { margin: 0; }

@media (max-width: 720px) {
    .calendar-form--compact { grid-template-columns: 1fr; }
    .payment-code-form { grid-template-columns: 1fr; }
    .payment-code-row { grid-template-columns: 1fr; }
    .payment-code-row__details { border-left: 0; border-top: 1px solid var(--color-border); padding: var(--space-3) 0 0; }
    .payment-code-row form { justify-self: start; }
    .calendar-section-heading, .calendar-v1__toolbar { align-items: stretch; flex-direction: column; }
    .calendar-hours__day, .calendar-v1__layout { grid-template-columns: 1fr; }
    .calendar-hour-grid { grid-template-columns: repeat(4, minmax(2.4rem, 1fr)); }
    .calendar-v1__day { min-height: 4.8rem; padding: .4rem; }
    .calendar-v1__day span { font-size: .66rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .client-consultations-header { align-items: stretch; flex-direction: column; gap: var(--space-2); }
    .client-consultations-tabs { gap: var(--space-3); margin-inline: calc(var(--space-3) * -1); padding-inline: var(--space-3); }
    .client-consultations__allocations, .client-consultations__packages { grid-template-columns: 1fr; }
    .client-consultations-tabs { border-radius: 0; width: auto; }
    .client-consultations-tabs a { padding-inline: .7rem; }
    .client-consultations__nearest-grid, .client-booking-layout, .client-consultation-calendar { grid-template-columns: 1fr; }
    .client-consultations__nearest { padding: var(--space-4); }
    .client-consultations__row { align-items: start; gap: var(--space-2); grid-template-columns: 1fr; }
    .client-consultations__row > div { min-width: 0; }
    .client-consultations__row span { overflow-wrap: anywhere; }
    .client-consultations__actions, .client-cancel-dialog__actions { display: grid; }
    .client-consultations__actions .button, .client-cancel-dialog__actions .button, .client-cancel-dialog__actions form { width: 100%; }
    .client-consultation-calendar__form { justify-content: stretch; }
    .client-consultation-calendar__form .button { width: 100%; }
    .client-consultations__package { grid-template-columns: 1fr; }
    .client-consultations__package > p { grid-column: auto; }
}

.workspace-sidebar {
    align-content: start;
    display: grid;
    gap: var(--space-4);
    padding: var(--space-4);
}

.workspace-brand {
    color: var(--color-text);
    font-size: var(--font-size-lg);
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
}

.workspace-nav {
    align-content: start;
    display: grid;
    gap: var(--space-1);
}

.workspace-nav__item,
.workspace-topbar__link {
    border-radius: 999px;
    color: var(--color-text);
    display: flex;
    align-items: center;
    font-size: var(--font-size-sm);
    font-weight: 700;
    min-height: 44px;
    padding: .7rem .9rem;
    text-decoration: none;
}

.workspace-nav__item.is-active,
.workspace-nav__item:hover,
.workspace-nav__item:focus-visible {
    background: var(--color-surface-muted);
}

.workspace-nav__item.is-active {
    box-shadow: inset 3px 0 0 var(--color-accent);
}

.workspace-main {
    display: grid;
    grid-template-rows: auto 1fr;
}

.workspace-topbar {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    justify-content: space-between;
    padding: var(--space-3);
}

.workspace-account {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    box-shadow: 0 16px 40px rgba(23, 32, 47, .1);
    display: grid;
    gap: var(--space-1);
    min-width: 13rem;
    padding: var(--space-2);
    position: absolute;
    right: 0;
    top: calc(100% + var(--space-1));
    z-index: 5;
}

.workspace-profile-menu {
    position: relative;
}

.workspace-profile-menu summary {
    align-items: center;
    border-radius: var(--radius-sm);
    cursor: pointer;
    display: flex;
    gap: var(--space-2);
    justify-content: space-between;
    min-height: 44px;
    padding: .55rem .8rem;
}

.workspace-profile-menu summary:hover,
.workspace-profile-menu summary:focus-visible,
.workspace-profile-menu[open] summary {
    background: var(--color-surface-muted);
}

.workspace-profile-menu__identity {
    color: var(--color-muted);
    font-size: var(--font-size-sm);
    max-width: 14rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.workspace-logout {
    margin: 0;
}

.workspace-topbar__button {
    background: transparent;
    border: 0;
    color: inherit;
    cursor: pointer;
    font: inherit;
    text-align: left;
    width: 100%;
}

.workspace-topbar__link.is-active,
.workspace-topbar__link:hover,
.workspace-topbar__link:focus-visible {
    background: var(--color-surface-muted);
}

.workspace-content {
    display: grid;
    gap: var(--space-4);
    padding: var(--space-4);
}

.workspace-toolbar {
    align-items: end;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    justify-content: space-between;
    padding: var(--space-3);
}

.search-bar {
    min-width: min(100%, 18rem);
}

.workspace-panel,
.workspace-page-header {
    border-radius: var(--radius-md);
    padding: var(--space-5);
}

.consultation-offers__toolbar p,
.consultation-offers__empty p,
.consultation-offer-card p,
.consultation-offer-detail__terms p,
.consultation-offers__pricing p,
.consultation-offers__publication p {
    margin: 0;
}

.consultation-offers__toolbar > div {
    display: grid;
    gap: var(--space-1);
}

.consultation-management {
    display: grid;
    gap: var(--space-6);
}

.consultation-management__format {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    display: grid;
    gap: var(--space-4);
    padding: var(--space-5);
}

.consultation-management__format-header {
    align-items: end;
    border-bottom: 1px solid var(--color-border);
    display: flex;
    gap: var(--space-3);
    justify-content: space-between;
    padding-bottom: var(--space-3);
}

.consultation-management__format-header h2,
.consultation-management__format-header p,
.consultation-proposition h3,
.consultation-proposition p {
    margin: 0;
}

.consultation-management__format-header h2 {
    font-size: var(--font-size-xl);
}

.consultation-management__format-header p,
.consultation-proposition__detail {
    color: var(--color-muted);
    font-size: var(--font-size-sm);
}

.consultation-management__group-status,
.consultation-proposition__status {
    background: var(--color-surface-muted);
    border-radius: var(--radius-sm);
    color: var(--color-muted);
    font-size: var(--font-size-sm);
    padding: .35rem .6rem;
    white-space: nowrap;
}

.consultation-management__group-status--active,
.consultation-proposition__status--active {
    color: var(--color-success);
}

.consultation-management__rows {
    display: grid;
}

.consultation-proposition {
    align-items: center;
    border-bottom: 1px solid var(--color-border);
    display: grid;
    gap: var(--space-4);
    grid-template-columns: minmax(8rem, 1.15fr) minmax(10rem, 1.3fr) minmax(7rem, .8fr) minmax(8.5rem, .9fr) auto;
    padding: var(--space-3) 0;
}

.consultation-proposition--head {
    background: var(--color-surface-muted);
    border-bottom: 0;
    border-radius: var(--radius-sm);
    color: var(--color-muted);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    padding: .7rem var(--space-3);
}

.consultation-proposition__summary {
    display: grid;
    gap: .3rem;
}

.consultation-proposition__price {
    font-weight: var(--font-weight-bold);
}

.consultation-proposition__commercial,
.consultation-proposition__benefit,
.consultation-proposition__validity {
    display: grid;
    gap: .3rem;
}

.consultation-proposition__commercial p,
.consultation-proposition__benefit p,
.consultation-proposition__validity p {
    margin: 0;
}

.consultation-proposition__benefit,
.consultation-proposition__validity {
    color: var(--color-muted);
    font-size: var(--font-size-sm);
}

.consultation-proposition__future,
.consultation-settings__future {
    color: var(--color-primary);
    font-size: var(--font-size-sm);
}

.consultation-proposition__actions {
    align-items: center;
    display: grid;
    justify-items: start;
}

.consultation-settings {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    display: grid;
    gap: var(--space-4);
    margin: 0 auto;
    max-width: 48rem;
    padding: var(--space-5);
}

.consultation-settings__back {
    color: var(--color-muted);
    width: fit-content;
}

.consultation-settings__header,
.consultation-settings__terms,
.consultation-settings__controls {
    display: grid;
    gap: var(--space-2);
}

.consultation-settings__header {
    border-bottom: 1px solid var(--color-border);
    padding-bottom: var(--space-3);
}

.consultation-settings__header h2,
.consultation-settings__header p,
.consultation-settings__terms h3,
.consultation-settings__terms p {
    margin: 0;
}

.consultation-settings__header h2 {
    font-size: var(--font-size-2xl);
}

.consultation-settings__content {
    border-top: 1px solid var(--color-border);
    display: grid;
    gap: var(--space-5);
    grid-template-columns: minmax(0, .8fr) minmax(0, 1fr);
    padding-top: var(--space-4);
}

.consultation-settings__terms {
    align-content: start;
}

.consultation-settings__validity {
    border-top: 1px solid var(--color-border);
    display: grid;
    gap: .35rem;
    margin-top: var(--space-2);
    padding-top: var(--space-3);
}

.consultation-settings__validity h3 { font-size: var(--font-size-sm); }
.consultation-settings__hint { color: var(--color-muted); font-size: var(--font-size-sm); line-height: 1.5; }

.consultation-settings__availability {
    align-items: center;
    background: var(--color-surface-subtle);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    display: flex;
    gap: var(--space-3);
    justify-content: space-between;
    padding: .8rem .9rem;
}

.consultation-settings__availability h3,
.consultation-settings__availability p { margin: 0; }
.consultation-settings__availability h3 { font-size: var(--font-size-sm); }
.consultation-settings__availability p { color: var(--color-muted); font-size: var(--font-size-sm); margin-top: .2rem; }

.consultation-settings__toggle,
.consultation-proposition__status-toggle {
    align-items: center;
    background: #f8ece8;
    border: 1px solid #d9afa3;
    border-radius: 999px;
    color: #8c4632;
    display: inline-flex;
    font: inherit;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    gap: .45rem;
    min-height: 2.25rem;
    padding: .3rem .65rem .3rem .4rem;
    white-space: nowrap;
}

.consultation-settings__toggle { cursor: pointer; }
.consultation-settings__toggle:hover,
.consultation-settings__toggle:focus-visible { border-color: #8c4632; outline: 0; }
.consultation-settings__toggle > span,
.consultation-proposition__status-toggle > span { background: #b56a52; border-radius: 50%; height: .8rem; width: .8rem; }
.consultation-settings__toggle--active,
.consultation-proposition__status-toggle--active { background: #edf5ef; border-color: #a9c5b0; color: #315942; }
.consultation-settings__toggle--active > span,
.consultation-proposition__status-toggle--active > span { background: #5c826a; }
.consultation-proposition__status-toggle--unconfigured { background: var(--color-surface-muted); border-color: var(--color-border); color: var(--color-muted); }
.consultation-proposition__status-toggle--unconfigured > span { background: #a8a099; }

.consultation-settings__price {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
}

.consultation-proposition__form {
    align-items: end;
    display: grid;
    gap: var(--space-3);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.consultation-proposition__form .button-row {
    align-items: end;
    grid-column: 1 / -1;
}

.consultation-offers__list {
    display: grid;
    gap: var(--space-3);
}

.consultation-offer-card {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    display: grid;
    gap: var(--space-4);
    padding: var(--space-4);
}

.consultation-offer-card__heading {
    align-items: start;
    display: flex;
    gap: var(--space-3);
    justify-content: space-between;
}

.consultation-offer-card__heading > div {
    display: grid;
    gap: var(--space-1);
}

.consultation-offer-card h2,
.consultation-offers__empty h2,
.consultation-offers__pricing h2,
.consultation-offers__publication h2 {
    font-size: var(--font-size-xl);
    margin: 0;
}

.consultation-offer-card__terms {
    display: grid;
    gap: var(--space-3);
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
    margin: 0;
}

.consultation-offer-card__terms div {
    display: grid;
    gap: .25rem;
}

.consultation-offer-card__terms dt {
    color: var(--color-muted);
    font-size: var(--font-size-sm);
}

.consultation-offer-card__terms dd {
    font-weight: var(--font-weight-bold);
    margin: 0;
}

.consultation-offer-card__scheduled {
    background: var(--color-surface-muted);
    border-left: 3px solid var(--color-primary);
    padding: var(--space-3);
}

.consultation-offers__empty,
.consultation-offers__pricing,
.consultation-offers__publication,
.consultation-offer-detail__terms {
    display: grid;
    gap: var(--space-3);
}

.consultation-offer-form__grid {
    display: grid;
    gap: var(--space-3);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.consultation-offer-form .field--wide,
.consultation-offer-form__package {
    grid-column: 1 / -1;
}

.consultation-offer-form__price {
    display: grid;
    gap: var(--space-3);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.consultation-offer-form__price .button-row {
    align-items: end;
}

.calendar-upcoming {
    display: grid;
    gap: var(--space-3);
}

.calendar-upcoming__date {
    font-size: var(--font-size-lg);
    margin: var(--space-2) 0 0;
}

.calendar-upcoming__event {
    align-items: center;
    border-top: 1px solid var(--color-border);
    display: grid;
    gap: var(--space-3);
    grid-template-columns: minmax(6rem, .45fr) minmax(0, 1fr) auto;
    padding: var(--space-3) 0;
}

.calendar-upcoming__event h4,
.calendar-upcoming__event p {
    margin: 0;
}

.calendar-upcoming__event p {
    color: var(--color-muted);
    font-size: var(--font-size-sm);
}

.calendar-upcoming__actions,
.practitioner-overview__consultation-actions,
.practitioner-overview__next-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.practitioner-overview {
    display: grid;
    gap: var(--space-4);
    grid-template-columns: minmax(0, 1.5fr) minmax(16rem, .8fr);
}

.practitioner-overview__actions {
    grid-column: 1 / -1;
}

.practitioner-overview__section-heading {
    align-items: start;
    display: flex;
    gap: var(--space-3);
    justify-content: space-between;
    margin-bottom: var(--space-4);
}

.practitioner-overview h2,
.practitioner-overview h3,
.practitioner-overview p {
    margin: 0;
}

.practitioner-overview__consultations {
    display: grid;
}

.practitioner-overview__consultation {
    align-items: center;
    border-top: 1px solid var(--color-border);
    display: grid;
    gap: var(--space-3);
    grid-template-columns: 4rem minmax(0, 1fr) auto;
    padding: var(--space-3) 0;
}

.practitioner-overview__consultation:last-child {
    border-bottom: 1px solid var(--color-border);
}

.practitioner-overview__time,
.practitioner-overview__next-date {
    color: var(--color-accent);
    font-weight: var(--font-weight-bold);
}

.practitioner-overview__consultation-copy {
    display: grid;
    gap: .25rem;
}

.practitioner-overview__consultation-copy p,
.practitioner-overview__next-card > p:not(.practitioner-overview__next-date),
.practitioner-overview__empty,
.practitioner-overview__action small {
    color: var(--color-muted);
}

.practitioner-overview__next {
    align-content: start;
    display: grid;
    gap: var(--space-3);
}

.practitioner-overview__next-card {
    display: grid;
    gap: var(--space-2);
}

.practitioner-overview__action-grid {
    display: grid;
    gap: var(--space-2);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: var(--space-3);
}

.practitioner-overview__action {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    color: inherit;
    display: grid;
    gap: .35rem;
    min-height: 5.75rem;
    padding: var(--space-3);
    text-decoration: none;
}

.practitioner-overview__action:hover,
.practitioner-overview__action:focus-visible {
    background: var(--color-surface-muted);
    border-color: var(--color-accent);
}

.workspace-inline-link {
    align-self: start;
    color: var(--color-accent);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    text-decoration: none;
}

.workspace-inline-link:hover,
.workspace-inline-link:focus-visible {
    text-decoration: underline;
}

@media (max-width: 800px) {
    .practitioner-overview {
        grid-template-columns: 1fr;
    }

    .practitioner-overview__actions {
        grid-column: auto;
    }

    .practitioner-overview__consultation {
        align-items: start;
        grid-template-columns: 3.25rem minmax(0, 1fr);
    }

    .practitioner-overview__consultation-actions {
        grid-column: 2;
        justify-self: start;
    }

    .practitioner-overview__action-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 700px) {
    .ds-hero--with-media {
        align-items: center;
        grid-template-columns: minmax(0, 1.1fr) minmax(16rem, .75fr);
    }

    .ds-hero--home.ds-hero--with-media {
        grid-template-columns: minmax(0, 1.1fr) minmax(23rem, .9fr);
    }
}

@media (min-width: 900px) {
    .home-find__outcomes {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: clamp(2rem, 5vw, 4rem);
    }

    .home-story__chapter--1 {
        align-items: center;
        grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .8fr);
    }

    .home-story__chapter--2 {
        grid-template-columns: minmax(0, 1fr) minmax(17.5rem, .75fr);
    }

    .site-footer__inner {
        grid-template-columns: minmax(14rem, 1.5fr) repeat(3, minmax(10rem, 1fr));
    }

    .two-column {
        grid-template-columns: minmax(0, 1.5fr) minmax(18rem, .8fr);
    }

    .workspace-shell {
        grid-template-columns: 17rem 1fr;
    }

    .workspace-sidebar {
        border-width: 0 1px 0 0;
        position: sticky;
        top: 0;
        height: 100vh;
        overflow-y: auto;
    }
}

@media (max-width: 899px) {
    .workspace-sidebar {
        border-width: 0 0 1px;
        gap: var(--space-3);
        padding: var(--space-3);
    }

    .workspace-nav {
        display: flex;
        gap: var(--space-2);
        margin-inline: calc(var(--space-3) * -1);
        overflow-x: auto;
        padding-inline: var(--space-3);
        scrollbar-width: thin;
    }

    .workspace-nav__item {
        flex: 0 0 auto;
    }
}

/* Public Product Landing V2: route-scoped canonical shell and conversion frame. */
.public-product-landing-body {
    --landing-cream: #f5f0e8;
    --landing-light: #fafaf8;
    --landing-navy: #1e3a5f;
    --landing-navy-hover: #2c4f7a;
    --landing-green: #2d5a52;
    --landing-ink: #1f2937;
    --landing-muted: #6b7570;
    --landing-line: #e0dbd0;
    background: var(--landing-cream);
    color: var(--landing-ink);
    font-family: Inter, system-ui, sans-serif;
}
.product-landing-header.site-header { background: rgba(245,240,232,.96); border-bottom-color: var(--landing-line); }
.product-landing-main { padding-top: 64px; }
.public-product-page__primary-cta, .public-product-page__option-action { align-items: center; background: var(--landing-navy); border: 1px solid var(--landing-navy); border-radius: 6px; color: #fff; display: inline-flex; font-size: .86rem; font-weight: 600; justify-content: center; line-height: 1.2; min-height: 2.7rem; padding: .65rem 1rem; text-align: center; text-decoration: none; }
.public-product-page__primary-cta:hover, .public-product-page__primary-cta:focus-visible, .public-product-page__option-action:hover, .public-product-page__option-action:focus-visible { background: var(--landing-navy-hover); border-color: var(--landing-navy-hover); color: #fff; }
.public-product-page--v2 { background: var(--landing-cream); color: var(--landing-ink); min-height: 100vh; overflow: clip; padding: 0 24px 6rem; }
.public-product-page--v2 .public-product-page__preview { background: #edf3ea; border: 1px solid #c9dbc7; border-radius: 6px; color: #315443; margin: 1.25rem auto 0; max-width: 1120px; padding: .75rem 1rem; }
.public-product-page--v2 .public-product-page__hero { border-bottom: 1px solid var(--landing-line); display: grid; margin: 0 auto; max-width: 1120px; padding: 7.25rem 0 5rem; }
.public-product-page--v2 .public-product-page__hero-copy { max-width: 48rem; }
.public-product-page--v2 .public-product-page__eyebrow { color: var(--landing-green); font: 600 .7rem/1.2 Inter, system-ui, sans-serif; letter-spacing: .08em; margin: 0 0 1rem; }
.public-product-page--v2 h1, .public-product-page--v2 h2 { color: var(--landing-ink); font-family: "DM Serif Display", Lora, Georgia, serif; font-weight: 400; letter-spacing: 0; }
.public-product-page--v2 h1 { font-size: clamp(3rem, 5.2vw, 5rem); line-height: 1.04; margin: 0; }
.public-product-page--v2 h2 { font-size: clamp(1.9rem, 3vw, 2.65rem); line-height: 1.12; }
.public-product-page--v2 .public-product-page__subtitle { color: var(--landing-muted); font-size: 1.16rem; line-height: 1.62; margin: 1.35rem 0 0; max-width: 40rem; }
.public-product-page__facts { border-top: 1px solid var(--landing-line); display: flex; flex-wrap: wrap; gap: 1.25rem 2.5rem; margin: 2rem 0 0; padding-top: 1.15rem; }
.public-product-page__facts div { display: grid; gap: .18rem; }
.public-product-page__facts dt { color: var(--landing-muted); font-size: .7rem; font-weight: 600; letter-spacing: .055em; text-transform: uppercase; }
.public-product-page__facts dd { color: var(--landing-ink); font-size: .9rem; font-weight: 600; margin: 0; }
.public-product-page__hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .8rem 1.15rem; margin-top: 2rem; }
.public-product-page__details-link { color: var(--landing-green); font-size: .88rem; font-weight: 600; text-decoration: underline; text-underline-offset: .2rem; }
.public-product-page--v2 .public-product-page__body { display: grid; gap: 4.5rem; margin: 0 auto; max-width: 1120px; padding-top: 4.5rem; }
.public-product-page--v2 .public-product-page__section { margin: 0 auto; max-width: 720px; width: 100%; }
.public-product-page--v2 .public-product-page__text { color: var(--landing-ink); font-size: 1.04rem; line-height: 1.8; }
.public-product-page--v2 .public-product-page__accent { background: #eef3ed; border: 0; border-left: 3px solid var(--landing-green); border-radius: 0; color: var(--landing-green); font-family: "DM Serif Display", Lora, Georgia, serif; font-size: 1.55rem; line-height: 1.45; max-width: 850px; padding: 2.25rem 2.5rem; text-align: left; }
.public-product-page--v2 .public-product-page__image, .public-product-page--v2 .public-product-page__video { max-width: 850px; }
.public-product-page--v2 .public-product-page__image img, .public-product-page--v2 .public-product-page__video iframe { border-radius: 8px; box-shadow: none; }
.public-product-page--v2 .public-product-page__author { border-color: var(--landing-line); }
.public-product-page--v2 .public-product-page__author > span { background: var(--landing-green); }
.public-product-page--v2 .public-product-page__faq details { border-color: var(--landing-line); }
.public-product-page--v2 .public-product-page__faq summary { color: var(--landing-ink); font-weight: 600; }
.public-product-page--v2 .public-product-page__access { background: var(--landing-navy); border-radius: 0; color: #fff; max-width: 1120px; padding: 3.25rem; }
.public-product-page--v2 .public-product-page__access h2 { color: #fff; }
.public-product-page--v2 .public-product-page__access .public-product-page__eyebrow { color: rgba(255,255,255,.72); }
.public-product-page--v2 .public-product-page__access-intro { border-color: rgba(255,255,255,.22); }
.public-product-page--v2 .public-product-page__options { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.public-product-page--v2 .public-product-page__access.is-single .public-product-page__options { max-width: 360px; }
.public-product-page--v2 .public-product-page__options .public-product-page__option { background: #fff; border-radius: 6px; color: var(--landing-ink); min-height: 12.5rem; padding: 1.35rem; }
.public-product-page--v2 .public-product-page__option strong { color: var(--landing-navy); font-size: 1.3rem; }
.public-product-page--v2 .public-product-page__option-action { align-self: end; grid-column: 1 / -1; justify-self: stretch; width: 100%; }
.public-product-page--v2 .public-product-page__option-action.is-disabled, .public-product-page--v2 .public-product-page__secondary-cta.is-disabled { background: #e8e5de; border-radius: 6px; color: #77736c; display: inline-flex; min-height: 2.7rem; padding: .65rem 1rem; }
.public-product-page--v2 .public-product-page__cta { border-top: 1px solid var(--landing-line); max-width: 850px; padding-top: 3rem; }
.public-product-page--v2 .public-product-page__cta > div { border: 0; padding: 0; }
.public-product-page__sticky-cta { bottom: 0; left: 0; padding: .65rem max(1rem, env(safe-area-inset-left)) calc(.65rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-right)); pointer-events: none; position: fixed; right: 0; z-index: 25; }
.public-product-page__sticky-cta a { background: var(--landing-navy); border-radius: 6px; box-shadow: 0 8px 24px rgba(21,47,82,.22); color: #fff; display: block; font-size: .9rem; font-weight: 600; padding: .85rem 1rem; pointer-events: auto; text-align: center; text-decoration: none; }
.product-landing-footer { background: var(--landing-light); border-top: 1px solid var(--landing-line); }
.product-landing-footer__inner { align-items: center; display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; justify-content: space-between; margin: 0 auto; max-width: 1120px; padding: 1.5rem 24px; }
.product-landing-footer__brand { color: var(--landing-ink); font-family: "DM Serif Display", Lora, Georgia, serif; font-size: 1.1rem; text-decoration: none; }
.product-landing-footer nav { display: flex; flex-wrap: wrap; gap: .8rem 1rem; }
.product-landing-footer nav a, .product-landing-footer small { color: var(--landing-muted); font-size: .75rem; text-decoration: none; }
.product-landing-footer nav a:hover, .product-landing-footer nav a:focus-visible { color: var(--landing-navy); text-decoration: underline; }
@media (min-width: 761px) { .public-product-page__sticky-cta { display: none; } }
@media (max-width: 760px) {
    .product-landing-main { padding-top: calc(4rem + env(safe-area-inset-top, 0px)); }
    .public-product-page--v2 { padding: 0 20px calc(5.25rem + env(safe-area-inset-bottom)); }
    .public-product-page--v2 .public-product-page__hero { padding: 3.4rem 0 3rem; }
    .public-product-page--v2 h1 { font-size: clamp(2.45rem, 12vw, 3.45rem); line-height: 1.06; }
    .public-product-page--v2 .public-product-page__subtitle { font-size: 1.02rem; }
    .public-product-page__facts { gap: .9rem 1.35rem; }
    .public-product-page__hero-actions { align-items: stretch; display: grid; grid-template-columns: 1fr; }
    .public-product-page--v2 .public-product-page__primary-cta { width: 100%; }
    .public-product-page__details-link { justify-self: center; }
    .public-product-page--v2 .public-product-page__body { gap: 3.25rem; padding-top: 3.25rem; }
    .public-product-page--v2 .public-product-page__section { max-width: none; }
    .public-product-page--v2 .public-product-page__accent { font-size: 1.3rem; padding: 1.6rem; }
    .public-product-page--v2 .public-product-page__access { margin-left: -20px; margin-right: -20px; padding: 2.25rem 20px; width: calc(100% + 40px); }
    .public-product-page--v2 .public-product-page__options { grid-template-columns: 1fr; }
    .public-product-page--v2 .public-product-page__options .public-product-page__option { min-height: 0; }
    .product-landing-footer__inner { align-items: flex-start; flex-direction: column; padding: 1.35rem 20px calc(1.35rem + env(safe-area-inset-bottom)); }
}

@media (max-width: 800px) {
    .site-nav--desktop,
    .site-actions {
        display: none;
    }

    .site-mobile-menu {
        display: block;
        position: relative;
    }

    .site-header__inner {
        height: calc(4rem + env(safe-area-inset-top, 0px));
        justify-content: flex-end;
        padding: env(safe-area-inset-top, 0px) clamp(20px, 4vw, 48px) 0;
    }

    .site-brand--header {
        margin-right: auto;
    }

    .page-shell {
        padding-top: calc(4rem + env(safe-area-inset-top, 0px));
    }

    .site-mobile-menu > summary {
        align-items: center;
        border: 0;
        border-radius: 0;
        color: #222831;
        display: flex;
        font-size: 0;
        justify-content: center;
        min-height: 0;
        padding: 4px;
        position: relative;
        width: auto;
    }

    .site-mobile-menu > summary::after {
        background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='14' viewBox='0 0 20 14' fill='none'%3E%3Cpath d='M0 1h20M0 7h16M0 13h20' stroke='%23222831' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center / 20px 14px no-repeat;
        content: '';
        display: block;
        height: 14px;
        width: 20px;
    }

    .site-mobile-menu[open] > summary::after {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M2 2l12 12M14 2L2 14' stroke='%23222831' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
        background-size: 16px 16px;
        height: 16px;
        width: 16px;
    }

    .site-mobile-menu__overlay {
        display: none;
    }

    .site-mobile-menu__drawer {
        background: #fcfbf8;
        border-top: 1px solid #e7ded2;
        box-shadow: none;
        display: none;
        gap: 0;
        height: auto;
        max-height: calc(100dvh - (4rem + env(safe-area-inset-top, 0px)));
        max-width: none;
        opacity: 0;
        padding: 0 24px 28px;
        right: 0;
        top: calc(4rem + env(safe-area-inset-top, 0px));
        transform: none;
        transition: none;
        visibility: visible;
        width: 100%;
    }

    .site-mobile-menu[open] .site-mobile-menu__drawer {
        display: flex;
        opacity: 1;
    }

    .site-mobile-menu__drawer-header {
        display: none;
    }

    .site-mobile-menu__links {
        display: block;
        flex: 0 0 auto;
        order: 2;
        padding: 8px 0 0;
    }

    .site-mobile-menu__links .site-nav__item {
        border-bottom: 1px solid #e7ded2;
        color: #222831;
        display: flex;
        font-size: 15px;
        font-weight: var(--font-weight-regular);
        justify-content: flex-start;
        line-height: 1.5;
        min-height: 0;
        padding: 10px 0;
        text-align: left;
    }

    .site-mobile-menu__accordion {
        margin: 0;
    }

    .site-mobile-menu__links .site-mobile-menu__accordion summary {
        color: #6e6b66;
        display: flex;
        font-size: 14px;
        font-weight: var(--font-weight-regular);
        justify-content: space-between;
        line-height: 1.5;
        min-height: 0;
        padding: 10px 0;
        text-align: left;
    }

    .site-mobile-menu__accordion summary::after {
        background: currentColor;
        content: '';
        height: 10px;
        margin-left: 0;
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 3.5L5 6.5L8 3.5' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px 10px no-repeat;
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 3.5L5 6.5L8 3.5' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px 10px no-repeat;
        width: 10px;
    }

    .site-mobile-menu__accordion[open] summary::after {
        content: '';
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 6.5L5 3.5L8 6.5' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 6.5L5 3.5L8 6.5' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    }

    .site-mobile-menu__accordion-panel {
        display: block;
        margin: 0;
        padding: 0;
    }

    .site-mobile-menu__accordion-panel .site-mobile-menu__child {
        border-bottom: 1px solid #e7ded2;
        border-radius: 0;
        color: #6e6b66;
        display: block;
        font-size: 14px;
        font-weight: var(--font-weight-regular);
        line-height: 1.5;
        min-height: 0;
        padding: 8px 0 8px 12px;
        text-align: left;
    }

    .site-mobile-menu__accordion-panel .site-mobile-menu__child:hover,
    .site-mobile-menu__accordion-panel .site-mobile-menu__child:focus-visible,
    .site-mobile-menu__accordion-panel .site-mobile-menu__child.is-active {
        background: transparent;
        color: #222831;
    }

    .site-mobile-menu__actions {
        border-bottom: 1px solid #e7ded2;
        border-top: 0;
        display: flex;
        flex: 0 0 auto;
        gap: 10px;
        margin: 0;
        order: 1;
        padding: 18px 0 16px;
    }

    .site-mobile-menu__actions .site-nav__item {
        align-items: center;
        border: 1px solid #e7ded2;
        border-radius: 999px;
        color: #222831;
        display: inline-flex;
        font-size: 13px;
        font-weight: var(--font-weight-regular);
        justify-content: center;
        line-height: 1.5;
        min-height: 0;
        padding: 10px 20px;
        text-align: center;
        width: 100%;
    }

    .site-mobile-menu__actions .site-nav__item:nth-child(1) {
        flex: 1 1 0;
    }

    .site-mobile-menu__actions .site-nav__item:nth-child(2) {
        display: none;
    }

    .site-mobile-menu__actions .site-nav__item--primary {
        background: #1e3a5f;
        border-color: #1e3a5f;
        color: white;
        flex: 1 1 0;
        opacity: 1;
    }

    .site-mobile-menu__actions .site-nav__item--primary:hover,
    .site-mobile-menu__actions .site-nav__item--primary:focus-visible {
        background: #2c4f7a;
        color: white;
    }

    .site-mobile-menu__actions .site-nav__item:only-child {
        flex-basis: 100%;
    }
}

@media (max-width: 640px) {
    :root {
        --font-size-2xl: 1.75rem;
        --font-size-3xl: 2.25rem;
        --space-7: 3rem;
    }

    .button,
    .button-row,
    .workspace-toolbar,
    .search-bar {
        width: 100%;
    }

    .workspace-topbar,
    .workspace-profile-menu {
        width: 100%;
    }

    .workspace-profile-menu__identity {
        max-width: 60vw;
    }

    .workspace-account {
        left: 0;
        min-width: 100%;
        right: auto;
    }

    .button-row .button {
        flex: 1 1 100%;
    }

    .consultation-offer-card__heading {
        align-items: stretch;
        flex-direction: column;
    }

    .consultation-offer-card__heading .button {
        width: 100%;
    }

    .consultation-offer-form__grid,
    .consultation-offer-form__price {
        grid-template-columns: 1fr;
    }

    .consultation-proposition,
    .consultation-proposition__form,
    .consultation-settings__content {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .consultation-management__format {
        padding: var(--space-4);
    }

    .consultation-proposition--head {
        display: none;
    }

    .consultation-proposition {
        gap: var(--space-2);
        grid-template-columns: minmax(0, 1fr) auto;
        padding: var(--space-4) 0;
    }

    .consultation-proposition__summary,
    .consultation-proposition__commercial,
    .consultation-proposition__benefit,
    .consultation-proposition__validity {
        grid-column: 1 / -1;
    }

    .consultation-proposition__summary {
        margin-bottom: var(--space-1);
    }

    .consultation-proposition__benefit,
    .consultation-proposition__validity {
        display: block;
    }

    .consultation-proposition__benefit p,
    .consultation-proposition__validity p {
        display: inline;
    }

    .consultation-proposition__benefit p:not(:empty)::before {
        content: 'Вигода: ';
    }

    .consultation-proposition__validity p:not(:empty)::before {
        content: 'Строк: ';
    }

    .consultation-management__format-header {
        flex-direction: column;
    }

    .consultation-management__group-status {
        justify-self: start;
    }

    .consultation-proposition__actions {
        align-items: center;
        display: flex;
        grid-column: 2;
        justify-content: space-between;
        margin-top: var(--space-2);
    }

    .consultation-proposition__state {
        align-self: center;
        grid-column: 1;
        margin-top: var(--space-2);
    }

    .consultation-proposition__actions .button {
        width: auto;
    }

    .calendar-upcoming__event {
        align-items: start;
        grid-template-columns: 1fr;
    }

    .calendar-upcoming__event .button {
        width: 100%;
    }

    .calendar-upcoming__actions,
    .practitioner-overview__consultation-actions,
    .practitioner-overview__next-actions {
        align-items: stretch;
        display: grid;
    }

    .section--hero {
        min-height: auto;
        padding-bottom: 0;
        padding-top: var(--space-4);
    }

    .section--hero + .section {
        padding-top: var(--space-4);
    }

    .ds-hero__media {
        margin-right: var(--space-3);
    }

    .ds-hero__media img {
        aspect-ratio: 16 / 9;
        object-position: 50% 24%;
    }

    .ds-hero__content .lead {
        font-size: 1.08rem;
    }

    .ds-hero--home h1 {
        font-size: 2.5rem;
    }

    .home-recognition__thoughts {
        padding-left: 0;
    }

    .home-recognition__thought {
        font-size: var(--font-size-md);
    }

    .home-recognition__thought:nth-child(even) {
        margin-left: 0;
    }

    .home-find,
    .home-story {
        gap: var(--space-5);
    }

    .home-find__outcomes li {
        font-size: var(--font-size-md);
        gap: var(--space-2);
        grid-template-columns: 1.75rem minmax(0, 1fr);
    }

    .home-story__chapters {
        gap: var(--space-6);
    }

    .home-story__chapter {
        gap: var(--space-4);
        padding-top: var(--space-4);
    }

    .home-story__emphasis {
        font-size: var(--font-size-lg);
    }

    .home-story__certificates {
        grid-auto-columns: minmax(15rem, 82vw);
    }

    .public-section--home-start .grid--cards {
        grid-template-columns: 1fr;
    }

    .workspace-topbar {
        align-items: stretch;
    }

    .workspace-account {
        justify-content: flex-start;
        width: 100%;
    }
}

/* Home visual correction iteration 004: contain the desktop portrait and keep the editorial story fluid on mobile. */
@media (min-width: 801px) {
    .home-page .ds-hero--home {
        height: min(78svh, 50rem);
        min-height: 0;
        overflow: hidden;
    }

    .home-page .ds-hero--home .ds-hero__media {
        padding: 2.5rem 0 0;
        justify-self: stretch;
    }

    .home-page .ds-hero--home .ds-hero__media img {
        height: 100%;
        margin-bottom: 0;
        max-height: 100%;
        max-width: 82%;
    }

    .home-page .home-story__chapter--2 {
        grid-template-columns: minmax(0, 1fr);
    }

    .home-page .home-story__chapter--2 .home-story__copy,
    .home-page .home-story__chapter--3 .home-story__copy {
        max-width: calc(100% - 18rem);
    }

    .home-page .home-story__chapter--2 .home-story__certificates {
        align-content: start;
        max-width: 15rem;
        min-height: 0;
        position: absolute;
        right: 0;
        top: 0;
        width: 15rem;
        z-index: 1;
    }

    .home-page .home-story__chapter--2 .home-story__copy {
        align-content: start;
        gap: .375rem;
    }

    .home-page .home-story__chapter--2 .home-story__copy h3 {
        margin-bottom: .125rem;
    }

    .home-page .home-story__chapter--2 .home-story__emphasis {
        padding-top: .25rem;
    }

    .home-page .home-story__chapter--2 .home-story__certificate-stage {
        height: 13.75rem;
    }
}

@media (max-width: 800px) {
    .home-page .home-story__inner,
    .home-page .home-story__chapters,
    .home-page .home-story__chapter,
    .home-page .home-story__copy,
    .home-page .home-story__portrait,
    .home-page .home-story__certificates,
    .home-page .home-story__certificate-stage,
    .home-page .home-story__certificate {
        min-width: 0;
    }

    .home-page .home-story__chapters {
        width: 100%;
    }

    .home-page .home-story__chapter {
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
    }

    .home-page .home-story__copy h3 {
        font-size: 1.25rem;
        line-height: 1.2;
    }

    .home-page .home-story__copy p {
        font-size: .9375rem;
        line-height: 1.8;
        max-width: none;
    }

    .home-page .home-story__emphasis {
        font-size: 1.0625rem;
        line-height: 1.5;
    }

    .home-page .home-story__portrait {
        max-width: 100%;
        width: 100%;
    }

    .home-page .home-story__portrait img {
        height: auto;
        max-width: 100%;
        width: 100%;
    }

    .home-page .home-story__certificates {
        max-width: 17.5rem;
        width: 100%;
    }

    .home-page .home-story__certificate-stage,
    .home-page .home-story__certificate,
    .home-page .home-story__certificate img {
        max-width: 100%;
        width: 100%;
    }
}

/* Keep the About Hero on the same mobile contract as the approved Homepage. */
@media (max-width: 800px) {
    .about-page,
    .about-page .ds-hero--about,
    .about-page .ds-hero--about > *,
    .about-page .ds-hero--about .ds-hero__content,
    .about-page .ds-hero--about .lead,
    .about-page__two-column,
    .about-page__copy,
    .about-page__qualities {
        min-width: 0;
    }

    .about-page .ds-hero--about .ds-hero__media {
        margin-right: 0;
    }

    .about-page .ds-hero--about .lead,
    .about-page__reading p,
    .about-page__copy p,
    .about-page__questions p,
    .about-page__qualities span {
        max-width: 100%;
        overflow-wrap: anywhere;
    }
}

/* Public product catalogue: canonical Product Foundation read-side. */
.product-catalogue {
    background: #f5f1eb;
    color: #222831;
}

.product-catalogue__intro,
.product-catalogue__discovery {
    margin: 0 auto;
    max-width: 68.75rem;
    padding-inline: clamp(1.5rem, 5vw, 4.5rem);
}

.product-catalogue__intro {
    max-width: 55rem;
    padding-bottom: clamp(4rem, 8vw, 7.5rem);
    padding-top: clamp(7.5rem, 14vw, 11rem);
}

.product-catalogue .eyebrow {
    color: #a86a4a;
    font-size: .625rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: .18em;
    margin: 0 0 1.25rem;
    text-transform: uppercase;
}

.product-catalogue__intro h1,
.product-catalogue__header h2,
.product-detail h1 {
    color: #222831;
    font-weight: var(--font-weight-regular);
    line-height: 1.12;
    margin: 0;
}

.product-catalogue__intro h1 {
    font-size: clamp(2.25rem, 4.25vw, 3.75rem);
    max-width: 38rem;
}

.product-catalogue__intro-copy {
    color: #6e6b66;
    font-size: 1rem;
    line-height: 1.78;
    margin-top: 2rem;
    max-width: 43rem;
}

.product-catalogue__intro-copy p {
    margin: 0 0 1.125rem;
}

.product-catalogue__intro-copy p:last-child {
    color: #222831;
    font-weight: var(--font-weight-medium);
    margin-bottom: 0;
}

.product-catalogue__discovery {
    background: #fcfbf8;
    box-shadow: 50vw 0 0 #fcfbf8, -50vw 0 0 #fcfbf8;
    padding-bottom: clamp(4rem, 7vw, 6.5rem);
    padding-top: clamp(3.5rem, 6vw, 5.5rem);
}

.product-catalogue__header {
    margin-bottom: clamp(2rem, 4vw, 3.25rem);
    max-width: 42rem;
}

.product-catalogue__header h2 {
    font-size: clamp(1.75rem, 3.1vw, 2.5rem);
}

.product-catalogue__layout {
    align-items: start;
    display: grid;
    gap: clamp(2rem, 5vw, 4.5rem);
    grid-template-columns: minmax(14rem, 16rem) minmax(0, 1fr);
}

.product-catalogue__filters {
    background: transparent;
    position: sticky;
    top: 5.5rem;
}

.product-catalogue__filter-sheet-header,
.product-catalogue__mobile-toolbar {
    display: none;
}

.product-catalogue__filter-form {
    display: grid;
    gap: 1.5rem;
}

.product-catalogue__filter-form fieldset {
    border: 0;
    border-bottom: 1px solid #e7ded2;
    margin: 0;
    padding: 0 0 1.25rem;
}

.product-catalogue__filter-form legend {
    color: #222831;
    font-size: .8125rem;
    font-weight: var(--font-weight-medium);
    margin-bottom: .875rem;
    padding: 0;
}

.product-catalogue__filter-options {
    display: grid;
    gap: .625rem;
}

.product-catalogue__filter-options label {
    align-items: start;
    color: #6e6b66;
    cursor: pointer;
    display: flex;
    font-size: .8125rem;
    gap: .625rem;
    line-height: 1.45;
}

.product-catalogue__filter-options input {
    accent-color: #1e3a5f;
    flex: 0 0 auto;
    height: 1rem;
    margin: .1rem 0 0;
    width: 1rem;
}

.product-catalogue__filter-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .875rem;
}

.product-catalogue__filter-actions a,
.product-catalogue__clear-all,
.product-catalogue__empty a,
.product-catalogue__pagination a {
    color: #1e3a5f;
    font-size: .8125rem;
    font-weight: var(--font-weight-medium);
    text-underline-offset: .18em;
}

.product-catalogue__filter-actions .button {
    border-radius: 999px;
    font-size: .8125rem;
    min-height: 0;
    padding: .625rem 1rem;
}

.product-catalogue__results {
    min-width: 0;
}

.product-catalogue__active-filters {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: 1rem;
}

.product-catalogue__active-filters > a:not(.product-catalogue__clear-all) {
    align-items: center;
    border: 1px solid #e7ded2;
    border-radius: 999px;
    color: #222831;
    display: inline-flex;
    font-size: .75rem;
    gap: .375rem;
    padding: .375rem .625rem;
    text-decoration: none;
}

.product-catalogue__result-count {
    color: #6e6b66;
    font-size: .8125rem;
    margin: 0 0 1.25rem;
}

.product-catalogue__grid {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.product-card {
    background: #fcfbf8;
    border: 1px solid #e7ded2;
    border-radius: .625rem;
    display: flex;
    flex-direction: column;
    min-height: 17rem;
    padding: 1.375rem;
    transition: border-color var(--motion-fast), box-shadow var(--motion-fast), transform var(--motion-fast);
}

.product-card:hover {
    border-color: #c9b9aa;
    box-shadow: 0 8px 20px rgba(34, 40, 49, .045);
}

.product-card__type {
    color: #a86a4a;
    font-size: .625rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: .14em;
    margin: 0 0 .875rem;
    text-transform: uppercase;
}

.product-card h3 {
    font-size: 1.125rem;
    font-weight: var(--font-weight-regular);
    line-height: 1.35;
    margin: 0;
}

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

.product-card h3 a {
    color: #222831;
    text-decoration: none;
}

.product-card h3 a::after {
    content: '';
    inset: 0;
    position: absolute;
}

.product-card {
    position: relative;
}

.product-card__description {
    color: #6e6b66;
    font-size: .8125rem;
    line-height: 1.7;
    margin: .875rem 0 1.5rem;
}

.product-card footer {
    align-items: center;
    display: flex;
    gap: .75rem;
    justify-content: space-between;
    margin-top: auto;
}

.product-card footer strong {
    color: #222831;
    font-size: .875rem;
    font-weight: var(--font-weight-medium);
}

.product-card footer a {
    color: #1e3a5f;
    font-size: .8125rem;
    font-weight: var(--font-weight-medium);
    position: relative;
    text-decoration: none;
    z-index: 1;
}

.product-card footer a span {
    display: inline-block;
    transition: transform var(--motion-fast);
}

.product-card:hover footer a span {
    transform: translateX(.2rem);
}

.product-catalogue__empty {
    border-top: 1px solid #e7ded2;
    color: #6e6b66;
    font-size: .9375rem;
    padding-top: 1.5rem;
}

.product-catalogue__pagination {
    align-items: center;
    display: flex;
    font-size: .8125rem;
    gap: 1rem;
    justify-content: space-between;
    margin-top: 2rem;
}

.product-detail {
    background: #f5f1eb;
    margin: 0 auto;
    min-height: 70vh;
    padding: clamp(8rem, 14vw, 11rem) clamp(1.5rem, 5vw, 4.5rem) clamp(4rem, 8vw, 7rem);
}

.product-detail > * {
    margin-left: auto;
    margin-right: auto;
    max-width: 43rem;
}

.product-detail .eyebrow {
    color: #a86a4a;
    font-size: .625rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: .18em;
    margin-bottom: 1.25rem;
    text-transform: uppercase;
}

.product-detail h1 {
    font-size: clamp(2rem, 4vw, 3.5rem);
}

.product-detail__lead {
    color: #6e6b66;
    font-size: 1.125rem;
    line-height: 1.7;
    margin-top: 1.5rem;
}

.product-detail__body {
    color: #6e6b66;
    font-size: 1rem;
    line-height: 1.8;
    margin-top: 2rem;
}

.product-detail__purchase {
    border-block: 1px solid #e7ded2;
    margin-top: 2.5rem;
    padding: 1.25rem 0;
}

.product-detail__purchase strong { font-size: 1.125rem; }
.product-detail__purchase p { color: #6e6b66; font-size: .8125rem; margin: .5rem 0 0; }
.product-detail__back { color: #1e3a5f; display: block; font-size: .875rem; font-weight: var(--font-weight-medium); margin-top: 2rem; }

@media (max-width: 1100px) {
    .product-catalogue__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 800px) {
    .product-catalogue__intro { padding-top: 6.5rem; }
    .product-catalogue__intro-copy { font-size: .9375rem; line-height: 1.75; }
    .product-catalogue__mobile-toolbar { align-items: center; display: flex; justify-content: space-between; margin-bottom: 1.5rem; }
    .product-catalogue__mobile-toolbar > span { color: #6e6b66; font-size: .8125rem; }
    .product-catalogue__filter-trigger { background: transparent; border: 1px solid #e7ded2; border-radius: 999px; color: #222831; font: inherit; font-size: .8125rem; min-height: 2.75rem; padding: 0 1rem; }
    .product-catalogue__layout { display: block; }
    .product-catalogue__filters { position: static; }
    .product-catalogue__filter-sheet-header { align-items: center; border-bottom: 1px solid #e7ded2; display: flex; justify-content: space-between; padding: 1.125rem 1.5rem; }
    .product-catalogue__filter-sheet-header h2 { font-size: 1.125rem; font-weight: var(--font-weight-medium); margin: 0; }
    .product-catalogue__filter-sheet-header button { background: transparent; border: 0; color: #222831; font-size: 1.75rem; line-height: 1; min-height: 2.75rem; min-width: 2.75rem; }
    .product-catalogue__filter-form { padding: 1.5rem; }
    .product-catalogue__filter-actions { background: #fcfbf8; border-top: 1px solid #e7ded2; bottom: 0; left: 0; padding: 1rem 1.5rem; position: sticky; }
    .product-catalogue__filter-actions .button { flex: 1; min-height: 2.75rem; }
    .js .product-catalogue__filters { background: #fcfbf8; bottom: 0; display: none; left: 0; overflow-y: auto; position: fixed; right: 0; top: 0; z-index: 70; }
    .js .product-catalogue__filters.is-open { display: block; }
    .js .product-catalogue-filter-open { overflow: hidden; }
    .product-catalogue__results { margin-top: 0; }
    .product-catalogue__grid { grid-template-columns: 1fr; }
    .product-card { min-height: 0; padding: 1.25rem; }
    .product-card__description { margin-bottom: 1.25rem; }
    .product-detail { padding-top: 6.5rem; }
}

/* Approved public-page annotations: final overrides for desktop and mobile. */
@media (min-width: 801px) {
    .about-page .ds-hero--about,
    .consultation-page .ds-hero--consultation {
        height: min(78svh, 50rem);
        min-height: 0;
        overflow: hidden;
    }

    .about-page .ds-hero--about .ds-hero__media,
    .consultation-page .ds-hero--consultation .ds-hero__media {
        padding: .875rem clamp(3rem, 6vw, 6rem) 0;
    }

    .about-page .ds-hero--about .ds-hero__media img,
    .consultation-page .ds-hero--consultation .ds-hero__media img {
        height: 100%;
        max-height: 100%;
        max-width: 100%;
    }

    .consultation-page__cta h2 {
        font-size: 1.0625rem;
        font-style: italic;
        font-weight: var(--font-weight-medium);
        letter-spacing: 0;
        line-height: 1.65;
        max-width: 45rem;
    }
}

.about-page__origin-layout {
    display: block;
}

.about-page__statement p:first-child {
    max-width: none;
    white-space: nowrap;
}

.consultation-page__hero-intro {
    color: #6e6b66;
    display: grid;
    font-size: var(--font-size-md);
    gap: .625rem;
    line-height: 1.75;
    margin: 0 0 2rem;
    max-width: 29rem;
}

.consultation-page__hero-intro p,
.consultation-page__hero-intro ul {
    margin: 0;
}

.consultation-page__hero-intro ul {
    display: grid;
    gap: .125rem;
    list-style: disc;
    margin-left: 1.25rem;
    padding: 0;
}

.consultation-page__hero-intro strong {
    color: #6e6b66;
    font-weight: var(--font-weight-bold);
}

.consultation-page__first-task .consultation-page__pullquote {
    font-size: .9375rem !important;
    font-weight: var(--font-weight-regular);
    line-height: 1.8 !important;
    margin-top: 0 !important;
}

.consultation-page__pullquote strong {
    font-weight: var(--font-weight-bold);
}

.consultation-page__practical-link {
    background: #f5f1eb;
    color: #6e6b66;
    margin-top: 1rem;
    min-width: auto !important;
}

.consultation-page__contact-methods a {
    color: inherit;
    text-decoration: none;
}

.consultation-page__contact-methods a:hover,
.consultation-page__contact-methods a:focus-visible {
    color: #2c4f7a;
    text-decoration: underline;
}

@media (min-width: 801px) {
    .consultation-page__first-task {
        padding-bottom: clamp(3.375rem, 6.75vw, 6rem);
    }

    .consultation-page__process {
        padding-bottom: clamp(3.375rem, 6.75vw, 6rem);
        padding-top: clamp(3.375rem, 6.75vw, 6rem);
    }

    .consultation-page__outcomes {
        padding-bottom: clamp(2.25rem, 4.5vw, 4rem);
        padding-top: clamp(3.375rem, 6.75vw, 6rem);
    }

    .consultation-page__fit,
    .consultation-page__cta,
    .consultation-page__questions,
    .consultation-page__alternatives {
        padding-top: clamp(2.25rem, 4.5vw, 4rem);
    }

    .consultation-page__fit,
    .consultation-page__practical,
    .consultation-page__cta,
    .consultation-page__questions {
        padding-bottom: clamp(2.25rem, 4.5vw, 4rem);
    }
}

@media (max-width: 800px) {
    .about-page__statement p:first-child {
        white-space: normal;
    }

    .about-page__statement p:first-child span {
        display: block;
        white-space: nowrap;
    }

    .consultation-page__hero-intro {
        max-width: 100%;
    }
}

/* Workspace Design Baseline V1. Source: design-reference/workspace-figma/v1. */
.workspace-body {
    --color-background: #f6f2ed;
    --color-surface: #fafaf8;
    --color-surface-muted: #e8e4dc;
    --color-surface-subtle: #edebe5;
    --color-text: #1b1916;
    --color-text-secondary: #7a7469;
    --color-muted: #7a7469;
    --color-border: #d9d4cb;
    --color-border-strong: #c9c1b7;
    --color-primary: #1c2b4a;
    --color-primary-hover: #293b62;
    --color-accent: #b56a52;
    --color-highlight: #b56a52;
    --color-success: #5c826a;
    --font-family-base: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --radius-sm: 6px;
    --radius-base: 6px;
    --radius-md: 9px;
    --radius-lg: 9px;
    --shadow-xs: 0 1px 2px rgba(27, 25, 22, .03);
    --shadow-sm: 0 10px 30px rgba(27, 25, 22, .05);
    background: #f6f2ed;
    color: #1b1916;
}

.workspace-body .workspace-shell {
    background: #f6f2ed;
    grid-template-columns: 240px minmax(0, 1fr);
    min-height: 100svh;
}

.workspace-body .workspace-sidebar {
    background: #edebe5;
    border: 0;
    border-right: 1px solid #d9d4cb;
    display: flex;
    flex-direction: column;
    gap: 0;
    height: 100svh;
    overflow-y: auto;
    padding: 0;
}

.workspace-sidebar__identity {
    border-bottom: 1px solid #d9d4cb;
    display: grid;
    gap: 1rem;
    padding: 1.35rem 1.5rem 1rem;
}

.workspace-body .workspace-brand {
    color: #1b1916;
    font-family: "Lora", Georgia, serif;
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: -.015em;
}

.workspace-brand__subtitle {
    color: #a8a099;
    font-size: .6875rem;
    letter-spacing: .02em;
    margin-top: -.85rem;
}

.workspace-user { align-items: center; display: flex; gap: .65rem; }
.workspace-user__avatar { align-items: center; background: #e8e4dc; border-radius: 50%; color: #7a7469; display: inline-flex; flex: 0 0 1.875rem; font-size: .75rem; font-weight: 600; height: 1.875rem; justify-content: center; width: 1.875rem; }
.workspace-user__copy { display: grid; gap: .05rem; min-width: 0; }
.workspace-user__copy strong { color: #1b1916; font-size: .8125rem; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-user__copy small { color: #a8a099; font-size: .6875rem; }

.workspace-body .workspace-nav { display: grid; gap: .0625rem; padding: .5rem .75rem; }
.workspace-body .workspace-nav__item,
.workspace-body .workspace-topbar__link {
    align-items: center;
    background: transparent;
    border-radius: 6px;
    color: #7a7469;
    display: flex;
    font-size: .84375rem;
    font-weight: 400;
    gap: .625rem;
    line-height: 1.2;
    min-height: 2.5rem;
    padding: .625rem .75rem;
    text-decoration: none;
    transition: background-color 120ms ease, color 120ms ease;
}

.workspace-body .workspace-nav__item::before,
.workspace-bottom-nav__item::before {
    background: currentColor;
    border-radius: 50%;
    content: "";
    flex: 0 0 .4375rem;
    height: .4375rem;
    opacity: .8;
    width: .4375rem;
}

.workspace-body .workspace-nav__item:hover,
.workspace-body .workspace-nav__item:focus-visible,
.workspace-body .workspace-nav__item.is-active {
    background: #e8e4dc;
    box-shadow: none;
    color: #1c2b4a;
}

.workspace-body .workspace-nav__item.is-active { font-weight: 500; }
.workspace-body .workspace-main { grid-template-rows: 50px minmax(0, 1fr); min-width: 0; }
.workspace-body .workspace-topbar,
.workspace-body .workspace-content { min-width: 0; }
.workspace-icon { display: block; flex: 0 0 auto; height: 1.0625rem; width: 1.0625rem; }
.workspace-body .workspace-nav__item { gap: .625rem; margin: 0; min-height: 2.25rem; padding: .5rem .75rem; }
.workspace-body .workspace-nav__item::before { display: none; }
.workspace-body .workspace-nav__item.is-active { background: #e8e4dc; box-shadow: none; color: #1c2b4a; }
.workspace-body .workspace-nav__heading { color: #a8a099; font-size: .65625rem; font-weight: 600; letter-spacing: .08em; margin: .8rem .75rem .15rem; text-transform: uppercase; }
.workspace-body .workspace-sidebar__package { border-top: 1px solid #d9d4cb; display: grid; gap: .2rem; padding: .875rem 1.5rem 1.25rem; }
.workspace-body .workspace-sidebar__package p { color: #a8a099; font-size: .65625rem; font-weight: 600; letter-spacing: .08em; margin: 0; text-transform: uppercase; }
.workspace-body .workspace-sidebar__package strong { color: #1b1916; font-size: .8125rem; font-weight: 500; }
.workspace-body .workspace-sidebar__package small { color: #a8a099; font-size: .6875rem; }
.workspace-body .workspace-sidebar__package a { color: #1c2b4a; font-size: .75rem; font-weight: 500; margin-top: .4rem; text-decoration: none; }
.workspace-body .workspace-topbar__link, .workspace-body .workspace-notification-link, .workspace-body .workspace-profile-menu summary { align-items: center; display: inline-flex; }

.client-overview__header { margin-bottom: 2rem; }
.client-overview__header h1 { font-size: 1.8rem; margin: 0 0 .3rem; }
.client-overview__header p { color: #7a7469; font-size: .875rem; margin: 0; }
.client-overview__grid { align-items: start; display: grid; gap: 3.25rem; grid-template-columns: minmax(0, 1fr) 17.5rem; }
.client-overview__main { min-width: 0; }
.client-overview__hero { background: #1c2b4a; border-radius: 9px; color: #fafaf8; margin-bottom: 2.5rem; padding: 1.65rem 1.875rem 1.5rem; }
.client-overview__hero h2 { color: #fafaf8; font-family: "Lora", Georgia, serif; font-size: 1.25rem; margin: 0 0 .625rem; }
.client-overview__eyebrow { color: #a8a099; font-size: .65625rem; font-weight: 600; letter-spacing: .08em; margin: 0 0 .7rem; text-transform: uppercase; }
.client-overview__hero .client-overview__eyebrow { color: rgba(250,250,248,.48); }
.client-overview__hero-time { font-size: 1.5rem; font-weight: 300; letter-spacing: -.02em; margin: 0; }
.client-overview__hero-status { color: rgba(250,250,248,.5); font-size: .8125rem; margin: .4rem 0 0; }
.client-overview__hero-status span { color: #6f9b7c; }
.client-overview__meeting { background: rgba(255,255,255,.08); border-radius: 6px; color: rgba(250,250,248,.48); font-size: .8125rem; margin: 1.25rem 0 0; padding: .65rem .875rem; }
.client-overview__hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 1.2rem; margin-top: 1.25rem; }
.client-overview__hero-actions a { color: rgba(250,250,248,.65); font-size: .8125rem; text-decoration: none; }
.client-overview__hero-actions .client-overview__join { background: #fafaf8; border-radius: 6px; color: #1c2b4a; font-weight: 600; padding: .6rem 1.25rem; }
.client-overview__hero--empty { background: #1c2b4a; }
.client-overview__availability, .client-overview__homework { border-top: 1px solid #d9d4cb; margin-top: 2.5rem; padding-top: 1.15rem; }
.client-overview__section-head h2 { color: #1b1916; font-family: "Lora", Georgia, serif; font-size: 1rem; font-weight: 500; margin: 0; }
.client-overview__availability-body { align-items: center; border-bottom: 1px solid #d9d4cb; display: flex; gap: 1rem; justify-content: space-between; padding: 1.125rem 0; }
.client-overview__availability-body p { color: #1b1916; font-size: .9375rem; margin: 0; }
.client-overview__availability-body strong { color: #1c2b4a; font-family: "Lora", Georgia, serif; font-size: 1.3rem; font-weight: 500; }
.client-overview__availability-body a { color: #1c2b4a; font-size: .8125rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.client-overview__availability-body--empty { align-items: flex-start; flex-direction: column; gap: .7rem; }
.client-overview__availability-body--empty p, .client-overview__quiet { color: #7a7469; font-size: .875rem; line-height: 1.55; }
.client-overview__quiet { border-bottom: 1px solid #d9d4cb; margin: .85rem 0 0; padding-bottom: 1.125rem; }
.client-overview__homework-list { border-bottom: 1px solid #d9d4cb; list-style: none; margin: .8rem 0 0; padding: 0; }
.client-overview__homework-list li { color: #39352f; font-size: .875rem; line-height: 1.45; padding: .55rem 0; }
.client-overview__homework-list li + li { border-top: 1px solid #ebe7df; }
.client-overview__homework-detail { color: #1c2b4a; display: inline-flex; font-size: .8125rem; font-weight: 600; margin-top: .8rem; text-decoration: none; }
.client-overview__row { border-bottom: 1px solid #d9d4cb; padding: 1.125rem 0; }
.client-overview__row--homework .client-overview__eyebrow { color: #b56a52; }
.client-overview__row h3 { font-size: .9375rem; font-weight: 500; margin: 0 0 .5rem; }
.client-overview__row p:not(.client-overview__eyebrow) { font-size: .875rem; line-height: 1.6; margin: 0 0 .7rem; }
.client-overview__row--homework p:not(.client-overview__eyebrow) { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; -webkit-line-clamp: 2; }
.client-overview__row a, .client-overview__calendar-event a, .client-overview__note a { color: #1c2b4a; font-size: .8125rem; font-weight: 500; text-decoration: none; }
.client-overview__archive { border-top: 1px solid #d9d4cb; margin-top: 2.5rem; padding-top: 1.15rem; }
.client-overview__section-head { align-items: baseline; display: flex; justify-content: space-between; }
.client-overview__section-head a { color: #a8a099; font-size: .75rem; text-decoration: none; }
.client-overview__previous { align-items: center; border-bottom: 1px solid #d9d4cb; color: #1b1916; display: grid; gap: .18rem; grid-template-columns: minmax(0,1fr) auto; padding: .85rem 0; text-decoration: none; }
.client-overview__previous span { font-size: .875rem; font-weight: 500; }
.client-overview__previous small { color: #a8a099; font-size: .75rem; grid-column: 1; }
.client-overview__previous b { color: #a8a099; grid-column: 2; grid-row: 1 / 3; }
.client-overview__rail { display: grid; gap: 1.75rem; }
.client-overview__calendar-month { align-items: center; display: flex; justify-content: space-between; margin-bottom: .75rem; }
.client-overview__calendar-month h2 { color: #1b1916; font-family: "Lora", Georgia, serif; font-size: .875rem; font-weight: 500; margin: 0; }
.client-overview__calendar-month span { color: #a8a099; font-size: 1.2rem; }
.client-overview__weekdays, .client-overview__days { display: grid; grid-template-columns: repeat(7, 1fr); }
.client-overview__weekdays span { color: #a8a099; font-size: .65625rem; font-weight: 600; padding-bottom: .4rem; text-align: center; }
.client-overview__days { gap: .125rem; }
.client-overview__days span { align-items: center; aspect-ratio: 1; color: #1b1916; display: flex; font-size: .75rem; justify-content: center; position: relative; }
.client-overview__days .is-outside { color: transparent; }
.client-overview__days .is-today { outline: 1px solid #d9d4cb; border-radius: 50%; }
.client-overview__days .is-selected { background: #1c2b4a; border-radius: 50%; color: #fafaf8; }
.client-overview__days .has-consultation::after { background: #b56a52; border-radius: 50%; bottom: .12rem; content: ""; height: .2rem; position: absolute; width: .2rem; }
.client-overview__days .is-upcoming::after { background: #5c826a; }
.client-overview__calendar-event { border-top: 1px solid #d9d4cb; margin-top: .9rem; padding-top: .8rem; }
.client-overview__calendar-event p { color: #1b1916; font-size: .75rem; line-height: 1.55; margin: 0 0 .5rem; }
.client-overview__note { border-top: 1px solid #d9d4cb; padding-top: 1.25rem; }
.client-overview__note blockquote { border-left: 2px solid #b56a52; color: #1b1916; font-size: .875rem; line-height: 1.6; margin: 0 0 .75rem; padding-left: .9rem; }

/* Client consultations: the approved Workspace list and consultation-card language. */
.workspace-body .client-consultations-header { align-items: end; border-bottom: 1px solid #d9d4cb; gap: 2rem; margin-bottom: 2rem; padding: 0; }
.workspace-body .client-consultations-header h1 { font-family: "Lora", Georgia, serif; font-size: 1.8rem; font-weight: 600; }
.workspace-body .client-consultations-header > div > span { color: #7a7469; font-size: .8125rem; margin-top: .3rem; }
.workspace-body .client-consultations-tabs { gap: 1.45rem; margin: 0; overflow-x: auto; padding: 0; width: auto; }
.workspace-body .client-consultations-tabs a { border-radius: 0; color: #7a7469; font-size: .8125rem; font-weight: 500; padding: .7rem 0 .8rem; white-space: nowrap; }
.workspace-body .client-consultations-tabs a[aria-current="page"] { background: transparent; border-bottom: 2px solid #b56a52; color: #1b1916; }
.workspace-body .client-consultations--scheduled { gap: 2.5rem; }
.workspace-body .client-consultations__nearest { background: #1c2b4a; border: 0; border-radius: 9px; color: #fafaf8; gap: 1rem; padding: 1.65rem 1.875rem 1.5rem; }
.workspace-body .client-consultations__nearest-intro { display: block; }
.workspace-body .client-consultations__nearest-intro .eyebrow { color: rgba(250,250,248,.48); margin: 0; }
.workspace-body .client-consultations__nearest-intro span { color: #6f9b7c; display: inline-flex; font-size: .75rem; font-weight: 500; margin-top: .35rem; }
.workspace-body .client-consultations__nearest-grid { display: block; }
.workspace-body .client-consultations__nearest-grid h2 { color: #fafaf8; font-family: "Lora", Georgia, serif; font-size: 1.25rem; font-weight: 500; margin: 0 0 .55rem; }
.workspace-body .client-consultations__nearest .client-consultations__time { color: #fafaf8; font-size: 1.45rem; font-weight: 300; letter-spacing: -.025em; line-height: 1.25; margin: 0; }
.workspace-body .client-consultations__timezone { color: rgba(250,250,248,.5); font-size: .8125rem; margin: .45rem 0 0; }
.workspace-body .client-consultations__nearest .client-consultations__quiet { background: rgba(255,255,255,.08); border-radius: 6px; color: rgba(250,250,248,.48); font-size: .8125rem; margin: 1.15rem 0 0; padding: .65rem .875rem; }
.workspace-body .client-consultations__nearest .client-consultations__space-entry { margin-top: .9rem; }
.workspace-body .client-consultations__nearest .client-consultations__space-entry span,
.workspace-body .client-consultations__nearest .client-consultations__space-entry a { color: rgba(250,250,248,.62); font-size: .75rem; }
.workspace-body .client-consultations__actions { align-items: center; gap: .8rem; margin-top: .15rem; }
.workspace-body .client-consultations__open { background: #fafaf8; border: 0; border-radius: 6px; color: #1c2b4a; font-size: .8125rem; font-weight: 600; padding: .65rem 1.25rem; }
.workspace-body .client-consultations__hero-action { background: transparent; border: 0; color: rgba(250,250,248,.62); cursor: pointer; font: 500 .8125rem/1.2 "Inter", sans-serif; padding: .55rem .15rem; text-decoration: none; }
.workspace-body .client-consultations__hero-action:hover,
.workspace-body .client-consultations__hero-action:focus-visible { color: #fafaf8; }
.workspace-body .client-consultations__later,
.workspace-body .client-consultations--archive,
.workspace-body .client-consultations--history { background: transparent; border: 0; border-radius: 0; padding: 0; }
.workspace-body .client-consultations__section-heading { border-top: 1px solid #d9d4cb; padding: 1.15rem 0 .7rem; }
.workspace-body .client-consultations__section-heading h2,
.workspace-body .client-consultations--archive h2,
.workspace-body .client-consultations--history h2 { font-family: "Lora", Georgia, serif; font-size: 1rem; font-weight: 500; }
.workspace-body .client-consultations__section-heading a,
.workspace-body .client-consultations__row-actions a,
.workspace-body .client-consultations__row-actions button { color: #1c2b4a; font-size: .75rem; font-weight: 500; }
.workspace-body .client-consultations__section-heading a { font-size: .8125rem; font-weight: 600; }
.workspace-body .client-consultations__row { border-color: #d9d4cb; grid-template-columns: 8.5rem minmax(0, 1fr) auto; padding: .9rem 0; }
.workspace-body .client-consultations__row time strong,
.workspace-body .client-consultations__row > div strong { color: #1b1916; font-size: .84375rem; font-weight: 500; }
.workspace-body .client-consultations__row time span,
.workspace-body .client-consultations__row > div span { color: #a8a099; font-size: .75rem; }
.workspace-body .client-consultations__row-actions summary { background: #edebe5; border-color: #d9d4cb; color: #7a7469; height: 2.25rem; width: 2.25rem; }
.workspace-body .client-consultations__row-actions summary svg { fill: currentColor; height: 1rem; width: 1rem; }
.workspace-body .client-consultations__section-intro { margin-bottom: 1.75rem; max-width: 34rem; }
.workspace-body .client-consultations__section-intro h2 { font-family: "Lora", Georgia, serif; font-size: 1.15rem; font-weight: 500; }
.workspace-body .client-consultations__section-intro p { color: #7a7469; font-size: .84375rem; }
.workspace-body .client-consultations__allocations,
.workspace-body .client-consultations__packages { gap: .75rem; }
.workspace-body .client-consultations__allocation { background: #fafaf8; border-color: #d9d4cb; border-radius: 6px; padding: 1rem; }
.workspace-body .client-consultations__allocation:hover,
.workspace-body .client-consultations__allocation.is-selected { background: #f5e9e4; border-color: #b56a52; }
.workspace-body .client-consultations__allocation strong { color: #1b1916; font-size: .875rem; font-weight: 500; }
.workspace-body .client-consultations__allocation b,
.workspace-body .client-consultations__package > strong { color: #b56a52; font-size: .8125rem; font-weight: 600; }
.workspace-body .client-booking__packages,
.workspace-body .client-booking__calendar,
.workspace-body .client-consultations__package { background: #fafaf8; border-color: #d9d4cb; border-radius: 9px; box-shadow: none; }
.workspace-body .client-consultation-calendar__times { background: #edebe5; border-radius: 6px; }
.workspace-body .client-consultation-calendar .consultation-time__calendar-head button { background: #fafaf8; border-color: #d9d4cb; border-radius: 50%; color: #1c2b4a; }
.workspace-body .client-consultations__history-list article { border-color: #d9d4cb; gap: .25rem; padding: .9rem 0; }
.workspace-body .client-consultations__history-list time { color: #a8a099; font-size: .75rem; }
.workspace-body .client-consultations__history-list strong { color: #1b1916; font-size: .875rem; font-weight: 500; }
.workspace-body .client-consultations__history-list a { color: #1c2b4a; font-size: .75rem; font-weight: 500; }

.workspace-body .workspace-topbar {
    align-items: center;
    background: #edebe5;
    border: 0;
    border-bottom: 1px solid #d9d4cb;
    flex-wrap: nowrap;
    gap: .25rem;
    justify-content: flex-end;
    min-height: 50px;
    padding: 0 1.25rem;
}

.workspace-topbar__site-link { margin-right: auto; }
.workspace-body .workspace-topbar__link { font-size: .8125rem; min-height: 2rem; padding: .45rem .625rem; }
.workspace-body .workspace-topbar__link:hover,
.workspace-body .workspace-topbar__link:focus-visible,
.workspace-body .workspace-topbar__link.is-active { background: #fafaf8; color: #1b1916; }
.workspace-body .workspace-notification-link { border-radius: 6px; color: #7a7469; font-size: .8125rem; min-height: 2rem; padding: .45rem .625rem; text-decoration: none; }
.workspace-body .workspace-notification-link:hover,
.workspace-body .workspace-notification-link:focus-visible { background: #fafaf8; color: #1b1916; }
.workspace-body .workspace-notification-count { background: #b56a52; font-size: .625rem; min-width: 1rem; padding: .05rem .25rem; }
.workspace-message-count { align-items: center; background: #b56a52; border-radius: 999px; color: #fff; display: inline-flex; font: 600 .625rem/1 "Inter", sans-serif; justify-content: center; min-height: 1.125rem; min-width: 1.125rem; padding: 0 .25rem; white-space: nowrap; }
.workspace-message-count[hidden] { display: none; }
.workspace-nav__item .workspace-message-count { margin-left: auto; }
.workspace-bottom-nav__item { position: relative; }
.workspace-bottom-nav__item .workspace-message-count { left: calc(50% + .25rem); position: absolute; top: .25rem; }

.workspace-body .workspace-profile-menu summary { border-radius: 6px; color: #1b1916; font-size: .8125rem; font-weight: 500; min-height: 2rem; padding: .45rem .625rem; }
.workspace-body .workspace-profile-menu summary:hover,
.workspace-body .workspace-profile-menu summary:focus-visible,
.workspace-body .workspace-profile-menu[open] summary { background: #fafaf8; }
.workspace-body .workspace-profile-menu__identity { color: #7a7469; font-size: .75rem; }
.workspace-body .workspace-account { background: #fafaf8; border-color: #d9d4cb; border-radius: 6px; box-shadow: 0 .75rem 2rem rgba(27, 25, 22, .1); }

.workspace-body .workspace-content { align-content: start; gap: 1.75rem; margin: 0 auto; max-width: 1160px; padding: 2.25rem 2.75rem 4.5rem; width: 100%; }
.workspace-body .workspace-page-header,
.workspace-body .workspace-panel { background: #fafaf8; border: 1px solid #d9d4cb; border-radius: 9px; box-shadow: none; }
.workspace-body .workspace-page-header { padding: 1.75rem 2rem; }
.workspace-body .workspace-panel { padding: 1.5rem 1.75rem; }

.payments-page__tabs { margin: 0 0 1.5rem; }
.payments-options { display: grid; gap: 1.15rem; }
.payments-options > .workspace-section-heading { display: grid; gap: .1rem; }
.payments-options > .workspace-section-heading h2 { font-size: 1rem; margin: 0; }
.payments-options > .workspace-section-heading p:last-child { font-family: "Inter", sans-serif; font-size: .8125rem; line-height: 1.45; }
.payments-options__practitioner { color: #7a7469; font-size: .8125rem; line-height: 1.45; margin: -.45rem 0 .35rem; }
.payments-options__formats { display: grid; gap: .85rem; }
.workspace-body .payments-options__format { background: #fafaf8; display: grid; gap: .85rem; padding: 1.2rem 1.35rem; }
.workspace-body .payments-options__format h3 { color: #1b1916; font-family: "Lora", Georgia, serif; font-size: 1.2rem; font-weight: 600; letter-spacing: 0; line-height: 1.25; margin: 0; }
.payments-options__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(13.5rem, 1fr)); gap: .7rem; }
.workspace-body .payments-option { background: #fdfcf9; border: 1px solid #d9d4cb; border-radius: 7px; display: grid; gap: .85rem; align-content: space-between; min-width: 0; padding: .95rem; }
.payments-option h4, .payments-option p { margin: 0; }
.payments-option > div:first-child { display: grid; gap: .35rem; }
.workspace-body .payments-option h4 { color: #1b1916; font-family: "Inter", sans-serif; font-size: .875rem; font-weight: 600; line-height: 1.35; }
.workspace-body .payments-option p { color: #4f4b45; font-family: "Inter", sans-serif; font-size: .8125rem; line-height: 1.45; }
.workspace-body .payments-option strong { color: #1c2b4a; font-family: "Inter", sans-serif; font-size: 1rem; font-weight: 600; line-height: 1.35; }
.workspace-body .payments-option__saving { color: #2f6c54; font-size: .8125rem; }
.workspace-body .payments-option .button { font-size: .8125rem; min-height: 2.35rem; padding: .5rem .8rem; }
.payments-option__pending { display: grid; gap: .65rem; padding-top: .75rem; border-top: 1px solid #e6e0d6; }
.payments-option__pending p { color: var(--color-text-muted); }
.payments-options__selector { max-width: 32rem; }
.payments-options__empty, .payments-incomplete, .payments-completion { max-width: 52rem; }
.payments-completion { display: grid; gap: .75rem; }
.payments-completion h2, .payments-completion p, .payments-incomplete h2, .payments-incomplete p { margin: 0; }
.payments-incomplete { display: grid; gap: .5rem; }
.workspace-body .payments-packages { display: grid; gap: 1rem; max-width: 58rem; }
.workspace-body .payments-packages__heading { border-bottom: 1px solid #d9d4cb; padding-bottom: .85rem; }
.workspace-body .payments-packages__heading .eyebrow { margin: 0 0 .35rem; }
.workspace-body .payments-packages__heading h2 { font-family: "Lora", Georgia, serif; font-size: 1.35rem; margin: 0; }
.workspace-body .payments-packages__empty { color: #756e65; font-size: .875rem; margin: 0; }
.payments-packages__list { display: grid; gap: .65rem; }
.workspace-body .payments-package { align-items: center; border: 1px solid #d9d4cb; border-radius: 7px; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) auto; padding: 1rem 1.1rem; }
.payments-package__details { display: grid; gap: .25rem; min-width: 0; }
.workspace-body .payments-package h3 { color: #1b1916; font-family: "Inter", sans-serif; font-size: .95rem; font-weight: 650; line-height: 1.35; margin: 0; }
.workspace-body .payments-package p { color: #756e65; font-family: "Inter", sans-serif; font-size: .8125rem; line-height: 1.4; margin: 0; }
.workspace-body .payments-package__capacity { color: #4f4b45; }
.workspace-body .payments-package__status { color: #466347; font-weight: 600; }
.workspace-body .payments-package__expiry { margin-top: .15rem; }
.workspace-body .payments-package .button { font-size: .8125rem; min-height: 2.35rem; padding: .5rem .9rem; white-space: nowrap; }
.client-consultation-checkout { max-width: 52rem; }
.client-consultation-checkout h2 { margin-top: 0; }
.client-consultation-checkout__selector { display: grid; gap: 1rem; max-width: 32rem; }
.client-consultation-checkout__form { display: grid; gap: 1.25rem; }
.client-consultation-checkout fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.client-consultation-checkout legend { font-weight: 700; margin-bottom: .75rem; }
.client-consultation-checkout__options { display: grid; gap: .75rem; }
.client-consultation-checkout__option { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .75rem; border: 1px solid #d9d4cb; border-radius: 8px; padding: 1rem; cursor: pointer; }
.client-consultation-checkout__option span { display: grid; gap: .2rem; min-width: 0; }
.client-consultation-checkout__option small { color: var(--color-text-muted); }
.client-consultation-checkout__option b { white-space: nowrap; color: var(--color-navy, #1d3157); }
.client-consultation-checkout__practitioner { font-weight: 700; margin: -.25rem 0 1rem; }
.client-consultation-checkout__back { margin: 1rem 0 0; }

@media (max-width: 500px) {
    .payments-options__grid { grid-template-columns: 1fr; }
    .payments-option { padding: .9rem; }
    .workspace-body .payments-package { align-items: stretch; grid-template-columns: 1fr; }
    .workspace-body .payments-package .button { width: 100%; }
    .client-consultation-checkout__option { grid-template-columns: auto minmax(0, 1fr); }
    .client-consultation-checkout__option b { grid-column: 2; }
}
.practitioner-clients__search { align-items: end; display: flex; gap: .75rem; }
.practitioner-clients__search .field { flex: 1; margin: 0; }
.practitioner-clients__count, .practitioner-clients__id { color: #6b675f; font-size: .875rem; }
.practitioner-clients__list { border-top: 1px solid #d9d4cb; }
.practitioner-clients__row { align-items: start; border-bottom: 1px solid #d9d4cb; display: grid; gap: 1.5rem; grid-template-columns: minmax(13rem, 1fr) minmax(20rem, 2fr); padding: 1.25rem 0; }
.practitioner-clients__summary { align-items: end; display: flex; gap: 1rem; justify-content: space-between; }
.practitioner-clients__row h2 { font-size: 1.05rem; margin: 0 0 .35rem; }
.practitioner-clients__row p { margin: .2rem 0; }
.practitioner-clients__row dl { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; margin: 0; }
.practitioner-clients__row dl div { min-width: 8.5rem; }
.practitioner-clients__row dt { color: #6b675f; font-size: .75rem; margin-bottom: .2rem; }
.practitioner-clients__row dd { margin: 0; }
.practitioner-client-detail { display: grid; gap: 1.25rem; grid-template-columns: minmax(0, 2fr) minmax(17rem, 1fr); }
.practitioner-client-detail__identity { color: #6b675f; display: flex; flex-wrap: wrap; gap: .35rem .9rem; }
.practitioner-client-detail__identity span + span::before { content: '·'; margin-right: .9rem; }
.practitioner-client-detail__notice p { color: #315f4b; margin: 0; }
.practitioner-client-detail__error p { color: #9c3830; margin: 0; }
.practitioner-client-detail__next { border-bottom: 1px solid #d9d4cb; display: grid; gap: .35rem; padding: 0 0 1rem; }
.practitioner-client-detail__next p, .practitioner-client-detail__next time { margin: 0; }
.practitioner-client-detail__recent { margin-top: 1rem; }
.practitioner-client-detail__recent h3 { font-size: 1rem; margin: 0 0 .5rem; }
.practitioner-client-detail__recent article { align-items: center; border-top: 1px solid #d9d4cb; display: grid; gap: .75rem; grid-template-columns: minmax(8rem, .8fr) minmax(11rem, 1.5fr) auto; padding: .9rem 0; }
.practitioner-client-detail__recent time, .practitioner-client-detail__recent span, .practitioner-client-detail__quiet, .practitioner-client-detail__empty { color: #6b675f; }
.practitioner-client-detail__recent strong, .practitioner-client-detail__recent span { display: block; }
.practitioner-client-detail__delivery-current { font-size: 1.05rem; font-weight: 600; }
.practitioner-client-detail__delivery-form { align-items: end; display: flex; gap: .75rem; margin-top: 1rem; }
.practitioner-client-detail__delivery-form .field { flex: 1; margin: 0; }
.practitioner-client-detail__assignment-select, .practitioner-client-detail__assignment-form { align-items: end; display: flex; gap: .75rem; margin-top: 1rem; }
.practitioner-client-detail__assignment-select .field, .practitioner-client-detail__assignment-form .field { flex: 1; margin: 0; }
.practitioner-client-detail__assignment-form { align-items: start; flex-wrap: wrap; }
.practitioner-client-detail__assignment-form .practitioner-client-detail__quiet { flex-basis: 100%; margin: 0; }
.practitioner-client-detail__policy-form { display: grid; gap: 1rem; margin-top: 1rem; }
.practitioner-client-detail__policy-form fieldset { border: 1px solid #d9d4cb; display: grid; gap: .75rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: .75rem; }
.practitioner-client-detail__policy-form legend { font-weight: 600; padding: 0 .25rem; }
.practitioner-client-detail__policy-form .field { margin: 0; }
.practitioner-client-detail__individual-prices-list { display: grid; gap: .75rem; margin-top: .75rem; }
.practitioner-client-detail__individual-price { align-items: center; border-top: 1px solid #d9d4cb; display: grid; gap: .6rem .8rem; grid-template-columns: minmax(14rem, 1fr) auto auto minmax(9rem, .55fr) auto; padding-top: .85rem; }
.practitioner-client-detail__individual-price-copy h3, .practitioner-client-detail__individual-price-copy p { margin: 0; }
.practitioner-client-detail__individual-price-copy h3 { font-size: .95rem; }
.practitioner-client-detail__individual-price-copy p { color: #6b675f; font-size: .8125rem; margin-top: .2rem; }
.practitioner-client-detail__individual-price-toggle { accent-color: #1d355d; height: 1rem; margin: 0; width: 1rem; }
.practitioner-client-detail__individual-price-label { color: #28251f; cursor: pointer; font-size: .875rem; font-weight: 600; }
.practitioner-client-detail__individual-price-amount { margin: 0; }
.practitioner-client-detail__individual-price-toggle:not(:checked) ~ .practitioner-client-detail__individual-price-amount { display: none; }
.client-consultations__allowances { margin-bottom: 1rem; }
.client-consultations__allowances h2 { font-size: 1rem; margin: 0 0 .5rem; }
.client-consultations__allowances p { margin: .25rem 0; }
.practitioner-client-detail__materials-list, .practitioner-client-detail__materials-options { display: grid; gap: .75rem; margin-top: 1rem; }
.practitioner-client-detail__materials-list article, .practitioner-client-detail__materials-options form { align-items: start; border-top: 1px solid #d9d4cb; display: flex; gap: 1rem; justify-content: space-between; min-width: 0; padding-top: .85rem; }
.practitioner-client-detail__materials-list article > div:first-child, .practitioner-client-detail__materials-options form > span { min-width: 0; }
.practitioner-client-detail__materials-list h3 { font-size: .95rem; margin: 0 0 .25rem; }
.practitioner-client-detail__materials-list p { color: #6b675f; margin: 0 0 .25rem; overflow-wrap: anywhere; }
.practitioner-client-detail__materials-list span, .practitioner-client-detail__previous-materials summary { color: #6b675f; font-size: .8125rem; }
.practitioner-client-detail__materials-list .button-row { align-items: start; display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: .5rem; justify-content: end; }
.practitioner-client-detail__previous-materials { border-top: 1px solid #d9d4cb; margin-top: 1rem; padding-top: .85rem; }
.practitioner-client-detail__previous-materials .practitioner-client-detail__materials-list { margin-top: .75rem; }
.practitioner-client-detail__materials-picker { border-top: 1px solid #d9d4cb; margin-top: 1rem; padding-top: 1rem; }
.practitioner-client-detail__materials-picker h3 { font-size: .95rem; margin: 0 0 .75rem; }
.practitioner-client-detail__materials-picker form:first-of-type { align-items: end; display: flex; gap: .75rem; }
.practitioner-client-detail__materials-picker form:first-of-type .field { flex: 1; margin: 0; }
.practitioner-client-detail__materials-options form { align-items: center; }
.workspace-body .workspace-page-header h1,
.workspace-body .workspace-content > section > h1,
.workspace-body .workspace-content h1 { color: #1b1916; font-family: "Lora", Georgia, serif; font-size: 1.8rem; font-weight: 600; letter-spacing: -.022em; line-height: 1.25; }
.workspace-body .workspace-content h2 { color: #1b1916; font-family: "Lora", Georgia, serif; font-size: 1rem; font-weight: 500; letter-spacing: -.01em; }
.workspace-body .workspace-content .eyebrow { color: #a8a099; font-size: .65625rem; font-weight: 600; letter-spacing: .08em; }
.workspace-body .workspace-content .lead { color: #7a7469; font-size: .875rem; }
.workspace-body .client-overview__hero h2 { color: #fafaf8; }
.workspace-body .button { border-radius: 6px; font-weight: 500; }
.workspace-body .button--primary { background: #1c2b4a; }
.workspace-body .button--secondary { background: transparent; border-color: #d9d4cb; color: #1b1916; }
.workspace-body .button--quiet { color: #7a7469; }
.workspace-body .workspace-toolbar { background: #fafaf8; border-color: #d9d4cb; border-radius: 9px; }
.workspace-body .notification-tabs { align-items: center; background: #edebe5; border: 1px solid #d9d4cb; border-radius: 7px; display: inline-flex; flex-wrap: wrap; gap: .2rem; margin: .15rem 0 1.25rem; padding: .25rem; }
.workspace-body .notification-tabs a { border-radius: 5px; color: #6d675f; font-size: .8125rem; font-weight: 500; padding: .5rem .7rem; text-decoration: none; }
.workspace-body .notification-tabs a:hover, .workspace-body .notification-tabs a:focus-visible { background: rgba(250,250,248,.65); color: #1b1916; }
.workspace-body .notification-tabs a[aria-current="page"] { background: #fafaf8; box-shadow: 0 1px 2px rgba(27,25,22,.1); color: #1c2b4a; font-weight: 600; }
.workspace-body .notification-list { gap: .7rem; margin: 1rem 0; }
.workspace-body .notification-item { align-items: center; background: #fafaf8; border: 1px solid #d9d4cb; border-left-width: 1px; border-radius: 7px; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) auto; padding: .95rem 1rem; }
.workspace-body .notification-item.is-unread { border-color: #d5b2a4; box-shadow: inset 3px 0 #b56a52; font-weight: 400; }
.workspace-body .notification-item__content { min-width: 0; }
.workspace-body .notification-item__meta-row { align-items: center; display: flex; gap: .65rem; justify-content: space-between; }
.workspace-body .notification-item .notification-meta { align-items: center; color: #7a7469; display: flex; flex-wrap: wrap; font-size: .75rem; gap: .35rem; margin: 0; }
.workspace-body .notification-item .notification-meta span + span::before, .workspace-body .notification-item .notification-meta time::before { color: #b8b1a7; content: "·"; margin-right: .35rem; }
.workspace-body .notification-item__category { color: #4f4a43; font-weight: 600; }
.workspace-body .notification-item__status { background: #1c2b4a; border-radius: 999px; color: #fafaf8; flex: 0 0 auto; font-size: .6875rem; font-weight: 600; line-height: 1; padding: .3rem .45rem; }
.workspace-body .notification-item h2 { font-family: "Lora", Georgia, serif; font-size: 1rem; font-weight: 500; line-height: 1.35; margin: .4rem 0 .2rem; }
.workspace-body .notification-item h2 a { color: #1b1916; text-decoration: none; }
.workspace-body .notification-item h2 a:hover, .workspace-body .notification-item h2 a:focus-visible { color: #1c2b4a; text-decoration: underline; }
.workspace-body .notification-item__excerpt { color: #403c36; font-size: .875rem; line-height: 1.45; margin: 0; }
.workspace-body .notification-item__actions { align-items: center; display: flex; flex: 0 0 auto; gap: .5rem; }
.workspace-body .notification-item__actions .button { font-size: .8125rem; padding: .55rem .75rem; white-space: nowrap; }
.workspace-body .notification-item__details { color: #1c2b4a; font-size: .8125rem; font-weight: 600; text-decoration: none; }
.workspace-body .notification-item__details:hover, .workspace-body .notification-item__details:focus-visible { text-decoration: underline; }
.task-template-filters { align-items: end; border-bottom: 1px solid #d9d4cb; display: flex; flex-wrap: wrap; gap: .65rem; padding: 0 0 1rem; }
.task-template-filters input, .task-template-filters select, .task-template-form input:not([type="checkbox"]), .task-template-form select, .task-template-form textarea { background: #fafaf8; border: 1px solid #d9d4cb; border-radius: 6px; box-sizing: border-box; color: #1b1916; font: inherit; padding: .65rem .75rem; width: 100%; }
.task-template-filters input { flex: 1 1 14rem; }
.task-template-filters select { flex: 1 1 9rem; }
.task-template-list, .task-template-detail, .task-template-form { margin-top: 1.35rem; }
.task-template-list__item { align-items: center; border-bottom: 1px solid #d9d4cb; display: flex; gap: 1rem; justify-content: space-between; padding: 1.1rem 0; }
.task-template-list__item > div:first-child { min-width: 0; }
.task-template-list__item h2, .task-template-detail h2 { margin: .2rem 0; }
.task-template-list__item p { margin: .25rem 0; }
.task-template-list__meta, .task-template-list__resources { color: #7a7469; font-size: .8125rem; }
.task-template-list__preview { -webkit-box-orient: vertical; -webkit-line-clamp: 2; display: -webkit-box; line-height: 1.5; max-width: 44rem; overflow: hidden; }
.task-library-navigation { align-items: center; display: flex; gap: 1rem; justify-content: space-between; margin: 0 0 1.25rem; }
.task-library-tabs { background: #edebe5; border: 1px solid #d9d4cb; border-radius: 7px; display: inline-flex; gap: .15rem; margin: 0; padding: .2rem; }
.workspace-body .task-library-tabs a { border: 0; border-radius: 5px; color: #7a7469; font-family: "Inter", sans-serif; font-size: .8125rem; font-weight: 500; line-height: 1.2; padding: .55rem .8rem; text-decoration: none; }
.workspace-body .task-library-tabs a::after { display: none; }
.workspace-body .task-library-tabs a:hover, .workspace-body .task-library-tabs a:focus-visible { color: #1b1916; outline: 0; }
.workspace-body .task-library-tabs a.is-active { background: #fafaf8; box-shadow: 0 1px 2px rgba(27, 25, 22, .08); color: #1c2b4a; }
.task-library-navigation__create { white-space: nowrap; }
.task-template-menu { flex: 0 0 auto; position: relative; }
.task-template-menu summary { align-items: center; background: transparent; border: 1px solid transparent; border-radius: 6px; color: #7a7469; cursor: pointer; display: flex; font-size: 1.2rem; height: 2.25rem; justify-content: center; letter-spacing: .08em; line-height: 1; list-style: none; padding: 0; width: 2.25rem; }
.task-template-menu summary::-webkit-details-marker { display: none; }
.task-template-menu summary:hover, .task-template-menu summary:focus-visible, .task-template-menu[open] summary { background: #edebe5; border-color: #d9d4cb; color: #1b1916; outline: 0; }
.task-template-menu__panel { background: #fafaf8; border: 1px solid #d9d4cb; border-radius: 6px; box-shadow: 0 .75rem 1.5rem rgba(27, 25, 22, .1); display: grid; min-width: 10.5rem; padding: .3rem; position: absolute; right: 0; top: calc(100% + .35rem); z-index: 10; }
.task-template-menu__panel a, .task-template-menu__panel button { background: transparent; border: 0; border-radius: 4px; box-sizing: border-box; color: #1b1916; cursor: pointer; display: block; font: inherit; font-size: .875rem; padding: .6rem .7rem; text-align: left; text-decoration: none; width: 100%; }
.task-template-menu__panel a:hover, .task-template-menu__panel a:focus-visible, .task-template-menu__panel button:hover, .task-template-menu__panel button:focus-visible { background: #edebe5; outline: 0; }
.task-template-menu__panel form { margin: 0; }
.task-template-menu__coming-soon { align-items: center; color: #7a7469 !important; cursor: not-allowed !important; display: flex !important; justify-content: space-between; opacity: 1; }
.task-template-menu__coming-soon small { color: #a8a099; font-size: .6875rem; }
.task-template-menu__divider { background: #e6e2da; display: block; height: 1px; margin: .25rem .35rem; }
.task-content-add { position: relative; }
.task-content-add > summary { list-style: none; }
.task-content-add > summary::-webkit-details-marker { display: none; }
.task-content-add__panel { background: #fafaf8; border: 1px solid #d9d4cb; border-radius: 7px; box-shadow: 0 .75rem 1.5rem rgba(27, 25, 22, .1); display: grid; gap: .5rem; padding: .5rem; position: absolute; right: 0; top: calc(100% + .45rem); width: min(28rem, calc(100vw - 2rem)); z-index: 12; }
.task-content-toolbar { align-items: center; border-bottom: 1px solid #d9d4cb; display: grid; gap: .75rem; grid-template-columns: minmax(14rem, 1.6fr) minmax(9rem, .7fr) minmax(11rem, .8fr); margin-bottom: 1rem; padding-bottom: 1rem; }
.task-content-toolbar input, .task-content-toolbar select { min-width: 0; }
.task-content-subnav { align-items: center; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1rem; }
.task-content-subnav .task-library-tabs { margin: 0; }
.task-content-status-tabs { margin-left: auto !important; }
.task-content-pagination { align-items: center; display: flex; gap: .75rem; justify-content: center; margin: 1.5rem 0; }
.task-content-folder-create { position: relative; }
.task-content-folder-create > summary { list-style: none; }
.task-content-folder-create > summary::-webkit-details-marker { display: none; }
.task-content-folder-create form { align-items: end; background: #fafaf8; border: 1px solid #d9d4cb; border-radius: 7px; box-shadow: 0 .75rem 1.5rem rgba(27, 25, 22, .1); display: grid; gap: .75rem; grid-template-columns: minmax(12rem, 1fr) auto; padding: .75rem; position: absolute; right: 0; top: calc(100% + .45rem); width: 23rem; z-index: 12; }
.task-content-folder-create label { display: grid; font-size: .8125rem; gap: .35rem; }
.task-content-list, .task-content-folders { border-top: 1px solid #d9d4cb; }
.task-content-row, .task-content-folder-row { align-items: center; border-bottom: 1px solid #d9d4cb; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) auto; padding: 1rem 0; }
.task-content-row h2, .task-content-folder-row strong { color: #1b1916; font-family: "Inter", sans-serif; font-size: 1rem; font-weight: 600; margin: 0; }
.task-content-row p, .task-content-folder-row span { color: #7a7469; font-size: .8125rem; margin: .25rem 0 0; }
.task-content-folder-row { text-decoration: none; }
.task-content-folder-row > a { color: inherit; display: grid; gap: .2rem; text-decoration: none; }
.task-content-folder-row > a:hover strong, .task-content-folder-row > a:focus-visible strong { color: #1c2b4a; text-decoration: underline; }
.task-content-breadcrumb { color: #7a7469; font-size: .875rem; margin: 0 0 1rem; }
.task-content-breadcrumb a { color: #1c2b4a; }
.task-content-move > summary, .task-content-folder-delete > summary { cursor: pointer; list-style: none; padding: .6rem .7rem; }
.task-content-move > summary::-webkit-details-marker, .task-content-folder-delete > summary::-webkit-details-marker { display: none; }
.task-content-move form, .task-content-folder-delete form { display: grid; gap: .5rem; padding: 0 .7rem .7rem; }
.task-content-folder-delete p { color: #7a7469; font-size: .75rem; line-height: 1.45; margin: 0; padding: 0 .7rem .5rem; }
.task-template-empty { color: #7a7469; display: grid; gap: .9rem; justify-items: start; padding: 2.25rem 0; }
.task-template-empty p { margin: 0; }
.task-template-back { color: #1c2b4a; display: inline-block; font-size: .875rem; font-weight: 600; margin: 0 0 .25rem; text-decoration: none; }
.task-template-form { display: grid; gap: 1.5rem; max-width: 48rem; }
.task-template-form section { border-bottom: 1px solid #d9d4cb; display: grid; gap: .8rem; padding-bottom: 1.5rem; }
.task-template-form label { color: #554f48; display: grid; font-size: .875rem; gap: .4rem; }
.task-template-form fieldset { border: 0; display: flex; flex-wrap: wrap; gap: .6rem 1rem; margin: 0; padding: 0; }
.task-template-form fieldset label, .task-template-resource { align-items: center; display: flex; gap: .45rem; }
.task-template-resource { border-bottom: 1px solid #e6e2da; padding: .65rem 0; }
.task-template-resource small { color: #7a7469; margin-left: auto; }
.task-template-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.25rem; }
.task-template-actions form { margin: 0; }
.task-template-detail__instruction { line-height: 1.65; white-space: normal; }
.task-template-feedback { background: #edf4ef; border-left: 3px solid #5c8069; color: #31583e; margin: 0; padding: .75rem 1rem; }
.task-template-feedback--error { background: #fbefec; border-color: #bf6750; color: #7b3324; }
.task-composer-header { margin-bottom: 0; }
.task-composer-tabs { margin: 0 0 1.75rem; }
.task-template-filters--simple { display: grid; grid-template-columns: minmax(15rem, 1.75fr) minmax(9rem, .85fr) minmax(11rem, 1fr); max-width: none; }
.task-template-filters--simple input, .task-template-filters--simple select { min-width: 0; }
.task-composer { max-width: 46rem; }
.task-composer section { gap: .65rem; }
.task-composer label { font-weight: 500; }
.task-composer textarea { line-height: 1.6; }
.task-material-list { display: grid; gap: .5rem; }
.task-material-list__lead { color: #7a7469; font-size: .875rem; line-height: 1.5; margin: 0; }
.task-material-row { align-items: center; background: #fafaf8; border: 1px solid #d9d4cb; border-radius: 6px; display: grid !important; gap: .65rem; grid-template-columns: auto minmax(0,1fr) auto auto; padding: .75rem .85rem; }
.task-material-row em { color: #7a7469; font-size: .8125rem; font-style: normal; }
.task-add-material { border-top: 1px solid #d9d4cb; margin-top: .9rem; padding-top: .9rem; }
.task-add-material summary { color: #1c2b4a; cursor: pointer; font-weight: 600; }
.task-add-material__choices { display: flex; flex-wrap: wrap; gap: .5rem; padding-top: .75rem; }
.task-add-material__choices a { border: 1px solid #d9d4cb; border-radius: 6px; color: #1b1916; font-size: .875rem; padding: .55rem .7rem; text-decoration: none; }
.task-material-composer { border-top: 1px solid #d9d4cb; display: grid; gap: 1rem; margin-top: 1.75rem; max-width: 46rem; padding-top: 1.5rem; }
.task-material-composer h2 { font-size: 1.35rem; margin: -.55rem 0 0; }
.task-material-composer__lead { color: #7a7469; line-height: 1.55; margin: -.45rem 0 .25rem; }
.task-resource-panel { background: #fafaf8; border: 1px solid #d9d4cb; border-radius: 7px; }
.task-resource-panel > summary { align-items: center; cursor: pointer; display: flex; gap: 1rem; justify-content: space-between; list-style: none; padding: .9rem 1rem; }
.task-resource-panel > summary::-webkit-details-marker { display: none; }
.task-resource-panel > summary::after { color: #1c2b4a; content: '+'; font-size: 1.25rem; font-weight: 400; line-height: 1; }
.task-resource-panel[open] > summary { border-bottom: 1px solid #d9d4cb; }
.task-resource-panel[open] > summary::after { content: '−'; }
.task-resource-panel summary span { color: #1b1916; font-weight: 600; }
.task-resource-panel summary small { color: #7a7469; font-size: .8125rem; margin-left: auto; text-align: right; }
.task-resource-panel form { display: grid; gap: .85rem; padding: 1rem; }
.task-resource-panel label { color: #554f48; display: grid; font-size: .875rem; gap: .4rem; }
.task-resource-panel form .button { justify-self: start; }
.task-resource-panel--library { background: #f5f3ee; }
.task-library-tools { display: grid; gap: .75rem; grid-template-columns: minmax(0, 1fr) minmax(10rem, .42fr); padding: 1rem 1rem .65rem; }
.task-library-search { min-width: 0; }
.task-library-picker { border-top: 1px solid #d9d4cb; display: grid; margin: 0 1rem; }
.task-library-picker a { align-items: center; border-bottom: 1px solid #d9d4cb; color: #1b1916; display: grid; gap: .85rem; grid-template-columns: minmax(0, 1fr) auto; padding: .8rem 0; text-decoration: none; }
.task-library-picker a:hover strong, .task-library-picker a:focus-visible strong { color: #1c2b4a; text-decoration: underline; }
.task-library-picker a:focus-visible { outline: 2px solid #1c2b4a; outline-offset: -2px; }
.task-library-picker a span { display: grid; gap: .15rem; min-width: 0; }
.task-library-picker strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.task-library-picker small { color: #7a7469; }
.task-library-picker b { align-items: center; border: 1px solid #d9d4cb; border-radius: 50%; color: #1c2b4a; display: flex; font-size: 1rem; height: 1.7rem; justify-content: center; width: 1.7rem; }
.task-library-picker__empty { color: #7a7469; margin: .85rem 1rem; }
.task-library-picker__more { justify-self: start; margin: .85rem 1rem 1rem; }

.workspace-mobile-menu,
.workspace-bottom-nav,
.workspace-mobile-title { display: none; }

@media (min-width: 900px) {
    .workspace-body--client { padding-bottom: 4rem; }
    .workspace-body--client .workspace-bottom-nav { align-items: stretch; background: #edebe5; border-top: 1px solid #d9d4cb; bottom: 0; display: flex; height: 4rem; left: 0; position: fixed; right: 0; z-index: 25; }
    .workspace-body--client .workspace-bottom-nav__item { align-items: center; background: transparent; border: 0; color: #a8a099; cursor: pointer; display: flex; flex: 1 1 0; flex-direction: column; font: 400 .6875rem/1.15 "Inter", sans-serif; gap: .35rem; justify-content: center; padding: .35rem .75rem; text-decoration: none; }
    .workspace-body--client .workspace-bottom-nav__item::before { display: none; }
    .workspace-body--client .workspace-bottom-nav__item .workspace-icon { height: 1.125rem; width: 1.125rem; }
    .workspace-body--client .workspace-bottom-nav__item.is-active { color: #1c2b4a; font-weight: 600; }
}

@media (max-width: 899px) {
    .practitioner-clients__search { align-items: stretch; flex-direction: column; }
    .practitioner-clients__row { grid-template-columns: 1fr; }
    .practitioner-clients__summary, .practitioner-client-detail__delivery-form, .practitioner-client-detail__assignment-select, .practitioner-client-detail__assignment-form { align-items: stretch; flex-direction: column; }
    .practitioner-client-detail__individual-price { align-items: start; grid-template-columns: auto 1fr; }
    .practitioner-client-detail__individual-price-copy { grid-column: 1 / -1; }
    .practitioner-client-detail__individual-price-amount { grid-column: 1 / -1; }
    .practitioner-client-detail__individual-price .button { grid-column: 1 / -1; width: 100%; }
    .practitioner-client-detail__policy-form fieldset { grid-template-columns: 1fr; }
    .practitioner-client-detail { grid-template-columns: 1fr; }
    .practitioner-client-detail__recent article { align-items: start; grid-template-columns: 1fr; }
    .practitioner-client-detail__materials-list article, .practitioner-client-detail__materials-options form, .practitioner-client-detail__materials-picker form:first-of-type { align-items: stretch; flex-direction: column; }
    .practitioner-client-detail__materials-list .button-row { justify-content: start; }
    .practitioner-client-detail__materials-list .button-row .button, .practitioner-client-detail__materials-options .button, .practitioner-client-detail__materials-picker form:first-of-type .button { width: 100%; }
    .workspace-body { padding-bottom: calc(3.625rem + env(safe-area-inset-bottom)); }
    .workspace-body .workspace-shell { display: block; }
    .workspace-body .workspace-sidebar { display: none; }
    .workspace-body .workspace-main { display: block; }
    .workspace-body .workspace-topbar { justify-content: flex-end; padding: 0 1.25rem; position: sticky; top: 0; z-index: 20; }
    .workspace-mobile-menu { display: block; margin-right: 0; position: static; }
    .workspace-body .workspace-topbar__site-link { margin-right: auto; }
    .workspace-body .workspace-profile-menu { flex: 0 0 auto; width: auto; }
    .workspace-mobile-title { color: #1b1916; display: block; font-family: "Lora", Georgia, serif; font-size: 1rem; font-weight: 600; left: 50%; position: absolute; transform: translateX(-50%); }
    .workspace-mobile-menu > summary { align-items: center; color: #7a7469; cursor: pointer; display: flex; font-size: 0; height: 2rem; list-style: none; padding: .4rem .25rem; }
    .workspace-mobile-menu > summary::-webkit-details-marker { display: none; }
    .workspace-mobile-menu > summary::before { background: currentColor; box-shadow: 0 .4rem 0 currentColor, 0 -.4rem 0 currentColor; content: ""; height: 1px; width: 1.2rem; }
    .workspace-mobile-menu__backdrop { background: rgba(27, 25, 22, .42); border: 0; inset: 0; position: fixed; z-index: 30; }
    .workspace-mobile-menu:not([open]) > :not(summary) { display: none; }
    .workspace-mobile-menu__drawer { align-items: stretch; background: #edebe5; border-right: 1px solid #d9d4cb; bottom: 0; display: flex; flex-direction: column; left: 0; max-width: 17rem; padding: 1rem .75rem; position: fixed; top: 0; width: 78vw; z-index: 31; }
    .workspace-mobile-menu__heading { align-items: center; color: #1b1916; display: flex; font-family: "Lora", Georgia, serif; font-size: 1rem; font-weight: 600; justify-content: space-between; padding: .25rem .75rem 1rem; }
    .workspace-mobile-menu__heading button { background: transparent; border: 0; color: #7a7469; cursor: pointer; font: inherit; font-size: 1.5rem; line-height: 1; }
    .workspace-body .workspace-mobile-menu__drawer .workspace-nav__item { min-height: 2.75rem; }
    .workspace-body .workspace-mobile-menu__drawer .workspace-nav__item { align-items: center; display: flex; gap: .625rem; }
    .workspace-body .workspace-content { gap: 1.25rem; grid-template-columns: minmax(0, 1fr); min-width: 0; padding: 1.75rem 1.25rem 2rem; }
    .workspace-body .workspace-page-header { padding: 1.35rem 1.25rem; }
    .workspace-body .workspace-panel { padding: 1.25rem; }
    .workspace-body .workspace-page-header h1,
    .workspace-body .workspace-content > section > h1,
    .workspace-body .workspace-content h1 { font-size: 1.5rem; }
    .workspace-body .workspace-notification-link__label,
    .workspace-body .workspace-profile-menu__identity { display: none; }
    .workspace-body .workspace-profile-menu summary { font-size: 0; gap: 0; width: 2rem; }
    .workspace-body .workspace-profile-menu summary::before { display: none; }
    .workspace-body .workspace-account { left: auto; min-width: min(17rem, calc(100vw - 2.5rem)); right: 0; width: min(17rem, calc(100vw - 2.5rem)); }
    .workspace-body .workspace-sidebar__package { display: none; }
    .workspace-body .workspace-topbar__site-link .workspace-icon, .workspace-body .workspace-notification-link .workspace-icon, .workspace-body .workspace-profile-menu summary .workspace-icon { height: 1.125rem; width: 1.125rem; }
    .workspace-body .workspace-topbar__site-link span, .workspace-body .workspace-notification-link__label, .workspace-body .workspace-profile-menu summary > span:not(.workspace-icon) { display: none; }
    .workspace-bottom-nav { align-items: stretch; background: #edebe5; border-top: 1px solid #d9d4cb; bottom: 0; display: flex; height: calc(3.625rem + env(safe-area-inset-bottom)); left: 0; padding-bottom: env(safe-area-inset-bottom); position: fixed; right: 0; z-index: 25; }
    .workspace-bottom-nav__item { align-items: center; background: transparent; border: 0; color: #a8a099; cursor: pointer; display: flex; flex: 1 1 0; flex-direction: column; font: 400 .625rem/1.15 "Inter", sans-serif; gap: .3rem; justify-content: center; padding: .25rem; text-decoration: none; }
    .workspace-bottom-nav__item::before { display: none; }
    .workspace-bottom-nav__item .workspace-icon { height: 1.25rem; width: 1.25rem; }
    .workspace-bottom-nav__item.is-active { color: #1c2b4a; font-weight: 600; }
    .workspace-body .workspace-content { padding-bottom: calc(5rem + env(safe-area-inset-bottom)); }
    .task-template-filters { align-items: stretch; display: grid; grid-template-columns: 1fr 1fr; }
    .task-template-filters input { grid-column: 1 / -1; }
    .task-library-navigation { align-items: flex-start; flex-wrap: wrap; }
    .task-library-navigation__create { margin-left: auto; }
    .task-content-toolbar { grid-template-columns: 1fr 1fr; }
    .task-content-toolbar input { grid-column: 1 / -1; }
    .task-template-list__item { align-items: flex-start; }
    .task-template-form fieldset { display: grid; grid-template-columns: 1fr 1fr; }
    .task-template-filters--simple { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .task-template-filters--simple input { grid-column: 1 / -1; }
    .task-material-row { grid-template-columns: auto minmax(0,1fr); }
    .task-material-row small, .task-material-row em { grid-column: 2; }
    .task-add-material__choices { display: grid; grid-template-columns: 1fr; }
    .task-resource-panel > summary { align-items: flex-start; }
    .task-resource-panel summary small { max-width: 11rem; }
    .task-library-tools { grid-template-columns: 1fr; }
    .task-resource-panel form .button, .task-library-picker__more { width: 100%; }
    .task-content-subnav { align-items: flex-start; flex-wrap: wrap; }
    .task-content-status-tabs { margin-left: 0 !important; }
    .task-content-pagination { align-items: stretch; flex-direction: column; text-align: center; }
    .task-content-folder-create { margin-left: auto; }
    .task-content-folder-create form { grid-template-columns: 1fr; max-width: calc(100vw - 2rem); width: 20rem; }
    .client-overview__header { margin-bottom: 1.5rem; }
    .client-overview__header h1 { font-size: 1.6rem; }
    .client-overview__grid { display: block; }
    .client-overview__hero { border-radius: 9px; margin-bottom: 2.25rem; padding: 1.75rem 1.5rem; }
    .client-overview__hero h2 { font-size: 1.45rem; }
    .client-overview__hero-time { font-size: 1.55rem; }
    .client-overview__meeting { display: none; }
    .client-overview__hero-actions { justify-content: space-between; }
    .client-overview__hero-actions .client-overview__join { text-align: center; width: 100%; }
    .client-overview__availability-body { align-items: flex-start; flex-direction: column; }
    .client-overview__rail { display: contents; }
    .client-overview__calendar { display: none; }
    .client-overview__note { margin-top: 2.5rem; }
    .client-overview__archive { margin-top: 2rem; }
    .workspace-body .client-consultations-header { align-items: stretch; gap: .9rem; margin-bottom: 1.5rem; }
    .workspace-body .client-consultations-header h1 { font-size: 1.6rem; }
    .workspace-body .client-consultations-tabs { gap: 1.2rem; margin-inline: -1.25rem; padding-inline: 1.25rem; }
    .workspace-body .client-consultations-tabs a { font-size: .75rem; padding-bottom: .7rem; }
    .workspace-body .client-consultations--scheduled { gap: 1.8rem; }
    .workspace-body .client-consultations__nearest { padding: 1.4rem 1.35rem 1.3rem; }
    .workspace-body .client-consultations__nearest-grid h2 { font-size: 1.1rem; }
    .workspace-body .client-consultations__nearest .client-consultations__time { font-size: 1.35rem; }
    .workspace-body .client-consultations__actions { align-items: stretch; display: grid; gap: .65rem; }
    .workspace-body .client-consultations__open { text-align: center; width: 100%; }
    .workspace-body .client-consultations__hero-action { text-align: center; }
    .workspace-body .client-consultations__row { grid-template-columns: minmax(0, 1fr) auto; padding: .85rem 0; }
    .workspace-body .client-consultations__row > div { grid-column: 1; }
    .workspace-body .client-consultations__row-actions { grid-column: 2; grid-row: 1 / 3; }
    .workspace-body .client-booking-layout { gap: 1.25rem; }
    .workspace-body .client-booking__packages,
    .workspace-body .client-booking__calendar { padding: 1.25rem; }
    .workspace-body .client-consultation-calendar { gap: 1.25rem; }
}

/* Client consultation subsections share the Figma Workspace row and surface language. */
.workspace-body .client-consultations-header {
    align-items: end;
    border-bottom: 1px solid #d9d4cb;
    display: flex;
    gap: 2.25rem;
    justify-content: space-between;
    margin-bottom: 2.1rem;
    min-height: 4.9rem;
}

.workspace-body .client-consultations-header h1 { margin: 0 0 .25rem; }
.workspace-body .client-consultations-header [data-kyiv-clock] { color: #7a7469; display: block; font-size: .8125rem; }
.workspace-body .client-consultations-tabs {
    align-items: stretch;
    display: flex;
    gap: 1.75rem;
    min-width: 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    white-space: nowrap;
}
.workspace-body .client-consultations-tabs::-webkit-scrollbar { display: none; }
.workspace-body .client-consultations-tabs a {
    border-bottom: 2px solid transparent;
    color: #7a7469;
    display: inline-flex;
    font-size: .8125rem;
    font-weight: 500;
    min-height: 2.55rem;
    padding: .25rem 0 .75rem;
    text-decoration: none;
}
.workspace-body .client-consultations-tabs a:hover,
.workspace-body .client-consultations-tabs a:focus-visible { color: #1b1916; }
.workspace-body .client-consultations-tabs a[aria-current="page"] { border-bottom-color: #b56a52; color: #1b1916; font-weight: 600; }

.workspace-body .client-consultations__section-intro { border-bottom: 1px solid #d9d4cb; margin-bottom: 1.5rem; padding-bottom: 1.1rem; }
.workspace-body .client-consultations__section-intro h2 { font-size: 1.2rem; margin: 0 0 .35rem; }
.workspace-body .client-consultations__section-intro p { color: #7a7469; font-size: .875rem; margin: 0; }
.workspace-body .client-consultations__nearest-grid h2 { color: #fafaf8; }
.workspace-body .consultation-morning-reminder { align-items: center; color: #756e65; display: flex; flex-wrap: wrap; gap: .35rem .45rem; font: 400 .75rem/1.35 "Inter", sans-serif; margin: .65rem 0 0; }
.workspace-body .client-consultations__nearest .consultation-morning-reminder { color: rgba(250, 250, 248, .76); }
.workspace-body .consultation-morning-reminder a { color: inherit; font-weight: 600; text-underline-offset: .16em; }
.workspace-body .consultation-morning-reminder__text { white-space: nowrap; }
.workspace-body .consultation-morning-reminder__separator { opacity: .65; }
.workspace-body .consultation-morning-reminder__switch { background: #b8b1a8; border: 0; border-radius: 999px; cursor: pointer; display: inline-flex; height: .95rem; padding: .12rem; width: 1.65rem; }
.workspace-body .consultation-morning-reminder__switch:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.workspace-body .consultation-morning-reminder__switch:disabled { cursor: wait; opacity: .65; }
.workspace-body .consultation-morning-reminder__switch span { background: #fafaf8; border-radius: 50%; display: block; height: .71rem; transform: translateX(0); width: .71rem; }
.workspace-body .consultation-morning-reminder__switch.is-on { background: #6f9b7c; }
.workspace-body .consultation-morning-reminder__switch.is-on span { transform: translateX(.7rem); }
.workspace-body .client-consultations__nearest .consultation-morning-reminder__switch { background: rgba(250, 250, 248, .34); }
.workspace-body .client-consultations__nearest .consultation-morning-reminder__switch.is-on { background: #6f9b7c; }
.workspace-body .notification-methods { gap: 0; max-width: 48rem; }
.workspace-body .notification-methods__header { margin-bottom: -1rem; }
.workspace-body .notification-methods__back { margin: .75rem 0 0; }
.workspace-body .notification-methods__back a { color: #1c2b4a; font-size: .8125rem; font-weight: 600; text-decoration: none; }
.workspace-body .notification-methods__back a:hover, .workspace-body .notification-methods__back a:focus-visible { text-decoration: underline; }
.workspace-body .notification-methods__section { background: transparent; border: 0; border-bottom: 1px solid #d9d4cb; border-radius: 0; box-shadow: none; display: grid; gap: .55rem; margin: 0; padding: 1.05rem 0; }
.workspace-body .notification-methods__section:first-of-type { border-top: 1px solid #d9d4cb; }
.workspace-body .notification-methods__section h2, .workspace-body .notification-methods__section legend { color: #1b1916; font-family: "Lora", Georgia, serif; font-size: 1.05rem; font-weight: 500; line-height: 1.25; margin: 0; padding: 0; }
.workspace-body .notification-methods__section p { color: #7a7469; font-size: .8125rem; line-height: 1.5; margin: 0; max-width: 38rem; }
.workspace-body .notification-methods__section--platform { background: #f1efea; border: 0; border-radius: 6px; margin: .9rem 0 .35rem; padding: .85rem 1rem; }
.workspace-body .notification-methods__section--platform h2 { color: #1c2b4a; font-family: "Inter", sans-serif; font-size: .75rem; font-weight: 600; text-transform: uppercase; }
.workspace-body .notification-methods__toggle { align-items: center; color: #1b1916; cursor: pointer; display: inline-flex; font-size: .8125rem; font-weight: 600; gap: .55rem; justify-self: start; margin-top: .1rem; }
.workspace-body .notification-methods__toggle input { appearance: none; background: #b8b1a8; border: 0; border-radius: 999px; cursor: pointer; height: 1.2rem; margin: 0; padding: .14rem; position: relative; transition: background-color .15s ease; width: 2.05rem; }
.workspace-body .notification-methods__toggle input::after { background: #fafaf8; border-radius: 50%; content: ""; display: block; height: .92rem; transform: translateX(0); transition: transform .15s ease; width: .92rem; }
.workspace-body .notification-methods__toggle input:checked { background: #1c2b4a; }
.workspace-body .notification-methods__toggle input:checked::after { transform: translateX(.85rem); }
.workspace-body .notification-methods__toggle input:focus-visible { outline: 2px solid #b56a52; outline-offset: 2px; }
.workspace-body .notification-methods__toggle input:disabled { cursor: not-allowed; opacity: .45; }
.workspace-body .notification-methods__toggle [data-preference-state] { border-bottom: 1px solid transparent; min-width: 5.4rem; }
.workspace-body .notification-methods__toggle:hover [data-preference-state] { border-bottom-color: currentColor; }
.workspace-body .notification-methods__toggle input:disabled + [data-preference-state] { cursor: not-allowed; opacity: .5; }
.workspace-body .notification-methods__quiet-hours-times { gap: .6rem .75rem; margin-top: .15rem; }
.workspace-body .notification-methods__quiet-hours-times label { color: #554f48; font-size: .75rem; gap: .25rem; }
.workspace-body .notification-methods__quiet-hours-times input[type="time"], .workspace-body .notification-methods__reminder-time select { background: #fafaf8; border: 1px solid #d9d4cb; border-radius: 5px; color: #1b1916; font-size: .875rem; min-height: 2.15rem; }
.workspace-body .notification-methods__quiet-hours-times .field-hint, .workspace-body .notification-methods__reminder-time span, .workspace-body .notification-methods__reminder .field-hint { color: #7a7469; font-size: .75rem; }
.workspace-body .notification-methods__reminder-time { gap: .35rem .6rem; margin-top: .1rem; }
.workspace-body .notification-methods__telegram .button { justify-self: start; margin-top: .1rem; min-height: 2.25rem; padding: .45rem .85rem; }
.workspace-body .notification-methods__email { border-inline: 0; border-top: 0; padding-inline: 0; }
.workspace-body .notification-methods__email legend { margin-bottom: .2rem; }
@media (max-width: 700px) {
    .workspace-body .notification-methods { max-width: none; }
    .workspace-body .notification-methods__section { gap: .5rem; padding: .9rem 0; }
    .workspace-body .notification-methods__section h2, .workspace-body .notification-methods__section legend { font-size: 1rem; }
    .workspace-body .notification-methods__quiet-hours-times { align-items: start; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .workspace-body .notification-methods__quiet-hours-times .field-hint { grid-column: 1 / -1; }
}
.workspace-body .notification-methods__reminder .field-hint { margin: .55rem 0 0; }
.workspace-body .notification-methods__availability-note { max-width: 32rem; }
.workspace-body .notification-methods__reminder-time { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem .7rem; margin-top: .7rem; color: #756e65; font-size: .875rem; }
.workspace-body .notification-methods__reminder-time label { display: inline-flex; align-items: center; gap: .45rem; color: #27231f; font-weight: 600; }
.workspace-body .notification-methods__reminder-time select { min-height: 2.15rem; padding: .25rem .45rem; font: inherit; }
.workspace-body .notification-methods__quiet-hours-times { display: flex; flex-wrap: wrap; align-items: end; gap: .7rem 1rem; margin-top: .75rem; }
.workspace-body .notification-methods__quiet-hours-times label { display: grid; gap: .35rem; font-size: .9rem; }
.workspace-body .notification-methods__quiet-hours-times input[type="time"] { min-height: 2.25rem; padding: .35rem .5rem; }
.workspace-body .notification-methods__quiet-hours-times .field-hint { width: 100%; margin: 0; }
.workspace-body .client-consultations__empty {
    background: transparent;
    border: 0;
    border-radius: 0;
    border-top: 1px solid #d9d4cb;
    box-shadow: none;
    display: grid;
    gap: .8rem;
    justify-items: start;
    padding: 1.4rem 0 0;
}
.workspace-body .client-consultations__empty h2 { margin: 0; }
.workspace-body .client-consultations__empty p { color: #7a7469; margin: 0; }

.workspace-body .client-consultations--archive,
.workspace-body .client-consultations--history {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
}
.workspace-body .client-consultations--archive > h2,
.workspace-body .client-consultations--history > h2 { border-bottom: 1px solid #d9d4cb; font-size: 1.2rem; margin: 0 0 .15rem; padding-bottom: 1.1rem; }
.workspace-body .client-consultations--archive > p,
.workspace-body .client-consultations--history > p { color: #7a7469; margin: 1rem 0 0; }
.workspace-body .client-consultations__history-list { margin-top: 0; }
.workspace-body .client-consultations__history-list article {
    align-items: center;
    border-bottom: 1px solid #d9d4cb;
    display: grid;
    gap: .2rem 1.25rem;
    grid-template-columns: 8.5rem minmax(0, 1fr) auto;
    padding: 1rem 0;
}
.workspace-body .client-consultations__history-list time { color: #7a7469; font-size: .8125rem; grid-row: 1 / span 2; }
.workspace-body .client-consultations__history-list strong { color: #1b1916; font-size: .875rem; font-weight: 600; }
.workspace-body .client-consultations__history-list span { color: #7a7469; font-size: .75rem; }
.workspace-body .client-consultations--archive .client-consultations__history-list span { color: #5c826a; }
.workspace-body .client-consultations--history .client-consultations__history-list span { color: #a26a59; }
.workspace-body .client-consultations__history-list a { color: #1c2b4a; font-size: .8125rem; font-weight: 600; grid-column: 3; grid-row: 1 / span 2; text-decoration: none; }
.workspace-body .client-consultations__history-list a:hover,
.workspace-body .client-consultations__history-list a:focus-visible { text-decoration: underline; }

.workspace-body .client-booking-layout { align-items: start; gap: 1.5rem; grid-template-columns: minmax(14rem, .68fr) minmax(0, 1.32fr); }
.workspace-body .client-booking__packages,
.workspace-body .client-booking__calendar { background: #fafaf8; border: 1px solid #d9d4cb; border-radius: 9px; box-shadow: none; }
.workspace-body .client-booking__packages { padding: 1.25rem; }
.workspace-body .client-booking__calendar { padding: 1.5rem; }
.workspace-body .client-booking__calendar > h3 { font-family: "Lora", Georgia, serif; font-size: 1.1rem; margin: .2rem 0; }
.workspace-body .client-consultations__allocation {
    border: 1px solid transparent;
    border-bottom-color: #d9d4cb;
    border-radius: 6px;
    display: grid;
    gap: .2rem;
    padding: .9rem .75rem;
    text-decoration: none;
}
.workspace-body .client-consultations__allocation:last-child { border-bottom-color: transparent; }
.workspace-body .client-consultations__allocation:hover,
.workspace-body .client-consultations__allocation:focus-visible { background: #f6f2ed; border-color: #d9d4cb; }
.workspace-body .client-consultations__allocation.is-selected { background: #f6f2ed; border-color: #b56a52; box-shadow: inset 3px 0 #b56a52; }
.workspace-body .client-consultations__allocation strong { color: #1b1916; font-size: .875rem; }
.workspace-body .client-consultations__allocation span { color: #7a7469; font-size: .75rem; }
.workspace-body .client-consultations__allocation b { color: #1c2b4a; font-size: .8125rem; font-weight: 600; margin-top: .25rem; }
.workspace-body .client-consultation-calendar { gap: 1.5rem; grid-template-columns: minmax(0, 1fr) minmax(13.5rem, .8fr); }
.workspace-body .client-consultation-calendar__month,
.workspace-body .client-consultation-calendar__times { background: #f6f2ed; border: 0; border-radius: 6px; padding: 1.1rem; }
.workspace-body .client-consultation-calendar__times { border-left: 3px solid #d9d4cb; }
.workspace-body .client-consultation-calendar__times h4 { font-family: "Lora", Georgia, serif; font-size: 1rem; margin: 0 0 .4rem; }
.workspace-body .client-consultation-calendar__times p { color: #7a7469; font-size: .8125rem; margin: 0; }
.workspace-body .consultation-time__calendar-head { margin-bottom: .85rem; }
.workspace-body .consultation-time__calendar-head button { background: transparent; border-color: #d9d4cb; color: #1c2b4a; height: 2rem; width: 2rem; }
.workspace-body .consultation-time__calendar-head h4 { font-family: "Lora", Georgia, serif; font-size: 1rem; }
.workspace-body .consultation-time__day { border-color: transparent; border-radius: 50%; font-size: .8125rem; }
.workspace-body .consultation-time__day:not(:disabled):hover,
.workspace-body .consultation-time__day:not(:disabled):focus-visible { background: #edebe5; border-color: #d9d4cb; color: #1c2b4a; }
.workspace-body .consultation-time__day.is-selected { background: #1c2b4a; border-color: #1c2b4a; color: #fafaf8; }
.workspace-body .consultation-time__slot { border-color: #d9d4cb; border-radius: 6px; color: #1b1916; font-size: .8125rem; min-height: 2.5rem; }
.workspace-body .consultation-time__slot[aria-pressed="true"] { background: #1c2b4a; border-color: #1c2b4a; color: #fafaf8; }
.workspace-body .client-consultation-calendar__form { border-top: 1px solid #d9d4cb; margin-top: 1.25rem; padding-top: 1.25rem; }

.workspace-body .client-consultations__packages { gap: 1rem; }
.workspace-body .client-consultations__package {
    align-content: start;
    background: #fafaf8;
    border-color: #d9d4cb;
    border-radius: 9px;
    gap: .7rem;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 11rem;
    padding: 1.25rem;
}
.workspace-body .client-consultations__package h3 { font-family: "Lora", Georgia, serif; font-size: 1.05rem; margin: 0 0 .2rem; }
.workspace-body .client-consultations__package > div > p,
.workspace-body .client-consultations__package > p { color: #7a7469; font-size: .8125rem; }
.workspace-body .client-consultations__package > strong { color: #1c2b4a; font-size: 1rem; font-weight: 600; }
.workspace-body .client-consultations__package.is-exhausted { background: #f1efea; }
.workspace-body .client-consultations__package.is-exhausted > strong { color: #7a7469; }
.workspace-body .client-consultations__package .button { align-self: end; margin-top: auto; }

.workspace-body .client-reschedule { background: #fafaf8; border-color: #d9d4cb; border-radius: 9px; max-width: none; padding: 1.5rem; }
.workspace-body .client-reschedule > h2 { font-size: 1.2rem; }
.workspace-body .client-reschedule > p:not(.eyebrow) { color: #7a7469; font-size: .875rem; }
.workspace-body .client-cancel-dialog { background: #fafaf8; border: 1px solid #d9d4cb; border-radius: 9px; box-shadow: 0 1.5rem 4rem rgba(27, 25, 22, .16); color: #1b1916; max-width: 30rem; padding: 0; }
.workspace-body .client-cancel-dialog::backdrop { background: rgba(27, 25, 22, .42); }
.workspace-body .client-cancel-dialog > section { display: grid; gap: .85rem; padding: 1.5rem; }
.workspace-body .client-cancel-dialog h2 { font-size: 1.2rem; margin: 0; }
.workspace-body .client-cancel-dialog p { margin: 0; }
.workspace-body .client-cancel-dialog__actions { align-items: center; border-top: 1px solid #d9d4cb; display: flex; gap: .75rem; margin-top: .45rem; padding-top: 1rem; }
.workspace-body .client-cancel-dialog__actions .button--quiet { color: #a26a59; }
.workspace-body .client-alternative-video-dialog { background: #fafaf8; border: 1px solid #d9d4cb; border-radius: 9px; box-shadow: 0 1.5rem 4rem rgba(27, 25, 22, .16); color: #1b1916; max-width: 30rem; padding: 0; }
.workspace-body .client-alternative-video-dialog::backdrop { background: rgba(27, 25, 22, .42); }
.workspace-body .client-alternative-video-dialog > section { display: grid; gap: .85rem; padding: 1.5rem; }
.workspace-body .client-alternative-video-dialog h2, .workspace-body .client-alternative-video-dialog p { margin: 0; }
.workspace-body .client-alternative-video-dialog__actions { align-items: center; border-top: 1px solid #d9d4cb; display: flex; gap: .75rem; margin-top: .45rem; padding-top: 1rem; }
.workspace-body .client-alternative-video-dialog__actions .button--quiet { color: #a26a59; }

@media (max-width: 899px) {
    .workspace-body .client-consultations-header { align-items: stretch; display: grid; gap: .8rem; margin-bottom: 1.5rem; min-height: auto; }
    .workspace-body .client-consultations-tabs { gap: 1.25rem; margin-inline: -1.25rem; padding-inline: 1.25rem; }
    .workspace-body .client-consultations-tabs a { font-size: .75rem; min-height: 2.35rem; padding-bottom: .65rem; }
    .workspace-body .client-consultations__history-list article { align-items: start; gap: .15rem .75rem; grid-template-columns: minmax(0, 1fr) auto; padding: .9rem 0; }
    .workspace-body .client-consultations__history-list time { font-size: .75rem; grid-column: 1; grid-row: auto; }
    .workspace-body .client-consultations__history-list strong { grid-column: 1; }
    .workspace-body .client-consultations__history-list span { grid-column: 1; }
    .workspace-body .client-consultations__history-list a { align-self: center; grid-column: 2; grid-row: 1 / span 3; }
    .workspace-body .client-booking-layout,
    .workspace-body .client-consultation-calendar { display: grid; gap: 1.25rem; grid-template-columns: minmax(0, 1fr); }
    .workspace-body .client-booking__packages,
    .workspace-body .client-booking__calendar,
    .workspace-body .client-reschedule { padding: 1.15rem; }
    .workspace-body .client-consultation-calendar__month,
    .workspace-body .client-consultation-calendar__times { padding: .85rem; }
    .workspace-body .client-consultation-calendar__times { border-left: 0; border-top: 3px solid #d9d4cb; }
    .workspace-body .consultation-time__slots { gap: .45rem; }
    .workspace-body .consultation-time__slot { flex: 1 0 calc(25% - .45rem); padding-inline: .5rem; }
    .workspace-body .client-consultations__packages { grid-template-columns: minmax(0, 1fr); }
    .workspace-body .client-consultations__package { min-height: 0; padding: 1.1rem; }
    .workspace-body .client-cancel-dialog { margin: auto 1rem; max-width: none; width: auto; }
    .workspace-body .client-cancel-dialog__actions { align-items: stretch; flex-direction: column-reverse; }
.workspace-body .client-cancel-dialog__actions .button { width: 100%; }
    .workspace-body .client-alternative-video-dialog { margin: auto 1rem; max-width: none; width: auto; }
    .workspace-body .client-alternative-video-dialog__actions { align-items: stretch; flex-direction: column-reverse; }
    .workspace-body .client-alternative-video-dialog__actions .button { width: 100%; }
}

/* Client Consultation Space: one calm persistent workspace, not a lifecycle ledger. */
.workspace-body .client-consultation-space { display: grid; gap: 1.5rem; margin: 0 auto; max-width: 58rem; }
.workspace-body .client-consultation-space__back { color: #1c2b4a; font-size: .8125rem; font-weight: 500; text-decoration: none; }
.workspace-body .client-consultation-space__header { border-bottom: 1px solid #d9d4cb; padding-bottom: 1.5rem; }
.workspace-body .client-consultation-space__header .eyebrow { margin: 0 0 .65rem; }
.workspace-body .client-consultation-space__summary { align-items: stretch; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) minmax(13rem, .55fr); }
.workspace-body .client-consultation-space h1 { font-family: "Lora", Georgia, serif; font-size: clamp(1.55rem, 3vw, 2.1rem); margin: 0; }
.workspace-body .client-consultation-space__date { color: #1b1916; font-size: 1.05rem; margin: .5rem 0 0; }
.workspace-body .client-consultation-space__timezone { color: #7a7469; font-size: .8125rem; margin: .3rem 0 0; }
.workspace-body .client-consultation-space__timezone span { color: #5c826a; }
.workspace-body .client-consultation-space__meeting { align-self: stretch; background: #edebe5; border-left: 2px solid #d9d4cb; color: #7a7469; display: flex; font-size: .8125rem; line-height: 1.55; padding: 1rem; }

/* Consultation delivery V2 B.3: client primary action with restrained fallback contacts. */
.workspace-body .client-overview__delivery-label,
.workspace-body .client-consultations__delivery-label { color: rgba(250, 250, 248, .72); font-size: .8125rem; margin: 1.25rem 0 .45rem; }
.workspace-body .client-overview__primary { background: #fafaf8; border-radius: 6px; color: #1c2b4a; display: inline-flex; font-size: .875rem; font-weight: 700; padding: .7rem 1rem; text-decoration: none; }
.workspace-body .client-overview__hero-actions .client-overview__join--secondary { background: transparent; color: rgba(250, 250, 248, .72); font-weight: 500; padding: 0; }
.workspace-body .client-overview__alternatives,
.workspace-body .client-consultations__alternatives { color: rgba(250, 250, 248, .72); font-size: .8125rem; margin-top: .85rem; }
.workspace-body .client-overview__alternatives summary,
.workspace-body .client-consultations__alternatives summary { cursor: pointer; }
.workspace-body .client-overview__alternatives > div,
.workspace-body .client-consultations__alternatives > div { display: flex; flex-wrap: wrap; gap: .45rem .8rem; margin-top: .55rem; }
.workspace-body .client-overview__alternatives a,
.workspace-body .client-consultations__alternatives a { color: #fafaf8; text-decoration: underline; text-underline-offset: .18em; }
.workspace-body .client-consultations__primary {
    background: #fafaf8;
    border-color: #fafaf8;
    color: #1c2b4a;
    font-size: 1.0625rem;
    font-weight: 700;
    margin-top: 0;
    padding: .9rem 1.15rem;
}
.workspace-body .client-consultations__primary:hover,
.workspace-body .client-consultations__primary:focus-visible,
.workspace-body .client-consultations__primary:active {
    background: #ebe9e4;
    border-color: #ebe9e4;
    color: #1c2b4a;
}
.workspace-body .client-consultation-space__delivery { flex-direction: column; gap: .4rem; }
.workspace-body .client-consultation-space__delivery > .button { align-self: flex-start; margin-top: .2rem; }
.workspace-body .client-consultation-space__alternatives { border-top: 1px solid rgba(122, 116, 105, .24); margin-top: .45rem; padding-top: .7rem; }
.workspace-body .client-consultation-space__alternatives > strong { display: block; font-size: .8125rem; }
.workspace-body .client-consultation-space__alternatives > div { display: flex; flex-wrap: wrap; gap: .45rem .8rem; margin-top: .35rem; }
.workspace-body .client-consultation-space__alternatives a { color: #4d6755; font-weight: 600; text-decoration: underline; text-underline-offset: .18em; }

@media (max-width: 899px) {
    .workspace-body .client-overview__meeting { display: block; }
    .workspace-body .client-overview__primary { width: 100%; justify-content: center; }
    .workspace-body .client-overview__hero-actions .client-overview__join--secondary { text-align: left; width: auto; }
    .workspace-body .client-consultations__primary { width: 100%; justify-content: center; }
}
.workspace-body .client-consultation-space__contract { border-bottom: 1px solid #d9d4cb; color: #7a7469; font-size: .8125rem; padding-bottom: 1rem; }
.workspace-body .client-consultation-space__contract p { margin: 0; }
.workspace-body .client-consultation-space__contract a { color: #1c2b4a; font-weight: 500; }
.workspace-body .client-consultation-space__section { border-bottom: 1px solid #d9d4cb; display: grid; gap: 1rem; padding-bottom: 1.5rem; }
.workspace-body .client-consultation-space__section-heading h2 { font-family: "Lora", Georgia, serif; font-size: 1.2rem; margin: 0; }
.workspace-body .client-consultation-space__note { border-left: 2px solid #d9d4cb; display: grid; gap: .4rem; padding-left: 1rem; }
.workspace-body .client-consultation-space__note--legacy { border-color: #b56a52; }
.workspace-body .client-consultation-space__note p, .workspace-body .client-consultation-space__response p { color: #a8a099; font-size: .75rem; font-weight: 600; margin: 0; text-transform: uppercase; }
.workspace-body .client-consultation-space__note time { font-weight: 400; margin-left: .45rem; text-transform: none; }
.workspace-body .client-consultation-space__note > div { line-height: 1.6; }
.workspace-body .client-consultation-space__composer, .workspace-body .client-consultation-space__homework-response { display: grid; gap: .65rem; }
.workspace-body .client-consultation-space textarea, .workspace-body .client-consultation-space select { background: #fafaf8; border: 1px solid #d9d4cb; border-radius: 6px; font: inherit; padding: .7rem; width: 100%; }
.workspace-body .client-consultation-space__composer .button, .workspace-body .client-consultation-space__homework-response .button { justify-self: start; }
.workspace-body .client-consultation-space__quiet { color: #7a7469; font-size: .8125rem; margin: 0; }
.workspace-body .client-consultation-space #consultation-private-note { background: #f6f2ed; border: 1px solid #ded8cf; border-left: 3px solid #b56a52; gap: .8rem; padding: 1.25rem; }
.workspace-body .client-consultation-space #consultation-private-note .client-consultation-space__section-heading h2 { font-size: 1.35rem; }
.workspace-body .client-consultation-space #consultation-private-note .client-consultation-space__quiet { margin-top: -.3rem; }
.workspace-body .client-consultation-space #consultation-private-note .client-consultation-space__composer { gap: .8rem; }
.workspace-body .client-consultation-space #consultation-private-note .client-consultation-space__composer > label { color: #756e65; display: grid; font-size: .75rem; font-weight: 600; gap: .45rem; letter-spacing: .04em; text-transform: uppercase; }
.workspace-body .client-consultation-space #consultation-private-note textarea { background: #fffdfa; border-color: #cfc7bd; border-radius: 4px; color: #1b1916; line-height: 1.6; min-height: 9rem; padding: .9rem 1rem; resize: vertical; }
.workspace-body .client-consultation-space #consultation-private-note textarea:focus { border-color: #1c2b4a; box-shadow: 0 0 0 3px rgba(28, 43, 74, .12); outline: 0; }
.workspace-body .client-consultation-space #consultation-private-note .button--secondary { background: #1c2b4a; border-color: #1c2b4a; color: #fff; padding-inline: 1.1rem; }
.workspace-body .client-consultation-space #consultation-private-note .button--secondary:hover,
.workspace-body .client-consultation-space #consultation-private-note .button--secondary:focus-visible { background: #273b63; border-color: #273b63; color: #fff; }
.workspace-body .practitioner-consultation-space__private-note { scroll-margin-top: 1.5rem; }
.workspace-body .practitioner-consultation-space__note-feedback { border-left: 2px solid #d9d4cb; font-size: .8125rem; margin: 0; padding-left: .75rem; }
.workspace-body .practitioner-consultation-space__note-feedback--success { border-color: #5c826a; color: #315942; }
.workspace-body .practitioner-consultation-space__note-feedback--error { border-color: #8c4632; color: #8c4632; }
.workspace-body .client-consultation-space__homework { display: grid; gap: .75rem; }
.workspace-body .client-consultation-space__homework h3 { font-size: 1rem; margin: 0; }
.workspace-body .practitioner-homework__assignment { background: #fffdfa; border: 1px solid #ded8cf; border-left: 2px solid #b56a52; gap: 1.05rem; padding: 1.25rem; }
.workspace-body .practitioner-homework__assignment + .practitioner-homework__assignment { margin-top: .5rem; }
.workspace-body .practitioner-homework__assignment-heading { border-bottom: 1px solid #e4ded6; display: grid; gap: .3rem; padding-bottom: .9rem; }
.workspace-body .practitioner-homework__assignment-heading p { color: #b56a52; font-size: .6875rem; font-weight: 700; letter-spacing: .08em; margin: 0; text-transform: uppercase; }
.workspace-body .practitioner-homework__assignment-heading h3 { color: #1b1916; font-family: "Lora", Georgia, serif; font-size: 1.2rem; font-weight: 500; line-height: 1.35; }
.workspace-body .practitioner-homework__instruction { color: #3d3934; font-size: .9375rem; line-height: 1.65; }
.workspace-body .practitioner-homework__assignment .client-consultation-space__materials { border-top: 1px solid #e4ded6; display: grid; gap: .6rem; padding-top: .95rem; }
.workspace-body .practitioner-homework__assignment .client-consultation-space__materials h4,
.workspace-body .practitioner-homework__assignment .client-consultation-space__response > p { color: #756e65; font-size: .6875rem; font-weight: 700; letter-spacing: .08em; margin: 0; text-transform: uppercase; }
.workspace-body .practitioner-homework__assignment .client-consultation-space__activity { align-items: center; background: #f6f2ed; border: 1px solid #e4ded6; border-radius: 4px; display: flex; flex-wrap: wrap; gap: .35rem .7rem; justify-content: space-between; padding: .8rem .85rem; }
.workspace-body .practitioner-homework__assignment .client-consultation-space__activity strong { color: #1b1916; font-size: .875rem; font-weight: 600; }
.workspace-body .practitioner-homework__assignment .client-consultation-space__activity small { color: #756e65; font-size: .75rem; }
.workspace-body .practitioner-homework__assignment .client-consultation-space__activity a { color: #1c2b4a; font-size: .8125rem; font-weight: 600; }
.workspace-body .practitioner-homework__assignment .client-consultation-space__activity > form { margin-left: auto; }
.workspace-body .practitioner-homework__assignment .client-consultation-space__response { background: #f6f2ed; border-left: 2px solid #9aaf9e; color: #3d3934; display: grid; font-size: .875rem; gap: .4rem; line-height: 1.55; padding: .8rem .85rem; }
.workspace-body .practitioner-homework__assignment .practitioner-consultation-space__manage { background: #f6f2ed; border: 1px solid #e4ded6; padding: .75rem .85rem; }
.workspace-body .practitioner-homework__assignment .practitioner-consultation-space__manage > summary { font-size: .8125rem; }
@media (max-width: 899px) { .workspace-body .practitioner-homework__assignment { padding: 1rem; } .workspace-body .practitioner-homework__assignment .client-consultation-space__activity { align-items: start; display: grid; } .workspace-body .practitioner-homework__assignment .client-consultation-space__activity > form { margin-left: 0; } }
.workspace-body .client-consultation-space__activity, .workspace-body .client-consultation-space__response { background: #f6f2ed; display: grid; gap: .35rem; padding: .85rem 1rem; }
.workspace-body .client-consultation-space__actions { align-items: end; display: flex; flex-wrap: wrap; gap: .75rem; }
.workspace-body .client-consultation-space__actions form { display: flex; flex-wrap: wrap; gap: .5rem; }
.workspace-body .client-consultation-space__actions label { display: grid; font-size: .75rem; gap: .3rem; }
.workspace-body .client-consultation-space__thread-toggle { color: #1c2b4a; font-size: .875rem; font-weight: 600; text-decoration: none; }
.workspace-body .client-consultation-space__attachments { display: grid; gap: .45rem; }
.workspace-body .client-consultation-space__attachment { align-items: center; background: #f6f2ed; display: flex; gap: .8rem; justify-content: space-between; padding: .65rem .75rem; }
.workspace-body .client-consultation-space__attachment div { display: grid; gap: .1rem; min-width: 0; }
.workspace-body .client-consultation-space__attachment strong { overflow-wrap: anywhere; }
.workspace-body .client-consultation-space__attachment small { color: #7a7469; font-size: .7rem; }
.workspace-body .client-consultation-space__attachment span { display: flex; flex: 0 0 auto; gap: .7rem; }
.workspace-body .client-consultation-space__attachment a, .workspace-body .client-consultation-space__contact-methods a { color: #1c2b4a; font-size: .8125rem; font-weight: 600; }
.workspace-body .client-consultation-space__composer-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .65rem; justify-content: space-between; }
.workspace-body .client-consultation-space__attach { color: #1c2b4a; cursor: pointer; font-size: .8125rem; font-weight: 600; position: relative; }
.workspace-body .client-consultation-space__attach input { height: 1px; opacity: 0; overflow: hidden; position: absolute; width: 1px; }
.workspace-body .client-consultation-space__actions { align-items: start; display: grid; }
.workspace-body .client-consultation-space__actions > p { color: #7a7469; font-size: .8125rem; margin: 0; }
.workspace-body .client-consultation-space__actions > div { display: flex; flex-wrap: wrap; gap: .65rem; }
.workspace-body .client-consultation-space__actions--restricted { background: #f6f2ed; padding: 1rem; }
.workspace-body .client-consultation-space__actions--restricted > div { display: grid; gap: .35rem; }
.workspace-body .client-consultation-space__actions--restricted p { margin: 0; }
.workspace-body .practitioner-consultation-space__manage,
.workspace-body .practitioner-consultation-space__legacy { display: grid; gap: .85rem; }
.workspace-body .practitioner-consultation-space__manage { background: #f6f2ed; padding: 1rem; }
.workspace-body .practitioner-consultation-space__manage > summary,
.workspace-body .practitioner-consultation-space__legacy > summary { color: #1c2b4a; cursor: pointer; font-weight: 600; }
.workspace-body .practitioner-consultation-space__manage[open] > summary,
.workspace-body .practitioner-consultation-space__legacy[open] > summary { margin-bottom: .15rem; }
.workspace-body .practitioner-consultation-space__manage form,
.workspace-body .practitioner-consultation-space__library { display: grid; gap: .65rem; }
.workspace-body .practitioner-consultation-space__library > form { align-items: center; display: flex; flex-wrap: wrap; gap: .65rem; justify-content: space-between; }
.workspace-body .practitioner-consultation-space__library a { color: #1c2b4a; font-size: .8125rem; font-weight: 600; }
.workspace-body .practitioner-consultation-space input { background: #fafaf8; border: 1px solid #d9d4cb; border-radius: 6px; font: inherit; padding: .7rem; width: 100%; }
.workspace-body .practitioner-consultation-space .client-consultation-space__composer > label { display: grid; font-size: .8125rem; gap: .35rem; }
.workspace-body .practitioner-homework { scroll-margin-top: 1.5rem; }
.workspace-body .practitioner-homework__modes { display: flex; gap: .35rem; }
.workspace-body .practitioner-homework__modes a { border: 1px solid #d9d4cb; color: #1c2b4a; font-size: .8125rem; font-weight: 600; padding: .55rem .75rem; text-decoration: none; }
.workspace-body .practitioner-homework__modes a[aria-current="page"] { background: #1c2b4a; border-color: #1c2b4a; color: #fff; }
.workspace-body .practitioner-homework__search { align-items: end; display: flex; flex-wrap: wrap; gap: .65rem; }
.workspace-body .practitioner-homework__search label { display: grid; flex: 1 1 14rem; font-size: .75rem; gap: .35rem; }
.workspace-body .practitioner-homework__picker { border-top: 1px solid #d9d4cb; display: grid; }
.workspace-body .practitioner-homework__picker form { align-items: center; border-bottom: 1px solid #d9d4cb; display: flex; gap: 1rem; justify-content: space-between; padding: .85rem 0; }
.workspace-body .practitioner-homework__picker form > div { display: grid; gap: .25rem; min-width: 0; }
.workspace-body .practitioner-homework__picker span { color: #756e65; font-size: .8125rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-body .practitioner-homework__picker small, .workspace-body .practitioner-homework__selected small, .workspace-body .client-consultation-space__activity small { color: #8b8379; font-size: .75rem; }
.workspace-body .practitioner-homework__selected { border: 0; display: grid; gap: .45rem; margin: 0; padding: 0; }
.workspace-body .practitioner-homework__selected legend { color: #756e65; font-size: .75rem; font-weight: 600; padding: 0; text-transform: uppercase; }
.workspace-body .practitioner-homework__selected label { align-items: center; background: #f6f2ed; display: flex; gap: .6rem; padding: .65rem .75rem; }
.workspace-body .practitioner-homework__selected label span { display: grid; gap: .1rem; }
.workspace-body .practitioner-homework__selected a { color: #1c2b4a; font-size: .8125rem; font-weight: 600; margin-top: .25rem; }
.workspace-body .client-consultation-space__materials { display: grid; gap: .5rem; }
.workspace-body .client-consultation-space__materials h4 { color: #a8a099; font-size: .75rem; margin: 0; text-transform: uppercase; }
.workspace-body .client-consultation-space__activity { align-items: center; grid-template-columns: minmax(0, 1fr) auto; }
.workspace-body .client-consultation-space__activity small { grid-column: 1; }
.workspace-body .client-consultation-space__activity a { color: #1c2b4a; font-size: .8125rem; font-weight: 600; }
.workspace-body .client-consultation-space__activity form { grid-column: 2; grid-row: 1 / span 2; }
@media (max-width: 899px) { .workspace-body .client-consultation-space { gap: 1.25rem; } .workspace-body .client-consultation-space__summary { grid-template-columns: 1fr; } .workspace-body .client-consultation-space__actions, .workspace-body .client-consultation-space__actions form { display: grid; width: 100%; } .workspace-body .client-consultation-space__actions .button { width: 100%; } .workspace-body .client-consultation-space__attachment { align-items: start; display: grid; } .workspace-body .client-consultation-space__composer-actions { align-items: stretch; display: grid; } .workspace-body .client-consultation-space__composer-actions .button { width: 100%; } .workspace-body .client-consultation-space #consultation-private-note { padding: 1rem; } .workspace-body .client-consultation-space #consultation-private-note textarea { min-height: 8.5rem; } .workspace-body .client-consultation-space #consultation-private-note .button--secondary { justify-self: stretch; width: 100%; } .workspace-body .practitioner-homework__search, .workspace-body .practitioner-homework__picker form { align-items: stretch; display: grid; } .workspace-body .practitioner-homework__picker form .button { justify-self: start; } }

/* Practitioner delivery settings keep reusable contact data compact and readable. */
.workspace-body .delivery-settings { display: grid; gap: 1rem; max-width: 56rem; }
.workspace-body .delivery-settings__section { display: grid; gap: 1rem; padding: 1.25rem; }
.workspace-body .delivery-settings__section > header { display: grid; gap: .35rem; }
.workspace-body .delivery-settings__section h2, .workspace-body .delivery-settings__row h3 { color: #1b1916; font-family: "Lora", Georgia, serif; font-weight: 500; margin: 0; }
.workspace-body .delivery-settings__section h2 { font-size: 1.25rem; }
.workspace-body .delivery-settings__section h3 { font-family: inherit; font-size: .9375rem; font-weight: 600; }
.workspace-body .delivery-settings__section header p, .workspace-body .delivery-settings__note, .workspace-body .delivery-settings__value { color: #756e65; font-size: .875rem; line-height: 1.55; margin: 0; overflow-wrap: anywhere; }
.workspace-body .delivery-settings__default-form { align-items: end; display: flex; flex-wrap: wrap; gap: .75rem; }
.workspace-body .delivery-settings__default-form .field { flex: 1 1 16rem; }
.workspace-body .delivery-settings__rows { border-top: 1px solid #e4ded6; display: grid; }
.workspace-body .delivery-settings__row { align-items: start; border-bottom: 1px solid #e4ded6; display: flex; gap: 1rem; justify-content: space-between; padding: .9rem 0; }
.workspace-body .delivery-settings__row > div { display: grid; gap: .25rem; min-width: 0; }
.workspace-body .delivery-settings__state { color: #8b8379; font-size: .75rem; font-weight: 600; margin: 0; text-transform: uppercase; }
.workspace-body .delivery-settings__state--configured { color: #315942; }
.workspace-body .delivery-settings__edit, .workspace-body .delivery-settings__add { flex: 0 0 auto; }
.workspace-body .delivery-settings__edit > summary, .workspace-body .delivery-settings__add > summary { color: #1c2b4a; cursor: pointer; font-size: .875rem; font-weight: 600; }
.workspace-body .delivery-settings__edit[open] { background: #f6f2ed; flex-basis: min(100%, 23rem); padding: .85rem; }
.workspace-body .delivery-settings__edit form, .workspace-body .delivery-settings__add form { display: grid; gap: .65rem; margin-top: .75rem; }
.workspace-body .delivery-settings__edit form + form { margin-top: .5rem; }
.workspace-body .delivery-settings__add { border: 1px solid #d9d4cb; padding: .8rem .9rem; }
.workspace-body .delivery-settings__add[open] { background: #f6f2ed; }
.workspace-body .delivery-settings__custom-form { max-width: 30rem; }
.workspace-body .account-settings-page { display: grid; gap: .8rem; max-width: 52rem; }
.workspace-body .account-settings { display: grid; gap: .85rem; max-width: none; padding: 1.25rem 1.35rem; }
.workspace-body .account-settings__section-header { display: grid; gap: .25rem; }
.workspace-body .account-settings__section-header h2 { font-family: "Lora", Georgia, serif; font-size: 1.18rem; margin: 0; }
.workspace-body .account-settings__section-header p { color: #756e65; font-size: .8125rem; line-height: 1.45; margin: 0; }
.workspace-body .account-settings__rows { border-top: 1px solid #e4ded6; display: grid; }
.workspace-body .account-settings__row { align-items: center; border-bottom: 1px solid #e4ded6; display: flex; gap: 1rem; justify-content: space-between; padding: .8rem 0; }
.workspace-body .account-settings__row h3 { color: #1b1916; font-family: "Inter", sans-serif; font-size: .9375rem; font-weight: 600; margin: 0; }
.workspace-body .account-settings__row p { color: #756e65; font-size: .875rem; line-height: 1.45; margin: .25rem 0 0; }
.workspace-body .account-settings__personal-form { display: grid; gap: 1rem; }
.workspace-body .account-settings__name-fields { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.workspace-body .account-settings__name-fields .field { gap: .4rem; margin: 0; }
.workspace-body .account-settings__name-fields .field__label { color: #4f4a43; font-size: .8125rem; font-weight: 600; }
.workspace-body .account-settings__name-fields .field__input { background: #fafaf8; border-color: #d9d4cb; border-radius: 6px; box-sizing: border-box; color: #1b1916; font: 400 .9375rem/1.35 "Inter", sans-serif; min-height: 2.6rem; padding: .6rem .7rem; }
.workspace-body .account-settings__details { display: grid; gap: .6rem; margin: 0; }
.workspace-body .account-settings__details div { align-items: baseline; border-bottom: 1px solid #e4ded6; display: flex; gap: 1rem; justify-content: space-between; padding-bottom: .75rem; }
.workspace-body .account-settings__details dt { color: #756e65; font-size: .8125rem; }
.workspace-body .account-settings__details dd { color: #1b1916; font-size: .875rem; margin: 0; overflow-wrap: anywhere; text-align: right; }
.workspace-body .account-settings__form-actions, .workspace-body .account-settings__section-action, .workspace-body .account-settings__inline-form { align-items: center; display: flex; justify-content: flex-start; }
.workspace-body .account-settings__form-actions .button, .workspace-body .account-settings__section-action .button, .workspace-body .account-settings__inline-form .button, .workspace-body .account-settings__row .button { font-size: .8125rem; min-height: 2.5rem; padding: .55rem .85rem; width: auto; }
.workspace-body .account-settings__status { align-items: center; border-radius: 999px; display: inline-flex; font-size: .8125rem; font-weight: 600; justify-self: start; line-height: 1; margin: 0; padding: .45rem .65rem; }
.workspace-body .account-settings__status.is-success { background: #edf3ea; color: #466347; }
.workspace-body .account-settings__status.is-warning { background: #f9eee8; color: #9e573e; }
.workspace-body .account-settings .field-error { color: #a33b2f; font-size: .875rem; }
@media (max-width: 560px) { .workspace-body .account-settings__row { align-items: stretch; display: grid; } .workspace-body .account-settings__row .button { width: 100%; } }
@media (max-width: 560px) { .workspace-body .account-settings__name-fields { grid-template-columns: 1fr; } .workspace-body .account-settings__details div { align-items: flex-start; display: grid; gap: .25rem; } .workspace-body .account-settings__details dd { text-align: left; } .workspace-body .account-settings__form-actions, .workspace-body .account-settings__section-action, .workspace-body .account-settings__inline-form { display: grid; } .workspace-body .account-settings__form-actions .button, .workspace-body .account-settings__section-action .button, .workspace-body .account-settings__inline-form .button { width: 100%; } }
@media (max-width: 899px) { .workspace-body .delivery-settings__section { padding: 1rem; } .workspace-body .delivery-settings__default-form { display: grid; } .workspace-body .delivery-settings__default-form .button { width: 100%; } .workspace-body .delivery-settings__row { display: grid; } .workspace-body .delivery-settings__edit { width: 100%; } .workspace-body .delivery-settings__edit[open] { width: 100%; } .workspace-body .delivery-settings__edit .button, .workspace-body .delivery-settings__add .button { width: 100%; } }

/* B.2 keeps per-consultation delivery choices separate from practitioner defaults. */
.workspace-body .practitioner-consultation-delivery { display: grid; gap: .85rem; }
.workspace-body .practitioner-consultation-delivery__current { align-items: center; display: flex; gap: 1rem; justify-content: space-between; }
.workspace-body .practitioner-consultation-delivery__alternatives { align-items: center; border-top: 1px solid #d9d4cb; display: flex; flex-wrap: wrap; gap: .65rem; padding-top: .85rem; }
.workspace-body .practitioner-consultation-delivery__alternatives > span { color: #756e65; font-size: .8125rem; }
.workspace-body .practitioner-consultation-delivery__current > div { display: grid; gap: .2rem; min-width: 0; }
.workspace-body .practitioner-consultation-delivery__provider { color: #1b1916; font-size: .9375rem; font-weight: 600; }
.workspace-body .practitioner-consultation-delivery__destination, .workspace-body .practitioner-consultation-delivery__ready, .workspace-body .practitioner-consultation-delivery__pending, .workspace-body .practitioner-consultation-delivery__preview, .workspace-body .practitioner-consultation-delivery__note { margin: 0; overflow-wrap: anywhere; }
.workspace-body .practitioner-consultation-delivery__destination { color: #5c554d; }
.workspace-body .practitioner-consultation-delivery__ready { color: #3d6c4a; font-weight: 600; }
.workspace-body .practitioner-consultation-delivery__pending, .workspace-body .practitioner-consultation-delivery__note { color: #756e65; }
.workspace-body .practitioner-consultation-delivery__change > summary, .workspace-body .practitioner-consultation-delivery__override > summary { color: #1c2b4a; cursor: pointer; font-weight: 600; }
.workspace-body .practitioner-consultation-delivery__change[open] { border-top: 1px solid #d9d4cb; padding-top: .85rem; }
.workspace-body .practitioner-consultation-delivery__form { background: #f6f2ed; gap: .8rem; max-width: 42rem; padding: 1rem; }
.workspace-body .practitioner-consultation-delivery__form > label, .workspace-body .practitioner-consultation-delivery__override > label { display: grid; font-size: .8125rem; gap: .35rem; }
.workspace-body .practitioner-consultation-delivery__preference { align-items: center; display: grid; font-size: .8125rem; gap: .45rem; grid-template-columns: auto 1fr; }
.workspace-body .practitioner-consultation-delivery__override { display: grid; gap: .7rem; }
.workspace-body .practitioner-consultation-delivery__override-check { align-items: center; grid-template-columns: auto 1fr; }
.workspace-body .practitioner-consultation-delivery__actions { align-items: center; }
@media (max-width: 899px) { .workspace-body .practitioner-consultation-delivery__current { align-items: stretch; display: grid; } .workspace-body .practitioner-consultation-delivery__current .button, .workspace-body .practitioner-consultation-delivery__alternatives .button, .workspace-body .practitioner-consultation-delivery__actions .button { width: 100%; } .workspace-body .practitioner-consultation-delivery__alternatives, .workspace-body .practitioner-consultation-delivery__actions { align-items: stretch; display: grid; } .workspace-body .practitioner-consultation-delivery__form { padding: .85rem; } }

/* A conference can become ready after the booking response without a page reload. */
.workspace-body .client-overview__provisioning, .workspace-body .client-consultations__provisioning, .workspace-body .client-consultation-space__provisioning { display: grid; gap: .3rem; line-height: 1.45; margin-top: .8rem; }
.workspace-body .client-overview__provisioning, .workspace-body .client-consultations__provisioning { background: rgba(255,255,255,.08); border-radius: 6px; color: rgba(250,250,248,.78); font-size: .8125rem; padding: .7rem .875rem; }
.workspace-body .client-consultation-space__provisioning { align-self: stretch; background: #edebe5; border-left: 2px solid #d9d4cb; color: #5f5a52; font-size: .8125rem; padding: .85rem 1rem; }
.workspace-body .client-overview__provisioning span, .workspace-body .client-consultations__provisioning span, .workspace-body .client-consultation-space__provisioning span { color: inherit; }

/* M4 general-channel inbox. */
.workspace-body .general-messaging__header { align-items: end; border-bottom: 1px solid #d9d4cb; display: flex; gap: 1rem; justify-content: space-between; padding-bottom: 1rem; }
.workspace-body .general-messaging__header .eyebrow { color: #a8a099; font-size: .65625rem; font-weight: 600; letter-spacing: .08em; margin: 0 0 .35rem; text-transform: uppercase; }
.workspace-body .general-messaging__header h1 { color: #1b1916; font-family: "Lora", Georgia, serif; font-size: 1.8rem; font-weight: 500; margin: 0; }
.workspace-body .general-messaging__header > div > p:last-child { color: #7a7469; font-size: .875rem; margin: .35rem 0 0; }
.workspace-body .general-messaging__filters { background: #edebe5; border: 1px solid #d9d4cb; border-radius: 7px; display: inline-flex; gap: .15rem; padding: .2rem; }
.workspace-body .general-messaging__filters a { border-radius: 5px; color: #7a7469; font-size: .8125rem; font-weight: 500; padding: .55rem .8rem; text-decoration: none; }
.workspace-body .general-messaging__filters a[aria-current="page"] { background: #fafaf8; box-shadow: 0 1px 2px rgba(27,25,22,.08); color: #1c2b4a; }
.workspace-body .general-messaging { background: #fafaf8; border: 1px solid #d9d4cb; border-radius: 8px; display: grid; grid-template-columns: minmax(15rem, 20rem) minmax(0, 1fr); height: clamp(30rem, calc(100dvh - 18rem), 36rem); min-height: 0; overflow: hidden; }
.workspace-body .general-messaging__directory { background: #f5f3ee; border-right: 1px solid #d9d4cb; display: flex; flex-direction: column; min-width: 0; }
.workspace-body .general-messaging__directory-heading { border-bottom: 1px solid #d9d4cb; display: grid; gap: .2rem; padding: 1rem; }
.workspace-body .general-messaging__directory-heading strong { color: #1b1916; font-size: .875rem; }
.workspace-body .general-messaging__directory-heading small { color: #7a7469; font-size: .75rem; }
.workspace-body .general-messaging__recipient-list { display: grid; }
.workspace-body .general-messaging__recipient { align-items: start; border-bottom: 1px solid #e6e2da; color: inherit; display: grid; gap: .6rem; grid-template-columns: minmax(0, 1fr) auto; padding: .9rem 1rem; text-decoration: none; }
.workspace-body .general-messaging__recipient:hover, .workspace-body .general-messaging__recipient:focus-visible, .workspace-body .general-messaging__recipient.is-active { background: #e8e4dc; outline: 0; }
.workspace-body .general-messaging__recipient-copy { display: grid; gap: .22rem; min-width: 0; }
.workspace-body .general-messaging__recipient-copy strong { color: #1b1916; font-size: .875rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-body .general-messaging__recipient-copy em { color: #7a7469; font-size: .75rem; font-style: normal; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-body .general-messaging__recipient-meta { align-items: end; display: grid; gap: .45rem; justify-items: end; }
.workspace-body .general-messaging__recipient-meta time { color: #a8a099; font-size: .65625rem; white-space: nowrap; }
.workspace-body .general-messaging__recipient-meta b { align-items: center; background: #b56a52; border-radius: 99px; color: #fff; display: inline-flex; font-size: .65625rem; height: 1.15rem; justify-content: center; min-width: 1.15rem; padding: 0 .3rem; }
.workspace-body .general-messaging__badges { display: flex; flex-wrap: wrap; gap: .25rem; }
.workspace-body .general-messaging__badges small, .workspace-body .general-messaging__conversation-header p span { background: #e8e4dc; border-radius: 99px; color: #5f5a52; font-size: .65625rem; padding: .15rem .42rem; }
.workspace-body .general-messaging__contacts { border-top: 1px solid #d9d4cb; padding: .85rem 1rem; }
.workspace-body .general-messaging__contacts summary { color: #1c2b4a; cursor: pointer; font-size: .8125rem; font-weight: 600; }
.workspace-body .general-messaging__contact-list { display: grid; gap: .45rem; margin-top: .75rem; }
.workspace-body .general-messaging__contact { align-items: center; border-top: 1px solid #e6e2da; display: flex; gap: .6rem; justify-content: space-between; padding-top: .55rem; }
.workspace-body .general-messaging__contact .button { flex: 0 0 auto; font-size: .72rem; padding: .4rem .55rem; }
.workspace-body .general-messaging__access { align-items: center; background: #f5f3ee; border-bottom: 1px solid #d9d4cb; display: flex; flex-wrap: wrap; gap: .5rem .7rem; padding: .7rem 1.25rem; }
.workspace-body .general-messaging__access strong { font-size: .78rem; }
.workspace-body .general-messaging__access span, .workspace-body .general-messaging__access-note { color: #7a7469; font-size: .75rem; }
.workspace-body .general-messaging__access select, .workspace-body .general-messaging__access input { min-height: 2rem; }
.workspace-body .general-messaging__access select { max-width: 12rem; }
.workspace-body .general-messaging__access input { max-width: 7rem; }
.workspace-body .general-messaging__access-note { border-bottom: 1px solid #d9d4cb; margin: 0; padding: .7rem 1.25rem; }
.workspace-body .general-messaging__conversation { display: flex; flex-direction: column; min-height: 0; min-width: 0; }
.workspace-body .general-messaging.has-active .general-messaging__conversation { height: 100%; }
.workspace-body .general-messaging__placeholder { align-items: center; color: #7a7469; display: flex; flex: 1; flex-direction: column; justify-content: center; padding: 2rem; text-align: center; }
.workspace-body .general-messaging__placeholder h2 { color: #1b1916; font-family: "Lora", Georgia, serif; font-size: 1.2rem; margin: 0 0 .4rem; }
.workspace-body .general-messaging__placeholder p { margin: 0; }
.workspace-body .general-messaging__conversation-header { align-items: center; border-bottom: 1px solid #d9d4cb; display: flex; gap: .75rem; min-height: 4.15rem; padding: .75rem 1.25rem; }
.workspace-body .general-messaging__conversation-header h2 { color: #1b1916; font-size: 1rem; font-weight: 600; margin: 0; }
.workspace-body .general-messaging__conversation-header p { display: flex; gap: .3rem; margin: .25rem 0 0; }
.workspace-body .general-messaging__back { color: #1c2b4a; display: none; font-size: .8125rem; font-weight: 600; text-decoration: none; }
.workspace-body .general-messaging__thread { display: flex; flex: 1; flex-direction: column; gap: .6rem; min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 1.25rem; scrollbar-gutter: stable; }
.workspace-body .general-messaging__message { align-self: flex-start; background: #edebe5; border-radius: 8px 8px 8px 2px; max-width: min(80%, 35rem); padding: .65rem .8rem; }
.workspace-body .general-messaging__message.is-own { align-self: flex-end; background: #1c2b4a; border-radius: 8px 8px 2px 8px; color: #fafaf8; }
.workspace-body .general-messaging__message p { line-height: 1.45; margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.workspace-body .general-messaging__attachments { display: grid; gap: .35rem; margin-top: .45rem; }
.workspace-body .general-messaging__attachment { background: rgba(255,255,255,.72); border: 1px solid #d9d4cb; border-radius: 5px; color: #1c2b4a; display: block; font-size: .75rem; max-width: 100%; overflow-wrap: anywhere; padding: .45rem .55rem; text-decoration: none; }
.workspace-body .general-messaging__attachment img { border-radius: 4px; display: block; max-height: 12rem; max-width: 100%; object-fit: contain; }
.workspace-body .general-messaging__message.is-own .general-messaging__attachment { background: rgba(250,250,248,.12); border-color: rgba(250,250,248,.24); color: #fafaf8; }
.workspace-body .general-messaging__message footer { align-items: center; color: #8b847a; display: flex; font-size: .65625rem; gap: .45rem; justify-content: flex-end; margin-top: .35rem; }
.workspace-body .general-messaging__message.is-own footer { color: rgba(250,250,248,.62); }
.workspace-body .general-messaging__material-card { border: 1px solid rgba(28,43,74,.18); border-radius: 6px; display: grid; gap: .35rem; margin-top: .55rem; padding: .7rem; }
.workspace-body .general-messaging__material-card strong { font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.workspace-body .general-messaging__material-card span { font-weight: 600; overflow-wrap: anywhere; }
.workspace-body .general-messaging__material-card a { color: inherit; font-weight: 600; }
.workspace-body .general-messaging__material-card p { font-size: .82rem; }
.workspace-body .general-messaging__material-card span:last-child { font-size: .78rem; }
.workspace-body .message-material-picker { display: grid; gap: .6rem; }
.workspace-body .message-material-picker form { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem; }
.workspace-body .message-material-picker small { flex: 1 1 100%; }
.workspace-body .general-messaging__composer { border-top: 1px solid #d9d4cb; display: grid; gap: .65rem; padding: .9rem 1rem; }
.workspace-body .general-messaging__composer textarea { background: #fff; border: 1px solid #d9d4cb; border-radius: 6px; box-sizing: border-box; color: #1b1916; font: inherit; line-height: 1.45; min-height: 4.5rem; padding: .65rem .75rem; resize: vertical; width: 100%; }
.workspace-body .general-messaging__composer textarea:focus { border-color: #1c2b4a; outline: 2px solid rgba(28,43,74,.15); }
.workspace-body .general-messaging__composer > div { align-items: center; display: flex; gap: .75rem; justify-content: space-between; }
.workspace-body .general-messaging__file-row { align-items: center; display: flex; flex-wrap: wrap; gap: .45rem; }
.workspace-body .general-messaging__file-row input[type="file"] { height: 1px; opacity: 0; overflow: hidden; position: absolute; width: 1px; }
.workspace-body .general-messaging__file-row [data-messaging-file-name] { color: #5f5a52; font-size: .75rem; max-width: 100%; overflow-wrap: anywhere; }
.workspace-body .general-messaging__composer .button { min-width: 8rem; }
.workspace-body .general-messaging__composer [data-messaging-error] { color: #a64537; font-size: .75rem; margin: 0; }
.workspace-body .general-messaging__policy { background: #f5f0e9; border-top: 1px solid #d9d4cb; color: #6b5b4a; font-size: .8125rem; line-height: 1.45; padding: 1rem; }
.workspace-body .general-messaging__older { align-self: center; background: transparent; border: 0; color: #1c2b4a; cursor: pointer; font: 600 .8125rem/1.2 "Inter", sans-serif; margin: .8rem auto 0; text-decoration: underline; }
.workspace-body .general-messaging__empty { color: #7a7469; font-size: .8125rem; margin: 1rem; }
.workspace-body .general-messaging__quick-settings { align-items: center; border-bottom: 1px solid #d9d4cb; display: flex; flex-wrap: wrap; gap: .4rem 1rem; margin-bottom: 1.25rem; padding: 0 0 .7rem; }
.workspace-body .general-messaging__sound-control { align-items: center; color: #7a7469; display: inline-flex; font-size: .75rem; gap: .45rem; line-height: 1.2; margin: 0; }
.workspace-body .general-messaging__sound-control strong { color: #1b1916; font-size: inherit; font-weight: 600; }
.workspace-body .general-messaging__sound-control a { color: #1c2b4a; font-size: inherit; font-weight: 600; text-decoration: none; }
.workspace-body .general-messaging__sound-control a:hover, .workspace-body .general-messaging__sound-control a:focus-visible { text-decoration: underline; }
.workspace-body .general-messaging__sound-switch { background: #b8b1a7; border: 0; border-radius: 999px; cursor: pointer; height: 1.25rem; padding: .125rem; position: relative; transition: background-color 120ms ease; width: 2.125rem; }
.workspace-body .general-messaging__sound-switch span { background: #fafaf8; border-radius: 50%; display: block; height: 1rem; transform: translateX(0); transition: transform 120ms ease; width: 1rem; }
.workspace-body .general-messaging__sound-switch[aria-checked="true"] { background: #1c2b4a; }
.workspace-body .general-messaging__sound-switch[aria-checked="true"] span { transform: translateX(.875rem); }
.workspace-body .general-messaging__sound-switch:focus-visible { outline: 2px solid #b56a52; outline-offset: 2px; }
.workspace-body .general-messaging__composer > .general-messaging__composer-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem; justify-content: flex-end; }
.workspace-body .general-messaging__file-row { margin-right: auto; }
.workspace-body .general-messaging__file-trigger, .workspace-body .general-messaging__file-remove, .workspace-body .general-messaging__material-trigger { background: transparent; border: 1px solid #d9d4cb; border-radius: 5px; color: #5f5a52; cursor: pointer; font: 500 .75rem/1.2 "Inter", sans-serif; min-width: 0; padding: .45rem .6rem; }
.workspace-body .general-messaging__file-trigger:hover, .workspace-body .general-messaging__file-trigger:focus-visible, .workspace-body .general-messaging__file-remove:hover, .workspace-body .general-messaging__file-remove:focus-visible, .workspace-body .general-messaging__material-trigger:hover, .workspace-body .general-messaging__material-trigger:focus-visible { background: #f5f3ee; color: #1b1916; }
.workspace-body .general-messaging__file-remove[hidden] { display: none !important; }
.workspace-body .general-messaging__send-row { align-items: center; display: flex; gap: .5rem; }
.workspace-body .general-messaging__send-row .button { min-width: 6.5rem; }
.workspace-body .general-messaging__composer-actions > [data-material-options] { flex-basis: 100%; }
@media (max-width: 899px) {
    .workspace-body .notification-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
    .workspace-body .notification-tabs a { text-align: center; }
    .workspace-body .notification-item { align-items: stretch; grid-template-columns: 1fr; padding: .85rem; }
    .workspace-body .notification-item__actions { justify-content: flex-end; }
    .workspace-body .general-messaging__header { align-items: stretch; flex-direction: column; }
    .workspace-body .general-messaging__filters { align-self: flex-start; }
    .workspace-body .general-messaging { display: block; height: clamp(28rem, calc(100dvh - 12rem), 36rem); min-height: 0; }
    .workspace-body .general-messaging.has-active .general-messaging__directory { display: none; }
    .workspace-body .general-messaging:not(.has-active) .general-messaging__conversation { display: none; }
    .workspace-body .general-messaging__directory { border-right: 0; min-height: 30rem; }
    .workspace-body .general-messaging__back { display: inline-block; }
    .workspace-body .general-messaging__conversation-header { padding: .75rem 1rem; }
    .workspace-body .general-messaging__access { align-items: stretch; display: grid; padding: .75rem 1rem; }
    .workspace-body .general-messaging__access select, .workspace-body .general-messaging__access input, .workspace-body .general-messaging__access .button { max-width: none; width: 100%; }
    .workspace-body .general-messaging__thread { min-height: 0; padding: 1rem; }
    .workspace-body .general-messaging__message { max-width: 88%; }
    .workspace-body .general-messaging__composer { padding: .8rem; }
    .workspace-body .general-messaging__composer .button { width: 100%; }
    .workspace-body .general-messaging__composer > div { align-items: stretch; flex-direction: column; }
    .workspace-body .general-messaging__quick-settings { align-items: flex-start; display: grid; gap: .45rem; }
    .workspace-body .general-messaging__composer > .general-messaging__composer-actions { align-items: center; flex-direction: row; }
    .workspace-body .general-messaging__file-row { margin-right: auto; }
    .workspace-body .general-messaging__send-row { margin-left: auto; }
    .workspace-body .general-messaging__send-row .button { min-width: 6.5rem; width: auto; }
}
/* Practitioner Materials M3. */
.workspace-body .materials-page { display: grid; gap: 1rem; }
.workspace-body .materials-page__header, .workspace-body .materials-page > header { align-items: end; display: flex; gap: 1rem; justify-content: space-between; }
.workspace-body .materials-page__add { position: relative; }
.workspace-body .materials-page__add[open] { background: #fafaf8; border: 1px solid #d9d4cb; border-radius: 7px; box-sizing: border-box; padding: .9rem; width: min(25rem, 100%); }
.workspace-body .materials-page__add[open] summary { margin: -.9rem -.9rem .9rem; }
.workspace-body .materials-page__add[open] > form,
.workspace-body .materials-page__library[open] > form { display: grid; gap: .85rem; }
.workspace-body .materials-page__add[open] > form > .button,
.workspace-body .materials-page__library[open] > form > .button { justify-self: start; margin-top: .1rem; }
.workspace-body .materials-page__add .field,
.workspace-body .materials-page__library .field { gap: .35rem; }
.workspace-body .materials-page__add small { color: #7a7469; line-height: 1.45; }
.workspace-body .materials-page__library { border-top: 1px solid #e4ded6; margin-top: .25rem; padding-top: .75rem; }
.workspace-body .materials-page__library > summary { color: #1c2b4a; cursor: pointer; font-weight: 600; }
.workspace-body .materials-page__library[open] > summary { margin-bottom: .75rem; }
.workspace-body .materials-page__tabs { border-bottom: 1px solid #d9d4cb; display: flex; gap: 1rem; }
.workspace-body .materials-page__search { justify-content: start; }
.workspace-body .materials-page__search .field { flex: 1 1 20rem; margin: 0; }
.workspace-body .materials-page__tabs a { color: #7a7469; padding: .65rem .2rem; text-decoration: none; }
.workspace-body .materials-page__tabs a.is-active { border-bottom: 2px solid #1c2b4a; color: #1c2b4a; font-weight: 600; }
.workspace-body .materials-page__list { display: grid; gap: .8rem; }
.workspace-body .materials-card { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) auto; }
.workspace-body .materials-card h2 { margin: 0; }
.workspace-body .materials-card__type { color: #a85e46; font-size: .7rem; font-weight: 700; letter-spacing: .08em; margin: 0 0 .35rem; text-transform: uppercase; }
.workspace-body .materials-card__source { color: #7a7469; display: none; font-size: .8rem; overflow-wrap: anywhere; }
.workspace-body .materials-card__sharing { border-top: 1px solid #e4ded6; display: grid; gap: .5rem; margin-top: .8rem; padding-top: .8rem; }
.workspace-body .materials-card__sharing h3 { font-size: .85rem; margin: 0; }
.workspace-body .materials-card__sharing p { color: #7a7469; font-size: .8rem; margin: 0; }
.workspace-body .materials-card__sharing ul { display: grid; gap: .35rem; list-style: none; margin: 0; padding: 0; }
.workspace-body .materials-card__sharing li { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem; justify-content: space-between; }
.workspace-body .materials-card__sharing li form { margin: 0; }
.workspace-body .materials-card__grant { align-items: end; display: grid; gap: .5rem; grid-template-columns: minmax(0, 1fr) auto; }
.workspace-body .materials-card__grant .field { margin: 0; }
.workspace-body .materials-card__actions { align-items: start; display: flex; flex-wrap: wrap; gap: .45rem; justify-content: end; }
.workspace-body .material-detail-page { display: grid; gap: 1rem; }
.workspace-body .material-detail-page__state { background: #edf3ea; border-radius: 999px; color: #466347; font-size: .82rem; padding: .35rem .65rem; }
.workspace-body .material-detail-page__section { display: grid; gap: .8rem; }
.workspace-body .material-detail-page__section h2 { margin: 0; }
.workspace-body .material-detail-page__facts { display: grid; gap: .7rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.workspace-body .material-detail-page__facts div { min-width: 0; }
.workspace-body .material-detail-page__facts dt { color: #7a7469; font-size: .78rem; }
.workspace-body .material-detail-page__facts dd { margin: .2rem 0 0; overflow-wrap: anywhere; }
.workspace-body .material-detail-page__list, .workspace-body .material-detail-page__timeline { display: grid; gap: .65rem; list-style: none; margin: 0; padding: 0; }
.workspace-body .material-detail-page__list li { align-items: flex-start; display: flex; flex-wrap: wrap; gap: .75rem 1rem; justify-content: space-between; }
.workspace-body .material-detail-page__list li > div { display: grid; gap: .2rem; min-width: 0; }
.workspace-body .material-detail-page__list li strong { overflow-wrap: anywhere; }
.workspace-body .material-detail-page__list li form { flex: 0 0 auto; margin: 0; }
.workspace-body .material-detail-page__list span, .workspace-body .material-detail-page__quiet, .workspace-body .material-detail-page__timeline time { color: #7a7469; font-size: .85rem; }
.workspace-body .material-detail-page__timeline li { border-left: 2px solid #d9d4cb; display: grid; gap: .25rem; padding: 0 0 .2rem .75rem; }
.workspace-body .material-detail-page__timeline p { margin: .15rem 0 0; }
@media (max-width: 560px) { .workspace-body .material-detail-page__facts { grid-template-columns: 1fr; } .workspace-body .material-detail-page__list li { display: grid; gap: .65rem; } .workspace-body .material-detail-page__list li form, .workspace-body .material-detail-page__list li form .button { width: 100%; } }
.workspace-body .materials-card__actions details[open] { background: #f5f3ee; border-radius: 6px; padding: .6rem; width: min(20rem, 100%); }
@media (max-width: 899px) { .workspace-body .materials-page > header { align-items: stretch; flex-direction: column; } .workspace-body .materials-page__add, .workspace-body .materials-page__add[open] { width: 100%; } .workspace-body .materials-page__add[open] > form > .button, .workspace-body .materials-page__library[open] > form > .button { justify-self: stretch; width: 100%; } .workspace-body .materials-card { grid-template-columns: 1fr; } .workspace-body .materials-card__actions { align-items: stretch; display: grid; justify-content: stretch; } .workspace-body .materials-card__actions > .button, .workspace-body .materials-card__actions > form, .workspace-body .materials-card__actions > details { width: 100%; } .workspace-body .materials-card__actions > form .button { width: 100%; } .workspace-body .materials-card__grant { align-items: stretch; grid-template-columns: 1fr; } }
.workspace-body .client-materials-list { display: grid; gap: .8rem; }
.workspace-body .client-material-card { align-items: start; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) auto; }
.workspace-body .client-material-card h2 { margin: 0; }
.workspace-body .client-material-card__type { color: #a85e46; font-size: .7rem; font-weight: 700; letter-spacing: .08em; margin: 0 0 .35rem; text-transform: uppercase; }
.workspace-body .client-material-card__file, .workspace-body .client-material-card__meta { color: #7a7469; font-size: .8rem; margin: .45rem 0 0; overflow-wrap: anywhere; }
.workspace-body .client-material-card__actions { display: flex; flex-wrap: wrap; gap: .45rem; justify-content: end; }
@media (max-width: 899px) { .workspace-body .client-material-card { grid-template-columns: 1fr; } .workspace-body .client-material-card__actions { display: grid; justify-content: stretch; } .workspace-body .client-material-card__actions .button { width: 100%; } }
.workspace-body .admin-settings-section { display: grid; gap: 1.5rem; grid-template-columns: minmax(0, 1fr) auto; }
.workspace-body .admin-settings-section h2 { margin: .2rem 0 .55rem; max-width: 38rem; }
.workspace-body .admin-settings-section p { color: #7a7469; margin: 0; max-width: 42rem; }
.workspace-body .admin-settings-section__form { align-items: end; display: grid; gap: .75rem; min-width: 10rem; }
.workspace-body .admin-settings-toggle { align-items: center; display: flex; gap: .55rem; font-weight: 600; }
.workspace-body .admin-settings-toggle input { accent-color: #1f3558; height: 1.15rem; width: 1.15rem; }
@media (max-width: 899px) { .workspace-body .admin-settings-section { grid-template-columns: 1fr; } .workspace-body .admin-settings-section__form { align-items: stretch; } .workspace-body .admin-settings-section__form .button { width: 100%; } }
.workspace-body .admin-people, .workspace-body .admin-person { display: grid; gap: 1rem; }
.workspace-body .admin-people__toolbar { align-items: end; display: grid; gap: .75rem; grid-template-columns: minmax(0, 1fr) minmax(12rem, .45fr) auto; }
.workspace-body .admin-people__toolbar .field { margin: 0; }
.workspace-body .admin-people__count, .workspace-body .admin-people__empty, .workspace-body .admin-people__id { color: #7a7469; }
.workspace-body .admin-people__list { display: grid; gap: .65rem; }
.workspace-body .admin-people__row { align-items: start; border-top: 1px solid #e2ddd5; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) minmax(18rem, .8fr); padding: 1rem 0; }
.workspace-body .admin-people__row h2 { margin: 0; }
.workspace-body .admin-people__row p { margin: .35rem 0 0; overflow-wrap: anywhere; }
.workspace-body .admin-people__summary, .workspace-body .admin-person dl { display: grid; gap: .55rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.workspace-body .admin-people__summary div, .workspace-body .admin-person dl div { min-width: 0; }
.workspace-body .admin-people__summary dt, .workspace-body .admin-person dt { color: #7a7469; font-size: .78rem; }
.workspace-body .admin-people__summary dd, .workspace-body .admin-person dd { margin: .2rem 0 0; overflow-wrap: anywhere; }
.workspace-body .admin-person__section { border-top: 1px solid #e2ddd5; padding-top: 1rem; }
.workspace-body .admin-person__sections { align-items: center; border-bottom: 1px solid #e2ddd5; display: flex; flex-wrap: wrap; gap: .35rem .8rem; padding-bottom: .8rem; }
.workspace-body .admin-person__sections a { border-radius: 999px; color: #263b60; font-size: .86rem; font-weight: 600; padding: .4rem .55rem; text-decoration: none; }
.workspace-body .admin-person__sections a:hover, .workspace-body .admin-person__sections a:focus-visible { background: #eef1f4; text-decoration: underline; }
.workspace-body .admin-person__sections a[aria-current="page"] { background: #263b60; color: #fff; }
.workspace-body .admin-person__overview { background: #f4f6f8; border: 1px solid #e2ddd5; border-radius: 6px; display: grid; gap: 1.2rem; grid-template-columns: minmax(13rem, .7fr) minmax(0, 1.3fr); padding: 1rem; }
.workspace-body .admin-person__overview h2 { margin: 0; }
.workspace-body .admin-person__overview-grid { align-self: center; display: grid; gap: .75rem 1.25rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.workspace-body .admin-person__overview-grid dt { color: #7a7469; font-size: .78rem; }
.workspace-body .admin-person__overview-grid dd { margin: .2rem 0 0; overflow-wrap: anywhere; }
.workspace-body .admin-person__state { font-weight: 600; margin: .4rem 0 0; }
.workspace-body .admin-person__success { color: #28644b; }
.workspace-body .admin-person__quiet { color: #6f6a62; }
.workspace-body .admin-person__section, .workspace-body .admin-person__overview { scroll-margin-top: 1rem; }
.workspace-body .admin-person__section--actions { background: #f8f7f4; border: 1px solid #d9d4cb; border-radius: 6px; padding: 1rem; }
.workspace-body .admin-person__section--actions h2 { margin-top: 0; }
.workspace-body .admin-person__section--danger { border-left: 4px solid #a95d45; padding-left: 1rem; }
.workspace-body .admin-person__section-intro { color: #6f6a62; }
.workspace-body .admin-person__subheading { font-size: 1rem; margin: 1rem 0 .4rem; }
.workspace-body .admin-person__section details { border-top: 1px solid #e2ddd5; margin-top: .75rem; padding-top: .75rem; }
.workspace-body .admin-person__section details summary { cursor: pointer; font-weight: 700; padding: .35rem 0; }
.workspace-body .admin-person__section h2, .workspace-body .admin-person__identity h2 { margin: 0 0 .65rem; }
.workspace-body .admin-person__section p, .workspace-body .admin-person__identity p { margin: .35rem 0 0; overflow-wrap: anywhere; }
.workspace-body .admin-person__section form { display: grid; gap: .75rem; margin-top: .75rem; }
.workspace-body .admin-person__section form label { overflow-wrap: anywhere; }
.workspace-body .admin-person__assignment { margin-top: 1rem; }
.workspace-body .admin-person__assignment-select, .workspace-body .admin-person__assignment-form { align-items: end; display: flex; flex-wrap: wrap; gap: .75rem; margin-top: .9rem; }
.workspace-body .admin-person__assignment-select label, .workspace-body .admin-person__assignment-form label:first-of-type { display: grid; flex: 1 1 18rem; gap: .35rem; }
.workspace-body .admin-person__assignment-form label:not(:first-of-type) { flex-basis: 100%; }
@media (max-width: 899px) { .workspace-body .admin-people__toolbar, .workspace-body .admin-people__row, .workspace-body .admin-person__overview { grid-template-columns: 1fr; } .workspace-body .admin-people__toolbar .button, .workspace-body .admin-person__section form .button, .workspace-body .admin-person__assignment .button { width: 100%; } .workspace-body .admin-people__summary, .workspace-body .admin-person dl, .workspace-body .admin-person__overview-grid { grid-template-columns: 1fr; } .workspace-body .admin-person__assignment-select, .workspace-body .admin-person__assignment-form { align-items: stretch; flex-direction: column; } }
@media (max-width: 899px) { .workspace-body .admin-person__sections { flex-wrap: nowrap; margin-inline: -.25rem; overflow-x: auto; padding: 0 .25rem .65rem; scrollbar-width: thin; } .workspace-body .admin-person__sections a { flex: 0 0 auto; } }

/* Product Builder V1: scoped Figma Make Product design baseline. */
.workspace-body .product-builder { --product-bg: #f4f0e8; --product-surface: #fdfcf8; --product-alt: #ede9df; --product-text: #26221a; --product-muted: #776e62; --product-green: #4b6641; --product-green-hover: #3c5234; --product-accent: #8a6b52; --product-border: rgba(38,34,26,.1); background: var(--product-bg); box-sizing: border-box; color: var(--product-text); font-family: Outfit, Inter, sans-serif; margin: -2rem auto -4rem; max-width: 1000px; min-height: calc(100vh - 4rem); padding: 44px 52px 80px; }
.workspace-body .product-builder h1, .workspace-body .product-builder h2, .workspace-body .product-builder h3 { font-family: Lora, Georgia, serif; font-weight: 500; letter-spacing: 0; }
.workspace-body .product-builder__top { align-items: center; border-bottom: 1px solid var(--product-border); display: grid; gap: 1rem; grid-template-columns: minmax(9rem,.65fr) minmax(0,1.6fr) auto; padding-bottom: 20px; }
.workspace-body .product-builder__top h1 { font-size: 1.75rem; margin: .15rem 0 0; }
.workspace-body .product-builder__back, .workspace-body .product-builder__text-action { color: var(--product-green); font-size: .8125rem; font-weight: 600; text-decoration: none; }
.workspace-body .product-builder__eyebrow, .workspace-body .product-builder__kind { color: var(--product-muted); font-size: .6875rem; font-weight: 600; letter-spacing: .08em; margin: 0; text-transform: uppercase; }
.workspace-body .product-builder__status { align-items: center; display: flex; gap: .75rem; }
.workspace-body .product-builder__status > span { background: rgba(138,107,82,.09); border-radius: 999px; color: var(--product-accent); font-size: .75rem; font-weight: 600; padding: .3rem .6rem; white-space: nowrap; }
.workspace-body .product-builder__publish, .workspace-body .product-builder__quiet, .workspace-body .product-builder__create button { background: var(--product-green); border: 0; border-radius: 6px; color: #fff; cursor: pointer; font: 600 .8125rem/1.2 Outfit, Inter, sans-serif; padding: .65rem .85rem; }
.workspace-body .product-builder__publish:hover, .workspace-body .product-builder__quiet:hover, .workspace-body .product-builder__create button:hover { background: var(--product-green-hover); }
.workspace-body .product-builder__notice { background: #edf3ea; border: 1px solid #c9dbc7; border-radius: 6px; color: #466347; font-size: .875rem; margin: 1rem 0 0; padding: .75rem 1rem; }
.workspace-body .product-builder__notice--error { background: #fbf0e7; border-color: #e4c6b1; color: #8a4f39; }
.workspace-body .product-builder__intro { align-items: start; display: flex; gap: 1rem; justify-content: space-between; padding: 30px 0; }
.workspace-body .product-builder__intro > div { display: grid; gap: .35rem; }
.workspace-body .product-builder__intro span { color: var(--product-accent); font-size: .75rem; font-weight: 600; }
.workspace-body .product-builder__intro p { color: var(--product-muted); font-size: .875rem; line-height: 1.55; margin: 0; max-width: 38rem; }
.workspace-body .product-builder__create { flex: 0 0 auto; position: relative; }
.workspace-body .product-builder__create summary { background: var(--product-text); border-radius: 6px; color: #fff; cursor: pointer; font-size: .8125rem; font-weight: 600; list-style: none; padding: .7rem .9rem; }
.workspace-body .product-builder__create summary::-webkit-details-marker, .workspace-body .product-builder__add-block summary::-webkit-details-marker { display: none; }
.workspace-body .product-builder__create[open] { background: var(--product-surface); border: 1px solid var(--product-border); border-radius: 10px; box-shadow: 0 12px 30px rgba(38,34,26,.12); padding: .75rem; z-index: 2; }
.workspace-body .product-builder__create[open] summary { margin-bottom: .75rem; }
.workspace-body .product-builder__create form, .workspace-body .product-builder__add-block form, .workspace-body .product-builder__move { align-items: end; display: flex; flex-wrap: wrap; gap: .5rem; }
.workspace-body .product-builder input, .workspace-body .product-builder select { background: #fff; border: 1px solid rgba(38,34,26,.18); border-radius: 6px; box-sizing: border-box; color: var(--product-text); font: .8125rem/1.2 Outfit, Inter, sans-serif; min-height: 2.35rem; padding: .5rem .6rem; }
.workspace-body .product-builder__canvas { display: grid; gap: 16px; }
.workspace-body .product-builder__scope, .workspace-body .product-builder__module { background: var(--product-surface); border: 1px solid var(--product-border); border-radius: 10px; }
.workspace-body .product-builder__scope > header, .workspace-body .product-builder__module > header, .workspace-body .product-builder__lesson > header { align-items: start; display: flex; gap: 1rem; justify-content: space-between; }
.workspace-body .product-builder__scope > header { background: var(--product-alt); border-radius: 9px 9px 0 0; padding: 14px 18px; }
.workspace-body .product-builder__scope > header span { font-family: Lora, Georgia, serif; font-size: 1.05rem; }
.workspace-body .product-builder__scope small, .workspace-body .product-builder__module > header p { color: var(--product-muted); font-size: .75rem; margin: .2rem 0 0; }
.workspace-body .product-builder__module > header { background: rgba(75,102,65,.08); border-radius: 9px 9px 0 0; padding: 18px; }
.workspace-body .product-builder__module h2 { font-size: 1.3rem; margin: .25rem 0 0; }
.workspace-body .product-builder__lesson { border-top: 1px solid var(--product-border); padding: 16px 18px; }
.workspace-body .product-builder__lesson h3 { font-size: 1.05rem; margin: .25rem 0 0; }
.workspace-body .product-builder__icon { background: transparent; border: 1px solid var(--product-border); border-radius: 50%; color: var(--product-muted); cursor: pointer; font-size: 1.15rem; height: 2rem; line-height: 1; padding: 0; width: 2rem; }
.workspace-body .product-builder__move { border-top: 1px solid var(--product-border); margin-top: .8rem; padding-top: .75rem; }
.workspace-body .product-builder__move label { color: var(--product-muted); display: grid; font-size: .72rem; gap: .25rem; }
.workspace-body .product-builder__move input { width: 4.5rem; }
.workspace-body .product-builder__blocks { display: grid; gap: .5rem; margin-top: .8rem; }
.workspace-body .product-builder__block { align-items: start; background: rgba(138,107,82,.06); border-left: 2px solid var(--product-accent); display: flex; gap: 1rem; justify-content: space-between; padding: .65rem .75rem; }
.workspace-body .product-builder__block-actions, .workspace-body .product-builder__module-actions { align-items: center; display: flex; flex: 0 0 auto; gap: .45rem; }
.workspace-body .product-builder__block span { color: var(--product-accent); font-size: .68rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.workspace-body .product-builder__block p { font-size: .8125rem; margin: .2rem 0 0; overflow-wrap: anywhere; }
.workspace-body .product-builder__text-action { background: transparent; border: 0; cursor: pointer; padding: .2rem 0; white-space: nowrap; }
.workspace-body .product-builder__add-block { border-top: 1px solid var(--product-border); margin-top: .8rem; padding-top: .7rem; }
.workspace-body .product-builder__add-block summary { color: var(--product-green); cursor: pointer; font-size: .8125rem; font-weight: 600; }
.workspace-body .product-builder__add-block[open] summary { margin-bottom: .6rem; }
.workspace-body .product-builder__order { margin-top: .6rem; }
.workspace-body .product-builder__empty { color: var(--product-muted); font-size: .875rem; margin: 0; padding: 18px; }
@media (max-width: 899px) { .workspace-body .product-builder { margin: -1.25rem -1rem calc(-5rem - env(safe-area-inset-bottom)); min-height: calc(100dvh - 3rem); padding: 24px 20px calc(80px + env(safe-area-inset-bottom)); } .workspace-body .product-builder__top { align-items: start; grid-template-columns: 1fr auto; } .workspace-body .product-builder__back { grid-column: 1 / -1; } .workspace-body .product-builder__status { align-items: end; flex-direction: column; } .workspace-body .product-builder__intro { align-items: stretch; flex-direction: column; padding: 22px 0; } .workspace-body .product-builder__create { width: 100%; } .workspace-body .product-builder__create summary { width: max-content; } .workspace-body .product-builder__create[open] { box-sizing: border-box; width: 100%; } .workspace-body .product-builder__create form, .workspace-body .product-builder__add-block form { align-items: stretch; display: grid; } .workspace-body .product-builder__create button, .workspace-body .product-builder__add-block button { width: 100%; } .workspace-body .product-builder__move { align-items: stretch; display: grid; grid-template-columns: 1fr 5rem; } .workspace-body .product-builder__move button { grid-column: 1 / -1; } .workspace-body .product-builder__scope > header, .workspace-body .product-builder__module > header, .workspace-body .product-builder__lesson { padding-left: 14px; padding-right: 14px; } }

/* Structure-first Builder V2: the structure remains scannable while blocks stay attached to the selected item. */
.workspace-body .product-builder__lesson:not(.is-selected) .product-builder__block,
.workspace-body .product-builder__lesson:not(.is-selected) .product-builder__add-block { display: none; }
.workspace-body .product-builder__item-link { color: var(--product-text); text-decoration: none; }
.workspace-body .product-builder__item-link:hover, .workspace-body .product-builder__item-link:focus-visible { color: var(--product-green); text-decoration: underline; }
.workspace-body .product-builder__item-link.is-selected { color: var(--product-green); }
.workspace-body .product-builder__lesson.is-selected { background: rgba(75,102,65,.055); }
.workspace-body .product-builder__rename { align-items: end; border-top: 1px solid var(--product-border); display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .8rem; padding-top: .8rem; }
.workspace-body .product-builder__rename label { color: var(--product-muted); display: grid; flex: 1 1 15rem; font-size: .72rem; gap: .25rem; }
.workspace-body .product-builder__rename input { width: 100%; }
.workspace-body .product-builder__editor-note { color: var(--product-muted); font-size: .8rem; }
.workspace-body .product-builder__workspace { align-items: start; display: grid; gap: 18px; grid-template-columns: minmax(13rem,.55fr) minmax(0,1.45fr); }
.workspace-body .product-builder__structure, .workspace-body .product-builder__item-canvas { background: var(--product-surface); border: 1px solid var(--product-border); border-radius: 10px; }
.workspace-body .product-builder__structure { overflow: hidden; }
.workspace-body .product-builder__structure > header { background: var(--product-alt); font-family: Lora, Georgia, serif; font-size: 1rem; padding: 14px; }
.workspace-body .product-builder__structure > section, .workspace-body .product-builder__structure-module { border-top: 1px solid var(--product-border); padding: 12px; }
.workspace-body .product-builder__structure-module h2 { font-size: .9rem; margin: 0 0 .5rem; }
.workspace-body .product-builder__structure-label { color: var(--product-muted); font-size: .65rem; font-weight: 700; letter-spacing: .08em; margin: 0 0 .45rem; }
.workspace-body .product-builder__structure-empty { color: var(--product-muted); font-size: .8rem; margin: 0; }
.workspace-body .product-builder__item { align-items: center; border-radius: 6px; color: var(--product-text); display: flex; font-size: .84rem; justify-content: space-between; margin: .2rem 0; padding: .55rem .6rem; text-decoration: none; }
.workspace-body .product-builder__item:hover, .workspace-body .product-builder__item.is-selected { background: rgba(75,102,65,.1); color: var(--product-green); }
.workspace-body .product-builder__item small { background: rgba(38,34,26,.07); border-radius: 999px; color: var(--product-muted); font-size: .65rem; min-width: 1.35rem; padding: .1rem .35rem; text-align: center; }
.workspace-body .product-builder__item-canvas { min-height: 28rem; padding: 22px; }
.workspace-body .product-builder__empty-canvas { color: var(--product-muted); margin: 6rem auto; max-width: 20rem; text-align: center; }
.workspace-body .product-builder__empty-canvas h2, .workspace-body .product-builder__item-header h2 { font-size: 1.5rem; margin: .2rem 0; }
.workspace-body .product-builder__empty-canvas p { font-size: .9rem; line-height: 1.5; }
.workspace-body .product-builder__item-header, .workspace-body .product-builder__blocks > header, .workspace-body .product-builder__block-editor > header { align-items: start; display: flex; gap: 1rem; justify-content: space-between; }
.workspace-body .product-builder__blocks { border-top: 1px solid var(--product-border); margin-top: 1.2rem; padding-top: 1.2rem; }
.workspace-body .product-builder__blocks > header h3, .workspace-body .product-builder__block-editor h3 { font-size: 1.15rem; margin: .15rem 0 0; }
.workspace-body .product-builder__blocks > header > span { background: var(--product-alt); border-radius: 999px; color: var(--product-muted); font-size: .75rem; padding: .25rem .55rem; }
.workspace-body .product-builder__empty-blocks { border: 1px dashed var(--product-border); color: var(--product-muted); font-size: .875rem; margin-top: .8rem; padding: 1.2rem; }
.workspace-body .product-builder__block { background: #fff; border: 1px solid var(--product-border); border-left: 3px solid var(--product-accent); margin-top: .55rem; padding: .75rem .85rem; }
.workspace-body .product-builder__block.is-selected { border-color: var(--product-green); box-shadow: 0 0 0 2px rgba(75,102,65,.12); }
.workspace-body .product-builder__block-select { color: var(--product-text); display: grid; flex: 1 1 12rem; gap: .22rem; text-decoration: none; }
.workspace-body .product-builder__block-select:hover strong { color: var(--product-green); }
.workspace-body .product-builder__block-select strong { font-size: .86rem; font-weight: 500; overflow-wrap: anywhere; }
.workspace-body .product-builder__chooser { display: grid; gap: .7rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: .75rem; }
.workspace-body .product-builder__chooser form, .workspace-body .product-builder__block-editor form { display: grid; gap: .5rem; }
.workspace-body .product-builder__chooser form { background: rgba(138,107,82,.06); border: 1px solid var(--product-border); padding: .75rem; }
.workspace-body .product-builder__chooser label, .workspace-body .product-builder__block-editor label { color: var(--product-muted); display: grid; font-size: .72rem; font-weight: 600; gap: .3rem; }
.workspace-body .product-builder textarea { background: #fff; border: 1px solid rgba(38,34,26,.18); border-radius: 6px; box-sizing: border-box; color: var(--product-text); font: .875rem/1.45 Outfit, Inter, sans-serif; min-height: 6rem; padding: .6rem; resize: vertical; width: 100%; }
.workspace-body .product-builder__block-editor { background: rgba(75,102,65,.07); border: 1px solid rgba(75,102,65,.22); margin-top: 1rem; padding: 1rem; }
.workspace-body .product-builder__block-editor form { margin-top: .8rem; max-width: 42rem; }
.workspace-body .product-builder__block-editor textarea { min-height: 11rem; }
.workspace-body .product-builder__rich-label { display: grid; gap: .45rem; }
.workspace-body .product-builder__rich-editor { display: grid; gap: .45rem; }
.workspace-body .product-builder__rich-toolbar { align-items: center; display: flex; flex-wrap: wrap; gap: .35rem; }
.workspace-body .product-builder__rich-toolbar button { background: #fff; border: 1px solid var(--product-border); border-radius: 4px; color: var(--product-text); cursor: pointer; font: 600 .72rem/1 Outfit, Inter, sans-serif; min-height: 1.85rem; min-width: 1.85rem; padding: .25rem .4rem; }
.workspace-body .product-builder__rich-toolbar button:hover { border-color: var(--product-green); color: var(--product-green); }
.workspace-body .product-public-builder__recognition-rich-label .product-builder__rich-toolbar button.is-active { background: var(--product-green); border-color: var(--product-green); color: #fff; }
.workspace-body .product-builder__rich-editor--editorial .product-builder__rich-toolbar button.is-active { background: var(--product-green); border-color: var(--product-green); color: #fff; }
.workspace-body .product-builder__rich-toolbar-group { align-items: center; display: inline-flex; flex-wrap: wrap; gap: .3rem; }
.workspace-body .product-builder__rich-toolbar-group + .product-builder__rich-toolbar-group { border-left: 1px solid var(--product-border); padding-left: .45rem; }
.workspace-body .product-builder__rich-toolbar-group-label { color: var(--product-muted); font: 650 .7rem/1 Outfit, Inter, sans-serif; margin-right: .05rem; }
.workspace-body .product-builder__rich-toolbar button[data-rich-typography] { min-width: auto; }
.workspace-body .product-builder__rich-input { background: #fff; border: 1px solid rgba(38,34,26,.18); border-radius: 6px; box-sizing: border-box; color: var(--product-text); font: .875rem/1.55 Outfit, Inter, sans-serif; min-height: 9rem; padding: .7rem; white-space: pre-wrap; }
.workspace-body .product-builder__rich-editor--editorial .product-builder__rich-input { font-family: var(--editorial-font-sans); font-size: var(--editorial-body-size); line-height: var(--editorial-line-height-text); }
.workspace-body .product-builder__rich-editor--editorial .product-builder__rich-input .public-product-page__editorial-font-sans { font-family: var(--editorial-font-sans); }
.workspace-body .product-builder__rich-editor--editorial .product-builder__rich-input .public-product-page__editorial-font-serif { font-family: var(--editorial-font-serif); }
.workspace-body .product-builder__rich-editor--editorial .product-builder__rich-input .public-product-page__editorial-size-text { font-size: var(--editorial-size-text); line-height: var(--editorial-line-height-text); }
.workspace-body .product-builder__rich-editor--editorial .product-builder__rich-input .public-product-page__editorial-size-subtitle { font-size: var(--editorial-size-subtitle); line-height: var(--editorial-line-height-subtitle); }
.workspace-body .product-builder__rich-editor--editorial .product-builder__rich-input .public-product-page__editorial-size-heading { font-size: var(--editorial-size-heading); line-height: var(--editorial-line-height-heading); }
.workspace-body .product-builder__rich-input:focus { border-color: var(--product-green); box-shadow: 0 0 0 2px rgba(75,102,65,.12); outline: 0; }
.workspace-body .product-builder__rich-input h2, .workspace-body .product-builder__rich-input h3 { font-family: Lora, Georgia, serif; margin: .7rem 0 .35rem; }
.workspace-body .product-builder__rich-input p, .workspace-body .product-builder__rich-input blockquote { margin: .45rem 0; }
.workspace-body .product-builder__rich-input blockquote { border-left: 2px solid var(--product-accent); color: var(--product-muted); padding-left: .75rem; }
@media (max-width: 899px) { .workspace-body .product-builder__workspace { grid-template-columns: 1fr; } .workspace-body .product-builder__structure { max-height: 16rem; overflow-y: auto; } .workspace-body .product-builder__item-canvas { min-height: 24rem; padding: 16px 14px; } .workspace-body .product-builder__chooser { grid-template-columns: 1fr; } .workspace-body .product-builder__block { align-items: stretch; flex-direction: column; } .workspace-body .product-builder__block-actions { flex-wrap: wrap; } }

/* Product management keeps the standard practitioner workspace shell, with a tighter editorial form surface. */
.workspace-body .product-workspace { display: grid; gap: 1.25rem; margin: 0 auto; max-width: 62rem; }
.workspace-body .product-workspace__header { background: #fdfcf8; border: 1px solid #ddd6cb; border-radius: 8px; margin: 0; padding: 1.6rem 1.75rem; }
.workspace-body .product-workspace__header .eyebrow { color: #9b9388; font-size: .6875rem; font-weight: 700; letter-spacing: .08em; margin-bottom: .55rem; }
.workspace-body .product-workspace__header h1, .workspace-body .product-workspace h2 { color: #26221a; font-family: Lora, Georgia, serif; font-weight: 500; letter-spacing: 0; }
.workspace-body .product-workspace__header h1 { font-size: 2rem; line-height: 1.15; margin: 0; }
.workspace-body .product-workspace__header .lead { color: #776e62; font-size: .9375rem; line-height: 1.55; margin: .7rem 0 0; max-width: 44rem; }
.workspace-body .product-workspace > .workspace-panel { background: #fdfcf8; border: 1px solid #ddd6cb; border-radius: 8px; box-shadow: none; margin: 0; padding: 1.5rem 1.75rem; }
.workspace-body .product-workspace .workspace-form { display: grid; gap: 1rem; max-width: 48rem; }
.workspace-body .product-workspace .field { color: #3c372f; font-size: .8125rem; font-weight: 650; gap: .4rem; }
.workspace-body .product-workspace .field__hint { color: #776e62; font-size: .8125rem; line-height: 1.45; margin: -.45rem 0 .1rem; }
.workspace-body .product-workspace .field__input { background: #fff; border-color: #d6cfc4; border-radius: 6px; color: #26221a; font: .9375rem/1.45 Outfit, Inter, sans-serif; min-height: 2.75rem; padding: .65rem .75rem; }
.workspace-body .product-workspace textarea.field__input { min-height: 6.5rem; resize: vertical; }
.workspace-body .product-workspace fieldset.field { background: #f8f6f0; border: 1px solid #e3ddd4; border-radius: 6px; padding: .9rem 1rem 1rem; }
.workspace-body .product-workspace fieldset.field legend { color: #26221a; font-family: Lora, Georgia, serif; font-size: 1rem; font-weight: 500; padding: 0 .25rem; }
.workspace-body .product-workspace fieldset.field > label { align-items: center; display: flex; font-size: .875rem; font-weight: 500; gap: .45rem; line-height: 1.4; margin-top: .5rem; }
.workspace-body .product-workspace fieldset.field > p { color: #776e62; font-size: .8125rem; line-height: 1.5; margin: .35rem 0 .75rem; }
.workspace-body .product-workspace fieldset.field input.field__input, .workspace-body .product-workspace fieldset.field select.field__input { flex: 1 1 14rem; }
.workspace-body .product-workspace .button--primary { background: #1d355d; border: 1px solid #1d355d; border-radius: 6px; font-size: .875rem; min-height: 2.65rem; padding: .6rem 1rem; }
.workspace-body .product-workspace .button--primary:hover { background: #162a4a; border-color: #162a4a; }
.workspace-body .product-workspace .button--secondary { border-color: #d6cfc4; border-radius: 6px; color: #1d355d; }
.workspace-body .product-workspace .workspace-toolbar { margin: 0; }
.workspace-body .product-home-shell { display: grid; gap: 1rem; margin: 0 auto; max-width: 70rem; }
.workspace-body .product-home-nav { align-items: center; border-bottom: 1px solid #ddd6cb; display: flex; flex-wrap: wrap; gap: .25rem; padding: 0 0 .65rem; }
.workspace-body .product-home-nav__item { border-radius: 6px; color: #776e62; font-size: .82rem; padding: .5rem .7rem; text-decoration: none; }
.workspace-body .product-home-nav__item.is-active { background: #eeebe4; color: #1d355d; font-weight: 700; }
.workspace-body .product-home-nav__item.is-disabled { opacity: .48; }
.workspace-body .product-home-identity { align-items: flex-start; display: flex; gap: 1rem; justify-content: space-between; }
.workspace-body .product-home-identity h2 { font-size: 1.85rem; margin: .2rem 0 0; }
.workspace-body .product-home-status { border: 1px solid #d6cfc4; border-radius: 999px; color: #5f594f; font-size: .75rem; font-weight: 700; padding: .35rem .6rem; }
.workspace-body .product-home-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.workspace-body .product-home-actions form { margin: 0; }
.workspace-body .product-home-actions .is-disabled { opacity: .48; pointer-events: none; }
.workspace-body .product-home-overview { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.workspace-body .product-home-card, .workspace-body .product-home-settings { background: #fdfcf8; border: 1px solid #ddd6cb; border-radius: 8px; padding: 1.25rem 1.4rem; }
.workspace-body .product-home-card h3 { font-size: 1.05rem; margin: .45rem 0; }
.workspace-body .product-home-card p:not(.eyebrow), .workspace-body .product-home-settings p:not(.eyebrow) { color: #776e62; font-size: .875rem; line-height: 1.5; }
.workspace-body .product-home-card.is-muted { background: transparent; }
.workspace-body .product-home-link { color: #1d355d; font-size: .84rem; font-weight: 700; }
@media (max-width: 700px) {
    .workspace-body .product-home-identity { display: block; }
    .workspace-body .product-home-status { display: inline-block; margin-top: .75rem; }
    .workspace-body .product-home-overview { grid-template-columns: 1fr; }
    .workspace-body .product-home-nav__item { font-size: .78rem; padding: .45rem .55rem; }
}
.workspace-body .product-workspace .content-library-list { display: grid; gap: .75rem; }
.workspace-body .product-workspace .content-library-card { background: #f8f6f0; border: 1px solid #e3ddd4; border-radius: 6px; gap: 1rem; padding: 1rem 1.15rem; }
.workspace-body .product-workspace .content-library-card h2 { font-size: 1.25rem; margin: .2rem 0; }
.workspace-body .product-workspace .content-library-card p { color: #776e62; font-size: .875rem; line-height: 1.45; }
.workspace-body .product-workspace .product-list-card__actions { align-items: center; flex-wrap: wrap; }
.workspace-body .product-workspace .product-list-card__actions form { margin: 0; }
.workspace-body .product-workspace .product-list-card__publication { margin-left: auto; }
.workspace-body .product-workspace .product-list-card__publication-toggle { align-items: center; background: transparent; border: 0; color: #1f416f; cursor: pointer; display: inline-flex; font: inherit; gap: .45rem; padding: .45rem 0; }
.workspace-body .product-workspace .product-list-card__publication-toggle span { background: #aaa095; border-radius: 999px; display: block; height: 1rem; position: relative; transition: background-color .15s ease; width: 1.8rem; }
.workspace-body .product-workspace .product-list-card__publication-toggle span::after { background: #fff; border-radius: 50%; content: ''; height: .72rem; left: .14rem; position: absolute; top: .14rem; transition: transform .15s ease; width: .72rem; }
.workspace-body .product-workspace .product-list-card__publication-toggle[aria-checked="true"] span { background: #1f416f; }
.workspace-body .product-workspace .product-list-card__publication-toggle[aria-checked="true"] span::after { transform: translateX(.8rem); }
.workspace-body .product-workspace .product-list-card__publication-toggle:focus-visible { border-radius: 3px; outline: 2px solid #1f416f; outline-offset: 3px; }
.workspace-body .product-workspace__create { max-width: 42rem; }
.workspace-body .product-workspace__draft-home { max-width: 42rem; }
.workspace-body .product-workspace__draft-home h2 { font-size: 1.4rem; margin: .2rem 0 .6rem; }
.workspace-body .product-workspace__draft-home p:not(.eyebrow) { color: #776e62; font-size: .9375rem; line-height: 1.55; margin: 0 0 1.25rem; }
@media (max-width: 899px) { .workspace-body .product-workspace { gap: 1rem; } .workspace-body .product-workspace__header, .workspace-body .product-workspace > .workspace-panel { border-radius: 7px; padding: 1.25rem; } .workspace-body .product-workspace__header h1 { font-size: 1.7rem; } .workspace-body .product-workspace .workspace-form { gap: .85rem; } .workspace-body .product-workspace .field__input { font-size: 1rem; } .workspace-body .product-workspace .button--primary { width: 100%; } .workspace-body .product-workspace .content-library-card { align-items: stretch; flex-direction: column; } .workspace-body .product-workspace .button-row { width: 100%; } .workspace-body .product-workspace .button-row .button { flex: 1 1 auto; text-align: center; } .workspace-body .product-workspace .product-list-card__publication { margin-left: 0; width: 100%; } }

/* Product author workspace: an intentionally separate authoring surface, not the generic practitioner shell. */
.workspace-body:has(.product-author-shell) { background: #f4f0e8; padding: 0; }
.workspace-body:has(.product-author-shell) .workspace-shell { display: block; min-height: 100vh; }
.workspace-body:has(.product-author-shell) .workspace-sidebar,
.workspace-body:has(.product-author-shell) .workspace-topbar,
.workspace-body:has(.product-author-shell) .workspace-bottom-nav { display: none; }
.workspace-body:has(.product-author-shell) .workspace-main { display: block; min-height: 100vh; }
.workspace-body:has(.product-author-shell) .workspace-content { display: block; margin: 0; max-width: none; padding: 0; width: auto; }
.workspace-body:has(.product-author-shell) .product-workspace { display: block; margin: 0; max-width: none; }
.workspace-body:has(.product-author-shell) .product-workspace__header { display: none; }
.workspace-body .product-author-shell { --product-bg: #f4f0e8; --product-surface: #fdfcf8; --product-alt: #ede9df; --product-text: #26221a; --product-muted: #776e62; --product-green: #4b6641; --product-green-hover: #3c5234; --product-accent: #8a6b52; --product-deep-green: #193b2a; --product-border: rgba(38,34,26,.1); background: var(--product-bg); color: var(--product-text); font-family: Outfit, Inter, sans-serif; min-height: 100vh; }
.workspace-body .product-author-shell h1, .workspace-body .product-author-shell h2, .workspace-body .product-author-shell h3 { font-family: Lora, Georgia, serif; font-weight: 500; letter-spacing: 0; }
.workspace-body .product-author-shell__top { align-items: center; background: var(--product-surface); border-bottom: 1px solid var(--product-border); box-sizing: border-box; display: grid; gap: 1.5rem; grid-template-columns: minmax(9rem, .7fr) minmax(17rem, 1.7fr) auto; min-height: 64px; padding: .7rem 2rem; }
.workspace-body .product-author-shell__back { color: var(--product-green); font-size: .78rem; font-weight: 600; text-decoration: none; }
.workspace-body .product-author-shell__back:hover, .workspace-body .product-author-shell__back:focus-visible { color: var(--product-green-hover); text-decoration: underline; }
.workspace-body .product-author-shell__identity { min-width: 0; }
.workspace-body .product-author-shell__identity p, .workspace-body .product-author-shell__kicker { color: var(--product-muted); font-size: .63rem; font-weight: 700; letter-spacing: .1em; margin: 0; text-transform: uppercase; }
.workspace-body .product-author-shell__identity h2 { font-size: 1rem; margin: .18rem 0 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-body .product-author-shell__actions { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem; justify-content: flex-end; }
.workspace-body .product-author-shell__status { background: rgba(138,107,82,.1); border-radius: 999px; color: var(--product-accent); font-size: .72rem; font-weight: 600; padding: .35rem .62rem; white-space: nowrap; }
.workspace-body .product-author-shell__primary, .workspace-body .product-author-shell__secondary { border-radius: 6px; box-sizing: border-box; display: inline-flex; font: 600 .75rem/1.2 Outfit, Inter, sans-serif; min-height: 2.3rem; padding: .55rem .75rem; text-decoration: none; }
.workspace-body .product-author-shell__primary { background: var(--product-green); border: 1px solid var(--product-green); color: #fff; cursor: pointer; }
.workspace-body .product-author-shell__primary:hover, .workspace-body .product-author-shell__primary:focus-visible { background: var(--product-green-hover); border-color: var(--product-green-hover); }
.workspace-body .product-author-shell__secondary { background: transparent; border: 1px solid var(--product-border); color: var(--product-green); }
.workspace-body .product-author-shell__primary.is-disabled, .workspace-body .product-author-shell__secondary.is-disabled { cursor: default; opacity: .48; pointer-events: none; }
.workspace-body .product-author-shell__actions form { margin: 0; }
.workspace-body .product-author-shell__body { display: grid; grid-template-columns: 248px minmax(0, 1fr); min-height: calc(100vh - 64px); }
.workspace-body .product-author-shell__sidebar { background: var(--product-deep-green); padding: 1.25rem .75rem; }
.workspace-body .product-author-nav { display: grid; gap: .2rem; }
.workspace-body .product-author-nav__item { border-radius: 7px; color: rgba(253,252,248,.7); font-size: .83rem; font-weight: 500; padding: .72rem .82rem; text-decoration: none; }
.workspace-body .product-author-nav__item:hover, .workspace-body .product-author-nav__item:focus-visible { background: rgba(253,252,248,.08); color: #fff; }
.workspace-body .product-author-nav__item.is-active { background: rgba(253,252,248,.14); color: #fff; font-weight: 650; }
.workspace-body .product-author-nav__item.is-deferred, .workspace-body .product-author-nav__item.is-lifecycle-disabled { cursor: default; display: grid; gap: .12rem; opacity: .56; }
.workspace-body .product-author-nav__item.is-deferred small, .workspace-body .product-author-nav__item.is-lifecycle-disabled small { color: rgba(253,252,248,.62); font-size: .64rem; font-weight: 500; }
.workspace-body .product-author-nav__item.is-deferred { opacity: .68; }
.workspace-body .product-author-shell__main { box-sizing: border-box; min-width: 0; }
.workspace-body .product-author-shell .product-home-shell { box-sizing: border-box; gap: 2rem; margin: 0 auto; max-width: 70rem; padding: 3.5rem 4rem 5rem; width: 100%; }
.workspace-body .product-author-shell .product-home-identity { display: grid; gap: .65rem; max-width: 43rem; }
.workspace-body .product-author-shell .product-home-identity h1 { font-size: clamp(2rem, 3.4vw, 3.35rem); line-height: 1.1; margin: 0; }
.workspace-body .product-author-shell .product-home-identity > p:last-child { color: var(--product-muted); font-size: 1rem; line-height: 1.6; margin: 0; }
.workspace-body .product-author-shell .product-home-overview { gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.workspace-body .product-author-shell .product-home-card, .workspace-body .product-author-shell .product-home-settings { background: var(--product-surface); border: 1px solid var(--product-border); border-radius: 10px; display: grid; gap: .35rem; min-height: 10.5rem; padding: 1.4rem 1.5rem; }
.workspace-body .product-author-shell .product-home-card h3 { font-size: 1.35rem; line-height: 1.25; margin: .25rem 0; }
.workspace-body .product-author-shell .product-home-card p:not(.eyebrow), .workspace-body .product-author-shell .product-home-settings p:not(.eyebrow) { color: var(--product-muted); font-size: .88rem; line-height: 1.5; margin: 0; }
.workspace-body .product-author-shell .product-home-card--content { background: var(--product-green); border-color: var(--product-green); color: #fff; grid-column: 1 / -1; min-height: 12rem; }
.workspace-body .product-author-shell .product-home-card--content .eyebrow, .workspace-body .product-author-shell .product-home-card--content p:not(.eyebrow) { color: rgba(255,255,255,.7); }
.workspace-body .product-author-shell .product-home-card--content h3 { color: #fff; font-size: 1.75rem; }
.workspace-body .product-author-shell .product-home-link { align-self: end; background: #fff; border-radius: 6px; color: var(--product-green); font-size: .82rem; font-weight: 650; justify-self: start; margin-top: .6rem; padding: .7rem .9rem; text-decoration: none; }
.workspace-body .product-author-shell .product-home-card.is-muted { background: rgba(237,233,223,.5); }
.workspace-body .product-author-shell .product-home-settings { min-height: 0; }
.workspace-body .product-author-shell .product-home-lifecycle-note { background: rgba(138,107,82,.1); border: 1px solid rgba(138,107,82,.22); border-radius: 8px; color: var(--product-text); font-size: .88rem; line-height: 1.5; padding: .85rem 1rem; }
.workspace-body .product-author-shell .product-home-card.is-lifecycle-disabled { background: #7b8e74; border-color: #7b8e74; }
.workspace-body .product-author-shell .product-home-link.is-disabled { cursor: default; opacity: .62; }
.workspace-body .product-author-shell .product-home-archive { border-top: 1px solid var(--product-border); display: grid; gap: .55rem; margin-top: .5rem; max-width: 43rem; padding-top: 1.25rem; }
.workspace-body .product-author-shell .product-home-archive h2 { font-size: 1.1rem; margin: 0; }
.workspace-body .product-author-shell .product-home-archive p { color: var(--product-muted); font-size: .84rem; line-height: 1.5; margin: 0; }
.workspace-body .product-author-shell .product-home-archive form { margin: .15rem 0 0; }
.workspace-body .product-author-shell .product-home-archive__action { background: transparent; border: 1px solid rgba(138,107,82,.55); border-radius: 6px; color: #755239; cursor: pointer; font: 600 .78rem/1.2 Outfit, Inter, sans-serif; min-height: 2.3rem; padding: .55rem .75rem; }
.workspace-body .product-author-shell .product-home-archive__action:hover, .workspace-body .product-author-shell .product-home-archive__action:focus-visible { background: rgba(138,107,82,.1); }
.workspace-body .product-list-toolbar { align-items: center; display: flex; gap: .7rem; justify-content: space-between; }
.workspace-body .product-list-tabs { display: flex; gap: .4rem; }
.workspace-body .product-list-tabs .button.is-active { background: #eeebe4; border-color: #d6cfc4; color: #1d355d; font-weight: 700; }
.workspace-body .product-author-shell .product-sales-options { display: grid; gap: .8rem; }
.workspace-body .product-author-shell .product-sales-option { align-items: center; grid-template-columns: minmax(0, 1fr) auto; min-height: 0; }
.workspace-body .product-author-shell .product-sales-option.is-inactive { background: rgba(237,233,223,.55); }
.workspace-body .product-author-shell .product-sales-option__hint { font-size: .78rem !important; margin-top: .35rem !important; }
.workspace-body .product-author-shell .product-sales-form { min-height: 0; }
.workspace-body .product-author-shell .product-sales-form .workspace-form { gap: .85rem; max-width: none; }
.workspace-body .product-author-shell .product-sales-form__terms { display: grid; gap: .85rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.workspace-body .product-author-shell .product-sales-form__toggle { align-items: center; color: var(--product-text); display: flex; font-size: .84rem; font-weight: 600; gap: .55rem; }
.workspace-body .product-author-shell .product-sales-form__toggle input { accent-color: var(--product-green); block-size: 1rem; inline-size: 1rem; }

/* Builder canvas follows the Product author reference: navigation, structure, then focused editing. */
.workspace-body .product-author-shell .product-builder { background: transparent; box-sizing: border-box; color: var(--product-text); font-family: Outfit, Inter, sans-serif; margin: 0; max-width: none; min-height: 0; padding: 3rem 3.5rem 5rem; }
.workspace-body .product-author-shell .product-builder__top { align-items: end; border-bottom: 1px solid var(--product-border); display: flex; gap: 1rem; justify-content: space-between; padding: 0 0 1.35rem; }
.workspace-body .product-author-shell .product-builder__top h1 { font-size: clamp(1.8rem, 3vw, 2.65rem); line-height: 1.12; margin: .2rem 0 0; }
.workspace-body .product-author-shell .product-builder__top > p { color: var(--product-muted); font-size: .9rem; line-height: 1.5; margin: 0; max-width: 25rem; }
.workspace-body .product-author-shell .product-builder__intro { align-items: center; border-bottom: 0; display: flex; gap: 1rem; justify-content: space-between; padding: 1.5rem 0; }
.workspace-body .product-author-shell .product-builder__intro > div { display: grid; gap: .35rem; }
.workspace-body .product-author-shell .product-builder__intro span { color: var(--product-accent); font-size: .68rem; font-weight: 700; letter-spacing: .08em; }
.workspace-body .product-author-shell .product-builder__intro p { color: var(--product-muted); font-size: .85rem; line-height: 1.5; margin: 0; max-width: 39rem; }
.workspace-body .product-author-shell .product-builder__create summary { background: var(--product-green); border-radius: 6px; color: #fff; font-size: .8rem; font-weight: 650; padding: .7rem .9rem; }
.workspace-body .product-author-shell .product-builder__create[open] { border-color: var(--product-border); box-shadow: 0 12px 32px rgba(38,34,26,.12); }
.workspace-body .product-author-shell .product-builder__workspace { align-items: stretch; gap: 1.25rem; grid-template-columns: minmax(13rem, .62fr) minmax(0, 1.6fr); }
.workspace-body .product-author-shell .product-builder__structure { background: var(--product-alt); border-color: var(--product-border); border-radius: 8px; }
.workspace-body .product-author-shell .product-builder__structure > header { background: transparent; border-bottom: 1px solid var(--product-border); font-family: Outfit, Inter, sans-serif; font-size: .72rem; font-weight: 700; letter-spacing: .08em; padding: 1rem; text-transform: uppercase; }
.workspace-body .product-author-shell .product-builder__structure > header small { color: var(--product-muted); display: block; font-size: .61rem; font-weight: 500; letter-spacing: .04em; margin-top: .3rem; }
.workspace-body .product-author-shell .product-builder__structure > section, .workspace-body .product-author-shell .product-builder__structure-module { border-top: 0; padding: .85rem; }
.workspace-body .product-author-shell .product-builder__structure-module { border-top: 1px solid var(--product-border); }
.workspace-body .product-author-shell .product-builder__structure-module h2 { font-family: Outfit, Inter, sans-serif; font-size: .8rem; font-weight: 650; margin: 0 0 .45rem; }
.workspace-body .product-author-shell .product-builder__module-header, .workspace-body .product-author-shell .product-builder__structure-lesson { align-items: center; display: flex; gap: .45rem; justify-content: space-between; }
.workspace-body .product-author-shell .product-builder__module-header { align-items: start; }
.workspace-body .product-author-shell .product-builder__module-header small { color: var(--product-muted); display: block; font-size: .69rem; margin-top: -.2rem; }
.workspace-body .product-author-shell .product-builder__structure-actions { align-items: center; display: flex; flex: 0 0 auto; gap: .2rem; opacity: 0; transition: opacity .15s ease; }
.workspace-body .product-author-shell .product-builder__structure-lesson:hover .product-builder__structure-actions, .workspace-body .product-author-shell .product-builder__structure-lesson:focus-within .product-builder__structure-actions { opacity: 1; }
.workspace-body .product-author-shell .product-builder__structure-actions form, .workspace-body .product-author-shell .product-builder__module-actions form { margin: 0; }
.workspace-body .product-author-shell .product-builder__structure .product-builder__icon { background: transparent; border-color: transparent; color: var(--product-muted); height: 1.6rem; width: 1.6rem; }
.workspace-body .product-author-shell .product-builder__structure .product-builder__icon:hover, .workspace-body .product-author-shell .product-builder__structure .product-builder__icon:focus-visible { background: rgba(75,102,65,.1); border-color: rgba(75,102,65,.16); color: var(--product-green); }
.workspace-body .product-author-shell .product-builder__module-settings { border-top: 1px solid var(--product-border); margin: .6rem 0 .7rem; padding-top: .6rem; }
.workspace-body .product-author-shell .product-builder__module-settings summary { color: var(--product-green); cursor: pointer; font-size: .74rem; font-weight: 650; }
.workspace-body .product-author-shell .product-builder__module-settings form { align-items: end; display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .6rem; }
.workspace-body .product-author-shell .product-builder__module-settings label { color: var(--product-muted); display: grid; flex: 1 1 10rem; font-size: .7rem; gap: .25rem; }
.workspace-body .product-author-shell .product-builder__module-settings input { min-width: 0; width: 100%; }
.workspace-body .product-author-shell .product-builder__module-settings p { color: var(--product-muted); font-size: .72rem; line-height: 1.35; margin: 0; }
.workspace-body .product-author-shell .product-builder__move { align-items: center; }
.workspace-body .product-author-shell .product-builder__move > p { color: var(--product-muted); flex: 1 0 100%; font-size: .72rem; margin: 0; }
.workspace-body .product-author-shell .product-builder__move form { margin: 0; }
.workspace-body .product-author-shell .product-builder__item { border-left: 3px solid transparent; border-radius: 5px; font-size: .82rem; margin: .16rem 0; padding: .65rem .6rem; }
.workspace-body .product-author-shell .product-builder__item.is-selected { background: rgba(75,102,65,.12); border-left-color: var(--product-green); color: var(--product-green); font-weight: 650; }
.workspace-body .product-author-shell .product-builder__item:hover { background: rgba(75,102,65,.07); color: var(--product-green); }
.workspace-body .product-author-shell .product-builder__item-canvas { background: var(--product-surface); border-color: var(--product-border); border-radius: 10px; min-height: 36rem; padding: 1.65rem; }
.workspace-body .product-author-shell .product-builder__empty-canvas { margin: 8rem auto; }
.workspace-body .product-author-shell .product-builder__empty-canvas h2, .workspace-body .product-author-shell .product-builder__item-header h2 { font-size: 1.55rem; }
.workspace-body .product-author-shell .product-builder__rename, .workspace-body .product-author-shell .product-builder__move { background: rgba(237,233,223,.45); border-top: 0; border-radius: 7px; margin-top: 1rem; padding: .85rem; }
.workspace-body .product-author-shell .product-builder__blocks { margin-top: 1.5rem; padding-top: 1.35rem; }
.workspace-body .product-author-shell .product-builder__block { border-left-color: var(--product-accent); border-radius: 7px; gap: .85rem; margin-top: .65rem; padding: .85rem .95rem; }
.workspace-body .product-author-shell .product-builder__block.is-selected { border-color: var(--product-green); box-shadow: 0 0 0 2px rgba(75,102,65,.12); }
.workspace-body .product-author-shell .product-builder__block-actions { align-items: flex-start; flex-wrap: wrap; justify-content: flex-end; max-width: 13rem; }
.workspace-body .product-author-shell .product-builder__text-action { color: var(--product-green); font-size: .72rem; font-weight: 650; }
.workspace-body .product-author-shell .product-builder__add-block { margin-top: 1.25rem; padding-top: 1rem; }
.workspace-body .product-author-shell .product-builder__add-block summary { background: var(--product-alt); border-radius: 6px; display: inline-block; padding: .65rem .78rem; }
.workspace-body .product-author-shell .product-builder__chooser { gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.workspace-body .product-author-shell .product-builder__chooser form { background: rgba(237,233,223,.45); border-radius: 7px; padding: .9rem; }
.workspace-body .product-author-shell .product-builder__block-editor { background: rgba(75,102,65,.07); border-radius: 8px; padding: 1.15rem; }
.workspace-body .product-public-builder__main { padding: 3rem 3.5rem 5rem; }
.workspace-body .product-public-builder__main > .product-home-identity { margin: 0 auto 1.5rem; max-width: 70rem; }
.workspace-body .product-public-builder__meta { margin: 0 auto 1.25rem; max-width: 70rem; min-height: 0; }
.workspace-body .product-public-builder__meta .workspace-form { max-width: none; }
.workspace-body .product-public-builder__layout { display: grid; gap: 1.25rem; grid-template-columns: minmax(15rem,.72fr) minmax(0,1.55fr); margin: 0 auto; max-width: 70rem; }
.workspace-body .product-public-builder__blocks { background: var(--product-alt); border: 1px solid var(--product-border); border-radius: 9px; padding: 1rem; }
.workspace-body .product-public-builder__blocks > header { border-bottom: 1px solid var(--product-border); padding: .15rem .15rem 1rem; }
.workspace-body .product-public-builder__blocks h2 { font-family: Outfit, Inter, sans-serif; font-size: .82rem; font-weight: 700; letter-spacing: .08em; margin: 0; text-transform: uppercase; }
.workspace-body .product-public-builder__blocks header p { color: var(--product-muted); font-size: .77rem; line-height: 1.45; margin: .45rem 0 0; }
.workspace-body .product-public-block { background: transparent; border-left: 3px solid transparent; border-radius: 6px; display: grid; gap: .45rem; margin-top: .55rem; padding: .65rem .55rem; }
.workspace-body .product-public-block.is-selected { background: rgba(75,102,65,.1); border-left-color: var(--product-green); }
.workspace-body .product-public-block > a { align-items: center; color: var(--product-text); display: flex; font-size: .82rem; justify-content: space-between; text-decoration: none; }
.workspace-body .product-public-block > a span { color: var(--product-muted); font-size: .72rem; }
.workspace-body .product-public-block__hint { color: var(--product-muted); font-size: .72rem; line-height: 1.4; margin: -.1rem 0 0; }
.workspace-body .product-public-block__actions { display: flex; flex-wrap: wrap; gap: .4rem; }
.workspace-body .product-public-block__actions form { margin: 0; }
.workspace-body .product-public-block__actions button { background: transparent; border: 0; color: var(--product-green); cursor: pointer; font: 600 .7rem Outfit, Inter, sans-serif; padding: 0; }
.workspace-body .product-public-builder .product-builder__add-block { border-top: 1px solid var(--product-border); margin-top: .8rem; padding-top: .8rem; }
.workspace-body .product-public-builder .product-builder__add-grid { display: grid; gap: .5rem; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: .7rem; }
.workspace-body .product-public-builder .product-builder__quiet { background: var(--product-surface); border: 1px solid var(--product-border); border-radius: 6px; color: var(--product-text); cursor: pointer; font: 600 .75rem Outfit, Inter, sans-serif; min-height: 2.5rem; padding: .5rem; text-align:left; width: 100%; }
.workspace-body .product-public-builder .product-builder__quiet strong, .workspace-body .product-public-builder .product-builder__quiet small { display:block; }.workspace-body .product-public-builder .product-builder__quiet small { color:var(--product-muted); font:400 .7rem/1.35 Inter,sans-serif; margin-top:.25rem; }
.workspace-body .product-public-builder__editor .product-home-card { min-height: 22rem; }
.public-product-page { --public-bg:#f7f2e9; --public-surface:#fffdfa; --public-text:#29241c; --public-muted:#776e62; --public-green:#4b6641; --public-border:rgba(41,36,28,.12); background:var(--public-bg); color:var(--public-text); margin:0 auto; max-width:100%; min-height:100vh; padding:5.5rem max(1.5rem,calc((100vw - 62rem)/2)) 6rem; }
.public-product-page__hero, .public-product-page__body { margin:0 auto; max-width:48rem; }
.public-product-page__hero { border-bottom:1px solid var(--public-border); padding-bottom:2.75rem; }
.public-product-page .eyebrow { color:var(--public-muted); font:700 .7rem/1 Outfit,Inter,sans-serif; letter-spacing:.12em; margin:0 0 1rem; }
.public-product-page h1, .public-product-page h2 { font-family:Lora,Georgia,serif; font-weight:500; letter-spacing:0; }
.public-product-page h1 { font-size:clamp(2.4rem,5vw,4.6rem); line-height:1.06; margin:0; }
.public-product-page__subtitle { color:var(--public-muted); font-size:1.2rem; line-height:1.55; margin:1.25rem 0 0; }
.public-product-page__body { display:grid; gap:2rem; padding-top:2.5rem; }
.public-product-page__text { color:var(--public-text); font-size:1.06rem; line-height:1.75; }
.public-product-page__text > :first-child { margin-top:0; }.public-product-page__text > :last-child { margin-bottom:0; }
.public-product-page__accent { background:#e7efe7; border:0; border-radius:8px; color:#34503a; font-family:Lora,Georgia,serif; font-size:1.45rem; line-height:1.45; margin:0; padding:2rem; text-align:center; }
.public-product-page__image { margin:0; }.public-product-page__image.is-wide { margin-left:-5rem; margin-right:-5rem; }.public-product-page__image img { border-radius:9px; display:block; max-width:100%; width:100%; }.public-product-page__image.is-ratio-16-9,.public-product-page__image.is-ratio-4-3,.public-product-page__image.is-ratio-1-1 { overflow:hidden; }.public-product-page__image.is-ratio-16-9 { aspect-ratio:16 / 9; }.public-product-page__image.is-ratio-4-3 { aspect-ratio:4 / 3; }.public-product-page__image.is-ratio-1-1 { aspect-ratio:1; }.public-product-page__image.is-ratio-16-9 img,.public-product-page__image.is-ratio-4-3 img,.public-product-page__image.is-ratio-1-1 img { height:100%; object-fit:cover; }.public-product-page__image figcaption { color:var(--public-muted); font-size:.8rem; margin-top:.6rem; }
.workspace-body .product-public-builder__availability { background:#f5f0df; border:1px solid #dfce97; border-radius:6px; color:#63531d; font-size:.85rem; margin:0 auto 1rem; max-width:70rem; padding:.8rem 1rem; }
.workspace-body .product-public-builder__generated { display:grid; gap:1rem; }.workspace-body .product-public-builder__generated p { color:var(--product-muted); line-height:1.5; margin:0; }.workspace-body .product-public-builder__generated .button { justify-self:start; }
.workspace-body .product-public-builder__system-offers { display:grid; gap:.5rem; list-style:none; margin:0; max-width:36rem; padding:0; }.workspace-body .product-public-builder__system-offers li { align-items:baseline; border-top:1px solid var(--product-line); display:grid; gap:1rem; grid-template-columns:minmax(0,1fr) auto; padding-top:.5rem; }.workspace-body .product-public-builder__system-offers li > * { min-width:0; }.workspace-body .product-public-builder__system-offers span, .workspace-body .product-public-builder__system-empty, .workspace-body .product-public-builder__system-note { color:var(--product-muted); font-size:.9rem; }.workspace-body .product-public-builder__system-offers span { text-align:right; }.workspace-body .product-public-builder__system-empty { border-left:2px solid var(--product-line); padding-left:.75rem; }@media (max-width:540px) { .workspace-body .product-public-builder__system-offers li { gap:.2rem; grid-template-columns:minmax(0,1fr); }.workspace-body .product-public-builder__system-offers span { text-align:left; } }
.workspace-body .product-public-builder__system-sections { margin-top:1rem; }.workspace-body .product-public-builder__system-sections h3 { font-size:.95rem; margin:.2rem 0 .45rem; }.workspace-body .product-public-builder__system-sections p:not(.eyebrow) { color:var(--product-muted); font-size:.8rem; line-height:1.5; margin:0 0 .65rem; }.workspace-body .product-public-builder__system-sections a { color:var(--product-green); font-size:.8rem; font-weight:600; }
.workspace-body .product-public-builder .visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.workspace-body .product-public-builder__pricing-form { display:grid; gap:1rem; }.workspace-body .product-public-builder__pricing-offer, .workspace-body .product-public-builder__pricing-benefits { border:1px solid var(--product-border); border-radius:6px; display:grid; gap:.85rem; margin:0; min-width:0; padding:1rem; }.workspace-body .product-public-builder__pricing-offer > legend, .workspace-body .product-public-builder__pricing-benefits > legend { font-size:.88rem; font-weight:700; padding:0 .25rem; }.workspace-body .product-public-builder__pricing-system-summary { border-left:2px solid var(--product-line); display:grid; gap:.25rem; padding-left:.75rem; }.workspace-body .product-public-builder__pricing-system-summary p { color:var(--product-muted); font-size:.85rem; line-height:1.4; margin:0; }.workspace-body .product-public-builder__pricing-system-summary strong { color:var(--product-text); }.workspace-body .product-public-builder__text-button { background:transparent; border:0; color:var(--product-green); cursor:pointer; font:inherit; padding:0; text-decoration:underline; }.workspace-body .product-public-builder__pricing-benefit { align-items:end; display:grid; gap:.5rem; grid-template-columns:minmax(0,1fr) auto; }.workspace-body .product-public-builder__pricing-benefit .field { margin:0; }.workspace-body .product-public-builder__pricing-benefit-actions { display:flex; flex-wrap:wrap; gap:.3rem; }.workspace-body .product-public-builder__pricing-benefit-actions button { min-height:2.2rem; }.workspace-body .product-public-builder__pricing-benefit-actions button[disabled] { opacity:.45; }@media (max-width:540px) { .workspace-body .product-public-builder__pricing-benefit { align-items:stretch; grid-template-columns:minmax(0,1fr); }.workspace-body .product-public-builder__pricing-benefit-actions button { flex:1 1 auto; } }
.workspace-body .product-public-builder__hero-form { max-width: none; }
.workspace-body .product-public-builder__image-actions { align-items:center; display:flex; flex-wrap:wrap; gap:.55rem; margin:.75rem 0; }
.js .workspace-body .product-public-builder__image-actions [data-hero-upload-file] { height:1px; margin:-1px; opacity:0; overflow:hidden; position:absolute; width:1px; }
.workspace-body .product-public-builder__image-actions .product-public-builder__text-button { font-size:.8rem; }
.workspace-body .product-public-builder__hero-system { border-left: 2px solid var(--product-green); margin: 1rem 0; padding-left: .8rem; }
.workspace-body .product-public-builder__hero-system h3 { font-size: .9rem; margin: 0 0 .35rem; }
.workspace-body .product-public-builder__hero-system p, .workspace-body .product-public-builder__hero-system li { color: var(--product-muted); font-size: .8rem; line-height: 1.5; }
.workspace-body .product-public-builder__hero-system p { margin: 0; }
.workspace-body .product-public-builder__hero-system ul { margin: .45rem 0 0; padding-left: 1.1rem; }
.workspace-body .product-public-builder__hero-preview { background: #F5F0E8; border: 1px solid #E0DBD0; margin: 1rem 0; padding: 1rem; }
.workspace-body .product-public-builder__hero-preview > .eyebrow { margin: 0 0 .75rem; }
.workspace-body .product-public-builder__hero-preview-grid { align-items: start; display: grid; gap: 1.25rem; grid-template-columns: minmax(0, 1fr) minmax(10rem, .55fr); }
.workspace-body .product-public-builder__hero-preview h3 { color: #1f2937; font-family: "DM Serif Display", Georgia, serif; font-size: clamp(1.6rem, 3vw, 2.3rem); font-weight: 400; line-height: 1.08; margin: 0; }
.workspace-body .product-public-builder__hero-preview-grid > div > p { color: #4A4540; font-size: .82rem; line-height: 1.5; margin: .65rem 0 0; }
.workspace-body .product-public-builder__hero-preview-label { color: #2D5A52 !important; font-size: .65rem !important; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.workspace-body .product-public-builder__hero-preview-author { border-bottom: 1px solid #E0DBD0; padding-bottom: .65rem; }
.workspace-body .product-public-builder__hero-preview-identity { align-items: center; display: flex; gap: .55rem; margin: .8rem 0; min-width: 0; }
.workspace-body .product-public-builder__hero-preview-identity[hidden], .workspace-body .product-public-builder__hero-preview-identity.is-empty { display: none; }
.workspace-body .product-public-builder__hero-preview-identity img { border-radius: 50%; flex: 0 0 32px; height: 32px; object-fit: cover; width: 32px; }
.workspace-body .product-public-builder__hero-preview-identity strong, .workspace-body .product-public-builder__hero-preview-identity small { display: block; overflow-wrap: anywhere; }
.workspace-body .product-public-builder__hero-preview-identity strong { color: #1f2937; font-size: .78rem; font-weight: 600; }
.workspace-body .product-public-builder__hero-preview-identity small { color: #8A8580; font-size: .68rem; line-height: 1.35; margin-top: .1rem; }
.workspace-body .product-public-builder__hero-identity-fields { border: 1px solid var(--product-border); margin: 1rem 0; padding: .75rem; }
.workspace-body .product-public-builder__hero-identity-fields > legend { color: var(--product-muted); font-size: .75rem; font-weight: 600; }
.workspace-body .product-public-builder__hero-preview-facts { color: #6B7570 !important; font-size: .7rem !important; }
.workspace-body .product-public-builder__hero-preview .button { font-size: .72rem; margin-top: .8rem; pointer-events: none; }
.workspace-body .product-public-builder__hero-preview figure { margin: 0; min-width: 0; position: relative; }
.workspace-body .product-public-builder__hero-preview figure > img { aspect-ratio: 4 / 5; border-radius: 8px; display: block; object-fit: cover; width: 100%; }
.workspace-body .product-public-builder__hero-preview figcaption { background: rgba(245,240,232,.96); border: 1px solid #E0DBD0; border-radius: 6px; bottom: .55rem; left: .55rem; padding: .6rem; position: absolute; right: .55rem; }
.workspace-body .product-public-builder__hero-preview figcaption strong, .workspace-body .product-public-builder__hero-preview figcaption small { display: block; }
.workspace-body .product-public-builder__hero-preview figcaption strong { font: italic .76rem/1.3 "DM Serif Display", Georgia, serif; }
.workspace-body .product-public-builder__hero-preview figcaption small { color: var(--product-muted); font-size: .65rem; margin-top: .35rem; }
@media (max-width: 540px) { .workspace-body .product-public-builder__hero-preview-grid { grid-template-columns: minmax(0, 1fr); }.workspace-body .product-public-builder__hero-preview figure { max-width: 19rem; }.workspace-body .product-public-builder__hero-preview h3 { font-size: 1.8rem; } }
.workspace-body .product-public-builder__pricing-recommendation { border:1px solid var(--product-border); border-radius:6px; display:grid; gap:.85rem; margin:1rem 0; padding:1rem; }.workspace-body .product-public-builder__pricing-recommendation fieldset { border:0; display:grid; gap:.65rem; margin:0; min-width:0; padding:0; }.workspace-body .product-public-builder__pricing-recommendation legend { font-size:.88rem; font-weight:700; padding:0; }.workspace-body .product-public-builder__pricing-recommendation p { color:var(--product-muted); font-size:.85rem; line-height:1.45; margin:0; }.workspace-body .product-public-builder__pricing-recommendation label { align-items:flex-start; color:var(--product-text); display:flex; font-size:.9rem; gap:.55rem; line-height:1.4; min-width:0; }.workspace-body .product-public-builder__pricing-recommendation input { flex:0 0 auto; margin:.18rem 0 0; }
.workspace-body .product-public-builder__faq { display:grid; gap:.8rem; }.workspace-body .product-public-builder__faq-entry { border:1px solid var(--product-border); border-radius:7px; margin:0; padding:.75rem; position:relative; }.workspace-body .product-public-builder__faq-entry legend { color:var(--product-muted); font-size:.72rem; font-weight:650; padding:0 .25rem; }.workspace-body .product-public-builder__faq-remove { background:transparent; border:0; color:#9a5146; cursor:pointer; font:600 .72rem Outfit,Inter,sans-serif; padding:0; position:absolute; right:.75rem; top:.5rem; }.workspace-body .product-public-builder__faq-remove:disabled { color:var(--product-muted); cursor:not-allowed; }.workspace-body .product-public-builder__rich-form { max-width:none; }
.workspace-body .product-public-builder__editorial { display:grid; gap:1rem; }.workspace-body .product-public-builder__editorial-options { border:0; margin:0; padding:0; }.workspace-body .product-public-builder__editorial-options legend { color:var(--product-muted); font-size:.78rem; font-weight:650; margin-bottom:.45rem; }.workspace-body .product-public-builder__segmented { display:flex; flex-wrap:wrap; gap:.5rem; }.workspace-body .product-public-builder__segmented label { align-items:center; background:#fff; border:1px solid var(--product-border); border-radius:6px; cursor:pointer; display:inline-flex; font-size:.8rem; gap:.4rem; padding:.5rem .65rem; }.workspace-body .product-public-builder__segmented input { accent-color:var(--product-green); }.workspace-body .product-public-builder__editorial-columns { display:grid; gap:1rem; grid-template-columns:repeat(2,minmax(0,1fr)); }.workspace-body .product-builder__rich-link { align-items:end; display:flex; gap:.55rem; margin:-.1rem 0 .35rem; }.workspace-body .product-builder__rich-link .field { flex:1; }.workspace-body .product-builder__rich-link .button { flex:0 0 auto; margin-bottom:0; }
.workspace-body .product-public-builder [data-editorial-one-column][hidden], .workspace-body .product-public-builder [data-editorial-two-columns][hidden] { display:none !important; }
.public-product-page__video { margin:0; }.public-product-page__video iframe { aspect-ratio:16/9; border:0; border-radius:9px; display:block; width:100%; }.public-product-page__video p { color:var(--public-muted); font-size:.85rem; margin:.6rem 0 0; }
.public-product-page__author { align-items:center; display:flex; gap:1rem; }.public-product-page__author > span { align-items:center; background:#8a6b52; border-radius:50%; color:#fff; display:flex; font:700 1rem Outfit,Inter,sans-serif; height:3.25rem; justify-content:center; width:3.25rem; }.public-product-page__author h2 { font-family:Outfit,Inter,sans-serif; font-size:1rem; font-weight:650; margin:0; }.public-product-page__author p { color:var(--public-muted); margin:.25rem 0 0; }
.public-product-page__faq h2,.public-product-page__access h2 { font-size:1.7rem; margin:0 0 1rem; }.public-product-page__faq details { border-top:1px solid var(--public-border); padding:1rem 0; }.public-product-page__faq details:last-child { border-bottom:1px solid var(--public-border); }.public-product-page__faq summary { cursor:pointer; font-weight:650; }.public-product-page__faq p { color:var(--public-muted); line-height:1.6; margin:.8rem 0 0; }
.public-product-page__options { display:grid; gap:.75rem; }.public-product-page__options article { align-items:center; background:var(--public-surface); border:1px solid var(--public-border); border-radius:8px; display:grid; gap:1rem; grid-template-columns:minmax(0,1fr) auto auto; padding:1rem 1.15rem; }.public-product-page__options h3 { font:650 1rem Outfit,Inter,sans-serif; margin:0; }.public-product-page__options p { color:var(--public-muted); font-size:.82rem; margin:.3rem 0 0; }.public-product-page__options strong { font-size:1rem; white-space:nowrap; }.public-product-page__cta { text-align:center; }.public-product-page__cta .button { min-width:12rem; }.public-product-page__preview { align-items:center; background:#e7efe7; border:1px solid #bfd4bf; color:#34503a; display:flex; font-size:.85rem; gap:.75rem; justify-content:center; margin:0 0 1.5rem; padding:.8rem 1rem; text-align:center; }.public-product-page__preview a { color:inherit; font-weight:700; }

/* Public Product Landing V1: compose authored presentation blocks without changing their order or meaning. */
.public-product-page {
    --public-bg: #f5f2ec;
    --public-surface: #fcfbf8;
    --public-text: #242a27;
    --public-muted: #6d746d;
    --public-green: #315443;
    --public-green-deep: #234235;
    --public-warm: #a86a4a;
    --public-border: rgba(36, 42, 39, .13);
    background: var(--public-bg);
    padding: 7rem max(1.5rem, calc((100vw - 76rem) / 2)) 7rem;
}

.public-product-page__hero,
.public-product-page__body {
    margin: 0 auto;
    max-width: 68rem;
}

.public-product-page__hero {
    border-bottom: 1px solid var(--public-border);
    padding: 2rem 0 4.5rem;
}

.public-product-page__hero-content { max-width: 51rem; }
.public-product-page .eyebrow { color: var(--public-warm); font: 700 .72rem/1 Outfit, Inter, sans-serif; letter-spacing: .08em; margin: 0 0 1.15rem; }
.public-product-page h1,
.public-product-page h2 { color: var(--public-text); font-family: Lora, Georgia, serif; font-weight: 500; }
.public-product-page h1 { font-size: 4rem; line-height: 1.08; margin: 0; }
.public-product-page h2 { font-size: 2rem; line-height: 1.2; }
.public-product-page__subtitle { color: var(--public-muted); font-size: 1.25rem; line-height: 1.62; margin: 1.5rem 0 0; max-width: 42rem; }

.public-product-page__body { display: grid; gap: 4.5rem; padding-top: 4.5rem; }
.public-product-page__section { margin: 0 auto; max-width: 48rem; width: 100%; }
.public-product-page__text { color: var(--public-text); font-size: 1.0625rem; line-height: 1.8; }
.public-product-page__text > :first-child { margin-top: 0; }
.public-product-page__text > :last-child { margin-bottom: 0; }
.public-product-page__text h2,
.public-product-page__text h3 { line-height: 1.28; margin: 2.8rem 0 1rem; }
.public-product-page__text h2 { font-size: 2rem; }
.public-product-page__text h3 { font-family: Outfit, Inter, sans-serif; font-size: 1.2rem; font-weight: 650; }

.public-product-page__accent { background: #e2ebe2; border: 1px solid rgba(49, 84, 67, .12); border-radius: 8px; color: var(--public-green-deep); max-width: 58rem; padding: 2.8rem 3rem; text-align: center; }
.public-product-page__accent blockquote { font-family: Lora, Georgia, serif; font-size: 1.65rem; line-height: 1.5; margin: 0; }

.public-product-page__image { max-width: 58rem; }
.public-product-page__image.is-wide { max-width: 68rem; }
.public-product-page__image img { border-radius: 8px; box-shadow: 0 18px 42px rgba(36, 42, 39, .09); }
.public-product-page__image figcaption { color: var(--public-muted); font-size: .8125rem; line-height: 1.5; margin-top: .75rem; }
.public-product-page__video { max-width: 58rem; }
.public-product-page__video iframe { border-radius: 8px; box-shadow: 0 18px 42px rgba(36, 42, 39, .09); }
.public-product-page__video p { font-size: .8125rem; line-height: 1.5; margin-top: .75rem; }

.public-product-page__author { align-items: center; border-top: 1px solid var(--public-border); border-bottom: 1px solid var(--public-border); gap: 1.25rem; padding: 1.5rem 0; }
.public-product-page__author > span { background: var(--public-green); height: 3.5rem; width: 3.5rem; }
.public-product-page__author h2 { font-family: Outfit, Inter, sans-serif; font-size: 1rem; font-weight: 650; }
.public-product-page__author p { font-size: .9375rem; line-height: 1.55; }

.public-product-page__faq { max-width: 52rem; }
.public-product-page__faq h2 { margin: 0 0 1.5rem; }
.public-product-page__faq details { padding: 1.2rem 0; }
.public-product-page__faq summary { color: var(--public-text); font-size: 1rem; line-height: 1.5; }
.public-product-page__faq p { font-size: .9375rem; line-height: 1.65; }

.public-product-page__access { background: var(--public-green-deep); border-radius: 8px; color: #fff; max-width: 68rem; padding: 3rem; }
.public-product-page__access .eyebrow { color: rgba(255, 255, 255, .62); }
.public-product-page__access h2 { color: #fff; margin: 0; }
.public-product-page__access-intro { border-bottom: 1px solid rgba(255, 255, 255, .18); margin-bottom: 1.5rem; padding-bottom: 1.5rem; }
.public-product-page__access-unavailable { color: rgba(255, 255, 255, .72); margin: 0; }
.public-product-page__options { gap: .9rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.public-product-page__access.is-single .public-product-page__options { grid-template-columns: minmax(0, 1fr); max-width: 34rem; }
.public-product-page__options .public-product-page__option { align-items: start; background: rgba(255, 255, 255, .97); border: 0; border-radius: 7px; color: var(--public-text); display: grid; gap: 1.4rem; grid-template-columns: minmax(0, 1fr) auto; padding: 1.4rem; }
.public-product-page__options .public-product-page__option .button { grid-column: 1 / -1; justify-self: start; }
.public-product-page__option h3 { font-size: 1.08rem; line-height: 1.4; }
.public-product-page__option p { font-size: .875rem; line-height: 1.5; }
.public-product-page__option strong { color: var(--public-green-deep); font-size: 1.15rem; }

.public-product-page__cta { max-width: 48rem; padding-bottom: .5rem; text-align: left; }
.public-product-page__cta > div { border-left: 3px solid var(--public-warm); padding-left: 1.25rem; }
.public-product-page__cta .button { background: var(--public-green); border-color: var(--public-green); min-width: 13rem; }
.public-product-page__cta .button:hover,
.public-product-page__cta .button:focus-visible { background: var(--public-green-deep); border-color: var(--public-green-deep); }
.public-product-page__preview { border-radius: 6px; margin: 0 auto 1.5rem; max-width: 68rem; }
@media (max-width: 760px) { .workspace-body .product-public-builder__main { padding:1.5rem 1rem 3rem; }.workspace-body .product-public-builder__layout { grid-template-columns:1fr; }.workspace-body .product-public-builder__editor { min-width:0; }.public-product-page { padding:4rem 1.25rem 5rem; }.public-product-page__hero { padding-bottom:2rem; }.public-product-page__subtitle { font-size:1.05rem; }.public-product-page__accent { font-size:1.2rem; padding:1.5rem; }.public-product-page__image.is-wide { margin-left:0; margin-right:0; }.public-product-page__options article { align-items:start; grid-template-columns:1fr auto; }.public-product-page__options article .button { grid-column:1 / -1; width:100%; } }

@media (max-width: 760px) {
    .public-product-page { padding: 5.25rem 1.125rem 4rem; }
    .public-product-page__hero { padding: 1.25rem 0 3rem; }
    .public-product-page h1 { font-size: 2.6rem; line-height: 1.12; }
    .public-product-page h2 { font-size: 1.75rem; }
    .public-product-page__subtitle { font-size: 1.0625rem; line-height: 1.58; margin-top: 1.15rem; }
    .public-product-page__body { gap: 3rem; padding-top: 3rem; }
    .public-product-page__text { font-size: 1rem; line-height: 1.75; }
    .public-product-page__text h2 { font-size: 1.7rem; margin-top: 2.25rem; }
    .public-product-page__accent { padding: 1.7rem 1.25rem; }
    .public-product-page__accent blockquote { font-size: 1.3rem; }
    .public-product-page__image.is-wide { margin-left: 0; margin-right: 0; }
    .public-product-page__access { border-radius: 7px; margin: 0; padding: 1.5rem 1.15rem; }
    .public-product-page__access-intro { margin-bottom: 1.15rem; padding-bottom: 1.15rem; }
    .public-product-page__options,
    .public-product-page__access.is-single .public-product-page__options { grid-template-columns: 1fr; max-width: none; }
    .public-product-page__options .public-product-page__option { gap: 1rem; grid-template-columns: minmax(0, 1fr) auto; padding: 1.15rem; }
    .public-product-page__options .public-product-page__option .button { justify-self: stretch; text-align: center; width: 100%; }
    .public-product-page__cta > div { padding-left: 1rem; }
    .public-product-page__cta .button { min-width: 0; width: 100%; }
}

@media (max-width: 899px) {
    .workspace-body:has(.product-author-shell) { padding-bottom: 0; }
    .workspace-body .product-author-shell__top { align-items: start; gap: .5rem 1rem; grid-template-columns: minmax(0, 1fr) auto; min-height: 0; padding: .85rem 1rem; }
    .workspace-body .product-author-shell__back { grid-column: 1 / -1; }
    .workspace-body .product-author-shell__identity h2 { font-size: .9rem; }
    .workspace-body .product-author-shell__actions { gap: .35rem; }
    .workspace-body .product-author-shell__status, .workspace-body .product-author-shell__secondary { display: none; }
    .workspace-body .product-author-shell__primary { min-height: 2.15rem; padding: .5rem .65rem; }
    .workspace-body .product-author-shell__body { display: block; min-height: 0; }
    .workspace-body .product-author-shell__sidebar { overflow-x: visible; padding: .6rem .75rem; }
    .workspace-body .product-author-nav { display: grid; gap: .35rem; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; }
    .workspace-body .product-author-nav__item { font-size: .68rem; justify-content: center; padding: .55rem .35rem; text-align: center; white-space: normal; }
    .workspace-body .product-author-shell .product-home-shell { gap: 1.25rem; padding: 2rem 1.25rem 3rem; }
    .workspace-body .product-author-shell .product-home-identity h1 { font-size: 2.15rem; }
    .workspace-body .product-author-shell .product-home-overview { grid-template-columns: 1fr; }
    .workspace-body .product-author-shell .product-home-card--content { grid-column: auto; }
    .workspace-body .product-author-shell .product-builder { padding: 1.7rem 1.15rem 3rem; }
    .workspace-body .product-author-shell .product-builder__top, .workspace-body .product-author-shell .product-builder__intro { align-items: stretch; display: grid; }
    .workspace-body .product-author-shell .product-builder__top { grid-template-columns: minmax(0, 1fr); }
    .workspace-body .product-author-shell .product-builder__top > p { max-width: none; }
    .workspace-body .product-author-shell .product-builder__create { width: 100%; }
    .workspace-body .product-author-shell .product-builder__create summary { width: max-content; }
    .workspace-body .product-author-shell .product-builder__workspace { grid-template-columns: 1fr; }
    .workspace-body .product-author-shell .product-builder__structure { max-height: 17rem; overflow-y: auto; }
    .workspace-body .product-author-shell .product-builder__item-canvas { min-height: 25rem; min-width: 0; padding: 1.05rem; width: 100%; }
    .workspace-body .product-author-shell .product-builder__block-actions { max-width: none; }
    .workspace-body .product-author-shell .product-builder__move { box-sizing: border-box; grid-template-columns: minmax(0, 1fr) 5rem; min-width: 0; width: 100%; }
    .workspace-body .product-author-shell .product-builder__move label, .workspace-body .product-author-shell .product-builder__move input { max-width: 100%; min-width: 0; width: 100%; }
    .workspace-body .product-author-shell .product-builder__chooser { grid-template-columns: 1fr; min-width: 0; }
    .workspace-body .product-author-shell .product-builder__chooser form, .workspace-body .product-author-shell .product-builder__chooser label { box-sizing: border-box; max-width: 100%; min-width: 0; width: 100%; }
    .workspace-body .product-author-shell .product-builder__chooser input, .workspace-body .product-author-shell .product-builder__chooser select { max-width: 100%; min-width: 0; width: 100%; }
}

/* Practitioner client directory: compact workspace data surface, not a full-width form. */
.workspace-body .practitioner-clients__header { margin-bottom: 1.25rem; }
.workspace-body .practitioner-clients { background: #fdfcf8; border: 1px solid #ddd6cb; border-radius: 8px; box-shadow: none; display: grid; gap: 1rem; padding: 1.25rem 1.4rem; }
.workspace-body .practitioner-clients__states { align-items: center; border-bottom: 1px solid #e2ddd4; display: flex; gap: .25rem; padding-bottom: .65rem; }
.workspace-body .practitioner-clients__states a { border-radius: 5px; color: #776e62; font: 600 .8125rem/1 Outfit, Inter, sans-serif; padding: .5rem .7rem; text-decoration: none; }
.workspace-body .practitioner-clients__states a[aria-current="page"] { background: #1d355d; color: #fff; }
.workspace-body .practitioner-clients__states a:hover { background: #f1eee7; color: #1d355d; }
.workspace-body .practitioner-clients__states a[aria-current="page"]:hover { background: #162a4a; color: #fff; }
.workspace-body .practitioner-clients__search { align-items: end; gap: .6rem; max-width: 42rem; }
.workspace-body .practitioner-clients__search .field { color: #3c372f; font-size: .75rem; font-weight: 650; gap: .35rem; }
.workspace-body .practitioner-clients__search .field__input { background: #fff; border-color: #d6cfc4; border-radius: 6px; font-size: .9375rem; min-height: 2.5rem; padding: .55rem .7rem; }
.workspace-body .practitioner-clients__search .button { font-size: .8125rem; min-height: 2.5rem; padding: .5rem .95rem; }
.workspace-body .practitioner-clients__count { color: #776e62; font-size: .8125rem; margin: -.25rem 0 0; }
.workspace-body .practitioner-clients__list { border-top: 0; display: grid; gap: .65rem; }
.workspace-body .practitioner-clients__row { background: #f8f6f0; border: 1px solid #e3ddd4; border-radius: 7px; gap: 1.25rem; grid-template-columns: minmax(13rem, 1fr) minmax(22rem, 1.65fr); padding: 1rem 1.1rem; }
.workspace-body .practitioner-clients__row h2 { color: #26221a; font-family: Lora, Georgia, serif; font-size: 1.1rem; font-weight: 500; margin: 0 0 .2rem; }
.workspace-body .practitioner-clients__row p { color: #5f584f; font-size: .8125rem; line-height: 1.4; margin: .15rem 0; overflow-wrap: anywhere; }
.workspace-body .practitioner-clients__id { color: #9b9388 !important; font-family: Outfit, Inter, sans-serif; font-size: .6875rem !important; }
.workspace-body .practitioner-clients__summary { gap: .8rem; }
.workspace-body .practitioner-clients__row dl { gap: .65rem 1rem; }
.workspace-body .practitioner-clients__row dl div { min-width: 6.5rem; }
.workspace-body .practitioner-clients__row dt { color: #9b9388; font-size: .6875rem; font-weight: 600; letter-spacing: .03em; margin-bottom: .15rem; text-transform: uppercase; }
.workspace-body .practitioner-clients__row dd { color: #3c372f; font-size: .8125rem; font-weight: 600; }
.workspace-body .practitioner-clients .button-row { gap: .45rem; }
.workspace-body .practitioner-clients .button { border-radius: 6px; font-size: .75rem; min-height: 2.3rem; padding: .45rem .7rem; white-space: nowrap; }
.workspace-body .practitioner-clients .button--secondary { border-color: #1d355d; color: #1d355d; }
.workspace-body .practitioner-clients .button--quiet { border-color: #d6cfc4; color: #776e62; }
@media (max-width: 899px) { .workspace-body .practitioner-clients { border-radius: 7px; gap: .85rem; padding: 1rem; } .workspace-body .practitioner-clients__header { margin-bottom: 1rem; } .workspace-body .practitioner-clients__search { gap: .5rem; } .workspace-body .practitioner-clients__search .button { width: 100%; } .workspace-body .practitioner-clients__row { gap: .85rem; padding: .9rem; } .workspace-body .practitioner-clients__summary { gap: .75rem; } .workspace-body .practitioner-clients__row dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } .workspace-body .practitioner-clients .button-row { flex-wrap: wrap; } .workspace-body .practitioner-clients .button-row .button, .workspace-body .practitioner-clients .button-row form { flex: 1 1 auto; } }

/* Client Product Experience V1: isolated, published Product shell. */
.product-experience-body { --product-bg:#f4f0e8; --product-surface:#fdfcf8; --product-alt:#ede9df; --product-text:#26221a; --product-muted:#776e62; --product-subtle:#a89f91; --product-green:#4b6641; --product-green-hover:#3c5234; --product-accent:#8a6b52; --product-border:rgba(38,34,26,.1); background:var(--product-bg); color:var(--product-text); font-family:Outfit,Inter,sans-serif; margin:0; min-height:100vh; }
.product-experience-body h1,.product-experience-body h2 { font-family:Lora,Georgia,serif; font-weight:500; letter-spacing:0; }
.product-experience-topbar { align-items:center; background:var(--product-surface); border-bottom:1px solid var(--product-border); box-sizing:border-box; display:flex; height:48px; justify-content:space-between; padding:0 24px; }
.product-experience-topbar__identity { align-items:baseline; display:flex; gap:12px; min-width:0; }
.product-experience-topbar__back { color:var(--product-green); font-size:.72rem; text-decoration:none; white-space:nowrap; }
.product-experience-topbar__title { color:var(--product-text); font-family:Lora,Georgia,serif; font-size:.9rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.product-experience-topbar__actions { align-items:center; display:flex; gap:14px; }
.product-experience-topbar__access { background:var(--product-alt); border-radius:20px; color:var(--product-muted); font-family:monospace; font-size:.66rem; padding:4px 10px; }
.product-experience-topbar__bell { color:var(--product-muted); font-size:1.25rem; line-height:1; text-decoration:none; transform:rotate(180deg); }
.product-experience-topbar__avatar { align-items:center; background:var(--product-accent); border-radius:50%; color:#fff; display:flex; font-size:.72rem; font-weight:600; height:30px; justify-content:center; text-decoration:none; width:30px; }
.product-library { box-sizing:border-box; margin:0 auto; max-width:1080px; min-height:calc(100vh - 48px); padding:56px 40px; }
.product-library__heading { border-bottom:1px solid var(--product-border); display:grid; gap:9px; padding-bottom:26px; }
.product-library__heading p,.product-library__card > p,.product-overview__meta { color:var(--product-subtle); font-family:monospace; font-size:.69rem; letter-spacing:.11em; margin:0; text-transform:uppercase; }
.product-library__heading h1 { font-size:clamp(2rem,4vw,3.25rem); margin:0; }
.product-library__heading span,.product-library__card > span { color:var(--product-muted); line-height:1.65; max-width:38rem; }
.product-library__grid { display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); margin-top:28px; }
.product-library__card,.product-library__empty { background:var(--product-surface); border:1px solid var(--product-border); border-radius:10px; display:grid; gap:12px; padding:22px; }
.product-library__card h2,.product-library__empty h2 { font-size:1.4rem; margin:0; }
.product-library__card small { color:var(--product-muted); }
.product-library__card a,.product-route__start { background:var(--product-green); border-radius:6px; color:#fff; font-size:.85rem; font-weight:500; justify-self:start; padding:10px 16px; text-decoration:none; }
.workspace-body .product-library { --product-surface:#fdfcf8; --product-border:rgba(38,34,26,.12); --product-text:#26221a; --product-muted:#776e62; --product-subtle:#938b80; --product-green:#1d355d; box-sizing:border-box; max-width:100%; min-height:0; padding:0; }
.workspace-body .product-library__heading { padding-bottom:1.1rem; }
.workspace-body .product-library__heading h1 { font-size:clamp(1.8rem,3vw,2.5rem); }
.workspace-body .product-library__grid { grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); }
.product-experience-shell { display:grid; grid-template-columns:272px minmax(0,1fr); min-height:calc(100vh - 48px); }
.product-route { background:var(--product-surface); border-right:1px solid var(--product-border); }
.product-route__top { border-bottom:1px solid var(--product-border); display:grid; gap:10px; padding:20px; }
.product-route__top p { color:var(--product-subtle); font-family:monospace; font-size:.64rem; letter-spacing:.13em; margin:0; }
.product-route__top strong { color:var(--product-muted); font-size:.82rem; font-weight:500; }
.product-route__top small { color:var(--product-subtle); font-size:.72rem; }
.product-route__start { box-sizing:border-box; margin-top:4px; text-align:center; width:100%; }
.product-route__modules details { border-bottom:1px solid var(--product-border); }
.product-route__modules summary { cursor:pointer; display:flex; font-size:.79rem; font-weight:500; justify-content:space-between; list-style:none; padding:12px 18px; }
.product-route__modules summary::-webkit-details-marker { display:none; }
.product-route__modules summary span { color:var(--product-subtle); font-family:monospace; font-size:.66rem; }
.product-route__modules a { align-items:flex-start; border-left:2px solid transparent; color:var(--product-muted); display:flex; font-size:.77rem; gap:9px; line-height:1.4; padding:7px 14px 7px 20px; text-decoration:none; }
.product-route__modules a i { border:1px solid rgba(38,34,26,.22); border-radius:50%; display:block; flex:0 0 13px; height:13px; margin-top:1px; width:13px; }
.product-route__modules a:hover,.product-route__modules a.is-current { background:rgba(75,102,65,.06); border-left-color:var(--product-green); color:var(--product-green); font-weight:500; }
.product-route__modules a.is-current i { background:var(--product-green); border:4px solid var(--product-green); box-shadow:inset 0 0 0 2px #fff; }
.product-experience-main { min-width:0; }
.product-overview,.product-lesson { margin:0 auto; max-width:680px; padding:58px 52px 96px; }
.product-overview__meta { margin-bottom:22px; }
.product-overview__meta b { color:var(--product-subtle); font-weight:400; margin:0 5px; }
.product-overview h1,.product-lesson h1 { font-size:clamp(2.35rem,4.2vw,4rem); line-height:1.12; margin:0 0 22px; }
.product-overview__description { color:var(--product-muted); font-size:1rem; line-height:1.72; margin:0; max-width:34rem; }
.product-overview__start { background:var(--product-green); border-radius:14px; color:#fff; display:grid; gap:7px; margin-top:34px; padding:24px 28px; }
.product-overview__start p { color:rgba(255,255,255,.62); font-family:monospace; font-size:.66rem; letter-spacing:.12em; margin:0; }
.product-overview__start h2 { font-size:1.7rem; margin:0; }
.product-overview__start span { color:rgba(255,255,255,.68); font-size:.87rem; }
.product-overview__start a { align-items:center; background:#fff; border-radius:6px; color:var(--product-green); display:inline-flex; font-size:.88rem; font-weight:500; gap:8px; justify-self:start; margin-top:8px; padding:10px 17px; text-decoration:none; }
.product-lesson__back { color:var(--product-muted); display:inline-block; font-size:.82rem; margin-bottom:30px; text-decoration:none; }
.product-lesson__content { display:grid; gap:20px; }
.product-lesson__content > p { font-size:1rem; line-height:1.78; margin:0; }
.product-lesson__link { color:var(--product-green); font-size:.9rem; font-weight:500; text-decoration:underline; text-underline-offset:.18em; }
.product-lesson__link--card { background:var(--product-surface); border:1px solid var(--product-border); border-radius:10px; display:grid; gap:4px; padding:16px 18px; text-decoration:none; }
.product-lesson__link--card span { font-size:1rem; }
.product-lesson__link--card small { color:var(--product-muted); font-size:.82rem; line-height:1.45; }
.product-lesson__link--card b { justify-self:end; margin-top:-1.4rem; }
.product-rich-text { color:var(--product-text); font-size:1rem; line-height:1.78; }
.product-rich-text > :first-child { margin-top:0; }
.product-rich-text > :last-child { margin-bottom:0; }
.product-rich-text h2 { font-size:1.75rem; line-height:1.2; margin:1.7rem 0 .65rem; }
.product-rich-text h3 { font-size:1.25rem; line-height:1.3; margin:1.35rem 0 .55rem; }
.product-rich-text p,.product-rich-text ul,.product-rich-text ol,.product-rich-text blockquote { margin:0 0 1rem; }
.product-rich-text li + li { margin-top:.3rem; }
.product-rich-text blockquote { border-left:3px solid var(--product-accent); color:var(--product-muted); font-family:Lora, Georgia, serif; font-size:1.12rem; padding-left:1rem; }
.product-rich-text a { color:var(--product-green); text-decoration:underline; text-underline-offset:.18em; }
.product-rich-text--accent { color:var(--product-green); font-family:Lora, Georgia, serif; font-size:1.2rem; }
.product-rich-text--quiet { color:var(--product-muted); font-size:.92rem; }
.product-image { margin:0; max-width:100%; }
.product-image--normal { max-width:38rem; }
.product-image--wide { max-width:100%; }
.product-image img { background:var(--product-surface); border:1px solid var(--product-border); border-radius:10px; display:block; height:auto; max-width:100%; width:100%; }
.product-image--ratio-16-9 img,.product-image--ratio-4-3 img,.product-image--ratio-1-1 img { height:100%; object-fit:cover; }
.product-image--ratio-16-9 { aspect-ratio:16 / 9; }
.product-image--ratio-4-3 { aspect-ratio:4 / 3; }
.product-image--ratio-1-1 { aspect-ratio:1; }
.product-image figcaption { color:var(--product-muted); font-size:.8rem; line-height:1.45; margin-top:.5rem; }
.product-video { display:grid; gap:.55rem; }
.product-video__frame { aspect-ratio:16 / 9; background:#1f251d; border-radius:10px; overflow:hidden; }
.product-video__frame iframe { border:0; height:100%; width:100%; }
.product-video p { color:var(--product-muted); font-size:.85rem; margin:0; }
.product-resource { background:var(--product-surface); border:1px solid var(--product-border); border-radius:10px; color:var(--product-text); display:grid; gap:8px; line-height:1.65; padding:18px; text-decoration:none; }
.product-resource p,.product-resource > span { color:var(--product-subtle); font-family:monospace; font-size:.65rem; letter-spacing:.1em; margin:0; }
.product-resource h2 { font-size:1.15rem; margin:0; }
.product-resource b { color:var(--product-green); font-size:.8rem; }
.product-resource--file { color:var(--product-text); }
.product-resource--file small { color:var(--product-muted); font-size:.75rem; }
.product-lesson__unavailable { color:var(--product-muted); font-size:.88rem; font-style:italic; }
.product-mobile-nav { display:none; }
@media (max-width:768px) { .product-experience-topbar { padding:0 18px; } .product-experience-topbar__identity { gap:8px; max-width:calc(100% - 120px); } .product-experience-topbar__back { font-size:.68rem; } .product-experience-topbar__access { display:none; } .product-experience-shell { display:block; min-height:calc(100vh - 48px); } .product-route { border-bottom:1px solid var(--product-border); border-right:0; max-height:42vh; overflow:auto; scroll-margin-top:48px; } .product-route__top { grid-template-columns:1fr auto; } .product-route__top p,.product-route__top strong,.product-route__top small { grid-column:1; } .product-route__start { align-self:center; grid-column:2; grid-row:1 / span 3; margin:0; width:auto; } .product-overview,.product-lesson { padding:32px 22px 88px; } .product-overview h1,.product-lesson h1 { font-size:2.45rem; } .product-overview__description { font-size:1rem; } .product-overview__start { border-radius:14px; padding:22px; } .product-mobile-nav { align-items:center; background:var(--product-surface); border-top:1px solid var(--product-border); bottom:0; box-sizing:border-box; display:flex; gap:14px; height:64px; left:0; padding:9px 18px calc(9px + env(safe-area-inset-bottom)); position:fixed; right:0; z-index:10; } .product-mobile-nav > a { align-items:center; color:var(--product-muted); display:flex; flex-direction:column; font-size:1.2rem; gap:2px; text-decoration:none; } .product-mobile-nav > a span { font-size:.63rem; } .product-mobile-nav__primary { background:var(--product-green); border-radius:8px; color:#fff !important; flex:1; font-size:.95rem !important; min-height:40px; justify-content:center; } }

/* Admin shell contract: route changes may alter content, never the workspace frame. */
.workspace-body--admin .workspace-shell { grid-template-columns: 240px minmax(0, 1fr); }
.workspace-body--admin .workspace-main { grid-template-rows: 50px minmax(0, 1fr); }
.workspace-body--admin .workspace-content { align-content: start; box-sizing: border-box; gap: 1.25rem; margin: 0 auto; max-width: 1180px; padding: 2rem 2.5rem 4rem; width: 100%; }
.workspace-body--admin .workspace-page-header { min-height: 7.75rem; }
.workspace-body--admin .workspace-page-header h1 { margin: 0 0 .35rem; }
.workspace-body--admin .workspace-page-header .lead { margin: 0; max-width: 48rem; }
.workspace-body--admin .workspace-panel { box-sizing: border-box; }
.workspace-body--admin .workspace-definition-list { display: grid; gap: .65rem 1.5rem; grid-template-columns: minmax(10rem, .7fr) minmax(0, 1.5fr); margin: 0; }
.workspace-body--admin .workspace-definition-list dt { color: #7a7469; font-size: .78rem; }
.workspace-body--admin .workspace-definition-list dd { margin: 0; overflow-wrap: anywhere; }
.admin-status { align-items: center; border: 1px solid #d9d4cb; border-radius: 999px; display: inline-flex; font-size: .74rem; font-weight: 600; line-height: 1.2; padding: .28rem .55rem; }
.admin-status--positive { background: #edf3ea; border-color: #c9dbc7; color: #466347; }
.admin-status--warning { background: #fbf0e7; border-color: #e4c6b1; color: #8a4f39; }
.admin-status--quiet { background: #f1efeb; color: #7a7469; }
.admin-people__badges { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .65rem; }
.admin-person__technical, .admin-review__technical { border-top: 1px solid #e2ddd5; color: #7a7469; padding-top: .8rem; }
.admin-person__technical summary, .admin-review__technical summary { cursor: pointer; font-size: .8rem; font-weight: 600; }
.admin-person__technical code { display: block; font-size: .75rem; margin-top: .65rem; overflow-wrap: anywhere; }
.admin-person__technical p, .admin-review__technical p { font-size: .8rem; margin: .45rem 0 0; }
.admin-person__records { display: grid; gap: .65rem; }
.admin-person__record { border: 1px solid #e2ddd5; border-radius: 6px; padding: .85rem 1rem; }
.admin-person__record h3 { font-size: 1rem; margin: 0; }
.admin-person__record p { color: #6f6a62; }
.admin-person__record dl { margin-top: .75rem; }
.admin-person__record details form { display: grid; gap: .65rem; margin-top: .75rem; }
.admin-person__record details label { display: grid; gap: .25rem; color: #6f6a62; font-size: .82rem; }
.admin-person__record details input[type="number"] { max-width: 12rem; }
.admin-person__record details + details { margin-top: .5rem; }
.admin-person__empty { color: #7a7469; }
.admin-person__timeline { border-left: 2px solid #e2ddd5; display: grid; gap: 1rem; list-style: none; margin: 0; padding: .15rem 0 .15rem 1rem; }
.admin-person__timeline li { display: grid; gap: .18rem; min-width: 0; }
.admin-person__timeline time { color: #7a7469; font-size: .78rem; }
.admin-person__timeline span { color: #6f6a62; overflow-wrap: anywhere; }
@media (max-width: 899px) {
    .workspace-body--admin .workspace-content { gap: 1rem; padding: 1.25rem 1rem calc(5rem + env(safe-area-inset-bottom)); }
    .workspace-body--admin .workspace-page-header { min-height: 0; }
    .workspace-body--admin .workspace-definition-list { grid-template-columns: 1fr; }
}

/* Product Author Workspace Visual Correction V1.1: measured reconstruction of the retained Figma shell. */
.workspace-body .product-author-shell { --product-sidebar: #1b3025; --product-sidebar-active: #395545; }
.workspace-body .product-author-shell__top { gap: 1rem; grid-template-columns: 11rem minmax(0, 1fr) auto; min-height: 58px; padding: .55rem 1.5rem; }
.workspace-body .product-author-shell__back { align-items: center; display: inline-flex; gap: .35rem; }
.workspace-body .product-author-shell__back::before { content: "←"; font-size: 1rem; line-height: 1; }
.workspace-body .product-author-shell__identity p { display: none; }
.workspace-body .product-author-shell__identity h2 { color: var(--product-text); font-family: Lora, Georgia, serif; font-size: .98rem; font-weight: 500; }
.workspace-body .product-author-shell__actions { gap: .4rem; }
.workspace-body .product-author-shell__status { font-size: .68rem; padding: .28rem .55rem; }
.workspace-body .product-author-shell__primary, .workspace-body .product-author-shell__secondary { align-items: center; min-height: 2.15rem; padding: .48rem .72rem; }
.workspace-body .product-author-shell__body { grid-template-columns: 220px minmax(0, 1fr); min-height: calc(100vh - 58px); }
.workspace-body .product-author-shell__sidebar { background: var(--product-sidebar); display: flex; flex-direction: column; padding: 0 .65rem 1rem; }
.workspace-body .product-author-sidebar__identity { border-bottom: 1px solid rgba(253,252,248,.09); display: grid; gap: .38rem; padding: 1.2rem .35rem 1rem; }
.workspace-body .product-author-sidebar__identity p { color: rgba(253,252,248,.46); font-size: .63rem; font-weight: 700; letter-spacing: .1em; margin: 0; }
.workspace-body .product-author-sidebar__identity strong { color: #fdfcf8; font-family: Lora, Georgia, serif; font-size: .97rem; font-weight: 500; line-height: 1.28; overflow-wrap: anywhere; }
.workspace-body .product-author-sidebar__state { align-items: center; color: rgba(253,252,248,.62); display: inline-flex; font-size: .69rem; gap: .35rem; margin-top: .08rem; }
.workspace-body .product-author-sidebar__state::before { background: #b69a74; border-radius: 999px; content: ""; height: .38rem; width: .38rem; }
.workspace-body .product-author-sidebar__state.is-published::before { background: #6fc08b; }
.workspace-body .product-author-nav { gap: .15rem; padding-top: .7rem; }
.workspace-body .product-author-nav__item { align-items: center; border-radius: 7px; display: flex; font-size: .79rem; min-height: 2.25rem; padding: .5rem .7rem; }
.workspace-body .product-author-nav__item.is-active { background: var(--product-sidebar-active); box-shadow: inset 2px 0 0 #8bc49b; }
.workspace-body .product-author-shell .product-home-shell { gap: 1.25rem; max-width: 67rem; padding: 2.25rem 3rem 4.5rem; }
.workspace-body .product-author-shell .product-home-identity { border-bottom: 1px solid var(--product-border); gap: .45rem; max-width: none; padding-bottom: 1.25rem; }
.workspace-body .product-author-shell .product-home-identity h1 { font-size: clamp(1.9rem, 3vw, 2.75rem); max-width: 31rem; }
.workspace-body .product-author-shell .product-home-identity > p:last-child { font-size: .91rem; line-height: 1.5; max-width: 36rem; }
.workspace-body .product-author-shell .product-home-overview { gap: .8rem; }
.workspace-body .product-author-shell .product-home-card, .workspace-body .product-author-shell .product-home-settings { border-radius: 8px; min-height: 8.5rem; padding: 1.1rem 1.2rem; }
.workspace-body .product-author-shell .product-home-card h3 { font-size: 1.18rem; }
.workspace-body .product-author-shell .product-home-card--content { align-content: start; grid-template-columns: minmax(0, 1fr) auto; min-height: 10rem; }
.workspace-body .product-author-shell .product-home-card--content .eyebrow, .workspace-body .product-author-shell .product-home-card--content h3, .workspace-body .product-author-shell .product-home-card--content p { grid-column: 1; }
.workspace-body .product-author-shell .product-home-card--content h3 { font-size: 1.55rem; }
.workspace-body .product-author-shell .product-home-link { align-self: center; grid-column: 2; grid-row: 1 / span 3; margin: 0; }

.workspace-body .product-author-shell .product-builder { max-width: none; padding: 0; }
.workspace-body .product-author-shell .product-builder__top { align-items: center; background: var(--product-surface); min-height: 4.2rem; padding: .8rem 2rem; }
.workspace-body .product-author-shell .product-builder__top h1 { font-size: 1.12rem; }
.workspace-body .product-author-shell .product-builder__top > p { font-size: .79rem; max-width: 30rem; }
.workspace-body .product-author-shell .product-builder__intro { background: var(--product-bg); border-bottom: 1px solid var(--product-border); padding: .8rem 2rem; }
.workspace-body .product-author-shell .product-builder__intro p { display: none; }
.workspace-body .product-author-shell .product-builder__intro span { color: var(--product-muted); font-size: .64rem; }
.workspace-body .product-author-shell .product-builder__create summary { min-height: 2.15rem; padding: .5rem .75rem; }
.workspace-body .product-author-shell .product-builder__workspace { gap: 0; grid-template-columns: 266px minmax(0, 1fr); min-height: calc(100vh - 10.1rem); }
.workspace-body .product-author-shell .product-builder__structure { background: var(--product-alt); border: 0; border-radius: 0; border-right: 1px solid var(--product-border); }
.workspace-body .product-author-shell .product-builder__structure > header { font-size: .66rem; padding: 1rem 1.1rem .75rem; }
.workspace-body .product-author-shell .product-builder__structure > section, .workspace-body .product-author-shell .product-builder__structure-module { padding: .72rem .85rem; }
.workspace-body .product-author-shell .product-builder__structure-module h2 { font-size: .74rem; letter-spacing: .01em; }
.workspace-body .product-author-shell .product-builder__structure-label { font-size: .61rem; }
.workspace-body .product-author-shell .product-builder__item { align-items: center; border-left-width: 2px; display: grid; font-size: .77rem; gap: .45rem; grid-template-columns: minmax(0, 1fr) auto; margin: .12rem 0; padding: .56rem .6rem; }
.workspace-body .product-author-shell .product-builder__item small { color: var(--product-muted); font-size: .64rem; }
.workspace-body .product-author-shell .product-builder__item.is-selected { box-shadow: inset 0 0 0 1px rgba(75,102,65,.13); }
.workspace-body .product-author-shell .product-builder__item-canvas { background: var(--product-bg); border: 0; border-radius: 0; min-height: 0; padding: 1.8rem 2.35rem 4rem; }
.workspace-body .product-author-shell .product-builder__item-canvas > * { max-width: 48rem; }
.workspace-body .product-author-shell .product-builder__empty-canvas { margin: 7rem auto; }
.workspace-body .product-author-shell .product-builder__item-header { border-bottom: 1px solid var(--product-border); padding-bottom: 1.05rem; }
.workspace-body .product-author-shell .product-builder__empty-canvas h2, .workspace-body .product-author-shell .product-builder__item-header h2 { font-size: 1.35rem; }
.workspace-body .product-author-shell .product-builder__rename, .workspace-body .product-author-shell .product-builder__move { background: transparent; border-radius: 0; margin-top: .75rem; padding: .65rem 0; }
.workspace-body .product-author-shell .product-builder__blocks { margin-top: 1rem; padding-top: 1rem; }
.workspace-body .product-author-shell .product-builder__blocks > header h3 { font-size: 1.05rem; }
.workspace-body .product-author-shell .product-builder__block { background: var(--product-surface); border: 1px solid var(--product-border); border-left: 0; border-radius: 9px; margin-top: .7rem; min-height: 3.45rem; padding: .75rem .95rem; }
.workspace-body .product-author-shell .product-builder__block::before { background: var(--product-accent); border-radius: 999px; content: ""; flex: 0 0 .42rem; height: .42rem; margin-top: .44rem; }
.workspace-body .product-author-shell .product-builder__block.is-selected { border-color: rgba(75,102,65,.45); box-shadow: 0 0 0 2px rgba(75,102,65,.11); }
.workspace-body .product-author-shell .product-builder__block.is-selected::before { background: var(--product-green); }
.workspace-body .product-author-shell .product-builder__block-select strong { font-size: .84rem; }
.workspace-body .product-author-shell .product-builder__block-actions { max-width: 12rem; }
.workspace-body .product-author-shell .product-builder__add-block { border: 0; margin-top: 1rem; padding: 0; }
.workspace-body .product-author-shell .product-builder__add-block summary { border: 2px dashed rgba(38,34,26,.16); border-radius: 8px; box-sizing: border-box; color: var(--product-muted); display: block; padding: .8rem; text-align: center; width: 100%; }
.workspace-body .product-author-shell .product-builder__add-block summary:hover { background: rgba(75,102,65,.06); color: var(--product-green); }
.workspace-body .product-author-shell .product-builder__chooser { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.workspace-body .product-author-shell .product-builder__chooser form { background: var(--product-surface); border: 1px solid var(--product-border); }
.workspace-body .product-author-shell .product-builder__block-editor { background: #e6efe8; border: 1px solid rgba(75,102,65,.2); border-radius: 9px; margin-top: 1rem; }

@media (min-width: 900px) and (max-width: 1199px) {
    .workspace-body .product-author-shell__top { gap: .7rem; grid-template-columns: minmax(0, 1fr) auto; padding: .55rem 1rem; }
    .workspace-body .product-author-shell__back { font-size: .7rem; }
    .workspace-body .product-author-shell__identity { display: none; }
    .workspace-body .product-author-shell__body { grid-template-columns: 200px minmax(0, 1fr); }
    .workspace-body .product-author-sidebar__identity { padding-top: 1rem; }
    .workspace-body .product-author-shell .product-home-shell { padding: 1.8rem 2rem 3rem; }
    .workspace-body .product-author-shell .product-builder__top { padding: .75rem 1.25rem; }
    .workspace-body .product-author-shell .product-builder__top > p { display: none; }
    .workspace-body .product-author-shell .product-builder__intro { padding: .75rem 1.25rem; }
    .workspace-body .product-author-shell .product-builder__workspace { grid-template-columns: 220px minmax(0, 1fr); }
    .workspace-body .product-author-shell .product-builder__item-canvas { padding: 1.45rem; }
}

@media (max-width: 899px) {
    .workspace-body .product-author-shell__top { align-items: center; display: grid; gap: .3rem .7rem; grid-template-columns: minmax(0, 1fr) auto; padding: .6rem .9rem; }
    .workspace-body .product-author-shell__back { font-size: .7rem; grid-column: 1; grid-row: 1; }
    .workspace-body .product-author-shell__identity { grid-column: 1 / -1; grid-row: 2; }
    .workspace-body .product-author-shell__identity h2 { font-size: .9rem; }
    .workspace-body .product-author-shell__actions { grid-column: 2; grid-row: 1; }
    .workspace-body .product-author-shell__status { display: inline-flex; }
    .workspace-body .product-author-shell__secondary { display: none; }
    .workspace-body .product-author-shell__primary { font-size: .7rem; min-height: 2rem; white-space: nowrap; }
    .workspace-body .product-author-shell__body { display: block; }
    .workspace-body .product-author-shell__sidebar { border-bottom: 1px solid rgba(253,252,248,.12); padding: .72rem .8rem .82rem; }
    .workspace-body .product-author-sidebar__identity { display: none; }
    .workspace-body .product-author-nav { display: grid; gap: .35rem; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0; width: 100%; }
    .workspace-body .product-author-nav__item { font-size: .66rem; justify-content: center; line-height: 1.15; min-height: 2.55rem; padding: .35rem .25rem; text-align: center; white-space: normal; }
    .workspace-body .product-author-shell .product-home-shell { gap: 1rem; padding: 1.4rem 1rem 3rem; }
    .workspace-body .product-author-shell .product-home-identity { padding-bottom: .95rem; }
    .workspace-body .product-author-shell .product-home-identity h1 { font-size: 1.85rem; }
    .workspace-body .product-author-shell .product-home-card, .workspace-body .product-author-shell .product-home-settings { min-height: 0; padding: 1rem; }
    .workspace-body .product-author-shell .product-home-card--content { display: grid; grid-template-columns: 1fr; }
    .workspace-body .product-author-shell .product-home-link { align-self: start; grid-column: 1; grid-row: auto; margin-top: .45rem; }
    .workspace-body .product-author-shell .product-sales-option { align-items: start; grid-template-columns: 1fr; }
    .workspace-body .product-author-shell .product-sales-form__terms { grid-template-columns: 1fr; }
    .workspace-body .product-author-shell .product-sales-form .button-row { align-items: stretch; display: grid; grid-template-columns: 1fr; }
    .workspace-body .product-author-shell .product-sales-form .button-row .button { justify-content: center; width: 100%; }
    .workspace-body .product-author-shell .product-builder__top { min-height: 0; padding: .95rem 1rem .7rem; }
    .workspace-body .product-author-shell .product-builder__top h1 { font-size: 1.15rem; }
    .workspace-body .product-author-shell .product-builder__top > p { display: none; }
    .workspace-body .product-author-shell .product-builder__intro { align-items: center; display: flex; padding: .65rem 1rem; }
    .workspace-body .product-author-shell .product-builder__create { width: auto; }
    .workspace-body .product-author-shell .product-builder__create summary { width: auto; }
    .workspace-body .product-author-shell .product-builder__workspace { display: block; min-height: 0; }
    .workspace-body .product-author-shell .product-builder__structure { border-bottom: 1px solid var(--product-border); border-right: 0; max-height: 14.5rem; }
    .workspace-body .product-author-shell .product-builder__structure > header { padding: .75rem 1rem .55rem; }
    .workspace-body .product-author-shell .product-builder__structure > section, .workspace-body .product-author-shell .product-builder__structure-module { padding: .55rem .75rem; }
    .workspace-body .product-author-shell .product-builder__structure-actions { opacity: 1; }
    .workspace-body .product-author-shell .product-builder__module-settings form { align-items: stretch; display: grid; }
    .workspace-body .product-author-shell .product-builder__item-canvas { min-height: 22rem; padding: 1.25rem 1rem 3rem; }
    .workspace-body .product-author-shell .product-builder__item-header { gap: .6rem; }
    .workspace-body .product-author-shell .product-builder__item-header h2 { font-size: 1.22rem; }
    .workspace-body .product-author-shell .product-builder__rename, .workspace-body .product-author-shell .product-builder__move { gap: .5rem; }
    .workspace-body .product-author-shell .product-builder__block { gap: .55rem; padding: .7rem; }
    .workspace-body .product-author-shell .product-builder__block-actions { gap: .3rem; justify-content: flex-start; }
    .workspace-body .product-author-shell .product-builder__chooser { grid-template-columns: 1fr; }
}

/* Keep public-product chrome after its older V2 rules in the shared stylesheet. */
.product-landing-header { backdrop-filter: blur(12px); background: rgba(245,240,232,.96); border-color: #E0DBD0; }
.product-landing-header__inner { max-width: 1120px; }
.product-landing-header__brand { color: #1f2937; font-size: 14px; font-weight: 500; gap: 10px; letter-spacing: 0; }
.product-landing-header__monogram { align-items: center; background: #1e3a5f; border-radius: 50%; color: #F5F0E8; display: inline-flex; font-size: 11px; font-weight: 600; height: 28px; justify-content: center; width: 28px; }
.product-landing-header__cta { background: #1e3a5f; border-color: #1e3a5f; border-radius: 999px; color: #F5F0E8; font-size: 14px; font-weight: 500; min-height: 0; padding: 8px 20px; }
.product-landing-header__cta:hover, .product-landing-header__cta:focus-visible { background: #2c4f7a; border-color: #2c4f7a; }
.product-landing-footer { background: #FAFAF8; border-color: #E0DBD0; }
.product-landing-footer__inner { max-width: 1120px; padding-bottom: 28px; padding-top: 28px; }
.product-landing-footer__brand { align-items: center; color: #1f2937; display: inline-flex; font-family: Inter, system-ui, sans-serif; font-size: 14px; font-weight: 500; gap: 8px; }
.product-landing-footer__brand span { align-items: center; background: #1e3a5f; border-radius: 50%; color: #F5F0E8; display: inline-flex; font-size: 10px; height: 22px; justify-content: center; width: 22px; }
.product-landing-footer nav a, .product-landing-footer small { color: #6B7570; font-size: 12px; }
@media (max-width: 767px) {
    .product-landing-header__inner { padding-left: 16px; padding-right: 16px; }
    .product-landing-header__cta { font-size: 13px; padding: 8px 15px; }
    .product-landing-footer__inner { padding: 24px 16px calc(24px + env(safe-area-inset-bottom)); }
}

.public-product-page--figma .public-product-page__recognition {
    background: var(--landing-light);
    border-bottom: 1px solid var(--landing-line);
    border-top: 1px solid var(--landing-line);
    max-width: none;
    padding: 0;
    width: 100%;
}

.public-product-page--figma .public-product-page__recognition .public-product-page__container {
    max-width: 1120px;
    padding-bottom: 48px;
    padding-top: 48px;
}

.public-product-page--figma .public-product-page__recognition-copy {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.public-product-page--figma .public-product-page__recognition-copy > * {
    border-top: 1px solid var(--landing-line);
    color: var(--landing-text);
    font-size: 15px;
    line-height: 1.35;
    margin: 0;
    min-height: 54px;
    padding: 16px 32px 16px 28px;
    position: relative;
}

.public-product-page--figma .public-product-page__recognition-copy > *::before {
    color: var(--landing-teal);
    content: '—';
    left: 0;
    position: absolute;
}

.public-product-page--figma .public-product-page__recognition-copy > *:nth-child(even) {
    border-left: 1px solid var(--landing-line);
    padding-left: 60px;
}

.public-product-page--figma .public-product-page__recognition-copy > *:nth-child(even)::before {
    left: 32px;
}

.public-product-page--figma .public-product-page__media-value {
    padding: 56px 0;
}

.public-product-page--figma .public-product-page__media-value-grid {
    display: grid;
    gap: 48px;
}

.public-product-page--figma .public-product-page__media-value-grid.has-media {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.public-product-page--figma .public-product-page__media-stack {
    display: grid;
    gap: 24px;
}

.public-product-page--figma .public-product-page__media-frame {
    margin: 0 auto;
    width: 100%;
}

.public-product-page--figma .public-product-page__media-frame--width-normal {
    max-width: 720px;
}

.public-product-page--figma .public-product-page__media-frame--width-wide {
    max-width: 100%;
}

.public-product-page--figma .public-product-page__media-frame--video-size-standard {
    max-width: var(--landing-video-standard-max-width);
}

.public-product-page--figma .public-product-page__media-frame--video-size-large {
    max-width: 100%;
}

.public-product-page--figma .public-product-page__media-frame img,
.public-product-page--figma .public-product-page__media-frame iframe {
    background: #DDD8CC;
    border: 0;
    border-radius: var(--landing-media-radius);
    display: block;
    height: auto;
    overflow: hidden;
    width: 100%;
}

.public-product-page--figma .public-product-page__media-frame img {
    aspect-ratio: auto;
    object-fit: contain;
}

.public-product-page--figma .public-product-page__media-frame iframe {
    aspect-ratio: 16 / 9;
}

.public-product-page--figma .public-product-page__media-frame--ratio-16-9 img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center;
}

.public-product-page--figma .public-product-page__media-frame--ratio-4-3 img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: center;
}

.public-product-page--figma .public-product-page__media-frame--ratio-1-1 img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
}

.public-product-page--figma .public-product-page__media-frame figcaption {
    color: #8A8580;
    font-family: Inter, system-ui, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    margin: 12px 0 0;
    overflow-wrap: anywhere;
    text-align: center;
}

.public-product-page--figma .public-product-page__value-copy {
    align-self: center;
}

.public-product-page--figma .public-product-page__value-copy .public-product-page__eyebrow {
    margin-bottom: 20px;
}

.public-product-page--figma .public-product-page__value-accent {
    color: var(--landing-text);
    font-family: "DM Serif Display", Georgia, serif;
    font-size: clamp(28px, 3vw, 34px);
    line-height: 1.12;
    margin: 0 0 24px;
}

.public-product-page--figma .public-product-page__value-body {
    color: #5C5750;
    font-size: 15px;
    line-height: 1.7;
}

.public-product-page--figma .public-product-page__value-body > * {
    margin: 0 0 16px;
}

.public-product-page--figma .public-product-page__program {
    background: var(--landing-light);
    border-bottom: 1px solid var(--landing-line);
    border-top: 1px solid var(--landing-line);
    max-width: none;
    padding: 0;
    width: 100%;
}

.public-product-page--figma .public-product-page__authors {
    border-bottom: 1px solid var(--landing-line);
    padding: 32px 0;
}

.public-product-page--figma .public-product-page__author {
    align-items: center;
    display: flex;
    gap: 12px;
    max-width: 500px;
}

.public-product-page--figma .public-product-page__author > div {
    min-width: 0;
}

.public-product-page--figma .public-product-page__author-portrait {
    aspect-ratio: 1;
    background: #DDD8CC;
    border: 2px solid var(--landing-line);
    border-radius: 50%;
    display: block;
    flex: 0 0 auto;
    height: 40px;
    object-fit: cover;
    width: 40px;
}

.public-product-page--figma .public-product-page__author-name {
    color: var(--landing-text);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    margin: 0 0 5px;
    overflow-wrap: anywhere;
}

.public-product-page--figma .public-product-page__author-bio {
    color: #8A8580;
    font-size: 12px;
    line-height: 1.35;
    margin: 0;
    max-width: 440px;
    overflow-wrap: anywhere;
}

.public-product-page--figma .public-product-page__access {
    background: #152F52;
    border-radius: 0;
    color: #F5F0E8;
    max-width: none;
    padding: 56px 0;
    width: 100%;
}

.public-product-page--figma .public-product-page__access .public-product-page__container {
    max-width: 1120px;
}

.public-product-page--figma .public-product-page__access.is-single .public-product-page__options {
    max-width: 540px;
}

.public-product-page--figma .public-product-page__faq {
    background: var(--landing-cream);
    max-width: none;
    padding: 56px 0;
    width: 100%;
}

.public-product-page--figma .public-product-page__faq > .public-product-page__narrow {
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    max-width: 680px;
    width: 100%;
}

.public-product-page--figma .public-product-page__final-cta {
    background: var(--landing-cream);
    border-bottom: 1px solid var(--landing-line);
    padding: 48px 0;
}

.public-product-page--figma .public-product-page__final-cta > .public-product-page__container > div {
    align-items: center;
    display: flex;
    gap: 24px;
    justify-content: space-between;
}

.public-product-page--figma .public-product-page__final-cta small {
    color: #5C5750;
    display: block;
    font-size: 14px;
    line-height: 1.5;
    margin-top: 8px;
    max-width: 540px;
}

/* Block-level Figma fidelity rules. These selectors intentionally outrank the
   legacy public-page skin while remaining limited to the Product landing. */
.public-product-page--figma {
    /* The legacy renderer pads the article itself, which turns full-bleed
       Figma sections into isolated cards. Figma spacing belongs to each
       section's inner container instead. */
    padding: 0;
}

.public-product-page--figma .public-product-page__hero {
    grid-template-columns: minmax(0, 1fr);
}

.public-product-page--figma .public-product-page__hero.has-portrait {
    grid-template-columns: minmax(0, 1fr) 360px;
}

.public-product-page--figma .public-product-page__program h2,
.public-product-page--figma .public-product-page__access h2,
.public-product-page--figma .public-product-page__faq h2 {
    font-size: clamp(26px, 3vw, 34px);
    line-height: 1.1;
}

.public-product-page--figma .public-product-page__faq .public-product-page__eyebrow {
    margin-bottom: 12px;
}

.public-product-page--figma .public-product-page__faq h2 {
    margin-bottom: 36px;
}

.public-product-page--figma .public-product-page__recognition-copy.is-single {
    grid-template-columns: minmax(0, 680px);
}

.public-product-page--figma .public-product-page__recognition-item {
    border-top: 1px solid var(--landing-line);
    color: var(--landing-text);
    font-size: 15px;
    line-height: 1.35;
    margin: 0;
    min-height: 54px;
    padding: 16px 32px 16px 28px;
    position: relative;
}

.public-product-page--figma .public-product-page__recognition-item::before {
    color: var(--landing-teal);
    content: '—';
    left: 0;
    position: absolute;
}

.public-product-page--figma .public-product-page__recognition-item:nth-child(even) {
    border-left: 1px solid var(--landing-line);
    padding-left: 60px;
}

.public-product-page--figma .public-product-page__recognition-item:nth-child(even)::before {
    left: 32px;
}

.public-product-page--figma .public-product-page__recognition-copy.is-single .public-product-page__recognition-item {
    border-left: 0;
    padding-left: 28px;
}

.public-product-page--figma .public-product-page__recognition-item > :first-child { margin-top: 0; }
.public-product-page--figma .public-product-page__recognition-item > :last-child { margin-bottom: 0; }
.public-product-page--figma .public-product-page__recognition-item h2,
.public-product-page--figma .public-product-page__recognition-item h3,
.public-product-page--figma .public-product-page__recognition-item p,
.public-product-page--figma .public-product-page__recognition-item li {
    color: inherit;
    font: inherit;
}

/* Canonical Composer Editorial: content is semantic; the landing owns composition. */
.public-product-page--figma .public-product-page__editorial { background: var(--landing-light); border-bottom: 1px solid var(--landing-line); border-top: 1px solid var(--landing-line); max-width: none; padding: 56px 0; width: 100%; }
.public-product-page--figma .public-product-page__editorial-content { max-width: 760px; }
.public-product-page--figma .public-product-page__editorial--narrow .public-product-page__editorial-content { max-width: 620px; }
.public-product-page--figma .public-product-page__editorial .public-product-page__eyebrow { margin-bottom: 14px; }
.public-product-page--figma .public-product-page__editorial h2 { color: var(--landing-text); font-size: clamp(28px, 3vw, 38px); line-height: 1.12; margin: 0 0 24px; }
.public-product-page--figma .public-product-page__editorial-body, .public-product-page--figma .public-product-page__editorial-columns { color: var(--landing-text); font-family: var(--editorial-font-sans); font-size: var(--editorial-body-size); line-height: var(--editorial-line-height-text); }
.public-product-page--figma .public-product-page__editorial-body > :first-child, .public-product-page--figma .public-product-page__editorial-columns > div > :first-child { margin-top: 0; }
.public-product-page--figma .public-product-page__editorial-body > :last-child, .public-product-page--figma .public-product-page__editorial-columns > div > :last-child { margin-bottom: 0; }
.public-product-page--figma .public-product-page__editorial-body h2, .public-product-page--figma .public-product-page__editorial-columns h2 { font-size: clamp(22px, 2.4vw, 30px); margin: 32px 0 14px; }
.public-product-page--figma .public-product-page__editorial-body h3, .public-product-page--figma .public-product-page__editorial-columns h3 { font-family: Inter, system-ui, sans-serif; font-size: 18px; line-height: 1.35; margin: 28px 0 12px; }
.public-product-page--figma .public-product-page__editorial-body p.public-product-page__editorial-accent, .public-product-page--figma .public-product-page__editorial-columns p.public-product-page__editorial-accent { color: #44564e; font-family: "DM Serif Display", Georgia, serif; font-size: clamp(22px, 2.2vw, 28px); line-height: 1.35; margin: 28px 0; }
.public-product-page--figma .public-product-page__editorial-body .public-product-page__editorial-font-sans, .public-product-page--figma .public-product-page__editorial-columns .public-product-page__editorial-font-sans { font-family: var(--editorial-font-sans); }
.public-product-page--figma .public-product-page__editorial-body .public-product-page__editorial-font-serif, .public-product-page--figma .public-product-page__editorial-columns .public-product-page__editorial-font-serif { font-family: var(--editorial-font-serif); }
.public-product-page--figma .public-product-page__editorial-body .public-product-page__editorial-size-text, .public-product-page--figma .public-product-page__editorial-columns .public-product-page__editorial-size-text { font-size: var(--editorial-size-text); line-height: var(--editorial-line-height-text); }
.public-product-page--figma .public-product-page__editorial-body .public-product-page__editorial-size-subtitle, .public-product-page--figma .public-product-page__editorial-columns .public-product-page__editorial-size-subtitle { font-size: var(--editorial-size-subtitle); line-height: var(--editorial-line-height-subtitle); }
.public-product-page--figma .public-product-page__editorial-body .public-product-page__editorial-size-heading, .public-product-page--figma .public-product-page__editorial-columns .public-product-page__editorial-size-heading { font-size: var(--editorial-size-heading); line-height: var(--editorial-line-height-heading); }
.public-product-page--figma .public-product-page__editorial-body a, .public-product-page--figma .public-product-page__editorial-columns a { color: var(--landing-navy); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.public-product-page--figma .public-product-page__editorial-body blockquote, .public-product-page--figma .public-product-page__editorial-columns blockquote { border-left: 2px solid var(--landing-teal); color: #44564e; font-family: "DM Serif Display", Georgia, serif; font-size: 22px; line-height: 1.3; margin: 28px 0; padding-left: 20px; }
.public-product-page--figma .public-product-page__editorial-columns { display:grid; gap:48px; grid-template-columns:repeat(2,minmax(0,1fr)); max-width: none; }
.public-product-page--figma .public-product-page__editorial.is-two-columns .public-product-page__editorial-content { max-width: 1120px; }

/* Controlled Composer mosaic: semantic rows, never a free-form canvas. */
.public-product-page--figma .public-product-page__rich-content { background: var(--landing-light); border-bottom: 1px solid var(--landing-line); border-top: 1px solid var(--landing-line); max-width: none; padding: 56px 0; width: 100%; }
.public-product-page--figma .public-product-page__rich-content-content { max-width: 1120px; }
.public-product-page--figma .public-product-page__rich-content .public-product-page__eyebrow { margin-bottom: 14px; }
.public-product-page--figma .public-product-page__rich-content h2 { color: var(--landing-text); font-size: clamp(28px, 3vw, 38px); line-height: 1.12; margin: 0 0 24px; }
.public-product-page--figma .public-product-page__rich-content-intro { color: var(--landing-text); font-size: 16px; line-height: 1.65; margin-bottom: 32px; max-width: 760px; }
.public-product-page--figma .public-product-page__rich-content-intro > :first-child, .public-product-page--figma .public-product-page__rich-content-block > :first-child { margin-top: 0; }
.public-product-page--figma .public-product-page__rich-content-intro > :last-child, .public-product-page--figma .public-product-page__rich-content-block > :last-child { margin-bottom: 0; }
.public-product-page--figma .public-product-page__rich-content-rows { display: grid; gap: 32px; }
.public-product-page--figma .public-product-page__rich-content-row { color: var(--landing-text); font-size: 16px; line-height: 1.65; }
.public-product-page--figma .public-product-page__rich-content-row.is-split { display: grid; gap: 48px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.public-product-page--figma .public-product-page__rich-content-block h2 { font-size: clamp(22px, 2.4vw, 30px); margin: 32px 0 14px; }
.public-product-page--figma .public-product-page__rich-content-block h3 { font-family: Inter, system-ui, sans-serif; font-size: 18px; line-height: 1.35; margin: 28px 0 12px; }
.public-product-page--figma .public-product-page__rich-content-block a { color: var(--landing-navy); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.public-product-page--figma .public-product-page__rich-content-block blockquote { border-left: 2px solid var(--landing-teal); color: #44564e; font-family: "DM Serif Display", Georgia, serif; font-size: 22px; line-height: 1.3; margin: 0; padding-left: 20px; }

/* Media + text keeps the source order: media, then copy. */
.public-product-page--figma .public-product-page__media-value--image-text,
.public-product-page--figma .public-product-page__media-value--video-text { background: var(--landing-light); border-bottom: 1px solid var(--landing-line); border-top: 1px solid var(--landing-line); max-width: none; padding: 56px 0; width: 100%; }
.public-product-page--figma .public-product-page__media-stack.is-image-text { align-items: center; display: grid; gap: 48px; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); max-width: none; }
.public-product-page--figma .public-product-page__media-stack.is-video-text { align-items: center; display: grid; gap: var(--landing-media-content-gap); grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; }
.public-product-page--figma .public-product-page__media-stack.is-video-text.is-video-right .public-product-page__media-frame { grid-column: 2; grid-row: 1; }
.public-product-page--figma .public-product-page__media-stack.is-video-text.is-video-right .public-product-page__media-content { grid-column: 1; grid-row: 1; }
.public-product-page--figma .public-product-page__media-stack.is-image-text.is-image-right .public-product-page__media-frame { grid-column: 2; grid-row: 1; }
.public-product-page--figma .public-product-page__media-stack.is-image-pair { align-items: start; display: grid; gap: 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; }
.public-product-page--figma .public-product-page__media-stack.is-image-pair .public-product-page__media-frame { margin: 0; max-width: none; min-width: 0; }
.public-product-page--figma .public-product-page__media-content { min-width: 0; }
.public-product-page--figma .public-product-page__media-subheading { color: var(--landing-sage); font-family: Inter, system-ui, sans-serif; font-size: 11px; font-weight: 500; letter-spacing: .12em; line-height: 1.2; margin: 0 0 20px; text-transform: uppercase; }
.public-product-page--figma .public-product-page__media-heading { color: var(--landing-text); font-family: "DM Serif Display", Georgia, serif; font-size: clamp(26px, 3vw, 34px); font-weight: 400; letter-spacing: 0; line-height: 1.1; margin: 0 0 32px; }
.public-product-page--figma .public-product-page__media-content > :last-child { margin-bottom: 0; }
.public-product-page--figma .public-product-page__media-rich-text { color: var(--landing-text); font-family: var(--editorial-font-sans); font-size: var(--editorial-body-size); line-height: var(--editorial-line-height-text); min-width: 0; }
.public-product-page--figma .public-product-page__media-rich-text > :first-child { margin-top: 0; }
.public-product-page--figma .public-product-page__media-rich-text > :last-child { margin-bottom: 0; }
.public-product-page--figma .public-product-page__media-rich-text h2 { font-size: clamp(22px, 2.4vw, 30px); line-height: 1.15; margin: 32px 0 14px; }
.public-product-page--figma .public-product-page__media-rich-text h3 { font-family: Inter, system-ui, sans-serif; font-size: 18px; line-height: 1.35; margin: 28px 0 12px; }
.public-product-page--figma .public-product-page__media-rich-text .public-product-page__editorial-font-sans { font-family: var(--editorial-font-sans); }
.public-product-page--figma .public-product-page__media-rich-text .public-product-page__editorial-font-serif { font-family: var(--editorial-font-serif); }
.public-product-page--figma .public-product-page__media-rich-text .public-product-page__editorial-size-text { font-size: var(--editorial-size-text); line-height: var(--editorial-line-height-text); }
.public-product-page--figma .public-product-page__media-rich-text .public-product-page__editorial-size-subtitle { font-size: var(--editorial-size-subtitle); line-height: var(--editorial-line-height-subtitle); }
.public-product-page--figma .public-product-page__media-rich-text .public-product-page__editorial-size-heading { font-size: var(--editorial-size-heading); line-height: var(--editorial-line-height-heading); }
.public-product-page--figma .public-product-page__media-rich-text blockquote { border-left: 2px solid var(--landing-teal); color: #44564e; font-family: "DM Serif Display", Georgia, serif; font-size: 22px; line-height: 1.3; margin: 28px 0; padding-left: 20px; }
.product-public-builder__image-text { border-top: 1px solid var(--border); margin-top: 8px; padding-top: 16px; }
.product-public-builder__image-text-layout { align-items: start; display: grid; gap: 24px; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); margin-top: 16px; }
.product-public-builder__image-text-preview { background: var(--product-alt); border: 1px solid var(--product-border); border-radius: 6px; margin: 0; min-width: 0; overflow: hidden; }
.product-public-builder__image-text-preview img { display: block; height: auto; max-height: 24rem; object-fit: contain; width: 100%; }
.product-public-builder__image-text-preview p { color: var(--product-muted); font-size: .85rem; margin: 1rem; }
.product-public-builder__image-text-preview figcaption { border-top: 1px solid var(--product-border); color: var(--product-muted); font-size: .78rem; padding: .65rem .75rem; }
.product-public-builder__image-text[data-image-text-position="image_right"] .product-public-builder__image-text-preview { grid-column: 2; grid-row: 1; }
.product-public-builder__image-text-editor { min-width: 0; }
.product-public-builder__image-text-structure-controls { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 16px; }
.product-public-builder__image-text-structure-preview { margin-bottom: 24px; }
.product-public-builder__image-text-subheading { color: var(--color-accent); font-family: Inter, system-ui, sans-serif; font-size: 11px; font-weight: 500; letter-spacing: .12em; line-height: 1.2; margin: 0 0 20px; text-transform: uppercase; }
.product-public-builder__image-text-heading { color: var(--color-text); font-family: "DM Serif Display", Georgia, serif; font-size: clamp(26px, 3vw, 34px); font-weight: 400; letter-spacing: 0; line-height: 1.1; margin: 0; }
.product-public-builder__image-text-fallback { margin: 16px 0 0; }
.product-public-builder__video-text { border-top: 1px solid var(--border); margin-top: 8px; padding-top: 16px; }
.product-public-builder__video-text-layout { align-items: start; display: grid; gap: var(--landing-media-content-gap); grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 16px; }
.product-public-builder__video-text[data-video-text-position="video_right"] .product-public-builder__video-text-preview { grid-column: 2; grid-row: 1; }
.product-public-builder__video-text[data-video-text-position="video_right"] .product-public-builder__video-text-editor { grid-column: 1; grid-row: 1; }
.product-public-builder__video-text-preview { background: var(--product-alt); border: 1px solid var(--product-border); border-radius: var(--landing-media-radius); margin: 0; min-width: 0; overflow: hidden; }
.product-public-builder__video-text-preview-frame { align-items: center; aspect-ratio: 16 / 9; background: #DDD8CC; color: var(--product-muted); display: flex; font-size: .85rem; justify-content: center; position: relative; }
.product-public-builder__video-text-preview-frame iframe { border: 0; display: block; height: 100%; inset: 0; position: absolute; width: 100%; }
.product-public-builder__video-text-preview-frame p { margin: 0; max-width: 20rem; padding: 1rem; text-align: center; }
.product-public-builder__video-text-preview figcaption { border-top: 1px solid var(--product-border); color: var(--product-muted); font-size: .78rem; line-height: 1.5; padding: .65rem .75rem; text-align: center; }
.product-public-builder__video-text-editor { min-width: 0; }
.product-public-builder__video-text-structure-controls { display: grid; gap: 12px; margin-bottom: 16px; }
.product-public-builder__video-text-structure-preview { margin-bottom: 16px; min-width: 0; }
.product-public-builder__video-text-structure-preview .public-product-page__media-subheading { color: var(--landing-sage); font-family: Inter, system-ui, sans-serif; font-size: 11px; font-weight: 500; letter-spacing: .12em; line-height: 1.2; margin: 0 0 20px; text-transform: uppercase; }
.product-public-builder__video-text-structure-preview .public-product-page__media-heading { color: var(--landing-text); font-family: "DM Serif Display", Georgia, serif; font-size: clamp(26px, 3vw, 34px); font-weight: 400; letter-spacing: 0; line-height: 1.1; margin: 0 0 32px; }
.product-public-builder__video-text-structure-preview .public-product-page__media-heading:last-child { margin-bottom: 0; }
.product-public-builder__video-text-fallback { margin: 16px 0 0; }
.product-public-builder__program-form { display: grid; gap: 20px; margin-top: 20px; }
.product-public-builder__program-visibility { align-items: center; display: flex; font-weight: 600; gap: 10px; }
.product-public-builder__program-visibility input { block-size: 18px; inline-size: 18px; }
.product-public-builder__program-modules { display: grid; gap: 20px; }
.product-public-builder__program-module { border-top: 1px solid var(--product-border); padding-top: 16px; }
.product-public-builder__program-module .eyebrow { margin-bottom: 4px; }
.product-public-builder__program-module h3 { font-size: 1rem; margin: 0 0 12px; }
.product-public-builder__program-lesson { margin-top: 12px; }
.product-public-builder__video-text[data-video-text-mode="video_only"] .product-public-builder__video-text-layout { display: block; }
.product-public-builder__video-text[data-video-text-mode="video_only"] .product-public-builder__video-text-preview { margin-inline: auto; }
.product-public-builder__video-text[data-video-text-mode="video_only"][data-video-size="standard"] .product-public-builder__video-text-preview { max-width: min(var(--landing-video-standard-max-width), var(--landing-video-standard-proportion)); }
.product-public-builder__video-text[data-video-text-mode="video_only"][data-video-size="large"] .product-public-builder__video-text-preview { max-width: 100%; }
.workspace-body .product-public-builder__image-pair-preview { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 16px; }
.workspace-body .product-public-builder__image-pair-preview figure { background: var(--product-alt); border: 1px solid var(--product-border); border-radius: 6px; margin: 0; min-width: 0; overflow: hidden; }
.workspace-body .product-public-builder__image-pair-preview img { display: block; height: auto; object-fit: contain; width: 100%; }
.workspace-body .product-public-builder__image-pair-preview--ratio-16-9 img { aspect-ratio: 16 / 9; object-fit: cover; }
.workspace-body .product-public-builder__image-pair-preview--ratio-4-3 img { aspect-ratio: 4 / 3; object-fit: cover; }
.workspace-body .product-public-builder__image-pair-preview--ratio-1-1 img { aspect-ratio: 1 / 1; object-fit: cover; }
.workspace-body .product-public-builder__image-pair-preview p { color: var(--product-muted); font-size: .8rem; margin: 1rem; }
.workspace-body .product-public-builder__image-pair-preview figcaption { border-top: 1px solid var(--product-border); color: var(--product-muted); font-size: .78rem; padding: .65rem .75rem; }

.public-product-page--figma .public-product-page__program-list {
    border-bottom: 1px solid var(--landing-line);
}

.public-product-page--figma .public-product-page__program.is-single .public-product-page__container {
    padding-bottom: 36px;
}

.public-product-page--figma .public-product-page__program.is-single .public-product-page__program-list {
    grid-template-columns: minmax(0, 1fr);
}

.public-product-page--figma .public-product-page__program.is-single .public-product-page__program-list article {
    min-height: 72px;
    padding-right: 0;
}

.public-product-page--figma .public-product-page__author h2 { margin-bottom: 8px; }

.public-product-page--figma .public-product-page__access .public-product-page__options {
    gap: 20px;
    margin-bottom: 36px;
}

.public-product-page--figma .public-product-page__access.is-single {
    padding-bottom: 48px;
    padding-top: 48px;
}

.public-product-page--figma .public-product-page__access.is-single .public-product-page__options {
    margin-bottom: 28px;
}

.public-product-page--figma .public-product-page__access .public-product-page__option {
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 16px;
    color: #F5F0E8;
    display: flex;
    flex-direction: column;
    gap: 0;
    grid-template-columns: none;
    min-height: 344px;
    padding: 28px;
    position: relative;
}

.public-product-page--figma .public-product-page__access .public-product-page__option.is-recommended {
    background: rgba(255, 255, 255, .08);
    border-color: rgba(255, 255, 255, .32);
}

.public-product-page--figma .public-product-page__access .public-product-page__option-badge {
    background: #2D5A52;
    border-radius: 999px;
    color: #F5F0E8;
    font-size: 10px;
    font-weight: 400;
    letter-spacing: .1em;
    line-height: 1.2;
    padding: 4px 12px;
    position: absolute;
    right: 20px;
    text-transform: uppercase;
    top: 20px;
}

.public-product-page--figma .public-product-page__access.is-single .public-product-page__option {
    min-height: 304px;
}

.public-product-page--figma .public-product-page__access .public-product-page__option-label {
    color: #8A9CB0;
    font-size: 11px;
    letter-spacing: .1em;
    margin: 0 0 20px;
    text-transform: uppercase;
}

.public-product-page--figma .public-product-page__access .public-product-page__option.is-recommended .public-product-page__option-label {
    max-width: calc(100% - 150px);
}

.public-product-page--figma .public-product-page__access .public-product-page__option-price {
    color: #F5F0E8;
    font-family: "DM Serif Display", Georgia, serif;
    font-size: 42px;
    font-weight: 400;
    line-height: 1;
    margin: 0;
    white-space: nowrap;
}

.public-product-page--figma .public-product-page__access .public-product-page__option-price + .public-product-page__option-description {
    color: #7A8FA6;
    font-size: 13px;
    line-height: 1.5;
    margin: 16px 0 0;
}

.public-product-page--figma .public-product-page__access .public-product-page__option-description + .public-product-page__option-duration { margin-top: 8px; }

.public-product-page--figma .public-product-page__access .public-product-page__option-duration,
.public-product-page--figma .public-product-page__access .public-product-page__option-scope {
    color: #B8C8D8;
    font-size: 13px;
    line-height: 1.5;
}

.public-product-page--figma .public-product-page__access .public-product-page__option-duration { margin: 18px 0 0; }
.public-product-page--figma .public-product-page__access .public-product-page__option-scope { margin: 8px 0 0; }

.public-product-page--figma .public-product-page__option-features {
    color: #B8C8D8;
    display: grid;
    font-size: 13px;
    gap: 10px;
    line-height: 1.5;
    list-style: none;
    margin: 20px 0 28px;
    padding: 0;
}

.public-product-page--figma .public-product-page__option-features li {
    padding-left: 16px;
    position: relative;
}

.public-product-page--figma .public-product-page__option-features li::before {
    color: var(--landing-sage);
    content: '·';
    left: 0;
    position: absolute;
}

.public-product-page--figma .public-product-page__access .public-product-page__option-action {
    align-self: stretch;
    background: transparent;
    border-color: rgba(255, 255, 255, .25);
    color: #E8F0F8;
    font-size: 13px;
    margin-top: auto;
    padding: 12px 20px;
}

.public-product-page--figma .public-product-page__access .public-product-page__option-action:hover,
.public-product-page--figma .public-product-page__access .public-product-page__option-action:focus-visible {
    background: rgba(255, 255, 255, .08);
    border-color: rgba(255, 255, 255, .35);
}

.public-product-page--figma .public-product-page__access .public-product-page__option.is-recommended .public-product-page__option-action {
    background: #F5F0E8;
    border-color: #F5F0E8;
    color: #1e3a5f;
}

.public-product-page--figma .public-product-page__access .public-product-page__option.is-recommended .public-product-page__option-action:hover,
.public-product-page--figma .public-product-page__access .public-product-page__option.is-recommended .public-product-page__option-action:focus-visible {
    background: #fff;
    border-color: #fff;
    color: #1e3a5f;
}

.public-product-page--figma .public-product-page__access .public-product-page__option-action:focus-visible {
    outline: 2px solid #F5F0E8;
    outline-offset: 3px;
}

.public-product-page--figma .public-product-page__purchase-steps {
    border-top: 1px solid rgba(255, 255, 255, .1);
    padding-top: 28px;
}

.public-product-page--figma .public-product-page__purchase-steps-label {
    color: rgba(255, 255, 255, .3);
    font-size: 11px;
    letter-spacing: .1em;
    margin: 0 0 20px;
}

.public-product-page--figma .public-product-page__purchase-steps ol {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}

.public-product-page--figma .public-product-page__purchase-steps li {
    display: flex;
    gap: 16px;
}

.public-product-page--figma .public-product-page__purchase-steps span {
    color: var(--landing-sage);
    flex: 0 0 auto;
    font-size: 11px;
    letter-spacing: .1em;
    margin-top: 2px;
}

.public-product-page--figma .public-product-page__purchase-steps p {
    color: #7A8FA6;
    font-size: 13px;
    line-height: 1.55;
    margin: 0;
}

.public-product-page--figma .public-product-page__final-cta > .public-product-page__container > div {
    align-items: center;
    display: flex;
    gap: 32px;
    justify-content: space-between;
}

.public-product-page--figma .public-product-page__final-cta h2 {
    font-size: clamp(24px, 3vw, 32px);
    letter-spacing: -.02em;
    line-height: 1.1;
    margin: 0;
    max-width: 480px;
}

.public-product-page--figma .public-product-page__final-cta p {
    color: #5C5750;
    font-size: 15px;
    line-height: 1.6;
    margin: 12px 0 0;
    max-width: 480px;
}

.public-product-page--figma .public-product-page__final-cta-action {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    gap: 12px;
}

.public-product-page--figma .public-product-page__final-cta-action small {
    color: #8A8580;
    font-size: 12px;
    line-height: 1.5;
    margin: 0;
    max-width: none;
}

/* Keep the hero's secondary action to Figma's single, restrained underline. */
.public-product-page--figma .public-product-page__details-link {
    background-image: none;
    border-bottom: 0;
    color: var(--landing-navy);
    font-size: 14px;
    text-decoration-color: rgba(30, 58, 95, .4);
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

.public-product-page--figma .public-product-page__details-link:hover,
.public-product-page--figma .public-product-page__details-link:focus-visible {
    color: var(--landing-navy);
    text-decoration-color: var(--landing-navy);
}

@media (min-width: 768px) {
    .public-product-page--figma .public-product-page__hero {
        padding-top: 24px;
    }
}

.product-landing-footer { background: #F5F0E8; }

@media (max-width: 1023px) {
    .public-product-page--figma .public-product-page__hero {
        display: block;
    }
    .public-product-page--figma .public-product-page__hero-media { display: none; }

}

@media (max-width: 767px) {
    .public-product-page--figma .public-product-page__recognition .public-product-page__container,
    .public-product-page--figma .public-product-page__media-value,
    .public-product-page--figma .public-product-page__authors,
    .public-product-page--figma .public-product-page__faq,
    .public-product-page--figma .public-product-page__access,
    .public-product-page--figma .public-product-page__final-cta {
        padding-bottom: 48px;
        padding-top: 48px;
    }

    .public-product-page--figma .public-product-page__recognition-copy,
    .public-product-page--figma .public-product-page__media-value-grid.has-media {
        grid-template-columns: 1fr;
    }

    .public-product-page--figma .public-product-page__recognition-item,
    .public-product-page--figma .public-product-page__recognition-item:nth-child(even) {
        border-left: 0;
        padding-left: 28px;
        padding-right: 0;
    }

    .public-product-page--figma .public-product-page__recognition-item:nth-child(even)::before { left: 0; }

    .public-product-page--figma .public-product-page__access .public-product-page__option { min-height: 0; }

    .public-product-page--figma .public-product-page__purchase-steps ol {
        gap: 18px;
        grid-template-columns: 1fr;
    }

    .public-product-page--figma .public-product-page__final-cta > .public-product-page__container > div {
        align-items: stretch;
        flex-direction: column;
    }

    .public-product-page--figma .public-product-page__editorial { padding-bottom: 48px; padding-top: 48px; }
    .public-product-page--figma .public-product-page__editorial-columns { gap: 24px; grid-template-columns: 1fr; }
    :root { --editorial-body-size: 15px; }
    .public-product-page--figma .public-product-page__editorial-body, .public-product-page--figma .public-product-page__editorial-columns { font-size: var(--editorial-body-size); }
    .public-product-page--figma .public-product-page__rich-content { padding-bottom: 48px; padding-top: 48px; }
    .public-product-page--figma .public-product-page__rich-content-intro, .public-product-page--figma .public-product-page__rich-content-row { font-size: 15px; }
    .public-product-page--figma .public-product-page__rich-content-row.is-split { gap: 24px; grid-template-columns: 1fr; }
    .public-product-page--figma .public-product-page__rich-content-block blockquote { font-size: 20px; }
    .public-product-page--figma .public-product-page__media-value--image-text, .public-product-page--figma .public-product-page__media-value--video-text { padding-bottom: 48px; padding-top: 48px; }
    .public-product-page--figma .public-product-page__media-stack.is-image-text, .public-product-page--figma .public-product-page__media-stack.is-video-text { gap: 24px; grid-template-columns: 1fr; }
    .public-product-page--figma .public-product-page__media-stack.is-image-text.is-image-right .public-product-page__media-frame { grid-column: auto; grid-row: auto; }
    .public-product-page--figma .public-product-page__media-stack.is-video-text.is-video-right .public-product-page__media-frame, .public-product-page--figma .public-product-page__media-stack.is-video-text.is-video-right .public-product-page__media-content { grid-column: auto; grid-row: auto; }
    .public-product-page--figma .public-product-page__media-stack.is-image-pair { gap: 24px; grid-template-columns: 1fr; }
    .public-product-page--figma .public-product-page__media-rich-text { font-size: 15px; }
    .public-product-page--figma .public-product-page__media-rich-text blockquote { font-size: 20px; }

.public-product-page--figma .public-product-page__final-cta-action { align-items: center; }
}

/* Figma keeps media + content as one stack below its lg breakpoint. Video keeps
   the same 56px section rhythm and 48px media-to-content gap at every mobile
   width; Image has its independently certified mobile rhythm. */
@media (max-width: 1023px) {
    .public-product-page--figma .public-product-page__media-stack.is-video-text {
        gap: 48px;
        grid-template-columns: 1fr;
    }

    .public-product-page--figma .public-product-page__media-stack.is-video-text.is-video-right .public-product-page__media-frame,
    .public-product-page--figma .public-product-page__media-stack.is-video-text.is-video-right .public-product-page__media-content {
        grid-column: auto;
        grid-row: auto;
    }
}

@media (max-width: 767px) {
    .public-product-page--figma .public-product-page__media-value--video {
        padding-bottom: 56px;
        padding-top: 56px;
    }

    .public-product-page--figma .public-product-page__media-value--video .public-product-page__container {
        padding-left: 24px;
        padding-right: 24px;
    }
}

/* Canonical Recognition: source-order CSS Grid makes each authored pair one visual row. */
.public-product-page--figma .public-product-page__recognition-copy {
    align-items: stretch;
    column-gap: 0;
    row-gap: 0;
}

.public-product-page--figma .public-product-page__recognition-item {
    box-sizing: border-box;
    display: block;
    min-width: 0;
    padding-bottom: 18px;
    padding-top: 18px;
}

.public-product-page--figma .public-product-page__recognition-item::before {
    line-height: 1.5;
    top: 18px;
}

.public-product-page--figma .public-product-page__recognition-item:nth-child(even) {
    border-left: 1px solid var(--landing-line);
    padding-left: 60px;
}

.public-product-page--figma .public-product-page__recognition-item:nth-child(even)::before {
    left: 32px;
}

.public-product-page--figma .public-product-page__recognition-copy.is-one-column .public-product-page__recognition-item,
.public-product-page--figma .public-product-page__recognition-copy.is-one-column .public-product-page__recognition-item:nth-child(even) {
    border-left: 0;
    padding-left: 0;
}

.public-product-page--figma .public-product-page__recognition-copy.is-one-column .public-product-page__recognition-item::before,
.public-product-page--figma .public-product-page__recognition-copy.is-one-column .public-product-page__recognition-item:nth-child(even)::before {
    content: none;
}

/* Canonical Recognition statements are semantic rich text, not decorative list items. */
.public-product-page--figma ol.public-product-page__recognition-copy > .public-product-page__recognition-item {
    padding-left: 0;
}

.public-product-page--figma ol.public-product-page__recognition-copy > .public-product-page__recognition-item::before {
    content: none;
}

.public-product-page--figma ol.public-product-page__recognition-copy > .public-product-page__recognition-item:nth-child(even) {
    padding-left: 32px;
}

.public-product-page--figma ol.public-product-page__recognition-copy.is-one-column > .public-product-page__recognition-item,
.public-product-page--figma ol.public-product-page__recognition-copy.is-one-column > .public-product-page__recognition-item:nth-child(even) {
    padding-left: 0;
}

.public-product-page--figma .public-product-page__recognition-item p,
.public-product-page--figma .public-product-page__recognition-item ul,
.public-product-page--figma .public-product-page__recognition-item ol {
    margin: 0;
}

.public-product-page--figma .public-product-page__recognition-item ul,
.public-product-page--figma .public-product-page__recognition-item ol {
    line-height: 1.5;
    padding-left: 20px;
}

.public-product-page--figma .public-product-page__recognition-item li + li {
    margin-top: 6px;
}

/* Complete paired grids and let an authored odd final item close its own full row. */
.public-product-page--figma .public-product-page__recognition-copy:not(.is-one-column) > .public-product-page__recognition-item:last-child {
    border-bottom: 1px solid var(--landing-line);
}

@media (min-width: 768px) {
    .public-product-page--figma .public-product-page__recognition-copy:not(.is-one-column) > .public-product-page__recognition-item:nth-last-child(2):nth-child(odd) {
        border-bottom: 1px solid var(--landing-line);
    }

    .public-product-page--figma .public-product-page__recognition-copy:not(.is-one-column) > .public-product-page__recognition-item:last-child:nth-child(odd) {
        border-left: 0;
        grid-column: 1 / -1;
    }
}

.workspace-body .product-public-builder__recognition-rich-label .product-builder__rich-input {
    min-height: 4.8rem;
}

/* Image sources remain Content-owned; the builder only selects an eligible reference. */
.workspace-body .product-public-builder__image-upload,
.workspace-body .product-public-builder__image-picker {
    border: 1px solid var(--product-border);
    border-radius: 7px;
    margin: 0 0 1rem;
    padding: .9rem;
}
.workspace-body .product-public-builder__image-upload h3 {
    font: 700 .86rem Outfit, Inter, sans-serif;
    margin: 0 0 .3rem;
}
.workspace-body .product-public-builder__image-upload > p {
    color: var(--product-muted);
    font-size: .8rem;
    line-height: 1.45;
    margin: 0 0 .75rem;
}
.workspace-body .product-public-builder__image-upload form {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}
.workspace-body .product-public-builder__upload-control {
    align-items: center;
    background: var(--product-surface);
    border: 1px solid var(--product-border);
    border-radius: 6px;
    cursor: pointer;
    display: inline-flex;
    font: 600 .8rem Outfit, Inter, sans-serif;
    min-height: 2.5rem;
    padding: 0 .75rem;
}
.workspace-body .product-public-builder__upload-control:focus-within {
    outline: 2px solid var(--product-green);
    outline-offset: 2px;
}
.workspace-body .product-public-builder__upload-control input {
    height: 1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    width: 1px;
}
.workspace-body .product-public-builder__selected-image {
    align-items: center;
    background: var(--product-alt);
    border: 1px solid var(--product-border);
    border-radius: 6px;
    display: grid;
    gap: .75rem;
    grid-template-columns: 7rem minmax(0, 1fr);
    margin: 0 auto .85rem;
    overflow: hidden;
    padding: .55rem;
}
.workspace-body .product-public-builder__selected-image--width-normal { max-width: 34rem; }
.workspace-body .product-public-builder__selected-image--width-wide { max-width: none; }
.workspace-body .product-public-builder__selected-image img {
    border-radius: 4px;
    display: block;
    height: auto;
    max-height: 5.25rem;
    max-width: 7rem;
    object-fit: contain;
    width: auto;
}
.workspace-body .product-public-builder__selected-image--ratio-16-9 img { aspect-ratio: 16 / 9; max-height: none; max-width: none; object-fit: cover; object-position: center; width: 7rem; }
.workspace-body .product-public-builder__selected-image--ratio-4-3 img { aspect-ratio: 4 / 3; max-height: none; max-width: none; object-fit: cover; object-position: center; width: 7rem; }
.workspace-body .product-public-builder__selected-image--ratio-1-1 img { aspect-ratio: 1 / 1; max-height: none; max-width: none; object-fit: cover; object-position: center; width: 7rem; }
.workspace-body .product-public-builder__selected-image figcaption {
    display: grid;
    gap: .18rem;
    min-width: 0;
}
.workspace-body .product-public-builder__selected-image strong,
.workspace-body .product-public-builder__selected-image span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.workspace-body .product-public-builder__selected-image span,
.workspace-body .product-public-builder__selected-image small {
    color: var(--product-muted);
    font-size: .75rem;
}
.workspace-body .product-public-builder__selected-image.is-empty {
    display: block;
}
.workspace-body .product-public-builder__selected-image.is-empty p {
    color: var(--product-muted);
    font-size: .8rem;
    margin: .3rem;
}
.workspace-body .product-public-builder__author-portrait-preview img {
    aspect-ratio: 1;
    border: 1px solid var(--product-line);
    border-radius: 50%;
    height: 4rem;
    max-height: 4rem;
    max-width: 4rem;
    object-fit: cover;
    width: 4rem;
}
.workspace-body .product-public-builder__image-choice--remove {
    align-content: center;
    background: var(--product-alt);
    min-height: 7.5rem;
}
.workspace-body .product-public-builder__image-choice--remove span {
    align-content: center;
    height: 100%;
}
.workspace-body .product-public-builder__image-library > summary {
    color: var(--product-green);
    cursor: pointer;
    font: 650 .82rem Outfit, Inter, sans-serif;
}
.workspace-body .product-public-builder__image-choices {
    border: 0;
    margin: .85rem 0 0;
    padding: 0;
}
.workspace-body .product-public-builder__image-choices legend {
    color: var(--product-muted);
    font-size: .76rem;
    margin-bottom: .55rem;
}
.workspace-body .product-public-builder__image-grid {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.workspace-body .product-public-builder__image-choice {
    border: 1px solid var(--product-border);
    border-radius: 6px;
    cursor: pointer;
    display: grid;
    gap: .45rem;
    min-width: 0;
    overflow: hidden;
    padding: .4rem;
    position: relative;
}
.workspace-body .product-public-builder__image-choice:hover,
.workspace-body .product-public-builder__image-choice:focus-within,
.workspace-body .product-public-builder__image-choice.is-selected {
    border-color: var(--product-green);
    box-shadow: 0 0 0 1px var(--product-green);
}
.workspace-body .product-public-builder__image-choice input {
    accent-color: var(--product-green);
    margin: .1rem;
    position: absolute;
    right: .35rem;
    top: .35rem;
}
.workspace-body .product-public-builder__image-choice img {
    aspect-ratio: 4 / 3;
    border-radius: 4px;
    display: block;
    object-fit: cover;
    width: 100%;
}
.workspace-body .product-public-builder__image-choice span {
    display: grid;
    gap: .12rem;
    min-width: 0;
}
.workspace-body .product-public-builder__image-choice strong,
.workspace-body .product-public-builder__image-choice small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.workspace-body .product-public-builder__image-choice strong { font-size: .75rem; }
.workspace-body .product-public-builder__image-choice small { color: var(--product-muted); font-size: .68rem; }
.workspace-body .product-public-builder__image-pagination {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .8rem;
}
.workspace-body .product-public-builder__image-pagination span { color: var(--product-muted); font-size: .75rem; }

@media (max-width: 760px) {
    .workspace-body .product-public-builder__image-upload form { align-items: stretch; }
    .workspace-body .product-public-builder__upload-control,
    .workspace-body .product-public-builder__image-upload .button { justify-content: center; width: 100%; }
    .workspace-body .product-public-builder__image-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .workspace-body .product-public-builder__selected-image { grid-template-columns: 5.5rem minmax(0, 1fr); }
    .workspace-body .product-public-builder__selected-image img { max-height: 4.125rem; max-width: 5.5rem; }
    .workspace-body .product-public-builder__selected-image--ratio-16-9 img,
    .workspace-body .product-public-builder__selected-image--ratio-4-3 img,
    .workspace-body .product-public-builder__selected-image--ratio-1-1 img { max-height: none; max-width: none; width: 5.5rem; }
    .workspace-body .product-public-builder__image-text-layout { gap: 16px; grid-template-columns: minmax(0, 1fr); }
    .workspace-body .product-public-builder__image-text[data-image-text-position="image_right"] .product-public-builder__image-text-preview { grid-column: auto; grid-row: auto; }
    .workspace-body .product-public-builder__video-text-layout { gap: 16px; grid-template-columns: minmax(0, 1fr); }
    .workspace-body .product-public-builder__video-text[data-video-text-position="video_right"] .product-public-builder__video-text-preview, .workspace-body .product-public-builder__video-text[data-video-text-position="video_right"] .product-public-builder__video-text-editor { grid-column: auto; grid-row: auto; }
    .workspace-body .product-public-builder__video-text[data-video-text-mode="video_only"][data-video-size="standard"] .product-public-builder__video-text-preview { max-width: 100%; }
    .workspace-body .product-public-builder__image-text-structure-controls { grid-template-columns: minmax(0, 1fr); }
    .workspace-body .product-public-builder__image-pair-preview { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 767px) {
    .public-product-page--figma .public-product-page__recognition-item,
    .public-product-page--figma .public-product-page__recognition-item:nth-child(even) {
        border-left: 0;
        padding-left: 28px;
        padding-right: 0;
    }

    .public-product-page--figma .public-product-page__recognition-item::before,
    .public-product-page--figma .public-product-page__recognition-item:nth-child(even)::before {
        left: 0;
    }

    .public-product-page--figma .public-product-page__recognition-copy.is-one-column .public-product-page__recognition-item,
    .public-product-page--figma .public-product-page__recognition-copy.is-one-column .public-product-page__recognition-item:nth-child(even) {
        padding-left: 0;
    }

    .public-product-page--figma ol.public-product-page__recognition-copy > .public-product-page__recognition-item,
    .public-product-page--figma ol.public-product-page__recognition-copy > .public-product-page__recognition-item:nth-child(even) {
        padding-left: 0;
    }
}
