@charset "utf-8";
/* EVMI — Environmental Ventures Marketing Inc.
   Rebuilt stylesheet. Palette, type and 940px measure taken from the
   original EVMI theme; layout re-expressed as fluid + responsive. */

/* ---------- fonts (self-hosted, from the original theme) ---------- */
@font-face{
	font-family:'Calibri';
	src:url('/assets/fonts/calibri-webfont.woff') format('woff'),
	    url('/assets/fonts/calibri-webfont.ttf') format('truetype');
	font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
	font-family:'Calibri';
	src:url('/assets/fonts/calibri_bold-webfont.woff') format('woff'),
	    url('/assets/fonts/calibri_bold-webfont.ttf') format('truetype');
	font-weight:700; font-style:normal; font-display:swap;
}
@font-face{
	font-family:'Calibri';
	src:url('/assets/fonts/calibri_italic-webfont.woff') format('woff'),
	    url('/assets/fonts/calibri_italic-webfont.ttf') format('truetype');
	font-weight:400; font-style:italic; font-display:swap;
}

/* ---------- tokens ---------- */
:root{
	--green:#62aa33;
	--green-dk:#4c8727;
	--ink:#333;
	--ink-dk:#242424;
	--muted:#6d6d6d;
	--rule:#d0d0d0;
	--wash:#f0f0f0;
	--wash-2:#f7f6f6;
	--white:#fff;
	--measure:940px;
	--gap:24px;
	--radius:3px;
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
	margin:0;
	color:var(--ink);
	background:var(--white);
	font:16px/1.6 'Calibri',Candara,Segoe,'Segoe UI',Optima,Arial,sans-serif;
	-webkit-font-smoothing:antialiased;
}
img{border:0;max-width:100%;height:auto;display:block;}
a{color:var(--green-dk);text-decoration:none;}
a:hover,a:focus{text-decoration:underline;}
:focus-visible{outline:3px solid var(--green);outline-offset:2px;}
h1,h2,h3,h4{line-height:1.25;color:var(--ink-dk);margin:0 0 .5em;font-weight:700;}
h1{font-size:1.95rem;}
h2{font-size:1.45rem;}
h3{font-size:1.2rem;}
h4{font-size:1.05rem;}
p,ul,ol,table{margin:0 0 1.1em;}
ul,ol{padding-left:1.35em;}
li{margin:.25em 0;}
hr{border:0;border-top:1px solid var(--rule);margin:2em 0;}
table{border-collapse:collapse;width:100%;}
td,th{padding:.55em .7em;border:1px solid var(--rule);text-align:left;vertical-align:top;}
th{background:var(--wash);}

/* ---------- skip link ---------- */
.skip{
	position:absolute;left:-9999px;top:0;z-index:999;
	background:var(--green);color:#fff;padding:.7em 1.1em;
}
.skip:focus{left:0;}

/* ---------- shell ---------- */
.shell{width:100%;max-width:var(--measure);margin:0 auto;padding:0 20px;}

/* ---------- header ---------- */
.site-head{border-top:4px solid var(--green);background:var(--white);position:relative;z-index:50;}
.head-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink-dk);}
.brand img{width:64px;height:auto;flex:none;}
.brand b{display:block;font-size:1.05rem;line-height:1.15;color:var(--ink-dk);}
.brand span{display:block;font-size:.78rem;color:var(--muted);letter-spacing:.02em;}
.brand:hover{text-decoration:none;}

.nav-toggle{
	display:none;align-items:center;gap:8px;
	background:var(--wash);border:1px solid var(--rule);border-radius:var(--radius);
	color:var(--ink);font:inherit;font-size:.9rem;padding:.55em .8em;cursor:pointer;
}
.nav-toggle .bars{position:relative;width:18px;height:2px;background:var(--ink);display:block;}
.nav-toggle .bars::before,.nav-toggle .bars::after{
	content:"";position:absolute;left:0;width:18px;height:2px;background:var(--ink);
}
.nav-toggle .bars::before{top:-6px;}
.nav-toggle .bars::after{top:6px;}

