/* The Plant Guys — site-specific styles (after base.css) */

/* Fonts: latin subsets declared here instead of a css2 <link> (faster first paint) */
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:700 800;font-stretch:100%;font-display:optional;src:url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGIInE.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400 600;font-display:optional;src:url(https://fonts.gstatic.com/s/sourcesans3/v20/nwpStKy2OAdR1K-IwhWudF-R3w8aZQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

body{font-size:1.0625rem}
h1,h2,h3{font-weight:800;letter-spacing:-.02em}
h2{font-size:clamp(1.85rem,1.4rem + 2vw,2.8rem)}
.btn{font-weight:600}

/* Header */
.brand{gap:.55em;font-size:1.2rem;color:var(--pine)}
.brand img{height:38px;width:auto}
.nav a{color:var(--ink)}
.site-header .btn-primary{padding:.65em 1.05em}
.header-call{display:none;min-height:44px;margin-left:auto}
@media(max-width:860px){.header-call{display:inline-flex}.site-header .container{gap:var(--s-3)}}
@media(max-width:479px){.hero-panel .cluster .btn{width:100%}}

/* Hero: own photo, solid panel. Stacked on phones, overlapping on wide screens */
.hero-tpg{padding:0;position:relative;background:var(--sage)}
.hero-tpg .hero-img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.hero-panel{background:#fff;padding:var(--s-6) var(--gutter) var(--s-7)}
.hero-panel h1{font-size:clamp(2.1rem,1.5rem + 3vw,3.6rem);line-height:1.04;margin-bottom:var(--s-4);max-width:15ch}
.hero-panel .lede{color:var(--ink-2);font-size:clamp(1.05rem,1rem + .3vw,1.2rem);margin-bottom:var(--s-5)}
.hero-panel .cluster{gap:var(--s-3)}
.hero-panel .owner{margin-top:var(--s-5);font-size:var(--fs-sm);color:var(--ink-2);display:flex;gap:.6em;align-items:center}
.hero-panel .owner img{width:22px;height:auto;flex:none}
@media(min-width:900px){
  .hero-tpg{min-height:min(84vh,760px);display:flex;align-items:flex-end}
  .hero-tpg .hero-img{position:absolute;inset:0;height:100%;aspect-ratio:auto}
  .hero-tpg .container{position:relative;padding-block:var(--s-8) var(--s-7)}
  .hero-panel{max-width:640px;padding:var(--s-7) var(--s-7) var(--s-6);border-radius:var(--radius);box-shadow:0 18px 50px -24px rgba(23,37,26,.55)}
}
@media(max-width:899px){.hero-tpg .container{width:100%}}

/* Services: editorial rows + one photo */
.services-wrap{display:grid;gap:var(--s-7);grid-template-columns:minmax(0,1fr)}
@media(min-width:960px){.services-wrap{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start}}
.list-rows li{grid-template-columns:minmax(0,1fr)}
.list-rows h3{font-size:1.3rem}
.list-rows p{font-size:1rem;max-width:58ch}
figure{margin:0}
figcaption{font-size:var(--fs-sm);color:var(--ink-2);margin-top:var(--s-2);max-width:48ch}
.photo{width:100%;height:auto;border-radius:var(--radius);object-fit:cover}
.services-wrap figure{position:sticky;top:calc(var(--header-h) + 1.5rem)}
@media(max-width:959px){.services-wrap figure{position:static}}

/* The plan sheet: the one loud moment */
.plan{background:var(--sage)}
.plan-grid{display:grid;gap:var(--s-7);grid-template-columns:minmax(0,1fr)}
@media(min-width:960px){.plan-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center}}
.sheet{position:relative;background-color:var(--paper);background-image:linear-gradient(rgba(29,91,39,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(29,91,39,.07) 1px,transparent 1px);background-size:22px 22px;border:1px solid #c9d3c4;border-radius:3px;padding:clamp(1.5rem,4vw,2.75rem);box-shadow:0 1px 0 #c9d3c4,0 24px 48px -30px rgba(23,37,26,.45);transform:rotate(-.6deg)}
.sheet::before{content:"";position:absolute;inset:10px;border:1.5px solid rgba(122,69,38,.35);pointer-events:none;border-radius:2px}
.sheet h2{font-size:clamp(1.7rem,1.3rem + 1.8vw,2.5rem);margin-bottom:var(--s-2)}
.sheet .sub{color:var(--accent);font-weight:600;margin-bottom:var(--s-5)}
.ledger{list-style:none;margin:0;padding:0}
.ledger li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:.75em;padding:.7em 0;border-bottom:1px dashed rgba(122,69,38,.45);align-items:start}
.ledger li:last-child{border-bottom:0}
.ledger svg{width:22px;height:22px;color:var(--leaf);margin-top:.1em}
.ledger strong{font-weight:600}
.titleblock{margin-top:var(--s-5);border-top:1.5px solid rgba(122,69,38,.5);padding-top:var(--s-3);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s-2) var(--s-5);font-size:var(--fs-sm);color:var(--ink-2)}
.plan-side p{max-width:52ch}
.plan-side figure{margin-top:var(--s-6)}

/* Recent work strip */
.work-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:var(--s-5);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--s-4)}
.work-strip figure{scroll-snap-align:start}
.work-strip img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;border-radius:var(--radius)}
@media(min-width:1100px){.work-strip{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}}
.section-head p{color:var(--ink-2)}

/* Reviews */
.reviews-grid{display:grid;gap:var(--s-7);grid-template-columns:minmax(0,1fr)}
@media(min-width:960px){.reviews-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}
.pullquote{font-size:clamp(1.35rem,1.1rem + 1.1vw,1.9rem);max-width:30ch;font-weight:700;letter-spacing:-.01em}
.who{color:var(--accent);font-weight:600;font-size:var(--fs-sm);margin-top:var(--s-4)}
.quotes{display:grid;gap:var(--s-5)}
.quotes blockquote{margin:0;padding-left:var(--s-4);border-left:3px solid var(--leaf)}
.quotes blockquote p{margin-bottom:.4em}

/* Area + contact */
.area{background:var(--pine);color:#e6ede4}
.area h2,.area h3{color:#fff}
.area a{color:#fff}
.area .lede{color:#cbd6c8}
.area-grid{display:grid;gap:var(--s-7);grid-template-columns:minmax(0,1fr)}
@media(min-width:960px){.area-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.towns{list-style:none;padding:0;margin:var(--s-4) 0 var(--s-6);display:flex;flex-wrap:wrap;gap:.5em}
.towns li{border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:.3em .85em;font-size:var(--fs-sm)}
.season{border-top:1px solid rgba(255,255,255,.18);padding-top:var(--s-5);margin-top:var(--s-6)}
.contact-lines{display:grid;gap:var(--s-3);margin-top:var(--s-5)}
.contact-lines a{font-weight:600;text-decoration:none;font-size:1.15rem}
.contact-lines a:hover{text-decoration:underline}
.estimate{background:#fff;color:var(--ink);border-radius:var(--radius);padding:clamp(1.5rem,3vw,2.25rem)}
.estimate h3{color:var(--pine);font-size:1.5rem}
.estimate p{color:var(--ink-2)}
.estimate .btn{justify-self:start}
.area .estimate a{color:var(--brand)}

/* Footer */
.site-footer{background:#0f1a11}
.site-footer .brand img{height:32px}
