*{box-sizing:border-box}
:root{--bg-page:color-mix(in oklch,var(--color-obsidian),var(--color-reel-red) 6%);--bg-surface:color-mix(in oklch,var(--color-slate-rise),var(--color-reel-red) 7%);--bg-elevated:color-mix(in oklch,var(--color-ash-umber),var(--color-reel-red) 8%)}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:radial-gradient(120% 70% at 50% 0%,oklch(from var(--color-reel-red) l c h / .07),transparent 60%) var(--bg-page);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);text-wrap:pretty;overflow-x:hidden}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-hover)}
img,svg{display:block;max-width:100%}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--space-7)}
@media (max-width:900px){.wrap{padding:0 var(--space-5)}}
section{position:relative}
.section-pad{padding:var(--space-10) 0}
@media (max-width:900px){.section-pad{padding:var(--space-8) 0}}
.eyebrow{display:block;margin-bottom:var(--space-4)}
.h-display{font-family:var(--font-display);font-weight:var(--weight-regular);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin:0}
.h-xl{font-size:clamp(40px,6vw,var(--text-display-xl))}
.h-l{font-size:clamp(32px,4.5vw,var(--text-display-l))}
.h-m{font-size:clamp(26px,3.4vw,var(--text-display-m))}
.h-s{font-size:clamp(22px,2.6vw,var(--text-display-s))}
.lede{font-size:var(--text-body-l);color:var(--text-secondary);max-width:640px;margin:var(--space-5) 0 0}
.reveal{opacity:0;transform:translateY(28px);transition:opacity 900ms var(--ease-cinematic),transform 900ms var(--ease-cinematic)}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:120ms}
.reveal-delay-2{transition-delay:240ms}
.reveal-delay-3{transition-delay:360ms}

/* nav */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:100;border-bottom:1px solid transparent;transition:background-color var(--duration-base) var(--ease-cinematic),border-color var(--duration-base) var(--ease-cinematic)}
.site-nav.scrolled{background:rgba(11,12,14,.94);border-bottom-color:var(--border-default)}
.site-nav .wrap{display:flex;align-items:center;justify-content:space-between;height:88px}
.nav-logo{height:26px;width:auto}
.nav-links{display:flex;align-items:center;gap:var(--space-7);list-style:none;margin:0;padding:0}
.nav-links>li{position:relative}
.nav-links a{font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-secondary)}
.nav-links a:hover,.nav-links a.active{color:var(--text-primary)}
.nav-links a.active{position:relative}
.nav-links a.active::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--accent-secondary)}
.nav-cta{font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-primary);border:1px solid var(--border-default);padding:11px 20px;border-radius:var(--radius-s);transition:border-color var(--duration-fast) var(--ease-cinematic),color var(--duration-fast) var(--ease-cinematic)}
.nav-cta:hover{border-color:var(--accent);color:var(--accent)}
.nav-dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);min-width:240px;background:var(--bg-elevated);border:1px solid var(--border-default);padding:var(--space-3);opacity:0;pointer-events:none;transition:opacity var(--duration-base) var(--ease-cinematic),transform var(--duration-base) var(--ease-cinematic);box-shadow:var(--shadow-elevated)}
.nav-links>li:hover .nav-dropdown{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.nav-dropdown a{display:block;padding:var(--space-3) var(--space-4);color:var(--text-secondary);border-bottom:1px solid var(--border-default)}
.nav-dropdown li:last-child a{border-bottom:none}
.nav-dropdown a:hover{color:var(--accent)}
.nav-burger{display:none;background:none;border:none;color:var(--text-primary);cursor:pointer}
@media (max-width:960px){.nav-links{display:none}.nav-burger{display:block}}
.lang-switch{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-wide);text-transform:uppercase}
/* floating music notes ambience */
.note-particles{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:visible}
.note-particles span{position:absolute;bottom:0;color:var(--accent);opacity:0;font-size:20px;animation:note-float linear infinite;will-change:transform,opacity}
@keyframes note-float{0%{transform:translateY(0) translateX(0) rotate(0deg);opacity:0}8%{opacity:.4}90%{opacity:.35}100%{transform:translateY(-115vh) translateX(var(--drift,24px)) rotate(18deg);opacity:0}}

/* whatsapp fab */
.wa-fab{position:fixed;right:24px;bottom:24px;z-index:200;width:56px;height:56px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-default);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-elevated);transition:transform var(--duration-base) var(--ease-cinematic),border-color var(--duration-base) var(--ease-cinematic)}
.wa-fab:hover{transform:translateY(-3px);border-color:var(--accent)}
.wa-fab svg{width:26px;height:26px;color:var(--accent);position:relative;z-index:1}
.wa-fab::before{content:'';position:absolute;inset:0;border-radius:50%;border:1px solid var(--accent);opacity:.6;animation:wa-pulse 2.4s ease-out infinite}
@keyframes wa-pulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.6);opacity:0}}
@media (max-width:600px){.wa-fab{right:16px;bottom:16px;width:50px;height:50px}.wa-fab svg{width:23px;height:23px}}

/* social fab stack */
.social-fabs{position:fixed;left:24px;bottom:24px;z-index:200;display:flex;flex-direction:column;gap:22px}
.social-fabs a{width:48px;height:48px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-default);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-elevated);transition:transform var(--duration-base) var(--ease-cinematic),border-color var(--duration-base) var(--ease-cinematic);position:relative}
.social-fabs a:hover{transform:translateY(-3px);border-color:var(--accent)}
.social-fabs a::before{content:'';position:absolute;inset:0;border-radius:50%;border:1px solid var(--accent);opacity:.6;animation:wa-pulse 2.4s ease-out infinite}
.social-fabs a:nth-child(1)::before{animation-delay:0s}
.social-fabs a:nth-child(2)::before{animation-delay:.8s}
.social-fabs a:nth-child(3)::before{animation-delay:1.6s}
.social-fabs svg{width:21px;height:21px;color:var(--accent);position:relative;z-index:1}
@media (max-width:600px){.social-fabs{left:16px;bottom:16px;gap:18px}.social-fabs a{width:42px;height:42px}.social-fabs svg{width:19px;height:19px}}
.lang-switch a:hover{color:var(--accent)}
.lang-switch .active{color:var(--accent)}
.lang-switch .sep{color:var(--border-default)}

/* RTL (Hebrew) support */
html[dir="rtl"]{--font-display:'Frank Ruhl Libre',serif;--font-body:'Heebo',sans-serif;--font-mono:'Heebo',sans-serif;--tracking-wide:0;--tracking-wider:.01em;--tracking-widest:.02em}
html[dir="rtl"] *{text-transform:none !important}
html[dir="rtl"] .h-display{letter-spacing:0}
html[dir="rtl"] .frame-tc{left:auto;right:var(--space-3)}
html[dir="rtl"] .frame-num{right:auto;left:var(--space-3)}
html[dir="rtl"] .hero-bg .light-leak{right:auto;left:-10%}
html[dir="rtl"] .qform-success{direction:rtl}

