:root{--ink:#142c25;--deep:#102820;--paper:#f3f0e8;--white:#fcfbf7;--rust:#b95f40;--sage:#cfdad2;--line:#d7d3c7;--muted:#62716b;--serif:Georgia,"Times New Roman",serif;--sans:Arial,"Helvetica Neue",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}p{margin:0 0 1.2rem}h1,h2,h3{letter-spacing:-.035em;margin:0;font-weight:500;line-height:1.06}h1{font-size:clamp(3.1rem,7vw,7rem)}h2{font-size:clamp(2.3rem,4.5vw,4.6rem)}h3{font-size:1.35rem}em{font-family:var(--serif);font-weight:400}.shell{width:min(1240px,100% - 48px);margin-inline:auto}.skip{position:absolute;left:-9999px}.skip:focus{z-index:99;background:#fff;padding:.8rem;top:1rem;left:1rem}.site-header{border-bottom:1px solid var(--line);z-index:5;align-items:center;gap:2rem;height:88px;padding:0 max(24px,50vw - 620px);display:flex;position:relative}.brand{align-items:center;gap:.75rem;margin-right:auto;display:flex}.brand span{border:1px solid var(--ink);letter-spacing:.08em;place-items:center;width:38px;height:38px;font-size:.77rem;font-weight:600;display:grid}.brand b{font-size:.95rem}.site-header nav{gap:1.7rem;display:flex}.site-header nav a{color:#394c45;font-size:.82rem}.site-header nav a[aria-current=page]{color:var(--rust)}.header-cta{border-left:1px solid var(--line);padding-left:2rem;font-size:.82rem}.hero{grid-template-columns:1.06fr .94fr;align-items:center;gap:5vw;min-height:760px;padding-block:85px;display:grid}.status,.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--rust);font-size:.69rem;font-weight:600}.status i{background:#4f8f70;border-radius:50%;width:7px;height:7px;margin-right:.55rem;display:inline-block}.hero h1{max-width:760px;margin:1.6rem 0 1.8rem}.lead{color:#50635c;max-width:710px;font-size:clamp(1.07rem,1.45vw,1.28rem)}.actions{align-items:center;gap:2rem;margin-top:2.3rem;display:flex}.button{background:var(--ink);color:#fff;letter-spacing:.02em;justify-content:space-between;align-items:center;gap:2rem;padding:1rem 1.2rem;font-size:.8rem;display:inline-flex}.text-link{border-bottom:1px solid #9ba8a2;padding-bottom:.25rem;font-size:.83rem;font-weight:600}.text-link span{margin-left:1rem}.hero-stats{margin:4rem 0 0;display:flex}.hero-stats div{border-right:1px solid var(--line);margin-right:2rem;padding-right:2rem}.hero-stats div:last-child{border:0}.hero-stats dt{font-size:.85rem;font-weight:600}.hero-stats dd{color:var(--muted);margin:.3rem 0 0;font-size:.7rem}.pattern-visual{background:#e7e5dc;height:640px;position:relative;overflow:hidden}.pattern-visual .grid{opacity:.55;background-image:linear-gradient(#cdd0c8 1px,#0000 1px),linear-gradient(90deg,#cdd0c8 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.pattern-visual svg{width:calc(100% - 50px);height:calc(100% - 80px);position:absolute;inset:25px}.pattern-visual .piece{fill:none;stroke:var(--ink);stroke-width:2px}.pattern-visual .fill{fill:#d0dad3}.pattern-visual .guide{fill:none;stroke:#7e8f88;stroke-width:1px;stroke-dasharray:7 7}.pattern-visual .accent{fill:none;stroke:var(--rust);stroke-width:4px}.pattern-visual circle{fill:var(--rust)}.pattern-visual text{font:12px var(--sans);fill:#53655e;letter-spacing:.16em}.visual-note{background:var(--ink);color:#fff;justify-content:space-between;padding:1rem 1.3rem;display:flex;position:absolute;bottom:0;left:0;right:0}.visual-note span{letter-spacing:.16em;color:#b8c7c0;font-size:.62rem}.visual-note b{font-size:.73rem}.dark-section{background:var(--deep);color:#fff}.statement{text-align:center;padding:110px max(24px,50vw - 480px)}.eyebrow.light{color:#d99c84}.statement blockquote{font-family:var(--serif);max-width:1050px;margin:2rem auto;font-size:clamp(2.2rem,4.2vw,4.25rem);font-style:italic;line-height:1.13}.statement>p:last-child{color:#aebdb6;max-width:680px;margin:2.4rem auto 0}.section-space{padding-block:120px}.section-head{max-width:790px;margin-bottom:4rem}.section-head h2{margin-top:1rem}.section-intro{color:var(--muted);max-width:650px;margin-top:1.4rem;font-size:1.08rem}.capability-grid{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.capability-grid article{border-right:1px solid var(--line);margin-right:1.7rem;padding:2.2rem 1.7rem 2.2rem 0}.capability-grid article:last-child{border:0}.capability-grid span{font:italic 1.4rem var(--serif);color:var(--rust)}.capability-grid h3{margin:2.5rem 0 1rem}.capability-grid p{color:var(--muted);font-size:.88rem}.project-grid{grid-template-columns:repeat(3,1fr);gap:1.2rem;display:grid}.project-card{flex-direction:column;min-height:470px;padding:2rem;transition:transform .25s,box-shadow .25s;display:flex}.project-card:hover{transform:translateY(-6px);box-shadow:0 18px 45px #17382c1c}.tone-1{background:#d8dfda}.tone-2{background:#e5d3c9}.tone-3{background:#ddd9c8}.project-card>span{text-transform:uppercase;letter-spacing:.16em;font-size:.65rem}.project-card h3,.project-card h2{margin:5rem 0 1rem;font-size:2rem}.project-card p{color:#44564f;font-size:.88rem}.project-card ul,.tag-row{flex-wrap:wrap;gap:.45rem;margin:auto 0 1.5rem;padding:0;list-style:none;display:flex}.project-card li,.tag-row li{border:1px solid #7d8a84;padding:.3rem .55rem;font-size:.63rem}.project-card b{font-size:.75rem}.learning-band{background:var(--ink);color:#fff;padding-block:100px}.learning-inner{grid-template-columns:1.1fr .8fr;align-items:end;gap:6rem;display:grid}.learning-inner h2{margin-top:1rem}.learning-inner>p{color:#b9c6c0}.learning-inner>a{color:#e4a68e;grid-column:2;font-size:.8rem}.article-list>a{border-top:1px solid var(--line);grid-template-columns:1fr 150px 25px;align-items:center;gap:2rem;padding:2rem 0;display:grid}.article-list>a:last-child{border-bottom:1px solid var(--line)}.article-list span{text-transform:uppercase;letter-spacing:.1em;color:var(--rust);font-size:.68rem}.article-list h3,.article-list h2{margin:.5rem 0;font-size:1.65rem}.article-list p{color:var(--muted);max-width:660px;margin:0;font-size:.86rem}.article-list time{color:var(--muted);font-size:.72rem}.end-link{margin:2rem 0 0 auto;display:table}.cta-band{text-align:center;background:var(--rust);color:#fff;padding:110px 24px}.cta-band h2{max-width:900px;margin:1.5rem auto 2.5rem}.light-button{background:var(--white);color:var(--ink)}footer{color:#fff;background:#091b16;grid-template-columns:2fr 1fr 1fr;gap:3rem;padding:75px max(24px,50vw - 620px);font-size:.8rem;display:grid}footer p{color:#9eada7}.footer-brand{margin-bottom:1.5rem}.footer-brand span{border-color:#81938b}.footer-label{color:#d6a28e;text-transform:uppercase;letter-spacing:.13em;font-size:.62rem}.footer-end{border-top:1px solid #284039;grid-column:1/-1;justify-content:space-between;padding-top:1.5rem;display:flex}.page-hero{padding-block:120px}.page-hero h1{max-width:1050px;margin:1.5rem 0 2rem}.narrow{max-width:760px}.split{grid-template-columns:.8fr 1fr;gap:10vw;display:grid}.split .section-head{margin:0}.prose{max-width:720px}.prose p{color:#4e615a;font-size:1.04rem}.prose h2{margin:3.6rem 0 1rem;font-size:2.5rem}.prose h3{margin:2rem 0 .5rem}.timeline-section{padding-block:110px}.timeline-section .section-head .eyebrow,.research-map .eyebrow{color:#d99c84}.timeline{border-top:1px solid #395047}.timeline article{border-bottom:1px solid #395047;grid-template-columns:200px 1fr;padding:2.1rem 0;display:grid}.timeline time{color:#d4a18c;font-size:.75rem}.timeline h3{margin-bottom:.45rem}.timeline p{color:#bac7c1;margin:0}.timeline small{color:#859790}.skill-panel{border:1px solid var(--line);margin-top:5rem;padding:2.5rem}.skill-panel h3{margin-bottom:1.5rem}.check-list{grid-template-columns:1fr 1fr;gap:1rem 3rem;padding:0;list-style:none;display:grid}.check-list li{padding-left:1.5rem;font-size:.9rem;position:relative}.check-list li:before{content:"✓";color:var(--rust);position:absolute;left:0}.learning-list{grid-template-columns:1fr 1fr;margin:3rem 0 0;padding:0;list-style:none;display:grid}.learning-list li{border-top:1px solid #395047;padding:1.2rem 0}.learning-list li:nth-child(odd){margin-right:3rem}.learning-list span{color:#d99c84;width:3rem;font:italic 1rem var(--serif);display:inline-block}.project-grid-full .project-card{min-height:520px}.case-hero{padding-block:110px}.case-hero h1{max-width:900px;margin:1.3rem 0 1.8rem}.case-diagram{background:#d5ddd7;padding:55px 0}.flow{justify-content:space-between;align-items:center;display:flex}.flow span{border:1px solid var(--ink);text-transform:uppercase;letter-spacing:.1em;background:#eef0e9;padding:1rem 1.4rem;font-size:.75rem}.flow i{color:var(--rust);font-style:normal}.case-body{grid-template-columns:260px 1fr;gap:8vw;padding-block:100px;display:grid}.case-body aside{border-top:2px solid var(--rust);height:max-content;padding-top:1rem}.case-body aside p{text-transform:uppercase;letter-spacing:.12em;color:var(--rust);font-size:.68rem}.case-body aside small{color:var(--muted)}.case-body .button{margin-top:2rem}.article{padding-block:110px}.article header{max-width:900px;margin:auto}.article header h1{margin:1.5rem 0;font-size:clamp(3.2rem,6vw,6rem)}.byline{border-top:1px solid var(--line);color:var(--muted);gap:1rem;padding-top:1rem;font-size:.72rem;display:flex}.article-body{max-width:720px;margin:6rem auto}.article-body p{color:#334a42;font-family:Georgia,serif;font-size:1.16rem;line-height:1.85}.article-body .first:first-letter{float:left;font:5rem/3.6rem var(--serif);color:var(--rust);padding-right:.5rem}.article-body hr{border:0;border-top:1px solid var(--line);margin:3rem 0}.article-body .note,.note{font:.85rem/1.7 var(--sans);background:#e4e6dd;padding:1.2rem}.research-map{background:var(--deep);color:#fff;padding:90px 0}.map-row{grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:2rem;display:grid}.map-row span{text-align:center;border:1px solid #496059;padding:1rem;font-size:.72rem}.map-core{text-align:center;border:1px solid #b86547;max-width:540px;margin:2.5rem auto;padding:2rem}.map-core small{color:#c89c8b;margin-bottom:.8rem;display:block}.map-core strong{font:italic 2rem var(--serif)}.output{grid-template-columns:repeat(4,1fr)}.contact-hero{grid-template-columns:1.4fr .65fr;align-items:center;gap:8vw;display:grid}.contact-card{background:var(--ink);color:#fff;padding:2.5rem}.contact-card>a{border-top:1px solid #42564f;justify-content:space-between;padding:1.3rem 0;display:flex}.contact-card small{color:#9caca5;margin-top:2rem;display:block}.cv-layout{grid-template-columns:330px 1fr;gap:8vw;display:grid}.cv-layout>aside{background:#dedfd6;height:max-content;padding:2rem}.cv-layout h2{margin:0 0 1rem;font-size:1.8rem}.cv-layout aside h2:not(:first-child),.cv-layout>div>h2:not(:first-child){margin-top:3rem}.light-timeline,.light-timeline article{border-color:var(--line)}.light-timeline p{color:var(--muted)}@media (width<=900px){.site-header nav{display:none}.hero{grid-template-columns:1fr;padding-top:60px}.pattern-visual{height:520px}.capability-grid{grid-template-columns:1fr 1fr}.capability-grid article:nth-child(2){border:0}.project-grid{grid-template-columns:1fr}.project-card{min-height:390px}.project-card h3,.project-card h2{margin-top:3rem}.learning-inner,.split,.contact-hero,.cv-layout{grid-template-columns:1fr;gap:4rem}.learning-inner>a{grid-column:1}.map-row{grid-template-columns:1fr 1fr}.case-body{grid-template-columns:1fr}.flow{flex-wrap:wrap;gap:.5rem}.flow i{display:none}footer{grid-template-columns:1fr 1fr}}@media (width<=600px){body{overflow-x:hidden}h1,h2,h3{overflow-wrap:anywhere}.shell{width:min(100% - 32px,1240px)}.site-header{height:72px;padding-inline:16px}.brand b,.header-cta{display:none}.hero{min-height:auto;padding-block:45px}.hero h1{font-size:2.9rem}.actions{flex-direction:column;align-items:flex-start}.hero-stats{flex-wrap:wrap;gap:1rem;margin-top:3rem}.hero-stats div{border:0;width:45%;margin:0;padding:0}.pattern-visual{height:430px}.visual-note,.visual-note span{display:block}.section-space,.page-hero,.statement{padding-block:80px}.capability-grid{grid-template-columns:1fr}.capability-grid article,.capability-grid article:nth-child(2){border-right:0;border-bottom:1px solid var(--line);margin:0}.learning-list,.check-list{grid-template-columns:1fr}.learning-list li:nth-child(odd){margin:0}.article-list>a{grid-template-columns:minmax(0,1fr) 30px}.article-list time{grid-row:2}.article-list b{grid-area:1/2}.timeline article{grid-template-columns:1fr;gap:1rem}.case-hero{padding-block:75px}.case-body{padding-block:70px}.flow span{width:48%}.byline{flex-wrap:wrap}.article-body{margin-top:4rem}.contact-card{padding:1.6rem}footer{grid-template-columns:1fr}.footer-end{display:block}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.mobile-menu{margin-left:auto;display:none;position:relative}.mobile-menu summary{cursor:pointer;border:1px solid var(--line);align-items:center;gap:.65rem;padding:.6rem .75rem;font-size:.75rem;list-style:none;display:flex}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu[open] summary{background:var(--ink);color:#fff}.mobile-menu nav{background:var(--white);border:1px solid var(--line);min-width:240px;padding:.5rem;display:grid;position:absolute;top:calc(100% + .55rem);right:0;box-shadow:0 18px 48px #10282026}.mobile-menu nav a{border-bottom:1px solid var(--line);padding:.85rem .9rem;font-size:.85rem}.mobile-menu nav a:last-child{border-bottom:0}.mobile-menu nav a[aria-current=page]{color:var(--rust);font-weight:700}.print-only{display:none}@media (width<=1100px){.desktop-nav,.header-cta{display:none}.mobile-menu{display:block}}@media (width<=600px){.mobile-menu summary span{display:none}.mobile-menu nav{min-width:min(280px,100vw - 32px);right:-2px}.site-header{position:relative}.project-grid{gap:.9rem}.project-card{min-height:340px;padding:1.45rem}.project-card h3,.project-card h2{font-size:1.7rem}.map-row{grid-template-columns:1fr}.output{grid-template-columns:1fr 1fr}.contact-card>a{word-break:break-word}.cv-layout>aside{padding:1.5rem}}@media print{.site-header,footer,.actions,.no-print{display:none!important}.print-only{display:block}.page-hero,.section-space{padding:24px 0}.shell{width:100%}.cv-layout{grid-template-columns:1fr 2fr;gap:24px}.cv-layout>aside{background:#fff;border:1px solid #ccc}.light-timeline article{break-inside:avoid}.note{background:#fff;border:1px solid #ccc}body{color:#000;background:#fff;font-size:11pt}a{color:#000;text-decoration:none}}
