/* ============================================================
   AW Pressure Washing — shared styles for legal pages
   (privacy.html, terms.html, service-terms.html)
   ============================================================ */
:root{
  --ink:#232C2B;
  --ink-soft:#3E4847;
  --teal:#3692A9;
  --teal-deep:#27768B;
  --teal-tint:#E2EFF2;
  --cream:#F9F8F3;
  --cream-2:#F1EFE5;
  --white:#FFFFFF;
  --line:rgba(35,44,43,.13);
  --radius:14px;
  --shadow:0 10px 30px rgba(35,44,43,.10);
  --wrap:1120px;
  --prose:760px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
body{
  font-family:'Poppins',system-ui,-apple-system,sans-serif;
  background:var(--cream);
  color:var(--ink);
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
a{color:var(--teal-deep)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:4px}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:9px;
  font-family:inherit;font-size:15px;font-weight:600;
  padding:13px 22px;border-radius:999px;border:1.5px solid transparent;
  cursor:pointer;text-decoration:none;line-height:1;
  transition:background .2s,color .2s,border-color .2s,transform .15s,box-shadow .2s;
}
.btn:active{transform:scale(.985)}
.btn-solid{background:var(--teal);color:#fff}
.btn-solid:hover{background:var(--teal-deep);box-shadow:0 8px 24px -6px rgba(54,146,169,.55)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal-deep)}

/* ---------- simplified header ---------- */
.lhead{
  position:sticky;top:0;z-index:50;
  background:rgba(249,248,243,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.lnav{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand img{height:46px;width:auto}
.brand-text{display:flex;flex-direction:column;line-height:1.05}
.brand-text b{font-size:18px;font-weight:800;letter-spacing:.02em}
.brand-text span{font-size:10px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--teal-deep)}
@media(max-width:480px){.brand-text{display:none}}

/* ---------- title band ---------- */
.legal-hero{
  background:linear-gradient(160deg,#d4edf3 0%,#e8f5f8 30%,var(--cream) 100%);
  border-bottom:1px solid var(--line);
  padding:54px 0 46px;
}
.eyebrow{
  font-size:13px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--teal-deep);display:flex;align-items:center;gap:10px;margin-bottom:14px;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--teal);border-radius:2px}
.legal-hero h1{font-size:clamp(30px,5vw,46px);font-weight:700;letter-spacing:-.01em;line-height:1.12}
.legal-hero .updated{margin-top:14px;font-size:14px;color:var(--ink-soft)}

/* ---------- prose / content ---------- */
.legal-body{padding:48px 0 64px}
.legal-body .wrap{max-width:var(--prose)}
.legal-intro{
  background:var(--white);border:1px solid var(--line);border-left:4px solid var(--teal);
  border-radius:var(--radius);padding:18px 20px;margin-bottom:34px;
  font-size:14.5px;color:var(--ink-soft);
}
.legal-body h2{
  font-size:clamp(20px,2.6vw,26px);font-weight:700;letter-spacing:-.01em;
  margin:38px 0 12px;padding-top:8px;
}
.legal-body h2:first-of-type{margin-top:0}
.legal-body h3{font-size:17px;font-weight:600;margin:24px 0 8px}
.legal-body p{margin:0 0 14px;color:var(--ink-soft)}
.legal-body ul,.legal-body ol{margin:0 0 16px;padding-left:22px;color:var(--ink-soft)}
.legal-body li{margin:0 0 8px}
.legal-body strong{color:var(--ink)}
.legal-body a{font-weight:500}

/* table of contents */
.legal-toc{
  background:var(--cream-2);border:1px solid var(--line);border-radius:var(--radius);
  padding:20px 22px;margin-bottom:34px;
}
.legal-toc h2{font-size:13px!important;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-deep);margin:0 0 12px!important}
.legal-toc ol{margin:0;padding-left:20px;columns:2;column-gap:32px}
.legal-toc li{margin-bottom:7px}
.legal-toc a{color:var(--ink-soft);text-decoration:none;font-weight:500}
.legal-toc a:hover{color:var(--teal-deep);text-decoration:underline}
@media(max-width:600px){.legal-toc ol{columns:1}}

/* contact block */
.legal-contact{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px 24px;margin-top:28px;
}
.legal-contact h2{margin-top:0!important}
.legal-contact p{margin-bottom:6px}

/* cross links */
.legal-related{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.legal-related a{
  font-size:14px;font-weight:600;text-decoration:none;color:var(--teal-deep);
  border:1px solid var(--line);border-radius:999px;padding:9px 16px;
  transition:border-color .2s,background .2s;
}
.legal-related a:hover{border-color:var(--teal);background:var(--teal-tint)}

/* ---------- footer (matches main site) ---------- */
footer .foot-top{padding:56px 0 44px;border-top:1px solid var(--line)}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}
.foot-grid img{height:64px;width:auto;margin-bottom:14px}
.foot-grid p{font-size:14px;color:var(--ink-soft);max-width:300px}
.foot-grid h3{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-deep);margin-bottom:14px}
.foot-grid ul{list-style:none;display:grid;gap:9px}
.foot-grid a{font-size:14.5px;color:var(--ink-soft);text-decoration:none}
.foot-grid a:hover{color:var(--teal-deep)}
.foot-social{display:flex;gap:12px;margin-top:18px}
.foot-social a{
  display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:50%;
  background:var(--teal-tint);color:var(--teal-deep);border:1px solid transparent;
  transition:background .2s,color .2s,transform .2s,box-shadow .2s;
}
.foot-social a:hover{background:var(--teal);color:#fff;transform:translateY(-3px);box-shadow:0 8px 20px -6px rgba(54,146,169,.55)}
.foot-social svg{width:20px;height:20px}
.phone-bar{background:var(--ink);color:var(--cream);padding:26px 0}
.phone-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.phone-bar a.num{font-size:clamp(26px,4vw,38px);font-weight:700;letter-spacing:.04em;color:var(--cream);text-decoration:none}
.phone-bar a.num:hover{color:#fff}
.phone-bar small{font-size:13px;color:rgba(249,248,243,.6)}
.phone-bar .foot-end{display:flex;flex-direction:column;align-items:flex-end;gap:9px;text-align:right}
.phone-bar .foot-links{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}
.phone-bar .foot-links a{font-size:13px;color:rgba(249,248,243,.78);text-decoration:none}
.phone-bar .foot-links a:hover{color:#fff}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr;gap:30px}}
@media(max-width:560px){
  .phone-bar .foot-end{align-items:flex-start;text-align:left}
  .phone-bar .foot-links{justify-content:flex-start;gap:14px}
}

/* ============================================================
   Shared content-page components (results / areas / discounts)
   ============================================================ */
.psection{padding:64px 0}
.psection.alt{background:var(--cream-2)}
.psec-head{max-width:680px;margin:0 auto 40px;text-align:center}
.psec-head .eyebrow{justify-content:center}
.psec-head h2{font-size:clamp(26px,3.6vw,40px);font-weight:700;letter-spacing:-.01em;margin:14px 0 12px}
.psec-head p{color:var(--ink-soft)}
.card-grid{display:grid;gap:22px;max-width:var(--wrap);margin:0 auto}
.card-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.card-grid.cols-3{grid-template-columns:repeat(3,1fr)}
.card-grid.cols-4{grid-template-columns:repeat(4,1fr)}
.info-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s}
.info-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px -10px rgba(35,44,43,.18)}
.pcta{background:linear-gradient(135deg,#161f1e 0%,#1e2d2c 45%,#1a2e2d 100%);color:#fff;text-align:center;padding:62px 0}
.pcta h2{color:#fff;font-size:clamp(26px,3.4vw,38px);font-weight:700;margin-bottom:12px}
.pcta p{color:rgba(255,255,255,.78);max-width:520px;margin:0 auto 26px}
.pcta .btn-solid{font-size:16px;padding:15px 30px}
@media(max-width:900px){.card-grid.cols-3,.card-grid.cols-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.card-grid.cols-2,.card-grid.cols-3,.card-grid.cols-4{grid-template-columns:1fr}}
