/* DJ Lekando revenue app shell */
.dj-shell{width:min(1180px,calc(100% - 32px));margin-inline:auto}.dj-app-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid #e8e2d5;backdrop-filter:blur(12px)}.dj-nav{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px}.dj-brand{display:flex;align-items:center;gap:10px}.dj-brand img{border-radius:8px}.dj-brand span{display:grid}.dj-brand strong{font-size:18px;line-height:1.1}.dj-brand small{font-size:11px;color:#777}.dj-desktop-nav{display:flex;gap:28px;font-weight:700}.dj-desktop-nav a:hover{color:#9b761d}.dj-nav-actions{display:flex;align-items:center;gap:10px}.dj-language{padding:9px 10px;border:1px solid #ddd;border-radius:7px;font-weight:700}.dj-hero{overflow:hidden;background:#f8f5ed}.dj-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:52px;min-height:620px;padding-block:72px}.dj-kicker{color:#8f6c16;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.dj-hero h1,.dj-page-hero h1{font-size:clamp(38px,6vw,70px);line-height:1.08;margin-top:14px;font-weight:900;max-width:850px}.dj-lead,.dj-page-hero p{font-size:18px;line-height:1.9;color:#5d5a54;max-width:760px;margin-top:20px}.dj-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:28px}.btn-whatsapp{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:7px;background:#167d43;color:white;font-weight:800}.dj-proof{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.dj-proof span{display:grid;min-width:135px;padding:13px;border-inline-start:3px solid #c9a84c;background:#fff}.dj-proof strong{font-size:24px}.dj-proof span{font-size:12px;color:#666}.dj-hero-stage{min-height:420px;display:grid;place-items:center;position:relative;border-radius:8px;background:#111;color:#fff;overflow:hidden}.dj-disc{width:230px;height:230px;border:40px solid #292929;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 1px #555,0 35px 70px #0008}.dj-disc img{border-radius:50%}.dj-bars{position:absolute;bottom:42px;display:flex;align-items:end;gap:5px;height:70px}.dj-bars i{width:5px;height:var(--h,35%);background:#c9a84c;animation:djBar 1s ease-in-out infinite alternate}.dj-bars i:nth-child(3n){height:70%;animation-delay:.2s}.dj-bars i:nth-child(4n){height:95%;animation-delay:.4s}.dj-hero-stage p{position:absolute;bottom:14px;font-size:13px}.dj-section{padding-block:70px}.dj-section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}.dj-section-head h2,.dj-final h2{font-size:clamp(28px,4vw,44px);line-height:1.2;margin-top:8px}.dj-section-head>a{font-weight:800;color:#8f6c16}.dj-category-block+.dj-category-block{margin-top:60px}.dj-category-title{max-width:760px;margin-bottom:24px}.dj-category-title h2,.dj-category-title h3{font-size:30px;font-weight:900}.dj-category-title p{color:#666;line-height:1.8}.dj-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.dj-service-tile{position:relative;border:1px solid #e4dfd5;border-radius:8px;padding:24px;background:#fff;min-height:225px;display:flex;flex-direction:column}.dj-service-number{font-size:11px;color:#a18132}.dj-service-tile h3,.dj-service-tile h4{font-size:20px;font-weight:900;margin-top:12px}.dj-service-tile p{color:#666;line-height:1.7;margin-top:10px;flex:1}.dj-service-tile>div{display:flex;justify-content:space-between;gap:10px;margin-top:20px;font-weight:800}.dj-service-tile .is-order,.dj-track .is-order{color:#8f6c16}.dj-promo{margin-top:28px;padding:20px 24px;background:#111;color:white;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:20px}.dj-promo p{color:#ccc;margin-top:4px}.dj-listen-band{background:#111;color:#fff}.dj-listen-band .dj-kicker{color:#e0bd60}.dj-track-list{display:grid;gap:10px}.dj-track{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;align-items:center;gap:15px;padding:12px;background:#1c1c1c;border:1px solid #333;border-radius:8px}.dj-track-play{width:44px;height:44px;border-radius:50%;background:#c9a84c;color:#111;font-weight:900}.dj-track>div{display:grid}.dj-track span{font-size:12px;color:#aaa}.dj-track>a{font-size:13px;font-weight:800}.dj-empty-audio{padding:36px;border:1px solid #333;border-radius:8px;text-align:center}.dj-empty-audio strong{font-size:24px}.dj-empty-audio p{color:#bbb;margin:10px auto 20px;max-width:650px}.dj-city-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.dj-city-grid a{display:grid;padding:20px;border:1px solid #e4dfd5;border-radius:8px}.dj-city-grid span{font-size:12px;color:#777;margin-top:4px}.dj-final{margin-block:30px 80px;padding:38px;background:#f2ecdd;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:30px}.dj-page-hero{background:#f8f5ed;padding-block:80px}.dj-page-hero h1{font-size:clamp(38px,6vw,64px)}.dj-service-page{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px}.dj-rich{font-size:17px;line-height:2}.dj-service-page aside,.dj-city-copy,.dj-listen-card{padding:26px;border:1px solid #e4dfd5;border-radius:8px}.dj-service-page aside ul,.dj-city-copy ul,.dj-booking-aside ul{display:grid;gap:12px;margin-top:16px}.dj-service-page aside li:before,.dj-city-copy li:before,.dj-booking-aside li:before{content:"✓";color:#9b761d;margin-inline-end:8px}.dj-booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;padding-block:50px}.dj-booking-card,.dj-booking-aside{border:1px solid #e4dfd5;border-radius:8px;padding:26px;background:#fff}.dj-booking-aside h2{font-size:20px;font-weight:900}.dj-booking-aside .btn-whatsapp{margin-top:24px;width:100%}.dj-stepper{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:28px}.dj-stepper div{display:flex;align-items:center;gap:7px;color:#999}.dj-stepper span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #ddd;border-radius:50%}.dj-stepper .is-active{color:#111;font-weight:800}.dj-stepper .is-active span{background:#c9a84c;border-color:#c9a84c}.dj-form-step{display:grid;gap:16px}.dj-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dj-form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:10px}.dj-review{border:1px solid #e4dfd5;border-radius:8px;overflow:hidden}.dj-review div{display:flex;justify-content:space-between;gap:20px;padding:12px 14px}.dj-review div+div{border-top:1px solid #eee}.dj-review dt{color:#777}.dj-review dd{font-weight:800}.dj-privacy{font-size:12px;color:#777}.dj-honeypot{position:absolute!important;left:-9999px!important}.dj-success{text-align:center;padding-block:35px}.dj-success>span{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;margin:auto;background:#177d43;color:white;font-size:32px}.dj-success h2{font-size:28px;font-weight:900;margin-top:18px}.dj-player{position:fixed;z-index:80;inset-inline:16px;bottom:84px;max-width:760px;margin-inline:auto;display:grid;grid-template-columns:44px minmax(130px,1fr) minmax(100px,2fr) 45px 32px;align-items:center;gap:10px;background:#111;color:white;border:1px solid #444;border-radius:8px;padding:10px;box-shadow:0 20px 50px #0006}.dj-player[hidden]{display:none}.dj-player>button:first-child{width:40px;height:40px;border-radius:50%;background:#c9a84c;color:#111}.dj-player-copy{display:grid;min-width:0}.dj-player-copy strong,.dj-player-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dj-player-copy span{font-size:11px;color:#aaa}.dj-player input{accent-color:#c9a84c}.dj-footer{background:#111;color:white;padding:50px 0 100px}.dj-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.dj-footer-grid h2{font-size:28px;font-weight:900}.dj-footer-grid h3{font-weight:900;margin-bottom:10px}.dj-footer-grid p{color:#aaa;line-height:1.8;margin-top:8px}.dj-footer-grid>div{display:flex;flex-direction:column;align-items:flex-start}.dj-footer-grid a{color:#ddd;margin-top:8px}.dj-copyright{border-top:1px solid #333;margin-top:35px;padding-top:20px;color:#888;font-size:12px}.dj-mobile-dock{display:none}
@keyframes djBar{to{height:20%}}
@media(max-width:900px){.dj-desktop-nav{display:none}.dj-hero-grid{grid-template-columns:1fr;min-height:0;padding-block:45px}.dj-hero-stage{min-height:320px}.dj-service-grid{grid-template-columns:repeat(2,1fr)}.dj-city-grid{grid-template-columns:repeat(2,1fr)}.dj-service-page,.dj-booking-layout{grid-template-columns:1fr}.dj-footer-grid{grid-template-columns:1fr 1fr}.dj-footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:640px){body{padding-bottom:68px}.dj-shell{width:min(100% - 24px,1180px)}.dj-nav{min-height:60px}.dj-brand small{display:none}.dj-nav-actions .btn-gold{display:none}.dj-hero h1{font-size:39px}.dj-lead{font-size:16px}.dj-hero-stage{min-height:270px}.dj-disc{width:165px;height:165px;border-width:28px}.dj-disc img{width:100px;height:100px}.dj-proof span{flex:1;min-width:100px}.dj-section{padding-block:48px}.dj-section-head{align-items:flex-start}.dj-section-head>a{display:none}.dj-service-grid{grid-template-columns:1fr}.dj-service-tile{min-height:0}.dj-city-grid{grid-template-columns:1fr 1fr}.dj-final{display:grid;padding:24px}.dj-promo{display:grid}.dj-track{grid-template-columns:45px minmax(0,1fr) auto}.dj-track>a:first-of-type{display:none}.dj-track .is-order{font-size:12px}.dj-form-grid{grid-template-columns:1fr}.dj-booking-card{padding:18px}.dj-booking-aside{display:none}.dj-player{bottom:76px;inset-inline:8px;grid-template-columns:40px minmax(0,1fr) 32px}.dj-player input,.dj-player-time{display:none}.dj-footer-grid{grid-template-columns:1fr}.dj-footer-grid>div:first-child{grid-column:auto}.dj-mobile-dock{position:fixed;z-index:70;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid #ddd;padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom))}.dj-mobile-dock a{display:grid;place-items:center;font-size:10px;font-weight:700;color:#666}.dj-mobile-dock span{font-size:20px}.dj-mobile-dock .is-primary{color:#8f6c16}.dj-footer{padding-bottom:50px}}
@media(prefers-reduced-motion:reduce){.dj-bars i{animation:none}}

/* ───────────────────────── Semantic helpers ───────────────────────── */
@layer components {
    .text-body { color: var(--c-text); }
    .text-muted { color: var(--c-muted); }
    .text-accent { color: var(--c-accent); }
    .border-soft { border-color: var(--c-border); }
    .bg-elevated { background-color: var(--c-elevated); }

    .surface-glass {
        background-color: var(--c-glass);
    }

    .card {
        background-color: var(--c-elevated);
        border: 1px solid var(--c-border);
        border-radius: 1rem;
        box-shadow: var(--c-shadow);
    }

    .nav-link {
        color: var(--c-muted);
        font-weight: 600;
        font-size: 0.95rem;
        transition: color .2s ease;
    }
    .nav-link:hover { color: var(--c-accent); }

    .icon-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        height: 2.25rem;
        min-width: 2.25rem;
        padding: 0 .4rem;
        border-radius: .6rem;
        border: 1px solid var(--c-border);
        background: var(--c-elevated);
        color: var(--c-text);
        transition: all .2s ease;
    }
    .icon-btn:hover { border-color: var(--c-accent); color: var(--c-accent); }

    .btn-gold {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: .4rem;
        background-color: var(--c-accent);
        color: #fff;
        font-weight: 700;
        padding: .55rem 1.25rem;
        border-radius: .7rem;
        box-shadow: 0 8px 24px -10px var(--c-accent);
        transition: transform .15s ease, opacity .2s ease;
    }
    .btn-gold:hover { transform: translateY(-2px); opacity: .95; }

    .btn-outline {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: .4rem;
        border: 1.5px solid var(--c-accent);
        color: var(--c-accent);
        font-weight: 700;
        padding: .55rem 1.25rem;
        border-radius: .7rem;
        transition: all .2s ease;
    }
    .btn-outline:hover { background: var(--c-accent); color: #fff; }

    .form-label { display: block; font-size: .85rem; font-weight: 600; color: var(--c-text); margin-bottom: .35rem; }
    .form-input {
        width: 100%;
        background: var(--c-elevated);
        border: 1px solid var(--c-border);
        color: var(--c-text);
        border-radius: .6rem;
        padding: .6rem .8rem;
        font-size: .95rem;
        transition: border-color .2s ease, box-shadow .2s ease;
    }
    .form-input:focus {
        outline: none;
        border-color: var(--c-accent);
        box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-accent) 25%, transparent);
    }
    .form-error { color: #dc2626; font-size: .8rem; margin-top: .3rem; }

    .chip {
        font-size: .85rem;
        font-weight: 600;
        padding: .4rem .9rem;
        border-radius: 999px;
        border: 1px solid var(--c-border);
        background: var(--c-elevated);
        color: var(--c-muted);
        transition: all .2s ease;
    }
    .chip:hover { border-color: var(--c-accent); color: var(--c-accent); }
    .chip-active { background: var(--c-accent); border-color: var(--c-accent); color: #fff; }

    .badge {
        display: inline-block;
        font-size: .72rem;
        font-weight: 700;
        padding: .15rem .55rem;
        border-radius: .4rem;
        background: color-mix(in srgb, var(--c-accent) 16%, transparent);
        color: var(--c-accent);
    }

    .hero-gradient {
        background:
            radial-gradient(60% 60% at 50% 0%, color-mix(in srgb, var(--c-accent) 14%, transparent) 0%, transparent 70%),
            linear-gradient(180deg, var(--c-surface) 0%, var(--c-bg) 100%);
    }
}

/* ───────────────────────── Animations ───────────────────────── */
.wave-path {
    stroke-dasharray: 1200;
    animation: waveMove 9s linear infinite;
}
.wave-path--2 { animation-duration: 12s; }

@keyframes waveMove {
    from { stroke-dashoffset: 0; }
    to { stroke-dashoffset: -1200; }
}

/* Ticker marquee */
.ticker-track {
    display: flex;
    width: max-content;
    gap: 3rem;
    animation: tickerScroll var(--ticker-duration, 30s) linear infinite;
}
.ticker-content { white-space: nowrap; }

@keyframes tickerScroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}
[dir="ltr"] .ticker-track { animation-name: tickerScrollLtr; }
@keyframes tickerScrollLtr {
    from { transform: translateX(-50%); }
    to { transform: translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
    .wave-path, .ticker-track, .animate-floaty { animation: none !important; }
}

/* DJ Lekando V3 UX polish */
:root {
  --dj-gold: #c9a84c;
  --dj-gold-soft: #f7edcf;
  --dj-ink: #15120a;
  --dj-muted: #746b5d;
}

.dj-topbar {
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(253,248,235,.92)),
    radial-gradient(circle at 20% 20%, rgba(201,168,76,.16), transparent 32%);
  backdrop-filter: blur(18px);
}

.dj-logo-mark {
  display: inline-flex;
  width: 2.25rem;
  height: 2.25rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #c9a84c, #8b6a16);
  box-shadow: 0 10px 25px rgba(139,106,22,.25);
}

.dj-mobile-links {
  display: flex;
  gap: .5rem;
  overflow-x: auto;
  padding: 0 0 .75rem;
  scrollbar-width: none;
}

.dj-mobile-links::-webkit-scrollbar { display: none; }

.dj-mobile-links a {
  white-space: nowrap;
  border: 1px solid rgba(201,168,76,.28);
  border-radius: 999px;
  padding: .45rem .8rem;
  background: rgba(255,255,255,.72);
  color: var(--dj-muted);
  font-size: .83rem;
  font-weight: 700;
}

.dj-mobile-links a:hover {
  color: var(--dj-ink);
  background: var(--dj-gold-soft);
}

.dj-conversion-strip {
  scroll-margin-top: 6rem;
}

.dj-conversion-strip .btn-outline,
.btn-outline {
  border: 1px solid rgba(201,168,76,.45);
  border-radius: 999px;
  padding: .7rem 1.1rem;
  font-weight: 800;
  color: var(--dj-ink);
  background: rgba(255,255,255,.78);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.dj-conversion-strip .btn-outline:hover,
.btn-outline:hover,
.btn-gold:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(0,0,0,.09);
}

main section {
  content-visibility: auto;
  contain-intrinsic-size: 1px 700px;
}

@media (max-width: 640px) {
  .btn-gold,
  .btn-outline {
    min-height: 44px;
    align-items: center;
    justify-content: center;
  }

  h1 {
    line-height: 1.12;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
}

/* DJ Lekando V4 Premium Home */
.dj-home-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 15% 20%, rgba(201,168,76,.14), transparent 28%),
    radial-gradient(circle at 85% 35%, rgba(201,168,76,.11), transparent 30%),
    linear-gradient(180deg, #fff 0%, #fffdf7 100%);
}

.dj-home-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201,168,76,.45), transparent);
}

