/* BASALTO — mobile/performance hardening. Keep after style.css + responsive.css. */
:root{--tap:44px}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{min-width:320px;min-height:100dvh}
img[width][height]{height:auto}
.brand-logo{display:block;width:min(320px,68vw);height:auto}
.site-footer .brand-logo{width:min(300px,72vw)}
button,a,input,select,textarea{touch-action:manipulation}
button,.button,.text-button,.nav-logout,.footer-logout,.menu-toggle,.table-action{min-height:var(--tap)}
input,select,textarea{font-size:16px}
main>section:not(:first-child),.privacy-body,.rule-section,.member-section,.member-club-note{content-visibility:auto;contain-intrinsic-size:1px 700px}
.art-frame,.dining-image,.member-photo,.event-photo{contain:layout paint}
.hero-art img,.dining-image img,.member-photo img,.event-photo img{object-fit:cover}
.founder-table-wrap,.participants-table-wrap,.table-wrap,.rules-sidebar nav{scrollbar-gutter:stable}
.dialog-shell{scrollbar-gutter:stable both-edges}
#member-photo-preview-wrap{margin-top:14px;max-width:220px}
#member-photo-preview{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid rgba(195,165,129,.45)}
#member-photo-admin-preview-wrap{margin-top:14px;max-width:180px}
#member-photo-admin-preview{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid rgba(195,165,129,.45)}
[hidden]{display:none!important}
@media (max-width:960px){
  .site-header{position:sticky;top:0;z-index:100;background:var(--bg)}
  .main-nav{max-height:calc(100dvh - 72px);overflow:auto;overscroll-behavior:contain}
  .brand-logo{width:min(270px,62vw)}
}
@media (max-width:760px){
  body{line-height:1.58}
  .container{max-width:100%}
  .hero,.experience-grid,.guest-hero-grid,.guest-columns,.application-layout,.rules-layout,.club-note-grid,.member-kpi-grid,.member-section-head{gap:1.5rem}
  .hero-copy,.application-intro,.application-panel,.guest-copy,.premium-copy{min-width:0}
  .hero-copy h1,.page-heading h1,.application-intro h1,.guest-hero h1,.member-welcome h1,.founder-heading h1{hyphens:none;overflow-wrap:normal;word-break:normal}
  .button,.button-small{justify-content:center;text-align:center}
  .main-nav a,.main-nav button{width:100%}
  .site-footer nav{display:flex;flex-wrap:wrap;gap:.75rem 1rem}
  .application-panel fieldset{min-inline-size:0}
  .check-label{align-items:flex-start}
  .check-label input{flex:0 0 auto;margin-top:.25rem}
  .founder-table-wrap,.participants-table-wrap,.table-wrap{margin-inline:-.75rem;padding-inline:.75rem}
  dialog{max-width:100%;max-height:100dvh}
}
@media (max-width:520px){
  .brand-logo{width:min(235px,62vw)}
  .site-footer .brand-logo{width:min(240px,70vw)}
  .header-inner{gap:.75rem}
  .hero{padding-top:1.5rem}
  .hero-actions,.review-actions,.dialog-actions>div,.quick-actions{display:grid;grid-template-columns:1fr}
  .hero-actions>*{width:100%}
  .footer-bottom{gap:.5rem}
  .application-facts{grid-template-columns:1fr!important}
  .status-flags{grid-template-columns:1fr!important}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
