/* Basic reset */
*{box-sizing:border-box;margin:0;padding:0}
img{max-width:100%;display:block}
body{
  background:#0a0a0a;
  color:#fff;
  font-family:-apple-system,BlinkMacSystemFont,"Inter","Roboto","Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  line-height:1.4;
}
:root{
  --black:#0a0a0a;
  --gray:#1f1f1f;
  --white:rgba(255,255,255,.9);
  --muted:rgba(255,255,255,.6);
  --muted2:rgba(255,255,255,.4);
  --border:rgba(255,255,255,.1);
  --ring:rgba(255,255,255,.05);
  --yellow:#FACC15;
  --yellow-soft:rgba(250,204,21,.1);
  --radius:20px;
  --shadow:0 20px 40px -10px rgb(0 0 0 / .8);
  --shadow-hover:0 24px 48px -12px rgb(0 0 0 / .9);
  --section-max:1280px;
  --pad-h:1rem;
}
@media(min-width:640px){
  :root{--pad-h:1.5rem}
}
@media(min-width:1024px){
  :root{--pad-h:2rem}
}

/* Utilities-ish */
.wrapper{
  max-width:var(--section-max);
  margin:0 auto;
  padding:1rem var(--pad-h) 1rem;
}
.header-bar{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(10,10,10,.8);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.flex-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;row-gap:1rem}
.flex-gap{display:flex;align-items:center;gap:.75rem}
.text-right{text-align:right}
.small-muted{color:var(--muted2);font-size:.7rem;line-height:1.2}
.phone-link{color:var(--yellow);font-weight:600;font-size:.9rem;text-decoration:none}
.phone-link:hover{color:#fff}
.email-link{color:var(--muted);font-size:.7rem;text-decoration:none}
.email-link:hover{color:#fff}
.logo-text-top{color:var(--muted);font-size:.8rem;line-height:1.1}
.logo-text-bottom{color:var(--yellow);font-weight:600;font-size:1rem;line-height:1.1}
.nav-links{display:none;gap:1.25rem;font-size:.8rem;font-weight:500;color:rgba(255,255,255,.8)}
.nav-links a{color:rgba(255,255,255,.8);text-decoration:none}
.nav-links a:hover{color:var(--yellow)}
@media(min-width:768px){
  .nav-links{display:flex}
  .phone-link{font-size:1rem}
}

/* HERO */
.section-hero{
  position:relative;
  background:linear-gradient(#1f1f1f,#0a0a0a);
  overflow:hidden;
}
.hero-bg{
  position:absolute;
  inset:0;
  opacity:.15;
  z-index:0;
}
.hero-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(10,10,10,.8);
  mix-blend-mode:multiply;
}
.hero-inner{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column-reverse;
  gap:2rem;
  padding:4rem var(--pad-h);
  max-width:var(--section-max);
  margin:0 auto;
}
@media(min-width:768px){
  .hero-inner{flex-direction:row;align-items:center;justify-content:space-between;padding:6rem var(--pad-h)}
  .hero-left{max-width:34rem;text-align:left}
}
.hero-left{text-align:center;color:#fff}
.badge{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  background:rgba(255,255,255,.05);
  border:1px solid var(--border);
  border-radius:999px;
  padding:.4rem .75rem;
  font-size:.65rem;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--muted);
  line-height:1;
}
.dot{
  width:.5rem;
  height:.5rem;
  border-radius:999px;
  background:var(--yellow);
  box-shadow:0 0 8px var(--yellow);
}
.hero-headline{
  margin-top:1rem;
  font-size:2rem;
  font-weight:600;
  line-height:1.1;
  color:#fff;
}
.hero-headline span{
  display:block;
  color:var(--yellow);
}
@media(min-width:640px){
  .hero-headline{font-size:2.5rem}
}
@media(min-width:768px){
  .hero-headline{font-size:3rem}
}
.hero-text{
  margin-top:1rem;
  font-size:1rem;
  color:var(--muted);
}
.hero-text span{color:#fff}
.cta-row{
  margin-top:2rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1rem;
}
@media(min-width:640px){
  .cta-row{flex-direction:row;align-items:flex-start}
}
.btn-yellow{
  background:var(--yellow);
  color:#000;
  font-weight:600;
  font-size:.9rem;
  border-radius:var(--radius);
  padding:.9rem 1.25rem;
  text-decoration:none;
  box-shadow:var(--shadow);
  text-align:center;
  line-height:1.2;
  border:none;
  cursor:pointer;
}
.btn-yellow:hover{
  transform:scale(1.02);
  box-shadow:0 28px 60px -10px rgba(250,204,21,.5);
}
.hero-sidecopy{
  font-size:.75rem;
  line-height:1.4;
  color:var(--muted);
  text-align:center;
}
.hero-sidecopy strong{
  color:#fff;
  font-weight:500;
}
@media(min-width:640px){
  .hero-sidecopy{text-align:left}
}

/* Stats grid */
.stats-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  max-width:16rem;
  text-align:center;
  font-size:.8rem;
}
@media(min-width:768px){
  .stats-grid{text-align:left}
}
.stat-card{
  background:rgba(255,255,255,.05);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:1rem;
  box-shadow:var(--shadow);
  transition:.18s all;
}
.stat-card:hover{
  transform:translateY(-2px) scale(1.01);
  box-shadow:var(--shadow-hover);
}
.stat-number{
  color:var(--yellow);
  font-size:1.8rem;
  font-weight:600;
  line-height:1;
}
.stat-label{
  color:var(--muted);
  margin-top:.4rem;
  line-height:1.3;
}

/* Generic section wrapper */
.section-dark{
  background:var(--black);
  border-top:1px solid var(--border);
  position:relative;
  padding:4rem var(--pad-h);
}
.section-mid{
  background:var(--gray);
  border-top:1px solid var(--border);
  position:relative;
  padding:4rem var(--pad-h);
}
.section-inner{
  max-width:var(--section-max);
  margin:0 auto;
  position:relative;
  z-index:1;
}

/* Section headings */
.section-head-flex{
  display:flex;
  flex-direction:column;
  gap:2rem;
}
@media(min-width:768px){
  .section-head-flex{
    flex-direction:row;
    align-items:flex-end;
    justify-content:space-between;
  }
}
.section-title{
  color:#fff;
  font-size:1.5rem;
  font-weight:600;
  line-height:1.2;
}
@media(min-width:640px){
  .section-title{font-size:2rem}
}
.section-desc{
  color:var(--muted);
  font-size:.9rem;
  max-width:32rem;
  line-height:1.4;
}
.section-link{
  color:var(--yellow);
  font-size:.8rem;
  font-weight:600;
  text-decoration:none;
}
.section-link:hover{color:#fff}

.light-note{
  font-size:.7rem;
  color:var(--muted2);
  line-height:1.2;
}

/* SERVICES GRID */
.services-grid{
  display:grid;
  gap:1.5rem;
}
@media(min-width:768px){
  .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:1024px){
  .services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.service-card{
  background:rgba(31,31,31,.6);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:1.5rem;
  box-shadow:var(--shadow);
  transition:.18s all;
  position:relative;
}
.service-card.wide-2{
  grid-column:auto/span 2;
}
@media(min-width:1024px){
  .service-card.wide-2{
    grid-column:auto/span 2;
  }
  .service-card.wide-1{
    grid-column:auto/span 1;
  }
}
.service-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}
.service-name{
  color:#fff;
  font-size:1rem;
  font-weight:600;
}
.service-price{
  background:var(--yellow-soft);
  color:var(--yellow);
  font-weight:600;
  font-size:.7rem;
  padding:.4rem .6rem;
  border-radius:var(--radius);
  border:1px solid rgba(250,204,21,.3);
  white-space:nowrap;
}
.service-text{
  margin-top:.75rem;
  font-size:.85rem;
  color:var(--muted);
  line-height:1.4;
}
.service-list{
  list-style:none;
  margin-top:1rem;
  font-size:.75rem;
  line-height:1.4;
  color:rgba(255,255,255,.5);
  display:flex;
  flex-direction:column;
  gap:.4rem;
}
.service-foot{
  margin-top:1rem;
  font-size:.7rem;
  color:var(--muted2);
  line-height:1.3;
}

/* WORK GRID */
.work-grid{
  display:grid;
  gap:1rem;
}
@media(min-width:640px){
  .work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:1024px){
  .work-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
.work-item{
  background:rgba(0,0,0,.2);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:.5rem;
  box-shadow:var(--shadow);
  transition:.18s all;
}
.work-item:hover{
  transform:translateY(-2px) scale(1.01);
  box-shadow:var(--shadow-hover);
}
.work-img{
  border-radius:var(--radius);
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  box-shadow:var(--shadow);
}
.work-caption{
  color:var(--muted);
  font-size:.7rem;
  line-height:1.4;
  margin-top:.6rem;
}

/* ABOUT */
.about-layout{
  display:grid;
  gap:2rem;
}
@media(min-width:1024px){
  .about-layout{
    grid-template-columns:1fr 1fr;
    align-items:center;
  }
}
.about-text-block{
  max-width:34rem;
}
.about-text-block p{
  font-size:.9rem;
  line-height:1.5;
  color:var(--muted);
  margin-top:1rem;
}
.about-text-block p.lead{
  color:var(--white);
  font-size:.95rem;
  line-height:1.5;
}
.about-bullets{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
  margin-top:1.5rem;
  font-size:.75rem;
  line-height:1.4;
}
.about-bullet-box{
  background:rgba(255,255,255,.05);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:1rem;
}
.about-bullet-title{
  color:var(--yellow);
  font-weight:600;
  font-size:.8rem;
  margin-bottom:.3rem;
}
.about-bullet-desc{
  color:var(--muted);
  font-size:.8rem;
  line-height:1.4;
}
.about-photo-wrap{
  position:relative;
  max-width:28rem;
}
.about-photo-card{
  background:var(--gray);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:.5rem;
}
.about-photo-card img{
  border-radius:var(--radius);
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  box-shadow:var(--shadow);
}
.about-badge{
  position:absolute;
  right:-1rem;
  bottom:-1rem;
  background:rgba(250,204,21,.1);
  border:1px solid rgba(250,204,21,.4);
  color:var(--yellow);
  font-size:.7rem;
  line-height:1.4;
  font-weight:500;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:.75rem 1rem;
  min-width:12rem;
}
.about-badge small{
  color:rgba(250,204,21,.6);
  font-size:.6rem;
  line-height:1.4;
  display:block;
  margin-top:.25rem;
}

/* TIPS */
.tips-grid{
  display:grid;
  gap:1rem;
}
@media(min-width:768px){
  .tips-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
.tip-card{
  background:rgba(0,0,0,.6);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:1.5rem;
  transition:.18s all;
}
.tip-card:hover{
  transform:translateY(-2px) scale(1.01);
  box-shadow:var(--shadow-hover);
}
.tip-title{
  font-size:.85rem;
  font-weight:600;
  color:var(--yellow);
}
.tip-body{
  font-size:.8rem;
  color:var(--muted);
  line-height:1.4;
  margin-top:.5rem;
}
.aftercare-cta{
  background:linear-gradient(135deg,#0a0a0a,#1f1f1f);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:1.5rem;
  margin-top:2rem;
  display:flex;
  flex-direction:column;
  gap:1rem;
  font-size:.8rem;
  color:var(--muted);
  line-height:1.4;
}
@media(min-width:768px){
  .aftercare-cta{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
  }
}
.aftercare-cta strong{
  color:#fff;
  font-weight:600;
  display:block;
  margin-bottom:.25rem;
}

/* CONTACT */
.contact-layout{
  display:grid;
  gap:2rem;
}
@media(min-width:1024px){
  .contact-layout{
    grid-template-columns:1fr 1fr;
  }
}
.contact-box{
  background:rgba(255,255,255,.05);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:1rem;
  font-size:.8rem;
  line-height:1.4;
  color:var(--muted);
}
.contact-box-head{
  color:var(--muted);
  font-size:.7rem;
  margin-bottom:.25rem;
}
.contact-box-main{
  color:var(--yellow);
  font-weight:600;
  font-size:1rem;
  line-height:1.2;
  text-decoration:none;
  word-break:break-word;
}
.contact-box-main:hover{color:#fff}
.contact-social a{
  color:var(--yellow);
  text-decoration:none;
  font-weight:600;
  font-size:1rem;
  line-height:1.3;
}
.contact-social a span{
  color:var(--muted2);
  font-size:.6rem;
  font-weight:400;
}

/* FORM */
.form-card{
  background:rgba(31,31,31,.7);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:1.5rem;
  font-size:.8rem;
  line-height:1.4;
  color:var(--muted);
}
.form-row{
  display:flex;
  flex-direction:column;
  margin-top:1rem;
}
.form-label{
  font-size:.6rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--muted2);
  margin-bottom:.3rem;
}
.form-input,
.form-select,
.form-textarea{
  background:rgba(10,10,10,.6);
  border:1px solid var(--border);
  border-radius:10px;
  color:#fff;
  font-size:.8rem;
  padding:.6rem .75rem;
  line-height:1.4;
  outline:none;
  box-shadow:0 0 0 1px var(--ring);
}
.form-input::placeholder,
.form-textarea::placeholder{
  color:rgba(255,255,255,.3);
}
.form-input:focus,
.form-select:focus,
.form-textarea:focus{
  border-color:rgba(250,204,21,.5);
  box-shadow:0 0 0 2px rgba(250,204,21,.5);
}
.form-textarea{
  min-height:5rem;
  resize:vertical;
}

/* FOOTER */
.footer{
  background:var(--black);
  border-top:1px solid var(--border);
  padding:3rem var(--pad-h);
  font-size:.7rem;
  color:var(--muted2);
}
.footer-inner{
  max-width:var(--section-max);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:2rem;
}
@media(min-width:640px){
  .footer-inner{
    flex-direction:row;
    justify-content:space-between;
    align-items:flex-start;
  }
}
.footer-col-main{
  max-width:20rem;
  line-height:1.4;
}
.footer-main-head{
  display:flex;
  align-items:center;
  gap:.75rem;
  color:#fff;
  font-weight:600;
  font-size:.8rem;
}
.footer-cols{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:2rem;
  font-size:.7rem;
  line-height:1.4;
  color:var(--muted2);
}
@media(min-width:640px){
  .footer-cols{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
.footer-cols h4{
  color:#fff;
  font-weight:600;
  font-size:.8rem;
  margin-bottom:.5rem;
}
.footer-cols a,
.footer-cols li{
  color:var(--muted2);
  text-decoration:none;
}
.footer-cols a:hover{
  color:var(--yellow);
}
.footer-bottom{
  max-width:var(--section-max);
  margin:2rem auto 0;
  color:rgba(255,255,255,.3);
  font-size:.6rem;
  line-height:1.4;
  padding:0 var(--pad-h);
  text-align:left;
}

/* REVIEWS */
.reviews-grid{
  display:grid;
  gap:1rem;
}
@media(min-width:640px){
  .reviews-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(min-width:1024px){
  .reviews-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
.review-card{
  background:rgba(0,0,0,.6);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:1rem;
  display:flex;
  flex-direction:column;
  gap:.75rem;
  transition:.18s all;
}
.review-card:hover{
  transform:translateY(-2px) scale(1.01);
  box-shadow:var(--shadow-hover);
}
.review-img{
  border-radius:var(--radius);
  width:100%;
  height:auto;
  object-fit:cover;
  box-shadow:var(--shadow);
  border:1px solid var(--border);
  background:#000;
}
.review-quote{
  font-size:.8rem;
  line-height:1.4;
  color:var(--white);
  font-weight:500;
}
