@layer reset, tokens, base, layout, components, utilities;
@layer reset {
  *,*::before,*::after { box-sizing:border-box; }
  html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
  body,figure { margin:0; }
  button,input,select { font:inherit; }
  img,svg { max-width:100%; }
  [hidden] { display:none !important; }
}
@layer base {
  html { background:var(--paper); color:var(--ink); scroll-padding-block-start:2rem; }
  body { font-family:var(--sans); font-size:1rem; line-height:1.65; background:var(--paper); }
  h1,h2,h3,h4 { font-family:var(--serif); font-weight:400; line-height:1.15; text-wrap:balance; }
  h1 { font-size:clamp(2.7rem,5.7vw,4.8rem); letter-spacing:-.045em; margin:.3em 0 .45em; max-width:18ch; }
  h2 { font-size:clamp(2rem,3.2vw,2.85rem); letter-spacing:-.03em; margin:0 0 1rem; }
  h3 { font-size:1.65rem; letter-spacing:-.02em; margin:.4rem 0 .7rem; }
  p { margin:0 0 1rem; }
  a { color:var(--role-sources); text-underline-offset:.22em; text-decoration-thickness:1px; overflow-wrap:anywhere; }
  a:hover { text-decoration-thickness:2px; }
  :focus-visible { outline:3px solid var(--role-orientation); outline-offset:4px; border-radius:var(--radius); }
  ::selection { background:var(--ink); color:var(--paper); }
  summary,button,select { cursor:pointer; }
  summary { min-height:2.75rem; padding:.65rem 0; }
  summary::marker { color:var(--role-sources); }
  code { font: .9em/1.6 var(--mono); overflow-wrap:anywhere; }
  svg { display:block; height:auto; }
  [id] { scroll-margin-block-start:1.5rem; }
  [data-role=critical] { --role:var(--role-critical); }
  [data-role=orientation] { --role:var(--role-orientation); }
  [data-role=structure] { --role:var(--role-structure); }
  [data-role=evidence] { --role:var(--role-evidence); }
  [data-role=analysis] { --role:var(--role-analysis); }
  [data-role=sources] { --role:var(--role-sources); }
  [data-role=appendix] { --role:var(--role-appendix); }
}
@layer layout {
  .page-width { width:min(var(--page-width),calc(100% - clamp(2rem,7vw,7rem))); margin-inline:auto; }
  .site-header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem 2rem; padding-block:1.45rem; border-bottom:1px solid var(--line); }
  .primary-nav { display:flex; flex-wrap:wrap; gap:.25rem 1.55rem; }
  .home-hero { display:grid; grid-template-columns:minmax(0,1.33fr) minmax(0,1fr); align-items:center; gap:clamp(2rem,5vw,5rem); padding-block:clamp(3rem,6vw,6rem) 4rem; }
  .home-hero h1 { max-width:13.3ch; }
  .hero-copy { min-width:0; }
  .hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem 1.7rem; margin-block:2rem 1.25rem; }
  .collection-section { border-top:1px solid var(--line); display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.45fr); gap:clamp(2rem,6vw,6rem); padding-block:4rem; }
  .section-intro { max-width:30rem; }
  .principle-section { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:clamp(2rem,5vw,5rem); background:var(--panel); padding:clamp(1.5rem,4vw,3.5rem); margin-block:1rem 3rem; }
  .principle-section h2 { max-width:19ch; }
  .document-main { padding-block:1.8rem 4rem; }
  .document-main>.masthead { margin-block:2.5rem 3.5rem; max-width:56rem; }
  .document-main>.masthead h1 { max-width:18ch; }
  .document-layout { display:grid; grid-template-columns:17rem minmax(0,1fr); align-items:start; gap:clamp(2rem,5vw,5rem); padding-top:2.5rem; border-top:1px solid var(--line); }
  .prose { min-width:0; max-width:var(--measure); }
  .prose>section { margin-bottom:3.5rem; }
  .prose h2 { font-size:clamp(1.7rem,2.6vw,2.2rem); }
  .prose p { font-size:1.1rem; line-height:1.8; }
  .lab-section { border-top:1px solid var(--line); padding-block:3rem; }
  .lab-identities { display:grid; grid-template-columns:1fr 1fr; gap:2rem; max-width:55rem; }
  .lab-identities figure { padding:1rem 1.5rem 1.5rem; border:1px solid var(--line); }
  .lab-identities .qeshet { width:min(100%,23rem); margin:auto; }
  .lab-identities figcaption { font-size:.9rem; text-align:center; color:var(--muted); }
  .site-footer { display:grid; grid-template-columns:1fr 1fr; gap:2rem 4rem; border-top:1px solid var(--line); padding-block:2.5rem; }
  .site-footer nav { display:grid; grid-template-columns:1fr 1fr; column-gap:2rem; align-content:start; }
  .site-footer nav a { padding-block:.35rem; font-size:.9rem; color:var(--muted); }
  .edition { grid-column:1/-1; padding-top:1rem; margin:0; }
  @media (min-width:1500px) { .home-hero { min-height:43rem; } }
  @media (max-width:1050px) {
    .site-header { gap:.8rem 1.5rem; }
    .primary-nav { order:3; width:100%; gap:.4rem 2rem; }
    .home-hero { gap:2rem; }
    .home-hero h1 { font-size:clamp(2.9rem,6.2vw,4rem); }
    .collection-section { gap:2.5rem; }
    .document-layout { grid-template-columns:13rem minmax(0,1fr); gap:2rem; }
  }
  @media (max-width:700px) {
    .home-hero { grid-template-columns:1fr; padding-block:2.75rem; gap:2.5rem; }
    .home-hero h1 { font-size:clamp(2.8rem,9vw,4rem); max-width:16ch; }
    .identity-plate { width:min(100%,26rem); justify-self:center; }
    .collection-section,.principle-section,.document-layout,.site-footer { grid-template-columns:1fr; }
    .collection-section { padding-block:2.8rem; gap:2rem; }
    .principle-section { gap:1.5rem; }
    .document-layout { padding-top:1.8rem; }
    .on-this-page { padding-bottom:1.5rem; border-bottom:1px solid var(--line); }
    .document-main>.masthead { margin-block:2rem 2.5rem; }
    .lab-identities { grid-template-columns:1fr; }
    .site-footer { gap:1.5rem; }
    .site-footer nav { grid-template-columns:1fr; }
  }
  @media (max-width:420px) {
    .site-header { gap:.8rem; padding-block:1rem; }
    .brand { flex:1 0 100%; }
    .theme-control { order:4; width:100%; justify-content:space-between; }
    .primary-nav { justify-content:space-between; gap:.25rem .75rem; }
    .hero-actions { align-items:stretch; }
    .hero-actions .button { width:100%; }
    .hero-actions .text-action { padding-block:.7rem; }
  }
}
@layer components {
  .brand { display:inline-flex; align-items:center; gap:.65rem; color:var(--ink); text-decoration:none; font-family:var(--serif); font-size:1.55rem; line-height:1.15; letter-spacing:-.025em; min-height:3rem; }
  .brand>span>span { white-space:nowrap; }
  .brand .qeshet { width:2.8rem; flex-shrink:0; }
  .primary-nav a { color:var(--ink); text-decoration:none; min-height:2.75rem; display:inline-flex; align-items:center; border-bottom:2px solid transparent; font-size:.95rem; }
  .primary-nav a:hover,.primary-nav a[aria-current] { border-bottom-color:var(--role-orientation); }
  .primary-nav a[aria-current] { font-weight:700; }
  .theme-control { display:flex; align-items:center; gap:.55rem; font-size:.85rem; }
  .theme-control label { color:var(--muted); }
  .theme-control select { min-height:2.75rem; padding:.4rem 1.7rem .4rem .7rem; border:1px solid var(--border); color:var(--ink); background:var(--paper); border-radius:var(--radius); }
  .eyebrow,.entry-label,.entry-number,.plate-label,.edition { font-family:var(--mono); font-size:.75rem; letter-spacing:.055em; }
  .eyebrow { text-transform:uppercase; color:var(--role-orientation); margin-bottom:1rem; }
  .lead { font-size:clamp(1.1rem,1.6vw,1.23rem); line-height:1.75; max-width:51ch; color:var(--muted); }
  .hero-qualification { font-size:.875rem; line-height:1.65; color:var(--muted); max-width:51ch; margin-top:.9rem; }
  .button { display:inline-flex; align-items:center; justify-content:center; gap:1.3rem; min-height:3rem; padding:.65rem 1.05rem; border:1px solid var(--role-orientation); border-radius:var(--radius); font-size:.95rem; font-weight:700; text-decoration:none; }
  .button--primary { background:var(--role-orientation); color:var(--paper); }
  .button--primary:hover { text-decoration:underline; text-underline-offset:.25em; }
  .text-action { display:inline-flex; gap:.65rem; align-items:center; min-height:2.75rem; padding-block:.5rem; color:var(--ink); font-weight:600; font-size:.94rem; }
  .identity-plate { align-self:center; padding:1.15rem 1.15rem 1.3rem; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .plate-label { display:flex; justify-content:space-between; color:var(--muted); text-transform:uppercase; }
  .identity-plate .qeshet { width:100%; }
  .identity-plate figcaption { border-top:1px solid var(--line); padding-top:1rem; }
  .identity-plate figcaption strong { display:block; font-family:var(--serif); font-weight:400; font-size:1.35rem; }
  .identity-plate figcaption span { display:block; color:var(--muted); font-size:.8rem; margin-top:.25rem; }
  .qeshet-red { stroke:var(--anchor-red); }
  .qeshet-orange { stroke:var(--anchor-orange); }
  .qeshet-gold { stroke:var(--anchor-gold); }
  .qeshet-green { stroke:var(--anchor-green); }
  .qeshet-aqua { stroke:var(--anchor-aqua); }
  .qeshet-blue { stroke:var(--anchor-blue); }
  .qeshet-purple { stroke:var(--anchor-purple); }
  .qeshet-packet { fill:var(--ink); }
  .qeshet-ring { stroke:var(--muted); }
  .plate-construction,.plate-registration { stroke:var(--line); }
  .plate-source-line { stroke:var(--role-sources); }
  .plate-source-node { fill:var(--role-sources); }
  .collection-list { list-style:none; margin:0; padding:0; }
  .collection-entry { display:grid; grid-template-columns:2.1rem minmax(0,1fr); gap:1.1rem; padding-block:1.8rem; border-bottom:1px solid var(--line); }
  .collection-entry:first-child { padding-top:0; }
  .entry-number { padding-top:.18rem; color:var(--muted); }
  .entry-label { color:var(--role); margin:0; }
  .collection-entry h3 a { color:var(--ink); text-decoration:none; }
  .collection-entry h3 a:hover { text-decoration:underline; text-decoration-thickness:1px; }
  .collection-entry h3 a span { font-family:var(--sans); font-size:1.1rem; color:var(--role); }
  .collection-entry p:not(.entry-label) { color:var(--muted); margin-bottom:0; max-width:57ch; }
  .collection-entry .entry-detail { font-size:.9rem; margin-top:.65rem; }
  .collection-list--wide { max-width:58rem; }
  .explore-section h2 { font-size:1.3rem; font-family:var(--mono); padding-block:1.5rem; border-top:1px solid var(--line); }
  .principle-section>.eyebrow { color:var(--role-analysis); }
  .principle-section>div>p:not(.eyebrow) { max-width:55ch; color:var(--muted); }
  .principle-ledger { margin:0; align-self:center; }
  .principle-ledger>div { padding:1.2rem 0; border-bottom:1px solid var(--line); }
  .principle-ledger>div:first-child { padding-top:0; }
  .principle-ledger>div:last-child { border:0; padding-bottom:0; }
  .principle-ledger dt { font-family:var(--serif); font-size:1.5rem; line-height:1.25; }
  .principle-ledger dt span { font: .75rem var(--mono); color:var(--role); margin-right:.7rem; }
  .principle-ledger dd { color:var(--muted); margin:.5rem 0 0 2rem; font-size:.95rem; }
  .source-note { padding:.6rem 0; border-top:1px solid var(--line); margin-block:2rem; max-width:var(--measure); }
  .source-note summary { color:var(--role-sources); font-size:.95rem; }
  .source-count { display:inline-block; font-family:var(--mono); margin-left:.4rem; font-size:.8rem; }
  .source-note p { font-size:.9rem; color:var(--muted); line-height:1.6; margin-top:.7rem; }
  .source-note ul { padding-left:1.2rem; }
  .source-note li { padding-block:.4rem; }
  .source-note li span { display:block; font-size:.8rem; color:var(--muted); }
  .breadcrumb { display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; font-size:.85rem; color:var(--muted); }
  .breadcrumb a { padding-block:.5rem; }
  .on-this-page { display:flex; flex-direction:column; gap:.3rem; }
  .on-this-page .eyebrow { color:var(--muted); }
  .on-this-page a { padding-block:.5rem; font-size:.9rem; color:var(--ink); text-decoration:none; }
  .on-this-page a:hover { text-decoration:underline; }
  .inline-identity { width:min(100%,24rem); padding:1rem; margin:2rem auto; }
  .inline-identity .qeshet { width:100%; }
  .inline-identity figcaption { font-size:.85rem; color:var(--muted); text-align:center; }
  .role-legend { margin:1.5rem 0; }
  .role-legend>div { padding:.85rem 0; display:grid; grid-template-columns:10rem 1fr; gap:.5rem 1.5rem; border-bottom:1px solid var(--line); }
  .role-legend dt { display:flex; gap:.6rem; align-items:baseline; color:var(--role); font-weight:600; }
  .role-swatch { width:.55rem; height:.55rem; display:inline-block; flex-shrink:0; background:var(--role); }
  .role-legend dd { margin:0; color:var(--muted); font-size:.95rem; }
  .callout { border-left:3px solid var(--role-structure); padding:1rem 1.4rem; background:var(--panel); max-width:var(--measure); }
  .callout .eyebrow { color:var(--role-structure); }
  .callout p:last-child { margin-bottom:0; }
  .lab-nav { display:flex; flex-wrap:wrap; gap:.3rem 1.5rem; margin-bottom:1.5rem; }
  .lab-nav a { padding:.5rem 0; }
  .contract-list { max-width:55rem; margin-top:1.5rem; }
  .contract-list details { border-top:1px solid var(--line); padding:.5rem 0; }
  .contract-list summary span { font-family:var(--mono); font-size:.75rem; margin-left:1rem; color:var(--muted); }
  .contract-list details>p { margin-top:1rem; }
  .contract-list dl>div { margin-bottom:.85rem; }
  .contract-list dt { font-weight:600; }
  .contract-list dd { margin:.2rem 0 0; color:var(--muted); }
  .search-main { min-height:65vh; }
  .search-form { max-width:48rem; }
  .search-form>label { display:block; font-weight:600; margin-bottom:.5rem; }
  .search-form>div { display:flex; gap:.65rem; }
  .search-form input { width:100%; min-width:0; border:1px solid var(--border); background:var(--panel); color:var(--ink); padding:.7rem .9rem; border-radius:var(--radius); }
  .search-form input::placeholder { color:var(--muted); opacity:1; }
  .search-help { font-size:.85rem; color:var(--muted); margin-top:.6rem; }
  .search-status { margin-top:2rem; }
  .search-results { padding:0; list-style:none; max-width:48rem; }
  .search-results>li { padding:1.5rem 0; border-bottom:1px solid var(--line); }
  .search-results h2 { font-size:1.55rem; }
  .search-results p { color:var(--muted); }
  .closing-note { margin-block:2.5rem 1rem; }
  .footer-brand { font:1.45rem var(--serif); color:var(--ink); text-decoration:none; }
  .site-footer>div>p { color:var(--muted); font-size:.85rem; margin:.6rem 0 0; }
  .edition { color:var(--muted); font-size:.7rem; }
  .edition span { margin-inline:.55rem; }
  @media (max-width:700px) { .role-legend>div { grid-template-columns:1fr; } }
  @media (max-width:420px) { .search-form>div { flex-direction:column; } .contract-list summary span { display:block; margin-left:1rem; } }
}
@layer utilities {
  .skip-link { position:fixed; top:1rem; left:1rem; z-index:20; background:var(--paper); color:var(--ink); border:2px solid var(--role-orientation); padding:.75rem 1rem; transform:translateY(-200%); }
  .skip-link:focus { transform:translateY(0); }
  #main:focus { outline:none; }
  @media (prefers-reduced-motion:no-preference) {
    .qeshet--plate[data-motion=intro] .qeshet-arc { animation:qeshet-draw 1.2s ease-out 1 both; }
    @keyframes qeshet-draw { from { stroke-dasharray:1; stroke-dashoffset:1; } to { stroke-dasharray:1; stroke-dashoffset:0; } }
  }
  @media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
  @media (forced-colors:active) {
    .qeshet-arc,.plate-construction,.plate-source-line,.plate-registration,.qeshet-ring { stroke:CanvasText; }
    .qeshet-packet,.plate-source-node,.role-swatch { fill:CanvasText; background:CanvasText; }
    .button { border:1px solid ButtonText; }
    a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible { outline:3px solid Highlight; }
  }
  @media print {
    :root { --paper:white; --panel:white; --ink:black; --muted:black; --line:gray; --role-sources:black; --role-orientation:black; color-scheme:light; }
    .site-header,.site-footer,.skip-link,.on-this-page,.hero-actions,.lab-nav,.search-form { display:none !important; }
    .page-width { width:100%; }
    .home-hero,.collection-section,.principle-section,.document-layout { display:block; padding:1rem 0; }
    .identity-plate { width:15rem; margin:1rem auto; }
    h1 { font-size:32pt; max-width:none; }
    h2 { font-size:22pt; }
    p { orphans:3; widows:3; }
    .collection-entry,.callout,figure { break-inside:avoid; }
    details::details-content { display:block; content-visibility:visible; }
    details>summary { list-style:none; }
    a { color:black; text-decoration:underline; }
  }
}

/* Review refinement: identity should not delay useful destinations on a phone. */
@layer components {
  .principle-section>div>.eyebrow { color:var(--role-analysis); }
  @media (max-width:700px) {
    .home-hero>.identity-plate { width:100%; display:grid; grid-template-columns:7rem minmax(0,1fr); align-items:center; gap:1rem; padding:1rem 0; }
    .home-hero>.identity-plate .plate-label { display:none; }
    .home-hero>.identity-plate figcaption { border:0; padding:0; }
    .home-hero>.identity-plate figcaption strong { font-size:1.15rem; }
    .home-hero>.identity-plate figcaption span { font-size:.8rem; }
  }
}

/* Text enlargement and WCAG text-spacing overrides must be able to reflow. */
@layer base {
  body { overflow-wrap:anywhere; }
}
@layer components {
  .theme-control { flex-wrap:wrap; }
  .theme-control select { max-width:100%; }
  .text-action { max-width:100%; flex-wrap:wrap; }
  .principle-section>* { min-width:0; }
}
@layer layout {
  @media (max-width:700px) {
    .collection-section,.principle-section,.document-layout,.site-footer { grid-template-columns:minmax(0,1fr); }
  }
}

@layer components {
  .resource-links { margin:1.2rem 0; padding-left:1.3rem; }
  .resource-links li { margin-bottom:.7rem; }
  .resource-links a { display:inline-block; padding-block:.4rem; }
  .outline-example { border-block:1px solid var(--line); margin-block:1.5rem; padding:.5rem 0; }
  .outline-example nav a { display:inline-block; padding-block:.5rem; }
}

/* Public Rights Field Guide: web-native long-form publications. */
@layer layout {
  .publication-library { padding-block:1.8rem 5rem; }
  .publication-library-masthead { max-width:58rem; margin-block:2.5rem 2rem; }
  .publication-library-masthead h1 { max-width:16ch; }
  .publication-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-block:2rem 4rem; }
  .publication-cards>article { min-width:0; border-top:3px solid var(--role); background:var(--panel); padding:1.5rem; }
  .publication-cards>article:nth-child(1) { --role:var(--role-analysis); }
  .publication-cards>article:nth-child(2) { --role:var(--role-sources); }
  .publication-cards>article:nth-child(3) { --role:var(--role-orientation); }
  .publication-cards>article:nth-child(4) { --role:var(--role-structure); }
  .publication-main { padding-block:1.8rem 5rem; }
  .publication-masthead { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(15rem,.75fr); gap:clamp(2rem,5vw,5rem); align-items:end; margin-block:2.5rem 2rem; }
  .publication-masthead h1 { max-width:17ch; }
  .publication-layout { display:grid; grid-template-columns:minmax(14rem,19rem) minmax(0,1fr); gap:clamp(2rem,5vw,5rem); align-items:start; margin-top:2rem; }
  .publication-nav { position:sticky; top:1rem; max-height:calc(100vh - 2rem); overflow:auto; padding-right:.7rem; }
  .publication-article { min-width:0; max-width:var(--measure); }
  .publication-section { padding-block:3.5rem 1rem; border-top:1px solid var(--line); }
  .publication-section:first-child { padding-top:1rem; }
  @media (max-width:900px) {
    .publication-layout,.publication-masthead { grid-template-columns:1fr; }
    .publication-nav { position:static; max-height:none; padding:0 0 2rem; border-bottom:1px solid var(--line); }
  }
  @media (max-width:700px) {
    .publication-cards { grid-template-columns:1fr; }
    .publication-section { padding-block:2.5rem .5rem; }
  }
}
@layer components {
  .publication-status { border-left:3px solid var(--role-orientation); background:var(--panel); padding:1rem 1.25rem; margin-block:1.5rem 2.5rem; max-width:var(--measure); }
  .publication-status strong { font-family:var(--sans); }
  .publication-status p { color:var(--muted); margin:.35rem 0 0; }
  .publication-actions { display:flex; flex-wrap:wrap; gap:.5rem 1.2rem; align-items:center; margin-top:1.6rem; }
  .publication-facts { margin:0; border-block:1px solid var(--line); }
  .publication-facts>div { display:grid; grid-template-columns:6rem 1fr; gap:1rem; padding:.65rem 0; border-bottom:1px solid var(--line); }
  .publication-facts>div:last-child { border:0; }
  .publication-facts dt,.record-id,.item-label,.source-id { font:.75rem/1.4 var(--mono); letter-spacing:.035em; color:var(--muted); }
  .publication-facts dd { margin:0; }
  .publication-nav details { border-top:1px solid var(--line); }
  .publication-nav summary { font-family:var(--serif); font-size:1rem; }
  .publication-nav a { display:block; padding:.45rem .25rem .45rem 1rem; color:var(--ink); text-decoration:none; font-size:.86rem; line-height:1.35; }
  .publication-nav a:hover { text-decoration:underline; }
  .publication-section h2 { font-size:clamp(1.8rem,3vw,2.45rem); max-width:24ch; }
  .publication-section h3 { font-size:1.35rem; margin-top:2rem; }
  .publication-section>p,.publication-item>p:last-child,.publication-callout p,.publication-record-card p,.publication-record-card dd { font-size:1.04rem; line-height:1.75; }
  .section-deck { font-size:1.15rem !important; color:var(--muted); margin-bottom:2rem; }
  .section-return { font-size:.82rem !important; margin-top:2.4rem; }
  .publication-item { margin-block:1.5rem; padding-left:1.2rem; border-left:1px solid var(--line); }
  .publication-item .item-label { color:var(--role-sources); margin-bottom:.35rem; }
  .publication-callout { --callout-role:var(--role-sources); border-left:3px solid var(--callout-role); background:var(--panel); padding:1rem 1.25rem; margin-block:1.5rem; }
  .publication-callout[data-tone=orange] { --callout-role:var(--role-orientation); }
  .publication-callout[data-tone=red] { --callout-role:var(--role-critical); }
  .publication-callout[data-tone=green] { --callout-role:var(--role-evidence); }
  .publication-callout strong { display:block; font:.76rem/1.4 var(--mono); letter-spacing:.035em; text-transform:uppercase; color:var(--callout-role); }
  .publication-callout p { margin:.45rem 0 0; }
  .publication-task-links { list-style:none; padding:0; margin:1.5rem 0 2rem; display:grid; gap:.55rem; }
  .publication-task-links a { display:grid; grid-template-columns:minmax(12rem,.8fr) minmax(0,1.2fr); gap:1rem; border-top:1px solid var(--line); padding:.9rem .25rem; text-decoration:none; color:var(--ink); }
  .publication-task-links a:hover strong { text-decoration:underline; }
  .publication-task-links span { color:var(--muted); font-size:.9rem; }
  .publication-record-card { scroll-margin-top:1rem; margin-block:2rem; border:1px solid var(--line); border-top:3px solid var(--role-sources); padding:1.2rem 1.3rem; background:var(--panel); }
  .route-card { border-top-color:var(--role-orientation); }
  .timing-card { border-top-color:var(--role-structure); }
  .template-card { border-top-color:var(--role-analysis); }
  .source-card { border-top-color:var(--role-sources); }
  .publication-record-card h3 { margin:.25rem 0 .8rem; font-size:1.4rem; }
  .publication-record-card dl { margin:1rem 0; }
  .publication-field { border-top:1px solid var(--line); padding:.65rem 0; }
  .publication-field dt { font-weight:700; font-size:.8rem; font-family:var(--sans); }
  .publication-field dd { margin:.2rem 0 0; }
  .publication-record-card details { border-top:1px solid var(--line); padding:.25rem 0; }
  .publication-record-card blockquote { margin:1rem 0; padding-left:1rem; border-left:2px solid var(--role-sources); font-family:var(--serif); }
  .publication-record-card pre { white-space:pre-wrap; overflow-wrap:anywhere; background:var(--paper); border:1px solid var(--line); padding:1rem; max-width:100%; font:.86rem/1.55 var(--mono); }
  .publication-citations { list-style:none; padding:0; margin:1rem 0 0; }
  .publication-citations li { display:grid; grid-template-columns:3.5rem minmax(0,1fr); gap:.3rem .75rem; align-items:baseline; padding:.45rem 0; border-top:1px solid var(--line); }
  .publication-citations small { grid-column:2; color:var(--muted); line-height:1.4; }
  .publication-source-link { overflow-wrap:anywhere; }
  .record-links,.record-meta,.citation-context { font-size:.88rem !important; color:var(--muted); }
  .timing-headline { font-weight:700; color:var(--role-structure); }
  .scenario-steps { padding-left:1.3rem; }
  .scenario-steps>li { padding:0 0 1rem .4rem; }
  .unresolved-reference { text-decoration:underline wavy var(--role-critical); }
  @media (max-width:600px) {
    .publication-task-links a { grid-template-columns:1fr; gap:.25rem; }
    .publication-facts>div { grid-template-columns:1fr; gap:.15rem; }
  }
}
@layer utilities {
  @media print {
    .publication-nav,.publication-actions,.section-return { display:none !important; }
    .publication-layout,.publication-masthead { display:block; }
    .publication-record-card,.publication-callout { break-inside:avoid; }
  }
}


