html,body{overflow-x:clip}
img,video,iframe{max-width:100%}
.nav-toggle{display:none}
.topbar a,.topbar .left>span{white-space:nowrap}
.hero .eyebrow{align-self:flex-start}
@media (max-width:1100px){.topbar .hidem{display:none}}
@media (max-width:980px){.hero .photo-cap{left:24px;right:auto;top:24px}.hero .wrap{padding-top:120px}}
.mnav{display:none}
@media (max-width:980px){
header.nav .wrap{gap:14px;padding-top:12px;padding-bottom:12px}
header.nav .ecologo-img{margin-right:auto}
.nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;padding:0 11px;background:var(--green-deep);border:0;border-radius:2px;cursor:pointer;flex:0 0 auto}
.nav-toggle span{display:block;height:2px;background:#fbf7ee;transition:transform .25s,opacity .2s}
body.mnav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.mnav-open .nav-toggle span:nth-child(2){opacity:0}
body.mnav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mnav{display:block;position:fixed;left:0;right:0;bottom:0;top:var(--mnav-top,70px);z-index:49;background:var(--green-deep);color:#fbf7ee;overflow-y:auto;-webkit-overflow-scrolling:touch;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility 0s linear .2s;border-top:4px solid var(--orange)}
body.mnav-open .mnav{opacity:1;visibility:visible;transform:none;transition:opacity .2s,transform .2s}
body.mnav-open{overflow:hidden}
.mnav-in{padding:18px 24px 40px;display:flex;flex-direction:column}
.mnav a.m-l{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:10px 0;border-bottom:1px solid rgba(251,247,238,.14);font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:24px;letter-spacing:.08em;text-transform:uppercase;color:#fbf7ee}
.mnav a.m-l.active{color:var(--orange)}
.mnav .m-sub{display:flex;flex-direction:column;padding:6px 0 12px 16px;border-bottom:1px solid rgba(251,247,238,.14);border-left:2px solid var(--orange);margin-top:-1px}
.mnav .m-sub a{display:flex;flex-direction:column;justify-content:center;min-height:48px;padding:8px 0;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:18px;letter-spacing:.06em;text-transform:uppercase;color:rgba(251,247,238,.9)}
.mnav .m-sub a small{font-family:'Montserrat',sans-serif;font-weight:400;font-size:12px;letter-spacing:0;text-transform:none;color:rgba(251,247,238,.6);margin-top:2px}
.mnav .m-sub a.active{color:var(--orange)}
.mnav .m-actions{display:flex;flex-direction:column;gap:12px;margin-top:28px}
.mnav .m-actions .btn-cta{justify-content:center;min-height:52px}
.mnav .m-actions .m-alt{display:flex;justify-content:center;align-items:center;min-height:48px;border:1.5px solid rgba(251,247,238,.4);font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:15px;letter-spacing:.2em;text-transform:uppercase;color:#fbf7ee}
}
@media (max-width:560px){
header.nav > .wrap > .btn-cta{display:none}
.topbar{font-size:12px;letter-spacing:.12em}
.topbar .wrap{gap:12px}
.topbar .left,.topbar .right{gap:14px}
.topbar .right .hidem{display:none}
}
@media (max-width:720px){
.wrap{padding-left:20px;padding-right:20px}
h1{font-size:clamp(34px,9vw,48px)}
h2{font-size:clamp(30px,8vw,40px)}
.hero,.hero .wrap{min-height:auto}
.hero .wrap{padding-top:150px;padding-bottom:120px}
.hero .photo-cap{left:20px;right:auto;top:24px}
.hero-strip .cell{padding:16px 16px;gap:10px}
.hero-strip svg{width:24px;height:24px}
.hero-strip .label{font-size:12px;letter-spacing:.12em}
.hero-strip .label small{display:none}
.intro,.solutions,.feature,.diary,.about,.cta,.intro-block,.closing{padding-top:72px;padding-bottom:72px}
.solutions .head,.diary .head{margin-bottom:36px}
.diary .head{grid-template-columns:1fr}
.solution{min-height:0}
.feature .stats{gap:14px}
.feature .stat .n{font-size:38px}
.feature .stat .l{font-size:10.5px;letter-spacing:.14em}
.about .photo .quote{position:relative;left:auto;right:auto;bottom:auto;margin:-40px 16px 0;font-size:17px}
.about .grid{gap:48px}
.cta .btn-white,.cta .btn-outline,.closing .btn-white,.closing .btn-outline{justify-content:space-between}
footer.foot{padding-top:64px}
footer.foot .strip{flex-direction:column;align-items:flex-start}
.page-hero,.page-hero .wrap{min-height:440px}
.page-hero .wrap{padding-top:130px;padding-bottom:56px}
.page-hero h1{font-size:clamp(40px,11vw,60px)}
.lead{font-size:19px}
.btn-cta,.btn-ghost{min-height:44px}
}
@media (hover:none){
.solution:hover,article.post:hover{transform:none}
}
