/* Desktop composition only. Mobile keeps its own canvas, media and settings. */
@media (min-width: 768px) {
  body.top-page { background: #f3ede5; }
  .top-page .hero { width: min(1180px, 100%); left: 50%; translate: -50% 0; }
  .top-page .hero-media-wrap { width: 44%; height: 76%; overflow: hidden; border-radius: 3px; }
  .top-page .hero-media { object-fit: cover; object-position: center; }
  .top-page .hero-label { width: 43%; padding: 0; }
  .top-page .hero-catch-heading { font-size: clamp(48px, 6.2vw, 78px); font-weight: 400; line-height: 1.05; color: #70462e; letter-spacing: -.035em; }
  .top-page .hero-catch-sub { font: 400 clamp(17px, 1.8vw, 23px)/1.9 var(--font-heading); color: #78563f; }
  body.top-page #header:not(.scrolled) .monoeins-logo-art { filter: none; }
  .top-page #header .header-nav a { color: #594638; font-size: 16px; }
  .top-page .header-inner { max-width: 1120px; }
  .top-page .section { padding-left: 48px; padding-right: 48px; scroll-margin-top: 100px; }
  .top-page .section-inner { max-width: 1040px; }
  .top-page .section-pin { display: none; }
  .top-page .section-island { padding-top: 32px; padding-bottom: 32px; }
  /* PC only: retain the section gaps, without wood artwork or review content. */
  .top-page .section-island::before,
  .top-page .lineup-bottom-edge-img,
  .top-page .lineup-top-edge-space,
  .top-page .edge-upload-area,
  .top-page .edge-position-panel,
  .top-page #reviews,
  .top-page #reviews-modal { display: none !important; }
  .top-page .lineup-bottom-gap { height: 130px; }
  .top-page .scene-label { min-width: 0; }
  .top-page .scene-label-title { width: 45% !important; }
  .top-page #scenes-grid [data-label-id="title"],
  .top-page #scenes-grid [data-label-id="puzzle-desc"] { text-align: left; }
  .top-page #scenes-grid .lineup-title-script { font: 500 clamp(21px, 2.3vw, 28px)/1.6 var(--font-heading); color: var(--color-terracotta); }
  .top-page #scenes-grid .scene-subtitle { font-size: clamp(14px, 1.35vw, 17px); line-height: 2.1; }
  .top-page #fonts .scene-title-ja,
  .top-page #fonts .scene-title-5 { font-size: clamp(18px, 1.8vw, 23px); }
  .top-page #fonts [data-label-id="puzzle-ja"] .scene-title-ja { font-size: clamp(24px, 2.5vw, 30px); }
  .top-page #fonts .scene-subtitle,
  .top-page #fonts .scene-custom-description { font-size: clamp(12px, 1.3vw, 15px); line-height: 1.9; }
  .top-page #fonts .scene-custom-title { font-size: clamp(20px, 2vw, 25px); line-height: 1.8; color: #74533f; }
  .top-page .kodawari-title-en { font: 500 clamp(22px, 2.2vw, 28px)/1.7 var(--font-heading); }
  .top-page #kodawari [data-label-id="title-en"] { text-align: left; }
  .top-page .kodawari-item-title { font-size: clamp(20px, 2vw, 25px); color: var(--color-terracotta); }
  .top-page .kodawari-item-text { min-width: 0; font-size: clamp(13px, 1.3vw, 16px); line-height: 2; }
  .top-page #reviews .section-heading { justify-content: flex-start; font-size: 27px; }
  .top-page #reviews .reviews-empty { font-size: 14px; text-align: left; }
  .top-page #reviews .reviews-open-form-btn { font-size: 13px; }
  .top-page #products .section-label { font: 500 28px/1.5 var(--font-heading); letter-spacing: .08em; }
  .top-page .product-configurable { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 40px; padding: 28px; border: 1px solid #e5dbd2; border-radius: 12px; background: #fff; }
  .top-page .product-configurable .product-gallery { grid-column: 1; grid-row: 1; min-width: 0; }
  .top-page .product-configurable .product-gallery .product-image { height: 300px; object-fit: contain; }
  .top-page .product-configurable .product-info { grid-column: 1; grid-row: 2; padding: 18px 4px 0; gap: 14px 10px; }
  .top-page .product-configurable .product-name { font-size: 28px; }
  .top-page .product-configurable .product-price { font-size: 23px; }
  .top-page .product-configurable .product-specs { gap: 8px 24px; }
  .top-page .product-configurable .product-specs span { font-size: 13px; }
  .top-page .product-configurable > .engraving-form { grid-column: 2; grid-row: 1 / 3; align-self: center; min-width: 0; margin: 0; border-left: 1px solid #eee5dc; padding-left: 30px; }
  .top-page .engraving-ring { padding: 16px; margin-bottom: 16px; }
  .top-page .engraving-fields { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 10px; }
  .top-page .engraving-fields label { font-size: 12px; }
  .top-page .engraving-fields input, .top-page .engraving-fields select { height: 44px; }
  .top-page .engraving-preview-row { margin-top: 12px; }
  .top-page .engraving-preview { min-height: 48px; }
  .top-page .product-configurable .engraving-order { margin-top: 24px; min-height: 50px; }
  .top-page .footer-inner { max-width: 1040px; flex-wrap: wrap; gap: 32px 48px; }
  .top-page .footer-logo { font-size: 28px; }
  .top-page .footer-tagline,
  .top-page .footer-business-info p,
  .top-page .footer-business-info h4,
  .top-page .footer-links-group h4,
  .top-page .footer-links-group a { font-size: 16px; }
  /* The attribution has an old inline 11px size; enlarge it on the PC too. */
  .top-page .footer-bottom p { font-size: 13px !important; }
  @media (max-width: 1000px) {
    .top-page .section { padding-left: 32px; padding-right: 32px; }
    .top-page .product-configurable { column-gap: 20px; padding: 20px; }
    .top-page .product-configurable > .engraving-form { padding-left: 18px; }
    .top-page .engraving-ring { padding: 10px; }
    .top-page .engraving-fields { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 6px; }
    .top-page .engraving-fields label { font-size: 10px; }
    .top-page .product-configurable .product-name { font-size: 24px; }
    .top-page .product-configurable .product-price { font-size: 20px; }
  }
}
