/* Ground Pro site styles. Colours come from the truck decal (Evening Shade proof, 9/24/2026):
   green #102D11, orange #F47204, charcoal #1C252E. Fonts are served from /fonts/ (no outside font service). */
@font-face{font-family:Urbanist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/urbanist-latin-wght-normal.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:'Public Sans';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/public-sans-latin-wght-normal.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}
:root{--green:#102D11;--green-2:#1C4A1F;--char:#1C252E;--paper:#F4F3EE;--orange:#F47204;--orange-d:#DD6500;--orange-ink:#A84900;--ink:#161D18;--muted:#56615A;--line:#DFE3DF}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);background:#fff;line-height:1.55;overflow-x:hidden}
img{max-width:100%;height:auto}
h1,h2,h3,h4{font-family:Urbanist,system-ui,sans-serif;line-height:1.1;margin:0 0 .5em;color:var(--green)}
h1{font-size:clamp(2rem,4.5vw,3.2rem);font-weight:800}h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:700;margin-top:1.6em}h3{font-size:1.15rem;font-weight:700}
a{color:var(--green)}p{margin:0 0 1em}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}

/* header: the truck door. Colour logo on white, orange stripe, phone on a green band */
.nav{position:sticky;top:0;z-index:50;background:#fff;border-bottom:5px solid var(--orange)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:78px;max-width:1240px}
.nav .logo{display:flex;align-items:center;flex:0 0 auto;min-height:44px}
.nav .logo img{display:block;height:54px;width:auto}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.35rem;align-items:center}
.nav ul a{display:inline-flex;align-items:center;min-height:44px;color:var(--green);text-decoration:none;font-weight:700;font-size:.95rem;white-space:nowrap}
.nav ul a:hover{color:var(--orange-ink)}
.nav ul a.call{background:var(--green);color:#fff;padding:0 1.05rem;border-radius:5px;border-top:4px solid var(--orange);font-family:Urbanist,sans-serif;font-weight:800;letter-spacing:.08em;font-size:1rem}
.nav ul a.call:hover{background:var(--green-2);color:#fff}
.burger{display:none;background:none;border:0;color:var(--green);font-size:1.75rem;line-height:1;min-width:44px;min-height:44px;padding:0;cursor:pointer}
@media(max-width:1180px){
  .burger{display:block}
  .nav .wrap{height:66px}.nav .logo img{height:44px}
  .nav ul{display:none;position:absolute;left:0;right:0;top:calc(100% + 5px);background:var(--green);flex-direction:column;align-items:stretch;gap:0;padding:.3rem 24px 1.3rem;max-height:calc(100vh - 71px);max-height:calc(100dvh - 71px);overflow-y:auto;box-shadow:0 18px 30px rgba(0,0,0,.25)}
  .nav.open ul{display:flex}
  .nav ul a{display:flex;color:#fff;min-height:52px;font-size:1.05rem;border-bottom:1px solid rgba(255,255,255,.13)}
  .nav ul a:hover{color:#fff}
  .nav ul a.call{background:var(--orange);color:var(--green);justify-content:center;margin-top:1rem;border:0;min-height:54px;font-size:1.2rem}
  .nav ul a.call:hover{background:var(--orange);color:var(--green)}
}
@media(max-width:380px){.nav .logo img{height:40px}.nav .wrap{padding:0 16px}}

main.prose{padding:3.2rem 24px 4rem;max-width:1140px;margin:0 auto}
.lead{font-size:1.2rem;color:var(--muted);max-width:52rem}
.crumbs{font-size:.9rem;color:var(--muted)}.crumbs a{color:var(--muted);display:inline-block;padding:.75rem .15rem;margin:-.75rem 0}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin:1.2rem 0 2rem}
.card{display:block;border:1px solid var(--line);border-radius:10px;padding:1.2rem 1.25rem;text-decoration:none;color:inherit;background:#fff;transition:transform .15s,border-color .15s}
a.card:hover{transform:translateY(-2px);border-color:var(--orange)}
.card h3{margin-bottom:.35rem}.card p{margin:0;color:var(--muted);font-size:.95rem}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;background:var(--orange);color:var(--green);text-decoration:none;font-weight:800;padding:.6rem 1.4rem;border-radius:6px;border:0;font-family:Urbanist,sans-serif;font-size:1.05rem;cursor:pointer}
.btn:hover{background:var(--orange-d)}
.faq{border:1px solid var(--line);border-radius:8px;padding:0 1rem;margin:.6rem 0;max-width:52rem}
.faq summary{font-weight:600;cursor:pointer;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:1rem;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;color:var(--orange-ink);font-weight:400;flex:0 0 auto}
.faq[open] summary::after{content:"\2212"}
.faq p{margin:0 0 1rem;color:var(--muted)}
ul.pillars{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:1.5rem 0}
ul.pillars li{background:var(--paper);border-left:4px solid var(--orange);padding:.9rem 1rem;border-radius:6px}ul.pillars strong{display:block;color:var(--green);font-family:Urbanist,sans-serif}
.prose p a,.prose li a{font-weight:600}

/* form: 16px fields so iPhones do not zoom in on tap */
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;max-width:52rem;margin:1.4rem 0}
.form label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:.95rem;color:var(--char);min-width:0}
.form input,.form select,.form textarea{font:inherit;font-size:1rem;font-weight:400;min-height:48px;padding:.7rem .8rem;border:1px solid #c3cbc5;border-radius:6px;background:#fff;color:var(--ink);width:100%;min-width:0}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--orange);outline-offset:1px;border-color:var(--orange)}
.form label:has(textarea),.form button{grid-column:1/-1}
.form button{justify-self:start}
@media(max-width:640px){.form{grid-template-columns:1fr}.form button{justify-self:stretch}}

footer{background:var(--green);color:#D9E2D9;margin-top:3rem;padding:3rem 0 1.5rem;font-size:.95rem;border-top:6px solid var(--orange)}
footer .grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2rem;min-width:0}
footer .grid>div{min-width:0}
footer h4{color:#fff;margin-bottom:.6rem;letter-spacing:.06em;text-transform:uppercase;font-size:.9rem}
footer a{display:block;color:#D9E2D9;text-decoration:none;margin:.3rem 0;overflow-wrap:anywhere}
footer a[href]:hover{color:#fff;text-decoration:underline}
footer .logo img{height:auto;width:min(260px,100%);margin-bottom:.9rem;display:block}
footer .bottom{border-top:1px solid rgba(255,255,255,.16);margin-top:2rem;padding-top:1rem;color:#A9B8AA;font-size:.85rem}
@media(max-width:860px){footer .grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){footer .grid{grid-template-columns:1fr;gap:1.4rem}}
@media(max-width:1180px),(pointer:coarse){footer a[href]{padding:.7rem 0;margin:0}}

.hero-img{width:100%;height:auto;max-height:420px;object-fit:cover;border-radius:12px;margin:0 0 1.6rem;display:block;aspect-ratio:3/2}
@media(min-width:700px){.hero-img{aspect-ratio:auto;height:420px}}
main.prose .hero-img+h1,main.prose h1+.hero-img,main.prose picture+h1{margin-top:.2rem}

.legal{max-width:52rem}.legal h2{font-size:1.25rem;margin-top:1.6em}.legal ul{padding-left:1.2rem}.legal li{margin:.3rem 0}
