:root{--chocolate:#2b1b14;--cocoa:#4a3024;--ivory:#f5efe6;--parchment:#e3d5c3;--brass:#b99663;--charcoal:#2a211c;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--charcoal);font:16px/1.65 var(--sans);overflow-x:hidden}body.viewer-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit}.skip{position:fixed;z-index:20;top:8px;left:8px;padding:.7rem 1rem;background:#fff;transform:translateY(-150%)}.skip:focus{transform:none}.site-header{min-height:112px;padding:12px clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--parchment)}.brand{display:block;width:158px;padding:4px 0}.brand img{width:100%;margin:0;mix-blend-mode:darken}.site-header nav,.site-header+nav,footer nav{display:flex;gap:clamp(20px,4vw,48px)}.site-header nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;padding:12px 0;border-bottom:1px solid transparent}.site-header nav a[aria-current]{border-color:var(--cocoa)}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:-.035em}.eyebrow,small{text-transform:uppercase;letter-spacing:.17em;font-size:.68rem;font-weight:bold;color:#765c4c}.hero{min-height:min(760px,calc(100vh - 112px));display:grid;grid-template-columns:minmax(460px,.9fr) 1.1fr;align-items:center;gap:clamp(40px,6vw,100px);padding:clamp(40px,6vw,82px) clamp(20px,5vw,72px)}.hero-copy{max-width:690px}.hero h1{font-size:clamp(3.5rem,5.6vw,6.2rem);margin:.18em 0}.hero-copy>p:not(.eyebrow){max-width:540px;font-size:1.08rem}.button{display:inline-flex;align-items:center;gap:35px;margin-top:20px;padding:14px 20px;background:var(--chocolate);color:var(--ivory);text-decoration:none;min-height:50px}.hero-image{margin:0;align-self:stretch;max-height:700px}.hero-image img{width:100%;height:100%;object-fit:contain;background:#e9dfd1}.selected{padding:clamp(70px,9vw,140px) clamp(20px,5vw,72px);background:var(--chocolate);color:var(--ivory)}.section-heading{max-width:850px;margin-bottom:65px}.section-heading .eyebrow{color:var(--brass)}.section-heading h2{font-size:clamp(2.5rem,5vw,4.8rem);margin:.25em 0}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,6vw,90px);align-items:stretch}.work a{display:grid;grid-template-rows:auto 1fr;height:100%;text-decoration:none}.work img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#21150f}.work span{display:block;padding-top:16px}.work small{display:block;color:var(--brass)}.work strong{font:400 clamp(1.45rem,2.7vw,2.3rem) var(--serif)}.centred{text-align:center;margin:70px 0 0}.text-link{text-underline-offset:6px}.around{padding:clamp(80px,12vw,170px) max(20px,calc((100vw - 930px)/2));text-align:center}.around h2{font-size:clamp(2.5rem,5vw,4.6rem);margin:.3em 0}.around>p:not(.eyebrow){max-width:720px;margin:25px auto;font-size:1.08rem}.page-intro{padding:clamp(65px,9vw,130px) clamp(20px,8vw,130px);background:var(--chocolate);color:var(--ivory)}.page-intro .eyebrow{color:var(--brass)}.page-intro h1{font-size:clamp(3.3rem,7vw,6.4rem);margin:.15em 0}.page-intro>p:last-child{max-width:650px}.filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:22px clamp(20px,5vw,72px);border-bottom:1px solid var(--parchment)}.filters button{border:1px solid #c9b8a4;background:transparent;color:inherit;padding:10px 12px;min-height:48px}.filters button.is-active{background:var(--cocoa);color:#fff}.filters span{opacity:.7}.results{padding:35px clamp(20px,5vw,72px) 0;margin:0;color:#725d50}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(30px,4vw,64px);padding:40px clamp(20px,5vw,72px) 120px;align-items:stretch}.portfolio-card[hidden]{display:none}.portfolio-card a{display:grid;grid-template-rows:auto 1fr;height:100%;text-decoration:none}.portfolio-card img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#e7dac9}.portfolio-card span{display:block;padding-top:16px}.portfolio-card h2{font-size:clamp(1.5rem,2.3vw,2.2rem);margin:.2em 0}.portfolio-card p{font-size:.9rem;color:#655247}.detail{padding:clamp(50px,8vw,110px) clamp(20px,7vw,110px)}.detail-header{max-width:850px;margin-bottom:60px}.breadcrumb{font-size:.8rem}.detail-header h1{font-size:clamp(3rem,7vw,6.5rem);margin:.2em 0}.detail-header>p:last-child{max-width:700px;font-size:1.08rem}.detail-photos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,6vw,90px)}.detail-photos li:first-child{grid-column:1/-1}.photo{display:block;width:100%;padding:0;border:0;background:#e7dac9;cursor:zoom-in}.photo img{width:100%;max-height:800px;object-fit:contain}.detail-photos p{font-size:.84rem;color:#725d50}.case-study{max-width:920px;margin:80px auto 0;display:grid;gap:42px}.case-study section{border-top:1px solid #cdbba6;padding-top:24px}.case-study h2{font-size:clamp(1.8rem,3vw,2.7rem);margin:0 0 14px}.case-study p{margin:0;max-width:760px}.related{padding:70px clamp(20px,7vw,110px);background:#e9dece}.related h2{font-size:2.2rem}.related ul{display:flex;flex-wrap:wrap;gap:15px 40px;padding:0;list-style:none;margin-bottom:35px}.viewer{width:100vw;height:100vh;max-width:none;max-height:none;padding:55px 80px 25px;border:0;background:rgba(24,15,11,.97);color:#fff}.viewer::backdrop{background:#18100d}.viewer figure{height:100%;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.viewer img{max-height:calc(100vh - 145px);max-width:calc(100vw - 180px)}.viewer figcaption{margin-top:12px;text-align:center;max-width:800px}.viewer button{position:fixed;z-index:2;border:0;background:#fff;color:#211;width:48px;height:48px;font-size:2rem}.viewer-close{top:15px;right:18px}.viewer-prev,.viewer-next{top:50%}.viewer-prev{left:18px}.viewer-next{right:18px}footer{padding:65px clamp(20px,5vw,72px);display:flex;justify-content:space-between;align-items:center;gap:35px;background:var(--chocolate);color:var(--ivory)}footer strong{font:1.6rem var(--serif)}footer p{margin:.3em 0;color:#d5c4b4}.footer-contact{display:flex;flex-direction:column;gap:7px}.footer-contact a{min-height:44px;display:flex;align-items:center}.contact-panel{padding:clamp(70px,9vw,120px) clamp(20px,8vw,130px);background:var(--cocoa);color:var(--ivory)}.contact-panel .eyebrow{color:var(--brass)}.contact-panel h2{font-size:clamp(2.5rem,5vw,4.8rem);margin:.2em 0}.contact-panel p:not(.eyebrow){max-width:620px}.whatsapp{background:var(--ivory);color:var(--chocolate)}.about{padding:clamp(60px,9vw,130px) clamp(20px,8vw,130px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(45px,7vw,110px)}.about section{max-width:660px}.about h2{font-size:clamp(2rem,4vw,3.7rem);margin:.1em 0 .5em}.about figure{margin:0}.about figcaption{font-size:.84rem;color:#725d50;margin-top:10px}:focus-visible{outline:3px solid var(--brass);outline-offset:4px}@media(max-width:900px){.hero{grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(3rem,6.5vw,4.5rem)}.work-grid,.portfolio-grid{grid-template-columns:1fr}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.site-header{min-height:88px;align-items:flex-start}.brand{width:112px;padding:3px 0}.site-header nav{gap:10px;flex-wrap:wrap;justify-content:flex-end;max-width:190px}.site-header nav a{padding:9px 0}.about{display:block}.about>*{margin-bottom:50px}.hero{display:flex;flex-direction:column;min-height:0;padding:42px 20px 25px}.hero h1{font-size:clamp(2.8rem,13vw,4rem)}.hero-image{width:100%;max-height:none}.hero-image img{height:auto;object-fit:contain}.detail-photos{display:block}.work{margin-bottom:55px}.filters{grid-template-columns:1fr 1fr;padding:14px 20px}.portfolio-card{margin-bottom:45px}.detail-photos li{margin-bottom:45px}.viewer{padding:65px 14px 78px}.viewer img{max-width:100%;max-height:calc(100vh - 190px)}.viewer-prev,.viewer-next{top:auto;bottom:15px}.viewer figcaption{font-size:.8rem}footer{display:block}.footer-contact,footer nav{margin-top:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
