:root{--navy:#0d0d0e;--ink:#171719;--cream:#f7f5f0;--sand:#ebe8e2;--orange:#c9973c;--muted:#747474}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;border:0;background:none;cursor:pointer}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:var(--navy);color:white;position:relative;z-index:3}.logo{display:flex;align-items:center}.logo img{width:154px;height:auto;display:block}.logo-mark{display:none}nav{display:flex;gap:34px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}nav a:hover,.text-link:hover{color:var(--orange)}.header-actions{display:flex;align-items:center;gap:9px;font:12px 'DM Mono',monospace}.lang{color:#777;padding:0}.lang.active{color:white}.header-cta{margin-left:22px;background:var(--orange);color:#111;padding:15px 19px;display:flex;gap:20px;font:11px 'DM Mono',monospace}.menu{display:none;font-size:23px;color:white}.hero{background:var(--navy);color:white;min-height:620px;display:grid;grid-template-columns:45% 55%;padding-left:9vw}.hero-copy{padding:95px 6vw 70px 0;position:relative;z-index:1}.eyebrow{display:flex;gap:13px;align-items:center;color:#d4ae62;font:11px 'DM Mono',monospace;letter-spacing:.06em}.eyebrow-line{display:inline-block;width:31px;height:1px;background:currentColor}.eyebrow.dark{color:var(--orange)}h1,h2{font-size:clamp(52px,6vw,93px);line-height:.97;letter-spacing:-.075em;margin:42px 0 29px;font-weight:700}em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.06em}.hero-lead{font-size:16px;line-height:1.8;color:#b7b7b7;max-width:400px;margin-bottom:38px}.button{display:flex;justify-content:space-between;gap:55px;padding:18px 20px;font:12px 'DM Mono',monospace;letter-spacing:.02em}.button-light{background:var(--orange);color:#111}.hero-image{position:relative;min-height:620px;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover}.image-note{position:absolute;bottom:28px;right:28px;background:white;color:var(--ink);padding:10px 13px;font:11px 'DM Mono',monospace}.image-note span{color:#aaa;margin:0 7px}.intro{padding:130px 9vw 135px;display:grid;grid-template-columns:24% 76%}.intro-label{font:11px 'DM Mono',monospace;color:var(--orange);letter-spacing:.06em;display:flex;gap:15px}.number{color:#a0aaa8}.intro-content{display:grid;grid-template-columns:55% 45%;gap:9%}.intro h2{font-size:clamp(44px,5vw,72px);margin:0}.intro-text{padding-top:12px;max-width:350px}.intro-text p,.section-side,.project-copy>p,.contact-heading>p{color:var(--muted);line-height:1.8;font-size:14px}.text-link{display:inline-flex;gap:40px;margin-top:27px;font:11px 'DM Mono',monospace;border-bottom:1px solid #aeb8b6;padding-bottom:11px}.services{background:var(--sand);padding:95px 9vw 120px}.section-heading{display:grid;grid-template-columns:60% 40%;align-items:end}.section-heading h2{font-size:clamp(45px,5vw,70px);margin:36px 0 0}.section-side{max-width:270px;margin:0 0 7px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:73px}.service-grid article{background:var(--cream);padding:25px 27px 28px;min-height:285px;position:relative}.service-number{font:11px 'DM Mono',monospace;color:var(--orange)}.service-icon{font-size:33px;font-family:Georgia,serif;color:var(--orange);margin:28px 0 19px}.service-grid h3{font-size:20px;letter-spacing:-.05em;margin:0 0 13px}.service-grid p{font-size:13px;line-height:1.7;color:var(--muted);max-width:260px}.service-grid article>a{position:absolute;right:27px;bottom:26px;color:var(--orange);font-size:19px}.project{display:grid;grid-template-columns:55% 45%;background:#ece9e1}.project-image{height:605px;position:relative;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover}.project-tag{position:absolute;bottom:25px;left:9vw;color:white;font:10px 'DM Mono',monospace;letter-spacing:.1em}.project-copy{padding:103px 12vw 60px 10%}.project-copy h2{font-size:clamp(49px,5.4vw,76px);margin:41px 0 25px}.project-copy>p{max-width:310px}.contact{background:var(--navy);color:white;display:grid;grid-template-columns:48% 52%;padding:115px 14vw 120px 9vw}.contact h2{font-size:clamp(44px,5vw,70px);margin:39px 0 25px}.contact-heading>p{color:#b4b4b4;max-width:300px}.contact form{padding-left:10%;display:flex;flex-direction:column;gap:25px}.contact label{display:flex;flex-direction:column;gap:9px;color:#999;font:11px 'DM Mono',monospace}.contact input,.contact textarea{border:0;border-bottom:1px solid #4b4b4b;background:transparent;color:white;padding:10px 0;font:16px Manrope;outline:none;resize:vertical}.contact input:focus,.contact textarea:focus{border-color:var(--orange)}.contact form .button{align-self:flex-start;margin-top:12px}.form-state{font-size:12px}.success{color:#88c7a2}.error{color:#f29b80}footer{background:#070707;color:white;padding:54px 9vw;display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:center;gap:25px}footer>p,footer>div{font:11px 'DM Mono',monospace;color:#999}footer>div{display:flex;flex-direction:column;gap:8px}footer small{color:#666;font:10px 'DM Mono',monospace}
@media(max-width:800px){.site-header{height:70px;padding:0 6vw}nav,.header-actions{display:none}.menu{display:block;color:var(--ink)}.hero{display:flex;flex-direction:column;padding:0}.hero-copy{padding:72px 8vw 60px}.hero-image{min-height:390px}.intro,.intro-content,.section-heading,.project,.contact,footer{display:block}.intro{padding:80px 8vw}.intro-label{margin-bottom:40px}.intro-content{display:block}.intro h2{margin-bottom:32px}.services{padding:75px 8vw 85px}.section-side{margin-top:28px}.service-grid{grid-template-columns:1fr;margin-top:45px}.service-grid article{min-height:250px}.project-image{height:430px}.project-tag{left:8vw}.project-copy{padding:75px 8vw 85px}.contact{padding:75px 8vw 85px}.contact form{padding:48px 0 0}.contact form .button{width:100%}footer{padding:45px 8vw}footer .logo{margin-bottom:28px}footer>p{margin-bottom:28px}footer small{display:block;margin-top:30px}}

/* Client contact details and supplied project photographs. */
.header-whatsapp{display:flex;flex-direction:column;gap:5px;color:#d4ae62;white-space:nowrap}.header-cta{white-space:nowrap;margin-left:8px}.site-header{gap:20px}nav{gap:20px}.hero-image{display:flex;flex-direction:column;background:#c5c5c5}.hero-image img{object-fit:contain;flex:1;min-height:0}.image-note{bottom:80px}.eco-note{margin:0;background:#191919;color:#d4ae62;padding:20px 28px;font-size:13px;line-height:1.6}.intro-content{grid-template-columns:1fr 1fr;gap:7%}.contact-links{display:flex;flex-direction:column;gap:16px;margin-top:28px;color:#d4ae62;font-size:14px}.work-gallery{padding:80px 9vw}.work-gallery h2{font-size:clamp(32px,4vw,54px);margin:0 0 36px}.work-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.work-grid figure{margin:0}.work-grid img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}.work-grid figcaption{font:12px 'DM Mono',monospace;margin-top:12px}.business-details{line-height:1.7;overflow-wrap:anywhere}.project-tag{background:#111b;padding:10px}.hero h1{font-size:clamp(48px,5.5vw,84px)}
@media(max-width:1100px){.site-header{padding:16px 4vw;height:auto;flex-wrap:wrap}nav{order:3;width:100%;justify-content:center;padding-top:10px}.header-actions{margin-left:auto}}
@media(max-width:800px){.header-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.header-whatsapp{font-size:11px}.header-cta{padding:12px}.site-header .logo img{width:110px}nav{display:flex;gap:18px;font-size:10px}.hero-image{min-height:0}.hero-image img{flex:auto;height:auto}.intro-content{display:block}.work-gallery{padding:60px 8vw}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.image-note{display:none}}
@media(max-width:420px){.site-header{gap:14px}.header-actions{max-width:205px}.header-whatsapp{flex-basis:100%;align-items:flex-end;flex-direction:row;justify-content:flex-end}.header-cta{font-size:10px}.hero h1{font-size:52px}}

@media(max-width:600px){
  .site-header{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px 8px;padding:16px 5vw}
  .site-header .logo img{width:84px}
  .header-actions{width:100%;max-width:none;margin-left:0;gap:8px}
  .header-whatsapp{font-size:10px;gap:4px}
  .header-cta{margin-left:0;padding:12px 10px;gap:12px}
  .site-header nav{grid-column:1/-1;gap:0;justify-content:space-between;padding-top:4px}
  .site-header nav a{padding:12px 0}
  .hero h1{font-size:clamp(44px,13vw,52px)}
}

/* Keep Safari's viewport and the photo gallery stable while images load. */
html{
  -webkit-text-size-adjust:100%;
  overflow-x:clip;
}

body,
main,
.work-gallery,
.work-grid,
.work-grid figure{
  min-width:0;
  max-width:100%;
}

body{
  overflow-x:clip;
}

.work-grid figure{
  width:100%;
}

.work-grid img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  aspect-ratio:3 / 4;
  object-fit:cover;
}

@media(max-width:600px){
  .work-gallery{
    padding:56px 6vw;
  }

  .work-gallery h2{
    font-size:clamp(36px,12vw,48px);
    overflow-wrap:anywhere;
  }

  .work-grid{
    grid-template-columns:minmax(0,1fr);
    gap:28px;
  }
}
