/* A quiet editorial welcome: typography and the family, with room to breathe. */
.em-intro{--intro-olive:#45513a;position:fixed;inset:0;z-index:120;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:32px clamp(24px,4vw,64px);overflow:auto;overscroll-behavior:contain;background:#f6f3ec;color:#2e3829;isolation:isolate}
.em-intro[hidden]{display:none!important}.em-intro::backdrop{background:#f6f3ec}
.em-intro-top{width:100%;max-width:1480px;display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 auto;flex-shrink:0}
.em-intro-brand{display:flex;align-items:center;gap:18px;color:#5b6452;font:12px/1.65 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}.em-intro-brand img{display:block;width:88px;height:64px;object-fit:contain}
.em-intro button{font:14px/1.5 Arial,sans-serif;color:inherit;min-height:44px;border:0;background:transparent;padding:10px 16px;cursor:pointer}.em-intro button:focus-visible{outline:2px solid var(--intro-olive);outline-offset:4px}.em-intro .em-intro-skip{border:1px solid #9fa68f;border-radius:3px;padding:12px 24px;white-space:nowrap}.em-intro .em-intro-skip:hover{background:#e6eadc}
.em-intro-main{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);align-items:center;width:100%;max-width:1480px;margin:auto;gap:0;flex:1;min-height:0}
.em-intro-story{padding:28px 0 28px 12px;position:relative;z-index:1}.em-intro-kicker{font:12px/1.6 Arial,sans-serif;letter-spacing:.19em;margin:0 0 28px;color:#58664b}
.em-intro-caption{font:400 clamp(36px,4.2vw,64px)/1.07 Georgia,serif;letter-spacing:-.045em;margin:0;min-height:3em;text-wrap:balance;color:#2e3829}.em-intro-caption span{display:block;font:16px/1.65 Arial,sans-serif;letter-spacing:0;margin-top:30px;color:#66705e}
.em-intro-signature{font:italic 18px/1.6 Georgia,serif;margin:36px 0 0;padding-top:18px;border-top:1px solid #cdd2bf;width:fit-content;color:#45513a}
.em-intro-art{width:106%;margin:0 0 0 -3%;position:relative;min-width:0}.em-intro canvas{display:block;width:100%;height:auto;aspect-ratio:1200/580;max-height:65dvh;object-fit:contain}
.em-intro-bottom{max-width:1480px;width:100%;margin:0 auto;display:grid;grid-template-columns:1fr 220px 1fr;align-items:center;gap:28px;border-top:1px solid #d5d9ca;padding-top:20px;flex-shrink:0}.em-intro-tools{display:flex;gap:8px;flex-wrap:wrap}.em-intro-tools button{padding:10px 12px}.em-intro-tools button[aria-pressed=true]{color:#2e3829;text-decoration:underline;text-underline-offset:6px}.em-intro-tools button:hover{background:#e9ecdf}
.em-intro-progress{height:2px;background:#d5dbca;overflow:hidden}.em-intro-progress span{display:block;width:100%;height:100%;background:var(--intro-olive);transform:scaleX(0);transform-origin:left}.em-intro-footer-note{font:12px/1.6 Arial,sans-serif;color:#67705d;text-align:right;letter-spacing:.05em}
.em-intro-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.em-intro-replay{border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;font:14px/1.5 Arial,sans-serif;min-height:44px;padding:10px 0;cursor:pointer;margin-left:20px}.hero-copy .em-intro-replay{display:block;margin:14px 0 0;text-align:left;width:max-content}.em-intro-replay:focus-visible{outline:2px solid currentColor;outline-offset:5px}
html[data-em-intro-active] :is(.em-bee-launcher,.em-bee-notice,.em-frog-tongue){visibility:hidden;pointer-events:none}.em-intro.is-leaving{pointer-events:none;animation:em-intro-reveal .62s ease both}@keyframes em-intro-reveal{to{opacity:0;transform:translateY(-8px)}}
@media(max-width:850px){.em-intro{padding:22px 24px;gap:18px}.em-intro-main{grid-template-columns:1fr;align-content:center;gap:8px}.em-intro-story{text-align:center;padding:12px 0 0}.em-intro-kicker{margin-bottom:15px;font-size:12px}.em-intro-caption{font-size:clamp(34px,6.7vw,47px);min-height:3.45em;line-height:1.08}.em-intro-caption span{font-size:14px;margin-top:17px}.em-intro-signature{font-size:16px;border:0;margin:14px auto 0;padding:0}.em-intro-art{width:calc(100% + 36px);margin:-6px -18px 0}.em-intro canvas{max-height:39dvh;object-fit:contain}.em-intro-bottom{grid-template-columns:1fr;justify-items:center;gap:12px;padding-top:12px}.em-intro-progress{width:140px;grid-row:2}.em-intro-footer-note{display:none}.em-intro-brand{gap:12px}.em-intro-brand img{width:68px;height:48px}.em-intro .em-intro-skip{font-size:13px;padding:10px 16px}.em-intro-tools{justify-content:center}}
@media(max-width:400px){.em-intro{padding:16px 18px;gap:14px}.em-intro-brand{gap:8px;font-size:12px;letter-spacing:.04em}.em-intro-brand img{width:58px}.em-intro-caption{font-size:35px}.em-intro .em-intro-skip{padding:10px 12px}.em-intro-art{width:calc(100% + 28px);margin-inline:-14px}}
@media(max-height:600px){.em-intro{justify-content:flex-start}.em-intro-main{flex:none}.em-intro canvas{max-height:none}.em-intro-top{padding-top:0}.em-intro-caption{font-size:36px}}
@media(prefers-reduced-motion:reduce){.em-intro.is-leaving{animation:none}.em-intro-progress{visibility:hidden}}
/* v118: one coherent family scene, fully contained on phones and desktops. */
.em-intro-art{width:100%;margin:0;max-width:850px;justify-self:center}
.em-intro-art .em-family-stage{max-height:65dvh;aspect-ratio:3/2}
.em-intro-art .em-family-halo{inset:6% 6% 0%;background:radial-gradient(ellipse,#e7eadb 12%,#f0eddf80 65%,#f0eddf00 74%)}
.em-intro-caption{min-height:3.6em}
@media(max-width:850px){.em-intro-art{width:100%;margin:0;max-width:560px}.em-intro-art .em-family-stage{height:min(36dvh,370px);max-height:none;aspect-ratio:auto}.em-intro-caption{min-height:3.6em}}
@media(max-height:600px) and (min-width:851px){.em-intro-art .em-family-stage{height:330px;max-height:none}.em-intro-main{grid-template-columns:1fr 1.2fr}}

/* Keep the welcome in the brand's olive and ivory, independent of page theme. */
.em-intro{background:radial-gradient(ellipse at 78% 42%,#e9ecde 0,transparent 48%),#f6f3ec}.em-intro .em-intro-skip{background:#45513a;color:#fff;border-color:#45513a;border-radius:6px}.em-intro .em-intro-skip:hover{background:#35432e;color:#fff}.em-intro-brand img{width:104px;height:80px}.em-intro-top{padding-bottom:16px;border-bottom:1px solid #d5d9ca}.em-intro-footer-note{color:#55614b}.em-intro-replay{border-radius:0!important}
@media(max-width:600px){.em-intro-brand img{width:68px;height:54px}.em-intro-top{gap:12px;padding-bottom:12px}.em-intro-brand{font-size:10px}.em-intro-main{flex:none;flex-grow:1}.em-intro-caption{font-size:clamp(30px,8.5vw,39px)}.em-intro-art .em-family-stage{height:min(32dvh,300px)}.em-intro-tools button{font-size:12px}}
