@font-face{font-family:"Zilla Slab";font-style:normal;font-weight:600 900;font-display:optional;src:url(fonts/zilla-slab-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Libre Franklin";font-style:normal;font-weight:100 900;font-display:optional;src:url(fonts/libre-franklin-latin-wght-normal.woff2) format("woff2-variations"),url(fonts/libre-franklin-latin-wght-normal.woff2) format("woff2")}
/* Utah Landscaper Leads
   Palette from the job site: Wasatch slate, limestone, turf, paver sand,
   and the fluorescent marking paint crews use to lay out a patio. */
:root{
  --slate:#172A3A;           /* navy: blue reads as competent (Labrecque & Milne 2012) */
  --slate-2:#22384A;
  --limestone:#ECEFE8;
  --paper:#F8F9F5;
  --turf:#2F5E3F;
  --turf-dark:#234A31;
  --sand:#C8B38C;
  --mark:#2F5E3F;           /* small accents now use the brand green */
  --cta:#C8460E;            /* safety orange: ONLY on the Book a free call button */
  --cta-dark:#9A3412;
  --ink:#172A3A;
  --muted:#56635F;
  --line:#CFD5CB;
  --radius-s:6px;
  --radius-l:14px;
  --display:"Zilla Slab", Rockwell, Georgia, serif;
  --body:"Libre Franklin", "Franklin Gothic Medium", Arial, sans-serif;
  --wrap:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.6}
img,svg{max-width:100%;display:block}
a{color:var(--turf)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #1D5FA8;outline-offset:3px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}

/* Type scale (1.25 ratio) */
h1,h2,h3{font-family:var(--display);font-weight:800;line-height:1.05;letter-spacing:-.005em;margin:0 0 .4em;color:var(--slate)}
h1{font-size:clamp(2.5rem,5.8vw,4.6rem);font-weight:700}
h2{font-size:clamp(1.95rem,3.7vw,2.85rem)}
h3{font-size:1.5rem;font-weight:700}
p{margin:0 0 1em;max-width:62ch}
.lead{font-size:1.2rem;color:var(--muted);max-width:52ch}

/* Header */
.site-head{position:sticky;top:0;z-index:20;background:rgba(248,249,245,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--slate)}
.brand-mark{width:34px;height:34px}
.brand-name{font-family:var(--display);font-weight:700;font-size:1.35rem;line-height:1;letter-spacing:0}
.brand-name span{display:block;font-size:.95rem;font-weight:600;color:var(--turf)}
.nav{display:flex;align-items:center;gap:22px}
.nav a{text-decoration:none;color:var(--slate);font-weight:700;font-size:.98rem}
.nav a[aria-current="page"]{box-shadow:inset 0 -3px 0 var(--mark)}
.nav .btn{margin-left:4px;color:#fff}
.nav .btn[aria-current]{box-shadow:none}
.painted{-webkit-box-decoration-break:clone;box-decoration-break:clone}
.menu-btn{display:none;background:none;border:2px solid var(--slate);border-radius:var(--radius-s);padding:6px 12px;font:700 .95rem var(--body);color:var(--slate)}
@media (max-width:860px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:72px;background:var(--paper);flex-direction:column;align-items:flex-start;padding:16px 24px 24px;border-bottom:1px solid var(--line)}
  .nav.open{display:flex}
}

/* Buttons */
.btn{display:inline-block;background:var(--turf);color:#fff;text-decoration:none;font-weight:700;padding:14px 22px;border-radius:var(--radius-s);border:0;font-family:var(--body);font-size:1rem;cursor:pointer;line-height:1.2}
.btn:hover{background:var(--turf-dark)}
.btn.ghost{background:transparent;color:var(--slate);box-shadow:inset 0 0 0 2px var(--slate)}
.btn.ghost:hover{background:var(--slate);color:#fff}
.btn.on-dark{background:var(--sand);color:var(--slate)}
.btn.on-dark:hover{background:#d8c6a3}

/* Sections */
section{padding:88px 0}
.band-limestone{background:var(--limestone)}
.band-slate{background:var(--slate);color:#E6EBE6}
.band-slate h2,.band-slate h3{color:#fff}
.band-slate .lead,.band-slate p{color:#C9D2CD}

/* Hero */
.hero{padding:64px 0 72px}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero-note{margin-top:14px;font-size:.95rem;color:var(--muted)}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}.hero-plan{max-width:520px}}

/* Marking-paint underline: the one bold move */
.painted{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'%3E%3Cpath d='M2 8 C40 3 80 10 120 6 S180 4 198 7' stroke='%236FBF7F' stroke-width='4' fill='none' stroke-linecap='round' stroke-dasharray='14 7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:0 100%;background-size:100% .22em;padding-bottom:.08em}

/* Journey (a real sequence: found -> keep -> repeat) */
.journey{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:44px;border-top:3px solid var(--slate)}
.journey > div{padding:28px 28px 8px 0}
.journey > div + div{padding-left:28px;border-left:1px solid var(--line)}
.journey .step{font-family:var(--display);font-weight:800;font-size:1.1rem;color:var(--turf)}
@media (max-width:860px){.journey{grid-template-columns:1fr}.journey > div + div{padding-left:0;border-left:0;border-top:1px solid var(--line)}}
.journey ul{padding-left:1.1em;margin:0 0 1em}
.journey li{margin-bottom:.35em}

/* Price ladder */
.ladder{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:20px;margin-top:40px;align-items:start}
.rung{background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);padding:28px}
.rung.main{border:2px solid var(--turf);box-shadow:0 18px 40px -24px rgba(23,42,58,.45)}
.rung .price{font-family:var(--display);font-weight:700;font-size:2.9rem;line-height:1;color:var(--slate)}
.rung .price small{font-family:var(--body);font-weight:700;font-size:1rem;color:var(--muted)}
.rung .terms{font-size:.95rem;color:var(--muted);margin:.4em 0 1em}
.rung ul{padding-left:1.1em;margin:0 0 1.2em}
.rung li{margin-bottom:.4em}
.tag{display:inline-block;background:var(--mark);color:#fff;font-weight:700;font-size:.85rem;padding:3px 10px;border-radius:99px;margin-bottom:10px}
@media (max-width:900px){.ladder{grid-template-columns:1fr}}

/* Steps (sequence) */
.steps{counter-reset:s;list-style:none;padding:0;margin:36px 0 0;display:grid;gap:18px;max-width:780px}
.steps li{counter-increment:s;display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:start}
.steps li::before{content:counter(s);font-family:var(--display);font-weight:700;font-size:2.1rem;line-height:1;color:var(--turf);border-bottom:3px dashed var(--mark);padding-bottom:4px;text-align:center}
.steps strong{display:block;font-size:1.1rem}

/* Two-column text */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:28px}}

/* Checklist */
.checks{list-style:none;padding:0;margin:0}
.checks li{position:relative;padding-left:34px;margin-bottom:.7em}
.checks li::before{content:"";position:absolute;left:0;top:.35em;width:20px;height:20px;border-radius:4px;background:var(--turf) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' stroke='white' stroke-width='2.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}

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

/* Form */
.form{background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);padding:32px;display:grid;gap:18px}
.field{display:grid;gap:6px}
.field label{font-weight:700}
.field .hint{font-size:.9rem;color:var(--muted)}
input,select,textarea{font:inherit;font-size:1rem;padding:12px 14px;border:1.5px solid #AEB7AD;border-radius:var(--radius-s);background:var(--paper);color:var(--ink);width:100%}
textarea{min-height:110px;resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:640px){.row2{grid-template-columns:1fr}.form{padding:22px}}
.form-error{color:#B3123E;font-weight:700;display:none}
.form-note{font-size:.9rem;color:var(--muted);margin:0}

/* CTA band */
.cta-band{padding:72px 0}
.cta-band .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.cta-band h2{margin:0;max-width:20ch}

/* Footer */
.site-foot{background:var(--slate);color:#AEBBB5;padding:48px 0 36px;font-size:.95rem}
.site-foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px}
.site-foot a{color:#E6EBE6;text-decoration:none}
.site-foot a:hover{text-decoration:underline}
.foot-links{display:flex;flex-wrap:wrap;gap:18px}
.foot-brand{font-family:var(--display);font-weight:700;font-size:1.3rem;color:#fff}

/* Page head (inner pages) */
.page-head{padding:64px 0 40px;border-bottom:1px solid var(--line)}
.prose h2{margin-top:1.2em;font-size:1.8rem}
.prose ul{padding-left:1.2em}

/* Work page: site anatomy */
.anatomy{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
@media (max-width:900px){.anatomy{grid-template-columns:1fr}}
.browser{background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);overflow:hidden;box-shadow:0 24px 48px -30px rgba(23,42,58,.5)}
.browser-bar{display:flex;gap:6px;padding:10px 12px;background:var(--limestone);border-bottom:1px solid var(--line)}
.browser-bar i{width:10px;height:10px;border-radius:50%;background:#C3CBC1}
.sample-label{display:inline-block;margin:0 0 12px;font-weight:700;color:var(--mark)}
/* competitor-pattern additions */
.compare{width:100%;border-collapse:collapse;margin-top:28px;background:#fff;border-radius:var(--radius-l);overflow:hidden;font-size:1rem}
.compare th,.compare td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.compare thead th{background:var(--slate);color:#fff;font-family:var(--display);font-weight:800;font-size:1rem;letter-spacing:0}
.compare thead th.us{background:var(--turf)}
.compare td.us{background:#EEF4EE;font-weight:700;color:var(--slate)}
.compare tbody th{font-weight:700;color:var(--slate);width:24%}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:640px){.compare{font-size:.92rem;min-width:600px}}
.nots{list-style:none;padding:0;margin:0}
.nots li{position:relative;padding-left:34px;margin-bottom:.8em}
.nots li::before{content:"";position:absolute;left:3px;top:.55em;width:16px;height:3px;background:var(--mark);border-radius:2px}
.note-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);padding:32px;max-width:720px}
.note-card .ps{margin-top:1.2em;padding-top:1em;border-top:1px dashed var(--line);color:var(--muted)}
.pill{display:inline-block;background:var(--sand);color:var(--slate);font-weight:700;font-size:.85rem;padding:4px 12px;border-radius:999px;margin:0 6px 8px 0}
/* High Scale Media model additions */
.kicker{font-weight:700;color:var(--turf);text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;margin:0 0 14px}
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
.svc>div,.diff>div{background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);padding:24px}
.svc h3,.diff h3{margin:0 0 .4em;font-size:1.35rem}
.svc p,.diff p{margin:0 0 .8em}
.diff{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:28px}
@media (max-width:860px){.svc{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.svc,.diff{grid-template-columns:1fr}}
.svc-row{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;padding:36px 0;border-bottom:1px solid var(--line)}
.svc-row:first-child{padding-top:0}.svc-row:last-child{border-bottom:0}
.svc-row h2{font-size:1.85rem;margin-top:0}
@media (max-width:860px){.svc-row{grid-template-columns:1fr;gap:16px}}
.page-head .hero-actions{margin-top:22px}
.cta-band .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn.on-dark-ghost{background:transparent;color:#fff;border:2px solid #C9D2CD;box-shadow:none}
/* Joe's Road task 10: one button color used nowhere else */
.btn.cta{background:var(--cta);color:#fff;border-color:var(--cta)}
.btn.cta:hover{background:var(--cta-dark);border-color:var(--cta-dark)}
.nav .btn.cta{color:#fff}
.tag{background:var(--turf)}
.hero h1{font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.05}
.head-cta{display:none}
@media (max-width:860px){.site-head .wrap{gap:8px}.head-cta{display:inline-flex;margin-left:auto;padding:9px 14px;font-size:.92rem}}
.head-cta{white-space:nowrap}
.site-head .brand{min-width:0;flex-shrink:1}
.brand-mark{flex-shrink:0}
@media (max-width:480px){.site-head .brand-mark{width:26px;height:26px}.site-head .brand-name{font-size:1.08rem}.site-head .brand-name span{font-size:.8rem}.head-cta{padding:8px 10px;font-size:.84rem}.menu-btn{padding:6px 9px}}
@media (max-width:700px){.compare.plans{min-width:0;font-size:.82rem}.compare.plans th,.compare.plans td{padding:10px 8px}}
.case{border-top:1px solid var(--line)}
.case-shots{display:flex;gap:20px;align-items:flex-end;margin:20px 0 28px}
.case-shots img{border-radius:12px;box-shadow:0 10px 30px rgba(23,42,58,.15);max-width:100%;height:auto;min-width:0}
.case-shots img:first-child{flex:3}.case-shots .phone{flex:1;max-width:220px}
.case-body{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:28px}
.case-body h3{margin-top:0}.case-body .btn{margin:6px 6px 0 0}
@media (max-width:820px){.case-body{grid-template-columns:1fr}.case-shots .phone{max-width:120px}}
.hero.photo{position:relative;color:#fff;overflow:hidden;padding:84px 0 92px;background:#172A3A}
.hero.photo .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero.photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,28,40,.86) 0%,rgba(15,28,40,.62) 55%,rgba(15,28,40,.35) 100%)}
.hero.photo .wrap{position:relative;z-index:1}
.hero.photo h1,.hero.photo .lead{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.hero.photo .kicker{color:#BFE3C4}.hero.photo .hero-note{color:#E4ECE6}
.hero.photo .btn.ghost{color:#fff;box-shadow:inset 0 0 0 2px #fff}.hero.photo .btn.ghost:hover{background:#fff;color:var(--slate)}
.hero-phones{display:flex;gap:18px;justify-content:center;align-items:flex-start;flex-wrap:wrap}
.hero-phones a{display:block;width:44%;max-width:230px}
.hero-phones a:nth-child(2){margin-top:46px}
.hero-phones img{width:100%;height:auto;border-radius:22px;border:7px solid #11181B;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.hero-phones p{flex-basis:100%;text-align:center;margin:6px 0 0;font-size:.92rem;color:#E4ECE6}.hero-phones p a{display:inline;width:auto;color:#fff;font-weight:700}
@media (max-width:820px){.hero.photo{padding:56px 0 64px}.hero-phones a{width:42%}.hero-phones a:nth-child(2){margin-top:30px}}
.rung-title{font-size:1.75rem;font-weight:700}
.cta-band .wrap>div{max-width:640px}.cta-band h2{max-width:none}.cta-band p{margin:.6em 0 0;font-size:1.05rem}
