@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap');
:root{color-scheme:dark;--paper:#151715;--ink:#edece5;--muted:#a5a99d;--line:#363b33;--accent:#bac3a3;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #a5ae76;outline-offset:7px}::selection{background:#c6cbb2;color:#24261e}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:var(--paper);padding:14px}.skip:focus{top:12px}.header{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:25px 4.5%;color:white;transition:background .35s,color .35s,padding .35s}.header.scrolled{background:rgba(21,23,21,.95);backdrop-filter:blur(16px);color:var(--ink);padding-top:17px;padding-bottom:17px;border-bottom:1px solid var(--line)}.wordmark{font-size:21px;font-weight:550;letter-spacing:-.8px}.wordmark span{display:block;font-size:10px;font-weight:400;letter-spacing:1.6px;text-transform:uppercase;margin-top:5px;opacity:.65}.header nav{display:flex;gap:34px;font-size:14px}.header nav a{position:relative;padding:7px 0}.header nav a:after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:currentColor;transition:width .25s}.header nav a:hover:after,.header nav a.active:after{width:100%}.language{border:0;background:none;font-size:11px;padding:10px 0 10px 20px}.language span{opacity:.5;margin-left:5px}.hero{height:100svh;min-height:650px;position:relative;overflow:hidden;background:#6f6b5e;color:white}.hero-image{width:100%;height:115%;object-fit:cover;object-position:center 54%;position:absolute;inset:-5% 0 0;will-change:transform}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,23,17,.48),rgba(15,23,17,.1)),linear-gradient(180deg,#0004,transparent 35%,#0004)}.hero-content{position:absolute;left:8%;top:39%;max-width:85%}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:2.3px;font-weight:550;margin:0 0 30px}.hero h1{font-size:clamp(55px,6.4vw,108px);font-weight:400;letter-spacing:-4.7px;line-height:1.02;margin:0 0 25px}.hero-description{font-size:15px;line-height:1.7;color:#ffffffe0}.hero-bottom{position:absolute;bottom:36px;left:4.5%;right:4.5%;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.5px}.scroll-link{display:flex;gap:35px;align-items:center}.scroll-link span:last-child{font-size:22px}.hero-note{opacity:.6;font-size:9px}.coordinates{font-size:10px;opacity:.75}.section-pad{padding:120px 8%}.intro{display:grid;grid-template-columns:1fr 2.1fr;gap:5%;padding-top:135px;padding-bottom:140px}.intro>.eyebrow{padding-top:10px}h2{font-size:clamp(32px,3.3vw,56px);font-weight:400;letter-spacing:-1.9px;line-height:1.16;margin:0}.intro h2{font-size:clamp(29px,3vw,48px)}.intro h2 span{color:#a1a791}.body-copy{font-size:16px;line-height:1.9;color:var(--muted);max-width:570px}.intro .body-copy{margin:36px 0 0;max-width:520px}.work{padding-top:30px}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;margin-bottom:55px}.section-heading .eyebrow{margin-bottom:20px}.caption{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 3px;max-width:310px}.project-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:65px 7%}.project{display:block;border:0;background:none;text-align:left;padding:0;min-width:0}.project-wide{grid-column:1/-1}.image-frame{position:relative;overflow:hidden;background:#242922;aspect-ratio:1.3}.project-wide .image-frame{aspect-ratio:1.95}.image-frame.portrait{aspect-ratio:.88}.image-frame img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.3,1)}.project:hover img{transform:scale(1.035)}.project-open{position:absolute;right:20px;bottom:20px;width:43px;height:43px;border:1px solid #fff8;border-radius:50%;display:grid;place-items:center;color:white;font-size:24px;transition:background .2s}.project:hover .project-open{background:#ffffff30}.image-tag{position:absolute;top:20px;left:20px;background:#181c18e6;padding:7px 10px;font-size:9px;letter-spacing:1px;text-transform:uppercase}.project-caption{display:flex;justify-content:space-between;align-items:baseline;margin-top:19px;gap:12px}.project-caption h3{font-size:17px;font-weight:450;letter-spacing:-.4px;margin:0}.project-caption>span{font-size:10px;color:var(--muted)}.project-offset{align-self:end;margin-bottom:60px}.detail-story{height:175vh;position:relative;margin-top:25px}.detail-sticky{position:sticky;top:0;height:100svh;min-height:550px;overflow:hidden;background:#464d3f;color:white}.detail-sticky>img{position:absolute;width:100%;height:100%;object-fit:cover;transform:scale(var(--detail-scale,1));will-change:transform}.detail-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#182016af,#18201620)}.detail-text{position:absolute;top:23%;left:8%}.detail-text h2{font-size:clamp(60px,7vw,110px);line-height:1.08;letter-spacing:-4px}.detail-text em{font-style:normal;color:#d8dabc}.detail-text>p:last-child{font-size:14px;line-height:1.8;margin-top:30px}.detail-footnote{position:absolute;bottom:35px;left:8%;font-size:9px;opacity:.6}.story-progress{height:3px;background:#d8dabc;position:absolute;bottom:0;left:0;width:var(--story-progress,0%)}.about{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:150px;padding-bottom:150px}.about h2{margin-bottom:36px}.signature{font-size:22px;letter-spacing:-1px}.location{font-size:11px;color:var(--muted);margin-top:9px}.about-right .body-copy{margin-top:40px}.practice-list{margin-top:35px}.practice-list p{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:16px 0;margin:0;font-size:13px}.practice-list p span:first-child{color:#909284;font-size:10px;padding-top:2px}.small-note{font-size:10px;line-height:1.7;color:var(--muted);margin-top:24px}.resources{background:#1c201b}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:60px}.resource-grid article{position:relative;padding:35px 30px 15px 0}.resource-grid article+article{border-left:1px solid var(--line);padding-left:35px}.resource-symbol{font-size:45px;display:block;height:100px;color:#bbc5a5;font-weight:400}.resource-grid h3{font-size:22px;font-weight:400;letter-spacing:-.6px;margin:14px 0}.resource-grid p{font-size:12px;line-height:1.8;color:var(--muted)}.status{font-size:8px;letter-spacing:1.2px;text-transform:uppercase;color:#afb99f}.contact{background:#292e26;color:#f4f2eb;padding-top:100px;padding-bottom:30px}.contact h2{font-size:clamp(43px,5.7vw,88px);letter-spacing:-3px;line-height:1.1}.contact-copy{font-size:14px;color:#c1c6b6;margin-top:30px}.contact-pending{font-size:11px;color:#919b87;margin-top:30px}.footer{margin-top:95px;padding-top:25px;border-top:1px solid #ffffff25;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#b3bcaa}.footer>a:first-child{color:#f4f2eb;font-size:13px}.reveal{opacity:1;transform:none}.motion-enabled .reveal{opacity:0;transform:translateY(24px);transition:opacity .85s,transform .85s}.motion-enabled .reveal.visible{opacity:1;transform:none}.project-dialog{padding:0;border:0;background:var(--paper);width:min(1000px,92vw);max-height:90svh;color:var(--ink)}.project-dialog::backdrop{background:#151b14c9;backdrop-filter:blur(8px)}.project-dialog>img{width:100%;height:48vh;object-fit:cover;display:block}.close-dialog{position:absolute;right:15px;top:15px;background:var(--paper);border:0;border-radius:50%;width:40px;height:40px;z-index:1}.dialog-content{padding:35px 40px}.dialog-content .eyebrow{margin-bottom:15px}.dialog-content h2{font-size:32px}.dialog-content>p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:680px;color:var(--muted)}.photo-credit{font-size:10px;color:var(--muted)}body:has(dialog[open]){overflow:hidden}
@media(min-width:1800px){.section-pad{padding-left:max(8%,calc((100vw - 1550px)/2));padding-right:max(8%,calc((100vw - 1550px)/2))}}
@media(max-width:800px){.header{padding:20px 5%}.wordmark{font-size:18px}.header nav{gap:18px;font-size:13px}.language{padding-left:5px}.hero{min-height:600px}.hero-content{left:7%;top:40%}.hero h1{font-size:65px;letter-spacing:-3px}.hero-image{object-position:60% center}.hero-note{display:none}.section-pad{padding:80px 7%}.intro{grid-template-columns:1fr;gap:5px}.intro h2{font-size:34px}.section-heading{display:block;margin-bottom:35px}.section-heading .caption{margin-top:20px}.project-grid{gap:45px 25px}.project-caption{display:block}.project-caption>span{display:block;margin-top:7px}.project-offset{margin-bottom:20px}.detail-text{left:7%;top:25%}.detail-text h2{font-size:70px;letter-spacing:-3px}.about{gap:7%}.about h2{font-size:36px}.about-right .body-copy{margin-top:0;font-size:14px}.resource-grid article+article{padding-left:20px}.resource-grid h3{font-size:18px}.resource-grid article{padding-right:15px}.footer{margin-top:65px}}
@media(max-width:540px){.wordmark{font-size:16px}.wordmark span{font-size:8px;letter-spacing:1.2px}.header nav{gap:15px}.language{font-size:10px}.hero h1{font-size:52px;letter-spacing:-2.6px}.hero .eyebrow{font-size:8px;letter-spacing:1.7px}.hero-description{font-size:13px}.hero-content{top:41%;max-width:90%}.hero-bottom{left:7%;right:7%;bottom:25px}.coordinates{font-size:8px}.intro h2{font-size:29px;letter-spacing:-1px}.body-copy{font-size:14px}.project-grid{grid-template-columns:1fr}.project-wide{grid-column:auto}.project-wide .image-frame{aspect-ratio:1.1}.image-frame.portrait{aspect-ratio:1.1}.project-offset{margin:0}.project-caption{display:flex}.project-caption h3{font-size:16px}.project-caption>span{font-size:9px;margin:0}.detail-story{height:140vh}.detail-text h2{font-size:59px;letter-spacing:-2.5px}.detail-text{top:27%}.about{grid-template-columns:1fr;gap:25px}.about h2{font-size:42px}.about-right .body-copy{margin-top:10px}.resource-grid{grid-template-columns:1fr;margin-top:30px}.resource-grid article{padding:25px 0 20px 65px;min-height:140px}.resource-grid article+article{border-left:0;border-top:1px solid var(--line);padding:25px 0 20px 65px}.resource-symbol{position:absolute;left:0;top:37px;font-size:30px;height:auto}.resource-grid h3{font-size:23px;margin:9px 0}.resource-grid p{margin:0}.contact h2{font-size:46px;letter-spacing:-2px}.footer{flex-wrap:wrap;row-gap:20px}.footer>span{order:3;flex-basis:100%;font-size:9px}.dialog-content{padding:25px}.project-dialog>img{height:35vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.hero-image,.detail-sticky>img{transform:none!important}.detail-story{height:100svh}.motion-enabled .reveal{opacity:1;transform:none}}

/* Shared page shell and dark surfaces. */
.inner-page .header{background:rgba(21,23,21,.96);color:var(--ink);border-bottom:1px solid var(--line)}
.inner-page main{min-height:calc(100svh - 130px)}
.page-intro{padding-top:190px;min-height:calc(100svh - 130px)}
.page-intro h1{font-size:clamp(44px,5.5vw,84px);line-height:1.08;font-weight:400;letter-spacing:-3px;margin:0;max-width:900px}
.resources.page-intro{background:var(--paper)}
.resources .section-heading{align-items:flex-start;gap:50px}
.resources .section-heading .caption{padding-top:40px;flex-shrink:0}
.resource-notice{max-width:650px;margin:60px 0 0;color:var(--muted);font-size:13px;line-height:1.9;border-top:1px solid var(--line);padding-top:25px}
.contact.page-intro{background:var(--paper)}
.contact-location{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:25px;margin-top:65px;color:var(--muted);font-size:12px}
.contact-pending{color:var(--muted)}
.site-footer{padding:30px 8%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:12px;color:var(--muted);background:var(--paper)}
.site-footer>a:first-child{color:var(--ink);font-size:15px}
@media(max-width:800px){.header{display:grid;grid-template-columns:1fr auto;gap:16px}.header nav{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:15px;font-size:13px}.language{grid-column:2;grid-row:1}.header.scrolled{padding-top:15px;padding-bottom:12px}html{scroll-padding-top:140px}.page-intro{padding-top:190px}.resources .section-heading .caption{padding-top:0}.resources .section-heading{display:block}}
@media(max-width:540px){.page-intro h1{font-size:43px;letter-spacing:-1.8px}.site-footer{flex-wrap:wrap;padding:25px 7%;gap:20px}.site-footer>span{order:3;flex-basis:100%;font-size:10px}.resource-notice{margin-top:35px}.hero-content{top:41%}}

/* Editorial project pages */
.project-heading{padding-top:175px;padding-bottom:55px}.article-back{display:inline-block;font-size:12px;color:var(--muted);margin-bottom:55px}.article-back:hover{color:var(--ink)}.project-heading .eyebrow{line-height:1.8;margin-bottom:24px}.project-heading h1{font-size:clamp(44px,6vw,96px);line-height:1.05;font-weight:400;letter-spacing:-3.5px;margin:0;max-width:1100px;text-wrap:balance}.article-lead{font-size:clamp(17px,1.65vw,23px);line-height:1.7;max-width:760px;color:var(--muted);margin:28px 0 0}.project-cover{margin:0 4.5%}.project-cover img{display:block;width:100%;max-height:78svh;min-height:300px;object-fit:cover}.project-cover figcaption{font-size:10px;color:var(--muted);margin-top:12px}.project-reading{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,2.5fr);gap:10%;align-items:start;padding-top:85px;padding-bottom:85px}.article-sidebar{position:sticky;top:120px}.article-sidebar .eyebrow{margin-bottom:20px}.article-sidebar nav{display:flex;flex-direction:column;gap:17px}.article-sidebar nav a{display:flex;gap:12px;font-size:12px;line-height:1.6;color:var(--muted)}.article-sidebar nav a:hover{color:var(--ink)}.toc-number{font-size:10px;color:var(--accent);padding-top:2px}.article-sidebar dl{border-top:1px solid var(--line);margin-top:35px;padding-top:25px}.article-sidebar dt{font-size:10px;text-transform:uppercase;letter-spacing:1.3px;color:var(--muted);margin-bottom:8px}.article-sidebar dd{margin:0 0 22px;font-size:12px;line-height:1.7}.article-body{max-width:70ch}.reference-notice{border:1px solid var(--line);border-left:2px solid var(--accent);padding:20px 24px;margin-bottom:55px;background:#1c201b}.reference-notice p{font-size:12px;line-height:1.9;color:var(--muted);margin:0}.article-body section{margin-bottom:55px;scroll-margin-top:115px}.article-body h2{font-size:clamp(26px,2.8vw,39px);letter-spacing:-1.1px;line-height:1.25;margin-bottom:24px;text-wrap:balance}.article-body section p{font-size:17px;line-height:1.95;color:#b8bdb1;margin:0}.article-end{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:25px;font-size:12px;color:var(--muted)}.next-project{display:grid;grid-template-columns:1fr 38%;gap:6%;align-items:center;background:#1c201b;border-top:1px solid var(--line);padding-top:65px;padding-bottom:65px}.next-project h2{font-size:clamp(29px,3.5vw,53px)}.next-project img{width:100%;aspect-ratio:1.8;object-fit:cover}.next-arrow{display:block;font-size:35px;margin-top:20px;color:var(--accent)}.next-project:hover h2{color:var(--accent)}
@media(max-width:800px){.project-heading{padding-top:185px}.project-heading h1{font-size:58px;letter-spacing:-2.5px}.project-reading{gap:6%;grid-template-columns:180px minmax(0,1fr);padding-top:55px}.article-sidebar{top:150px}.article-body section p{font-size:16px}.article-body section{scroll-margin-top:155px}.project-cover{margin:0 7%}.next-project{grid-template-columns:1fr 35%}}
@media(max-width:600px){.project-heading{padding-bottom:35px}.project-heading h1{font-size:43px;letter-spacing:-1.8px}.article-back{margin-bottom:35px}.article-lead{font-size:16px}.project-cover img{min-height:240px;max-height:60svh;aspect-ratio:1.1}.project-reading{display:block;padding-top:35px;padding-bottom:45px}.article-sidebar{position:static;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:35px}.article-sidebar dl{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin-top:25px;padding-top:20px}.article-sidebar dd{margin:0;grid-row:2}.article-sidebar nav{gap:12px}.reference-notice{padding:16px;margin-bottom:35px}.article-body section{margin-bottom:40px}.article-body h2{font-size:29px}.next-project{grid-template-columns:1fr;padding-top:40px;padding-bottom:40px;gap:25px}.next-project img{max-height:230px}.next-project .eyebrow{margin-bottom:20px}}

.article-body section p+p{margin-top:20px}.article-figure{margin:30px 0}.article-figure img{display:block;width:100%;height:auto}.article-figure figcaption{font-size:12px;line-height:1.8;color:var(--muted);margin-top:12px}
