.service-pills{display:flex;flex-wrap:wrap;gap:.6rem;}
.service-pill{
  border:1px solid rgba(255,255,255,0.25);background:transparent;color:var(--white);
  padding:.55rem 1.1rem;border-radius:999px;font-size:.8rem;font-weight:600;transition:all .25s var(--ease);
}
.service-pill:hover{transform:translateY(-2px);}
.service-pill.selected{background:var(--lime);color:#0A0A0A;border-color:var(--lime);}
.form-success{display:none;background:rgba(180,211,53,0.1);border:1px solid var(--lime);color:var(--lime);padding:1rem 1.25rem;border-radius:10px;margin-top:1rem;font-size:.9rem;opacity:0;transform:translateY(-6px);transition:opacity .3s ease,transform .3s ease;}
.form-success.show{display:block;opacity:1;transform:translateY(0);}

.info-card{border:1px solid var(--line);border-radius:16px;padding:1.75rem;margin-bottom:1.5rem;transition:transform .3s var(--ease),border-color .3s ease;}
.info-card:hover{transform:translateY(-4px);border-color:rgba(180,211,53,0.35);}
.info-card h4{font-size:.8rem;text-transform:uppercase;letter-spacing:1px;color:var(--lime);margin-bottom:1rem;}
.social-links{display:flex;gap:1rem;flex-wrap:wrap;}
.social-links a{font-size:.9rem;color:var(--gray);border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease;}
.social-links a:hover{color:var(--lime);border-color:var(--lime);}
.hours-row{display:flex;justify-content:space-between;font-size:.9rem;padding:.4rem 0;color:var(--gray);border-bottom:1px solid var(--line);}
.hours-row:last-child{border-bottom:none;}
.hours-row span:last-child{color:var(--white);}

.bottom-banner{text-align:center;border-top:1px solid var(--line);}
.bottom-banner h2{font-size:clamp(1.9rem,5.5vw,3.5rem);}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;}}

.contact-visual {
  width: 100%;
  height: 100%;
  min-height: 700px;
  border-radius: 16px;
  overflow: hidden;
}

.contact-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


/* ============ SERVICE PAGES ============ */
.service-hero{ position:relative;min-height:70vh;display:flex;flex-direction:column;justify-content:flex-end; padding:2rem 0 3.5rem;overflow:hidden;
}
.service-hero .hero-bg{position:absolute;inset:0;z-index:0;}
.service-hero .hero-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:cover;
  animation:heroZoom 12s ease-in-out infinite alternate;
}
.service-hero .hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,0.92),rgba(0,0,0,0.45));}
@keyframes heroZoom{from{transform:scale(1);}to{transform:scale(1.08);}}
@media(prefers-reduced-motion:reduce){.service-hero .hero-bg img{animation:none;}}

.back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--gray);font-size:.85rem;margin-bottom:auto;text-transform:uppercase;letter-spacing:1px;transition:color .2s ease,gap .2s ease;position:relative;z-index:1;}
.back-link:hover{color:var(--lime);gap:.75rem;}
.service-hero .container{margin-top:auto;position:relative;z-index:1;}
.service-hero h1{font-size:clamp(2.5rem,7vw,5.5rem);margin-top:1rem;}

.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;}
.intro-columns .lead{font-family:var(--font-head);font-size:clamp(1.4rem,3vw,2rem);color:var(--white);text-transform:none;line-height:1.2;}
@media(max-width:800px){.intro-columns{grid-template-columns:1fr;}}

.mixed-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.mixed-grid .big,
.mixed-grid .stacked {
  display: contents;
}

.mixed-grid .img-box {
  display: block;
  width: 100%;
  height: auto;
  overflow: hidden;
}

.mixed-grid .img-box img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
@media(max-width:800px){.mixed-grid{grid-template-columns:1fr;}}

.philosophy{text-align:center;max-width:780px;margin:0 auto;}
.philosophy p.quote{font-style:italic;font-size:clamp(1.4rem,3.5vw,2.15rem);color:var(--white);margin-top:1rem;line-height:1.4;}

.process-heading{text-align:center;margin-bottom:3rem;}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.75rem;}
.process-step{transition:transform .3s var(--ease);}
.process-step:hover{transform:translateY(-6px);}
.process-step .num{font-family:var(--font-head);font-size:2.25rem;color:var(--lime);margin-bottom:1rem;}
.process-step h4{font-size:1.1rem;margin-bottom:.5rem;}
@media(max-width:900px){.process-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.process-grid{grid-template-columns:1fr;}}

.center-cta{text-align:center;}
.center-cta h2{font-size:clamp(2rem,5vw,3.25rem);margin-bottom:1.75rem;}

.section-heading{max-width:640px;margin:0 auto 3rem;text-align:center;}
.section-heading h2{font-size:clamp(2rem,5vw,3.25rem);margin-top:.5rem;}

/* Our Latest Work - Mobile Only */
@media (max-width: 700px) {

  .latest-work-gallery {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 16px !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 10px;
  }

  .latest-work-gallery .gallery-item {
    flex: 0 0 85% !important;
    width: 85% !important;
    min-width: 85% !important;
    scroll-snap-align: start;
  }

  .latest-work-gallery .img {
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
  }

  .latest-work-gallery video {
    width: 100% !important;