.floating-nav{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);z-index:40;max-width:calc(100% - 24px);width:max-content;color:var(--paper)}
.floating-nav[hidden],.section-index[hidden]{display:none}
/* Arrive from the lower edge; the index unfolds upward from its trigger. */
@media(prefers-reduced-motion:no-preference){
  html:not(.motion-paused) .floating-nav:not([hidden]){animation:dock-arrive 320ms cubic-bezier(.16,1,.3,1) both}
  html:not(.motion-paused) .section-index:not([hidden]){animation:index-arrive 300ms cubic-bezier(.16,1,.3,1) both}
  html:not(.motion-paused) .floating-nav-bar>button svg{transition:transform 220ms cubic-bezier(.16,1,.3,1)}
}
@keyframes dock-arrive{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes index-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.floating-nav-bar{display:flex;align-items:center;background:#1c2b2e;border:1px solid #657b78;border-top:2px solid var(--copper);padding:5px 7px;gap:3px}
.nav-monogram{font-family:var(--serif);font-style:italic;color:var(--copper-light);font-size:29px;line-height:1;padding:0 13px 0 8px;border-right:1px solid var(--line);margin-right:5px}
.floating-nav-bar>a,.floating-nav-bar>button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 14px;font-family:var(--sans);font-size:13px;line-height:1.3;white-space:nowrap;background:none;border:0;color:var(--paper)}
.floating-nav-bar>a[aria-current="page"]{color:var(--copper-light);text-decoration:underline;text-underline-offset:6px}
.floating-nav-bar>a:hover,.floating-nav-bar>button:hover{background:#2d4142}
.floating-nav-bar>button[aria-expanded="true"]{color:var(--copper-light);background:#2d4142}
.floating-nav-bar svg,.section-index svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.25;flex-shrink:0}
.floating-nav-bar>button[aria-expanded="true"] svg{transform:rotate(180deg)}
.floating-nav-bar a.dock-inquiry{background:var(--copper-light);color:var(--ink);margin-left:5px}
.floating-nav-bar a.dock-inquiry:hover{background:var(--paper)}
.section-index{position:absolute;bottom:calc(100% + 9px);left:0;right:0;background:#1c2b2e;border:1px solid #657b78;padding:19px 20px 12px;max-height:calc(100dvh - 130px - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain}
.section-index>p{font-family:var(--serif);font-size:25px;color:var(--paper);margin:0 0 10px}
.section-index>a{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:44px;padding:11px 0;font-size:13px;line-height:1.5;border-top:1px solid var(--line)}
.section-index>a:hover{color:var(--copper-light)}
.section-index a.index-privacy{color:var(--muted);font-size:13px}
.has-floating-navigation{scroll-padding-bottom:110px}
.has-floating-navigation body{padding-bottom:95px}
@media(max-width:560px){.floating-nav .nav-monogram{display:none}.floating-nav .floating-nav-bar>a,.floating-nav .floating-nav-bar>button{padding-inline:7px;min-width:44px}}
@media(max-width:560px){.floating-nav{bottom:calc(10px + env(safe-area-inset-bottom,0px));max-width:calc(100% - 16px)}.floating-nav-bar{padding:4px;gap:0}.nav-monogram{font-size:25px;padding-inline:5px;margin-right:2px}.floating-nav-bar>a,.floating-nav-bar>button{padding:8px 9px;font-size:12px;gap:4px}.floating-nav-bar a.dock-inquiry{margin-left:3px}.section-index{padding:15px 17px 10px}}
@media(max-width:360px){.nav-monogram{display:none}.floating-nav-bar>a,.floating-nav-bar>button{padding-inline:9px}}
@media print{.floating-nav{display:none}.has-floating-navigation body{padding-bottom:0}}

/* Reading context belongs to the existing dock, not another navigation layer. */
.scroll-context{display:flex;align-items:baseline;gap:12px;margin:0;padding:9px 13px;background:var(--ink);border:1px solid #657b78;border-bottom:0;font-size:12px;line-height:1.5}
.scroll-context>span{color:var(--muted);flex:none}
.scroll-context>strong{color:var(--copper-light);font-weight:400;min-width:0}
.has-scroll-context{scroll-padding-bottom:150px}
.has-scroll-context body{padding-bottom:135px}
.has-scroll-context .section-index{max-height:calc(100dvh - 175px - env(safe-area-inset-bottom,0px))}
@media(max-width:560px){.scroll-context{padding:8px 10px;gap:9px;font-size:11px}}
@media print{.has-scroll-context body{padding-bottom:0}}
