/* Home defines the shared stage height and navigation baseline. */
.site-frame{
 --site-gutter:clamp(24px,4vw,80px);
 --site-gap:36px;
 --scene-width:min(calc((100vw - 2 * var(--site-gutter)) * .75),1080px,calc((100svh - 176px) * 4 / 3));
 --site-stage-height:min(calc((100vw - 2 * var(--site-gutter)) * .421875),607.5px,calc((100svh - 176px) * .75));
 box-sizing:border-box;width:100%;max-width:none;height:100svh;min-height:0;
 margin:0;padding:32px var(--site-gutter);display:grid;
 grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,var(--site-stage-height)) 44px;
 align-content:center;justify-items:center;gap:var(--site-gap);
}
.site-frame>.site-stage{width:min(100%,880px);height:100%;min-height:0;min-width:0;margin:0;padding:0}
.home-page .site-frame>.site-stage{width:var(--scene-width);display:grid;place-items:center}
.site-frame>.site-footer{width:100%;height:44px;min-height:44px;margin:0;padding:0;display:flex;justify-content:center;align-items:center}
.site-frame .footer-navigation{flex-wrap:nowrap;justify-content:center;gap:28px}
.site-frame .footer-navigation a{font-size:.875rem;min-height:44px}

/* Small screens keep a useful reading area above the same navigation row. */
@media(max-width:950px){
 .site-frame{--site-stage-height:min(560px,calc(100svh - 160px))}
}
@media(max-width:639px){
 .site-frame{--site-gutter:24px;--site-gap:24px;--site-stage-height:min(560px,calc(100svh - 140px));--scene-width:min(calc(100vw - 48px),calc((100svh - 140px) * 4 / 3));padding:24px max(24px,env(safe-area-inset-right)) 24px max(24px,env(safe-area-inset-left))}
 .site-frame .footer-navigation{gap:24px}
}
/* Keep the same navigation baseline when a phone turns sideways. */
@media(max-width:950px) and (max-height:500px){
 .site-frame{--site-stage-height:calc(100svh - 112px);--site-gap:12px;padding:16px max(24px,env(safe-area-inset-right)) 16px max(24px,env(safe-area-inset-left))}
}
.site-frame .footer-navigation a{min-width:44px;justify-content:center}
