/* Shared phone layout. Desktop retains its existing composition. */
.mobile-menu-toggle,.mobile-project-controls{display:none}
.project-viewport{width:100%;height:100%;min-width:0;overflow:hidden;display:flex;align-items:center;justify-content:center}
.project-zoom{width:44px;height:44px;flex:none;font-size:22px!important;margin-left:auto}
.project-viewport.is-zoomed{display:block;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y}
.project-viewport.is-zoomed img{max-width:none;object-fit:fill}
.project-dialog .project-stage.is-zoomed .project-arrow{display:none}
@media(max-width:800px){
  html{scroll-padding-top:88px}
  body{--home-header-height:72px;--mobile-hero-height:clamp(180px,55.814vw,447px);overflow-x:clip;-webkit-text-size-adjust:100%}
  body .topbar{position:fixed!important;inset:0 0 auto!important;width:100%!important;z-index:9999!important;background:#101010!important;border-bottom:1px solid #30302a!important}
  body .topbar .topbar-inner{height:72px!important;min-height:72px;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;padding:0 max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left))!important;gap:12px!important}
  body .topbar .topbar-inner>div:last-child:empty{display:none!important}
  body .topbar .topbar-logo{gap:10px!important;justify-content:flex-start!important}
  body .topbar .topbar-logo img{height:34px!important}
  body .topbar .topbar-logo-txt{padding-left:10px!important}
  body .topbar .topbar-logo-txt span:first-child{font-size:9px!important;letter-spacing:2.2px!important}
  body .topbar .topbar-logo-txt span:last-child{font-size:8px!important;letter-spacing:2.4px!important;color:#b2b2a8!important}
  .mobile-enhanced .mobile-menu-toggle{display:flex;flex:none;align-items:center;justify-content:center;gap:9px;min-width:76px;min-height:44px;padding:8px 10px;background:none;border:1px solid #44443b;border-radius:3px;color:#f5f5f0;font:12px/1.4 Arial,sans-serif;cursor:pointer}
  .mobile-menu-toggle svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.5}
  .mobile-menu-toggle[aria-expanded=true]{border-color:#ffc107;color:#ffc107}
  body.mobile-enhanced .topbar .topbar-nav{display:none!important}
  body.mobile-menu-open{overflow:hidden}
  body.mobile-menu-open .topbar .topbar-nav{display:flex!important;position:absolute!important;top:100%;left:0;right:0;height:calc(100dvh - 72px);box-sizing:border-box;padding:24px max(24px,env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom))!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;flex-wrap:nowrap!important;gap:0!important;overflow-y:auto;overscroll-behavior:contain;background:#141414}
  body.mobile-menu-open .topbar .topbar-nav a{display:flex!important;align-items:center;justify-content:space-between;flex:none;width:100%;box-sizing:border-box;min-height:62px;padding:17px 4px!important;font:400 20px/1.4 Arial,sans-serif!important;letter-spacing:.5px!important;text-transform:none!important;color:#e5e5df!important;border-radius:0!important;border-bottom:1px solid #33332d;background:none!important}
  body.mobile-menu-open .topbar .topbar-nav a::after{content:'↗';font-size:20px;color:#8b8b80}
  body.mobile-menu-open .topbar .topbar-nav a[aria-current=page]{color:#ffc107!important}
  .mobile-menu-toggle:focus-visible,.mobile-project-controls button:focus-visible{outline:2px solid #b08b27;outline-offset:3px}
  body #main,body #wrapper,body .content-holder{position:relative!important;float:none!important;height:auto!important;display:flow-root}
  body #main{padding-top:72px!important}
  body .content-holder>.content,body .content-footer{position:relative;float:none;clear:both;display:flow-root}
  body .height-emulator{display:none!important}
  body .container{width:100%!important;max-width:100%!important;padding-left:22px!important;padding-right:22px!important;box-sizing:border-box}
  body section,body .source-content section{padding:48px 0!important}
  body section>.container[style]{padding-top:0!important;padding-bottom:0!important}
  body .row{margin-left:0;margin-right:0}
  body .row>[class*=col-md-]{padding-left:0;padding-right:0}
  body .content p{font-size:16px!important;line-height:1.8!important;letter-spacing:0!important}
  body .content h2,body:not(.home-page) .content h2{font-size:clamp(24px,6.7vw,34px)!important;letter-spacing:1px!important;line-height:1.35!important;overflow-wrap:normal;word-break:normal}
  body .section-title{padding-bottom:18px;margin-bottom:16px}
  body .sect-subtitle,body .section-title:before{display:none!important}
  body .source-content .container>p{margin:16px 0}
  body .btn{min-height:46px;box-sizing:border-box}
  body .parallax-inner .bg{transform:none!important}
  body .source-stats{gap:24px 12px;margin:30px 0}
  body .source-stats strong{font-size:32px}
  body .source-stats span{font-size:10px;letter-spacing:1px;line-height:1.5}
  body .source-books{gap:36px;margin-top:28px}
  body .source-book img{height:280px;margin-bottom:18px}
  body .source-book h3{font-size:19px;letter-spacing:0}
  body .source-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}
  body .source-team-grid:before,body .source-team-grid:after{display:none}
  body .source-team-grid>div{width:100%;margin:0!important;min-width:0}
  body .source-team-grid>div>div>div{width:min(124px,100%)!important;height:auto!important;aspect-ratio:1;margin-bottom:16px!important;box-sizing:border-box}
  body .source-team-grid>div>div>span{color:#aaa!important;font-size:12px!important;letter-spacing:0!important}
  body .source-team-grid h3{font-size:13px!important;line-height:1.5;letter-spacing:.3px!important}
  body .source-team-grid p{font-size:13px!important;line-height:1.6!important}
  body .page-video-hero{height:320px!important;min-height:0!important}
  body .page-video-hero>video{min-width:0!important;min-height:0!important;width:100%!important;height:100%!important}
  body .page-video-hero>div:last-child{width:calc(100% - 44px)}
  body .page-video-hero h2{font-size:32px!important}
  body #source-projects{padding-top:0!important;scroll-margin-top:72px}
  body .project-grid{grid-template-columns:minmax(0,1fr);gap:32px;margin-top:28px}
  body .project-cover{aspect-ratio:4/3}
  body .project-card h3{font-size:18px;line-height:1.5;margin:14px 0 6px}
  body .project-view{display:inline-flex;align-items:center;min-height:36px;letter-spacing:1.5px}
  body .project-photo-count{bottom:12px;right:12px;letter-spacing:.5px;padding:7px 9px}
  body .project-dialog{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border:0}
  body .project-dialog-header{gap:10px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px}
  body .project-dialog .project-dialog-title{font:500 16px/1.4 Arial,sans-serif!important;letter-spacing:0!important}
  body .project-dialog .project-close,body .project-dialog .project-zoom{width:44px;height:44px}
  body .project-stage{padding:8px 0}
  body .project-arrow{width:44px;height:48px;background:rgba(0,0,0,.65)!important}
  body .project-dialog-bottom{padding:10px 16px calc(16px + env(safe-area-inset-bottom))}
  body .project-thumbs{gap:8px}
  body .project-thumb{width:calc((100vw - 64px)/5);height:52px}
  body .project-counter{margin-bottom:12px;letter-spacing:1px}
  /* A complete film frame with controls in their own row beneath it. */
  body.home-page .content.full-height{height:calc(var(--mobile-hero-height) + 64px)!important;min-height:0;background:#111}
  body.home-page .hero-wrap-image-slider-holder,body.home-page .hero-wrap-text-slider{height:var(--mobile-hero-height)!important}
  body.home-page .hero-wrap-image-slider .item,body.home-page .hero-wrap-text-slider .item{height:var(--mobile-hero-height)!important}
  body.home-page .home-hero-video{object-fit:contain;background:#111}
  body.home-page .hero-wrap-item.center-item{box-sizing:border-box;padding:0 24px;transform:translateY(-50%)}
  body.home-page .hero-wrap-item h2{font-size:clamp(23px,6vw,34px)!important;padding-bottom:8px}
  body.home-page .hero-wrap-item h3{font:400 13px/1.5 Arial,sans-serif;letter-spacing:1px;padding:0}
  body.home-page .hero-link{font-size:11px;letter-spacing:1px;margin-top:14px;padding:10px 4px;min-height:40px;box-sizing:border-box}
  body.home-page .hero-wrap .customNavigation a{width:44px;height:44px;line-height:44px;top:auto;bottom:10px;margin:0;border:1px solid #393933;background:none}
  body.home-page .hero-wrap .customNavigation .prev-slide{left:auto;right:70px}
  body.home-page .hero-wrap .customNavigation .next-slide{right:16px}
  body.home-page .hero-video-toggle{left:16px;bottom:10px;width:44px;height:44px;padding:0;border-color:#393933;background:none}
  body.home-page .hero-wrap .owl-controls{position:absolute;top:100%;left:68px;right:122px;width:auto;height:64px;margin:0;display:flex;align-items:center;justify-content:center}
  body.home-page .hero-wrap-image-slider .owl-controls{display:none}
  body.home-page .hero-wrap .owl-dots{position:static;margin:0;display:flex;align-items:center;justify-content:center;gap:0}
  body.home-page .hero-wrap .owl-dot{width:24px;height:44px;margin:0;display:flex;align-items:center;justify-content:center}
  body.home-page .hero-wrap .owl-dot span{display:block;width:5px;height:5px;margin:0;background:#777;border:0;border-radius:50%;opacity:1}
  body.home-page .hero-wrap .owl-dot.active span{width:16px;border-radius:5px;background:#ffc107}
  body.home-page #sec1 h2{text-align:left!important}
  body.home-page #sec1 .col-md-12{text-align:left!important}
  body.home-page .inline-facts-holder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:20px}
  body.home-page .inline-facts{width:100%;margin:0!important;padding:0!important}
  body.home-page .inline-facts .num{font-size:38px;line-height:1.2}
  body.home-page .inline-facts h6{font-size:11px;letter-spacing:0;line-height:1.5}
  body.home-page .home-project-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-x:contain;margin-top:26px;padding:0 0 10px;scrollbar-width:thin;scrollbar-color:#aaa #eee}
  body.home-page .home-project-card{flex:0 0 86%;scroll-snap-align:start}
  body.home-page .home-project-caption{min-height:76px;box-sizing:border-box;padding-top:14px;gap:10px}
  body.home-page .home-project-caption h3{font-size:16px;line-height:1.5}
  .mobile-project-controls{display:flex;align-items:center;justify-content:space-between;margin-top:14px;gap:12px;color:#52524a;font:12px/1.5 Arial,sans-serif}
  .mobile-project-controls>div{display:flex;gap:8px}
  .mobile-project-controls button{width:44px;height:44px;border:1px solid #ccc;background:#fff;color:#222;border-radius:3px;font-size:20px;cursor:pointer}
  .mobile-project-controls button:disabled{opacity:.35;cursor:default}
  body.home-page .home-project-more{margin-top:26px}
  body.home-page .home-project-more a{width:100%;justify-content:space-between;box-sizing:border-box;min-height:48px}
  body.home-page .home-service-copy{padding:24px 20px}
  body.home-page .home-service-copy h3{font-size:19px;line-height:1.4}
  body.home-page .home-activity-link{font-size:13px;letter-spacing:.5px;min-height:50px;box-sizing:border-box}
  body.services-page section>.container{padding-top:16px!important;padding-bottom:16px!important}
  body.services-page section>.container>span{font-size:40px!important;margin-bottom:18px!important}
  body.services-page .content{border-bottom:1px solid #34342d}
  body.services-page .content p{max-width:100%!important}
  body.services-page .overlay{background:#080808;opacity:.65}
  body .content-footer{bottom:auto!important;padding:42px 22px 24px!important;box-sizing:border-box}
  body .content-footer .container{padding:0!important}
  body .content-footer .row>[class*=col-md-]{width:100%;margin-bottom:26px}
  body .content-footer h4{font-size:13px;letter-spacing:2px}
  body .content-footer a{font-size:15px;line-height:1.6;min-height:44px;display:inline-flex;align-items:center}
  body .content-footer li{display:inline-block;margin-right:18px}
  body .content-footer p{font-size:15px;line-height:1.7}
  body .sub-footer{margin-top:8px;padding-top:24px}
  body .sub-footer .policy-box{font-size:10px;line-height:1.8;letter-spacing:.5px;padding-right:55px}
  body .to-top{min-width:44px;min-height:44px}
  body.contact-page{padding-top:72px}
  body.contact-page .contact-main{width:calc(100% - 44px);padding:40px 0}
  body.contact-page .contact-intro h1{font-size:34px;line-height:1.2;letter-spacing:0}
  body.contact-page .contact-intro>p{font-size:16px;line-height:1.8}
  body.contact-page .contact-layout{margin-top:28px}
  body.contact-page .email-address{font-size:clamp(17px,5vw,22px);letter-spacing:-.4px}
  body.contact-page .email-actions{display:grid;grid-template-columns:1fr;width:100%;gap:12px}
  body.contact-page .contact-button{min-height:50px;justify-content:space-between;padding:14px 18px}
  body.contact-page .contact-button.secondary{justify-content:center}
  body.contact-page .contact-social-links a{min-height:56px}
  body.contact-page .contact-footer{width:calc(100% - 44px);padding-bottom:calc(24px + env(safe-area-inset-bottom))}
  @media(prefers-reduced-motion:reduce){.mobile-enhanced *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
}
@media(max-width:359px){body .topbar .topbar-logo-txt span:first-child{font-size:8px!important;letter-spacing:1.5px!important}.mobile-enhanced .mobile-menu-toggle{min-width:68px;padding:6px}.mobile-project-controls{font-size:11px}}
