/* Keep the cinematic content inside the space between header and controls. */
html { scrollbar-width:none; }
html::-webkit-scrollbar, body::-webkit-scrollbar { width:0; height:0; }
body { -ms-overflow-style:none; }
/* Keep desktop scrolling discoverable without competing with the artwork. */
@media (min-width:601px) {
 html { scrollbar-width:thin; scrollbar-color:#527168 #141d27; }
 body { -ms-overflow-style:auto; }
 html::-webkit-scrollbar, body::-webkit-scrollbar { width:8px; height:8px; }
 html::-webkit-scrollbar-track, body::-webkit-scrollbar-track { background:#141d27; }
 html::-webkit-scrollbar-thumb, body::-webkit-scrollbar-thumb {
  background:#527168; border:2px solid #141d27; border-radius:10px;
 }
 html::-webkit-scrollbar-thumb:hover, body::-webkit-scrollbar-thumb:hover { background:#06c167; }
}
.stage .panel h1,.stage .panel h2,.portfolio-gallery h2,.portfolio-end h2 { font-size:clamp(30px,min(3.5vw,5.5svh),60px)!important; line-height:1.04; margin-bottom:18px; }
.panel.viewport-compact .eyebrow { margin-bottom:12px; }
.panel.viewport-compact .bodycopy { margin-bottom:14px; }
.panel.viewport-compact .services { margin-bottom:12px; }
.panel.viewport-compact .services>span { padding-block:6px; }
.panel.viewport-compact .contact-details { gap:9px; }
.panel.viewport-compact .hosting-related { margin-top:12px; }
.panel.viewport-compact .replay { padding-block:10px; }
.panel.viewport-compact h1,.panel.viewport-compact h2 { margin-bottom:16px; }
.panel.viewport-overflow { overflow-y:auto; overscroll-behavior:contain; scrollbar-width:none; padding-right:8px; }
.panel.viewport-overflow::-webkit-scrollbar { width:0; }
@media(max-width:600px) { :root { --site-header-height:70px; } .stage .panel h1,.stage .panel h2,.portfolio-gallery h2,.portfolio-end h2 { font-size:clamp(26px,7.5vw,36px)!important; } }
@media(max-width:600px) { .mascot-note { visibility:hidden!important; } }
