:root{
  /* ANIMA visual foundation: semantic tokens for production pages. */
  --anima-bg:#efe8de;
  --anima-bg-soft:#ddd2c5;
  --anima-page-bg:#f5f0eb;
  --anima-panel-bg:#f8f4ef;
  --anima-surface-warm:#efe8de;
  --anima-surface-soft:#ddd2c5;
  --anima-surface-paper:#f8f4ef;
  --anima-surface-cream:#f7f3ec;
  --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-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);
  --apple-ui-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --appleFontText:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;
  --appleFontDisplay:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;
  --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:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;
  --anima-font-display:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;
  --anima-heading-weight:600;
  --anima-body-weight:400;
  --anima-heading-tracking:-.028em;
  --anima-body-tracking:-.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:clamp(52px, 6vw, 96px);
  --anima-section-gap:clamp(52px, 6vw, 96px);
  --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:clamp(32px, 4vw, 56px);
  --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-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-type-hero:clamp(44px, 5vw, 80px);
  --anima-type-section:clamp(34px, 4vw, 56px);
  --anima-type-h3:clamp(22px, 2vw, 30px);
  --anima-type-body-lg:clamp(19px, 1.35vw, 24px);
  --anima-type-body:clamp(17px, 1.12vw, 19px);
  --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:clamp(15px, 1vw, 17px);
  --anima-button-min-height:48px;
  --anima-button-padding-x:34px;
  --anima-button-radius:var(--anima-radius-pill);
  --anima-cta-button-min-width:220px;
  --anima-cta-button-padding-block:16px;
  --anima-cta-button-padding-inline:34px;
  --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:-.011em;
  --anima-cta-button-font-weight:500;
  --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-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:clamp(52px, 6vw, 84px);
  --anima-home-hero-title-line-height:.98;
  --anima-home-hero-title-letter-spacing:-1.2px;
  --anima-home-hero-title-weight:780;
  --anima-home-hero-copy-size:clamp(21px, 1.75vw, 28px);
  --anima-home-hero-copy-line-height:1.24;
  --anima-home-hero-copy-letter-spacing:-.01em;
  --anima-home-hero-copy-weight:520;
  --anima-home-hero-video-overlay-padding:clamp(118px, 14vh, 168px) var(--hero-grid-inset) clamp(64px, 9vh, 108px);
  --anima-home-hero-mobile-overlay-padding:20px var(--page-padding-x);
  --anima-home-hero-mobile-video-overlay-padding:calc(var(--headerH) + 28px) var(--page-padding-x) 36px;
  --anima-home-hero-mobile-title-size:clamp(40px, 11vw, 56px);
  --anima-home-hero-mobile-title-line-height:.98;
  --anima-home-hero-mobile-title-margin-bottom:14px;
  --anima-home-hero-mobile-copy-size:17px;
  --anima-home-hero-mobile-copy-line-height:1.24;
  --anima-home-hero-mobile-copy-width:440px;
  --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:#8b7a70;
  --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-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:minmax(0, .92fr) minmax(360px, .78fr);
  --anima-article-hero-columns-mobile:1fr;
  --anima-article-hero-gap:clamp(28px, 5vw, 86px);
  --anima-article-hero-gap-mobile:28px;
  --anima-article-hero-padding:clamp(42px, 7vw, 112px) var(--pageEdgePad, var(--layout-inset)) clamp(54px, 8vw, 126px);
  --anima-article-hero-padding-top-mobile:36px;
  --anima-article-hero-padding-bottom-mobile:52px;
  --anima-article-hero-text-width:min(760px, 100%);
  --anima-article-kicker-margin:0 0 clamp(14px, 1.5vw, 22px);
  --anima-article-kicker-size:var(--anima-type-small);
  --anima-article-kicker-line-height:1.2;
  --anima-article-kicker-letter-spacing:.08em;
  --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:clamp(44px, 6.3vw, 94px);
  --anima-article-title-size-mobile:clamp(42px, 12.5vw, 64px);
  --anima-article-title-line-height:.95;
  --anima-article-title-letter-spacing:var(--anima-heading-tracking, -.028em);
  --anima-article-title-letter-spacing-mobile:-.026em;
  --anima-article-title-weight:var(--anima-heading-weight, 600);
  --anima-article-lead-margin:clamp(22px, 2.8vw, 36px) 0 0;
  --anima-article-lead-width:760px;
  --anima-article-lead-size:var(--anima-type-body-lg);
  --anima-article-lead-size-mobile:clamp(18px, 5vw, 21px);
  --anima-article-lead-line-height:1.52;
  --anima-article-lead-line-height-mobile:1.48;
  --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:clamp(58px, 7vw, 112px) var(--pageEdgePad, var(--layout-inset));
  --anima-article-section-padding-y-mobile:56px;
  --anima-article-reading-width:min(760px, 100%);
  --anima-article-h2-margin:0 0 clamp(18px, 2.2vw, 28px);
  --anima-article-h2-font:var(--anima-font-display, var(--appleFontDisplay));
  --anima-article-h2-size:var(--anima-type-section);
  --anima-article-h2-line-height:1;
  --anima-article-h2-letter-spacing:var(--anima-heading-tracking, -.028em);
  --anima-article-h2-weight:var(--anima-heading-weight, 600);
  --anima-article-h3-margin:clamp(36px, 5vw, 58px) 0 14px;
  --anima-article-h3-font:var(--anima-font-display, var(--appleFontDisplay));
  --anima-article-h3-size:var(--anima-type-h3);
  --anima-article-h3-line-height:1.08;
  --anima-article-h3-letter-spacing:-.018em;
  --anima-article-h3-weight:600;
  --anima-article-body-size:var(--anima-type-body);
  --anima-article-body-line-height:1.68;
  --anima-article-body-letter-spacing:var(--anima-body-tracking, -.011em);
  --anima-article-paragraph-gap:1.15em;
  --anima-article-list-margin:clamp(18px, 2vw, 26px) 0 0;
  --anima-article-list-padding-left:1.15em;
  --anima-article-list-item-gap:.55em;
  --anima-article-faq-padding:clamp(64px, 7vw, 118px) var(--pageEdgePad, var(--layout-inset));
  --anima-article-faq-width:min(980px, 100%);
  --anima-article-faq-title-margin:0 0 clamp(24px, 3vw, 38px);
  --anima-article-faq-list-gap:12px;
  --anima-article-faq-item-padding:clamp(20px, 2.6vw, 30px);
  --anima-article-faq-item-radius:var(--anima-radius-md);
  --anima-article-faq-item-bg:rgba(255,255,255,.34);
  --anima-article-faq-question-size:clamp(18px, 1.35vw, 22px);
  --anima-article-faq-question-line-height:1.2;
  --anima-article-faq-question-letter-spacing:-.014em;
  --anima-article-faq-question-weight:600;
  --anima-article-faq-answer-margin:10px 0 0;
  --anima-article-faq-answer-size:var(--anima-type-callout);
  --anima-article-faq-answer-line-height:1.55;
  --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(--appleFontText);
  -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}

.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,
.bookingHero .btn{
  min-height:var(--anima-button-min-height);
}

.bookingHero{
  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(--appleFontText);
}

.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{
  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{
  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{
    min-height:520px;
  }

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

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