@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--bg:#08070a;--card:#111016;--text:#f7f4fa;--muted:#aaa4b2;--purple:#a855f7;--pink:#e056ff;--line:#28232e}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}
.nav{height:82px;position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(8,7,10,.72);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.06)}.brand img{width:150px;display:block}.nav nav{display:flex;gap:24px;font-size:12px;color:#d7d2dc}.nav nav a:hover{color:#fff}.nav-cta{border:1px solid #765082;border-radius:999px;padding:11px 18px;font-size:12px}.menu{display:none;background:none;border:0;color:white;font-size:24px}
.hero{min-height:100vh;position:relative;display:flex;align-items:flex-end;overflow:hidden;padding:150px 7vw 90px}.hero-media{position:absolute;inset:0;background:url("weddings/01.jpg") center/cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,4,8,.94) 0%,rgba(5,4,8,.68) 48%,rgba(5,4,8,.25) 100%),linear-gradient(0deg,rgba(5,4,8,.9),transparent 50%)}.hero-content{position:relative;max-width:850px}.eyebrow,.section-kicker{letter-spacing:.24em;font-size:11px;color:#d79cff;font-weight:600}.hero h1{font-size:clamp(48px,7vw,94px);line-height:.98;margin:20px 0}.hero h1 span,em{font-family:"Playfair Display",serif;font-weight:500;color:#d99cff}.lead{font-size:18px;color:#ddd6e1;max-width:650px;line-height:1.6}.actions{display:flex;gap:12px;margin-top:32px}.button{padding:14px 21px;border-radius:999px;font-size:13px}.primary{background:linear-gradient(90deg,#7d2ce5,#c64df2);box-shadow:0 10px 40px rgba(160,60,230,.25)}.ghost{border:1px solid #5b5061}.hero-meta{position:absolute;right:7vw;bottom:55px;display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.18em;color:#cfc8d4}.hero-meta i{display:block;width:55px;height:1px;background:#817687}
.section{padding:120px 7vw}.story,.work{background:#0d0b10}.story-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;margin-top:55px}.story h2,.contact h2{font-size:clamp(42px,5vw,72px);line-height:1.05;margin:0}.big-copy{font-size:25px;line-height:1.45;color:#eee;margin-top:0}.story p:not(.big-copy){color:var(--muted);line-height:1.8;max-width:550px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-head h2{font-size:clamp(42px,5vw,68px);line-height:1.05;margin:16px 0 0}.section-head>p{color:var(--muted);max-width:300px;line-height:1.6}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-grid article{background:var(--bg);padding:34px;min-height:220px;transition:.3s}.service-grid article:hover{background:#141019;transform:translateY(-3px)}.service-grid span{color:#b65aff;font-size:12px}.service-grid h3{font-family:"Playfair Display",serif;font-size:28px;margin:30px 0 12px}.service-grid p{color:var(--muted);line-height:1.7;font-size:14px}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}.filter{border:1px solid var(--line);background:transparent;color:#bcb4c3;border-radius:999px;padding:10px 15px;font:inherit;font-size:12px;cursor:pointer}.filter:hover,.filter.active{border-color:#9e52d9;color:#fff;background:#17101d}.gallery{columns:3 280px;column-gap:12px}.gallery figure{margin:0 0 12px;break-inside:avoid;overflow:hidden;border-radius:4px;background:#111;position:relative}.gallery img{width:100%;display:block;transition:transform .7s ease;filter:saturate(.95)}.gallery figure:hover img{transform:scale(1.045)}.gallery figcaption{position:absolute;left:10px;bottom:10px;padding:7px 10px;border-radius:999px;background:rgba(8,7,10,.75);font-size:10px;letter-spacing:.08em;color:#eee;opacity:0;transform:translateY(5px);transition:.3s}.gallery figure:hover figcaption{opacity:1;transform:none}.gallery-note{color:#746c78;font-size:12px;margin:28px 0 0}
.showreel{background:#08070a}.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.video-card{background:#111016;border:1px solid var(--line);padding:10px}.video-card video{width:100%;display:block;aspect-ratio:16/9;object-fit:cover;background:#000}.video-card p{margin:12px 4px 4px;color:#bcb4c3;font-size:12px;letter-spacing:.08em}
.statement{min-height:70vh;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:radial-gradient(circle at 50% 45%,#35154b 0,#130d18 25%,#08070a 58%)}.statement .orb{position:absolute;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,#b45cff33,transparent 65%);filter:blur(10px)}.statement p{letter-spacing:.3em;font-size:11px;color:#c7a8d7;position:relative}.statement strong{font-size:clamp(100px,18vw,240px);line-height:.8;position:relative;font-weight:600;background:linear-gradient(#fff,#a956ed);-webkit-background-clip:text;background-clip:text;color:transparent}.statement h2{position:relative;font-size:clamp(30px,4vw,54px);line-height:1.1;margin:35px 0 0}
.contact{background:#0d0b10}.contact-grid{align-items:end}.contact p{color:var(--muted);font-size:17px;line-height:1.7;max-width:480px}.contact-card{border-top:1px solid var(--line)}.contact-card a{display:flex;flex-direction:column;padding:22px 0;border-bottom:1px solid var(--line)}.contact-card small{font-size:10px;letter-spacing:.2em;color:#a89eaf;margin-bottom:8px}.contact-card strong{font-size:21px}footer{padding:50px 7vw 35px;text-align:center;border-top:1px solid var(--line);background:#060508}footer img{width:130px}footer p{color:#aaa4b2;font-size:12px}footer span{display:block;margin-top:35px;color:#625d67;font-size:11px}
@media(max-width:900px){.nav{height:70px;padding:0 5vw}.brand img{width:120px}.nav nav,.nav-cta{display:none}.menu{display:block}.hero{padding:130px 6vw 70px}.hero h1{font-size:52px}.lead{font-size:16px}.hero-meta{display:none}.section{padding:80px 6vw}.story-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.section-head{display:block}.section-head>p{margin-top:20px}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:auto}.gallery{columns:2 150px}.video-grid{grid-template-columns:1fr}.statement{min-height:55vh}}
@media(max-width:450px){.gallery{columns:1}.hero h1{font-size:45px}.actions{flex-direction:column;align-items:flex-start}.filters{gap:6px}.filter{padding:9px 12px}}
.garba{background:linear-gradient(135deg,#0d0b10 0%,#150d1b 50%,#0b0910 100%);position:relative;overflow:hidden}.garba:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-180px;top:-180px;background:radial-gradient(circle,#b04df055,transparent 68%);pointer-events:none}.garba-hero{position:relative;display:grid;grid-template-columns:.82fr 1.18fr;gap:7vw;align-items:center}.garba-copy h2{font-size:clamp(70px,10vw,145px);line-height:.82;margin:22px 0;font-family:"DM Sans",sans-serif;letter-spacing:-.05em}.garba-copy h2 em{font-family:"Playfair Display",serif}.garba-sub{font-size:20px;line-height:1.6;color:#d7d0db;max-width:600px}.garba-meta{display:flex;gap:28px;flex-wrap:wrap;margin-top:35px;color:#a9a0ad;font-size:10px;letter-spacing:.18em}.ticket-panel{background:rgba(17,16,22,.9);border:1px solid #34283c;border-radius:18px;padding:30px;box-shadow:0 25px 70px rgba(0,0,0,.35)}.ticket-panel h3{font-family:"Playfair Display",serif;font-size:32px;margin:10px 0 22px}.ticket-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ticket-option{border:1px solid #302833;background:#0c0b0f;color:#eee;padding:15px;border-radius:10px;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font:inherit}.ticket-option span{font-size:12px}.ticket-option strong{font-size:14px}.ticket-option.active{border-color:#a855f7;background:#1b1023;box-shadow:inset 0 0 0 1px #a855f744}.ticket-summary,.ticket-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #2a242e;margin-top:22px;padding-top:18px}.ticket-summary span,.ticket-total span{font-size:10px;color:#8f8795;letter-spacing:.12em;text-transform:uppercase}.ticket-summary strong{display:block;margin-top:5px}.qty{display:flex;align-items:center;gap:14px}.qty button{width:30px;height:30px;border:1px solid #413747;border-radius:50%;background:#17131b;color:#fff;font-size:18px;cursor:pointer}.ticket-total strong{font-size:24px}.ticket-book{width:100%;margin-top:22px;border:0;cursor:pointer}.ticket-note{color:#716976;font-size:10px;line-height:1.6;margin:14px 0 0}.booking-modal{display:none;position:fixed;inset:0;z-index:100;align-items:center;justify-content:center;padding:20px}.booking-modal.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}.booking-card{position:relative;width:min(480px,100%);max-height:90vh;overflow:auto;background:#111016;border:1px solid #3a3040;border-radius:18px;padding:32px;box-shadow:0 30px 100px #000}.modal-close{position:absolute;right:18px;top:12px;border:0;background:none;color:#aaa;font-size:30px;cursor:pointer}.booking-card h3{font-family:"Playfair Display",serif;font-size:34px;margin:12px 0 24px}.booking-card form{display:grid;gap:12px}.booking-card input{width:100%;padding:14px 15px;background:#09080c;border:1px solid #312a35;border-radius:8px;color:#fff;font:inherit;outline:none}.booking-card input:focus{border-color:#9d52dc}.form-booking-summary{display:flex;justify-content:space-between;padding:16px 0;border-top:1px solid #2d2731;border-bottom:1px solid #2d2731;margin:5px 0}.form-booking-summary span{color:#bbb2c0;font-size:12px}.form-booking-summary strong{font-size:15px}.booking-card .button{border:0;cursor:pointer}.success-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#24142e;border:1px solid #9b51d8;color:#d89cff;font-size:28px}.demo-payment h4{font-size:25px;margin:18px 0 8px}.demo-payment p{color:#aaa2ae;font-size:12px;line-height:1.6}.qr-box{background:#fff;width:210px;height:210px;margin:20px auto;display:grid;place-items:center;border-radius:10px}.qr-box img{display:block}.modal-open{overflow:hidden}@media(max-width:900px){.garba-hero{grid-template-columns:1fr;gap:45px}.garba-copy h2{font-size:78px}}@media(max-width:450px){.garba-copy h2{font-size:64px}.ticket-options{grid-template-columns:1fr}.ticket-panel{padding:22px}}
.garba-poster-wrap{position:relative;z-index:1}.garba-poster-placeholder{margin-top:18px;min-height:620px;border:1px solid #6d3d20;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:38px 25px;background:radial-gradient(circle at 50% 38%,#7a130d 0,#35060a 42%,#120306 100%);box-shadow:0 25px 80px rgba(0,0,0,.5),inset 0 0 70px rgba(255,132,0,.08);position:relative}.garba-poster-placeholder:before{content:"";position:absolute;inset:14px;border:2px solid #d79b2a;border-radius:9px;opacity:.65}.poster-title{position:relative;font-weight:800;letter-spacing:.04em;font-size:clamp(36px,5vw,68px);color:#ffd36a;text-shadow:0 3px 0 #7d2100,0 0 25px rgba(255,174,0,.35)}.poster-title span{display:block;font-size:.72em}.poster-sub{position:relative;font-family:serif;font-size:42px;color:#ffe5a0;margin:12px 0 45px}.poster-details{position:relative;display:grid;gap:10px;color:#f4e6cc;letter-spacing:.1em;font-size:11px}.poster-details strong{font-size:20px;color:#ffc84d}.garba-highlights{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0;color:#d7cbdc;font-size:10px;letter-spacing:.1em}.garba-highlights span{border:1px solid #3d3045;padding:9px 11px;border-radius:999px}.garba-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.garba-copy .ticket-note{font-size:12px;margin-top:22px}.garba-copy .ticket-note strong{color:#eee}@media(max-width:900px){.garba-poster-placeholder{min-height:560px}}@media(max-width:450px){.garba-poster-placeholder{min-height:480px;padding:25px 18px}.poster-sub{font-size:34px}}

/* Mobile portfolio/gallery fix: show full corporate/event photos without cropping */
@media(max-width:600px){
  .gallery{columns:1;column-gap:0;width:100%;}
  .gallery figure{width:100%;margin:0 0 14px;break-inside:avoid;}
  .gallery img{width:100%;height:auto;max-height:none;object-fit:contain;transform:none!important;filter:none;}
  .gallery figure:hover img{transform:none;}
  .gallery figcaption{opacity:1;transform:none;bottom:8px;left:8px;font-size:10px;}
  .filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px;-webkit-overflow-scrolling:touch;}
  .filter{flex:0 0 auto;}
}
