@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#f4f0e9;--ink:#303d4b;--muted:#687684;--lime:#e8bea3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #b27a59;outline-offset:6px}header{height:100px;padding:0 4.2%;display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;left:0;width:100%;z-index:5;border-bottom:1px solid #263c2922}.brand{display:flex;align-items:center;gap:16px;font-size:34px;font-weight:700;letter-spacing:-3px}.brand span{font-size:11px;letter-spacing:1.2px;line-height:1.7;font-weight:500}nav{display:flex;gap:34px;align-items:center;font-size:14px}nav span{font-size:11px;margin-left:6px}nav .contact{border:1px solid #334a3b;padding:12px 20px;border-radius:30px}.journey{height:530vh;position:relative}.stage{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;background:radial-gradient(ellipse at 60% 45%,#f4f5ef 0,#f4f0e9 55%,#cbd3d0 100%)}canvas{position:absolute;width:100%;height:100%;inset:0}.title{position:absolute;top:18%;left:7%;transition:opacity .4s,transform .4s;pointer-events:none}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:500;margin:0 0 28px}h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(65px,7.4vw,118px);line-height:1.01;letter-spacing:-7px;font-weight:500;margin:0}em{font-style:normal;color:#798fab}h1 em{font-family:Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-6px}.intro{font-size:15px;line-height:1.7;margin-top:30px;color:var(--muted)}.coords{position:absolute;right:4.2%;top:145px;font-size:11px;letter-spacing:1px;line-height:1.7;text-align:right}.scene-label{position:absolute;right:7%;bottom:18%;display:flex;flex-direction:column;font-size:12px;letter-spacing:1.3px;gap:8px}.cross{font-size:25px}.tiny{font-size:9px;color:var(--muted);letter-spacing:1px}.stage-bottom{position:absolute;bottom:30px;left:4.2%;right:4.2%;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #263c2930;padding-top:24px;font-size:11px;letter-spacing:1.5px}.scroll-prompt{display:flex;align-items:center;gap:15px}.scroll-prompt>span{border:1px solid #263c2944;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;font-size:18px}.view-controls{display:flex;align-items:center;gap:15px}.view-controls button{border:0;background:none;font-size:12px;padding:10px}.track{width:120px;height:2px;background:#263c2922}.track i{display:block;width:0;height:2px;background:#738daa}.chapter{position:absolute;left:7%;top:27%;max-width:340px;opacity:0;pointer-events:none;transform:translateY(20px);transition:.4s}.chapter.active{opacity:1;pointer-events:auto;transform:none}.chapter h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(38px,4vw,64px);line-height:1.08;letter-spacing:-3px;margin:0 0 25px}.chapter p:not(.eyebrow){font-size:16px;line-height:1.65;color:var(--muted)}.chapter a{display:inline-block;font-size:14px;border-bottom:1px solid;padding:10px 0}.anchor{position:absolute;top:100vh}.work{position:relative;background:#faf7f2;padding:100px 7% 110px}.section-head{display:flex;justify-content:space-between;border-top:1px solid #263c2940;padding-top:25px;margin-bottom:50px}.section-head>p:last-child{margin:0;font-size:22px;line-height:1.4}.projects{display:grid;grid-template-columns:1fr 1fr;gap:70px 35px}.projects article:last-child{grid-column:1/-1;width:75%;margin-top:20px}.project-image{width:100%;border:0;background:#d2d8d1;padding:0;position:relative;display:block;overflow:hidden}.project-image img{display:block;width:100%;aspect-ratio:1.5;object-fit:cover;transition:transform .6s}.project-image:hover img{transform:scale(1.04)}.image-arrow{position:absolute;right:20px;bottom:20px;border-radius:50%;background:var(--lime);width:48px;height:48px;display:grid;place-items:center;font-size:26px}.project-heading{display:flex;gap:18px;align-items:center;margin-top:23px}.project-heading>span{font-size:12px;color:#69706a}.project-heading h2{font-size:26px;font-weight:500;letter-spacing:-1px;margin:0}.project-heading button{margin-left:auto;border:0;background:none;font-size:24px}.projects article>p{font-size:14px;color:var(--muted);display:flex;justify-content:space-between}.tags{font-size:10px;letter-spacing:1.1px;border-top:1px solid #263c2922;padding-top:16px}.about{padding:110px 7%;background:#33465b;color:#f8f5f0;display:grid;grid-template-columns:1fr 2fr;gap:40px}.about h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(45px,5vw,76px);line-height:1.08;letter-spacing:-3px;font-weight:400;margin:0 0 40px}.about h2 em{color:var(--lime)}.about>div>p{max-width:630px;line-height:1.8;color:#d7e0ec}.about-facts{display:flex;gap:45px;border-top:1px solid #ffffff33;border-bottom:1px solid #ffffff33;padding:30px 0;margin:35px 0}.about-facts>span{font-size:24px}.about-facts small{display:block;font-size:12px;color:#d7e0ec;margin-top:8px}.email{display:inline-block;font-size:20px;border-bottom:1px solid #adba9a;padding-bottom:10px}footer{background:#33465b;color:#d1dbe7;border-top:1px solid #ffffff22;padding:30px 7%;display:flex;justify-content:space-between;font-size:12px}dialog{border:0;background:#faf7f2;width:min(1100px,94vw);max-height:90svh;padding:60px 5%;color:var(--ink)}dialog::backdrop{background:#142219ba;backdrop-filter:blur(8px)}.close{position:sticky;top:0;display:block;margin-left:auto;border:1px solid #8191a0;border-radius:25px;padding:10px 20px;background:#faf7f2;z-index:3}dialog h2{font-size:42px;letter-spacing:-2px;font-weight:500;margin-bottom:15px}dialog p{line-height:1.7;max-width:720px}dialog img{width:100%;margin-top:25px;display:block}dialog .detail-meta{font-size:13px;color:var(--muted)}dialog h3{margin-top:35px;font-weight:500;font-size:23px}
@media(min-width:1600px){.stage{min-height:850px}}@media(max-width:800px){header{height:85px}.brand span{font-size:8px;letter-spacing:.7px}.brand{gap:10px;font-size:28px}nav{gap:16px;font-size:12px}nav .contact{display:none}.title{top:17%;left:6%}h1{font-size:72px;letter-spacing:-4px}h1 em{letter-spacing:-4px}.intro{font-size:13px;margin-top:20px}.coords{display:none}.scene-label{bottom:16%;right:6%;font-size:10px}.stage{min-height:650px}.chapter{top:16%;left:6%;max-width:75%}.chapter h2{font-size:42px;max-width:330px}.chapter p:not(.eyebrow){font-size:14px;max-width:340px}.chapter .eyebrow{margin-bottom:16px}.stage-bottom{bottom:22px;left:6%;right:6%;font-size:9px;letter-spacing:.6px}.view-controls{gap:7px}.track{width:45px}.scroll-prompt{gap:8px}.view-controls button{font-size:10px}.work{padding:70px 6%}.section-head>p:last-child{font-size:16px}.section-head .eyebrow{font-size:10px}.projects{grid-template-columns:1fr;gap:40px}.projects article:last-child{width:100%;margin-top:0}.project-heading h2{font-size:24px}.about{grid-template-columns:1fr;padding:70px 6%;gap:10px}.about-facts{gap:22px}.about-facts small{font-size:10px}.about-facts>span{font-size:22px}footer{gap:24px;flex-wrap:wrap;font-size:11px}footer>span:nth-child(2){display:none}dialog{padding:20px}dialog h2{font-size:32px}.email{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Academic portfolio and CV extend the established visual language. */
.plan-link{border:0;border-bottom:1px solid #8191a0;background:transparent;text-align:left;padding:5px 0;font-size:13px;letter-spacing:0;width:max-content}.scene-label .tiny{font-size:11px}.studies{background:#e4eaf0;padding-top:85px}.studies-intro{font-size:18px;line-height:1.6;max-width:650px;margin:-18px 0 50px;color:#617386}.academic-projects article:last-child{width:auto;grid-column:auto;margin-top:0}.academic-projects .project-image img{aspect-ratio:1.5}.academic-projects .academic-description{font-size:16px;line-height:1.6;display:block;max-width:520px}.academic-projects .project-heading h2{font-size:24px}.academic-projects .tags{font-size:12px;line-height:1.6}.portfolio-sheet{margin:40px 0}.portfolio-sheet img{margin:0;border:1px solid #23352a22}.portfolio-sheet figcaption{font-size:14px;color:#536453;margin-top:12px}.cv-section{padding:100px 7%;background:#faf7f2}.cv-head{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:50px;border-bottom:1px solid #24372a44}.cv-head h2{font-size:clamp(38px,5vw,70px);font-family:Manrope,Arial,sans-serif;letter-spacing:-3px;font-weight:500;margin:0 0 18px}.cv-head p:not(.eyebrow){font-size:16px;color:#627082}.download-cv{display:flex;gap:35px;align-items:center;padding:18px 24px;border:1px solid #34503c;border-radius:3px;font-size:16px;white-space:nowrap;background:#e8bea3}.download-cv span{font-size:12px;letter-spacing:1px}.download-cv:hover{background:#dba789}.cv-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:80px;margin-top:40px}.cv-layout h3{font-size:13px;letter-spacing:1.8px;text-transform:uppercase;font-weight:500;margin:0 0 30px}.cv-row{display:grid;grid-template-columns:130px 1fr;gap:25px;padding:25px 0;border-bottom:1px solid #263c2922}.cv-row>span,.cv-education>span{font-size:13px;color:#5e6b5e;line-height:1.7}.cv-layout h4{font-size:19px;font-weight:500;margin:0 0 8px;line-height:1.5}.cv-layout p{font-size:15px;line-height:1.7;color:#627082;margin:0 0 10px}.cv-layout aside{border-left:1px solid #263c2922;padding-left:40px}.cv-education{margin-bottom:32px}.cv-education h4{margin-top:10px}.cv-layout aside h3:not(:first-child){border-top:1px solid #263c2922;padding-top:27px;margin:25px 0 17px}.cv-email{display:block;font-size:14px;line-height:1.6;margin-top:18px;overflow-wrap:anywhere}.section-head .eyebrow{line-height:1.7}.tags{line-height:1.6}.cv-section~footer{background:#33465b}dialog .eyebrow{line-height:1.6}
@media(max-width:1000px){nav{gap:20px}nav .contact{display:none}.cv-layout{gap:35px}.cv-row{grid-template-columns:110px 1fr;gap:20px}.cv-layout aside{padding-left:25px}}
@media(max-width:800px){nav{gap:14px;font-size:12px}.brand span{display:none}.scene-label{bottom:15%;right:6%;max-width:85%;font-size:10px}.scene-label .tiny{font-size:10px;line-height:1.5}.scene-label .cross{display:none}.scene-label .plan-link{font-size:12px}.chapter{max-width:86%;top:15%}.chapter h2{font-size:36px;letter-spacing:-2px;max-width:360px}.chapter p:not(.eyebrow){max-width:360px}.studies-intro{font-size:16px}.cv-section{padding:65px 6%}.cv-head{display:block;padding-bottom:30px}.download-cv{width:max-content;margin-top:25px}.cv-layout{grid-template-columns:1fr;gap:45px}.cv-layout aside{border-left:0;padding-left:0}.cv-row{grid-template-columns:95px 1fr;gap:18px}.cv-row>span{font-size:12px}.cv-layout h4{font-size:18px}.academic-projects .project-heading h2{font-size:22px}.academic-projects .tags{font-size:11px}.stage{min-height:700px}.scene-label{bottom:13%}.chapter p:not(.eyebrow){font-size:14px}.chapter .eyebrow{font-size:11px}.portfolio-sheet{margin:25px 0}}
@media(max-width:380px){nav{gap:10px;font-size:11px}.stage-bottom{left:4%;right:4%}.view-controls button{padding:8px 2px}.chapter h2{font-size:32px}}
/* Immersive portfolio opening */
.home-page>header{color:#33465b;border-color:#8ea3ba22}.home-page>header .contact{border-color:#8ea3ba77}.home-page .stage{background:radial-gradient(ellipse at 72% 54%,#f6eee2 0,#e7edf3 48%,#d7e2ed 100%);color:#34465b}.home-page .journey{height:430vh}.home-page .title{top:20%;left:6%;max-width:48%;z-index:1}.home-page .title .eyebrow{color:#e8bea3;font-size:12px;letter-spacing:1.5px}.home-page h1{font-size:clamp(64px,6.6vw,104px);line-height:1.06;letter-spacing:-5px}.home-page h1 em{color:#e8bea3;font-family:Georgia,serif;font-style:italic}.home-page .intro{color:#617386;font-size:16px;line-height:1.75}.home-page .chapter{left:6%;top:23%;width:30%;max-width:380px;z-index:1}.home-page .chapter h2{font-size:clamp(34px,3.7vw,56px);font-weight:400;letter-spacing:-2px;line-height:1.12}.home-page .chapter .eyebrow{display:block;color:#e8bea3;line-height:1.6}.home-page .chapter p:not(.eyebrow){color:#617386}.home-page .chapter a{color:#e8bea3}.home-page .stage-bottom{border-color:#8ea3ba2b}.home-page .track{background:#8ea3ba33}.home-page .track i{background:#e8bea3}.home-page .scroll-prompt>span{border-color:#8ea3ba66}.home-page .scene-label{bottom:16%;right:5%;color:#40556d;z-index:2}.home-page .scene-label .tiny{color:#64758a}.home-page .scene-label .cross{display:none}.home-page .plan-link{color:#445d79;border-color:#8ea3ba55}.model-toolbar{position:absolute;right:5%;top:135px;display:flex;gap:12px;align-items:center;z-index:3}.model-modes{display:flex;gap:3px;border:1px solid #8ea3ba3b;padding:4px;border-radius:30px;background:#f8f6f155;backdrop-filter:blur(8px)}.model-modes button{background:transparent;color:#566b82;border:0;border-radius:24px;padding:10px 17px;font-size:13px}.model-modes button[aria-pressed=true]{background:#e8bea3;color:#3b4a5f}.model-toolbar>button{background:transparent;border:0;color:#60768f;font-size:12px;padding:12px}.model-hint{position:absolute;top:196px;right:6%;color:#64788d;font-size:11px;letter-spacing:1.7px;pointer-events:none}.model-hint span{margin-left:14px;font-size:20px}.render-preview{position:absolute;left:6%;bottom:16%;display:flex;align-items:center;gap:18px;width:350px;border-top:1px solid #8ea3ba33;padding-top:20px;z-index:2}.render-preview img{width:120px;height:78px;object-fit:cover;border-radius:2px;transition:transform .35s}.render-preview:hover img{transform:scale(1.06)}.render-preview>span{font-size:14px;line-height:1.6}.render-preview small{display:block;font-size:10px;letter-spacing:1.3px;color:#60768f;margin-bottom:7px}#building{cursor:grab;touch-action:pan-y}#building.dragging{cursor:grabbing}#building:focus-visible{outline:2px solid #e8bea3;outline-offset:-5px}.project-heading>a{margin-left:auto;font-size:24px}.interior-collection{background:#eee7df}.interiors-feature{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:center}.interiors-feature>img{width:100%;display:block;aspect-ratio:1.4;object-fit:cover}.interiors-feature h2{font-family:Manrope,Arial,sans-serif;font-size:42px;font-weight:400;letter-spacing:-2px;line-height:1.2}.interiors-feature p:not(.eyebrow){font-size:16px;line-height:1.8;color:#627082}.interiors-feature>div>span{display:inline-block;border-bottom:1px solid #627082;padding:12px 0;font-size:14px}
/* Full project pages */
.project-page{background:#faf7f2}.project-page .project-header{position:relative;height:100px}.project-intro{padding:55px 7% 50px}.back-link{font-size:14px;display:inline-block;margin-bottom:55px;color:#68788a}.project-intro .eyebrow{color:#7b8797;margin-bottom:20px}.project-intro h1{font-size:clamp(48px,6.5vw,92px);letter-spacing:-4px;line-height:1.06;font-weight:400;max-width:1000px}.project-summary{font-size:clamp(18px,1.7vw,24px);line-height:1.65;max-width:850px;color:#627082;margin:30px 0 45px}.project-facts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;border-top:1px solid #2d423033;margin:0;padding-top:24px}.project-facts dt{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#7b8797;margin-bottom:10px}.project-facts dd{margin:0;font-size:16px;line-height:1.65}.project-hero-image{margin:0 4%;background:#dde3d8}.project-hero-image img{width:100%;max-height:82vh;object-fit:cover;display:block}.project-subnav{display:flex;justify-content:center;gap:50px;padding:22px;background:#faf7f2f2;backdrop-filter:blur(12px);position:sticky;top:0;z-index:5;border-bottom:1px solid #223b2822;font-size:14px}.project-subnav span{color:#68788a;font-size:12px;margin-left:8px}.project-narrative{padding:90px 7%;display:grid;grid-template-columns:1fr 2fr;gap:60px}.project-narrative h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(32px,3.6vw,52px);font-weight:400;line-height:1.15;letter-spacing:-1.5px;margin:0 0 30px}.project-narrative p:not(.eyebrow){font-size:18px;line-height:1.8;max-width:740px;color:#627082}.full-gallery{padding:80px 7%;background:#e9eef3}.gallery-heading{max-width:700px;margin-bottom:65px}.gallery-heading h2{font-family:Manrope,Arial,sans-serif;font-weight:400;font-size:42px;letter-spacing:-1.5px;margin:0 0 20px}.gallery-heading p:not(.eyebrow){color:#68788a;line-height:1.7}.project-sheet{margin:0 0 70px}.project-sheet:last-child{margin-bottom:0}.project-sheet img{display:block;width:100%;height:auto;box-shadow:0 15px 55px #223b2810;background:#eff1eb}.project-sheet figcaption{display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:15px;margin-bottom:20px;border-top:1px solid #273d2929;padding-top:18px}.project-sheet figcaption>a{font-size:13px;white-space:nowrap}.contribution{background:#33465b;color:#faf7f2}.contribution p:not(.eyebrow){color:#dce3ec}.contribution .source-note{font-size:13px!important}.next-project{display:flex;flex-direction:column;gap:14px;padding:65px 7%;background:#e8bea3}.next-project .eyebrow{margin:0}.next-project>span:last-child{font-size:clamp(30px,4vw,55px);font-family:Manrope,Arial,sans-serif;letter-spacing:-1.5px;line-height:1.3}
@media(max-width:1000px){.render-preview{width:300px;gap:12px}.render-preview img{width:95px;height:65px}.model-toolbar{right:4%}.home-page .chapter{width:34%}.project-narrative{gap:35px}}
@media(max-width:800px){.home-page .title{top:16%;max-width:90%}.home-page h1{font-size:58px;letter-spacing:-3px}.home-page .title .eyebrow{font-size:10px;margin-bottom:18px}.home-page .intro{font-size:14px;margin-top:18px}.home-page .stage{min-height:790px}.home-page .chapter{top:15%;width:86%;max-width:370px}.home-page .chapter h2{font-size:34px;line-height:1.1;margin-bottom:15px}.home-page .chapter p:not(.eyebrow){font-size:14px;line-height:1.6}.home-page .chapter a{padding-top:4px;font-size:13px}.model-toolbar{top:auto;bottom:22%;left:6%;right:6%;justify-content:center;gap:7px}.model-modes button{font-size:12px;padding:8px 13px}.model-toolbar>button{font-size:11px;padding:8px}.model-hint{top:auto;bottom:29%;right:7%;font-size:9px}.render-preview{display:none}.home-page .scene-label{bottom:11.5%;left:6%;right:auto;gap:5px}.home-page .scene-label .tiny{font-size:9px}.home-page .scene-label .plan-link{font-size:11px}.home-page .stage-bottom{bottom:20px;padding-top:15px}.interiors-feature{grid-template-columns:1fr;gap:20px}.interiors-feature h2{font-size:36px;margin:10px 0}.interiors-feature .eyebrow{margin-bottom:15px}.project-page .project-header{height:85px}.project-intro{padding:30px 6% 35px}.back-link{margin-bottom:35px}.project-intro h1{font-size:43px;letter-spacing:-2px}.project-summary{font-size:18px;margin:25px 0}.project-facts{grid-template-columns:1fr;gap:20px}.project-facts dt{font-size:11px;margin-bottom:5px}.project-facts dd{font-size:15px}.project-subnav{gap:20px;padding:18px 10px;font-size:12px}.project-subnav span{display:none}.project-narrative{grid-template-columns:1fr;padding:60px 6%;gap:15px}.project-narrative .eyebrow{margin-bottom:10px}.project-narrative h2{font-size:32px}.project-narrative p:not(.eyebrow){font-size:16px}.full-gallery{padding:55px 4%}.gallery-heading{padding:0 2%;margin-bottom:35px}.gallery-heading h2{font-size:32px}.project-sheet{margin-bottom:35px}.project-sheet figcaption{font-size:12px;gap:10px;line-height:1.5}.project-sheet figcaption>a{font-size:11px}.next-project{padding:45px 6%}.project-hero-image{margin:0}.project-hero-image img{max-height:none}.home-page .view-controls button{font-size:11px}}

.home-page .title .eyebrow,.home-page .chapter .eyebrow{color:#87684e}.home-page h1 em{color:#a97657}.home-page .chapter a{color:#8a6248}.home-page .stage-bottom{color:#4d6177}.model-modes{background:#faf7f2c9}.home-page .scroll-prompt>span{border-color:#8ea3ba66}.home-page .track i{background:#9e6e51}.home-page .plan-link{color:#536c85}.about h2 em{color:#edc7ae}.project-heading>a:hover,.back-link:hover{color:#a97657}

@media(min-width:801px){.home-page .scene-label{top:235px;bottom:auto;right:5%;max-width:265px}.home-page .scene-label .tiny{line-height:1.6}}
/* Consistent image and caption alignment throughout the project grids. */
.projects>article{display:flex;flex-direction:column;min-width:0}.projects .project-image{aspect-ratio:3/2;flex:none;overflow:hidden;background:#e7e2dc}.projects .project-image img{height:100%;width:100%;aspect-ratio:auto;object-fit:cover;object-position:center}.projects .project-heading{min-height:58px;align-items:center;margin-top:16px}.projects .project-heading h2{line-height:1.3}.academic-projects .academic-description{min-height:78px;margin:12px 0 18px}.projects .tags{margin-top:auto;min-height:52px}.projects .image-arrow{bottom:18px;right:18px}.academic-projects .project-heading{min-height:64px}
.hero-identity{position:absolute;left:6%;bottom:16%;display:flex;gap:18px;align-items:center;z-index:3;padding-top:20px;border-top:1px solid #8799aa44;width:340px;color:#33465b}.portrait-frame{display:block;position:relative;width:82px;height:100px;overflow:hidden;border-radius:4px;background:#dcd5c9;flex:none}.portrait-frame img{position:absolute;width:210%;height:210%;max-width:none;object-fit:cover;left:-89%;top:-64%}.hero-identity>span:last-child{display:flex;flex-direction:column;gap:5px}.hero-identity small{font-size:10px;letter-spacing:1.7px;color:#7d6b5c}.hero-identity strong{font-size:20px;font-weight:500}.hero-identity span>span{font-size:13px;color:#667789}.hero-identity em{font-style:normal;font-size:13px;color:#966747;margin-top:4px}
.cv-section{background:#f8f5ef}.cv-head{align-items:flex-end;gap:40px;padding-bottom:45px}.cv-head h2{font-size:clamp(38px,4.5vw,64px);letter-spacing:-2px;line-height:1.1}.cv-head h2 em{font-family:Georgia,serif;font-weight:400;font-style:italic;color:#9e7153}.cv-head .eyebrow{color:#8c715c}.download-cv{border:0;border-radius:3px;padding:20px 27px;background:#33465b;color:#fffaf4}.download-cv:hover{background:#4b6179}.cv-layout{grid-template-columns:1.65fr 1fr;gap:65px}.cv-layout>div>h3{margin-bottom:12px}.cv-row{grid-template-columns:130px 1fr;gap:24px;padding:28px 0}.cv-row>span{font-variant-numeric:tabular-nums;color:#8b6c56}.cv-layout h4{font-family:Manrope,Arial,sans-serif;font-weight:600;font-size:20px;line-height:1.4}.cv-layout p{font-size:16px;line-height:1.7}.cv-layout aside{background:#e8edf2;border:0;padding:32px;border-radius:3px;align-self:start}.cv-layout h3{color:#7d624c}.cv-education{padding-bottom:22px;border-bottom:1px solid #91a0af44}.cv-email{font-size:14px}.download-cv span{color:#e7bea1}
@media(max-width:800px){.projects .project-heading,.academic-projects .project-heading{min-height:0}.academic-projects .academic-description{min-height:0}.projects .tags{min-height:0}.hero-identity{width:auto;border:0;padding:0;left:6%;top:calc(16% + 226px);bottom:auto;gap:10px}.portrait-frame{width:42px;height:48px}.hero-identity small,.hero-identity em{display:none}.hero-identity strong{font-size:14px}.hero-identity span>span{font-size:11px}.home-page .stage:has(.chapter.active) .hero-identity{opacity:0;pointer-events:none}.cv-head{display:block}.cv-layout{grid-template-columns:1fr;gap:35px}.cv-row{grid-template-columns:91px 1fr;gap:16px}.cv-layout h4{font-size:18px}.cv-layout p{font-size:15px}.cv-layout aside{padding:25px}.download-cv{margin-top:28px}}

/* Full-width final professional project. */
.home-page #work .projects>article:last-child{width:100%;margin-top:0}.home-page #work .projects>article:last-child .project-image{aspect-ratio:auto}.home-page #work .projects>article:last-child .project-image img{height:auto;aspect-ratio:auto;object-fit:contain}
/* Curriculum vitae — portrait, timeline and a clear reading hierarchy. */
.professional-interiors{margin-top:90px;padding-top:50px;border-top:1px solid #c8c9c5;scroll-margin-top:35px}.resume{background:#f7f3ed}.resume-heading{padding-bottom:48px;border-bottom:1px solid #cccac4}.resume-heading h2{font-size:clamp(44px,5.5vw,82px);font-weight:400;line-height:1.06;letter-spacing:-.055em;margin:25px 0}.resume-heading h2 em{font-family:Georgia,serif;font-weight:400;color:#97664f}.resume-heading>p:last-child{color:var(--muted);line-height:1.8}.resume-grid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.7fr);gap:7%;padding-top:55px;align-items:start}.resume-profile{position:sticky;top:35px;background:#e6e9e9;padding:28px}.resume-photo{height:220px;overflow:hidden;margin:-28px -28px 28px}.resume-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 42%}.resume-profile h3{font-size:42px;font-weight:400;line-height:1.05;letter-spacing:-.04em;margin:16px 0}.resume-profile>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#596775}.resume-profile .download-cv{display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:#fff;padding:19px 17px;margin:25px 0;width:100%;box-sizing:border-box;font-size:14px}.resume-profile .download-cv span{color:var(--lime);font-size:11px}.resume-contact{display:flex;flex-direction:column;gap:13px;font-size:12px;overflow-wrap:anywhere;color:#53616c}.resume-contact>div{display:flex;gap:22px;padding:9px 0}.resume-section-title{display:flex;align-items:center;gap:17px;margin:0 0 30px}.resume-section-title>span{font-size:12px;color:#a7765d}.resume-section-title h3{font-size:25px;font-weight:400;letter-spacing:-.03em;margin:0}.resume-role{display:grid;grid-template-columns:125px 1fr;gap:20px;padding:0 0 27px 20px;margin-left:5px;border-left:1px solid #c9c9c3;position:relative}.resume-role:before{content:'';position:absolute;left:-4px;top:5px;width:7px;height:7px;background:#b88569;border-radius:50%}.resume-role>span{font-size:11px;color:#77808a;padding-top:4px}.resume-role h4{font-size:18px;font-weight:500;margin:0 0 7px}.resume-role p{font-size:13px;line-height:1.8;color:#63717e;margin:0 0 8px}.resume-role p:first-of-type{color:#97664f}.resume-role+.resume-section-title{margin-top:35px}.resume-education{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:45px}.resume-school{padding:22px;background:#ebe7e0;border-top:2px solid #d5b39c}.resume-school:last-child{grid-column:1/-1}.resume-school>span{font-size:11px;color:#97664f}.resume-school h4{font-weight:500;font-size:17px;line-height:1.4;margin:12px 0}.resume-school p{font-size:12px;line-height:1.7;color:#65727e;margin:5px 0}.resume-capabilities{display:grid;grid-template-columns:1fr 1fr;gap:25px}.resume-capabilities h4,.resume-tools h4{font-size:14px;font-weight:500;margin:0 0 12px}.resume-capabilities p,.resume-tools p{font-size:13px;line-height:1.9;color:#65727e}.resume-tools{border-top:1px solid #d1cfc8;margin-top:25px;padding-top:25px}@media(max-width:800px){.resume-grid{grid-template-columns:1fr;gap:42px}.resume-profile{position:static}.resume-photo{height:300px}.resume-photo img{object-position:50% 44%}.resume-role{grid-template-columns:1fr;gap:8px}.resume-education,.resume-capabilities{grid-template-columns:1fr}.resume-school:last-child{grid-column:auto}.professional-interiors{margin-top:55px}.resume-heading{padding-bottom:28px}}
/* Softer editorial headings and professional project presentation. */
.home-page .section-head:has(.section-statement){align-items:flex-start;gap:40px;padding-top:30px;margin-bottom:55px}.section-statement{font-family:Manrope,Arial,sans-serif;font-size:clamp(30px,3.5vw,52px);font-weight:400;letter-spacing:-.045em;line-height:1.15;margin:0;max-width:650px}.section-statement em{font-family:Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.035em;color:#798ba0}.professional-interiors .section-head{border-top:0;padding-top:0}.professional-page .project-facts{border-top-color:#c5cdd4}.professional-page .project-facts>div{padding-left:20px;border-left:2px solid #c5cdd4}.professional-page .full-gallery{background:#e7edf1}.professional-page .project-sheet{padding:22px;background:#f7f5f0;border:1px solid #d4dce1;border-radius:3px}.professional-page .project-sheet figcaption{border-top:0;padding-top:0;color:#33465b}.professional-page .project-sheet figcaption>a{padding:9px 13px;border:1px solid #b7c4cf;border-radius:24px;font-size:14px}.professional-page .project-sheet img{box-shadow:none}.professional-page .next-project{background:#dbe3e9}.professional-page .project-subnav a:hover,.professional-page .back-link:hover{color:#97664f}.professional-page .project-narrative:not(.contribution) .eyebrow{color:#687b8e}@media(max-width:800px){.home-page .section-head:has(.section-statement){flex-direction:column;gap:16px;margin-bottom:32px}.home-page .section-head:has(.section-statement) .eyebrow{margin-bottom:0}.section-statement{font-size:34px;letter-spacing:-.04em}.professional-page .project-sheet{padding:10px}.professional-page .project-sheet figcaption{font-size:13px;gap:12px}.professional-page .project-sheet figcaption>a{font-size:12px;padding:7px 10px}}
