#triebus-folio > .ct-nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: fit-content;
  max-width: 100%;
  gap: clamp(17px, 2cqw, 32px);
  padding: 0;
  background: transparent;
}
/* The unenhanced navigation stays in the normal reading order. */
#triebus-folio > .ct-nav[data-reveal-nav] {
  position: sticky;
  top: calc(100vh - var(--dock-height,44px) - 12px);
  top: calc(100dvh - var(--dock-height,44px) - 12px - env(safe-area-inset-bottom));
  z-index: 8;
  padding-inline: 12px;
  margin-inline-start: -12px;
  max-width: calc(100% + 12px);
  transition: transform 170ms ease-out;
}
#triebus-folio > .ct-nav .ct-link:is(:hover,:focus-visible) { background:transparent; text-decoration:underline; }
#triebus-folio > .ct-nav[data-away]:not(:focus-within) { transform: translateY(calc(100% + 20px + env(safe-area-inset-bottom))); }
@supports selector(:has(:focus-visible)) {
  #triebus-folio > .ct-nav[data-away]:focus-within:not(:has(:focus-visible)) { transform: translateY(calc(100% + 20px + env(safe-area-inset-bottom))); }
}
#triebus-folio .ct-nav [aria-current="page"], #triebus-folio .ct-footer [aria-current="page"] {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .22em;
}
#triebus-folio .ct-nav .ct-brand { margin-right: clamp(2px,2cqw,34px); white-space:nowrap; }
#triebus-folio .ct-footer { align-items:center; gap:12px 32px; font-size:14px; }
#triebus-folio .ct-footer nav { display:flex; flex-wrap:wrap; gap:24px; }
#triebus-folio .ct-footer a { display:inline-flex; align-items:center; min-height:44px; }
#triebus-folio .ct-info-page { container-type:inline-size; }
#triebus-folio .ct-info-head {
  display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr); align-items:end;
  gap:28px 7%; margin:clamp(52px,8cqw,104px) 0 clamp(44px,7cqw,104px);
}
#triebus-folio .ct-info-label { grid-column:1/-1; font-size:15px; line-height:1.4; }
#triebus-folio .ct-info-head h1 { min-width:0; font-size:min(11.9cqw,170px); line-height:0; font-weight:500; }
#triebus-folio .ct-info-head h1 .ct-title-line+.ct-title-line { margin-block-start:.14em; margin-inline-start:12%; }
#triebus-folio .ct-info-lead { font-size:clamp(22px,2.2cqw,34px); line-height:1.34; max-width:32ch; text-wrap:pretty; }
#triebus-folio .ct-info-portrait { position:relative; isolation:isolate; width:75%; margin:0 0 0 8.333%; }
#triebus-folio .ct-info-portrait img { display:block; width:100%; height:auto; }
#triebus-folio .ct-info-section { display:grid; grid-template-columns:minmax(0,3fr) minmax(0,7fr); gap:7%; align-items:baseline; margin:clamp(72px,10cqw,150px) 0 0; }
#triebus-folio .ct-info-section h2 { font-size:clamp(28px,4.45cqw,65px); font-weight:500; line-height:1.09; text-wrap:balance; font-feature-settings:'ss01' 1; }
#triebus-folio .ct-info-copy { max-width:710px; }
#triebus-folio .ct-info-copy :is(p,address) { margin:0; font:400 var(--ct-reading-size)/1.5 var(--ct-reading-face); letter-spacing:0; text-wrap:pretty; }
#triebus-folio .ct-info-copy :is(p,address)+p { margin-top:var(--ct-paragraph-gap); }
#triebus-folio .ct-info-copy a { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.2em; }
#triebus-folio .ct-info-copy a:hover,#triebus-folio .ct-info-copy a:focus-visible { background:var(--ct-yellow); }
#triebus-folio .ct-info-vita { display:inline-flex; align-items:center; min-height:44px; }
#triebus-folio .ct-info-legal .ct-info-head { display:block; }
#triebus-folio .ct-info-legal .ct-info-head h1 { font-size:min(14cqw,174px); }
#triebus-folio .ct-info-legal .ct-info-section { grid-template-columns:minmax(0,3fr) minmax(0,5fr); gap:9%; }
#triebus-folio .ct-info-legal .ct-info-section h2 { font-weight:500; font-size:clamp(23px,2.8cqw,39px); line-height:1.18; }
#triebus-folio :is(#contact,#app-support,.ct-vita-entry) { scroll-margin-top:58px; }
#triebus-folio .ct-vita { margin-top:clamp(56px,8cqw,112px); }
#triebus-folio .ct-vita .ct-info-section { margin-top:0; }
#triebus-folio .ct-vita-entry { width:65.1%; margin:clamp(26px,3.2cqw,44px) 0 0 auto; }
#triebus-folio .ct-vita-entry:first-of-type { margin-top:clamp(54px,7cqw,96px); }
#triebus-folio .ct-vita-entry summary { width:fit-content; display:flex; align-items:center; min-height:44px; font-size:clamp(23px,3.1cqw,43px); line-height:1.12; font-weight:500; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.22em; cursor:pointer; }
#triebus-folio .ct-vita-body { max-width:710px; margin:28px 0 42px; font-size:var(--ct-reading-size); line-height:1.5; }
#triebus-folio .ct-vita-body h4, #triebus-folio .ct-app-support h3 { margin:32px 0 10px; font-size:1em; line-height:1.35; font-weight:500; }
#triebus-folio .ct-vita-body ul { list-style:none; padding:0; }
#triebus-folio .ct-vita-body li+li { margin-top:14px; }
#triebus-folio .ct-vita-body p+p { margin-top:var(--ct-paragraph-gap); }
#triebus-folio .ct-vita-body a { text-decoration:underline; text-underline-offset:.19em; text-decoration-thickness:1px; }
#triebus-folio .ct-vita-body .ct-vita-authors { display:block; font-size:15px; line-height:1.45; margin-top:4px; }
#triebus-folio .ct-publications-link { margin-top:40px; }
@media(max-width:650px) {
  #triebus-folio .ct-nav .ct-brand { margin-right:0; }
  #triebus-folio > .ct-nav { gap:clamp(13px,4cqw,24px); }
  #triebus-folio .ct-info-head { grid-template-columns:1fr; gap:24px; margin:44px 0 40px; }
  #triebus-folio .ct-info-head h1 { font-size:19.2cqw; }
  #triebus-folio .ct-info-lead { margin-top:6px; max-width:36ch; }
  #triebus-folio .ct-info-portrait { width:100%; margin:0; }
  #triebus-folio .ct-info-section,#triebus-folio .ct-info-legal .ct-info-section { grid-template-columns:1fr; gap:24px; margin-top:70px; }
  #triebus-folio .ct-info-legal .ct-info-head h1 { font-size:18.2cqw; }
  #triebus-folio .ct-vita-entry { width:100%; }
}
@media(prefers-reduced-motion:reduce) {
  #triebus-folio > .ct-nav[data-reveal-nav] { transition:none; }
}
@media print {
  #triebus-folio > .ct-nav[data-reveal-nav] { position:static; transform:none; }
}

/* Footer labels use the same Skyline Medium run as the navigation. */
#triebus-folio .ct-footer { font:500 14px/1.2 var(--ct-reading-face); }
#triebus-folio .ct-footer .ct-da-capo { position:relative; font:inherit; background:transparent; }
#triebus-folio .ct-capo-type { display:inline-block; white-space:pre; }
#triebus-folio .ct-capo-flock { position:absolute; inset:0; pointer-events:none; }
#triebus-folio .ct-capo-flock span { position:absolute; font:inherit; line-height:inherit; white-space:pre; }
#triebus-folio .ct-da-capo:focus-visible { outline-offset:.25em; }
#triebus-folio .ct-about-links a { text-decoration:underline; text-underline-offset:.2em; text-decoration-thickness:1px; }

#triebus-folio:has(> .ct-nav[data-reveal-nav]) .ct-footer { padding-bottom:calc(var(--dock-height,44px) + 24px + env(safe-area-inset-bottom)); }
