/* Match the traced brand silhouette in the opening and permanent header. */
.logo-window img{width:100%;height:100%;left:0;top:0;object-fit:contain}
.header,.header.is-scrolled,.header:has(nav.open){height:94px}
.header{transition:background .4s,box-shadow .4s,color .4s}
.logo-intro{display:none;position:fixed;inset:0;z-index:1000;overflow:hidden;color:white}
.intro-pending .logo-intro{display:block}
.intro-pending{overflow:hidden}
.intro-pending .logo-window{visibility:hidden}
.intro-veil{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 35%,#153e50,#061c2a 72%)}
.intro-veil:after{content:'';position:absolute;width:min(760px,125vw);aspect-ratio:1;left:50%;top:50%;border:1px solid #a0cbd916;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 110px #a0cbd906,0 0 0 220px #a0cbd903}
.intro-logo{position:absolute;width:min(420px,72vw);aspect-ratio:1357/473;left:calc(50% - min(210px,36vw));top:calc(50% - min(73.2px,12.55vw) - 20px);transform-origin:0 0;will-change:transform}
.intro-logo svg{display:block;width:100%;height:100%;overflow:visible}
.intro-logo path{fill:currentColor;fill-opacity:0;stroke:currentColor;stroke-width:5;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.intro-drawing .intro-logo path{animation:brand-outline 1.25s cubic-bezier(.45,.05,.3,1) forwards,brand-fill .45s 1.12s ease forwards}
.intro-caption{position:absolute;top:calc(50% + min(73.2px,12.55vw) + 20px);left:0;right:0;text-align:center}
.intro-caption p{font-size:11px;font-weight:500;letter-spacing:4px;margin:0 0 15px}
.intro-caption span{font-size:8px;letter-spacing:2px;color:#a7c9d4}
.intro-skip{position:absolute;right:42px;bottom:34px;border:0;border-bottom:1px solid #ffffff45;color:white;background:none;font-size:10px;letter-spacing:1.5px;padding:13px 0}
.intro-pending:not(.intro-docking) .hero-copy{opacity:0;animation:none}
.company-facts{display:grid;grid-template-columns:repeat(3,1fr);margin:68px 0 0;padding:36px 0 0;border-top:1px solid #dce6e8;gap:40px}
.company-facts>div+div{border-left:1px solid #dce6e8;padding-left:40px}
.company-facts dt{font-size:10px;letter-spacing:1.5px;color:#71888f;margin-bottom:20px}
.company-facts dd{margin:0}
.company-facts strong{display:block;font-size:45px;line-height:1.1;font-weight:500;color:var(--navy);letter-spacing:-1.5px}
.company-facts .fact-trade{font-size:31px;letter-spacing:-.8px;padding-top:10px}
.company-facts span{display:block;font-size:12px;color:var(--muted);margin-top:15px;line-height:1.6}
@keyframes brand-outline{to{stroke-dashoffset:0}}
@keyframes brand-fill{to{fill-opacity:1;stroke-opacity:0}}
@media(max-width:780px){
 .header,.header.is-scrolled,.header:has(nav.open){height:80px}
 .intro-caption p{font-size:8px;letter-spacing:2px}
 .intro-caption span{font-size:7px;letter-spacing:1.3px}
 .intro-skip{right:24px;bottom:25px;font-size:9px}
 .company-facts{gap:18px;padding-top:26px;margin-top:40px}
 .company-facts>div+div{padding-left:18px}
 .company-facts dt{font-size:8px;letter-spacing:.6px;margin-bottom:15px}
 .company-facts strong{font-size:31px;letter-spacing:-1px}
 .company-facts .fact-trade{font-size:19px;padding-top:0;line-height:1.3}
 .company-facts span{font-size:10px;margin-top:12px}
}
@media(prefers-reduced-motion:reduce){.logo-intro{display:none!important}.intro-pending .logo-window{visibility:visible}.intro-pending{overflow:auto}.intro-pending .hero-copy{opacity:1}}
