:root{
    --charcoal:#121212;
    --ivory:#F7F4F2;
    --sand:#E9E5E3;
    --neon:#FF5C58;       /* main accent */
    --lime:#B9FF66;       /* optional highlight */
    --grey:#2C2C2C;
  }

  html, body {
    width: 100%;
    overflow-x: hidden;
  }

/* Spacing utilities */
.py-6{
  padding-top: 3.5rem !important;
  padding-bottom: 3.5rem !important;
}

.py-7{
  padding-top: 4.5rem !important;
  padding-bottom: 4.5rem !important;
}

/* Bigger spacing on desktop */
@media (min-width: 992px){
  .py-6{
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
  }
  .py-7{
    padding-top: 7rem !important;
    padding-bottom: 7rem !important;
  }
}

/* Navbar sizing */
.navbar {
  padding-top: .75rem;
  padding-bottom: .75rem;
  min-height: 64px;
}

.navbar-brand {
  display: flex;
  align-items: center;
  padding: 0; 
}

.navbar-logo {
  height: 52px;       
  width: auto;
  object-fit: contain;
  display: block;
}

/* Desktop */
@media (min-width: 992px) {
  .navbar {
    min-height: 160px;
  }

  .navbar-logo {
    height: 200px;     /* bigger on desktop */
  }

  .navbar-nav .nav-link {
    font-size: 1.1rem; /* big but not crazy */
    padding: .5rem .65rem;
  }

  .navbar .btn {
    font-size: 1rem;
    padding: .55rem 1rem;
  }
}

/* Mobile */
@media (max-width: 575.98px) {
  .navbar-logo {
    height: 160px;     /* NOT 160px */
  }

  .navbar-nav .nav-link {
    font-size: 1.05rem;
    padding: .85rem .6rem;
  }

  .navbar-collapse {
    margin-top: .75rem;
    padding: .75rem;
    background: #000;
    border: 1px solid #2C2C2C;
    border-radius: 12px;
  }

  .navbar .btn {
    width: 100%;
    margin-top: .5rem;
  }
}

  /* Soft divider between sections */