.dj-eyebrow,
.dj-section-kicker {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  color: #9a761e;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.dj-pulse-dot {
  width: .55rem;
  height: .55rem;
  border-radius: 999px;
  background: #c9a84c;
  box-shadow: 0 0 0 0 rgba(201,168,76,.4);
  animation: djPulse 2.2s infinite;
}

.dj-trust-chip,
.dj-city-chip {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(201,168,76,.25);
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  padding: .45rem .75rem;
  font-weight: 700;
}

.dj-hero-visual {
  position: relative;
  min-height: 440px;
  border-radius: 2.5rem;
  border: 1px solid rgba(201,168,76,.22);
  background:
    linear-gradient(145deg, rgba(255,255,255,.95), rgba(248,238,205,.78)),
    radial-gradient(circle at center, rgba(201,168,76,.2), transparent 55%);
  box-shadow: 0 28px 70px rgba(74,57,10,.12);
}

.dj-visual-glow {
  position: absolute;
  inset: 12% 12%;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(201,168,76,.24), transparent 70%);
  filter: blur(12px);
}

.dj-vinyl {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 270px;
  height: 270px;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  background:
    repeating-radial-gradient(circle, #17140c 0 5px, #282117 6px 9px),
    #17140c;
  box-shadow: 0 28px 50px rgba(0,0,0,.22);
  animation: djSpin 16s linear infinite;
}

.dj-vinyl-ring {
  position: absolute;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 999px;
}

.dj-vinyl-ring-1 { inset: 18%; }
.dj-vinyl-ring-2 { inset: 31%; }

.dj-vinyl-label {
  position: absolute;
  inset: 35%;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #e5c968, #8b6a16);
  color: #fffaf0;
  text-align: center;
  line-height: 1;
  box-shadow: inset 0 0 0 4px rgba(255,255,255,.12);
}

.dj-vinyl-label span {
  font-size: .45rem;
  letter-spacing: .12em;
}

.dj-vinyl-label strong {
  font-family: Georgia, serif;
  font-size: 2rem;
}

.dj-equalizer {
  position: absolute;
  left: 10%;
  right: 10%;
  bottom: 10%;
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 5px;
  height: 70px;
  opacity: .8;
}

.dj-equalizer span {
  width: 5px;
  height: calc(12px + (var(--i) % 8) * 6px);
  border-radius: 999px;
  background: linear-gradient(180deg, #f7d76c, #9a761e);
  animation: djBar 1.3s ease-in-out infinite alternate;
  animation-delay: calc(var(--i) * -0.06s);
}

.dj-floating-card {
  position: absolute;
  max-width: 180px;
  border: 1px solid rgba(201,168,76,.24);
  border-radius: 1rem;
  background: rgba(255,255,255,.86);
  padding: .9rem 1rem;
  box-shadow: 0 16px 40px rgba(74,57,10,.1);
  backdrop-filter: blur(12px);
}

.dj-floating-card strong,
.dj-floating-card span {
  display: block;
}

.dj-floating-card strong {
  color: #15120a;
  font-size: .9rem;
}

.dj-floating-card span {
  margin-top: .2rem;
  color: #746b5d;
  font-size: .72rem;
}

.dj-floating-card-a { top: 12%; inset-inline-start: 7%; }
.dj-floating-card-b { top: 22%; inset-inline-end: 6%; }

.dj-stat-card {
  padding: 1.25rem;
  text-align: center;
}

.dj-stat-card strong {
  display: block;
  color: #c9a84c;
  font-family: Georgia, serif;
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 1;
}

.dj-stat-card span {
  display: block;
  margin-top: .55rem;
  color: #746b5d;
  font-size: .85rem;
}

.dj-service-card,
.dj-content-panel,
.dj-planning-card {
  border: 1px solid rgba(201,168,76,.2);
  border-radius: 1.5rem;
  background: rgba(255,255,255,.84);
  box-shadow: 0 18px 45px rgba(74,57,10,.06);
}

.dj-service-card {
  padding: 1.4rem;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.dj-service-card:hover {
  transform: translateY(-4px);
  border-color: rgba(201,168,76,.48);
  box-shadow: 0 24px 55px rgba(74,57,10,.11);
}

.dj-service-icon {
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border-radius: 1rem;
  background: #fff7df;
  font-size: 1.45rem;
}

.dj-service-card h3 {
  margin-top: 1rem;
  color: #15120a;
  font-size: 1.05rem;
  font-weight: 800;
}

.dj-service-card p {
  margin-top: .6rem;
  color: #746b5d;
  font-size: .9rem;
  line-height: 1.75;
}

.dj-service-card a {
  display: inline-flex;
  margin-top: 1rem;
  align-items: center;
  gap: .35rem;
  color: #9a761e;
  font-size: .85rem;
  font-weight: 800;
}

.dj-planning-section {
  background:
    linear-gradient(180deg, rgba(255,253,247,.6), rgba(249,241,216,.7)),
    radial-gradient(circle at 80% 10%, rgba(201,168,76,.13), transparent 30%);
}

.dj-planning-card {
  padding: 1.2rem;
}

.dj-planning-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  padding: 1rem;
}

.dj-planning-row + .dj-planning-row {
  border-top: 1px solid rgba(201,168,76,.16);
}

.dj-planning-row > span {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #f7d76c, #9a761e);
  color: white;
  font-size: .78rem;
  font-weight: 800;
}

.dj-planning-row strong {
  color: #15120a;
  font-size: 1rem;
}

.dj-planning-row p {
  margin-top: .35rem;
  color: #746b5d;
  font-size: .88rem;
  line-height: 1.7;
}

.dj-content-panel {
  padding: 1.6rem;
}

.dj-final-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  border: 1px solid rgba(201,168,76,.28);
  border-radius: 2rem;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(249,239,205,.86)),
    radial-gradient(circle at 90% 20%, rgba(201,168,76,.2), transparent 25%);
  padding: 2rem;
  box-shadow: 0 24px 60px rgba(74,57,10,.08);
}

