/* Waste Clear Pro landing page styles.
   Scoped under .cwp-landing (the <body> class on this template) and namespaced
   with a cwp- prefix throughout so nothing collides with Salient's own CSS. */

.cwp-landing{
  --cwp-forest:#0B1F14;
  --cwp-green:#1A6E3C;
  --cwp-offwhite:#F7F6F3;
  --cwp-white:#FFFFFF;
  --cwp-sand:#C8B89A;
  --cwp-charcoal:#3D3D39;
  --cwp-max-w:1200px;
  --cwp-radius:8px;
  --cwp-shadow: 0 2px 12px rgba(0,0,0,0.08);
}

html{scroll-behavior:smooth;}
.cwp-landing, .cwp-landing *{box-sizing:border-box;}
body.cwp-landing{
  margin:0;
  font-family:'DM Sans', sans-serif;
  color:var(--cwp-charcoal);
  background:var(--cwp-offwhite);
  -webkit-font-smoothing:antialiased;
}
.cwp-landing h1, .cwp-landing h2, .cwp-landing h3{font-family:'Playfair Display', serif; margin:0; color:var(--cwp-forest);}
.cwp-mono{font-family:'DM Mono', monospace;}
.cwp-wrap{max-width:var(--cwp-max-w); margin:0 auto; padding:0 24px;}
.cwp-landing img, .cwp-landing svg{max-width:100%; display:block;}
.cwp-landing a{color:inherit;}
.cwp-landing button{font-family:inherit; cursor:pointer;}

.cwp-section{padding:100px 0;}
@media (max-width:768px){ .cwp-section{padding:60px 0;} }
.cwp-section-title{font-size:40px; font-weight:600; line-height:1.15;}
.cwp-section-subtitle{font-size:18px; color:var(--cwp-charcoal); opacity:0.75; margin-top:12px; max-width:640px;}
.cwp-section-head{text-align:center; margin-bottom:56px;}
.cwp-section-head .cwp-section-subtitle{margin-left:auto; margin-right:auto;}
.cwp-eyebrow{
  text-transform:uppercase;
  letter-spacing:0.14em;
  font-size:13px;
  font-weight:600;
  color:var(--cwp-sand);
}

.cwp-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:14px 28px;
  border-radius:var(--cwp-radius);
  font-weight:600;
  font-size:15px;
  text-decoration:none;
  border:1px solid transparent;
  transition:transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.cwp-btn:focus-visible{outline:2px solid var(--cwp-green); outline-offset:2px;}
