/* ============================================================
   MaidNeat — Shared stylesheet for main site + service pages
   ============================================================ */
:root{
  --charcoal:#16283d;
  --charcoal-soft:#556579;
  --green:#2aab89;
  --green-dark:#1f8b6e;
  --green-soft:#e4f5f0;
  --green-pale:#f3faf8;
  --white:#ffffff;
  --border:#e2e8ec;
  --shadow-sm:0 1px 3px rgba(35,40,35,.06),0 1px 2px rgba(35,40,35,.04);
  --shadow-md:0 8px 24px rgba(35,40,35,.08);
  --shadow-lg:0 20px 48px rgba(35,40,35,.12);
  --radius:16px;
  --radius-sm:10px;
  --maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  color:var(--charcoal);
  background:var(--white);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
ul{list-style:none;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
:focus-visible{outline:3px solid var(--green);outline-offset:2px;border-radius:4px;}

/* ===== Reveal Animations ===== */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in-view{opacity:1;transform:translateY(0);}

/* ===== Header ===== */
header{
  position:sticky;top:0;z-index:1000;
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;height:76px;}
.logo{display:flex;align-items:center;gap:8px;font-weight:800;font-size:1.35rem;color:var(--charcoal);}
.logo-text{display:flex;flex-direction:column;line-height:1.15;}
.logo-name span{color:var(--green);margin-left:-2px;}
.logo-tag{font-size:.6rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--charcoal-soft);margin-top:1px;}
.nav-links{display:flex;align-items:center;gap:34px;}
.nav-links a{font-weight:500;font-size:.96rem;color:var(--charcoal-soft);transition:color .2s;}
.nav-links a:hover{color:var(--green-dark);}
.nav-cta{
  background:var(--green);color:#fff;padding:11px 22px;border-radius:999px;font-weight:600;
  border:none;font-size:.92rem;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:var(--shadow-sm);
}
.nav-cta:hover{background:var(--green-dark);transform:translateY(-1px);box-shadow:var(--shadow-md);}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:8px;}
.hamburger span{width:24px;height:2px;background:var(--charcoal);border-radius:2px;transition:.25s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-menu{
  display:none;flex-direction:column;gap:2px;background:#fff;border-bottom:1px solid var(--border);
  padding:8px 24px 20px;
}
.mobile-menu.open{display:flex;}
.mobile-menu a{padding:14px 0;font-weight:500;border-bottom:1px solid var(--border);color:var(--charcoal-soft);}
.mobile-menu .nav-cta{margin-top:14px;text-align:center;}

/* ===== Breadcrumb ===== */
.breadcrumb{padding:18px 0 0;font-size:.84rem;color:var(--charcoal-soft);}
.breadcrumb a{color:var(--charcoal-soft);font-weight:600;}
.breadcrumb a:hover{color:var(--green-dark);}
.breadcrumb .sep{margin:0 6px;color:var(--border);}
.breadcrumb .current{color:var(--charcoal);font-weight:600;}

/* ===== Hero ===== */
.hero{
  padding:36px 0 90px;
  background:linear-gradient(180deg,var(--green-pale) 0%, #fff 100%);
  position:relative;
}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;background:var(--green-soft);color:var(--green-dark);
  padding:7px 16px;border-radius:999px;font-weight:600;font-size:.82rem;margin-bottom:20px;
}
.hero h1{font-size:clamp(2.1rem,4.6vw,3.4rem);font-weight:800;line-height:1.12;letter-spacing:-.02em;margin-bottom:20px;}
.hero p.lead{font-size:1.1rem;color:var(--charcoal-soft);max-width:520px;margin-bottom:28px;}
.hero-ctas{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-bottom:22px;}
.btn-primary{
  background:var(--green);color:#fff;padding:16px 30px;border-radius:999px;font-weight:700;font-size:1rem;
  border:none;box-shadow:var(--shadow-md);transition:background .2s,transform .2s;
  display:inline-flex;align-items:center;gap:10px;
}
.btn-primary:hover{background:var(--green-dark);transform:translateY(-2px);}
.btn-outline{
  background:#fff;color:var(--charcoal);padding:15px 28px;border-radius:999px;font-weight:700;font-size:1rem;
  border:2px solid var(--border);transition:.2s;display:inline-flex;align-items:center;gap:10px;
}
.btn-outline:hover{border-color:var(--green);color:var(--green-dark);}
.trust-line{display:flex;align-items:center;gap:8px;color:var(--charcoal-soft);font-size:.88rem;font-weight:500;flex-wrap:wrap;}
.trust-line .dot{width:4px;height:4px;background:var(--charcoal-soft);border-radius:50%;}
.hero-visual{position:relative;}
.hero-img-card{
  border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);position:relative;
  aspect-ratio:4/3.1;background:linear-gradient(135deg,#d9f0e8,#b8e2d4);
  display:flex;align-items:center;justify-content:center;
}
.hero-img-card img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-img-tint{position:absolute;inset:0;background:linear-gradient(135deg,rgba(42,171,137,.38),rgba(22,40,61,.28));mix-blend-mode:multiply;}
.hero-img-tint::after{content:"";position:absolute;inset:0;background:rgba(42,171,137,.16);}
.hero-icon-badge{
  width:120px;height:120px;border-radius:32px;background:rgba(255,255,255,.9);
  display:flex;align-items:center;justify-content:center;color:var(--green-dark);position:relative;z-index:1;
}
.rating-card{
  position:absolute;bottom:-24px;left:-24px;background:#fff;border-radius:var(--radius-sm);
  box-shadow:var(--shadow-lg);padding:16px 20px;display:flex;align-items:center;gap:12px;
  border:1px solid var(--border);
}
.rating-stars{color:#f5a623;font-size:1.1rem;letter-spacing:2px;}
.rating-card .rn{font-weight:800;font-size:1rem;}
.rating-card .rs{font-size:.78rem;color:var(--charcoal-soft);}

/* ===== Sections generic ===== */
section{padding:88px 0;}
.section-head{text-align:center;max-width:640px;margin:0 auto 52px;}
.section-tag{color:var(--green-dark);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;}
.section-head h2{font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:800;letter-spacing:-.02em;margin-bottom:14px;}
.section-head p{color:var(--charcoal-soft);font-size:1.02rem;}
.section-head.left{text-align:left;margin:0 0 32px;}

/* Included / Worth-it two-column */
.included-wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.included-list li, .worth-list li{
  display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);
  font-size:.94rem;color:var(--charcoal-soft);
}
.included-list li:last-child, .worth-list li:last-child{border-bottom:none;}
.included-list .oi, .worth-list .oi{color:var(--green);flex-shrink:0;margin-top:2px;}

/* Checklist by room */
.checklist-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.checklist-card{
  border:1px solid var(--border);border-radius:var(--radius);padding:24px;background:#fff;box-shadow:var(--shadow-sm);
}
.checklist-card h4{font-size:1rem;font-weight:800;margin-bottom:14px;color:var(--green-dark);}
.checklist-card li{
  display:flex;align-items:flex-start;gap:8px;font-size:.86rem;color:var(--charcoal-soft);padding:5px 0;line-height:1.4;
}
.checklist-card li .oi{color:var(--green);flex-shrink:0;margin-top:3px;width:14px;height:14px;}
.checklist-card.addon-card{background:var(--green-pale);border-color:var(--green-soft);}
.checklist-card.addon-card h4{color:var(--charcoal);}
.checklist-note{max-width:760px;margin:36px auto 0;text-align:center;color:var(--charcoal-soft);font-size:.9rem;}

/* Before / After slider */
.ba-slider{
  position:relative;max-width:480px;margin:0 auto;aspect-ratio:3/4;border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow-lg);user-select:none;touch-action:pan-y;
  --pos:50%;
}
.ba-slider.landscape{max-width:720px;aspect-ratio:4/3;}
.ba-slider.tall{aspect-ratio:7/8;max-width:600px;}
.ba-slider.wide{aspect-ratio:2/1;max-width:720px;}
.ba-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;}
.ba-slider .ba-before-wrap{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 calc(100% - var(--pos)) 0 0);}
.ba-divider{
  position:absolute;top:0;bottom:0;left:var(--pos);width:3px;background:#fff;
  box-shadow:0 0 0 1px rgba(0,0,0,.08);transform:translateX(-50%);pointer-events:none;
}
.ba-handle{
  position:absolute;top:50%;left:var(--pos);transform:translate(-50%,-50%);width:44px;height:44px;
  border-radius:50%;background:#fff;box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;
  color:var(--green-dark);pointer-events:none;
}
.ba-tag{
  position:absolute;top:14px;background:rgba(22,40,61,.75);color:#fff;font-size:.75rem;font-weight:800;
  text-transform:uppercase;letter-spacing:.04em;padding:5px 12px;border-radius:999px;pointer-events:none;
}
.ba-tag.before{left:14px;}
.ba-tag.after{right:14px;}
.ba-range{
  position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;
  -webkit-appearance:none;appearance:none;
}
.ba-range::-webkit-slider-thumb{-webkit-appearance:none;width:44px;height:100%;}
.ba-range::-moz-range-thumb{width:44px;height:100%;border:none;background:transparent;}