.dj-final-cta h2 {
  margin-top: .5rem;
  color: #15120a;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 900;
}

.dj-final-cta p {
  margin-top: .7rem;
  max-width: 720px;
  color: #746b5d;
  line-height: 1.8;
}

@keyframes djSpin {
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes djBar {
  from { transform: scaleY(.55); opacity: .45; }
  to { transform: scaleY(1.15); opacity: 1; }
}

@keyframes djPulse {
  70% { box-shadow: 0 0 0 10px rgba(201,168,76,0); }
  100% { box-shadow: 0 0 0 0 rgba(201,168,76,0); }
}

@media (max-width: 1023px) {
  .dj-hero-visual { min-height: 360px; }
  .dj-vinyl { width: 220px; height: 220px; }
}

@media (max-width: 767px) {
  .dj-home-hero h1 { font-size: 2.45rem; }
  .dj-hero-visual { min-height: 320px; border-radius: 1.75rem; }
  .dj-vinyl { width: 190px; height: 190px; }
  .dj-floating-card { max-width: 145px; padding: .7rem .8rem; }
  .dj-floating-card-a { top: 8%; inset-inline-start: 4%; }
  .dj-floating-card-b { top: 18%; inset-inline-end: 4%; }
  .dj-final-cta { align-items: stretch; flex-direction: column; }
}

/* DJ Lekando V5 Premium Services */
.dj-services-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 0%, rgba(201,168,76,.18), transparent 34%),
    linear-gradient(180deg, #fffdf7 0%, #fff 100%);
  border-bottom: 1px solid rgba(201,168,76,.15);
}

