@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
.work-heading a{border-bottom:1px solid var(--line);padding-bottom:3px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px 24px}.project-card-wide{grid-column:1/-1}.project-image{display:block;overflow:hidden;background:#d6d6cf;aspect-ratio:16/9}.project-card-wide .project-image{aspect-ratio:2.15/1}.project-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s}.project-image:hover img{transform:scale(1.018);filter:saturate(.86)}.project-meta{display:flex;justify-content:space-between;gap:20px;margin-top:14px;letter-spacing:1px;color:var(--muted)}.project-card h3{letter-spacing:-.045em;margin:13px 0 9px}.project-card>p{line-height:1.65;color:#51564d;max-width:720px;margin:0}.project-link{display:inline-block;margin-top:18px;border-bottom:1px solid var(--line);padding-bottom:3px}
@media(max-width:850px){.project-card-wide .project-image{aspect-ratio:16/9}}
@media(max-width:580px){nav a:nth-child(3){display:none}.project-grid{grid-template-columns:1fr;gap:40px}.project-card-wide{grid-column:auto}.project-image,.project-card-wide .project-image{aspect-ratio:4/3}.project-meta{}.project-card h3{}}
:root{--paper:#e9e9e4;--ink:#242622;--muted:#666961;--line:#bfc1b9;--accent:#974529}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:7px}a:hover{color:var(--accent)}.skip{position:absolute;top:-80px;background:white;padding:12px;z-index:2}.skip:focus{top:0}header{margin:0 5%;height:116px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{font-weight:800;letter-spacing:-3px;display:flex;gap:25px;align-items:center}.brand span{letter-spacing:0;line-height:1.4;font-weight:500}nav{display:flex;gap:34px;}.hero{display:grid;grid-template-columns:1fr 0.85fr;gap:5vw;margin:42px 5% 80px;align-items:stretch}.hero-copy{display:flex;flex-direction:column;padding-top:20px}.eyebrow,.section-label{letter-spacing:1.7px;font-weight:600}.eyebrow{margin:0 0 27px}h1{font-weight:500;letter-spacing:-.075em;line-height:1.04;margin:0}em{font-weight:400;letter-spacing:-.055em}h1 em{color:var(--accent)}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto;padding:40px 12px 25px 0}.hero-bottom p{line-height:1.65;margin:0}.round-link{width:56px;height:56px;border:1px solid #96998e;border-radius:50%;display:grid;place-items:center;}.hero-image{margin:0;position:relative;min-height:590px}.hero-image img{width:100%;height:100%;position:absolute;object-fit:cover}.hero-image figcaption{position:absolute;bottom:0;transform:translateY(100%);width:100%;display:flex;justify-content:space-between;gap:16px;letter-spacing:.6px;padding:12px 0;color:var(--muted)}.section{margin:0 5%;padding:68px 0 78px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 3fr;gap:30px}h2{font-weight:500;line-height:1.2;letter-spacing:-.045em;margin:0 0 30px}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:900px}.about-columns p{margin:0;color:#51564d;}.credentials{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:34px;font-weight:500;letter-spacing:.3px}.credentials span{border-bottom:1px solid var(--line);padding-bottom:8px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;padding-bottom:25px}.section-heading h2{margin:0}.section-heading p{color:var(--muted);margin:0}.work-row{display:grid;grid-template-columns:24px 1.1fr 1.25fr;gap:24px;padding:31px 0;border-top:1px solid var(--line);position:relative}.work-number{padding-top:4px;color:var(--accent)}h3{line-height:1.3;font-weight:500;margin:0 0 6px;letter-spacing:-.5px}.work-row p{margin:0;color:var(--muted)}.work-row>p{line-height:1.6}.work-type{grid-column:2/4;letter-spacing:1px;color:var(--accent);margin-top:-10px}.perspective{background:#292e27;color:#f0f0e7;padding:70px 5% 80px;display:grid;grid-template-columns:1fr 3fr;gap:30px}.perspective .section-label{color:#c2c6bb}.big-statement{line-height:1.18;letter-spacing:-.055em;margin:0 0 55px}.big-statement em{color:#c9c9b3}.perspective-bottom{border-top:1px solid #646b5e;padding-top:26px;display:grid;grid-template-columns:1fr 1.3fr;gap:35px}.perspective-bottom span{letter-spacing:1px}.perspective-bottom p{margin:0;color:#ced2c8}footer{padding:35px 5%;display:flex;justify-content:space-between;align-items:center;gap:24px}footer>a{font-weight:500}footer>a span{margin-left:25px}footer p{letter-spacing:1px}footer>span{color:var(--muted)}
@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:850px){header{height:95px}.hero{gap:4vw}.hero-image{min-height:450px}h1{}.hero-bottom{padding-top:30px}.hero-bottom p{}.section,.perspective{grid-template-columns:1fr;gap:26px}.section-heading{align-items:flex-start}.hero-image figcaption{flex-direction:column;gap:2px}.section{padding-top:45px}.perspective{padding-top:45px}.hero{margin-bottom:85px}.big-statement{}}@media(max-width:580px){header{margin:0 6%;height:90px}.brand{gap:14px}.brand span{}nav{gap:16px;}nav a:last-child{display:none}.hero{grid-template-columns:1fr;margin:28px 6% 75px;gap:28px}.hero-copy{padding:0}.eyebrow{margin-bottom:22px}h1{}.hero-bottom{padding:26px 0 0}.hero-bottom p{}.hero-image{min-height:0;aspect-ratio:4/4.3}.hero-image figcaption{flex-direction:row;}.section{margin:0 6%;padding-bottom:45px}.about-columns{grid-template-columns:1fr;gap:20px}.section-heading{display:block}.section-heading p{margin-top:20px}.work-row{grid-template-columns:18px 1fr;gap:14px}.work-row>p{grid-column:2}.work-type{grid-column:2;margin-top:0}.perspective{padding:44px 6%}.big-statement{margin-bottom:32px}.perspective-bottom{grid-template-columns:1fr;gap:16px}footer{align-items:flex-start;flex-wrap:wrap;padding:28px 6%;gap:14px}footer p{display:none}footer>a span{margin-left:16px}footer>span{}h2 br{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.project-copy p+p{margin-top:20px}.project-copy p{line-height:1.65}.project-copy strong{font-weight:500;color:var(--ink)}.profile-details{display:grid;grid-template-columns:1fr 1.3fr;gap:40px;border-top:1px solid var(--line);padding-top:38px;margin-top:15px}.profile-details p,.profile-details li,.practice-tools p{color:#51564d}.profile-details strong{font-weight:500}.profile-details ul{list-style:none;padding:0;margin:16px 0}.profile-details li{margin:0 0 16px;display:grid;grid-template-columns:40px 1fr;gap:14px}.profile-details li span{color:var(--accent);padding-top:3px}.profile-details .recognition-note{color:var(--muted)}.practice-tools{border-top:1px solid var(--line);padding-top:30px;margin-top:30px}.practice-tools p{max-width:850px;margin-bottom:0}.manifesto{border-top:0;padding-top:70px}.manifesto h2{}.manifesto h2 em{color:var(--accent)}.manifesto-lead{line-height:1.6;max-width:800px;margin:30px 0}.manifesto-text{max-width:760px;color:#51564d;}.manifesto-text p{margin:0 0 24px}.manifesto-text .manifesto-close{color:var(--ink);line-height:1.55;margin-top:36px}.manifesto-credit{color:var(--muted);max-width:650px;margin-top:38px}footer{border-top:1px solid var(--line)}@media(max-width:580px){.work-row .project-copy{grid-column:2}.profile-details{grid-template-columns:1fr;gap:25px}.manifesto-lead{}.manifesto{padding-top:45px}}
/* Article and CV, October 2026 */
.text-hero{grid-template-columns:1.1fr .9fr;min-height:600px;gap:7vw}.hero-note{border-left:1px solid var(--line);padding:50px 0 35px 42px;align-self:center}.hero-question{color:var(--accent);margin:0 0 40px}.hero-note h2{}.hero-note>p:not(.hero-question){color:#51564d;}.text-hero h1{}.article-block{max-width:780px;margin-top:55px}.article-block>p{line-height:1.75}.article-block h2{max-width:750px}.career{display:grid;grid-template-columns:1fr 1.75fr;gap:38px;padding:35px 0 55px;border-top:1px solid var(--line)}.career:first-child{padding-top:0;border-top:0}.career-label h3{margin:18px 0}.career-label p{color:var(--muted);margin:8px 0}.career-label .eyebrow{margin:14px 0;color:var(--accent)}.cv-project{border-top:1px solid var(--line);padding:20px 0}.cv-project:first-child{border-top:0;padding-top:0}.cv-project summary{cursor:pointer;line-height:1.45;padding-right:8px}.cv-project summary::marker{color:var(--accent);}.cv-project summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.project-body{padding-top:6px}.project-facts{color:var(--accent)}.cv-project ul{padding-left:20px;color:#51564d;line-height:1.7}.cv-project li{margin:12px 0}.education-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.education-grid h2{}.education-grid h3{margin-top:35px}.education-grid p{color:#51564d}.awards>p{display:grid;grid-template-columns:85px 1fr;border-bottom:1px solid var(--line);padding:0 0 24px;margin:0 0 24px;gap:20px}.awards span{color:var(--accent)}.perspective .article-block{margin-top:0}.perspective .article-block p{color:#ced2c8}.section-label{overflow-wrap:anywhere}footer>a{}
@media(max-width:1000px){.career{grid-template-columns:1fr 1.5fr;gap:25px}.text-hero{min-height:540px}.hero-note{padding-left:25px}.text-hero h1{}}
@media(max-width:650px){.text-hero{grid-template-columns:1fr;min-height:0}.text-hero h1{}.hero-note{border-left:0;border-top:1px solid var(--line);padding:30px 0 0;margin-top:12px}.hero-question{margin-bottom:24px}.career{grid-template-columns:1fr;gap:25px}.education-grid{grid-template-columns:1fr;gap:30px}.brand span{max-width:145px}.brand{gap:12px}nav{gap:14px}nav a:nth-child(3){display:none}.awards>p{grid-template-columns:70px 1fr;gap:12px}.section-label{}.article-block{margin-top:40px}.article-block>p{}}

/* Refined opening typography */
.text-hero{gap:8vw;min-height:610px;margin-top:58px;margin-bottom:96px;grid-template-columns:1.15fr .85fr}
.text-hero .hero-copy{padding-top:24px}
.text-hero .eyebrow{margin-bottom:46px}
.text-hero h1{line-height:1.16;letter-spacing:-.045em;font-weight:400}
.text-hero h1 em{letter-spacing:-.035em}
.text-hero .hero-bottom{padding-top:56px;padding-bottom:34px}
.hero-note{padding-left:38px}
.hero-question{font-style:italic;font-weight:400;line-height:1.4;letter-spacing:-.015em;color:var(--accent);margin-bottom:34px}
@media(max-width:850px){.text-hero{gap:5vw;min-height:530px}.text-hero h1{}.hero-note{padding-left:24px}.hero-question{}}
@media(max-width:650px){.text-hero{grid-template-columns:1fr;gap:40px;min-height:0;margin-top:36px;margin-bottom:70px}.text-hero .hero-copy{padding-top:8px}.text-hero .eyebrow{margin-bottom:32px}.text-hero h1{line-height:1.18;letter-spacing:-.04em}.text-hero .hero-bottom{padding-top:38px;padding-bottom:0}.hero-note{padding:34px 0 0;margin-top:0}.hero-question{margin-bottom:26px}}

/* Two typefaces: Manrope for practice; Georgia for personal writing. */
.brand{gap:25px}.brand span{max-width:none}
.text-hero{min-height:440px;margin-top:54px;margin-bottom:80px}
.text-hero h1{line-height:1.12;font-weight:400;letter-spacing:-.045em}
.text-hero h1 em{letter-spacing:-.045em}
.hero-note{padding-top:30px;padding-bottom:30px}
.hero-note h2{font-weight:400;line-height:1.2;letter-spacing:-.03em;margin-bottom:0}
.hero-question,.article-question,.personal-question{font-style:italic;font-weight:400;letter-spacing:-.02em;line-height:1.35}
.hero-question{}
.article-block .article-question{margin-bottom:30px}
.perspective .personal-question{color:#c9c9b3}
#architecture>div:nth-child(2)>p:not(.manifesto-lead){max-width:760px;line-height:1.8;color:#51564d;margin:0 0 25px}
#architecture>div:nth-child(2)>h2{font-weight:400;letter-spacing:-.025em;line-height:1.3;margin-top:48px}
.education-content{max-width:760px}.education-content>p{margin:0 0 20px;}.education-content h3{letter-spacing:1px;margin:36px 0 20px;color:var(--muted)}
.skills-content{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.skills-content p{border-bottom:1px solid var(--line);padding:0 0 24px;margin:0 0 24px;line-height:1.7}
.manifesto-kicker{color:var(--muted);margin:0 0 30px}.manifesto-text .memory-statement{line-height:1.5;letter-spacing:-.025em;color:var(--ink);margin:38px 0 0}.memory-statement strong{font-weight:700}
.conclusion{padding-top:64px;padding-bottom:90px}.closing-statement{line-height:1.5;letter-spacing:-.025em;max-width:850px;margin:0;color:var(--ink)}
@media(max-width:850px){nav{gap:20px}.text-hero{min-height:400px}.text-hero h1{}.conclusion-space{display:none}}
@media(max-width:650px){.brand{gap:14px}.brand span{max-width:none}.text-hero{min-height:0;margin-top:36px;margin-bottom:60px;gap:32px}.text-hero h1{}.hero-note h2{}.hero-note{padding-top:28px;padding-bottom:0}.hero-question{margin-bottom:20px}.skills-content{grid-template-columns:1fr}.conclusion{padding-top:40px;padding-bottom:60px}nav a:nth-child(2),nav a:nth-child(3){display:none}nav a:last-child{display:block}nav{gap:14px;}.perspective .personal-question{}.manifesto-text .memory-statement{}}

/* One type scale, exactly three sizes across every viewport. */
:root{--type-body:16px;--type-heading:24px;--type-display:48px}
*{font-size:inherit;font-family:inherit}
body{font-family:Manrope,Arial,sans-serif;font-size:var(--type-body)}
h1,.big-statement{font-size:var(--type-display)}
h2,h3,.cv-project summary,.memory-statement,.closing-statement,.hero-question,.article-question,.personal-question,.brand{font-size:var(--type-heading)}
.brand span,.brand span *{font-size:var(--type-body)}
em,.hero-question,.article-question,.personal-question,.closing-statement,.text-hero h1,#architecture>div:nth-child(2)>h2{font-family:Georgia,'Times New Roman',serif}
.big-statement{font-family:Manrope,Arial,sans-serif}
.text-hero{display:block;min-height:0;margin-top:52px;margin-bottom:64px}
.text-hero .hero-copy{max-width:850px;padding-top:0}
.text-hero .eyebrow{margin-bottom:34px}
.text-hero .hero-question{margin:0 0 24px}
.text-hero h1{line-height:1.2;letter-spacing:-.03em;margin:0}
.text-hero .hero-bottom{max-width:620px;padding-top:42px;padding-bottom:0}
#awards,#awards *{border:0;box-shadow:none}
#awards + section{border-top:0}
#awards .awards>p{padding-bottom:18px;margin-bottom:18px;grid-template-columns:100px 1fr}
.section-label,.eyebrow{letter-spacing:.06em}
.brand{letter-spacing:-.06em;flex-shrink:0}
.brand span{letter-spacing:0}
nav{flex-wrap:wrap;justify-content:flex-end}
header{gap:30px}
@media(max-width:850px){header{height:auto;min-height:116px;padding:24px 0;flex-wrap:wrap;gap:24px}nav{justify-content:flex-start;gap:18px}.section-label{overflow-wrap:normal}.hero-bottom{gap:24px}}
@media(max-width:650px){.text-hero{margin-top:36px;margin-bottom:48px}.text-hero .eyebrow{margin-bottom:26px}.text-hero .hero-bottom{padding-top:32px}.brand{gap:14px}nav a:nth-child(n){display:block}nav{gap:12px 20px}.awards>p{gap:16px}.big-statement{letter-spacing:-.055em}.section{gap:24px}.skills-content{grid-template-columns:1fr}}
/* Practice and Architecture page navigation; retain the three-size scale. */
header nav a[aria-current="page"]{color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:4px}
.practice-intro{margin:54px 5% 36px;max-width:900px}
.practice-intro h1{line-height:1.2;letter-spacing:-.045em;font-weight:400;margin:0 0 12px}
.practice-intro p{margin:0;color:var(--muted)}
.section-nav{margin:0 5% 42px;display:flex;justify-content:flex-start;gap:16px 32px;flex-wrap:wrap}
.section-nav a{color:var(--muted)}
.section-nav a:hover{color:var(--accent)}
footer{flex-wrap:wrap}
@media(max-width:650px){.practice-intro{margin:36px 6% 28px}.section-nav{margin:0 6% 32px;gap:14px 24px}.section-nav a:nth-child(n),header nav a:nth-child(n){display:block}}

/* CV refinements: section rules only, with quiet award rows. */
body:has(.cv-page-title) .section-nav{margin-top:40px}
h1.cv-page-title{font-size:var(--type-body);line-height:1.6;font-weight:600;letter-spacing:.06em;margin:0}
.skills-content p{border-bottom:0}
#awards{border-top:1px solid var(--line)}
#awards .award-description{color:var(--ink);font-size:inherit;line-height:inherit;letter-spacing:normal}
#awards .awards>p{align-items:start}
#awards .competition-result{margin-bottom:18px;padding-bottom:0}
@media(max-width:650px){body:has(.cv-page-title) .section-nav{margin-top:28px}}
