.site-intro{display:none}
html.has-intro .site-intro{display:grid;place-items:center;position:fixed;inset:0;z-index:1000;background:#234d3c;color:#f6f0df;animation:intro-out .8s cubic-bezier(.22,1,.36,1) 1.35s both;will-change:opacity,clip-path}
.intro-logo-window{position:relative;width:min(480px,78vw);aspect-ratio:3/1;overflow:hidden;animation:logo-reveal 1.1s cubic-bezier(.22,1,.36,1) .1s both}
.intro-logo-window img{position:absolute;width:108%;height:auto;max-width:none;left:-4%;top:-40%;animation:logo-settle 1.5s cubic-bezier(.22,1,.36,1) both}
.intro-skip{position:absolute;bottom:max(30px,env(safe-area-inset-bottom));right:5%;border:1px solid #f6f0df55;border-radius:30px;padding:12px 19px;min-height:44px;background:transparent;color:#f6f0df;font:700 14px 'Nunito',sans-serif;cursor:pointer;animation:intro-control .4s .4s both}
.intro-skip span{margin-left:12px}
html.has-intro .home-page>header{animation:header-reveal .8s cubic-bezier(.22,1,.36,1) 1.5s both}
html.has-intro .home-photo-hero .photo-content .eyebrow{animation:content-reveal .85s cubic-bezier(.22,1,.36,1) 1.55s both}
html.has-intro .home-photo-hero .photo-content h1{animation:content-reveal 1s cubic-bezier(.22,1,.36,1) 1.68s both}
html.has-intro .home-photo-hero .photo-subtitle{animation:content-reveal .9s cubic-bezier(.22,1,.36,1) 1.85s both}
html.has-intro .home-photo-hero .photo-content .button{animation:content-reveal .9s cubic-bezier(.22,1,.36,1) 2s both}
html.has-intro .home-photo-hero .motion-toggle,html.has-intro .home-photo-hero .photo-credit{animation:intro-control .7s 2.1s both}
@keyframes logo-reveal{from{opacity:0;clip-path:inset(0 100% 0 0);transform:translateY(12px)}to{opacity:1;clip-path:inset(0 0 0 0);transform:translateY(0)}}
@keyframes logo-settle{from{transform:scale(.95)}to{transform:scale(1)}}
@keyframes intro-out{0%{opacity:1;clip-path:inset(0 0 0 0);visibility:visible}99%{visibility:visible}100%{opacity:0;clip-path:inset(0 0 5% 0 round 0 0 45% 45%);visibility:hidden;pointer-events:none}}
@keyframes content-reveal{from{opacity:0;transform:translateY(22px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0)}}
@keyframes header-reveal{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
@keyframes intro-control{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){html.has-intro .site-intro{display:none!important}html.has-intro .home-page>header,html.has-intro .home-photo-hero .photo-content .eyebrow,html.has-intro .home-photo-hero .photo-content h1,html.has-intro .home-photo-hero .photo-subtitle,html.has-intro .home-photo-hero .photo-content .button,html.has-intro .home-photo-hero .motion-toggle,html.has-intro .home-photo-hero .photo-credit{animation:none!important}}
