/* Above | Below GBC · Ghost theme 1.3.7 "001"
   Monochrome, after AB-DS-001, set on graphite: paper is a deep warm grey, ink is bone, one grey, one rule, copper used once per page as the signal.
   Photographs carry the only other tone and are shown in black and white.
   Plex Serif for headlines and reading, Plex Sans for short text, Plex Mono for captions and identifiers only.
   The @font-face rules live in default.hbs so the {{asset}} URLs match the preloads. */

:root{
  /* Graphite, not black: a deep warm grey with bone type. Founder ruling 24 Oct 2026: no white screens. */
  --paper:#1E1E1C; --mist:#262624; --ink:#E6E3DA; --grey:#A4A29A; --rule:#3A3A36; --copper:#C9915A;
  --serif:"IBM Plex Serif",Georgia,"Times New Roman",serif;
  --sans:"IBM Plex Sans",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --wrap:1120px; --gutter:clamp(1rem,4vw,2.5rem); --measure:38rem;
  color-scheme:dark;
}
/* Paper, for the reader who asks for it. Graphite stays the default. */
:root[data-theme="light"]{
  --paper:#F4F3EE; --mist:#EAE8E1; --ink:#1A1A18; --grey:#5B5B57; --rule:#D3D1CA; --copper:#8A5524;
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:400 1.125rem/1.7 var(--serif); /* 18px base — sits cleaner on retina and dark graphite */
  font-feature-settings:"kern" 1,"liga" 1,"calt" 1;
  font-synthesis:none;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
:root[data-theme="light"] body{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
/* Typewriter mono: slightly larger optical size, tighter tracking kept intentional */
.ab-mono,.ab-kicker,.ab-dossier dt,.ab-register th,.ab-foot-note{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:geometricPrecision;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.15em}
a:hover{color:var(--copper)}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.12;margin:0;letter-spacing:-.01em;text-wrap:balance}
h2{font-size:clamp(1.6rem,3vw,2.1rem)}
h3{font-size:clamp(1.25rem,2.2vw,1.5rem)}
p{margin:0 0 1em}
.ab-wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter)}
.ab-mono{font:500 .8125rem/1.5 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--grey)}
.ab-kicker{font:500 .8125rem/1.5 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--copper);margin:0 0 .75rem}
.ab-kind{margin:0 0 .6rem}
.ab-skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:.5rem 1rem;z-index:100}
.ab-skip:focus{left:var(--gutter)}

/* Header */
.ab-runninghead{border-bottom:1px solid var(--rule)}
.ab-runninghead .ab-wrap{display:flex;justify-content:space-between;gap:1rem;padding-top:.4rem;padding-bottom:.4rem}
.ab-runninghead span:nth-child(2){display:none}
@media (min-width:720px){.ab-runninghead span:nth-child(2){display:inline}}
.ab-head{border-bottom:1px solid var(--rule);background:var(--paper);position:relative}
.ab-head-row{display:flex;align-items:center;gap:1rem;min-height:3.75rem;flex-wrap:wrap}
.ab-brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;flex-shrink:0}
.ab-brand .ab-arms{width:30px;height:auto}
.ab-wordmark{font:600 1.15rem/1 var(--serif);letter-spacing:.01em}
.ab-bar{display:inline-block;margin:0 .22em;font-weight:400;color:var(--copper)}
.ab-head-tools{display:flex;align-items:center;gap:.5rem;margin-left:auto;order:2}
.ab-nav{display:flex;align-items:center;gap:clamp(.9rem,2.5vw,1.6rem);font:500 .9rem/1 var(--sans);order:1;margin-left:auto}
.ab-nav a{text-decoration:none;padding:.35rem 0;border-bottom:1px solid transparent}
.ab-nav a:hover,.ab-nav a[aria-current="page"]{border-bottom-color:var(--ink);color:var(--ink)}
.ab-nav-cta{border:1px solid var(--ink)!important;padding:.45rem .8rem!important;border-radius:2px}
.ab-nav-cta:hover{background:var(--ink);color:var(--paper)!important}
.ab-light,.ab-menu-btn{appearance:none;background:none;border:1px solid var(--rule);color:var(--grey);border-radius:2px;width:2.75rem;height:2.75rem;display:inline-grid;place-items:center;cursor:pointer;padding:0}
.ab-light:hover,.ab-menu-btn:hover{color:var(--ink);border-color:var(--ink)}
.ab-light svg,.ab-menu-btn svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.6}
.ab-light .on{display:none}
:root[data-theme="light"] .ab-light .on{display:block}
:root[data-theme="light"] .ab-light .off{display:none}
.ab-menu-btn{display:none}
.ab-menu-btn .ab-menu-close{display:none}
body.ab-nav-open .ab-menu-btn .ab-menu-open{display:none}
body.ab-nav-open .ab-menu-btn .ab-menu-close{display:block}

