:root{--paper:#f7f9fa;--ink:#263e4c;--muted:#5b717d;--accent:#61888f;--line:#d2dfe4;--green:#d4e7df;--progress:0;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}main{overflow-x:clip}a{color:inherit;text-decoration:none}button,summary{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid #517f97;outline-offset:5px}::selection{background:#cce1df}h1,h2,h3,p,figure{margin:0}p{font-size:14px;line-height:1.85;color:var(--muted)}h2{font-weight:400;font-size:clamp(39px,4.5vw,63px);letter-spacing:-2.8px;line-height:1.1}h2 em,h3 em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.shell{width:min(1280px,88%);margin-inline:auto}.section{padding-block:68px}.micro,.eyebrow,.section-label{font:9px/1.6 'Courier New',monospace;letter-spacing:1.3px;color:#5c7885}.micro{display:block}.section-label{display:flex;justify-content:space-between;gap:25px;margin-bottom:32px}.section-label>span:last-child{letter-spacing:.5px}.button{display:inline-flex;gap:30px;align-items:center;background:var(--green);color:#315651;padding:15px 21px;border-radius:28px;font-size:12px;transition:transform .3s,background .3s,box-shadow .3s}.button:hover{background:#c1ded3;transform:translateY(-3px);box-shadow:0 9px 20px #42647712}.text-link{font-size:12px;display:inline-flex;gap:25px;border-bottom:1px solid #bdcfd6;padding-bottom:8px;color:#466c7d}.text-link:hover{color:#244e60}.skip-link{position:fixed;z-index:100;top:-70px;left:15px;background:white;padding:12px}.skip-link:focus{top:12px}.reading-progress{position:fixed;top:0;z-index:30;height:2px;background:var(--accent);width:calc(var(--progress)*100%)}[hidden]{display:none!important}
.site-header{height:83px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font:26px Georgia,serif;letter-spacing:-1px}.wordmark span{font:12px Arial,sans-serif;color:#7a9ca5;margin-left:9px}.site-header nav{display:flex;gap:28px;align-items:center;font-size:11px;color:#526b79}.site-header nav>a:hover{color:#2b515e}.cv-link{padding:10px 20px;border:1px solid #c7d8e0;border-radius:30px}.motion-toggle{width:28px;height:28px;border:1px solid #c7d8e0;border-radius:50%;color:#527685;background:transparent;font-size:10px}
.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:8%;align-items:center;padding-block:46px 40px;position:relative;isolation:isolate}.hero:before{content:'';position:absolute;z-index:-1;inset:-84px -6vw -30px;background:radial-gradient(ellipse at 82% 47%,#dbe7efcc,transparent 59%)}.hero .eyebrow{font-size:9px}.hero .eyebrow i{display:inline-block;width:6px;height:6px;background:#749c99;border-radius:50%;margin-right:8px}.hero h1{font-weight:400;font-size:clamp(57px,6.15vw,88px);line-height:1.015;letter-spacing:-.065em;margin-block:26px 23px;animation:hero-in .8s both}.hero h1 em{font:italic 1.08em/.99 Georgia,serif;letter-spacing:-.075em;color:#658994}.title-dot{color:#7d9eac}.hero-intro{font-size:16px;line-height:1.75;max-width:525px;color:#435f6d}.identity-line{display:flex;flex-wrap:wrap;gap:8px 18px;max-width:510px;margin-top:20px;font-size:10px;line-height:1.5;color:#5e7986}.identity-line span:first-child{flex-basis:100%;font-weight:500;color:#3d6375}.identity-line span:nth-child(3):before{content:'·';margin-right:18px;color:#89a2ad}.hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:26px}.hero-composition{position:relative;height:525px;perspective:1100px}.hero-portrait{position:absolute;inset:0 5px 14px 58px;background:white;padding:8px 8px 0;transform:rotate(3deg);box-shadow:0 18px 50px #3653721c;transition:transform .6s;z-index:2}.hero-portrait:hover{transform:rotate(0deg) translateY(-3px)}.hero-portrait>img{display:block;width:100%;height:calc(100% - 92px);object-fit:cover;object-position:61% 38%}.hero-portrait figcaption{padding:16px 14px 14px;background:#fff}.hero-portrait figcaption .micro{font-size:7px;letter-spacing:1.1px}.hero-portrait figcaption strong{display:block;font-size:20px;font-weight:400;letter-spacing:-.5px;margin-top:5px}.hero-portrait figcaption>span:last-child{font-size:9px;color:#6e8593;display:block;margin-top:5px}.portrait-index{position:absolute;left:70px;top:-18px;font:7px 'Courier New',monospace;letter-spacing:1.5px;color:#6f8b9a}.orbit-drawing{position:absolute;inset:-40px -40px 0 -90px;width:calc(100% + 150px);height:115%;fill:none;stroke:#93b4c45c;stroke-width:.8;pointer-events:none}.orbit-drawing path{stroke:#739eaa66;stroke-dasharray:5 11;animation:orbit-flow 30s linear infinite}.orbit-drawing circle{fill:#8aafba;stroke:none}.app-preview{position:absolute;z-index:3;left:-36px;bottom:30px;width:230px;background:white;border:1px solid #e0e7eb;border-radius:6px;padding:7px;box-shadow:0 16px 40px #3a597b22;transform:rotate(-7deg);animation:app-float 8s ease-in-out infinite;transition:box-shadow .4s}.app-preview:hover{box-shadow:0 23px 55px #3a597b33}.app-preview-image{aspect-ratio:1.65;overflow:hidden;border-radius:3px}.app-preview-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center bottom}.app-preview>span{display:block;font-size:12px;color:#385e6e;padding:10px 6px 5px}.app-preview small{display:block;font-size:8px;color:#758d99;margin-top:4px}.recognition-strip{display:grid;grid-template-columns:.75fr 1fr 1.35fr auto;align-items:center;gap:25px;border-top:1px solid #ccdbe1;padding-block:24px 27px}.recognition-strip>.micro{font-size:8px}.recognition-strip strong{display:block;font-size:12px;font-weight:400;color:#405f70}.recognition-strip div>span{font-size:9px;color:#6a8290;display:block;margin-top:7px}.recognition-strip>a{font-size:10px;color:#496d7d;white-space:nowrap}
.project{background:#edf3f6;border-radius:30px 30px 0 0}.project-heading{display:grid;grid-template-columns:1fr 1.1fr;gap:11%;align-items:center;margin-bottom:35px}.project-heading h2{font-size:64px;margin-top:9px;letter-spacing:-3px}.project-heading h2>span{font-size:30px;color:#8da9b7;margin-left:23px;vertical-align:10px}.project-heading p{font-size:14px;max-width:480px}.project-heading strong{font-weight:400;color:#355b6b}.product-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:8%;align-items:start}.product-view{border:1px solid #d4e1e7;border-radius:9px;background:#f9fbfd;box-shadow:0 12px 32px #39596d09;overflow:hidden}.product-toolbar{padding:14px 18px;display:flex;justify-content:space-between;gap:20px;font:8px 'Courier New',monospace;letter-spacing:1px;color:#698695}.product-screens{aspect-ratio:4/3;background:#e7edf5}.product-screens img{display:block;width:100%;height:100%;object-fit:contain}.product-screens.changing{animation:panel-in .4s ease}.screen-tabs{display:grid;grid-template-columns:repeat(3,1fr);padding:7px;gap:6px;border-top:1px solid #d7e3ea}.screen-tabs button{font-size:11px;color:#5f7b8a;border:0;border-radius:5px;padding:12px 5px;background:transparent;transition:background .3s,color .3s}.screen-tabs button[aria-selected=true]{background:#dce9ee;color:#325d70}.screen-tabs button:hover{background:#e7eef3}.product-view>p{font-size:11px;line-height:1.6;padding:7px 17px 16px;min-height:57px;color:#627c8a}.project-story h3{font-size:28px;line-height:1.15;font-weight:400;letter-spacing:-1px;margin-block:14px 17px}.project-story p{font-size:13px}.design-contribution .text-link{font-size:11px;margin-top:15px}.study-summary{margin-top:28px;padding-top:24px;border-top:1px solid #ccdce4}.study-summary h3{font-family:Georgia,serif;color:#517b89;font-size:30px;font-style:italic;letter-spacing:-1px}.study-summary .study-caveat{font-size:11px;margin-top:10px;color:#6c8591}.study-summary .button{font-size:11px;padding:13px 20px;margin-top:19px}.project-foot{display:flex;justify-content:space-between;gap:20px;margin-top:25px;font:9px/1.8 'Courier New',monospace;color:#688390}.project-foot a{white-space:nowrap;color:#42677a}
.research-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:end;margin-bottom:29px}.research-heading h2{font-size:clamp(38px,3.9vw,56px)}.research-heading>p{font-size:13px}.ra-block{border:1px solid #d5e1e5;border-radius:7px;overflow:hidden;background:#fbfcfc}.role-bar{padding:15px 22px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#607c89;border-bottom:1px solid #d7e3e7}.role-bar>span:last-child{font:8px 'Courier New',monospace;letter-spacing:1px}.research-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #d7e3e7}.research-tabs button{background:transparent;color:#607d89;border:0;padding:18px 20px;font-size:13px;text-align:left;border-bottom:2px solid transparent;transition:background .3s,color .3s}.research-tabs button>span{font:8px 'Courier New',monospace;margin-right:15px;color:#7d97a2}.research-tabs button[aria-selected=true]{color:#345e70;background:#edf4f5;border-bottom-color:#719aab}.research-tabs button:hover{background:#f0f5f6}.ra-panel{display:grid;grid-template-columns:1.45fr 1fr;gap:9%;padding:29px 30px;animation:panel-in .35s ease;min-height:320px}.ra-panel h3{font-size:29px;line-height:1.15;font-weight:400;letter-spacing:-1px;margin-block:14px}.ra-panel p{font-size:13px}.ra-panel .connection{font-size:11px;line-height:1.8;margin-top:12px;color:#66828c}.research-evidence{background:#eaf2f2;align-self:center;padding:24px;border-radius:4px}.research-evidence>strong{font-size:37px;line-height:1.1;font-weight:400;letter-spacing:-1.6px;display:block;margin-top:20px;color:#507780}.research-evidence small{display:block;font-size:10px;letter-spacing:0;color:#67868d;margin-top:7px}.research-evidence p{font-size:11px;line-height:1.9;color:#607f87;margin-top:17px}.paired-data{display:flex;align-items:center;justify-content:space-between;gap:13px;margin-top:20px;font-size:13px;line-height:1.4;color:#416772}.paired-data em{font:italic 24px Georgia,serif;color:#71968f}.paired-data b{font-size:25px;font-weight:400;color:#8fb1ab}.practice-band{display:grid;grid-template-columns:150px 1fr;gap:30px;border-top:1px solid #d7e1e4;padding-top:26px;margin-top:28px;align-items:start}.practice-band figure{background:white;padding:5px 5px 18px;transform:rotate(-2deg);box-shadow:0 8px 20px #3855680d}.practice-band img{width:100%;height:162px;object-fit:cover;object-position:center 40%;display:block}.practice-band figcaption{font:7px 'Courier New',monospace;text-align:center;color:#7b8c92;margin-top:8px}.practice-band h3{font-size:26px;font-weight:400;letter-spacing:-.8px;line-height:1.16;margin-block:10px 12px}.practice-band>div>p{font-size:12px;max-width:830px}.practice-band details{margin-top:13px}.practice-band summary{font-size:11px;color:#426b7c;list-style:none;display:flex;gap:22px;align-items:center;padding-block:7px}.practice-band summary::-webkit-details-marker{display:none}.practice-band summary span{transition:transform .3s}.practice-band details[open] summary span{transform:rotate(45deg)}.practice-details{display:grid;gap:11px;margin-top:14px;padding:18px 20px;background:#edf3f4;border-radius:4px}.practice-details p{font-size:12px}.practice-details strong{font-weight:500;color:#426774}
.journey{border-top:1px solid var(--line)}.journey-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:13%;align-items:start}.journey-aside{position:sticky;top:35px}.journey-aside h2{font-size:clamp(40px,4.2vw,59px)}.journey-aside>p{font-size:13px;max-width:290px;margin-top:21px}.year-nav{display:flex;flex-direction:column;gap:3px;margin-block:25px}.year-nav a{display:flex;align-items:center;gap:24px;border-left:1px solid var(--line);padding:10px 14px;max-width:250px;font:14px 'Courier New',monospace;color:#79949d;transition:background .3s,color .3s}.year-nav a span{font:10px Arial,sans-serif}.year-nav a.active{border-left:2px solid #789fac;background:#ebf2f4;color:#3b6879}.journey-aside>.text-link{font-size:11px}.timeline{border-left:1px solid #cfdee3;padding-left:32px}.timeline-entry{position:relative;border-bottom:1px solid #d9e3e7;padding-block:8px 22px;margin-bottom:22px;scroll-margin-top:40px}.timeline-entry:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.timeline-dot{position:absolute;left:-37px;top:14px;width:9px;height:9px;border-radius:50%;background:#b2cad3;box-shadow:0 0 0 5px var(--paper);transition:background .4s}.timeline-entry.active .timeline-dot{background:#638e9f}.timeline-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.timeline .micro{font-size:8px}.place-code{font:11px 'Courier New',monospace;letter-spacing:2px;color:#91a9b3}.timeline h3{font-size:32px;font-weight:400;letter-spacing:-1.3px;margin-top:12px}.timeline .timeline-lead{font-size:15px;color:#557a8a;margin-top:8px;line-height:1.6}.timeline-entry>p:not(.timeline-lead){font-size:11px;margin-top:9px;max-width:460px}.chapter-line{display:none}.degree-lines{display:grid;gap:5px;font-size:12px;line-height:1.5;color:#496c7c;margin-top:12px}.timeline-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.timeline-tags span{font-size:8px;border:1px solid #d1dfe4;padding:6px 9px;border-radius:15px;color:#6a8792}.timeline-photo{float:right;margin:15px 0 10px 20px;width:160px;padding:5px 5px 17px;background:white;transform:rotate(3deg);box-shadow:0 8px 25px #34546e12}.timeline-photo img{width:100%;height:145px;object-fit:cover;object-position:center 47%;display:block}.timeline-photo figcaption{font:6px/1.6 'Courier New',monospace;text-align:center;margin-top:7px;color:#6b8592}.timeline-entry:last-child:after{content:'';display:block;clear:both}.timeline-entry>.text-link{font-size:10px;margin-top:25px;max-width:220px;line-height:1.6}
footer{padding-block:33px 25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap}.contact-email{display:block;font-size:clamp(16px,2vw,27px);letter-spacing:-.6px;margin-top:12px}.contact-email span{font-size:18px;color:#7199a7;margin-left:20px}.footer-links{display:flex;gap:25px;font-size:11px;color:#547888}.footer-meta{flex-basis:100%;display:flex;justify-content:space-between;gap:20px;font:8px/1.7 'Courier New',monospace;color:#7a909b;margin-top:8px}.js .reveal{opacity:0;transform:translateY(15px);transition:opacity .65s,transform .7s cubic-bezier(.2,.8,.2,1)}.js .reveal.visible{opacity:1;transform:none}.paused *, .paused *:before,.paused *:after{animation-play-state:paused!important}.paused .hero h1,.paused .reveal{opacity:1;transform:none}@keyframes hero-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes panel-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes orbit-flow{to{stroke-dashoffset:-400}}@keyframes app-float{0%,100%{transform:rotate(-7deg) translateY(0)}50%{transform:rotate(-5deg) translateY(-7px)}}
@media(max-width:1100px){.hero{gap:5%;grid-template-columns:1.3fr 1fr}.hero h1{font-size:clamp(51px,6.05vw,68px)}.hero-composition{height:460px}.hero-portrait{left:30px}.hero-portrait figcaption strong{font-size:17px}.app-preview{width:195px;left:-33px;bottom:22px}.hero-intro{font-size:14px}.identity-line{font-size:9px;gap:8px 12px}.identity-line span:nth-child(3):before{margin-right:12px}.hero-actions{gap:18px}.hero-actions .button{font-size:11px;gap:20px}.hero-actions .text-link{font-size:11px;gap:15px}.recognition-strip{gap:20px;grid-template-columns:.8fr 1fr 1.3fr}.recognition-strip>a{display:none}.project-heading{gap:7%}.product-grid{gap:6%;grid-template-columns:1.1fr 1fr}.project-story h3{font-size:25px}.project-story p{font-size:12px}.study-summary{margin-top:22px;padding-top:20px}.product-toolbar{font-size:7px}.project-foot{font-size:8px}.research-heading{gap:7%}.ra-panel{gap:7%;padding:25px}.ra-panel h3{font-size:27px}.research-evidence{padding:20px}.paired-data{gap:9px;font-size:12px}.paired-data em{font-size:22px}.journey-grid{gap:9%}}
@media(max-width:760px){.shell{width:calc(100% - 40px)}.section{padding-block:45px}.section-label{font-size:8px;margin-bottom:25px}.section-label>span:last-child{display:none}.site-header{height:70px}.wordmark{font-size:23px}.site-header nav{gap:15px;font-size:10px}.site-header nav>a:nth-child(1),.site-header nav>a:nth-child(3){display:none}.cv-link{padding:8px 12px}.motion-toggle{width:25px;height:25px}.hero{grid-template-columns:1fr;gap:33px;padding-block:35px 24px}.hero .eyebrow{font-size:8px;letter-spacing:.9px}.hero h1{font-size:clamp(46px,11.5vw,76px);margin-block:21px;letter-spacing:-.06em;line-height:1.01}.hero-intro{font-size:14px;line-height:1.75}.identity-line{font-size:9px;margin-top:16px;gap:7px 11px}.identity-line span:nth-child(3):before{margin-right:11px}.hero-actions{margin-top:21px;gap:23px}.hero-actions .button{font-size:11px;padding:14px 19px}.hero-actions .text-link{font-size:10px;gap:16px}.hero-composition{height:365px;width:min(100%,430px);justify-self:center;margin-top:6px}.hero-portrait{left:75px;right:9px;bottom:7px;transform:rotate(3deg)}.hero-portrait>img{height:calc(100% - 83px);object-position:60% 38%}.hero-portrait figcaption{padding:12px 8px}.hero-portrait figcaption strong{font-size:17px}.hero-portrait figcaption .micro{font-size:6px}.hero-portrait figcaption>span:last-child{font-size:7px}.portrait-index{font-size:6px;left:85px;top:-16px;letter-spacing:1px}.app-preview{width:170px;left:0;bottom:18px;transform:rotate(-7deg)}.app-preview>span{font-size:10px;padding:8px 4px 3px}.app-preview small{font-size:7px}.orbit-drawing{inset:-30px -20px 0 -20px;width:calc(100% + 40px);height:110%}.recognition-strip{grid-template-columns:1fr 1fr;gap:14px 20px;padding-block:19px 22px}.recognition-strip>.micro{grid-column:1/-1;font-size:7px}.recognition-strip strong{font-size:10px;line-height:1.5}.recognition-strip div>span{font-size:8px;line-height:1.6;margin-top:4px}.project{border-radius:23px 23px 0 0}.project-heading{grid-template-columns:1fr;gap:18px;margin-bottom:25px}.project-heading h2{font-size:51px;letter-spacing:-2.8px}.project-heading .eyebrow{font-size:8px}.project-heading h2>span{font-size:25px;vertical-align:8px;margin-left:17px}.project-heading p{font-size:13px}.product-grid{grid-template-columns:1fr;gap:27px}.product-toolbar{font-size:7px;padding:12px}.screen-tabs button{font-size:10px;padding:10px 5px}.product-view>p{font-size:10px;min-height:54px}.project-story h3{font-size:27px;margin-block:12px}.project-story p{font-size:13px}.design-contribution .text-link{font-size:10px;margin-top:13px}.study-summary{margin-top:23px;padding-top:21px}.study-summary h3{font-size:29px}.study-summary .button{font-size:11px}.project-foot{font-size:8px;display:block;line-height:1.8;margin-top:23px}.project-foot a{display:inline-block;margin-top:10px}.research-heading{grid-template-columns:1fr;gap:20px;margin-bottom:23px}.research-heading h2{font-size:39px;letter-spacing:-2px}.research-heading>p{font-size:12px}.role-bar{padding:14px;font-size:9px;line-height:1.7}.role-bar>span:last-child{display:none}.research-tabs button{font-size:10px;line-height:1.4;padding:12px 10px}.research-tabs button>span{display:block;font-size:7px;margin:0 0 6px}.ra-panel{grid-template-columns:1fr;padding:22px 20px;gap:21px;min-height:0}.ra-panel .micro{font-size:8px;letter-spacing:.7px}.ra-panel h3{font-size:26px;letter-spacing:-.8px}.ra-panel p{font-size:12px}.ra-panel .connection{font-size:11px}.research-evidence{padding:18px 20px}.paired-data{justify-content:start;gap:23px}.research-evidence p{font-size:10px;margin-top:13px}.research-evidence>strong{font-size:34px;margin-top:15px}.practice-band{grid-template-columns:83px 1fr;gap:17px;padding-top:23px;margin-top:24px}.practice-band img{height:105px}.practice-band figure{padding:4px 4px 13px}.practice-band figcaption{font-size:6px}.practice-band .micro{font-size:7px}.practice-band h3{font-size:22px;line-height:1.15;letter-spacing:-.6px;margin-block:9px 11px}.practice-band>div>p{font-size:11px}.practice-band summary{font-size:10px;line-height:1.6;gap:12px}.practice-details{padding:15px;margin-left:-100px}.practice-details p{font-size:11px}.journey-grid{grid-template-columns:1fr;gap:27px}.journey-aside{position:static}.journey-aside h2{font-size:44px;letter-spacing:-2px}.journey-aside h2 br:nth-child(2){display:none}.journey-aside h2 em:before{content:' '}.journey-aside>p{font-size:12px;max-width:100%;margin-top:18px}.year-nav{flex-direction:row;gap:0;overflow:auto;margin-block:20px}.year-nav a{display:block;min-width:20%;padding:10px 5px;border-left:0;border-bottom:1px solid var(--line);font-size:12px;text-align:center}.year-nav a span{display:block;font-size:8px;white-space:nowrap;margin-top:7px}.year-nav a.active{border-left:0;border-bottom:2px solid #7fa3b0}.journey-aside>.text-link{font-size:10px}.timeline{padding-left:23px;margin-left:5px}.timeline-dot{left:-28px}.timeline-entry{padding-bottom:21px;margin-bottom:21px}.timeline h3{font-size:31px}.timeline .micro{font-size:7px;letter-spacing:.8px}.place-code{font-size:10px}.timeline .timeline-lead{font-size:14px}.timeline-entry>p:not(.timeline-lead){font-size:11px}.degree-lines{font-size:11px}.timeline-tags span{font-size:7px}.timeline-photo{width:115px;margin-left:12px}.timeline-photo img{height:125px}.timeline-photo figcaption{font-size:5px}.timeline-entry>.text-link{font-size:9px;max-width:130px;gap:12px}footer{padding-block:28px 22px;gap:21px}.contact-email{font-size:18px;letter-spacing:-.5px}.contact-email span{font-size:14px;margin-left:10px}.footer-links{font-size:10px;gap:25px}.footer-meta{font-size:7px;display:block;margin-top:1px}.footer-meta>span:last-child{display:block;margin-top:9px}}
@media(max-width:350px){.hero h1{font-size:41px}.hero .eyebrow{font-size:7px;letter-spacing:.7px}.hero-actions{gap:16px}.hero-actions .button{font-size:10px;gap:18px;padding:13px 16px}.hero-actions .text-link{font-size:9px;gap:12px}.hero-composition{height:335px}.hero-portrait{left:55px;right:4px}.hero-portrait figcaption strong{font-size:15px}.hero-portrait figcaption>span:last-child{font-size:6px}.app-preview{width:150px}.project-heading h2{font-size:46px}.research-heading h2{font-size:35px}.research-tabs button{font-size:9px;padding-inline:8px}.ra-panel{padding:20px 17px}.paired-data{gap:17px}.practice-band h3{font-size:20px}.year-nav a span{font-size:7px}.journey-aside h2{font-size:39px}.contact-email{font-size:16px}.contact-email span{margin-left:5px}}
.app-preview{bottom:132px}
.mobile-recognition{display:none}
@media(max-width:1100px){.app-preview{bottom:115px}}
@media(max-width:760px){.app-preview{bottom:105px}.mobile-recognition{display:inline-block;font-size:9px;color:#496c7e;border:1px solid #c7dbe2;border-radius:20px;padding:6px 10px;margin-top:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}

/* Four identities, with teaching practice and research in separate paragraphs. */
.hero h1.identity-title{font-size:clamp(34px,4.2vw,60px);line-height:1.12;letter-spacing:-.055em}
.identity-title>span,.hero h1.identity-title>em{display:block;white-space:nowrap}
.hero h1.identity-title>em{font-size:1em;line-height:1.12;letter-spacing:-.065em;margin-top:5px}
.hero-intro>p{font:inherit;color:inherit}
.hero-intro>p+p{margin-top:14px}
@media(max-width:1100px) and (min-width:761px){.hero h1.identity-title{font-size:clamp(32px,4.1vw,46px)}}
@media(max-width:760px){.hero h1.identity-title{font-size:clamp(25px,7.6vw,56px);line-height:1.13;letter-spacing:-.05em}.hero-intro>p+p{margin-top:12px}}

/* A single full-length portrait and a compact, paper-first introduction. */
.hero{padding-block:24px 28px;align-items:start}
.hero-copy{padding-top:10px}
.hero h1.identity-title{margin-block:20px}
.hero-composition{height:525px;display:flex;justify-content:center;align-items:flex-start;padding-top:6px}
.hero-portrait{position:relative;inset:auto;width:min(330px,calc(100% - 34px));flex:none;transform:rotate(2deg)}
.hero-portrait>img{height:auto;aspect-ratio:3/4;object-fit:contain;object-position:center}
.hero-portrait figcaption{padding:12px 10px 14px}
.hero-portrait figcaption strong{font-size:19px}
.portrait-index{top:-10px;left:50%;transform:translateX(-50%);white-space:nowrap}
.identity-line{display:grid;gap:7px;max-width:none;font-size:10px;line-height:1.6;margin-top:18px}
.identity-line span:first-child{font-weight:400}
.hero-actions{gap:22px;margin-top:22px}
.hero-actions .button{gap:18px}
.hero-actions .text-link{gap:15px}
.study-summary .study-subtitle{font-size:12px;line-height:1.6;color:#426b7c;margin-top:-7px;margin-bottom:14px}
.project-foot>span{max-width:850px}
.evidence-flow{display:flex;align-items:center;gap:15px;margin-top:24px;color:#416772;font-size:16px;line-height:1.4}
.evidence-flow>span{flex:1}
.evidence-flow b{font-weight:400;color:#8fb1ab;font-size:25px}
.evidence-flow em{display:block;font:italic 35px Georgia,serif;color:#71968f}
.teaching-section{border-top:1px solid var(--line)}
.teaching-grid{display:grid;grid-template-columns:210px 1fr;gap:7%;align-items:start}
.teaching-photo{padding:7px 7px 18px;background:white;transform:rotate(-2deg);box-shadow:0 8px 25px #34546e12}
.teaching-photo img{width:100%;height:auto;display:block}
.teaching-photo figcaption{font:7px/1.5 'Courier New',monospace;text-align:center;color:#6b8592;margin-top:12px}
.teaching-copy h2{font-size:clamp(25px,2.7vw,38px);letter-spacing:-1.3px;line-height:1.2}
.teaching-copy>p{max-width:760px;font-size:13px;margin-top:18px}
.teaching-details{margin-top:20px;border-top:1px solid var(--line)}
.teaching-details summary{display:flex;justify-content:space-between;align-items:center;list-style:none;padding-block:15px;font-size:12px;color:#426b7c}
.teaching-details summary::-webkit-details-marker{display:none}
.teaching-details summary span{font-size:18px;transition:transform .3s}
.teaching-details[open] summary span{transform:rotate(45deg)}
.teaching-roles{display:grid;grid-template-columns:1fr 1fr;gap:24px 30px;padding:12px 0 20px}
.teaching-roles h3{font-size:16px;font-weight:400;color:#375b6b;margin-bottom:5px}
.teaching-roles p{font-size:12px;line-height:1.75}
.teaching-roles .role-context{font-size:10px;color:#6b8592;margin-bottom:10px}
.teaching-copy>.teaching-credentials{font-size:10px;line-height:1.7;border-top:1px solid var(--line);padding-top:15px;margin-top:0;color:#5c7885}
@media(max-width:1100px){.site-header nav{gap:19px}.hero-composition{height:auto;min-height:440px}.hero-portrait figcaption strong{font-size:17px}.hero-portrait figcaption .micro{font-size:6px}.hero-portrait figcaption>span:last-child{font-size:8px}.hero-actions{gap:16px}.hero-actions .button{padding:14px 17px}.hero-actions .text-link{gap:10px}.identity-line{font-size:9px}.teaching-grid{grid-template-columns:180px 1fr;gap:5%}.evidence-flow{font-size:14px;gap:10px}}
@media(max-width:760px){.site-header nav{gap:13px}.site-header nav>a[href="#teaching"],.site-header nav>a[href="#journey"]{display:none}.hero{padding-block:20px 24px;gap:26px}.hero-copy{padding-top:0}.hero-composition{height:auto;min-height:0;width:100%;padding-top:6px;margin-top:5px}.hero-portrait{width:min(300px,calc(100% - 28px))}.hero-portrait figcaption strong{font-size:18px}.identity-line{font-size:9px;line-height:1.7}.hero-actions{gap:18px}.hero-actions .button{font-size:10px;padding:14px 17px;gap:12px}.hero-actions .text-link{font-size:10px;gap:8px}.study-summary .study-subtitle{font-size:12px}.evidence-flow{justify-content:start;font-size:16px;gap:20px}.evidence-flow>span{flex:initial}.teaching-grid{grid-template-columns:1fr;gap:26px}.teaching-photo{width:145px;grid-row:2;justify-self:end;margin-top:-8px}.teaching-copy h2{font-size:27px;letter-spacing:-1px}.teaching-copy>p{font-size:12px}.teaching-copy>.teaching-credentials{font-size:9px}.teaching-roles{grid-template-columns:1fr;gap:20px}.teaching-roles h3{font-size:15px}.teaching-roles p{font-size:12px}.teaching-photo figcaption{font-size:6px}}
@media(max-width:350px){.hero-actions{gap:14px}.hero-actions .button{font-size:9px;padding:13px 12px;gap:8px}.hero-actions .text-link{font-size:9px}.teaching-copy h2{font-size:24px}.section-label{letter-spacing:.6px}}

.research-intro>p{font-size:13px}.research-intro>p+p{margin-top:14px}
@media(max-width:760px){.research-intro>p{font-size:12px}}