/* PRFG refinement: use the desktop canvas for document structure, not over-wide prose. */
@layer layout {
  .publication-main {
    --publication-nav-width: 16rem;
    --publication-gap: clamp(2rem,4vw,4rem);
    width:min(86rem,calc(100% - clamp(2rem,6vw,6rem)));
  }
  .publication-layout {
    grid-template-columns:var(--publication-nav-width) minmax(0,1fr);
    gap:var(--publication-gap);
  }
  .publication-article { max-width:none; }
  @media (min-width:901px) {
    .publication-status {
      margin-left:calc(var(--publication-nav-width) + var(--publication-gap));
      max-width:none;
    }
  }
  @media (max-width:900px) {
    .publication-main { width:min(var(--page-width),calc(100% - clamp(2rem,7vw,7rem))); }
    .publication-status { margin-left:0; }
  }
}
@layer components {
  .publication-status p { max-width:72ch; }
  .publication-section>p:not(.section-return),
  .publication-item { max-width:78ch; }
  .publication-section>.section-deck { max-width:70ch; }
  .publication-record-card { width:100%; }

  .template-actions {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.55rem .7rem;
    margin:1rem 0;
  }
  .template-actions button {
    min-height:2.55rem;
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:.45rem .7rem;
    background:var(--paper);
    color:var(--ink);
    font-size:.82rem;
  }
  .template-actions button:hover { border-color:var(--role-analysis); }
  .template-actions button:focus-visible { outline-color:var(--role-analysis); }
  .template-status {
    flex:1 1 12rem;
    min-height:1.4rem;
    color:var(--muted);
    font-size:.78rem;
  }
  .template-editor-wrap { margin-block:1rem; }
  .template-editor-wrap label>span {
    display:block;
    margin-bottom:.45rem;
    font:.76rem/1.4 var(--mono);
    letter-spacing:.035em;
    color:var(--role-analysis);
  }
  .template-editor-wrap textarea {
    display:block;
    width:100%;
    min-height:22rem;
    resize:vertical;
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:1rem;
    background:var(--paper);
    color:var(--ink);
    font:.9rem/1.58 var(--mono);
  }
  .template-privacy {
    margin:.65rem 0 0 !important;
    color:var(--muted);
    font-size:.82rem !important;
    line-height:1.55 !important;
  }

  @media (min-width:1180px) {
    .publication-task-links {
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:.8rem 1.2rem;
    }
    .publication-task-links a {
      grid-template-columns:1fr;
      align-content:start;
      gap:.3rem;
      border:1px solid var(--line);
      border-top:3px solid var(--role-sources);
      padding:1rem;
      background:var(--panel);
    }
    .publication-record-card dl {
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      column-gap:1.5rem;
    }
  }
}
@layer utilities {
  @media print {
    .template-actions,.template-editor-wrap { display:none !important; }
    .template-card [data-template-original] { display:block !important; }
  }
}

