
.em-page{--em-dot:var(--ink-2);--em-hl:var(--rust-600)}
.em__story{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,72px);align-items:start}
.em__steps{grid-column:1;grid-row:1}
.em__fig{grid-column:2;grid-row:1;position:sticky;top:calc(var(--head-h) + 5vh);height:calc(100vh - var(--head-h) - 10vh);height:calc(100svh - var(--head-h) - 10svh);margin:0;display:flex;flex-direction:column}
.em-step{min-height:88vh;min-height:88svh;display:flex;align-items:center}
.em-step:first-child{min-height:70vh;min-height:70svh;align-items:flex-start}
.em-step__card{max-width:46ch;transition:opacity .5s var(--ease)}
.em-ready .em-step:not(.is-active) .em-step__card{opacity:.3}
.em-step__h{font:400 clamp(1.7rem,2.7vw,2.5rem)/1.12 var(--f-display);margin:16px 0 14px;letter-spacing:-.01em}
.em-step__lead{color:var(--ink-2);line-height:1.65}
.em-step__note{margin-top:20px;padding:14px 18px;border-left:2px solid var(--rust);background:var(--paper);border-radius:0 var(--r-sm) var(--r-sm) 0;font-size:.98rem;line-height:1.55;color:var(--ink)}
.em-total{margin-top:26px;font:600 .78rem/1.3 var(--f-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.em-total b{display:block;margin-bottom:6px;font:400 clamp(4.2rem,9vw,7.6rem)/.95 var(--f-display);letter-spacing:-.02em;text-transform:none;color:var(--rust)}
html:not(.em-ready) .em__fig{display:none}
html:not(.em-ready) .em__story{grid-template-columns:1fr}
html:not(.em-ready) .em-step{min-height:0;margin-bottom:56px}
.em-chart{position:relative;flex:1;min-height:0}
.em-svg{display:block;overflow:visible}
.em-lbl{font:600 12px var(--f-ui);letter-spacing:.02em;fill:var(--ink)}
.em-lbl__n{fill:var(--muted);font-weight:500}
.em-dot{cursor:pointer}
.em-hit{fill:transparent}
.em-mk{fill:var(--em-dot);transform-box:fill-box;transform-origin:center;transition:fill .35s,opacity .35s,transform .35s var(--ease)}
.em-dot:hover .em-mk{transform:scale(1.25)}
.em-dot.is-hl .em-mk{fill:var(--em-hl);transform:scale(1.2)}
.em-dot.is-dim .em-mk{opacity:.2}
.em-dot.is-sel .em-mk{fill:var(--rust);stroke:var(--ink);stroke-width:2.5px;opacity:1}
.em-dot.is-focus .em-mk{stroke:var(--ink);stroke-width:2px;opacity:1}
.em-svg:focus{outline:none}
.em-svg:focus-visible{outline:2px solid var(--rust);outline-offset:8px;border-radius:6px}
.em-tip{position:absolute;z-index:5;left:0;top:0;width:max-content;max-width:min(270px,100%);padding:10px 13px;border-radius:10px;background:var(--night);color:#fff;font:.8rem/1.4 var(--f-body);pointer-events:none;box-shadow:0 12px 30px rgba(18,16,15,.22)}
.em-tip[hidden]{display:none}
.em-tip b{display:block;margin-bottom:3px;font:600 .82rem/1.35 var(--f-ui)}
.em-tip span{display:block;color:rgba(255,255,255,.82)}
.em-tip .em-tip__p{color:rgba(255,255,255,.62)}
.em-tip .em-tip__also{margin-top:4px;color:#f0b9a3}
html:not(.em-ready) .em-x{display:none}
.em-noscript{padding:16px 20px;background:var(--paper);border-radius:var(--r-sm)}
.em-x__controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px 40px;margin-bottom:26px}
.em-seg{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.em-seg__l,.em-find label{font:600 .7rem/1.3 var(--f-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.em-seg__l{width:100%;margin-bottom:4px}
.em-seg__b{min-height:44px;padding:10px 18px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink-2);font:600 .8rem/1 var(--f-ui);cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.em-seg__b:hover{border-color:var(--ink-2);color:var(--ink)}
.em-seg__b[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.em-seg__b:focus-visible,.em-find input:focus-visible,.em-data summary:focus-visible,.em-data__wrap:focus-visible{outline:2px solid var(--rust);outline-offset:3px}
.em-find{flex:1 1 260px;max-width:360px}
.em-find label{display:block;margin-bottom:8px}
.em-find input{width:100%;min-height:44px;padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:1rem var(--f-body)}
.em-find__n{min-height:1.5em;margin-top:8px;font-size:.86rem;color:var(--ink-2)}
.em-x__body{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(18px,3vw,44px);align-items:start}
.em-x__fig{position:relative;margin:0;padding:clamp(18px,2.6vw,32px);background:var(--paper);border-radius:var(--r)}
.em-detail{position:sticky;top:calc(var(--head-h) + 20px);padding:clamp(20px,2.6vw,32px);background:var(--paper);border-radius:var(--r)}
.em-detail__empty{color:var(--ink-2)}
.em-detail__k{font:600 .7rem/1.4 var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--rust)}
.em-detail__q{margin:10px 0 8px;font:400 1.45rem/1.2 var(--f-display)}
.em-detail__t{font-size:.9rem;color:var(--ink-2);line-height:1.5}
.em-detail__dl{display:grid;gap:10px;margin:18px 0;padding:16px 0;border-block:1px solid var(--line-2)}
.em-detail__dl dt{font:600 .66rem/1.3 var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.em-detail__dl dd{margin:3px 0 0;font-size:.92rem;line-height:1.45}
.em-detail__dl a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.em-detail__sum{margin-bottom:18px;font-size:.95rem;line-height:1.6;color:var(--ink-2)}
.em-data{margin-top:clamp(36px,5vw,64px)}
.em-data summary{display:inline-flex;align-items:center;min-height:44px;padding:10px 20px;border-radius:999px;border:1.5px solid var(--ink);font:600 .8rem/1 var(--f-ui);letter-spacing:.04em;cursor:pointer;list-style:none}
.em-data summary::-webkit-details-marker{display:none}
.em-data summary::after{content:"+";margin-left:12px;font-size:1.1rem}
.em-data[open] summary::after{content:"−"}
.em-data__wrap{margin-top:20px;overflow-x:auto;background:var(--paper);border-radius:var(--r-sm)}
.em-table{width:100%;min-width:900px;border-collapse:collapse;font-size:.86rem;line-height:1.45}
.em-table th,.em-table td{padding:12px 16px;border-bottom:1px solid var(--line-2);text-align:left;vertical-align:top}
.em-table thead th{font:600 .66rem/1.3 var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);background:var(--paper);position:sticky;top:0}
.em-table tbody th{font-weight:400;min-width:260px}
.em-table tbody th a{font-weight:700;color:var(--ink)}
.em-table tbody th span{display:block;margin-top:3px;color:var(--muted);font-size:.8rem}
.em-method{max-width:72ch;margin-top:clamp(48px,6vw,88px);padding-top:clamp(28px,3vw,40px);border-top:1px solid var(--line)}
.em-method .em-step__h{font-size:clamp(1.4rem,2vw,1.8rem)}
.em-method__links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:20px}
@media (max-width:899px){
  .em__story{grid-template-columns:1fr;gap:0}
  .em__fig{grid-column:1;grid-row:1;top:var(--head-h);z-index:1;height:50vh;height:50svh;padding:12px 0 8px;background:var(--cream)}
  .em__steps{grid-column:1;grid-row:2;position:relative;z-index:2}
  .em-step,.em-step:first-child{min-height:100vh;min-height:100svh;align-items:flex-end;padding-bottom:3vh}
  .em-step:first-child{min-height:0;padding-bottom:45vh}
  .em-step__card{max-width:none;padding:16px 18px 18px;background:var(--paper);border-radius:var(--r-sm);box-shadow:0 14px 40px rgba(18,16,15,.1)}
  .em-ready .em-step:not(.is-active) .em-step__card{opacity:1}
  .em-step__h{margin:10px 0 8px;font-size:1.3rem}
  .em-step__lead{font-size:.92rem;line-height:1.5}
  .em-step__note{margin-top:12px;padding:10px 14px;font-size:.88rem;line-height:1.45}
  .em-total{margin-top:14px}
  .em-total b{font-size:3rem}
  .em-x__body{grid-template-columns:1fr}
  .em-detail{position:static}
  .em-find{max-width:none}
}
@media (prefers-reduced-motion:reduce){
  .em-mk,.em-step__card,.em-seg__b{transition:none}
}
