/* Phone layout; desktop keeps the existing cinematic presentation. */
.ps-track{display:contents}
@media(max-width:760px){
  html{-webkit-text-size-adjust:100%;scroll-padding-top:20px}
  body{min-width:0}
  .g-site{width:100%;max-width:100%;overflow-wrap:break-word}
  .g-site button,.g-site a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
  .g-site a:focus-visible,.g-site button:focus-visible{outline:2px solid #fa6038;outline-offset:4px}
  .g-header{height:68px;gap:10px;padding:0 max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left));background:#090b0df5;backdrop-filter:none;-webkit-backdrop-filter:none}
  .g-logo{font-size:22px;letter-spacing:.08em;flex-shrink:0}
  .g-header-controls{gap:8px}.g-languages{gap:2px}.g-languages button{min-width:34px;min-height:44px;padding:8px 4px}
  .g-menu-toggle{flex-shrink:0;border-radius:4px}.g-mobile-nav{top:68px;padding:8px 20px 18px;box-shadow:0 18px 30px #0008}.g-mobile-nav a{min-height:48px;display:flex;align-items:center}
  .g-hero{display:block;min-height:0;padding:calc(68px + clamp(220px,65vw,380px)) 20px 35px;background:#090b0d}
  .g-hero-photos{top:68px;height:clamp(250px,75vw,410px);bottom:auto}
  .g-hero-photo img,.g-hero-photo:nth-child(2) img,.g-hero-photo:nth-child(3) img{object-position:center;object-fit:cover}
  .g-hero-scrim{background:linear-gradient(0deg,#090b0d 0%,#090b0d00 38%);top:68px;bottom:auto;height:clamp(250px,75vw,410px);pointer-events:none}
  .g-hero-copy{width:100%}
  .g-small-heading{font-size:9px;line-height:1.6;letter-spacing:.11em;gap:9px}.g-small-heading i{flex:0 0 18px}
  .g-hero h1{font-size:clamp(39px,10.7vw,65px);line-height:1.06;letter-spacing:-.05em;margin:16px 0 18px!important}
  .g-hero-description{font-size:15px;line-height:1.65;max-width:38ch;color:#d9d5d0}
  .g-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px;align-items:stretch}
  .g-watch-showreel,.g-view-work{width:100%;height:auto;min-height:52px;padding:12px 8px;gap:7px;font-size:9px;line-height:1.5;letter-spacing:.04em;text-align:center;border-radius:3px}
  .g-watch-showreel svg,.g-view-work svg{flex:0 0 15px}
  .g-hero-pagination{margin-top:18px;gap:9px}.g-hero-pagination>span{margin-right:5px}
  .g-hero-pagination button,.g-hero-pagination button[aria-pressed=true]{width:38px;height:44px;background:transparent;position:relative}
  .g-hero-pagination button:after{content:'';position:absolute;left:0;right:0;top:21px;height:2px;background:#ffffff60}.g-hero-pagination button[aria-pressed=true]:after{background:#fa6038}
  .g-content{padding-inline:max(20px,env(safe-area-inset-left)) max(20px,env(safe-area-inset-right))}
  .g-work{padding-block:45px 52px}.g-section-head{align-items:flex-start;gap:14px;padding-bottom:18px;margin-bottom:24px}.g-section-head h2{font-size:10px;line-height:1.5;letter-spacing:.08em;gap:8px}.g-section-head i{width:16px;flex-shrink:0}.g-section-head>a{font-size:9px;line-height:1.5;letter-spacing:.02em;max-width:42%;text-align:right}
  .g-project-grid{gap:32px}.g-project-photo{aspect-ratio:16/11;border-radius:5px}.g-project-photo img{object-position:center!important}.g-project-index{top:14px;left:14px;font-size:12px}.g-project-play{width:46px;height:46px;bottom:14px;right:14px}
  .g-category{font-size:9px;line-height:1.6;letter-spacing:.09em;margin-top:16px!important}.g-project h3{font-size:clamp(29px,8vw,40px);line-height:1.15}.g-project-description{font-size:14px;line-height:1.6;margin-top:8px!important}.g-watch-film{min-height:48px;padding:12px 0;font-size:9px}.g-disclosure{font-size:11px;line-height:1.65;margin-top:24px!important}
  .photo-scenes{height:auto}.ps-frame{position:relative;top:auto;height:auto;overflow:hidden;display:flex;flex-direction:column}
  .ps-masthead{position:static;order:0;padding:25px 20px 18px;font-size:9px}.ps-track{order:1;display:flex;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;align-items:stretch}.ps-track::-webkit-scrollbar{display:none}
  .ps-panel{position:relative;inset:auto;flex:0 0 100%;min-width:0;opacity:1;visibility:visible;scroll-snap-align:start;scroll-snap-stop:always;display:flex;flex-direction:column;background:#090b0d}
  .ps-panel .ps-image{position:relative;inset:auto;display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain;object-position:center;transform:none!important;will-change:auto}
  .ps-panel .ps-shade{display:none}
  .ps-panel .ps-copy{position:relative;left:auto;top:auto;bottom:auto;width:100%;padding:24px 20px 16px;transform:none!important;opacity:1;will-change:auto;flex:1}
  .g-site .ps-category{font-size:9px;line-height:1.6;letter-spacing:.12em}
  .g-site .ps-panel .ps-title{font-size:clamp(35px,9.6vw,59px);line-height:1.07;margin:16px 0!important;letter-spacing:-.04em}
  .g-site .ps-body{font-size:14px;line-height:1.65;max-width:32ch}
  .ps-panel .ps-link{min-height:44px;align-items:center;margin-top:18px;padding:10px 0;font-size:10px}
  .ps-navigation{position:relative;left:auto;right:auto;bottom:auto;order:2;gap:12px;margin:4px 20px 26px;grid-template-columns:repeat(3,minmax(0,1fr))}
  .ps-tab{min-height:64px;padding:9px 0 12px;font-size:10px}.ps-tab-name{max-width:none;line-height:1.4}.ps-tab-number{margin-bottom:5px}
  .g-services{padding-block:52px}.g-section-display{font-size:clamp(38px,10vw,62px);line-height:1.1;margin-bottom:26px!important}.g-service-row{grid-template-columns:24px minmax(0,1fr) 3px;gap:9px 12px;padding:23px 0}.g-service-row h3{font-size:clamp(17px,4.8vw,23px);line-height:1.3}.g-service-row p{font-size:14px;line-height:1.7}
  .g-studio{display:block;min-height:0;padding-top:clamp(190px,58vw,330px)}.g-studio-photo{height:clamp(230px,68vw,390px);bottom:auto}.g-studio-photo img{object-position:center}.g-studio-scrim{height:clamp(230px,68vw,390px);bottom:auto;background:linear-gradient(0deg,#090b0d,transparent 65%)}.g-studio-text{padding-top:20px;padding-bottom:50px}.g-studio-text h2{font-size:clamp(35px,9.5vw,60px);line-height:1.1;margin:20px 0!important}.g-studio-text>p:not(.g-small-heading){font-size:15px;line-height:1.75}.g-studio-link{min-height:48px;margin-top:18px;font-size:11px}
  .g-contact{padding-block:52px 60px}.g-contact h2{font-size:clamp(37px,10vw,65px);line-height:1.1;margin:20px 0!important}.g-contact>p:not(.g-small-heading){font-size:15px;line-height:1.7}.g-contact-actions{display:flex;flex-direction:column;align-items:stretch;gap:16px;margin-top:23px}.g-contact-email{font-size:clamp(16px,4.7vw,25px);gap:8px;min-height:48px;padding:9px 0;justify-content:space-between}.g-contact-actions button{min-height:48px;font-size:11px;border-radius:3px}
  .g-footer{padding:24px 20px calc(24px + env(safe-area-inset-bottom));gap:16px}.g-footer-logo{font-size:23px}.g-footer p{font-size:11px;line-height:1.65}.g-footer a:last-child{min-width:44px;min-height:44px;display:grid;place-items:center}
  .g-film-backdrop{padding:max(10px,env(safe-area-inset-top)) 8px max(10px,env(safe-area-inset-bottom));backdrop-filter:none;-webkit-backdrop-filter:none}.g-film-dialog{max-height:calc(100svh - 28px);width:100%;border-radius:8px}.g-film-dialog>header,.g-film-dialog>footer{gap:10px;padding:12px}.g-film-dialog>header>div{min-width:0}.g-film-dialog>header h2{font-size:22px;line-height:1.15}.g-film-dialog>header p{font-size:8px;line-height:1.5;margin-bottom:5px}.g-film-dialog>header button{flex:0 0 44px;width:44px;height:44px;border-radius:4px}.g-film-player{padding:0;flex:1;min-height:0}.g-film-player video{max-height:calc(100svh - 180px);max-width:100%;width:auto}.g-film-dialog>footer{font-size:9px}.g-film-dialog>footer a{min-height:40px;font-size:9px}
}
@media(max-width:359px){.g-header{padding-inline:14px}.g-logo{font-size:20px}.g-header-controls{gap:4px}.g-languages button{min-width:30px}.g-hero-actions{grid-template-columns:1fr}.g-hero h1{font-size:38px}.g-section-head{flex-wrap:wrap}.g-section-head>a{max-width:100%}}
@media(max-width:950px) and (orientation:landscape) and (max-height:500px){.g-hero{min-height:0}.g-film-player video{max-height:calc(100svh - 140px)}.g-film-dialog>header h2{font-size:18px}.g-film-dialog>header p{display:none}.g-film-dialog>footer{padding-block:4px}}

/* Mobile composition: natural document flow, readable type and touch controls. */
@media(max-width:760px){
 .g-site{overflow-x:clip}.g-site section[id]{scroll-margin-top:82px}
 .g-header{position:absolute;height:68px;border-bottom:1px solid #ffffff18}
 .g-hero{display:flex;flex-direction:column;align-items:stretch;padding:104px 20px 0;min-height:0;gap:28px;background:#090b0d}
 .g-hero-copy{order:0;width:100%;max-width:580px;margin-inline:auto}
 .g-hero h1{font-size:clamp(38px,10.2vw,62px);line-height:1.08;letter-spacing:-.045em;text-wrap:balance;margin:18px 0!important;overflow-wrap:normal}
 .g-small-heading{font-size:10px;letter-spacing:.09em;line-height:1.5}
 .g-hero-description{font-size:16px;line-height:1.65;max-width:34ch;color:#c9c7c3}
 .g-hero-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:24px}
 .g-watch-showreel,.g-view-work{font-size:11px;min-height:52px;width:100%;border-radius:6px;letter-spacing:.06em;padding:14px 16px}
 .g-view-work{border-color:#ffffff40;background:transparent}
 .g-hero-photos{position:relative;inset:auto;order:1;width:calc(100% + 40px);margin-left:-20px;height:auto;aspect-ratio:16/11;flex:none}
 .g-hero-photo img,.g-hero-photo:nth-child(2) img,.g-hero-photo:nth-child(3) img{object-position:center;object-fit:cover}
 .g-hero-scrim{display:none}.g-hero-pagination{margin-top:12px;min-height:44px}
 .g-work,.g-services{padding-block:48px}.g-content{padding-inline:20px}
 .g-section-head{gap:12px;align-items:center}.g-section-head h2{font-size:11px}.g-section-head>a{font-size:10px;min-height:44px;max-width:45%;letter-spacing:0}
 .g-project-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:30px}
 .g-project{padding-bottom:14px;border-bottom:1px solid #ffffff18}
 .g-project-photo{aspect-ratio:4/3;border-radius:10px}
 .g-project h3{font-size:34px;line-height:1.15}.g-category{font-size:10px}.g-project-description{font-size:15px;line-height:1.65}
 .g-watch-film{font-size:11px;letter-spacing:.06em;min-height:48px;padding-block:12px}.g-disclosure{font-size:12px}
 .ps-masthead{gap:12px;flex-wrap:wrap;line-height:1.6;padding:22px 20px}.ps-motto{max-width:100%;font-size:11px}
 .ps-panel .ps-copy{padding:22px 20px}.g-site .ps-panel .ps-title{font-size:clamp(34px,9vw,52px);line-height:1.12}.g-site .ps-body{font-size:15px;max-width:100%}
 .ps-navigation{gap:12px;margin-bottom:24px}.ps-tab{font-size:11px;min-height:76px}.ps-tab-name{white-space:normal;overflow-wrap:break-word}
 .g-section-display{font-size:clamp(36px,9vw,52px);line-height:1.13;text-wrap:balance}
 .g-service-row{grid-template-columns:22px minmax(0,1fr);gap:10px 12px;padding:24px 0}.g-service-line{display:none}.g-service-row h3{font-size:22px}.g-service-row p{font-size:15px;line-height:1.7}
 .g-studio{display:flex;flex-direction:column;padding-top:0;min-height:0;gap:0}
 .g-studio-photo{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:16/11}.g-studio-scrim{display:none}
 .g-studio-text{padding-block:32px 48px}.g-studio-text h2{font-size:clamp(35px,9vw,52px);line-height:1.12}.g-studio-text>p:not(.g-small-heading){font-size:16px;line-height:1.7}
 .g-contact{border-top:1px solid #ffffff18;padding-block:48px 56px}.g-contact h2{font-size:clamp(35px,9.3vw,56px);text-wrap:balance;line-height:1.12}.g-contact>p:not(.g-small-heading){font-size:16px;line-height:1.7}.g-contact-actions{gap:12px}
 .g-footer{padding-inline:20px}.g-footer p{max-width:32ch;font-size:12px}
 .g-film-dialog{max-height:calc(100dvh - 24px)}.g-film-player video{max-height:calc(100dvh - 180px)}
}
@media(min-width:540px) and (max-width:760px){.g-hero-actions{grid-template-columns:1fr 1fr}.g-hero-photos{aspect-ratio:16/9}.g-contact-actions{display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:359px){.g-hero{padding-inline:16px}.g-hero h1{font-size:36px}.g-hero-photos{width:calc(100% + 32px);margin-left:-16px}.g-content{padding-inline:16px}.g-logo{font-size:19px}}

@media(max-width:760px){.g-hero-photos{aspect-ratio:1672/941}.g-hero-photo img,.g-hero-photo:nth-child(2) img,.g-hero-photo:nth-child(3) img{object-fit:contain;object-position:center}}

@media(max-width:760px){.g-hero-photos,.g-hero-pagination{display:none!important}.g-hero{gap:0;padding-bottom:24px}}

@media(max-width:760px){.g-work>.g-section-head{display:none}.g-work{padding-top:20px}}

@media(max-width:760px){.g-work{padding-top:0}.g-work:before{content:"";display:block;height:1px;background:#ffffff18;margin:0 0 24px}.g-hero{padding-bottom:24px}}