.dj-service-detail-card {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  border: 1px solid rgba(201,168,76,.2);
  border-radius: 1.5rem;
  background: rgba(255,255,255,.88);
  padding: 1.4rem;
  box-shadow: 0 18px 45px rgba(74,57,10,.06);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.dj-service-detail-card:hover {
  transform: translateY(-4px);
  border-color: rgba(201,168,76,.5);
  box-shadow: 0 24px 60px rgba(74,57,10,.12);
}

.dj-service-detail-head {
  display: flex;
  align-items: center;
  gap: .9rem;
}

.dj-service-detail-head p {
  color: #9a761e;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.dj-service-detail-head h2 {
  margin-top: .2rem;
  color: #15120a;
  font-size: 1.12rem;
  font-weight: 900;
}

.dj-service-detail-text {
  margin-top: 1rem;
  color: #746b5d;
  font-size: .9rem;
  line-height: 1.8;
}

.dj-check-list {
  margin-top: 1rem;
  display: grid;
  gap: .55rem;
}

.dj-check-list li {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  color: #5f5544;
  font-size: .85rem;
  line-height: 1.6;
}

.dj-check-list li span {
  color: #9a761e;
  font-weight: 900;
}

.dj-service-link {
  display: inline-flex;
  margin-top: auto;
  padding-top: 1.2rem;
  align-items: center;
  gap: .35rem;
  color: #9a761e;
  font-size: .85rem;
  font-weight: 900;
}

.dj-service-process {
  background:
    linear-gradient(180deg, rgba(255,253,247,.65), rgba(249,241,216,.72)),
    radial-gradient(circle at 15% 20%, rgba(201,168,76,.12), transparent 28%);
}

.dj-process-card {
  border: 1px solid rgba(201,168,76,.18);
  border-radius: 1.35rem;
  background: rgba(255,255,255,.82);
  padding: 1.25rem;
  text-align: center;
}

.dj-process-card > span {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  margin: 0 auto;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #f7d76c, #9a761e);
  color: white;
  font-size: .78rem;
  font-weight: 900;
}

.dj-process-card h3 {
  margin-top: .9rem;
  color: #15120a;
  font-size: 1rem;
  font-weight: 900;
}

.dj-process-card p {
  margin-top: .5rem;
  color: #746b5d;
  font-size: .84rem;
  line-height: 1.7;
}

.dj-faq-card {
  border: 1px solid rgba(201,168,76,.2);
  border-radius: 1rem;
  background: rgba(255,255,255,.86);
  padding: 1rem 1.1rem;
}

.dj-faq-card summary {
  cursor: pointer;
  color: #15120a;
  font-size: .95rem;
  font-weight: 900;
}

.dj-faq-card p {
  margin-top: .75rem;
  color: #746b5d;
  font-size: .88rem;
  line-height: 1.8;
}
