:root{
  --navy:#1b2430; --navy-2:#102943; --green:#2e8b4a; --green-soft:#7fd47f; --accent:#d45a3a;
  --bg:#ffffff; --bg-alt:#f3f6f4; --text:#1b2430; --muted:#586577; --line:#d9e1dc; --card:#ffffff;
  --link:#1b6a3a; --link-hover:#0f4d29; --shadow:0 1px 3px rgba(16,41,67,.12);
  --radius:10px; --maxw:1120px;
  color-scheme: light;
}
*{box-sizing:border-box}
html{font-size:100%;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:1.0625rem/1.65 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
img,svg,video{max-width:100%;height:auto}
a{color:var(--link);text-underline-offset:2px}
a:hover{color:var(--link-hover)}
h1,h2,h3,h4{line-height:1.25;margin:1.6em 0 .55em}
h1{font-size:clamp(1.7rem,4.5vw,2.4rem);margin-top:.2em}
h2{font-size:1.5rem}h3{font-size:1.25rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:.6rem 1rem;z-index:100}
.skip:focus{left:8px;top:8px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 16px}
.narrow{max-width:780px}
.preview-banner{background:#b3261e;color:#fff;text-align:center;font-weight:700;padding:.35rem .5rem;font-size:.9rem}
/* header */
.site-header{background:var(--navy);color:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.header-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.brand-link{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.brand-link img{border-radius:8px}
.brand-text{display:flex;flex-direction:column;line-height:1.15}
.brand-text strong{font-size:1.15rem}
.brand-text small{color:var(--green-soft);font-size:.78rem}
.nav{display:flex;gap:2px;align-items:center;flex-wrap:wrap;flex:1}
.nav a,.nav summary{color:#fff;text-decoration:none;padding:.5rem .75rem;border-radius:8px;cursor:pointer;list-style:none;font-size:1rem}
.nav a:hover,.nav summary:hover,.nav a[aria-current=page]{background:rgba(255,255,255,.14)}
.nav summary::-webkit-details-marker{display:none}
.nav summary::after{content:" \25BE"}
.nav-more{position:relative}
.nav-pop{position:absolute;right:0;top:100%;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.25);min-width:240px;padding:6px;display:flex;flex-direction:column;z-index:60}
.nav-pop a{color:var(--text);padding:.55rem .75rem}
.nav-pop a:hover{background:var(--bg-alt)}
.head-search{display:flex;gap:6px}
.head-search input{padding:.5rem .7rem;border-radius:8px;border:0;min-width:0;width:150px;font:inherit}
.head-search button{padding:.5rem .8rem;border-radius:8px;border:0;background:var(--green);color:#fff;font:inherit;cursor:pointer}
@media (max-width:760px){.head-search{width:100%}.head-search input{flex:1;width:auto}.brand-text small{display:none}.nav-pop{left:0;right:auto}}
/* main */
main{min-height:60vh;padding:18px 0 40px}
.hero-band{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;padding:34px 0 30px;margin:-18px 0 26px}
.hero-band h1{color:#fff;margin:0 0 .3em}
.hero-band p{max-width:46rem;color:#d7e3ee;font-size:1.15rem}
.btn{display:inline-block;background:var(--green);color:#fff;text-decoration:none;padding:.6rem 1rem;border-radius:9px;font-weight:600;margin:.2rem .3rem .2rem 0;border:2px solid var(--green);cursor:pointer;font:inherit;font-weight:600}
.btn:hover{background:#25703c;color:#fff}
.btn.ghost{background:transparent;color:var(--link);border-color:var(--link)}
.btn.ghost:hover{background:var(--bg-alt)}
.hero-band .btn.ghost{color:#fff;border-color:#fff}
.section-h{display:flex;justify-content:space-between;align-items:baseline;margin:1.6rem 0 .8rem}
.section-h h2{margin:0}
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.card-img{display:block;aspect-ratio:16/9;background:var(--bg-alt);overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover;display:block}
.card-body{padding:12px 14px 14px}
.card h3{font-size:1.1rem;margin:.1em 0 .3em}
.card h3 a{color:var(--text);text-decoration:none}
.card h3 a:hover{text-decoration:underline}
.kicker{margin:0;color:var(--green);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.kicker a{text-decoration:none}
.meta{color:var(--muted);font-size:.9rem;margin:.2em 0}
.excerpt{margin:.4em 0 0;font-size:.97rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.small{font-size:.9rem}.muted{color:var(--muted)}
.tools-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.tool{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;text-decoration:none;color:var(--text);display:block;box-shadow:var(--shadow)}
.tool strong{display:block;color:var(--link);font-size:1.05rem}
.tool span{color:var(--muted);font-size:.93rem}
.brand-strip{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
.brand-tile{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:10px;text-align:center;text-decoration:none;color:#1b2430;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;min-height:120px}
.brand-tile img{max-height:56px;width:auto;object-fit:contain}
.brand-tile span{font-size:.9rem;font-weight:600}
.brand-tile small{color:#586577}
/* articles */
.article-head{margin-bottom:1rem}
.hero{margin:0 0 1.2rem}
.hero img{width:100%;border-radius:var(--radius);display:block}
.prose{font-size:1.1rem}
.prose img{border-radius:8px;display:block;margin:1rem auto}
.prose table{border-collapse:collapse;width:100%;display:block;overflow-x:auto;margin:1rem 0}
.prose th,.prose td{border:1px solid var(--line);padding:.5rem .7rem;text-align:left;vertical-align:top}
.prose th{background:var(--bg-alt)}
.prose blockquote{border-left:4px solid var(--green);margin:1rem 0;padding:.2rem 1rem;color:var(--muted)}
.prose hr{border:0;border-top:1px solid var(--line);margin:2rem 0}
.callout{background:rgba(46,139,74,.1);border:1px solid rgba(46,139,74,.4);border-radius:8px;padding:.7rem 1rem;margin:1rem 0;font-size:.97rem}
.article-foot{margin-top:2rem;border-top:1px solid var(--line);padding-top:1rem}
.chip{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:.1rem .65rem;margin:.15rem .1rem;text-decoration:none;font-size:.88rem;background:var(--bg-alt)}
.back{margin-top:2rem}
.crumbs{font-size:.92rem;color:var(--muted);margin:.4rem 0 1rem}
.crumbs a{color:var(--muted)}
.pager{display:flex;gap:6px;flex-wrap:wrap;margin:1.6rem 0;justify-content:center}
.pager a,.pager span{padding:.4rem .75rem;border:1px solid var(--line);border-radius:8px;text-decoration:none;min-width:2.3rem;text-align:center}
.pager span.cur{background:var(--green);color:#fff;border-color:var(--green)}
/* mowers */
.mower-head{display:grid;gap:22px;grid-template-columns:minmax(0,320px) 1fr;align-items:start;margin-bottom:1rem}
.mower-img{width:100%;height:auto;border-radius:var(--radius);background:var(--bg-alt);object-fit:contain;aspect-ratio:1/1}
@media (max-width:720px){.mower-head{grid-template-columns:1fr}}
.facts{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin:1rem 0}
.facts div{background:var(--bg-alt);border:1px solid var(--line);border-radius:8px;padding:8px 12px}
.facts dt{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.facts dd{margin:0;font-size:1.2rem;font-weight:700}
.filters{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius);padding:12px;margin:1rem 0}
.filters label{display:flex;flex-direction:column;font-size:.85rem;color:var(--muted);gap:3px}
.filters input,.filters select,.input{padding:.5rem .6rem;border:1px solid var(--line);border-radius:8px;font:inherit;background:var(--card);color:var(--text);min-width:0}
.tbl-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);max-height:70vh}
table.matrix{border-collapse:collapse;width:100%;font-size:.95rem}
table.matrix th,table.matrix td{padding:.45rem .65rem;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
table.matrix thead th{position:sticky;top:0;background:var(--navy);color:#fff;cursor:pointer;z-index:2}
table.matrix tbody tr:nth-child(even){background:var(--bg-alt)}
table.matrix td.num,table.matrix th.num{text-align:right}
table.matrix td a{font-weight:600}
.cmp-panel{margin:1rem 0;overflow-x:auto}
.cmp-panel table{border-collapse:collapse;width:100%;min-width:520px}
.cmp-panel th,.cmp-panel td{border:1px solid var(--line);padding:.5rem .7rem;vertical-align:top;text-align:left}
.cmp-panel th[scope=row]{background:var(--bg-alt);width:150px}
.cmp-panel .best{background:rgba(46,139,74,.18);font-weight:700}
.result-count{color:var(--muted);margin:.4rem 0}
.quiz-form{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.quiz-form label{display:flex;flex-direction:column;gap:4px;font-weight:600}
/* directory */
.map{height:460px;border-radius:var(--radius);border:1px solid var(--line);z-index:1}
.small-map{height:300px}
.dir-layout{display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:900px){.dir-layout{grid-template-columns:1fr}.map{height:340px}}
.dir-list{list-style:none;padding:0;margin:0;max-height:560px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius)}
.dir-list li{padding:.6rem .8rem;border-bottom:1px solid var(--line)}
.dir-list li:last-child{border:0}
.dir-list a{font-weight:700}
.dir-list .sub{display:block;color:var(--muted);font-size:.9rem}
.place-grid{display:grid;gap:22px;grid-template-columns:1fr 1fr}
@media (max-width:800px){.place-grid{grid-template-columns:1fr}}
.place-addr{font-style:normal;margin:.4rem 0 .8rem;line-height:1.5}
.place-logo{max-height:80px;width:auto;background:#fff;padding:6px;border-radius:8px;border:1px solid var(--line);margin:.5rem 0}
.plain{list-style:none;padding:0}
/* videos / manuals / faq */
.vid-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.vid{display:block;text-decoration:none;color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.vid img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--bg-alt)}
.vid div{padding:8px 10px}.vid strong{display:block;font-size:.95rem;line-height:1.3}.vid small{color:var(--muted)}
.faq-item{border:1px solid var(--line);border-radius:var(--radius);margin:.6rem 0;background:var(--card)}
.faq-item summary{cursor:pointer;padding:.7rem 1rem;font-weight:700}
.faq-item div{padding:0 1rem 1rem}
.search-big{width:100%;font-size:1.1rem;padding:.7rem .9rem}
.yt-embed{aspect-ratio:16/9;background:#000;position:relative;margin:1rem 0;border-radius:8px;overflow:hidden}
.yt-embed button{all:unset;cursor:pointer;position:absolute;inset:0;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;background:rgba(0,0,0,.45)}
.yt-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* footer */
.site-footer{background:var(--navy-2);color:#cfdbe6;padding:30px 0}
.site-footer a{color:#cfe9d4}
.foot-grid{display:grid;gap:24px;grid-template-columns:1fr 1fr}
@media (max-width:700px){.foot-grid{grid-template-columns:1fr}}
.foot-links{list-style:none;padding:0;margin:0;columns:2}
.foot-links li{margin:.25rem 0}
.copy{margin-top:1.5rem;border-top:1px solid rgba(255,255,255,.15);padding-top:1rem}
/* pagefind */
#pf{--pagefind-ui-scale:1;--pagefind-ui-primary:var(--green);--pagefind-ui-text:var(--text);--pagefind-ui-background:var(--bg);--pagefind-ui-border:var(--line);--pagefind-ui-tag:var(--bg-alt)}
.prose .glossary-term{margin:1.2rem 0}

/* ---- light theme only, matching the old WordPress look ---- */
:root{--bg:#fff;--bg-alt:#f5f6f7;--text:#111;--muted:#555;--line:#e0e0e0;--card:#fff;--link:#00695c;--link-hover:#004d40;--teal:#00695c;--red:#00695c;--shadow:none}
body{background:#fff;color:#111}
.site-header{background:#fff;color:#111;border-bottom:1px solid #e8e8e8;box-shadow:none;position:static}
.header-row{padding-top:14px;padding-bottom:0;align-items:center}
.brand-link{color:#111}
.brand-link img{border-radius:0;width:64px;height:64px}
.brand-text strong{font:700 2.1rem/1.1 Georgia,"Times New Roman",serif;color:#111}
.brand-text small{color:#666;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin-top:4px}
.nav{flex-basis:100%;order:3;border-top:1px solid var(--line);margin-top:10px}
.nav a,.nav summary{color:#444;text-transform:uppercase;font-size:.8rem;letter-spacing:.06em;font-weight:600;border-radius:0;padding:.85rem .9rem}
.nav a:hover,.nav summary:hover,.nav a[aria-current=page]{background:transparent;color:var(--teal);box-shadow:none}
.head-search{margin-left:auto}
.head-search input{border:1px solid #bbb;background:#fff;color:#111}
.head-search button,.btn{background:#00695c;border-color:#00695c;color:#fff}
.btn:hover,.head-search button:hover{background:#004d40;color:#fff}
.btn.ghost{background:#fff;color:#00695c}
.btn.ghost:hover{background:#e0f2f1}
.nav-pop{background:#fff;color:#111}
.nav-pop a{color:#111;text-transform:none;letter-spacing:0;font-size:.95rem;font-weight:400}
.nav-pop a:hover{background:#f5f6f7;box-shadow:none}
.hero-band{background:#f5f6f7;color:#111;border-bottom:1px solid var(--line)}
.hero-band h1{color:#111;font-family:Georgia,"Times New Roman",serif}
.hero-band p{color:#333}
.hero-band .btn.ghost{color:#00695c;border-color:#00695c;background:#fff}
.kicker,.kicker a{display:inline-block;background:var(--teal);color:#fff;font-size:.68rem;padding:.15rem .5rem;border-radius:2px;text-decoration:none}
.kicker a+a{margin-left:4px}
.card{border:1px solid var(--line);box-shadow:none;border-radius:2px}
.card h3,.card h3 a{color:#111;font-family:Georgia,"Times New Roman",serif}
h1,h2,h3{color:#111}
.article-head h1{font-family:Georgia,"Times New Roman",serif}
a{color:#00695c}a:hover{color:#004d40}
.meta,.excerpt,.muted{color:#555}
table.matrix thead th{background:#f0f0f0;color:#111;border-bottom:1px solid #ccc}
table.matrix tbody tr:nth-child(even){background:#fafafa}
.cmp-panel .best{background:#e0f2f1}
.callout{background:#e8f5f3;border-color:#80cbc4;color:#111}
.chip{background:#f5f6f7;color:#00695c}
.pager span.cur{background:#00695c;border-color:#00695c}
.site-footer{background:#f5f6f7;color:#333;border-top:1px solid #e8e8e8}
.site-footer a{color:#00695c}
.copy{border-top-color:var(--line)}
.preview-banner{background:#37474f}
.tool strong,.brand-tile{color:#00695c}
#pf{--pagefind-ui-primary:#00695c;--pagefind-ui-text:#111;--pagefind-ui-background:#fff;--pagefind-ui-border:#ccc;--pagefind-ui-tag:#f5f6f7}
@media (max-width:760px){.brand-text strong{font-size:1.5rem}.brand-link img{width:48px;height:48px}.head-search{width:100%;margin-top:8px}.nav{margin-top:6px}}

.hero-band{padding:12px 0;margin:-18px 0 18px}
.strip{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;justify-content:space-between}
.strip p{margin:0}
.strip-text{font-size:1rem;color:#333}
.strip-text strong{font:700 1.4rem/1.2 Georgia,"Times New Roman",serif;color:#111;margin-right:6px}
.btn.sm{padding:.3rem .7rem;font-size:.9rem;margin:0 4px 0 0;border-width:1px}
.article-head{margin-bottom:.6rem}
main{padding-top:10px}
.section-h{margin:1rem 0 .6rem}
@media (max-width:760px){.strip-text strong{display:block;font-size:1.15rem}.strip-text{font-size:.9rem}.strip-btns{display:flex;flex-wrap:wrap;gap:6px}.hero-band{padding:8px 0}}
.strip{flex-wrap:nowrap}.strip-text strong{white-space:nowrap}@media (max-width:760px){.strip{flex-wrap:wrap}}
@media (max-width:760px){.strip-text strong{white-space:normal;font-size:1rem}.btn.sm{padding:.25rem .5rem;font-size:.8rem}.strip-btns{flex-wrap:nowrap}.strip{gap:6px}}
.card .kicker{margin-bottom:11px}.card h3{margin:0 0 7px}.card .meta{margin:0 0 6px}.article-head .kicker{margin-bottom:11px}.mower-head .kicker{margin-bottom:11px}
