.djpage{background:#10100e;color:#f4f0e6}
.djpage main{overflow:hidden}.djpage figure{margin:0}.djpage img{display:block;width:100%;height:auto}
.djpage .eyebrow{font-size:12px;line-height:1.5;letter-spacing:.14em}
.dj-intro{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:5vw;align-items:center;padding:60px 5vw 80px;max-width:1700px;margin:auto}
.dj-intro-copy{min-width:0}.dj-intro h1{font-family:Arial,sans-serif;font-size:clamp(54px,6.3vw,112px);letter-spacing:-.065em;line-height:1;margin:22px 0 28px}.dj-intro h1 em{font-style:normal;color:var(--acid)}
.dj-hook{font-size:clamp(24px,2.6vw,40px);font-weight:700;line-height:1.15;margin:0 0 22px}
.dj-lead{font-size:18px;line-height:1.6;max-width:480px;color:#d0cec5}
.dj-cover{position:relative;transform:rotate(2deg);padding:12px;background:var(--paper);color:var(--ink);box-shadow:14px 14px 0 var(--blue)}
.dj-cover img{aspect-ratio:1.3;object-fit:cover}.dj-cover figcaption{padding:16px 4px 6px;font:700 12px/1.5 Arial,sans-serif;letter-spacing:.15em}
.dj-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:24px}.djpage .button{font-size:14px;margin:0;line-height:1.4}.dates-link{color:inherit;font-size:16px;text-underline-offset:6px}
.dj-sounds{display:flex;justify-content:space-around;flex-wrap:wrap;gap:12px 32px;background:var(--acid);color:#10100e;padding:24px;font-weight:700;font-size:clamp(22px,3vw,40px);transform:rotate(-1deg) scale(1.02)}
.dj-booking,.dj-gallery,.dj-karaoke,.dj-outro{padding:88px 7vw}.dj-booking{max-width:1550px;margin:auto}
.dj-booking-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7vw;margin-top:28px}
.djpage h2{font:700 clamp(36px,4.5vw,72px)/1.1 Arial,sans-serif;letter-spacing:-.045em;margin:0}.dj-booking h2 em{font-family:Georgia,serif;font-weight:400;color:var(--pink)}
.dj-booking p:not(.eyebrow),.dj-karaoke p:not(.eyebrow){font-size:18px;line-height:1.7;margin:0 0 20px}.dj-booking .occasion-line{color:var(--acid);font-size:16px!important}
.dj-dates{background:var(--paper);color:var(--ink);padding:72px 7vw;scroll-margin-top:24px}
.dates-heading{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px;padding-bottom:32px}.dates-heading h2 span{color:var(--blue)}.dates-heading>p{font-size:12px;letter-spacing:.12em;font-weight:700}
.date-list{padding:0;margin:0;list-style:none}.date-list li{display:grid;grid-template-columns:180px minmax(0,1fr);gap:32px;padding:32px 0;border-top:1px solid #aaa89d}.date-list li:last-child{border-bottom:1px solid #aaa89d}
.date-list time{display:flex;flex-direction:column;gap:8px}.date-list time b{font-size:clamp(28px,4vw,56px);letter-spacing:-.06em;line-height:1}.date-list time span{font-size:14px;letter-spacing:.16em}
.date-list h3{font-size:clamp(24px,2.6vw,38px);line-height:1.15;letter-spacing:-.03em;margin:0 0 14px}.date-list p{font-size:16px;line-height:1.6;margin:8px 0}.date-list .date-extra{font-weight:700;color:#284ccc}.entry-note{display:inline-block;background:var(--acid);color:#10100e;padding:9px 13px;font-weight:700;font-size:14px;margin-top:12px;transform:rotate(-1deg)}
.gallery-heading{margin-bottom:38px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}.gallery-grid figure:nth-child(2){margin-top:60px}.gallery-grid img{aspect-ratio:2/3;object-fit:cover}.gallery-grid a{display:block;transition:transform .2s}.gallery-grid a:hover{transform:translateY(-6px)}
.dj-karaoke{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6vw;align-items:center;border-top:1px solid #49493f}.dj-karaoke h2{margin:18px 0 28px}.dj-karaoke h2 em{color:var(--acid)}.dj-karaoke figcaption{font-size:12px;letter-spacing:.12em;line-height:1.6;margin-top:16px}.dj-karaoke .button{margin-top:8px}
.dj-outro{background:var(--acid);color:#10100e;text-align:center}.dj-outro h2{margin:22px 0}.dj-outro p:not(.eyebrow){font-size:18px;line-height:1.6}.booking-mail{display:inline-block;color:inherit;font-size:clamp(18px,3vw,36px);font-weight:700;text-underline-offset:8px;overflow-wrap:anywhere;margin-top:15px;max-width:100%}
@media(max-width:800px){.dj-intro{grid-template-columns:1fr;padding:36px 24px 60px;gap:44px}.dj-intro h1{font-size:clamp(54px,12vw,86px)}.dj-cover{max-width:640px}.dj-cover img{aspect-ratio:1.5}.dj-booking,.dj-gallery,.dj-karaoke,.dj-outro{padding:60px 24px}.dj-booking-grid,.dj-karaoke{grid-template-columns:1fr;gap:28px}.dj-dates{padding:56px 24px}.date-list li{grid-template-columns:100px minmax(0,1fr);gap:18px}.gallery-grid{gap:14px}.gallery-grid figure:nth-child(2){margin-top:30px}}
@media(max-width:500px){.date-list li{grid-template-columns:1fr;gap:18px}.date-list time{flex-direction:row;align-items:baseline}.gallery-grid{grid-template-columns:1fr}.gallery-grid figure:nth-child(2){margin-top:0}.gallery-grid figure{margin-bottom:10px}.dj-sounds{gap:12px 22px;font-size:24px}}
@media(prefers-reduced-motion:reduce){.gallery-grid a{transition:none}}
