/* Shared control spacing and mobile touch layouts; preserve the existing visual design. */
html{-webkit-text-size-adjust:100%;scroll-padding-top:110px}
:root{--action-gap:12px}
body :is(.hero-actions,.reader-actions,.execution-tabs,.scene-controls,.market-switch,.journey-controls,.object-controls,.question-actions>div,.trade-tabs,.tabs){gap:var(--action-gap)}
.tabs button{margin-right:0}
.trade-tabs button+button{border-left:0}
.questionnaire-main{padding-top:140px}
a.portal-action{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:52px;padding:14px 22px;line-height:1.4;text-align:center;text-decoration:none}
.portal-shell>*{min-width:0}
:is(.portal-note,.portal-status,.save-state,#contact-status){overflow-wrap:anywhere}
.trade-scene svg.terminal-icon{display:inline-block;width:1em;height:1em;margin:0;vertical-align:-.1em;flex-shrink:0}
.live-glass-ready .glass-touch{right:0}
@media(max-width:800px){
  html:has(.hero){background:#201e1b url('assets/rock-4k.webp') center top/cover no-repeat}
  body:has(.hero){background:transparent}
  header,header.scrolled{top:calc(env(safe-area-inset-top,0px) + 10px);left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));width:auto;max-width:none;min-height:60px;padding:0 16px;transform:none}
  header .logo,header.scrolled .logo{width:170px;max-width:calc(100vw - 140px);height:auto}
  header .menu{min-width:52px;min-height:44px;padding:10px}
  header nav,header.scrolled nav{top:calc(100% + 8px);max-height:calc(100dvh - env(safe-area-inset-top,0px) - 110px);overflow-y:auto;overscroll-behavior:contain;border-radius:18px;padding:18px}
  header nav,header.scrolled nav{gap:8px}
  header nav a{display:flex;align-items:center;min-height:44px;font-size:14px}
  .hero{height:max(840px,105svh);min-height:840px;max-height:1000px}
  .hero .hero-copy{padding-top:calc(132px + env(safe-area-inset-top,0px))}
  .hero .hero-copy h1{font-size:clamp(48px,12.5vw,72px);line-height:1.04}
  .hero .hero-copy p{font-size:16px;line-height:1.65}
  .hero .live-glass::before{inset:76% 0 0}
  .hero .hero-bottom{bottom:max(26px,env(safe-area-inset-bottom,0px))}
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}
  :is(button,.button,.nav-account,.nav-login){min-height:44px;touch-action:manipulation}
  :is(.contact-body,.inquiry,.portal-panel,.document-viewer,.document-layout)>*{min-width:0}
  :is(p,a,dd,small){overflow-wrap:break-word}
  :is(.portal-form,.question-form,.inquiry) label{font-size:13px}
  :is(.portal-note,.form-note,.question-nav small,#contact-status){font-size:12px;line-height:1.7}
  .portal-intro{min-height:0;gap:22px}
  .portal-intro h1{max-width:14ch;font-size:clamp(36px,10vw,48px);line-height:1.05}
  .portal-intro p{font-size:14px;line-height:1.75}
  .portal-panel .portal-action{width:100%}
  .questionnaire-main{padding-top:120px}
  .questionnaire-head{gap:20px}
  .question-nav{padding:20px}
  .question-nav li{min-height:36px;font-size:12px}
  .document-nav a{min-height:44px;font-size:13px;line-height:1.5}
  .reader-actions a{justify-content:center;min-height:44px;font-size:13px}
  .question-actions>div{flex-wrap:wrap}
  .question-actions button{min-width:100px;flex:1 1 100px}
  .support-card p{font-size:14px}
  .faq summary{min-height:52px}
  footer{padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}
}

