@import "https://fonts.googleapis.com/css2?family=Raleway:wght@300;400;500;600&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-7xl:80rem;--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-medium:500;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mx-auto{margin-inline:auto}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-12{margin-top:calc(var(--spacing) * 12)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.h-16{height:calc(var(--spacing) * 16)}.h-px{height:1px}.min-h-screen{min-height:100vh}.w-5{width:calc(var(--spacing) * 5)}.w-auto{width:auto}.w-full{width:100%}.max-w-7xl{max-width:var(--container-7xl)}.shrink-0{flex-shrink:0}.scroll-mt-28{scroll-margin-top:calc(var(--spacing) * 28)}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-9{gap:calc(var(--spacing) * 9)}.overflow-x-clip{overflow-x:clip}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-\[var\(--color-blue-border\)\]{border-color:var(--color-blue-border)}.bg-current{background-color:currentColor}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-24{padding-top:calc(var(--spacing) * 24)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-\[0\.9rem\]{font-size:.9rem}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-\[var\(--color-ink\)\]{color:var(--color-ink)}.text-\[var\(--color-ink-muted\)\]{color:var(--color-ink-muted)}.mix-blend-multiply{mix-blend-mode:multiply}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:border-\[var\(--color-blue-deep\)\]:hover{border-color:var(--color-blue-deep)}.hover\:text-\[var\(--color-blue-deep\)\]:hover{color:var(--color-blue-deep)}}@media (width>=40rem){.sm\:h-20{height:calc(var(--spacing) * 20)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:pt-28{padding-top:calc(var(--spacing) * 28)}}@media (width>=64rem){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:px-10{padding-inline:calc(var(--spacing) * 10)}.lg\:pt-32{padding-top:calc(var(--spacing) * 32)}.lg\:pb-28{padding-bottom:calc(var(--spacing) * 28)}}}:root{--color-ink:#0b253c;--color-ink-muted:#486984;--color-blue-deep:#21a1ba;--color-blue:#1c879c;--color-blue-soft:#a0d8e3;--color-blue-pale:#e6f6f9;--color-accent-surface:#bfe6ee;--color-accent-surface-hover:#9ed9e5;--color-rose:#bb585c;--color-rose-soft:#f9e9e6;--color-ochre:#c7964d;--color-ochre-soft:#f8edd8;--color-sage:#9dbea4;--color-sage-soft:#e5f0e6;--color-plum:#5a3a5f;--color-brass:#a27d3f;--color-surface:#fff;--color-surface-soft:#fdfaf7d1;--color-surface-blue:#f5fbff;--color-surface-warm:#ebe5cb;--color-blue-glow:#bdd9ef3d;--color-blue-border:#b3cadb9e;--color-portrait-line:#ccbca4b8;--color-line-soft:#a27d3f29;--color-line-strong:#5a3a5f2e;--color-ring:#2f84c18c;--color-gold-ring:#a27d3f59;--font-display:"Raleway", "Avenir Next", "Century Gothic", futura, avenir, montserrat, ui-sans-serif, system-ui, sans-serif;color:var(--color-ink);background:var(--color-surface-blue);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.admin-login-page,.admin-state{background:#f4efe7;place-items:center;min-height:100vh;padding:2rem;display:grid}.admin-login-panel{background:#fffdf9;border:1px solid #41372d2e;width:min(100%,30rem);padding:clamp(2rem,6vw,4rem);box-shadow:0 1.5rem 4rem #392f261a}.admin-brand{color:inherit;margin-bottom:2.5rem;font-family:Cormorant Garamond,serif;font-size:1.5rem;display:inline-block}.admin-login-panel h1,.admin-header h1,.admin-dashboard h2,.admin-class-form h2{font-family:Cormorant Garamond,serif;font-weight:500}.admin-login-panel form,.admin-class-form{gap:.75rem;margin-top:2rem;display:grid}.admin-login-panel label,.admin-class-form label{gap:.4rem;font-weight:600;display:grid}.admin-login-panel input,.admin-class-form input,.admin-class-form textarea{width:100%;color:inherit;font:inherit;background:#fff;border:1px solid #41372d4d;border-radius:0;padding:.8rem .9rem}.admin-login-panel button{color:#fff;font:inherit;cursor:pointer;background:#514539;border:1px solid #514539;padding:.75rem 1rem}.admin-login-panel button:disabled{opacity:.6;cursor:wait}.admin-login-panel [role=alert],.admin-class-form [role=alert],.admin-error{color:#8f2f2f;margin:0}.admin-page{background:linear-gradient(145deg, var(--color-surface-blue), #f8f4ea 75%);min-height:100vh}.admin-topbar{border-bottom:1px solid var(--color-blue-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffdb;justify-content:space-between;align-items:center;min-height:4.75rem;padding:0 clamp(1.25rem,4vw,4rem);display:flex}.admin-wordmark{color:var(--color-ink);font-family:Cormorant Garamond,serif;font-size:1.7rem;font-weight:600}.admin-topbar-actions,.admin-topbar-actions a,.admin-topbar-actions button,.admin-card-actions,.admin-confirm-actions{align-items:center;gap:.55rem;display:flex}.admin-topbar-actions{gap:1.4rem}.admin-topbar-actions a,.admin-topbar-actions button{color:var(--color-ink-muted);cursor:pointer;background:0 0;border:0}.admin-shell{width:min(100% - 2.5rem,78rem);margin:auto;padding:clamp(2rem,5vw,4.5rem) 0}.admin-welcome{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem;display:flex}.admin-welcome h1{margin:.25rem 0 .6rem;font-family:Cormorant Garamond,serif;font-size:clamp(2.5rem,5vw,4.3rem);font-weight:500;line-height:.98}.admin-welcome p:last-child{color:var(--color-ink-muted);margin:0}.admin-stats{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.25rem;display:grid}.admin-stats>div{border:1px solid var(--color-blue-border);background:#fffc;border-radius:1rem;grid-template-columns:auto 1fr;align-items:center;gap:.7rem;min-height:8.5rem;padding:1.25rem;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 35px #143d550f}.admin-stats svg{color:var(--color-blue)}.admin-stats span{color:var(--color-ink-muted);font-size:.87rem}.admin-stats strong{grid-column:1/-1;font-family:Cormorant Garamond,serif;font-size:2.35rem;font-weight:500;line-height:1}.admin-dashboard{border:1px solid var(--color-blue-border);background:#ffffffe0;border-radius:1.15rem;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 18px 55px #143d5512}.admin-dashboard-heading,.admin-form-heading{justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.admin-dashboard-heading{border-bottom:1px solid var(--color-line-soft);padding-bottom:1.25rem}.admin-dashboard-heading h2,.admin-form-heading h2{margin:.15rem 0 0;font-size:clamp(1.65rem,3vw,2.2rem)}.admin-dashboard-heading>p{color:var(--color-ink-muted);font-size:.82rem}.admin-class-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.25rem;display:grid}.admin-class-card{border:1px solid var(--color-blue-border);background:var(--color-surface);border-radius:.9rem;flex-direction:column;padding:1.4rem;transition:transform .2s,box-shadow .2s;display:flex}.admin-class-card:hover{transform:translateY(-2px);box-shadow:0 14px 35px #143d5517}.admin-card-topline{justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-status{background:var(--color-ochre-soft);color:#765017;text-transform:uppercase;letter-spacing:.08em;border-radius:99px;padding:.3rem .65rem;font-size:.68rem;font-weight:700}.admin-status[data-status=published]{background:var(--color-sage-soft);color:#35633e}.admin-status[data-status=cancelled]{background:var(--color-rose-soft);color:#843a40}.admin-status[data-status=archived]{color:#54636c;background:#edf0f2}.admin-card-date{color:var(--color-ink-muted);font-size:.8rem}.admin-class-card h3{margin:1.1rem 0 .45rem;font-family:Cormorant Garamond,serif;font-size:1.7rem;line-height:1.1}.admin-card-description{color:var(--color-ink-muted);margin:0 0 1.2rem;line-height:1.55}.admin-card-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:auto 0 1.2rem;display:grid}.admin-card-details div{grid-template-columns:auto 1fr;align-items:center;column-gap:.5rem;min-width:0;display:grid}.admin-card-details svg{color:var(--color-blue);grid-row:1/3}.admin-card-details dt{color:var(--color-ink-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem}.admin-card-details dd{text-overflow:ellipsis;white-space:nowrap;margin:.12rem 0 0;font-size:.84rem;overflow:hidden}.admin-card-actions{border-top:1px solid var(--color-line-soft);flex-wrap:wrap;padding-top:1rem}.admin-publish-warning{background:var(--color-ochre-soft);color:#765017;border-radius:.5rem;margin:0 0 .8rem;padding:.7rem .8rem;font-size:.78rem}.admin-button-primary,.admin-button-secondary,.admin-button-danger,.admin-icon-button{cursor:pointer;border-radius:.55rem;justify-content:center;align-items:center;gap:.5rem;min-height:2.55rem;padding:.65rem .9rem;font-weight:600;transition:all .15s;display:inline-flex}.admin-button-primary{border:1px solid var(--color-blue);background:var(--color-blue);color:#fff}.admin-button-primary:hover{background:var(--color-blue-deep)}.admin-button-secondary{border:1px solid var(--color-blue-border);color:var(--color-ink);background:#fff}.admin-button-danger{color:#923c42;background:#fff;border:1px solid #d9a5a8}.admin-icon-button{border:1px solid var(--color-blue-border);width:2.55rem;color:var(--color-ink);background:#fff;padding:0}.admin-icon-button.is-danger{color:#923c42;margin-left:auto}.admin-button-primary:disabled,.admin-button-secondary:disabled,.admin-button-danger:disabled,.admin-icon-button:disabled{opacity:.48;cursor:not-allowed}.admin-empty{text-align:center;color:var(--color-ink-muted);justify-items:center;padding:4rem 1rem;display:grid}.admin-empty h3{color:var(--color-ink);margin:1rem 0 .3rem;font-size:1.3rem}.admin-empty p{margin:0 0 1.25rem}.admin-danger-button{color:#8f2f2f!important;border-color:#8f2f2f!important}.admin-notice{background:#f4efe7;margin-top:2rem;padding:1rem}.admin-form-backdrop,.admin-dialog-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0a2130b3;padding:clamp(1rem,4vw,3rem);position:fixed;inset:0;overflow-y:auto}.admin-form-panel{background:#fff;border-radius:1rem;width:min(100%,52rem);margin:auto;padding:clamp(1.25rem,4vw,2.5rem)}.admin-class-form{gap:1.5rem;margin:0}.admin-class-form fieldset{border:1px solid var(--color-blue-border);border-radius:.75rem;gap:.75rem;margin:0;padding:1.25rem;display:grid}.admin-class-form legend{color:var(--color-blue);text-transform:uppercase;letter-spacing:.08em;padding:0 .5rem;font-size:.78rem;font-weight:700}.admin-class-form label small{color:var(--color-ink-muted);font-weight:400;display:inline}.admin-class-form input,.admin-class-form textarea{border-color:var(--color-blue-border);background:var(--color-surface-blue);border-radius:.45rem}.admin-class-form input:focus,.admin-class-form textarea:focus{outline:3px solid var(--color-blue-glow);border-color:var(--color-blue)}.admin-form-footer{border-top:1px solid var(--color-blue-border);background:#fffffff2;justify-content:flex-end;gap:.75rem;margin:0 -2.5rem -2.5rem;padding:1rem 2.5rem;display:flex;position:sticky;bottom:-2.5rem}.admin-dialog-backdrop{place-items:center;display:grid}.admin-confirm-dialog{text-align:center;background:#fff;border-radius:1rem;width:min(100%,29rem);padding:2rem;position:relative;box-shadow:0 2rem 6rem #00000040}.admin-dialog-close{position:absolute;top:1rem;right:1rem}.admin-confirm-icon{background:var(--color-ochre-soft);color:#765017;border-radius:50%;place-items:center;width:3rem;height:3rem;margin:0 auto 1rem;display:grid}.admin-confirm-icon.is-danger{background:var(--color-rose-soft);color:#923c42}.admin-confirm-dialog h2{margin:0;font-family:Cormorant Garamond,serif;font-size:1.8rem}.admin-confirm-dialog p{color:var(--color-ink-muted);line-height:1.55}.admin-confirm-actions{justify-content:center;margin-top:1.5rem}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}@media (width<=700px){.admin-welcome,.admin-dashboard-heading,.admin-form-heading{flex-direction:column;align-items:stretch}.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-class-grid,.admin-form-grid{grid-template-columns:1fr}.admin-topbar-actions a{font-size:0}.admin-topbar-actions a svg{width:19px;height:19px}.admin-form-footer{margin:0 -1.25rem -1.25rem;padding:1rem 1.25rem;bottom:-1.25rem}}*{box-sizing:border-box}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html,body,#app{min-height:100%}html{scroll-behavior:smooth}body{background:var(--color-surface-blue);min-width:320px;color:var(--color-ink);margin:0}body::selection{background:var(--color-blue-soft);color:var(--color-ink)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.button{letter-spacing:.08em;text-transform:uppercase;border:1px solid;justify-content:center;align-items:center;padding:1rem 2rem;font-size:.92rem;font-weight:700;line-height:1;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}.button-primary{border-color:var(--color-blue-deep);background:var(--color-accent-surface);color:var(--color-ink)}.button-primary:hover{border-color:var(--color-blue);background:var(--color-blue);color:var(--color-surface)}.button-secondary{border-color:var(--color-ink);color:var(--color-ink);background:0 0}.button-secondary:hover{border-color:var(--color-blue);color:var(--color-blue)}:focus-visible{outline:3px solid var(--color-ring);outline-offset:4px}.site-header{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f5fbffc7;border-bottom:1px solid #b3cadb47;transition:background-color .18s,border-color .18s,box-shadow .18s;position:sticky;top:0}.site-header-scrolled{border-bottom-color:var(--color-blue-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f5fbffdb;box-shadow:0 16px 40px #0d446d14}.header-cta{border:1px solid var(--color-blue-deep);background:var(--color-accent-surface);min-height:2.75rem;color:var(--color-ink);letter-spacing:.1em;text-transform:uppercase;justify-content:center;align-items:center;padding:0 1.2rem;font-size:.72rem;font-weight:700;transition:background-color .16s,border-color .16s;display:inline-flex}.header-cta:hover{border-color:var(--color-blue);background:var(--color-blue)}.hero-poster{isolation:isolate;position:relative}.hero-poster:before{z-index:-1;content:"";background:radial-gradient(circle at 68% 30%,#ffffffe6,#0000 24%),radial-gradient(circle at 30% 66%,#247ab717,#0000 34%),linear-gradient(145deg,#e0f1ff9e,#f5fbff2e);border:1px solid #247ab71a;border-radius:48% 52% 44% 56%/60% 42% 58% 40%;width:min(74vw,58rem);height:min(48vw,34rem);position:absolute;top:clamp(1rem,3vw,3rem);left:50%;transform:translate(-50%)rotate(-2deg)}.hero-poster:after{background:linear-gradient(90deg, transparent, var(--color-blue-border), var(--color-blue-deep), var(--color-blue-border), transparent);content:"";width:min(100%,46rem);height:1px;margin:clamp(3rem,6vw,5rem) auto 0;display:block}.hero-poster-copy{text-align:center;justify-items:center;padding:clamp(3.75rem,8vw,7rem) 0 0;display:grid}.hero-kicker{color:var(--color-blue);letter-spacing:.2em;text-transform:uppercase;margin:0 0 2.1rem;font-size:.88rem;font-weight:700}.hero-poster-copy h1{width:min(100%,82rem);max-width:none;color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-size:clamp(4.25rem,9vw,8rem);font-weight:500;line-height:.92}.hero-feature-list{color:var(--color-blue-deep);letter-spacing:.14em;text-transform:uppercase;flex-wrap:wrap;justify-content:center;gap:.95rem 1.6rem;margin:2.25rem 0 0;padding:0;font-size:.82rem;font-weight:700;list-style:none;display:flex}.hero-feature-list li:not(:last-child):after{content:"/";color:var(--color-blue-soft);margin-left:1.6rem}.hero-poster-copy>p:not(.hero-kicker):not(.hero-price){max-width:39rem;color:var(--color-ink-muted);margin:2.2rem 0 0;font-size:clamp(1.25rem,2.15vw,1.65rem);font-weight:300;line-height:1.65}.hero-poster-copy>.hero-price{color:var(--color-blue-deep);letter-spacing:.16em;text-transform:uppercase;margin-top:1.35rem;font-size:.82rem;font-weight:700}.hero-poster-copy footer{flex-wrap:wrap;justify-content:center;gap:1.75rem;margin-top:2.6rem;display:flex}.artist-section{background:var(--color-surface-blue);padding:clamp(5rem,10vw,9rem) 1.25rem;position:relative}.artist-section:before{content:"";pointer-events:none;background:radial-gradient(circle at 12% 35%,#bdd9ef47,#0000 min(58vw,44rem));position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 16% 84%,#0000);mask-image:linear-gradient(#0000,#000 16% 84%,#0000)}.artist-inner{grid-template-columns:minmax(17rem,.8fr) minmax(20rem,1.2fr);align-items:center;gap:clamp(3.5rem,8vw,8rem);width:min(100%,72rem);margin:0 auto;display:grid;position:relative}.artist-portrait{border:1px solid var(--color-blue-border);background:radial-gradient(circle at 52% 38%, #f5faff, transparent 24%), linear-gradient(145deg, var(--color-blue-pale), #c3d9ea);min-height:clamp(28rem,52vw,39rem);color:var(--color-blue-deep);text-align:center;place-content:center;display:grid;position:relative;overflow:hidden}.artist-portrait:before,.artist-portrait:after{content:"";border:1px solid #247ab72e;border-radius:50%;position:absolute}.artist-portrait:before{inset:12% -38% 28% 18%}.artist-portrait:after{inset:35% 18% -18% -42%}.artist-portrait span{z-index:1;font-family:var(--font-display);letter-spacing:-.08em;font-size:clamp(5rem,10vw,8rem);font-weight:400;line-height:.8;position:relative}.artist-portrait p{z-index:1;color:var(--color-ink-muted);letter-spacing:.2em;text-transform:uppercase;margin:1.75rem 0 0;font-size:.75rem;font-weight:700;position:relative}.artist-copy{max-width:38rem}.artist-eyebrow{color:var(--color-brass);letter-spacing:.2em;text-transform:uppercase;margin:0 0 1.25rem;font-size:.78rem;font-weight:700}.artist-copy h2{color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.055em;margin:0 0 2rem;font-size:clamp(3.5rem,7vw,6rem);font-weight:500;line-height:.95}.artist-copy>p:not(.artist-eyebrow){color:var(--color-ink-muted);margin:0;font-size:1.05rem;line-height:1.8}.artist-copy>p+p{margin-top:1.25rem}.artist-copy .artist-introduction{color:var(--color-ink);font-family:var(--font-display);font-size:clamp(1.55rem,2.5vw,2rem);line-height:1.45}.artist-copy blockquote{border-left:2px solid var(--color-blue);margin:clamp(2.5rem,5vw,4rem) 0 0;padding:0 0 0 1.75rem}.artist-copy blockquote p{color:var(--color-blue-deep);font-family:var(--font-display);margin:0;font-size:clamp(1.35rem,2.25vw,1.7rem);font-style:italic;line-height:1.5}.artist-copy blockquote footer{color:var(--color-ink-muted);letter-spacing:.16em;text-transform:uppercase;margin-top:1rem;font-size:.75rem;font-weight:700}.class-section{background:var(--color-accent-surface);width:100%;color:var(--color-ink);padding:clamp(5rem,10vw,9rem) max(1.25rem,50vw - 36rem);position:relative;overflow:hidden}.class-section:before{content:"";border:1px solid #9bcdf329;border-radius:46% 54% 63% 37%/42% 38% 62% 58%;width:42rem;height:42rem;position:absolute;top:-19rem;right:-14rem;transform:rotate(16deg);box-shadow:0 0 0 5rem #9bcdf30a,0 0 0 10rem #9bcdf308}.class-introduction{grid-template-columns:minmax(16rem,.9fr) minmax(20rem,1.1fr);align-items:start;gap:clamp(3rem,8vw,8rem);width:min(100%,72rem);margin:0 auto;display:grid;position:relative}.class-eyebrow{color:var(--color-blue-soft);letter-spacing:.2em;text-transform:uppercase;margin:0 0 1.25rem;font-size:.78rem;font-weight:700}.class-introduction h2{max-width:34rem;font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-size:clamp(3.5rem,6.5vw,6rem);font-weight:400;line-height:.95}.class-summary{border-top:1px solid #9bcdf359;padding-top:2.5rem}.class-summary p{color:#f5fbffc2;margin:0;font-size:1.05rem;line-height:1.8}.class-summary p+p{margin-top:1.25rem}.class-detail-list{border-top:1px solid #9bcdf338;grid-template-columns:repeat(3,1fr);width:min(100%,72rem);margin:clamp(4.5rem,9vw,7rem) auto 0;padding:0;list-style:none;display:grid;position:relative}.class-detail-list li{padding:clamp(2rem,4vw,3rem) clamp(2rem,4vw,3rem) clamp(2rem,4vw,3rem) 0}.class-detail-list li+li{border-left:1px solid #9bcdf338;padding-left:clamp(2rem,4vw,3rem)}.class-detail-number{color:var(--color-blue-soft);letter-spacing:.16em;margin-bottom:2.5rem;font-size:.72rem;font-weight:700;display:block}.class-detail-list h3{font-family:var(--font-display);margin:0;font-size:clamp(1.65rem,3vw,2.15rem);font-weight:500;line-height:1.1}.class-detail-list p{color:#f5fbffad;margin:1.25rem 0 0;font-size:.94rem;line-height:1.75}.class-footer{border-top:1px solid #9bcdf338;justify-content:space-between;align-items:center;gap:2rem;width:min(100%,72rem);margin:clamp(2.5rem,5vw,4rem) auto 0;padding-top:2rem;display:flex;position:relative}.class-footer p{color:#f5fbffb8;letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:700}.class-footer a{border-bottom:1px solid var(--color-blue-soft);color:var(--color-surface);letter-spacing:.14em;text-transform:uppercase;flex:none;padding-bottom:.35rem;font-size:.78rem;font-weight:700;transition:border-color .16s,color .16s}.class-footer a:hover{border-color:var(--color-surface);color:var(--color-blue-soft)}.upcoming-section{background:var(--color-surface);padding:clamp(5rem,10vw,9rem) 1.25rem}.upcoming-heading-row{grid-template-columns:minmax(18rem,1.1fr) minmax(18rem,.9fr);align-items:end;gap:clamp(3rem,8vw,8rem);width:min(100%,72rem);margin:0 auto;display:grid}.upcoming-eyebrow,.sessions-kicker{color:var(--color-blue);letter-spacing:.2em;text-transform:uppercase;margin:0 0 1.2rem;font-size:.76rem;font-weight:700}.upcoming-heading-row h2{max-width:42rem;color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-size:clamp(3.5rem,6.5vw,6rem);font-weight:500;line-height:.95}.upcoming-heading-row>p{color:var(--color-ink-muted);margin:0;font-size:1.05rem;line-height:1.8}.pricing-layout{border:1px solid var(--color-blue-border);grid-template-columns:minmax(17rem,.7fr) minmax(24rem,1.3fr);width:min(100%,72rem);margin:clamp(4rem,8vw,6.5rem) auto 0;display:grid;box-shadow:0 24px 70px #0d446d14}.price-card{background:var(--color-blue-pale);padding:clamp(2.25rem,5vw,4rem)}.price-label{color:var(--color-blue-deep);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:700}.price-card h3{color:var(--color-blue-deep);font-family:var(--font-display);letter-spacing:-.07em;align-items:flex-start;margin:2.25rem 0 0;font-size:clamp(5.5rem,10vw,8rem);font-weight:500;line-height:.75;display:flex}.price-card .price-currency{letter-spacing:0;margin:.25rem .2rem 0 0;font-size:.35em}.price-card h3 small{letter-spacing:.14em;margin:.35rem 0 0 .65rem;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.11em;font-weight:700}.price-frequency{color:var(--color-ink-muted);margin:1.4rem 0 0;font-size:.82rem}.price-card ul{border-top:1px solid var(--color-blue-border);gap:1rem;margin:2.75rem 0 0;padding:2rem 0 0;list-style:none;display:grid}.price-card li{color:var(--color-ink-muted);padding-left:1.4rem;font-size:.9rem;line-height:1.5;position:relative}.price-card li:before{background:var(--color-blue);content:"";border-radius:50%;width:.4rem;height:.4rem;position:absolute;top:.58em;left:0}.sessions-panel{background:var(--color-surface-blue);flex-direction:column;padding:clamp(2.25rem,5vw,4rem);display:flex}.sessions-panel>header{justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.sessions-kicker{margin-bottom:.75rem}.sessions-panel h3{color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:clamp(2rem,4vw,3rem);font-weight:500;line-height:1}.sessions-status{border:1px solid var(--color-blue-border);color:var(--color-blue-deep);letter-spacing:.12em;text-transform:uppercase;padding:.55rem .8rem;font-size:.65rem;font-weight:700}.sessions-empty{grid-template-columns:auto 1fr;align-items:center;gap:clamp(1.5rem,4vw,3rem);margin:clamp(3rem,7vw,5rem) 0;display:grid}.sessions-empty>span{aspect-ratio:1;border:1px solid var(--color-blue-border);width:clamp(6rem,11vw,8rem);color:var(--color-blue);font-family:var(--font-display);border-radius:50%;place-items:center;font-size:1.35rem;font-style:italic;display:grid}.sessions-empty h4{color:var(--color-ink);font-family:var(--font-display);margin:0;font-size:clamp(1.75rem,3vw,2.4rem);font-weight:500;line-height:1.1}.sessions-empty p{max-width:32rem;color:var(--color-ink-muted);margin:1rem 0 0;font-size:.95rem;line-height:1.7}.sessions-panel>footer{border-top:1px solid var(--color-blue-border);justify-content:space-between;align-items:center;gap:2rem;margin-top:auto;padding-top:1.75rem;display:flex}.sessions-panel>footer p{max-width:24rem;color:var(--color-ink-muted);margin:0;font-size:.75rem;line-height:1.6}.sessions-disabled{border:1px solid var(--color-blue-border);color:var(--color-ink-muted);letter-spacing:.1em;text-transform:uppercase;background:#e0f1ffa6;flex:none;padding:.95rem 1.2rem;font-size:.68rem;font-weight:700}.upcoming-class-grid{border-top:1px solid var(--color-blue-border);border-bottom:1px solid var(--color-blue-border);gap:0;width:min(100%,72rem);margin:clamp(4rem,8vw,6.5rem) auto 0;display:grid}.upcoming-class-card{grid-template-columns:minmax(8rem,.45fr) minmax(18rem,1.2fr) minmax(15rem,.8fr);column-gap:clamp(2rem,5vw,4.5rem);min-width:0;padding:clamp(2.75rem,6vw,4.5rem) 0;display:grid}.upcoming-class-card+.upcoming-class-card{border-top:1px solid var(--color-blue-border)}.upcoming-class-card>header{flex-direction:column;align-items:flex-start;gap:1.25rem;display:flex}.upcoming-class-card>header p{max-width:9rem;color:var(--color-blue-deep);font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(1.35rem,2.3vw,1.8rem);font-weight:500;line-height:1.2}.upcoming-class-card>header span{color:var(--color-ink-muted);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:.62rem;font-weight:700;display:inline-flex}.upcoming-class-card>header span:before{background:var(--color-blue-soft);content:"";border-radius:50%;width:.45rem;height:.45rem}.upcoming-class-card>header span[data-availability=available_now]{color:#216948}.upcoming-class-card>header span[data-availability=available_now]:before{background:#42ae7d}.upcoming-class-copy h3{color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(2.5rem,4.5vw,4rem);font-weight:500;line-height:.98}.upcoming-class-copy p{color:var(--color-ink-muted);margin:1.35rem 0 0;font-size:.95rem;line-height:1.75}.upcoming-class-details{align-content:start;gap:1rem;margin:0;display:grid}.upcoming-class-details div{grid-template-columns:4.5rem 1fr;gap:1rem;min-width:0;display:grid}.upcoming-class-details dt{color:var(--color-blue);letter-spacing:.14em;text-transform:uppercase;font-size:.62rem;font-weight:700}.upcoming-class-details dd{color:var(--color-ink);margin:0;font-size:.82rem;line-height:1.5}.upcoming-class-card>footer{border-top:1px solid #b3cadb6b;grid-column:2/-1;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:clamp(2rem,4vw,3rem);padding-top:1.5rem;display:flex}.upcoming-class-card>footer p{color:var(--color-ink-muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:700;line-height:1.5}.session-booking-placeholder{border-bottom:1px solid var(--color-blue);color:var(--color-blue-deep);letter-spacing:.08em;text-align:center;text-transform:uppercase;flex:none;padding-bottom:.3rem;font-size:.62rem;font-weight:700}@media (width<=899px){.upcoming-class-card{grid-template-columns:minmax(7rem,.35fr) minmax(0,1fr)}.upcoming-class-card>header{grid-row:1/3}.upcoming-class-details{grid-column:2;margin-top:2.25rem}.upcoming-class-card>footer{grid-column:2}}@media (width<=767px){.artist-section:before{background:radial-gradient(circle at 15% 30%,#bdd9ef40,#0000 25rem)}.artist-inner{grid-template-columns:1fr}.artist-portrait{min-height:25rem}.class-introduction,.class-detail-list{grid-template-columns:1fr}.class-summary{border-top:0;padding-top:0}.class-detail-list li{padding:2.25rem 0}.class-detail-list li+li{border-top:1px solid #9bcdf338;border-left:0;padding-left:0}.class-detail-number{margin-bottom:1.5rem}.class-footer{flex-direction:column;align-items:flex-start}.upcoming-heading-row,.pricing-layout{grid-template-columns:1fr}.sessions-panel>footer{flex-direction:column;align-items:flex-start}}@media (width<=479px){.sessions-panel>header,.sessions-empty{grid-template-columns:1fr;align-items:flex-start}.sessions-panel>header{display:grid}.sessions-empty>span{width:5rem}.upcoming-class-card>header,.upcoming-class-card>footer{flex-direction:column;align-items:flex-start}.upcoming-class-card{grid-template-columns:1fr}.upcoming-class-card>header,.upcoming-class-details,.upcoming-class-card>footer{grid-area:auto/1}.upcoming-class-copy,.upcoming-class-details{margin-top:2.25rem}}@media (width<=767px){.hero-feature-list{gap:.5rem;display:grid}.hero-feature-list li:not(:last-child):after{content:"";margin:0}}.session-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem);width:min(100%,72rem);margin:clamp(4rem,8vw,6.5rem) auto 0;display:grid}.upcoming-section{isolation:isolate;background:var(--color-surface-blue);position:relative;overflow:hidden}.upcoming-section:before{z-index:-1;content:"";pointer-events:none;background:radial-gradient(circle at 88% 18%,#9bcdf347,#0000 34rem),radial-gradient(circle at 8% 82%,#247ab71a,#0000 30rem);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 12% 88%,#0000);mask-image:linear-gradient(#0000,#000 12% 88%,#0000)}.upcoming-section .upcoming-eyebrow{color:var(--color-blue)}.upcoming-section .upcoming-heading-row h2{color:var(--color-ink)}.upcoming-section .upcoming-heading-row>p{color:var(--color-ink-muted)}.session-card{background:var(--color-accent-surface);border:1px solid #9bcdf359;flex-direction:column;min-width:0;min-height:32rem;padding:clamp(1.75rem,3vw,2.5rem);transition:border-color .18s,box-shadow .18s,transform .18s;display:flex}.session-card:hover{border-color:var(--color-blue);transform:translateY(-3px);box-shadow:0 24px 60px #0d446d2e}.session-card>header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.session-card>header p{max-width:9rem;color:var(--color-blue-soft);letter-spacing:.09em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:700;line-height:1.5}.session-card>header span,.class-detail-date span{color:var(--color-ink-muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.45rem;font-size:.7rem;font-weight:700;display:inline-flex}.session-card>header span{color:#f5fbffb8}.session-card>header span:before,.class-detail-date span:before{background:var(--color-blue-soft);content:"";border-radius:50%;width:.4rem;height:.4rem}.session-card>header span[data-availability=available_now]{color:#9ee0bc}.session-card>header span[data-availability=available_now]:before,.class-detail-date span[data-availability=available_now]:before{background:#42ae7d}.session-card-copy{margin-top:clamp(2.5rem,5vw,4rem)}.session-card-copy h3{color:var(--color-surface);font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(2rem,3.5vw,2.8rem);font-weight:500;line-height:1}.session-card-copy p{color:#f5fbffbd;margin:1.2rem 0 0;font-size:1rem;line-height:1.75}.session-card>dl{border-top:1px solid #9bcdf33d;border-bottom:1px solid #9bcdf33d;gap:1rem;margin:2rem 0 0;padding:1.5rem 0;display:grid}.session-card>dl div{grid-template-columns:3.5rem 1fr;gap:.75rem;display:grid}.session-card dt{color:var(--color-blue-soft);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;font-weight:700}.session-card dd{color:var(--color-surface);margin:0;font-size:.9rem;line-height:1.5}.session-card>footer{justify-content:space-between;align-items:flex-end;gap:1rem;margin-top:auto;padding-top:1.75rem;display:flex}.session-card>footer p{color:#f5fbffad;max-width:8rem;margin:0;font-size:.75rem;line-height:1.6}.session-card>footer a,.upcoming-view-all a,.return-home,.class-not-found a{color:var(--color-blue-deep);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:700}.session-card>footer a{border-bottom:1px solid var(--color-blue-soft);color:var(--color-surface);padding-bottom:.25rem;font-size:.75rem}.upcoming-view-all{border-top:1px solid var(--color-blue-border);justify-content:space-between;align-items:center;gap:2rem;width:min(100%,72rem);margin:2rem auto 0;padding-top:1.5rem;display:flex}.upcoming-view-all p{color:var(--color-ink-muted);margin:0;font-size:.78rem}.upcoming-view-all a{border-bottom:1px solid var(--color-blue);color:var(--color-blue-deep);padding-bottom:.3rem}.interior-page{background:var(--color-surface-blue);min-height:100vh}.interior-header{z-index:50;border-bottom:1px solid var(--color-blue-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f5fbffe0;position:sticky;top:0;box-shadow:0 12px 35px #0d446d0f}.interior-header-inner{justify-content:space-between;align-items:center;gap:2rem;width:min(100% - 2.5rem,80rem);margin:0 auto;padding:1rem 0;display:flex}.interior-header img{mix-blend-mode:multiply;width:auto;height:4.5rem;display:block}.return-home{align-items:center;gap:.6rem;display:inline-flex}.return-home span{color:var(--color-blue);font-size:1rem;transition:transform .16s}.return-home:hover span{transform:translate(-.25rem)}.classes-index{background:radial-gradient(circle at 90% 12%, #9bcdf340, transparent 34rem), radial-gradient(circle at 6% 70%, #247ab714, transparent 30rem), var(--color-surface-blue);padding:clamp(4.5rem,9vw,8rem) 1.25rem}.classes-index>header{width:min(100%,72rem);margin:0 auto}.classes-index>header>p,.detail-eyebrow,.class-not-found>p{color:var(--color-blue);letter-spacing:.2em;text-transform:uppercase;margin:0 0 1.2rem;font-size:.75rem;font-weight:700}.classes-index>header>p{color:var(--color-blue)}.classes-index h1,.class-detail h1,.class-not-found h1{color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-size:clamp(4rem,8vw,7rem);font-weight:500;line-height:.92}.classes-index h1{color:var(--color-ink)}.classes-index>header>span{max-width:38rem;color:var(--color-ink-muted);margin-top:1.75rem;font-size:1.05rem;line-height:1.75;display:block}.session-card-grid-all{row-gap:1.5rem}.classes-separator{background:linear-gradient(90deg, transparent, var(--color-blue-border), var(--color-blue-deep), var(--color-blue-border), transparent);width:min(100%,46rem);height:1px;margin:clamp(3rem,6vw,5rem) auto 0}.classes-separator+.session-card-grid-all{margin-top:clamp(3rem,6vw,5rem)}.class-detail{width:min(100% - 2.5rem,72rem);margin:0 auto;padding:clamp(2.5rem,5vw,4.5rem) 0 clamp(4.5rem,9vw,8rem)}.class-detail>header{max-width:60rem}.class-detail-date{align-items:center;gap:2rem;margin-bottom:2rem;display:flex}.class-detail-date p{color:var(--color-blue-deep);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:700}.class-detail>header>p{max-width:45rem;color:var(--color-ink-muted);margin:2rem 0 0;font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.7}.class-detail-layout{border-top:1px solid var(--color-blue-border);grid-template-columns:minmax(0,1fr) minmax(20rem,.65fr);gap:clamp(3rem,8vw,8rem);margin-top:clamp(4rem,8vw,7rem);padding-top:clamp(3rem,6vw,5rem);display:grid}.class-detail-layout h2{color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(2.5rem,5vw,4rem);font-weight:500;line-height:1}.class-detail-layout section>p:not(.detail-eyebrow){color:var(--color-ink-muted);margin:1.75rem 0 0;line-height:1.8}.class-detail-layout section ul{gap:1rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.class-detail-layout section li{border-top:1px solid var(--color-blue-border);color:var(--color-ink);padding:1rem 0 1rem 1.5rem}.class-detail-layout aside{background:var(--color-accent-surface);border:1px solid #9bcdf359;padding:clamp(2rem,4vw,3rem);box-shadow:0 24px 60px #0d446d24}.class-detail-layout aside dl{gap:1.25rem;margin:0;display:grid}.class-detail-layout aside dl div{grid-template-columns:6rem 1fr;gap:1rem;display:grid}.class-detail-layout aside dt{color:var(--color-blue-soft);letter-spacing:.12em;text-transform:uppercase;font-size:.62rem;font-weight:700}.class-detail-layout aside dd{color:var(--color-surface);margin:0;font-size:.85rem;line-height:1.5}.class-detail-price{border-top:1px solid #9bcdf33d;margin-top:2.25rem;padding-top:2rem}.class-detail-price p{color:#f5fbffad;text-transform:uppercase;margin:0;font-size:.7rem}.class-detail-price strong{color:var(--color-surface);font-family:var(--font-display);margin-top:.5rem;font-size:2.6rem;font-weight:500;display:block}.class-detail-price span{color:var(--color-blue-soft);letter-spacing:.08em;text-align:center;text-transform:uppercase;background:#247ab738;border:1px solid #9bcdf347;margin-top:1.5rem;padding:1rem;font-size:.68rem;font-weight:700;display:block}.class-not-found{width:min(100% - 2.5rem,72rem);margin:0 auto;padding:clamp(5rem,12vw,10rem) 0}.class-not-found a{border-bottom:1px solid var(--color-blue);margin-top:2.5rem;padding-bottom:.3rem;display:inline-block}@media (width<=899px){.session-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.class-detail-layout{grid-template-columns:1fr}}@media (width<=639px){.session-card-grid{grid-template-columns:1fr}.session-card{min-height:auto}.upcoming-view-all,.class-detail-date{flex-direction:column;align-items:flex-start}.interior-header-inner{align-items:flex-end}.interior-header img{height:3.5rem}.return-home{font-size:.58rem}}.contact-section{isolation:isolate;position:relative;overflow:hidden}.contact-inner{grid-template-columns:minmax(18rem,.8fr) minmax(24rem,1.2fr);gap:clamp(3.5rem,9vw,9rem);width:min(100%,72rem);margin:0 auto;padding:clamp(5rem,10vw,9rem) 1.25rem;display:grid}.contact-section:before{z-index:-1;content:"";pointer-events:none;background:radial-gradient(circle at 12% 28%,#9bcdf340,#0000 28rem),radial-gradient(circle at 92% 78%,#247ab717,#0000 26rem);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 15% 85%,#0000);mask-image:linear-gradient(#0000,#000 15% 85%,#0000)}.contact-eyebrow{color:var(--color-blue);letter-spacing:.2em;text-transform:uppercase;margin:0 0 1.2rem;font-size:.76rem;font-weight:700}.contact-introduction h2{color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-size:clamp(3.5rem,6vw,5.5rem);font-weight:500;line-height:.95}.contact-introduction>p:not(.contact-eyebrow){color:var(--color-ink-muted);margin:2rem 0 0;font-size:1.02rem;line-height:1.8}.contact-direct{border-top:1px solid var(--color-blue-border);gap:.6rem;margin-top:2.5rem;padding-top:2rem;display:grid}.contact-direct span{color:var(--color-ink-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.contact-direct a{border-bottom:1px solid var(--color-blue);width:fit-content;color:var(--color-blue-deep);padding-bottom:.25rem;font-weight:700}.contact-form{border:1px solid var(--color-blue-border);background:var(--color-surface);gap:1.5rem;padding:clamp(2rem,4vw,3rem);display:grid;box-shadow:0 24px 60px #0d446d14}.contact-field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.contact-field{gap:.65rem;display:grid}.contact-field label{color:var(--color-ink);font-size:.78rem;font-weight:700}.contact-field input,.contact-field select,.contact-field textarea{border:1px solid var(--color-blue-deep);background:var(--color-surface);width:100%;color:var(--color-ink);border-radius:0;outline:0;transition:border-color .16s,box-shadow .16s}.contact-field input,.contact-field select{min-height:3.25rem;padding:0 .9rem}.contact-field textarea{resize:vertical;min-height:10rem;padding:.9rem}.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:var(--color-blue);box-shadow:0 0 0 3px #2f84c121}.contact-field input[aria-invalid=true],.contact-field select[aria-invalid=true],.contact-field textarea[aria-invalid=true]{border-color:#bf4044}.contact-field>p{color:#a13639;margin:0;font-size:.75rem;line-height:1.5}.contact-submit-row{align-items:center;gap:1.5rem;padding-top:.5rem;display:flex}.contact-submit-row button{border:1px solid var(--color-blue-deep);background:var(--color-accent-surface);min-height:3.25rem;color:var(--color-ink);letter-spacing:.1em;text-transform:uppercase;flex:none;padding:0 1.5rem;font-size:.72rem;font-weight:700;transition:border-color .16s,background-color .16s}.contact-submit-row button:hover{border-color:var(--color-blue);background:var(--color-blue)}.contact-submit-row button:disabled{opacity:.65}.contact-submit-row p{color:var(--color-ink-muted);margin:0;font-size:.72rem;line-height:1.5}@media (width<=899px){.contact-inner{grid-template-columns:1fr}.contact-introduction{max-width:42rem}}@media (width<=539px){.contact-field-row{grid-template-columns:1fr}.contact-submit-row{flex-direction:column;align-items:flex-start}}.site-footer{isolation:isolate;background:var(--color-accent-surface);color:var(--color-ink);padding:clamp(4rem,8vw,7rem) 1.25rem 2rem;position:relative;overflow:hidden}.site-footer:before{z-index:-1;content:"";border:1px solid #9bcdf324;border-radius:46% 54% 63% 37%/42% 38% 62% 58%;width:48rem;height:48rem;position:absolute;top:-22rem;right:-14rem;transform:rotate(12deg);box-shadow:0 0 0 6rem #9bcdf30a,0 0 0 12rem #9bcdf308}.site-footer-inner{grid-template-columns:minmax(18rem,1.4fr) minmax(10rem,.7fr) minmax(12rem,.7fr);gap:clamp(3rem,8vw,8rem);width:min(100%,72rem);margin:0 auto;display:grid}.footer-name{font-family:var(--font-display);letter-spacing:-.05em;margin:0;font-size:clamp(2.75rem,5vw,4.5rem);font-weight:500;line-height:.9}.footer-brand>p:not(.footer-name){color:#f5fbffb3;max-width:30rem;margin:1.5rem 0 0;font-size:.95rem;line-height:1.75}.footer-brand>a{color:var(--color-blue-soft);border-bottom:1px solid #9bcdf373;align-items:center;gap:.65rem;margin-top:2rem;padding-bottom:.3rem;font-size:.82rem;display:inline-flex}.footer-brand>a svg{width:1rem;height:1rem}.footer-navigation,.footer-socials{flex-direction:column;align-items:flex-start;display:flex}.footer-navigation>p,.footer-socials>p:first-child{color:var(--color-blue-soft);letter-spacing:.18em;text-transform:uppercase;margin:0 0 1.4rem;font-size:.68rem;font-weight:700}.footer-navigation a{color:#f5fbffc7;padding:.4rem 0;font-size:.86rem;transition:color .16s}.footer-navigation a:hover{color:var(--color-surface)}.footer-socials>div{gap:.75rem;display:flex}.footer-socials>div>span{width:2.75rem;height:2.75rem;color:var(--color-blue-soft);opacity:.72;border:1px solid #9bcdf352;place-items:center;display:grid}.footer-socials svg{width:1.1rem;height:1.1rem}.footer-socials .footer-social-note{color:#f5fbff80;max-width:11rem;margin:1rem 0 0;font-size:.68rem;line-height:1.5}.site-footer-bottom{border-top:1px solid #9bcdf333;justify-content:space-between;align-items:center;gap:2rem;width:min(100%,72rem);margin:clamp(3rem,6vw,5rem) auto 0;padding-top:1.75rem;display:flex}.site-footer-bottom p{color:#f5fbff80;margin:0;font-size:.7rem}.site-footer-bottom a{color:var(--color-blue-soft);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:.68rem;font-weight:700;display:inline-flex}.site-footer-bottom svg{width:.9rem;height:.9rem}@media (width<=767px){.site-footer-inner{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-brand{grid-column:1/-1}}@media (width<=479px){.site-footer-inner{grid-template-columns:1fr}.footer-brand{grid-column:auto}.site-footer-bottom{flex-direction:column;align-items:flex-start}}.hero-poster-copy h1,.artist-copy h2,.artist-copy .artist-introduction,.artist-copy blockquote p,.class-introduction h2,.class-detail-list h3,.upcoming-heading-row h2,.session-card-copy h3,.classes-index h1,.class-detail h1,.class-detail-layout h2,.class-detail-price strong,.contact-introduction h2,.footer-name{font-family:var(--font-display);font-weight:300}.button-primary,.header-cta,.contact-submit-row button{border-color:var(--color-accent-surface-hover);background:var(--color-accent-surface);color:var(--color-ink)}.button-primary:hover,.header-cta:hover,.contact-submit-row button:hover{border-color:var(--color-blue-deep);background:var(--color-accent-surface-hover);color:var(--color-ink)}.button-secondary:hover{border-color:var(--color-blue);background:var(--color-blue-pale);color:var(--color-ink)}.class-section,.session-card,.class-detail-layout aside,.site-footer{background:var(--color-accent-surface);color:var(--color-ink)}.class-introduction h2,.class-detail-list h3,.session-card-copy h3,.session-card dd,.class-detail-layout aside dd,.class-detail-price strong,.footer-name{color:var(--color-ink)}.class-eyebrow,.class-detail-number,.session-card>header p,.session-card dt,.class-detail-layout aside dt,.footer-navigation>p,.footer-socials>p:first-child{color:#0f2f4dd1}.class-summary p,.class-detail-list p,.class-footer p,.session-card>header span,.session-card-copy p,.session-card>footer p,.class-detail-price p,.footer-brand>p:not(.footer-name),.footer-socials .footer-social-note,.site-footer-bottom p{color:#0b253cbd}.class-summary,.class-detail-list,.class-detail-list li+li,.class-footer,.session-card>dl,.class-detail-price,.site-footer-bottom{border-color:#0b253c38}.class-footer a,.session-card>footer a,.footer-brand>a,.footer-navigation a,.site-footer-bottom a{color:var(--color-ink);border-color:#0b253c73}.class-footer a:hover,.session-card>footer a:hover,.footer-brand>a:hover,.footer-navigation a:hover,.site-footer-bottom a:hover{border-color:var(--color-ink);color:#0b253cb3}.session-card>header span[data-availability=available_now],.class-detail-date span[data-availability=available_now]{color:#135336}.class-detail-price span{color:var(--color-ink);background:#ffffff52;border-color:#0b253c3d}.footer-socials>div>span{color:#0b253ccc;opacity:1;border-color:#0b253c4d}.site-footer:before,.class-section:before{width:auto;height:auto;box-shadow:none;border:0;border-radius:0;inset:0;transform:none}.class-section{background:linear-gradient(135deg,#c7e9f0,#a6dde7)}.class-section:before{background:radial-gradient(circle at 8% 10%,#ffffff94,#0000 34rem),radial-gradient(circle at 90% 78%,#21a1ba2e,#0000 30rem)}.site-footer{background:linear-gradient(145deg,#7bcfe0,#cfecf2)}.site-footer:before{z-index:0;background:radial-gradient(circle at 84% 5%,#ffffffb8,#0000 26rem),radial-gradient(circle at 5% 92%,#1891aa57,#0000 34rem)}.site-footer-inner,.site-footer-bottom{z-index:1;position:relative}.upcoming-view-all a{border:1px solid var(--color-ink);background:var(--color-ink);color:var(--color-surface);padding:.85rem 1.1rem;transition:background-color .18s,border-color .18s,box-shadow .18s,color .18s,transform .18s;box-shadow:0 10px 24px #0b253c24}.upcoming-view-all a:hover{border-color:var(--color-ink);box-shadow:none;color:var(--color-ink);background:0 0;transform:translateY(-3px)}.footer-navigation a{transition:color .18s,text-shadow .18s,transform .18s}.footer-navigation a:hover{color:var(--color-ink);text-shadow:.025em 0,-.025em 0;transform:translate(.45rem)}.footer-brand>a,.site-footer-bottom a{border:1px solid var(--color-ink);background:var(--color-ink);color:var(--color-surface);padding:.65rem .8rem;transition:background-color .18s,border-color .18s,box-shadow .18s,color .18s,transform .18s}.footer-brand>a:hover,.site-footer-bottom a:hover{border-color:var(--color-ink);box-shadow:none;color:var(--color-ink);background:0 0;transform:translateY(-2px)}.contact-direct a{border:1px solid var(--color-accent-surface-hover);background:var(--color-accent-surface);color:var(--color-ink);padding:.65rem .8rem;transition:background-color .18s,border-color .18s,box-shadow .18s,color .18s,transform .18s}.contact-direct a:hover{border-color:var(--color-blue-deep);background:var(--color-accent-surface-hover);color:var(--color-ink);transform:translateY(-2px);box-shadow:0 10px 24px #1c879c29}.site-footer-bottom a svg{transition:transform .18s}.site-footer-bottom a:hover svg{transform:translateY(-.2rem)}.hero-poster-copy .button{transition:background-color .18s,border-color .18s,box-shadow .18s,color .18s,transform .18s}.hero-poster-copy .button-primary:hover{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-surface);transform:translateY(-3px);box-shadow:0 14px 30px #0b253c33}.hero-poster-copy .button-secondary:hover{border-color:var(--color-blue-deep);background:var(--color-accent-surface);color:var(--color-ink);transform:translateY(-3px);box-shadow:0 14px 30px #1c879c29}@media (prefers-reduced-motion:reduce){.upcoming-view-all a,.footer-navigation a,.footer-brand>a,.site-footer-bottom a,.site-footer-bottom a svg,.contact-direct a,.hero-poster-copy .button{transition:none}.upcoming-view-all a:hover,.footer-navigation a:hover,.footer-brand>a:hover,.site-footer-bottom a:hover,.site-footer-bottom a:hover svg,.contact-direct a:hover,.hero-poster-copy .button:hover{transform:none}}.classes-state{text-align:center;color:var(--color-navy,#163b65);background:#ffffffb8;border:1px solid #205b8e29;border-radius:1rem;grid-column:1/-1;margin:2rem 0;padding:2rem}.classes-state button,.class-not-found button,.class-detail-price button,.interest-form>button,.interest-modal-success button{font:inherit;color:#fff;cursor:pointer;background:#205b8e;border:0;border-radius:999px;padding:.85rem 1.4rem;font-weight:700}.classes-state button:hover,.class-not-found button:hover,.class-detail-price button:hover,.interest-form>button:hover,.interest-modal-success button:hover{background:#163b65}.class-detail-price button:focus-visible,.interest-modal button:focus-visible,.interest-modal input:focus-visible,.interest-modal textarea:focus-visible{outline-offset:3px;outline:3px solid #4589c26b}.class-cancelled-notice{color:#762f2f;background:#fff2f0;border:1px solid #e7b8b1;border-radius:.75rem;max-width:72rem;margin:0 auto 2rem;padding:1rem 1.25rem}.interest-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#081c31ad;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.interest-modal{color:#163b65;background:#fff;border-radius:1.25rem;width:min(100%,38rem);max-height:calc(100vh - 2rem);padding:clamp(1.5rem,4vw,2.5rem);position:relative;overflow-y:auto;box-shadow:0 1.5rem 4rem #081c314d}.interest-modal>header{margin-bottom:1.5rem;padding-right:2rem}.interest-modal>header h2,.interest-modal-success h2{margin:.2rem 0 .5rem;font-family:Cormorant Garamond,serif;font-size:clamp(2rem,7vw,3rem);line-height:1}.interest-modal-close{width:2.5rem;height:2.5rem;font:inherit;color:#163b65;cursor:pointer;background:#f4f8fb;border:1px solid #205b8e33;border-radius:50%;font-size:1.5rem;position:absolute;top:1rem;right:1rem}.interest-form{gap:.65rem;display:grid}.interest-form label:not(.interest-consent){margin-top:.45rem;font-weight:700}.interest-form input:not([type=checkbox]),.interest-form textarea{width:100%;font:inherit;color:#163b65;background:#fbfdff;border:1px solid #205b8e47;border-radius:.6rem;padding:.8rem .9rem}.interest-form input[aria-invalid=true]{border-color:#a83f3f}.interest-form p[role=alert],.interest-submit-error{color:#942f2f;margin:0;font-size:.9rem}.interest-consent{cursor:pointer;align-items:flex-start;gap:.7rem;margin:.75rem 0;line-height:1.4;display:flex}.interest-consent input{flex:none;width:1.15rem;height:1.15rem;margin-top:.15rem}.interest-form>button{justify-self:start;margin-top:.5rem}.interest-form>button:disabled{opacity:.65;cursor:wait}.interest-honeypot{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.interest-modal-success{gap:1rem;display:grid}.interest-modal-success button{justify-self:start}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}
