/* Full-screen construction reveal followed by the original company mark. */
html.intro-pending:before{content:"";position:fixed;inset:0;background:var(--ink);z-index:1000;pointer-events:none}
html.intro-active{overflow:hidden}
.brand-intro{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--ink);color:var(--paper);overflow:hidden}
.brand-intro:focus{outline:none}
.brand-intro::backdrop{background:transparent}
.brand-intro[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;animation:intro-curtain .8s var(--ease-in-out) 2.4s both}
.intro-top,.intro-bottom{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;margin:0 var(--page);font-size:.75rem;letter-spacing:.12em;line-height:1.8}
.intro-top{min-height:92px;border-bottom:1px solid #ffffff26;color:#e2e2dd}
.intro-bottom{padding:28px 0;border-top:1px solid #ffffff26;color:#c9c9c2}
.intro-bottom>span:last-child{font-size:25px;color:#f5f5f2;letter-spacing:-.04em}
.intro-bottom i{font-size:.75rem;font-style:normal;letter-spacing:.05em;margin-left:6px;color:#c9c9c2}
.intro-guides{position:absolute;inset:0 var(--page);z-index:1;display:flex;justify-content:space-around;pointer-events:none}
.intro-guides>span{height:100%;width:1px;background:#ffffff0b}
.intro-center{position:relative;z-index:2;display:grid;place-items:center;min-height:0;padding:24px 0}
.intro-construction{position:absolute;inset:0;z-index:0;animation:intro-drawing-exit .45s var(--ease-out) 1.15s both}
.intro-building{position:absolute;inset:0;overflow:hidden;background:#252725}
.intro-building>img{width:100%;height:100%;object-fit:cover;object-position:50% 49%;filter:grayscale(.4)}
.intro-building:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#080b0e8c,transparent 35%,#080b0e70);pointer-events:none}
.intro-floors{position:absolute;inset:0;display:flex;flex-direction:column-reverse;z-index:1}
.intro-floors>span{display:block;flex:1;background:var(--ink);transform-origin:top;animation:intro-floor .6s var(--ease-out) calc(.1s + var(--floor)*.07s) both;position:relative;margin-top:-1px}
.intro-scan{position:absolute;inset:0;z-index:2;pointer-events:none;animation:intro-scan 1.05s var(--ease-in-out) .05s both}
.intro-scan:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--red)}
.intro-identity{text-align:center;position:relative;width:calc(100% - 2 * var(--page));max-width:1200px}
.intro-logo{width:min(74vw,1000px,88svh);max-width:100%;height:auto;display:block;margin:0 auto 26px;overflow:visible}
.intro-logo-ring{stroke-dasharray:1;animation:intro-logo-draw .8s var(--ease-in-out) 1.25s both}
.intro-logo-mark{transform-origin:center;animation:intro-mark .6s var(--ease-out) 1.6s both}
#intro-name{font-size:clamp(30px,4.7vw,72px);font-weight:600;letter-spacing:.07em;line-height:1.15;margin:0 0 15px;animation:intro-word .6s var(--ease-out) 1.7s both}
#intro-tagline{font-size:clamp(.875rem,1.15vw,1.125rem);font-weight:400;color:#d0d0c9;margin:0;animation:intro-word .6s var(--ease-out) 1.8s both;line-height:1.8}
.hero-held .hero .eyebrow,.hero-held .hero h1,.hero-held .hero-bottom,.hero-held .hero-image>img,.hero-held .hero-grid,.hero-held .scroll-line:after{animation:none;opacity:0}
.hero-unveiling .hero-image{animation:hero-rise 1.1s var(--ease-out) both}
@keyframes intro-floor{from{transform:scaleY(1)}to{transform:scaleY(0)}}
@keyframes intro-scan{from{transform:translateY(0);opacity:0}15%{opacity:1}to{transform:translateY(-100%);opacity:1}}
@keyframes intro-drawing-exit{from{opacity:1}to{opacity:.2}}
@keyframes intro-logo-draw{from{stroke-dashoffset:1;opacity:0}5%{opacity:1}to{stroke-dashoffset:0;opacity:1}}
@keyframes intro-mark{from{opacity:0;transform:translateY(65px)}to{opacity:1;transform:translateY(0)}}
@keyframes intro-word{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes intro-curtain{from{clip-path:inset(0 0 0 0)}to{clip-path:inset(0 0 100% 0)}}
@keyframes hero-rise{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@media(max-width:700px){.intro-top{min-height:74px}.intro-top>span{letter-spacing:.045em}.intro-bottom{padding:23px 0;font-size:.75rem;letter-spacing:.06em}.intro-bottom>span:last-child{font-size:24px}.intro-bottom i{display:block;margin-left:0;font-size:.75rem;letter-spacing:.02em}.intro-logo{width:86vw;margin-bottom:26px}#intro-name{font-size:clamp(27px,7.4vw,44px);letter-spacing:.055em}#intro-tagline{font-size:.875rem}}
@media(max-width:370px){.intro-top>span{font-size:.75rem;letter-spacing:0}.intro-top,.intro-bottom{margin:0 22px}.intro-bottom>span:first-child{font-size:.75rem;letter-spacing:0}}
@media(max-height:700px) and (min-width:701px){.intro-logo{width:min(64vw,68svh);margin-bottom:18px}#intro-name{font-size:clamp(30px,4vw,48px)}.intro-center{padding:15px 0}}
@media(max-height:570px){.intro-top{min-height:52px}.intro-bottom{padding:12px 0}.intro-center{padding:12px 0}.intro-logo{width:min(78vw,65svh);margin-bottom:14px}#intro-name{font-size:clamp(25px,4vw,32px);margin-bottom:8px}#intro-tagline{font-size:.8125rem}}
@media(prefers-reduced-motion:reduce){html.intro-pending:before{display:none}.brand-intro[open],.brand-intro *{animation:none!important}.hero-unveiling .hero-image{animation:none}.hero-held .hero .eyebrow,.hero-held .hero h1,.hero-held .hero-bottom,.hero-held .hero-grid{opacity:1}.hero-held .hero-image>img{opacity:.87}}
