/* Shared mobile and embedded-browser safeguards. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:110px}
img,video,iframe,canvas{max-width:100%}
.hero-layout>*,.contact-panel>*,.calc-layout>*,.delivery-panel>*,.faq-layout>*{min-width:0}
.review-links a,.review-description,.work-info,.review-player-result,.video-review-channel{overflow-wrap:anywhere}
.mobile-menu:not([hidden]){max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;-webkit-backdrop-filter:blur(20px)}
.media-dialog,.legal-dialog{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.review-player-portrait iframe{height:min(58vh,640px);height:min(58dvh,640px);width:calc(min(58vh,640px) * .5625);width:calc(min(58dvh,640px) * .5625)}
.review-video-switches{flex-wrap:wrap}.review-video-switches button{min-height:44px}
.folder-review-fallback{display:none}.folder-art[data-state=fallback] .folder-fallback,.folder-art[data-state=fallback] .folder-toggle,.folder-art[data-state=fallback] .folder-canvas{display:none}
.folder-art[data-state=fallback] .folder-review-fallback{position:absolute;inset:12px 8px;display:flex;flex-direction:column;justify-content:center;gap:12px;overflow:auto}
.folder-review-choice{display:flex;align-items:center;gap:16px;padding:10px 16px;border:1px solid #704124;border-radius:18px;background:#1c130e;color:#f2f0eb;text-align:left;min-height:72px;width:100%}
.folder-review-choice img{width:70px;height:54px;border-radius:9px;object-fit:cover}.folder-review-choice span{flex:1}.folder-review-choice svg{color:#ff681f}
[data-theme=light] .folder-review-choice{background:#fff8f1;color:#241a14}
@media(max-width:600px){
 :root{--gutter:20px}
 .wrap{padding-left:max(var(--gutter),env(safe-area-inset-left));padding-right:max(var(--gutter),env(safe-area-inset-right))}
 .contact-form input,.contact-form textarea,.contact-form select{font-size:16px;max-width:100%;min-width:0}
 .contact-form textarea{resize:vertical}
 .form-row{grid-template-columns:1fr}
 .hero-actions{flex-wrap:wrap}.hero-actions .button{max-width:100%}
 .calc-quantity{flex-wrap:wrap;gap:6px}.calc-quantity label{max-width:100%}
 .calc-result .button{font-size:16px;gap:12px;padding-inline:18px}
 .media-dialog{max-width:calc(100% - 16px)}
 .review-player-header{padding:12px 64px 12px 16px;min-height:68px}
 .review-player-result{padding:16px}.review-player-result p{font-size:15px}
 .review-video-switches{padding-inline:12px}
 .footer{padding-bottom:max(24px,env(safe-area-inset-bottom))}
 .delivery-formats,.footer-nav,.review-links{flex-wrap:wrap}
}
@media(hover:none),(pointer:coarse){
 button,.button,.text-link,.theme-toggle,.menu-toggle{touch-action:manipulation}
 .text-link{min-height:44px;align-items:center;display:inline-flex}
 .cursor-glow{display:none!important}
 a:hover>.nexo-inline-icon{transform:none}
}
@media(max-height:500px) and (orientation:landscape){
 .media-dialog{max-height:calc(100vh - 12px);max-height:calc(100dvh - 12px)}
 .review-player-dialog iframe{max-height:65vh}.review-player-portrait iframe{height:65vh;width:36.56vh}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Native dialog fallback for older embedded browser engines. */
dialog:not([open]){display:none}dialog.nexo-dialog-fallback[open]{position:fixed;inset:12px;margin:auto;z-index:10001;box-shadow:0 0 0 100vmax #000c}
