:root{--paper:#efeee9;--ink:#262922;--muted:#74766d;--line:#d0d1c7;--accent:#ddeb80}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}::selection{background:var(--accent);color:var(--ink)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button{border:0;background:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #6b791b;outline-offset:6px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h2{font-size:clamp(38px,4.5vw,70px);line-height:1.04;letter-spacing:-.055em}.wrap{max-width:1680px;margin:auto;padding-left:3.5vw;padding-right:3.5vw}.muted{color:var(--muted)}.mono,.eyebrow,.section-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:500}.dot{display:inline-block;width:7px;height:7px;background:var(--ink);border-radius:50%;margin-right:8px}.header{height:105px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font-size:30px;font-weight:800;letter-spacing:-1.8px;line-height:.8;display:inline-flex;flex-direction:column;flex-shrink:0}.brand span{font-size:8px;letter-spacing:1.25px;align-self:flex-end;margin-top:8px}.header nav{display:flex;gap:30px;font-size:13px}.header nav a:hover,.contact-links a:hover{opacity:.6}.header sup{font-size:9px;color:var(--muted)}.header-cta{font-size:13px;border-bottom:1px solid var(--ink);padding:10px 0}.header-cta span{margin-left:25px}.menu-toggle{display:none}.hero{padding-top:45px}.hero-copy{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin:30px 0 48px}h1{font-size:clamp(75px,9.55vw,156px);line-height:.89;letter-spacing:-.073em;max-width:1000px}.period{color:#8e9d42}.hero-aside{width:310px;padding:0 0 6px;flex-shrink:0;font-size:15px;line-height:1.55}.hero-aside>.muted{font-size:12px;line-height:1.55;margin-top:13px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;font-size:13px;padding:11px 0;border-bottom:1px solid currentColor}.hero-aside .text-link{margin-top:30px}.text-link span{font-size:23px;line-height:1}.hero-photo{display:block;position:relative;height:clamp(380px,41vw,640px);overflow:hidden;background:#b8b5a9}.hero-photo>img{height:100%;object-position:50% 56%;transition:transform .9s}.hero-photo:hover>img{transform:scale(1.025)}.photo-caption{position:absolute;inset:auto 0 0;padding:80px 30px 25px;display:flex;align-items:flex-end;justify-content:space-between;background:linear-gradient(transparent,rgba(0,0,0,.6));color:#fff;font-size:15px;letter-spacing:.01em}.photo-caption>span>span{display:block;font-size:11px;margin-top:7px;opacity:.8}.photo-arrow{font-size:45px;line-height:1}.hero-bottom{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#616459;border-bottom:1px solid var(--line);padding:20px 0}.intro{display:grid;grid-template-columns:1fr 2fr;gap:70px;padding-top:125px;padding-bottom:125px}.intro>.section-label{display:flex;justify-content:space-between;padding-top:7px}.little-cross{font-size:21px}.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:38px;line-height:1.65;font-size:14px;color:#595d52;margin-top:40px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:55px}.principles>div{border-top:1px solid var(--line);padding-top:18px}.principles .mono{color:var(--muted)}.principles h3{font-size:17px;letter-spacing:-.02em;margin:24px 0 12px}.principles p{font-size:12px;line-height:1.6;color:#6a6e61}.projects{padding-bottom:110px}.section-top{display:flex;justify-content:space-between;align-items:flex-end;border-top:1px solid var(--line);padding-top:25px;margin-bottom:45px}.section-top h2{margin-top:45px}.section-note{font-size:13px;line-height:1.65;margin:0 8% 5px 0;color:#616459}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px 26px}.project{padding:0;text-align:left;min-width:0}.project-image{height:clamp(330px,45vw,650px);position:relative;overflow:hidden;background:#d0d1cb}.project-image img{height:100%;transition:transform .65s cubic-bezier(.2,.7,.3,1)}.project:hover img{transform:scale(1.035)}.project-number{position:absolute;top:18px;left:18px;border:1px solid #ffffff70;padding:8px 11px;color:#fff;font-size:10px;letter-spacing:.06em;background:#0003;backdrop-filter:blur(5px)}.round-arrow{position:absolute;bottom:18px;right:18px;background:var(--paper);height:46px;width:46px;border-radius:50%;display:grid;place-items:center;font-size:25px;transition:background .2s,transform .3s}.project:hover .round-arrow{background:var(--accent);transform:rotate(45deg)}.project-heading{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:19px}.project h3{font-size:24px;letter-spacing:-.045em}.project-heading>span{font-size:11px;text-align:right;color:#565b4c}.project>p{font-size:11px;color:var(--muted);margin-top:8px}.landscape .project-image{height:clamp(260px,30vw,460px)}.project-foot{border-top:1px solid var(--line);margin-top:45px;padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:11px;color:var(--muted)}.project-foot .text-link{color:var(--ink);font-size:12px}.services{background:var(--ink);color:var(--paper);padding:100px 0}.services-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:9vw}.services-intro h2{margin-top:40px}.services-intro p{font-size:13px;line-height:1.6;margin:30px 0;color:#b7bbae}.services-intro .text-link{color:var(--accent)}details{border-top:1px solid #55594c}details:last-child{border-bottom:1px solid #55594c}summary{display:flex;align-items:center;gap:24px;list-style:none;cursor:pointer;padding:30px 0}summary::-webkit-details-marker{display:none}summary .mono{color:#a5ab98}summary h3{font-size:22px;letter-spacing:-.04em;flex:1}.plus{font-size:23px;font-weight:300;transition:transform .2s}details[open] .plus{transform:rotate(45deg)}.service-body{padding:0 38px 28px 40px;max-width:600px;font-size:14px;line-height:1.65;color:#c4c8ba}.service-body>span{display:block;margin-top:20px;color:#e1e6d5;font-size:12px}.about{display:grid;grid-template-columns:1fr 1.15fr;gap:12vw;padding-top:120px;padding-bottom:120px;align-items:center}.portrait{height:590px;position:relative;overflow:hidden;background:#999b93}.portrait img{height:115%;object-position:center top;filter:grayscale(1);object-fit:cover}.portrait>span{position:absolute;bottom:0;left:0;right:0;background:var(--paper);padding:16px 0 0;font-size:11px}.about-copy h2{margin:40px 0 30px}.about-copy>p{font-size:14px;line-height:1.7;color:#616459;margin-top:18px;max-width:490px}.about-copy .about-lead{font-size:19px;line-height:1.5;color:var(--ink)}.experience{border-top:1px solid var(--line);margin-top:35px;padding-top:20px}.experience>span{font-size:9px;color:#666b5c}.experience p{font-size:17px;line-height:1.8;margin-top:12px}.contact{background:var(--accent);padding:65px 0 55px}.contact-title{display:flex;align-items:center;justify-content:space-between;margin:42px 0 45px}.contact h2{font-size:clamp(65px,8.6vw,140px);line-height:.94;letter-spacing:-.065em}.contact-circle{width:145px;height:145px;border:1px solid #687336;border-radius:50%;display:grid;place-items:center;font-size:75px;font-weight:200;margin-right:5vw;transition:background .2s}.contact-circle:hover{background:var(--ink);color:var(--accent)}.contact-bottom{border-top:1px solid #b0bc6a;padding-top:25px;display:flex;justify-content:space-between;gap:40px}.contact-bottom>p{font-size:13px;line-height:1.7}.contact-links{display:flex;flex-direction:column;gap:10px;font-size:14px;min-width:280px}.contact-links>a:first-child{font-weight:bold;margin-bottom:10px}footer{display:flex;justify-content:space-between;align-items:center;min-height:145px;gap:25px;font-size:10px;color:#646a58}footer .brand{font-size:23px;color:var(--ink)}footer .brand span{font-size:6px}.skip{position:absolute;top:-100px;left:20px;z-index:99;background:var(--ink);color:#fff;padding:10px}.skip:focus{top:10px}dialog{width:min(1230px,94vw);max-height:92vh;border:0;padding:25px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#141810bd;backdrop-filter:blur(5px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;padding:0 0 22px}.close-dialog{font-size:13px;padding:9px;border:1px solid var(--line)}.dialog-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:45px}.gallery{min-width:0}.gallery>img{height:62vh;max-height:650px;object-fit:contain;background:#dfdfd6}.gallery-controls{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.gallery-controls button{font-size:24px;min-width:44px;min-height:44px}.gallery-controls button:disabled{opacity:.25;cursor:default}#photo-count{font-size:11px}.dialog-copy{padding:25px 20px 20px 0}.dialog-copy h2{font-size:43px;margin:25px 0}.dialog-copy>p{font-size:14px;line-height:1.7;color:#626655}.dialog-copy dl{margin:30px 0}.dialog-copy dl>div{display:grid;grid-template-columns:100px 1fr;gap:15px;font-size:12px;border-top:1px solid var(--line);padding:13px 0}.dialog-copy dt{color:#74796a}.dialog-copy dd{margin:0}.solid-link{display:block;background:var(--ink);color:var(--paper);padding:17px;font-size:12px;text-align:center}
@media(min-width:1700px){.wrap{padding-left:58px;padding-right:58px}}@media(max-width:1100px){.hero-aside{width:265px}.hero-copy{gap:20px}h1{font-size:10vw}.header nav{gap:18px}.intro{gap:35px;grid-template-columns:.65fr 2fr}.services-layout{gap:50px}.project-heading{display:block}.project-heading>span{display:block;text-align:left;margin-top:7px}.about{gap:8vw}.portrait{height:480px}.contact-links{min-width:240px}}@media(max-width:760px){.wrap{padding-left:22px;padding-right:22px}.header{height:84px;gap:10px}.brand{font-size:26px}.brand span{font-size:7px}.header-cta{margin-left:auto;margin-right:15px;font-size:11px}.header-cta span{margin-left:8px}.menu-toggle{display:block;font-size:12px;padding:10px 0}.menu-toggle span{font-size:17px}.header nav{display:none;position:absolute;left:0;right:0;top:84px;padding:25px 22px;background:var(--paper);z-index:10;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:18px;box-shadow:0 15px 20px #0001}.header nav.open{display:flex;flex-direction:column;gap:24px}.hero{padding-top:30px}.eyebrow{font-size:9px}.hero-copy{display:block;margin-top:26px;margin-bottom:28px}h1{font-size:clamp(59px,12.9vw,96px);line-height:.94;letter-spacing:-.07em}.hero-aside{width:auto;max-width:400px;font-size:14px;margin-top:30px}.hero-aside .muted{font-size:12px}.hero-aside .text-link{margin-top:12px}.hero-photo{height:400px}.hero-photo>img{object-position:40% center}.photo-caption{padding:65px 18px 20px;font-size:12px}.photo-caption>span>span{font-size:10px}.photo-arrow{font-size:35px}.hero-bottom{font-size:9px;display:flex;flex-wrap:wrap;gap:12px;padding:17px 0}.hero-bottom>span:last-child{display:none}.intro{display:block;padding-top:70px;padding-bottom:70px}.intro>.section-label{margin-bottom:30px}.intro h2{font-size:39px}.intro-columns{gap:20px;margin-top:28px;font-size:13px}.principles{gap:15px;margin-top:35px}.principles h3{font-size:15px;line-height:1.2;margin-top:18px;min-height:36px}.principles p{font-size:11px}.section-label{font-size:10px}.section-top{margin-bottom:28px}.section-top h2{font-size:46px;margin-top:30px}.section-note{margin-right:0;font-size:11px;max-width:145px}.project-grid{gap:35px 15px}.project-image{height:310px}.project-number{font-size:8px;top:10px;left:10px;padding:6px}.project-heading{margin-top:14px}.project h3{font-size:19px}.project-heading>span{font-size:10px}.project>p{font-size:10px;line-height:1.4}.round-arrow{width:35px;height:35px;bottom:10px;right:10px;font-size:21px}.landscape .project-image{height:235px}.projects{padding-bottom:65px}.project-foot{align-items:flex-start;flex-direction:column;gap:7px;margin-top:30px}.services{padding:60px 0}.services-layout{display:block}.services-intro h2{font-size:47px;margin-top:30px}.services-intro p{margin:25px 0 12px}.service-list{margin-top:45px}summary{gap:16px;padding:24px 0}summary h3{font-size:21px}.service-body{padding:0 10px 25px 31px;font-size:13px}.about{display:flex;flex-direction:column-reverse;padding-top:65px;padding-bottom:65px;gap:38px;align-items:stretch}.about-copy h2{font-size:47px;margin:30px 0 25px}.about-copy .about-lead{font-size:18px}.about-copy>p{max-width:100%;font-size:13px}.portrait{width:72%;height:400px}.portrait img{object-position:center 0}.contact{padding:45px 0}.contact-title{margin:35px 0}.contact h2{font-size:clamp(49px,10.8vw,78px)}.contact-circle{width:70px;height:70px;font-size:38px;margin-right:0;flex-shrink:0}.contact-bottom{display:block}.contact-bottom>p{font-size:12px}.contact-links{margin-top:28px;font-size:14px}footer{min-height:140px;flex-wrap:wrap;gap:20px;padding-top:30px;padding-bottom:30px}footer>span{order:3;width:100%;font-size:9px}.dialog-layout{display:block}.dialog-copy{padding:15px 0}.gallery>img{height:46vh}.dialog-copy h2{font-size:35px;margin:20px 0}.dialog-top{padding-bottom:16px}dialog{padding:18px}.desktop{display:none}}@media(max-width:460px){.project-grid{grid-template-columns:1fr;gap:34px}.project-image{height:430px}.landscape .project-image{height:280px}.project-heading{display:flex;gap:8px}.project h3{font-size:21px}.project-heading>span{font-size:9px;text-align:right}.intro-columns{grid-template-columns:1fr;gap:17px}.section-note{max-width:108px;font-size:10px}.portrait{width:85%;height:390px}.hero-photo{height:355px}.header-cta{margin-right:8px;font-size:10px}.header-cta span{display:none}.principles{gap:12px}.contact-title{gap:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* A single network programme, followed by supporting portfolio projects. */
.network-case{border-top:1px solid var(--line);padding-top:28px}.network-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px}.network-heading h3{font-size:clamp(34px,4.1vw,64px);letter-spacing:-.06em;margin-top:18px}.network-summary{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;margin:28px 0 35px;max-width:950px;font-size:14px;line-height:1.65}.network-summary p:last-child{color:var(--muted)}.network-photos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.location-photo{padding:0;text-align:left;min-width:0}.location-image{position:relative;overflow:hidden;height:clamp(220px,24vw,365px);background:#d0d1cb}.location-image>img{height:100%;transition:transform .5s}.location-photo:hover img{transform:scale(1.035)}.location-image .round-arrow{width:35px;height:35px;font-size:20px;right:12px;bottom:12px}.location-city{display:block;font-size:13px;letter-spacing:-.02em;margin-top:16px}.location-name{display:block;font-size:11px;color:var(--muted);margin-top:6px;line-height:1.4}.network-footer{display:flex;justify-content:space-between;gap:20px;margin-top:30px;border-top:1px solid var(--line);padding-top:18px;font-size:10px;line-height:1.5}.network-footer>span:last-child{color:var(--muted)}.other-projects-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin:85px 0 28px}.other-projects-heading h3{font-size:33px;letter-spacing:-.045em}.other-projects-heading p{font-size:12px;color:var(--muted);line-height:1.6}.other-projects-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:38px 24px}.supporting-project{grid-column:span 2}.supporting-project:nth-child(n+4){grid-column:span 3}.supporting-project .project-image{height:clamp(220px,23vw,345px)}.supporting-project:nth-child(n+4) .project-image{height:clamp(245px,28vw,420px)}.supporting-project .project-heading{display:block}.supporting-project h3{font-size:23px}.supporting-project .project-heading>span{text-align:left;display:block;margin-top:7px}.gallery-caption{font-size:12px;line-height:1.5;margin:14px 0 0;color:#626655}.gallery-controls{margin-top:2px}
@media(max-width:1000px) and (min-width:761px){.network-photos{gap:10px}.location-city{font-size:11px}.location-name{font-size:10px}.network-footer>span:last-child{max-width:300px;text-align:right}}
@media(max-width:760px){.network-heading{display:block}.network-heading h3{font-size:40px;margin-top:15px}.network-heading>.text-link{margin-top:13px;font-size:12px}.network-summary{grid-template-columns:1fr;gap:14px;margin:24px 0;font-size:13px}.network-photos{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 15px;gap:14px;scrollbar-width:thin;scrollbar-color:#a3a68b transparent}.location-photo{flex:0 0 58%;scroll-snap-align:start}.location-image{height:320px}.location-city{font-size:14px}.location-name{font-size:11px}.network-footer{flex-direction:column;gap:7px;margin-top:15px;font-size:10px}.other-projects-heading{display:block;margin-top:55px}.other-projects-heading h3{font-size:31px}.other-projects-heading p{margin-top:15px;font-size:11px}.other-projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}.supporting-project,.supporting-project:nth-child(n+4){grid-column:span 1}.supporting-project:last-child{grid-column:span 2}.supporting-project .project-image,.supporting-project:nth-child(n+4) .project-image{height:240px}.supporting-project:last-child .project-image{height:300px}.supporting-project h3{font-size:19px}.supporting-project .project-heading>span{font-size:10px}.supporting-project .project-heading{display:block}.projects .section-top h2{font-size:40px}.projects .section-note{max-width:115px;font-size:10px}}
@media(max-width:460px){.network-heading h3{font-size:35px}.location-photo{flex-basis:73%}.location-image{height:335px}.supporting-project .project-image,.supporting-project:nth-child(n+4) .project-image{height:200px}.supporting-project:last-child .project-image{height:255px}.supporting-project h3{font-size:18px}.projects .section-top{display:block}.projects .section-note{max-width:none;margin-top:20px}.projects .section-note br{display:none}.other-projects-grid{gap:28px 12px}}
/* Quiet, text-led controls. */
.network-photos{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.location-image{height:clamp(220px,22vw,335px)}.gallery-label{position:absolute;right:12px;bottom:12px;background:var(--paper);color:var(--ink);padding:9px 13px;font-size:10px;letter-spacing:.025em;border:1px solid #ffffff70}.photo-action{font-size:11px;border-bottom:1px solid #ffffffa0;padding-bottom:5px}.text-link{gap:0;transition:opacity .2s}.text-link:hover{opacity:.65}.contact-button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:20px 30px;border:1px solid var(--ink);font-size:14px;line-height:1.3;margin-right:5vw;transition:background .2s,color .2s}.contact-button:hover{background:var(--ink);color:var(--accent)}.gallery-controls button{font-size:12px;min-width:58px;padding:10px 0}.network-heading h3{letter-spacing:-.045em}
@media(min-width:761px) and (max-width:1100px){.network-photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 16px}.location-image{height:320px}}
@media(max-width:760px){.network-photos{gap:14px}.location-image{height:320px}.contact-title{flex-wrap:wrap;align-items:flex-end;gap:26px}.contact-button{margin-right:0;padding:15px 20px;min-height:48px;font-size:12px}.network-heading h3{font-size:39px}.experience p{font-size:15px}.gallery-label{font-size:10px;padding:8px 11px}}
@media(max-width:460px){.location-image{height:335px}.network-heading h3{font-size:34px}.contact-title{display:block}.contact-button{margin-top:28px}.supporting-project[data-project="cos"] .project-image img{object-position:50% 42%}}
