:root { --ink:#3d3036; --muted:#7d6a72; --line:#f1e1e7; --paper:#fff; --pink:#c45b78; --pink-dark:#a34760; --blush:#fff4f7; }
* { box-sizing:border-box; }
body { margin:0; font-family:"Palatino Linotype", Palatino, Georgia, serif; color:var(--ink); background:#fffafb; line-height:1.65; }
img { max-width:100%; display:block; }
a { color:var(--pink-dark); }
h1,h2,h3 { line-height:1.2; margin:0 0 10px; }
.wrap { width:min(1080px, calc(100% - 28px)); margin:0 auto; }
.nav { background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:5; }
.nav-inner { display:flex; align-items:center; gap:16px; padding:12px 0; }
.brand { font-size:22px; color:var(--pink-dark); text-decoration:none; }
.nav-links { display:flex; gap:8px; list-style:none; margin:0; padding:0; flex:1; flex-wrap:wrap; align-items:center; }
.nav a, .drop summary { color:var(--ink); text-decoration:none; font-size:15px; cursor:pointer; }
.drop { position:relative; }
.drop summary { list-style:none; }
.drop summary::-webkit-details-marker { display:none; }
.drop-menu { position:absolute; background:#fff; border:1px solid var(--line); border-radius:12px; padding:8px; min-width:180px; display:grid; gap:6px; }
.cta, button.cta { background:var(--pink); color:#fff; border:0; border-radius:999px; padding:11px 16px; text-decoration:none; cursor:pointer; font:inherit; }
.hero { display:grid; grid-template-columns:.9fr 1.1fr; gap:28px; align-items:center; padding:28px 0; }
.panel, .card { background:#fff; border:1px solid var(--line); border-radius:18px; padding:18px; }
.grid3, .grid2 { display:grid; gap:14px; }
.grid3 { grid-template-columns:repeat(3,1fr); }
.grid2 { grid-template-columns:1fr 1fr; }
.price { font-size:36px; color:var(--pink-dark); }
.old { color:var(--muted); text-decoration:line-through; margin-left:8px; font-size:18px; }
.note { color:var(--muted); }
.pill { display:inline-block; background:var(--blush); color:var(--pink-dark); border-radius:999px; padding:6px 12px; }
details.qa { border-bottom:1px solid var(--line); padding:10px 0; }
details.qa summary { cursor:pointer; font-weight:600; }
label { display:block; margin:8px 0 4px; }
input, textarea { width:100%; padding:11px; border:1px solid #ecd5de; border-radius:10px; font:inherit; }
.banner { background:var(--blush); padding:10px 16px; display:none; justify-content:space-between; gap:8px; align-items:center; flex-wrap:wrap; }
.banner button { border:1px solid var(--pink); background:#fff; color:var(--pink-dark); border-radius:999px; padding:6px 10px; }
.modal { display:none; position:fixed; inset:0; background:rgba(80,40,50,.35); place-items:center; }
.modal.open { display:grid; }
.modal article { background:#fff; padding:20px; border-radius:16px; width:min(460px, calc(100% - 24px)); }
footer { border-top:1px solid var(--line); padding:26px 0; margin-top:18px; }
.foot { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:14px; }
section { padding:8px 0 18px; }
@media (max-width:860px) { .hero,.grid3,.grid2,.foot { display:block; } .drop-menu { position:static; } }
