@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=DM+Sans:ital,wght@0,400;0,500;1,400&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--sand:oklch(52% .07 80);--sand-deep:oklch(40% .06 75);--sand-light:oklch(82% .03 82);--sand-wash:oklch(94% .012 82);--whitewash:oklch(97% .005 80);--hearthstone:oklch(25% .008 78);--hearthstone-soft:oklch(42% .01 78);--font-display:"Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--space-xs:clamp(.5rem, 1vw, .75rem);--space-sm:clamp(1rem, 2vw, 1.5rem);--space-md:clamp(2rem, 4vw, 3rem);--space-lg:clamp(3rem, 6vw, 5rem);--space-xl:clamp(5rem, 10vw, 8rem);--space-2xl:clamp(6rem, 12vw, 10rem);--measure:65ch;--page-max:1200px;--page-wide:1400px}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}body{font-family:var(--font-body);color:var(--hearthstone);background-color:var(--whitewash);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:clamp(1rem,.95rem + .25vw,1.125rem);line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:var(--hearthstone);text-decoration:none;transition:color .25s cubic-bezier(.25,0,.2,1)}a:hover{color:var(--sand)}a:focus-visible,button:focus-visible{outline:2px solid var(--sand);outline-offset:3px;border-radius:2px}.display{font-family:var(--font-display);letter-spacing:-.01em;font-weight:300;line-height:1.05}.headline{font-family:var(--font-display);font-weight:400;line-height:1.15}.label{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;font-size:.8125rem;font-weight:500}p{max-width:var(--measure)}p+p{margin-top:1em}.site-header{z-index:100;background-color:var(--whitewash);transition:background-color .3s cubic-bezier(.25,0,.2,1);position:fixed;top:0;left:0;right:0}.site-header--transparent{background-color:#0000}.site-header--transparent .nav-link{color:var(--whitewash)}.site-header--transparent .nav-link:hover{color:var(--sand-light)}.nav{padding:var(--space-sm) var(--space-md);max-width:var(--page-wide);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.nav-logo{align-items:center;display:flex}.nav-logo img{width:auto;height:80px}.nav-links{gap:var(--space-md);list-style:none;display:flex}.nav-link{font-family:var(--font-body);letter-spacing:.02em;color:var(--hearthstone);font-size:.875rem;font-weight:400;transition:color .25s cubic-bezier(.25,0,.2,1)}.nav-link:hover,.nav-link--active{color:var(--sand)}.nav-toggle{cursor:pointer;color:var(--hearthstone);background:0 0;border:none;padding:8px;display:none}.nav-toggle svg{width:24px;height:24px}.site-header--transparent .nav-toggle{color:var(--whitewash)}.hero{min-height:100svh;padding:var(--space-xl) var(--space-md) var(--space-lg);align-items:flex-end;display:flex;position:relative;overflow:hidden}.hero__image{z-index:-1;position:absolute;inset:0}.hero__image img{object-fit:cover;width:100%;height:100%}.hero__image:after{content:"";background:linear-gradient(#0000 30%,oklch(22% .015 78/.2) 60%,oklch(22% .02 78/.65) 100%);position:absolute;inset:0}.hero__content{z-index:1;max-width:var(--page-max);position:relative}.hero__title{color:var(--whitewash);margin-bottom:var(--space-sm);font-size:clamp(2.75rem,6vw + 1rem,5.5rem)}.hero__subtitle{font-family:var(--font-body);color:oklch(90% .01 80);max-width:45ch;font-size:clamp(1rem,.9rem + .5vw,1.25rem);line-height:1.6}.page-hero{padding:calc(80px + var(--space-lg)) var(--space-md) var(--space-lg);background-color:var(--sand-wash)}.page-hero__inner{max-width:var(--page-max);margin:0 auto}.page-hero__title{margin-bottom:var(--space-xs);font-size:clamp(2.25rem,5vw + .5rem,4rem)}.page-hero__lead{color:var(--hearthstone-soft);max-width:50ch;font-size:clamp(1.05rem,.95rem + .5vw,1.25rem);line-height:1.6}.page-hero__lead+.page-hero__lead{margin-top:var(--space-sm)}.section{padding:var(--space-xl) var(--space-md)}.section--sand{background-color:var(--sand);color:var(--whitewash)}.section--sand a{color:var(--whitewash)}.section--sand a:hover{color:var(--sand-light)}.section--sand-wash{background-color:var(--sand-wash)}.section--sand-light{background-color:var(--sand-light);color:var(--hearthstone)}.section__inner{max-width:var(--page-max);margin:0 auto}.section__label{margin-bottom:var(--space-sm);color:var(--hearthstone-soft)}.section--sand .section__label{color:var(--sand-light)}.section__title{margin-bottom:var(--space-md);font-size:clamp(1.75rem,3.5vw + .5rem,3rem)}.section__text{color:var(--hearthstone-soft);max-width:var(--measure)}.section--sand .section__text{color:oklch(95% .008 80)}.intro{padding:var(--space-2xl) var(--space-md);text-align:center}.intro__inner{max-width:52ch;margin:0 auto}.intro__text{font-family:var(--font-display);color:var(--hearthstone-soft);font-size:clamp(1.35rem,1.2rem + .75vw,1.85rem);font-weight:300;line-height:1.5}.section--sand .intro__text{color:inherit}.retreat-feature{gap:var(--space-md);padding:var(--space-xl) var(--space-md);max-width:var(--page-wide);margin:0 auto;display:grid}.retreat-feature--image-left{grid-template-columns:1.2fr 1fr;align-items:center}.retreat-feature--image-right{grid-template-columns:1fr 1.2fr;align-items:center}.retreat-feature--full{text-align:center;grid-template-columns:1fr}.retreat-feature__image img{object-fit:cover;aspect-ratio:4/5;width:100%;height:100%}.retreat-feature--full .retreat-feature__image img{aspect-ratio:16/7;max-height:500px}.retreat-feature__body{padding:var(--space-sm) 0}.retreat-feature--image-right .retreat-feature__body{order:-1}.retreat-feature__eyebrow{margin-bottom:var(--space-xs);color:var(--sand)}.retreat-feature__label{color:var(--sand);margin-bottom:.25em;line-height:1.5}.retreat-feature__title{margin-bottom:var(--space-xs);font-size:clamp(1.5rem,2.5vw + .5rem,2.25rem)}.retreat-feature__date{margin-bottom:var(--space-sm);color:var(--hearthstone-soft)}.retreat-feature__subtitle{color:var(--hearthstone-soft);margin-bottom:var(--space-sm)}.retreat-feature__text{margin-bottom:var(--space-sm);color:var(--hearthstone-soft)}.retreat-feature__details{margin-bottom:var(--space-md);list-style:none}.retreat-feature__details li{color:var(--hearthstone-soft);padding:.35em 0;font-size:.9375rem}.retreat-feature__details li+li{border-top:1px solid var(--sand-light)}.retreat-feature__pricing{margin-bottom:var(--space-md)}.retreat-feature[id]{scroll-margin-top:120px}.retreat-schedule{margin-bottom:var(--space-md)}.retreat-schedule__day{gap:var(--space-xs);grid-template-columns:5em 1fr;align-items:baseline;padding:.45em 0;display:grid}.retreat-schedule__day+.retreat-schedule__day{border-top:1px solid var(--sand-light)}.retreat-schedule__label{color:var(--sand);font-size:.6875rem}.retreat-schedule__desc{color:var(--hearthstone-soft);font-size:.9375rem;line-height:1.65}.retreat-schedule__entry{grid-template-columns:5em 1fr;gap:.25em;padding:.15em 0;display:grid}.retreat-schedule__time{color:var(--hearthstone);white-space:nowrap;font-size:.875rem;font-weight:500}.retreat-feature__price{color:var(--hearthstone-soft);align-items:baseline;gap:.5em;padding:.35em 0;font-size:.9375rem;display:flex}.retreat-feature__price+.retreat-feature__price{border-top:1px solid var(--sand-light)}.retreat-feature__room-type{min-width:7.5em;font-size:inherit;opacity:1}.retreat-feature__price span{color:var(--hearthstone-soft);opacity:.75;font-size:.8125rem}.retreat-feature__price strong{color:var(--hearthstone);margin-left:auto;font-weight:600}.cta-link{font-family:var(--font-body);letter-spacing:.04em;color:var(--hearthstone);border-bottom:1.5px solid var(--hearthstone);align-items:center;gap:.5em;padding-bottom:2px;font-size:.9375rem;font-weight:500;transition:color .25s cubic-bezier(.25,0,.2,1),border-color .25s cubic-bezier(.25,0,.2,1);display:inline-flex}.cta-link:hover{color:var(--sand);border-color:var(--sand)}.section--sand .cta-link{color:var(--whitewash);border-color:var(--whitewash)}.section--sand .cta-link:hover{color:var(--sand-light);border-color:var(--sand-light)}.cta-link svg{width:16px;height:16px;transition:transform .25s cubic-bezier(.25,0,.2,1)}.cta-link:hover svg{transform:translate(3px)}.photo-pair{gap:var(--space-xs);max-width:var(--page-wide);margin:var(--space-lg) auto;padding:0 var(--space-md);grid-template-columns:1fr 1fr;display:grid}.photo-pair img{object-fit:cover;aspect-ratio:1;width:100%;height:100%}.photo-pair--offset img:last-child{margin-top:var(--space-lg)}.photo-single{max-width:var(--page-wide);padding:0 var(--space-md);margin:0 auto}.photo-single img{object-fit:cover;aspect-ratio:16/7;width:100%}.gallery{max-width:var(--page-wide);padding:0 var(--space-md);gap:var(--space-lg);flex-direction:column;margin:0 auto;display:flex}.gallery img{object-fit:cover;width:100%;height:100%;display:block}.gallery-wide img{aspect-ratio:16/9}.gallery-cinematic img{aspect-ratio:2.4}.gallery-pair{gap:var(--space-xs);grid-template-columns:1fr 1fr;display:grid}.gallery-pair img{aspect-ratio:1}.gallery-trio{gap:var(--space-xs);grid-template-columns:2fr 1fr;display:grid}.gallery-trio img:first-child{aspect-ratio:3/4;grid-row:1/3}.gallery-trio img:nth-child(2),.gallery-trio img:nth-child(3){aspect-ratio:3/2}.gallery-trio--reverse{grid-template-columns:1fr 2fr}.gallery-trio--reverse img:first-child{aspect-ratio:3/2;grid-row:auto}.gallery-trio--reverse img:nth-child(2){aspect-ratio:3/2}.gallery-trio--reverse img:last-child{aspect-ratio:3/4;grid-area:1/2/3}.gallery-single{max-width:800px;margin:0 auto}.gallery-single img{aspect-ratio:4/5}@media (width<=768px){.gallery{gap:var(--space-md)}.gallery-pair,.gallery-trio,.gallery-trio--reverse{grid-template-columns:1fr}.gallery-trio img:first-child{aspect-ratio:3/2;grid-row:auto}.gallery-trio--reverse img:last-child{aspect-ratio:3/2;grid-area:auto}.gallery-cinematic img{aspect-ratio:16/9}}.two-col{gap:var(--space-lg);grid-template-columns:1fr 1fr;align-items:start;display:grid}.two-col--image-text{grid-template-columns:1.1fr 1fr;align-items:center}.two-col__image img{object-fit:cover;width:100%}.two-col__text p+p{margin-top:1.2em}.experience-list{counter-reset:experience;list-style:none}.experience-list__item{gap:var(--space-md);padding:var(--space-md) 0;grid-template-columns:auto 1fr;align-items:baseline;display:grid}.experience-list__item+.experience-list__item{border-top:1px solid var(--sand-light)}.experience-list__number{font-family:var(--font-display);color:var(--sand);counter-increment:experience;font-size:clamp(1.5rem,2vw,2rem);font-weight:300}.experience-list__number:before{content:counter(experience, decimal-leading-zero)}.experience-list__title{font-family:var(--font-display);margin-bottom:.35em;font-size:clamp(1.25rem,1.5vw + .5rem,1.625rem);font-weight:400}.experience-list__desc{color:var(--hearthstone-soft);font-size:.9375rem}.experience-list--compact .experience-list__item{gap:var(--space-sm);padding:var(--space-sm) 0}.experience-list--compact .experience-list__number{font-size:clamp(1.125rem,1.5vw,1.5rem)}.experience-list--compact .experience-list__title{margin-bottom:.25em;font-size:clamp(1rem,1.2vw + .4rem,1.25rem)}.experience-list--compact .experience-list__desc{font-size:.8125rem}.experience-list--hearts .experience-list__number{counter-increment:none}.experience-list--hearts .experience-list__number:before{content:"♥"}.teacher-grid{gap:var(--space-lg);grid-template-columns:repeat(2,1fr);max-width:880px;margin:0 auto;display:grid}.teacher-card{flex-direction:column;display:flex}.teacher-card__image{margin-bottom:var(--space-sm);overflow:hidden}.teacher-card__image img{aspect-ratio:3/4;object-fit:cover;width:100%;transition:transform .4s cubic-bezier(.25,0,.2,1)}.teacher-card:hover .teacher-card__image img{transform:scale(1.03)}.teacher-card__image--placeholder{aspect-ratio:3/4;background:var(--sand-light);color:var(--hearthstone-soft);justify-content:center;align-items:center;display:flex}.teacher-card__body{flex-direction:column;flex:1;display:flex}.teacher-card__label{color:var(--sand);margin-bottom:var(--space-xs)}.teacher-card__name{margin-bottom:var(--space-xs);font-size:clamp(1.25rem,1.5vw + .5rem,1.625rem)}.teacher-card__text{color:var(--hearthstone-soft);margin-bottom:var(--space-md);font-size:.9375rem}.teacher-card .cta-link{margin-top:auto}.contact-form{max-width:560px}.form-group{margin-bottom:var(--space-sm)}.form-label{color:var(--hearthstone);margin-bottom:.4em;font-size:.875rem;font-weight:500;display:block}.form-input,.form-textarea{width:100%;font-family:var(--font-body);color:var(--hearthstone);border:none;border-bottom:1px solid var(--sand-light);background:0 0;padding:.75em 0;font-size:1rem;transition:border-color .25s cubic-bezier(.25,0,.2,1)}.form-input:focus,.form-textarea:focus{border-bottom-color:var(--sand);outline:none}.form-textarea{resize:vertical;min-height:120px}.form-submit{font-family:var(--font-body);letter-spacing:.04em;color:var(--whitewash);background-color:var(--sand);cursor:pointer;margin-top:var(--space-sm);border:none;padding:.9em 2.5em;font-size:.9375rem;font-weight:500;transition:background-color .25s cubic-bezier(.25,0,.2,1);display:inline-block}.form-submit:hover{background-color:var(--sand-deep)}.site-footer{background-color:var(--sand);color:var(--whitewash);padding:var(--space-xl) var(--space-md) var(--space-md)}.footer__inner{max-width:var(--page-max);margin:0 auto}.footer__top{gap:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid oklch(60% .05 80);grid-template-columns:1fr 1fr 1fr;align-items:start;display:grid}.footer__top>div{min-width:0}.footer__map{margin-top:var(--space-sm);aspect-ratio:16/9;filter:grayscale()sepia(.55)saturate(1.3)brightness(.85)contrast(1.1);border:none;width:100%}.footer__heading{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--space-sm);color:var(--sand-light);font-size:.8125rem;font-weight:500}.footer__text{color:oklch(85% .015 80);font-size:.9375rem;line-height:1.7}.footer__text a{color:var(--whitewash);border-bottom:1px solid oklch(70% .03 80);transition:border-color .25s cubic-bezier(.25,0,.2,1)}.footer__text a:hover{border-color:var(--whitewash);color:var(--whitewash)}.footer__links{list-style:none}.footer__links li+li{margin-top:.5em}.footer__links a{color:oklch(85% .015 80);font-size:.9375rem;transition:color .25s cubic-bezier(.25,0,.2,1)}.footer__links a:hover{color:var(--whitewash)}.footer__newsletter{margin-top:var(--space-xs);gap:0;display:flex}.footer__newsletter input{font-family:var(--font-body);color:var(--whitewash);background:0 0;border:none;border-bottom:1px solid oklch(70% .03 80);flex:1;padding:.6em 0;font-size:.9375rem;transition:border-color .25s cubic-bezier(.25,0,.2,1)}.footer__newsletter input::placeholder{color:oklch(70% .025 80)}.footer__newsletter input:focus{border-bottom-color:var(--whitewash);outline:none}.footer__newsletter button{color:var(--whitewash);font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-bottom:1px solid oklch(70% .03 80);padding:.6em 0 .6em 1em;font-size:.8125rem;font-weight:500;transition:color .25s cubic-bezier(.25,0,.2,1)}.footer__newsletter button:hover{color:var(--sand-light)}.footer__newsletter[hidden]{display:none}.footer__newsletter-success{margin-top:var(--space-xs)}.footer__bottom{padding-top:var(--space-md);color:oklch(70% .025 80);justify-content:space-between;align-items:center;font-size:.8125rem;display:flex}.footer__social{gap:1em;display:flex}.footer__social a{color:oklch(80% .02 80);transition:color .25s cubic-bezier(.25,0,.2,1)}.footer__social a:hover{color:var(--whitewash)}.footer__social svg{width:20px;height:20px}.exp-block{max-width:var(--page-wide);margin:0 auto}.exp-block__heading{position:relative;overflow:hidden}.exp-block__heading img{aspect-ratio:16/7;object-fit:cover;width:100%;display:block}.exp-block__heading--placeholder{background-color:var(--sand-wash);padding:var(--space-xl) var(--space-md);justify-content:center;align-items:center;min-height:280px;display:flex}.exp-block--alt .exp-block__heading--placeholder{background-color:var(--sand-light)}.exp-block__title{text-align:center;color:var(--hearthstone);font-size:clamp(2rem,4vw + .5rem,3.5rem)}.exp-block__title--overlay{padding:var(--space-lg) var(--space-md) var(--space-md);color:var(--whitewash);background:linear-gradient(#0000 0%,oklch(22% .02 78/.6) 100%);position:absolute;bottom:0;left:0;right:0}.exp-block__frame{padding:var(--space-lg) var(--space-md);background-color:var(--whitewash)}.exp-block--alt .exp-block__frame{background-color:var(--sand-wash)}.exp-block__frame-inner{max-width:var(--page-max);margin:0 auto}.exp-block__frame-inner p{color:var(--hearthstone-soft);max-width:var(--measure)}.exp-block__frame-inner--centered{text-align:center}.exp-block__frame-inner--centered p{margin-left:auto;margin-right:auto}.exp-block__subtitle{margin-bottom:var(--space-sm);color:var(--hearthstone);font-size:clamp(1.25rem,2vw + .3rem,1.75rem)}@media (width<=768px){.exp-block__heading img{aspect-ratio:4/3}.exp-block__heading--placeholder{min-height:180px;padding:var(--space-lg) var(--space-md)}.exp-block__title{font-size:clamp(1.75rem,6vw,2.5rem)}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.spacer-lg{height:var(--space-lg)}.spacer-xl{height:var(--space-xl)}@media (width<=768px){.nav-links{background-color:var(--whitewash);justify-content:center;align-items:center;gap:var(--space-md);z-index:99;flex-direction:column;display:none;position:fixed;inset:0}.nav-links--open{display:flex}.nav-links--open .nav-link{color:var(--hearthstone);font-size:1.25rem}.nav-toggle{z-index:101;display:block}.hero{min-height:85svh;padding-bottom:var(--space-lg)}.hero__title{font-size:clamp(2.25rem,8vw,3.5rem)}.retreat-feature--image-left,.retreat-feature--image-right{grid-template-columns:1fr}.retreat-feature--image-right .retreat-feature__body{order:0}.retreat-feature__image img{aspect-ratio:4/3}.retreat-schedule__day{grid-template-columns:4em 1fr}.retreat-schedule__entry{grid-template-columns:4.5em 1fr}.two-col,.two-col--image-text{gap:var(--space-md);grid-template-columns:1fr}.photo-pair{grid-template-columns:1fr}.photo-pair--offset img:last-child{margin-top:0}.footer__top{gap:var(--space-md);grid-template-columns:1fr}.footer__bottom{gap:var(--space-sm);text-align:center;flex-direction:column}.experience-list__item{gap:var(--space-xs);grid-template-columns:1fr}.teacher-grid{gap:var(--space-lg);grid-template-columns:1fr}}@media (width<=480px){.hero__title,.page-hero__title{font-size:2rem}}
