:root{--green:#14532d;--green-2:#166534;--green-3:#1f7a45;--green-soft:#e8f3ec;--orange:#c2410c;--orange-dk:#9a3412;--orange-bright:#f97316;--orange-soft:#fff3e8;--ink:#17201b;--muted:#4b5a51;--line:#d9e2dc;--bg:#fbfaf6;--white:#fff;--radius:14px;--shadow:0 6px 24px rgba(20,83,45,.10)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;font-size:17px}
img,svg{max-width:100%;height:auto}
a{color:var(--green-2)}
a:hover{color:var(--orange-dk)}
h1,h2,h3{line-height:1.2;color:var(--green);margin:0 0 .5em}
h1{font-size:clamp(1.8rem,5.5vw,2.8rem);letter-spacing:-.02em}
h2{font-size:clamp(1.35rem,3.8vw,1.9rem);margin-top:1.6em}
h3{font-size:1.15rem}
p{margin:0 0 1em}
.wrap{max-width:1120px;margin:0 auto;padding:0 18px}
.narrow{max-width:780px}
.skip{position:absolute;left:-999px}
.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:9}
/* disclosure bar */
.disclose{background:var(--green);color:#e9f6ee;font-size:.86rem;text-align:center;padding:7px 12px}
.disclose a{color:#fff}
/* header */
.site-head{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px}
.brand{display:flex;align-items:center;text-decoration:none}
.brand img{height:40px;width:auto;max-width:72vw}
.nav{display:none;gap:18px;align-items:center}
.nav a{text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem}
.nav a:hover{color:var(--orange-dk)}
.menu-btn{background:none;border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:.95rem;font-weight:600;color:var(--green)}
.mobile-nav{display:none;border-top:1px solid var(--line);padding:8px 0 14px}
.mobile-nav.open{display:block}
.mobile-nav a{display:block;padding:10px 4px;text-decoration:none;color:var(--ink);font-weight:600;border-bottom:1px solid #f0f2f0}
@media(min-width:860px){.nav{display:flex}.menu-btn,.mobile-nav,.mobile-nav.open{display:none}}
/* buttons */
.btn{display:inline-block;background:var(--orange);color:#fff;border:0;border-radius:12px;padding:14px 22px;font-weight:700;font-size:1.05rem;text-decoration:none;cursor:pointer;text-align:center;box-shadow:0 3px 0 var(--orange-dk)}
.btn:hover{background:#ea6a0c;color:#fff}
.btn:focus-visible,.menu-btn:focus-visible{outline:3px solid var(--orange-dk);outline-offset:2px}
.btn-sm{padding:9px 14px;font-size:.92rem;box-shadow:none}
.btn-ghost{background:#fff;color:var(--green);border:2px solid var(--green);box-shadow:none}
.btn-ghost:hover{background:var(--green-soft);color:var(--green)}
.btn-block{display:block;width:100%}
/* hero */
.hero{background:linear-gradient(160deg,#f1f8f3 0%,#fbfaf6 60%);padding:28px 0 36px}
.hero-grid{display:grid;gap:26px}
@media(min-width:960px){.hero-grid{grid-template-columns:1.05fr .95fr;align-items:start;padding-top:18px}}
.eyebrow{display:inline-block;background:var(--orange-soft);color:var(--orange-dk);font-weight:700;font-size:.85rem;padding:4px 10px;border-radius:99px;margin-bottom:12px}
.lead{font-size:1.13rem;color:var(--muted)}
.checks{list-style:none;padding:0;margin:0 0 1.2em}
.checks li{padding-left:30px;position:relative;margin:.45em 0}
.checks li:before{content:"";position:absolute;left:0;top:.3em;width:20px;height:20px;border-radius:50%;background:var(--green-3) 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}
.note{background:#fff;border:1px solid var(--line);border-left:5px solid var(--orange);border-radius:10px;padding:12px 14px;font-size:.95rem;color:var(--muted)}
.note strong{color:var(--ink)}
/* sections */
.section{padding:34px 0}
.section.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.grid{display:grid;gap:16px}
@media(min-width:640px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}
@media(min-width:640px) and (max-width:959px){.grid-4{grid-template-columns:1fr 1fr}}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.card h3{margin-bottom:.3em}
.card p:last-child{margin-bottom:0}
a.card{text-decoration:none;color:var(--ink);display:block;transition:border-color .15s,box-shadow .15s}
a.card:hover{border-color:var(--orange);box-shadow:var(--shadow);color:var(--ink)}
.steps-list{counter-reset:s;list-style:none;padding:0;margin:0}
.steps-list li{counter-increment:s;position:relative;padding:4px 0 14px 50px}
.steps-list li:before{content:counter(s);position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;background:var(--green);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.pill-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.pill-list a,.pill-list span{display:inline-block;padding:7px 12px;border-radius:99px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--green);font-weight:600;font-size:.93rem}
.pill-list a:hover{border-color:var(--orange);color:var(--orange-dk)}
.crumbs{font-size:.88rem;color:var(--muted);padding:14px 0 0}
.crumbs a{color:var(--muted)}
.page-head{padding:10px 0 6px}
.two-col{display:grid;gap:28px}
@media(min-width:960px){.two-col{grid-template-columns:1.25fr .9fr;align-items:start}.sticky{position:sticky;top:84px}}
table.price{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}
table.price th,table.price td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line)}
table.price th{background:var(--green-soft);color:var(--green)}
table.price td.amt{font-weight:800;color:var(--orange-dk);white-space:nowrap}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:10px 0}
.faq summary{cursor:pointer;font-weight:700;color:var(--green)}
.faq details p{margin:.6em 0 0}
.draft{background:#fff7ed;border:1px dashed var(--orange-dk);padding:12px 14px;border-radius:10px;color:#7c2d12}
.source{font-size:.85rem;color:var(--muted)}
/* form */
.form-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:20px}
.form-card h2{margin-top:0;font-size:1.4rem}
.form-sub{color:var(--muted);font-size:.95rem;margin-top:-.3em}
.progress{display:flex;gap:6px;margin:6px 0 16px}
.progress span{flex:1;height:6px;border-radius:6px;background:#e5ebe7}
.progress span.on{background:var(--orange)}
.step-label{font-size:.85rem;font-weight:700;color:var(--orange-dk);text-transform:uppercase;letter-spacing:.04em}
fieldset{border:0;padding:0;margin:0 0 14px}
legend{font-weight:700;color:var(--ink);margin-bottom:8px;padding:0}
label{font-weight:600;display:block;margin-bottom:4px}
.field{margin-bottom:14px}
.hint{font-weight:400;color:var(--muted);font-size:.88rem}
input[type=text],input[type=email],input[type=tel],input[type=url],input[type=date],select,textarea{width:100%;font:inherit;font-size:16px;padding:12px;border:1.5px solid #c5d1c9;border-radius:10px;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--green-3);box-shadow:0 0 0 3px rgba(31,122,69,.18)}
textarea{min-height:96px;resize:vertical}
input[type=file]{font-size:.95rem;width:100%}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.opt{position:relative}
.opt input{position:absolute;opacity:0;width:1px;height:1px}
.opt span{display:block;border:1.5px solid #c5d1c9;border-radius:10px;padding:11px 10px;font-weight:600;font-size:.95rem;cursor:pointer;background:#fff;min-height:48px;line-height:1.3}
.opt span small{display:block;font-weight:400;color:var(--muted);font-size:.8rem}
.opt input:checked+span{border-color:var(--green-3);background:var(--green-soft);box-shadow:inset 0 0 0 1px var(--green-3)}
.opt input:focus-visible+span{outline:3px solid var(--orange-dk)}
.size-opts{grid-template-columns:1fr 1fr}
.consent{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.93rem;background:var(--green-soft);padding:12px;border-radius:10px}
.consent input{margin-top:4px;width:20px;height:20px;flex:none}
.form-nav{display:flex;gap:10px;margin-top:6px}
.form-nav .btn{flex:1}
.err{color:#b91c1c;font-size:.9rem;font-weight:600;margin:6px 0 0;min-height:1em}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.js .step{display:none}
.js .step.active{display:block}
.no-js-only{display:block}
.js .no-js-only{display:none}
.form-fine{font-size:.82rem;color:var(--muted);margin-top:10px}
/* footer */
.site-foot{background:var(--green);color:#d6eadc;padding:34px 0 24px;margin-top:40px;font-size:.93rem}
.site-foot a{color:#fff}
.foot-grid{display:grid;gap:22px}
@media(min-width:760px){.foot-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.site-foot h3{color:#fff;font-size:1rem;margin-bottom:.6em}
.site-foot ul{list-style:none;padding:0;margin:0}
.site-foot li{margin:.3em 0}
.foot-legal{border-top:1px solid rgba(255,255,255,.18);margin-top:22px;padding-top:14px;font-size:.85rem;color:#b9d6c3}
.sticky-cta{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);padding:10px 14px;z-index:6;box-shadow:0 -4px 14px rgba(0,0,0,.06)}
.sticky-cta .btn{display:block;width:100%;padding:12px}
@media(min-width:860px){.sticky-cta{display:none}}
body.has-sticky{padding-bottom:72px}
@media(min-width:860px){body.has-sticky{padding-bottom:0}}
.center{text-align:center}
.mt0{margin-top:0}
/* ---- v1.1 polish ---- */
.ico{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-5px}
.ico-sm{width:17px;height:17px;vertical-align:-3px;margin-right:6px}
.eyebrow .ico-sm{margin-right:5px}
.ico-badge{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:var(--green-soft);color:var(--green-2);flex:none}
.ico-badge .ico{width:24px;height:24px}
.ico-badge-orange{background:var(--orange-soft);color:var(--orange-dk)}
.ico-badge-lg{width:56px;height:56px;border-radius:14px;margin-bottom:12px}
.ico-badge-lg .ico{width:30px;height:30px}
/* hero: mobile = headline, form, art, rest; desktop = left text/art, right form */
.hero{padding:22px 0 40px;background:radial-gradient(1200px 400px at 85% -10%,#ffedd5 0%,rgba(255,237,213,0) 60%),linear-gradient(180deg,#eef7f1 0%,#fbfaf6 100%)}
.hero-grid{display:grid;gap:20px;grid-template-areas:"head" "form" "art" "rest"}
.hero-head{grid-area:head}.hero-form{grid-area:form}.hero-art{grid-area:art}.hero-rest{grid-area:rest}
.hero-head .lead{margin-bottom:0}
.hero-art img{display:block;width:100%;height:auto;aspect-ratio:560/340;border-radius:20px;box-shadow:0 10px 30px rgba(20,83,45,.10)}
@media(min-width:960px){
 .hero{padding:34px 0 54px}
 .hero-grid{grid-template-columns:1.05fr .95fr;grid-template-areas:"head form" "art form" "rest form";column-gap:40px;row-gap:22px;align-items:start;grid-template-rows:auto auto 1fr}
 .hero-form{position:sticky;top:84px}
}
/* option buttons with icons */
.opt-ico span{display:flex;align-items:center;gap:8px}
.opt-ico .ico{color:var(--green-3)}
.opt-ico input:checked+span .ico{color:var(--green)}
/* sections */
.section{padding:48px 0}
.section.tint{background:linear-gradient(180deg,#f1f8f3,#f7fbf8);border-top:1px solid #e3eee7;border-bottom:1px solid #e3eee7}
.section.alt{background:#fff}
.sec-head{max-width:680px;margin:0 auto 24px;text-align:center}
.sec-head .lead{margin:0}
.card{border-radius:16px;padding:22px;box-shadow:0 1px 2px rgba(20,83,45,.04)}
.card-svc{display:flex !important;gap:14px;align-items:flex-start}
.card-svc h3{margin-top:2px}
.card-feature .ico-badge{margin-bottom:12px}
.card-feature h3{font-size:1.2rem}
.free-grid{gap:18px}
@media(min-width:760px){.free-grid{grid-template-columns:1fr 1fr}}
.checks-sm li{margin:.3em 0;font-size:.97rem}
.how-grid{display:grid;gap:16px;margin-top:8px}
@media(min-width:760px){.how-grid{grid-template-columns:repeat(3,1fr)}}
.how-step{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;position:relative}
.how-step .num{display:inline-flex;width:36px;height:36px;border-radius:50%;background:var(--green);color:#fff;font-weight:800;align-items:center;justify-content:center;margin-bottom:10px}
.how-step p{margin:0;color:var(--muted)}
.tip{display:flex;gap:14px;align-items:flex-start;background:var(--orange-soft);border:1px solid #fed7aa;border-radius:16px;padding:18px;margin:28px 0 8px}
.tip h2{font-size:1.2rem}
.tip p{margin:0}
.source{display:block;margin-top:.4em}
.pill-list a{display:inline-flex;align-items:center}
.page-head{padding:14px 0 8px}
.two-col h2{margin-top:1.4em}
.faq details{transition:border-color .15s}
.faq details[open]{border-color:#bfd8c7}
/* ---------- v1.2: simpler home, focused quote flow ---------- */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ico-lg{width:30px;height:30px}
.ico-xl{width:44px;height:44px;stroke-width:1.6}
.h2-hero{background:#fff;padding:34px 0 30px;border-bottom:1px solid var(--line)}
.h2-grid{display:grid;gap:24px;align-items:center}
.h2-art{display:none}
.big-q{font-size:2.15rem;line-height:1.12;letter-spacing:-.02em;margin:6px 0 10px;color:var(--green)}
.h2-main .lead{margin:0 0 18px}
.search{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#fff;border:2px solid var(--green);border-radius:16px;padding:8px;box-shadow:0 6px 22px rgba(20,83,45,.10)}
.search-box{grid-column:1/-1;position:relative}
.search-box .s-ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.search input{width:100%;border:0;background:var(--bg);border-radius:10px;font-size:1.1rem;min-height:54px;padding:12px 14px;box-shadow:none}
.search-box input{padding-left:44px}
.search input:focus{outline:2px solid var(--green-3);outline-offset:0}
.search-btn{width:100%;min-height:54px;padding:10px 12px;font-size:1.05rem}
.chips{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-block;padding:8px 14px;border-radius:99px;background:var(--green-soft);color:var(--green);font-weight:600;font-size:.95rem;text-decoration:none;min-height:40px;line-height:24px}
.chip:hover{background:#d6ebde}
@media(min-width:700px){.search{grid-template-columns:1fr 150px auto}.search-box{grid-column:auto}.search-btn{width:auto;padding:10px 22px}}
@media(min-width:960px){.h2-hero{padding:64px 0 60px}.h2-grid{grid-template-columns:1.15fr .85fr;gap:40px}.h2-art{display:block}.big-q{font-size:3.1rem}}
.band{padding:40px 0}
.band-tint{background:var(--green-soft)}
.band-title{text-align:center;font-size:1.45rem;margin:0 0 20px}
.band-note{text-align:center;color:var(--muted);font-size:.95rem;margin:16px auto 0;max-width:560px}
.band-note .ico{color:var(--green-3)}
.tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:112px;padding:14px 6px;background:#fff;border:1.5px solid var(--line);border-radius:16px;text-decoration:none;color:var(--ink);font-weight:700;font-size:.98rem;text-align:center;transition:border-color .15s,transform .15s}
.tile .ico{color:var(--green-3)}
.tile:hover{border-color:var(--orange);transform:translateY(-2px)}
.tiles li:last-child:nth-child(3n+1){grid-column:1/-1}
.tiles li:last-child:nth-child(3n+1) .tile{flex-direction:row;min-height:64px}
@media(min-width:760px){.tiles{grid-template-columns:repeat(7,1fr)}.tiles li:last-child:nth-child(3n+1){grid-column:auto}.tiles li:last-child:nth-child(3n+1) .tile{flex-direction:column;min-height:132px}.tile{min-height:132px}}
.strip{list-style:none;margin:0 auto;padding:0;display:grid;gap:12px;max-width:980px}
.strip li{display:flex;gap:14px;align-items:center;background:#fff;border-radius:14px;padding:16px}
.strip .ico{color:var(--orange-dk);flex:none}
.strip b{display:block;font-size:1.05rem}
.strip span{color:var(--muted);font-size:.95rem}
@media(min-width:760px){.strip{grid-template-columns:repeat(3,1fr)}.strip li{flex-direction:column;text-align:center;padding:22px 16px}}
.pill-center{justify-content:center}
.band-green{background:var(--green);color:#fff}
.hauler-cta{display:grid;gap:16px;align-items:center;text-align:center}
.hauler-cta h2{color:#fff;margin:8px 0 6px}
.hauler-cta p{margin:0;color:#d6ebde}
.hauler-cta .ico{color:#fdba74}
@media(min-width:760px){.hauler-cta{grid-template-columns:1fr auto;text-align:left}}
/* start card (city + service pages) */
.start-card{margin:16px 0 4px;background:#fff;border:2px solid var(--green);border-radius:16px;padding:14px;box-shadow:0 6px 22px rgba(20,83,45,.08);max-width:760px}
.sc-title{font-weight:800;font-size:1.15rem;color:var(--green);margin:0 0 10px}
.sc-row{display:grid;gap:10px}
.sc-field label{font-size:.9rem;margin-bottom:4px}
.sc-field select,.sc-field input{min-height:52px;font-size:1.05rem}
.sc-btn{width:100%;min-height:54px;display:flex;align-items:center;justify-content:center;gap:8px}
.sc-btn .ico{color:#fff}
.sc-fine{margin:8px 0 0;font-size:.85rem;color:var(--muted)}
@media(min-width:700px){.sc-row{grid-template-columns:1fr 160px auto;align-items:end}.sc-row:has(.sc-zip:first-child){grid-template-columns:200px auto}.sc-btn{width:auto}}
.content{padding-bottom:20px}
.end-cta .start-card{margin:28px auto 8px}
/* quote flow */
.quote-wrap{background:#fff;padding:18px 0 34px;min-height:70vh}
.flow-wrap{max-width:640px}
.flow-h1{font-size:1.55rem;margin:4px 0 4px;color:var(--green)}
.flow-sub{color:var(--muted);margin:0 0 16px}
.flow .progress{margin:0 0 14px;gap:6px}
.flow .progress span{height:8px}
.flow .progress span.on{background:var(--orange)}
.flow .step-label{font-size:.85rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.q{font-size:1.4rem;font-weight:800;color:var(--ink);margin:4px 0 6px;padding:0;line-height:1.25}
.flow legend.q{margin-bottom:6px}
.flow .field label{font-size:1rem}
.flow input.big,.flow select.big{min-height:56px;font-size:1.1rem}
.opts-big{grid-template-columns:1fr 1fr;gap:10px}
.opt-big span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;min-height:96px;border-radius:14px;font-size:1rem}
.opt-big .ico{color:var(--green-3)}
.opt-big input:checked+span .ico{color:var(--orange-dk)}
.opts-rows{grid-template-columns:1fr;gap:10px}
.opt-row span{min-height:64px;padding:14px 16px;border-radius:14px}
.opt-row b{display:block;font-size:1.05rem}
.flow .form-nav{margin-top:18px}
.flow .form-nav .btn{min-height:56px;font-size:1.1rem}
.flow .consent{font-size:.92rem}
.flow-note{margin:22px 0 0;color:var(--muted);font-size:.9rem}
.flow-note .ico{color:var(--green-3)}
@media(min-width:640px){.opts-big{grid-template-columns:repeat(3,1fr)}.flow-h1{font-size:1.9rem}}
html:not(.js) .form-nav [data-next],html:not(.js) .form-nav [data-back],html:not(.js) .flow .progress,html:not(.js) .step-label{display:none}
html:not(.js) .flow .step{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}
.site-foot.slim{padding:18px 0}
.crumbs{padding:14px 18px 0}
@media(min-width:960px){.h2-grid{grid-template-columns:1.35fr .65fr}.search{grid-template-columns:1fr 140px auto}}
.brand{min-width:0;flex:1 1 auto}.brand img{max-width:100%;height:auto;max-height:40px}
.menu-btn{flex:none}
.two-col>*,.grid>*{min-width:0}
fieldset{min-width:0}.opt span{overflow-wrap:anywhere}
/* v1.3: darker orange so white text passes WCAG AA (#c2410c on white 5.18:1; hover #9a3412 7.31:1) */
.btn:hover{background:var(--orange-dk);color:#fff}
.band-green .btn{box-shadow:0 0 0 2px #fff}
.band-green .btn:focus-visible{outline-color:#fff}
.nav a.btn,.nav a.btn:hover{color:#fff}
