/* The outlined monogram is available on first paint, without waiting for a font. */
html{scrollbar-gutter:stable}
html.intro-pending,html.intro-pending body{overflow:hidden}
.brand-intro{--intro-mark-height:96px;display:none;position:fixed;inset:0;z-index:1000;overflow:hidden;isolation:isolate;touch-action:none;user-select:none}
.intro-pending .brand-intro{display:block}
.intro-veil,.intro-solid{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.intro-solid{background:#141514}
.intro-symbol-position{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}
.intro-monogram{display:block;width:calc(var(--intro-mark-height) * .7232);height:var(--intro-mark-height);overflow:visible;transform-origin:center;animation:intro-turn 2000ms linear infinite;will-change:transform,opacity}
.intro-name,.intro-loading{position:absolute;left:0;right:0;text-align:center;font-family:var(--sans);font-weight:400;line-height:1.6;pointer-events:none;transition:opacity .2s ease}
.intro-name{top:calc(50% + var(--intro-mark-height) / 2 + 35px);padding-left:.38em;color:#d8c7aa;font-size:.875rem;letter-spacing:.38em}
.intro-loading{bottom:max(48px,calc(30px + env(safe-area-inset-bottom)));padding-left:.3em;color:#a9a296;font-size:.75rem;letter-spacing:.3em;animation:intro-breathe 1.8s ease-in-out infinite}
.intro-revealing .intro-name,.intro-revealing .intro-loading{opacity:0;animation:none}
.intro-pending :is(.site-header,.hero-content,.hero-bottom,.mobile-consult){opacity:0;transition:opacity .65s ease,transform .65s ease}
.intro-pending .hero-content{transform:translateY(15px)}
.intro-pending.intro-content-visible :is(.site-header,.hero-content,.hero-bottom,.mobile-consult){opacity:1;transform:none}
.intro-pending .hero-video,.intro-pending .hero-visual>img{transition:none}
@keyframes intro-turn{from{transform:rotateY(0deg)}to{transform:rotateY(360deg)}}
@keyframes intro-breathe{0%,100%{opacity:.45}50%{opacity:1}}
@media(max-width:700px){.brand-intro{--intro-mark-height:80px}.intro-name{top:calc(50% + var(--intro-mark-height) / 2 + 29px);font-size:.8125rem}.intro-loading{bottom:max(38px,calc(24px + env(safe-area-inset-bottom)))}}
@media(prefers-reduced-motion:reduce){.brand-intro{display:none!important}html.intro-pending,html.intro-pending body{overflow:visible}.intro-pending :is(.site-header,.hero-content,.hero-bottom,.mobile-consult){opacity:1;transform:none;transition:none}}
@media print{.brand-intro{display:none!important}.intro-pending :is(.site-header,.hero-content,.hero-bottom,.mobile-consult){opacity:1;transform:none}html.intro-pending,html.intro-pending body{overflow:visible}}
