/* LAM V24 adaptive stabilization — preserve aspect ratio and readable typography */
*,*::before,*::after {box-sizing:border-box}
html {max-width:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body {max-width:100%;overflow-x:clip}
img,svg,canvas,video {max-width:100%}
img {height:auto}
main,section,footer,header {min-width:0}
h1,h2,h3,p,li,a,span {overflow-wrap:break-word}
:where(.section,.lam17-wrap,.terminal-cols,.lam4-contact-grid,.service-grid) > * {min-width:0}
:where(input,textarea,select) {max-width:100%;font-size:16px}
@media (max-width:1100px){
 .lam17-business {grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .lam19-statement {grid-template-columns:1fr!important}
}
@media (max-width:800px){
 .cinema-media{background-color:#030b14!important}
 .cinema-media video.cinema-video,.cinema-media .image-fallback,.cinema-media .poster {object-fit:contain!important;object-position:center center!important}
 .cinema-media .poster,.cinema-media .image-fallback {background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important}
 .cinema-stick{min-height:100svh!important;height:100svh!important;overflow:hidden!important}
 .cinematic-section {max-width:100%!important}
 .cinema-stick .copy-wrap{top:clamp(115px,21svh,215px)!important;width:100%!important;max-width:100%!important;padding-inline:clamp(15px,4vw,30px)!important}
 .cinema-stick .editorial h1{font-size:clamp(26px,6vw,44px)!important;line-height:1.28!important}
 .cinema-stick .editorial p{font-size:clamp(12px,2.9vw,16px)!important;line-height:1.65!important;max-width:90%!important}
 .cinema-stick .bottom-ui{bottom:max(16px,env(safe-area-inset-bottom))!important;max-width:100%!important}
 .section-services>.haidongqing-area{position:relative!important;left:auto!important;right:auto!important;top:auto!important;transform:none!important;width:min(100%,540px)!important;height:clamp(195px,50vw,290px)!important;margin:12px auto!important}
 .lam17-hero{padding-block:clamp(110px,17vw,150px) 52px!important}
 .lam17-content{padding-block:42px 64px!important}
 .lam17-hero .lam17-wrap, .lam17-content .lam17-wrap {padding-inline:clamp(16px,4vw,32px)!important}
 .lam17-hero h1{font-size:clamp(32px,6vw,52px)!important;line-height:1.28!important}
 .lam17-field{padding:18px!important}
}
@media(max-width:600px){
 .lam17-profile,.lam17-business,.lam19-statement{grid-template-columns:minmax(0,1fr)!important}
 .lam19-statement-main,.lam19-statement-side {padding:22px!important}
 .lam17-access-info{padding:24px 20px!important}
 .lam17-access iframe{min-height:320px!important}
 .service-grid{grid-template-columns:minmax(0,1fr)!important}
 .terminal-cols{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .cinema-stick .bottom-ui{gap:8px!important}
}
@media(max-width:380px){
 .terminal-cols{grid-template-columns:1fr!important}
 .cinema-stick .editorial h1{font-size:25px!important}
 .cinema-stick .copy-wrap{top:19svh!important}
}
@media (hover:none) and (pointer:coarse){
 .service-card {touch-action:pan-y}
 .section-services .haidongqing-area{pointer-events:none}
}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 .fx-lightleak,.v6-code-rain{animation:none!important}
}

/* V25 — restore full-height portrait cinematic experience on mobile.
   Keep subject centered without stretching video; portrait crop is intentional. */
@media(max-width:800px) and (orientation:portrait){
 .cinema-stick,.cinema-media {width:100%!important;height:100svh!important;min-height:100svh!important;}
 .cinema-media {position:absolute!important;inset:0!important;overflow:hidden!important;background-color:#030b14!important;}
 .cinema-media video.cinema-video,.cinema-media .cinema-video,
 .cinema-media .image-fallback,.cinema-media .poster,
 .portal-player video{width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;object-fit:cover!important;object-position:center center!important;max-width:none!important;}
 .cinema-media .poster,.cinema-media .image-fallback{background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important;}
 .portal-player{inset:0!important;overflow:hidden!important;}
 .cinema-stick .copy-wrap{max-width:calc(100% - 32px)!important;}
}
@media(max-width:480px) and (orientation:portrait){
 .site-head {gap:8px!important;padding-left:clamp(12px,3.3vw,18px)!important;padding-right:clamp(12px,3.3vw,18px)!important;}
 .site-head .identity{min-width:0!important;flex:0 1 auto!important;}
 .site-head .identity-logo{width:clamp(33px,9vw,45px)!important;height:clamp(33px,9vw,45px)!important;flex-shrink:0!important;}
 .site-head .identity-wordmark{min-width:0!important;}
 .site-head .identity-wordmark strong{font-size:clamp(11px,3vw,14px)!important;white-space:nowrap!important;}
 .site-head .identity-wordmark small{font-size:clamp(6px,1.7vw,8px)!important;letter-spacing:0!important;white-space:nowrap!important;}
 .site-head .header-side{gap:5px!important;flex-shrink:0!important;}
 .site-head .langs{padding-left:5px!important;gap:2px!important;}
 .site-head .langs button{padding:6px 3px!important;}
 .site-head .menu-btn{padding:5px!important;}
}
