/* Reconcile retained site effects with today's common parts and mobile design. */
.header .brand { display:flex;width:auto;height:auto; }
.header .brand>.brand-scrolled { filter:none; }
.header .brand>span { display:grid; }
.inner-page::before,.inner-page::after { display:none!important; }
.inner-page .page { overflow:hidden; }
.header .brand>.brand-scrolled { display:none; }
.header.is-scrolled .brand>.brand-scrolled { display:block; }
.hero-bg { mask:none; }
.program-label,.banner-photo { mask:none; }
.map { mask:none; }
@media (min-width:769px) {
 .corner picture { display:contents; }
 .strength-photo { top:155px; }
 .header.is-scrolled .brand { width:auto;height:auto; }
 .hero-actions .button .pc-arrow>img { width:13.5072px;height:25.4142px; }
}
@media (max-width:768px) {
 .page { overflow:hidden; }
 .header .brand { display:flex;width:auto;height:auto; }
 .hero { aspect-ratio:auto; }
 .hero-bg { clip-path:none; }
 .strength-photo { position:relative;top:auto;height:auto;mask:none; }
 .strength-photo .strength-image { inset:0;width:100%;height:100%;margin:0;transform:none; }
 .strength-photo .strength-image[data-strength-image="0"] { opacity:1!important;display:block; }
 .strength-photo .strength-image:not([data-strength-image="0"]) { display:none; }
 .sp-strength-photo { mask:none; }
 .sp-strength-photo img { inset:0;width:100%;height:100%;object-fit:cover; }
 .strength-card::before { display:none; }
 .strength-card:nth-child(n) { min-height:0; }
 .strength-card.featured { color:var(--ink); }
 .strength-card.featured h3 { color:var(--blue); }
 .footer-reveal-title em { background:var(--blue); }
 .footer-reveal-title em::before { display:none; }
 .contact-english { left:50%;bottom:0;font-size:16.8cqw;line-height:1;height:18cqw; }
 .contact-marquee-track { bottom:-1cqw; }
 .menu-open .header .brand>.brand-scrolled { display:none; }
}
/* Use the visible viewport width so the old full-width marquee does not add a scrollbar. */
.contact-english { width:var(--site-viewport-width,100%); }
@media(min-width:1441px) {
 .back-top { right:calc((100% - var(--site-viewport-width,100%))/2); }
}
@media(max-width:768px) {
 .motion-ready .footer-reveal-title em { background:var(--blue); }
}
@media(min-width:1441px) {
 .inner-page .page { overflow:visible; }
 .page-hero {
  width:var(--site-viewport-width,100vw);
  margin-left:calc((100% - var(--site-viewport-width,100vw))/2);
 }
 .page-hero-photo { left:calc(50% + 36px); }
 .middle::before,.contact::after { width:var(--site-viewport-width,100%); }
}

/* Preserve the supplied horizontal logo without cropping. */
.header.is-scrolled .brand .brand-scrolled { object-fit:contain; }

/* Extend the scrolled header background across the visible browser width. */
.header.is-scrolled { width:100%;max-width:none;margin-inline:0; }
@media(min-width:1441px) {
 .header.is-scrolled {
  padding-left:calc((100% - 1440px)/2 + 38px);
  padding-right:calc((100% - 1440px)/2 + 14px);
 }
}

/* Desktop header contact button: center the label and keep the thin chevron at the right edge. */
@media(min-width:769px) {
 .header .nav-contact { position:relative;gap:0; }
 .header .nav-contact .desktop-contact-label { transform:translateX(-5px); }
 .header .nav-contact>img { position:absolute;right:13px;top:50%;translate:0 -50%;flex:none;width:13.5072px;height:25.4142px; }
}

/* Keep Strengths body copy in the same position when a desktop card is active. */
@media(min-width:769px) {
 .strength-card.featured h3 { margin-bottom:26px; }
}

/* Both supplied vector logos share the same crop, slot and alignment. */
.header .brand,.header.is-scrolled .brand { display:block;position:relative;width:324px;height:auto;aspect-ratio:904/173;transform:none;zoom:1;flex:none; }
.header .brand>img,.header.is-scrolled .brand>img { display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:none; }
.header .brand>.brand-default { opacity:1; }
.header .brand>.brand-scrolled { display:block;opacity:0; }
.header.is-scrolled .brand>.brand-default { display:block;opacity:0; }
.header.is-scrolled .brand>.brand-scrolled { display:block;opacity:1; }
@media(min-width:769px) {
 .header,.header.is-scrolled { height:120px; }
}
@media(min-width:769px) and (max-width:1250px) {
 .header .brand,.header.is-scrolled .brand { width:259.2px; }
}
@media(max-width:768px) {
 .header .brand,.header.is-scrolled .brand { position:absolute;left:2.933333cqw;top:0;width:48.266667vw;height:14.8cqw;aspect-ratio:auto; }
 .menu-open .header .brand { top:0!important; }
 .menu-open .header .brand>.brand-default { display:block;opacity:1; }
 .menu-open .header .brand>.brand-scrolled { display:block;opacity:0; }
}
.header .brand>img.brand-default,.header .brand>img.brand-scrolled,
.header.is-scrolled .brand>img.brand-default,.header.is-scrolled .brand>img.brand-scrolled { display:block;width:100%;height:100%; }

/* Shared desktop service dropdown, Figma 390:766 / 977:1287. */
.service-dropdown[hidden] { display:none; }
@media(min-width:769px) {
 .header nav>.service-menu { position:relative;display:flex;height:100%;align-items:center; }
 .header .service-menu>.service-nav { display:flex;align-items:center;gap:14px;opacity:1; }
 .service-dropdown { position:absolute;top:calc(100% + 28px);left:calc(50% - 8px);translate:-50% 0;width:284px;height:100px;background:#fff;box-shadow:0 4px 30px rgba(0,0,0,.15);z-index:20; }
 .service-menu.is-dropdown-open::after { content:'';position:absolute;top:100%;left:calc(50% - 150px);width:284px;height:28px; }
 .header .service-dropdown-link { display:flex;align-items:center;justify-content:space-between;width:100%;height:100%;padding:0 26px 0 46px;color:#000;background:#fff;font-size:18px;font-weight:500;line-height:36px;white-space:nowrap;opacity:1; }
 .service-dropdown-link>img { flex:none; }
 .header .service-dropdown-link:focus-visible { outline-offset:-4px; }
}
@media(max-width:768px) {
 .header nav>.service-menu { display:contents; }
 .service-dropdown { display:none; }
 .menu-open .header .service-menu>.service-nav { display:block;min-height:8vw;text-align:left; }
}
