@import"https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:ital,wght@0,400;0,700;1,400&family=Libre+Caslon+Text:ital,wght@0,400;0,700;1,400&display=swap";:root{--bone: #f6f1ea;--bone-2: #fbf8f3;--linen: #ece4d8;--stone: #cfc5b5;--stone-2: #e2dacd;--ink: #23272b;--ink-2: #545752;--indigo: #2c3a56;--indigo-2: #1f2b44;--indigo-tint: #dfe3ec;--sage: #8e9c87;--sage-tint: #dfe5db;--sage-deep: #4a5c4b;--clay: #b8735d;--clay-tint: #f0dfd6;--clay-deep: #8a4a36;--error: #8f2f2f;--error-tint: #f6e1e1;--ok: #33583c;--ok-tint: #dfeadf;--serif: "Libre Caslon Text", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--sans: "Atkinson Hyperlegible", "Avenir Next", "Segoe UI", system-ui, sans-serif;--fs-base: 1.1875rem;--fs-small: 1rem;--fs-lede: clamp(1.3rem, 1.1rem + .8vw, 1.55rem);--fs-h3: clamp(1.45rem, 1.2rem + .9vw, 1.85rem);--fs-h2: clamp(2.1rem, 1.5rem + 2.2vw, 3.4rem);--fs-h1: clamp(2.6rem, 1.7rem + 3.6vw, 4.9rem);--radius: 10px;--radius-sm: 8px;--control: 56px;--wrap: 1180px;--gutter: clamp(1.25rem, 4vw, 3rem);--section: clamp(4.5rem, 9vw, 8.5rem);--shadow: 0 18px 40px -24px rgba(35, 39, 43, .35), 0 2px 6px -2px rgba(35, 39, 43, .12);--ease-out: cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:auto}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{margin:0;background:var(--bone);color:var(--ink);font-family:var(--sans);font-size:var(--fs-base);line-height:1.6;-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%;height:auto}[hidden]{display:none!important}a{color:var(--indigo);text-decoration-thickness:1.5px;text-underline-offset:.18em}a:hover{color:var(--indigo-2)}:focus-visible{outline:3px solid var(--indigo);outline-offset:3px;border-radius:4px}::selection{background:var(--indigo-tint)}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.08;margin:0 0 .5em;letter-spacing:-.005em;text-wrap:balance}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3);line-height:1.2}h4{font-size:1.25rem;line-height:1.3;font-family:var(--sans);font-weight:700}p{margin:0 0 1em;max-width:68ch}p:last-child{margin-bottom:0}ul,ol{padding-left:1.3em}strong{font-weight:700}em{font-style:italic}.lede{font-size:var(--fs-lede);line-height:1.5;color:var(--ink);max-width:46ch}.muted{color:var(--ink-2)}.small{font-size:var(--fs-small)}.serif{font-family:var(--serif)}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.wrap{width:min(100% - 2 * var(--gutter),var(--wrap));margin-inline:auto}.wrap--narrow{width:min(100% - 2 * var(--gutter),860px);margin-inline:auto}.section{padding-block:var(--section)}.section--tight{padding-block:calc(var(--section) * .6)}.section--linen{background:var(--linen)}.section--indigo{background:var(--indigo);color:var(--bone)}.section--indigo h2,.section--indigo h3,.section--indigo a{color:var(--bone-2)}.section-head{max-width:62ch;margin-bottom:clamp(2rem,4vw,3.5rem)}.section-head h2{margin-bottom:.35em}.section-head .lede{margin:0}.rule{border:0;border-top:1px solid var(--stone);margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:var(--control);padding:.75em 1.6em;font:700 1.0625rem/1.2 var(--sans);letter-spacing:.005em;border-radius:var(--radius-sm);border:2px solid transparent;text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s var(--ease-out),box-shadow .2s}.btn--primary{background:var(--indigo);color:var(--bone-2);border-color:var(--indigo)}.btn--primary:hover{background:var(--indigo-2);border-color:var(--indigo-2);color:var(--bone-2);transform:translateY(-1px);box-shadow:var(--shadow)}.btn--secondary{background:transparent;color:var(--indigo);border-color:var(--indigo)}.btn--secondary:hover{background:var(--indigo-tint);color:var(--indigo-2)}.btn--light{background:var(--bone-2);color:var(--indigo);border-color:var(--bone-2)}.btn--light:hover{background:#fff;color:var(--indigo-2)}.btn--ghost{background:transparent;color:var(--indigo);border-color:transparent;padding-inline:.9em}.btn--ghost:hover{background:var(--indigo-tint)}.btn--block{width:100%}.btn[disabled],.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.btn .spinner{width:1.1em;height:1.1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-row{display:flex;flex-wrap:wrap;gap:.9rem 1rem;align-items:center}.link-arrow{font-weight:700;text-decoration:none}.link-arrow:after{content:" →"}.link-arrow:hover{text-decoration:underline}.skip{position:absolute;left:1rem;top:-4rem;background:var(--indigo);color:var(--bone-2);padding:.8rem 1.2rem;border-radius:var(--radius-sm);z-index:100;font-weight:700}.skip:focus{top:1rem}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bone) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--stone-2)}.site-header__inner{width:min(100% - 2 * var(--gutter),var(--wrap));margin-inline:auto;min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand{text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:.8rem;line-height:1;padding-block:.6rem}.brand__mark{width:60px;height:auto;flex:0 0 auto}.brand__text{display:flex;flex-direction:column}.footer-logo{width:150px;height:auto;background:var(--bone-2);border-radius:50%;padding:.6rem;margin-bottom:1.2rem}.brand__name{font-family:var(--serif);font-size:1.8rem;letter-spacing:-.01em}.brand__sub{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-top:.35rem}.nav-toggle{display:none}.nav-panel{display:flex;align-items:center;gap:1.5rem}.nav-list{list-style:none;margin:0;padding:0;display:flex;gap:clamp(.8rem,1.6vw,1.6rem)}.nav-list a{text-decoration:none;color:var(--ink);font-weight:700;font-size:1.0625rem;padding:.6rem .2rem;display:inline-block;border-bottom:2px solid transparent}.nav-list a:hover,.nav-list a[aria-current=page]{border-bottom-color:var(--indigo);color:var(--indigo)}.nav-cta{min-height:50px;padding-inline:1.3em}@media(max-width:1080px){.nav-toggle{display:inline-flex;align-items:center;gap:.6rem;min-height:52px;padding:.4rem .9rem;background:transparent;border:2px solid var(--indigo);border-radius:var(--radius-sm);color:var(--indigo);font:700 1.05rem var(--sans);cursor:pointer}.nav-toggle__bars{width:22px;height:2px;background:currentColor;box-shadow:0 -7px 0 currentColor,0 7px 0 currentColor}.nav-toggle[aria-expanded=true] .nav-toggle__bars{box-shadow:none;transform:rotate(45deg)}.nav-panel{position:absolute;left:0;right:0;top:100%;background:var(--bone-2);border-bottom:1px solid var(--stone);padding:1rem var(--gutter) 1.5rem;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}.nav-panel[hidden]{display:none!important}.nav-list{flex-direction:column;gap:0}.nav-list a{display:block;padding:.9rem .25rem;font-size:1.2rem;border-bottom:1px solid var(--stone-2)}.nav-cta{width:100%;margin-top:.75rem}}@media(min-width:1081px){.nav-panel[hidden]{display:flex!important}}.hero{padding-block:clamp(2.5rem,6vw,5.5rem) var(--section)}.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:center}.hero__copy h1{margin-bottom:.4em}.hero__copy .lede{margin-bottom:1.8rem}.hero__meta{display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;margin-top:1.6rem;color:var(--ink-2);font-size:1.05rem}.hero__meta span:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--sage);margin-right:.6em;vertical-align:.1em}.hero__figure{position:relative}.portrait{border-radius:var(--radius);overflow:hidden;background:var(--linen);box-shadow:var(--shadow);aspect-ratio:4 / 5}.portrait img{width:100%;height:100%;object-fit:cover}.portrait-placeholder{aspect-ratio:4 / 5;border-radius:var(--radius);border:1px solid var(--stone);box-shadow:inset 0 0 0 10px var(--bone),inset 0 0 0 11px var(--stone);background:linear-gradient(160deg,var(--linen),var(--sage-tint));display:grid;place-items:center;text-align:center;padding:2rem;color:var(--ink-2)}.portrait-placeholder strong{display:block;font-family:var(--serif);font-size:1.5rem;color:var(--ink);font-weight:400;margin-bottom:.4rem}@media(max-width:860px){.hero__grid{grid-template-columns:1fr}.hero__figure{order:-1;max-width:420px}}.card{background:var(--bone-2);border:1px solid var(--stone);border-radius:var(--radius);box-shadow:inset 0 0 0 6px var(--bone-2),inset 0 0 0 7px var(--stone-2);padding:clamp(1.5rem,3vw,2.25rem)}.card--linen{background:var(--linen);box-shadow:inset 0 0 0 6px var(--linen),inset 0 0 0 7px var(--stone)}.card--flat{box-shadow:none}.card h3{margin-bottom:.4em}.card-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.tag{display:inline-block;font-size:.9rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.3em .7em;border-radius:999px;background:var(--indigo-tint);color:var(--indigo-2)}.tag--clay{background:var(--clay-tint);color:var(--clay-deep)}.tag--sage{background:var(--sage-tint);color:var(--sage-deep)}.about__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,5rem);align-items:start}.about__figure img{border-radius:var(--radius);box-shadow:var(--shadow)}.about__figure figcaption{font-size:1rem;color:var(--ink-2);margin-top:.8rem}.about__facts{list-style:none;padding:0;margin:1.8rem 0 0;display:grid;gap:.7rem}.about__facts li{padding-left:1.6rem;position:relative}.about__facts li:before{content:"";position:absolute;left:0;top:.65em;width:9px;height:9px;border-radius:50%;background:var(--clay)}@media(max-width:860px){.about__grid{grid-template-columns:1fr}}.about__collage{position:relative;padding-bottom:clamp(2.5rem,9vw,4.5rem)}.about__photo{margin:0}.about__photo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.about__photo--main{width:76%;aspect-ratio:4 / 5}.about__photo--accent{position:absolute;right:0;bottom:0;width:46%;aspect-ratio:4 / 5;z-index:1;transform:rotate(-2deg)}.about__photo--accent img{border:6px solid var(--linen)}.about__caption{position:relative;z-index:2;font-size:1rem;color:var(--ink-2);margin-top:.8rem;max-width:70%;background:var(--linen)}@media(max-width:860px){.about__collage{padding-bottom:clamp(2.5rem,12vw,3.5rem);max-width:420px;margin-inline:auto}.about__caption{display:none}}@media(max-width:420px){.about__photo--main{width:70%}.about__photo--accent{width:52%}}.services-group{margin-bottom:clamp(2rem,4vw,3.5rem)}.services-group h3{display:flex;align-items:baseline;gap:1rem;margin-bottom:1rem}.services-group h3 .muted{font-family:var(--sans);font-size:1rem}.services-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--stone)}.service{display:grid;grid-template-columns:1fr auto;gap:.5rem 2rem;padding:1.5rem 0;border-bottom:1px solid var(--stone);align-items:start}.service__name{font-family:var(--serif);font-size:1.45rem;line-height:1.2;margin:0 0 .3rem}.service__meta{color:var(--ink-2);font-size:1rem;margin-bottom:.5rem}.service__summary{max-width:58ch;margin:0}.service__price{font-family:var(--serif);font-size:1.9rem;line-height:1;white-space:nowrap;text-align:right}.service__price small{display:block;font-family:var(--sans);font-size:.95rem;color:var(--ink-2);margin-top:.4rem}.service__cta{grid-column:1 / -1}@media(max-width:600px){.service{grid-template-columns:1fr}.service__price{text-align:left}}.steps{list-style:none;counter-reset:step;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--stone)}.step{counter-increment:step;display:grid;grid-template-columns:4.5rem 1fr;gap:1.5rem;padding:1.8rem 0;border-bottom:1px solid var(--stone)}.step:before{content:counter(step,decimal-leading-zero);font-family:var(--serif);font-size:2.2rem;line-height:1;color:var(--clay-deep)}.step h3{margin-bottom:.35em}.step p{max-width:60ch}.quotes{display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr);max-width:54rem}.quote{font-family:var(--serif);font-size:1.25rem;line-height:1.45}.quote p{font-style:italic}.quote footer{font-family:var(--sans);font-size:1rem;color:var(--ink-2);margin-top:1rem}.quote--placeholder{color:var(--ink-2);font-style:italic}.event-list{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem}.event{display:grid;grid-template-columns:9rem 1fr auto;gap:1.5rem;align-items:start}.event__date{font-family:var(--serif);line-height:1.15}.event__date .day{font-size:2.4rem;display:block}.event__date .month{font-size:1.1rem;text-transform:uppercase;letter-spacing:.08em;font-family:var(--sans);color:var(--ink-2)}.event__body h3{margin-bottom:.3rem}.event__where{color:var(--ink-2);margin-bottom:.6rem}.event__offers{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:.6rem 0 0}.event__offers li{background:var(--sage-tint);color:var(--sage-deep);padding:.25em .7em;border-radius:999px;font-size:.95rem;font-weight:700}.event__special{margin-top:.9rem;font-size:1.05rem;max-width:60ch;padding:.8rem 1rem;background:var(--clay-tint);border-radius:var(--radius-sm);color:var(--ink)}.event--past{opacity:.72}@media(max-width:700px){.event{grid-template-columns:1fr;gap:.75rem}}.faq{border-top:1px solid var(--stone)}.faq details{border-bottom:1px solid var(--stone)}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.3rem 0;font-family:var(--serif);font-size:1.35rem;line-height:1.25}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:var(--sans);font-size:1.8rem;color:var(--indigo);flex:0 0 auto;width:2.2rem;height:2.2rem;display:grid;place-items:center;border:2px solid var(--indigo);border-radius:50%;transition:transform .2s var(--ease-out)}.faq details[open] summary:after{content:"−"}.faq summary:hover{color:var(--indigo)}.faq .faq__body{padding:0 0 1.5rem;max-width:62ch}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}.contact-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}.contact-list li{display:grid;gap:.15rem}.contact-list .label{font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-weight:700}.contact-list a{font-size:1.3rem;font-family:var(--serif);text-decoration-color:var(--stone)}@media(max-width:800px){.contact-grid{grid-template-columns:1fr}}.site-footer{background:var(--ink);color:#e6e1d8;margin-top:var(--section)}.site-footer a{color:#f3efe7}.site-footer__inner{width:min(100% - 2 * var(--gutter),var(--wrap));margin-inline:auto;padding-block:4rem 2.5rem}.site-footer__grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2.5rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.14)}.footer-brand{font-family:var(--serif);font-size:1.6rem;margin-bottom:.5rem}.footer-heading{font-weight:700;font-size:.95rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.6rem;color:#cfc8bb}.footer-links{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.footer-badge img{background:#fff;padding:.4rem;border-radius:6px;width:220px;margin-top:1rem}.disclaimer{padding-block:2.5rem 1.5rem}.disclaimer p{max-width:90ch;font-size:1.05rem;line-height:1.55}.footer-fine{font-size:1rem;color:#cfc8bb;max-width:100ch}.site-credit{font-size:.8rem;letter-spacing:.04em;color:#e6e1d899;text-align:center;margin-top:1.5rem}.site-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}@media(max-width:800px){.site-footer__grid{grid-template-columns:1fr}}.page-title{padding-block:clamp(2.5rem,5vw,4.5rem) clamp(1.5rem,3vw,2.5rem)}.page-title h1{margin-bottom:.3em}.page-title .lede{margin:0}.flow{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(1.5rem,4vw,3.5rem);align-items:start}.flow__main{min-width:0}.flow__aside{position:sticky;top:100px}@media(max-width:900px){.flow{grid-template-columns:1fr}.flow__aside{position:static;order:-1}}.stepper{list-style:none;margin:0 0 2rem;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 0;counter-reset:s}.stepper li{counter-increment:s;display:flex;align-items:center;gap:.55rem;font-weight:700;font-size:1rem;color:var(--ink-2);padding-right:1.25rem;position:relative}.stepper li:before{content:counter(s);width:2rem;height:2rem;border-radius:50%;border:2px solid var(--stone);display:grid;place-items:center;font-size:.95rem;background:var(--bone-2)}.stepper li[aria-current=step]{color:var(--indigo)}.stepper li[aria-current=step]:before{border-color:var(--indigo);background:var(--indigo);color:var(--bone-2)}.stepper li.is-done{color:var(--sage-deep)}.stepper li.is-done:before{border-color:var(--sage-deep);background:var(--sage-tint);content:"✓"}.flow__panel h2{font-size:clamp(1.8rem,1.3rem + 1.6vw,2.6rem);margin-bottom:.35em}.flow__panel>p.muted{margin-bottom:1.5rem}.flow__nav{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--stone)}.choice-list{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}.choice-list--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.choice{position:relative;display:block}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice__box{display:grid;grid-template-columns:1fr auto;gap:.3rem 1.5rem;padding:1.2rem 1.4rem 1.2rem 3.6rem;border:2px solid var(--stone);border-radius:var(--radius);background:var(--bone-2);cursor:pointer;transition:border-color .2s,background-color .2s,box-shadow .2s;min-height:var(--control);position:relative}.choice__box:before{content:"";position:absolute;left:1.3rem;top:1.45rem;width:1.4rem;height:1.4rem;border-radius:50%;border:2px solid var(--ink-2);background:#fff}.choice__box:after{content:"";position:absolute;left:calc(1.3rem + .4rem);top:1.85rem;width:.6rem;height:.6rem;border-radius:50%;background:var(--indigo);opacity:0;transform:scale(.5);transition:opacity .15s,transform .2s var(--ease-out)}.choice__box:hover{border-color:var(--indigo)}.choice input:checked+.choice__box{border-color:var(--indigo);background:var(--indigo-tint)}.choice input:checked+.choice__box:before{border-color:var(--indigo)}.choice input:checked+.choice__box:after{opacity:1;transform:scale(1)}.choice input:focus-visible+.choice__box{outline:3px solid var(--indigo);outline-offset:3px}.choice__name{font-family:var(--serif);font-size:1.35rem;line-height:1.2}.choice__price{font-family:var(--serif);font-size:1.35rem;text-align:right;white-space:nowrap}.choice__meta{grid-column:1 / -1;color:var(--ink-2);font-size:1rem}.choice__desc{grid-column:1 / -1;font-size:1.05rem;margin:.2rem 0 0;max-width:60ch}.choice__list{grid-column:1 / -1;margin:.4rem 0 0;padding-left:1.2em;font-size:1.02rem}.choice--disabled .choice__box{opacity:.5;cursor:not-allowed}.choice-group-title{font-family:var(--serif);font-size:1.5rem;margin:1.8rem 0 .8rem}.choice-group-title:first-child{margin-top:0}.cal-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:2rem;align-items:start}@media(max-width:720px){.cal-layout{grid-template-columns:1fr}}.cal{border:1px solid var(--stone);border-radius:var(--radius);background:var(--bone-2);padding:1rem}.cal__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.cal__title{font-family:var(--serif);font-size:1.4rem;margin:0}.cal__nav{min-height:48px;min-width:48px;padding:0 .9rem;border:2px solid var(--stone);background:var(--bone-2);border-radius:var(--radius-sm);font:700 1rem var(--sans);color:var(--indigo);cursor:pointer}.cal__nav:hover:not([disabled]){border-color:var(--indigo)}.cal__nav[disabled]{opacity:.4;cursor:not-allowed}.cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal__dow{text-align:center;font-size:.9rem;font-weight:700;letter-spacing:.06em;color:var(--ink-2);padding:.4rem 0}.cal__day{aspect-ratio:1;min-height:46px;border:2px solid transparent;border-radius:var(--radius-sm);background:transparent;font:700 1.05rem var(--sans);color:var(--ink);cursor:pointer;position:relative;transition:background-color .15s,border-color .15s}.cal__day:hover:not([disabled]){background:var(--indigo-tint)}.cal__day--open:after{content:"";position:absolute;left:50%;bottom:6px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--sage-deep)}.cal__day[disabled]{color:var(--stone);cursor:not-allowed}.cal__day[aria-pressed=true]{background:var(--indigo);color:var(--bone-2);border-color:var(--indigo)}.cal__day[aria-pressed=true]:after{background:var(--bone-2)}.cal__day--today{border-color:var(--stone)}.cal__legend{font-size:.95rem;color:var(--ink-2);margin-top:.75rem}.slots{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.6rem}.slot{min-height:52px;border:2px solid var(--stone);border-radius:var(--radius-sm);background:var(--bone-2);font:700 1.05rem var(--sans);color:var(--ink);cursor:pointer;transition:border-color .15s,background-color .15s}.slot:hover{border-color:var(--indigo)}.slot[aria-pressed=true]{background:var(--indigo);border-color:var(--indigo);color:var(--bone-2)}.slots-title{font-family:var(--serif);font-size:1.4rem;margin:0 0 .75rem}.slots-empty{color:var(--ink-2);padding:1rem;border:1px dashed var(--stone);border-radius:var(--radius-sm)}.slots-loading{color:var(--ink-2);padding:1rem 0}.field{display:grid;gap:.45rem;margin-bottom:1.35rem}.field label,.field__label{font-weight:700;font-size:1.05rem}.field .hint{font-size:1rem;color:var(--ink-2);margin:0}.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=date],.field textarea,.field select{width:100%;min-height:var(--control);padding:.75rem 1rem;font:400 1.125rem var(--sans);color:var(--ink);background:#fff;border:2px solid var(--stone);border-radius:var(--radius-sm);transition:border-color .15s}.field textarea{min-height:8rem;resize:vertical;line-height:1.5}.field input:hover,.field textarea:hover,.field select:hover{border-color:var(--ink-2)}.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{outline:3px solid var(--indigo);outline-offset:2px;border-color:var(--indigo)}.field.is-invalid input,.field.is-invalid textarea{border-color:var(--error)}.field .error{color:var(--error);font-weight:700;font-size:1rem;margin:0}.field-row{display:grid;gap:0 1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.checkbox{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:start;padding:1.1rem 1.2rem;border:2px solid var(--stone);border-radius:var(--radius);background:var(--bone-2);cursor:pointer}.checkbox input{width:1.6rem;height:1.6rem;margin:.1rem 0 0;accent-color:var(--indigo);cursor:pointer}.checkbox.is-invalid{border-color:var(--error)}.checkbox p{font-size:1.05rem}fieldset{border:0;padding:0;margin:0 0 1.5rem;min-width:0}legend{font-weight:700;font-size:1.05rem;padding:0;margin-bottom:.5rem}.summary{border:1px solid var(--stone);border-radius:var(--radius);background:var(--linen);padding:1.4rem 1.5rem}.summary h3{font-size:1.25rem;margin-bottom:1rem}.summary dl{margin:0;display:grid;gap:.75rem}.summary dt{font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-weight:700}.summary dd{margin:0;font-size:1.1rem}.summary dd.big{font-family:var(--serif);font-size:1.6rem}.summary .empty{color:var(--ink-2);font-style:italic}.review-table{width:100%;border-collapse:collapse;margin-bottom:1.5rem}.review-table th,.review-table td{text-align:left;padding:.9rem 0;border-bottom:1px solid var(--stone);vertical-align:top}.review-table th{width:32%;color:var(--ink-2);font-weight:700;font-size:1rem;padding-right:1rem}.review-table td{font-size:1.1rem}.review-table .edit{font-size:1rem;white-space:nowrap}.notice{border-radius:var(--radius);padding:1.1rem 1.3rem;border:1px solid var(--stone);background:var(--linen);margin:0 0 1.5rem;display:grid;gap:.35rem}.notice--error{background:var(--error-tint);border-color:#d6a9a9;color:var(--error)}.notice--ok{background:var(--ok-tint);border-color:#b9cdb8;color:var(--ok)}.notice--info{background:var(--indigo-tint);border-color:#b9c2d6;color:var(--indigo-2)}.notice strong{display:block}.notice p{font-size:1.05rem}.confirm{text-align:left}.confirm__mark{width:4.5rem;height:4.5rem;border-radius:50%;background:var(--sage-tint);color:var(--sage-deep);display:grid;place-items:center;font-size:2rem;margin-bottom:1.25rem}.confirm h2{margin-bottom:.3em}.confirm .ref{font-family:var(--serif);font-size:1.5rem}.giftcard{--gc-bg: var(--indigo);background:var(--gc-bg);color:var(--bone-2);border-radius:16px;padding:clamp(1.5rem,4vw,2.5rem);position:relative;overflow:hidden;box-shadow:var(--shadow);min-height:min(220px,55vw);display:grid;grid-template-rows:auto 1fr auto;gap:1rem;max-width:640px}.giftcard:before{content:"";position:absolute;inset:12px;border:1px solid rgba(251,248,243,.35);border-radius:10px;pointer-events:none}.giftcard:after{content:"";position:absolute;right:-18%;top:-30%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 40% 40%,rgba(184,115,93,.35),transparent 60%);pointer-events:none}.giftcard__brand{font-family:var(--serif);font-size:1.15rem;letter-spacing:.04em}.giftcard__brand small{display:block;font-family:var(--sans);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;opacity:.8;margin-top:.25rem}.giftcard__main{align-self:center;position:relative}.giftcard__to{font-size:1rem;opacity:.85;margin-bottom:.25rem}.giftcard__name{font-family:var(--serif);font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.1;margin:0 0 .6rem}.giftcard__what{font-size:1.05rem;max-width:34ch;margin:0}.giftcard__msg{font-family:var(--serif);font-style:italic;font-size:1.1rem;max-width:40ch;opacity:.95;margin:.8rem 0 0}.giftcard__foot{display:flex;justify-content:space-between;align-items:end;gap:1rem;font-size:.95rem;position:relative}.giftcard__code{font-family:var(--sans);font-weight:700;letter-spacing:.12em;font-size:1.05rem}.giftcard__value{font-family:var(--serif);font-size:1.6rem}.giftcard--print{color:var(--ink);--gc-bg: var(--bone-2);border:1px solid var(--stone)}.workshop{display:grid;gap:1rem}.workshop__head{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between}.workshop__facts{list-style:none;padding:0;margin:0;display:grid;gap:.35rem;font-size:1.02rem;color:var(--ink-2)}.workshop__facts strong{color:var(--ink)}.workshop__takeaways{margin:0;padding-left:1.2em}.workshop__form{border-top:1px solid var(--stone);padding-top:1.25rem}.prose{max-width:70ch}.prose h2{font-size:clamp(1.7rem,1.2rem + 1.6vw,2.4rem);margin-top:2.2em}.prose h3{font-size:1.4rem;margin-top:1.6em}.prose p,.prose li{max-width:none}.prose ul{margin:0 0 1em}.band{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:21 / 9}.band img{width:100%;height:100%;object-fit:cover}@media(max-width:700px){.band{aspect-ratio:4 / 3}}.hero__grid>*,.about__grid>*,.contact-grid>*,.services-layout>*,.card-grid>*,.quotes>*,.event>*,.service>*,.step>*,.flow>*,.cal-layout>*,.field-row>*,.site-footer__grid>*{min-width:0}.hero__grid,.about__grid,.contact-grid,.services-layout,.card-grid,.quotes,.event-list,.steps,.flow,.cal-layout{min-width:0}.contact-list a,.footer-links a,.site-footer a,.quote p{overflow-wrap:anywhere}@media(pointer:coarse){.footer-links{gap:0}.footer-links a{display:block;padding-block:.55rem}.contact-list a{display:inline-block;padding-block:.4rem}.nav-list a{padding-block:1rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.site-header,.site-footer,.flow__nav,.btn{display:none!important}body{background:#fff}.giftcard{box-shadow:none}}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9000;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");background-size:220px 220px}.js body{transition:opacity .22s ease-out}.js body:not(.is-ready){opacity:0}.js body.is-leaving{opacity:0;transition:opacity .2s ease-in}.eyebrow{font-family:var(--sans);font-size:.85rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--clay-deep);display:flex;align-items:center;gap:.8rem;margin:0 0 1.1rem}.eyebrow span{font-variant-numeric:tabular-nums;opacity:.7}.eyebrow:after{content:"";width:2.6rem;height:1px;background:currentColor;opacity:.6}.section--indigo .eyebrow{color:var(--bone-2);opacity:.8}.site-header{transition:transform .32s var(--ease-out),box-shadow .22s ease-out}.site-header.is-hidden{transform:translateY(-100%)}.site-header.is-scrolled{box-shadow:0 10px 30px -20px #23272b73}.site-header__progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--clay);transform-origin:left;transform:scaleX(0)}.hero h1.is-split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}.hero h1.is-split .w__i{display:inline-block;will-change:transform}.js-motion .hero .portrait{clip-path:inset(100% 0 0 0)}.hero .portrait img{height:112%;margin-top:-6%;will-change:transform}.marquee{overflow:hidden;border-block:1px solid var(--stone);background:var(--bone-2);padding-block:1rem}.marquee__track{display:flex;gap:3.5rem;width:max-content;animation:marquee 46s linear infinite}.marquee:hover .marquee__track{animation-play-state:paused}.marquee__track span{font-family:var(--serif);font-size:1.35rem;white-space:nowrap;color:var(--ink);display:flex;align-items:center;gap:3.5rem}.marquee__track span:after{content:"";width:7px;height:7px;border-radius:50%;background:var(--clay);flex:0 0 auto}@keyframes marquee{to{transform:translate(-50%)}}@media(min-width:980px){.services-layout{display:grid;grid-template-columns:minmax(240px,.75fr) 1.65fr;gap:clamp(2.5rem,5vw,5rem);align-items:start}.services-layout__head{position:sticky;top:112px;margin-bottom:0}}.service{position:relative;transition:background-color .2s ease-out}.service__name,.service__price{transition:color .2s ease-out,transform .2s var(--ease-out)}.service:hover .service__name{color:var(--indigo)}.service:hover .service__price{color:var(--clay-deep);transform:translate(-4px)}.line-draw{border-bottom-color:transparent!important}.line-draw:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--stone);transform:scaleX(var(--line, 1));transform-origin:left;pointer-events:none}.step{position:relative}.faq details{position:relative}.faq .faq__body{overflow:hidden}.steps.has-line{position:relative}.steps.has-line:before{content:"";position:absolute;left:1.05rem;top:0;bottom:0;width:3px;background:var(--stone);opacity:.5}.steps.has-line:after{content:"";position:absolute;left:1.05rem;top:0;bottom:0;width:3px;background:var(--clay-deep);transform:scaleY(var(--fill, 0));transform-origin:top}.js-motion .steps.has-line .step:before{color:var(--stone);transition:color .9s ease-out}.js-motion .steps.has-line .step.is-passed:before{color:var(--clay-deep)}.giftcard{background:radial-gradient(circle at var(--mx, 75%) var(--my, 15%),rgba(255,255,255,.16),transparent 42%),var(--gc-bg);transform-style:preserve-3d;will-change:transform}.footer-wordmark{font-family:var(--serif);font-size:clamp(4rem,13vw,11rem);line-height:.9;letter-spacing:-.02em;color:#f3efe7;opacity:.1;margin:0 0 1.5rem;-webkit-user-select:none;user-select:none}@media(prefers-reduced-motion:reduce){.marquee__track{animation:none;flex-wrap:wrap;width:auto}.site-header,.js body{transition:none}}.cine{position:relative;height:100vh;height:100lvh;min-height:480px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--ink)}.cine__media{position:absolute;inset:0;overflow:hidden}.cine__media img,.cine__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;will-change:transform}.cine__media video{opacity:0;transition:opacity .7s ease-out}.cine.is-playing .cine__media video{opacity:1}.cine__scrim{position:absolute;inset:0;background:linear-gradient(180deg,#14120f52,#14120f80 55%,#14120fad);pointer-events:none}.cine__text{position:relative;z-index:1;text-align:center;color:var(--bone-2);padding-inline:var(--gutter);max-width:46rem}.cine__eyebrow{font-family:var(--sans);font-size:.85rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;opacity:.85;margin-bottom:1rem}.cine__line{font-family:var(--serif);font-weight:400;font-size:clamp(1.6rem,4vw,2.75rem);line-height:1.25;text-wrap:balance;margin:0;text-shadow:0 2px 24px rgba(0,0,0,.35)}.js-motion .cine__text{opacity:0}.cine--dust .cine__cool{position:absolute;inset:0;pointer-events:none;background:radial-gradient(118% 88% at 6% 76%,#2c3a56bd,#1f2b445c 40%,#1f2b4400 70%),linear-gradient(104deg,#1f2b44ad,#2c3a5647 36%,#2c3a5600 64%),radial-gradient(95% 75% at 88% 20%,#b8735d66,#b8735d1f 55%,#b8735d00 75%)}.cine--dust .cine__scrim{background:linear-gradient(180deg,#12162047,#1216206b 55%,#1216209e)}.sonic{position:fixed;right:clamp(.9rem,2.5vw,1.5rem);z-index:60;bottom:clamp(.9rem,2.5vw,1.5rem);bottom:calc(env(safe-area-inset-bottom,0px) + clamp(.9rem,2.5vw,1.5rem));display:inline-flex;align-items:center;gap:.55rem;min-height:48px;padding:.5rem 1.05rem .5rem .85rem;background:color-mix(in srgb,var(--bone-2) 90%,transparent);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);border:1px solid var(--stone);border-radius:999px;color:var(--ink-2);font:700 .95rem/1 var(--sans);cursor:pointer;box-shadow:0 12px 28px -18px #23272b80;transition:color .2s,border-color .2s,background-color .2s}.sonic:hover{color:var(--indigo);border-color:var(--indigo)}.sonic__icon{flex:0 0 auto}.sonic .sonic__wave{opacity:0;transition:opacity .26s ease-out}.sonic .sonic__slash{opacity:1;transition:opacity .26s ease-out}.sonic.is-on{color:var(--indigo);border-color:var(--indigo);background:color-mix(in srgb,var(--indigo-tint) 78%,transparent)}.sonic.is-on .sonic__wave{opacity:1}.sonic.is-on .sonic__wave--2{transition-delay:90ms}.sonic.is-on .sonic__slash{opacity:0}.sonic.is-blocked{color:var(--clay-deep);border-color:var(--clay);animation:sonic-ask 3.2s cubic-bezier(.22,1,.36,1) infinite}@keyframes sonic-ask{0%,72%,to{box-shadow:0 12px 28px -18px #23272b80,0 0 color-mix(in srgb,var(--clay) 42%,transparent)}36%{box-shadow:0 12px 28px -18px #23272b80,0 0 0 11px color-mix(in srgb,var(--clay) 0%,transparent)}}@media(prefers-reduced-motion:reduce){.sonic.is-blocked{animation:none}}@media(max-width:760px){.sonic{gap:0;padding:0;width:48px;justify-content:center}.sonic .sonic__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.sonic.is-blocked{width:auto;gap:.55rem;padding:.5rem 1.05rem .5rem .85rem}.sonic.is-blocked .sonic__label{position:static;width:auto;height:auto;clip:auto}}.mood-figure{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin-bottom:clamp(2rem,4vw,3rem)}.mood-figure img{width:100%;height:auto;display:block}.sb-embed{min-height:640px;border:1px solid var(--stone);border-radius:var(--radius);background:var(--bone-2);overflow:hidden}.sb-embed iframe{display:block;width:100%;min-height:640px;border:0}.sb-embed .slots-loading{padding:1.5rem}.sb-stage{position:relative}.sb-stage[data-parked]{height:0;overflow:hidden;opacity:0;pointer-events:none}.sb-veil{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:1.1rem;padding:clamp(4rem,14vh,7rem) 1.5rem 2rem;text-align:center;background:var(--bone-2);border:1px solid var(--stone);border-radius:var(--radius);color:var(--ink-2)}.sb-veil[hidden]{display:none}.sb-veil__text{max-width:28ch;margin:0;font-size:1.05rem}.sb-veil.is-slow .sb-veil__text{max-width:34ch}.sb-veil__glow{width:3rem;height:3rem;border-radius:50%;background:radial-gradient(circle at 50% 50%,var(--indigo-tint) 0 30%,transparent 31%),conic-gradient(from 0deg,transparent 0 55%,var(--indigo) 100%);-webkit-mask:radial-gradient(circle,transparent 0 52%,#000 54%);mask:radial-gradient(circle,transparent 0 52%,#000 54%);animation:sb-spin 1.1s linear infinite}@keyframes sb-spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.sb-veil__glow{animation-duration:3s}}#panel-after .flow__nav{margin-top:1.5rem}.sb-code{margin-top:1.75rem}.sb-code .field{max-width:22rem}.sb-code input{text-transform:uppercase;letter-spacing:.08em}@media print{body[data-page=gift] *{visibility:hidden}body[data-page=gift] .giftcard,body[data-page=gift] .giftcard *{visibility:visible}body[data-page=gift] .giftcard{position:absolute;top:0;left:0;margin:0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media(max-width:760px){.flow__nav{padding-bottom:4.75rem}}
