/* Cross-page readability and responsive rhythm overrides. Loaded after the
   legacy design layers so one compact rhythm is shared by public pages. */
:root {
  --ui-content-max: 1120px;
  --ui-space-section: clamp(28px, 4vw, 54px);
}

body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.page-home-v45 .site-header:not(.is-scrolled) .nav-group-btn {
  color: #fdfbf4 !important;
  text-shadow: 0 1px 10px rgba(0,0,0,.18);
}
.page-home-v45 .site-header:not(.is-scrolled) .nav-caret { color: rgba(253,251,244,.72) !important; }
.page-home-v45 .site-header.is-scrolled .nav-group-btn { color: #163a33 !important; text-shadow: none; }
.page-home-v45 .site-header.is-scrolled .nav-caret { color: #5b675f !important; }
.page-home-v45 .site-header .nav-group-btn:hover { background: rgba(255,255,255,.10); border-radius: 9px; }

.page-home-v45 .hv-hero h1 {
  font-weight: 760 !important;
  letter-spacing: -.018em !important;
  line-height: 1.18 !important;
}
.page-home-v45 .hv-hero-lead {
  max-width: 680px;
  color: rgba(250,247,238,.94) !important;
  font-weight: 450 !important;
  letter-spacing: .008em !important;
  line-height: 1.7 !important;
}

.page-mypage-v41 .wrap {
  max-width: var(--ui-content-max) !important;
  padding-top: 28px !important;
  padding-bottom: 44px !important;
}
.page-mypage-v41 .wrap > .card {
  padding: 24px !important;
  border-radius: 22px !important;
}
.page-mypage-v41 .title {
  margin-bottom: 6px !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  letter-spacing: -.035em !important;
}
.page-mypage-v41 .desc {
  margin: 0 0 18px !important;
  max-width: 720px;
  font-size: 13px !important;
  line-height: 1.55 !important;
}
.page-mypage-v41 .section-card {
  padding: 18px !important;
  border-radius: 16px !important;
}
.page-mypage-v41 .section-card + .section-card,
.page-mypage-v41 #withdrawSection { margin-top: 16px !important; }
.page-mypage-v41 .section-card h2 { font-size: 17px !important; font-weight: 650 !important; letter-spacing: -.025em !important; }
.page-mypage-v41 .profile-grid { gap: 13px 16px !important; }
.page-mypage-v41 .field { gap: 5px !important; }
.page-mypage-v41 .field span { font-size: 11.5px !important; font-weight: 550 !important; }
.page-mypage-v41 .field input,
.page-mypage-v41 .field select {
  min-height: 40px !important;
  height: 40px !important;
  padding: 0 13px !important;
  border-radius: 9px !important;
  font-size: 13px !important;
}
.page-mypage-v41 .profile-note { margin: 4px 0 12px !important; font-size: 11.5px !important; }
.page-mypage-v41 .profile-actions { margin-top: 14px !important; }
.page-mypage-v41 .profile-actions .btn { min-height: 36px !important; height: 36px !important; padding: 0 13px !important; font-size: 12px !important; }
.page-mypage-v41 #withdrawSection h2 { font-size: 16px !important; margin-bottom: 5px !important; }
.page-mypage-v41 #withdrawSection p { font-size: 11.5px !important; line-height: 1.55 !important; }

/* Shared content pages: keep headings expressive while tightening low-value gaps. */
.page-lookup-v41 .wrap,
.page-recovery-v44 .wrap,
.page-reservation-v42 .wrap,
.page-payment-request .wrap { padding-bottom: 44px !important; }
.page-lookup-v41 .title,
.page-recovery-v44 .title { font-weight: 700 !important; letter-spacing: -.03em !important; }
.page-lookup-v41 .desc,
.page-recovery-v44 .desc { font-size: 13px !important; line-height: 1.6 !important; }

@media (max-width: 880px) {
  .page-home-v45 .hv-hero-content { padding-bottom: 140px !important; }
  .page-home-v45 .hv-hero h1 { font-size: clamp(38px, 10.5vw, 58px) !important; line-height: 1.2 !important; }
  .page-home-v45 .hv-hero-lead { font-size: 16px !important; line-height: 1.65 !important; }
  .page-home-v45 .hv-bar-wrap { bottom: 30px !important; }
}
@media (max-width: 600px) {
  .page-mypage-v41 .wrap { padding: 16px 12px 28px !important; }
  .page-mypage-v41 .wrap > .card { padding: 18px !important; border-radius: 18px !important; }
  .page-mypage-v41 .title { font-size: 26px !important; }
  .page-mypage-v41 .desc { margin-bottom: 14px !important; }
  .page-mypage-v41 .section-card { padding: 15px !important; }
  .page-mypage-v41 .profile-grid { gap: 10px !important; }
  .page-mypage-v41 .field input,
  .page-mypage-v41 .field select { min-height: 38px !important; height: 38px !important; }
  .page-mypage-v41 .profile-actions .btn { width: 100%; }
}
