:root{
  /* ANIMA visual foundation: semantic tokens for production pages. */
  --anima-bg:#E9E2DB;
  --anima-bg-soft:#E9E2DB;
  --anima-page-bg:#E9E2DB;
  --anima-panel-bg:#E9E2DB;
  --anima-surface-warm:#E9E2DB;
  --anima-surface-soft:#E9E2DB;
  --anima-surface-paper:#E9E2DB;
  --anima-surface-cream:#E9E2DB;
  --anima-surface-taupe:var(--anima-surface-taupe-soft);
  --anima-surface-taupe-soft:#B9AEA3;
  --anima-surface-taupe-muted:#B4AAA0;
  --anima-surface-card-soft:#F7F2ED;
  --anima-surface-media:#CBBEB2;
  --anima-surface-dark:#3A312C;
  --anima-surface-footer:#000;
  --anima-ink:#2a2623;
  --anima-muted:#4f4944;
  --anima-ink-dark:#0b0b0f;
  --anima-muted-dark:#6b6b75;
  --anima-line:rgba(49,45,42,.10);
  --anima-line-strong:rgba(49,45,42,.16);
  --anima-media-placeholder:#d8cbbf;
  --anima-radius-xs:8px;
  --anima-radius-sm:12px;
  --anima-radius-md:18px;
  --anima-radius-lg:28px;
  --anima-radius-xl:30px;
  --anima-radius-pill:999px;
  --anima-shadow-soft:0 14px 32px rgba(15,19,32,.06);
  --anima-shadow-card:0 24px 64px rgba(58,44,38,.12);
  --anima-space-2xs:4px;
  --anima-space-xs:8px;
  --anima-space-sm:12px;
  --anima-space-md:16px;
  --anima-space-lg:24px;
  --anima-space-xl:32px;
  --anima-space-2xl:48px;
  --anima-space-section:clamp(44px, 5vw, 78px);
  --anima-space-section-compact:clamp(28px, 3.4vw, 48px);
  --anima-gap-section:clamp(56px, 6vw, 96px);
  --anima-gap-content:32px;
  --anima-gap-item:24px;
  --anima-feature-index-size:clamp(38px, 3.4vw, 52px);
  --anima-feature-index-line-height:.94;
  --anima-feature-index-tracking:-.035em;
  --anima-feature-index-weight:650;
  --anima-rhythm-section:var(--anima-space-section);
  --anima-rhythm-section-compact:var(--anima-space-section-compact);
  --anima-rhythm-section-mobile:36px;
  --anima-rhythm-section-tight:40px;
  --anima-rhythm-heading-subheading:10px;
  --anima-rhythm-heading-body:14px;
  --anima-rhythm-subheading-body:10px;
  --anima-rhythm-content:var(--anima-gap-content);
  --anima-rhythm-item:var(--anima-gap-item);
  --anima-rhythm-body-content:var(--anima-gap-content);
  --anima-rhythm-body-cta:var(--anima-space-lg);
  --anima-cta-band-padding-y:clamp(72px, 6vw, 96px);
  --anima-cta-band-padding-y-mobile:48px;
  --anima-rhythm-card-card:var(--anima-gap-item);
  --anima-rhythm-media-content:36px;
  --anima-media-frame-radius:var(--anima-radius-lg);
  --anima-media-frame-radius-mobile:var(--anima-radius-md);
  --anima-media-frame-bg:var(--anima-media-placeholder);
  --anima-media-frame-shadow:var(--anima-shadow-card);
  --anima-media-frame-fit:cover;
  --anima-media-frame-article-hero-ratio:4 / 5;
  --anima-media-frame-article-hero-ratio-mobile:16 / 11;
  --anima-media-frame-article-hero-min-height:clamp(420px, 48vw, 720px);
  --anima-media-frame-article-hero-min-height-mobile:0;
  --anima-media-frame-article-body-width:min(980px, 100%);
  --anima-media-frame-article-body-ratio:16 / 9;
  --anima-media-frame-article-body-margin:clamp(34px, 4.5vw, 58px) auto;
  --headerH:64px;
  --headerIconStroke:1.65;
  --menuLayer:#f9f9fb;
  --overlaySheetBg:transparent;
  --overlaySheetPanelBg:transparent;
  --overlayAppearDur:.16s;
  --appVh:100dvh;
  --viewportW:100vw;
  --viewportHalf:50vw;
  --safeTop:env(safe-area-inset-top, 0px);
  --anima-font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;
  --apple-ui-font:var(--anima-font-family);
  --appleFontText:var(--anima-font-family);
  --appleFontDisplay:var(--anima-font-family);
  --appleHeadingWeight:600;
  --appleBodyWeight:400;
  --appleEmphasisWeight:500;
  --appleHeadingTracking:-.028em;
  --appleBodyTracking:-.011em;
  --appleSmallTracking:-.006em;
  --appleHeroDisplaySize:clamp(44px, 5vw, 80px);
  --appleSectionTitleSize:clamp(34px, 4vw, 56px);
  --appleBodyLargeSize:clamp(19px, 1.35vw, 24px);
  --appleBodySize:clamp(17px, 1.12vw, 19px);
  --appleCalloutSize:clamp(16px, 1vw, 17px);
  --appleSubheadSize:clamp(14px, .92vw, 15px);
  --appleFootnoteSize:clamp(12px, .82vw, 13px);
  --appleCaptionSize:clamp(11px, .74vw, 12px);
  --appleButtonSize:clamp(15px, 1vw, 17px);
  --anima-font-text:var(--anima-font-family);
  --anima-font-display:var(--anima-font-family);
  --anima-heading-weight:600;
  --anima-body-weight:400;
  --anima-heading-tracking:-.028em;
  --anima-body-tracking:-.011em;
  --anima-type-hero-weight:var(--anima-type-heading-weight);
  --anima-type-hero-line-height:var(--anima-type-heading-line-height);
  --anima-type-hero-letter-spacing:var(--anima-type-heading-letter-spacing);
  --anima-type-heading-weight:var(--anima-heading-weight);
  --anima-type-heading-line-height:1.02;
  --anima-type-heading-letter-spacing:var(--anima-heading-tracking);
  --anima-type-subheading-weight:var(--anima-heading-weight);
  --anima-type-subheading-line-height:1.16;
  --anima-type-subheading-letter-spacing:-.018em;
  --anima-type-body-weight:var(--anima-body-weight);
  --anima-type-body-line-height:1.58;
  --anima-type-body-letter-spacing:var(--anima-body-tracking);
  --anima-type-ui-weight:600;
  --anima-type-ui-line-height:1.2;
  --anima-type-ui-letter-spacing:-.011em;
  --layout-max-width:clamp(1240px, 88vw, 1720px);
  --anima-layout-max:clamp(1240px, 88vw, 1720px);
  --layout-padding-x:clamp(22px, 3.4vw, 64px);
  --anima-layout-padding-x:clamp(22px, 3.4vw, 64px);
  --layout-content-width:var(--layout-max-width);
  --layout-inset:max(var(--layout-padding-x), calc((var(--viewportW) - var(--layout-max-width)) / 2 + var(--layout-padding-x)));
  --page-max-width:var(--layout-max-width);
  --page-padding-x:var(--layout-padding-x);
  --content-max-width:var(--layout-content-width);
  --footer-max-width:var(--layout-max-width);
  --page-grid-inset:var(--layout-inset);
  --content-grid-inset:var(--layout-inset);
  --hero-grid-inset:var(--layout-inset);
  --shell-grid-inset:var(--layout-inset);
  --pageShellMax:100%;
  --pageEdgePad:var(--layout-inset);
  --section-gap:var(--anima-space-section);
  --anima-section-gap:var(--anima-space-section);
  --section-padding-y:var(--section-gap);
  --content-gap:clamp(16px, 2vw, 28px);
  --heading-gap:clamp(14px, 1.8vw, 22px);
  --text-max-width:680px;
  --anima-section-frame-standard-padding-y:var(--anima-section-gap);
  --anima-section-frame-compact-padding-y:var(--anima-space-section-compact);
  --anima-section-frame-hero-adjacent-padding-y:clamp(24px, 3vw, 42px);
  --anima-container-wide-max:var(--anima-layout-max);
  --anima-container-content-max:var(--anima-container-wide-max);
  --anima-container-page-shell-max:100%;
  --anima-container-page-edge-pad:var(--layout-inset);
  --anima-container-reading:min(100%, 68ch);
  --anima-container-reading-wide:min(100%, 78ch);
  --anima-container-media:min(100%, 1120px);
  --anima-layout-text-max:var(--anima-container-reading);
  --anima-layout-text-wide-max:var(--anima-container-reading-wide);
  --anima-layout-heading-max:min(100%, 980px);
  --anima-layout-split-max:min(100%, 1320px);
  --anima-layout-split-columns:repeat(2, minmax(0, 1fr));
  --anima-gap-layout:clamp(32px, 4vw, 64px);
  --anima-layout-split-gap:var(--anima-gap-layout);
  --anima-layout-split-gap-mobile:var(--anima-gap-layout);
  --anima-layout-split-align:start;
  --anima-layout-split-breakpoint:1100px;
  --anima-layout-card-grid-min:280px;
  --anima-layout-card-grid-gap:var(--anima-rhythm-card-card);
  --anima-layout-media-max:min(100%, 1120px);
  --anima-layout-body-max:var(--anima-layout-text-wide-max);
  --anima-layout-content-max:var(--anima-layout-split-max);
  --anima-layout-faq-max:min(100%, 980px);
  --anima-layout-cta-max:min(100%, 980px);
  --anima-layout-cta-min-height:clamp(250px, 30vw, 400px);
  --anima-layout-cta-min-height-mobile:240px;
  --anima-layout-stat-min-height:128px;
  --anima-layout-rail-card-width:clamp(360px, 28vw, 420px);
  --anima-layout-rail-card-width-mobile:min(86vw, 340px);
  --anima-layout-rail-card-min-height:calc(var(--anima-space-2xl) * 10);
  --anima-layout-rail-peek-mobile:30vw;
  --anima-heading-block-gap:var(--heading-gap);
  --anima-heading-block-lead-max:var(--text-max-width);
  --anima-heading-block-centered-margin:0 auto;
  --anima-grid-gap-standard:clamp(24px, 2.4vw, 46px);
  --anima-grid-gap-card:var(--content-gap);
  --anima-grid-gap-mobile:18px;
  --hero-content-max-width:clamp(680px, 46vw, 820px);
  --anima-hero-viewport-height:100dvh;
  --anima-hero-content-pad-top:calc(var(--headerH, 64px) + var(--anima-gap-content));
  --anima-hero-content-pad-bottom:calc(var(--anima-gap-section) + env(safe-area-inset-bottom, 0px));
  --anima-type-hero:var(--anima-type-section);
  --anima-type-section:clamp(34px, 4vw, 56px);
  --anima-type-story-section:var(--anima-type-section);
  --anima-type-h3:clamp(22px, 2vw, 30px);
  --anima-type-body-lg:clamp(19px, 1.35vw, 24px);
  --anima-type-body-lg-line-height:1.48;
  --anima-type-body:clamp(17px, 1.12vw, 19px);
  --anima-type-story-body:var(--anima-type-body);
  --anima-type-callout:clamp(16px, 1vw, 17px);
  --anima-type-small:clamp(14px, .92vw, 15px);
  --anima-type-footnote:clamp(12px, .82vw, 13px);
  --anima-type-caption:clamp(11px, .74vw, 12px);
  --anima-type-button:14px;
  --anima-button-min-height:44px;
  --anima-button-padding-x:18px;
  --anima-button-radius:var(--anima-radius-pill);
  --anima-button-padding-block:12px;
  --anima-button-primary-bg:var(--anima-ink-dark);
  --anima-button-primary-text:#fff;
  --anima-button-primary-border:transparent;
  --anima-button-secondary-bg:rgba(255,255,255,.34);
  --anima-button-secondary-text:var(--anima-ink);
  --anima-button-secondary-border:var(--anima-line-strong);
  --anima-card-padding:var(--anima-space-xl);
  --anima-card-padding-mobile:var(--anima-space-lg);
  --anima-card-radius:var(--anima-radius-lg);
  --anima-card-border:1px solid var(--anima-line);
  --anima-card-bg:var(--anima-surface-paper);
  --anima-card-soft-bg:var(--anima-surface-card-soft);
  --anima-card-solid-bg:var(--anima-surface-paper);
  --anima-card-solid-border:1px solid var(--anima-line);
  --anima-card-solid-shadow:var(--anima-shadow-soft);
  --anima-card-shadow:var(--anima-shadow-soft);
  --anima-glass-card-bg:rgba(255,255,255,.34);
  --anima-glass-card-border:1px solid rgba(255,255,255,.58);
  --anima-glass-card-shadow:var(--anima-shadow-card);
  --anima-glass-card-backdrop:saturate(150%) blur(14px);
  --anima-cta-block-align:center;
  --anima-cta-block-gap:clamp(18px, 2vw, 28px);
  --anima-cta-button-min-width:160px;
  --anima-cta-button-min-height:var(--anima-button-min-height);
  --anima-cta-solid-shadow:0 10px 24px rgba(8,10,14,.12), inset 0 1px 0 rgba(255,255,255,.82);
  --anima-cta-button-max-width:min(100%, 360px);
  --anima-cta-button-mobile-max-width:calc(100vw - 48px);
  --anima-cta-button-padding-block:var(--anima-button-padding-block);
  --anima-cta-button-padding-inline:var(--anima-button-padding-x);
  --anima-cta-button-border:rgba(255,255,255,.18);
  --anima-cta-button-radius:var(--anima-radius-pill);
  --anima-cta-button-bg:rgba(255,255,255,.10);
  --anima-cta-button-text:#fff;
  --anima-cta-button-font-size:var(--anima-type-button);
  --anima-cta-button-line-height:1.2;
  --anima-cta-button-letter-spacing:0;
  --anima-cta-button-font-weight:700;
  --anima-cta-button-shadow:0 12px 28px rgba(8,10,14,.14);
  --anima-cta-button-backdrop:saturate(150%) blur(12px);
  --anima-cta-button-bg-hover:rgba(255,255,255,.18);
  --anima-cta-button-hover-text:#fff;
  --anima-cta-button-hover-border:rgba(255,255,255,.18);
  --anima-home-page-bg:#ffffff;
  --anima-home-mobile-chrome:#ffffff;
  --anima-home-card-bg:#f5f5f7;
  --anima-home-line:rgba(0,0,0,.10);
  --anima-home-shadow:0 14px 34px rgba(0,0,0,.10);
  --anima-home-accent:#0b0b0f;
  --anima-home-accent-text:#ffffff;
  --anima-home-button-min-width:160px;
  --anima-home-button-mobile-min-width:140px;
  --anima-home-button-mobile-min-height:44px;
  --anima-home-button-padding-block:12px;
  --anima-home-button-padding-inline:18px;
  --anima-home-button-radius:var(--anima-radius-pill);
  --anima-home-button-border:rgba(0,0,0,.12);
  --anima-home-button-bg:#fff;
  --anima-home-button-bg-hover:rgba(0,0,0,.04);
  --anima-home-button-text:#101015;
  --anima-home-button-font-size:14px;
  --anima-home-button-letter-spacing:0;
  --anima-home-button-font-weight:700;
  --anima-home-button-transition:.2s;
  --anima-home-button-active-transform:scale(.985);
  --anima-home-button-primary-bg:var(--accent, var(--anima-ink-dark, #0b0b0f));
  --anima-home-button-primary-text:var(--accentText, #fff);
  --anima-home-button-primary-border:transparent;
  --anima-home-button-fill-feedback:rgba(255,255,255,.24);
  --anima-home-button-ghost-feedback:rgba(11,11,15,.28);
  --anima-home-button-buy-ghost-bg:rgba(255,255,255,.78);
  --anima-home-button-buy-ghost-bg-hover:rgba(255,255,255,.9);
  --anima-home-button-buy-ghost-border:rgba(0,0,0,.14);
  --anima-home-button-buy-ghost-text:#121217;
  --anima-home-button-buy-ghost-backdrop:saturate(145%) blur(2px);
  --anima-home-hero-button-border:rgba(0,0,0,.16);
  --anima-home-hero-button-bg:rgba(255,255,255,.76);
  --anima-home-hero-button-bg-hover:rgba(255,255,255,.9);
  --anima-home-hero-button-text:#101015;
  --anima-home-hero-button-backdrop:saturate(150%) blur(3px);
  --anima-home-hero-button-primary-bg:#0b0b0f;
  --anima-home-hero-button-primary-text:#fff;
  --anima-home-hero-button-primary-border:#0b0b0f;
  --anima-home-hero-button-fill-feedback:rgba(255,255,255,.30);
  --anima-home-hero-button-ghost-feedback:rgba(11,11,15,.34);
  --anima-home-hero-media-button-border:rgba(255,255,255,.32);
  --anima-home-hero-media-button-bg:rgba(255,255,255,.14);
  --anima-home-hero-media-button-bg-hover:rgba(255,255,255,.22);
  --anima-home-hero-media-button-text:#fff;
  --anima-home-hero-media-button-backdrop:saturate(160%) blur(10px);
  --anima-home-hero-media-button-primary-bg:#fff;
  --anima-home-hero-media-button-primary-text:#101015;
  --anima-home-hero-media-button-primary-border:#fff;
  --anima-home-hero-media-button-fill-feedback:rgba(255,255,255,.22);
  --anima-home-hero-media-button-ghost-feedback:rgba(255,255,255,.42);
  --anima-home-hero-button-coarse-bg:linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.72));
  --anima-home-hero-button-coarse-border:rgba(255,255,255,.70);
  --anima-home-hero-button-coarse-shadow:inset 0 1px 0 rgba(255,255,255,.78), 0 10px 24px rgba(8,10,14,.12);
  --anima-home-hero-button-primary-coarse-bg:#0b0b0f;
  --anima-home-hero-button-primary-coarse-text:#fff;
  --anima-home-hero-button-primary-coarse-border:#0b0b0f;
  --anima-home-hero-button-primary-coarse-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 10px 24px rgba(8,10,14,.16);
  --anima-home-hero-media-button-coarse-bg:linear-gradient(180deg, rgba(255,255,255,.20), rgba(255,255,255,.12));
  --anima-home-hero-media-button-coarse-border:rgba(255,255,255,.38);
  --anima-home-hero-media-button-coarse-shadow:inset 0 1px 0 rgba(255,255,255,.30), 0 12px 28px rgba(5,8,14,.18);
  --anima-home-hero-media-button-primary-coarse-bg:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.90));
  --anima-home-hero-media-button-primary-coarse-border:rgba(255,255,255,.92);
  --anima-home-hero-media-button-primary-coarse-shadow:inset 0 1px 0 rgba(255,255,255,.88), 0 12px 28px rgba(5,8,14,.20);
  --anima-home-hero-surface-bg:linear-gradient(180deg, #f6f8fc 0%, #edf2f9 46%, #e6edf7 100%);
  --anima-home-hero-media-bg:#000;
  --anima-home-hero-overlay-soft:linear-gradient(180deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,0) 46%, rgba(212,224,241,.10) 100%);
  --anima-home-hero-overlay-side:linear-gradient(to right, rgba(247,251,255,.34) 0%, rgba(247,251,255,.16) 50%, rgba(247,251,255,.34) 100%);
  --anima-home-hero-frauen-bg:linear-gradient(180deg, #fff7fb 0%, #fff0f7 46%, #ffeaf3 100%);
  --anima-home-hero-detox-bg:linear-gradient(180deg, #f3f8f4 0%, #eaf4ed 50%, #e0ece5 100%);
  --anima-home-hero-fresh-overlay-soft:linear-gradient(180deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,0) 46%, rgba(202,222,211,.12) 100%);
  --anima-home-hero-fresh-overlay-side:linear-gradient(to right, rgba(247,253,249,.34) 0%, rgba(247,253,249,.18) 50%, rgba(247,253,249,.34) 100%);
  --anima-home-hero-fresh-video-overlay-soft:linear-gradient(180deg, rgba(5,12,9,.24) 0%, rgba(5,12,9,.34) 48%, rgba(5,12,9,.54) 100%);
  --anima-home-hero-fresh-video-overlay-side:linear-gradient(90deg, rgba(0,0,0,.34) 0%, rgba(0,0,0,.10) 50%, rgba(0,0,0,.28) 100%);
  --anima-home-hero-thermo-bg:linear-gradient(180deg, #fbf3ec 0%, #f5e7da 50%, #eedbcc 100%);
  --anima-home-hero-thermo-overlay-soft:linear-gradient(180deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,0) 46%, rgba(228,198,176,.12) 100%);
  --anima-home-hero-thermo-overlay-side:linear-gradient(to right, rgba(255,248,242,.34) 0%, rgba(255,248,242,.18) 50%, rgba(255,248,242,.34) 100%);
  --anima-home-hero-thermo-video-overlay-soft:linear-gradient(180deg, rgba(18,10,6,.22) 0%, rgba(18,10,6,.34) 48%, rgba(18,10,6,.56) 100%);
  --anima-home-hero-thermo-video-overlay-side:linear-gradient(90deg, rgba(0,0,0,.36) 0%, rgba(0,0,0,.10) 50%, rgba(0,0,0,.30) 100%);
  --anima-home-hero-about-overlay-soft:linear-gradient(180deg, rgba(10,9,8,.22) 0%, rgba(10,9,8,.32) 48%, rgba(10,9,8,.62) 100%);
  --anima-home-hero-about-overlay-side:linear-gradient(90deg, rgba(0,0,0,.34) 0%, rgba(0,0,0,.08) 50%, rgba(0,0,0,.28) 100%);
  --anima-home-hero-panel-text:#0b0b0f;
  --anima-home-hero-panel-copy:rgba(11,11,15,.72);
  --anima-home-hero-panel-title-shadow:none;
  --anima-home-hero-panel-copy-shadow:none;
  --anima-home-hero-media-text:#fff;
  --anima-home-hero-media-copy:rgba(255,255,255,.9);
  --anima-home-hero-media-title-shadow:0 14px 42px rgba(0,0,0,.32);
  --anima-home-hero-media-copy-shadow:0 4px 18px rgba(0,0,0,.28);
  --anima-home-hero-inline-accent:#67ef9d;
  --anima-home-hero-heading-gap:clamp(14px, 1.8vw, 22px);
  --anima-home-hero-copy-gap:clamp(16px, 2vw, 28px);
  --anima-home-hero-content-width:clamp(680px, 46vw, 820px);
  --anima-home-hero-copy-width:680px;
  --anima-home-hero-title-width:min(820px, 100%);
  --anima-home-hero-title-size:var(--anima-type-hero);
  --anima-home-hero-title-line-height:var(--anima-type-hero-line-height);
  --anima-home-hero-title-letter-spacing:var(--anima-type-hero-letter-spacing);
  --anima-home-hero-title-weight:var(--anima-type-hero-weight);
  --anima-home-hero-copy-size:var(--anima-type-body-lg);
  --anima-home-hero-copy-line-height:var(--anima-type-body-lg-line-height);
  --anima-home-hero-copy-letter-spacing:var(--anima-type-body-letter-spacing);
  --anima-home-hero-copy-weight:var(--anima-type-body-weight);
  --anima-home-hero-video-overlay-padding:var(--anima-hero-content-pad-top) var(--hero-grid-inset) var(--anima-hero-content-pad-bottom);
  --anima-home-hero-mobile-overlay-padding:20px var(--page-padding-x);
  --anima-home-hero-mobile-video-overlay-padding:var(--anima-hero-content-pad-top) var(--page-padding-x) var(--anima-hero-content-pad-bottom);
  --anima-home-hero-mobile-title-size:var(--anima-type-hero);
  --anima-home-hero-mobile-title-line-height:var(--anima-type-heading-line-height);
  --anima-home-hero-mobile-title-margin-bottom:14px;
  --anima-home-hero-mobile-copy-size:var(--anima-type-body-lg);
  --anima-home-hero-mobile-copy-line-height:var(--anima-type-body-lg-line-height);
  --anima-home-legacy-title-size:58px;
  --anima-home-legacy-title-mobile-size:40px;
  --anima-home-legacy-title-line-height:1.03;
  --anima-home-legacy-title-weight:780;
  --anima-home-legacy-title-letter-spacing:-1.2px;
  --anima-home-legacy-title-width:980px;
  --anima-home-legacy-copy-size:18px;
  --anima-home-legacy-copy-line-height:1.45;
  --anima-home-legacy-copy-width:860px;
  --anima-review-card-bg:linear-gradient(145deg, rgba(255,255,255,.62), rgba(255,248,242,.38));
  --anima-review-card-border:rgba(255,255,255,.68);
  --anima-review-card-radius:26px;
  --anima-review-card-shadow:0 24px 64px rgba(58,44,38,.10), inset 0 1px 0 rgba(255,255,255,.72);
  --anima-review-card-backdrop:saturate(150%) blur(14px);
  --anima-review-card-padding:26px;
  --anima-review-card-min-height:500px;
  --anima-review-card-gap:18px;
  --anima-review-card-solid-bg:#f7f2ed;
  --anima-review-card-solid-border:rgba(255,255,255,.52);
  --anima-review-card-solid-shadow:0 10px 24px rgba(61,47,40,.08);
  --anima-review-card-solid-gap:30px;
  --anima-review-card-mobile-min-height:430px;
  --anima-review-card-mobile-padding:22px;
  --anima-review-stars-color:#b28a67;
  --anima-review-stars-size:32px;
  --anima-review-stars-mobile-size:26px;
  --anima-review-stars-line-height:1;
  --anima-review-stars-letter-spacing:.08em;
  --anima-review-text-color:#6d625b;
  --anima-review-text-size:clamp(17px, 1.25vw, 22px);
  --anima-review-text-line-height:1.55;
  --anima-review-text-letter-spacing:-.02em;
  --anima-review-text-weight:420;
  --anima-review-author-avatar-size:64px;
  --anima-review-author-gap:16px;
  --anima-review-avatar-size:54px;
  --anima-review-avatar-bg:#e5ddd5;
  --anima-review-avatar-color:#7a6358;
  --anima-review-avatar-font-size:18px;
  --anima-review-avatar-font-weight:700;
  --anima-review-avatar-letter-spacing:.06em;
  --anima-review-avatar-large-font-size:22px;
  --anima-review-avatar-large-font-weight:720;
  --anima-review-avatar-large-line-height:1;
  --anima-review-avatar-large-letter-spacing:.02em;
  --anima-review-name-color:#3b332e;
  --anima-review-name-size:18px;
  --anima-review-name-weight:700;
  --anima-review-name-line-height:1.2;
  --anima-review-name-large-size:clamp(18px, 1.25vw, 24px);
  --anima-review-name-large-weight:720;
  --anima-review-name-large-line-height:1.16;
  --anima-review-name-large-letter-spacing:-.02em;
  --anima-review-name-margin:0 0 4px;
  --anima-review-meta-color:var(--anima-muted);
  --anima-review-meta-size:14px;
  --anima-review-meta-line-height:1.4;
  --anima-review-meta-margin:4px 0 0;
  --anima-review-date-size:clamp(15px, 1vw, 18px);
  --anima-review-date-line-height:1.25;
  --anima-faq-list-gap:var(--anima-gap-item);
  --anima-faq-item-border:1px solid rgba(255,255,255,.58);
  --anima-faq-item-border-open:rgba(255,255,255,.72);
  --anima-faq-item-radius:28px;
  --anima-faq-item-bg:#f7f2ed;
  --anima-faq-item-bg-open:#f7f2ed;
  --anima-faq-item-shadow:0 10px 24px rgba(61,47,40,.08);
  --anima-faq-item-shadow-open:0 10px 24px rgba(61,47,40,.08);
  --anima-faq-item-transition:border-color .22s ease, box-shadow .22s ease, background-color .22s ease;
  --anima-faq-question-gap:var(--anima-gap-item);
  --anima-faq-question-padding:24px 26px;
  --anima-faq-question-padding-mobile:18px;
  --anima-faq-question-color:#2b2b2b;
  --anima-faq-question-size:var(--anima-type-body);
  --anima-faq-question-line-height:1.48;
  --anima-faq-question-weight:500;
  --anima-faq-marker-size:18px;
  --anima-faq-marker-bar-width:14px;
  --anima-faq-marker-bar-height:2px;
  --anima-faq-marker-color:#6a696c;
  --anima-faq-marker-transition:transform .2s ease, opacity .2s ease;
  --anima-faq-answer-padding:0 26px 26px;
  --anima-faq-answer-padding-mobile:0 18px 18px;
  --anima-faq-answer-color:#625d58;
  --anima-faq-answer-size:clamp(17px, 1.15vw, 20px);
  --anima-faq-answer-line-height:1.62;
  --anima-faq-answer-margin:0;
  --anima-segmented-tabs-width:max-content;
  --anima-segmented-tabs-max-width:100%;
  --anima-segmented-tabs-gap:14px;
  --anima-segmented-tabs-gap-mobile:8px;
  --anima-segmented-tabs-padding:8px 12px;
  --anima-segmented-tabs-padding-mobile:6px;
  --anima-segmented-tabs-border:1px solid rgba(255,255,255,.66);
  --anima-segmented-tabs-radius:30px;
  --anima-segmented-tabs-radius-mobile:24px;
  --anima-segmented-tabs-bg:rgba(255,255,255,.42);
  --anima-segmented-tabs-shadow:0 10px 24px rgba(8,10,14,.10), inset 0 1px 0 rgba(255,255,255,.72);
  --anima-segmented-tab-min-width:clamp(160px, 13vw, 220px);
  --anima-segmented-tab-min-height:48px;
  --anima-segmented-tab-padding:10px 22px;
  --anima-segmented-tab-radius:999px;
  --anima-segmented-tab-size:var(--anima-home-button-font-size);
  --anima-segmented-tab-line-height:1.08;
  --anima-segmented-tab-weight:var(--anima-home-button-font-weight);
  --anima-segmented-tab-letter-spacing:0;
  --anima-segmented-tab-color:rgba(16,16,21,.56);
  --anima-segmented-tab-color-hover:#101015;
  --anima-segmented-tab-color-active:#101015;
  --anima-segmented-tab-indicator-bg:#ffffff;
  --anima-segmented-tab-indicator-shadow:0 10px 24px rgba(8,10,14,.12), inset 0 1px 0 rgba(255,255,255,.82);
  --anima-segmented-tab-transition:color .24s ease, transform .2s ease;
  --anima-stat-value-min-width:0;
  --anima-stat-value-size:clamp(48px, 4.8vw, 72px);
  --anima-stat-value-line-height:.92;
  --anima-stat-value-letter-spacing:-.04em;
  --anima-stat-label-max-width:100%;
  --anima-stat-label-min-height:0;
  --anima-stat-label-size:clamp(15px, 1.15vw, 19px);
  --anima-stat-label-line-height:1.32;
  --anima-feature-list-columns:repeat(2, minmax(0, 1fr));
  --anima-feature-list-gap:var(--anima-gap-layout);
  --anima-feature-list-gap-inline:var(--anima-gap-layout);
  --anima-feature-row-marker-size:54px;
  --anima-feature-row-gap:var(--anima-gap-item);
  --anima-feature-row-padding:0;
  --anima-feature-row-compact-padding:14px 18px;
  --anima-feature-marker-color:#6f6b67;
  --anima-feature-marker-size:clamp(42px, 4.6vw, 68px);
  --anima-feature-marker-line-height:1;
  --anima-feature-marker-weight:650;
  --anima-feature-marker-letter-spacing:-.04em;
  --anima-feature-marker-opacity:.86;
  --anima-feature-marker-icon-size:48px;
  --anima-feature-content-gap:var(--anima-gap-content);
  --anima-text-intro-max:min(100%, 1020px);
  --anima-rail-nav-gap:var(--anima-gap-item);
  --anima-rail-nav-margin-top:18px;
  --anima-rail-nav-button-size:56px;
  --anima-rail-nav-button-bg:rgba(255,255,255,.34);
  --anima-rail-nav-button-bg-hover:rgba(255,255,255,.46);
  --anima-rail-nav-button-color:#5b544d;
  --anima-rail-care-padding-top:28px;
  --anima-rail-care-padding-bottom:54px;
  --anima-rail-reviews-padding-bottom:8px;
  --anima-info-grid-max:min(100%, 1240px);
  --anima-info-grid-columns:repeat(3, minmax(0, 1fr));
  --anima-info-card-width:min(100%, 300px);
  --anima-info-card-gap:var(--anima-gap-item);
  --anima-info-card-media-radius:var(--anima-media-frame-radius);
  --anima-info-card-media-ratio:16 / 10;
  --anima-info-card-text-padding-inline:12px;
  --anima-section-note-max:var(--anima-container-reading-wide);
  --anima-benefit-list-gap:var(--anima-gap-item);
  --anima-benefit-item-marker-size:36px;
  --anima-benefit-item-gap:var(--anima-gap-item);
  --anima-benefit-item-padding:var(--anima-space-sm) 0;
  --anima-benefit-item-border:1px solid var(--anima-line);
  --anima-divider-width:76px;
  --anima-divider-height:1px;
  --anima-divider-bg:var(--anima-line-strong);
  --anima-article-bg:var(--anima-page-bg);
  --anima-article-panel-bg:var(--anima-panel-bg);
  --anima-article-ink:var(--anima-ink);
  --anima-article-muted:var(--anima-muted);
  --anima-article-line:var(--anima-line);
  --anima-article-page-padding-top:var(--headerH, 64px);
  --anima-article-font-family:var(--anima-font-text, var(--appleFontText));
  --anima-article-hero-columns:var(--anima-layout-split-columns);
  --anima-article-hero-columns-mobile:1fr;
  --anima-article-hero-gap:var(--anima-gap-layout);
  --anima-article-hero-gap-mobile:var(--anima-gap-layout);
  --anima-article-hero-padding:var(--anima-gap-section) var(--pageEdgePad, var(--layout-inset));
  --anima-article-hero-padding-top-mobile:var(--anima-gap-section);
  --anima-article-hero-padding-bottom-mobile:var(--anima-gap-section);
  --anima-article-hero-text-width:min(760px, 100%);
  --anima-article-kicker-margin:0 0 var(--anima-gap-content);
  --anima-article-kicker-size:var(--anima-type-small);
  --anima-article-kicker-line-height:1.2;
  --anima-article-kicker-letter-spacing:var(--anima-type-ui-letter-spacing);
  --anima-article-kicker-weight:600;
  --anima-article-title-width:11.5em;
  --anima-article-title-width-mobile:10.5em;
  --anima-article-title-font:var(--anima-font-display, var(--appleFontDisplay));
  --anima-article-title-size:var(--anima-type-hero);
  --anima-article-title-size-mobile:var(--anima-type-hero);
  --anima-article-title-line-height:var(--anima-type-hero-line-height);
  --anima-article-title-letter-spacing:var(--anima-type-hero-letter-spacing);
  --anima-article-title-letter-spacing-mobile:var(--anima-type-hero-letter-spacing);
  --anima-article-title-weight:var(--anima-heading-weight, 600);
  --anima-article-lead-margin:var(--anima-gap-content) 0 0;
  --anima-article-lead-size:var(--anima-type-body-lg);
  --anima-article-lead-size-mobile:var(--anima-type-body-lg);
  --anima-article-lead-line-height:var(--anima-type-body-lg-line-height);
  --anima-article-lead-line-height-mobile:var(--anima-type-body-lg-line-height);
  --anima-article-media-radius:var(--anima-media-frame-radius);
  --anima-article-media-radius-mobile:var(--anima-media-frame-radius-mobile);
  --anima-article-media-bg:var(--anima-media-frame-bg);
  --anima-article-media-shadow:var(--anima-media-frame-shadow);
  --anima-article-hero-media-ratio:var(--anima-media-frame-article-hero-ratio);
  --anima-article-hero-media-ratio-mobile:var(--anima-media-frame-article-hero-ratio-mobile);
  --anima-article-hero-media-min-height:var(--anima-media-frame-article-hero-min-height);
  --anima-article-hero-media-min-height-mobile:var(--anima-media-frame-article-hero-min-height-mobile);
  --anima-article-body-media-width:var(--anima-media-frame-article-body-width);
  --anima-article-body-media-ratio:var(--anima-media-frame-article-body-ratio);
  --anima-article-body-media-margin:var(--anima-media-frame-article-body-margin);
  --anima-article-media-fit:var(--anima-media-frame-fit);
  --anima-article-section-padding:calc(var(--anima-gap-section) / 2) var(--pageEdgePad, var(--layout-inset));
  --anima-article-section-padding-y-mobile:calc(var(--anima-gap-section) / 2);
  --anima-article-reading-width:min(760px, 100%);
  --anima-article-h2-margin:0 0 var(--anima-gap-content);
  --anima-article-h2-font:var(--anima-font-display, var(--appleFontDisplay));
  --anima-article-h2-size:var(--anima-type-section);
  --anima-article-h2-line-height:var(--anima-type-heading-line-height);
  --anima-article-h2-letter-spacing:var(--anima-type-heading-letter-spacing);
  --anima-article-h2-weight:var(--anima-heading-weight, 600);
  --anima-article-h3-margin:var(--anima-gap-content) 0 var(--anima-gap-content);
  --anima-article-h3-font:var(--anima-font-display, var(--appleFontDisplay));
  --anima-article-h3-size:var(--anima-type-h3);
  --anima-article-h3-line-height:var(--anima-type-subheading-line-height);
  --anima-article-h3-letter-spacing:var(--anima-type-subheading-letter-spacing);
  --anima-article-h3-weight:600;
  --anima-article-body-size:var(--anima-type-body);
  --anima-article-body-line-height:var(--anima-type-body-line-height);
  --anima-article-body-letter-spacing:var(--anima-body-tracking, -.011em);
  --anima-article-paragraph-gap:var(--anima-gap-content);
  --anima-article-list-margin:var(--anima-gap-content) 0 0;
  --anima-article-list-padding-left:1.15em;
  --anima-article-list-item-gap:var(--anima-gap-item);
  --anima-article-faq-padding:calc(var(--anima-gap-section) / 2) var(--pageEdgePad, var(--layout-inset));
  --anima-article-faq-width:min(980px, 100%);
  --anima-article-faq-title-margin:0 0 var(--anima-gap-content);
  --anima-article-faq-list-gap:var(--anima-gap-item);
  --anima-article-faq-item-padding:var(--anima-card-padding);
  --anima-article-faq-item-radius:var(--anima-radius-md);
  --anima-article-faq-item-bg:rgba(255,255,255,.34);
  --anima-article-faq-question-size:var(--anima-type-h3);
  --anima-article-faq-question-line-height:var(--anima-type-subheading-line-height);
  --anima-article-faq-question-letter-spacing:var(--anima-type-subheading-letter-spacing);
  --anima-article-faq-question-weight:600;
  --anima-article-faq-answer-margin:var(--anima-gap-content) 0 0;
  --anima-article-faq-answer-size:var(--anima-type-body);
  --anima-article-faq-answer-line-height:var(--anima-type-body-line-height);
  --articleBg:var(--anima-article-bg);
  --articlePanel:var(--anima-article-panel-bg);
  --articleInk:var(--anima-article-ink);
  --articleMuted:var(--anima-article-muted);
  --articleLine:var(--anima-article-line);
  --bg:var(--anima-bg);
  --bg-soft:var(--anima-bg-soft);
  --ink:var(--anima-ink);
  --muted:var(--anima-muted);
}

