/* Diwali at SquareShift (2026) - page styles. Static port of the owner's Claude Design "Diwali Cinema" project.
   Scope: everything sits under .dw so the shared menu and footer keep their own styles. */
html{scroll-behavior:smooth;background:#0A0908}
body{margin:0;background:#0A0908}
.dw{position:relative;background:#0A0908;color:#F2EDE4;overflow-x:clip;font-family:'Roboto Condensed',Arial,sans-serif;font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}
.dw *,.dw *::before,.dw *::after{box-sizing:border-box}
.dw img,.dw video{display:block;max-width:100%}
.dw a{color:#E6CF96}.dw a:hover{color:#F3CD29}
.dw ::selection{background:#D4AF37;color:#0A0908}
.dw :focus-visible,.dw-lb :focus-visible{outline:2px solid #D4AF37;outline-offset:3px}
.dw h1,.dw h2,.dw h3{font-family:'Fjalla One',sans-serif;font-weight:400;margin:0}
@keyframes dw-tw{0%{opacity:.35;transform:scale(.85)}100%{opacity:1;transform:scale(1.05)}}
@keyframes dw-flick{0%{transform:scale(.92,1) skewX(-3deg)}50%{transform:scale(1.05,1.12) skewX(3deg)}100%{transform:scale(.96,.95) skewX(-2deg)}}
@keyframes dw-gl{from{opacity:.5;transform:scale(.9)}to{opacity:1;transform:scale(1.1)}}
@keyframes dw-grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
@keyframes dw-cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

.dw-wrap{position:relative;z-index:2;width:min(1180px,calc(100% - 44px));margin:0 auto}
.dw-fxcv{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.dw-lights{position:absolute;left:0;right:0;top:0;height:46px;z-index:1;pointer-events:none}
.dw-lights__wire{position:absolute;left:0;right:0;top:6px;height:1px;background:rgba(242,237,228,.16)}
.dw-lights__bulb{position:absolute;top:6px;width:7px;height:10px;margin-left:-3.5px;border-radius:50% 50% 55% 55%;opacity:.8;animation:dw-tw 2.4s ease-in-out infinite alternate}

/* Opening titles (created by JS only, so the page never blocks without JS) */
.dw-open{position:fixed;inset:0;z-index:600;background:#000;display:grid;place-items:center;cursor:pointer}
.dw-open__bar{position:absolute;left:0;right:0;height:11vh;background:#000}
.dw-open__bar--top{top:0;border-bottom:1px solid rgba(230,207,150,.08)}
.dw-open__bar--bottom{bottom:0;border-top:1px solid rgba(230,207,150,.08)}
.dw-open__stack{display:grid;place-items:center;text-align:center;padding:0 24px}
.dw-open__o1{grid-area:1/1;opacity:0;font-weight:300;font-size:20px;letter-spacing:.24em;color:#E6CF96;white-space:nowrap;font-family:'Roboto Condensed',Arial,sans-serif}
.dw-open__o2{grid-area:1/1;opacity:0;display:flex;flex-direction:column;align-items:center;gap:18px}
.dw-open__word{font-family:'Fjalla One',sans-serif;font-size:clamp(64px,11vw,160px);line-height:.88;letter-spacing:.08em;color:#F2EDE4;text-shadow:0 0 70px rgba(243,205,41,.35)}
.dw-open__rule{width:72px;height:1px;background:#D4AF37}
.dw-open__tag{font-weight:300;font-size:20px;letter-spacing:.08em;color:#E6CF96;font-family:'Roboto Condensed',Arial,sans-serif}
.dw-open__skip{position:absolute;right:28px;bottom:calc(11vh + 18px);font-size:14px;letter-spacing:.04em;color:#8C857A;font-family:'Roboto Condensed',Arial,sans-serif;background:none;border:0;cursor:pointer;padding:6px 0}

/* Hero */
.dw-hero{position:relative;isolation:isolate;overflow:hidden;background:#050505;min-height:max(640px,min(calc(100vh - 68px),900px));display:flex;align-items:center}
.dw-hero__amb{position:absolute;left:-8%;top:-8%;width:116%;height:116%;max-width:none!important;object-fit:cover;filter:blur(64px) brightness(.5) saturate(1.15);opacity:.6;z-index:-3}
.dw-hero__shade{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse 70% 80% at 68% 48%,rgba(5,5,5,0) 0%,rgba(5,5,5,.55) 55%,#050505 100%),linear-gradient(90deg,#050505 0%,rgba(5,5,5,.75) 38%,rgba(5,5,5,0) 70%),linear-gradient(0deg,#0A0908 0%,rgba(10,9,8,0) 30%)}
.dw-letterbox{position:absolute;left:0;right:0;height:clamp(18px,4.5vh,48px);background:#000;z-index:4}
.dw-letterbox--top{top:0;border-bottom:1px solid rgba(230,207,150,.07)}
.dw-letterbox--bottom{bottom:0;border-top:1px solid rgba(230,207,150,.07)}
.dw-hero__inner{position:relative;z-index:2;width:min(1180px,calc(100% - 44px));margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:56px 64px;padding:96px 0 112px}
.dw-hero__copy{flex:1 1 480px;max-width:640px;display:flex;flex-direction:column;align-items:flex-start}
.dw-hero h1{font-size:clamp(40px,5.4vw,78px);line-height:1.02;letter-spacing:.01em;margin:0 0 24px;color:#F2EDE4;text-wrap:balance;text-shadow:0 6px 40px rgba(0,0,0,.6)}
.dw-hero h1 em{font-style:normal;color:#E9CF8E;text-shadow:0 0 40px rgba(243,205,41,.35)}
.dw-hero__lead{margin:0 0 36px;font-size:clamp(18px,1.7vw,21px);font-weight:300;line-height:1.6;color:#D9D2C6;max-width:540px;text-wrap:pretty}
.dw-btn{display:inline-flex;align-items:center;gap:14px;min-height:54px;padding:0 30px;background:#D4AF37;font-family:'Fjalla One',sans-serif;font-size:18px;letter-spacing:.02em;text-decoration:none;transition:background .25s,box-shadow .25s,color .25s}
.dw a.dw-btn{color:#0A0908}
.dw a.dw-btn:hover{background:#F3CD29;color:#0A0908;box-shadow:0 0 40px rgba(243,205,41,.35)}
.dw-btn__play{width:0;height:0;border-left:9px solid #0A0908;border-top:6px solid transparent;border-bottom:6px solid transparent}
.dw a.dw-btn--ghost{background:transparent;border:1px solid rgba(242,237,228,.6);color:#F2EDE4}
.dw a.dw-btn--ghost:hover{background:#F2EDE4;color:#0A0908;box-shadow:none}
.dw-hero__media{flex:0 1 440px;min-width:280px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.dw-screen{position:relative;margin:0;width:100%;aspect-ratio:4/5;background:#000;box-shadow:0 0 0 1px rgba(230,207,150,.4),0 0 140px -10px rgba(255,190,90,.28),0 70px 100px -40px #000}
.dw-screen video{width:100%;height:100%;object-fit:cover}
.dw-screen__frame{position:absolute;inset:10px;border:1px solid rgba(242,237,228,.14);pointer-events:none}
.dw-screen__bar{position:absolute;left:0;right:0;bottom:0;padding:44px 20px 18px;background:linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,0));display:flex;align-items:center;justify-content:space-between;gap:12px}
.dw-screen__tc{font-family:ui-monospace,Menlo,monospace;font-size:12px;letter-spacing:.12em;color:#E6CF96}
.dw-screen__pp{min-height:40px;padding:0 16px;background:rgba(10,9,8,.6);color:#F2EDE4;border:1px solid rgba(242,237,228,.5);font-family:'Roboto Condensed',sans-serif;font-weight:700;font-size:14px;letter-spacing:.02em;cursor:pointer;transition:background .2s,color .2s}
.dw-screen__pp:hover{background:#F2EDE4;color:#0A0908}
.dw-screen__glow{width:92%;height:90px;margin-top:2px;background:radial-gradient(ellipse 50% 100% at 50% 0%,rgba(255,200,120,.2),rgba(255,200,120,0) 70%);filter:blur(6px)}
.dw-cue{position:absolute;left:50%;bottom:calc(clamp(18px,4.5vh,48px) + 14px);z-index:5;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px}
.dw-cue span{width:1px;height:38px;background:linear-gradient(#E6CF96,rgba(230,207,150,0));animation:dw-cue 1.8s ease-in infinite}

/* Intro */
.dw-intro{position:relative;overflow:hidden;padding:120px 0;background:radial-gradient(900px 460px at 50% 0%,rgba(212,175,55,.11),rgba(212,175,55,0) 70%),#0A0908;text-align:center}
.dw-intro__head{position:relative;z-index:2;width:min(780px,calc(100% - 44px));margin:0 auto}
.dw-diyas{display:flex;justify-content:center;gap:clamp(14px,3.2vw,40px);margin:0 0 30px;min-height:54px}
.dw-diya{position:relative;width:60px;height:54px}
.dw-diya__glow{position:absolute;left:50%;top:-30px;width:120px;height:120px;margin-left:-60px;border-radius:50%;background:radial-gradient(circle,rgba(255,179,0,.55),rgba(255,179,0,0) 66%);animation:dw-gl 1.6s ease-in-out infinite alternate;pointer-events:none}
.dw-diya svg{width:100%;height:100%;overflow:visible;position:relative}
.dw-diya__flame{transform-box:fill-box;transform-origin:50% 100%;animation:dw-flick 1.1s ease-in-out infinite alternate}
.dw-intro h2{font-size:clamp(32px,4.4vw,56px);line-height:1.08;color:#F2EDE4;margin:0 0 20px;text-wrap:balance;text-shadow:0 0 40px rgba(243,205,41,.18)}
.dw-intro__line{margin:0;font-size:22px;font-weight:700;color:#E9CF8E}
.dw-values{position:relative;z-index:2;width:min(1180px,calc(100% - 44px));margin:64px auto 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1px;background:rgba(230,207,150,.16);border:1px solid rgba(230,207,150,.16);text-align:left}
.dw-value{background:#0D0C0A;padding:32px 30px 34px;display:flex;flex-direction:column;gap:10px}
.dw-value b{font-family:'Fjalla One',sans-serif;font-weight:400;font-size:24px;line-height:1.2;color:#F2EDE4}
.dw-value span{font-size:17px;line-height:1.5;color:#BDB5A8}

/* Chapters */
.dw-ch{position:relative;overflow:hidden;padding:128px 0 120px;border-top:1px solid rgba(230,207,150,.1)}
.dw-ch--c1{background:radial-gradient(1000px 520px at 92% 0%,rgba(212,175,55,.09),rgba(212,175,55,0) 62%),#100E0C}
.dw-ch--c2{background:radial-gradient(900px 520px at 6% 100%,rgba(212,175,55,.08),rgba(212,175,55,0) 62%),#0A0908}
.dw-ch--c3{background:radial-gradient(1000px 520px at 90% 0%,rgba(212,175,55,.09),rgba(212,175,55,0) 62%),#100E0C}
.dw-ch--c4{background:radial-gradient(900px 520px at 8% 100%,rgba(212,175,55,.08),rgba(212,175,55,0) 62%),#0A0908}
.dw-ch--th{padding:128px 0 140px;background:radial-gradient(900px 460px at 50% 0%,rgba(212,175,55,.16),rgba(212,175,55,0) 70%),#050505}
.dw-ch__head{display:flex;align-items:flex-end;flex-wrap:wrap;gap:16px clamp(20px,3vw,40px);margin-bottom:56px}
.dw-ch__num{font-family:'Fjalla One',sans-serif;font-size:clamp(80px,11vw,160px);line-height:.78;color:transparent;-webkit-text-stroke:1px rgba(230,207,150,.6)}
.dw-ch__head h2{flex:1 1 320px;font-size:clamp(32px,4.4vw,56px);line-height:1.08;color:#F2EDE4;text-wrap:balance}
.dw-row{display:flex;flex-wrap:wrap;align-items:center;gap:48px 64px}
.dw-row--rev{flex-direction:row-reverse}
.dw-row__media{flex:1 1 560px;min-width:0}
.dw-row__text{flex:1 1 300px;min-width:0}
.dw-feature{background:#000;box-shadow:0 0 0 1px rgba(230,207,150,.28),0 50px 90px -40px #000,0 0 90px -30px rgba(243,205,41,.2)}
.dw-feature video{width:100%;aspect-ratio:16/10;object-fit:cover;background:#000}
.dw-bullets{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:22px}
.dw-bullets li{display:grid;grid-template-columns:10px minmax(0,1fr);gap:18px;align-items:start;font-size:20px;line-height:1.5;color:#D9D2C6;text-wrap:pretty}
.dw-bullets li::before{content:"";width:8px;height:8px;margin-top:11px;background:#D4AF37;transform:rotate(45deg)}

/* Photo buttons */
.dw-shot{display:block;width:100%;padding:0;border:0;background:#000;cursor:zoom-in;overflow:hidden}
.dw-shot img{width:100%;height:auto;object-fit:cover;filter:brightness(.92);transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .7s}
.dw-shot:hover img{transform:scale(1.04);filter:brightness(1.05)}
.dw-shot--big img{filter:brightness(.94);transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .7s}
.dw-shot--big:hover img{transform:scale(1.03);filter:brightness(1.04)}
.dw-shot--wide img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter 1s}
.dw-shot--wide:hover img{transform:scale(1.02);filter:brightness(1)}
.dw-grid .dw-shot{box-shadow:0 0 0 1px rgba(230,207,150,.18);transition:box-shadow .4s}
.dw-grid .dw-shot:hover{box-shadow:0 0 0 1px #D4AF37}
.dw-grid{margin:24px 0 0;padding:0;list-style:none;display:grid;gap:24px}
.dw-grid--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.dw-grid--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.dw-grid--4{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.r16x10{aspect-ratio:16/10}.r4x3{aspect-ratio:4/3}.r3x4{aspect-ratio:3/4}.r21x9{aspect-ratio:21/9}

/* Thank-you */
.dw-th__head{text-align:center;margin-bottom:56px}
.dw-th__head h2{font-size:clamp(36px,5.2vw,64px);line-height:1.05;color:#F2EDE4;text-wrap:balance;text-shadow:0 0 50px rgba(243,205,41,.25)}
.dw-th__foot{margin-top:56px;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:40px 64px}
.dw-th__list{flex:1 1 480px;min-width:0}
.dw-th__close{flex:0 1 380px;min-width:0;display:flex;flex-direction:column;gap:28px}
.dw-th__wish{margin:0;font-family:'Fjalla One',sans-serif;font-size:clamp(24px,2.4vw,30px);line-height:1.25;color:#E9CF8E;text-wrap:balance}
.dw-th__ctas{display:flex;gap:14px;flex-wrap:wrap}

/* More celebrations */
.dw-more{padding:96px 0 104px;background:#0F0D0B;border-top:1px solid rgba(230,207,150,.1)}
.dw-more__head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:16px;padding-bottom:18px;margin-bottom:32px;border-bottom:1px solid rgba(230,207,150,.22)}
.dw-more__head h2{font-size:32px;color:#F2EDE4}
.dw a.dw-more__all{font-weight:700;font-size:16px;color:#E6CF96;text-decoration:none}
.dw a.dw-more__all:hover{color:#F3CD29}
.dw-more__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px}
.dw a.dw-card{display:flex;flex-direction:column;gap:10px;padding:28px 26px 30px;background:#14110E;border:1px solid rgba(230,207,150,.12);text-decoration:none;color:#F2EDE4;transition:border-color .3s,transform .4s,background .3s}
.dw a.dw-card:hover{border-color:#D4AF37;transform:translateY(-4px);background:#18140F;color:#F2EDE4}
.dw-card b{font-family:'Fjalla One',sans-serif;font-weight:400;font-size:24px;line-height:1.2}
.dw-card span{font-size:16px;color:#A39B8F}

/* Lightbox */
.dw-lb{position:fixed;inset:0;z-index:500;background:rgba(4,4,4,.97);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:72px 24px 40px;font-family:'Roboto Condensed',Arial,sans-serif;color:#F2EDE4}
.dw-lb[hidden]{display:none}
.dw-lb__top{position:absolute;left:0;right:0;top:0;height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid rgba(230,207,150,.12)}
.dw-lb__count{font-family:ui-monospace,Menlo,monospace;font-size:12px;letter-spacing:.14em;color:#E6CF96}
.dw-lb button{background:rgba(242,237,228,.06);border:1px solid rgba(242,237,228,.4);color:#F2EDE4;cursor:pointer}
.dw-lb button:hover{background:#F2EDE4;color:#0A0908}
.dw-lb__close{min-width:44px;min-height:44px;font-size:22px;background:none!important}
.dw-lb__close:hover{background:#F2EDE4!important}
.dw-lb__img{max-width:min(1200px,92vw);max-height:76vh;width:auto;height:auto;object-fit:contain;box-shadow:0 0 0 1px rgba(230,207,150,.2),0 0 120px rgba(255,200,120,.08)}
.dw-lb__cap{margin:18px 0 0;max-width:760px;text-align:center;font-size:17px;color:#F2EDE4}
.dw-lb__prev,.dw-lb__next{position:absolute;top:50%;min-width:48px;min-height:48px;font-size:20px}
.dw-lb__prev{left:18px}.dw-lb__next{right:18px}

.dw-grain{position:fixed;left:-10%;top:-10%;width:120%;height:120%;pointer-events:none;z-index:300;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='1'/></svg>");animation:dw-grain 1.2s steps(6) infinite}
.dw-topfx{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:150}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .dw *,.dw *::before,.dw *::after,.dw-grain,.dw-lb *{animation:none!important;transition:none!important}
}
.skip-to-content{position:absolute;top:-80px;left:16px;z-index:700;background:#fff;color:#181818;padding:10px 14px}
.skip-to-content:focus{top:16px}
.dw-screen__bar[hidden]{display:none}
