/* Full-page vertical scroll-snap desktop — refined */
@media(min-width:961px){
  html{scroll-snap-type:y proximity;scroll-behavior:smooth;scroll-padding-top:82px}
  body{overflow-y:auto;overscroll-behavior-y:contain}
  main>section,.final-cta{scroll-snap-align:start;scroll-snap-stop:normal}
  main>section{min-height:auto!important;display:block!important;padding:56px 0!important}
  main>section>.container{width:min(1540px,calc(100% - 72px))}
  .hero{min-height:100svh!important;display:grid!important;padding:0!important}
  .hero .container{align-self:stretch;display:flex;align-items:flex-end}
  .intro,.stories,.portfolio,.films,.packages,.team-section,.reviews,.contact{
    min-height:calc(100svh - 82px)!important;
    display:flex!important;
    align-items:center!important;
    padding:56px 0!important
  }
  .process-section,#faq{
    min-height:auto!important;
    display:block!important;
    padding:54px 0!important
  }
  .process-section .section-head,#faq .faq-title{margin-bottom:20px!important}
  .process-section .process-grid{margin-top:18px!important}
  .process-section .step{padding:16px 20px!important}
  #faq .faq-wrap{gap:34px!important;align-items:start!important}
  #faq .faq-q{padding:15px 0!important}
  #faq .faq-a{line-height:1.65!important}
  .section-head{margin-bottom:24px!important}
  .intro-grid{gap:36px!important}
  .story{min-height:360px!important}
  .portfolio .gallery{max-height:60vh;overflow:hidden}
  .portfolio .gitem:nth-child(n+7){display:none}
  .films-layout{min-height:56vh}
  .film-feature{min-height:56vh!important}
  .film-side{grid-template-rows:repeat(3,1fr)}
  .film-card{min-height:0!important}
  .films-note{margin-top:12px!important}
  .packages .package{max-height:68vh;overflow:auto;scrollbar-width:thin}
  .team-card img{height:40vh!important;max-height:400px}
  .bts-card{height:28vh!important;max-height:270px}
  .reviews .review-grid{margin-top:16px}
  .contact-card{min-height:58vh}
  .final-cta{min-height:100svh!important;display:grid!important}
  footer{scroll-snap-align:start}
  .reveal{opacity:1!important;transform:none!important}
}
@media(max-width:960px){html{scroll-snap-type:none}}