/* Mobile navigation: hamburger + full-width panel under the header */
@media (max-width:720px){
  .ab-js .ab-menu-btn{display:inline-grid}
  .ab-head-row{flex-wrap:wrap}
  .ab-nav{order:3;margin-left:0}
  .ab-head-tools{order:2}
  .ab-nav{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    width:100%;
    flex-basis:100%;
    padding:.5rem 0 1rem;
    border-top:1px solid var(--rule);
    font-size:.95rem;
  }
  .ab-js .ab-nav{display:none}
  body.ab-nav-open .ab-nav{display:flex}
  .ab-nav a{
    padding:.85rem 0;
    border-bottom:1px solid var(--rule);
  }
  .ab-nav a:last-child{border-bottom:none}
  .ab-nav a:hover,.ab-nav a[aria-current="page"]{border-bottom-color:var(--rule);color:var(--copper)}
  .ab-nav-cta{
    margin-top:.5rem;
    text-align:center;
    border:1px solid var(--ink)!important;
    padding:.7rem 1rem!important;
  }
  .ab-nav-cta:hover{background:var(--ink);color:var(--paper)!important;border-bottom-color:var(--ink)!important}
}
@media (min-width:721px){
  .ab-menu-btn{display:none!important}
  body.ab-nav-open .ab-nav{display:flex} /* desktop always visible */
}

/* Hero */
.ab-hero{padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(2rem,4vw,3rem);border-bottom:1px solid var(--rule)}
.ab-hero-photo{padding:0}
.ab-hero-fig{margin:0;position:relative;background:var(--mist)}
.ab-hero-fig img{width:100%;max-height:72vh;object-fit:cover;filter:grayscale(1) brightness(.9)}
.ab-hero-fig figcaption{position:absolute;right:var(--gutter);bottom:.75rem;background:var(--paper);opacity:.92;padding:.3rem .6rem;color:var(--ink)}
.ab-hero-fig figcaption a{text-decoration:none}
.ab-hero-photo .ab-hero-text{padding:clamp(1.75rem,4vw,3rem) var(--gutter) clamp(1.75rem,4vw,3rem)}
.ab-statement{font-size:clamp(1.9rem,4.4vw,3.3rem);font-weight:600;max-width:26ch;margin:0 0 1.25rem}
.ab-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:0}

/* Buttons */
.ab-button{display:inline-block;font:500 .95rem/1 var(--sans);padding:.8rem 1.15rem;border:1px solid var(--ink);background:var(--ink);color:var(--paper);text-decoration:none;border-radius:2px}
.ab-button:hover{background:var(--paper);color:var(--ink)}
.ab-button-quiet{background:transparent;color:var(--ink)}
.ab-button-quiet:hover{background:var(--ink);color:var(--paper)}

