:root{--heading-font-font-family:"Shrikhand",Georgia,serif;--body-font-font-family:"Bitter",Georgia,serif;--heading-font-font-weight:400;--heading-font-font-style:normal;color:#541849;background:#fbf1f0;font-family:var(--body-font-font-family)}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid #541849;outline-offset:5px}.skip{position:fixed;top:-100px;left:16px;background:#fffaf6;padding:16px;z-index:10}.skip:focus{top:12px}header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid #b39860}.brand{font-family:var(--heading-font-font-family);font-size:38px;text-decoration:none}.brand span{display:block;font-family:var(--body-font-font-family);font-size:10px;letter-spacing:.3em;text-align:center}nav{display:flex;gap:24px;flex-wrap:wrap}nav a{padding:12px 0}footer{background:#401137;color:#fffaf6;padding:48px 24px;text-align:center;line-height:1.8}.simple{max-width:860px;margin:auto;padding:80px 24px;line-height:1.8;min-height:65vh}.simple h1,.simple h2,.page-title{font-family:var(--heading-font-font-family);font-weight:400}.simple h1{font-size:clamp(36px,6vw,58px);line-height:1.2}.page-title{text-align:center;padding:40px 24px;margin:0;background:#b09eec;font-size:clamp(34px,5vw,50px)}@media(max-width:560px){header{padding:20px;gap:20px;align-items:flex-start}.brand{font-size:30px}nav{gap:12px;font-size:13px}.simple{padding:48px 24px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
.youtube-link{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:50%;color:inherit}.youtube-link:hover{color:#b09eec}.youtube-link:focus-visible{outline-color:#fffaf6}.youtube-link svg{display:block}

/* Homepage flower video, with text and buttons above a plum overlay. */
#zodyse-home .zh-close{position:relative;isolation:isolate;overflow:hidden;min-height:440px;display:grid;align-items:center;padding-bottom:96px;background:#541849}
#zodyse-home .zh-close-poster,#zodyse-home .zh-close-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;pointer-events:none}
#zodyse-home .zh-close-video{opacity:0;transition:opacity .2s ease}
#zodyse-home .zh-close-video.is-ready{opacity:1}
@media(prefers-reduced-motion:reduce){#zodyse-home .zh-close-video.is-ready{opacity:0}}
#zodyse-home .zh-close::before{content:"";position:absolute;inset:0;background:rgba(40,12,34,.57);z-index:1;pointer-events:none}
#zodyse-home .zh-close>.zh-wrap{position:relative;z-index:2}
#zodyse-home .zh-close :focus-visible{outline:3px solid #fffaf6;outline-offset:5px}
@media(max-width:760px){#zodyse-home .zh-close{min-height:440px;padding-bottom:64px}}
/* About: original biography alongside Violet's full portrait. */
.about-page{background:#541849;color:#fffaf6;padding:80px 0 96px}
.about-layout{width:min(1180px,calc(100% - 96px));margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:72px;align-items:start}
.about-copy h1{font-family:var(--heading-font-font-family);font-weight:400;font-size:clamp(42px,4.7vw,66px);line-height:1.12;letter-spacing:-.025em;margin:0 0 36px}
.about-copy p{font-size:16px;line-height:1.8;margin:0 0 24px;overflow-wrap:break-word}
.about-portrait{margin:0}
.about-portrait img{display:block;width:100%;height:auto}
.about-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:58px;padding:15px 28px;margin-top:8px;border:1px solid #b09eec;border-radius:100px;background:#b09eec;color:#541849;text-decoration:none;font-size:16px;line-height:1.45}
.about-button:hover{background:#fffaf6;border-color:#fffaf6}
.about-button:focus-visible{outline-color:#fffaf6}
@media(max-width:1000px){.about-layout{width:calc(100% - 64px);gap:40px}}
@media(max-width:760px){.about-page{padding:48px 0 64px}.about-layout{width:calc(100% - 40px);grid-template-columns:1fr;gap:40px}.about-portrait{grid-row:1;width:min(420px,100%);justify-self:center}.about-copy h1{margin-bottom:28px}}
@media(max-width:560px){header{flex-wrap:wrap;justify-content:center}header nav{justify-content:center}}
/* Original Offerings artwork: faded background, circular liquid portrait. */
.offerings-hero{position:relative;isolation:isolate;overflow:hidden;background:#fbf1f0;color:#541849}
.offerings-backdrop{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.offerings-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:rgba(251,241,240,.9)}
.offerings-grain{position:absolute;inset:-20%;z-index:-1;pointer-events:none;opacity:.06;background:url("/assets/offerings-grain.svg") repeat;background-size:160px 160px}
.offerings-hero-inner{width:min(1320px,100%);margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:64px;padding:32px 48px 48px}
.offerings-circle{position:relative;width:100%;max-width:560px;aspect-ratio:1;border-radius:50%;overflow:hidden}
.offerings-liquid-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.offerings-liquid-canvas{position:absolute;inset:0;width:100%;height:100%;visibility:hidden}.offerings-circle[data-liquid-ready="true"] .offerings-liquid-canvas{visibility:visible}.offerings-circle[data-liquid-ready="true"] .offerings-liquid-image{visibility:hidden}
.offerings-hero h1{font-family:var(--heading-font-font-family);font-weight:400;font-size:clamp(42px,5vw,70px);line-height:1.15;letter-spacing:-.025em;margin:clamp(48px,7vw,110px) 0 0}
.offerings-hero.is-animating .offerings-grain{animation:offerings-grain-shift .6s steps(1,end) infinite}
@keyframes offerings-grain-shift{0%,100%{transform:translate(0,0)}25%{transform:translate(-24px,16px)}50%{transform:translate(16px,-32px)}75%{transform:translate(-16px,-8px)}}
@media(max-width:760px){.offerings-hero-inner{grid-template-columns:1fr;gap:32px;padding:32px 24px 48px;text-align:center}.offerings-circle{width:min(420px,100%);justify-self:center}.offerings-hero h1{margin:0;font-size:clamp(38px,8vw,56px)}}
@media(prefers-reduced-motion:reduce){.offerings-hero.is-animating .offerings-grain{animation:none}.offerings-circle[data-liquid-ready="true"] .offerings-liquid-canvas{visibility:hidden}.offerings-circle[data-liquid-ready="true"] .offerings-liquid-image{visibility:visible}}
/* Header navigation: current-page and hover indicators, plus booking CTA. */
.site-nav{align-items:center;min-width:0}
.site-nav>a{position:relative;white-space:nowrap;text-decoration:none;transition:color .18s ease,background-color .18s ease,transform .18s ease,box-shadow .18s ease}
.site-nav>a:not(.nav-book)::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .18s ease}
.site-nav>a:not(.nav-book):hover,.site-nav>a:not(.nav-book):focus-visible{color:#401137;transform:translateY(-2px)}
.site-nav>a:not(.nav-book):hover::after,.site-nav>a:not(.nav-book):focus-visible::after,.site-nav>a[aria-current="page"]::after{transform:scaleX(1)}
.site-nav>.nav-book{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 26px;border:1px solid #541849;border-radius:100px;background:#541849;color:#fffaf6;line-height:1.4;text-decoration:none}
.site-nav>.nav-book:hover,.site-nav>.nav-book:focus-visible{background:#401137;border-color:#401137;transform:translateY(-2px);box-shadow:0 4px 12px rgba(64,17,55,.18)}
@media(max-width:560px){.site-nav{column-gap:16px;row-gap:8px}.site-nav>.nav-book{min-height:44px;padding:11px 22px}}
@media(prefers-reduced-motion:reduce){.site-nav>a,.site-nav>a::after{transition:none}.site-nav>a:not(.nav-book):hover,.site-nav>a:not(.nav-book):focus-visible,.site-nav>.nav-book:hover,.site-nav>.nav-book:focus-visible{transform:none}}
/* Contact page follows the original lavender form-and-image layout. */
.contact-page{background:#d2c9f0;color:#541849;padding:40px 0 88px}
.contact-layout{width:min(1324px,calc(100% - 96px));margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(48px,8vw,120px);align-items:start}
.contact-copy{min-width:0}
.contact-copy h1{font-family:var(--heading-font-font-family);font-weight:400;font-size:clamp(38px,4.6vw,66px);line-height:1.1;letter-spacing:-.025em;margin:0 0 22px}
.contact-copy h1 span{display:block}
.contact-copy h1 span+span{margin-top:34px}
.contact-intro{font-size:16px;line-height:1.6;margin:0 0 16px}
.contact-form{display:grid;gap:20px}
.contact-name{min-width:0;padding:0;margin:0;border:0}
.contact-name legend{padding:0;margin-bottom:10px;font-size:16px}
.contact-name-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.contact-field{display:grid;gap:7px;min-width:0}
.contact-field label{font-size:16px;line-height:1.5}
.contact-name-fields label{font-size:14px}
.contact-field label span{font-size:.9em;opacity:.8;margin-left:4px}
.contact-field input,.contact-field textarea{box-sizing:border-box;width:100%;min-width:0;border:1px solid #541849;border-radius:24px;background:transparent;color:#541849;font:inherit;font-size:16px;line-height:1.5;padding:10px 16px}
.contact-field input{min-height:44px}
.contact-field textarea{min-height:104px;resize:vertical}
.contact-field input:focus-visible,.contact-field textarea:focus-visible{outline:2px solid #541849;outline-offset:3px}
.contact-submit{justify-self:start;min-height:56px;border:1px solid #541849;border-radius:100px;padding:14px 32px;background:#541849;color:#fffaf6;font:inherit;cursor:pointer;transition:background .18s ease}
.contact-submit:hover{background:#401137}
.contact-submit:focus-visible{outline:3px solid #541849;outline-offset:4px}
.contact-submit:disabled{opacity:.65;cursor:wait}
.contact-art{margin:0;align-self:center}
.contact-art img{display:block;width:100%;height:auto}
.contact-email-option{font-size:13px;line-height:1.6;margin:20px 0 0}
.contact-status{margin:0;font-size:15px;line-height:1.6}
.contact-status[hidden]{display:none}
@media(max-width:1000px){.contact-layout{width:calc(100% - 64px);gap:40px}.contact-copy h1{font-size:clamp(36px,4.6vw,52px)}}
@media(max-width:760px){.contact-page{padding:36px 0 56px}.contact-layout{width:calc(100% - 40px);grid-template-columns:1fr;gap:40px}.contact-copy h1{font-size:clamp(36px,7.8vw,52px)}.contact-copy h1 span+span{margin-top:24px}.contact-art{width:100%}}
@media(max-width:380px){.contact-name-fields{grid-template-columns:1fr}}
