:root{--ink:#43372f;--paper:#f3f0e7;--line:#d2c6bc;--green:#726168;--gold:#c6ac71}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button,a,input,textarea,summary{outline-offset:6px}::selection{background:#d7c592;color:#43372f}.skip{position:fixed;top:-100px;z-index:10;background:var(--paper);padding:15px}.skip:focus{top:0}header{padding:25px 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.logo{font:46px/.9 Georgia,serif;letter-spacing:-2px}.logo span{display:block;font:9px/1 Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;margin-top:12px}nav{display:flex;gap:34px;align-items:center;font-size:12px}nav a:hover{text-decoration:underline;text-underline-offset:7px}.nav-contact{border:1px solid var(--ink);padding:11px 17px}.nav-contact span{margin-left:28px}.menu{display:none}.hero{display:grid;grid-template-columns:1.08fr 1fr;min-height:680px}.hero-copy{padding:65px 8% 65px 10.2%}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:2px;font-weight:500;margin:0 0 30px}.dot{display:inline-block;width:6px;height:6px;background:#997775;border-radius:50%;margin-right:10px;vertical-align:middle}h1,h2,h3,p{margin-top:0}h1{font:clamp(60px,6.6vw,105px)/1.01 Georgia,serif;letter-spacing:-4px;margin-bottom:28px}em{font-weight:normal;color:#79696d}h1 em{color:#79696d}.intro{max-width:370px;font-size:16px;line-height:1.75;margin-bottom:36px}.text-link{font-size:12px;border-bottom:1px solid #a18783;padding-bottom:10px;display:inline-flex;gap:70px}.hero-art{position:relative;background:#46534d;overflow:hidden;margin:24px 24px 24px 0}.hero-art svg{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.art-caption{position:absolute;bottom:26px;left:30px;font:24px/1.3 Georgia,serif;color:#dddcd0}.art-index{position:absolute;right:28px;bottom:36px;color:#a4b2a5;font:10px Arial;letter-spacing:2px}.strap{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 5.5%;display:flex;gap:90px;text-transform:uppercase;font-size:10px;letter-spacing:2px}.strap span:before{content:'✳';margin-right:14px;color:#9c7678}.section{padding:100px 5.5%}.section-heading{display:grid;grid-template-columns:.7fr 1.3fr 1fr;gap:40px;align-items:start}h2{font:clamp(34px,3.6vw,56px)/1.15 Georgia,serif;letter-spacing:-1.5px}.section-heading>p:last-child{font-size:14px;max-width:330px;padding-top:4px}.services{margin:50px 0 0 25%}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;gap:28px;padding:27px 0;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.number{font-size:10px;color:#79696d}h3{font:26px/1.25 Georgia,serif;margin:0}.plus{margin-left:auto;font-size:24px;font-weight:300}details[open] .plus{transform:rotate(45deg)}.detail{padding:0 65px 28px 42px;max-width:700px;font-size:14px}.tags{color:#77666a;font-size:10px;margin-bottom:0}.approach{background:#e9e1d6}.approach-title{display:flex;justify-content:space-between;gap:40px}.approach-title>p{max-width:350px;font-size:15px;padding-top:10px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:50px}.steps article{border-top:1px solid #c6b8ac;padding-top:22px}.steps span{font-size:10px;letter-spacing:1px;text-transform:uppercase}.steps h3{margin:20px 0 15px}.steps p{font-size:14px;color:#6d5c53;max-width:310px}.regions{display:grid;grid-template-columns:1fr 1fr;margin:55px 0 0 25%;border-top:1px solid var(--line)}.region-buttons{display:flex;flex-direction:column}.region-buttons button{border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:23px 25px 23px 0;color:var(--ink);font:27px Georgia,serif}.region-buttons button span{float:right;font:20px Arial}.region-buttons button[aria-selected=true]{color:#726168}.region-panel{padding:30px 35px;background:#eee7de}.region-label{font-size:9px;text-transform:uppercase;letter-spacing:2px;color:#77666a}.region-panel h3{font-size:38px;margin:17px 0}.region-panel p{font-size:14px}.region-panel>div{border-top:1px solid #d2c6bc;padding-top:18px;font-size:10px;color:#77666a}.about{display:grid;grid-template-columns:1fr 3fr;border-top:1px solid var(--line)}.about>div{max-width:820px}.about h2{margin-bottom:40px}.about-lead{font:24px/1.5 Georgia,serif;max-width:730px}.about p:not(.eyebrow):not(.about-lead){font-size:14px;max-width:580px}.contact{background:var(--green);color:var(--paper)}.contact h2{font-size:clamp(50px,6vw,90px);margin-bottom:50px}.contact em{color:#dfd1d2}.contact-bottom{display:flex;justify-content:space-between;align-items:end}.contact-bottom p{font-size:13px;margin:0}.contact-bottom strong{font-weight:400;font-size:18px;display:inline-block;margin-top:10px}.contact-bottom p span{font-size:11px;color:#dfd1d2}.button{background:var(--paper);border:1px solid var(--paper);color:var(--ink);padding:16px 22px;font-size:12px;display:inline-flex;align-items:center;gap:45px}.button:hover{background:#e7dcd0;border-color:#e7dcd0}footer{display:flex;align-items:center;gap:35px;padding:35px 5.5%;font-size:10px}footer p{margin:0}footer p:nth-child(3){margin-left:auto}.footer-logo{font:30px Georgia,serif;letter-spacing:-1px}footer button{font-size:10px;background:none;border:0;color:var(--ink);padding:0}dialog{border:0;background:var(--paper);color:var(--ink);max-width:600px;width:calc(100% - 32px);max-height:90vh;padding:45px}dialog::backdrop{background:#30242bbb}dialog h2{font-size:36px}dialog>p:not(.eyebrow){font-size:13px}.close{position:absolute;top:12px;right:18px;font-size:28px;border:0;background:none;color:var(--ink)}form{display:grid;gap:15px}label{font-size:11px}input,textarea{display:block;width:100%;margin-top:5px;background:#faf8f2;border:1px solid var(--line);border-radius:0;padding:10px;color:var(--ink);font-size:14px}form .button{background:var(--green);color:var(--paper);justify-content:space-between}.form-status{font-size:12px;margin:0}
@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero{min-height:780px}}@media(max-width:950px){nav{gap:20px}.hero{min-height:580px}.hero-copy{padding-top:50px}h1{letter-spacing:-2.5px}.section{padding-top:70px;padding-bottom:70px}.section-heading{grid-template-columns:1fr 2fr}.section-heading>p:last-child{grid-column:2}.services,.regions{margin-left:33%}.steps{gap:30px}.strap{gap:35px}}@media(max-width:650px){header{padding:22px 6%;position:relative}.logo{font-size:38px}.menu{display:flex;gap:15px;border:0;background:none;color:var(--ink);font-size:12px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:25px 6%;z-index:5;border-bottom:1px solid var(--line);align-items:start}nav.open{display:flex;flex-direction:column}.hero{display:block}.hero-copy{padding:45px 6%;}h1{font-size:72px}.eyebrow{font-size:9px;letter-spacing:1.5px}.intro{max-width:340px}.hero-art{height:400px;margin:0 14px 18px}.hero-art svg{height:440px;top:-35px}.art-caption{font-size:22px}.strap{padding:20px 6%;gap:18px;justify-content:space-between;font-size:8px;letter-spacing:.5px}.strap span:before{display:none}.section{padding:65px 6%}.section-heading{display:block}.section-heading>p:last-child{max-width:100%}h2{font-size:39px}.services,.regions{margin:35px 0 0}.services h3{font-size:23px}summary{gap:15px}.detail{padding:0 20px 22px 28px}.approach-title{display:block}.steps{display:block;margin-top:30px}.steps article{margin-top:30px}.steps p{max-width:100%}.regions{grid-template-columns:1fr}.region-buttons{flex-direction:row}.region-buttons button{font-size:20px;padding:20px 12px 20px 0;flex:1}.region-buttons button span{display:none}.region-panel{padding:28px}.about{display:block}.about-lead{font-size:22px}.contact-bottom{display:block}.contact-bottom .button{margin-top:35px}footer{flex-wrap:wrap;gap:20px}footer p:nth-child(3){margin-left:0}footer p:nth-child(2){width:65%}dialog{padding:36px 25px}dialog h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Bespoke architectural wordmark */
.logo{display:block;line-height:1;letter-spacing:0}.wordmark{display:block;width:174px;height:35px}.logo span{margin-top:10px;font-size:8px;letter-spacing:2.45px}.footer-logo .wordmark{width:120px;height:24px}.strap span:before{content:'';display:inline-block;width:5px;height:5px;background:#9c7678;vertical-align:middle;margin-bottom:2px}.hero-art>svg{max-width:100%}@media(max-width:650px){.logo .wordmark{width:144px;height:29px}.logo span{font-size:7px;letter-spacing:1.9px}.strap span:before{display:none}}

.service-strip{display:grid;grid-template-columns:.55fr .85fr 1.25fr 1.4fr;gap:30px;align-items:center}.service-strip .strip-label{color:#79696d;font-size:9px;letter-spacing:1.8px}.service-strip a{font-size:10px;letter-spacing:1px;display:flex;justify-content:space-between;gap:15px;align-items:center}.service-strip a>span{font-size:16px;letter-spacing:0}.service-strip span:before{display:none}.service-strip a:hover{text-decoration:underline;text-underline-offset:5px}details[id]{scroll-margin-top:30px}@media(max-width:950px){.service-strip{gap:20px;grid-template-columns:.45fr .7fr 1.25fr 1.3fr}.service-strip a{font-size:9px;letter-spacing:.5px}}@media(max-width:650px){nav.service-strip{position:static;display:grid;padding:24px 6%;grid-template-columns:1fr;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-strip .strip-label{margin-bottom:12px}.service-strip a{padding:12px 0;font-size:10px;letter-spacing:1px;border-bottom:1px solid #d8cfc4}.service-strip a:last-child{border-bottom:0}.service-strip a>span{font-size:16px}}

/* Documentary photography */
.city-photo{margin:44px 5.5% 0}.city-photo img{display:block;width:100%;height:clamp(240px,28vw,430px);object-fit:cover;filter:saturate(.58) contrast(.94)}figure figcaption{display:flex;justify-content:space-between;gap:20px;padding-top:13px;color:#7b6a60;font-size:9px;line-height:1.7}figure figcaption>span:first-child{letter-spacing:1.1px;text-transform:uppercase}figure figcaption a{text-decoration:underline;text-underline-offset:3px}.approach-with-photo{display:grid;grid-template-columns:1.05fr 1fr;gap:65px;align-items:center}.approach-copy h2{font-size:clamp(34px,3.4vw,53px)}.approach-copy>p{font-size:15px;max-width:380px;margin-bottom:0}.research-photo{margin:0;min-width:0}.research-photo img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;filter:saturate(.5) contrast(.94)}.research-photo figcaption{display:block}.research-photo figcaption>span{display:block}.research-photo figcaption>span+span{margin-top:4px}@media(max-width:950px){.approach-with-photo{gap:30px}.approach-copy h2{font-size:36px}figure figcaption{display:block}figure figcaption>span{display:block}figure figcaption>span+span{margin-top:4px}}@media(max-width:650px){.city-photo{margin:30px 6% 0}.city-photo img{height:230px;object-position:65% center}.approach-with-photo{display:block}.research-photo{margin-top:32px}.research-photo img{aspect-ratio:1.4}.approach-copy h2{font-size:39px}figure figcaption{font-size:8px}}

/* Warm editorial palette; the globe retains its original green. */
.hero-art{background:#46534d}.contact{background:#726168}.city-photo img,.research-photo img{filter:saturate(.8) contrast(.96)}.contact .button:hover{background:#e7dcd0}::selection{background:#d8bebe;color:#43372f}

.research-photo img{aspect-ratio:1.55;object-position:50% 50%}.city-photo img{object-position:center}@media(max-width:650px){.city-photo img{object-position:40% center}.research-photo img{aspect-ratio:1.45}}

.city-photo img{height:clamp(280px,32vw,480px);object-position:center}.research-photo img{aspect-ratio:1.45;object-position:50% 62%}@media(max-width:650px){.city-photo img{height:270px;object-position:70% center}.research-photo img{aspect-ratio:1.3;object-position:50% 62%}}

/* Quiet palette and contemporary geometric typography. */
@font-face{font-family:"DM Sans";font-style:normal;font-weight:300;font-display:swap;src:url("assets/fonts/dm-sans-300.ttf") format("truetype")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/dm-sans-400.ttf") format("truetype")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/dm-sans-500.ttf") format("truetype")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/dm-sans-600.ttf") format("truetype")}
body{font-family:"DM Sans","Helvetica Neue",Helvetica,Arial,sans-serif}h1,h2,h3,.about-lead,.art-caption,.region-buttons button{font-family:"DM Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400}h1{font-size:clamp(58px,6.2vw,96px);line-height:1.06;letter-spacing:-4px;font-weight:300}h2{line-height:1.16;letter-spacing:-1.8px;font-weight:300}h3{letter-spacing:-.7px}em{font-style:normal;font-weight:inherit}h1 em{color:#79696d}.about-lead{font-size:23px;line-height:1.55;letter-spacing:-.35px}.art-caption{font-size:23px;font-weight:300;letter-spacing:-.4px}.hero-art svg text{font-family:"DM Sans",Helvetica,Arial,sans-serif}.art-index{font-family:"DM Sans",Arial,sans-serif;color:#c3ccc3}.region-buttons button[aria-selected=true]{color:#726168}.contact em{color:#dfd1d2}.city-photo img{object-position:50% 45%}.research-photo img{aspect-ratio:1.65;object-position:center}.logo span{font-family:"DM Sans",Arial,sans-serif}nav{font-weight:500}@media(max-width:950px){h1{letter-spacing:-2.5px}}@media(max-width:650px){h1{font-size:clamp(50px,13.2vw,70px);letter-spacing:-2.7px}h2{letter-spacing:-1.3px}.about-lead{font-size:21px}.city-photo img{object-position:55% center}.research-photo img{aspect-ratio:1.55}.art-caption{font-size:22px}}

/* Globe integrated into the page rather than a coloured panel. */
.hero-art{background:transparent}.art-caption{color:var(--ink)}.art-index{color:#7b7061}

.research-photo img{aspect-ratio:1.95;filter:saturate(.8) contrast(.96) brightness(1.09)}@media(max-width:650px){.research-photo img{aspect-ratio:1.7;object-position:48% center}}

/* Four clear service links, with room for longer descriptions. */
.service-strip{grid-template-columns:.52fr .7fr 1.2fr .7fr 1.25fr;gap:25px}.service-strip a{font-size:9px;letter-spacing:.7px}@media(max-width:1050px) and (min-width:651px){.service-strip{grid-template-columns:1fr 1fr;gap:18px 35px}.service-strip .strip-label{grid-column:1 / -1}}@media(max-width:650px){nav.service-strip{grid-template-columns:1fr;gap:0}.service-strip a{font-size:10px;letter-spacing:1px}}

/* Preserve the complete library photograph at every screen width. */
.research-photo img{height:auto;aspect-ratio:auto;object-fit:contain;filter:saturate(.72) contrast(.96)}

/* Landscape pause between geographic coverage and the founder section. */
.landscape-photo{margin:0 5.5% 80px}.landscape-photo img{display:block;width:100%;height:clamp(300px,39vw,560px);object-fit:cover;object-position:50% 64%;filter:saturate(.67) contrast(.97)}@media(max-width:650px){.landscape-photo{margin:0 6% 45px}.landscape-photo img{height:auto;object-fit:contain}}

/* Contemporary interior and a coastal landscape, shown in full. */
.research-photo{max-width:390px;justify-self:center}.research-photo img{height:auto;aspect-ratio:auto;object-fit:contain;filter:saturate(.84) contrast(.98)}.landscape-photo img{height:auto;aspect-ratio:auto;object-fit:contain;filter:saturate(.78) contrast(.97)}@media(max-width:650px){.research-photo{max-width:100%}.research-photo img{max-height:620px;width:100%;object-fit:contain}}

.city-photo img{height:auto;aspect-ratio:auto;object-fit:contain;filter:saturate(.46) contrast(.92);object-position:center}

/* Light-filled Barcelona architecture and warmer São Paulo city view. */
.city-photo img{filter:saturate(.72) contrast(.98)}
.research-photo{max-width:520px;width:100%}
.research-photo img{filter:saturate(.82) contrast(.98);height:auto;aspect-ratio:auto;object-fit:contain}

/* Softer stone paper, business-district city photography and sunlit surf. */
:root{--paper:#e7e3da;--line:#c8bfb3}
.city-photo img{filter:saturate(.62) contrast(.97)}
.landscape-photo{max-width:960px;margin:0 auto 80px;width:89%}
.landscape-photo img{filter:saturate(.66) contrast(.96) brightness(1.04)}
@media(max-width:650px){.landscape-photo{width:88%;margin:0 auto 45px}}

/* Cinematic city activity and an overhead coastal perspective. */
:root{--paper:#e1ded6;--line:#c5bfb4}
.city-photo img{filter:saturate(.82) contrast(1)}
.landscape-photo{max-width:1080px}
.landscape-photo img{filter:saturate(.82) contrast(.98)}

/* Clearer positioning and a direct route to the founder. */
h1{font-size:clamp(48px,5.1vw,80px);letter-spacing:-3px}.tags{font-size:12px;line-height:1.6;letter-spacing:0}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.contact-route{font-size:11px;color:#dfd1d2}.brief-secondary{padding:0;background:none;border:0;border-bottom:1px solid #b9a7af;color:var(--paper);font-size:11px;text-align:left}.brief-secondary span{margin-left:18px}@media(max-width:650px){h1{font-size:clamp(42px,11.5vw,64px);letter-spacing:-2px}.contact-actions{margin-top:35px}.contact-bottom .contact-actions .button{margin-top:0}}

@media(min-width:651px) and (max-width:950px){h1{font-size:clamp(40px,5.1vw,48px)}}

/* Compact evidence of experience and a lighter coastal pause. */
.work-example{border-left:1px solid var(--line);padding:4px 0 4px 18px;margin-top:20px}.work-example .example-label{font-size:9px;line-height:1.7;letter-spacing:1px;text-transform:uppercase;color:#77666a;margin-bottom:8px}.work-example p:last-child{font-size:13px;line-height:1.65;margin-bottom:0}.landscape-photo{max-width:840px;width:76%;margin-bottom:65px}.landscape-photo img{filter:saturate(.64) contrast(.97)}.contact-email{font-size:13px}.contact-secondary{font-size:11px;color:#dfd1d2;text-decoration:underline;text-underline-offset:4px}.contact-secondary span{margin-left:12px}@media(max-width:650px){.landscape-photo{width:82%;margin-bottom:40px}}

/* Stronger small-text contrast and shorter pauses around photographs. */
figure figcaption,.service-strip .strip-label,.number,.region-label,.region-panel>div,.work-example .example-label{color:#625448}.city-photo{margin-top:32px}.work{padding-top:76px}.coverage{padding-bottom:76px}.landscape-photo{margin-bottom:46px}.about{padding-top:76px}@media(max-width:950px){.work,.about{padding-top:64px}.coverage{padding-bottom:58px}}@media(max-width:650px){.city-photo{margin-top:24px}.work,.about{padding-top:54px}.coverage{padding-bottom:48px}.landscape-photo{margin-bottom:32px}}

/* Keep the direct contact heading comfortable on smaller screens. */
@media(max-width:650px){.contact h2{font-size:clamp(34px,9.8vw,56px);letter-spacing:-1.3px}}
