/* Global design system, header and footer. Values come from "SHCC Website v2". */

@font-face{font-family:"TeX Gyre Adventor";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/texgyreadventor-regular.woff2") format("woff2"),url("../fonts/texgyreadventor-regular.woff") format("woff")}
@font-face{font-family:"TeX Gyre Adventor";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/texgyreadventor-regular.woff2") format("woff2"),url("../fonts/texgyreadventor-regular.woff") format("woff")}
@font-face{font-family:"TeX Gyre Adventor";font-style:normal;font-weight:600 800;font-display:swap;src:url("../fonts/texgyreadventor-bold.woff2") format("woff2"),url("../fonts/texgyreadventor-bold.woff") format("woff")}

:root{
	--shcc-navy:#263d89;
	--shcc-teal:#4cbdc1;
	--shcc-indigo:#575d98;
	--shcc-pale:#d5ecfa;
	--shcc-sky:#0077bf;
	--shcc-contact:#00727d;
	--shcc-green:#7cc242;
	--shcc-red:#d1383d;
	--shcc-ink:#2f3240;
	--shcc-rule:#b9d7ea;
	--shcc-hairline:#e3edf5;
	--shcc-gradient:linear-gradient(90deg,#2a388a 0%,#236c9e 28%,#1e99af 54%,#1bafb7 78%);
	--shcc-font:"TeX Gyre Adventor","ITC Avant Garde Gothic","Century Gothic",system-ui,sans-serif;
	--shcc-gutter:clamp(24px,5vw,72px);
	--shcc-header-height:clamp(84px,9vw,128px);
	--shcc-section-space:clamp(104px,12vw,176px);
	--shcc-column-gap:clamp(40px,6vw,112px);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--shcc-font);color:var(--shcc-ink);background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--shcc-navy)}
a:hover{color:var(--shcc-sky)}
::selection{background:var(--shcc-pale);color:var(--shcc-navy)}
:focus-visible{outline:2px solid var(--shcc-sky);outline-offset:3px}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}

