
:root{
  --navy:#061827;--deep:#030d16;--blue:#0ea5e9;--cyan:#22d3ee;--teal:#14b8a6;--green:#22c55e;--orange:#f97316;--white:#fff;--ice:#f1fbff;--soft:#f6fbfd;--text:#102033;--muted:#607184;--line:rgba(6,24,39,.13);--darkline:rgba(255,255,255,.13);--shadow:0 24px 80px rgba(6,24,39,.18);--softshadow:0 14px 42px rgba(6,24,39,.10);--max:1180px
}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,Arial,Helvetica,sans-serif;color:var(--text);background:radial-gradient(circle at 8% 4%,rgba(34,211,238,.18),transparent 30rem),radial-gradient(circle at 92% 8%,rgba(34,197,94,.12),transparent 28rem),linear-gradient(180deg,#fff 0%,#f4fbff 42%,#fff 100%);line-height:1.62;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}.container{width:min(calc(100% - 34px),var(--max));margin:auto;position:relative;z-index:2}.topbar{background:var(--deep);color:rgba(255,255,255,.78);font-size:.92rem;border-bottom:1px solid var(--darkline)}.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;flex-wrap:wrap}.topbar strong,.topbar a{color:#fff;font-weight:900}.header{position:sticky;top:0;z-index:70;background:rgba(255,255,255,.90);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:14px 0}.brand{display:flex;align-items:center;gap:12px;min-width:max-content}.logo{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),#104461);box-shadow:0 16px 35px rgba(6,24,39,.24);border:2px solid rgba(34,211,238,.48);position:relative;overflow:hidden}.logo:before{content:"";position:absolute;inset:-30%;background:conic-gradient(from 20deg,transparent,rgba(34,211,238,.85),transparent 34%);animation:spin 5s linear infinite}.logo span{position:relative;z-index:1;width:46px;height:46px;border-radius:16px;background:#fff;color:var(--navy);display:grid;place-items:center;font-size:24px;font-weight:950}@keyframes spin{to{transform:rotate(360deg)}}.brand-text{display:grid;line-height:1.05}.brand-text strong{font-size:1.14rem;font-weight:950;letter-spacing:-.035em;color:var(--navy)}.brand-text small{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:900}.nav-links{display:flex;align-items:center;gap:18px;font-size:.93rem;font-weight:900;color:rgba(6,24,39,.76)}.nav-links a:hover{color:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:999px;padding:12px 18px;font-weight:950;line-height:1;cursor:pointer;transition:.22s ease;white-space:nowrap;text-align:center}.btn:hover{transform:translateY(-2px)}.btn-blue{background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;box-shadow:0 17px 38px rgba(14,165,233,.28)}.btn-dark{background:var(--navy);color:#fff;box-shadow:0 17px 38px rgba(6,24,39,.22)}.btn-light{background:#fff;color:var(--navy);border:1px solid var(--line);box-shadow:var(--softshadow)}.menu-btn{display:none;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 13px;font-weight:950;color:var(--navy)}
.hero{position:relative;overflow:hidden;min-height:730px;display:flex;align-items:center;padding:92px 0;background:linear-gradient(135deg,rgba(6,24,39,.95),rgba(6,24,39,.66)),url("assets/hero.jpg");background-size:cover;background-position:center;color:#fff}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 14%,rgba(34,211,238,.25),transparent 34rem),linear-gradient(90deg,rgba(6,24,39,.96),rgba(6,24,39,.58),rgba(6,24,39,.88));z-index:0}
.glass-rain{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;backdrop-filter:blur(.2px)}
.glass-rain:before{content:"";position:absolute;inset:0;background:
radial-gradient(ellipse at 20% 22%,rgba(255,255,255,.24) 0 0.08rem,transparent 0.18rem),
radial-gradient(ellipse at 52% 16%,rgba(255,255,255,.28) 0 0.1rem,transparent 0.22rem),
radial-gradient(ellipse at 76% 28%,rgba(255,255,255,.20) 0 0.08rem,transparent 0.2rem),
radial-gradient(ellipse at 38% 68%,rgba(255,255,255,.18) 0 0.08rem,transparent 0.2rem);
background-size:160px 220px,210px 280px,180px 260px,240px 300px;opacity:.45;animation:staticDroplets 18s linear infinite}
.drop{position:absolute;left:var(--x);top:-120px;width:var(--w);height:var(--h);border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.65),rgba(255,255,255,.22) 34%,rgba(34,211,238,.10));box-shadow:inset 0 1px 2px rgba(255,255,255,.7),inset 0 -5px 10px rgba(14,165,233,.12),0 5px 18px rgba(255,255,255,.08);filter:blur(.15px);opacity:var(--o);animation:glassDrop var(--dur) linear infinite;animation-delay:var(--delay)}
.drop:after{content:"";position:absolute;left:50%;top:-7px;width:1.5px;height:calc(var(--h) * 1.25);background:linear-gradient(180deg,transparent,rgba(255,255,255,.18),transparent);transform:translateX(-50%)}
@keyframes glassDrop{0%{transform:translate3d(0,-120px,0) scaleY(.85);opacity:0}8%{opacity:var(--o)}75%{opacity:var(--o)}100%{transform:translate3d(var(--drift),880px,0) scaleY(1.12);opacity:0}}@keyframes staticDroplets{from{transform:translateY(-30px)}to{transform:translateY(80px)}}.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:44px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:9px;background:rgba(34,211,238,.15);border:1px solid rgba(34,211,238,.34);color:#c7fbff;padding:8px 13px;border-radius:999px;font-size:.84rem;font-weight:950;margin-bottom:18px}.eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 6px rgba(34,211,238,.17)}h1{font-size:clamp(3.1rem,7vw,6.2rem);line-height:.89;letter-spacing:-.08em;font-weight:950;margin-bottom:24px;color:#fff;max-width:860px}h1 span{color:var(--cyan)}.hero p{font-size:1.16rem;color:rgba(255,255,255,.82);max-width:720px;margin-bottom:29px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:31px}.trust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:720px}.trust-card{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.15);border-radius:19px;padding:16px;backdrop-filter:blur(14px)}.trust-card strong{display:block;color:#fff;font-size:1.04rem;line-height:1.1}.trust-card span{display:block;color:rgba(255,255,255,.68);font-size:.82rem;font-weight:800;margin-top:6px}.hero-panel{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);border-radius:30px;padding:14px;box-shadow:0 30px 80px rgba(0,0,0,.30);backdrop-filter:blur(15px)}.hero-panel img{border-radius:21px;height:385px;object-fit:cover}.quote-mini{margin-top:12px;background:#fff;color:var(--navy);border-radius:21px;padding:18px}.quote-mini strong{display:block;font-size:1.1rem;margin-bottom:5px}.quote-mini p{color:var(--muted);font-size:.95rem;margin:0}
section{padding:76px 0;position:relative}.section-head{display:flex;align-items:end;justify-content:space-between;gap:26px;margin-bottom:32px}.kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;font-weight:950;color:var(--blue);margin-bottom:9px}h2{font-size:clamp(2.25rem,4.6vw,4.25rem);line-height:.97;letter-spacing:-.065em;font-weight:950;color:var(--navy);max-width:840px}.section-head p{color:var(--muted);max-width:500px;font-size:1.02rem}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--softshadow);transition:.22s ease;position:relative;overflow:hidden}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.card:after{content:"";position:absolute;right:-70px;top:-70px;width:150px;height:150px;border-radius:50%;background:rgba(34,211,238,.10)}.icon{width:52px;height:52px;border-radius:17px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:1.35rem;margin-bottom:16px;position:relative;z-index:1}.card h3{position:relative;z-index:1;color:var(--navy);font-size:1.2rem;letter-spacing:-.025em;line-height:1.15;margin-bottom:8px}.card p,.card li{position:relative;z-index:1;color:var(--muted);font-size:.96rem}.dark{background:var(--navy);color:#fff;overflow:hidden}.dark h2,.dark h3{color:#fff}.dark p,.dark li,.dark .section-head p{color:rgba(255,255,255,.72)}.dark:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 20%,rgba(34,211,238,.24),transparent 30rem),radial-gradient(circle at 88% 70%,rgba(34,197,94,.16),transparent 28rem)}.dark .container{position:relative;z-index:2}.gallery-card{background:#fff;border:1px solid var(--line);border-radius:25px;overflow:hidden;box-shadow:var(--softshadow)}.gallery-card img{height:315px;object-fit:cover}.gallery-caption{padding:16px}.gallery-caption strong{display:block;color:var(--navy);font-size:1.04rem;margin-bottom:4px}.gallery-caption span{color:var(--muted);font-weight:750;font-size:.9rem}.ba-wrap{background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:18px}.ba-slider{position:relative;overflow:hidden;border-radius:22px;height:460px;background:#111;user-select:none}.ba-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ba-slider .after{clip-path:inset(0 50% 0 0)}.slider-line{position:absolute;top:0;bottom:0;left:50%;width:4px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.12),0 0 22px rgba(34,211,238,.55);transform:translateX(-50%);z-index:5}.slider-handle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:6;width:62px;height:62px;border-radius:50%;background:#fff;color:var(--navy);display:grid;place-items:center;font-weight:950;box-shadow:0 12px 32px rgba(0,0,0,.28)}.slider-label{position:absolute;top:14px;z-index:4;padding:7px 10px;border-radius:999px;background:rgba(6,24,39,.78);color:#fff;font-weight:950;font-size:.8rem}.label-before{left:14px}.label-after{right:14px}.range{width:100%;margin-top:14px;accent-color:var(--blue)}.form-grid{display:grid;gap:13px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}label{display:grid;gap:6px;color:var(--navy);font-size:.86rem;font-weight:900}input,textarea,select{width:100%;border:1px solid var(--line);background:#fff;color:var(--text);border-radius:15px;padding:14px 15px;font:inherit;outline:none;transition:.2s ease}input:focus,textarea:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(14,165,233,.13)}textarea{min-height:130px;resize:vertical}.faq{display:grid;gap:12px}.faq-item{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--softshadow);overflow:hidden}.faq-q{width:100%;background:transparent;border:0;text-align:left;padding:18px 20px;font-weight:950;color:var(--navy);font-size:1rem;cursor:pointer;display:flex;justify-content:space-between;gap:16px}.faq-a{display:none;padding:0 20px 18px;color:var(--muted)}.faq-item.open .faq-a{display:block}.areas{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.area-pill,.light-badge{padding:9px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:900;color:var(--navy)}.badge-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.badge{background:rgba(34,211,238,.10);border:1px solid rgba(34,211,238,.25);color:#c7fbff;border-radius:999px;padding:8px 12px;font-weight:900;font-size:.84rem}.reviews .card h3{font-size:1.08rem;line-height:1.4}.stars{color:#facc15;letter-spacing:.08em;font-weight:950;margin-bottom:10px}.keyword-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.keyword-box{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--softshadow)}.keyword-box strong{display:block;color:var(--navy);margin-bottom:6px;font-size:1.02rem}.keyword-box p{color:var(--muted);font-size:.94rem}.internal-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.internal-links a{background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 13px;font-weight:900;color:var(--navy)}.internal-links a:hover{color:var(--blue);transform:translateY(-1px)}.cta{padding:52px 0}.cta-card{background:linear-gradient(135deg,rgba(6,24,39,.96),rgba(12,72,95,.90)),url("assets/finished-driveway.jpg");background-size:cover;background-position:center;border-radius:30px;padding:40px;box-shadow:var(--shadow);color:#fff;position:relative;overflow:hidden}.cta-card:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 86% 22%,rgba(34,211,238,.25),transparent 25rem)}.cta-content{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.cta h2{color:#fff;max-width:770px}.cta p{color:rgba(255,255,255,.74);max-width:650px;margin-top:12px}footer{background:var(--navy);color:rgba(255,255,255,.68);padding:38px 0;margin-top:60px}.footer-grid{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.footer-grid strong{color:#fff;display:block;margin-bottom:4px}.footer-links{display:flex;gap:14px;flex-wrap:wrap;font-weight:850}.footer-links a:hover{color:var(--cyan)}.map-box{height:390px;border-radius:28px;background:radial-gradient(circle at 25% 20%,rgba(34,211,238,.34),transparent 22rem),linear-gradient(135deg,#0b2235,#071826);box-shadow:var(--shadow);border:1px solid var(--line);position:relative;overflow:hidden}.map-box:before{content:"Cookeville";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(3rem,10vw,8rem);font-weight:950;color:rgba(255,255,255,.08);letter-spacing:-.08em}.map-pin{position:absolute;width:16px;height:16px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 10px rgba(34,211,238,.16)}.pin1{left:48%;top:45%}.pin2{left:31%;top:57%}.pin3{left:62%;top:32%}.pin4{left:69%;top:63%}.pin5{left:42%;top:28%}.page-hero{padding:70px 0;background:linear-gradient(135deg,var(--navy),#0c4861);color:#fff;position:relative;overflow:hidden}.page-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 12%,rgba(34,211,238,.28),transparent 28rem)}.page-hero .container{position:relative;z-index:1}.page-hero h1{max-width:950px}.page-hero p{max-width:760px;color:rgba(255,255,255,.76);font-size:1.13rem}.ai-box{background:#fff;border:1px solid rgba(34,211,238,.28);border-radius:26px;padding:24px;box-shadow:var(--softshadow)}.ai-box code{display:block;background:#071826;color:#c7fbff;border-radius:18px;padding:18px;white-space:pre-wrap;font-size:.88rem;line-height:1.55;margin-top:14px}
@media(max-width:1020px){.hero{min-height:auto}.hero-grid,.grid-2{grid-template-columns:1fr}.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-links{display:none;position:absolute;left:17px;right:17px;top:88px;background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.menu-btn{display:inline-flex}}
@media(max-width:700px){.topbar .container,.trust-grid,.grid-4,.grid-3,.form-row,.keyword-grid{grid-template-columns:1fr;display:grid}.section-head{display:grid}.hero{padding:64px 0;background-position:center;min-height:auto}.hero-panel img,.gallery-card img{height:auto;min-height:250px}.ba-slider{height:320px}.cta-card{padding:28px}.brand-text strong{font-size:1rem}h1{font-size:clamp(2.65rem,14vw,4.5rem)}h2{font-size:clamp(2.05rem,10vw,3.3rem)}.hero p{font-size:1.02rem}.btn{width:100%;padding:14px 18px}.hero-actions{width:100%}.drop{opacity:calc(var(--o) * .75)}.nav{gap:10px}.logo{width:54px;height:54px}.logo span{width:40px;height:40px;font-size:21px}.internal-links a{width:100%;text-align:center}}


/* Realistic hero rain overlay */
#rainGlass{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:1;
  pointer-events:none;
  opacity:.72;
  mix-blend-mode:screen;
}
.hero:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 22% 18%, rgba(255,255,255,.18) 0 1px, transparent 4px),
    radial-gradient(circle at 58% 12%, rgba(255,255,255,.13) 0 1px, transparent 5px),
    radial-gradient(circle at 82% 34%, rgba(255,255,255,.12) 0 1px, transparent 5px),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0));
  background-size:130px 180px,180px 240px,150px 210px,100% 100%;
  opacity:.38;
  backdrop-filter: blur(.4px);
}

