/* ====== HOMEPAGE OPENING INTRO: FONT ====== */
/* Instrument Serif Italic, SIL Open Font License 1.1 (instrument-serif-OFL.txt beside the file). */
@font-face{font-family:'Instrument Serif';src:url('/assets/bold/assets/fonts/instrument-serif-latin-400-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:optional}

/* ====== HOMEPAGE OPENING INTRO: SKIP BUTTON ====== */
.seod-intro-skip{display:none}
.seod-intro-on .seod-intro-skip{display:inline-flex;position:fixed;right:calc(var(--s4) + env(safe-area-inset-right,0px));bottom:calc(var(--s4) + env(safe-area-inset-bottom,0px));z-index:41;align-items:center;min-height:44px;padding:var(--s2) var(--s4);border:1px solid var(--ink);border-radius:0;background:var(--paper);color:var(--ink);font:600 var(--caption)/1 var(--body);cursor:pointer}
.seod-intro-on .seod-intro-skip:focus-visible{outline:3px solid var(--forest);outline-offset:3px}

/* ====== HOMEPAGE OPENING INTRO: OVERLAY ====== */
.seod-intro{display:none}
.seod-intro-on .seod-intro{display:block;position:fixed;inset:0;z-index:40}
.seod-intro__panel{position:absolute;inset:0;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");color:var(--ink);clip-path:inset(0 0 0 0)}
.seod-intro__content{position:absolute;top:0;bottom:0;left:var(--gutter);right:var(--gutter)}
.seod-intro__band{position:absolute;left:0;right:0;bottom:0;margin:0;opacity:0}

/* ====== HOMEPAGE OPENING INTRO: WORDS ====== */
.seod-intro__word,.seod-intro__lock{position:absolute;left:0;right:0;top:50%;margin:0;transform:translateY(-50%);font-family:var(--display);font-weight:400;line-height:.9;letter-spacing:-.01em;white-space:nowrap}
.seod-intro__word{height:.94em;clip-path:inset(0 -100vw)}
.seod-intro__word i,.seod-intro__line i{display:block;font-style:normal;transform:translateY(110%)}
.seod-intro__line{display:block;padding-top:.04em;padding-bottom:.26em;margin-bottom:-.26em;clip-path:inset(0 -100vw)}
.seod-intro__line + .seod-intro__line{padding-top:.16em;margin-top:-.12em}
.seod-intro__lock .seod-intro__line i{transform:translateY(150%)}
.seod-intro__word--stop i{transform:translateY(-110%);transform-origin:50% 100%}
.seod-intro__word--invisible i{-webkit-text-stroke:.014em var(--ink)}
.seod-intro__line--grow i{transform:scale(.22);transform-origin:0 88%;opacity:0}
.seod-intro__lock em{display:inline-block;padding:0 .04em 0 .02em;font:italic 400 1.12em/.8 'Instrument Serif',Georgia,serif;letter-spacing:-.02em;text-transform:none;opacity:0;transform:translateX(.35em) skewX(-6deg);transform-origin:0 100%}
.seod-intro__lock b{display:inline-block;margin-left:.06em;padding:.06em .16em .02em;font-weight:400;color:var(--green);background:var(--ink);box-shadow:.06em .08em 0 var(--forest);clip-path:inset(0 100% 0 0);transform-origin:20% 60%}

/* ====== HOMEPAGE OPENING INTRO: SEQUENCE ====== */
/* Times are measured from the moment intro.js adds seod-intro-go, after the fonts are ready. */
.seod-intro-go .seod-intro__word i{animation:seod-intro-word 560ms cubic-bezier(.7,0,.2,1) forwards}
.seod-intro-go .seod-intro__word--stop i{animation-name:seod-intro-stop}
.seod-intro-go .seod-intro__word--being i{animation-delay:420ms}
.seod-intro-go .seod-intro__word--invisible i{animation:seod-intro-invisible 780ms cubic-bezier(.7,0,.2,1) 840ms forwards}
.seod-intro-go .seod-intro__line--grow i{animation:seod-intro-grow 720ms cubic-bezier(.2,.9,.25,1) 1660ms forwards}
.seod-intro-go .seod-intro__line--with i{animation:seod-intro-slam 520ms cubic-bezier(.15,.85,.25,1.1) 1780ms forwards}
.seod-intro-go .seod-intro__lock em{animation:seod-intro-with 640ms cubic-bezier(.2,.8,.2,1) 2000ms forwards}
.seod-intro-go .seod-intro__lock b{animation:seod-intro-label 700ms cubic-bezier(.6,0,.2,1) 2160ms forwards}
.seod-intro-on .hero h1{translate:0 24px}

/* ====== HOMEPAGE OPENING INTRO: EXIT ====== */
.seod-intro-exit .seod-intro__panel{animation:seod-intro-drop 540ms cubic-bezier(.7,0,.2,1) forwards}
.seod-intro-exit .seod-intro__content{animation:seod-intro-out 200ms ease 280ms forwards}
.seod-intro-exit .seod-intro__band{animation:seod-intro-in 200ms ease 320ms forwards}
.seod-intro-exit .seod-intro{animation:seod-intro-glide 420ms cubic-bezier(.5,0,.2,1) 560ms forwards}
.seod-intro-exit .hero h1{animation:seod-intro-lift 420ms cubic-bezier(.2,.7,.2,1) 560ms forwards}

/* ====== HOMEPAGE OPENING INTRO: KEYFRAMES ====== */
@keyframes seod-intro-stop{0%{transform:translateY(-110%)}24%{transform:translateY(0) scaleY(.9)}34%{transform:translateY(0) scaleY(1.02)}42%{transform:translateY(0) scaleY(1)}74%{transform:translateY(0)}100%{transform:translateY(-110%)}}
@keyframes seod-intro-word{0%{transform:translateY(110%)}32%{transform:translateY(0)}72%{transform:translateY(0)}100%{transform:translateY(-110%)}}
@keyframes seod-intro-invisible{0%{transform:translateY(110%);color:var(--ink)}24%{transform:translateY(0);color:var(--ink)}40%{color:var(--ink)}66%{transform:translateY(0);color:transparent}80%{transform:translateY(0);color:transparent;opacity:1}100%{transform:translateY(0);color:transparent;opacity:0}}
@keyframes seod-intro-grow{0%{transform:scale(.22);opacity:0}12%{opacity:1}72%{transform:scale(1.035)}100%{transform:scale(1);opacity:1}}
@keyframes seod-intro-slam{to{transform:translateY(0)}}
@keyframes seod-intro-with{to{opacity:1;transform:skewX(-4deg)}}
@keyframes seod-intro-label{0%{clip-path:inset(0 100% 0 0);transform:rotate(0)}62%{clip-path:inset(-.3em);transform:rotate(0)}82%{transform:rotate(-4deg)}100%{clip-path:inset(-.3em);transform:rotate(-3deg)}}
@keyframes seod-intro-drop{to{clip-path:inset(calc(100% - var(--seod-intro-band,64px)) 0 0 0)}}
@keyframes seod-intro-glide{to{transform:translateY(var(--seod-intro-travel,100px))}}
@keyframes seod-intro-in{to{opacity:1}}
@keyframes seod-intro-out{to{opacity:0}}
@keyframes seod-intro-lift{to{translate:0 0}}

/* ====== HOMEPAGE OPENING INTRO: REDUCED MOTION ====== */
@media (prefers-reduced-motion:reduce){.seod-intro,.seod-intro-skip{display:none!important}.seod-intro-on .hero h1{translate:none}}
