/* Editorial research studio: clear evidence, spacious technical stories. */
.hero { text-align: left; background: radial-gradient(ellipse at 85% 30%, #edf4ef90, transparent 55%); padding-top: clamp(45px, 6vw, 95px); }
.hero-layout { display: grid; grid-template-columns: 1.12fr 1fr; gap: clamp(32px, 5vw, 90px); align-items: center; }
.hero-copy, .hero-lab { min-width: 0; }
.hero-eyebrow { justify-content: flex-start; font-size: .7rem; letter-spacing: .07em; }
.hero h1 { font-size: clamp(2.7rem, 4.65vw, 5rem); line-height: 1.06; letter-spacing: -.065em; margin: 27px 0; }
.hero-description { margin: 0; font-size: 1.08rem; line-height: 1.75; max-width: 48ch; }
.hero-description strong { color: var(--ink); font-weight: 500; }
.hero-actions { justify-content: flex-start; gap: 8px; margin-top: 28px; }
.hero-actions .button { font-size: .85rem; padding: 13px 19px; }
.hero-lab .lab-window { width: 100%; }
.hero-lab-caption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin: 20px 4px 0; font: .65rem/1.6 var(--mono); color: #697d70; }
.hero-lab-caption span:last-child { color: #88968c; }
.hero-facts { margin-top: 65px; display: grid; grid-template-columns: .7fr 1fr 1fr; border-top: 1px solid var(--line); }
.hero-fact { padding: 26px 28px; display: flex; gap: 18px; align-items: center; border-right: 1px solid var(--line); }
.hero-fact:first-child { padding-left: 0; }
.hero-fact:last-child { border: 0; }
.hero-fact strong { font-size: clamp(2.2rem, 3vw, 3.2rem); font-weight: 500; letter-spacing: -.06em; line-height: 1; }
.hero-fact span { font-size: .85rem; line-height: 1.55; color: #657168; }
.hero-fact b { font-weight: 500; color: var(--ink); }
.proof-strip { padding: 38px 0 50px; }
.proof-strip-label { font: .65rem/1.6 var(--mono); letter-spacing: .06em; color: #728477; margin-bottom: 20px; }
.proof-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.proof-card { display: block; padding: 25px 28px; position: relative; transition: background .2s; }
.proof-card + .proof-card { border-left: 1px solid var(--line); }
.proof-card:hover { background: #f3f7f3; }
.proof-card .proof-type { font: .65rem/1.5 var(--mono); color: #547d62; }
.proof-card h2 { font-size: 1.2rem; line-height: 1.3; letter-spacing: -.03em; margin: 13px 0 10px; }
.proof-card p { font-size: .85rem; line-height: 1.65; color: var(--muted); }
.proof-card .proof-source { display: flex; justify-content: space-between; gap: 15px; margin-top: 22px; font-size: .7rem; color: #718277; }
.projects-section { background: #f6f7f5; padding-bottom: 0; }
.portfolio-section { background: #f6f7f5; }
.current-focus { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 0 48px; border-top: 1px solid #d8e1d8; }
.current-focus > div { padding: 26px 28px; }
.current-focus > div:first-child { padding-left: 0; }
.current-focus > div:last-child { padding-right: 0; }
.current-focus > div + div { border-left: 1px solid #d8e1d8; }
.current-focus span { font: .65rem/1.6 var(--mono); color: #608168; }
.current-focus h3 { font-size: 1.15rem; font-weight: 500; line-height: 1.4; letter-spacing: -.025em; margin: 14px 0 10px; }
.current-focus p { font-size: .9rem; line-height: 1.8; color: #657367; }
.section-heading > p { max-width: 44ch; }
.research-case { border: 1px solid #dce3dc; border-radius: 24px; background: white; margin-bottom: 28px; overflow: hidden; }
.case-topline { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding: 21px 34px; border-bottom: 1px solid var(--line); font: .65rem/1.6 var(--mono); letter-spacing: .04em; color: #627868; }
.case-topline span:last-child { color: #7d887f; }
.case-layout { display: grid; grid-template-columns: 1fr 1fr; }
.case-copy { padding: clamp(28px, 3.5vw, 58px); }
.case-copy h3 { font-size: clamp(1.8rem, 2.7vw, 2.8rem); font-weight: 500; line-height: 1.12; letter-spacing: -.045em; margin: 0 0 22px; }
.case-copy > p { font-size: 1rem; line-height: 1.8; color: #5a675e; margin-bottom: 20px; }
.case-copy > p strong { color: var(--ink); font-weight: 500; }
.case-finding { margin-top: 30px; padding-top: 25px; border-top: 1px solid var(--line); }
.case-finding .eyebrow { font-size: .65rem; margin-bottom: 12px; }
.case-finding p { color: #47584b; font-size: 1rem; line-height: 1.75; }
.case-finding .inline-link { margin-top: 18px; display: inline-flex; font-size: .85rem; }
.case-workbench { min-width: 0; background: #edf2ec; border-left: 1px solid #e0e6de; padding: clamp(26px, 3vw, 48px); display: flex; flex-direction: column; justify-content: center; }
.workbench-label { display: flex; justify-content: space-between; gap: 15px; color: #5f7865; font: .65rem/1.6 var(--mono); margin-bottom: 30px; }
.workbench-label i { width: 6px; height: 6px; display: inline-block; background: #5f896c; border-radius: 50%; margin-right: 5px; }
.rule-options { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 25px; }
.rule-options button { font: .7rem/1.5 var(--mono); border: 1px solid #b9c9b9; color: #45664c; background: transparent; padding: 9px 12px; border-radius: 6px; min-height: 40px; }
.rule-options button[aria-pressed="true"] { color: #fff; background: #2b543c; border-color: #2b543c; }
.rule-card { color: #dbe9d9; background: #1e3025; border: 1px solid #344d3a; padding: 27px; border-radius: 12px; box-shadow: 0 18px 40px -27px #24342d70; }
.rule-card > span { display: block; font: .65rem/1.6 var(--mono); color: #a9c9a6; border-bottom: 1px solid #3c5140; padding-bottom: 13px; margin-bottom: 20px; }
.rule-card dl { margin: 0; font: .85rem/1.8 var(--retro-type); }
.rule-card dt { font-size: .65rem; color: #9eb99c; }
.rule-card dd { margin: 4px 0 20px; min-height: 3.6em; }
.rule-card dd:last-child { margin-bottom: 0; }
.network-path { display: flex; gap: 10px; align-items: center; margin: 25px 0 18px; }
.network-path span { flex: 1; text-align: center; border: 1px solid #c3d0c2; border-radius: 7px; padding: 10px 7px; font: .65rem/1.6 var(--mono); }
.network-path i { color: #75987b; font-style: normal; }
.workbench-note { color: #64766a; font-size: .75rem; line-height: 1.75; }
.workbench-note a { text-decoration: underline; text-underline-offset: 4px; }
.case-footnote { display: flex; align-items: baseline; gap: 18px; background: #fafcf9; border-top: 1px solid var(--line); padding: 20px 34px; font-size: .85rem; line-height: 1.7; color: #67786b; }
.case-footnote span { font: .65rem/1.6 var(--mono); color: #477350; white-space: nowrap; }
.spear-recognition { border-top: 1px solid #dce4da; background: #f9fbf7; }
.spear-recognition-heading { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 70px); align-items: center; padding: clamp(28px, 3.5vw, 52px); }
.spear-recognition-heading .eyebrow { font-size: .65rem; }
.spear-recognition-heading h3 { font-size: clamp(1.8rem, 2.6vw, 2.7rem); line-height: 1.15; letter-spacing: -.045em; font-weight: 500; margin-top: 18px; }
.spear-recognition-heading > p { color: #5e6c62; font-size: .95rem; line-height: 1.8; }
.spear-source-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #dce4da; }
.spear-source-grid a { display: flex; flex-direction: column; gap: 15px; padding: 27px; transition: background .2s; }
.spear-source-grid a + a { border-left: 1px solid #dce4da; }
.spear-source-grid a:hover { background: #edf4e9; }
.spear-source-grid a > span { color: #607b66; font: .6rem/1.7 var(--mono); }
.spear-source-grid h4 { margin: 0; font-size: 1.05rem; line-height: 1.4; font-weight: 500; letter-spacing: -.025em; }
.spear-source-grid p { color: #657367; font-size: .85rem; line-height: 1.8; }
.spear-source-grid b { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 5px; font-size: .7rem; font-weight: 500; color: #466e50; }
.spear-source-grid i { font-style: normal; }
.behavior-case .case-workbench { background: #f3f0e8; border-color: #e6e1d7; }
.behavior-case .workbench-label { color: #7e7563; }
.observation-count { display: flex; align-items: baseline; gap: 19px; padding-bottom: 25px; border-bottom: 1px solid #dcd6c8; }
.observation-count strong { font-size: clamp(3.5rem, 7vw, 6rem); line-height: 1; font-weight: 400; letter-spacing: -.09em; color: #756449; }
.observation-count span { color: #756f60; font-size: 1rem; max-width: 17ch; }
.behavior-sequence { list-style: none; padding: 0; margin: 20px 0; }
.behavior-sequence li { display: flex; gap: 20px; padding: 15px 0; }
.behavior-sequence li > span { font: .7rem/1.6 var(--mono); color: #95866d; padding-top: 4px; }
.behavior-sequence h4 { font-size: 1rem; font-weight: 500; margin: 0 0 5px; }
.behavior-sequence p { font-size: .85rem; line-height: 1.7; color: #777062; }
.behavior-case .workbench-note { color: #7b7466; }
.case-copy > .eyebrow { margin-bottom: 18px; font-size: .65rem; }
.zx-workbench h3 { font-size: clamp(1.7rem, 2.3vw, 2.4rem); line-height: 1.18; font-weight: 500; letter-spacing: -.04em; margin: 0 0 22px; }
.zx-intro { font-size: 1rem; line-height: 1.8; color: #756c5d; }
.zx-intro strong { font-weight: 500; color: #4f493f; }
.behavior-foundation { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 32px; padding: 28px 34px; background: #faf9f5; border-top: 1px solid #e3dfd4; }
.behavior-foundation > div { display: flex; gap: 22px; align-items: center; }
.behavior-foundation strong { font-size: 3.5rem; letter-spacing: -.07em; font-weight: 400; color: #776448; white-space: nowrap; }
.behavior-foundation strong span { font-size: 1rem; letter-spacing: 0; margin-left: 10px; }
.behavior-foundation p { font-size: .85rem; line-height: 1.75; color: #756e60; }
.behavior-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); background: #f8faf6; }
.behavior-fields > div { padding: 28px; }
.behavior-fields > div + div { border-left: 1px solid var(--line); }
.behavior-fields span { font: .65rem/1.6 var(--mono); color: #608168; }
.behavior-fields h4 { font-size: 1rem; line-height: 1.4; font-weight: 500; margin: 12px 0 10px; }
.behavior-fields p { font-size: .85rem; line-height: 1.75; color: #637267; }
.research-brief { padding: clamp(28px, 4vw, 60px); border: 1px solid #dce3dc; border-radius: 24px; background: #e9eeea; display: grid; grid-template-columns: 1fr 1fr; gap: 45px; }
.research-brief h3 { font-size: clamp(1.8rem, 2.6vw, 2.6rem); line-height: 1.15; font-weight: 500; letter-spacing: -.04em; margin: 18px 0; }
.research-brief p { font-size: 1rem; color: #5d6b61; line-height: 1.8; }
.research-brief .applications { margin: 0; }
.research-brief .applications li { font-size: 1rem; border-color: #cdd9cf; }
.research-brief .brief-caption { font: .65rem/1.7 var(--mono); color: #708174; margin-top: 22px; }
.research-perspective { margin: 0 0 clamp(38px, 5vw, 72px); }
.research-perspective .section-heading h2 { font-size: clamp(2.1rem, 3.7vw, 3.7rem); }
.research-bridge { display: grid; grid-template-columns: .55fr 1.45fr; gap: 40px; padding: 28px 0; border-top: 1px solid #d8e1d8; }
.research-bridge .eyebrow { font-size: .65rem; padding-top: 5px; max-width: 27ch; }
.research-bridge p { font-size: 1rem; line-height: 1.8; color: #5e6c62; }
.research-bridge strong { font-weight: 500; color: #304c39; }
.research-method { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 0; margin: 12px 0 32px; border: 1px solid #d8e1d8; border-radius: 16px; background: #edf2ec; }
.research-method li { padding: 26px 30px; }
.research-method li + li { border-left: 1px solid #d8e1d8; }
.research-method li > span { font: .65rem/1.6 var(--mono); color: #5c7963; }
.research-method h3 { font-size: 1.1rem; font-weight: 500; line-height: 1.4; letter-spacing: -.025em; margin: 12px 0 9px; }
.research-method p { color: #657367; font-size: .875rem; line-height: 1.75; }
.research-domains { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid #d8e1d8; border-radius: 20px; overflow: hidden; background: #fff; }
.research-domain { display: flex; flex-direction: column; padding: clamp(26px, 3.5vw, 52px); min-width: 0; }
.research-domain:nth-child(even) { border-left: 1px solid #e2e7df; }
.research-domain:nth-child(n+3) { border-top: 1px solid #e2e7df; }
.research-domain .eyebrow { font-size: .65rem; }
.research-domain h3 { font-size: clamp(1.55rem, 2.2vw, 2.15rem); line-height: 1.18; font-weight: 500; letter-spacing: -.04em; margin: 20px 0; }
.research-domain p { color: #606d63; font-size: .95rem; line-height: 1.85; margin-bottom: 26px; }
.research-trace { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 12px; margin-top: auto; padding-top: 18px; border-top: 1px solid #e8ece5; color: #5d7863; font: .65rem/1.7 var(--mono); }
.research-trace i { font-style: normal; color: #8b9d8d; }
.research-continuity { font-size: .85rem; line-height: 1.8; color: #6e7c71; padding: 22px 2px 0; max-width: 100ch; }
.evidence-heading-note { color: #607467; font: .7rem/1.7 var(--mono); margin-top: 20px; }
.featured-grid { gap: 28px; }
.featured-card { border: 1px solid var(--line); padding: 28px; border-radius: 16px; transition: background .2s, border-color .2s; }
.featured-card:hover { background: #f5f8f4; border-color: #9bb8a3; }
.featured-card h3 { font-size: 1.55rem; }
.featured-type { margin-top: 15px; }
.timeline { margin: 44px 0; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); list-style: none; padding: 0; }
.timeline li { border-top: 1px solid #cbd8cd; position: relative; }
.timeline li::before { content: ''; position: absolute; top: -4px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: #6c9075; }
.timeline a { padding: 18px 20px 14px 0; display: block; }
.timeline strong { display: block; font: 1rem/1.5 var(--mono); color: #315c40; margin-bottom: 8px; }
.timeline span { display: block; color: #627167; font-size: .8rem; line-height: 1.65; }
.timeline a:hover span { color: #174d36; }
.archive { margin-top: 35px; }
.archive-intro h3 { font-size: 1.8rem; }
.evidence-tag { display: inline-flex; border: 1px solid #48634b; color: #c2ddba; border-radius: 4px; padding: 5px 10px; font: .65rem/1.5 var(--mono); margin-bottom: 18px; }
.evidence-tag[data-evidence="reported"] { border-color: #70664c; color: #d9ccb0; }
.source-locator { font: .7rem/1.8 var(--mono); color: #a6b8a1; padding-top: 18px; }
.source-locator span { color: #c8d8c3; }
.citation-details { margin-top: 15px; font-size: .75rem; color: #aabca7; }
.citation-details summary { cursor: pointer; padding: 8px 0; width: fit-content; }
.citation-details p { margin: 10px 0; font-size: .8rem; color: #c9d7c4; line-height: 1.8; overflow-wrap: anywhere; }
.copy-citation { color: #bcd4b4; border: 1px solid #476146; padding: 8px 12px; border-radius: 4px; background: transparent; font: .7rem/1.5 var(--mono); }
.copy-status { margin-left: 12px; }
.approach-grid { gap: 65px; }
.research-principle { margin-top: 35px; padding: 20px 0 0; border-top: 1px solid #d4dfd4; font: .8rem/1.8 var(--mono); color: #507059; }
.contact-section .contact-context { max-width: 55ch; margin: 25px auto 35px; font-size: 1rem; }
@media (max-width: 1100px) {
  .hero-layout { grid-template-columns: 1fr 1fr; gap: 32px; }
  .hero h1 { font-size: 3.3rem; }
  .hero-fact { padding: 23px 20px; }
  .case-layout { grid-template-columns: 1.1fr 1fr; }
  .network-path { flex-wrap: wrap; }
}
@media (max-width: 900px) {
  .research-perspective .section-heading { flex-direction: column; align-items: stretch; gap: 22px; margin-bottom: 32px; }
  .research-perspective .section-heading > p { max-width: 60ch; margin: 0; }
  .spear-recognition-heading { grid-template-columns: 1fr; }
  .spear-source-grid { grid-template-columns: 1fr 1fr; }
  .spear-source-grid a:nth-child(3) { border-left: 0; }
  .spear-source-grid a:nth-child(n+3) { border-top: 1px solid #dce4da; }
  .research-bridge { grid-template-columns: 1fr; gap: 16px; }
  .research-bridge .eyebrow { max-width: none; }
  .research-method { grid-template-columns: 1fr 1fr; }
  .research-method li { padding: 23px; }
  .research-method li:nth-child(3) { border-left: 0; }
  .research-method li:nth-child(n+3) { border-top: 1px solid #d8e1d8; }
  .behavior-fields { grid-template-columns: 1fr 1fr; }
  .behavior-fields > div:nth-child(3) { border-left: 0; }
  .behavior-fields > div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .hero-layout { grid-template-columns: 1fr; gap: 40px; }
  .hero h1 { font-size: clamp(2.7rem, 7vw, 4.5rem); }
  .hero-description { max-width: 60ch; }
  .hero-lab { max-width: 640px; width: 100%; justify-self: center; }
  .hero-facts { margin-top: 38px; }
  .proof-card { padding: 22px; }
  .case-layout, .research-brief { grid-template-columns: 1fr; }
  .behavior-foundation { grid-template-columns: 1fr; gap: 16px; }
  .case-workbench { border-left: 0; border-top: 1px solid #e0e6de; }
  .case-workbench .rule-card dd { min-height: 1.8em; }
  .case-footnote { flex-direction: column; gap: 7px; }
  .timeline { grid-template-columns: repeat(3,minmax(0,1fr)); row-gap: 22px; }
}
@media (max-width: 760px) {
  .research-domains { grid-template-columns: minmax(0, 1fr); }
  .research-domain { padding: 28px 24px; }
  .research-domain + .research-domain { border-left: 0; border-top: 1px solid #e2e7df; }
  .research-domain h3 { max-width: 25ch; margin: 16px 0; text-wrap: pretty; }
  .research-domain p { margin-bottom: 22px; }
}
@media (max-width: 600px) {
  .spear-source-grid { grid-template-columns: 1fr; }
  .spear-source-grid a + a { border-left: 0; border-top: 1px solid #dce4da; }
  .spear-recognition-heading, .spear-source-grid a { padding: 28px 23px; }
  .spear-source-grid p { font-size: 1rem; }
  .spear-source-grid b { font-size: .8rem; }
  .current-focus { grid-template-columns: 1fr; margin-bottom: 28px; }
  .current-focus > div { padding: 24px 0; }
  .current-focus > div + div { border-left: 0; border-top: 1px solid #d8e1d8; }
  .current-focus p { font-size: 1rem; }
  .research-perspective .section-heading h2 { font-size: clamp(1.8rem, 8vw, 2.5rem); }
  .research-method, .research-domains { grid-template-columns: 1fr; }
  .research-method li + li { border-left: 0; border-top: 1px solid #d8e1d8; }
  .research-domain + .research-domain { border-left: 0; border-top: 1px solid #e2e7df; }
  .research-domain { padding: 28px 23px; }
  .research-domain h3 { font-size: 1.7rem; }
  .research-domain p, .research-method p { font-size: 1rem; }
  .research-trace { font-size: .7rem; }
  .research-continuity { font-size: .875rem; }
  .behavior-fields { grid-template-columns: 1fr; }
  .behavior-fields > div { padding: 24px 23px; }
  .behavior-fields > div + div { border-left: 0; border-top: 1px solid var(--line); }
  .behavior-fields p { font-size: 1rem; }
  .hero h1 { font-size: clamp(2.5rem, 10vw, 3.5rem); }
  .hero-description { font-size: 1.0625rem; }
  .hero-facts { grid-template-columns: 1fr; }
  .hero-fact { padding: 20px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .hero-fact strong { min-width: 80px; font-size: 2.8rem; }
  .proof-grid { grid-template-columns: 1fr; }
  .proof-card + .proof-card { border-left: 0; border-top: 1px solid var(--line); }
  .proof-card p { font-size: 1rem; }
  .proof-card .proof-source { margin-top: 15px; font-size: .75rem; }
  .proof-strip { padding-top: 18px; }
  .case-topline { padding: 20px 23px; }
  .case-copy, .case-workbench { padding: 28px 23px; }
  .case-copy h3 { font-size: 1.95rem; }
  .research-case, .research-brief { border-radius: 16px; }
  .rule-card { padding: 22px 18px; }
  .rule-card dl { font-size: 1rem; }
  .rule-card dd { min-height: 3.6em; }
  .network-path { gap: 5px; }
  .network-path span { padding: 10px 3px; font-size: .6rem; }
  .workbench-note, .behavior-sequence p { font-size: .875rem; }
  .case-footnote { padding: 20px 23px; font-size: 1rem; }
  .research-brief { padding: 28px 23px; gap: 25px; }
  .behavior-foundation { padding: 23px; }
  .timeline { grid-template-columns: 1fr; margin: 35px 0; gap: 0; }
  .timeline li { border-top: 0; border-left: 1px solid #cbd8cd; margin-left: 4px; }
  .timeline li::before { left: -4px; top: 25px; }
  .timeline a { padding: 12px 0 18px 22px; display: grid; grid-template-columns: 58px 1fr; gap: 14px; }
  .timeline strong { margin: 0; }
  .timeline span { font-size: .875rem; }
  .featured-card { padding: 26px; }
  .archive-intro { padding-left: 18px; padding-right: 18px; }
  .citation-details p { font-size: .875rem; }
}
@media print {
  .hero-lab, .rule-options, .copy-citation { display: none !important; }
  .hero-layout, .case-layout, .research-brief { display: block; }
  .research-case { break-inside: avoid; }
}