/* Bands */
.ab-band{padding:clamp(2rem,4.5vw,3.5rem) 0;border-bottom:1px solid var(--rule)}
.ab-band:last-of-type{border-bottom:0}
.ab-band-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;padding-bottom:.6rem;border-bottom:1.5px solid var(--ink)}
.ab-more{font:500 .9rem/1 var(--sans);white-space:nowrap}
.ab-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:.75rem 3rem;align-items:start}
@media (max-width:760px){.ab-cols{grid-template-columns:1fr}}
.ab-plain .ab-cols{grid-template-columns:1fr;gap:.5rem}
.ab-plain{padding:clamp(1.75rem,4vw,2.75rem) 0}
.ab-plain-text{font-family:var(--serif);font-size:clamp(1.1rem,1.7vw,1.3rem);line-height:1.5;max-width:44rem;columns:1}
@media (min-width:900px){.ab-plain .ab-plain-text{max-width:none;columns:3;column-gap:3rem}.ab-plain .ab-plain-text p{break-inside:avoid;margin:0}}
.ab-plain-text p:last-child{margin-bottom:0}
.ab-invite{background:var(--mist);padding:clamp(1.75rem,4vw,2.75rem) 0}
.ab-invite h2{font-size:clamp(1.6rem,3vw,2.1rem)}
.ab-empty{color:var(--grey);font-style:italic}

/* Reading filters */
.ab-filters{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:-.5rem 0 2rem;font:500 .9rem/1 var(--sans)}
.ab-filters a{text-decoration:none;color:var(--grey);padding:.35rem 0;border-bottom:1px solid transparent}
.ab-filters a:hover,.ab-filters a[aria-current="true"]{color:var(--ink);border-bottom-color:var(--ink)}

/* Research line dossier (tag pages whose slug begins ab-) */
.ab-dossier{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem 2rem;margin:0 0 2.5rem;padding:1.5rem 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
@media (max-width:720px){.ab-dossier{grid-template-columns:1fr}}
.ab-dossier dt{font:500 .7rem/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--grey);margin:0 0 .3rem}
.ab-dossier dd{margin:0;font-family:var(--serif);font-size:1.05rem;line-height:1.45}

/* Reading grid and cards */
.ab-reading-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem 2rem}
.ab-reading-grid > :first-child{grid-column:1 / -1}
.ab-reading-all > :first-child{grid-column:auto}
@media (max-width:720px){.ab-reading-grid{grid-template-columns:1fr;gap:2.25rem}}
.ab-card-link{display:block;text-decoration:none;color:inherit}
.ab-card-link:hover h3{color:var(--copper)}
.ab-card-fig{margin:0 0 .75rem;background:var(--mist);aspect-ratio:3/2;overflow:hidden}
.ab-card-fig img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.ab-reading-grid > :first-child .ab-card-fig{aspect-ratio:21/9}
.ab-reading-grid > :first-child h3{font-size:clamp(1.6rem,3.4vw,2.4rem)}
.ab-card h3{margin:0 0 .5rem}
.ab-card-deck{color:var(--grey);margin:0;max-width:var(--measure);font-size:1rem;line-height:1.5}

/* Register */
.ab-register{width:100%;border-collapse:collapse;margin:1rem 0 2rem;font-family:var(--sans)}
.ab-register th{font:500 .7rem/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;text-align:left;color:var(--grey);border-bottom:1.5px solid var(--ink);padding:.5rem .6rem .5rem 0}
.ab-register td{border-bottom:1px solid var(--rule);padding:.95rem .6rem .95rem 0;vertical-align:top}
.ab-register td:first-child{white-space:nowrap}
.ab-register td:nth-child(2){font:400 1.1rem/1.35 var(--serif)}
.ab-register td:nth-child(2) a{text-decoration:none}
.ab-register td:nth-child(2) a:hover{text-decoration:underline}
.ab-register .ab-q{display:block;font:400 .95rem/1.5 var(--sans);color:var(--grey);margin-top:.25rem}
.ab-register td:last-child{white-space:nowrap;color:var(--ink)}
.ab-count{display:block;color:var(--grey)}
@media (max-width:640px){
  .ab-register thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .ab-register tr{display:block;border-bottom:1px solid var(--rule);padding:.9rem 0}
  .ab-register td{display:block;border:0;padding:.15rem 0}
  .ab-register td:last-child{white-space:normal}
  .ab-register td::before{content:attr(data-label);display:block;font:500 .66rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--grey)}
  .ab-register td:nth-child(2)::before{display:none}
}