/* Before / After carousel (multiple slides, one section) */
.ba-carousel{position:relative;max-width:720px;margin:0 auto;}
.ba-carousel .ba-slider{display:none;margin:0;}
.ba-carousel .ba-slider.active{display:block;}
.ba-carousel-btn{
  position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:40px;height:40px;border-radius:50%;
  background:#fff;border:none;box-shadow:var(--shadow-md);color:var(--charcoal);display:flex;
  align-items:center;justify-content:center;transition:.18s;
}
.ba-carousel-btn:hover{background:var(--green);color:#fff;}
.ba-carousel-btn.prev{left:-16px;}
.ba-carousel-btn.next{right:-16px;}
.ba-carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:16px;}
.ba-carousel-dot{width:8px;height:8px;border-radius:50%;background:var(--border);border:none;padding:0;transition:.18s;}
.ba-carousel-dot.active{background:var(--green);width:22px;border-radius:4px;}
.ba-carousel-caption{text-align:center;font-weight:700;font-size:.92rem;margin-top:14px;color:var(--charcoal);}
@media (max-width:560px){
  .ba-carousel-btn.prev{left:4px;}
  .ba-carousel-btn.next{right:4px;}
}

/* Area link cards (used on index + area pages) */
.area-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.area-list li{list-style:none;}
.area-list a{
  display:flex;align-items:center;gap:8px;font-weight:600;font-size:.92rem;color:var(--charcoal);
  background:#fff;border:2px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;
  transition:border-color .18s,background .18s,color .18s,transform .18s;
}
.area-list a .oi{color:var(--green-dark);flex-shrink:0;transition:color .18s;}
.area-list a:hover{border-color:var(--green);background:var(--green-soft);color:var(--green-dark);transform:translateY(-2px);}
.area-list a:hover .oi{color:var(--green-dark);}
.area-wrap{background:var(--green-pale);border-radius:var(--radius);padding:48px;}
@media (max-width:720px){
  .area-list{grid-template-columns:1fr 1fr;}
}

