:root { --darwin-dark:#172a22; --darwin-soft:#eff3ef; }
.eyebrow,.section-label,.hero-note,.darwin-hero-bottom,.small-label,.scope-note,.example-note,.lens-number,.chain-number,.node-kicker { font-size:14px; }
.header .active-page { color:#416139; border-bottom:1px solid #416139; }
.darwin-hero { padding:76px 5.2% 0; display:grid; grid-template-columns:1.1fr 1fr; gap:56px 64px; color:white; background:var(--ink); }
.darwin-hero h1 { font-size:clamp(64px,6.1vw,98px); margin:24px 0; line-height:1.07; }
.darwin-hero h1 em { color:var(--green); }
.darwin-hero .hero-description { font-size:23px; color:#f1f5f0; max-width:520px; }
.hero-explanation { max-width:470px; font-size:17px; color:#bdcbc0; margin-top:21px; }
.hero-note { color:#b4c1b7; }
.future-figure { align-self:center; margin:0; background:#1b2a22; border:1px solid #46594a; border-radius:4px; overflow:hidden; }
.figure-header { display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid #46594a; padding:18px 22px; font-size:14px; color:#c8d7ca; }
.figure-label { color:var(--green); font-family:var(--serif); font-size:22px; line-height:1; }
.future-map { position:relative; padding:30px 16px; min-height:320px; display:grid; grid-template-columns:1.1fr 1fr 1.4fr; grid-template-rows:repeat(3,1fr); gap:25px 14px; align-items:center; }
.map-lines { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.current-state,.route-question,.future-state { z-index:1; position:relative; }
.current-state { grid-column:1; grid-row:1/4; background:var(--green); color:var(--ink); padding:22px 14px; border-radius:3px; line-height:1.3; }
.current-state strong { font-size:18px; font-weight:500; }
.node-kicker { display:block; margin-bottom:9px; font-size:12px; }
.route-question { font-size:14px; background:#1b2a22; color:#c3d1c6; line-height:1.4; text-align:center; padding:10px 0; }
.route-one,.route-two,.route-three { grid-column:2; }
.route-one,.future-one { grid-row:1; }
.route-two,.future-two { grid-row:2; }
.route-three,.future-three { grid-row:3; }
.future-state { grid-column:3; padding:14px 12px; border:1px solid #667c69; background:#20352a; line-height:1.4; font-size:15px; border-radius:3px; }
.future-two { color:var(--green); border-color:#bbed99; }
.future-figure figcaption { padding:17px 22px; font-size:14px; line-height:1.6; border-top:1px solid #46594a; color:#bac9bd; }
.darwin-hero-bottom { grid-column:1/-1; display:flex; justify-content:space-between; gap:24px; border-top:1px solid #46594a; padding:23px 0; color:#bbc9c0; }
.darwin-hero-bottom a { color:white; text-decoration:underline; text-underline-offset:5px; }
.section { padding-top:88px; padding-bottom:88px; }
.section h2 { line-height:1.08; }
.intro-columns { display:grid; grid-template-columns:1fr 1fr; gap:44px; color:var(--muted); margin-top:30px; max-width:940px; font-size:17px; }
.question-pairs { margin-top:46px; }
.question-pairs>div { display:grid; grid-template-columns:1fr 1fr; gap:44px; padding-bottom:14px; border-bottom:1px solid #a8b6ac; color:#65766a; font-size:14px; }
.question-pairs article { display:grid; grid-template-columns:1fr 1fr; gap:44px; padding:24px 0; border-bottom:1px solid var(--line); }
.question-pairs h3 { font-size:21px; }
.question-pairs p { color:var(--muted); font-size:16px; }
.two-lenses { padding:72px 5.2% 50px; background:var(--darwin-dark); color:white; }
.lenses-heading { max-width:950px; }
.lenses-heading h2 { font-size:clamp(46px,4.7vw,72px); margin-top:25px; line-height:1.07; }
.lenses-heading h2 em { color:var(--green); }
.lenses-heading>p:last-child { font-size:18px; margin-top:22px; color:#c1d0c4; }
.lens-columns { display:grid; grid-template-columns:1fr 1fr; margin-top:50px; border-top:1px solid #617867; }
.lens-columns article { padding:32px 60px 30px 0; }
.lens-columns article+article { padding-left:60px; border-left:1px solid #617867; }
.lens-number { color:var(--green); }
.lens-columns h3 { font-size:30px; margin:20px 0; }
.lens-columns p { color:#c1d0c4; max-width:560px; font-size:17px; }
.lens-columns .lens-question { color:white; padding-top:22px; font-size:18px; }
.lens-conclusion { border-top:1px solid #617867; padding-top:24px; color:#c1d0c4; font-size:16px; max-width:1200px; }
.section-lead { max-width:750px; color:var(--muted); font-size:18px; margin-top:28px; }
.learning-chain { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; margin-top:48px; border-top:1px solid #9cac9f; }
.learning-chain article { padding-top:24px; }
.chain-number { color:#637a67; }
.learning-chain h3 { font-size:22px; margin:20px 0 16px; min-height:54px; }
.learning-chain p { font-size:16px; color:var(--muted); }
.method-principle { display:grid; grid-template-columns:170px 1fr; gap:25px; padding-top:24px; border-top:1px solid var(--line); margin-top:35px; }
.method-principle span { font-size:14px; color:#57715d; }
.method-principle p { font-size:19px; max-width:730px; }
.example-section { padding:75px 5.2% 54px; background:var(--darwin-soft); }
.example-top { display:flex; justify-content:space-between; gap:60px; align-items:flex-end; }
.example-top h2 { font-size:clamp(44px,4.4vw,68px); margin-top:20px; }
.example-top>p { max-width:340px; color:var(--muted); font-size:17px; padding-bottom:5px; }
.scenario-tabs { display:none; gap:0; margin-top:40px; border-bottom:1px solid #97aa9c; }
.scenario-tabs.is-ready { display:flex; }
.scenario-panel + .scenario-panel { border-top:1px solid #c1cdc3; }
.scenario-tabs button { background:none; border:0; border-bottom:3px solid transparent; padding:17px 26px; color:#526659; font-size:16px; cursor:pointer; margin-bottom:-1px; }
.scenario-tabs button:first-child { padding-left:0; }
.scenario-tabs button[aria-selected="true"] { color:var(--ink); border-color:var(--ink); font-weight:600; }
.scenario-tabs button:hover { color:var(--ink); }
.scenario-panel { display:grid; grid-template-columns:1fr 1.25fr; gap:65px; padding:42px 0 22px; }
.scenario-panel[hidden] { display:none; }
.small-label { display:block; color:#57715d; margin-bottom:15px; }
.scenario-symptom h3 { font-family:var(--serif); font-weight:400; font-size:clamp(38px,3.2vw,50px); letter-spacing:-.025em; line-height:1.13; }
.scenario-symptom p { color:var(--muted); font-size:17px; margin-top:24px; max-width:420px; }
.scenario-investigation article { padding-bottom:24px; }
.scenario-investigation article+article { padding-top:24px; border-top:1px solid #c1cdc3; }
.scenario-investigation p { font-size:17px; color:#364b3e; }
.example-note { padding-top:20px; border-top:1px solid #c1cdc3; color:var(--muted); }
.deliverable-list { margin-top:40px; border-top:1px solid #a8b6ac; }
.deliverable-list article { display:grid; grid-template-columns:55px 1fr; gap:25px; padding:26px 0; border-bottom:1px solid var(--line); }
.deliverable-list article>span { color:#6a806e; font-size:14px; padding-top:4px; }
.deliverable-list h3 { font-size:25px; margin-bottom:12px; }
.deliverable-list p { color:var(--muted); font-size:17px; max-width:790px; }
.scope-note { margin-top:25px; color:var(--muted); max-width:730px; }
.hero-secondary { display:block; width:fit-content; font-size:15px; color:#d3e3d4; margin-top:19px; text-decoration:underline; text-underline-offset:5px; }
.darwin-hero-bottom nav { display:flex; gap:24px; flex-wrap:wrap; }
.assessment-section { background:#f4f6f4; }
.theory-section { padding:70px 5.2% 85px; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1.15fr; gap:90px; }
.theory-intro h2 { font-size:clamp(44px,4.1vw,62px); margin:22px 0 30px; }
.theory-intro>p:last-child { font-size:17px; color:var(--muted); max-width:440px; }
.theory-questions { border-top:1px solid #a8b6ac; }
.theory-questions details { border-bottom:1px solid #bcc8bf; }
.theory-questions summary { padding:23px 32px 23px 0; font-size:19px; cursor:pointer; line-height:1.4; }
.theory-questions details>p { padding:0 15px 26px 0; color:var(--muted); font-size:16px; }
.contact .eyebrow { font-size:14px; }
footer p { font-size:13px; }
@media(min-width:1600px) {
  .darwin-hero,.two-lenses,.example-section,.theory-section { padding-left:max(5.2%,calc((100vw - 1450px)/2)); padding-right:max(5.2%,calc((100vw - 1450px)/2)); }
}
@media(max-width:1100px) {
  .darwin-hero { gap:38px; padding-top:58px; grid-template-columns:1fr 1fr; }
  .darwin-hero h1 { font-size:65px; }
  .darwin-hero .hero-description { font-size:20px; }
  .hero-explanation { font-size:16px; }
  .future-map { padding:25px 12px; gap:22px 8px; }
  .future-state { padding:12px 8px; font-size:14px; }
  .current-state { padding:18px 10px; }
  .current-state strong { font-size:16px; }
  .node-kicker { font-size:12px; }
  .lens-columns article { padding-right:38px; }
  .lens-columns article+article { padding-left:38px; }
  .learning-chain { grid-template-columns:repeat(2,1fr); gap:32px; }
  .learning-chain h3 { min-height:0; }
  .theory-section { gap:50px; }
}
@media(max-width:780px) {
  .darwin-hero { grid-template-columns:1fr; padding:44px 6% 0; gap:35px; }
  .darwin-hero h1 { font-size:clamp(53px,10vw,77px); margin:22px 0; }
  .darwin-hero .hero-description { font-size:22px; }
  .hero-explanation { font-size:17px; }
  .future-figure { width:100%; }
  .figure-header,.future-figure figcaption { padding-left:16px; padding-right:16px; }
  .future-map { min-height:330px; grid-template-columns:1fr 1fr 1.3fr; gap:22px 9px; }
  .darwin-hero-bottom { flex-direction:column; gap:10px; padding:21px 0; }
  .section { padding:55px 6%; }
  .intro-columns { grid-template-columns:1fr; gap:20px; }
  .question-pairs>div { display:none; }
  .question-pairs { border-top:1px solid #a8b6ac; margin-top:30px; }
  .question-pairs article { grid-template-columns:1fr; gap:12px; padding:23px 0; }
  .question-pairs h3 { font-size:21px; }
  .two-lenses { padding:50px 6% 36px; }
  .lenses-heading h2 { font-size:clamp(43px,8vw,60px); }
  .lens-columns { grid-template-columns:1fr; margin-top:32px; }
  .lens-columns article { padding:26px 0; }
  .lens-columns article+article { border-left:0; border-top:1px solid #617867; padding-left:0; }
  .lens-columns h3 { font-size:27px; }
  .learning-chain { grid-template-columns:1fr; gap:0; margin-top:32px; }
  .learning-chain article { display:grid; grid-template-columns:30px 1fr; gap:10px 16px; padding:23px 0; border-bottom:1px solid var(--line); }
  .chain-number { padding-top:3px; }
  .learning-chain h3 { margin:0; }
  .learning-chain p { grid-column:2; }
  .method-principle { grid-template-columns:1fr; gap:12px; margin-top:25px; }
  .example-section { padding:52px 6% 37px; }
  .example-top { display:block; }
  .example-top>p { max-width:500px; margin-top:22px; }
  .scenario-tabs { margin-top:27px; gap:0; }
  .scenario-tabs button { padding:14px 11px; font-size:14px; line-height:1.45; flex:1; text-align:left; }
  .scenario-panel { grid-template-columns:1fr; gap:32px; padding-top:31px; }
  .scenario-symptom h3 { font-size:42px; }
  .scenario-symptom p { max-width:560px; }
  .scenario-symptom h3 br { display:none; }
  .deliverable-list article { grid-template-columns:30px 1fr; gap:15px; padding:23px 0; }
  .deliverable-list h3 { font-size:23px; }
  .theory-section { padding:52px 6% 60px; grid-template-columns:1fr; gap:30px; }
  .theory-intro h2 { font-size:46px; }
  .theory-intro h2 br { display:none; }
  .contact h2 { font-size:clamp(54px,10vw,72px); }
  .button { max-width:100%; }
}
@media(max-width:370px) {
  .future-map { grid-template-columns:1fr 1fr; }
  .map-lines,.route-question { display:none; }
  .future-state { grid-column:2; }
  .darwin-hero h1 { font-size:49px; }
  .header .brand { width:160px; }
}