/* cinema flight hero */
.cinema-flight{position:relative;height:720vh;background:var(--color-obsidian,#0b0c0e)}
.cinema-viewport{position:sticky;top:0;height:100vh;overflow:hidden}
.cinema-frame{position:absolute;inset:0;opacity:0;will-change:opacity,transform;pointer-events:none}
.cinema-frame img,.cinema-frame video{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(1.04) contrast(1.05)}
.cinema-screen-stage{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max(100%,177.68vh);height:max(100%,56.28vw)}
.cinema-screen-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.cinema-frame video{transform:scale(1.25) translate(-1.5%,-1.5%);transform-origin:center}
.cinema-screen-video{position:absolute;left:var(--videoX,490px);top:var(--videoY,210px);width:var(--videoWidth,1000px);height:var(--videoHeight,330px);overflow:hidden;pointer-events:none;cursor:pointer;background:#000}
.cinema-frame video.cinema-carpet-video{position:absolute;left:var(--carpetX,50%);top:var(--carpetY,96%);width:var(--carpetWidth,2.5%);height:var(--carpetHeight,1.6%);transform:translate(-50%,-50%);object-fit:contain;pointer-events:none;z-index:1;cursor:move}
.cinema-screen-video video{width:100%;height:100%;object-fit:fill;display:block;transform:none;filter:none}
.cinema-screen-play{position:absolute;inset:0;margin:auto;width:20%;aspect-ratio:1;min-width:36px;background:none;border:none;padding:0;color:var(--color-illuminated-gold);cursor:pointer;pointer-events:auto;transition:opacity .3s ease,transform .3s ease;filter:drop-shadow(0 4px 14px rgba(0,0,0,.6))}
.cinema-screen-play:hover{transform:scale(1.08)}
.cinema-screen-video.playing .cinema-screen-play{opacity:0;pointer-events:auto}
.cinema-screen-video.playing .cinema-screen-play:hover{opacity:1}
.cinema-vignette{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(120% 90% at 50% 40%,transparent 45%,rgba(0,0,0,.55) 100%),linear-gradient(180deg,rgba(0,0,0,.4),transparent 22%,transparent 68%,rgba(0,0,0,.55))}
.cinema-hero-content{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:88px clamp(24px,7vw,120px) 0;max-width:760px;transition:opacity .5s var(--ease-cinematic,ease);pointer-events:none}
.cinema-hero-content::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 65% at 68% 42%,rgba(6,6,7,.92),rgba(6,6,7,.8) 45%,rgba(6,6,7,.4) 68%,transparent 90%)}
html[dir="ltr"] .cinema-hero-content::before{background:radial-gradient(60% 65% at 32% 42%,rgba(6,6,7,.92),rgba(6,6,7,.8) 45%,rgba(6,6,7,.4) 68%,transparent 90%)}
.cinema-hero-content .hero-ctas a{pointer-events:auto}
.cinema-scroll-cue{position:absolute;bottom:var(--space-6);left:50%;transform:translateX(-50%);z-index:3;font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted,#9a9a9a);transition:opacity .5s ease}
.cinema-scroll-cue::after{content:'';display:block;width:1px;height:26px;margin:8px auto 0;background:linear-gradient(180deg,var(--color-reel-brass,#b08d4f),transparent);animation:cinema-cue-drift 1.8s ease-in-out infinite}
@keyframes cinema-cue-drift{0%,100%{transform:translateY(0);opacity:.7}50%{transform:translateY(8px);opacity:1}}
@media (prefers-reduced-motion:reduce){.cinema-flight{height:100vh}.cinema-viewport{position:relative}.cinema-frame{transition:none}.cinema-scroll-cue{display:none}}
@media (max-width:700px){
.cinema-flight{height:520vh}
.cinema-hero-content{padding:72px 20px 0;max-width:100%}
.cinema-hero-content .lede{font-size:15px;max-width:100%}
.cinema-hero-content .h-xl{font-size:clamp(28px,8vw,40px)}
.cinema-hero-content .hero-ctas{margin-top:var(--space-5)}
.cinema-hero-content .hero-meta{margin-top:var(--space-5);gap:var(--space-4);flex-wrap:wrap}
.cinema-screen-play{width:26%}
.cinema-screen-stage{width:250vw;height:calc(250vw / 1.7768)}
.cinema-frame:has(.cinema-screen-stage){background:#080402}
.cinema-scroll-cue{bottom:var(--space-4);font-size:10px}
}

.bg-royal-velvet{position:relative;background:linear-gradient(180deg,var(--color-ash-umber),var(--color-slate-rise))}

/* hero */
.hero-scrub-wrap{position:relative;min-height:900vh}
.hero-bg{position:sticky;top:0;height:100vh;margin-bottom:-100vh;z-index:0;overflow:hidden;background:radial-gradient(120% 90% at 30% 10%,color-mix(in oklch,var(--bg-elevated),var(--color-reel-red) 6%) 0%,var(--bg-page) 60%),linear-gradient(160deg,color-mix(in oklch,var(--bg-elevated),var(--color-reel-red) 4%),var(--bg-page) 55%);}
.hero{position:relative;z-index:1;min-height:100vh;display:flex;align-items:center;padding-top:88px}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.9;filter:brightness(1.35) contrast(1.05);transform:none}
.hero-video-overlay{position:absolute;inset:0;z-index:0;background:linear-gradient(160deg,rgba(11,12,14,.25),rgba(11,12,14,.45));pointer-events:none}
.hero-video-mask{position:absolute;left:5%;width:90%;top:41%;height:24%;z-index:0;background:var(--color-obsidian);pointer-events:none}

/* cinema curtains */
.hero-curtain{position:absolute;top:0;bottom:0;width:52%;z-index:3;pointer-events:none;will-change:transform;overflow:hidden}
.hero-curtain-l{left:0}
.hero-curtain-r{right:0}
.hero-curtain::before{content:'';position:absolute;inset:-2% -4%;background-image:repeating-linear-gradient(90deg,#470800 0px,#6b1000 22px,#7a1400 44px,#540a00 66px,#2b0500 88px,#79340a 110px,#470800 132px);background-size:132px 100%;filter:blur(.4px)}
.hero-curtain::after{content:'';position:absolute;inset:0;mix-blend-mode:overlay;opacity:.6;background-image:repeating-linear-gradient(90deg,transparent 0px,rgba(197,125,54,.4) 10px,transparent 26px,rgba(0,0,0,.5) 44px,transparent 66px);background-size:132px 100%}
.hero-curtain-glow{position:absolute;inset:0;z-index:1;pointer-events:none}
.hero-curtain-l .hero-curtain-glow{background:radial-gradient(65% 55% at 8% 22%,rgba(255,170,150,.3),transparent 60%),linear-gradient(90deg,rgba(0,0,0,.6),transparent 18% 66%,rgba(0,0,0,.75))}
.hero-curtain-r .hero-curtain-glow{background:radial-gradient(65% 55% at 92% 22%,rgba(255,170,150,.3),transparent 60%),linear-gradient(270deg,rgba(0,0,0,.6),transparent 18% 66%,rgba(0,0,0,.75))}
.hero-curtain-l{box-shadow:inset -50px 0 100px rgba(0,0,0,.7)}
.hero-curtain-r{box-shadow:inset 50px 0 100px rgba(0,0,0,.7)}
.hero-curtain-valance{position:absolute;top:0;left:0;right:0;height:11%;z-index:4;pointer-events:none;background-image:repeating-linear-gradient(90deg,#540a00 0px,#79340a 20px,#300600 40px);background-size:80px 100%;-webkit-mask:radial-gradient(ellipse 40px 100% at 50% 0,transparent 90%,#fff 100%) repeat-x;mask:radial-gradient(ellipse 40px 100% at 50% 0,transparent 90%,#fff 100%) repeat-x;-webkit-mask-size:80px 100%;mask-size:80px 100%;box-shadow:0 8px 22px rgba(0,0,0,.55)}
.hero-bg::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.02) 0 2px,transparent 2px 4px);mix-blend-mode:overlay;animation:grain-shift 9s steps(6) infinite}
.hero-bg .light-leak{position:absolute;width:70%;height:140%;top:-20%;right:-10%;background:radial-gradient(circle,rgba(197,125,54,.14),transparent 60%);filter:blur(40px);animation:leak-drift 22s ease-in-out infinite}
.hero-poem{position:absolute;inset:0;z-index:1;display:flex;align-items:flex-end;justify-content:center;padding:0 clamp(24px,8vw,120px) 8%;pointer-events:none;transition:opacity .5s ease}
.hero-poem p{position:absolute;max-width:640px;text-align:center;font-family:var(--font-display);font-style:italic;font-size:clamp(19px,2.3vw,27px);line-height:1.75;color:#8a7a63;opacity:0;text-shadow:none;transition:opacity .6s ease,color .6s ease,text-shadow .6s ease}
.hero-poem p.lit{opacity:1;color:#f6ead2;text-shadow:0 0 10px rgba(241,196,142,.5),0 0 26px rgba(241,196,142,.3);animation:hero-poem-flick 3.4s ease-in-out infinite}
@keyframes hero-poem-flick{0%,100%{text-shadow:0 0 10px rgba(241,196,142,.5),0 0 26px rgba(241,196,142,.3)}45%{text-shadow:0 0 14px rgba(241,196,142,.7),0 0 34px rgba(241,196,142,.4)}60%{text-shadow:0 0 7px rgba(241,196,142,.35),0 0 18px rgba(241,196,142,.2)}}
@keyframes leak-drift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-40px,30px) scale(1.08)}}
@keyframes grain-shift{0%{transform:translate(0,0)}100%{transform:translate(-3%,2%)}}

/* orbit person modal */
.person-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity var(--duration-base) var(--ease-cinematic),visibility var(--duration-base) var(--ease-cinematic)}
.person-modal.open{opacity:1;visibility:visible}
.person-modal-backdrop{position:absolute;inset:0;background:rgba(11,12,14,.85);backdrop-filter:blur(4px)}
.person-modal-panel{position:relative;z-index:1;width:min(420px,88vw);max-height:88vh;overflow:auto;background:linear-gradient(160deg,var(--bg-elevated),var(--bg-surface) 70%);border:1px solid var(--border-default);border-top:2px solid var(--accent);border-radius:16px;box-shadow:0 34px 70px -30px rgba(0,0,0,.7);transform:translateY(16px) scale(.98);transition:transform var(--duration-base) var(--ease-cinematic)}
.person-modal.open .person-modal-panel{transform:translateY(0) scale(1)}
.person-modal-close{position:absolute;top:var(--space-4);left:var(--space-4);width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.35);border:1px solid var(--border-default);color:var(--text-secondary);font-size:20px;line-height:1;cursor:pointer;z-index:2;transition:color .2s ease,border-color .2s ease}
.person-modal-close:hover{color:var(--accent);border-color:var(--accent)}
.person-modal-media{aspect-ratio:3/4;max-height:42vh;overflow:hidden;border-radius:16px 16px 0 0}
.person-modal-media image-slot{width:100%;height:100%;display:block}
.person-modal-media image-slot::part(img),.person-modal-media img{image-rendering:auto}
.person-modal-body{padding:var(--space-6)}
.person-modal-body h3{font-family:var(--font-display);font-size:var(--text-headline);font-weight:var(--weight-regular);color:var(--text-primary);margin:0 0 var(--space-2)}
.person-modal-dates{font-family:var(--font-mono);font-size:12px;letter-spacing:var(--tracking-wide);color:var(--accent);margin:0 0 var(--space-4)}
.person-modal-bio{color:var(--text-secondary);font-size:var(--text-body);line-height:1.7;margin:0 0 var(--space-4)}
.person-modal-edit-btn{background:none;border:1px solid var(--border-default);color:var(--text-secondary);font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-wide);text-transform:uppercase;padding:8px 14px;border-radius:6px;cursor:pointer;transition:border-color .2s ease,color .2s ease}
.person-modal-edit-btn:hover{border-color:var(--accent);color:var(--accent)}
.person-modal-edit{display:none;flex-direction:column;gap:var(--space-4)}
.person-modal-edit:not([hidden]){display:flex}
.person-modal-edit input,.person-modal-edit textarea{background:rgba(0,0,0,.28);border:1px solid var(--border-default);border-radius:8px;padding:10px 12px;color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-body);outline:none}
.person-modal-edit input:focus,.person-modal-edit textarea:focus{border-color:var(--accent)}
.person-modal-edit textarea{min-height:88px;resize:vertical}
.person-modal-edit-actions{display:flex;gap:var(--space-3);position:sticky;bottom:0;background:var(--bg-elevated);padding-top:var(--space-2);margin-top:auto}
.person-modal-save-btn{background:var(--accent);color:var(--color-obsidian);border:none;border-radius:8px;padding:10px 20px;font-family:var(--font-body);font-weight:600;cursor:pointer;transition:background .2s ease}
.person-modal-save-btn:hover{background:var(--accent-hover)}
.person-modal-cancel-btn{background:none;border:1px solid var(--border-default);color:var(--text-secondary);border-radius:8px;padding:10px 20px;cursor:pointer;transition:border-color .2s ease}
.person-modal-cancel-btn:hover{border-color:var(--text-secondary)}
.person-modal-save-status{font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-wide);position:absolute;top:var(--space-4);right:var(--space-4);z-index:2}
.person-modal-save-status.ok{color:var(--accent)}
.person-modal-save-status.err{color:var(--color-reel-red)}

