.site-header { --header-height: clamp(4.25rem, 4rem + 0.5vw, 4.75rem); --header-logo-width: clamp(10.9375rem,14vw,12.8125rem); --header-compaction: 0px; --header-logo-scale: 1; position: sticky; z-index: 30; top: 0; width: 100%; color: var(--color-text); background: rgba(255,250,245,.97); border-bottom: 1px solid var(--color-border); }
.site-header.is-scrolled { --header-compaction: 10px; --header-logo-scale: .9; }
.site-header--internal { background: #fffaf5; }
.site-header--home { position: fixed; color: #fffaf5; background: rgba(74,49,46,.82); border-bottom-color: rgba(255,250,245,.14); box-shadow: none; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); transition: color var(--motion-fast), background var(--motion-fast), border-color var(--motion-fast), box-shadow var(--motion-fast); }
.site-header--home.is-scrolled { color: #fffaf5; background: rgba(74,49,46,.82); border-bottom-color: rgba(255,250,245,.14); box-shadow: none; }
.header-inner { width: 100%; max-width: var(--container-wide); padding-inline: clamp(1.25rem,2vw,2rem); box-sizing: border-box; min-height: calc(var(--header-height) - var(--header-compaction)); margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); transition: min-height 380ms cubic-bezier(.22,1,.36,1); }
.brand { flex: 0 0 auto; display: inline-flex; align-items: center; text-decoration: none; line-height: 1; }
.brand-logo { width: calc(var(--header-logo-width) * var(--header-logo-scale)); height: auto; aspect-ratio: 726 / 242; object-fit: contain; transition: width 380ms cubic-bezier(.22,1,.36,1); }
.site-header--home .brand-logo { filter: brightness(0) invert(1); }
.site-header--home .brand { padding: 0; border-radius: 0; background: transparent; }
.site-header--home .brand:focus-visible, .site-header--home .menu-toggle:focus-visible, .site-header--home .navigation-list > li > a:focus-visible, .site-header--home .dropdown-trigger > :focus-visible, .site-header--home .language-switcher :focus-visible { outline-color: #fffaf5; }
.site-navigation { min-width: 0; }
.navigation-list, .dropdown-menu { margin: 0; padding: 0; list-style: none; } .navigation-list { display: flex; align-items: center; gap: clamp(1.125rem, 1.5vw, 1.75rem); }
.navigation-list a, .dropdown-toggle { color: inherit; font-family: var(--font-accent); font-size: var(--font-size-nav); font-weight: 500; letter-spacing: var(--letter-spacing-nav); text-decoration: none; white-space: nowrap; } .navigation-list a:not(.button), .dropdown-toggle { padding-block: var(--space-3); }
.site-header--internal .site-navigation a:not(.button), .site-header--internal .site-navigation a:not(.button):visited, .site-header--internal .site-navigation a:not(.button)[aria-current="page"] { color: inherit; background: transparent; border: 0; text-decoration: none; }
.dropdown-toggle { min-height: 2.75rem; border: 0; color: inherit; background: transparent; cursor: pointer; } .dropdown { position: relative; }
.dropdown-trigger { display: inline-flex; align-items: center; }
.dropdown-parent-link { height: 2.75rem; min-height: 2.75rem; display: inline-flex; align-items: center; padding-block: 0 !important; }
.dropdown-trigger > .dropdown-toggle { width: 1.5rem; min-width: 1.5rem; height: 2.75rem; min-height: 2.75rem; justify-content: center; padding: 0 0 0 .35rem; }
.dropdown-menu { position: absolute; top: calc(100% + .25rem); left: -1rem; min-width: 15rem; padding: var(--space-3) var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-card); color: var(--color-text); background: var(--color-surface); box-shadow: var(--shadow-soft); opacity: 0; visibility: hidden; transform: translateY(-.5rem); transition: opacity var(--motion-fast), transform var(--motion-fast), visibility var(--motion-fast); }
.dropdown-menu a { display: block; padding: var(--space-3) 0 !important; } .dropdown:hover .dropdown-menu, .dropdown:focus-within .dropdown-menu, .dropdown.is-open .dropdown-menu { opacity: 1; visibility: visible; transform: none; }
.menu-toggle { display: none; width: 3rem; height: 3rem; border: 1px solid currentColor; border-radius: 50%; color: inherit; background: transparent; cursor: pointer; }
.menu-icon, .menu-icon::before, .menu-icon::after { display: block; width: 1.15rem; height: 1px; margin: auto; background: currentColor; content: ""; } .menu-icon::before { transform: translateY(-.35rem); } .menu-icon::after { transform: translateY(.3rem); }
.button { display: inline-flex; min-height: 3.125rem; align-items: center; justify-content: center; padding: .8125rem clamp(1.5rem,2vw,2rem); border: 1px solid transparent; border-radius: var(--radius-control); font-family: var(--font-accent); font-size: var(--font-size-button); font-weight: 500; line-height: 1.2; text-align: center; text-decoration: none; transition: background var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast), transform var(--motion-fast); }
.button:hover { transform: translateY(-1px); } .button:active { transform: none; } .button--primary { color: var(--color-surface); background: var(--color-primary); } .button--primary:hover { background: var(--color-primary-hover); }
.site-header .button--primary, .site-header .button--primary:visited, .site-header .button--primary:hover, .site-header .button--primary:focus-visible, .site-header .button--primary:active { color: var(--color-surface); text-decoration: none; } .site-header--home .button--primary, .site-header--home .button--primary:visited, .site-header--home .button--primary:focus-visible, .site-header--home .button--primary:active { border-color: rgba(255,250,245,.9); color: var(--color-primary); background: #fffaf5; } .site-header--home .button--primary:hover { border-color: rgba(255,250,245,.9); color: var(--color-primary); background: #f4ebe4; } .button--secondary { border-color: var(--color-primary); color: var(--color-primary); background: transparent; }
.content-card { padding: clamp(var(--space-5),4vw,var(--space-7)); border: 1px solid var(--color-border); border-radius: var(--radius-card); background: var(--color-surface); } .content-card h2, .content-card h3 { margin-bottom: var(--flow-lg); }
.faq-list { max-width: 52rem; margin-inline: auto; border-top: 1px solid var(--color-border); } .faq-item { border-bottom: 1px solid var(--color-border); } .faq-question { width: 100%; min-height: 4rem; display: flex; justify-content: space-between; gap: var(--space-4); padding: var(--space-5) 0; border: 0; color: var(--color-text); background: transparent; font-family: var(--font-heading); font-weight: 500; text-align: left; cursor: pointer; } .faq-answer { padding: 0 0 var(--space-5); } .faq-answer[hidden] { display: none; }
.site-footer { padding-block: clamp(1.25rem,1.5vw,1.6rem) clamp(1rem,1.2vw,1.2rem); color: var(--color-text); background: var(--color-surface-soft); border-top: 1px solid var(--color-border); }
.footer-grid { display: grid; gap: clamp(.875rem,2.5vw,2rem); align-items: start; }
.footer-brand { max-width: 26rem; }
.footer-brand > p { margin-bottom: .25rem; }
.footer-socials { display: flex; gap: .4rem; margin-top: .35rem; }
.footer-social-link { width: 2.75rem; height: 2.75rem; display: inline-grid; place-items: center; border-radius: 50%; color: var(--color-surface); text-decoration: none; }
.footer-social-link svg { width: 2rem; height: 2rem; padding: .38rem; box-sizing: border-box; border-radius: 50%; color: inherit; background: var(--color-primary); fill: none; stroke: currentColor; stroke-width: 1.7; transition: background var(--motion-fast), transform var(--motion-fast); }
.footer-social-link svg path, .footer-social-link .social-icon__dot { fill: currentColor; stroke: none; }
.footer-social-link:hover { color: var(--color-surface); background: transparent; } .footer-social-link:hover svg { background: var(--color-primary-hover); transform: translateY(-1px); }
.footer-social-link:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
.footer-title { margin-bottom: .35rem; font-family: var(--font-heading); font-size: clamp(1.1rem,1.04rem + .2vw,1.3rem); }
.footer-brand > p:not(.footer-title), .site-footer address { font-size: var(--font-size-sm); line-height: 1.45; }
.site-footer address { margin: 0; font-style: normal; }
.footer-bottom { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem 1rem; flex-wrap: wrap; margin-top: clamp(.75rem,1.2vw,.95rem); padding-top: clamp(.7rem,1vw,.85rem); border-top: 1px solid var(--color-border); color: var(--color-text-muted); font-size: var(--font-size-xs); }
.footer-bottom p { margin: 0; }
@media (min-width:48rem) { .footer-grid { grid-template-columns: minmax(0,1.15fr) minmax(18rem,.85fr); } .footer-grid > div:last-child { justify-self: end; } }
@media (min-width:55.01rem) { .footer-bottom > p:last-of-type { display:flex; flex-wrap:wrap; align-items:center; gap:0 .45rem; } }
@media (max-width:47.99rem) {
  .site-footer { padding-block:.75rem calc(.65rem + env(safe-area-inset-bottom)); }
  .footer-grid { grid-template-columns:1fr; gap:.45rem; }
  .footer-brand { max-width:none; }
  .footer-title { margin-bottom:.1rem; font-size:1rem; }
  .footer-brand > p { margin-bottom:.1rem; }
  .footer-brand > p:not(.footer-title), .site-footer address { font-size:.82rem; line-height:1.35; }
  .footer-socials { gap:.3rem; margin-top:.25rem; }
  .footer-social-link { width:2.35rem; height:2.35rem; }
  .footer-social-link svg { width:1.9rem; height:1.9rem; }
  .footer-bottom { display:flex; align-items:center; gap:.1rem .6rem; margin-top:.5rem; padding-top:.5rem; font-size:.76rem; line-height:1.35; }
  .footer-bottom > p:first-child { flex:1 1 100%; }
  .footer-bottom > p:last-of-type { display:flex; flex:1 1 100%; flex-wrap:wrap; align-items:center; gap:.1rem .6rem; }
  .footer-bottom > p:last-of-type a { min-height:2.35rem; display:inline-flex; align-items:center; width:auto; }
  .footer-grid address a { min-height:2.75rem; display:inline-flex; align-items:center; }
  .footer-separator { display:none; }
  .site-footer a, .site-footer address { overflow-wrap:anywhere; }
}
@media (min-width:23.5rem) and (max-width:47.99rem) {
  .footer-grid { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:.65rem .75rem; }
  .footer-grid > div:last-child { justify-self:end; text-align:right; }
  .footer-grid > div:last-child .footer-socials { justify-content:flex-end; }
}
@media (max-width:78rem) { .menu-toggle { display:block; flex:0 0 3rem; } .site-navigation { position:absolute; top:100%; right:1.25rem; left:1.25rem; max-height:calc(100dvh - 5.5rem - env(safe-area-inset-bottom)); overflow-y:auto; overscroll-behavior:contain; border:1px solid var(--color-border); border-radius:var(--radius-large); color:var(--color-text); background:var(--color-surface); box-shadow:var(--shadow-soft); opacity:0; visibility:hidden; transform:translateY(-.5rem); transition:opacity var(--motion-fast),transform var(--motion-fast),visibility var(--motion-fast); } .site-navigation.is-open { opacity:1; visibility:visible; transform:none; } .site-header:has(.site-navigation.is-open) { color:var(--color-text); background:rgba(255,250,245,.99); border-bottom-color:var(--color-border); } .navigation-list { display:block; padding:var(--space-4) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom)); } .navigation-list>li>a, .dropdown-toggle { width:100%; min-height:2.75rem; display:flex; align-items:center; padding-block:var(--space-3)!important; text-align:left; } .dropdown-menu { position:static; display:none; padding:0 0 var(--space-3) var(--space-4); border:0; box-shadow:none; opacity:1; visibility:visible; transform:none; } .dropdown.is-open .dropdown-menu { display:block; } .navigation-list .button { margin-top:var(--space-2); } body.menu-open { overflow:hidden; touch-action:none; } }
@media (max-width:78rem) { .dropdown-trigger { width:100%; } .dropdown-parent-link { flex:1; justify-content:flex-start!important; } .dropdown-trigger>.dropdown-toggle { width:2.75rem!important; min-width:2.75rem; flex:0 0 2.75rem; padding:0!important; } }
@media (max-width:78rem) { .site-header--home:has(.site-navigation.is-open) { color:#fffaf5; background:rgba(74,49,46,.86); border-bottom-color:rgba(255,250,245,.14); box-shadow:none; } .site-header--home .site-navigation { color:#fffaf5; background:rgba(74,49,46,.96); border-color:rgba(255,250,245,.14); box-shadow:none; } .site-header--home .dropdown-menu { color:#fffaf5; background:transparent; } }

.navigation-list > li { display: flex; min-height: 3rem; align-items: center; }
.navigation-list > li > a:not(.button), .dropdown-toggle { min-height: 3rem; align-items: center; line-height: 1; }
.dropdown-toggle { display: inline-flex; gap: 0.5rem; padding-inline: 0; }
.dropdown-chevron { width: 0.625rem; height: 0.375rem; display: inline-flex; flex: 0 0 0.625rem; align-items: center; justify-content: center; transform: rotate(0deg); transform-origin: center; transition: transform 220ms var(--animation-ease); }
.dropdown-chevron svg { width: 100%; height: 100%; display: block; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; }
.dropdown-toggle[aria-expanded="true"] > .dropdown-chevron { transform: rotate(180deg); }
.navigation-list > li > .button { min-height: 3.125rem; margin: 0; }
@media (max-width: 78rem) { .navigation-list > li { min-height: 0; display: block; } .navigation-list > li > a:not(.button), .dropdown-toggle { min-height: 3rem; } .navigation-list > li > .button { width: 100%; margin-top: var(--space-2); } }
@media (prefers-reduced-motion: reduce) { .dropdown-chevron { transition: none; } }

.header-inner { gap: clamp(1rem, 1.5vw, 1.5rem); }
.navigation-list { --header-navigation-font-size: clamp(1.10rem, 1.03rem + 0.18vw, 1.22rem); min-width: 0; gap: clamp(0.65rem, 1vw, 1.2rem); }
.navigation-list > li { min-height: 2.75rem; align-items: center; }
.navigation-list a, .dropdown-toggle { font-weight: 500; opacity: 1; }
.navigation-list > li > a:not(.button), .navigation-list .dropdown-parent-link { font-family: var(--font-accent); font-size: var(--header-navigation-font-size); font-weight: 600; line-height: 1.1; letter-spacing: .03em; opacity: 1; }
.dropdown-parent-link[aria-current="location"] { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .28em; }
.navigation-list > li > a:not(.button), .dropdown-toggle { height: 2.75rem; min-height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; padding-block: 0; }
.dropdown-toggle { gap: 0.4rem; }
.language-switcher { --language-option-width: 2rem; --language-separator-width: .75rem; --language-indicator-width: 1.3rem; --language-indicator-gap: .25rem; position: relative; width: 4.75rem; height: 2.75rem; display: inline-grid; grid-template-columns: var(--language-option-width) var(--language-separator-width) var(--language-option-width); flex: 0 0 auto; align-items: center; justify-items: center; column-gap: 0; padding: 0; white-space: nowrap; font-family: var(--font-functional); font-size: clamp(.95rem,.94rem + .04vw,1rem); font-weight: 500; letter-spacing: var(--letter-spacing-nav); line-height: 1; opacity: 1; }
.site-navigation .language-switcher > .language-switcher__option, .site-navigation .language-switcher > .language-switcher__separator { height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; margin: 0; padding: 0; position: static; top: auto; color: inherit; font-family: var(--font-functional); font-size: inherit; font-style: normal; font-weight: 500; letter-spacing: inherit; line-height: 1; vertical-align: middle; translate: none; }
.language-switcher__option { width: var(--language-option-width); min-width: var(--language-option-width); }
.language-switcher__separator { width: var(--language-separator-width); min-width: var(--language-separator-width); }
.site-navigation .language-switcher a.language-switcher__option, .site-navigation .language-switcher a.language-switcher__option:visited, .site-navigation .language-switcher a.language-switcher__option:hover, .site-navigation .language-switcher a.language-switcher__option:focus-visible, .site-navigation .language-switcher a.language-switcher__option:active { border-bottom: 0; text-decoration: none; text-decoration-line: none; transform: none; }
.site-navigation .language-switcher > .language-switcher__option[aria-current] { font-size: inherit; font-weight: 500; line-height: 1; translate: none; }
.language-switcher__indicator { position: absolute; top: calc(50% + .5em + var(--language-indicator-gap)); left: calc((var(--language-option-width) - var(--language-indicator-width)) / 2); width: var(--language-indicator-width); height: 1px; border-radius: 2px; background: currentColor; pointer-events: none; transform: translateX(0); transition: transform 240ms var(--animation-ease); }
.language-switcher[data-active-language="en"] .language-switcher__indicator { transform: translateX(calc(var(--language-option-width) + var(--language-separator-width))); }
.language-switcher.is-switching { pointer-events: none; }
.navigation-list > li:last-child { flex: 0 0 auto; }
.navigation-list > li > .button { min-height: 2.65rem; height: 2.65rem; padding: .5rem 1.25rem; font-size: .92rem; font-weight: 600; line-height: 1; opacity: 1; }
@media (min-width: 78.01rem) {
  .site-header--home { --header-height: max(clamp(3.75rem,3.65rem + .3vw,4.25rem), calc(var(--header-logo-width) / 3)); }
  .dropdown-menu { top: calc(100% + .15rem); min-width: max-content; padding: .4rem .55rem; }
  .dropdown-menu a { min-height: 0; display: flex; align-items: center; padding: .55rem .45rem !important; font-family: var(--font-accent); font-size: clamp(1rem,.96rem + .10vw,1.10rem); font-weight: 500; line-height: 1.2; letter-spacing: .025em; opacity: 1; }
}
@media (max-width: 78rem) {
  .navigation-list { --header-navigation-font-size: 1.18rem; }
  .navigation-list > li > a:not(.button), .navigation-list .dropdown-parent-link, .dropdown-menu a { font-size: 1.18rem; font-weight: 600; line-height: 1.25; opacity: 1; }
  .site-header { --header-height: clamp(4rem, 3.8rem + 1vw, 4.5rem); --header-logo-width: clamp(10.9375rem,16vw,12.8125rem); }
  .site-header.is-scrolled { --header-compaction: 8px; }
}
@media (max-width:47.99rem) {
  .site-header { --header-height: 4rem; --header-logo-width: clamp(8.4375rem,39vw,10rem); padding-top:env(safe-area-inset-top); }
  .header-inner { padding-inline:1rem; gap:.75rem; }
  .brand { min-width:0; }
  .brand-logo { max-width:100%; }
  .menu-toggle { width:2.75rem; height:2.75rem; flex-basis:2.75rem; }
  .site-navigation { right:calc(.75rem + env(safe-area-inset-right)); left:calc(.75rem + env(safe-area-inset-left)); width:auto; max-width:none; min-width:0; max-height:calc(100svh - var(--mobile-header-height) - .75rem - env(safe-area-inset-bottom)); max-height:calc(100dvh - var(--mobile-header-height) - .75rem - env(safe-area-inset-bottom)); box-sizing:border-box; overflow-x:hidden; overflow-y:auto; border-radius:1rem; transform:none; }
  .site-navigation.is-open { transform:none; }
  .navigation-list { width:100%; min-width:0; padding:.65rem 1rem calc(1rem + env(safe-area-inset-bottom)); box-sizing:border-box; }
  .navigation-list > li, .dropdown, .dropdown-trigger, .dropdown-menu, .navigation-list a, .dropdown-toggle { min-width:0; max-width:100%; box-sizing:border-box; }
  .navigation-list > li > a:not(.button), .dropdown-parent-link, .dropdown-toggle, .dropdown-menu a { min-height:2.75rem; justify-content:flex-start; text-align:left; white-space:normal; overflow-wrap:anywhere; }
  .dropdown-menu { padding:0 0 .45rem .8rem; }
  .dropdown-menu a { display:flex; align-items:center; padding:.55rem .65rem!important; white-space:normal; }
  .language-switcher { width:6.25rem; min-width:0; min-height:2.75rem; grid-template-columns:2.75rem .75rem 2.75rem; justify-items:center; }
  .site-navigation .language-switcher > .language-switcher__option { width:2.75rem; min-width:2.75rem; height:2.75rem; border-bottom:2px solid transparent!important; }
  .site-navigation .language-switcher > .language-switcher__option[aria-current="true"] { border-bottom-color:currentColor!important; }
  .site-navigation .language-switcher > .language-switcher__separator { width:.75rem; min-width:.75rem; border:0!important; color:var(--color-text-muted); }
  .language-switcher__indicator { display:none; }
  .navigation-list > li:last-child, .navigation-list > li > .button { width:100%; max-width:100%; }
  .navigation-list > li > .button { min-height:3rem; height:auto; margin-top:.4rem; }
  .site-header--home .site-navigation .language-switcher > .language-switcher__separator { color:rgba(255,250,245,.75); }
}

.back-to-top { position: fixed; z-index: 28; right: clamp(1rem,2vw,2rem); bottom: clamp(1rem,2vw,2rem); min-height: 2.75rem; display: inline-flex; align-items: center; gap: .6rem; padding: .7rem 1rem; border: 1px solid var(--color-border); border-radius: var(--radius-control); color: var(--color-surface); background: var(--color-primary); box-shadow: 0 .75rem 2rem rgba(59,41,38,.16); font: 500 var(--font-size-sm)/1 var(--font-accent); opacity: 0; pointer-events: none; transform: translateY(.5rem); transition: opacity 220ms var(--ease-out), transform 220ms var(--ease-out), background 220ms var(--ease-out), bottom 220ms var(--ease-out); cursor: pointer; }
.back-to-top[hidden] { display: none; } .back-to-top.is-visible { opacity: 1; pointer-events: auto; transform: none; } .back-to-top:hover { background: var(--color-primary-hover); } .back-to-top.is-near-footer { position: static; margin-left: auto; align-self: flex-end; box-shadow: none; }
.back-to-top__icon { width: .55rem; height: .55rem; flex: 0 0 .55rem; border-top: 1.5px solid currentColor; border-left: 1.5px solid currentColor; transform: translateY(.12rem) rotate(45deg); }
.legal-toc { margin-bottom: var(--flow-2xl); padding: var(--space-4) var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-card); background: var(--color-surface); }
.legal-toc__title { margin: 0 0 var(--space-2); font-family: var(--font-functional); font-size: var(--font-size-sm); font-weight: 500; } .legal-toc__links { display: flex; flex-wrap: wrap; gap: .35rem 1.25rem; } .legal-toc a { min-height: 2.75rem; display: inline-flex; align-items: center; color: var(--color-primary); font-size: var(--font-size-sm); text-underline-offset: .2em; }
.breadcrumb { width:min(calc(100% - 2rem),var(--container-standard)); margin-inline:auto; padding-block:.7rem; color:var(--color-text-muted); font-family:var(--font-functional); font-size:var(--font-size-sm); }
.breadcrumb ol { display:flex; flex-wrap:wrap; align-items:center; gap:.25rem .5rem; margin:0; padding:0; list-style:none; }
.breadcrumb li { display:inline-flex; min-width:0; align-items:center; }
.breadcrumb li + li::before { margin-right:.5rem; color:var(--color-primary); content:"/"; }
.breadcrumb a { min-width:2.75rem; min-height:2.75rem; display:inline-flex; align-items:center; color:var(--color-primary); text-underline-offset:.2em; }
.breadcrumb span { overflow-wrap:anywhere; }
@media (max-width:47.99rem) { .back-to-top { position:static; z-index:auto; right:auto; bottom:auto; width:auto; max-width:100%; min-height:2.75rem; margin-left:auto; padding:.65rem .85rem; box-shadow:none; transform:none; } .back-to-top.is-near-footer { bottom:auto; } .legal-toc { margin-bottom: var(--flow-xl); padding: var(--space-3) var(--space-4); overflow: hidden; } .legal-toc__links { flex-wrap: nowrap; overflow-x: auto; } .legal-toc a { flex: 0 0 auto; } }
@media (prefers-reduced-motion:reduce) { .back-to-top, .site-header, .header-inner, .brand-logo, .language-switcher__indicator { transition: none; } }

.course-hero .container { max-width: var(--container-content); }
.course-page .page-hero, .preparation-page .page-hero { padding-block: clamp(1.4rem,2.5vw,2rem); }
.course-hero .eyebrow { margin-bottom: .35rem; }
.course-hero h1 { max-width: 22ch; }
.course-hero__intro { max-width: 52ch !important; margin-top: .65rem !important; color: var(--color-text) !important; line-height: 1.55; }
.course-hero__actions { margin-top: 1rem; }
.course-content { padding-block: clamp(1.5rem,3vw,2.5rem); }
.course-shell { max-width: var(--container-content); }
.course-text-link { color: var(--color-primary); font-weight: 400; text-underline-offset: .25em; }
.course-section + .course-section, .course-section + .course-final-cta { margin-top: clamp(1.5rem,3vw,2.75rem); padding-top: clamp(1.2rem,2vw,1.75rem); border-top: 1px solid var(--color-border); }
.course-section > h2 { max-width: 22ch; margin-bottom: clamp(.8rem,1.5vw,1.25rem); font-size: clamp(1.8rem,1.55rem + .7vw,2.45rem); line-height: 1.08; }
.course-editorial { display: grid; grid-template-columns: minmax(13rem,.7fr) minmax(0,1.3fr); gap: clamp(1rem,2.5vw,2.5rem); align-items: start; }
.course-editorial > h2 { margin-bottom: 0; }
.course-editorial__copy { max-width: 46rem; }
.course-editorial__copy p { line-height: 1.65; }
.course-editorial__copy p + p { margin-top: 1rem; }
.course-feature-grid, .policy-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(.75rem,1.5vw,1rem); }
.course-feature, .policy-card { min-width: 0; padding: clamp(1rem,2vw,1.25rem); border: 1px solid var(--color-border); border-radius: var(--radius-card); background: var(--color-surface); }
.course-feature h3 { margin-bottom: .45rem; font-size: var(--font-size-card-heading); line-height: 1.12; }
.course-feature p { margin-bottom: 0; line-height: 1.55; }
body:has(> .course-directory-page) { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; }
body:has(> .course-directory-page) > main { width: 100%; flex: 1 0 auto; display: flex; flex-direction: column; }
body:has(> .course-directory-page) > .site-footer { flex: 0 0 auto; }
.course-directory-page .page-hero { flex: 0 0 auto; padding-block: clamp(.8rem,1.4vw,1.15rem); }
.course-directory-page .page-hero .container { max-width: min(72rem,100%); }
.course-directory-page .page-hero h1 { margin: 0; }
.course-directory-page .page-hero h1 + p { margin-top: .3rem; }
.course-directory-page .course-content { flex: 1 0 auto; display: flex; align-items: center; padding-block: clamp(1.5rem,3vw,3rem); }
.course-directory-page .course-shell { width: min(calc(100% - 2.5rem),72rem); max-width: 72rem; }
.course-directory-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-rows: 1fr; gap: clamp(.85rem,1.5vw,1.15rem); }
.course-directory-card { position: relative; min-width: 0; min-height: clamp(7.25rem,8vw,8.5rem); height: 100%; display: flex; flex-direction: column; padding: clamp(1.1rem,1.7vw,1.4rem); border: 1px solid var(--color-border); border-radius: var(--radius-card); color: inherit; background: var(--color-surface); text-decoration: none; transition: border-color var(--motion-fast), background var(--motion-fast), transform var(--motion-fast); }
.course-directory-card:hover { border-color: var(--color-primary); background: var(--color-surface-soft); transform: translateY(-1px); }
.course-directory-card:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; border-color: var(--color-primary); background: var(--color-surface-soft); }
.course-directory-card h2 { margin: 0; padding-right: 2rem; font-size: var(--font-size-card-heading); line-height: 1.12; }
.course-directory-card p { margin: .55rem 2rem 0 0; padding-bottom: 1.35rem; font-size: var(--font-size-sm); line-height: 1.45; }
.course-directory-card__arrow { position: absolute; right: clamp(1.1rem,1.7vw,1.4rem); bottom: clamp(1.1rem,1.7vw,1.4rem); color: var(--color-primary); font-size: 1.15rem; line-height: 1; }
.more-directory-page .page-hero{padding-block:clamp(.65rem,.55rem + .35vw,.9rem)}
.more-directory-page .course-content{flex:0 0 auto;align-items:flex-start;padding-block:clamp(1rem,1.2vw,1.35rem) clamp(1.25rem,1.6vw,1.65rem)}
@media(min-width:55.01rem){
  .more-directory-page .course-content{flex:1 0 auto;align-items:center;padding-block:clamp(1.5rem,3vw,3rem)}
  .more-directory-page .course-directory-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:1rem}
  .more-directory-page .course-directory-card{display:grid;grid-template-columns:minmax(12rem,.45fr) minmax(0,1fr) auto;min-height:6.75rem;height:auto;align-items:center;column-gap:2rem;padding:1.25rem 1.5rem}
  .more-directory-page .course-directory-card h2{padding-right:0}
  .more-directory-page .course-directory-card p{margin:0;padding-bottom:0}
  .more-directory-page .course-directory-card__arrow{position:static;justify-self:end}
}
.more-directory-page .course-directory-grid{gap:clamp(.7rem,1vw,.9rem)}
.more-directory-page .course-directory-card{min-height:6.75rem;padding:clamp(.9rem,1.2vw,1.1rem)}
.more-directory-page .course-directory-card p{margin-top:.4rem;padding-bottom:1.1rem}
.course-primary-media { margin: 0 auto clamp(1.25rem,2.5vw,2rem); }
.course-image { margin: 0; overflow: hidden; border-radius: var(--radius-card); background: var(--color-surface-soft); }
.responsive-picture { display:block; width:100%; }
.course-image .responsive-picture { height:100%; }
.course-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.course-image--wide { width: min(100%,44rem); aspect-ratio: 3/2; }
.course-image--portrait { width: 100%; max-width: 28rem; aspect-ratio: 2/3; justify-self: center; }
.course-image.course-primary-media { margin: 0 auto clamp(1.25rem,2.5vw,2rem); }
.course-media-row { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(16rem,.95fr); gap: clamp(1rem,2.5vw,2rem); align-items: start; }
.course-media-row--portrait { grid-template-columns: minmax(0,1.35fr) minmax(14rem,.65fr); }
.course-media-row > .course-editorial__copy { max-width: none; }
.course-media-row .course-feature-grid { grid-template-columns: 1fr; }
.course-option-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(.75rem,1.5vw,1rem); }
.course-option-card { min-width: 0; padding: clamp(.9rem,1.8vw,1.2rem); border: 1px solid var(--color-border); border-radius: var(--radius-card); background: var(--color-surface); }
.course-option-card h3 { margin-bottom: .45rem; font-size: var(--font-size-card-heading); line-height: 1.12; }
.course-option-card > p { margin-bottom: 0; line-height: 1.5; }
.course-option-card__level { margin-top: .75rem; padding-top: .65rem; border-top: 1px solid var(--color-border); color: var(--color-text-muted); font-size: var(--font-size-sm); }
.course-option-card__level span { color: var(--color-text); font-weight: 400; }
.reformer-page .course-content,.mat-page .course-content,.preparation-page .course-content{padding-block:clamp(1.1rem,2vw,1.7rem)}
.reformer-page .course-section + .course-section,.mat-page .course-section + .course-section,.preparation-page .course-section + .course-section{margin-top:clamp(1.1rem,1.7vw,1.65rem);padding-top:clamp(.9rem,1.35vw,1.25rem)}
.reformer-page .course-primary-media,.mat-page .course-primary-media{margin-bottom:clamp(.9rem,1.5vw,1.25rem)}
.reformer-page .course-option-grid{align-items:stretch;gap:clamp(.7rem,1.2vw,.9rem)}
.reformer-page .course-option-card{display:flex;flex-direction:column;padding:clamp(.8rem,1.2vw,1rem)}
.reformer-page .course-option-card>p{font-size:clamp(.94rem,.91rem + .08vw,1rem);line-height:1.48}
.reformer-page .course-lead,.mat-page .course-lead{display:block;text-align:center}.reformer-page .course-lead .course-editorial__copy,.mat-page .course-lead .course-editorial__copy{max-width:46rem;margin-inline:auto}.reformer-page .course-lead p,.mat-page .course-lead p{font-size:clamp(1rem,.97rem + .08vw,1.075rem);line-height:1.6;text-wrap:pretty}
.preparation-page .policy-details-section{color:var(--color-text-muted)}
.preparation-page .policy-details-section{padding-block:clamp(.75rem,1vw,1rem)}.preparation-page .policy-details-section>h2{margin-bottom:.4rem;color:var(--color-text);font-size:clamp(1.15rem,1.1rem + .15vw,1.3rem)}
.preparation-page .policy-details-section p{font-size:clamp(.85rem,.83rem + .06vw,.9rem);line-height:1.42}.preparation-page .policy-details-section p+p{margin-top:.4rem}
@media(min-width:55.01rem){.preparation-page .policy-details-section{padding-block:clamp(.5rem,.65vw,.7rem)}.preparation-page .policy-details-section>h2{margin-bottom:.35rem;font-size:clamp(1rem,.98rem + .08vw,1.1rem)}.preparation-page .policy-details-section p{max-width:52rem;font-size:clamp(.78rem,.76rem + .05vw,.84rem);line-height:1.45}.preparation-page .policy-details-section p+p{margin-top:clamp(.45rem,.42rem + .08vw,.55rem)}}
@media(min-width:55.01rem){
  .preparation-page .course-content{padding-block:clamp(.9rem,1.2vw,1.2rem)}
  .preparation-page .course-section+.course-section{margin-top:clamp(.65rem,.7vw,.8rem);padding-top:clamp(.5rem,.6vw,.65rem)}
  .preparation-page .course-section:first-child>.course-media-row--portrait{display:grid;grid-template-columns:minmax(0,1fr) clamp(14.5rem,16vw,16rem);align-items:start;gap:clamp(1.5rem,2vw,2.25rem)}
  .preparation-page .course-section:first-child .course-feature-grid{display:grid;grid-template-columns:1fr;grid-auto-rows:auto;gap:.7rem}
  .preparation-page .course-section:first-child .course-feature{height:auto;min-height:0;padding:.8rem .95rem}
  .preparation-page .course-section:first-child .course-image--portrait{width:100%;max-width:16rem;height:auto;justify-self:end}
  .preparation-page .course-supporting-note{margin-top:.65rem;padding:.7rem .85rem;line-height:1.5}
  .preparation-page .preparation-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;column-gap:1rem;row-gap:0;align-items:stretch}
  .preparation-page .preparation-list li{height:auto;min-height:0;align-self:stretch;padding:.65rem .75rem .8rem;border-top:0;border-bottom:0}
  .preparation-page .preparation-list li:nth-child(-n+2){border-bottom:1px solid var(--color-border)}
  .preparation-page .preparation-list li:first-child p{padding-top:1.7rem}
  .preparation-page .preparation-list li:nth-child(n+3){padding-top:.75rem}
  .preparation-page .preparation-list h3{margin-bottom:.35rem}
  .preparation-page .course-section[aria-labelledby="family-note-title"]{grid-template-columns:minmax(12rem,.65fr) minmax(0,1.35fr);align-items:center;gap:1.25rem;margin-top:.15rem;padding-block:.65rem}
  .preparation-page .course-section[aria-labelledby="family-note-title"]>h2{margin-bottom:0}
  .preparation-page .course-section.policy-details-section{margin-top:.2rem;padding-top:.35rem}
  .preparation-page .course-editorial:not(.policy-details-section)>h2{font-size:clamp(1.35rem,1.28rem + .2vw,1.55rem)}
  .preparation-page .course-editorial:not(.policy-details-section) p{line-height:1.55}
  .reformer-page .course-primary-media{width:min(100%,39rem);max-width:39rem}
  .mat-page .course-primary-media{width:min(100%,37rem);max-width:37rem}
  .reformer-page .course-lead,.mat-page .course-lead{margin-top:0;padding-top:0}
  .reformer-page .course-lead+.course-section{margin-top:.75rem;padding-top:.65rem}
  .reformer-page .course-option-grid{margin-top:-.05rem}
  .reformer-page .practical-panel,.mat-page .practical-panel{margin-top:.8rem}
  .postnatal-page .course-overview-panel{grid-template-columns:minmax(0,1fr) 17rem;gap:clamp(1.5rem,2.2vw,2rem);padding:1.25rem}
  .prenatal-page .course-overview-panel{grid-template-columns:minmax(0,1fr) minmax(19rem,21rem);align-items:stretch;gap:clamp(1.25rem,2vw,1.75rem);padding:1.25rem}
  .prenatal-page .course-overview-panel__focus,.postnatal-page .course-overview-panel__focus{margin-top:.85rem;padding-top:.75rem}
  .postnatal-page .course-overview-panel__image{max-width:17rem;aspect-ratio:auto}
  .postnatal-page .course-overview-panel__image .responsive-picture{height:auto}
  .postnatal-page .course-overview-panel__image img{height:auto;object-fit:contain}
  .prenatal-page .course-overview-panel__image{width:100%;max-width:none;height:100%;align-self:stretch;aspect-ratio:auto}
  .prenatal-page .course-overview-panel__image .responsive-picture{height:100%}
  .prenatal-page .course-overview-panel__image img{height:100%;object-fit:cover;object-position:center}
  .postnatal-page--15j .course-overview-panel{grid-template-columns:minmax(0,1fr) 18.5rem;align-items:start;gap:clamp(1.25rem,2vw,1.75rem)}
  .postnatal-page--15j .course-overview-panel__image{position:relative;width:100%;max-width:18.5rem;height:auto;min-height:0;align-self:stretch;aspect-ratio:auto}
  .postnatal-page--15j .course-overview-panel__image .responsive-picture{position:absolute;inset:0;width:100%;height:100%}
  .postnatal-page--15j .course-overview-panel__image img{height:100%;object-fit:cover;object-position:center}
  .prenatal-page .practical-panel,.postnatal-page .practical-panel{margin-top:.8rem}
  .private-events-page .course-primary-media{width:min(100%,44rem);max-width:44rem}
  .private-events-page .event-format-panel{margin-top:.8rem;padding:1.25rem}
  .private-events-page .event-options-panel{margin-top:.8rem;padding:1.25rem}
  .private-events-page .course-final-cta{margin-top:.8rem}
}
.course-single-offering { display: grid; grid-template-columns: minmax(14rem,.8fr) minmax(0,1.4fr); align-items: center; gap: clamp(1.5rem,3vw,3rem); padding: clamp(1.25rem,2vw,1.75rem); border: 1px solid var(--color-border); border-radius: var(--radius-card); background: var(--color-surface-soft); }
.course-single-offering__heading, .course-single-offering__description { min-width: 0; }
.course-single-offering h2 { margin: 0; font-size: var(--font-size-card-heading); line-height: 1.1; }
.course-single-offering p { max-width: 48rem; margin: 0; line-height: 1.6; }
.course-focus-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem 2rem; margin: 0; padding-left: 1.25rem; }
.course-focus-list li { padding-left: .2rem; line-height: 1.6; }
.practical-panel { padding: clamp(1.15rem,2.5vw,1.6rem); border: 1px solid var(--color-border); border-radius: var(--radius-large); background: var(--color-surface-soft); }
.practical-list { margin: 0; }
.practical-list > div { display: grid; grid-template-columns: minmax(8rem,.55fr) minmax(0,1.45fr); gap: .75rem; padding-block: .55rem; border-top: 1px solid var(--color-border); }
.practical-list > div:first-child { padding-top: 0; border-top: 0; }
.practical-list > div:last-child { padding-bottom: 0; }
.practical-list dt { font-family: var(--font-accent); font-weight: 500; }
.practical-list dd { margin: 0; }
.course-practical-actions { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; align-items: center; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--color-border); }
.course-final-cta { display: flex; justify-content: space-between; gap: 1rem 2rem; align-items: center; margin-top: clamp(1.5rem,3vw,2.75rem); padding: clamp(1rem,2vw,1.4rem); border-radius: var(--radius-large); background: var(--color-surface); }
.course-final-cta h2 { margin-bottom: .35rem; font-size: var(--font-size-card-heading); line-height: 1.1; }
.course-final-cta p { max-width: 42rem; margin-bottom: 0; line-height: 1.55; }
.course-final-cta__actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: .85rem 1.25rem; align-items: center; }
.course-supporting-note { margin-top: 1rem; padding: .8rem 1rem; border-left: 3px solid var(--color-blush); background: var(--color-surface); line-height: 1.55; }
.preparation-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem 1rem; margin: 0; padding: 0; list-style: none; counter-reset: preparation; }
.preparation-list li { padding: 1rem; border-top: 1px solid var(--color-border); counter-increment: preparation; }
.preparation-list h3 { margin-bottom: .45rem; font-size: var(--font-size-card-heading); line-height: 1.12; }
.preparation-list h3::before { margin-right: .5rem; color: var(--color-primary); content: counter(preparation) "."; }
.preparation-list p { margin-bottom: 0; line-height: 1.55; }
.policy-card-grid { margin-top: 1rem; }
.policy-card { display: block; color: inherit; text-decoration: none; }
.policy-card strong, .policy-card span { display: block; }
.policy-card strong { color: var(--color-primary); }
.policy-card span { margin-top: .45rem; line-height: 1.5; }
.preparation-page .policy-card { padding: clamp(.75rem,1.5vw,1rem); }

