:root{--bg:#f4eae5;--bg-deep:#ead9d2;--paper:#fbf4f0;--ink:#23131a;--ink-2:#4a2932;--mute:#8b6e71;--line:#e0cac4;--rose:#c77f87;--rose-deep:#7a1f33;--gold:#b68d4c;--accent:var(--rose-deep);--nav-bg:#f4eae5cc;--serif:"Cormorant Garamond", "Cormorant", "Times New Roman", serif;--sans:"Manrope", -apple-system, BlinkMacSystemFont, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--maxw:1320px;--pad:clamp(20px, 4vw, 56px);--r-sm:4px;--r-md:10px;--r-lg:18px;--ease-out:cubic-bezier(.2,.7,.2,1);--ease-bal:cubic-bezier(.65,.05,.36,1)}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scrollbar-gutter:stable}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-overflow-scrolling:touch;font-size:16px;line-height:1.55;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{color:inherit;font-family:inherit}a,button,[role=button],input,select,textarea{touch-action:manipulation}.eyebrow{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--mute);font-size:11px;font-weight:500}.eyebrow.ink{color:var(--ink)}.eyebrow.rose{color:var(--rose-deep)}h1,h2,h3,h4{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-weight:500;line-height:1}h1{font-size:clamp(56px,10vw,180px)}h2{font-size:clamp(40px,6vw,96px);line-height:.95}h3{font-size:clamp(28px,3.4vw,48px);line-height:1.05}h4{font-size:clamp(20px,2vw,28px);line-height:1.2}.italic{font-style:italic}.serif-i{font-family:var(--serif);font-style:italic;font-weight:400}p{max-width:60ch;margin:0 0 1em}.lede{font-family:var(--serif);color:var(--ink-2);font-size:clamp(20px,2vw,28px);font-style:italic;font-weight:400;line-height:1.35}.wrap{max-width:var(--maxw);padding:0 var(--pad);margin:0 auto}.section{padding:clamp(64px,10vw,140px) 0;position:relative}.nav{z-index:50;padding:18px var(--pad);background:var(--nav-bg);-webkit-backdrop-filter:saturate(140%)blur(14px);will-change:transform;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;transition:border-color .3s,background .3s;display:flex;position:fixed;top:0;left:0;right:0}.nav.scrolled{border-color:var(--line)}.nav-logo{font-family:var(--serif);letter-spacing:.01em;align-items:baseline;gap:8px;font-size:22px;font-style:italic;display:flex}.nav-logo .a{font-style:normal;font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--mute);padding-bottom:4px;font-size:10px}.nav-links{align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:flex}.nav-links a,.nav-links button{font-family:var(--sans);letter-spacing:.04em;color:var(--ink-2);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:8px 14px;font-size:13px;transition:color .2s;position:relative}.nav-links a:hover,.nav-links button:hover{color:var(--ink)}.nav-admin-li{margin-left:8px}.nav-links button.nav-admin{border:1px solid var(--line);width:38px;height:38px;color:var(--ink-2);border-radius:50%;justify-content:center;align-items:center;padding:0;transition:color .2s,border-color .2s,background .2s;display:inline-flex;position:relative}.nav-links button.nav-admin:hover{color:var(--ink);border-color:var(--ink)}.nav-links button.nav-admin.on{color:var(--rose-deep);border-color:color-mix(in oklch, var(--rose-deep) 45%, transparent);background:color-mix(in oklch, var(--rose-deep) 8%, transparent)}.nav-admin-dot{background:var(--rose-deep);border:2px solid var(--nav-bg);border-radius:50%;width:8px;height:8px;position:absolute;top:2px;right:2px}.nav-links a.active{color:var(--ink)}.nav-links a.active:after{content:"";background:var(--rose-deep);height:1px;position:absolute;bottom:2px;left:14px;right:14px}.cta{font-family:var(--sans);letter-spacing:.06em;background:var(--ink);color:var(--bg);cursor:pointer;transition:transform .25s var(--ease-out), background .25s;border:none;border-radius:999px;align-items:center;gap:10px;padding:12px 22px;font-size:13px;display:inline-flex}.cta:hover{background:var(--rose-deep);transform:translateY(-1px)}.cta .arrow{transition:transform .25s var(--ease-out);display:inline-block}.cta:hover .arrow{transform:translate(4px)}.cta-ghost{color:var(--ink);border:1px solid var(--ink);background:0 0}.cta-ghost:hover{background:var(--ink);color:var(--bg)}.menu-toggle{display:none}@media (width<=860px){.nav{will-change:auto}.menu-toggle{cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;margin-right:0;display:inline-flex}.menu-toggle svg{width:24px;height:24px}.nav-links{display:none}body.nav-open .nav{-webkit-backdrop-filter:none;background:var(--bg);flex-wrap:wrap;align-content:flex-start;align-items:center;height:100dvh;overflow-y:auto}.nav-links.open{width:100%;animation:mobileNavIn .22s var(--ease-out) both;flex-direction:column;align-items:stretch;padding:8px 0 40px;display:flex;position:static}@keyframes mobileNavIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.nav-links.open>li{border-bottom:1px solid var(--line)}.nav-links.open>li:last-child{border-bottom:none}.nav-links.open a,.nav-links.open button:not(.cta):not(.nav-admin){text-align:left;letter-spacing:.01em;height:64px;color:var(--ink);background:0 0;border:none;border-radius:0;align-items:center;width:100%;padding:0 4px;font-size:20px;display:flex}.nav-links.open a.active{color:var(--rose-deep)}.nav-links.open a.active:after{display:none}.nav-links.open li:has(.cta){border-bottom:none;margin-top:28px}.nav-links.open .cta{justify-content:center;width:100%;padding:18px 24px;font-size:15px}.nav-links.open .nav-admin-li{align-items:center;gap:12px;height:auto;margin-top:12px;padding:8px 0;display:flex;border-bottom:none!important}.nav-links.open .nav-admin{width:44px;height:44px}}body.nav-open{overflow:hidden}.hero{flex-direction:column;justify-content:flex-end;min-height:100vh;padding-top:130px;padding-bottom:clamp(40px,7vw,100px);display:flex;position:relative;overflow:hidden}.hero-grid{grid-template-columns:1fr auto 1fr;align-items:end;gap:clamp(20px,4vw,60px);display:grid}.hero-meta{flex-direction:column;gap:18px;padding-bottom:14px;display:flex}.hero-meta .ledesm{font-family:var(--serif);max-width:28ch;color:var(--ink-2);font-size:clamp(18px,1.5vw,22px);font-style:italic;line-height:1.4}.hero-img-slot{width:clamp(180px,22vw,320px);height:clamp(240px,30vw,440px);margin-bottom:24px}.hero-title{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.hero-title .welcome{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--mute);margin-bottom:18px;font-size:11px}.hero-title .word{font-family:var(--serif);letter-spacing:-.02em;gap:0;font-size:clamp(60px,12vw,200px);font-weight:500;line-height:.85;display:flex}.hero-title .word.italic{font-style:italic}.hero-title .word .ch{animation:chRise .9s var(--ease-bal) forwards;display:inline-block;transform:translateY(110%)}.hero-title .by{font-family:var(--serif);color:var(--rose-deep);opacity:0;animation:fadeUp .8s var(--ease-out) .9s forwards;margin-top:8px;font-size:clamp(20px,2vw,30px);font-style:italic}.hero-figure{opacity:.85;pointer-events:none;width:clamp(80px,9vw,140px);animation:6s ease-in-out infinite float;position:absolute;bottom:80px;right:clamp(16px,4vw,60px)}.hero-scroll{z-index:10;font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--mute);animation:fadeUp 1s var(--ease-out) 1.3s backwards;flex-direction:column;align-items:center;gap:10px;font-size:10px;display:flex;position:absolute;bottom:20px;left:0;right:0}.hero-scroll:after{content:"";background:var(--mute);transform-origin:top;width:1px;height:36px;animation:2s ease-in-out infinite scrollHint}@keyframes chRise{to{transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes scrollHint{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom}to{transform-origin:bottom;transform:scaleY(0)}}@media (width<=900px){.hero{justify-content:center;padding-bottom:64px}.hero-grid{grid-template-columns:1fr}.hero-img-slot{width:60vw;height:70vw;margin:0 auto 24px}.hero-meta,.hero-figure{display:none}.hero-scroll{bottom:18px}}.marquee{border-block:1px solid var(--line);background:var(--paper);gap:0;padding:22px 0;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee-track{will-change:transform;flex-shrink:0;gap:0;animation:38s linear infinite marquee;display:flex}.marquee.reverse .marquee-track{animation-duration:50s;animation-direction:reverse}.marquee-item{font-family:var(--serif);white-space:nowrap;align-items:center;gap:36px;padding:0 36px;font-size:clamp(36px,5vw,70px);font-style:italic;line-height:1;display:inline-flex}.marquee-item:after{content:"✦";color:var(--rose-deep);font-size:.5em;font-style:normal}.marquee-link{color:inherit;cursor:pointer;pointer-events:auto;text-decoration:none;transition:color .2s}.marquee-link:hover{color:var(--rose-deep)}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.reveal{opacity:0;transition:opacity .9s var(--ease-out), transform .9s var(--ease-out);transform:translateY(28px)}.reveal.in{opacity:1;transform:translateY(0)}.reveal-d1{transition-delay:80ms}.reveal-d2{transition-delay:.16s}.reveal-d3{transition-delay:.24s}.reveal-d4{transition-delay:.32s}.about{grid-template-columns:5fr 7fr;align-items:start;gap:clamp(40px,6vw,80px);display:grid}.about-photo{aspect-ratio:3/4;position:relative}.about-photo .deco{border:1px solid var(--rose-deep);z-index:-1;position:absolute;inset:14px -14px -14px 14px}.about-text{padding-top:20px}.about-text h2 .ital{color:var(--rose-deep);font-style:italic}.about-text .signature{font-family:var(--serif);color:var(--rose-deep);margin-top:24px;font-size:32px;font-style:italic;display:inline-block;transform:rotate(-2deg)}.about-tags{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.tag{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:8px 12px;font-size:10px}@media (width<=800px){.about{grid-template-columns:1fr}}.s-head{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:end;gap:24px;margin-bottom:clamp(40px,5vw,72px);padding-bottom:24px;display:grid}.s-head-l{flex-direction:column;gap:12px;display:flex}.s-head-l .num{font-family:var(--mono);letter-spacing:.2em;color:var(--rose-deep);text-transform:uppercase;font-size:11px}.s-head h2{max-width:16ch}.s-head-r{font-family:var(--serif);max-width:36ch;color:var(--ink-2);padding-bottom:8px;font-size:18px;font-style:italic;line-height:1.5}@media (width<=700px){.s-head{grid-template-columns:1fr}}.course-list{border-top:1px solid var(--line);flex-direction:column;display:flex}.course-row{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:60px 1.8fr 2fr .8fr .8fr 1fr;align-items:start;gap:20px;padding:28px 0;display:grid;position:relative;overflow:hidden}.course-row:before{content:"";background:var(--paper);transform-origin:bottom;transition:transform .5s var(--ease-out);z-index:-1;position:absolute;inset:0;transform:scaleY(0)}.course-row:hover:before{transform-origin:top;transform:scaleY(1)}.course-row .num{font-family:var(--mono);color:var(--mute);font-size:12px}.course-row .title{font-family:var(--serif);transition:color .3s, transform .5s var(--ease-out);font-size:clamp(32px,4vw,56px);line-height:1}.course-row:hover .title{color:var(--rose-deep);transform:translate(8px)}.course-row .desc{color:var(--ink-2);max-width:38ch;font-size:14px;line-height:1.5}.course-row .meta{font-family:var(--mono);letter-spacing:.15em;color:var(--mute);text-transform:uppercase;font-size:11px}.course-row .meta strong{font-family:var(--serif);letter-spacing:0;text-transform:none;color:var(--ink);margin-top:4px;font-size:22px;font-style:italic;font-weight:400;display:block}.course-row .arrow{border:1px solid var(--ink);width:48px;height:48px;transition:background .3s, color .3s, transform .3s var(--ease-out);border-radius:50%;justify-content:center;justify-self:end;align-items:center;display:flex}.course-row:hover .arrow{background:var(--ink);color:var(--bg);transform:rotate(-45deg)}@media (width<=900px){.course-row{grid-template-columns:28px 1fr;align-items:start;gap:10px}.course-row .num{grid-area:1/1;align-self:start;padding-top:10px}.course-row .title{grid-column:2;font-size:36px}.course-row .desc{grid-column:2}.course-row .meta{grid-column:2;align-items:baseline;gap:12px;display:flex}.course-row .meta strong{margin-top:0;display:inline}.course-row .arrow{grid-column:2;justify-self:start}}.gallery{grid-template-columns:repeat(12,1fr);gap:16px;display:grid}.gallery .g{background:var(--bg-deep);position:relative}.gallery .g1{aspect-ratio:4/5;grid-column:span 5}.gallery .g2{aspect-ratio:1;grid-column:span 4;margin-top:80px}.gallery .g3{aspect-ratio:3/5;grid-column:span 3}.gallery .g4{aspect-ratio:5/4;grid-column:span 4}.gallery .g5{aspect-ratio:4/3;grid-column:span 5;margin-top:-40px}.gallery .g6{aspect-ratio:3/4;grid-column:span 3}@media (width<=800px){.gallery{grid-template-columns:repeat(2,1fr)}.gallery .g{aspect-ratio:3/4;grid-column:span 1;margin:0}}.schedule{border-radius:var(--r-md);background:#e0cac44d;border:1px solid #e0cac466;grid-template-columns:100px repeat(5,1fr);gap:1px;display:grid;overflow:hidden}.schedule .cell{background:var(--paper);min-height:60px;padding:12px 14px;font-size:13px}.schedule .head{background:var(--ink);color:var(--bg);font-family:var(--mono);text-transform:uppercase;letter-spacing:.15em;text-align:center;padding:16px 8px;font-size:11px}.schedule .time{background:var(--bg-deep);font-family:var(--mono);letter-spacing:.1em;color:var(--ink-2);justify-content:center;align-items:center;font-size:11px;display:flex}.schedule .slot{cursor:pointer;transition:transform .25s var(--ease-out), background .25s;flex-direction:column;justify-content:center;gap:4px;display:flex;position:relative}.schedule .slot.empty{background:var(--bg)}.schedule .slot.foerder{background:#e8c6be}.schedule .slot.kids{background:#f3dcd6}.schedule .slot.teens{background:#d3a0a0}.schedule .slot.adults{color:var(--paper);background:#8e3142}.schedule .slot:not(.empty):hover{z-index:2;transform:scale(1.04);box-shadow:0 18px 40px -16px #00000040}.schedule .slot .t{font-family:var(--serif);font-size:16px;font-style:italic;line-height:1.1}.schedule .slot .a{font-family:var(--mono);letter-spacing:.1em;opacity:.8;font-size:10px}.schedule-wrap.admin-edit .slot:not(.empty){position:relative}.schedule-wrap.admin-edit .slot .slot-edit-badge{opacity:0;font-size:11px;transition:opacity .2s;position:absolute;top:6px;right:8px}.schedule-wrap.admin-edit .slot:hover .slot-edit-badge{opacity:.7}.schedule .slot.empty.add{cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:border-color .2s,background .2s;display:flex;border:1px dashed var(--line)!important}.schedule .slot.empty.add .add-plus{color:var(--mute);font-size:22px;font-weight:300;line-height:1;transition:color .2s,transform .2s}.schedule .slot.empty.add:hover{background:color-mix(in oklch, var(--rose-deep) 6%, transparent);border-color:var(--rose-deep)!important}.schedule .slot.empty.add:hover .add-plus{color:var(--rose-deep);transform:scale(1.2)}.admin-link.danger{color:var(--mute)}.admin-link.danger:hover{color:var(--rose-deep)}.legend{margin-top:20px}.legend .l{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);white-space:nowrap;vertical-align:top;margin:0 24px 10px 0;font-size:12px;display:inline-block}.legend .l span:not(.__om-t){vertical-align:middle;border-radius:3px;width:13px;height:13px;margin-right:8px;display:inline-block;box-shadow:inset 0 0 0 1px #23131a29}@media (width<=900px){.schedule{grid-template-columns:80px repeat(5,minmax(120px,1fr));overflow-x:auto}.schedule-wrap{padding-bottom:12px;overflow-x:auto}}.news-grid{grid-template-columns:repeat(12,1fr);gap:clamp(16px,2vw,28px);display:grid}.news-card{background:var(--paper);cursor:pointer;transition:transform .4s var(--ease-out);flex-direction:column;display:flex;position:relative}.news-card:hover{transform:translateY(-4px)}.news-card .img{aspect-ratio:4/3;background:var(--bg-deep);margin-bottom:18px;overflow:hidden}.news-card .img>*{transition:transform .8s var(--ease-out)}.news-card:hover .img>*{transform:scale(1.05)}.news-card:hover .img>.slideshow{transform:none}.news-card:hover .slideshow-slide{transform:scale(1.05)}.slideshow-slide{transition:transform .8s var(--ease-out)}.news-card .body{padding:0 20px 24px}.news-card .date{font-family:var(--mono);letter-spacing:.2em;color:var(--rose-deep);text-transform:uppercase;font-size:11px}.news-card h3{text-wrap:balance;margin:10px 0 12px;font-size:26px;line-height:1.1}.news-card .excerpt{color:var(--ink-2);font-size:15px;line-height:1.55}.news-card.feature{grid-column:span 8}.news-card.feature .img{aspect-ratio:16/10}.news-card.feature h3{font-size:clamp(36px,4vw,52px)}.news-card.half,.news-card.third{grid-column:span 4}@media (width<=900px){.news-card.feature,.news-card.half,.news-card.third{grid-column:span 12}}@media (width<=600px){.news-grid{gap:36px}.news-card .body{padding:0 4px 8px}.news-card .img{margin-bottom:16px}.news-card .date{letter-spacing:.14em;font-size:12px}.news-card h3{margin:12px 0 10px;font-size:28px}.news-card .excerpt{font-size:16px;line-height:1.6}.news-card.feature h3{font-size:34px}}.slideshow{width:100%;height:100%;position:relative;overflow:hidden}.slideshow-track{width:100%;display:flex;position:absolute;top:0;bottom:0;left:0}.slideshow-slide{flex:0 0 100%;height:100%;position:relative;overflow:hidden}.slideshow-nav{width:44px;height:44px;color:var(--ink);cursor:pointer;z-index:3;opacity:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffdb;border:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .3s,background .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.slideshow-nav:hover{background:#fff}.slideshow-nav.prev{left:14px}.slideshow-nav.next{right:14px}.news-card:hover .slideshow-nav{opacity:1}.slideshow-dots{z-index:3;gap:8px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.slideshow-dots .dot{cursor:pointer;background:#ffffff80;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:background .2s,transform .2s}.slideshow-dots .dot.on{background:#fff;transform:scale(1.3)}@media (width<=760px){.slideshow-nav{opacity:1;width:38px;height:38px}}.news-card .img{position:relative}.news-del{z-index:4;width:32px;height:32px;color:var(--ink);cursor:pointer;opacity:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffe0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:20px;line-height:1;transition:opacity .25s,background .2s;display:flex;position:absolute;top:12px;right:12px}.news-card:hover .news-del{opacity:1}.news-del:hover{background:var(--rose-deep);color:#fff}.news-admin-bar{z-index:6;opacity:0;gap:6px;transition:opacity .25s;display:flex;position:absolute;top:12px;right:12px}.news-card.admin-edit:hover .news-admin-bar{opacity:1}.news-admin-bar button{width:32px;height:32px;color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:15px;line-height:1;transition:background .2s,color .2s,opacity .2s;display:flex}.news-admin-bar button:hover{background:var(--ink);color:#fff}.news-admin-bar button.del:hover{background:var(--rose-deep)}.news-admin-bar button:disabled{opacity:.35;cursor:not-allowed}.news-admin-bar button:disabled:hover{color:var(--ink);background:#ffffffe6}@media (hover:none){.news-card.admin-edit .news-admin-bar{opacity:1}}.news-modal{z-index:200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:modalFade .3s var(--ease-out);background:#23131a6b;justify-content:center;align-items:flex-start;padding:clamp(20px,6vh,80px) 20px;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes modalFade{0%{opacity:0}to{opacity:1}}.news-modal-panel{background:var(--bg);width:min(620px,100%);animation:modalRise .4s var(--ease-out);border-radius:6px;padding:clamp(28px,4vw,44px);box-shadow:0 30px 80px #23131a40}@keyframes modalRise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.news-modal-head{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.news-modal-head .num{font-family:var(--mono);letter-spacing:.2em;color:var(--rose-deep);text-transform:uppercase;font-size:11px}.news-modal-close{border:1px solid var(--line);width:36px;height:36px;color:var(--ink);cursor:pointer;background:0 0;border-radius:50%;font-size:22px;line-height:1;transition:border-color .2s,color .2s}.news-modal-close:hover{border-color:var(--rose-deep);color:var(--rose-deep)}.news-modal-imgs{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:8px;display:grid}.news-modal-img{aspect-ratio:16/10;background:var(--bg-deep);border-radius:4px;width:100%;position:relative;overflow:hidden}.news-modal-img .image-slot{width:100%;height:100%}.news-modal-img .img-index{z-index:5;color:#fff;width:20px;height:20px;font-family:var(--mono);pointer-events:none;background:#23131a9e;border-radius:50%;justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;top:6px;left:6px}.news-modal-img.add-img{border:1px dashed var(--line);cursor:pointer;color:var(--mute);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:6px;transition:border-color .2s,color .2s,background .2s;display:flex}.news-modal-img.add-img:hover{border-color:var(--rose-deep);color:var(--rose-deep);background:color-mix(in oklch, var(--rose-deep) 6%, transparent)}.news-modal-img.add-img .plus{font-size:26px;font-weight:300;line-height:1}.news-modal-img.add-img .lbl{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;font-size:10px}.admin-link{cursor:pointer;font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--mute);background:0 0;border:none;align-items:center;gap:8px;padding:0;font-size:11px;transition:color .2s;display:inline-flex}.admin-link:hover{color:var(--rose-deep)}@media (width<=760px){.cp-grid{grid-template-columns:1fr!important}.cp-row{gap:4px;grid-template-columns:1fr!important}.cp-row span:first-child{font-size:10px}.cp-info a,.cp-info span{word-break:break-word;overflow-wrap:anywhere}}.detail-hero{grid-template-columns:5fr 7fr;align-items:end;gap:clamp(32px,5vw,80px);margin-bottom:60px;padding-top:140px;display:grid}.detail-hero .image-slot{aspect-ratio:4/5}.detail-hero h1{font-size:clamp(48px,7vw,120px);line-height:.92}.detail-hero h1 .ital{color:var(--rose-deep);font-style:italic}.detail-meta{background:var(--line);border-block:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;margin:40px 0;display:grid}.detail-meta .m{background:var(--bg);padding:24px 20px}.detail-meta .l{font-family:var(--mono);letter-spacing:.2em;color:var(--mute);text-transform:uppercase;margin-bottom:8px;font-size:10px}.detail-meta .v{font-family:var(--serif);font-size:28px;font-style:italic}.detail-body{grid-template-columns:1fr 2fr;gap:clamp(40px,6vw,90px);display:grid}.detail-body aside{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--mute);padding-top:14px;font-size:11px}.detail-body .prose p{max-width:60ch;color:var(--ink-2);margin-bottom:1.4em;font-size:18px;line-height:1.65}.detail-body .prose p:first-of-type:first-letter{font-family:var(--serif);float:left;color:var(--rose-deep);padding:6px 12px 0 0;font-size:5em;font-style:italic;line-height:.85}@media (width<=900px){.detail-hero{grid-template-columns:1fr;padding-top:110px}.detail-meta{grid-template-columns:1fr 1fr}.detail-body{grid-template-columns:1fr}}.form-shell{grid-template-columns:5fr 7fr;align-items:start;gap:clamp(40px,6vw,80px);display:grid}.form-shell .left{position:sticky;top:120px}.form-shell .left h2 .ital{color:var(--rose-deep);font-style:italic}.form-shell .left p{margin-top:20px}.form{background:var(--paper);border:1px solid var(--line);flex-direction:column;gap:6px;padding:clamp(28px,4vw,56px);display:flex}.form .row{grid-template-columns:1fr 1fr;gap:6px;display:grid}.field{border-bottom:1px solid var(--line);flex-direction:column;padding:14px 4px;transition:border-color .25s;display:flex;position:relative}.field:focus-within{border-color:var(--rose-deep)}.field label{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-bottom:8px;font-size:10px;transition:color .25s}.field:focus-within label{color:var(--rose-deep)}.field input,.field select,.field textarea{font-family:var(--serif);color:var(--ink);resize:vertical;background:0 0;border:none;outline:none;width:100%;padding:0;font-size:22px;line-height:1.3}.field input::placeholder,.field textarea::placeholder{color:var(--mute);font-style:italic}.choices{flex-wrap:wrap;gap:8px;padding:6px 0;display:flex}.choice{border:1px solid var(--line);cursor:pointer;color:var(--ink-2);font-size:13px;font-family:var(--sans);background:0 0;border-radius:999px;padding:10px 18px;transition:all .25s}.choice:hover{border-color:var(--ink);color:var(--ink)}.choice.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.form .submit{background:var(--ink);color:var(--bg);cursor:pointer;font-family:var(--sans);letter-spacing:.2em;text-transform:uppercase;border:none;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding:22px;font-size:13px;transition:background .3s;display:flex}.form .submit:hover{background:var(--rose-deep)}.form .submit svg{transition:transform .3s}.form .submit:hover svg{transform:translate(6px)}.form .success{background:var(--rose-deep);color:var(--paper);text-align:center;font-family:var(--serif);padding:28px;font-size:24px;font-style:italic}@media (width<=800px){.form-shell{grid-template-columns:1fr}.form-shell .left{position:relative;top:0}.form .row{grid-template-columns:1fr}}.foot{background:var(--ink);color:var(--bg);padding:clamp(60px, 8vw, 120px) var(--pad) 32px;margin-top:clamp(60px,8vw,120px);position:relative}.foot-grid{max-width:var(--maxw);grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:80px;margin-left:auto;margin-right:auto;display:grid}.foot h3{font-family:var(--serif);margin:0;font-size:clamp(40px,5vw,64px);font-style:italic;line-height:1}.foot h3 .small{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--rose);margin-bottom:18px;font-size:11px;font-style:normal;display:block}.foot ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.foot ul a{opacity:.8;font-size:14px;transition:opacity .2s,padding-left .2s}.foot ul a:hover{opacity:1;padding-left:8px}.foot .col h4{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--rose);margin-bottom:18px;font-size:11px;font-style:normal;font-weight:500}.foot-bottom{border-top:1px solid color-mix(in oklab, var(--bg) 20%, transparent);font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:#f4ece480;max-width:var(--maxw);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding-top:24px;font-size:11px;display:flex}.foot-bottom a{transition:color .2s}.foot-bottom a:hover{color:var(--bg)}.foot-marquee{font-family:var(--serif);color:#0000;-webkit-text-stroke:1px var(--line);pointer-events:none;font-size:clamp(80px,14vw,220px);font-style:italic;line-height:.9;position:absolute;top:-1px;left:0;right:0;overflow:hidden;transform:translateY(-50%)}.foot-marquee .track{white-space:nowrap;gap:60px;animation:60s linear infinite marquee;display:flex}@media (width<=800px){.foot-grid{grid-template-columns:1fr 1fr;gap:32px}.foot-grid .cta{box-sizing:border-box;justify-content:center;width:100%}}@media (width<=500px){.foot-grid{grid-template-columns:1fr;gap:32px}.foot-bottom{flex-direction:column;align-items:flex-start;gap:8px}}image-slot{--is-bg:var(--bg-deep);--is-border:var(--line);--is-fg:var(--mute);--is-radius:0}.page-enter{animation:pageIn .55s var(--ease-out)}@keyframes pageIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.curtain{pointer-events:none;z-index:100;grid-template-rows:1fr 1fr;display:grid;position:fixed;inset:0}.curtain.run div:first-child{animation:curtainTop .8s var(--ease-bal)}.curtain.run div:last-child{animation:curtainBot .8s var(--ease-bal)}.curtain div{background:var(--ink);transform:scaleY(0)}.curtain div:first-child{transform-origin:top}.curtain div:last-child{transform-origin:bottom}@keyframes curtainTop{0%{transform:scaleY(0)}45%{transform:scaleY(1)}to{transform-origin:bottom;transform:scaleY(0)}}@keyframes curtainBot{0%{transform:scaleY(0)}45%{transform:scaleY(1)}to{transform-origin:top;transform:scaleY(0)}}.kicker{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--rose-deep);align-items:center;gap:8px;font-size:11px;display:inline-flex}.kicker:before{content:"";background:var(--rose-deep);width:24px;height:1px}.flex{display:flex}.gap-8{gap:8px}.gap-16{gap:16px}.center{justify-content:center;align-items:center;display:flex}body,.nav,.foot,.course-row:before,.schedule .cell,.tag,.form,.field,.marquee{transition:background-color .6s var(--ease-out), color .6s var(--ease-out), border-color .6s var(--ease-out)}body[data-motion=calm] .marquee-track{animation-duration:64s!important}body[data-motion=calm] .marquee.reverse .marquee-track{animation-duration:84s!important}body[data-motion=calm] .reveal:not(.in){transform:translateY(10px)}body[data-motion=calm] .reveal{transition-duration:1.1s}body[data-motion=calm] .hero-figure{animation-duration:11s}body[data-motion=calm] .hero-title .by,body[data-motion=calm] .hero-scroll{opacity:1;animation:none}body[data-motion=calm] .course-row:hover .title{transform:none}body[data-motion=calm] .hero-title .ch{animation-duration:1.3s}body[data-motion=bold] .marquee-track{animation-duration:20s!important}body[data-motion=bold] .marquee.reverse .marquee-track{animation-duration:26s!important}body[data-motion=bold] .reveal:not(.in){transform:translateY(56px)scale(.965)}body[data-motion=bold] .reveal{transition-duration:.8s;transition-timing-function:var(--ease-bal)}body[data-motion=bold] .hero-figure{animation-duration:3.6s}body[data-motion=bold] .course-row:hover .title{transform:translate(18px)}body[data-motion=bold] .course-row:hover .arrow{transform:rotate(-90deg)scale(1.08)}body[data-motion=bold] .news-card:hover{transform:translateY(-10px)}body[data-motion=bold] .hero-title .ch{animation-timing-function:cubic-bezier(.5,-.4,.3,1.4)}@media (prefers-reduced-motion:reduce){.hero-title .ch,.hero-title .by,.hero-scroll,.hero-figure,.marquee-track,.foot-marquee .track{animation:none!important}.hero-title .ch{transform:none}}@media (width<=860px){.reveal{transition-duration:.45s!important}.reveal:not(.in){transform:translateY(20px)}.course-row:hover .title,.cta:hover,.news-card:hover{transform:none}.foot-marquee .track{will-change:transform}.schedule-wrap{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}}@media (hover:none) and (pointer:coarse){.news-card:hover,.news-card:hover .img>*,.news-card:hover .slideshow-slide{transform:none}.course-row:hover:before{transform:scaleY(0)}.course-row:hover .title{color:inherit;transform:none}.course-row:hover .arrow{color:inherit;background:0 0;transform:none}.schedule .slot:not(.empty):hover{box-shadow:none;transform:none}.cta:hover{transform:none}image-slot{touch-action:pan-y}}
