:root{--ink:#292b27;--muted:#565b55;--paper:#faf9f6;--cream:#f1eee8;--olive:#535b4c;--line:#d9d8d1}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.6 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%}h1,h2,h3,p,blockquote{margin-top:0}h1,h2,h3,blockquote{font-family:'Libre Baskerville',Georgia,serif;font-weight:400}a:focus-visible,button:focus-visible{outline:3px solid #a77c55;outline-offset:4px}.eyebrow{text-transform:uppercase;letter-spacing:.21em;font-size:.76rem;font-weight:600}
.site-header{height:74px;padding:0 clamp(1.3rem,4.3vw,5rem);background:#fff;display:flex;align-items:center;justify-content:space-between;gap:2rem;position:relative;z-index:10}.brand{white-space:nowrap;letter-spacing:.22em;font-size:.82rem;font-weight:500}.site-header nav{display:flex;align-items:center;gap:clamp(1.25rem,2.6vw,3rem);font-size:.75rem;text-transform:uppercase;letter-spacing:.14em}.site-header nav a:not(.nav-book):hover,.text-link:hover{color:var(--olive)}.nav-book{background:var(--olive);color:#fff;padding:.75rem 1.25rem}.menu-toggle{display:none}
.hero{min-height:640px;display:grid;grid-template-columns:46% 54%;background:var(--cream)}.hero-copy{padding:clamp(4rem,8vw,9rem) 5vw clamp(4rem,7vw,7rem) clamp(1.5rem,6vw,7rem);align-self:center}.hero-copy .eyebrow{margin-bottom:1.6rem}.hero h1{font-size:clamp(3.6rem,6vw,7.2rem);letter-spacing:-.055em;line-height:1.1;margin-bottom:1.7rem}.hero h1 em{font-weight:400}.hero-intro{font-family:'Libre Baskerville',Georgia,serif;line-height:1.7;font-size:clamp(1rem,1.35vw,1.25rem);max-width:31rem}.hero-visual{min-height:640px;overflow:hidden}.hero-visual img{height:100%;object-fit:cover;object-position:50% 36%}.hero-actions{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap;margin-top:2rem}.button{display:inline-flex;gap:2rem;align-items:center;justify-content:space-between;padding:1rem 1.35rem;background:var(--olive);color:white;font-size:.76rem;text-transform:uppercase;letter-spacing:.14em;min-height:52px}.button:hover,.nav-book:hover{background:#394235}.text-link{display:inline-flex;align-items:center;gap:.6rem;padding-bottom:.25rem;border-bottom:1px solid currentColor;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem}
.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,2rem);padding:clamp(1.2rem,2vw,2rem) clamp(1.2rem,2vw,2rem) 3.3rem;background:#fff}.benefits article{text-align:center}.benefits img{height:clamp(210px,19vw,315px);object-fit:cover;object-position:center 50%}.benefits article:first-child img{object-position:center 57%}.benefits h2{font:600 .77rem/1.4 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.18em;margin:1.3rem 0 .45rem}.benefits p{font-family:'Libre Baskerville',Georgia,serif;font-size:.98rem;line-height:1.55;max-width:22rem;margin:0 auto}.thought{text-align:center;background:var(--cream);padding:2.3rem 1.5rem 2rem}.thought blockquote{font-size:clamp(1.15rem,2vw,1.7rem);font-style:italic;line-height:1.55;max-width:65rem;margin:0 auto 1rem}.thought p{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;margin:0}
.section{padding:clamp(4rem,7vw,8rem) clamp(1.5rem,5vw,6rem)}.helen{display:grid;grid-template-columns:minmax(260px,.75fr) 1.25fr;gap:clamp(2rem,5vw,6rem);align-items:center;background:var(--paper)}.helen-image{height:clamp(390px,43vw,600px);overflow:hidden}.helen-image img{height:100%;object-fit:cover;object-position:center 38%}.helen-copy{max-width:43rem}.helen-copy h2,.section-intro h2,.book h2{font-size:clamp(2.4rem,3.7vw,4.5rem);line-height:1.23;letter-spacing:-.045em;margin-bottom:1.5rem}.helen-copy p:not(.eyebrow){font-family:'Libre Baskerville',Georgia,serif;font-size:1.02rem;line-height:1.8;max-width:38rem}.helen-copy .lead{font-size:1.15rem}
.classes{background:#fff;padding-top:5rem}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.6rem}.section-intro .eyebrow{position:absolute;margin-top:-2rem}.section-intro h2{margin-bottom:0}.section-intro>p:last-child{max-width:24rem;margin:0 0 .3rem;color:var(--muted)}.class-list{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.1rem,2.2vw,2.3rem)}.class-list article{display:flex;flex-direction:column;align-items:flex-start;border-top:1px solid var(--line);padding-top:1.4rem}.class-day{color:var(--olive);font-size:.78rem;font-weight:600;letter-spacing:.18em;margin:0 0 1rem}.class-list h3{font-size:1.45rem;line-height:1.35;margin:0 0 .7rem}.class-list article p:not(.class-day){line-height:1.55;margin-bottom:.75rem}.class-meta{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;margin-top:auto;padding-top:1rem}.class-meta strong{display:block;font-size:.95rem;line-height:1.45}.class-meta span{color:var(--muted);font-size:.9rem}.class-list article>a{border-bottom:1px solid var(--ink);margin-top:.8rem}.class-book-link{font-size:.76rem!important;text-transform:uppercase;letter-spacing:.14em;padding-bottom:.15rem}.price-strip{border-top:1px solid var(--line);background:#fff;margin:0;padding:1.5rem 5vw 4rem;color:var(--muted);font-size:.92rem}.price-strip span{padding:0 .55rem}
.book{background:var(--olive);color:#fff;padding:clamp(4rem,6vw,7rem) clamp(1.5rem,5vw,6rem)}.book .eyebrow{color:#fff}.book-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.book h2{margin:0}.book-grid>div{max-width:34rem}.book-grid p{font-family:'Libre Baskerville',Georgia,serif;font-size:1.12rem;line-height:1.7}.button-light{background:#fff;color:var(--ink);margin-top:.6rem}.button-light:hover{background:var(--cream)}footer{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;padding:2rem clamp(1.5rem,5vw,6rem);font-size:.75rem}footer p{margin:0;color:var(--muted)}
@media(max-width:900px){.hero{grid-template-columns:48% 52%}.hero h1{font-size:clamp(3.25rem,6vw,5rem)}.hero-copy{padding:5rem 3vw 5rem 5vw}.hero,.hero-visual{min-height:540px}.site-header nav{gap:1rem}.brand{font-size:.7rem;letter-spacing:.15em}}
@media(max-width:680px){.site-header{height:68px;padding:0 5vw}.brand{font-size:.67rem;letter-spacing:.1em}.menu-toggle{display:block;border:0;background:transparent;padding:.6rem;color:var(--ink);text-transform:uppercase;letter-spacing:.1em;font:500 .75rem 'DM Sans',sans-serif}.site-header nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;padding:1.5rem 5vw;flex-direction:column;align-items:stretch;gap:1.3rem;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.site-header nav a{font-size:.86rem}.nav-book{text-align:center}.hero{grid-template-columns:1fr}.hero-copy{padding:4.5rem 6vw 3.5rem}.hero h1{font-size:clamp(3.5rem,12vw,5.2rem)}.hero-visual{min-height:0;height:420px}.hero-visual img{object-position:center 34%}.benefits{grid-template-columns:1fr;gap:2.3rem;padding:1.2rem 5vw 3rem}.benefits img{height:260px}.benefits p{max-width:24rem}.helen{grid-template-columns:1fr}.helen-image{height:450px}.helen-copy h2,.section-intro h2,.book h2{font-size:clamp(2.4rem,9vw,3.5rem)}.section-intro{display:block}.section-intro .eyebrow{position:static;margin:0 0 1rem}.section-intro>p:last-child{margin-top:1.5rem}.class-list{grid-template-columns:1fr;gap:2rem}.book-grid{grid-template-columns:1fr;gap:1rem}footer{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Warm mineral accents and a photograph-led hero. */
:root{--ink:#322b28;--muted:#625852;--paper:#fbf9f6;--cream:#f3eee9;--olive:#765143;--line:#ddd4cc}
a:focus-visible,button:focus-visible{outline-color:#c66b48}
.site-header{background:#fbf9f6}
.hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(600px,52vw,760px);background:#4b4745;color:#fff;overflow:hidden}
.hero-visual{position:absolute;inset:0;z-index:-2;min-height:0}
.hero-visual img{height:100%;width:100%;object-fit:cover;object-position:center 50%}
.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(30,27,26,.88) 0%,rgba(35,31,30,.75) 27%,rgba(39,35,33,.28) 55%,rgba(39,35,33,.02) 82%)}
.hero-copy{width:min(48rem,51%);padding:5rem 2rem 5rem clamp(1.5rem,6vw,7rem)}
.hero h1{font-size:clamp(3.1rem,5.2vw,6.25rem)}
.hero-intro{max-width:29rem}
.hero .button{background:#a75c43}.hero .button:hover{background:#884730}
.hero .text-link:hover{color:#efd3c4}
.nav-book,.button{background:#765143}.nav-book:hover,.button:hover{background:#5d3b32}
.thought{background:#ede5de}.thought blockquote{font-style:normal;max-width:51rem}.thought p{color:#765143}
.class-day{color:#8a4b36}.book{background:#63483f}
@media(max-width:900px){.hero{min-height:620px}.hero-copy{width:60%;padding:4rem 2rem 4rem 5vw}.hero-visual{min-height:0}.hero h1{font-size:clamp(3rem,6vw,4.4rem)}}
@media(max-width:680px){.hero{display:flex;align-items:flex-end;min-height:700px}.hero-visual{height:100%;min-height:0}.hero-visual img{object-position:61% center}.hero:before{background:linear-gradient(0deg,rgba(28,26,25,.95) 0%,rgba(31,28,27,.83) 29%,rgba(31,28,27,.13) 70%,rgba(31,28,27,0) 100%)}.hero-copy{width:100%;padding:16rem 6vw 3.2rem}.hero h1{font-size:clamp(2.7rem,10vw,4.2rem);margin-bottom:1rem}.hero-intro{font-size:1rem;line-height:1.55}.hero-actions{gap:1rem}.hero .text-link{color:#fff}}

/* Listener feedback is attributed to Helen's audio work, separate from class reviews. */
.testimonials{background:#f1ece7;padding:3.5rem clamp(1.5rem,5vw,6rem) 3rem}.testimonials-heading{display:flex;align-items:baseline;justify-content:space-between;gap:2rem;margin-bottom:1.6rem}.testimonials-heading .eyebrow{margin:0;color:#765143}.testimonials h2{font-size:clamp(1.3rem,2vw,1.9rem);margin:0}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.testimonials figure{margin:0;padding:1.5rem 1.4rem;background:#fbf9f6;display:flex;flex-direction:column;justify-content:space-between;min-height:175px}.testimonials blockquote{font-size:1.12rem;line-height:1.55;margin:0 0 1.5rem;font-style:normal}.testimonials figcaption{font-size:.77rem;letter-spacing:.06em;color:#625852}.testimonials-source{display:inline-block;margin-top:1.4rem;border-bottom:1px solid currentColor;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.benefits article:first-child img{object-position:50% 50%}
@media(max-width:680px){.testimonials-heading{display:block}.testimonials-heading .eyebrow{margin-bottom:.8rem}.testimonials-grid{grid-template-columns:1fr}.testimonials figure{min-height:0}.testimonials blockquote{margin-bottom:1rem}}

/* Preserve the three source photographs and their original card framing. */
.benefits article:first-child img{object-position:center 57%}
.kinder-image{position:relative;height:clamp(210px,19vw,315px);overflow:hidden}
.kinder-image img,.kinder-image canvas{display:block;width:100%;height:100%;object-fit:cover;object-position:center 50%}
.kinder-image canvas{position:absolute;inset:0;opacity:0}
.kinder-image canvas.ready{opacity:1}
.testimonials-grid{grid-template-columns:repeat(2,1fr)}
@media(max-width:680px){.kinder-image{height:260px}.testimonials-grid{grid-template-columns:1fr}}

/* Distinctive mineral-aqua accent, compact hero hierarchy, and secondary studio schedule. */
:root{--olive:#1f6f73;--aqua:#d8eceb;--line:#d7d8d2}
a:focus-visible,button:focus-visible{outline-color:#39a6ab}
.nav-book,.button{background:#1f6f73}.nav-book:hover,.button:hover{background:#145257}
.hero .button{background:#1f7a7f}.hero .button:hover{background:#155b60}.hero .text-link:hover{color:#bde7e7}
.hero h1{font-size:clamp(3.2rem,5.25vw,6.1rem);line-height:1.08}
.hero-kicker{display:block;font:500 clamp(.92rem,1.3vw,1.15rem)/1.2 'DM Sans',sans-serif;letter-spacing:.09em;margin-bottom:.7rem}
.hero-kicker em{font-style:normal}.hero-title{display:block}
.class-day{color:#1f6f73}.book{background:#245d61}
.map-link{font-size:.88rem;text-decoration:underline;text-decoration-color:rgba(31,111,115,.45);text-underline-offset:.2em}.map-link:hover{color:var(--olive)}
.studio-classes{margin-top:4.8rem;padding:2rem;background:#f2f7f6;border-left:4px solid var(--olive)}
.studio-heading{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;border-bottom:1px solid #c9dedd;padding-bottom:1rem;margin-bottom:1.4rem}
.studio-heading p,.studio-heading h3{margin:0}.studio-heading h3{font-size:1.35rem}
.studio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 2.5rem}.studio-grid article{padding:.5rem 0 1rem}.studio-grid h4{font:500 1rem/1.4 'DM Sans',sans-serif;margin:0}.studio-grid p{font-size:.85rem;line-height:1.55;margin:.5rem 0 0}.studio-grid strong{font-weight:600}
.classes>.price-strip{background:var(--aqua);margin:3rem clamp(-6rem,-5vw,-1.5rem) 0;padding:1.5rem clamp(1.5rem,5vw,6rem);color:var(--ink);display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}.price-strip p{margin:0}.class-meta .map-link{display:block;line-height:1.45;margin:0}
@media(max-width:900px) and (min-width:681px){.studio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.studio-heading{display:block}.studio-heading .eyebrow{margin-bottom:.6rem}.studio-grid{grid-template-columns:1fr}.studio-classes{padding:1.5rem}.price-strip{display:block}.price-strip p+p{margin-top:.65rem}}

/* Editorial hierarchy for the workshop and current-class focus. */
.hero-title>span{display:block}
.helen-quote{max-width:37rem;margin:0 0 1.7rem;font-size:clamp(1.55rem,2.35vw,2.65rem);line-height:1.42;letter-spacing:-.025em;font-style:italic}
.workshop{display:grid;grid-template-columns:7rem minmax(0,1fr) auto;align-items:center;gap:clamp(2rem,4.5vw,5.5rem);background:#d8eceb;border-top:1px solid #bfd9d8;border-bottom:1px solid #bfd9d8;padding-top:clamp(3.5rem,5vw,5.5rem);padding-bottom:clamp(3.5rem,5vw,5.5rem)}
.workshop-date{width:7rem;height:7rem;border:1px solid #1f6f73;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#1f6f73;text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;line-height:1.15}
.workshop-date strong{font:400 2.25rem/1 'Libre Baskerville',Georgia,serif;letter-spacing:-.04em;margin:.25rem 0}
.workshop-copy{max-width:48rem}.workshop-copy .eyebrow{color:#1f6f73;margin-bottom:.8rem}.workshop h2{font-size:clamp(2.6rem,4.7vw,5.3rem);line-height:1.05;letter-spacing:-.055em;margin-bottom:1.2rem}.workshop h2 span{font-style:italic}.workshop-copy>p:not(.eyebrow){font-family:'Libre Baskerville',Georgia,serif;font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.7;max-width:42rem}.workshop-details{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:1.4rem;font-size:.86rem;text-transform:uppercase;letter-spacing:.08em}.workshop-details span{padding-left:1.2rem;border-left:1px solid rgba(31,111,115,.35)}
.workshop-book{min-width:13.5rem;padding:1.2rem 1.35rem;background:#1f6f73;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.workshop-book:hover{background:#145257}
.classes-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.78fr);gap:clamp(2.5rem,6vw,7rem);align-items:center;margin-bottom:4rem}.classes-intro-copy{max-width:45rem}.classes-intro h2{font-size:clamp(2.7rem,4.4vw,5.2rem);line-height:1.08;letter-spacing:-.05em;margin:.55rem 0 1.35rem}.classes-lead{font-family:'Libre Baskerville',Georgia,serif;font-size:clamp(1.18rem,1.75vw,1.55rem);line-height:1.62;margin-bottom:1rem}.classes-intro-copy>p:last-child{max-width:36rem;color:var(--muted)}.classes-intro-image{height:clamp(260px,31vw,420px);overflow:hidden}.classes-intro-image img{height:100%;object-fit:cover;object-position:center}
.class-meta{width:100%;min-height:6.2rem}.class-time{display:block;width:100%;padding-bottom:.42rem;margin-bottom:.15rem;border-bottom:1px solid var(--line);font-size:1rem!important;line-height:1.4!important}.class-meta .map-link{max-width:100%;text-wrap:balance}.social-links{display:flex;flex-wrap:wrap;gap:1.2rem}.social-links a{display:inline-flex;align-items:center;gap:.42rem;border-bottom:1px solid rgba(31,111,115,.45);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.social-links a:hover{color:var(--olive)}.social-links svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.social-links .icon-dot{fill:currentColor;stroke:none}.footer-notes p{margin:0}.footer-notes .photo-credit{margin-top:.22rem;font-size:.68rem;color:#80756e}.copyright{white-space:nowrap}
@media(max-width:900px){.workshop{grid-template-columns:6.5rem 1fr}.workshop-book{grid-column:2;justify-self:start}.classes-intro{grid-template-columns:1.1fr .9fr;gap:2.5rem}.classes-intro-image{height:330px}footer{flex-wrap:wrap}}
@media(max-width:680px){.hero-title>span{white-space:nowrap}.helen-quote{font-size:1.65rem}.workshop{grid-template-columns:1fr;gap:1.6rem}.workshop-date{width:5.7rem;height:5.7rem}.workshop-date strong{font-size:1.8rem}.workshop-book{grid-column:auto;width:100%}.workshop-details{gap:.65rem 1rem}.workshop-details span{padding-left:1rem}.classes-intro{grid-template-columns:1fr;margin-bottom:3rem}.classes-intro-image{height:280px;order:-1}.class-meta{min-height:0}.class-time{width:auto;min-width:10rem}footer{display:grid;grid-template-columns:1fr;gap:1rem}.social-links{order:2}}

/* A single, restrained editorial treatment for the approach triptych. */
.benefits{gap:clamp(.8rem,1.5vw,1.5rem);padding:clamp(1rem,2vw,2rem) clamp(1rem,2.2vw,2.5rem) clamp(3.5rem,5vw,5.5rem);background:#fff}
.benefits article{text-align:left}
.benefits img{height:clamp(290px,28vw,430px);object-fit:cover;filter:grayscale(100%) sepia(10%) contrast(.94);transition:filter .35s ease}
.benefits article:first-child img{object-position:54% 50%}
.benefits article:nth-child(2) img{object-position:66% 50%}
.benefits article:nth-child(3) img{object-position:68% 50%}
.benefits h2{margin:1.45rem 0 .65rem;padding-top:.9rem;border-top:1px solid #bfd9d8;color:#245d61;letter-spacing:.16em}
.benefits p{max-width:24rem;margin:0;font-size:1rem;line-height:1.65}
@media(max-width:680px){.benefits{gap:2.8rem;padding:1rem 5vw 4rem}.benefits img{height:310px}.benefits article:first-child img{object-position:58% 50%}.benefits article:nth-child(2) img{object-position:66% 50%}.benefits article:nth-child(3) img{object-position:62% 50%}}

/* Place the current workshop directly beneath the hero as an editorial feature. */
.workshop{grid-template-columns:minmax(260px,.58fr) minmax(0,1.25fr) auto;gap:clamp(2.5rem,4.5vw,5.5rem);min-height:480px;padding:0 clamp(1.5rem,5vw,6rem) 0 0}
.workshop-image{height:100%;min-height:480px;overflow:hidden}
.workshop-image img{width:100%;height:100%;object-fit:cover;object-position:58% 48%;filter:grayscale(100%) sepia(9%) contrast(.94)}
.workshop h2 small{display:block;margin-top:.65rem;font:600 .78rem/1.3 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.2em;color:#1f6f73}
.workshop-action{display:flex;flex-direction:column;align-items:center;gap:1.8rem}
.workshop-action .workshop-book{width:100%}
@media(max-width:900px){.workshop{grid-template-columns:minmax(240px,.75fr) 1fr;padding-right:5vw}.workshop-action{grid-column:2;flex-direction:row;align-items:center;justify-content:flex-start}.workshop-action .workshop-date{flex:0 0 auto}.workshop-action .workshop-book{grid-column:auto;width:auto}}
@media(max-width:680px){.workshop{grid-template-columns:1fr;min-height:0;padding:0 5vw 3.5rem;gap:1.8rem}.workshop-image{height:320px;min-height:0;margin:0 -5vw}.workshop-image img{object-position:58% 45%}.workshop-copy{padding-top:.4rem}.workshop-action{grid-column:1;flex-direction:column;align-items:flex-start}.workshop-action .workshop-book{width:100%}}

.classes-intro{grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:clamp(2.5rem,5vw,6rem);align-items:stretch}
.classes-intro-copy{align-self:center}
.classes-intro-image{height:auto;min-height:390px}
.classes-intro-image img{height:100%;object-fit:cover;object-position:63% 48%;filter:grayscale(100%) sepia(9%) contrast(.94)}
@media(max-width:900px){.classes-intro{grid-template-columns:1fr .9fr;gap:2.5rem}.classes-intro-image{height:auto;min-height:350px}}
@media(max-width:680px){.classes-intro{grid-template-columns:1fr;gap:2rem}.classes-intro-image{height:290px;min-height:0}.classes-intro-image img{object-position:61% 44%}}

/* Mineral editorial revision: poster crop, abstract approach panels, quieter class image. */
:root{--olive:#0f6f76;--aqua:#dcebea;--paper:#fbfaf7;--cream:#f2ece2;--line:#d9d2c8}
.workshop{grid-template-columns:minmax(330px,.72fr) minmax(0,1.2fr) auto;min-height:0;padding:clamp(2rem,3vw,3.5rem) clamp(1.5rem,5vw,6rem);background:#f2ece2;border-color:#d7cabb}
.workshop-image{width:100%;height:auto;min-height:0;aspect-ratio:.7;align-self:center}
.poster-crop{background-image:url('assets/better-balancing-poster.png');background-repeat:no-repeat;background-size:auto 164%;background-position:right top;border-left:4px solid #0f6f76}
.workshop-copy{padding-left:clamp(.3rem,1vw,1rem)}
.workshop h2{color:#32241f}.workshop h2 span,.workshop h2 small,.workshop-copy .eyebrow{color:#0f6f76}
.workshop-date{border-color:#0f6f76;color:#0f6f76}.workshop-book{background:#0f6f76}.workshop-book:hover{background:#0a555b}
.benefits{background:#fbfaf7;gap:clamp(1rem,1.7vw,1.8rem);padding-top:clamp(1.6rem,2.5vw,2.8rem)}
.benefits img{height:clamp(280px,25vw,390px);filter:none;object-fit:cover}
.benefits article:first-child img{object-position:left center}
.benefits article:nth-child(2) img{object-position:center center}
.benefits article:nth-child(3) img{object-position:right center}
.benefits h2{border-top-color:#adcfd0;color:#0f6268}
.helen{background:#f2ece2}
.classes{background:#fbfaf7}
.classes-intro{grid-template-columns:minmax(0,1fr) minmax(250px,340px);align-items:center;gap:clamp(2.5rem,5vw,6rem)}
.classes-intro-image{width:100%;height:260px;min-height:0;justify-self:end;border-bottom:4px solid #0f6f76}
.classes-intro-image img{filter:grayscale(100%) sepia(8%) contrast(.94);object-position:63% 43%}
@media(max-width:900px){.workshop{grid-template-columns:minmax(280px,.75fr) 1fr}.workshop-action{grid-column:2}.classes-intro{grid-template-columns:1fr minmax(230px,300px)}.classes-intro-image{height:240px;min-height:0}}
@media(max-width:680px){.workshop{grid-template-columns:1fr;padding:2rem 5vw 3.5rem}.workshop-image{width:min(80vw,315px);margin:0 auto;aspect-ratio:.7}.workshop-copy{padding-left:0}.workshop-action{grid-column:1}.benefits img{height:300px}.classes-intro{grid-template-columns:1fr}.classes-intro-image{order:0;width:min(100%,340px);height:220px;justify-self:start}}

/* Clean, human editorial revision. */
:root{--artist-ink:#39263a;--artist-plum:#56334e;--artist-fuchsia:#d5327b;--artist-lilac:#eee8f0}
.benefits{gap:clamp(2.2rem,4vw,5rem);padding:clamp(3.5rem,6vw,7rem) clamp(1.5rem,5vw,6rem) clamp(5rem,8vw,9rem);background:#fbfaf7}
.benefits article{min-width:0}
.benefits img{width:min(100%,300px);height:auto;aspect-ratio:1;object-fit:cover;object-position:center;margin-top:1.6rem;border-radius:1px;box-shadow:none}
.benefits article:first-child img,.benefits article:nth-child(2) img,.benefits article:nth-child(3) img{object-position:center}
.benefits h2{margin:0 0 .65rem;padding-top:.85rem;border-top-color:#d9d2dc;color:var(--artist-ink);font-size:.72rem;line-height:1.5;letter-spacing:.16em}
.benefits p{font-size:.96rem;line-height:1.7}

.helen{grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);align-items:start;gap:clamp(2.5rem,5.5vw,7rem);padding-top:clamp(5rem,8vw,9rem);padding-bottom:clamp(5rem,8vw,9rem)}
.helen-image{height:auto;aspect-ratio:4/5;position:sticky;top:6rem}
.helen-copy{max-width:none}
.helen-quote{max-width:34rem;font-size:clamp(1.35rem,2vw,2.2rem);margin-bottom:1.35rem}
.helen-copy .lead{max-width:39rem;margin-bottom:2rem}
.helen-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem clamp(1.8rem,3vw,3.5rem);padding-top:1.5rem;border-top:1px solid #d8cfc4}
.helen-copy .helen-details p{font-family:'DM Sans',sans-serif;font-size:.94rem;line-height:1.68;color:var(--muted);margin-bottom:1.3rem}

.classes-intro{grid-template-columns:minmax(0,1fr) minmax(250px,320px);align-items:center;gap:clamp(2.5rem,5vw,5rem);width:min(100%,1080px);margin:0 auto 4.5rem}
.classes-intro-copy{max-width:42rem}
.classes-intro-image{width:100%;height:auto;min-height:0;aspect-ratio:4/3;border:0;overflow:hidden}
.classes-intro-image img{height:100%;filter:none;object-fit:cover;object-position:center}
.classes-intro-image.portrait{width:min(100%,235px);aspect-ratio:9/16;justify-self:center;background:#2f2730}
.classes-intro-image.portrait img{object-fit:cover;object-position:center 58%;filter:brightness(1.09) contrast(1.04) saturate(.88)}
.class-capacity{margin-top:.35rem;color:var(--artist-fuchsia)!important;font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem!important}

.book{background:var(--artist-ink)}
.book-grid{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,8rem)}
.book-grid>div{padding-left:clamp(0rem,2vw,2.5rem);border-left:1px solid rgba(255,255,255,.28)}
.book .button-light{background:var(--artist-fuchsia);color:#fff;padding:1rem 1.35rem;font-weight:600;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.book .button-light:hover{background:#bd2468;transform:translateY(-1px)}

/* Distinct from Udara's live sage/cream identity: aubergine with tiny fuchsia signals. */
.nav-book,.button{background:var(--artist-ink)}
.nav-book:hover,.button:hover{background:#251725}
.hero .button{background:var(--artist-ink)}
.hero .button:hover{background:#251725}
.class-day{color:var(--artist-fuchsia)}
.map-link{text-decoration-color:rgba(213,50,123,.42)}
.map-link:hover,.site-header nav a:not(.nav-book):hover,.text-link:hover{color:var(--artist-fuchsia)}
.workshop{background:#f2edf4;border-color:#ded3e2}
.poster-crop{border-left-color:var(--artist-fuchsia)}
.workshop h2 span,.workshop h2 small,.workshop-copy .eyebrow{color:var(--artist-plum)}
.workshop-date{border-color:var(--artist-plum);color:var(--artist-plum)}
.workshop-book{background:var(--artist-ink)}
.workshop-book:hover{background:#251725}
.studio-classes{background:#f5f1f6;border-left-color:var(--artist-fuchsia)}
.studio-heading{border-bottom-color:#ddd3df}
.classes>.price-strip{background:#f1cada;border-top-color:#e2a9c3}
.social-links a{border-bottom-color:rgba(213,50,123,.42)}
.social-links a:hover{color:var(--artist-fuchsia)}
a:focus-visible,button:focus-visible{outline-color:var(--artist-fuchsia)}

@media(max-width:900px){
  .helen{grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:2.5rem}
  .helen-details{grid-template-columns:1fr}
  .classes-intro{grid-template-columns:1fr minmax(220px,270px)}
}
@media(max-width:680px){
  .benefits{gap:3.5rem;padding:3.5rem 5vw 5rem}
  .benefits img{width:min(100%,320px);height:auto}
  .helen{grid-template-columns:1fr}
  .helen-image{position:static;height:auto;aspect-ratio:4/5}
  .helen-details{grid-template-columns:1fr}
  .classes-intro{grid-template-columns:1fr;gap:1.7rem}
  .classes-intro-image{order:0;width:min(100%,320px);height:auto;aspect-ratio:4/3;justify-self:start}
  .classes-intro-image.portrait{width:min(68vw,235px);aspect-ratio:9/16;justify-self:center}
  .book-grid{grid-template-columns:1fr;gap:1.3rem}
  .book-grid>div{padding-left:0;border-left:0}
  .book .button-light{width:100%;justify-content:space-between}
}

/* September refinement: quieter hero, aubergine class details, and a human contact panel. */
.hero-copy>h1:first-child{margin-top:0}
.event-highlight{display:inline-block;margin-bottom:1rem!important;padding:.42rem .68rem;background:var(--artist-fuchsia);color:#fff!important;letter-spacing:.14em;line-height:1.2}

.classes-intro{grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:clamp(2.5rem,5vw,5.5rem)}
.classes-intro-image{width:100%;aspect-ratio:4/3;justify-self:center;background:#312b32}
.classes-intro-image img{height:100%;object-fit:cover;object-position:center;filter:none}

.classes>.price-strip{display:grid;grid-template-columns:auto minmax(240px,1fr) minmax(260px,1fr);align-items:center;gap:1rem clamp(1.5rem,3.5vw,4rem);background:#4a2f46;border:0;color:#fff}
.classes>.price-strip p{color:#fff;line-height:1.55}
.classes>.price-strip strong{color:#fff}
.classes>.price-strip .booking-note{padding-left:clamp(1.1rem,2vw,2rem);border-left:1px solid rgba(255,255,255,.3);font-weight:500}

.book-grid{grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);align-items:center}
.contact-heading{display:grid;grid-template-columns:clamp(105px,12vw,155px) 1fr;align-items:end;gap:clamp(1.2rem,2.5vw,2.2rem);max-width:none!important;padding:0!important;border:0!important}
.contact-portrait{width:100%;aspect-ratio:4/5;overflow:hidden;background:#231824}
.contact-portrait img{height:100%;object-fit:cover;object-position:50% 20%;filter:grayscale(100%) contrast(1.03)}
.contact-heading h2{margin:0 0 -.14em}
.book-grid>.contact-copy{max-width:34rem;padding-left:clamp(1.5rem,3vw,3rem);border-left:1px solid rgba(255,255,255,.28)}

@media(max-width:900px){
  .classes>.price-strip{grid-template-columns:1fr 1fr}
  .classes>.price-strip .booking-note{grid-column:1/-1;padding:.9rem 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.25)}
  .contact-heading{grid-template-columns:105px 1fr}
}
@media(max-width:680px){
  .classes-intro{grid-template-columns:1fr}
  .classes-intro-image{width:min(100%,360px);aspect-ratio:4/3;justify-self:start}
  .classes>.price-strip{display:block}
  .classes>.price-strip p+p{margin-top:.75rem}
  .classes>.price-strip .booking-note{padding-top:.8rem}
  .book-grid{grid-template-columns:1fr}
  .contact-heading{grid-template-columns:90px 1fr;align-items:center}
  .contact-heading h2{margin:0}
  .book-grid>.contact-copy{padding:1.3rem 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.28)}
}

/* Calmer class introduction and a warmer, more personal contact treatment. */
.classes-intro{width:min(100%,1050px);grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:clamp(2rem,4vw,4.5rem);padding:clamp(1.8rem,3.5vw,3.2rem);background:#f4f0f2;align-items:center;margin-bottom:4rem}
.classes-intro h2{font-size:clamp(2.5rem,3.8vw,4.35rem);margin:.45rem 0 1.2rem}
.classes-intro-copy{max-width:38rem}
.classes-lead{max-width:34rem;margin:0;color:#5d525b;font-family:'DM Sans',sans-serif;font-size:clamp(.98rem,1.25vw,1.08rem);line-height:1.7;letter-spacing:.005em}
.classes-lead em{font-style:italic}
.classes-intro-image{width:100%;max-width:320px;aspect-ratio:4/3;justify-self:center;box-shadow:0 18px 45px rgba(57,38,58,.12)}

.deck-note{display:flex;align-items:flex-start;gap:.45rem;margin-top:.5rem;padding:.55rem .65rem;background:#f8edf3;color:var(--artist-plum)!important;font-size:.82rem!important;line-height:1.4!important;border-left:2px solid var(--artist-fuchsia)}
.deck-icon{color:var(--artist-fuchsia);font-size:.95rem;line-height:1.2}

.contact-heading{grid-template-columns:clamp(165px,18vw,235px) minmax(0,1fr);align-items:center;gap:clamp(.8rem,2vw,1.5rem)}
.contact-portrait{width:100%;aspect-ratio:1;overflow:visible;background:transparent;-webkit-mask-image:radial-gradient(ellipse 69% 72% at 48% 47%,#000 62%,rgba(0,0,0,.82) 73%,transparent 100%);mask-image:radial-gradient(ellipse 69% 72% at 48% 47%,#000 62%,rgba(0,0,0,.82) 73%,transparent 100%)}
.contact-portrait img{width:100%;height:100%;object-fit:cover;object-position:center;filter:none}
.contact-heading h2{margin:0;transform:translateX(-.35rem)}

@media(max-width:900px){
  .classes-intro{grid-template-columns:minmax(0,1fr) minmax(220px,280px)}
  .contact-heading{grid-template-columns:145px 1fr}
}
@media(max-width:680px){
  .classes-intro{grid-template-columns:1fr;padding:1.6rem;gap:1.5rem}
  .classes-intro-image{width:100%;max-width:360px;justify-self:start}
  .contact-heading{grid-template-columns:125px 1fr}
  .contact-heading h2{transform:none}
}

/* The cube works as a compact signature; the live wordmark stays crisp and accessible. */
.brand{display:inline-flex;align-items:center;gap:.68rem}
.brand-mark{width:2rem;height:2rem;object-fit:contain;flex:0 0 auto}
footer .brand-mark{width:2.15rem;height:2.15rem}
@media(max-width:680px){
  .brand{gap:.48rem}
  .brand-mark{width:1.65rem;height:1.65rem}
  footer .brand-mark{width:1.9rem;height:1.9rem}
}

/* Keep the schedule information on one clear horizontal rhythm. */
@media(min-width:681px){
  .class-meta{min-height:9.35rem}
}

/* A quiet editorial credit, with a restrained fuchsia link cue. */
.photo-credit a{
  color:inherit;
  text-decoration-line:underline;
  text-decoration-color:rgba(213,50,123,.5);
  text-decoration-thickness:1px;
  text-underline-offset:.22em;
  transition:color .2s ease,text-decoration-color .2s ease;
}
.photo-credit a:hover,
.photo-credit a:focus-visible{
  color:var(--artist-fuchsia);
  text-decoration-color:currentColor;
}
.event-info-link{
  color:inherit;
  text-decoration:underline;
  text-decoration-color:var(--artist-fuchsia);
  text-underline-offset:.2em;
}
.event-info-link:hover,
.event-info-link:focus-visible{color:var(--artist-fuchsia)}

/* Proposed hero rebalance: a shallower frame, with a little more cropped from the top. */
.hero{min-height:clamp(565px,48vw,700px)}
.hero-visual img{object-position:center 56%}
.hero-copy{padding-top:4.25rem;padding-bottom:4.25rem}
@media(max-width:900px){
  .hero{min-height:580px}
  .hero-copy{padding-top:3.75rem;padding-bottom:3.75rem}
}
@media(max-width:680px){
  .hero{min-height:660px}
  .hero-visual img{height:120%;object-position:61% center;transform:translateY(-10%)}
  .hero-copy{padding:12rem 6vw 4.2rem}
}