.cwp-btn-primary{background:var(--cwp-green); color:#fff;}
.cwp-btn-primary:hover{background:#155a30; box-shadow:var(--cwp-shadow);}
.cwp-btn-primary:disabled{opacity:0.6; cursor:not-allowed;}
.cwp-btn-ghost{background:transparent; color:#fff; border-color:rgba(255,255,255,0.4);}
.cwp-btn-ghost:hover{background:rgba(255,255,255,0.08);}
.cwp-btn-block{width:100%; justify-content:center;}

/* fade-up animation */
.cwp-fade-up{opacity:0; transform:translateY(20px); transition:opacity 0.4s ease, transform 0.4s ease;}
.cwp-fade-up.cwp-is-visible{opacity:1; transform:translateY(0);}

/* ---------------- Nav ---------------- */
.cwp-header{
  position:sticky; top:0; z-index:100;
  background:var(--cwp-forest);
}
.cwp-header.cwp-scrolled{box-shadow:0 4px 20px rgba(0,0,0,0.25);}
.cwp-nav-inner{
  display:flex; align-items:center; justify-content:space-between;
  height:76px;
}
.cwp-logo{display:flex; align-items:center; gap:10px; color:#fff; font-weight:600; font-size:18px; text-decoration:none;}
.cwp-logo-mark{width:34px; height:34px;}
.cwp-nav-links{
  display:flex; align-items:center; gap:32px;
  list-style:none; margin:0; padding:0;
}
.cwp-nav-links a{
  color:#F7F6F3; text-decoration:none; font-size:15px; font-weight:500; opacity:0.85;
}
.cwp-nav-links a:hover{opacity:1;}
.cwp-nav-right{display:flex; align-items:center; gap:28px;}
.cwp-hamburger{
  display:none; background:none; border:none; padding:8px; color:#fff;
}
.cwp-hamburger svg{width:26px; height:26px;}
.cwp-mobile-overlay{
  display:none;
  position:fixed; inset:0; background:var(--cwp-forest); z-index:200;
  flex-direction:column; align-items:center; justify-content:center; gap:32px;
}
.cwp-mobile-overlay.cwp-open{display:flex;}
.cwp-mobile-overlay a{color:#fff; font-size:24px; text-decoration:none; font-family:'Playfair Display', serif;}
.cwp-mobile-close{
  position:absolute; top:24px; right:24px; background:none; border:none; color:#fff; padding:8px;
}
.cwp-mobile-close svg{width:26px; height:26px;}

@media (max-width:900px){
  .cwp-nav-links, .cwp-nav-right .cwp-btn-primary{display:none;}
  .cwp-hamburger{display:block;}
}

/* ---------------- Hero ---------------- */
.cwp-hero{
  background:var(--cwp-forest);
  position:relative;
  overflow:hidden;
  padding:120px 0 100px;
}
.cwp-hero-grid-bg{
  position:absolute; inset:0; opacity:0.5; pointer-events:none;
}
.cwp-hero-inner{
  position:relative; z-index:1;
  display:grid; grid-template-columns:60% 40%; gap:40px; align-items:center;
}
@media (max-width:900px){
  .cwp-hero-inner{grid-template-columns:1fr;}
  .cwp-hero{padding:80px 0 60px;}
}
.cwp-hero h1{
  color:#fff; font-size:64px; font-weight:700; line-height:1.08; margin:18px 0 20px;
}
@media (max-width:600px){ .cwp-hero h1{font-size:38px;} }
.cwp-hero .cwp-subtext{
  color:#D9DAD3; font-size:18px; line-height:1.6; max-width:520px; margin:0 0 32px;
}
.cwp-hero-ctas{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:32px;}
.cwp-trust-pills{display:flex; gap:24px; flex-wrap:wrap; list-style:none; padding:0; margin:0;}
.cwp-trust-pills li{color:#B9BDB2; font-size:14px; display:flex; align-items:center; gap:6px;}
.cwp-trust-pills li .cwp-tick{color:var(--cwp-green); font-weight:700;}

.cwp-hero-illustration{width:100%; height:auto;}

/* ---------------- Services ---------------- */
.cwp-services-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; margin-top:8px;
}
@media (max-width:900px){ .cwp-services-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:600px){ .cwp-services-grid{grid-template-columns:1fr;} }
.cwp-service-card{
  background:var(--cwp-white);
  border:1px solid rgba(11,31,20,0.06);
  border-radius:var(--cwp-radius);
  padding:28px;
  box-shadow:var(--cwp-shadow);
  display:flex; flex-direction:column; gap:14px;
}
.cwp-service-icon{
  width:44px; height:44px; border-radius:var(--cwp-radius);
  background:rgba(26,110,60,0.1);
  display:flex; align-items:center; justify-content:center;
}
.cwp-service-icon svg{width:24px; height:24px; color:var(--cwp-green);}
.cwp-service-card h3{font-family:'DM Sans', sans-serif; font-size:20px; font-weight:600; color:var(--cwp-forest);}
.cwp-service-card p{margin:0; font-size:15px; line-height:1.5; opacity:0.8; flex:1;}
.cwp-badge{
  align-self:flex-start;
  font-size:12px; font-weight:700; letter-spacing:0.04em;
  padding:6px 12px; border-radius:20px;
}
.cwp-badge-included{background:var(--cwp-green); color:#fff;}
.cwp-badge-addon{background:var(--cwp-sand); color:var(--cwp-charcoal);}
.cwp-badge-base{background:var(--cwp-charcoal); color:#fff;}

/* ---------------- Stats bar ---------------- */
.cwp-stats-bar{
  background:var(--cwp-forest);
  padding:80px 0;
}
.cwp-stats-row{
  display:grid; grid-template-columns:repeat(4,1fr);
}
@media (max-width:768px){ .cwp-stats-row{grid-template-columns:repeat(2,1fr); gap:32px 0;} }
.cwp-stat{
  text-align:center;
  border-right:1px solid rgba(200,184,154,0.25);
  padding:0 16px;
}
.cwp-stat:last-child{border-right:none;}
@media (max-width:768px){
  .cwp-stat:nth-child(2n){border-right:none;}
}
.cwp-stat-number{font-size:clamp(26px, 2.4vw, 48px); color:var(--cwp-green); font-weight:500; white-space:nowrap;}
.cwp-stat-label{font-size:13px; color:var(--cwp-sand); margin-top:8px;}

/* ---------------- How it works ---------------- */
.cwp-steps{
  display:grid; grid-template-columns:repeat(3,1fr); gap:40px; position:relative; margin-top:24px;
}
@media (max-width:900px){ .cwp-steps{grid-template-columns:1fr;} }
.cwp-steps-line{
  position:absolute; top:52px; left:16.6%; right:16.6%; border-top:2px dashed var(--cwp-sand); z-index:0;
}
@media (max-width:900px){ .cwp-steps-line{display:none;} }
.cwp-step{position:relative; z-index:1; text-align:center;}
.cwp-step-number{
  font-size:80px; font-weight:500; color:rgba(200,184,154,0.35);
  line-height:1; margin-bottom:-28px;
}
.cwp-step h3{font-size:20px; font-weight:600; margin:8px 0 10px;}
.cwp-step p{margin:0; font-size:15px; line-height:1.6; opacity:0.8;}

/* ---------------- Pricing estimator ---------------- */
.cwp-estimator{
  display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; margin-top:24px;
}
@media (max-width:900px){ .cwp-estimator{grid-template-columns:1fr;} }
.cwp-estimator-panel{
  background:var(--cwp-white); border:1px solid rgba(11,31,20,0.08);
  border-radius:var(--cwp-radius); padding:32px; box-shadow:var(--cwp-shadow);
}
.cwp-control-group{margin-bottom:28px;}
.cwp-control-group:last-child{margin-bottom:0;}
.cwp-control-label{
  display:flex; justify-content:space-between; align-items:baseline;
  font-size:14px; font-weight:600; color:var(--cwp-forest); margin-bottom:10px;
}
.cwp-control-label .cwp-value{font-size:22px; color:var(--cwp-green);}
.cwp-landing input[type="range"]{
  width:100%; accent-color:var(--cwp-green); height:4px;
}
.cwp-segmented{
  display:flex; gap:8px;
}
.cwp-segmented button{
  flex:1; padding:10px; border-radius:var(--cwp-radius); border:1px solid rgba(11,31,20,0.15);
  background:var(--cwp-offwhite); font-size:14px; font-weight:600; color:var(--cwp-charcoal);
  transition:background 0.15s ease, color 0.15s ease;
}
.cwp-segmented button[aria-pressed="true"]{background:var(--cwp-green); color:#fff; border-color:var(--cwp-green);}
.cwp-segmented button:focus-visible{outline:2px solid var(--cwp-green); outline-offset:2px;}

.cwp-note-box{
  background:rgba(26,110,60,0.08); border:1px solid rgba(26,110,60,0.2);
  border-radius:var(--cwp-radius); padding:14px 16px; font-size:13.5px; color:var(--cwp-forest);
}
.cwp-toggle-row{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 0; border-bottom:1px solid rgba(11,31,20,0.08);
}
.cwp-toggle-row:last-of-type{border-bottom:none;}
.cwp-toggle-row label{font-size:15px; font-weight:500;}
.cwp-switch{
  position:relative; display:inline-block; width:44px; height:24px;
}
.cwp-switch input{position:absolute; inset:0; opacity:0; margin:0; cursor:pointer;}
.cwp-slider-toggle{
  position:absolute; cursor:pointer; inset:0; background:#D9D6CE; border-radius:24px; transition:0.15s;
}
.cwp-slider-toggle:before{
  content:""; position:absolute; height:18px; width:18px; left:3px; top:3px;
  background:#fff; border-radius:50%; transition:0.15s;
}
.cwp-switch input:checked + .cwp-slider-toggle{background:var(--cwp-green);}
.cwp-switch input:checked + .cwp-slider-toggle:before{transform:translateX(20px);}
.cwp-switch input:focus-visible + .cwp-slider-toggle{outline:2px solid var(--cwp-green); outline-offset:2px;}

.cwp-stations-input{margin-top:10px; display:flex; align-items:center; gap:10px;}
.cwp-stations-input input[type="number"]{
  width:80px; padding:8px 10px; border-radius:var(--cwp-radius); border:1px solid rgba(11,31,20,0.2); font-family:'DM Mono', monospace;
}

.cwp-estimator-output{
  background:var(--cwp-forest); color:#fff; border-radius:var(--cwp-radius); padding:32px;
  box-shadow:var(--cwp-shadow);
}
.cwp-rate-display{font-size:52px; color:var(--cwp-green); font-weight:500; line-height:1;}
.cwp-rate-display .cwp-unit{font-size:16px; color:#D9DAD3; font-family:'DM Sans', sans-serif; margin-left:8px;}
.cwp-output-row{
  display:flex; justify-content:space-between; padding:14px 0; border-bottom:1px solid rgba(255,255,255,0.12);
  font-size:15px;
}
.cwp-output-row .cwp-val{font-family:'DM Mono', monospace; color:#fff; font-size:17px;}
.cwp-margin-bar-wrap{margin:28px 0 32px;}
.cwp-margin-bar-label{font-size:12px; color:var(--cwp-sand); margin-bottom:8px; display:flex; justify-content:space-between;}
.cwp-margin-bar{
  position:relative; height:8px; border-radius:4px; background:rgba(255,255,255,0.15); overflow:visible;
}
.cwp-margin-band{
  position:absolute; top:0; bottom:0; background:rgba(200,184,154,0.5); border-radius:4px;
}
.cwp-margin-tick{
  position:absolute; top:-4px; width:2px; height:16px; background:#fff;
}
.cwp-margin-dot{
  position:absolute; top:-5px; width:18px; height:18px; border-radius:50%;
  background:var(--cwp-green); border:3px solid #fff; transform:translateX(-50%);
  transition:left 0.2s ease;
}

/* ---------------- Why / testimonials ---------------- */
.cwp-testimonials{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:8px;}
@media (max-width:900px){ .cwp-testimonials{grid-template-columns:1fr;} }
.cwp-testimonial{
  background:var(--cwp-white); border-left:3px solid var(--cwp-sand); border-radius:var(--cwp-radius);
  padding:28px; box-shadow:var(--cwp-shadow);
}
.cwp-testimonial .cwp-quote-mark{color:var(--cwp-green); font-size:32px; font-family:'Playfair Display', serif; line-height:1;}
.cwp-testimonial p{font-size:15px; line-height:1.6; margin:12px 0 16px;}
.cwp-testimonial .cwp-author{font-size:13.5px; font-weight:600; color:var(--cwp-forest); opacity:0.85;}

.cwp-compare{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:56px;}
@media (max-width:768px){ .cwp-compare{grid-template-columns:1fr;} }
.cwp-compare-col{background:var(--cwp-white); border-radius:var(--cwp-radius); padding:28px; box-shadow:var(--cwp-shadow);}
.cwp-compare-col h3{font-size:18px; margin-bottom:16px;}
.cwp-compare-col ul{list-style:none; padding:0; margin:0;}
.cwp-compare-col li{display:flex; gap:10px; font-size:14.5px; padding:8px 0; align-items:flex-start;}
.cwp-compare-before .cwp-mark{color:#B4392C;}
.cwp-compare-after .cwp-mark{color:var(--cwp-green);}

/* ---------------- Quote form ---------------- */
.cwp-quote-section{background:var(--cwp-forest);}
.cwp-quote-section .cwp-section-title, .cwp-quote-section h2{color:#fff;}
.cwp-quote-section .cwp-section-subtitle{color:var(--cwp-sand); opacity:1;}
.cwp-quote-form{
  margin-top:40px; display:grid; grid-template-columns:1fr 1fr; gap:20px;
  background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.1);
  border-radius:var(--cwp-radius); padding:36px;
}
@media (max-width:768px){ .cwp-quote-form{grid-template-columns:1fr; padding:24px;} }
.cwp-field{display:flex; flex-direction:column; gap:8px;}
.cwp-field.cwp-full{grid-column:1 / -1;}
.cwp-field label{font-size:13.5px; font-weight:600; color:var(--cwp-sand);}
.cwp-field input, .cwp-field select, .cwp-field textarea{
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.2);
  border-radius:var(--cwp-radius); padding:12px 14px; color:#fff; font-family:'DM Sans', sans-serif; font-size:15px;
}
.cwp-field input::placeholder, .cwp-field textarea::placeholder{color:rgba(255,255,255,0.4);}
.cwp-field input:focus-visible, .cwp-field select:focus-visible, .cwp-field textarea:focus-visible{
  outline:2px solid var(--cwp-green); outline-offset:1px;
}
.cwp-checkbox-group{display:flex; gap:20px; flex-wrap:wrap;}
.cwp-checkbox-group label{
  display:flex; align-items:center; gap:8px; font-size:14px; color:#fff; font-weight:400;
}
.cwp-field-error{font-size:12.5px; color:#E28C7E; min-height:16px;}
.cwp-form-error{
  grid-column:1/-1; display:none; background:rgba(180,57,44,0.15); border:1px solid #B4392C;
  border-radius:var(--cwp-radius); padding:14px 16px; color:#F3D9D5; font-size:14px;
}
.cwp-success-msg{
  grid-column:1/-1; background:rgba(26,110,60,0.2); border:1px solid var(--cwp-green);
  border-radius:var(--cwp-radius); padding:20px; color:#fff; text-align:center; font-size:15px;
}

/* ---------------- Footer ---------------- */
.cwp-footer{background:var(--cwp-forest); padding:80px 0 0; color:#D9DAD3;}
.cwp-footer-grid{
  display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:40px; padding-bottom:56px;
  border-bottom:1px solid rgba(255,255,255,0.1);
}
@media (max-width:768px){ .cwp-footer-grid{grid-template-columns:1fr; gap:32px;} }
.cwp-footer h4{font-size:14px; color:#fff; margin:0 0 16px; font-weight:600;}
.cwp-footer .cwp-logo{margin-bottom:14px;}
.cwp-footer p{font-size:14px; line-height:1.6; margin:6px 0;}
.cwp-footer-links{list-style:none; padding:0; margin:0;}
.cwp-footer-links li{margin-bottom:10px;}
.cwp-footer-links a{text-decoration:none; font-size:14px; color:#D9DAD3;}
.cwp-footer-links a:hover{color:#fff;}
.cwp-social-icons{display:flex; gap:12px; margin-top:16px;}
.cwp-social-icons a{
  width:34px; height:34px; border-radius:50%; border:1px solid rgba(255,255,255,0.2);
  display:flex; align-items:center; justify-content:center;
}
.cwp-social-icons svg{width:16px; height:16px;}
.cwp-footer-bottom{
  display:flex; justify-content:space-between; padding:24px 0; font-size:12.5px; color:var(--cwp-sand);
  flex-wrap:wrap; gap:8px;
}

@media print{
  .cwp-header, .cwp-hero-ctas, .cwp-estimator-panel{display:none !important;}
}

.cwp-visually-hidden{
  position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;
}

/* Honeypot — kept out of view without display:none, which some bots detect */
.cwp-hp-field{
  position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;
}
