@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0d0916;color:#f7f3fb;font-family:'DM Sans',system-ui,sans-serif}a{text-decoration:none;color:inherit}.top{height:76px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff12;background:#0d0916ee;backdrop-filter:blur(16px);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:11px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffff2b;border-radius:12px;font-weight:700;background:linear-gradient(135deg,#ffbd54,#d65c35);color:#160b18}.brand b{display:block;font-size:14px}.brand small{display:block;color:#9d94a9;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;margin-top:2px}.top nav{display:flex;gap:24px;color:#a9a1b4;font-size:13px}.top nav a:hover,.top nav .active{color:#fff}.menu{display:none;background:none;border:0;color:#fff;font-size:25px}.hero{min-height:calc(100vh - 76px);padding:8vw 9vw;display:flex;align-items:center;justify-content:space-between;gap:50px;position:relative;overflow:hidden;background:radial-gradient(circle at 75% 35%,#4b1c4e 0,#1a0d2a 34%,#0d0916 70%)}.hero-glow{position:absolute;width:520px;height:520px;border-radius:50%;right:-150px;top:50px;background:#ff7d3c1c;filter:blur(20px)}.hero-copy{max-width:690px;position:relative}.eyebrow{font-size:11px;letter-spacing:2.4px;color:#dba66b;font-weight:700}.hero h1,.page-hero h1,.gallery-page h1{font-family:'Playfair Display',serif;font-size:clamp(54px,8vw,105px);line-height:.94;margin:18px 0 26px;letter-spacing:-3px}.hero h1 em,.page-hero h1 em,.gallery-page h1 em,h2 em{font-style:italic;color:#f3ad64}.hero p,.lead{max-width:600px;color:#b3abbc;font-size:17px;line-height:1.7}.actions{display:flex;gap:12px;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 19px;border-radius:999px;font-size:13px;font-weight:700;border:1px solid #ffffff1c}.btn.primary{background:#f0a45e;color:#1a0d15}.btn.ghost{background:#ffffff08;color:#fff}.hero-card{width:min(320px,90vw);aspect-ratio:4/5;border:1px solid #ffffff18;border-radius:30px;background:linear-gradient(160deg,#fff1 0,#ffffff04 50%,#ff8b3020);display:flex;flex-direction:column;justify-content:flex-end;padding:30px;position:relative;box-shadow:0 30px 100px #0008}.hero-card .orb{position:absolute;top:28px;right:28px;font-size:76px;filter:drop-shadow(0 20px 30px #0008)}.hero-card span{font-size:10px;letter-spacing:2px;color:#c8bfcc}.hero-card strong{font-family:'Playfair Display',serif;font-size:34px;line-height:1;margin:10px 0 16px}.hero-card small{color:#a49aaa}.section{padding:100px 8vw}.section.dark{background:#120d1d}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}.section h2{font-family:'Playfair Display',serif;font-size:clamp(38px,5vw,64px);margin:12px 0 0}.text-link{color:#e7a66d;font-size:13px;font-weight:700}.festival-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.festival-card{min-height:430px;border:1px solid #ffffff15;border-radius:28px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.festival-card:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 70% 25%,#ffb35c25,transparent 42%)}.festival-card.ganesh{background:linear-gradient(145deg,#26143b,#100b18)}.festival-card.dasara{background:linear-gradient(145deg,#35131f,#120a12)}.card-art{font-size:100px;position:relative;z-index:1}.festival-card div:last-child{position:relative;z-index:1}.festival-card span{font-size:10px;letter-spacing:2px;color:#c7b8c8}.festival-card h3{font-family:'Playfair Display',serif;font-size:34px;margin:10px 0}.festival-card p{color:#aaa0b1;max-width:450px;line-height:1.6}.festival-card b{font-size:12px;color:#efad6d}.memory-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:14px}.memory{min-height:300px;border-radius:24px;border:1px solid #ffffff12;display:flex;align-items:end;padding:22px;background:linear-gradient(135deg,#321f4a,#17101f)}.m2{background:linear-gradient(135deg,#4b1d25,#1b0c15)}.m3{background:linear-gradient(135deg,#4a3520,#1a120b)}.memory span{font-family:'Playfair Display',serif;font-size:26px}.cta{text-align:center;padding:110px 20px;background:radial-gradient(circle at center,#3c1d35,#0d0916 60%)}.cta h2{font-family:'Playfair Display',serif;font-size:clamp(38px,6vw,72px);line-height:1;margin:15px 0 30px}.page-hero{padding:130px 8vw;min-height:500px;display:flex;flex-direction:column;justify-content:center}.ganesh-bg{background:radial-gradient(circle at 75% 40%,#5b2d54,#160d24 55%)}.dasara-bg{background:radial-gradient(circle at 75% 40%,#6b2527,#1b0a13 55%)}.gallery-page{max-width:1500px;margin:auto}.gallery-page h1{font-size:clamp(55px,8vw,90px)}.tools{margin:40px 0;display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between}.tools input{flex:1;min-width:220px;background:#ffffff08;border:1px solid #ffffff16;border-radius:14px;padding:15px 18px;color:#fff;outline:none}.filters{display:flex;gap:8px}.filter{border:1px solid #ffffff16;background:#ffffff07;color:#aaa0b1;border-radius:999px;padding:10px 16px}.filter.active{background:#f0a45e;color:#190d14}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.photo-item{aspect-ratio:1/1;border-radius:18px;overflow:hidden;position:relative;background:#1c1426;border:1px solid #ffffff12;cursor:pointer}.photo-item img{width:100%;height:100%;object-fit:cover}.photo-item .label{position:absolute;bottom:0;left:0;right:0;padding:25px 14px 12px;background:linear-gradient(transparent,#000b);font-size:12px}.empty{text-align:center;padding:60px;color:#8f8799;border:1px dashed #ffffff1c;border-radius:20px}.viewer{position:fixed;inset:0;background:#050308f5;z-index:100;display:none;align-items:center;justify-content:center;padding:20px}.viewer.open{display:flex}.viewer img{max-width:95vw;max-height:82vh;object-fit:contain;border-radius:12px}.viewer>button{position:absolute;right:20px;top:15px;background:#ffffff12;border:0;color:#fff;font-size:36px;width:48px;height:48px;border-radius:50%}.viewerbar{position:absolute;left:20px;right:20px;bottom:20px;display:flex;justify-content:space-between;align-items:center}.viewerbar span{font-size:13px;color:#ddd}.gallery-mini,.video-grid,.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.placeholder{aspect-ratio:1/1;border-radius:22px;border:1px dashed #ffffff20;display:grid;place-items:center;text-align:center;padding:30px;color:#8e8598;background:#ffffff03}.video-card{border:1px solid #ffffff12;border-radius:22px;padding:15px;background:#ffffff04}.video-placeholder{aspect-ratio:16/9;border-radius:15px;display:grid;place-items:center;font-size:45px;background:radial-gradient(circle,#4a274e,#17101e);color:#f1a565}.video-card h3{margin:18px 4px 5px;font-family:'Playfair Display',serif;font-size:24px}.video-card p{margin:0 4px 10px;color:#948b9c;font-size:13px}.admin-grid{grid-template-columns:repeat(4,1fr)}.admin{text-align:center;padding:24px;border:1px solid #ffffff12;border-radius:22px;background:#ffffff03}.avatar{width:110px;height:110px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#4b284d,#f0a45e);font-weight:700;color:#1a0d15}.admin h3{margin:5px 0}.admin p{color:#918899;font-size:13px}.note{margin-top:30px;padding:18px;border-radius:15px;background:#f0a45e0c;border:1px solid #f0a45e2a;color:#bcb2bf;line-height:1.7;font-size:13px}code{color:#f2b06f}footer{padding:30px 8vw;color:#766d7d;font-size:11px;display:flex;justify-content:space-between;border-top:1px solid #ffffff0b}
@media(max-width:800px){.top{height:68px}.top nav{display:none}.menu{display:block}.hero{min-height:calc(100vh - 68px);padding:70px 7vw;flex-direction:column;align-items:flex-start}.hero h1{font-size:64px}.hero-card{display:none}.festival-grid,.memory-grid,.gallery-mini,.video-grid{grid-template-columns:1fr}.section{padding:70px 6vw}.photo-grid{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:repeat(2,1fr)}.page-hero{padding:100px 7vw;min-height:430px}.page-hero h1{font-size:64px}.section-head{align-items:flex-start;flex-direction:column}.tools{display:block}.filters{margin-top:12px}.viewerbar{bottom:15px}.viewerbar .btn{padding:10px 14px}.cta{padding:80px 20px}footer{padding:24px 6vw;gap:15px;flex-direction:column}}