/* orbit reveal */
.orbit-wrap{position:relative;min-height:220vh}
.orbit-stage{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--bg-page)}
.orbit-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.42;filter:grayscale(.05) sepia(.12) saturate(1.15) brightness(.82) contrast(1.08)}
.orbit-bg-overlay{position:absolute;inset:0;z-index:0;background:radial-gradient(120% 90% at 50% 32%,transparent 0%,rgba(9,3,0,.55) 65%,var(--bg-page) 100%)}
.orbit-items{z-index:1}
.orbit-item{position:absolute;width:72px;height:104px;top:50%;left:50%;margin-left:-36px;margin-top:-52px;will-change:transform,opacity;cursor:pointer}
.orbit-item image-slot{width:100%;height:100%;display:block}
.orbit-lines{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:40}
.orbit-lines path{fill:none;stroke:var(--accent,#b08d4f);stroke-width:1;vector-effect:non-scaling-stroke}
.orbit-title{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:500;margin:0;text-align:center;font-family:var(--font-display);font-style:italic;font-weight:var(--weight-regular);font-size:clamp(22px,2.6vw,36px);line-height:1.3;color:#F4EFE6;text-shadow:0 0 10px rgba(241,196,142,.5),0 0 26px rgba(241,196,142,.3);pointer-events:none;max-width:34%;will-change:transform,opacity,filter;animation:hero-poem-flick 3.4s ease-in-out infinite}
.story-section{position:relative;overflow:hidden;background:var(--bg-page);padding:var(--space-9) 0 var(--space-10);min-height:78vh;display:flex;align-items:center}
.story-bg{position:absolute;inset:0;z-index:0}
.story-bg img{width:100%;height:100%;object-fit:cover;object-position:center 35%;display:block;filter:saturate(.82) sepia(.08) contrast(1.05) brightness(.8);-webkit-mask-image:linear-gradient(180deg,transparent,#000 16%,#000 82%,transparent);mask-image:linear-gradient(180deg,transparent,#000 16%,#000 82%,transparent)}
.story-bg::before{content:'';position:absolute;inset:0;z-index:1;opacity:.3;mix-blend-mode:overlay;pointer-events:none;background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px)}
.story-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,var(--bg-page) 0%,transparent 18%,transparent 72%,var(--bg-page) 100%);pointer-events:none}
.story-section>.wrap{position:relative;z-index:1;width:100%}
.story-section .eyebrow{display:block;text-align:center}
.story-title{position:relative;text-align:center;padding:var(--space-6) 0 0}
.story-title h2{font-family:var(--font-display);font-style:italic;font-weight:var(--weight-regular);font-size:clamp(32px,4.4vw,52px);color:#F4EFE6;text-shadow:0 0 10px rgba(241,196,142,.5),0 0 26px rgba(241,196,142,.3);margin:0;letter-spacing:-.01em}
.story-title-rule{position:relative;width:min(560px,80%);height:1px;background:linear-gradient(90deg,transparent,var(--border-default) 15%,var(--accent-secondary) 50%,var(--border-default) 85%,transparent);margin:var(--space-6) auto}
.story-title-rule::after{content:'';position:absolute;top:50%;left:50%;width:8px;height:8px;border-radius:50%;background:var(--accent);transform:translate(-50%,-50%);box-shadow:0 0 16px 4px color-mix(in oklch,var(--accent),transparent 30%)}
.story-link{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-decoration:none}
.story-ring{position:relative;width:110px;height:110px;border-radius:50%;border:1px solid var(--accent);display:flex;align-items:center;justify-content:center;color:var(--text-primary);transition:transform var(--duration-base) var(--ease-cinematic)}
.story-ring svg{width:22px;height:22px}
.clapper-top{transform-origin:4px 10px;animation:clapper-clap 2.6s ease-in-out infinite}
@keyframes clapper-clap{0%,60%{transform:rotate(0deg)}68%{transform:rotate(-22deg)}76%{transform:rotate(0deg)}100%{transform:rotate(0deg)}}
.story-ring::before{content:'';position:absolute;inset:-1px;border-radius:50%;border:1px solid var(--accent);opacity:.6;animation:story-ring-pulse 2.6s ease-out infinite}
.story-link:hover .story-ring{transform:scale(1.06);box-shadow:0 0 30px -6px color-mix(in oklch,var(--accent),transparent 30%)}
@keyframes story-ring-pulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.5);opacity:0}}
.story-link span{font-family:var(--font-mono);font-size:12px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--accent)}
.hero .wrap{position:relative;z-index:1;max-width:760px}
.hero-ctas{display:flex;gap:var(--space-4);margin-top:var(--space-7);flex-wrap:wrap}
.hero-meta{display:flex;gap:var(--space-6);margin-top:var(--space-8);font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted)}
.hero-meta strong{color:var(--text-secondary);font-weight:var(--weight-medium)}

