/* Mobile layout: loaded globally, selectors outrank page-specific styles. */
@media (max-width:1023.98px){
 html{scroll-padding-top:calc(var(--syo-header-height) + 16px);-webkit-text-size-adjust:100%}
 body{overflow-wrap:break-word}
 body #intro,body .cur{display:none!important}
 body.locked:not(.syo-menu-open):not(:has(#hello-modal.open)){overflow:auto}
 body #mmenu{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;box-sizing:border-box;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
 body #mmenu .mm-head,body #mmenu .mm-foot{flex:none;height:auto;min-height:68px}
 body #mmenu .mm-nav{flex:1;min-height:0;height:auto;overflow-y:auto;overscroll-behavior:contain}
 body #mmenu .mm-sub{display:none;padding-left:0}
 body #mmenu .mm-acc.open .mm-sub{display:grid;overflow:visible;max-height:none}
 body #mmenu .mm-sublink{display:flex;align-items:center;min-height:48px;margin:0;padding:12px;font-family:var(--font-body)!important;font-size:14px!important;line-height:1.45}
 body #mmenu .mm-foot{flex-wrap:wrap;gap:8px;padding:12px 16px}
 body #menuBtn{min-width:44px;min-height:44px}
 body input:not([type=checkbox]):not([type=radio]),body textarea,body select{font-size:16px!important;max-width:100%;box-sizing:border-box}
 body :focus-visible{outline:3px solid #ff9954;outline-offset:4px}
 body .reveal,body .reveal-words .w,body .fx{opacity:1!important;transform:none!important;clip-path:none!important}
 body .par{transform:none!important}
 body .fm-map.syo-depth{transform:none!important}
 body .fm-contact a,body .fm-nav a,body .fm-socials a{min-height:44px;display:inline-flex;align-items:center}
 body #syo-wa{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom))}
 body #syo-wa .wa-tip{display:none!important}
 body.syo-menu-open #syo-wa{visibility:hidden}
}
@media (max-width:767.98px){
 :root{--syo-contact-height:44px}
 body .syo-topheader a{min-height:44px}
 body .syo-top-socials a{width:36px}
 body section#hero.syo-cinema .cinema-stage{padding-inline:20px;padding-bottom:max(20px,env(safe-area-inset-bottom))}
 body section#hero.syo-cinema .cinema-topline{font-size:9px;letter-spacing:.08em;color:#f2eee6}
 body section#hero.syo-cinema .cinema-kicker{font-size:11px;max-width:100%;margin-bottom:14px}
 body section#hero.syo-cinema .cinema-description{font-size:16px!important;line-height:1.55!important}
 body section#hero.syo-cinema .cinema-actions{gap:8px;align-items:stretch}
 body section#hero.syo-cinema .cinema-contact{justify-content:space-between;min-height:48px;font-size:15px}
 body section#hero.syo-cinema .cinema-work{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;font-size:14px}
 body section#hero.syo-cinema .cinema-skip{font-size:9px;letter-spacing:.05em;min-height:44px}
 body section#hero.syo-cinema .cinema-navigation button{min-width:44px;min-height:44px}
 body section#hero.syo-cinema .cinema-bottom{margin-top:12px;flex-wrap:wrap}
 body #services .text-center{padding-top:12px}
 body #services .h-mega{font-size:clamp(30px,8vw,48px)!important;line-height:1.12}
 body #services .svc-row{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;gap:10px;padding:20px 0;min-width:0}
 body #services .svc-row .si{grid-column:1;grid-row:1}
 body #services .svc-row .st{grid-column:2;grid-row:1;font-size:18px;line-height:1.35;min-width:0}
 body #services .svc-row .sd{display:block;grid-column:2;grid-row:2;font-size:14px;line-height:1.6;max-width:none;opacity:1;white-space:normal;margin-left:0}
 body #services .svc-row .sar{grid-column:3;grid-row:1;opacity:1;transform:none;margin-left:0}
 body .sec-head h2,body .h-sec{font-size:clamp(25px,6.5vw,34px)!important;line-height:1.2!important}
 body .sec-head p,body .lead,body #approach .ax-ch p,body #reviews .tq p,body #solutions .so-body>div{font-size:16px!important;line-height:1.7!important}
 body .fm-wrap{padding-inline:20px}
 body .fm-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 body .fm-grid>*{min-width:0}
 body .fm-brand>p,body .fm-addr{font-size:14px;line-height:1.7}
 body .fm-socials{flex-wrap:wrap}
 body .fm-bottom{padding-bottom:60px;font-size:12px;gap:10px}
 body .audit2{padding:28px 20px;border-radius:22px}
}
/* Natural height when text and controls cannot fit in a sticky viewport. */
@media (max-height:760px) and (max-width:767.98px), (max-height:600px){
 body section#hero.syo-cinema.is-enhanced{height:auto!important}
 body section#hero.syo-cinema .cinema-stage{position:relative;height:auto;min-height:100svh}
 body section#hero.syo-cinema .cinema-stories{flex:none;min-height:0;padding-block:32px}
 body section#hero.syo-cinema .cinema-progress{display:none}
}
@media(max-width:359px){body #mmenu .mm-sub{grid-template-columns:minmax(0,1fr)}body section#hero.syo-cinema .cinema-stage{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

@media(hover:none){body #services .svc-row .sw{display:none}body #services .svc-row:hover .st{transform:none;color:inherit}body #services .svc-row:hover .si,body #services .svc-row:hover .sar{color:var(--accent)}body #services .svc-row:hover .sd{color:rgba(243,242,240,.75);max-width:none}}