@supports (width:100dvw){
  :root{
    --viewportW:100dvw;
    --viewportHalf:50dvw;
  }
}

*{box-sizing:border-box}

html,
body{
  margin:0;
  padding:0;
  color:var(--anima-ink);
  font-family:var(--anima-font-family);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  scroll-behavior:smooth;
  overflow-x:clip;
}

body{overflow-x:hidden}
a{color:inherit}
img{display:block;max-width:100%}
.page{min-height:100svh}

.animaPage{
  min-height:100svh;
  background:var(--anima-page-bg);
  color:var(--anima-ink);
  font-family:var(--anima-font-family);
}

.animaFullBleed{
  width:100vw;
  max-width:100vw;
  min-width:0;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  box-sizing:border-box;
}

.animaFullBleed > *{
  min-width:0;
}

.animaSurfaceWarm,
.animaSurfaceLight{
  background:var(--anima-surface-warm);
}

.animaSurfaceTaupe{
  background:var(--anima-surface-taupe);
}

.animaSurfaceTaupeSoft{
  background:var(--anima-surface-taupe-soft);
}

.animaSurfaceTaupeMuted{
  background:var(--anima-surface-taupe-muted);
}

.animaSurfaceMedia{
  background:var(--anima-surface-media);
}

.animaSurfaceDark,
.animaSurfaceTextLight{
  --anima-content-ink:var(--anima-home-hero-media-text);
  --anima-content-muted:var(--anima-home-hero-media-copy);
  --anima-rail-nav-button-color:var(--anima-home-hero-media-text);
}

.animaSurfaceDark{
  background:var(--anima-surface-dark);
}

.animaTextContainer{
  max-width:var(--anima-container-reading);
}

.animaHeading{
  margin:0;
  min-width:0;
  overflow-wrap:anywhere;
  color:var(--anima-content-ink, var(--anima-ink));
  font-family:var(--anima-font-family);
  font-size:var(--anima-type-section);
  line-height:var(--anima-type-heading-line-height);
  letter-spacing:var(--anima-type-heading-letter-spacing);
  font-weight:var(--anima-type-heading-weight);
  text-wrap:balance;
}

.animaSubheading{
  margin:0;
  color:var(--anima-content-ink, var(--anima-ink));
  text-wrap:balance;
}

.animaSubheading,
.animaFeatureIndex.animaFeatureIndex--subheading,
.animaBenefitList--subheadingMarkers .animaBenefitItem::before{
  font-family:var(--anima-font-family);
  font-size:var(--anima-type-h3);
  line-height:var(--anima-type-subheading-line-height);
  letter-spacing:var(--anima-type-subheading-letter-spacing);
  font-weight:var(--anima-type-subheading-weight);
}

.animaBody{
  max-width:var(--anima-container-reading);
  margin:var(--anima-space-md) 0 0;
  color:var(--anima-content-muted, var(--anima-muted));
  font-size:var(--anima-type-body);
  line-height:var(--anima-type-body-line-height);
  letter-spacing:var(--anima-type-body-letter-spacing);
  font-weight:var(--anima-type-body-weight);
}

.animaText{
  max-width:var(--anima-container-reading);
  margin:0;
  color:var(--anima-content-muted, var(--anima-muted));
  font-size:var(--anima-type-body-lg);
  line-height:var(--anima-type-body-lg-line-height);
  letter-spacing:var(--anima-type-body-letter-spacing);
  font-weight:var(--anima-type-body-weight);
}

.animaHeading--story{
  font-size:var(--anima-type-story-section);
}

.animaText--story{
  font-size:var(--anima-type-story-body);
}

/* Native public form controls share the existing UI and action tokens. */
.animaField{
  display:grid;
  gap:var(--anima-space-sm);
  min-width:0;
}

.animaPlannerViewport{
  width:100%;
  min-width:0;
}

.animaPlannerViewport > iframe{
  display:block;
  width:100%;
  height:100dvh;
  border:0;
}

@media (max-width:920px), (hover:none) and (pointer:coarse){
  @supports (height:100svh){
    :root{
      --anima-hero-viewport-height:100svh;
    }
  }
}

.animaFieldLabel,
.animaSelect{
  font-family:var(--anima-font-family);
  font-size:var(--anima-type-button);
  line-height:var(--anima-type-ui-line-height);
  letter-spacing:var(--anima-type-ui-letter-spacing);
  font-weight:var(--anima-type-ui-weight);
}

.animaFieldLabel{
  color:var(--anima-content-ink, var(--anima-ink));
}

.animaSelect{
  width:100%;
  min-width:0;
  min-height:var(--anima-button-min-height);
  padding:var(--anima-button-padding-block) var(--anima-button-padding-x);
  border:1px solid var(--anima-line-strong);
  border-radius:var(--anima-button-radius);
  background:var(--anima-surface-card-soft);
  color:var(--anima-ink);
}

.animaSelect:focus-visible{
  outline:2px solid var(--anima-ink);
  outline-offset:var(--anima-space-2xs);
}

.animaButton{
  width:fit-content;
  min-height:var(--anima-button-min-height);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:var(--anima-space-xl);
  padding:var(--anima-button-padding-block) var(--anima-button-padding-x);
  border-radius:var(--anima-button-radius);
  border:1px solid var(--anima-button-secondary-border);
  background:var(--anima-button-secondary-bg);
  color:var(--anima-button-secondary-text);
  text-decoration:none;
  font-family:var(--anima-font-family);
  font-size:var(--anima-type-button);
  line-height:var(--anima-type-ui-line-height);
  letter-spacing:var(--anima-type-ui-letter-spacing);
  font-weight:var(--anima-cta-button-font-weight);
}

.animaButton--primary{
  border-color:var(--anima-button-primary-border);
  background:var(--anima-button-primary-bg);
  color:var(--anima-button-primary-text);
}

/* Inline navigation action: shared UI role without a filled button surface. */
.animaTextLink{
  min-height:var(--anima-cta-button-min-height);
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  color:var(--anima-content-ink, var(--anima-ink));
  text-decoration:underline;
  text-underline-offset:.2em;
  font-size:var(--anima-type-button);
  line-height:var(--anima-type-ui-line-height);
  letter-spacing:var(--anima-type-ui-letter-spacing);
  font-weight:var(--anima-type-ui-weight);
}

.animaCard{
  padding:var(--anima-card-padding);
  border:var(--anima-card-border);
  border-radius:var(--anima-card-radius);
  background:var(--anima-card-bg);
  box-shadow:var(--anima-card-shadow);
}

.animaCard--roomy{
  --anima-card-padding:var(--anima-space-2xl) var(--anima-space-xl);
  --anima-card-padding-mobile:var(--anima-space-xl) var(--anima-space-lg);
}

.animaCard--soft{
  --anima-content-ink:var(--anima-ink);
  --anima-content-muted:var(--anima-muted);
  background:var(--anima-card-soft-bg);
}

.animaCard--solid{
  --anima-content-ink:var(--anima-ink);
  --anima-content-muted:var(--anima-muted);
  border:var(--anima-card-solid-border);
  background:var(--anima-card-solid-bg);
  box-shadow:var(--anima-card-solid-shadow);
}

.animaCard--glass{
  border:var(--anima-glass-card-border);
  background:var(--anima-glass-card-bg);
  box-shadow:var(--anima-glass-card-shadow);
  backdrop-filter:var(--anima-glass-card-backdrop);
  -webkit-backdrop-filter:var(--anima-glass-card-backdrop);
}

.animaCard--glass .animaSubheading{
  color:var(--anima-home-hero-media-text);
}

.animaCard--glass .animaText{
  color:var(--anima-home-hero-media-copy);
}

.animaCard--stacked{
  display:grid;
  align-content:start;
  gap:var(--anima-gap-content);
}

.animaCard--centered{
  display:grid;
  place-items:center;
  text-align:center;
}

.animaCardActions{
  display:flex;
  flex-wrap:wrap;
  gap:var(--anima-gap-item);
  margin-top:auto;
  padding-top:var(--anima-gap-content);
}

.animaCardActions > :is(a, button){
  flex:1 1 var(--anima-home-button-min-width);
  max-width:100%;
}

.animaGlassCard{
  padding:var(--anima-card-padding);
  border:var(--anima-glass-card-border);
  border-radius:var(--anima-card-radius);
  background:var(--anima-glass-card-bg);
  box-shadow:var(--anima-glass-card-shadow);
  backdrop-filter:var(--anima-glass-card-backdrop);
  -webkit-backdrop-filter:var(--anima-glass-card-backdrop);
}

.animaMedia{
  display:block;
  overflow:hidden;
  border-radius:var(--anima-media-frame-radius);
  background:var(--anima-media-frame-bg);
}

.animaMedia img,
.animaMedia video{
  width:100%;
  height:100%;
  object-fit:var(--anima-media-frame-fit);
}

.animaTextSection,
.animaSplitSection,
.animaCardGridSection,
.animaMediaSection,
.animaFaqSection,
.animaCtaSection{
  padding:var(--anima-rhythm-section) var(--anima-container-page-edge-pad);
}

.animaTextSection > .animaContainer,
.animaFaqSection > .animaContainer,
.animaCtaSection > .animaContainer{
  display:grid;
  justify-items:center;
  gap:var(--anima-gap-content);
  text-align:center;
}

.animaTextSection .animaTextContainer,
.animaFaqSection .animaTextContainer,
.animaCtaSection .animaTextContainer{
  max-width:var(--anima-layout-text-max);
  margin-inline:auto;
}

.animaTextSection .animaHeading,
.animaFaqSection .animaHeading,
.animaCtaSection .animaHeading{
  max-width:var(--anima-layout-heading-max);
  margin-inline:auto;
}

.animaSplitText{
  display:grid;
  align-content:center;
  gap:var(--anima-gap-content);
  max-width:var(--anima-layout-text-max);
}

