/* Shared navigation and card framing across the public site. */
.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; }
.nav-drop-services { position:static; }
.site-header-inner { position:relative; }
.nav-drop-services .services-mega {
  position:absolute; top:calc(100% - 1px); left:50%; width:min(1080px,calc(100vw - 46px));
  max-height:min(76vh,690px); overflow:auto; padding:0; border:1px solid #d6e2c8;
  border-radius:0 0 25px 25px; background:#fff; box-shadow:0 30px 75px rgba(19,48,12,.19);
  display:grid; grid-template-columns:260px minmax(0,1fr); column-gap:0;
  transform:translate(-50%,-7px); transform-origin:top center;
}
.nav-drop-services:hover .services-mega,.nav-drop-services:focus-within .services-mega,.nav-drop-services.open .services-mega { display:grid; transform:translate(-50%,0); }
.nav-drop-services:not(.open) .services-mega { opacity:0; visibility:hidden; pointer-events:none; }
.services-mega .mega-intro { padding:35px 30px; color:#fff; background:radial-gradient(circle at 0 0,rgba(178,207,68,.24),transparent 48%),linear-gradient(140deg,#24550f,#173c10); }
.services-mega .mega-overline { color:#e9be71; font-size:10px; font-weight:800; letter-spacing:.18em; }
.services-mega .mega-intro h2 { color:#fff; font-size:29px; line-height:1.08; letter-spacing:-.05em; margin:22px 0 13px; }
.services-mega .mega-intro p { color:#dfebd3; font-size:13px; line-height:1.65; margin:0 0 24px; }
.services-mega .mega-all { display:inline-flex; gap:13px; align-items:center; padding:11px 14px; border:1px solid rgba(255,255,255,.4); color:#fff; font-weight:750; }
.services-mega .mega-all:hover { background:rgba(255,255,255,.12); color:#fff; }
.services-mega .mega-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px 27px; padding:30px 34px 22px; }
.services-mega .mega-group h3 { margin:0 0 10px; color:#698c35; font-size:10px; text-transform:uppercase; letter-spacing:.14em; }
.services-mega .mega-group a { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#223b1a; font-size:13px; font-weight:650; }
.services-mega .mega-group a span { opacity:.4; }
.services-mega .mega-group a:hover span { opacity:1; }
.services-mega .mega-bottom { grid-column:2; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 34px 19px; border-top:1px solid #e8eddf; color:#66745c; font-size:12px; }
.services-mega .mega-bottom a { display:inline-flex; gap:8px; width:auto; color:#25600e; font-weight:800; white-space:nowrap; }
.home-service-card .service-card-photo,.directory-service-card .service-card-photo,.program-card.visual-card>.card-image { height:auto; aspect-ratio:8/5; min-height:0; margin:0; border-radius:0; overflow:hidden; }
.home-service-card .service-card-photo.image-ready img,.directory-service-card .service-card-photo.image-ready img,.program-card.visual-card>.card-image.image-ready img,.home-service-card .service-card-photo img,.directory-service-card .service-card-photo img,.program-card.visual-card>.card-image img { display:block; width:100%; height:100%; max-height:none; aspect-ratio:auto; object-fit:cover; object-position:center 34%; }
.directory-service-card .service-card-body { padding:23px 25px 27px; }
.program-card.visual-card { padding:0; overflow:hidden; }
.program-card.visual-card .program-card-body { padding:22px 24px 24px; }
.program-card.visual-card .program-card-body h3 { margin-top:14px; }
.program-card.visual-card .program-card-kicker { margin-bottom:0; }
.program-card.visual-card .program-features { margin:17px 0 20px; }
.program-card.visual-card .program-card-footer { margin-top:auto; }
.site-footer-refined { padding:0 0 24px; background:radial-gradient(circle at 94% 5%,rgba(123,169,43,.19),transparent 32%),#183911; }
.footer-lead { display:flex; justify-content:space-between; align-items:end; gap:40px; padding:58px 0 49px; border-bottom:1px solid rgba(255,255,255,.18); }
.footer-eyebrow { color:#e6bb70; font-size:10px; font-weight:800; letter-spacing:.17em; }
.footer-lead h2 { max-width:680px; margin:15px 0 13px; color:#fff; font-size:clamp(32px,3.4vw,52px); letter-spacing:-.055em; line-height:1.06; }
.footer-lead h2 em { color:#d6eaa7; font-family:Georgia,serif; font-weight:400; }
.footer-lead p { max-width:590px; margin:0; color:#c5d6bb; font-size:15px; }
.footer-lead-action { display:inline-flex; align-items:center; justify-content:space-between; gap:27px; min-width:230px; padding:15px 18px; border-radius:13px; background:#e6b95f; color:#23380d; text-decoration:none; font-size:14px; font-weight:800; white-space:nowrap; }
.footer-lead-action:hover { background:#f1ce84; }
.footer-main { display:grid; grid-template-columns:minmax(230px,.8fr) minmax(0,1.8fr); gap:clamp(40px,7vw,120px); padding:49px 0 45px; }
.footer-identity .site-brand-logo img { max-width:205px; }
.footer-identity p { max-width:330px; color:#c1d3b7; font-size:14px; line-height:1.7; margin:18px 0; }
.footer-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.site-footer-refined .footer-col b { color:#e8c885; font-size:10px; }
.site-footer-refined .footer-col a { color:#d7e2ce; font-size:13px; margin:8px 0; }
.site-footer-refined .footer-col a:hover { color:#f4d288; }
.site-footer-refined .footer-letter { border:1px solid rgba(255,255,255,.16); border-radius:20px; margin:0; padding:28px 33px; background:rgba(255,255,255,.065); transform:none; }
.site-footer-refined .footer-letter h3 { font-size:25px; margin:6px 0; }
.site-footer-refined .footer-letter p { font-size:13px; }
.site-footer-refined .footer-letter .site-btn { background:#e6b95f; }
.site-footer-refined .footer-bottom { margin-top:28px; padding-top:20px; color:#b2c7a9; font-size:11px; }
.site-footer-refined .footer-bottom nav { display:flex; flex-wrap:wrap; gap:14px; }
.site-footer-refined .footer-bottom a { color:#d4e2c8; text-decoration:none; }
.site-footer-refined .footer-bottom a:hover { color:#f4d288; }
@media(max-width:950px){
  .footer-main { grid-template-columns:1fr; gap:28px; }
  .footer-links { max-width:780px; }
}
@media(max-width:1220px){
  .site-header { backdrop-filter:none; -webkit-backdrop-filter:none; }
}
@media(max-width:700px){
  .footer-lead { display:block; padding:44px 0 35px; }
  .footer-lead-action { margin-top:24px; }
  .footer-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .site-footer-refined .footer-letter { padding:26px 20px; }
  .site-footer-refined .footer-bottom { display:grid; gap:13px; }
}
@media(max-width:760px){
  .home-service-card .service-card-photo,.directory-service-card .service-card-photo,.program-card.visual-card>.card-image { aspect-ratio:8/5; }
}
