:root{--ink:#121b19;--green:#bbed99;--white:#fff;--muted:#5a6560;--line:#d9dedb;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}p,h1,h2,h3{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:1.04}h3{font-weight:500;line-height:1.2}em{font-weight:400}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #60843e;outline-offset:5px}::selection{background:var(--green);color:var(--ink)}.skip-link{position:fixed;left:16px;top:-80px;z-index:20;background:#fff;padding:12px}.skip-link:focus{top:10px}
.header{height:100px;padding:0 5.2%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:#fff}.brand{width:218px;flex-shrink:0;line-height:0}.brand img{width:100%;height:auto}.header nav{display:flex;gap:32px;align-items:center;font-size:14px;font-weight:500}.header nav a{padding:10px 0}.header nav a:hover{text-decoration:underline;text-underline-offset:6px}.header nav .nav-contact{border:1px solid var(--ink);padding:10px 24px;border-radius:3px}.menu-toggle{display:none}
.hero{background:var(--ink);color:#fff;padding:84px 5.2% 0;display:grid;grid-template-columns:1.15fr 1fr;gap:48px 60px;overflow:hidden}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.12em;font-weight:600;line-height:1.7}.eyebrow.light{color:#c5d0c9}.hero h1{font-size:clamp(64px,6.5vw,100px);margin:27px 0}.hero h1 em{color:var(--green)}.hero-description{max-width:465px;font-size:18px;line-height:1.65;color:#d1d9d3}.button{display:inline-flex;justify-content:center;align-items:center;padding:16px 26px;border-radius:3px;font-size:14px;font-weight:600;min-height:52px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--green);color:var(--ink);margin-top:32px}.primary:hover{background:#d1f4b9}.hero-note{font-size:12px;color:#a6b6ac;margin-top:18px}.architecture{max-width:580px;align-self:center;width:100%;background:#18231f;border:1px solid #35443c;border-radius:4px}.diagram-heading{display:flex;justify-content:space-between;gap:15px;padding:20px 24px;color:#b9c9bf;font-size:12px;border-bottom:1px solid #35443c}.diagram-index{color:var(--green);font-variant-numeric:tabular-nums}.system-map{display:block;width:100%;height:auto}.diagram-footer{display:flex;justify-content:space-between;border-top:1px solid #35443c;padding:15px 25px;font-size:14px;color:#cedacf}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #35443c;padding:24px 0;font-size:12px;letter-spacing:.04em;color:#adbbb2}.hero-bottom a{color:#e4eee6}.hero-bottom a:hover{text-decoration:underline}
.section{padding:94px 5.2%;display:grid;grid-template-columns:210px 1fr;gap:32px}.section-label{display:flex;align-items:baseline;gap:12px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;line-height:1.8;padding-top:9px}.section-number{color:#77827b;font-variant-numeric:tabular-nums}.section h2{font-size:clamp(42px,4.2vw,64px)}.perspective-content h2{max-width:870px}.perspective-text{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:38px;max-width:940px;color:var(--muted)}.friction{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.friction span{font-size:12px;padding:5px 13px;border:1px solid var(--line);border-radius:30px}.services{background:#f4f6f4}.section-intro{display:flex;gap:40px;align-items:flex-end;justify-content:space-between}.section-intro>p{color:var(--muted);max-width:310px}.service-list{margin-top:46px;border-top:1px solid #bbc6bf}.service-list details{border-bottom:1px solid #bbc6bf}.service-list summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:54px 1fr 24px;gap:20px;padding:28px 0;align-items:center;font-size:26px;line-height:1.25;letter-spacing:-.035em}.service-list summary::-webkit-details-marker{display:none}.service-number{font-size:12px;color:#64756a;letter-spacing:0;align-self:start;padding-top:7px}.expand{position:relative;width:24px;height:24px}.expand:before,.expand:after{position:absolute;content:'';background:var(--ink);left:4px;top:11px;width:16px;height:1px}.expand:after{transform:rotate(90deg)}details[open] .expand:after{transform:rotate(0)}.service-detail{padding:0 40px 28px 74px;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;color:var(--muted)}.service-detail ul{margin:0;padding-left:18px;font-size:14px;line-height:1.8}.service-detail li+li{margin-top:8px}
.darwin{background:#172a22;color:#fff;padding:65px 5.2% 50px}.darwin-top{display:flex;justify-content:space-between;gap:24px}.darwin-tag{font-size:12px;color:#c4d2c7;border:1px solid #52655a;padding:4px 13px;border-radius:30px}.darwin-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;margin:55px 0 60px;align-items:center}.darwin h2{font-size:clamp(60px,6.5vw,100px)}.darwin h2 em{color:var(--green)}.darwin-lead{font-size:clamp(23px,2.3vw,32px);line-height:1.5;letter-spacing:-.025em;margin-bottom:25px}.darwin-intro>div>p:last-child{max-width:480px;color:#becfc2}.darwin-principles{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #516459}.darwin-principles article{padding:32px 40px 30px 0}.darwin-principles article+article{border-left:1px solid #516459;padding-left:40px}.principle-index{font-size:12px;color:var(--green);letter-spacing:.03em}.darwin-principles h3{font-size:28px;margin:20px 0 16px;letter-spacing:-.025em}.darwin-principles p{color:#c0d1c4;font-size:14px;max-width:315px}.darwin-output{border-top:1px solid #516459;display:grid;grid-template-columns:210px 1fr;gap:32px;padding-top:25px;font-size:14px;color:#c0d1c4}.darwin-output>span{color:var(--green);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.darwin-output p{max-width:820px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:50px}.step-number{display:block;font-family:var(--serif);font-size:42px;line-height:1;color:#6a8070;padding-bottom:20px;border-bottom:1px solid var(--line)}.steps h3{font-size:24px;margin:24px 0 14px}.steps p{font-size:14px;color:var(--muted)}.approach-note{margin-top:38px;padding-top:22px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}.about{padding-top:70px;border-top:1px solid var(--line)}.about-content{display:grid;grid-template-columns:1.1fr 1fr;gap:60px}.about h2{font-size:clamp(36px,3.3vw,48px);margin-top:20px;line-height:1.1}.about-text{color:var(--muted);padding-top:36px}.about-text p+p{margin-top:18px}.about-text .founder-belief{color:var(--ink);font-weight:500}
.contact{background:var(--green);padding:65px 5.2% 80px}.contact-main{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center;margin-top:28px}.contact h2{font-size:clamp(60px,6.5vw,94px)}.contact-action p{max-width:370px;font-size:18px}.dark{background:var(--ink);color:#fff;margin-top:26px}.dark:hover{background:#2c3f36}.email{display:block;font-size:14px;margin-top:17px;width:fit-content;overflow-wrap:anywhere}.email:hover{text-decoration:underline}footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:34px 5.2%;font-size:12px}footer p{color:var(--muted)}footer>span{color:var(--muted)}.footer-brand{font-size:24px;font-weight:700;line-height:1.1;letter-spacing:-.03em}.footer-brand span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:500;margin-top:7px}
@media(min-width:1600px){.header,.hero,.section,.darwin,.contact,footer{padding-left:max(5.2%,calc((100vw - 1450px)/2));padding-right:max(5.2%,calc((100vw - 1450px)/2))}}
@media(max-width:1100px){.section{grid-template-columns:150px 1fr}.hero{gap:40px;padding-top:65px}.hero h1{font-size:70px}.hero-description{font-size:16px}.section-intro{display:block}.section-intro>p{max-width:550px;margin-top:20px}.about-content{gap:35px}.darwin-intro,.contact-main{gap:40px}.service-detail{grid-template-columns:1fr;gap:22px}.darwin-output{grid-template-columns:150px 1fr}.header nav{gap:20px}.brand{width:190px}}
@media(max-width:780px){html{scroll-padding-top:20px}.header{height:84px;padding:0 6%;position:relative}.brand{width:185px}.menu-toggle{display:block;border:1px solid var(--ink);border-radius:3px;padding:8px 16px;background:#fff;font-size:14px;cursor:pointer}.header nav{display:none;position:absolute;top:84px;left:0;right:0;z-index:5;background:#fff;padding:20px 6% 28px;border-top:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:12px;box-shadow:0 12px 20px #0001}.header nav.is-open{display:flex}.hero{grid-template-columns:1fr;padding:50px 6% 0;gap:36px}.hero h1{font-size:clamp(54px,10.5vw,80px);margin:22px 0}.hero-description{font-size:17px}.architecture{max-width:none}.system-map{max-height:370px}.hero-bottom{padding:20px 0;flex-wrap:wrap;gap:10px}.section{padding:60px 6%;grid-template-columns:1fr;gap:26px}.section-label{padding:0}.section h2{font-size:clamp(40px,7.8vw,58px)}.perspective-text{grid-template-columns:1fr;gap:20px;margin-top:27px}.friction{gap:8px;margin-top:24px}.service-list{margin-top:32px}.service-list summary{font-size:23px;gap:14px;grid-template-columns:30px 1fr 24px;padding:24px 0}.service-detail{padding:0 0 26px 44px}.darwin{padding:48px 6%}.darwin-top{flex-direction:column;gap:12px;align-items:flex-start}.darwin-intro{grid-template-columns:1fr;margin:35px 0 40px;gap:30px}.darwin h2{font-size:72px}.darwin-lead{font-size:26px}.darwin-principles{grid-template-columns:1fr}.darwin-principles article{padding:26px 0}.darwin-principles article+article{border-left:0;border-top:1px solid #516459;padding-left:0}.darwin-principles h3 br{display:none}.darwin-principles h3{font-size:25px;margin:14px 0}.darwin-principles p{max-width:none}.darwin-output{grid-template-columns:1fr;gap:12px}.steps{grid-template-columns:1fr;gap:26px;margin-top:30px}.steps h3{margin-top:20px}.steps p{font-size:16px}.step-number{font-size:36px;padding-bottom:12px}.about-content{grid-template-columns:1fr;gap:24px}.about h2{font-size:42px}.about-text{padding:0}.contact{padding:50px 6%}.contact-main{grid-template-columns:1fr;gap:30px}.contact h2{font-size:72px}.contact-action p{font-size:17px}footer{padding:30px 6%;flex-wrap:wrap;gap:22px}footer p{max-width:220px}footer>span{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Shared refinements for the two-page site. */
.eyebrow,.hero-note,.section-label,.service-number,.principle-index,.darwin-tag,.darwin-output>span,.hero-bottom,.diagram-heading,.friction span,footer,footer>span { font-size:14px; }
.section-number { color:#596b5f; }
.service-number { color:#4e6657; }
.diagram-heading { color:#c7d5cc; }
.hero-note { color:#bdccc2; }
.steps p,.service-detail ul,.darwin-principles p,.darwin-output { font-size:16px; }
.header nav a { min-height:44px; display:inline-flex; align-items:center; }
.text-link { display:inline-block; text-decoration:underline; text-underline-offset:5px; font-size:16px; margin-top:16px; }
.outline-light { color:var(--green); border:1px solid #95bb7f; margin-top:27px; }
.outline-light:hover { background:#284231; }
.darwin-intro { margin-bottom:40px; }
.contact-action .contact-note { font-size:14px; line-height:1.7; margin-top:25px; max-width:430px; }
.questions { background:#f4f6f4; }
.practical-questions { margin-top:34px; border-top:1px solid #a8b6ac; }
.practical-questions details { border-bottom:1px solid #bbc7bf; }
.practical-questions summary { padding:23px 24px 23px 0; font-size:21px; cursor:pointer; line-height:1.4; }
.practical-questions details p { padding:0 20px 26px 0; max-width:820px; color:var(--muted); font-size:16px; }
.footer-brand span { font-size:12px; }
.footer-nav { display:flex; flex-wrap:wrap; gap:8px 23px; font-size:14px; }
.footer-nav a { padding:7px 0; }
.footer-nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.not-found { padding:85px 5.2%; min-height:calc(100vh - 100px); }
.not-found h1 { font-size:clamp(54px,7vw,104px); margin:25px 0; }
.not-found>p:last-of-type { max-width:540px; color:var(--muted); font-size:18px; }
.not-found>div { display:flex; flex-wrap:wrap; align-items:center; gap:24px; }
.not-found .text-link { margin-top:26px; }

/* Founder background, grounded in the linked professional profile. */
.about-content { grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr); gap:40px; align-items:start; }
.founder-profile img { display:block; width:100%; max-width:280px; height:auto; border-radius:4px; }
.founder-profile h2 { font-size:clamp(32px,3vw,42px); margin:22px 0 8px; }
.founder-role { font-size:14px; color:var(--muted); }
.founder-profile .text-link { margin-top:14px; }
.about-text { padding-top:0; }
.experience-heading { font-size:18px; margin-top:30px; }
.founder-experience { list-style:none; margin:17px 0 0; padding:0; border-top:1px solid var(--line); }
.founder-experience li { padding:18px 0; border-bottom:1px solid var(--line); }
.founder-experience h4 { margin:0; color:var(--ink); font-size:18px; font-weight:500; line-height:1.4; }
.founder-experience .experience-role { color:#425b4a; font-size:14px; margin-top:4px; }
.founder-experience p+p { margin-top:10px; }

@media(max-width:780px) {
  .header { height:auto; min-height:84px; padding:16px 6%; flex-wrap:wrap; gap:14px; }
  .menu-toggle { display:none; }
  .header nav { position:static; display:flex; width:100%; padding:0; border:0; flex-direction:row; flex-wrap:wrap; gap:6px 20px; box-shadow:none; }
  .menu-ready .header { height:84px; padding:0 6%; flex-wrap:nowrap; }
  .menu-ready .menu-toggle { display:block; min-height:44px; }
  .menu-ready .header nav { position:absolute; top:84px; left:0; right:0; display:none; padding:20px 6% 28px; border-top:1px solid var(--line); flex-direction:column; flex-wrap:nowrap; gap:8px; box-shadow:0 12px 20px #0001; }
  .menu-ready .header nav.is-open { display:flex; }
  .darwin h2,.contact h2 { font-size:clamp(52px,10vw,72px); }
  .darwin-output { font-size:16px; }
  .system-map .system-labels text,.system-map .system-center-labels text { font-size:26px; }
  .practical-questions summary { font-size:20px; }
  .footer-nav { width:100%; }
  .not-found { padding:55px 6%; }
  .about-content { grid-template-columns:1fr; gap:28px; }
  .about .founder-profile h2 { font-size:clamp(32px,7vw,42px); }
}
