
:root{
 --bg:#f5f7f2;
 --surface:#ffffff;
 --surface2:#edf3ea;
 --text:#162019;
 --muted:#667068;
 --line:#dce5dc;
 --green:#154d32;
 --green2:#24704b;
 --green3:#0e3b25;
 --cream:#f1eadb;
 --gold:#b78b40;
 --danger:#9e3f30;
 --shadow:0 20px 60px rgba(20,55,35,.09);
 --radius:20px;
 --max:1220px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
 margin:0;
 background:var(--bg);
 color:var(--text);
 font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
 line-height:1.68;
 -webkit-font-smoothing:antialiased
}
img{max-width:100%;display:block}
a{color:inherit}
button,input{font:inherit}
.wrap{width:min(var(--max),calc(100% - 34px));margin-inline:auto}
.skip{
 position:absolute;left:-999px;top:0;background:#fff;padding:10px;z-index:999
}
.skip:focus{left:10px;top:10px}

.site-header{
 position:sticky;top:0;z-index:100;
 background:rgba(255,255,255,.94);
 border-bottom:1px solid rgba(210,225,213,.9);
 backdrop-filter:blur(15px)
}
.header-inner{
 min-height:76px;
 display:flex;align-items:center;justify-content:space-between;gap:28px
}
.logo{
 display:flex;align-items:center;gap:10px;
 text-decoration:none;
 font-size:22px;font-weight:950;letter-spacing:-1px
}
.logo-mark{
 width:37px;height:37px;border-radius:50%;
 display:grid;place-items:center;
 background:var(--green);color:white;font-size:19px
}
.logo span:last-child{color:var(--green2)}
.desktop-nav{display:flex;align-items:center;gap:20px}
.desktop-nav a{
 text-decoration:none;font-size:14px;font-weight:780;color:#344139
}
.desktop-nav a:hover{color:var(--green)}
.header-tools{display:flex;align-items:center;gap:8px}
.icon-btn{
 width:43px;height:43px;border-radius:12px;
 border:1px solid var(--line);background:#fff;
 display:grid;place-items:center;cursor:pointer
}
.menu-btn{display:none}
.mobile-nav{display:none}

