/* Page themes and intrinsic sizing: photo and copy always own separate columns. */
.photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.photo.has-image,.hero>.photo.has-image,.kids .hero>.photo.has-image{aspect-ratio:auto;background:#f7ede2}
.photo.has-image img,.hero>.photo.has-image img,.kids .hero>.photo.has-image img,.program .photo.has-image img{aspect-ratio:auto;width:100%;height:auto;max-height:580px;object-fit:contain;position:relative;display:block}
:root{--paper:#fff9f0;--ink:#312623;--muted:#75645b;--accent:#c74922;--tint:#f8e5d5;--line:#e5cbb7}
body{overflow-wrap:anywhere}header{height:auto;min-height:100px;flex-wrap:wrap;padding-top:20px;padding-bottom:20px;gap:20px}nav{flex-wrap:wrap;justify-content:flex-end;gap:14px;font-size:12px}.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);width:100%;max-width:1600px;min-height:620px}.hero-copy,.hero>.photo,.split>*,.program>*,.grid>*,.steps>*{min-width:0;max-width:100%}.hero h1{font-size:clamp(30px,3.5vw,56px);letter-spacing:.015em;line-height:1.55}.hero em{white-space:normal;display:inline;overflow-wrap:anywhere}.hero>.photo{min-height:0;aspect-ratio:1/1.08}.photo{min-width:0;width:100%;min-height:0;isolation:isolate}.photo-art{background:linear-gradient(130deg,#f5d3aa,#eab79d)}.photo figcaption{position:relative;inset:auto;min-height:inherit;aspect-ratio:inherit;padding:24px;text-align:center;color:#78503b;z-index:1}.photo figcaption span{border-color:#bb8666}.photo.has-image{aspect-ratio:4/3}.photo.has-image img{display:block;position:relative;inset:auto;width:100%;height:auto;aspect-ratio:inherit;object-fit:cover}.hero>.photo.has-image,.hero>.photo.has-image img{aspect-ratio:1/1.08}.program,.split{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,75px)}.three,.steps{grid-template-columns:repeat(3,minmax(0,1fr))}.classes{grid-template-columns:repeat(2,minmax(0,1fr))}.program .photo{min-height:0}.program .photo,.program .photo.has-image,.program .photo img{aspect-ratio:1.55}.contact{background:var(--tint)}.section-heading h2{letter-spacing:.025em}.card{background:#fffaf3}.price-list strong{white-space:normal}.vertical{display:none}
.active{--paper:#fff8ee;--ink:#302320;--accent:#c23e19;--muted:#715d53;--tint:#f8dec9;--serif:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}.active .logo{font:bold 32px/1.1 Arial,sans-serif;letter-spacing:-1.5px}.active .logo span{letter-spacing:2px}.active .hero{background:linear-gradient(90deg,#fff5e4 0 50%,#f5b36b 50% 100%);padding-top:65px;padding-bottom:65px}.active .hero h1{font-weight:900;font-size:clamp(33px,4vw,63px);line-height:1.4;letter-spacing:-.025em}.active .hero em{color:#c23e19}.active .hero>.photo{border-radius:0;border:8px solid #fff8ee;box-shadow:14px 14px 0 #c74922}.active .hero .photo-art{background:repeating-linear-gradient(135deg,#ed9865 0 38px,#e9874e 38px 76px)}.active .hero figcaption{color:#532b1d}.active .hero .eyebrow{font-weight:800;letter-spacing:2px}.active .button{border-radius:0;background:#c13e19;font-weight:800;padding:17px 30px}.active nav .nav-contact{background:#c13e19;border-radius:0}.active .section-heading h2{font-weight:900;line-height:1.5}.active .program h3{font-weight:800}.active .program{border-top:2px solid #3b2922;padding:42px 0}.active .program .photo{border-radius:0}.active .card{border-radius:0;border:1px solid #d6b398;border-top:5px solid #d15328}.active .contact{border-radius:0;background:#edab72}.active .text-link{font-weight:700}.active .section-heading .eyebrow{font-weight:800}.active .intro{margin-left:0;max-width:760px}.active.adult-lessons .hero{background:linear-gradient(90deg,#fff2d6 0 50%,#ee7743 50% 100%)}.active.adult-lessons .hero>.photo{box-shadow:14px 14px 0 #843d28}.active.adult-lessons .tinted{background:#f9d2b0}.active.adult-lessons .steps .card{background:#fff8e8}
.relax{--paper:#fffaf4;--ink:#674b3e;--accent:#9f6245;--muted:#806b60;--tint:#f4e7dc;--line:#e7d4c5}.relax .hero{background:#f8eee4;gap:6%}.relax .hero h1{font-size:clamp(30px,3.3vw,49px);line-height:1.8;font-weight:500}.relax .hero>.photo{border-radius:48% 48% 6px 6px;box-shadow:none}.relax .photo-art{background:linear-gradient(135deg,#eddbc7,#debfa8)}.relax .button,.relax nav .nav-contact{background:#89604b;border-radius:40px}.relax .card{border:0;border-radius:18px;padding:30px;background:#fffbf6}.relax .contact{background:#eed8c5;border-radius:65px 65px 0 0}.relax .photo{border-radius:18px}.relax .section-heading h2{line-height:1.8}
.kids .hero>.photo{transform:none;border-radius:35px;box-shadow:10px 10px 0 #f3cc5c}.kids .hero{background:radial-gradient(circle at 95% 92%,#f3ca50 0 55px,transparent 56px),#fff5dc}.kids .hero h1{font-size:clamp(32px,3.8vw,58px);line-height:1.5}.kids .photo-art{background:linear-gradient(135deg,#ffcb87,#f0a5a0)}.kids .photo figcaption{color:#805044}.kids .classes .card{min-width:0}.kids .card p{overflow-wrap:anywhere}.kids .hero>.photo.has-image,.kids .hero>.photo.has-image img{aspect-ratio:1/1.08}
@media(max-width:1150px){header{justify-content:center}.logo{margin-right:auto}nav{width:100%;justify-content:center;font-size:12px}.hero{padding:50px 6%;min-height:530px}.active .hero h1{font-size:clamp(32px,4.2vw,49px)}.three,.steps{gap:16px}.card{padding:22px}.card h3{font-size:18px}}
@media(max-width:900px){header{justify-content:space-between;min-height:82px;padding:17px 6%;flex-wrap:nowrap;position:relative}.menu{display:block;background:transparent;border:1px solid var(--line);padding:8px 14px;border-radius:4px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:20px 6%;z-index:20;box-shadow:0 12px 15px #0001}nav.open{display:grid;justify-content:stretch;gap:5px}nav a{padding:10px}.hero{grid-template-columns:minmax(0,1fr);gap:35px;min-height:0;padding:45px 7% 55px}.hero h1,.active .hero h1,.kids .hero h1{font-size:clamp(34px,7vw,55px)}.hero>.photo,.hero>.photo.has-image,.hero>.photo.has-image img,.kids .hero>.photo.has-image,.kids .hero>.photo.has-image img{min-height:0;aspect-ratio:1.35}.active .hero,.active.adult-lessons .hero{background:linear-gradient(180deg,#fff3df 0 58%,#f2ac71 58% 100%);padding:45px 7% 55px}.relax .hero h1{font-size:clamp(31px,6vw,46px)}.program,.split{grid-template-columns:minmax(0,1fr);gap:28px}.program:nth-of-type(even) .photo{order:0}.split>.photo,.split>div{order:initial}.three,.steps{grid-template-columns:minmax(0,1fr)}.three article .photo{max-width:100%;aspect-ratio:1.5}.photo,.photo.has-image,.photo.has-image img{aspect-ratio:1.45}.section{padding:58px 7%}.intro{margin:0}.active .hero>.photo{box-shadow:8px 8px 0 #c74922;border-width:5px}.contact .split{gap:32px}.active .section-heading h2{font-size:29px}.kids .classes{grid-template-columns:repeat(2,minmax(0,1fr))}.kids .hero>.photo{box-shadow:7px 7px 0 #f3cc5c}.price-list>div{gap:20px}.price-list>div>span{min-width:0}.price-list strong{flex-shrink:0;max-width:47%}.hero-copy .button{max-width:100%}footer{display:grid;gap:15px}}
@media(max-width:420px){.kids .classes{grid-template-columns:minmax(0,1fr)}.hero h1,.active .hero h1,.kids .hero h1{font-size:34px}.relax .hero h1{font-size:30px}.hero p{font-size:13px}.section-heading h2,.active .section-heading h2{font-size:26px}.price-list>div{font-size:12px}.phone{font-size:27px}}

/* Keep group photos complete and portrait photos within their own layout box. */
.photo.has-image,.hero>.photo.has-image,.kids .hero>.photo.has-image,.program .photo.has-image{aspect-ratio:auto;min-height:0;background:#f7ede2}
.photo.has-image img,.hero>.photo.has-image img,.kids .hero>.photo.has-image img,.program .photo.has-image img{aspect-ratio:auto;width:100%;height:auto;max-height:580px;object-fit:contain;position:relative;display:block}
@media(max-width:900px){.photo-gallery{grid-template-columns:minmax(0,1fr)}.photo.has-image img{max-height:480px}}

.instagram-news{background:#fff1df;border-top:4px solid #c74922;padding-top:48px;padding-bottom:55px}.news-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.news-top .section-heading h2{font-size:32px;margin-bottom:12px}.news-top .section-heading>p{margin-bottom:25px}.instagram-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}.instagram-card{min-width:0;padding:14px 10px;background:white;border-top:3px solid #dc6a37;overflow:hidden}.instagram-card time{display:block;font:bold 12px/2 Arial,sans-serif;letter-spacing:1px;padding:0 5px 10px}.instagram-card .instagram-media{margin:0!important;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}.instagram-card iframe{min-width:0!important;max-width:100%!important;width:100%!important}.instagram-fallback{font-size:12px;margin-bottom:0}.instagram-fallback a{text-decoration:underline}@media(max-width:1150px){.instagram-grid{grid-template-columns:minmax(0,1fr);max-width:540px;margin:auto}.news-top{display:block}.news-top>.text-link{margin-bottom:25px}}
