:root{--green:#0e4137;--green-mid:#197361;--accent:#eb9d21;--text:#555;--text-dark:#222;--muted:#666;--bg:#fff;--bg-soft:#f5f7f6;--border:#e4e8e6;--shadow:0 10px 30px rgba(14, 65, 55, 0.1);--radius:8px;--max:1100px;--header-h:72px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);font-size:16px;line-height:1.7;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:var(--green);text-decoration:none}a:hover{color:var(--green-mid)}h1,h2,h3,h4{color:var(--text-dark);line-height:1.25;margin:0 0 .6em;font-weight:700}p{margin:0 0 1em}ul{padding-left:1.2em}.container{width:min(100% - 2rem,var(--max));margin-inline:auto}.container.narrow{width:min(100% - 2rem,720px)}.skip-link{position:absolute;left:-999px;top:0;background:var(--green);color:#fff;padding:.5rem 1rem;z-index:1000}.skip-link:focus{left:.5rem;top:.5rem}.site-header{position:sticky;top:0;z-index:100;background:var(--green);border-bottom:1px solid rgba(255,255,255,8%);box-shadow:0 2px 8px rgba(0,0,0,.15)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:var(--header-h);gap:1rem}.logo img{width:auto;height:48px}.site-nav .nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.25rem}.nav-link,.nav-dropdown a{display:block;padding:.55rem .9rem;color:#fff;font-weight:600;font-size:.95rem;border-radius:4px}.nav-link:hover,.nav-link.is-active,.nav-dropdown a:hover,.nav-dropdown a.is-active{color:var(--accent)}.nav-item.has-children{position:relative}.nav-dropdown{display:none;position:absolute;top:100%;left:0;min-width:200px;margin:0;padding:.4rem 0;list-style:none;background:var(--green);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);box-shadow:var(--shadow)}.nav-item.has-children:hover .nav-dropdown,.nav-item.has-children:focus-within .nav-dropdown{display:block}.nav-toggle{display:none;width:44px;height:44px;border:0;background:0 0;cursor:pointer;padding:10px}.nav-toggle span{display:block;height:2px;margin:5px 0;background:#fff;border-radius:2px;transition:.2s}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border-radius:5px;border:2px solid transparent;transition:background .2s,color .2s,border-color .2s,transform .15s;cursor:pointer}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--green);color:#fff;border-color:var(--green)}.btn-primary:hover{background:var(--green-mid);color:#fff;border-color:var(--green-mid)}.btn-outline{background:0 0;color:var(--green);border-color:var(--green)}.btn-outline:hover{background:var(--green);color:#fff}.hero{position:relative;min-height:clamp(360px,62vh,560px);display:flex;align-items:center;background:linear-gradient(90deg,rgba(14,65,55,.72) 0%,rgba(14,65,55,.35) 55%,rgba(0,0,0,.15) 100%),var(--hero-image)50%/cover no-repeat;color:#fff}.hero-content{padding:4.5rem 0;max-width:820px;text-shadow:0 0 .3em rgba(0,0,0,.4)}.hero-kicker{margin:0 0 .75rem;font-size:clamp(.95rem,2vw,1.15rem);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff}.hero-title{color:#fff;font-size:clamp(1.7rem,4.5vw,2.85rem);font-weight:700;line-height:1.2;margin-bottom:1.5rem;max-width:18ch}.section{padding:3.5rem 0}.section-title{text-align:center;font-size:clamp(1.6rem,3vw,2.15rem);margin-bottom:2rem;color:var(--text-dark)}.page-hero{background:var(--bg-soft);padding:3rem 0 2.25rem;border-bottom:1px solid var(--border)}.page-hero h1{font-size:clamp(1.9rem,4vw,2.6rem);margin-bottom:.4rem;color:var(--green)}.page-lede{font-size:1.1rem;color:var(--muted);max-width:40rem;margin:0}.icon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.icon-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;padding:1.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text-dark);transition:border-color .2s,box-shadow .2s,transform .15s}.icon-card:hover{border-color:var(--green-mid);box-shadow:var(--shadow);transform:translateY(-2px);color:var(--green)}.icon-card-icon{color:var(--green)}.icon-card-title{font-weight:600;font-size:1.05rem}.service-row{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center;margin-bottom:3.5rem}.service-row:last-child{margin-bottom:0}.service-row-reverse .service-media{order:2}.service-row-reverse .service-body{order:1}.service-media{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:var(--bg-soft)}.service-media img{width:100%;aspect-ratio:4/3;object-fit:cover}.service-body h2{color:var(--green);font-size:1.55rem;text-transform:uppercase;letter-spacing:.02em}.service-body p{margin-bottom:1.25rem}.detail-hero{position:relative;min-height:340px;display:flex;align-items:center;background:linear-gradient(rgba(14,65,55,.78),rgba(14,65,55,.68)),var(--hero-image)50%/cover no-repeat;color:#fff}.detail-hero-content{padding:3.5rem 0}.detail-hero h1{color:#fff;font-size:clamp(2rem,4vw,2.8rem);margin-bottom:.5rem}.detail-sub{font-size:1.15rem;max-width:36rem;margin-bottom:1.5rem;color:rgba(255,255,255,.95)}.detail-body h2{color:var(--green);font-size:1.4rem}.detail-body ul{margin:0 0 1.5rem;padding-left:1.1em}.detail-body li{margin-bottom:.45rem}.detail-cta{margin-top:2rem}.contact-section{background:linear-gradient(180deg,#fff 0%,var(--bg-soft) 100%)}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.contact-card{display:flex;flex-direction:column;gap:.35rem;padding:1.75rem 1.5rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px rgba(14,65,55,6%);color:inherit;transition:border-color .2s,box-shadow .2s,transform .15s;min-height:200px}a.contact-card:hover{border-color:var(--green);box-shadow:var(--shadow);transform:translateY(-3px);color:inherit}.contact-card-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:rgba(14,65,55,8%);color:var(--green);margin-bottom:.5rem}.contact-card h2{font-size:1.1rem;color:var(--green);margin:0}.contact-card p{margin:0;font-size:1.05rem;color:var(--text-dark);font-weight:600;word-break:break-word}.contact-card-action{margin-top:auto;padding-top:1rem;font-size:.9rem;font-weight:600;color:var(--green-mid);display:inline-flex;align-items:center;gap:.35rem}.contact-card-static .contact-card-action{color:var(--muted);font-weight:500}.site-footer{background:var(--green);color:#fff;margin-top:2rem}.footer-grid{display:flex;flex-direction:column;align-items:center;gap:1.75rem;padding:2.75rem 0 2.25rem;text-align:center}.footer-brand img{width:min(240px,70%);margin-inline:auto}.footer-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 1.75rem;width:100%}.footer-item{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:0;color:#fff;white-space:nowrap}@media(max-width:720px){.footer-meta{flex-direction:column;gap:.75rem}.footer-item{white-space:normal}}.footer-item a{color:#fff}.footer-item a:hover{color:var(--accent)}.footer-icon{display:inline-flex;opacity:.9}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding:.9rem 0;font-size:.9rem;opacity:.85;text-align:center}.footer-bottom p{margin:0}.simple-list{list-style:none;padding:0}.simple-list li{margin-bottom:.5rem}@media(max-width:900px){.icon-grid{grid-template-columns:repeat(2,1fr)}.service-row,.service-row-reverse{grid-template-columns:1fr}.service-row-reverse .service-media,.service-row-reverse .service-body{order:0}.contact-grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.nav-toggle{display:block}.site-nav{position:fixed;inset:var(--header-h)0 auto 0;background:var(--green);border-bottom:1px solid rgba(255,255,255,8%);box-shadow:var(--shadow);max-height:0;overflow:hidden;transition:max-height .25s ease}.site-nav.is-open{max-height:80vh;overflow:auto}.site-nav .nav-list{flex-direction:column;align-items:stretch;padding:.75rem 1rem 1.25rem;gap:0}.nav-item.has-children .nav-dropdown{display:block;position:static;border:0;box-shadow:none;padding:0 0 0 .75rem}.hero-title{max-width:none}.icon-grid{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr}.hero{min-height:420px}}@media(max-width:420px){.icon-grid{grid-template-columns:1fr}.logo img{height:40px}}