/* impact / donation */
.qform-impact-hint{font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-wide);color:var(--text-muted);margin:calc(-1*var(--space-2)) 0 0}
.qform-impact-hint a{color:var(--accent)}
.qform-impact-hint a:hover{color:var(--accent-hover)}
.impact-section{position:relative;background:linear-gradient(180deg,var(--color-ash-umber),var(--color-slate-rise));border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default)}
.impact-panel{max-width:960px;margin:0 auto;display:grid;grid-template-columns:300px 1fr;gap:var(--space-8);align-items:center}
@media (max-width:760px){.impact-panel{grid-template-columns:1fr;text-align:center}}
.impact-media{border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--shadow-elevated);aspect-ratio:3/4;position:relative}
.impact-media::after{content:'';position:absolute;inset:0;border-radius:inherit;border:3px solid var(--accent);opacity:.5;animation:impact-halo 3.2s ease-in-out infinite;pointer-events:none}
.impact-media img{width:100%;height:100%;object-fit:cover;display:block;animation:impact-kenburns 22s ease-in-out infinite alternate}
@keyframes impact-kenburns{0%{transform:scale(1) translate(0,0)}100%{transform:scale(1.18) translate(-2.5%,-3%)}}
@keyframes impact-halo{0%,100%{opacity:.5;box-shadow:inset 0 0 20px rgba(197,125,54,.4)}50%{opacity:1;box-shadow:inset 0 0 44px rgba(197,125,54,.75)}}
.impact-cta-live{position:relative;display:inline-flex}
.impact-pulse-dot{position:absolute;top:-7px;left:-7px;width:16px;height:16px;border-radius:50%;background:var(--accent);pointer-events:none;box-shadow:0 0 10px 2px rgba(197,125,54,.8)}
.impact-pulse-dot::before{content:'';position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--accent);animation:wa-pulse 1.8s ease-out infinite}
.impact-copy{display:flex;flex-direction:column}
.impact-text{color:var(--text-secondary);font-size:var(--text-body-l);line-height:1.7;margin:var(--space-4) 0 var(--space-6)}
.impact-ctas{display:flex;gap:var(--space-4);flex-wrap:wrap}
@media (max-width:760px){.impact-ctas{justify-content:center}}
.impact-ctas button{border-radius:10px!important;box-shadow:0 10px 24px -10px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.12),inset 0 -1px 0 rgba(0,0,0,.35)!important;transform:translateZ(0)}
.impact-ctas a:nth-child(2) button{box-shadow:0 10px 24px -10px rgba(197,125,54,.5),inset 0 1px 0 rgba(255,255,255,.25)!important}
.impact-note{font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-wide);color:var(--text-muted);margin:var(--space-5) 0 0}

