.nessie-button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 54px; padding: 12px 24px; border: 1px solid transparent; border-radius: var(--nessie-radius-button); text-decoration: none; font-weight: 600; line-height: 1.5; text-align: center; }
.nessie-button--primary { background: var(--nessie-action-red); color: var(--nessie-white); }
.nessie-button--secondary { background: var(--nessie-navy); color: var(--nessie-white); }
.nessie-button--secondary .nessie-icon { filter: brightness(0) invert(1); }
.nessie-button:hover { text-decoration: underline; }
.nessie-button[aria-disabled='true'] { opacity: .55; cursor: not-allowed; }
.nessie-hero .nessie-button--primary { min-height: var(--nessie-layout-hero-primary-height-pc); font-size: var(--nessie-type-hero-primary-pc); }
.nessie-eyebrow { font-size: 12px; letter-spacing: .12em; color: var(--nessie-muted); }
.nessie-section-heading { margin-bottom: 32px; }
.nessie-section-heading h2 { font-size: 40px; line-height: 1.35; }
.nessie-category .nessie-section-heading h2 { font-size: var(--nessie-type-category-pc); }
.nessie-photo { background: var(--nessie-off-white); aspect-ratio: 4 / 3; overflow: hidden; }
.nessie-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.nessie-category-card .nessie-photo { height: var(--nessie-layout-category-photo-height-pc); aspect-ratio: auto; }
.nessie-category-card .nessie-photo img { object-fit: contain; }
.nessie-category-card a, .nessie-life-scene-card a, .nessie-specialist-card a { text-decoration: none; }
.nessie-category-card h3, .nessie-life-scene-card h3, .nessie-specialist-card h3 { margin: 16px 0 8px; }
.nessie-result-card h3 { font-size: var(--nessie-purchase-case-type-regular-name-pc); margin: 16px 0 8px; }
.nessie-price { margin-bottom: 8px; }
.nessie-price small { display: block; font-size: 12px; color: var(--nessie-muted); }
.nessie-price strong { font-size: var(--nessie-purchase-case-type-regular-price-pc); color: var(--nessie-navy); line-height: 1.3; }
.nessie-result-card__area { font-size: var(--nessie-purchase-case-type-regular-area-pc); margin: 0 0 4px; }
.nessie-result-card__method { font-size: var(--nessie-purchase-case-type-purchase-method); margin: 0; color: var(--nessie-muted); }
.nessie-result-card--featured h3 { font-size: var(--nessie-purchase-case-type-featured-name-pc); }
.nessie-result-card--featured .nessie-price strong { font-size: var(--nessie-purchase-case-type-featured-price-pc); }
.nessie-number { display: block; color: var(--nessie-reason-number); font-size: 40px; line-height: 1.3; }
.nessie-reason-item, .nessie-flow-step { border-top: 1px solid var(--nessie-line); padding-block: 24px; }
.nessie-reason-item h3, .nessie-flow-step h3 { margin-top: 16px; }
.nessie-trust-item { color: var(--nessie-white); background: var(--nessie-navy); padding: 20px; }
.nessie-trust-item .nessie-icon { filter: brightness(0) invert(1); }
.nessie-store-card h3 { font-size: 24px; margin: 20px 0 12px; }
.nessie-review-card { background: var(--nessie-white); border-top: 1px solid var(--nessie-line); padding-top: 24px; }
.nessie-rating { color: var(--nessie-gold); font-size: var(--nessie-reviews-type-stars); line-height: 1.3; margin-bottom: 24px; }
.nessie-rating small { font-size: 14px; }
.nessie-review-card blockquote { font-size: var(--nessie-reviews-type-body-pc); margin: 0 0 24px; }
.nessie-review-card__author { font-size: var(--nessie-reviews-type-author); margin-bottom: 16px; }
.nessie-review-card__source { font-size: var(--nessie-reviews-type-source); font-weight: 600; color: var(--nessie-navy); margin-bottom: 4px; }
.nessie-review-card__source-link { font-size: var(--nessie-reviews-type-source-url); }
.nessie-review-card__supplement { font-size: var(--nessie-reviews-type-service-and-date); color: var(--nessie-muted); margin-top: 16px; }
.nessie-faq { border-bottom: 1px solid var(--nessie-line); }
.nessie-faq h3 { margin: 0; }
.nessie-faq button { width: 100%; display: flex; align-items: center; justify-content: space-between; min-height: 60px; padding: 16px 0; border: 0; background: none; text-align: left; }
.nessie-faq > div { padding-bottom: 20px; }
.nessie-final-cta { position: relative; background: var(--nessie-navy); color: var(--nessie-white); padding-block: 48px; }
.nessie-final-cta h2 { color: inherit; font-size: 40px; }
.nessie-cta-row { display: flex; gap: 16px; flex-wrap: wrap; }

@media (width <= 1199px) {
  .nessie-hero .nessie-button--primary { min-height: var(--nessie-layout-hero-primary-height-sp); font-size: var(--nessie-type-hero-primary-sp); }
  .nessie-category .nessie-section-heading h2 { font-size: var(--nessie-type-category-sp); }
  .nessie-category-card .nessie-photo { height: var(--nessie-layout-category-photo-height-sp); }
  .nessie-result-card h3 { font-size: var(--nessie-purchase-case-type-name-sp); }
  .nessie-price strong { font-size: var(--nessie-purchase-case-type-price-sp); }
  .nessie-review-card blockquote { font-size: var(--nessie-reviews-type-body-sp); }
  .nessie-cta-row { flex-direction: column; }
}