@layer components {
  @media (max-width:600px) {
    .publication-source-link>span[aria-hidden="true"] { display:none; }
  }
}

@layer layout {
  @media (max-width:900px) {
    .publication-layout { grid-template-columns:1fr; }
  }
}
@layer components {
  @media (min-width:901px) {
    .publication-main>.publication-status { max-width:none; }
  }
}

@layer components {
  @media (min-width:1180px) {
    .publication-item {
      max-width:none;
      display:grid;
      grid-template-columns:11rem minmax(0,1fr);
      gap:1.25rem;
      align-items:start;
      padding:1rem 0;
      border-left:0;
      border-top:1px solid var(--line);
    }
    .publication-item .item-label { margin:0; padding-top:.15rem; }
    .publication-item>p:last-child { max-width:72ch; margin:0; }
  }
}


/* PRFG adaptive reader: browser zoom remains authoritative; layout adapts around it. */
@layer layout {
  .publication-main {
    --publication-nav-width: clamp(14rem,15vw,18rem);
    --publication-gap: clamp(1.75rem,3vw,4.5rem);
    width:min(150rem,94vw);
    container-type:inline-size;
  }
  .publication-layout {
    grid-template-columns:var(--publication-nav-width) minmax(0,1fr);
    gap:var(--publication-gap);
  }
  :root[data-prfg-contents="hidden"] .publication-layout {
    grid-template-columns:minmax(0,1fr);
  }
  :root[data-prfg-contents="hidden"] .publication-main>.publication-status {
    margin-left:0;
  }

  :root[data-prfg-view="reading"] .publication-main {
    width:min(104rem,92vw);
  }
  :root[data-prfg-view="reading"] .publication-layout {
    grid-template-columns:minmax(0,1fr);
  }
  :root[data-prfg-view="reading"] .publication-nav {
    position:static;
    max-height:none;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));
    gap:0 1rem;
  }
  :root[data-prfg-view="reading"] .publication-nav-title {
    grid-column:1/-1;
  }
  :root[data-prfg-view="reading"] .publication-article {
    width:min(100%,88rem);
    margin-inline:auto;
  }
  :root[data-prfg-view="reading"] .publication-main>.publication-status {
    margin-left:0;
    width:min(100%,88rem);
    margin-inline:auto;
  }

  :root[data-prfg-view="overview"] .publication-main {
    --publication-nav-width: clamp(12rem,12vw,15rem);
    --publication-gap: clamp(1.25rem,2vw,2.5rem);
    width:min(170rem,97vw);
  }

  @media (max-width:900px) {
    .publication-main,
    :root[data-prfg-view="reading"] .publication-main,
    :root[data-prfg-view="overview"] .publication-main {
      width:min(var(--page-width),calc(100% - clamp(2rem,7vw,7rem)));
    }
    .publication-layout,
    :root[data-prfg-view="reading"] .publication-layout,
    :root[data-prfg-view="overview"] .publication-layout {
      grid-template-columns:minmax(0,1fr);
    }
    .publication-nav,
    :root[data-prfg-view="reading"] .publication-nav {
      position:static;
      max-height:none;
      display:block;
    }
    .publication-main>.publication-status,
    :root[data-prfg-view="reading"] .publication-main>.publication-status {
      margin-left:0;
      width:auto;
    }
  }
}

