/* United Asphalt Paving Arvada — house stylesheet.
   Deliberately not a template: dark masthead pulled from the logo, a
   condensed display face for headings only, system sans for body copy,
   an HTML service-area table instead of a badge grid, asymmetric hero,
   no gradient anywhere, no uniform card radius. */

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&display=swap');

:root{
  --ink:#171512;
  --coral:#e8654f;
  --coral-dark:#c94f3b;
  --cream:#faf6f1;
  --paper:#ffffff;
  --line:#e3ddd3;
  --muted:#6b6459;
  --good:#3d6e4a;
  --focus:#1a5fb4;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial, Helvetica, "Segoe UI", sans-serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.55;
  font-size:17px;
}
h1,h2,h3,h4{
  font-family:'Oswald', Arial, sans-serif;
  font-weight:600;
  letter-spacing:.2px;
  line-height:1.18;
  margin:0 0 .5em;
}
h1{font-size:2.15rem}
h2{font-size:1.55rem;margin-top:2.2rem}
h3{font-size:1.2rem}
p{margin:0 0 1em}
a{color:var(--coral-dark)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:3px solid var(--focus);
  outline-offset:2px;
}
img{max-width:100%;display:block}
table{border-collapse:collapse;width:100%;margin:1.2em 0;background:var(--paper)}
caption{caption-side:bottom;text-align:left;font-size:.85rem;color:var(--muted);padding-top:.5em}
th,td{border:1px solid var(--line);padding:.55em .7em;text-align:left;font-size:.97rem}
th{background:#f2ede4}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.wrap-narrow{max-width:760px;margin:0 auto;padding:0 20px}

/* trust strip */
.trust-strip{background:var(--ink);color:#eee5da;font-size:.82rem;text-align:center;padding:6px 10px}
.trust-strip span{margin:0 10px;display:inline-block}
.trust-strip .placeholder{opacity:.65}

/* header */
header.site{background:var(--ink);color:#fff;padding:14px 0}
header.site .row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
header.site img.logo{height:56px;width:auto}
nav.primary{display:flex;gap:22px;align-items:center;font-size:.97rem;flex-wrap:wrap}
nav.primary a{color:#f1ece4;text-decoration:none}
nav.primary a:hover{color:var(--coral)}
nav.primary .dropdown{position:relative}
nav.primary .dropdown-list{display:none;position:absolute;top:100%;left:0;background:#fff;color:var(--ink);min-width:270px;box-shadow:0 8px 20px rgba(0,0,0,.25);padding:8px 0;z-index:40;border-radius:2px}
nav.primary .dropdown:hover .dropdown-list,nav.primary .dropdown:focus-within .dropdown-list{display:block}
nav.primary .dropdown-list a{display:block;padding:8px 16px;color:var(--ink);font-size:.92rem}
nav.primary .dropdown-list a:hover{background:#f2ede4}
.header-call{background:var(--coral);color:#fff;padding:9px 18px;border-radius:3px;font-weight:700;text-decoration:none;white-space:nowrap}
.header-call:hover{background:var(--coral-dark)}

/* hero */
.hero{background:var(--ink);color:#fff;position:relative}
.hero .grid{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center;padding:38px 0 46px}
.hero h1{color:#fff;font-size:2.4rem;margin-bottom:.35rem}
.hero .subhead{color:#e4dcce;font-size:1.12rem;margin-bottom:1rem}
.hero .kw-list{color:#c9bfae;font-size:.95rem;margin-bottom:1.3rem}
.hero-photo{width:100%;height:280px;object-fit:cover;border:4px solid #2a2621}
.content-hero{width:100%;height:300px;object-fit:cover;border-radius:4px;margin:10px 0 18px}
.call-btn{display:inline-block;background:var(--coral);color:#fff;font-weight:700;font-size:1.15rem;padding:14px 26px;border-radius:3px;text-decoration:none;margin-right:12px}
.call-btn:hover{background:var(--coral-dark)}
.call-sub{font-size:.85rem;color:#c9bfae;margin-top:8px}

/* forms */
form.lead{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:20px}
form.lead h3{margin-top:0}
form.lead label{display:block;font-size:.85rem;font-weight:700;margin:.7em 0 .25em}
form.lead input,form.lead select,form.lead textarea{
  width:100%;padding:11px 10px;font-size:16px;border:1px solid #c9c2b5;border-radius:3px;font-family:inherit;
}
form.lead .hint{font-size:.8rem;color:var(--muted);margin-top:.3em}
form.lead button{margin-top:14px;background:var(--coral);color:#fff;border:0;font-weight:700;padding:13px 20px;font-size:1.02rem;border-radius:3px;cursor:pointer;min-height:44px}
form.lead button:hover{background:var(--coral-dark)}
form.lead .reassure{font-size:.8rem;color:var(--muted);margin-top:.6em}
.hp-field{position:absolute;left:-9999px;top:-9999px}

/* testimonials */
.testi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:26px 0}
.testi{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:16px}
.testi .who{display:flex;align-items:center;gap:10px;margin-top:10px}
.testi .who img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.testi .name{font-weight:700;font-size:.9rem}
.testi .tag{font-size:.78rem;color:var(--muted)}

/* pain points */
.pain-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 26px;margin:1.2em 0}
.pain-grid li{list-style:none;padding-left:26px;position:relative;margin-bottom:.4em}
.pain-grid li:before{content:"\2716";color:var(--coral-dark);position:absolute;left:0;top:2px;font-size:.85rem}

/* service card grid, two-up, ragged heights */
.svcgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start;margin:1.4em 0}
.svcblock{background:var(--paper);border:1px solid var(--line);border-radius:4px;overflow:hidden}
.svcblock img{height:200px;width:100%;object-fit:cover}
.svcblock .body{padding:16px}
.svcblock h3{margin-top:0}
.svcblock h3 a{color:var(--ink);text-decoration:none}
.svcblock h3 a:hover{color:var(--coral-dark)}

/* numeric callouts */
.stat-row{display:flex;justify-content:space-around;flex-wrap:wrap;gap:20px;background:#f2ede4;padding:26px 10px;margin:2em 0;border-top:3px solid var(--coral);border-bottom:3px solid var(--coral)}
.stat{text-align:center}
.stat .num{font-family:'Oswald',sans-serif;font-size:2.1rem;color:var(--coral-dark);font-weight:700}
.stat .label{font-size:.85rem;color:var(--muted)}

/* before/after */
.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:1.4em 0}
.ba-panel img{height:230px;width:100%;object-fit:cover;border:3px solid var(--ink)}
.ba-panel h4{margin-top:.6em}
.ba-panel ul{padding-left:1.1em}

/* how it works */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:1.4em 0}
.step .n{font-family:'Oswald',sans-serif;font-size:2rem;color:var(--coral);font-weight:700}

/* cta block */
.cta-block{background:var(--ink);color:#fff;padding:26px 20px;text-align:center;border-radius:4px;margin:2em 0}
.cta-block .badges{margin-top:10px;font-size:.82rem;color:#cfc6b7}
.cta-block .badges span{margin:0 10px}

/* FAQ */
.faq details{border-bottom:1px solid var(--line);padding:12px 0}
.faq summary{font-weight:700;cursor:pointer;font-size:1.02rem}
.faq p{margin-top:.6em}

/* services hub / footer service table */
.area-table td{font-size:.92rem}

footer.site{background:var(--ink);color:#cfc6b7;padding:34px 0 90px;font-size:.9rem}
footer.site a{color:#eee5da}
footer.site .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:24px}
footer.site h4{color:#fff;font-size:.95rem;margin-bottom:.6em}
footer.site ul{list-style:none;padding:0;margin:0}
footer.site li{margin-bottom:.35em}
footer.site img.logo{height:40px;margin-bottom:10px}
footer.site .legal-row{margin-top:24px;padding-top:16px;border-top:1px solid #35302a;font-size:.8rem}

.sticky-call{display:none}

.crumbs{font-size:.85rem;color:var(--muted);margin:14px 0 6px}
.crumbs a{color:var(--muted)}

.badge-row{font-size:.85rem;color:var(--muted);margin:.6em 0 1.4em}
.badge-row strong{color:var(--ink)}

.owner-note{background:#f2ede4;border-left:4px solid var(--coral);padding:16px 18px;margin:1.2em 0;font-style:italic}

.entity-note{font-size:.85rem;color:var(--muted)}

@media (max-width:900px){
  .hero .grid{grid-template-columns:1fr}
  .svcgrid,.ba-grid,.steps,footer.site .cols{grid-template-columns:1fr}
  .pain-grid{grid-template-columns:1fr}
  .testi-row{grid-template-columns:1fr}
  nav.primary{display:none}
  .sticky-call{
    display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;
    background:var(--coral);color:#fff;text-align:center;padding:13px;
    font-weight:700;text-decoration:none;font-size:1.05rem;min-height:44px;
  }
  footer.site{padding-bottom:100px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}

[id]{scroll-margin-top:18px}