/* Slider orientation: dirty base, clean revealed on the right */
.ba-slider .after{
  clip-path:inset(0 0 0 50%);
}
.slider-line{left:50%}
.slider-handle{left:50%}

/* Better review card names */
.reviews .card p strong{color:var(--navy)}
.dark .reviews .card p strong{color:#fff}


/* Safe realistic-ish water beads: no streaks, no tails, no weird shapes */
#rainGlass,
.glass-rain,
.drop {
  display: none !important;
}

.water-beads {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
  opacity: .48;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.50) 0 1.5px, rgba(255,255,255,.18) 2px, transparent 5px),
    radial-gradient(circle at 34% 11%, rgba(255,255,255,.42) 0 1.2px, rgba(34,211,238,.16) 2px, transparent 6px),
    radial-gradient(circle at 58% 28%, rgba(255,255,255,.48) 0 1.4px, rgba(255,255,255,.14) 2.5px, transparent 5.5px),
    radial-gradient(circle at 77% 17%, rgba(255,255,255,.36) 0 1.1px, rgba(34,211,238,.12) 2px, transparent 5px),
    radial-gradient(circle at 89% 42%, rgba(255,255,255,.42) 0 1.3px, rgba(255,255,255,.12) 2px, transparent 6px),
    radial-gradient(circle at 22% 66%, rgba(255,255,255,.34) 0 1.1px, rgba(34,211,238,.10) 2px, transparent 5.5px),
    radial-gradient(circle at 49% 78%, rgba(255,255,255,.38) 0 1.2px, rgba(255,255,255,.12) 2px, transparent 6px),
    radial-gradient(circle at 71% 71%, rgba(255,255,255,.32) 0 1px, rgba(34,211,238,.10) 2px, transparent 5px);
  background-size:
    180px 220px,
    240px 260px,
    210px 250px,
    270px 310px,
    230px 290px,
    260px 320px,
    220px 280px,
    300px 340px;
  animation: waterBeadDrift 26s linear infinite;
  filter: drop-shadow(0 2px 3px rgba(255,255,255,.12));
}

