@font-face {
  font-family: 'Pinyon Script';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/PinyonScript-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/Poppins-300.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/Poppins-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/Poppins-500.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/Poppins-600.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url(fonts/PlayfairDisplay-italic.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(fonts/PlayfairDisplay-var.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{--ivory:#FAF6EE;--champ:#DAC9A3;--champ-soft:#efe5cf;--gold:#7A5C2E;--rose:#a5142c;--ink:#14100d;--text:#2a2420;--muted:#6f655c;--line:rgba(122,92,46,.22);
--serif:"Playfair Display",Georgia,serif;--sans:"Poppins",system-ui,-apple-system,sans-serif;--script:"Pinyon Script","Snell Roundhand",cursive}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--ivory);color:var(--text);font:300 15px/1.6 var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
img{display:block;max-width:100%}
.pv{background:var(--ink);color:var(--champ);font:500 11px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-align:center;padding:9px 16px}
.pv b{color:#fff;font-weight:500}
.top{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}
.brand{text-decoration:none;color:var(--ink);display:flex;align-items:baseline;gap:.35rem}
.brand__s{font-family:var(--serif);font-size:1.12rem;font-weight:600;letter-spacing:.02em}
.brand__spa{font-family:var(--script);color:var(--gold);font-size:1.5rem;line-height:.8}
.top__petal{width:22px;height:22px;opacity:.9}
.hero{text-align:center;padding:34px 22px 8px;max-width:620px;margin:0 auto}
.script{font-family:var(--script);color:var(--gold);font-size:2.1rem;line-height:1;font-weight:400}
.hero h1{font-family:var(--serif);font-weight:500;font-size:1.9rem;line-height:1.15;color:var(--ink);margin:.25rem 0 .6rem;letter-spacing:-.005em}
.hero .script{font-size:2.3rem;margin-bottom:.1rem}
.hero p:not(.script){color:var(--muted);font-size:.9rem;max-width:30em;margin:0 auto}
.tabs{position:sticky;top:0;z-index:5;background:rgba(250,246,238,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;justify-content:center;gap:28px;padding:18px 20px 0;border-bottom:1px solid var(--line);margin-top:20px}
.tab{font:500 11.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding:6px 2px 14px;border-bottom:2px solid transparent;margin-bottom:-1px}
.tab[aria-selected=true]{color:var(--ink);border-color:var(--gold)}
.panel{max-width:560px;margin:0 auto;padding:30px 22px 56px}
.panel[hidden]{display:none}
.ph{text-align:center;margin-bottom:26px}
.ph .eyebrow{font:500 10.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.ph h2{font-family:var(--serif);font-weight:500;font-size:1.65rem;line-height:1.2;color:var(--ink);margin-top:.5rem}
.ph h2 em{font-style:italic;color:var(--rose)}
.ph p{color:var(--muted);font-size:.86rem;margin-top:.5rem}
.step{padding:22px 0;border-top:1px solid var(--line)}
.step__h{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}
.step__n{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:1.05rem}
.step__t{font:500 11px/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.shapes{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}
.shape{display:flex;flex-direction:column;align-items:center;gap:7px;padding:8px 0 6px;border-radius:12px;font-size:.72rem;color:var(--muted);transition:background .2s,color .2s}
.shape svg{width:22px;height:38px}
.shape svg path{fill:transparent;stroke:var(--gold);stroke-width:1.3;transition:fill .2s}
.shape[aria-checked=true]{color:var(--ink);background:var(--champ-soft)}
.shape[aria-checked=true] svg path{fill:var(--champ);stroke:var(--gold)}
.pills{display:flex;gap:8px;flex-wrap:wrap}
.pill{flex:1 1 0;min-width:0;padding:12px 6px;border:1px solid var(--line);border-radius:999px;font-size:.82rem;font-weight:400;color:var(--text);text-align:center;transition:all .2s}
.pill small{display:block;font-size:.66rem;color:var(--muted);letter-spacing:.04em}
.pill[aria-checked=true]{background:var(--ink);border-color:var(--ink);color:var(--champ)}
.pill[aria-checked=true] small{color:rgba(218,201,163,.75)}
.list{display:flex;flex-direction:column}
.opt{display:flex;align-items:center;gap:14px;text-align:left;padding:13px 2px;border-bottom:1px solid rgba(122,92,46,.12)}
.opt:last-child{border-bottom:0}
.opt__dot{flex:none;width:18px;height:18px;border-radius:50%;border:1px solid var(--gold);position:relative}
.opt[aria-checked=true] .opt__dot::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--rose)}
.opt__txt{flex:1;min-width:0}
.opt__t{display:block;font-size:.92rem;font-weight:400;color:var(--ink)}
.opt__s{display:block;font-size:.76rem;color:var(--muted);line-height:1.45}
.opt__p{flex:none;font-family:var(--serif);font-size:.98rem;color:var(--gold);white-space:nowrap}
.opt[aria-checked=true] .opt__t{font-weight:500}
.inv .opt__p{font-size:1.25rem;color:var(--ink)}
/* summary card */
.card{margin-top:10px;background:var(--ink);color:#efe7d6;border-radius:22px;padding:26px 22px 22px;position:relative;overflow:hidden}
.card::before{content:"";position:absolute;inset:7px;border:1px solid rgba(218,201,163,.28);border-radius:16px;pointer-events:none}
.card__k{font:500 10px/1.3 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--champ);text-align:center}
.card__k span{font-family:var(--script);font-size:1.5rem;letter-spacing:0;text-transform:none;display:block;margin-bottom:4px;font-weight:400}
.rows{margin:18px 0 6px}
.row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid rgba(218,201,163,.16);font-size:.84rem}
.row dt{color:rgba(239,231,214,.62)}
.row dd{color:#fff;text-align:right;font-weight:400}
.math{font-size:.76rem;color:rgba(239,231,214,.62);padding:10px 0 0;display:flex;flex-direction:column;gap:3px}
.math div{display:flex;justify-content:space-between}
.price{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:18px 0 6px}
.price__l{font:500 10px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--champ)}
.price__v{font-family:var(--serif);font-size:2.6rem;line-height:1;color:#fff;font-weight:500}
.price__v.q{font-size:1.5rem;font-style:italic;color:var(--champ)}
.badge{display:inline-flex;align-items:center;gap:6px;font:500 10px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--champ);border:1px solid rgba(218,201,163,.5);border-radius:999px;padding:7px 11px;margin-top:6px}
.badge i{width:6px;height:6px;border-radius:50%;background:var(--rose);box-shadow:0 0 0 3px rgba(165,20,44,.25)}
.note{font-size:.74rem;color:rgba(239,231,214,.62);margin:14px 0 18px;line-height:1.5}
.book{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:15px 18px;border-radius:999px;background:var(--champ);color:var(--ink);font:500 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;transition:transform .15s}
.book:active{transform:scale(.98)}
.book--rose{background:var(--rose);color:#fff}
.svcname{display:block;text-align:center;font-size:.7rem;color:rgba(239,231,214,.5);margin-top:10px}
/* curator */
.col{margin-top:10px;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 18px 40px -24px rgba(60,40,10,.35)}
.col__img{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--champ-soft)}
.col__img img{width:100%;height:100%;object-fit:cover;transition:opacity .35s}
.col__img figcaption{position:absolute;left:14px;bottom:12px;font:500 9.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#fff;background:rgba(20,16,13,.55);padding:6px 9px;border-radius:999px}
.col__b{padding:22px 22px 24px}
.col__k{font:500 10px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.col__t{font-family:var(--serif);font-weight:500;font-size:1.55rem;line-height:1.2;color:var(--ink);margin:.45rem 0 .15rem}
.col__a{font-family:var(--script);color:var(--rose);font-size:1.45rem;line-height:1.1}
.inc{list-style:none;margin:16px 0 4px;display:flex;flex-direction:column;gap:8px}
.inc li{display:flex;gap:10px;font-size:.84rem;line-height:1.45}
.inc li::before{content:"";flex:none;width:12px;height:12px;margin-top:4px;background:url(img/petal.svg) center/contain no-repeat;opacity:.9}
.col__price{display:flex;justify-content:space-between;align-items:flex-end;border-top:1px solid var(--line);margin-top:18px;padding-top:16px}
.col__price span{font:500 10px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.col__price b{font-family:var(--serif);font-size:2.2rem;font-weight:500;line-height:1;color:var(--ink)}
.fine{font-size:.72rem;color:var(--muted);text-align:center;margin-top:12px}
.foot{text-align:center;padding:26px 20px 40px;color:var(--muted);font-size:.72rem;border-top:1px solid var(--line)}
.foot .script{font-size:1.6rem}
@media (min-width:720px){.hero h1{font-size:2.4rem}.panel{padding-top:40px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
