/* Page sections: one hairline on the left edge with a small marker for where you are (wide
   screens); a thin line along the top on narrower ones. Names show only on hover, focus or a change. */
.section-isle{position:fixed;left:30px;top:50%;z-index:25;transform:translateY(-50%);height:min(40vh,360px);width:110px;opacity:0;pointer-events:none;transition:opacity .4s}
.section-isle.is-shown{opacity:1}
.section-isle.is-shown a{pointer-events:auto}
.section-isle-track{position:relative;height:100%}
.section-isle-track::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:#ffffff1a}
.section-isle ol{list-style:none;margin:0;padding:0;position:absolute;inset:0}
.section-isle li{position:absolute;left:0;right:0;top:calc(var(--at) * 100%);transform:translateY(-50%)}
.section-isle a{position:relative;display:block;height:16px;margin-left:-8px;padding-left:8px;outline:none;text-decoration:none}
.section-isle-label{position:absolute;left:18px;top:50%;transform:translate(-4px,-50%);white-space:nowrap;font-size:11.5px;font-weight:600;letter-spacing:.2px;color:#8f8b93;opacity:0;transition:opacity .3s,transform .3s}
.section-isle a:hover .section-isle-label,.section-isle a:focus-visible .section-isle-label{opacity:1;transform:translate(0,-50%);color:#c9c6cf}
.section-isle.is-telling a[aria-current] .section-isle-label{opacity:1;transform:translate(0,-50%)}
.section-isle a[aria-current] .section-isle-label{color:#e9e4dc}
.section-isle a:focus-visible .section-isle-label{text-decoration:underline;text-underline-offset:3px}
.section-isle-pill{position:absolute;left:0;top:calc(var(--at,0) * 100%);width:5px;height:5px;transform:translate(-50%,-50%);border-radius:50%;background:#e9d2b6;box-shadow:0 0 6px #ffc17d55;transition:top .5s cubic-bezier(.3,.7,.2,1);pointer-events:none}
.section-isle-pill i{display:none}
.section-line{display:none}
@media(max-width:1419px){
 .section-isle{display:none}
 .section-line{display:block;position:fixed;left:0;right:0;top:0;height:2px;z-index:40;opacity:0;transition:opacity .3s;pointer-events:none}
 .section-line.is-shown{opacity:1}
 .section-line i{display:block;height:100%;width:100%;transform-origin:0 50%;transform:scaleX(var(--done,0));background:#e9d2b6aa}
}
@media(prefers-reduced-motion:reduce){.section-isle,.section-isle-pill,.section-isle-label,.section-line{transition:none}}