/* Documents, posts and pages */
.ab-doc{padding:0 0 clamp(3rem,7vw,5rem)}
.ab-doc-head{padding:clamp(1.75rem,4vw,3rem) 0 1.25rem;max-width:44rem}
.ab-doc-head h1{font-size:clamp(2rem,4.4vw,3.1rem);margin:0 0 .9rem}
.ab-deck{font-family:var(--serif);font-size:clamp(1.15rem,1.9vw,1.35rem);line-height:1.5;color:var(--grey);margin:0 0 1rem}
.ab-byline{font:400 .92rem/1.5 var(--sans);color:var(--grey);margin:0}
.ab-feature{margin:0;background:var(--mist)}
.ab-feature img{width:100%;max-height:78vh;object-fit:cover;filter:grayscale(1)}
.ab-feature figcaption{padding:.6rem var(--gutter) 0;text-transform:none;letter-spacing:.02em}
.ab-read{max-width:calc(var(--measure) + 2 * var(--gutter))}
.gh-content{font:400 1.125rem/1.7 var(--serif)}
.gh-content > *{margin:0 0 1.3em}
.gh-content h2{font-size:1.7rem;margin:2.4em 0 .7em}
.gh-content h3{font-size:1.3rem;margin:2em 0 .6em}
.gh-content ul,.gh-content ol{padding-left:1.3em}
.gh-content li{margin-bottom:.35em}
.gh-content blockquote{border-left:2px solid var(--ink);margin:1.5em 0;padding:.1em 0 .1em 1.2em;color:var(--grey)}
.gh-content hr{border:0;border-top:1px solid var(--rule);margin:2.5em 0}
.gh-content img{filter:grayscale(1)}
.gh-content figcaption{font:400 .78rem/1.5 var(--mono);color:var(--grey);margin-top:.5em}
.gh-content a{color:var(--ink)}
.gh-content strong{font-weight:600}
.gh-content .kg-card{margin:2em 0}
.ab-after{margin-top:2.5rem}
.ab-doc-foot{margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid var(--rule)}
.ab-doc-foot .ab-mono{text-transform:none;letter-spacing:.02em}
.ab-foot-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem}
.ab-foot-cta p{margin:0;max-width:30rem}
.ab-next{background:var(--mist)}
.ab-next .ab-card-fig{max-width:36rem}

/* Arms reading on the Institution page */
.ab-arms-reading{margin-top:4rem;padding-top:2.5rem;border-top:1px solid var(--rule)}
.ab-arms-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:2rem 3rem;align-items:start;margin-top:1.5rem}
@media (max-width:760px){.ab-arms-grid{grid-template-columns:1fr}}
.ab-arms-figure{margin:0;max-width:220px}

.ab-arms-figure figcaption{margin-top:.6rem}
.ab-arms-parts{margin:0;display:grid;gap:1rem}
.ab-arms-parts dt{font:600 1rem/1.3 var(--sans)}
.ab-arms-parts dd{margin:.2rem 0 0;color:var(--grey)}

/* Footer */
.ab-foot{border-top:1px solid var(--rule);padding:1.75rem 0 1.5rem;font-size:.9rem;font-family:var(--sans)}
.ab-foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}
@media (max-width:720px){.ab-foot-grid{grid-template-columns:1fr}}
.ab-foot-name{font:600 1rem/1.3 var(--serif);margin:0 0 .3rem}
.ab-foot-line{color:var(--grey);margin:0}
.ab-foot-nav{display:flex;flex-direction:column;gap:.45rem}
.ab-foot-nav a{text-decoration:none;color:var(--grey)}
.ab-foot-nav a:hover{color:var(--copper)}
.ab-foot-note{margin:1.25rem 0 0;font:400 .7rem/1.5 var(--mono);letter-spacing:.04em;color:var(--grey)}