.animaSplitMedia{
  width:100%;
  max-width:var(--anima-container-media);
  margin:0;
}

.animaCardGrid{
  width:100%;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--anima-layout-card-grid-min)), 1fr));
  gap:var(--anima-layout-card-grid-gap);
  align-items:stretch;
}

.animaMediaSection > .animaContainer{
  display:grid;
  justify-items:center;
  gap:var(--anima-gap-content);
}

.animaMediaSection .animaMedia{
  width:100%;
  max-width:var(--anima-layout-media-max);
}

.animaFaqList{
  margin:0 auto;
  padding:0;
  list-style:none;
  width:100%;
  max-width:var(--anima-layout-faq-max);
  display:grid;
  gap:var(--anima-faq-list-gap);
}

.animaFaqItem,
.animaFaqRuntime .faqStaticItem{
  border:var(--anima-faq-item-border);
  border-radius:var(--anima-faq-item-radius);
  background:var(--anima-faq-item-bg);
  box-shadow:var(--anima-faq-item-shadow);
  overflow:hidden;
  transition:var(--anima-faq-item-transition);
}

.animaFaqItem[open],
.animaFaqRuntime .faqStaticItem[open]{
  border-color:var(--anima-faq-item-border-open);
  background:var(--anima-faq-item-bg-open);
  box-shadow:var(--anima-faq-item-shadow-open);
}

.animaFaqQuestion,
.animaFaqRuntime .faqQuestionBtn{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--anima-faq-question-gap);
  padding:var(--anima-faq-question-padding);
  color:var(--anima-faq-question-color);
  font-size:var(--anima-faq-question-size);
  line-height:var(--anima-faq-question-line-height);
  font-weight:var(--anima-faq-question-weight);
  text-align:start;
}

.animaFaqQuestion::-webkit-details-marker,
.animaFaqRuntime .faqQuestionBtn::-webkit-details-marker{
  display:none;
}

.animaFaqMarker,
.animaFaqRuntime .faqArrow{
  width:var(--anima-faq-marker-size);
  height:var(--anima-faq-marker-size);
  flex:0 0 var(--anima-faq-marker-size);
  position:relative;
}

.animaFaqMarker::before,
.animaFaqMarker::after,
.animaFaqRuntime .faqArrow::before,
.animaFaqRuntime .faqArrow::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:var(--anima-faq-marker-bar-width);
  height:var(--anima-faq-marker-bar-height);
  background:var(--anima-faq-marker-color);
  transform:translate(-50%, -50%);
  transition:var(--anima-faq-marker-transition);
}

.animaFaqMarker::after,
.animaFaqRuntime .faqArrow::after{
  transform:translate(-50%, -50%) rotate(90deg);
}

.animaFaqItem[open] .animaFaqMarker::after,
.animaFaqRuntime .faqStaticItem[open] .faqArrow::after{
  opacity:0;
}

.animaFaqAnswer,
.animaFaqRuntime .faqInlineAnswer{
  padding:var(--anima-faq-answer-padding);
  color:var(--anima-faq-answer-color);
  font-size:var(--anima-faq-answer-size);
  line-height:var(--anima-faq-answer-line-height);
  text-wrap:pretty;
  text-align:start;
}

/* Native details owns visibility; legacy class-driven FAQ hiding must not leak in. */
.animaFaqRuntime .faqInlineAnswer{
  max-height:none;
  opacity:1;
}

.animaFaqRuntime .faqInlineText{
  font:inherit;
  letter-spacing:inherit;
  opacity:1;
}

.animaFaqAnswer p,
.animaFaqRuntime .faqInlineAnswer p{
  margin:var(--anima-faq-answer-margin);
}

.animaFaqRuntime .faqArrow{
  font-size:0;
  order:1;
}

.animaHero{
  position:relative;
  width:100vw;
  max-width:none;
  margin-inline:calc(50% - 50vw);
  min-height:var(--anima-hero-viewport-height);
  padding:0;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:center;
}

.animaHeroMedia{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

.animaHero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:var(--anima-home-hero-fresh-video-overlay-soft), var(--anima-home-hero-fresh-video-overlay-side);
  pointer-events:none;
}

.animaHeroContent{
  box-sizing:border-box;
  position:relative;
  z-index:2;
  width:100%;
  min-height:var(--anima-hero-viewport-height);
  margin:0 auto;
  padding:var(--anima-hero-content-pad-top) var(--anima-container-page-edge-pad) var(--anima-hero-content-pad-bottom);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  gap:var(--anima-gap-content);
  text-align:center;
}

.animaHeroContent > *{
  margin:0;
}

.animaHeroActions{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:var(--anima-gap-item);
}

/* Media CTA variant preserves the established translucent/solid hero surfaces. */
.animaCtaButton--media{
  --anima-cta-button-border:var(--anima-home-hero-media-button-border);
  --anima-cta-button-bg:var(--anima-home-hero-media-button-bg);
  --anima-cta-button-text:var(--anima-home-hero-media-button-text);
  --anima-cta-button-bg-hover:var(--anima-home-hero-media-button-bg-hover);
  --anima-cta-button-hover-text:var(--anima-home-hero-media-button-text);
  --anima-cta-button-hover-border:var(--anima-home-hero-media-button-border);
  --anima-cta-button-backdrop:var(--anima-home-hero-media-button-backdrop);
}

.animaCtaButton--media.primary{
  --anima-cta-button-bg:var(--anima-home-hero-media-button-primary-bg);
  --anima-cta-button-text:var(--anima-home-hero-media-button-primary-text);
  --anima-cta-button-border:var(--anima-home-hero-media-button-primary-border);
  --anima-cta-button-bg-hover:var(--anima-home-hero-media-button-primary-bg);
  --anima-cta-button-hover-text:var(--anima-home-hero-media-button-primary-text);
  --anima-cta-button-hover-border:var(--anima-home-hero-media-button-primary-border);
}

@media (hover:none), (pointer:coarse){
  .animaCtaButton--media{
    --anima-cta-button-bg:var(--anima-home-hero-media-button-coarse-bg);
    --anima-cta-button-border:var(--anima-home-hero-media-button-coarse-border);
    --anima-cta-button-shadow:var(--anima-home-hero-media-button-coarse-shadow);
    --anima-cta-button-backdrop:none;
  }

  .animaCtaButton--media.primary{
    --anima-cta-button-bg:var(--anima-home-hero-media-button-primary-coarse-bg);
    --anima-cta-button-border:var(--anima-home-hero-media-button-primary-coarse-border);
    --anima-cta-button-shadow:var(--anima-home-hero-media-button-primary-coarse-shadow);
  }
}

.animaHeroHeading{
  max-width:var(--anima-home-hero-title-width);
  color:var(--anima-home-hero-media-text);
  font-size:var(--anima-home-hero-title-size);
  line-height:var(--anima-home-hero-title-line-height);
  letter-spacing:var(--anima-home-hero-title-letter-spacing);
  font-weight:var(--anima-home-hero-title-weight);
  text-wrap:balance;
}

.animaHeroSubtitle{
  width:100%;
  max-width:100%;
  color:var(--anima-home-hero-media-copy);
  font-size:var(--anima-home-hero-copy-size);
  line-height:var(--anima-home-hero-copy-line-height);
  letter-spacing:var(--anima-home-hero-copy-letter-spacing);
  font-weight:var(--anima-home-hero-copy-weight);
  text-wrap:balance;
}

@media (max-width:767px){
  .animaHeroHeading{
    font-size:var(--anima-home-hero-mobile-title-size);
    line-height:var(--anima-home-hero-mobile-title-line-height);
  }

  .animaHeroSubtitle{
    font-size:var(--anima-home-hero-mobile-copy-size);
    line-height:var(--anima-home-hero-mobile-copy-line-height);
  }
}

/* Shared long-form template; content and locale remain owned by the template runtime. */
.articlePage{
  background:var(--anima-article-bg);
  color:var(--anima-article-ink);
  padding-top:var(--anima-article-page-padding-top);
  font-family:var(--anima-article-font-family);
}

.articleHero{
  width:100%;
  display:grid;
  grid-template-columns:var(--anima-article-hero-columns);
  gap:var(--anima-article-hero-gap);
  align-items:center;
  padding:var(--anima-article-hero-padding);
}

.articleHeroText{
  max-width:var(--anima-article-hero-text-width);
}

.articleKicker{
  margin:var(--anima-article-kicker-margin);
  color:var(--anima-article-muted);
  font-size:var(--anima-article-kicker-size);
  line-height:var(--anima-article-kicker-line-height);
  letter-spacing:var(--anima-article-kicker-letter-spacing);
  text-transform:uppercase;
  font-weight:var(--anima-article-kicker-weight);
}

.articleHero h1{
  margin:0;
  max-width:var(--anima-article-title-width);
  color:var(--anima-article-ink);
  font-family:var(--anima-article-title-font);
  font-size:var(--anima-article-title-size);
  line-height:var(--anima-article-title-line-height);
  letter-spacing:var(--anima-article-title-letter-spacing);
  font-weight:var(--anima-article-title-weight);
  text-wrap:balance;
}

.articleLead{
  margin:var(--anima-article-lead-margin);
  width:100%;
  max-width:100%;
  color:var(--anima-article-muted);
  font-size:var(--anima-article-lead-size);
  line-height:var(--anima-article-lead-line-height);
  letter-spacing:var(--anima-type-body-letter-spacing);
  font-weight:var(--anima-type-body-weight);
  text-wrap:pretty;
}

.articleHeroMedia,
.ratgeberMedia{
  display:block;
  overflow:hidden;
  border-radius:var(--anima-article-media-radius);
  background:var(--anima-article-media-bg);
  box-shadow:var(--anima-article-media-shadow);
}

.articleHeroMedia{
  aspect-ratio:var(--anima-article-hero-media-ratio);
  min-height:var(--anima-article-hero-media-min-height);
}

.articleHeroMedia img,
.ratgeberMedia img{
  width:100%;
  height:100%;
  object-fit:var(--anima-article-media-fit);
}

.articleSection{
  padding:var(--anima-article-section-padding);
}

.articleSection.is-muted{
  background:var(--anima-article-panel-bg);
}

.articleSectionText{
  width:var(--anima-article-reading-width);
  margin:0 auto;
}

.articleSectionText h2{
  margin:var(--anima-article-h2-margin);
  color:var(--anima-article-ink);
  font-family:var(--anima-article-h2-font);
  font-size:var(--anima-article-h2-size);
  line-height:var(--anima-article-h2-line-height);
  letter-spacing:var(--anima-article-h2-letter-spacing);
  font-weight:var(--anima-article-h2-weight);
  text-wrap:balance;
}

.articleSectionText h3{
  margin:var(--anima-article-h3-margin);
  color:var(--anima-article-ink);
  font-family:var(--anima-article-h3-font);
  font-size:var(--anima-article-h3-size);
  line-height:var(--anima-article-h3-line-height);
  letter-spacing:var(--anima-article-h3-letter-spacing);
  font-weight:var(--anima-article-h3-weight);
  text-wrap:balance;
}

.articleSectionText p,
.articleList{
  color:var(--anima-article-muted);
  font-size:var(--anima-article-body-size);
  line-height:var(--anima-article-body-line-height);
  letter-spacing:var(--anima-article-body-letter-spacing);
  font-weight:var(--anima-type-body-weight);
}

.articleSectionText p{
  margin:0;
}

.articleSectionText p + p{
  margin-top:var(--anima-article-paragraph-gap);
}

.ratgeberMedia{
  width:var(--anima-article-body-media-width);
  aspect-ratio:var(--anima-article-body-media-ratio);
  margin:var(--anima-article-body-media-margin);
}

.articleList{
  margin:var(--anima-article-list-margin);
  padding-left:var(--anima-article-list-padding-left);
}

.articleList li + li{
  margin-top:var(--anima-article-list-item-gap);
}

.articleFaq{
  padding:var(--anima-article-faq-padding);
  background:var(--anima-article-bg);
}

.articleFaqInner{
  width:var(--anima-article-faq-width);
  margin:0 auto;
}

.articleFaq h2{
  margin:var(--anima-article-faq-title-margin);
  color:var(--anima-article-ink);
  font-family:var(--anima-article-h2-font);
  font-size:var(--anima-article-h2-size);
  line-height:var(--anima-article-h2-line-height);
  letter-spacing:var(--anima-article-h2-letter-spacing);
  font-weight:var(--anima-article-h2-weight);
}

.articleFaqList{
  display:grid;
  gap:var(--anima-article-faq-list-gap);
}

.articleFaqItem{
  padding:var(--anima-article-faq-item-padding);
  border:1px solid var(--anima-article-line);
  border-radius:var(--anima-article-faq-item-radius);
  background:var(--anima-article-faq-item-bg);
}

.articleFaqItem h3{
  margin:0;
  color:var(--anima-article-ink);
  font-size:var(--anima-article-faq-question-size);
  line-height:var(--anima-article-faq-question-line-height);
  letter-spacing:var(--anima-article-faq-question-letter-spacing);
  font-weight:var(--anima-article-faq-question-weight);
}

.articleFaqItem p{
  margin:var(--anima-article-faq-answer-margin);
  color:var(--anima-article-muted);
  font-size:var(--anima-article-faq-answer-size);
  line-height:var(--anima-article-faq-answer-line-height);
  letter-spacing:var(--anima-article-body-letter-spacing);
}

@media (max-width:1100px){
  .articleHero{
    grid-template-columns:var(--anima-article-hero-columns-mobile);
    gap:var(--anima-article-hero-gap-mobile);
    padding-top:var(--anima-article-hero-padding-top-mobile);
    padding-bottom:var(--anima-article-hero-padding-bottom-mobile);
  }

  .articleHero h1{
    max-width:var(--anima-article-title-width-mobile);
    font-size:var(--anima-article-title-size-mobile);
    letter-spacing:var(--anima-article-title-letter-spacing-mobile);
  }

  .articleLead{
    font-size:var(--anima-article-lead-size-mobile);
    line-height:var(--anima-article-lead-line-height-mobile);
  }

  .articleHeroMedia{
    min-height:var(--anima-article-hero-media-min-height-mobile);
    aspect-ratio:var(--anima-article-hero-media-ratio-mobile);
    border-radius:var(--anima-article-media-radius-mobile);
  }

  .articleSection,
  .articleFaq{
    padding-top:var(--anima-article-section-padding-y-mobile);
    padding-bottom:var(--anima-article-section-padding-y-mobile);
  }

  .ratgeberMedia{
    border-radius:var(--anima-article-media-radius-mobile);
  }
}

.animaSection{
  box-sizing:border-box;
  padding:var(--anima-rhythm-section) var(--anima-container-page-edge-pad);
}

/* Public flow edges add up to one section gap; legacy island edges stay intact. */
.animaSection.animaSection--flow{
  padding-top:calc(var(--anima-gap-section) / 2);
  padding-bottom:calc(var(--anima-gap-section) / 2);
}

.animaSection--compact{
  padding-top:var(--anima-rhythm-section-compact);
  padding-bottom:var(--anima-rhythm-section-compact);
}

.animaSection--tight{
  padding-top:var(--anima-rhythm-section-tight);
  padding-bottom:var(--anima-rhythm-section-tight);
}

.animaSection.animaSection--heroAdjacent{
  padding-top:calc(var(--headerH, 64px) + var(--anima-section-frame-hero-adjacent-padding-y));
}

.animaSection--muted{
  background:var(--anima-surface-warm);
}

.animaContainer{
  width:100%;
  max-width:var(--anima-layout-max);
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
}

.animaTextFlow{
  display:grid;
  justify-items:center;
  gap:var(--anima-gap-content);
  text-align:center;
}

.animaSectionFlow{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  justify-items:center;
  gap:0;
  text-align:center;
}

.animaContainer.animaSectionFlow{
  gap:0;
}

.animaSectionHeader{
  grid-column:1 / -1;
  min-width:0;
  width:100%;
  max-width:var(--anima-layout-heading-max);
  margin-left:auto;
  margin-right:auto;
  display:grid;
  justify-items:center;
  gap:var(--anima-gap-content);
  text-align:center;
}

.animaSectionHeader--wide{
  max-width:var(--anima-layout-split-max);
}

.animaSectionHeader > *{
  margin-top:0;
  margin-bottom:0;
}

.animaSectionLead{
  grid-column:1 / -1;
  width:100%;
  max-width:var(--anima-layout-body-max);
  margin:var(--anima-gap-content) auto 0;
}

.animaSectionHeader + .animaSectionLead,
.animaSectionHeader + .animaSectionContent{
  margin-top:var(--anima-gap-content);
}

.animaSectionLead + .animaSectionContent{
  margin-top:var(--anima-gap-content);
}

.animaSectionContent + .animaSectionLead{
  margin-top:var(--anima-gap-content);
}

.animaSectionContent + .animaSectionContent{
  margin-top:var(--anima-gap-content);
}

.animaSectionContent{
  grid-column:1 / -1;
  min-width:0;
  width:100%;
  max-width:var(--anima-layout-content-max);
  margin-top:0;
  margin-bottom:0;
  margin-left:auto;
  margin-right:auto;
}

.animaSectionContent--wide{
  max-width:none;
}

.animaFullBleed.animaSectionContent{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}

.animaTextMeasure{
  width:100%;
  max-width:var(--anima-layout-text-max);
}

.animaTextMeasure--wide{
  max-width:var(--anima-layout-text-wide-max);
}

.animaStack{
  display:grid;
  gap:var(--anima-gap-content);
}

.animaStack--content{
  gap:var(--anima-gap-content);
}

.animaStack--start{
  justify-items:start;
  text-align:left;
}

.animaStack > :is(h2, h3, h4, p){
  margin:0;
}

.animaNote{
  display:block;
}

.animaBulletList{
  display:grid;
  gap:var(--anima-gap-item);
  width:100%;
  margin:0;
  padding-left:var(--anima-gap-item);
  color:var(--anima-content-muted, var(--anima-muted));
  font-size:var(--anima-type-body-lg);
  line-height:var(--anima-type-body-lg-line-height);
  font-weight:var(--anima-type-body-weight);
  letter-spacing:var(--anima-type-body-letter-spacing);
  text-align:left;
  list-style:disc;
}

.animaMediaFrame picture{
  display:block;
  width:100%;
  height:100%;
}

.animaRule{
  width:var(--anima-space-2xl);
  height:1px;
  margin:0 auto;
  border:0;
  background:var(--anima-line);
}

/* Historical d107bb9 editorial composition: flush media, inset copy.
   These opt-in patterns preserve that composition without changing standard splits. */
.animaEditorialContainer{
  width:min(100%, var(--pageShellMax, 100%));
  margin:0 auto;
  padding:0 var(--pageEdgePad, var(--anima-layout-padding-x));
}

.animaEditorialFlow{
  padding:0 0 clamp(44px, 5vw, 70px);
}

.animaEditorialContinuation{padding:0 0 clamp(44px, 6vw, 86px)}
.animaHeading--editorial{--anima-type-heading-line-height:.96;--anima-type-heading-letter-spacing:0;text-wrap:wrap}

/* Historical editorial roles are scoped; the approved global roles are unchanged. */
.animaEditorialType{
  --anima-content-ink:#2B2B2B;
  --anima-content-muted:#5F5954;
  --anima-type-heading-line-height:.96;
  --anima-type-h3:23px;
  --anima-type-subheading-line-height:1.14;
  --anima-type-heading-letter-spacing:0;
  --anima-type-subheading-letter-spacing:0;
  --anima-type-body-letter-spacing:0;
  --anima-type-body-line-height:1.48;
}

.animaEditorialType.animaSurfaceTextLight,
.animaSurfaceTextLight .animaEditorialType{
  --anima-content-ink:var(--anima-home-hero-media-text);
  --anima-content-muted:var(--anima-home-hero-media-copy);
}

.animaEditorialType .animaHeading{text-wrap:wrap}

.animaEditorialSection{min-width:0;padding:clamp(34px, 4vw, 56px) 0}

.animaCtaButton.animaCtaButton--editorialHeader{
  --anima-cta-button-font-size:var(--anima-type-button);
  --anima-cta-button-line-height:1.2;
  --anima-cta-button-font-weight:var(--anima-home-button-font-weight);
  --anima-cta-button-letter-spacing:0;
  --anima-cta-button-min-height:var(--anima-button-min-height);
  --anima-cta-button-min-width:0px;
  --anima-cta-button-padding-block:var(--anima-button-padding-block);
  --anima-cta-button-padding-inline:var(--anima-button-padding-x);
  --anima-cta-button-border:rgba(255,255,255,.82);
  --anima-cta-button-text:#2B2B2B;
  --anima-cta-button-hover-text:#2B2B2B;
  --anima-cta-button-bg-hover:#f7f3ef;
  --anima-cta-button-shadow:none;
  max-width:100%;
}

.animaEditorialStack{
  display:grid;
  gap:18px;
}

.animaEditorialSplit{
  width:100%;
  max-width:100%;
  margin:0;
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:0;
  align-items:start;
  padding:0;
  background:transparent;
}

.animaEditorialSplit > *{min-width:0}

.animaEditorialText{
  width:100%;
  max-width:none;
  padding:clamp(72px, 7vw, 118px) clamp(30px, 4vw, 64px) clamp(36px, 4vw, 64px) 0;
  overflow-wrap:break-word;
}

.animaEditorialText > h2{
  margin:0 0 clamp(28px, 3vw, 42px);
}

.animaEditorialText > p{
  max-width:none;
  margin:0 0 24px;
}

.animaEditorialText > p:last-child{margin-bottom:0}

.animaEditorialSplit--intro > .animaEditorialText{
  padding-bottom:clamp(54px, 5vw, 78px);
}

.animaEditorialSplit--intro h2{max-width:12ch}
.animaEditorialSplit--intro p{max-width:72ch}

.animaEditorialSplit--imageText{
  margin-top:-18px;
  min-height:clamp(340px, 27vw, 460px);
}

.animaEditorialSplit--imageText > .animaEditorialText{
  padding-left:clamp(30px, 4vw, 64px);
  padding-right:0;
}

.animaEditorialSplit--imageText > .animaEditorialText > p{
  font-size:15px;
  line-height:1.78;
}

.animaEditorialMedia{
  width:100%;
  min-height:0;
  height:auto;
  aspect-ratio:1;
  overflow:hidden;
  border-radius:0;
  background:transparent;
  align-self:stretch;
}

.animaEditorialMedia > img{
  display:block;
  width:100%;
  height:auto;
  min-height:0;
  object-fit:cover;
}

.animaEditorialMedia--square{aspect-ratio:1}
.animaEditorialMedia--square > img{height:100%;aspect-ratio:1}

.animaValueStrip{
  width:100%;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  column-gap:clamp(36px, 5vw, 82px);
  row-gap:0;
  align-items:start;
  background:transparent;
}

.animaValueStrip > .animaSectionHeader{
  grid-column:1 / -1;
  margin:0 auto;
  padding:clamp(34px, 4vw, 56px) 0 clamp(18px, 2vw, 26px);
}

.animaValueItem{
  display:grid;
  justify-items:start;
  align-content:start;
  gap:22px;
  min-height:300px;
  padding:30px 0 36px;
  text-align:left;
  overflow-wrap:break-word;
}

.animaValueItem > h3{
  margin:0;
  max-width:310px;
  min-height:3.25em;
  text-transform:uppercase;
}

.animaValueItem > p{margin:0;max-width:310px}

/* Tall service cards have one outer frame and edge-to-edge media. */
.animaMediaCardGrid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:clamp(18px, 2vw, 28px);
}

.animaMediaCard{
  min-width:0;
  min-height:620px;
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(49,45,42,.10);
  background:rgba(255,255,255,.56);
  box-shadow:none;
  display:flex;
  flex-direction:column;
}

.animaMediaCardMedia{
  position:relative;
  height:clamp(250px, 22vw, 340px);
  flex:0 0 auto;
  overflow:hidden;
  border-radius:0;
  background:#eadfd7;
}

