/* Fit the invitation to the browser's usable height, including its footer.
   Intrinsic grid minimums retain scrolling when zoom/text needs more room. */
@media (min-width:701px) {
 .home-mode .home-wrap {
  height:100%;min-height:0;max-width:1680px;
  display:grid;grid-template-rows:minmax(min-content,1fr) auto auto;
  gap:clamp(8px,1.5dvh,18px);
  padding:clamp(12px,2dvh,24px) clamp(18px,3vw,48px) 12px;
 }
 .home-mode .home-hero {
  min-height:0;grid-template-columns:45% 55%;grid-template-rows:1fr auto;
  overflow:visible;
 }
 .home-mode .home-hero::before {inset:0 0 30px}
 .home-mode .home-copy {
  min-width:0;align-self:center;
  padding:clamp(16px,2.8dvh,36px) 0 clamp(16px,2.8dvh,36px) clamp(22px,3vw,44px);
 }
 .home-mode .home-kicker {font-size:clamp(11px,1.6dvh,13px);letter-spacing:1px}
 .home-mode .home-copy h1 {
  font-size:clamp(32px,min(4vw,6dvh),66px);line-height:1.05;
  margin:clamp(10px,1.8dvh,22px) -20px clamp(10px,1.8dvh,22px) 0;
 }
 .home-mode .home-intro {
  font-size:clamp(13px,1.9dvh,16px);line-height:1.45;max-width:420px;
  margin:0 0 clamp(12px,2dvh,22px);
 }
 .home-mode .home-actions {
  max-width:420px;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;
 }
 .home-mode .home-play {grid-column:1/-1;min-height:46px;padding:10px 16px;font-size:clamp(19px,2.6dvh,23px)}
 .home-mode #home-return {grid-column:1/-1;font-size:12px;line-height:1.4}
 .home-mode .home-solo,.home-mode .home-guide {min-height:32px;font-size:14px;padding:5px 0;line-height:1.4}
 .home-mode .home-solo {justify-content:flex-start;gap:10px}
 .home-mode .home-guide {white-space:nowrap}
 .home-mode .home-access {max-width:420px;font-size:12px;line-height:1.45;margin-top:6px}
 .home-mode .home-art {min-height:0;height:auto;margin:0 0 0 -12%;overflow:hidden}
 .home-mode .home-art>img {object-position:center center}
 .home-mode .home-scene-tag {font-size:10px;right:12px;top:12px;padding:6px 8px}
 .home-mode .home-marquee {position:relative;grid-column:1/-1;padding:7px 10px;font-size:11px;min-height:30px}
 .home-mode .home-discover {margin:0}
 .home-mode .home-chapters {gap:24px}
 .home-mode .home-chapters button {min-height:38px;padding:8px 0;font-size:clamp(17px,2.5dvh,22px);line-height:1.2}
 .home-mode .home-story {min-height:0;padding:0 0 9px;gap:24px}
 .home-mode .home-story p {font-size:clamp(13px,1.9dvh,16px);line-height:1.4;max-width:900px}
 .home-mode .home-story small {font-size:12px;line-height:1.4;flex-basis:28%;max-width:330px}
 .home-mode .home-footer {padding:0;min-height:28px;gap:12px;font-size:12px}
 .home-mode .home-footer nav {flex-wrap:wrap;gap:8px 18px}
 .home-mode .home-footer a,.home-mode .home-footer button {font-size:12px}
 .home-mode .home-footer button {padding:5px 0;white-space:nowrap}
}
@media (min-width:701px) and (max-height:700px) {
 .home-mode .home-wrap {gap:8px;padding-block:10px}
 .home-mode .home-copy {padding-block:16px}
 .home-mode .home-copy h1 {font-size:clamp(30px,3.3vw,40px);margin-block:10px}
 .home-mode .home-intro {font-size:13px;margin-bottom:12px}
 .home-mode .home-marquee {display:none}
 .home-mode .home-hero::before {bottom:0}
 .home-mode .home-scene-tag {font-size:9px}
 .home-mode .home-chapters button {font-size:17px}
 .home-mode .home-story p {font-size:13px}
 .home-mode .home-footer>span {display:none}
}
@media (min-width:701px) and (max-width:1100px) {
 .home-mode .home-wrap {padding-inline:18px}
 .home-mode .home-hero {grid-template-columns:49% 51%}
 .home-mode .home-copy h1 {font-size:clamp(30px,min(4vw,5.7dvh),44px);margin-right:0}
 .home-mode .home-copy {padding-left:22px;padding-right:8px}
 .home-mode .home-scene-tag {max-width:180px;text-align:right;line-height:1.3}
 .home-mode .home-actions {gap:6px 12px}
 .home-mode .home-solo,.home-mode .home-guide {font-size:13px}
 .home-mode .home-footer>span {display:none}
}
@media (max-width:700px) {
 .home-mode .home-art {height:clamp(180px,30dvh,260px);min-height:180px}
 .home-mode .home-footer nav {flex-wrap:wrap}
}
