/* V3 utility bar: load after version2.css. Navigation and search stay unchanged. */
.header-v2{--utility-height:38px}
.header-v2 .utility,.header-v2 .utility-inner{min-height:var(--utility-height)}
.header-v2 .utility-inner{gap:3px;padding-block:0}
.header-v2 .utility-inner>a{
  min-height:var(--utility-height);
  padding:0 11px;
  font-size:13px;
  line-height:1.25;
  gap:7px;
}
.header-v2 .utility-inner>a>.icon{width:18px;height:18px}
.header-v2 #language-toggle{
  min-height:var(--utility-height);
  padding:0 8px;
  font-size:13px;
  line-height:1.25;
}
.header-v2 #language-toggle>.icon{width:12px;height:12px}
.header-v2 #contrast-toggle{
  min-height:30px;
  padding:4px 12px;
  margin-left:8px;
  font-size:13px;
  line-height:1.25;
  gap:7px;
}
.header-v2 #contrast-toggle>.vision-icon{width:26px;height:18px}
/* Keep the language dropdown comfortably sized independently of the thin bar. */
.header-v2 .language-options{top:calc(100% + 6px)}
.header-v2 .language-options button,.header-v2 .language-options a{min-height:44px;padding:10px 12px;font-size:14px}

@media(max-width:1160px){
  .header-v2 .utility-inner>a{padding-inline:10px;font-size:12.5px}
  .header-v2 #contrast-toggle{padding-inline:11px;font-size:12.5px}
}
@media(max-width:860px){
  .header-v2{--utility-height:44px}
  .header-v2 .utility-inner{gap:0}
  .header-v2 #language-toggle{min-width:48px;padding-inline:6px;font-size:13px}
  .header-v2 #contrast-toggle{min-height:36px;padding:5px 11px;margin-left:0;font-size:13px;gap:7px}
  .header-v2 #contrast-toggle>.vision-icon{width:26px;height:20px}
  .header-v2 .nav-wrap #main-nav{
    max-height:calc(100vh - var(--utility-height) - 84px);
    max-height:calc(100dvh - var(--utility-height) - 84px);
  }
}
@media(max-width:540px){
  .header-v2 #language-toggle{min-width:44px;padding-inline:4px}
  .header-v2 #contrast-toggle{min-height:36px;padding:5px 9px;font-size:12px;gap:6px}
  .header-v2 .nav-wrap #main-nav{
    max-height:calc(100vh - var(--utility-height) - 78px);
    max-height:calc(100dvh - var(--utility-height) - 78px);
  }
}


