/* First-visit brand reveal. No scroll locking or mandatory loading delay. */
html{scroll-padding-top:112px}
.brand-motion-enabled>.brand-strip{display:none}
.header-slot{height:112px}
.header.motion-header{position:fixed;inset:0 0 auto;height:112px;padding:10px 5vw;z-index:40;background:#fffffff5;transition:transform .32s ease,opacity .28s ease,visibility .28s,border-color .3s;will-change:transform,opacity}
.motion-header .brand-logo{width:92px;height:92px}
.header.motion-header.is-compact{left:18px;right:18px;top:12px;height:80px;padding:7px 3vw;border:1px solid #33203917;box-shadow:0 5px 24px #3320390b}
.motion-header.is-compact .brand-logo{width:64px;height:64px}
.header.motion-header.is-hidden{transform:translate3d(0,calc(-100% - 26px),0);opacity:0;visibility:hidden;pointer-events:none}
.brand-intro-active .motion-header nav,.brand-intro-active .motion-header .menu-toggle{opacity:var(--intro-nav-opacity,0)}
.brand-intro-active .motion-header .wordmark{opacity:var(--intro-logo-opacity,0)}
.brand-intro{position:fixed;inset:0;z-index:60;pointer-events:none;--intro-progress:0}
.brand-intro-backdrop{position:absolute;inset:0;background:#fff;opacity:calc(1 - var(--intro-progress) * 1.3);pointer-events:auto}
.brand-intro-lockup{position:absolute;top:calc(50% - 148px);left:calc(50% - 180px);width:360px;height:266px;text-align:center;transform-origin:center;opacity:clamp(0,calc((1 - var(--intro-progress)) * 4),1);will-change:transform,opacity}
.brand-intro-emblem{position:relative;width:160px;height:144px;overflow:hidden;margin:0 auto 14px}
.brand-intro-emblem img{position:absolute;max-width:none;width:240px;height:240px;left:-40px;top:-30px}
.brand-intro-name{display:flex;align-items:center;justify-content:center;min-height:57px;color:#103d2b;font:48px/1.15 Georgia,'Times New Roman',serif;letter-spacing:-.04em;white-space:nowrap}
.brand-intro-caret{height:35px;width:1px;background:#b98c37;margin-left:4px;animation:brand-caret .85s step-end infinite}
.typing-complete .brand-intro-caret{animation:none;opacity:0;transition:opacity .3s}
.brand-intro-services{margin:19px auto 0;font:8px/1.5 Arial,sans-serif;letter-spacing:.18em;color:#776651;opacity:calc(1 - var(--intro-progress) * 2)}
.brand-intro-explore{position:absolute;bottom:max(55px,9vh);left:50%;transform:translateX(-50%);pointer-events:auto;border:0;border-bottom:1px solid #bda88655;background:transparent;color:#6d6251;min-height:44px;padding:10px 3px;font:11px/1.5 Arial,sans-serif;letter-spacing:.06em;opacity:calc(1 - var(--intro-progress) * 3)}
.brand-intro-explore span{display:inline-block;margin-left:24px}
.skip{z-index:100}
@keyframes brand-caret{50%{opacity:0}}
@media(max-width:850px){.header.motion-header{flex-wrap:nowrap}.motion-header.js-nav #navigation{position:absolute;left:0;right:0;top:100%;width:auto;max-height:calc(100dvh - 120px);overflow-y:auto;background:#fff;padding:12px 6vw 20px;border-top:1px solid #33203914;border-bottom:1px solid #33203914;box-shadow:0 12px 20px #3320390d}.motion-header.is-compact.js-nav #navigation{top:100%;max-height:calc(100dvh - 110px)}}
@media(max-width:560px){.header-slot{height:92px}.header.motion-header{height:92px;padding:6px 6vw}.motion-header .brand-logo{width:80px;height:80px}.header.motion-header.is-compact{top:8px;left:10px;right:10px;height:72px;padding:5px 14px}.motion-header.is-compact .brand-logo{width:60px;height:60px}.brand-intro-lockup{width:300px;left:calc(50% - 150px);height:250px;top:calc(50% - 140px)}.brand-intro-name{font-size:40px}.brand-intro-services{font-size:7px;letter-spacing:.14em}.brand-intro-explore{bottom:9vh}}
@media(prefers-reduced-motion:reduce){.header.motion-header{transition:none}.brand-intro{display:none}}
@media(max-width:360px){.editorial>*{min-width:0}.editorial h2{font-size:38px;overflow-wrap:anywhere}}