.course-page--editorial-compact .course-shell { width: min(100% - 2rem,72rem); max-width: 72rem; margin-inline: auto; }
.course-page--editorial-compact .course-hero { padding-block: clamp(1.1rem,2vw,1.65rem); }
.course-page--editorial-compact .course-hero .container { width: min(100% - 2rem,72rem); }
.course-page--editorial-compact .course-hero h1 { margin-top: .15rem; }
.course-page--editorial-compact .course-hero__intro { max-width: 54ch !important; margin-top: .45rem !important; line-height: 1.5; }
.private-events-page .course-hero .container { width: min(calc(100% - 3rem),82rem); max-width: 82rem; }
.private-events-page .course-hero h1, .private-events-page .course-hero__intro { max-width: none !important; }
.course-page--editorial-compact .course-content { padding-block: clamp(1.15rem,2.25vw,1.85rem); }

.course-overview-panel { display: grid; grid-template-columns: minmax(0,1fr) minmax(15rem,19rem); align-items: center; gap: clamp(1.4rem,3vw,2.75rem); padding: clamp(1.25rem,2.75vw,2rem); border: 1px solid var(--color-border); border-radius: var(--radius-card); background: var(--color-surface-soft); }
.course-overview-panel__content { min-width: 0; }
.course-overview-panel__content > h2 { margin: 0; }
.course-overview-panel__content > p { max-width: 52ch; margin: .65rem 0 0; line-height: 1.6; }
.course-overview-panel__focus { margin-top: clamp(1rem,2vw,1.4rem); padding-top: clamp(.9rem,1.5vw,1.15rem); border-top: 1px solid var(--color-border); }
.course-overview-panel__focus h3 { margin: 0 0 .65rem; font-family: var(--font-heading); font-size: var(--font-size-card-heading); font-weight: 400; line-height: 1.12; }
.course-focus-list--integrated { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem .65rem; margin: 0; padding: 0; list-style: none; }
.course-focus-list--integrated li { min-width: 0; padding: .55rem .7rem; border: 1px solid color-mix(in srgb,var(--color-border) 80%,transparent); border-radius: var(--radius-pill); background: color-mix(in srgb,var(--color-background) 72%,transparent); line-height: 1.3; }
.prenatal-page .course-overview-panel .course-focus-list--integrated,
.postnatal-page .course-overview-panel .course-focus-list--integrated { gap: .55rem; }
.prenatal-page .course-overview-panel .course-focus-list--integrated li,
.postnatal-page .course-overview-panel .course-focus-list--integrated li { display: flex; align-items: center; min-width: 0; min-height: 2.8rem; padding: .65rem .8rem; border: 1px solid var(--color-border); border-radius: .75rem; background: color-mix(in srgb,var(--color-background) 78%,transparent); font-family: var(--font-body); font-size: clamp(.92rem,.89rem + .08vw,1rem); font-weight: 400; line-height: 1.35; letter-spacing: 0; text-align: left; }
.course-overview-panel__image { width: 100%; max-width: 18rem; justify-self: end; aspect-ratio: 2/3; overflow: hidden; border: 1px solid var(--color-border); border-radius: calc(var(--radius-card) * .8); }
.course-overview-panel__image img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.prenatal-page .practical-panel,
.postnatal-page .practical-panel { margin-top: clamp(1.1rem,2vw,1.6rem); padding: clamp(1rem,2vw,1.4rem); border: 1px solid var(--color-border); border-radius: var(--radius-card); background: color-mix(in srgb,var(--color-surface-soft) 72%,var(--color-background)); }
.prenatal-page .practical-panel h2,
.postnatal-page .practical-panel h2 { margin: 0 0 .55rem; }
.prenatal-page .practical-list > div,
.postnatal-page .practical-list > div { grid-template-columns: minmax(7.5rem,.45fr) minmax(0,1.55fr); padding-block: .48rem; }
.prenatal-page .course-practical-actions,
.postnatal-page .course-practical-actions { margin-top: .85rem; padding-top: .8rem; }

