/* Editorial diagrams and the pared-back site hierarchy. */
.hero {
  grid-template-columns:minmax(0,1.08fr) minmax(350px,.92fr);
  align-items:center;
  gap:clamp(44px,5vw,94px);
  padding-top:clamp(72px,8vw,118px);
  padding-bottom:clamp(78px,9vw,130px);
}
.hero h1 { font-size:clamp(68px,6.8vw,106px); }
.operating-thread {
  align-self:center;
  width:100%;
  margin:0;
  padding-top:19px;
  border-top:1px solid #4a5d51;
}
.operating-thread figcaption {
  color:#c9d7cc;
  font-size:14px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.thread-composition {
  display:grid;
  grid-template-columns:minmax(96px,120px) minmax(70px,1fr) minmax(125px,156px);
  align-items:center;
  min-height:290px;
}
.thread-sources {
  display:grid;
  align-items:center;
  grid-template-rows:repeat(3,1fr);
  height:270px;
}
.thread-sources span {
  color:#edf3ee;
  font-family:var(--serif);
  font-size:clamp(22px,2.1vw,30px);
  line-height:1.1;
}
.thread-paths { display:block; width:100%; height:270px; overflow:visible; }
.thread-paths path { fill:none; stroke:var(--green); stroke-width:1.5; opacity:.8; }
.thread-paths path:nth-child(1),.thread-paths path:nth-child(3) { opacity:.42; }
.thread-paths circle { fill:var(--green); }
.thread-result {
  padding-left:13px;
  color:var(--green);
  font-family:var(--serif);
  font-size:clamp(23px,2.2vw,32px);
  font-weight:400;
  line-height:1.18;
}
.operating-thread>p {
  padding-top:16px;
  border-top:1px solid #4a5d51;
  color:#b9c9bd;
  font-size:14px;
  line-height:1.5;
}
.services.section { padding-top:clamp(70px,7vw,105px); padding-bottom:clamp(70px,7vw,105px); }
.section-intro>p { max-width:390px; font-size:17px; }
.service-list { margin-top:40px; }
.service-item {
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:24px;
  padding:27px 0 30px;
  border-bottom:1px solid #bbc6bf;
}
.service-item h3 {
  font-family:var(--serif);
  font-size:clamp(28px,3vw,41px);
  font-weight:400;
  letter-spacing:-.025em;
  line-height:1.13;
}
.service-item p { max-width:760px; margin-top:10px; color:var(--muted); font-size:16px; }
.service-item .text-link { margin-top:10px; }
.service-item .service-number { padding-top:6px; }
.darwin { padding-top:clamp(65px,7vw,95px); padding-bottom:clamp(70px,8vw,110px); }
.darwin-intro { margin:25px 0 0; gap:clamp(40px,6vw,95px); }
.darwin-intro>div>p { max-width:525px; color:#d0dfd2; font-size:clamp(18px,1.65vw,22px); line-height:1.6; }
.darwin .outline-light { margin-top:30px; }
.approach-strip {
  display:grid;
  grid-template-columns:210px minmax(0,1fr);
  gap:32px;
  align-items:baseline;
  padding:37px 5.2%;
  background:#eaf0e9;
  border-bottom:1px solid #cad5ca;
}
.approach-strip>span { font-size:14px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.approach-strip p { max-width:960px; font-family:var(--serif); font-size:clamp(23px,2.15vw,30px); line-height:1.3; }
.about { border-top:0; }
.about-text>p:first-child { max-width:680px; color:#42564a; font-size:18px; }
.founder-experience li { padding:16px 0; }
.contact { padding-top:clamp(65px,7vw,100px); padding-bottom:clamp(70px,8vw,110px); }

/* Darwin's one explanatory map: possible futures, actual reach, and constraints. */
.darwin-hero {
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  align-items:center;
  gap:clamp(42px,5vw,92px);
  padding-top:clamp(70px,8vw,118px);
  padding-bottom:clamp(70px,8vw,115px);
}
.darwin-hero h1 { font-size:clamp(66px,6vw,96px); }
.darwin-hero .hero-description { max-width:510px; font-size:20px; line-height:1.6; color:#d1ded4; }
.future-figure {
  width:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  overflow:visible;
}
.future-figure .figure-header {
  display:block;
  padding:0 0 17px;
  border-bottom:1px solid #4a5d51;
  color:#dce8dc;
  font-family:var(--serif);
  font-size:clamp(22px,2vw,28px);
  line-height:1.25;
  letter-spacing:-.02em;
}
.future-figure .figure-header em { color:var(--green); }
.future-map {
  position:relative;
  display:block;
  width:100%;
  min-height:0;
  aspect-ratio:700 / 420;
  padding:0;
}
.future-map .map-lines { position:absolute; inset:0; width:100%; height:100%; }
.future-map>span { position:absolute; z-index:1; color:#d7e3d8; font-size:14px; line-height:1.27; }
.future-map .map-current { left:1%; top:74%; color:var(--green); font-family:var(--serif); font-size:24px; }
.future-map .map-field-label { right:5%; top:3%; color:#e7f2e4; font-family:var(--serif); font-size:clamp(23px,2.2vw,31px); line-height:1.13; }
.future-map .map-reachable { right:5%; top:69%; color:var(--green); }
.future-map .map-constraint { left:30%; top:40%; padding:2px 5px; background:var(--ink); }
.future-map .map-potential { right:3%; top:39%; color:#c5d2c6; }
.map-mobile { display:none; }
.future-figure .figure-note {
  margin:0;
  padding:16px 0 0;
  border-top:1px solid #4a5d51;
  color:#b8c9b9;
  font-size:14px;
  line-height:1.55;
}
.assessment-section { padding-top:clamp(72px,7vw,100px); padding-bottom:clamp(70px,7vw,100px); }
.deliverable-list { margin-top:34px; }
.deliverable-list article { padding:22px 0; }
.deliverable-list h3 { margin-bottom:6px; font-size:23px; }
.scope-note { margin-top:20px; }
.two-lenses { padding-top:clamp(65px,7vw,98px); padding-bottom:clamp(68px,7vw,96px); }
.lenses-heading h2 { margin-top:20px; }
.lens-columns { margin-top:36px; }
.lens-columns article { padding-top:27px; padding-bottom:27px; }
.lens-columns h3 { margin:16px 0 14px; font-size:27px; }
.lens-conclusion { margin-top:4px; }
.example-section { padding-top:clamp(65px,7vw,92px); padding-bottom:clamp(65px,7vw,92px); }
.scenario-panel { padding-top:35px; padding-bottom:23px; }
.scenario-symptom h3 { max-width:420px; }
.theory-section { padding-top:clamp(65px,7vw,92px); padding-bottom:clamp(65px,7vw,92px); }
.theory-summary { max-width:650px; padding-top:22px; color:#43574a; font-size:18px; line-height:1.65; }
.theory-summary p+p { margin-top:20px; }

@media (min-width:1600px) {
  .approach-strip { padding-left:max(5.2%,calc((100vw - 1450px)/2)); padding-right:max(5.2%,calc((100vw - 1450px)/2)); }
}
@media (max-width:1100px) {
  .hero { grid-template-columns:minmax(0,1fr) minmax(320px,.9fr); gap:32px; }
  .hero h1 { font-size:clamp(62px,6.8vw,80px); }
  .thread-composition { grid-template-columns:minmax(84px,105px) minmax(56px,1fr) minmax(102px,125px); }
  .thread-result { padding-left:8px; font-size:23px; }
  .darwin-hero { gap:32px; }
  .darwin-hero h1 { font-size:clamp(58px,6vw,72px); }
  .future-map .map-field-label { font-size:23px; }
}
@media (max-width:900px) {
  .hero,.darwin-hero { grid-template-columns:1fr; }
  .operating-thread,.future-figure { max-width:700px; }
  .hero { padding-top:62px; padding-bottom:72px; }
  .darwin-hero { padding-top:62px; padding-bottom:72px; }
}
@media (max-width:780px) {
  .hero { padding:54px 6% 72px; }
  .darwin-hero { padding:54px 6% 72px; }
  .operating-thread { max-width:none; }
  .approach-strip { grid-template-columns:1fr; gap:12px; padding:32px 6%; }
  .darwin-intro { gap:26px; }
  .darwin-intro>div>p { font-size:19px; }
  .service-item { grid-template-columns:32px minmax(0,1fr); gap:15px; }
  .service-item h3 { font-size:30px; }
  .future-map .map-field-label { font-size:clamp(22px,4vw,29px); }
}
@media (max-width:600px) {
  .thread-composition { grid-template-columns:minmax(0,1fr) minmax(118px,.7fr); gap:18px; min-height:0; padding:24px 0; }
  .thread-sources { height:auto; gap:12px; grid-template-rows:none; }
  .thread-sources span { font-size:25px; }
  .thread-paths { display:none; }
  .thread-result { border-left:1px solid var(--green); padding:12px 0 12px 16px; font-size:25px; }
  .future-map { display:none; }
  .map-mobile { display:grid; gap:0; list-style:none; padding:0; margin:17px 0 0; }
  .map-mobile li { padding:15px 0; border-bottom:1px solid #415448; color:#c8d6ca; font-size:16px; line-height:1.5; }
  .map-mobile strong { display:block; color:var(--green); font-weight:600; }
  .future-figure .figure-note { margin-top:16px; }
  .theory-summary { padding-top:0; font-size:17px; }
}