.water-beads::before {
  content: "";
  position: absolute;
  inset: -10%;
  background:
    radial-gradient(ellipse at 20% 30%, rgba(255,255,255,.16), transparent 18%),
    radial-gradient(ellipse at 74% 20%, rgba(34,211,238,.11), transparent 22%),
    linear-gradient(120deg, transparent 0 35%, rgba(255,255,255,.08) 47%, transparent 60%);
  opacity: .58;
  animation: glassShimmer 8s ease-in-out infinite alternate;
}

.water-beads::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.22) 0 .8px, transparent 2.5px),
    radial-gradient(circle, rgba(34,211,238,.13) 0 .7px, transparent 2.2px);
  background-size: 54px 68px, 82px 96px;
  opacity: .24;
  animation: microBeadFloat 18s linear infinite;
}

@keyframes waterBeadDrift {
  from { transform: translate3d(0, -12px, 0); }
  to { transform: translate3d(-18px, 24px, 0); }
}

@keyframes microBeadFloat {
  from { transform: translate3d(0, -8px, 0); }
  to { transform: translate3d(12px, 14px, 0); }
}

@keyframes glassShimmer {
  from { transform: translateX(-2%); opacity: .38; }
  to { transform: translateX(2%); opacity: .62; }
}

@media(max-width:700px){
  .water-beads {
    opacity: .34;
    background-size: 160px 200px, 220px 240px, 190px 230px, 240px 290px, 210px 260px, 230px 300px, 200px 260px, 260px 320px;
  }
}


