/* Leak Detection Youngstown — unique design: deep teal + coral, compact hero, no frameworks */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--teal-dark:#0a3236;--teal:#0f4c4f;--teal-2:#14707a;--aqua:#2dd4bf;--coral:#ff6b35;--coral-dark:#e85a24;--bg:#eef6f5;--white:#fff;--text:#16282b;--muted:#4d6569;--border:#d4e3e1;--radius:16px;--maxw:1120px;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--shadow:0 4px 18px rgba(10,50,54,.09)}
html{scroll-behavior:smooth}body{font-family:var(--font);color:var(--text);line-height:1.65;background:var(--white)}
img{max-width:100%;height:auto;display:block}a{color:var(--teal-2)}p{margin-bottom:1rem}
.container{width:min(100% - 2.5rem,var(--maxw));margin-inline:auto}.narrow{max-width:46rem}.center{text-align:center}
.skip-link{position:absolute;left:1rem;top:-4rem;background:var(--coral);color:#fff;font-weight:700;padding:.6rem 1rem;border-radius:0 0 8px 8px;z-index:200;text-decoration:none}.skip-link:focus{top:0}
:focus-visible{outline:3px solid var(--coral);outline-offset:2px;border-radius:4px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:800;font-size:1.02rem;line-height:1.2;text-decoration:none;padding:.95rem 1.6rem;border-radius:999px;border:2px solid transparent;cursor:pointer}
.btn-call{background:var(--coral);color:#fff}.btn-call:hover{background:var(--coral-dark)}
.btn-lg{font-size:1.15rem;padding:1.05rem 1.9rem}.btn-outline{border-color:#fff;color:#fff;background:transparent}.btn-outline:hover{background:rgba(255,255,255,.14)}
.site-header{background:var(--teal-dark);color:#fff;position:static;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.header-inner{display:flex;align-items:center;gap:1rem;padding:.7rem 0;position:relative}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:#fff;margin-right:auto}
.logo-mark{font-size:1.9rem;line-height:1}.brand-text{font-size:1rem;line-height:1.25}.brand-strong{display:block;font-weight:800;letter-spacing:.02em}
.header-call{display:none;color:#fff;font-weight:800;text-decoration:none;border:2px solid var(--aqua);padding:.5rem .9rem;border-radius:999px}
.nav-toggle{display:inline-flex;flex-direction:column;gap:5px;background:none;border:2px solid rgba(255,255,255,.35);border-radius:8px;padding:.6rem;cursor:pointer}.nav-toggle span{display:block;width:22px;height:2px;background:#fff}
.primary-nav{display:none}.primary-nav.open{display:block;position:absolute;top:100%;left:0;right:0;background:var(--teal);border-top:1px solid rgba(255,255,255,.15);max-height:70vh;overflow:auto}
.primary-nav .menu{list-style:none}.primary-nav a{display:block;color:#fff;text-decoration:none;padding:.8rem 1.25rem;font-weight:600}.primary-nav a:hover{background:rgba(255,255,255,.1)}
.nav-group-label{display:block;color:var(--aqua);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;padding:.9rem 1.25rem .3rem}.nav-group ul a{padding-left:2rem;font-weight:500}
.breadcrumbs{font-size:.88rem;color:var(--muted);padding:1rem 0 0}.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem}.breadcrumbs li+li::before{content:"/";margin-right:.4rem}.breadcrumbs a{text-decoration:none}
.hero{background:linear-gradient(160deg,var(--teal-dark),var(--teal) 55%,var(--teal-2));color:#fff;padding:2.4rem 0}
.hero-grid{display:grid;gap:1.6rem}.hero-badge{display:inline-block;background:var(--aqua);color:var(--teal-dark);font-weight:800;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;padding:.4rem .9rem;border-radius:999px;margin-bottom:1rem}
.hero h1{font-size:1.95rem;line-height:1.2;margin-bottom:.9rem}.hero-sub{color:#d9efec;font-size:1.08rem;max-width:42rem}.hero-ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.4rem 0 .8rem}.hero-note{color:#bfe3de;font-size:.92rem}
.hero-card{background:#fff;color:var(--text);border-radius:var(--radius);padding:1.4rem;box-shadow:var(--shadow);border-top:6px solid var(--coral)}.hero-card h2{font-size:1.15rem;color:var(--teal);margin-bottom:.7rem}.hero-card ul{list-style:none;display:grid;gap:.5rem;margin-bottom:.8rem}.hero-card li{font-size:.98rem}
.section{padding:2.8rem 0}.section-alt{background:var(--bg)}.section-title{font-size:1.6rem;line-height:1.3;color:var(--teal);margin-bottom:.6rem}.section-sub{color:var(--muted);max-width:46rem;margin-bottom:1.8rem}
.grid{display:grid;gap:1.3rem;grid-template-columns:1fr}.card{background:#fff;border:1px solid var(--border);border-top:4px solid var(--teal-2);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);display:flex;flex-direction:column}.card h3{font-size:1.15rem;color:var(--teal);margin-bottom:.5rem}.card h3 a{color:var(--teal);text-decoration:none}.card h3 a:hover{text-decoration:underline}.card p{color:var(--muted);flex:1}.card-link{font-weight:800;color:var(--coral-dark);text-decoration:none;margin-top:.5rem}.card-icon{font-size:1.7rem;margin-bottom:.6rem}.card-area{border-top-color:var(--aqua)}
.steps{list-style:none;display:grid;gap:1.3rem}.steps li{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.steps h3{color:var(--teal);margin-bottom:.4rem}.steps p{color:var(--muted);margin-bottom:0}
.notice{background:#fff3ed;border:1px solid #ffb59a;border-radius:var(--radius);padding:1.1rem 1.3rem;margin-top:1.5rem}
.signs{list-style:none;display:grid;gap:.7rem;margin:1rem 0 1.8rem}.signs li{background:var(--bg);border-left:5px solid var(--coral);border-radius:8px;padding:.9rem 1.1rem}
details{border:1px solid var(--border);border-radius:12px;padding:1rem 1.2rem;margin-bottom:.8rem;background:#fff}details summary{font-weight:700;color:var(--teal);cursor:pointer}details p{color:var(--muted);margin:.6rem 0 0}
.cta-band{background:var(--coral);color:#fff;padding:2.6rem 0;text-align:center}.cta-band h2{font-size:1.6rem;margin-bottom:.5rem}.cta-band p{color:#fff0e8}.cta-band .btn-call{background:#fff;color:var(--coral-dark);border-color:#fff}
.site-footer{background:var(--teal-dark);color:#cfe6e3;padding:2.5rem 0 6.5rem}.site-footer a{color:#fff}.footer-call{font-size:1.2rem;font-weight:800;color:#fff}.disclosure{font-size:.92rem;color:#a9c9c5;margin-top:1rem}.copyright{font-size:.88rem;color:#8fb5b0}
.sticky-call{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:150;background:var(--coral);color:#fff!important;text-align:center;font-weight:800;text-decoration:none;padding:.95rem;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.3)}
form label{display:block;font-weight:700;margin-bottom:1rem}form input,form textarea{width:100%;font:inherit;padding:.8rem;border:1px solid var(--border);border-radius:10px;margin-top:.35rem}.big-call{font-size:1.5rem;font-weight:800}
@media(min-width:760px){.hero-grid{grid-template-columns:1.5fr 1fr;align-items:start}.hero h1{font-size:2.4rem}.grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(3,1fr)}.header-call{display:inline-block}.nav-toggle{display:none}.primary-nav{display:block;position:static}.primary-nav .menu{display:flex;gap:.2rem}.primary-nav a{padding:.5rem .7rem}.nav-group-label,.nav-group ul{display:none}.sticky-call{display:none}.site-footer{padding-bottom:2.5rem}}
@media(min-width:1020px){.grid{grid-template-columns:repeat(3,1fr)}}

/* v2 additions: area strip with ZIP chips, gallery, page images, ZIP table */
.area-strip{background:#083a3e;border-top:1px solid rgba(255,255,255,.12);padding:.55rem 0}
.area-strip-inner{display:flex;gap:.45rem;overflow-x:auto;white-space:nowrap;padding-bottom:.2rem;align-items:center}
.area-strip-label{color:var(--aqua);font-weight:800;font-size:.85rem;flex:none}
.chip{display:inline-flex;color:#fff!important;text-decoration:none;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:.3rem .7rem;font-size:.85rem;font-weight:600;flex:none}
.chip:hover{background:rgba(255,255,255,.12)}.chip-all{border-color:var(--coral);color:#ffd9c9!important}
.page-img{margin:0 0 1.6rem}.page-img img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%}
.page-img figcaption{color:var(--muted);font-size:.9rem;margin-top:.5rem}
.gallery-grid{grid-template-columns:1fr 1fr}.gallery-item{margin:0}.gallery-item img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%}.gallery-item figcaption{color:var(--muted);font-size:.92rem;margin-top:.5rem}
.zip-table{width:100%;border-collapse:collapse;margin:1rem 0 2rem;background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.zip-table th,.zip-table td{text-align:left;padding:.8rem 1rem;border-bottom:1px solid var(--border)}.zip-table th{background:var(--teal);color:#fff}.zip-table td a{font-weight:700}
@media(min-width:760px){.gallery-grid{grid-template-columns:repeat(4,1fr)}}

/* v3 visibility fixes: flat menu bar, hero image, card thumbnails */
.primary-nav{display:none;background:#0d3f43;border-top:1px solid rgba(255,255,255,.15)}
.primary-nav.open{display:block}
.primary-nav .menu{list-style:none}
.primary-nav a{display:block;color:#fff!important;text-decoration:none;padding:.8rem 1.25rem;font-weight:600}
.primary-nav a:hover{background:rgba(255,255,255,.12)}
.hero-img{margin:0}.hero-img img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;height:280px;object-fit:cover}
.hero-img figcaption{color:#bfe3de;font-size:.9rem;margin-top:.5rem}
.signs-strip{background:#fff3ed;border-bottom:1px solid #ffd9c9;padding:.9rem 0}
.signs-strip p{margin:0;font-size:.98rem}
.card-img{width:100%;height:170px;object-fit:cover;border-radius:12px;margin-bottom:.9rem}
@media(min-width:760px){
  .nav-toggle{display:none}
  .primary-nav{display:block}
  .primary-nav .menu{display:flex;flex-wrap:wrap}
  .primary-nav a{padding:.65rem .75rem;font-size:.9rem}
  .hero-img img{height:320px}
}
.primary-nav.open{position:static}

/* v4 menu: Home, Services dropdown, Blog, Service Areas, About Us, Contact Us */
.menu{display:flex;flex-wrap:wrap;list-style:none}
.menu>li{position:relative}
.menu>li>a,.dropdown-btn{display:block;color:#fff!important;text-decoration:none;padding:.8rem 1rem;font-weight:700;background:none;border:none;font:inherit;cursor:pointer}
.menu>li>a:hover,.dropdown-btn:hover{background:rgba(255,255,255,.12)}
.dropdown{display:none;list-style:none;background:#0d3f43;border:1px solid rgba(255,255,255,.2);border-radius:0 0 12px 12px;min-width:260px}
.dropdown a{display:block;color:#fff!important;text-decoration:none;padding:.7rem 1rem;font-weight:600}
.dropdown a:hover{background:rgba(255,255,255,.12)}
.has-dropdown.open .dropdown{display:block}
@media(min-width:760px){
  .has-dropdown:hover .dropdown,.has-dropdown:focus-within .dropdown{display:block;position:absolute;left:0;top:100%;z-index:200;box-shadow:0 12px 24px rgba(0,0,0,.3)}
}

/* v5 fix: dropdown is closed by default and only opens on hover/tap, never by layout.
   Scoped above so .menu flex rules never touch .dropdown. */
.primary-nav .dropdown{display:none}
.primary-nav .has-dropdown.open .dropdown{display:block}
@media(min-width:760px){
  .primary-nav .has-dropdown:hover .dropdown{display:block;position:absolute;left:0;top:100%;z-index:200;box-shadow:0 12px 24px rgba(0,0,0,.3)}
  .primary-nav .has-dropdown:focus-within .dropdown{display:block;position:absolute;left:0;top:100%;z-index:200;box-shadow:0 12px 24px rgba(0,0,0,.3)}
}
