:root{--ef-space-1:4px;--ef-space-2:8px;--ef-space-3:16px;--ef-space-4:24px;--ef-space-5:32px;--ef-space-6:48px;--ef-space-7:64px;--ef-space-8:96px;--ef-section-y:var(--ef-space-6);--ef-section-y-tight:var(--ef-space-5);--ef-text-hero:clamp(36px,5.2vw,60px);--ef-text-section:clamp(30px,3.6vw,40px);--ef-text-sub:clamp(22px,2.2vw,26px);--ef-text-card:clamp(18px,1.4vw,20px);--ef-text-body:16px;--ef-text-meta:14px;--ef-font-display:'Comic Sans MS','Comic Neue',cursive,sans-serif;--ef-font-body:'Nunito','Segoe UI',system-ui,sans-serif;--ef-title-gap:var(--ef-space-6);--ef-color-primary:#bcb9dd;--ef-color-secondary:#312783;--ef-color-highlight:#fbd3b0;--ef-color-surface:#ffffff;--ef-color-on-dark:#ffffff;--ef-color-text:var(--ef-color-secondary);--ef-color-surface-alt:color-mix(in srgb,var(--ef-color-primary) 32%,#ffffff);--ef-color-line:color-mix(in srgb,var(--ef-color-secondary) 12%,transparent);--ef-color-ground-dark:color-mix(in srgb,var(--ef-color-secondary) 22%,#000000);--ef-scrim-weak:rgba(0,0,0,0.15);--ef-scrim:rgba(0,0,0,0.25);--ef-scrim-strong:rgba(0,0,0,0.35);--ef-scrim-heavy:rgba(0,0,0,0.4);--ef-radius:8px;--ef-radius-pill:999px;--ef-shadow:0 2px 8px color-mix(in srgb,var(--ef-color-secondary) 14%,transparent);--ef-shadow-raised:0 14px 32px color-mix(in srgb,var(--ef-color-secondary) 20%,transparent);--ef-card-ratio:520 / 324;--ef-control-height:44px;--ef-container:1170px;--ef-header-height:60px;--ef-measure:70ch;--ef-column:640px;--ef-transition:200ms ease;--ef-transition-slow:400ms ease;--ef-color-success:#1e5b30;--ef-color-success-bg:#e3f4e7;--ef-color-danger:#a3271c;--ef-color-danger-bg:#fbe6e3}@media (min-width:768px){:root{--ef-section-y:var(--ef-space-7);--ef-section-y-tight:var(--ef-space-6);--ef-header-height:90px}}.ef-section{padding:var(--ef-section-y) 0}.ef-section--tight{padding:var(--ef-section-y-tight) 0}.ef-section--flush{padding:0}.ef-section--tinted{background-color:var(--ef-color-surface-alt)}.ef-section--dark{background-color:var(--ef-color-secondary);color:var(--ef-color-on-dark)}.ef-section--tinted + .ef-section--tinted,.ef-section--dark + .ef-section--dark{padding-top:0}.ef-section__title{margin:0 0 var(--ef-title-gap);font-size:var(--ef-text-section);line-height:1.15;text-align:center;text-wrap:balance}.ef-section__title:only-child{margin-bottom:0}.ef-card{background-color:var(--ef-color-surface);border-radius:var(--ef-radius);box-shadow:var(--ef-shadow);overflow:hidden}.ef-card__body{padding:var(--ef-space-4)}.ef-card__title{margin:0 0 var(--ef-space-2);font-size:var(--ef-text-card);line-height:1.25}.ef-card__meta{font-size:var(--ef-text-meta);opacity:0.75}.ef-divider{display:flex;justify-content:center;padding:var(--ef-space-6) 15px}.ef-divider--space-small{padding-top:var(--ef-space-4);padding-bottom:var(--ef-space-4)}.ef-divider--space-large{padding-top:var(--ef-space-8);padding-bottom:var(--ef-space-8)}.ef-divider__mark{display:flex;align-items:center;justify-content:center;gap:var(--ef-space-2);width:96px;max-width:100%}.ef-divider--content .ef-divider__mark{width:var(--ef-measure)}.ef-divider--full .ef-divider__mark{width:var(--ef-container)}.ef-divider--line .ef-divider__mark{height:2px;border-radius:var(--ef-radius-pill);background:var(--ef-color-line)}.ef-divider--dots .ef-divider__mark{width:auto}.ef-divider--dots .ef-divider__mark span{width:6px;height:6px;border-radius:var(--ef-radius-pill);background:color-mix(in srgb,var(--ef-color-secondary) 45%,transparent)}.ef-divider--ornament .ef-divider__mark{width:auto}.ef-divider--ornament img{width:64px;height:64px;opacity:0.55}.ef-divider--space{padding-top:calc(var(--ef-space-6) / 2);padding-bottom:calc(var(--ef-space-6) / 2)}@media (hover:hover){.ef-card--interactive{transition:transform var(--ef-transition),box-shadow var(--ef-transition)}.ef-card--interactive:hover,.ef-card--interactive:focus-within{transform:translateY(-4px);box-shadow:var(--ef-shadow-raised)}}.ef-pill{display:inline-block;padding:var(--ef-space-1) var(--ef-space-3);border-radius:var(--ef-radius-pill);font-size:var(--ef-text-meta);line-height:1.4}.ef-section--washed{background-size:400% 400%;animation:gradient 15s ease infinite}@media (prefers-reduced-motion:reduce){.ef-section--washed{animation:none}.ef-card--interactive,.ef-card--interactive:hover,.ef-card--interactive:focus-within{transition:none;transform:none}}.js-reveal .ef-reveal{opacity:0;transform:translateY(16px);transition:opacity var(--ef-transition-slow),transform var(--ef-transition-slow)}.js-reveal .ef-reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce),print{.js-reveal .ef-reveal{opacity:1;transform:none;transition:none}}