/* Reference-style raindrop overlay v2: round glass droplets with slow rolling motion */
.water-beads{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
  opacity:1;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.00));
}
.water-beads::before,
.water-beads::after{
  content:none !important;
}
.water-beads .water-drop{
  position:absolute;
  left:var(--x);
  top:var(--y);
  width:var(--s);
  height:calc(var(--s) * var(--ratio));
  border-radius:50% 48% 52% 49% / 48% 54% 46% 52%;
  border:1px solid rgba(196,225,255,.78);
  background:
    radial-gradient(circle at 34% 28%, rgba(255,255,255,.95) 0 14%, rgba(255,255,255,.36) 15%, rgba(255,255,255,.10) 34%, rgba(150,210,255,.06) 52%, rgba(70,120,170,.08) 68%, rgba(0,0,0,.03) 100%);
  box-shadow:
    inset 0 1px 2px rgba(255,255,255,.95),
    inset 0 -3px 7px rgba(72,130,184,.20),
    inset 1px 0 1px rgba(255,255,255,.45),
    0 0 0 1px rgba(255,255,255,.06),
    0 5px 14px rgba(0,0,0,.08);
  backdrop-filter: blur(.75px) saturate(1.05);
  -webkit-backdrop-filter: blur(.75px) saturate(1.05);
  opacity:var(--o);
  transform:translate3d(0,0,0);
  animation: dropletRoll var(--dur) linear infinite;
  animation-delay:var(--delay);
}
.water-beads .water-drop::before{
  content:"";
  position:absolute;
  left:18%;
  top:17%;
  width:34%;
  height:24%;
  border-radius:50%;
  background:radial-gradient(circle at 40% 50%, rgba(255,255,255,.92), rgba(255,255,255,.16) 70%, transparent 72%);
  filter:blur(.15px);
  opacity:.95;
}
.water-beads .water-drop::after{
  content:"";
  position:absolute;
  right:16%;
  bottom:16%;
  width:24%;
  height:18%;
  border-radius:50%;
  background:rgba(26,72,114,.18);
  filter:blur(.4px);
  opacity:.45;
}
.water-beads .water-drop.tiny{
  border-width:.85px;
  box-shadow:
    inset 0 1px 1px rgba(255,255,255,.85),
    inset 0 -2px 5px rgba(72,130,184,.16),
    0 2px 8px rgba(0,0,0,.05);
}
.water-beads .water-drop.tiny::after{opacity:.32}
@keyframes dropletRoll{
  0%{transform:translate3d(0,-8vh,0)}
  100%{transform:translate3d(var(--driftX),108vh,0)}
}
@media (max-width:700px){
  .water-beads .water-drop{backdrop-filter: blur(.5px) saturate(1.02); -webkit-backdrop-filter: blur(.5px) saturate(1.02);}
}


