/* =============================================================================
   Horizon Search Institute · site.css · October 2026
   One stylesheet for every public page.

   Layout   One 1200px wrap with a fluid gutter. Every page opens on an ink
            header that closes on the gold horizon line; content sits on white.
   Type     Schibsted Grotesk for headings, UI and labels.
            Literata for ledes, summaries and article text.
   Color    Ink, brand navy and brand gold. Gold marks the horizon line, ticks,
            focus and "in production". It is never body text on white.
   ============================================================================= */

:root{
  --ink:#121926;
  --navy:#2d3a52;
  --gold:#b8952a;
  --gold-text:#856812;
  --paper:#ffffff;
  --mist:#eef1f5;
  --text:#121926;
  --muted:#566072;
  --rule:#dde2e9;
  --rule-strong:#b9c1cd;
  --on-ink:#f3f5f8;
  --on-ink-muted:#a7b0bf;
  --on-ink-rule:#2a3344;

  --sans:"Schibsted Grotesk","Helvetica Neue",Arial,sans-serif;
  --serif:"Literata",Georgia,"Times New Roman",serif;

  --wrap:1200px;
  --gutter:clamp(20px,5vw,64px);
  --section:clamp(64px,8vw,112px);
  --measure:680px;

  /* Figures (assets/hsi-charts.css reads these) */
  --fig-c1:#2d3a52;
  --fig-c2:#8d9bb4;
  --fig-accent:#a98620;
  --fig-partial:#b4c0d3;
  --fig-none:#e9edf2;
  --fig-track:#e3e7ed;
  --fig-whole:#aab3c0;
  --fig-grid:rgba(18,25,38,.10);
  --fig-base:rgba(18,25,38,.6);
  --fig-ink:#121926;
  --fig-slate:#3b4557;
  --fig-muted:#566072;
  --fig-rule:#c9d0da;
  --fig-sans:"Schibsted Grotesk","Helvetica Neue",Arial,sans-serif;
  --fig-serif:"Schibsted Grotesk","Helvetica Neue",Arial,sans-serif;

  /* Names older article markup still references */
  --bg:#ffffff;--surface:#eef1f5;--card:#ffffff;--border:#dde2e9;--inner:#eef1f5;
  --slate:#3b4557;--teal:#2d3a52;--brass:#856812;--brass-bright:#b8952a;
  --ed-sans:var(--sans);--ed-serif:var(--serif);
  color-scheme:light;
}

/* ---------- Base --------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--text);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
img,video,svg{max-width:100%}
img,video{height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
h1,h2,h3,h4{margin:0;font-family:var(--sans);text-wrap:balance}
p{margin:0;text-wrap:pretty}
ul,ol{margin:0;padding:0}
button{font:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:10px;z-index:100;transform:translateY(-160%);padding:10px 14px;background:var(--paper);color:var(--ink);border:2px solid var(--gold);font-weight:600;font-size:14px}
.skip-link:focus{transform:none}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ---------- Layout ------------------------------------------------------- */
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter)}
.section{padding-block:var(--section)}
.section+.section{padding-top:0}
.section--mist{background:var(--mist)}
.section--mist+.section{padding-top:var(--section)}
.section+.section--mist{margin-top:0}
.stack{display:flex;flex-direction:column}
.g2,.g3,.g4{display:grid;column-gap:48px;row-gap:48px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:32px;row-gap:40px}
.split{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);column-gap:48px;row-gap:24px;align-items:start}
.measure{max-width:var(--measure)}
@media (max-width:900px){
  .g2,.g3,.split{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:480px){
  .g4.g4--stack{grid-template-columns:minmax(0,1fr)}
}

/* ---------- Type --------------------------------------------------------- */
.label{font:500 13px/1.45 var(--sans);letter-spacing:.01em;color:var(--muted)}
.lede{font:400 clamp(18px,1.6vw,21px)/1.55 var(--serif);color:var(--text);max-width:var(--measure)}
.serif{font-family:var(--serif)}
.muted{color:var(--muted)}
.small{font-size:14px;line-height:1.55}
.h2,.section-head h2{font-size:clamp(24px,2.2vw,30px);font-weight:600;line-height:1.2;letter-spacing:-.02em}
.h3{font-size:clamp(20px,1.7vw,24px);font-weight:600;line-height:1.22;letter-spacing:-.015em}
.h4{font-size:17px;font-weight:600;line-height:1.3;letter-spacing:-.005em}
.text-link{font:500 15px/1.4 var(--sans);color:var(--navy)}
.body-text{font:400 17px/1.65 var(--serif);max-width:var(--measure)}
.body-text>*+*{margin-top:1em}
.body-text a,.lede a,.small a,.note a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:3px}
.body-text a:hover,.lede a:hover,.small a:hover,.note a:hover{text-decoration-color:var(--navy)}
.note{font:400 14px/1.6 var(--sans);color:var(--muted);max-width:var(--measure)}

/* ---------- Header and navigation --------------------------------------- */
.site-header{background:var(--ink);color:var(--on-ink)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:24px}
.brand{display:inline-flex;align-items:center;gap:12px;font:600 17px/1.2 var(--sans);letter-spacing:-.01em;color:var(--on-ink)}
.brand img{width:28px;height:28px}
.brand:hover{text-decoration:none}
.nav-links{display:flex;align-items:center;gap:clamp(20px,2.6vw,36px);font:400 15px/1.4 var(--sans)}
.nav-links a{color:var(--on-ink);padding-block:6px;border-bottom:1px solid transparent}
.nav-links a:hover{text-decoration:none;border-bottom-color:var(--on-ink-muted)}
.nav-links a[aria-current="page"]{border-bottom-color:var(--gold)}
.nav-links .nav-support{color:var(--gold);font-weight:500}
.menu-btn{display:none;align-items:center;min-height:44px;padding:0 2px;background:none;border:0;color:var(--on-ink);font:500 15px var(--sans);cursor:pointer}
@media (max-width:860px){
  .menu-btn{display:inline-flex}
  .nav{flex-wrap:wrap;row-gap:0}
  .nav-links{display:none;flex-basis:100%;flex-direction:column;align-items:flex-start;gap:0;padding:8px 0 20px;font-size:20px}
  .nav-links.is-open{display:flex}
  .nav-links a{padding-block:10px;border:0}
  .nav-links a[aria-current="page"]{color:var(--gold)}
}

/* Page head: the band under the nav on every interior page */
.page-head{display:flex;flex-direction:column;gap:20px;padding-top:clamp(32px,5vw,72px);padding-bottom:clamp(48px,6vw,88px);max-width:calc(var(--wrap))}
.page-head .crumb{font:500 14px/1.4 var(--sans);color:var(--on-ink-muted)}
.page-head .crumb a{color:var(--on-ink-muted)}
.page-head .crumb a:hover{color:var(--on-ink)}
.page-head h1{max-width:900px;font-size:clamp(34px,4.4vw,58px);font-weight:500;line-height:1.06;letter-spacing:-.028em;color:var(--on-ink)}
.page-head .lede{color:var(--on-ink-muted);max-width:640px}
.page-head .lede a{color:var(--on-ink);text-decoration-color:var(--on-ink-muted)}
.page-head .meta{display:flex;flex-wrap:wrap;gap:6px 18px;font:400 14px/1.5 var(--sans);color:var(--on-ink-muted)}
.page-head .meta strong{font-weight:500;color:var(--on-ink)}
.page-head .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.horizon-line{border-top:1px solid var(--gold)}

/* Home hero */
.hero{display:flex;flex-direction:column;gap:28px;padding-top:clamp(48px,8vw,112px);max-width:980px}
.hero h1{font-size:clamp(38px,5.4vw,76px);font-weight:500;line-height:1.05;letter-spacing:-.03em;color:var(--on-ink)}
.hero p{max-width:640px;font:400 clamp(17px,1.5vw,20px)/1.55 var(--serif);color:var(--on-ink-muted)}
.horizon-label{margin-top:clamp(56px,7vw,104px);padding-bottom:16px}
.horizon-band .wrap{padding-bottom:clamp(48px,5vw,72px)}

/* Ticks hang from a horizon line: inquiries, domains, steps */
.tick-item{display:flex;flex-direction:column;gap:8px;color:var(--on-ink)}
.tick-item:hover{text-decoration:none}
.tick-item:hover strong{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.tick{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;font:500 12px/1.4 var(--sans);letter-spacing:.02em;color:var(--gold)}
.tick::before{content:"";display:block;flex:none;width:1px;height:18px;background:currentColor}
.tick span{padding-top:2px}
.tick--later{color:var(--on-ink-muted)}
.tick-item strong{font-size:16px;font-weight:600;letter-spacing:-.005em}
.tick-item .q{font-size:14px;line-height:1.5;color:var(--on-ink-muted)}
.tick-item .domains{margin-top:6px;font-size:12px;line-height:1.5;letter-spacing:.01em;color:var(--on-ink-muted)}
/* The same pattern on white */
.on-paper .tick-item{color:var(--text)}
.on-paper .tick{color:var(--gold-text)}
.on-paper .tick::before{background:var(--gold)}
.on-paper .tick--later{color:var(--muted)}
.on-paper .tick--later::before{background:var(--rule-strong)}
.on-paper .tick-item .q,.on-paper .tick-item .domains{color:var(--muted)}
.rule-top{border-top:1px solid var(--gold)}

/* ---------- Sections ----------------------------------------------------- */
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:40px}
.section-head p{max-width:var(--measure)}
.section-intro{display:flex;flex-direction:column;gap:14px;margin-bottom:40px;max-width:var(--measure)}
.section-intro .lede{font-size:18px}