/* quote panel */
.quote-panel{position:relative;background:radial-gradient(140% 140% at 25% 0%,rgba(197,125,54,.06),transparent 55%),radial-gradient(120% 100% at 90% 100%,color-mix(in oklch,var(--color-burgundy-deep),transparent 70%),transparent 60%),linear-gradient(160deg,var(--bg-elevated),var(--bg-surface) 70%);border:1px solid var(--border-default);border-top:2px solid var(--accent);border-radius:18px;padding:var(--space-7);box-shadow:0 34px 70px -30px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.05),inset 0 -1px 0 rgba(0,0,0,.4),inset 0 20px 44px -32px rgba(255,255,255,.06),inset 0 -20px 44px -32px rgba(0,0,0,.5)}
.quote-panel::before,.quote-panel::after{content:'';position:absolute;width:20px;height:20px;border:1px solid var(--accent);opacity:.45;pointer-events:none}
.quote-panel::before{top:var(--space-4);left:var(--space-4);border-right:none;border-bottom:none}
.quote-panel::after{bottom:var(--space-4);right:var(--space-4);border-left:none;border-top:none}
.quote-panel h3{font-family:var(--font-display);font-size:var(--text-headline);font-weight:var(--weight-regular);margin:0 0 var(--space-2)}
.quote-panel p.sub{color:var(--text-secondary);font-size:var(--text-body-s);margin:0 0 var(--space-6)}
.qform{display:flex;flex-direction:column;gap:var(--space-5)}
.qform-fields input,.qform-fields select,.qform-fields textarea{background:rgba(0,0,0,.28)!important;border:1px solid var(--border-default)!important;border-radius:10px!important;padding:14px 16px!important;box-shadow:inset 0 2px 6px rgba(0,0,0,.4),inset 0 -1px 0 rgba(255,255,255,.03)!important;transition:border-color var(--duration-base) var(--ease-cinematic),box-shadow var(--duration-base) var(--ease-cinematic)}
.qform-fields input:focus,.qform-fields select:focus,.qform-fields textarea:focus{border-color:var(--accent)!important;box-shadow:var(--focus-ring)}
.qform-fields textarea{min-height:120px;resize:vertical}
.qform>div[data-ds="button"]{padding:16px 32px;font-size:13px;letter-spacing:var(--tracking-wider,.08em)}
.qform-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
@media (max-width:480px){.qform-row{grid-template-columns:1fr}}
.qform select{font-family:var(--font-body);font-size:var(--text-body);color:var(--text-primary);background:transparent;border:none;border-bottom:1px solid var(--border-default);padding:10px 2px;outline:none;width:100%}
.qform select option{background:var(--color-slate-rise)}
.qform textarea{font-family:var(--font-body);font-size:var(--text-body);color:var(--text-primary);background:transparent;border:none;border-bottom:1px solid var(--border-default);padding:10px 2px;outline:none;resize:vertical;min-height:64px;width:100%}
.field-label{font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-secondary);display:block;margin-bottom:var(--space-2)}
.qform-success{display:none;font-family:var(--font-display);font-style:italic;font-size:22px;color:var(--accent);text-align:center;padding:var(--space-6) 0}
.qform.sent .qform-fields,.qform.sent button{display:none}
.qform.sent+.qform-success,.qform.sent .qform-success{display:block}

/* section label row */
.section-head{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-8);max-width:760px}

/* ticker */
.ticker-strip{position:relative;overflow:hidden;direction:ltr;background:linear-gradient(90deg,var(--color-obsidian),color-mix(in oklch,var(--color-ash-umber),var(--color-reel-red) 20%) 50%,var(--color-obsidian));border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default);padding:var(--space-4) 0}
.ticker-track{display:flex;width:max-content;gap:var(--space-6);animation:ticker-scroll 16s linear infinite;white-space:nowrap}
.ticker-track .tk-item{font-family:var(--font-mono);font-size:13px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-paper-white-dim);display:flex;align-items:center;gap:var(--space-6)}
.ticker-track .tk-dot{color:var(--accent)}
@keyframes ticker-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* customer reviews */
.reviews-section{position:relative;background:linear-gradient(160deg,var(--color-ash-umber),var(--color-slate-rise));border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default)}
.reviews-avg{margin-top:var(--space-3);color:var(--text-secondary);font-family:var(--font-mono);font-size:13px;letter-spacing:var(--tracking-wide)}
.reviews-avg-stars{color:var(--accent);font-size:16px;letter-spacing:2px}
.reviews-layout{display:grid;grid-template-columns:360px 1fr;gap:var(--space-7);margin-top:var(--space-7);align-items:start}
@media (max-width:860px){.reviews-layout{grid-template-columns:1fr}}
.review-form{background:radial-gradient(140% 140% at 20% 0%,rgba(197,125,54,.05),transparent 55%),linear-gradient(165deg,var(--bg-elevated),var(--bg-surface) 75%);border:1px solid var(--border-default);border-radius:16px;padding:var(--space-7) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);position:relative;box-shadow:0 30px 60px -28px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.05),inset 0 -1px 0 rgba(0,0,0,.4),inset 0 18px 40px -30px rgba(255,255,255,.06),inset 0 -18px 40px -30px rgba(0,0,0,.5)}
.review-form h3{font-family:var(--font-display);font-style:italic;font-size:20px;color:var(--text-primary);margin:0}
.review-form-stars{display:flex;gap:6px;font-size:26px;cursor:pointer}
.review-form-stars span{color:var(--border-default);transition:color .2s ease}
.review-form-stars span.on{color:var(--accent)}
.review-form input,.review-form textarea{background:rgba(0,0,0,.28);border:1px solid var(--border-default);border-radius:10px;color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-body);padding:12px 14px;box-shadow:inset 0 2px 6px rgba(0,0,0,.4),inset 0 -1px 0 rgba(255,255,255,.03)}
.review-form textarea{min-height:96px;resize:vertical}
.review-form input:focus,.review-form textarea:focus{outline:none;border-color:var(--accent)}
.review-submit{background:var(--accent);color:var(--color-obsidian);border:none;border-radius:10px;padding:12px 20px;font-family:var(--font-body);font-weight:600;cursor:pointer;transition:background var(--duration-base) var(--ease-cinematic);box-shadow:0 10px 24px -10px rgba(197,125,54,.5),inset 0 1px 0 rgba(255,255,255,.25)}
.review-submit:hover{background:var(--accent-hover)}
.review-submit:active{background:var(--accent-active)}
.reviews-list{display:flex;flex-direction:column;gap:var(--space-4)}
.reviews-empty{color:var(--text-secondary);font-family:var(--font-display);font-style:italic;font-size:18px;text-align:center;padding:var(--space-7) 0}
.review-card{padding:var(--space-5);background:rgba(237,234,227,.03);border:1px solid var(--border-default);border-radius:var(--radius-m);transition:transform var(--duration-slow) var(--ease-cinematic),box-shadow var(--duration-slow) var(--ease-cinematic),border-color var(--duration-slow) var(--ease-cinematic)}
.review-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:var(--shadow-elevated),0 0 40px -14px rgba(197,125,54,.4)}
.review-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3)}
.review-delete{margin-inline-start:auto;background:none;border:none;color:var(--text-muted);font-size:18px;line-height:1;cursor:pointer;padding:0 2px;transition:color .2s ease}
.review-delete:hover{color:var(--color-reel-red)}
.review-delete.confirming{color:var(--color-reel-red);font-size:11px;font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase}
.review-name{font-family:var(--font-body);font-size:var(--text-body);color:var(--text-primary);margin:0}
.review-date{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}
.review-stars{color:var(--accent);font-size:15px;letter-spacing:3px;margin:var(--space-2) 0 var(--space-3)}
.review-stars .dim{color:var(--border-default)}
.review-text{color:var(--text-secondary);font-size:var(--text-body-s);line-height:1.6;margin:0}