/* Final polish: stronger glass refraction, draggable handle, mobile header fix */
.water-beads .water-drop{
  background:
    radial-gradient(circle at 31% 25%, rgba(255,255,255,1) 0 9%, rgba(255,255,255,.52) 10%, rgba(255,255,255,.18) 31%, rgba(117,190,246,.10) 52%, rgba(8,55,92,.10) 74%, rgba(0,0,0,.04) 100%),
    linear-gradient(145deg, rgba(255,255,255,.22), rgba(18,88,139,.10));
  border:1px solid rgba(205,235,255,.88);
  box-shadow:
    inset -3px -4px 8px rgba(12,63,105,.22),
    inset 2px 3px 6px rgba(255,255,255,.86),
    inset 0 0 0 1px rgba(255,255,255,.32),
    0 7px 18px rgba(0,0,0,.13),
    0 0 18px rgba(125,211,252,.08);
  backdrop-filter: blur(1.15px) saturate(1.25) contrast(1.08);
  -webkit-backdrop-filter: blur(1.15px) saturate(1.25) contrast(1.08);
}
.water-beads .water-drop::before{
  width:38%;
  height:28%;
  background:radial-gradient(circle at 40% 40%, rgba(255,255,255,1), rgba(255,255,255,.22) 68%, transparent 70%);
}
.water-beads .water-drop::after{
  background:rgba(8,44,74,.22);
  filter:blur(.55px);
}
.water-beads{
  filter:
    drop-shadow(0 2px 3px rgba(255,255,255,.12))
    drop-shadow(0 7px 8px rgba(0,0,0,.08));
}

/* Make before/after handle obviously draggable on desktop and touch devices */
.ba-slider{
  cursor:ew-resize;
  touch-action:none;
}
.slider-handle{
  cursor:grab;
  border:3px solid rgba(14,165,233,.28);
}
.slider-handle:active{
  cursor:grabbing;
  transform:translate(-50%,-50%) scale(.96);
}
.range{
  display:none;
}
.ba-wrap::after{
  content:"Drag the center handle";
  display:block;
  margin-top:12px;
  color:var(--muted);
  font-weight:900;
  font-size:.9rem;
  text-align:center;
}

/* Move SEO-style content into a visitor-friendly section */
.keyword-grid{
  opacity:.95;
}
.keyword-box{
  box-shadow:0 10px 28px rgba(6,24,39,.07);
}