section + section {
    border-top: 1px solid #222;
  }
  
  body{ background-color:var(--charcoal); color:var(--ivory); font-family:'Manrope',system-ui,Segoe UI,Arial,sans-serif; }
  .hero-title{ font-family:'Bebas Neue',system-ui,sans-serif; line-height:0.95; letter-spacing:1px; }
  .section-title{ font-family:'Bebas Neue',system-ui,sans-serif; font-size:2.25rem; letter-spacing:.5px; }
  
  .bg-darker{ background:#181818; }
  .text-muted-ivory{ color:#E9E5E3 !important; }
  
  .btn-accent{
    --bs-btn-bg: var(--neon);
    --bs-btn-border-color: var(--neon);
    --bs-btn-hover-bg: #ff3e3a;
    --bs-btn-hover-border-color: #ff3e3a;
    --bs-btn-color: #121212;
    --bs-btn-hover-color:#121212;
  }
  .btn-outline-accent{
    --bs-btn-color: var(--ivory);
    --bs-btn-border-color: var(--neon);
    --bs-btn-hover-bg: var(--neon);
    --bs-btn-hover-border-color: var(--neon);
    --bs-btn-hover-color:#121212;
    border-width:2px;
  }
  
  .card, .project-card, .service-card{
    background:#1A1A1A;
    border:1px solid var(--grey);
    border-radius:12px;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .card:hover, .project-card:hover, .service-card:hover{
    transform: translateY(-2px);
    box-shadow:0 0 12px rgba(255,92,88,.35);
  }
  
  .shadow-soft{ box-shadow:0 6px 18px rgba(0,0,0,0.18); }
  .step-card{
    background:#1A1A1A; border:1px solid var(--grey); border-radius:12px;
    padding:18px;
  }
  .step-num{ color:var(--neon); font-family:'Bebas Neue'; font-size:28px; line-height:1; }
  
  .navbar-brand .text-accent{ color:var(--neon); }

  /* Add subtle lime hover effects */
.btn-accent:hover {
    box-shadow: 0 0 12px rgba(185, 255, 102, 0.6);
    transform: translateY(-2px);
  }
  
  a.nav-link:hover {
    color: var(--lime) !important;
  }
  
  /* Accent underline effect for headings */
  .section-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 3px;
    margin-top: 8px;
    background: linear-gradient(90deg, var(--neon), var(--lime));
    border-radius: 2px;
  }
  
  /* Hero subtle lime gradient overlay */
  .neon-glow {
    position: absolute;
    inset: auto -40% -50% -40%;
    height: 300px;
    background: radial-gradient(60% 80% at 50% 0%, rgba(255,92,88,.3), rgba(185,255,102,.2) 70%);
    filter: blur(48px);
    pointer-events: none;
    z-index: 0;
  }

  /* Force light text inside all cards */
  .card { color: var(--ivory); }
  .card .text-muted-ivory { color: var(--sand) !important; }

/* Keep muted text variant readable too */
.card .text-muted-ivory {
  color: var(--sand) !important;
}

/* (Optional) slightly brighten prices/titles for emphasis */
.service-card h3,
.service-card .fw-bold {
  color: var(--ivory) !important;
}

/* Make card borders a touch clearer on dark bg */
.service-card,
.project-card {
  border-color: #3a3a3a;
}

/* Bigger, flexible logo holder */
.hero-media{
    background: transparent;
    border:none;
    box-shadow: none;
  }
  
  /* Taller on large screens */
  @media (min-width: 994px){
    .hero-media{ min-height: 420px; }
  }
  
  /* ===== Hero logo intro animation ===== */
  .hero-logo {
    width: clamp(280px, 45vw, 620px);
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 0 18px rgba(255,92,88,0.25))
            drop-shadow(0 0 10px rgba(185,255,102,0.15));
    transition: transform .3s ease, filter .3s ease;
    opacity: 0;
    transform: scale(.94);
    animation: fadePop 1.1s ease-out forwards .2s;
  }
  
  .hero-logo:hover {
    transform: scale(1.03);
    filter: drop-shadow(0 0 18px rgba(255,92,88,0.3))
            drop-shadow(0 0 12px rgba(185,255,102,0.2));
  }

  @keyframes fadePop {
    to {
      opacity: 1;
      transform: scale(1);
    }
  }

  /* ===== Reveal on scroll ===== */
.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity .7s ease-out, transform .7s ease-out;
  }
  
  .reveal.show {
    opacity: 1;
    transform: translateY(0);
  }
  
  /* ===== Button micro-press effect ===== */
  .btn-press {
    transform: scale(.96);
    box-shadow: 0 0 8px rgba(0,0,0,.4);
  }

  .form-status.info { 
    color: var(--sand);
  }

  .form-status.success {
     color: var(--lime); 
  }
  
  .form-status.error { 
    color: #ff8a87; 
  }

  section + section {
    border-top: 1px solid rgba(255,255,255,.06);
  }

 /* === ACCORDION (Packages) – scoped & consistent === */
#packages .accordion-item{
  background: transparent;
  border: 0;
}

#packages .accordion-button{
  background: #1A1A1A;
  color: var(--ivory);
  border: 1px solid #3a3a3a;
  border-radius: 12px !important;
  box-shadow: none;
  padding: 14px 18px;
  transition: transform .15s ease, box-shadow .2s ease, border-color .2s ease;
}

#packages .accordion-button:focus{
  box-shadow: none;
  border-color: var(--neon);
}

#packages .accordion-button:hover{
  box-shadow: 0 0 12px rgba(185,255,102,.35);
  transform: translateY(-1px);
  border-color: var(--lime);
}

#packages .accordion-button:not(.collapsed){
  background: #1A1A1A;
  color: var(--ivory);
  border-color: var(--neon);
  box-shadow: 0 0 12px rgba(255,92,88,.25);
}

/* chevron */
#packages .accordion-button::after{
  filter: invert(1);
  opacity: .85;
}

/* body panel */
#packages .accordion-body{
  background: #1A1A1A;
  color: var(--sand);
  border: 1px solid #3a3a3a;
  border-radius: 12px;
  padding: 18px;
  margin-top: 10px;
}