/* Pagination (Ghost default markup) */
.pagination{display:flex;justify-content:space-between;margin-top:2.5rem;font:500 .9rem/1 var(--sans)}
.pagination .page-number{color:var(--grey)}

/* Portal (Ghost's signup modal reads the Admin accent color; set it to #141414 in Design & branding) */

/* Print */
@media print{
  :root{--paper:#fff;--mist:#f4f4f4;--ink:#000;--grey:#444;--rule:#bbb;--copper:#000}
  body{background:#fff;color:#000;font-size:11pt}
  img{filter:none!important}
  .ab-arms{filter:none!important}
  .ab-head,.ab-foot,.ab-button,.ab-nav,.ab-foot-cta,.ab-next,.ab-skip{display:none!important}
  .ab-wrap{max-width:none;padding:0}
  .gh-content a[href^="http"]::after{content:" (" attr(href) ")";font:9pt var(--mono)}
  @page{size:letter;margin:.75in}
}

/* Koenig card widths */
.kg-width-wide{width:calc(100% + 2 * var(--gutter));max-width:min(var(--wrap),100vw);margin-left:50%;transform:translateX(-50%)}
.kg-width-full{width:100vw;max-width:100vw;margin-left:50%;transform:translateX(-50%)}
.kg-width-wide img,.kg-width-full img{width:100%}

/* Small screens: taller first photograph, caption beneath it, wordmark on one line */
.ab-wordmark{white-space:nowrap}
@media (max-width:600px){
  .ab-hero-fig img{min-height:56vh}
  .ab-hero-fig figcaption{position:static;background:transparent;padding:.5rem var(--gutter) 0}
  .ab-brand .ab-arms{width:26px}
  .ab-wordmark{font-size:1.05rem}
}

/* 1.2.0 · The arms, interactive */
.ab-arms-stage{position:relative;max-width:220px}
.ab-arms-stage .ab-arms{width:100%;height:auto}
.ab-hot{position:absolute;left:var(--x);top:var(--y);width:2.2rem;height:2.2rem;transform:translate(-50%,-50%);border-radius:50%;border:1px solid transparent;background:transparent;cursor:pointer;padding:0}
.ab-hot::after{content:"";position:absolute;inset:.6rem;border-radius:50%;border:1px solid var(--copper);opacity:.55;transition:opacity .15s,inset .15s}
.ab-hot:hover::after,.ab-hot:focus-visible::after{inset:.3rem;opacity:1}
.ab-arms-parts > div{padding:.6rem .8rem;margin:0 -.8rem;border-radius:2px;transition:background .15s,opacity .15s;cursor:default}
.ab-arms-parts > div:focus-visible{outline:2px solid var(--ink);outline-offset:0}
[data-arms][data-active]:not([data-active=""]) .ab-arms-parts > div{opacity:.45}
[data-arms][data-active="sun"] .ab-arms-parts > [data-part="sun"],[data-arms][data-active="bridge"] .ab-arms-parts > [data-part="bridge"],[data-arms][data-active="water"] .ab-arms-parts > [data-part="water"],[data-arms][data-active="roots"] .ab-arms-parts > [data-part="roots"],[data-arms][data-active="shield"] .ab-arms-parts > [data-part="shield"]{opacity:1;background:var(--mist)}
[data-arms][data-active="sun"] .ab-hot[data-part="sun"]::after,[data-arms][data-active="bridge"] .ab-hot[data-part="bridge"]::after,[data-arms][data-active="water"] .ab-hot[data-part="water"]::after,[data-arms][data-active="roots"] .ab-hot[data-part="roots"]::after,[data-arms][data-active="shield"] .ab-hot[data-part="shield"]::after{inset:.3rem;opacity:1;box-shadow:0 0 0 6px color-mix(in srgb,var(--copper) 18%,transparent)}
@media (prefers-reduced-motion:reduce){.ab-hot::after,.ab-arms-parts > div{transition:none}}

/* 1.2.0 · Supporting the work: a milestone line */
.ab-support{margin-top:4rem;padding-top:2.5rem;border-top:1px solid var(--rule)}
.ab-support .ab-deck{max-width:var(--measure)}
.ab-milestones{list-style:none;margin:2rem 0 1.5rem;padding:0;position:relative}
.ab-milestones::before{content:"";position:absolute;left:.55rem;top:.9rem;bottom:.9rem;width:1px;background:var(--rule)}
.ab-ms{position:relative;padding-left:2.2rem;margin:0 0 .25rem}
.ab-ms-head{appearance:none;background:none;border:0;color:inherit;font:inherit;text-align:left;width:100%;display:grid;grid-template-columns:1fr auto;grid-template-areas:"kicker amount" "title amount";gap:.1rem 1.5rem;align-items:center;padding:.9rem 0;cursor:pointer;border-bottom:1px solid var(--rule)}
.ab-ms-head:hover .ab-ms-title,.ab-ms-head:focus-visible .ab-ms-title{color:var(--copper)}
.ab-ms-dot{position:absolute;left:-2.2rem;top:1.45rem;width:.9rem;height:.9rem;margin-left:.1rem;border-radius:50%;border:1px solid var(--grey);background:var(--paper)}
.ab-ms.is-open .ab-ms-dot{background:var(--copper);border-color:var(--copper)}
.ab-ms-kicker{grid-area:kicker}
.ab-ms-title{grid-area:title;font:400 clamp(1.15rem,2vw,1.4rem)/1.3 var(--serif)}
.ab-ms-amount{grid-area:amount;font:500 1rem/1 var(--mono);letter-spacing:.02em;white-space:nowrap}
.ab-ms-body{padding:.9rem 0 1.2rem;max-width:var(--measure)}
.ab-ms-body p:last-child{margin:0}
@media (max-width:600px){.ab-ms-head{grid-template-columns:1fr;grid-template-areas:"kicker" "title" "amount";gap:.2rem}}
@media (min-width:900px){
  .ab-milestones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2.5rem}
  .ab-milestones::before{left:0;right:0;top:.55rem;bottom:auto;height:1px;width:auto}
  .ab-ms{padding-left:0;padding-top:1.6rem}
  .ab-ms-dot{left:0;top:.1rem;margin:0}
  .ab-ms-head{grid-template-columns:1fr;grid-template-areas:"kicker" "title" "amount";gap:.3rem;border-bottom:0;padding-top:0}
  .ab-ms-amount{font-size:1.35rem;margin-top:.4rem}
  .ab-ms-body{border-top:1px solid var(--rule);margin-top:.6rem}
}

/* 1.3.0 · When the shield is the subject, the whole crest lights */
.ab-arms-stage .ab-arms{transition:filter .25s}
[data-arms][data-active="shield"] .ab-arms-stage .ab-arms{filter:drop-shadow(0 0 2px var(--copper)) drop-shadow(0 0 10px color-mix(in srgb,var(--copper) 55%,transparent))}
[data-arms][data-active="shield"] .ab-hot[data-part="shield"]::after{opacity:0}
@media (prefers-reduced-motion:reduce){.ab-arms-stage .ab-arms{transition:none}}

/* 1.3.0 · Urban phenomenology as a walk */
.ab-walk{padding-bottom:clamp(3rem,7vw,5rem)}
.ab-walk-nav{margin:0 0 2rem}
.ab-walk-dots{list-style:none;display:flex;gap:.4rem;margin:0 0 .6rem;padding:0;flex-wrap:wrap}
.ab-walk-dots button{appearance:none;background:none;border:1px solid var(--rule);color:var(--grey);width:2rem;height:2rem;border-radius:50%;font:500 .78rem/1 var(--mono);cursor:pointer}
.ab-walk-dots button:hover{border-color:var(--ink);color:var(--ink)}
.ab-walk-dots button[aria-current="step"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.ab-walk-bar{height:1px;background:var(--rule);position:relative}
.ab-walk-bar span{position:absolute;left:0;top:-1px;height:3px;width:11%;background:var(--copper);transition:width .3s}
.ab-stop{max-width:46rem;padding:1rem 0 2rem;outline:none}
.ab-walk:not(.js) .ab-stop{border-bottom:1px solid var(--rule);margin-bottom:1.5rem}
.ab-walk.js .ab-walk-dots,.ab-walk.js .ab-walk-controls{display:flex}
.ab-walk-controls{display:none;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding-top:1.25rem;border-top:1px solid var(--rule)}
.ab-walk-controls .ab-button[disabled]{opacity:.4;cursor:default}
.ab-stop h2{font-size:clamp(1.6rem,3.4vw,2.4rem);margin:0 0 1.1rem}
.ab-stop-text{font-family:var(--serif);font-size:1.125rem;line-height:1.65;max-width:var(--measure)}
.ab-ledger{list-style:none;margin:0 0 1.5rem;padding:0;max-width:var(--measure)}
.ab-ledger li{display:grid;grid-template-columns:9rem 1fr;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--rule);font-family:var(--serif);font-size:1.05rem}
.ab-flip{margin:0 0 1.5rem;max-width:var(--measure)}
.ab-flip-controls{display:flex;gap:.5rem;margin-bottom:1rem}
.ab-flip-controls button{appearance:none;font:500 .9rem/1 var(--sans);padding:.6rem .9rem;border:1px solid var(--rule);background:transparent;color:var(--grey);border-radius:2px;cursor:pointer}
.ab-flip-controls button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.ab-flip-face{padding:1.25rem 1.4rem;background:var(--mist);font-family:var(--serif);font-size:1.15rem;line-height:1.55;min-height:6rem}
.ab-flip-face p:last-child{margin:0}
.ab-line{margin:0 0 1.5rem}
.ab-line-years{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;position:relative}
.ab-line-years::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--rule);z-index:0}
.ab-line-years button{position:relative;z-index:1;appearance:none;font:500 .8rem/1 var(--mono);padding:.5rem .6rem;border:1px solid var(--rule);background:var(--paper);color:var(--grey);border-radius:2px;cursor:pointer}
.ab-line-years button[aria-selected="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.ab-line-card{padding:1.25rem 1.4rem;background:var(--mist);max-width:var(--measure)}
.ab-line-card h3{margin:0 0 .5rem}
.ab-line-card p{margin:0;font-family:var(--serif);line-height:1.55}
.ab-claims{margin:0 0 1.5rem;max-width:var(--measure)}
.ab-claims > button,.ab-registers > li > button{appearance:none;width:100%;text-align:left;display:grid;grid-template-columns:1fr;gap:.2rem;padding:.9rem 0;background:none;border:0;border-top:1px solid var(--rule);color:inherit;font:400 1.1rem/1.4 var(--serif);cursor:pointer}
.ab-claims > button:hover .ab-claim-says,.ab-registers > li > button:hover > span:last-child{color:var(--copper)}
.ab-claims > button[aria-expanded="true"] .ab-claim-says,.ab-registers > li > button[aria-expanded="true"] > span:last-child{color:var(--copper)}
.ab-claims > div,.ab-registers > li > div{padding:0 0 1rem 1rem;border-left:2px solid var(--copper);margin:0 0 .75rem;font-family:var(--serif);line-height:1.55}
.ab-claims > div p,.ab-registers > li > div p{margin:0}
.ab-registers{list-style:none;margin:0 0 1.5rem;padding:0;max-width:var(--measure)}
.ab-nots{list-style:none;margin:0 0 1rem;padding:0;max-width:var(--measure);font-family:var(--serif);font-size:1.1rem;line-height:1.55}
.ab-nots li{padding:.7rem 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:3.2rem 1fr;gap:.6rem;align-items:baseline}
.ab-walk-exits{margin:0 0 1.75rem}
.ab-exit{display:grid;gap:.35rem;padding:1.1rem 1.2rem;background:var(--mist);text-decoration:none;color:inherit;border-radius:2px}
.ab-exit strong{font:400 1.15rem/1.3 var(--serif)}
.ab-exit:hover strong{color:var(--copper)}
.ab-exit span:last-child{color:var(--grey);font-size:.95rem}
@media (prefers-reduced-motion:reduce){.ab-walk-bar span{transition:none}}

/* 1.3.4 · Crest colourways: one image per palette, no filters */
.ab-arms-light{display:none}
:root[data-theme="light"] .ab-arms-dark{display:none}
:root[data-theme="light"] .ab-arms-light{display:block}
@media print{.ab-arms-dark{display:none!important}.ab-arms-light{display:block!important}}

/* 1.3.7: functional audit fixes, retaining the established visual system. */
[hidden]{display:none!important}
.ab-filter-count{font-size:.85em}
.ab-reading-status,.ab-record-note{font:400 .875rem/1.5 var(--sans);color:var(--grey)}
.ab-record-note{display:block;margin:.35rem 0}
.ab-empty{padding:1.25rem;border:1px solid var(--rule);margin-bottom:1.5rem}
.ab-toc{margin:2rem 0;padding:1rem 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font-family:var(--sans)}
.ab-toc summary{cursor:pointer;font-weight:500;min-height:2.75rem;align-content:center}
.ab-toc ol{padding-left:1.25rem;margin:.75rem 0}
.ab-toc li{margin:.4rem 0;line-height:1.5}
.ab-updated{margin-top:.4rem}
[data-article] .ab-feature{margin:0 auto 2rem;max-width:var(--wrap)}
[data-article] .ab-feature img{max-height:55vh;aspect-ratio:16/9;object-fit:cover}
.ab-newsletter{background:var(--mist);border-top:1px solid var(--rule)}
.ab-newsletter h2{margin-bottom:1rem}
.ab-signup{font:400 1rem/1.5 var(--sans)}
.ab-signup label{display:block;margin-bottom:.5rem}
.ab-signup-fields{display:flex;gap:.75rem;align-items:stretch}
.ab-signup input{min-width:0;flex:1;min-height:2.75rem;padding:.7rem;border:1px solid var(--grey);border-radius:2px;background:var(--paper);color:var(--ink);font:inherit}
.ab-signup-note{font:400 .875rem/1.6 var(--sans);margin-top:.75rem}
.ab-signup-loading,.ab-signup-success,.ab-signup-error{display:none}
.ab-signup.loading .ab-signup-idle{display:none}
.ab-signup.loading .ab-signup-loading{display:inline}
.ab-signup.loading button{pointer-events:none}
.ab-signup.success .ab-signup-fields,.ab-signup.success label{display:none}
.ab-signup.success .ab-signup-success,.ab-signup.error .ab-signup-error{display:block;margin-top:1rem}
.ab-walk-dots{flex-wrap:wrap}
.ab-walk-dots button{width:2.75rem;height:2.75rem}
.ab-line-years button{min-width:2.75rem;min-height:2.75rem}
/* All substantive guide content remains available when scripts are unavailable. */
.ab-walk:not(.js) [hidden]{display:block!important}
.ab-walk:not(.js) .ab-walk-nav,.ab-walk:not(.js) .ab-walk-controls,.ab-walk:not(.js) .ab-flip-controls,.ab-walk:not(.js) .ab-line-years{display:none}
@media(max-width:440px){.ab-signup-fields{flex-direction:column}}
@media print{
  .ab-newsletter,.ab-walk-nav,.ab-walk-controls,.ab-flip-controls,.ab-line-years{display:none!important}
  .ab-walk [hidden]{display:block!important}
  .ab-toc{display:none}
}
