/* Time & Tempo — dedicated Mobile DJ page */
.mobile-dj-page{background:#050609;color:#eef2f6}
.mobile-dj-page main{overflow:hidden}
.mobile-dj-page .eyebrow{color:#7ee8ef!important;letter-spacing:.18em!important}
.mobile-dj-page h1,.mobile-dj-page h2,.mobile-dj-page h3{letter-spacing:-.045em}
.mobile-dj-page h1 span,.mobile-dj-page h2 span{color:#a58bff}
.mobile-section-inner{width:min(1180px,calc(100% - 48px));margin:0 auto}

.mobile-hero{position:relative;min-height:min(780px,86svh);display:flex;align-items:flex-end;isolation:isolate;background:#070910}
.mobile-hero-image{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:64% 48%}
.mobile-hero-shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(5,6,9,.98) 0%,rgba(5,6,9,.92) 29%,rgba(5,6,9,.5) 58%,rgba(5,6,9,.14) 100%),linear-gradient(0deg,rgba(5,6,9,.62),transparent 42%)}
.mobile-hero::after{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#7b2cff,#00e5ff 58%,transparent)}
.mobile-hero-inner{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:170px 0 82px}
.mobile-hero-inner h1{max-width:720px;margin:20px 0 22px;font-size:clamp(4rem,6.5vw,7.7rem);line-height:.82;font-weight:900;color:#fff;text-wrap:balance}
.mobile-hero-intro{max-width:630px;margin:0;color:#d4dbe3;font-size:clamp(1rem,1.2vw,1.13rem);line-height:1.7}
.mobile-hero .page-actions{margin-top:30px}
.mobile-hero-points{display:flex;flex-wrap:wrap;gap:9px 22px;margin-top:35px;padding-top:22px;border-top:1px solid rgba(255,255,255,.16);max-width:770px}
.mobile-hero-points span{position:relative;padding-left:14px;color:#d5dce4;font-size:.73rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.mobile-hero-points span::before{content:"";position:absolute;left:0;top:.45em;width:5px;height:5px;border-radius:50%;background:#00e5ff;box-shadow:0 0 13px #00e5ff}

.mobile-intro{padding:105px 0 110px;background:radial-gradient(circle at 12% 10%,rgba(123,44,255,.12),transparent 28%),#080a0f}
.mobile-intro-grid{display:grid;grid-template-columns:.68fr 1.32fr;gap:clamp(40px,6vw,84px);align-items:start}
.mobile-intro-copy{position:sticky;top:118px}
.mobile-intro h2,.mobile-photo-copy h2,.mobile-setup h2,.mobile-price h2,.mobile-local h2,.mobile-faq h2,.mobile-enquiry h2{margin:13px 0 22px;color:#fff;font-size:clamp(2.8rem,4.8vw,5.7rem);line-height:.9;font-weight:850;text-wrap:balance}
.mobile-intro-copy .lead{color:#dbe1e8;font-size:1.07rem;line-height:1.7}
.mobile-intro-copy>p:last-child{color:#929ca8;line-height:1.7}
.mobile-occasion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.mobile-occasion-grid article{overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:linear-gradient(145deg,rgba(18,22,31,.92),rgba(7,9,13,.72));box-shadow:0 24px 60px rgba(0,0,0,.18);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.mobile-occasion-grid article:hover{transform:translateY(-4px);border-color:rgba(126,232,239,.3);box-shadow:0 32px 70px rgba(0,0,0,.26),0 0 36px rgba(123,44,255,.08)}
.mobile-occasion-grid figure{margin:0;aspect-ratio:16/9;overflow:hidden;background:#06080d}
.mobile-occasion-grid figure img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.mobile-occasion-copy{padding:22px 24px 24px}
.mobile-occasion-grid span{display:block;margin-bottom:18px;color:#7ee8ef;font-size:.67rem;font-weight:900;letter-spacing:.18em}
.mobile-occasion-grid h3{margin:0 0 10px;color:#f5f7fa;font-size:1.48rem;line-height:1.05}
.mobile-occasion-grid p{margin:0;color:#8f99a5;line-height:1.57}

.mobile-photo-story{background:#ecebe7;color:#091015}
.mobile-photo-story-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:stretch}
.mobile-photo-main{margin:0;min-height:0;overflow:hidden}
.mobile-photo-main img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;object-position:center}
.mobile-photo-copy{padding:clamp(58px,6vw,92px) clamp(32px,5vw,72px);align-self:center}
.mobile-photo-copy .eyebrow{color:#52606b!important}
.mobile-photo-copy h2{color:#091015}
.mobile-photo-copy h2 span{color:#684ad0}
.mobile-photo-copy>p:not(.eyebrow){color:#48535b;line-height:1.7;font-size:1.02rem}
.mobile-feature-list{margin-top:35px;border-top:1px solid #bdc2c3}
.mobile-feature-list>div{padding:20px 0;border-bottom:1px solid #c9cdce;display:grid;grid-template-columns:150px 1fr;gap:20px}
.mobile-feature-list b{font-size:.82rem;letter-spacing:.05em;text-transform:uppercase}
.mobile-feature-list p{margin:0;color:#55616a;line-height:1.55}

.mobile-setup{padding:105px 0;background:#07090d}
.mobile-setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,6vw,88px);align-items:center}
.mobile-setup-copy>p:not(.eyebrow){max-width:600px;color:#9aa4af;line-height:1.72}
.mobile-setup figure{margin:0;position:relative;border:1px solid rgba(255,255,255,.12);border-radius:24px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.35)}
.mobile-setup figure::after{content:"";position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,#7b2cff,#00e5ff)}
.mobile-setup figure img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.mobile-setup-points{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;margin-top:30px}
.mobile-setup-points span{padding:13px 0;border-top:1px solid rgba(255,255,255,.11);color:#dce2e8;font-size:.82rem}

.mobile-price{padding:105px 0;background:linear-gradient(145deg,#111329,#07101a 54%,#06080c)}
.mobile-price-grid{display:grid;grid-template-columns:1fr minmax(320px,430px);gap:clamp(52px,8vw,120px);align-items:center}
.mobile-price-lead{max-width:690px;color:#aab4bf;font-size:1.03rem;line-height:1.75}
.mobile-price .page-actions{margin-top:28px}
.mobile-price-card{position:relative;padding:38px 38px 35px;border:1px solid rgba(126,232,239,.27);border-radius:24px;background:linear-gradient(145deg,rgba(20,30,48,.95),rgba(9,12,21,.95));box-shadow:0 30px 80px rgba(0,0,0,.35),0 0 60px rgba(123,44,255,.09);overflow:hidden}
.mobile-price-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#7b2cff,#ff31c7,#00e5ff)}
.mobile-price-card>span{display:block;color:#8e9aa7;font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.mobile-price-card strong{display:block;margin:8px 0 13px;color:#fff;font-size:clamp(4.5rem,7vw,7rem);line-height:.9;letter-spacing:-.07em}
.mobile-price-card>p{color:#aab4bf;line-height:1.55}
.mobile-price-card ul{margin:25px 0 0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.1)}
.mobile-price-card li{padding:12px 0 12px 24px;border-bottom:1px solid rgba(255,255,255,.08);position:relative;color:#dbe2e9;font-size:.84rem}
.mobile-price-card li::before{content:"✓";position:absolute;left:0;color:#00e5ff}

.mobile-local{padding:105px 0;background:#ebeae6;color:#0a1015}
.mobile-local-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(52px,7vw,100px);align-items:center}
.mobile-local figure{margin:0;border-radius:22px;overflow:hidden;box-shadow:0 25px 60px rgba(0,0,0,.13)}
.mobile-local figure img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center}
.mobile-local-photo{aspect-ratio:4/3;min-height:420px}
.mobile-local-photo img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}
.mobile-local .eyebrow{color:#51616d!important}
.mobile-local h2{color:#091015}
.mobile-local h2 span{color:#684ad0}
.mobile-local p{color:#4f5b64;line-height:1.75;font-size:1.02rem}
.mobile-local .line-link{color:#111820!important;border-color:#684ad0!important}

.mobile-faq{padding:100px 0;background:#07090d}
.mobile-faq-head{display:grid;grid-template-columns:.6fr 1.4fr;gap:40px;align-items:start;margin-bottom:32px}
.mobile-faq-head h2{margin-top:0}
.mobile-faq-list{border-top:1px solid rgba(255,255,255,.14)}
.mobile-faq-list details{border-bottom:1px solid rgba(255,255,255,.12);padding:0}
.mobile-faq-list summary{list-style:none;cursor:pointer;padding:24px 50px 24px 0;color:#eff3f7;font-size:1.15rem;font-weight:750;position:relative}
.mobile-faq-list summary::-webkit-details-marker{display:none}
.mobile-faq-list summary::after{content:"+";position:absolute;right:4px;top:18px;color:#7ee8ef;font-size:1.7rem;font-weight:300}
.mobile-faq-list details[open] summary::after{content:"–"}
.mobile-faq-list details p{max-width:820px;margin:0 0 28px;color:#99a4af;line-height:1.72}

.mobile-enquiry{padding:105px 0 115px;background:radial-gradient(circle at 12% 15%,rgba(123,44,255,.14),transparent 27%),linear-gradient(145deg,#0b0e16,#050609)}
.mobile-enquiry-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(50px,7vw,105px);align-items:start}
.mobile-enquiry-copy{position:sticky;top:118px}
.mobile-enquiry-copy>p:not(.eyebrow){color:#9ca7b2;line-height:1.72}
.mobile-enquiry-notes{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}
.mobile-enquiry-notes span{padding:9px 12px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#c8d0d8;font-size:.7rem}
.mobile-enquiry-panel{padding:31px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:linear-gradient(145deg,rgba(18,22,31,.95),rgba(8,10,15,.9));box-shadow:0 30px 70px rgba(0,0,0,.26)}
.mobile-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.mobile-form-grid label{display:grid;gap:7px}
.mobile-form-grid label>span{color:#9da8b4;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.mobile-form-grid label small{font-weight:500;text-transform:none;letter-spacing:0}
.mobile-form-grid input,.mobile-form-grid textarea{width:100%;box-sizing:border-box;padding:14px 15px;border:1px solid rgba(255,255,255,.13);border-radius:10px;background:#070a0f;color:#f3f5f7;font:inherit;outline:none}
.mobile-form-grid input:focus,.mobile-form-grid textarea:focus{border-color:#00e5ff;box-shadow:0 0 0 2px rgba(0,229,255,.07)}
.mobile-form-grid textarea{resize:vertical;line-height:1.55}
.mobile-form-grid .wide{grid-column:1/-1}
.mobile-enquiry-submit{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px;padding-top:19px;border-top:1px solid rgba(255,255,255,.09)}
.mobile-enquiry-submit>span{max-width:300px;color:#78838f;font-size:.7rem;line-height:1.45}
.mobile-enquiry-submit .primary{border:0;cursor:pointer}
.mobile-enquiry-panel .form-submit-error{margin:15px 0 0;padding:12px 14px;border:1px solid rgba(255,95,130,.35);border-radius:10px;background:rgba(120,14,43,.18);color:#ffc5d3;font-size:.82rem}
.mobile-enquiry-panel .page-sent{min-height:0!important;padding:15px 4px 4px!important}
.mobile-enquiry-panel .contact-sent-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0}
.mobile-enquiry-panel .contact-sent-steps article{padding:15px;border:1px solid rgba(255,255,255,.1);border-radius:12px}
.mobile-enquiry-panel .contact-sent-steps span{color:#7ee8ef;font-size:.62rem;letter-spacing:.14em}.mobile-enquiry-panel .contact-sent-steps b{display:block;margin:8px 0;color:#fff}.mobile-enquiry-panel .contact-sent-steps p{margin:0;color:#8e99a5;font-size:.76rem;line-height:1.45}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}

@media(max-width:980px){
  .mobile-intro-grid,.mobile-enquiry-grid{grid-template-columns:1fr}.mobile-intro-copy,.mobile-enquiry-copy{position:static}
  .mobile-photo-story-grid{grid-template-columns:1fr}.mobile-photo-main{min-height:520px}.mobile-photo-copy{padding:70px 38px}
  .mobile-setup-grid,.mobile-local-grid{grid-template-columns:1fr}
  .mobile-price-grid{grid-template-columns:1fr}.mobile-price-card{max-width:560px}
}
@media(max-width:720px){
  .mobile-section-inner,.mobile-hero-inner{width:calc(100% - 36px)}
  .mobile-hero{min-height:760px;align-items:flex-end}.mobile-hero-image{object-position:68% 50%}.mobile-hero-shade{background:linear-gradient(0deg,rgba(5,6,9,.98) 0%,rgba(5,6,9,.88) 56%,rgba(5,6,9,.28) 100%)}
  .mobile-hero-inner{padding:170px 0 52px}.mobile-hero-inner h1{font-size:clamp(3.35rem,16vw,5.4rem);line-height:.84}.mobile-hero-intro{font-size:.93rem;line-height:1.62}.mobile-hero-points{gap:9px 15px;margin-top:26px;padding-top:18px}.mobile-hero-points span{font-size:.62rem}
  .mobile-intro,.mobile-setup,.mobile-price,.mobile-local,.mobile-faq,.mobile-enquiry{padding:70px 0}
  .mobile-intro h2,.mobile-photo-copy h2,.mobile-setup h2,.mobile-price h2,.mobile-local h2,.mobile-faq h2,.mobile-enquiry h2{font-size:clamp(2.55rem,12.5vw,4rem);line-height:.92}
  .mobile-occasion-grid{grid-template-columns:1fr}.mobile-occasion-grid article{border-radius:18px}.mobile-occasion-copy{padding:18px 18px 20px}.mobile-occasion-grid span{margin-bottom:14px}
  .mobile-photo-main{min-height:0}.mobile-photo-main img{aspect-ratio:16/10}.mobile-photo-copy{padding:48px 20px}.mobile-feature-list>div{grid-template-columns:1fr;gap:6px}
  .mobile-setup-points{grid-template-columns:1fr}.mobile-setup figure,.mobile-local figure{border-radius:16px}
  .mobile-price-card{padding:29px 24px}.mobile-price-card strong{font-size:5rem}
  .mobile-faq-head{grid-template-columns:1fr;gap:4px}.mobile-faq-list summary{font-size:1rem;padding-right:40px}
  .mobile-form-grid{grid-template-columns:1fr}.mobile-form-grid .wide{grid-column:auto}.mobile-enquiry-panel{padding:21px 17px;border-radius:17px}.mobile-enquiry-submit{align-items:stretch;flex-direction:column}.mobile-enquiry-submit .primary{width:100%}
  .mobile-enquiry-panel .contact-sent-steps{grid-template-columns:1fr}
}

/* v2 — desktop hero alignment: keep the message deliberately left-led. */
@media(min-width:981px){
  .mobile-hero-inner{
    width:min(780px,calc(100% - 96px));
    margin-left:clamp(44px,5vw,96px);
    margin-right:auto;
  }
  .mobile-hero-inner h1{max-width:760px}
  .mobile-hero-intro{max-width:620px}
}

/* v3 — new private-party imagery and balanced landscape containers */
.mobile-photo-story,.mobile-local{overflow:hidden}
.mobile-photo-story figure,.mobile-setup figure,.mobile-local figure{border-radius:24px}
@media(max-width:980px){
  .mobile-intro-grid{grid-template-columns:1fr}
  .mobile-occasion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mobile-photo-story-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .mobile-occasion-grid{grid-template-columns:1fr}
  .mobile-occasion-grid figure{aspect-ratio:16/10}
  .mobile-photo-story figure,.mobile-setup figure,.mobile-local figure{border-radius:16px}
}

@media(max-width:720px){
  .mobile-local-photo{aspect-ratio:16/10;min-height:0}
}
