:root{--bg: #f7f5f2;--bg-alt: #ffffff;--accent: #c2877b;--accent-soft: #e7cbc3;--text: #2f2a28;--muted: #6f6460;--border: #e1d9d3;--radius-lg: 18px;--radius-md: 10px;--radius-pill: 999px;--shadow-soft: 0 14px 35px rgba(0,0,0,.06);--max-width: 960px}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at top,#fdfaf6 0,#f7f5f2 45%,#f2eeea);color:var(--text);line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}header{position:sticky;top:0;z-index:20;backdrop-filter:blur(14px);background:#f7f5f2f2;border-bottom:1px solid rgba(225,217,211,.7)}.nav{max-width:var(--max-width);margin:0 auto;padding:.7rem 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.nav-left{display:flex;align-items:center;gap:.6rem}.logo-mark{width:32px;height:32px;border-radius:12px;border:1px solid var(--border);background:linear-gradient(135deg,#f8efe8,#fdfaf6);object-fit:contain;display:block}.logo-link{display:flex;align-items:center;gap:.6rem;color:inherit;text-decoration:none}.logo-text{font-weight:600;letter-spacing:.06em;font-size:.95rem;text-transform:uppercase;color:var(--muted)}.nav-links{display:flex;gap:1.3rem;font-size:.9rem}.nav-links a{position:relative;padding-bottom:.15rem}.nav-links a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--accent);transition:width .2s ease}.nav-links a:hover:after{width:100%}.nav-cta{padding:.45rem .9rem;border-radius:var(--radius-pill);border:1px solid var(--accent-soft);background:#ffffffe6;font-size:.85rem;box-shadow:0 8px 20px #0000000a;color:var(--text);cursor:pointer;font-family:inherit}main{max-width:var(--max-width);margin:0 auto;padding:1.5rem 1.2rem 3rem}section{margin-bottom:3.2rem}section h2{font-size:1.4rem;letter-spacing:.03em;text-transform:uppercase;margin-bottom:.8rem}.calendar-dialog{border:none;padding:1.5rem;background:#2f2a2880;display:flex;align-items:center;justify-content:center;position:fixed;inset:0;z-index:100}.calendar-dialog[hidden]{display:none}.calendar-dialog::backdrop{background:#2f2a2880}.calendar-panel{width:min(960px,92vw);margin:auto;background:var(--bg-alt);border-radius:24px;padding:2rem;box-shadow:0 24px 60px #0003;border:1px solid rgba(225,217,211,.7);max-height:90vh;overflow-y:auto}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem}.calendar-controls{display:flex;align-items:center;gap:.6rem}.calendar-nav-button{border:1px solid var(--border);background:#ffffffe6;width:34px;height:34px;border-radius:999px;cursor:pointer;font-size:1.2rem;line-height:1;color:var(--text)}.calendar-eyebrow{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 .3rem}.calendar-close{border:1px solid var(--border);background:#f7f5f2cc;padding:.45rem .9rem;border-radius:var(--radius-pill);cursor:pointer;font-size:.85rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.6rem;margin-bottom:1.5rem;min-width:520px}.calendar-grid-wrapper{overflow-x:auto;padding-bottom:.5rem}.calendar-weekday{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.calendar-day{min-height:64px;border-radius:16px;border:1px solid rgba(225,217,211,.7);padding:.5rem;background:#ffffffb3;display:flex;flex-direction:column;gap:.25rem}.calendar-day--empty{border:none;background:transparent}.calendar-day--event{border-color:#c2877b80;background:linear-gradient(135deg,#fff6f2,#fefaf6);text-decoration:none}.calendar-day--event:hover{box-shadow:0 12px 20px #00000014}.calendar-day-number{font-size:.8rem;font-weight:600;color:var(--text)}.calendar-day-title{font-size:.68rem;color:var(--muted)}.calendar-events{display:grid;gap:.8rem}.calendar-event{display:grid;grid-template-columns:150px 1fr;gap:1rem;padding:.9rem;border-radius:16px;border:1px solid rgba(225,217,211,.7);background:#f7f5f299;color:var(--text)}.calendar-event:hover{background:#f7f5f2e6}.calendar-event-date{text-align:center;border-right:1px dashed rgba(225,217,211,.9);padding-right:.8rem;font-size:.75rem;text-transform:uppercase;color:var(--muted)}.calendar-page h1{margin-top:0;font-size:clamp(2rem,4vw,2.6rem)}.calendar-event-date strong{display:block;font-size:1.3rem;color:var(--text)}.calendar-event-meta{font-size:.85rem;color:var(--muted);margin:.2rem 0 .4rem}.calendar-empty{margin:0;padding:.6rem .9rem;border-radius:12px;border:1px dashed rgba(225,217,211,.9);color:var(--muted);font-size:.9rem}.calendar-fallback{margin:1rem 0 0;font-size:.85rem;color:var(--muted)}.calendar-fallback a{color:var(--accent)}.workshop-detail{margin-top:1.5rem}.workshop-detail h1{margin-top:.3rem;font-size:clamp(2rem,4vw,2.5rem)}.workshop-meta{color:var(--muted);font-size:.95rem;margin-bottom:1.6rem}.workshop-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:2rem;align-items:start}.workshop-poster{border-radius:22px;padding:2rem;background:linear-gradient(160deg,var(--poster-top),var(--poster-bottom));color:#2c2825;border:1px solid rgba(225,217,211,.8);min-height:280px;display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem}.workshop-poster-media{margin:0;border-radius:18px;overflow:hidden;border:1px solid rgba(225,217,211,.7);background:#ffffff80}.workshop-video-poster,.workshop-video-iframe{display:block;width:100%;height:auto;aspect-ratio:4 / 5;border:none}.workshop-video-poster{position:relative;padding:0;cursor:pointer;background:transparent}.workshop-video-poster img{width:100%;height:100%;display:block;object-fit:cover}.workshop-video-play{position:absolute;inset:50% auto auto 50%;width:56px;height:56px;border-radius:50%;background:#2f2a28b8;transform:translate(-50%,-50%);display:grid;place-items:center;color:#fff}.workshop-video-play svg{width:22px;height:22px;fill:currentColor}.workshop-video-poster:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.workshop-poster span{text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;color:#2f2a28a6}.workshop-poster h2{text-transform:none;margin:.4rem 0}.workshop-poster p{margin:0;font-size:1rem}.workshop-description p{margin-top:0}.workshop-highlights{padding-left:1.2rem;margin-bottom:0}.ticket-purchase{margin-top:2rem;padding:1.5rem;border-radius:18px;border:1px solid rgba(225,217,211,.9);background:#fdf9f6;box-shadow:var(--shadow-soft)}.ticket-toggle{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;padding:.7rem 1.6rem;background:var(--accent);color:#fff;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 8px 18px #8e5c4f40}.ticket-toggle:disabled{background:#8e5c4f73;cursor:not-allowed;box-shadow:none}.ticket-toggle:not(:disabled):hover{transform:translateY(-1px)}.ticket-form{margin-top:1.2rem;display:grid;gap:.9rem}.ticket-form label{display:grid;gap:.4rem;font-size:.9rem;color:var(--muted)}.ticket-form input{border-radius:12px;border:1px solid rgba(225,217,211,.95);padding:.6rem .75rem;font-size:1rem}.ticket-submit{border:none;border-radius:12px;padding:.7rem 1.2rem;background:#3e2d2b;color:#fff;font-weight:600;cursor:pointer;justify-self:start}.ticket-note{margin:0;font-size:.85rem;color:var(--muted)}.ticket-status{margin:0;font-size:.9rem;color:#5b3b33}@media (max-width: 860px){.calendar-panel{padding:1.5rem}.calendar-event{grid-template-columns:1fr}.calendar-event-date{border-right:none;border-bottom:1px dashed rgba(225,217,211,.9);padding-bottom:.6rem;padding-right:0}.calendar-controls{flex-wrap:wrap;justify-content:flex-end}.calendar-header{align-items:flex-start}.workshop-detail-grid{grid-template-columns:1fr}}@media (max-width: 720px){.calendar-panel{padding:1.2rem}.calendar-day{min-height:72px}.calendar-day-title{font-size:.6rem;display:block}.calendar-event{grid-template-columns:1fr;text-align:left}.calendar-event-date{text-align:left}.calendar-dialog{padding:1rem}.calendar-controls{width:100%;justify-content:flex-start}}.section-intro{font-size:.98rem;color:var(--muted);max-width:36rem;margin-bottom:1.4rem}.hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1.6fr);gap:2.2rem;align-items:center;margin-top:1.4rem}.hero-media{border-radius:26px;border:1px solid rgba(225,217,211,.95);background:linear-gradient(135deg,#f2e3d7,#fdfaf6);min-height:230px;box-shadow:var(--shadow-soft);position:relative;overflow:hidden}.hero-media:after{content:""}.hero-media img{width:100%;height:100%;object-fit:cover;display:block}.hero-copy{padding-right:.3rem}.eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:.5rem}.hero-title{font-size:clamp(2rem,3.2vw,2.5rem);line-height:1.1;margin:0 0 .8rem}.hero-title span{background:linear-gradient(120deg,#c2877b,#d8a58f);-webkit-background-clip:text;color:transparent}.hero-sub{font-size:1.02rem;color:var(--muted);margin-bottom:1.4rem;max-width:30rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1rem}.btn{border-radius:var(--radius-pill);padding:.7rem 1.4rem;border:none;cursor:pointer;font-size:.95rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;text-decoration:none}.btn-primary{background:linear-gradient(135deg,#c2877b,#d7a38b);color:#fff;box-shadow:var(--shadow-soft)}.btn-secondary{background:#ffffffe6;color:var(--muted);border:1px solid var(--border)}.hero-footnote{font-size:.8rem;color:var(--muted)}.grid-2{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.3fr);gap:2rem;align-items:start}.about-workshops .grid-2{align-items:center}#facilitator .grid-2{align-items:stretch}.card{background:var(--bg-alt);border-radius:var(--radius-lg);border:1px solid var(--border);padding:1.1rem 1.2rem;box-shadow:0 10px 30px #00000008}.card h3{margin-top:0}.card--image{padding:0;background:transparent;border:0;box-shadow:none}.card--image .info-image{height:100%}.info-images{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:.7rem}.info-image{margin:0;border-radius:14px;border:1px solid var(--border);background:#fff;min-height:180px;overflow:hidden}.info-image img{width:100%;height:100%;max-height:none;object-fit:cover;display:block}.facilitator-image img{object-fit:cover}.checklist{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1.2fr);gap:1.8rem;align-items:start}.checklist ul{list-style:none;padding-left:0;margin:.6rem 0 0;font-size:.95rem}.checklist li+li{margin-top:.35rem}.checkmark{margin-right:.4rem;color:var(--accent)}.checklist-note{font-size:.84rem;color:var(--muted);margin-top:.7rem}.question-card{background:#ffffffe6;border-radius:var(--radius-lg);border:1px dashed var(--border);padding:.95rem 1rem;font-size:.92rem;color:var(--muted)}.media-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.1rem}.media-pill{border-radius:999px;border:1px solid var(--border);background:var(--bg-alt);padding:.9rem 1rem;box-shadow:0 10px 26px #00000008;display:flex;flex-direction:column;justify-content:center}.media-pill-title{font-size:.9rem;font-weight:600;margin-bottom:.15rem}.media-pill p{margin:0;font-size:.8rem;color:var(--muted)}.services-page-hero{padding:2.4rem;border-radius:28px;border:1px solid rgba(225,217,211,.8);background:linear-gradient(135deg,#fdfaf6,#f2e3d7);box-shadow:var(--shadow-soft);margin-bottom:3.5rem}.services-page-hero h1{font-size:clamp(2rem,3vw,2.6rem);margin-bottom:1rem}.page-hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.3rem}.services-grid-section h2{text-transform:none;font-size:1.7rem;margin-bottom:1.3rem}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.4rem}.service-card{background:var(--bg-alt);border-radius:22px;border:1px solid var(--border);padding:1.4rem 1.5rem;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:1rem}.service-card h3{margin:0 0 .4rem;font-size:1.15rem}.service-description{margin:0;color:var(--muted);font-size:.95rem}.service-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.8rem;margin:0}.service-meta dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.2rem}.service-meta dd{margin:0;font-weight:600}.service-highlights{margin:.6rem 0 0;padding-left:1.1rem;color:var(--muted);font-size:.92rem}.service-highlights li+li{margin-top:.3rem}.services-cta{text-align:center;margin-top:3rem;padding:2.2rem 1.5rem;border-radius:24px;border:1px solid rgba(226,192,178,.6);background:linear-gradient(135deg,#f8efe8,#fdfaf6);box-shadow:var(--shadow-soft)}.services-cta h2{margin-top:0;margin-bottom:.6rem}.services-cta p{margin:0 auto 1.2rem;max-width:32rem;color:var(--muted)}.services-cta-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem}.testimonial-card{background:var(--bg-alt);border-radius:var(--radius-lg);border:1px solid var(--border);padding:1rem 1.1rem;box-shadow:0 10px 30px #00000008;font-size:.94rem;color:var(--muted)}.testimonial-author{display:block;margin-top:.4rem;font-size:.8rem}.cta-section{text-align:center;padding:2rem 1rem 2.4rem;border-radius:24px;background:linear-gradient(135deg,#f3e3d7,#fdfaf6);border:1px solid rgba(226,192,178,.7);box-shadow:var(--shadow-soft)}.cta-title{font-size:1.5rem;margin:0 0 .6rem}.cta-sub{font-size:.98rem;color:var(--muted);max-width:30rem;margin:0 auto 1.4rem}.contact-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1.8rem;align-items:start}form{display:grid;gap:.75rem}label{font-size:.85rem;color:var(--muted);display:block;margin-bottom:.1rem}input,select,textarea{width:100%;padding:.55rem .7rem;border-radius:9px;border:1px solid var(--border);font:inherit;background:#ffffffed}textarea{min-height:110px;resize:vertical}.hint{font-size:.78rem;color:var(--muted);margin-top:.35rem}.studio-video-carousel{position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-bottom:3.5rem;padding:0 0 2.5rem}.studio-carousel-inner{position:relative}.studio-carousel-viewport{overflow:hidden;width:100%}.studio-carousel-track{--studio-carousel-default-pad: clamp(8vw, 12vw, 14vw);--studio-carousel-gap: clamp(1.5rem, 3vw, 2.5rem);display:flex;gap:var(--studio-carousel-gap);padding-block:1.2rem;position:relative}.studio-carousel-track:before,.studio-carousel-track:after{content:"";flex:0 0 auto;pointer-events:none;width:max(0px,var(--studio-carousel-default-pad))}.studio-carousel-track:before{width:max(0px,var(--studio-carousel-pad-left, var(--studio-carousel-default-pad)));margin-inline-end:calc(var(--studio-carousel-gap) * -1)}.studio-carousel-track:after{width:max(0px,var(--studio-carousel-pad-right, var(--studio-carousel-default-pad)));margin-inline-start:calc(var(--studio-carousel-gap) * -1)}.studio-carousel-progress{display:flex;justify-content:center;align-items:center;gap:.65rem;margin-top:.5rem}.studio-carousel-dot{width:12px;height:12px;border-radius:999px;border:none;background:#0000001f;cursor:pointer;padding:0;transition:transform .2s ease,background .2s ease}.studio-carousel-dot.is-active{background:var(--accent);transform:scale(1.2)}.studio-carousel-dot:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.studio-nav-button{position:absolute;top:50%;transform:translateY(-50%);width:clamp(46px,4vw,60px);height:clamp(46px,4vw,60px);border-radius:999px;border:none;background:#ffffffe6;color:var(--accent);font-size:1.4rem;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 18px 40px #0000001f;cursor:pointer;transition:transform .2s ease,opacity .2s ease;z-index:2}.studio-nav-button span{line-height:1}.studio-nav-button svg{width:clamp(22px,2vw,28px);height:clamp(22px,2vw,28px);stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}.studio-nav-button--prev{left:clamp(.75rem,3vw,2.5rem)}.studio-nav-button--next{right:clamp(.75rem,3vw,2.5rem)}.studio-nav-button:hover{transform:translateY(-50%) scale(1.05)}.studio-nav-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.studio-nav-button.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.studio-carousel-slide{flex:0 0 clamp(200px,18vw,280px);display:flex;align-items:center;justify-content:center;transition:transform .4s ease,opacity .3s ease;opacity:.45;transform:scale(.9)}.studio-carousel-slide.is-active{opacity:1;transform:scale(1)}.studio-video-shell{position:relative;width:100%}.studio-carousel-video{width:100%;display:block;aspect-ratio:9 / 16;border-radius:18px;background:#000;object-fit:cover;cursor:pointer}.studio-play-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:clamp(52px,5vw,72px);height:clamp(52px,5vw,72px);border-radius:50%;border:none;background:#ffffffe6;box-shadow:0 18px 40px #0000001f;color:var(--accent);font-size:clamp(1.4rem,2vw,2rem);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,opacity .2s ease}.studio-play-button svg{width:clamp(22px,2vw,28px);height:clamp(22px,2vw,28px);fill:currentColor}.studio-play-button:hover{transform:translate(-50%,-50%) scale(1.03)}.studio-play-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.studio-play-button.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.studio-mute-button{position:absolute;bottom:12px;right:12px;width:clamp(46px,4vw,60px);height:clamp(46px,4vw,60px);border-radius:50%;border:none;background:#ffffffe6;color:var(--accent);font-size:clamp(.9rem,1.6vw,1.1rem);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 18px 40px #0000001f;transition:transform .2s ease,opacity .2s ease;z-index:2}.studio-mute-button svg{width:clamp(22px,2vw,28px);height:clamp(22px,2vw,28px);stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.studio-mute-icon{display:grid;place-items:center}.studio-mute-icon svg{grid-area:1 / 1}.studio-mute-button .icon-muted{display:none}.studio-mute-button.is-muted .icon-muted{display:block}.studio-mute-button.is-muted .icon-unmuted{display:none}.studio-mute-button:hover{transform:scale(1.03)}.studio-mute-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.studio-mute-button.is-hidden{opacity:0;visibility:hidden;pointer-events:none}@media (max-width: 900px){.studio-carousel-track{--studio-carousel-default-pad: clamp(4vw, 10vw, 12vw)}.studio-carousel-slide{flex-basis:clamp(170px,40vw,240px)}}@media (max-width: 640px){.studio-video-carousel{padding-bottom:1.5rem}}footer{border-top:1px solid rgba(225,217,211,.7);margin-top:2.5rem}.footer-inner{max-width:var(--max-width);margin:0 auto;padding:1.4rem 1.2rem 2.4rem;font-size:.78rem;color:var(--muted)}.footer-top{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:.9rem}.footer-nav{display:flex;flex-direction:column;gap:.25rem}.footer-nav a{font-size:.8rem}.social-links{display:flex;align-items:center;gap:.5rem}.social-pill{width:28px;height:28px;border-radius:999px;border:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--text)}.social-pill svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.footer-bottom{font-size:.78rem;color:var(--muted)}.faq-list{display:grid;gap:.8rem}.faq-item{background:#ffffffe6;border-radius:var(--radius-md);border:1px solid var(--border);padding:.8rem .9rem;font-size:.94rem}@media (max-width: 900px){.hero{grid-template-columns:minmax(0,1fr)}.hero-media{order:-1}.grid-2,.checklist,.contact-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width: 720px){.nav-links{display:none}}@media (max-width: 480px){main{padding-inline:1rem}.calendar-header{flex-direction:column;align-items:flex-start}.calendar-controls{width:100%;justify-content:flex-end}.calendar-nav-button{width:36px;height:36px}.calendar-close{width:auto;padding-inline:.9rem}.calendar-panel{border-radius:18px}.nav-cta{text-align:center;display:inline-flex;align-items:center;justify-content:center}}
