/* ANK Cine — shared styles for cinematic sites. Pages set --bg --fg --muted --accent --line --serif --sans */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.serif{font-family:var(--serif)}
.eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent)}
.muted{color:var(--muted)}
.wrap{width:min(1240px,100% - 48px);margin:0 auto}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.02;letter-spacing:-.015em}
h1{font-size:clamp(46px,9vw,132px)}
h2{font-size:clamp(36px,6vw,84px)}
h3{font-size:clamp(24px,2.6vw,34px)}
em{font-style:italic}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:20px clamp(18px,4vw,48px);transition:background .4s,backdrop-filter .4s,padding .4s}
.scrolled .nav{background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(14px);padding-top:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.nav .brand{font-family:var(--serif);font-size:22px;letter-spacing:.06em}
.nav .links{display:flex;gap:28px;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.nav .links a{opacity:.75;transition:opacity .2s}.nav .links a:hover{opacity:1}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:999px;font-size:14px;letter-spacing:.06em;border:1px solid var(--fg);transition:all .3s}
.btn:hover{background:var(--fg);color:var(--bg)}
.btn.solid{background:var(--accent);border-color:var(--accent);color:var(--on-accent,#111)}
.btn.solid:hover{filter:brightness(1.08);background:var(--accent);color:var(--on-accent,#111)}
@media(max-width:760px){.nav .links{display:none}}

/* scroll sequence */
.seq{position:relative;height:var(--len,400vh)}
.seq .stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.seq canvas{position:absolute;inset:0;width:100%;height:100%;display:block;background:#000}
.seq .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,0) 35%,rgba(0,0,0,0) 55%,rgba(0,0,0,.65));pointer-events:none}
.seq .cap{position:absolute;left:clamp(20px,6vw,90px);right:clamp(20px,6vw,90px);opacity:0;will-change:opacity,transform;color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.seq .cap.bottom{bottom:clamp(40px,10vh,110px)}.seq .cap.top{top:clamp(90px,16vh,160px)}.seq .cap.center{top:50%;margin-top:-1em;text-align:center}
.seq .cap.right{text-align:right}
.seq-progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(255,255,255,.12)}
.seq-progress i{display:block;height:100%;background:var(--accent);transform-origin:left;transform:scaleX(0)}
.scroll-hint{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#fff;opacity:.8;animation:hint 2.2s ease-in-out infinite}
@keyframes hint{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}

/* reveals */
.reveal{opacity:0;transform:translateY(40px);transition:opacity 1s cubic-bezier(.2,.7,.1,1),transform 1s cubic-bezier(.2,.7,.1,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.2s}.reveal.d3{transition-delay:.3s}
.clip{clip-path:inset(100% 0 0 0);transition:clip-path 1.3s cubic-bezier(.7,0,.2,1)}
.clip.in{clip-path:inset(0 0 0 0)}
.clip img{transform:scale(1.15);transition:transform 1.8s cubic-bezier(.2,.7,.1,1)}
.clip.in img{transform:scale(1)}
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
.split .w>span{display:inline-block;transform:translateY(105%);transition:transform 1s cubic-bezier(.2,.7,.1,1)}
.split.in .w>span{transform:none}
[data-panel].in{animation:panel .7s cubic-bezier(.2,.7,.1,1)}
@keyframes panel{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* rails */
.rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 24px 24px;scrollbar-width:none;cursor:grab}
.rail::-webkit-scrollbar{display:none}.rail.drag{cursor:grabbing;scroll-snap-type:none}
.rail>*{scroll-snap-align:start;flex:0 0 auto}

section.pad{padding:clamp(80px,14vh,160px) 0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:center}
@media(max-width:860px){.grid2{grid-template-columns:1fr}}
.line{border-top:1px solid var(--line)}
footer.site{padding:60px 0 40px;border-top:1px solid var(--line);font-size:14px}
.demo-note{font-size:12px;opacity:.6}
.wa-float{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;align-items:center;gap:10px;background:#25D366;color:#062;padding:12px 18px;border-radius:999px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.3);font-family:var(--sans)}
@media(prefers-reduced-motion:reduce){.reveal,.clip,.split .w>span{transition:none!important;opacity:1;transform:none;clip-path:none}}

[data-panel][hidden]{display:none!important}
