/* Readable shared navigation and a quiet, clearly labelled return link. */
.header .gnav a { font-size: 16px; font-weight: 600; }
@media (min-width: 1271px) {
  .header .header-inner { max-width: 1600px; padding-inline: 24px; gap: 20px; }
  .header .gnav { gap: 18px; }
  .header .header-cta-desktop { font-size: 13px; padding-inline: 14px; }
}
@media (max-width: 1270px) {
  .header .gnav a { font-size: 18px; line-height: 1.65; padding-block: 18px; }
}
.jomon-reference-cards .jomon-everyday { object-position: 70% center; }
.jomon-reference-cards .jomon-future { object-position: 63% center; }
html.is-scrolling-to-top { scroll-behavior: auto !important; }
.pagetop {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px;
  width: 58px; height: 58px; text-decoration: none;
  color: var(--red); background: #fffffff5; border: 1px solid currentColor;
  box-shadow: 0 4px 18px #23312b12;
  visibility: hidden; transform: translateY(10px);
  transition: opacity .28s ease, transform .38s cubic-bezier(.22,1,.36,1), box-shadow .28s ease, visibility .28s;
}
.pagetop.show { visibility: visible; transform: translateY(0); }
.pagetop svg { width: 19px; height: 19px; transition: transform .3s cubic-bezier(.22,1,.36,1); }
.pagetop span { font: 600 10px/1.2 var(--font-sans); letter-spacing: 0; }
@media (hover: hover) {
  .pagetop:hover { color: var(--red); transform: translateY(-3px); box-shadow: 0 7px 24px #23312b20; }
  .pagetop:hover svg { transform: translateY(-2px); }
}
.pagetop:focus-visible { outline: 3px solid #ad864b; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  .pagetop, .pagetop svg { transition: none; transform: none; }
}
