:root{--ink:#2b1b3a;--muted:#2b1b3a;--cream:#fff;--shell:#eac6a6;--shell-rgb:234, 198, 166;--lavender:#ceb9e8;--sky:#a7c8ed;--gold:var(--shell);--shadow:0 18px 40px #2b1b3a26;--radius:18px;--font-body:"Gill Sans", "Gill Sans MT", "Trebuchet MS", "Avenir", sans-serif;--font-display:"Palatino Linotype", "Book Antiqua", Palatino, serif;font:17px/150% var(--font-body);color:var(--ink);background:var(--cream);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{background:radial-gradient(circle at 18% 12%,#ceb9e859,#0000 45%),radial-gradient(circle at 82% 0,#a7c8ed59,#0000 48%),radial-gradient(circle at 70% 80%,#f4ce7740,#0000 40%),linear-gradient(160deg,#fff 0%,#d7e7f7 55%,#fff 100%);min-height:100vh;margin:0;overflow-x:hidden}body.spa-home,body.spa-site{background:radial-gradient(circle at 18% 12%,#ceb9e859,#0000 45%),radial-gradient(circle at 82% 0,#a7c8ed59,#0000 48%),radial-gradient(circle at 70% 80%,#f4ce7740,#0000 40%),linear-gradient(160deg,#fff 0%,#f3d7e7 55%,#fff 100%)}#root{min-height:100vh}h1,h2,h3{font-family:var(--font-display);color:var(--ink);margin:0 0 12px}p{color:var(--muted);margin:0}a{color:inherit}ul{margin:0}.app{--topbar-offset:10px;--page-padding:clamp(16px, 3vw, 28px);max-width:1200px;min-height:100vh;padding:var(--topbar-offset) var(--page-padding) 0;flex-direction:column;gap:32px;margin:0 auto;display:flex}.app-parties{background:0 0}.topbar{z-index:10;background:#fff;border:none;border-radius:0;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;width:100%;padding:16px 28px;display:grid;position:fixed;top:0;left:0;right:0;box-shadow:0 12px 24px #2b1b3a14}.brand{align-items:center;gap:12px;text-decoration:none;display:flex}.brand-logo{width:auto;height:44px;display:block}.brand-name{font-family:var(--font-display);color:#2b1b3a;font-size:18px}.nav{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.nav-panel{display:contents}.nav-toggle{cursor:pointer;background:#ceb9e833;border:1px solid #2b1b3a26;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:none}.nav-toggle-bars{background:#2b1b3a;border-radius:999px;width:22px;height:2px;display:block;position:relative}.nav-toggle-bars:before,.nav-toggle-bars:after{content:"";background:#2b1b3a;border-radius:999px;width:22px;height:2px;transition:transform .2s,opacity .2s;position:absolute;left:0}.nav-toggle-bars:before{top:-6px}.nav-toggle-bars:after{top:6px}.nav-toggle.is-open .nav-toggle-bars{background:0 0}.nav-toggle.is-open .nav-toggle-bars:before{transform:translateY(6px)rotate(45deg)}.nav-toggle.is-open .nav-toggle-bars:after{transform:translateY(-6px)rotate(-45deg)}.nav-link{color:#2b1b3a;border-radius:999px;padding:6px 10px;font-weight:600;text-decoration:none;transition:color .2s,background .2s}.nav-link.active,.nav-link:hover{color:#2b1b3a;background:#ceb9e859}.primary-button,.ghost-button{cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-weight:600;text-decoration:none;display:inline-flex}.primary-button{background:var(--gold);color:var(--ink);box-shadow:var(--shadow)}.summary-button{color:#2b1b3a;background:linear-gradient(135deg,#ffe6d6 0%,#f8c6df 100%);box-shadow:0 14px 24px #f8c6df59}.ghost-button{color:#2b1b3a;background:#ceb9e840;border:1px solid #2b1b3a33}.imessage-fab{color:#fff;z-index:20;background:#2fbf5b;border-radius:50%;place-items:center;width:74px;height:74px;text-decoration:none;display:grid;position:fixed;bottom:24px;right:24px;box-shadow:0 14px 26px #2fbf5b59}.instagram-fab{color:#fff;z-index:20;background:linear-gradient(135deg,#feda75 0%,#fa7e1e 25%,#d62976 50%,#962fbf 75%,#4f5bd5 100%);border-radius:50%;place-items:center;width:68px;height:68px;text-decoration:none;display:grid;position:fixed;bottom:112px;right:24px;box-shadow:0 14px 26px #2b1b3a2e}.instagram-fab-icon{place-items:center;width:34px;height:34px;display:grid}.instagram-fab-icon svg{width:34px;height:34px}.imessage-fab-icon{place-items:center;width:40px;height:40px;display:grid}.imessage-fab-icon svg{width:40px;height:40px}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page{flex-direction:column;gap:128px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:var(--muted);margin:0 0 12px;font-size:12px}.subtitle{color:var(--muted);max-width:620px}.selection{background:#fff;place-items:stretch stretch;width:100%;min-height:100vh;display:grid;position:relative}.selection-logo{width:clamp(140px,18vw,220px);height:auto;box-shadow:none;border-radius:0;margin-bottom:12px}.selection-split{grid-template-columns:repeat(2,minmax(0,1fr));min-height:100vh;display:grid}.selection-panel{justify-content:center;align-items:flex-end;padding:48px 32px 100px;display:flex;position:relative;overflow:hidden}.selection-panel.parties{--panel-bg:linear-gradient(135deg, #fff9, rgba(var(--shell-rgb), .9)), url(/parties.jpeg)}.admin-page{place-items:center;height:100vh;padding:24px;display:grid;overflow:hidden}.admin-dashboard{background:#f6f0fb;place-items:stretch stretch;height:auto;min-height:100vh;overflow:visible}.admin-card{width:min(480px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border:1px solid #2b1b3a14;border-radius:28px;padding:32px 32px 28px}.admin-header{text-align:center;justify-items:center;gap:8px;margin-bottom:20px;display:grid}.admin-logo{width:clamp(110px,18vw,160px);height:auto;margin-bottom:4px}.admin-shell{width:100%;box-shadow:none;background:0 0;border:none;border-radius:0;margin:0;padding:0}.admin-layout{min-height:100vh;padding-left:260px;display:block}.admin-sidebar{background:#ceb9e82e;border-right:none;flex-direction:column;gap:18px;width:260px;height:100vh;padding:28px 22px;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.admin-sidebar-logo{align-self:center;width:140px;height:auto}.admin-content{padding:28px 28px 36px}.admin-mobile-topbar{z-index:15;background:#fffffff5;border-bottom:1px solid #2b1b3a14;border-radius:0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 18px;display:none;position:sticky;top:0}.admin-menu-toggle{cursor:pointer;background:#ceb9e833;border:1px solid #2b1b3a2e;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.admin-menu-bars{background:#2b1b3a;border-radius:999px;width:20px;height:2px;display:block;position:relative}.admin-menu-bars:before,.admin-menu-bars:after{content:"";background:#2b1b3a;border-radius:999px;width:20px;height:2px;transition:transform .2s,opacity .2s;position:absolute;left:0}.admin-menu-bars:before{top:-6px}.admin-menu-bars:after{top:6px}.admin-menu-toggle.is-open .admin-menu-bars{background:0 0}.admin-menu-toggle.is-open .admin-menu-bars:before{transform:translateY(6px)rotate(45deg)}.admin-menu-toggle.is-open .admin-menu-bars:after{transform:translateY(-6px)rotate(-45deg)}.admin-toolbar{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.admin-title{margin:0 0 14px}.admin-subtitle{color:var(--muted);margin:0}.admin-signout{white-space:nowrap;margin-top:auto}.admin-tabs{flex-wrap:wrap;gap:10px;margin:20px 0 16px;display:flex}.admin-tabs-vertical{flex-direction:column;align-items:stretch;margin:0}.admin-tab{color:var(--ink);cursor:pointer;text-align:left;background:#ceb9e826;border:1px solid #2b1b3a33;border-radius:999px;width:100%;padding:8px 16px;font-weight:600}.admin-tab.active{background:#ceb9e873}.admin-banner{background:#a7c8ed40;border-radius:12px;margin:0 0 16px;padding:12px 14px}.admin-section{gap:16px;display:grid}.admin-section-note{color:var(--muted);margin:0}.admin-packages-header{justify-content:flex-end;display:flex}.admin-packages-stack{gap:24px;display:grid}.admin-packages-form{background:#ffffffe6;border:1px solid #2b1b3a1f;border-radius:18px;padding:16px;box-shadow:0 12px 20px #2b1b3a14}.admin-packages-form.admin-form-grid{grid-template-columns:1fr}.admin-packages-list{background:#ffffffe6;border:1px solid #2b1b3a1f;border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:16px;display:grid}.admin-package-card{border:1px solid rgba(var(--shell-rgb), .65);background:#fff;border-radius:20px;grid-template-rows:auto 1fr;gap:14px;width:100%;padding:14px;display:grid;box-shadow:0 18px 28px #2b1b3a14}.admin-package-media{background:rgba(var(--shell-rgb), .3);aspect-ratio:4/3;border-radius:16px;justify-content:center;align-items:center;width:100%;min-height:170px;display:flex;overflow:hidden}.admin-package-image{object-fit:cover;width:100%;height:100%;display:block}.admin-package-placeholder{color:var(--muted);font-weight:600}.admin-package-body{gap:12px;display:grid}.admin-package-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.admin-package-grid textarea,.admin-package-grid .admin-checkbox{grid-column:1/-1}.admin-list-header{grid-column:1/-1;justify-content:space-between;align-items:center;width:100%;margin-bottom:12px;display:flex}.admin-list-header h3{margin:0}.admin-empty{color:var(--muted);grid-column:1/-1;width:100%;margin:0 0 12px}.admin-media-row,.admin-field-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.admin-image-preview-lg{max-width:100%;max-height:220px}.admin-form-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.admin-image-preview{object-fit:cover;border:1px solid #2b1b3a26;border-radius:14px;width:100%;max-width:220px;box-shadow:0 12px 22px #2b1b3a1f}.file-input{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.file-input-native{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-input-button{color:#2b1b3a;cursor:pointer;background:#ceb9e833;border:1px solid #2b1b3a2e;border-radius:12px;justify-content:center;align-items:center;padding:10px 16px;font-weight:600;display:inline-flex}.file-input-name{color:var(--muted);font-size:14px}.admin-list{gap:16px;display:grid}.admin-addon-list{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-addon-list .admin-card-item{width:100%}.admin-card-item{background:#ffffffd9;border:1px solid #2b1b3a1f;border-radius:18px;gap:12px;padding:16px;display:grid}.admin-item-main{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.admin-item-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.admin-addon-card{width:100%}.admin-addon-main{grid-template-columns:1fr}.admin-addon-card .admin-image-preview{max-width:100%;max-height:220px}.admin-checkbox{align-items:center;gap:8px;font-weight:600;display:flex}.admin-button-sm{padding:8px 14px;font-size:14px}.admin-modal-backdrop{z-index:30;background:#2b1b3a59;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.admin-modal{background:#fff;border:1px solid #2b1b3a1a;border-radius:18px;gap:12px;width:min(420px,100%);padding:20px;display:grid;box-shadow:0 20px 40px #2b1b3a33}.admin-modal h3{margin:0}.admin-modal-actions{justify-content:flex-end;gap:10px;display:flex}.button-spinner{border:2px solid #2b1b3a4d;border-top-color:#2b1b3ae6;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}.button-loading{align-items:center;gap:8px;display:inline-flex}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=720px){.admin-page.admin-dashboard,.admin-shell{padding:0}.admin-layout{padding-left:0}.admin-mobile-topbar{display:flex}.admin-sidebar{z-index:20;background:#f8f2fffa;width:min(260px,82vw);height:100vh;transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%)}.admin-sidebar.is-open{transform:translate(0)}.admin-sidebar-backdrop{z-index:18;background:#2b1b3a59;border:none;position:fixed;inset:0}.admin-tabs-vertical{flex-flow:column;justify-content:flex-start}.admin-tab{width:auto}.admin-content{padding:22px}.admin-toolbar{flex-direction:column;align-items:flex-start}.admin-item-actions{justify-content:flex-start}.admin-package-card{grid-template-columns:1fr}}@media (width<=1024px){.admin-packages-list,.admin-addon-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.admin-content{padding:18px}.admin-packages-list,.admin-addon-list,.admin-package-grid,.admin-item-main,.admin-field-row{grid-template-columns:1fr}}.admin-eyebrow{text-transform:uppercase;letter-spacing:2px;color:var(--muted);margin:0;font-size:12px}.admin-form{gap:16px;display:grid}.form-field{gap:8px;font-weight:600;display:grid}.form-field-plain{font-weight:400}.form-input{font:inherit;color:var(--ink);background:#fff;border:1px solid #2b1b3a33;border-radius:14px;padding:12px 14px}.form-input:focus{border-color:#0000;outline:2px solid #ceb9e899}.admin-actions{justify-content:center;margin-top:4px;display:flex}.admin-button{min-width:160px}.admin-error,.admin-success{border-radius:12px;margin:0;padding:10px 12px;font-size:14px}.admin-error{color:#8f1f1f;background:#ff616126}.admin-success{color:#15612f;background:#2fbf5b29}.selection-panel.spa{--panel-bg:linear-gradient(180deg, #fff9 0%, #ceb9e8bf 100%), url(/spaparties.jpeg)}.selection-panel:before{content:"";background:var(--panel-bg);filter:grayscale();background-position:50%;background-size:cover;transition:filter .35s;position:absolute;inset:0}.selection-panel:hover:before,.selection-panel:focus-within:before{filter:none}.selection-panel>*{z-index:1;position:relative}.selection-overlay{text-align:center;pointer-events:none;flex-direction:column;justify-content:flex-start;align-items:center;gap:12px;padding:56px 24px 24px;display:flex;position:absolute;inset:0}.selection-copy{text-align:center;gap:10px;display:grid}.selection-overlay>*{pointer-events:auto}.selection-cta{min-width:220px;color:var(--ink);background:linear-gradient(135deg, var(--shell) 0%, #ceb9e8 100%);padding:14px 22px;font-size:16px;box-shadow:0 18px 30px #2b1b3a33}.hero{min-height:calc(100vh - var(--topbar-offset));grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:clamp(20px,4vw,40px);margin-right:calc(-50vw + 50%);display:grid}.hero-text{text-align:center;flex-direction:column;align-items:center;display:flex}.hero-text h1{margin:0 0 16px;font-size:clamp(32px,4vw,54px)}.hero-logo{width:clamp(180px,24vw,300px);height:auto;margin-bottom:16px;display:block}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:24px;display:flex}.hero-carousel{box-shadow:var(--shadow);aspect-ratio:4/3;clip-path:polygon(10% 0,100% 0,100% 100%,0 100%);border-left:1px solid #2b1b3a1f;border-radius:0;justify-self:stretch;width:100%;min-height:clamp(420px,55vw,640px);position:relative;overflow:hidden}.hero-image{object-fit:cover;width:100%;height:100%;display:block}.carousel-track{width:300%;height:100%;animation:14s ease-in-out infinite heroCarousel;display:flex;transform:translate(-100%)}.carousel-slide{background-position:50%;background-size:cover;flex:0 0 100%}.section{border-radius:var(--radius);box-shadow:var(--shadow);background:#ffffffeb;border:1px solid #2b1b3a14;padding:30px}.section-title{margin-bottom:22px}.section h2{margin:0 0 12px}.card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;display:grid}.value-section{background:0 0;border-top:none;border-bottom:none;gap:28px;padding:34px 30px;display:grid}.value-group{text-align:center;gap:18px;display:grid}.value-eyebrow{text-transform:uppercase;letter-spacing:2px;color:var(--muted);margin:0;font-size:12px}.value-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;display:grid}.value-card{text-align:center;background:#fff;border:1px solid #2b1b3a1f;border-radius:18px;padding:20px;box-shadow:0 16px 26px #2b1b3a14}.value-card h3{margin:10px 0 8px;font-size:18px}.value-card p{color:var(--muted);margin:0;font-size:15px;line-height:1.5}.value-icon{border:1px solid rgba(var(--shell-rgb), .85);color:#7a5a3c;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:inline-flex;box-shadow:0 8px 16px #2b1b3a14}.value-icon-outline{width:76px;height:76px;box-shadow:none;background:0 0;border:none}.value-icon svg{width:28px;height:28px;display:block}.value-icon-outline svg{width:46px;height:46px}.value-icon-large{width:38px;height:38px;transform:translateY(1px)scale(1.05)}.packages-summary{text-align:center;gap:22px;max-width:980px;margin:40px auto 0;display:grid}.packages-header h2{color:#5a3b6e;margin:0 0 12px}.packages-header{text-align:center}.packages-divider{background:#a7c8edf2;border-radius:999px;width:220px;height:2px;margin:0 auto}.package-panel{border:1px solid rgba(var(--shell-rgb), .7);text-align:left;background:#fbf6ef;border-radius:18px;padding:28px 32px;position:relative;box-shadow:0 18px 28px #2b1b3a14}.package-panel:before{content:"";background:rgba(var(--shell-rgb), .95);border-radius:999px;width:4px;position:absolute;top:12px;bottom:12px;left:0}.package-panel h3{text-align:center;margin:0 0 18px;font-style:italic}.package-list{color:#6f5a3f;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px 22px;margin:0;padding:0;list-style:none;display:grid}.package-list li{align-items:flex-start;gap:10px;display:flex}.package-list li:before{content:"✓";color:var(--shell);margin-top:1px;font-weight:700}.package-list-centered{text-align:left;grid-column:2;justify-self:stretch}.package-list-centered:before{margin-top:2px}.package-empty{color:#6f5a3f;gap:6px;display:grid}.package-empty span{color:var(--muted)}.reviews-summary{background:linear-gradient(160deg, #fffffff5, rgba(var(--shell-rgb), .2));border:1px solid rgba(var(--shell-rgb), .4);border-radius:28px;gap:22px;max-width:1100px;margin:90px auto 0;padding:32px 28px;display:grid;position:relative;box-shadow:0 22px 36px #2b1b3a1a}.reviews-header{text-align:center}.reviews-header h2{color:#4b2f49;margin:0 0 10px}.reviews-header p{color:var(--muted);margin:0}.reviews-divider{background:#a7c8edf2;border-radius:999px;width:160px;height:2px;margin:10px auto 14px}.reviews-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;display:grid}.review-card{border:1px solid rgba(var(--shell-rgb), .3);text-align:center;background:#fffffff2;border-radius:20px;gap:12px;padding:26px 24px;display:grid;box-shadow:0 16px 26px #2b1b3a14}.review-stars{color:#c29a55;letter-spacing:2px;font-size:18px}.review-quote{color:var(--muted);margin:0;font-style:italic;line-height:1.6}.review-name{color:#7a5a3c;margin:0;font-weight:600}.reviews-actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.reviews-button{background:linear-gradient(135deg, rgba(var(--shell-rgb), .95), #f1d1b2);color:#2b1b3a;text-transform:uppercase;letter-spacing:.8px;cursor:pointer;border:1px solid #2b1b3a1f;border-radius:999px;padding:12px 20px;font-size:14px;font-weight:700;text-decoration:none;box-shadow:0 12px 20px #2b1b3a1f}.reviews-button:disabled,.reviews-arrow:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.reviews-arrow{color:#2b1b3a;cursor:pointer;background:#ffffffe6;border:1px solid #2b1b3a33;border-radius:50%;place-items:center;width:44px;height:44px;font-size:22px;line-height:1;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 12px 20px #2b1b3a1f}.reviews-arrow span{transform:translateY(-1px)}.reviews-arrow-left{left:-18px}.reviews-arrow-right{right:-18px}@media (width<=900px){.reviews-arrow-left{left:8px}.reviews-arrow-right{right:8px}}.contact-showcase{gap:20px;max-width:1090px;margin:64px auto 0;display:grid}.contact-header{text-align:center}.contact-header h2{color:#4b2f49;margin:0 0 10px}.contact-header p{color:var(--muted);margin:0}.contact-divider{background:#a7c8edf2;border-radius:999px;width:160px;height:2px;margin:10px auto 12px}.contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:stretch;gap:24px;display:grid}.contact-info-panel{align-content:start;gap:12px;display:grid}.contact-info-panel h2{text-align:center;color:#7a5a3c;margin:0;font-size:clamp(22px,2.8vw,28px)}.contact-info-card{background:linear-gradient(160deg, #fffffff5, rgba(var(--shell-rgb), .18));border:1px solid rgba(var(--shell-rgb), .7);text-align:left;border-radius:22px;gap:4px;padding:20px 22px 22px;display:grid;box-shadow:0 18px 28px #2b1b3a1a}.contact-eyebrow{text-transform:uppercase;letter-spacing:1.2px;color:#4b2f49;margin:0;font-size:12px}.contact-info-card h2{text-align:center;color:#7a5a3c;margin:0;font-size:clamp(22px,2.8vw,28px)}.contact-intro{color:var(--muted);text-align:center;margin:0;padding:2px 0 6px;font-size:16px;line-height:1.55}.contact-info-list{letter-spacing:.5px;gap:8px;margin-top:0;font-size:13px;display:grid}.contact-info-block{background:rgba(var(--shell-rgb), .16);border:1px solid rgba(var(--shell-rgb), .28);border-radius:14px;align-items:center;gap:10px;padding:12px 14px;display:flex;box-shadow:inset 0 1px #fff9}.contact-info-icon{color:#4b2f49;background:#fff;border-radius:12px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 8px 14px #2b1b3a14}.contact-info-icon svg{width:22px;height:22px}.contact-info-text{gap:4px;display:grid}.contact-info-label{text-transform:uppercase;letter-spacing:.8px;color:#4b2f49;font-size:13px}.contact-info-value{color:#4b2f49;font-size:13px;font-weight:600}.contact-details{color:#4b2f49;gap:10px;margin:0;padding:0;list-style:none;display:grid}.contact-details li{flex-wrap:wrap;justify-content:space-between;gap:6px;font-weight:600;display:flex}.contact-form-card{background:linear-gradient(160deg, #fffffffa, rgba(var(--shell-rgb), .2));border:1px solid rgba(var(--shell-rgb), .7);border-radius:22px;gap:12px;padding:28px 26px;display:grid;box-shadow:0 18px 28px #2b1b3a1f}.contact-form-header h2{text-align:center;color:#7a5a3c;margin:0 0 4px}.contact-form-card label{color:#4b2f49;gap:8px;font-weight:600;display:grid}.contact-form-card input,.contact-form-card textarea{font:inherit;background:#fff;border:1px solid #2b1b3a26;border-radius:14px;padding:12px 14px;box-shadow:inset 0 1px 2px #2b1b3a14}.contact-form-card input:focus,.contact-form-card textarea:focus{border-color:#7a5a3c99;outline:none;box-shadow:0 0 0 3px #ceb9e859}.field-error{color:#7a2f2f;background:#ffe0e0e6;border:1px solid #d05e5e59;border-radius:10px;margin:-4px 0 4px;padding:8px 10px;font-size:12px;font-weight:600}.contact-form-card .primary-button{color:#fff;background:#2b1b3a;box-shadow:0 14px 22px #2b1b3a40}.contact-card{border:1px solid rgba(var(--shell-rgb), .7);text-align:center;background:#fff;border-radius:16px;gap:12px;min-height:360px;padding:26px 22px;display:grid;box-shadow:0 16px 26px #2b1b3a14}.contact-icon{background:rgba(var(--shell-rgb), .4);width:76px;height:76px;color:var(--shell);border-radius:50%;place-items:center;margin:0 auto;display:grid;box-shadow:0 10px 16px #2b1b3a14}.contact-icon svg{width:36px;height:36px}.contact-card h3{margin:4px 0 0;font-size:20px}.contact-card p{color:var(--muted);margin:0;font-size:16px}.contact-button{background:var(--shell);color:var(--ink);text-transform:uppercase;letter-spacing:.8px;border-radius:10px;justify-content:center;align-items:center;padding:10px 18px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 12px 20px #2b1b3a1f}body:not(.spa-site) .package-panel{background:#f2f7fd;border:1px solid #a7c8edb3}body:not(.spa-site) .package-panel:before{background:#a7c8edf2}body:not(.spa-site) .package-list{color:#5a3b6e}body:not(.spa-site) .package-list li:before{color:#a7c8ed}body:not(.spa-site) .reviews-summary{background:linear-gradient(160deg,#fffffff5,#a7c8ed47);border:1px solid #a7c8ed80}body:not(.spa-site) .reviews-divider{background:#a7c8edd9}body:not(.spa-site) .reviews-button{background:linear-gradient(135deg,#a7c8edf2,#eaf2fb)}body:not(.spa-site) .contact-divider{background:#a7c8edd9}body:not(.spa-site) .contact-card{border:1px solid #a7c8edb3}body:not(.spa-site) .contact-icon{color:#a7c8ed;background:#a7c8ed73}body:not(.spa-site) .contact-button{background:linear-gradient(135deg,#a7c8edf2,#eaf2fb)}body.spa-home .package-panel,body.spa-site .package-panel{background:#fdf3f8;border:1px solid #f8c6dfb3}body.spa-home .packages-divider,body.spa-site .packages-divider,body.spa-home .package-panel:before,body.spa-site .package-panel:before{background:#f8c6dff2}body.spa-home .package-list,body.spa-site .package-list{color:#5a3b6e}body.spa-home .package-list li:before,body.spa-site .package-list li:before{color:#f8c6df}body.spa-home .reviews-summary,body.spa-site .reviews-summary{background:linear-gradient(160deg,#fffffff5,#f8c6df47);border:1px solid #f8c6df80}body.spa-home .reviews-divider,body.spa-site .reviews-divider{background:#f8c6dff2}body.spa-home .reviews-button,body.spa-site .reviews-button{background:linear-gradient(135deg,#f8c6dff2,#ffe6f2)}body.spa-home .contact-divider,body.spa-site .contact-divider{background:#f8c6dff2}body.spa-home .contact-card,body.spa-site .contact-card{border:1px solid #f8c6dfb3}body.spa-home .contact-icon,body.spa-site .contact-icon{color:#f8c6df;background:#f8c6df73}body.spa-home .contact-button,body.spa-site .contact-button{background:linear-gradient(135deg,#f8c6dff2,#ffe6f2)}.info-card{background:rgba(var(--shell-rgb), .7);border:1px solid #2b1b3a1f;border-radius:16px;padding:20px;animation:.8s both floatIn}.callout{justify-content:space-between;align-items:center;gap:20px;display:flex}.page-block{flex-direction:column;gap:28px;padding-top:clamp(110px,14vh,150px);display:flex}.page-block>section{margin-top:24px}.services-grid{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:28px;display:flex}.service-card{border:1px solid rgba(var(--shell-rgb), .65);max-width:360px;height:clamp(780px,88vh,980px);color:inherit;background:#fff;border-radius:20px;flex-direction:column;flex:300px;text-decoration:none;display:flex;overflow:hidden;box-shadow:0 18px 28px #2b1b3a14}.home .service-card{height:auto;min-height:420px}.service-card *{text-decoration:none}.service-media{background:rgba(var(--shell-rgb), .3)}.service-image{object-fit:cover;width:100%;height:220px;display:block}.service-body{text-align:center;flex-direction:column;flex:1;gap:12px;min-height:0;padding:22px 20px 26px;display:flex}.service-title{margin:0;font-size:clamp(20px,3vw,28px)}.service-divider{background:#2b1b3a33;width:100%;height:1px}.service-meta{color:#4b2f49;gap:4px;font-weight:600;display:grid}.service-label{text-transform:uppercase;letter-spacing:1px;color:#4b2f49;margin:0;font-size:12px;font-weight:700}.service-includes{color:#4b2f49;flex:1;gap:8px;margin:0;padding:0;font-size:14px;line-height:1.5;list-style:none;display:grid}.service-includes li:before{content:"•";color:var(--shell);margin-right:8px}.service-pricing{color:#4b2f49;gap:4px;font-weight:600;display:grid}.service-phrase{font-family:var(--font-display);color:#4b2f49;margin:0;font-size:18px}.page-header h1{margin:0 0 12px;font-size:clamp(30px,3vw,46px)}.page-header{text-align:center}.page-title{margin:0 0 8px;font-size:clamp(34px,4vw,56px)}.page-subtitle{color:var(--muted);margin:0;font-size:clamp(16px,2vw,20px)}.about-intro{justify-items:center;gap:24px;display:grid}.about-card{border:1px solid rgba(var(--shell-rgb), .6);background:#fff;border-radius:20px;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);width:min(980px,100%);height:auto;display:grid;overflow:hidden;box-shadow:0 18px 28px #2b1b3a14}.about-image{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;min-height:240px;max-height:320px;display:block}.about-body{text-align:left;align-content:start;gap:8px;padding:18px 20px 20px;display:grid;overflow:visible}.about-card-reverse .about-image{order:2}.about-card-reverse .about-body{order:1}.about-body h2{margin:0 0 10px;font-size:clamp(22px,3vw,30px)}.about-body p{color:var(--muted);margin:0;line-height:1.55}.about-gallery{gap:18px;display:grid}.about-gallery-header{text-align:center}.about-gallery-header h2{margin:0 0 6px;font-size:clamp(22px,3vw,30px)}.about-gallery-header p{color:var(--muted);margin:0}.about-gallery-carousel{width:100%;overflow:hidden}.about-gallery-track{gap:18px;width:max-content;animation:80s linear infinite galleryScroll;display:flex}.about-gallery-item{border-radius:18px;flex:0 0 clamp(220px,24vw,300px);overflow:hidden;box-shadow:0 16px 26px #2b1b3a14}.about-gallery-item img{object-fit:cover;width:100%;height:200px;display:block}@keyframes galleryScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.about-why{justify-content:center;display:flex}.about-why-card{border:1px solid rgba(var(--shell-rgb), .7);text-align:center;background:#fff;border-radius:20px;gap:12px;width:min(760px,100%);padding:24px 26px;display:grid;box-shadow:0 18px 28px #2b1b3a14}.about-why-card h2{margin:0;font-size:clamp(22px,3vw,30px)}.about-why-card ul{color:var(--muted);gap:8px;margin:0;padding:0;list-style:none;display:grid}.about-why-card li:before{content:"•";color:var(--shell);margin-right:8px}.addons-section{gap:20px;display:grid}.addons-header{text-align:center}.addons-header h2{margin:0 0 6px;font-size:clamp(22px,3vw,30px)}.addons-subtitle{color:var(--muted);letter-spacing:.4px;text-transform:uppercase;margin:0;font-size:14px}.addons-grid{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:24px;display:flex}.addon-card{border:1px solid rgba(var(--shell-rgb), .65);text-align:center;background:#fff;border-radius:18px;flex-direction:column;flex:240px;max-width:300px;height:clamp(380px,58vh,460px);display:flex;overflow:hidden;box-shadow:0 16px 24px #2b1b3a14}.addon-image{object-fit:cover;width:100%;height:180px;display:block}.addon-body{flex:1;gap:6px;min-height:0;padding:14px 16px 6px;display:grid}.addon-body h3{margin:0;font-size:18px}.addon-body p{color:var(--muted);margin:0;font-size:13px;font-style:italic}.addon-divider{background:#2b1b3a33;height:1px;margin:0 16px 16px}.payment-section{justify-content:center;display:flex}.payment-card{border:1px solid rgba(var(--shell-rgb), .7);text-align:center;background:#fff;border-radius:20px;gap:12px;width:min(720px,100%);padding:26px 24px 28px;display:grid;box-shadow:0 18px 28px #2b1b3a14}.payment-eyebrow{text-transform:uppercase;letter-spacing:1.2px;color:#4b2f49;margin:0;font-size:12px}.payment-title{margin:0;font-size:clamp(20px,3vw,28px)}.payment-body{color:var(--muted);gap:8px;display:grid}.payment-venmo{color:#4b2f49;font-weight:700}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;display:grid}.contact-form{gap:14px;display:grid}.contact-form label{gap:8px;font-weight:600;display:grid}.contact-form input,.contact-form textarea{font:inherit;background:#fff;border:1px solid #2b1b3a33;border-radius:12px;padding:10px 12px}.not-found{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:70vh;display:flex}.footer{text-align:center;color:#4b2f49;background:#4b2f4914;border:1px solid #4b2f492e;border-left:none;border-right:none;border-radius:0;flex-direction:column;align-items:center;gap:10px;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:36px 28px;display:flex}.footer-logo{border-radius:50%;width:120px;height:auto}.footer-name{color:#4b2f49;font-size:18px}.footer-tagline{color:#6b5163}.footer-copy{color:#6b5163;font-size:12px}@keyframes floatIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes heroCarousel{0%,20%{transform:translate(-100%)}33%,53%{transform:translate(-200%)}66%,86%{transform:translate(0)}to{transform:translate(-100%)}}@media (width<=1200px){.hero{margin-right:0}}@media (width<=900px){.topbar{text-align:left;grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:12px}.nav-toggle{justify-self:end;display:inline-flex}.nav-panel{background:#fff;border-top:1px solid #2b1b3a14;flex-direction:column;grid-column:1/-1;align-items:center;gap:12px;padding:12px 0 16px;display:none}.nav-panel.open{display:flex}.nav{flex-direction:column;gap:8px}.nav-link{text-align:center;width:100%}.nav-cta{width:min(260px,100%)}.hero{grid-template-columns:1fr;margin-right:0}.hero-carousel{clip-path:none;border-left:none;justify-self:stretch;width:100%;max-width:100%;min-height:360px}.about-card{grid-template-rows:auto 1fr;grid-template-columns:1fr}.about-image{aspect-ratio:4/3;height:auto;min-height:220px}.about-body{background:#fff}.contact-layout{grid-template-columns:1fr}.service-card{max-width:100%}.callout{flex-direction:column;align-items:flex-start}.selection{flex-direction:column;display:flex}.selection-split{grid-template-columns:1fr;gap:0}.selection-panel+.selection-panel .selection-cta{margin-top:36px}.selection-panel{min-height:45vh}.selection-overlay{background:0 0;border-bottom:none;justify-content:flex-start;padding:24px 20px;position:absolute;inset:0}.selection-copy{margin-top:auto;margin-bottom:auto}.selection-cta{width:100%;max-width:260px;padding:12px 18px;font-size:15px}}@media (width<=600px){.topbar{gap:12px;padding:12px 16px}.brand-logo{height:36px}.brand-name{font-size:16px}.nav{gap:10px}.nav-link{padding:6px 8px;font-size:14px}.page{gap:72px}.hero-logo{width:clamp(160px,48vw,220px)}.hero{padding-top:72px}.hero-actions{flex-direction:column;width:100%}.hero-actions a{width:100%}.hero-carousel{min-height:260px}.about-card{grid-template-columns:1fr}.about-card-reverse .about-image,.about-card-reverse .about-body{order:initial}.value-section{padding:24px 16px}.value-card{padding:16px}.value-grid{scroll-snap-type:x mandatory;grid-template-columns:none;gap:14px;padding:0 10% 6px;scroll-padding:0 10%;display:flex;overflow-x:auto}.value-grid>.value-card{scroll-snap-align:center;flex:0 0 78%}.value-icon-outline{width:64px;height:64px}.value-icon-outline svg{width:38px;height:38px}.packages-summary{margin:20px auto 0}.package-panel{padding:20px}.package-list{grid-template-columns:1fr}.package-list-centered{grid-column:auto}.reviews-summary{margin:40px auto 0}.reviews-grid{scroll-snap-type:x mandatory;grid-template-columns:none;gap:16px;padding:0 10% 6px;display:flex;overflow-x:auto}.reviews-grid>.review-card{scroll-snap-align:center;flex:0 0 80%}.contact-showcase{margin:32px auto 0}.contact-grid{scroll-snap-type:x mandatory;grid-template-columns:none;gap:16px;padding:0 10% 6px;scroll-padding:0 10%;display:flex;overflow-x:auto}.contact-grid>.contact-card{scroll-snap-align:center;flex:0 0 78%}.contact-info-panel h2{text-align:left}.contact-info-block{padding:10px 12px}.contact-info-icon{flex:0 0 40px;width:40px;height:40px}.contact-info-icon svg{width:20px;height:20px}.contact-form-card{padding:22px 18px}.contact-button{width:100%}.imessage-fab{width:60px;height:60px;bottom:16px;right:16px}.instagram-fab{width:56px;height:56px;bottom:92px;right:16px}.imessage-fab-icon,.imessage-fab-icon svg{width:32px;height:32px}.instagram-fab-icon,.instagram-fab-icon svg{width:28px;height:28px}.services-grid{scroll-snap-type:x mandatory;flex-wrap:nowrap;justify-content:flex-start;gap:16px;padding:0 10% 6px;scroll-padding:0 10%;overflow-x:auto}.services-grid>.service-card{scroll-snap-align:center;flex:0 0 80%;max-width:none}.addons-grid{scroll-snap-type:x mandatory;flex-wrap:nowrap;justify-content:flex-start;gap:16px;padding:0 10% 6px;scroll-padding:0 10%;overflow-x:auto}.addons-grid>.addon-card{scroll-snap-align:center;flex:0 0 80%;max-width:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
