:root{--ink:#090910;--paper:#f3f0e9;--pink:#ff2f91;--violet:#7b2cff;--cyan:#28d7ff;--line:rgba(255,255,255,.15);--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:#fff;font-family:"DM Sans",sans-serif;line-height:1.55}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");z-index:99}.container{width:min(calc(100% - 36px),var(--max));margin:auto}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.skip{position:fixed;top:-4rem;left:1rem;background:#fff;color:#000;padding:.8rem;z-index:100}.skip:focus{top:1rem}header{position:absolute;top:0;width:100%;z-index:10;border-bottom:1px solid var(--line)}.nav{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:.8rem;font:700 1.18rem "Barlow Condensed";text-transform:uppercase}.brand img{width:52px;height:52px;object-fit:contain}.brand b{color:var(--cyan);font-size:1.45rem}header nav{display:flex;align-items:center;gap:2rem;font-size:.87rem;font-weight:700}.nav-cta{border:1px solid #ffffff80;padding:.7rem 1rem}.mobile-call{display:none}.hero{min-height:810px;height:100svh;position:relative;display:flex;align-items:center;overflow:hidden}.hero-photo,.hero-wash{position:absolute;inset:0}.hero-photo{background:url("assets/img/hero-disco.jpg") center 35%/cover;filter:saturate(.7) contrast(1.08);transform:scale(1.02)}.hero-wash{background:linear-gradient(90deg,#07070ffa 0%,#07070fd9 42%,#07070f3d 72%),linear-gradient(0deg,#090910,transparent 30%),radial-gradient(circle at 75% 35%,#ff2f9152,transparent 28%)}.beam{position:absolute;width:11rem;height:75rem;top:-25rem;filter:blur(5px);transform:rotate(-32deg);opacity:.25}.beam.one{right:27%;background:linear-gradient(90deg,transparent,var(--cyan),transparent)}.beam.two{right:7%;background:linear-gradient(90deg,transparent,var(--pink),transparent)}.hero-copy{position:relative;padding-top:5rem}.eyebrow{margin:0 0 1.1rem;color:#ddd9e4;text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:700;display:flex;align-items:center;gap:.65rem}.eyebrow i{width:28px;height:2px;background:var(--cyan)}h1,h2,h3{font-family:"Barlow Condensed";line-height:.88;text-transform:uppercase;margin:0}h1{font-size:clamp(4.5rem,9vw,8rem);letter-spacing:-.04em;max-width:8ch}h1 em,h2 em{font-style:italic;-webkit-text-stroke:1.5px currentColor;-webkit-text-fill-color:transparent;color:var(--pink)}.lead{max-width:620px;color:#d4d1db;font-size:clamp(1rem,2vw,1.24rem);margin:1.8rem 0}.actions{display:flex;gap:.8rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:1.2rem;min-height:56px;padding:.85rem 1.35rem;font-size:.88rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;transition:.2s}.button:hover{transform:translateY(-2px);filter:brightness(1.1)}.hot{background:linear-gradient(120deg,var(--violet),var(--pink));box-shadow:0 12px 40px #ff2f9138}.glass{border:1px solid #ffffff4d;background:#0c0c1666;backdrop-filter:blur(8px)}.proof{display:flex;gap:2.5rem;margin-top:3.2rem;color:#b9b7c2;text-transform:uppercase;font-size:.67rem;letter-spacing:.1em}.proof span{display:flex;gap:.65rem}.proof b{color:var(--pink)}.scroll{position:absolute;right:3.5vw;bottom:2.5rem;font-size:.67rem;text-transform:uppercase;letter-spacing:.15em;writing-mode:vertical-rl;color:#aaa}.ticker{overflow:hidden;background:var(--pink);color:#080810;font:800 1rem "Barlow Condensed";letter-spacing:.12em;white-space:nowrap;padding:.85rem 0;transform:rotate(-1deg);width:101%;margin-left:-.5%;position:relative;z-index:2}.ticker i{margin:0 1.5rem}.section{padding:7rem 0}.experience{background:var(--paper);color:var(--ink)}.intro{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:5rem;margin-bottom:3.5rem}.intro>p{color:#55525c;max-width:480px;margin:0}.dark{color:#5a5660}.section h2,.book-panel h2{font-size:clamp(3.2rem,6.6vw,6rem);letter-spacing:-.035em}.experience h2 em{color:var(--violet)}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d4d0c8;border:1px solid #d4d0c8}.services article{min-height:430px;padding:2rem;display:flex;flex-direction:column;justify-content:space-between;background:#fff;position:relative;overflow:hidden}.services article>strong{position:absolute;right:1.7rem;top:1rem;font:800 4.5rem "Barlow Condensed";color:#e7e4de}.services h3{font-size:2.3rem}.services p{color:#65616c;font-size:.92rem}.services a{font-size:.78rem;font-weight:700;text-transform:uppercase;color:var(--violet)}.services .inverse{background:#12111c;color:#fff}.services .inverse p{color:#aaa7b4}.services .inverse>strong{color:var(--pink)}.services .inverse a{color:var(--cyan)}.songbook{background:radial-gradient(circle at 15% 30%,#7b2cff47,transparent 32%),#0b0a12}.song-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.album{min-height:460px;border:1px solid var(--line);background:linear-gradient(150deg,#191625,#0e0c16);position:relative;padding:2rem;display:flex;align-items:flex-end;overflow:hidden;box-shadow:0 40px 90px #0006}.record{position:absolute;width:330px;height:330px;border-radius:50%;background:repeating-radial-gradient(circle,#09090d 0 5px,#16131d 6px 8px);top:-85px;right:-70px}.record:before{content:"";position:absolute;inset:35%;border-radius:50%;background:var(--pink)}.album>div:last-child{position:relative;z-index:2;display:flex;flex-direction:column}.album small{text-transform:uppercase;letter-spacing:.15em;color:var(--cyan)}.album b{font:800 3.3rem "Barlow Condensed";text-transform:uppercase}.album span,.song-grid>div:last-child>p{color:#aaa7b4}.album img{width:106px;height:74px;object-fit:cover;margin-top:1.5rem;background:#fff;padding:6px}.song-grid>div:last-child>p{max-width:530px;font-size:1.05rem;margin:1.6rem 0}.note{display:block;margin-top:1rem;color:#77737f;text-transform:uppercase;letter-spacing:.1em}.events{background:#0c0c13}.gallery{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:1rem;margin-top:3.5rem}.gallery article{height:460px;background-position:center;background-size:cover;position:relative}.gallery article:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#040409f2,transparent 65%)}.gallery article div{position:absolute;z-index:2;bottom:0;padding:1.8rem}.gallery span{font-size:.65rem;color:var(--cyan);letter-spacing:.15em;text-transform:uppercase}.gallery h3{font-size:2.2rem}.wedding{background-image:url("assets/img/gallery-wedding.jpg")}.party{background-image:url("assets/img/gallery-party.jpg")}.marquee{background-image:url("assets/img/marquee-event.jpg")}.occasions{display:flex;justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1.5rem;color:#918e99;text-transform:uppercase;font-size:.69rem;letter-spacing:.13em}.reviews{background:var(--paper);color:var(--ink)}.review-grid{display:grid;grid-template-columns:.45fr 1fr 1fr;gap:4rem}.quote{font:900 14rem/0.65 Georgia;color:var(--pink);margin:0}.review-grid blockquote{margin:0;border-left:1px solid #cdc8be;padding-left:2rem}.review-grid blockquote p{font:600 clamp(1.2rem,2vw,1.6rem) "DM Sans";line-height:1.45;margin-top:0}.review-grid footer{display:flex;justify-content:space-between;font-size:.74rem;text-transform:uppercase}.review-grid footer span{color:var(--violet)}.booking{background:var(--paper)}.book-panel{padding:5rem;display:grid;grid-template-columns:1.2fr .8fr;gap:5rem;align-items:center;background:linear-gradient(125deg,#6b20ed,#f52c8a)}.book-panel h2 em{color:#fff}.book-actions{display:flex;flex-direction:column;gap:.8rem;text-align:center}.light{background:#fff;color:#111}.outline{border:1px solid #ffffff99}.site-footer{padding:3rem 0}.foot{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;color:#8f8c97;font-size:.8rem}.foot img{width:72px;height:62px;object-fit:contain}.foot>div{display:flex;flex-direction:column}.foot b{color:#fff;text-transform:uppercase}.foot nav{display:flex;gap:1.5rem}
@media(max-width:850px){header nav{display:none}.mobile-call{display:block;border:1px solid var(--line);padding:.55rem .8rem}.hero{min-height:720px}.scroll{display:none}.section{padding:5.5rem 0}.intro,.song-grid,.book-panel{grid-template-columns:1fr;gap:2.5rem}.services{grid-template-columns:1fr}.services article{min-height:320px}.gallery{grid-template-columns:1fr 1fr}.gallery article:last-child{grid-column:span 2}.review-grid{grid-template-columns:1fr 1fr}.quote{grid-column:span 2;font-size:8rem}.book-panel{width:calc(100% - 36px);padding:3.5rem 2rem}.foot{grid-template-columns:auto 1fr}.foot nav{grid-column:span 2;justify-content:center}}
@media(max-width:560px){.nav{min-height:72px}.brand img{width:42px;height:42px}.brand{font-size:.88rem}.hero{height:auto;min-height:760px;padding:7.5rem 0 3rem}.hero-photo{background-position:62% center}.hero-copy{padding-top:0}.actions{display:grid}.button{width:100%}.proof{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.section{padding:4.5rem 0}.section h2{font-size:3.25rem}.album{min-height:390px}.record{width:260px;height:260px}.gallery{grid-template-columns:1fr}.gallery article,.gallery article:last-child{grid-column:auto;height:330px}.occasions{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.review-grid{grid-template-columns:1fr;gap:2.5rem}.quote{grid-column:auto}.book-panel{padding:3rem 1.4rem}.foot{grid-template-columns:1fr;text-align:center}.foot img{margin:auto}.foot nav{grid-column:auto;justify-content:center;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
body{overflow-x:hidden}
.latest-event{background:#0b0a12}.latest-copy{display:grid;grid-template-columns:1.25fr .75fr;gap:5rem;align-items:end;margin-bottom:3rem}.latest-copy>div:last-child p{color:#aaa7b4;margin:0 0 1.5rem}.latest-collage{display:grid;grid-template-columns:.85fr 1.5fr .85fr;gap:10px;height:520px;position:relative}.latest-collage img{width:100%;height:100%;object-fit:cover;filter:saturate(.88);transition:.3s}.latest-collage:hover img{filter:saturate(1.12);transform:translateY(-3px)}.latest-collage span{position:absolute;left:50%;bottom:1.5rem;transform:translateX(-50%);background:#090910e8;border:1px solid #ffffff2b;padding:.75rem 1.1rem;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;white-space:nowrap}.latest-collage b{color:var(--cyan);margin-left:.8rem}.gallery-page{background:#0a0910}.gallery-header{position:absolute}.gallery-hero{padding:10rem 0 5rem;background:radial-gradient(circle at 80% 20%,#ff2f913d,transparent 27%),radial-gradient(circle at 15% 70%,#7b2cff42,transparent 30%),#0b0a12}.back-link{display:inline-block;color:#9e9aa6;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:4rem}.gallery-hero h1{max-width:none;font-size:clamp(4.2rem,9vw,8.5rem)}.gallery-subtitle{font:800 clamp(1.8rem,4vw,3.8rem) "Barlow Condensed";text-transform:uppercase;color:var(--pink);margin:.6rem 0 3rem}.gallery-story{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:end;border-top:1px solid var(--line);padding-top:1.5rem}.gallery-story p{max-width:650px;color:#b7b3bf;margin:0}.gallery-story span{text-transform:uppercase;font-size:.67rem;letter-spacing:.12em;color:#8f8b97}.gallery-story b{color:var(--cyan);margin:0 .7rem}.photo-wall{padding:1rem 0 7rem;background:#0b0a12}.masonry{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:10px}.photo{border:0;padding:0;position:relative;overflow:hidden;background:#17151f;cursor:zoom-in;color:#fff}.photo img{width:100%;height:100%;object-fit:cover;transition:.35s}.photo:hover img{transform:scale(1.035);filter:brightness(.65)}.photo span{position:absolute;left:1rem;bottom:1rem;opacity:0;transform:translateY(5px);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;transition:.25s}.photo:hover span{opacity:1;transform:none}.photo.wide{grid-column:span 2}.photo.tall{grid-row:span 2}.gallery-cta{padding:6rem 0;background:linear-gradient(120deg,#641fdc,#f02d8b);text-align:center}.gallery-cta h2{font-size:clamp(3.5rem,7vw,6.5rem)}.gallery-cta h2 em{color:#fff}.gallery-cta p:not(.eyebrow){max-width:650px;margin:1.5rem auto;color:#f0eaf3}.gallery-cta .eyebrow{justify-content:center}.lightbox{width:100vw;height:100vh;max-width:none;max-height:none;border:0;padding:2.5rem;background:#050508ee;color:#fff}.lightbox::backdrop{background:#050508ee}.lightbox img{width:100%;height:calc(100% - 2rem);object-fit:contain}.lightbox button{position:fixed;border:1px solid #ffffff3d;background:#090910d9;color:#fff;width:52px;height:52px;font-size:1.4rem;cursor:pointer}.lightbox-close{right:1.5rem;top:1.5rem;z-index:2}.lightbox-prev{left:1.5rem;top:50%}.lightbox-next{right:1.5rem;top:50%}.lightbox p{text-align:center;margin:.5rem;text-transform:uppercase;letter-spacing:.15em;font-size:.65rem;color:#aaa}
@media(max-width:850px){.latest-copy{grid-template-columns:1fr;gap:1.5rem}.latest-collage{height:430px;grid-template-columns:1fr 1.4fr}.latest-collage img:last-of-type{display:none}.masonry{grid-template-columns:repeat(3,1fr)}.gallery-story{grid-template-columns:1fr}.gallery-header nav{display:none}}
@media(max-width:560px){.latest-collage{height:390px;grid-template-columns:1fr 1fr}.latest-collage span{bottom:1rem}.gallery-hero{padding:7.5rem 0 3.5rem}.back-link{margin-bottom:2.5rem}.gallery-hero h1{font-size:4.2rem}.masonry{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.photo.wide{grid-column:span 2}.photo.tall{grid-row:span 2}.lightbox{padding:1rem}.lightbox button{width:44px;height:44px}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}.lightbox-close{right:.5rem;top:.5rem}}
.hero-photo{background-image:url("assets/img/dj-view.jpg")}
.wedding{background-image:url("assets/img/hero-disco.jpg")}
.party{background-image:url("assets/img/party-crowd.jpg")}
.services article:first-child{background:linear-gradient(180deg,#ffffffed,#fffffff7),url("assets/img/dj-rig.jpg") center/cover}
.services .inverse{background:linear-gradient(180deg,#12111cd9,#12111cf7),url("assets/img/dancefloor.jpg") center/cover}