/* Items: equal columns with a strong top rule */
.item{display:flex;flex-direction:column;gap:12px;padding-top:20px;border-top:1px solid var(--text);min-width:0}
.item h3{font-size:22px;font-weight:600;line-height:1.22;letter-spacing:-.015em}
.item .dek{font:400 16px/1.6 var(--serif)}
.item .byline{margin-top:auto;padding-top:6px;font-size:14px;color:var(--muted)}
.item--quiet{border-top-color:var(--rule)}

/* Rows: a ruled list of linked records */
.rows{display:flex;flex-direction:column;border-bottom:1px solid var(--rule)}
.row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:32px;row-gap:4px;padding-block:20px;border-top:1px solid var(--rule)}
a.row:hover{text-decoration:none}
a.row:hover .row-title{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.row-main{display:flex;flex-direction:column;gap:6px;min-width:0}
.row-title{font:600 17px/1.35 var(--sans);letter-spacing:-.005em}
.row-sub{font-size:14px;line-height:1.5;color:var(--muted)}
.row-dek{font:400 15.5px/1.55 var(--serif);color:var(--text)}
.row-aside{font-size:14px;line-height:1.5;color:var(--muted);white-space:nowrap;text-align:right}
@media (max-width:600px){
  .row{grid-template-columns:minmax(0,1fr)}
  .row-aside{text-align:left;white-space:normal;order:-1}
}

/* Definition list: label left, value right */
.facts{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);border-top:1px solid var(--rule)}
.facts dt,.facts dd{margin:0;padding-block:16px;border-bottom:1px solid var(--rule)}
.facts dt{font:500 14px/1.5 var(--sans);color:var(--muted);padding-right:24px}
.facts dd{font:400 16px/1.6 var(--sans)}
.facts dd a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:3px}
@media (max-width:600px){
  .facts{grid-template-columns:minmax(0,1fr)}
  .facts dt{padding-bottom:0;border-bottom:0}
  .facts dd{padding-top:4px}
}

/* Panels: the one boxed element, used sparingly */
.panel{background:var(--mist);padding:clamp(24px,3vw,40px)}
.panel>*+*{margin-top:12px}

/* Status text */
.status{display:inline-flex;align-items:center;gap:8px;font:500 13px/1.4 var(--sans);color:var(--muted)}
.status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--rule-strong)}
.status--live{color:var(--gold-text)}
.status--live::before{background:var(--gold)}
.status--done{color:var(--navy)}
.status--done::before{background:var(--navy)}

/* Tags line */
.tags{display:flex;flex-wrap:wrap;gap:4px 14px;font:500 13px/1.5 var(--sans);color:var(--muted)}
.tags a{color:var(--navy)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:1px solid var(--ink);border-radius:2px;background:var(--ink);color:var(--paper);font:600 15px/1 var(--sans);cursor:pointer}
.btn:hover{text-decoration:none;background:var(--navy);border-color:var(--navy)}
.btn--line{background:transparent;color:var(--ink)}
.btn--line:hover{background:var(--ink);color:var(--paper)}
.site-header .btn{background:var(--on-ink);border-color:var(--on-ink);color:var(--ink)}
.site-header .btn:hover{background:var(--paper)}
.site-header .btn--line{background:transparent;border-color:var(--on-ink-muted);color:var(--on-ink)}
.site-header .btn--line:hover{border-color:var(--on-ink);background:transparent}
.site-header .btn-light{background:var(--on-ink);border-color:var(--on-ink);color:var(--ink)}
.site-header .btn-light:hover{background:#fff;border-color:#fff;color:var(--ink)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}

/* Media */
.photo{width:100%;aspect-ratio:3/2;object-fit:cover;background:var(--mist)}
.photo--wide{aspect-ratio:16/9}
.caption{margin-top:10px;font:400 13px/1.5 var(--sans);color:var(--muted)}

/* Feature: image beside text */
.feature{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;row-gap:32px;align-items:start}
.feature-text{display:flex;flex-direction:column;gap:18px}
.feature-text h3{font-size:clamp(28px,3vw,40px);font-weight:500;line-height:1.1;letter-spacing:-.025em}
.feature-text .summary{font:400 18px/1.6 var(--serif);max-width:520px}
@media (max-width:900px){.feature{grid-template-columns:minmax(0,1fr)}}

/* People */
.people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;row-gap:0;border-top:1px solid var(--rule)}
.person{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:20px;align-items:start;padding-block:24px;border-bottom:1px solid var(--rule)}
.person--noimg{grid-template-columns:minmax(0,1fr)}
.person img{width:72px;height:72px;object-fit:cover;object-position:50% 20%;border-radius:2px;background:var(--mist)}
.person-name{font:600 17px/1.3 var(--sans)}
.person-role{margin-top:2px;font-size:14px;line-height:1.5;color:var(--muted)}
.person-bio{margin-top:10px;font:400 15px/1.6 var(--serif)}
.person-bio a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:3px}
@media (max-width:760px){.people{grid-template-columns:minmax(0,1fr)}}

/* Numbers that matter (use only where the figure is the point) */
.figures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:32px;row-gap:32px}
.figure-item{display:flex;flex-direction:column;gap:6px;padding-top:16px;border-top:1px solid var(--text)}
.figure-item b{font:500 30px/1.1 var(--sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.figure-item span{font-size:15px;line-height:1.5;color:var(--muted)}
@media (max-width:760px){.figures{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Tables */
.table-scroll{overflow-x:auto;max-width:100%}
table.table{width:100%;border-collapse:collapse;font:400 15px/1.55 var(--sans)}
.table th{text-align:left;font:500 13px/1.4 var(--sans);color:var(--muted);padding:0 20px 12px 0;border-bottom:1px solid var(--text);vertical-align:bottom}
.table td{padding:14px 20px 14px 0;border-bottom:1px solid var(--rule);vertical-align:top}

/* Forms */
.form{display:flex;flex-direction:column;gap:20px;max-width:640px}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font:500 14px/1.4 var(--sans)}
.field .hint{font-size:13px;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;min-height:52px;padding:12px 16px;border:1px solid var(--rule-strong);border-radius:2px;background:var(--paper);color:var(--text);font:400 16px/1.5 var(--sans)}
.field textarea{min-height:160px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy)}

/* Details used as quiet disclosure */
details.disclose{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
details.disclose>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding-block:16px;font:500 15px/1.4 var(--sans)}
details.disclose>summary::-webkit-details-marker{display:none}
details.disclose>summary::after{content:"+";font-weight:400;color:var(--muted)}
details.disclose[open]>summary::after{content:"−"}
details.disclose>.disclose-body{padding-bottom:20px}

/* ---------- Newsletter band --------------------------------------------- */
.newsletter{background:var(--mist)}
.newsletter .wrap{padding-block:clamp(56px,6vw,80px)}
.newsletter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;row-gap:28px;align-items:center}
.newsletter-intro{display:flex;flex-direction:column;gap:12px}
.newsletter-intro p{max-width:460px;font:400 17px/1.55 var(--serif);color:var(--muted)}
.newsletter-form{min-height:60px;min-width:0}
.newsletter-form iframe{max-width:100%}
@media (max-width:900px){.newsletter-grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- Footer ------------------------------------------------------- */
.site-footer{background:var(--ink);color:var(--on-ink-muted)}
.site-footer .wrap{padding-top:clamp(56px,6vw,80px);padding-bottom:40px;display:flex;flex-direction:column;gap:56px}
.footer-col{display:flex;flex-direction:column;gap:12px;font-size:15px;line-height:1.45}
.footer-col p{margin-bottom:6px;font-size:14px;font-weight:600;color:var(--on-ink)}
.footer-col a:hover{color:var(--on-ink)}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:20px 40px;padding-top:28px;border-top:1px solid var(--on-ink-rule);font-size:13px;line-height:1.6}
.legal p{max-width:720px}
.social{display:flex;gap:24px;color:var(--on-ink)}
/* Larger hit areas for small links on phones, without changing the layout */
@media (max-width:700px){
  .footer-col{gap:0}
  .footer-col p{margin-bottom:4px}
  .footer-col a{display:block;padding-block:10px}
  .page-head .crumb a,.tags a{display:inline-block;padding-block:10px;margin-block:-10px}
}

/* =============================================================================
   Articles: Searchlight, Research Briefs and other notes
   The body keeps its own markup; these rules set it in the house style.
   ============================================================================= */
.article-head .crumb a{color:var(--on-ink)}
.article-head h1{font-size:clamp(32px,4vw,54px);max-width:960px}
.article-head .deck{max-width:720px;font:400 clamp(18px,1.6vw,21px)/1.55 var(--serif);color:var(--on-ink-muted)}
.article-head .tags{color:var(--on-ink-muted)}
.article-head .tags a{color:var(--on-ink)}

.article{padding-top:clamp(48px,6vw,80px);padding-bottom:clamp(56px,7vw,96px)}
.prose{max-width:var(--measure);margin:0 auto;font:400 18px/1.7 var(--serif);color:var(--text);overflow-wrap:break-word}
.prose .cite-block,.prose .cite-block p{overflow-wrap:anywhere}
.prose>*,.prose .article-wrap>*{margin-top:0;margin-bottom:0}
.prose .article-wrap{max-width:none;padding:0;margin:0}
.prose p,.prose ul,.prose ol,.prose blockquote,.prose figure,.prose table,.prose details,.prose .article-table-scroll{margin-bottom:1.15em}
.prose h2{margin:2.4em 0 .7em;padding-top:.9em;border-top:1px solid var(--rule);font:600 clamp(23px,2vw,27px)/1.25 var(--sans);letter-spacing:-.018em;color:var(--text)}
.prose>h2:first-child,.prose .article-wrap>h2:first-child{margin-top:0}
.prose h3{margin:1.9em 0 .55em;font:600 20px/1.3 var(--sans);letter-spacing:-.01em}
.prose h4{margin:1.5em 0 .4em;font:600 17px/1.35 var(--sans)}
.prose a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:3px;overflow-wrap:anywhere}
.prose a:hover{text-decoration-color:var(--navy)}
.prose strong,.prose b{font-weight:600}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin-bottom:.45em}
.prose li::marker{color:var(--muted)}
.prose blockquote{margin-left:0;margin-right:0;padding-left:24px;border-left:1px solid var(--gold);font-style:normal}
.prose hr{border:0;border-top:1px solid var(--rule);margin:2.4em 0}
.prose img{margin-inline:auto}
.prose figure{margin-left:0;margin-right:0}
.prose figcaption{margin-top:10px;font:400 14px/1.55 var(--sans);color:var(--muted)}
.prose table{width:100%;border-collapse:collapse;font:400 15px/1.55 var(--sans)}
.prose th{text-align:left;font:500 13px/1.4 var(--sans);color:var(--muted);padding:0 16px 10px 0;border-bottom:1px solid var(--text);vertical-align:bottom}
.prose td{padding:12px 16px 12px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.prose caption{caption-side:top;text-align:left;padding-bottom:10px;font:500 14px/1.5 var(--sans);color:var(--muted)}
.prose .article-table-scroll{overflow-x:auto}
.prose .article-table-scroll table{min-width:560px;margin-bottom:0}
.prose small{font-size:14px}
.prose code{font-size:.9em}

/* Section headings inside older issues */
.prose .section-heading-text{font:inherit}
/* First paragraph after the masthead reads as a lede */
.prose .lede{font-size:20px;line-height:1.6;max-width:none}

/* Signals, steps, lens */
.prose .signal-item,.prose .playbook-step,.prose .lens-item{margin:0 0 1.6em}
.prose .signal-item-num,.prose .playbook-step-num,.prose .test-num{display:block;margin-bottom:4px;font:500 13px/1.4 var(--sans);letter-spacing:.01em;color:var(--muted);font-variant-numeric:tabular-nums}
.prose .signal-item-title,.prose .playbook-step-title{display:block;font:600 19px/1.35 var(--sans);letter-spacing:-.01em;margin-bottom:.5em}
.prose .signal-second-order{margin-top:.8em;padding-left:20px;border-left:1px solid var(--gold)}
.prose .lens-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin-bottom:1.2em}
.prose .lens-pillar{display:block;margin-bottom:4px;font:600 15px/1.4 var(--sans)}
.prose h3 .signal-item-num,.prose h3 .playbook-step-num{display:block}

