:root{--paper:#eee7da;--white:#fff;--ink:#28352d;--olive:#59654b;--muted:#6e756a;--line:#dde0d4;--sage:#e5e5d9;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}figure{margin:0}p{margin:0 0 1.3em}p:last-child{margin-bottom:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.045em;margin:0}h1{font-size:clamp(50px,5.5vw,84px)}h2{font-size:clamp(36px,3.5vw,51px)}h3{font-size:30px;letter-spacing:-.035em}em{font-weight:400;color:var(--olive)}.wrap{width:min(1224px,calc(100% - 100px));margin-inline:auto}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.1px;line-height:1.7;color:var(--olive);margin-bottom:22px}.site-header{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line);background:rgba(238,231,218,.98)}.header-inner{width:min(1360px,calc(100% - 80px));min-height:98px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{font-family:var(--serif);font-size:27px;letter-spacing:-1.4px;line-height:1}.wordmark>span{font-size:14px;letter-spacing:.3px;margin-left:5px}.wordmark small{display:block;font-family:var(--sans);font-size:7px;font-weight:500;letter-spacing:2.5px;margin-top:10px}.nav{display:flex;align-items:stretch;gap:32px;align-self:stretch}.nav a{display:flex;align-items:center;position:relative;font-size:12px;white-space:nowrap;color:#555f53}.nav a::after{content:'';position:absolute;bottom:23px;left:0;right:0;height:1px;background:var(--olive);transform:scaleX(0);transition:transform .2s}.nav a:hover::after,.nav a[aria-current=page]::after{transform:scaleX(1)}.nav a[aria-current=page]{color:var(--ink);font-weight:600}.skip-link{position:fixed;top:-100px;left:10px;z-index:50;background:var(--ink);color:#fff;padding:12px}.skip-link:focus{top:10px}:focus-visible{outline:2px solid var(--olive);outline-offset:6px}.hero{display:grid;grid-template-columns:1.04fr 1fr;align-items:center;gap:65px;padding-top:74px;padding-bottom:74px}.hero-description{max-width:440px;color:#65705f;font-size:16px;line-height:1.8;margin-top:26px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--olive);margin-right:10px;vertical-align:1px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--olive);color:#fff;padding:14px 21px;border:1px solid var(--olive);font-size:12px;font-weight:500;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#414f37;transform:translateY(-2px)}.button span{font-size:19px;font-weight:400;line-height:1}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button.secondary:hover{background:var(--sage)}.hero-note{font-size:8px;letter-spacing:1.45px;margin-top:32px;color:var(--muted)}.hero-image{position:relative}.hero-image::before{content:'';position:absolute;inset:-16px 16px 17px -16px;border:1px solid #d5dacb;z-index:-1}.hero-image img{width:100%;aspect-ratio:689/521;object-fit:cover}.hero-image figcaption,figcaption{display:flex;justify-content:space-between;gap:12px;font-size:8px;letter-spacing:1.5px;color:var(--muted);margin-top:15px}.intention-strip{padding:19px 20px;background:var(--sage);border-block:1px solid var(--line);text-align:center;color:var(--olive)}.intention-strip p{font-family:var(--serif);font-size:19px;letter-spacing:.1px}.intention-strip span{font-family:var(--sans);font-size:16px;margin-inline:50px}.programs{padding-top:92px;padding-bottom:95px;scroll-margin-top:30px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:38px}.section-heading>p{max-width:340px;font-size:14px;color:var(--muted);margin-bottom:3px}.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.program-card{display:block}.program-photo{overflow:hidden;background:var(--sage)}.program-photo img{width:100%;aspect-ratio:1.58;object-fit:cover;transition:transform .5s}.program-card:hover img{transform:scale(1.025)}.program-card-copy{padding:25px 0 20px;border-bottom:1px solid var(--line)}.program-card-copy .eyebrow{display:block;margin-bottom:12px;font-size:9px}.program-card h3{display:flex;justify-content:space-between;align-items:center;gap:15px}.program-card h3 span{font-family:var(--sans);font-size:25px}.program-card p{color:var(--muted);font-size:14px;line-height:1.8;max-width:490px;margin-top:17px}.card-link{font-size:11px;color:var(--olive);display:block;margin-top:25px}.founder-section{background:var(--sage);padding-block:74px}.founder-layout{display:grid;grid-template-columns:1fr 1fr;gap:86px;align-items:center}.founder-layout figure img{width:100%}.founder-layout p:not(.eyebrow){font-size:14px;line-height:1.9;color:#606b5a;margin-top:25px}.founder-layout figcaption{font-size:8px}details{border-top:1px solid #cdd3c3;margin-top:23px}summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;padding:18px 0;font-size:12px;list-style:none}summary::-webkit-details-marker{display:none}summary span{font-size:21px;line-height:1}details[open] summary span{transform:rotate(45deg)}details p{font-size:14px;color:var(--muted);line-height:1.9}.cta{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-top:82px;padding-bottom:85px}.cta .eyebrow{margin-bottom:16px}.cta h2{font-size:clamp(34px,3vw,43px)}.cta p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:20px}.cta>.button{flex-shrink:0;min-width:164px}footer{border-top:1px solid var(--line);background:#e3ded0;padding-top:38px}.footer-inner,.footer-bottom{width:min(1224px,calc(100% - 100px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-inner{padding-bottom:35px}.footer-brand{font-family:var(--serif);font-size:22px;letter-spacing:-.5px}.footer-brand small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:0;margin-top:6px;color:var(--muted)}.footer-inner>p{margin:0;font-size:11px;color:var(--muted);line-height:1.9}.footer-inner>a:last-child{font-size:12px}.footer-inner>a:last-child span{margin-left:30px;font-size:20px}.footer-bottom{border-top:1px solid var(--line);font-size:9px;letter-spacing:.3px;color:var(--muted);padding-top:16px;padding-bottom:18px}.page-hero{padding-top:75px;padding-bottom:74px;display:grid;grid-template-columns:1fr 1.02fr;gap:80px;align-items:center}.page-hero h1{font-size:clamp(48px,5vw,73px)}.page-hero .lead{margin-top:24px;max-width:390px;color:var(--muted);font-size:17px}.page-hero figure img{width:100%;aspect-ratio:1.4;object-fit:cover}.page-hero figure figcaption{font-size:8px}.page-hero p:not(.eyebrow):not(.lead){font-size:14px;color:var(--muted)}.mission-section{padding-block:62px;background:var(--sage)}.mission-layout{display:grid;grid-template-columns:.95fr 1.15fr;gap:95px;align-items:start}.mission-layout h2{font-size:clamp(34px,3.2vw,46px)}.mission-layout p:not(.eyebrow){font-size:14px;line-height:1.9;color:#5a6655;margin:0}.split-section{padding-block:80px;display:grid;grid-template-columns:.84fr 1fr;gap:100px;align-items:center}.photo-stack{position:relative}.photo-stack img{width:100%;max-height:470px;object-fit:cover}.photo-label{display:block;font-size:8px;letter-spacing:1.6px;color:var(--olive);margin-top:13px}.split-section p:not(.eyebrow){font-size:14px;line-height:1.9;color:var(--muted);margin-top:28px}.lesson-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.lesson-tags span{font-size:10px;padding:6px 11px;background:var(--sage);border:1px solid var(--line)}.youth-wide{display:grid;grid-template-columns:1.3fr .7fr;background:var(--sage);padding:0}.youth-wide img{width:100%;max-height:420px;object-fit:cover}.photo-caption{display:flex;flex-direction:column;justify-content:center;padding:45px}.photo-caption span{font-size:8px;letter-spacing:1.8px;color:var(--olive);margin-bottom:22px}.photo-caption p{font-family:var(--serif);font-size:35px;line-height:1.2;letter-spacing:-1px}.rates-section{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-block:85px}.rates-section .text-link{margin-top:28px}.text-link{background:none;border:0;border-bottom:1px solid #a7ae9b;padding:0 0 7px;display:inline-flex;align-items:center;gap:22px;font-size:11px}.text-link:hover{color:#6e7c59}.price{font-family:var(--serif);font-size:43px;letter-spacing:-1px;line-height:1.2;margin-bottom:20px}.price span{font-family:var(--sans);font-size:11px;letter-spacing:0;color:var(--muted)}.youth-rate>p:not(.price){font-size:14px;line-height:1.9;color:var(--muted)}.youth-rate .button{margin-top:10px}.quote-panel{background:var(--sage);padding-block:65px;text-align:center}.quote-panel blockquote{max-width:700px;margin:0 auto 22px;font-family:var(--serif);font-size:clamp(29px,3vw,41px);font-style:italic;line-height:1.3;color:var(--olive)}cite{font-style:normal;font-size:10px;letter-spacing:1px;color:var(--muted)}.teacher-hero figure img{aspect-ratio:1.33}.teacher-hero .lead{font-family:var(--serif);font-size:25px;color:var(--ink);margin-bottom:12px}.mission-layout p.mission-statement{font-family:var(--serif);font-size:27px;line-height:1.5;letter-spacing:-.3px}.teacher-intro{padding-block:80px;display:grid;grid-template-columns:.95fr 1.15fr;gap:95px}.teacher-intro p:not(.eyebrow){font-size:14px;line-height:1.9;color:var(--muted)}.pillar-section{padding-bottom:85px;display:grid;grid-template-columns:1.04fr 1fr;gap:95px;align-items:center}.pillar-section figure img{width:100%}.pillar-section h2{font-size:44px}.pillars{padding:0;margin:25px 0 0;list-style:none}.pillars li{font-family:var(--serif);font-size:22px;border-bottom:1px solid var(--line);padding:10px 0;display:flex;align-items:center;gap:23px}.pillars li>span{font-family:var(--sans);font-size:9px;color:var(--olive);letter-spacing:1px}.journal-section{position:relative}.journal-section>img{width:100%;max-height:530px;object-fit:cover}.journal-caption{position:absolute;bottom:30px;left:30px;background:var(--paper);padding:24px 34px}.journal-caption .eyebrow{margin-bottom:12px}.journal-caption h2{font-size:37px}.teacher-rates{padding-block:85px}.rate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.rate-card{border:1px solid var(--line);padding:28px 25px 25px;background:#e9e3d6}.rate-card .eyebrow{font-size:8px}.rate-card h3{font-size:27px;line-height:1.15;min-height:62px}.rate-session{font-size:12px;color:var(--muted);margin:15px 0 24px}.rate-card .price{font-size:32px;margin-bottom:12px}.rate-cadence{font-size:10px;color:var(--muted)}.teacher-rates+.cta{border-top:1px solid var(--line)}.contact-intro{padding-top:75px;padding-bottom:48px}.contact-intro h1{font-size:clamp(49px,5vw,73px)}.contact-intro .lead{font-size:16px;color:var(--muted);margin-top:25px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:95px;padding-bottom:80px;align-items:start}.contact-details{padding-top:25px}.contact-details h2{margin-bottom:24px;font-size:38px}.contact-details .eyebrow{margin-bottom:15px}.contact-row{border-bottom:1px solid var(--line);padding:16px 0;display:grid;grid-template-columns:90px 1fr;align-items:baseline}.contact-row>span{font-size:10px;color:var(--muted);letter-spacing:.5px}.contact-row a,.contact-row p{font-size:16px;margin:0;display:flex;justify-content:space-between;gap:20px}.contact-row a:hover{text-decoration:underline;text-underline-offset:5px}.contact-note{font-size:11px;color:var(--muted);margin-top:20px;max-width:390px}.contact-photo{background:var(--sage);padding:20px 20px 16px;margin-top:20px}.contact-photo img{width:100%;aspect-ratio:1.2;object-fit:cover}.contact-photo figcaption{font-size:7px}.contact-programs{padding-bottom:80px}.contact-programs>div{display:grid;grid-template-columns:1fr 1fr;gap:30px}.contact-programs a{padding:23px 0;border-block:1px solid var(--line);font-family:var(--serif);font-size:26px;position:relative}.contact-programs a span{display:block;font-family:var(--sans);font-size:9px;color:var(--olive);letter-spacing:1px;margin-bottom:8px}.contact-programs b{position:absolute;right:0;font-family:var(--sans);font-weight:400;font-size:23px}dialog{border:1px solid var(--line);padding:0;width:min(1100px,94vw);max-height:92vh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:rgba(24,33,26,.74)}.dialog-top{position:sticky;top:0;z-index:2;background:var(--paper);display:flex;justify-content:space-between;align-items:center;padding:18px 25px;border-bottom:1px solid var(--line)}.dialog-top h2{font-family:var(--sans);font-size:15px;letter-spacing:0}.close-dialog{background:none;border:1px solid var(--line);padding:6px 12px;font-size:12px}.close-dialog span{font-size:21px;vertical-align:-1px;margin-left:12px}#flyer-pages{padding:12px}#flyer-pages img{width:100%;height:auto;margin-bottom:12px}.footer-logo{width:130px;mix-blend-mode:multiply;margin-bottom:8px}.footer-brand:has(.footer-logo){font-size:17px}
@media(min-width:1600px){.hero{padding-top:90px;padding-bottom:90px}.hero-image img{max-height:480px;object-fit:cover}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.header-inner{width:calc(100% - 50px)}.nav{gap:23px}.hero{gap:35px;padding-block:62px}.hero h1{font-size:63px}.hero-description{font-size:14px}.hero-note{font-size:7px;letter-spacing:.8px}.button{padding:12px 15px;gap:20px}.hero .actions{gap:10px}.intention-strip span{margin-inline:28px}.founder-layout{gap:45px}.footer-inner,.footer-bottom{width:calc(100% - 64px)}.page-hero{gap:45px}.mission-layout,.teacher-intro{gap:50px}.split-section,.pillar-section{gap:50px}.rates-section{gap:55px}.contact-layout{gap:50px}.rate-card{padding:24px 19px}.rate-card .price{font-size:27px}.rate-card h3{font-size:24px}.photo-caption{padding:30px}.photo-caption p{font-size:29px}}
@media(max-width:760px){html{scroll-padding-top:130px}.wrap{width:calc(100% - 40px)}.site-header{position:sticky}.header-inner{width:100%;min-height:0;flex-direction:column;gap:0;padding-top:20px}.wordmark{font-size:26px}.wordmark small{text-align:center;font-size:6px;letter-spacing:2.3px}.nav{width:100%;justify-content:center;gap:0;padding:0 12px;margin-top:18px;border-top:1px solid var(--line);align-self:auto}.nav a{justify-content:center;padding:14px 11px;font-size:10px;line-height:1.3;text-align:center;min-height:47px}.nav a::after{bottom:0;left:11px;right:11px;height:2px}.hero{grid-template-columns:1fr;gap:40px;padding-top:42px;padding-bottom:38px}.hero h1{font-size:clamp(52px,10vw,73px)}.eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:18px}.hero-description{font-size:15px;max-width:500px;margin-top:20px}.hero .actions{margin-top:24px}.hero-note{font-size:7px;letter-spacing:1px;margin-top:23px}.hero-image{margin-left:12px}.hero-image::before{inset:-12px 12px 15px -12px}.hero-image figcaption{font-size:7px;margin-top:12px}.intention-strip{padding:16px 8px}.intention-strip p{font-size:13px;line-height:1.7}.intention-strip span{font-size:11px;margin-inline:10px}.programs{padding-block:55px}.section-heading{display:block;margin-bottom:27px}.section-heading>p{max-width:100%;font-size:13px;margin-top:23px}.section-heading h2,h2{font-size:38px}.program-grid{grid-template-columns:1fr;gap:35px}.program-card h3{font-size:29px}.program-card-copy{padding-top:21px}.program-card p{font-size:13px;margin-top:14px}.card-link{margin-top:17px}.founder-section{padding-block:45px}.founder-layout{grid-template-columns:1fr;gap:32px}.founder-layout p:not(.eyebrow){margin-top:22px;font-size:13px}.founder-layout figure{order:2}.cta{display:block;padding-block:53px}.cta h2{font-size:36px}.cta .button{margin-top:24px}.cta p:not(.eyebrow){font-size:13px;margin-top:18px}footer{padding-top:28px}.footer-inner,.footer-bottom{width:calc(100% - 40px)}.footer-inner{align-items:start;flex-wrap:wrap;gap:23px;padding-bottom:27px}.footer-inner>p{font-size:10px}.footer-inner>a:last-child{width:100%;padding-top:10px;border-top:1px solid var(--line)}.footer-bottom{font-size:8px;gap:15px;align-items:start}.footer-bottom>span:last-child{text-align:right}.page-hero{padding-top:42px;padding-bottom:40px;grid-template-columns:1fr;gap:35px}.page-hero h1{font-size:clamp(50px,9.8vw,70px)}.page-hero .lead{font-size:15px;margin-top:23px}.page-hero .actions{margin-top:24px}.page-hero figure img{aspect-ratio:1.5}.mission-section{padding-block:43px}.mission-layout{grid-template-columns:1fr;gap:25px}.mission-layout h2{font-size:38px}.mission-layout p:not(.eyebrow){font-size:13px}.mission-layout p.mission-statement{font-size:24px;line-height:1.5}.split-section{padding-block:47px;grid-template-columns:1fr;gap:30px}.split-section .photo-stack{order:2;max-width:100%}.photo-stack img{max-height:430px;object-position:center}.split-section p:not(.eyebrow){font-size:13px;margin-top:20px}.lesson-tags{margin-top:20px}.youth-wide{grid-template-columns:1fr}.youth-wide img{max-height:390px}.photo-caption{padding:28px}.photo-caption p{font-size:31px}.photo-caption span{margin-bottom:14px}.rates-section{grid-template-columns:1fr;gap:32px;padding-block:50px}.rates-section .text-link{margin-top:24px}.youth-rate>p:not(.price){font-size:13px}.price{font-size:39px}.quote-panel{padding-block:43px}.quote-panel blockquote{font-size:30px}.teacher-intro{padding-block:46px;grid-template-columns:1fr;gap:24px}.teacher-intro p:not(.eyebrow){font-size:13px}.pillar-section{grid-template-columns:1fr;gap:30px;padding-bottom:50px}.pillar-section>div:first-child{order:2}.pillar-section h2{font-size:38px}.pillars li{font-size:22px;padding-block:12px}.journal-section>img{min-height:350px;object-position:60% center}.journal-caption{position:static;padding:25px 22px;background:var(--sage)}.journal-caption h2{font-size:34px}.teacher-rates{padding-block:50px}.teacher-rates .section-heading>.text-link{margin-top:25px}.rate-grid{grid-template-columns:1fr;gap:15px}.rate-card{padding:25px}.rate-card h3{font-size:29px;min-height:0}.rate-card .price{font-size:33px}.rate-session{margin-block:13px 19px}.contact-intro{padding-top:42px;padding-bottom:20px}.contact-intro h1{font-size:clamp(48px,10vw,70px)}.contact-intro .lead{font-size:15px}.contact-layout{grid-template-columns:1fr;gap:27px;padding-bottom:45px}.contact-details h2{font-size:34px}.contact-row{grid-template-columns:72px 1fr}.contact-row a,.contact-row p{font-size:15px}.contact-details .actions{margin-top:26px}.contact-photo{margin-top:0}.contact-photo img{aspect-ratio:1.6}.contact-programs{padding-bottom:45px}.contact-programs>div{grid-template-columns:1fr;gap:0}.contact-programs a{font-size:27px}.contact-programs a+a{border-top:0}.dialog-top{padding:15px}.dialog-top h2{font-size:12px}.close-dialog{font-size:11px}.footer-logo{width:115px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Supplied MVMNT identity, with its original artwork preserved. */
.header-logo{display:block;width:100px;height:auto;mix-blend-mode:multiply}.site-header .header-inner{min-height:120px}.site-header .wordmark{display:block;line-height:1}.footer-logo{width:105px;height:auto;margin-bottom:10px}
@media(max-width:760px){.site-header .header-inner{min-height:0;padding-top:10px}.header-logo{width:78px}.site-header .nav{margin-top:10px}.footer-logo{width:95px}}

.hero-image{width:100%;justify-self:stretch}.hero-image img{aspect-ratio:3/2;object-fit:cover;max-height:none}
@media(max-width:760px){.hero-image{width:calc(100% - 12px);justify-self:center}}

/* Soft corners throughout the site. */
img:not(.header-logo):not(.footer-logo),.program-photo,.photo-stack{border-radius:22px}
.hero-image::before{border-radius:22px}
.program-card,.program-card-copy{border-radius:20px}
.button,.lesson-tags span,.close-dialog,.text-link{border-radius:999px}
.text-link{padding:6px 14px;border:1px solid #a7ae9b}
.rate-card,.contact-photo,.youth-wide,.journal-caption,.photo-caption,dialog{border-radius:22px}
.youth-wide,.program-photo,dialog{overflow:hidden}
dialog{overflow-y:auto}
.dialog-top{border-radius:21px 21px 0 0}
#flyer-pages img{border-radius:14px}
.founder-section,.mission-section,.quote-panel,.intention-strip{border-radius:26px}
.site-header{border-radius:0 0 20px 20px}
footer{border-radius:26px 26px 0 0}
.nav a::after{border-radius:999px}
@media(max-width:760px){img:not(.header-logo):not(.footer-logo),.program-photo,.photo-stack,.hero-image::before,.rate-card,.contact-photo,.youth-wide,.journal-caption,.photo-caption{border-radius:18px}.founder-section,.mission-section,.quote-panel,.intention-strip{border-radius:21px}}

/* Decorative watermark stays behind the content while the page scrolls. */
body{isolation:isolate}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:url("assets/background-watermark-hd.png");background-repeat:no-repeat;background-position:50% 54%;background-size:min(72vw,680px) auto;opacity:.105;mix-blend-mode:multiply}
@media(max-width:760px){body::before{background-size:86vw auto;background-position:50% 57%;opacity:.09}}

/* Teacher Wellness photo carousel. */
.wellness-carousel{min-width:0}
.carousel-frame{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--sage);touch-action:pan-y}
.carousel-slide{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.carousel-slide[hidden]{display:none}
.teacher-hero .carousel-frame img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain;border-radius:0}
.carousel-slide:not([hidden]){animation:carousel-appear .45s ease-out}
.carousel-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}
.carousel-dots,.carousel-nav{display:flex;align-items:center;gap:5px}
.carousel-toolbar button{border:1px solid var(--line);background:var(--paper);color:var(--olive);display:inline-flex;justify-content:center;align-items:center;cursor:pointer;transition:background .2s}
.carousel-toolbar button:hover{background:var(--sage)}
.carousel-toolbar .carousel-dot{width:30px;height:32px;padding:0;border:0;border-radius:999px;background:transparent}
.carousel-dot::before{content:"";display:block;width:7px;height:7px;border-radius:999px;background:#abb19f;transition:width .2s,background .2s}
.carousel-dot[aria-current="true"]::before{width:21px;background:var(--olive)}
.carousel-arrow{width:34px;height:34px;border-radius:50%;padding:0;font-size:19px;line-height:1}
.carousel-count{min-width:37px;text-align:center;font-size:10px;letter-spacing:.4px;color:var(--muted)}
.carousel-toggle{min-width:58px;min-height:34px;margin-left:4px;padding:6px 12px;border-radius:999px;font-size:10px}
.carousel-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@keyframes carousel-appear{from{opacity:.35;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.carousel-frame{border-radius:18px}.carousel-toolbar{gap:6px}.carousel-toolbar .carousel-dot{width:26px}.carousel-nav{gap:4px}}
@media(prefers-reduced-motion:reduce){.carousel-slide:not([hidden]){animation:none}.carousel-dot::before{transition:none}}

/* Script logo supplied for the footer. */
.footer-logo{width:165px;height:auto}
@media(max-width:760px){.footer-logo{width:145px}}

/* Photo gallery. */
.gallery-intro{padding-top:68px;padding-bottom:44px}
.gallery-intro h1{font-size:clamp(50px,5vw,75px)}
.gallery-intro>p:last-child{font-size:15px;color:var(--muted);margin-top:24px}
.gallery-section{padding-bottom:85px}
.gallery-grid{columns:3;column-gap:22px}
.gallery-photo{display:block;width:100%;margin:0 0 22px;padding:0;position:relative;break-inside:avoid;border:0;border-radius:22px;background:transparent;text-align:left;cursor:zoom-in}
.gallery-photo img{display:block;width:100%;height:auto;image-orientation:from-image;border-radius:22px}
.gallery-open{position:absolute;right:14px;bottom:14px;display:flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:var(--paper);color:var(--ink);font-size:20px;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s}
.gallery-photo:hover .gallery-open,.gallery-photo:focus-visible .gallery-open{opacity:1;transform:translateY(0)}
dialog.gallery-lightbox{width:min(1080px,94vw);max-height:94dvh;border-radius:22px;padding:0;background:var(--paper)}
.gallery-viewer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 22px;border-bottom:1px solid var(--line)}
.gallery-viewer-top h2{font-family:var(--sans);font-size:13px;letter-spacing:.2px}
.gallery-close{padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:transparent;font-size:11px}
.gallery-close span{font-size:20px;margin-left:12px;vertical-align:-1px}
.gallery-viewer-stage{height:min(65dvh,700px);display:flex;align-items:center;justify-content:center;padding:16px;background:var(--sage)}
.gallery-viewer-stage img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;image-orientation:from-image;border-radius:14px}
.gallery-viewer-bottom{display:flex;align-items:center;justify-content:center;padding:17px 22px}
.gallery-viewer-nav{display:flex;align-items:center;gap:12px;flex-shrink:0}
.gallery-viewer-nav button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--olive);font-size:20px}
.gallery-viewer-nav button:hover,.gallery-close:hover{background:var(--sage)}
#gallery-viewer-count{font-size:10px;min-width:60px;text-align:center;color:var(--muted)}
@media(max-width:1000px){.gallery-grid{columns:2}}
@media(max-width:760px){.nav{padding:0 8px}.nav a{padding:14px 7px;font-size:9.5px}.nav a::after{left:7px;right:7px}.gallery-intro{padding-top:42px;padding-bottom:30px}.gallery-intro h1{font-size:53px}.gallery-intro>p:last-child{font-size:13px}.gallery-section{padding-bottom:45px}.gallery-grid{column-gap:15px}.gallery-photo{margin-bottom:15px;border-radius:18px}.gallery-photo img{border-radius:18px}.gallery-open{opacity:1;transform:none;width:29px;height:29px;font-size:17px;right:10px;bottom:10px}.gallery-viewer-top{padding:14px 16px}.gallery-viewer-top h2{font-size:11px}.gallery-viewer-stage{height:62dvh;padding:10px}.gallery-viewer-bottom{padding:14px 16px}}
@media(max-width:560px){.gallery-grid{columns:1}}
@media(max-width:380px){.nav a{padding-inline:5px;font-size:9px}.nav a::after{left:5px;right:5px}}

