/* The public site: warm paper, navy ink, generous type and quiet movement. */
.public-shell {
  --paper: #f7f3eb; --surface: #fffdf8; --ink: #172d3e; --night: #172d3e;
  --muted: #626b70; --line: #dcdacf; --accent: #806742; --accent-light: #dbc69f;
  --light-text: #f7f1e5; --light-muted: #c1c9cd;
  --section-space: clamp(64px, 7vw, 108px);
  color: var(--ink); background: var(--paper);
}
.public-shell.accent-steel { --accent: #365e72; --accent-light: #bdd3df; }
.public-shell.accent-forest { --accent: #365c47; --accent-light: #c3d8be; }
.public-shell.accent-oxblood { --accent: #8a3a36; --accent-light: #e9bbb1; }
.public-shell .public-container, .public-shell .public-header__inner { width: min(1160px, calc(100% - 96px)); }
.public-shell .public-header { background: var(--night); }
.public-shell .public-header__inner { min-height: 89px; padding-block: 18px; }
.public-shell .wordmark__name { font-size: 29px; }
.public-shell .wordmark__descriptor { letter-spacing: .12em; font-size: 8px; color: #bac4cb; }
.public-shell .public-nav { gap: 30px; }
.public-shell .public-nav a { position: relative; border: 0; color: #e3e3df; font-size: 13px; }
.public-shell .public-nav a::after { content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background: var(--accent-light); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.public-shell .public-nav a:hover::after, .public-shell .public-nav a.is-active::after { transform: scaleX(1); }
.public-shell .button { border-radius: 100px; min-height: 49px; padding: 12px 22px; transition: transform .25s ease, background .25s ease; }
.public-shell .button:hover { transform: translateY(-2px); }
.public-shell .arrow-link .icon, .public-shell .text-action .icon, .contact-email .icon { transition: transform .25s ease; }
.public-shell .arrow-link:hover .icon, .public-shell .text-action:hover .icon, .contact-email:hover .icon { transform: translate(3px, -2px); }
.public-shell .eyebrow { letter-spacing: .12em; font-size: 10px; }
.public-shell .public-section { background: var(--paper); }
.public-shell .public-section--ink { background: var(--night); color: var(--light-text); }
.public-shell .section-head { margin-bottom: 44px; }
.public-shell .section-head h2 { font-size: clamp(35px, 3.8vw, 51px); max-width: 650px; }
.public-shell .section-head > a { white-space: nowrap; }
.public-shell .tag { border-radius: 100px; padding: 4px 11px; }
.human-hero { background: var(--night); color: var(--light-text); overflow: clip; }
.human-hero__grid { display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(0, 1fr); gap: 80px; align-items: center; padding-block: 60px 65px; }
.human-hero .eyebrow { color: var(--accent-light); margin-bottom: 25px; }
.human-hero h1 { font: 400 clamp(68px, 7.4vw, 103px)/.98 var(--serif); letter-spacing: -.055em; text-wrap: initial; }
.human-hero h1 em { color: var(--accent-light); font-weight: 400; }
.human-hero__intro { max-width: 445px; margin-top: 30px; color: #c7d0d5; line-height: 1.85; font-size: 16px; }
.human-hero .hero-actions { margin-top: 28px; gap: 23px; }
.human-hero .text-action { font-size: 13px; font-weight: 400; }
.human-portrait { position: relative; padding-top: 8px; max-width: 390px; width: 100%; justify-self: end; }
.human-portrait__frame { border-radius: 48% 48% 3px 3px; overflow: hidden; background: #94836c; position: relative; }
.human-portrait__frame::after { content: ""; position: absolute; inset: 10px; border: 1px solid #fff7e144; border-radius: inherit; pointer-events: none; }
.human-portrait img { width: 100%; aspect-ratio: 4 / 4.9; object-fit: cover; object-position: 50% 30%; transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.human-portrait:hover img { transform: scale(1.025); }
.human-portrait figcaption { display: flex; justify-content: space-between; align-items: start; gap: 16px; margin-top: 22px; font-size: 13px; }
.human-portrait figcaption small { display: block; font-size: 11px; color: #afbec7; margin-top: 4px; }
.portrait-note { font: italic 19px/1.35 var(--serif); color: #dccaab; transform: rotate(-4deg); text-align: right; }
.portrait-flourish { position: absolute; right: -30px; bottom: -16px; width: 110px; color: var(--accent-light); transform: rotate(-8deg); pointer-events: none; }
.portrait-flourish path { stroke: currentColor; stroke-width: 1.2; stroke-linecap: round; }
.hero-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 21px; border-top: 1px solid #ffffff26; font-size: 11px; color: #bac7cc; }
.hero-bottom > span { letter-spacing: .08em; }
.hero-bottom a { display: flex; align-items: center; gap: 7px; min-height: 30px; }
.hero-bottom a:hover { color: white; }
.hero-bottom .icon { width: 15px; }
.proof-strip { background: #eee7d9; }
.proof-strip__inner { display: flex; justify-content: space-between; align-items: center; gap: 28px; padding-block: 29px; }
.proof-strip p { display: flex; flex-direction: column; gap: 5px; }
.proof-strip strong { font: 400 25px/1.15 var(--serif); }
.proof-strip span { font-size: 11px; color: var(--muted); }
.proof-strip .proof-note { font: italic 20px/1.3 var(--serif); color: #736a58; }
.work-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 55px 38px; }
.work-card { min-width: 0; }
.work-card--featured { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(0, 1fr); align-items: center; gap: 48px; }
.work-card__visual { display: block; border-radius: 12px; overflow: hidden; }
.work-card__copy { padding-top: 25px; }
.work-card--featured .work-card__copy { padding-block: 10px; }
.work-meta { font-size: 10px; color: var(--accent); display: flex; flex-wrap: wrap; gap: 6px 16px; }
.work-meta span { color: var(--muted); }
.work-card h3 { font: 400 clamp(28px, 2.8vw, 36px)/1.12 var(--serif); letter-spacing: -.03em; margin-top: 13px; max-width: 420px; }
.work-card h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.work-card__copy > p:not(.work-meta) { color: var(--muted); margin-top: 16px; font-size: 14px; line-height: 1.85; max-width: 460px; }
.work-card .arrow-link { margin-top: 16px; }
.project-art { min-height: 295px; padding: 25px 28px 20px; display: flex; flex-direction: column; justify-content: space-between; transition: filter .3s ease; overflow: hidden; }
.project-art--lending { background: #e5e8e3; color: #293f43; }
.project-art--bonds { background: #243e50; color: #e3e7e8; }
.project-art--scorecard { background: #eae1d2; color: #4a443c; }
.art-label { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; font: 9px/1.5 var(--mono); }
.art-label span:first-child { text-transform: uppercase; letter-spacing: .11em; }
.art-label span:last-child { opacity: .75; }
.art-foot { display: flex; justify-content: space-between; gap: 15px; border-top: 1px solid currentColor; border-color: #71858e44; padding-top: 14px; font-size: 10px; }
.art-foot > span { white-space: nowrap; opacity: .75; }
.report-map { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 15px; padding: 30px 4px; }
.report-map > div { display: flex; flex-direction: column; gap: 12px; align-items: center; }
.report-map strong { font-size: 10px; font-weight: 500; }
.report-mark { display: flex; gap: 4px; align-items: flex-end; width: 44px; height: 28px; }
.report-mark i { display: block; width: 8px; height: 18px; background: #58716e; border-radius: 2px 2px 0 0; transition: transform .35s ease; transform-origin: bottom; }
.report-mark i:nth-child(2) { height: 28px; background: #9cae9b; }
.report-mark i:nth-child(3) { height: 13px; }
.report-mark i:nth-child(4) { height: 22px; background: #b19e77; }
.report-mark--1 { flex-direction: column; gap: 3px; align-items: center; height: 28px; }
.report-mark--1 i { height: 5px; width: 38px; border-radius: 1px; }
.report-mark--1 i:nth-child(2) { width: 28px; }.report-mark--1 i:nth-child(3) { width: 20px; }.report-mark--1 i:nth-child(4) { width: 11px; }
.report-mark--3 { display: grid; grid-template-columns: 1fr 1fr; width: 30px; }
.report-mark--3 i { width: 12px; height: 12px; border-radius: 2px; }
.report-mark--4 { flex-direction: row-reverse; }.report-mark--5 i { border-radius: 20px; }
.work-card__visual:hover .report-mark i { transform: scaleY(.85); }
.bond-art svg { display: block; width: 100%; max-height: 180px; margin: 18px auto; }
.art-gridline { stroke: #ffffff14; stroke-width: 1; }
.art-curve { stroke: #d8c5a0; stroke-width: 2.5; stroke-linecap: round; transition: transform .5s ease; }
.art-curve--back { stroke: #87a8b3; stroke-width: 1.3; }.art-curve--front { stroke: #78908e; stroke-width: 1.3; }
.work-card__visual:hover .art-curve--back { transform: translateY(-5px); }
.work-card__visual:hover .art-curve--front { transform: translateY(5px); }
.score-art { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 18px; text-align: center; }
.score-art > span { font-size: 10px; }.score-art i { font-style: normal; color: #988b76; }
.score-art strong { font: italic 30px/1.08 var(--serif); padding-block: 6px; }
.roadmap-feature { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.1fr); gap: 90px; align-items: center; }
.roadmap-cover-link { display: block; max-width: 380px; margin-inline: auto; width: 100%; perspective: 1000px; }
.roadmap-cover { position: relative; display: flex; flex-direction: column; padding: 35px 36px 26px; min-height: 450px; background: #ddd0b4; color: #233a42; border-radius: 3px 12px 12px 3px; box-shadow: -9px 5px 0 #a1977f, 0 22px 35px #0003; transform: rotate(-4deg); transition: transform .45s cubic-bezier(.2,.8,.2,1); }
.roadmap-cover::before { position: absolute; content: ""; left: 10px; top: 0; bottom: 0; width: 1px; background: #0002; }
.roadmap-cover-link:hover .roadmap-cover { transform: rotate(-1deg) translateY(-5px); }
.roadmap-cover > span { font-size: 10px; letter-spacing: .03em; }
.roadmap-cover > strong { font: 400 clamp(42px, 4vw, 59px)/1 var(--serif); letter-spacing: -.05em; margin-top: 45px; }
.roadmap-cover > strong em { font-weight: 400; }
.cover-path { display: flex; align-items: center; justify-content: space-between; margin: 34px 0; position: relative; }
.cover-path::before { content: ""; position: absolute; inset: 50% 0 auto; height: 1px; background: #6f806f; }
.cover-path i { position: relative; display: block; width: 12px; height: 12px; border: 1px solid #465f59; background: #ddd0b4; border-radius: 50%; }
.cover-path i:first-child { background: #465f59; }
.roadmap-cover p { font: 19px/1.4 var(--serif); }.roadmap-cover small { font-size: 9px; margin-top: auto; padding-top: 24px; }
.roadmap-copy h2, .human-note h2, .contact-inner h2, .build-principles h2 { font: 400 clamp(36px, 4vw, 54px)/1.1 var(--serif); letter-spacing: -.04em; }
.roadmap-copy > p:not(.hand-note) { margin-top: 23px; font-size: 15px; color: #c1cdd3; line-height: 1.9; max-width: 420px; }
.roadmap-copy .hand-note { font: italic 24px/1.3 var(--serif); color: var(--accent-light); margin: 25px 0; }
.human-note { display: grid; grid-template-columns: 1.2fr 1fr; gap: 70px; }
.human-note p { color: var(--muted); font-size: 15px; margin-bottom: 18px; line-height: 1.9; }
.contact-section { background: #eae3d5; padding-block: 72px; }
.contact-inner { display: grid; grid-template-columns: 1.2fr 1fr; gap: 70px; align-items: center; }
.contact-inner h2 em { font-weight: 400; }.contact-inner p { color: #5c6467; font-size: 15px; max-width: 400px; }
.contact-email { display: inline-flex; align-items: center; gap: 15px; font: 400 clamp(20px, 2.2vw, 28px)/1.4 var(--serif); border-bottom: 1px solid #8c927f; padding-bottom: 7px; margin-top: 20px; overflow-wrap: anywhere; }
.contact-inner small { display: block; margin-top: 15px; font-size: 10px; color: #737565; }
.public-shell .public-footer { background: var(--night); padding-block: 55px 35px; }
.public-shell .footer-mark { font-size: 32px; }
.public-shell .footer-grid { grid-template-columns: 1.1fr .8fr .8fr; gap: 55px; }
.public-shell .footer-grid p { max-width: 290px; font-size: 12px; color: #b8c4c8; }
.public-shell .footer-socials { margin-top: 35px; padding-top: 20px; }
.public-shell .social-links { gap: 5px 23px; flex-wrap: wrap; }
.public-shell .social-links a { font-size: 11px; min-height: 44px; }
.public-shell .social-links a > .icon:last-child { display: none; }
.public-shell .social-links a > .icon:first-child { width: 16px; height: 16px; flex-basis: 16px; }
.public-shell .page-masthead { background: #eee7d9; padding-block: 65px 60px; border: 0; }
.public-shell .page-masthead__grid { grid-template-columns: 1.25fr 1fr; gap: 65px; align-items: end; }
.public-shell .page-masthead h1 { font-size: clamp(45px, 5vw, 65px); line-height: 1.05; max-width: 620px; }
.public-shell .page-masthead__grid > p { color: #626a6d; font-size: 15px; line-height: 1.85; }
.build-principles { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.build-principles .principle-list p { grid-template-columns: 130px minmax(0, 1fr); font-size: 14px; }
.project-heading { background: #eee7d9; padding: 37px 0 55px; }
.back-link { display: inline-block; font-size: 12px; margin-bottom: 32px; min-height: 30px; }
.back-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.project-heading h1 { font: 400 clamp(43px, 5.5vw, 73px)/1.08 var(--serif); letter-spacing: -.045em; max-width: 860px; }
.project-heading p:not(.eyebrow) { margin-top: 25px; max-width: 660px; font-size: 16px; color: var(--muted); }
.project-heading .tag-list { margin-top: 25px; }.project-heading .tag { border-color: #c5c3b5; }
.project-body { padding-top: 50px; }.project-hero-art { max-width: 860px; margin-inline: auto; border-radius: 14px; overflow: hidden; }
.project-art--large { min-height: 350px; padding: 35px 45px; }.project-art--large .report-map { padding-block: 45px; gap: 35px; }
.project-art--large .art-label { font-size: 11px; }.project-art--large .art-foot { font-size: 12px; }
.project-art--large .report-map strong { font-size: 13px; }.project-art--large .bond-art svg { max-height: 240px; }
.case-narrative { display: grid; grid-template-columns: 1fr 1.1fr; gap: 85px; margin-block: 70px; }
.case-narrative h2 { font: 400 clamp(29px, 3vw, 40px)/1.2 var(--serif); letter-spacing: -.025em; }
.case-narrative > div > p { color: var(--muted); font-size: 15px; line-height: 1.9; }
.case-narrative h3 { font: 400 26px/1.2 var(--serif); margin-top: 25px; }
.method-list { padding-left: 20px; font-size: 14px; color: var(--muted); }.method-list li { padding: 7px 0 7px 8px; }
.honest-note { border-left: 2px solid #b1a485; padding: 0 0 0 28px; }
.honest-note > span { color: var(--accent); text-transform: uppercase; letter-spacing: .1em; font-size: 10px; }
.honest-note p { font-size: 14px; color: var(--muted); margin-top: 15px; line-height: 1.9; }
.report-explorer { background: #eee9df; border-radius: 14px; padding: 40px; }
.report-explorer h2 { font: 400 clamp(30px, 3.3vw, 44px)/1.1 var(--serif); letter-spacing: -.035em; }
.report-explorer > p { font-size: 13px; color: var(--muted); margin-top: 17px; max-width: 650px; }
.report-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-block: 30px; }
.report-tabs button { background: transparent; border: 1px solid #bec2b9; padding: 11px 15px; border-radius: 30px; font-size: 12px; transition: color .2s, background .2s; }
.report-tabs button[aria-pressed="true"] { background: var(--night); color: white; border-color: var(--night); }
.report-tabs button:hover { border-color: var(--night); }
.report-panel { display: grid; grid-template-columns: 1.25fr 1fr; gap: 55px; min-height: 210px; align-items: center; }
.report-panel small { color: var(--accent); font-size: 10px; }.report-panel h3 { font: 400 30px/1.2 var(--serif); margin-top: 8px; }
.report-panel p { color: var(--muted); font-size: 14px; line-height: 1.85; margin-top: 14px; }
.report-panel blockquote { margin: 0; border-left: 1px solid #c2bfaf; padding: 5px 0 5px 30px; font: italic 29px/1.3 var(--serif); }
.report-panel blockquote > span { display: block; font: 10px/1.5 var(--sans); color: var(--muted); margin-bottom: 15px; }
.writing-destination { display: grid; grid-template-columns: 56px 1fr 24px; gap: 35px; padding-block: 37px; border-bottom: 1px solid var(--line); align-items: center; }
.writing-destination:first-child { padding-top: 0; }.destination-icon { display: grid; place-items: center; width: 56px; height: 56px; border: 1px solid #cbc9ba; border-radius: 50%; transition: transform .3s; }
.writing-destination:hover .destination-icon { transform: rotate(-8deg); }.writing-destination > div > span { color: var(--accent); font-size: 11px; }
.writing-destination h2 { font: 400 clamp(27px, 3vw, 40px)/1.15 var(--serif); letter-spacing: -.025em; margin-top: 7px; }
.writing-destination p { font-size: 14px; color: var(--muted); margin-top: 12px; }.writing-footnote { max-width: 650px; color: var(--muted); font-size: 14px; margin-top: 35px; }
.writing-footnote a { text-decoration: underline; text-underline-offset: 4px; }
.playbook-philosophy { max-width: 820px; text-align: center; }.playbook-philosophy > p { font: italic clamp(29px, 3.5vw, 45px)/1.3 var(--serif); }
.playbook-philosophy > span:last-child { display: block; color: var(--muted); margin-top: 25px; font-size: 11px; }
.roadmap-heading { background: #eae1d0; padding: 35px 0 50px; }.roadmap-heading h1 { font: 400 clamp(43px, 6vw, 79px)/1.05 var(--serif); letter-spacing: -.045em; }
.roadmap-heading h1 em { font-weight: 400; }.roadmap-heading p:not(.eyebrow) { max-width: 560px; font-size: 16px; margin-top: 25px; color: #5e6565; }
.roadmap-heading__meta { display: flex; justify-content: space-between; align-items: center; gap: 25px; margin-top: 25px; font-size: 11px; color: #666b65; }
.roadmap-heading__meta button { background: none; border: 0; color: var(--ink); font-size: 12px; }
.roadmap-workspace { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 75px; align-items: start; }
.roadmap-sidebar { position: sticky; top: 125px; }.roadmap-sidebar nav { display: grid; border-top: 1px solid var(--line); }
.roadmap-sidebar nav button { background: transparent; border: 0; border-bottom: 1px solid var(--line); text-align: left; padding: 17px 14px; min-width: 0; transition: background .2s; }
.roadmap-sidebar nav button[aria-pressed="true"] { background: #e8e4d9; border-left: 2px solid var(--ink); padding-left: 12px; }
.roadmap-sidebar nav button small { font-size: 10px; color: var(--muted); }.roadmap-sidebar nav button span { display: flex; align-items: center; justify-content: space-between; gap: 5px; font: 400 20px/1.3 var(--serif); margin-top: 6px; }
.roadmap-sidebar > p { color: var(--muted); font-size: 12px; margin-top: 22px; }.roadmap-progress { margin-top: 25px; }
.roadmap-progress > span { font-size: 12px; }.roadmap-progress progress { width: 100%; height: 5px; accent-color: var(--ink); display: block; margin-top: 12px; }
.roadmap-progress small { display: block; margin-top: 12px; font-size: 10px; color: var(--muted); }
.roadmap-stage h2 { font: 400 clamp(31px, 3.5vw, 45px)/1.12 var(--serif); letter-spacing: -.025em; }.stage-intro { margin-top: 19px; color: var(--muted); font-size: 15px; line-height: 1.9; }
.roadmap-tasks { margin-top: 25px; }.roadmap-task { display: flex; gap: 18px; padding-block: 25px; border-bottom: 1px solid var(--line); cursor: pointer; }
.roadmap-task input { width: 20px; height: 20px; flex-shrink: 0; margin: 5px 0 0; accent-color: var(--ink); }.roadmap-task strong { font: 400 24px/1.25 var(--serif); display: block; }
.roadmap-task > span > span { display: block; font-size: 14px; color: var(--muted); line-height: 1.85; margin-top: 12px; }.roadmap-task:has(input:checked) strong { color: #697c66; }
.stage-tip { font: italic 23px/1.3 var(--serif); margin-top: 30px; color: #7e755d; }.roadmap-cautions { border-top: 1px solid var(--line); }
.roadmap-cautions h2 { font: 400 34px/1.2 var(--serif); margin-bottom: 25px; }.roadmap-cautions details { padding-block: 19px; border-bottom: 1px solid var(--line); max-width: 850px; }
.roadmap-cautions summary { cursor: pointer; font-size: 15px; }.roadmap-cautions details p { margin-top: 15px; color: var(--muted); font-size: 14px; max-width: 700px; }
.resource-search { display: grid; grid-template-columns: 110px minmax(0, 480px) 1fr; gap: 25px; align-items: center; margin-bottom: 30px; }
.resource-search > label { font-size: 12px; }.resource-search > div { display: flex; align-items: center; gap: 12px; padding: 14px 17px; border: 1px solid #bdc1b7; border-radius: 8px; }
.resource-search input { width: 100%; min-width: 0; color: var(--ink); background: none; border: 0; font-size: 15px; }.resource-search > p { font-size: 11px; color: var(--muted); text-align: right; }
.public-shell .public-resource { padding-block: 34px; }.public-shell .public-resource h2 { font-size: 29px; }
.resource-empty { padding-block: 50px; }.resource-empty h2 { font: 400 32px/1.2 var(--serif); }.resource-empty p { margin-top: 12px; color: var(--muted); }
.resource-shelf-note { max-width: 650px; margin-top: 45px; }.resource-shelf-note > p { font-size: 14px; color: var(--muted); }.resource-shelf-note > a { margin-top: 18px; }
.about-person { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr); gap: 80px; align-items: start; }
.about-person figure { max-width: 390px; }.about-person img { width: 100%; aspect-ratio: 4/4.7; object-fit: cover; object-position: center 30%; border-radius: 46% 46% 4px 4px; }
.about-person figcaption { font: italic 16px/1.5 var(--serif); margin-top: 18px; color: #7c725c; }.about-person__story > p { color: var(--muted); margin-bottom: 21px; font-size: 15px; line-height: 1.9; }
.about-person__story .about-lead { font: 400 29px/1.4 var(--serif); color: var(--ink); }.about-person__story .personal-aside { border-top: 1px solid var(--line); padding-top: 22px; font: italic 22px/1.5 var(--serif); color: #82745c; }
.public-shell .experience-section { background: #eee8dc; }.experience-list article { display: grid; grid-template-columns: .65fr 1fr 1.2fr; gap: 35px; border-top: 1px solid #d0d1c4; padding-block: 30px; }
.experience-list article > span { font: 11px/1.8 var(--mono); color: var(--muted); }.experience-list h3 { font: 400 26px/1.2 var(--serif); }.experience-list strong { display: block; font-size: 12px; font-weight: 500; margin-top: 7px; color: #6d6e5c; }
.experience-list article > p { font-size: 13px; color: var(--muted); line-height: 1.9; }.study-note { display: flex; flex-wrap: wrap; gap: 30px 65px; padding-top: 35px; border-top: 1px solid #d0d1c4; }
.study-note p { display: flex; flex-direction: column; gap: 10px; }.study-note strong { font: 400 22px/1.3 var(--serif); }.study-note span { font-size: 12px; color: var(--muted); }
[data-reveal] { transition: opacity .65s ease, transform .65s cubic-bezier(.2,.75,.25,1); }
.reveal-pending { opacity: 0; transform: translateY(20px); }
.is-arriving .hero-enter { animation: gentle-arrival .8s cubic-bezier(.2,.75,.25,1) both; }
.is-arriving h1.hero-enter { animation-delay: .07s; }.is-arriving .human-hero__intro { animation-delay: .14s; }.is-arriving .hero-actions { animation-delay: .2s; }.is-arriving .human-portrait { animation-delay: .16s; }
.is-arriving .portrait-flourish path { stroke-dasharray: 210; stroke-dashoffset: 210; animation: draw-line 1.1s ease .65s forwards; }
@keyframes gentle-arrival { from { opacity: 0; transform: translateY(17px); } to { opacity: 1; transform: none; } }
@keyframes draw-line { to { stroke-dashoffset: 0; } }
.print-roadmap { display: none; }
@media (max-width: 1100px) {
  .human-hero__grid { gap: 45px; }.human-hero h1 { font-size: 83px; }.human-portrait { max-width: 340px; }
  .roadmap-feature { gap: 55px; }.public-shell .footer-grid { gap: 30px; }.human-note, .contact-inner { gap: 45px; }
  .case-narrative, .about-person { gap: 45px; }.roadmap-workspace { gap: 40px; grid-template-columns: 235px minmax(0, 1fr); }
}
@media (max-width: 800px) {
  .public-shell .public-container, .public-shell .public-header__inner { width: calc(100% - 48px); }
  .public-shell .public-nav { gap: 19px; }.public-shell .wordmark__name { font-size: 26px; }
  .human-hero__grid { gap: 32px; padding-block: 45px; }.human-hero h1 { font-size: 70px; }.human-hero__intro { font-size: 14px; }
  .human-portrait figcaption { flex-direction: column; gap: 13px; }.portrait-note { text-align: left; font-size: 18px; }.portrait-flourish { bottom: 2px; right: 0; }
  .human-hero .hero-actions { gap: 12px; }.proof-strip__inner { gap: 20px; }.proof-strip .proof-note { display: none; }
  .work-card--featured { gap: 28px; }.project-art { padding: 22px 20px 17px; }.report-map { gap: 23px 10px; }.art-foot { font-size: 9px; }
  .roadmap-feature { gap: 45px; }.roadmap-cover { padding: 28px; min-height: 400px; }.roadmap-cover > strong { font-size: 48px; }
  .roadmap-copy h2 { font-size: 39px; }.human-note, .contact-inner, .build-principles { grid-template-columns: 1fr; gap: 30px; }
  .contact-inner p { max-width: 550px; }.public-shell .page-masthead__grid { gap: 35px; }.public-shell .footer-grid { grid-template-columns: 1fr 1fr; }
  .public-shell .footer-index { grid-column: 1/-1; flex-direction: row; flex-wrap: wrap; text-align: left; gap: 20px; }
  .report-panel { gap: 30px; }.report-panel blockquote { font-size: 24px; padding-left: 22px; }.roadmap-workspace { grid-template-columns: 1fr; }
  .roadmap-sidebar { position: static; }.roadmap-sidebar nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 15px; }.roadmap-progress { max-width: 400px; }
  .experience-list article { grid-template-columns: .7fr 1.4fr; gap: 15px 25px; }.experience-list article > p { grid-column: 2; }
}
@media (max-width: 600px) {
  .public-shell .public-container, .public-shell .public-header__inner { width: calc(100% - 40px); }
  .public-shell .public-header__inner { min-height: 78px; padding-block: 15px; }.public-shell .wordmark__name { font-size: 25px; }
  .human-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 42px; padding-block: 39px 35px; }.human-hero h1 { font-size: clamp(67px, 15.8vw, 87px); }
  .human-hero .eyebrow { margin-bottom: 21px; font-size: 9px; }.human-hero__intro { margin-top: 25px; font-size: 15px; }
  .human-hero .hero-actions { gap: 14px 22px; }.human-hero .button { font-size: 12px; padding-inline: 18px; }
  .human-portrait { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); align-items: center; gap: 25px; max-width: 420px; justify-self: start; padding: 0; }
  .human-portrait img { aspect-ratio: 4/4.8; }.human-portrait figcaption { margin: 0; gap: 23px; font-size: 12px; }.human-portrait figcaption small { font-size: 10px; }
  .portrait-note { font-size: 20px; }.portrait-flourish { width: 70px; right: 25px; bottom: 0; transform: rotate(-20deg); }
  .hero-bottom { flex-direction: column; gap: 6px; align-items: flex-start; padding-block: 20px; font-size: 10px; }.hero-bottom a { font-size: 10px; }
  .proof-strip__inner { gap: 16px; padding-block: 26px; }.proof-strip strong { font-size: 21px; }.proof-strip span { font-size: 9px; }
  .public-shell .section-head { margin-bottom: 30px; gap: 14px; }.public-shell .section-head h2 { font-size: 36px; }.public-shell .section-head > a { min-height: 40px; font-size: 12px; }
  .work-grid { grid-template-columns: 1fr; gap: 43px; }.work-card--featured { grid-column: 1; display: block; }.work-card--featured .work-card__copy, .work-card__copy { padding-top: 23px; }
  .work-card h3 { font-size: 33px; }.project-art { min-height: 290px; padding: 25px 25px 20px; }.art-label { font-size: 9px; }.art-foot { font-size: 10px; }
  .roadmap-feature { grid-template-columns: 1fr; gap: 50px; }.roadmap-cover-link { max-width: 290px; }.roadmap-cover { min-height: 387px; }.roadmap-cover > strong { font-size: 49px; margin-top: 35px; }
  .roadmap-copy h2, .human-note h2, .contact-inner h2 { font-size: 39px; }.roadmap-copy > p:not(.hand-note) { font-size: 14px; }.human-note { gap: 23px; }.human-note p { font-size: 14px; }
  .contact-section { padding-block: 55px; }.contact-email { font-size: 25px; gap: 10px; }
  .public-shell .footer-grid { grid-template-columns: 1fr; gap: 24px; }.public-shell .footer-nav { gap: 4px 25px; }.public-shell .footer-index { font-size: 9px; gap: 7px 20px; }
  .public-shell .footer-socials { align-items: flex-start; }.public-shell .social-links { gap: 2px 20px; }.public-shell .social-links a { font-size: 11px; }
  .public-shell .page-masthead { padding-block: 44px 40px; }.public-shell .page-masthead__grid { grid-template-columns: 1fr; gap: 20px; }.public-shell .page-masthead h1 { font-size: 46px; }
  .public-shell .page-masthead__grid > p { font-size: 14px; }.project-heading { padding-block: 26px 40px; }.project-heading h1 { font-size: 45px; }.project-heading p:not(.eyebrow) { font-size: 14px; }
  .case-narrative { grid-template-columns: 1fr; gap: 27px; margin-block: 45px; }.project-art--large { padding: 25px; }.project-art--large .art-label { font-size: 9px; }.project-art--large .art-foot { font-size: 10px; }
  .project-art--large .report-map strong { font-size: 10px; }.project-art--large .report-map { gap: 25px; padding-block: 30px; }.project-art--large { min-height: 300px; }
  .report-explorer { padding: 26px 21px; }.report-tabs { gap: 7px; }.report-tabs button { padding: 10px 13px; font-size: 11px; }
  .report-panel { grid-template-columns: 1fr; gap: 24px; }.report-panel h3 { font-size: 28px; }.report-panel blockquote { font-size: 25px; }
  .writing-destination { grid-template-columns: 42px 1fr 18px; gap: 16px; padding-block: 30px; }.destination-icon { width: 42px; height: 42px; }.writing-destination h2 { font-size: 28px; }
  .writing-destination p { font-size: 13px; }.roadmap-heading { padding-block: 25px 40px; }.roadmap-heading h1 { font-size: 48px; }.roadmap-heading__meta { align-items: start; flex-direction: column; gap: 14px; }
  .roadmap-heading p:not(.eyebrow) { font-size: 14px; }.roadmap-sidebar nav button span { font-size: 18px; }.roadmap-task strong { font-size: 23px; }.roadmap-task { gap: 15px; }
  .resource-search { grid-template-columns: 1fr auto; gap: 10px; }.resource-search > div { grid-column: 1/-1; grid-row: 2; }.resource-search > p { grid-column: 2; grid-row: 1; }
  .resource-search input { font-size: 16px; }.public-shell .public-resource h2 { font-size: 29px; }
  .about-person { grid-template-columns: 1fr; gap: 37px; }.about-person figure { max-width: 300px; margin-inline: auto; }.about-person__story .about-lead { font-size: 28px; }
  .experience-list article { grid-template-columns: 1fr; gap: 14px; }.experience-list article > p { grid-column: 1; }.study-note { gap: 30px; }.experience-list h3 { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .public-shell *, .public-shell *::before, .public-shell *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .reveal-pending { opacity: 1; transform: none; }.portrait-flourish path { stroke-dashoffset: 0 !important; }
}
@media print {
  .public-shell, .public-shell section, .public-shell .public-header { color: #111 !important; background: white !important; }
  .public-shell .public-footer, .public-shell .public-nav, .public-shell .back-link, .roadmap-heading__meta button, .roadmap-workspace, .roadmap-cautions { display: none !important; }
  .public-shell .public-container { width: 100%; }.public-shell .public-section { padding-block: 20px; }.reveal-pending { opacity: 1; transform: none; }
  .print-roadmap { display: block; }.print-roadmap article { break-inside: avoid; margin-bottom: 30px; }.print-roadmap h2 { font: 28px/1.2 var(--serif); margin-bottom: 15px; }.print-roadmap li { margin-block: 12px; font-size: 12px; }
}