.hero{
 position:relative;overflow:hidden;
 min-height:620px;
 display:flex;align-items:center;
 color:#fff;background:var(--green3)
}
.hero-bg{
 position:absolute;inset:0;width:100%;height:100%;
 object-fit:cover;
 filter:saturate(.85) contrast(1.02)
}
.hero::after{
 content:"";position:absolute;inset:0;
 background:
 linear-gradient(90deg,rgba(8,34,20,.93) 0%,rgba(8,34,20,.78) 43%,rgba(8,34,20,.25) 78%,rgba(8,34,20,.12) 100%),
 linear-gradient(0deg,rgba(8,34,20,.38),transparent 40%)
}
.hero-content{position:relative;z-index:2;padding:90px 0;max-width:780px}
.kicker{
 display:inline-flex;align-items:center;gap:8px;
 padding:7px 12px;border-radius:999px;
 background:rgba(255,255,255,.13);
 border:1px solid rgba(255,255,255,.22);
 font-size:13px;font-weight:850;text-transform:uppercase;letter-spacing:.4px
}
.hero h1{
 margin:20px 0 18px;
 max-width:780px;
 font-size:clamp(46px,7vw,78px);
 line-height:.98;letter-spacing:-3.2px
}
.hero-lead{
 font-size:clamp(18px,2.2vw,22px);
 max-width:700px;color:#e7efe9
}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.btn{
 display:inline-flex;align-items:center;justify-content:center;gap:7px;
 min-height:48px;padding:0 19px;
 border-radius:12px;text-decoration:none;font-weight:850
}
.btn-primary{background:#fff;color:var(--green3)}
.btn-green{background:var(--green);color:#fff}
.btn-soft{background:var(--surface2);color:var(--green)}
.btn-outline{border:1px solid rgba(255,255,255,.45);color:#fff}

.hero-stats{
 position:relative;z-index:3;
 margin-top:-34px
}
.stats-card{
 background:white;border:1px solid var(--line);
 border-radius:18px;box-shadow:var(--shadow);
 display:grid;grid-template-columns:repeat(4,1fr);
 overflow:hidden
}
.stat{padding:23px 24px;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat strong{display:block;font-size:24px;color:var(--green)}
.stat span{font-size:13px;color:var(--muted)}

section{padding:70px 0}
.section-alt{background:#edf3ea}
.section-dark{background:#10291b;color:#eef5f0}
.section-head{max-width:760px;margin-bottom:30px}
.eyebrow{
 color:var(--green2);font-weight:900;font-size:13px;
 text-transform:uppercase;letter-spacing:.8px
}
.section-dark .eyebrow{color:#9ad7b3}
h1,h2,h3{font-weight:900}
h2{
 margin:8px 0 14px;
 font-size:clamp(31px,4vw,46px);
 line-height:1.08;letter-spacing:-1.6px
}
h3{line-height:1.22}
.muted{color:var(--muted)}
.section-dark .muted{color:#b7c7bd}

.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}

.card{
 background:var(--surface);
 border:1px solid var(--line);
 border-radius:var(--radius);
 overflow:hidden;
 box-shadow:0 7px 25px rgba(17,54,34,.035)
}
a.card{text-decoration:none;transition:.2s transform,.2s box-shadow}
a.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card-body{padding:22px}
.card h3{margin:5px 0 8px;font-size:21px}
.card p{margin:0;color:var(--muted)}
.card-img{
 width:100%;aspect-ratio:16/10;
 object-fit:cover;background:#dfe7df
}
.category-card{padding:27px}
.category-icon{
 width:48px;height:48px;border-radius:14px;
 display:grid;place-items:center;
 background:var(--surface2);font-size:24px;margin-bottom:16px
}
.tag{
 display:inline-flex;padding:5px 9px;
 border-radius:999px;background:#e8f2ea;
 color:var(--green);font-weight:850;font-size:11px;
 text-transform:uppercase;letter-spacing:.35px
}

.feature{
 display:grid;grid-template-columns:1fr 1fr;
 border-radius:26px;overflow:hidden;
 background:#fff;border:1px solid var(--line)
}
.feature-copy{padding:clamp(30px,5vw,65px)}
.feature img{width:100%;height:100%;object-fit:cover;min-height:470px}

.comparison-preview{
 background:#fff;border:1px solid var(--line);
 border-radius:20px;overflow:hidden
}
.comp-row{
 display:grid;grid-template-columns:2fr 1fr 1fr 1fr;
 padding:16px 20px;border-bottom:1px solid var(--line);align-items:center
}
.comp-row:last-child{border:0}
.comp-row.head{font-weight:850;background:#f4f7f3;font-size:13px}

.article-hero{
 padding:70px 0 40px;background:linear-gradient(145deg,#eef5ef,#f8faf7)
}
.article-hero-inner{
 display:grid;grid-template-columns:1.1fr .9fr;gap:45px;align-items:center
}
.article-hero h1{
 font-size:clamp(41px,6vw,66px);line-height:1;
 letter-spacing:-2.6px;margin:18px 0
}
.article-hero img{
 width:100%;aspect-ratio:4/3;object-fit:cover;
 border-radius:24px;box-shadow:var(--shadow)
}
.breadcrumbs{font-size:13px;color:var(--muted)}
.breadcrumbs a{color:var(--green)}
.updated{font-size:13px;color:var(--muted)}

.article-layout{
 display:grid;grid-template-columns:minmax(0,820px) 280px;
 gap:54px;align-items:start;padding:50px 0 85px
}
.prose{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(25px,5vw,52px)}
.prose p,.prose li{font-size:17px}
.prose h2{
 margin-top:48px;font-size:31px;letter-spacing:-.9px
}
.prose h3{margin-top:30px;font-size:22px}
.prose ul,.prose ol{padding-left:24px}
.prose a{color:var(--green);font-weight:700}
.prose img{border-radius:16px;margin:28px 0}
.callout{
 margin:26px 0;padding:18px 20px;
 background:#edf5ef;border-left:4px solid var(--green);
 border-radius:9px
}
.warning{
 margin:26px 0;padding:18px 20px;
 background:#fff2ed;border-left:4px solid #b95840;
 border-radius:9px
}
.checklist{
 background:#f5f8f4;border:1px solid var(--line);
 border-radius:16px;padding:20px
}
.checklist li{margin:8px 0}

.sidebar{
 position:sticky;top:100px;
 display:grid;gap:16px
}
.side-card{
 background:#fff;border:1px solid var(--line);
 border-radius:16px;padding:20px
}
.side-card h3{margin-top:0;font-size:17px}
.side-card a{
 display:block;text-decoration:none;padding:7px 0;
 font-size:14px;color:#38443b
}
.side-card a:hover{color:var(--green)}

.faq details{
 background:#fff;border:1px solid var(--line);
 border-radius:13px;margin:10px 0;padding:17px 19px
}
.faq summary{cursor:pointer;font-weight:850}
.faq p{margin-bottom:0;color:var(--muted)}

.pills{display:flex;gap:8px;flex-wrap:wrap}
.pill{
 padding:8px 12px;border-radius:999px;
 border:1px solid var(--line);background:#fff;
 text-decoration:none;font-size:13px;font-weight:700
}

.search-box{
 display:flex;gap:8px;background:#fff;
 padding:8px;border:1px solid var(--line);
 border-radius:14px;max-width:650px
}
.search-box input{
 flex:1;border:0;padding:8px 10px;outline:0;background:transparent
}
.search-results{display:grid;gap:12px;margin-top:20px}
.search-result{
 background:#fff;border:1px solid var(--line);
 border-radius:14px;padding:18px;text-decoration:none
}

footer{background:#0d2116;color:#dce7df;padding:58px 0 28px}
.footer-grid{
 display:grid;grid-template-columns:2fr 1fr 1fr 1fr;
 gap:38px
}
footer a{color:#d8e4dc;text-decoration:none}
footer a:hover{text-decoration:underline}
.footer-col a{display:block;margin:7px 0;font-size:14px}
.footer-small{
 border-top:1px solid #2a4032;margin-top:38px;
 padding-top:23px;color:#9eb0a4;font-size:12px
}
.photo-credit{font-size:11px;color:#87978d;margin-top:8px}

@media(max-width:1000px){
 .desktop-nav{display:none}
 .menu-btn{display:grid}
 .mobile-nav.open{
  display:block;padding:0 17px 17px;background:white
 }
 .mobile-nav a{
  display:block;padding:12px 6px;
  border-bottom:1px solid var(--line);
  text-decoration:none;font-weight:750
 }
 .article-layout{grid-template-columns:1fr}
 .sidebar{position:static;grid-template-columns:repeat(2,1fr)}
 .feature{grid-template-columns:1fr}
 .grid4{grid-template-columns:repeat(2,1fr)}
 .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
 .wrap{width:min(100% - 24px,var(--max))}
 .hero{min-height:600px}
 .hero::after{
  background:linear-gradient(0deg,rgba(8,34,20,.93),rgba(8,34,20,.56))
 }
 .hero-content{padding:62px 0 80px}
 .hero h1{font-size:46px;letter-spacing:-2px}
 .stats-card{grid-template-columns:repeat(2,1fr)}
 .stat:nth-child(2){border-right:0}
 .stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
 .grid2,.grid3,.grid4{grid-template-columns:1fr}
 .article-hero-inner{grid-template-columns:1fr}
 .article-hero h1{font-size:43px}
 .article-hero img{aspect-ratio:16/10}
 .article-layout{padding-top:25px}
 .prose{border-radius:16px;padding:24px 20px}
 .sidebar{grid-template-columns:1fr}
 .comp-row{grid-template-columns:1.5fr 1fr}
 .comp-row > *:nth-child(n+3){display:none}
 .footer-grid{grid-template-columns:1fr}
 section{padding:52px 0}
}
