/* Bushwacked Paint & Renovations — site styles (design plan in brand.md §6) */

body{font-size:1.06rem}
h1,h2,h3{letter-spacing:0;font-weight:800}
h2{font-size:clamp(2rem,1.4rem + 2.6vw,3.3rem);line-height:1}
.lede{color:var(--ink-2)}

/* Header */
.site-header{background:#fff;border-bottom:2px solid var(--ink)}
.brand img{height:44px;width:44px;border-radius:2px;background:var(--ink)}
.wordmark{display:flex;flex-direction:column;line-height:1}
.wordmark b{font-family:var(--font-display);font-weight:800;font-size:1.45rem;text-transform:uppercase;letter-spacing:.02em}
.wordmark small{font-family:var(--font-body);font-weight:600;font-size:.78rem;color:var(--ink-2);margin-top:.15rem}
.nav a{font-size:1rem;font-weight:600;color:var(--ink)}
.header-call{display:none;padding:.65em 1em;min-height:44px}
@media(max-width:860px){
  .header-call{display:inline-flex;margin-left:auto}
  .site-header .container{gap:var(--s-2)}
}
@media(max-width:400px){.wordmark small{display:none}}

/* Hero: real job photo + "yard sign" panel overlapping its lower-left corner */
.hero-job{position:relative;padding-bottom:var(--section)}
.hero-photo{width:100%;height:min(66vh,600px);object-fit:cover;object-position:50% 40%;display:block}
.sign{position:relative;background:#fff;max-width:760px;margin-top:-9rem;padding:clamp(1.5rem,3.5vw,2.75rem) clamp(1.25rem,3.5vw,2.75rem) 0 0}
.sign{box-shadow:calc(-1 * var(--gutter)) 0 0 #fff}
.sign h1{font-size:clamp(2.6rem,1.6rem + 4.6vw,5.4rem);line-height:.95;margin-bottom:var(--s-5)}
.sign h1::after{content:"";display:block;width:5rem;height:.45rem;background:var(--accent);margin-top:1.1rem}
.sign .lede{font-size:clamp(1.12rem,1rem + .4vw,1.3rem);margin-bottom:var(--s-5)}
.proof{display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-6);margin:var(--s-6) 0 0;padding-top:var(--s-4);border-top:1px solid var(--line)}
.proof div{display:grid;gap:.1rem}
.proof dt{font-size:.85rem;color:var(--ink-2)}
.proof dd{margin:0;font-weight:600}
@media(min-width:900px){
  .sign{max-width:none;margin-right:calc(-1 * var(--gutter));padding-right:clamp(1.5rem,3vw,2.75rem)}
  .sign h1{max-width:19ch}
  .sign-body{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--s-7);align-items:end}
  .sign-body .lede{max-width:46ch}
  .sign .proof{flex-direction:column;gap:var(--s-4);margin:0;padding:0 0 0 var(--s-5);border-top:0;border-left:2px solid var(--ink)}
  .sign .proof dd{font-size:1.15rem}
}
@media(max-width:700px){
  .hero-photo{height:min(40vh,300px);min-height:220px}
  .sign{margin-top:-2.5rem;padding:1.25rem 1rem 0 0}
  .sign h1{font-size:clamp(2.3rem,9.5vw,3rem)}
  .hero-job .btn-lg{padding:.85em 1.2em;font-size:1.05rem}
}

/* Job ledger */
.ledger-section{background:var(--bg-alt)}
.ledger-head{display:none}
.ledger{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.ledger li{display:grid;gap:var(--s-2) var(--s-6);padding:var(--s-5) 0;border-bottom:1px solid #c9c6bf}
.ledger h3{font-size:clamp(1.35rem,1.15rem + .8vw,1.75rem);line-height:1.05;margin:0}
.ledger li>p{margin:0;color:var(--ink)}
.ledger blockquote{margin:0}
.ledger blockquote p{font-family:var(--font-display);font-weight:700;font-size:1.3rem;line-height:1.15;margin:0}
.ledger blockquote footer{color:var(--ink-2);font-size:.92rem;margin-top:.35rem}
@media(min-width:900px){
  .ledger-head{display:grid;grid-template-columns:1fr 1.15fr 1.25fr;gap:var(--s-6);font-size:.9rem;color:var(--ink-2);padding-bottom:var(--s-2)}
  .ledger li{grid-template-columns:1fr 1.15fr 1.25fr;align-items:start}
}

/* Services */
.service-cols{display:grid;gap:var(--s-7);grid-template-columns:1fr}
@media(min-width:880px){.service-cols{grid-template-columns:1fr 1.35fr}}
.col-title{font-size:1.6rem;margin-bottom:var(--s-3)}
.list-rows{border-top:2px solid var(--ink)}
.list-rows li{grid-template-columns:1fr}
.list-rows h4{font-family:var(--font-body);font-size:1.08rem;font-weight:600;margin:0}
.work-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:var(--s-3);overflow-x:auto;scroll-snap-type:x mandatory;margin-top:var(--s-8);padding-bottom:var(--s-2)}
.work-strip figure{margin:0;scroll-snap-align:start}
.work-strip img{width:100%;aspect-ratio:4/5;object-fit:cover}
.work-strip figcaption{font-size:.9rem;color:var(--ink-2);margin-top:.4rem}

/* Realtors / landlords */
.realtors{border-top:2px solid var(--ink)}
.realtors .split{align-items:start}
.pullquote{font-size:clamp(1.7rem,1.3rem + 1.6vw,2.5rem);font-weight:700;line-height:1.1;max-width:22ch}
.realtors h2{font-size:clamp(1.8rem,1.4rem + 1.6vw,2.5rem)}

/* Areas */
.areas-section{background:var(--ink);color:#fff}
.areas-section .lede{color:#cfcdc8}
.areas{display:grid;gap:var(--s-5) var(--s-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));margin:0}
.areas div{border-top:2px solid #fff;padding-top:var(--s-3)}
.areas dt{font-family:var(--font-display);font-weight:800;font-size:1.4rem;margin-bottom:.35rem}
.areas dd{margin:0;color:#e4e2dd}

/* Contact */
.contact-section .split{align-items:start}
.big-phone{font-family:var(--font-display);font-weight:800;font-size:clamp(2.4rem,1.8rem + 2.6vw,3.6rem);line-height:1;margin:var(--s-5) 0}
.big-phone a{color:var(--brand);text-decoration:none}
.contact-list{display:grid;gap:var(--s-3);margin:0}
.contact-list div{display:grid;grid-template-columns:4.5rem 1fr;gap:var(--s-3)}
.contact-list dt{color:var(--ink-2)}
.contact-list dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.form{background:var(--bg-alt);padding:clamp(1.25rem,3vw,2rem)}
.form input,.form textarea,.form select{border-color:#bdbab3;min-height:44px}

/* Footer */
.site-footer .brand img{height:40px;width:40px;background:transparent}
.footer-h{font-family:var(--font-body);font-size:.95rem;font-weight:600;color:#fff;margin-bottom:var(--s-3)}
.site-footer p{color:#cfd3d8}
