@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{--forest:#102b23;--deep:#0a201a;--paper:#f6f4ec;--ink:#102b23;--muted:#5b6b62;--sage:#caddc4;--line:#d5dbd2;--sans:'DM Sans',Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}img{display:block;width:100%;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}h1,h2,h3,p{margin-top:0}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #9ab785;outline-offset:6px}.wrap{width:min(100% - 112px,1320px);margin-inline:auto}.section-pad{padding-block:100px}.skip-link{position:absolute;left:20px;top:-100px;background:white;padding:12px;z-index:100}.skip-link:focus{top:20px}.eyebrow{font-size:10px;font-weight:700;line-height:1.5;letter-spacing:.17em;margin-bottom:24px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:48px;padding:14px 20px;background:var(--forest);color:var(--paper);font-size:12px;font-weight:600;transition:background .2s,transform .2s}.button span{font-size:20px;font-weight:400;line-height:1}.button:hover{transform:translateY(-2px);background:#264c3f}.button-light{background:var(--paper);color:var(--forest)}.button-light:hover{background:white}.text-link{display:inline-flex;gap:14px;align-items:center;font-size:12px;line-height:1.6;border-bottom:1px solid #8b9f8d;padding-bottom:5px}.text-link:hover{border-color:currentColor}.status-dot{display:inline-block;width:6px;height:6px;background:var(--sage);border-radius:50%;margin-right:8px;vertical-align:middle}
.site-header{background:var(--paper);position:relative;z-index:30}.header-inner{display:flex;align-items:center;gap:36px;height:94px}.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}.brand svg{width:45px;height:38px}.brand-lockup{display:flex;flex-direction:column;gap:6px}.brand-name{font-size:23px;font-weight:800;letter-spacing:.11em;line-height:1}.brand-line{font-size:8px;font-weight:600;letter-spacing:.19em}.site-nav{display:flex;gap:28px;align-items:center;margin-left:auto;font-size:12px}.site-nav>a[aria-current]{text-decoration:underline;text-underline-offset:7px;text-decoration-color:#97b197}.site-nav a:hover{color:#538262}.header-enquire{min-height:42px;padding:10px 17px}.nav-toggle,.mobile-contact{display:none}.nav-dropdown{position:relative}.nav-dropdown summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:9px}.nav-dropdown summary::-webkit-details-marker{display:none}.dropdown-panel{position:absolute;top:34px;left:-22px;width:278px;background:var(--paper);padding:10px;box-shadow:0 14px 35px #0a201a20;border:1px solid var(--line)}.dropdown-panel a{display:block;padding:12px;font-size:12px}.dropdown-panel a:hover{background:#e8eddf}
.hero{background:var(--forest);color:var(--paper)}.hero-main{display:grid;grid-template-columns:1.12fr 1fr;gap:54px;padding-block:60px 50px;align-items:center}.hero-copy .eyebrow{color:#d4dfd0;margin-bottom:32px;font-size:9px}.hero h1{font-size:clamp(48px,5.5vw,81px);font-weight:500;line-height:1.02;letter-spacing:-.055em;margin-bottom:30px}.hero h1>span{color:var(--sage)}.hero-description{font-size:15px;line-height:1.8;max-width:410px;color:#d1dbd2;margin-bottom:30px}.hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.hero-actions .text-link{font-size:11px}.hero-photo{align-self:stretch;position:relative;min-height:465px;overflow:hidden}.hero-photo>img{height:100%;object-fit:cover;object-position:65% center}.hero-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0a201a75);pointer-events:none}.photo-label{position:absolute;left:22px;bottom:22px;z-index:1;display:flex;align-items:center;gap:12px;font-size:8px;font-weight:500;letter-spacing:.15em}.crosshair{font-size:22px;font-weight:400}.hero-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff25;padding-block:22px;font-size:8px;letter-spacing:.13em;color:#b8c8b9}
.section-heading{display:flex;justify-content:space-between;gap:36px;align-items:flex-end;margin-bottom:44px}.section-heading .eyebrow{color:#65755e;margin-bottom:18px}h2{font-size:clamp(30px,3.1vw,46px);font-weight:500;line-height:1.14;letter-spacing:-.04em;margin-bottom:0}.section-heading>p{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 3px}.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px 30px}.service-card{display:block}.service-image{position:relative;aspect-ratio:2.1;overflow:hidden;background:#dfe5dc}.service-image img{height:100%;object-fit:cover;transition:transform .6s}.service-card:hover .service-image img{transform:scale(1.035)}.image-index{position:absolute;left:16px;top:16px;padding:7px 9px;background:#0a201adb;color:var(--paper);font-size:10px;font-weight:500;letter-spacing:.05em}.card-arrow{position:absolute;right:16px;bottom:16px;width:37px;height:37px;background:var(--paper);color:var(--ink);display:grid;place-items:center;font-size:23px}.card-copy{padding-top:22px}.card-copy h3{font-size:23px;font-weight:500;letter-spacing:-.035em;margin-bottom:10px}.card-copy p{max-width:490px;font-size:13px;line-height:1.75;color:var(--muted);margin-bottom:18px}.card-meta{display:block;border-top:1px solid var(--line);padding-top:14px;font-size:9px;letter-spacing:.055em;color:#64705e}
.viewer-section{background:var(--forest);color:var(--paper);padding-block:92px;position:relative;overflow:hidden}.viewer-section:before{content:'';position:absolute;right:-80px;top:-120px;width:650px;height:700px;background:repeating-radial-gradient(ellipse at center,transparent 0 49px,#a5bb9720 50px 51px,transparent 52px 70px);transform:rotate(-24deg);pointer-events:none}.viewer-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:58px;align-items:center;position:relative}.viewer-copy .eyebrow{color:#cedec6}.viewer-copy h2{font-size:clamp(34px,3.9vw,56px);margin-bottom:25px}.viewer-copy h2 span{color:var(--sage)}.viewer-copy>p:not(.eyebrow){color:#c8d7cc;line-height:1.85;font-size:13px;max-width:360px;margin-bottom:30px}.viewer-links{display:flex;flex-direction:column;align-items:flex-start;gap:23px}.ipad{position:relative;padding:12px 15px;border:2px solid #5c675c;background:linear-gradient(135deg,#354037,#090d0a);border-radius:29px;box-shadow:0 24px 45px #03170a75,inset 0 0 0 3px #ffffff0b}.ipad-camera{position:absolute;top:50%;left:5px;width:4px;height:4px;background:#647468;border-radius:50%}.ipad-screen{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:16px;background:#102b23}.ipad-screen iframe,.viewer-poster{position:absolute;inset:0;width:100%;height:100%;border:0}.viewer-poster{object-fit:cover}.ipad-screen iframe{opacity:0;transition:opacity .5s}.ipad-screen.is-loaded iframe{opacity:1}.ipad-screen.is-loaded .viewer-poster{opacity:0}.device-caption{display:flex;justify-content:space-between;gap:12px;margin-top:24px;font-size:8px;letter-spacing:.10em;color:#b6c9b5}.device-caption a{border-bottom:1px solid #b6c9b560;padding-bottom:5px}.device-caption .status-dot{width:5px;height:5px}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.process-grid article{border-top:1px solid var(--line);padding-top:22px}.process-index{display:block;font-size:9px;font-weight:600;letter-spacing:.08em;margin-bottom:30px;color:#667760}.process-grid h3{font-size:20px;font-weight:500;letter-spacing:-.025em;margin-bottom:12px}.process-grid p{font-size:13px;line-height:1.8;color:var(--muted);max-width:300px;margin:0}.contact{background:var(--deep);color:var(--paper)}.contact-inner{padding-block:72px;display:flex;justify-content:space-between;align-items:center;gap:35px}.contact .eyebrow{color:var(--sage);margin-bottom:22px}.contact h2{font-size:clamp(35px,4vw,58px)}.contact-action{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.contact-action>a:not(.button){font-size:12px;color:#c2d1c6}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:35px}.site-footer .brand svg{width:35px;height:29px}.site-footer .brand-name{font-size:18px}.site-footer .brand-line{font-size:6px}.site-footer>span,.site-footer>a:not(.brand){font-size:8px;letter-spacing:.09em;color:var(--muted)}
@media(min-width:1600px){.hero-main{gap:78px}.hero h1{font-size:87px}.hero-photo{min-height:540px}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.header-inner{gap:20px}.site-nav{gap:19px}.hero-main{gap:30px}.hero-actions{gap:20px}.hero-photo{min-height:430px}.viewer-layout{gap:32px}.viewer-copy h2{font-size:40px}.section-heading>p{font-size:12px}}
@media(max-width:850px){.header-inner{height:80px}.nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;background:none;border:0;padding:10px;color:var(--ink);margin-left:auto}.nav-toggle span{display:block;width:22px;height:1.5px;background:currentColor}.site-nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:24px 36px;border-top:1px solid var(--line);box-shadow:0 14px 22px #0a201a15}.site-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:24px}.mobile-contact{display:block}.header-enquire{display:none}.dropdown-panel{position:static;width:100%;box-shadow:none;border:0;border-left:1px solid var(--line);margin-top:15px;padding:0 8px}.hero-main{grid-template-columns:1fr 1fr;padding-top:40px}.hero h1{font-size:46px}.hero-copy .eyebrow{font-size:8px;margin-bottom:26px}.hero-description{font-size:13px}.hero-photo{min-height:420px}.hero-actions{gap:20px}.hero-bottom{font-size:7px}.section-pad{padding-block:74px}.section-heading{display:block}.section-heading>p{margin-top:22px}.services-grid{gap:40px 24px}.card-copy h3{font-size:20px}.viewer-layout{grid-template-columns:1fr;gap:42px}.viewer-copy{max-width:550px}.viewer-copy h2{font-size:46px}.viewer-copy>p:not(.eyebrow){max-width:500px}.viewer-links{flex-direction:row;align-items:center;flex-wrap:wrap}.device-block{max-width:750px;width:100%}.viewer-section{padding-block:74px}.process-grid{gap:26px}.process-grid h3{font-size:18px}.contact-inner{padding-block:60px}.contact h2{font-size:40px}.site-footer{flex-wrap:wrap}.site-footer>span{display:none}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.brand svg{width:37px;height:31px}.brand{gap:11px}.brand-name{font-size:20px}.brand-line{font-size:7px}.site-nav{padding-inline:20px}.hero-main{grid-template-columns:1fr;gap:35px;padding-block:38px 30px}.hero h1{font-size:clamp(43px,10.4vw,60px);margin-bottom:25px}.hero-copy .eyebrow{font-size:7px;letter-spacing:.1em;margin-bottom:27px}.hero-description{max-width:390px;font-size:14px;margin-bottom:26px}.hero-actions{gap:23px}.hero-actions .text-link{font-size:11px}.hero-photo{min-height:0;height:260px}.hero-photo>img{object-position:center}.hero-bottom{flex-direction:column;gap:10px;padding-block:18px;font-size:7px}.section-pad{padding-block:55px}.section-heading{margin-bottom:32px}h2{font-size:32px}.section-heading>p{font-size:12px}.services-grid{grid-template-columns:1fr;gap:35px}.card-copy{padding-top:18px}.card-copy h3{font-size:22px}.card-copy p{font-size:13px}.card-meta{font-size:8px}.viewer-section{padding-block:55px}.viewer-layout{gap:32px}.viewer-copy h2{font-size:40px}.viewer-copy>p:not(.eyebrow){font-size:13px}.viewer-links{gap:23px}.ipad{padding:8px 11px;border-radius:20px}.ipad-screen{border-radius:11px}.ipad-camera{left:4px;width:3px;height:3px}.device-caption{font-size:6px;letter-spacing:.03em;margin-top:17px}.device-caption .status-dot{margin-right:3px}.process-grid{grid-template-columns:1fr;gap:26px}.process-grid article{padding-top:18px}.process-index{margin-bottom:18px}.process-grid h3{font-size:21px}.process-grid p{max-width:none}.contact-inner{flex-direction:column;align-items:flex-start;gap:30px;padding-block:50px}.contact h2{font-size:39px}.site-footer{padding-block:29px}.site-footer>a:not(.brand){font-size:7px}.site-footer .brand{gap:10px}.site-footer .brand-name{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Editable draft service and project pages use the homepage design system. */
.brand>img{width:45px;height:38px;object-fit:contain}.service-page-hero h1{font-size:clamp(43px,4.5vw,68px);line-height:1.08}.service-page-hero .hero-description{max-width:450px}.service-page-hero .hero-photo{min-height:400px}.service-page-hero+.section-pad h2{max-width:900px;margin-bottom:20px;font-size:clamp(28px,3vw,43px)}.more-services{padding-bottom:65px}.service-overview h1,.project-page h1{font-size:clamp(44px,5vw,72px);font-weight:500;line-height:1.08;letter-spacing:-.045em;margin-bottom:28px}.overview-intro{max-width:600px;color:var(--muted);font-size:16px;line-height:1.8;margin-bottom:60px}.project-page>img{max-height:700px;object-fit:cover;margin-bottom:45px}.project-body{max-width:800px;font-size:16px;line-height:1.9;margin-bottom:35px}.hero-description strong{font-weight:700;color:var(--paper)}
@media(max-width:600px){.service-page-hero .hero-photo{min-height:0}.brand>img{width:37px;height:31px}.overview-intro{font-size:14px;margin-bottom:35px}.project-body{font-size:14px}.more-services{padding-bottom:45px}}