.private-events-page .course-primary-media { width: min(100%,44rem); max-width: 44rem; margin: 0 auto; aspect-ratio: 3/2; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-card); background: var(--color-surface-soft); }
.private-events-page .course-primary-media img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.event-format-panel { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(18rem,.75fr); align-items: center; gap: clamp(1.75rem,4vw,4rem); margin-top: clamp(1rem,2vw,1.5rem); padding: clamp(1.4rem,2.7vw,2.1rem); border: 1px solid var(--color-border); border-radius: var(--radius-card); background: color-mix(in srgb,var(--color-surface-soft) 68%,var(--color-background)); }
.event-format-panel h2, .event-options-panel h2 { margin: 0; }
.event-format-panel p, .event-options-panel p { max-width: 58ch; margin: .6rem 0 0; line-height: 1.55; }
.event-format-panel p + p, .event-options-panel p + p { margin-top: .65rem; }
.event-occasion-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows:4.6rem; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.event-occasion-list li { min-width: 0; min-height: 0; height: auto; display: grid; place-items: center; box-sizing: border-box; padding: 0 .8rem; border: 1px solid var(--color-border); border-radius: var(--radius-pill); background: color-mix(in srgb,var(--color-background) 78%,transparent); text-align: center; line-height: 1.25; text-wrap: balance; }
.event-planning-panel { margin-top: clamp(1rem,1.6vw,1.35rem); padding: clamp(1.35rem,2.6vw,1.9rem); border: 1px solid var(--color-border); border-radius: var(--radius-card); background: var(--color-background); }
.event-planning-panel > h2 { margin: 0; }
.event-planning-steps { counter-reset: event-step; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; margin: clamp(.95rem,1.5vw,1.25rem) 0 0; padding: 0; list-style: none; }
.event-planning-steps li { counter-increment: event-step; min-width: 0; padding: .2rem clamp(1rem,2vw,1.6rem); border: 0; border-left: 1px solid var(--color-border); border-radius: 0; background: transparent; }
.event-planning-steps li:first-child { padding-left: 0; border-left: 0; }
.event-planning-steps li:last-child { padding-right: 0; }
.event-planning-steps h3 { display: flex; gap: .55rem; align-items: baseline; margin: 0; font-size: clamp(1.2rem,1.14rem + .18vw,1.38rem); line-height: 1.2; }
.event-planning-steps h3::before { content: counter(event-step,decimal-leading-zero); flex: 0 0 auto; color: var(--color-primary); font-family: var(--font-accent); font-size: .82rem; font-weight: 600; letter-spacing: .06em; }
.event-planning-steps p { margin: .45rem 0 0; line-height: 1.5; }
.event-options-panel { display: grid; grid-template-columns: minmax(0,1fr) clamp(15rem,24vw,18rem); align-items: stretch; gap: clamp(1.5rem,3vw,2.75rem); margin-top: clamp(1rem,1.6vw,1.35rem); padding: clamp(1.4rem,2.7vw,2rem); border: 1px solid var(--color-border); border-radius: var(--radius-card); background: var(--color-surface-soft); }
.event-options-panel__content { display:block; min-width:0; }
.event-options-panel h2 { font-size: clamp(2rem,1.85rem + .45vw,2.5rem); line-height: 1.1; }
.event-options-panel__content > p { max-width: 62ch; font-size: clamp(1rem,.98rem + .12vw,1.08rem); line-height: 1.5; }
.event-options-panel__image { position:relative;width:100%;max-width:none;min-height:100%;justify-self:stretch;align-self:stretch;aspect-ratio:auto;overflow:hidden;border:1px solid var(--color-border);border-radius:calc(var(--radius-card) * .8); }
.event-options-panel__image .responsive-picture { position:absolute; inset:0; width:100%; height:100%; }
.event-options-panel__image img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.event-practical-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 clamp(1.5rem,3vw,2.5rem); margin: clamp(1rem,1.5vw,1.25rem) 0 0; }
.event-practical-grid > div { min-width: 0; display:block; box-sizing:border-box; padding: .78rem .1rem .82rem; border: 0; border-top: 1px solid var(--color-border); border-radius: 0; background: transparent; }
.event-practical-grid dt { margin: 0; color: var(--color-primary); font-family: var(--font-accent); font-size: clamp(.9rem,.88rem + .08vw,.98rem); font-weight: 600; letter-spacing: .06em; line-height:1.2; text-transform: uppercase; }
.event-practical-grid dd { margin: .35rem 0 0; font-size:clamp(1.06rem,1.02rem + .12vw,1.18rem); line-height: 1.3; text-wrap:pretty; overflow-wrap:break-word; }
.private-events-page .course-final-cta { display: flex; align-items: center; justify-content: space-between; gap: 1rem 2rem; margin-top: clamp(1.1rem,2vw,1.6rem); padding: clamp(1rem,2vw,1.35rem); border: 0; border-radius: var(--radius-card); color: var(--color-surface); background: var(--color-primary); }
.private-events-page .course-final-cta h2,
.private-events-page .course-final-cta p { color: inherit; }
.private-events-page .course-final-cta h2 { margin: 0; }
.private-events-page .course-final-cta p { max-width: 46rem; margin: .3rem 0 0; line-height: 1.45; }
.private-events-page .course-final-cta .button--primary { color: var(--color-primary); background: var(--color-surface); }
.private-events-page .course-final-cta .course-text-link { color: var(--color-surface); }
.course-page .course-hero--title-only,
.course-page--editorial-compact .course-hero--title-only { padding-block: clamp(.95rem,1.7vw,1.35rem); }
@media (max-width:65.625rem) { .event-practical-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width:64rem) {
  .course-directory-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .course-feature-grid, .policy-card-grid { grid-template-columns: 1fr; }
  .course-final-cta { align-items: flex-start; flex-direction: column; }
}
@media (max-width:47.99rem) {
  .course-directory-grid { grid-template-columns: 1fr; }
  body:has(> .course-directory-page), body:has(> .course-directory-page) > main { min-height:0; display:block; }
  .course-directory-page .course-content { display:block; padding-block:1.25rem 1.5rem; }
  .course-directory-page .course-shell { width: min(calc(100% - 2rem),72rem); }
  .course-directory-card { min-height:0; height:auto; padding:.95rem; }
  .course-directory-card p { margin-top:.4rem; padding-bottom:.75rem; }
  .course-editorial, .course-media-row, .course-option-grid, .preparation-list, .course-focus-list { grid-template-columns: 1fr; }
  .course-editorial { gap: .85rem; }
  .course-media-row--portrait .course-image--portrait { width:min(100%,18rem); }
  .course-overview-panel, .event-format-panel { grid-template-columns:1fr; padding:.9rem; }
  .event-options-panel { grid-template-columns:1fr; padding:.9rem; }
  .event-options-panel__content { display:block; }
  .event-options-panel__content > h2, .event-options-panel__content > p, .event-options-panel__content > .event-practical-grid { grid-column:auto; grid-row:auto; }
  .course-overview-panel__image { order:2; width:min(100%,18rem); max-width:18rem; justify-self:center; }
  .course-focus-list--integrated { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem; }
  .course-focus-list--integrated li { padding:.48rem .55rem; font-size:var(--font-size-sm); }
  .course-single-offering { grid-template-columns:1fr; gap:.75rem; }
  .event-occasion-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .event-planning-panel { padding:.85rem; }
  .event-planning-steps { grid-template-columns:1fr; gap:0; margin-top:.7rem; }
  .event-planning-steps li, .event-planning-steps li:first-child, .event-planning-steps li:last-child { padding:.75rem 0; border:0; border-top:1px solid var(--color-border); }
  .event-options-panel__image { grid-column:auto; grid-row:auto; width:100%; max-width:none; min-height:0; justify-self:stretch; aspect-ratio:3/2; }
  .event-practical-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:auto; gap:.55rem; margin-top:.75rem; }
  .event-practical-grid > div { height:auto; padding:.65rem .1rem .7rem; }
  .event-practical-grid dt { font-size:.82rem; letter-spacing:.045em; }
  .event-practical-grid dd { margin-top:.25rem; font-size:.96rem; line-height:1.35; }
  .private-events-page .course-final-cta { align-items:flex-start; flex-direction:column; }
  .practical-list > div { grid-template-columns: 1fr; gap: .2rem; }
  .course-practical-actions, .course-practical-actions .button { width: 100%; }
  .course-practical-actions .course-text-link { min-height:2.75rem; display:flex; align-items:center; }
  .course-final-cta__actions, .course-final-cta__actions .button { width: 100%; }
  .policy-card { min-height:2.75rem; display:flex; align-items:center; }
  .course-image--wide { width:100%; }

  .course-page .course-content, .preparation-page .course-content { padding-block:.95rem 1.25rem; }
  .reformer-page .course-section + .course-section, .mat-page .course-section + .course-section, .preparation-page .course-section + .course-section { margin-top:.85rem; padding-top:.75rem; }
  .course-section > h2 { margin-bottom:.7rem; }

  .studio-landing-page .course-hero .container, .studio-landing-page .course-shell { width:min(calc(100% - 2.6rem),72rem); }
  .studio-landing-page .course-content { padding-block:.85rem 1.15rem; }
  .studio-landing-page .studio-landing-media { width:min(100%,var(--studio-media-mobile-width,20rem)); margin-bottom:.75rem; }
  .studio-landing-page .course-directory-grid { gap:.65rem; }
  .studio-landing-page .course-directory-card { padding:.9rem; }
  .studio-landing-page .course-directory-card p { padding-bottom:.55rem; }
  .studio-landing-page .course-directory-card__arrow { right:.9rem; bottom:.9rem; }

  .preparation-page .course-section:first-child .course-feature-grid { gap:.55rem; }
  .preparation-page .course-feature { padding:.72rem .8rem; }
  .preparation-page .course-feature h3 { margin-bottom:.3rem; font-size:1.3rem; }
  .preparation-page .course-feature p { font-size:.95rem; line-height:1.45; }
  .preparation-page .course-section:first-child .course-image--portrait { width:min(100%,14.5rem); margin-inline:auto; }
  .preparation-page .course-supporting-note { margin-top:.55rem; padding:.62rem .75rem; line-height:1.45; }
  .preparation-page .preparation-list { gap:0; }
  .preparation-page .preparation-list li { min-height:0; padding:.65rem .2rem .72rem; border-top:1px solid var(--color-border); }
  .preparation-page .preparation-list h3 { margin-bottom:.3rem; font-size:1.3rem; }
  .preparation-page .preparation-list p { line-height:1.48; }
  .preparation-page .course-section[aria-labelledby="family-note-title"] { padding-block:.7rem; }
  .preparation-page .policy-details-section { padding-block:.55rem; }

  .reformer-page .course-primary-media { width:min(100%,19rem); }
  .reformer-page .course-option-grid { gap:0; }
  .reformer-page .course-option-card { padding:.7rem .15rem .75rem; border:0; border-top:1px solid var(--color-border); border-radius:0; background:transparent; }
  .reformer-page .course-option-card:last-child { border-bottom:1px solid var(--color-border); }
  .reformer-page .course-option-card h3 { margin-bottom:.3rem; font-size:1.35rem; }
  .reformer-page .course-option-card > p { font-size:.96rem; line-height:1.46; }
  .reformer-page .course-option-card__level { margin-top:.5rem; padding-top:.45rem; }
  .reformer-page .practical-panel, .mat-page .practical-panel { margin-top:.75rem; padding:.8rem; }
  .reformer-page .practical-list > div, .mat-page .practical-list > div { grid-template-columns:minmax(6.75rem,.65fr) minmax(0,1.35fr); gap:.55rem; padding-block:.42rem; }
  .reformer-page .course-practical-actions, .mat-page .course-practical-actions { margin-top:.7rem; padding-top:.7rem; }

  .mat-page .course-primary-media { width:min(100%,18rem); }
  .mat-page .course-single-offering { padding:.8rem; gap:.4rem; }
  .mat-page .course-single-offering p { line-height:1.5; }

  .prenatal-page .course-overview-panel, .postnatal-page .course-overview-panel { gap:.75rem; padding:.82rem; }
  .prenatal-page .course-overview-panel__content > p, .postnatal-page .course-overview-panel__content > p { margin-top:.5rem; line-height:1.5; }
  .prenatal-page .course-overview-panel__focus, .postnatal-page .course-overview-panel__focus { margin-top:.7rem; padding-top:.65rem; }
  .prenatal-page .course-overview-panel__focus h3, .postnatal-page .course-overview-panel__focus h3 { margin-bottom:.5rem; }
  .postnatal-page .course-overview-panel__image { width:min(100%,15rem); max-width:15rem; }
  .prenatal-page .course-overview-panel__image { order:-1; width:100%; max-width:none; height:auto; aspect-ratio:4/3; }
  .prenatal-page .course-overview-panel__image .responsive-picture { height:100%; }
  .prenatal-page .course-overview-panel__image img { height:100%; object-fit:cover; object-position:center 44%; }
  .postnatal-page--15j .course-overview-panel__image { order:-1; width:100%; max-width:none; height:auto; aspect-ratio:4/3; }
  .postnatal-page--15j .course-overview-panel__image .responsive-picture { height:100%; }
  .postnatal-page--15j .course-overview-panel__image img { height:100%; object-fit:cover; object-position:center 44%; }
  .prenatal-page .course-overview-panel .course-focus-list--integrated li, .postnatal-page .course-overview-panel .course-focus-list--integrated li { min-height:0; padding:.5rem .58rem; }
  .prenatal-page .practical-panel, .postnatal-page .practical-panel { margin-top:.75rem; padding:.8rem; }
  .postnatal-page .practical-list > div { grid-template-columns:minmax(6.75rem,.62fr) minmax(0,1.38fr); gap:.55rem; padding-block:.4rem; }
  .prenatal-page .practical-list > div { grid-template-columns:1fr; gap:.2rem; padding-block:.48rem; }
  .postnatal-page--15j .practical-list > div { grid-template-columns:1fr; gap:.2rem; padding-block:.48rem; }
  .prenatal-page .course-practical-actions, .postnatal-page .course-practical-actions { margin-top:.65rem; padding-top:.65rem; }

  .private-events-page .course-primary-media { margin-bottom:.8rem; }
  .private-events-page .event-format-panel { margin-top:.7rem; gap:.7rem; padding:.82rem; }
  .private-events-page .event-format-panel p { margin-top:.45rem; line-height:1.48; }
  .private-events-page .event-occasion-list { gap:.45rem; }
  .private-events-page .event-occasion-list li { padding:0 .6rem; }
  .private-events-page .event-options-panel { margin-top:.75rem; gap:.7rem; padding:.85rem; background:color-mix(in srgb,var(--color-background) 84%,var(--color-surface)); }
  .private-events-page .event-options-panel h2 { font-size:1.75rem; }
  .private-events-page .event-options-panel__content > p { margin-top:.45rem; font-size:.98rem; line-height:1.48; }
  .private-events-page .event-options-panel__image { margin-top:.1rem; aspect-ratio:3/2; }
  .private-events-page .course-final-cta { gap:.7rem; margin-top:.75rem; padding:.9rem; }
  .private-events-page .course-final-cta__actions { gap:.55rem; }
}
@media (max-width:21.99rem) {
  .event-occasion-list, .event-practical-grid, .course-focus-list--integrated { grid-template-columns:1fr; }
  .prenatal-page .course-focus-list--integrated li:last-child,
  .postnatal-page .course-focus-list--integrated li:last-child { grid-column:auto; }
}
@media (min-width:22rem) and (max-width:47.99rem) {
  .prenatal-page .course-focus-list--integrated li:last-child,
  .postnatal-page .course-focus-list--integrated li:last-child { grid-column:auto; }
}
@media (min-width:48rem) { .course-page--editorial-compact .course-shell { width:min(100% - 3rem,72rem); } }
@media (min-width:80rem) { .course-page--editorial-compact .course-shell { width:min(100% - 4rem,72rem); } }