.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--shcc-navy);color:#fff;padding:12px 16px;font-weight:700}
.skip-link:focus{left:12px;top:12px;color:#fff}

.section-pad{padding-top:var(--shcc-section-space);padding-bottom:var(--shcc-section-space)}
.section-title{margin:0;font-size:clamp(30px,3.2vw,44px);line-height:1.12;font-weight:700;color:var(--shcc-navy)}
.section-bg{position:absolute;inset:-24px;width:calc(100% + 48px);height:calc(100% + 48px);object-fit:cover;object-position:60% 40%;pointer-events:none}
.anchor-section{scroll-margin-top:128px}

/* Hero, shared by the homepage and the inner page banner. */
.hero{position:relative;overflow:hidden;background:#2e3c86;color:#fff;scroll-margin-top:200px}
.section-bg--hero{filter:blur(2px);opacity:1}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(72,160,170,0.84) 0%,rgba(58,122,158,0.82) 48%,rgba(46,60,134,0.88) 100%);pointer-events:none}
.hero__navy{position:absolute;inset:0;background:var(--shcc-navy)}
.hero__inner{position:relative;max-width:1320px;margin:0 auto;padding:clamp(104px,12vw,184px) var(--shcc-gutter) clamp(112px,13vw,200px)}
.hero__title{margin:0;max-width:min(100%,720px);font-weight:700}
.hero__title-main{display:block;font-size:clamp(36px,4.6vw,62px);line-height:1.1;letter-spacing:-0.005em;text-wrap:balance}
.hero__title-sub{display:block;margin-top:clamp(14px,1.6vw,22px);font-size:clamp(21px,2.2vw,30px);line-height:1.3;font-weight:400;text-wrap:balance}
.hero__cta{display:inline-flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:clamp(48px,5vw,72px);padding-bottom:8px;border-bottom:2px solid rgba(255,255,255,0.7);color:#fff;text-decoration:none;font-size:17px;font-weight:600;transition:border-color .2s}
.hero__cta:hover{color:#fff;border-bottom-color:#fff}

/* Header. */
.site-header{position:sticky;top:var(--wp-admin--admin-bar--height,0);z-index:50;background:#fff;border-bottom:1px solid var(--shcc-hairline)}
.site-header__bar{max-width:1320px;margin:0 auto;padding:0 var(--shcc-gutter);height:var(--shcc-header-height);display:flex;align-items:center;justify-content:space-between;gap:32px}
.site-logo{display:flex;align-items:center;flex:none}
.site-logo__img{height:clamp(58px,7.4vw,104px);width:auto}
.primary-nav{display:flex;align-items:center;gap:clamp(24px,3vw,44px)}
.primary-nav__list{display:flex;align-items:center;gap:clamp(24px,3vw,44px);list-style:none;margin:0;padding:0}
.primary-nav__list li{position:relative}
.primary-nav__list a{display:flex;align-items:center;white-space:nowrap;height:var(--shcc-header-height);font-size:15px;font-weight:600;text-decoration:none;color:var(--shcc-navy);box-shadow:inset 0 -2px 0 transparent;transition:box-shadow .2s}
.primary-nav__list a:hover{color:var(--shcc-sky)}
.primary-nav__list a[aria-current]{box-shadow:inset 0 -2px 0 var(--shcc-navy)}
.primary-nav .sub-menu{position:absolute;top:100%;left:-16px;min-width:220px;margin:0;padding:8px 0;list-style:none;background:#fff;border:1px solid var(--shcc-hairline);opacity:0;visibility:hidden;transition:opacity .2s}
.primary-nav li:hover>.sub-menu,.primary-nav li:focus-within>.sub-menu{opacity:1;visibility:visible}
.primary-nav .sub-menu a{height:auto;padding:12px 16px;white-space:normal;box-shadow:none}
.header-cta{display:inline-flex;align-items:center;background:var(--shcc-navy);color:#fff;text-decoration:none;font-size:15px;font-weight:600;padding:14px 20px;transition:background .2s}
.header-cta:hover{background:var(--shcc-sky);color:#fff}
.menu-toggle{display:none;width:48px;height:48px;align-items:center;justify-content:center;background:#fff;border:1px solid var(--shcc-rule);color:var(--shcc-navy);cursor:pointer;padding:0}
.menu-toggle__close,.menu-toggle[aria-expanded="true"] .menu-toggle__open{display:none}
.menu-toggle[aria-expanded="true"] .menu-toggle__close{display:block}
.mobile-nav{display:none;border-top:1px solid var(--shcc-hairline);background:#fff;padding:8px var(--shcc-gutter) 32px;max-height:calc(100dvh - var(--shcc-header-height));overflow-y:auto}
.mobile-nav__list,.mobile-nav .sub-menu{list-style:none;margin:0;padding:0}
.mobile-nav__list a{display:block;padding:20px 0;border-bottom:1px solid var(--shcc-hairline);font-size:19px;font-weight:600;color:var(--shcc-navy);text-decoration:none}
.mobile-nav .sub-menu a{padding-left:20px;font-size:17px}
.mobile-nav .header-cta{margin-top:24px}

@media (max-width: 900px){
	.primary-nav{display:none}
	.js .menu-toggle{display:flex}
	.mobile-nav{display:block}
	.js .mobile-nav:not(.is-open){display:none}
}

/* Footer. */
.site-footer{background:#fff;border-top:1px solid var(--shcc-hairline)}
.site-footer__main{max-width:1320px;margin:0 auto;padding:clamp(48px,5vw,64px) var(--shcc-gutter) 0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px}
.site-footer__logo{height:clamp(60px,6.4vw,88px);width:auto;max-width:100%}
.site-footer__description{margin:20px 0 0;max-width:480px;font-size:16px;line-height:1.6}
.site-footer__links{display:flex;flex-wrap:wrap;align-items:center;gap:16px 40px}
.site-footer__link{font-size:16px;font-weight:600;color:var(--shcc-navy);text-decoration:none}
.site-footer__top{display:flex;align-items:center;white-space:nowrap;gap:8px}
.site-footer__menu{display:flex;flex-wrap:wrap;gap:12px 32px;list-style:none;margin:0;padding:0}
.site-footer__menu a{font-size:16px;font-weight:600;color:var(--shcc-navy);text-decoration:none}
.site-footer__menu a:hover{color:var(--shcc-sky)}
.site-footer__menu--small a{font-size:14px;font-weight:400;color:#545a6c}
.site-footer__extra{max-width:1320px;margin:0 auto;padding:32px var(--shcc-gutter) 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px 40px}
.site-footer__address{font-style:normal;font-size:16px;line-height:1.6}
.site-footer__legal{max-width:1320px;margin:0 auto;padding:36px var(--shcc-gutter) 40px}
.site-footer__legal-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;padding-top:24px;border-top:1px solid var(--shcc-hairline)}
.site-footer__copyright{margin:0;font-size:14px;line-height:1.5;color:#545a6c}
.site-footer__bar{height:16px;background:var(--shcc-gradient)}
