.site-header{position:sticky;top:0;z-index:50;display:flex;height:var(--header-height);align-items:center;justify-content:space-between;gap:28px;padding:0 max(24px,calc((100vw - 1120px)/2));border-bottom:1px solid rgba(0,0,0,.06);background:#fffffff0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{display:inline-flex;align-items:center;gap:10px;min-width:0;text-decoration:none}.brand-logo{display:block;width:110px;object-fit:contain}.brand-name{overflow:hidden;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.main-navigation{display:flex;align-items:center;gap:clamp(12px,1.7vw,25px)}.main-navigation a{color:#444;font-size:.88rem;font-weight:700;text-decoration:none;transition:color .15s ease}.main-navigation a:hover{color:#8c7000}.main-navigation .nav-cta{padding:11px 15px;border-radius:999px;background:var(--yellow);color:#222}.menu-toggle{display:none;border:0;background:transparent;color:#222;cursor:pointer}.hero{position:relative;display:flex;min-height:min(710px,calc(100svh - var(--header-height)));align-items:center;overflow:hidden;isolation:isolate;background:#e9e5d9}.hero:before{position:absolute;z-index:-2;top:-12px;right:-12px;bottom:-12px;left:-12px;background-image:var(--hero-image);background-position:center 45%;background-size:cover;content:"";filter:blur(2px);transform:scale(1.02)}.hero:after{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#fffffff0,#ffffffd6 44%,#ffffff5c);content:""}.hero-inner{padding-block:90px}.hero h1{max-width:800px;margin:0;font-size:clamp(4rem,10vw,8.5rem);font-weight:800;letter-spacing:-.085em;line-height:.95}.title-period{color:#d5ad00}.hero-subtitle{margin:22px 0;font-size:clamp(1.25rem,2.5vw,1.8rem);font-weight:700;letter-spacing:-.035em}.hero-copy{max-width:520px;margin:15px 0 28px;color:#555;font-size:1.08rem;line-height:1.75}.hero-scroll-hint{position:absolute;right:max(24px,calc((100vw - 1120px)/2));bottom:28px;display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(0,0,0,.18);border-radius:50%;text-decoration:none}.classes-layout{display:grid;grid-template-columns:1fr;gap:28px;align-items:stretch}.class-details{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;align-content:start}.info-card,.location-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff}.info-card{display:flex;gap:14px;padding:22px 18px}.info-card h3,.location-heading h3{margin:2px 0 9px;font-size:1rem}.info-card p,.location-heading p{margin:0 0 6px;color:#666;font-size:.92rem;line-height:1.6}.info-card p:last-child{margin-bottom:0}.info-card strong{color:#222}.info-icon{display:grid;width:44px;height:44px;flex:0 0 auto;place-items:center;border-radius:13px;background:#fff4c2;color:#514000}.price{color:#222!important;font-size:1.25rem!important;font-weight:800}.class-cta{grid-column:1 / -1;justify-self:start;margin-top:4px}.location-card{padding:22px}.location-heading{display:flex;align-items:center;gap:13px;margin-bottom:17px}.location-heading h3{margin-bottom:4px}.map-frame{height:310px;overflow:hidden;border-radius:13px;background:#efefef}.map-frame iframe{width:100%;height:100%;border:0}.location-card .text-link{margin-top:18px}.full-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(40px,8vw,110px);align-items:center}.full-section .section-heading{margin-bottom:26px}.history-content{display:flow-root}.history-image{float:right;width:45%;height:auto;margin:0 0 1.5rem 2rem;border-radius:12px}.history-text p{margin-top:0;margin-bottom:1rem}.section-image{position:relative;min-height:390px;overflow:hidden;border-radius:24px;background:#ececec}.section-image img{width:100%;height:100%;min-height:390px;object-fit:cover}.feature-note{display:flex;align-items:flex-start;gap:12px;padding:17px;border-left:4px solid var(--yellow);border-radius:0 12px 12px 0;background:#faf8ef;color:#3d3d3d}.feature-note svg{flex:0 0 auto}.feature-note p{margin:0;line-height:1.6}.instructor-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}.instructor-image{order:0}.instructor-image img{object-position:center}.instructor-name{margin:0 0 10px;font-size:1.35rem}.instructor-copy .button{margin-top:12px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:240px;gap:16px}.gallery-item{position:relative;min-width:0;overflow:hidden;padding:0;border:0;border-radius:17px;background:#eee;cursor:zoom-in;text-align:left}.gallery-item-0{grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.gallery-item:hover img{transform:scale(1.045)}.lightbox{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:22px;padding:70px 6vw 45px;background:#141414d1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);touch-action:pan-y}.lightbox-figure{display:flex;max-width:min(100%,1100px);max-height:100%;flex-direction:column;align-items:center;margin:0}.lightbox-figure img{max-width:100%;max-height:calc(100svh - 145px);object-fit:contain;border-radius:12px;box-shadow:0 18px 70px #0000004d}.lightbox-figure figcaption{display:flex;width:100%;justify-content:space-between;gap:20px;padding-top:14px;color:#fff;font-size:.9rem}.lightbox-figure figcaption span{flex:0 0 auto;color:#ddd}.lightbox-close,.lightbox-arrow{position:absolute;display:grid;width:46px;height:46px;place-items:center;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:#ffffff1a;color:#fff;cursor:pointer}.lightbox-close{top:20px;right:22px}.lightbox-arrow{top:50%;transform:translateY(-50%)}.lightbox-prev{left:22px}.lightbox-next{right:22px}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,8vw,100px);align-items:center}.eyebrow-light{color:#ddd}.contact-copy h2{max-width:470px}.contact-copy>p:not(.eyebrow){max-width:440px;margin:20px 0 28px;color:#d1d1d1;line-height:1.8}.contact-options{display:grid;gap:12px}.contact-option{display:flex;min-width:0;align-items:center;gap:15px;padding:17px;border:1px solid #454545;border-radius:15px;color:#fff;text-decoration:none;transition:border-color .2s ease,background .2s ease}a.contact-option:hover{border-color:#8b8b8b;background:#2b2b2b}.contact-option-icon{display:grid;width:45px;height:45px;flex:0 0 auto;place-items:center;border-radius:13px;background:#393939;color:var(--yellow)}.contact-option>span:nth-child(2){display:grid;min-width:0;gap:4px}.contact-option strong{font-size:.98rem}.contact-option small{overflow-wrap:anywhere;color:#c5c5c5;font-size:.84rem}.contact-option-arrow{flex:0 0 auto;margin-left:auto;color:#bdbdbd}.copy-button{display:flex;flex:0 0 auto;align-items:center;gap:7px;margin-left:auto;padding:9px 11px;border:1px solid #555;border-radius:10px;background:#333;color:#fff;cursor:pointer}.copy-button:hover{border-color:var(--yellow)}.site-footer{padding:22px 0;background:#171717;color:#c8c8c8}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand .brand-name{color:#fff}.footer-brand .brand-mark{width:32px;height:32px;border-radius:9px;font-size:1rem}.footer-inner p{margin:0;font-size:.8rem}.back-to-top{display:inline-flex;align-items:center;gap:7px;color:#ddd;font-size:.85rem;text-decoration:none}.back-to-top svg{transform:rotate(180deg)}@media(max-width:980px){.site-header{padding-inline:24px}.menu-toggle{display:grid;width:44px;height:44px;place-items:center}.main-navigation{position:absolute;top:calc(100% + 1px);right:0;left:0;display:none;align-items:stretch;gap:0;padding:10px 24px 22px;border-bottom:1px solid var(--line);background:#fff;box-shadow:0 18px 30px #00000014}.main-navigation.is-open{display:flex;flex-direction:column}.main-navigation a{padding:14px 4px;border-bottom:1px solid #eee;font-size:1rem}.main-navigation .nav-cta{margin-top:12px;padding:13px 16px;border-bottom:0;text-align:center}.full-section,.instructor-layout{grid-template-columns:1fr 1fr;gap:34px}.section-image,.section-image img{min-height:330px}.gallery-grid{grid-auto-rows:200px}}@media(max-width:700px){.site-header{padding-inline:18px}.brand-name{max-width:220px;font-size:.93rem}.hero{min-height:650px;min-height:min(740px,calc(100svh - var(--header-height)))}.hero:after{background:linear-gradient(90deg,#fffffff0,#ffffffbf)}.hero-inner{padding-block:70px}.hero h1{font-size:clamp(3.7rem,17vw,6rem)}.hero-copy{font-size:1rem}.class-details{grid-template-columns:1fr}.class-cta{justify-self:stretch}.location-card{padding:16px}.map-frame{height:270px}.full-section,.instructor-layout{grid-template-columns:1fr;gap:28px}.history-copy{order:0}.history-image{float:none;display:block;width:100%;margin:0 0 1.5rem}.instructor-image{order:1}.instructor-copy{order:0}.section-image,.section-image img{min-height:300px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:170px;gap:10px}.gallery-item-0{grid-row:span 1}.gallery-item:nth-child(3n+1){grid-row:span 1}.lightbox{gap:0;padding:65px 12px 30px}.lightbox-arrow{top:auto;bottom:14px;transform:none;width:44px;height:44px;background:#ffffff29}.lightbox-prev{left:calc(50% - 54px)}.lightbox-next{right:calc(50% - 54px)}.lightbox-figure img{max-height:calc(100svh - 190px)}.lightbox-figure figcaption{padding:12px 5px 0;font-size:.8rem}.contact-layout{grid-template-columns:1fr;gap:34px}.contact-option{gap:11px;padding:13px}.contact-option-icon{width:40px;height:40px}.contact-option small{font-size:.77rem}.copy-button{padding:9px}.copy-button span{display:none}.footer-inner{flex-wrap:wrap}.footer-inner p{order:3;width:100%}}@media(min-width:981px){.main-navigation{display:flex!important}}:root{font-family:DM Sans,sans-serif;color:#242424;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--yellow: #f4c928;--yellow-deep: #e6b900;--ink: #242424;--ink-soft: #555555;--muted: #6c6c6c;--line: #e7e7e7;--paper: #ffffff;--soft: #f7f7f5;--soft-yellow: #fff9df;--radius: 18px;--shadow: 0 18px 48px rgba(0, 0, 0, .08);--header-height: 76px;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 18px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}body.modal-open{overflow:hidden}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #9a7b00;outline-offset:4px}section[id]{scroll-margin-top:calc(var(--header-height) + 18px)}.page-container{width:min(1120px,calc(100% - 48px));margin-inline:auto}.section{padding:50px 0}.section-soft{background:var(--soft)}.section-yellow-wash{background:var(--soft-yellow)}.section-dark{background:#222;color:#fff}.section-heading{max-width:720px;margin-bottom:20px}.eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 14px;color:#595959;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.section-heading h2,.contact-copy h2{margin:0;font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-.055em;line-height:1.08}.section-intro{max-width:620px;margin:0;color:var(--muted);font-size:1.05rem;line-height:1.75}.prose{color:#555;line-height:1.85}.prose p{margin:0 0 16px}.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:10px;padding:13px 20px;border:0;border-radius:999px;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--yellow);color:#202020;box-shadow:0 8px 24px #f4c92838}.button-primary:hover{background:#ffda3e}.button-dark{background:#242424;color:#fff}.button-yellow{background:var(--yellow);color:#202020}.text-link{display:inline-flex;align-items:center;gap:8px;color:#242424;font-weight:800;text-decoration:none}.text-link:hover{text-decoration:underline;text-underline-offset:4px}@media(max-width:700px){:root{--header-height: 68px}.page-container{width:min(100% - 36px,560px)}.section{padding:72px 0}.section-heading{margin-bottom:30px}.section-intro{font-size:1rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
