:root{
  --dd-green:#3B7A36;
  --dd-green-light:#5f9d55;
  --dd-black:#070707;
  --dd-charcoal:#171717;
  --dd-silver:#C0C0C0;
  --dd-white:#fff;
  --dd-max:1120px;
}
*{box-sizing:border-box}
.dd-header{
  position:sticky; top:0; z-index:5000; width:100%;
  background:rgba(4,4,4,.96); border-bottom:1px solid rgba(192,192,192,.35);
  box-shadow:0 5px 22px rgba(0,0,0,.28); backdrop-filter:blur(10px);
}
.dd-nav{
  max-width:1280px; min-height:68px; margin:0 auto; padding:0 18px;
  display:flex; align-items:center; gap:14px;
}
.dd-brand{display:flex;align-items:center;gap:0;color:#fff!important;text-decoration:none!important;white-space:nowrap;font-weight:800}
.dd-brand img{width:44px;height:44px;object-fit:contain}
.dd-brand span{font-size:17px;letter-spacing:.2px}
.dd-menu{display:flex;align-items:center;gap:3px;margin-left:auto}
.dd-link,.dd-dropbtn{
  appearance:none;border:0;background:transparent;color:#eee!important;text-decoration:none!important;
  font:inherit;font-size:14px;font-weight:700;padding:24px 10px;cursor:pointer;white-space:nowrap;
}
.dd-link:hover,.dd-dropbtn:hover{color:#90c989!important;text-decoration:none!important}
.dd-dropdown{position:relative}
.dd-dropdown-content{
  display:none;position:absolute;top:100%;left:0;min-width:245px;padding:8px;
  background:#111;border:1px solid rgba(192,192,192,.35);border-radius:0 0 10px 10px;
  box-shadow:0 15px 35px rgba(0,0,0,.4)
}
.dd-dropdown:hover .dd-dropdown-content,.dd-dropdown:focus-within .dd-dropdown-content{display:block}
.dd-dropdown-content a{
  display:block;padding:11px 12px;border-radius:6px;color:#eee!important;text-decoration:none!important;font-size:14px
}
.dd-dropdown-content a:hover{background:rgba(59,122,54,.38);color:#fff!important;text-decoration:none!important}
.dd-phone{
  margin-left:6px;padding:11px 14px;border-radius:8px;background:var(--dd-green);
  color:#fff!important;text-decoration:none!important;font-weight:800;font-size:14px;white-space:nowrap
}
.dd-phone:hover{background:#4d9146;text-decoration:none!important}
.dd-toggle{display:none;margin-left:auto;background:transparent;border:1px solid #777;color:#fff;border-radius:7px;padding:7px 10px;font-size:22px;cursor:pointer}

/* preserve current home design while making room for the new nav */
body.home-page{padding-top:0!important}
.home-page .logo{top:18px!important}
.home-page .cdet-logo{top:88px!important}

/* shared subpage styling */
body.subpage{
  margin:0;
  font-family:Arial,sans-serif;
  color:#f4f4f4;
  min-height:100vh;
  background:
    radial-gradient(circle at 8% 0%,rgba(72,140,62,.28),transparent 30%),
    linear-gradient(110deg,#315f2d 0%,#173416 26%,#0b120b 48%,#030303 74%,#000 100%);
  background-attachment:fixed;
}
.subpage a{color:#a9dca5}
.subpage .dd-link,.subpage .dd-dropbtn,.subpage .dd-brand,.subpage .dd-phone{color:#fff!important}
.dd-hero{padding:82px 20px 58px;border-bottom:1px solid rgba(192,192,192,.25)}
.dd-wrap{width:min(var(--dd-max),92%);margin:0 auto}
.dd-eyebrow{text-transform:uppercase;letter-spacing:1.7px;font-weight:800;font-size:13px;color:#9ed096}
.dd-hero h1{font-size:clamp(34px,5vw,58px);line-height:1.03;margin:10px 0 16px;color:#fff;text-shadow:0 0 10px rgba(59,122,54,.5)}
.dd-hero p{font-size:19px;line-height:1.65;max-width:820px;color:#e1e1e1}
.dd-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.dd-btn{display:inline-block;background:var(--dd-green);border:1px solid #6aaa62;color:#fff!important;text-decoration:none!important;font-weight:800;padding:13px 18px;border-radius:8px}
.dd-btn.alt{background:#0d0d0d;border-color:#666}
.dd-section{padding:58px 20px}
.dd-section.alt{background:rgba(0,0,0,.50);border-top:1px solid rgba(192,192,192,.18);border-bottom:1px solid rgba(192,192,192,.18)}
.dd-section h2{font-size:32px;margin:0 0 14px;color:#d5d5d5;text-shadow:0 0 8px rgba(59,122,54,.55)}
.dd-section h3{font-size:21px;color:#fff;margin:0 0 8px}
.dd-section p,.dd-section li{font-size:17px;line-height:1.68;color:#e5e5e5}
.dd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.dd-card{background:rgba(0,0,0,.55);border:1px solid rgba(192,192,192,.35);border-radius:12px;padding:23px;box-shadow:0 8px 26px rgba(0,0,0,.25)}
.dd-card p{font-size:15.5px;margin-bottom:0}
.dd-card a{font-weight:800}
.dd-two{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:start}
.dd-list{padding-left:20px}
.dd-list li{margin:9px 0}
.dd-faq{border-top:1px solid rgba(192,192,192,.27)}
.dd-faq details{border-bottom:1px solid rgba(192,192,192,.25);padding:17px 0}
.dd-faq summary{font-size:18px;font-weight:800;cursor:pointer;color:#fff}
.dd-faq details p{margin:10px 0 0}
.dd-proof{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}
.dd-pill{background:rgba(0,0,0,.55);border:1px solid rgba(192,192,192,.35);border-radius:999px;padding:8px 12px;font-size:14px}
.dd-review{font-size:17px;font-style:italic}
.dd-reviewer{font-style:normal;font-weight:800;color:#cfcfcf}
.dd-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.dd-gallery img{width:100%;height:280px;object-fit:cover;background:#000;border:1px solid #777;border-radius:8px}
.dd-price{font-size:48px;font-weight:900;color:#fff;margin:8px 0}
.dd-note{font-size:14px!important;color:#bbb!important}
.dd-breadcrumbs{font-size:13px;color:#ccc;margin-bottom:16px}
.dd-breadcrumbs a{color:#ccc}
.dd-footer{background:#050505;border-top:1px solid rgba(192,192,192,.3);padding:40px 20px;color:#ccc}
.dd-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:28px}
.dd-footer h3{color:#fff;margin-top:0}
.dd-footer a{display:block;margin:8px 0;color:#ccc;text-decoration:none}
.dd-footer a:hover{color:#9ed096}
.dd-copyright{border-top:1px solid #333;margin-top:28px;padding-top:20px;font-size:13px;color:#999}
.dd-city-list{columns:3;column-gap:35px;padding-left:18px}
.dd-city-list li{break-inside:avoid;margin:8px 0}
.dd-callout{border-left:5px solid var(--dd-green);background:rgba(0,0,0,.45);padding:20px 22px;border-radius:8px;margin:24px 0}
.dd-table{width:100%;border-collapse:collapse;margin-top:18px;background:rgba(0,0,0,.4)}
.dd-table th,.dd-table td{padding:14px;border:1px solid #555;text-align:left;vertical-align:top}
.dd-table th{background:#171717}

@media(max-width:1080px){
  .dd-brand span{display:none}
  .dd-link,.dd-dropbtn{padding-left:7px;padding-right:7px;font-size:13px}
}
@media(max-width:900px){
  .dd-toggle{display:block}
  .dd-menu{display:none;position:absolute;left:0;right:0;top:68px;background:#090909;border-bottom:1px solid #555;padding:8px 14px 16px;flex-direction:column;align-items:stretch;gap:0}
  .dd-menu.open{display:flex}
  .dd-link,.dd-dropbtn{display:block;width:100%;text-align:left;padding:13px 8px}
  .dd-dropdown-content{display:block;position:static;box-shadow:none;border:0;border-left:2px solid #555;border-radius:0;margin:0 0 8px 8px;background:transparent;padding:0 0 0 8px}
  .dd-phone{margin:10px 0 0;text-align:center}
  .dd-grid{grid-template-columns:1fr 1fr}
  .dd-two{grid-template-columns:1fr}
  .dd-footer-grid{grid-template-columns:1fr 1fr}
  .home-page .logo{top:15px!important;right:-360px!important}
}
@media(max-width:600px){
  .dd-grid,.dd-gallery,.dd-footer-grid{grid-template-columns:1fr}
  .dd-city-list{columns:1}
  .dd-hero{padding-top:58px}
  .dd-gallery img{height:240px}
  .home-page .logo{width:620px!important;right:-270px!important;top:35px!important}
  .home-page .cdet-logo{width:180px!important;top:86px!important;left:10px!important}
}


/* ===== CLEAN HOMEPAGE ===== */
body.dd-home{
  margin:0;
  font-family:Arial,sans-serif;
  color:#f5f5f5;
  background:#0b0b0b;
}
.dd-home .dd-header{position:sticky}
.home-hero{
  position:relative;
  min-height:610px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(31,79,28,.97) 0%,rgba(18,40,18,.90) 35%,rgba(4,4,4,.85) 72%,rgba(0,0,0,.96) 100%);
}
.home-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 65%,rgba(0,0,0,.38));
  pointer-events:none;
}
.home-hero-inner{
  width:min(1180px,92%);
  margin:0 auto;
  position:relative;
  z-index:2;
  padding:80px 0;
}
.home-hero-copy{max-width:720px}
.home-kicker{
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:13px;
  font-weight:900;
  color:#d8efd5;
}
.home-hero h1{
  font-size:clamp(42px,6vw,72px);
  line-height:1.02;
  margin:12px 0 18px;
  color:#fff;
  text-shadow:0 4px 16px rgba(0,0,0,.45);
}
.home-hero p{
  font-size:19px;
  line-height:1.65;
  color:#eee;
  max-width:720px;
}

.home-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}
.home-actions .dd-btn{font-size:16px;padding:14px 20px}
.home-proof{
  background:#101010;
  border-top:1px solid #292929;
  border-bottom:1px solid #292929;
}
.home-proof-grid{
  width:min(1180px,92%);
  margin:0 auto;
  padding:24px 0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.home-proof-item{
  text-align:center;
  padding:10px 15px;
  border-right:1px solid #333;
}
.home-proof-item:last-child{border-right:0}
.home-proof-item strong{display:block;font-size:16px;color:#fff;margin-bottom:4px}
.home-proof-item span{font-size:13px;color:#bbb}
.home-section{padding:72px 20px;background:#0b0b0b}
.home-section.alt{background:#111}
.home-wrap{width:min(1120px,92%);margin:0 auto}
.home-section-header{max-width:780px;margin-bottom:30px}
.home-section h2{
  font-size:clamp(31px,4vw,44px);
  margin:0 0 12px;
  color:#fff;
  text-shadow:none;
}
.home-section-header p{
  color:#cfcfcf;
  font-size:18px;
  line-height:1.6;
  margin:0;
}
.home-service-category{
  background:linear-gradient(145deg,#151515,#0b0b0b);
  border:1px solid #333;
  border-radius:14px;
  padding:30px;
  box-shadow:0 14px 30px rgba(0,0,0,.25);
}
.home-service-category-top{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-start;
  margin-bottom:20px;
}
.home-service-category h3{font-size:28px;margin:0 0 7px;color:#fff}
.home-service-category p{color:#cfcfcf;line-height:1.6;margin:0}
.home-subservices{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.home-subservice{
  display:block;
  min-height:150px;
  padding:20px;
  border-radius:10px;
  background:#181818;
  border:1px solid #333;
  color:#fff!important;
  text-decoration:none!important;
}
.home-subservice:hover{
  border-color:#5e9a56;
  background:#1d241c;
  transform:translateY(-2px);
}
.home-subservice strong{display:block;font-size:17px;margin-bottom:7px}
.home-subservice span{display:block;color:#aaa;font-size:14px;line-height:1.5}
.future-note{
  margin-top:18px;
  color:#777;
  font-size:12px;
}
.home-three{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.home-feature{
  padding:25px;
  background:#151515;
  border:1px solid #303030;
  border-radius:12px;
}
.home-feature h3{margin:0 0 8px;color:#fff;font-size:20px}
.home-feature p{color:#bbb;line-height:1.6;margin:0}
.home-areas{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
  margin:25px 0 20px;
}
.home-area-link{
  padding:16px 12px;
  text-align:center;
  border-radius:8px;
  background:#161616;
  border:1px solid #303030;
  color:#eee!important;
  text-decoration:none!important;
  font-weight:800;
}
.home-area-link:hover{background:#1e291c;border-color:#5e9a56}
.home-review{
  padding:30px;
  background:#151515;
  border:1px solid #333;
  border-left:4px solid #3B7A36;
  border-radius:12px;
}
.home-review .stars{color:#ffd700;font-size:20px}
.home-review blockquote{
  margin:14px 0;
  font-size:18px;
  line-height:1.65;
  color:#eee;
}
.home-review cite{font-style:normal;font-weight:800;color:#bbb}
.home-about{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:35px;
  align-items:center;
}
.home-about p{font-size:17px;line-height:1.7;color:#ccc}
.home-cert{
  text-align:center;
  padding:25px;
  border:1px solid #333;
  border-radius:12px;
  background:#151515;
}
.home-cert img{max-width:260px;width:100%;height:auto}
.home-cta{
  padding:70px 20px;
  text-align:center;
  background:linear-gradient(135deg,#315e2d,#0b0b0b 70%);
}
.home-cta h2{font-size:clamp(32px,4vw,48px);margin:0 0 12px;color:#fff}
.home-cta p{max-width:700px;margin:0 auto 22px;color:#ddd;font-size:18px;line-height:1.6}
.dd-menu-heading{
  display:block;
  padding:8px 12px 6px;
  color:#8fc887;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:1px;
}
.dd-menu-all{
  border-top:1px solid #333;
  margin-top:5px;
  padding-top:12px!important;
  font-weight:800;
}
@media(max-width:950px){
  .home-proof-grid{grid-template-columns:repeat(2,1fr)}
  .home-proof-item:nth-child(2){border-right:0}
  .home-subservices{grid-template-columns:repeat(2,1fr)}
  .home-areas{grid-template-columns:repeat(3,1fr)}
  .home-about{grid-template-columns:1fr}
}
@media(max-width:700px){
  .home-hero{min-height:auto}
  .home-hero-inner{padding:60px 0}
  
  .home-proof-grid{grid-template-columns:1fr 1fr}
  .home-proof-item{border-right:0}
  .home-three{grid-template-columns:1fr}
  .home-service-category-top{display:block}
  .home-service-category-top .dd-btn{margin-top:18px}
  .home-areas{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:480px){
  .home-subservices,.home-areas,.home-proof-grid{grid-template-columns:1fr}
}





/* ===== REAL DRYER DOGS LOGO ===== */
.home-brand-logo{
  position:absolute;
  right:-30px;
  top:50%;
  transform:translateY(-50%);
  width:min(760px,55vw);
  max-height:520px;
  object-fit:contain;
  filter:drop-shadow(0 16px 30px rgba(0,0,0,.55));
  z-index:1;
}
.about-brand-logo{
  display:block;
  width:min(100%,620px);
  margin:0 auto 26px;
  object-fit:contain;
}
@media(max-width:950px){
  .home-brand-logo{
    right:-110px;
    width:680px;
    opacity:.45;
  }
}
@media(max-width:700px){
  .home-brand-logo{
    position:relative;
    right:auto;
    top:auto;
    transform:none;
    width:100%;
    max-height:none;
    opacity:1;
    margin:0 auto 26px;
  }
  .home-hero-inner{
    padding-top:36px;
  }
}

/* v6 transparent official logo */
.home-brand-logo,
.about-brand-logo{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}


/* ===== V8 RESPONSIVE + HERO BALANCE ===== */

/* Desktop: move the entire hero copy/button group farther left. */
.home-hero-inner{
  width:min(1360px,98%);
  margin:0 auto;
  padding-left:0;
  padding-right:0;
}
.home-hero-copy{
  max-width:720px;
  margin-left:0;
}
.home-hero .home-actions{
  justify-content:flex-start;
  margin-left:0;
}

/* Keep official logo isolated on the right. */
.home-brand-logo{
  right:-15px;
  width:min(690px,49vw);
}

/* Wider desktop: use the previously empty green space intentionally. */
@media (min-width:1200px){
  .home-hero-inner{
    width:96%;
  }
  .home-hero-copy{
    margin-left:0;
  }
}

/* Laptop / small desktop */
@media (max-width:1100px){
  .home-hero-inner{
    width:94%;
  }
  .home-hero-copy{
    max-width:620px;
  }
  .home-brand-logo{
    right:-110px;
    width:620px;
    opacity:.60;
  }
  .home-subservices{
    grid-template-columns:repeat(2,1fr);
  }
  .home-areas{
    grid-template-columns:repeat(4,1fr);
  }
}

/* Tablet */
@media (max-width:900px){
  body{
    overflow-x:hidden;
  }

  .home-hero{
    min-height:auto;
  }
  .home-hero-inner{
    width:92%;
    padding:52px 0;
  }
  .home-hero-copy{
    max-width:590px;
  }
  .home-hero h1{
    font-size:clamp(38px,8vw,56px);
  }
  .home-hero p{
    font-size:18px;
  }
  .home-brand-logo{
    right:-180px;
    width:620px;
    opacity:.30;
  }

  .home-proof-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .home-proof-item{
    border-right:0;
    border-bottom:1px solid #303030;
  }
  .home-proof-item:nth-last-child(-n+2){
    border-bottom:0;
  }

  .home-three{
    grid-template-columns:1fr;
  }
  .home-areas{
    grid-template-columns:repeat(3,1fr);
  }
  .dd-grid{
    grid-template-columns:1fr 1fr;
  }
  .dd-two{
    grid-template-columns:1fr;
  }
  .dd-footer-grid{
    grid-template-columns:1fr 1fr;
  }
}

/* Phone */
@media (max-width:700px){
  .dd-nav{
    min-height:62px;
    padding:0 12px;
  }
  .dd-brand span{
    display:block !important;
    font-size:16px;
  }
  .dd-toggle{
    min-width:44px;
    min-height:44px;
    padding:8px 11px;
  }
  .dd-menu{
    top:62px;
    max-height:calc(100vh - 62px);
    overflow-y:auto;
    padding:8px 12px 18px;
  }
  .dd-link,.dd-dropbtn{
    min-height:46px;
    padding:13px 9px;
    font-size:15px;
  }
  .dd-dropdown-content a{
    min-height:42px;
    display:flex;
    align-items:center;
    font-size:14px;
  }
  .dd-phone{
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:15px;
  }

  /* On mobile the real logo becomes part of the normal flow. */
  .home-hero{
    display:block;
    min-height:auto;
  }
  .home-brand-logo{
    position:relative;
    right:auto;
    top:auto;
    transform:none;
    width:min(100%,560px);
    max-height:none;
    opacity:1;
    margin:16px auto 0;
    display:block;
  }
  .home-hero-inner{
    width:92%;
    padding:18px 0 42px;
  }
  .home-hero-copy{
    max-width:none;
  }
  .home-kicker{
    font-size:12px;
    letter-spacing:1.4px;
  }
  .home-hero h1{
    font-size:clamp(34px,10vw,46px);
    line-height:1.06;
    margin:10px 0 14px;
  }
  .home-hero p{
    font-size:17px;
    line-height:1.55;
  }

  /* Buttons stay lined up with the hero copy and become easy phone targets. */
  .home-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    width:100%;
    margin-left:0;
  }
  .home-actions .dd-btn{
    width:100%;
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    font-size:16px;
  }

  .home-proof-grid{
    grid-template-columns:1fr 1fr;
    gap:0;
  }
  .home-proof-item{
    padding:15px 10px;
  }

  .home-section{
    padding:50px 16px;
  }
  .home-wrap{
    width:100%;
  }
  .home-section h2{
    font-size:32px;
  }
  .home-section-header{
    margin-bottom:24px;
  }
  .home-section-header p{
    font-size:16px;
  }

  .home-service-category{
    padding:19px;
  }
  .home-service-category-top{
    display:block;
  }
  .home-service-category-top .dd-btn{
    margin-top:16px;
    width:100%;
    text-align:center;
  }
  .home-subservices{
    grid-template-columns:1fr;
  }
  .home-subservice{
    min-height:0;
    padding:18px;
  }

  .home-three{
    grid-template-columns:1fr;
  }
  .home-feature{
    padding:20px;
  }

  .home-areas{
    grid-template-columns:1fr 1fr;
  }
  .home-area-link{
    padding:14px 8px;
  }

  .home-review{
    padding:21px;
  }
  .home-review blockquote{
    font-size:16px;
  }

  .home-about{
    grid-template-columns:1fr;
    gap:24px;
  }
  .home-cert{
    padding:18px;
  }
  .home-cert img{
    max-width:210px;
  }

  .home-cta{
    padding:50px 16px;
  }
  .home-cta h2{
    font-size:34px;
  }

  /* All interior SEO pages */
  .dd-hero{
    padding:46px 16px 36px;
  }
  .dd-hero h1{
    font-size:clamp(34px,10vw,45px);
  }
  .dd-hero p{
    font-size:17px;
  }
  .dd-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .dd-actions .dd-btn{
    width:100%;
    text-align:center;
  }
  .dd-section{
    padding:44px 16px;
  }
  .dd-section h2{
    font-size:30px;
  }
  .dd-section p,.dd-section li{
    font-size:16px;
  }
  .dd-grid{
    grid-template-columns:1fr;
  }
  .dd-card{
    padding:19px;
  }
  .dd-gallery{
    grid-template-columns:1fr 1fr;
    gap:9px;
  }
  .dd-gallery img{
    height:205px;
  }
  .dd-footer-grid{
    grid-template-columns:1fr;
  }
  .dd-table{
    display:block;
    overflow-x:auto;
  }
}

/* Small phones */
@media (max-width:460px){
  .home-proof-grid{
    grid-template-columns:1fr;
  }
  .home-proof-item{
    border-bottom:1px solid #303030 !important;
  }
  .home-proof-item:last-child{
    border-bottom:0 !important;
  }
  .home-areas{
    grid-template-columns:1fr;
  }
  .dd-gallery{
    grid-template-columns:1fr;
  }
  .dd-gallery img{
    height:230px;
  }
  .home-hero h1{
    font-size:34px;
  }
}
