/* D-40 AV & Entertainment — elevated finish layer.
   This file intentionally sits on top of the original page styles. */
:root{
  --d40-blue:#0878ff;
  --d40-blue-light:#48a7ff;
  --d40-ink:#05070b;
  --d40-panel:#0b111b;
  --d40-panel-2:#111a28;
  --d40-text:#f7f9fc;
  --d40-muted:#aab7c9;
  --d40-line:rgba(124,166,220,.2);
  --d40-shadow:0 24px 70px rgba(0,0,0,.28);
}
html{scroll-behavior:smooth}
body{overflow-x:hidden;background:var(--d40-ink);color:var(--d40-text);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}
img,video{max-width:100%;height:auto}
header{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}
.navbar{max-width:1440px;margin:auto;padding-left:clamp(18px,4vw,64px);padding-right:clamp(18px,4vw,64px)}
.logo img{filter:drop-shadow(0 8px 24px rgba(8,120,255,.18))}
.nav-links a{position:relative;letter-spacing:.02em}
.nav-links a:after{content:"";position:absolute;left:50%;right:50%;bottom:-8px;height:2px;background:linear-gradient(90deg,var(--d40-blue),var(--d40-blue-light));transition:.25s ease}
.nav-links a:hover:after,.nav-links a.active:after{left:0;right:0}
.btn-primary,.btn-secondary,button{min-height:46px;border-radius:10px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.btn-primary:hover,.btn-secondary:hover,button:hover{transform:translateY(-2px)}
.btn-primary{box-shadow:0 12px 28px rgba(8,120,255,.24)}
section{position:relative}
.page-hero,.packages-hero,.services-hero,.about-hero,.contact-hero,.reviews-hero,.quote-hero{isolation:isolate;overflow:hidden}
.page-hero:after,.packages-hero:after,.services-hero:after,.about-hero:after,.contact-hero:after,.reviews-hero:after,.quote-hero:after{content:"";position:absolute;inset:auto -10% -45% 35%;height:70%;background:radial-gradient(circle,rgba(8,120,255,.2),transparent 66%);z-index:-1;pointer-events:none}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
.card,.event-card,.package-card,.review-card,.service-card,.value-card,.contact-card,.form-container{border:1px solid var(--d40-line)!important;box-shadow:var(--d40-shadow);overflow:hidden}
.card,.event-card,.package-card,.review-card,.service-card,.value-card{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.card:hover,.event-card:hover,.package-card:hover,.review-card:hover,.service-card:hover,.value-card:hover{transform:translateY(-6px);border-color:rgba(8,120,255,.58)!important;box-shadow:0 30px 80px rgba(0,0,0,.38)}
.package-grid{align-items:stretch}
.package-card{display:flex;flex-direction:column}
.package-content{display:flex;flex:1;flex-direction:column}
.package-content .btn-primary{margin-top:auto;text-align:center}
.featured-package{outline:2px solid rgba(8,120,255,.65);transform:translateY(-8px)}
.featured-package:hover{transform:translateY(-14px)}
.package-header h2{font-size:clamp(40px,5vw,66px)}
input,select,textarea{font-size:16px!important;border-radius:10px!important;transition:border-color .2s ease,box-shadow .2s ease!important}
input:focus,select:focus,textarea:focus{outline:none!important;border-color:var(--d40-blue)!important;box-shadow:0 0 0 4px rgba(8,120,255,.14)!important}
footer{border-top:1px solid rgba(255,255,255,.08)}
.gallery-empty{max-width:760px;margin:30px auto;padding:44px 24px;text-align:center;border:1px dashed rgba(72,167,255,.42);border-radius:18px;background:linear-gradient(145deg,rgba(8,120,255,.09),rgba(255,255,255,.025))}
.gallery-empty i{font-size:38px;color:var(--d40-blue-light);margin-bottom:14px}.gallery-empty h3{font-size:28px;margin:0 0 8px}.gallery-empty p{color:var(--d40-muted);margin:0}
.gallery-item img{aspect-ratio:4/3;object-fit:cover}
@media(max-width:900px){
  header{background:rgba(3,6,11,.96)!important}
  .navbar{min-height:76px}
  .nav-links{top:76px!important;max-height:calc(100vh - 76px);overflow:auto;background:rgba(4,8,14,.98)!important;backdrop-filter:blur(20px);border-bottom:1px solid var(--d40-line)}
  .nav-links a{display:block;padding:14px 20px;font-size:17px}
  .navbar>.btn-primary{display:none}
  .menu-btn{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--d40-line);border-radius:10px}
  .featured-package,.featured-package:hover{transform:none}
  .package-grid,.services-grid,.event-grid,.review-grid{grid-template-columns:1fr!important}
}
@media(max-width:600px){
  section{padding-left:18px!important;padding-right:18px!important}
  .page-hero,.packages-hero,.services-hero,.about-hero,.contact-hero,.reviews-hero,.quote-hero{min-height:46vh!important;padding-top:118px!important;padding-bottom:62px!important}
  .page-hero h1,.packages-hero h1,.services-hero h1,.about-hero h1,.contact-hero h1,.reviews-hero h1,.quote-hero h1{font-size:clamp(48px,16vw,72px)!important;line-height:.95!important}
  .btn-primary,.btn-secondary,button{width:100%;justify-content:center;text-align:center}
  .package-card{border-radius:16px!important}
  .package-header,.package-content{padding-left:20px!important;padding-right:20px!important}
  .gallery-filters{display:flex!important;overflow-x:auto;flex-wrap:nowrap!important;justify-content:flex-start!important;padding-bottom:8px;scrollbar-width:none}
  .gallery-filters::-webkit-scrollbar{display:none}.gallery-filters .filter{width:auto;min-width:max-content}
}
