@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f3f0e9;--ink:#22211f;--muted:#6d6962;--line:rgba(34,33,31,.22);--ochre:#ae9763;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300}img{width:100%;height:100%;object-fit:cover;display:block}a{color:inherit;text-decoration:none}.site-header{position:fixed;z-index:30;top:0;left:0;right:0;display:grid;grid-template-columns:1fr auto;align-items:start;padding:20px 28px;mix-blend-mode:difference;color:#fff;pointer-events:none}.site-header>*{pointer-events:auto}.wordmark{text-transform:uppercase;font-size:12px;letter-spacing:.08em;font-weight:500}.site-nav{display:flex;gap:24px;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.menu-toggle{display:none;border:0;background:none;color:inherit;text-transform:uppercase;letter-spacing:.06em}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:500;margin:0 0 20px}.serif{font-family:var(--serif)}
.hero{min-height:100svh;display:grid;grid-template-columns:42% 58%;padding:100px 28px 28px;gap:28px}.hero-copy{align-self:center;padding-left:4vw}.hero h1,.section-heading h2,.preview-copy h2,.page-title,.contact-cta h2{font-family:var(--serif);font-weight:400;line-height:.93;margin:0}.hero h1{font-size:clamp(68px,9vw,150px);letter-spacing:-.05em}.hero-intro{max-width:430px;font-size:18px;line-height:1.45;margin:34px 0 0}.hero-image{margin:0;display:flex;flex-direction:column;min-height:calc(100svh - 128px)}.hero-image img{flex:1;min-height:0}.hero-image figcaption{font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding-top:8px}.statement{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 28px;font-family:var(--serif);font-size:clamp(28px,4vw,62px)}.statement p{margin:0}.statement p:nth-child(2){text-align:center}.statement p:nth-child(3){text-align:right}
.section{padding:150px 28px}.section-heading{display:grid;grid-template-columns:25% 50% 25%;align-items:end;margin-bottom:90px}.section-heading .eyebrow{margin:0}.section-heading h2{font-size:clamp(46px,6vw,96px);letter-spacing:-.035em}.section-note{font-size:14px;line-height:1.5;max-width:280px;margin:0}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px 28px}.project-card:first-child{grid-column:1/-1}.project-image{display:block;overflow:hidden;background:#ddd}.project-card:first-child .project-image{height:min(72vw,950px)}.project-card:not(:first-child) .project-image{aspect-ratio:1.25}.project-image img{transition:transform 1100ms cubic-bezier(.2,.8,.2,1)}.project-card:hover img{transform:scale(1.012)}.project-meta{display:grid;grid-template-columns:10% 1fr auto;gap:20px;padding-top:16px;border-top:1px solid var(--line);margin-top:12px}.project-meta h3{font-family:var(--serif);font-size:36px;font-weight:400;margin:0 0 8px}.project-meta p{margin:0;font-size:12px;line-height:1.45}.project-number,.project-year{text-transform:uppercase;letter-spacing:.06em}
.home-observations{background:var(--ochre)}.obs-preview-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:28px;align-items:end}.obs-preview-grid figure{margin:0}.obs-preview-grid figure:first-child{height:70vw;max-height:900px}.obs-preview-grid figure:last-child{height:38vw;max-height:520px}.text-link{display:inline-block;margin-top:28px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid currentColor;padding-bottom:4px}
.about-preview{display:grid;grid-template-columns:42% 1fr;gap:9vw;align-items:center}.about-preview figure{margin:0}.about-preview figure img{aspect-ratio:.78}.preview-copy h2{font-size:clamp(44px,5.3vw,86px);letter-spacing:-.035em;margin-bottom:42px}.preview-quote{font-family:var(--serif);font-size:clamp(27px,3vw,46px);line-height:1.15;max-width:760px;margin:0}.contact-cta{padding:170px 28px 90px;border-top:1px solid var(--line)}.contact-cta h2{font-size:clamp(56px,8vw,130px);max-width:1150px;letter-spacing:-.045em}.contact-cta .text-link{margin-top:60px}
footer{display:grid;grid-template-columns:1fr 1fr 1fr;padding:24px 28px;border-top:1px solid var(--line);font-size:10px;text-transform:uppercase;letter-spacing:.07em}footer p{margin:0}footer p:nth-child(2){text-align:center}footer p:nth-child(3){text-align:right}.reveal{opacity:0;transform:translateY(14px);transition:opacity 1050ms ease,transform 1050ms ease}.reveal.is-visible{opacity:1;transform:none}
.page-shell{padding-top:110px}.page-title{font-size:clamp(68px,9vw,145px);letter-spacing:-.05em;padding:70px 28px 90px}.page-intro{max-width:760px;margin:0 0 110px 28px;font-family:var(--serif);font-size:clamp(24px,3vw,42px);line-height:1.2}.obs-page{background:var(--ochre)}.obs-gallery{padding:20px 4vw 130px}.obs-gallery img{height:auto}.obs-gallery .large{width:88%;margin:0 0 120px auto}.obs-gallery .small{width:34%;margin:0 0 130px 8%}.obs-gallery .right{width:72%;margin:0 0 120px auto}.obs-pair{display:grid;grid-template-columns:.9fr 1.25fr;gap:42px;width:78%;margin:0 auto 120px}.obs-gallery .wide{width:72%;margin:0 auto 120px}.about-essay{padding:0 28px 140px}.about-hero{width:min(82%,1100px);margin:0 auto 120px}.about-hero img{height:auto}.essay{max-width:760px;margin:0 auto;font-size:18px;line-height:1.72}.essay p{margin:0 0 30px}.essay .lead{font-family:var(--serif);font-size:clamp(29px,3.4vw,50px);line-height:1.17}.essay-image{width:min(74%,900px);margin:120px auto}.essay-image img{height:auto}.essay-ending{font-family:var(--serif);font-size:clamp(25px,3vw,43px);line-height:1.2;margin-top:90px}.contact-page{min-height:100svh;padding:130px 28px 70px}.contact-layout{display:grid;grid-template-columns:46% 1fr;gap:9vw;align-items:center;max-width:1450px;margin:auto}.contact-layout figure{margin:0}.contact-layout figure img{aspect-ratio:.78}.contact-copy h1{font-family:var(--serif);font-size:clamp(62px,8vw,126px);line-height:.93;letter-spacing:-.05em;font-weight:400;margin:0 0 45px}.contact-copy>p{font-size:18px;line-height:1.6;max-width:560px}.contact-list{margin-top:55px;border-top:1px solid var(--line)}.contact-list a,.contact-list span{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);font-size:13px}.thanks{font-family:var(--serif);font-size:clamp(30px,4vw,58px);line-height:1.1;text-align:center;padding:150px 20px 70px}
.projects-index{padding:20px 28px 140px}.projects-index .project-grid{margin-top:0}.project-page{padding-top:76px}.project-header{padding:70px 4vw 70px;display:grid;grid-template-columns:1fr 1fr;gap:7vw}.project-header h1{font-family:var(--serif);font-size:clamp(58px,7vw,104px);line-height:.96;letter-spacing:-.05em;font-weight:400;margin:0}.project-header p{font-family:var(--serif);font-size:clamp(22px,2.3vw,34px);line-height:1.28;margin:30px 0 0}.project-details{align-self:end;font-size:12px;line-height:1.8}.project-hero-full{width:calc(100% - 56px);height:min(70vw,920px);margin:0 28px 110px}.project-story{max-width:760px;margin:0 auto 110px;font-size:18px;line-height:1.65;padding:0 20px}.project-gallery-stack{padding:0 28px 140px}.project-gallery-stack figure{margin:0 auto 110px}.project-gallery-stack .large{width:min(100%,1200px)}.project-gallery-stack .medium{width:min(82%,960px)}.project-gallery-stack .small{width:min(62%,720px)}.project-gallery-stack img{height:auto}.project-pager{display:flex;justify-content:space-between;padding:35px 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--serif)}
@media(max-width:800px){.site-header{padding:16px}.site-nav{display:none;position:absolute;right:16px;top:46px;flex-direction:column;align-items:flex-end;background:rgba(0,0,0,.78);padding:18px}.site-nav.open{display:flex}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding:110px 16px 16px;gap:50px}.hero-copy{padding:0}.hero-image{min-height:65svh}.statement{padding:16px;font-size:28px}.section{padding:100px 16px}.section-heading{grid-template-columns:1fr;margin-bottom:55px;gap:24px}.section-heading h2{font-size:52px}.project-grid{grid-template-columns:1fr;gap:70px}.project-card:first-child{grid-column:auto}.project-card:first-child .project-image{height:70svh}.project-meta{grid-template-columns:34px 1fr auto}.project-meta h3{font-size:28px}.obs-preview-grid,.about-preview,.contact-layout,.project-header{grid-template-columns:1fr}.obs-preview-grid figure:first-child,.obs-preview-grid figure:last-child{height:auto}.preview-copy{padding-top:20px}.contact-cta{padding:110px 16px 60px}.page-title{padding-left:16px;padding-right:16px}.page-intro{margin-left:16px;margin-right:16px}.obs-pair{grid-template-columns:1fr;width:100%}.obs-gallery .large,.obs-gallery .right,.obs-gallery .wide{width:100%}.obs-gallery .small{width:65%;margin-left:0}.about-essay{padding-left:16px;padding-right:16px}.about-hero,.essay-image{width:100%}.contact-page{padding-left:16px;padding-right:16px}.project-hero-full{width:calc(100% - 32px);margin-left:16px;margin-right:16px}.project-gallery-stack{padding-left:16px;padding-right:16px}.project-gallery-stack .medium,.project-gallery-stack .small{width:100%}footer{padding:20px 16px;grid-template-columns:1fr;gap:8px}footer p:nth-child(2),footer p:nth-child(3){text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.project-image img{transition:none}}

