/* Homepage-only visual redesign. The rest of the site keeps the shared stylesheet. */
.home-page{
  background:#0b1324;
}
.home-page main{
  overflow:hidden;
}
.home-page .home-hero .container,
.home-page .home-services .container,
.home-page .home-reviews .container,
.home-page .home-pricing .container,
.home-page .home-areas .container,
.home-page .home-faq .container,
.home-page .home-cta .container,
.home-page .home-answers .container{
  width:min(1360px,calc(100% - 3rem));
}

/* Hero */
.home-page .home-hero{
  padding:6.75rem 0 6.25rem;
  min-height:auto;
  background:
    radial-gradient(circle at 78% 15%,rgba(249,115,22,.18),transparent 28rem),
    radial-gradient(circle at 12% 0%,rgba(59,130,246,.10),transparent 32rem),
    linear-gradient(135deg,#162238 0%,#0b1324 70%);
}
.home-page .home-hero .hero-grid{
  grid-template-columns:minmax(0,1.18fr) minmax(430px,.72fr);
  gap:5.5rem;
  align-items:center;
}
.home-page .home-hero h1{
  max-width:850px;
  font-size:clamp(3.15rem,5.4vw,5.55rem);
  letter-spacing:-.045em;
  line-height:1.01;
  margin-bottom:1.6rem;
}
.home-page .home-hero .lead{
  max-width:780px;
  font-size:1.38rem;
  line-height:1.68;
  color:#e2e8f0;
}
.home-page .home-hero p:not(.lead):not(.hero-trust-line):not(.photo-caption){
  max-width:760px;
  font-size:1.13rem;
  line-height:1.78;
}
.home-page .home-hero .hero-actions{
  margin-top:2rem;
  gap:1rem;
}
.home-page .home-hero .btn{
  min-height:56px;
  padding:1rem 1.6rem;
  font-size:1.02rem;
}
.home-page .home-hero .hero-trust-line{
  margin-top:.8rem;
  font-size:1rem;
  color:#f8fafc;
}
.home-page .home-hero .hero-photo-card{
  padding:1.55rem;
  border-radius:28px;
  max-width:470px;
  justify-self:end;
  background:linear-gradient(180deg,#202e46 0%,#152238 100%);
  box-shadow:0 30px 80px rgba(0,0,0,.38);
  transform:rotate(.4deg);
}
.home-page .home-hero .hero-photo{
  max-width:100%;
  border-radius:20px;
  margin-bottom:1.4rem;
}
.home-page .home-hero .hero-card h2{
  font-size:1.7rem;
}
.home-page .home-hero .trust-list{
  gap:1rem;
}

/* Shared homepage section typography */
.home-page .home-services,
.home-page .home-pricing,
.home-page .home-faq,
.home-page .home-answers{
  color:#cbd5e1;
}
.home-page .home-services .section-header,
.home-page .home-pricing .section-header,
.home-page .home-faq .section-header,
.home-page .home-answers .section-header{
  max-width:900px;
}
.home-page .home-services h2,
.home-page .home-reviews h2,
.home-page .home-pricing h2,
.home-page .home-areas h2,
.home-page .home-faq h2,
.home-page .home-cta h2,
.home-page .home-answers h2{
  font-size:clamp(2.45rem,4vw,4.1rem);
  letter-spacing:-.035em;
}

/* Services */
.home-page .home-services{
  padding:7rem 0;
  background:#0b1324;
}
.home-page .home-services .eyebrow,
.home-page .home-pricing .eyebrow,
.home-page .home-faq .eyebrow,
.home-page .home-answers .eyebrow{
  color:#f97316;
}
.home-page .home-services .section-header p,
.home-page .home-pricing .section-header p,
.home-page .home-faq .section-header p,
.home-page .home-answers .section-header p{
  color:#cbd5e1;
}
.home-page .home-service-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.35rem;
}
.home-page .home-services .service-card-link{
  min-height:320px;
  padding:2rem;
  background:#fff;
  color:#132033;
  border:1px solid #dfe6ef;
  box-shadow:0 14px 38px rgba(15,23,42,.08);
  border-radius:22px;
  display:flex;
  flex-direction:column;
}
.home-page .home-services .service-card-link:hover{
  transform:translateY(-5px);
  border-color:#f97316;
  box-shadow:0 22px 50px rgba(15,23,42,.13);
}
.home-page .home-services .service-icon{
  width:58px;
  height:58px;
  padding:.7rem;
  border-radius:16px;
  background:#fff1e8;
  margin-bottom:1.25rem;
}
.home-page .home-services .service-card-link h3{
  color:#132033;
  font-size:1.45rem;
  margin-bottom:.8rem;
}
.home-page .home-services .service-card-link p{
  color:#3f4e63;
  font-size:1.04rem;
  line-height:1.72;
}
.home-page .home-services .card-link-text{
  margin-top:auto;
  color:#c2410c;
  font-weight:800;
}
.home-page .home-services .home-ewaste{
  margin-top:1.5rem;
  padding:2rem 2.25rem;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:1.5rem;
  align-items:center;
  text-align:left;
  background:linear-gradient(135deg,#18263d 0%,#0d1729 100%);
  color:#fff;
  border-radius:24px;
}
.home-page .home-services .home-ewaste .service-icon{
  margin:0;
  background:rgba(249,115,22,.15);
}
.home-page .home-services .home-ewaste h3{
  margin:0 0 .4rem;
  font-size:1.45rem;
}
.home-page .home-services .home-ewaste p{
  margin:0;
  color:#dbe4f0;
}
.home-page .home-services .home-ewaste .hero-actions{
  margin:0;
}
.home-page .home-services .home-ewaste .btn-secondary{
  border-color:rgba(255,255,255,.35);
}
.home-page .home-services > .container > .hero-actions{
  margin-top:2.2rem;
}
/* .btn-secondary on these sections now falls back to the shared dark-theme
   style in styles.css (transparent, light border/text) since the sections
   themselves are dark again - no light-background override needed. */

/* Reviews: asymmetric, substantial trust section */
.home-page .home-reviews{
  padding:7rem 0;
  background:#0d1729;
}
.home-page .home-reviews .section-header{
  max-width:860px;
}
.home-page .home-review-grid{
  display:grid;
  grid-template-columns:1.35fr .82fr;
  grid-template-rows:1fr 1fr;
  gap:1.3rem;
  max-width:1160px;
  margin:0 auto;
}
.home-page .home-review-grid .card{
  padding:2rem 2.1rem;
  box-shadow:none;
  background:#16243a;
  border-color:#263852;
}
.home-page .home-review-grid .home-review-featured{
  grid-row:1 / span 2;
  padding:3.1rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:linear-gradient(145deg,#1b2c47,#152238);
}
.home-page .home-review-featured h3{
  font-size:clamp(2rem,3vw,3rem);
  line-height:1.12;
  margin:1rem 0 1.2rem;
}
.home-page .home-review-grid .card:not(.home-review-featured) h3{
  font-size:1.48rem;
}
.home-page .home-review-grid .card:not(.home-review-featured) p{
  font-size:1.05rem;
  line-height:1.72;
}
.home-page .home-reviews .review-stars{
  font-size:1.18rem;
  letter-spacing:.12em;
  color:#f97316;
}
.home-page .home-reviews .mini-note{
  max-width:850px;
  margin:1.7rem auto 0;
  text-align:center;
}

/* Pricing: light, price-led cards */
.home-page .home-pricing{
  padding:7rem 0;
  background:#0b1324;
  padding-bottom:4.25rem;
}
.home-page .home-pricing-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.35rem;
}
.home-page .home-price-card{
  position:relative;
  padding:2.3rem;
  background:#f8fafc;
  color:#132033;
  border:1px solid #dfe6ef;
  box-shadow:0 14px 38px rgba(15,23,42,.07);
  border-radius:22px;
  min-height:310px;
}
.home-page .home-price-card h3{
  font-size:1.45rem;
  padding-top:5.8rem;
}
.home-page .home-price-card p{
  color:#526174;
  font-size:1.03rem;
}
.home-page .home-price-card::before{
  position:absolute;
  top:2rem;
  left:2.3rem;
  font-weight:800;
  color:#132033;
  letter-spacing:-.055em;
  line-height:1;
}
.home-page .home-price-standard::before{content:"$55/hr";font-size:3.4rem}
.home-page .home-price-priority::before{content:"$75/hr";font-size:3.4rem}
.home-page .home-price-parts::before{content:"Quoted first";font-size:2.35rem;letter-spacing:-.035em}

/* Service area: split panel */
.home-page .home-areas{
  padding:7rem 0;
  background:linear-gradient(135deg,#18263d 0%,#0d1729 100%);
}
.home-page .home-areas .container{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:4rem;
  align-items:center;
}
.home-page .home-areas .section-header{
  max-width:none;
  margin:0;
  text-align:left;
}
.home-page .home-areas .section-header h2{
  max-width:820px;
}
.home-page .home-areas .section-header p{
  color:#cbd5e1;
  font-size:1.05rem;
}
.home-page .home-areas .compact-area-list{
  padding:2rem;
  border:1px solid #31445f;
  border-radius:22px;
  background:#101d31;
  box-shadow:0 18px 45px rgba(0,0,0,.2);
}
.home-page .home-areas .compact-area-list p{
  margin:0;
  font-size:1.08rem;
}
.home-page .home-areas .hero-actions{
  grid-column:2;
  justify-content:flex-start;
  margin:-2.8rem 0 0;
}

/* FAQ */
.home-page .home-faq{
  padding:7rem 0;
  background:#0b1324;
  padding-top:2.25rem;
  padding-bottom:7rem;
}
.home-page .home-faq .faq-short{
  max-width:1050px;
  margin:0 auto;
  display:grid;
  gap:1rem;
}
.home-page .home-faq .faq-short .card{
  padding:1.65rem 2rem;
  background:#fff;
  color:#132033;
  border:1px solid #dfe6ef;
  box-shadow:0 8px 24px rgba(15,23,42,.06);
}
.home-page .home-faq .faq-short h3{
  font-size:1.25rem;
}
.home-page .home-faq .faq-short p{
  color:#526174;
}

/* CTA: a true visual break */
.home-page .home-cta{
  padding:5.6rem 0;
  background:linear-gradient(135deg,#f97316,#ea580c);
  color:#101827;
}
.home-page .home-cta .section-header{
  max-width:930px;
  margin-bottom:1.3rem;
}
.home-page .home-cta .eyebrow,
.home-page .home-cta h2,
.home-page .home-cta p,
.home-page .home-cta .final-reassurance{
  color:#101827;
}
.home-page .home-cta .eyebrow{
  opacity:.78;
}
.home-page .home-cta .final-reassurance{
  text-align:center;
  font-weight:700;
}
.home-page .home-cta .btn-primary{
  background:#101827;
  color:#fff;
  box-shadow:none;
}
.home-page .home-cta .btn-primary:hover{
  background:#1e293b;
}
.home-page .home-cta .btn-secondary{
  color:#101827;
  border-color:rgba(16,24,39,.45);
}

/* Answers */
.home-page .home-answers{
  padding:7rem 0;
  background:#0b1324;
}
.home-page .home-answers .answer-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.35rem;
}
.home-page .home-answers .answer-card{
  padding:2rem;
  background:#f8fafc;
  color:#132033;
  border:1px solid #dfe6ef;
  box-shadow:none;
}
.home-page .home-answers .answer-card img{
  width:56px;
  height:56px;
  padding:.6rem;
  border-radius:15px;
  background:#fff1e8;
}
.home-page .home-answers .answer-card h3{
  font-size:1.35rem;
}
.home-page .home-answers .answer-card p{
  color:#526174;
}
.home-page .home-answers .answer-card a{
  color:#132033;
}


/* Homepage footer gets enough scale to match the redesigned page. */
.home-page footer{
  padding:3.5rem 0 2.75rem;
}
.home-page footer .container{
  width:min(1180px,calc(100% - 3rem));
}
.home-page .footer-brand{
  font-size:1.03rem;
  line-height:1.65;
}
.home-page .footer-links{
  margin-top:1.35rem;
  gap:.8rem 1.15rem;
}
.home-page .footer-links a,
.home-page .footer-contact{
  font-size:.98rem;
}
.home-page .footer-socials{
  margin-top:1.4rem;
}
/* Recent work gallery */
.home-page .home-work{
  padding:5.5rem 0;
  background:#0d1729;
}
.home-page .home-work .section-header{
  text-align:center;
}
.home-page .work-before-after-card{
  margin:2rem 0 1.25rem;
  padding:1.5rem;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:#162235;
}
.home-page .work-before-after{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
}
.home-page .work-ba-item{
  position:relative;
  border-radius:12px;
  overflow:hidden;
  aspect-ratio:3 / 4;
  background:#0d1729;
}
.home-page .work-ba-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.home-page .work-photo-label{
  position:absolute;
  top:.75rem;
  left:.75rem;
  padding:.3rem .75rem;
  border-radius:999px;
  background:rgba(11,19,36,.85);
  color:#fff;
  font-size:.8rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.home-page .work-before-after-card figcaption{
  margin-top:1rem;
  color:#cbd5e1;
  font-size:.95rem;
  text-align:center;
}
.home-page .work-photo-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:1.25rem;
}
.home-page .work-photo-card{
  margin:0;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:#162235;
}
.home-page .work-photo-card img{
  width:100%;
  aspect-ratio:3 / 4;
  object-fit:cover;
  display:block;
}
.home-page .work-photo-card figcaption{
  padding:1rem 1.1rem 1.2rem;
  color:#cbd5e1;
  font-size:.95rem;
}
/* Newsletter */
.home-page .home-newsletter{
  padding:4.5rem 0;
  background:#0b1324;
}
.home-page .newsletter-card{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:2.5rem;
  align-items:center;
  padding:2.75rem;
}
.home-page .newsletter-card p{
  color:#cbd5e1;
  margin-top:.5rem;
}
.home-page .newsletter-form{
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
}
.home-page .newsletter-form input[type="email"]{
  flex:1 1 220px;
  min-width:0;
  padding:.85rem 1rem;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.2);
  background:#0f1b2c;
  color:#f1f5f9;
  font-size:1rem;
}
.home-page .newsletter-form input[type="email"]::placeholder{
  color:#9aa9bb;
}
.home-page .newsletter-note{
  margin-top:.6rem;
  font-size:.85rem;
  color:#9aa9bb;
}
@media (max-width:760px){
  .home-page .work-photo-grid{
    grid-template-columns:1fr;
  }
  .home-page .newsletter-card{
    grid-template-columns:1fr;
    padding:2rem 1.5rem;
    text-align:center;
  }
  .home-page .newsletter-form{
    justify-content:center;
  }
}
@media (max-width:1050px){
  .home-page .home-hero .container,
  .home-page .home-services .container,
  .home-page .home-reviews .container,
  .home-page .home-pricing .container,
  .home-page .home-areas .container,
  .home-page .home-faq .container,
  .home-page .home-cta .container,
  .home-page .home-answers .container{
    width:min(100% - 2rem,980px);
  }
  .home-page .home-hero .hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(300px,.65fr);
    gap:2.5rem;
  }
  .home-page .home-hero h1{font-size:clamp(2.75rem,6vw,4.5rem)}
  .home-page .home-service-grid,
  .home-page .home-pricing-grid,
  .home-page .home-answers .answer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-page .home-service-grid .service-card-link:last-child,
  .home-page .home-pricing-grid .home-price-card:last-child,
  .home-page .home-answers .answer-card:last-child{grid-column:1 / -1}
  .home-page .home-areas .container{grid-template-columns:1fr;gap:1.8rem}
  .home-page .home-areas .hero-actions{grid-column:1;margin:0}
}

@media (max-width:760px){
  .home-page .home-hero{padding:4rem 0 3.6rem}
  .home-page .home-hero .hero-grid{grid-template-columns:1fr;gap:2rem}
  .home-page .home-hero h1{font-size:clamp(2.45rem,12vw,3.6rem)}
  .home-page .home-hero .hero-photo-card{transform:none;max-width:none;justify-self:stretch}
  .home-page .home-services,
  .home-page .home-reviews,
  .home-page .home-pricing,
  .home-page .home-areas,
  .home-page .home-faq,
  .home-page .home-answers{padding:4.5rem 0}
  .home-page .home-service-grid,
  .home-page .home-pricing-grid,
  .home-page .home-answers .answer-grid{grid-template-columns:1fr}
  .home-page .home-service-grid .service-card-link:last-child,
  .home-page .home-pricing-grid .home-price-card:last-child,
  .home-page .home-answers .answer-card:last-child{grid-column:auto}
  .home-page .home-services .service-card-link{min-height:0}
  .home-page .home-services .home-ewaste{grid-template-columns:1fr;text-align:center}
  .home-page .home-services .home-ewaste .service-icon{margin:0 auto}
  .home-page .home-services .home-ewaste .hero-actions{justify-content:center}
  .home-page .home-review-grid{grid-template-columns:1fr;grid-template-rows:auto}
  .home-page .home-review-grid .home-review-featured{grid-row:auto;padding:2rem}
  .home-page .home-review-featured h3{font-size:2rem}
  .home-page .home-price-card{min-height:0;padding:1.8rem}
  .home-page .home-price-card::before{position:static;display:block;margin-bottom:1.3rem}
  .home-page .home-price-card h3{padding-top:0}
  .home-page .home-areas .section-header{text-align:center}
  .home-page .home-areas .hero-actions{justify-content:center}
  .home-page .home-cta{padding:4.5rem 0}
}
