/* Final production-flow refinements */
.pantry-photo img{object-position:left center}

.site-footer .footer-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(2rem,7vw,7rem)}
.site-footer .footer-grid>.footer-identity{display:block}
.footer-identity strong{font-size:1rem}
.footer-identity>span{display:block;margin-top:.45rem;color:#BFD1E6;font-size:.78rem;font-weight:750}
.footer-identity address{max-width:680px;margin:1rem 0 0;color:#fff;font-style:normal;line-height:1.65}
.footer-identity p{margin-top:.4rem}
.footer-links{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:.8rem 1.5rem;align-content:start}
.footer-links a{min-height:44px;padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.16)}

.studio-video-section--early{position:relative}
.studio-video-copy .btn{margin-top:1.1rem}
.studio-video-frame video{object-fit:contain}

.calendar-toolbar button:disabled{opacity:.35;cursor:not-allowed}
.calendar-day.PAST{border-color:#D8DEE7;background:#EEF1F4;color:#687486}
.calendar-day.OUT_OF_RANGE{visibility:hidden;pointer-events:none}
.calendar-day.PAST small{color:#687486}
.calendar-legend i.expired{background:#A5AFBC}

.legal-page{background:#fff}
.legal-hero{padding:clamp(4.5rem,8vw,7.5rem) 0;background:var(--vls-ivory)}
.legal-hero h1{max-width:850px;margin:.8rem 0 1.2rem;color:var(--vls-ink);font-family:var(--vls-display-font);font-size:clamp(2.8rem,5.5vw,5.25rem);font-weight:600;line-height:1.02}
[lang="zh"] .legal-hero h1{font-family:var(--vls-zh-display-font);font-weight:900;line-height:1.16}
.legal-hero p{max-width:820px;color:var(--vls-muted);font-size:1.08rem;line-height:1.7}
.legal-hero small{display:block;margin-top:1.4rem;color:var(--vls-blue);font-weight:850}
.legal-content{padding:clamp(3.5rem,7vw,6.5rem) 0}
.legal-content>section{padding:2rem 0;border-bottom:1px solid var(--vls-line)}
.legal-content h2{margin:0 0 1rem;color:var(--vls-ink);font-family:var(--vls-display-font);font-size:clamp(1.55rem,2.5vw,2.2rem);font-weight:650}
[lang="zh"] .legal-content h2{font-family:var(--vls-zh-display-font);font-weight:900}
.legal-content p,.legal-content li{color:#3D4B60;line-height:1.75}
.legal-content ul{display:grid;gap:.65rem;margin:1rem 0 0;padding-left:1.25rem}
.legal-operator{padding:1.5rem!important;border:1px solid var(--vls-line)!important;border-left:4px solid var(--vls-orange)!important;background:var(--vls-sky)}
.legal-operator strong,.legal-operator span,.legal-operator address{display:block}
.legal-operator span{margin-top:.35rem;color:var(--vls-blue);font-weight:750}
.legal-operator address{margin-top:.75rem;color:var(--vls-ink);font-style:normal}
.legal-contact a,.legal-source a{color:var(--vls-blue);font-weight:850}
.legal-source{margin-top:2rem;font-size:.86rem}

.member-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:2rem}
.member-history-panel{padding:1.5rem;border:1px solid var(--vls-line);border-radius:var(--vls-radius);background:#fff;box-shadow:var(--vls-shadow-soft)}
.member-history-panel h2{font-family:var(--vls-display-font);font-size:1.7rem}
[lang="zh"] .member-history-panel h2{font-family:var(--vls-zh-display-font);font-weight:900}
.member-window-note{margin-top:1rem;padding:.85rem 1rem;border-left:4px solid var(--vls-blue);background:var(--vls-sky);color:var(--vls-ink);font-weight:750}

@media(max-width:767.98px){
  .site-footer .footer-grid{grid-template-columns:1fr}
  .footer-links{grid-template-columns:1fr 1fr;margin-top:0!important}
  .member-history-grid{grid-template-columns:1fr}
  .legal-hero{padding:4rem 0}
  .legal-content{padding:3rem 0}
}
