/* 1 to 10 — Trip to Japan · breakpoints (load last) */

/* ---------- responsive ---------- */

@media (max-width: 1080px) {
  .tickets { grid-template-columns: 1fr; }
  .gardens__cols { grid-template-columns: 1fr; }
  .table__split, .table__split--flip { grid-template-columns: 1fr; }
  .table__split .ph { position: relative; top: 0; aspect-ratio: 16 / 9; }
  .table__split--flip .ph { order: -1; }
}

@media (max-width: 900px) {
  :root { --topbar-h: 56px; }
  .hero__grid { grid-template-columns: 1fr; }
  .plan__grid, .book__grid, .howto { grid-template-columns: 1fr; }
  .progress { position: relative; top: 0; }
  .days-wrap { padding-left: var(--gutter); }
  .day__main { grid-template-columns: 1fr; }
  .day__media { position: relative; top: 0; }
  .day__media .ph { aspect-ratio: 16 / 10; }
  .day__media .seal { --size: 68px; top: -14px; left: -6px; }
  .dayrail {
    left: 0;
    right: 0;
    top: var(--topbar-h);
    flex-direction: row;
    justify-content: flex-start;
    gap: 6px;
    padding: 8px var(--gutter);
    overflow-x: auto;
    scrollbar-width: none;
    transform: translateY(-8px);
    background: rgba(240, 241, 236, 0.9);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 1px 0 var(--line);
  }
  .dayrail::-webkit-scrollbar { display: none; }
  .dayrail.is-on { transform: none; }
  .dayrail a { width: 40px; height: 40px; flex: none; font-size: 1rem; box-shadow: inset 0 0 0 1px var(--line); }
  .dayrail a:hover { transform: none; }
  .tiles { grid-template-columns: 1fr 1fr; }
  .tile--phrases { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  body { font-size: 1rem; }
  .topnav a { padding: 0 9px; font-size: 0.68rem; }
  .brand span { display: none; }
  .hero__tategaki { display: none; }
  .stats { grid-template-columns: 1fr 1fr; }
  .stampbook { grid-template-columns: 1fr; }
  .notes { grid-template-columns: 1fr; }
  .garden { grid-template-columns: 1fr; }
  .garden .ph { aspect-ratio: 16 / 10; }
  .garden__body { padding: 4px 6px 8px; }
  .counters { grid-template-columns: 1fr; }
  .tiles { grid-template-columns: 1fr; }
  .phrases { grid-template-columns: 1fr; }
  .sec-head { grid-template-columns: 1fr; gap: 14px; }
  .sec-head__jp { writing-mode: horizontal-tb; border-left: 0; padding-left: 0; padding-top: 0; font-size: 1.1rem; letter-spacing: 0.3em; }
  .chapter__kanji { font-size: 3rem; }
  .route__legs strong { font-size: 0.95rem; }
}

@media (max-width: 900px) {
  .day__main { grid-template-columns: minmax(0, 1fr); }
  .chip { white-space: normal; line-height: 1.35; }
}

.ticket__head:has(.seal) { padding-right: 68px; }
@media (max-width: 640px) {
  .topnav .hide-sm { display: none; }
  .topnav { overflow: visible; }
}

@media (max-width: 900px) {
  .hero__img { object-position: 50% 22%; }
  .hero__shade {
    background:
      linear-gradient(to top, rgba(17, 26, 49, 0.95) 0%, rgba(17, 26, 49, 0.78) 45%, rgba(17, 26, 49, 0.55) 75%, rgba(17, 26, 49, 0.45) 100%);
  }
}

@media (max-width: 640px) {
  .dayrail { gap: 3px; justify-content: space-between; overflow: hidden; }
  .dayrail a { width: 31px; height: 40px; border-radius: 9px; font-size: 0.95rem; }
}
