@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400;1,500&family=Poppins:wght@400;500;600&display=swap');
:root{--ink:#40363e;--muted:#817b80;--line:#e0dde0;--fog:#f2f2f4;--paper:#fff;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Poppins',Arial,sans-serif;--edge:5.2vw}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);font-size:13px;-webkit-font-smoothing:antialiased}img{display:block;width:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}figure,h1,h2,h3,p,blockquote{margin:0}button{border:0;background:none}h1,h2,h3{font-weight:400}.serif{font-family:var(--serif);letter-spacing:-.05em}.eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:500}.micro{font-size:10px;line-height:1.8;letter-spacing:.045em}.muted{color:var(--muted)}.borderline{border-top:1px solid var(--line)}.button-outline{border:1px solid var(--ink);padding:16px 20px;font-size:11px;font-weight:500;display:inline-block;transition:background .2s,color .2s}.button-outline:hover{background:var(--ink);color:white}.quiet-link{display:inline-flex;align-items:center;gap:20px;font-size:11px;letter-spacing:.025em;line-height:1.2;border-bottom:1px solid var(--ink);padding:0 0 8px;white-space:nowrap}.quiet-link:hover{opacity:.62}.icon-arrow{font-size:21px;font-family:Arial;line-height:.75;font-weight:300}.page-pad{padding-left:var(--edge);padding-right:var(--edge)}.shell{max-width:1680px;margin:auto}.skip{position:absolute;left:-999px;top:5px;background:white;color:var(--ink);padding:12px;z-index:100}.skip:focus{left:10px}
/* navigation */
.nav{display:flex;justify-content:space-between;align-items:center;height:90px;padding:0 var(--edge);background:white;border-bottom:1px solid #f0eef0;z-index:30;position:relative}.logo{width:112px;display:block}.logo img{height:auto;object-fit:contain}.nav-links{display:flex;align-items:center;gap:42px;font-size:11px;font-weight:500}.nav-links>a:not(.button-outline){padding:11px 0;border-bottom:1px solid transparent}.nav-links>a.active,.nav-links>a:not(.button-outline):hover{border-color:var(--ink)}.nav-links .button-outline{margin-left:6px}.menu-btn{display:none;font-size:28px;padding:7px}
/* portfolio opener */
.portfolio-intro{padding-top:72px;padding-bottom:40px;display:grid;grid-template-columns:60% 40%;align-items:end}.portfolio-intro .eyebrow{grid-column:1/-1;margin-bottom:28px}.portfolio-intro h1{font-size:clamp(108px,12.5vw,225px);line-height:.65;letter-spacing:-.09em}.portfolio-intro p{font-size:13px;line-height:1.8;max-width:290px;margin-left:auto;margin-right:15%;padding-bottom:8px}
.feature{padding-top:12px;padding-bottom:77px;display:grid;grid-template-columns:minmax(225px,28%) 1fr;column-gap:4.4%}.feature-copy{padding-top:26px;display:flex;flex-direction:column;justify-content:space-between;min-height:570px}.feature-title{padding-top:55px}.feature-title h2{font-size:clamp(46px,4.65vw,73px);line-height:.88}.feature-title p{margin:18px 0 22px;font-family:var(--serif);font-size:clamp(22px,2.1vw,30px);line-height:1.08;letter-spacing:-.03em}.feature-image-link{display:block;overflow:hidden;height:570px;background:var(--fog)}.feature-image-link img{height:100%;object-position:center 52%;transition:transform .7s cubic-bezier(.2,.75,.3,1)}.feature-image-link:hover img{transform:scale(1.027)}.feature-caption{margin-top:17px;display:flex;align-items:center;justify-content:space-between}
/* more projects horizontal editorial rail */
.collection{padding-top:55px;padding-bottom:103px;border-top:1px solid var(--line)}.collection-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:32px}.collection-heading h2{font-size:clamp(57px,6vw,87px);line-height:.82}.collection-heading .rail-controls{display:flex;gap:17px}.rail-button{width:43px;height:43px;border:1px solid #b8b2b8;border-radius:100%;display:grid;place-items:center;font-size:18px;transition:background .25s}.rail-button:hover{background:var(--fog)}.gallery-rail{display:flex;gap:25px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:12px;touch-action:pan-x}.gallery-rail::-webkit-scrollbar{display:none}.rail-card{flex:0 0 min(40vw,535px);scroll-snap-align:start}.rail-card:nth-child(2){flex-basis:min(32vw,425px)}.rail-card:nth-child(3){flex-basis:min(37vw,490px)}.rail-photo{height:355px;display:block;overflow:hidden;background:var(--fog)}.rail-card:nth-child(2) .rail-photo{height:425px}.rail-photo img{height:100%;transition:transform .65s}.rail-photo:hover img{transform:scale(1.035)}.rail-info{padding-top:15px;display:flex;justify-content:space-between;align-items:start;gap:9px}.rail-info h3{font-size:clamp(27px,2.8vw,41px);line-height:1;letter-spacing:-.048em}.rail-info p{margin-top:6px}.rail-info .icon-arrow{font-size:21px;padding:6px}
/* final CTA */
.cta{border-top:1px solid var(--line);padding-top:75px;padding-bottom:75px;display:flex;justify-content:space-between;align-items:flex-end;gap:26px}.cta h2{font-size:clamp(48px,6.5vw,92px);line-height:.91;letter-spacing:-.063em;max-width:750px}.cta .cta-side{display:flex;flex-direction:column;gap:24px;align-items:start;padding-bottom:8px}.cta .cta-side p{max-width:280px;line-height:1.75;font-size:12px}
/* project detail */
.breadcrumb{padding-top:31px;font-size:10px;letter-spacing:.09em;text-transform:uppercase;display:flex;gap:14px;align-items:center}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.case-top{display:grid;grid-template-columns:65% 35%;align-items:end;padding-top:55px;padding-bottom:44px}.case-top h1{font-size:clamp(76px,10.1vw,148px);line-height:.73;letter-spacing:-.073em}.case-top .intro-note{max-width:248px;justify-self:end;margin-right:14%;font-family:var(--serif);font-size:clamp(25px,2.7vw,39px);letter-spacing:-.028em;line-height:.99}.case-hero{height:min(650px,60vw);min-height:380px;overflow:hidden;background:var(--fog)}.case-hero img{height:100%;object-position:center 47%}.photo-credit{display:flex;justify-content:space-between;margin-top:13px;color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase;gap:20px}
.metadata{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;margin-top:39px;padding-top:23px;border-top:1px solid var(--line);padding-bottom:90px}.meta-label{color:var(--muted);font-size:9px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:11px}.meta-val{font-family:var(--serif);font-size:clamp(20px,2.3vw,30px);line-height:1}
.story{border-top:1px solid var(--line);padding-top:79px;padding-bottom:93px;display:grid;grid-template-columns:54% 46%;gap:0}.story h2{font-size:clamp(53px,5.7vw,90px);line-height:.91;max-width:660px;letter-spacing:-.055em}.story h2 em{font-weight:400}.story-text{padding:9px 4% 0 18%;display:flex;flex-direction:column;gap:25px}.story-text p{font-size:12px;line-height:2.06;max-width:415px}.story-text .eyebrow{padding-bottom:5px}.photo-pair{display:grid;grid-template-columns:1.07fr .93fr;gap:25px;padding-bottom:95px}.photo-pair figure:first-child img{height:590px}.photo-pair figure:nth-child(2){margin-top:94px}.photo-pair figure:nth-child(2) img{height:496px}.photo-caption{padding-top:13px;display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted);letter-spacing:.03em}.gallery-button{display:block;overflow:hidden;width:100%;padding:0;position:relative}.gallery-button img{transition:transform .65s ease}.gallery-button:hover img{transform:scale(1.025)}.full-image{padding-bottom:108px}.full-image .gallery-button img{height:620px}.outcome{padding-top:75px;padding-bottom:78px;border-top:1px solid var(--line);display:grid;grid-template-columns:46% 54%;gap:15px}.outcome h2{font-size:clamp(51px,5.3vw,82px);line-height:.91}.outcome p{font-size:13px;line-height:2.03;max-width:450px;margin-top:10px;margin-left:12%}.gallery-footer{border-top:1px solid var(--line);padding-top:32px;padding-bottom:80px;display:flex;align-items:center;justify-content:space-between;gap:20px}.gallery-footer h3{font-size:30px}
/* small case study pages */
.mini-intro{padding-top:66px;padding-bottom:47px;display:grid;grid-template-columns:63% 37%;align-items:end}.mini-intro h1{font-size:clamp(64px,9vw,142px);line-height:.78;letter-spacing:-.06em}.mini-intro .mini-meta{font-size:11px;letter-spacing:.12em;line-height:1.9;padding-left:40px}.mini-gallery{display:grid;grid-template-columns:2fr 1fr;gap:24px;padding-bottom:65px}.mini-gallery img{height:500px}.mini-gallery img:nth-child(2){height:435px;margin-top:65px}.mini-next{padding-top:60px;padding-bottom:90px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.mini-next h2{font-size:clamp(40px,5vw,62px)}
/* footer */
.site-footer{border-top:1px solid var(--line);padding:28px var(--edge) 25px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:22px}.footer-logo{width:94px}.footer-links{display:flex;gap:32px;align-items:center;font-size:10px}.footer-end{border-top:1px solid var(--line);margin-top:30px;padding-top:19px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:9px;gap:20px}
/* photo lightbox */
.lightbox{border:none;padding:0;max-width:min(92vw,1450px);max-height:92vh;background:transparent;color:#fff;overflow:visible}.lightbox::backdrop{background:rgba(16,14,17,.95)}.lightbox img{max-width:100%;max-height:80vh;object-fit:contain;background:transparent}.lightbox .lb-cap{margin-top:14px;color:#fff;font-size:11px;letter-spacing:.06em}.lb-close{position:absolute;top:-42px;right:0;font-size:26px;color:#fff}.lb-controls{position:absolute;right:0;bottom:-40px;display:flex;gap:20px}.lb-controls button{color:white;font-size:22px}
@media(max-width:950px){:root{--edge:5vw}.feature{grid-template-columns:30% 1fr}.feature-image-link{height:495px}.feature-copy{min-height:495px}.nav-links{gap:24px}.story-text{padding-left:11%}.story h2{font-size:clamp(52px,7vw,73px)}.photo-pair figure:first-child img{height:490px}.photo-pair figure:nth-child(2) img{height:425px}}
@media(max-width:700px){:root{--edge:21px}.nav{height:74px}.logo{width:89px}.menu-btn{display:block}.nav-links{display:none;position:absolute;top:74px;left:0;right:0;background:white;padding:28px var(--edge) 34px;flex-direction:column;align-items:stretch;gap:14px;border-bottom:1px solid var(--line);box-shadow:0 15px 25px rgba(0,0,0,.045)}.nav-links.open{display:flex}.nav-links>a{width:100%;font-size:13px}.nav-links .button-outline{margin:12px 0 0;text-align:center}.portfolio-intro{padding-top:50px;padding-bottom:25px;grid-template-columns:1fr}.portfolio-intro .eyebrow{margin-bottom:28px}.portfolio-intro h1{font-size:clamp(98px,20vw,155px);line-height:.73}.portfolio-intro p{margin:24px 0 0;font-size:11px;max-width:270px}.feature{display:flex;flex-direction:column;padding-bottom:55px}.feature-copy{min-height:0;padding-top:0;display:flex;gap:0}.feature-copy .feature-title{padding-top:25px;padding-bottom:25px}.feature-title h2{font-size:57px}.feature-title p{margin:10px 0 18px;font-size:25px}.feature-copy .quiet-link{align-self:start}.feature-copy .micro{margin-bottom:4px}.feature-image-link{height:435px}.feature-image-link img{object-position:center}.feature-caption{margin-top:12px}.collection{padding-top:50px;padding-bottom:70px}.collection-heading{align-items:center}.collection-heading h2{font-size:59px}.rail-button{width:37px;height:37px}.gallery-rail{gap:15px;margin-right:calc(-1*var(--edge));padding-right:var(--edge)}.rail-card,.rail-card:nth-child(2),.rail-card:nth-child(3){flex-basis:83vw}.rail-photo,.rail-card:nth-child(2) .rail-photo{height:370px}.rail-info h3{font-size:33px}.cta{padding-top:60px;padding-bottom:65px;display:block}.cta h2{font-size:68px}.cta .cta-side{margin-top:30px}.breadcrumb{padding-top:25px}.case-top{grid-template-columns:1fr;padding-top:54px;padding-bottom:28px;gap:30px}.case-top h1{font-size:clamp(75px,14vw,110px)}.case-top .intro-note{margin:0;justify-self:start;font-size:30px;max-width:290px}.case-hero{min-height:0;height:400px}.metadata{grid-template-columns:1fr 1fr;row-gap:30px;margin-top:26px;padding-bottom:55px}.meta-val{font-size:23px}.story{padding-top:55px;padding-bottom:63px;grid-template-columns:1fr;gap:32px}.story h2{font-size:65px}.story-text{padding:0;gap:20px}.story-text p{font-size:12px}.photo-pair{grid-template-columns:1fr 1fr;gap:11px;padding-bottom:60px}.photo-pair figure:first-child img{height:355px}.photo-pair figure:nth-child(2){margin-top:57px}.photo-pair figure:nth-child(2) img{height:300px}.photo-caption{font-size:9px;line-height:1.5}.full-image{padding-bottom:65px}.full-image .gallery-button img{height:350px}.outcome{padding-top:55px;padding-bottom:62px;display:block}.outcome h2{font-size:65px}.outcome p{margin:20px 0 0}.gallery-footer{padding-top:25px;padding-bottom:65px}.gallery-footer h3{font-size:27px}.mini-intro{padding-top:50px;display:block}.mini-intro h1{font-size:75px}.mini-intro .mini-meta{padding:27px 0 0}.mini-gallery{display:block}.mini-gallery img,.mini-gallery img:nth-child(2){height:380px;margin:0 0 14px}.mini-next{padding-top:45px;padding-bottom:50px}.footer-main{align-items:start}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:14px}.footer-end{flex-direction:column;align-items:start;gap:7px}.site-footer{padding-bottom:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

@media(max-width:700px){.photo-pair{display:grid;grid-template-columns:1fr;gap:34px}.photo-pair figure:first-child img,.photo-pair figure:nth-child(2) img{height:430px}.photo-pair figure:nth-child(2){margin-top:0}.photo-pair{padding-bottom:64px}}

/* Clapham Studio case study additions */
.clapham-hero img{object-position:center 55%}
.clapham-case .case-top h1{font-size:clamp(78px,10.1vw,158px)}
.clapham-case .case-top .intro-note{max-width:310px}
.clapham-case .story-text{gap:19px}
.clapham-case .story-text p+.eyebrow{margin-top:8px}
.chapter{padding-top:94px;padding-bottom:82px;border-top:1px solid var(--line);display:grid;grid-template-columns:57% 43%;align-items:start}
.chapter h2{font-size:clamp(55px,6.6vw,108px);line-height:.83;letter-spacing:-.055em}
.chapter-copy{padding-left:18%;padding-top:10px;max-width:560px}
.chapter-copy p{margin-top:27px;font-size:13px;line-height:2.02;max-width:420px}
.clapham-case .full-image .gallery-button img{height:590px}
.clapham-case .outcome h2{letter-spacing:-.05em}
.clapham-case .chapter-photo-pair figure:nth-child(2){margin-top:115px}
.clapham-case .chapter-photo-pair figure:first-child img{object-position:center 45%}
.clapham-case .close-shot{padding-bottom:107px}
.clapham-case .close-shot .gallery-button img{height:560px;object-position:center 51%}
.clapham-case .space-note{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--line);padding-top:15px;margin-top:25px}
@media(max-width:700px){.clapham-case .case-top h1{font-size:clamp(72px,15.3vw,105px)}.clapham-case .case-top .intro-note{font-size:32px}.chapter{display:block;padding-top:62px;padding-bottom:53px}.chapter h2{font-size:66px}.chapter-copy{padding:28px 0 0}.chapter-copy p{margin-top:15px}.clapham-case .full-image .gallery-button img{height:375px}.clapham-case .chapter-photo-pair figure:nth-child(2){margin-top:0}.clapham-case .close-shot{padding-bottom:67px}.clapham-case .close-shot .gallery-button img{height:360px}.clapham-case .outcome h2{font-size:62px}}

/* The Verdean 1-Bed case study */
.ver1-case .case-top{grid-template-columns:68% 32%;padding-bottom:51px}
.ver1-case .case-top h1{font-size:clamp(76px,10.3vw,156px);letter-spacing:-.07em}
.ver1-case .case-top .intro-note{max-width:270px;margin-right:10%}
.ver1-hero img{object-position:center 52%}
.ver1-case .story-text{gap:18px}
.ver1-case .story-text p+.eyebrow{margin-top:8px}
.ver1-case .ver1-first-pair figure:first-child img{object-position:center 45%}
.ver1-case .ver1-first-pair figure:nth-child(2) img{object-position:center 45%}
.ver1-chapter h2{font-size:clamp(55px,6.4vw,105px)}
.ver1-chapter .chapter-copy{padding-left:12%}
.ver1-case .space-note{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--line);padding-top:15px;margin-top:25px}
.ver1-case .ver1-wide .gallery-button img{height:635px;object-position:center 53%}
.ver1-case .ver1-bedroom-pair{grid-template-columns:1fr .82fr}
.ver1-case .ver1-bedroom-pair figure:first-child img{height:575px;object-position:center 52%}
.ver1-case .ver1-bedroom-pair figure:nth-child(2){margin-top:112px}
.ver1-case .ver1-bedroom-pair figure:nth-child(2) img{height:410px;object-position:center 50%}
.ver1-outcome h2{font-size:clamp(51px,5.55vw,86px)}
.ver1-final-photo .gallery-button img{height:560px;object-position:center 55%}
@media(max-width:700px){
 .ver1-case .case-top{grid-template-columns:1fr;gap:31px;padding-bottom:28px}
 .ver1-case .case-top h1{font-size:clamp(69px,13.9vw,105px);line-height:.77}
 .ver1-case .case-top .intro-note{margin:0;max-width:300px;font-size:31px}
 .ver1-chapter .chapter-copy{padding:28px 0 0}
 .ver1-chapter h2{font-size:clamp(60px,14.3vw,73px)}
 .ver1-case .ver1-wide .gallery-button img{height:370px}
 .ver1-case .ver1-bedroom-pair{grid-template-columns:1fr;gap:34px}
 .ver1-case .ver1-bedroom-pair figure:first-child img{height:390px}
 .ver1-case .ver1-bedroom-pair figure:nth-child(2){margin-top:0}
 .ver1-case .ver1-bedroom-pair figure:nth-child(2) img{height:340px}
 .ver1-outcome h2{font-size:clamp(54px,12.4vw,69px)}
 .ver1-final-photo .gallery-button img{height:370px}
}

@media(max-width:700px){.ver1-case .gallery-footer{flex-direction:column;align-items:flex-start;gap:24px}.ver1-case .gallery-footer .quiet-link{max-width:100%;white-space:normal}}

/* Hawksbury Rentals rental furnishing project */
.hawks-case .hawks-top {grid-template-columns:70% 30%;padding-bottom:54px;}
.hawks-case .hawks-top h1 {font-size:clamp(82px,10.7vw,158px);letter-spacing:-.074em;line-height:.77;}
.hawks-case .hawks-title-second{display:inline-block;padding-top:8px;}
.hawks-case .hawke-dot {font-style:italic;}
.hawks-case .hawks-top .intro-note {max-width:235px;margin-right:5%;font-size:clamp(27px,2.8vw,43px);}
.hawks-case .hawks-hero img {object-position:center 52%;}
.hawks-case .hawks-metadata {grid-template-columns:repeat(4,minmax(0,1fr));}
.hawks-case .hawks-story .story-text{gap:18px;}
.hawks-case .hawks-story .story-text p+.eyebrow{margin-top:10px;}
.hawks-case .hawks-first-pair figure:first-child img{object-position:center 55%;}
.hawks-case .hawks-first-pair figure:nth-child(2) img{object-position:center 48%;}
.hawks-case .hawks-chapter h2 {font-size:clamp(54px,6.7vw,102px);}
.hawks-case .hawks-chapter .chapter-copy {padding-left:14%;}
.hawks-case .space-note{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--line);padding-top:15px;margin-top:25px;}
.hawks-case .hawks-wide .gallery-button img {height:620px;object-position:center 50%;}
.hawks-case .hawks-bedrooms{grid-template-columns:1fr .86fr;}
.hawks-case .hawks-bedrooms figure:first-child img{height:600px;object-position:center 47%;}
.hawks-case .hawks-bedrooms figure:nth-child(2){margin-top:108px;}
.hawks-case .hawks-bedrooms figure:nth-child(2) img{height:480px;object-position:center 51%;}
.hawks-case .hawks-outcome h2{font-size:clamp(52px,5.6vw,89px);}
.hawks-case .hawks-final-image .gallery-button img{height:580px;object-position:center 53%;}
@media(max-width:700px){
 .hawks-case .hawks-top{grid-template-columns:1fr;gap:28px;padding-bottom:30px;}
 .hawks-case .hawks-top h1{font-size:clamp(70px,14.3vw,107px);}
 .hawks-case .hawks-top .intro-note{margin:0;max-width:290px;font-size:34px;}
 .hawks-case .hawks-metadata{grid-template-columns:1fr 1fr;}

 .hawks-case .hawks-chapter h2{font-size:clamp(61px,13.7vw,77px);}
 .hawks-case .hawks-chapter .chapter-copy{padding:25px 0 0;}
 .hawks-case .hawks-wide .gallery-button img{height:400px;}
 .hawks-case .hawks-bedrooms{grid-template-columns:1fr;gap:33px;}
 .hawks-case .hawks-bedrooms figure:first-child img{height:400px;}
 .hawks-case .hawks-bedrooms figure:nth-child(2){margin-top:0;}
 .hawks-case .hawks-bedrooms figure:nth-child(2) img{height:370px;}
 .hawks-case .hawks-outcome h2{font-size:clamp(53px,12.3vw,72px);}
 .hawks-case .hawks-final-image .gallery-button img{height:390px;}
 .hawks-case .gallery-footer{flex-direction:column;align-items:flex-start;gap:24px;}
 .hawks-case .gallery-footer .quiet-link{max-width:100%;white-space:normal;}
}

@media (min-width:701px) and (max-width:1040px){.hawks-case .hawks-top h1{font-size:clamp(78px,9.4vw,110px)}.hawks-case .hawks-top .intro-note{font-size:29px}}