@layer components {
  .publication-reader-controls {
    position:sticky;
    top:0;
    z-index:8;
    display:grid;
    grid-template-columns:auto auto auto auto minmax(12rem,1fr);
    gap:.65rem 1rem;
    align-items:center;
    margin:1rem 0 1.5rem;
    padding:.7rem 0;
    border-block:1px solid var(--line);
    background:var(--paper);
  }
  .reader-controls-title {
    margin:0;
    font:.74rem/1.3 var(--mono);
    letter-spacing:.055em;
    text-transform:uppercase;
    color:var(--muted);
  }
  .publication-reader-controls label {
    display:flex;
    align-items:center;
    gap:.45rem;
    font-size:.82rem;
    color:var(--muted);
  }
  .publication-reader-controls select,
  .publication-reader-controls button {
    min-height:2.45rem;
    border:1px solid var(--border);
    border-radius:var(--radius);
    background:var(--paper);
    color:var(--ink);
    padding:.35rem .65rem;
    font:inherit;
  }
  .publication-reader-controls button {
    cursor:pointer;
  }
  .publication-reader-controls button:hover,
  .publication-reader-controls select:hover {
    border-color:var(--role-sources);
  }
  .reader-controls-note {
    justify-self:end;
    margin:0;
    max-width:42ch;
    font-size:.78rem;
    line-height:1.45;
    color:var(--muted);
  }

  .publication-nav {
    border:1px solid var(--line);
    border-top:3px solid var(--role-sources);
    background:var(--panel);
    padding:.6rem .85rem 1rem;
  }
  .publication-nav-title {
    margin:.15rem 0 .55rem;
    font:.72rem/1.3 var(--mono);
    letter-spacing:.055em;
    text-transform:uppercase;
    color:var(--muted);
  }
  .publication-nav summary {
    font-size:1rem;
    font-weight:600;
  }
  .publication-nav a {
    font-size:clamp(.9rem,calc(.86rem + .04cqi),1rem);
    border-left:3px solid transparent;
    padding-left:.75rem;
  }
  .publication-nav a[aria-current="location"] {
    border-left-color:var(--role-sources);
    background:var(--paper);
    color:var(--role-sources);
    font-weight:700;
  }

  .publication-article {
    --publication-text-size:clamp(1.08rem,calc(.85rem + .28cqi),1.3rem);
    --publication-leading:1.72;
  }
  .publication-section>p:not(.section-return),
  .publication-item>p:last-child,
  .publication-callout p,
  .publication-record-card p,
  .publication-record-card dd {
    font-size:var(--publication-text-size);
    line-height:var(--publication-leading);
  }
  .publication-section>.section-deck {
    font-size:calc(var(--publication-text-size) * 1.08) !important;
    line-height:1.65;
  }
  .publication-masthead h1 {
    font-size:clamp(4rem,calc(3.45rem + .7cqi),5.5rem);
  }
  .publication-section h2 {
    font-size:clamp(2rem,calc(1.65rem + .55cqi),3rem);
  }

  :root[data-prfg-view="reading"][data-prfg-text="auto"] .publication-article {
    --publication-text-size:1.2rem;
    --publication-leading:1.78;
  }
  :root[data-prfg-view="overview"][data-prfg-text="auto"] .publication-article {
    --publication-text-size:.98rem;
    --publication-leading:1.62;
  }
  :root[data-prfg-view="overview"] .publication-section {
    padding-block:2rem .5rem;
  }
  :root[data-prfg-view="overview"] .publication-section h2 {
    font-size:clamp(1.8rem,calc(1.55rem + .35cqi),2.45rem);
  }
  :root[data-prfg-view="overview"] .publication-nav a {
    font-size:.82rem;
    padding-block:.35rem;
  }

  :root[data-prfg-text="large"] .publication-article {
    --publication-text-size:1.2rem;
    --publication-leading:1.76;
  }
  :root[data-prfg-text="xlarge"] .publication-article {
    --publication-text-size:1.35rem;
    --publication-leading:1.8;
  }

  @container (min-width:100rem) {
    :root:not([data-prfg-view="reading"]) .publication-task-links {
      grid-template-columns:repeat(3,minmax(0,1fr));
    }
  }

  @media (max-width:1000px) {
    .publication-reader-controls {
      grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .reader-controls-title,
    .reader-controls-note {
      grid-column:1/-1;
      justify-self:start;
    }
  }
  @media (max-width:700px) {
    .publication-reader-controls {
      position:static;
      grid-template-columns:1fr 1fr;
    }
    .reader-controls-title,
    .reader-controls-note,
    .publication-reader-controls button {
      grid-column:1/-1;
    }
    .publication-reader-controls label {
      align-items:flex-start;
      flex-direction:column;
    }
    .publication-reader-controls select {
      width:100%;
    }
  }
}

@layer utilities {
  @media print {
    .publication-reader-controls { display:none !important; }
    .publication-nav { display:none !important; }
    .publication-layout { display:block !important; }
  }
}

@layer components {
  :root[data-prfg-view="reading"][data-prfg-text="auto"] .publication-article {
    --publication-text-size:1.4rem;
    --publication-leading:1.8;
  }
  :root[data-prfg-text="large"] .publication-article {
    --publication-text-size:1.4rem;
    --publication-leading:1.8;
  }
  :root[data-prfg-text="xlarge"] .publication-article {
    --publication-text-size:1.6rem;
    --publication-leading:1.82;
  }
}

@layer layout {
  :root[data-prfg-contents="hidden"] .publication-nav { display:none; }
}


/* PRFG typography and editorial rhythm: denser, heavier, and more deliberately typeset. */
@layer layout {
  .publication-main {
    --publication-nav-width: clamp(17rem,16vw,19rem);
    --publication-gap: clamp(1.5rem,2.5vw,3.5rem);
  }
}

@layer components {
  .publication-main {
    font-family:var(--sans);
    font-weight:var(--weight-prose);
    font-kerning:normal;
  }

  .publication-masthead h1,
  .publication-section-header h2,
  .publication-library h1,
  .publication-library h2 {
    font-family:var(--serif);
    font-weight:var(--weight-display);
    letter-spacing:-.03em;
  }
  .publication-masthead .lead,
  .publication-section-header .section-deck {
    font-weight:var(--weight-prose);
  }
  .publication-masthead h1 {
    line-height:1.02;
    max-width:14ch;
  }

  .publication-nav {
    padding:.7rem .85rem .9rem;
  }
  .publication-nav-title {
    font-weight:var(--weight-strong);
    color:var(--ink);
    opacity:.7;
    margin-bottom:.65rem;
  }
  .publication-nav details {
    border-top:1px solid var(--line);
  }
  .publication-nav summary {
    font-family:var(--sans);
    font-size:.92rem;
    font-weight:var(--weight-strong);
    line-height:1.25;
    letter-spacing:.005em;
    padding:.58rem 0;
  }
  .publication-nav a {
    font-family:var(--sans);
    font-size:clamp(.9rem,calc(.87rem + .03cqi),.98rem);
    font-weight:var(--weight-ui);
    line-height:1.3;
    padding:.5rem .4rem .5rem .75rem;
  }
  .publication-nav a[aria-current="location"] {
    font-weight:var(--weight-strong);
  }

  .publication-reader-controls,
  .publication-reader-controls select,
  .publication-reader-controls button {
    font-weight:var(--weight-ui);
  }
  .reader-controls-title {
    font-weight:var(--weight-strong);
  }

  .publication-section {
    padding-block:2.4rem 1.2rem;
    border-top:2px solid var(--line);
  }
  .publication-section:first-child {
    padding-top:1.4rem;
  }
  .publication-section-header {
    max-width:76ch;
    margin-bottom:1.4rem;
  }
  .publication-section-header .eyebrow {
    display:inline-flex;
    align-items:center;
    width:max-content;
    max-width:100%;
    margin:0 0 .8rem;
    padding:.3rem .58rem;
    border:1px solid var(--line);
    border-left:3px solid var(--role-orientation);
    background:var(--panel);
    color:var(--role-orientation);
    font-family:var(--mono);
    font-size:.77rem;
    font-weight:var(--weight-strong);
    line-height:1.25;
    letter-spacing:.055em;
    text-transform:uppercase;
  }
  .publication-section-header h2 {
    margin:0;
    max-width:22ch;
    font-size:clamp(2.05rem,calc(1.75rem + .45cqi),2.8rem);
    line-height:1.08;
  }
  .publication-section-header .section-deck {
    max-width:58ch;
    margin:.65rem 0 0;
    color:var(--muted);
    font-size:calc(var(--publication-text-size) * 1.03) !important;
    font-weight:var(--weight-prose);
    line-height:1.5;
  }

  .publication-article {
    --publication-leading:1.62;
  }
  .publication-section>p,
  .publication-item>p:last-child,
  .publication-callout p,
  .publication-record-card p,
  .publication-record-card dd {
    font-weight:var(--weight-prose);
  }
  .publication-section>p:not(.section-return) {
    max-width:70ch;
    margin-bottom:1rem;
  }
  .publication-section>p + p {
    margin-top:.15rem;
  }

  .publication-section>h3 {
    max-width:32ch;
    margin:1.65rem 0 .65rem;
    padding-top:.65rem;
    border-top:1px solid var(--line);
    font-family:var(--serif);
    font-size:clamp(1.45rem,calc(1.3rem + .2cqi),1.75rem);
    font-weight:var(--weight-strong);
    line-height:1.2;
    letter-spacing:-.018em;
  }

  .publication-item {
    margin-block:1rem;
  }
  .publication-item .item-label {
    font-weight:var(--weight-strong);
    letter-spacing:.045em;
  }
  .publication-item>p:last-child {
    max-width:66ch;
    line-height:1.58;
  }

  .publication-callout {
    max-width:76ch;
    margin:1.25rem 0;
    padding:1rem 1.1rem;
    border:1px solid var(--line);
    border-left:4px solid var(--callout-role);
    background:var(--panel);
  }
  .publication-callout strong {
    margin-bottom:.45rem;
    font-size:.78rem;
    font-weight:var(--weight-strong);
    letter-spacing:.055em;
  }
  .publication-callout p {
    max-width:64ch;
    margin:0;
    line-height:1.55;
  }

  .citation-context {
    max-width:72ch;
    margin:1.15rem 0 .45rem !important;
    color:var(--ink);
    font-size:.94rem !important;
    font-weight:var(--weight-ui);
    line-height:1.5 !important;
  }
  .publication-citations {
    max-width:76ch;
    margin:.4rem 0 1.4rem;
    border-block:1px solid var(--line);
  }
  .publication-citations li {
    grid-template-columns:3.8rem minmax(0,1fr);
    gap:.25rem .8rem;
    padding:.6rem 0;
    border-top:0;
    border-bottom:1px solid var(--line);
  }
  .publication-citations li:last-child {
    border-bottom:0;
  }
  .publication-source-link {
    font-size:1rem;
    font-weight:var(--weight-ui);
    line-height:1.35;
  }
  .publication-citations small {
    font-size:.8rem;
    font-weight:var(--weight-prose);
  }
  .source-id,
  .record-id,
  .item-label,
  .publication-facts dt {
    font-weight:var(--weight-strong);
  }

  .publication-record-card {
    margin-block:1.35rem;
    padding:1rem 1.15rem;
    border-color:var(--line);
  }
  .publication-record-card h3 {
    margin:.2rem 0 .65rem;
    font-family:var(--serif);
    font-size:1.35rem;
    font-weight:var(--weight-strong);
    line-height:1.2;
  }
  .publication-record-card p,
  .publication-record-card dd {
    line-height:1.58;
  }
  .publication-field {
    padding:.55rem 0;
  }
  .publication-field dt {
    font-size:.8rem;
    font-weight:var(--weight-strong);
  }

  .publication-section-footer {
    display:flex;
    justify-content:flex-end;
    max-width:70ch;
    margin-top:1.5rem;
    padding-top:.65rem;
    border-top:1px solid var(--line);
    font-size:.82rem;
    font-weight:var(--weight-ui);
  }
  .publication-section-footer a {
    min-height:2.25rem;
    display:inline-flex;
    align-items:center;
  }

  .publication-status {
    font-weight:var(--weight-prose);
  }
  .publication-status strong {
    font-weight:var(--weight-strong);
  }
  .publication-facts dd {
    font-weight:var(--weight-prose);
  }

  @container (min-width:72rem) {
    .publication-section-header {
      max-width:82ch;
    }
    .publication-callout {
      display:grid;
      grid-template-columns:minmax(8.5rem,10rem) minmax(0,1fr);
      gap:1.2rem;
      align-items:start;
      max-width:82ch;
    }
    .publication-callout strong {
      margin:0;
      padding-top:.08rem;
    }
    .publication-callout p {
      max-width:60ch;
    }
  }

  @media (min-width:1180px) {
    .publication-item {
      grid-template-columns:10rem minmax(0,1fr);
      gap:1rem;
      padding:.8rem 0;
    }
    .publication-item>p:last-child {
      max-width:62ch;
    }
  }

  @media (max-width:700px) {
    .publication-section {
      padding-block:2rem .8rem;
    }
    .publication-section-header {
      margin-bottom:1.2rem;
    }
    .publication-section-header .eyebrow {
      white-space:normal;
    }
    .publication-callout {
      padding:.9rem 1rem;
    }
    .publication-section-footer {
      justify-content:flex-start;
    }
  }

  :root[data-prfg-view="overview"] .publication-article {
    --publication-leading:1.5;
  }
  :root[data-prfg-view="overview"] .publication-section {
    padding-block:1.6rem .6rem;
  }
  :root[data-prfg-view="overview"] .publication-section-header {
    margin-bottom:1rem;
  }
  :root[data-prfg-view="overview"] .publication-section-header .eyebrow {
    margin-bottom:.55rem;
    padding:.2rem .45rem;
    font-size:.68rem;
  }
  :root[data-prfg-view="overview"] .publication-section-header h2 {
    font-size:clamp(1.65rem,calc(1.5rem + .25cqi),2.2rem);
  }
  :root[data-prfg-view="overview"] .publication-callout,
  :root[data-prfg-view="overview"] .publication-record-card {
    margin-block:.85rem;
  }
}

@layer utilities {
  @media print {
    .publication-section-header .eyebrow {
      border-color:gray;
      background:white;
      color:black;
    }
  }
}

@layer components {
  .publication-article {
    --publication-text-size:clamp(1.14rem,calc(.92rem + .3cqi),1.36rem);
  }
  .publication-nav summary {
    font-size:.96rem;
  }
  .publication-nav a {
    font-size:clamp(.93rem,calc(.9rem + .03cqi),1.02rem);
  }
  .publication-section-header .eyebrow {
    font-size:.8rem;
  }
}

@layer components {
  .publication-nav-title {
    color:var(--muted);
    opacity:1;
  }
}


/* Homepage gateway integration: public front door distinct from publication/knowledge shells. */
@layer layout {
  .home-main { width:min(82rem,calc(100% - clamp(2rem,6vw,6rem))); }
  .home-gateway-hero {
    display:grid;
    grid-template-columns:minmax(0,1.12fr) minmax(22rem,.88fr);
    align-items:center;
    gap:clamp(2.5rem,6vw,6rem);
    padding-block:clamp(3.5rem,7vw,6.5rem) 4rem;
  }
  .home-publication-section,
  .home-secondary-section {
    display:grid;
    grid-template-columns:minmax(16rem,.65fr) minmax(0,1.35fr);
    gap:clamp(2.5rem,6vw,6rem);
    padding-block:4rem;
    border-top:1px solid var(--line);
  }
  .home-modes-section {
    display:grid;
    grid-template-columns:minmax(16rem,.65fr) minmax(0,1.35fr);
    gap:clamp(2.5rem,6vw,6rem);
    padding-block:4rem;
    border-top:1px solid var(--line);
  }
  .home-mode-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
  @media (max-width:900px) {
    .home-gateway-hero,
    .home-publication-section,
    .home-secondary-section,
    .home-modes-section { grid-template-columns:minmax(0,1fr); gap:2rem; }
    .home-gateway-hero { padding-block:3rem; }
  }
  @media (max-width:700px) {
    .home-main { width:min(var(--page-width),calc(100% - clamp(2rem,7vw,7rem))); }
    .home-mode-grid { grid-template-columns:1fr; }
    .home-publication-section,.home-secondary-section,.home-modes-section { padding-block:2.8rem; }
  }
}
@layer components {
  .brand-spectrum {
    display:inline-block;
    width:2.9rem;
    height:.42rem;
    flex:0 0 auto;
    background:linear-gradient(90deg,
      var(--anchor-red) 0 14.28%,
      var(--anchor-orange) 14.28% 28.56%,
      var(--anchor-gold) 28.56% 42.84%,
      var(--anchor-green) 42.84% 57.12%,
      var(--anchor-aqua) 57.12% 71.4%,
      var(--anchor-blue) 71.4% 85.68%,
      var(--anchor-purple) 85.68% 100%);
  }
  .home-gateway-hero h1 { max-width:13ch; }
  .home-gateway-hero .lead { max-width:57ch; }
  .home-task-panel {
    background:var(--panel);
    border-top:4px solid var(--role-sources);
    padding:1.25rem 1.35rem;
  }
  .home-task-panel>.eyebrow { color:var(--role-sources); margin-bottom:.55rem; }
  .home-task-panel h2 { font-size:clamp(1.55rem,2.2vw,2rem); margin-bottom:.55rem; }
  .home-task-intro { color:var(--muted); max-width:48ch; font-size:.92rem; }
  .home-task-list { margin-top:.75rem; }
  .home-task-list a {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:1rem;
    align-items:start;
    color:var(--ink);
    text-decoration:none;
    padding:.85rem 0;
    border-top:1px solid var(--line);
  }
  .home-task-list a:hover strong { text-decoration:underline; text-underline-offset:.2em; }
  .home-task-list strong { display:block; font-size:.98rem; line-height:1.35; }
  .home-task-list small { display:block; color:var(--muted); margin-top:.2rem; font-size:.79rem; line-height:1.45; }
  .home-task-list a>span:last-child { color:var(--role); font-weight:700; }

  .home-publication-feature {
    border-top:4px solid var(--role);
    background:var(--panel);
    padding:clamp(1.3rem,3vw,2rem);
  }
  .home-publication-feature>.entry-label { color:var(--role); }
  .home-publication-feature>h3 {
    font-size:clamp(1.85rem,3vw,2.55rem);
    max-width:24ch;
    margin:.35rem 0 .75rem;
  }
  .home-publication-feature>h3 a { color:var(--ink); text-decoration:none; }
  .home-publication-feature>h3 a:hover { text-decoration:underline; }
  .home-publication-feature>p:not(.entry-label) { max-width:62ch; color:var(--muted); }
  .home-companion-links {
    list-style:none;
    padding:0;
    margin:1.5rem 0 0;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.75rem 1rem;
  }
  .home-companion-links li { border-top:2px solid var(--role); }
  .home-companion-links a { display:block; padding:.75rem 0; color:var(--ink); text-decoration:none; }
  .home-companion-links a:hover strong { text-decoration:underline; }
  .home-companion-links strong { display:block; font-size:.93rem; }
  .home-companion-links span { display:block; margin-top:.2rem; color:var(--muted); font-size:.78rem; line-height:1.45; }

  .home-modes-section>.section-intro p:not(.eyebrow),
  .home-secondary-section>.section-intro p:not(.eyebrow),
  .home-publication-section>.section-intro p:not(.eyebrow) { color:var(--muted); }
  .home-mode-card {
    --card-role:var(--role);
    min-width:0;
    border-top:4px solid var(--card-role);
    background:var(--panel);
    padding:1.15rem 1.2rem;
  }
  .home-mode-card .entry-label { color:var(--card-role); }
  .home-mode-card h3 { font-size:1.55rem; margin:.35rem 0 .65rem; }
  .home-mode-card>p:not(.entry-label) { color:var(--muted); font-size:.9rem; line-height:1.6; min-height:5.6rem; }
  .home-mode-card .text-action { color:var(--ink); }
  .home-secondary-section .collection-list { align-self:start; }
  .home-secondary-section .collection-entry:first-child { padding-top:0; }

  @media (max-width:900px) {
    .home-task-panel { max-width:none; }
    .home-mode-card>p:not(.entry-label) { min-height:0; }
  }
  @media (max-width:700px) {
    .home-companion-links { grid-template-columns:1fr; }
  }
}
@layer utilities {
  @media (forced-colors:active) {
    .brand-spectrum { background:CanvasText; }
    .home-task-panel,.home-publication-feature,.home-mode-card,.home-companion-links li { border-color:CanvasText; }
  }
  @media print {
    .home-task-panel,.home-mode-grid { break-inside:avoid; }
  }
}
