.pricing-hero { padding-bottom: 30px; }
.pricing-intro { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); align-items: center; gap: clamp(24px, 5vw, 70px); }
.pricing-intro h1 { font-size: clamp(40px, 6vw, 82px); line-height: 1.02; letter-spacing: -.06em; margin-block: 20px; }
.pricing-intro img { width: 100%; max-height: 460px; object-fit: cover; object-position: center top; border-radius: var(--round); }
.pricing-intro .lead { max-width: 48ch; color: var(--muted); }
.pricing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.price-card { display: flex; flex-direction: column; align-items: start; padding: clamp(20px, 2.6vw, 36px); border: 1px solid var(--line); border-radius: 20px; background: #fffcf6; }
.price-card.featured { border-color: var(--olive); }
.price-card h3 { font-size: clamp(24px, 2.5vw, 32px); line-height: 1.12; margin-top: 16px; }
.price { margin-top: 20px; font-size: clamp(34px, 4vw, 48px); line-height: 1.1; font-weight: 700; letter-spacing: -.04em; }
.price small { display: block; margin-top: 7px; font-size: 13px; font-weight: 400; letter-spacing: 0; color: var(--muted); }
.deposit { margin-top: 14px; color: #6b5419; font-size: 14px; font-weight: 700; }
.price-card ul { padding-left: 20px; margin-block: 22px; }
.price-card li + li { margin-top: 8px; }
.price-card .btn { margin-top: auto; max-width: 100%; gap: 10px; text-align: left; }
.plan-detail, .pricing-note { color: var(--muted); font-size: 13px; }
.plan-detail { margin-bottom: 24px; }
.pricing-note { margin-top: 22px; max-width: 90ch; }
.pricing-care { background: var(--paper); }
.pricing-support-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(30px, 6vw, 90px); }
.pricing-support-grid h2 { font-size: clamp(30px, 4vw, 52px); line-height: 1.08; margin-block: 15px; }
.pricing-support-grid p + p { margin-top: 12px; }
.pricing-support-grid .btn { margin-top: 22px; }
.pricing-note a { text-decoration: underline; }
@media (max-width: 950px) { .pricing-grid { grid-template-columns: 1fr; } .price-card h3 { max-width: none; } .price-card ul { margin-block: 16px; } }
@media (max-width: 700px) { .pricing-intro, .pricing-support-grid { grid-template-columns: minmax(0, 1fr); } .pricing-intro img { max-height: 350px; } }
