:root {
  --nb-ground: #F4E6EA;
  --nb-ink: #2D2225;
  --nb-accent: #DF987B;
  --nb-support: #C5DDD4;
  --nb-surface: #FDFBFC;
  color-scheme: light;
  font-family: 'Libre Franklin', 'Helvetica Neue', Arial, sans-serif;
  color: var(--nb-ink);
  background: var(--nb-surface);
  font-synthesis: none;
}
* { box-sizing: border-box; }
html { scroll-padding-top: 28px; }
body { margin: 0; font-size: 18px; line-height: 1.65; }
img, svg { max-width: 100%; }
img { display: block; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .22em; transition: background-color .16s, text-decoration-thickness .16s; }
a:hover { text-decoration-thickness: 3px; }
a:focus-visible { outline: 3px solid var(--nb-ink); outline-offset: 5px; background: var(--nb-support); }
::selection { background: var(--nb-support); color: var(--nb-ink); }
.nb-skip { position: absolute; top: -90px; left: 18px; z-index: 10; padding: 12px 20px; background: var(--nb-surface); }
.nb-skip:focus { top: 10px; }
.nb-masthead {
  padding: 18px max(40px, calc((100% - 1288px) / 2)); min-height: 116px;
  display: flex; align-items: center; gap: 30px; background: var(--nb-ground);
}
.nb-wicket { position: relative; flex: 0 0 176px; height: 72px; border: solid var(--nb-ink); border-width: 0 3px 3px; }
.nb-wicket a { position: absolute; display: flex; align-items: center; gap: 7px; background: var(--nb-ground); font-size: 16px; line-height: 1.3; padding: 5px 4px; text-decoration: none; }
.nb-wicket a:hover { background: var(--nb-accent); }
.nb-upright-west { left: -4px; top: 1px; }
.nb-upright-east { right: -4px; top: 28px; }
.nb-base-line { bottom: -17px; left: 31px; }
.nb-nav-fallback { display: none; }
.nb-wicket .lucide { width: 18px; height: 18px; stroke-width: 1.7; }
.nb-wicket i { width: 18px; min-height: 18px; display: inline-block; }
.nb-wordmark { flex-shrink: 0; font: 400 36px/1.12 'Nixie One', Georgia, serif; text-decoration: none; white-space: nowrap; }
.nb-wordmark:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.nb-wordmark span { display: inline; }
.nb-mast-thought { font-size: 16px; line-height: 1.5; margin: 0 0 0 auto; max-width: 175px; }
.nb-unfilled-mark { width: 104px; height: 52px; flex-shrink: 0; margin-left: 8px; }
.nb-boundary-hero { position: relative; isolation: isolate; min-height: 710px; padding: 44px 0 60px; background: var(--nb-support); }
.nb-hero-photo { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 65% 45%; }
.nb-home-panel-wrap { position: relative; width: min(806px, calc(100% - 100px)); margin-left: max(64px, calc(50% - 520px)); filter: drop-shadow(12px 12px 0 var(--nb-ink)); }
.nb-front-matter { width: min(760px, calc(100% - 80px)); margin: 36px auto 64px; }
.nb-home .nb-front-matter {
  width: auto; margin: 0; padding: 38px 64px 44px;
  background: var(--nb-accent);
  clip-path: polygon(0 0, calc(100% - 30px) 0, calc(100% - 30px) 30px, 100% 30px, 100% calc(100% - 36px), calc(100% - 54px) calc(100% - 36px), calc(100% - 54px) 100%, 0 100%);
}
.nb-home .nb-front-matter::before { content: ''; display: block; width: 124px; height: 5px; background: var(--nb-ink); margin: 0 0 22px; }
.nb-h1 { font: 400 clamp(38px, 4.2vw, 60px)/1.08 'Nixie One', Georgia, serif; letter-spacing: -.035em; margin: 0; text-wrap: pretty; }
.nb-home-h1 { font-size: clamp(42px, 4.3vw, 62px); }
.nb-term { white-space: nowrap; }
.nb-intro { max-width: 640px; margin: 18px 0 0; font-size: 19px; line-height: 1.5; }
.nb-prescription-note { position: relative; margin-top: 24px; padding: 0 0 0 26px; cursor: default; }
.nb-prescription-note::before { content: ''; position: absolute; left: -28px; top: 3px; bottom: 4px; width: 3px; background: var(--nb-ink); }
.nb-note-main { font-size: 17px; line-height: 1.5; margin: 0; }
.nb-note-main strong { font-weight: 600; }
.nb-note-continuation { width: 60%; margin: 13px 0 0 auto; font-size: 16px; line-height: 1.45; }
.nb-photo-slice { height: 246px; margin: 24px 0 0; position: relative; background: var(--nb-support); }
.nb-photo-slice::before { content: ''; position: absolute; z-index: 1; left: 33%; right: 33%; top: -8px; height: 16px; border: solid var(--nb-ink); border-width: 3px 3px 0; }
.nb-photo-slice img { width: 100%; height: 100%; object-fit: cover; object-position: center 54%; clip-path: polygon(0 0, 32% 0, 50% 8%, 68% 0, 100% 0, 100% 84%, 68% 84%, 50% 100%, 32% 84%, 0 84%); }
.nb-breadcrumb { max-width: 1288px; margin: 23px auto; padding: 0 2px; font-size: 16px; }
.nb-breadcrumb ol { display: flex; flex-wrap: wrap; list-style: none; gap: 0 12px; margin: 0; padding: 0; }
.nb-breadcrumb li + li::before { content: '/'; margin-right: 12px; }
.nb-inner-front { margin-top: 36px; margin-bottom: 56px; padding-left: 28px; border-left: 10px solid var(--nb-accent); }
.nb-without-photo { margin-top: 64px; }
.nb-orbit {
  display: grid; grid-template-columns: minmax(140px, 1fr) minmax(0, 760px) minmax(140px, 1fr);
  grid-template-rows: auto 1fr auto; column-gap: 48px; row-gap: 48px;
  max-width: 1360px; margin: 0 auto; padding: 52px 28px 0;
}
.nb-occupied { grid-area: 2 / 2; min-width: 0; padding: 48px 48px 10px; border-top: 10px solid var(--nb-accent); }
.nb-chapter { position: relative; }
.nb-occupied section + section { margin-top: 64px; }
.nb-chapter-number { position: absolute; left: -94px; top: -20px; font: 400 74px/1 'Nixie One', Georgia, serif; background: var(--nb-surface); padding: 5px 5px 12px 0; }
.nb-occupied h2 { font: 400 35px/1.2 'Nixie One', Georgia, serif; letter-spacing: -.018em; margin: 0 0 22px; }
.nb-occupied p { margin: 0 0 1.2em; }
.nb-occupied p:last-child { margin-bottom: 0; }
.nb-occupied a:hover, .nb-foot-links a:hover { background: var(--nb-support); }
.nb-qualifier { min-width: 0; align-self: start; position: relative; }
.nb-qualifier h2 { font-size: 18px; line-height: 1.4; font-weight: 600; margin: 0 0 12px; }
.nb-edge-word { display: flex; align-items: center; gap: 12px; font: 400 42px/1.2 'Nixie One', Georgia, serif; margin-bottom: 12px; }
.nb-edge-word i { display: none; }
.nb-edge-word .lucide { width: 24px; height: 24px; stroke-width: 1.7; flex-shrink: 0; }
.nb-qualifier p { font-size: 16px; line-height: 1.65; margin: 0; }
.nb-qualifier::before { display: block; content: ''; width: 42px; height: 7px; background: var(--nb-accent); margin: 0 0 18px; }
.nb-north { grid-area: 1 / 2; max-width: 380px; margin-left: auto; padding: 24px 28px; background: var(--nb-support); box-shadow: 10px 10px 0 var(--nb-accent); }
.nb-north::before { position: absolute; width: 64px; right: -18px; top: 0; margin: 0; background: var(--nb-ink); }
.nb-east { grid-area: 2 / 3; margin-top: 390px; }
.nb-south { grid-area: 3 / 2; max-width: 470px; padding-left: 28px; border-left: 8px solid var(--nb-support); }
.nb-west { grid-area: 2 / 1; position: sticky; top: 35px; margin-top: 100px; }
.nb-reading-next { max-width: 760px; margin: 72px auto 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 28px; background: var(--nb-accent); box-shadow: 10px 10px 0 var(--nb-ink); }
.nb-reading-next p { margin: 0; font-size: 16px; }
.nb-reading-next a { font-size: 18px; font-weight: 500; padding: 8px; }
.nb-reading-next a:hover { background: var(--nb-surface); }
.nb-reading-next .lucide { width: 21px; height: 21px; vertical-align: middle; margin-right: 8px; stroke-width: 1.7; }
.nb-court-room { margin: 90px 0 0; width: 100%; background: var(--nb-support); position: relative; }
.nb-court-room::before { content: ''; position: absolute; width: 27%; height: 16px; top: -8px; left: 18%; background: var(--nb-accent); z-index: 1; }
.nb-court-room img { width: 100%; height: clamp(190px, 27vw, 390px); object-fit: cover; object-position: 50% 54%; clip-path: polygon(0 0, 31% 0, 50% 9%, 69% 0, 100% 0, 100% 100%, 0 100%); }
.nb-source-list { margin: 0; padding: 0; list-style: none; }
.nb-source-list li + li { margin-top: 34px; padding-top: 30px; border-top: 3px solid var(--nb-support); }
.nb-source-list h2 { font-size: 28px; margin-bottom: 12px; }
.nb-source-list p { font-size: 17px; }
.nb-footer { margin: 80px 0 0; padding: 46px max(40px, calc((100% - 1288px) / 2)) 34px; background: var(--nb-ground); border-top: 12px solid var(--nb-support); }
.nb-home .nb-footer { margin-top: 0; }
.nb-footer-sentence { max-width: 760px; margin: 0 0 30px; font: 400 32px/1.35 'Nixie One', Georgia, serif; }
.nb-foot-links { display: flex; flex-wrap: wrap; gap: 8px 25px; font-size: 16px; }
.nb-foot-links a { padding: 8px 0; }
.nb-copyright { font-size: 16px; margin: 28px 0 0; }
.nb-missing { max-width: 760px; margin: 70px auto 100px; padding: 0 28px; }
.nb-missing p { margin: 24px 0; }
.nb-no-words { width: 180px; height: 84px; margin-top: 35px; }
@media (prefers-reduced-motion: no-preference) and (min-width: 801px) {
  .nb-home-panel-wrap { animation: nb-settle .6s ease-out both; }
  @keyframes nb-settle { from { transform: translateY(10px); } to { transform: translateY(0); } }
}
@media (max-width: 1100px) {
  .nb-masthead { padding-left: 30px; padding-right: 30px; }
  .nb-mast-thought { display: none; }
  .nb-unfilled-mark { margin-left: auto; }
  .nb-home-panel-wrap { width: min(806px, calc(100% - 128px)); margin-left: 48px; }
  .nb-orbit { column-gap: 28px; grid-template-columns: 140px minmax(0, 1fr) 140px; padding: 48px 26px 0; }
  .nb-occupied { padding: 40px 18px 0; }
  .nb-chapter-number { font-size: 56px; left: -46px; top: -35px; }
  .nb-breadcrumb { margin-left: 28px; margin-right: 28px; }
  .nb-north { max-width: 100%; }
  .nb-edge-word { font-size: 32px; gap: 8px; }
  .nb-edge-word .lucide { width: 20px; height: 20px; }
  .nb-reading-next { margin-left: 180px; margin-right: 180px; }
}
@media (max-width: 800px) {
  body { font-size: 17px; }
  .nb-masthead { padding: 22px; gap: 24px; }
  .nb-wordmark { font-size: 30px; }
  .nb-unfilled-mark { display: none; }
  .nb-boundary-hero { min-height: 0; padding: 24px 0; display: flex; flex-direction: column; background: var(--nb-ground); }
  .nb-home-panel-wrap { width: auto; margin: 0 26px; filter: none; }
  .nb-home .nb-front-matter { padding: 32px 38px 40px; }
  .nb-hero-photo { position: relative; z-index: 0; inset: auto; height: 220px; width: calc(100% - 52px); margin: 22px 26px 0; clip-path: polygon(0 0, 32% 0, 50% 8%, 68% 0, 100% 0, 100% 85%, 68% 85%, 50% 100%, 32% 85%, 0 85%); }
  .nb-photo-slice { height: 190px; margin: 24px 22px 0; }
  .nb-front-matter { width: calc(100% - 64px); }
  .nb-note-continuation { width: 80%; }
  .nb-orbit { display: flex; flex-direction: column; gap: 40px; padding: 48px 32px 0; }
  .nb-occupied { width: 100%; padding: 36px 12px 0; order: 0; }
  .nb-chapter-number { position: static; display: block; font-size: 46px; padding: 0; margin-bottom: 12px; }
  .nb-occupied section + section { margin-top: 42px; }
  .nb-qualifier { width: 100%; max-width: none; margin: 0; padding: 24px; position: relative; top: auto; }
  .nb-north { order: 1; }
  .nb-east { order: 2; border-top: 5px solid var(--nb-accent); }
  .nb-south { order: 3; }
  .nb-west { order: 4; border-top: 5px solid var(--nb-accent); }
  .nb-edge-word { font-size: 36px; }
  .nb-reading-next { margin: 52px 32px 0; }
  .nb-occupied h2 { font-size: 32px; }
  .nb-footer { padding-left: 32px; padding-right: 32px; }
}
@media (max-width: 520px) {
  body { font-size: 16px; line-height: 1.65; }
  .nb-masthead { height: 76px; min-height: 0; padding: 10px 18px 10px 28px; gap: 20px; }
  .nb-wicket { flex-basis: 42px; width: 42px; height: 43px; border-width: 0 2px 2px; }
  .nb-wicket a { padding: 2px; gap: 0; min-width: 22px; min-height: 24px; justify-content: center; }
  .nb-wicket .lucide { width: 18px; height: 18px; }
  .nb-wicket i { display: none; }
  .nb-nav-full { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .nb-nav-fallback { display: inline; font-size: 16px; line-height: 1; }
  .lucide ~ .nb-nav-fallback { display: none; }
  .nb-upright-west { left: -11px; top: -2px; }
  .nb-upright-east { right: -11px; top: 12px; }
  .nb-base-line { left: 8px; bottom: -14px; }
  .nb-wordmark { font-size: 25px; line-height: 1.04; }
  .nb-wordmark span { display: block; }
  .nb-boundary-hero { padding: 10px 0 20px; }
  .nb-home-panel-wrap { margin: 0 18px; }
  .nb-home .nb-front-matter { padding: 22px 22px 32px; clip-path: polygon(0 0, calc(100% - 16px) 0, calc(100% - 16px) 16px, 100% 16px, 100% calc(100% - 16px), calc(100% - 24px) calc(100% - 16px), calc(100% - 24px) 100%, 0 100%); }
  .nb-home .nb-front-matter::before { height: 4px; width: 74px; margin-bottom: 15px; }
  .nb-h1, .nb-home-h1 { font-size: 36px; line-height: 1.08; letter-spacing: -.035em; }
  .nb-intro { margin-top: 13px; font-size: 16px; line-height: 1.5; }
  .nb-prescription-note { margin-top: 20px; padding-left: 14px; }
  .nb-prescription-note::before { left: -10px; width: 2px; top: 4px; bottom: 4px; }
  .nb-note-main, .nb-note-continuation { font-size: 16px; line-height: 1.45; }
  .nb-note-continuation { width: 94%; margin-top: 12px; }
  .nb-hero-photo { width: calc(100% - 36px); height: 150px; margin: 18px 18px 0; object-position: 56% 40%; }
  .nb-photo-slice { height: 154px; margin: 24px 18px 0; }
  .nb-photo-slice::before { top: -5px; height: 9px; border-width: 2px 2px 0; }
  .nb-breadcrumb { margin: 19px 18px 0; font-size: 16px; }
  .nb-inner-front { width: auto; margin: 28px 18px 34px; padding-left: 16px; border-width: 6px; }
  .nb-without-photo { margin-top: 34px; }
  .nb-orbit { padding: 30px 18px 0; gap: 34px; }
  .nb-occupied { padding: 28px 10px 0; }
  .nb-chapter-number { font-size: 40px; }
  .nb-occupied section + section { margin-top: 35px; }
  .nb-occupied h2 { font-size: 29px; line-height: 1.25; margin-bottom: 17px; }
  .nb-qualifier { padding: 20px; }
  .nb-north { width: calc(100% - 6px); box-shadow: 6px 6px 0 var(--nb-accent); }
  .nb-north::before { right: 12px; }
  .nb-qualifier h2 { font-size: 17px; }
  .nb-edge-word { font-size: 34px; margin-bottom: 10px; }
  .nb-reading-next { margin: 40px 24px 0 18px; display: block; padding: 20px; box-shadow: 6px 6px 0 var(--nb-ink); }
  .nb-reading-next p { margin-bottom: 10px; }
  .nb-reading-next a { padding: 8px 0; }
  .nb-court-room { margin-top: 52px; }
  .nb-footer { margin-top: 52px; padding: 28px 18px; border-top-width: 8px; }
  .nb-footer-sentence { font-size: 27px; }
  .nb-foot-links { gap: 6px 22px; }
  .nb-copyright { margin-top: 23px; }
  .nb-source-list h2 { font-size: 27px; }
  .nb-source-list p { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