.animaMediaCardMedia > :is(img, video){
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.animaMediaCardBody{
  position:relative;
  display:flex;
  flex:1;
  flex-direction:column;
  padding:38px 30px 30px;
}

.animaMediaCardBody > h3{margin:0 0 18px}
.animaMediaCardBody > p{margin:0;min-height:96px}

.animaMediaCardBody > .animaCardActions{gap:10px;flex-wrap:nowrap;padding-top:32px}
.animaMediaCardBody > .animaCardActions > a{flex:0 1 150px;min-width:0;width:150px;margin-inline:0}

.animaCtaButton.animaCtaButton--editorial{
  --anima-cta-button-min-width:150px;
  --anima-cta-button-font-weight:var(--anima-home-button-font-weight);
  --anima-cta-button-font-size:var(--anima-type-button);
  --anima-cta-button-line-height:1.2;
  --anima-cta-button-letter-spacing:0;
  --anima-cta-button-text:#2B2B2B;
  --anima-cta-button-hover-text:#2B2B2B;
  --anima-cta-button-border:rgba(255,255,255,.82);
  --anima-cta-button-bg-hover:#f7f3ef;
  --anima-cta-button-shadow:none;
}

/* Historical media height and section edges both contribute to the video band. */
.animaCtaBand--videoEditorial{
  min-height:clamp(300px, 40vw, 520px);
  padding:clamp(34px, 4vw, 56px) 0;
  align-items:center;
  color:#fff;
}

.animaCtaBand.animaCtaBand--videoEditorial > .animaVideoCtaContent{
  position:relative;
  z-index:1;
  width:100%;
  margin:0 auto;
  padding:clamp(28px, 4vw, 58px) clamp(24px, 5vw, 72px);
  display:grid;
  justify-items:center;
  gap:22px;
  text-align:center;
}

.animaVideoCtaContent > h2{
  width:min(100%, 980px);
  margin:0;
  color:#fff;
  font-size:var(--anima-type-section);
  line-height:var(--anima-type-heading-line-height);
  text-shadow:0 12px 34px rgba(0,0,0,.24);
}

.animaVideoCtaContent > p{
  margin:0;
  max-width:820px;
  color:rgba(255,255,255,.9);
  font-size:var(--anima-type-body-lg);
  line-height:var(--anima-type-body-lg-line-height);
  text-shadow:0 10px 28px rgba(0,0,0,.22);
}

.animaVideoCtaContent > .animaCtaButton{
  letter-spacing:0;
  padding-inline:34px;
}

/* Opt-in contact details and review dialog preserve the existing About visuals.
   Legacy classes remain runtime hooks, not shared visual selectors. */
.animaContactList{
  display:grid;
  gap:18px;
  margin:24px 0 24px;
  padding:0;
  list-style:none;
}

.animaContactList li{
  display:grid;
  grid-template-columns:26px minmax(0, 1fr);
  gap:12px;
  color:var(--anima-content-muted, #5F5954);
  font-size:var(--anima-type-body);
  line-height:var(--anima-type-body-line-height);
}

.animaContactList a{color:var(--anima-content-muted, #5F5954)}

.animaContactList svg{
  width:22px;
  height:22px;
  color:var(--anima-content-ink, #2B2B2B);
  stroke:currentColor;
  stroke-width:1.45;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
  transform:translateY(2px);
}

.animaContactList strong{
  display:block;
  margin-bottom:2px;
  color:var(--anima-content-ink, #2B2B2B);
  font-size:12px;
  font-weight:500;
  line-height:1.2;
}

.animaContactInlineAction{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:8px;
  text-decoration:none;
  font-size:.95em;
  font-weight:600;
  white-space:nowrap;
}

.animaContactInlineAction:hover{color:#9b6d61}

.animaContactActions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.animaContactActions > .animaCtaButton{margin-inline:0}

.animaReviewModal{
  position:fixed;
  inset:0;
  z-index:1200;
  display:none;
  padding:clamp(32px, 7vh, 72px) 24px;
  overflow-x:hidden;
  overflow-y:auto;
  background:rgba(24,19,16,.18);
  backdrop-filter:saturate(126%) blur(22px);
  -webkit-backdrop-filter:saturate(126%) blur(22px);
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

.animaReviewModal.isOpen{display:block}

.animaReviewModalCard{
  width:min(760px, calc(100% - 44px));
  margin:0 auto;
  overflow:visible;
  border-radius:18px;
  background:rgba(255,255,255,.56);
  border-color:rgba(49,45,42,.10);
  color:var(--anima-ink);
  padding:clamp(28px, 4vw, 54px);
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

.animaReviewModalClose{
  float:right;
  width:36px;
  height:36px;
  border:1px solid rgba(58,44,38,.12);
  border-radius:50%;
  background:#fff;
  color:var(--anima-ink);
  font-size:22px;
  line-height:1;
  cursor:pointer;
}

.animaReviewModalStars{margin:4px 0 22px;color:#9a7668;letter-spacing:.18em;font-size:20px}
.animaReviewModalText{margin:0 0 24px;color:var(--anima-muted);font-size:18px;line-height:1.7;white-space:pre-line}
.animaReviewModalAuthor{margin:0;font-weight:700}

@media (max-width:767px){
  .animaContactActions > .animaCtaButton{flex:1 1 140px}
}

.animaLocationSplit{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0, 1.18fr) minmax(340px, .82fr);
  gap:clamp(42px, 5vw, 86px);
  align-items:center;
  min-height:clamp(560px, 48vw, 720px);
  padding:clamp(34px, 4vw, 56px) 0;
}

.animaLocationSplit > *{min-width:0}
.animaLocationText{max-width:520px}

.animaLocationMap{
  position:relative;
  min-height:clamp(460px, 34vw, 580px);
  overflow:hidden;
  border-radius:12px;
  background:#dfe8df;
}

.animaLocationMap > iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:clamp(460px, 34vw, 580px);
  border:0;
  filter:saturate(.82) contrast(.95);
}

/* Image offers retain their original overlay and independent absolute action. */
.animaImageOfferGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:clamp(18px, 2vw, 28px);
  align-items:start;
}

.animaImageOfferCard{
  position:relative;
  min-height:520px;
  aspect-ratio:1.08 / 1;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  border-radius:32px;
  background:#5b453d;
  color:#fff;
  box-shadow:0 22px 60px rgba(72,49,38,.1);
}

.animaImageOfferCard > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:inherit;
  filter:brightness(.58) saturate(.85) blur(10px);
  transform:scale(1.05);
}

.animaImageOfferCard::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(180deg, rgba(48,34,29,.08), rgba(48,34,29,.34));
}

.animaImageOfferInner{
  position:relative;
  z-index:1;
  width:100%;
  min-height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:72px 72px 120px;
  background:linear-gradient(180deg, rgba(48,34,29,0) 0%, rgba(48,34,29,.42) 34%, rgba(48,34,29,.68) 100%);
  backdrop-filter:blur(13px) saturate(120%);
  -webkit-backdrop-filter:blur(13px) saturate(120%);
  -webkit-mask-image:linear-gradient(180deg, transparent 0%, #000 28%, #000 100%);
  mask-image:linear-gradient(180deg, transparent 0%, #000 28%, #000 100%);
}

.animaImageOfferInner > h3{
  margin:0 0 12px;
  color:#fff;
  text-shadow:0 12px 28px rgba(0,0,0,.28);
}

.animaImageOfferInner > p{
  margin:0;
  max-width:680px;
  color:rgba(255,255,255,.9);
  text-shadow:0 10px 24px rgba(0,0,0,.24);
}

.animaCtaButton.animaImageOfferAction{
  --anima-cta-button-min-height:var(--anima-button-min-height);
  --anima-cta-button-min-width:170px;
  --anima-cta-button-padding-block:var(--anima-button-padding-block);
  --anima-cta-button-padding-inline:var(--anima-button-padding-x);
  --anima-cta-button-font-weight:var(--anima-home-button-font-weight);
  --anima-cta-button-font-size:var(--anima-type-button);
  --anima-cta-button-line-height:1.2;
  --anima-cta-button-letter-spacing:0;
  --anima-cta-button-text:#1f1b18;
  --anima-cta-button-hover-text:#1f1b18;
  --anima-cta-button-border:rgba(255,255,255,.82);
  --anima-cta-button-bg-hover:#f7f3ef;
  --anima-cta-button-shadow:0 14px 30px rgba(47,39,34,.12);
  position:absolute;
  left:50%;
  bottom:34px;
  width:min(420px, calc(100% - 64px));
  max-width:none;
  padding:var(--anima-cta-button-padding-block) var(--anima-cta-button-padding-inline);
  transform:translateX(-50%);
  z-index:2;
}

.animaImageOfferDots{display:none}

/* Runtime markup stays unchanged; this variant retains the historical review layout. */
.animaEditorialReviewTrack{
  position:relative;
  box-sizing:border-box;
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:var(--anima-layout-rail-card-width);
  gap:22px;
  width:100%;
  min-width:0;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-padding-inline:var(--pageEdgePad, var(--anima-layout-padding-x));
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  padding:0 var(--pageEdgePad, var(--anima-layout-padding-x));
  margin:0;
}

.animaReviewRuntime.animaReviewRuntime--editorial .reviewCard{
  --anima-editorial-review-min-height:var(--anima-layout-rail-card-min-height);
  min-height:var(--anima-editorial-review-min-height);
  display:grid;
  grid-template-rows:auto minmax(0, 1fr) auto auto;
  gap:var(--anima-review-card-gap);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

.animaReviewRuntime.animaReviewRuntime--editorial .reviewHeader{align-self:end;gap:14px}

.animaRailNav.animaRailNav--editorial{gap:14px;margin-top:18px}
.animaRailNav--editorial > .animaRailNavButton{width:56px;height:56px;border:0;background:rgba(255,255,255,.62);color:#6f5147;box-shadow:none}
.animaRailNav--editorial > .animaRailNavButton:hover{transform:scale(1.04);background:rgba(255,255,255,.46)}
.animaRailNav--editorial > .animaRailNavButton:disabled{opacity:.42;transform:none}
.animaRailNav--editorial > .animaRailNavButton svg{width:22px;height:22px;stroke-width:2.8}

@media (max-width:980px){
  .animaVideoCtaContent > .animaCtaButton{width:100%;max-width:none}
  .animaLocationSplit{grid-template-columns:1fr;min-height:0;gap:28px;padding:clamp(34px, 4vw, 56px) 0}
  .animaLocationText{max-width:none}
  .animaLocationMap,
  .animaLocationMap > iframe{min-height:420px}
  .animaEditorialSplit{grid-template-columns:1fr;gap:30px}
  .animaEditorialSplit--intro{display:block;padding:30px 0}
  .animaEditorialSplit--imageText{margin-top:0}
  .animaEditorialSplit > .animaEditorialText{max-width:100%;padding:0}
  .animaEditorialSplit--imageText > .animaEditorialText{order:1}
  .animaEditorialSplit--imageText > .animaEditorialMedia{order:2;margin:24px 0 0;aspect-ratio:1.48 / 1}
  .animaEditorialMedia > img{aspect-ratio:16 / 11;min-height:auto}
  .animaEditorialMedia--square > img{aspect-ratio:1}
  .animaValueStrip{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .animaMediaCardGrid{grid-template-columns:1fr;gap:16px}
  .animaImageOfferGrid{grid-template-columns:1fr}
}

@media (max-width:767px){
  /* Historical mobile table labels use the fixed canonical Body role and zero tracking. */
  .animaTable--editorialLabels > :not(.head):not(.mark){
    font-size:var(--anima-type-body);
    line-height:1.5;
    font-weight:var(--anima-type-body-weight);
    letter-spacing:0;
  }
  .animaEditorialType{
    --anima-type-section:37px;
    --anima-type-h3:22px;
    --anima-type-body:17px;
    --anima-type-body-lg:17px;
    --anima-type-heading-line-height:.98;
    --anima-type-body-line-height:1.5;
    --anima-type-body-lg-line-height:1.5;
    --anima-type-subheading-line-height:1.16;
  }
  .animaEditorialSection{padding:24px 0}
  .animaEditorialReviewTrack{
    grid-auto-columns:var(--anima-layout-rail-card-width-mobile);
    gap:30px;
    width:100%;
    max-width:100%;
    min-width:0;
    overflow-x:auto;
    padding:0 var(--reviewsSidePeek, 48px) 34px;
    scroll-padding-inline:var(--reviewsSidePeek, 48px);
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .animaReviewRuntime.animaReviewRuntime--editorial .reviewCard{
    --anima-review-card-mobile-padding:26px;
  }
  .animaRailNav.animaRailNav--editorial{display:none}
  .animaCtaBand--videoEditorial{min-height:320px;padding:24px 0}
  .animaHeading--editorial{--anima-type-section:37px;--anima-type-heading-line-height:.98}
  .animaHeading.animaHeading--editorial{width:var(--viewportW, 100vw);max-width:var(--viewportW, 100vw);margin-inline:calc(50% - var(--viewportHalf, 50vw));padding-inline:var(--pageEdgePad, 18px)}
  .animaCtaBand.animaCtaBand--videoEditorial > .animaVideoCtaContent{padding:28px 20px 32px}
  .animaVideoCtaContent > .animaCtaButton{width:auto;min-width:min(190px, 100%);max-width:100%}
  .animaLocationSplit{padding:24px 0;gap:24px}
  .animaLocationMap,
  .animaLocationMap > iframe{min-height:330px}
  .animaLocationText > h2{text-align:center}
  .animaEditorialFlow{padding:18px 0 34px}
  .animaEditorialStack{gap:12px}
  .animaEditorialSplit{padding:18px 0}
  .animaEditorialSplit--intro{padding:18px 0 8px}
  .animaEditorialSplit:not(.animaEditorialSplit--intro):not(.animaEditorialSplit--imageText){padding-top:8px}
  .animaEditorialSplit--imageText{padding-bottom:18px}
  .animaEditorialSplit--imageText > .animaEditorialText > p{font-size:var(--anima-type-body);line-height:1.5}
  .animaEditorialText > h2{max-width:100%;margin:0 0 22px;text-align:center}
  .animaEditorialText > p{margin-bottom:18px}
  .animaEditorialText > p:last-child{margin-bottom:0}
  .animaEditorialMedia > img{aspect-ratio:4 / 5}
  .animaEditorialMedia--square > img{aspect-ratio:1}
  .animaValueStrip{grid-template-columns:1fr;padding:24px 0 28px}
  .animaValueItem{width:100%;min-height:0;justify-items:stretch}
  .animaValueItem > :is(h3, p){width:100%;max-width:none}
  .animaValueItem > h3{min-height:0}
  .animaMediaCardGrid{gap:14px}
  .animaMediaCard{min-height:auto}
  .animaMediaCardMedia{height:220px}
  .animaMediaCardBody > p{min-height:0}
  /* A 1px inset reduction keeps historical RU labels on one line with zero tracking. */
  .animaContactActions > .animaCtaButton{padding-inline:17px;white-space:nowrap}
  .animaEditorialType .animaContactList li{font-size:var(--anima-type-body);line-height:1.5}
  .animaImageOfferGrid{
    display:flex;
    align-items:stretch;
    width:var(--viewportW, 100vw);
    max-width:var(--viewportW, 100vw);
    margin-left:calc(50% - var(--viewportHalf, 50vw));
    padding:0 var(--pageEdgePad, var(--anima-layout-padding-x)) 4px;
    gap:14px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
  }
  .animaImageOfferGrid::-webkit-scrollbar{display:none}
  .animaImageOfferCard{
    min-height:var(--anima-layout-rail-card-min-height);
    width:var(--anima-layout-rail-card-width-mobile);
    flex:0 0 var(--anima-layout-rail-card-width-mobile);
    scroll-snap-align:center;
  }
  .animaImageOfferInner{max-width:620px;padding:76px 32px 126px}
  .animaCtaButton.animaImageOfferAction{
    --anima-cta-button-min-height:var(--anima-button-min-height);
    --anima-cta-button-min-width:0px;
    --anima-cta-button-padding-block:var(--anima-button-padding-block);
    --anima-cta-button-padding-inline:var(--anima-button-padding-x);
    --anima-cta-button-font-size:var(--anima-type-button);
    --anima-cta-button-line-height:var(--anima-type-ui-line-height);
    bottom:30px;
    width:calc(100% - 64px);
    text-align:center;
  }
  .animaImageOfferDots{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:20px}
  .animaImageOfferDot{display:block;width:8px;height:8px;border-radius:999px;background:rgba(42,38,35,.28);transition:background-color .18s ease, transform .18s ease}
  .animaImageOfferDot.isActive{width:26px;background:#2a2623}
}

.animaSplit{
  width:100%;
  max-width:var(--anima-layout-split-max);
  margin-left:auto;
  margin-right:auto;
  display:grid;
  grid-template-columns:var(--anima-layout-split-columns);
  gap:var(--anima-layout-split-gap);
  align-items:var(--anima-layout-split-align);
  text-align:left;
}

@media (min-width:1101px){
  .animaSplit--asideNarrow{
    grid-template-columns:minmax(0, 1fr) var(--anima-layout-rail-card-width);
  }

  .animaSplit--asideNarrow > :last-child{
    width:100%;
    justify-self:end;
    align-self:start;
  }
}

.animaSplit--imageText > .animaSplitMedia{
  order:1;
}

.animaSplit--imageText > .animaSplitText{
  order:2;
}

.animaSplit--textImage > .animaSplitText{
  order:1;
}

.animaSplit--textImage > .animaSplitMedia{
  order:2;
}

.animaSplit--mediaFirst > :first-child{
  order:2;
}

.animaSplit--mediaFirst > :last-child{
  order:1;
}

/* Editorial photographs follow the copy height only in a two-column layout. */
@media (min-width:1101px){
  .animaSplit--equalMedia{
    align-items:stretch;
  }

  .animaSplit--equalMedia > .animaSplitText{
    align-content:start;
  }

  .animaSplit--equalMedia > .animaSplitMedia{
    position:relative;
    min-height:0;
    align-self:stretch;
  }

  .animaSplit--equalMedia > .animaSplitMedia > .animaMediaFrame{
    position:absolute;
    inset:0;
    height:100%;
    aspect-ratio:auto;
  }
}

.animaGrid{
  width:100%;
  display:grid;
  gap:var(--anima-gap-item);
}

.animaGrid--cards{
  grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--anima-layout-card-grid-min)), 1fr));
  align-items:stretch;
}

.animaGrid--features,
.animaFeatureList{
  width:100%;
  display:grid;
  grid-template-columns:var(--anima-feature-list-columns);
  gap:var(--anima-gap-item);
  align-items:start;
  counter-reset:anima-feature;
}

.animaFeatureList--three{
  --anima-feature-list-columns:repeat(3, minmax(0, 1fr));
  --anima-feature-list-gap:var(--anima-gap-item);
  --anima-feature-list-gap-inline:var(--anima-gap-item);
}

.animaFeatureRow{
  display:grid;
  grid-template-columns:var(--anima-feature-row-marker-size) minmax(0, 1fr);
  align-items:start;
  gap:var(--anima-gap-item);
  min-height:auto;
  padding:var(--anima-feature-row-padding);
  border:0;
  background:transparent;
  box-shadow:none;
  counter-increment:anima-feature;
  text-align:left;
}

.animaFeatureRow--compact{
  --anima-feature-row-marker-size:28px;
  --anima-feature-row-padding:var(--anima-feature-row-compact-padding);
  align-items:center;
}

.animaFeatureIndex,
.animaFeatureMarker{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  width:var(--anima-feature-row-marker-size);
  min-width:var(--anima-feature-row-marker-size);
  margin:0;
  color:var(--anima-content-ink, var(--anima-feature-marker-color));
  font-size:var(--anima-feature-marker-size);
  line-height:var(--anima-feature-marker-line-height);
  letter-spacing:var(--anima-feature-marker-letter-spacing);
  font-weight:var(--anima-feature-marker-weight);
  opacity:var(--anima-feature-marker-opacity);
  font-variant-numeric:lining-nums;
}

.animaFeatureIndex{
  font-size:var(--anima-feature-index-size);
  line-height:var(--anima-feature-index-line-height);
  letter-spacing:var(--anima-feature-index-tracking);
  font-weight:var(--anima-feature-index-weight);
}

.animaFeatureMarker--counter::before{
  content:counter(anima-feature);
}

.animaFeatureMarker--counter > svg{
  display:none;
}

.animaFeatureIndex svg,
.animaFeatureMarker > svg{
  width:var(--anima-feature-marker-icon-size);
  height:var(--anima-feature-marker-icon-size);
  stroke:currentColor;
  fill:none;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
  overflow:visible;
}

.animaFeatureContent{
  display:grid;
  align-content:start;
  gap:var(--anima-feature-content-gap);
  min-width:0;
}

.animaTextIntro{
  width:100%;
  max-width:var(--anima-layout-body-max);
  margin-left:auto;
  margin-right:auto;
  display:grid;
  justify-items:center;
  gap:var(--anima-gap-content);
  text-align:center;
}

.animaTextIntro--wide{
  font-size:var(--anima-type-body-lg);
  justify-items:stretch;
}

.animaTextIntro--editorial{
  text-align:left;
}

.animaTextIntro--wide > .animaText{
  max-width:none;
}

.animaTextIntro > *{
  margin-top:0;
  margin-bottom:0;
}

.animaRailViewport{
  width:var(--viewportW, 100vw);
  max-width:none;
  min-width:0;
  margin-inline:calc(50% - var(--viewportHalf, 50vw));
  overflow:visible;
}

.animaRailViewport > *,
.animaRailViewport [role="tabpanel"],
.animaRailViewport [role="tabpanel"] > *{
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-width:0;
}

.animaRailViewport--padded{
  box-sizing:border-box;
  padding-left:var(--anima-container-page-edge-pad);
  padding-right:var(--anima-container-page-edge-pad);
}

.animaRailTrack{
  box-sizing:border-box;
  width:var(--viewportW, 100vw);
  max-width:none;
  min-width:0;
  margin-inline:calc(50% - var(--viewportHalf, 50vw));
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:var(--anima-layout-rail-card-width);
  gap:var(--anima-gap-item);
  align-items:stretch;
  padding-left:var(--anima-container-page-edge-pad);
  padding-right:var(--anima-container-page-edge-pad);
  scroll-padding-left:var(--anima-container-page-edge-pad);
  scroll-padding-right:var(--anima-container-page-edge-pad);
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  -ms-overflow-style:none;
}

.animaRailViewport .animaRailTrack{
  width:100%;
  margin-inline:0;
}

.animaRailTrack::-webkit-scrollbar{
  display:none;
}

.animaRailTrack--flex{
  display:flex;
}

.animaRailTrack--procedure{
  padding-bottom:var(--anima-rail-reviews-padding-bottom);
}

.animaRailTrack--reviews{
  padding-top:0;
  padding-bottom:var(--anima-rail-reviews-padding-bottom);
}

.animaRailTrack--equalCards{
  align-items:stretch;
}

.animaRailTrack--equalCards > .animaRailCard{
  height:100%;
}

.animaRailCard{
  flex-basis:var(--anima-layout-rail-card-width);
  min-width:var(--anima-layout-rail-card-width);
  max-width:var(--anima-layout-rail-card-width);
  min-height:var(--anima-layout-rail-card-min-height);
  scroll-snap-align:start;
}

.animaEqualTabs > [role="tabpanel"]{
  display:grid;
  gap:0;
  grid-column:1;
  grid-row:2;
  align-self:stretch;
  grid-template-rows:minmax(0, 1fr) auto;
}

.animaEqualTabs .animaRailTrack--equalCards{
  align-self:stretch;
  height:100%;
}

.animaEqualTabs > [role="tabpanel"] > .animaStack{
  grid-template-rows:minmax(0, 1fr) auto;
  align-self:stretch;
  height:100%;
}

.animaEqualTabs > [role="tabpanel"][hidden]{
  display:grid !important;
  visibility:hidden;
  pointer-events:none;
}

.animaEqualTabs > [role="tabpanel"][hidden] *{
  visibility:hidden;
  pointer-events:none;
}

.animaIconButton,
.animaReviewRuntime .reviewMore{
  width:var(--anima-home-button-mobile-min-height);
  height:var(--anima-home-button-mobile-min-height);
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--anima-line-strong);
  border-radius:var(--anima-radius-pill);
  background:var(--anima-rail-nav-button-bg);
  color:var(--anima-rail-nav-button-color);
  font-family:var(--anima-font-family);
  font-size:var(--anima-type-button);
  font-weight:var(--anima-type-ui-weight);
  line-height:var(--anima-type-ui-line-height);
  letter-spacing:var(--anima-type-ui-letter-spacing);
  cursor:pointer;
}

.animaRailControl,
.animaRailNavButton,
.animaRailRuntime .scrollNavBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:var(--anima-rail-nav-button-size);
  height:var(--anima-rail-nav-button-size);
  padding:0;
  border:0;
  border-radius:var(--anima-radius-pill);
  background:var(--anima-rail-nav-button-bg);
  color:var(--anima-rail-nav-button-color);
  cursor:pointer;
  box-shadow:none;
  transition:transform .18s ease, opacity .18s ease, background-color .18s ease;
}

.animaRailNav,
.animaRailControls,
.animaRailRuntime .scrollNav{
  width:min(100%, calc(100vw - 2 * var(--anima-container-page-edge-pad)), var(--anima-container-content-max));
  display:flex;
  justify-content:flex-end;
  gap:var(--anima-gap-item);
  margin-top:var(--anima-gap-content);
}

.animaRailToolbar{
  width:min(100%, calc(100vw - 2 * var(--anima-container-page-edge-pad)), var(--anima-container-content-max));
}

.animaRailViewport .animaRailControls,
.animaRailViewport .animaRailToolbar{
  margin-inline:auto;
}

.animaRailControl:hover,
.animaRailNavButton:hover,
.animaRailRuntime .scrollNavBtn:hover{
  transform:scale(1.04);
  background:var(--anima-rail-nav-button-bg-hover);
}

.animaRailControl:disabled,
.animaRailNavButton:disabled,
.animaRailRuntime .scrollNavBtn:disabled{
  opacity:.35;
  cursor:default;
  transform:none;
}

.animaRailControl svg,
.animaRailNavButton svg,
.animaRailRuntime .scrollNavBtn svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.animaInfoGrid{
  width:100%;
  max-width:var(--anima-info-grid-max);
  display:grid;
  grid-template-columns:var(--anima-info-grid-columns);
  gap:var(--anima-gap-item);
  align-items:stretch;
  justify-items:center;
}

.animaInfoCard{
  width:100%;
  max-width:100%;
  display:grid;
  align-content:start;
  gap:var(--anima-gap-content);
  text-align:center;
}

.animaInfoCardMedia{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  aspect-ratio:var(--anima-info-card-media-ratio);
  border-radius:var(--anima-info-card-media-radius);
  background:transparent;
}

.animaInfoCardMedia img,
.animaInfoCardMedia video{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:inherit;
}

.animaInfoCardHeader{
  display:grid;
  justify-items:center;
  gap:var(--anima-gap-content);
}

.animaInfoCardTitle{
  margin:0;
}

.animaInfoCardText{
  margin:0;
  text-align:center;
}

.animaSectionNote{
  width:100%;
  max-width:var(--anima-section-note-max);
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

.animaBenefitSheet{
  align-self:start;
}

.animaBenefitList{
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:anima-benefits;
  display:grid;
  gap:var(--anima-benefit-list-gap);
  text-align:left;
}

.animaBenefitItem{
  display:grid;
  grid-template-columns:var(--anima-benefit-item-marker-size) minmax(0, 1fr);
  gap:var(--anima-benefit-item-gap);
  align-items:start;
  padding:var(--anima-benefit-item-padding);
  border-bottom:var(--anima-benefit-item-border);
}

.animaBenefitItem:last-child{
  border-bottom:0;
}

.animaBenefitItem::before{
  counter-increment:anima-benefits;
  content:counter(anima-benefits);
  color:rgba(87,82,78,.92);
  font-size:clamp(24px, 1.7vw, 34px);
  line-height:1;
  font-weight:500;
  letter-spacing:-.04em;
  opacity:.72;
  transform:translateY(2px);
  font-variant-numeric:lining-nums;
  font-style:normal;
}

.animaDivider{
  display:block;
  width:var(--anima-divider-width);
  height:var(--anima-divider-height);
  background:var(--anima-divider-bg);
}

.animaDivider--center{
  justify-self:center;
  margin-left:auto;
  margin-right:auto;
}

.animaReviewCard,
.animaReviewRuntime .reviewCard{
  text-align:left;
  padding:var(--anima-review-card-padding);
  border:1px solid var(--anima-review-card-border);
  border-radius:var(--anima-review-card-radius);
  background:var(--anima-review-card-bg);
  box-shadow:var(--anima-review-card-shadow);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:var(--anima-gap-content);
}

.animaReviewCard--solid{
  border-color:var(--anima-review-card-solid-border);
  background:var(--anima-review-card-solid-bg);
  box-shadow:var(--anima-review-card-solid-shadow);
}

.animaReviewStars,
.animaReviewRuntime .stars{
  color:var(--anima-review-stars-color);
  font-size:var(--anima-review-stars-size);
  line-height:var(--anima-review-stars-line-height);
  letter-spacing:var(--anima-review-stars-letter-spacing);
}

.animaReviewText,
.animaReviewRuntime .reviewText{
  margin:0;
  color:var(--anima-review-text-color);
  font-size:var(--anima-review-text-size);
  line-height:var(--anima-review-text-line-height);
  letter-spacing:var(--anima-review-text-letter-spacing);
  font-weight:var(--anima-review-text-weight);
}

.animaReviewAuthor,
.animaReviewRuntime .reviewHeader{
  display:grid;
  grid-template-columns:var(--anima-review-author-avatar-size) minmax(0, 1fr);
  align-items:center;
  gap:var(--anima-review-author-gap);
  margin-top:auto;
}

.animaReviewAvatar,
.animaReviewRuntime .avatar{
  width:var(--anima-review-author-avatar-size);
  height:var(--anima-review-author-avatar-size);
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--anima-review-avatar-bg);
  color:var(--anima-review-avatar-color);
  font-size:var(--anima-review-avatar-large-font-size);
  line-height:var(--anima-review-avatar-large-line-height);
  font-weight:var(--anima-review-avatar-large-font-weight);
  letter-spacing:var(--anima-review-avatar-large-letter-spacing);
}

.animaReviewName,
.animaReviewRuntime .reviewName{
  margin:var(--anima-review-name-margin);
  color:var(--anima-review-name-color);
  font-size:var(--anima-review-name-large-size);
  line-height:var(--anima-review-name-large-line-height);
  font-weight:var(--anima-review-name-large-weight);
  letter-spacing:var(--anima-review-name-large-letter-spacing);
}

.animaReviewMeta,
.animaReviewDate,
.animaReviewRuntime .reviewMeta{
  margin:0;
  color:var(--anima-review-meta-color);
  font-size:var(--anima-review-date-size);
  line-height:var(--anima-review-date-line-height);
}

.animaSegmentedTabs{
  --anima-segmented-tabs-pad-x:12px;
  --anima-segmented-tabs-pad-y:8px;
  width:var(--anima-segmented-tabs-width);
  max-width:var(--anima-segmented-tabs-max-width);
  margin-inline:auto;
  display:grid;
  grid-template-columns:repeat(2, auto);
  justify-content:center;
  gap:var(--anima-segmented-tabs-gap);
  padding:var(--anima-segmented-tabs-padding);
  border:var(--anima-segmented-tabs-border);
  border-radius:var(--anima-segmented-tabs-radius);
  background:var(--anima-segmented-tabs-bg);
  box-shadow:var(--anima-segmented-tabs-shadow);
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.animaSegmentedTabs::before{
  content:"";
  position:absolute;
  z-index:0;
  top:var(--anima-segmented-tabs-pad-y);
  bottom:var(--anima-segmented-tabs-pad-y);
  left:var(--anima-segmented-tabs-pad-x);
  width:calc((100% - (var(--anima-segmented-tabs-pad-x) * 2) - var(--anima-segmented-tabs-gap)) / 2);
  border-radius:var(--anima-segmented-tab-radius);
  background:var(--anima-segmented-tab-indicator-bg);
  box-shadow:var(--anima-segmented-tab-indicator-shadow);
  pointer-events:none;
  transition:transform .36s cubic-bezier(.22, 1, .36, 1), background-color .24s ease;
}

.animaSegmentedTabs:has(.animaSegmentedTab:nth-child(2).is-active)::before{
  transform:translateX(calc(100% + var(--anima-segmented-tabs-gap)));
}

.animaSegmentedTab{
  appearance:none;
  border:none;
  background:transparent;
  position:relative;
  z-index:1;
  width:auto;
  min-width:var(--anima-segmented-tab-min-width);
  min-height:var(--anima-segmented-tab-min-height);
  padding:var(--anima-segmented-tab-padding);
  border-radius:var(--anima-segmented-tab-radius);
  color:var(--anima-segmented-tab-color);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  white-space:nowrap;
  overflow-wrap:normal;
  font:inherit;
  font-size:var(--anima-segmented-tab-size);
  line-height:var(--anima-segmented-tab-line-height);
  letter-spacing:var(--anima-segmented-tab-letter-spacing);
  font-weight:var(--anima-segmented-tab-weight);
  transition:var(--anima-segmented-tab-transition);
}

.animaSegmentedTab:hover{
  color:var(--anima-segmented-tab-color-hover);
}

.animaSegmentedTab.is-active{
  color:var(--anima-segmented-tab-color-active);
}

.animaMediaFrame{
  width:100%;
  margin:0;
  overflow:hidden;
  border-radius:var(--anima-media-frame-radius);
  background:var(--anima-media-frame-bg);
  box-shadow:var(--anima-media-frame-shadow);
}

.animaMediaFrame--landscape{
  aspect-ratio:16 / 10;
}

.animaMediaFrame--square{
  aspect-ratio:1;
}

.animaMediaFrame--squareCorners{
  --anima-media-frame-radius:0;
  --anima-media-frame-radius-mobile:0;
  --anima-media-frame-shadow:none;
}

.animaMediaFrame > img,
.animaMediaFrame > video,
.animaMediaFrame picture,
.animaMediaFrame picture > img{
  display:block;
  width:100%;
  height:100%;
  object-fit:var(--anima-media-frame-fit);
}

.animaCta{
  /* Compatibility owner: protected Planner promo also uses this base class. */
  min-height:var(--anima-layout-cta-min-height);
  display:grid;
  align-items:center;
  margin-inline:calc(50% - 50vw);
  padding-left:0;
  padding-right:0;
}

.animaCtaBand{
  position:relative;
  display:grid;
  overflow:hidden;
  margin-inline:calc(50% - 50vw);
}

.animaSection.animaCtaBand{
  padding-top:var(--anima-cta-band-padding-y);
  padding-bottom:var(--anima-cta-band-padding-y);
}

.animaCta > .animaContainer,
.animaFaq > .animaContainer{
  display:grid;
  justify-items:center;
  gap:var(--anima-gap-content);
  text-align:center;
}

.animaCta > .animaContainer{
  padding-top:var(--anima-rhythm-section-tight);
  padding-bottom:var(--anima-rhythm-section-tight);
  gap:var(--anima-rhythm-body-cta);
}

.animaCtaBand > .animaContainer{
  position:relative;
  z-index:1;
  display:grid;
  justify-items:center;
  gap:var(--anima-gap-content);
  text-align:center;
  padding-top:0;
  padding-bottom:0;
}

.animaFaq > .animaContainer.animaSectionFlow{
  gap:0;
}

.animaStatsGrid{
  width:100%;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  grid-auto-rows:1fr;
  gap:0;
  align-items:stretch;
}

.animaStat{
  min-height:var(--anima-layout-stat-min-height);
  display:grid;
  grid-template-rows:auto minmax(2.8em, 1fr);
  align-content:center;
  justify-items:center;
  gap:var(--anima-gap-item);
  text-align:center;
}

.animaStatValue{
  display:block;
  min-width:var(--anima-stat-value-min-width);
  font-size:var(--anima-stat-value-size);
  line-height:var(--anima-stat-value-line-height);
  letter-spacing:var(--anima-stat-value-letter-spacing);
  font-weight:600;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

.animaStatLabel{
  max-width:var(--anima-stat-label-max-width);
  min-height:var(--anima-stat-label-min-height);
  margin:0;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  font-size:var(--anima-stat-label-size);
  line-height:var(--anima-stat-label-line-height);
}

@media (max-width:1100px){
  :root{
    --anima-gap-layout:24px;
    --anima-gap-section:48px;
    --anima-cta-band-padding-y:var(--anima-cta-band-padding-y-mobile);
  }

  .animaTextSection,
  .animaSplitSection,
  .animaCardGridSection,
  .animaMediaSection,
  .animaFaqSection,
  .animaCtaSection{
    padding-top:var(--anima-gap-section);
    padding-bottom:var(--anima-gap-section);
  }

  .animaSplitSection > .animaContainer,
  .animaSplit{
    grid-template-columns:1fr;
    gap:var(--anima-layout-split-gap-mobile);
  }

  .animaGrid--features{
    grid-template-columns:1fr;
  }

  .animaSplit--mediaFirst > :first-child,
  .animaSplit--mediaFirst > :last-child{
    order:initial;
  }

  .animaSection{
    padding-top:var(--anima-rhythm-section-mobile);
    padding-bottom:var(--anima-rhythm-section-mobile);
  }

  .animaCta{
    min-height:var(--anima-layout-cta-min-height-mobile);
  }

  .animaSplit--imageText > .animaSplitMedia,
  .animaSplit--imageText > .animaSplitText,
  .animaSplit--textImage > .animaSplitText,
  .animaSplit--textImage > .animaSplitMedia{
    order:initial;
  }
}

@media (max-width:767px){
  :root{
    --anima-type-story-section:32px;
    --anima-type-story-body:18px;
    --anima-stat-value-size:clamp(44px, 12vw, 56px);
    --anima-stat-label-size:clamp(15px, 4.15vw, 17px);
    --anima-stat-label-line-height:1.28;
    --anima-feature-index-size:clamp(34px, 8.8vw, 44px);
  }

  .animaSection{
    padding-left:var(--page-padding-x);
    padding-right:var(--page-padding-x);
  }

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

  .animaFeatureList,
  .animaFeatureList--three,
  .animaGrid--features{
    grid-template-columns:1fr;
  }

  .animaFeatureRow{
    --anima-feature-row-marker-size:44px;
    --anima-feature-row-gap:var(--anima-space-sm);
  }

  .animaFeatureRow--compact{
    --anima-feature-row-marker-size:24px;
    --anima-feature-row-gap:var(--anima-space-sm);
  }

  .animaInfoGrid{
    grid-template-columns:1fr;
  }

  .animaInfoCard{
    width:100%;
  }

  .animaInfoCardMedia{
    border-radius:var(--anima-media-frame-radius-mobile);
  }

  .animaFaqQuestion,
  .animaFaqRuntime .faqQuestionBtn{
    padding:var(--anima-faq-question-padding-mobile);
  }

  .animaFaqAnswer,
  .animaFaqRuntime .faqInlineAnswer{
    padding:var(--anima-faq-answer-padding-mobile);
  }

  .animaReviewCard,
  .animaReviewRuntime .reviewCard{
    padding:var(--anima-review-card-mobile-padding);
  }

  .animaReviewStars,
  .animaReviewRuntime .stars{
    font-size:var(--anima-review-stars-mobile-size);
  }

  .animaSegmentedTabs{
    --anima-segmented-tabs-pad-x:6px;
    --anima-segmented-tabs-pad-y:6px;
    width:100%;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:var(--anima-segmented-tabs-gap-mobile);
    padding:var(--anima-segmented-tabs-padding-mobile);
    border-radius:var(--anima-segmented-tabs-radius-mobile);
  }

  .animaSegmentedTabs::before{
    width:calc((100% - (var(--anima-segmented-tabs-pad-x) * 2) - var(--anima-segmented-tabs-gap-mobile)) / 2);
  }

  .animaSegmentedTabs:has(.animaSegmentedTab:nth-child(2).is-active)::before{
    transform:translateX(calc(100% + var(--anima-segmented-tabs-gap-mobile)));
  }

  .animaSegmentedTab{
    min-width:0;
    white-space:normal;
    overflow-wrap:anywhere;
    hyphens:auto;
  }

  .animaMediaFrame{
    border-radius:var(--anima-media-frame-radius-mobile);
  }

  .animaRailTrack{
    grid-auto-columns:var(--anima-layout-rail-card-width-mobile);
  }

  .animaRailTrack--reviews{
    grid-auto-columns:var(--anima-layout-rail-card-width-mobile);
  }

  .animaRailCard{
    flex-basis:var(--anima-layout-rail-card-width-mobile);
    min-width:var(--anima-layout-rail-card-width-mobile);
    max-width:var(--anima-layout-rail-card-width-mobile);
  }

  .animaRailTrack--peek{
    padding-right:var(--anima-layout-rail-peek-mobile);
  }
}

@media (max-width:480px){
  .animaGrid--cards{
    grid-template-columns:1fr;
  }
  }

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:220px;
  padding:16px 34px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:#fff;
  text-decoration:none;
  font-size:var(--appleButtonSize);
  line-height:1.2;
  letter-spacing:-.011em;
  font-weight:500;
  box-shadow:0 12px 28px rgba(8,10,14,.14);
  backdrop-filter:saturate(150%) blur(12px);
  -webkit-backdrop-filter:saturate(150%) blur(12px);
  transition:background-color .2s ease, color .2s ease, transform .2s ease;
}

.btn:hover{
  background:rgba(255,255,255,.18);
  color:#fff;
}

.articlePage .btn:not(.animaCtaButton),
.bookingHero .btn:not(.animaCtaButton){
  min-height:var(--anima-button-min-height);
}

.animaCtaBlock,
.articlePage [data-ratgeber-cta]{
  text-align:var(--anima-cta-block-align);
}

.articlePage [data-ratgeber-cta]{
  --anima-cta-button-border:rgba(255,255,255,.86);
  --anima-cta-button-bg:rgba(248,244,239,.96);
  --anima-cta-button-text:var(--anima-ink);
  --anima-cta-button-bg-hover:#ffffff;
  --anima-cta-button-hover-text:var(--anima-ink);
  --anima-cta-button-hover-border:#ffffff;
}

.articlePage [data-ratgeber-cta].bookingHero{
  background:var(--anima-ink);
}

.animaCtaBlock > * + *,
.articlePage [data-ratgeber-cta] .bookingHeroContent > * + *{
  margin-top:var(--anima-cta-block-gap);
}

:is(a, button).animaCtaButton,
.articlePage [data-ratgeber-cta] .animaCtaButton{
  width:fit-content;
  max-width:var(--anima-cta-button-max-width);
  min-width:var(--anima-cta-button-min-width);
  min-height:var(--anima-cta-button-min-height);
  margin-left:auto;
  margin-right:auto;
  padding:var(--anima-cta-button-padding-block) var(--anima-cta-button-padding-inline);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  white-space:normal;
  overflow-wrap:normal;
  hyphens:manual;
  border:1px solid var(--anima-cta-button-border);
  border-radius:var(--anima-cta-button-radius);
  background:var(--anima-cta-button-bg);
  color:var(--anima-cta-button-text);
  text-decoration:none;
  font-family:var(--anima-font-family);
  font-size:var(--anima-cta-button-font-size);
  line-height:var(--anima-cta-button-line-height);
  letter-spacing:var(--anima-cta-button-letter-spacing);
  font-weight:var(--anima-cta-button-font-weight);
  text-transform:none;
  box-shadow:var(--anima-cta-button-shadow);
  backdrop-filter:var(--anima-cta-button-backdrop);
  -webkit-backdrop-filter:var(--anima-cta-button-backdrop);
}

:is(a, button).animaCtaButton:hover,
.articlePage [data-ratgeber-cta] .animaCtaButton:hover{
  background:var(--anima-cta-button-bg-hover);
  color:var(--anima-cta-button-hover-text);
  border-color:var(--anima-cta-button-hover-border);
}

:is(a, button).animaCtaButton[hidden]{
  display:none !important;
}

.animaCtaButton--solid,
.animaCtaButton--glass{
  --anima-cta-button-min-height:var(--anima-home-button-mobile-min-height);
  --anima-cta-button-min-width:var(--anima-home-button-min-width);
  --anima-cta-button-padding-block:var(--anima-home-button-padding-block);
  --anima-cta-button-padding-inline:var(--anima-home-button-padding-inline);
  --anima-cta-button-font-size:var(--anima-home-button-font-size);
  --anima-cta-button-font-weight:var(--anima-home-button-font-weight);
  --anima-cta-button-letter-spacing:var(--anima-home-button-letter-spacing);
}

.animaCtaButton--solid{
  --anima-cta-button-border:var(--anima-home-button-border);
  --anima-cta-button-bg:var(--anima-home-button-bg);
  --anima-cta-button-text:var(--anima-home-button-text);
  --anima-cta-button-bg-hover:var(--anima-home-button-bg);
  --anima-cta-button-hover-text:var(--anima-home-button-text);
  --anima-cta-button-hover-border:var(--anima-home-button-border);
  --anima-cta-button-shadow:var(--anima-cta-solid-shadow);
  --anima-cta-button-backdrop:var(--anima-home-hero-media-button-backdrop);
}

.animaCtaButton.animaCtaButton--dark{
  --anima-cta-button-bg:var(--anima-button-primary-bg);
  --anima-cta-button-text:var(--anima-button-primary-text);
  --anima-cta-button-border:var(--anima-button-primary-border);
  --anima-cta-button-bg-hover:var(--anima-button-primary-bg);
  --anima-cta-button-hover-text:var(--anima-button-primary-text);
  --anima-cta-button-hover-border:var(--anima-button-primary-border);
}

.bookingHero:not(.animaCtaBand){
  position:relative;
  margin:0 calc(50% - 50vw);
  min-height:clamp(380px, 36vw, 520px);
  display:grid;
  align-items:center;
  overflow:hidden;
  background:#cbbeb2;
  font-family:var(--anima-font-family);
}

.bookingHeroMedia{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.bookingHeroMedia::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(5,12,9,.22) 0%, rgba(5,12,9,.30) 50%, rgba(5,12,9,.48) 100%),
    linear-gradient(90deg, rgba(0,0,0,.26) 0%, rgba(0,0,0,.14) 52%, rgba(0,0,0,.24) 100%);
}

.bookingHeroMedia img,
.bookingHeroMedia video{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
  filter:saturate(.9) brightness(.9);
}

.bookingHeroContent:not(.animaContainer){
  position:relative;
  z-index:1;
  width:100%;
  margin:0 auto;
  padding:clamp(34px, 5vw, 72px) clamp(24px, 5vw, 72px);
  display:grid;
  justify-items:center;
  gap:22px;
  text-align:center;
}

.bookingHeroTitle{
  margin:0;
  width:min(100%, 980px);
  color:#fff;
  font-size:clamp(44px, 4vw, 76px);
  line-height:.96;
  letter-spacing:var(--appleHeadingTracking);
  font-weight:var(--appleHeadingWeight);
  text-wrap:balance;
}

.bookingHeroText{
  margin:0;
  max-width:820px;
  color:rgba(255,255,255,.9);
  font-size:clamp(18px, 1.3vw, 24px);
  line-height:1.58;
  letter-spacing:var(--appleBodyTracking);
  text-wrap:pretty;
}

.legalModal{
  position:fixed;
  inset:0;
  z-index:120;
  display:block;
  overflow:auto;
  padding:24px 18px;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}

.legalModal[hidden]{display:none}

.legalModal.is-open{
  opacity:1;
  pointer-events:auto;
}

.legalModalBackdrop{
  position:fixed;
  inset:0;
  background:rgba(17,17,21,.42);
  backdrop-filter:saturate(120%) blur(6px);
  -webkit-backdrop-filter:saturate(120%) blur(6px);
}

.legalDialog{
  position:relative;
  z-index:1;
  width:min(1080px,100%);
  margin:0 auto;
  background:#fff;
  border-radius:24px;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 22px 60px rgba(0,0,0,.2);
  overflow:hidden;
}

.legalScroll{
  padding:28px;
  position:relative;
}

.legalClose{
  position:absolute;
  top:16px;
  right:16px;
  z-index:4;
  border:none;
  width:36px;
  height:36px;
  border-radius:999px;
  background:#f3f3f7;
  color:#1b1b1f;
  font-size:0;
  cursor:pointer;
  padding:0;
}

.legalClose::before,
.legalClose::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:18px;
  height:2px;
  border-radius:2px;
  background:currentColor;
  transform-origin:center;
  pointer-events:none;
}

.legalClose::before{transform:translate(-50%,-50%) rotate(45deg)}
.legalClose::after{transform:translate(-50%,-50%) rotate(-45deg)}
.legalClose span{display:none}

.legalDoc h1{
  margin:0 0 18px;
  font-size:clamp(30px,5vw,54px);
  line-height:.95;
  letter-spacing:-.03em;
  color:#111218;
}

.legalDoc .card{margin-top:0}

body.legal-open{overflow:hidden}

.faqList:not(.animaFaqList){
  margin:0;
  padding:0;
  list-style:none;
  border:none;
}

.faqList li{
  margin:0;
  padding:0;
  border:none;
}

.faqQuestionBtn{
  width:100%;
  border:none;
  background:transparent;
  display:flex;
  align-items:flex-start;
  gap:12px;
  text-align:left;
  padding:5px 0;
  cursor:pointer;
  color:#111218;
  font-family:inherit;
  font-size:20px;
  line-height:1.34;
  letter-spacing:-.01em;
  font-weight:540;
  transition:none;
  text-decoration:none;
}

.faqQuestionBtn:focus-visible,
.faqQuestionBtn:hover,
.faqItemOpen .faqQuestionBtn{
  color:#111218;
  text-decoration:none;
}

.faqArrow{
  width:11px;
  flex:0 0 11px;
  font-size:11px;
  line-height:1.2;
  color:rgba(17,18,24,.44);
  margin-top:4px;
  transition:none;
}

.faqQuestionBtn:focus-visible .faqArrow,
.faqQuestionBtn:hover .faqArrow,
.faqItemOpen .faqArrow,
.faqList li:hover .faqArrow{
  color:rgba(0,0,0,.78);
}

.faqList:has(li:hover:not(.faqItemOpen)) .faqItemOpen .faqArrow{
  color:rgba(17,18,24,.44);
}

.faqInlineAnswer{
  max-height:0;
  overflow:hidden;
  opacity:0;
  transition:none;
  padding:0 0 0 40px;
}

.faqItemOpen .faqInlineAnswer{
  max-height:420px;
  opacity:1;
  padding:0 0 10px 40px;
}

.faqInlineText{
  color:#111218;
  font-family:inherit;
  font-size:20px;
  line-height:1.36;
  letter-spacing:-.01em;
  font-weight:520;
  white-space:pre-wrap;
  transform:none;
  transition:none;
  opacity:0;
}

.faqItemOpen .faqInlineText{
  opacity:1;
  color:#111218;
}

.faqInlineText .faqNote{
  display:block;
  margin-top:2px;
  color:inherit;
  font-size:15px;
  line-height:1.35;
  font-weight:500;
}

.faqDetail{
  margin:6px 0 0;
  padding:0;
}

.faqCard{
  background:var(--menuLayer);
  border:none;
  border-radius:28px;
  padding:0;
}

.faqIntro{
  margin:0 0 18px;
  color:#0071e3 !important;
  font-family:inherit;
  font-size:32px;
  line-height:1.16;
  letter-spacing:-.01em;
  font-weight:640;
  transition:none;
}

.faqCard.faqCardActive .faqIntro{
  color:#0071e3 !important;
}

@media (max-width:920px){
  :root{
    --layout-padding-x:18px;
    --pageEdgePad:18px;
    --appleHeadingTracking:-.026em;
    --appleBodyTracking:-.006em;
  }

  .bookingHero:not(.animaCtaBand){
    min-height:520px;
  }

  .bookingHeroTitle{
    font-size:clamp(44px, 13vw, 76px);
  }

  .btn{
    width:100%;
    min-width:0;
  }

  :is(a, button).animaCtaButton,
  .articlePage [data-ratgeber-cta] .animaCtaButton{
    width:fit-content;
    max-width:var(--anima-cta-button-mobile-max-width);
    min-width:0;
    padding-inline:clamp(22px, 7vw, var(--anima-cta-button-padding-inline));
  }

  :is(a, button).animaCtaButton--solid,
  :is(a, button).animaCtaButton--glass{
    min-width:var(--anima-cta-button-min-width);
    padding-inline:var(--anima-cta-button-padding-inline);
  }

  .animaSection{
    padding-left:var(--pageEdgePad);
    padding-right:var(--pageEdgePad);
  }

  .animaCard,
  .animaGlassCard{
    padding:var(--anima-card-padding-mobile);
  }
}

/* Scoped public document and status patterns. No Planner consumers. */

/* css/anima-legal-tokens.css: canonical shared owner. */
.animaLegalPage{
  --bg:var(--anima-page-bg, #f5f0eb);
  --paper:var(--anima-panel-bg, #f8f4ef);
  --text:var(--anima-ink, #2a2623);
  --muted:var(--anima-muted, #4f4944);
  --line:var(--anima-line-strong, rgba(42,38,35,.14));
  --safeTop:env(safe-area-inset-top, 0px);
  --headerH:64px;
  --headerIconStroke:1.65;
  --apple-ui-font:var(--anima-font-family);
  --appleBodyLargeSize:var(--anima-type-body-lg);
  --appleBodyTracking:var(--anima-type-body-letter-spacing);
  --appleBodyWeight:var(--anima-type-body-weight);
  --appleHeadingTracking:var(--anima-type-heading-letter-spacing);
  --appleHeadingWeight:var(--anima-type-heading-weight);
  --layout-max-width:var(--anima-container-wide-max, clamp(1240px, 88vw, 1720px));
  --layout-padding-x:var(--anima-layout-padding-x, clamp(22px, 3.4vw, 64px));
  --layout-inset:max(var(--layout-padding-x), calc((100vw - var(--layout-max-width)) / 2 + var(--layout-padding-x)));
  --pageShellMax:100%;
  --pageEdgePad:var(--layout-inset);
  --anima-legal-shell-width:min(100%, 920px);
  --anima-legal-reading-width:var(--anima-legal-shell-width);
  --anima-legal-document-reading-width:var(--anima-article-reading-width, min(760px, 100%));
  --anima-legal-mobile-width:calc(100% - (var(--pageEdgePad) * 2));
}


/* css/anima-legal-pages.css: canonical shared owner. */
.animaLegalPage *{box-sizing:border-box}
.animaLegalPage{scroll-behavior:smooth;background:var(--bg)}
.animaLegalPage{margin:0;font-family:var(--apple-ui-font);color:var(--text);background:var(--bg);min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.animaLegalPage a{color:inherit}

.animaLegalPage .page{width:100%;margin:0;padding:0;background:var(--bg)}
.animaLegalPage .hero{position:relative;min-height:var(--anima-hero-viewport-height);margin:0;display:flex;align-items:flex-end;overflow:hidden;background:#8d665d;color:#fff}
.animaLegalPage .heroMedia,.animaLegalPage .heroMedia img,.animaLegalPage .heroOverlay{position:absolute;inset:0}
.animaLegalPage .heroMedia img{width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:brightness(.68) saturate(.9);transition:filter .22s ease, transform .22s ease}
.animaLegalPage .heroOverlay{background:linear-gradient(90deg, rgba(58,34,31,.34) 0%, rgba(58,34,31,.12) 52%, rgba(58,34,31,.22) 100%),linear-gradient(180deg, rgba(20,14,12,.22) 0%, rgba(20,14,12,.08) 38%, rgba(20,14,12,.3) 100%);pointer-events:none}
.animaLegalPage .heroContent{box-sizing:border-box;position:relative;z-index:1;min-height:var(--anima-hero-viewport-height);width:min(100%, var(--pageShellMax));margin:0 auto;padding:var(--anima-hero-content-pad-top) var(--pageEdgePad) var(--anima-hero-content-pad-bottom);color:#fff;text-align:center;display:grid;justify-items:center;align-content:end}
.animaLegalPage .heroTitle{margin:0;max-width:var(--anima-container-reading-wide);color:#fff;font-size:var(--anima-type-hero);line-height:var(--anima-type-hero-line-height);letter-spacing:var(--anima-type-hero-letter-spacing);font-weight:var(--anima-type-hero-weight);text-wrap:balance;overflow-wrap:anywhere}
.animaLegalPage .heroTitle--narrow{max-width:var(--anima-container-reading)}
.animaLegalPage .heroTitle--with-subtitle{margin-bottom:var(--anima-gap-item)}
.animaLegalPage .legalSection{background:var(--paper);padding:var(--anima-gap-section) 0}
.animaLegalPage .legalShell{width:min(var(--anima-legal-shell-width), calc(100% - (var(--pageEdgePad) * 2)));max-width:var(--anima-legal-reading-width);margin:0 auto}
.animaLegalPage .sectionTitle{margin:0 0 var(--anima-gap-item);font-size:var(--anima-type-footnote);line-height:var(--anima-type-ui-line-height);font-weight:var(--anima-type-ui-weight);letter-spacing:var(--anima-type-ui-letter-spacing);text-transform:uppercase;color:rgba(42,38,35,.58)}
.animaLegalPage .legalText{margin:0;color:var(--muted);font-size:var(--appleBodyLargeSize);line-height:var(--anima-type-body-lg-line-height);letter-spacing:var(--appleBodyTracking);font-weight:var(--appleBodyWeight)}
.animaLegalPage .legalText a{text-decoration:none;border-bottom:1px solid rgba(42,38,35,.28)}
.animaLegalPage .legalAdditions{margin-top:var(--anima-gap-content)}
.animaLegalPage .legalAdditions p{margin:0 0 var(--anima-gap-item)}
.animaLegalPage .legalAdditions p:last-child{margin-bottom:0}
.animaLegalPage .legalAdditions strong{color:var(--text);font-weight:var(--anima-type-ui-weight)}
.animaLegalPage .aside{display:grid;grid-template-columns:repeat(2,minmax(0, 1fr));gap:var(--anima-gap-layout);padding-left:0;margin-top:var(--anima-gap-section)}
.animaLegalPage .asideCard{border-top:1px solid var(--line);border-radius:0;padding:var(--anima-gap-content) 0 0;background:transparent}
.animaLegalPage .asideCard h2{margin:0 0 var(--anima-space-sm);color:var(--text);font-size:var(--anima-type-h3);line-height:var(--anima-type-subheading-line-height);letter-spacing:var(--anima-type-subheading-letter-spacing);font-weight:var(--appleHeadingWeight)}
.animaLegalPage .asideCard p{margin:0;color:var(--muted);font-size:var(--anima-type-body);line-height:var(--anima-type-body-line-height);font-weight:var(--anima-type-body-weight);letter-spacing:0}
.animaLegalPage .asideCard a{text-decoration:none;border-bottom:1px solid rgba(42,38,35,.28)}
.animaLegalPage .legalDoc{display:grid;grid-template-columns:minmax(0,1fr);gap:0;max-width:var(--anima-legal-document-reading-width);overflow-wrap:anywhere}
.animaLegalPage .legalDoc[hidden]{display:none}
.animaLegalPage .legalDoc h2{margin:0 0 var(--anima-space-xs);color:var(--text);font-size:var(--anima-type-section);line-height:var(--anima-type-heading-line-height);letter-spacing:var(--anima-type-heading-letter-spacing);font-weight:var(--appleHeadingWeight)}
.animaLegalPage .legalDoc h3{margin:var(--anima-gap-content) 0 var(--anima-space-sm);padding-top:var(--anima-gap-content);border-top:1px solid var(--line);color:var(--text);font-size:var(--anima-type-h3);line-height:var(--anima-type-subheading-line-height);letter-spacing:var(--anima-type-subheading-letter-spacing);font-weight:var(--appleHeadingWeight)}
.animaLegalPage .legalDoc p{margin:0 0 var(--anima-space-sm);color:var(--muted);font-size:var(--anima-type-body);line-height:var(--anima-type-body-line-height);letter-spacing:var(--appleBodyTracking);font-weight:var(--appleBodyWeight)}
.animaLegalPage .legalDoc .docMeta{margin:0 0 var(--anima-space-2xs);color:rgba(42,38,35,.58);font-weight:var(--anima-type-ui-weight)}
.animaLegalPage .legalDoc .listLine{position:relative;margin-left:var(--anima-space-md)}
.animaLegalPage .legalDoc .listLine::before{content:"";position:absolute;left:calc(var(--anima-space-md) * -1);top:.78em;width:5px;height:5px;border-radius:50%;background:rgba(42,38,35,.46)}

@media (max-width:920px){
  .animaLegalPage .legalShell{width:var(--anima-legal-mobile-width);max-width:var(--anima-legal-mobile-width)}
  .animaLegalPage .aside{grid-template-columns:1fr}
}


/* css/anima-status-pages.css: canonical shared owner. */
/* Shared status/utility page layout. */
.animaStatusPage{
  --status-bg:var(--anima-page-bg, #f7f5f3);
  --status-card:var(--anima-panel-bg, #ffffff);
  --status-text:var(--anima-ink, #221d1a);
  --status-muted:var(--anima-muted, #766c65);
  --status-accent:var(--anima-ink, #221d1a);
  --status-document-bg:#ffffff;
  --status-body-min-height:100vh;
  --status-body-min-height-svh:100svh;
  --status-body-safe-padding-top:env(safe-area-inset-top, 0px);
  --status-body-bg:var(--anima-page-bg, #f6f0ea);
  --status-card-page-bg:radial-gradient(circle at top left, rgba(255,255,255,.95) 0%, rgba(255,255,255,0) 42%), linear-gradient(180deg, #faf7f3 0%, #eee7e1 100%);
  --status-screen-min-height:calc(100vh - env(safe-area-inset-top, 0px));
  --status-screen-min-height-svh:calc(100svh - env(safe-area-inset-top, 0px));
  --status-screen-padding:var(--anima-gap-section);
  --status-screen-bg:var(--anima-page-bg, #f6f0ea);
  --status-card-screen-min-height:calc(100vh - var(--headerH, 62px));
  --status-card-screen-min-height-svh:calc(100svh - var(--headerH, 62px));
  --status-card-screen-padding:var(--anima-space-lg);
  --status-card-screen-bg:transparent;
  --status-content-width:var(--anima-container-reading, min(100%, 680px));
  --status-content-gap:var(--anima-gap-content);
  --status-content-text-align:center;
  --status-card-width:var(--status-content-width);
  --status-card-padding:var(--anima-card-padding);
  --status-card-radius:var(--anima-card-radius);
  --status-card-bg:var(--anima-card-bg);
  --status-card-shadow:var(--anima-card-shadow);
  --status-card-border:var(--anima-card-border);
  --status-card-text-align:left;
  --status-eyebrow-margin-bottom:var(--anima-space-sm);
  --status-eyebrow-padding:var(--anima-space-xs) var(--anima-space-sm);
  --status-eyebrow-radius:var(--anima-radius-pill);
  --status-eyebrow-bg:rgba(34,29,26,.06);
  --status-eyebrow-text:#6b625c;
  --status-eyebrow-font-size:var(--anima-type-footnote);
  --status-eyebrow-letter-spacing:var(--anima-type-ui-letter-spacing);
  --status-title-font-size:var(--anima-type-section);
  --status-title-line-height:var(--anima-type-heading-line-height);
  --status-title-font-weight:var(--anima-type-heading-weight);
  --status-card-title-margin-bottom:var(--anima-space-sm);
  --status-card-title-line-height:var(--anima-type-heading-line-height);
  --status-copy-font-size:var(--anima-type-body);
  --status-copy-line-height:var(--anima-type-body-line-height);
  --status-warning-copy-gap:var(--anima-gap-item);
  --status-warning-copy-max-width:var(--anima-container-reading-wide);
  --status-warning-copy-font-size:var(--anima-type-body);
  --status-warning-copy-line-height:var(--anima-type-body-line-height);
  --status-warning-copy-font-weight:var(--anima-type-body-weight);
  --status-actions-gap:var(--anima-space-sm);
  --status-actions-margin-top:var(--anima-gap-content);
  --status-button-min-height:var(--anima-button-min-height);
  --status-button-min-width:var(--anima-cta-button-min-width);
  --status-button-padding-x:var(--anima-button-padding-x);
  --status-button-border:var(--anima-line-strong);
  --status-button-radius:var(--anima-button-radius);
  --status-button-bg:#fff;
  --status-button-text:var(--status-accent);
  --status-button-font-size:var(--anima-type-button);
  --status-button-line-height:var(--anima-type-ui-line-height);
  --status-button-font-weight:var(--anima-home-button-font-weight);
  --status-button-primary-bg:var(--status-accent);
  --status-button-primary-text:#fff;
  --status-button-primary-border:var(--status-accent);
  --status-button-success-min-width:var(--anima-cta-button-min-width);
  --status-button-success-bg:var(--success-accent, #67ef9d);
  --status-button-success-border:var(--success-accent, #67ef9d);
  --status-button-success-text:#000000;
  --status-button-success-font-weight:var(--anima-home-button-font-weight);
  --status-support-cta-display:inline-flex;
  --status-support-cta-align-items:center;
  --status-support-cta-justify-content:center;
  --status-support-cta-min-height:var(--anima-button-min-height);
  --status-support-cta-min-width:var(--anima-cta-button-min-width);
  --status-support-cta-padding-block:var(--anima-button-padding-block);
  --status-support-cta-padding-inline:var(--anima-button-padding-x);
  --status-support-cta-border:var(--success-accent, #67ef9d);
  --status-support-cta-radius:var(--anima-button-radius, 999px);
  --status-support-cta-bg:var(--success-accent, #67ef9d);
  --status-support-cta-text:#000000;
  --status-support-cta-font-size:var(--anima-type-button);
  --status-support-cta-line-height:var(--anima-type-ui-line-height);
  --status-support-cta-letter-spacing:var(--anima-type-ui-letter-spacing);
  --status-support-cta-font-weight:var(--anima-home-button-font-weight);
  --status-support-cta-shadow:none;
  --status-support-cta-backdrop:none;
  --status-support-cta-transition:transform .18s ease;
  --status-support-cta-bg-hover:var(--success-accent, #67ef9d);
  --status-support-cta-text-hover:#000000;
  --status-support-cta-mobile-width:100%;
  --status-support-cta-mobile-min-width:0;
  --status-screen-mobile-padding:var(--anima-space-lg);
  --status-content-mobile-gap:var(--anima-gap-content);
  --status-title-mobile-font-size:var(--status-title-font-size);
  --status-warning-copy-mobile-font-size:var(--status-warning-copy-font-size);
  --status-warning-copy-mobile-line-height:var(--status-warning-copy-line-height);
  --status-warning-copy-mobile-gap:var(--status-warning-copy-gap);
  --status-button-mobile-min-width:min(100%, var(--status-button-min-width));
}
.animaStatusPage *{box-sizing:border-box}
.animaStatusPage{min-height:100%;background:var(--status-document-bg)}
.animaStatusPage{
  margin:0;
  min-height:var(--status-body-min-height);
  min-height:var(--status-body-min-height-svh);
  padding-top:var(--status-body-safe-padding-top);
  font-family:var(--anima-font-family);
  color:var(--status-text);
  background:var(--status-body-bg);
}
.animaStatusPage.statusCardPage{
  background:var(--status-card-page-bg);
}
.animaStatusPage .statusScreen{
  min-height:var(--status-screen-min-height);
  min-height:var(--status-screen-min-height-svh);
  display:grid;
  place-items:center;
  padding:var(--status-screen-padding);
  background:var(--status-screen-bg);
}
.animaStatusPage.statusCardPage .statusScreen{
  min-height:var(--status-card-screen-min-height);
  min-height:var(--status-card-screen-min-height-svh);
  padding:var(--status-card-screen-padding);
  background:var(--status-card-screen-bg);
}
.animaStatusPage .statusContent{
  width:var(--status-content-width);
  display:grid;
  gap:var(--status-content-gap);
  text-align:var(--status-content-text-align);
  justify-items:center;
}
.animaStatusPage .statusCard{
  width:var(--status-card-width);
  padding:var(--status-card-padding);
  border-radius:var(--status-card-radius);
  background:var(--status-card-bg);
  box-shadow:var(--status-card-shadow);
  border:var(--status-card-border);
  text-align:var(--status-card-text-align);
}
.animaStatusPage .statusEyebrow{
  display:inline-flex;
  align-items:center;
  margin-bottom:var(--status-eyebrow-margin-bottom);
  padding:var(--status-eyebrow-padding);
  border-radius:var(--status-eyebrow-radius);
  background:var(--status-eyebrow-bg);
  color:var(--status-eyebrow-text);
  font-size:var(--status-eyebrow-font-size);
  letter-spacing:var(--status-eyebrow-letter-spacing);
  text-transform:uppercase;
  font-weight:700;
}
.animaStatusPage .statusTitle{
  margin:0;
  font-size:var(--status-title-font-size);
  line-height:var(--status-title-line-height);
  letter-spacing:var(--anima-type-heading-letter-spacing);
  font-weight:var(--status-title-font-weight);
}
.animaStatusPage .statusCard .statusTitle{margin-bottom:var(--status-card-title-margin-bottom);line-height:var(--status-card-title-line-height)}
.animaStatusPage .statusText,
.animaStatusPage .warning-copy{
  margin:0;
  color:var(--status-muted);
  font-size:var(--status-copy-font-size);
  line-height:var(--status-copy-line-height);
  font-weight:var(--anima-type-body-weight);
  letter-spacing:0;
}
.animaStatusPage .warning-copy{
  display:grid;
  gap:var(--status-warning-copy-gap);
  max-width:var(--status-warning-copy-max-width);
  color:var(--status-text);
  font-size:var(--status-warning-copy-font-size);
  line-height:var(--status-warning-copy-line-height);
  font-weight:var(--status-warning-copy-font-weight);
}
.animaStatusPage .warning-copy p{margin:0}
.animaStatusPage .statusActions{
  display:flex;
  gap:var(--status-actions-gap);
  flex-wrap:wrap;
  margin-top:var(--status-actions-margin-top);
}
.animaStatusPage .statusBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:var(--status-button-min-height);
  min-width:var(--status-button-min-width);
  padding:var(--anima-button-padding-block) var(--status-button-padding-x);
  border:1px solid var(--status-button-border);
  border-radius:var(--status-button-radius);
  background:var(--status-button-bg);
  color:var(--status-button-text);
  text-decoration:none;
  font-size:var(--status-button-font-size);
  line-height:var(--status-button-line-height);
  font-weight:var(--status-button-font-weight);
  letter-spacing:0;
  box-shadow:none;
  transition:transform .18s ease;
}
.animaStatusPage .statusBtn:hover{transform:translateY(-1px)}
.animaStatusPage .statusBtn:active{transform:translateY(0)}
.animaStatusPage .statusBtn.primary{
  background:var(--status-button-primary-bg);
  color:var(--status-button-primary-text);
  border-color:var(--status-button-primary-border);
}
.animaStatusPage .statusBtn.success{
  min-width:var(--status-button-success-min-width);
  background:var(--status-button-success-bg);
  border-color:var(--status-button-success-border);
  color:var(--status-button-success-text);
  font-weight:var(--status-button-success-font-weight);
}
.animaStatusPage .statusContent[data-i18n-content-root="booking-warning"] #bookingLink.btn{
  display:var(--status-support-cta-display);
  align-items:var(--status-support-cta-align-items);
  justify-content:var(--status-support-cta-justify-content);
  min-height:var(--status-support-cta-min-height);
  min-width:var(--status-support-cta-min-width);
  padding:var(--status-support-cta-padding-block) var(--status-support-cta-padding-inline);
  border:1px solid var(--status-support-cta-border);
  border-radius:var(--status-support-cta-radius);
  background:var(--status-support-cta-bg);
  color:var(--status-support-cta-text);
  text-decoration:none;
  font-size:var(--status-support-cta-font-size);
  line-height:var(--status-support-cta-line-height);
  letter-spacing:var(--status-support-cta-letter-spacing);
  font-weight:var(--status-support-cta-font-weight);
  box-shadow:var(--status-support-cta-shadow);
  backdrop-filter:var(--status-support-cta-backdrop);
  -webkit-backdrop-filter:var(--status-support-cta-backdrop);
  transition:var(--status-support-cta-transition);
}
.animaStatusPage .statusContent[data-i18n-content-root="booking-warning"] #bookingLink.btn:hover{
  background:var(--status-support-cta-bg-hover);
  color:var(--status-support-cta-text-hover);
  transform:translateY(-1px);
}
.animaStatusPage .statusContent[data-i18n-content-root="booking-warning"] #bookingLink.btn:active{
  transform:translateY(0);
}
.animaStatusPage .i18nStatus{font-weight:600}
@media (max-width:560px){
  .animaStatusPage .statusScreen{padding:var(--status-screen-mobile-padding)}
  .animaStatusPage .statusContent{gap:var(--status-content-mobile-gap)}
  .animaStatusPage .statusTitle{font-size:var(--status-title-mobile-font-size)}
  .animaStatusPage .warning-copy{font-size:var(--status-warning-copy-mobile-font-size);line-height:var(--status-warning-copy-mobile-line-height);gap:var(--status-warning-copy-mobile-gap)}
  .animaStatusPage .statusBtn{min-width:var(--status-button-mobile-min-width)}
  .animaStatusPage .statusContent[data-i18n-content-root="booking-warning"] #bookingLink.btn{
    width:var(--status-support-cta-mobile-width);
    min-width:var(--status-support-cta-mobile-min-width);
  }
}


/* css/anima-membership-terms.css: canonical shared owner. */
/* Shared membership contract-page layout. */
.membershipTermsPage{
  --anima-membership-bg:#fff;
  --anima-membership-text:var(--anima-ink-dark, #111218);
  --anima-membership-muted:rgba(17,18,24,.64);
  --anima-membership-line:rgba(17,18,24,.12);
  --anima-membership-body-color:rgba(17,18,24,.82);
  --anima-membership-shell-width:min(var(--anima-container-reading-wide), calc(100% - (var(--anima-container-page-edge-pad) * 2)));
  --anima-membership-shell-padding:calc(var(--headerH, 64px) + var(--anima-gap-section)) 0 var(--anima-gap-section);
  --anima-membership-font-family:var(--anima-font-family);
  --anima-membership-h1-margin:0 0 var(--anima-gap-content);
  --anima-membership-h1-size:var(--anima-type-section);
  --anima-membership-h1-line-height:var(--anima-type-heading-line-height);
  --anima-membership-h2-margin:var(--anima-gap-content) 0 var(--anima-space-sm);
  --anima-membership-h2-padding-top:var(--anima-gap-content);
  --anima-membership-h2-size:var(--anima-type-h3);
  --anima-membership-h2-line-height:var(--anima-type-subheading-line-height);
  --anima-membership-body-size:var(--anima-type-body);
  --anima-membership-body-line-height:var(--anima-type-body-line-height);
  --anima-membership-paragraph-margin:0 0 var(--anima-space-sm);
  --anima-membership-list-margin:0 0 var(--anima-gap-item) var(--anima-gap-content);
}

.membershipTermsPage *{box-sizing:border-box}
.membershipTermsPage{background:var(--anima-membership-bg)}
.membershipTermsPage{
  margin:0;
  background:var(--anima-membership-bg);
  color:var(--anima-membership-text);
  font-family:var(--anima-membership-font-family);
  -webkit-font-smoothing:antialiased;
}
.membershipTermsPage .membershipTermsShell{
  width:var(--anima-membership-shell-width);
  margin:0 auto;
  padding:var(--anima-membership-shell-padding);
}
.membershipTermsPage .membershipTermsDoc h1{
  margin:var(--anima-membership-h1-margin);
  font-size:var(--anima-membership-h1-size);
  line-height:var(--anima-membership-h1-line-height);
  letter-spacing:var(--anima-type-heading-letter-spacing);
  font-weight:var(--anima-type-heading-weight);
}
.membershipTermsPage .membershipTermsDoc h2{
  margin:var(--anima-membership-h2-margin);
  padding-top:var(--anima-membership-h2-padding-top);
  border-top:1px solid var(--anima-membership-line);
  font-size:var(--anima-membership-h2-size);
  line-height:var(--anima-membership-h2-line-height);
  letter-spacing:var(--anima-type-subheading-letter-spacing);
  font-weight:var(--anima-type-subheading-weight);
}
.membershipTermsPage .membershipTermsDoc p,
.membershipTermsPage .membershipTermsDoc ul{
  color:var(--anima-membership-body-color);
  font-size:var(--anima-membership-body-size);
  line-height:var(--anima-membership-body-line-height);
  font-weight:var(--anima-type-body-weight);
  letter-spacing:0;
}
.membershipTermsPage .membershipTermsDoc p{margin:var(--anima-membership-paragraph-margin)}
.membershipTermsPage .membershipTermsDoc ul{
  margin:var(--anima-membership-list-margin);
  padding:0;
}
.membershipTermsPage .membershipTermsMeta,
.membershipTermsPage .membershipTermsDoc .meta{color:var(--anima-membership-muted);font-weight:700}
.membershipTermsPage .membershipTermsProvider,
.membershipTermsPage .membershipTermsDoc .provider{white-space:pre-line}
.membershipTermsPage .membershipTermsStatus,
.membershipTermsPage .membershipTermsDoc .i18nStatus{color:var(--anima-membership-muted)}


/* Service pricing visual tokens: opt-in shared owner; legacy hooks remain runtime-compatible. */
.animaServicePricing{
  --anima-service-action-bg:var(--anima-ink-dark, #0b0b0f);
  --anima-service-action-bg-hover:#171514;
  --anima-service-action-text:#fff;
  --anima-service-action-radius:var(--anima-button-radius, 999px);
  --anima-service-action-row-width:var(--anima-home-button-min-width, 160px);
  --anima-service-action-row-width-compact:var(--anima-home-button-mobile-min-width, 140px);
  --anima-service-action-care-width:210px;
  --anima-service-action-raised-bg:var(--anima-service-action-bg);
  --anima-service-action-raised-bg-hover:var(--anima-service-action-bg-hover);
  --anima-service-action-raised-border:var(--anima-home-button-primary-border, transparent);
  --anima-service-action-raised-border-hover:var(--anima-home-button-primary-border, transparent);
  --anima-service-action-raised-shadow:none;
  --anima-service-pricing-intro-gap:12px;
  --anima-service-pricing-intro-max-width:1320px;
  --anima-service-pricing-intro-text-color:var(--detox-ph-text-soft);
  --anima-service-pricing-intro-text-size:clamp(18px, 1.45vw, 24px);
  --anima-service-pricing-intro-text-line-height:1.55;
  --anima-service-pricing-tabs-gap:20px;
  --anima-service-pricing-tabs-max-width:1120px;
  --anima-service-pricing-panel-gap:18px;
  --anima-service-pricing-panel-padding:clamp(20px, 2.4vw, 28px) clamp(16px, 1.5vw, 24px) 0;
  --anima-service-pricing-panel-padding-mobile:18px 14px 0;
  --anima-service-pricing-panel-bg:transparent;
  --anima-service-pricing-panel-border:none;
  --anima-service-pricing-panel-border-top:1px solid var(--detox-ph-border-mid);
  --anima-service-pricing-panel-radius:0;
  --anima-service-pricing-table-gap:0;
  --anima-service-pricing-table-head-columns:minmax(0, 1fr) minmax(180px, 240px) 180px;
  --anima-service-pricing-table-head-columns-mobile:1fr auto;
  --anima-service-pricing-table-head-gap:18px;
  --anima-service-pricing-table-head-gap-mobile:14px;
  --anima-service-pricing-table-head-padding:0 clamp(12px, 1.2vw, 18px) 16px;
  --anima-service-pricing-table-head-border-bottom:1px solid var(--detox-ph-border-soft);
  --anima-service-pricing-head-label-color:var(--detox-ph-text);
  --anima-service-pricing-head-label-size:clamp(14px, .95vw, 17px);
  --anima-service-pricing-head-label-line-height:1.2;
  --anima-service-pricing-head-label-letter-spacing:.16em;
  --anima-service-pricing-head-label-weight:800;
  --anima-service-pricing-row-columns:minmax(0, 1fr) minmax(180px, 240px) 180px;
  --anima-service-pricing-row-columns-mobile:minmax(0, 1fr) auto;
  --anima-service-pricing-row-gap:18px;
  --anima-service-pricing-row-gap-mobile:16px;
  --anima-service-pricing-row-padding:20px clamp(12px, 1.2vw, 18px);
  --anima-service-pricing-row-padding-mobile:18px 14px;
  --anima-service-pricing-row-min-height:92px;
  --anima-service-pricing-row-min-height-mobile:110px;
  --anima-service-pricing-row-radius:0;
  --anima-service-pricing-row-bg:transparent;
  --anima-service-pricing-row-border:none;
  --anima-service-pricing-row-border-bottom:1px solid var(--detox-ph-border-soft);
  --anima-service-pricing-row-main-gap:0;
  --anima-service-pricing-row-main-gap-mobile:8px;
  --anima-service-pricing-row-main-min-height:48px;
  --anima-service-pricing-row-main-min-height-mobile:60px;
  --anima-service-pricing-title-color:var(--detox-ph-text);
  --anima-service-pricing-title-size:clamp(21px, 1.7vw, 27px);
  --anima-service-pricing-title-line-height:1.2;
  --anima-service-pricing-title-weight:700;
  --anima-service-pricing-raised-title-weight:760;
  --anima-service-pricing-raised-title-letter-spacing:-.02em;
  --anima-service-pricing-price-color:var(--detox-ph-text);
  --anima-service-pricing-price-size:clamp(24px, 1.9vw, 32px);
  --anima-service-pricing-price-mobile-size:28px;
  --anima-service-pricing-price-compact-size:clamp(21px, 6vw, 28px);
  --anima-service-pricing-price-line-height:1.1;
  --anima-service-pricing-price-compact-line-height:1.2;
  --anima-service-pricing-price-weight:760;
  --anima-service-pricing-stack-gap:0;
  --anima-service-pricing-care-gap:14px;
  --anima-service-pricing-care-gap-mobile:18px;
  --anima-service-pricing-care-padding:24px clamp(16px, 1.6vw, 26px) 0;
  --anima-service-pricing-care-padding-mobile:20px 16px 0;
  --anima-service-pricing-care-min-height:122px;
  --anima-service-pricing-care-radius:0;
  --anima-service-pricing-care-bg:transparent;
  --anima-service-pricing-care-border:none;
  --anima-service-pricing-care-border-top:1px solid var(--detox-ph-border-mid);
  --anima-service-pricing-care-max-width:1120px;
  --anima-service-pricing-care-text-max-width-mobile:620px;
  --anima-service-pricing-care-text-color:var(--detox-ph-text-soft);
  --anima-service-pricing-care-text-size:clamp(17px, 1.2vw, 20px);
  --anima-service-pricing-care-text-line-height:1.6;
  --anima-service-pricing-consult-margin:10px 0 0;
  --anima-service-pricing-consult-action-margin-top:18px;}


/* Format summaries in split columns need intrinsic stacked rows, not desktop table tracks. */
.animaServicePricing--compact .pricingRow{
  grid-template-columns:minmax(0, 1fr);
  justify-items:start;
}
.animaServicePricing--compact .pricingRow > :is(.pricingRowMain, .pricingPrice, .pricingAction){
  grid-column:1;
  grid-row:auto;
  min-width:0;
  max-width:100%;
  justify-self:start;
  text-align:left;
}
.animaServicePricing--compact .pricingPrice{
  white-space:normal;
}
.animaServicePricing--compact .pricingRowTitle{
  overflow-wrap:anywhere;
}

/* Service pricing composition: opt-in shared owner; legacy hooks remain runtime-compatible. */
.storyPanel--pricingSection:where(.animaServicePricing){
      color:var(--text);
      position:var(--anima-service-story-panel-position);
      display:var(--anima-service-story-panel-display);
      grid-template-columns:var(--anima-service-story-panel-columns);
      overflow:var(--anima-service-story-panel-overflow);
      border:var(--anima-service-story-panel-border);
      box-shadow:var(--anima-service-story-panel-shadow);
      background:var(--anima-service-story-panel-bg);
      z-index:var(--anima-service-story-panel-z);
    }
    .storyPanel--pricingSection:where(.animaServicePricing) .storyPanelCopy{
      display:var(--anima-service-story-copy-display);
      flex-direction:var(--anima-service-story-copy-direction);
      gap:var(--anima-service-story-copy-gap);
      font-family:var(--anima-font-text, -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);
      min-height:auto;
      justify-content:flex-start;
      align-items:center;
      text-align:center;
      padding-block:clamp(28px, 4vw, 52px);
      padding-inline:clamp(30px, 5vw, 78px);
      background:var(--detox-ph-bg-cream);
    }
    :where(.animaServicePricing) .pricingShowcase{
      display:grid;
      gap:28px;
      width:100%;
      max-width:1120px;
      margin:0 auto;
    }
        .storyPanel--pricingSection:where(.animaServicePricing) .storyPanelBody{
          display:var(--anima-service-story-body-display);
          gap:var(--anima-service-story-body-gap);
          align-content:var(--anima-service-story-body-align-content);
          justify-items:center;
        }
    .storyPanel--pricingSection:where(.animaServicePricing) .storyPanelTitle{
      width:100%;
      max-width:none;
      margin:0 auto;
      text-align:center;
      font-size:var(--detoxLargeHeadingSize);
      line-height:var(--detoxLargeHeadingLineHeight);
      letter-spacing:var(--detoxLargeHeadingLetterSpacing);
      font-weight:var(--detoxLargeHeadingWeight);
      color:var(--detox-ph-text);
      text-wrap:balance;
    }
    :where(.animaServicePricing) .pricingIntro{
      display:grid;
      gap:var(--anima-service-pricing-intro-gap);
      width:100%;
      max-width:var(--anima-service-pricing-intro-max-width);
      margin:0 auto;
      justify-items:center;
      text-align:center;
    }
    :where(.animaServicePricing) .pricingIntro p{
      margin:0;
      color:var(--anima-service-pricing-intro-text-color);
      font-size:var(--anima-service-pricing-intro-text-size);
      line-height:var(--anima-service-pricing-intro-text-line-height);
    }
    :where(.animaServicePricing) .pricingTabs{
      display:grid;
      gap:var(--anima-service-pricing-tabs-gap);
      width:100%;
      max-width:var(--anima-service-pricing-tabs-max-width);
      margin:0 auto;
    }
    :where(.animaServicePricing) .pricingTabButtons{
      display:grid;
      grid-template-columns:repeat(4, minmax(0, 1fr));
      gap:12px;
    }
    :where(.animaServicePricing) .pricingTab{
      appearance:none;
      border:1px solid var(--detox-ph-border-strong);
      background:rgba(255,255,255,.36);
      color:var(--detox-ph-text-softstone-muted);
      border-radius:0;
      min-height:var(--anima-service-before-after-tab-button-min-height);
      padding:var(--anima-service-before-after-tab-button-padding);
      font:inherit;
      font-size:var(--anima-service-type-before-after-tab-size);
      line-height:var(--anima-service-type-before-after-tab-line-height);
      font-weight:var(--anima-service-type-before-after-tab-weight);
      letter-spacing:var(--anima-service-type-before-after-tab-tracking);
      text-transform:var(--anima-service-before-after-tab-button-text-transform);
      cursor:pointer;
      transition:background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
    }
    :where(.animaServicePricing) .pricingTab.is-active{
      background:var(--detox-ph-tab-active);
      color:var(--detox-ph-white);
      border-color:var(--detox-ph-tab-active);
      box-shadow:none;
    }
    :where(.animaServicePricing) .pricingPanel{
      display:grid;
      gap:var(--anima-service-pricing-panel-gap);
      padding:var(--anima-service-pricing-panel-padding);
      min-height:var(--pricing-panels-min-height, auto);
      align-content:start;
      background:var(--anima-service-pricing-panel-bg);
      border:var(--anima-service-pricing-panel-border);
      border-top:var(--anima-service-pricing-panel-border-top);
    }
    :where(.animaServicePricing) .pricingPanel[hidden]{
      display:none;
    }
    :where(.animaServicePricing) .pricingTable{
      display:grid;
      gap:var(--anima-service-pricing-table-gap);
    }
    :where(.animaServicePricing) .pricingTableHead{
      display:grid;
      grid-template-columns:var(--anima-service-pricing-table-head-columns);
      align-items:end;
      gap:var(--anima-service-pricing-table-head-gap);
      padding:var(--anima-service-pricing-table-head-padding);
      border-bottom:var(--anima-service-pricing-table-head-border-bottom);
    }
    :where(.animaServicePricing) .pricingHeadLabel{
      margin:0;
      color:var(--anima-service-pricing-head-label-color);
      font-size:var(--anima-service-pricing-head-label-size);
      line-height:var(--anima-service-pricing-head-label-line-height);
      letter-spacing:var(--anima-service-pricing-head-label-letter-spacing);
      text-transform:uppercase;
      font-weight:var(--anima-service-pricing-head-label-weight);
      text-align:left;
      justify-self:start;
    }
    :where(.animaServicePricing) .pricingHeadLabel--price{
      text-align:right;
      justify-self:end;
    }
    :where(.animaServicePricing) .pricingRow{
      display:grid;
      grid-template-columns:var(--anima-service-pricing-row-columns);
      align-items:center;
      gap:var(--anima-service-pricing-row-gap);
      padding:var(--anima-service-pricing-row-padding);
      min-height:var(--anima-service-pricing-row-min-height);
      border-radius:var(--anima-service-pricing-row-radius);
      background:var(--anima-service-pricing-row-bg);
      border:var(--anima-service-pricing-row-border);
      border-bottom:var(--anima-service-pricing-row-border-bottom);
    }
    :where(.animaServicePricing) .pricingRowMain{
      display:grid;
      min-width:0;
      gap:var(--anima-service-pricing-row-main-gap);
      align-content:center;
      min-height:var(--anima-service-pricing-row-main-min-height);
    }
    :where(.animaServicePricing) .pricingRowTitle{
      margin:0;
      min-width:0;
      overflow-wrap:anywhere;
      color:var(--anima-service-pricing-title-color);
      font-size:var(--anima-service-pricing-title-size);
      line-height:var(--anima-service-pricing-title-line-height);
      font-weight:var(--anima-service-pricing-title-weight);
      text-align:left;
    }
    :where(.animaServicePricing) .pricingPrice{
      color:var(--anima-service-pricing-price-color);
      font-size:var(--anima-service-pricing-price-size);
      line-height:var(--anima-service-pricing-price-line-height);
      font-weight:var(--anima-service-pricing-price-weight);
      white-space:nowrap;
      text-align:right;
      align-self:center;
    }
    :where(.animaServicePricing) .pricingAction{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:var(--anima-button-min-height, 48px);
      padding:var(--anima-home-button-padding-block, 12px) var(--anima-home-button-padding-inline, 18px);
      border-radius:var(--anima-service-action-radius);
      border:1px solid var(--anima-service-action-raised-border);
      background:var(--anima-service-action-bg);
      color:var(--anima-service-action-text);
      text-decoration:none;
      font-size:var(--anima-home-button-font-size, var(--anima-service-type-button-size));
      line-height:var(--anima-service-type-button-line-height);
      font-weight:var(--anima-home-button-font-weight, var(--anima-service-type-emphasis-weight));
      letter-spacing:0;
      transition:background .2s ease, transform .2s ease;
      white-space:nowrap;
      position:relative;
      z-index:2;
      pointer-events:auto;
      box-shadow:var(--anima-service-action-raised-shadow);
    }
    :where(.animaServicePricing) .pricingRow .pricingAction{
      justify-self:end;
      width:var(--anima-service-action-row-width);
      max-width:var(--anima-service-action-row-width);
      align-self:center;
    }
    :where(.animaServicePricing) .pricingAction:hover{
      background:var(--anima-service-action-bg-hover);
      transform:translateY(-1px);
    }
    :where(.animaServicePricing) .pricingStack{
      display:grid;
      gap:var(--anima-service-pricing-stack-gap);
      max-width:none;
    }
    :where(.animaServicePricing) .pricingCareNote{
      display:grid;
      gap:var(--anima-service-pricing-care-gap);
      padding:var(--anima-service-pricing-care-padding);
      min-height:var(--anima-service-pricing-care-min-height);
      align-content:start;
      border-radius:var(--anima-service-pricing-care-radius);
      background:var(--anima-service-pricing-care-bg);
      border:var(--anima-service-pricing-care-border);
      border-top:var(--anima-service-pricing-care-border-top);
      max-width:var(--anima-service-pricing-care-max-width);
      margin:0 auto;
      justify-items:center;
      text-align:center;
    }
    :where(.animaServicePricing) .pricingCareNote p{
      margin:0;
      color:var(--anima-service-pricing-care-text-color);
      font-size:var(--anima-service-pricing-care-text-size);
      line-height:var(--anima-service-pricing-care-text-line-height);
    }
    :where(.animaServicePricing) .pricingCareNote .pricingAction{
      justify-self:center;
      width:auto;
      min-width:var(--anima-service-action-care-width);
      max-width:none;
    }
    :where(.animaServicePricing) .pricingConsultNote{
      margin:var(--anima-service-pricing-consult-margin);
    }
    :where(.animaServicePricing) .pricingConsultNote + .pricingAction{
      margin-top:var(--anima-service-pricing-consult-action-margin-top);
    }

    @media (max-width:920px){
      :where(.animaServicePricing) .pricingTabButtons{
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }
      :where(.animaServicePricing) .pricingTab{
        padding:16px 12px;
        font-size:14px;
      }
      :where(.animaServicePricing) .pricingPanel{
        padding:var(--anima-service-pricing-panel-padding-mobile);
        border-radius:var(--anima-service-pricing-panel-radius);
      }
      :where(.animaServicePricing) .pricingRow{
        grid-template-columns:var(--anima-service-pricing-row-columns-mobile);
        align-items:center;
        gap:var(--anima-service-pricing-row-gap-mobile);
        padding:var(--anima-service-pricing-row-padding-mobile);
        min-height:var(--anima-service-pricing-row-min-height-mobile);
      }
      :where(.animaServicePricing) .pricingRowMain{
        gap:var(--anima-service-pricing-row-main-gap-mobile);
        align-content:center;
        min-height:var(--anima-service-pricing-row-main-min-height-mobile);
      }
      :where(.animaServicePricing) .pricingRowMain,
:where(.animaServicePricing) .pricingPrice{
        grid-column:1;
      }
      :where(.animaServicePricing) .pricingAction{
        grid-column:2;
        grid-row:1 / span 2;
        align-self:center;
        justify-self:end;
        width:var(--anima-service-action-row-width-compact);
        min-width:var(--anima-service-action-row-width-compact);
        padding:var(--anima-home-button-padding-block, 12px) var(--anima-home-button-padding-inline, 18px);
      }
      :where(.animaServicePricing) .pricingTableHead{
        grid-template-columns:var(--anima-service-pricing-table-head-columns-mobile);
        gap:var(--anima-service-pricing-table-head-gap-mobile);
      }
      :where(.animaServicePricing) .pricingTableHead .pricingAction{
        display:none;
      }
      :where(.animaServicePricing) .pricingHeadLabel--price,
:where(.animaServicePricing) .pricingPrice{
        text-align:left;
      }
      :where(.animaServicePricing) .pricingPrice{
        font-size:var(--anima-service-pricing-price-mobile-size);
        margin-top:0;
        line-height:var(--anima-service-pricing-price-line-height);
      }
      :where(.animaServicePricing) .pricingCareNote{
        padding:var(--anima-service-pricing-care-padding-mobile);
        border-radius:var(--anima-service-pricing-care-radius);
        display:grid;
        grid-template-columns:1fr;
        justify-items:center;
        text-align:center;
        gap:var(--anima-service-pricing-care-gap-mobile);
      }
      :where(.animaServicePricing) .pricingCareNote p{
        max-width:var(--anima-service-pricing-care-text-max-width-mobile);
        margin:0 auto;
        text-align:center;
      }
      :where(.animaServicePricing) .pricingCareNote .pricingAction{
        grid-column:1;
        grid-row:auto;
        justify-self:center;
        align-self:center;
        width:min(100%, 320px);
        min-width:0;
      }
      .storyPanel--pricingSection:where(.animaServicePricing){
        grid-template-columns:var(--anima-service-story-panel-mobile-columns);
        grid-template-rows:var(--anima-service-story-panel-mobile-rows);
        min-height:var(--anima-service-story-panel-mobile-min-height);
      }
      .storyPanel--pricingSection:where(.animaServicePricing).storyPanel--creamIntro{
        grid-template-rows:1fr;
      }
      .storyPanel--pricingSection:where(.animaServicePricing) .storyPanelCopy{
        min-height:var(--anima-service-story-copy-mobile-min-height);
        gap:var(--anima-service-story-copy-mobile-gap);
      }}
    :where(.animaServicePricing) :is(
      .pricingTab,
      .pricingRowTitle,
      .pricingPrice,
      .pricingAction,
      .pricingHeadLabel
    ){
      font-family:var(--anima-service-type-font-text);
    }
    :where(.animaServicePricing) .pricingAction{
      font-size:var(--anima-home-button-font-size, var(--anima-service-type-button-size));
      line-height:var(--anima-service-type-button-line-height);
      letter-spacing:0;
      font-weight:var(--anima-home-button-font-weight, var(--anima-service-type-emphasis-weight));
    }
    :where(.animaServicePricing) .pricingPrice{
      font-weight:var(--anima-service-type-emphasis-weight);
    }
    :where(.animaServicePricing) .pricingRowTitle{
      font-size:var(--anima-service-type-compact-card-title-size);
      line-height:var(--anima-service-type-compact-card-title-line-height);
      letter-spacing:var(--anima-service-type-heading-tracking);
      font-weight:var(--anima-service-type-heading-weight);
    }
    :where(.animaServicePricing) .pricingTab,
:where(.animaServicePricing) .pricingHeadLabel{
      font-size:var(--anima-service-type-callout-size);
      line-height:1.08;
      letter-spacing:.04em;
      font-weight:600;
    }
    :where(.animaServicePricing) .pricingPrice{
      font-size:var(--anima-service-pricing-price-size);
      line-height:var(--anima-service-pricing-price-line-height);
      letter-spacing:var(--anima-service-type-body-tracking);
    }
    @media (max-width:640px){
      :where(.animaServicePricing) .pricingTab{
        font-size:var(--anima-service-type-tab-mobile-size);
        line-height:var(--anima-service-type-tab-mobile-line-height);
        letter-spacing:var(--anima-service-type-tab-mobile-letter-spacing);
      }}
    :where(.animaServicePricing) #pricing_title{
      font-size:var(--anima-service-type-section-title-size);
      line-height:var(--anima-service-type-large-heading-line-height);
      letter-spacing:var(--anima-service-type-heading-tracking);
      font-weight:var(--anima-service-type-heading-weight);
    }
    :where(.animaServicePricing) .pricingRowTitle{
      font-size:var(--anima-service-type-card-title-size);
      line-height:var(--anima-service-type-card-title-line-height);
      letter-spacing:var(--anima-service-type-card-title-letter-spacing);
      font-weight:var(--anima-service-type-card-title-weight);
    }
    :where(.animaServicePricing) .pricingIntro p,
:where(.animaServicePricing) .pricingConsultNote,
:where(.animaServicePricing) .pricingCareNote p{
      font-size:var(--anima-service-type-body-large-size);
      line-height:var(--anima-service-type-body-large-line-height);
      letter-spacing:var(--anima-service-type-body-tracking);
      font-weight:var(--anima-service-type-body-weight);
    }
    :where(.animaServicePricing) .pricingTab,
:where(.animaServicePricing) .pricingHeadLabel{
      font-size:var(--anima-service-type-callout-size);
      line-height:var(--anima-service-type-callout-line-height);
      letter-spacing:var(--anima-service-type-body-tracking);
      font-weight:var(--anima-service-type-emphasis-weight);
    }
    :where(.animaServicePricing) .pricingPrice{
      font-size:var(--anima-service-pricing-price-size);
      line-height:var(--anima-service-pricing-price-line-height);
      letter-spacing:var(--anima-service-type-body-tracking);
      font-weight:var(--anima-service-type-emphasis-weight);
    }
    @media (min-width:1181px){
      .storyPanel--pricingSection:where(.animaServicePricing) .pricingTabButtons{
        --pricing-tab-gap:14px;
        --pricing-tab-pad-x:12px;
        --pricing-tab-pad-y:8px;
        position:relative;
        isolation:isolate;
        overflow:hidden;
        gap:var(--pricing-tab-gap);
        padding:var(--pricing-tab-pad-y) var(--pricing-tab-pad-x);
        border:1px solid rgba(255,255,255,.32);
        border-radius:30px;
        background:linear-gradient(180deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,.09) 100%);
        box-shadow:0 14px 28px rgba(8,10,14,.08), inset 0 1px 0 rgba(255,255,255,.24);
        backdrop-filter:saturate(150%) blur(14px);
        -webkit-backdrop-filter:saturate(150%) blur(14px);
      }
      .storyPanel--pricingSection:where(.animaServicePricing) .pricingTabButtons::before{
        content:"";
        position:absolute;
        z-index:0;
        top:var(--pricing-tab-pad-y);
        bottom:var(--pricing-tab-pad-y);
        left:var(--pricing-tab-pad-x);
        width:calc((100% - (var(--pricing-tab-pad-x) * 2) - (var(--pricing-tab-gap) * 3)) / 4);
        border-radius:999px;
        background:#fff;
        box-shadow:0 10px 22px rgba(47,39,34,.14), inset 0 1px 0 rgba(255,255,255,.88);
        backdrop-filter:saturate(150%) blur(12px);
        -webkit-backdrop-filter:saturate(150%) blur(12px);
        pointer-events:none;
        transition:transform .36s cubic-bezier(.22, 1, .36, 1), background-color .24s ease;
      }
      .storyPanel--pricingSection:where(.animaServicePricing) .pricingTabButtons:has(.pricingTab:nth-child(2).is-active)::before{
        transform:translateX(calc(100% + var(--pricing-tab-gap)));
      }
      .storyPanel--pricingSection:where(.animaServicePricing) .pricingTabButtons:has(.pricingTab:nth-child(3).is-active)::before{
        transform:translateX(calc((100% + var(--pricing-tab-gap)) * 2));
      }
      .storyPanel--pricingSection:where(.animaServicePricing) .pricingTabButtons:has(.pricingTab:nth-child(4).is-active)::before{
        transform:translateX(calc((100% + var(--pricing-tab-gap)) * 3));
      }
      .storyPanel--pricingSection:where(.animaServicePricing) .pricingTab{
        min-height:var(--anima-service-before-after-tab-button-min-height);
        padding:var(--anima-service-before-after-tab-button-padding);
        border-radius:999px;
        border:none;
        background:transparent;
        color:rgba(38,38,38,.74);
        box-shadow:none;
        font-size:var(--anima-service-type-before-after-tab-size);
        line-height:var(--anima-service-type-before-after-tab-line-height);
        font-weight:var(--anima-service-type-before-after-tab-weight);
        letter-spacing:var(--anima-service-type-before-after-tab-tracking);
        text-transform:var(--anima-service-before-after-tab-button-text-transform);
        position:relative;
        z-index:1;
        transition:color .24s ease, transform .2s ease;
      }
      .storyPanel--pricingSection:where(.animaServicePricing) .pricingTab:hover{
        background:transparent;
        color:rgba(38,38,38,.92);
      }
      .storyPanel--pricingSection:where(.animaServicePricing) .pricingTab.is-active{
        background:transparent;
        border-color:transparent;
        color:var(--detox-ph-text);
        box-shadow:none;
      }
      .storyPanel--pricingSection:where(.animaServicePricing) .pricingRowTitle,
.storyPanel--pricingSection:where(.animaServicePricing) .pricingPrice{
        font-size:var(--anima-service-pricing-title-size);
        line-height:var(--anima-service-pricing-title-line-height);
        font-weight:var(--anima-service-pricing-raised-title-weight);
        letter-spacing:var(--anima-service-pricing-raised-title-letter-spacing);
      }
      .storyPanel--pricingSection:where(.animaServicePricing) .pricingAction{
        min-height:var(--anima-button-min-height, 48px);
        border:1px solid var(--anima-service-action-raised-border);
        border-radius:var(--anima-service-action-radius);
        background:var(--anima-service-action-raised-bg);
        color:var(--anima-service-action-text);
        box-shadow:var(--anima-service-action-raised-shadow);
        backdrop-filter:saturate(150%) blur(12px);
        -webkit-backdrop-filter:saturate(150%) blur(12px);
        font-size:var(--anima-home-button-font-size, var(--anima-service-type-button-size));
        line-height:var(--anima-service-type-button-line-height);
        font-weight:var(--anima-home-button-font-weight, var(--anima-service-type-emphasis-weight));
        letter-spacing:0;
      }
      .storyPanel--pricingSection:where(.animaServicePricing) .pricingAction:hover{
        background:var(--anima-service-action-raised-bg-hover);
        border-color:var(--anima-service-action-raised-border-hover);
        transform:translateY(-1px);
      }}
    @media (max-width:720px){
      .storyPanel--pricingSection:where(.animaServicePricing) .pricingTabButtons{
        --pricing-tab-gap:8px;
        --pricing-tab-pad-x:8px;
        --pricing-tab-pad-y:8px;
        position:relative;
        isolation:isolate;
        overflow:hidden;
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:var(--pricing-tab-gap);
        padding:var(--pricing-tab-pad-y) var(--pricing-tab-pad-x);
        border:1px solid rgba(255,255,255,.32);
        border-radius:24px;
        background:linear-gradient(180deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,.09) 100%);
        box-shadow:0 12px 24px rgba(8,10,14,.08), inset 0 1px 0 rgba(255,255,255,.24);
        backdrop-filter:saturate(150%) blur(14px);
        -webkit-backdrop-filter:saturate(150%) blur(14px);
      }
      .storyPanel--pricingSection:where(.animaServicePricing) .pricingTabButtons::before{
        content:"";
        position:absolute;
        z-index:0;
        top:var(--pricing-tab-pad-y);
        left:var(--pricing-tab-pad-x);
        width:calc((100% - (var(--pricing-tab-pad-x) * 2) - var(--pricing-tab-gap)) / 2);
        height:calc((100% - (var(--pricing-tab-pad-y) * 2) - var(--pricing-tab-gap)) / 2);
        border-radius:999px;
        background:#fff;
        box-shadow:0 10px 22px rgba(47,39,34,.14);
        pointer-events:none;
        transition:transform .36s cubic-bezier(.22, 1, .36, 1), background-color .24s ease;
      }
      .storyPanel--pricingSection:where(.animaServicePricing) .pricingTabButtons:has(.pricingTab:nth-child(2).is-active)::before{
        transform:translateX(calc(100% + var(--pricing-tab-gap)));
      }
      .storyPanel--pricingSection:where(.animaServicePricing) .pricingTabButtons:has(.pricingTab:nth-child(3).is-active)::before{
        transform:translateY(calc(100% + var(--pricing-tab-gap)));
      }
      .storyPanel--pricingSection:where(.animaServicePricing) .pricingTabButtons:has(.pricingTab:nth-child(4).is-active)::before{
        transform:translate(calc(100% + var(--pricing-tab-gap)), calc(100% + var(--pricing-tab-gap)));
      }
      .storyPanel--pricingSection:where(.animaServicePricing) .pricingTab{
        min-height:var(--anima-service-before-after-tab-button-mobile-min-height);
        padding:var(--anima-service-before-after-tab-button-mobile-padding);
        border:none;
        border-radius:999px;
        background:transparent;
        box-shadow:none;
        color:rgba(38,38,38,.74);
        font-size:var(--anima-service-type-before-after-tab-mobile-size);
        line-height:var(--anima-service-type-before-after-tab-mobile-line-height);
        font-weight:var(--anima-service-type-before-after-tab-mobile-weight);
        letter-spacing:var(--anima-service-type-before-after-tab-mobile-tracking);
        text-transform:var(--anima-service-before-after-tab-button-text-transform);
        position:relative;
        z-index:1;
        transition:color .24s ease, transform .2s ease;
      }
      .storyPanel--pricingSection:where(.animaServicePricing) .pricingTab.is-active{
        background:transparent;
        border-color:transparent;
        box-shadow:none;
        color:var(--detox-ph-text);
      }
      .storyPanel--pricingSection:where(.animaServicePricing) .pricingPrice{
        font-size:var(--anima-service-pricing-price-compact-size);
        line-height:var(--anima-service-pricing-price-compact-line-height);
        font-weight:var(--anima-service-pricing-price-weight);
        letter-spacing:var(--anima-service-pricing-raised-title-letter-spacing);
      }
      .storyPanel--pricingSection:where(.animaServicePricing) .pricingAction{
        width:min(100%, 210px);
        min-width:0;
        min-height:var(--anima-button-min-height, 48px);
        padding:var(--anima-home-button-padding-block, 12px) var(--anima-home-button-padding-inline, 18px);
        border:1px solid var(--anima-service-action-raised-border);
        border-radius:var(--anima-service-action-radius);
        background:var(--anima-service-action-raised-bg);
        color:var(--anima-service-action-text);
        box-shadow:var(--anima-service-action-raised-shadow);
        backdrop-filter:saturate(150%) blur(12px);
        -webkit-backdrop-filter:saturate(150%) blur(12px);
        font-size:var(--anima-home-button-font-size, var(--anima-service-type-button-size));
        line-height:var(--anima-service-type-button-line-height);
        font-weight:var(--anima-home-button-font-weight, var(--anima-service-type-emphasis-weight));
        letter-spacing:0;
      }
      .storyPanel--pricingSection:where(.animaServicePricing) .pricingAction:hover{
        background:var(--anima-service-action-raised-bg-hover);
        border-color:var(--anima-service-action-raised-border-hover);
      }}

    .storyPanel--pricingSection:where(.animaServicePricing) .storyPanelBody{
      width:100%;
      max-width:var(--content-max-width);
    }
    :where(.animaServicePricing) .pricingIntro,
:where(.animaServicePricing) .pricingTabs{
      max-width:var(--content-max-width);
    }


/* Service pricing control states: opt-in shared owner; legacy hooks remain runtime-compatible. */
:where(.animaServicePricing) .pricingTab,
.storyPanel--pricingSection:where(.animaServicePricing) .pricingTab,
:where(.animaServicePricing) .pricingAction,
.storyPanel--pricingSection:where(.animaServicePricing) .pricingAction{
  min-height:var(--anima-button-min-height, 48px);
}

:where(.animaServicePricing) .pricingTab:focus-visible,
.storyPanel--pricingSection:where(.animaServicePricing) .pricingTab:focus-visible,
:where(.animaServicePricing) .pricingAction:focus-visible,
.storyPanel--pricingSection:where(.animaServicePricing) .pricingAction:focus-visible{
  outline:2px solid rgba(95, 89, 84, .72);
  outline-offset:3px;
}


/* Full-viewport editorial hero content: opt-in shared owner; legacy hooks remain runtime-compatible. */
.animaHomePage{
  font-family:var(--apple-ui-font);}
:where(.animaHomePage) button,
:where(.animaHomePage) input,
:where(.animaHomePage) select,
:where(.animaHomePage) textarea{
  font:inherit;
  font-family:var(--apple-ui-font);
}
:where(.animaHomePage) .heroOverlay{
  min-height:var(--anima-hero-viewport-height);
  padding:var(--section-padding-y) var(--page-padding-x);
  justify-content:flex-end;
  gap:0;
  color:var(--anima-home-hero-panel-text);
  width:min(100%, var(--hero-content-max-width));
  user-select:none;
  -webkit-user-select:none;
}
:where(.animaHomePage) .heroVisual--video .heroOverlay{
  width:100%;
  max-width:none;
  padding:var(--anima-home-hero-video-overlay-padding);
  align-items:center;
  justify-content:flex-end;
  text-align:center;
  color:var(--anima-home-hero-media-text);
}
:where(.animaHomePage) .heroOverlay .animaHeroHeading{
  margin:0 0 var(--heading-gap);
  max-width:var(--anima-home-hero-title-width);
  color:var(--anima-home-hero-panel-text);
  text-shadow:var(--anima-home-hero-panel-title-shadow);
}
:where(.animaHomePage) .heroOverlay .animaHeroSubtitle{
  margin:0 0 var(--content-gap);
  color:var(--anima-home-hero-panel-copy);
  text-shadow:var(--anima-home-hero-panel-copy-shadow);
}
:where(.animaHomePage) .heroVisual--video .heroOverlay .animaHeroHeading{
  color:var(--anima-home-hero-media-text);
  text-shadow:var(--anima-home-hero-media-title-shadow);
  max-width:var(--anima-home-hero-title-width);
}
:where(.animaHomePage) .heroVisual--video .heroOverlay .animaHeroSubtitle{
  color:var(--anima-home-hero-media-copy);
  text-shadow:var(--anima-home-hero-media-copy-shadow);
  margin:0 0 var(--content-gap);
}

@media (min-width:921px){
  :where(.animaHomePage) #offer-frauen .heroVisual--video .heroOverlay{
    width:100%;
    max-width:none;
    margin:0;
    padding-left:var(--hero-grid-inset);
    padding-right:var(--hero-grid-inset);
    align-items:center;
    text-align:center;
  }
  :where(.animaHomePage) #offer-frauen .heroVisual--video .heroOverlay .animaHeroHeading{
    width:min(820px, 100%);
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
    align-self:center;
  }
  :where(.animaHomePage) #offer-frauen .heroVisual--video .heroOverlay .animaHeroSubtitle{
    margin-left:auto;
    margin-right:auto;
    align-self:center;
  }}

@media (max-width:920px){
  :where(.animaHomePage) .heroOverlay{
    width:min(100%, var(--hero-content-max-width));
    padding:var(--anima-home-hero-mobile-overlay-padding);
    justify-content:flex-end;
  }
  :where(.animaHomePage) .heroVisual--video .heroOverlay{
    width:100%;
    max-width:none;
    padding:var(--anima-home-hero-mobile-video-overlay-padding);
    align-items:center;
    justify-content:flex-end;
    text-align:center;
  }
  :where(.animaHomePage) #offer-frauen .heroVisual--video .heroOverlay{
    max-width:none;
    align-items:center;
    text-align:center;
  }
  :where(.animaHomePage) .heroOverlay .animaHeroHeading{
    margin-bottom:var(--anima-home-hero-mobile-title-margin-bottom);
  }
  :where(.animaHomePage) #offer-frauen .heroVisual--video .heroOverlay .animaHeroHeading,
:where(.animaHomePage) #offer-frauen .heroVisual--video .heroOverlay .animaHeroSubtitle{
    margin-left:auto;
    margin-right:auto;
    align-self:center;
  }}


/* Location editorial composition: opt-in shared owner; legacy hooks remain runtime-compatible. */
:where(.animaLocationPage) .blogLocationPage{
  min-height:100vh;
  background:var(--anima-page-bg);
  color:var(--anima-ink);
  font-family:var(--anima-font-text);
  overflow-x:hidden;
}

:where(.animaLocationPage) .blogLocationHero .blogLocationContainer{
  width:min(100%, var(--anima-container-wide-max));
  margin:0 auto;
}

:where(.animaLocationPage) .blogLocationHero{
  position:relative;
  min-height:var(--anima-hero-viewport-height);
  display:grid;
  align-items:end;
  padding:var(--anima-hero-content-pad-top) var(--anima-container-page-edge-pad) var(--anima-hero-content-pad-bottom);
  background:#15110f;
  overflow:hidden;
}

:where(.animaLocationPage) .blogLocationHero .blogLocationContainer{
  position:relative;
  z-index:1;
  width:min(100%, 980px);
}

:where(.animaLocationPage) .blogLocationHeroCopy{
  align-content:end;
  justify-items:center;
  padding:var(--anima-space-md);
  text-align:center;
}

:where(.animaLocationPage) .blogLocationBenefitList{
  margin:0;
  padding:0;
  list-style:none;
}

:where(.animaLocationPage) .blogLocationStudioGrid{
  display:grid;
  grid-template-columns:minmax(260px, .95fr) minmax(260px, .85fr) minmax(420px, 1.2fr);
  gap:var(--anima-gap-layout);
  align-items:center;
}

:where(.animaLocationPage) .blogLocationStudioGrid > *{
  padding:var(--anima-space-sm);
}

:where(.animaLocationPage) .blogLocationStudioAddress{
  font-style:normal;
}

:where(.animaLocationPage) .blogLocationStudio .animaText{
  max-width:none;
}

:where(.animaLocationPage) .blogLocationStudio a{
  color:inherit;
  text-decoration:none;
}

:where(.animaLocationPage) .blogLocationStudio a:hover{
  color:#fff;
}

:where(.animaLocationPage) .blogLocationStudioHours p{
  display:grid;
  grid-template-columns:minmax(190px, max-content) minmax(120px, max-content);
  gap:var(--anima-gap-content);
  align-items:baseline;
  white-space:nowrap;
}

:where(.animaLocationPage) .blogLocationTextBlock strong{
  color:var(--anima-ink);
  font-weight:700;
}

@media (max-width:980px){

  :where(.animaLocationPage) .blogLocationStudioGrid{
    grid-template-columns:1fr;
    text-align:center;
  }

  :where(.animaLocationPage) .blogLocationStudioHours p{
    grid-template-columns:1fr;
    gap:var(--anima-space-xs);
    white-space:normal;
  }}


/* Shell and search UI role values: opt-in shared owner; legacy hooks remain runtime-compatible. */
:root{
  --anima-ui-tracking:0;
  --anima-shell-header-ui-size:16px;
  --anima-shell-header-ui-line:1;
  --anima-shell-brand-weight:700;
  --anima-shell-brand-tracking:.22em;
  --anima-shell-brand-line:1;
  --anima-shell-icon-weight:400;
  --anima-shell-icon-line:1;
  --anima-shell-language-weight:500;
  --anima-shell-language-line:1;
  --anima-shell-input-size:var(--anima-shell-header-ui-size);
  --anima-shell-input-weight:400;
  --anima-shell-input-placeholder-weight:var(--anima-shell-input-weight);
  --anima-shell-state-size:var(--anima-shell-header-ui-size);
  --anima-shell-state-line:1.45;
  --anima-shell-menu-link-weight:var(--anima-shell-brand-weight);
  --anima-shell-menu-contact-weight:650;
  --anima-shell-menu-contact-weight-mobile:600;
  --anima-shell-footer-heading-size:13.248px;
  --anima-shell-footer-heading-line:1.25;
  --anima-shell-footer-heading-weight:500;
  --anima-shell-footer-link-size:18px;
  --anima-shell-footer-link-line:1.24;
  --anima-shell-footer-link-weight:var(--anima-shell-menu-link-weight);
  --anima-shell-footer-meta-size:14px;
  --anima-shell-footer-meta-line:1.45;
  --anima-search-label-size:13px;
  --anima-search-label-line:1.35;
  --anima-search-label-weight:560;
  --anima-search-glyph-size:12px;
  --anima-search-glyph-line:1;
  --anima-search-title-size:15px;
  --anima-search-title-line:1.25;
  --anima-search-title-weight:680;
  --anima-search-kicker-size:12px;
  --anima-search-kicker-line:1.35;
  --anima-search-kicker-weight:620;
  --anima-search-body-size:13px;
  --anima-search-body-line:1.42;
  --anima-search-body-weight:440;
  --anima-search-meta-size:11px;
  --anima-search-meta-line:1.3;
  --anima-search-meta-weight:560;
  --anima-search-quick-size:16px;
  --anima-search-quick-line:1.25;
  --anima-search-quick-weight:560;
  --anima-search-title-size-mobile:14px;
  --anima-search-quick-size-mobile:15px;
  --anima-shell-brand-size:19.8px;
  --anima-shell-icon-type-size:26px;
  --anima-shell-lang-font-size:var(--anima-shell-header-ui-size);
  --anima-shell-menu-link-size:18px;
  --anima-shell-menu-link-line:1.18;
  --anima-shell-menu-contact-size:18px;
  --anima-shell-menu-contact-line:1.22;
}

@media (max-width:920px){
  :root{--anima-shell-footer-heading-size:13px;}
}
@media (min-width:1920px){
  :root{
    --anima-shell-footer-heading-size:16px;
    --anima-shell-footer-link-size:23px;
  }
}


/* Operational admin typography: compact roles, never public Hero/Card defaults. */
.animaAdminPage{
  --anima-admin-font-family:var(--anima-font-family);
  --anima-admin-page-min-height:0;
  --anima-admin-action-weight:760;
  --anima-admin-field-label-size:13px;
  --anima-admin-field-label-weight:600;
  --anima-admin-title-size:44px;
  --anima-admin-title-line:1.04;
  --anima-admin-title-weight:560;
  --anima-admin-subheading-size:22px;
  --anima-admin-subheading-line:var(--anima-admin-body-line);
  --anima-admin-subheading-weight:var(--anima-admin-action-weight);
  --anima-admin-compact-action-size:var(--anima-admin-field-label-size);
  --anima-admin-metadata-size:var(--anima-admin-field-label-size);
  --anima-admin-help-size:12px;
  --anima-admin-help-line:1.35;
  --anima-admin-toggle-weight:var(--anima-admin-title-weight);
  --anima-admin-group-title-weight:740;
  --anima-admin-group-title-size:16px;
  --anima-admin-numeric-input-weight:var(--anima-admin-action-weight);
  --anima-admin-item-size:14px;
  --anima-admin-item-line:1.18;
  --anima-admin-item-weight:470;
  --anima-admin-navigation-label-size:var(--anima-admin-field-label-size);
  --anima-admin-navigation-label-weight:var(--anima-admin-action-weight);
  --anima-admin-item-title-size:14px;
  --anima-admin-item-title-line:1.2;
  --anima-admin-identifier-size:11px;
  --anima-admin-compact-input-size:var(--anima-admin-field-label-size);
  --anima-admin-metadata-small-size:12px;
  --anima-admin-chip-size:12px;
  --anima-admin-chip-weight:650;
  --anima-admin-remove-glyph-size:20px;
  --anima-admin-remove-glyph-line:1;
  --anima-admin-tab-size:12px;
  --anima-admin-tab-weight:720;
  --anima-admin-group-caption-size:14px;
  --anima-admin-group-caption-weight:620;
  --anima-admin-choice-size:15px;
  --anima-admin-choice-weight:700;
  --anima-admin-choice-line:1.18;
  --anima-admin-metric-label-size:12px;
  --anima-admin-metric-size:21px;
  --anima-admin-action-min-height:52px;
  --anima-admin-action-padding:13px 18px;
  --anima-admin-title-size-mobile:30px;
  --anima-admin-body-size:16px;
  --anima-admin-body-line:normal;
  --anima-admin-body-weight:400;
}
@media (max-width:920px){
  .animaAdminPage{--anima-admin-title-size:28px;}
}
