
  :root { color-scheme:light; --canvas:#F6F2E9; --paper:#FFFDFA; --wash:#E1EEE8; --wash-strong:#D4E7DE; --ink:#17231F; --green:#174D42; --green-2:#24705E; --muted:#53655E; --faint:#78877F; --line:#D8D6CC; --coral:#C65F45; --coral-soft:#F3DCD3; --blue:#2D6685; --blue-soft:#DDEAF0; --max:80rem; --prose:43rem; --shadow:0 20px 60px rgba(30,55,45,.08); }
  * { box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body { margin:0; background:var(--canvas); color:var(--ink); font-family:"IBM Plex Sans",system-ui,-apple-system,sans-serif; font-size:1rem; line-height:1.65; -webkit-font-smoothing:antialiased; }
  img { max-width:100%; }
  a { color:var(--green-2); text-underline-offset:.22em; text-decoration-thickness:1px; }
  a:hover { text-decoration-thickness:2px; }
  :focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
  .skip { position:absolute; left:1rem; top:.5rem; z-index:100; background:var(--paper); color:var(--ink); padding:.65rem 1rem; transform:translateY(-160%); }
  .skip:focus { transform:none; }
  .wrap { width:min(100% - 3rem,var(--max)); margin-inline:auto; }
  .topbar { position:relative; display:flex; align-items:center; gap:1rem 2rem; flex-wrap:wrap; min-height:6.5rem; padding-block:1rem; }
  .brand { margin-right:auto; color:var(--ink); text-decoration:none; font-family:Georgia,"Times New Roman",serif; font-size:1.55rem; }
  .brand em { color:var(--coral); }
  .brand small { display:block; margin-top:.1rem; color:var(--muted); font:400 .72rem/1.4 "IBM Plex Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
  .navlinks { display:flex; align-items:center; gap:.2rem 1.5rem; flex-wrap:wrap; }
  .navlinks a { color:var(--ink); text-decoration:none; font-size:.9rem; min-height:44px; display:inline-flex; align-items:center; }
  .navlinks a:hover { color:var(--green-2); }
  .connect { display:inline-flex; align-items:center; min-height:44px; padding:.45rem 1rem; border:1px solid var(--green); border-radius:999px; color:var(--green); font-weight:600; text-decoration:none; }
  .hero { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(22rem,.88fr); min-height:42rem; background:var(--wash); box-shadow:var(--shadow); }
  .hero-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(2.5rem,6vw,5.25rem); }
  .eyebrow,.section-label,.item-kicker { font-family:"IBM Plex Mono",monospace; font-size:.72rem; line-height:1.4; letter-spacing:.14em; text-transform:uppercase; font-weight:500; }
  .eyebrow { color:var(--green-2); margin:0 0 1.5rem; }
  h1,h2,h3 { font-family:Georgia,"Times New Roman",serif; font-weight:400; }
  h1 { margin:0; max-width:13ch; font-size:clamp(2.8rem,5.6vw,5rem); line-height:1.02; letter-spacing:-.035em; }
  h1 em { color:var(--coral); font-weight:400; }
  .hero-lede { max-width:39rem; margin:1.7rem 0 0; color:#344A42; font-size:1.04rem; }
  .hero-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:2rem; }
  .button { min-height:46px; display:inline-flex; align-items:center; justify-content:center; padding:.65rem 1.05rem; border:1px solid var(--green); border-radius:999px; font-weight:600; font-size:.9rem; text-decoration:none; }
  .button.primary { background:var(--green); color:#fff; }
  .button.secondary { color:var(--green); background:transparent; }
  .button:hover { transform:translateY(-1px); box-shadow:0 8px 22px rgba(23,77,66,.12); }
  .hero-art { margin:0; min-width:0; overflow:hidden; background:#DBE5DB; }
  .hero-art img { display:block; width:100%; height:100%; object-fit:cover; object-position:67% center; }
  .topics { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; padding:1.15rem 0; border-bottom:1px solid var(--line); font-family:"IBM Plex Mono",monospace; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
  .topics span:nth-child(2),.topics span:nth-child(3) { text-align:center; }
  .topics span:last-child { text-align:right; }
  section { scroll-margin-top:1.5rem; }
  .wrap > section:not(.hero) { padding:6rem 0; border-bottom:1px solid var(--line); }
  .section-head { display:grid; grid-template-columns:10rem minmax(0,1fr); gap:2rem; align-items:start; }
  .section-label { color:var(--faint); padding-top:.5rem; }
  .section-label b { color:var(--coral); margin-right:.55rem; }
  .section-title { margin:0; max-width:19ch; font-size:clamp(2rem,4vw,3.35rem); line-height:1.1; letter-spacing:-.025em; }
  .section-title em { color:var(--green-2); font-weight:400; }
  .section-body { margin-left:12rem; max-width:var(--prose); color:var(--muted); }
  .section-body p { margin:1.3rem 0 0; }
  .quote { margin:2rem 0 0; padding-left:1.25rem; border-left:3px solid var(--coral); color:var(--green); font:400 clamp(1.4rem,2.5vw,2rem)/1.35 Georgia,"Times New Roman",serif; }
  .principles { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:3rem; background:var(--line); border:1px solid var(--line); }
  .principle { padding:1.6rem; background:var(--paper); }
  .principle .item-kicker { color:var(--coral); }
  .principle h3 { margin:.7rem 0 .6rem; font-size:1.45rem; line-height:1.2; color:var(--green); }
  .principle p { margin:0; color:var(--muted); }
  .metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:3rem; }
  .metric { padding:1.45rem; background:var(--paper); border-top:3px solid var(--green-2); }
  .metric strong { display:block; color:var(--green); font:400 2.45rem/1 Georgia,"Times New Roman",serif; }
  .metric b { display:block; margin-top:.65rem; font-size:.82rem; }
  .metric p { margin:.45rem 0 0; color:var(--muted); font-size:.92rem; }
  blockquote.testimonial { max-width:48rem; margin:2.5rem 0 0 12rem; padding:1.4rem 1.5rem; background:var(--wash); }
  blockquote.testimonial p { margin:0; font:400 1.25rem/1.5 Georgia,"Times New Roman",serif; color:var(--green); }
  blockquote.testimonial cite { display:block; margin-top:.75rem; color:var(--muted); font-style:normal; font-size:.84rem; }
  .writing-list { margin-top:2.5rem; border-top:1px solid var(--line); }
  .writing-item { display:grid; grid-template-columns:3rem 11rem 1fr 2rem; gap:1rem; align-items:center; padding:1.35rem 0; border-bottom:1px solid var(--line); color:inherit; text-decoration:none; }
  .writing-item:hover h3 { color:var(--coral); }
  .writing-num { color:var(--coral); font-family:"IBM Plex Mono",monospace; font-size:.75rem; }
  .writing-meta { color:var(--faint); font-family:"IBM Plex Mono",monospace; font-size:.68rem; line-height:1.55; text-transform:uppercase; letter-spacing:.06em; }
  .writing-item h3 { margin:0; color:var(--green); font-size:1.35rem; line-height:1.25; }
  .writing-item p { margin:.35rem 0 0; color:var(--muted); font-size:.91rem; }
  .writing-arrow { color:var(--green-2); font-size:1.4rem; }
  .text-link { display:inline-block; margin-top:1.5rem; font-weight:600; }
  .assessment-flow { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:2.5rem; }
  .assessment-step { padding-top:1rem; border-top:2px solid var(--coral); }
  .assessment-step b { color:var(--coral); font-family:"IBM Plex Mono",monospace; font-size:.72rem; }
  .assessment-step h3 { margin:.55rem 0 .35rem; color:var(--green); font-size:1.35rem; }
  .assessment-step p { margin:0; color:var(--muted); font-size:.92rem; }
  .work-intro { display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:end; margin-top:2.5rem; padding:2rem; background:var(--green); color:#F6FBF8; }
  .work-intro h3 { margin:0; max-width:25ch; font-size:2rem; line-height:1.18; }
  .work-intro p { max-width:48rem; margin:.8rem 0 0; color:#CFE1DA; }
  .work-intro .button { border-color:#fff; color:var(--green); background:#fff; white-space:nowrap; }
  .work-note { margin-top:1rem; color:var(--faint); font-size:.84rem; }
  .lens-block { margin-top:4rem; padding-top:3.5rem; border-top:1px solid var(--line); }
  .lens-block > h3 { margin:0; font-size:clamp(1.8rem,3.2vw,2.7rem); line-height:1.15; color:var(--green); }
  .lens-intro { max-width:var(--prose); margin:.9rem 0 1.75rem; color:var(--muted); }
  .lens { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr); gap:1.25rem; align-items:start; }
  .stage { background:var(--paper); border:1px solid var(--line); padding:1rem; }
  .stage svg { display:block; width:100%; height:auto; }
  .work-circle { fill:var(--paper); stroke:var(--ink); stroke-width:2.5; }
  .explain-circle { fill:var(--green-2); fill-opacity:.14; stroke:var(--green-2); stroke-width:2.5; }
  .ai-blob { fill:var(--blue); fill-opacity:.10; stroke:var(--blue); stroke-width:2.5; stroke-linejoin:round; }
  .hint-line { stroke:var(--faint); stroke-width:1.5; stroke-dasharray:3 6; }
  .hatch-line { stroke:var(--ink); stroke-width:1.5; opacity:.18; }
  .diagram-label { fill:var(--faint); font:500 18px "IBM Plex Mono",monospace; letter-spacing:1.2px; }
  .propbar { display:flex; gap:2px; margin-top:1rem; }
  .propcol { flex-basis:0; min-width:0; }
  .propcol.is-zero { display:none; }
  .propfill { height:18px; }
  .propcol.opportunity .propfill { background:linear-gradient(135deg,var(--green-2),var(--blue)); }
  .propcol.explainable .propfill { background:var(--wash-strong); border:1px solid var(--green-2); }
  .propcol.hard .propfill { background:repeating-linear-gradient(45deg,transparent 0 4px,var(--faint) 4px 5px); opacity:.55; }
  .proplabel { margin-top:.4rem; overflow:hidden; }
  .proplabel b { display:block; font-family:"IBM Plex Mono",monospace; font-size:.8rem; white-space:nowrap; }
  .proplabel span { display:block; color:var(--faint); font-size:.75rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .propcol.narrow .proplabel span { display:none; }
  .diagram-note { margin:.8rem 0 0; padding-top:.7rem; border-top:1px solid var(--line); color:var(--faint); font-size:.78rem; }
  .lens-controls { display:grid; gap:.8rem; }
  .preset { width:100%; min-height:44px; padding:.65rem .8rem; text-align:left; cursor:pointer; background:var(--paper); border:1px solid var(--line); color:var(--muted); font:inherit; }
  .preset:hover { border-color:var(--green-2); }
  .preset.active { background:var(--wash); border-color:var(--green-2); color:var(--ink); }
  .preset b { display:block; color:var(--green-2); font:500 .72rem/1.4 "IBM Plex Mono",monospace; text-transform:uppercase; letter-spacing:.08em; }
  .sliders { display:grid; gap:.8rem; }
  .control { background:var(--paper); border:1px solid var(--line); padding:.9rem; }
  .control-top { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; margin-bottom:.55rem; }
  .control label { color:var(--muted); font-family:"IBM Plex Mono",monospace; font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; }
  .control output { font:400 1.25rem/1 Georgia,"Times New Roman",serif; color:var(--green-2); }
  .control.blue output { color:var(--blue); }
  input[type="range"] { width:100%; accent-color:var(--green-2); }
  .control.blue input[type="range"] { accent-color:var(--blue); }
  .readouts { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; margin-top:1.25rem; }
  .readout { padding:1rem 1.1rem; background:var(--wash); }
  .readout:last-child { background:var(--paper); border:1px solid var(--line); }
  .readout .item-kicker { color:var(--faint); }
  .score { margin:.2rem 0 .4rem; font:400 2rem/1 Georgia,"Times New Roman",serif; color:var(--green); }
  .score small { font:400 .85rem/1.3 "IBM Plex Sans",sans-serif; color:var(--faint); }
  .verdict { margin:0; color:var(--muted); font-size:.88rem; }
  .talks { margin-top:2.5rem; }
  .talk-year { margin:1.5rem 0 .35rem; color:var(--coral); font-family:"IBM Plex Mono",monospace; font-size:.72rem; letter-spacing:.1em; }
  .talks ul { list-style:none; margin:0; padding:0; }
  .talks li { padding:.75rem 0; border-bottom:1px solid var(--line); }
  .talks span { display:block; color:var(--faint); font-size:.85rem; }
  details.service { margin-top:2rem; padding:1rem 1.2rem; background:var(--paper); border:1px solid var(--line); }
  details.service summary { cursor:pointer; color:var(--green-2); font-weight:600; min-height:36px; }
  .service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; padding-top:1rem; }
  .service-grid h3 { color:var(--green); font-size:1.15rem; }
  .service-grid ul { margin:0; padding-left:1.1rem; color:var(--muted); font-size:.9rem; }
  .closing { padding:5rem 0; background:var(--wash); border:0; }
  .closing-inner { display:flex; justify-content:space-between; align-items:center; gap:2rem; }
  .closing h2 { margin:0; max-width:26ch; color:var(--green); font-size:clamp(2rem,3.5vw,3rem); line-height:1.15; }
  footer { padding:1.4rem 0 2.5rem; color:var(--faint); font-size:.82rem; }
  footer .wrap { display:flex; flex-wrap:wrap; gap:.4rem 1.5rem; }
  footer a { margin-left:auto; }
  @media (max-width:68rem) { .hero { grid-template-columns:1fr 40%; min-height:38rem; } .section-head { grid-template-columns:8rem 1fr; } .section-body,blockquote.testimonial { margin-left:10rem; } .metrics { grid-template-columns:1fr 1fr; } .lens { grid-template-columns:1fr; } .lens-controls { grid-template-columns:repeat(3,1fr); } .sliders { grid-column:1 / -1; grid-template-columns:1fr 1fr; } }
  @media (max-width:50rem) { .wrap { width:min(100% - 2rem,var(--max)); } .topbar { min-height:auto; padding:1rem 0; } .brand { width:100%; } .navlinks { order:3; width:100%; gap:.2rem 1.1rem; } .connect { position:absolute; right:1rem; top:1rem; } .hero { grid-template-columns:1fr; } .hero-copy { padding:3rem 1.5rem; } .hero-art { min-height:25rem; } .topics { grid-template-columns:1fr 1fr; } .topics span:nth-child(n) { text-align:left; } section { padding:4.5rem 0; } .section-head { grid-template-columns:1fr; gap:.75rem; } .section-label { padding:0; } .section-body,blockquote.testimonial { margin-left:0; } .principles,.assessment-flow { grid-template-columns:1fr 1fr; } .writing-item { grid-template-columns:2.5rem 1fr 1.5rem; } .writing-meta { grid-column:2; } .writing-copy { grid-column:2; } .writing-arrow { grid-column:3; grid-row:1 / span 2; } .work-intro { grid-template-columns:1fr; align-items:start; } .lens-controls { grid-template-columns:1fr; } .sliders { grid-column:auto; grid-template-columns:1fr; } .readouts { grid-template-columns:1fr; } .service-grid { grid-template-columns:1fr; } .closing-inner { align-items:flex-start; flex-direction:column; } }
  @media (max-width:34rem) { .connect { display:none; } .navlinks a { font-size:.84rem; } .hero-art { min-height:20rem; } .topics,.principles,.metrics,.assessment-flow { grid-template-columns:1fr; } h1 { font-size:2.75rem; } .writing-item { grid-template-columns:2rem 1fr; } .writing-meta,.writing-copy { grid-column:2; } .writing-arrow { display:none; } }
  @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }

:root{--canvas:#faf9f5;--paper:#fff;--faint:#5d7067;--line:#d6ded8;--max:76rem}
[hidden]{display:none!important} .eyebrow,.section-label,.item-kicker,.writing-meta,.topics,.brand small{font-size:.875rem;letter-spacing:.06em}
.topbar{min-height:6rem}.brand small{font-size:.75rem}.navlinks a{font-size:.95rem}.hero{min-height:35rem;grid-template-columns:1.16fr 1fr;box-shadow:none;border:1px solid var(--line)}
.hero-copy{padding:clamp(2rem,4vw,3.6rem)}h1{font-size:clamp(2.8rem,4.65vw,4.5rem);max-width:13ch;line-height:1.08}.hero-lede{font-size:1.08rem}.hero-art img{object-position:78% center}
.topics{grid-template-columns:1.35fr 1fr 1.2fr 1fr;font-size:.8rem;line-height:1.5;padding:1.35rem 0}
.wrap>section:not(.hero){padding:4.5rem 0}.section-head{grid-template-columns:11rem 1fr;gap:2rem}.section-body{margin-left:13rem}.section-title{max-width:24ch;font-size:clamp(2rem,3.5vw,3rem)}
.featured-work{display:grid;grid-template-columns:1.1fr 1fr;margin-top:2rem;background:#174d42;color:white}.featured-copy{padding:2.4rem}.featured-copy h3{font-size:2.4rem;line-height:1.15;margin:0 0 1rem}.featured-copy p{color:#e0eee6}.featured-copy .eyebrow{color:#c6e1d6}.featured-copy .button{background:#fff;color:#174d42}.feature-meta{display:block;font-size:.875rem;color:#d6e6df;margin-top:1rem}
.featured-image{display:flex;flex-direction:column;justify-content:center;padding:2.4rem;background:#deebe4;text-decoration:none;color:#174d42;min-width:0}.featured-image img{width:100%;height:280px;object-fit:cover;object-position:top;box-shadow:0 12px 30px #143d4220}.featured-image span{font-size:.9rem;margin-top:1rem}
.assessment-detail .section-body{margin-left:0}.assessment-detail{margin-top:2rem}.metric b{font-size:.95rem}.metrics{gap:.8rem}blockquote.testimonial{margin-left:13rem}.topic-links{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}.topic-links a,.topic-filter{display:inline-flex;align-items:center;border:1px solid #a4b6ac;border-radius:2rem;padding:.5rem .9rem;min-height:44px;text-decoration:none;color:#174d42;font:inherit;background:transparent}.topic-links a:hover,.topic-filter:hover,.topic-filter[aria-pressed=true]{color:white;background:#174d42}
.writing-item{grid-template-columns:2rem 12rem 1fr 2rem}.writing-meta{font-size:.8rem;color:#53655e}.writing-item p{font-size:1rem}.writing-item h3{font-size:1.5rem}.writing-num{font-size:.875rem}.lens-block{margin-top:0}.lens-block .section-label{margin-bottom:1rem}.diagram-note,.work-note,.proplabel span,.control label,.preset b{font-size:.875rem}
.talks-label{margin-top:2rem;font-weight:600}.talks{margin-top:1rem}.contact-copy{max-width:44rem;color:#425a4e;font-size:1.05rem}.contact-action{min-width:14rem;max-width:18rem}.contact-action p{color:#53655e;font-size:.9rem}.closing h2{max-width:25ch}.personal-note{font-size:.875rem;color:#53655e;padding-bottom:1.5rem}
.archive-header{padding:4rem 0 2rem;border-bottom:1px solid var(--line)}.archive-header h1{max-width:18ch}.archive-header p{max-width:43rem;color:var(--muted);font-size:1.1rem}.archive-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:2rem 0 1rem}.archive-count{color:var(--muted);font-size:.9rem}.archive-list{margin:1.5rem 0 4rem}.archive-card{display:grid;grid-template-columns:13rem 1fr;gap:2rem;padding:2rem 0;border-top:1px solid var(--line)}.archive-card h2{font-size:1.8rem;line-height:1.2;margin:0 0 .65rem}.archive-card p{max-width:46rem;margin:.5rem 0 1rem;color:var(--muted)}.archive-card .item-kicker{color:var(--muted)}.archive-card .text-link{margin:0}.archive-date{font-size:.875rem;color:var(--muted)}
@media(max-width:68rem){.section-body,blockquote.testimonial{margin-left:0}.featured-copy,.featured-image{padding:1.5rem}.hero{grid-template-columns:1.15fr 1fr}.topics{grid-template-columns:1fr 1fr}.topics span:nth-child(n){text-align:left}}
@media(max-width:50rem){.hero{grid-template-columns:1fr}.hero-art{min-height:0;height:23rem}.hero-art img{object-position:78% 43%}.hero-copy{padding:2.3rem 1.5rem}.section-head{grid-template-columns:1fr;gap:.5rem}.wrap>section:not(.hero){padding:3.2rem 0}.featured-work{grid-template-columns:1fr}.featured-image img{height:240px}.featured-copy h3{font-size:2rem}.topbar{gap:.4rem}.navlinks{gap:.3rem 1.15rem}.brand{width:auto}.connect{display:none}.navlinks a{font-size:.9rem}.writing-item{grid-template-columns:2rem 1fr 1rem}.writing-meta{grid-column:2}.writing-copy{grid-column:2}.archive-card{grid-template-columns:1fr;gap:.75rem}.contact-action{max-width:none}.archive-header{padding-top:2.5rem}.topic-filter{font-size:.9rem}}
@media(max-width:34rem){.hero-art{height:19rem}.hero-art img{object-position:79% center}.topics{grid-template-columns:1fr 1fr}.topics span{font-size:.75rem}.hero-actions .button{width:100%}.writing-item{grid-template-columns:1.5rem 1fr}.metrics{grid-template-columns:1fr 1fr}.metric{padding:1rem}.metric strong{font-size:2rem}.principles{grid-template-columns:1fr}.assessment-flow{grid-template-columns:1fr 1fr}.control label{font-size:.8rem}}
