:root{--paper: #F5F3EE;--surface: #FFFFFF;--surface-2: #FAF8F3;--ink: #2A2926;--ink-soft: #5C574F;--ink-faint: #8A8377;--line: #E7E2D8;--tech: #2E7C9C;--tech-ink: #1F5E78;--tech-soft: #E7EFF1;--mission: #B67F32;--mission-ink: #8A5F1C;--mission-soft: #F3EAD9;--focus: #2E7C9C;--r-sm: 9px;--r-md: 14px;--r-lg: 20px;--shadow: 0 1px 2px rgba(60,50,35,.05), 0 14px 34px -18px rgba(60,50,35,.22);--font-serif: "Charter", "Iowan Old Style", "Palatino Linotype", "Palatino", Georgia, serif;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "SFMono-Regular", Menlo, Consolas, monospace;--maxw: 1120px;--gutter: clamp(20px, 5vw, 64px)}@media(prefers-color-scheme:dark){:root{--paper: #191510;--surface: #221D17;--surface-2: #26211A;--ink: #F0EBE1;--ink-soft: #B7AE9F;--ink-faint: #857D6E;--line: #342E25;--tech: #63B0D6;--tech-ink: #9CCDE7;--tech-soft: #17242B;--mission: #DBA860;--mission-ink: #E9C68C;--mission-soft: #2A2114;--focus: #63B0D6;--shadow: 0 1px 2px rgba(0,0,0,.3), 0 16px 36px -18px rgba(0,0,0,.6)}}:root[data-theme=light]{--paper: #F5F3EE;--surface: #FFFFFF;--surface-2: #FAF8F3;--ink: #2A2926;--ink-soft: #5C574F;--ink-faint: #8A8377;--line: #E7E2D8;--tech: #2E7C9C;--tech-ink: #1F5E78;--tech-soft: #E7EFF1;--mission: #B67F32;--mission-ink: #8A5F1C;--mission-soft: #F3EAD9;--focus: #2E7C9C;--shadow: 0 1px 2px rgba(60,50,35,.05), 0 14px 34px -18px rgba(60,50,35,.22)}:root[data-theme=dark]{--paper: #191510;--surface: #221D17;--surface-2: #26211A;--ink: #F0EBE1;--ink-soft: #B7AE9F;--ink-faint: #857D6E;--line: #342E25;--tech: #63B0D6;--tech-ink: #9CCDE7;--tech-soft: #17242B;--mission: #DBA860;--mission-ink: #E9C68C;--mission-soft: #2A2114;--focus: #63B0D6;--shadow: 0 1px 2px rgba(0,0,0,.3), 0 16px 36px -18px rgba(0,0,0,.6)}*{box-sizing:border-box}body{margin:0}.page{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}a{color:inherit}h1,h2,h3{font-family:var(--font-serif);font-weight:600;line-height:1.08;text-wrap:balance;margin:0;letter-spacing:-.01em}.eyebrow{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);margin:0}.btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-sans);font-size:.97rem;font-weight:600;padding:.78em 1.5em;border-radius:999px;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{transform:translateY(-1px)}.btn-ghost{border-color:var(--line);color:var(--ink);background:transparent}.btn-ghost:hover{border-color:var(--ink-soft)}.btn:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:3px}header.site{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}.navbar{display:flex;align-items:center;justify-content:space-between;height:68px;gap:24px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}.brand .mark{width:30px;height:30px;flex:none;color:var(--tech)}.brand .name{font-family:var(--font-serif);font-weight:600;font-size:1.22rem;letter-spacing:-.01em}.brand .name b{color:var(--tech);font-weight:600}nav.links{display:flex;align-items:center;gap:26px}nav.links a{text-decoration:none;color:var(--ink-soft);font-size:.92rem;font-weight:500}nav.links a:hover{color:var(--ink)}.nav-cta{margin-left:4px}@media(max-width:860px){nav.links a.nav-item{display:none}}.hero{padding:clamp(56px,9vw,120px) 0 clamp(40px,6vw,72px)}.hero .eyebrow{margin-bottom:26px}.hero h1{font-size:clamp(2.9rem,7vw,5.1rem);letter-spacing:-.012em}.hero .lede{max-width:40ch;margin:26px 0 0;font-size:clamp(1.1rem,1.6vw,1.28rem);color:var(--ink-soft);line-height:1.5}.hero .cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}.hero-meta{margin-top:48px;display:flex;flex-wrap:wrap;gap:10px 30px;align-items:center}.hero-meta span{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.06em;color:var(--ink-faint);text-transform:uppercase}.hero-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--line)}.reveal{opacity:0;transform:translateY(14px);animation:rise .7s cubic-bezier(.2,.7,.2,1) forwards}.reveal.d1{animation-delay:.05s}.reveal.d2{animation-delay:.14s}.reveal.d3{animation-delay:.23s}.reveal.d4{animation-delay:.32s}@keyframes rise{to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.reveal{animation:none;opacity:1;transform:none}}section{padding:clamp(52px,8vw,96px) 0}.section-head{max-width:60ch;margin-bottom:clamp(32px,5vw,52px)}.section-head h2{font-size:clamp(1.9rem,3.4vw,2.7rem);margin-top:14px}.section-head p{color:var(--ink-soft);margin:16px 0 0;max-width:56ch}.rule{border:none;border-top:1px solid var(--line);margin:0}.practices{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow)}@media(max-width:800px){.practices{grid-template-columns:1fr}}.practice{background:var(--surface);padding:clamp(28px,3.5vw,44px);display:flex;flex-direction:column}.practice .p-eyebrow{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:20px}.practice .tag{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;padding:4px 10px;border-radius:999px;font-weight:600}.practice .lead{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;color:var(--ink-faint);text-transform:uppercase}.practice h3{font-size:1.6rem;margin-bottom:10px}.practice .p-desc{color:var(--ink-soft);margin:0 0 22px;font-size:.98rem}.practice ul{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-direction:column;gap:11px}.practice li{position:relative;padding-left:22px;font-size:.95rem;color:var(--ink);line-height:1.45}.practice li:before{content:"";position:absolute;left:0;top:.56em;width:7px;height:7px;border-radius:50%}.practice li b{font-weight:600}.practice .p-link{margin-top:auto;text-decoration:none;font-weight:600;font-size:.95rem;display:inline-flex;align-items:center;gap:7px;width:fit-content}.practice .p-link .arw{transition:transform .18s ease}.practice .p-link:hover .arw{transform:translate(4px)}.practice.tech .tag{background:var(--tech-soft);color:var(--tech-ink)}.practice.tech h3{color:var(--tech-ink)}.practice.tech li:before{background:var(--tech)}.practice.tech .p-link{color:var(--tech)}.practice.mission .tag{background:var(--mission-soft);color:var(--mission-ink)}.practice.mission h3{color:var(--mission-ink)}.practice.mission li:before{background:var(--mission)}.practice.mission .p-link{color:var(--mission)}.bridge{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.bridge-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,64px);align-items:center}@media(max-width:800px){.bridge-grid{grid-template-columns:1fr}}.bridge h2{font-size:clamp(1.8rem,3.2vw,2.5rem)}.bridge h2 em{font-style:normal;color:var(--tech)}.bridge h2 .amp{color:var(--mission);font-style:italic}.bridge p{color:var(--ink-soft);margin:18px 0 0}.bridge .stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow)}.bridge .stat{background:var(--surface-2);padding:22px 24px}.bridge .stat .n{font-family:var(--font-serif);font-size:1.9rem;font-weight:600;letter-spacing:-.02em}.bridge .stat.t .n{color:var(--tech)}.bridge .stat.m .n{color:var(--mission)}.bridge .stat .l{font-size:.8rem;color:var(--ink-soft);margin-top:4px;line-height:1.35}.partners{display:grid;grid-template-columns:1fr 1fr;gap:28px}@media(max-width:800px){.partners{grid-template-columns:1fr}}.partner{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:clamp(26px,3vw,38px);box-shadow:var(--shadow)}.partner .ph{display:flex;align-items:center;gap:16px;margin-bottom:20px}.partner .avatar{width:56px;height:56px;flex:none;border-radius:50%;display:grid;place-items:center;font-family:var(--font-serif);font-size:1.35rem;font-weight:600}.partner.tech .avatar{background:var(--tech-soft);color:var(--tech-ink)}.partner.mission .avatar{background:var(--mission-soft);color:var(--mission-ink)}.partner .who h3{font-size:1.35rem}.partner .who .role{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-top:5px}.partner .bio{color:var(--ink-soft);font-size:.96rem;margin:0 0 20px}.partner .subhead{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 10px}.partner .subhead+.subhead,.partner .subhead.mt{margin-top:20px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.chip{font-size:.8rem;padding:5px 11px;border:1px solid var(--line);border-radius:100px;color:var(--ink-soft);background:var(--surface-2)}.exp{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.exp li{font-size:.9rem;color:var(--ink);line-height:1.45}.exp li .org{font-weight:600}.exp li .meta{color:var(--ink-faint)}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}@media(max-width:800px){.approach-grid{grid-template-columns:1fr;gap:20px}}.value h3{font-size:1.22rem;margin-bottom:10px}.value p{color:var(--ink-soft);font-size:.94rem;margin:0}.value .num{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;color:var(--tech);margin-bottom:14px}.contact{background:var(--ink);color:var(--paper)}.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,60px);align-items:start}@media(max-width:760px){.contact .wrap{grid-template-columns:1fr}}.contact h2{color:var(--paper);font-size:clamp(1.9rem,3.4vw,2.6rem)}.contact p{color:color-mix(in srgb,var(--paper) 72%,transparent);margin:16px 0 0}.contact .eyebrow{color:color-mix(in srgb,var(--paper) 60%,transparent)}.contact-lines{display:flex;flex-direction:column;gap:14px;margin-top:30px}.contact-lines a,.contact-lines div{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--paper);font-size:1.02rem}.contact-lines .k{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--paper) 55%,transparent);width:74px;flex:none}.contact-lines a:hover .v{text-decoration:underline}.contact-form{display:flex;flex-direction:column;gap:16px}.contact-form .field{display:flex;flex-direction:column;gap:6px}.contact-form label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--paper) 62%,transparent)}.contact-form label .opt{text-transform:none;letter-spacing:0}.contact-form input,.contact-form select,.contact-form textarea{font-family:var(--font-sans);font-size:1rem;color:var(--paper);background:color-mix(in srgb,var(--paper) 8%,transparent);border:1px solid color-mix(in srgb,var(--paper) 22%,transparent);border-radius:var(--r-sm);padding:.72em .85em;width:100%}.contact-form textarea{resize:vertical;min-height:120px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid var(--focus);outline-offset:2px;border-color:transparent}.contact-form select{appearance:none}.contact-form option{color:#1a1a1a;background:#fff}.contact-form button{align-self:flex-start;margin-top:6px}.contact .contact-form .btn-primary{background:var(--paper);color:var(--ink)}.contact-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}footer.site{background:var(--paper);border-top:1px solid var(--line);padding:32px 0}footer.site .wrap{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between}footer.site .fnote{font-size:.84rem;color:var(--ink-faint)}footer.site .fpartner{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.thanks .lede{max-width:46ch}.thanks .btn-primary{margin-top:34px}