/* V3: quieter editorial scale, edge-to-edge photos and consistent cards. */
.hero-caption h1{max-width:36ch;font-size:28px;line-height:1.28;letter-spacing:-.55px}
.hero-caption time{margin-bottom:12px}
.hero-promo>.hero-promo-photo{inset:0;width:100%;height:100%;object-fit:cover;object-position:right center}
.family-promo>.hero-promo-photo{object-position:center center}
.hero-promo .promo-copy,.family-promo .promo-copy{max-width:51%;width:51%}
.landing-grid{padding-top:1px;padding-bottom:5px}
.landing{transition:border-color .18s ease,box-shadow .18s ease}
.landing:hover{transform:none;box-shadow:none;border-color:#a8bfdc}
.landing:focus-visible{outline-offset:-4px}
.landing-scroll-hint{display:none}
.audience-symbol{width:38px;height:38px;flex-basis:38px;border-radius:10px}
.audience-symbol .icon{width:24px;height:24px}

/* A single vector outline has the same stroke width on all six sides. */
.agency-badge{position:relative;display:grid;place-items:center;flex:0 0 66px;width:66px;height:76px;background:transparent;clip-path:none;isolation:isolate}
.agency-badge>img{width:62px;height:71px;max-width:none;object-fit:contain;clip-path:polygon(50% 8%,90% 28%,90% 72%,50% 92%,10% 72%,10% 28%)}
.agency-badge>.agency-frame{position:absolute;inset:0;width:100%;height:100%;color:#9ab4d2;pointer-events:none}
.event-separator{display:inline-flex;align-items:center;justify-content:center;width:8px;height:auto;flex:0 0 8px;color:#7c91ac;font-size:17px;line-height:1;font-weight:400}

/* Fixed card height; the full text remains in the document and accessible name. */
.doc-grid{align-items:stretch}
.doc-card{height:184px;min-height:184px;max-height:184px;overflow:hidden;align-items:start}
.doc-card>.doc-copy{height:142px;min-height:0;overflow:hidden;mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - 23px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - 23px),transparent 100%)}
.doc-card h3{font-size:14px;line-height:1.42}
.doc-card p{font-size:12px;line-height:1.6}

@media(max-width:1100px){
 .hero-caption h1{font-size:26px;max-width:35ch}
 .landing-scroll-hint{display:block;margin-top:6px;font-size:11px;line-height:1.45;color:var(--muted)}
 .doc-card{height:180px;min-height:180px;max-height:180px}
 .doc-card>.doc-copy{height:138px}
 .doc-card h3{font-size:15px}
 .doc-card p{font-size:13px}
}
@media(max-width:900px){.hero-caption h1{font-size:28px}}
@media(max-width:760px){
 .hero-caption h1{font-size:26px}
 .hero-promo h2{font-size:17px;line-height:1.25}
 .agency-badge{width:62px;height:72px;flex-basis:62px}
 .agency-badge>img{width:58px;height:67px}
}
@media(max-width:600px){
 .hero-caption h1{font-size:23px;line-height:1.3;letter-spacing:-.35px}
 .hero-promo h2{font-size:18px}
 .hero-promo .promo-copy,.family-promo .promo-copy{max-width:51%;width:51%}
 .hero-promo p{font-size:11px}
 .audience-symbol{width:38px;height:38px;flex-basis:38px}
 .audience-symbol .icon{width:24px;height:24px}
 .doc-card{height:204px;min-height:204px;max-height:204px}
 .doc-card>.doc-copy{height:166px}
 .doc-card h3{font-size:14px}
 .doc-card p{font-size:12px}
}
@media(max-width:359px){
 .hero-caption h1{font-size:22px}
 .hero-promo h2{font-size:16px}
 .hero-promo .promo-copy,.family-promo .promo-copy{max-width:54%;width:54%}
 .hero-promo .small-button{font-size:11px;padding-inline:9px}
}
.high-contrast .agency-badge{background:transparent!important}
.high-contrast .agency-frame{color:#000}
.high-contrast .doc-card{height:auto;max-height:none}
.high-contrast .doc-card>.doc-copy{height:auto;overflow:visible;mask-image:none;-webkit-mask-image:none}
.high-contrast .event-separator{color:#000}
@media(prefers-reduced-motion:reduce){.landing{transition:none}}
@media print{.doc-card{height:auto;max-height:none;min-height:0}.doc-card>.doc-copy{height:auto;overflow:visible;mask-image:none;-webkit-mask-image:none}.landing-scroll-hint{display:none}}

/* Compact mobile/tablet image links retain the complete photo composition. */
@media(max-width:900px){
 .hero-promo{min-height:0;aspect-ratio:640/267;padding:16px}
 .hero-promo .promo-copy,.family-promo .promo-copy{width:53%;max-width:53%}
 .hero-promo h2{font-size:17px;line-height:1.24}
 .hero-promo p,.hero-promo .small-button{display:none}
 .hero-promo>.hero-promo-photo{object-position:center center}
}
@media(max-width:359px){
 .hero-promo{padding:14px}
 .hero-promo .promo-copy,.family-promo .promo-copy{width:58%;max-width:58%}
 .hero-promo h2{font-size:16px;line-height:1.24}
}


/* V3 footer: full wordmark and social links share the top row on desktop. */
.footer-v3{background:#f4f7fb;border-top:1px solid #dce5f1;color:var(--ink)}
.footer-v3-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:center;padding:32px 0;border-bottom:1px solid #dce5f1}
.footer-v3-brand{display:flex;align-items:center;gap:20px;width:fit-content;max-width:100%;min-width:0}
.footer-v3-brand img{display:block;width:64px;height:75px;object-fit:contain;flex-shrink:0}
.footer-v3-wordmark{display:block;min-width:0;color:#273348}
.footer-v3-wordmark strong{display:block;font-size:clamp(20px,1.9vw,26px);font-weight:750;line-height:1.24;letter-spacing:-.45px}
.footer-v3-wordmark>span{display:block;margin-top:7px;font-size:clamp(16px,1.45vw,20px);font-weight:400;line-height:1.35;letter-spacing:-.2px}
.footer-v3-socials{display:grid;grid-template-columns:repeat(6,44px);gap:8px;align-items:center;justify-content:end}
.footer-v3-socials>a,.footer-v3-socials>button{display:grid;place-items:center;width:44px;height:44px;padding:10px;min-width:0;border:1px solid #d5e0ed;border-radius:11px;background:#fff;color:#244f83;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.footer-v3-socials svg{display:block;width:23px;height:23px}
.footer-v3-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr);gap:36px;padding:31px 0 29px}
.footer-v3-grid>div,.footer-v3-nav{min-width:0}
.footer-v3-grid h3{margin:0 0 14px;font-size:16px;line-height:1.4;font-weight:700;letter-spacing:0}
.footer-v3-contacts{display:grid;gap:13px;font-style:normal;margin:0}
.footer-v3-contacts>p,.footer-v3-contacts>a{display:flex;align-items:flex-start;gap:11px;margin:0;min-width:0;font-size:14px;line-height:1.55;color:#405775}
.footer-v3-contacts>a{width:fit-content;max-width:100%}
.footer-v3-contacts span{min-width:0;overflow-wrap:anywhere}
.footer-v3-contacts .icon{width:19px;height:19px;margin-top:2px;flex:none;color:#587598}
.footer-v3-contacts small{display:block;font-size:12px;line-height:1.4;margin-bottom:2px;color:#60728a}
.footer-v3-nav>a,.footer-v3-nav>button{display:block;width:fit-content;max-width:100%;min-height:36px;padding:6px 0;border:0;background:none;color:#536780;text-align:left;font-size:14px;line-height:1.55;font-weight:400;overflow-wrap:break-word}
.footer-v3-nav>.footer-v3-contrast{display:flex;align-items:flex-start;gap:8px}
.footer-v3-contrast .icon{width:20px;height:20px;margin-top:1px;flex:none}
.footer-v3-contrast[aria-pressed="true"]{color:#14253c;font-weight:650}
.footer-v3-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:9px 28px;padding:17px 0;border-top:1px solid #dce5f1}
.footer-v3-bottom>a{display:block;max-width:100%;min-height:30px;padding:5px 0;color:#4c6482;font-size:13px;line-height:1.55;overflow-wrap:break-word}
.footer-v3-legal{display:flex;align-items:flex-start;justify-content:space-between;gap:12px 28px;padding:0 0 22px;color:#71819a}
.footer-v3-legal>small{font-size:11px;line-height:1.65;flex-shrink:0}
.footer-v3 .prototype-note{margin:0;padding:0;max-width:100%;font-size:11px;line-height:1.65;color:#71819a;text-align:right}
@media(hover:hover){
 .footer-v3-nav>a:hover,.footer-v3-nav>button:hover,.footer-v3-contacts>a:hover,.footer-v3-bottom>a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
 .footer-v3-socials>a:hover,.footer-v3-socials>button:hover{background:#e8f0fb;border-color:#a8bfdc;color:#164f9a}
}
@media(max-width:1100px){
 .footer-v3-top{gap:24px;padding:28px 0}
 .footer-v3-brand{gap:17px}
 .footer-v3-brand img{width:56px;height:66px}
 .footer-v3-socials{grid-template-columns:repeat(6,42px);gap:7px}
 .footer-v3-socials>a,.footer-v3-socials>button{width:42px;height:44px;padding:9px}
 .footer-v3-grid{gap:26px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,1.1fr)}
 .footer-v3-nav>a,.footer-v3-nav>button,.footer-v3-contacts>p,.footer-v3-contacts>a{font-size:13px}
 .footer-v3-bottom{column-gap:22px}
}
@media(max-width:850px){
 .footer-v3-wordmark strong{font-size:20px}
 .footer-v3-wordmark>span{font-size:16px}
 .footer-v3-brand{gap:14px}
 .footer-v3-brand img{width:49px;height:58px}
 .footer-v3-socials{grid-template-columns:repeat(6,40px);gap:6px}
 .footer-v3-socials>a,.footer-v3-socials>button{width:40px;height:44px;padding:8px}
 .footer-v3-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 35px;padding:28px 0}
 .footer-v3-nav>a,.footer-v3-nav>button,.footer-v3-contacts>p,.footer-v3-contacts>a{font-size:14px}
 .footer-v3-nav>a,.footer-v3-nav>button{min-height:40px;padding:8px 0}
 .footer-v3-grid h3{margin-bottom:11px}
 .footer-v3-legal{flex-direction:column;gap:5px}
 .footer-v3 .prototype-note{text-align:left}
}
@media(max-width:700px){
 .footer-v3-top{grid-template-columns:minmax(0,1fr);gap:22px;padding:27px 0}
 .footer-v3-brand img{width:53px;height:62px}
 .footer-v3-wordmark strong{font-size:22px}
 .footer-v3-wordmark>span{font-size:17px;margin-top:6px}
 .footer-v3-socials{grid-template-columns:repeat(6,minmax(0,1fr));justify-content:start;width:min(100%,304px);gap:7px}
 .footer-v3-socials>a,.footer-v3-socials>button{width:100%;height:44px;padding:9px}
 .footer-v3-bottom{gap:5px 22px;padding:16px 0}
}
@media(max-width:480px){
 .footer-v3-brand{gap:13px}
 .footer-v3-brand img{width:43px;height:51px}
 .footer-v3-wordmark strong{font-size:18px;line-height:1.3;letter-spacing:-.25px}
 .footer-v3-wordmark>span{font-size:15px;line-height:1.35;margin-top:5px}
 .footer-v3-grid{grid-template-columns:minmax(0,1fr);gap:25px;padding:26px 0}
 .footer-v3-grid h3{font-size:16px;margin-bottom:9px}
 .footer-v3-contacts{gap:13px}
 .footer-v3-bottom{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:16px 0}
 .footer-v3-bottom>a{min-height:36px;padding:7px 0}
}
@media(max-width:360px){.footer-v3-wordmark strong{font-size:16px}.footer-v3-wordmark>span{font-size:14px}.footer-v3-brand img{width:39px;height:46px}.footer-v3-socials{gap:6px}.footer-v3-top{gap:20px}.footer-v3-grid{gap:22px}}
.high-contrast .footer-v3{background:#fff!important;color:#000!important;border-color:#000!important}
.high-contrast .footer-v3 :is(a,button,strong,p,small,h3,svg,.footer-v3-wordmark,.footer-v3-wordmark>span){color:#000!important}
.high-contrast .footer-v3-socials>a,.high-contrast .footer-v3-socials>button{background:#fff!important;border-color:#000!important}
.high-contrast .footer-v3-top,.high-contrast .footer-v3-bottom{border-color:#000!important}
.high-contrast .footer-v3-contrast[aria-pressed="true"]{text-decoration:underline;text-underline-offset:4px}
@media(prefers-reduced-motion:reduce){.footer-v3-socials>a,.footer-v3-socials>button{transition:none}}
@media print{.footer-v3-top{grid-template-columns:minmax(0,1fr);padding:18px 0}.footer-v3-socials{display:none}.footer-v3-grid{grid-template-columns:1.25fr repeat(3,minmax(0,1fr));gap:20px;padding:20px 0}.footer-v3-wordmark strong{font-size:18px}.footer-v3-wordmark>span{font-size:14px}.footer-v3-brand img{width:43px;height:51px}.footer-v3-bottom{display:flex;gap:10px 20px}.footer-v3-legal{display:block}}
