.hero{max-width:680px;margin-top:22px}
h2.sec{font-family:Fraunces,serif;font-weight:600;color:var(--wine);font-size:28px;margin:30px 0 16px}
.cards{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:620px){.cards{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.cards{grid-template-columns:repeat(4,1fr)}}
.pc{position:relative;background:#fff;border-radius:22px;padding:16px 16px 18px;box-shadow:0 10px 30px rgba(123,18,56,.10);display:flex;flex-direction:column}
.pc img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;background:var(--blush)}
.pc h3{font-family:Fraunces,serif;font-weight:600;color:var(--wine);font-size:20px;margin:14px 0 6px}
.pc p{font-size:15px;line-height:1.45;margin:0 0 12px;color:#5b464c;flex:1}
.price{font-weight:800;font-size:26px;color:var(--wine)}
.price small{display:block;font-weight:700;font-size:13px;color:var(--muted)}
.pc .btn{font-size:16px;padding:13px}
.best{border:3px solid var(--pink)}
.ribbon{position:absolute;top:-12px;left:16px;background:var(--wine);color:#fff;font-weight:800;font-size:12.5px;border-radius:99px;padding:5px 12px}
.info{margin-top:34px;display:grid;gap:18px}
@media(min-width:820px){.info{grid-template-columns:.8fr 1.2fr;align-items:start}}
.faq{margin:0;background:#fff;border-radius:22px;padding:20px 22px;box-shadow:0 10px 30px rgba(123,18,56,.08)}
.faq dt{font-weight:800;color:var(--wine);margin-top:12px}
.faq dt:first-child{margin-top:0}
.faq dd{margin:4px 0 0;line-height:1.5;font-size:15px}