/* film strip */
.filmstrip-pin{height:340vh}
.filmstrip-stage{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:var(--bg-page)}
.filmstrip-stage::before,.filmstrip-stage::after{content:'';position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-default) 15%,var(--accent) 50%,var(--border-default) 85%,transparent);opacity:.55;z-index:2}
.filmstrip-stage::before{top:calc(50% - 260px)}
.filmstrip-stage::after{top:calc(50% + 150px)}
.filmstrip-track{display:flex;gap:var(--space-6);will-change:transform;padding:0 var(--space-7)}
.frame{flex:0 0 auto;width:min(420px,72vw);position:relative;background:var(--bg-surface);border:1px solid var(--border-default);transition:transform var(--duration-slow) var(--ease-cinematic),box-shadow var(--duration-slow) var(--ease-cinematic);z-index:3}
.frame:hover{transform:scale(1.045);box-shadow:var(--shadow-elevated),0 0 60px -10px rgba(197,125,54,.35),0 0 90px -20px color-mix(in oklch,var(--color-burgundy-deep),transparent 55%)}
#hero-parallax{will-change:transform,opacity,filter}
.hero-reveal-item{will-change:opacity,transform,filter}
.frame-media{aspect-ratio:16/10;position:relative;overflow:hidden;background:linear-gradient(145deg,#241a12,#120d09)}
.frame-media .grain{position:absolute;inset:0;background:repeating-linear-gradient(100deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px);opacity:.5;pointer-events:none;z-index:2}
.frame-media .sheen{position:absolute;inset:-40%;background:linear-gradient(100deg,transparent 40%,rgba(197,125,54,.16) 50%,transparent 60%);transform:translateX(-60%);transition:transform 1.1s var(--ease-cinematic);pointer-events:none;z-index:2}}
.frame:hover .frame-media .sheen{transform:translateX(60%)}
.frame-tc{position:absolute;top:var(--space-3);left:var(--space-3);font-family:var(--font-mono);font-size:10px;letter-spacing:var(--tracking-wide);color:var(--color-paper-white-dim);background:rgba(11,12,14,.55);padding:4px 8px;z-index:2}
.frame-num{position:absolute;top:var(--space-3);right:var(--space-3);font-family:var(--font-mono);font-size:10px;color:var(--color-paper-white-dim);background:rgba(11,12,14,.55);padding:4px 8px;z-index:2}
.frame-body{padding:var(--space-5)}
.frame-body h4{font-family:var(--font-display);font-size:22px;font-weight:var(--weight-regular);margin:0 0 var(--space-2);color:var(--text-primary)}
.frame-body p{color:var(--text-secondary);font-size:var(--text-body-s);margin:0 0 var(--space-4)}
.frame-view{font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:6px}
.filmstrip-hint{position:absolute;bottom:var(--space-6);left:0;right:0;text-align:center;font-family:var(--font-mono);font-size:10px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);z-index:2}


.frame-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;transition:transform var(--duration-slow) var(--ease-cinematic);pointer-events:none;background:#000}
.frame:hover .frame-video{transform:scale(1.03)}
.frame-media .ph{z-index:0}
.frame-media .ph.frame-upload{cursor:pointer;z-index:3;transition:border-color var(--duration-base) var(--ease-cinematic),background var(--duration-base) var(--ease-cinematic)}
.frame-media .ph.frame-upload:hover,.frame-media .ph.frame-upload.drag{border-color:var(--accent);background:var(--bg-elevated)}
.ph-upload-icon{width:26px;height:26px;margin:0 auto var(--space-2);display:block;color:var(--accent)}
.frame-media.has-full{cursor:pointer}
.frame-play{position:absolute;inset:0;z-index:3;opacity:0;transition:opacity var(--duration-base) var(--ease-cinematic);pointer-events:none;display:none;align-items:center;justify-content:center}
.frame-media.has-video .frame-play{display:flex}
.frame:hover .frame-media.has-video .frame-play{opacity:1}
.frame-play svg{width:52px;height:52px}
.frame-view{cursor:pointer}
.frame-trim-label{font-family:var(--font-mono);font-size:10px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);display:block;margin-top:var(--space-3)}
.frame-trim{width:100%;margin-top:var(--space-2);accent-color:var(--accent)}
.frame-yt-row{display:flex;gap:6px;margin-top:var(--space-4);z-index:4;position:relative}
.frame-yt-input{flex:1;min-width:0;font-family:var(--font-body);font-size:12px;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-default);padding:6px 8px;outline:none}
.frame-yt-btn{font-family:var(--font-mono);font-size:10px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--accent);background:transparent;border:1px solid var(--border-default);padding:0 10px;cursor:pointer;transition:border-color var(--duration-base) var(--ease-cinematic)}
.frame-yt-btn:hover{border-color:var(--accent)}
.frame-yt-embed{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;background:#000}
.frame-yt-embed iframe{position:absolute;top:0;left:50%;width:111.13%;height:100%;transform:translateX(-50%)}
.frame-ig-embed{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;background:#000}
.cine-lightbox{position:fixed;inset:0;z-index:200;background:rgba(6,6,7,.96);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity var(--duration-slow) var(--ease-cinematic)}
.cine-lightbox.open{opacity:1;pointer-events:auto}
.cine-stage{position:relative;width:min(1200px,92vw);aspect-ratio:16/9;background:#000;box-shadow:var(--shadow-elevated)}
.cine-stage video{width:100%;height:100%;object-fit:contain;background:#000;display:block}
.cine-bar{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-wide);color:var(--color-paper-white-dim);background:linear-gradient(180deg,rgba(11,12,14,.75),transparent);z-index:2;pointer-events:none}
.cine-bar .cine-title{text-transform:uppercase}
.cine-close{position:absolute;top:var(--space-3);right:var(--space-3);z-index:3;width:36px;height:36px;border:1px solid var(--border-default);background:rgba(11,12,14,.55);color:var(--text-primary);font-size:20px;line-height:1;cursor:pointer;transition:border-color var(--duration-base) var(--ease-cinematic),color var(--duration-base) var(--ease-cinematic)}
.cine-close:hover{border-color:var(--accent);color:var(--accent)}
html[dir="rtl"] .cine-close{right:auto;left:var(--space-3)}

/* placeholder media */
.ph{position:relative;background:var(--bg-surface);border:1px dashed var(--border-default);display:flex;align-items:center;justify-content:center;overflow:hidden}
.ph-inner{padding:var(--space-5);text-align:center;max-width:320px}
.ph-inner .ph-label{font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--accent);display:block;margin-bottom:var(--space-2)}
.ph-inner .ph-meta{font-family:var(--font-mono);font-size:10px;letter-spacing:var(--tracking-wide);color:var(--text-muted);display:block;margin-bottom:var(--space-2)}
.ph-inner .ph-desc{font-size:12px;color:var(--text-secondary);line-height:var(--leading-meta)}

/* why grid */
#why.section-pad{padding-bottom:0}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:color-mix(in oklch,color-mix(in oklch,var(--border-default),var(--color-reel-red) 15%),transparent 40%);border:1px solid color-mix(in oklch,var(--border-default),var(--color-reel-red) 15%);border-bottom:none;margin-top:auto}
@media (max-width:900px){.why-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.why-grid{grid-template-columns:1fr}}
.why-cell{position:relative;overflow:hidden;background:linear-gradient(155deg,color-mix(in oklch,color-mix(in oklch,var(--bg-elevated) 55%,var(--color-reel-red) 12%),transparent 55%),color-mix(in oklch,color-mix(in oklch,var(--bg-page) 45%,var(--color-reel-red) 8%),transparent 55%) 70%);backdrop-filter:blur(1px);padding:var(--space-5);display:flex;flex-direction:column;justify-content:flex-end;gap:var(--space-2);min-height:150px;animation:why-cell-breathe 4.8s ease-in-out infinite}
.why-grid .why-cell:nth-child(1){animation-delay:0s}
.why-grid .why-cell:nth-child(2){animation-delay:.5s}
.why-grid .why-cell:nth-child(3){animation-delay:1s}
.why-grid .why-cell:nth-child(4){animation-delay:1.5s}
.why-grid .why-cell:nth-child(5){animation-delay:2s}
.why-grid .why-cell:nth-child(6){animation-delay:2.5s}
@keyframes why-cell-breathe{0%,100%{box-shadow:inset 0 0 40px rgba(0,0,0,.3);filter:brightness(1)}50%{box-shadow:inset 0 0 60px rgba(196,148,86,.35),0 0 30px rgba(196,148,86,.2);filter:brightness(1.12)}}
.why-cell::before{content:'';position:absolute;inset:0;opacity:.5;mix-blend-mode:overlay;background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px),repeating-linear-gradient(25deg,rgba(0,0,0,.12) 0 2px,transparent 2px 4px)}
.why-cell::after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 60px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.05)}
.why-cell>*{position:relative;z-index:1}
.why-cell .num{font-family:var(--font-mono);color:var(--accent);font-size:12px;letter-spacing:var(--tracking-wide)}
.why-cell h4{font-family:var(--font-display);font-size:18px;font-weight:var(--weight-regular);margin:0}
.why-cell p{color:var(--text-secondary);font-size:12.5px;margin:0}

