@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--paper:#f4f0e7;--ink:#22251f;--muted:#626866;--line:#d7d3c8;--accent:#8d4935;--soft:#f0e5dd;--gutter:5.6vw;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}button{background:none;border:0}::selection{color:white;background:var(--accent)}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Manrope',sans-serif;font-weight:500}em{font-style:normal;color:var(--accent)}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.skip-link{position:fixed;top:10px;left:10px;transform:translateY(-200%);background:white;padding:15px;z-index:100}.skip-link:focus{transform:none}.scroll-progress{height:3px;background:var(--accent);position:fixed;top:0;left:0;width:100%;transform:scaleX(0);transform-origin:left;z-index:60;pointer-events:none}.header{height:90px;padding:0 var(--gutter);display:flex;align-items:center;gap:35px;position:absolute;top:0;left:0;width:100%;z-index:30}.wordmark{font-family:'Manrope',sans-serif;font-size:31px;letter-spacing:-3px;font-weight:800}.wordmark-dot{color:var(--accent)}.header-note{font-size:9px;letter-spacing:1.2px;max-width:170px;line-height:1.65}.header nav{display:flex;align-items:center;gap:32px;margin-left:auto}.header nav a{font-size:12px;font-weight:550;position:relative}.header nav a:after{content:'';position:absolute;bottom:-6px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.header nav a:hover:after{transform:scaleX(1)}nav a span{font-size:9px;margin-left:5px;opacity:.6}.nav-contact{margin-left:24px}.menu-toggle{display:none}.hero{min-height:790px;height:100svh;max-height:1080px;position:relative;padding:142px var(--gutter) 0;overflow:hidden;background:var(--paper)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(90deg,transparent calc(100% - 1px),rgba(35,50,52,.065) 0);background-size:22.2% 100%;background-position:5.6vw 0;pointer-events:none}.hero-topline{font-size:10px;letter-spacing:1.6px;display:flex;align-items:center;gap:12px;position:relative;z-index:2}.status-dot{height:6px;width:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px #8d49350c}.hero h1{position:relative;font-size:clamp(90px,11.9vw,190px);font-weight:550;letter-spacing:-.08em;line-height:1.01;z-index:3;margin:42px 0 25px;pointer-events:none;width:66%}.hero-line{display:block;overflow:hidden;padding:0 .15em .06em 0;margin-bottom:-.06em}.hero-line>span{display:block}.surname{margin-left:5.8vw}.period{color:var(--accent)}.hero-photo-wrap{position:absolute;right:var(--gutter);width:33.4vw;height:65.5%;top:16%;max-height:660px;}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:50% 42%;filter:contrast(.93)}.hero-bottom{display:flex;align-items:flex-end;gap:40px;position:relative;width:59%;z-index:4}.hero-description p{font-size:clamp(20px,2.25vw,34px);line-height:1.16;letter-spacing:-1px;margin-bottom:17px}.hero-description>span{display:block;font-size:12px;line-height:1.7;max-width:255px;color:#515957}.round-link{display:flex;align-items:center;gap:16px;padding-bottom:3px;white-space:nowrap}.round-link>span{font-size:11px}.round-link i{display:flex;align-items:center;justify-content:center;border:1px solid #a8b0a6;border-radius:50%;height:49px;width:49px;font-size:23px;font-style:normal;transition:background .3s,color .3s,transform .3s}.round-link:hover i{background:var(--accent);border-color:var(--accent);color:white;transform:translateY(5px)}.hero-foot{position:absolute;bottom:25px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.2px;border-top:1px solid var(--line);padding-top:20px}.hero-foot b{margin-left:30px;font-size:14px;font-weight:400}.section{padding:112px var(--gutter)}.section-label{font-size:10px;letter-spacing:1.6px;font-weight:550;line-height:1.6}.small-cross{color:var(--accent);font-size:21px;margin-right:12px;vertical-align:middle}.intro{display:grid;grid-template-columns:1fr 2fr;gap:50px;border-bottom:1px solid var(--line);padding-top:123px;padding-bottom:125px}.intro h2{font-size:clamp(26px,3.25vw,53px);line-height:1.25;letter-spacing:-2px}.muted{color:#777e77}.intro-body>p{font-size:16px;line-height:1.85;max-width:560px;margin:32px 0 35px;color:#57605b}.expertise{display:flex;gap:10px 24px;flex-wrap:wrap;font-size:10px;color:#464d47}.expertise span{border-bottom:1px solid #a7b1a5;padding-bottom:7px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:65px;gap:35px}.section-heading h2,.approach h2{font-size:clamp(40px,5.15vw,80px);line-height:1.08;letter-spacing:-.055em;margin-top:25px}.section-heading>p{font-size:12px;line-height:1.9;max-width:265px;margin-bottom:7px;color:#59615c}.work-list{border-top:1px solid var(--ink)}.work-item{border-bottom:1px solid var(--line)}.work-trigger{display:flex;align-items:center;width:100%;padding:31px 0;text-align:left;gap:28px}.project-number{font-size:11px;align-self:flex-start;padding-top:6px;color:var(--muted);width:35px}.project-title{font-family:'Manrope',sans-serif;font-size:clamp(20px,2.7vw,39px);letter-spacing:-.9px;flex:1;transition:transform .4s var(--ease),color .4s}.project-title small{display:block;font-family:'DM Sans',sans-serif;font-size:8px;letter-spacing:1.35px;margin-top:10px;color:#606760}.project-status{font-size:9px;color:#5c635d;border:1px solid #c6cec0;border-radius:30px;padding:7px 11px}.project-plus{width:46px;height:46px;display:grid;place-items:center;font-size:26px;line-height:1;border-radius:50%;background:#e7e8df;transition:background .3s,color .3s}.work-trigger:hover .project-title{transform:translateX(6px);color:var(--accent)}.work-trigger[aria-expanded=true] .project-plus{background:var(--accent);color:white}.work-panel-inner{display:grid;grid-template-columns:1.3fr 1fr;gap:55px;padding:2px 0 45px 63px}.work-panel[hidden]{display:none}.work-panel.animate-in{animation:panel-in .6s var(--ease)}.project-visual{aspect-ratio:1.55;min-height:300px;background:#e7ebe3;overflow:hidden;position:relative}.diagram-grid{position:absolute;inset:0;background-image:linear-gradient(#a0afa821 1px,transparent 1px),linear-gradient(90deg,#a0afa821 1px,transparent 1px);background-size:25px 25px}.project-visual svg{position:absolute;inset:0;width:100%;height:100%}.diagram-path{stroke:#738075;stroke-width:1;fill:none}.diagram-center{fill:#8d4935;stroke:#8d4935}.diagram-ring{fill:none;stroke:#8d4935;stroke-width:.5;stroke-dasharray:2 6}.signal{fill:var(--accent)}.diagram-label{position:absolute;font-size:8px;letter-spacing:1px;background:#e7ebe3;padding:8px}.dl1{top:30%;left:7%}.dl2{top:63%;left:5%}.dl3{top:30%;right:5%}.dl4{top:63%;right:9%}.diagram-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:white;font-size:29px;letter-spacing:-1px;text-align:center}.diagram-core>span{display:block;font-size:9px;letter-spacing:0}.visual-caption{position:absolute;bottom:20px;left:23px;font-size:8px;letter-spacing:1.2px;color:#52615d}.project-copy{padding:17px 10px 0 0}.eyebrow{font-size:8px;letter-spacing:1.6px;color:var(--accent);font-weight:650}.project-copy h3{font-size:clamp(24px,2.5vw,36px);letter-spacing:-1px;line-height:1.2;margin:17px 0}.project-copy p{font-size:12px;line-height:1.9;color:#59625d;max-width:365px}.project-tags{display:flex;gap:18px;margin-top:20px;font-size:8px;color:#58605b}.project-tags span:before{content:'+';margin-right:5px;color:var(--accent)}.text-link{display:flex;align-items:center;justify-content:space-between;max-width:230px;padding:13px 0 10px;margin-top:19px;border-bottom:1px solid var(--ink);font-size:11px}.text-link span{font-size:19px;transition:transform .3s}.text-link:hover span{transform:translate(3px,-3px)}.career-visual{background:#ebe9dd}.path-word{position:absolute;font-family:'Manrope',sans-serif;font-size:22px;letter-spacing:-1px}.pw1{left:10%;top:12%;color:#85968b}.pw2{left:25%;top:30%;color:#6e806f}.pw3{left:41%;top:48%;color:#5b705c}.pw4{left:30%;top:67%;color:var(--accent);font-size:30px}.career-visual:before{content:'';position:absolute;left:14%;top:21%;width:30%;height:43%;border-left:1px solid #acb7a8;border-bottom:1px solid #acb7a8;border-radius:0 0 0 30px}.reasoning-visual{background:#e8e8e3}.reasoning-lens{width:39%;aspect-ratio:1;border:1px solid #9a9c7f;border-radius:50%;position:absolute;top:15%;mix-blend-mode:multiply;background:#d5d0ae44;transition:transform 1s}.lens1{left:19%}.lens2{left:40%}.lens3{left:29.5%;top:34%}.reasoning-label{position:absolute;font-size:9px;letter-spacing:.5px;color:#4c5540}.rl1{left:15%;top:14%}.rl2{right:12%;top:25%}.rl3{left:40%;bottom:21%}.approach{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#e9ede6;position:relative}.approach-heading{align-self:start;position:sticky;top:100px}.approach-heading>p{font-size:14px;line-height:1.8;max-width:310px;margin-top:30px;color:#5c655e}.approach-hint{font-size:8px;letter-spacing:1px;margin-top:65px;display:block;color:#53604e}.approach-hint span{font-size:23px;margin-left:14px}.approach-explorer{position:relative;border-top:1px solid #a4afa0}.layer-tabs{display:flex;justify-content:space-between}.layer-tabs button{padding:20px 0 16px;text-align:left;font-size:8px;color:#596857;border-top:2px solid transparent;position:relative;top:-1px;transition:color .3s,border-color .3s}.layer-tabs button span{display:block;font-size:11px;margin-top:6px}.layer-tabs button[aria-selected=true]{border-color:var(--accent);color:var(--accent)}.layer-visual{position:relative;height:325px;display:grid;place-items:center;overflow:hidden}.layer-orbit{position:absolute;width:210px;height:210px;border:1px solid #899888;border-radius:50%;transition:transform 1s var(--ease),width 1s var(--ease),height 1s var(--ease),border-color 1s}.orbit-one{transform:translateX(-43px)}.orbit-two{transform:translateX(43px)}.orbit-three{width:275px;height:130px;transform:rotate(-35deg);border-color:var(--accent)}.layer-core{position:relative;border-radius:50%;display:grid;place-items:center;width:73px;height:73px;background:var(--accent);color:#fff;font-size:25px;letter-spacing:-1px;box-shadow:0 0 0 12px #e9ede690;z-index:2}.orbit-label{position:absolute;font-size:7px;letter-spacing:1px;color:#586952;background:#e9ede6;padding:4px}.ol1{top:12%;left:8%}.ol2{right:1%;top:55%}.ol3{left:16%;bottom:13%}.axis{position:absolute;background:#a5b59d42;z-index:0}.axis-x{width:100%;height:1px}.axis-y{height:100%;width:1px}.layer-visual[data-active="1"] .orbit-one{transform:rotate(30deg);width:280px;height:110px}.layer-visual[data-active="1"] .orbit-two{transform:rotate(-30deg);width:280px;height:110px}.layer-visual[data-active="1"] .orbit-three{transform:rotate(90deg);width:280px;height:110px}.layer-visual[data-active="2"] .orbit-one{transform:translateY(-25px);width:195px;height:195px}.layer-visual[data-active="2"] .orbit-two{transform:translateY(30px);width:195px;height:195px}.layer-visual[data-active="2"] .orbit-three{transform:rotate(0);width:290px;height:110px}.layer-visual[data-active="3"] .orbit-one{transform:translate(0);width:155px;height:155px}.layer-visual[data-active="3"] .orbit-two{transform:translate(0);width:220px;height:220px}.layer-visual[data-active="3"] .orbit-three{transform:rotate(0);width:285px;height:285px}.layer-panel{border-top:1px solid #bfc9b9;padding-top:26px;min-height:175px}.layer-panel h3{font-size:24px;letter-spacing:-.7px;margin:12px 0}.layer-panel p{font-size:12px;line-height:1.9;max-width:410px;color:#596455}.layer-next{font-size:10px;padding:16px 0;width:100%;display:flex;justify-content:space-between;margin-top:12px}.layer-next span{font-size:19px}.photo-gallery{display:flex;gap:15px;height:510px}.gallery-photo{position:relative;padding:0;overflow:hidden;flex:1;min-width:0;transition:flex 1s var(--ease);text-align:left;background:#252b29}.gallery-photo.active{flex:2.5}.gallery-photo img{height:100%;width:100%;object-fit:cover;filter:saturate(.7);transition:transform 1.2s var(--ease),filter .6s}.gallery-photo:hover img{transform:scale(1.04);filter:saturate(1)}.gallery-photo:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#0b1313bb);pointer-events:none}.gallery-caption{position:absolute;bottom:29px;left:26px;color:white;z-index:2;white-space:nowrap}.gallery-caption b{font-size:10px;display:block;letter-spacing:.1px;font-weight:450}.gallery-caption>span{font-size:17px;letter-spacing:-.5px;display:block;margin-top:9px;opacity:1;transform:none;transition:opacity .5s,transform .5s}.gallery-photo.active .gallery-caption>span{opacity:1;transform:none}.gallery-photo i{position:absolute;top:18px;right:18px;color:white;border:1px solid #ffffff77;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:18px;z-index:2;font-style:normal}.perspective-note{display:flex;justify-content:space-between;gap:35px;margin-top:27px}.perspective-note>span{font-size:8px;letter-spacing:1.25px;padding-top:6px}.perspective-note p{font-size:12px;line-height:1.8;max-width:390px;color:#5a625c}.contact{background:var(--accent);color:white;position:relative;overflow:hidden;padding-top:85px;padding-bottom:60px}.contact .section-label{color:#f2ddcc}.contact-main{position:relative;display:flex;justify-content:space-between;align-items:center;margin:33px 0 65px}.contact h2{font-size:clamp(49px,7.8vw,125px);letter-spacing:-.06em;line-height:1.05;position:relative;z-index:1}.contact em{color:#f5cfad}.contact-arrow{font-size:90px;margin-right:30px;transition:transform .5s var(--ease)}.contact-main:hover .contact-arrow{transform:translate(15px,-15px)}.contact-orbit{border:1px solid #ffffff20;border-radius:50%;width:580px;height:580px;position:absolute;right:-80px;top:-150px}.contact-orbit:after{content:'';position:absolute;inset:70px;border:1px solid #ffffff20;border-radius:50%}.contact-bottom{border-top:1px solid #ffffff55;padding-top:27px;display:flex;justify-content:space-between;align-items:center;position:relative;font-size:12px;gap:20px}.contact-bottom>div{display:flex;align-items:center;gap:17px;flex-wrap:wrap}.copy-email{font-size:9px;border:1px solid #ffffff50;padding:8px 13px;border-radius:30px}.copy-email:hover{background:#ffffff20}#copy-status{font-size:10px}.social-link span{font-size:20px;margin-left:20px}.contact button:focus-visible,.contact a:focus-visible{outline-color:white}footer{display:flex;align-items:center;padding:30px var(--gutter);gap:32px;font-size:9px;color:#586153}footer .wordmark{margin-right:10px;color:var(--ink)}footer .motion-toggle{margin-left:auto;font-size:9px}.motion-toggle span{padding-left:4px;color:var(--accent)}footer>a:last-child{margin-left:12px}.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform 1s var(--ease)}.js .reveal.visible{opacity:1;transform:translateY(0)}.js .hero-line>span{animation:hero-in 1.3s var(--ease) both}.js .surname>span{animation-delay:.15s}.js .hero-photo-wrap{animation:photo-in 1.6s var(--ease) both}.js .hero-topline,.js .hero-bottom,.js .hero-foot{animation:fade-in 1.2s .35s both}@keyframes hero-in{from{transform:translateY(110%)}to{transform:translateY(0)}}@keyframes photo-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes panel-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){:root{--gutter:7vw}.hero{padding-top:160px}.hero h1{margin-top:42px}.hero-description>span{font-size:14px;max-width:310px}.hero-bottom{gap:65px}.hero-photo-wrap{width:32vw}.section{padding-top:135px;padding-bottom:135px}}
@media(max-width:1050px){.header-note{display:none}.hero{min-height:730px;height:94svh}.hero h1{font-size:12.5vw;margin-top:70px}.hero-photo-wrap{top:21%;height:54%;width:35vw}.hero-bottom{gap:20px;width:57%}.hero-description>span{font-size:11px;max-width:235px}.round-link>span{display:none}.hero-description p{font-size:27px}.section{padding-top:85px;padding-bottom:85px}.work-panel-inner{padding-left:0;gap:30px}.project-visual{min-height:280px}.project-title{font-size:27px}.project-copy h3{font-size:25px}.photo-gallery{height:430px}.gallery-caption{left:16px}.gallery-caption b{font-size:8px}.gallery-caption>span{font-size:14px}.intro{grid-template-columns:1fr 2.2fr;gap:30px}.intro h2{font-size:34px}.approach{gap:5vw}.layer-panel h3{font-size:22px}.layer-visual{height:300px}.layer-orbit{width:190px;height:190px}.orbit-three{width:255px;height:115px}.ol2{right:0}}
@media(max-width:700px){:root{--gutter:6vw}html{scroll-padding-top:25px}.header{height:74px;gap:0}.wordmark{font-size:28px}.menu-toggle{display:flex;align-items:center;gap:18px;margin-left:auto;font-size:11px;padding:12px 0 12px 15px}.menu-toggle span{font-size:23px;font-weight:400}.header nav{display:none;position:absolute;top:65px;left:4vw;right:4vw;padding:20px;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 25px #1e31151a;align-items:stretch;gap:0}.header nav.open{display:flex;flex-direction:column}.header nav a{padding:16px 8px;font-size:18px;border-bottom:1px solid var(--line)}.header nav a span{float:right}.header nav a:after{display:none}.nav-contact{margin-left:0}.header nav a:last-child{border:0}.hero{height:auto;min-height:780px;padding-top:110px;max-height:none}.hero-topline{font-size:8px;letter-spacing:1px}.hero h1{font-size:19.5vw;line-height:1.06;letter-spacing:-.075em;margin-top:40px;width:100%;z-index:4}.surname{margin-left:0}.hero-photo-wrap{right:var(--gutter);width:46%;height:340px;top:278px}.hero-photo{object-position:49% 35%}.hero-bottom{display:block;width:47%;margin-top:29px}.hero-description p{font-size:25px;letter-spacing:-1px}.hero-description>span{font-size:11px;line-height:1.8;max-width:145px}.round-link{margin-top:20px;gap:10px;white-space:normal;display:inline-flex}.round-link>span{display:block;font-size:10px;max-width:60px;line-height:1.4}.round-link i{width:34px;height:34px;font-size:19px;flex:none}.hero-foot{bottom:22px;font-size:6px;letter-spacing:.5px;align-items:center;gap:15px;padding-top:17px}.hero-foot b{margin-left:8px;font-size:12px}.section{padding-top:75px;padding-bottom:75px}.section-label{font-size:8px;letter-spacing:1.25px}.intro{display:block}.intro-body{margin-top:26px}.intro h2{font-size:30px;letter-spacing:-1.3px}.intro-body>p{font-size:13px;line-height:1.85;margin-top:23px;margin-bottom:25px}.expertise{gap:12px 20px;font-size:9px}.section-heading{display:block;margin-bottom:36px}.section-heading h2,.approach h2{font-size:43px;letter-spacing:-2px;margin-top:18px}.section-heading>p{margin-top:24px;font-size:11px;line-height:1.75}.work-trigger{gap:10px;padding:25px 0}.project-number{font-size:8px;width:20px;padding-top:5px}.project-title{font-size:20px;letter-spacing:-.7px}.project-title small{font-size:6px;letter-spacing:.7px;line-height:1.6;max-width:220px}.project-status{display:none}.project-plus{width:31px;height:31px;flex-shrink:0;font-size:20px}.work-panel-inner{display:block;padding-bottom:28px}.project-visual{min-height:230px;aspect-ratio:1.55}.project-copy{padding:26px 0 0}.project-copy h3{font-size:27px}.project-copy p{font-size:12px}.project-tags{font-size:8px}.text-link{margin-top:17px}.diagram-label{font-size:6px}.diagram-core{font-size:27px}.diagram-core>span{font-size:8px}.visual-caption{font-size:6px;bottom:15px;left:17px}.path-word{font-size:20px}.pw4{font-size:24px}.approach{display:block}.approach-heading{position:static}.approach-heading>p{font-size:13px;max-width:330px;margin-top:22px}.approach-hint{font-size:7px;margin-top:27px;margin-bottom:24px}.approach-explorer{margin-top:20px}.layer-tabs button{padding-top:14px}.layer-tabs button span{font-size:11px}.layer-visual{height:300px}.layer-panel{min-height:177px}.layer-panel h3{font-size:24px}.layer-panel p{font-size:12px}.photo-gallery{height:445px;gap:10px;flex-wrap:wrap}.gallery-photo{height:125px;flex:1 1 calc(50% - 10px);transition:height .8s var(--ease),flex .8s var(--ease)}.gallery-photo.active{flex:1 1 100%;height:310px;order:-1}.gallery-photo img{object-position:center 45%}.gallery-photo.active img{object-position:center 47%}.gallery-caption{bottom:18px;left:16px}.gallery-caption b{font-size:8px}.gallery-caption>span{font-size:15px}.gallery-photo:not(.active) .gallery-caption>span{display:block}.gallery-photo:not(.active) i{width:24px;height:24px;top:10px;right:10px;font-size:14px}.perspective-note{display:block;margin-top:23px}.perspective-note>span{font-size:7px;letter-spacing:.8px}.perspective-note p{font-size:12px;margin-top:15px}.contact{padding-top:62px;padding-bottom:33px}.contact h2{font-size:12.4vw;letter-spacing:-.065em}.contact-main{margin-top:27px;margin-bottom:45px}.contact-arrow{font-size:47px;margin-right:0;position:absolute;right:0;top:-12px}.contact-orbit{width:360px;height:360px;right:-210px;top:-70px}.contact-bottom{font-size:10px;align-items:flex-start;gap:15px;padding-top:22px}.contact-bottom>div{gap:12px 8px;max-width:245px}.copy-email{padding:6px 10px;font-size:8px}.social-link{white-space:nowrap}.social-link span{margin-left:4px;font-size:14px}footer{padding-top:24px;padding-bottom:24px;gap:17px;flex-wrap:wrap;font-size:8px}footer .wordmark{font-size:25px;margin-right:0}footer .motion-toggle{font-size:8px}footer>a:last-child{margin-left:0}footer>span{margin-right:auto}footer .motion-toggle{margin-left:0}}
@media(max-width:370px){.hero{min-height:775px}.hero-photo-wrap{top:265px;height:310px}.hero-description p{font-size:23px}.hero-description>span{font-size:10px}.hero-bottom{margin-top:32px}.hero-foot{font-size:5.5px}.hero-topline{font-size:7px}.section-heading h2,.approach h2{font-size:37px}.project-title{font-size:18px}.contact-bottom{flex-direction:column}.contact-bottom>div{max-width:100%}}
html.motion-off,html.motion-off *{scroll-behavior:auto!important}html.motion-off *,html.motion-off *:before,html.motion-off *:after{animation:none!important;transition:none!important}.motion-off .reveal,.motion-off .hero-line>span,.motion-off .hero-photo-wrap,.motion-off .hero-bottom,.motion-off .hero-topline,.motion-off .hero-foot{opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal,.js .hero-line>span,.js .hero-photo-wrap,.js .hero-bottom,.js .hero-topline,.js .hero-foot{opacity:1;transform:none}}

.photo-credit{font-size:9px;line-height:1.7;color:#5a625c;margin-top:15px}.photo-credit a{text-decoration:underline;text-underline-offset:3px}
.project-visual{width:100%;min-width:0}

/* The same signal route travels behind each section at a slower scroll speed. */
.scroll-section{position:relative;isolation:isolate}
.scroll-art{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.scroll-art-grid,.scroll-art-diagram{position:absolute;inset:-155px -10%;background-repeat:no-repeat;will-change:transform}
.scroll-art-grid{background-image:linear-gradient(90deg,rgba(91,77,58,.07) 1px,transparent 1px),linear-gradient(rgba(91,77,58,.05) 1px,transparent 1px);background-size:132px 132px;mask-image:linear-gradient(90deg,transparent 2%,#000 28%,#000 78%,transparent 100%);transform:translate3d(0,var(--scene-counter,0px),0)}
.scroll-art-diagram{background-image:url('assets/scroll-ai.svg');background-size:cover;background-position:center;opacity:.5;transform:translate3d(0,var(--scene-drift,0px),0)}
.hero-grid{inset:-155px 0;transform:translate3d(0,var(--scene-counter,0px),0);will-change:transform}
.hero>.scroll-art{opacity:.7}
.hero>.scroll-art .scroll-art-diagram{background-position:80% center;opacity:.37}
.intro>.section-label,.intro>.intro-body,.work>.section-heading,.work>.work-list,.perspective>.section-heading,.perspective>.photo-gallery,.perspective>.photo-credit,.perspective>.perspective-note{position:relative;z-index:1}
.scroll-art-intro .scroll-art-diagram{background-position:30% center}
.scroll-art-work .scroll-art-diagram{opacity:.42;background-position:70% center}
.scroll-art-approach .scroll-art-diagram{opacity:.28;background-position:50% center}
.scroll-art-perspective .scroll-art-diagram{opacity:.37;background-position:70% center}
#approach>.approach-heading{position:sticky;top:100px;z-index:1}
#approach>.approach-explorer{z-index:1}
.contact-orbit{transform:translate3d(0,var(--scene-drift,0px),0);will-change:transform}
html.motion-off .scroll-art-diagram,html.motion-off .scroll-art-grid,html.motion-off .hero-grid,html.motion-off .contact-orbit{transform:none!important;will-change:auto}
@media(max-width:700px){.scroll-art-diagram{opacity:.32;background-size:auto 100%}.scroll-art-grid{background-size:88px 88px}.hero>.scroll-art .scroll-art-diagram{opacity:.24}#approach>.approach-heading{position:relative;top:auto}}
@media(prefers-reduced-motion:reduce){.scroll-art-diagram,.scroll-art-grid,.hero-grid,.contact-orbit{transform:none!important;will-change:auto}}
/* Keep the moving lines behind the content rather than competing with it. */
.scroll-art-diagram{opacity:.33}
.hero>.scroll-art .scroll-art-diagram{opacity:.32}
.scroll-art-work .scroll-art-diagram{opacity:.25}
.scroll-art-approach .scroll-art-diagram{opacity:.19}
.scroll-art-perspective .scroll-art-diagram{opacity:.24}
@media(max-width:700px){.scroll-art-diagram{opacity:.25}.hero>.scroll-art .scroll-art-diagram{opacity:.21}}
/* Full-width AI systems scene with no framed illustration. */
#approach{min-height:850px;overflow:hidden;isolation:isolate;background:#141b18;color:#f3eee3;align-content:start;padding-bottom:170px}
#approach>.approach-heading{position:relative;top:auto;z-index:2}
#approach>.approach-explorer{position:relative;z-index:2;border-top-color:#ffffff4d}
.approach-sky{position:absolute;inset:-12% 0 -12%;z-index:0;transform:translate3d(0,var(--scene-drift,0px),0);will-change:transform;pointer-events:none}
.approach-sky img{position:absolute;width:max(95%,900px);max-width:none;height:auto;right:-4%;bottom:-12%;mask-image:linear-gradient(180deg,transparent 0%,#000 34%);filter:grayscale(.72) sepia(.62) saturate(.72) brightness(.62);animation:ai-drift 38s ease-in-out infinite alternate}
.approach-sky:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#141b18 0%,#141b18d9 23%,#141b1880 47%,#141b1814 100%),linear-gradient(90deg,#141b18c7 0%,transparent 78%)}
@keyframes ai-drift{from{transform:scale(1) translate3d(-1%,0,0)}to{transform:scale(1.085) translate3d(1%,-1%,0)}}
#approach .section-label,#approach .approach-hint{color:#c4d0be}
#approach h2 em{color:#e6c4a5}
#approach .approach-heading>p,#approach .layer-panel p{color:#e1e5dc}
#approach .layer-tabs button{color:#c7d1c5}
#approach .layer-tabs button[aria-selected=true]{color:#f8f6ef;border-color:#e6c4a5}
#approach .layer-panel{border-top-color:#ffffff4d;margin-top:42px}
#approach .layer-panel .eyebrow{color:#e7c8a9}
#approach .layer-next{color:#eee5d5;border-top:1px solid #ffffff4d;margin-top:30px}
.approach-credit{position:absolute;bottom:25px;right:var(--gutter);z-index:2;color:#d6ded3;font-size:8px;letter-spacing:.3px;opacity:.8}
.approach-credit:hover{text-decoration:underline}
html.motion-off .approach-sky{transform:none;will-change:auto}
html.motion-off .approach-sky img{animation:none}
@media(max-width:700px){#approach{min-height:980px;padding-bottom:180px}.approach-sky{inset:0 0 -10%}.approach-sky img{width:850px;right:-95%;bottom:-2%}.approach-sky:after{background:linear-gradient(180deg,#141b18 0%,#141b18ed 38%,#141b18a8 65%,#141b1833 100%)}#approach .layer-panel{margin-top:30px}.approach-credit{left:var(--gutter);right:auto;font-size:7px}}
@media(prefers-reduced-motion:reduce){.approach-sky{transform:none!important;will-change:auto}.approach-sky img{animation:none}}
/* Pointer-responsive depth for the AI systems scene. */
.approach-sky{transform:translate3d(var(--sky-pointer-x,0px),calc(var(--scene-drift,0px) + var(--sky-pointer-y,0px)),0)}
.ai-lattice{position:absolute;inset:0;transform-origin:68% 74%;transition:transform 1.35s cubic-bezier(.16,1,.3,1)}
#approach.is-reframed .ai-lattice{transform:translate3d(-3%,-2%,0) rotate(-5deg) scale(1.11)}
#approach:not(.scene-visible) .approach-sky img{animation-play-state:paused}
.approach-objects{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.signal-node{position:absolute;display:block;width:3px;height:3px;border-radius:50%;background:#f0f1e8;box-shadow:0 0 4px 1px #dce1ce9c,0 0 22px 4px #9cae8e69;opacity:.65;will-change:transform}
.signal-node::after{content:'';position:absolute;inset:-8px;background:radial-gradient(circle,#e7e9d755,transparent 67%);animation:stellar-pulse 5.5s ease-in-out infinite alternate}
.star-one{left:15%;top:68%;width:2px;height:2px}.star-two{left:38%;top:55%;width:4px;height:4px}.star-three{left:61%;top:78%;width:2px;height:2px}.star-four{left:84%;top:47%;width:3px;height:3px}.star-five{left:93%;top:69%;width:2px;height:2px}
.star-two::after{animation-delay:-2s}.star-four::after{animation-delay:-4s}
@keyframes stellar-pulse{from{opacity:.35;transform:scale(.7)}to{opacity:.8;transform:scale(1.2)}}
.approach-perspective{display:inline-flex;align-items:center;gap:18px;padding:10px 0;margin-top:55px;border-bottom:1px solid #c4d0be7a;color:#d1d8ca;font-size:8px;letter-spacing:1px;transition:color .3s,border-color .3s}
.approach-perspective span{font-size:23px;line-height:1;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.approach-perspective:hover,.approach-perspective:focus-visible{color:#fff;border-color:#fff}
.approach-perspective:hover span{transform:translate(3px,-3px)}
html.motion-off .approach-sky{transform:none!important}
html.motion-off .signal-node{transform:none!important;will-change:auto}
@media(max-width:700px){.approach-perspective{margin-top:22px;font-size:7px}.approach-perspective span{font-size:20px}.signal-node{opacity:.48}}
@media(prefers-reduced-motion:reduce){.approach-sky{transform:none!important}.signal-node{transform:none!important;will-change:auto}.signal-node::after{animation:none}.ai-lattice{transition:none}}

/* Every gallery image keeps its full caption visible, including the collapsed mobile tiles. */
.gallery-caption{right:18px;white-space:normal}
@media(max-width:700px){.gallery-caption{right:12px}.gallery-caption>span{font-size:clamp(11px,3vw,14px);line-height:1.25;margin-top:5px}}

/* Restored career and personal context within the current editorial layout. */
.experience{border-top:1px solid var(--line);background:#eeefe9}
.experience>.section-heading,.experience>.experience-grid,.experience>.education-strip{position:relative;z-index:1}
.experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #aeb8aa;border-bottom:1px solid #aeb8aa}
.experience-card{padding:35px 33px 39px;border-right:1px solid #aeb8aa}
.experience-card:first-child{padding-left:0}.experience-card:last-child{border-right:0;padding-right:0}
.experience-number{display:block;color:var(--accent);font-size:9px;letter-spacing:1.3px;font-weight:650}
.experience-card h3{font-size:clamp(22px,2.2vw,34px);line-height:1.17;letter-spacing:-.04em;margin:25px 0 18px}
.experience-card p,.education-strip p{font-size:13px;line-height:1.8;color:#48564b}
.education-strip{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding-top:45px}
.education-strip h3{font-size:clamp(22px,2.4vw,34px);letter-spacing:-.04em;margin-bottom:16px}
.education-strip p{max-width:680px}
.interest-stories{display:grid;grid-template-columns:1fr 1fr;gap:5vw;margin-top:85px;padding-top:42px;border-top:1px solid var(--line)}
.interest-story h3{font-size:clamp(25px,2.8vw,39px);letter-spacing:-.04em;line-height:1.2;margin:18px 0 24px}
.interest-story p{font-size:13px;line-height:1.85;color:#48564b;max-width:570px;margin:0 0 18px}
.family-note{display:grid;grid-template-columns:1fr 2fr;gap:40px;background:#e6e8df;margin-top:70px;padding:42px 46px;border-top:2px solid var(--accent)}
.family-note h3{font-size:clamp(25px,2.9vw,40px);letter-spacing:-.04em;margin-bottom:16px}
.family-note p{font-size:13px;line-height:1.8;max-width:590px;color:#48564b;margin-bottom:18px}
.family-note a{display:inline-flex;align-items:center;gap:28px;border-bottom:1px solid var(--ink);padding:10px 0;font-size:12px;font-weight:600}
.family-note a span{font-size:20px;font-weight:400}
.family-note a:hover{color:var(--accent);border-color:var(--accent)}
@media(max-width:700px){.experience-grid{display:block}.experience-card,.experience-card:first-child,.experience-card:last-child{padding:28px 0;border-right:0;border-bottom:1px solid #aeb8aa}.experience-card:last-child{border-bottom:0}.education-strip,.family-note{display:block}.education-strip>div,.family-note>div{margin-top:20px}.interest-stories{display:block;margin-top:55px}.interest-story+ .interest-story{margin-top:35px;padding-top:35px;border-top:1px solid var(--line)}.family-note{padding:28px 24px;margin-top:45px}.interest-story p,.experience-card p,.education-strip p,.family-note p{font-size:12px}}
/* The original photo narratives are now mapped one-to-one to the three images. */
.interest-stories{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:42px;padding-top:0;border-top:0}
.interest-story{padding:25px 22px 5px 0;border-top:1px solid #b9c0b6;transition:border-color .35s}
.interest-story.selected{border-top:3px solid var(--accent);padding-top:23px}
.interest-story h3{font-size:clamp(24px,2.2vw,32px)}
.interest-story p{font-size:12px;line-height:1.8}
.perspective-note{margin-top:50px;border-top:1px solid var(--line);padding-top:24px}
@media(max-width:700px){.interest-stories{display:block;margin-top:35px}.interest-story,.interest-story:first-child,.interest-story+ .interest-story{padding:25px 0 4px;margin:0;border-top:1px solid #b9c0b6}.interest-story.selected{border-top:3px solid var(--accent);padding-top:23px}.interest-story h3{font-size:27px}.interest-story p{font-size:12px}.perspective-note{margin-top:30px}}

/* Warm editorial treatment across the remaining photographic and atmospheric surfaces. */
#approach{background:#1b2019}
.approach-sky:after{background:radial-gradient(circle at 70% 68%,rgba(136,101,63,.19),transparent 42%),linear-gradient(180deg,#1b2019 0%,#1b2019e8 24%,#1b201999 48%,#1b201926 100%),linear-gradient(90deg,#1b2019d9 0%,transparent 78%)}
.gallery-photo img{filter:grayscale(.42) sepia(.26) saturate(.6) contrast(.98)}
.gallery-photo:hover img{filter:grayscale(.22) sepia(.16) saturate(.75) contrast(1)}
@media(max-width:700px){.approach-sky:after{background:linear-gradient(180deg,#1b2019 0%,#1b2019ed 38%,#1b2019af 65%,#1b20194d 100%)}}

/* Preserve the scroll parallax while making the AI signal map legible. */
.scroll-art-diagram{opacity:.31}
.hero>.scroll-art .scroll-art-diagram{opacity:.25}
.scroll-art-work .scroll-art-diagram{opacity:.27}
.scroll-art-perspective .scroll-art-diagram{opacity:.24}
@media(max-width:700px){.scroll-art-diagram{opacity:.24}.hero>.scroll-art .scroll-art-diagram{opacity:.19}}

/* Dark AI architecture for the Approach stage. */
.approach-sky img{width:max(100%,1050px);right:-2%;bottom:8%;filter:none;mask-image:linear-gradient(180deg,transparent 0%,#000 30%);animation:ai-drift 38s ease-in-out infinite alternate}
.approach-sky:after{background:linear-gradient(180deg,#1b2019 0%,#1b2019ec 28%,#1b20199c 54%,#1b20191c 100%),linear-gradient(90deg,#1b2019d9 0%,transparent 80%)}
@media(max-width:700px){.approach-sky img{width:1050px;right:-65%;bottom:3%}.approach-sky:after{background:linear-gradient(180deg,#1b2019 0%,#1b2019ec 40%,#1b2019a8 68%,#1b201945 100%)}}
