/* ============================================================
   HIGGINS LAWN AND SURFACE — shared styles for legal pages
   (Privacy Policy, Terms of Use, Accessibility Statement)
   Kept in one file so all three pages stay consistent.
   ============================================================ */

:root{
  --grass-deep:#143F12;
  --grass-dark:#1f6b18;
  --grass:#5E8D4F;
  --grass-fresh:#8ACD40;
  --grass-light:#b5e57e;

  --wood-900:#241307;
  --wood-800:#2c1a0e;
  --wood-700:#3a2413;
  --wood-line:#1b0f06;

  --cream:#f4ead6;
  --cream-soft:#e7d8bd;
  --muted:#c4b393;

  --brass:#e2b45f;
  --brass-soft:#f2d9a4;

  --ff-display:"Alfa Slab One", Georgia, serif;
  --ff-head:"Oswald", "Arial Narrow", sans-serif;
  --ff-body:"Zilla Slab", Georgia, serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:90px;}
body{
  margin:0;
  font-family:var(--ff-body);
  color:var(--cream);
  background-color:var(--wood-800);
  background-image:
    repeating-linear-gradient(90deg,
      rgba(0,0,0,.30) 0 2px,
      rgba(0,0,0,0) 2px 4px,
      rgba(255,255,255,.014) 4px 6px,
      rgba(0,0,0,0) 6px 150px),
    linear-gradient(115deg,var(--wood-700),var(--wood-900) 55%,var(--wood-800));
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;
  line-height:1.65;
}
img{max-width:100%;display:block;}
a{color:var(--grass-light);text-underline-offset:3px;}
a:hover{color:var(--grass-fresh);}
:focus-visible{outline:3px solid var(--grass-fresh);outline-offset:3px;border-radius:6px;}

.wrap{width:min(820px,92vw);margin-inline:auto;}

/* skip link for keyboard + screen reader users */
.skip{
  position:absolute;left:-9999px;top:0;
  background:var(--grass-fresh);color:#0f2c08;
  padding:12px 18px;font-family:var(--ff-head);font-weight:600;
  text-transform:uppercase;letter-spacing:.1em;z-index:99;
}
.skip:focus{left:12px;top:12px;}

/* ---------- header ---------- */
.legal-header{
  border-bottom:1px solid rgba(244,234,214,.14);
  background:rgba(20,20,10,.35);
  padding:16px 0;
}
.legal-header .wrap{
  display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
}
.legal-header .brand{
  display:inline-flex;align-items:center;gap:12px;
  text-decoration:none;color:var(--cream);
  font-family:var(--ff-head);font-weight:600;
  text-transform:uppercase;letter-spacing:.08em;font-size:.95rem;
}
.legal-header .brand picture{display:block;flex:none;line-height:0;}
.legal-header .brand img{width:96px;height:auto;}
.legal-header .back{
  font-family:var(--ff-head);text-transform:uppercase;letter-spacing:.12em;
  font-size:.78rem;font-weight:600;text-decoration:none;
  color:var(--grass-fresh);
  border:1px solid rgba(138,205,64,.45);
  border-radius:999px;padding:9px 18px;
  transition:background .2s ease,color .2s ease;
}
.legal-header .back:hover{background:var(--grass-fresh);color:#0f2c08;}

/* ---------- page title block ---------- */
.legal-hero{padding:clamp(40px,7vw,72px) 0 8px;}
.eyebrow{
  font-family:var(--ff-head);text-transform:uppercase;
  letter-spacing:.32em;font-weight:600;font-size:.78rem;
  color:var(--grass-fresh);display:block;margin-bottom:10px;
}
h1{
  font-family:var(--ff-display);font-weight:400;
  font-size:clamp(2rem,6vw,3.1rem);
  line-height:1.1;margin:0 0 14px;color:var(--cream);
}
.updated{
  font-family:var(--ff-head);text-transform:uppercase;letter-spacing:.14em;
  font-size:.78rem;color:var(--muted);margin:0 0 6px;
}

/* ---------- body content ---------- */
main{padding-bottom:clamp(56px,9vw,100px);}
h2{
  font-family:var(--ff-head);font-weight:600;
  font-size:clamp(1.25rem,3.4vw,1.6rem);
  color:var(--grass-fresh);
  margin:46px 0 12px;padding-top:14px;
  border-top:1px solid rgba(244,234,214,.14);
}
h3{
  font-family:var(--ff-head);font-weight:600;
  font-size:1.02rem;letter-spacing:.04em;
  color:var(--brass-soft);margin:26px 0 8px;
}
p,li{color:var(--cream-soft);font-size:1.02rem;}
ul,ol{padding-left:22px;}
li{margin-bottom:9px;}
li::marker{color:var(--grass-fresh);}
strong{color:var(--cream);}

/* callout box — used for the "we keep this simple" style notes */
.note{
  border:1px solid rgba(138,205,64,.32);
  border-left:5px solid var(--grass-fresh);
  background:rgba(30,60,20,.35);
  border-radius:12px;
  padding:18px 22px;margin:22px 0;
}
.note p:last-child{margin-bottom:0;}
.note p:first-child{margin-top:0;}

.note.brass{
  border-color:rgba(226,180,95,.32);
  border-left-color:var(--brass);
  background:rgba(70,50,18,.35);
}

/* placeholder markers — makes the still-to-fill-in bits impossible to miss */
.fill{
  background:rgba(226,180,95,.18);
  border-bottom:2px dotted var(--brass);
  color:var(--brass-soft);
  font-family:var(--ff-head);font-weight:600;
  padding:0 4px;border-radius:3px;
}

/* contact block */
.contact-card{
  border:1px solid rgba(244,234,214,.18);
  border-radius:14px;background:rgba(0,0,0,.22);
  padding:20px 24px;margin-top:18px;
}
.contact-card p{margin:6px 0;}

/* ---------- footer ---------- */
.legal-footer{
  border-top:1px solid rgba(244,234,214,.14);
  background:rgba(20,20,10,.4);
  padding:28px 0;
}
.legal-footer .links{
  list-style:none;margin:0 0 14px;padding:0;
  display:flex;flex-wrap:wrap;gap:8px 22px;
}
.legal-footer .links a{
  font-family:var(--ff-head);text-transform:uppercase;
  letter-spacing:.12em;font-size:.76rem;font-weight:500;
  color:var(--muted);text-decoration:none;
}
.legal-footer .links a:hover{color:var(--grass-fresh);}
.legal-footer .copy{font-size:.85rem;color:var(--muted);margin:0;}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}