/* services */
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}
@media (max-width:900px){.service-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.service-grid{grid-template-columns:1fr}}
.service-grid-video{grid-column:span 2;display:flex;align-items:center;justify-content:center;overflow:hidden}
.service-grid-video video{width:100%;height:100%;object-fit:contain}
@media (max-width:900px){.service-grid-video{grid-column:span 1}}
@property --sc-angle{syntax:'<angle>';inherits:false;initial-value:0deg}
.service-card{display:block;position:relative;background:var(--bg-surface);border:1px solid var(--border-default);overflow:hidden;transition:border-color var(--duration-base) var(--ease-cinematic),transform var(--duration-base) var(--ease-cinematic)}
.service-card:hover{border-color:transparent;transform:translateY(-6px)}
.service-card::after{content:'';position:absolute;inset:0;padding:1px;border-radius:inherit;background:conic-gradient(from var(--sc-angle),transparent 0 72%,var(--accent) 84%,transparent 96%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity var(--duration-base) var(--ease-cinematic);pointer-events:none;z-index:2}
.service-card:hover::after{opacity:1;animation:sc-spin 3s linear infinite}
@keyframes sc-spin{to{--sc-angle:360deg}}
[data-ds="button"][data-variant="secondary"] button{position:relative}
[data-ds="button"][data-variant="secondary"] button::after{content:'';position:absolute;inset:0;padding:1px;border-radius:inherit;background:conic-gradient(from var(--sc-angle),transparent 0 72%,var(--accent) 84%,transparent 96%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity var(--duration-base) var(--ease-cinematic);pointer-events:none}
[data-ds="button"][data-variant="secondary"] button:hover::after{opacity:1;animation:sc-spin 3s linear infinite}
.service-card .sc-media{aspect-ratio:4/3}
.service-card .sc-video{position:relative;display:block;overflow:hidden}
.service-card .sc-video img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform var(--duration-slow) var(--ease-cinematic)}
.service-card .sc-video:hover img{transform:scale(1.06)}
.service-card .sc-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(11,12,14,.25)}
.service-card .sc-play svg{width:52px;height:52px}
.service-card .sc-body{padding:var(--space-5)}
.service-card h4{font-family:var(--font-display);font-size:24px;font-weight:var(--weight-regular);color:var(--text-primary);margin:0 0 var(--space-2)}
.service-card p{color:var(--text-secondary);font-size:var(--text-body-s);margin:0 0 var(--space-4)}
.service-card .sc-link{font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--accent)}

/* film-grid: cinematic portfolio gallery */
.film-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}
@media (max-width:900px){.film-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.film-grid{grid-template-columns:1fr}}
.film-grid-video{grid-column:span 2;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-m)}
.film-grid-video video{width:100%;height:100%;object-fit:contain}
@media (max-width:900px){.film-grid-video{grid-column:span 1}}
.film-card{display:block;position:relative;text-decoration:none;border-radius:var(--radius-m);overflow:hidden;background:var(--bg-surface);transition:transform var(--duration-base) var(--ease-cinematic)}
.film-card:hover{transform:translateY(-6px)}
.film-media{position:relative;aspect-ratio:4/3;overflow:hidden}
.film-media img,.film-media video{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--duration-slow) var(--ease-cinematic),filter var(--duration-slow) var(--ease-cinematic)}
.film-card:hover .film-media img,.film-card:hover .film-media video{transform:scale(1.05)}
.film-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(11,12,14,.55) 100%);pointer-events:none}
.film-card::before{content:'';position:absolute;inset:0;border-radius:inherit;border:1px solid var(--border-default);pointer-events:none;transition:border-color var(--duration-base) var(--ease-cinematic),box-shadow var(--duration-base) var(--ease-cinematic);z-index:2}
.film-card:hover::before{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 20px 40px -20px rgba(197,125,54,.35)}
.film-caption{padding:var(--space-3) var(--space-1) 0;display:flex;align-items:baseline;gap:var(--space-2);font-family:var(--font-mono);font-size:12px;letter-spacing:var(--tracking-wide);color:var(--text-secondary);transition:color var(--duration-base) var(--ease-cinematic)}
.film-caption-cat{color:var(--text-primary);transition:color var(--duration-base) var(--ease-cinematic)}
.film-caption-sep{color:var(--accent)}
.film-card:hover .film-caption-cat{color:var(--accent)}
.film-media img{position:absolute;inset:0}
.film-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(11,12,14,.25)}
.film-play svg{width:52px;height:52px}

