:root{--bg:#FAF7F3;--surface:#FFFFFF;--surface-2:#F2EBE3;--ink:#231C29;--ink-soft:#5B5264;--border:#E4DACD;--accent:#6B3F5C;--accent-soft:#F0E2EC;--gold:#A87F2E;--gold-soft:#F6EAD2;--good:#3D6E4C;--good-soft:#E5F0E7;--warn:#A34B2A;--warn-soft:#FBE9DE;--radius:10px}@media (prefers-color-scheme:dark){:root{--bg:#1C1620;--surface:#241D29;--surface-2:#2C2431;--ink:#F1EAE8;--ink-soft:#B7ACC0;--border:#3C3243;--accent:#D9A9CB;--accent-soft:#3A2A38;--gold:#E0B65E;--gold-soft:#3A2E1C;--good:#8FCB9F;--good-soft:#233327;--warn:#E8A379;--warn-soft:#3A2A20}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);font-family:Karla,system-ui,sans-serif;line-height:1.6}body,h1,h2,h3,h4{margin:0;color:var(--ink)}h1,h2,h3,h4{font-family:Cormorant Garamond,Georgia,serif;font-weight:600;text-wrap:balance}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font-family:inherit}.wrap{max-width:1080px;margin:0 auto;padding:0 24px}.kicker{font-family:Karla,sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}.hint{font-size:.82rem;color:var(--ink-soft)}.req{color:var(--warn)}header.site{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}header.site .bar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:1080px;margin:0 auto;flex-wrap:wrap;gap:8px}.brand{font-family:Cormorant Garamond,serif;font-weight:600;font-size:1.4rem;white-space:nowrap}nav.main{display:flex;gap:18px;font-size:.9rem;flex-wrap:wrap}nav.main a{color:var(--ink-soft);padding:6px 2px;border-bottom:2px solid transparent;white-space:nowrap}nav.main a.active,nav.main a:hover{color:var(--accent);border-color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;font-size:.95rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:transform .12s ease,opacity .12s ease}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{opacity:.92}.btn-ghost{background:transparent;border-color:var(--border);color:var(--ink)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.btn-gold{background:var(--gold);color:#241804}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.small{padding:8px 16px;font-size:.85rem}.hero{padding:60px 0 40px;text-align:center;background:radial-gradient(ellipse at top,var(--accent-soft),transparent 60%)}.eyebrow{font-family:Cormorant Garamond,serif;font-size:1.15rem;font-style:italic;color:var(--accent);letter-spacing:.02em}.byline{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-top:6px}.hero h1{font-size:2.7rem;max-width:16ch;margin:16px auto}.hero p{max-width:56ch;margin:0 auto 28px;color:var(--ink-soft);font-size:1.08rem}.hero .ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.highlight-bar{background:var(--accent);color:#fff;padding:12px 0;text-align:center;font-size:.92rem;letter-spacing:.02em}.highlight-bar .dot{margin:0 12px;opacity:.6}.grid{display:grid;grid-gap:18px;gap:18px}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}@media (max-width:820px){.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;gap:10px}.card h3{font-size:1.3rem}.card p{color:var(--ink-soft);font-size:.92rem;margin:0}.card .price{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--accent);font-weight:600}.card .meta{font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}.card-link{margin-top:auto;align-self:flex-start}section{padding:52px 0}section.alt{background:var(--surface-2)}.section-head{max-width:60ch;margin:0 auto 32px;text-align:center}.section-head h2{font-size:2rem;margin:8px 0 10px}.section-head p{color:var(--ink-soft)}.cat-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}.cat-cta{flex:1 1;min-width:220px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;border-radius:12px;border:1px solid var(--border);background:var(--surface);font-family:Cormorant Garamond,serif;font-size:1.25rem;font-weight:600;color:var(--ink);cursor:pointer;text-align:left}.cat-cta:hover{border-color:var(--accent);color:var(--accent)}.cat-cta.open{border-color:var(--accent);background:var(--accent);color:#fff}.cat-cta.open .chip{background:rgba(255,255,255,.2);color:#fff}.category-block{margin-bottom:44px;border:1px solid var(--border);border-radius:12px;padding:6px 22px 22px;background:var(--surface)}.cat-heading{font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:600;color:var(--ink);padding:14px 0;margin-bottom:4px;border-bottom:2px solid var(--accent)}.category-block .blurb{color:var(--ink-soft);font-size:.95rem;max-width:70ch;margin:0 0 18px}.chip{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;padding:3px 10px;border-radius:20px;background:var(--gold-soft);color:var(--gold);font-weight:600}.group-title{font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:600;letter-spacing:.01em;color:var(--accent);margin:30px 0 12px;padding-top:16px;border-top:1px solid var(--border)}.item-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:8px}.item-row .info{flex:1 1}.item-row .info h4{font-size:1rem;margin-bottom:3px;font-family:Karla,sans-serif;font-weight:600}.item-row .info p{color:var(--ink-soft);font-size:.85rem;margin:0;max-width:62ch}.item-row .buy{display:flex;align-items:center;gap:12px;flex-shrink:0}.item-row .buy .price{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.9rem}.field{margin-bottom:18px;text-align:left}.field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px}.field .hint{margin-top:6px}input[type=date],input[type=email],input[type=file],input[type=tel],input[type=text],select,textarea{width:100%;padding:11px 13px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--ink);font-family:inherit;font-size:.95rem}textarea{min-height:90px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.checkline,.radioline{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;margin-bottom:8px;cursor:pointer;background:var(--surface);font-size:.92rem}.checkline:hover,.radioline:hover{border-color:var(--accent)}.checkline input,.radioline input{margin-top:3px}.checkline.selected,.radioline.selected{border-color:var(--accent);background:var(--accent-soft)}.pill-select{display:flex;flex-wrap:wrap;gap:8px}.pill-select .pill{padding:8px 16px;border-radius:999px;border:1px solid var(--border);cursor:pointer;font-size:.88rem}.pill-select .pill.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.input-block{border:1px solid var(--border);border-radius:10px;padding:16px 18px;margin-bottom:16px;background:var(--surface-2)}.input-block h4{font-family:Cormorant Garamond,serif;font-size:1.15rem;margin-bottom:10px}.flow{max-width:640px;margin:0 auto}.flow-steps{display:flex;justify-content:center;gap:6px;margin-bottom:28px;flex-wrap:wrap}.flow-steps .step{font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;border-radius:20px;background:var(--surface-2);color:var(--ink-soft)}.flow-steps .step.active{background:var(--accent);color:#fff}.flow-steps .step.done{background:var(--good-soft);color:var(--good)}.flow-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px}.flow-card h2{font-size:1.6rem;margin-bottom:6px}.flow-card .sub{color:var(--ink-soft);font-size:.92rem;margin-bottom:24px}.flow-nav{display:flex;justify-content:space-between;margin-top:26px}.cart-line{padding:10px 0;border-bottom:1px solid var(--border);font-size:.92rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cart-line,.cart-total{display:flex;justify-content:space-between}.cart-total{padding:14px 0 0;font-weight:700;font-size:1.1rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.note-box{background:var(--gold-soft);border:1px solid var(--border);border-radius:8px;padding:12px 14px;font-size:.85rem;color:var(--ink-soft);margin-bottom:18px}.progress-bar{height:4px;background:var(--surface-2);border-radius:4px;overflow:hidden;margin-bottom:22px}.progress-bar .fill{height:100%;background:var(--accent);transition:width .25s ease}.cal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:8px;gap:8px;margin-bottom:10px}.cal-day{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:8px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:.82rem;text-align:left}.cal-day.picked,.cal-day:hover{border-color:var(--accent)}.cal-day.picked{background:var(--accent-soft)}.cal-day.full{opacity:.5;cursor:not-allowed;background:var(--surface-2)}.cal-day .d-rank{font-size:.72rem;color:var(--accent);font-weight:600}.cal-day.admin{cursor:default}.cal-day.admin .d-rank{color:var(--ink-soft)}.admin-actions{display:flex;gap:6px;margin-top:4px}.testimonial-slide{border-radius:12px;overflow:hidden;border:1px solid var(--border);margin-bottom:14px}.testimonial-slide img{width:100%}.testimonial-dots{display:flex;justify-content:center;gap:6px}.testimonial-dots .dot{width:8px;height:8px;border-radius:50%;background:var(--border)}.testimonial-dots .dot.on{background:var(--accent)}.gallery-thumb{aspect-ratio:1;border-radius:8px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:6px}.gallery-thumb img{width:100%;height:100%;object-fit:cover}.mini-cart{position:-webkit-sticky;position:sticky;bottom:0;z-index:40;background:var(--surface);box-shadow:0 -6px 20px rgba(0,0,0,.06)}.mini-cart,footer.site{border-top:1px solid var(--border)}footer.site{padding:40px 0;margin-top:40px;color:var(--ink-soft);font-size:.88rem}footer.site .cols{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}footer.site a:hover{color:var(--accent)}.center{text-align:center}.stack{display:flex;flex-direction:column;gap:14px}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media(max-width:600px){.two-col{grid-template-columns:1fr}.cat-cta{min-width:100%}}