/* Metric */
.prose .metric-callout,.prose .metric-figure{margin:1.4em 0 1.6em}
.prose .metric-value,.prose .metric-number,.prose .sl-metric-value{margin:.2em 0 .5em;font:500 clamp(40px,6vw,60px)/1.05 var(--sans);letter-spacing:-.03em;color:var(--text);font-variant-numeric:tabular-nums}
.prose .metric-figure img{border:1px solid var(--rule)}
.prose details.metric-data{margin:0 0 1.6em;font:400 15px/1.6 var(--sans)}
.prose details>summary{cursor:pointer;font:500 15px/1.5 var(--sans);color:var(--navy)}
.prose details[open]>summary{margin-bottom:12px}

/* Notes, callouts, verification test */
.prose .hsi-note,.prose .test-block,.prose .method-note,.prose .framework-note,.prose .continuity-note,.prose .hsi-callout,.prose .accent-callout{margin:1.6em 0;padding:24px 28px;background:var(--mist);border:0;font-size:16.5px;line-height:1.65}
.prose .hsi-note>*:last-child,.prose .test-block>*:last-child,.prose .method-note>*:last-child{margin-bottom:0}
.prose .hsi-note h2,.prose .cite-block h2{margin:0 0 .5em;padding:0;border:0;font-size:18px}
.prose .hsi-note-label,.prose .method-note-label,.prose .sources-label,.prose .refs-label{display:block;margin-bottom:8px;font:500 13px/1.4 var(--sans);color:var(--muted)}
.prose .pull-quote,.prose .hsi-pullquote{margin:1.8em 0;padding:0 0 0 24px;border-left:1px solid var(--gold);font:400 22px/1.45 var(--serif)}
.prose .epigraph{margin:0 0 1.6em;font-style:italic}
.prose .epigraph-attr{display:block;margin-top:6px;font:400 14px/1.5 var(--sans);color:var(--muted);font-style:normal}