/* process timeline */
.timeline{display:flex;flex-direction:column;gap:0;max-width:760px}
.tl-step{display:grid;grid-template-columns:64px 1fr;gap:var(--space-6);opacity:0;transform:translateY(36px);filter:blur(6px);transition:opacity 1000ms var(--ease-cinematic),transform 1000ms var(--ease-cinematic),filter 1000ms var(--ease-cinematic)}
.tl-step.in{opacity:1;transform:translateY(0);filter:blur(0)}
.tl-rail{display:flex;flex-direction:column;align-items:center}
.tl-dot{width:12px;height:12px;border-radius:50%;background:var(--accent);flex:0 0 auto;margin-top:6px}
.tl-line{flex:1;width:1px;background:var(--border-default);margin:var(--space-2) 0}
.tl-step:last-child .tl-line{display:none}
.tl-body{padding-bottom:var(--space-8)}
.tl-body .tl-index{font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-wide);color:var(--text-muted)}
.tl-body h4{font-family:var(--font-display);font-size:28px;font-weight:var(--weight-regular);margin:var(--space-2) 0 var(--space-2)}
.tl-body p{color:var(--text-secondary);margin:0;max-width:520px}

/* portfolio gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-5)}
.gallery-grid .g-item{grid-column:span 3}
.gallery-grid .g-item.wide{grid-column:span 4}
.gallery-grid .g-item.narrow{grid-column:span 2}
@media (max-width:900px){.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid .g-item,.gallery-grid .g-item.wide,.gallery-grid .g-item.narrow{grid-column:span 1}}
.g-item figcaption{margin-top:var(--space-3);display:flex;justify-content:space-between;gap:var(--space-3)}
.g-item figcaption h5{font-family:var(--font-display);font-weight:var(--weight-regular);font-size:18px;margin:0}
.g-item figcaption span{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);white-space:nowrap}

/* testimonials */
.testi-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8)}
@media (max-width:900px){.testi-grid{grid-template-columns:1fr}}

/* faq */
.faq-list{max-width:820px;display:flex;flex-direction:column}
.faq-item{border-bottom:1px solid var(--border-default)}
.faq-q{width:100%;background:none;border:none;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:var(--space-5);padding:var(--space-6) 0;cursor:pointer;color:var(--text-primary);font-family:var(--font-display);font-size:20px}
.faq-q .plus{font-family:var(--font-mono);color:var(--accent);font-size:20px;transition:transform var(--duration-base) var(--ease-cinematic);flex:0 0 auto}
.faq-item.open .faq-q .plus{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height var(--duration-slow) var(--ease-cinematic)}
.faq-a p{color:var(--text-secondary);margin:0 0 var(--space-6);max-width:640px}

/* final cta */
.final-cta{position:relative;overflow:hidden;background:var(--bg-elevated);border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default);text-align:center;padding:var(--space-10) 0}
.final-cta-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;z-index:0;opacity:.8;filter:grayscale(.05) brightness(1.05) contrast(1.05)}
.final-cta-overlay{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,color-mix(in oklch,var(--color-obsidian),transparent 25%),color-mix(in oklch,var(--color-ash-umber),transparent 55%) 40%,color-mix(in oklch,var(--color-obsidian),transparent 25%))}
.final-cta>.wrap{position:relative;z-index:1}
.video-bg-section{position:relative;overflow:hidden}
.video-bg-section-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.5;filter:grayscale(.15) brightness(.95)}
.video-bg-section-overlay{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,var(--vbg,var(--bg-page)),color-mix(in oklch,var(--vbg,var(--bg-page)),transparent 55%) 40%,var(--vbg,var(--bg-page)))}
.video-bg-section>.wrap{position:relative;z-index:1}
#why.video-bg-section{display:flex;flex-direction:column;min-height:100vh}
#why.video-bg-section>.wrap{display:flex;flex-direction:column;flex:1;width:100%}
.final-cta .h-l{max-width:820px;margin:0 auto}
.final-cta .lede{margin-left:auto;margin-right:auto}
.final-cta-form{max-width:640px;margin:var(--space-8) auto 0;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
.final-cta-form .full{grid-column:1/-1}
@media (max-width:600px){.final-cta-form{grid-template-columns:1fr}}

/* footer */
.site-footer{padding:var(--space-9) 0 var(--space-7);border-top:1px solid var(--border-default)}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--space-8);padding-bottom:var(--space-8)}
@media (max-width:800px){.footer-top{grid-template-columns:1fr 1fr}}
.footer-top h5{font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-secondary);margin:0 0 var(--space-4)}
.footer-top ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}
.footer-top a{color:var(--text-secondary);font-size:var(--text-body-s)}
.footer-top a:hover{color:var(--accent)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-6);border-top:1px solid var(--border-default);font-family:var(--font-mono);font-size:10px;letter-spacing:var(--tracking-wide);color:var(--text-muted);flex-wrap:wrap;gap:var(--space-4)}
.footer-logo{height:22px;margin-bottom:var(--space-4)}
.footer-tagline{color:var(--text-muted);font-size:var(--text-body-s);max-width:280px}

/* mission page chapters */
.chapter{min-height:88vh;display:flex;align-items:center;border-bottom:1px solid var(--border-default)}
.chapter:nth-child(3n){position:relative;background:linear-gradient(180deg,var(--color-ash-umber),var(--color-slate-rise));padding:0 var(--space-8)}
.chapter .wrap{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-9);align-items:center}
@media (max-width:900px){.chapter .wrap{grid-template-columns:1fr}.chapter{min-height:auto;padding:var(--space-9) 0}}
.chapter-text{order:1}
.chapter-media{order:2}
.chapter:nth-child(even) .chapter-text{order:2}
.chapter:nth-child(even) .chapter-media{order:1}
.impact-section::after,.reviews-section::after,.bg-royal-velvet::after,.chapter:nth-child(3n)::after{content:'';position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--color-velvet-red);opacity:.9;pointer-events:none}
.final-cta-overlay::after{content:'';position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--color-velvet-red);opacity:.9}
.chapter-num{font-family:var(--font-mono);font-size:12px;letter-spacing:var(--tracking-widest);color:var(--accent);display:block;margin-bottom:var(--space-4)}
.chapter-note{font-family:var(--font-display);font-style:italic;font-size:14px;color:var(--text-muted);margin:var(--space-3) 0 0;letter-spacing:.2px}
.future-card{border:1px dashed var(--border-default);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2)}
.future-card h5{font-family:var(--font-display);font-size:20px;margin:0;color:var(--text-secondary)}
.future-card span{font-family:var(--font-mono);font-size:10px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted)}
.future-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
@media (max-width:700px){.future-grid{grid-template-columns:1fr 1fr}}
