/* V84: phone orientation gate. Desktop and landscape layout remain original V82. */
#phone-rotate-gate { display:none; }
@media screen and (orientation:portrait) and (max-width: 950px) and (pointer:coarse) {
  html,body { min-height:100% !important; }
  #phone-rotate-gate {
    display:flex !important; position:fixed !important; inset:0 !important;
    z-index:2147483647 !important; background:#071018 !important;
    color:#fff !important; align-items:center !important; justify-content:center !important;
    padding:28px !important; box-sizing:border-box !important; overflow:auto !important;
    font-family:Arial,Helvetica,sans-serif !important; text-align:center !important;
  }
  #phone-rotate-gate .rotate-inner {max-width:380px; width:100%; margin:auto;}
  #phone-rotate-gate .rotate-phone {font-size:72px; line-height:1.1; margin-bottom:22px; animation:phone-turn 2.8s ease-in-out infinite; display:inline-block; transform-origin:center;}
  #phone-rotate-gate h1 {font-size:clamp(23px,6vw,32px); line-height:1.2; margin:0 0 14px; color:#fff;}
  #phone-rotate-gate p {font-size:clamp(15px,4vw,19px); line-height:1.5; margin:0; color:#d7e2eb;}
  #phone-rotate-gate .rotate-brand {font-size:13px; letter-spacing:2px; text-transform:uppercase; color:#8fa9b9; margin-top:32px;}
  @keyframes phone-turn {0%,20%,100%{transform:rotate(0deg)}50%,75%{transform:rotate(90deg)}}
}
@media (prefers-reduced-motion:reduce) { #phone-rotate-gate .rotate-phone {animation:none !important;transform:rotate(90deg)} }

/* V85 landscape-phone full-viewport fit: keep artwork and clickable hotspots together. */
@media screen and (orientation:landscape) and (max-width:1100px) and (max-height:650px) and (pointer:coarse) {
  html, body[data-screen-fit="image"] { width:100% !important; height:100% !important; overflow:hidden !important; }
  body[data-screen-fit="image"] > .image-page,
  body[data-screen-fit="image"] > .image-page.home-fit { width:100vw !important; height:100dvh !important; min-height:0 !important; overflow:hidden !important; align-items:center !important; justify-content:center !important; }
  body[data-screen-fit="image"] .image-page .canvas,
  body[data-screen-fit="image"] .image-page.home-fit .canvas { width:100vw !important; height:100dvh !important; max-width:none !important; aspect-ratio:auto !important; flex:0 0 auto !important; }
  body[data-screen-fit="image"] .image-page .canvas > img,
  body[data-screen-fit="image"] .image-page.home-fit .canvas > img { width:100% !important; height:100% !important; object-fit:fill !important; }
}