/* Mobile header/button fix */
@media(max-width:700px){
  .topbar{
    font-size:.82rem;
  }
  .topbar .container{
    display:grid;
    grid-template-columns:1fr;
    gap:6px;
    text-align:center;
  }
  .nav{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:10px;
    padding:11px 0;
  }
  .brand{
    min-width:0;
  }
  .brand-text strong{
    font-size:.92rem;
    max-width:132px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .brand-text small{
    font-size:.58rem;
    letter-spacing:.08em;
  }
  .header .btn-blue{
    grid-column:1 / -1;
    width:100%;
    margin-top:2px;
    padding:13px 14px;
    font-size:.92rem;
  }
  .menu-btn{
    justify-self:end;
    padding:9px 12px;
  }
  .nav-links{
    top:122px;
  }
  .hero{
    padding-top:48px;
  }
  .ba-wrap::after{
    content:"Drag the circle";
  }
}


/* Quiet background business profile link */
.footer-links .quiet-link {
  opacity: .45;
  font-size: .82rem;
}
.footer-links .quiet-link:hover {
  opacity: 1;
}


/* D & T Pressure Washing rebrand: business-card inspired polish */
:root{
  --navy:#061827;
  --deep:#030d16;
  --blue:#0EA5E9;
  --cyan:#22D3EE;
  --teal:#14B8A6;
  --ice:#EAFBFF;
}

.topbar{
  background:#030d16;
}
.header{
  background:rgba(255,255,255,.92);
}
.logo{
  background:linear-gradient(135deg,#061827,#082a40);
  border:2px solid rgba(20,184,166,.58);
}
.logo span{
  font-size:18px;
  letter-spacing:-.08em;
}
.brand-text strong{
  letter-spacing:-.03em;
}
.btn-blue{
  background:linear-gradient(135deg,#0EA5E9,#14B8A6);
}
.hero{
  background:
    linear-gradient(115deg,rgba(3,13,22,.98),rgba(3,13,22,.78) 48%,rgba(3,13,22,.90)),
    url("assets/hero.jpg");
  background-size:cover;
  background-position:center;
}
.hero:before{
  background:
    radial-gradient(circle at 15% 34%,rgba(14,165,233,.25),transparent 24rem),
    radial-gradient(circle at 76% 18%,rgba(20,184,166,.22),transparent 26rem),
    linear-gradient(90deg,rgba(3,13,22,.97),rgba(6,24,39,.66),rgba(3,13,22,.92));
}
.hero:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  background:
    linear-gradient(125deg,transparent 0 21%,rgba(14,165,233,.28) 21.4%,transparent 22.1% 100%),
    radial-gradient(ellipse at 18% 62%,rgba(34,211,238,.18),transparent 18rem);
  opacity:.75;
}
.hero h1 span{
  color:#22D3EE;
}
.hero-panel{
  position:relative;
  border:1px solid rgba(34,211,238,.28);
  box-shadow:0 30px 90px rgba(0,0,0,.38);
}
.hero-panel:before{
  content:"D & T";
  position:absolute;
  left:28px;
  top:28px;
  z-index:2;
  color:#fff;
  font-size:2.65rem;
  font-weight:950;
  letter-spacing:-.08em;
  text-shadow:0 8px 28px rgba(0,0,0,.35);
}
.hero-panel:after{
  content:"PRESSURE WASHING";
  position:absolute;
  left:28px;
  top:82px;
  z-index:2;
  color:#22D3EE;
  font-size:1rem;
  font-weight:950;
  letter-spacing:.09em;
  text-shadow:0 8px 28px rgba(0,0,0,.35);
}
.hero-panel img{
  filter:saturate(1.05) contrast(1.02);
}
.quote-mini{
  border:1px solid rgba(14,165,233,.15);
}
.dt-brand-strip{
  padding:32px 0;
  background:#061827;
}
.dt-strip-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  padding:20px 22px;
  border-radius:24px;
  background:linear-gradient(135deg,rgba(6,24,39,.98),rgba(8,42,64,.95));
  border:1px solid rgba(34,211,238,.28);
  box-shadow:0 22px 60px rgba(6,24,39,.22);
  color:#fff;
}
.dt-strip-card strong{
  display:block;
  font-size:1.45rem;
  letter-spacing:-.04em;
}
.dt-strip-card span,
.dt-strip-services{
  color:#14B8A6;
  font-weight:950;
}
.dt-strip-services{
  color:#EAFBFF;
  font-size:1.08rem;
}
.card .icon{
  background:linear-gradient(135deg,#061827,#0EA5E9);
}
.gallery-card img{
  background:#061827;
}
.video-card{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  border-radius:28px;
  padding:14px;
  box-shadow:0 30px 80px rgba(0,0,0,.25);
}
.video-card video{
  width:100%;
  display:block;
  border-radius:20px;
  max-height:520px;
  object-fit:cover;
  background:#000;
}
.contact-split-numbers{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:16px;
}
.footer-links .quiet-link{display:none!important;}

@media(max-width:700px){
  .hero-panel:before{font-size:2rem;top:22px;left:22px;}
  .hero-panel:after{font-size:.72rem;top:64px;left:22px;}
  .dt-strip-card{display:grid;text-align:center;}
  .contact-split-numbers{grid-template-columns:1fr;}
}


/* Customer-friendly cleanup */
.gallery-caption{padding:14px 16px}
.gallery-caption strong{margin-bottom:0}
.section-head p{line-height:1.45}
.video-card + p{display:none}


/* Logo, Facebook, and clickable service-card polish */
.logo.logo-img{
  padding:0;
  background:#061827;
  overflow:hidden;
  border-radius:50%;
  border:2px solid rgba(34,211,238,.55);
}
.logo.logo-img:before{display:none!important}
.logo.logo-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
}
.service-link-card{
  display:block;
  color:inherit;
  text-decoration:none;
}
.service-link-card.card{
  cursor:pointer;
}
.service-link-card.card:hover{
  transform:translateY(-5px);
  box-shadow:var(--shadow);
}
.service-link-card:focus-visible{
  outline:3px solid var(--cyan);
  outline-offset:4px;
}
.footer-links a[href*="facebook"],
.topbar a[href*="facebook"]{
  color:#fff;
  font-weight:950;
}
.contact-split-numbers .btn-light{
  grid-column:1 / -1;
  width:100%;
}
@media(max-width:700px){
  .logo.logo-img{width:54px;height:54px}
}


/* Finished customer-ready polish */
.nav-facebook{
  font-weight:950;
  color:var(--navy);
  padding:10px 12px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--softshadow);
}
.nav-facebook:hover{
  color:var(--blue);
  transform:translateY(-1px);
}
.button-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.footer-contact{
  display:block;
  margin-top:7px;
  color:rgba(255,255,255,.82);
}
.footer-contact a{
  color:#fff;
  font-weight:900;
}
.contact-boxes{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:18px;
}
.contact-box{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:17px;
  box-shadow:var(--softshadow);
}
.contact-box strong{
  display:block;
  color:var(--navy);
  font-size:1rem;
}
.contact-box span{
  color:var(--blue);
  font-weight:950;
  word-break:break-word;
}
.card .btn{
  margin-top:16px;
}
@media(max-width:1020px){
  .nav-facebook{
    display:none;
  }
}
@media(max-width:700px){
  .contact-boxes{
    grid-template-columns:1fr;
  }
  .topbar .container span{
    line-height:1.35;
  }
}


