@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&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&family=PT+Serif:wght@400&family=Source+Sans+3:wght@300;400;500;600;700&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;
}

.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; }
.product-group-meeting {
    border: 1px solid #ded8cd;
    border-left: 3px solid var(--product-green);
    display: grid;
    gap: .65rem;
    margin: 1.5rem 0;
    max-width: 42rem;
    padding: 1.25rem;
}
.product-group-meeting__eyebrow { color: var(--product-green); font-size: .72rem; font-weight: 700; letter-spacing: .08em; margin: 0; }
.product-group-meeting h2 { font-family: Georgia, serif; font-size: 1.55rem; margin: 0; }
.product-group-meeting__time, .product-group-meeting__state { color: var(--product-muted); margin: 0; }
.product-group-meeting__description { margin: 0; white-space: pre-line; }
.product-group-meeting__join { background: var(--product-green); color: #fff; justify-self: start; padding: .65rem 1rem; text-decoration: none; }
.product-builder__group-meeting fieldset { border: 1px solid var(--product-border); display: grid; gap: .45rem; margin: 0; padding: .75rem; }
.product-builder__group-meeting legend { font-size: .8rem; font-weight: 700; padding: 0 .25rem; }
.product-builder__group-meeting [data-product-group-meeting-manual-url][hidden] { display: none; }
@media (max-width: 767px) {
    .product-group-meeting { margin: 1.25rem 0; padding: 1rem; }
    .product-group-meeting__join { width: 100%; text-align: center; }
    .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)); }
}

/* Universal FreePublication Composer: compact authoring zones, no Product or media authority. */
.workspace-body .free-publication-composer__header { align-items:flex-start; display:flex; gap:1rem; justify-content:space-between; }
.workspace-body .free-publication-composer__header h1 { margin:.25rem 0 .45rem; }
.workspace-body .free-publication-composer__header p:last-child { color:#776e62; margin:0; }
.workspace-body .free-publication-composer__back { color:#486641; display:inline-block; font-size:.8125rem; margin-bottom:.75rem; text-decoration:none; }
.workspace-body .free-publication-composer__header-actions { display:flex; flex:0 0 auto; gap:.5rem; }
.workspace-body .free-publication-composer__settings { display:grid; gap:1rem; grid-template-columns:minmax(0,1fr); margin-top:1.25rem; min-width:0; }
.workspace-body .free-publication-composer__settings > * { min-width:0; width:100%; }
.workspace-body .free-publication-composer__settings > header h2,.workspace-body .free-publication-composer__section-header h2 { font-family:Lora,Georgia,serif; font-size:1.35rem; font-weight:500; margin:0; }
.workspace-body .free-publication-composer__metadata { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:none; }
.workspace-body .free-publication-composer__metadata .field:first-of-type,.workspace-body .free-publication-composer__metadata .field:nth-of-type(2),.workspace-body .free-publication-composer__metadata .field:nth-of-type(4),.workspace-body .free-publication-composer__slug,.workspace-body .free-publication-composer__form-actions { grid-column:1 / -1; }
.workspace-body .free-publication-composer__metadata textarea { min-height:5.5rem; }
.workspace-body .free-publication-composer__slug { color:#8a8175; font-size:.75rem; margin:0; }
.workspace-body .free-publication-composer__blocks { border-top:1px solid #ddd6cb; display:grid; gap:1rem; margin-top:1.5rem; padding-top:1.5rem; }
.workspace-body .free-publication-composer__section-header { align-items:center; display:flex; gap:1rem; justify-content:space-between; }
.workspace-body .free-publication-composer__section-header .workspace-page__eyebrow,.workspace-body .free-publication-composer__block .workspace-page__eyebrow { margin:0 0 .35rem; }
.workspace-body .free-publication-composer__add-menu { position:relative; }
.workspace-body .free-publication-composer__add-menu > summary { list-style:none; }
.workspace-body .free-publication-composer__add-menu > summary::-webkit-details-marker { display:none; }
.workspace-body .free-publication-composer__add-options { background:#fdfcf8; border:1px solid #ddd6cb; border-radius:6px; box-shadow:0 10px 24px rgba(38,34,26,.12); box-sizing:border-box; display:grid; gap:.75rem; margin-top:.5rem; max-height:min(75vh,52rem); min-width:0; overflow-y:auto; padding:1rem; position:absolute; right:0; top:100%; width:min(42rem,calc(100vw - 3rem)); z-index:2; }
.workspace-body .free-publication-composer__add-options-header { border-bottom:1px solid #e5dfd5; display:grid; gap:.2rem; padding:.15rem .15rem .8rem; }
.workspace-body .free-publication-composer__add-options-header p:last-child { color:#776e62; font-size:.875rem; margin:0; }
.workspace-body .free-publication-composer__add-options form { background:#fff; border:1px solid #ddd6cb; border-left:3px solid #486641; border-radius:6px; display:grid; gap:.75rem; min-width:0; padding:1rem; }
.workspace-body .free-publication-composer__add-options form:nth-of-type(3n+2) { border-left-color:#b66b4b; }
.workspace-body .free-publication-composer__add-options form:nth-of-type(3n+3) { border-left-color:#526b8c; }
.workspace-body .free-publication-composer__add-options form .workspace-page__eyebrow { margin:0; }
.workspace-body .free-publication-composer__add-options > .product-builder__rich-link { margin:0; }
.workspace-body .free-publication-composer__block-list { display:grid; gap:.75rem; list-style:none; margin:0; padding:0; }
.workspace-body .free-publication-composer__block { background:#fff; border:1px solid #ddd6cb; border-radius:6px; display:grid; gap:.85rem; padding:1rem; }
.workspace-body .free-publication-composer__block > header { align-items:flex-start; display:flex; gap:1rem; justify-content:space-between; }
.workspace-body .free-publication-composer__block-summary { color:#5e574e; font-size:.875rem; line-height:1.45; margin:0; max-width:48rem; }
.workspace-body .free-publication-composer__block-content { margin:0; }
.workspace-body .free-publication-composer__block-content p:last-child { margin-bottom:0; }
.workspace-body .free-publication-composer__block-actions { display:flex; flex:0 0 auto; flex-wrap:wrap; gap:.35rem; }
.workspace-body .free-publication-composer__block-actions form { margin:0; }
.workspace-body .free-publication-composer__edit { border-top:1px solid #e5dfd5; padding-top:.75rem; }
.workspace-body .free-publication-composer__edit > summary { color:#486641; cursor:pointer; font-size:.875rem; font-weight:650; }
.workspace-body .free-publication-composer__edit form { margin-top:.85rem; max-width:none; }
.workspace-body .free-publication-image-picker { border:0; display:grid; gap:.65rem; margin:0; padding:0; }
.workspace-body .free-publication-image-picker__item { align-items:center; border:1px solid #ddd6cb; border-radius:6px; display:grid; gap:.2rem .65rem; grid-template-columns:auto 3rem minmax(0,1fr); padding:.55rem; }
.workspace-body .free-publication-image-picker__item:has(input:checked) { border-color:#486641; box-shadow:0 0 0 1px #486641; }
.workspace-body .free-publication-image-picker__item img { background:#f4f1eb; height:3rem; object-fit:cover; width:3rem; }
.workspace-body .free-publication-image-picker__item span,.workspace-body .free-publication-image-picker__item small { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.workspace-body .free-publication-image-picker__item small { color:#776e62; font-size:.75rem; grid-column:3; }
.free-publication-image { margin:0; min-width:0; }
.free-publication-image__frame { background:#f4f1eb; border-radius:2px; display:block; overflow:hidden; }
.free-publication-image__frame > img { display:block; object-position:center; }
.free-publication-image--standalone { margin:2rem auto; width:100%; }
.free-publication-image--standalone.free-publication-image--size-small { max-width:18rem; }
.free-publication-image--standalone.free-publication-image--size-standard { max-width:30rem; }
.free-publication-image--standalone.free-publication-image--size-wide { max-width:38rem; }
.free-publication-image--standalone.free-publication-image--size-small .free-publication-image__frame { height:12rem; max-height:12rem; width:100%; }
.free-publication-image--standalone.free-publication-image--size-standard .free-publication-image__frame { height:17rem; max-height:17rem; width:100%; }
.free-publication-image--standalone.free-publication-image--size-wide .free-publication-image__frame { height:20.9375rem; max-height:20.9375rem; width:100%; }
.free-publication-image:not(.is-cropped):not(.free-publication-image--pair) .free-publication-image__frame { align-items:center; display:flex; height:auto; justify-content:center; max-height:20.9375rem; }
.free-publication-image:not(.is-cropped):not(.free-publication-image--pair) .free-publication-image__frame > img { height:auto; max-height:20.9375rem; max-width:100%; object-fit:contain; width:auto; }
.free-publication-image--standalone.free-publication-image--size-small:not(.is-cropped) .free-publication-image__frame,.free-publication-image--standalone.free-publication-image--size-small:not(.is-cropped) .free-publication-image__frame > img { max-height:12rem; }
.free-publication-image--standalone.free-publication-image--size-standard:not(.is-cropped) .free-publication-image__frame,.free-publication-image--standalone.free-publication-image--size-standard:not(.is-cropped) .free-publication-image__frame > img { max-height:17rem; }
.free-publication-image--image-text:not(.is-cropped) .free-publication-image__frame,.free-publication-image--image-text:not(.is-cropped) .free-publication-image__frame > img { max-height:8.125rem; }
.free-publication-image.is-cropped .free-publication-image__frame > img,.free-publication-image--pair .free-publication-image__frame > img { height:100%; object-fit:cover; width:100%; }
.free-publication-image figcaption { color:#776e62; font-size:.875rem; margin-top:.5rem; }
.free-publication-image-text { align-items:start; display:grid; gap:20px; grid-template-columns:11.25rem minmax(0,1fr); margin:2rem 0; }
.free-publication-image-text .free-publication-image--image-text { width:11.25rem; }
.free-publication-image-text .free-publication-image--image-text .free-publication-image__frame { height:8.125rem; max-height:8.125rem; width:100%; }
.free-publication-image-text .free-publication-image--image-text:not(.is-cropped) .free-publication-image__frame { height:auto; max-height:8.125rem; }
.free-publication-image-text .free-publication-image--image-text:not(.is-cropped) .free-publication-image__frame > img { height:auto; max-height:8.125rem; max-width:100%; object-fit:contain; width:auto; }
.free-publication-image-text.is-image-right .free-publication-image { grid-column:2; grid-row:1; }
.free-publication-image-text__copy { min-width:0; }
.free-publication-image-text__subheading { color:#486641; font-family:Inter,system-ui,sans-serif; font-size:.7rem; font-weight:650; letter-spacing:0; line-height:1.2; margin:0 0 1rem; text-transform:uppercase; }
.free-publication-image-text__copy h2 { font-family:Lora,Georgia,serif; font-size:2rem; font-weight:500; line-height:1.15; margin:0 0 1rem; }
.free-publication-two-images { display:grid; gap:.75rem; grid-template-columns:repeat(2,minmax(0,1fr)); margin:2rem 0; }
.free-publication-two-images .free-publication-image--pair { min-width:0; width:100%; }
.free-publication-two-images .free-publication-image--pair .free-publication-image__frame { height:12.5rem; max-height:12.5rem; width:100%; }
.free-publication-youtube-video { margin:2rem 0; max-width:48rem; }
.free-publication-youtube-video iframe { aspect-ratio:16 / 9; border:0; display:block; height:auto; width:100%; }
.free-publication-youtube-video__caption { color:#776e62; font-size:.875rem; margin:.5rem 0 0; }
.free-publication-audio { margin:2rem 0; max-width:48rem; }
.free-publication-audio audio { display:block; max-width:100%; width:100%; }
.free-publication-audio__caption { color:#776e62; font-size:.875rem; margin:0 0 .5rem; }
.free-publication-audio-picker { border:0; margin:0; padding:0; }
.free-publication-audio-picker__item { align-items:center; border:1px solid #ddd6ca; display:flex; gap:.5rem; margin:.5rem 0; padding:.625rem .75rem; }
.free-publication-audio-picker__item.is-selected { border-color:#4a7047; }
.free-publication-audio + .free-publication-composer__edit { display:none; }
.free-publication-pdf-material { border-top:1px solid #ddd6ca; margin:2rem 0; max-width:48rem; padding-top:1.5rem; }
.free-publication-pdf-material h2 { margin:0 0 .5rem; }
.free-publication-pdf-material__actions { display:flex; flex-wrap:wrap; gap:.75rem; margin:1rem 0 0; }
.workspace-body .free-publication-image-text-form__placement { border:0; display:flex; flex-wrap:wrap; gap:.75rem; margin:0; padding:0; }
.workspace-body .free-publication-image-text-form__placement legend { font-size:.875rem; font-weight:650; margin-bottom:.35rem; }
.workspace-body .free-publication-image-presentation-size { border:0; display:flex; flex-wrap:wrap; gap:.75rem; margin:0; padding:0; }
.workspace-body .free-publication-image-presentation-size legend { font-size:.875rem; font-weight:650; margin-bottom:.35rem; width:100%; }
.workspace-body .free-publication-composer__empty { background:#f8f6f0; border:1px dashed #d8d0c4; border-radius:6px; color:#776e62; font-size:.9375rem; margin:0; padding:1rem; }
.workspace-body .free-publication-composer__actions { align-items:center; border-top:1px solid #ddd6cb; display:flex; gap:1rem; margin-top:1.5rem; padding-top:1rem; }
.workspace-body .free-publication-composer__actions form { margin:0; }
.workspace-body .free-publication-composer__actions p { color:#776e62; font-size:.8125rem; line-height:1.45; margin:0; }
.workspace-body .free-publication-delete-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; }
.workspace-body .free-publication-delete-dialog::backdrop { background:color-mix(in srgb,var(--color-text) 32%,transparent); }
.workspace-body .free-publication-delete-dialog section { display:grid; gap:var(--space-3); padding:var(--space-5); }
.workspace-body .free-publication-delete-dialog h2,.workspace-body .free-publication-delete-dialog p { margin:0; }
.workspace-body .free-publication-delete-dialog__actions { display:flex; flex-wrap:wrap; gap:var(--space-2); }
.workspace-body .free-publication-delete-dialog__actions form { margin:0; }
.workspace-body .free-publication-composer__readonly { display:grid; gap:.25rem 1rem; grid-template-columns:8rem 1fr; margin:0; }
.workspace-body .free-publication-composer__readonly dt { color:#776e62; font-size:.8125rem; }
.workspace-body .free-publication-composer__readonly dd { margin:0; }
.workspace-body .free-publications-page__header { align-items:flex-start; display:flex; gap:1rem; justify-content:space-between; }
.workspace-body .free-publications-page__create { position:relative; }
.workspace-body .free-publications-page__create > summary { list-style:none; }
.workspace-body .free-publications-page__create > summary::-webkit-details-marker { display:none; }
.workspace-body .free-publications-page__create form { background:#fdfcf8; border:1px solid #ddd6cb; border-radius:6px; box-shadow:0 10px 24px rgba(38,34,26,.12); display:grid; gap:.75rem; margin-top:.5rem; padding:1rem; position:absolute; right:0; width:min(24rem,calc(100vw - 3rem)); z-index:2; }
.workspace-body .free-publications-page__list { display:grid; gap:.75rem; margin-top:1rem; }
.workspace-body .free-publications-page__filters { align-items:end; display:grid; gap:.75rem; grid-template-columns:minmax(0,1fr) minmax(10rem,14rem) auto; margin-top:1rem; }
.workspace-body .free-publications-page__filters .field { margin:0; }
.workspace-body .free-publications-page__filter-actions { align-items:center; display:flex; flex-wrap:wrap; gap:.5rem; }
.workspace-body .free-publications-page__item { align-items:center; display:flex; gap:1rem; justify-content:space-between; margin:0; padding:1rem 1.1rem; }
.workspace-body .free-publications-page__item-actions { align-items:center; display:flex; flex-wrap:wrap; gap:.5rem; justify-content:flex-end; }
.workspace-body .free-publications-page__item-actions form { margin:0; }
.workspace-body .free-publications-page__item h2 { font-family:Lora,Georgia,serif; font-size:1.2rem; font-weight:500; margin:0; }
.ask-question-page { background:#faf8f4; color:#1b1916; }
.ask-question-page__inner { margin:0 auto; max-width:800px; padding:2.5rem 1.5rem 4rem; }
.ask-question-local-nav { border-bottom:1px solid #ddd8cf; display:flex; gap:.5rem; margin-bottom:2.5rem; padding-bottom:1rem; }
.ask-question-local-nav a,.ask-question-local-nav span { border:1px solid #ddd8cf; color:#655f56; font-size:.875rem; padding:.55rem .8rem; text-decoration:none; }
.ask-question-local-nav a { background:#fff; color:#1c355c; font-weight:650; }
.ask-question-local-nav a:hover { background:#f3f5f8; border-color:#b7c1d0; color:#132b4d; }
.ask-question-local-nav a:focus-visible { outline:2px solid #1c355c; outline-offset:2px; }
.ask-question-local-nav a[aria-current="page"] { background:#1c355c; border-color:#1c355c; color:#fff; }
.ask-question-local-nav span { cursor:default; opacity:.72; }
.ask-question-page__intro { border-bottom:1px solid #e3ddd3; margin-bottom:1.75rem; padding-bottom:1.75rem; }
.ask-question-page__eyebrow { color:#756e65; font-size:.72rem; font-weight:700; letter-spacing:.08em; margin:0 0 .55rem; text-transform:uppercase; }
.ask-question-page__intro h1 { color:#1b1916; font-family:Lora,Georgia,serif; font-size:clamp(2rem,4vw,2.6rem); font-weight:500; line-height:1.18; margin:0 0 .75rem; }
.ask-question-page__intro p { color:#625d55; font-size:1rem; line-height:1.65; margin:0; max-width:38rem; }
.ask-question-back { color:#1c355c; display:inline-block; font-size:.9rem; font-weight:700; margin-bottom:1.25rem; text-decoration:none; }
.ask-question-delivery { display:grid; gap:1rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.ask-question-delivery__option,.ask-question-answer { background:#fff; border:1px solid #ddd8cf; padding:1.35rem; }
.ask-question-delivery__option { display:flex; flex-direction:column; }
.ask-question-delivery__option--cabinet { border-color:#1c355c; box-shadow:inset 0 0 0 1px #1c355c; }
.ask-question-delivery__continuation { background:#fff; border:1px solid #ddd8cf; display:grid; gap:1rem; max-width:34rem; padding:1.35rem; }
.ask-question-delivery__continuation p { color:#625d55; line-height:1.6; margin:0; }
.ask-question-delivery__continuation .button { justify-self:start; }
.ask-question-delivery__change { color:#1c2b4a; font-size:.875rem; font-weight:600; }
.ask-question-delivery__option h2,.ask-question-answer h2,.ask-question-answer h3 { color:#1b1916; font-family:Lora,Georgia,serif; font-weight:500; margin:0 0 .65rem; }
.ask-question-delivery__option p,.ask-question-answer p { color:#625d55; line-height:1.6; }
.ask-question-delivery__option > form:last-child { margin-top:auto; padding-top:1rem; }
.ask-question-delivery__option label { color:#59544c; display:block; font-size:.78rem; font-weight:700; letter-spacing:.08em; margin:1rem 0; text-transform:uppercase; }
.ask-question-delivery__option input { background:#fff; border:1px solid #d8d2c9; box-sizing:border-box; font:inherit; margin-top:.45rem; padding:.75rem; width:100%; }
.ask-question-delivery__option .button { width:100%; }
.ask-question-delivery__notice { background:#edf5ef; border-left:3px solid #2d6a46; color:#245738; line-height:1.6; margin:0 0 1rem; padding:.8rem 1rem; }
.ask-question-answer__context { border-bottom:1px solid #ddd8cf; padding-bottom:1.2rem; }
.ask-question-answer { display:grid; gap:1.35rem; }
.ask-question-answer__question { border-bottom:1px solid #ddd8cf; padding-bottom:1.25rem; }
.ask-question-answer__question .ask-question-answer__context { border:0; margin-bottom:0; padding-bottom:0; }
.ask-question-answer__response { border-left:2px solid #1c2b4a; padding-left:1rem; }
.ask-question-answer__response > p:last-child { color:#2f2c28; font-size:1rem; margin:0; }
.ask-public-answers { display:grid; gap:0; border-top:1px solid #ddd8cf; }
.ask-public-answers__item { border-bottom:1px solid #ddd8cf; padding:1.35rem 0; }
.ask-public-answers__item h2,.ask-public-answer h1 { color:#1b1916; font-family:Lora,Georgia,serif; font-weight:500; }
.ask-public-answers__item h2 { font-size:1.45rem; margin:.35rem 0 .6rem; }
.ask-public-answers__item h2 a { color:inherit; text-decoration:none; }
.ask-public-answers__item p,.ask-public-answer__body { color:#39352f; line-height:1.7; }
.ask-public-answers__item > a { color:#1c355c; font-size:.9rem; font-weight:700; text-decoration:none; }
.ask-question-page--answers { background:#f8f6f1; }
.ask-question-page--answers .ask-question-page__inner { max-width:72rem; padding-bottom:4.5rem; }
.ask-public-answers__intro { border-bottom:0; display:grid; gap:.7rem; margin-bottom:2.25rem; max-width:43rem; padding-bottom:0; }
.ask-public-answers__intro h1 { font-size:clamp(2.15rem,4vw,3.1rem); margin:0; }
.ask-public-answers__intro p { max-width:40rem; }
.ask-public-answers__toolbar { align-items:center; border-bottom:1px solid #ddd8cf; border-top:1px solid #ddd8cf; display:flex; gap:1rem; justify-content:space-between; margin-bottom:1.5rem; padding:1rem 0; }
.ask-public-answers__toolbar input { background:#fff; border:1px solid #d8d2c9; border-radius:4px; box-sizing:border-box; color:#1b1916; font:inherit; min-height:2.75rem; padding:.65rem .85rem; width:min(100%,27rem); }
.ask-public-answers__toolbar input:focus { border-color:#1c355c; outline:2px solid color-mix(in srgb,#1c355c 20%,transparent); outline-offset:1px; }
.ask-public-answers__toolbar p { color:#756e65; font-size:.8125rem; margin:0; white-space:nowrap; }
.ask-public-answers { display:grid; gap:1rem; border:0; grid-template-columns:repeat(2,minmax(0,1fr)); }
.ask-public-answers__item { background:#fff; border:1px solid #ddd8cf; display:flex; flex-direction:column; min-height:15.5rem; padding:1.4rem; transition:border-color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast); }
.ask-public-answers__item:hover { border-color:#9eabbc; box-shadow:var(--shadow-sm); transform:translateY(-2px); }
.ask-public-answers__item-meta { align-items:center; display:flex; gap:.75rem; justify-content:space-between; }
.ask-public-answers__item .eyebrow { color:#8a624f; font-size:.68rem; margin:0; }
.ask-public-answers__item time { color:#81796f; font-size:.75rem; white-space:nowrap; }
.ask-public-answers__item h2 { font-size:1.55rem; line-height:1.23; margin:.9rem 0 .65rem; }
.ask-public-answers__item h2 a:hover,.ask-public-answers__item h2 a:focus-visible { color:#1c355c; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.16em; }
.ask-public-answers__item > p { color:#5c574f; font-size:.94rem; line-height:1.65; margin:0; }
.ask-public-answers__read { align-items:center; color:#1c355c; display:inline-flex; font-size:.875rem; font-weight:700; gap:.4rem; margin-top:auto; padding-top:1.35rem; text-decoration:none; }
.ask-public-answers__read:hover,.ask-public-answers__read:focus-visible { color:#a85f45; }
.ask-public-answers__empty,.ask-public-answers__no-results { background:#fff; border:1px dashed #d8d2c9; color:#625d55; line-height:1.6; margin:0; padding:1.35rem; }
@media (max-width:640px) { .ask-question-page--answers .ask-question-page__inner { padding-bottom:3rem; } .ask-public-answers__intro { margin-bottom:1.6rem; } .ask-public-answers__toolbar { align-items:stretch; flex-direction:column; gap:.65rem; } .ask-public-answers__toolbar input { width:100%; } .ask-public-answers__toolbar p { white-space:normal; } .ask-public-answers { grid-template-columns:1fr; } .ask-public-answers__item { min-height:0; padding:1.2rem; } .ask-public-answers__item:hover { transform:none; } }
.ask-public-answer { max-width:46rem; }
.ask-public-answer__preview-notice { background:#eef3fa; border-left:3px solid #1c355c; color:#1c355c; font-size:.9rem; font-weight:700; margin:0 0 1.25rem; padding:.75rem 1rem; }
.ask-public-answer__date { color:#8c877e; font-size:.8125rem; margin:0 0 1.25rem; }
.ask-public-answer__question { background:#fdfcf8; border:1px solid #ddd8cf; border-radius:4px; margin-bottom:2.25rem; padding:1.5rem; }
.ask-public-answer__question h1 { font-size:1.7rem; line-height:1.28; margin:.35rem 0 .8rem; }
.ask-public-answer__question p { color:#5c574f; font-size:.9375rem; line-height:1.72; margin:0; max-width:38rem; }
.ask-public-answer__answer > .eyebrow { color:#1d304f; margin-bottom:1.35rem; }
.ask-public-answer__blocks { display:grid; gap:1.75rem; }
.ask-public-answer__body,.ask-public-answer__rich-text { max-width:42rem; color:#2a2620; font-size:1rem; line-height:1.78; }
.ask-public-answer__rich-text > :first-child { margin-top:0; }
.ask-public-answer__rich-text > :last-child { margin-bottom:0; }
.ask-public-answer__rich-text p { margin:0 0 .9em; }
.ask-public-answer__rich-text ul,.ask-public-answer__rich-text ol { margin:.75em 0; padding-left:1.25em; }
.ask-public-answer__rich-text li { margin-bottom:.4em; }
.ask-public-answer__rich-text h2,.ask-public-answer__rich-text h3 { color:#1b1916; font-family:Lora,Georgia,serif; font-weight:500; line-height:1.25; margin:1.35em 0 .55em; }
.ask-public-answer__rich-text blockquote,.ask-public-answer__accent { background:#f0f3f8; border-left:3px solid #1c355c; border-radius:0 2px 2px 0; color:#2a2620; font-family:Lora,Georgia,serif; font-size:1.13rem; font-style:italic; line-height:1.55; margin:0; padding:.85rem 1.1rem; }
.ask-public-answer__rich-text blockquote p { margin:0; }
.ask-public-answer__rich-text blockquote > :not(:last-child) { margin-bottom:.55rem; }
.ask-public-answer__accent footer { color:#766f66; font-family:Inter,Arial,sans-serif; font-size:.88rem; margin-top:.65rem; }
.ask-public-answer__image,.ask-public-answer__youtube,.ask-public-answer__audio,.ask-public-answer__resource,.ask-public-answer__presentation.product-presentation { margin:0; }.ask-public-answer__image img { display:block; height:auto; max-width:100%; }.ask-public-answer__image--small,.ask-public-answer__image--normal { margin-inline:auto; width:fit-content; }.ask-public-answer__image--small { max-width:16rem; }.ask-public-answer__image--normal { max-width:32rem; }.ask-public-answer__image--small img,.ask-public-answer__image--normal img { margin-inline:auto; width:auto; }.ask-public-answer__image--wide { max-width:100%; width:100%; }.ask-public-answer__image--wide img { margin-inline:auto; width:100%; }.ask-public-answer__image figcaption { color:#766f66; font-size:.88rem; line-height:1.5; margin-top:.55rem; text-align:center; }
.ask-public-answer__youtube { aspect-ratio:16/9; }.ask-public-answer__youtube iframe { border:0; height:100%; width:100%; }
.ask-public-answer__audio { background:#fdfcf8; border:1px solid #ddd8cf; padding:1rem; }.ask-public-answer__audio p { font-weight:700; margin:0 0 .65rem; }.ask-public-answer__audio audio { max-width:100%; width:100%; }
.ask-public-answer__file { align-items:center; background:#fdfcf8; border:1px solid #ddd8cf; color:#1c355c; display:flex; gap:1rem; justify-content:space-between; margin:0; min-height:4.25rem; padding:.8rem 1rem; text-decoration:none; }.ask-public-answer__resource-identity { align-items:center; display:flex; gap:.75rem; min-width:0; }.ask-public-answer__resource-icon { border:1px solid #9d9387; display:block; flex:0 0 1.75rem; height:2rem; position:relative; width:1.5rem; }.ask-public-answer__resource-icon--file::after { border-top:1px solid #9d9387; border-bottom:1px solid #9d9387; content:""; height:.35rem; left:.3rem; position:absolute; right:.3rem; top:.65rem; }.ask-public-answer__resource-icon--link { border-color:#1c355c; border-radius:50%; height:1.55rem; width:1.55rem; }.ask-public-answer__resource-icon--link::after { color:#1c355c; content:"↗"; font-size:1rem; left:.3rem; line-height:1; position:absolute; top:.22rem; }.ask-public-answer__resource-copy { display:grid; gap:.18rem; min-width:0; }.ask-public-answer__resource-copy strong { font-size:.95rem; line-height:1.35; overflow-wrap:anywhere; }.ask-public-answer__resource-copy small { color:#766f66; font-size:.76rem; font-weight:500; line-height:1.35; }.ask-public-answer__resource-action { align-items:center; display:inline-flex; flex:0 0 auto; font-size:.82rem; font-weight:700; gap:.35rem; white-space:nowrap; }.ask-public-answer__file:hover { background:#f3f5f8; border-color:#b7c1d0; color:#132b4d; }.ask-public-answer__resource-description { color:#5c574f; font-size:.9375rem; line-height:1.65; margin:.7rem 0 0; max-width:42rem; }
.ask-public-answer__presentation.product-presentation { border-color:#ddd8cf; border-radius:4px; max-width:42rem; }.ask-public-answer__presentation.product-presentation > header { background:#fdfcf8; border-color:#ddd8cf; padding:.9rem 1rem; }.ask-public-answer__presentation.product-presentation > header p { color:#756e65; font-family:Inter,Arial,sans-serif; font-size:.72rem; font-weight:700; letter-spacing:.08em; margin:0; text-transform:uppercase; }.ask-public-answer__presentation.product-presentation > header h2 { color:#1b1916; font-family:Lora,Georgia,serif; font-size:1.15rem; font-weight:500; margin:.25rem 0 0; }.ask-public-answer__presentation.product-presentation button { border-color:#ddd8cf; color:#1c355c; }.ask-public-answer__presentation .ask-public-answer__resource-description { margin:.9rem 1rem; }.ask-public-answer__presentation .product-presentation__viewer { background:#f0ede7; min-height:19rem; }.ask-public-answer__presentation .product-presentation__previous,.ask-public-answer__presentation .product-presentation__next { border:0; color:#1c355c; }.ask-public-answer__presentation .product-presentation__viewer > p { background:rgba(28,27,25,.72); font-family:Inter,Arial,sans-serif; }
.ask-public-answer__cta { align-items:center; border-top:1px solid #ddd8cf; display:flex; flex-wrap:wrap; gap:1.25rem; justify-content:space-between; margin-top:2.75rem; padding-top:1.75rem; }.ask-public-answer__cta p { color:#5c574f; line-height:1.6; margin:0; max-width:32rem; }.ask-public-answer__cta .button { background:#1c355c; box-shadow:0 .35rem .9rem rgba(28,53,92,.16); font-weight:700; padding:.8rem 1.3rem; }.ask-public-answer__cta .button:hover,.ask-public-answer__cta .button:focus-visible { background:#132b4d; }
@media (max-width:640px) { .ask-public-answer { max-width:none; }.ask-public-answer__question { margin-bottom:1.75rem; padding:1.1rem; }.ask-public-answer__question h1 { font-size:1.45rem; }.ask-public-answer__blocks { gap:1.35rem; }.ask-public-answer__rich-text blockquote,.ask-public-answer__accent { font-size:1.05rem; padding:.75rem .9rem; }.ask-public-answer__cta .button { width:100%; }.ask-public-answer__presentation .product-presentation__viewer { aspect-ratio:4 / 5; min-height:15.625rem; }.ask-public-answer__presentation.product-presentation > header { align-items:flex-start; gap:.75rem; }.ask-public-answer__presentation.product-presentation > header button { flex:0 0 auto; } }
.ask-question-form .field { margin-bottom:1.25rem; }
.ask-question-form label,.ask-question-form .field-label { color:#59544c; display:block; font-size:.78rem; font-weight:700; letter-spacing:.08em; margin-bottom:.55rem; text-transform:uppercase; }
.ask-question-form input,.ask-question-form textarea { background:#fff; border:1px solid #d8d2c9; border-radius:3px; box-sizing:border-box; color:#1b1916; font:inherit; line-height:1.55; padding:.8rem .9rem; width:100%; }
.ask-question-form textarea { resize:vertical; }
.ask-question-form input:focus,.ask-question-form textarea:focus { border-color:#1c355c; outline:2px solid #dae3f0; outline-offset:1px; }
.field-help { color:#827b71; font-size:.8rem; line-height:1.45; margin:.45rem 0 0; }
.ask-question-mode { border:0; border-top:1px solid #ddd8cf; margin:1.6rem 0; padding:1.25rem 0 0; }
.ask-question-mode legend { color:#59544c; font-size:.78rem; font-weight:700; letter-spacing:.08em; margin-bottom:.75rem; padding:0; text-transform:uppercase; }
.ask-question-mode__choices { display:grid; gap:1rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.ask-question-mode__choice { background:#fff; border:1px solid #d8d2c9; color:#625d55 !important; cursor:pointer; display:grid !important; font-size:.94rem !important; font-weight:400 !important; gap:.7rem; letter-spacing:0 !important; line-height:1.55; margin:0 !important; min-height:10.5rem; padding:1rem; text-transform:none !important; transition:border-color .15s ease,box-shadow .15s ease; }
.ask-question-mode__choice:hover { border-color:#8ea0ba; }
.ask-question-mode__choice.is-selected,.ask-question-mode__choice:has(input:checked) { border-color:#1c355c; box-shadow:inset 0 0 0 1px #1c355c; }
.ask-question-mode__choice:focus-within { outline:2px solid #dae3f0; outline-offset:2px; }
.ask-question-mode__choice input { accent-color:#1c355c; height:1.1rem; margin:0; padding:0; width:1.1rem; }
.ask-question-mode__choice input:disabled { cursor:not-allowed; }
.ask-question-mode__choice:has(input:disabled) { background:#f4f1eb; cursor:not-allowed; opacity:.72; }
.ask-question-mode__heading { align-items:baseline; color:#1b1916; display:flex; flex-wrap:wrap; font-family:Lora,Georgia,serif; gap:.5rem; justify-content:space-between; }
.ask-question-mode__heading strong { font-size:1.15rem; font-weight:500; }
.ask-question-mode__heading b { color:#1c355c; font-family:Inter,Arial,sans-serif; font-size:.9rem; font-weight:700; }
.ask-question-consent { border-top:1px solid #ddd8cf; color:#625d55; margin:1.6rem 0; padding-top:1.25rem; }
.ask-question-consent__label { align-items:flex-start; color:#1b1916 !important; display:flex !important; font-size:.95rem !important; font-weight:650 !important; gap:.65rem; letter-spacing:0 !important; line-height:1.45; margin:0 !important; text-transform:none !important; }
.ask-question-consent__label input { accent-color:#1c355c; flex:0 0 auto; height:1.1rem; margin:.15rem 0 0; padding:0; width:1.1rem; }
.ask-question-consent__optional { color:#827b71; font-size:.8rem; margin:.35rem 0 .85rem; }
.ask-question-consent > p:not(.ask-question-consent__optional) { font-size:.875rem; line-height:1.6; margin:.65rem 0 0; max-width:44rem; }
.ask-question-form .button { width:100%; }
.ask-question-page__answers-action { display:flex; justify-content:flex-end; margin-top:1rem; }
.ask-question-page__answers-link { align-items:center; color:#1c355c; display:inline-flex; font-size:.875rem; font-weight:700; gap:.45rem; line-height:1.4; padding:.3rem 0; text-decoration:none; text-decoration-color:rgba(28,53,92,.35); text-decoration-thickness:1px; text-underline-offset:.3rem; }
.ask-question-page__answers-link::after { content:"→"; font-size:1rem; transition:transform var(--motion-fast); }
.ask-question-page__answers-link:hover,.ask-question-page__answers-link:focus-visible { color:#132b4d; text-decoration-color:currentColor; }
.ask-question-page__answers-link:hover::after,.ask-question-page__answers-link:focus-visible::after { transform:translateX(.2rem); }
.ask-question-page__answers-link:focus-visible { outline:2px solid #1c355c; outline-offset:3px; }
.question-workspace-list { display:grid; gap:.75rem; }
.question-type-filters { display:flex; flex-wrap:wrap; gap:.45rem; margin:0 0 1rem; }
.question-type-filters__item { border:1px solid #d8d1c7; color:#625d55; font-size:.86rem; padding:.42rem .72rem; text-decoration:none; }
.question-type-filters__item:hover,.question-type-filters__item:focus-visible { border-color:#203f68; color:#203f68; }
.question-type-filters__item--active { background:#203f68; border-color:#203f68; color:#fff; }
.question-workspace-card { align-items:center; display:flex; gap:1rem; justify-content:space-between; }
.question-workspace-card h2,.question-detail h2 { font-family:Lora,Georgia,serif; font-size:1.15rem; font-weight:500; margin:.35rem 0; }
.question-workspace-card__side { align-items:center; display:flex; gap:1rem; }
.question-workspace-card__publication-state { color:#746d63; display:grid; font-size:.6875rem; gap:.2rem; line-height:1.25; max-width:100%; min-width:14rem; }
.question-workspace-card__publication-state p { align-items:center; display:flex; gap:.4rem; justify-content:space-between; margin:0; white-space:nowrap; }
.question-workspace-card__publication-state p:first-child { color:#625d55; font-weight:650; text-transform:uppercase; }
.question-workspace-card__toggle { background:#e2ded7; border:1px solid #c8c1b7; border-radius:999px; display:inline-block; height:.8125rem; position:relative; width:1.5rem; }
.question-workspace-card__toggle::after { background:#fff; border-radius:50%; content:''; height:.5625rem; left:.0625rem; position:absolute; top:.0625rem; transition:transform .15s ease; width:.5625rem; }
.question-workspace-card__toggle--on { background:#3f8a5d; border-color:#35784f; }
.question-workspace-card__toggle--on::after { transform:translateX(.625rem); }
.question-workspace-card__actions { align-items:center; display:flex; flex-wrap:wrap; gap:.5rem; justify-content:flex-end; }.question-workspace-card__actions form { margin:0; }
.question-workspace-card h2 a { color:#1b1916; text-decoration:none; }
.question-workspace-card h2 a:hover { text-decoration:underline; }
.question-workspace-card p { color:#625d55; margin:.3rem 0; }
.question-workspace-card__meta { color:#746d63 !important; font-size:.78rem; letter-spacing:.04em; text-transform:uppercase; }
.question-status { border-radius:2px; display:inline-block; font-weight:700; padding:.1rem .3rem; }
.question-status--ready,.question-status--answered { background:#edf5ef; color:#2d6a46; }
.question-status--awaiting { background:#f7f1e7; color:#7a5424; }
.question-status--payment { background:#f8e9e7; color:#8b3f35; }
.question-status--archived,.question-status--neutral { background:#f0ede7; color:#746d63; }
.question-consent-status { border-left:3px solid #746d63; color:#625d55; margin:1.25rem 0 0; padding-left:.7rem; }
.question-consent-status--granted { border-color:#2d6a46; color:#245738; }
.question-consent-status--not-granted { border-color:#9a6435; color:#6d4a2a; }
.question-detail__question-header { align-items:start; display:grid; gap:1.25rem; grid-template-columns:minmax(0,1fr) minmax(15rem,18rem); }
.question-detail__question-copy .question-workspace-card__meta { margin-top:0; }
.question-detail__requester { border-left:1px solid #ddd8cf; color:#625d55; display:grid; font-size:.8125rem; gap:.22rem; line-height:1.35; margin:0; padding-left:1rem; }
.question-detail__requester p { color:#746d63; font-size:.6875rem; font-weight:650; letter-spacing:.04em; margin:0; text-transform:uppercase; }
.question-detail__requester strong { color:#1d304f; font-size:.875rem; font-weight:650; }
.question-detail__requester .workspace-inline-link { font-size:.8rem; margin-top:.15rem; }
.question-detail__context { color:#39352f; line-height:1.7; margin-top:1.25rem; white-space:normal; }
.question-detail__answer-form,.question-detail__public-answer,.question-detail__delivered-private-answer { border-top:1px solid #ddd8cf; margin-top:1.5rem; padding-top:1.25rem; }
.question-detail__delivered-private-answer { display:grid; gap:.55rem; max-width:46rem; }.question-detail__delivered-private-answer h3 { font-family:Lora,Georgia,serif; font-size:1.25rem; font-weight:500; margin:0; }.question-detail__delivered-private-answer > p:not(.eyebrow) { color:#5c574f; line-height:1.6; margin:0; }.question-detail__delivered-private-answer-actions { align-items:center; display:flex; flex-wrap:wrap; gap:.85rem 1.25rem; margin-top:.45rem; }.question-detail__delivered-private-answer-meta,.question-detail__legacy-answer { color:#746d63; font-size:.8rem; margin:0; }.question-detail__legacy-answer-content { color:#39352f; line-height:1.7; width:100%; }
.private-answer-reader { display:grid; gap:1.75rem; max-width:52rem; }.private-answer-reader__question { background:#fdfcf8; border:1px solid #ddd8cf; border-radius:4px; padding:1.25rem 1.4rem; }.private-answer-reader__question h2,.private-answer-reader__document h2 { color:#1b1916; font-family:Lora,Georgia,serif; font-weight:500; margin:.3rem 0 .65rem; }.private-answer-reader__question h2 { font-size:1.4rem; }.private-answer-reader__question > p:last-child { color:#5c574f; line-height:1.65; margin:0; }.private-answer-reader__document { display:grid; gap:1.25rem; }.private-answer-reader__document > header { align-items:flex-end; border-bottom:1px solid #ddd8cf; display:flex; gap:1rem; justify-content:space-between; padding-bottom:1rem; }.private-answer-reader__document h2 { font-size:1.45rem; }.private-answer-reader__meta { color:#746d63; font-size:.8rem; margin:0; white-space:nowrap; }.private-answer-reader .ask-public-answer__blocks { gap:1.5rem; }.private-answer-reader .ask-public-answer__rich-text { max-width:44rem; }
@media (max-width:640px) { .question-detail__question-header { gap:.85rem; grid-template-columns:1fr; }.question-detail__requester { border-left:0; border-top:1px solid #ddd8cf; padding:.85rem 0 0; } }
@media (max-width:640px) { .question-detail__delivered-private-answer-actions { align-items:stretch; flex-direction:column; }.question-detail__delivered-private-answer-actions .button { width:100%; }.private-answer-reader { gap:1.25rem; }.private-answer-reader__question { padding:1rem; }.private-answer-reader__document > header { align-items:flex-start; flex-direction:column; gap:.45rem; }.private-answer-reader__meta { white-space:normal; }.ask-public-answer__file { align-items:flex-start; min-height:0; }.ask-public-answer__resource-action { padding-top:.25rem; }.ask-public-answer__resource-copy strong { font-size:.88rem; } }
.question-detail__answer-form label { display:grid; gap:.45rem; font-weight:600; }
.question-detail__answer-form textarea { min-height:10rem; resize:vertical; }
.question-detail__answer-form .button { margin-top:1rem; }
.question-detail__public-answer > p { color:#625d55; line-height:1.6; max-width:48rem; }
.question-detail__public-answer form { margin-top:1rem; }
.public-answer-builder { border:1px solid #ddd8cf; margin:1rem 0; padding:1rem; }.public-answer-builder > p { color:#625d55; font-size:.92rem; line-height:1.5; }.public-answer-builder__blocks { display:grid; gap:1rem; }.public-answer-builder__block { border-top:1px solid #e7e2d9; display:grid; gap:.7rem; padding-top:1rem; }.public-answer-builder__block label { display:grid; gap:.35rem; }.public-answer-builder__block [hidden] { display:none; }
.question-detail__archive { border-top:1px solid #ddd8cf; margin-top:1.5rem; padding-top:1rem; }
.workspace-body .question-detail-back { align-items:center; background:#fafaf8; border:1px solid #d9d4cb; border-radius:6px; color:#1c2b4a; display:inline-flex; font-size:.8125rem; font-weight:650; gap:.45rem; line-height:1.2; margin:0 0 1rem; min-height:2.25rem; padding:.45rem .7rem; text-decoration:none; }
.workspace-body .question-detail-back::before { content:"←"; font-size:1.05rem; line-height:1; }
.workspace-body .question-detail-back:hover { background:#edebe5; border-color:#c9c1b7; color:#13233e; }
.workspace-body .question-detail-back:focus-visible { outline:2px solid #1c2b4a; outline-offset:2px; }
@media (max-width:640px) { .ask-question-page__inner { padding:1.75rem 1rem 3rem; } .ask-question-local-nav { gap:.5rem; } .ask-question-local-nav a,.ask-question-local-nav span { align-items:center; display:flex; flex:1; font-size:.78rem; justify-content:center; line-height:1.35; min-height:3.25rem; text-align:center; } .ask-question-page__answers-action { justify-content:flex-start; width:100%; } .ask-question-mode__choices,.ask-question-delivery { grid-template-columns:1fr; } .ask-question-mode__choice { min-height:0; } .question-workspace-card { align-items:flex-start; flex-direction:column; } .question-workspace-card__side { align-items:flex-start; flex-direction:column; width:100%; } .question-workspace-card__actions { justify-content:flex-start; } }
.workspace-body .free-publications-page__item p:not(.workspace-page__eyebrow) { color:#776e62; margin:.35rem 0 0; }
@media (max-width:767px) { .free-publication-image--standalone.free-publication-image--size-small .free-publication-image__frame { height:10rem; max-height:10rem; } .free-publication-image--standalone.free-publication-image--size-standard .free-publication-image__frame { height:14rem; max-height:14rem; } .free-publication-image--standalone.free-publication-image--size-wide .free-publication-image__frame { height:17rem; max-height:17rem; } .free-publication-image--standalone.free-publication-image--size-small:not(.is-cropped) .free-publication-image__frame,.free-publication-image--standalone.free-publication-image--size-small:not(.is-cropped) .free-publication-image__frame > img { height:auto; max-height:10rem; } .free-publication-image--standalone.free-publication-image--size-standard:not(.is-cropped) .free-publication-image__frame,.free-publication-image--standalone.free-publication-image--size-standard:not(.is-cropped) .free-publication-image__frame > img { height:auto; max-height:14rem; } .free-publication-image--standalone.free-publication-image--size-wide:not(.is-cropped) .free-publication-image__frame,.free-publication-image--standalone.free-publication-image--size-wide:not(.is-cropped) .free-publication-image__frame > img { height:auto; max-height:17rem; } .free-publication-image-text { gap:24px; grid-template-columns:1fr; } .free-publication-image-text .free-publication-image--image-text { width:100%; } .free-publication-image-text .free-publication-image--image-text:not(.is-cropped) .free-publication-image__frame,.free-publication-image-text .free-publication-image--image-text:not(.is-cropped) .free-publication-image__frame > img { height:auto; max-height:12rem; } .free-publication-image-text.is-image-right .free-publication-image { grid-column:auto; grid-row:auto; } .free-publication-two-images { grid-template-columns:1fr; } .free-publication-two-images .free-publication-image--pair .free-publication-image__frame { height:10rem; max-height:10rem; } }
@media (max-width:680px) { .workspace-body .free-publication-composer__header,.workspace-body .free-publication-composer__section-header,.workspace-body .free-publications-page__header,.workspace-body .free-publications-page__item,.workspace-body .free-publication-composer__actions { align-items:stretch; flex-direction:column; } .workspace-body .free-publications-page__filters { grid-template-columns:1fr; } .workspace-body .free-publications-page__item-actions { justify-content:flex-start; } .workspace-body .free-publication-composer__metadata { grid-template-columns:1fr; } .workspace-body .free-publication-composer__metadata .field { grid-column:auto; } .workspace-body .free-publication-composer__block > header { flex-direction:column; } .workspace-body .free-publication-composer__add-options,.workspace-body .free-publications-page__create form { left:0; right:auto; width:calc(100vw - 3rem); } }

/* Product Chat is a product-scoped conversation, not the general inbox. */
:is(.workspace-body, .product-experience-body) .product-chat-page { color: var(--product-text); margin: 0 auto; max-width: 52rem; padding: 2rem 1.25rem 3rem; }
:is(.workspace-body, .product-experience-body) .product-chat-page__header { border-bottom: 1px solid var(--product-border); display: grid; gap: .45rem; margin-bottom: 1.5rem; padding-bottom: 1.25rem; }
:is(.workspace-body, .product-experience-body) .product-chat-page__header > a { color: var(--product-muted); font-size: .9rem; text-decoration: none; }
:is(.workspace-body, .product-experience-body) .product-chat-page__header > p { color: var(--product-green); font: 700 .73rem Outfit, Inter, sans-serif; letter-spacing: .09em; margin: .6rem 0 0; }
:is(.workspace-body, .product-experience-body) .product-chat-page__header h1 { margin: 0; }
:is(.workspace-body, .product-experience-body) .product-chat-page__header > span { color: var(--product-muted); font-size: .92rem; }
:is(.workspace-body, .product-experience-body) .product-chat-page__surface,
:is(.workspace-body, .product-experience-body) .product-chat-page__disabled { background: #fff; border: 1px solid var(--product-border); border-radius: 8px; padding: 1rem; }
:is(.workspace-body, .product-experience-body) .product-chat-page__disabled { max-width: 42rem; }
:is(.workspace-body, .product-experience-body) .product-chat-page__disabled h2 { margin-top: 0; }
:is(.workspace-body, .product-experience-body) .product-chat-page__disabled button,
:is(.workspace-body, .product-experience-body) .product-chat-page__compose button { background: var(--product-green); border: 0; border-radius: 6px; color: #fff; cursor: pointer; display: inline-flex; font: 650 .9rem Outfit, Inter, sans-serif; justify-content: center; min-height: 2.75rem; padding: .7rem 1rem; }
:is(.workspace-body, .product-experience-body) .product-chat-page__messages { display: grid; gap: 0; max-height: min(58vh, 42rem); overflow-y: auto; }
:is(.workspace-body, .product-experience-body) .product-chat-page__message { border-bottom: 1px solid var(--product-border); padding: 1rem .2rem; }
:is(.workspace-body, .product-experience-body) .product-chat-page__message:last-child { border-bottom: 0; }
:is(.workspace-body, .product-experience-body) .product-chat-page__message header { align-items: baseline; display: flex; flex-wrap: wrap; gap: .5rem .75rem; }
:is(.workspace-body, .product-experience-body) .product-chat-page__message strong { color: var(--product-ink); font-size: .92rem; }
:is(.workspace-body, .product-experience-body) .product-chat-page__message.is-anonymous strong { color: var(--product-muted); }
:is(.workspace-body, .product-experience-body) .product-chat-page__message time { color: var(--product-muted); font-size: .75rem; }
:is(.workspace-body, .product-experience-body) .product-chat-page__message p { line-height: 1.55; margin: .45rem 0 0; overflow-wrap: anywhere; }
:is(.workspace-body, .product-experience-body) .product-chat-page__empty { color: var(--product-muted); margin: .75rem .2rem; }
:is(.workspace-body, .product-experience-body) .product-chat-page__notifications { align-items:center; border-bottom:1px solid var(--product-border); display:flex; flex-wrap:wrap; gap:.65rem 1rem; justify-content:space-between; margin-top:.75rem; padding:.75rem 0; }
:is(.workspace-body, .product-experience-body) .product-chat-page__notifications label { align-items:center; color:var(--product-muted); display:inline-flex; font-size:.86rem; gap:.45rem; }
:is(.workspace-body, .product-experience-body) .product-chat-page__notifications input { accent-color:var(--product-green); }
:is(.workspace-body, .product-experience-body) .product-chat-page__notifications button { background:transparent; border:0; color:var(--product-green); cursor:pointer; font:600 .84rem Outfit,Inter,sans-serif; padding:.25rem 0; text-decoration:underline; text-underline-offset:.15em; }
:is(.workspace-body, .product-experience-body) .product-chat-page__compose { border-top: 1px solid var(--product-border); display: grid; gap: .65rem; margin-top: .5rem; padding-top: 1rem; }
:is(.workspace-body, .product-experience-body) .product-chat-page__compose textarea { background: #fff; border: 1px solid var(--product-border); border-radius: 6px; box-sizing: border-box; color: var(--product-ink); display: block; font: inherit; min-height: 6.5rem; padding: .75rem; resize: vertical; width: 100%; }
:is(.workspace-body, .product-experience-body) .product-chat-page__compose > div { align-items: center; display: flex; justify-content: space-between; gap: 1rem; }
:is(.workspace-body, .product-experience-body) .product-chat-page__anonymous { align-items: center; display: inline-flex; color: var(--product-muted); font-size: .86rem; gap: .45rem; }
:is(.workspace-body, .product-experience-body) .product-chat-page__anonymous input { accent-color: var(--product-green); }
:is(.workspace-body, .product-experience-body) .product-chat-entry { background: var(--product-surface); border: 1px solid var(--product-border); border-left: 3px solid var(--product-green); border-radius: 8px; display: grid; gap: 1rem; padding: 1.2rem; }
:is(.workspace-body, .product-experience-body) .product-chat-entry__header { align-items: center; display: flex; gap: .75rem; }
:is(.workspace-body, .product-experience-body) .product-chat-entry__icon { background: #eef5ea; border: 1px solid #c8ddc2; border-radius: 7px; display: block; flex: 0 0 2.35rem; height: 2.35rem; position: relative; }
:is(.workspace-body, .product-experience-body) .product-chat-entry__icon::before { border: 2px solid var(--product-green); border-radius: 50%; content: ''; height: .8rem; left: .64rem; position: absolute; top: .58rem; width: 1rem; }
:is(.workspace-body, .product-experience-body) .product-chat-entry__icon::after { border-bottom: 2px solid var(--product-green); border-left: 2px solid var(--product-green); bottom: .57rem; content: ''; height: .26rem; left: .8rem; position: absolute; transform: skewY(-35deg); width: .3rem; }
:is(.workspace-body, .product-experience-body) .product-chat-entry__header p { color: var(--product-green); font: 700 .72rem/1 Outfit, Inter, sans-serif; letter-spacing: .09em; margin: 0 0 .28rem; }
:is(.workspace-body, .product-experience-body) .product-chat-entry h2 { font-size: 1.25rem; line-height: 1.2; margin: 0; }
:is(.workspace-body, .product-experience-body) .product-chat-entry__description { color: var(--product-muted); line-height: 1.55; margin: 0; max-width: 44rem; }
:is(.workspace-body, .product-experience-body) .product-chat-entry__footer { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem 1rem; justify-content: space-between; }
:is(.workspace-body, .product-experience-body) .product-chat-entry__footer small { color: var(--product-muted); line-height: 1.45; }
:is(.workspace-body, .product-experience-body) .product-chat-entry__footer > a,
:is(.workspace-body, .product-experience-body) .product-chat-entry__footer > button { align-items: center; background: var(--product-green); border: 1px solid var(--product-green); border-radius: 6px; color: #fff; display: inline-flex; font: 650 .9rem Outfit, Inter, sans-serif; gap: .45rem; justify-content: center; min-height: 2.5rem; padding: .55rem .9rem; text-decoration: none; }
:is(.workspace-body, .product-experience-body) .product-chat-entry__footer > button:disabled { background: #edf1e9; border-color: #d7dfd3; color: #758071; cursor: default; opacity: 1; }
:is(.workspace-body, .product-experience-body) .product-route__chat { align-items: center; color: var(--product-green); display: flex; font: 650 .9rem Outfit, Inter, sans-serif; gap: .45rem; margin-top: .8rem; text-decoration: none; }
:is(.workspace-body, .product-experience-body) .product-route__chat--preview { background: #eef5ea; border: 1px solid #c8ddc2; border-radius: 5px; justify-content: space-between; padding: .48rem .6rem; }
:is(.workspace-body, .product-experience-body) .product-route__chat--preview small { color: var(--product-muted); font: 600 .68rem Outfit, Inter, sans-serif; }
.product-chat-unread-badge { align-items:center; background:var(--product-green); border-radius:999px; color:#fff; display:inline-flex; font:700 .65rem/1 Outfit,Inter,sans-serif; justify-content:center; margin-left:.35rem; min-width:1.25rem; padding:.2rem .32rem; vertical-align:middle; }
.product-chat-unread-badge[hidden] { display:none; }
@media (max-width: 760px) {
    :is(.workspace-body, .product-experience-body) .product-chat-page { padding: 1.25rem 1rem 6rem; }
    :is(.workspace-body, .product-experience-body) .product-chat-page__surface { padding: .8rem; }
    :is(.workspace-body, .product-experience-body) .product-chat-page__messages { max-height: none; }
    :is(.workspace-body, .product-experience-body) .product-chat-page__compose > div { align-items: stretch; flex-direction: column; }
    :is(.workspace-body, .product-experience-body) .product-chat-page__compose button { width: 100%; }
}

/* The Client opens the canonical Product Chat in-context; the route remains a no-JS fallback. */
.product-chat-dialog { --product-border:rgba(38,34,26,.1); --product-green:#4b6641; --product-muted:#776e62; --product-surface:#fdfcf8; --product-text:#26221a; background:var(--product-surface); border:0; border-radius:10px; box-shadow:0 1.5rem 4.5rem rgba(27,25,22,.28); box-sizing:border-box; color:var(--product-text); isolation:isolate; margin:auto; max-height:calc(100dvh - 3rem); max-width:min(48rem,calc(100vw - 2rem)); overflow:hidden; padding:0; width:100%; }
.product-chat-dialog::backdrop { background:rgba(27,25,22,.48); }
.product-chat-dialog > header { align-items:flex-start; border-bottom:1px solid var(--product-border); display:flex; gap:1rem; justify-content:space-between; padding:1.2rem 1.35rem 1rem; }
.product-chat-dialog > header p { color:var(--product-green); font:700 .72rem Outfit,Inter,sans-serif; letter-spacing:.09em; margin:0 0 .45rem; }
.product-chat-dialog h2 { font-family:Lora,Georgia,serif; font-size:1.45rem; margin:0; }
.product-chat-dialog > header span { color:var(--product-muted); display:block; font-size:.86rem; margin-top:.3rem; }
.product-chat-dialog > header button { align-items:center; background:rgba(38,34,26,.05); border:0; border-radius:50%; color:var(--product-muted); cursor:pointer; display:flex; flex:0 0 auto; font:400 2rem/1 Arial,sans-serif; height:2.5rem; justify-content:center; padding:0 0 .2rem; width:2.5rem; }
.product-chat-dialog__messages { display:grid; gap:0; max-height:min(26rem,calc(100dvh - 19rem)); overflow-y:auto; padding:0 1.35rem; }
.product-chat-dialog__message { border-bottom:1px solid var(--product-border); padding:1rem 0; }
.product-chat-dialog__message:last-child { border-bottom:0; }
.product-chat-dialog__message header { align-items:baseline; display:flex; flex-wrap:wrap; gap:.35rem .7rem; }
.product-chat-dialog__message strong { font-size:.92rem; }.product-chat-dialog__message.is-anonymous strong { color:var(--product-muted); }.product-chat-dialog__message time { color:var(--product-muted); font-size:.76rem; }
.product-chat-dialog__message p { line-height:1.55; margin:.42rem 0 0; overflow-wrap:anywhere; }.product-chat-dialog__empty { color:var(--product-muted); margin:1.2rem 0; }
.product-chat-dialog__notifications { align-items:center; border-top:1px solid var(--product-border); display:flex; flex-wrap:wrap; gap:.6rem 1rem; justify-content:space-between; padding:.75rem 1.35rem; }
.product-chat-dialog__notifications label,.product-chat-dialog__anonymous { align-items:center; color:var(--product-muted); display:inline-flex; font-size:.86rem; gap:.45rem; }.product-chat-dialog__notifications input,.product-chat-dialog__anonymous input { accent-color:var(--product-green); }
.product-chat-dialog__notifications button { background:transparent; border:0; color:var(--product-green); cursor:pointer; font:600 .84rem Outfit,Inter,sans-serif; padding:.25rem 0; text-decoration:underline; text-underline-offset:.15em; }
.product-chat-dialog__compose { border-top:1px solid var(--product-border); display:grid; gap:.7rem; padding:1rem 1.35rem 1.2rem; }.product-chat-dialog__compose textarea { background:#fff; border:1px solid rgba(38,34,26,.16); border-radius:6px; box-sizing:border-box; color:var(--product-text); font:400 1rem/1.5 Outfit,Inter,sans-serif; min-height:6.5rem; padding:.8rem .9rem; resize:vertical; width:100%; }
.product-chat-dialog__compose > div { align-items:center; display:flex; gap:1rem; justify-content:space-between; }.product-chat-dialog__compose > div > button { background:var(--product-green); border:0; border-radius:6px; color:#fff; cursor:pointer; font:600 .92rem/1 Outfit,Inter,sans-serif; min-height:2.75rem; padding:.7rem 1.15rem; }
@media (max-width:480px) { .product-chat-dialog { max-height:calc(100dvh - 1.5rem); max-width:calc(100vw - 1.5rem); }.product-chat-dialog > header,.product-chat-dialog__notifications,.product-chat-dialog__compose { padding-left:1rem; padding-right:1rem; }.product-chat-dialog h2 { font-size:1.25rem; }.product-chat-dialog__messages { max-height:calc(100dvh - 19.5rem); padding-left:1rem; padding-right:1rem; }.product-chat-dialog__compose > div { align-items:stretch; flex-direction:column; }.product-chat-dialog__compose > div > button { width:100%; } }

/* Product chat page: keep the conversation usable on small screens. */
:is(.workspace-body, .product-experience-body) .product-chat-page {
    max-width: 56rem;
}
:is(.workspace-body, .product-experience-body) .product-chat-page__header {
    background: #f3f6f0;
    border: 1px solid #dce5d9;
    border-left: 4px solid var(--product-green);
    border-radius: 10px;
    padding: 1.35rem 1.5rem 1.25rem;
}
:is(.workspace-body, .product-experience-body) .product-chat-page__header h1 {
    color: var(--product-text);
    font-family: "PT Serif", Georgia, serif;
    font-size: clamp(1.8rem, 3vw, 2.35rem);
    font-weight: 400;
    line-height: 1.12;
}
:is(.workspace-body, .product-experience-body) .product-chat-page__surface {
    background: #fffdfa;
    border-radius: 10px;
    box-shadow: 0 5px 18px rgba(45, 53, 43, .05);
    padding: 1.1rem 1.25rem 1.2rem;
}
:is(.workspace-body, .product-experience-body) .product-chat-page__messages {
    background: #f8f6f1;
    border: 1px solid #e2ddd5;
    border-radius: 8px;
    max-height: min(58vh, 42rem);
    overflow-y: auto;
    padding: 0 1rem;
    scrollbar-color: #a9b6a4 transparent;
    scrollbar-width: thin;
}
:is(.workspace-body, .product-experience-body) .product-chat-page__message {
    padding: 1.05rem .15rem;
}
:is(.workspace-body, .product-experience-body) .product-chat-page__message strong {
    color: var(--product-text);
}
:is(.workspace-body, .product-experience-body) .product-chat-page__message.is-anonymous strong {
    color: var(--product-green);
}
:is(.workspace-body, .product-experience-body) .product-chat-page__notifications {
    margin-top: 1rem;
    padding: .85rem .15rem;
}
:is(.workspace-body, .product-experience-body) .product-chat-page__compose {
    background: #f3f6f0;
    border: 1px solid #dce5d9;
    border-radius: 8px;
    margin-top: 1rem;
    padding: .9rem;
}
:is(.workspace-body, .product-experience-body) .product-chat-page__compose textarea {
    background: #fffdfa;
    border-color: #cfdacb;
    min-height: 5.5rem;
}
:is(.workspace-body, .product-experience-body) .product-chat-page__compose button {
    min-width: 7rem;
}
@media (max-width: 760px) {
    :is(.workspace-body, .product-experience-body) .product-chat-page {
        padding: 1rem .75rem 3rem;
    }
    :is(.workspace-body, .product-experience-body) .product-chat-page__header {
        border-radius: 8px;
        margin-bottom: 1rem;
        padding: 1.1rem 1rem 1rem;
    }
    :is(.workspace-body, .product-experience-body) .product-chat-page__header h1 {
        font-size: 1.9rem;
    }
    :is(.workspace-body, .product-experience-body) .product-chat-page__surface {
        padding: .7rem;
    }
    :is(.workspace-body, .product-experience-body) .product-chat-page__messages {
        max-height: min(43vh, 26rem);
        padding-left: .85rem;
        padding-right: .85rem;
    }
    :is(.workspace-body, .product-experience-body) .product-chat-page__compose > div {
        align-items: center;
        flex-direction: row;
    }
    :is(.workspace-body, .product-experience-body) .product-chat-page__compose button {
        width: auto;
    }
}
@media (max-width: 360px) {
    :is(.workspace-body, .product-experience-body) .product-chat-page {
        padding-left: .6rem;
        padding-right: .6rem;
    }
    :is(.workspace-body, .product-experience-body) .product-chat-page__surface {
        padding-left: .55rem;
        padding-right: .55rem;
    }
    :is(.workspace-body, .product-experience-body) .product-chat-page__compose > div {
        gap: .5rem;
    }
    :is(.workspace-body, .product-experience-body) .product-chat-page__compose button {
        min-width: 6.5rem;
        padding-left: .75rem;
        padding-right: .75rem;
    }
}

* {
    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 {
    display: grid;
    gap: 0;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    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: #1e304f;
    display: block;
    flex: 0 0 auto;
    font-family: "DM Serif Display", Lora, Georgia, serif;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: .96;
    max-width: 110px;
    margin-right: 0;
    min-height: 0;
    text-decoration: none;
    white-space: normal;
}

.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-nav--desktop {
    justify-self: center;
}

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

.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__collapse {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--color-text-muted);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    gap: .4rem;
    justify-content: center;
    min-height: 44px;
    padding: .55rem .9rem;
}

.site-mobile-menu__collapse::before {
    content: '\2191';
    font-size: 1rem;
    line-height: 1;
}

.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: .85rem;
    max-width: 27rem;
}

.site-footer__brand .caption {
    color: var(--color-text-secondary);
    font-size: .86rem;
    line-height: 1.45;
    margin: 0;
}

.site-footer__group {
    display: grid;
    gap: .65rem;
}

.site-footer__heading {
    color: var(--color-text);
    font-size: .78rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: .02em;
    margin: 0;
}

.site-footer__nav {
    display: grid;
    gap: .15rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-footer__nav a {
    align-items: center;
    border-radius: var(--radius-sm);
    display: inline-flex;
    color: var(--color-text-secondary);
    font-size: .86rem;
    line-height: 1.35;
    min-height: 36px;
    padding: .25rem .35rem;
    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: .78rem;
    grid-column: 1 / -1;
    margin: 0;
    padding-top: 1.25rem;
}

.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: #166534;
}

.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: #f7f4ef;
    color: #1a1c23;
    min-width: 0;
}

.auth-shell {
    display: grid;
    min-height: 100vh;
    min-height: 100dvh;
    grid-template-columns: minmax(19rem, 38%) minmax(0, 62%);
    overflow: hidden;
}

.auth-brand-panel {
    background: #1c3a5f;
    color: #f7f4ef;
    display: grid;
    grid-template-rows: 1fr auto;
    min-height: 0;
    overflow: hidden;
    padding: 3.5rem 4rem 2.5rem;
    position: relative;
}

.auth-brand-panel__decoration,
.auth-brand-panel__decoration::before,
.auth-brand-panel__decoration::after {
    border: 1px solid rgba(255, 255, 255, .075);
    border-radius: 50%;
    content: "";
    pointer-events: none;
    position: absolute;
}

.auth-brand-panel__decoration {
    height: 25rem;
    right: -11rem;
    top: -10rem;
    width: 25rem;
}

.auth-brand-panel__decoration::before {
    height: 18rem;
    right: 2.5rem;
    top: 2.5rem;
    width: 18rem;
}

.auth-brand-panel__decoration::after {
    bottom: -36rem;
    height: 26rem;
    left: -19rem;
    width: 26rem;
}

.auth-brand-panel__content,
.auth-brand-panel__quote {
    position: relative;
    z-index: 1;
}

.auth-brand-panel__identity {
    align-items: center;
    color: #f7f4ef;
    display: inline-flex;
    font-family: "Lora", Georgia, serif;
    font-size: 1.05rem;
    font-weight: 500;
    gap: .7rem;
    letter-spacing: 0;
    text-decoration: none;
}

.auth-brand-panel__mark {
    align-items: center;
    border: 2px solid rgba(255, 255, 255, .58);
    border-radius: 50%;
    display: inline-flex;
    height: 2rem;
    justify-content: center;
    width: 2rem;
}

.auth-brand-panel__mark i {
    background: rgba(255, 255, 255, .82);
    border-radius: 50%;
    height: .65rem;
    width: .65rem;
}

.auth-brand-panel__intro {
    margin-top: 4.6rem;
}

.auth-brand-panel__intro h2 {
    color: #fff;
    font-family: "Lora", Georgia, serif;
    font-size: 2.5rem;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.22;
    margin: 0;
}

.auth-brand-panel__intro h2 em {
    color: rgba(255, 255, 255, .66);
    font-style: normal;
}

.auth-brand-panel__intro p {
    color: rgba(255, 255, 255, .58);
    font-size: .9375rem;
    line-height: 1.65;
    margin: 1.35rem 0 0;
    max-width: 25ch;
}

.auth-brand-panel__quote {
    border-top: 1px solid rgba(255, 255, 255, .13);
    color: rgba(255, 255, 255, .44);
    margin: 0;
    padding-top: 1.35rem;
}

.auth-brand-panel__quote p {
    font-size: .875rem;
    font-style: italic;
    line-height: 1.5;
    margin: 0;
}

.auth-brand-panel__quote footer {
    font-size: .75rem;
    margin-top: .55rem;
}

.auth-content {
    background: #f7f4ef;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    min-width: 0;
    overflow-y: auto;
}

.auth-content__topbar {
    display: flex;
    justify-content: flex-end;
    padding: 1.6rem 3.5rem 0;
}

.auth-content__home {
    align-items: center;
    color: #6a6877;
    display: inline-flex;
    font-size: .8125rem;
    gap: .4rem;
    line-height: 1.25;
    min-height: 2.25rem;
    text-decoration: none;
}

.auth-content__home svg {
    height: .9rem;
    width: .9rem;
}

.auth-content__home:hover,
.auth-content__home:focus-visible {
    color: #1c3a5f;
    text-decoration: underline;
    text-underline-offset: .2rem;
}

.auth-content__main {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 0;
    padding: 2rem 3rem 3.5rem;
}

.auth-card {
    display: grid;
    gap: 1rem;
    margin: auto;
    max-width: 24rem;
    width: 100%;
}

.auth-card--registration {
    max-width: 34.5rem;
}

.auth-card > .eyebrow {
    color: #6f8677;
    font-size: .6875rem;
    font-weight: 600;
    letter-spacing: .1em;
    line-height: 1.3;
    margin: 0 0 -.35rem;
    text-transform: uppercase;
}

.auth-card h1 {
    color: #1a1c23;
    font-family: "Lora", Georgia, serif;
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.18;
    margin: 0;
}

.auth-card > .lead {
    color: #6a6877;
    font-size: .9375rem;
    line-height: 1.55;
    margin: -.35rem 0 .25rem;
}

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

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

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

.auth-card .field__input {
    background: #fff;
    border-color: #ddd8cf;
    border-radius: 8px;
    color: #1a1c23;
    font-size: .9375rem;
    min-height: 44px;
    padding: .65rem .8rem;
}

.auth-card .field__input::placeholder {
    color: #878592;
    opacity: 1;
}

.auth-card .field__input:focus-visible,
.auth-card .phone-input:focus-within {
    border-color: #1c3a5f;
    box-shadow: 0 0 0 3px rgba(28, 58, 95, .13);
}

.auth-card .field--error .field__input,
.auth-card .field__input[aria-invalid="true"] {
    border-color: #b34c44;
}

.auth-card .field__error {
    align-items: center;
    color: #a6443d;
    display: flex;
    font-size: .75rem;
    gap: .35rem;
    line-height: 1.4;
}

.auth-card .field__error::before {
    border: 1px solid currentColor;
    border-radius: 50%;
    content: "!";
    display: inline-grid;
    font-size: .625rem;
    font-weight: 700;
    height: .9rem;
    line-height: 1;
    place-items: center;
    width: .9rem;
}

.auth-card .field__hint {
    color: #6a6877;
    font-size: .75rem;
    line-height: 1.4;
}

.auth-card .field--identity {
    border: 0;
    min-inline-size: 0;
    padding: 0;
}

.auth-card .field--identity > .field__label {
    margin: 0;
    padding: 0;
}

.auth-identity-switch {
    align-items: center;
    align-self: start;
    background: #ede9e2;
    border-radius: 8px;
    display: inline-grid;
    gap: .25rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: .25rem;
}

.auth-identity-switch__tab {
    background: transparent;
    border: 0;
    border-radius: 6px;
    color: #6a6877;
    cursor: pointer;
    font: 500 .75rem/1.2 Inter, system-ui, sans-serif;
    min-height: 2rem;
    padding: .45rem .8rem;
    white-space: nowrap;
}

.auth-identity-switch__tab:hover,
.auth-identity-switch__tab:focus-visible {
    color: #1a1c23;
}

.auth-identity-switch__tab:focus-visible {
    box-shadow: 0 0 0 3px rgba(28, 58, 95, .13);
    outline: 0;
}

.auth-identity-switch__tab.is-selected {
    background: #fff;
    box-shadow: 0 1px 3px rgba(26, 28, 35, .1);
    color: #1a1c23;
}

.auth-identity-panel {
    display: grid;
    gap: .4rem;
}

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

.auth-identity-panel__label {
    color: #2d2d34;
    font-size: .875rem;
    font-weight: 500;
}

.auth-card .phone-input {
    background: #fff;
    border: 1px solid #ddd8cf;
    border-radius: 8px;
    gap: 0;
    grid-template-columns: minmax(8.75rem, .78fr) minmax(0, 1.22fr);
    min-height: 44px;
    overflow: hidden;
}

.auth-card .phone-input__country {
    background: #ede9e2;
    border: 0;
    border-right: 1px solid #ddd8cf;
    border-radius: 7px 0 0 7px;
    color: #2d2d34;
    font-size: .875rem;
    min-height: 42px;
    padding-inline: .7rem 1.45rem;
}

.auth-card .phone-input__number {
    border: 0;
    border-radius: 0 7px 7px 0;
    min-height: 42px;
}

.auth-card .phone-input__number:focus-visible {
    box-shadow: none;
}

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

.auth-card .form > .button--primary {
    background: #1c3a5f;
    border-color: #1c3a5f;
    font-size: .9375rem;
    font-weight: 600;
}

.auth-card .form > .button--primary:hover,
.auth-card .form > .button--primary:focus-visible {
    background: #152d4a;
    border-color: #152d4a;
}

.auth-card .button--secondary {
    background: #fff;
    border-color: #ddd8cf;
    color: #2d2d34;
}

.auth-card .button--secondary:hover,
.auth-card .button--secondary:focus-visible {
    background: #ede9e2;
    border-color: #cfc8bd;
    color: #1a1c23;
}

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

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

.auth-provider-actions {
    display: grid;
    gap: .65rem;
}

.auth-google-button,
.auth-telegram-button {
    align-items: center;
    display: inline-flex;
    gap: .6rem;
    justify-content: center;
    width: 100%;
}

.auth-provider-icon {
    flex: 0 0 auto;
    height: 1.1rem;
    width: 1.1rem;
}

.auth-card--registration .form {
    column-gap: .9rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.auth-card--registration .form > [data-field-name="phone"],
.auth-card--registration .form > [data-field-name="email"],
.auth-card--registration .form > .button--primary {
    grid-column: 1 / -1;
}

.auth-card--registration .auth-provider-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.auth-card--status {
    justify-items: center;
    max-width: 23rem;
    text-align: center;
}

.auth-card--status > .eyebrow {
    margin-top: .15rem;
}

.auth-card--status > .lead {
    max-width: 34ch;
}

.auth-card__status-icon {
    align-items: center;
    border-radius: 50%;
    display: inline-flex;
    height: 3.5rem;
    justify-content: center;
    margin-bottom: .35rem;
    width: 3.5rem;
}

.auth-card__status-icon svg {
    height: 2.1rem;
    width: 2.1rem;
}

.auth-card__status-icon--success { background: #eaf4ec; color: #277447; }
.auth-card__status-icon--warning { background: #fff5df; color: #a76a11; }
.auth-card__status-icon--error { background: #fbeceb; color: #a6443d; }
.auth-card__status-icon--info { background: #e8eff8; color: #1c3a5f; }

.auth-card--status .alert {
    background: transparent;
    border: 0;
    color: #6a6877;
    font-size: .8125rem;
    line-height: 1.5;
    margin: -.35rem 0 .15rem;
    padding: 0;
}

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

.auth-card--telegram-handoff h1 {
    font-size: 2rem;
}

@media (max-width: 899px) {
    .auth-shell {
        display: block;
        min-height: 100dvh;
        overflow: visible;
    }

    .auth-brand-panel {
        display: none;
    }

    .auth-content {
        min-height: 100dvh;
        overflow: visible;
    }

    .auth-content__topbar {
        padding: max(1rem, env(safe-area-inset-top)) 1.5rem 0;
    }

    .auth-content__main {
        align-items: flex-start;
        min-height: auto;
        padding: 2.25rem 1.5rem max(2rem, env(safe-area-inset-bottom));
    }

    .auth-card {
        max-width: 25rem;
    }

    .auth-card h1 {
        font-size: 1.875rem;
    }

    .auth-card > .lead {
        font-size: .9375rem;
    }

    .auth-card--registration {
        max-width: 32rem;
    }
}

@media (max-width: 38rem) {
    .auth-content__main {
        padding-top: 1.75rem;
    }

    .auth-card--registration .form {
        grid-template-columns: minmax(0, 1fr);
    }

    .auth-card--registration .form > .field,
    .auth-card--registration .form > .button--primary {
        grid-column: auto;
    }

    .auth-card--registration .auth-provider-actions {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 22rem) {
    .auth-content__topbar { padding-inline: 1rem; }
    .auth-content__main { padding-inline: 1rem; }
    .auth-card h1 { font-size: 1.7rem; }
    .auth-card .field__input { font-size: .875rem; }
    .auth-card .phone-input__country { max-width: 8.5rem; padding-inline: .55rem 1.15rem; }
}

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

.auth-recovery-option {
    display: grid;
    gap: .7rem;
    padding: 1.15rem 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: #1a1c23;
    font-family: "Lora", Georgia, serif;
    font-size: 1.125rem;
    font-weight: 500;
}

.auth-recovery-option p {
    color: #6a6877;
    font-size: .875rem;
    line-height: 1.5;
}

.auth-recovery-option .button {
    justify-self: stretch;
    max-width: 15rem;
}

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

.auth-links a {
    color: #1c3a5f;
    font-size: .8125rem;
    min-height: 2rem;
    padding-block: .3rem;
    text-decoration: none;
}

.auth-links a:hover,
.auth-links a:focus-visible {
    color: #152d4a;
    text-decoration: underline;
    text-underline-offset: .2rem;
}

.auth-links__action {
    flex-basis: 100%;
    justify-content: center;
    text-decoration: none !important;
}

@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;
}

.live-group-program-meetings {
    display: grid;
}

.live-group-program-meeting {
    align-items: center;
    border-top: 1px solid var(--color-border);
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 16px 0;
}

.live-group-program-meeting:first-child {
    border-top: 0;
    padding-top: 4px;
}

.live-group-program-meeting__content {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.live-group-program-meeting__heading,
.live-group-program-meeting__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.live-group-program-meeting h3,
.live-group-program-meeting p {
    margin: 0;
}

.live-group-program-meeting h3 {
    font-size: 1rem;
    line-height: 1.3;
}

.live-group-program-meeting__status {
    background: #f4efe4;
    border: 1px solid #ddd2bd;
    border-radius: 4px;
    color: #756143;
    font: 650 .69rem/1 Outfit, Inter, sans-serif;
    padding: .28rem .4rem;
}

.live-group-program-meeting__context,
.live-group-program-meeting__schedule,
.live-group-program-meeting__description,
.live-group-program-meeting__missing-link {
    color: var(--color-text-muted);
    font-size: .86rem;
    line-height: 1.45;
}

.live-group-program-meeting__schedule {
    color: var(--color-text);
}

.live-group-program-meeting__description {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-line-clamp: 2;
}

.live-group-program-meeting__actions {
    justify-content: flex-end;
}

.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;
}

/* The Telegram Content Builder has a compact formatting tool row, not a form action stack. */
.content-item-form .content-editor__toolbar {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    width: auto;
}

.content-item-form .content-editor__toolbar .button {
    flex: 0 0 auto;
    min-width: 2.75rem;
    padding-inline: .7rem;
    width: auto;
}

.content-item-form .content-editor__toolbar .button.is-active,
.content-item-form .content-editor__toolbar .button[aria-pressed="true"] {
    background: var(--product-green, #4f6d47);
    border-color: var(--product-green, #4f6d47);
    color: #fff;
}

.content-item-form .content-editor__toolbar .button.is-active:hover,
.content-item-form .content-editor__toolbar .button[aria-pressed="true"]:hover {
    background: var(--product-green-dark, #3f5939);
    border-color: var(--product-green-dark, #3f5939);
    color: #fff;
}

.content-item-form .content-editor__toolbar .button[data-link] {
    min-width: 7.25rem;
}

.content-item-form .content-editor__toolbar .button[data-link-remove],
.content-item-form .content-editor__link-controls .button[data-link-remove] {
    border-color: var(--color-danger, #a84b3c);
    color: var(--color-danger, #a84b3c);
}

.content-item-form .content-editor__toolbar .button[data-link-remove]:hover,
.content-item-form .content-editor__link-controls .button[data-link-remove]:hover {
    background: color-mix(in srgb, var(--color-danger, #a84b3c) 10%, transparent);
}

.content-item-form .content-editor__toolbar .content-editor__link-button {
    min-width: 7.25rem;
}

.content-item-form .content-editor__toolbar .content-editor__unlink-button,
.content-item-form .content-editor__link-controls .content-editor__link-remove {
    border-color: var(--color-danger, #a84b3c);
    color: var(--color-danger, #a84b3c);
}

.content-item-form .content-editor__toolbar .content-editor__unlink-button:hover,
.content-item-form .content-editor__link-controls .content-editor__link-remove:hover {
    background: color-mix(in srgb, var(--color-danger, #a84b3c) 10%, transparent);
}

.content-item-form .content-editor__link-controls {
    background: var(--color-surface-muted);
    border: 1px solid var(--color-border);
    border-radius: 6px;
    display: grid;
    gap: .65rem;
    margin-top: .65rem;
    padding: .75rem;
}

.content-item-form .content-editor__link-controls[hidden] {
    display: none;
}

.content-item-form .content-editor__link-controls .field {
    gap: .35rem;
}

.content-item-form .content-editor__link-controls .button-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    width: auto;
}

.content-item-form .content-editor__link-controls .button {
    flex: 0 0 auto;
    width: auto;
}

.content-item-form .js-youtube-field[hidden] {
    display: none;
}

.content-item-form .content-editor.js-content-editor {
    display: block;
    line-height: 1.55;
    min-height: 9rem;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.content-item-form .content-editor.js-content-editor:empty::before {
    color: var(--color-text-muted);
    content: attr(data-placeholder);
    pointer-events: none;
}

.content-attachment-picker {
    border: 1px solid var(--color-border);
    border-radius: 6px;
    display: grid;
    gap: 1rem;
    margin: 0;
    min-width: 0;
    padding: 1rem;
}

.content-attachment-picker[hidden],
.content-attachment-picker [hidden] {
    display: none;
}

.content-attachment-picker legend {
    font-weight: 700;
    padding: 0 .35rem;
}

.content-attachment-picker__modes {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.5rem;
}

.content-attachment-picker__modes label {
    align-items: center;
    display: flex;
    gap: .45rem;
    min-height: 2.75rem;
}

.content-attachment-library {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.content-attachment-library__item {
    border: 1px solid var(--color-border);
    border-radius: 6px;
    cursor: pointer;
    display: grid;
    gap: .65rem;
    min-width: 0;
    padding: .65rem;
}

.content-attachment-library__item:has(input:checked) {
    border-color: var(--product-green, #4f6d47);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--product-green, #4f6d47) 24%, transparent);
}

.content-attachment-library__item img,
.telegram-content-preview__image {
    background: var(--color-surface-muted);
    border-radius: 4px;
    display: block;
    height: auto;
    max-height: 24rem;
    object-fit: contain;
    width: 100%;
}

.content-attachment-library__item img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.content-attachment-library__item span,
.content-attachment-library__item small {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.content-attachment-library__item small {
    color: var(--color-text-muted);
    margin-top: .2rem;
}

.telegram-content-preview__image + :is(p, ul, ol) {
    margin-top: .85rem;
}

@media (max-width: 700px) {
    .content-attachment-library { grid-template-columns: 1fr; }
    .content-attachment-picker__modes { display: grid; grid-template-columns: 1fr; }
}

.content-attachment-library__icon {
    align-items: center;
    aspect-ratio: 4 / 3;
    background: var(--color-surface-muted);
    border-radius: 4px;
    color: var(--color-text-muted);
    display: flex;
    font-size: .75rem;
    font-weight: 700;
    justify-content: center;
}

.telegram-content-preview__audio {
    display: block;
    max-width: 100%;
    width: 100%;
}

.telegram-content-preview__file {
    align-items: center;
    border: 1px solid var(--color-border);
    border-radius: 6px;
    color: inherit;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    max-width: 100%;
    overflow-wrap: anywhere;
    padding: .8rem;
}

.telegram-content-preview__file span,
.telegram-content-preview__file-name {
    color: var(--color-text-muted);
    font-size: .875rem;
}

.content-classification-grid {
    display: grid;
    grid-template-columns: repeat(4, 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 {
    gap: .625rem;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.about-page .public-section--home-start .grid--cards {
    gap: .625rem;
    grid-template-columns: repeat(5, 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;
    }
}

@media (min-width: 641px) and (max-width: 980px) {
    .home-page .public-section--home-start .grid--cards,
    .about-page .public-section--home-start .grid--cards {
        grid-template-columns: repeat(2, minmax(0, 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: #f0ece5;
}

.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%;
    }
}

@media (min-width: 801px) {
    .getting-started-page__intro,
    .getting-started-route {
        padding-bottom: 4.5rem;
        padding-top: 4.5rem;
    }
}

.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;
}

.legal-document__contact-actions {
    background: var(--color-surface-subtle);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    margin: 0 0 3.5rem;
    padding: 1.5rem;
}

.legal-document__contact-eyebrow {
    color: var(--color-text-secondary) !important;
    font-size: .75rem !important;
    font-weight: var(--font-weight-bold);
    letter-spacing: .12em;
    line-height: 1.4 !important;
    margin: 0 0 .65rem !important;
    text-transform: uppercase;
}

.legal-document__contact-actions h2 {
    color: var(--color-text);
    font-size: 1.5rem;
    line-height: var(--line-height-heading);
    margin: 0 0 .55rem;
    scroll-margin-top: 0;
}

.legal-document__contact-actions > p:not(.legal-document__contact-eyebrow) {
    margin: 0;
    max-width: 40rem;
}

.legal-document__contact-links {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 1.25rem;
}

.legal-document__contact-link {
    align-items: center;
    background: var(--color-action);
    border: 1px solid var(--color-action);
    border-radius: var(--radius-sm);
    color: var(--color-surface);
    display: flex;
    font-weight: var(--font-weight-bold);
    justify-content: space-between;
    min-height: 3.25rem;
    padding: .8rem 1rem;
    text-decoration: none;
    transition: background-color var(--motion-base), border-color var(--motion-base), box-shadow var(--motion-base), transform var(--motion-base);
}

.legal-document__contact-link:hover,
.legal-document__contact-link:focus-visible {
    background: var(--color-action-hover);
    border-color: var(--color-action-hover);
    color: var(--color-surface);
    transform: translateY(-1px);
}

.legal-document__contact-link:focus-visible {
    box-shadow: 0 0 0 3px rgb(30 58 95 / 20%);
    outline: 0;
}

@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;
    }

    .legal-document__contact-actions {
        margin-bottom: 2.75rem;
        padding: 1.25rem;
    }

    .legal-document__contact-actions h2 {
        font-size: 1.35rem;
    }

    .legal-document__contact-links {
        grid-template-columns: 1fr;
    }

    .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__origin .about-page__reading strong,
.about-page__patterns .about-page__copy strong,
.about-page__insight .about-page__copy strong {
    color: #222831;
}

.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: 68.75rem;
}

.about-page__statement-line:first-child {
    display: block;
}

.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: 1.125rem;
        line-height: 1.35;
        white-space: normal;
    }

    .about-page__statement-line {
        display: block;
    }

    .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: #fcfbf8;
}

.consultation-page .ds-hero--consultation {
    background: #fcfbf8;
    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__fit,
.consultation-page__selection,
.consultation-page__alternatives {
    background: #f2ece4;
    color: #f2ece4;
}

.consultation-page__process,
.consultation-page__practical,
.consultation-page__questions {
    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(2, 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:nth-child(even) {
    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: #f2ece4;
    color: #222831;
}

.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 {
    align-items: stretch;
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

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

.consultation-format {
    background: #1c355c;
    border: 1px solid #29496e;
    border-radius: .5rem;
    color: #f8f6f0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-height: 100%;
    padding: clamp(1rem, 2.5vw, 1.5rem);
}

.consultation-format__header {
    align-items: center;
    border-bottom: 1px solid #e7ded2;
    display: grid;
    gap: .75rem;
    grid-template-columns: 3.5rem minmax(0, 1fr);
    padding-bottom: .75rem;
}

.consultation-format__icon {
    align-items: center;
    background: rgba(255,255,255,.1);
    border-radius: 50%;
    display: inline-flex;
    height: 3.5rem;
    justify-content: center;
    position: relative;
    width: 3.5rem;
}

.consultation-format__icon svg {
    height: 1.75rem;
    width: 1.75rem;
}

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

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

.consultation-format__header p,
.consultation-format__package-details,
.consultation-format__validity {
    color: rgba(248,246,240,.76);
    font-size: .875rem;
    line-height: 1.45;
    margin: .25rem 0 0;
}

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

.consultation-format__single {
    align-items: center;
    border-bottom: 1px solid rgba(248,246,240,.35);
    display: flex;
    font-size: 1rem;
    font-style: italic;
    justify-content: space-between;
    padding-bottom: .875rem;
}

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

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

.consultation-format__packages {
    display: grid;
    gap: 0;
}

.consultation-format__packages h4 {
    color: rgba(248,246,240,.8);
    font-size: .75rem;
    letter-spacing: .08em;
    margin: 0 0 .25rem;
    text-transform: uppercase;
}

.consultation-format__package {
    display: grid;
    gap: .25rem;
    padding: .625rem 0;
}

.consultation-format__package + .consultation-format__package {
    border-top: 1px solid rgba(248,246,240,.3);
}

.consultation-format__package > p:first-child {
    align-items: baseline;
    display: grid;
    gap: .75rem;
    grid-template-columns: 7rem minmax(0, 1fr);
}

.consultation-format__package-details,
.consultation-format__validity {
    color: rgba(248,246,240,.72);
    font-size: .875rem !important;
    line-height: 1.35;
}

.consultation-format__validity {
    margin-top: 0;
}

.consultation-format__cta {
    align-items: center;
    background: #f8f6f0;
    border: 1px solid #f8f6f0;
    border-radius: 999px;
    color: #1c355c;
    display: inline-flex;
    font-weight: var(--font-weight-bold);
    font-size: .9375rem;
    gap: .5rem;
    justify-content: center;
    margin-top: auto;
    min-height: 2.75rem;
    padding: .5rem 1rem;
    white-space: nowrap;
    width: min(100%, 19rem);
}

.consultation-format__cta span {
    font-size: 1.35rem;
    line-height: 1;
}

.consultation-format__cta:hover,
.consultation-format__cta:focus-visible {
    background: #fff;
    border-color: #fff;
    color: #132b4d;
}

.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-format__package > p:first-child {
        font-size: .875rem;
        gap: .35rem;
        grid-template-columns: auto minmax(0, 1fr);
        white-space: nowrap;
    }

    .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:nth-child(even),
    .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 tests use a compact, thematic editorial catalogue. */
.assessment-catalog-page { background: #f7f4ef; color: #172b4d; }
.assessment-catalogue-intro { border-bottom: 1px solid #ded9d0; padding: clamp(3.5rem, 7vw, 6.25rem) max(1.25rem, calc((100vw - 78rem) / 2)); }
.assessment-catalogue-intro__inner { align-items: end; display: grid; gap: 3rem; grid-template-columns: minmax(0, 1fr) 18rem; margin: 0 auto; max-width: 78rem; }
.assessment-catalogue-intro__eyebrow { color: #918c82; font-size: .72rem; font-weight: 700; letter-spacing: .18em; margin: 0 0 1rem; text-transform: uppercase; }
.assessment-catalogue-intro h1 { color: #152744; font-family: Georgia, serif; font-size: clamp(2.35rem, 4vw, 3.5rem); font-weight: 400; line-height: 1.08; margin: 0; max-width: none; }
.assessment-catalogue-intro__lead { color: #6c6a67; font-size: 1rem; line-height: 1.55; margin: 1rem 0 0; max-width: 44rem; }
.assessment-catalogue-intro__note { border-left: 2px solid #294b78; color: #17365e; font-size: .9rem; line-height: 1.45; padding: .25rem 0 .25rem 1.25rem; }
.assessment-catalogue-intro__note small { color: #6c6a67; display: block; font-size: .72rem; margin-top: .6rem; }
.assessment-catalogue { margin: 0 auto; max-width: 78rem; padding: 2.25rem max(1.25rem, calc((100vw - 78rem) / 2)) 5rem; }
.assessment-catalogue__toolbar { align-items: start; border-bottom: 1px solid #ded9d0; display: grid; gap: 1rem; grid-template-columns: 13rem minmax(0, 1fr) auto; padding-bottom: 1rem; }
.assessment-catalogue__search { display: block; position: relative; }
.assessment-catalogue__search input, .assessment-catalogue__mobile-filter select { background: #fffdf9; border: 1px solid #d9d3c9; border-radius: .25rem; box-sizing: border-box; color: #25344d; font: inherit; min-height: 2.5rem; padding: .55rem .8rem; width: 100%; }
.assessment-catalogue__search input::placeholder { color: #98948d; }
.assessment-catalogue__filters { display: flex; flex-wrap: wrap; gap: .45rem; }
.assessment-catalogue__filters a { border: 1px solid #d9d3c9; border-radius: .2rem; color: #294260; font-size: .8rem; line-height: 1.2; padding: .62rem .75rem; text-decoration: none; }
.assessment-catalogue__filters a:hover, .assessment-catalogue__filters a:focus-visible { border-color: #294b78; }
.assessment-catalogue__filters a.is-active { background: #192f54; border-color: #192f54; color: #fff; }
.assessment-catalogue__mobile-filter { display: none; }
.assessment-catalogue__count { color: #8d887f; font-size: .85rem; margin: .72rem 0 0; white-space: nowrap; }
.assessment-catalogue__empty { border-bottom: 1px solid #ded9d0; color: #6c6a67; margin: 0; padding: 1.5rem 0; }
.assessment-theme { border-bottom: 1px solid #ded9d0; }
.assessment-theme__header { align-items: center; display: flex; gap: .85rem; padding: 1.4rem 0 .75rem; }
.assessment-theme__mark { align-items: center; background: #ece3d3; border-radius: 50%; color: #193558; display: inline-flex; flex: 0 0 1.8rem; font-family: Georgia, serif; font-size: 1.05rem; height: 1.8rem; justify-content: center; line-height: 1; width: 1.8rem; }
.assessment-theme__mark::after { content: attr(data-symbol); transform: translateY(-.02em); }
.assessment-theme__mark[data-theme="state-emotions"] { background: #f1e1d5; color: #954d3e; }
.assessment-theme__mark[data-theme="self-attitude"] { background: #efe5ca; color: #8a671f; }
.assessment-theme__mark[data-theme="attachment-closeness"] { background: #dfe8ee; color: #315b7d; }
.assessment-theme__mark[data-theme="relationships"] { background: #e2eadf; color: #41634a; }
.assessment-theme__mark[data-theme="relationship-choice"] { background: #e8e0ec; color: #664a79; }
.assessment-theme__header h2 { color: #17365e; font-size: .88rem; letter-spacing: .12em; margin: 0; text-transform: uppercase; }
.assessment-theme__count { background: #e9edf3; border-radius: .25rem; color: #536379; font-size: .7rem; margin-left: .45rem; padding: .28rem .55rem; }
.assessment-test-row { align-items: start; border-top: 1px solid #e4dfd7; display: grid; gap: 1.25rem; grid-template-columns: minmax(13rem, 1.1fr) minmax(20rem, 2.25fr) 6.5rem 7rem; padding: 1rem 0; }
.assessment-test-row h3 { color: #222a35; font-family: Georgia, serif; font-size: 1.05rem; font-weight: 400; line-height: 1.25; margin: 0; }
.assessment-test-row p { color: #6c6a67; font-size: .82rem; line-height: 1.45; margin: 0; max-width: 34rem; }
.assessment-test-row__meta { color: #77756f; font-size: .78rem; line-height: 1.4; }
.assessment-test-row a { color: #193b69; font-size: .82rem; justify-self: end; padding-top: .1rem; text-decoration: none; white-space: nowrap; }
.assessment-test-row a:hover, .assessment-test-row a:focus-visible { text-decoration: underline; text-underline-offset: .22rem; }
.assessment-catalogue .visually-hidden { border: 0; clip: rect(0, 0, 0, 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; white-space: nowrap; width: 1px; }

@media (max-width: 900px) {
    .assessment-catalogue-intro__inner { grid-template-columns: 1fr; gap: 1.5rem; }
    .assessment-catalogue-intro__note { max-width: 22rem; }
    .assessment-catalogue__toolbar { grid-template-columns: 1fr auto; }
    .assessment-catalogue__search { grid-column: 1 / -1; }
    .assessment-catalogue__filters { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
    .site-footer__inner { row-gap: 2.75rem; }
    .site-footer__group { gap: .55rem; }
    .site-footer__nav a { font-size: .84rem; min-height: 34px; }
    .assessment-catalogue-intro { padding-bottom: 3rem; padding-top: 3.25rem; }
    .assessment-catalogue-intro h1 { font-size: 2.35rem; }
    .assessment-catalogue-intro__lead { font-size: .95rem; }
    .assessment-catalogue { padding-bottom: 3rem; padding-top: 1.25rem; }
    .assessment-catalogue__toolbar { display: grid; grid-template-columns: 1fr auto; }
    .assessment-catalogue__filters { display: none; }
    .assessment-catalogue__mobile-filter { display: block; grid-column: 1 / -1; }
    .assessment-catalogue__count { grid-column: 1 / -1; margin-top: 0; }
    .assessment-test-row { display: grid; gap: .55rem; grid-template-columns: minmax(0, 1fr) auto; padding: 1.1rem 0 1.25rem; }
    .assessment-test-row h3, .assessment-test-row p { grid-column: 1 / -1; }
    .assessment-test-row h3 { font-size: 1.2rem; }
    .assessment-test-row p { font-size: .88rem; line-height: 1.5; }
    .assessment-test-row__meta { align-self: center; }
    .assessment-test-row a { align-self: center; font-size: .85rem; }
    .assessment-theme__header { gap: .65rem; }
    .assessment-theme__header h2 { font-size: .78rem; letter-spacing: .1em; }
}

@media (min-width: 900px) {
    .site-footer__inner { column-gap: clamp(2.5rem, 5vw, 5.5rem); row-gap: 2.5rem; }
}

/* 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,
.assessment-runtime__save-result {
    display: grid;
    gap: var(--space-4);
}

.assessment-runtime__intro > form,
.assessment-runtime__complete > form {
    margin-top: var(--space-2);
}

.assessment-runtime__save-result {
    border: 1px solid var(--color-border);
    padding: var(--space-4);
}

.assessment-runtime__save-result h1,
.assessment-runtime__save-result h2,
.assessment-runtime__save-result p {
    margin: 0;
}

.assessment-runtime__save-result form {
    margin-top: var(--space-1);
}

.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 {
    align-items: stretch;
    display: grid;
    gap: var(--space-2);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.assessment-runtime__actions .button {
    font-size: var(--font-size-base);
    min-height: 3rem;
    width: 100%;
}

.assessment-runtime__actions .button--primary:only-child {
    grid-column: 2;
}

.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__save-result-actions {
    display: grid;
    gap: var(--space-2);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.assessment-runtime__save-result-actions .button {
    min-width: 0;
    text-align: center;
    width: 100%;
}

.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 .button,
    .assessment-runtime__intro .button,
    .assessment-runtime__complete .button,
    .assessment-runtime__save-result .button,
    .assessment-runtime__next-step .button,
    .assessment-runtime__result-footer .button {
        justify-content: center;
        width: 100%;
    }

    .assessment-runtime__save-result-actions {
        grid-template-columns: 1fr;
    }
}

.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;
    }

    .live-group-program-meeting {
        align-items: stretch;
        grid-template-columns: minmax(0, 1fr);
    }

    .live-group-program-meeting__actions {
        justify-content: flex-start;
    }

    .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__scheduled-access { border-left: 3px solid var(--landing-green); color: var(--landing-green); font-size: .95rem; font-weight: 600; margin: 0; padding: .7rem .9rem; }
.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__scheduled-access { width: 100%; }
    .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: 1120px) {
    .site-nav--desktop,
    .site-actions {
        display: none;
    }

    .site-mobile-menu {
        display: block;
        position: relative;
    }

    .site-mobile-menu[open] {
        z-index: 51;
    }

    .site-header__inner {
        display: flex;
        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 {
        background: transparent;
        bottom: 0;
        display: block;
        height: calc(100dvh - (4rem + env(safe-area-inset-top, 0px)));
        left: 0;
        pointer-events: none;
        right: 0;
        top: calc(4rem + env(safe-area-inset-top, 0px));
        z-index: 51;
    }

    .site-mobile-menu[open] .site-mobile-menu__overlay {
        pointer-events: auto;
    }

    .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%;
        z-index: 52;
    }

    .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__collapse {
        color: #6e6b66;
        font-size: 13px;
        line-height: 1.5;
        margin-top: 8px;
        order: 3;
        padding: 8px 0;
        width: 100%;
    }

    .site-mobile-menu__collapse:hover,
    .site-mobile-menu__collapse:focus-visible {
        color: #222831;
        text-decoration: underline;
    }

    .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 {
    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__hero-intro > p:first-child strong {
    color: #222831;
}

.consultation-page__hero-note {
    color: #222831 !important;
    font-style: normal;
}

.consultation-page__reading-highlight {
    color: #222831;
    font-style: normal;
    font-weight: var(--font-weight-bold);
}

.consultation-page__process-highlight {
    color: #222831 !important;
}

.consultation-page__fit p strong {
    color: #222831;
}

.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(1.6875rem, 3.375vw, 3rem);
    }

    .consultation-page__process {
        padding-bottom: clamp(1.6875rem, 3.375vw, 3rem);
        padding-top: clamp(1.6875rem, 3.375vw, 3rem);
    }

    .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(1.5rem, 3vw, 2.625rem);
    }

    .consultation-page__fit,
    .consultation-page__practical,
    .consultation-page__cta,
    .consultation-page__questions {
        padding-bottom: clamp(1.35rem, 2.7vw, 2.4rem);
    }

    .consultation-page__practical {
        padding-top: clamp(1.5rem, 2.97vw, 2.625rem);
        padding-bottom: clamp(1.5rem, 3vw, 2.6875rem);
    }

    .consultation-page__information {
        margin-top: clamp(2.1rem, 4.9vw, 3.5rem);
    }

    .consultation-page__selection {
        padding-bottom: clamp(1.5rem, 3.05vw, 2.75rem);
        padding-top: clamp(1.5rem, 3.05vw, 2.75rem);
    }

    .consultation-page__questions {
        padding-bottom: clamp(1.5rem, 3vw, 2.6875rem);
        padding-top: clamp(1.5rem, 3vw, 2.6875rem);
    }

    .consultation-page__alternatives {
        padding-top: clamp(1.5rem, 3vw, 2.6875rem);
    }

    .consultation-page__alternatives-nav {
        margin-top: clamp(1.5rem, 3.5vw, 2.5rem);
    }
}

@media (max-width: 800px) {
    .about-page__statement p:first-child {
        white-space: normal;
    }

    .about-page__statement p:first-child span {
        display: block;
        white-space: normal;
    }

    .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; }

/* Client Tests: a quiet history surface using the existing workspace rhythm. */
.client-tests-header { align-items: flex-start; display: flex; gap: 2rem; justify-content: space-between; }
.client-tests-header h1, .client-test-result-header h1 { font-family: "Lora", Georgia, serif; font-size: 1.8rem; font-weight: 600; margin: 0 0 .35rem; }
.client-tests-header .lead, .client-test-result-header .lead { color: #7a7469; font-size: .875rem; line-height: 1.55; margin: 0; max-width: 38rem; }
.client-tests-header .button { flex: 0 0 auto; }
.client-tests-filter { display: grid; gap: .5rem; }
.client-tests-filter > label { color: #7a7469; font-size: .75rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.client-tests-filter > div { align-items: center; display: flex; gap: .7rem; }
.client-tests-filter select { background: #fafaf8; border: 1px solid #d9d4cb; border-radius: 6px; box-sizing: border-box; color: #1b1916; font: 400 .9375rem/1.35 "Inter", sans-serif; max-width: 100%; min-height: 2.65rem; min-width: min(100%, 28rem); padding: .55rem .7rem; }
.client-tests-filter option { font: 400 .9375rem/1.35 "Inter", sans-serif; }
.client-tests-filter select:focus-visible { border-color: #1c2b4a; box-shadow: 0 0 0 3px rgba(28,43,74,.15); outline: 0; }
.client-tests-filter .button { min-height: 2.65rem; }
.client-tests-history { display: grid; gap: 0; }
.client-tests-section-heading { align-items: baseline; border-top: 1px solid #d9d4cb; display: flex; gap: 1rem; justify-content: space-between; padding: 1.15rem 0 .7rem; }
.client-tests-section-heading h2 { font-family: "Lora", Georgia, serif; font-size: 1rem; font-weight: 500; margin: 0; }
.client-tests-section-heading span { color: #a8a099; font-size: .75rem; }
.client-tests-list { display: grid; }
.client-tests-row { align-items: center; border-top: 1px solid #d9d4cb; display: grid; gap: 1.5rem; grid-template-columns: minmax(0, 1fr) auto; padding: 1rem 0; }
.client-tests-row h3 { color: #1b1916; font-size: 1rem; font-weight: 500; line-height: 1.35; margin: 0 0 .35rem; overflow-wrap: anywhere; }
.client-tests-row time, .client-test-result-meta { color: #a8a099; font-size: .75rem; }
.client-tests-row .button { white-space: nowrap; }
.client-tests-empty { align-items: start; background: #fafaf8; display: grid; gap: .7rem; justify-items: start; }
.client-tests-empty h2, .client-tests-empty p { margin: 0; }
.client-tests-empty h2 { font-family: "Lora", Georgia, serif; font-size: 1.15rem; font-weight: 500; }
.client-tests-empty p { color: #7a7469; line-height: 1.55; max-width: 34rem; }
.client-test-result-header { display: grid; gap: .35rem; }
.client-test-result-header .eyebrow { margin-bottom: .25rem; }
.client-test-result-back { color: #1c2b4a; font-size: .75rem; font-weight: 600; margin-bottom: .35rem; text-decoration: none; }
.client-test-result-back:hover { text-decoration: underline; }
.client-test-result-meta { margin: .25rem 0 0; }
.client-test-result { display: grid; gap: 1.75rem; }
.client-test-result__summary, .client-test-result__section { background: #fafaf8; border: 1px solid #d9d4cb; border-radius: 9px; padding: 1.5rem 1.75rem; }
.client-test-result__summary { display: grid; gap: .35rem; }
.client-test-result__summary p, .client-test-result__summary strong, .client-test-result__summary b { margin: 0; }
.client-test-result__summary p { color: #7a7469; font-size: .75rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.client-test-result__summary strong { color: #1c2b4a; font-family: "Lora", Georgia, serif; font-size: 2rem; font-weight: 500; }
.client-test-result__summary strong span { color: #7a7469; font-family: "Inter", sans-serif; font-size: .8rem; }
.client-test-result__summary b { color: #1b1916; font-size: .875rem; font-weight: 500; }
.client-test-result__section { display: grid; gap: 1rem; }
.client-test-result__section > header { border-bottom: 1px solid #d9d4cb; padding-bottom: .8rem; }
.client-test-result__section > header h2, .client-test-result__section > h2 { font-family: "Lora", Georgia, serif; font-size: 1.15rem; font-weight: 500; margin: 0; }
.client-test-result__section > header p { color: #7a7469; font-size: .8125rem; margin: .35rem 0 0; }
.client-test-result__content { border-top: 1px solid #ebe7df; padding-top: 1rem; }
.client-test-result__content h3, .client-test-result__content p, .client-test-result__notice h3, .client-test-result__notice p { margin: 0; }
.client-test-result__content h3, .client-test-result__notice h3 { font-size: .9375rem; font-weight: 600; }
.client-test-result__content p, .client-test-result__notice p, .client-test-result__disclaimer p { color: #39352f; font-size: .875rem; line-height: 1.65; margin-top: .55rem; }
.client-test-result__scales { display: grid; gap: 0; margin: 0; }
.client-test-result__scales > div { border-top: 1px solid #ebe7df; display: grid; gap: .5rem; grid-template-columns: minmax(8rem, .45fr) minmax(0, 1fr); padding: 1rem 0; }
.client-test-result__scales dt { font-size: .875rem; font-weight: 600; }
.client-test-result__scales dd { margin: 0; }
.client-test-result__scales dd strong { font-size: .875rem; font-weight: 600; }
.client-test-result__scales dd p { color: #39352f; font-size: .875rem; line-height: 1.6; margin: .45rem 0 0; }
.client-test-result__notice { background: #f5e9e4; border-left: 2px solid #b56a52; padding: .9rem 1rem; }
.client-test-result__disclaimer { background: #edebe5; }
.client-test-result__actions, .client-test-result__footer { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem; }
.client-test-result__footer { border-top: 1px solid #d9d4cb; justify-content: space-between; padding-top: 1.15rem; }
.client-test-result__footer > a:not(.button) { color: #1c2b4a; font-size: .8125rem; font-weight: 600; text-decoration: none; }
.client-test-result__footer > a:not(.button):hover { text-decoration: underline; }

@media (max-width: 640px) {
    .client-tests-header { align-items: stretch; flex-direction: column; gap: 1rem; }
    .client-tests-header .button { justify-content: center; width: 100%; }
    .client-tests-filter > div { align-items: stretch; flex-direction: column; }
    .client-tests-filter select { min-width: 0; width: 100%; }
    .client-tests-filter .button { width: 100%; }
    .client-tests-row { align-items: start; gap: .75rem; grid-template-columns: 1fr; }
    .client-tests-row .button { justify-self: start; white-space: normal; }
    .client-test-result__summary, .client-test-result__section { padding: 1.25rem; }
    .client-test-result__scales > div { grid-template-columns: 1fr; }
    .client-test-result__footer { align-items: stretch; flex-direction: column; }
    .client-test-result__footer .button { justify-content: center; width: 100%; }
}

.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, .workspace-question-count, .workspace-action-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], .workspace-question-count[hidden] { display: none; }
.workspace-nav__item .workspace-message-count, .workspace-nav__item .workspace-question-count, .workspace-nav__item .workspace-action-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 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 0 1.5rem; overflow: visible; }
.payments-page__tabs .workspace-tabs__item { justify-content: center; min-width: 0; text-align: center; white-space: normal; }
.workspace-body .payment-subscription-summary { display: grid; gap: .9rem; max-width: 58rem; }
.payment-subscription-summary header h2 { font-family: "Lora", Georgia, serif; font-size: 1.2rem; margin: .25rem 0 0; }
.payment-subscription-summary__list { display: grid; gap: 0; }
.payment-subscription-summary__list article { align-items: center; border-top: 1px solid #e2ddd4; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) auto; padding: .9rem 0 0; }
.payment-subscription-summary__list h3 { font-family: "Inter", sans-serif; font-size: .9375rem; margin: 0 0 .25rem; }
.payment-subscription-summary__list p { color: #756e65; font-size: .8125rem; margin: 0; }
.payment-subscription-summary__list .button { font-size: .8125rem; min-height: 2.35rem; padding: .5rem .85rem; }
.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; }
.workspace-body .payment-subscriptions { display: grid; gap: 1.1rem; max-width: 58rem; }
.payments-subscriptions__heading { border-bottom: 1px solid #d9d4cb; padding-bottom: 1rem; }
.payments-subscriptions__heading h2 { font-family: "Lora", Georgia, serif; font-size: 1.35rem; margin: .35rem 0 .45rem; }
.payments-subscriptions__heading p:last-child, .payments-subscriptions__empty { color: #756e65; font-size: .875rem; line-height: 1.5; margin: 0; }
.payment-subscriptions__list { display: grid; gap: .8rem; }
.payment-subscription { border: 1px solid #d9d4cb; border-radius: 7px; display: grid; gap: 1rem; padding: 1.15rem; scroll-margin-top: 1rem; }
.payment-subscription:target { border-color: #6c8b6b; box-shadow: 0 0 0 2px rgba(108, 139, 107, .14); }
.payment-subscription__header { align-items: start; display: flex; gap: 1rem; justify-content: space-between; }
.payment-subscription__header h3 { font-family: "Inter", sans-serif; font-size: 1rem; margin: 0 0 .3rem; }
.payment-subscription__price { color: #4f4b45; font-size: .875rem; margin: 0; }
.payment-subscription__state { background: #eeeae3; border-radius: 999px; color: #625d55; font-size: .75rem; font-weight: 650; padding: .35rem .55rem; text-align: center; }
.payment-subscription__state--active { background: #e3eee5; color: #315b3c; }
.payment-subscription__details { display: grid; gap: .65rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.payment-subscription__details div { border-top: 1px solid #e5e0d7; padding-top: .65rem; }
.payment-subscription__details dt { color: #756e65; font-size: .75rem; margin-bottom: .2rem; }
.payment-subscription__details dd { font-size: .875rem; margin: 0; overflow-wrap: anywhere; }
.payment-subscription__actions { align-items: stretch; }
.payment-subscription__actions form { display: flex; }
.payment-subscription__actions .button { min-height: 2.5rem; }
.payment-subscription__note { color: #756e65; font-size: .8125rem; margin: 0; }
.workspace-body .payment-history { display: grid; gap: 1rem; max-width: 58rem; }
.payment-history__heading { align-items: end; border-bottom: 1px solid #d9d4cb; display: flex; gap: 1rem; justify-content: space-between; padding-bottom: 1rem; }
.payment-history__heading h2 { font-family: "Lora", Georgia, serif; font-size: 1.35rem; margin: .35rem 0 0; }
.payment-history__legend { display: flex; flex-wrap: wrap; gap: .45rem .75rem; justify-content: flex-end; }
.payment-history__legend-item, .payment-history__type { align-items: center; color: #625d55; display: inline-flex; font-size: .75rem; font-weight: 600; gap: .35rem; }
.payment-history__legend-item::before { background: #1d355d; border-radius: 999px; content: ""; height: .5rem; width: .5rem; }
.payment-history__legend-item--product::before { background: #4f7658; }
.payment-history__legend-item--subscription::before { background: #b56a52; }
.payment-history__list { display: grid; gap: .65rem; }
.payment-history__item { border: 1px solid #ded9d0; border-left: 4px solid #1d355d; border-radius: 7px; padding: .9rem 1rem; }
.payment-history__item--product { border-left-color: #4f7658; }
.payment-history__item--subscription { border-left-color: #b56a52; }
.payment-history__item h3 { font-family: "Inter", sans-serif; font-size: .9375rem; line-height: 1.4; margin: .25rem 0; overflow-wrap: anywhere; }
.payment-history__item p { color: #625d55; font-size: .8125rem; line-height: 1.45; margin: 0; }
.payment-history__events { margin-top: .2rem !important; }
.workspace-body .practitioner-payments__packages,
.workspace-body .practitioner-payments__history { max-width: 58rem; }
.workspace-body .practitioner-payments__packages h2,
.workspace-body .practitioner-payments__history h2 { font-family: "Lora", Georgia, serif; font-size: 1.2rem; margin: 0; }
.practitioner-payments__packages .calendar-bookings,
.practitioner-payments__history .calendar-bookings { gap: 0; margin-top: .75rem; }
.practitioner-payments__packages .calendar-booking,
.practitioner-payments__history .calendar-booking { gap: .25rem; padding: .8rem 0; }
.workspace-body .practitioner-payments__packages .calendar-booking h3,
.workspace-body .practitioner-payments__history .calendar-booking h3 { font-family: "Inter", sans-serif; font-size: .95rem; font-weight: 650; line-height: 1.35; }
.workspace-body .practitioner-payments__packages .calendar-booking p,
.workspace-body .practitioner-payments__history .calendar-booking p { color: #756e65; font-family: "Inter", sans-serif; font-size: .8125rem; line-height: 1.4; }
.workspace-body .practitioner-payment__buyer { color: #4f4b45 !important; font-weight: 600; }
.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-page__tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .payments-page__tabs .workspace-tabs__item { min-height: 3rem; padding: .65rem .45rem; }
    .payment-subscription-summary__list article { align-items: stretch; grid-template-columns: 1fr; }
    .payment-subscription-summary__list .button { justify-self: start; }
    .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%; }
    .payment-subscription__header, .payment-history__heading { align-items: flex-start; flex-direction: column; }
    .payment-subscription__state { text-align: left; }
    .payment-subscription__details { grid-template-columns: 1fr; }
    .payment-subscription__actions { display: grid; grid-template-columns: 1fr; }
    .payment-subscription__actions form, .payment-subscription__actions .button { width: 100%; }
    .payment-history__legend { justify-content: flex-start; }
    .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(0, 1fr) auto; padding: .9rem 0; }
.practitioner-client-detail__recent-copy { display: grid; gap: .35rem; min-width: 0; }
.practitioner-client-detail__recent .button { justify-content: center; max-width: 100%; min-height: 2.5rem; text-align: center; white-space: normal; }
.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__policy { align-self: start; }
.practitioner-client-detail__policy-form .button-row { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem; }
.practitioner-client-detail__policy-form .button { min-height: 2.5rem; }
.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: stretch; display: grid; flex: 0 0 auto; gap: .5rem; grid-auto-columns: minmax(8.5rem, 1fr); grid-auto-flow: column; justify-content: end; }
.practitioner-client-detail__materials-list .button-row > .button, .practitioner-client-detail__materials-list .button-row form { min-width: 8.5rem; }
.practitioner-client-detail__materials-list .button-row .button { justify-content: center; min-height: 2.5rem; width: 100%; }
.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; }
.workspace-body .practitioner-exercise-responses { display: grid; gap: 1.25rem; max-width: 58rem; }
.workspace-body .practitioner-exercise-responses__product > h2 { margin: .15rem 0 1rem; }
.workspace-body .practitioner-exercise-responses__exercise { border-top: 1px solid #d9d4cb; padding-top: 1rem; }
.workspace-body .practitioner-exercise-responses__exercise + .practitioner-exercise-responses__exercise { margin-top: 1.25rem; }
.workspace-body .practitioner-exercise-responses__module, .workspace-body .practitioner-exercise-responses__lesson, .workspace-body .practitioner-exercise-responses__answer time { color: #6b675f; font-size: .8125rem; margin: 0; }
.workspace-body .practitioner-exercise-responses__exercise h3 { font-size: 1.05rem; margin: .35rem 0 1rem; }
.workspace-body .practitioner-exercise-responses__question + .practitioner-exercise-responses__question { border-top: 1px solid #e4ded5; margin-top: 1.25rem; padding-top: 1.25rem; }
.workspace-body .practitioner-exercise-responses__question h4 { font-size: 1rem; line-height: 1.45; margin: 0 0 .65rem; }
.workspace-body .practitioner-exercise-responses__answer { background: #f6f2ed; border-left: 2px solid #9aaf9e; display: grid; gap: .45rem; padding: .8rem .9rem; }
.workspace-body .practitioner-exercise-responses__answer .eyebrow, .workspace-body .practitioner-exercise-responses__answer > p { margin: 0; }
.workspace-body .practitioner-exercise-responses__answer > p:not(.eyebrow) { line-height: 1.55; overflow-wrap: anywhere; white-space: normal; }
.workspace-body .practitioner-exercise-responses__blank { color: #756e65; font-style: italic; }
.workspace-body .product-participants { max-width: 62rem; }
.workspace-body .product-participants__header { border-bottom: 1px solid #ded8ce; margin-bottom: 1.25rem; padding-bottom: 1.25rem; }
.workspace-body .product-participants__header h1 { margin: .2rem 0 .55rem; }
.workspace-body .product-participants__header p:last-child { color: #6b675f; margin: 0; }
.workspace-body .product-participants__list { display: grid; gap: .75rem; }
.workspace-body .product-participants__row { align-items: center; display: flex; gap: 1rem; justify-content: space-between; }
.workspace-body .product-participants__row h2 { font-size: 1.05rem; margin: 0 0 .3rem; }
.workspace-body .product-participants__row p { color: #6b675f; margin: 0; }
.workspace-body .product-participants__detail { max-width: 34rem; }
.workspace-body .product-participants__access { margin-top:1rem; max-width:42rem; }
.workspace-body .product-participants__access-summary { display:grid; gap:1rem; grid-template-columns:repeat(2,minmax(0,1fr)); margin:.75rem 0; }.workspace-body .product-participants__access-summary p { color:#625b51; line-height:1.45; margin:.25rem 0; }.workspace-body .product-participants__access-summary em { color:#507148; font-size:.8125rem; font-style:normal; font-weight:700; }.workspace-body .product-participants__access-status { color:#375432; margin:.5rem 0; }.workspace-body .product-participants__access-status.is-error { color:#934d41; }
.workspace-body .product-participants__access-editor { border-top:1px solid #ded8ce; margin-top:1rem; padding-top:.85rem; }.workspace-body .product-participants__access-editor summary,.workspace-body .product-participants__access-history summary { color:#375432; cursor:pointer; font-weight:700; }.workspace-body .product-participants__access-editor form { display:grid; gap:.8rem; margin-top:.9rem; }.workspace-body .product-participants__access-editor fieldset { border:0; display:grid; gap:.5rem; margin:0; padding:0; }.workspace-body .product-participants__access-editor legend { font-size:.875rem; font-weight:700; margin-bottom:.2rem; }.workspace-body .product-participants__access-editor label,.workspace-body .product-participants__access-actions label { color:#625b51; display:grid; font-size:.8125rem; gap:.3rem; }.workspace-body .product-participants__access-editor input,.workspace-body .product-participants__access-actions input { background:#fff; border:1px solid #d8d1c7; border-radius:5px; box-sizing:border-box; padding:.55rem .65rem; width:100%; }.workspace-body .product-participants__access-actions { border-top:1px solid #ded8ce; display:grid; gap:.75rem; margin-top:1rem; padding-top:1rem; }.workspace-body .product-participants__access-actions form { display:flex; flex-wrap:wrap; gap:.55rem; align-items:end; }.workspace-body .product-participants__access-actions label { flex:1 1 14rem; }.workspace-body .product-participants__access-history { border-top:1px solid #ded8ce; margin-top:1rem; padding-top:.85rem; }.workspace-body .product-participants__access-history ul { color:#625b51; font-size:.8125rem; margin:.65rem 0 0; padding-left:1.1rem; }
.workspace-body .product-participants__progress { align-items: baseline; display: flex; gap: .65rem; margin: .25rem 0 1rem; }
.workspace-body .product-participants__progress span { color: #507148; font-weight: 700; }
.workspace-body .product-participants__journey { margin-top: 1.75rem; max-width: 42rem; }
.workspace-body .product-participants__empty-progress { color: #6b675f; margin: .65rem 0 0; }
.workspace-body .product-participants__module { border-top: 1px solid #ded8ce; margin-top: .85rem; padding-top: .85rem; }
.workspace-body .product-participants__module > header { align-items: baseline; display: flex; gap: 1rem; justify-content: space-between; }
.workspace-body .product-participants__module h2 { font-size: 1rem; margin: 0; }
.workspace-body .product-participants__module > header > span { color: #6b675f; font-size: .8125rem; white-space: nowrap; }
.workspace-body .product-participants__lessons { margin-top: .45rem; }
.workspace-body .product-participants__lesson { align-items: baseline; display: grid; gap: .55rem; grid-template-columns: 1rem minmax(0, 1fr) auto; padding: .45rem 0; }
.workspace-body .product-participants__lesson i { color: #9c958b; font-size: .9rem; font-style: normal; line-height: 1; }
.workspace-body .product-participants__lesson.is-completed i { color: #507148; font-weight: 700; }
.workspace-body .product-participants__lesson > span { overflow-wrap: anywhere; }
.workspace-body .product-participants__lesson small { color: #756e65; font-size: .75rem; white-space: nowrap; }
.workspace-body .product-participants__responses { margin-top: 2rem; max-width: 42rem; }
.workspace-body .product-participants__exercise-response { border-top: 1px solid #ded8ce; margin-top: .85rem; padding-top: .9rem; }
.workspace-body .product-participants__response-module { color: #507148; font-size: .75rem; font-weight: 700; margin: 0 0 .25rem; }
.workspace-body .product-participants__response-lesson { color: #6b675f; font-size: .8125rem; margin: 0; }
.workspace-body .product-participants__exercise-response h3 { font-size: 1rem; margin: .35rem 0 .65rem; }
.workspace-body .product-participants__response-question { margin-top: .9rem; }
.workspace-body .product-participants__response-question h4 { font-size: .9375rem; line-height: 1.45; margin: 0 0 .45rem; }
.workspace-body .product-participants__response-answer { background: #fafaf8; border: 1px solid #ded8ce; border-radius: 6px; padding: .7rem .8rem; }
.workspace-body .product-participants__response-answer > p { line-height: 1.55; margin: 0; overflow-wrap: anywhere; }
.workspace-body .product-participants__response-answer time { color: #756e65; display: block; font-size: .75rem; margin-top: .6rem; }
.workspace-body .product-participants__response-blank { color: #756e65; font-style: italic; }
.workspace-body .product-participants__quiz-attempts { margin-top: 2rem; max-width: 42rem; }
.workspace-body .product-participants__quiz-section { border-top: 1px solid #ded8ce; margin-top: .85rem; padding-top: .9rem; }
.workspace-body .product-participants__quiz-section h3 { font-size: 1rem; margin: .35rem 0 .7rem; }
.workspace-body .product-participants__quiz-attempt { border: 1px solid #ded8ce; border-radius: 6px; margin-top: .55rem; overflow: hidden; }
.workspace-body .product-participants__quiz-attempt summary { align-items: baseline; cursor: pointer; display: grid; gap: .25rem .7rem; grid-template-columns: minmax(0, 1fr) auto; list-style: none; padding: .75rem .85rem; }
.workspace-body .product-participants__quiz-attempt summary::-webkit-details-marker { display: none; }
.workspace-body .product-participants__quiz-attempt summary span { color: #507148; font-weight: 700; }
.workspace-body .product-participants__quiz-attempt summary strong { font-size: .9rem; text-align: right; }
.workspace-body .product-participants__quiz-attempt summary time { color: #756e65; font-size: .75rem; grid-column: 1 / -1; }
.workspace-body .product-participants__quiz-attempt > ol { border-top: 1px solid #ded8ce; display: grid; gap: .65rem; list-style-position: inside; margin: 0; padding: .8rem .85rem; }
.workspace-body .product-participants__quiz-attempt li { background: #fafaf8; border-left: 3px solid #9c958b; line-height: 1.5; padding: .65rem .75rem; }
.workspace-body .product-participants__quiz-attempt li.is-correct { border-left-color: #507148; }
.workspace-body .product-participants__quiz-attempt li.is-incorrect { border-left-color: #934d41; }
.workspace-body .product-participants__quiz-attempt li strong,.workspace-body .product-participants__quiz-attempt li p { display: block; margin: 0 0 .3rem; overflow-wrap: anywhere; }
.workspace-body .product-participants__quiz-attempt li em { color: #507148; font-style: normal; font-weight: 700; }
.workspace-body .product-participants__quiz-attempt li.is-incorrect em { color: #934d41; }
.workspace-body .product-participants__shared-response-map-action { margin-top:1rem; }
.workspace-body .product-participants__shared-response-map-dialog { background:#fffdfa; border:0; border-radius:8px; box-shadow:0 1.5rem 4rem rgba(35,31,26,.3); color:#302c26; max-height:calc(100dvh - 3rem); max-width:min(46rem,calc(100vw - 2rem)); padding:0; width:100%; }
.workspace-body .product-participants__shared-response-map-dialog::backdrop { background:rgba(35,31,26,.45); }
.workspace-body .product-participants__shared-response-map-dialog > header { align-items:flex-start; border-bottom:1px solid #ded8ce; display:flex; justify-content:space-between; padding:1.25rem 1.35rem 1rem; }
.workspace-body .product-participants__shared-response-map-dialog h2 { font-size:1.25rem; margin:.2rem 0 0; }.workspace-body .product-participants__shared-response-map-dialog > header button { background:#f3f0eb; border:0; border-radius:50%; color:#625b51; cursor:pointer; font:1.8rem/1 Arial,sans-serif; height:2.25rem; padding:0 0 .18rem; width:2.25rem; }
.workspace-body .product-participants__shared-response-map-tabs { border-bottom:1px solid #ded8ce; display:flex; gap:.25rem; overflow-x:auto; padding:.7rem 1.35rem 0; }.workspace-body .product-participants__shared-response-map-tabs button { background:transparent; border:0; border-bottom:2px solid transparent; color:#756e65; cursor:pointer; font:600 .875rem/1.35 Outfit,Inter,sans-serif; padding:.55rem .2rem; white-space:nowrap; }.workspace-body .product-participants__shared-response-map-tabs button[aria-selected="true"] { border-bottom-color:#507148; color:#375432; }
.workspace-body .product-participants__shared-response-map-dialog [role="tabpanel"] { max-height:min(22rem,calc(100dvh - 21rem)); overflow-y:auto; padding:1rem 1.35rem; }.workspace-body .product-participants__shared-response-map-section { border-top:1px solid #ded8ce; margin-top:.9rem; padding-top:.9rem; }.workspace-body .product-participants__shared-response-map-section:first-child { border-top:0; margin-top:0; padding-top:0; }.workspace-body .product-participants__shared-response-map-section h3 { font-size:1rem; margin:.3rem 0; }.workspace-body .product-participants__shared-response-map-section h3 small { color:#756e65; font-size:.8rem; font-weight:400; }.workspace-body .product-participants__shared-response-map-prompt { color:#625b51; line-height:1.45; margin:.35rem 0 .7rem; }
.workspace-body .product-participants__shared-response-map-entry { background:#fafaf8; border:1px solid #e7e1d8; border-radius:6px; margin-top:.55rem; padding:.75rem .85rem; }.workspace-body .product-participants__shared-response-map-entry strong { color:#507148; display:block; font-size:.8125rem; }.workspace-body .product-participants__shared-response-map-entry p { line-height:1.55; margin:.3rem 0 0; overflow-wrap:anywhere; }.workspace-body .product-participants__shared-response-map-entry time { color:#756e65; display:block; font-size:.75rem; margin-top:.5rem; }
.workspace-body .product-participants__shared-response-map-filter { color:#625b51; display:grid; font-size:.8125rem; font-weight:700; gap:.35rem; margin:0 0 .85rem; }.workspace-body .product-participants__shared-response-map-filter select { background:#fff; border:1px solid #d8d1c7; border-radius:5px; box-sizing:border-box; color:#302c26; font:400 1rem/1.45 Outfit,Inter,sans-serif; padding:.6rem .7rem; width:100%; }
.workspace-body .product-participants__shared-response-map-compose { border-top:1px solid #ded8ce; padding:1rem 1.35rem 1.25rem; }.workspace-body .product-participants__shared-response-map-compose h3 { font-size:1rem; margin:0 0 .75rem; }.workspace-body .product-participants__shared-response-map-compose form { display:grid; gap:.75rem; }.workspace-body .product-participants__shared-response-map-compose label { color:#625b51; display:grid; font-size:.8125rem; font-weight:700; gap:.35rem; }.workspace-body .product-participants__shared-response-map-compose select,.workspace-body .product-participants__shared-response-map-compose textarea { background:#fff; border:1px solid #d8d1c7; border-radius:5px; box-sizing:border-box; color:#302c26; font:400 1rem/1.45 Outfit,Inter,sans-serif; padding:.6rem .7rem; width:100%; }.workspace-body .product-participants__shared-response-map-compose textarea { min-height:6rem; resize:vertical; }.workspace-body .product-participants__shared-response-map-compose .button { justify-self:start; }.workspace-body .product-participants__shared-response-map-status { color:#375432; margin:0 0 .75rem; }.workspace-body .product-participants__shared-response-map-status.is-error { color:#934d41; }
.workspace-body .product-exercise-responses { max-width: 48rem; }
.workspace-body .product-exercise-responses__header { border-bottom: 1px solid #ded8ce; margin-bottom: 1.25rem; padding-bottom: 1rem; }
.workspace-body .product-exercise-responses__header h1 { font-size: 1.7rem; margin: .25rem 0; }
.workspace-body .product-exercise-responses__header > p:last-child { color: #756e65; margin: 0; }
.workspace-body .product-exercise-responses__exercise { border-top: 1px solid #ded8ce; padding: 1rem 0; }
.workspace-body .product-exercise-responses__exercise:first-child { border-top: 0; padding-top: 0; }
.workspace-body .product-exercise-responses__module,.workspace-body .product-exercise-responses__lesson { color: #6b675f; font-size: .8125rem; margin: 0; }
.workspace-body .product-exercise-responses__module { color: #507148; font-weight: 700; margin-bottom: .2rem; }
.workspace-body .product-exercise-responses__exercise h2 { font-size: 1.05rem; margin: .35rem 0 .75rem; }
.workspace-body .product-exercise-responses__question { border: 1px solid #ded8ce; border-radius: 6px; margin-top: .55rem; overflow: hidden; }
.workspace-body .product-exercise-responses__question-summary { align-items: center; display: grid; gap: .5rem 1rem; grid-template-columns: minmax(0, 1fr) auto; padding: .75rem .85rem; }
.workspace-body .product-exercise-responses__question summary { cursor: pointer; list-style: none; }
.workspace-body .product-exercise-responses__question summary::-webkit-details-marker { display: none; }
.workspace-body .product-exercise-responses__question-summary strong,.workspace-body .product-exercise-responses__question-summary small { display: block; overflow-wrap: anywhere; }
.workspace-body .product-exercise-responses__question-summary small { color: #756e65; font-size: .75rem; font-weight: 400; margin-top: .3rem; }
.workspace-body .product-exercise-responses__question-summary b { color: #507148; font-size: .8125rem; white-space: nowrap; }
.workspace-body .product-exercise-responses__response-view { border-top: 1px solid #ded8ce; padding: .8rem .85rem; }
.workspace-body .product-exercise-responses__response-card { background: #fafaf8; border-left: 3px solid #507148; padding: .75rem .8rem; }
.workspace-body .product-exercise-responses__response-card header { align-items: center; display: flex; gap: .75rem; justify-content: space-between; }
.workspace-body .product-exercise-responses__response-card header strong { color: #507148; }
.workspace-body .product-exercise-responses__response-card header span,.workspace-body .product-exercise-responses__response-card time { color: #756e65; font-size: .75rem; }
.workspace-body .product-exercise-responses__client { font-weight: 700; margin: .7rem 0 .35rem; }
.workspace-body .product-exercise-responses__answer { line-height: 1.55; margin: 0; overflow-wrap: anywhere; }
.workspace-body .product-exercise-responses__response-card time { display: block; margin-top: .7rem; }
.workspace-body .product-exercise-responses__controls { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .7rem; }
.workspace-body .product-exercise-responses__controls .button { min-height: 2.25rem; padding: .35rem .65rem; }
.workspace-body .product-exercise-responses__collapse { background: transparent; border: 0; color: #507148; cursor: pointer; font: inherit; font-size: .8125rem; margin-left: auto; padding: .35rem; }
@media (max-width: 560px) { .workspace-body .product-exercise-responses__question-summary { align-items: start; grid-template-columns: 1fr; } .workspace-body .product-exercise-responses__question-summary b { white-space: normal; } .workspace-body .product-exercise-responses__controls { align-items: stretch; flex-direction: column; } .workspace-body .product-exercise-responses__controls .button { width: 100%; } .workspace-body .product-exercise-responses__collapse { margin-left: 0; text-align: left; } }
@media (max-width: 560px) { .workspace-body .product-participants__row { align-items: flex-start; flex-direction: column; } .workspace-body .product-participants__row .button { width: 100%; } .workspace-body .product-participants__module > header { align-items: flex-start; flex-direction: column; gap: .2rem; } .workspace-body .product-participants__lesson { align-items: start; grid-template-columns: 1rem minmax(0, 1fr); } .workspace-body .product-participants__lesson small { grid-column: 2; white-space: normal; } .workspace-body .product-participants__quiz-attempt summary { align-items: start; grid-template-columns: 1fr; } .workspace-body .product-participants__quiz-attempt summary strong { text-align: left; } .workspace-body .product-participants__access-summary { grid-template-columns:1fr; }.workspace-body .product-participants__access-actions form { align-items:stretch; flex-direction:column; }.workspace-body .product-participants__access-actions .button { width:100%; } }
@media (max-width:560px) { .workspace-body .product-participants__shared-response-map-dialog { max-height:calc(100dvh - 1.25rem); max-width:calc(100vw - 1.25rem); }.workspace-body .product-participants__shared-response-map-dialog > header,.workspace-body .product-participants__shared-response-map-compose { padding-left:1rem; padding-right:1rem; }.workspace-body .product-participants__shared-response-map-tabs { padding-left:1rem; padding-right:1rem; }.workspace-body .product-participants__shared-response-map-dialog [role="tabpanel"] { max-height:calc(100dvh - 22rem); padding-left:1rem; padding-right:1rem; }.workspace-body .product-participants__shared-response-map-compose .button { width:100%; } }

/* Response review: give the reading flow a clear hierarchy on every viewport. */
.workspace-body .product-author-shell .product-exercise-responses {
    box-sizing: border-box;
    max-width: 58rem;
    padding: 2.5rem 3rem 4rem;
    width: 100%;
}
.workspace-body .product-author-shell .product-exercise-responses__header {
    background: #f3f6f0;
    border: 1px solid #dce5d9;
    border-left: 4px solid #507148;
    border-radius: 10px;
    margin-bottom: 2rem;
    padding: 1.4rem 1.5rem 1.35rem;
}
.workspace-body .product-author-shell .product-exercise-responses__header .eyebrow {
    color: #507148;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .15em;
    margin: 0 0 .55rem;
}
.workspace-body .product-author-shell .product-exercise-responses__header h1,
.workspace-body .product-author-shell .product-exercise-responses__header h2 {
    color: #252323;
    font-family: "PT Serif", Georgia, serif;
    font-weight: 400;
    line-height: 1.1;
    margin: 0 0 .55rem;
}
.workspace-body .product-author-shell .product-exercise-responses__header h1 { font-size: clamp(2rem, 4vw, 2.7rem); }
.workspace-body .product-author-shell .product-exercise-responses__header h2 { font-size: clamp(1.45rem, 3vw, 2rem); }
.workspace-body .product-author-shell .product-exercise-responses__header > p:last-child {
    color: #6f6a64;
    line-height: 1.55;
    margin: 0;
    max-width: 42rem;
}
.workspace-body .product-author-shell .product-exercise-responses__sections {
    display: grid;
    gap: 1rem;
}
.workspace-body .product-author-shell .product-exercise-responses__exercise {
    background: #fffdfa;
    border: 1px solid #e2ddd5;
    border-radius: 9px;
    box-shadow: 0 5px 18px rgba(45, 53, 43, .045);
    padding: 1.2rem 1.3rem 1.3rem;
}
.workspace-body .product-author-shell .product-exercise-responses__exercise:first-child { padding-top: 1.2rem; }
.workspace-body .product-author-shell .product-exercise-responses__module {
    font-size: .75rem;
    letter-spacing: .02em;
    margin-bottom: .25rem;
}
.workspace-body .product-author-shell .product-exercise-responses__lesson {
    color: #756e65;
    font-size: .8rem;
}
.workspace-body .product-author-shell .product-exercise-responses__exercise h2 {
    color: #302c26;
    font-family: "PT Serif", Georgia, serif;
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.25;
    margin: .5rem 0 .85rem;
    overflow-wrap: anywhere;
}
.workspace-body .product-author-shell .product-exercise-responses__question {
    background: #f8f6f1;
    border: 1px solid #e1dbd1;
    border-radius: 8px;
    margin-top: .65rem;
}
.workspace-body .product-author-shell .product-exercise-responses__question-summary {
    min-width: 0;
    padding: .95rem 1rem;
}
.workspace-body .product-author-shell .product-exercise-responses__question-summary strong { color: #302c26; line-height: 1.35; }
.workspace-body .product-author-shell .product-exercise-responses__question-summary b { color: #507148; font-weight: 700; }
.workspace-body .product-author-shell .product-exercise-responses__response-view {
    background: #fffdfa;
    border-top-color: #e1dbd1;
    padding: 1rem;
}
.workspace-body .product-author-shell .product-exercise-responses__response-card {
    background: #f3f6f0;
    border-left: 3px solid #507148;
    border-radius: 0 7px 7px 0;
    padding: 1rem 1.05rem;
}
.workspace-body .product-author-shell .product-exercise-responses__response-card header strong,
.workspace-body .product-author-shell .product-exercise-responses__response-card header span { color: #507148; }
.workspace-body .product-author-shell .product-exercise-responses__client { color: #302c26; margin-top: .8rem; }
.workspace-body .product-author-shell .product-exercise-responses__answer { color: #302c26; line-height: 1.65; }
.workspace-body .product-author-shell .product-exercise-responses__shared-maps {
    border-top: 2px solid #dce5d9;
    margin-top: 2.5rem;
    padding-top: 2rem;
}
.workspace-body .product-author-shell .product-exercise-responses__shared-maps > .product-exercise-responses__header {
    background: #f7f3eb;
    border-color: #e6ded2;
    border-left-color: #9c8060;
    margin-bottom: 1rem;
}
.workspace-body .product-author-shell .product-exercise-responses__shared-maps > .product-exercise-responses__header .eyebrow { color: #8a6d4f; }
.workspace-body .product-author-shell .product-exercise-responses__shared-maps > .product-exercise-responses__exercise {
    background: #fbfaf7;
}

@media (max-width: 800px) {
    .workspace-body .product-author-shell .product-exercise-responses {
        padding: 1.25rem 1rem 3rem;
    }
    .workspace-body .product-author-shell .product-exercise-responses__header {
        border-radius: 8px;
        margin-bottom: 1.25rem;
        padding: 1.1rem 1rem 1.05rem;
    }
    .workspace-body .product-author-shell .product-exercise-responses__header h1 { font-size: 2rem; }
    .workspace-body .product-author-shell .product-exercise-responses__header h2 { font-size: 1.55rem; }
    .workspace-body .product-author-shell .product-exercise-responses__sections { gap: .75rem; }
    .workspace-body .product-author-shell .product-exercise-responses__exercise {
        border-radius: 8px;
        padding: 1rem;
    }
    .workspace-body .product-author-shell .product-exercise-responses__exercise:first-child { padding-top: 1rem; }
    .workspace-body .product-author-shell .product-exercise-responses__question-summary { padding: .85rem .9rem; }
    .workspace-body .product-author-shell .product-exercise-responses__response-view { padding: .8rem; }
    .workspace-body .product-author-shell .product-exercise-responses__response-card { padding: .9rem; }
    .workspace-body .product-author-shell .product-exercise-responses__shared-maps {
        margin-top: 1.75rem;
        padding-top: 1.5rem;
    }
}

@media (max-width: 360px) {
    .workspace-body .product-author-shell .product-exercise-responses { padding-left: .75rem; padding-right: .75rem; }
    .workspace-body .product-author-shell .product-exercise-responses__header { padding-left: .85rem; padding-right: .85rem; }
    .workspace-body .product-author-shell .product-exercise-responses__exercise { padding-left: .85rem; padding-right: .85rem; }
}

/* Product participant detail: keep the review surface clear of the author sidebar. */
.workspace-body .product-author-shell .product-participants { box-sizing: border-box; margin: 0 auto; max-width: 72rem; padding: 2.25rem 3rem 4rem; width: 100%; }
.workspace-body .product-author-shell .product-participants__header { max-width: 54rem; margin-bottom: 1.5rem; padding-bottom: 1.25rem; }
.workspace-body .product-author-shell .product-participants__header h1 { font-size: clamp(1.8rem, 3vw, 2.55rem); line-height: 1.12; margin: .35rem 0 .45rem; }
.workspace-body .product-author-shell .product-participants__header .workspace-inline-link { color: var(--product-green); font-size: .8rem; font-weight: 650; }
.workspace-body .product-author-shell .product-participants__detail { background: var(--product-surface); border: 1px solid var(--product-border); border-radius: 8px; display: grid; gap: .25rem; margin: 0; max-width: 22rem; padding: 1rem 1.1rem; }
.workspace-body .product-author-shell .product-participants__progress { align-items: center; gap: .7rem; margin: 0; }
.workspace-body .product-author-shell .product-participants__progress strong { color: var(--product-text); font-size: .98rem; }
.workspace-body .product-author-shell .product-participants__progress span { font-size: .9rem; }
.workspace-body .product-author-shell .product-participants__access { box-sizing: border-box; margin-top: 1rem; max-width: 66rem; padding: 1.2rem 1.3rem; width: 100%; }
.workspace-body .product-author-shell .product-participants__access-summary { gap: 1.25rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: .9rem 0 1rem; }
.workspace-body .product-author-shell .product-participants__access-summary > div { min-width: 0; }
.workspace-body .product-author-shell .product-participants__access-summary strong { color: var(--product-text); font-size: .82rem; }
.workspace-body .product-author-shell .product-participants__access-summary p { font-size: .86rem; }
.workspace-body .product-author-shell .product-participants__shared-response-map-action { margin-top: 1.1rem; }
.workspace-body .product-author-shell .product-participants__journey, .workspace-body .product-author-shell .product-participants__responses, .workspace-body .product-author-shell .product-participants__quiz-attempts { margin-top: 2.25rem; max-width: 66rem; }
.workspace-body .product-author-shell .product-participants__journey > .eyebrow, .workspace-body .product-author-shell .product-participants__responses > .eyebrow, .workspace-body .product-author-shell .product-participants__quiz-attempts > .eyebrow { border-bottom: 1px solid var(--product-border); color: var(--product-muted); margin: 0 0 .85rem; padding-bottom: .65rem; }
.workspace-body .product-author-shell .product-participants__module { background: var(--product-surface); border: 1px solid var(--product-border); border-radius: 8px; margin-top: .7rem; padding: .85rem 1rem; }
.workspace-body .product-author-shell .product-participants__module:first-of-type { margin-top: 0; }
.workspace-body .product-author-shell .product-participants__module > header { align-items: center; }
.workspace-body .product-author-shell .product-participants__module h2 { font-size: 1.02rem; }
.workspace-body .product-author-shell .product-participants__lesson { border-top: 1px solid rgba(38,34,26,.07); padding: .6rem 0; }
.workspace-body .product-author-shell .product-participants__lesson:first-child { border-top: 0; }
.workspace-body .product-author-shell .product-participants__exercise-response, .workspace-body .product-author-shell .product-participants__quiz-section { background: var(--product-surface); border: 1px solid var(--product-border); border-radius: 8px; margin-top: .7rem; padding: 1rem 1.1rem; }
.workspace-body .product-author-shell .product-participants__exercise-response:first-of-type, .workspace-body .product-author-shell .product-participants__quiz-section:first-of-type { margin-top: 0; }
.workspace-body .product-author-shell .product-participants__response-question { border-top: 1px solid rgba(38,34,26,.08); padding-top: .85rem; }
.workspace-body .product-author-shell .product-participants__response-answer { background: var(--product-alt); border-color: transparent; border-left: 3px solid var(--product-green); border-radius: 4px; padding: .75rem .85rem; }
.workspace-body .product-author-shell .product-participants__quiz-attempt { border-color: rgba(38,34,26,.13); margin-top: .7rem; }
.workspace-body .product-author-shell .product-participants__quiz-attempt summary { background: var(--product-alt); padding: .8rem .9rem; }
.workspace-body .product-author-shell .product-participants__quiz-attempt > ol { background: var(--product-surface); padding: .85rem .9rem; }
.workspace-body .product-author-shell .product-participants__empty-progress { background: rgba(237,233,223,.58); border-left: 2px solid var(--product-border); font-size: .88rem; line-height: 1.5; margin: 0; padding: .75rem .9rem; }
.workspace-body .product-author-shell .product-participants__homework-item { display: grid; gap: 1rem; }
.workspace-body .product-author-shell .product-participants__homework-header { align-items: flex-start; border-bottom: 1px solid rgba(38,34,26,.1); display: flex; gap: 1rem; justify-content: space-between; padding-bottom: .9rem; }
.workspace-body .product-author-shell .product-participants__homework-header > div { min-width: 0; }
.workspace-body .product-author-shell .product-participants__homework-header .product-participants__response-lesson { margin: 0 0 .35rem; }
.workspace-body .product-author-shell .product-participants__homework-header h3 { margin: 0; }
.workspace-body .product-author-shell .product-participants__homework-state { background: var(--product-alt); border: 1px solid var(--product-border); border-radius: 999px; color: var(--product-muted); flex: 0 0 auto; font-size: .72rem; font-weight: 650; line-height: 1; padding: .42rem .55rem; }
.workspace-body .product-author-shell .product-participants__homework-state.is-submitted { background: rgba(78,111,73,.1); border-color: rgba(78,111,73,.25); color: var(--product-green); }
.workspace-body .product-author-shell .product-participants__homework-assignment { background: var(--product-alt); border-left: 3px solid #a98a60; padding: .8rem .9rem; }
.workspace-body .product-author-shell .product-participants__homework-assignment p { margin: 0; }
.workspace-body .product-author-shell .product-participants__homework-assignment .product-participants__response-label { color: var(--product-muted); font-size: .68rem; font-weight: 700; letter-spacing: .08em; margin-bottom: .45rem; }
.workspace-body .product-author-shell .product-participants__homework-response { border-left-width: 3px; margin: 0; }
.workspace-body .product-author-shell .product-participants__homework-response--draft { border-left-color: #a98a60; }
.workspace-body .product-author-shell .product-participants__homework-response--client { border-left-color: #55768c; }
.workspace-body .product-author-shell .product-participants__homework-response--practitioner { border-left-color: var(--product-green); }
.workspace-body .product-author-shell .product-participants__homework-reply { background: rgba(78,111,73,.08); border-top: 1px solid rgba(78,111,73,.2); display: grid; gap: .75rem; margin: 0; padding: .9rem; }
.workspace-body .product-author-shell .product-participants__homework-reply label { color: var(--product-text); display: grid; font-size: .82rem; font-weight: 650; gap: .45rem; }
.workspace-body .product-author-shell .product-participants__homework-reply textarea { box-sizing: border-box; min-height: 7rem; resize: vertical; width: 100%; }
.workspace-body .product-author-shell .product-participants__homework-reply .button { justify-self: start; }

@media (max-width: 899px) {
    .workspace-body .product-author-shell .product-participants { max-width: none; padding: 1.5rem 1.25rem 3rem; }
}

@media (max-width: 620px) {
    .workspace-body .product-author-shell .product-participants { padding: 1.2rem 1rem 2.5rem; }
    .workspace-body .product-author-shell .product-participants__detail { max-width: none; }
    .workspace-body .product-author-shell .product-participants__access { padding: 1rem; }
    .workspace-body .product-author-shell .product-participants__access-summary { grid-template-columns: 1fr; }
    .workspace-body .product-author-shell .product-participants__module, .workspace-body .product-author-shell .product-participants__exercise-response, .workspace-body .product-author-shell .product-participants__quiz-section { padding: .85rem; }
    .workspace-body .product-author-shell .product-participants__homework-header { flex-direction: column; gap: .65rem; }
    .workspace-body .product-author-shell .product-participants__homework-reply .button { justify-self: stretch; width: 100%; }
}
/* Product experience Figma: compact, resizable response fields and a clear answer-map action. */
.product-shared-response-map textarea,
.product-homework textarea { border-color: rgba(38,34,26,.2); border-radius: 6px; font: 400 .90625rem/1.62 Outfit,Inter,sans-serif; height: 5.75rem; max-height: 18rem; min-height: 5.75rem; padding: .75rem .875rem; }
.product-shared-response-map__view-responses { align-items: center; background: var(--product-alt); border: 1px solid var(--product-border); border-radius: 6px; color: var(--product-text); cursor: pointer; display: inline-flex; font: 500 .84rem/1.35 Outfit,Inter,sans-serif; gap: .65rem; justify-self: start; padding: .65rem .8rem; transition: border-color .15s ease, background-color .15s ease; }
.product-shared-response-map__view-responses:hover { background: #fff; border-color: rgba(75,102,65,.45); }
.product-shared-response-map__view-responses:focus-visible { outline: 2px solid rgba(75,102,65,.5); outline-offset: 2px; }
.product-shared-response-map__view-responses span { color: var(--product-green); font-size: 1rem; line-height: 1; margin: 0; transform: none; }
.product-shared-response-map__view-responses:disabled { cursor: default; opacity: .65; }
@media (max-width:480px) { .product-shared-response-map textarea,.product-homework textarea { height:5.75rem; min-height:5.75rem; padding:.75rem .875rem; } }

.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-page-header { align-items: start; display: grid; gap: .45rem; }
.workspace-body .notification-page-header > p { color: #4e4a44; font-size: .975rem; line-height: 1.5; margin: 0; }
.workspace-body .notification-page-header__settings { align-self: start; font-size: .875rem; margin-top: .45rem; min-height: 2.5rem; }
.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 { grid-auto-columns: auto; grid-auto-flow: row; grid-template-columns: minmax(0, 1fr); 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-page-header__settings { width: 100%; }
    .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: 1.25rem; grid-template-columns: minmax(0, 1fr) minmax(19rem, 21rem); padding: 1.25rem; }
.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: .4rem; margin-top: .7rem; padding-top: .7rem; }
.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__sharing > .button { justify-content: center; margin-top: .1rem; min-height: 2.5rem; width: min(100%, 10.5rem); }
.workspace-body .materials-card__actions { align-content: start; display: grid; gap: .5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.workspace-body .materials-card__actions > .button, .workspace-body .materials-card__actions > form, .workspace-body .materials-card__actions > details { min-width: 0; }
.workspace-body .materials-card__actions .button, .workspace-body .materials-card__actions details > summary { box-sizing: border-box; justify-content: center; min-height: 2.5rem; text-align: center; width: 100%; }
.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; grid-template-columns: 1fr; 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 { -webkit-box-orient: vertical; -webkit-line-clamp: 3; display: -webkit-box; font-size: .86rem; font-weight: 500; line-height: 1.35; max-height: 4.05em; overflow: hidden; overflow-wrap: anywhere; white-space: pre-line; }
.workspace-body .product-builder__block-select--image { gap: .28rem; }
.workspace-body .product-builder__block-image-summary { align-items: center; display: flex; gap: .65rem; min-width: 0; }
.workspace-body .product-builder__block-image-summary img { background: var(--product-alt); border-radius: 4px; display: block; flex: 0 0 3.5rem; height: 2.7rem; object-fit: cover; width: 3.5rem; }
.workspace-body .product-builder__block-image-summary > span { display: grid; gap: .12rem; min-width: 0; }
.workspace-body .product-builder__block-image-summary strong { -webkit-line-clamp: 1; max-height: 1.35em; }
.workspace-body .product-builder__block-image-summary small { color: var(--product-muted); font-size: .7rem; }
.workspace-body .product-builder__image-preview { background: var(--product-alt); border: 1px solid var(--product-border); border-radius: 6px; margin: 0; max-width: 28rem; overflow: hidden; width: 100%; }
.workspace-body .product-builder__image-preview img { display: block; height: auto; max-height: 15rem; object-fit: contain; width: 100%; }
.workspace-body .product-builder__image-preview--ratio-16-9, .workspace-body .product-builder__image-preview--ratio-4-3, .workspace-body .product-builder__image-preview--ratio-1-1 { max-width: 24rem; }
.workspace-body .product-builder__image-preview--ratio-16-9 { aspect-ratio: 16 / 9; }
.workspace-body .product-builder__image-preview--ratio-4-3 { aspect-ratio: 4 / 3; }
.workspace-body .product-builder__image-preview--ratio-1-1 { aspect-ratio: 1; max-width: 15rem; }
.workspace-body .product-builder__image-preview--ratio-16-9 img, .workspace-body .product-builder__image-preview--ratio-4-3 img, .workspace-body .product-builder__image-preview--ratio-1-1 img { height: 100%; max-height: none; object-fit: cover; }
.workspace-body .product-builder__image-preview figcaption { background: rgba(255,255,255,.86); color: var(--product-text); font-size: .72rem; overflow: hidden; padding: .45rem .55rem; text-overflow: ellipsis; white-space: nowrap; }
.workspace-body .product-builder__image-preview.is-empty { align-items: center; display: flex; justify-content: center; min-height: 5.25rem; padding: .75rem; }
.workspace-body .product-builder__image-preview.is-empty p { color: var(--product-muted); font-size: .75rem; line-height: 1.4; margin: 0; text-align: center; }
.workspace-body .product-builder__video-preview { background: #1f251d; border: 1px solid var(--product-border); border-radius: 6px; margin: 0; max-width: 28rem; overflow: hidden; }
.workspace-body .product-builder__video-preview [hidden] { display: none; }
.workspace-body .product-builder__video-preview iframe { aspect-ratio: 16 / 9; border: 0; display: block; width: 100%; }
.workspace-body .product-builder__video-preview.is-empty { align-items: center; display: flex; justify-content: center; min-height: 6.5rem; padding: .75rem; }
.workspace-body .product-builder__video-preview.is-empty p { color: #f6f2e9; font-size: .75rem; line-height: 1.4; margin: 0; text-align: center; }
.workspace-body .product-builder__video-preview figcaption { align-items: baseline; background: rgba(255,255,255,.94); color: var(--product-text); display: flex; font-size: .72rem; gap: .4rem; line-height: 1.35; padding: .45rem .55rem; }
.workspace-body .product-builder__video-preview figcaption strong { color: var(--product-green); flex: 0 0 auto; font-size: .68rem; letter-spacing: .04em; text-transform: uppercase; }
.workspace-body .product-builder__video-preview figcaption span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-body .product-builder__hosted-video-status { color: var(--product-muted); font-size: .75rem; line-height: 1.4; margin: 0; }
.workspace-body .product-builder__block-summary--hosted-video { display: grid; gap: .15rem; }
.workspace-body .product-builder__block-summary--hosted-video small { color: var(--product-muted); font-size: .72rem; font-weight: 500; }
.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__callout-intro { color:var(--product-muted); font-size:.84rem; line-height:1.45; margin:0; }
.workspace-body .product-builder__video-section { align-self: start; background: var(--product-surface); border: 1px solid var(--product-border); border-radius: 7px; box-sizing: border-box; display: grid; gap: .75rem; min-width: 0; padding: .9rem; width: 100%; }
.workspace-body .product-builder__video-section > header { display: grid; gap: .16rem; }
.workspace-body .product-builder__video-section h4 { color: var(--product-text); font-size: .94rem; margin: 0; }
.workspace-body .product-builder__video-section > header p { color: var(--product-muted); font-size: .75rem; line-height: 1.4; margin: 0; }
.workspace-body .product-builder__video-section form { background: transparent; border: 0; min-width: 0; padding: 0; width: 100%; }
.workspace-body .product-builder__video-section label, .workspace-body .product-builder__video-section input, .workspace-body .product-builder__video-section select, .workspace-body .product-builder__video-section button, .workspace-body .product-builder__video-section figure { box-sizing: border-box; max-width: 100%; min-width: 0; width: 100%; }
.workspace-body .product-builder__hosted-video-library { border-bottom: 1px solid var(--product-border) !important; padding-bottom: .75rem !important; }
.workspace-body .product-builder__hosted-video-manual { border-top: 1px solid var(--product-border); display: grid; gap: .5rem; padding-top: .75rem; }
.workspace-body .product-builder__hosted-video-manual > p:first-child { color: var(--product-text); font-size: .78rem; font-weight: 650; margin: 0; }
.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-toolbar button[data-rich-link-open], .workspace-body .product-builder__rich-toolbar button[data-rich-link-remove] { 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-editor--product .product-builder__rich-toolbar button.is-active { background: var(--product-green); border-color: var(--product-green); color: #fff; }
.workspace-body .product-builder__rich-editor--product .product-builder__rich-input .public-product-page__editorial-font-sans { font-family: Outfit, Inter, sans-serif; }
.workspace-body .product-builder__rich-editor--product .product-builder__rich-input .public-product-page__editorial-font-serif { font-family: Lora, Georgia, serif; }
.workspace-body .product-builder__rich-editor--product .product-builder__rich-input .public-product-page__editorial-size-text { font-size: .875rem; line-height: 1.55; }
.workspace-body .product-builder__rich-editor--product .product-builder__rich-input .public-product-page__editorial-size-subtitle { font-size: 1.05rem; line-height: 1.35; }
.workspace-body .product-builder__rich-editor--product .product-builder__rich-input .public-product-page__editorial-size-heading { font-size: 1.35rem; line-height: 1.2; }
.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 a { color: var(--product-green); text-decoration: underline; text-underline-offset: .16em; }
.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 .subscription-create-format { border: 0; display: grid; gap: .7rem; margin: 0; min-width: 0; padding: 0; }
.workspace-body .subscription-create-format > legend { color: var(--workspace-ink, #211f1c); font-weight: 700; padding: 0; }
.workspace-body .subscription-create-format__options { display: grid; gap: .65rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.workspace-body .subscription-create-format__options > label { align-items: flex-start; background: #fff; border: 1px solid #d8d2c9; border-radius: 7px; cursor: pointer; display: flex; gap: .7rem; min-width: 0; padding: .9rem; }
.workspace-body .subscription-create-format__options > label:has(input:checked) { border-color: #527043; box-shadow: 0 0 0 2px rgba(82, 112, 67, .18); }
.workspace-body .subscription-create-format__options input { flex: 0 0 auto; margin-top: .2rem; }
.workspace-body .subscription-create-format__options span { display: grid; gap: .3rem; min-width: 0; }
.workspace-body .subscription-create-format__options small { color: #776e62; line-height: 1.45; }
.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%; } .workspace-body .subscription-create-format__options { grid-template-columns: minmax(0, 1fr); } }

/* 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; grid-template-columns: minmax(0, 1fr); 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; min-width: 0; }
.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-author-shell .product-group-meetings { box-sizing: border-box; margin: 0 auto; max-width: 70rem; padding: 3.5rem 4rem 5rem; width: 100%; }
.workspace-body .product-author-shell .product-group-meetings__header { border-bottom: 1px solid var(--product-border); max-width: 44rem; padding-bottom: 1.35rem; }
.workspace-body .product-author-shell .product-group-meetings__header h1 { font-size: clamp(2rem, 3.4vw, 3.35rem); line-height: 1.1; margin: .25rem 0 .6rem; }
.workspace-body .product-author-shell .product-group-meetings__header > p:last-child { color: var(--product-muted); line-height: 1.5; margin: 0; }
.workspace-body .product-author-shell .product-group-meetings__list { display: grid; gap: .85rem; margin-top: 1.5rem; max-width: 54rem; }
.workspace-body .product-author-shell .product-group-meetings__meeting { align-items: center; display: grid; gap: 1.25rem; grid-template-columns: minmax(0, 1fr) auto; padding: 1.2rem 1.3rem; }
.workspace-body .product-author-shell .product-group-meetings__meeting h2 { font-family: Outfit, Inter, sans-serif; font-size: 1rem; font-weight: 650; margin: .25rem 0 .45rem; }
.workspace-body .product-author-shell .product-group-meetings__context { color: var(--product-accent); font-size: .72rem; font-weight: 650; margin: 0; }
.workspace-body .product-author-shell .product-group-meetings__details { color: var(--product-muted); display: flex; flex-wrap: wrap; font-size: .82rem; gap: .25rem .7rem; margin: 0; }
.workspace-body .product-author-shell .product-group-meetings__details span + span::before, .workspace-body .product-author-shell .product-group-meetings__details time + span::before { color: var(--product-border); content: '·'; margin-right: .7rem; }
.workspace-body .product-author-shell .product-group-meetings__actions { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem; justify-content: flex-end; }
.workspace-body .product-author-shell .product-group-meetings__actions .button { border-radius: 6px; font-size: .78rem; text-decoration: none; white-space: nowrap; }
.workspace-body .product-author-shell .product-group-meetings__empty { display: grid; gap: .8rem; margin-top: 1.5rem; max-width: 42rem; }
@media (max-width: 680px) { .workspace-body .product-author-shell .product-group-meetings { padding: 2rem 1.25rem 5rem; } .workspace-body .product-author-shell .product-group-meetings__meeting { align-items: start; grid-template-columns: 1fr; } .workspace-body .product-author-shell .product-group-meetings__actions { justify-content: flex-start; } }

/* Product classification keeps assignment focused and reveals shared lists only when needed. */
.workspace-body .product-author-shell .product-classification { box-sizing: border-box; display: grid; gap: 1.5rem; margin: 0 auto; max-width: 67rem; padding: 2.25rem 3rem 4.5rem; width: 100%; }
.workspace-body .product-author-shell .product-classification__header { border-bottom: 1px solid var(--product-border); max-width: 44rem; padding-bottom: 1.25rem; }
.workspace-body .product-author-shell .product-classification__header h1 { font-size: clamp(1.9rem, 3vw, 2.75rem); line-height: 1.12; margin: .25rem 0 .55rem; }
.workspace-body .product-author-shell .product-classification__header > p:last-child, .workspace-body .product-author-shell .product-classification__section-heading p { color: var(--product-muted); font-size: .9rem; line-height: 1.5; margin: 0; }
.workspace-body .product-author-shell .product-classification .workspace-panel { background: var(--product-surface); border: 1px solid var(--product-border); border-radius: 8px; box-shadow: none; padding: 1.35rem 1.5rem; }
.workspace-body .product-author-shell .product-classification__assignment { display: grid; gap: 1.15rem; max-width: 48rem; }
.workspace-body .product-author-shell .product-classification .visually-hidden { border: 0; clip: rect(0,0,0,0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; white-space: nowrap; width: 1px; }
.workspace-body .product-author-shell .product-classification__section-heading { display: grid; gap: .35rem; }
.workspace-body .product-author-shell .product-classification__section-heading h2 { font-family: Outfit, Inter, sans-serif; font-size: 1.05rem; font-weight: 650; margin: 0; }
.workspace-body .product-author-shell .product-classification .field { color: var(--product-text); font-size: .82rem; font-weight: 650; gap: .4rem; }
.workspace-body .product-author-shell .product-classification .field small { color: var(--product-muted); font-size: .76rem; font-weight: 400; line-height: 1.45; }
.workspace-body .product-author-shell .product-classification select, .workspace-body .product-author-shell .product-classification input { background: #fff; border: 1px solid rgba(38,34,26,.18); border-radius: 6px; box-sizing: border-box; color: var(--product-text); font: inherit; min-height: 2.5rem; padding: .55rem .65rem; width: 100%; }
.workspace-body .product-author-shell .product-classification select:focus-visible, .workspace-body .product-author-shell .product-classification input:focus-visible { border-color: var(--product-green); box-shadow: 0 0 0 3px rgba(75,102,65,.14); outline: 0; }
.workspace-body .product-author-shell .product-classification__field-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.workspace-body .product-author-shell .product-classification__themes { border: 0; margin: 0; min-inline-size: 0; padding: 0; }
.workspace-body .product-author-shell .product-classification__themes legend { color: var(--product-text); font-size: .82rem; font-weight: 650; padding: 0; }
.workspace-body .product-author-shell .product-classification__themes legend span { color: var(--product-muted); font-size: .76rem; font-weight: 400; margin-left: .35rem; }
.workspace-body .product-author-shell .product-classification__themes > p { color: var(--product-muted); font-size: .76rem; margin: .35rem 0 .6rem; }
.workspace-body .product-author-shell .product-classification__theme-options { display: flex; flex-wrap: wrap; gap: .5rem; }
.workspace-body .product-author-shell .product-classification__theme { align-items: center; background: #fff; border: 1px solid rgba(38,34,26,.14); border-radius: 6px; cursor: pointer; display: inline-flex; font-size: .78rem; font-weight: 500; gap: .45rem; min-height: 2.3rem; padding: .35rem .55rem; }
.workspace-body .product-author-shell .product-classification__theme:has(input:checked) { background: rgba(75,102,65,.11); border-color: rgba(75,102,65,.5); color: var(--product-green); }
.workspace-body .product-author-shell .product-classification__theme input { accent-color: var(--product-green); min-height: auto; padding: 0; width: auto; }
.workspace-body .product-author-shell .product-classification__tag-editor { align-items: center; background: #fff; border: 1px solid rgba(38,34,26,.18); border-radius: 6px; display: flex; flex-wrap: wrap; gap: .35rem; min-height: 2.5rem; padding: .35rem; }
.workspace-body .product-author-shell .product-classification__tag-editor:focus-within { border-color: var(--product-green); box-shadow: 0 0 0 3px rgba(75,102,65,.14); }
.workspace-body .product-author-shell .product-classification__tag-list { display: contents; }
.workspace-body .product-author-shell .product-classification__tag { align-items: center; background: rgba(75,102,65,.1); border-radius: 4px; color: var(--product-green); display: inline-flex; font-size: .76rem; font-weight: 600; gap: .25rem; padding: .28rem .4rem; }
.workspace-body .product-author-shell .product-classification__tag button { background: transparent; border: 0; color: inherit; cursor: pointer; font: inherit; line-height: 1; padding: 0; }
.workspace-body .product-author-shell .product-classification__tag-editor input[type="text"] { border: 0; box-shadow: none; flex: 1 1 9rem; min-height: 1.7rem; min-width: 0; padding: .15rem .3rem; width: auto; }
.workspace-body .product-author-shell .product-classification__tag-editor input[type="hidden"] { display: none; }
.workspace-body .product-author-shell .product-classification .button { background: var(--product-green); border-color: var(--product-green); border-radius: 6px; color: #fff; font-size: .78rem; justify-self: start; min-height: 2.3rem; padding: .5rem .8rem; }
.workspace-body .product-author-shell .product-classification .button--secondary { background: transparent; border-color: var(--product-border); color: var(--product-green); }
.workspace-body .product-author-shell .product-classification .button--ghost { background: transparent; border-color: transparent; color: var(--product-muted); }
.workspace-body .product-author-shell .product-classification .button--ghost:hover, .workspace-body .product-author-shell .product-classification .button--ghost:focus-visible { background: rgba(75,102,65,.08); color: var(--product-green); }
.workspace-body .product-author-shell .product-classification .button:disabled { cursor: not-allowed; opacity: .42; }
.workspace-body .product-author-shell .product-classification__management { display: grid; gap: .9rem; max-width: 48rem; }
.workspace-body .product-author-shell .product-classification__preview { display: grid; gap: .85rem; max-width: 48rem; }
.workspace-body .product-author-shell .product-classification__preview-current { align-items: center; border: 1px solid var(--product-border); display: grid; gap: .75rem; grid-template-columns: 4rem minmax(0, 1fr); padding: .6rem; }
.workspace-body .product-author-shell .product-classification__preview-current img { aspect-ratio: 1; display: block; height: 4rem; object-fit: cover; width: 4rem; }
.workspace-body .product-author-shell .product-classification__preview-current div { display: grid; gap: .2rem; min-width: 0; }
.workspace-body .product-author-shell .product-classification__preview-current strong { font-size: .84rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-body .product-author-shell .product-classification__preview-current span { color: var(--product-muted); font-size: .75rem; }
.workspace-body .product-author-shell .product-classification__preview-select, .workspace-body .product-author-shell .product-classification__preview-upload { align-items: end; display: grid; gap: .6rem; grid-template-columns: minmax(0, 1fr) auto; margin: 0; }
.workspace-body .product-author-shell .product-classification__preview-upload input[type="file"] { background: transparent; border: 0; min-height: 2.2rem; padding: .35rem 0; }
.workspace-body .product-author-shell .product-classification__dictionary { border-top: 1px solid var(--product-border); }
.workspace-body .product-author-shell .product-classification__dictionary:last-child { border-bottom: 1px solid var(--product-border); }
.workspace-body .product-author-shell .product-classification__dictionary summary { align-items: center; cursor: pointer; display: flex; font-size: .86rem; font-weight: 650; justify-content: space-between; list-style: none; padding: .8rem 0; }
.workspace-body .product-author-shell .product-classification__dictionary summary::-webkit-details-marker { display: none; }
.workspace-body .product-author-shell .product-classification__dictionary summary::after { color: var(--product-muted); content: '+'; font-size: 1rem; margin-left: .5rem; order: 3; }
.workspace-body .product-author-shell .product-classification__dictionary[open] summary::after { content: '−'; }
.workspace-body .product-author-shell .product-classification__dictionary summary span:last-child { color: var(--product-muted); font-size: .73rem; font-weight: 400; margin-left: auto; }
.workspace-body .product-author-shell .product-classification__dictionary-body { display: grid; gap: .75rem; padding: 0 0 1rem; }
.workspace-body .product-author-shell .product-classification__dictionary-list { display: grid; gap: .45rem; }
.workspace-body .product-author-shell .product-classification__dictionary-row { align-items: center; background: rgba(237,233,223,.45); border-radius: 7px; display: grid; gap: .5rem; grid-template-columns: minmax(0, 1fr) auto; padding: .5rem; }
.workspace-body .product-author-shell .product-classification__dictionary-row.is-archived { background: rgba(138,107,82,.08); }
.workspace-body .product-author-shell .product-classification__rename { align-items: center; display: grid; gap: .45rem; grid-template-columns: minmax(0, 1fr) auto; margin: 0; }
.workspace-body .product-author-shell .product-classification__rename input { min-height: 2.2rem; }
.workspace-body .product-author-shell .product-classification__dictionary-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .15rem; justify-content: flex-end; }
.workspace-body .product-author-shell .product-classification__dictionary-actions form, .workspace-body .product-author-shell .product-classification__add-value { margin: 0; }
.workspace-body .product-author-shell .product-classification__dictionary-actions .button { font-size: .71rem; min-height: 2rem; padding: .35rem .45rem; }
.workspace-body .product-author-shell .product-classification__add-value { align-items: center; display: grid; gap: .5rem; grid-template-columns: minmax(0, 1fr) auto; }
.workspace-body .product-author-shell .product-classification__add-value input { min-height: 2.3rem; }
@media (max-width: 899px) { .workspace-body .product-author-shell .product-classification { gap: 1.1rem; padding: 1.4rem 1rem 3rem; } .workspace-body .product-author-shell .product-classification .workspace-panel { padding: 1rem; } .workspace-body .product-author-shell .product-classification__field-grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .workspace-body .product-author-shell .product-classification__dictionary-row, .workspace-body .product-author-shell .product-classification__rename, .workspace-body .product-author-shell .product-classification__add-value, .workspace-body .product-author-shell .product-classification__preview-select, .workspace-body .product-author-shell .product-classification__preview-upload { align-items: stretch; grid-template-columns: 1fr; } .workspace-body .product-author-shell .product-classification__dictionary-actions { justify-content: flex-start; } .workspace-body .product-author-shell .product-classification__rename .button, .workspace-body .product-author-shell .product-classification__add-value .button { justify-self: stretch; } .workspace-body .product-author-shell .product-classification .button[type="submit"] { width: 100%; } }
.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; grid-template-columns: minmax(0, 1fr); max-width: none; }
.workspace-body .product-author-shell .product-sales-form .field { min-width: 0; }
.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__meta { padding: 1.2rem 1.35rem; }
.workspace-body .product-public-builder__hero-form { display: grid; gap: .8rem; }
.workspace-body .product-public-builder__hero-form > .field { margin: 0; }
.workspace-body .product-public-builder__hero-system { background: var(--product-alt); display: grid; gap: .35rem; margin: .2rem 0 0; padding: .7rem .85rem; }
.workspace-body .product-public-builder__hero-system ul { columns: 2; column-gap: 1.5rem; margin: .1rem 0 0; }
.workspace-body .product-public-builder__hero-system li { break-inside: avoid; margin-bottom: .15rem; }
.workspace-body .product-public-builder__hero-preview { background: #F5F0E8; border-color: #E0DBD0; border-radius: 8px; margin: .25rem 0 0; padding: 1.25rem; }
.workspace-body .product-public-builder__hero-preview > .eyebrow { color: #8A8580; font-size: .65rem; margin-bottom: 1rem; }
.workspace-body .product-public-builder__hero-preview-grid { align-items: start; gap: 2rem; grid-template-columns: minmax(0, 1fr) minmax(14rem, 18rem); }
.workspace-body .product-public-builder__hero-preview-product-label { align-items: center; display: flex; gap: .5rem; margin-bottom: 1rem; }
.workspace-body .product-public-builder__hero-preview-product-label span { color: #2D5A52; font-size: .65rem; font-weight: 600; letter-spacing: .12em; }
.workspace-body .product-public-builder__hero-preview-product-label i { background: #C8C2B6; border-radius: 50%; height: 4px; width: 4px; }
.workspace-body .product-public-builder__hero-preview-product-label small { color: #8A8580; font-size: .65rem; letter-spacing: .08em; }
.workspace-body .product-public-builder__hero-preview h3 { color: #1f2937; font-family: "DM Serif Display", Georgia, serif; font-size: clamp(2rem, 3.2vw, 3rem); line-height: 1.08; }
.workspace-body .product-public-builder__hero-preview-grid > div > p { font-size: .95rem; line-height: 1.55; margin-top: .85rem; max-width: 31rem; }
.workspace-body .product-public-builder__hero-preview-identity { margin-top: 1.35rem; }
.workspace-body .product-public-builder__hero-preview-facts { display: flex; flex-wrap: wrap; gap: .65rem 1.15rem; margin: 1.35rem 0 0; }
.workspace-body .product-public-builder__hero-preview-facts div { display: grid; gap: .18rem; }
.workspace-body .product-public-builder__hero-preview-facts dt { color: #8A8580; font-size: .58rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.workspace-body .product-public-builder__hero-preview-facts dd { color: #1f2937; font-size: .73rem; font-weight: 600; margin: 0; }
.workspace-body .product-public-builder__hero-preview-actions { margin-top: 1.35rem; }
.workspace-body .product-public-builder__hero-preview .button { background: #1e3a5f; border-color: #1e3a5f; border-radius: 999px; color: #F5F0E8; font-size: .72rem; margin: 0; padding: .65rem 1rem; }
.workspace-body .product-public-builder__hero-preview figure > img { aspect-ratio: 4 / 5; border-radius: 12px; }
.workspace-body .product-public-builder__hero-preview figcaption { border-radius: 9px; bottom: .75rem; left: .75rem; padding: .8rem; right: .75rem; }
.workspace-body .product-public-builder__hero-preview figcaption strong { font-size: .85rem; }

@media (max-width: 680px) {
    .workspace-body .product-public-builder__meta { padding: 1rem; }
    .workspace-body .product-public-builder__hero-system ul { columns: 1; }
    .workspace-body .product-public-builder__hero-preview { padding: 1rem; }
    .workspace-body .product-public-builder__hero-preview-grid { gap: 1.25rem; grid-template-columns: minmax(0, 1fr); }
    .workspace-body .product-public-builder__hero-preview figure { max-width: 18rem; }
}
.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; } }
@media (max-width: 899px) { .practitioner-clients__states { flex-wrap: wrap; min-width: 0; } .workspace-content .practitioner-clients__search { flex-direction: column; max-width: 100%; min-width: 0; width: 100%; } .workspace-content .practitioner-clients__search .field, .workspace-content .practitioner-clients__search .field__input { box-sizing: border-box; min-width: 0; width: 100%; } .workspace-content .practitioner-clients__search .button { width: 100%; } .workspace-content .practitioner-clients__count, .workspace-content .practitioner-clients__list { min-width: 0; width: 100%; } .workspace-content .practitioner-clients__row { box-sizing: border-box; grid-template-columns: minmax(0, 1fr); min-width: 0; width: 100%; } .workspace-content .practitioner-clients__row > *, .workspace-content .practitioner-clients__summary { min-width: 0; } .workspace-content .practitioner-clients__row p, .workspace-content .practitioner-clients__row dd { overflow-wrap: anywhere; } .workspace-content .practitioner-clients .button-row .button { white-space: normal; } }

/* 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__draft { background:#e8f2e9; border:1px solid #b7cfb9; border-radius:20px; color:#345e3b; font-size:.72rem; font-weight:600; 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-draft-preview-banner { align-items:center; background:#eff7f0; border-bottom:1px solid #c7dac9; color:#294a30; display:flex; font-size:.86rem; gap:10px; justify-content:center; padding:10px 24px; }
.product-draft-preview-banner span { color:#55705a; }
.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__access-state { color:var(--product-muted); line-height:1.5; }
.product-library__card--scheduled,.product-library__card--expired,.product-library__card--revoked { background:var(--product-alt); }
.product-library__card--purchase-return { background:var(--product-alt); }
.product-library__card--scheduled .product-library__access-state { color:var(--product-green); font-weight:500; }
.product-access-locked { box-sizing:border-box; margin:0 auto; max-width:680px; min-height:calc(100vh - 48px); padding:88px 52px; }
.product-access-locked > p { color:var(--product-subtle); font-family:monospace; font-size:.69rem; letter-spacing:.11em; margin:0 0 18px; }
.product-access-locked h1 { font-size:clamp(2.35rem,4.2vw,4rem); line-height:1.12; margin:0 0 18px; }
.product-access-locked > span { color:var(--product-muted); display:block; line-height:1.65; max-width:38rem; }
.product-access-locked strong { background:var(--product-alt); border-radius:8px; color:var(--product-text); display:block; font-size:1rem; margin-top:30px; padding:18px 20px; }
.product-access-locked a { color:var(--product-green); display:inline-block; font-size:.86rem; margin-top:28px; text-decoration:none; }
.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)); }
.client-subscriptions__message { border:1px solid var(--product-border); color:var(--product-muted); margin:20px 0 0; padding:12px 14px; }
.client-subscriptions__relink-notice { align-items:center; background:#f4f0e8; border:1px solid #d9d0c2; border-left:3px solid #1d355d; border-radius:6px; box-sizing:border-box; display:grid; gap:18px; grid-template-columns:minmax(0,1fr) auto; margin:2px 0 20px; padding:14px 16px; }
.client-subscriptions__relink-notice > div { min-width:0; }
.client-subscriptions__relink-notice p { color:#786f64; font-family:monospace; font-size:.68rem; letter-spacing:.08em; margin:0 0 5px; }
.client-subscriptions__relink-notice h2 { font-size:1rem; line-height:1.35; margin:0; overflow-wrap:anywhere; }
.client-subscriptions__relink-notice span { color:var(--product-muted); display:block; font-size:.84rem; line-height:1.45; margin-top:4px; }
.client-subscriptions__relink-notice .button { align-items:center; display:inline-flex; justify-content:center; min-height:44px; text-decoration:none; white-space:nowrap; }
@media (max-width:30rem) { .client-subscriptions__relink-notice { align-items:stretch; grid-template-columns:minmax(0,1fr); }.client-subscriptions__relink-notice .button { width:100%; } }
.client-subscriptions__telegram-action { display:grid; gap:10px; margin-top:14px; }
.client-subscriptions__telegram-action a { align-items:center; background:var(--ink); color:var(--surface); display:inline-flex; justify-content:center; min-height:44px; padding:10px 14px; text-decoration:none; }
.client-subscriptions form { margin:0; }
.client-subscriptions button { background:var(--product-green); border:0; border-radius:6px; color:#fff; cursor:pointer; font:inherit; font-size:.85rem; font-weight:500; padding:10px 16px; }
.client-subscriptions__billing { display:grid; gap:14px; }
.client-subscriptions__billing dl { display:grid; gap:12px; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; }
.client-subscriptions__billing dl div { border-top:1px solid var(--product-border); display:grid; gap:4px; padding-top:10px; }
.client-subscriptions__billing dt { color:var(--product-muted); font-size:.78rem; }
.client-subscriptions__billing dd { margin:0; overflow-wrap:anywhere; }
.client-subscriptions__billing .button-row { align-items:stretch; }
.client-subscriptions__billing .button-row form { display:flex; }
.client-subscriptions__billing .button-row .button { min-height:44px; }
@media (max-width:30rem) { .client-subscriptions__billing dl { grid-template-columns:minmax(0,1fr); }.client-subscriptions__billing .button-row { display:grid; grid-template-columns:minmax(0,1fr); }.client-subscriptions__billing .button-row form,.client-subscriptions__billing .button-row .button { width:100%; } }
.telegram-connection-status { border-top:1px solid var(--product-border); display:grid; gap:9px; margin-top:2px; padding-top:14px; }
.telegram-connection-status__label { align-items:center; color:var(--product-muted); display:inline-flex; font-size:.78rem; font-weight:700; gap:7px; line-height:1.3; }
.telegram-connection-status__symbol { align-items:center; border:1px solid currentColor; border-radius:50%; display:inline-flex; font-family:system-ui,sans-serif; font-size:.72rem; font-weight:800; height:18px; justify-content:center; width:18px; }
.telegram-connection-status--success .telegram-connection-status__label { color:#2f6047; }
.telegram-connection-status--warning .telegram-connection-status__label { color:#8a5a17; }
.telegram-connection-status--error .telegram-connection-status__label { color:#9d3748; }
.telegram-connection-status h3,.telegram-connection-status p { margin:0; }
.telegram-connection-status h3 { font-size:1rem; line-height:1.35; }
.telegram-connection-status p { color:var(--product-muted); font-size:.9rem; line-height:1.5; }
.telegram-connection-status__progress-label { color:var(--product-text)!important; font-size:.78rem!important; font-weight:700; }
.telegram-connection-status__steps { display:grid; gap:7px; list-style:none; margin:2px 0 0; padding:0; }
.telegram-connection-status__steps li { align-items:center; color:var(--product-muted); display:flex; font-size:.84rem; gap:8px; line-height:1.4; }
.telegram-connection-status__steps li > span { color:var(--product-subtle); font-weight:700; width:14px; }
.telegram-connection-status__steps li.is-complete > span { color:#2f6047; }
.telegram-connection-status__steps li.is-current { color:var(--product-text); font-weight:600; }
.telegram-connection-status__action { align-items:center; justify-content:center; margin:4px 0 0; min-height:44px; width:fit-content; }
.telegram-connection-status form.telegram-connection-status__action { display:flex; }
.telegram-connection-status .button { min-height:44px; }
.telegram-connection-status .button:focus-visible { outline:2px solid var(--product-text); outline-offset:3px; }
.subscription-telegram-setup { display:grid; gap:1rem; }
.subscription-telegram-setup__instructions { color:var(--muted); display:grid; gap:.45rem; line-height:1.5; margin:0; padding-left:1.25rem; }
.subscription-telegram-setup__recovery { border-top:1px solid var(--line); color:var(--muted); margin-top:1.2rem; padding-top:1rem; }
.subscription-telegram-setup__recovery summary { color:var(--ink); cursor:pointer; font-weight:600; }
.subscription-telegram-setup__recovery p { line-height:1.5; }
@media (max-width: 30rem) { .telegram-connection-status__action { width:100%; } .telegram-connection-status .button { justify-content:center; width:100%; } }
.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__progress-copy { align-items:center; display:flex; justify-content:space-between; }
.product-route__progress-copy b { color:var(--product-green); font-family:monospace; font-size:.75rem; font-weight:500; }
.product-route__progress { background:var(--product-alt); border-radius:99px; height:4px; overflow:hidden; width:100%; }
.product-route__progress span { background:var(--product-green); border-radius:inherit; display:block; height:100%; min-width:0; }
.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.is-completed i { background:var(--product-green); border-color:var(--product-green); position:relative; }
.product-route__modules a.is-completed i::after { border:solid #fff; border-width:0 1px 1px 0; content:""; height:5px; left:4px; position:absolute; top:2px; transform:rotate(45deg); width:2px; }
.product-route__state { color:var(--product-subtle); font-size:.62rem; margin-left:auto; white-space:nowrap; }
.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-overview__progress-summary { border-bottom:1px solid var(--product-border); display:grid; gap:10px; margin-top:34px; padding-bottom:24px; }
.product-overview__progress-summary header { align-items:baseline; display:flex; font-size:.82rem; justify-content:space-between; }
.product-overview__progress-summary strong { color:var(--product-text); font-weight:500; }
.product-overview__progress-summary header span,.product-overview__progress-summary p { color:var(--product-muted); }
.product-overview__progress { background:var(--product-alt); border-radius:99px; height:5px; overflow:hidden; width:100%; }
.product-overview__progress > span { background:var(--product-green); border-radius:inherit; display:block; height:100%; min-width:0; }
.product-overview__progress-summary p { font-size:.77rem; line-height:1.45; margin:0; }
.product-overview__progress-summary p b { color:var(--product-subtle); font-weight:400; margin:0 4px; }
.product-overview__map { margin-top:48px; }
.product-overview__map > .product-overview__meta { margin-bottom:14px; }
.product-overview__module { border-top:1px solid var(--product-border); padding:17px 0; }
.product-overview__module:last-child { border-bottom:1px solid var(--product-border); }
.product-overview__module > header { align-items:baseline; display:flex; gap:18px; justify-content:space-between; }
.product-overview__module h2 { color:var(--product-text); font-size:1rem; font-weight:500; margin:0; }
.product-overview__module > header > span { color:var(--product-subtle); flex:0 0 auto; font-family:monospace; font-size:.67rem; }
.product-overview__module.is-completed h2 { color:var(--product-green); }
.product-overview__lessons { margin-top:9px; }
.product-overview__lessons a { align-items:center; color:var(--product-muted); display:grid; font-size:.88rem; gap:10px; grid-template-columns:18px minmax(0,1fr) auto; min-height:31px; padding:4px 0; text-decoration:none; }
.product-overview__lessons a > i { border:1px solid var(--product-border); border-radius:50%; box-sizing:border-box; display:block; height:16px; position:relative; width:16px; }
.product-overview__lessons a > small { color:var(--product-subtle); font-size:.68rem; white-space:nowrap; }
.product-overview__lessons a:hover > span,.product-overview__lessons a.is-current > span { color:var(--product-green); font-weight:500; text-decoration:underline; text-underline-offset:3px; }
.product-overview__lessons a.is-completed > i { background:var(--product-green); border-color:var(--product-green); }
.product-overview__lessons a.is-completed > i::after { border:solid #fff; border-width:0 1px 1px 0; content:""; height:5px; left:5px; position:absolute; top:3px; transform:rotate(45deg); width:2px; }
.product-overview__lessons a.is-current > i { background:var(--product-green); border:0; box-shadow:inset 0 0 0 4px var(--product-green); }
.product-overview__lessons a.is-current > i::after { background:#fff; border-radius:50%; content:""; height:6px; left:5px; position:absolute; top:5px; width:6px; }
.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 .public-product-page__editorial-font-sans { font-family:Outfit,Inter,sans-serif; }
.product-rich-text .public-product-page__editorial-font-serif { font-family:Lora,Georgia,serif; }
.product-rich-text .public-product-page__editorial-size-text { font-size:1rem; line-height:1.78; }
.product-rich-text .public-product-page__editorial-size-subtitle { font-size:1.25rem; line-height:1.3; }
.product-rich-text .public-product-page__editorial-size-heading { font-size:1.75rem; line-height:1.2; }
.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-callout { color:var(--product-text); }
.product-callout__heading { font-size:.72rem; font-weight:600; letter-spacing:.08em; line-height:1.35; margin:0 0 .65rem; text-transform:uppercase; }
.product-callout__body > :first-child { margin-top:0; }
.product-callout__body > :last-child { margin-bottom:0; }
.product-callout__body p,.product-callout__body ul,.product-callout__body ol,.product-callout__body blockquote { margin:0 0 1rem; }
.product-callout__body li + li { margin-top:.3rem; }
.product-callout__body blockquote { border-left:2px solid var(--product-accent); color:var(--product-muted); font-family:Lora,Georgia,serif; margin-left:0; padding-left:1rem; }
.product-callout__body a { color:var(--product-green); text-decoration:underline; text-underline-offset:.18em; }
.product-callout__body .public-product-page__editorial-font-sans { font-family:Outfit,Inter,sans-serif; }
.product-callout__body .public-product-page__editorial-font-serif { font-family:Lora,Georgia,serif; }
.product-callout__body .public-product-page__editorial-size-text { font-size:1rem; line-height:1.78; }
.product-callout__body .public-product-page__editorial-size-subtitle { font-size:1.25rem; line-height:1.3; }
.product-callout__body .public-product-page__editorial-size-heading { font-size:1.75rem; line-height:1.2; }
.product-callout--accent { border-left:3px solid var(--product-accent); padding:2px 0 2px 1.2rem; }
.product-callout--accent .product-callout__heading { color:var(--product-green); }
.product-callout--reflection { background:rgba(75,102,65,.06); border-radius:8px; padding:1.35rem 1.45rem; }
.product-callout--reflection .product-callout__heading { color:var(--product-muted); }
.product-exercise { color:var(--product-text); margin:2.8rem 0; }
.product-exercise h2 { font-family:Lora,Georgia,serif; font-size:1.5rem; line-height:1.25; margin:0 0 .7rem; }
.product-exercise__instructions { color:var(--product-muted); line-height:1.62; margin:0 0 1.35rem; }
.product-exercise form,.product-exercise__preview { display:grid; gap:1.45rem; }
.product-exercise__question { display:grid; gap:.48rem; font-weight:600; line-height:1.45; }
.product-exercise__question span b { color:var(--product-green); }
.product-exercise__question small { color:var(--product-muted); font-size:1rem; font-style:italic; font-weight:400; line-height:1.55; }
.product-exercise__question textarea { background:#fff; border:1px solid rgba(38,34,26,.2); border-radius:6px; box-sizing:border-box; color:var(--product-text); font:400 .90625rem/1.62 Outfit,Inter,sans-serif; min-height:5.75rem; padding:.75rem .875rem; resize:vertical; width:100%; }
.product-exercise__question textarea:focus { border-color:rgba(75,102,65,.65); outline:2px solid rgba(75,102,65,.12); outline-offset:1px; }
.product-exercise button { background:var(--product-green); border:0; border-radius:4px; color:#fff; cursor:pointer; font:600 .95rem/1 Outfit,Inter,sans-serif; justify-self:start; min-height:2.8rem; padding:.65rem 1.1rem; }
.product-exercise__save-state { color:var(--product-muted); font-size:.86rem; margin:0; }
.product-exercise.is-autosave-active .product-exercise__save { display:none; }
.product-exercise__preview textarea:disabled { background:#fff; color:var(--product-text); cursor:default; opacity:1; }
.product-exercise__preview-notice { color:var(--product-muted); font-size:.9rem; margin:0; }
.product-shared-response-map { color:var(--product-text); margin:2.8rem 0; }
.product-shared-response-map__eyebrow { color:var(--product-green); font-size:.78rem; font-weight:700; letter-spacing:.12em; margin:0 0 .8rem; text-transform:uppercase; }
.product-shared-response-map__title { color:var(--product-muted); font-size:.98rem; font-weight:600; margin:-.35rem 0 .7rem; }
.product-shared-response-map__prompt { font-family:Lora,Georgia,serif; font-size:clamp(1.7rem,3.1vw,2.35rem); font-weight:500; line-height:1.2; margin:0; max-width:23ch; }
.product-shared-response-map__instructions { color:var(--product-muted); line-height:1.62; margin:1rem 0 0; max-width:42rem; }
.product-shared-response-map form,.product-shared-response-map__preview { display:grid; gap:.9rem; margin-top:1.55rem; }
.product-shared-response-map textarea { background:#fff; border:1px solid rgba(38,34,26,.15); border-radius:8px; box-sizing:border-box; color:var(--product-text); font:400 1rem/1.55 Outfit,Inter,sans-serif; min-height:9.25rem; padding:1rem 1.05rem; resize:vertical; width:100%; }
.product-shared-response-map textarea::placeholder { color:rgba(38,34,26,.42); }.product-shared-response-map textarea:focus { border-color:rgba(75,102,65,.65); outline:2px solid rgba(75,102,65,.12); outline-offset:1px; }
.product-shared-response-map__preview textarea:disabled { background:#fff; color:var(--product-text); cursor:default; opacity:1; }
.product-shared-response-map__actions { align-items:center; display:flex; gap:1rem; justify-content:space-between; }
.product-shared-response-map__anonymous { align-items:center; color:var(--product-muted); display:flex; font-size:.9rem; font-weight:600; gap:.45rem; margin:0; }.product-shared-response-map__anonymous svg { flex:0 0 auto; height:1rem; width:1rem; }
.product-shared-response-map__actions button { background:var(--product-green); border:0; border-radius:6px; color:#fff; cursor:pointer; font:600 .95rem/1 Outfit,Inter,sans-serif; min-height:2.8rem; padding:.65rem 1.15rem; }.product-shared-response-map__actions button:disabled { cursor:default; opacity:.55; }
.product-shared-response-map__notice,.product-shared-response-map__empty { color:var(--product-muted); font-size:.84rem; line-height:1.5; margin:1rem 0 0; }.product-shared-response-map__saved { align-items:center; display:flex; flex-wrap:wrap; gap:.75rem 1rem; }.product-shared-response-map__status { color:var(--product-green); font-size:.9rem; margin:0; }.product-shared-response-map__status--error { color:#934d41; }.product-shared-response-map__add-another { background:transparent; border:0; color:var(--product-green); cursor:pointer; font:600 .9rem/1.35 Outfit,Inter,sans-serif; padding:0; text-decoration:underline; text-underline-offset:.15em; }
.product-shared-response-map__view-responses { background:transparent; border:0; color:var(--product-muted); cursor:pointer; font:500 1rem/1.4 Outfit,Inter,sans-serif; margin:1.4rem 0 0; padding:.2rem 0; text-align:left; }.product-shared-response-map__view-responses span { display:inline-block; margin-left:.45rem; transform:translateY(-.08rem); }.product-shared-response-map__view-responses:disabled { cursor:default; opacity:.65; }
.product-shared-response-map__dialog { background:var(--product-surface); border:0; border-radius:12px; box-shadow:0 1.5rem 4.5rem rgba(27,25,22,.26); color:var(--product-text); max-height:min(44rem,calc(100dvh - 4rem)); max-width:min(48rem,calc(100vw - 2rem)); padding:0; width:100%; }.product-shared-response-map__dialog::backdrop { background:rgba(27,25,22,.48); }
.product-shared-response-map__dialog > header { align-items:flex-start; border-bottom:1px solid var(--product-border); display:flex; justify-content:space-between; padding:1.35rem 1.45rem 1rem; }.product-shared-response-map__dialog h2 { font-family:Lora,Georgia,serif; font-size:1.45rem; margin:0; }.product-shared-response-map__dialog header p { color:var(--product-muted); margin:.25rem 0 0; }.product-shared-response-map__dialog header button { align-items:center; background:rgba(38,34,26,.05); border:0; border-radius:50%; color:var(--product-muted); cursor:pointer; display:flex; font:400 2rem/1 Arial,sans-serif; height:2.5rem; justify-content:center; padding:0 0 .22rem; width:2.5rem; }
.product-shared-response-map__entries { display:grid; gap:.8rem; max-height:min(31rem,calc(100dvh - 14rem)); overflow-y:auto; padding:1rem 1.45rem; }.product-shared-response-map__entries article { background:rgba(255,255,255,.64); border-radius:8px; line-height:1.65; padding:1rem 1.05rem; }.product-shared-response-map__entries article > p { color:var(--product-muted); font-size:.78rem; font-weight:700; margin:0 0 .55rem; }.product-shared-response-map__entries article > div { overflow-wrap:anywhere; white-space:normal; }
.product-shared-response-map__dialog > footer { border-top:1px solid var(--product-border); color:var(--product-muted); font-size:.8rem; padding:.85rem 1.45rem; text-align:center; }
.product-builder__exercise-questions { display:grid; gap:.9rem; }
.product-builder__exercise-question { border:1px solid var(--product-border); border-radius:4px; margin:0; min-width:0; padding:.85rem; }
.product-builder__exercise-question legend { color:var(--product-muted); font-size:.8rem; font-weight:700; letter-spacing:.04em; padding:0 .25rem; text-transform:uppercase; }
.product-builder__exercise-question textarea { box-sizing:border-box; resize:vertical; width:100%; }
.product-builder__exercise-question-actions { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.6rem; }
.product-builder__exercise-question-actions button { background:#fffdf9; border:1px solid var(--product-border); border-radius:4px; color:var(--product-green); font:600 .85rem/1 Outfit,Inter,sans-serif; min-height:2rem; }
@media (max-width:480px) { .product-exercise { margin:2.1rem 0; } .product-exercise h2 { font-size:1.35rem; } .product-exercise form,.product-exercise__preview { gap:1.35rem; } .product-exercise__question { gap:.48rem; } .product-exercise__question textarea { min-height:5.75rem; padding:.75rem .875rem; } }
@media (max-width:480px) { .product-shared-response-map { margin:2.1rem 0; } .product-shared-response-map__prompt { font-size:1.7rem; max-width:none; } .product-shared-response-map textarea { min-height:8.5rem; padding:.9rem 1rem; } .product-shared-response-map__actions { align-items:stretch; flex-direction:column; }.product-shared-response-map__actions button { width:100%; }.product-shared-response-map__saved { align-items:flex-start; flex-direction:column; }.product-shared-response-map__dialog { max-height:calc(100dvh - 1.5rem); max-width:calc(100vw - 1.5rem); }.product-shared-response-map__dialog > header { padding:1.15rem 1.05rem .9rem; }.product-shared-response-map__dialog h2 { font-size:1.25rem; }.product-shared-response-map__entries { max-height:calc(100dvh - 12rem); padding:.85rem 1.05rem; }.product-shared-response-map__dialog > footer { padding:.75rem 1.05rem; } }
.product-quiz { color:var(--product-text); margin:2.8rem 0; }
.product-quiz h2 { font-family:Lora,Georgia,serif; font-size:1.5rem; line-height:1.25; margin:0 0 .7rem; }
.product-quiz__instructions { color:var(--product-muted); line-height:1.62; margin:0 0 1.35rem; }
.product-quiz form,.product-quiz__preview { display:grid; gap:1.75rem; }
.product-quiz__question { border:0; margin:0; min-width:0; padding:0; }
.product-quiz__question legend { font-size:.9375rem; font-weight:500; line-height:1.4; margin-bottom:.625rem; padding:0; }
.product-quiz__question legend b { color:var(--product-green); }
.product-quiz__options { display:grid; gap:.4375rem; }
.product-quiz__option { align-items:flex-start; background:#fff; border:1px solid rgba(38,34,26,.1); border-radius:6px; cursor:pointer; display:flex; font-size:.875rem; gap:.625rem; line-height:1.5; padding:.6875rem .875rem; }
.product-quiz__option:hover { border-color:rgba(38,34,26,.2); }
.product-quiz__option input { accent-color:var(--product-green); flex:0 0 auto; margin-top:.125rem; }
.product-quiz__option.is-correct { border-color:rgba(75,102,65,.68); background:#f4f8f0; }.product-quiz__option.is-incorrect { border-color:rgba(147,77,65,.5); background:#fff7f4; }
.product-quiz button { background:var(--product-green); border:0; border-radius:4px; color:#fff; cursor:pointer; font:600 .95rem/1 Outfit,Inter,sans-serif; justify-self:start; min-height:2.8rem; padding:.65rem 1.1rem; }.product-quiz button:disabled { cursor:not-allowed; opacity:.5; }
.product-quiz__validation { background:#fff5f2; border-left:3px solid #934d41; color:#7d4037; margin:0; padding:.7rem .85rem; }.product-quiz__result { border-top:1px solid var(--product-border); display:grid; gap:1rem; padding-top:1.2rem; }.product-quiz__result > p { color:var(--product-muted); font:600 .72rem/1 Outfit,Inter,sans-serif; letter-spacing:.08em; margin:0; }.product-quiz__result h3 { font:600 1.05rem/1.45 Outfit,Inter,sans-serif; margin:0; }.product-quiz__answers { display:grid; gap:1rem; list-style-position:inside; margin:0; padding:0; }.product-quiz__answers li { background:#fff; border:1px solid rgba(38,34,26,.16); border-left:3px solid var(--product-border); border-radius:4px; line-height:1.5; padding:.85rem 1rem; }.product-quiz__answers li.is-correct { border-left-color:var(--product-green); }.product-quiz__answers li.is-incorrect { border-left-color:#934d41; }.product-quiz__answers strong,.product-quiz__answers p { display:block; margin:0 0 .35rem; }.product-quiz__answers em { color:var(--product-green); font-style:normal; font-weight:600; }.product-quiz__answers .is-incorrect em { color:#934d41; }.product-quiz__retake { align-self:start; border:1px solid var(--product-border); border-radius:4px; color:var(--product-green); font:600 .95rem/1 Outfit,Inter,sans-serif; padding:.65rem 1.1rem; text-decoration:none; }
.product-homework{color:var(--product-text);margin:2.8rem 0;max-width:44rem}.product-homework__eyebrow{color:var(--product-green);font-size:.74rem;font-weight:700;letter-spacing:.1em;margin:0 0 .7rem}.product-homework h2{font-family:Lora,Georgia,serif;font-size:clamp(1.55rem,2.5vw,2.1rem);line-height:1.2;margin:0 0 1rem}.product-homework__assignment{font-size:1.06rem;line-height:1.7;margin:0}.product-homework__instructions{color:var(--product-muted);font-style:italic;line-height:1.65;margin:1rem 0}.product-homework__deadline{border-top:1px solid var(--product-border);font-size:.92rem;margin:1.35rem 0;padding-top:1rem}.product-homework__form,.product-homework__preview{display:grid;gap:.9rem;margin-top:1.25rem}.product-homework textarea{background:#fff;border:1px solid rgba(38,34,26,.16);border-radius:6px;box-sizing:border-box;color:var(--product-text);font:400 1rem/1.6 Outfit,Inter,sans-serif;min-height:10rem;padding:1rem;width:100%}.product-homework textarea:disabled{background:#fff;opacity:1}.product-homework__actions{display:flex;flex-wrap:wrap;gap:.75rem}.product-homework__actions button{border-radius:5px;cursor:pointer;font:600 .95rem/1 Outfit,Inter,sans-serif;min-height:2.8rem;padding:.65rem 1rem}.product-homework__draft{background:#fff;border:1px solid var(--product-border);color:var(--product-green)}.product-homework__submit{background:var(--product-green);border:1px solid var(--product-green);color:#fff}.product-homework__submitted{background:rgba(255,255,255,.4);border:1px solid var(--product-border);border-radius:6px;margin-top:1.25rem;padding:1.05rem}.product-homework__status{color:var(--product-green);font-weight:600;margin:0 0 .8rem}.product-homework__status--error{color:#934d41}.product-homework__waiting{color:var(--product-muted);margin:1rem 0 0}.product-homework__practitioner-response{background:#f4f7f0;border-left:3px solid var(--product-green);margin-top:1.25rem;padding:.9rem}.product-homework__practitioner-response p{color:var(--product-green);font-size:.72rem;font-weight:700;letter-spacing:.08em;margin:0 0 .5rem}.product-homework__practitioner-response div{line-height:1.6}.product-homework__submitted > p:not(.product-homework__status){line-height:1.6}@media(max-width:480px){.product-homework{margin:2.1rem 0}.product-homework__actions{display:grid;grid-template-columns:1fr}.product-homework__actions button{width:100%}}
.product-builder__quiz-questions { display:grid; gap:.9rem; }.product-builder__quiz-question { border:1px solid var(--product-border); border-radius:4px; margin:0; min-width:0; padding:.85rem; }.product-builder__quiz-question textarea,.product-builder__quiz-option input[type="text"] { box-sizing:border-box; width:100%; }.product-builder__quiz-option { align-items:center; display:grid; gap:.45rem; grid-template-columns:1fr auto; margin:.5rem 0; }
.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-audio { display:grid; gap:.55rem; margin:1.35rem 0; max-width:100%; }
.product-audio h2 { font-size:1rem; margin:0; }
.product-audio audio { display:block; max-width:100%; width:100%; }
.product-presentation { border:1px solid var(--product-border); border-radius:8px; overflow:hidden; }
.product-presentation > header { align-items:center; background:var(--product-surface); border-bottom:1px solid var(--product-border); display:flex; justify-content:space-between; padding:14px 16px; }
.product-presentation > header p { color:var(--product-subtle); font-family:monospace; font-size:.62rem; letter-spacing:.1em; margin:0 0 4px; }
.product-presentation > header h2 { font-size:1rem; margin:0; }
.product-presentation button { border:1px solid var(--product-border); border-radius:6px; background:#fff; color:var(--product-text); cursor:pointer; font:inherit; font-size:.8rem; font-weight:600; min-height:36px; padding:7px 10px; }
.product-presentation__viewer { aspect-ratio:16 / 10; background:#edeae2; min-height:300px; overflow:hidden; position:relative; }
.product-presentation__viewer [data-presentation-canvas] { background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.16); inset:50% auto auto 50%; max-height:calc(100% - 32px); max-width:calc(100% - 32px); position:absolute; transform:translate(-50%,-50%); }
.product-presentation__previous,.product-presentation__next { align-items:center; background:rgba(255,255,255,.86) !important; border-radius:50% !important; display:flex; height:40px; justify-content:center; padding:0 !important; position:absolute; top:calc(50% - 20px); width:40px; z-index:1; }
.product-presentation__previous { left:12px; }.product-presentation__next { right:12px; }.product-presentation button:disabled { cursor:default; opacity:.45; }
.product-presentation__viewer > p { background:rgba(32,30,26,.7); border-radius:4px; color:#fff; font-size:.74rem; left:50%; margin:0; padding:5px 8px; position:absolute; transform:translateX(-50%); z-index:1; }.product-presentation__viewer [data-presentation-counter] { bottom:10px; }.product-presentation__loading { top:10px; }
.product-presentation__dialog { background:#f7f4ed; border:0; box-sizing:border-box; max-height:96vh; max-width:96vw; padding:0; width:min(1100px,96vw); }.product-presentation__dialog::backdrop { background:rgba(27,25,22,.65); }.product-presentation__dialog > header { align-items:center; display:flex; justify-content:space-between; padding:12px 16px; }.product-presentation__dialog h2 { font-size:1rem; margin:0; }.product-presentation__viewer--dialog { height:min(78vh,780px); min-height:0; }
@media (max-width: 640px) { .product-presentation > header { align-items:flex-start; gap:12px; }.product-presentation__viewer { aspect-ratio:4 / 5; min-height:250px; }.product-presentation__previous,.product-presentation__next { height:36px; width:36px; }.product-presentation__previous { left:8px; }.product-presentation__next { right:8px; } }
.product-lesson__unavailable { color:var(--product-muted); font-size:.88rem; font-style:italic; }
.product-lesson__actions { border-top:1px solid var(--product-border); display:grid; gap:10px; margin-top:38px; padding-top:24px; }
.product-lesson__actions form { margin:0; }
.product-lesson__actions button { background:var(--product-green); border:0; border-radius:6px; color:#fff; cursor:pointer; font:inherit; font-size:.9rem; font-weight:500; padding:12px 17px; }
.product-lesson__actions button:disabled { background:var(--product-alt); color:var(--product-muted); cursor:not-allowed; }
.product-lesson__actions p { color:var(--product-muted); font-size:.8rem; margin:0; }
.product-lesson__completed { color:var(--product-green) !important; font-weight:500; }
.product-lesson__navigation { border-top:1px solid var(--product-border); display:flex; justify-content:space-between; margin-top:24px; padding-top:20px; }
.product-lesson__navigation a { color:var(--product-muted); font-size:.88rem; text-decoration:none; }
.product-lesson__navigation a:hover { color:var(--product-green); text-decoration:underline; text-underline-offset:.18em; }
.product-mobile-nav { display:none; }

/* Product Experience V1 visual alignment: keep the established progress and navigation contract. */
.product-route__top { gap:8px; padding:20px 20px 16px; }
.product-route__progress-copy { margin-bottom:-1px; }
.product-route__progress { height:3px; margin-bottom:6px; }
.product-route__start { font-size:.84rem; margin-top:0; padding:9px 16px; }
.product-route__modules { padding:6px 0; }
.product-route__modules summary { align-items:center; gap:6px; padding:9px 16px; }
.product-route__modules summary::after { border:solid var(--product-subtle); border-width:0 1px 1px 0; content:""; height:5px; margin-left:2px; transform:rotate(45deg); transition:transform .2s ease; width:5px; }
.product-route__modules details[open] summary::after { transform:rotate(225deg); }
.product-route__modules summary span { margin-left:auto; }
.product-route__modules a { align-items:flex-start; gap:8px; padding:6px 16px 6px 20px; }
.product-route__modules a i { border-width:1.5px; flex-basis:18px; height:18px; margin-top:0; width:18px; }
.product-route__modules a.is-completed i { background:rgba(75,102,65,.1); border-color:transparent; color:var(--product-green); }
.product-route__modules a.is-completed i::after { border-color:var(--product-green); border-width:0 1.5px 1.5px 0; height:6px; left:7px; top:4px; width:3px; }
.product-route__modules a.is-current i { border:0; box-shadow:none; position:relative; }
.product-route__modules a.is-current i::after { background:#fff; border:0; border-radius:50%; content:""; height:6px; left:6px; position:absolute; top:6px; transform:none; width:6px; }
.product-route__state { display:none; }
.product-lesson { padding:0 52px 80px; }
.product-lesson__back { border-bottom:1px solid var(--product-border); box-sizing:border-box; display:block; margin:0 0 32px; padding:14px 0; }
.product-lesson__context { color:var(--product-subtle); font-family:monospace; font-size:.69rem; letter-spacing:.09em; line-height:1.5; margin:0 0 16px; text-transform:uppercase; }
.product-lesson h1 { font-size:clamp(2.25rem,3vw,3rem); line-height:1.16; margin:0 0 30px; max-width:12ch; }
.product-lesson__content { gap:28px; max-width:38rem; }
.product-rich-text { line-height:1.82; }
.product-rich-text h2 { margin:1.9rem 0 .72rem; }
.product-rich-text h3 { margin:1.45rem 0 .62rem; }
.product-rich-text p,.product-rich-text ul,.product-rich-text ol,.product-rich-text blockquote { margin-bottom:1.15rem; }
.product-rich-text ul,.product-rich-text ol { padding-left:1.35rem; }
.product-rich-text blockquote { border-left-width:2px; line-height:1.55; padding-left:1.1rem; }
.product-image,.product-video { max-width:100%; }
.product-image figcaption,.product-video p { line-height:1.5; margin-top:.15rem; }
.product-resource,.product-lesson__link--card { border-radius:8px; padding:18px 20px; }
.product-lesson__content .product-resource--row { align-items:center; background:var(--product-surface); border:1px solid var(--product-border); border-radius:6px; color:var(--product-text); display:grid; gap:12px; grid-template-columns:32px minmax(0,1fr) auto; line-height:1.35; padding:11px 14px; text-decoration:none; transition:border-color .15s ease, background-color .15s ease; }
.product-lesson__content .product-resource--row:hover { background:#fff; border-color:rgba(75,102,65,.45); }
.product-lesson__content .product-resource--row:focus-visible { outline:2px solid rgba(75,102,65,.5); outline-offset:2px; }
.product-lesson__content .product-resource--row .product-resource__icon { background:var(--product-alt); border-radius:6px; display:block; height:32px; position:relative; width:32px; }
.product-lesson__content .product-resource--file .product-resource__icon::before { border:1.5px solid var(--product-muted); border-radius:2px; box-sizing:border-box; content:""; height:14px; left:9px; position:absolute; top:8px; width:11px; }
.product-lesson__content .product-resource--file .product-resource__icon::after { background:var(--product-alt); border-left:1.5px solid var(--product-muted); border-bottom:1.5px solid var(--product-muted); content:""; height:4px; left:15px; position:absolute; top:8px; width:4px; }
.product-lesson__content .product-resource--external .product-resource__icon::before { color:var(--product-muted); content:"↗"; font:500 1.15rem/1 Outfit,Inter,sans-serif; left:8px; position:absolute; top:7px; }
.product-lesson__content .product-resource--row .product-resource__copy { display:grid; gap:2px; min-width:0; }
.product-lesson__content .product-resource--row .product-resource__kind { color:var(--product-subtle); font-family:monospace; font-size:.62rem; letter-spacing:.1em; line-height:1.2; }
.product-lesson__content .product-resource--row .product-resource__title { color:var(--product-text); font-size:.84rem; font-weight:500; line-height:1.35; overflow-wrap:anywhere; }
.product-lesson__content .product-resource--row small { color:var(--product-muted); font-size:.72rem; line-height:1.35; overflow-wrap:anywhere; }
.product-lesson__content .product-resource--row .product-resource__action { color:var(--product-green); font-size:.78rem; font-weight:600; line-height:1.2; white-space:nowrap; }
.product-lesson__content .product-resource--external .product-resource__action { font-size:1rem; font-weight:500; }
.product-lesson__actions { gap:12px; margin-top:48px; padding-top:28px; }
.product-lesson__actions form,.product-lesson__preview-completion { display:grid; gap:10px; margin:0; width:100%; }
.product-lesson__actions button { align-items:center; display:flex; justify-content:center; min-height:3.35rem; width:100%; }
.product-lesson__preview-completion { background:rgba(75,102,65,.045); border:1px solid rgba(75,102,65,.14); border-radius:8px; padding:14px; }
.product-lesson__preview-label { color:var(--product-subtle) !important; font-family:monospace; font-size:.64rem !important; font-weight:500; letter-spacing:.09em; line-height:1.3; }
.product-lesson__actions button:disabled { background:#ebe8df; border:1px solid #d8d2c7; color:#746d62; cursor:default; opacity:1; }
@media (max-width:480px) { .product-lesson__content .product-resource--row { gap:10px; grid-template-columns:30px minmax(0,1fr) auto; padding:10px 12px; } .product-lesson__content .product-resource--row .product-resource__icon { height:30px; width:30px; } .product-lesson__content .product-resource--file .product-resource__icon::before { left:8px; top:7px; } .product-lesson__content .product-resource--file .product-resource__icon::after { left:14px; top:7px; } .product-lesson__content .product-resource--external .product-resource__icon::before { left:7px; top:7px; } .product-lesson__content .product-resource--row .product-resource__action { font-size:.72rem; } }
.product-lesson__preview-completion p { max-width:34rem; }
.product-lesson__completed { background:rgba(75,102,65,.08); border-radius:6px; padding:12px 15px; }

/* FreePublication public reader: retained Figma editorial system. */
body:has(.free-materials-catalogue),body:has(.free-publication-page) { background:#f6f3ee; }
.page-shell:has(.free-materials-catalogue),.page-shell:has(.free-publication-page) { background:#f6f3ee; margin:0; max-width:none; overflow:visible; padding:0; width:100%; }
.free-materials-catalogue,.free-publication-page { --free-ink:#1c1b19; --free-paper:#fafaf7; --free-surface:#f6f3ee; --free-muted:#6e6760; --free-rule:#d5cfca; --free-rule-light:#e8e4df; --free-navy:#1e3a5f; --free-navy-light:#2c4e7a; --free-sage:#2d5a4b; color:var(--free-ink); font-family:"Source Sans 3",Inter,sans-serif; }
.free-materials-catalogue a,.free-publication-page a { color:inherit; }
.free-materials-catalogue__container { box-sizing:border-box; margin:0 auto; max-width:1100px; padding:40px 32px 64px; }
.free-publication__eyebrow,.free-publication-resource__eyebrow { color:var(--free-muted); font-family:"DM Mono",monospace; font-size:10px; font-weight:400; letter-spacing:.12em; line-height:1.4; margin:0; text-transform:uppercase; }
.free-materials-catalogue__intro { border-bottom:1px solid var(--free-rule); padding:0 0 32px; }
.free-materials-catalogue__intro .free-publication__eyebrow { margin-bottom:12px; }
.free-materials-catalogue__intro h1,.free-materials-feature h2,.free-publication-reader h1,.free-publication-reader h2,.free-publication-quote p { color:var(--free-ink); font-family:Lora,Georgia,serif; font-weight:500; letter-spacing:0; }
.free-materials-catalogue__intro h1 { font-size:40px; line-height:1.15; margin:0 0 8px; }
.free-materials-catalogue__intro > p:last-child { color:var(--free-muted); font-size:15px; line-height:1.55; margin:0; max-width:500px; }
.free-materials-catalogue__featured { border-bottom:1px solid var(--free-rule); padding:32px 0; }
.free-materials-catalogue__featured > .free-publication__eyebrow { margin-bottom:16px; }
.free-materials-feature { align-items:start; display:grid; gap:40px; grid-template-columns:minmax(0,1fr) 260px; }
.free-materials-feature__copy { max-width:560px; }
.free-publication-type { align-items:center; background:#edf0f5; color:#1e3a5f; display:inline-flex; font-family:"DM Mono",monospace; font-size:10px; letter-spacing:.07em; line-height:1; margin:0; padding:6px 8px; text-transform:uppercase; }
.free-publication-type::before { background:currentColor; content:""; display:block; height:7px; margin-right:6px; opacity:.85; width:7px; }
.free-publication-type[data-type="youtube_video"] { background:#f0eae2; color:#7a3b1e; }.free-publication-type[data-type="audio"] { background:#eef3f0; color:#2d5a4b; }.free-publication-type[data-type="pdf_material"] { background:#f3efe8; color:#5a4020; }.free-publication-type[data-type="presentation"] { background:#f0edf5; color:#3a2d5f; }.free-publication-type[data-type="image"] { background:#eae6df; color:#3a3530; }.free-publication-type[data-type="legacy"] { background:#eae6df; color:#3a3530; }
.free-materials-feature h2 { font-size:30px; line-height:1.15; margin:12px 0; }.free-materials-feature h2 a,.free-materials-row h3 a { text-decoration:none; }.free-materials-feature h2 a:hover,.free-materials-feature h2 a:focus-visible,.free-materials-row h3 a:hover,.free-materials-row h3 a:focus-visible { color:var(--free-navy); text-decoration:underline; text-underline-offset:3px; }
.free-materials-feature__copy > p:not(.free-publication-type) { color:var(--free-muted); font-size:14px; line-height:1.55; margin:0 0 16px; }.free-publication-link { color:var(--free-navy) !important; font-size:13px; font-weight:600; text-decoration:none; }.free-publication-link:hover,.free-publication-link:focus-visible { color:var(--free-navy-light) !important; text-decoration:underline; text-underline-offset:3px; }
.free-materials-preview-frame { --free-preview-x:50%; --free-preview-y:50%; --free-preview-zoom:1; background:#eae6df; display:block; margin:0; overflow:hidden; position:relative; }.free-materials-preview-frame > img { display:block; height:100%; object-fit:cover; object-position:var(--free-preview-x) var(--free-preview-y); transform:scale(var(--free-preview-zoom)); transform-origin:var(--free-preview-x) var(--free-preview-y); width:100%; }.free-materials-feature__frame,.free-materials-feature__image,.free-materials-feature__placeholder { aspect-ratio:52 / 35; width:260px; }.free-materials-feature__placeholder { background:#eae6df; display:block; position:relative; }.free-materials-feature__placeholder::after { color:var(--free-muted); content:"Матеріал"; font:10px/1 "DM Mono",monospace; left:50%; letter-spacing:.08em; position:absolute; text-transform:uppercase; top:50%; transform:translate(-50%,-50%); }
.free-materials-catalogue__discovery { border-bottom:1px solid var(--free-rule); display:grid; gap:16px; padding:24px 0; }
.free-materials-search { position:relative; width:min(100%,400px); }.free-materials-search::before { border:1.5px solid var(--free-muted); border-radius:50%; content:""; height:11px; left:13px; opacity:.9; position:absolute; top:12px; width:11px; }.free-materials-search::after { background:var(--free-muted); content:""; height:1.5px; left:24px; position:absolute; top:24px; transform:rotate(45deg); width:6px; }
.free-materials-search input { background:var(--free-paper); border:1px solid var(--free-rule); border-radius:2px; box-sizing:border-box; color:var(--free-ink); font:400 14px/1.3 "Source Sans 3",sans-serif; min-height:40px; padding:10px 12px 10px 36px; width:100%; }.free-materials-search input:focus { border-color:var(--free-navy); outline:2px solid rgba(30,58,95,.18); outline-offset:1px; }
.free-materials-filter-controls { align-items:center; display:flex; gap:16px; min-width:0; }.free-materials-type-filters { display:flex; flex-wrap:wrap; gap:8px; }.free-materials-type-filters a { border:1px solid var(--free-rule); color:var(--free-muted); font-size:12px; font-weight:500; padding:6px 12px; text-decoration:none; }.free-materials-type-filters a:hover,.free-materials-type-filters a:focus-visible { border-color:var(--free-muted); color:var(--free-ink); }.free-materials-type-filters a[aria-current="true"] { background:var(--free-navy); border-color:var(--free-navy); color:var(--free-paper); }
.free-materials-topic-filter { margin-left:auto; }.free-materials-topic-filter select { background:var(--free-paper); border:1px solid var(--free-rule); border-radius:2px; color:var(--free-ink); font:500 13px/1.3 "Source Sans 3",sans-serif; min-height:34px; min-width:156px; padding:6px 30px 6px 10px; }.free-materials-topic-filter select:focus { border-color:var(--free-navy); outline:2px solid rgba(30,58,95,.18); outline-offset:1px; }.free-publication-topics { border:0; margin:0; padding:0; }.free-publication-topics__options { display:flex; flex-wrap:wrap; gap:8px 14px; }.free-publication-topics__options label { font-size:14px; }
.free-materials-catalogue__results { padding-top:20px; }.free-materials-catalogue__count { color:var(--free-muted); font-family:"DM Mono",monospace; font-size:11px; line-height:1.4; margin:0 0 16px; }.free-materials-catalogue__empty { color:var(--free-muted); font-size:14px; margin:0; padding:36px 0; text-align:center; }
.free-materials-list { border-top:1px solid var(--free-rule-light); }.free-materials-row { align-items:start; border-bottom:1px solid var(--free-rule-light); display:grid; gap:20px; grid-template-columns:88px minmax(0,1fr) auto; padding:20px 0; }.free-materials-row__frame,.free-materials-row__image,.free-materials-row__placeholder { aspect-ratio:52 / 35; background:#eae6df; display:block; width:88px; }.free-materials-row__placeholder { position:relative; }.free-materials-row__placeholder::after { color:#6e6760; content:"□"; font:16px/58px "DM Mono",monospace; left:0; position:absolute; text-align:center; top:0; width:100%; }.free-materials-row__meta { align-items:center; color:var(--free-muted); display:flex; flex-wrap:wrap; font:10px/1.2 "DM Mono",monospace; gap:8px; margin:0 0 6px; }.free-materials-row__meta .free-publication-type { font-size:9px; padding:4px 6px; }.free-materials-row__meta .free-publication-type::before { height:5px; margin-right:4px; width:5px; }.free-materials-row h3 { font-family:Lora,Georgia,serif; font-size:15px; font-weight:500; line-height:1.3; margin:0; }.free-materials-row__copy > p:last-child { color:var(--free-muted); font-size:13px; line-height:1.4; margin:5px 0 0; }.free-materials-row__action { align-self:center; white-space:nowrap; }

.free-publication-page { box-sizing:border-box; min-height:60vh; padding:32px 24px 64px; }.free-publication-reader { margin:0 auto; max-width:860px; }.free-publication-reader__header { border-bottom:1px solid var(--free-rule); margin-bottom:32px; max-width:680px; padding-bottom:26px; }.free-publication-reader__eyebrow { align-items:center; display:flex; gap:10px; margin:0 0 16px; }.free-publication-reader__back { color:var(--free-muted) !important; display:inline-flex; font:12px/1.2 "DM Mono",monospace; text-decoration:none; }.free-publication-reader__back::before { content:"‹"; font:18px/10px Arial,sans-serif; margin-right:7px; }.free-publication-reader__back:hover,.free-publication-reader__back:focus-visible { color:var(--free-ink) !important; text-decoration:underline; text-underline-offset:3px; }.free-publication-reader__type { margin:0; }.free-publication-reader h1 { font-size:34px; line-height:1.18; margin:0; max-width:680px; }.free-publication-reader__summary { color:var(--free-muted); font-size:16px; line-height:1.55; margin:16px 0 0; max-width:620px; }.free-publication-reader__facts { color:var(--free-muted); font:11px/1.4 "DM Mono",monospace; margin:20px 0 0; }.free-publication-reader__blocks { display:grid; gap:32px; max-width:860px; }.free-publication-reader__blocks > * { min-width:0; }.free-publication-text-block { max-width:680px; }.free-publication-text-block__subheading { color:var(--free-sage); font:10px/1.4 "DM Mono",monospace; letter-spacing:.1em; margin:0 0 8px; text-transform:uppercase; }.free-publication-text-block__heading { color:var(--free-ink); font-family:Lora,Georgia,serif; font-size:22px; font-weight:600; line-height:1.35; margin:0 0 12px; }.free-publication-prose { color:var(--free-ink); font-size:17px; line-height:1.75; max-width:680px; }.free-publication-prose > :first-child { margin-top:0; }.free-publication-prose > :last-child { margin-bottom:0; }.free-publication-prose p { margin:0 0 1.1rem; }.free-publication-prose h2 { font-size:22px; line-height:1.35; margin:2.25rem 0 .75rem; }.free-publication-prose h3 { font-family:Lora,Georgia,serif; font-size:18px; font-weight:500; line-height:1.4; margin:1.75rem 0 .5rem; }.free-publication-prose ul,.free-publication-prose ol { margin:0 0 1.1rem; padding-left:1.5rem; }.free-publication-prose li { margin-bottom:.35rem; }.free-publication-prose strong { font-weight:600; }.free-publication-prose a { color:var(--free-navy) !important; text-decoration:underline; text-decoration-color:rgba(30,58,95,.48); text-underline-offset:3px; }.free-publication-prose a:hover,.free-publication-prose a:focus-visible { color:var(--free-navy-light) !important; }
.free-publication-quote { border-left:2px solid var(--free-navy); box-sizing:border-box; margin:0; max-width:680px; padding-left:20px; }.free-publication-quote p { font-size:17px; line-height:1.5; margin:0; }.free-publication-quote footer { color:var(--free-muted); font:11px/1.4 "DM Mono",monospace; margin-top:10px; }
.free-publication-image { margin:0; }.free-publication-image__frame { background:#eae6df; border-radius:2px; }.free-publication-image figcaption,.free-publication-media-caption { color:var(--free-muted); font:12px/1.4 "DM Mono",monospace; margin:.5rem 0 0; }.free-publication-image--standalone { margin-left:auto; margin-right:auto; }.free-publication-image--standalone.free-publication-image--size-small { max-width:360px; }.free-publication-image--standalone.free-publication-image--size-standard { max-width:680px; }.free-publication-image--standalone.free-publication-image--size-wide { max-width:860px; }.free-publication-image--standalone:not(.is-cropped) .free-publication-image__frame { align-items:center; display:flex; justify-content:center; max-height:none; }.free-publication-image--standalone:not(.is-cropped) .free-publication-image__frame > img { display:block; height:auto; margin:0 auto; max-height:520px; max-width:100%; width:auto; }.free-publication-image--standalone.is-cropped .free-publication-image__frame { height:320px; }.free-publication-image--standalone.free-publication-image--size-small.is-cropped .free-publication-image__frame { height:240px; }.free-publication-image--standalone.free-publication-image--size-wide.is-cropped .free-publication-image__frame { height:400px; }
.free-publication-image-text { gap:20px; grid-template-columns:180px minmax(0,1fr); margin:0; max-width:680px; }.free-publication-image-text .free-publication-image--image-text { width:180px; }.free-publication-image-text .free-publication-image--image-text .free-publication-image__frame { height:130px; max-height:130px; }.free-publication-image-text .free-publication-image--image-text:not(.is-cropped) .free-publication-image__frame { height:auto; max-height:130px; }.free-publication-image-text .free-publication-image--image-text:not(.is-cropped) .free-publication-image__frame > img { max-height:130px; }.free-publication-image-text__copy h2 { font-size:22px; line-height:1.3; margin:0 0 8px; }.free-publication-image-text__subheading { color:var(--free-sage); font:10px/1.4 "DM Mono",monospace; letter-spacing:.1em; margin:0 0 8px; }.free-publication-image-text__copy .free-publication-prose { color:var(--free-muted); font-size:14px; line-height:1.55; }.free-publication-image-text__copy .free-publication-prose p { margin-bottom:.5rem; }
.free-publication-two-images { gap:12px; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; max-width:680px; }.free-publication-two-images .free-publication-image--pair .free-publication-image__frame { aspect-ratio:21 / 10; height:auto; max-height:none; }.free-publication-two-images .free-publication-image--pair .free-publication-image__frame > img { height:100%; object-fit:cover; width:100%; }
.free-publication-youtube-video { margin:0; max-width:680px; }.free-publication-youtube-video iframe { background:var(--free-ink); border-radius:2px; max-width:none; }.free-publication-audio { background:var(--free-paper); border:1px solid var(--free-rule); box-sizing:border-box; margin:0; max-width:680px; padding:20px; }.free-publication-audio__caption { color:var(--free-muted); font-size:13px; font-weight:600; line-height:1.4; margin:0 0 16px; }.free-publication-audio audio { accent-color:var(--free-navy); width:100%; }
.free-publication-resource { background:var(--free-paper); border:1px solid var(--free-rule); box-sizing:border-box; max-width:680px; }.free-publication-resource__body { align-items:flex-start; display:flex; gap:16px; min-height:160px; justify-content:center; padding:36px 24px; text-align:center; }.free-publication-resource__body > div { align-self:center; }.free-publication-resource__icon { background:#fff; border:1px solid var(--free-rule); box-shadow:0 1px 3px rgba(28,27,25,.1); display:block; flex:0 0 40px; height:50px; position:relative; }.free-publication-resource__icon::before { border:1.5px solid #5a4020; content:""; height:20px; left:12px; position:absolute; top:12px; width:15px; }.free-publication-resource__icon::after { color:#5a4020; content:"PDF"; font:7px/1 "DM Mono",monospace; left:10px; position:absolute; top:35px; }.free-publication-resource__body h2 { font-size:19px; line-height:1.35; margin:6px 0 0; }.free-publication-resource__description { color:var(--free-muted); font-size:14px; line-height:1.5; margin:6px 0 0; }.free-publication-resource__actions { border-top:1px solid var(--free-rule); display:grid; gap:8px; grid-template-columns:1fr 1fr; padding:12px; }.free-publication-resource__actions a { align-items:center; border:1px solid var(--free-rule); box-sizing:border-box; display:flex; font-size:12px; font-weight:600; justify-content:center; min-height:40px; text-decoration:none; }.free-publication-resource__open { background:var(--free-navy); border-color:var(--free-navy) !important; color:var(--free-paper) !important; }.free-publication-resource__open:hover,.free-publication-resource__open:focus-visible { background:var(--free-navy-light); }.free-publication-resource__download { color:var(--free-ink) !important; }.free-publication-resource__download:hover,.free-publication-resource__download:focus-visible { background:#f3f0ea; }
.free-publication-presentation.product-presentation { border-color:var(--free-rule); border-radius:2px; margin:0; max-width:680px; }.free-publication-presentation.product-presentation > header { background:var(--free-paper); border-color:var(--free-rule); min-height:40px; padding:10px 12px; }.free-publication-presentation.product-presentation > header p { color:var(--free-muted); font-family:"DM Mono",monospace; font-size:9px; letter-spacing:.1em; text-transform:uppercase; }.free-publication-presentation.product-presentation > header h2 { font-size:16px; }.free-publication-presentation.product-presentation button { border-color:var(--free-rule); border-radius:2px; font-size:11px; min-height:30px; }.free-publication-presentation .product-presentation__viewer { background:#f3f0ea; min-height:320px; }.free-publication-presentation .product-presentation__viewer > p { border-radius:2px; font-family:"DM Mono",monospace; font-size:10px; }.free-publication-presentation .product-presentation__previous,.free-publication-presentation .product-presentation__next { background:rgba(28,27,25,.42) !important; border:0; color:#fff; height:34px; width:34px; }.free-publication-presentation .product-presentation__dialog { background:var(--free-surface); }
.free-publication-resource__icon::before { left:50%; top:9px; transform:translateX(-50%); }.free-publication-resource__icon::after { left:50%; top:35px; transform:translateX(-50%); white-space:nowrap; }.free-publication-resource[data-kind="file"] .free-publication-resource__icon::after { content:"FILE"; font-size:6px; left:50%; }.free-publication-reader__unavailable { color:var(--free-muted); font-size:14px; line-height:1.5; margin:0; max-width:680px; }
.free-publication-reader__back { align-items:center; gap:6px; }.free-publication-reader__back::before { content:none; margin:0; }.free-publication-reader__back svg { fill:none; flex:0 0 12px; height:12px; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.2; width:12px; }
.free-publication-audio { padding:18px 20px; }.free-publication-audio__caption { margin-bottom:12px; }.free-publication-audio audio { display:block; min-height:44px; }
.free-publication-resource__body { align-items:center; justify-content:flex-start; min-height:0; padding:24px; text-align:left; }.free-publication-resource__body > div { align-self:auto; }.free-publication-resource__copy { min-width:0; }.free-publication-resource__actions { gap:12px; }.free-publication-resource__actions a { font-size:13px; min-height:44px; }
.free-publication-related-material { border:1px solid var(--free-rule); box-sizing:border-box; display:grid; gap:8px; margin:0; max-width:680px; padding:24px; }.free-publication-related-material > p,.free-publication-similar-materials > header > p { color:var(--free-muted); font:10px/1.35 "DM Mono",monospace; letter-spacing:.11em; margin:0; text-transform:uppercase; }.free-publication-related-material > a { color:var(--free-navy) !important; font-family:Lora,Georgia,serif; font-size:18px; font-weight:500; line-height:1.35; text-decoration:underline; text-decoration-color:rgba(30,58,95,.3); text-underline-offset:4px; }.free-publication-related-material > a span { display:inline-block; margin-left:4px; }.free-publication-related-material > small { color:var(--free-muted); font:11px/1.4 "DM Mono",monospace; }.free-publication-similar-materials { border-top:1px solid var(--free-rule); margin-top:64px; max-width:860px; padding-top:32px; }.free-publication-similar-materials__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:26px; }.free-publication-similar-materials__grid article { border-bottom:1px solid var(--free-rule-light); box-sizing:border-box; display:grid; gap:11px; min-height:160px; padding:20px 24px 24px; }.free-publication-similar-materials__grid article:nth-child(odd) { border-right:1px solid var(--free-rule-light); padding-left:0; }.free-publication-similar-materials__grid article:nth-child(-n+2) { border-top:1px solid var(--free-rule-light); }.free-publication-similar-materials__grid article > p { margin:0; }.free-publication-similar-materials__grid .free-publication-type { font-size:9px; }.free-publication-similar-materials__grid h2 { font-family:Lora,Georgia,serif; font-size:18px; font-weight:500; line-height:1.35; margin:0; }.free-publication-similar-materials__grid a { color:var(--free-navy) !important; font-size:12px; font-weight:600; text-decoration:none; }.free-publication-similar-materials__grid a:hover,.free-publication-similar-materials__grid a:focus-visible { text-decoration:underline; text-underline-offset:3px; }.free-publication-related-material-form { display:grid; gap:.65rem; }.free-publication-related-material-form__option { border:1px solid var(--product-border); cursor:pointer; display:grid; gap:.15rem; padding:.65rem .75rem; }.free-publication-related-material-form__option:focus-within { border-color:var(--product-green); }.free-publication-related-material-form__option small,.free-publication-composer__recommendation-list span { color:var(--product-muted); font-size:.78rem; }.free-publication-related-material-form__selected { margin:.5rem 0 0; }.free-publication-composer__recommendations { display:grid; gap:1rem; }.free-publication-composer__recommendations header { display:grid; gap:.35rem; }.free-publication-composer__recommendations header p { margin:0; }.free-publication-composer__recommendation-list { display:grid; gap:.65rem; list-style:none; margin:0; padding:0; }.free-publication-composer__recommendation-list li { border-bottom:1px solid var(--product-border); display:grid; gap:.2rem; padding-bottom:.65rem; }.free-publication-composer__recommendation-settings { display:grid; gap:.7rem; grid-template-columns:repeat(2,minmax(0,1fr)); }.free-publication-composer__recommendation-settings .button { justify-self:start; }

@media (max-width:767px) { .free-materials-catalogue__container { padding:40px 20px 48px; }.free-materials-catalogue__intro { padding-bottom:32px; }.free-materials-catalogue__intro h1 { font-size:40px; line-height:1.16; }.free-materials-catalogue__intro > p:last-child { font-size:16px; line-height:1.65; }.free-materials-feature { gap:24px; grid-template-columns:1fr; }.free-materials-feature h2 { font-size:30px; }.free-materials-feature__frame,.free-materials-feature__image { width:100%; }.free-materials-type-filters { flex-wrap:nowrap; margin:0 -20px; overflow-x:auto; padding:0 20px 3px; }.free-materials-type-filters a { flex:0 0 auto; }.free-materials-row { gap:14px; grid-template-columns:72px minmax(0,1fr); }.free-materials-row__frame,.free-materials-row__image,.free-materials-row__placeholder { height:auto; width:72px; }.free-materials-row__placeholder { aspect-ratio:52 / 35; }.free-materials-row__placeholder::after { line-height:48px; }.free-materials-row__action { display:none; }.free-materials-row__copy > p:last-child { display:none; }.free-publication-page { padding:32px 20px 48px; }.free-publication-reader__header { margin-bottom:32px; padding-bottom:32px; }.free-publication-reader__eyebrow { gap:8px; margin-bottom:16px; }.free-publication-reader__back { font-size:12px; }.free-publication-reader__type { margin:0; }.free-publication-reader h1 { font-size:42px; line-height:1.14; }.free-publication-reader__summary { font-size:18px; line-height:1.65; margin-top:20px; }.free-publication-reader__facts { font-size:12px; margin-top:24px; }.free-publication-reader__blocks { gap:32px; }.free-publication-text-block__heading { font-size:28px; line-height:1.25; }.free-publication-prose { font-size:17px; line-height:1.78; }.free-publication-prose h2 { font-size:28px; line-height:1.25; margin-top:2rem; }.free-publication-prose h3 { font-size:20px; }.free-publication-quote { padding-left:16px; }.free-publication-quote p { font-size:17px; }.free-publication-image--standalone.free-publication-image--size-small,.free-publication-image--standalone.free-publication-image--size-standard,.free-publication-image--standalone.free-publication-image--size-wide { max-width:none; }.free-publication-image--standalone:not(.is-cropped) .free-publication-image__frame > img { max-height:420px; }.free-publication-image--standalone.is-cropped .free-publication-image__frame,.free-publication-image--standalone.free-publication-image--size-wide.is-cropped .free-publication-image__frame { height:280px; }.free-publication-image-text { gap:20px; grid-template-columns:1fr; }.free-publication-image-text .free-publication-image--image-text { width:100%; }.free-publication-image-text .free-publication-image--image-text .free-publication-image__frame { height:200px; max-height:200px; }.free-publication-image-text .free-publication-image--image-text:not(.is-cropped) .free-publication-image__frame > img { max-height:200px; }.free-publication-image-text__copy h2 { font-size:24px; }.free-publication-two-images { gap:16px; grid-template-columns:1fr; }.free-publication-two-images .free-publication-image--pair .free-publication-image__frame { aspect-ratio:21 / 10; }.free-publication-audio { padding:20px; }.free-publication-resource__body { min-height:220px; }.free-publication-resource__actions { grid-template-columns:1fr; }.free-publication-presentation .product-presentation__viewer { aspect-ratio:4 / 5; min-height:0; }.free-publication-presentation .product-presentation__previous,.free-publication-presentation .product-presentation__next { height:40px; width:40px; } }
@media (max-width:767px) { .free-materials-feature__placeholder { height:300px; width:100%; } }
@media (max-width:767px) { .free-materials-filter-controls { align-items:stretch; display:grid; gap:14px; }.free-materials-filter-controls .free-materials-type-filters { flex-wrap:nowrap; margin:0 -20px; overflow-x:auto; padding:0 20px 3px; }.free-materials-topic-filter { margin-left:0; width:100%; }.free-materials-topic-filter select { min-height:40px; width:100%; } }
@media (max-width:767px) { .free-publication-related-material { padding:20px; }.free-publication-related-material > a { font-size:17px; }.free-publication-similar-materials { margin-top:48px; padding-top:24px; }.free-publication-similar-materials__grid { grid-template-columns:1fr; margin-top:20px; }.free-publication-similar-materials__grid article,.free-publication-similar-materials__grid article:nth-child(odd) { border-left:0; border-right:0; min-height:0; padding:18px 0; }.free-publication-similar-materials__grid article:nth-child(2) { border-top:0; }.free-publication-composer__recommendation-settings { grid-template-columns:1fr; } }
@media (max-width:767px) { .free-publication-audio { padding:16px; }.free-publication-resource__body { align-items:flex-start; min-height:0; padding:20px; } }
.product-lesson__navigation { align-items:center; margin-top:30px; min-height:3.25rem; padding-top:20px; }
.product-lesson__navigation a { min-height:2.6rem; padding:8px 0; }
@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,.product-experience-topbar__draft { display:none; } .product-draft-preview-banner { align-items:flex-start; flex-direction:column; gap:2px; padding:9px 18px; } .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__progress-copy,.product-route__progress { grid-column:1; } .product-route__start { align-self:center; grid-column:2; grid-row:1 / span 4; margin:0; width:auto; } .product-overview,.product-lesson { padding:32px 22px calc(88px + env(safe-area-inset-bottom)); } .product-access-locked { min-height:calc(100vh - 48px); padding:44px 22px; } .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:calc(64px + env(safe-area-inset-bottom)); 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; } }
@media (max-width:768px) {
  .product-lesson { padding:0 20px calc(88px + env(safe-area-inset-bottom)); }
  .product-lesson h1 { font-size:2rem; line-height:1.2; }
  .product-lesson__back { margin-bottom:26px; }
  .product-lesson__context { font-size:.64rem; margin-bottom:13px; }
  .product-lesson__content { gap:24px; }
  .product-lesson__actions { margin-top:38px; }
  .product-lesson__navigation { margin-top:24px; }
  .product-overview__progress-summary { margin-top:28px; }
  .product-overview__map { margin-top:38px; }
  .product-overview__module { padding:15px 0; }
  .product-overview__lessons a { column-gap:8px; grid-template-columns:18px minmax(0,1fr); }
  .product-overview__lessons a > small { font-size:.64rem; grid-column:2; margin-top:-3px; }
}

/* 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.is-hidden { background: rgba(138,107,82,.07); opacity: .72; }
.workspace-body .product-author-shell .product-builder__block.is-hidden::before { background: var(--product-muted); }
.workspace-body .product-author-shell .product-builder__block-status { color: var(--product-muted); font-size: .68rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.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-builder__image-upload-notice { color: var(--product-green); font-size: .78rem; line-height: 1.35; margin: 0; }
.workspace-body .product-builder__quiet--secondary { background: var(--product-alt); border: 1px solid var(--product-border); 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__video-section form { background: transparent; border: 0; padding: 0; }
.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; }
.workspace-body .product-author-shell .product-builder__add-block-heading { display: grid; gap: .25rem; margin: 0; min-width: 0; }
.workspace-body .product-author-shell .product-builder__add-block-heading h3 { color: var(--product-ink); font-family: Outfit, Inter, sans-serif; font-size: .9rem; font-weight: 700; margin: 0; }
.workspace-body .product-author-shell .product-builder__chooser form { min-width: 0; }
.workspace-body .product-author-shell #product-audio-add, .workspace-body .product-author-shell #product-file-add { min-width: 0; }
.workspace-body .product-author-shell #product-audio-add > label, .workspace-body .product-author-shell #product-audio-add > button, .workspace-body .product-author-shell #product-file-add > label, .workspace-body .product-author-shell #product-file-add > button { box-sizing: border-box; max-width: 100%; min-width: 0; width: 100%; }
.workspace-body .product-author-shell #product-audio-add input, .workspace-body .product-author-shell #product-audio-add select, .workspace-body .product-author-shell #product-file-add input, .workspace-body .product-author-shell #product-file-add select { box-sizing: border-box; max-width: 100%; min-width: 0; width: 100%; }
.workspace-body .product-author-shell .product-builder__asset-select { display: grid; gap: .3rem; }
.workspace-body .product-author-shell .product-builder__asset-select select { width: 100%; }
.workspace-body .product-author-shell .product-builder__asset-empty { color: var(--product-muted); font-size: .72rem; font-weight: 500; line-height: 1.4; }
.workspace-body .product-author-shell .product-builder__asset-upload { background: rgba(237,233,223,.58); border: 1px dashed rgba(38,34,26,.2); border-radius: 7px; padding: .6rem .65rem; }
.workspace-body .product-author-shell .product-builder__asset-upload small { color: var(--product-muted); font-size: .7rem; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-body .product-author-shell .product-builder__image-library { border-top: 1px solid var(--product-border); display: grid; gap: .55rem; margin-top: .15rem; padding-top: .7rem; }
.workspace-body .product-author-shell .product-builder__image-library > header { align-items: baseline; display: flex; gap: .5rem; justify-content: space-between; }
.workspace-body .product-author-shell .product-builder__image-library > header > span { color: var(--product-text); font-size: .76rem; font-weight: 700; }
.workspace-body .product-author-shell .product-builder__image-library > header small { color: var(--product-muted); font-size: .68rem; line-height: 1.3; text-align: right; }
.workspace-body .product-author-shell .product-builder__image-choice-grid { display: grid; gap: .5rem; grid-template-columns: repeat(auto-fill, minmax(7rem, 1fr)); max-width: 28rem; }
.workspace-body .product-author-shell .product-builder__image-choice { background: var(--product-surface); border: 1px solid var(--product-border); border-radius: 6px; cursor: pointer; display: grid; gap: .35rem; min-width: 0; overflow: hidden; padding: .35rem; position: relative; text-align: left; }
.workspace-body .product-author-shell .product-builder__image-choice:hover, .workspace-body .product-author-shell .product-builder__image-choice:focus-visible { border-color: var(--product-green); box-shadow: 0 0 0 2px rgba(75,102,65,.12); outline: 0; }
.workspace-body .product-author-shell .product-builder__image-choice.is-selected { background: #eef4eb; border-color: var(--product-green); box-shadow: 0 0 0 1px var(--product-green); }
.workspace-body .product-author-shell .product-builder__image-choice img { aspect-ratio: 4 / 3; border-radius: 4px; display: block; object-fit: cover; width: 100%; }
.workspace-body .product-author-shell .product-builder__image-choice span { display: grid; gap: .1rem; min-width: 0; }
.workspace-body .product-author-shell .product-builder__image-choice strong, .workspace-body .product-author-shell .product-builder__image-choice small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-body .product-author-shell .product-builder__image-choice strong { color: var(--product-text); font: 650 .71rem/1.25 Outfit, Inter, sans-serif; }
.workspace-body .product-author-shell .product-builder__image-choice small { color: var(--product-muted); font-size: .65rem; }
.workspace-body .product-author-shell .product-builder__image-choice em { color: var(--product-green); display: none; font: 700 .62rem/1 Outfit, Inter, sans-serif; font-style: normal; text-transform: uppercase; }
.workspace-body .product-author-shell .product-builder__image-choice.is-selected em { display: block; }
.workspace-body .product-author-shell .product-builder__group-meeting-mode { display: grid; gap: .35rem .65rem; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: .55rem .65rem; }
.workspace-body .product-author-shell .product-builder__group-meeting-mode legend { grid-column: 1 / -1; margin-bottom: .05rem; }
.workspace-body .product-author-shell .product-builder__group-meeting-mode label { align-items: center; display: flex; font-size: .74rem; gap: .4rem; line-height: 1.25; min-width: 0; }
.workspace-body .product-author-shell .product-builder__group-meeting-mode input[type="radio"] { flex: 0 0 auto; height: .95rem; margin: 0; width: .95rem; }

@media (max-width: 560px) {
    .workspace-body .product-author-shell .product-builder__group-meeting-mode { grid-template-columns: 1fr; }
    .workspace-body .product-author-shell .product-builder__image-library > header { align-items: start; display: grid; gap: .18rem; }
    .workspace-body .product-author-shell .product-builder__image-library > header small { text-align: left; }
    .workspace-body .product-author-shell .product-builder__image-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; }
}

@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 label.field { align-items: stretch; display: grid; grid-template-columns: minmax(0, 1fr); }
    .workspace-body .product-author-shell .product-sales-form label.field .field__input { width: 100%; }
    .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; }
}

/* Mobile rich-text controls stay compact while preserving every editor action. */
@media (max-width: 899px) {
    .workspace-body .product-author-shell .product-builder__chooser { gap: 1rem; }
    .workspace-body .product-author-shell .product-builder__chooser form { border-radius: 9px; padding: 1rem; }
    .workspace-body .product-author-shell .product-builder__add-block-heading { gap: .35rem; }
    .workspace-body .product-author-shell .product-builder__add-block-heading h3,
    .workspace-body .product-author-shell .product-builder__rich-label { color: var(--product-text); font-family: Outfit, Inter, sans-serif; font-size: .98rem; font-weight: 700; line-height: 1.25; }
    .workspace-body .product-author-shell .product-builder__rich-toolbar { align-items: stretch; display: grid; gap: .6rem; }
    .workspace-body .product-author-shell .product-builder__rich-toolbar-group { border: 0; display: grid; gap: .3rem; min-width: 0; padding: 0; }
    .workspace-body .product-author-shell .product-builder__rich-toolbar-group-label { margin: 0; }
    .workspace-body .product-author-shell .product-builder__rich-toolbar-group[aria-label="Шрифт"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .workspace-body .product-author-shell .product-builder__rich-toolbar-group[aria-label="Роль тексту"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .workspace-body .product-author-shell .product-builder__rich-toolbar-group[aria-label="Форматування"] { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .workspace-body .product-author-shell .product-builder__rich-toolbar-group[aria-label="Посилання"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .workspace-body .product-author-shell .product-builder__rich-toolbar-group-label { grid-column: 1 / -1; }
    .workspace-body .product-author-shell .product-builder__rich-toolbar button { min-height: 2.15rem; padding: .45rem .35rem; }
    .workspace-body .product-author-shell .product-builder__rich-input { min-height: 9rem; }
    .workspace-body .product-author-shell .product-builder__rich-link { align-items: stretch; display: grid; gap: .45rem; grid-template-columns: minmax(0, 1fr) auto; }
    .workspace-body .product-author-shell .product-builder__rich-link .field { min-width: 0; }
    .workspace-body .product-author-shell .product-builder__rich-link .button { min-height: 2.35rem; }
}

/* 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__catalogue-preview { margin: 0 auto 1.25rem; max-width: 70rem; }
.workspace-body .product-public-builder__catalogue-preview > p:not(.eyebrow) { color: var(--product-muted); line-height: 1.5; margin: 0 0 1rem; max-width: 44rem; }
.workspace-body .product-public-builder__catalogue-preview-current { margin-bottom: .85rem; max-width: 34rem; }
.workspace-body .product-public-builder__catalogue-preview-select,
.workspace-body .product-public-builder__catalogue-preview-upload { align-items: end; display: grid; gap: .65rem; grid-template-columns: minmax(0, 1fr) auto; margin: 0 0 .75rem; max-width: 44rem; }
.workspace-body .product-public-builder__catalogue-preview-upload input[type="file"] { background: transparent; border: 0; min-height: 2.2rem; padding: .35rem 0; }
.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.is-selected::after {
    background: var(--product-green);
    border-radius: 999px;
    color: #fff;
    content: "Вибрано";
    font: 700 .6rem/1 Outfit, Inter, sans-serif;
    padding: .28rem .42rem;
    position: absolute;
    right: .42rem;
    top: .42rem;
    z-index: 1;
}
.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-picker > legend { color: var(--product-text); font: 700 .86rem Outfit, Inter, sans-serif; padding: 0 .25rem; }
.workspace-body .product-public-builder__image-picker .field__hint { line-height: 1.45; }
.workspace-body .product-public-builder__image-actions .button { min-height: 2.4rem; }
.workspace-body .product-public-builder__selected-image:not(.is-empty)::before { color: var(--product-green); content: "Поточне фото"; font: 700 .62rem/1 Outfit, Inter, sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.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__catalogue-preview-select,
    .workspace-body .product-public-builder__catalogue-preview-upload { align-items: stretch; grid-template-columns: 1fr; }
    .workspace-body .product-public-builder__upload-control,
    .workspace-body .product-public-builder__image-upload .button,
    .workspace-body .product-public-builder__catalogue-preview .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;
    }
}

/* Keep public catalogue and reader eyebrows below the fixed site header. */
.free-materials-catalogue__container,
.free-publication-page {
    padding-top: 80px;
}

@media (max-width: 767px) {
    .free-materials-catalogue__container,
    .free-publication-page {
        padding-top: 80px;
    }
}

.free-materials-search .visually-hidden {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

/* Q&A public-answer authoring follows the retained Q&A Figma surface while keeping the workspace shell. */
.workspace-body .public-answer-editor { color:#1a1917; font-family:"Source Sans 3",Inter,Arial,sans-serif; max-width:50rem; }
.workspace-body .question-answer-tabs { border-bottom:1px solid #ddd8cf; display:flex; flex-wrap:wrap; gap:.35rem; margin:1.5rem 0; padding-bottom:.75rem; }
.workspace-body .question-answer-tabs a { border:1px solid #ddd8cf; border-radius:2px; color:#1d304f; font:600 .84rem/1.2 "Source Sans 3",Inter,Arial,sans-serif; padding:.55rem .75rem; text-decoration:none; }
.workspace-body .question-answer-tabs a:hover,.workspace-body .question-answer-tabs a:focus-visible { background:#f0f3f8; border-color:#1d304f; outline:0; }
.workspace-body .question-answer-tabs a.is-active,.workspace-body .question-answer-tabs a[aria-current="location"] { background:#1d304f; border-color:#1d304f; box-shadow:inset 0 -2px 0 rgba(255,255,255,.4); color:#fff; }
.workspace-body .question-answer-tabs a.is-active:hover,.workspace-body .question-answer-tabs a.is-active:focus-visible,.workspace-body .question-answer-tabs a[aria-current="location"]:hover,.workspace-body .question-answer-tabs a[aria-current="location"]:focus-visible { background:#142644; border-color:#142644; }
.workspace-body .public-answer-editor > h3,.workspace-body .public-answer-editor h4 { color:#1a1917; font-family:Lora,Georgia,serif; font-weight:500; letter-spacing:0; }
.workspace-body .public-answer-editor > h3 { font-size:1.45rem; line-height:1.28; margin:.2rem 0 .7rem; }
.workspace-body .public-answer-editor__privacy { color:#5c574f; font-size:.95rem; line-height:1.7; margin:0; max-width:42rem; }
.workspace-body .public-answer-editor__form { display:grid; gap:1.5rem; margin-top:1.5rem; }
.workspace-body .public-answer-editor__question-fields,.workspace-body .public-answer-editor__document,.workspace-body .public-answer-editor__media-library,.workspace-body .public-answer-editor__lifecycle { background:#f4f1eb; border:1px solid #ddd8cf; border-radius:3px; padding:1.25rem 1.375rem; }
.workspace-body .public-answer-editor .eyebrow,.workspace-body .public-answer-editor__block-number { color:#5c574f; font:600 .71875rem/1 "Source Sans 3",Inter,Arial,sans-serif; letter-spacing:.09em; margin:0 0 .5rem; }
.workspace-body .public-answer-editor__question-fields h4,.workspace-body .public-answer-editor__document h4,.workspace-body .public-answer-editor__media-library h4 { font-size:1.2rem; line-height:1.3; margin:0 0 1rem; }
.workspace-body .public-answer-editor__question-fields,.workspace-body .public-answer-editor__document { display:grid; gap:1rem; }
.workspace-body .public-answer-editor label { color:#5c574f; display:grid; font-size:.71875rem; font-weight:600; gap:.5rem; letter-spacing:.09em; line-height:1.3; text-transform:uppercase; }
.workspace-body .public-answer-editor label small { color:#8c877e; font-size:.78rem; font-weight:400; letter-spacing:0; line-height:1.45; text-transform:none; }
.workspace-body .public-answer-editor input,.workspace-body .public-answer-editor textarea,.workspace-body .public-answer-editor select { background:#fff; border:1px solid #ddd8cf; border-radius:3px; box-sizing:border-box; color:#1a1917; font:400 .9375rem/1.55 "Source Sans 3",Inter,Arial,sans-serif; max-width:100%; min-width:0; padding:.6875rem .875rem; width:100%; }
.workspace-body .public-answer-editor textarea { min-height:7.5rem; resize:vertical; }
.workspace-body .public-answer-editor input:focus,.workspace-body .public-answer-editor textarea:focus,.workspace-body .public-answer-editor select:focus { border-color:#1d304f; box-shadow:0 0 0 2px rgb(29 48 79 / .12); outline:0; }
.workspace-body .public-answer-editor__document > header { border-bottom:1px solid #ddd8cf; padding-bottom:1rem; }
.workspace-body .public-answer-editor__document > header p:last-child { color:#5c574f; font-size:.9rem; line-height:1.65; margin:0; max-width:42rem; }
.workspace-body .public-answer-editor__blocks { display:grid; gap:1rem; }
.workspace-body .public-answer-editor__block { background:#fff; border:1px solid #ddd8cf; border-radius:3px; display:grid; gap:1rem; padding:1.125rem; }
.workspace-body .public-answer-editor__block > header { align-items:start; border-bottom:1px solid #eae6de; display:flex; gap:1rem; justify-content:space-between; padding-bottom:.85rem; }
.workspace-body .public-answer-editor__block > header h4 { font-size:1.125rem; line-height:1.3; margin:0; }
.workspace-body .public-answer-editor__block-actions { align-items:center; display:flex; flex-wrap:wrap; gap:.35rem; justify-content:flex-end; }
.workspace-body .public-answer-editor__block-actions button { background:transparent; border:1px solid #ddd8cf; border-radius:2px; color:#5c574f; cursor:pointer; font:600 .78rem/1 "Source Sans 3",Inter,Arial,sans-serif; min-height:2rem; padding:.4rem .55rem; }
.workspace-body .public-answer-editor__block-actions button:not([data-public-answer-remove]) { font-size:1.05rem; min-width:2rem; padding:.35rem; }
.workspace-body .public-answer-editor__block-actions button:hover:not(:disabled) { border-color:#1d304f; color:#1d304f; }
.workspace-body .public-answer-editor__block-actions button:disabled { cursor:not-allowed; opacity:.42; }
.workspace-body .public-answer-editor__block-actions [data-public-answer-remove] { color:#8b3f35; }
.workspace-body .public-answer-editor__block-actions [data-public-answer-remove]:hover { border-color:#8b3f35; }
.workspace-body .public-answer-editor__block-fields { display:grid; gap:1rem; min-width:0; }
.workspace-body .public-answer-editor__rich-editor { gap:.55rem; }
.workspace-body .public-answer-editor .product-builder__rich-label { color:#5c574f; font:600 .71875rem/1 "Source Sans 3",Inter,Arial,sans-serif; letter-spacing:.09em; text-transform:uppercase; }
.workspace-body .public-answer-editor .product-builder__rich-toolbar { gap:.3rem; }
.workspace-body .public-answer-editor .product-builder__rich-toolbar button { background:#f4f1eb; border-color:#ddd8cf; border-radius:2px; color:#1d304f; font-family:"Source Sans 3",Inter,Arial,sans-serif; }
.workspace-body .public-answer-editor .product-builder__rich-toolbar button.is-active { background:#1d304f; border-color:#1d304f; color:#fff; }
.workspace-body .public-answer-editor .product-builder__rich-toolbar-group + .product-builder__rich-toolbar-group { border-color:#ddd8cf; }
.workspace-body .public-answer-editor .product-builder__rich-input { border-color:#ddd8cf; border-radius:3px; color:#1a1917; font-family:"Source Sans 3",Inter,Arial,sans-serif; font-size:.9375rem; line-height:1.7; min-height:11rem; padding:.75rem .875rem; white-space:normal; }
.workspace-body .public-answer-editor .product-builder__rich-input > p { margin:0; min-height:1.7em; }
.workspace-body .public-answer-editor .product-builder__rich-input > p + p { margin-top:.5rem; }
.workspace-body .public-answer-editor .product-builder__rich-input > p:empty { display:none; }
.workspace-body .public-answer-editor .product-builder__rich-input:focus { border-color:#1d304f; box-shadow:0 0 0 2px rgb(29 48 79 / .12); }
.workspace-body .public-answer-editor .product-builder__rich-input blockquote { border-left:3px solid #1d304f; color:#2a2620; padding-left:1rem; }
.workspace-body .public-answer-editor__rich-link { display:flex; flex-wrap:wrap; gap:.65rem; }
.workspace-body .public-answer-editor__rich-link label { flex:1 1 15rem; }
.workspace-body .public-answer-editor__asset-preview { background:#faf8f4; border:1px solid #eae6de; color:#5c574f; display:grid; gap:.65rem; padding:.75rem; }
.workspace-body .public-answer-editor__asset-preview img { display:block; height:auto; max-height:18rem; object-fit:contain; width:100%; }
.workspace-body .public-answer-editor__image-width { border:0; margin:0; min-width:0; padding:0; }.workspace-body .public-answer-editor__image-width legend { color:#59544c; font-size:.78rem; font-weight:700; letter-spacing:.08em; margin-bottom:.55rem; padding:0; text-transform:uppercase; }.workspace-body .public-answer-editor__image-width > div { display:flex; flex-wrap:wrap; gap:.5rem; }.workspace-body .public-answer-editor__image-width label { align-items:center; border:1px solid #d8d2c9; cursor:pointer; display:flex; font-size:.9rem; gap:.45rem; margin:0; padding:.6rem .75rem; }.workspace-body .public-answer-editor__image-width label:has(input:checked) { border-color:#1c355c; box-shadow:inset 0 0 0 1px #1c355c; color:#1c355c; font-weight:700; }.workspace-body .public-answer-editor__image-width input { accent-color:#1c355c; height:1rem; margin:0; min-width:1rem; padding:0; width:1rem; }.workspace-body .public-answer-editor__image-width small { color:#766f66; display:block; font-size:.8rem; line-height:1.45; margin-top:.5rem; }
.workspace-body .public-answer-editor__asset-preview audio { max-width:100%; width:100%; }
.workspace-body .public-answer-editor__asset-preview a { color:#1d304f; font-size:.9rem; font-weight:600; overflow-wrap:anywhere; }
.workspace-body .public-answer-editor__asset-preview p { font-size:.85rem; line-height:1.5; margin:0; }
.workspace-body .public-answer-editor__inline-upload { background:#faf8f4; border:1px solid #eae6de; display:grid; gap:.7rem; padding:.85rem; }
.workspace-body .public-answer-editor__inline-upload p { color:#3f3a34; font-size:.9rem; line-height:1.45; margin:0; }
.workspace-body .public-answer-editor__inline-upload small { color:#5c574f; font-size:.82rem; line-height:1.45; }
.workspace-body .public-answer-editor__inline-upload-error { background:#fff3ef; border-left:3px solid #b64d35; color:#7a301e; font-size:.84rem; line-height:1.45; margin:0; padding:.55rem .65rem; }
.workspace-body .public-answer-editor__inline-upload .button { justify-self:start; margin:0; }
.workspace-body .public-answer-editor__legacy-note { background:#fff8e8; border-left:3px solid #b37a25; color:#6e4b16; font-size:.86rem; line-height:1.55; margin:0; padding:.65rem .75rem; }
.workspace-body .public-answer-editor__empty { border:1px dashed #cfc8bd; color:#5c574f; font-size:.92rem; line-height:1.55; margin:0; padding:1rem; text-align:center; }
.workspace-body .public-answer-editor__insert { background:transparent; border:0; color:#1d304f; cursor:pointer; font:600 .84rem/1.2 "Source Sans 3",Inter,Arial,sans-serif; justify-self:start; padding:0; }
.workspace-body .public-answer-editor__insert:hover,.workspace-body .public-answer-editor__insert:focus-visible { text-decoration:underline; }
.workspace-body .public-answer-editor__add { border-top:1px solid #ddd8cf; margin-top:.25rem; padding-top:1rem; }
.workspace-body .public-answer-editor__add-toggle { background:#1d304f; border:1px solid #1d304f; border-radius:3px; color:#fff; cursor:pointer; font:600 .9rem/1.2 "Source Sans 3",Inter,Arial,sans-serif; min-height:2.75rem; padding:.65rem 1rem; width:100%; }
.workspace-body .public-answer-editor__add-toggle:hover,.workspace-body .public-answer-editor__add-toggle:focus-visible { background:#132039; box-shadow:0 0 0 2px rgb(29 48 79 / .16); outline:0; }
.workspace-body .public-answer-editor__picker { background:#faf8f4; border:1px solid #ddd8cf; margin-top:.75rem; padding:.85rem; }
.workspace-body .public-answer-editor__picker p { color:#5c574f; font-size:.84rem; margin:0 0 .65rem; }
.workspace-body .public-answer-editor__picker > div { display:flex; flex-wrap:wrap; gap:.5rem; }
.workspace-body .public-answer-editor__picker button { background:#fff; border:1px solid #ddd8cf; border-radius:2px; color:#1d304f; cursor:pointer; font:600 .84rem/1.2 "Source Sans 3",Inter,Arial,sans-serif; min-height:2.35rem; padding:.55rem .75rem; }
.workspace-body .public-answer-editor__picker button:hover,.workspace-body .public-answer-editor__picker button:focus-visible { border-color:#1d304f; box-shadow:0 0 0 2px rgb(29 48 79 / .12); outline:0; }
.workspace-body .public-answer-editor__save { align-items:center; border-top:1px solid #ddd8cf; display:flex; flex-wrap:wrap; gap:.75rem 1rem; justify-content:space-between; padding-top:1rem; }
.workspace-body .public-answer-editor__save p { color:#5c574f; font-size:.84rem; line-height:1.45; margin:0; }
.workspace-body .public-answer-editor__lifecycle { display:grid; gap:1rem; margin-top:1rem; }
.workspace-body .public-answer-editor__lifecycle > p { color:#5c574f; font-size:.9rem; margin:0; }
.workspace-body .public-answer-editor__publication-note { border-left:3px solid #1d304f; line-height:1.55; padding-left:.75rem; }
.workspace-body .public-answer-editor__lifecycle > div { display:flex; flex-wrap:wrap; gap:.65rem; }
.workspace-body .public-answer-editor__lifecycle form { margin:0; }
.workspace-body .public-answer-editor__lifecycle form + form { margin-top:.65rem; }
.workspace-body .public-answer-editor__lifecycle .button { margin:0; }
@media (max-width:640px) {
    .workspace-body .public-answer-editor__question-fields,.workspace-body .public-answer-editor__document,.workspace-body .public-answer-editor__lifecycle { padding:1rem; }
    .workspace-body .public-answer-editor__block { padding:.9rem; }
    .workspace-body .public-answer-editor__block > header { align-items:stretch; flex-direction:column; }
    .workspace-body .public-answer-editor__block-actions { justify-content:flex-start; }
    .workspace-body .public-answer-editor__inline-upload .button,.workspace-body .public-answer-editor__lifecycle .button,.workspace-body .public-answer-editor__save .button { width:100%; }
    .workspace-body .public-answer-editor__save { align-items:stretch; flex-direction:column; }
    .workspace-body .public-answer-editor__lifecycle > div { flex-direction:column; }
}

/* Public social entry hub: a route-scoped compact public surface. */
.public-entry-hub-body { background:#f4f0e8; color:#1c2030; font-family:"DM Sans",Inter,system-ui,sans-serif; min-height:100%; }
.public-entry-hub-main { display:flex; justify-content:center; min-height:100dvh; }
.entry-hub { background:#f4f0e8; box-sizing:border-box; display:flex; flex-direction:column; margin:0 auto; max-width:390px; min-height:100dvh; width:100%; }
.entry-hub__identity { align-items:center; color:#1c2030; display:flex; gap:.875rem; padding:calc(env(safe-area-inset-top) + 1.75rem) 1.5rem 1.125rem; text-decoration:none; }
.entry-hub__identity:hover,.entry-hub__identity:focus-visible { color:#1a2744; }
.entry-hub__avatar { background:#1a2744; border-radius:50%; display:block; flex:0 0 2.25rem; height:2.25rem; object-fit:cover; object-position:50% 22%; width:2.25rem; }
.entry-hub__identity p { color:#1c2030; font-family:Lora,Georgia,serif; font-size:.96875rem; letter-spacing:-.01em; line-height:1; margin:0; }
.entry-hub__identity span { color:#97907f; display:block; font-size:.625rem; letter-spacing:.09em; margin-top:.3125rem; text-transform:uppercase; }
.entry-hub__navigation { min-width:0; }
.entry-hub__row { align-items:center; border-bottom:1px solid rgb(216 210 198 / .5); color:rgb(28 32 48 / .8); display:flex; font-size:.8125rem; gap:1rem; justify-content:space-between; line-height:1.35; padding:.75rem 1.5rem; text-align:left; text-decoration:none; width:100%; }
.entry-hub__row > span { min-width:0; }
.entry-hub__row b { color:rgb(151 144 127 / .55); flex:0 0 auto; font-size:.75rem; font-weight:400; transition:transform 160ms ease,color 160ms ease; }
.entry-hub__row:hover,.entry-hub__row:focus-visible { color:#1a2744; }
.entry-hub__row--primary { background:#1a2744; border-color:#1a2744; color:#f4f0e8; font-size:.84375rem; font-weight:500; padding-bottom:.9375rem; padding-top:.9375rem; }
.entry-hub__row--primary b { color:rgb(244 240 232 / .45); }
.entry-hub__row--start { padding-bottom:.8125rem; padding-top:.8125rem; }
.entry-hub__row--start strong { color:#1c2030; display:block; font-weight:500; line-height:1; }
.entry-hub__row--start small { color:#97907f; display:block; font-size:.65625rem; line-height:1; margin-top:.25rem; }
.entry-hub__services { padding:0 1.5rem; }
.entry-hub__services .entry-hub__row { padding-left:0; padding-right:0; }
.entry-hub__row--button { background:transparent; border-inline:0; border-top:0; cursor:pointer; font-family:inherit; }
.entry-hub__row--contact { color:#b3523a; font-weight:500; }
.entry-hub__row--contact b { color:rgb(179 82 58 / .45); }
.entry-hub__community { border-top:1px solid #d8d2c6; margin:1.5px 1.5rem 0; }
.entry-hub__community .entry-hub__row { padding-left:0; padding-right:0; }
.entry-hub__disclosure-panel { display:flex; flex-wrap:wrap; gap:.375rem; padding:0 0 .75rem; }
.entry-hub__disclosure-panel[hidden] { display:none !important; }
.entry-hub__disclosure-panel a { align-items:center; border:1px solid #d8d2c6; color:rgb(28 32 48 / .6); display:flex; flex:1 1 calc(33.333% - .25rem); font-size:.75rem; justify-content:center; min-width:0; padding:.5rem .15rem; text-align:center; text-decoration:none; }
.entry-hub__disclosure-panel a:hover,.entry-hub__disclosure-panel a:focus-visible { border-color:#1a2744; color:#1a2744; }
.entry-hub__disclosure.is-open .entry-hub__row--button b { transform:rotate(90deg); }
.entry-hub__footer { border-top:1px solid #d8d2c6; display:grid; gap:.375rem; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:auto; padding: .75rem 1.5rem calc(env(safe-area-inset-bottom) + 1rem); }
.entry-hub__footer a,.entry-hub__action { align-items:center; border:1px solid #d8d2c6; color:rgb(28 32 48 / .6); display:flex; font-size:.75rem; justify-content:center; padding:.625rem .5rem; text-align:center; text-decoration:none; }
.entry-hub__footer a:hover,.entry-hub__footer a:focus-visible,.entry-hub__action:hover,.entry-hub__action:focus-visible { border-color:#1a2744; color:#1a2744; }
.entry-hub--support .support-page { margin:0; max-width:none; padding:2rem 1.5rem; }
@media (min-width:360px) { .entry-hub__disclosure-panel--social a { flex-basis:calc(25% - .28125rem); } }
.entry-hub--support { gap:0; }
.support-page { border-top:1px solid #d8d2c6; margin-top:0; max-width:33rem; padding:2rem 1.5rem 0; }
.support-page .eyebrow { color:#b3523a; font-size:.75rem; font-weight:600; letter-spacing:.09em; line-height:1.2; margin:0 0 .75rem; }
.support-page h1 { color:#1c2030; font-family:Lora,Georgia,serif; font-size:clamp(1.75rem,7.5vw,2.25rem); font-weight:400; line-height:1.08; margin:0 0 1rem; }
.support-page > p:not(.eyebrow):not(.support-page__error):not(.support-page__note) { color:rgb(28 32 48 / .72); font-size:.9375rem; line-height:1.55; margin:0 0 1.5rem; }
.support-page__form { display:grid; gap:1rem; }
.support-page__presets { display:grid; gap:.55rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.support-page__presets button { align-items:center; appearance:none; background:#fdfaf5; border:1px solid #d8d2c6; color:#1a2744; cursor:pointer; display:flex; font:500 .8125rem/1.2 "DM Sans",Inter,system-ui,sans-serif; justify-content:center; min-height:3rem; padding:.45rem .25rem; }
.support-page__presets button:hover,.support-page__presets button:focus-visible { border-color:#1a2744; box-shadow:0 0 0 2px rgb(26 39 68 / .1); outline:0; }
.support-page__presets button:active { background:#ede8df; }
.support-page__form label { color:rgb(28 32 48 / .72); display:grid; font-size:.8125rem; font-weight:500; gap:.5rem; }
.support-page__form input { background:#fdfaf5; border:1px solid #d8d2c6; border-radius:0; box-sizing:border-box; color:#1c2030; font:400 .9375rem/1.2 "DM Sans",Inter,system-ui,sans-serif; min-height:3.25rem; padding:.5rem .75rem; width:100%; }
.support-page__form input:focus { border-color:#1a2744; box-shadow:0 0 0 2px rgb(26 39 68 / .1); outline:0; }
.support-page .entry-hub__action { align-items:center; background:#1a2744; border-color:#1a2744; color:#f4f0e8; cursor:pointer; display:flex; font:500 .875rem/1.2 "DM Sans",Inter,system-ui,sans-serif; justify-content:center; min-height:3.25rem; padding:.625rem .75rem; width:100%; }
.support-page .entry-hub__action:hover,.support-page .entry-hub__action:focus-visible { background:#243357; border-color:#243357; color:#f4f0e8; }
.support-page__note { color:#97907f; font-size:.75rem; line-height:1.5; margin:1rem 0 0; }
.support-page__error { background:#f7ede8; border-left:2px solid #b3523a; color:#8e4e3e; font-size:.8125rem; line-height:1.5; margin:0 0 1rem; padding:.75rem .85rem; }
.support-page__actions { display:grid; gap:.75rem; margin-top:.25rem; }
.support-page__actions .entry-hub__action { width:100%; }
.entry-hub__text-action { color:#1a2744; display:block; font-size:.8125rem; font-weight:500; padding:.25rem 0; text-align:center; }
.support-page--thanks > p:not(.eyebrow):not(.support-page__error):not(.support-page__note),.support-page--pending > p:not(.eyebrow):not(.support-page__error):not(.support-page__note),.support-page--expired > p:not(.eyebrow):not(.support-page__error):not(.support-page__note),.support-page--unavailable > p:not(.eyebrow):not(.support-page__error):not(.support-page__note) { max-width:21rem; }
@media (min-width:700px) { .public-entry-hub-body { background:#e6e1d7; } .public-entry-hub-main { align-items:center; min-height:100vh; padding:2.5rem 0; } .entry-hub { box-shadow:0 4px 48px -8px rgb(26 39 68 / .14); min-height:0; } }
@media (max-width:340px) { .entry-hub__identity,.entry-hub__row,.entry-hub__services,.entry-hub__footer { padding-left:1.25rem; padding-right:1.25rem; } .entry-hub__community { margin-left:1.25rem; margin-right:1.25rem; } .entry-hub__services .entry-hub__row,.entry-hub__community .entry-hub__row { padding-left:0; padding-right:0; } .entry-hub--support .support-page { padding-left:1.25rem; padding-right:1.25rem; } .support-page__presets { grid-template-columns:repeat(3,minmax(0,1fr)); } }

/* Publication metadata owns the card visual; body-image layout is intentionally independent. */
.free-publication-preview-image { border-top: 1px solid var(--workspace-border, #ddd7cd); margin-top: 1.5rem; padding-top: 1.5rem; }
.free-publication-preview-image > header { margin-bottom: 1rem; }
.free-publication-preview-image > header h2 { margin: .15rem 0 .35rem; }
.free-publication-preview-image > header p:not(.workspace-page__eyebrow) { color: var(--workspace-muted, #67615a); margin: 0; max-width: 42rem; }
.free-publication-preview-image__editor { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr); min-width: 0; width: 100%; }
.free-publication-preview-image__editor > * { max-width: 100%; min-width: 0; }
.free-publication-preview-image__card { background: #faf9f6; border: 1px solid var(--workspace-border, #ddd7cd); box-sizing: border-box; max-width: 30rem; padding: .85rem; width: 100%; }
.free-publication-preview-image__card > .workspace-page__eyebrow { margin: 0 0 .55rem; }
.free-publication-preview-image__card .free-materials-preview-frame { margin: 0; max-width: none; }
.free-publication-preview-image__card .field__hint { margin: .65rem 0 0; }
.free-publication-preview-image__sources { border: 0; display: grid; gap: .45rem; margin: 0; min-width: 0; padding: 0; width: 100%; }
.free-publication-preview-image__sources legend { font-weight: 700; margin-bottom: .25rem; }
.free-publication-preview-image__source { align-items: center; background: #fff; border: 1px solid var(--workspace-border, #ddd7cd); box-sizing: border-box; color: inherit; cursor: pointer; display: flex; font: inherit; gap: .6rem; justify-content: flex-start; min-width: 0; padding: .65rem .75rem; text-align: left; width: 100%; }
.free-publication-preview-image__source:has(input:checked), .free-publication-preview-image__source--upload[aria-expanded="true"] { border-color: var(--workspace-accent, #1e3a5f); box-shadow: inset 3px 0 0 var(--workspace-accent, #1e3a5f); }
.free-publication-preview-image__source input { accent-color: var(--workspace-accent, #1e3a5f); }
.free-publication-preview-image__editor > section { border-top: 1px solid var(--workspace-border, #ddd7cd); padding-top: 1rem; }
.free-publication-preview-image__editor > section h3 { font-size: 1rem; margin: 0 0 .65rem; }
.free-publication-preview-image__editor [hidden], .free-publication-preview-image__upload[hidden] { display: none !important; }
.free-publication-preview-image__youtube { display: grid; gap: .55rem; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); }
.free-publication-preview-image__youtube label { align-items: center; border: 1px solid var(--workspace-border, #ddd7cd); cursor: pointer; display: grid; gap: .55rem; grid-template-columns: auto 4.5rem minmax(0, 1fr); padding: .5rem; }
.free-publication-preview-image__youtube label.is-selected { border-color: var(--workspace-accent, #1e3a5f); box-shadow: inset 3px 0 0 var(--workspace-accent, #1e3a5f); }
.free-publication-preview-image__youtube img { aspect-ratio: 16 / 9; display: block; object-fit: cover; width: 4.5rem; }
.free-publication-preview-image__youtube span { font-size: .82rem; overflow-wrap: anywhere; }
.free-publication-preview-image__save { border-top: 1px solid var(--workspace-border, #ddd7cd); padding-top: 1rem; }
.free-publication-preview-image__upload { border-top: 1px solid var(--workspace-border, #ddd7cd); margin-top: 1rem; padding-top: 1rem; }
.free-publication-preview-focal { border-top:1px solid var(--workspace-border,#ddd7cd); margin-top:1rem; padding-top:1rem; }.free-publication-preview-focal > header h3 { margin:.15rem 0; }.free-publication-preview-focal__result { aspect-ratio:52 / 35; margin:0 0 1rem; max-width:26rem; width:100%; }.free-publication-preview-focal__actions { display:flex; flex-wrap:wrap; gap:.65rem; }.free-publication-preview-focal__dialog { border:0; box-shadow:0 24px 70px rgb(28 27 25 / .25); max-width:42rem; padding:0; width:min(42rem,calc(100vw - 2rem)); }.free-publication-preview-focal__dialog::backdrop { background:rgb(28 27 25 / .45); }.free-publication-preview-focal__dialog > section { padding:1.25rem; }.free-publication-preview-focal__dialog header p:last-child { color:var(--workspace-muted,#67615a); line-height:1.45; }.free-publication-preview-focal__stage { aspect-ratio:52 / 35; background:#eae6df; margin:1rem 0; overflow:hidden; position:relative; touch-action:none; }.free-publication-preview-focal__stage > img { display:block; height:100%; object-fit:contain; width:100%; }.free-publication-preview-focal__stage [data-free-preview-focal-window] { border:2px solid var(--workspace-accent,#1e3a5f); box-shadow:0 0 0 999px rgb(28 27 25 / .35); cursor:grab; display:block; position:absolute; touch-action:none; }.free-publication-preview-focal__stage [data-free-preview-focal-window]:focus-visible { outline:3px solid #f2c14e; outline-offset:3px; }.free-publication-preview-focal__stage [data-free-preview-focal-window].is-dragging { cursor:grabbing; }.free-publication-preview-focal__controls { display:grid; gap:.65rem; grid-template-columns:repeat(3,minmax(0,1fr)); }.free-publication-preview-focal__controls .field { gap:.35rem; }.free-publication-preview-focal__dialog footer { display:flex; gap:.65rem; justify-content:flex-end; margin-top:1rem; }
@media (max-width: 600px) { .free-publication-preview-image__youtube { grid-template-columns: minmax(0, 1fr); }.free-publication-preview-focal__controls { grid-template-columns:1fr; }.free-publication-preview-focal__dialog > section { padding:1rem; }.free-publication-preview-focal__dialog footer { justify-content:stretch; }.free-publication-preview-focal__dialog footer .button { flex:1; } }

/* Canonical Ask a Psychologist reader: public and protected documents share one editorial language. */
.ask-question-page,
.ask-question-page--answers,
.ask-question-page--private-reader { background:#faf8f4; color:#1a1917; }
.ask-question-page__inner,
.ask-question-page--answers .ask-question-page__inner { max-width:800px; padding:2.5rem 1.5rem 4rem; }
.ask-question-local-nav { gap:0; margin-bottom:2rem; padding-bottom:0; }
.ask-question-local-nav a,
.ask-question-local-nav span { border-radius:2px; font-size:.8125rem; min-height:2.4rem; padding:.55rem .8rem; }
.ask-question-local-nav a + a,
.ask-question-local-nav span + span { border-left:0; }
.ask-question-page__intro,
.ask-public-answers__intro { margin-bottom:1.75rem; max-width:42rem; padding-bottom:1.5rem; }
.ask-question-page__intro h1,
.ask-public-answers__intro h1 { font-size:clamp(2rem,4vw,2.5rem); line-height:1.2; }
.ask-question-page__intro p,
.ask-public-answers__intro p { font-size:1rem; line-height:1.7; }
.ask-question-page:not(.ask-question-page--answers) .ask-question-local-nav a,
.ask-question-page:not(.ask-question-page--answers) .ask-question-local-nav span { font-size:.75rem; line-height:1.3; }
.ask-question-page:not(.ask-question-page--answers) .ask-question-page__intro h1 { font-size:clamp(1.75rem,3.2vw,2.25rem); line-height:1.18; max-width:none; }
.ask-question-page:not(.ask-question-page--answers) .ask-question-page__intro > p { font-size:.9375rem; line-height:1.55; }
.ask-question-page:not(.ask-question-page--answers) .ask-question-form input,
.ask-question-page:not(.ask-question-page--answers) .ask-question-form textarea { font-size:.9375rem; line-height:1.5; }
.ask-question-page:not(.ask-question-page--answers) .ask-question-mode__choice { font-size:.875rem !important; line-height:1.45; }
.ask-question-page:not(.ask-question-page--answers) .ask-question-consent > p:not(.ask-question-consent__optional) { font-size:.875rem; line-height:1.5; }
.ask-question-page:not(.ask-question-page--answers) .ask-question-form > .button { font-size:.9375rem; min-height:2.75rem; padding:.65rem 1rem; }
.ask-question-page:not(.ask-question-page--answers) .ask-question-page__answers-link { font-size:.8125rem; }
.ask-question-page__intro--restricted { margin-bottom:1.5rem; }
.ask-public-answers__toolbar { align-items:stretch; display:grid; gap:.6rem; grid-template-columns:minmax(0,1fr); margin-bottom:0; padding:.9rem 0 .7rem; }
.ask-public-answers__search { display:block; min-width:0; }
.ask-public-answers__search .visually-hidden { border:0; clip:rect(0,0,0,0); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; white-space:nowrap; width:1px; }
.ask-public-answers__toolbar input { border-radius:3px; font-size:.9375rem; min-height:2.8rem; width:100%; }
.ask-public-answers__toolbar p { color:#8a847b; font-size:.78rem; line-height:1.35; }
.ask-public-answers { border:0; display:grid; gap:0; grid-template-columns:1fr; }
.ask-public-answers__item { background:transparent; border:0; border-bottom:1px solid #ddd8cf; border-radius:0; box-shadow:none; min-height:0; padding:1.35rem 0; }
.ask-public-answers__item[hidden],
.ask-public-answers__no-results[hidden] { display:none; }
.ask-public-answers__item:first-child { border-top:1px solid #ddd8cf; }
.ask-public-answers__item:hover { border-color:#c8c1b7; box-shadow:none; transform:none; }
.ask-public-answers__item-meta { justify-content:flex-start; }
.ask-public-answers__item-meta time { color:#8a847b; font-size:.78rem; }
.ask-public-answers__item h2 { font-size:1.2rem; line-height:1.38; margin:.65rem 0 .4rem; max-width:43rem; }
.ask-public-answers__item > p { font-size:.9375rem; line-height:1.68; margin:0; max-width:44rem; }
.ask-public-answers__item > p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.ask-public-answers__read { font-size:.8125rem; margin-top:0; padding-top:.75rem; text-decoration:underline; text-decoration-color:#c8d2e0; text-underline-offset:.25rem; }
.ask-public-answers__intro > .eyebrow { font-size:.6875rem; line-height:1.3; margin:0; }
.ask-public-answers__intro > p:not(.eyebrow) { font-size:.875rem; line-height:1.55; }
.ask-public-answers__intro h1 { font-size:clamp(1.75rem,3.2vw,2.25rem); line-height:1.18; }
.ask-public-answers__toolbar input { font-size:.875rem; }
.ask-public-answers__item-meta time { font-size:.75rem; }
.ask-public-answers__item h2 { font-size:1.1rem; line-height:1.32; margin:.55rem 0 .3rem; }
.ask-public-answers__item > p { font-size:.9375rem; line-height:1.58; }
.ask-public-answers__item > .ask-public-answers__read { font-size:.8125rem; line-height:1.35; padding-top:.6rem; }
.ask-public-answers__read:hover,
.ask-public-answers__read:focus-visible { color:#1d304f; text-decoration-color:currentColor; }
.ask-question-page:not(.ask-question-page--answers) .ask-question-mode__choice { grid-template-columns:auto minmax(0,1fr); grid-template-rows:auto 1fr; min-height:8.5rem; }
.ask-question-page:not(.ask-question-page--answers) .ask-question-mode__choice > input { grid-column:1; grid-row:1; }
.ask-question-page:not(.ask-question-page--answers) .ask-question-mode__choice > .ask-question-mode__heading { grid-column:2; grid-row:1; min-width:0; }
.ask-question-page:not(.ask-question-page--answers) .ask-question-mode__choice > span:not(.ask-question-mode__heading) { grid-column:2; grid-row:2; }
.ask-public-answer { max-width:800px; }
.ask-public-answer__preview-notice { margin-bottom:1.5rem; }
.ask-public-answer__date { margin-bottom:1rem; }
.ask-public-answer__question { background:#f4f1eb; border-radius:3px; margin-bottom:2rem; padding:1.25rem 1.375rem; }
.ask-public-answer__question h1 { font-size:clamp(1.35rem,2.3vw,1.65rem); line-height:1.35; margin:.45rem 0 .65rem; }
.ask-public-answer__question p { font-size:.9375rem; line-height:1.72; max-width:42rem; }
.ask-public-answer__answer > .eyebrow { margin-bottom:1.15rem; }
.ask-public-answer__blocks { gap:1.5rem; }
.ask-public-answer__body,
.ask-public-answer__rich-text { color:#2a2620; font-size:1rem; line-height:1.78; max-width:44rem; }
.ask-public-answer__rich-text p { margin-bottom:.95em; }
.ask-public-answer__rich-text ul,
.ask-public-answer__rich-text ol { margin:.8em 0; padding-left:1.35em; }
.ask-public-answer__rich-text li { margin-bottom:.42em; padding-left:.1em; }
.ask-public-answer__rich-text a { color:#1d304f; text-decoration-color:#9eabbc; text-decoration-thickness:1px; text-underline-offset:.16em; }
.ask-public-answer__rich-text blockquote,
.ask-public-answer__accent { font-size:1.08rem; line-height:1.6; max-width:44rem; padding:.8rem 1rem; }
.ask-public-answer__accent footer { font-family:"Source Sans 3",Inter,Arial,sans-serif; font-size:.8125rem; }
.ask-public-answer__image--small { max-width:15rem; }
.ask-public-answer__image--normal { max-width:30rem; }
.ask-public-answer__image figcaption { font-size:.8125rem; margin-top:.5rem; }
.ask-public-answer__youtube { max-width:44rem; }
.ask-public-answer__audio { background:#fdfcf8; border-radius:3px; max-width:44rem; padding:.9rem 1rem; }
.ask-public-answer__audio p { color:#1a1917; font-size:.9375rem; font-weight:600; }
.ask-public-answer__resource { max-width:44rem; }
.ask-public-answer__file { background:#fdfcf8; border-radius:3px; min-height:4.5rem; padding:.85rem 1rem; }
.ask-public-answer__resource-icon { border-color:#8c877e; }
.ask-public-answer__resource-copy strong { color:#1a1917; font-size:.9375rem; }
.ask-public-answer__resource-copy small { font-size:.75rem; }
.ask-public-answer__resource-action { color:#1d304f; font-size:.8125rem; }
.ask-public-answer__resource-description { font-size:.875rem; line-height:1.65; margin-top:.65rem; }
.ask-public-answer__presentation.product-presentation { border-radius:3px; max-width:44rem; }
.ask-public-answer__presentation.product-presentation > header { padding:.85rem 1rem; }
.ask-public-answer__presentation.product-presentation > header h2 { font-size:1.1rem; }
.ask-public-answer__presentation .product-presentation__viewer:not(.product-presentation__viewer--dialog) { aspect-ratio:var(--presentation-page-ratio,16 / 9); min-height:0; }
.ask-public-answer__presentation .product-presentation__viewer:not(.product-presentation__viewer--dialog) [data-presentation-canvas] { max-height:calc(100% - 1rem); max-width:calc(100% - 1rem); }
.ask-public-answer__cta { margin-top:2.5rem; padding-top:1.5rem; }
.ask-public-answer__cta .button { border-radius:3px; box-shadow:none; padding:.75rem 1.15rem; }
.ask-question-back { font-size:.8125rem; line-height:1.35; margin-bottom:1rem; }
.ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__date { font-size:.8125rem; line-height:1.4; margin-bottom:.9rem; }
.ask-public-answer:not(.ask-public-answer--private) .eyebrow { font-size:.8125rem; line-height:1.35; }
.ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__question { margin-bottom:1.6rem; padding:1rem 1.1rem; }
.ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__question h1 { font-size:1.1rem; line-height:1.3; margin:.35rem 0 .55rem; }
.ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__question > p:not(.eyebrow) { font-size:.9375rem; line-height:1.6; }
.ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__body,
.ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__rich-text { font-size:1rem; line-height:1.72; }
.ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__rich-text p { margin-bottom:.8em; }
.ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__rich-text blockquote,
.ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__accent { font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif; font-size:1rem; font-style:normal; line-height:1.6; padding:.8rem .95rem; }
.ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__audio { padding:.8rem .9rem; }
.ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__audio p { font-size:.875rem; line-height:1.45; }
.ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__image figcaption { font-size:.875rem; line-height:1.45; }
.ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__resource-copy strong { font-size:.875rem; line-height:1.4; }
.ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__resource-description { font-size:.9375rem; line-height:1.65; }
.ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__resource-icon--link { align-items:center; background:#f3f5f8; border-color:#9eabbc; border-radius:3px; display:flex; height:1.9rem; justify-content:center; width:1.9rem; }
.ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__resource-icon--link::after { font-size:1.05rem; left:auto; position:static; top:auto; }
.ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__cta { gap:1rem; margin-top:2rem; padding-top:1.25rem; }
.ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__cta p { font-size:.9375rem; line-height:1.55; }
.ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__cta .button { font-size:.875rem; min-height:2.75rem; padding:.65rem 1rem; }
.ask-public-answer--private { max-width:800px; }
.ask-public-answer--private .ask-public-answer__question { margin-bottom:1.75rem; }
.ask-question-page--private-reader .ask-question-page__intro > .eyebrow { font-size:.6875rem; line-height:1.3; }
.ask-question-page--private-reader .ask-question-page__intro h1 { font-size:1.75rem; line-height:1.18; }
.ask-question-page--private-reader .ask-question-page__intro > p:not(.eyebrow) { font-size:.875rem; line-height:1.5; }
.ask-public-answer--private .ask-public-answer__question > p:not(.eyebrow) { font-size:.8125rem; line-height:1.5; }
.ask-public-answer--private .ask-public-answer__body,
.ask-public-answer--private .ask-public-answer__rich-text { font-size:.875rem; line-height:1.65; }
.ask-public-answer--private .ask-public-answer__rich-text p { margin-bottom:.8em; }
.ask-public-answer--private .ask-public-answer__rich-text blockquote,
.ask-public-answer--private .ask-public-answer__accent { font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif; font-size:.8125rem; font-style:normal; line-height:1.55; padding:.7rem .85rem; }
.ask-public-answer--private .ask-public-answer__audio { padding:.8rem .9rem; }
.ask-public-answer--private .ask-public-answer__audio p { font-size:.8125rem; line-height:1.4; }
.ask-public-answer--private .ask-public-answer__resource-copy strong { font-size:.8125rem; line-height:1.35; }
.ask-public-answer--private .ask-public-answer__resource-description { font-size:.8125rem; line-height:1.5; }
.ask-public-answer--private .ask-public-answer__resource-icon--link { align-items:center; background:#f3f5f8; border-color:#9eabbc; border-radius:3px; display:flex; height:1.9rem; justify-content:center; width:1.9rem; }
.ask-public-answer--private .ask-public-answer__resource-icon--link::after { font-size:1.05rem; left:auto; position:static; top:auto; }
.ask-public-answer--private .ask-public-answer__presentation.product-presentation > header h2 { font-size:1rem; line-height:1.3; }
.workspace-body .private-answer-reader { background:transparent; border:0; box-shadow:none; gap:1.5rem; max-width:800px; padding:0; }
.workspace-body .private-answer-reader__question { padding:1.25rem 1.375rem; }
.workspace-body .private-answer-reader__document { gap:1.25rem; }
.workspace-body .private-answer-reader__document > header { padding-bottom:1rem; }
.workspace-body .private-answer-reader__document h2 { font-size:1.35rem; }
.workspace-body .question-detail { max-width:56rem; }
.workspace-body .question-detail__context { max-width:44rem; }
.workspace-body .question-workspace-list { display:grid; gap:.75rem; max-width:58rem; }
.workspace-body .question-workspace-card { border-radius:3px; padding:1.1rem 1.2rem; }
.workspace-body .question-workspace-card__publication-state { border-left:1px solid #ddd8cf; padding-left:1rem; }
.workspace-body .question-workspace-card__actions { align-items:stretch; }
.workspace-body .question-workspace-card__actions > form { display:flex; }
.workspace-body .question-workspace-card__actions > .button,
.workspace-body .question-workspace-card__actions > form .button { min-width:8rem; min-height:2.5rem; padding:.55rem .9rem; }

@media (min-width:641px) {
    .ask-question-page:not(.ask-question-page--answers) .ask-question-page__intro h1 { white-space:nowrap; }
}

/* Public answer discovery keeps filters compact without turning the catalogue into a card grid. */
.ask-public-answers__toolbar { gap:.75rem; }
.ask-public-answers__filters { display:flex; flex-wrap:wrap; gap:.45rem; margin:0; min-width:0; }
.ask-public-answers__filters a { background:#faf8f4; border:1px solid #ddd8cf; border-radius:2px; color:#716b62; font-size:.75rem; line-height:1.2; padding:.45rem .65rem; text-decoration:none; white-space:nowrap; }
.ask-public-answers__filters a:hover,.ask-public-answers__filters a:focus-visible { border-color:#8c877e; color:#1d304f; }
.ask-public-answers__filters a[aria-current="page"] { background:#1d304f; border-color:#1d304f; color:#fff; }
.ask-public-answers__filters-toggle { align-items:center; background:#1d304f; border:1px solid #1d304f; border-radius:2px; color:#fff; cursor:pointer; display:inline-flex; font:inherit; font-size:.75rem; gap:.45rem; line-height:1.2; padding:.45rem .65rem; }
.ask-public-answers__filters-toggle span { font-size:1rem; line-height:.8; transition:transform var(--motion-fast); }
.ask-public-answers__filters.is-open .ask-public-answers__filters-toggle span { transform:rotate(180deg); }
.ask-public-answers__topics-menu { display:flex; flex-basis:100%; flex-wrap:wrap; gap:.45rem; max-height:20rem; opacity:1; overflow:hidden; transition:max-height var(--motion-fast),opacity var(--motion-fast); visibility:visible; }
.js .ask-public-answers__topics-menu[hidden] { display:flex; max-height:0; opacity:0; pointer-events:none; visibility:hidden; }
.ask-public-answers__topics-menu a { flex:0 0 auto; }
.ask-public-answers__topic { background:#eaf0f8; color:#294160; font-size:.625rem; font-weight:700; letter-spacing:.04em; line-height:1.2; padding:.28rem .45rem; text-transform:uppercase; }
.ask-public-answers__item-meta { flex-wrap:wrap; gap:.45rem .7rem; }
.public-answer-editor__topics { margin:1.25rem 0; }
.public-answer-editor__topics-summary { align-items:center; display:flex; gap:.75rem; justify-content:space-between; margin-bottom:.75rem; }
.public-answer-editor__topics-summary .field__hint { margin:0; }
.public-answer-editor__topics-save { flex:0 0 auto; font-size:.8125rem; min-height:2.25rem; padding:.45rem .7rem; }
@media (max-width:640px) {
    .ask-question-page__inner,
    .ask-question-page--answers .ask-question-page__inner { padding:1.75rem 1rem 3rem; }
    .ask-question-local-nav { margin-bottom:1.5rem; }
    .ask-question-local-nav a,
    .ask-question-local-nav span { min-height:2.75rem; }
    .ask-question-page__intro,
    .ask-public-answers__intro { margin-bottom:1.4rem; padding-bottom:1.25rem; }
    .ask-question-page:not(.ask-question-page--answers) .ask-question-local-nav a,
    .ask-question-page:not(.ask-question-page--answers) .ask-question-local-nav span { font-size:.6875rem; min-height:2.5rem; padding:.45rem .55rem; }
    .ask-question-page:not(.ask-question-page--answers) .ask-question-page__intro h1 { font-size:1.75rem; }
    .ask-question-page:not(.ask-question-page--answers) .ask-question-page__intro > p { font-size:.875rem; line-height:1.5; }
    .ask-question-page:not(.ask-question-page--answers) .ask-question-mode__choice { font-size:.8125rem !important; }
    .ask-question-page:not(.ask-question-page--answers) .ask-question-mode__choice { min-height:0; }
    .ask-question-page:not(.ask-question-page--answers) .ask-question-consent > p:not(.ask-question-consent__optional) { font-size:.8125rem; }
    .ask-public-answers__toolbar { padding-top:.75rem; }
    .ask-public-answers__filters { gap:.4rem; }
    .ask-public-answers__filters-toggle,.ask-public-answers__filters a { font-size:.6875rem; padding:.4rem .55rem; white-space:normal; }
    .ask-public-answers__topics-menu { gap:.4rem; }
    .ask-public-answers__intro > .eyebrow { font-size:.625rem; }
    .ask-public-answers__intro > p:not(.eyebrow) { font-size:.8125rem; line-height:1.5; }
    .ask-public-answers__intro h1 { font-size:1.75rem; }
    .ask-public-answers__toolbar input { font-size:.875rem; }
    .ask-public-answers__item { padding:1.1rem 0; }
    .ask-public-answers__item h2 { font-size:1.1rem; line-height:1.3; }
    .ask-public-answers__item > p { font-size:.90625rem; line-height:1.5; }
    .ask-public-answers__item > .ask-public-answers__read { font-size:.75rem; }
    .public-answer-editor__topics-summary { align-items:flex-start; flex-direction:column; }
    .ask-public-answer__question { margin-bottom:1.6rem; padding:1rem; }
    .ask-public-answer__question h1 { font-size:1.3rem; }
    .ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__question h1 { font-size:1.1rem; }
    .ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__question > p:not(.eyebrow) { font-size:.9375rem; line-height:1.6; }
    .ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__body,
    .ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__rich-text { font-size:1rem; line-height:1.65; }
    .ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__rich-text blockquote,
    .ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__accent { font-size:1rem; line-height:1.55; }
    .ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__audio p { font-size:.875rem; }
    .ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__image figcaption { font-size:.875rem; }
    .ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__resource-copy strong { font-size:.875rem; }
    .ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__resource-description { font-size:.9375rem; }
    .ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__cta p { font-size:.9375rem; }
    .ask-public-answer:not(.ask-public-answer--private) .ask-public-answer__cta .button { font-size:.8125rem; min-height:2.75rem; }
    .ask-question-page--private-reader .ask-question-page__intro h1 { font-size:1.75rem; }
    .ask-question-page.ask-question-page--private-reader .ask-question-page__inner > .ask-question-page__intro > p.eyebrow { font-size:.6875rem; line-height:1.3; }
    .ask-question-page--private-reader .ask-question-page__intro > p:not(.eyebrow) { font-size:.8125rem; }
    .ask-public-answer--private .ask-public-answer__question > p:not(.eyebrow) { font-size:.8125rem; }
    .ask-public-answer--private .ask-public-answer__body,
    .ask-public-answer--private .ask-public-answer__rich-text { font-size:.875rem; line-height:1.6; }
    .ask-public-answer--private .ask-public-answer__rich-text blockquote,
    .ask-public-answer--private .ask-public-answer__accent { font-size:.8125rem; }
    .ask-public-answer--private .ask-public-answer__resource-copy strong,
    .ask-public-answer--private .ask-public-answer__resource-description { font-size:.8125rem; }
    .ask-public-answer__blocks { gap:1.25rem; }
    .ask-public-answer__rich-text { font-size:1rem; line-height:1.75; }
    .ask-public-answer__rich-text blockquote,
    .ask-public-answer__accent { font-size:1.02rem; padding:.75rem .85rem; }
    .ask-public-answer__image--small { max-width:12rem; }
    .ask-public-answer__image--normal { max-width:100%; }
    .ask-public-answer__youtube,
    .ask-public-answer__audio,
    .ask-public-answer__resource,
    .ask-public-answer__presentation.product-presentation { max-width:none; }
    .ask-public-answer__presentation .product-presentation__viewer:not(.product-presentation__viewer--dialog) { min-height:0; }
    .workspace-body .private-answer-reader__question { padding:1rem; }
    .workspace-body .question-workspace-card__publication-state { border-left:0; border-top:1px solid #ddd8cf; padding: .75rem 0 0; width:100%; }
    .workspace-body .question-workspace-card__actions { align-items:stretch; flex-direction:column; width:100%; }
    .workspace-body .question-workspace-card__actions > form,
    .workspace-body .question-workspace-card__actions > .button,
    .workspace-body .question-workspace-card__actions > form .button { width:100%; }
}

/* Public products catalogue: compact editorial list with responsive media. */
body:has(.product-catalogue) { background:#f6f2ed; }
.page-shell:has(.product-catalogue) { background:#f6f2ed; margin:0; max-width:none; overflow:visible; padding:0; width:100%; }
.product-catalogue { background:#f6f2ed; color:#252323; min-width:0; overflow-x:clip; }
.product-catalogue__intro,
.product-catalogue__discovery { box-sizing:border-box; margin:0 auto; max-width:1160px; padding-left:32px; padding-right:32px; }
.product-catalogue__intro { padding-bottom:28px; padding-top:44px; }
.product-catalogue .eyebrow { color:#847d74; font-size:11px; font-weight:600; letter-spacing:.18em; margin:0 0 14px; text-transform:uppercase; }
.product-catalogue__intro h1 { color:#252323; font-family:"DM Serif Display",Lora,Georgia,serif; font-size:42px; font-weight:400; letter-spacing:0; line-height:1.1; margin:0; }
.product-catalogue__intro-copy { color:#625e58; font-size:17px; line-height:1.48; margin:12px 0 0; max-width:690px; }
.product-catalogue__count { color:#625e58; font-size:14px; margin:17px 0 0; white-space:nowrap; }
.product-catalogue__discovery { border-top:1px solid #d9d2c9; padding-bottom:68px; padding-top:18px; }
.product-catalogue__toolbar { align-items:center; border-bottom:1px solid #e3ddd5; display:flex; flex-wrap:wrap; gap:8px; padding:0 0 15px; }
.product-catalogue__types { display:flex; flex:1 1 100%; flex-wrap:wrap; gap:8px; }
.product-catalogue__types button,
.product-catalogue__dropdown summary { background:#efece6; border:1px solid transparent; border-radius:999px; color:#3f4750; cursor:pointer; font:inherit; font-size:13px; line-height:1.2; min-height:37px; padding:9px 15px; }
.product-catalogue__types button:hover,
.product-catalogue__types button:focus-visible,
.product-catalogue__dropdown summary:hover,
.product-catalogue__dropdown summary:focus-visible { border-color:#1e304f; color:#1e304f; }
.product-catalogue__types button.is-active { background:#1e304f; border-color:#1e304f; color:#fff; }
.product-catalogue__dropdown { position:relative; }
.product-catalogue__dropdown summary { align-items:center; display:flex; gap:10px; list-style:none; white-space:nowrap; }
.product-catalogue__dropdown summary::-webkit-details-marker { display:none; }
.product-catalogue__dropdown summary span { border-bottom:1.5px solid currentColor; border-right:1.5px solid currentColor; color:currentColor; display:inline-block; flex:0 0 7px; font-size:0; height:7px; line-height:0; transform:rotate(45deg) translate(-1px,-1px); width:7px; }
.product-catalogue__dropdown[open] summary span { transform:rotate(225deg) translate(-1px,-1px); }
.product-catalogue__dropdown-menu { background:#fffdf9; border:1px solid #d8d1c7; box-shadow:0 10px 24px rgba(37,35,35,.08); display:grid; gap:8px; left:0; min-width:210px; padding:13px; position:absolute; top:calc(100% + 6px); z-index:5; }
.product-catalogue__dropdown-menu label { align-items:center; color:#625d57; display:flex; font-size:13px; gap:8px; line-height:1.3; white-space:nowrap; }
.product-catalogue__dropdown-menu input { accent-color:#1e304f; height:15px; margin:0; width:15px; }
.product-catalogue__dropdown-empty { color:#938b80; font-size:12px; white-space:nowrap; }
.product-catalogue__search { align-items:center; background:#f8f6f2; border:1px solid #d8d1c7; border-radius:999px; display:flex; gap:9px; margin-left:auto; min-height:39px; padding:0 14px; width:244px; }
.product-catalogue__search > span:not(.sr-only) { color:#1e304f; display:inline-block; flex:0 0 16px; font-size:0; height:16px; line-height:0; position:relative; width:16px; }
.product-catalogue__search > span:not(.sr-only)::before { border:1.5px solid currentColor; border-radius:50%; content:''; height:8px; left:1px; position:absolute; top:1px; width:8px; }
.product-catalogue__search > span:not(.sr-only)::after { background:currentColor; content:''; height:1.5px; left:9px; position:absolute; top:10px; transform:rotate(45deg); transform-origin:left center; width:6px; }
.product-catalogue__search:focus-within { border-color:#1e304f; box-shadow:0 0 0 2px rgba(30,48,79,.12); }
.product-catalogue__search input { background:transparent; border:0; color:#252323; font:inherit; font-size:13px; min-width:0; outline:0; padding:0; width:100%; }
.product-catalogue__search input::placeholder { color:#938b80; }
.product-catalogue__active-filters { align-items:center; display:flex; flex-wrap:wrap; gap:6px; margin:15px 0 -2px; }
.product-catalogue__active-filters > a { color:#1e304f; font-size:12px; text-decoration:none; }
.product-catalogue__active-filters > a:not(.product-catalogue__clear-all) { border:1px solid #d8d1c7; border-radius:999px; padding:5px 9px; }
.product-catalogue__clear-all { margin-left:4px; text-decoration:underline !important; text-underline-offset:3px; }
.product-catalogue__result-count { color:#847d74; font-size:13px; margin:17px 0 0; }
.product-catalogue__grid { display:block; }
.product-card { align-items:start; background:transparent; border:0; border-top:1px solid #e3ddd5; border-radius:0; display:grid; gap:30px; grid-template-columns:minmax(0,1fr) 132px; min-height:0; padding:20px 0; position:relative; }
.product-card--has-metadata { grid-template-columns:minmax(0,1fr) 200px 132px; }
.product-card:hover { background:rgba(255,253,249,.35); box-shadow:none; }
.product-card__main { align-items:start; display:flex; gap:18px; min-width:0; }
.product-card__image { background:#e3ddd5; border-radius:4px; flex:0 0 108px; height:90px; object-fit:cover; width:108px; }
.product-card__copy { min-width:0; }
.product-card__meta { align-items:center; display:flex; flex-wrap:wrap; gap:0 8px; margin:0 0 6px; min-width:0; }
.product-card__type,
.product-card__topic { color:#59616a; font-size:10px; font-weight:600; letter-spacing:.13em; line-height:1.35; margin:0; text-transform:uppercase; }
.product-card__type { border-radius:4px; display:inline-block; letter-spacing:.08em; padding:3px 7px 2px; }
.product-card__type--program { background:#eef1f4; color:#29445c; }
.product-card__type--mini-program { background:#eaf6ee; color:#2f6047; }
.product-card__type--testing-tasks { background:#ffecef; color:#743b49; }
.product-card__type--group-meeting { background:#efeaff; color:#50466f; }
.product-card__type--subscription { background:#f3eedf; color:#66583d; }
.product-card__type--neutral { background:transparent; color:#59616a; padding-left:0; padding-right:0; }
.product-card__topic::before { color:#938b80; content:'·'; margin-right:8px; }
.product-card h3 { color:#252323; font-family:"PT Serif",serif; font-size:21px; font-weight:400; line-height:1.23; margin:0; }
.product-card h3 a { color:inherit; text-decoration:none; }
.product-card h3 a:hover,.product-card h3 a:focus-visible { color:#1e304f; }
.product-card__description { -webkit-box-orient:vertical; -webkit-line-clamp:2; color:#6f6a64; display:-webkit-box; font-size:14px; line-height:1.48; margin:7px 0 0; max-width:650px; overflow:hidden; }
.product-card__metadata { align-self:center; color:#59616a; display:grid; gap:9px; min-width:0; }
.product-card__metadata > span { align-items:center; display:flex; gap:9px; font-size:14px; line-height:1.35; min-width:0; }
.product-card__metadata > span > span { min-width:0; overflow-wrap:anywhere; }
.catalogue-card-icon { flex:0 0 18px; height:18px; width:18px; }
.product-public-builder__catalogue-metadata > p:not(.eyebrow) { color:#6f6a64; margin:7px 0 17px; max-width:640px; }
.product-public-builder__catalogue-metadata-form { display:grid; gap:14px; }
.product-public-builder__catalogue-slot { border:1px solid #e3ddd5; margin:0; padding:14px; }
.product-public-builder__catalogue-slot legend { color:#59616a; font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.product-public-builder__catalogue-slot-fields { display:grid; gap:12px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.product-public-builder__catalogue-metadata-actions { align-items:center; display:flex; flex-wrap:wrap; gap:10px; }
.product-public-builder__catalogue-metadata-preview { border-top:1px solid #e3ddd5; margin-top:18px; padding-top:15px; }
.product-public-builder__catalogue-metadata-preview .product-card__metadata { color:#59616a; }
.product-card footer { align-items:flex-end; display:flex; flex-direction:column; gap:13px; margin:0; padding-top:3px; }
.product-card footer strong { color:#252323; font-family:"PT Serif",serif; font-size:19px; font-weight:400; line-height:1.2; white-space:nowrap; }
.product-card footer a { color:#1e304f; font-size:13px; font-weight:600; line-height:1.3; padding:0; text-decoration:none; white-space:nowrap; }
.product-card footer a:hover,.product-card footer a:focus-visible { text-decoration:underline; text-underline-offset:3px; }
.product-card footer a span { display:inline-block; margin-left:8px; transition:transform var(--motion-fast); }
.product-card footer a:hover span,.product-card footer a:focus-visible span { transform:translateX(3px); }
.product-catalogue__empty { border-top:1px solid #e3ddd5; color:#6f6a64; font-size:15px; padding:28px 0; }
.product-catalogue__empty p { margin:0 0 10px; }
.product-catalogue__empty a,.product-catalogue__pagination a { color:#1e304f; font-size:13px; font-weight:600; }
.product-catalogue__pagination { align-items:center; border-top:1px solid #e3ddd5; display:flex; font-size:13px; justify-content:space-between; padding-top:18px; }
.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; }
@media (max-width:960px) {
    .product-catalogue__search { margin-left:0; }
}
@media (max-width:800px) {
    .product-catalogue__intro,.product-catalogue__discovery { padding-left:20px; padding-right:20px; }
	.product-catalogue__intro { padding-bottom:25px; padding-top:34px; }
    .product-catalogue__intro h1 { font-size:32px; }
    .product-catalogue__intro-copy { font-size:16px; line-height:1.48; margin-top:10px; max-width:560px; }
    .product-catalogue__count { margin-top:17px; }
    .product-catalogue__discovery { padding-bottom:48px; padding-top:0; }
    .product-catalogue__toolbar { align-items:stretch; gap:8px; padding:17px 0; }
    .product-catalogue__types { flex:1 1 100%; gap:7px; }
    .product-catalogue__types button { flex:0 1 auto; }
    .product-catalogue__dropdown { flex:1 1 calc(50% - 4px); min-width:0; }
    .product-catalogue__dropdown summary { justify-content:space-between; overflow:hidden; text-overflow:ellipsis; width:100%; }
    .product-catalogue__dropdown-menu { max-width:calc(100vw - 40px); min-width:0; width:max-content; }
    .product-catalogue__search { flex:1 1 100%; margin-left:0; min-height:43px; width:auto; }
    .product-card,.product-card--has-metadata { gap:0; grid-template-columns:1fr; padding:21px 0; }
    .product-card__main { gap:14px; }
    .product-card__image { flex-basis:88px; height:72px; width:88px; }
    .product-card__meta { align-items:flex-start; flex-wrap:wrap; gap:4px 8px; margin-bottom:5px; }
    .product-card__type { flex:0 0 auto; }
    .product-card__topic { min-width:0; overflow-wrap:normal; }
    .product-card--with-image .product-card__meta { display:grid; gap:4px; }
    .product-card--with-image .product-card__type { justify-self:start; }
    .product-card--with-image .product-card__topic::before { margin-right:6px; }
    .product-card h3 { font-size:20px; line-height:1.22; }
    .product-card__description { -webkit-line-clamp:3; font-size:14px; line-height:1.45; margin-top:6px; }
    .product-card__metadata { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:12px; }
    .product-card__metadata > span { font-size:13px; gap:7px; }
    .catalogue-card-icon { flex-basis:16px; height:16px; width:16px; }
    .product-public-builder__catalogue-slot-fields { grid-template-columns:1fr; }
    .product-public-builder__catalogue-metadata-actions { align-items:stretch; flex-direction:column; }
    .product-card footer { align-items:center; display:grid; grid-template-columns:minmax(0,1fr) auto; margin-top:13px; padding-top:0; }
    .product-card footer strong { font-size:18px; }
    .product-card footer a { font-size:13px; }
}
@media (max-width:360px) {
    .product-catalogue__intro,.product-catalogue__discovery { padding-left:16px; padding-right:16px; }
    .product-catalogue__intro h1 { font-size:30px; }
    .product-catalogue__types button,.product-catalogue__dropdown summary { font-size:12px; padding-left:12px; padding-right:12px; }
    .product-catalogue__dropdown-menu { max-width:calc(100vw - 32px); }
    .product-card__main { display:flex; gap:12px; }
    .product-card__image { display:block; flex-basis:76px; height:76px; width:76px; }
}

@media (max-width:320px) {
    .product-card:not(.product-card--with-image) .product-card__meta { display:grid; gap:4px; }
}

/* Final visual reconciliation for the public catalogue route. */
body:has(.product-catalogue) > .page-shell { padding-top:65px; }
.product-card__copy { flex:1 1 auto; }
.product-card__image { object-fit:cover; }

/* Keep the desktop catalogue on one editorial grid whether preview exists or not. */
@media (min-width:801px) {
    .product-card { grid-template-columns:88px minmax(0,1fr) 200px 132px; }
    .product-card__main { display:contents; }
    .product-card__image { align-self:start; grid-column:1; grid-row:1; height:88px; width:88px; }
    .product-card__copy { flex:none; grid-column:2; grid-row:1; }
    .product-card__metadata { grid-column:3; grid-row:1; }
    .product-card footer { grid-column:4; grid-row:1; }
}

@media (max-width:800px) {
    .product-card__copy { flex:1 1 auto; grid-column:auto; grid-row:auto; }
}

/* Product sales form: make every access condition fit the phone viewport. */
.workspace-body .subscription-fixed-values,
.workspace-body .subscription-subscriber-summary dl {
    display: grid;
    gap: .7rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.subscription-checkout { max-width: 760px; margin: 0 auto; padding: 48px 20px 80px; }
.subscription-checkout__review { border: 1px solid var(--color-border, #ded8d0); padding: 28px; background: var(--color-surface, #fffdfa); }
.subscription-checkout__review h1 { margin: 8px 0 24px; }
.subscription-checkout__review dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0 0 24px; }
.subscription-checkout__review dt { color: var(--color-text-muted, #756e67); font-size: 14px; }
.subscription-checkout__review dd { margin: 4px 0 0; font-weight: 600; }
.subscription-checkout__notice { margin: 0 0 20px; color: var(--color-text-muted, #756e67); }
.workspace-body .subscription-fixed-values > div,
.workspace-body .subscription-subscriber-summary dl > div {
    background: var(--product-alt);
    border: 1px solid var(--product-border);
    border-radius: 6px;
    min-width: 0;
    padding: .75rem .85rem;
}
.workspace-body .subscription-fixed-values dt,
.workspace-body .subscription-subscriber-summary dt {
    color: var(--product-muted);
    font-size: .72rem;
    font-weight: 650;
    margin: 0 0 .25rem;
}
.workspace-body .subscription-fixed-values dd,
.workspace-body .subscription-subscriber-summary dd {
    color: var(--product-text);
    font-size: .9rem;
    margin: 0;
    overflow-wrap: anywhere;
}
.workspace-body .subscription-subscriber-list { display: grid; gap: .8rem; }
.workspace-body .subscription-subscriber { min-height: 0; }
.workspace-body .subscription-subscriber > header { align-items: start; display: flex; gap: 1rem; justify-content: space-between; }
.workspace-body .subscription-subscriber > header > div { min-width: 0; }
.workspace-body .subscription-subscriber > header h2 { font-size: 1.18rem; margin: 0; }
.workspace-body .subscription-subscriber > header .product-home-link { align-self: start; flex: 0 0 auto; margin: 0; }
.workspace-body .subscription-content-nav {
    align-self: start;
    background: var(--product-surface);
    border: 1px solid var(--product-border);
    border-radius: 7px;
    display: grid;
    gap: .35rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: .35rem;
}
.workspace-body .subscription-content-nav .product-author-nav__item {
    color: var(--product-muted);
    justify-content: center;
    min-height: 2.75rem;
    padding: .6rem .75rem;
    text-align: center;
}
.workspace-body .subscription-content-nav .product-author-nav__item:hover,
.workspace-body .subscription-content-nav .product-author-nav__item:focus-visible {
    background: var(--product-alt);
    color: var(--product-text);
}
.workspace-body .subscription-content-nav .product-author-nav__item.is-active {
    background: var(--product-green);
    box-shadow: none;
    color: #fff;
}
@media (max-width: 700px) {
    .workspace-body .product-author-shell .product-sales-form {
        overflow: hidden;
        padding: 1rem;
    }
    .workspace-body .product-author-shell .product-sales-form h3 {
        font-family: "PT Serif", Georgia, serif;
        font-size: 1.45rem;
        line-height: 1.2;
        margin-top: 0;
    }
    .workspace-body .product-author-shell .product-sales-form > p:not(.eyebrow) {
        line-height: 1.5;
        overflow-wrap: anywhere;
    }
    .workspace-body .product-author-shell .product-sales-form .workspace-form,
    .workspace-body .product-author-shell .product-sales-form fieldset.field,
    .workspace-body .product-author-shell .product-sales-form label.field,
    .workspace-body .product-author-shell .product-sales-form__terms {
        min-width: 0;
        width: 100%;
    }
    .workspace-body .product-author-shell .product-sales-form fieldset.field {
        box-sizing: border-box;
        min-inline-size: 0;
        overflow: hidden;
        padding: .9rem .8rem 1rem;
    }
    .workspace-body .product-author-shell .product-sales-form fieldset.field legend {
        max-width: 100%;
        overflow-wrap: anywhere;
        white-space: normal;
    }
    .workspace-body .product-author-shell .product-sales-form .product-sales-form__toggle {
        align-items: flex-start;
        display: flex;
        line-height: 1.4;
        min-width: 0;
    }
    .workspace-body .product-author-shell .product-sales-form .product-sales-form__toggle input {
        flex: 0 0 auto;
        margin-top: .2rem;
    }
    .workspace-body .product-author-shell .product-sales-form .product-sales-form__toggle span,
    .workspace-body .product-author-shell .product-sales-form .field__hint {
        min-width: 0;
        overflow-wrap: anywhere;
    }
    .workspace-body .product-author-shell .product-sales-form label.field {
        align-items: stretch;
        display: grid;
        gap: .4rem;
        grid-template-columns: minmax(0, 1fr);
    }
    .workspace-body .product-author-shell .product-sales-form label.field .field__input {
        box-sizing: border-box;
        max-width: 100%;
        min-width: 0;
        width: 100%;
    }
    .workspace-body .product-author-shell .product-sales-form__terms {
        grid-template-columns: minmax(0, 1fr);
    }
    .workspace-body .product-author-shell .product-sales-form .button-row,
    .workspace-body .product-author-shell .product-sales-form .button-row .button {
        width: 100%;
    }
    .workspace-body .subscription-fixed-values,
    .workspace-body .subscription-subscriber-summary dl { grid-template-columns: 1fr; }
    .subscription-checkout__review dl { grid-template-columns: 1fr; }
    .workspace-body .subscription-subscriber > header { align-items: stretch; display: grid; }
    .workspace-body .subscription-subscriber > header .product-home-link { width: max-content; }
    .workspace-body .subscription-content-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .workspace-body .subscription-content-nav .product-author-nav__item { font-size: .72rem; min-height: 2.75rem; padding: .45rem .25rem; }
}

@media (max-width: 899px) {
    .workspace-body .product-author-shell .product-sales-form .content-editor__toolbar {
        display: flex;
        grid-template-columns: none;
        width: auto;
    }

    .workspace-body .product-author-shell .product-sales-form .content-editor__toolbar .button {
        flex: 0 0 auto;
        width: auto;
    }

    .workspace-body .product-author-shell .product-sales-form .content-editor__link-controls .button-row,
    .workspace-body .product-author-shell .product-sales-form .content-editor__link-controls .button-row .button {
        width: auto;
    }

    .workspace-body .product-author-shell .product-sales-form .js-youtube-field[hidden] {
        display: none;
    }

    .workspace-body .product-author-shell .product-sales-form .content-editor.js-content-editor {
        min-height: 9rem;
    }
}