/* Services grid (used on index + explore-more) */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.svc-card{
  border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px;background:#fff;box-shadow:var(--shadow-sm);
  transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column;
}
.svc-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.svc-icon{width:52px;height:52px;border-radius:14px;background:var(--green-soft);color:var(--green-dark);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.svc-card h3{font-size:1.08rem;font-weight:700;margin-bottom:8px;}
.svc-card p{font-size:.87rem;color:var(--charcoal-soft);margin-bottom:16px;flex:1;}
.svc-learn-more{color:var(--green-dark);font-weight:700;font-size:.86rem;display:inline-flex;align-items:center;gap:6px;}
.svc-learn-more:hover{text-decoration:underline;}

.explore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}

/* Final CTA */
.final-cta{background:var(--charcoal);border-radius:24px;padding:64px 40px;text-align:center;color:#fff;margin:0 24px;}
.final-cta h2{font-size:clamp(1.6rem,3.2vw,2.2rem);font-weight:800;margin-bottom:14px;}
.final-cta p{color:#c7cdc7;margin-bottom:28px;font-size:1rem;}
.final-cta .call-note{margin-top:18px;font-size:.9rem;color:#c7cdc7;}
.final-cta .call-note a{color:#fff;font-weight:700;}

/* Footer */
footer{background:var(--charcoal);color:#c7cdc7;padding:64px 0 28px;margin-top:20px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:44px;}
.footer-logo{color:#fff;font-weight:800;font-size:1.3rem;margin-bottom:12px;}
.footer-logo span{color:#6fc98c;margin-left:-2px;}
.footer-logo-tag{display:block;font-size:.65rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#8ea79b;margin-top:2px;}
.footer-col h5{color:#fff;font-weight:700;font-size:.88rem;margin-bottom:16px;}
.footer-col li{margin-bottom:10px;font-size:.86rem;}
.footer-col a:hover{color:#fff;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.8rem;}

/* ===== Responsive ===== */
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-visual{order:-1;}
  .svc-grid{grid-template-columns:repeat(2,1fr);}
  .included-wrap{grid-template-columns:1fr;gap:8px;}
  .checklist-grid{grid-template-columns:repeat(2,1fr);}
  .explore-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:720px){
  .nav-links{display:none;}
  .hamburger{display:flex;}
  .checklist-grid{grid-template-columns:1fr;}
  .final-cta{margin:0 12px;padding:44px 20px;}
  .footer-grid{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column;}
  section{padding:64px 0;}
}