/* Sources, links, references, credits */
.prose .source-list,.prose .refs-list,.prose .links-list{font:400 15px/1.6 var(--sans);padding-left:1.4em}
.prose .source-list li,.prose .refs-list li{margin-bottom:10px;overflow-wrap:anywhere}
.prose .sources,.prose .refs{margin-top:2.4em;padding-top:1em;border-top:1px solid var(--rule);font:400 15px/1.6 var(--sans)}
.prose .issue-credits,.prose .hsi-credits{margin-top:2.4em;padding-top:1em;border-top:1px solid var(--rule);font:400 15px/1.6 var(--sans)}
.prose .issue-credits-row{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:4px 20px;padding-block:6px}
.prose .issue-credits-label{color:var(--muted)}
.prose .issue-credits .name{font-weight:600}
.prose .issue-credits .role{color:var(--muted)}
.prose .publisher-line{margin-top:12px;color:var(--muted);font-size:14px}
.prose .cite-block{margin-top:2.4em;padding:24px 28px;background:var(--mist);font:400 15px/1.6 var(--sans)}
.prose .expert-figure{margin:1.6em 0;padding:20px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.prose .expert-name{display:block;font:600 16px/1.4 var(--sans)}
.prose .expert-title{display:block;font:400 14px/1.5 var(--sans);color:var(--muted)}
@media (max-width:600px){.prose .issue-credits-row{grid-template-columns:minmax(0,1fr)}}

/* Expandable conditions (Research Brief 002) */
.prose .conditions{margin:1.4em 0}
.prose .condition{border-top:1px solid var(--rule)}
.prose .condition:last-child{border-bottom:1px solid var(--rule)}
.prose .condition-head{display:flex;gap:16px;align-items:baseline;padding:16px 0}
.prose .condition-num{font:500 13px/1.4 var(--sans);color:var(--muted)}
.prose .condition-name{font:600 18px/1.35 var(--sans)}
.prose .condition-teaser{font-size:16px;color:var(--muted)}
.prose .condition-toggle{background:none;border:0;padding:0;color:var(--navy);font:500 14px var(--sans);cursor:pointer}
.prose .conditions-hint{font:400 14px/1.5 var(--sans);color:var(--muted)}

/* Figures from assets/hsi-charts.css keep their own layout; set the frame */
.prose .hsi-fig{font-family:var(--sans)}
.prose figure.hsi-fig h3,.prose figure.hsi-fig p{margin-top:0}

/* Previous and next */
.issue-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;row-gap:24px;padding-block:40px;border-top:1px solid var(--rule)}
.issue-nav a{display:flex;flex-direction:column;gap:6px}
.issue-nav a:hover{text-decoration:none}
.issue-nav a:hover .row-title{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.issue-nav .next{text-align:right;grid-column:2}
@media (max-width:600px){.issue-nav{grid-template-columns:minmax(0,1fr)}.issue-nav .next{text-align:left;grid-column:1}}

/* =============================================================================
   Long-form reader: Horizon Scans
   ============================================================================= */
.scan-head{display:grid;grid-template-columns:minmax(0,1fr) 260px;column-gap:64px;row-gap:40px;align-items:end;width:100%}
.scan-head>a{display:block;width:100%}
.scan-cover{width:100%;height:auto;box-shadow:0 24px 48px rgba(0,0,0,.35)}
@media (max-width:900px){.scan-head{grid-template-columns:minmax(0,1fr)}.scan-head>a{width:180px}}

.reader-layout{display:grid;grid-template-columns:240px minmax(0,1fr);column-gap:64px;align-items:start;max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter);padding-block:clamp(48px,6vw,80px)}
.reader-sidebar{position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto;padding-right:8px;font:400 14px/1.45 var(--sans)}
.reader-sidebar ol{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}
.reader-sidebar li{margin:0}
.reader-sidebar a{display:block;padding:6px 0 6px 12px;border-left:1px solid var(--rule);color:var(--muted)}
.reader-sidebar a:hover,.reader-sidebar a[aria-current="true"]{color:var(--text);border-left-color:var(--gold);text-decoration:none}
.reader-sidebar .reader-eyebrow{margin-bottom:12px;font:600 14px/1.4 var(--sans);color:var(--text)}
.reader-sidebar .reader-top{display:inline-block;margin-top:20px;border:0;padding-left:0;color:var(--navy)}
.reader-mobile-nav{display:none}
.reader-article{max-width:var(--measure);font:400 18px/1.7 var(--serif)}
.reader-article p{margin:0 0 1.15em}
.reader-section{padding-top:8px;margin-bottom:56px}
.reader-section+.reader-section{border-top:1px solid var(--rule);padding-top:48px}
.reader-section-head{margin-bottom:28px}
.reader-section-head h2{font:600 clamp(26px,2.6vw,34px)/1.18 var(--sans);letter-spacing:-.022em}
.reader-section-head h2 a,.reader-subheading a.reader-anchor,.reader-section-head .reader-anchor{color:var(--rule-strong);font-weight:400;text-decoration:none}
.reader-eyebrow{display:block;margin-bottom:10px;font:500 13px/1.4 var(--sans);color:var(--muted)}
.reader-section-deck{margin-top:12px;font:400 19px/1.55 var(--serif);color:var(--muted)}
.reader-lead{font-size:20px;line-height:1.6}
.reader-subheading{margin:1.8em 0 .6em;font:600 21px/1.3 var(--sans);letter-spacing:-.012em}
.reader-pullquote{margin:1.8em 0;padding-left:24px;border-left:1px solid var(--gold);font:400 22px/1.45 var(--serif)}
.reader-pullquote p{margin:0}
.reader-stat{margin:1.6em 0;padding-top:16px;border-top:1px solid var(--text)}
.reader-stat-value{font:500 clamp(36px,5vw,52px)/1.05 var(--sans)!important;letter-spacing:-.03em;margin-bottom:8px!important}
.reader-stat p{font:400 15px/1.55 var(--sans)}
.reader-figure{margin:2.2em 0;padding-top:16px;border-top:2px solid var(--text)}
.reader-figure figcaption{font:400 14px/1.5 var(--sans);color:var(--muted)}
.reader-figure figcaption h3{margin:4px 0 6px;font:600 19px/1.3 var(--sans);color:var(--text)}
.reader-figure-subtitle{font:400 14px/1.5 var(--sans)!important;color:var(--muted);margin-bottom:12px!important}
.reader-figure img{width:100%;margin-block:12px;border:1px solid var(--rule)}
.reader-figure-open{display:inline-block;margin:4px 0 8px;font:500 14px/1.4 var(--sans);color:var(--navy)}
.reader-figure-caption,.reader-figure-notes{font:400 14px/1.55 var(--sans);color:var(--muted)}
.reader-data{margin-top:12px;font:400 14px/1.55 var(--sans)}
.reader-data summary{cursor:pointer;font-weight:500;color:var(--navy)}
.reader-table-scroll{overflow-x:auto;margin-top:12px}
.reader-table-scroll table{width:100%;min-width:520px;border-collapse:collapse;font:400 14px/1.5 var(--sans)}
.reader-table-scroll th{text-align:left;font-weight:500;color:var(--muted);padding:0 12px 8px 0;border-bottom:1px solid var(--text)}
.reader-table-scroll td{padding:10px 12px 10px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.reader-data-list{padding-left:1.2em;font:400 14px/1.55 var(--sans)}
.reader-article ul,.reader-article ol{padding-left:1.3em;margin:0 0 1.15em}
.reader-article li{margin-bottom:.45em}
.reader-article a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:3px;overflow-wrap:anywhere}
@media (max-width:1000px){
  .reader-layout{grid-template-columns:minmax(0,1fr)}
  .reader-sidebar{display:none}
  .reader-mobile-nav{display:block;max-width:var(--wrap);margin:0 auto;padding:16px var(--gutter) 0}
  .reader-mobile-nav details{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
  .reader-mobile-nav summary{cursor:pointer;padding:14px 0;font:500 15px/1.4 var(--sans)}
  .reader-mobile-nav ol{list-style:none;padding:0 0 16px;margin:0;display:flex;flex-direction:column;gap:8px;font:400 15px/1.45 var(--sans)}
  .reader-mobile-nav a{color:var(--navy)}
}

/* =============================================================================
   Interactive tools keep their logic; these rules set their surfaces.
   ============================================================================= */
.tool{padding-block:clamp(48px,6vw,80px)}

/* Horizon Scan 001 uses an earlier reader markup; same treatment */
.scan-body{display:grid;grid-template-columns:240px minmax(0,1fr);column-gap:64px;align-items:start;max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter);padding-block:clamp(48px,6vw,80px)}
.scan-body .toc{position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto;font:400 14px/1.45 var(--sans)}
.toc-label{margin-bottom:12px;font:600 14px/1.4 var(--sans)}
.toc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}
.toc-list a{display:flex;gap:10px;padding:6px 0 6px 12px;border-left:1px solid var(--rule);color:var(--muted)}
.toc-list a:hover,.toc-list a[aria-current="true"]{color:var(--text);border-left-color:var(--gold);text-decoration:none}
.toc-list .toc-sub a{padding-left:28px}
.toc-num{min-width:20px;color:var(--muted)}
.scan-body .reading{max-width:var(--measure);font:400 18px/1.7 var(--serif)}
.scan-body .reading p{margin:0 0 1.15em}
.scan-body .reading a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:3px;overflow-wrap:anywhere}
.mobile-toc{display:none}
.chapter{margin-bottom:56px}
.chapter+.chapter,.scan-body .biblio{border-top:1px solid var(--rule);padding-top:48px}
.chapter-num{display:block;margin-bottom:10px;font:500 13px/1.4 var(--sans);color:var(--muted)}
.chapter-title{margin-bottom:16px;font:600 clamp(26px,2.6vw,34px)/1.18 var(--sans);letter-spacing:-.022em}
.chapter-intro{font-size:20px!important;line-height:1.6!important;color:var(--muted)}
.section-h{margin:2em 0 .7em;font:600 24px/1.25 var(--sans);letter-spacing:-.018em}
.strategy-block{margin:0 0 1.6em}
.strategy-h{margin:1.6em 0 .5em;font:600 20px/1.3 var(--sans);letter-spacing:-.01em}
.strategy-num{display:block;margin-bottom:4px;font:500 13px/1.4 var(--sans);color:var(--muted)}
.stats-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:1.6em 0 2em}
.stat{padding-top:14px;border-top:1px solid var(--text)}
.stat-fig{font:500 36px/1.05 var(--sans);letter-spacing:-.025em}
.stat-fig .unit{font-size:18px;letter-spacing:0;margin-left:2px}
.stat-cap{margin-top:8px;font:400 14px/1.5 var(--sans);color:var(--muted)}
.stat-cap strong{color:var(--text);font-weight:600}
.pullquote{margin:1.8em 0;padding-left:24px;border-left:1px solid var(--gold);font:400 22px/1.45 var(--serif)}
.strategy-frame,.scan-body .callout,.scan-body p.hsi-note,.scan-body section.hsi-note,.scan-body div.hsi-note{margin:1.6em 0;padding:24px 28px;background:var(--mist);font-size:16.5px;line-height:1.65}
.callout-label,.scan-body .hsi-note-label{display:block;margin-bottom:8px;font:500 13px/1.4 var(--sans);color:var(--muted)}
.scan-body .term{font-weight:600}
.biblio-intro{color:var(--muted)}
.biblio-section h3{display:flex;justify-content:space-between;gap:16px;margin:1.6em 0 .8em;font:600 18px/1.3 var(--sans)}
.biblio-count{font:400 14px/1.4 var(--sans);color:var(--muted)}
.biblio-list{display:flex;flex-direction:column;gap:12px;font:400 15px/1.6 var(--sans)}
.biblio-entry .author{font-weight:600}
.biblio-entry .pubdate{color:var(--muted)}
.cite-block-bottom{background:var(--mist)!important;border:0!important;font-family:var(--sans)}
.cite-block-bottom>div{font:500 13px/1.4 var(--sans)!important;letter-spacing:0!important;text-transform:none!important;color:var(--muted)!important}
.cite-block-bottom p{font:400 15px/1.6 var(--sans)!important}
@media (max-width:1000px){
  .scan-body{grid-template-columns:minmax(0,1fr)}
  .scan-body .toc{display:none}
  .mobile-toc{display:block;margin-bottom:32px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
  .mobile-toc summary{cursor:pointer;padding:14px 0;font:500 15px/1.4 var(--sans)}
  .stats-row{grid-template-columns:minmax(0,1fr)}
}
.reader-sidebar a{display:flex;gap:10px}
.reader-permalink,.reader-anchor{margin-left:.25em;color:var(--rule-strong)!important;text-decoration:none!important;opacity:0;transition:opacity .15s}
h2:hover>.reader-permalink,h3:hover>.reader-permalink,.reader-permalink:focus{opacity:1}
.site-header .small a,.site-header .note a{color:var(--on-ink);text-decoration-color:var(--on-ink-muted)}
.prose details.condition>summary{list-style:none;display:grid;grid-template-columns:40px minmax(0,1fr) auto;column-gap:16px;align-items:baseline;padding:18px 0;cursor:pointer}
.prose details.condition>summary::-webkit-details-marker{display:none}
.prose .condition-head{display:flex;flex-direction:column;gap:4px;padding:0}
.prose .condition-toggle{white-space:nowrap}
.prose .lbl-less{display:none}
.prose details[open] .lbl-more{display:none}
.prose details[open] .lbl-less{display:inline}
.prose .chev{display:inline-block;margin-left:6px;transition:transform .15s}
.prose details[open] .chev{transform:rotate(180deg)}
.prose .condition-body{padding:0 0 12px 56px}
@media (max-width:600px){.prose details.condition>summary{grid-template-columns:32px minmax(0,1fr)}.prose .condition-toggle{grid-column:2}.prose .condition-body{padding-left:0}}
/* ---------- convenings: Convenings, salon records, Partnerships, Patrons, Fellowship */

/* Shared: button rows */
.conv-page .conv-actions,.partners-page .conv-actions,.patrons-page .conv-actions,.fellowship-page .conv-actions{display:flex;flex-wrap:wrap;gap:12px}

/* Convenings: one entry per salon, name left, record right */
.conv-page .salon{padding-block:48px;border-top:1px solid var(--rule)}
.conv-page .salon-id{display:flex;flex-direction:column;gap:14px}
.conv-page .salon-city{font-size:clamp(28px,3vw,40px);font-weight:500;line-height:1.1;letter-spacing:-.025em}
.conv-page .salon-when{font:400 15px/1.55 var(--sans);color:var(--muted)}
.conv-page .salon-body{display:flex;flex-direction:column;gap:24px;min-width:0}
.conv-page .salon-body .photo{margin-bottom:4px}
.conv-page .salon-summary{font:400 clamp(18px,1.5vw,20px)/1.55 var(--serif);max-width:var(--measure)}
.conv-page .salon-body .facts{max-width:none}
.conv-page .salon-body .facts dt{padding-right:16px}
.conv-page .salon-body>p:last-child{margin-top:-4px}
.conv-page .section-intro{margin-bottom:48px}
.conv-page .item .dek{color:var(--text)}
@media (min-width:901px){.conv-page .salon-id{position:sticky;top:32px}}
@media (max-width:600px){.conv-page .salon{padding-block:36px}}

/* Salon records: long-form article with photographs given room */
.salon-page .article-head .deck{max-width:720px}
.salon-page .prose .salon-fig{width:min(1072px,calc(100vw - 2 * var(--gutter)));margin:2.6em 0 2.6em calc(50% - min(536px,50vw - var(--gutter)))}
.salon-page .prose>.salon-fig:first-child{margin-top:0}
.salon-page .prose .salon-fig img,.salon-page .prose .salon-fig video{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:var(--mist)}
.salon-page .prose .salon-video video{aspect-ratio:16/9}
.salon-page .prose .salon-fig figcaption{max-width:var(--measure);margin-top:14px}
.salon-page .prose .fig-credit{display:block;margin-top:8px}
.salon-page .prose .salon-inline{margin:2.2em 0}
.salon-page .prose .salon-inline img{width:100%;aspect-ratio:3/2;object-fit:cover;background:var(--mist)}
.salon-page .prose .hsi-note{font:400 15.5px/1.65 var(--sans);color:var(--text)}
.salon-page .prose blockquote.recap-quote{margin:2em 0;padding-left:28px;border-left:1px solid var(--gold);font:400 clamp(20px,1.8vw,22px)/1.5 var(--serif)}
.salon-page .prose blockquote.recap-quote p{margin:0}
.salon-page .prose blockquote.recap-quote cite{display:block;margin-top:14px;font:400 14px/1.5 var(--sans);font-style:normal;color:var(--muted)}
.salon-page .prose ol{padding-left:1.4em}
.salon-page .prose ol li{padding-left:.3em;margin-bottom:.8em}
.salon-page .prose ul li{margin-bottom:.8em}
.salon-page .roster{padding-top:0}
.salon-page .roster>.wrap>.split{padding-top:clamp(56px,6vw,80px);border-top:1px solid var(--rule)}
.salon-page .roster-groups{gap:48px}
.salon-page .roster-group h3{margin-bottom:16px}
.salon-page .roster .person{padding-block:18px}
.salon-page .article+.section{padding-top:0}
.salon-page .nyc-gallery figure{margin:0}
.salon-page .nyc-gallery .caption{margin-top:12px;max-width:520px}

/* Partnerships */
.partners-page .section-intro,.patrons-page .section-intro{margin-bottom:48px}
.partners-page .partner-item .label a{color:var(--navy)}
.partners-page .partner-item .dek a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:3px}
.partners-page .forms-grid{row-gap:56px}
.partners-page .forms-grid .byline{margin-top:auto}
.partners-page .steps{padding-top:0}
.partners-page .step .step-text{font:400 15px/1.6 var(--sans);color:var(--text)}
.partners-page .step .step-text a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:3px}
.partners-page .step strong{font-size:17px}
.partners-page .panel h3{margin-bottom:4px}
.partners-page .panel.body-text{max-width:none;font-size:16px}

