/* Scroll stack: independent rows remain usable at every viewport height. */
.process-section{overflow:visible}.film-grid{display:block;isolation:isolate;padding-bottom:12vh}.stack-row{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;position:sticky;top:var(--pin-top,88px);margin-bottom:clamp(80px,18vh,190px)}.stack-row:last-child{margin-bottom:0}.stack-row .film-card{display:flex;flex-direction:column;align-items:stretch;background:#10243b;box-shadow:0 -12px 42px #0008,0 0 0 1px #ffc65c33;border:1px solid #ffc65c42;opacity:1;transform:none;transition:box-shadow .4s}.stack-row .film-media{order:0!important;aspect-ratio:16/9;height:auto;min-height:0;flex:none}.stack-row .film-media video{aspect-ratio:16/9;min-height:0;object-fit:contain}.stack-row .film-body{padding:24px;flex:1}.stack-row .film-body h3{font-size:26px}.stack-row .film-body .original-excerpt{font-size:18px;line-height:1.65;-webkit-line-clamp:4}.stack-row .film-body details p{font-size:18px;line-height:1.7}.stack-row .film-body summary{font-size:17px}.stack-row:has(details[open]),.stack-row:has(.playing),.stack-row:has(:focus-visible){position:relative;top:auto}.stack-row .film-number{font-size:16px;background:#091a2fea;color:#ffd57a;border:1px solid #ffd57a88;box-shadow:0 4px 16px #0004}.stack-row .play-film{box-shadow:0 0 0 8px #ffffff19,0 5px 28px #ffab2544}
@media(min-width:760px){.stack-row{grid-template-columns:repeat(2,minmax(0,1fr))}.stack-row .film-body{padding:28px}.stack-row .film-body h3{font-size:28px}}
.award-section.trophy-showcase{display:block;width:100%;max-width:none;margin:0 0 64px;padding:0;border:0;border-radius:0;background:#091522;color:#fff;overflow:hidden;opacity:1;transform:none}.trophy-title{padding-block:64px 38px;text-align:center}.trophy-showcase .eyebrow{justify-content:center;color:#ffcf79;font-size:14px;letter-spacing:.09em}.trophy-showcase h2{font-size:clamp(34px,5vw,66px);line-height:1.12}.trophy-showcase .trophy-title p:last-child{font-size:18px;color:#c1cedd;max-width:620px;margin-inline:auto}.trophy-photo{width:100%;margin:0;position:relative;isolation:isolate}.trophy-photo>img{width:100%;height:auto;display:block;border-radius:0;box-shadow:none}.trophy-photo:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;box-shadow:inset 0 0 70px #ffc4534d,inset 0 0 0 2px #ffdd9980;background:linear-gradient(115deg,transparent 30%,#fff2bd22 45%,transparent 60%);background-size:260% 100%;animation:trophy-sheen 9s ease-in-out infinite}.trophy-photo:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#091522cc,transparent 22%)}.trophy-photo figcaption{position:absolute;z-index:2;bottom:20px;left:50%;transform:translateX(-50%);display:grid;gap:5px;text-align:center;white-space:nowrap;border:1px solid #ffe29b99;border-radius:16px;background:#081521eb;color:#ffd47b;padding:16px 28px;box-shadow:0 0 35px #ffbd3433;font-size:clamp(21px,3vw,36px);font-weight:900;letter-spacing:.04em}.trophy-photo figcaption span{font-size:14px;letter-spacing:.14em;color:#fff0cd}.trophy-spark{position:absolute;z-index:2;color:#fff0bb;font-size:clamp(30px,6vw,80px);text-shadow:0 0 24px #ffc353;pointer-events:none;animation:trophy-sparkle 5s ease-in-out infinite}.spark-one{top:15%;left:16%}.spark-two{top:39%;right:9%;animation-delay:2s}.trophy-location{padding-block:46px 64px;max-width:800px;text-align:center}.trophy-location p:not(.eyebrow){font-size:18px;line-height:1.75;color:#c6d1df}.trophy-location .text-link.dark{font-size:18px;color:#ffcb6c}
@keyframes trophy-sheen{0%,20%{background-position:100% 0}70%,100%{background-position:-100% 0}}@keyframes trophy-sparkle{0%,100%{opacity:.4;scale:.8}50%{opacity:1;scale:1.1}}
.motion-paused .stack-row{position:relative;top:auto}
@media(prefers-reduced-motion:reduce){.stack-row{position:relative;top:auto}.trophy-photo:before,.trophy-spark{animation:none}}
/* The trophy fills phones, then becomes a framed photograph on larger screens. */
/* Reviews reuse the film stack while keeping their light, opaque card surfaces. */
.reviews-section{overflow:visible}.review-grid.review-stack{display:block;isolation:isolate;overflow:visible;padding-bottom:12vh}.review-stack .stack-row .review-card{display:flex;flex-direction:column;background:#fff;border:1px solid #d9bb815e;box-shadow:0 -12px 36px #10274722,0 0 0 1px #d9bb8133;opacity:1;transform:none;translate:none}.review-stack .review-card blockquote{font-size:18px;line-height:1.7}.review-stack .review-author b{font-size:17px}.review-stack .review-author small{font-size:14px}.review-stack .review-card>.stars{font-size:20px}.review-stack .review-card>a,.review-stack .review-expand{font-size:16px;line-height:1.5;min-height:44px}.review-stack .review-card>a{margin-top:auto}.review-stack .stack-row:has(.expanded){position:relative;top:auto}.review-stack .stack-row:last-child>.review-card:only-child{grid-column:1/-1}
@media(min-width:760px){
  .trophy-showcase .trophy-photo{width:calc(100% - 64px);max-width:600px;margin-inline:auto;border:1px solid #ffd78a70;border-radius:28px;overflow:hidden;background:#10243b;box-shadow:0 28px 70px #0006,0 0 50px #ffba3012}
  .trophy-showcase .trophy-photo figcaption{font-size:25px;padding:12px 24px;bottom:18px}
  .trophy-showcase .trophy-photo figcaption span{font-size:12px}
  .trophy-showcase .trophy-spark{font-size:44px}
}
@media(min-width:1100px){
  .award-section.trophy-showcase{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:40px 64px;padding:64px max(40px,calc((100% - 1160px)/2))}
  .trophy-showcase .trophy-title{width:100%;padding:0;text-align:left;align-self:center}
  .trophy-showcase .trophy-title .eyebrow{justify-content:flex-start}
  .trophy-showcase .trophy-title h2{font-size:clamp(38px,3.6vw,54px)}
  .trophy-showcase .trophy-title p:last-child{margin:0;max-width:460px}
  .trophy-showcase .trophy-photo{width:100%;max-width:520px;align-self:center}
  .trophy-showcase .trophy-location{grid-column:1/-1;width:100%;max-width:800px;padding:36px 0 0;border-top:1px solid #ffd78a30}
  .trophy-showcase .trophy-location h2{font-size:38px}
}
/* Review headers stay exposed; invisible tails synchronize the stack exit. */
.review-stack .stack-row{padding-bottom:var(--review-tail,0px);margin-bottom:0}.review-stack-gap{height:clamp(80px,18vh,190px);margin-top:calc(0px - var(--review-tail,0px));pointer-events:none}.review-stack .stack-row .review-card{padding-top:18px}.review-stack .review-author{line-height:1.4}.review-stack .review-card>.stars{line-height:1.2;margin-top:10px;margin-bottom:12px}
.review-stack:is(.review-stack-static,:has(.expanded),:has(:focus-visible)) .stack-row,.motion-paused .review-stack .stack-row{position:relative;top:auto;padding-bottom:0;margin-bottom:28px}
.review-stack:is(.review-stack-static,:has(.expanded),:has(:focus-visible)) .review-stack-gap,.motion-paused .review-stack-gap{display:none}
@media(prefers-reduced-motion:reduce){.review-stack .stack-row{position:relative;top:auto;padding-bottom:0;margin-bottom:28px}.review-stack-gap{display:none}}