/* Contact form and private message inbox. */
.inbox-sign-in-section{padding-block:65px 85px;min-height:65vh}
.inbox-sign-in-card{max-width:530px;margin:auto;padding:38px;border:1px solid var(--line);border-radius:22px;background:rgba(248,245,235,.85)}
.inbox-sign-in-card h1{font-size:clamp(42px,4vw,58px)}
.inbox-sign-in-description{font-size:14px;color:var(--muted);margin-block:22px 30px}
.inbox-sign-in-card .text-link{margin-top:24px}
#email-inbox-sign-out[hidden]{display:none}
@media(max-width:760px){.inbox-sign-in-section{padding-block:42px 50px}.inbox-sign-in-card{padding:28px 22px}}
.contact-form-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;padding-block:65px 75px;border-top:1px solid var(--line);scroll-margin-top:140px}
.contact-form-intro h2{font-size:44px}
.contact-form-intro>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:24px;max-width:340px}
.inbox-owner-link{margin-top:26px}
.inbox-owner-link[hidden],.inbox-more[hidden]{display:none}
.contact-form{position:relative}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-field{margin-bottom:22px}
.form-field label{display:block;font-size:12px;color:var(--ink);margin-bottom:8px}
.form-field input,.form-field textarea{display:block;width:100%;border:1px solid #c8cebd;border-radius:16px;background:rgba(250,248,241,.65);color:var(--ink);padding:13px 15px;font:14px/1.7 var(--sans);resize:vertical}
.form-field input:focus,.form-field textarea:focus{outline:2px solid var(--olive);outline-offset:2px;background:#f8f5ec}
.form-field textarea{min-height:160px}
.form-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.form-actions .button{min-width:158px;cursor:pointer}
.button:disabled{opacity:.6;cursor:wait;transform:none}
.form-status{font-size:13px;line-height:1.7;margin-top:18px;min-height:1.7em;color:var(--olive)}
.form-status[data-state="error"]{color:#8b4533}
.form-status[data-state="success"]{padding:12px 16px;border-radius:14px;background:var(--sage);border:1px solid #c5d0b9}
.inbox-section{padding-block:65px 85px;min-height:65vh}
.inbox-section h1{font-size:clamp(46px,5vw,70px)}
.inbox-description{font-size:14px;color:var(--muted);margin-top:24px}
.inbox-actions{margin-block:26px 35px}
#inbox-status{font-size:13px;color:var(--muted)}
#inbox-list{display:grid;gap:20px;margin-top:24px}
.message-card{padding:28px;border:1px solid var(--line);border-radius:22px;background:rgba(248,245,235,.85);overflow-wrap:anywhere}
.message-card h2{font-size:28px;letter-spacing:-.7px}
.message-meta{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap;margin-top:10px;font-size:12px;color:var(--muted)}
.message-meta a{text-decoration:underline;text-underline-offset:4px;color:var(--olive)}
.message-meta time{font-size:10px}
.message-body{font-size:14px;white-space:pre-wrap;line-height:1.8;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.inbox-more{margin-top:25px}
.inbox-folders{display:flex;gap:8px;flex-wrap:wrap;margin-block:24px 12px}
.inbox-folders .button{min-width:90px;justify-content:center;padding:10px 20px}
.inbox-folders [aria-pressed="true"]{background:var(--olive);border-color:var(--olive);color:#fff}
.inbox-help{font-size:12px;color:var(--muted);margin-bottom:24px;max-width:680px}
.message-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.message-badge{font-size:10px;line-height:1.5;padding:5px 12px;background:var(--sage);border:1px solid var(--line);border-radius:999px;color:var(--olive);white-space:nowrap}
.message-card[data-read="false"]{border-color:#a7b596}
.message-card[data-read="false"] .message-badge{background:var(--olive);color:#fff;border-color:var(--olive)}
.message-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.message-actions .button{font-size:11px;padding:9px 15px;justify-content:center}
.message-actions .message-trash{color:#874a39;border-color:#cbb1a4}
#inbox-status[data-state="error"]{color:#8b4533}
@media(max-width:760px){.contact-form-section{grid-template-columns:1fr;gap:28px;padding-block:42px 40px;scroll-margin-top:160px}.contact-form-intro h2{font-size:38px}.contact-form-intro>p:not(.eyebrow){font-size:13px}.form-row{grid-template-columns:1fr;gap:0}.form-field{margin-bottom:18px}.form-field input,.form-field textarea{font-size:16px;padding:12px 14px}.inbox-section{padding-block:42px 45px}.message-card{padding:22px}.message-card h2{font-size:25px}.message-body{font-size:13px}}

/* Blend the footer artwork directly into its background. */
.footer-logo{mix-blend-mode:darken;background:transparent;border:0;box-shadow:none;margin-bottom:0}
.footer-brand{display:inline-block;background:transparent;border:0;box-shadow:none}

/* Bio photo carousel and social contact icons. */
.founder-layout .carousel-frame{aspect-ratio:3/2}
.founder-layout .carousel-frame img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain;border-radius:0}
.contact-social-label{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.contact-social-icon{display:block;width:18px;height:18px;flex:0 0 18px;color:var(--olive)}
@media(max-width:760px){.contact-social-label{gap:5px}.contact-social-icon{width:17px;height:17px;flex-basis:17px}}

/* Community Movement joins the three program choices. */
.program-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.program-card{display:flex;flex-direction:column;min-width:0}
.program-card-copy{display:flex;flex-direction:column;flex:1}
.program-card h3{font-size:29px;min-height:64px}
.program-card h3 span{flex-shrink:0}
.program-card .card-link{margin-top:auto;padding-top:18px}
.program-card-community .program-photo img{object-position:50% 68%}
.community-hero figure img{aspect-ratio:3/4;object-fit:contain;max-height:600px}
.community-hero .carousel-frame{aspect-ratio:4/3}
.community-hero .carousel-frame img{display:block;width:100%;height:100%;aspect-ratio:auto;max-height:none;object-fit:contain;border-radius:0}
.community-hero .lead{font-family:var(--serif);font-size:26px;color:var(--ink);margin-bottom:14px}
.nav{gap:22px}
@media(min-width:761px) and (max-width:1050px){.site-header .header-inner{gap:18px;width:calc(100% - 48px)}.nav{gap:16px}.nav a{font-size:11px}}
@media(max-width:1000px){.program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.program-grid{grid-template-columns:1fr}.program-card h3{min-height:0}.nav{justify-content:flex-start;gap:0;overflow-x:auto;scrollbar-width:thin}.nav a{flex:0 0 auto;padding:14px 9px}.community-hero figure img{aspect-ratio:3/4;max-height:520px}.community-practice .photo-stack{order:0}}

/* One-season autumn decoration, enabled only on the home page. */
.fall-leaves{position:fixed;inset:0;z-index:2;overflow:hidden;pointer-events:none;user-select:none}
.fall-leaf{position:absolute;top:-48px;left:var(--leaf-x);width:var(--leaf-size);height:auto;opacity:0;color:var(--leaf-color);animation:fall-leaf-drift var(--leaf-duration) var(--leaf-delay) linear infinite;will-change:transform}
.fall-leaves[data-paused="true"] .fall-leaf{animation-play-state:paused}
.fall-leaves[hidden],.fall-leaves-toggle[hidden]{display:none}
.fall-leaves-toggle{position:fixed;right:20px;bottom:20px;z-index:9;display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:8px 13px;border:1px solid #cec9b9;border-radius:999px;background:#eee7daf2;color:var(--olive);box-shadow:0 2px 12px #28352d0a;font-size:11px;line-height:1.4}
.fall-leaves-toggle:hover{background:var(--sage)}
.fall-leaves-toggle svg{width:15px;height:18px;flex:none}
@keyframes fall-leaf-drift{
  0%{transform:translate3d(0,-40px,0) rotate(var(--leaf-turn));opacity:0}
  12%{opacity:.42}
  50%{transform:translate3d(var(--leaf-sway),52vh,0) rotate(calc(var(--leaf-turn) + 130deg))}
  88%{opacity:.36}
  100%{transform:translate3d(var(--leaf-drift),calc(100vh + 100px),0) rotate(calc(var(--leaf-turn) + 300deg));opacity:0}
}
@media(max-width:760px){.fall-leaf:nth-child(n+7){display:none}.fall-leaves-toggle{right:12px;bottom:12px;font-size:10px;min-height:36px;padding:7px 11px}}
@media(prefers-reduced-motion:reduce){.fall-leaves,.fall-leaves-toggle{display:none!important}.fall-leaf{animation:none!important}}
