/* Multi-page TERGRES site: grouped service navigation and interior pages.
   Do not override the approved header/footer logo artwork. */
html{scroll-padding-top:102px}
.site-header{isolation:isolate}
.site-header .nav-layout{gap:24px}
.desktop-nav{gap:clamp(15px,2.2vw,32px)}
.desktop-nav > a[aria-current="page"]{color:#086eb7}
.services-dropdown.is-current > summary{color:#086eb7}
.services-panel{width:min(900px,calc(100vw - 46px));padding:19px!important;z-index:110}
.services-panel .services-overview{padding:8px 9px 17px!important;font-size:14px;font-weight:800;display:flex;justify-content:space-between;align-items:center}
.services-groups{margin:15px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.services-group{list-style:none;background:#f5f9fd;border:1px solid #e2ecf5;border-radius:9px;padding:13px 15px 12px}
.services-group-title{display:flex;justify-content:space-between;align-items:center;gap:6px;color:#0a4374!important;font-size:12px!important;text-transform:uppercase;letter-spacing:.5px;font-weight:900!important;margin-bottom:6px;padding:4px 5px 8px;border-bottom:1px solid #dfe9f2}
.services-group-title:hover{color:#006fbb!important}
.services-group-links{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:0}
.services-group-links li{min-width:0}
.services-group-links a{display:block;padding:6px 5px!important;font-size:12px!important;line-height:1.35;font-weight:650!important;color:#435b74!important;border-radius:4px}
.services-group-links a:hover,.services-group-links a:focus-visible{background:#e6f2ff;color:#075b9b!important}
.page-hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#08192f 0%,#0c2849 63%,#13416e 100%);color:white;padding:76px 0 78px}
.page-hero:after{content:"";position:absolute;right:-140px;top:-180px;width:540px;height:540px;border:1px solid #9fcaff22;border-radius:50%;pointer-events:none}
.page-hero .container{position:relative;z-index:1}
.page-hero .kicker{display:block;color:#75bfff;margin-bottom:22px}
.page-hero h1{font-size:clamp(40px,5.5vw,67px);font-weight:900;letter-spacing:-2px;line-height:1.08;margin:0 0 19px;max-width:900px}
.page-hero h1 em{font-weight:500;font-style:normal;color:#69bbff}
.page-hero p{font-size:clamp(15px,1.7vw,18px);line-height:1.75;color:#c8dded;max-width:690px;margin:0}
.page-hero .hero-actions{margin-top:26px}
.page-hero .text-link{color:white}
.page-content{background:#fff}
.category-jump{background:#f6f9fc;border-bottom:1px solid #e5edf6}
.category-jump .container{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px}
.category-jump a{display:inline-flex;align-items:center;min-height:42px;padding:9px 15px;border:1px solid #ccdeef;color:#114a79;border-radius:999px;background:white;font-size:13px;font-weight:750}
.category-jump a:hover,.category-jump a:focus-visible{background:#e5f2ff;border-color:#87b9e3}
.category-jump strong{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#71869b;margin-right:8px}
.service-categories{padding-top:20px;padding-bottom:80px}
.service-category{padding:64px 0 20px;scroll-margin-top:95px}
.service-category+.service-category{border-top:1px solid #e2e9f1}
.service-category-header{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}
.service-category-header h2{font-size:clamp(31px,4vw,43px)}
.service-category-header p{max-width:420px;margin:0;font-size:14px;line-height:1.7;color:#587087}
.service-category .service-grid{margin-top:25px}
.service-card{scroll-margin-top:103px}
.service-category .service-card{min-height:unset}
.service-card .service-link{color:#096eb5}
.service-category .service-link:hover{text-decoration:underline}
.service-category-label{font-size:10px;font-weight:800;letter-spacing:1.5px;color:#076fae}
.home-services{background:#f6f9fc}
.home-services .section-head h2{max-width:720px}
.home-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.home-feature-card{display:flex;flex-direction:column;overflow:hidden;background:white;border-radius:10px;border:1px solid #dfe8f1;box-shadow:0 6px 25px #163a5e08;transition:transform .2s,box-shadow .2s}
.home-feature-card:hover,.home-feature-card:focus-visible{transform:translateY(-3px);box-shadow:0 16px 35px #163a5e18;border-color:#9ccbe9}
.home-feature-card img{width:100%;height:150px;object-fit:cover}
.home-feature-content{display:flex;flex:1;flex-direction:column;padding:20px}
.home-feature-card h3{margin:0 0 8px;color:#102d4d;font-size:18px;line-height:1.35}
.home-feature-card p{margin:0 0 20px;font-size:13px;line-height:1.7;color:#64798e}
.home-feature-card .home-feature-link{margin-top:auto;color:#0873c1;font-size:13px;font-weight:800}
.section-cta{margin-top:34px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.btn-outline{background:transparent;color:#123e6b;border:1px solid #91b9dd;box-shadow:none}
.btn-outline:hover{background:#e6f3ff}
.home-about{background:#fff;padding:88px 0}
.home-about-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:80px;align-items:center}
.home-about h2{font-size:clamp(34px,4.7vw,54px);margin:18px 0 19px}
.home-about p{max-width:625px;font-size:16px;color:#61768b;line-height:1.8}
.home-about .section-cta{margin-top:25px}
.home-about-panel{border:1px solid #dbe8f4;border-top:4px solid #0878df;padding:35px;border-radius:8px;background:#f5f9fd}
.home-about-panel strong{display:block;font-size:30px;color:#0b2c4b;letter-spacing:-.8px}
.home-about-panel span{display:block;font-size:13px;color:#5d7084;line-height:1.7;margin-top:8px}
.home-about-panel .panel-divider{height:1px;background:#d8e5f0;margin:23px 0}
.site-next-step{background:#0b2748;color:white;padding:73px 0}
.site-next-step .container{display:flex;justify-content:space-between;align-items:center;gap:35px}
.site-next-step h2{color:white;font-size:clamp(31px,4vw,47px)}
.site-next-step p{color:#bcd4e8;line-height:1.7;max-width:590px;margin:12px 0 0}
.site-next-step .btn{flex:0 0 auto}
.page-standalone-section{padding-top:70px;padding-bottom:85px}
.page-standalone-section.about{padding-top:0;padding-bottom:0}
.page-standalone-section .about-grid{padding-top:30px;padding-bottom:30px}
.page-standalone-section .faq-grid{padding-top:0}
.page-standalone-section .approach-grid{padding-top:0}
.page-section-heading{max-width:820px;padding:60px 0 20px}
.page-section-heading p{line-height:1.8;color:#627789;margin:12px 0 0}
.page-service-note{margin-top:35px;padding:20px;border-left:4px solid #0b86df;background:#edf7ff;color:#285478;line-height:1.6;font-size:14px}
.page-service-note a{color:#096eb5;font-weight:800;text-decoration:underline}
.contact-page .contact{padding-top:75px}
.contact-page .contact-copy{padding-top:0}

.contact-page .contact-copy h1{font-size:clamp(42px,4.7vw,60px);line-height:1.14;letter-spacing:-2.2px;color:#fff;margin:0 0 24px;font-weight:900}
.contact-page .contact-copy h1 em{font-style:normal;font-weight:500;color:#4cabef}
.privacy-document h2{letter-spacing:-.5px}
.footer-links{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1100px){.nav-layout{gap:19px!important}.desktop-nav{gap:17px!important}.nav-cta{padding:12px 13px;gap:8px}}
@media(max-width:840px){
  .services-panel{position:static!important;width:100%!important;max-height:none!important;padding:8px 0!important;box-shadow:none!important;border:0!important;border-left:2px solid #b9d9f4!important;background:#fff}
  .mobile-menu{overscroll-behavior:contain;max-height:calc(100dvh - 72px);overflow-y:auto}
  .mobile-menu .services-groups{grid-template-columns:1fr;gap:8px;margin:9px 0 0}
  .mobile-menu .services-group{background:#f5f9fd;padding:9px}
  .mobile-menu .services-group-title{margin:0 0 5px;padding:9px 7px!important}
  .mobile-menu .services-group-links{grid-template-columns:1fr 1fr;gap:2px 9px}
  .mobile-menu .services-group-links a{font-size:13px!important;padding:10px 7px!important;min-height:40px}
  .mobile-menu .services-overview{padding:10px!important;font-weight:850}
  .home-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-about-grid{gap:35px}
  .service-category-header{display:block}
  .service-category-header p{margin-top:11px;max-width:650px}
  .site-next-step .container{align-items:flex-start;flex-direction:column}
}
@media(max-width:580px){
  .page-hero{padding:47px 0 53px}
  .page-hero h1{font-size:clamp(36px,10vw,46px);letter-spacing:-1.3px}
  .page-hero .hero-actions .btn{width:100%}
  .category-jump .container{flex-wrap:nowrap;overflow-x:auto;padding-bottom:14px}
  .category-jump strong{flex:0 0 auto}
  .category-jump a{flex:0 0 auto;white-space:nowrap}
  .service-categories{padding-top:0;padding-bottom:48px}
  .service-category{padding:40px 0 26px}
  .service-category-header h2{font-size:32px}
  .home-feature-grid{grid-template-columns:1fr;gap:12px}
  .home-feature-card{flex-direction:row;min-height:145px}
  .home-feature-card img{width:38%;height:auto;min-height:145px;object-fit:cover}
  .home-feature-content{padding:16px 14px}
  .home-feature-card h3{font-size:16px}
  .home-feature-card p{font-size:12px;margin-bottom:9px}
  .home-about{padding:61px 0}
  .home-about-grid{grid-template-columns:1fr}
  .home-about-panel{padding:24px}
  .site-next-step{padding:54px 0}
  .site-next-step .btn{width:100%}
  .page-standalone-section{padding-top:42px;padding-bottom:50px}
  .mobile-menu .services-group-links{grid-template-columns:1fr}
  .mobile-menu .services-groups{gap:7px}
  .footer-links{justify-content:flex-start}
  .contact-page .contact{padding-top:45px}
  .contact-page .contact-copy h1{font-size:clamp(40px,10vw,47px)}
}


/* Compact, one-click language switch. No dropdown or JavaScript required. */
.site-header .lang-switcher{position:relative;z-index:130;flex:0 0 auto;white-space:nowrap}
.site-header .language-switch{display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:40px;padding:9px 13px!important;border:1px solid #d3e2ef;border-radius:7px;background:#f2f7fc;color:#164368!important;text-decoration:none!important;font-size:13px!important;font-weight:800!important;line-height:1!important;letter-spacing:0!important;white-space:nowrap;transition:background .15s,border-color .15s}
.site-header .language-switch:hover{background:#e1f1fc;border-color:#89bade;color:#074b7b!important}
.site-header .language-switch:focus-visible{outline:2px solid #087ecd;outline-offset:3px}
.site-header .language-switch svg{display:block!important;flex:none!important;width:17px!important;height:17px!important;max-width:17px!important;max-height:17px!important;stroke:currentColor}
.site-header .language-switch span{display:inline!important;white-space:nowrap}
.home-spanish-note{display:flex;align-items:center;flex-wrap:wrap;gap:9px;color:#e3f3ff;font-size:13px;font-weight:750;margin:18px 0 4px}
.home-spanish-note>span{color:#73c0ff}
.home-spanish-note a{color:#97d2ff;text-underline-offset:3px;text-decoration:underline}
.home-spanish-note a:hover{color:#fff}
.footer-language{display:flex;gap:8px;align-items:center;justify-content:flex-end;color:#d9e9f5;font-size:13px;font-weight:700;margin:30px 0 0}
.footer-language a{color:#93cfff;text-decoration:underline;text-underline-offset:3px}
.footer-language a:hover{color:white}
.contact-spanish-note{padding:11px 15px;border-left:3px solid #64bafa;background:#103c66;color:#dceeff;line-height:1.55;font-size:14px;margin:18px 0 0}
.contact-spanish-note a{color:#9ad8ff;font-weight:800;text-decoration:underline;text-underline-offset:3px}
/* Use the responsive navigation earlier when Spanish labels need more room. */
@media(min-width:841px) and (max-width:1380px){
  .site-header .nav-layout{gap:12px!important}
  .site-header .desktop-nav,.site-header .nav-cta{display:none!important}
  .site-header .lang-switcher{margin-left:auto;margin-right:9px}
  .site-header .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:1px solid #d8e5f0;border-radius:5px;background:#fff;padding:10px;margin-left:0}
  .site-header .menu-toggle span{display:block;height:2px;width:100%;background:#183d61}
  .site-header .mobile-menu:not([hidden]){display:flex;flex-direction:column;padding:12px 24px 22px;border-top:1px solid #e9eff5;background:#fff;box-shadow:0 15px 20px #102a4615;max-height:calc(100dvh - 84px);overflow-y:auto}
  .site-header .mobile-menu a{padding:12px 9px;color:#263f5d;font-weight:800;font-size:13px}
  .site-header .mobile-menu .mobile-menu-cta{background:#0b294a;color:#fff;border-radius:4px;margin-top:7px;text-align:center}
  .site-header .mobile-menu .services-panel{position:static!important;width:100%!important;max-height:none!important;padding:8px 0!important;box-shadow:none!important;border:0!important;border-left:2px solid #b9d9f4!important;background:#fff}
  .site-header .mobile-menu .services-groups{grid-template-columns:1fr;gap:8px;margin:9px 0 0}
  .site-header .mobile-menu .services-group{background:#f5f9fd;padding:9px}
  .site-header .mobile-menu .services-group-title{margin:0 0 5px;padding:9px 7px!important}
  .site-header .mobile-menu .services-group-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 9px}
  .site-header .mobile-menu .services-group-links a{font-size:13px!important;padding:10px 7px!important;min-height:40px}
  .site-header .mobile-menu .services-overview{padding:10px!important;font-weight:850}
}
@media(max-width:840px){
  .site-header .lang-switcher{margin-left:auto;margin-right:9px;position:relative;z-index:2}
  .site-header .menu-toggle{margin-left:0}
  .footer-language{justify-content:flex-start}
}
@media(max-width:580px){
  .site-header .nav-layout{gap:5px!important}
  .site-header .language-switch{padding:9px 10px!important;min-height:40px;gap:6px!important;font-size:12px!important}
  .site-header .language-switch svg{width:16px!important;height:16px!important}
  .site-header .lang-switcher{margin-right:7px}
  .home-spanish-note{margin:13px 0 3px}
  .footer-language{flex-wrap:wrap;justify-content:flex-start}
}
