.plate-page .calp-hero { background: #f7f3ed; }
.plate-page .calp-hero { padding-bottom: 72px; }
.plate-page .calp-hero-grid { grid-template-columns: 1.12fr .88fr; }
.plate-page .calp-hero-photo { width: min(100%, 450px); aspect-ratio: 3 / 2; justify-self: end; }
.plate-page .calp-hero-photo img { display: block; object-position: center; }
.plate-page .calp-hero-photo span { left: 16px; right: 16px; text-align: center; }
.plate-page .calp-gallery { padding-block: 105px; }
.plate-page .calp-features { padding-block: 65px; }
.plate-page .calp-spec { padding-block: 95px; }
.plate-page .plate-shapes { padding-block: 85px; }
.plate-page .calp-pricing { padding-block: 105px; }
.plate-page .plate-options { padding-block: 75px; }
.plate-page .calp-order { padding-block: 72px; }
.plate-page .calp-features .calp-section-head { margin-bottom: 24px; }
.plate-page .calp-features .calp-section-head h2 { font-size: clamp(27px, 2.6vw, 34px); }
.plate-page .calp-feature-grid article { padding: 24px; }
.plate-page .calp-feature-grid h3 { margin-top: 18px; font-size: 18px; }
.plate-page .plate-mii-guide { gap: 14px; max-width: 500px; }
.plate-page .plate-mii-guide img { width: 76px; height: 114px; filter: none; }
.plate-page .plate-mii-guide p { min-width: 0; padding: 14px 17px; }
.plate-page .plate-mii-guide p::before { top: calc(50% - 7px); }
.plate-page .plate-mii-guide span { font-size: 12px; line-height: 1.85; }
.plate-price-mii { margin: 0 0 20px; }
.plate-finish-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.plate-finish-grid figure { overflow: hidden; border-radius: 11px; background: #fff; box-shadow: 0 8px 24px rgba(27, 46, 65, .05); }
.plate-finish-grid a { display: block; aspect-ratio: 16 / 9; overflow: hidden; }
.plate-finish-grid img { display: block; width: 100%; height: 100%; object-fit: contain; }
.plate-finish-grid a:focus-visible { outline: 3px solid var(--yellow); outline-offset: -3px; }
.plate-finish-grid figcaption { display: grid; gap: 8px; padding: 20px; }
.plate-finish-grid strong { color: var(--blue-deep); font-size: 14px; font-weight: 900; }
.plate-finish-grid span { color: var(--muted); font-size: 12px; line-height: 1.85; }
.plate-finish-grid .plate-finish-step { color: var(--blue); font: 800 12px/1.5 'DM Sans', sans-serif; letter-spacing: .08em; }
.plate-shapes { background: #fff; }
.plate-heading-phrase { display: inline-block; }
.plate-page .calp-cut-image { background: #f1f2f3; }
.plate-page .calp-cut-image img { height: auto; aspect-ratio: 16 / 10; object-fit: contain; }
.plate-page .calp-cut-grid p { font-size: 12px; }
.plate-table-hint { margin-bottom: 16px; color: var(--muted); font-size: 12px; line-height: 1.9; }
.plate-table-hint strong { color: var(--blue-deep); }
.plate-table-hint > span { display: block; margin-top: 5px; font-size: 11px; }
.plate-page .calp-table-wrap:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
.plate-price-table { min-width: 1060px; }
.plate-price-table thead th:first-child { position: sticky; left: 0; z-index: 2; }
.plate-price-table tr > th:first-child { box-shadow: 2px 0 0 #d2dde7; }
.plate-price-table .plate-price-empty { background: #edf0f2; color: #75808b; text-align: center; }
.plate-mobile-prices { display: none; }
.plate-page .calp-price-notes .plate-shipping-note { margin-top: 16px; padding: 13px 16px; border-left: 3px solid var(--blue); border-radius: 0 6px 6px 0; background: #eef4f8; color: var(--blue-deep); font-weight: 800; }
.plate-options { background: var(--cream); }
.plate-options-footer { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 28px; }
.plate-options-footer .product-mii { margin-top: 0; }
.plate-options-footer > .text-link { flex-shrink: 0; font-size: 12px; }
.plate-contact-action { display: flex; align-items: center; gap: 18px; min-width: 0; }
.plate-contact-action img { flex: none; width: 76px; height: 114px; object-fit: contain; }
.plate-page .plate-kakutani img { object-position: center 38%; }
@media (max-width: 950px) {
  .plate-finish-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plate-page .calp-feature-grid { gap: 12px; }
  .plate-page .calp-feature-grid article { padding: 20px; }
  .plate-page .calp-feature-grid h3 { font-size: 16px; }
  .plate-options-footer { flex-direction: column; align-items: flex-start; gap: 20px; }
  .plate-page .calp-contact .container { flex-direction: column; align-items: stretch; }
  .plate-contact-action { align-self: flex-start; }
}
@media (max-width: 850px) {
  .plate-page .calp-hero-grid { grid-template-columns: 1fr; }
  .plate-page .calp-hero-photo { width: min(100%, 420px); justify-self: center; }
  .plate-page .calp-hero-copy { max-width: 600px; }
  .plate-page .calp-order-layout { grid-template-columns: 1fr; gap: 25px; }
}
@media (max-width: 640px) {
  .plate-page .calp-hero { padding-bottom: 60px; }
  .plate-page .calp-hero h1 { font-size: clamp(32px, 8.6vw, 40px); }
  .plate-page .calp-hero-photo { max-width: 360px; }
  .plate-page .calp-gallery { padding-block: 70px; }
  .plate-page .calp-features { padding-block: 42px; }
  .plate-page .calp-spec { padding-block: 65px; }
  .plate-page .plate-shapes { padding-block: 60px; }
  .plate-page .calp-pricing { padding-block: 70px; }
  .plate-page .plate-options { padding-block: 55px; }
  .plate-page .calp-order { padding-block: 50px; }
  .plate-page .calp-section-head h2 { font-size: clamp(27px, 7.4vw, 32px); }
  .plate-page .calp-pricing .calp-section-head h2 { font-size: clamp(25px, 6.8vw, 30px); }
  .plate-page .calp-section-head > p:last-child:not(.eyebrow) { font-size: 12px; }
  .plate-page .plate-mii-guide { gap: 12px; }
  .plate-page .plate-mii-guide img { width: 60px; height: 90px; }
  .plate-page .plate-mii-guide p { padding: 11px 13px; }
  .plate-page .plate-mii-guide span { font-size: 11px; }
  .plate-finish-grid { grid-template-columns: 1fr; }
  .plate-finish-grid figcaption { padding: 18px 20px 22px; }
  .plate-page #price .calp-table-wrap,
  .plate-page #price .plate-table-hint,
  .plate-page #plate-dash-note { display: none; }
  .plate-mobile-prices { display: grid; gap: 12px; }
  .plate-mobile-price-guide { margin-bottom: 4px; color: var(--muted); font-size: 12px; line-height: 1.9; }
  .plate-mobile-price-guide strong { display: block; color: var(--blue-deep); font-size: 13px; }
  .plate-mobile-prices details { overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
  .plate-mobile-prices summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 54px; padding: 14px 16px; color: var(--blue-deep); font-size: 14px; font-weight: 800; list-style: none; cursor: pointer; }
  .plate-mobile-prices summary::-webkit-details-marker { display: none; }
  .plate-mobile-prices summary::after { content: '+'; flex: none; font: 700 22px/1 'DM Sans', sans-serif; }
  .plate-mobile-prices details[open] summary { border-bottom: 1px solid var(--line); }
  .plate-mobile-prices details[open] summary::after { content: '−'; }
  .plate-mobile-prices summary:focus-visible { outline: 3px solid var(--blue); outline-offset: -3px; border-radius: 9px; }
  .plate-mobile-prices dl { margin: 0; padding: 4px 16px; }
  .plate-mobile-prices dl > div { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 12px; }
  .plate-mobile-prices dl > div:last-child { border-bottom: 0; }
  .plate-mobile-prices dt { color: var(--muted); white-space: nowrap; }
  .plate-mobile-prices dd { margin: 0; color: var(--blue-deep); font-size: 14px; font-weight: 800; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
  .plate-page .calp-contact .container { padding: 30px 20px; gap: 24px; }
  .plate-page .calp-contact h2 { font-size: clamp(22px, 6vw, 28px); }
  .plate-contact-action { width: 100%; gap: 12px; }
  .plate-contact-action img { width: 52px; height: 78px; }
  .plate-page .plate-contact-action .button { flex: 1 1 auto; width: auto; min-width: 0; gap: 12px; padding-inline: 12px; font-size: 12px; }
}

.plate-install-guide-link { margin-top:24px; }

/* Page-specific Mii-chan pose layouts. */
.plate-page .product-mii img.mii-variation { width:112px; height:auto; object-fit:contain; filter:none; }
.plate-page .product-mii.calp-hero-mii img.mii-variation { width:120px; height:auto; }
.plate-page .product-mii p { min-width:0; }
.plate-page .mii-text-note p::before { display:none; }
@media(max-width:640px) {
 .plate-page .product-mii img.mii-variation,
 .plate-page .product-mii.calp-hero-mii img.mii-variation { width:84px; height:auto; }
}