/* Patrons */
.patrons-page .sustain-grid .item h3{font-size:20px}
.patrons-page .sustain-grid .item h3 a:hover{text-decoration-thickness:1px}
.patrons-page .sustain-grid{row-gap:56px}
.patrons-page .benefits .facts{grid-template-columns:minmax(0,240px) minmax(0,1fr)}
.patrons-page .benefits .facts dt{color:var(--text);font-weight:600;font-size:15px}
.patrons-page .disc-blocks{gap:44px}
.patrons-page .disc h3{margin-bottom:14px}
.patrons-page .disc+.disc{padding-top:40px;border-top:1px solid var(--rule)}
@media (max-width:600px){.patrons-page .benefits .facts{grid-template-columns:minmax(0,1fr)}}

/* Fellowship */
.fellowship-page .fellow-portrait{width:240px;max-width:100%;aspect-ratio:2/3;object-fit:cover;background:var(--mist)}
.fellowship-page .fellow-affil{font:400 16px/1.6 var(--sans);color:var(--muted)}
.fellowship-page .fellow-affil strong{color:var(--text);font-weight:600}
.fellowship-page .fellow .facts{max-width:var(--measure)}
.fellowship-page .domain-list{padding-left:1.2em}
.fellowship-page .domain-list li+li{margin-top:.35em}
.fellowship-page .criteria .item h3{font-size:19px}
.fellowship-page .criteria{row-gap:40px}
@media (max-width:900px){.fellowship-page .fellow-portrait{width:180px}}
/* Patrons: founding-year record and Founding Fund */
.patrons-page .record-figures{margin-bottom:40px}
.patrons-page .fund{margin-bottom:72px;align-items:start}
.patrons-page .fund-figure{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:1px solid var(--text)}
.patrons-page .fund-figure b{font:500 56px/1 var(--sans);letter-spacing:-.025em;color:var(--navy);font-variant-numeric:proportional-nums}
.patrons-page .fund-figure span{font-size:15px;line-height:1.5;color:var(--muted);max-width:28ch}
.patrons-page .uses-label{margin:0 0 28px}
@media (max-width:760px){.patrons-page .fund-figure b{font-size:44px}.patrons-page .fund{margin-bottom:56px}}
/* ---------- Institute pages: About, People, Contact, Press, 404,
   Funding and transparency, Research standards (body.inst) ---------- */

/* Split heading column: heading with an optional quiet note under it */
body.inst .split-head{display:flex;flex-direction:column;gap:20px}
body.inst .side-note{max-width:320px}
body.inst .after-facts{margin-top:24px}
body.inst .after-text{margin-top:32px}
body.inst .facts .dd-lead{display:block;margin-bottom:8px;color:var(--muted);font-size:15px}
body.inst .facts .dd-sub{display:block;margin-top:4px;font-size:14px;color:var(--muted)}
body.inst .rows .row-aside{min-width:0}
body.inst .nw{white-space:nowrap}

/* About */
body.about-page .practice-figure{margin:40px 0 0}
body.about-page .practice-figure img{width:100%;height:auto;background:var(--mist)}
body.about-page .practice-figure+.rows{margin-top:32px}
body.about-page .facts dd a{display:inline-block;padding-block:2px}

/* People: each group is heading left, one column of people right */
body.people-page .people-head .meta{gap:8px 24px;margin-top:4px}
body.people-page .people-head .meta a{color:var(--on-ink);border-bottom:1px solid var(--on-ink-rule);padding-bottom:2px}
body.people-page .people-head .meta a:hover{text-decoration:none;border-bottom-color:var(--on-ink-muted)}
body.people-page .people-block{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);column-gap:48px;row-gap:20px;align-items:start;scroll-margin-top:24px}
body.people-page .people-block+.people-block{margin-top:80px}
body.people-page .people-block-head{display:flex;flex-direction:column;gap:12px;padding-top:24px;position:sticky;top:24px}
body.people-page .people-block-head .note{max-width:320px}
body.people-page .people{grid-template-columns:minmax(0,1fr)}
body.people-page .person{grid-template-columns:88px minmax(0,1fr);column-gap:28px;padding-block:28px}
body.people-page .person img{width:88px;height:88px}
body.people-page .person-name{margin:0}
body.people-page .person-bio{max-width:var(--measure)}
body.people-page .person-work{margin-top:12px;font:400 14px/1.6 var(--sans);color:var(--muted)}
body.people-page .person-work a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:3px}
body.people-page .person{scroll-margin-top:24px}
body.people-page .person:target .person-name{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px}
@media (max-width:900px){
  body.people-page .people-block{grid-template-columns:minmax(0,1fr)}
  body.people-page .people-block-head{position:static;padding-top:0}
  body.people-page .people-block+.people-block{margin-top:64px}
}
@media (max-width:480px){
  body.people-page .person{grid-template-columns:64px minmax(0,1fr);column-gap:18px}
  body.people-page .person img{width:64px;height:64px}
}

