:root{--ground:#fbf5f3;--surface:#fff;--surface-2:#f7eeeb;--plum:#2e1f36;--plum-2:#442e4e;--ink:#2c1d33;--ink-soft:#5a4663;--muted:#8a7893;--line:#ebdde3;--line-firm:#d9c4ce;--pink:#d33f6a;--pink-deep:#a92a51;--pink-wash:#fcecf1;--teal:#2c8b80;--teal-deep:#1f6d64;--teal-wash:#e4f2f0;--gold:#bd8f28;--gold-wash:#faf1dc;--shadow-sm:0 1px 2px #2e1f360d, 0 3px 10px -6px #2e1f3633;--shadow-md:0 2px 5px #2e1f360f, 0 14px 34px -20px #2e1f3673;--shadow-lg:0 6px 12px #2e1f3612, 0 30px 64px -34px #2e1f3680;--f-display:"Fraunces", Georgia, "Times New Roman", serif;--f-body:"Karla", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--shell:1140px;--pad:clamp(18px, 4vw, 34px);--r:14px;--r-sm:8px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--ink);font-family:var(--f-body);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.62}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--f-display);font-variation-settings:"SOFT" 30, "WONK" 1;letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:600;line-height:1.08}p{margin:0}a{color:var(--pink-deep);text-underline-offset:3px}:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--pink);outline-offset:2px;border-radius:3px}.shell{max-width:var(--shell);padding-inline:var(--pad);margin:0 auto}.eyebrow{font-family:var(--f-body);letter-spacing:.17em;text-transform:uppercase;color:var(--pink);margin:0 0 12px;font-size:13px;font-weight:700}.section{padding-block:clamp(54px,8vw,94px)}.section-head{max-width:60ch;margin-bottom:clamp(26px,4vw,42px)}.section-head h2{margin-bottom:14px;font-size:clamp(31px,4.8vw,48px)}.section-head p{color:var(--ink-soft);font-size:18.5px}.center{text-align:center;margin-inline:auto}.btn{font-family:var(--f-body);letter-spacing:.01em;cursor:pointer;border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:9px;padding:13px 24px;font-size:16px;font-weight:700;text-decoration:none;transition:background-color .16s,color .16s,border-color .16s,transform .16s,box-shadow .16s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--pink);color:#fff;border-color:var(--pink);box-shadow:0 6px 16px -8px #d33f6acc}.btn-primary:hover{background:var(--pink-deep);border-color:var(--pink-deep)}.btn-teal{background:var(--teal);color:#fff;border-color:var(--teal)}.btn-teal:hover{background:var(--teal-deep);border-color:var(--teal-deep)}.btn-ghost{color:var(--ink);border-color:var(--line-firm);background:0 0}.btn-ghost:hover{border-color:var(--pink);color:var(--pink-deep)}.btn-lg{padding:16px 30px;font-size:17.5px}.btn-block{width:100%}.hdr{z-index:60;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#fbf5f3ed;position:sticky;top:0}.hdr-in{align-items:center;gap:18px;min-height:72px;display:flex}.brand{color:var(--ink);align-items:center;gap:11px;margin-right:auto;text-decoration:none;display:flex}.brand-text b{font-family:var(--f-display);letter-spacing:-.02em;font-size:21px;font-weight:600;line-height:1.02;display:block}.brand-text span{letter-spacing:.15em;text-transform:uppercase;color:var(--muted);font-size:11.5px;font-weight:700;display:block}.nav{gap:24px;display:flex}.nav a{color:var(--ink-soft);font-size:15.5px;font-weight:600;text-decoration:none}.nav a:hover{color:var(--pink-deep)}.hdr-phone{font-family:var(--f-display);color:var(--ink);white-space:nowrap;font-size:19px;font-weight:600;text-decoration:none}@media (width<=980px){.nav,.hdr .btn,.hdr-phone{display:none}.hdr .btn.always{display:inline-flex}}.status{border:1.5px solid;border-radius:999px;align-items:center;gap:9px;padding:7px 15px 7px 12px;font-size:15px;font-weight:600;display:inline-flex}.status.open{color:var(--teal-deep);background:var(--teal-wash);border-color:#b6ded8}.status.shut{color:#8a5a20;background:var(--gold-wash);border-color:#e8d3a4}.status i{background:currentColor;border-radius:50%;flex:none;width:9px;height:9px}.status.open i{box-shadow:0 0 0 4px #2c8b802e}.hero{background:radial-gradient(1000px 460px at 12% -8%, #fde7ef 0%, transparent 62%), radial-gradient(760px 420px at 92% 8%, var(--teal-wash) 0%, transparent 60%), var(--ground);position:relative;overflow:hidden}.hero-in{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:clamp(28px,5vw,56px);padding-block:clamp(40px,6.5vw,76px);display:grid}@media (width<=920px){.hero-in{grid-template-columns:minmax(0,1fr)}}.hero h1{letter-spacing:-.028em;margin:16px 0 18px;font-size:clamp(40px,6.6vw,68px)}.hero h1 em{color:var(--pink);font-style:italic}.hero-lede{color:var(--ink-soft);max-width:46ch;margin-bottom:24px;font-size:clamp(18px,2.1vw,20.5px)}.hero-cta{flex-wrap:wrap;gap:12px;margin-bottom:26px;display:flex}.hero-points{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.hero-points li{color:var(--ink-soft);grid-template-columns:20px minmax(0,1fr);gap:11px;font-size:16.5px;display:grid}.paw{color:var(--pink);margin-top:3px}.hours-card{background:var(--surface);border:1px solid var(--line-firm);border-radius:var(--r);box-shadow:var(--shadow-lg);padding:24px 26px 26px}.hours-card h2{margin-bottom:4px;font-size:25px}.hours-card .sub{color:var(--muted);margin-bottom:16px;font-size:15px}.hours-tbl{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:16px}.hours-tbl td{border-bottom:1px solid var(--line);padding:8px 0}.hours-tbl td:last-child{text-align:right;color:var(--ink-soft)}.hours-tbl tr:last-child td{border-bottom:0}.hours-tbl tr.shut td{color:var(--muted)}.hours-tbl tr.today td{color:var(--ink);font-weight:700}.hours-tbl tr.today td:first-child:before{content:"";background:var(--pink);vertical-align:-2px;border-radius:2px;width:4px;height:15px;margin-right:9px;display:inline-block}.hours-foot{border-top:1px solid var(--line);flex-direction:column;gap:11px;margin-top:16px;padding-top:16px;display:flex}.hours-addr{color:var(--ink-soft);font-size:15.5px}.hours-addr b{color:var(--ink);font-size:16.5px;display:block}.ratingbar{background:var(--plum);color:#f0e6f2}.ratingbar-in{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 34px;padding-block:22px;display:flex}.ratingbar b{font-family:var(--f-display);color:#fff;font-size:30px;line-height:1}.ratingbar .stars{color:#f3c04a;vertical-align:-3px;gap:2px;display:inline-flex}.ratingbar span{font-size:16px}.ratingbar a{color:#f6b9cd;font-weight:700;text-decoration:none}.ratingbar a:hover{color:#fff;text-decoration:underline}.notice{background:var(--gold-wash);border-radius:var(--r-sm);color:#7a5615;border:1px solid #ecd7a6;align-items:flex-start;gap:12px;margin-bottom:24px;padding:13px 16px;font-size:15.5px;display:flex}.notice b{color:#5f430f}.price-wrap{border:1px solid var(--line-firm);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow-sm);overflow-x:auto}.price-tbl{border-collapse:collapse;width:100%;min-width:660px}.price-tbl th,.price-tbl td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:16px 18px}.price-tbl thead th{font-family:var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--line-firm);white-space:nowrap;font-size:12.5px;font-weight:700}.price-tbl thead th:not(:first-child),.price-tbl td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.price-tbl tbody tr:last-child th,.price-tbl tbody tr:last-child td{border-bottom:0}.price-tbl tbody tr.popular{background:var(--pink-wash)}.price-name{font-family:var(--f-display);flex-wrap:wrap;align-items:center;gap:10px;font-size:20px;font-weight:600;display:flex}.tag-pop{font-family:var(--f-body);letter-spacing:.11em;text-transform:uppercase;background:var(--pink);color:#fff;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.price-desc{color:var(--ink-soft);max-width:52ch;margin-top:4px;font-size:15.5px}.price-val{font-family:var(--f-display);color:var(--pink-deep);white-space:nowrap;font-size:21px;font-weight:600}.price-note{color:var(--ink-soft);max-width:66ch;margin-top:16px;font-size:16px}.addons{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:36px;display:grid}.addon{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);align-items:baseline;gap:12px;padding:15px 17px;display:flex}.addon b{font-family:var(--f-display);font-size:17.5px;font-weight:600}.addon small{color:var(--muted);font-size:14.5px;font-weight:400;display:block}.addon .v{color:var(--teal-deep);white-space:nowrap;margin-left:auto;font-weight:700}.cats{background:var(--teal-wash);border-block:1px solid #c7e3de}.cats-in{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(28px,5vw,54px);display:grid}@media (width<=860px){.cats-in{grid-template-columns:minmax(0,1fr)}}.cats .eyebrow{color:var(--teal-deep)}.cats h2{margin-bottom:14px;font-size:clamp(30px,4.4vw,44px)}.cats p{color:#2c5a55;max-width:58ch;font-size:18px}.cat-card{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow-md);border:1px solid #bfdcd7;padding:22px 24px}.cat-card ul{margin:0 0 14px;padding:0;list-style:none}.cat-card li{border-bottom:1px solid var(--line);align-items:baseline;gap:14px;padding:11px 0;font-size:16.5px;display:flex}.cat-card li:last-child{border-bottom:0}.cat-card li b{font-family:var(--f-display);color:var(--teal-deep);margin-left:auto;font-size:19px;font-weight:600}.cat-card .foot{color:var(--muted);font-size:15px}.product{background:var(--plum);color:#efe4f1}.product .eyebrow{color:#f19ab6}.product h2{color:#fff;margin-bottom:16px;font-size:clamp(30px,4.5vw,46px)}.product .lede{color:#cfbcd6;max-width:62ch;margin-bottom:38px;font-size:19px}.prod-grid{grid-template-columns:repeat(auto-fit,minmax(228px,1fr));gap:26px 30px;display:grid}.prod-grid>div{border-top:2px solid #ffffff29;padding-top:15px}.prod-grid b{font-family:var(--f-display);color:#f6b9cd;margin-bottom:6px;font-size:19.5px;font-weight:600;display:block}.prod-grid p{color:#c9b5d1;font-size:16px}.gal-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.gal{border-radius:var(--r);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .18s,box-shadow .18s;overflow:hidden}.gal:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.gal-art{aspect-ratio:1;place-items:center;display:grid;position:relative}.gal-art svg{opacity:.92;width:46%;height:auto}.gal-cap{border-top:1px solid var(--line);padding:12px 14px 14px}.gal-cap b{font-family:var(--f-display);font-size:17px;font-weight:600;display:block}.gal-cap span{color:var(--muted);font-size:14.5px}.gal-foot{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:14px;margin-top:26px;font-size:16px;display:flex}.rev-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.rev{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;padding:24px;display:flex}.rev .stars{color:#e8a92f;gap:3px;display:flex}.rev blockquote{font-size:17px;font-family:var(--f-display);margin:0;font-weight:400;line-height:1.5}.rev footer{color:var(--muted);margin-top:auto;font-size:14.5px}.rev footer b{color:var(--ink-soft);font-size:15.5px;font-family:var(--f-body);display:block}.book{background:radial-gradient(760px 380px at 88% 0%, var(--pink-wash) 0%, transparent 62%), var(--ground)}.book-in{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:start;gap:clamp(26px,5vw,54px);display:grid}@media (width<=920px){.book-in{grid-template-columns:minmax(0,1fr)}}.book-why{position:sticky;top:94px}@media (width<=920px){.book-why{position:static}}.book-why ol{counter-reset:s;flex-direction:column;gap:18px;margin:24px 0 0;padding:0;list-style:none;display:flex}.book-why li{counter-increment:s;grid-template-columns:34px minmax(0,1fr);gap:14px;display:grid}.book-why li:before{content:counter(s);background:var(--pink);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-size:16px;font-weight:700;display:grid}.book-why li b{font-family:var(--f-display);font-size:18.5px;font-weight:600;display:block}.book-why li span{color:var(--ink-soft);font-size:16px}.form-card{background:var(--surface);border:1px solid var(--line-firm);border-radius:var(--r);box-shadow:var(--shadow-md);padding:clamp(22px,3.4vw,34px)}.fs{border:0;margin:0 0 26px;padding:0}.fs legend{font-family:var(--f-display);border-bottom:1px solid var(--line);width:100%;margin-bottom:14px;padding:0 0 4px;font-size:21px;font-weight:600}.f-row{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:15px;margin-bottom:15px;display:grid}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-size:13.5px;font-weight:700}.field .opt{color:var(--muted);text-transform:none;letter-spacing:0;font-weight:500}.field input,.field select,.field textarea{font-family:var(--f-body);color:var(--ink);background:var(--surface-2);border:1.5px solid var(--line-firm);border-radius:var(--r-sm);width:100%;padding:11px 13px;font-size:16.5px;transition:border-color .15s,background-color .15s,box-shadow .15s}.field textarea{resize:vertical;min-height:90px}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--muted)}.field input:focus,.field select:focus,.field textarea:focus{background:var(--surface);border-color:var(--pink);outline:none;box-shadow:0 0 0 3px #d33f6a26}.field input[aria-invalid=true],.field select[aria-invalid=true]{background:#fdf0ee;border-color:#c0392b}.err{color:#a5271a;font-size:14px;font-weight:600}.chips{flex-wrap:wrap;gap:9px;display:flex}.chip{display:inline-block;position:relative}.chip input{opacity:0;width:0;height:0;position:absolute}.chip span{border:1.5px solid var(--line-firm);background:var(--surface-2);color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:9px 15px;font-size:15px;font-weight:600;transition:all .14s;display:block}.chip span:hover{border-color:var(--pink);color:var(--pink-deep)}.chip input:checked+span{background:var(--pink);border-color:var(--pink);color:#fff}.chip input:focus-visible+span{outline:3px solid var(--pink);outline-offset:2px}.chip.teal input:checked+span{background:var(--teal);border-color:var(--teal)}.chip.teal span:hover{border-color:var(--teal);color:var(--teal-deep)}.checkline{color:var(--ink-soft);cursor:pointer;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:11px;font-size:16px;display:grid}.checkline input{width:20px;height:20px;accent-color:var(--pink);margin:2px 0 0}.form-foot{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding-top:20px;display:flex}.form-foot small{color:var(--muted);font-size:14.5px}.sent{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:26px 10px;display:flex}.sent-mark{background:var(--teal-wash);width:62px;height:62px;color:var(--teal-deep);border-radius:50%;place-items:center;display:grid}.sent h3{font-size:27px}.sent p{color:var(--ink-soft);max-width:46ch}.faq-list{border-top:1px solid var(--line-firm);max-width:840px}.faq-item{border-bottom:1px solid var(--line-firm)}.faq-item summary{cursor:pointer;font-family:var(--f-display);padding:19px 44px 19px 0;font-size:20px;font-weight:600;list-style:none;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"";border-right:2.5px solid var(--pink);border-bottom:2.5px solid var(--pink);width:11px;height:11px;transition:transform .2s;position:absolute;top:50%;right:8px;transform:translateY(-70%)rotate(45deg)}.faq-item[open] summary:after{transform:translateY(-30%)rotate(-135deg)}.faq-item summary:hover{color:var(--pink-deep)}.faq-answer{color:var(--ink-soft);max-width:68ch;padding:0 0 22px;font-size:16.5px}.ftr{background:var(--plum);color:#c3b0ca;padding-block:clamp(40px,6vw,60px) 24px}.ftr-grid{border-bottom:1px solid #ffffff21;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:30px;padding-bottom:28px;display:grid}.ftr h4{font-family:var(--f-body);letter-spacing:.15em;text-transform:uppercase;color:#fff;margin-bottom:14px;font-size:13px;font-weight:700}.ftr a{color:#c3b0ca;text-decoration:none}.ftr a:hover{color:#fff;text-decoration:underline}.ftr ul{flex-direction:column;gap:8px;margin:0;padding:0;font-size:16px;list-style:none;display:flex}.ftr-phone{font-family:var(--f-display);font-size:25px;font-weight:600;color:#fff!important}.ftr-hours{font-variant-numeric:tabular-nums;font-size:15.5px}.ftr-hours span{justify-content:space-between;gap:18px;padding:3px 0;display:flex}.ftr-bottom{color:#9481a0;flex-wrap:wrap;gap:8px 24px;padding-top:18px;font-size:14.5px;display:flex}.ftr-bottom p{margin-right:auto}.sticky-bar{z-index:70;background:var(--line-firm);border-top:1px solid var(--line-firm);gap:1px;display:none;position:fixed;bottom:0;left:0;right:0}.sticky-bar a{text-align:center;background:var(--surface);color:var(--ink);flex:1;padding:15px 8px;font-size:16px;font-weight:700;text-decoration:none}.sticky-bar a.primary{background:var(--pink);color:#fff}@media (width<=980px){.sticky-bar{display:flex}body{padding-bottom:58px}}.skip{background:var(--pink);color:#fff;z-index:100;padding:12px 18px;font-weight:700;position:absolute;top:0;left:-9999px}.skip:focus{top:8px;left:8px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}