/* Home hero credential line break */
.hero-credentials{line-height:1.55}
.hero-location{display:block;margin-top:4px}

/* Project metadata styling */
.project-header .eyebrow{font-family:var(--sans);font-size:10px;line-height:1.4;text-transform:none;letter-spacing:.04em;font-weight:300;margin:0 0 20px}

/* Selected Works landing hero */
.projects-page{padding-top:0}
.projects-hero{min-height:100svh;display:grid;grid-template-columns:42% 58%;gap:28px;padding:100px 28px 28px}
.projects-hero-copy{align-self:center;padding-left:4vw}
.projects-hero .page-title{padding:0;font-size:clamp(68px,9vw,145px)}
.projects-hero .page-intro{margin:34px 0 0;max-width:520px;font-family:var(--sans);font-size:18px;line-height:1.55}
.projects-hero-image{margin:0;min-height:calc(100svh - 128px);overflow:hidden}
.projects-hero-image img{object-position:center center}
@media(max-width:800px){.projects-hero{grid-template-columns:1fr;padding:110px 16px 16px;gap:50px}.projects-hero-copy{padding:0}.projects-hero-image{min-height:72svh}.projects-hero .page-title{font-size:clamp(68px,18vw,110px)}.projects-hero .page-intro{margin:28px 0 0}}

/* Home hero portrait beneath intro text */
.hero-copy{
    display:flex;
    flex-direction:column;
}

.hero-portrait{
    width:100%;
    max-width:500px;
    margin:96px 0 0;
}

.hero-portrait img{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
}

@media(max-width:800px){
    .hero-portrait{
        width:100%;
        max-width:520px;
        margin-top:30px;
    }
}