/* Contact */
body.contact-page .contact-details{margin:0;display:flex;flex-direction:column}
body.contact-page .split{row-gap:56px}
body.contact-page .form{max-width:none}
body.contact-page .contact-details>div{padding-block:20px;border-top:1px solid var(--rule)}
body.contact-page .contact-details>div:first-child{padding-top:0;border-top:0}
body.contact-page .contact-details dt{font:500 13px/1.45 var(--sans);color:var(--muted)}
body.contact-page .contact-details dd{margin:6px 0 0;font:500 16px/1.5 var(--sans)}
body.contact-page .contact-details dd.sub{margin-top:4px;font:400 14px/1.55 var(--sans);color:var(--muted)}
body.contact-page .contact-details a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:3px}
body.contact-page .field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
body.contact-page .field select{appearance:none;-webkit-appearance:none;padding-right:48px;background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23566072' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 18px center}
body.contact-page .field input::placeholder,body.contact-page .field textarea::placeholder{color:#8a93a3}
body.contact-page .form-submit{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:8px}
body.contact-page .form-error{padding:14px 18px;background:var(--mist);border-left:2px solid var(--gold);font:400 15px/1.55 var(--sans)}
body.contact-page .success-message{display:none;max-width:640px;padding-top:4px}
body.contact-page .success-message.visible{display:flex;flex-direction:column;gap:16px}
body.contact-page .success-message:focus{outline:none}
@media (max-width:600px){body.contact-page .field-row{grid-template-columns:minmax(0,1fr)}}

/* Press */
body.press-page .boilerplate p{font:400 17px/1.65 var(--serif);max-width:var(--measure)}

/* 404 */
body.notfound-page .item h3 a:hover{text-decoration-thickness:1px}

/* Research standards: ruled blocks, heading left */
body.standards-page .std-blocks{border-bottom:1px solid var(--rule)}
body.standards-page .std-block{padding-block:40px;border-top:1px solid var(--rule);scroll-margin-top:24px}
body.standards-page .std-block:first-child{padding-top:0;border-top:0}
body.standards-page .std-block h2{max-width:320px}
body.standards-page .vt{margin-top:32px;max-width:var(--measure)}
body.standards-page .vt>*+*{margin-top:0}
body.standards-page .vt-head{font:600 15px/1.4 var(--sans);padding-bottom:16px}
body.standards-page .vt-cell{display:flex;flex-direction:column;gap:6px;padding-block:18px;border-top:1px solid var(--rule-strong)}
body.standards-page .vt-text{font:400 16.5px/1.6 var(--serif)}
body.standards-page .vt-foot{padding-top:20px;border-top:1px solid var(--rule-strong)}
/* ---------- records: policies, privacy, terms, field notes ---------------- */

/* Byline block in the ink head: name and date, then affiliations */
.records-page .byline-block{display:flex;flex-direction:column;gap:8px}
.records-page .byline-block .roles{max-width:640px;font:400 14px/1.6 var(--sans);color:var(--on-ink-muted)}

/* Legal documents */
.records-doc .prose .doc-scope{margin-top:0}
.records-doc .prose .doc-toc{margin:2em 0 0}
.records-doc .prose .doc-toc>summary{color:var(--text)}
.records-doc .prose .doc-toc ol{list-style:none;padding:0;margin:0;columns:2;column-gap:40px;font:400 15px/1.5 var(--sans)}
.records-doc .prose .doc-toc li{margin:0;padding:5px 0;break-inside:avoid}
.records-doc .prose .doc-toc a{color:var(--navy);text-decoration:none}
.records-doc .prose .doc-toc a:hover{text-decoration:underline}
.records-doc .prose .doc-toc+h2{margin-top:2.2em;padding-top:0;border-top:0}
.records-doc .prose .doc-scope+h2{margin-top:2.2em;padding-top:0;border-top:0}
.records-doc .prose .doc-principle{margin:2.6em 0;padding-left:24px;border-left:1px solid var(--gold)}
.records-doc .prose .doc-principle h2{margin:0 0 10px;padding:0;border:0;font:600 15px/1.4 var(--sans);letter-spacing:0;color:var(--muted)}
.records-doc .prose .doc-principle p{margin:0;font:400 21px/1.55 var(--serif)}
.records-doc .prose .doc-principle+h2{margin-top:2.2em}
.records-doc .prose .doc-address{font:400 16px/1.7 var(--sans)}
.records-doc h2[id],.records-note h2[id]{scroll-margin-top:24px}
@media (max-width:600px){
  .records-doc .prose .doc-toc ol{columns:1}
  .records-doc .prose .doc-principle p{font-size:19px}
}

/* Field notes: the hero image sits at the top of the reading column */
.records-note .prose .note-hero{margin:0 0 2em}
.records-note .prose .note-hero img{width:100%}
.records-note .prose .refs .refs-label{margin-bottom:6px}
.records-note .prose .refs p{margin-bottom:0}

/* Field notes index */
.records-notes .note-list{border-bottom:1px solid var(--rule)}
.records-notes .note-entry{padding-block:48px;border-top:1px solid var(--rule)}
.records-notes .note-entry:first-child{padding-top:0;border-top:0}
.records-notes .note-entry-img{display:block}
.records-notes .note-entry-card{aspect-ratio:5/3;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;padding:clamp(20px,3vw,32px);background:var(--ink);color:var(--on-ink);border-top:2px solid var(--gold)}
.records-notes .note-entry-card .nec-org{font:600 13px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--on-ink-muted)}
.records-notes .note-entry-card .nec-event{font:500 clamp(20px,2.2vw,26px)/1.2 var(--sans);letter-spacing:-.01em;max-width:18ch}
.records-notes .note-entry-card .nec-where{font:400 14px/1.4 var(--sans);color:var(--on-ink-muted)}
.records-notes .note-entry-text{display:flex;flex-direction:column;gap:16px;max-width:var(--measure)}
.records-notes .note-entry-text h2 a:hover{text-decoration-thickness:1px}
.records-notes .note-event{display:flex;flex-direction:column;gap:2px;font:400 15px/1.5 var(--sans);color:var(--muted)}
.records-notes .note-event span:first-child{font-weight:500;color:var(--text)}
.records-notes .note-entry-text .dek{font:400 17px/1.65 var(--serif)}
.records-notes .note-entry-text .dek a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:3px}
.records-notes .note-entry-text .byline{font-size:14px;line-height:1.55;color:var(--muted)}
.records-note .prose .cite-block>*:last-child{margin-bottom:0}
/* =============================================================================
   Tools: the hub (/tools), the two Pulse diagnostics (/pulse/, /governance-pulse/)
   and the Governance Toolkit (/research/governance-toolkit/).
   Every rule is scoped to a body class: .tools-hub, .tool-pulse, .tool-kit.
   The class names inside the tools are the ones their scripts read and write.
   ============================================================================= */