.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;}
.nav a{
	display:block;padding:.65em .8em;color:var(--muted);
	font-size:.86rem;letter-spacing:.03em;text-transform:uppercase;border-radius:var(--radius);
}
.nav a:hover,.nav a:focus{background:var(--wash);color:var(--ink-dk);text-decoration:none;}
.nav a[aria-current="page"]{color:var(--green-dk);box-shadow:inset 0 -3px 0 var(--green);}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--ink-dk);overflow:hidden;}
.hero img{width:100%;height:100%;object-fit:cover;opacity:.62;}
.hero-copy{
	position:absolute;inset:auto 0 0 0;padding:26px 0 30px;
	background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,0));
}
.hero-copy h1{color:#fff;margin:0 0 .35em;font-size:2.1rem;max-width:20ch;}
.hero-copy p{color:#eaeaea;margin:0;max-width:62ch;font-size:1.02rem;}
.hero-media{aspect-ratio:940/462;}

/* ---------- page head (interior) ---------- */
.page-head{background:var(--wash-2);border-bottom:1px solid var(--rule);padding:26px 0;}
.page-head h1{margin:0;}
.crumbs{font-size:.85rem;color:var(--muted);margin:0 0 .4em;}
.crumbs a{color:var(--muted);display:inline-block;padding:.3em 0;}
.crumbs span{padding:0 .4em;color:var(--rule);}

/* ---------- layout ---------- */
.main{padding:34px 0 48px;}
.cols{display:grid;grid-template-columns:1fr 250px;gap:40px;align-items:start;}
.prose{min-width:0;max-width:72ch;}
.prose.wide{max-width:none;}
.prose.wide>p,.prose.wide>ul:not(.cards):not(.logos):not(.newslist),
.prose.wide>ol{max-width:72ch;}
.prose img{margin:1em 0;border-radius:var(--radius);}
.prose img.float-right{float:right;margin:.3em 0 1em 1.4em;max-width:46%;}
.prose .ta-center{text-align:center;}
.prose .ta-right{text-align:right;}
.prose>*:first-child{margin-top:0;}
.prose a[href^="tel:"],.prose a[href^="mailto:"]{display:inline-block;padding:.25em 0;}

.side{font-size:.94rem;}
.side h2{font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);
	border-bottom:1px solid var(--rule);padding-bottom:.5em;margin-bottom:.7em;}
.side ul{list-style:none;padding:0;margin:0 0 1.8em;}
.side li{margin:0;border-bottom:1px solid var(--wash);}
.side a{display:block;padding:.5em 0;color:var(--ink);}
.side a:hover{color:var(--green-dk);}
.side p a{display:inline-block;padding:.25em 0;}
.side a[aria-current="page"]{color:var(--green-dk);font-weight:700;}

/* ---------- cards ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;list-style:none;padding:0;margin:0 0 1.5em;}
.card{border:1px solid var(--rule);border-radius:var(--radius);padding:16px 18px;background:var(--white);}
.card h3{margin:0 0 .3em;font-size:1.02rem;}
.card p{margin:0;font-size:.92rem;color:var(--muted);}
.card a{display:block;}
.card a:hover{text-decoration:none;}
.card:hover{border-color:var(--green);}

/* ---------- logo wall (clients) ---------- */
.logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;list-style:none;padding:0;margin:0 0 1.5em;}
.logos li{border:1px solid var(--rule);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;padding:14px;min-height:88px;background:var(--white);}
.logos img{max-height:56px;width:auto;margin:0;}

/* ---------- callout / cta ---------- */
.callout{border-left:4px solid var(--green);background:var(--wash-2);padding:16px 20px;margin:0 0 1.4em;border-radius:0 var(--radius) var(--radius) 0;}
.callout p:last-child{margin-bottom:0;}
.prose>p>a:only-child{display:inline-block;padding:.25em 0;}
.btn{
	display:inline-block;background:var(--green);color:#fff;
	padding:.7em 1.3em;border-radius:var(--radius);font-weight:700;
}
.btn:hover,.btn:focus{background:var(--green-dk);color:#fff;text-decoration:none;}

/* ---------- news list ---------- */
.newslist{list-style:none;padding:0;margin:0;}
.newslist li{border-bottom:1px solid var(--rule);padding:14px 0;}
.newslist h3{margin:0 0 .2em;font-size:1.08rem;}
.newslist h3 a{display:inline-block;padding:.2em 0;}
.newslist p{margin:0;color:var(--muted);font-size:.94rem;}

/* ---------- footer ---------- */
.site-foot{background:var(--ink-dk);color:#c6c6c6;padding:30px 0 22px;margin-top:40px;font-size:.92rem;}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:26px;}
.site-foot h2{color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;margin:0 0 .7em;}
.site-foot ul{list-style:none;margin:0;padding:0;}
.site-foot li{margin:0;}
.site-foot li a{display:inline-block;padding:.35em 0;}
.site-foot a{color:#c6c6c6;}
.site-foot a:hover{color:#fff;}
.site-foot address{font-style:normal;line-height:1.85;}
.site-foot address a{display:inline-block;padding:.2em 0;}
.foot-base a{display:inline-block;padding:.25em 0;}
.foot-base{border-top:1px solid #3a3a3a;margin-top:24px;padding-top:16px;display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;font-size:.86rem;color:#9b9b9b;}

/* ---------- responsive ---------- */
@media (max-width:900px){
	.cols{grid-template-columns:1fr;gap:28px;}
	.side{border-top:1px solid var(--rule);padding-top:18px;}
}
@media (max-width:760px){
	.nav-toggle{display:inline-flex;}
	.nav{
		display:none;position:absolute;left:0;right:0;top:100%;
		background:var(--white);border-top:1px solid var(--rule);
		box-shadow:0 10px 24px rgba(0,0,0,.09);padding:8px 20px 16px;
	}
	.nav.open{display:block;}
	.nav ul{flex-direction:column;gap:0;}
	.nav a{padding:.8em .2em;border-bottom:1px solid var(--wash);border-radius:0;}
	.nav a[aria-current="page"]{box-shadow:none;}
	.hero-copy{position:static;background:var(--ink-dk);padding:20px 0 24px;}
	.hero-copy h1{font-size:1.5rem;}
	.hero-media{aspect-ratio:16/10;}
	.prose img.float-right{float:none;margin:1em 0;max-width:100%;}
	h1{font-size:1.6rem;}
}
@media (max-width:420px){
	.shell{padding:0 14px;}
	.brand span{display:none;}
	.logos{grid-template-columns:repeat(auto-fill,minmax(105px,1fr));}
}
@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto;}
	*{animation-duration:.01ms!important;transition-duration:.01ms!important;}
}
@media print{
	.site-head,.site-foot,.side,.nav-toggle{display:none;}
	body{font-size:11pt;}
}