/* Final clean customer-ready fixes */
.nav-facebook{
  font-weight:950;
  color:var(--navy);
  padding:10px 12px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--softshadow);
}
.button-row{display:flex;gap:10px;flex-wrap:wrap}
.footer-contact{display:block;margin-top:7px;color:rgba(255,255,255,.82)}
.footer-contact a{color:#fff;font-weight:900}
.logo.logo-img{padding:0;background:#061827;overflow:hidden;border-radius:50%;border:2px solid rgba(34,211,238,.55)}
.logo.logo-img:before{display:none!important}
.logo.logo-img img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.service-link-card{display:block;color:inherit;text-decoration:none;cursor:pointer}
.service-link-card:empty{display:none}
.service-link-card:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
.badge-row{display:flex;gap:10px;flex-wrap:wrap}
.badge-row:empty{display:none}
.ba-wrap::after{content:"";display:none}
.range{display:none}
.ba-slider{cursor:ew-resize;touch-action:none}
.ba-slider .after{clip-path:inset(0 50% 0 0)}
.gallery-caption{padding:14px 16px}
.gallery-caption strong{margin-bottom:0}
.video-card{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);border-radius:28px;padding:14px;box-shadow:0 30px 80px rgba(0,0,0,.25)}
.video-card video{width:100%;display:block;border-radius:20px;max-height:520px;object-fit:cover;background:#000}
@media(max-width:1020px){.nav-facebook{display:none}}
@media(max-width:700px){.logo.logo-img{width:54px;height:54px}.topbar .container span{line-height:1.35}}


/* Final polish pass */
.nav-facebook,.nav-gallery{
  font-weight:950;
  padding:10px 12px;
  border-radius:999px;
}
.nav-facebook{
  color:var(--navy);
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--softshadow);
}
.nav-gallery{
  border:1px solid var(--line);
}
.button-row,.center-actions{display:flex;gap:10px;flex-wrap:wrap}
.center-actions{justify-content:center;margin-top:24px}
.footer-contact{display:block;margin-top:7px;color:rgba(255,255,255,.82)}
.footer-contact a{color:#fff;font-weight:900}
.logo.logo-img{padding:0;background:#061827;overflow:hidden;border-radius:50%;border:2px solid rgba(34,211,238,.55)}
.logo.logo-img:before{display:none!important}
.logo.logo-img img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.service-link-card{display:block;color:inherit;text-decoration:none;cursor:pointer}
.service-link-card:empty{display:none!important}
.service-link-card:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
.badge-row{display:flex;gap:10px;flex-wrap:wrap}
.badge-row:empty{display:none}
.ba-wrap::after{content:"";display:none}
.range{display:none}
.ba-slider{cursor:ew-resize;touch-action:none}
.ba-slider .after{clip-path:inset(0 50% 0 0)}
.gallery-caption{padding:14px 16px}
.gallery-caption strong{margin-bottom:0}
.video-card{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);border-radius:28px;padding:14px;box-shadow:0 30px 80px rgba(0,0,0,.25)}
.video-card video{width:100%;display:block;border-radius:20px;max-height:520px;object-fit:cover;background:#000}
.contact-boxes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.contact-box{background:#fff;border:1px solid var(--line);border-radius:20px;padding:17px;box-shadow:var(--softshadow)}
.contact-box strong{display:block;color:var(--navy);font-size:1rem}
.contact-box span{color:var(--blue);font-weight:950;word-break:break-word}
@media(max-width:1160px){.nav-facebook{display:none}}
@media(max-width:900px){.nav-gallery{display:none}}
@media(max-width:700px){.logo.logo-img{width:54px;height:54px}.topbar .container span{line-height:1.35}.contact-boxes{grid-template-columns:1fr}}


/* Final mobile + animated logo + correct before/after slider */
.logo.logo-img{
  position:relative;
  isolation:isolate;
  overflow:visible;
  border:0 !important;
  background:transparent !important;
  box-shadow:0 10px 28px rgba(14,165,233,.22);
}
.logo.logo-img::before{
  content:"";
  position:absolute;
  inset:-5px;
  border-radius:50%;
  background:conic-gradient(from 0deg,#14B8A6,#0EA5E9,#22D3EE,#14B8A6);
  animation:dtLogoSpin 4.5s linear infinite;
  z-index:-2;
}
.logo.logo-img::after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:50%;
  background:#061827;
  z-index:-1;
}
.logo.logo-img img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
  display:block;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.08);
}
@keyframes dtLogoSpin{
  to{transform:rotate(360deg)}
}

.ba-wrap{
  width:100%;
  max-width:760px;
  margin-inline:auto;
}
.ba-slider{
  position:relative;
  overflow:hidden;
  cursor:ew-resize;
  touch-action:none;
  user-select:none;
  border-radius:26px;
  background:#061827;
}
.ba-slider img{
  display:block;
  width:100%;
  height:min(58vw,520px);
  min-height:280px;
  object-fit:cover;
}
.ba-slider .after{
  position:absolute;
  inset:0;
  height:100%;
  clip-path:inset(0 100% 0 0);
}
.slider-line{
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:3px;
  background:#fff;
  box-shadow:0 0 0 1px rgba(14,165,233,.55),0 0 18px rgba(14,165,233,.55);
  transform:translateX(-50%);
  z-index:5;
}
.slider-handle{
  position:absolute;
  left:0;
  top:50%;
  transform:translate(-50%,-50%);
  width:52px;
  height:52px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#0EA5E9,#14B8A6);
  color:#fff;
  font-weight:950;
  border:3px solid rgba(255,255,255,.9);
  box-shadow:0 14px 32px rgba(0,0,0,.35);
  z-index:6;
}
.slider-label{
  z-index:7;
}
.range{
  display:none;
}

html,body{
  max-width:100%;
  overflow-x:hidden;
}
img,video{
  max-width:100%;
}
.nav{
  min-width:0;
}
.hero-actions,
.button-row,
.center-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
@media(max-width:1020px){
  .nav-facebook,.nav-gallery{
    display:none !important;
  }
  .nav-links{
    max-height:0;
    overflow:hidden;
    transition:max-height .25s ease;
  }
  .nav-links.open{
    max-height:420px;
  }
}
@media(max-width:700px){
  .hero{
    padding-top:72px;
  }
  .hero-grid,
  .grid-2,
  .grid-3,
  .grid-4,
  .footer-grid{
    grid-template-columns:1fr !important;
  }
  .hero h1{
    font-size:clamp(2.35rem,14vw,4.1rem);
    line-height:.95;
  }
  .hero p,
  .page-hero p,
  .section-head p{
    font-size:1rem;
  }
  .hero-actions .btn,
  .button-row .btn,
  .center-actions .btn,
  .cta-card .btn{
    width:100%;
    justify-content:center;
  }
  .trust-grid{
    grid-template-columns:1fr !important;
  }
  .topbar .container{
    gap:8px;
  }
  .topbar .container span{
    font-size:.78rem;
    line-height:1.35;
  }
  .ba-slider{
    border-radius:18px;
  }
  .ba-slider img{
    height:72vw;
    min-height:260px;
  }
  .slider-handle{
    width:46px;
    height:46px;
  }
  .slider-label{
    font-size:.72rem;
    padding:7px 9px;
  }
  .logo.logo-img{
    width:54px;
    height:54px;
    flex:0 0 54px;
  }
}
@media(max-width:420px){
  .container{
    width:min(100% - 28px, var(--max));
  }
  .brand-text strong{
    font-size:1rem;
  }
  .brand-text small{
    font-size:.72rem;
  }
  .btn{
    padding:12px 15px;
  }
}


.menu-btn{
  display:none;
}
@media(max-width:1020px){
  .menu-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
}
