/* Shared storefront typography; original artwork and purchase behavior stay intact. */
body.neko-body, body.neko-auth-page { font-size:16px; line-height:1.75; }

/* Navigation and homepage. */
.neko-body .preview-strip { height:auto; min-height:32px; font-size:12px; }
.neko-body .brand-name small, .neko-auth-page .auth-brand small { font-size:10px; line-height:1.6; }
.neko-body .site-header nav, .neko-body .store-account,
.neko-auth-page .neko-auth-header nav { font-size:14px; }
.neko-body .eyebrow, .neko-body .neko-eyebrow { font-size:11px; }
.neko-body .hero-description { font-size:15px; line-height:1.95; }
.neko-body .primary-link { font-size:14px; }
.neko-body .hero-footnote, .neko-body .hero-art figcaption { font-size:12px; }
.neko-body .vertical-poem { font-size:12px; }
.neko-body .section-heading h2, .neko-body .neko-faq h2 { font-size:27px; }
.neko-body .store-search { min-height:46px; }
.neko-body .store-search input { font-family:inherit; font-size:16px; line-height:1.5; }
.neko-body .store-search button { font-size:14px; white-space:nowrap; }
.neko-body .store-category { font-size:14px; }
.neko-body .catalog-status { font-size:13px; min-height:23px; }
.neko-body .plan-index { font-size:16px; }
.neko-body .plan-type { font-size:12px; }
.neko-body .plan-title-row h3 { font-size:23px; }
.neko-body .plan-title-row p { font-size:12px; line-height:1.7; }
.neko-body .plan-price { font-size:52px; }
.neko-body .plan-price small { font-size:12px; }
.neko-body .benefit-major strong { font-size:23px; }
.neko-body .benefit-major p { font-size:12px; line-height:1.7; }
.neko-body .benefits { font-size:15px; line-height:1.8; gap:11px; min-height:104px; }
.neko-body .benefits li { white-space:normal; align-items:baseline; }
.neko-body .check { font-size:12px; }
.neko-body .stock-state { font-size:13px; line-height:1.8; }
.neko-body .details-button { font-size:14px; min-height:46px; }
.neko-body .catalog-note { font-size:12px; line-height:1.9; }
.neko-body .store-guide article>span { font-size:12px; }
.neko-body .store-guide h3 { font-size:20px; line-height:1.6; }
.neko-body .store-guide p, .neko-body .store-guide a,
.neko-body .neko-faq>div>p:last-child,
.neko-body .neko-faq-list summary, .neko-body .neko-faq-list p { font-size:15px; line-height:1.9; }
.neko-body .store-footer, .neko-body .store-footer .footer-links,
.neko-body .store-footer>p, .neko-body .back-top,
.neko-body .footer-brand>span { font-size:12px; line-height:1.8; }
.neko-body .store-footer { align-items:flex-start; }

/* Product details and native order lookup. */
.neko-body .store-breadcrumb { font-size:14px; }
.neko-body .neko-store-status { font-size:14px; line-height:1.9; }
.neko-body .form-label { font-size:14px; }
.neko-body .form-control { font-size:16px; line-height:1.5; min-height:46px; }
.neko-body .form-control::placeholder { font-size:14px; }
.neko-body .btn { font-size:15px; }
.neko-body .btn-search-query { min-height:46px; }
.neko-body .panel-title { font-size:18px; }
.neko-body .neko-page-intro p { font-size:15px; line-height:1.9; }
.neko-product-page .product-art-heading { font-size:10px; }
.neko-product-page .product-art-stage figcaption { font-size:12px; }
.neko-product-page .item-buy h4 { font-size:29px; }
.neko-product-page .abacus .price { font-size:43px; }
.neko-product-page .abacus .price:after { font-size:12px; }
.neko-product-page .badge-soft { font-size:11px; }
.neko-product-page .qty-group button { font-size:16px; }
.neko-product-page .captcha-img { height:46px; }
.neko-body .store-checkout-status>strong { font-size:14px; }
.neko-body .pending-methods span { font-size:13px; }
.neko-body .store-checkout-status p { font-size:13px; line-height:1.9; }
.neko-body .store-unavailable { font-size:14px; line-height:1.8; }
.neko-product-page .item-detail>.panel-header .panel-title { font-size:21px; }
.neko-product-page .item-detail h3 { font-size:23px; }
.neko-product-page .item-detail h4 { font-size:19px; }
.neko-body .item-detail p, .neko-body .item-detail li { font-size:15px; line-height:2; }

/* Login and registration use their existing native forms. */
.neko-auth-page .auth-form-heading>p { font-size:11px; }
.neko-auth-page .auth-form-heading>span { font-size:14px; line-height:1.9; }
.neko-auth-page .form-floating>.form-control {
  height:58px; min-height:58px; font-size:16px; padding-top:25px; padding-bottom:8px;
}
.neko-auth-page .form-floating>label { font-size:16px; padding-top:16px; }
.neko-auth-page .image-code { height:58px; }
.neko-auth-page .form-check, .neko-auth-page .text-link,
.neko-auth-page .small { font-size:14px; line-height:1.8; }
.neko-auth-page .btn-gradient { font-size:16px; min-height:49px; }
.neko-auth-page .btn-outline-primary { font-size:12px; min-height:58px; }
.neko-auth-page .btn-passkey { font-size:14px; }
.neko-auth-page .neko-auth-footer, .neko-auth-page .neko-auth-footer a { font-size:12px; line-height:1.8; }

@media (min-width:641px) and (max-width:1000px) {
  .neko-body .plans-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .neko-body .store-guide article { padding:24px 21px; }
}
@media (max-width:760px) {
  .neko-auth-page .neko-auth-header { flex-wrap:wrap; gap:15px; }
  .neko-auth-page .neko-auth-header nav { font-size:13px; gap:18px; }
  .neko-auth-page .neko-auth-footer { flex-wrap:wrap; }
}
@media (max-width:640px) {
  .neko-body .site-header nav { font-size:14px; }
  .neko-body .store-account { font-size:13px; gap:10px; }
  .neko-body .hero-copy { padding-right:21px; padding-left:23px; }
  .neko-body .hero-description { font-size:14px; max-width:225px; }
  .neko-body .hero h1 { font-size:34px; letter-spacing:2px; }
  .neko-body .hero-art figcaption { font-size:10px; }
  .neko-body .hero-footnote { font-size:12px; }
  .neko-body .hero-copy .eyebrow, .neko-body .section-heading .eyebrow { font-size:10px; }
  .neko-body .section-heading h2, .neko-body .neko-faq h2 { font-size:25px; }
  .neko-body .store-search input { font-size:16px; }
  .neko-body .plan-title-row h3 { font-size:25px; }
  .neko-body .benefits { min-height:0; }
  .neko-body .catalog-note { font-size:12px; }
  .neko-product-page .product-form-column { padding:25px 21px; }
  .neko-product-page .item-buy h4 { font-size:27px; }
  .neko-product-page .product-art-heading { font-size:9px; }
  .neko-product-page .product-art-stage figcaption { font-size:11px; }
  .neko-body .pending-methods { gap:7px; }
}
