:root{--porcelain:#F5EFE6;--porcelain-2:#EFE7D9;--card:#FBF7F0;--ink:#2A2420;--ink-soft:#5C5046;--forest:#3C5246;--forest-deep:#2B3B32;--honey:#C49A57;--honey-deep:#B0863F;--honey-soft:#E4C78D;--rose-accent:#D14E7E;--rose-accent-deep:#B83A6B;--morpho-blue:#1389C6;--rose-blush:#F0C4D0;--glow:rgba(196,154,87,.26);--line:rgba(42,36,32,.12);--line-dark:rgba(228,199,141,.18);--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:"Hanken Grotesk",system-ui,-apple-system,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--porcelain);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(22px,4vh,40px);--loader-arm:clamp(120px, min(20vw, 26vh), 210px);color:var(--ink);font-family:var(--sans);background:#1a1614 url(/loading-background-v3.jpeg) center/cover no-repeat;opacity:1;transition:opacity .6s ease}.loader.is-hiding{opacity:0;pointer-events:none}.loader-ripple{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;transition:opacity .5s ease;touch-action:none}.loader-ripple.is-ready{opacity:1}.loader-logo{position:absolute;top:calc(50% - var(--loader-arm));left:50%;transform:translate(-50%,-50%);width:clamp(220px,60vw,340px);height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.loader-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:clamp(132px,18vw,184px);aspect-ratio:1;display:grid;place-items:center}.loader-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;--loader-frac:0;background:conic-gradient(var(--honey) calc(var(--loader-frac) * 360deg),var(--line) 0);-webkit-mask:radial-gradient(closest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(closest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));transition:background .12s linear}.loader-mark{width:82%;aspect-ratio:1;background:url(/loader-butterfly.png) center/contain no-repeat;animation:loaderPulse 2.4s ease-in-out infinite;opacity:1;transition:opacity .6s ease-out}@keyframes loaderPulse{0%,to{transform:scale(1);opacity:.92}50%{transform:scale(1.06);opacity:1}}.loader-core.has-butterfly .loader-mark{animation:none;opacity:0;pointer-events:none}.loader-butterfly{opacity:0;animation:loaderBflyIn .6s ease-out forwards}@keyframes loaderBflyIn{to{opacity:1}}.loader-pct,.loader-begin{position:absolute;left:50%;top:calc(50% + var(--loader-arm));transform:translate(-50%,-50%)}.loader-pct{font-family:var(--sans);font-weight:600;font-size:clamp(14px,1.6vw,16px);letter-spacing:.22em;color:var(--porcelain);text-shadow:0 1px 6px rgba(0,0,0,.35);transition:opacity .3s ease}.loader-pct.is-done{opacity:0;height:0;margin:0;overflow:hidden;pointer-events:none}.loader-begin{font-family:var(--sans);font-weight:600;font-size:clamp(16px,1.8vw,20px);letter-spacing:.04em;padding:13px 34px;border-radius:2px;border:1px solid var(--honey);background:var(--honey);color:#2a2018;cursor:pointer;opacity:0;transform:translate(-50%,-50%) translateY(6px);transition:opacity .5s ease,transform .5s ease,background .15s ease,border-color .15s ease}.loader-begin.is-in{opacity:1;transform:translate(-50%,-50%)}.loader-begin[hidden]{display:none}.loader-begin:hover{background:var(--honey-deep);border-color:var(--honey-deep)}.loader-begin:focus-visible{outline:2px solid var(--honey-deep);outline-offset:3px}.loader-tagline{position:absolute;bottom:clamp(26px,6vh,52px);left:50%;transform:translate(-50%);font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.8vw,26px);color:var(--honey-soft);text-align:center;padding:0 24px;text-shadow:0 1px 6px rgba(0,0,0,.4)}.loader-tagline .tl-line{white-space:nowrap}@media (max-width:560px){.loader-tagline .tl-line{display:block}}@media (max-height:560px){.loader{--loader-arm:clamp(96px, 20vh, 150px)}.loader-logo{width:clamp(160px,34vh,260px)}}@media (prefers-reduced-motion:reduce){.loader-mark{animation:none}.loader-butterfly{animation:none;opacity:1}.loader-begin{transform:translate(-50%,-50%);transition:opacity .3s ease,background .15s ease,border-color .15s ease}.loader-begin.is-in{transform:translate(-50%,-50%)}}.wrap{max-width:1060px;margin:0 auto;padding:0 clamp(20px,5vw,48px)}h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.1;letter-spacing:-.01em}.eyebrow{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(27px,3vw,31px);color:#8a6228}.btn{display:inline-block;font-family:var(--sans);font-weight:600;font-size:clamp(16px,1.8vw,19px);padding:15px 30px;border-radius:2px;border:1px solid var(--honey);background:var(--honey);color:#2a2018;text-decoration:none;transition:background .15s ease,transform .15s ease}.btn:hover{background:var(--honey-deep);border-color:var(--honey-deep);transform:translateY(-1px)}.btn:focus-visible{outline:2px solid var(--honey-deep);outline-offset:3px}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-ghost:hover{background:#3c52460f;border-color:var(--forest);color:var(--forest)}.btn-light{background:var(--honey-soft);color:#2a2018;border-color:var(--honey-soft)}.btn-light:hover{background:#fff;border-color:#fff}.btn-pink{background:var(--rose-accent);color:#fff;border-color:var(--rose-accent)}.btn-pink:hover{background:var(--rose-accent-deep);border-color:var(--rose-accent-deep)}.btn-pink:focus-visible{outline-color:var(--rose-accent-deep)}.top{display:flex;align-items:center;justify-content:space-between;padding:24px 0;position:relative;z-index:3}.brand-link{display:inline-block;line-height:0;border-radius:2px;transition:opacity .2s ease}.brand-link:hover{opacity:.78}.brand-link:focus-visible{outline:2px solid var(--honey);outline-offset:4px}.brand{display:block;width:clamp(132px,16vw,158px);height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.top a.link{font-family:var(--sans);font-size:clamp(15px,1.5vw,18px);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px}.top a.link:hover{color:var(--ink);border-color:var(--honey)}.hero{position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-8%;left:50%;width:min(820px,118%);height:120%;transform:translate(-50%);background:radial-gradient(closest-side,var(--glow),transparent 70%);pointer-events:none;opacity:0;animation:bloom 1.6s ease-out forwards}.hero-inner{position:relative;z-index:2;padding:clamp(40px,8vw,88px) 0 clamp(52px,8vw,92px);max-width:46rem}.hero .eyebrow{opacity:0;animation:rise .9s ease-out .15s forwards}.hero h1{font-size:clamp(40px,7vw,78px);margin:16px 0 0;opacity:0;animation:rise 1s ease-out .3s forwards}.hero .lede{margin-top:22px;font-size:clamp(20px,2.4vw,24px);color:var(--ink-soft);opacity:0;animation:rise 1s ease-out .5s forwards}.hero-cta{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:rise 1s ease-out .7s forwards}@keyframes bloom{0%{opacity:0;transform:translate(-50%) scale(.86)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}section{padding:clamp(54px,9vw,98px) 0}.kicker{display:block;margin-bottom:14px}.head{font-size:clamp(26px,4.2vw,40px);max-width:20ch;margin-bottom:10px}.sub{color:var(--ink-soft);max-width:54ch;font-size:clamp(20px,2.4vw,24px)}.statement{position:relative;background:linear-gradient(180deg,var(--porcelain) 0%,var(--rose-blush) 34%,var(--rose-blush) 100%);overflow:hidden;padding:clamp(130px,16vw,190px) 0 clamp(70px,9vw,110px)}.statement-butterfly{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;display:block}.statement p{font-family:var(--serif);font-weight:400;font-size:clamp(22px,3.6vw,33px);line-height:1.3;color:var(--ink);text-align:center;margin:0 auto}.statement p .hl{color:var(--morpho-blue);font-style:italic;font-weight:600}#how{background:linear-gradient(180deg,var(--rose-blush) 0%,var(--porcelain) 18%,var(--porcelain) 82%,var(--rose-blush) 100%)}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:40px}@media (max-width:640px){.cards{grid-template-columns:1fr}}.cards:not(.in) .card{opacity:0}.cards.in .card{opacity:1;animation:cardFloatIn 1.1s cubic-bezier(.22,.75,.3,1.06) backwards}.cards.in .card:nth-child(2){animation-delay:.25s}.cards.in .card:nth-child(3){animation-delay:.5s}.cards.in .card:nth-child(4){animation-delay:.75s}@keyframes cardFloatIn{0%{opacity:0;transform:perspective(900px) translateY(46px) rotateX(10deg)}70%{opacity:1;transform:perspective(900px) translateY(-5px) rotateX(-1.5deg)}to{opacity:1;transform:none}}.card{position:relative;overflow:hidden;background-color:var(--card);background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.6);border-radius:4px;padding:28px 26px}.cards .card{background-image:url(/loading-background-v3.jpeg)}.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:#fbf7f0d1;-webkit-backdrop-filter:blur(22px) saturate(1.05);backdrop-filter:blur(22px) saturate(1.05)}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.card:before{background:#fbf7f0ed}}.card>*{position:relative;z-index:1}.card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:inherit;pointer-events:none;background:radial-gradient(420px circle at var(--shx,50%) var(--shy,50%),rgba(255,248,235,.45),rgba(255,248,235,0) 62%);opacity:var(--sho,0);transition:opacity .3s ease}.card-expandable{cursor:pointer}.card-expandable:focus-visible{outline:2px solid var(--honey-deep);outline-offset:3px}.card-cue{display:block;margin-top:14px;font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(23px,2.5vw,25px);color:var(--honey-deep);transition:color .2s ease,letter-spacing .25s ease}.card-expandable:hover .card-cue{color:var(--forest);letter-spacing:.02em}.card.is-flipped{transform:perspective(900px) rotateY(88deg);opacity:0;transition:transform .24s cubic-bezier(.5,0,.8,.4),opacity .18s ease .1s}.chemist-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#2a242073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .35s ease}.chemist-scrim.is-open{opacity:1}.chemist-scrim[hidden]{display:none}.chemist-modal{position:fixed;left:50%;top:50%;z-index:1210;width:min(880px,92vw);max-height:88vh;overflow:auto;display:grid;grid-template-columns:300px 1fr;gap:clamp(22px,3vw,36px);background:var(--card);border:1px solid var(--honey);border-radius:8px;padding:clamp(24px,3.5vw,40px);box-shadow:0 40px 90px #2a242059;transform:translate(-50%,-50%) perspective(1200px) rotateY(-88deg) scale(.72);opacity:0;transition:transform .5s cubic-bezier(.2,.8,.25,1.06),opacity .4s ease}.chemist-modal.is-open{transform:translate(-50%,-50%) perspective(1200px) rotateY(0) scale(1);opacity:1}.chemist-modal[hidden]{display:none}.chemist-close{position:absolute;top:14px;right:16px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:22px;line-height:1;cursor:pointer;transition:border-color .15s ease,background .15s ease}.chemist-close:hover{border-color:var(--honey);background:#c49a5714}.chemist-close:focus-visible{outline:2px solid var(--honey-deep);outline-offset:2px}.chemist-photo img{display:block;width:100%;height:auto}.chemist-body{display:flex;flex-direction:column;justify-content:center}.chemist-body h3{font-size:clamp(26px,3.4vw,34px);margin:10px 0 14px}.chemist-body p{color:var(--ink-soft);font-size:clamp(17px,2.1vw,19px);line-height:1.65;margin-bottom:12px}.chemist-creds{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.chemist-creds span{font-family:var(--sans);font-size:clamp(12px,1.4vw,13.5px);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#2a2018;background:var(--honey-soft);padding:5px 12px;border-radius:999px}@media (max-width:700px){.chemist-modal{grid-template-columns:1fr;width:min(440px,94vw)}.chemist-photo img{max-height:38vh;object-fit:cover}}.card .ey{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(23px,2.5vw,25px);color:#7a1e38;display:block;margin-bottom:12px}.card h3{font-size:clamp(25px,2.9vw,28px);margin-bottom:8px}.card p{color:var(--ink-soft);font-size:clamp(17px,2.1vw,19px)}.get{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--rose-blush) 0%,var(--rose-blush) 66%,var(--porcelain) 100%);padding:clamp(130px,16vw,190px) 0 clamp(70px,9vw,110px)}.get .kicker{display:block;text-align:center;margin-bottom:18px}.get .panel{background:none;border:none;border-radius:0;padding:0;max-width:none}.get p{font-family:var(--serif);font-weight:400;font-size:clamp(22px,3.6vw,33px);line-height:1.3;color:var(--ink);text-align:center;margin:0 auto}.get p .hl{color:var(--morpho-blue);font-style:italic;font-weight:600}.steprow{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:28px;margin-top:42px}.step{border-top:2px solid var(--honey);padding-top:18px}.step .num{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(27px,2.9vw,29px);color:var(--honey-deep)}.step h3{font-size:clamp(24px,2.8vw,27px);margin:8px 0}.step p{color:var(--ink-soft);font-size:clamp(17px,2.1vw,19px);max-width:32ch}.steprow:not(.in) .step{opacity:0}.steprow.in .step{opacity:1;animation:stepSlideIn 1.4s cubic-bezier(.22,.75,.3,1.06) backwards}.steprow.in .step:nth-child(2){animation-delay:.6s}.steprow.in .step:nth-child(3){animation-delay:1.2s}@keyframes stepSlideIn{0%{opacity:0;transform:translate(70px)}70%{opacity:1;transform:translate(-7px)}to{opacity:1;transform:none}}.authority{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--porcelain) 0%,var(--rose-blush) 34%,var(--rose-blush) 66%,var(--porcelain) 100%);padding:clamp(130px,16vw,190px) 0 clamp(70px,9vw,110px)}.authority .kicker{display:block;text-align:center;margin-bottom:18px}.authority p{font-family:var(--serif);font-weight:400;font-size:clamp(22px,3.6vw,33px);line-height:1.3;color:var(--ink);text-align:center;margin:0 auto;max-width:none}.authority .hl{color:var(--morpho-blue);font-style:italic;font-weight:600}.grove{position:relative;height:100vh;height:100lvh;padding:0}.grove-stage{position:sticky;top:0;overflow:hidden;height:100vh;height:100lvh;background:radial-gradient(ellipse 62% 58% at 50% 58%,var(--rose-blush) 0%,rgba(240,196,208,0) 72%),linear-gradient(180deg,var(--porcelain) 0%,#F8E9E6 45%,#F8E9E6 55%,var(--porcelain) 100%)}.grove-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;display:block}.grove-lead{position:absolute;top:clamp(30px,6.5vh,70px);left:50%;transform:translate(-50%);z-index:2;width:min(92vw,760px);display:flex;flex-direction:column;align-items:center;gap:14px;opacity:var(--grove-lead,1);pointer-events:none}.grove-title{margin:0;text-align:center;font-size:clamp(26px,4.2vw,40px);text-shadow:0 1px 24px rgba(245,239,230,.95),0 0 10px rgba(245,239,230,.75)}.grove-cue{display:flex;flex-direction:column;align-items:center;gap:9px;animation:cueBob 2.4s ease-in-out infinite}.grove-quote{position:absolute;top:62%;left:50%;transform:translate(-50%,-52%);z-index:2;margin:0;width:min(90vw,860px);text-align:center;font-family:var(--serif);font-weight:400;font-size:clamp(21px,3.2vw,31px);line-height:1.4;color:var(--ink);text-shadow:0 1px 24px rgba(245,239,230,.95),0 0 12px rgba(245,239,230,.8);opacity:var(--grove-quote,0);pointer-events:none}@media (orientation:portrait){.grove-quote{top:55%;width:88vw;font-size:clamp(26px,7vw,34px)}}.grove.grove-static{height:auto}.grove.grove-static .grove-stage{height:clamp(340px,46vh,500px)}#pricing{position:relative}#pricing{padding-top:clamp(24px,4vw,44px)}.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:18px;margin-top:42px}.tiers:not(.in) .tier{opacity:0}.tiers.in .tier{opacity:1;animation:stepSlideIn 1.4s cubic-bezier(.22,.75,.3,1.06) backwards}.tiers.in .tier:nth-child(2){animation-delay:.6s}.tiers.in .tier:nth-child(3){animation-delay:1.2s}.tier{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:30px 26px;display:flex;flex-direction:column}.tier.feature{border-color:var(--morpho-blue);box-shadow:0 0 0 1px var(--morpho-blue)}.badge{align-self:flex-start;font-family:var(--sans);font-size:clamp(12px,1.4vw,13.5px);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--porcelain);background:var(--morpho-blue);padding:3px 10px;border-radius:999px;margin-bottom:14px}.tier h3{font-size:clamp(25px,2.9vw,28px)}.tiers .tier:nth-child(1) h3{color:#e58fac}.tiers .tier:nth-child(2) h3{color:var(--rose-accent)}.tiers .tier:nth-child(3) h3{color:#a02458}.price{font-family:var(--serif);font-size:clamp(32px,3.6vw,38px);font-weight:600;color:var(--forest);margin:8px 0 2px}.price .per{font-family:var(--sans);font-size:clamp(14px,1.6vw,16px);color:var(--ink-soft);font-weight:400}.tier .blurb{color:var(--ink-soft);font-size:clamp(17px,2.1vw,19px);margin-top:8px}.oneoff{margin-top:30px;font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(20px,2.6vw,26px);color:var(--ink);text-align:center}.oneoff b{color:var(--honey-deep);font-style:normal;font-weight:700}.trust{background:var(--porcelain)}.trust .inner{max-width:40rem;border-left:3px solid var(--honey);padding-left:clamp(20px,4vw,34px)}.trust p{font-family:var(--serif);font-weight:400;font-size:clamp(20px,3vw,28px);line-height:1.4;color:var(--ink)}.cta{position:relative;background:#1a1614 url(/loading-background-v3.jpeg) center/cover no-repeat;color:var(--porcelain);overflow:hidden;touch-action:pan-y pinch-zoom}.cta:before{content:"";position:absolute;z-index:1;bottom:-30%;left:50%;width:min(720px,118%);height:120%;transform:translate(-50%);background:radial-gradient(closest-side,rgba(196,154,87,.22),transparent 70%);pointer-events:none}.cta-ripple{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.cta-ripple canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;transition:opacity .5s ease}.cta-ripple canvas.is-ready{opacity:1}.cta-inner{position:relative;z-index:2;text-align:center;padding:clamp(58px,10vw,108px) 0}.cta h2{font-size:clamp(30px,5.2vw,52px);color:#fff;max-width:18ch;margin:0 auto 14px;text-shadow:0 1px 8px rgba(0,0,0,.35)}.cta p{color:#5b411a;max-width:44ch;margin:0 auto 30px;font-size:clamp(20px,2.4vw,24px)}.cta .cta-lede{width:fit-content;max-width:calc(50ch + 112px);padding:26px 56px;margin:-14px auto 16px;font-weight:500;background:radial-gradient(ellipse closest-side,rgba(250,244,235,.55),rgba(250,244,235,.34) 55%,transparent 100%)}.cta .who{display:inline-flex;align-items:center;gap:10px;margin-top:26px;font-family:var(--serif);font-style:italic;font-size:clamp(18px,2.1vw,22px);color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.4);text-decoration:none}.cta .who:hover{text-decoration:underline;text-underline-offset:3px}.cta .who:focus-visible{outline:2px solid var(--honey);outline-offset:4px}.who-icon{width:1.15em;height:1.15em;flex:none}.booking{margin:0 auto;max-width:820px;text-align:left;background:#1a1614cc;border:1px solid var(--line-dark);border-radius:10px;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 30px 80px #00000059;padding:clamp(20px,3.4vw,34px)}.booking p{margin:0;max-width:none;font-size:15px;color:var(--porcelain);text-shadow:none}.booking button{font-family:var(--sans)}.booking-pick,.booking-form,.booking-done{animation:bookingStepIn .45s ease both}.booking-pick[hidden],.booking-form[hidden],.booking-done[hidden],.booking-done-actions[hidden]{display:none}@keyframes bookingStepIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.booking-pick{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(20px,3.4vw,34px);align-items:start}.booking .booking-notice{grid-column:1/-1;margin:0;font-size:14.5px;font-weight:600;color:var(--honey-soft)}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.cal-month{font-size:16px;font-weight:500;color:#f5efe69e}.cal-month b{font-weight:600;color:#fff}.cal-nav{display:inline-flex;gap:6px}.cal-prev,.cal-next{width:32px;height:32px;border-radius:6px;border:0;background:transparent;color:var(--porcelain);font-size:20px;line-height:1;cursor:pointer;transition:background .15s ease}.cal-prev:hover:not(:disabled),.cal-next:hover:not(:disabled){background:#f5efe61f}.cal-prev:disabled,.cal-next:disabled{opacity:.3;cursor:default}.cal-days,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-days{margin-bottom:8px}.cal-days span{text-align:center;font-size:11px;font-weight:600;letter-spacing:.08em;color:#f5efe680}.cal-grid .day{position:relative;aspect-ratio:1;display:grid;place-items:center;border:0;border-radius:8px;background:#f5efe617;color:var(--porcelain);font-size:15px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.cal-grid .day:hover:not(:disabled){background:#f5efe633}.cal-grid .day:disabled{background:transparent;color:#f5efe642;font-weight:400;cursor:default}.cal-grid .day.is-selected{background:var(--porcelain);color:#2a2018}.cal-grid .day.is-today:after{content:"";position:absolute;bottom:5px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:currentColor}.times{min-width:0}.times-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.times-day{font-size:16px;font-weight:500;color:#f5efe69e}.times-day b{font-weight:600;color:#fff}.times-fmt{display:inline-flex;background:#f5efe617;border-radius:6px;padding:2px}.times-fmt button{border:0;background:transparent;color:#f5efe699;font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:5px;cursor:pointer;transition:background .15s ease,color .15s ease}.times-fmt button[aria-pressed=true]{background:var(--porcelain);color:#2a2018}.times-list{display:flex;flex-direction:column;gap:8px;max-height:336px;overflow-y:auto;padding-right:6px;scrollbar-width:thin;scrollbar-color:rgba(245,239,230,.25) transparent}.times-list button{padding:11px 0;text-align:center;border-radius:8px;border:1px solid rgba(245,239,230,.24);background:transparent;color:var(--porcelain);font-size:14.5px;font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease}.times-list button:hover{border-color:var(--honey);background:#c49a5724}.booking .times-empty{color:#f5efe699;font-size:14px}.booking .times-zone{margin-top:12px;font-size:13px;color:#f5efe680}.booking-form{display:flex;flex-direction:column;gap:16px;max-width:560px;margin:0 auto}.booking .booking-when{font-family:var(--serif);font-style:italic;font-size:clamp(19px,2.2vw,22px);color:var(--honey-soft)}.booking-form label{font-size:14.5px;font-weight:600;color:var(--porcelain)}.booking-form .req{color:var(--honey-soft)}.booking-form input,.booking-form textarea{display:block;width:100%;margin-top:7px;padding:11px 13px;border-radius:8px;border:1px solid rgba(245,239,230,.25);background:#00000040;color:#fff;font:500 15px var(--sans);transition:border-color .15s ease}.booking-form input::placeholder,.booking-form textarea::placeholder{color:#f5efe666}.booking-form input:focus,.booking-form textarea:focus{outline:none;border-color:var(--honey)}.booking-form textarea{resize:vertical;min-height:84px}.booking-form.show-invalid input:invalid{border-color:#d98a7e}.booking-form .hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.booking-confirm:disabled{opacity:.65;cursor:progress}.booking .booking-error{color:#efa99c;font-size:14px}.booking-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:4px}.booking-back,.booking-again{padding:11px 24px;border-radius:2px;border:1px solid rgba(245,239,230,.3);background:transparent;color:var(--porcelain);font-size:15px;font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease}.booking-back:hover,.booking-again:hover{border-color:var(--porcelain);background:#f5efe614}.booking-confirm{padding:11px 30px;border-radius:2px;border:1px solid var(--honey);background:var(--honey);color:#2a2018;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.booking-confirm:hover{background:var(--honey-deep);border-color:var(--honey-deep)}.booking button:focus-visible,.booking input:focus-visible,.booking textarea:focus-visible{outline:2px solid var(--honey);outline-offset:2px}.booking-done{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:560px;margin:0 auto;text-align:center}.booking-done h3{font-size:clamp(26px,3vw,32px);color:#fff}.booking-done p{color:#e6decf}.booking .booking-request{width:100%;margin:0;text-align:left;font:400 13.5px/1.6 var(--sans);color:#e6decf;background:#00000040;border:1px solid rgba(245,239,230,.18);border-radius:8px;padding:14px 16px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:190px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(245,239,230,.25) transparent}.booking-done-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.booking-copy{padding:11px 24px;border-radius:2px;border:1px solid var(--honey);background:var(--honey);color:#2a2018;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.booking-copy:hover{background:var(--honey-deep);border-color:var(--honey-deep)}.booking-gmail{display:inline-block;padding:11px 24px;border-radius:2px;border:1px solid rgba(245,239,230,.3);color:var(--porcelain);font-family:var(--sans);font-size:15px;font-weight:600;text-decoration:none;transition:border-color .15s ease,background .15s ease}.booking-gmail:hover{border-color:var(--porcelain);background:#f5efe614}.booking .booking-fallback{font-size:14px;color:#f5efe699}.booking-fallback a{color:var(--honey-soft)}@media (max-width:760px){.booking-pick{grid-template-columns:1fr}.times-list{max-height:272px}.booking-actions{flex-direction:column-reverse}.booking-actions button{width:100%}}footer{background:var(--plum-deep);color:var(--plum-soft);font-family:var(--sans);font-size:clamp(15px,1.7vw,17px);padding:52px 0 26px;border-top:1px solid rgba(255,255,255,.08)}.foot{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:22px}.foot-left{display:flex;flex-direction:column;gap:5px}.foot-links{display:flex;flex-wrap:wrap;gap:clamp(18px,3vw,36px)}.foot-links a{color:var(--plum-soft);text-decoration:none;transition:color .15s ease}.foot-links a:hover{color:#fff}.foot-links a:focus-visible{outline:2px solid var(--honey);outline-offset:3px}.foot-credit{margin-top:36px;font-size:12.5px;color:#c9b7c073}.foot-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}.reveal.in{opacity:1;transform:none}@media (max-width:560px){.hero-cta{flex-direction:column;align-items:stretch}.btn{text-align:center}.foot{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero:before,.hero .eyebrow,.hero h1,.hero .lede,.hero-cta{animation:none;opacity:1;transform:none}.hero:before{opacity:1;transform:translate(-50%)}.hero.hero-3d-active .scroll-cue{animation:none}.reveal{opacity:1;transform:none;transition:none}.cards .card,.steprow .step,.tiers .tier{opacity:1;animation:none}.grove-cue,.booking-pick,.booking-form,.booking-done{animation:none}.card.is-flipped{transform:none;opacity:1;transition:none}.chemist-modal{transform:translate(-50%,-50%);transition:opacity .3s ease}.chemist-modal.is-open{transform:translate(-50%,-50%)}.btn:hover{transform:none}}.hero-3d-pending .hero .hero-inner{opacity:0}.hero-3d-pending .hero .eyebrow,.hero-3d-pending .hero h1,.hero-3d-pending .hero .lede,.hero-3d-pending .hero-cta{animation:none}.hero-3d-pending .hero:before{animation:none;opacity:0}html:not(.hero-3d-pending):not(.hero-3d-on) .hero{background:linear-gradient(to bottom,rgba(45,26,44,0) 78%,var(--porcelain) 99.5%),linear-gradient(105deg,#1e101cb8,#1e101c6b 46%,#1e101c1f 72%),url(/hero-still.jpg) 66% 50% / cover no-repeat,#2d1a2c}html:not(.hero-3d-pending):not(.hero-3d-on) .hero:before{display:none}html:not(.hero-3d-pending):not(.hero-3d-on) .hero>.wrap{min-height:min(92svh,860px);display:flex;flex-direction:column}html:not(.hero-3d-pending):not(.hero-3d-on) .hero .hero-inner{margin:auto 0}html:not(.hero-3d-pending):not(.hero-3d-on) .hero .eyebrow{color:var(--honey-soft)}html:not(.hero-3d-pending):not(.hero-3d-on) .hero h1{color:var(--porcelain);text-shadow:0 1px 22px rgba(20,10,18,.45)}html:not(.hero-3d-pending):not(.hero-3d-on) .hero .lede{color:#f5efe6e0;text-shadow:0 1px 18px rgba(20,10,18,.45)}html:not(.hero-3d-pending):not(.hero-3d-on) .hero .btn-ghost{color:var(--porcelain);border-color:#f5efe680}html:not(.hero-3d-pending):not(.hero-3d-on) .hero .btn-ghost:hover{background:#f5efe61f;border-color:var(--porcelain);color:#fff}html:not(.hero-3d-pending):not(.hero-3d-on) .hero .top .brand{content:url(/logo-white.png);filter:drop-shadow(0 1px 6px rgba(0,0,0,.25))}html:not(.hero-3d-pending):not(.hero-3d-on) .hero .top a.link{color:#f5efe6d9}html:not(.hero-3d-pending):not(.hero-3d-on) .hero .top a.link:hover{color:#fff;border-color:var(--honey)}.hero-canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .6s ease}.hero-canvas canvas{display:block;width:100%;height:100%}.hero-wash{display:none}.hero.hero-3d-active .hero-wash{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;opacity:var(--hero-wash-opacity,0);background:radial-gradient(circle at 50% 46%,#fff,#ffe6ee 34%,#fbeff1 72%,#fbeff1)}.hero-petal-pile{display:none}.hero.hero-3d-active .hero-petal-pile{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;overflow:hidden}.hero.hero-3d-active .pile-petal{--lp:clamp((var(--hero-pile-progress,0) - var(--delay,0)) / (1 - var(--delay,0)), 0, 1);--fall:calc(1 - var(--lp));--arc:calc(4 * var(--lp) * var(--fall));position:absolute;left:var(--px,50%);bottom:0;width:clamp(26px,3.2vw,44px);height:calc(clamp(26px,3.2vw,44px)*1.05);background-image:var(--petal-img);background-size:contain;background-repeat:no-repeat;background-position:center;opacity:calc(var(--lp) * .96);transform:translate(calc(-50% + var(--arc) * var(--sway,0px))) translateY(calc(var(--fall) * (var(--driftRise,46vh) * -1) - var(--rest,0px))) rotate(calc(var(--fall) * var(--turns,0deg) + var(--rot,0deg))) scale(var(--scale,1));will-change:transform,opacity}.hero-whisper{display:none}.hero.hero-3d-active .hero-whisper{display:block;position:absolute;z-index:2;pointer-events:none;left:50%;top:33%;transform:translate(calc(-50% - 24vh));white-space:nowrap;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(20px,2.4vw,30px);color:#fff3ea;text-shadow:0 1px 8px rgba(20,4,12,.7),0 0 26px rgba(20,4,12,.5);opacity:var(--hero-whisper-opacity,0)}@media (max-width:760px),(orientation:portrait){.hero.hero-3d-active .hero-whisper{left:50%;top:33%;transform:translate(-50%);font-size:clamp(16px,5vw,24px)}}.hero.hero-3d-active .hero-whisper .wword{white-space:nowrap}.hero.hero-3d-active .hero-whisper .wch{opacity:clamp(0,(var(--hero-whisper-progress,0) * (var(--wn,1) + 3) - var(--wi,0)) / 3,1)}.hero-copy,.scroll-cue{display:none}.hero.hero-3d-active .scroll-cue{display:flex;flex-direction:column;align-items:center;gap:9px;position:absolute;left:50%;bottom:clamp(34px,7vh,64px);transform:translate(-50%);z-index:3;opacity:var(--hero-cue-opacity,1);pointer-events:none;text-align:center;transition:opacity .25s ease;animation:cueBob 2.4s ease-in-out infinite}.scroll-cue-label{font-family:var(--sans);font-weight:600;font-size:clamp(12px,1.5vw,14px);letter-spacing:.22em;text-transform:uppercase;color:var(--ink);padding:8px 16px;border-radius:999px;background:#fbbbd0c7;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);box-shadow:0 1px 10px #2a242014}.scroll-cue-arrow{width:9px;height:9px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:rotate(45deg);opacity:.75;filter:drop-shadow(0 1px 2px rgba(245,239,230,.9))}@keyframes cueBob{0%,to{translate:0 0}50%{translate:0 6px}}.hero.hero-3d-active{min-height:100vh;min-height:100lvh;display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden}.hero.hero-3d-active .hero-canvas{opacity:var(--hero-canvas-opacity,1)}.hero.hero-3d-active:before{display:none}.hero.hero-3d-active>.wrap{width:100%}.hero.hero-3d-active .top{position:relative;z-index:2}.hero.hero-3d-active:not(.hero-copy-shown) .top .brand{content:url(/logo-white.png);filter:drop-shadow(0 1px 6px rgba(0,0,0,.25))}.hero.hero-3d-active:not(.hero-copy-shown) .top a.link{display:none}.hero.hero-3d-active:not(.hero-copy-shown) .top{position:absolute;top:clamp(2px,.5vh,4px);left:clamp(20px,3vw,40px);right:auto;z-index:3;justify-content:flex-start;gap:clamp(20px,3vw,40px);padding:0}.hero.hero-3d-active .hero-inner{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(92%,46rem);z-index:3;text-align:left;opacity:var(--hero-copy-opacity,0);pointer-events:none;transition:opacity .12s linear}.hero.hero-3d-active .hero-inner .hero-cta{pointer-events:auto}.hero.hero-3d-active .hero-inner .eyebrow,.hero.hero-3d-active .hero-inner h1,.hero.hero-3d-active .hero-inner .lede,.hero.hero-3d-active .hero-inner .hero-cta{animation:none;opacity:1;transform:none}.samples{overflow:hidden;background:radial-gradient(circle at 50% 46%,#fff,#ffe6ee 34%,#fbeff1 72%,#fbeff1)}.samples .sub{max-width:56ch}.sample-orbit{margin-top:42px}@media (min-width:900px){.sample-orbit{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(48px,7vw,110px);align-items:center}.sample-stage{grid-column:1;grid-row:1}.sample-captions{grid-column:2;grid-row:1;margin-top:0}.sample-orbit .sample-nav{grid-column:1 / -1;grid-row:2;margin-top:-140px}}.sample-stage{position:relative;perspective:1400px;touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab}.sample-stage.is-dragging{cursor:grabbing}.sample{position:absolute;top:50%;left:50%;width:clamp(230px,54%,360px);transform:translate(-50%,-50%);pointer-events:none;will-change:transform}.sample.is-front{pointer-events:auto}.sample.is-front .phone{box-shadow:0 30px 60px #2a24202e,0 8px 18px #2a242014}.sample-ghost{position:absolute;top:50%;left:50%;background:#fff;padding:6px;border-radius:16px;box-shadow:0 12px 30px #2a24201a;pointer-events:none;will-change:transform}.sample-ghost-art{width:100%;height:100%;border-radius:11px;background-size:cover;background-position:center}.sample-captions{position:relative;margin-top:26px}.sample-body{position:absolute;top:0;left:50%;transform:translate(-50%);width:min(560px,100%);opacity:0;pointer-events:none;transition:opacity .35s ease}.sample-body.is-shown{opacity:1;pointer-events:auto}.sample-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:28px}.sample-arrow{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--card);cursor:pointer;display:grid;place-items:center;transition:border-color .15s ease,background .15s ease}.sample-arrow:hover{border-color:var(--honey);background:#fff}.sample-arrow:focus-visible{outline:2px solid var(--honey-deep);outline-offset:3px}.sample-arrow:before{content:"";width:9px;height:9px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink)}.sample-prev:before{transform:rotate(135deg);margin-left:3px}.sample-next:before{transform:rotate(-45deg);margin-right:3px}.sample-dot{width:9px;height:9px;border-radius:50%;border:1px solid var(--honey);background:transparent;padding:0;cursor:pointer;transition:background .2s ease}.sample-dot[aria-current=true]{background:var(--honey)}.sample-dot:focus-visible{outline:2px solid var(--honey-deep);outline-offset:3px}.phone{background:#fff;border:1px solid var(--line);border-radius:22px;padding:10px 10px 12px;box-shadow:0 10px 30px #2a242012}.phone-head{display:flex;align-items:center;gap:9px;padding:2px 4px 10px}.phone-avatar{width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--honey-soft),var(--forest))}.phone-name{font-size:clamp(13px,1.5vw,14.5px);font-weight:600;letter-spacing:.02em}.phone-screen{position:relative;aspect-ratio:9/16;border-radius:12px;overflow:hidden;background:linear-gradient(160deg,var(--porcelain-2),var(--honey-soft))}.phone-screen video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.sample-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;background:#f5efe6eb;display:grid;place-items:center;box-shadow:0 2px 14px #2a242040}.sample-play:before{content:"";width:0;height:0;border-left:16px solid var(--ink);border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px}.sample-play.is-playing:before{width:6px;height:18px;border-left:5px solid var(--ink);border-right:5px solid var(--ink);border-top:none;border-bottom:none;margin-left:0}.sample-play[hidden]{display:none}.sample-play:focus-visible{outline:2px solid var(--honey-deep);outline-offset:3px}.sample-body{display:flex;flex-direction:column;align-items:flex-start}.sample-kind{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(23px,2.5vw,25px);color:var(--honey-deep);margin-bottom:8px}.sample-caption{font-size:clamp(17px,2.1vw,19px);line-height:1.6;color:var(--ink)}.sample-hashtags{font-size:clamp(14px,1.7vw,16px);color:var(--forest);margin-top:10px}.sample-when{font-family:var(--sans);font-size:clamp(12px,1.4vw,13.5px);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#2a2018;background:var(--honey-soft);padding:4px 12px;border-radius:999px;margin-top:12px}.note-mark{display:inline-grid;place-items:center;width:16px;height:16px;margin:0 2px;vertical-align:super;font-family:var(--sans);font-size:11px;font-weight:600;line-height:1;color:#2a2018;background:var(--honey-soft);border:1px solid var(--honey);border-radius:50%;cursor:pointer;padding:0}.note-mark[aria-expanded=true]{background:var(--honey)}.note-mark:focus-visible{outline:2px solid var(--honey-deep);outline-offset:2px}.sample-note{margin-top:8px;font-size:clamp(14.5px,1.7vw,16.5px);line-height:1.55;color:var(--ink-soft);background:var(--card);border-left:2px solid var(--honey);border-radius:0 4px 4px 0;padding:8px 12px}.sample-note b{color:var(--honey-deep);font-weight:600}
