:root{--canvas:oklch(100% 0 0);--ink:oklch(22% .06 254);--blue:oklch(61% .17 247);--blue-deep:oklch(43% .13 252);--pink:oklch(70% .19 344);--pink-deep:oklch(38% .2 347);--surface:oklch(94% .03 245);--surface-strong:oklch(88% .07 245);--line:oklch(84% .03 245);--font-display:"Bricolage Grotesque", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--max:78rem;--gutter:clamp(1.25rem, 4vw, 4.5rem);--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:4.5rem;--space-3xl:6rem;--header-min-height:5.25rem;--header-height:calc(var(--header-min-height) + max(var(--space-xs), env(safe-area-inset-top)) + max(var(--space-xs), env(safe-area-inset-bottom)) + var(--space-2xs));--measure-narrow:44ch;--measure-body:66ch;--measure-wide:78ch;--font-size-xs:clamp(.78rem, .75rem + .12vw, .85rem);--font-size-sm:clamp(.88rem, .85rem + .16vw, .96rem);--font-size-base:clamp(1rem, .96rem + .2vw, 1.125rem);--font-size-md:clamp(1.22rem, 1.12rem + .42vw, 1.4rem);--font-size-lg:clamp(1.5rem, 1.35rem + .65vw, 1.85rem);--font-size-xl:clamp(2.25rem, 1.85rem + 1.7vw, 3.05rem);--font-size-2xl:clamp(2.8rem, 2.2rem + 2.5vw, 4.05rem);--font-size-display:clamp(3.4rem, 2.6rem + 3.4vw, 5rem)}:root[data-theme=dark]{--canvas:oklch(18% .07 252);--ink:oklch(94% .02 245);--blue:oklch(72% .15 247);--blue-deep:oklch(78% .11 247);--pink:oklch(78% .16 344);--pink-deep:oklch(78% .16 344);--surface:oklch(22% .04 250);--surface-strong:oklch(30% .06 250);--line:oklch(42% .05 250)}@media (prefers-color-scheme:dark){:root:not(.has-js)[data-theme=light]{--canvas:oklch(18% .07 252);--ink:oklch(94% .02 245);--blue:oklch(72% .15 247);--blue-deep:oklch(78% .11 247);--pink:oklch(78% .16 344);--pink-deep:oklch(78% .16 344);--surface:oklch(22% .04 250);--surface-strong:oklch(30% .06 250);--line:oklch(42% .05 250)}:root:not(.has-js)[data-theme=light] body{letter-spacing:.01em;line-height:1.7}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--canvas);-webkit-text-size-adjust:100%}body{color:var(--ink);background:var(--canvas);font-family:Atkinson Hyperlegible,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:var(--font-size-base);font-optical-sizing:auto;font-kerning:normal;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}:root[data-theme=dark] body{letter-spacing:.01em;line-height:1.7}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button,summary{font:inherit}img{max-width:100%;display:block}[data-theme-image]{display:contents}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;font-weight:700;line-height:1.05}h1{margin-bottom:var(--space-md);font-size:var(--font-size-display);letter-spacing:-.035em;max-width:var(--measure-narrow)}h2{margin-bottom:var(--space-sm);font-size:var(--font-size-xl);letter-spacing:-.03em;font-weight:700;line-height:1.1}h3{font-size:var(--font-size-md);letter-spacing:-.02em;line-height:1.25}::selection{background:var(--surface-strong);color:var(--ink)}.skip-link{z-index:30;padding:var(--space-xs) var(--space-sm);color:var(--canvas);background:var(--blue-deep);border-radius:var(--space-2xs);transition:transform .18s var(--ease-out-quart);font-weight:700;text-decoration:none;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-header{z-index:20;min-height:var(--header-min-height);padding-top:max(var(--space-xs), env(safe-area-inset-top));padding-right:max(var(--gutter), env(safe-area-inset-right), calc((100% - var(--max)) / 2));padding-bottom:max(var(--space-xs), env(safe-area-inset-bottom));padding-left:max(var(--gutter), env(safe-area-inset-left), calc((100% - var(--max)) / 2));background:color-mix(in oklch, var(--canvas) 92%, transparent);border-bottom:0;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:sticky;top:0}@supports (backdrop-filter:blur(1px)){.site-header{backdrop-filter:blur(18px)saturate(1.18)}}@media (prefers-reduced-transparency:reduce){.site-header{background:var(--canvas);backdrop-filter:none}}.brand{border-radius:var(--space-2xs);width:clamp(5.2rem,10vw,8.5rem);transition:opacity .18s var(--ease-out-quart);justify-content:center;justify-self:center;align-items:center;padding:.2rem 0;display:inline-flex;position:relative}.brand:hover{opacity:.88}.brand img{width:100%;height:auto}nav{justify-self:start;gap:var(--space-3xs);padding:var(--space-3xs);font-size:var(--font-size-sm);font-weight:700;display:flex}nav a,footer a{text-decoration:none}.site-header nav a{min-height:2.75rem;padding:.45rem var(--space-xs);transition:color .18s var(--ease-out-quart), background .18s var(--ease-out-quart), transform .18s var(--ease-out-quart);border-radius:.65rem;align-items:center;display:inline-flex}.site-header nav .nav-contact,.site-header nav .nav-merch,.site-header nav .nav-instagram,.site-header nav .nav-join{display:none}nav a:hover,nav a[aria-current]{color:var(--blue-deep);background:color-mix(in oklch, var(--surface-strong) 62%, transparent)}nav a:hover{transform:translateY(-1px)}.header-actions{justify-self:end;align-items:center;gap:var(--space-xs);display:flex}.button{isolation:isolate;min-height:2.75rem;color:var(--canvas);background:var(--blue-deep);border:1px solid var(--blue-deep);font-size:var(--font-size-sm);transition:transform .18s var(--ease-out-quart), background .18s var(--ease-out-quart), border-color .18s var(--ease-out-quart);border-radius:999px;justify-content:center;align-items:center;padding:.58rem 1.25rem;font-weight:700;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.button:hover{background:var(--pink-deep);border-color:var(--pink-deep);transform:translateY(-1px)}.button:active{transform:translateY(0)scale(.98)}.button--outline{color:var(--blue-deep);background:0 0}.button--outline:hover{color:var(--canvas)}.button--disabled{color:color-mix(in oklch, var(--ink) 62%, var(--canvas));background:color-mix(in oklch, var(--surface-strong) 72%, var(--canvas));cursor:not-allowed;border-color:#0000}.button__ripple{z-index:-1;background:color-mix(in oklch, var(--canvas) 42%, transparent);pointer-events:none;width:.5rem;height:.5rem;animation:ripple .52s var(--ease-out-expo) forwards;border-radius:50%;position:absolute;transform:translate(-50%,-50%)scale(0)}.theme-toggle{isolation:isolate;width:2.75rem;height:2.75rem;color:var(--blue-deep);background:var(--surface);border:1px solid color-mix(in oklch, var(--line) 60%, transparent);cursor:pointer;transition:color .18s var(--ease-out-quart), background .18s var(--ease-out-quart), border-color .18s var(--ease-out-quart), transform .18s var(--ease-out-quart);border-radius:50%;place-content:center;padding:0;line-height:1;display:grid;position:relative;overflow:hidden}.header-social{isolation:isolate;width:2.75rem;height:2.75rem;color:var(--blue-deep);background:var(--surface);border:1px solid color-mix(in oklch, var(--line) 60%, transparent);transition:color .18s var(--ease-out-quart), background .18s var(--ease-out-quart), border-color .18s var(--ease-out-quart), transform .18s var(--ease-out-quart);border-radius:50%;place-content:center;padding:0;line-height:1;text-decoration:none;display:grid;position:relative;overflow:hidden}.theme-toggle:hover,.header-social:hover{color:var(--pink-deep);background:var(--surface-strong);border-color:var(--pink-deep);transform:translateY(-1px)}.header-social svg{width:1.25rem;height:1.25rem;transition:transform .26s var(--ease-out-quart);display:block}.header-social:hover svg{transform:scale(1.08)}.site-header nav a:focus-visible,.theme-toggle:focus-visible,.header-social:focus-visible,.button:focus-visible,.brand:focus-visible{outline:3px solid var(--pink-deep);outline-offset:3px}.theme-toggle__sun,.theme-toggle__moon{width:100%;height:100%;transition:opacity .22s var(--ease-out-quart), transform .32s var(--ease-out-quart);place-content:center;display:grid;position:absolute;inset:0}.theme-toggle__sun svg,.theme-toggle__moon svg{width:1.1rem;height:1.1rem;transition:transform .26s var(--ease-out-quart);display:block}.theme-toggle:hover .theme-toggle__sun svg,.theme-toggle:hover .theme-toggle__moon svg{transform:rotate(14deg)scale(1.05)}.theme-toggle__moon{opacity:0;transform:rotate(60deg)scale(.7)}:root[data-theme=dark] .theme-toggle__sun{opacity:0;transform:rotate(-60deg)scale(.7)}:root[data-theme=dark] .theme-toggle__moon{opacity:1;transform:none}.menu-toggle{display:none}section{scroll-margin-top:var(--header-height)}.hero{isolation:isolate;min-height:clamp(38rem,50vw,54rem);padding:clamp(2.5rem, 4vw, 4rem) max(var(--gutter), calc((100% - var(--max)) / 2)) clamp(5rem, 8vw, 7.5rem);background:var(--canvas);align-items:flex-start;display:flex;position:relative;overflow:hidden}.hero__copy{z-index:1;width:min(100%,clamp(34rem,48vw,42rem));padding-top:0;position:relative}.hero__copy h1{max-width:var(--measure-narrow)}.hero__desktop-break{display:inline}.hero__copy>*{text-shadow:0 1px 0 color-mix(in oklch, var(--canvas) 94%, transparent), 0 0 .55rem color-mix(in oklch, var(--canvas) 82%, transparent)}.hero__copy h1{text-shadow:0 2px 0 color-mix(in oklch, var(--canvas) 96%, transparent), 0 0 .9rem color-mix(in oklch, var(--canvas) 86%, transparent)}.hero__copy>p:not(.hero__mark){max-width:var(--measure-body);font-size:var(--font-size-md);text-wrap:pretty;margin-bottom:var(--space-md);line-height:1.55}.hero__mark{margin-bottom:var(--space-xs);color:var(--pink-deep);font-size:var(--font-size-md);letter-spacing:.01em;font-weight:700}.text-link{gap:var(--space-2xs);min-height:2.75rem;color:var(--blue-deep);border-radius:var(--space-3xs);transition:color .18s var(--ease-out-quart);align-items:center;padding:.25rem 0;font-weight:700;text-decoration:none;display:inline-flex}.text-link:hover{color:var(--pink-deep);text-underline-offset:.28em;text-decoration:underline}.text-link span{transition:transform .18s var(--ease-out-quart)}.text-link:hover span{transform:translate(.2rem)}.hero__art{z-index:-1;pointer-events:none;width:100%;margin:0;position:absolute;inset:0}.hero__illustration{aspect-ratio:auto;object-fit:contain;object-position:center bottom;transform-origin:58% 82%;width:100%;height:100%;animation:hero-swim 1.05s 80ms var(--ease-out-expo) both;position:relative}.practice,.story-grid{gap:var(--space-xl)}.practice{padding:clamp(3rem, 5.2vw, 4.5rem) max(var(--gutter), calc((100% - var(--max)) / 2));background:color-mix(in oklch, var(--surface) 40%, var(--canvas));border-top:1px solid color-mix(in oklch, var(--line) 60%, transparent);border-bottom:1px solid color-mix(in oklch, var(--line) 60%, transparent);grid-template-columns:minmax(15rem,1fr) minmax(28rem,2fr);display:grid}.section-intro{max-width:var(--measure-body);font-size:var(--font-size-base);text-wrap:pretty;line-height:1.6}.practice-schedule-group{flex-direction:column;align-self:start;gap:0;width:100%;min-width:0;padding-top:0;display:flex}.practice-schedule-group h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--blue-deep);margin:0 0 var(--space-3xs) 0;font-size:clamp(1.1rem,2.2vw,1.25rem);font-weight:700;line-height:1.3}.schedule-cards{gap:var(--space-md);margin-top:0;margin-bottom:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0;display:grid}.schedule-card{gap:var(--space-xs);padding:clamp(var(--space-sm), 3.5vw, var(--space-md));background:color-mix(in oklch, var(--surface) 35%, var(--canvas));border:1px solid color-mix(in oklch, var(--line) 60%, transparent);border-radius:var(--space-xs);min-width:0;transition:border-color .18s var(--ease-out-quart), background .18s var(--ease-out-quart), box-shadow .18s var(--ease-out-quart);flex-direction:column;display:flex;position:relative}.schedule-card:hover{border-color:color-mix(in oklch, var(--blue) 50%, transparent);background:color-mix(in oklch, var(--surface) 50%, var(--canvas));box-shadow:0 4px 16px -4px color-mix(in oklch, var(--blue) 12%, transparent)}.schedule-card__header{justify-content:space-between;align-items:center;gap:var(--space-xs);padding-bottom:var(--space-2xs);border-bottom:1px solid color-mix(in oklch, var(--line) 50%, transparent);min-width:0;display:flex}.schedule-card__title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:0;font-size:1.05rem;font-weight:700;line-height:1.3}.schedule-card__months{font-variant-numeric:tabular-nums;letter-spacing:.01em;color:var(--blue-deep);background:color-mix(in oklch, var(--blue) 12%, var(--canvas));border:1px solid color-mix(in oklch, var(--blue) 25%, transparent);white-space:nowrap;border-radius:9999px;padding:.15rem .55rem;font-size:.775rem;font-weight:600}.schedule-card__list{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.schedule-card__item{flex-direction:column;gap:.2rem;display:flex}.schedule-card__time{color:var(--ink);flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.95rem;font-weight:600;line-height:1.4;display:flex}.schedule-card__venue{color:var(--pink-deep);font-size:.875rem;font-style:normal;font-weight:600}.outdoor-pill{color:var(--ink);background:color-mix(in oklch, var(--pink) 15%, var(--canvas));border:1px solid color-mix(in oklch, var(--pink) 35%, transparent);transition:transform .22s var(--ease-out-quart), background .22s var(--ease-out-quart);border-radius:9999px;align-items:center;gap:.3rem;padding:.15rem .5rem;font-size:.725rem;font-weight:700;line-height:1;display:inline-flex}.outdoor-pill:hover{background:color-mix(in oklch, var(--pink) 25%, var(--canvas))}.sun-icon-smile{color:var(--pink-deep);transition:transform .32s var(--ease-out-quart);flex-shrink:0}.outdoor-pill:hover .sun-icon-smile{transform:rotate(25deg)scale(1.2)}.practice__details{width:100%;margin-top:var(--space-xs);grid-column:1/-1}details{border:0}.disclosure-card{margin-top:var(--space-xs);border:1px solid color-mix(in oklch, var(--line) 60%, transparent);border-radius:var(--space-xs);background:color-mix(in oklch, var(--surface) 25%, var(--canvas));transition:border-color .18s var(--ease-out-quart), background .18s var(--ease-out-quart);overflow:hidden}.disclosure-card:hover{border-color:color-mix(in oklch, var(--blue) 50%, transparent)}.calendar-details{background:color-mix(in oklch, var(--blue) 20%, var(--canvas));border-color:color-mix(in oklch, var(--blue) 45%, transparent)}.calendar-details summary.disclosure-bar{color:var(--blue-deep)}.calendar-details:hover{background:color-mix(in oklch, var(--blue) 25%, var(--canvas));border-color:color-mix(in oklch, var(--blue) 60%, transparent)}details[open].calendar-details>summary.disclosure-bar{border-bottom-color:color-mix(in oklch, var(--blue) 45%, transparent)}.calendar-details:focus-within summary.disclosure-bar{outline-color:var(--blue-deep)}summary.disclosure-bar{justify-content:space-between;align-items:center;gap:var(--space-sm);min-height:2.75rem;font-size:var(--font-size-sm);color:var(--ink);cursor:pointer;transition:color .18s var(--ease-out-quart), background .18s var(--ease-out-quart);background:0 0;padding:.65rem 1rem;font-weight:700;list-style:none;display:flex}summary.disclosure-bar::-webkit-details-marker{display:none}summary.disclosure-bar:hover{color:var(--blue-deep);background:color-mix(in oklch, var(--surface) 60%, transparent)}summary.disclosure-bar:focus-visible{outline:3px solid var(--pink-deep);outline-offset:-2px}summary.disclosure-bar .chevron{color:var(--pink-deep);transition:transform .22s var(--ease-out-quart);font-size:1.1rem;line-height:1}details[open].disclosure-card>summary.disclosure-bar{border-bottom:1px solid color-mix(in oklch, var(--line) 50%, transparent);background:color-mix(in oklch, var(--surface) 40%, transparent)}details[open].disclosure-card>summary.disclosure-bar .chevron{transform:rotate(180deg)}.details-grid{gap:var(--space-lg);padding:var(--space-md) var(--space-md) var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}details[open]>.details-grid,details[open]>.coach-list,details[open]>.calendar-frame,details[open]>.calendar-pending,details[open]>.story-archive__content,details[open]>p{animation:detail-rise .26s var(--ease-out-quart) both}.details-grid h3{color:var(--blue-deep);margin-bottom:var(--space-xs)}.details-grid p{max-width:100%}.practice__details,.join__details,.story__archive{width:100%}.guide-list{margin-bottom:0;padding-left:1.25rem}.guide-list li+li{margin-top:var(--space-2xs)}.calendar-frame{gap:var(--space-xs);margin:var(--space-xs) 0;background:color-mix(in oklch, var(--surface) 40%, var(--canvas));border:1px solid color-mix(in oklch, var(--line) 65%, transparent);border-radius:var(--space-xs);padding:clamp(.75rem,2vw,1.25rem);display:grid}.calendar-header{justify-content:flex-end;align-items:center;gap:var(--space-xs);flex-wrap:wrap;padding:.1rem .2rem .25rem;display:flex}.calendar-open-link{font-size:var(--font-size-sm)}.calendar-wrapper{background:color-mix(in oklch, var(--surface) 60%, var(--canvas));border-radius:.65rem;width:100%;min-height:26rem;position:relative;overflow:hidden}@media (width>=640px){.calendar-wrapper{min-height:38rem}}.calendar-skeleton{background:color-mix(in oklch, var(--surface) 80%, var(--canvas));border:1px solid color-mix(in oklch, var(--line) 45%, transparent);opacity:1;pointer-events:none;z-index:1;border-radius:.65rem;flex-direction:column;gap:1.25rem;padding:1.5rem;transition:opacity .4s cubic-bezier(.16,1,.3,1),visibility .4s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;inset:0}.calendar-wrapper.loaded .calendar-skeleton{opacity:0;visibility:hidden}.skeleton-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.skeleton-pill{background:linear-gradient(90deg, color-mix(in oklch, var(--line) 20%, transparent) 0%, color-mix(in oklch, var(--line) 45%, transparent) 50%, color-mix(in oklch, var(--line) 20%, transparent) 100%);background-size:200% 100%;border-radius:.4rem;width:12rem;height:2rem;animation:1.8s ease-in-out infinite calendar-shimmer}.skeleton-pill--sm{width:6rem}.skeleton-grid{flex:1;grid-template-columns:repeat(7,1fr);gap:.75rem;display:grid}.skeleton-col{background:linear-gradient(90deg, color-mix(in oklch, var(--line) 15%, transparent) 0%, color-mix(in oklch, var(--line) 35%, transparent) 50%, color-mix(in oklch, var(--line) 15%, transparent) 100%);background-size:200% 100%;border-radius:.4rem;height:100%;min-height:18rem;animation:1.8s ease-in-out infinite calendar-shimmer}.skeleton-col:first-child{animation-delay:0s}.skeleton-col:nth-child(2){animation-delay:80ms}.skeleton-col:nth-child(3){animation-delay:.16s}.skeleton-col:nth-child(4){animation-delay:.24s}.skeleton-col:nth-child(5){animation-delay:.32s}.skeleton-col:nth-child(6){animation-delay:.4s}.skeleton-col:nth-child(7){animation-delay:.48s}@media (width>=640px){.skeleton-col{min-height:26rem}}@keyframes calendar-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton-pill,.skeleton-col{animation:none}}.calendar-frame iframe{border:1px solid color-mix(in oklch, var(--line) 45%, transparent);opacity:0;width:100%;min-height:26rem;transition:opacity .72s var(--ease-out-expo), transform .72s var(--ease-out-expo), border-color .26s var(--ease-out-quart);background:#fff;border-radius:.65rem;transform:scale(.99)translateY(4px);box-shadow:inset 0 0 0 1px #00000008}@media (width>=640px){.calendar-frame iframe{min-height:38rem}}.calendar-wrapper.loaded iframe{opacity:1;transform:scale(1)translateY(0)}.calendar-wrapper.error{min-height:16rem;padding:var(--space-lg);background:color-mix(in oklch, var(--pink) 8%, var(--canvas));border:1px solid color-mix(in oklch, var(--pink-deep) 35%, transparent);place-items:center;display:grid}.calendar-wrapper.error iframe,.calendar-wrapper.error .calendar-skeleton{display:none}.calendar-error{max-width:38rem;color:var(--ink);text-align:center;animation:calendar-error-rise .28s var(--ease-out-quart)}.calendar-error p{margin-bottom:var(--space-md)}.calendar-error__actions{justify-content:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.calendar-noscript{padding:var(--space-sm) var(--space-md);margin:var(--space-xs) 0 0;color:var(--ink);background:color-mix(in oklch, var(--surface) 60%, var(--canvas));border-radius:var(--space-xs)}html:not(.has-js) .calendar-wrapper{display:none}:root[data-theme=dark] .calendar-frame iframe{color-scheme:dark;filter:invert(.9)hue-rotate(180deg)contrast(.95);border-color:color-mix(in oklch, var(--line) 25%, transparent)}@media (prefers-color-scheme:dark){:root:not(.has-js) .calendar-frame iframe{color-scheme:dark;filter:invert(.9)hue-rotate(180deg)contrast(.95);border-color:color-mix(in oklch, var(--line) 25%, transparent)}}.calendar-pending{padding:var(--space-sm) var(--space-md);margin:0}.schedule-note{box-sizing:border-box;width:100%;margin:var(--space-xs) 0 var(--space-sm);border-radius:var(--space-xs);color:var(--blue-deep);background:color-mix(in oklch, var(--surface) 35%, var(--canvas));border:1px solid color-mix(in oklch, var(--line) 60%, transparent);font-size:var(--font-size-sm);align-items:center;gap:.55rem;padding:.6rem .85rem;line-height:1.4;display:flex}.schedule-note__icon{color:var(--blue-deep);flex-shrink:0}.fees-unavailable{color:var(--pink-deep);background:color-mix(in oklch, var(--pink) 8%, transparent);max-width:var(--measure-body);padding:var(--space-sm) var(--space-md);margin:clamp(1.75rem, 4vw, 3rem) 0 var(--space-md);border-radius:var(--space-xs);font-size:var(--font-size-base)}.fees-unavailable a{text-underline-offset:.2em;font-weight:700}.join{gap:var(--space-md);padding:clamp(3rem, 5.2vw, 4.5rem) max(var(--gutter), calc((100% - var(--max)) / 2));background:var(--canvas);flex-direction:column;display:flex}.join__heading{width:100%}.join__heading h2{margin-bottom:var(--space-xs)}.waitlist-note{background:color-mix(in oklch, var(--pink) 10%, var(--canvas));border:1px solid color-mix(in oklch, var(--pink-deep) 35%, transparent);border-radius:var(--space-xs);color:var(--ink);font-size:var(--font-size-sm);max-width:var(--measure-body);align-items:flex-start;gap:.55rem;margin-top:0;padding:.75rem 1rem;line-height:1.5;display:flex}.waitlist-note__icon{color:var(--pink-deep);flex-shrink:0;margin-top:.15rem}.join__content,.pricing-tables{gap:var(--space-md);flex-direction:column;width:100%;min-width:0;display:flex}.pricing-group{gap:var(--space-2xs);flex-direction:column;width:100%;min-width:0;display:flex}.pricing-group__header{justify-content:space-between;align-items:center;gap:var(--space-2xs) var(--space-sm);margin-bottom:var(--space-xs);flex-wrap:wrap;display:flex}.pricing-group__header h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--blue-deep);margin:0;font-size:clamp(1.1rem,2.2vw,1.25rem);font-weight:700;line-height:1.3}.pricing-badge{font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;letter-spacing:.01em;color:var(--blue-deep);background:color-mix(in oklch, var(--surface) 50%, var(--canvas));border:1px solid color-mix(in oklch, var(--line) 60%, transparent);border-radius:var(--space-xs);flex-wrap:wrap;align-items:center;gap:.25rem .45rem;max-width:100%;margin:0;padding:.25rem .65rem;font-weight:600;line-height:1.35;display:inline-flex}.badge-sep{color:color-mix(in oklch, var(--line) 80%, var(--blue-deep))}@media (width>=640px){.pricing-badge{border-radius:9999px;padding:.18rem .6rem}}.fee-table-wrap{-webkit-overflow-scrolling:touch;border:1px solid color-mix(in oklch, var(--line) 60%, transparent);border-radius:var(--space-xs);background:color-mix(in oklch, var(--surface) 35%, var(--canvas));transition:border-color .18s var(--ease-out-quart), background .18s var(--ease-out-quart), box-shadow .18s var(--ease-out-quart);overflow-x:auto}.fee-table-wrap:hover{border-color:color-mix(in oklch, var(--blue) 50%, transparent)}.fee-table-wrap:focus-visible{outline:3px solid var(--pink-deep);outline-offset:2px}.fee-table--matrix{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:var(--font-size-sm);text-align:left}@media (width>=640px){.fee-table--matrix{min-width:28rem}.fee-table--matrix thead th{padding:.65rem var(--space-sm);font-size:var(--font-size-sm);color:var(--pink-deep);background:color-mix(in oklch, var(--surface) 50%, transparent);border-bottom:1px solid color-mix(in oklch, var(--line) 55%, transparent);white-space:nowrap;font-weight:700}.fee-table--matrix tbody th,.fee-table--matrix tbody td{padding:.8rem var(--space-sm);border-bottom:1px solid color-mix(in oklch, var(--line) 45%, transparent);vertical-align:baseline}.fee-table--matrix tbody tr:last-child th,.fee-table--matrix tbody tr:last-child td{border-bottom:0}.fee-table--matrix tbody tr{transition:background .18s var(--ease-out-quart)}.fee-table--matrix tbody tr:hover{background:color-mix(in oklch, var(--surface) 45%, transparent)}.fee-table--matrix .row-label{color:var(--ink);text-align:left;white-space:nowrap;font-weight:700}}.fee-table--matrix .cell--highlight strong,.fee-table--matrix .cell--student strong{color:var(--pink-deep);font-weight:700}.fee-table--matrix .cell--breakdown{color:color-mix(in oklch, var(--ink) 80%, transparent);line-height:1.4}.fee-table--matrix .th--highlight{color:var(--blue-deep)}@media (width<=639px){.fee-table-wrap{background:0 0;border:0;overflow-x:visible}.fee-table--matrix{width:100%;min-width:0;display:block}.fee-table--matrix thead{display:none}.fee-table--matrix tbody{gap:var(--space-xs);flex-direction:column;width:100%;display:flex}.fee-table--matrix tbody tr{gap:var(--space-2xs) var(--space-sm);padding:var(--space-sm);background:color-mix(in oklch, var(--surface) 35%, var(--canvas));border:1px solid color-mix(in oklch, var(--line) 60%, transparent);border-radius:var(--space-xs);transition:border-color .18s var(--ease-out-quart), background .18s var(--ease-out-quart), box-shadow .18s var(--ease-out-quart);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.fee-table--matrix tbody tr:hover{border-color:color-mix(in oklch, var(--blue) 50%, transparent);background:color-mix(in oklch, var(--surface) 50%, var(--canvas));box-shadow:0 4px 16px -4px color-mix(in oklch, var(--blue) 12%, transparent)}.fee-table--matrix .row-label{font-family:var(--font-display);color:var(--ink);padding:0 0 var(--space-3xs) 0;border-bottom:1px solid color-mix(in oklch, var(--line) 50%, transparent);margin-bottom:var(--space-3xs);text-align:left;grid-column:1/-1;font-size:1.05rem;font-weight:700}.fee-table--matrix tbody td{font-size:var(--font-size-sm);border:0;flex-direction:column;gap:.15rem;padding:.15rem 0;display:flex}.fee-table--matrix tbody td[data-label]:before{content:attr(data-label);letter-spacing:.02em;color:var(--blue-deep);text-transform:uppercase;font-size:.725rem;font-weight:700}.fee-table--matrix .cell--breakdown{border-top:1px dashed color-mix(in oklch, var(--line) 45%, transparent);padding-top:var(--space-2xs);margin-top:var(--space-3xs);grid-column:1/-1}}.join__details{margin-top:0}.story{isolation:isolate;min-height:auto;padding:clamp(3rem, 5.2vw, 4.5rem) max(var(--gutter), calc((100% - var(--max)) / 2)) clamp(2rem, 3.5vw, 3rem);background:color-mix(in oklch, var(--surface) 40%, var(--canvas));border-top:1px solid color-mix(in oklch, var(--line) 60%, transparent);border-bottom:0;justify-content:flex-start;align-items:flex-start;display:flex;position:relative;overflow:hidden}.story-grid{gap:var(--space-xl);grid-template-columns:minmax(22rem,1fr) minmax(28rem,1.2fr);align-items:start;width:100%;display:grid}.story__mission p{max-width:var(--measure-body);font-size:var(--font-size-base);text-wrap:pretty;line-height:1.6}.story__coaches{padding-top:0}.coaches-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--blue-deep);margin:0 0 var(--space-xs) 0;font-size:clamp(1.1rem,2.2vw,1.25rem);font-weight:700;line-height:1.3}.coach-cards{gap:var(--space-xs);flex-direction:column;display:flex}.coach-card{border:1px solid color-mix(in oklch, var(--line) 60%, transparent);border-radius:var(--space-xs);background:color-mix(in oklch, var(--surface) 35%, var(--canvas));transition:transform .18s var(--ease-out-quart), border-color .18s var(--ease-out-quart), background .18s var(--ease-out-quart), box-shadow .18s var(--ease-out-quart);padding:.85rem 1rem}.coach-card:hover{border-color:color-mix(in oklch, var(--blue) 50%, transparent);background:color-mix(in oklch, var(--surface) 50%, var(--canvas));box-shadow:0 4px 16px -4px color-mix(in oklch, var(--blue) 12%, transparent);transform:translateY(-1px)}.coach-card strong{font-size:var(--font-size-base);color:var(--ink);font-weight:700;display:block}.coach-card span{margin-bottom:var(--space-3xs);font-size:var(--font-size-sm);letter-spacing:.01em;color:var(--pink-deep);font-weight:700;display:block}.coach-card p{font-size:var(--font-size-sm);color:var(--ink);margin:0;line-height:1.55}.story-archive__content{padding:var(--space-md)}.archive-group+.archive-group{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid color-mix(in oklch, var(--line) 45%, transparent)}.archive-group h3{color:var(--blue-deep);margin-top:var(--space-md);margin-bottom:var(--space-2xs)}.archive-group h3:first-child{margin-top:0}.story__archive{grid-column:1/-1;width:100%}.archive-group p{max-width:100%;margin-bottom:var(--space-sm)}.story-art{padding:0 max(var(--gutter), calc((100% - var(--max)) / 2)) clamp(3rem, 5vw, 4.5rem);background:var(--canvas)}.story-art__figure{pointer-events:none;width:min(100%,42.5rem);margin:0 0 0 auto}.story-art__illustration{aspect-ratio:1774/887;object-fit:cover;object-position:45% center;transform-origin:50% 70%;border-radius:var(--space-xs);width:100%;height:auto}footer{align-items:center;gap:var(--space-lg);padding:var(--space-lg) max(var(--gutter), calc((100% - var(--max)) / 2));background:var(--surface);border-top:1px solid color-mix(in oklch, var(--line) 50%, transparent);grid-template-columns:auto 1fr auto;display:grid}.brand--footer{width:7.5rem}footer p{max-width:var(--measure-narrow);font-size:var(--font-size-sm);color:var(--ink);margin:0}.footer-links{gap:var(--space-md);font-size:var(--font-size-sm);font-weight:700;display:flex}.footer-board{flex-direction:column;align-items:flex-start;display:flex}.footer-muted{color:var(--ink);font-weight:400;font-size:var(--font-size-xs);margin-left:var(--space-2xs)}.footer-powered{font-size:var(--font-size-xs);color:color-mix(in oklch, var(--ink) 90%, var(--canvas));margin-top:-.25rem;font-weight:400;line-height:1.25}.footer-powered a{min-height:auto;padding:0;font-weight:600}.footer-links a{border-radius:var(--space-3xs);min-height:2.75rem;transition:color .18s var(--ease-out-quart);align-items:center;padding:.2rem 0;display:inline-flex}.footer-links a:hover{color:var(--pink-deep)}:focus-visible{outline:3px solid var(--pink-deep);outline-offset:3px}.has-js .reveal:not([data-revealed=true]){opacity:0;will-change:opacity, transform, filter}.has-js .reveal[data-revealed=true]{animation:settle .5s var(--ease-out-expo) both;animation-delay:calc(var(--i,0) * 60ms);will-change:auto}@keyframes settle{0%{opacity:.01;filter:blur(.2rem);transform:translateY(.6rem)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes detail-rise{0%{opacity:.01;transform:translateY(-.35rem)}to{opacity:1;transform:translateY(0)}}@keyframes hero-swim{0%{opacity:.01;filter:blur(.18rem);transform:translate(1.4rem,1rem)scale(1.015)}to{opacity:1;filter:blur();transform:translate(0,0)scale(1)}}@keyframes ripple{to{opacity:0;transform:translate(-50%,-50%)scale(18)}}@keyframes pulse-once{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}@keyframes calendar-error-rise{0%{opacity:.01;transform:translateY(.4rem)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (hover:none),(pointer:coarse){.brand:hover,nav a:hover,.button:hover,.button--outline:hover,.theme-toggle:hover,.header-social:hover,.menu-toggle:hover,.coach-card:hover,.text-link:hover span,.theme-toggle:hover svg,.header-social:hover svg{transform:none}}@media (width<=960px){.site-header{justify-content:space-between;align-items:center;gap:var(--space-xs);min-height:4.75rem;display:flex}h1{font-size:clamp(2.5rem,10vw,3rem)}h2{font-size:clamp(1.8rem,6.5vw,2.25rem)}.brand{flex:none;justify-content:center;width:7.5rem;margin:0 auto}.menu-toggle{isolation:isolate;width:2.75rem;height:2.75rem;color:var(--ink);background:var(--surface);border:1px solid color-mix(in oklch, var(--line) 60%, transparent);cursor:pointer;transition:color .18s var(--ease-out-quart), background .18s var(--ease-out-quart), border-color .18s var(--ease-out-quart), transform .18s var(--ease-out-quart);border-radius:50%;flex:0 0 2.75rem;place-content:center;gap:.33rem;padding:0;display:grid;position:relative;overflow:hidden}.menu-toggle:hover{color:var(--pink-deep);background:var(--surface-strong);border-color:var(--pink-deep);transform:translateY(-1px)}.menu-toggle span:not(.sr-only){width:1rem;height:2px;transition:transform .18s var(--ease-out-quart), opacity .18s var(--ease-out-quart);background:currentColor}.menu-toggle[aria-expanded=true] span:not(.sr-only):nth-child(2){transform:translateY(.165rem)rotate(45deg)}.menu-toggle[aria-expanded=true] span:not(.sr-only):nth-child(3){transform:translateY(-.165rem)rotate(-45deg)}.header-actions{gap:var(--space-2xs);flex:none}.header-contact,.header-merch,.header-join{display:none}.story-grid{grid-template-columns:1fr}.story__coaches{padding-top:0}nav{gap:var(--space-2xs);padding:var(--space-xs) var(--gutter) var(--space-md);background:var(--canvas);border-bottom:1px solid color-mix(in oklch, var(--line) 60%, transparent);transform-origin:top;flex-direction:column;display:none;position:absolute;top:calc(100% + 1px);left:0;right:0}nav[data-open]{animation:menu-drop .22s var(--ease-out-quart) both;display:flex}.site-header nav a,.site-header nav .nav-contact,.site-header nav .nav-merch,.site-header nav .nav-instagram,.site-header nav .nav-join{min-height:2.75rem;padding:.5rem var(--space-sm);font-size:var(--font-size-base);border-radius:.65rem;align-items:center;display:inline-flex}.site-header nav .nav-join{margin-top:var(--space-2xs);justify-content:center;width:100%}.practice{grid-template-columns:1fr}.practice-schedule-group{padding-top:0}.hero{min-height:auto;padding-top:var(--space-md);align-items:flex-start;padding-bottom:14rem}.hero__copy{width:100%;margin-left:0;padding-top:0}.hero__desktop-break{display:none}.hero__art{aspect-ratio:1774/887;height:auto;inset:auto 0 0 auto}.hero__illustration{object-position:74% center;object-fit:contain}.story{min-height:auto;padding-top:var(--space-md);padding-bottom:var(--space-md);justify-content:flex-start;align-items:flex-start}.practice__details,.join__details,.story__archive{width:100%}.story-art{padding:0 var(--gutter) var(--space-xl)}.story-art__figure{width:min(90%,40.8rem)}.story-art__illustration{object-position:52% center}.schedule-cards{gap:var(--space-xs);grid-template-columns:1fr}.schedule-card__header{align-items:flex-start}.details-grid{gap:var(--space-md);grid-template-columns:1fr}.calendar-frame{padding:var(--space-xs);margin-inline:-.25rem}.calendar-frame iframe{min-height:32rem}footer{gap:var(--space-md);grid-template-columns:1fr}.footer-links{flex-wrap:wrap}}@media (width<=699px){.calendar-frame iframe{min-height:24rem}.hero{padding-top:var(--space-sm);padding-bottom:10rem}.hero__copy h1{font-size:clamp(2.2rem,9vw,2.8rem)}.hero__mark{font-size:var(--font-size-base)}.story-art__figure{width:100%}.details-grid,.story-archive__content{padding:var(--space-sm)}}@media (width>=768px) and (width<=959px){.header-join{display:inline-flex}.header-actions{flex:0 auto}.story-grid{gap:var(--space-lg);grid-template-columns:1fr 1fr}.story__coaches{padding-top:0}.details-grid{grid-template-columns:repeat(2,1fr)}footer{gap:var(--space-md);grid-template-columns:auto 1fr}.footer-links{grid-column:1/-1}.hero{padding-bottom:12rem}.story-art__figure{width:min(80%,40.8rem)}}@media (width>=781px){.hero__copy h1{font-size:clamp(3.1rem,4.4vw,4.5rem)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero__illustration,.skeleton-pill,.skeleton-col,.has-js .reveal[data-revealed=true],details[open]>.details-grid,details[open]>.coach-list,details[open]>.calendar-frame,details[open]>.calendar-pending,details[open]>p,nav[data-open],.calendar-error{animation:none!important}.calendar-frame iframe{transition:opacity 1ms, border-color .26s var(--ease-out-quart);transform:none}.button__ripple,.calendar-skeleton{transition:none!important;animation:none!important}.theme-toggle:hover .theme-toggle__sun svg,.theme-toggle:hover .theme-toggle__moon svg,.header-social:hover svg,.brand:hover,nav a:hover,.button:hover,.button--outline:hover,.theme-toggle:hover,.header-social:hover,.coach-card:hover,.text-link:hover span,.menu-toggle:hover,.button:active,.button--outline:active{transform:none!important}.button__ripple{animation:none!important;transform:translate(-50%,-50%)scale(0)!important}}@keyframes menu-drop{0%{opacity:.01;transform:translateY(-.35rem)scaleY(.98)}to{opacity:1;transform:translateY(0)scaleY(1)}}html:not(.has-js) .theme-toggle{display:none}@media (width<=960px){html:not(.has-js) .menu-toggle,html:not(.has-js) .theme-toggle{display:none}html:not(.has-js) .site-header nav{animation:none;display:flex}}
