:root{--ink:#293c3b;--terra:#ad6959;--sage:#edf0ec;--muted:#526869;--line:#ced5cf;--cream:#f8f6f1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;color:var(--ink);background:white;font:17px/1.6 Arial,Helvetica,sans-serif}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:4px}button{font:inherit}.wrap{width:min(1220px,calc(100% - 64px));margin:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.1;letter-spacing:-.035em}h1{font-size:clamp(2.6rem,4.7vw,4.4rem);max-width:600px;margin-bottom:20px}h2{font-size:clamp(1.8rem,2.5vw,2.5rem);margin-bottom:22px}h3{font-size:1.18rem;letter-spacing:-.02em;margin-bottom:10px}p{margin-bottom:18px}.lead{font-size:1.4rem;line-height:1.4;color:var(--muted)}.quiet{font-size:1rem;color:var(--muted)}.eyebrow{font-weight:bold;color:var(--muted);margin-bottom:12px}.button{min-height:52px;display:inline-flex;justify-content:center;align-items:center;gap:20px;border-radius:40px;background:var(--terra);color:#fff;text-decoration:none;font-weight:bold;padding:13px 30px;border:1px solid var(--terra);transition:background .2s}.button:hover{background:#925345}.button.small{padding:9px 21px;min-height:44px}.button.outline{color:var(--ink);background:transparent;border-color:var(--ink)}.button.outline:hover{background:white}a:focus-visible,button:focus-visible{outline:3px solid #975836;outline-offset:5px}.skip{position:fixed;left:12px;top:-100px;background:white;padding:12px;z-index:99}.skip:focus{top:12px}header{background:#fff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:10}.header-row{display:flex;align-items:center;gap:25px;min-height:112px;padding-top:18px;padding-bottom:18px}.brand{width:310px;flex-shrink:0}.legacy{width:185px;flex-shrink:0;margin-left:auto}nav{display:flex;align-items:center;gap:20px;margin-left:auto}nav a{text-decoration:none;font-size:.88rem;white-space:nowrap}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding-top:40px;padding-bottom:48px;gap:24px}.hero-art{width:100%;mix-blend-mode:multiply}.hero-copy{padding:20px 0}.facts{display:flex;gap:0;list-style:none;padding:0;margin:25px 0;flex-wrap:wrap;color:var(--muted);font-size:1rem}.facts li+li:before{content:"·";margin:0 16px}.price{display:flex;align-items:center;gap:26px;margin:20px 0}.price strong{font-size:3.7rem;line-height:1;font-weight:800;color:var(--terra);letter-spacing:-.05em}.price>span{border-left:1px solid var(--line);padding-left:25px;font-size:1rem;line-height:1.35}.hero .button{min-width:250px}.hero-note{margin:18px 0 0}.process{background:var(--sage);padding:48px 0}.process-grid{display:grid;grid-template-columns:.85fr 1fr 1fr 1fr;gap:35px}.process-grid>div{padding-top:28px}.process article>img{height:160px;width:100%;object-fit:contain;mix-blend-mode:multiply;margin-bottom:20px}.step-copy{display:flex;align-items:flex-start;gap:12px}.number{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#7f9690;color:white;flex-shrink:0}.step-copy p{font-size:1rem;color:var(--muted);margin-bottom:0}.take-home{display:grid;grid-template-columns:.95fr 1fr 1fr 1fr;gap:35px;padding-top:50px;padding-bottom:45px;align-items:center}.take-home article img{height:200px;width:100%;object-fit:contain;mix-blend-mode:multiply}.take-home article{text-align:center}.take-home article p{font-size:1rem;color:var(--muted)}.take-home article h3{margin-top:18px}.audience{border-top:1px solid var(--line);padding-top:36px;padding-bottom:40px}.audience h2{font-size:1.65rem}.audience ul{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-left:20px}.audience li{padding-left:6px}.about{display:grid;grid-template-columns:1fr 1.15fr;gap:60px;align-items:center;padding-top:25px;padding-bottom:70px}.portrait{overflow:hidden;border-radius:4px}.portrait img{width:100%;height:550px;object-fit:cover;object-position:50% 30%}.about-copy>p:not(.eyebrow){color:var(--muted)}.credentials{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);padding-top:24px;margin-top:28px}.credentials b,.credentials span{display:block;font-size:.95rem}.credentials span{color:var(--muted);margin-top:8px}.moments{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:center;padding-bottom:65px}.moments img{height:475px;width:100%;object-fit:cover;object-position:50% 29%;border-radius:4px}.reviews{background:var(--cream);padding:60px 0}.reviews h2{max-width:860px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:28px 0}.review-grid figure{margin:0;background:white;border:1px solid var(--line);border-radius:12px;padding:28px;display:flex;flex-direction:column}.review-grid figure>span{font:65px/.75 Georgia,serif;color:var(--terra)}blockquote{margin:18px 0 26px;font-size:1.12rem;line-height:1.55}figcaption{font-weight:bold;font-size:.95rem;margin-top:auto}.more{display:block;text-align:center;font-size:1rem}.booking{padding-top:65px;padding-bottom:60px}.booking-grid{display:grid;grid-template-columns:1.45fr .8fr;gap:50px;align-items:center;margin:30px 0}.date{display:flex;align-items:center;gap:20px;padding:20px 24px;border:1px solid var(--line);border-radius:12px;text-decoration:none;margin-bottom:12px}.date:hover{border-color:var(--terra);background:var(--cream)}.date small{display:block;color:var(--muted);font-size:.9rem}.date time{margin-left:auto;white-space:nowrap}.booking-price .button{width:100%;padding-left:18px;padding-right:18px}.booking-price .quiet{text-align:center;margin-top:12px}.details{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding-top:25px;border-top:1px solid var(--line);font-size:1rem;color:var(--muted)}.deeper{background:var(--sage)}.deeper-grid{display:grid;grid-template-columns:210px 1fr auto;gap:40px;align-items:center;padding-top:35px;padding-bottom:35px}.deeper img{width:210px;mix-blend-mode:multiply}.deeper h2{font-size:1.8rem;margin-bottom:10px}.deeper p:last-child{margin-bottom:0}.deeper .lead{font-size:1.2rem;margin-bottom:10px}footer{padding-top:36px;padding-bottom:22px}.footer-main{display:flex;gap:45px;align-items:center}.footer-main>div>a{display:block;font-size:1rem;margin-top:5px}.footer-logo{width:235px}.copyright{font-size:.85rem;color:var(--muted);margin:30px 0 0}
.header-row{min-height:90px}
.workshop-title{padding-top:32px;padding-bottom:8px}
.workshop-name{font-size:clamp(1.4rem,2.6vw,2.1rem);font-weight:700;letter-spacing:.09em;text-transform:uppercase;margin-bottom:6px;line-height:1.2}
.workshop-motto{font-size:clamp(1.05rem,1.6vw,1.35rem);color:var(--muted);margin:0}
.hero-art{clip-path:none;object-fit:contain}
.hero{padding-top:10px}
.process{position:relative;background:linear-gradient(180deg,#fff 0%,var(--sage) 10%,var(--sage) 88%,#fff 100%);padding-top:65px;padding-bottom:65px}
.process article{position:relative}
.process article:not(:last-child)::after{content:"→";position:absolute;right:-28px;top:80px;color:#7f9690;font:32px Georgia,serif}
.about,.moments{position:relative;isolation:isolate}
.portrait{position:relative;overflow:visible;border-radius:0}
.portrait img{border-radius:0;mask-image:linear-gradient(to right,#000 82%,transparent),linear-gradient(to bottom,transparent,#000 5%,#000 94%,transparent);mask-composite:intersect}
.portrait::after,.about-copy::after,.moments-copy::after,.deeper::after{content:"";position:absolute;background:url("assets/botanical.png") center/contain no-repeat;pointer-events:none;mix-blend-mode:multiply}
.portrait::after{width:150px;height:210px;bottom:-28px;left:-22px;transform:rotate(-28deg)}
.about-copy{position:relative;padding-top:30px;padding-right:25px}
.about-copy::after{width:120px;height:165px;right:-25px;top:-110px;transform:rotate(20deg);z-index:-1}
.moments-copy{position:relative;padding-bottom:75px}
.moments-copy::after{width:105px;height:170px;right:0;bottom:0;transform:rotate(-12deg)}
.moments-photo img{border-radius:0;mask-image:linear-gradient(to left,#000 86%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 95%,transparent);mask-composite:intersect}
.deeper{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,white,var(--sage) 18%,var(--sage) 85%,white)}
.deeper-grid{grid-template-columns:240px 1fr auto;gap:30px;padding-top:55px;padding-bottom:55px}
.deeper-grid>img{width:240px;mask-image:linear-gradient(to right,transparent,#000 8%,#000 90%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);mask-composite:intersect}
.deeper::after{width:200px;height:280px;right:-75px;bottom:-55px;transform:rotate(-35deg);opacity:.75;z-index:-1}
@media(max-width:1100px){.deeper-grid{grid-template-columns:200px 1fr}.deeper-grid>img{width:200px}.about-copy::after{right:-10px}}
@media(max-width:850px){.workshop-title{padding-top:24px}.workshop-name{letter-spacing:.05em}.hero{padding-top:15px}.process article:not(:last-child)::after{display:none}.about-copy{padding-top:35px;padding-right:0}.about-copy::after{top:-45px;right:0;width:85px;height:110px}.portrait img{mask-image:linear-gradient(to bottom,transparent,#000 4%,#000 93%,transparent)}.portrait::after{left:-10px;width:110px;height:160px}.moments-copy{padding-bottom:25px;padding-right:50px}.moments-copy::after{width:65px;height:110px;right:0;bottom:5px}.moments-photo img{mask-image:linear-gradient(to bottom,transparent,#000 4%,#000 95%,transparent)}.deeper-grid{grid-template-columns:125px 1fr;gap:18px;padding-top:40px;padding-bottom:40px}.deeper-grid>img{width:125px}.deeper::after{width:125px;right:-65px;opacity:.4}}
@media(max-width:420px){.workshop-name{font-size:1.25rem}.workshop-motto{font-size:1.05rem;max-width:310px}.deeper-grid{grid-template-columns:95px 1fr}.deeper-grid>img{width:95px}}
@media(min-width:1450px){.hero{padding-top:65px;padding-bottom:65px}}
@media(max-width:1100px){.header-row{gap:18px}.brand{width:255px}.legacy{width:155px}nav{gap:13px}nav a{font-size:.82rem}.process-grid,.take-home{gap:22px}.deeper-grid{grid-template-columns:160px 1fr}.deeper-grid>.button{grid-column:2;justify-self:start}.deeper img{grid-row:span 2}.credentials{gap:12px}.about,.moments{gap:35px}}
@media(max-width:850px){html{scroll-padding-top:100px}.wrap{width:calc(100% - 40px)}.header-row{min-height:85px;flex-wrap:wrap}.brand{width:250px;max-width:calc(100% - 96px)}.header-row>.legacy{display:none}.menu-toggle{display:block;margin-left:auto;background:white;border:1px solid var(--line);border-radius:8px;padding:9px 10px;font-size:.9rem;color:var(--ink)}nav{display:none;flex-basis:100%;flex-wrap:wrap;padding:8px 0 5px;margin:0;gap:20px}nav.open{display:flex}nav a{font-size:1rem}.hero{grid-template-columns:1fr;gap:10px;padding-top:20px;padding-bottom:25px}.hero h1{max-width:570px}.hero-art{max-width:570px;justify-self:center}.hero-copy{padding:10px 0}.hero .button{width:100%}.process-grid{grid-template-columns:1fr;gap:25px}.process-grid>div{padding:0}.process-grid>div p{margin:0}.process article{display:grid;grid-template-columns:125px 1fr;gap:20px;align-items:center}.process article>img{height:125px;margin:0}.process{padding:35px 0}.take-home{grid-template-columns:1fr;padding-top:35px;gap:20px}.take-home article{display:grid;grid-template-columns:125px 1fr;text-align:left;column-gap:22px;align-items:center}.take-home article img{grid-row:span 2;height:125px}.take-home article h3{margin:0;align-self:end}.take-home article p{align-self:start;margin:8px 0 0}.section-intro p{margin:0}.audience ul{grid-template-columns:1fr;gap:10px}.about{grid-template-columns:1fr;gap:28px;padding-bottom:45px}.portrait img{height:490px;object-position:50% 25%}.about-copy{order:-1}.credentials{margin-top:22px}.moments{grid-template-columns:1fr;gap:15px;padding-bottom:40px}.moments img{height:460px}.reviews{padding:40px 0}.review-grid{grid-template-columns:1fr;gap:16px}.review-grid figure{padding:24px}.review-grid blockquote{margin:12px 0 16px}.booking{padding-top:40px;padding-bottom:40px}.booking-grid{grid-template-columns:1fr;gap:10px}.booking-price .price{justify-content:center}.details{grid-template-columns:1fr;gap:8px}.details p{margin-bottom:10px}.deeper-grid{grid-template-columns:110px 1fr;gap:15px;padding-top:28px;padding-bottom:28px}.deeper img{width:110px}.deeper .button{grid-column:1/-1;justify-self:stretch}.deeper h2{font-size:1.5rem}.footer-main{flex-wrap:wrap;gap:25px}.footer-logo{margin-left:0;width:210px}}
@media(max-width:420px){body{font-size:16px}.wrap{width:calc(100% - 32px)}h1{font-size:2.7rem}.lead{font-size:1.2rem}.facts{font-size:.9rem}.facts li+li:before{margin:0 9px}.process article{grid-template-columns:95px 1fr;gap:12px}.process article>img{height:105px}.step-copy{gap:9px}.number{width:27px;height:27px;font-size:.85rem}.credentials{grid-template-columns:1fr;gap:14px}.credentials span{margin-top:3px}.portrait img{height:390px}.date{padding:17px 15px;gap:12px}.date time{font-size:.95rem}.moments img{height:400px}.deeper-grid{grid-template-columns:80px 1fr}.brand{width:235px}.footer-main{align-items:flex-start}}
/* Keep the illustrated strip proportional at every screen size. */
.deeper-grid>img{height:auto;object-fit:contain;align-self:center}
@media(max-width:850px){.deeper-grid>img{grid-row:auto}.deeper-grid{grid-template-columns:125px 1fr}.deeper-grid>.button{grid-column:1/-1}.process{padding-top:45px;padding-bottom:45px}.hero{padding-top:12px}.about-copy{order:-1}.header-row{min-height:80px}.moments-photo{min-width:0}}
@media(max-width:420px){.deeper-grid{grid-template-columns:95px 1fr}}
/* Shared illustration scale and section rhythm. */
.workshop-title{padding-top:24px;padding-bottom:0}
.hero{padding-top:8px;padding-bottom:16px;gap:28px}
.hero-copy{padding:16px 0}
.hero-art{height:480px;width:100%;object-fit:contain;align-self:center}
.process{padding:32px 0 36px;background:linear-gradient(180deg,#fff 0%,var(--sage) 5%,var(--sage) 94%,#fff 100%)}
.process-grid{gap:28px;align-items:start}
.process-grid>div{padding-top:12px}
.process article>img{height:180px;margin-bottom:16px;object-position:center bottom}
.process article:not(:last-child)::after{top:85px;right:-23px;font-size:25px}
.take-home{padding-top:32px;padding-bottom:32px;gap:28px;align-items:start}
.take-home .section-intro{padding-top:16px}
.take-home article img{height:205px;object-position:center bottom}
.take-home article h3{margin-top:14px}
.audience{padding-top:28px;padding-bottom:28px}
.about{padding-top:28px;padding-bottom:48px}
.moments{padding-bottom:48px}
.reviews{padding:44px 0}
.booking{padding-top:44px;padding-bottom:44px}
.deeper-grid{grid-template-columns:260px 1fr auto;padding-top:26px;padding-bottom:26px}
.deeper-grid>img{width:260px;height:210px;mask-image:none;object-fit:contain}
@media(max-width:1100px){.deeper-grid{grid-template-columns:220px 1fr}.deeper-grid>img{width:220px;height:180px;grid-row:span 2}.deeper-grid>.button{grid-column:2}.hero-art{height:430px}}
@media(max-width:850px){
 .workshop-title{padding-top:20px}.hero{gap:0;padding-top:8px;padding-bottom:8px}
 .hero-art{height:auto;width:min(100%,440px);max-height:380px}.hero-copy{padding:8px 0 0}
 .process{padding:24px 0 28px}.process-grid{gap:24px}.process-grid>div{padding-top:0}
 .process article{grid-template-columns:130px 1fr;gap:18px}.process article>img{height:130px;margin:0;object-position:center}
 .take-home{padding-top:28px;padding-bottom:28px;gap:20px}.take-home .section-intro{padding:0}
 .take-home article{grid-template-columns:130px 1fr;column-gap:18px}.take-home article img{height:145px;object-position:center}
 .take-home article h3{margin-top:0}.audience{padding:24px 0}
 .about{padding-top:24px;padding-bottom:32px}.moments{padding-bottom:32px}
 .reviews{padding:32px 0}.booking{padding-top:32px;padding-bottom:32px}
 .deeper-grid{grid-template-columns:130px 1fr;gap:16px;padding:24px 0}
 .deeper-grid>img{width:130px;height:150px;grid-row:auto}.deeper-grid>.button{grid-column:1/-1}
}
@media(max-width:420px){.process article,.take-home article{grid-template-columns:100px 1fr;gap:14px}.process article>img{height:115px}.take-home article img{height:130px}.deeper-grid{grid-template-columns:105px 1fr}.deeper-grid>img{width:105px;height:130px}}
/* Photographs and copy share a balanced editorial composition. */
.about{grid-template-columns:1.05fr 1fr;gap:38px;padding-top:30px;padding-bottom:44px}
.portrait img{height:560px;object-position:50% 20%;mask-image:linear-gradient(to right,#000 86%,transparent),linear-gradient(to bottom,transparent,#000 3%,#000 96%,transparent);mask-composite:intersect}
.about-copy{padding:32px 12px 26px 0}
.about-copy h2{max-width:470px}
.about-copy>.lead{max-width:450px}
.about-copy::after{top:-24px;right:0;width:125px;height:150px;transform:rotate(18deg);opacity:.8}
.portrait::after{width:145px;height:175px;left:-18px;bottom:-16px;transform:rotate(-22deg)}
.credentials{gap:18px;padding-top:20px;margin-top:24px}
.moments{grid-template-columns:.85fr 1.15fr;gap:38px;padding-top:12px;padding-bottom:44px}
.moments-copy{padding:22px 30px 90px 0}
.moments-copy h2{max-width:430px}
.moments-copy>p{max-width:350px}
.moments-copy::after{width:135px;height:155px;right:8px;bottom:-10px;transform:rotate(-15deg)}
.moments-photo img{height:500px;object-position:50% 20%;mask-image:linear-gradient(to left,#000 91%,transparent),linear-gradient(to bottom,transparent,#000 3%,#000 97%,transparent);mask-composite:intersect}
footer.wrap{padding-top:36px;padding-bottom:22px}
.footer-main{display:grid;grid-template-columns:1.25fr 1fr auto;gap:40px;align-items:start}
.footer-main .eyebrow{margin-bottom:12px;font-size:1rem;color:var(--ink)}
.footer-contact>a{display:block;width:fit-content;line-height:1.7;text-decoration:none;overflow-wrap:anywhere}
.footer-contact>a:hover{text-decoration:underline}
.footer-social .social{display:flex;gap:12px}
.footer-social .social>a{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:white;text-decoration:none;transition:color .2s,background .2s,border-color .2s}
.footer-social .social>a:hover{background:var(--ink);border-color:var(--ink);color:white}
.footer-social svg{display:block}
.footer-logo{width:215px;margin:0;align-self:center}
.copyright{border-top:1px solid var(--line);padding-top:18px;margin-top:28px;font-size:.85rem}
@media(max-width:1100px){.about,.moments{gap:28px}.portrait img{height:520px}.moments-photo img{height:460px}.about-copy::after{top:-35px;width:100px}.footer-main{gap:24px}.footer-logo{width:185px}}
@media(max-width:850px){
 .about,.moments{grid-template-columns:1fr;gap:22px;padding-top:16px;padding-bottom:32px}
 .about-copy{padding:22px 0 0;order:-1}.about-copy h2,.about-copy>.lead{max-width:100%}
 .about-copy::after{top:-22px;right:0;width:80px;height:100px;opacity:.65}
 .portrait{width:100%;max-width:560px;margin:auto}.portrait img{height:auto;aspect-ratio:1/1.08;object-fit:cover;object-position:50% 18%;mask-image:linear-gradient(to bottom,transparent,#000 3%,#000 96%,transparent)}
 .portrait::after{width:110px;height:135px;bottom:-13px;left:-12px}
 .moments-copy{padding:8px 75px 0 0}.moments-copy h2,.moments-copy>p{max-width:100%}
 .moments-copy::after{width:90px;height:120px;right:-6px;bottom:0}
 .moments-photo{width:100%;max-width:560px;margin:auto}
 .moments-photo img{height:auto;aspect-ratio:1/1.06;object-position:50% 18%;mask-image:linear-gradient(to bottom,transparent,#000 3%,#000 97%,transparent)}
 .footer-main{grid-template-columns:1fr auto;column-gap:20px;row-gap:26px}.footer-logo{grid-column:1/-1;width:185px;justify-self:start}
 .footer-main .eyebrow{font-size:.95rem}.footer-contact>a{font-size:.95rem}
}
@media(max-width:420px){.moments-copy{padding-right:55px}.moments-copy::after{width:70px;height:100px}.footer-main{grid-template-columns:1fr}.footer-social{display:flex;align-items:center;gap:20px}.footer-main .footer-social .eyebrow{margin:0}.footer-logo{grid-column:auto;width:180px}.copyright{font-size:.8rem;line-height:1.6}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Reveal the existing Google form only when registration is requested. */
.registration-panel{margin-top:32px;padding:28px 16px 16px;background:#faf5f2;border:1px solid var(--line);border-radius:18px;scroll-margin-top:110px}
.registration-panel[hidden]{display:none}
.registration-panel>h3,.registration-panel>p{max-width:680px;margin-left:auto;margin-right:auto}
.registration-panel>h3{font-size:1.7rem;margin-top:0}
.registration-panel a{color:inherit;text-underline-offset:3px}
.registration-panel iframe{display:block;width:100%;max-width:760px;height:78vh;height:78svh;max-height:820px;border:0;margin:20px auto 0;background:transparent;scroll-margin-top:100px}
@media(max-width:600px){.registration-panel{padding:22px 0 0;margin-top:24px}.registration-panel>h3,.registration-panel>p{padding:0 16px}.registration-panel iframe{scroll-margin-top:85px}}
