@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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 components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.block{display:block}.hidden{display:none}.table{display:table}}:root{--ink:#1d140f;--ink-soft:#41352e;--paper:#faf2e8;--paper-deep:#f2e4d3;--surface:#fef9f4;--bronze:#9d6f4e;--bronze-light:#d5b397;--line:#cabbac;--success:#366442;--warning:#916528;--danger:#9a322c;--serif:var(--font-display), "Kaiti SC", "STKaiti", "KaiTi", serif;--sans:var(--font-body), "PingFang SC", "Microsoft YaHei", sans-serif;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--radius-sm:.5rem;--radius-md:1rem;--radius-lg:1.75rem;--content:76rem}@supports (color:lab(0% 0 0)){:root{--ink:lab(7.15141% 3.87532 4.57152);--ink-soft:lab(23.352% 4.57212 6.5374);--paper:lab(95.9657% 1.41889 5.94429);--paper-deep:lab(91.3067% 3.24684 9.8321);--surface:lab(98.2776% .727296 3.34542);--bronze:lab(50.9753% 15.9724 25.8493);--bronze-light:lab(75.5117% 9.76104 19.1153);--line:lab(76.7872% 3.57363 9.29486);--success:lab(38.3274% -22.7366 14.1423);--warning:lab(46.513% 13.8309 40.4848);--danger:lab(37.1523% 43.7934 28.7035)}}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{background:var(--paper);min-width:20rem;color:var(--ink);font-family:var(--sans);font-kerning:normal;margin:0;font-size:1rem;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,summary{-webkit-tap-highlight-color:transparent}img,svg{max-width:100%;display:block}:focus-visible{outline:2px solid var(--bronze);outline-offset:4px}::selection{background:var(--bronze-light);color:var(--ink)}.site-shell{overflow:clip}.hero-section{background:var(--paper);isolation:isolate;min-height:52rem;position:relative;overflow:hidden}.site-header{z-index:30;width:calc(100% - 2rem);max-width:var(--content);justify-content:space-between;align-items:center;min-height:3.75rem;margin:1.25rem auto 0;display:flex;position:relative}.brand-lockup{letter-spacing:.23em;align-items:center;gap:.7rem;font-size:.72rem;font-weight:650;line-height:1.25;display:inline-flex}.brand-lockup small{letter-spacing:.5em;margin-top:.2rem;font-size:.57rem;font-weight:500;display:block}.brand-monogram{font-family:var(--serif);letter-spacing:-.12em;font-size:2.6rem;font-style:italic;font-weight:500;line-height:1;transform:rotate(-8deg)}.desktop-nav{border:1px solid var(--line);align-items:center;gap:.15rem;display:none}@supports (color:color-mix(in lab, red, red)){.desktop-nav{border:1px solid color-mix(in oklch, var(--line), transparent 18%)}}.desktop-nav{background:var(--surface);border-radius:99rem}@supports (color:color-mix(in lab, red, red)){.desktop-nav{background:color-mix(in oklch, var(--surface), transparent 7%)}}.desktop-nav{-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);padding:.32rem;font-size:.84rem;box-shadow:0 .75rem 2.5rem #1d140f12;box-shadow:0 .75rem 2.5rem lab(7.15141% 3.87532 4.57152/.07)}.desktop-nav>a{border-radius:99rem;align-items:center;min-height:2.75rem;padding:.7rem 1rem;transition:background .18s,color .18s;display:inline-flex;position:relative}.nav-login{border:1px solid var(--ink);background:var(--ink);min-width:4.8rem;min-height:2.75rem;color:var(--paper);cursor:pointer;border-radius:99rem;justify-content:center;align-items:center;padding:.6rem 1.2rem;transition:background .18s,color .18s,transform .18s;display:inline-flex}.mobile-menu{flex:none;margin-left:1rem;position:relative}.mobile-menu summary{background:var(--ink);cursor:pointer;border-radius:50%;place-content:center;gap:.27rem;width:3rem;height:3rem;list-style:none;display:grid}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{background:var(--paper);width:1.1rem;height:1px;transition:transform .18s;display:block}.mobile-menu nav{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);width:13rem;padding:.75rem;display:grid;position:absolute;top:3.5rem;right:0;box-shadow:0 1rem 3rem #1d140f21;box-shadow:0 1rem 3rem lab(7.15141% 3.87532 4.57152/.13)}.mobile-menu nav a{border-bottom:1px solid var(--line);min-height:2.9rem;padding:.75rem}.mobile-menu nav a:last-child{border-bottom:0}.hero-stage{--hero-x:0rem;--hero-y:0rem;width:min(calc(100% - 2rem), var(--content));min-height:47rem;margin-inline:auto;position:relative}.hero-copy{z-index:8;padding-top:5rem;position:relative}.eyebrow{color:var(--bronze);letter-spacing:.28em;text-transform:uppercase;margin:0 0 .75rem;font-size:.68rem;font-weight:650}.hero-copy h1{max-width:10ch;font-family:var(--serif);letter-spacing:-.035em;margin:0;font-size:clamp(3.65rem,14vw,7.7rem);font-weight:400;line-height:.98;display:grid}.hero-copy h1 span{white-space:nowrap}.hero-copy h1 em{color:var(--bronze);font-style:normal}.hero-title-top{transform:translate(-.04em)}.hero-title-bottom{margin-top:.13em;font-size:.76em}.hero-subtitle{color:var(--ink-soft);font-family:var(--serif);letter-spacing:.18em;align-items:center;gap:.75rem;margin:1.6rem 0 0;font-size:1.05rem;display:flex}.hero-subtitle:before{background:var(--bronze);content:"";width:2rem;height:1px}.hero-actions{align-items:center;gap:1.25rem;margin-top:2rem;display:flex}.hero-actions>p{color:var(--ink-soft);margin:0;font-size:.68rem;line-height:1.7}.text-link{border-bottom:1px solid var(--bronze);min-height:2.75rem;color:var(--ink);letter-spacing:.08em;align-items:center;gap:.75rem;font-size:.83rem;font-weight:600;display:inline-flex}.text-link span{color:var(--bronze);font-size:1.1rem}.hero-figure{z-index:3;background:var(--paper-deep);width:72%;height:31rem;transform:translate3d(var(--hero-x), var(--hero-y), 0);border-radius:8rem 0 0;transition:transform .18s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;right:-1rem;overflow:hidden;box-shadow:-1rem 1.5rem 4rem #3a2a1f14;box-shadow:-1rem 1.5rem 4rem lab(18.6813% 6.35497 9.96386/.08)}.hero-figure:after{border-radius:inherit;content:"";border:0;border-top:1px solid oklch(97% .01 75/.55);border-left:1px solid oklch(97% .01 75/.55);position:absolute;inset:0}.hero-figure-image{object-fit:cover;object-position:53% center;filter:saturate(.74)contrast(.98);transform:scale(1.025)}.hero-figure-meta{z-index:2;color:var(--paper);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;font-size:.58rem;display:flex;position:absolute;inset:auto 1rem 1rem}.hero-kinetic-word{z-index:1;color:#0000;letter-spacing:-.08em;-webkit-text-stroke:1px var(--bronze-light);margin:0;font-family:Georgia,serif;font-size:clamp(8rem,36vw,18rem);line-height:.8;position:absolute;bottom:-.1em;right:-.08em}@supports (color:color-mix(in lab, red, red)){.hero-kinetic-word{-webkit-text-stroke:1px color-mix(in oklch, var(--bronze-light), transparent 40%)}}.hero-kinetic-word{transform:translate3d(calc(var(--hero-x) * -.35), calc(var(--hero-y) * -.35), 0);transition:transform .26s cubic-bezier(.22,1,.36,1)}.hero-orbit-line{z-index:5;border:1px solid var(--bronze);width:26rem;height:26rem;position:absolute;bottom:11rem;right:-10rem}@supports (color:color-mix(in lab, red, red)){.hero-orbit-line{border:1px solid color-mix(in oklch, var(--bronze), transparent 35%)}}.hero-orbit-line{pointer-events:none;transform:translate3d(calc(var(--hero-x) * -.7), calc(var(--hero-y) * -.7), 0);border-radius:50%;transition:transform .22s cubic-bezier(.22,1,.36,1)}.hero-stage.is-returning .hero-figure{transition-duration:1.6s;transition-timing-function:cubic-bezier(.22,.68,.28,1)}.hero-stage.is-returning .hero-kinetic-word{transition-duration:1.9s;transition-timing-function:cubic-bezier(.22,.68,.28,1)}.hero-stage.is-returning .hero-orbit-line{transition-duration:1.75s;transition-timing-function:cubic-bezier(.22,.68,.28,1)}.hero-orbit-line span{background:var(--bronze);border-radius:50%;width:.5rem;height:.5rem;position:absolute;top:50%;left:-.25rem}.hero-side-note{display:none}.hero-scroll{z-index:9;color:var(--ink-soft);letter-spacing:.12em;writing-mode:vertical-rl;align-items:center;gap:.55rem;font-size:.62rem;display:flex;position:absolute;bottom:1.5rem;left:0}.hero-scroll i{border:1px solid var(--line);writing-mode:horizontal-tb;border-radius:50%;place-items:center;width:1.8rem;height:1.8rem;font-style:normal;display:grid}.hero-copy>*,.hero-scroll{opacity:0;animation:.76s cubic-bezier(.16,1,.3,1) forwards hero-enter}.hero-copy>:nth-child(2){animation-delay:80ms}.hero-copy>:nth-child(3){animation-delay:.16s}.hero-copy>:nth-child(4){animation-delay:.24s}.hero-figure{opacity:1;animation:.82s cubic-bezier(.16,1,.3,1) .12s backwards hero-figure-enter}.hero-scroll{animation-delay:.32s}@keyframes hero-enter{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translate(0)}}@keyframes hero-figure-enter{0%{opacity:0;transform:translate3d(var(--hero-x), calc(var(--hero-y) + 1.5rem), 0) scale(.985)}to{opacity:1;transform:translate3d(var(--hero-x), var(--hero-y), 0) scale(1)}}.promise-strip{z-index:5;background:var(--ink);color:var(--paper);grid-template-columns:1fr 1fr;gap:0;padding:2.4rem 1rem;display:grid;position:relative}.promise-item{border-bottom:1px solid #bea59240;border-bottom:1px solid lab(69.7454% 7.15384 13.6287/.25);gap:.65rem;min-width:0;padding:1.2rem .65rem;display:flex}.promise-item:nth-last-child(-n+2){border-bottom:0}.promise-item>span{color:var(--bronze-light);font-family:var(--serif);font-size:.7rem}.promise-item h2{font-family:var(--serif);margin:0 0 .3rem;font-size:1rem;font-weight:500}.promise-item p{color:var(--bronze-light);margin:0;font-size:.68rem}.editorial-section,.schedule-preview{width:min(calc(100% - 2rem), var(--content));margin-inline:auto;padding-block:clamp(5rem,10vw,8rem)}.section-heading{text-align:center;margin-bottom:2.5rem}.section-heading h2,.schedule-heading h2{font-family:var(--serif);letter-spacing:-.02em;margin:0;font-size:clamp(2.35rem,6vw,4.25rem);font-weight:400}.section-heading>p:last-child{color:var(--ink-soft);font-family:var(--serif);margin:.75rem 0 0}.featured-grid{gap:2rem;display:grid}.course-card{min-width:0;container-type:inline-size}.course-card>a{display:block}.course-image{aspect-ratio:4/5;border-radius:var(--radius-sm);background:var(--paper-deep);min-height:0;position:relative;overflow:hidden}.tone-rose .course-image{background:#e9cdc3;background:lab(84.7069% 8.92046 9.14921)}.tone-smoke .course-image{background:#aea69d;background:lab(68.6857% 1.89224 5.80329)}.course-image:after{content:"";background:linear-gradient(#0000,#19120e2e);background:linear-gradient(#0000,lab(6.13548% 2.98866 3.3952/.18));height:45%;position:absolute;inset:auto 0 0}.image-label{z-index:2;color:var(--ink-soft);letter-spacing:.18em;font-size:.58rem;position:absolute;top:1rem;left:1rem}.course-photo{object-fit:cover;object-position:center;filter:saturate(.78)contrast(.96);transition:transform .7s cubic-bezier(.16,1,.3,1),filter .5s}.course-card .availability{z-index:4;position:absolute;bottom:1rem;right:1rem}.course-card-copy{padding-top:1.25rem}.course-card-copy>p{color:var(--bronze);letter-spacing:.1em;margin:0 0 .5rem;font-size:.7rem;font-weight:600}.course-card-copy h3{font-family:var(--serif);margin:0 0 1.1rem;font-size:1.55rem;font-weight:500}.course-card-copy>div{border-top:1px solid var(--line);color:var(--ink-soft);justify-content:space-between;padding-block:.65rem;font-size:.79rem;display:flex}.course-card-copy>div:last-child{color:var(--ink)}.card-arrow{color:var(--bronze);font-size:1rem;transition:transform .25s}.availability{letter-spacing:.04em;border-radius:99rem;align-items:center;min-height:1.9rem;padding:.3rem .7rem;font-size:.68rem;font-weight:650;display:inline-flex}.availability.is-open{color:#174525;color:lab(25.5531% -22.9018 14.372);background:#d7f0d9;background:lab(92.4098% -11.5871 8.02988)}.availability.is-waitlist{color:#693b03;color:lab(30.0465% 18.3563 38.8331);background:#fae4c7;background:lab(91.9302% 4.39236 17.03)}.availability.is-archive{color:var(--paper);background:#302721d1;background:lab(16.4041% 3.92753 5.61173/.82)}.course-card.is-past .course-photo{filter:saturate(.78)contrast(.96)}.course-card.is-past .course-card-copy{opacity:.82}.teacher-carousel{--teacher-x:0deg;--teacher-y:0deg;width:min(calc(100% - 2rem), var(--content));perspective:90rem;touch-action:pan-y;outline:none;margin:0 auto clamp(5rem,10vw,8rem);position:relative}.teacher-story{border-radius:var(--radius-lg);background:var(--ink);width:100%;color:var(--paper);transform:rotateX(var(--teacher-x)) rotateY(var(--teacher-y));transform-style:preserve-3d;transition:transform .18s,box-shadow .3s;animation:.52s cubic-bezier(.16,1,.3,1) teacher-page-in;display:grid;overflow:hidden}.teacher-art{aspect-ratio:1;background:#312620;background:lab(16.3818% 4.64396 5.99417);min-height:0;position:relative;overflow:hidden}.teacher-art:before{content:"";border:1px solid #be997c42;border:1px solid lab(66.1833% 11.4248 20.6427/.26);border-radius:50% 50% 8rem 8rem;position:absolute;inset:8% 12%}.teacher-photo{object-fit:cover;object-position:center top;filter:saturate(.72)contrast(1.02);transition:transform .6s cubic-bezier(.16,1,.3,1),filter .5s}.teacher-tone-rose .teacher-art{background:#48312d;background:lab(23.1372% 10.4418 7.02674)}.teacher-tone-smoke .teacher-art{background:#262c32;background:lab(17.6201% -1.37211 -4.92244)}.teacher-tone-sand .teacher-art{background:#493a29;background:lab(25.7505% 4.44792 13.5291)}.teacher-copy{padding:3rem 1.5rem}.script-label{color:var(--bronze-light);letter-spacing:.1em;margin:0;font-family:Georgia,cursive;font-size:1rem;font-style:italic}.teacher-number{font-variant-numeric:tabular-nums;letter-spacing:.14em;font-size:.66rem;color:var(--bronze-light)!important;font-family:var(--sans)!important;margin:1.5rem 0 0!important}.teacher-copy h2{max-width:14ch;font-family:var(--serif);margin:.35rem 0 0;font-size:clamp(2.6rem,6vw,4.5rem);font-weight:480;line-height:1.15}.teacher-copy h3{color:var(--bronze-light);letter-spacing:.12em;margin:.3rem 0 1.5rem;font-size:.82rem;font-weight:500}.teacher-copy>p:not(.script-label){color:#c9b7a7;color:lab(75.6092% 4.48456 10.5941);max-width:32rem;font-family:var(--serif);margin:0;line-height:1.9}.studio-stats{grid-template-columns:repeat(3,1fr);margin:2.5rem 0 0;display:grid}.studio-stats div{border-right:1px solid #ad9a8c3b;border-right:1px solid lab(65.1332% 5.28774 10.1545/.23);padding-inline:.75rem}.studio-stats div:first-child{padding-left:0}.studio-stats div:last-child{border-right:0}.studio-stats dt{font-family:var(--serif);font-size:clamp(1.5rem,5vw,2.3rem)}.studio-stats dd{color:var(--bronze-light);margin:.25rem 0 0;font-size:.68rem}.teacher-controls{justify-content:center;align-items:center;gap:1rem;padding-top:1rem;display:flex}.teacher-controls>button{border:1px solid var(--line);width:2.75rem;height:2.75rem;color:var(--ink);cursor:pointer;background:0 0;border-radius:50%;place-items:center;transition:border-color .18s,background .18s,color .18s,transform .18s;display:grid}.teacher-dots{align-items:center;gap:.55rem;display:flex}.teacher-dots button{background:var(--line);cursor:pointer;border:0;border-radius:50%;width:.42rem;height:.42rem;padding:0;transition:width .2s,border-radius .2s,background .2s}.teacher-dots button.is-active{background:var(--bronze);border-radius:99rem;width:1.8rem}.teacher-profile-link{width:max-content;min-height:2.75rem;color:var(--paper);border-bottom:1px solid #bd9e8680;border-bottom:1px solid lab(67.3925% 9.11626 17.203/.5);align-items:center;gap:.8rem;margin-top:2rem;font-size:.75rem;display:inline-flex}.teacher-profile-link span,.teacher-all-link span{color:var(--bronze-light)}.teacher-all-link{width:max-content;min-height:2.75rem;color:var(--ink-soft);align-items:center;gap:.75rem;margin:.4rem auto 0;font-size:.72rem;display:flex}@keyframes teacher-page-in{0%{opacity:0;transform:translateX(1.5rem) rotateX(var(--teacher-x)) rotateY(var(--teacher-y))}to{opacity:1;transform:translateX(0) rotateX(var(--teacher-x)) rotateY(var(--teacher-y))}}.schedule-heading{justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:2.5rem;display:flex}.schedule-heading .text-link{display:none}.schedule-list{border-top:1px solid var(--ink)}.schedule-row{border-bottom:1px solid var(--line);grid-template-columns:4.5rem 1fr auto;align-items:center;gap:1rem;min-height:8rem;padding-block:1.25rem;transition:background .24s,padding .24s;display:grid}.schedule-date{display:grid}.schedule-date strong{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:2.5rem;font-weight:400;line-height:1}.schedule-date span,.schedule-time span{color:var(--ink-soft);margin-top:.35rem;font-size:.65rem}.schedule-title>span{color:var(--bronze);font-size:.65rem;font-weight:650}.schedule-title h3{font-family:var(--serif);margin:.25rem 0;font-size:1.1rem;font-weight:500}.schedule-title p{color:var(--ink-soft);margin:0;font-size:.7rem}.schedule-time{display:none}.schedule-time strong{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:400}.schedule-row .availability{grid-column:2;justify-self:start}.row-arrow{color:var(--bronze);grid-area:1/3/span 2;font-size:1.25rem}.closing-cta{background:var(--ink);color:var(--paper);text-align:center;justify-items:center;padding:clamp(5rem,12vw,9rem) 1rem;display:grid}.closing-cta h2{max-width:16ch;font-family:var(--serif);margin:.75rem 0 2rem;font-size:clamp(2.3rem,7vw,5rem);font-weight:400;line-height:1.2}.button{letter-spacing:.08em;cursor:pointer;border:1px solid #0000;border-radius:99rem;justify-content:center;align-items:center;gap:1.5rem;min-height:3.25rem;padding:.8rem 1.7rem;font-size:.82rem;font-weight:650;transition:transform .22s,background .22s;display:inline-flex}.button:disabled,.table-link:disabled{opacity:.45;cursor:not-allowed}.button-light{background:var(--paper);color:var(--ink)}.button-dark{background:var(--ink);color:var(--paper)}.button-outline{border-color:var(--line);color:var(--ink);background:0 0}.site-footer{padding:2.5rem 1rem max(2rem, env(safe-area-inset-bottom));background:var(--ink);color:var(--paper);border-top:1px solid #ad9a8c33;border-top:1px solid lab(65.1332% 5.28774 10.1545/.2);justify-items:start;gap:1.5rem;display:grid}.brand-lockup-light{color:var(--paper)}.site-footer p{color:var(--bronze-light);letter-spacing:.08em;margin:0;font-size:.68rem}.app-page{background:var(--paper);min-height:100vh}.page-hero,.account-heading{width:min(calc(100% - 2rem), var(--content));margin-inline:auto;padding:4.5rem 0 3rem}.page-hero h1,.account-heading h1{font-family:var(--serif);letter-spacing:-.025em;margin:0;font-size:clamp(3.4rem,10vw,7.5rem);font-weight:400;line-height:1.05}.page-hero>p:last-child,.account-heading>p:not(.eyebrow){max-width:35rem;color:var(--ink-soft);font-family:var(--serif);margin:1.4rem 0 0;font-size:1.05rem;line-height:1.8}.catalog-section,.account-content,.profile-layout{width:min(calc(100% - 2rem), var(--content));margin-inline:auto;padding-bottom:6rem}.course-filters{border-top:1px solid var(--ink);gap:1rem;padding:1rem 0 2.5rem;display:grid}.filter-tabs{scrollbar-width:none;gap:.5rem;padding:.75rem 0;display:flex;overflow-x:auto}.filter-tabs::-webkit-scrollbar{display:none}.filter-tabs button,.account-tabs button{border:1px solid var(--line);min-height:2.75rem;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:99rem;flex:none;padding:.55rem 1.1rem;font-size:.78rem}.filter-tabs button.is-active,.account-tabs button.is-active{border-color:var(--ink);background:var(--ink);color:var(--paper)}.availability-toggle{min-height:2.75rem;color:var(--ink-soft);cursor:pointer;align-items:center;gap:.65rem;font-size:.78rem;display:inline-flex}.availability-toggle input{opacity:0;pointer-events:none;position:absolute}.availability-toggle>span{border:1px solid var(--line);background:var(--surface);border-radius:99rem;width:2.6rem;height:1.45rem;transition:background .18s;position:relative}.availability-toggle>span:after{background:var(--ink-soft);content:"";border-radius:50%;width:.95rem;height:.95rem;transition:transform .18s,background .18s;position:absolute;top:.2rem;left:.2rem}.availability-toggle input:checked+span{background:var(--ink)}.availability-toggle input:checked+span:after{background:var(--paper);transform:translate(1.1rem)}.availability-toggle input:focus-visible+span{outline:2px solid var(--bronze);outline-offset:3px}.catalog-grid{gap:3rem 1.5rem;display:grid}.course-period+.course-period{margin-top:clamp(5rem,9vw,8rem)}.course-period-heading{border-bottom:1px solid var(--ink);grid-template-columns:1fr auto;align-items:end;margin-bottom:2rem;padding-bottom:1rem;display:grid}.course-period-heading span{color:var(--bronze);letter-spacing:.15em;text-transform:uppercase;grid-column:1/-1;font-size:.62rem}.course-period-heading h2{font-family:var(--serif);margin:.35rem 0 0;font-size:1.8rem;font-weight:400}.course-period-heading small{color:var(--ink-soft);font-size:.68rem}.catalog-grid.is-past{opacity:1}.empty-state{text-align:center;justify-items:center;max-width:37rem;margin:3rem auto;padding:4rem 1.5rem;display:grid}.empty-state>span{border:1px solid var(--bronze);width:3rem;height:3rem;color:var(--bronze);border-radius:50%;place-items:center;display:grid}.empty-state h2{font-family:var(--serif);margin:1.5rem 0 .5rem;font-size:1.8rem;font-weight:500}.empty-state p{color:var(--ink-soft);margin:0 0 1.75rem}.empty-state h2+.button{margin-top:1.25rem}.detail-breadcrumb{width:min(calc(100% - 2rem), var(--content));color:var(--ink-soft);gap:.7rem;margin:1.5rem auto;font-size:.75rem;display:flex}.detail-breadcrumb a{color:var(--bronze)}.course-detail{width:min(calc(100% - 2rem), var(--content));margin:0 auto;padding-bottom:6rem;display:grid}.detail-art{aspect-ratio:4/5;border-radius:var(--radius-lg);background:var(--paper-deep);min-height:0;position:relative;overflow:hidden}.detail-art.tone-rose{background:#e9cdc3;background:lab(84.7069% 8.92046 9.14921)}.detail-art.tone-smoke{background:#aea69d;background:lab(68.6857% 1.89224 5.80329)}.detail-photo{object-fit:cover;object-position:center;filter:saturate(.8)contrast(.97)}.detail-copy{padding:3rem 0}.detail-copy h1{font-family:var(--serif);letter-spacing:-.02em;margin:0;font-size:clamp(2.75rem,8vw,5.75rem);font-weight:400;line-height:1.1}.detail-intro{max-width:36rem;color:var(--ink-soft);font-family:var(--serif);margin:1.5rem 0 2rem;line-height:1.9}.detail-facts{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;margin:0;display:grid}.detail-facts div{border-bottom:1px solid var(--line);padding:1.25rem 0}.detail-facts dt{color:var(--bronze);letter-spacing:.12em;margin-bottom:.35rem;font-size:.67rem}.detail-facts dd{font-family:var(--serif);margin:0;font-size:1rem}.capacity-meter{margin-top:2rem}.capacity-meter>div{justify-content:space-between;font-size:.8rem;display:flex}.capacity-meter strong{font-variant-numeric:tabular-nums}.meter-track{background:var(--paper-deep);border-radius:99rem;height:.35rem;margin-top:.75rem;display:block;overflow:hidden}.meter-track span{border-radius:inherit;background:var(--bronze);height:100%;display:block}.capacity-meter p{color:var(--ink-soft);margin:.6rem 0 0;font-size:.75rem}.capacity-meter.is-past .meter-track span{background:var(--ink-soft)}.booking-actions{margin-top:2.5rem}.booking-actions .button{width:100%}.booking-actions p{color:var(--ink-soft);margin:1rem 0 0;font-size:.72rem;line-height:1.7}.auth-stage{align-content:center;gap:2rem;width:min(100% - 2rem,32rem);min-height:calc(100vh - 7rem);margin-inline:auto;padding:4rem 0 6rem;display:grid}.auth-stage>h1{font-family:var(--serif);text-align:center;margin:0;font-size:clamp(3rem,8vw,5rem);font-weight:480;line-height:1}.auth-message{align-self:center;padding-bottom:3rem}.auth-message h1{max-width:8ch;font-family:var(--serif);letter-spacing:-.02em;margin:0;font-size:clamp(3rem,8vw,6rem);font-weight:400;line-height:1.1}.auth-message>p:not(.eyebrow){max-width:30rem;color:var(--ink-soft);font-family:var(--serif);margin:1.5rem 0;line-height:1.8}.auth-panel{border-radius:var(--radius-lg);background:var(--surface);place-items:center;min-height:30rem;padding:2rem 1rem;display:grid}.setup-card{max-width:25rem}.admin-login-form{background:var(--surface);border-radius:var(--radius-lg);gap:.8rem;padding:clamp(1.5rem,5vw,3rem);display:grid}.admin-login-form input{border:1px solid var(--line);background:var(--paper);width:100%;min-height:3rem;color:var(--ink);border-radius:.6rem;padding:.75rem}.admin-login-form label:not(:first-child){margin-top:.75rem}.admin-login-form .button{margin-top:1rem}.admin-login-form p{color:var(--ink-soft);margin:0;font-size:.85rem}.setup-card>span{color:var(--bronze);letter-spacing:.18em;font-size:.65rem}.setup-card h2{font-family:var(--serif);margin:1rem 0 .75rem;font-size:2rem;font-weight:500}.setup-card p{color:var(--ink-soft);margin:0 0 1.5rem;line-height:1.7}.setup-card code{background:var(--paper-deep);border-radius:.25rem;padding:.1rem .25rem;font-size:.85em}.account-heading{padding-bottom:2.5rem}.notice-bar{border:1px solid var(--line);color:var(--ink-soft);align-items:start;gap:.75rem;margin-bottom:2rem;padding:1rem;font-size:.78rem;display:flex}.notice-bar>span{border:1px solid var(--bronze);width:1.3rem;height:1.3rem;color:var(--bronze);font-family:var(--serif);border-radius:50%;flex:none;place-content:center;display:grid}.notice-bar p{margin:0}.account-tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:.5rem;padding-bottom:1.5rem;display:flex;overflow-x:auto}.booking-list{border-top:1px solid var(--ink)}.booking-item{border-bottom:1px solid var(--line);grid-template-columns:4rem 1fr auto;align-items:center;gap:1rem;padding:1.5rem 0;display:grid}.booking-date{display:grid}.booking-date strong{font-family:var(--serif);font-size:2.25rem;font-weight:450;line-height:1}.booking-date span{color:var(--ink-soft);margin-top:.25rem;font-size:.65rem}.booking-item h2{font-family:var(--serif);margin:.5rem 0 .25rem;font-size:1.15rem;font-weight:500}.booking-item p{color:var(--ink-soft);margin:0;font-size:.7rem}.profile-layout{gap:3rem;max-width:52rem;display:grid}.profile-form{border-top:1px solid var(--ink);gap:1.5rem;padding-top:1.5rem;display:grid}.field{gap:.55rem;display:grid}.field label{font-family:var(--serif);font-size:.9rem}.field label span{color:var(--ink-soft);font-family:var(--sans);font-size:.68rem}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:3.25rem;color:var(--ink);outline:none;padding:.8rem .9rem}.field textarea{resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#72665e;color:lab(44.2765% 3.50449 6.75298)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--bronze);box-shadow:0 0 0 3px #9d6f4e1f;box-shadow:0 0 0 3px lab(50.9753% 15.9724 25.8493/.12)}.form-note{color:var(--ink-soft);margin:-.5rem 0 0;font-size:.7rem}.form-success,.form-error{border-radius:var(--radius-sm);margin:.8rem 0 0;padding:.75rem .9rem;font-size:.75rem}.form-success{color:#174525;color:lab(25.5531% -22.9018 14.372);background:#d7f0d9;background:lab(92.4098% -11.5871 8.02988)}.form-error{color:var(--danger);background:#ffe4e0;background:lab(92.728% 10.5675 6.22172)}.privacy-note{border-radius:var(--radius-lg);background:var(--ink);color:var(--paper);align-self:start;padding:2rem}.privacy-note>span{color:var(--bronze-light);font-family:var(--serif)}.privacy-note h2{font-family:var(--serif);margin:2rem 0 1rem;font-size:1.7rem;font-weight:450}.privacy-note p{color:#c3b5a7;color:lab(74.4678% 3.43323 8.93512);font-family:var(--serif);margin:0;line-height:1.8}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.admin-shell{background:#f4ede6;background:lab(94.2059% 1.38831 4.33143);min-height:100vh}.admin-sidebar{z-index:40;background:var(--ink);min-height:4.25rem;color:var(--paper);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.admin-sidebar>.brand-lockup,.admin-account{display:none}.admin-sidebar nav{justify-content:space-around;width:100%;display:flex}.admin-sidebar nav a{color:#b9ab9e;color:lab(70.9759% 3.7075 8.80529);align-content:center;place-items:center;gap:.12rem;min-width:4rem;min-height:3.7rem;font-size:.62rem;display:grid}.admin-sidebar nav a span{font-family:var(--serif);font-size:1rem}.admin-main{min-width:0;padding-bottom:5rem}.admin-topbar{border-bottom:1px solid var(--line);min-height:4rem;color:var(--ink-soft);justify-content:flex-end;align-items:center;gap:1.25rem;padding:0 1rem;font-size:.72rem;display:flex}.admin-topbar span{background:var(--paper-deep);color:var(--bronze);border-radius:99rem;padding:.3rem .65rem}.admin-content{width:min(100% - 2rem,86rem);margin-inline:auto;padding:2rem 0 5rem}.admin-heading{justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:2rem;display:flex}.admin-heading p{color:var(--bronze);letter-spacing:.09em;margin:0 0 .45rem;font-size:.68rem}.admin-heading h1{font-family:var(--serif);margin:0;font-size:clamp(2.2rem,6vw,3.8rem);font-weight:430;line-height:1.1}.admin-heading>div>span{color:var(--ink-soft);margin-top:.65rem;font-size:.75rem;display:block}.admin-heading .button{flex:none}.draft-label{background:var(--paper-deep);color:var(--bronze);border-radius:99rem;align-self:center;padding:.4rem .8rem;font-size:.72rem}.metric-grid{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem;display:grid}.metric-grid article{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);align-content:space-between;min-height:10.5rem;padding:1.1rem;display:grid}.metric-grid p{color:var(--ink-soft);margin:0;font-size:.7rem}.metric-grid strong{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:2.75rem;font-weight:430}.metric-grid span{color:var(--bronze);font-size:.63rem}.admin-panel{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;min-height:5.5rem;padding:1.25rem;display:flex}.panel-heading p{color:var(--bronze);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .2rem;font-size:.58rem}.panel-heading h2{font-family:var(--serif);margin:0;font-size:1.4rem;font-weight:500}.panel-heading>a{color:var(--ink-soft);font-size:.72rem}.admin-table-wrap{width:100%;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.75rem}.admin-table th{color:var(--ink-soft);letter-spacing:.06em;text-align:left;padding:.8rem 1rem;font-size:.62rem;font-weight:500}.admin-table td{border-top:1px solid var(--line);vertical-align:middle;min-width:7rem;padding:1rem}.admin-table td:first-child{min-width:13rem}.admin-table td strong,.admin-table td span{display:block}.admin-table td strong{font-family:var(--serif);font-size:.9rem;font-weight:550}.admin-table td span:not(.status-pill){color:var(--ink-soft);margin-top:.2rem;font-size:.65rem}.admin-table td:last-child{min-width:3rem}.status-pill{background:#d5ecd5;background:lab(91.243% -11.1774 8.71434);border-radius:99rem;align-items:center;width:max-content;min-height:1.65rem;padding:.2rem .6rem;color:#264928!important;color:lab(27.7806% -19.6107 16.0174)!important;font-size:.62rem!important;display:inline-flex!important}.status-pill.is-waiting{background:#fae0c1;background:lab(90.7485% 5.52261 18.8097);color:#6e451a!important;color:lab(33.632% 15.0093 32.4419)!important}.status-pill.is-muted{background:var(--paper-deep);color:var(--ink-soft)!important}.status-pill.is-draft{background:#f2e6d4;background:lab(91.9384% 2.10962 10.6083);color:#66492f!important;color:lab(33.7248% 10.1938 20.2485)!important}.status-pill.is-locked{background:#f2dec5;background:lab(89.5798% 4.52828 14.8676);color:#6f4017!important;color:lab(32.3426% 18.4746 33.0282)!important}.status-pill.is-completed{background:#d7e3f2;background:lab(89.5023% -1.89245 -9.09952);color:#35465d!important;color:lab(29.0689% -2.14764 -15.9164)!important}.status-pill.is-cancelled{background:#fbdcd9;background:lab(90.396% 10.7391 5.79927);color:var(--danger)!important}.status-pill.is-expired{background:var(--paper-deep);color:var(--ink-soft)!important}.course-time-class{color:var(--ink-soft);margin-top:.35rem;font-size:.58rem;font-weight:400;display:block}.table-link{color:var(--bronze);text-underline-offset:.2rem;cursor:pointer;background:0 0;border:0;font-size:.7rem;text-decoration:underline}.table-actions{flex-wrap:wrap;gap:.55rem;display:flex}.table-actions form{margin:0}.table-link.is-danger{color:var(--danger)}.preview-only{color:var(--ink-soft)!important;font-size:.65rem!important}.dashboard-split{gap:1rem;margin-top:1rem;display:grid}.deadline-list{padding:0 1.25rem;display:grid}.deadline-list>div{border-bottom:1px solid var(--line);padding:1.25rem 0}.deadline-list>div:last-child{border-bottom:0}.deadline-list span{color:var(--bronze);font-size:.65rem}.deadline-list strong{font-family:var(--serif);margin-top:.3rem;font-weight:500;display:block}.deadline-list p{color:var(--ink-soft);margin:.2rem 0 0;font-size:.68rem}.admin-tip{background:var(--ink);color:var(--paper);padding:2rem}.admin-tip>span{color:var(--bronze-light);font-size:.65rem}.admin-tip h2{max-width:20ch;font-family:var(--serif);margin:1.5rem 0 1rem;font-size:1.75rem;font-weight:450}.admin-tip p{color:#bcaea1;color:lab(72.1475% 3.4388 8.93934);font-size:.78rem;line-height:1.7}.admin-tip .text-link{color:var(--paper)}.occupancy-card{background:var(--ink);color:var(--paper);align-content:center;padding:2rem;display:grid}.occupancy-card>span{color:var(--bronze-light);font-size:.68rem}.occupancy-card>strong{font-family:var(--serif);margin:.8rem 0 1rem;font-size:4.5rem;font-weight:420;line-height:1}.occupancy-track{background:#ad9a8c33;background:lab(65.1332% 5.28774 10.1545/.2);border-radius:99rem;height:.35rem;overflow:hidden}.occupancy-track span{border-radius:inherit;background:var(--bronze-light);width:82%;height:100%;display:block}.occupancy-card dl{grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0 0;display:grid}.occupancy-card dl div{border-top:1px solid #ad9a8c38;border-top:1px solid lab(65.1332% 5.28774 10.1545/.22);justify-content:space-between;padding-top:.75rem;display:flex}.occupancy-card dt,.occupancy-card dd{margin:0;font-size:.68rem}.occupancy-card dt{color:#bcaea1;color:lab(72.1475% 3.4388 8.93934)}.admin-toolbar{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.admin-toolbar label{flex:16rem}.admin-toolbar input,.admin-toolbar select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:2.85rem;padding:.65rem .8rem}.admin-toolbar select{width:auto}.admin-course-filters{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);gap:.8rem;margin-bottom:.75rem;display:grid}@supports (color:color-mix(in lab, red, red)){.admin-course-filters{background:color-mix(in oklch, var(--surface), transparent 15%)}}.admin-course-filters{padding:1rem}.admin-course-filters label{gap:.35rem;min-width:0;display:grid}.admin-course-filters label>span{color:var(--ink-soft);letter-spacing:.06em;font-size:.62rem}.admin-course-filters input,.admin-course-filters select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:2.85rem;color:var(--ink);padding:.65rem .8rem}.filter-actions{align-items:end;gap:.5rem;display:flex}.filter-actions .button{min-height:2.85rem;padding:.6rem 1.2rem}.filter-result{min-height:2.75rem;color:var(--ink-soft);justify-content:space-between;align-items:center;gap:1rem;font-size:.65rem;display:flex}.filter-result p{margin:0}.filter-result strong{color:var(--ink);font-family:var(--serif);font-size:1.2rem;font-weight:400}.filter-result>span{text-align:right}.course-form{gap:1rem;display:grid}.form-section{padding:1.25rem;display:grid}.form-section>div:first-child{padding-bottom:1.5rem}.form-section>div:first-child p{color:var(--bronze);font-family:var(--serif);margin:0}.form-section>div:first-child h2{font-family:var(--serif);margin:.4rem 0 0;font-size:1.5rem;font-weight:500}.form-grid{gap:1.25rem;display:grid}.form-actions{justify-content:flex-end;gap:.75rem;padding-top:1rem;display:flex}.image-uploader{border-top:1px solid var(--line);margin-top:.5rem;padding-top:1.5rem}.image-uploader-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.image-uploader-heading strong,.image-uploader-heading span{display:block}.image-uploader-heading strong{font-family:var(--serif);font-size:1.05rem;font-weight:400}.image-uploader-heading span{color:var(--ink-soft);margin-top:.2rem;font-size:.68rem}.image-uploader-heading .button{flex:none;min-height:2.65rem;padding:.55rem 1rem}.image-crop-layout{gap:1.5rem;display:grid}.image-crop-frame{border-radius:var(--radius-md);background:var(--paper-deep);width:min(100%,22rem);position:relative;overflow:hidden}.image-uploader-course .image-crop-frame{aspect-ratio:4/5}.image-uploader-teacher .image-crop-frame{aspect-ratio:1}.image-crop-preview{background-color:var(--paper-deep);background-repeat:no-repeat;position:absolute;inset:0}.image-crop-empty{width:100%;height:100%;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;place-content:center;justify-items:center;display:grid;position:absolute;inset:0}.image-crop-empty:hover{background:var(--surface)}.image-crop-empty:focus-visible{outline:2px solid var(--bronze);outline-offset:-4px}.image-crop-empty span{font-family:var(--serif);font-size:2rem}.image-crop-empty .image-crop-hint{margin:.5rem 0 0;font-family:inherit;font-size:.68rem}.image-safe-area{border-radius:calc(var(--radius-md) * .65);pointer-events:none;border:1px dashed #fdf8f1bf;border:1px dashed lab(97.697% .86847 3.70294/.75);position:absolute;inset:7%;box-shadow:0 0 0 100vmax #190f091f;box-shadow:0 0 0 100vmax lab(5.19752% 3.57555 4.01196/.12)}.image-crop-controls{align-content:start;gap:1rem;display:grid}.image-crop-controls label{color:var(--ink-soft);gap:.45rem;font-size:.7rem;display:grid}.image-crop-controls input[type=range]{width:100%;accent-color:var(--bronze)}.image-crop-controls .button{width:max-content;margin-top:.25rem}.upload-status{min-height:1.25rem;color:var(--ink-soft);margin:0;font-size:.68rem}.upload-status.is-done{color:var(--success)}.upload-status.is-error{color:var(--danger)}.report-layout{gap:1rem;display:grid}.report-form{padding-bottom:1.5rem}.report-form>.form-grid,.report-form>.button{margin-inline:1.25rem}.report-form>.button{margin-top:1.5rem}.export-fields{border:0;border-top:1px solid var(--line);flex-wrap:wrap;gap:.75rem 1.25rem;margin:1.5rem 1.25rem 0;padding:1.25rem 0 0;display:flex}.export-fields legend{width:100%;font-family:var(--serif);padding-top:1rem}.export-fields label{align-items:center;gap:.4rem;font-size:.72rem;display:flex}.export-summary{background:var(--ink);color:var(--paper);align-content:start;padding:2rem;display:grid}.export-summary>p:first-child{color:var(--bronze-light);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.62rem}.export-summary>strong{font-family:var(--serif);margin-top:1.5rem;font-size:5rem;font-weight:400;line-height:1}.export-summary>span{color:#c3b5a7;color:lab(74.4678% 3.43323 8.93512);font-size:.72rem}.export-summary dl{border-top:1px solid #ad9a8c3d;border-top:1px solid lab(65.1332% 5.28774 10.1545/.24);margin:2rem 0}.export-summary dl div{border-bottom:1px solid #ad9a8c3d;border-bottom:1px solid lab(65.1332% 5.28774 10.1545/.24);justify-content:space-between;padding-block:.8rem;display:flex}.export-summary dt,.export-summary dd{margin:0;font-size:.72rem}.export-summary>p:last-child{color:#b0a69b;color:lab(68.6762% 2.61402 7.18061);font-size:.68rem;line-height:1.6}.roster-summary{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem;display:grid}.roster-summary div{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);gap:.25rem;min-width:0;padding:1rem;display:grid}.roster-summary strong{font-family:var(--serif);font-size:2rem;font-weight:450}.roster-summary span{color:var(--ink-soft);font-size:.61rem}.admin-add-person{position:relative}.admin-add-person>summary{list-style:none}.admin-add-person>summary::-webkit-details-marker{display:none}.admin-add-person>form{z-index:20;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);gap:1rem;width:min(22rem,100vw - 2rem);padding:1.25rem;display:grid;position:absolute;top:4rem;right:0;box-shadow:0 1.5rem 4rem #1d140f26;box-shadow:0 1.5rem 4rem lab(7.15141% 3.87532 4.57152/.15)}.heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;display:flex}.person-cell{align-items:center;gap:.75rem;display:flex}.person-avatar{background:var(--paper-deep);width:2.5rem;height:2.5rem;font-family:var(--serif);border-radius:50%;flex:none;place-items:center;color:var(--bronze)!important;font-size:1.15rem!important;display:grid!important}.table-description{max-width:30rem;color:var(--ink-soft);line-height:1.65}.related-list{margin-top:2rem}.related-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;min-height:5.25rem;padding:1rem 1.25rem;display:flex}.related-row:last-child{border-bottom:0}.related-row strong,.related-row span{display:block}.related-row strong{font-family:var(--serif);font-size:1.05rem;font-weight:400}.related-row span{color:var(--ink-soft);margin-top:.25rem;font-size:.7rem}.related-row>a{color:var(--bronze);flex:none;font-size:.72rem}.compact-empty{color:var(--ink-soft);text-align:center;padding:2.5rem 1.25rem}.pagination{justify-content:center;align-items:center;gap:.55rem;margin:2.25rem 0 0;display:flex}.pagination-arrow,.pagination-pages a,.pagination-pages button{border:1px solid var(--line);width:2.65rem;height:2.65rem;color:var(--ink);background:0 0;border-radius:50%;place-items:center;font-family:inherit;font-size:.7rem;transition:border-color .22s,background .22s,color .22s,transform .22s;display:grid}.pagination-pages{gap:.35rem;display:flex}.pagination-pages .is-active{border-color:var(--ink);background:var(--ink);color:var(--paper)}.pagination-arrow[aria-disabled=true],.pagination-arrow:disabled{cursor:default;opacity:.28}.pagination-total{color:var(--ink-soft);font-family:var(--serif);margin-inline:.15rem;font-size:.72rem}.report-dashboard{gap:1rem;margin-bottom:1rem;display:grid}.master-report{padding:1.5rem}.report-title{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding-bottom:1.5rem;display:grid}.report-title>span{border:1px solid var(--line);width:2.5rem;height:2.5rem;color:var(--bronze);font-family:var(--serif);border-radius:50%;place-items:center;display:grid}.report-title p,.report-title h2{margin:0}.report-title p{color:var(--bronze);letter-spacing:.1em;font-size:.66rem}.report-title h2{font-family:var(--serif);margin-top:.2rem;font-size:1.7rem;font-weight:400}.report-title>strong{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:3rem;font-weight:400}.report-filter-row{gap:1rem;padding-top:1.5rem;display:grid}.report-filter-row .button{align-self:end}.report-library{background:var(--ink);color:var(--paper);padding:1.5rem}.report-library>p{color:var(--bronze-light);letter-spacing:.12em;margin:0 0 1rem;font-size:.66rem}.report-library>a{border-top:1px solid #ad9a8c38;border-top:1px solid lab(65.1332% 5.28774 10.1545/.22);grid-template-columns:1fr auto auto;align-items:center;gap:1rem;min-height:5rem;display:grid}.report-library small,.report-library strong{display:block}.report-library small{color:var(--bronze-light);font-size:.62rem}.report-library strong{font-family:var(--serif);margin-top:.2rem;font-size:1rem;font-weight:400}.report-library b{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:400}.report-library i{color:var(--bronze-light);font-style:normal}.course-report-list{overflow:hidden}.course-report-list .panel-heading>span{color:var(--ink-soft);font-size:.72rem}.course-report-row{border-top:1px solid var(--line);grid-template-columns:3.5rem 1fr;gap:1rem;padding:1.25rem;display:grid}.report-date{align-content:start;display:grid}.report-date strong{font-family:var(--serif);font-size:2rem;font-weight:400;line-height:1}.report-date span{color:var(--ink-soft);margin-top:.25rem;font-size:.65rem}.course-report-row h3{font-family:var(--serif);margin:0;font-size:1.1rem;font-weight:400}.course-report-row p{color:var(--ink-soft);margin:.3rem 0 0;font-size:.7rem}.report-roster-count{color:var(--ink-soft);grid-column:2;gap:1.25rem;font-size:.68rem;display:flex}.report-roster-count strong{color:var(--ink);font-variant-numeric:tabular-nums;margin-left:.2rem;font-size:.9rem}.report-row-actions{flex-wrap:wrap;grid-column:2;align-items:center;gap:1rem;display:flex}.report-row-actions>a:first-child{color:var(--bronze);font-size:.72rem}.report-row-actions .button{min-height:2.5rem;padding:.5rem .85rem}.teacher-page-hero{padding-bottom:4rem}.teacher-directory{width:min(calc(100% - 2rem), var(--content));gap:3rem 1.5rem;margin:0 auto;padding-bottom:7rem;display:grid}.teacher-directory-pagination{grid-column:1/-1}.teacher-directory-card{min-width:0;display:grid}.teacher-directory-image{aspect-ratio:1;border-radius:var(--radius-md);background:var(--ink);position:relative;overflow:hidden}.teacher-directory-image img{object-fit:cover;object-position:center;filter:saturate(.7)contrast(1.02);transition:transform .7s cubic-bezier(.16,1,.3,1),filter .45s}.teacher-directory-copy{padding:1.25rem 0}.teacher-directory-copy>span{color:var(--bronze);letter-spacing:.12em;font-size:.62rem}.teacher-directory-copy p{color:var(--ink-soft);letter-spacing:.08em;margin:.75rem 0 0;font-size:.7rem}.teacher-directory-copy h2{font-family:var(--serif);margin:.25rem 0 1rem;font-size:2rem;font-weight:400}.teacher-directory-copy>div{border-top:1px solid var(--line);justify-content:space-between;padding-top:.85rem;display:flex}.teacher-directory-copy small{color:var(--ink-soft);font-size:.68rem}.teacher-directory-copy i{color:var(--bronze);font-style:normal}.teacher-profile{width:min(calc(100% - 2rem), var(--content));margin:2rem auto 6rem;display:grid}.teacher-profile-image{aspect-ratio:1;border-radius:var(--radius-lg);background:var(--ink);position:relative;overflow:hidden}.teacher-profile-image img{object-fit:cover;object-position:center;filter:saturate(.72)contrast(1.02)}.teacher-profile-copy{align-self:center;padding:3rem 0}.teacher-profile-copy h1{font-family:var(--serif);margin:0;font-size:clamp(4rem,10vw,7rem);font-weight:400;line-height:1}.teacher-profile-copy>p:not(.eyebrow){max-width:34rem;color:var(--ink-soft);font-family:var(--serif);margin:1.75rem 0;font-size:1.05rem;line-height:1.9}.teacher-profile-copy dl{grid-template-columns:repeat(3,1fr);margin:2rem 0 0;display:grid}.teacher-profile-copy dl div{border-right:1px solid var(--line);padding-inline:1rem}.teacher-profile-copy dl div:first-child{padding-left:0}.teacher-profile-copy dl div:last-child{border-right:0}.teacher-profile-copy dt{font-family:var(--serif);font-size:2rem}.teacher-profile-copy dd{color:var(--ink-soft);margin:.2rem 0 0;font-size:.65rem}.teacher-course-section{width:min(calc(100% - 2rem), var(--content));margin:0 auto;padding-bottom:8rem}.past-course-heading{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:baseline;margin:6rem 0 2rem;padding-bottom:1rem;display:flex}.past-course-heading span{color:var(--bronze);letter-spacing:.12em;text-transform:uppercase;font-size:.62rem}.past-course-heading h3{font-family:var(--serif);margin:0;font-size:1.8rem;font-weight:400}@media (hover:hover){.desktop-nav>a:not(.nav-login):hover{background:var(--paper-deep)}.nav-login:hover{background:var(--bronze);border-color:var(--bronze)}.course-card:hover .course-photo{filter:saturate(.9)contrast();transform:scale(1.035)}.course-card:hover .card-arrow{transform:translate(.2rem,-.2rem)}.schedule-row:hover{background:var(--surface);padding-inline:1rem}.button:hover{transform:translateY(-2px)}.teacher-carousel:hover .teacher-story{box-shadow:0 1.5rem 4rem #1d140f29;box-shadow:0 1.5rem 4rem lab(7.15141% 3.87532 4.57152/.16)}.teacher-carousel:hover .teacher-photo{filter:saturate(.82)contrast(1.04);transform:scale(1.015)}.teacher-controls>button:hover{border-color:var(--ink);background:var(--ink);color:var(--paper);transform:translateY(-2px)}.teacher-directory-card:hover img{filter:saturate(.9)contrast();transform:scale(1.035)}.pagination a:hover,.pagination button:not(:disabled):hover{border-color:var(--bronze);color:var(--bronze);transform:translateY(-2px)}.pagination-pages .is-active:hover{border-color:var(--ink);color:var(--paper)}}@media (max-width:47.999rem){.admin-heading{justify-content:stretch;align-items:start;gap:1rem;display:grid}.admin-heading .button{justify-self:start;min-height:2.8rem;padding-inline:1.15rem}.admin-table-wrap{overflow:visible}.admin-table,.admin-table tbody,.admin-table tr,.admin-table td{width:100%;display:block}.admin-table thead{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.admin-table tbody{gap:.75rem;padding:.75rem;display:grid}.admin-table tr{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.admin-table td,.admin-table td:first-child,.admin-table td:last-child{border-top:1px solid var(--line);grid-template-columns:5.5rem minmax(0,1fr);align-items:start;gap:.75rem;min-width:0;padding:.8rem;display:grid}.admin-table td:first-child{border-top:0}.admin-table td:before{color:var(--ink-soft);letter-spacing:.06em;content:attr(data-label);font-size:.6rem}.admin-table td:not([data-label]):before{content:"操作"}.admin-table td>:not(form),.admin-table td>form{min-width:0}.table-actions{align-items:flex-start}.pagination{gap:.35rem}.pagination-arrow,.pagination-pages a,.pagination-pages button{width:2.45rem;height:2.45rem}}@media (min-width:48rem){.site-header{width:calc(100% - 4rem)}.desktop-nav{display:flex}.mobile-menu{display:none}.hero-section{min-height:54rem}.hero-stage{width:min(calc(100% - 4rem), var(--content));min-height:49rem}.hero-copy{width:72%;padding-top:8rem}.hero-copy h1{max-width:none;font-size:clamp(5.4rem,9vw,7.7rem)}.hero-figure{border-radius:15rem 0 0;width:56%;height:45rem;top:2rem;bottom:auto;right:0}.hero-figure-meta{inset:auto 1.5rem 1.5rem}.hero-orbit-line{width:33rem;height:33rem;bottom:7rem;right:-8rem}.hero-side-note{z-index:9;color:var(--ink-soft);letter-spacing:.18em;text-transform:uppercase;writing-mode:vertical-rl;margin:0;font-size:.58rem;display:block;position:absolute;top:9rem;right:-1.4rem}.hero-scroll{bottom:2.25rem}.promise-strip{padding-inline:max(2rem, calc((100vw - var(--content)) / 2));grid-template-columns:repeat(4,1fr)}.promise-item{border-bottom:0;border-right:1px solid #bea59240;border-right:1px solid lab(69.7454% 7.15384 13.6287/.25);padding:1.3rem 1.5rem}.promise-item:last-child{border-right:0}.editorial-section,.schedule-preview{width:min(calc(100% - 4rem), var(--content))}.featured-grid{grid-template-columns:repeat(3,1fr)}.course-card:nth-child(2){transform:translateY(2.5rem)}.teacher-carousel{width:min(calc(100% - 4rem), var(--content))}.teacher-story{grid-template-columns:44% 56%}.teacher-art{aspect-ratio:auto;height:100%;min-height:0}.teacher-copy{flex-direction:column;justify-content:center;padding:4rem;display:flex}.schedule-heading .text-link{display:inline-flex}.schedule-row{grid-template-columns:5rem minmax(16rem,1fr) 7rem 7rem 1.5rem}.schedule-time{display:grid}.schedule-row .availability{grid-column:auto;justify-self:center}.row-arrow{grid-area:auto}.site-footer{width:100%;padding-inline:max(2rem, calc((100vw - var(--content)) / 2));grid-template-columns:1fr auto auto;align-items:center}.page-hero,.account-heading,.catalog-section,.account-content,.profile-layout,.course-detail,.detail-breadcrumb,.auth-stage{width:min(calc(100% - 4rem), var(--content))}.course-filters{grid-template-columns:1fr auto;align-items:center}.catalog-grid{grid-template-columns:repeat(2,1fr)}.image-crop-layout{grid-template-columns:minmax(16rem,22rem) minmax(12rem,1fr);align-items:center}.teacher-directory{width:min(calc(100% - 4rem), var(--content));grid-template-columns:repeat(2,1fr)}.teacher-profile{width:min(calc(100% - 4rem), var(--content));grid-template-columns:minmax(0,.92fr) minmax(24rem,1.08fr);gap:clamp(3rem,7vw,7rem)}.teacher-profile-copy{padding-block:4rem}.teacher-course-section{width:min(calc(100% - 4rem), var(--content))}.course-detail{grid-template-columns:minmax(0,1.03fr) minmax(22rem,.97fr);align-items:center;gap:clamp(3rem,6vw,6rem)}.detail-art{min-height:0}.detail-copy{padding-block:4rem}.auth-stage{width:min(100% - 4rem,32rem)}.profile-form{grid-template-columns:1fr 1fr}.field-wide{grid-column:1/-1}.admin-content{width:min(100% - 4rem,86rem);padding-top:3rem}.admin-course-filters{grid-template-columns:minmax(16rem,1.5fr) repeat(2,minmax(9rem,.65fr))}.admin-course-filters .filter-search{grid-column:auto}.admin-course-filters .filter-actions{justify-content:flex-end}.metric-grid{grid-template-columns:repeat(4,1fr);gap:1rem}.metric-grid article{min-height:12rem;padding:1.5rem}.dashboard-split{grid-template-columns:1.2fr .8fr}.form-section{grid-template-columns:12rem 1fr;padding:2rem}.form-grid{grid-template-columns:1fr 1fr}.report-layout{grid-template-columns:minmax(0,1fr) 20rem}.report-dashboard{grid-template-columns:minmax(0,1.5fr) minmax(17rem,.5fr)}.report-filter-row{grid-template-columns:1fr 1fr}.report-filter-row .button{grid-column:2;justify-self:end}.course-report-row{grid-template-columns:4rem minmax(15rem,1fr) 10rem auto;align-items:center}.report-roster-count,.report-row-actions{grid-column:auto}.report-row-actions{justify-content:flex-end}}@media (min-width:64rem){.hero-section{min-height:58rem}.hero-stage{min-height:52.75rem}.hero-copy{padding-top:9rem}.hero-figure{width:55%;height:48rem}.hero-actions{margin-top:2.5rem}.promise-strip{padding-block:2.25rem}.promise-item{justify-content:center;gap:1rem}.promise-item h2{font-size:1.1rem}.promise-item p{font-size:.72rem}.catalog-grid,.teacher-directory{grid-template-columns:repeat(3,1fr)}.admin-shell{grid-template-columns:15rem minmax(0,1fr);display:grid}.admin-course-filters{grid-template-columns:minmax(18rem,1.7fr) repeat(4,minmax(8.5rem,.75fr)) auto;align-items:end}.admin-sidebar{grid-template-rows:auto 1fr auto;width:15rem;height:100vh;padding:2rem 1.25rem 1.5rem;display:grid;position:sticky;top:0}.admin-sidebar>.brand-lockup{display:inline-flex}.admin-sidebar nav{align-content:start;gap:.35rem;padding-top:4rem;display:grid}.admin-sidebar nav a{border-radius:var(--radius-sm);justify-content:flex-start;align-items:center;gap:.8rem;min-height:2.9rem;padding:.6rem .75rem;font-size:.75rem;display:flex}.admin-sidebar nav a:hover{color:var(--paper);background:#2f241e;background:lab(15.2337% 4.40051 6.2722)}.admin-sidebar nav a.is-active{background:var(--paper);color:var(--ink)}.admin-sidebar nav a span{width:1.2rem;font-size:1rem}.admin-account{border-top:1px solid #ad9a8c33;border-top:1px solid lab(65.1332% 5.28774 10.1545/.2);align-items:center;gap:.7rem;min-width:0;padding-top:1rem;display:flex}.admin-account>span{background:var(--bronze);width:2rem;height:2rem;font-family:var(--serif);border-radius:50%;flex:none;place-items:center;display:grid}.admin-account div{min-width:0}.admin-account strong,.admin-account small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-account strong{font-size:.7rem}.admin-account small{color:var(--bronze-light);font-size:.56rem}.admin-main{padding-bottom:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
