:root{
  /* green palette */
  --navy:#0f3d27;--navy-2:#17603c;--ink:#14201a;--muted:#5a6b61;--line:#dbe5de;
  --bg:#ffffff;--bg-2:#f1f6f2;--concrete:#e3e9e5;
  --accent:#8fd43b;--accent-2:#79bb2b;--accent-ink:#0a1a10;--ok:#2e9e5b;
  --maxw:1180px;--r:10px;
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --display:"Barlow Condensed","Inter",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.6;font-size:16.5px}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy-2)}
h1,h2,h3,h4{font-family:var(--display);line-height:1.08;margin:0 0 .5em;letter-spacing:.005em;color:var(--navy)}
h1{font-size:clamp(2.3rem,5.5vw,4rem);font-weight:800}
h2{font-size:clamp(1.8rem,3.6vw,2.7rem);font-weight:700}
h3{font-size:1.35rem;font-weight:700}
p{margin:0 0 1em}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.eyebrow{font-family:var(--display);text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--navy-2);font-size:.9rem;margin-bottom:.4em}
.lead{font-size:1.15rem;color:var(--muted);max-width:60ch}
.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:#fff;padding:8px 12px;z-index:100}
.skip:focus{left:8px;top:8px}

/* buttons */
.btn{display:inline-block;padding:13px 22px;border-radius:6px;font-weight:600;text-decoration:none;border:2px solid transparent;cursor:pointer;font-family:var(--font);font-size:1rem;line-height:1.2;transition:.15s}
.btn-accent,a.btn-accent{background:var(--accent);color:var(--accent-ink)}
.btn-accent:hover{background:var(--accent-2)}
.btn-ghost{background:transparent;border-color:currentColor;color:var(--navy)}
.btn-ghost:hover{background:var(--navy);color:#fff}
.btn-light{background:#fff;color:var(--navy)}
.btn-light:hover{background:var(--concrete)}

/* header */
.topbar{background:var(--navy);color:#cfe3d6;font-size:.86rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;padding-top:6px;padding-bottom:6px;flex-wrap:wrap}
.topbar a{color:#fff;text-decoration:none}
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;gap:22px;min-height:80px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);min-width:0;flex-shrink:1}
.brand img{flex-shrink:0}
.brand img{border-radius:8px;width:56px;height:56px;object-fit:cover}
.brand span{display:flex;flex-direction:column;line-height:1.05;min-width:0}
.brand strong,.brand em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.brand strong{font-family:var(--display);font-size:1.3rem;font-weight:800;letter-spacing:.02em}
.brand em{font-style:normal;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.brand-light{color:#fff}.brand-light em{color:#b4cdbf}
.nav{margin-left:auto}
.nav>ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.nav>ul>li{position:relative}
.nav a{display:block;padding:10px 11px;text-decoration:none;font-weight:500;color:var(--ink);border-radius:6px;white-space:nowrap}
@media (max-width:1240px){.nav a{padding:10px 8px;font-size:.95rem}.site-header .wrap{gap:14px}}
.nav>ul>li:hover>a,.nav a:focus{background:var(--bg-2)}
.nav .sub{position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 14px 40px rgba(11,31,51,.14);list-style:none;margin:0;padding:8px;min-width:260px;display:none;z-index:60}
.nav .has-sub:hover .sub,.nav .has-sub:focus-within .sub{display:block}
.nav .sub a{padding:8px 12px;font-weight:500;white-space:nowrap}
.header-cta{display:flex;align-items:center;gap:12px}
.phone{font-family:var(--display);font-size:1.35rem;font-weight:700;text-decoration:none;color:var(--navy);white-space:nowrap}
.phone .short{display:none}
.burger{display:none;background:none;border:0;width:44px;height:44px;padding:8px;cursor:pointer;margin-left:auto}
.burger span{display:block;height:3px;background:var(--navy);margin:6px 0;border-radius:2px;transition:.2s}
.mnav{display:none;background:#fff;border-top:1px solid var(--line)}
.mnav ul{list-style:none;margin:0;padding:8px 20px 16px}
.mnav a{display:block;padding:10px 0;text-decoration:none;color:var(--ink);font-weight:600;border-bottom:1px solid var(--line)}
.mnav .sub a{font-weight:400;padding-left:16px;color:var(--muted)}
body.nav-open .mnav{display:block}
@media (min-width:1041px){.brand{flex-shrink:0}}
@media (max-width:1040px){
  .nav,.header-cta .btn{display:none}
  .burger{display:block}
  .header-cta{margin-left:auto}
}
@media (max-width:560px){.topbar .wrap>span:last-child{display:none}.tb-hours{display:none}.topbar{font-size:.8rem;white-space:nowrap}.topbar .wrap{flex-wrap:nowrap;overflow:hidden}.brand strong{font-size:1.1rem}.brand em{font-size:.6rem}.site-header .wrap{gap:10px}.header-cta{flex-shrink:0}.phone .full{display:none}.phone .short{display:inline-block;font-family:var(--font);font-size:.9rem;font-weight:700;padding:9px 14px;border:2px solid currentColor;border-radius:8px}}
@media (max-width:400px){.brand em{display:none}}

/* hero */
.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;isolation:isolate;min-height:min(88vh,860px);display:flex;align-items:flex-end}
.hero::before{content:"";position:absolute;inset:0;background:var(--hero) center/cover no-repeat;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,61,39,.15) 0%,rgba(15,61,39,.55) 45%,rgba(10,40,26,.94) 100%);z-index:-1}
.hero .wrap{padding-top:clamp(120px,18vw,220px);padding-bottom:clamp(44px,6vw,72px);max-width:var(--maxw);width:100%}
.hero h1{color:#fff;max-width:16ch;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.hero .lead{color:#e3efe8;font-size:1.2rem}
.hero .eyebrow{color:var(--accent)}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 28px}
.hero-stats{display:flex;gap:28px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.22);padding-top:20px}
.hero-stats div{font-size:.9rem;color:#c5dccd}
.hero-stats strong{display:block;font-family:var(--display);font-size:1.9rem;color:var(--accent);line-height:1}

/* sections */
section{padding:clamp(48px,7vw,88px) 0}
.alt{background:var(--bg-2)}
.dark{background:var(--navy);color:#dbe8df}
.dark h2,.dark h3{color:#fff}
.sec-head{max-width:70ch;margin-bottom:34px}
.grid{display:grid;gap:22px}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:8px}
.card h3{margin:0}
.card p{margin:0;color:var(--muted);font-size:.97rem}
.card .more{margin-top:auto;font-weight:600;text-decoration:none;color:var(--navy-2)}
.card.link{text-decoration:none;color:inherit;transition:.15s}
.card.link:hover{border-color:var(--navy);transform:translateY(-2px);box-shadow:0 10px 30px rgba(15,61,39,.12)}
.card.photo{padding:0;overflow:hidden}
.card.photo img{aspect-ratio:3/2;object-fit:cover;width:100%;transition:.4s}
.card.photo:hover img{transform:scale(1.04)}
.card-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.card-body h3{margin:0}
.card-body .more{margin-top:auto}
.tag{display:inline-block;background:#e4f5d0;border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:600;color:var(--navy);align-self:flex-start}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.facts div{background:#fff;padding:18px 20px}
.facts dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600}
.facts dd{margin:4px 0 0;font-weight:600}
.checks{list-style:none;padding:0;margin:0 0 20px}
.checks li{padding-left:28px;position:relative;margin:6px 0}
.checks li::before{content:"";position:absolute;left:0;top:7px;width:16px;height:16px;border-radius:50%;background:var(--ok);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8l3 3 7-7' fill='none' stroke='white' stroke-width='2.2'/%3E%3C/svg%3E") center/contain no-repeat,linear-gradient(#000 0 0);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8l3 3 7-7' fill='none' stroke='white' stroke-width='2.2'/%3E%3C/svg%3E") center/contain no-repeat}
.checks li::before{background:var(--ok);mask:none;-webkit-mask:none;border-radius:50%}
.checks li::after{content:"";position:absolute;left:4px;top:10px;width:8px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
.dark .checks li::before{background:var(--accent)}
.band{background-position:center;background-size:cover;background-attachment:fixed;position:relative}
@media (max-width:900px){.band{background-attachment:scroll;height:300px!important}}
.page-hero{width:100%;aspect-ratio:21/9;object-fit:cover;border-radius:var(--r);margin:0 0 36px}
.split{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:center}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.split img{border-radius:var(--r);box-shadow:0 20px 50px rgba(11,31,51,.18)}
.pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.price{background:#fff;border:2px solid var(--line);border-radius:var(--r);padding:22px;text-align:center}
.price strong{display:block;font-family:var(--display);font-size:2.6rem;color:var(--navy-2);line-height:1}
.price span{color:var(--muted);font-size:.92rem}
.callout{border-left:5px solid var(--accent);background:#f3fae9;padding:18px 22px;border-radius:0 var(--r) var(--r) 0;margin:20px 0}
.industries{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.ind{background:#fff;border-radius:var(--r);padding:22px;border:1px solid var(--line);border-top:4px solid var(--accent)}
.ind h3{font-size:1.5rem}
.ind p{font-size:.95rem;color:var(--muted);margin:0}

/* crumbs */
.crumbs{font-size:.85rem;color:var(--muted);padding:14px 0 0}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li+li::before{content:"›";margin-right:6px;color:#9aa8b6}
.crumbs a{color:var(--muted);text-decoration:none}
.page-head{padding:20px 0 34px}
.page-head h1{max-width:22ch}

/* service page */
.svc-grid{display:grid;grid-template-columns:2fr 1fr;gap:44px;align-items:start}
@media (max-width:900px){.svc-grid{grid-template-columns:1fr}}
.aside{position:sticky;top:90px;display:flex;flex-direction:column;gap:18px}
.aside .box{background:var(--bg-2);border-radius:var(--r);padding:22px}
.aside .box h3{font-size:1.2rem}
.aside ul{padding-left:18px;margin:0}
.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:12px}
.steps li{counter-increment:s;padding-left:46px;position:relative;min-height:34px}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--display);font-weight:700;display:grid;place-items:center;font-size:1.1rem}
.prose h2{margin-top:1.4em}
.prose ul{padding-left:22px}
.faq details{border-bottom:1px solid var(--line);padding:14px 0}
.faq summary{cursor:pointer;font-weight:600;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--display);font-size:1.5rem;color:var(--navy-2);line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{margin:10px 0 0;color:var(--muted)}

/* gallery */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.filters button{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 16px;cursor:pointer;font-weight:600;font-family:var(--font)}
.filters button[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.gallery.big{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}
.gallery.big a:nth-child(6n+1){grid-column:span 2;grid-row:span 2}
@media (max-width:760px){.gallery.big a:nth-child(6n+1){grid-column:auto;grid-row:auto}}
.gallery a{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:8px;background:var(--concrete)}
.gallery img{width:100%;height:100%;object-fit:cover;transition:.3s}
.gallery a:hover img{transform:scale(1.04)}
.gallery a.hide{display:none}
.lightbox{position:fixed;inset:0;background:rgba(5,12,20,.93);display:none;place-items:center;z-index:200;padding:20px}
.lightbox.open{display:grid}
.lightbox img{max-width:min(96vw,1400px);max-height:84vh;object-fit:contain;border-radius:6px}
.lightbox figcaption{color:#cfd8e3;text-align:center;margin-top:10px;font-size:.95rem}
.lightbox button{position:absolute;top:14px;background:none;border:0;color:#fff;font-size:2.4rem;cursor:pointer;width:52px;height:52px;line-height:1}
.lightbox .close{right:14px}.lightbox .prev,.lightbox .next{top:50%;transform:translateY(-50%);font-size:3rem}
.lightbox .prev{left:8px}.lightbox .next{right:8px}

/* map */
.map{border:0;width:100%;height:420px;border-radius:var(--r);display:block;background:var(--concrete)}
.map-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}
@media (max-width:860px){.map-grid{grid-template-columns:1fr}}
.cities{columns:3;column-gap:24px;list-style:none;padding:0;margin:0}
.cities li{break-inside:avoid;padding:4px 0;border-bottom:1px dashed var(--line)}
@media (max-width:640px){.cities{columns:2}}

/* quote */
.quote{background:var(--navy);color:#dbe8df;position:relative;isolation:isolate}
.quote::before{content:"";position:absolute;inset:0;background:var(--bg) center/cover;opacity:.18;z-index:-1}
.quote h2{color:#fff}
.quote .eyebrow{color:var(--accent)}
.quote .btn-ghost{color:#fff}
.quote-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:44px;align-items:start}
@media (max-width:900px){.quote-grid{grid-template-columns:1fr}}
.form{background:#fff;color:var(--ink);border-radius:var(--r);padding:26px;display:grid;gap:14px}
.form label{display:grid;gap:5px;font-size:.9rem;font-weight:600}
.form input,.form select,.form textarea{font:inherit;padding:11px 12px;border:1px solid #c8d1db;border-radius:6px;width:100%;background:#fff}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--navy-2);outline-offset:1px;border-color:var(--navy-2)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:520px){.row2{grid-template-columns:1fr}}
.hp{position:absolute;left:-9999px}
.fine{font-size:.78rem;color:var(--muted);margin:0}

/* footer */
.site-footer{background:#0a2a1b;color:#b4cdbf;padding:56px 0 90px;font-size:.93rem}
.site-footer a{color:#e6edf4;text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.site-footer h4{color:#fff;font-size:1.1rem;margin-bottom:12px;letter-spacing:.06em;text-transform:uppercase}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin:5px 0}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr}}
address{font-style:normal;line-height:1.7;margin:10px 0}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;border-top:1px solid #1d4a33;margin-top:34px;padding-top:18px;font-size:.84rem}
.sticky-cta{display:none;position:fixed;left:0;right:0;bottom:0;z-index:40;grid-template-columns:1fr 1fr;box-shadow:0 -6px 20px rgba(0,0,0,.18)}
.sticky-cta a{padding:15px;text-align:center;font-weight:700;text-decoration:none;background:var(--navy);color:#fff;font-family:var(--display);font-size:1.15rem;letter-spacing:.03em}
.sticky-cta a.accent{background:var(--accent);color:var(--accent-ink)}
@media (max-width:760px){.sticky-cta{display:grid}}

/* blog */
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.post-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit}
.post-card:hover{border-color:var(--navy)}
.post-card .thumb{aspect-ratio:16/9;background:var(--concrete);overflow:hidden}
.post-card .thumb img{width:100%;height:100%;object-fit:cover}
.post-card .body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px}
.post-card h3{font-size:1.3rem;margin:4px 0}
.post-card p{color:var(--muted);font-size:.95rem;margin:0}
.post-card .meta{font-size:.8rem;color:var(--muted)}
.cats{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;padding:0;list-style:none}
.cats a{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 14px;font-size:.88rem;font-weight:600;text-decoration:none;color:var(--navy)}
.cats a.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.pager{display:flex;gap:6px;justify-content:center;margin-top:34px;flex-wrap:wrap}
.pager a,.pager span{padding:8px 14px;border:1px solid var(--line);border-radius:6px;text-decoration:none;font-weight:600}
.pager span{background:var(--navy);color:#fff;border-color:var(--navy)}
.article{max-width:760px;margin:0 auto}
.article .hero-img{border-radius:var(--r);margin:20px 0 28px;aspect-ratio:16/9;object-fit:cover;width:100%}
.article .meta{color:var(--muted);font-size:.9rem;display:flex;gap:14px;flex-wrap:wrap;margin-bottom:8px}
.article h1{font-size:clamp(2rem,4.6vw,3.2rem)}
.article-body{font-size:1.07rem}
.article-body h2{margin-top:1.6em;font-size:1.9rem}
.article-body h3{margin-top:1.3em}
.article-body img{border-radius:8px;margin:1.2em 0}
.article-body table{border-collapse:collapse;width:100%;margin:1.2em 0;font-size:.95rem}
.article-body th,.article-body td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
.article-body th{background:var(--bg-2)}
.article-body blockquote{border-left:4px solid var(--navy-2);margin:1.2em 0;padding:4px 18px;color:var(--muted)}
.article-body pre{overflow:auto;background:var(--bg-2);padding:14px;border-radius:8px}
.article-cta{background:#f3fae9;border-radius:var(--r);padding:24px;margin:36px 0;border-left:5px solid var(--accent)}
.article-cta h3{margin-top:0}
.related h2{font-size:1.7rem}
.table-wrap{overflow-x:auto}
/* hero CTAs side by side; stats in one row on phones */
.hero-cta{display:flex;gap:12px;flex-wrap:nowrap}
.hero-cta .btn{flex:1 1 0;text-align:center;white-space:nowrap;padding-left:14px;padding-right:14px}
@media (max-width:760px){
  .hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
  .hero-stats div{font-size:.66rem;line-height:1.2;padding:10px 4px!important;text-align:center;white-space:nowrap;overflow:hidden}
  .hero-stats strong{font-size:1.3rem!important;white-space:nowrap}
  .hero-stats strong span{font-size:.62rem}
  .hero-cta .btn{font-size:.95rem;padding:13px 10px}
}
@media (max-width:360px){.hero-stats div{font-size:.6rem}.hero-stats strong{font-size:1.15rem!important}.hero-cta .btn{font-size:.9rem}}

/* theme: forest */
/* ===== FOREST DARK — deep green canvas, lime accents, glassy cards, photo-forward ===== */
.theme-forest{
  --navy:#0b2418;--navy-2:#1a6b3f;--ink:#e8f1ea;--muted:#9fb8a8;--line:#1f3b2c;
  --bg:#0f2d1d;--bg-2:#143a26;--concrete:#1c4631;
  --accent:#b6f24a;--accent-2:#a2de36;--accent-ink:#0a1a10;--ok:#b6f24a;
  --font:"Manrope",system-ui,sans-serif;--display:"Barlow Condensed","Manrope",sans-serif;--r:18px;
  background:var(--bg);color:var(--ink)
}
.theme-forest h1,.theme-forest h2,.theme-forest h3,.theme-forest h4{color:#fff}
.theme-forest a{color:#d7f59a}
.theme-forest .lead{color:var(--muted)}
.theme-forest .eyebrow{color:var(--accent)}
.theme-forest .topbar{background:#071a11;color:#8fb59e;border-bottom:1px solid var(--line)}
.theme-forest .site-header{background:rgba(11,36,24,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.theme-forest .brand{color:#fff}.theme-forest .brand em{color:var(--muted)}
.theme-forest .brand img{border-radius:50%;box-shadow:0 0 0 3px rgba(182,242,74,.35)}
.theme-forest .nav a{color:#dfeee4}
.theme-forest .nav>ul>li:hover>a,.theme-forest .nav a:focus{background:var(--bg-2)}
.theme-forest .nav .sub{background:#123222;border-color:var(--line);box-shadow:0 20px 50px rgba(0,0,0,.4)}
.theme-forest .phone{color:#fff}
.theme-forest .burger span{background:#fff}
.theme-forest .mnav{background:#0b2418;border-color:var(--line)}
.theme-forest .mnav a{color:#fff;border-color:var(--line)}
.theme-forest .mnav .sub a{color:var(--muted)}
.theme-forest .btn{border-radius:999px;padding:14px 26px}
.theme-forest .btn-light{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.25);backdrop-filter:blur(6px)}
.theme-forest .btn-light:hover{background:rgba(255,255,255,.2)}
.theme-forest .btn-ghost{color:#fff;border-color:rgba(255,255,255,.35)}
.theme-forest .btn-ghost:hover{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
/* hero */
.theme-forest .hero-full{min-height:min(92vh,900px)}
.theme-forest .hero::after{background:linear-gradient(180deg,rgba(11,36,24,.1) 0%,rgba(11,36,24,.5) 50%,rgba(11,36,24,1) 100%)}
.theme-forest .hero h1{font-size:clamp(2.8rem,7vw,5.6rem);letter-spacing:-.01em;line-height:.98}
.theme-forest .hero-stats{border-top:0;padding:0;gap:12px}
.theme-forest .hero-stats div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:14px 18px;backdrop-filter:blur(8px);color:#c5dccd}
.theme-forest .hero-stats strong{color:var(--accent);font-size:2rem}
.theme-forest .hero-stats strong span{font-size:1rem}
/* sections */
.theme-forest .alt{background:var(--bg-2)}
.theme-forest .dark{background:#071a11}
.theme-forest .band{border-radius:28px;margin:0 20px;background-attachment:scroll}
@media (min-width:1240px){.theme-forest .band{margin:0 auto;max-width:1240px}}
.theme-forest .facts{background:var(--line);border-color:var(--line);border-radius:var(--r)}
.theme-forest .facts div{background:var(--bg-2)}
.theme-forest .facts dt{color:var(--muted)}.theme-forest .facts dd{color:#fff}
.theme-forest .card{background:#143a26;border-color:var(--line)}
.theme-forest .card p{color:var(--muted)}
.theme-forest .card.link:hover{border-color:var(--accent);box-shadow:0 20px 50px rgba(0,0,0,.35)}
.theme-forest .card .more{color:var(--accent)}
.theme-forest .tag{background:rgba(182,242,74,.15);color:var(--accent)}
.theme-forest .ind{background:#143a26;border-color:var(--line);border-top:0;border-left:4px solid var(--accent)}
.theme-forest .ind p{color:var(--muted)}
.theme-forest .price{background:#143a26;border-color:var(--line)}
.theme-forest .price strong{color:var(--accent)}.theme-forest .price span{color:var(--muted)}
.theme-forest .callout{background:#143a26;border-color:var(--accent);color:var(--ink)}
.theme-forest .checks li::before{background:var(--accent)}
.theme-forest .checks li::after{border-color:var(--accent-ink)}
.theme-forest .faq details{border-color:var(--line)}
.theme-forest .faq summary{color:#fff}.theme-forest .faq summary::after{color:var(--accent)}
.theme-forest .faq p{color:var(--muted)}
.theme-forest .crumbs,.theme-forest .crumbs a{color:var(--muted)}
.theme-forest .aside .box{background:#143a26}
.theme-forest .steps li::before{background:var(--accent);color:var(--accent-ink)}
.theme-forest .filters button{background:#143a26;color:#fff;border-color:var(--line)}
.theme-forest .filters button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.theme-forest .gallery a{border-radius:16px}
.theme-forest .map{border-radius:var(--r);filter:saturate(.8)}
.theme-forest .cities li{border-color:var(--line)}
.theme-forest .split img,.theme-forest .page-hero{border-radius:24px}
/* quote + form */
.theme-forest .quote{background:#071a11}
.theme-forest .quote::before{opacity:.22}
.theme-forest .form{background:#0f2d1d;color:var(--ink);border:1px solid var(--line);border-radius:22px}
.theme-forest .form input,.theme-forest .form select,.theme-forest .form textarea{background:#143a26;border-color:#2a5a3f;color:#fff}
.theme-forest .form input:focus,.theme-forest .form select:focus,.theme-forest .form textarea:focus{outline-color:var(--accent);border-color:var(--accent)}
.theme-forest .fine,.theme-forest .fine a{color:var(--muted)}
/* footer */
.theme-forest .site-footer{background:#071a11;border-top:1px solid var(--line)}
/* floating call pill instead of full-width bar */
.theme-forest .sticky-cta{display:none;left:auto;right:16px;bottom:16px;box-shadow:none;grid-template-columns:auto auto;gap:8px}
.theme-forest .sticky-cta a{border-radius:999px;padding:14px 18px;background:#143a26;color:#fff;border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.4);font-family:var(--font);font-size:.95rem;letter-spacing:0}
.theme-forest .sticky-cta a.accent{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
@media (max-width:760px){.theme-forest .sticky-cta{display:grid}.theme-forest .site-footer{padding-bottom:110px}}
/* blog */
.theme-forest .post-card{background:#143a26;border-color:var(--line)}
.theme-forest .post-card p,.theme-forest .post-card .meta{color:var(--muted)}
.theme-forest .cats a{background:#143a26;color:#fff;border-color:var(--line)}
.theme-forest .cats a.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.theme-forest .pager a{border-color:var(--line);color:#fff}.theme-forest .pager span{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.theme-forest .article-body th{background:#143a26}.theme-forest .article-body th,.theme-forest .article-body td{border-color:var(--line)}
.theme-forest .article-cta{background:#143a26;border-color:var(--accent)}
.theme-forest .article-body pre{background:#143a26}

.theme-forest .phone .short{border-color:var(--accent);color:var(--accent);border-radius:999px}

/* explicit button colors — the theme's `a` rule must not override them */
.theme-forest a.btn-accent,.theme-forest .btn-accent,.theme-forest button.btn-accent{color:var(--accent-ink);background:var(--accent)}
.theme-forest a.btn-accent:hover{background:var(--accent-2);color:var(--accent-ink)}
.theme-forest a.btn-light{color:#fff}
.theme-forest a.btn-ghost{color:#fff}
.theme-forest a.btn-ghost:hover{color:var(--accent-ink)}
.theme-forest .sticky-cta a.accent{color:var(--accent-ink)}
.theme-forest .filters button[aria-pressed=true],.theme-forest .cats a.on,.theme-forest .pager span{color:var(--accent-ink)}
