/* Use one optical size and stroke family instead of font-dependent symbols. */
.icon{display:inline-block;width:24px;height:24px;flex-shrink:0;vertical-align:middle}
.button .icon{width:24px;height:24px;stroke-width:2}
.button>span,.hero-secondary>span,.text-link>span,.announcement a>span,.need-tabs b{display:inline-flex;align-items:center;justify-content:center}
.announcement .icon{width:18px;height:18px}
.hero-secondary .icon{width:25px;height:25px}
.button .icon,.hero-secondary .icon,.text-link .icon{transition:transform .2s ease}
.button:hover .icon,.hero-secondary:hover .icon,.text-link:hover .icon{transform:translateX(3px)}
.need-symbol{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:var(--pale);min-width:46px}
.need-symbol .icon{width:26px;height:26px}
.need-tabs b .icon{width:21px;height:21px}
.caption-icon .icon{width:27px;height:27px;stroke-width:2}
.trust-icon svg.icon{width:28px;height:28px;stroke-width:1.8}
.community-heading .icon{width:25px;height:25px;color:var(--mint)}
.questions summary>span{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0}
.questions summary .icon{width:21px;height:21px}
.menu-toggle .icon{width:19px;height:19px}
.close-dialog{width:38px;height:38px;display:flex;align-items:center;justify-content:center;right:10px;top:10px}
.close-dialog .icon{width:22px;height:22px}
.footer-top>a:last-child{display:inline-flex;align-items:center;gap:10px}
.footer-top>a:last-child .icon{width:17px;height:17px}
.contact-card #contact-links a{display:flex;align-items:center;gap:11px}
.contact-card #contact-links .icon{width:20px;height:20px}
li:before{content:'';width:7px;height:12px;border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(42deg);top:3px;left:3px}
/* A compact vector symbol and lighter live wordmark stay crisp at every size. */
.brand{position:relative;display:flex;align-items:center;gap:9px;width:auto;height:auto;overflow:visible;flex-shrink:0;letter-spacing:normal}
.logo-symbol{width:75px;height:75px;flex-shrink:0;color:var(--pink)}
.logo-wordmark{display:flex;flex-direction:column;font-family:Manrope,sans-serif;font-size:27px;font-weight:700;line-height:.96;letter-spacing:-1.4px;color:#252a35}
.logo-wordmark .logo-group{font-size:13px;font-weight:500;line-height:1;letter-spacing:9px;margin-top:7px;margin-right:-9px;color:var(--pink)}
.header{padding-top:20px;padding-bottom:20px}
.footer-top .logo-symbol{width:62px;height:62px}
.footer-top .logo-wordmark{font-size:23px}
.footer-top .logo-group{font-size:11px;letter-spacing:7.5px;margin-right:-7.5px;margin-top:6px}
.button,.hero-actions .button{min-width:0;min-height:46px;padding:12px 21px;gap:22px;border-radius:9px;font-size:15px;line-height:1.5}
.button-small{min-height:44px;padding:11px 20px;gap:20px}
.button .icon{width:21px;height:21px;stroke-width:1.9}
.hero-actions{gap:26px}
@media(min-width:761px) and (max-width:900px){.logo-symbol{width:59px;height:59px}.logo-wordmark{font-size:22px}.logo-wordmark .logo-group{font-size:11px;letter-spacing:7px;margin-right:-7px}.header .button-small{padding:10px 15px;font-size:13px;gap:12px}}
@media(max-width:760px){.header{padding-top:15px;padding-bottom:15px}.logo-symbol{width:58px;height:58px}.logo-wordmark{font-size:22px;letter-spacing:-1px}.logo-wordmark .logo-group{font-size:11px;letter-spacing:7px;margin-right:-7px;margin-top:5px}.brand{gap:7px}.hero-actions{gap:18px}.hero-actions .button{padding:12px 19px;gap:19px;font-size:14px}.need-symbol{min-width:38px;width:38px;height:38px}.need-symbol .icon{width:24px;height:24px}.need-tabs button{gap:12px}.trust-icon svg.icon{width:26px;height:26px}}
@media(max-width:360px){.logo-symbol{width:52px;height:52px}.logo-wordmark{font-size:20px}.logo-wordmark .logo-group{font-size:10px;letter-spacing:6.5px;margin-right:-6.5px}.need-tabs button>span:nth-child(2){font-size:15px}}
@media(prefers-reduced-motion:reduce){.button:hover .icon,.hero-secondary:hover .icon,.text-link:hover .icon{transform:none}}
/* Display the approved original artwork; exclude only its transparent margins. */
.brand{display:block;position:relative;width:190px;height:auto;aspect-ratio:2459 / 1126;overflow:hidden}
.approved-logo{position:absolute;width:117.6088%;max-width:none;height:auto;left:-11.3054%;top:-13.2327%}
.footer-top .brand{width:175px}
@media(max-width:900px){.header .brand{width:156px}}
@media(max-width:360px){.header .brand{width:145px}}
/* Equal outer columns keep the three section links centered independently of the logo. */
@media(min-width:761px){
  .header{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto minmax(0,1fr);column-gap:35px}
  .header>.brand{grid-column:1;grid-row:1;justify-self:start}
  .header nav{display:contents}
  .header nav>a{grid-row:1;white-space:nowrap}
  .header nav>a:nth-child(1){grid-column:2}
  .header nav>a:nth-child(2){grid-column:3}
  .header nav>a:nth-child(3){grid-column:4}
  .header nav>.button{grid-column:5;justify-self:end}
}
@media(min-width:761px) and (max-width:1050px){.header{column-gap:18px}}
/* Restrained texture stays behind the copy; the photograph remains clear. */
.hero{background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.95) 1.5px,transparent 2px),repeating-linear-gradient(135deg,transparent 0,transparent 23px,rgba(110,125,148,.055) 23px,rgba(110,125,148,.055) 24px);background-size:34px 34px,34px 34px}
/* Match the hero copy's inset at every layout breakpoint. */
.header,.announcement{max-width:1680px;margin-inline:auto;padding-inline:max(32px,calc((100vw - 1290px)/2))}
.announcement-location{display:inline-flex;align-items:center;gap:12px;text-align:left}
.announcement-location .icon-pin{width:20px;height:20px;color:var(--pink);flex-shrink:0}
@media(min-width:1680px){.header,.announcement{padding-inline:100px}}
@media(max-width:1150px){.header,.announcement{padding-inline:35px}}
@media(max-width:900px){.header,.announcement{padding-inline:25px}}
@media(max-width:760px){.announcement{text-align:left}.announcement-location{gap:9px}.announcement-location .icon-pin{width:17px;height:17px}}
@media(max-width:360px){.header,.announcement{padding-inline:20px}}
