/* Mobile layout and touch sizing shared by all public pages. */
@media (max-width:1023px) {
  .header-auth.desktop-nav { display:none; }
  #mobileDrawer:not(.open) { visibility:hidden; }
  #mobileDrawer.open { visibility:visible; }
  .page-wrap,.right-panel,.login-card,.signup-card,.field,.field-wrap,.field-row { min-width:0; }
  .page-wrap { min-height:100svh; }
  .right-panel { min-height:100svh; justify-content:flex-start; padding:24px 20px 40px; }
  .mobile-top { margin:0 0 24px; padding:0; gap:12px; min-height:48px; }
  .mobile-logo { min-width:0; }
  .mobile-logo img { display:block; width:192px; max-width:100%; height:auto; }
  .mobile-top .home-link,.mobile-top .back-link { min-height:44px; flex-shrink:0; white-space:nowrap; }
  .login-card,.signup-card { width:100%; border-radius:12px; overflow:clip; }
  .card-head { padding:24px; }
  .card-body { padding:24px; }
  .card-title { font-size:26px; line-height:1.35; }
  .card-sub { font-size:14px; line-height:1.65; word-break:keep-all; }
  .field input,.field select,.field textarea { box-sizing:border-box; min-width:0; max-width:100%; font-size:16px; }
  .field-wrap input,.field-wrap select { min-height:48px; padding-right:48px; }
  .field label { font-size:14px; line-height:1.5; }
  .field-hint,#errGlobal,#errMsg { overflow-wrap:anywhere; line-height:1.6; }
  .pw-toggle { width:44px; height:44px; right:2px; padding:10px; }
  .step { min-width:0; }
  .step-label { white-space:nowrap; }
  .step-circle { width:26px; height:26px; }
  .btn-row { gap:12px; }
  .btn-next,.btn-prev,.btn-submit,.submit-btn { min-height:48px; font-size:16px; }
  .btn-next,.btn-submit { min-width:0; }
  .links-row { flex-wrap:wrap; gap:8px 16px; }
  .links-row a,.bottom-links a { display:inline-flex; align-items:center; min-height:44px; }
}
@media (max-width:760px) {
  html { scroll-padding-top:80px; }
  .header-inner { gap:12px; }
  .header-logo { min-width:0; }
  .header-logo img { max-width:calc(100vw - 108px); object-fit:contain; }
  #menuBtn { min-width:44px; min-height:44px; flex-shrink:0; }
  input:not([type=checkbox]):not([type=radio]),select,textarea { font-size:16px!important; }
  .search-input,.search-wrap input { min-width:0; width:100%; }
  .sub-nav-inner { padding-inline:16px; scroll-padding-inline:16px; }
  .sub-nav-link,.sub-tab { flex-shrink:0; }
  .banner-title { font-size:30px; line-height:1.3; word-break:keep-all; }
  .content-sections,.form-map-grid,.form-card,.contact-grid,.membership-grid { min-width:0; }
  .form-card,.contact-card,.join-card { padding:20px; }
  .field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea { width:100%; min-height:48px; }
  .field textarea { min-height:144px; }
  .section-head { flex-wrap:wrap; gap:16px; }
  .footer-inner { min-width:0; }
  .footer-info { overflow-wrap:anywhere; }
  .footer-logos { flex-wrap:wrap; }
  #post,#content,#commentList { min-width:0; overflow-wrap:anywhere; }
  #content img,#content video,#content iframe { max-width:100%; }
  #content { overflow-x:auto; }
}
@media (max-width:640px) {
  .sub-nav-wrap { top:62px; }
  .card-head { padding:22px 20px 18px; }
  .card-body { padding:20px; }
  .field-row { grid-template-columns:minmax(0,1fr); }
  .step-bar { gap:0; }
  .step { gap:6px; font-size:12px; }
  .step-sep { margin-inline:8px; min-width:12px; }
  .gallery-grid { grid-template-columns:minmax(0,1fr); }
  .board-header-right { width:100%; }
  .board-header-right>* { min-width:0; max-width:100%; }
}
@media (max-width:360px) {
  .right-panel { padding-inline:16px; }
  .card-head,.card-body { padding-inline:16px; }
  .mobile-logo img { width:168px; }
  .links-sep { display:none; }
  .links-row { justify-content:space-between; }
}

/* Keep the same brand size when navigating between public pages. */
.header-logo { flex-shrink:0; }
.header-logo img {
  display:block;
  width:auto;
  height:60px;
  max-width:none;
  object-fit:contain;
}
@media (max-width:760px) {
  .header-logo img { height:48px; max-width:calc(100vw - 108px); }
}