/* Readability and responsive refinement; scrapbook illustrations remain original. */
body.page-inner { padding: 0; }
body .site-nav.site-nav--desk {
  max-width: 1060px; padding: 18px 24px; gap: 12px 24px;
}
body .site-nav.site-nav--desk .nav-links { gap: 8px; }
body .site-nav.site-nav--desk .nav-links a {
  display: flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 8px 14px;
  font-family: "Jost", system-ui, sans-serif !important;
  font-size: 16px !important; font-weight: 500;
  text-transform: none; letter-spacing: 0; line-height: 1.3;
  color: #352a20; transform: none;
}
body .site-nav .nav-links a[aria-current="page"] {
  outline: 2px solid #58705a; outline-offset: 2px;
}
body :is(a,button,summary,input,select,textarea,[role="link"]):focus-visible {
  outline: 3px solid #315f70; outline-offset: 4px;
}
body.page-inner :is(.pet-kind,.pet-trait,.pet-call-as__card):has(input:focus-visible) {
  outline: 3px solid #315f70; outline-offset: 4px;
}
.page-home #top { padding-top: 24px; }
.page-home .hero-grid { grid-template-columns: minmax(0, 1fr) 240px; }
.page-home .hero-text { min-width: 0; }
.page-home .journal-title { line-height: 1.12; margin-bottom: 20px; text-wrap: balance; }
.page-home .journal-welcome { font-size: 26px !important; }
.page-home .hero-lead {
  font-size: 18px; font-weight: 400; line-height: 1.65; color: #514333;
}
.page-home .jt-blue { color: #a84f30; }
.page-home .jt-green { color: #416e4f; }
.page-home .jt-orange { color: #aa531b; }
.page-home .btn-tape {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 10px 22px; line-height: 1.2;
}
.page-home .btn-tape--coral { background: linear-gradient(180deg, #b95f3a, #a34d2b); color: #fff; }
.page-home .polaroids-row { grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 600px; }
.page-home .scrapbook-cards { align-items: stretch; }
.page-home .gcard { display: flex; flex-direction: column; }
.page-home .gcard .card-link { margin-top: auto; padding-top: 12px; color: #954525; }
.page-home .map-top { padding: 32px 12px; scroll-margin-top: 24px; text-align: center; }
.page-home .map-top__soon { font-family: "Jost",system-ui,sans-serif; font-size: 17px !important; }
.page-home :is(.hero-lead,.stat-desc,.card-text,.step-text,.author-bio) { font-weight: 400; color: #514333; }
.page-home .author-role { color: #66513c; }
.page-home .site-footer p { color: #514333 !important; text-shadow: none; }
.page-home .reveal { opacity: 1; transform: none; }
body.page-inner :is(.lead,.hint,.story,.error,.pet-help p,.pet-auth__hint,.pet-empty,.pet-sub,.pet-day,.pet-xp,.pet-note,.pet-quest,.pet-bubble,.pet-user-bar,.pet-gate-meta,.pet-memory ul,.pet-forgot summary,.pet-stat__label,.pet-stat__num) {
  font-family: "Jost", system-ui, sans-serif !important;
  font-size: 17px !important; font-weight: 400; line-height: 1.65;
}
body.page-inner :is(label,legend,input,textarea,select) {
  font-family: "Jost",system-ui,sans-serif !important; font-size: 17px !important;
}
body.page-inner .pet-chat__form input[type="text"] { font-size: 17px !important; min-width: 0; }
body.page-inner :is(.hint,.pet-auth__hint,.pet-sub,.pet-day,.pet-xp) { color: #465861; font-size: 15px !important; }
body.page-inner .story { font-size: 19px !important; line-height: 1.8; overflow-wrap: anywhere; }
body.page-inner :is(input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),select) { min-height: 48px; }
body.page-inner textarea { line-height: 1.6; }
body.page-inner :is(.btn-north,.btn-primary) { min-height: 48px; background: #356d7c; color: #fff; }
body.page-inner :is(.btn-north,.btn-primary):hover { background: #285865; }
body.page-inner .inner-card { padding: clamp(24px,4vw,40px); }
body.page-inner .pet-stat { grid-template-columns: 100px minmax(0,1fr) 36px; }
.page-home .hero-capy .capy-frame { max-width: 100%; width: 240px; height: 260px; }
@media (max-width: 680px) {
  body .site-nav.site-nav--desk { padding: 16px; gap: 10px; }
  body .site-nav.site-nav--desk .nav-links { width: 100%; display: flex; flex-wrap: wrap; gap: 7px; }
  body .site-nav.site-nav--desk .nav-links a { padding: 8px 11px; font-size: 15px !important; }
  .page-home .desk-page { padding-inline: 16px; }
  .page-home #top { padding-top: 16px; }
  .page-home .sheet--hero { padding: 26px 22px; }
  .page-home .hero-grid { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .page-home .hero-capy { order: 0; display: flex; align-items: center; justify-content: center; gap: 10px; }
  .page-home .hero-capy .speech-bubble { width: 160px; max-width: 58%; margin: 0; font-size: 21px !important; }
  .page-home .hero-capy .capy-frame { width: 105px; height: 120px; min-height: 0; }
  .page-home .hero-capy .capy-img { width: 100px; height: auto; }
  .page-home .journal-title { font-size: 42px !important; }
  .page-home .hero-lead { font-size: 17px; }
  .page-home .hero-actions { gap: 10px; }
  .page-home .hero-actions .btn-tape { flex: 1 1 130px; font-size: 22px !important; padding: 10px 12px; }
  .page-home .polaroids-row { gap: 16px; max-width: 100%; }
  .page-home .pola { padding: 8px 8px 36px; }
  .page-home .pola__cap { font-size: 21px !important; }
  .page-home .facts-section { padding-inline: 0; }
  .page-home .facts-grid { grid-template-columns: 1fr; }
  body.page-inner main.page-inner { padding: 8px 16px 40px; }
  body.page-inner .inner-card { margin-top: 10px; padding: 24px 20px; }
  body.page-inner .pet-stat { grid-template-columns: 90px minmax(0,1fr) 32px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
@media print { body.page-inner .story { font-size: 13pt !important; } }

/* Keep the first action visible immediately; decorative keeper must not cover forms. */
.page-home .hero-text { animation: none; }
body.page-inner :is(label,legend) { color: #465861; font-weight: 400; }
@media (max-width: 680px) {
  body.page-inner .desk-keeper { display: none; }
}

/* Map content remains reachable in landscape and with enlarged text. */
body:has(.map-lightbox[open]) { overflow: hidden; }
.page-home .map-lightbox[open] {
  display: block; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain;
}
.page-home .map-lightbox__stage {
  width: min(100%, 960px); max-height: none; min-height: 100%;
  margin: 0 auto; padding: 72px 24px 32px; gap: 20px;
  animation: none;
}
.page-home .map-lightbox__stage > * { flex-shrink: 0; }
.page-home .map-lightbox__frame { width: min(100%, 460px); transform: none; }
.page-home .map-lightbox__frame img { width: 100%; height: auto; max-width: 100%; max-height: none; }
.page-home .map-pin-card { width: min(100%, 460px); max-width: 100%; box-sizing: border-box; padding: 20px 24px; }
.page-home .map-pin-card__text {
  font-family: "Jost", system-ui, sans-serif !important;
  font-size: 1.0625rem !important; line-height: 1.65; color: #45372c;
}
.page-home .map-lightbox__hint,
.page-home .map-lightbox__more { font-family: "Jost", system-ui, sans-serif; font-size: 1.0625rem !important; line-height: 1.5; color: #fff8ee; }
.page-home .map-lightbox__more { display: inline-flex; align-items: center; min-height: 44px; }
.page-home .map-lightbox__close { width: 48px; height: 48px; background: #344f59; z-index: 5; }
.page-home .map-pin { width: 44px !important; height: 44px !important; }
.page-home .map-pin::before { inset: 0; }
.page-home .map-pin:focus-visible { outline-color: #fff; }
.page-home .map-pin.is-active { z-index: 3; }
.page-home .map-pin::after { font-family: "Jost", system-ui, sans-serif; font-size: 14px; }
.page-home .map-pin-card[hidden] { display: none; }
.page-home :is(.random-fact-detail,.random-fact-text) { font-family: "Jost",system-ui,sans-serif !important; line-height: 1.65; }
.page-home .random-fact-detail { font-size: 1.0625rem !important; }
.page-home .site-feedback-form .btn-primary { min-height: 48px; font-size: 1.125rem; }
body button:disabled { cursor: wait; opacity: .65; }
body .form-status { font-family: "Jost",system-ui,sans-serif; font-size: 1rem; line-height: 1.5; color: #465861; }
body .form-status[hidden] { display: none; }
body.page-inner .radio-row { min-height: 44px; align-items: center; cursor: pointer; }
@media (min-width: 700px) {
  .page-home .map-lightbox__stage {
    display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr);
    align-content: center; align-items: center; column-gap: 32px;
  }
  .page-home .map-lightbox__title { grid-column: 1 / -1; }
  .page-home .map-lightbox__frame { grid-column: 1; grid-row: 2 / 4; }
  .page-home :is(.map-pin-card,.map-lightbox__hint) { grid-column: 2; grid-row: 2; align-self: end; }
  .page-home .map-lightbox__more { grid-column: 2; grid-row: 3; align-self: start; }
}
@media (max-width: 480px) {
  body .site-nav.site-nav--desk .nav-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  body .site-nav.site-nav--desk .nav-links li { min-width: 0; }
  body .site-nav.site-nav--desk .nav-links a { padding-inline: 6px; }
  .page-home .map-lightbox__stage { padding: 72px 20px 28px; }
  .page-home .map-lightbox__title { font-size: 2.125rem !important; }
  .page-home .map-pin::after { display: none; }
}