/* ---------- Hub -------------------------------------------------------------- */
.tools-hub .page-head .meta span{letter-spacing:.01em}
.tools-hub .tools-intro{margin:-20px 0 48px}
.tools-hub .tool-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;row-gap:64px}
.tools-hub .tool-entry{display:grid;grid-row:span 7;grid-template-rows:subgrid;row-gap:0;min-width:0;padding-top:24px;border-top:1px solid var(--text)}
.tools-hub .tool-entry h2{margin-bottom:12px;font-size:clamp(24px,2.2vw,30px);font-weight:600;line-height:1.15;letter-spacing:-.02em}
.tools-hub .tool-q{margin-bottom:32px;max-width:30em;font:400 18px/1.55 var(--serif)}
.tools-hub .tool-fig{display:flex;flex-direction:column;gap:14px;margin-bottom:32px}
.tools-hub .fig-stages{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.tools-hub .fig-stages li{display:flex;flex-direction:column;justify-content:flex-start;gap:2px;min-height:56px;padding:8px 10px;border:1px solid var(--rule-strong);border-radius:2px;font:500 14px/1.25 var(--sans);hyphens:manual}
.tools-hub .fig-stages b{font-weight:500;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.tools-hub .fig-stages .is-past{background:var(--mist);border-color:var(--mist)}
.tools-hub .fig-stages .is-here{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.tools-hub .fig-stages .is-here b{color:var(--gold)}
.tools-hub .fig-note{display:flex;flex-direction:column;gap:4px;padding-top:2px;font:400 15px/1.55 var(--sans);color:var(--muted);max-width:34em}
.tools-hub .fig-note b{font-weight:600;color:var(--text)}
.tools-hub .fig-ledger{display:grid;gap:14px}
.tools-hub .fig-ledger div{display:grid;grid-template-columns:minmax(0,11.5rem) minmax(0,1fr) 2.25rem;align-items:center;column-gap:16px;font:400 15px/1.3 var(--sans)}
.tools-hub .fig-ledger span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tools-hub .fig-ledger i{position:relative;height:8px;background:var(--mist)}
.tools-hub .fig-ledger i::before{content:"";position:absolute;top:0;bottom:0;left:0;width:calc(var(--s) * 1%);background:var(--navy)}
.tools-hub .fig-ledger b{font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.tools-hub .tool-facts{display:contents}
.tools-hub .tool-facts>div{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:baseline;column-gap:20px;padding-block:14px;border-top:1px solid var(--rule)}
.tools-hub .tool-facts>div:nth-child(3){border-bottom:1px solid var(--rule);margin-bottom:32px}
.tools-hub .tool-facts dt{font:500 14px/1.5 var(--sans);color:var(--muted)}
.tools-hub .tool-facts dd{margin:0;font:400 15.5px/1.55 var(--sans)}
.tools-hub .tool-entry>.btn{align-self:end;justify-self:start}
.tools-hub .tool-notes .item h3{font-size:19px;letter-spacing:-.01em}
.tools-hub .tool-notes .item h3 a:hover{text-decoration:underline}
.tools-hub .tool-notes .dek a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:3px}
.tools-hub .tool-notes .dek{max-width:34em}
@media (max-width:900px){
  .tools-hub .tool-pair{grid-template-columns:minmax(0,1fr);row-gap:64px}
  .tools-hub .tool-entry{display:flex;flex-direction:column;grid-row:auto}
  .tools-hub .tool-facts{display:block}
  .tools-hub .tool-entry>.btn{align-self:flex-start}
}
@media (max-width:480px){
  .tools-hub .fig-stages li{padding:8px 6px;font-size:12.5px}
  .tools-hub .fig-ledger div{grid-template-columns:minmax(0,1fr) 2rem;column-gap:16px;row-gap:6px;font-size:14px}
  .tools-hub .fig-ledger span{grid-column:1/-1}
  .tools-hub .tool-facts>div{grid-template-columns:minmax(0,1fr);row-gap:4px}
}

/* ---------- Pulse diagnostics ----------------------------------------------- */
.tool-pulse .page-head{padding-bottom:clamp(40px,5vw,72px)}
.tool-pulse .pulse-frame{padding-bottom:clamp(72px,9vw,128px)}
.tool-pulse .shell{max-width:760px}
.tool-pulse .screen{display:none;animation:hsi-pulse-in .3s ease}
.tool-pulse .screen.active{display:block}
@keyframes hsi-pulse-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* Intro */
.tool-pulse .intro-sub{max-width:var(--measure);font:400 clamp(18px,1.6vw,20px)/1.6 var(--serif)}
.tool-pulse .intro-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px;margin:40px 0}
.tool-pulse .intro-meta-item{display:flex;flex-direction:column;gap:6px;padding-top:16px;border-top:1px solid var(--text)}
.tool-pulse .intro-meta-label{font:500 13px/1.4 var(--sans);color:var(--muted)}
.tool-pulse .intro-meta-value{font:500 20px/1.25 var(--sans);letter-spacing:-.01em}

/* Questions */
.tool-pulse .progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.tool-pulse .progress-seg{height:3px;background:var(--rule);transition:background .3s ease}
.tool-pulse .progress-seg.done{background:var(--navy)}
.tool-pulse .progress-seg.active{background:var(--gold)}
.tool-pulse .progress-label{margin-top:14px;font:500 14px/1.4 var(--sans);color:var(--muted)}
.tool-pulse .question-stem{margin:32px 0;font-size:clamp(22px,2.3vw,28px);font-weight:500;line-height:1.32;letter-spacing:-.015em}
.tool-pulse .options{display:flex;flex-direction:column;gap:10px}
.tool-pulse .option{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:baseline;width:100%;padding:18px 20px;border:1px solid var(--rule-strong);border-radius:2px;background:var(--paper);color:var(--text);text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s}
.tool-pulse .option:hover{border-color:var(--ink);background:var(--mist)}
.tool-pulse .option:active{background:var(--rule)}
.tool-pulse .option-letter{font:600 13px/1.5 var(--sans);color:var(--muted)}
.tool-pulse .option-text{font:400 16px/1.55 var(--sans)}
.tool-pulse .back-link{margin-top:28px;padding:8px 0;background:none;border:0;font:500 15px/1.4 var(--sans);color:var(--navy);cursor:pointer}
.tool-pulse .back-link:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}

/* Placement */
.tool-pulse .reveal-meta{font:500 14px/1.4 var(--sans);color:var(--muted)}
.tool-pulse .reveal-eyebrow::after{content:" · "}
.tool-pulse .reveal-stage-name{margin:12px 0 32px;font-size:clamp(44px,6vw,72px);font-weight:500;line-height:1;letter-spacing:-.03em}
.tool-pulse .reveal-stage-name:focus{outline:none}
.tool-pulse .stage-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:48px}
.tool-pulse .stage-pip{display:flex;flex-direction:column;gap:12px;min-width:0}
.tool-pulse .stage-pip-bar{height:4px;background:var(--rule)}
.tool-pulse .stage-pip.passed .stage-pip-bar{background:var(--navy)}
.tool-pulse .stage-pip.current .stage-pip-bar{background:var(--gold)}
.tool-pulse .stage-pip-label{font:400 14px/1.3 var(--sans);color:var(--muted);overflow-wrap:anywhere}
.tool-pulse .stage-pip.passed .stage-pip-label{color:var(--navy)}
.tool-pulse .stage-pip.current .stage-pip-label{font-weight:600;color:var(--text)}
.tool-pulse .reveal-body{max-width:var(--measure);font:400 18px/1.7 var(--serif)}
.tool-pulse .reveal-body p+p{margin-top:1em}
.tool-pulse .decision-block{margin:40px 0 64px;padding:clamp(24px,3vw,36px);background:var(--mist)}
.tool-pulse .decision-label{margin-bottom:10px;font:600 15px/1.4 var(--sans)}
.tool-pulse .decision-text{max-width:var(--measure);font:400 17px/1.65 var(--serif)}

/* Optional context */
.tool-pulse .context-block{margin-bottom:64px;padding-top:40px;border-top:1px solid var(--rule)}
.tool-pulse .context-title{font-size:clamp(20px,1.7vw,24px);font-weight:600;line-height:1.25;letter-spacing:-.015em}
.tool-pulse .context-sub{max-width:580px;margin:10px 0 28px;font:400 15px/1.6 var(--sans);color:var(--muted)}
.tool-pulse .context-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;margin-bottom:24px}
.tool-pulse .field-full{grid-column:1/-1}
.tool-pulse .context-submit{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.tool-pulse .context-submit .btn:disabled{opacity:.6;cursor:default}
.tool-pulse .context-status{font:500 14px/1.5 var(--sans);color:var(--navy);opacity:0;transition:opacity .3s}
.tool-pulse .context-status.shown{opacity:1}

/* Next step */
.tool-pulse .cta-block{display:flex;flex-direction:column;gap:20px;padding-top:40px;border-top:1px solid var(--rule)}
.tool-pulse .cta-note{max-width:var(--measure);font:400 16px/1.65 var(--serif)}
.tool-pulse .cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}
@media (max-width:600px){
  .tool-pulse .intro-meta{grid-template-columns:minmax(0,1fr);row-gap:16px}
  .tool-pulse .intro-meta-item{flex-direction:row;justify-content:space-between;align-items:baseline;gap:16px;padding-top:12px;border-top-color:var(--rule)}
  .tool-pulse .intro-meta-item:first-child{border-top-color:var(--text)}
  .tool-pulse .intro-meta-value{font-size:17px;text-align:right}
  .tool-pulse .option{grid-template-columns:24px minmax(0,1fr);padding:16px}
  .tool-pulse .stage-pip-label{font-size:12px}
  .tool-pulse .context-fields{grid-template-columns:minmax(0,1fr)}
}

/* ---------- Governance Toolkit ---------------------------------------------- */
.tool-kit .page-head .meta a{color:var(--on-ink);text-decoration:underline;text-decoration-color:var(--on-ink-muted);text-underline-offset:3px}
.tool-kit .toolkit-nav{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--rule)}
.tool-kit .toolkit-nav-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 32px;min-height:72px;padding-block:12px}
.tool-kit .toolkit-nav-links{display:flex;flex-wrap:wrap;gap:8px 32px;font:500 15px/1.4 var(--sans)}
.tool-kit .toolkit-nav-links a{color:var(--navy);padding-block:6px}
.tool-kit .btn-print{min-height:40px;padding:0 18px;font-size:14px}
.tool-kit .tk-section{scroll-margin-top:96px}
.tool-kit .tk-side{display:flex;flex-direction:column;gap:20px;min-width:0}
.tool-kit .tk-intro{font:400 16px/1.65 var(--serif);color:var(--text)}
.tool-kit .tk-note{font:400 14px/1.55 var(--sans);color:var(--muted);margin-top:-8px}
.tool-kit .tk-clear{display:inline;margin:0;padding:0;border:0;background:none;font:inherit;color:var(--navy);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rule-strong);cursor:pointer}
.tool-kit .tk-clear:hover{text-decoration-color:currentColor}
.tool-kit .tk-clear:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.tool-kit .tk-steps{display:flex;flex-direction:column;gap:10px;margin-top:-8px;padding-left:1.25em;font:400 15px/1.55 var(--sans)}
.tool-kit .tk-steps li::marker{color:var(--muted);font-variant-numeric:proportional-nums}
@media (min-width:901px){.tool-kit .tk-side{position:sticky;top:104px}}

