/* Article-specific bridge. Brand sources and exact copied assets are recorded in
   SECOND_BRAIN_TO_GROW_WILD_BLOG_20260921/BRAND_BRIDGE.json. */
@font-face {
  font-family: "Fraunces Variable";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/research-to-grow-wild/fraunces-latin.woff2") format("woff2");
}

.bridge-page {
  --bridge-navy: #071022;
  --bridge-muted: #46536b;
  --bridge-rule: #c7d0de;
  --gw-ink: #1c2a1e;
  --gw-forest: #23422b;
  --gw-moss: #4a6741;
  --gw-sage: #8fa382;
  --gw-cream: #faf7f0;
  --gw-parchment: #f1ebdd;
  --gw-clay-dark: #96491c;
  --gw-gold: #c9a227;
  background: #f7f8fb;
  color: #0a1424;
  font-size: 17px;
  line-height: 1.7;
}
.bridge-page [hidden] { display: none !important; }
.bridge-page *, .bridge-page *::before, .bridge-page *::after { box-sizing: border-box; }
.bridge-page :where(main, article, section, div, figure, nav) { min-width: 0; }
.bridge-page :where(h1, h2, h3, p, figure, blockquote, dl) { margin: 0; }
.bridge-page :where(p, li, dd) { overflow-wrap: anywhere; }
.bridge-page p + p { margin-top: 1.15em; }
.bridge-page :where(h1, h2, h3) {
  max-width: none;
  font-family: "Bodoni Moda", Georgia, serif;
  font-weight: 500;
  font-optical-sizing: none;
  font-variation-settings: "opsz" 11;
  line-height: 1.12;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.bridge-page :where(h1, h2, h3) em { font-weight: inherit; }
.bridge-page h2 { font-size: clamp(2.35rem, 4.2vw, 3.55rem); }
.bridge-page h3 { font-size: clamp(1.85rem, 2.8vw, 2.45rem); }
.bridge-page a { text-underline-offset: .22em; text-decoration-thickness: 1px; }
.bridge-page a:hover { text-decoration-thickness: 2px; }
.bridge-page :where(a, button, summary):focus-visible {
  outline: 3px solid #6f5515;
  outline-offset: 5px;
  border-radius: 3px;
}
.bridge-page :where(.bridge-hero, .bridge-closing, .bridge-footer, .site-header) :where(a, button, summary):focus-visible {
  outline-color: #e4c570;
}
.bridge-page :where([id]) { scroll-margin-top: 108px; }
.bridge-page .bridge-switcher { scroll-margin-top: 7rem; }
.bridge-page .site-header { font-size: 17px; }
.bridge-page .site-header .brand { font-size: 17px; }
.bridge-page .nav-links { font-size: 17px; }
.bridge-page .nav-links > a, .bridge-page .nav-menu > summary { min-height: 44px; display: inline-flex; align-items: center; }
.bridge-page .nav-links a:hover, .bridge-page .nav-links a:focus-visible { color: #f7f8fb; }
.bridge-page .nav-panel a { min-height: 44px; }
.bridge-page .bridge-wrap { width: min(1224px, calc(100% - 96px)); margin-inline: auto; }
.bridge-page .bridge-section { padding-block: clamp(72px, 8.5vw, 120px); }
.bridge-page .bridge-section + .bridge-section { border-top: 1px solid var(--bridge-rule); }
.bridge-page .bridge-kicker {
  margin-bottom: 22px;
  color: #6f5515;
  font-size: .82rem;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.bridge-page .bridge-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  align-items: end;
  gap: 56px;
  margin-bottom: 48px;
}
.bridge-page .bridge-section-heading > p { max-width: 47ch; color: var(--bridge-muted); }
.bridge-page .bridge-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  min-height: 54px;
  padding: 14px 24px;
  border: 1px solid currentColor;
  border-radius: 4px;
  color: inherit;
  font-size: 17px;
  line-height: 1.4;
  font-weight: 650;
  text-decoration: none;
  transition: background .18s ease, border-color .18s ease;
}
.bridge-page .bridge-button.gold { background: #d9b04a; border-color: #d9b04a; color: #071022; }
.bridge-page .bridge-button.gold:hover { background: #e4c570; border-color: #e4c570; }
.bridge-page .bridge-text-link { display: inline-block; padding-block: 10px; font-size: 17px; font-weight: 650; }

/* Barnicle opening: the typography leads; the diagram is a quiet companion. */
.bridge-page .bridge-hero { position: relative; padding-top: 26px; color: #f7f8fb; background: #071022; }
.bridge-page .bridge-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; column-gap: 12px; row-gap: 2px; color: #b9c8de; font-size: 17px; }
.bridge-page .bridge-breadcrumb a { min-height: 44px; display: inline-flex; align-items: center; }
.bridge-page .bridge-breadcrumb > span:last-child { color: #f7f8fb; }
.bridge-page .bridge-hero-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(36px, 5vw, 76px); align-items: center; padding-block: 66px 80px; }
.bridge-page .bridge-hero .bridge-kicker { color: #e4c570; }
.bridge-page .bridge-hero h1 { font-size: clamp(3.2rem, 5.65vw, 5rem); line-height: 1.025; letter-spacing: -.045em; }
.bridge-page .bridge-hero h1 em { color: #e4c570; }
.bridge-page .bridge-deck { margin-top: 30px; font-size: clamp(1.3rem, 2vw, 1.65rem); line-height: 1.4; color: #e1e8f2; }
.bridge-page .bridge-hero-intro { max-width: 49ch; margin-top: 24px; color: #b9c8de; }
.bridge-page .bridge-byline { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-block: 26px 30px; color: #b9c8de; font-size: .875rem; }
.bridge-page .bridge-byline strong { color: #f7f8fb; }
.bridge-page .bridge-cover { padding: 28px; border: 1px solid #52647d; border-radius: 6px; background: #0d1f3a; box-shadow: 0 26px 60px #02081244; }
.bridge-page .cover-topline { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 34px; padding-bottom: 18px; border-bottom: 1px solid #52647d; color: #b9c8de; font-size: .75rem; letter-spacing: .12em; }
.bridge-page .cover-topline > span:last-child { color: #e4c570; }
.bridge-page .cover-node { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 18px; align-items: start; }
.bridge-page .cover-symbol { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid #a1afc4; border-radius: 50%; color: #e4c570; font-size: 15px; font-weight: 600; }
.bridge-page .cover-node small { display: block; margin-bottom: 3px; color: #b9c8de; font-size: .75rem; font-weight: 650; letter-spacing: .12em; }
.bridge-page .cover-node strong { display: block; font-family: "Bodoni Moda", Georgia, serif; font-size: 2rem; font-weight: 500; font-optical-sizing: none; font-variation-settings: "opsz" 11; line-height: 1.2; }
.bridge-page .cover-node p { margin-top: 7px; font-size: 17px; line-height: 1.5; color: #d1dcec; }
.bridge-page .cover-connector { position: relative; margin: 17px 0 17px 20px; padding: 8px 0 8px 40px; border-left: 1px solid #8195b3; color: #b9c8de; font-size: .8rem; line-height: 1.5; }
.bridge-page .cover-connector::after { position: absolute; bottom: -2px; left: -4px; content: ""; width: 7px; height: 7px; border-right: 1px solid #8195b3; border-bottom: 1px solid #8195b3; transform: rotate(45deg); }
.bridge-page .cover-node.grow strong { color: #e0ecd8; }
.bridge-page .bridge-cover figcaption { margin-top: 30px; padding-top: 18px; border-top: 1px solid #52647d; color: #b9c8de; font-size: .875rem; }
.bridge-page .bridge-hero-foot { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px 28px; padding-block: 24px; border-top: 1px solid #52647d; color: #b9c8de; font-size: .82rem; }
.bridge-page .bridge-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 72px; }
.bridge-page .bridge-prose { max-width: 62ch; }
.bridge-page .bridge-definition { margin-top: 28px; padding: 22px 0 0; border-top: 1px solid var(--bridge-rule); color: #46536b; }
.bridge-page .bridge-definition strong { color: #0a1424; }

/* The three master homes are large linked nodes, not a file-card inventory. */
.bridge-page .home-selector { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-bottom: 36px; }
.bridge-page .home-selector a { position: relative; display: grid; align-content: start; min-height: 200px; padding: 26px; border: 1px solid #77879f; border-radius: 5px; color: #0a1424; background: #fff; text-decoration: none; transition: background .18s ease, border-color .18s ease; }
.bridge-page .home-selector .node-number { color: #6f5515; font-size: .85rem; font-weight: 700; letter-spacing: .12em; margin-bottom: 24px; }
.bridge-page .home-selector strong { font-size: 1.45rem; line-height: 1.25; margin-bottom: 10px; letter-spacing: -.03em; }
.bridge-page .home-selector a > span:not(.node-number) { color: #46536b; font-size: 17px; line-height: 1.45; }
.bridge-page .home-selector b { position: absolute; top: 24px; right: 25px; color: #6f5515; font-size: 1.5rem; line-height: 1; }
.bridge-page .home-selector a:hover { border-color: #0d1f3a; background: #e9edf5; }
.bridge-page .home-selector a[aria-current="location"] { background: #0d1f3a; border-color: #0d1f3a; color: #f7f8fb; box-shadow: inset 0 -4px #d9b04a; }
.bridge-page .home-selector a[aria-current="location"] :is(.node-number, b) { color: #e4c570; }
.bridge-page .home-selector a[aria-current="location"] > span:not(.node-number) { color: #d1dcec; }
.bridge-page .home-panel { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 40px 56px; padding: 42px; border: 1px solid var(--bridge-rule); border-radius: 5px; background: #fff; }
.bridge-page .home-panel + .home-panel { margin-top: 28px; }
.bridge-page .home-panel-intro .bridge-kicker { max-width: 40ch; }
.bridge-page .home-panel-intro h3 { margin-bottom: 22px; }
.bridge-page .home-panel-intro p:not(.bridge-kicker) { color: #46536b; }
.bridge-page .bridge-status { display: inline-block; max-width: 100%; padding: 7px 12px; border: 1px solid #9aacc4; border-radius: 3px; color: #263b59; background: #eef2f8; font-size: .82rem; line-height: 1.5; font-weight: 600; }
.bridge-page .home-panel-intro .bridge-status { margin-top: 24px; }
.bridge-page .folder-stack { border-top: 1px solid var(--bridge-rule); }
.bridge-page .folder-stack details { border-bottom: 1px solid var(--bridge-rule); }
.bridge-page .folder-stack summary { position: relative; display: grid; gap: 7px; padding: 24px 30px 24px 0; cursor: pointer; list-style: none; font-size: 17px; line-height: 1.5; }
.bridge-page .folder-stack summary::after { content: "+"; position: absolute; right: 0; top: 25px; font-size: 24px; line-height: 1; transition: transform .18s ease; }
.bridge-page .folder-stack details[open] summary::after { transform: rotate(45deg); }
.bridge-page .folder-stack code { font-family: Inter, sans-serif; font-size: 17px; font-weight: 650; overflow-wrap: anywhere; }
.bridge-page .folder-stack summary > span:first-child { font-weight: 650; }
.bridge-page .folder-stack summary > span:last-child { color: #46536b; }
.bridge-page .folder-stack details > p { margin: 0; padding: 0 22px 24px 0; color: #46536b; }
.bridge-page :where(.folder-stack, .permission-choices, .question-grid, .bridge-sources) summary::-webkit-details-marker { display: none; }
.bridge-page :where(.folder-stack, .permission-choices, .question-grid, .bridge-sources) summary::marker { content: ""; }
.bridge-page .handoff-strip { grid-column: 1 / -1; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px 22px; padding-top: 25px; border-top: 1px solid var(--bridge-rule); font-size: 17px; }
.bridge-page .handoff-strip b { color: #6f5515; }
.bridge-page .handoff-strip a { grid-column: 2; width: fit-content; padding-block: 5px; color: #263b59; }
.bridge-page .bridge-map-note { max-width: 82ch; margin-top: 26px; color: #46536b; font-size: 17px; }

/* A readable assignment and a small set of native disclosures. */
.bridge-page .assignment { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 70px; padding-block: 12px 56px; }
.bridge-page .assignment-request { align-self: start; padding: 34px; border-left: 3px solid #d9b04a; background: #e9edf5; }
.bridge-page .assignment-label { display: block; color: #6f5515; font-size: .85rem; line-height: 1.5; font-weight: 700; margin-bottom: 22px; }
.bridge-page .assignment-request blockquote { font-size: 1.45rem; line-height: 1.55; letter-spacing: -.02em; }
.bridge-page .assignment-request p { font-size: 17px; color: #46536b; margin-top: 24px; }
.bridge-page .assignment-steps { list-style: none; counter-reset: assignment; margin: 0; padding: 0; }
.bridge-page .assignment-steps li { position: relative; counter-increment: assignment; padding: 0 0 28px 56px; }
.bridge-page .assignment-steps li:not(:last-child)::before { content: ""; position: absolute; left: 15px; top: 37px; bottom: 6px; width: 1px; background: #9aacc4; }
.bridge-page .assignment-steps li::after { content: counter(assignment, decimal-leading-zero); position: absolute; top: 0; left: 0; color: #6f5515; font-size: 17px; font-weight: 650; }
.bridge-page .assignment-steps b, .bridge-page .assignment-steps span { display: block; }
.bridge-page .assignment-steps b { font-size: 1.15rem; margin-bottom: 6px; }
.bridge-page .assignment-steps span { color: #46536b; }
.bridge-page .permission-example { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 56px; padding-top: 48px; border-top: 1px solid var(--bridge-rule); }
.bridge-page .permission-example h3 { margin-bottom: 22px; }
.bridge-page .permission-example > div > p:not(.bridge-kicker) { color: #46536b; }
.bridge-page .permission-choices { border-top: 1px solid #77879f; }
.bridge-page .permission-choices details { border-bottom: 1px solid #77879f; }
.bridge-page .permission-choices summary { display: flex; justify-content: space-between; gap: 20px; list-style: none; padding-block: 24px; cursor: pointer; font-size: 17px; font-weight: 650; }
.bridge-page .permission-choices summary > span { flex-shrink: 0; font-size: 24px; transition: transform .18s ease; }
.bridge-page .permission-choices details[open] summary > span { transform: rotate(45deg); }
.bridge-page .permission-choices details > p { margin: 0; padding-bottom: 24px; color: #46536b; }

/* Grow Wild: existing forest/cream tokens; original diagram contours only. */
.bridge-page .grow-bridge { position: relative; overflow: hidden; padding-block: clamp(88px, 10vw, 144px); background: #23422b; color: #faf7f0; }
.bridge-page .grow-contours { position: absolute; inset: 0; width: 100%; height: 100%; color: #8fa382; opacity: .18; pointer-events: none; stroke-width: 1; }
.bridge-page .grow-bridge-inner { position: relative; }
.bridge-page .grow-brand { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 26px; margin-bottom: 54px; }
.bridge-page .grow-brand img { width: 48px; height: 48px; flex-shrink: 0; }
.bridge-page .grow-wordmark { font-family: "Fraunces Variable", Georgia, serif; font-weight: 620; font-size: 2rem; letter-spacing: -.01em; line-height: 1.2; }
.bridge-page .grow-brand > span:last-child:not(.grow-wordmark) { color: #e0ecd8; font-size: 17px; border-left: 1px solid #8fa382; padding-left: 26px; }
.bridge-page .grow-bridge .bridge-kicker { color: #e0ecd8; }
.bridge-page .grow-bridge h2, .bridge-page .grow-chapter :is(h2, h3) { font-family: "Fraunces Variable", Georgia, serif; font-weight: 560; font-optical-sizing: auto; font-variation-settings: normal; letter-spacing: -.025em; }
.bridge-page .grow-bridge h2 { font-size: clamp(2.7rem, 5.5vw, 5rem); line-height: 1.08; max-width: 17ch; }
.bridge-page .grow-bridge h2 em { font-style: normal; color: #e0ecd8; }
.bridge-page .grow-bridge-inner > p:last-child { max-width: 57ch; margin-top: 30px; color: #faf7f0; font-size: 1.2rem; line-height: 1.65; }
.bridge-page .grow-chapter { background: #faf7f0; color: #1c2a1e; --bridge-rule: #b7bfad; --bridge-muted: #43513d; }
.bridge-page .grow-chapter .bridge-kicker { color: #96491c; }
.bridge-page .grow-chapter :is(h2, h3) { color: #23422b; }
.bridge-page .grow-chapter a { color: #23422b; }
.bridge-page .grow-chapter :where(a, button, summary):focus-visible { outline-color: #23422b; }
.bridge-page .grow-chapter .bridge-map-note { color: #43513d; }
.bridge-page .grow-chapter .bridge-status { color: #23422b; background: #f1ebdd; border-color: #819573; }
.bridge-page .research-selector { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-block: 1px solid #819573; }
.bridge-page .research-selector a { display: flex; align-items: center; gap: 12px; min-height: 76px; padding: 17px 20px; font-size: 17px; line-height: 1.4; font-weight: 650; text-decoration: none; }
.bridge-page .research-selector a + a { border-left: 1px solid #b7bfad; }
.bridge-page .research-selector a > span { color: #96491c; font-size: 15px; font-weight: 600; }
.bridge-page .research-selector a:hover { background: #f1ebdd; }
.bridge-page .research-selector a[aria-current="location"] { color: #faf7f0; background: #23422b; box-shadow: inset 0 -4px #c9a227; }
.bridge-page .research-selector a[aria-current="location"] > span { color: #e0ecd8; }
.bridge-page .research-panel { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 40px; padding: 52px 0; border-bottom: 1px solid #b7bfad; }
.bridge-page .research-number { padding-top: 2px; color: #4a6741; font-family: "Fraunces Variable", Georgia, serif; font-size: 5.5rem; line-height: 1; font-weight: 560; letter-spacing: -.06em; }
.bridge-page .research-panel > div:last-child { max-width: 70ch; }
.bridge-page .research-panel h3 { margin-block: 20px 22px; }
.bridge-page .research-links { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 20px; }
.bridge-page .research-links a { min-height: 44px; padding-block: 8px; font-size: 17px; font-weight: 600; }
.bridge-page .people-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 46px 64px; }
.bridge-page .person-card { display: flex; flex-direction: column; padding-top: 28px; border-top: 2px solid #4a6741; }
.bridge-page .person-category { color: #96491c; font-size: .85rem; font-weight: 650; margin-bottom: 24px; }
.bridge-page .person-card h3 { font-size: 2.25rem; line-height: 1.18; margin-bottom: 22px; }
.bridge-page .person-card p { color: #43513d; margin-bottom: 24px; }
.bridge-page .person-card a { margin-top: auto; min-height: 44px; width: fit-content; padding-block: 8px; font-size: 17px; font-weight: 650; }
.bridge-page .research-note { margin-top: 44px; padding: 30px 34px; border-left: 3px solid #4a6741; background: #f1ebdd; }
.bridge-page .research-note b { display: block; margin-bottom: 10px; color: #23422b; font-size: 1.1rem; }
.bridge-page .research-note p { max-width: 83ch; }
.bridge-page .question-grid { border-top: 1px solid #819573; }
.bridge-page .question-card { border-bottom: 1px solid #819573; }
.bridge-page .question-card summary { display: grid; grid-template-columns: 50px minmax(0, 1fr) 24px; gap: 26px; align-items: center; list-style: none; padding-block: 30px; cursor: pointer; font-size: 17px; }
.bridge-page .question-symbol { color: #96491c; font-size: 2.3rem; line-height: 1; }
.bridge-page .question-card summary small { display: block; margin-bottom: 8px; color: #43513d; font-size: .85rem; line-height: 1.4; }
.bridge-page .question-card summary strong { display: block; font-family: "Fraunces Variable", Georgia, serif; font-size: clamp(1.45rem, 2.5vw, 1.9rem); font-weight: 560; line-height: 1.3; color: #23422b; }
.bridge-page .question-card summary b { font-size: 27px; line-height: 1; font-weight: 500; text-align: center; transition: transform .18s ease; }
.bridge-page .question-card[open] summary b { transform: rotate(45deg); }
.bridge-page .question-body { max-width: 80ch; padding: 0 50px 34px 76px; }
.bridge-page .question-limit { color: #43513d; padding-top: 18px; border-top: 1px solid #b7bfad; }
.bridge-page .checkpoint { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 72px; }
.bridge-page .checkpoint h2 { margin-bottom: 26px; }
.bridge-page .checkpoint > div > p:last-child { color: #43513d; }
.bridge-page .checkpoint-list { margin: 0; border-top: 1px solid #819573; }
.bridge-page .checkpoint-list > div { padding-block: 20px; border-bottom: 1px solid #b7bfad; }
.bridge-page .checkpoint-list dt { color: #23422b; font-size: 17px; font-weight: 700; margin-bottom: 7px; }
.bridge-page .checkpoint-list dd { margin: 0; color: #43513d; }
.bridge-page .bridge-sources { padding-bottom: 70px; }
.bridge-page .bridge-sources summary { display: flex; justify-content: space-between; gap: 24px; border-block: 1px solid #819573; padding-block: 22px; list-style: none; cursor: pointer; font-size: 17px; font-weight: 650; }
.bridge-page .bridge-sources summary > span { font-size: 25px; line-height: 1; transition: transform .18s ease; }
.bridge-page .bridge-sources[open] summary > span { transform: rotate(45deg); }
.bridge-page .bridge-sources > div { max-width: 84ch; padding-block: 26px; }
.bridge-page .bridge-sources ul { padding-left: 23px; margin-block: 22px; }
.bridge-page .bridge-sources li + li { margin-top: 15px; }
.bridge-page .bridge-closing { padding-block: clamp(80px, 9vw, 126px); background: #071022; color: #f7f8fb; }
.bridge-page .bridge-closing .bridge-kicker { color: #e4c570; }
.bridge-page .bridge-closing h2 { font-family: "Bodoni Moda", Georgia, serif; font-weight: 500; font-optical-sizing: none; font-variation-settings: "opsz" 11; color: #f7f8fb; font-size: clamp(2.75rem, 5.5vw, 4.7rem); }
.bridge-page .bridge-closing h2 em { color: #e4c570; }
.bridge-page .bridge-closing p:not(.bridge-kicker) { max-width: 56ch; margin-top: 30px; color: #d1dcec; font-size: 1.15rem; }
.bridge-page .closing-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px 32px; margin-top: 32px; }
.bridge-page .bridge-closing a { color: #f7f8fb; }
.bridge-page .bridge-closing .bridge-button:hover { background: #0d1f3a; }
.bridge-page .bridge-closing :where(a, button, summary):focus-visible { outline-color: #e4c570; }
.bridge-page .bridge-footer { background: #071022; color: #b9c8de; font-size: 17px; }
.bridge-page .bridge-footer > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 20px 44px; padding-block: 28px; border-top: 1px solid #52647d; }
.bridge-page .bridge-footer nav { display: flex; flex-wrap: wrap; gap: 10px 28px; }
.bridge-page .bridge-footer a { display: inline-flex; align-items: center; min-height: 44px; }

@media (max-width: 1100px) {
  .bridge-page .site-header { flex-wrap: wrap; }
  .bridge-page .nav-links { flex-wrap: wrap; }
  .bridge-page .bridge-wrap { width: min(100% - 64px, 1224px); }
  .bridge-page .bridge-hero-grid { gap: 32px; }
  .bridge-page .bridge-cover { padding: 24px; }
  .bridge-page .bridge-hero h1 { font-size: clamp(3rem, 5.9vw, 4.25rem); }
  .bridge-page .home-panel { padding: 32px; gap: 32px; }
  .bridge-page :is(.assignment, .bridge-intro, .checkpoint) { gap: 40px; }
  .bridge-page .home-selector { gap: 14px; }
  .bridge-page .home-selector a { padding: 22px; }
  .bridge-page .research-selector a { padding-inline: 14px; gap: 8px; }
}
@media (max-width: 800px) {
  .bridge-page .bridge-hero-grid { grid-template-columns: minmax(0, 1fr); padding-block: 46px 56px; gap: 46px; }
  .bridge-page .bridge-hero h1 { font-size: clamp(3.2rem, 8.5vw, 4.5rem); }
  .bridge-page .bridge-hero-intro { max-width: 55ch; }
  .bridge-page .bridge-cover { max-width: 620px; width: 100%; }
  .bridge-page .bridge-intro, .bridge-page .bridge-section-heading, .bridge-page .assignment, .bridge-page .permission-example, .bridge-page .checkpoint { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .bridge-page .bridge-section-heading > p { max-width: 66ch; }
  .bridge-page .home-selector { grid-template-columns: minmax(0, 1fr); }
  .bridge-page .home-selector a { min-height: 120px; padding: 22px 58px 22px 66px; }
  .bridge-page .home-selector .node-number { position: absolute; left: 23px; top: 26px; margin: 0; }
  .bridge-page .home-selector strong { font-size: 1.3rem; }
  .bridge-page .home-panel { grid-template-columns: minmax(0, 1fr); }
  .bridge-page .handoff-strip { gap: 10px; grid-template-columns: minmax(0, 1fr); }
  .bridge-page .handoff-strip a { grid-column: 1; }
  .bridge-page .assignment-request { max-width: 65ch; }
  .bridge-page .research-selector { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bridge-page .research-selector a { min-height: 65px; }
  .bridge-page .research-selector a:nth-child(3) { border-left: 0; }
  .bridge-page .research-selector a:nth-child(n + 3) { border-top: 1px solid #b7bfad; }
  .bridge-page .research-panel { grid-template-columns: 72px minmax(0, 1fr); gap: 24px; padding-block: 36px; }
  .bridge-page .research-number { font-size: 4rem; }
  .bridge-page .people-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .bridge-page .person-card { max-width: 70ch; }
  .bridge-page .person-card h3 br { display: none; }
  .bridge-page .person-card h3 { max-width: 18ch; }
  .bridge-page .bridge-footer > div { flex-direction: column; }
}
@media (max-width: 480px) {
  .bridge-page .bridge-wrap { width: calc(100% - 40px); }
  .bridge-page .site-header { padding-inline: 20px; }
  .bridge-page .site-header .brand { gap: 10px; font-size: 17px; }
  .bridge-page .brand-logo { width: 32px; height: 32px; }
  .bridge-page .nav-links { column-gap: 17px; row-gap: 0; }
  .bridge-page .nav-panel { left: 0; right: auto; width: min(270px, calc(100vw - 40px)); }
  .bridge-page .bridge-section { padding-block: 64px; }
  .bridge-page .bridge-kicker { font-size: .8rem; letter-spacing: .07em; margin-bottom: 20px; }
  .bridge-page .bridge-hero h1 { font-size: clamp(2.65rem, 11.8vw, 3.8rem); }
  .bridge-page h2 { font-size: clamp(2rem, 8.8vw, 2.65rem); }
  .bridge-page h3 { font-size: 1.9rem; }
  .bridge-page .bridge-deck { font-size: 1.35rem; }
  .bridge-page .desktop-break { display: none; }
  .bridge-page .bridge-button { padding-inline: 18px; width: 100%; gap: 14px; }
  .bridge-page .bridge-cover { padding: 22px 18px; }
  .bridge-page .cover-topline { font-size: .68rem; letter-spacing: .07em; }
  .bridge-page .cover-node { grid-template-columns: 34px minmax(0, 1fr); gap: 13px; }
  .bridge-page .cover-symbol { width: 34px; height: 34px; font-size: 13px; }
  .bridge-page .cover-node strong { font-size: 1.75rem; }
  .bridge-page .cover-connector { margin-left: 16px; padding-left: 31px; }
  .bridge-page .bridge-section-heading { margin-bottom: 32px; }
  .bridge-page .home-selector a { padding-right: 42px; }
  .bridge-page .home-selector b { right: 18px; }
  .bridge-page .home-panel { padding: 25px 20px; }
  .bridge-page .bridge-status { font-size: .8rem; padding-inline: 9px; }
  .bridge-page .assignment-request { padding: 25px 24px; }
  .bridge-page .assignment-request blockquote { font-size: 1.3rem; }
  .bridge-page .assignment-steps li { padding-left: 44px; }
  .bridge-page .permission-example { padding-top: 32px; }
  .bridge-page .grow-bridge { padding-block: 78px; }
  .bridge-page .grow-brand { gap: 15px; margin-bottom: 40px; }
  .bridge-page .grow-wordmark { font-size: 1.85rem; }
  .bridge-page .grow-brand > span:last-child:not(.grow-wordmark) { flex-basis: 100%; border: 0; padding: 0; }
  .bridge-page .grow-bridge h2 { font-size: clamp(2.5rem, 10vw, 3.5rem); }
  .bridge-page .grow-bridge-inner > p:last-child { font-size: 1.1rem; }
  .bridge-page .research-selector a { padding: 16px 10px; gap: 8px; }
  .bridge-page .research-panel { grid-template-columns: minmax(0, 1fr); gap: 25px; }
  .bridge-page .research-number { font-size: 3.2rem; }
  .bridge-page .research-panel h3 { margin-top: 20px; }
  .bridge-page .research-note { padding: 25px 22px; }
  .bridge-page .question-card summary { grid-template-columns: 28px minmax(0, 1fr) 18px; gap: 14px; }
  .bridge-page .question-card summary strong { font-size: 1.45rem; }
  .bridge-page .question-symbol { font-size: 1.8rem; }
  .bridge-page .question-body { padding: 0 0 28px; }
  .bridge-page .bridge-closing h2 { font-size: clamp(2.45rem, 10vw, 3.3rem); }
  .bridge-page .closing-actions { gap: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .bridge-page, .bridge-page * { scroll-behavior: auto !important; }
  .bridge-page *, .bridge-page *::before, .bridge-page *::after { transition: none !important; animation: none !important; }
}
@media print {
  .bridge-page { font-size: 11pt; background: #fff !important; color: #000 !important; }
  .bridge-page .site-header, .bridge-page .skip-link, .bridge-page .bridge-breadcrumb, .bridge-page .home-selector, .bridge-page .research-selector, .bridge-page .grow-contours, .bridge-page .closing-actions, .bridge-page .bridge-footer { display: none !important; }
  .bridge-page .bridge-wrap { width: 100%; }
  .bridge-page :where(.bridge-hero, .bridge-cover, .home-panel, .assignment-request, .grow-bridge, .grow-chapter, .research-note, .bridge-closing, .bridge-status) { background: #fff !important; color: #000 !important; box-shadow: none; }
  .bridge-page :where(h1, h2, h3, p, a, span, small, strong, b, dt, dd, blockquote, figcaption, .research-number) { color: #000 !important; }
  .bridge-page h1 { font-size: 34pt !important; }
  .bridge-page h2 { font-size: 25pt !important; }
  .bridge-page h3 { font-size: 20pt !important; }
  .bridge-page .bridge-section, .bridge-page .grow-bridge, .bridge-page .bridge-closing { padding-block: 26px; }
  .bridge-page :where(.bridge-hero-grid, .bridge-intro, .bridge-section-heading, .home-panel, .assignment, .permission-example, .people-grid, .checkpoint) { display: block; }
  .bridge-page [data-panel][hidden] { display: grid !important; }
  .bridge-page .home-panel, .bridge-page .research-panel { margin-block: 20px; padding: 20px; }
  .bridge-page .bridge-section-heading > p, .bridge-page .folder-stack, .bridge-page .permission-choices, .bridge-page .checkpoint-list { margin-top: 20px; }
  .bridge-page .person-card { padding-bottom: 20px; }
  .bridge-page details > :not(summary) { display: block !important; }
  .bridge-page details::details-content { content-visibility: visible !important; height: auto !important; }
  .bridge-page summary::after, .bridge-page summary > [aria-hidden="true"] { display: none !important; }
  .bridge-page details, .bridge-page .cover-node { break-inside: avoid; }
  .bridge-page h2, .bridge-page h3 { break-after: avoid; }
}
