/* Om Satya Film LLP - scroll effects layer. Load AFTER style.css */
:root{--ink:#03121a;--gold:#cda85a;--green:#0f6a3f;--cream:#f3efe4;--ease:cubic-bezier(.2,.8,.2,1)}
html{background:var(--ink)}

/* scroll progress (all pages) */
#prog{position:fixed;top:0;left:0;height:3px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:0 50%;z-index:99;pointer-events:none}

/* inner pages: cards rise in */
.rv{opacity:0;transform:translateY(36px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--d,0)*90ms)}
.rv.in{opacity:1;transform:none}

/* ---------- HOME ---------- */
body.home{isolation:isolate;background:transparent!important;color:var(--cream)}
body.home main{background:transparent}
.bg{position:fixed;inset:0;z-index:-1;overflow:hidden;background:var(--ink)}
.bg video{width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.bg .veil{position:absolute;inset:0;background:linear-gradient(270deg,rgba(3,18,26,.9) 0%,rgba(3,18,26,.55) 45%,rgba(3,18,26,.1) 100%)}
.bg .dim{position:absolute;inset:0;background:var(--ink);opacity:var(--p,0)}

body.home header{position:fixed;top:0;left:0;right:0;z-index:50;background:transparent;transition:background .4s,backdrop-filter .4s}
body.scrolled header{background:rgba(3,18,26,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}

/* hero */
.h-hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:7rem 0 5rem}
.h-hero .wrap{display:flex;justify-content:flex-end}
.h-hero .in{width:min(100%,36rem)}
.h-hero h1{font-family:'Archivo Black',sans-serif;font-size:clamp(2.6rem,7.5vw,6.2rem);line-height:.98;margin:0 0 1.5rem}
.h-hero p{font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.6;max-width:32em}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em}
.w>span{display:inline-block;transform:translateY(110%);animation:up 1s var(--ease) forwards;animation-delay:calc(var(--i)*90ms + 350ms)}
@keyframes up{to{transform:none}}
.h-hero .in p,.h-hero .btns{opacity:0;animation:fade 1s ease 1.3s forwards}
@keyframes fade{to{opacity:1}}
.cue{position:absolute;left:50%;bottom:2rem;width:26px;height:44px;margin-left:-13px;border:2px solid var(--gold);border-radius:14px}
.cue span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--gold);animation:cue 1.6s ease-in-out infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(16px)}}

/* pinned services */
.h-pin{position:relative;height:420vh}
.stick{position:sticky;top:0;height:100vh;display:flex;align-items:center}
.stick .wrap{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(1.5rem,5vw,4rem);align-items:center}
.right{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.2rem,3vw,2.5rem);align-items:center}
.rail{position:relative;height:50vh;width:14px}
.rail::before{content:"";position:absolute;left:6px;top:0;bottom:0;width:2px;background:rgba(243,239,228,.2)}
.rail i{position:absolute;left:6px;top:0;bottom:0;width:2px;background:var(--gold);transform:scaleY(var(--sp,0));transform-origin:50% 0}
.rail b{position:absolute;left:0;width:14px;height:14px;border-radius:50%;background:var(--ink);border:2px solid rgba(243,239,228,.35);transition:.4s}
.rail b:nth-of-type(1){top:0}.rail b:nth-of-type(2){top:calc(50% - 7px)}.rail b:nth-of-type(3){bottom:0}
.rail b.on{background:var(--gold);border-color:var(--gold);transform:scale(1.3)}
.svs{display:grid}
.sv{grid-area:1/1;opacity:0;transform:translateY(50px);transition:opacity .7s var(--ease),transform .7s var(--ease);pointer-events:none}
.sv.on{opacity:1;transform:none;pointer-events:auto}
.sv h3{font-family:'Archivo Black',sans-serif;font-size:clamp(1.9rem,4.2vw,3.7rem);line-height:1;margin:0 0 1.2rem;color:var(--gold)}
.sv p{font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.6;max-width:30em}

/* team */
.glass{padding:2.5rem;background:rgba(3,18,26,.55);border:1px solid rgba(205,168,90,.35);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.glass h2,.h-credits h2,.h-mission h2{font-family:'Archivo Black',sans-serif;font-size:clamp(1.6rem,3vw,2.4rem);margin:0 0 1rem}

/* mission: words light up as you scroll */
.h-mission{padding:28vh 0}
.scrub{font-family:'Archivo Black',sans-serif;font-size:clamp(1.9rem,5.4vw,4.4rem);line-height:1.12;max-width:20em;margin:0}
.sw{opacity:.16;transition:opacity .35s,color .35s}
.sw.lit{opacity:1;color:var(--cream)}
.sw.lit:last-child{color:var(--gold)}

/* credits: two rows drift sideways with scroll */
.h-credits{padding:8rem 0 10rem;overflow:hidden}
.drift{display:flex;gap:3rem;white-space:nowrap;list-style:none;margin:2.5rem 0 0;padding:0;will-change:transform}
.drift.rev{margin-left:-60vw}
.drift li{font-family:'Archivo Black',sans-serif;font-size:clamp(2.8rem,9vw,8rem);line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--gold);display:flex;align-items:center;gap:3rem}
.drift li::after{content:"";width:.28em;height:.28em;border-radius:50%;background:var(--green);flex:none}
.drift.rev li{-webkit-text-stroke-color:rgba(243,239,228,.7)}

@media(max-width:760px){
  .h-hero{align-items:flex-end;padding-bottom:6rem}
  .bg video{object-position:72% 50%}
  .bg .veil{background:linear-gradient(0deg,rgba(3,18,26,.92) 0%,rgba(3,18,26,.35) 70%,rgba(3,18,26,.1) 100%)}
  .stick .wrap{grid-template-columns:1fr;gap:1.2rem}
  .right{grid-template-columns:1fr}
  .rail,.glass .mini{display:none}
  .glass{padding:1.2rem}
  .glass p{font-size:.95rem;margin-bottom:.6rem}
}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* reduced motion: static, readable, no pinning */
.rm .w>span{transform:none;animation:none}
.rm .h-hero .in p,.rm .h-hero .btns{opacity:1;animation:none}
.rm .cue span{animation:none}
.rm .h-pin{height:auto}.rm .stick{position:static;height:auto;padding:5rem 0}.rm .rail{display:none}
.rm .svs{gap:3rem}.rm .sv{grid-area:auto;opacity:1;transform:none}
.rm .sw{opacity:1}.rm .drift{transform:none!important}.rm .rv{opacity:1;transform:none;transition:none}
