/* Design 1 – Modern Corporate. Homepage-only styles. */
body:has(.em-home){background:#fff;color:#173a2c}
body:has(.em-home) .site-header{position:relative;z-index:20}
body:has(.em-home) .topbar{background:#063d29}
body:has(.em-home) .topbar-inner{min-height:36px}
body:has(.em-home) .branding{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:15px;padding-bottom:15px}
body:has(.em-home) .brand{display:flex;align-items:center;gap:17px}
body:has(.em-home) .brand img{height:86px;width:86px;object-fit:contain}
body:has(.em-home) .brand-copy strong{font-size:clamp(19px,2vw,27px);line-height:1.15;color:#06452e;font-family:Georgia,serif}
body:has(.em-home) .brand-copy span{font-size:13px;color:#63756c}
.em-search{display:flex;width:min(300px,30vw);height:42px;border:1px solid #d6e4da;border-radius:24px;overflow:hidden;background:white;flex-shrink:0}
.em-search input{width:100%;min-width:0;border:0;padding:0 15px;font:inherit;font-size:13px;outline:0;background:transparent;color:#153d2a}
.em-search button{width:48px;flex-shrink:0;background:#065638;color:white;border:0;font-size:25px;cursor:pointer}
body:has(.em-home) .main-nav{background:#07633b}
body:has(.em-home) .nav-links>a.active{background:#ffd83d!important;color:#123b26!important;border-bottom:0!important}
body:has(.em-home) .nav-links>a,body:has(.em-home) .nav-parent{font-size:13px}
.em-home{font-family:Inter,Arial,sans-serif}
.em-hero{height:clamp(370px,32vw,475px);position:relative;isolation:isolate;overflow:hidden;background:#e8eee8}
.em-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;z-index:-2}
.em-hero-panel{position:absolute;inset:0 auto 0 0;width:min(45%,670px);background:linear-gradient(105deg,#00442d 0%,#005b3b 85%,#006441 100%);clip-path:polygon(0 0,91% 0,100% 50%,89% 100%,0 100%);display:flex;align-items:center;padding:30px 8% 30px max(5%,calc((100vw - 1350px)/2));z-index:1}
.em-hero-copy{width:100%;max-width:435px;color:white}
.em-eyebrow{display:flex;align-items:center;gap:10px;color:#fff;font-weight:750;letter-spacing:.08em;font-size:11px}
.em-eyebrow span{width:32px;height:4px;background:#ffda39;border-radius:3px}
.em-hero h1{font-family:Georgia,'Times New Roman',serif;color:white;font-size:clamp(30px,3.25vw,53px);line-height:1.07;letter-spacing:-.025em;margin:16px 0}
.em-hero p{font-size:clamp(13px,1vw,16px);line-height:1.7;max-width:340px;color:#effbf3;margin:0 0 25px}
.em-hero-buttons{display:flex;flex-wrap:wrap;gap:10px}.em-btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;text-decoration:none;font-weight:750;font-size:13px;border-radius:10px;padding:12px 18px;transition:transform .2s,background .2s}.em-btn:hover{transform:translateY(-2px)}.em-btn-gold{background:#ffdc3d;color:#143823}.em-btn-outline{border:1px solid #b1d4bf;color:#fff;background:rgba(0,0,0,.1)}.em-btn-green{background:#05623c;color:#fff}
.em-hero-edge{position:absolute;bottom:0;left:0;width:100%;height:5px;background:linear-gradient(90deg,#ffdb37 0%,#ffdb37 42%,transparent 42%);pointer-events:none}
.em-quick-section{background:#fff;padding:20px 24px 30px}.em-quick-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.em-quick-card{min-height:132px;border:1px solid #e7ece8;border-radius:14px;background:#f8faf8;text-decoration:none;color:#123c29;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;padding:16px 12px;box-shadow:0 3px 15px rgba(0,50,30,.035);transition:transform .2s,box-shadow .2s}.em-quick-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px rgba(0,50,30,.12)}.em-icon{font-size:34px;line-height:1.1;color:#06713e}.em-quick-card strong{font-size:16px}.em-quick-card small{font-size:12px;color:#64766b}
.em-container{width:min(1180px,calc(100% - 44px));margin:0 auto}.em-section{padding:76px 0}.em-section-kicker{display:block;color:#0b7950;font-size:11px;font-weight:800;letter-spacing:.13em;margin-bottom:10px}.em-section h2,.em-contact-banner h2{font-family:Georgia,serif;font-size:clamp(28px,3vw,42px);line-height:1.2;color:#06452e;margin:0 0 18px}.em-section p{color:#64766b;line-height:1.8;font-size:15px}.em-intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.em-text-link{display:inline-block;margin-top:10px;color:#00653d;font-weight:800;text-decoration:none}.em-highlight{padding:35px;background:#eaf3ed;border-left:5px solid #ffcf25;border-radius:14px}.em-highlight-label{font-size:11px;color:#0c7c49;font-weight:800;letter-spacing:.1em}.em-highlight h3{font:700 30px/1.2 Georgia,serif;color:#08472e;margin:14px 0}.em-highlight a{color:#07683e;font-weight:800;text-decoration:none}
.em-resources{background:#f5f8f6}.em-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.em-section-heading a{color:#05653c;font-weight:800;text-decoration:none}.em-resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.em-resource-grid>a{padding:28px;border-radius:14px;background:white;border:1px solid #e2ebe5;text-decoration:none;color:#0d3c2b}.em-resource-icon{font-weight:800;color:#087344;font-size:13px}.em-resource-grid h3{font-size:20px;margin:18px 0 8px}.em-resource-grid p{font-size:14px;margin:0 0 18px}.em-resource-grid a>span:last-child{font-weight:800;color:#0b7446}
.em-updates-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.em-update-list{border-top:1px solid #dce8e0}.em-update-list a{display:grid;grid-template-columns:110px 1fr 20px;gap:12px;align-items:center;border-bottom:1px solid #dce8e0;padding:21px 5px;text-decoration:none;color:#16412d}.em-update-list a span{font-size:10px;font-weight:800;letter-spacing:.07em;color:#087344}.em-update-list a strong{font-size:15px}.em-update-list a b{color:#087344}
.em-contact-banner{background:#03472d;color:white;padding:45px 0}.em-contact-banner>.em-container{display:flex;align-items:center;justify-content:space-between;gap:24px}.em-contact-banner span{color:#ffdc3d;font-size:11px;font-weight:800;letter-spacing:.1em}.em-contact-banner h2{color:white;margin:8px 0}.em-contact-banner p{margin:0;color:#d5e9dd}.em-contact-banner a{background:#ffdc3d;color:#073e29;border-radius:10px;padding:14px 20px;text-decoration:none;font-weight:800;white-space:nowrap}
@media(max-width:1000px){.em-hero-panel{width:56%;padding-left:5%}.em-hero h1{font-size:clamp(30px,4vw,43px)}.em-intro-grid,.em-updates-grid{gap:30px}}
@media(max-width:720px){body:has(.em-home) .branding{min-height:88px}body:has(.em-home) .brand img{width:60px;height:60px}body:has(.em-home) .brand-copy strong{font-size:18px}.em-search{display:none}.em-hero{height:490px}.em-hero-photo{object-position:55% center}.em-hero-panel{width:100%;clip-path:none;background:linear-gradient(90deg,rgba(0,62,39,.94),rgba(0,62,39,.65) 65%,rgba(0,62,39,.14));padding:26px}.em-hero-copy{max-width:340px}.em-hero h1{font-size:37px}.em-quick-grid{grid-template-columns:repeat(2,1fr)}.em-quick-card{min-height:115px}.em-intro-grid,.em-updates-grid,.em-resource-grid{grid-template-columns:1fr}.em-section{padding:48px 0}.em-contact-banner>.em-container{flex-direction:column;align-items:start}.em-section-heading{align-items:start;flex-direction:column}.em-update-list a{grid-template-columns:75px 1fr 15px}}
@media(max-width:420px){.em-hero{height:460px}.em-hero h1{font-size:32px}.em-hero p{font-size:13px}.em-quick-section{padding:14px}.em-quick-grid{gap:9px}.em-quick-card strong{font-size:14px}.em-quick-card small{font-size:11px}}

/* Design 1 fidelity improvements, scoped to homepage */
body:has(.em-design1-final) .em-search{position:relative;align-items:center;overflow:visible;border-radius:28px;width:315px;height:44px}
body:has(.em-design1-final) .em-search .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body:has(.em-design1-final) .em-search input{flex:1;height:100%;border-radius:28px 0 0 28px}
body:has(.em-design1-final) .em-search button{height:44px;border-radius:0 28px 28px 0;font-size:24px}
.em-design1-final .em-hero{height:clamp(330px,28vw,430px);background:#e9ede8;isolation:isolate}
.em-design1-final .em-hero-image-wrap{position:absolute;inset:0 0 0 32%;overflow:hidden;z-index:-1;background:#e9ede8}
.em-design1-final .em-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 37%;z-index:auto;max-width:none}
.em-design1-final .em-hero-panel{width:44%;max-width:none;clip-path:polygon(0 0,88% 0,100% 50%,88% 100%,0 100%);background:#005032;padding:25px 6.5% 25px max(3.5%,calc((100vw - 1360px)/2));z-index:2}
.em-design1-final .em-hero h1{font-size:clamp(30px,3.15vw,50px);line-height:1.07;margin:12px 0}
.em-design1-final .em-hero p{font-size:14px;line-height:1.6;margin-bottom:18px}
.em-design1-final .em-quick-section{padding:12px 20px 18px;background:#fff}
.em-design1-final .em-quick-grid{max-width:1300px;gap:12px}
.em-design1-final .em-quick-card{min-height:105px;padding:12px;background:#fff;border:1px solid #edf0ed;border-radius:12px;box-shadow:0 3px 15px rgba(0,40,22,.06)}
.em-design1-final .em-icon{font-size:28px}
.em-design1-final .em-quick-card strong{font-size:14px}
.em-design1-final .em-quick-card small{font-size:11px}
@media(max-width:900px){.em-design1-final .em-hero-panel{width:53%;padding-left:5%}.em-design1-final .em-hero-image-wrap{left:30%}.em-design1-final .em-hero h1{font-size:34px}}
@media(max-width:650px){.em-design1-final .em-hero{height:440px}.em-design1-final .em-hero-image-wrap{inset:0}.em-design1-final .em-hero-photo{object-position:50% 30%}.em-design1-final .em-hero-panel{width:100%;clip-path:none;background:linear-gradient(90deg,rgba(0,63,40,.95),rgba(0,63,40,.72) 64%,rgba(0,63,40,.14));padding:25px}.em-design1-final .em-hero-copy{max-width:310px}.em-design1-final .em-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.em-design1-final .em-quick-card{min-height:105px}}


/* FINAL: Exact selectors from Design 1. Keep hero and search as supplied. */
.em-design1-final .em-hero { margin-top: 12px !important; border: 0 !important; box-sizing: border-box !important; }
/* Hero height is fitted to the visible viewport in index.php, so the service cards
   begin below the fold on desktop instead of peeking into the initial screen. */
.em-design1-final .em-quick-section { padding: 24px 20px 32px !important; margin: 0 !important; background: #fff !important; }
.em-design1-final .em-quick-grid { max-width: 1300px; }
.em-design1-final .municipality-grid a.municipality-card { text-decoration:none; color:inherit; display:block; }
@media (max-width:650px) {
 .em-design1-final .em-hero { margin-top:8px !important; }
 .em-design1-final .em-quick-section { padding:24px 14px 30px !important; }
}


/* ==========================================
   HOMEPAGE - TRANSPARENT GREEN PANEL
========================================== */

/* Full hero background photograph */
.d1-hero {
    position: relative !important;
    isolation: isolate;
    background-image: url('../images/hero-agriculture.jpg') !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

/* Transparent green shape */
.d1-hero::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    width: 52% !important;
    height: 100% !important;

    background: rgba(0, 75, 45, 0.65) !important;

    clip-path: polygon(
        0 0,
        88% 0,
        100% 50%,
        88% 100%,
        0 100%
    ) !important;

    z-index: 0 !important;
}

/* Make the existing green content area transparent */
.d1-hero .d1-hero-content,
.d1-hero .d1-hero-left,
.d1-hero .d1-hero-text {
    background: transparent !important;
}

/* Keep text above the transparent panel */
.d1-hero-content {
    position: relative !important;
    z-index: 2 !important;
}

/* Maintain readable white text */
.d1-hero h1,
.d1-hero p {
    color: #ffffff !important;
}

/* SMALLER COMMUNITY RESOURCE BOXES */

.em-community-resources .em-resource-grid {
    align-items: start !important;
    gap: 16px !important;
}

.em-community-resources .em-resource-card {
    height: auto !important;
    min-height: 0 !important;
    align-self: start !important;
}

.em-community-resources .em-resource-card h3 {
    padding: 12px 18px !important;
}

.em-community-resources .em-resource-link-list a {
    padding: 9px 14px !important;
}

.em-community-resources .em-contact-feature {
    padding: 10px 14px !important;
}

.em-community-resources .em-calendar-grid {
    row-gap: 3px !important;
}