/* Self-assessment (rendered by the script) */
.tool-kit #assessment-blocks{display:flex;flex-direction:column;gap:56px;min-width:0}
.tool-kit .assessment-block{border-top:1px solid var(--text);padding-top:20px}
.tool-kit .dim-header{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding-bottom:16px}
.tool-kit .dim-num{display:none}
.tool-kit .dim-name{font:600 clamp(20px,1.7vw,23px)/1.25 var(--sans);letter-spacing:-.015em}
.tool-kit .dim-score{display:flex;align-items:baseline;gap:10px;white-space:nowrap}
.tool-kit .dim-score-label{font:500 13px/1.4 var(--sans);color:var(--muted)}
.tool-kit .dim-score-value{min-width:2.4ch;font:600 22px/1 var(--sans);text-align:right;font-variant-numeric:proportional-nums}
.tool-kit .dim-score-value.empty{color:var(--rule-strong)}
.tool-kit .assessment-items{border-bottom:1px solid var(--rule)}
.tool-kit .item-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:32px;row-gap:12px;padding-block:14px;border-top:1px solid var(--rule)}
.tool-kit .item-text{font:400 15.5px/1.55 var(--sans)}
.tool-kit .scale{display:flex;align-items:center;gap:6px}
.tool-kit .scale-label{display:none}
.tool-kit .scale-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--rule-strong);border-radius:2px;background:var(--paper);color:var(--text);font:500 15px/1 var(--sans);font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color .15s,background-color .15s}
.tool-kit .scale-btn:hover{border-color:var(--ink)}
.tool-kit .scale-btn.selected{background:var(--ink);border-color:var(--ink);color:var(--paper)}
@media (max-width:700px){
  .tool-kit .item-row{grid-template-columns:minmax(0,1fr)}
  .tool-kit .scale{gap:8px}
  .tool-kit .scale-btn{width:auto;flex:1 1 0;height:44px}
}

/* Result */
.tool-kit .results-block{padding:clamp(24px,3vw,40px);background:var(--mist)}
.tool-kit .results-block .overline{font:500 13px/1.4 var(--sans);color:var(--muted)}
.tool-kit .results-block h3{margin:10px 0 0;font:600 clamp(20px,1.8vw,24px)/1.3 var(--sans);letter-spacing:-.015em}
.tool-kit .results-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;row-gap:24px;margin-top:28px}
.tool-kit .results-total{display:flex;flex-direction:column;gap:6px;padding-top:14px;border-top:1px solid var(--text)}
.tool-kit .results-total .k{font:500 13px/1.4 var(--sans);color:var(--muted)}
.tool-kit .results-total .v{font:500 36px/1.1 var(--sans);letter-spacing:-.02em;font-variant-numeric:proportional-nums}
.tool-kit .results-total .v .max{margin-left:4px;font-size:18px;letter-spacing:0;color:var(--muted)}
.tool-kit .results-band{font:600 19px/1.3 var(--sans)}
.tool-kit .results-band-detail{font:400 15px/1.55 var(--sans);color:var(--muted)}
.tool-kit .results-interp{max-width:var(--measure);margin-top:24px;font:400 16px/1.65 var(--serif)}
.tool-kit .results-interp:empty{display:none}
.tool-kit .results-interp p+p{margin-top:1em}
.tool-kit .results-interp strong{font-weight:600}
.tool-kit .results-cta{flex-wrap:wrap;gap:12px;margin-top:28px}
.tool-kit .btn-light{background:transparent;color:var(--ink)}
.tool-kit .btn-light:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.tool-kit .score-bands{margin-top:36px;padding-top:24px;border-top:1px solid var(--rule-strong)}
.tool-kit .score-bands h4{margin-bottom:16px;font:600 15px/1.4 var(--sans)}
.tool-kit .bands-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:20px;row-gap:24px}
.tool-kit .band-card{display:flex;flex-direction:column;gap:4px;padding-top:12px;border-top:1px solid var(--rule-strong)}
.tool-kit .band-range{font:600 15px/1.3 var(--sans);font-variant-numeric:tabular-nums}
.tool-kit .band-name{font:500 14px/1.35 var(--sans)}
.tool-kit .band-desc{margin-top:2px;font:400 13.5px/1.5 var(--sans);color:var(--muted)}
@media (max-width:1100px){.tool-kit .bands-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.tool-kit .results-summary{grid-template-columns:minmax(0,1fr)}}

/* Skills matrix */
.tool-kit .matrix-table-wrap{overflow-x:auto;max-width:100%}
.tool-kit table.matrix{width:100%;min-width:560px;border-collapse:collapse;font:400 15px/1.45 var(--sans)}
.tool-kit table.matrix th{padding:0 8px 12px;border-bottom:1px solid var(--text);font:500 13px/1.4 var(--sans);color:var(--muted);text-align:left;vertical-align:bottom;white-space:nowrap}
.tool-kit table.matrix th:first-child,.tool-kit table.matrix td:first-child{padding-left:0}
.tool-kit table.matrix th.dir-col,.tool-kit table.matrix th.gap-col{width:72px;text-align:center}
.tool-kit table.matrix td{padding:10px 8px;border-bottom:1px solid var(--rule);vertical-align:middle}
.tool-kit table.matrix td.competency{font-weight:500}
.tool-kit table.matrix td.dir-cell,.tool-kit table.matrix td.gap-cell{text-align:center}
.tool-kit .matrix-select{width:52px;height:38px;padding:0 4px;border:1px solid var(--rule-strong);border-radius:2px;background:var(--paper);color:var(--muted);font:500 14px/1 var(--sans);text-align:center;text-align-last:center;cursor:pointer}
.tool-kit .matrix-select:hover{border-color:var(--ink)}
.tool-kit .matrix-select.s{background:var(--navy);border-color:var(--navy);color:var(--paper)}
.tool-kit .matrix-select.a{background:var(--mist);border-color:var(--rule-strong);color:var(--text)}
.tool-kit .matrix-select.g{background:var(--paper);border-color:var(--gold);color:var(--gold-text)}
.tool-kit .gap-flag{font:500 13px/1.4 var(--sans)}
.tool-kit .gap-flag.ok{color:var(--muted)}
.tool-kit .gap-flag.flagged{font-weight:600;color:var(--gold-text)}
.tool-kit .matrix-principle{display:flex;flex-direction:column;gap:10px;margin-top:40px;padding-left:24px;border-left:1px solid var(--gold)}
.tool-kit .matrix-principle p{max-width:var(--measure);font:400 17px/1.65 var(--serif)}

/* Committee guide: rows line up across each pair of stages */
.tool-kit .stages-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;row-gap:56px}
.tool-kit .stage-card{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:0;min-width:0;padding-top:20px;border-top:1px solid var(--text)}
.tool-kit .stage-card h3{margin-top:6px;font-size:21px;font-weight:600;line-height:1.25;letter-spacing:-.015em}
.tool-kit .stage-board-size{margin-top:4px;font-size:14px;color:var(--muted)}
.tool-kit .stage-content{display:contents}
.tool-kit .stage-row{padding-block:12px;border-bottom:1px solid var(--rule)}
.tool-kit .stage-row:first-child{margin-top:20px;border-top:1px solid var(--rule)}
.tool-kit .stage-row dt{font:500 13px/1.45 var(--sans);color:var(--muted)}
.tool-kit .stage-row dd{margin:4px 0 0;font:400 15px/1.55 var(--sans)}
@media (max-width:600px){
  .tool-kit .stages-grid{grid-template-columns:minmax(0,1fr)}
  .tool-kit .stage-card{display:flex;flex-direction:column;grid-row:auto}
  .tool-kit .stage-content{display:block;margin-top:20px;border-top:1px solid var(--rule)}
  .tool-kit .stage-row:first-child{margin-top:0;border-top:0}
}

/* What comes next */
.tool-kit .next-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

@media (max-width:900px){
  .tool-kit .toolkit-nav{position:static}
  .tool-kit .toolkit-nav-inner{min-height:0;padding-block:16px}
  .tool-kit .toolkit-nav-links{gap:8px 20px;font-size:14px}
  .tool-kit .tk-section{scroll-margin-top:24px}
}

/* Print: the toolkit saves as a PDF from the browser */
@media print{
  @page{size:letter;margin:.6in}
  .tool-kit{font-size:10pt;line-height:1.45}
  .tool-kit .tk-note,.tool-kit .nav,.tool-kit .skip-link,.tool-kit .toolkit-nav,.tool-kit .site-footer,.tool-kit .results-cta,.tool-kit .next-section,.tool-kit .page-head .crumb{display:none!important}
  .tool-kit .site-header{background:#fff!important;color:#000!important}
  .tool-kit .page-head{padding:0 0 12pt}
  .tool-kit .page-head h1,.tool-kit .page-head .lede,.tool-kit .page-head .meta,.tool-kit .page-head .meta a{color:#000!important}
  .tool-kit .page-head h1{font-size:24pt}
  .tool-kit .wrap{max-width:none;padding:0}
  .tool-kit .section{padding-block:14pt!important;border-top:0!important}
  .tool-kit .split{display:block}
  .tool-kit .tk-side{position:static;margin-bottom:10pt}
  .tool-kit .assessment-block,.tool-kit .stage-card,.tool-kit .results-block,.tool-kit .matrix-principle{break-inside:avoid}
  .tool-kit #assessment-blocks{gap:14pt}
  .tool-kit .results-block{background:#fff;border:1px solid #999}
  .tool-kit .scale-btn{border:1px solid #888;background:#fff;color:#000}
  .tool-kit .scale-btn.selected{background:#000;color:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .tool-kit .matrix-select{border:1px solid #888;background:#fff;color:#000}
  .tool-kit .stages-grid{display:block}
  .tool-kit .stage-card{margin-bottom:12pt}
  .tool-kit a{color:#000}
}
