.guide-introduction{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:100%;margin:0;padding:45px 24px;border:0;background:#fff;color:var(--ink);overflow-y:auto;opacity:1;transition:opacity .4s ease}.guide-introduction::backdrop{background:#fff}.guide-introduction[open]{display:flex;align-items:center;justify-content:center}.guide-intro-inner{width:min(700px,100%);margin:auto;text-align:center;padding:18px 0}.guide-intro-logo{display:block;width:155px;height:auto;margin:0 auto 46px}.guide-intro-inner>.eyebrow{color:var(--sage);margin:0 0 24px}.guide-introduction h2{font-size:clamp(25px,3vw,35px);line-height:1.9;letter-spacing:.055em;margin:0 0 24px;outline:none}.guide-intro-inner>p:not(.eyebrow){font-size:13px;line-height:2.1}.guide-intro-how{border-top:1px solid #e4e4dc;padding-top:23px;margin:27px auto 30px;max-width:590px}.guide-intro-how p{font-size:12px;line-height:2;margin:8px 0}.enter-guide{background:transparent;border:1px solid #b8bdb0;min-width:265px;padding:19px 24px;display:inline-flex;align-items:center;justify-content:space-between;gap:65px;font-size:13px;letter-spacing:.08em}.enter-guide:hover{background:#f5f3ed}.enter-guide:focus-visible{outline:2px solid var(--sage);outline-offset:5px}.guide-intro-inner>.guide-intro-save{font-size:10px!important;color:#72786a;margin:19px 0 0}.guide-introduction.is-leaving{opacity:0;pointer-events:none}.reading-strip>button{background:transparent;font-size:11px;padding:8px 0;color:inherit;text-align:left}.reading-strip>button:hover{text-decoration:underline}body:has(.guide-introduction[open]){overflow:hidden}
@media(max-width:760px){.guide-introduction{padding:30px 24px}.guide-intro-logo{width:140px;margin-bottom:32px}.guide-introduction h2{font-size:23px;letter-spacing:.015em;line-height:1.85}.guide-intro-inner>p:not(.eyebrow){font-size:12px}.guide-intro-how{margin:24px 0;padding-top:16px}.guide-intro-how p{font-size:11px}.enter-guide{min-width:240px;min-height:56px;padding:16px 22px}.guide-intro-inner>.guide-intro-save{font-size:9px!important}}
@media(prefers-reduced-motion:reduce){.guide-introduction{transition:none}}
@media print{#guide-introduction,#reopen-guide-intro{display:none!important}.guide-introduction::backdrop{display:none!important}body:has(.guide-introduction[open]){overflow:visible}}

/* The logo appears alone at the viewport centre, rests, then moves into place. */
@keyframes guide-logo-sequence{
  0%{opacity:0;transform:translateY(var(--logo-centre-offset,0px))}
  40%{opacity:1;transform:translateY(var(--logo-centre-offset,0px))}
  60%{opacity:1;transform:translateY(var(--logo-centre-offset,0px))}
  100%{opacity:1;transform:translateY(0)}
}
@keyframes guide-intro-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.guide-introduction[open] .guide-intro-inner>*{opacity:0}
.guide-introduction[open].is-presenting .guide-intro-inner>*{animation:guide-intro-rise 1.8s cubic-bezier(.22,.61,.36,1) both}
.guide-introduction[open].is-presenting .guide-intro-logo{animation:guide-logo-sequence 7.5s cubic-bezier(.45,0,.2,1) both;will-change:transform,opacity}
.guide-introduction[open].is-presenting #guide-intro-title{animation-duration:2.4s;animation-delay:7.8s}
.guide-introduction[open].is-presenting .guide-intro-inner>.eyebrow{animation-delay:8.6s}
.guide-introduction[open].is-presenting .guide-intro-gratitude{animation-delay:10.2s}
.guide-introduction[open].is-presenting #guide-intro-description{animation-delay:12s}
.guide-introduction[open].is-presenting .guide-intro-how{animation-delay:13.8s}
.guide-introduction[open].is-presenting .enter-guide{animation-delay:15.6s}
.guide-introduction[open].is-presenting .guide-intro-save{animation-delay:15.8s}
@media(prefers-reduced-motion:reduce){.guide-introduction[open] .guide-intro-inner>*{animation:none!important;opacity:1;transform:none;will-change:auto}}
@media print{.guide-introduction[open] .guide-intro-inner>*{animation:none}}
