@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css');

/* Shared dropdowns: [open] supports native details; .is-open supports older buttons. */
.site-header .nav-dropdown,.site-header .nav-submenu{position:relative}
.site-header .nav-dropdown>summary,.site-header .nav-dropdown>button{display:flex;align-items:center;justify-content:space-between;gap:7px;border:0;background:transparent;color:inherit;font:inherit;font-weight:600;padding:10px 0;cursor:pointer;list-style:none}
.site-header summary::-webkit-details-marker{display:none}
.site-header summary::marker{content:''}
.site-header .nav-dropdown>summary:hover,.site-header .nav-dropdown>button:hover,.site-header .nav-dropdown[open]>summary,.site-header .nav-dropdown.is-open>button{color:var(--green,#087a55)}
.site-header .services-chevron{font-size:1rem;transition:transform .2s ease}
.site-header .nav-dropdown[open]>summary .services-chevron{transform:rotate(180deg)}
.site-header .dropdown-menu{display:none;position:absolute;top:100%;left:-16px;width:224px;padding:8px;background:#fff;box-shadow:0 16px 35px rgba(23,52,45,.14);z-index:70}
.site-header .site-nav .nav-dropdown[open]>.dropdown-menu,.site-header .site-nav .nav-dropdown.is-open>.dropdown-menu{display:block}
.site-header .dropdown-menu a{display:block;padding:11px 14px;color:#27694d;line-height:1.4;font-size:.93rem}
.site-header .dropdown-menu a:hover,.site-header .dropdown-menu a:focus-visible{color:#087a55;background:#f2f8f3}
.site-header .services-dropdown>.services-menu{left:-16px;width:260px;padding:5px 0;border-top:2px solid #087a55;overflow:visible}
.site-header .nav-submenu>summary,.site-header .nav-submenu>button{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;list-style:none;border:0;background:transparent;text-align:left;font:inherit;padding:17px 20px;cursor:pointer;color:#087a55;font-size:.98rem;font-weight:600;line-height:1.4}
.site-header .nav-submenu>summary:hover,.site-header .nav-submenu[open]>summary,.site-header .nav-submenu.is-open>button{background:#f1f7f1;color:#005f47}
.site-header .nav-submenu>summary span{font-size:1.18rem;line-height:1}
.site-header .nav-submenu>.submenu-items{display:none;position:absolute;left:100%;top:-2px;width:355px;max-height:min(72vh,630px);overflow-y:auto;padding:8px 0;background:#fff;box-shadow:0 16px 35px rgba(23,52,45,.14);border-top:2px solid #087a55;z-index:75}
.site-header .site-nav .nav-submenu[open]>.submenu-items,.site-header .site-nav .nav-submenu.is-open>.submenu-items{display:block}
.site-header .submenu-items a{display:block;white-space:normal;padding:12px 19px;line-height:1.4}
@media(max-width:900px){
 .site-header .site-nav .nav-dropdown{width:100%}
 .site-header .site-nav .nav-dropdown>summary,.site-header .site-nav .nav-dropdown>button{width:100%;text-align:left;padding:15px 0;white-space:normal;touch-action:manipulation}
 .site-header .site-nav .dropdown-menu{display:none;position:static;width:100%;margin-top:2px;box-shadow:none;visibility:visible;opacity:1;transform:none;max-height:none;overflow:visible}
 .site-header .site-nav .nav-dropdown[open]>.dropdown-menu,.site-header .site-nav .nav-dropdown.is-open>.dropdown-menu{display:block}
 .site-header .services-dropdown>.services-menu{left:auto;background:#f6faf7;border-top:0}
 .site-header .nav-submenu>summary,.site-header .nav-submenu>button{padding:14px 18px;touch-action:manipulation}
 .site-header .site-nav .nav-submenu>.submenu-items{display:none;position:static;width:100%;max-height:none;overflow:visible;visibility:visible;opacity:1;transform:none;border:0;box-shadow:none;background:#fff;padding:2px 0 8px 14px}
 .site-header .site-nav .nav-submenu[open]>.submenu-items,.site-header .site-nav .nav-submenu.is-open>.submenu-items{display:block}
 .site-header .nav-submenu[open]>summary span{transform:rotate(90deg)}
 .site-header .services-dropdown::after,.site-header .nav-submenu::after{content:none;display:none;pointer-events:none}
}
@media(prefers-reduced-motion:reduce){.site-header .services-chevron{transition:none}}

/* Service listing and detail pages */
.services-directory h2{font-size:clamp(1.6rem,3vw,2.35rem);margin:0 0 24px}
.services-directory h2:not(:first-child){margin-top:70px}
.services-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.services-directory-grid article{border-top:2px solid #087a55;padding:19px 5px 15px}
.services-directory-grid h3{font-size:1.16rem;letter-spacing:-.02em}
.services-directory-grid p{color:#5f736e;margin:0 0 16px}
.services-directory-grid article>a,.service-detail-aside a{color:#087a55;font-weight:700}
.service-detail-hero{padding-bottom:75px}
.service-detail-hero h1{max-width:900px}
.service-detail-hero p{max-width:780px;font-size:1.1rem;margin-bottom:30px}
.service-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;font-size:.87rem;color:#557067;margin-bottom:35px}
.service-breadcrumb a:hover{text-decoration:underline}
.service-detail-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.7fr);gap:80px}
.service-detail-body p{font-size:1.05rem;color:#506762}
.service-detail-aside{background:#eaf4ef;padding:28px;align-self:start}
.service-detail-aside h3{font-size:1.25rem}
.service-detail-aside a{display:block;margin-top:14px}
@media(max-width:900px){
 .services-dropdown>.services-menu{width:100%;max-height:none;overflow:visible}
 .services-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-detail-layout{grid-template-columns:1fr;gap:35px}
}
@media(max-width:580px){.services-directory-grid{grid-template-columns:1fr}.services-directory h2:not(:first-child){margin-top:48px}}
.service-detail-body h2:not(:first-of-type){margin-top:36px}
.service-highlights{list-style:none;padding:0;margin:18px 0 30px}
.service-highlights li{position:relative;padding:12px 0 12px 27px;border-bottom:1px solid #d9e4df;font-size:1rem;line-height:1.6}
.service-highlights li::before{content:'✓';position:absolute;left:0;color:#087a55;font-weight:800}


.btn-nav-cta{position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,#0da972,var(--green));border:0;transition:transform .25s ease,box-shadow .25s ease;box-shadow:0 4px 14px rgba(13,169,114,.35)}
.btn-nav-cta span{position:relative;z-index:2;display:inline-flex;align-items:center;gap:8px}
.btn-nav-cta span:after{content:'→';display:inline-block;transition:transform .3s ease}
.btn-nav-cta:before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-120%);transition:transform .6s ease}
.btn-nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(13,169,114,.5)}
.btn-nav-cta:hover:before{transform:translateX(120%)}
.btn-nav-cta:hover span:after{transform:translateX(4px)}
@keyframes navCtaPulse{0%,100%{box-shadow:0 4px 14px rgba(13,169,114,.35)}50%{box-shadow:0 4px 20px rgba(13,169,114,.65)}}
.btn-nav-cta{animation:navCtaPulse 2.8s ease-in-out infinite}
