@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');
:root{--bg:#10170d;--green:#8ad44b;--text:#f5f6f0;--muted:#b2b9ab;--line:#ffffff24}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:5px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-weight:600;line-height:1.02;letter-spacing:-.025em}h1,h2{text-transform:uppercase}h1{font-size:clamp(64px,7.9vw,128px);margin-bottom:36px}h2{font-size:clamp(44px,5.1vw,82px);margin-bottom:32px}h3{font-size:32px}em{color:var(--green);font-style:normal}.wrap{width:min(1280px,calc(100% - 112px));margin:auto}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.17em;line-height:1.5;text-transform:uppercase;margin-bottom:24px}.section{padding-top:112px;padding-bottom:70px}.section-label{text-align:center;font-size:14px;font-weight:600;margin-bottom:44px}.note{color:var(--muted);font-size:11px;margin-top:22px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:32px;background:var(--green);color:var(--bg);padding:16px 26px;border:1px solid var(--green);border-radius:40px;font-size:13px;font-weight:600;line-height:1.4;transition:background .2s,transform .2s}.button:hover{background:#b4eb77;transform:translateY(-3px)}.button span{font-size:23px}.button.outline{background:transparent;color:var(--text);border-color:var(--line)}.button.outline:hover{border-color:var(--green);color:var(--green)}header{position:sticky;top:0;z-index:20;background:#10170df5;backdrop-filter:blur(12px);border-bottom:1px solid #ffffff09}.header-inner{height:106px;display:flex;align-items:center;justify-content:space-between}.brand{display:block;width:190px}.brand img{object-fit:contain}.header-inner nav{display:flex;align-items:center;gap:8px}nav a{font-weight:600;font-size:13px;padding:14px 22px;border-radius:32px;transition:background .2s}nav a:hover{background:#ffffff10}nav a[aria-current]{background:var(--green);color:var(--bg)}.menu-toggle{display:none}.hero{position:relative;min-height:760px;height:calc(100svh - 106px);max-height:1100px;overflow:hidden}.hero-bg{position:absolute;inset:0;height:100%;object-position:70% 50%;animation:herozoom 18s ease-in-out infinite alternate}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#081006ed 0%,#08100686 49%,#08100610 100%),linear-gradient(0deg,#10170d 0%,transparent 30%)}.hero-content{position:relative;padding-top:62px;padding-bottom:48px;height:100%;display:flex;flex-direction:column;justify-content:center}.hero h1{font-size:clamp(68px,7vw,116px);max-width:750px;margin-bottom:26px}.hero-bottom{display:flex;align-items:center;gap:60px}.hero-bottom p{color:#dde1d5;line-height:1.5;font-size:14px;margin:0}.scroll-cue{position:absolute;bottom:35px;right:55px;border:1px solid var(--line);border-radius:50%;width:48px;height:48px;text-align:center;line-height:45px}.statement{padding:125px 0 100px;text-align:center}.statement h2{font-size:clamp(42px,5.5vw,88px);max-width:1100px;margin:0 auto 38px}.statement-copy{max-width:655px;color:var(--muted);margin:auto}.clients{padding-bottom:80px}.client-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:40px 28px;align-items:center;text-align:center}.client-grid span{font-size:clamp(15px,1.55vw,25px);font-weight:700;letter-spacing:-.06em;color:#b4bba9}.clients .note{text-align:center;margin-top:40px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:48px}.section-heading h2{margin:0}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 24px}.project{border:0;padding:0;background:transparent;color:inherit;text-align:left}.project-image{position:relative;overflow:hidden;border-radius:12px;aspect-ratio:1.1}.project-image img{height:100%;transition:transform .65s}.project:hover img{transform:scale(1.05)}.project-image span{position:absolute;bottom:16px;right:16px;background:var(--green);color:var(--bg);width:44px;height:44px;border-radius:50%;text-align:center;line-height:42px;font-size:24px;transition:transform .3s}.project:hover .project-image span{transform:rotate(45deg)}.project-caption{padding-top:22px}.project h3{font-size:28px;margin-bottom:6px}.project p{color:var(--muted);font-size:12px;margin-bottom:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service{position:relative;min-height:450px;border-radius:12px;overflow:hidden;display:flex;align-items:end}.service img{position:absolute;inset:0;height:100%;transition:transform .6s}.service:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#080e06 5%,#080e06b0 45%,#080e0620)}.service>div{position:relative;z-index:1;padding:32px}.service:hover img{transform:scale(1.05)}.service h3{font-size:40px;text-transform:uppercase;margin:14px 0}.service p{font-size:13px;color:#e0e5d9}.service-link{display:inline-block;font-size:12px;border-bottom:1px solid var(--green);padding:8px 0}.assurance{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:100px 0;border-bottom:1px solid var(--line)}.assurance-list p{padding:20px 0;border-bottom:1px solid var(--line);font-size:18px;margin:0}.assurance-list span{color:var(--green);font-size:11px;margin-right:22px}.cta{padding:115px 0;text-align:center}.cta h2{font-size:clamp(52px,6vw,96px)}footer{border-top:1px solid var(--line);padding:60px 0 25px}.footer-top{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:60px;font-size:13px}.footer-top .eyebrow{margin-bottom:12px}.footer-top a:hover{color:var(--green)}.footer-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:70px;padding-top:22px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.page-intro{padding:90px 0 80px}.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.intro-grid>div{color:var(--muted);font-size:16px;max-width:570px}.lead{font-size:17px;max-width:630px;color:var(--muted)}.service-detail{padding:35px 0 70px;scroll-margin-top:140px}.service-detail-image{position:relative;border-radius:12px;overflow:hidden;height:440px}.service-detail-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#080e06b8,transparent)}.service-detail-image img{height:100%}.service-detail-image>div{position:absolute;bottom:35px;left:40px;z-index:1}.service-detail-image h2{margin:0;font-size:65px}.detail-columns{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px;margin-top:40px}.detail-columns h3{font-size:32px}.detail-columns p:not(.eyebrow){color:var(--muted);font-size:14px}.detail-columns .button{font-size:11px;padding:12px 20px}.application-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 35px}.application-grid span{padding:22px 0;border-bottom:1px solid var(--line);font-size:20px}.filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:40px}.filters button{color:var(--text);border:1px solid var(--line);border-radius:32px;background:transparent;font-size:12px;padding:12px 22px}.filters button.active{background:var(--green);color:var(--bg);border-color:var(--green)}[hidden]{display:none!important}.company-photo{height:500px;overflow:hidden}.company-photo img{height:100%;object-position:center 55%}.values-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:48px 75px;margin-top:60px}.values-grid article{border-top:1px solid var(--line);padding-top:28px}.values-grid h3{font-size:38px}.values-grid p:not(.eyebrow){color:var(--muted);max-width:440px}.social{border-top:1px solid var(--line);padding:70px 0}.social>p:last-child{color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-bottom:120px}.contact-grid h2{font-size:58px}.contact-line{display:block;margin-top:24px;font-size:18px}.contact-line.email{font-size:14px;overflow-wrap:anywhere}.copy-email{border:0;background:transparent;color:var(--green);padding:10px 0;font-size:12px}.contact-location{margin:45px 0 15px}.contact-grid>div>p:last-child{color:var(--muted);max-width:340px}form{padding:35px;background:#1c2617;border-radius:12px}label{display:block;font-size:12px;margin-bottom:24px}label span{color:var(--muted)}input,select,textarea{display:block;width:100%;margin-top:9px;background:transparent;border:0;border-bottom:1px solid #ffffff40;color:var(--text);padding:12px 0;border-radius:0;font-size:14px}select{background:#1c2617}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#95a28a}form .button{width:100%;text-align:left}dialog{border:1px solid var(--line);padding:0;border-radius:16px;width:min(900px,90vw);max-height:90svh;color:var(--text);background:var(--bg)}dialog::backdrop{background:#000c;backdrop-filter:blur(8px)}dialog>img{max-height:58svh;object-fit:contain;background:#080e06}dialog>div{padding:28px}dialog h2{font-size:36px;margin-bottom:12px}dialog p{color:var(--muted)}.dialog-close{position:absolute;right:12px;top:12px;border:0;border-radius:50%;width:42px;height:42px;font-size:28px;background:var(--green);color:var(--bg)}.skip{position:fixed;top:-100px;left:20px;background:var(--green);color:var(--bg);z-index:100;padding:10px}.skip:focus{top:10px}.reveal{transition:opacity .7s,transform .7s}.motion .reveal:not(.visible){opacity:0;transform:translateY(25px)}@keyframes herozoom{from{transform:scale(1)}to{transform:scale(1.08)}}@media(min-width:1800px){.hero-content{padding-top:90px}}@media(max-width:1000px){.wrap{width:calc(100% - 64px)}nav a{padding:12px 13px;font-size:11px}.brand{width:165px}.hero{min-height:660px}.hero-bottom{gap:25px}.client-grid{grid-template-columns:repeat(4,1fr)}.service{min-height:390px}.service>div{padding:22px}.service h3{font-size:32px}.intro-grid{gap:35px}.detail-columns{gap:25px}.contact-grid{gap:40px}.footer-top{gap:30px}.email{overflow-wrap:anywhere}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header-inner{height:86px}.brand{width:145px}.menu-toggle{display:flex;gap:16px;align-items:center;background:transparent;color:var(--text);border:0;font-size:13px;padding:12px 0}.menu-toggle span{font-size:21px}.header-inner nav{display:none;position:absolute;top:86px;left:0;right:0;background:var(--bg);padding:22px 20px;box-shadow:0 18px 25px #0008}header.menu-open nav{display:flex;flex-direction:column;align-items:stretch}nav a{font-size:15px;padding:12px 20px}.hero{height:auto;min-height:720px}.hero-content{padding-top:60px;padding-bottom:95px}.hero h1{font-size:70px}.hero-bg{object-position:63% center}.hero-shade{background:linear-gradient(90deg,#081006dd,#08100665),linear-gradient(0deg,#10170d,transparent 40%)}.hero-bottom{align-items:start;flex-direction:column;gap:22px}.scroll-cue{right:20px;bottom:25px}.statement{padding:75px 0}.statement h2{font-size:47px}.statement-copy{font-size:14px}.client-grid{grid-template-columns:repeat(3,1fr);gap:30px 15px}.client-grid span{font-size:17px}.clients{padding-bottom:20px}.section{padding:70px 0 35px}.section-heading{align-items:start;flex-direction:column;gap:25px;margin-bottom:30px}.project-grid,.service-grid{grid-template-columns:1fr;gap:36px}.project-image{aspect-ratio:1.2}.project h3{font-size:30px}.service{min-height:400px}.service h3{font-size:43px}.service>div{padding:28px}.assurance{grid-template-columns:1fr;gap:20px;padding:70px 0}.assurance-list p{font-size:16px}.cta{padding:75px 0}.cta h2{font-size:56px}.footer-top{grid-template-columns:1fr;gap:35px}.footer-bottom{flex-direction:column;gap:8px;margin-top:35px}.page-intro{padding:60px 0 45px}.page-intro h1{font-size:65px}.intro-grid{grid-template-columns:1fr;gap:10px}.intro-grid>div{font-size:15px}.service-detail-image{height:320px}.service-detail-image>div{left:24px;bottom:25px}.service-detail-image h2{font-size:44px}.detail-columns{grid-template-columns:1fr;gap:20px;margin-top:28px}.detail-columns h3{font-size:34px}.application-grid{grid-template-columns:repeat(2,1fr);gap:0 20px}.application-grid span{font-size:16px}.company-photo{height:350px}.values-grid{grid-template-columns:1fr;gap:32px;margin-top:35px}.contact-grid{grid-template-columns:1fr;gap:40px;padding-bottom:70px}.contact-grid h2{font-size:50px}form{padding:25px}.filters{gap:8px}.filters button{font-size:11px;padding:10px 16px}dialog>div{padding:24px}dialog h2{font-size:30px}.lead{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion .reveal:not(.visible){opacity:1;transform:none}}
/* Keep the client marks on one neutral tone and knock out pale source backgrounds. */
.brand img{mix-blend-mode:normal;filter:url(#brand-background-clean);background:transparent}
.client-grid img{width:100%;height:55px;object-fit:contain;filter:url(#client-monochrome);clip-path:inset(1px 2px);mix-blend-mode:normal;opacity:.85;transition:opacity .3s}
.client-grid span:hover img{filter:url(#client-monochrome);opacity:1}

/* New project photograph: natural colour, readable copy, and a dedicated mobile crop. */
.hero-bg{object-position:center 46%;animation:hero-photo-drift 24s ease-in-out infinite alternate}
.hero-shade{background:linear-gradient(90deg,rgba(8,17,6,.92) 0%,rgba(8,17,6,.72) 30%,rgba(8,17,6,.25) 62%,rgba(8,17,6,.08) 100%),linear-gradient(0deg,#10170d 0%,rgba(16,23,13,.25) 25%,transparent 55%)}
.hero h1{font-size:clamp(68px,6.1vw,104px);max-width:670px;text-shadow:0 2px 22px #0003}
.hero-bottom p{color:#edf0e6}
@keyframes hero-photo-drift{from{transform:scale(1)}to{transform:scale(1.035)}}
@media(max-width:700px){
 .hero{height:auto;min-height:0;padding-top:215px}
 .hero-bg{height:300px;object-position:center 49%;animation:none}
 .hero-shade{height:301px;background:linear-gradient(180deg,rgba(16,23,13,.02) 15%,rgba(16,23,13,.2) 55%,#10170d 100%)}
 .hero-content{padding-top:0;padding-bottom:78px}
 .hero .eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:22px}
 .hero h1{font-size:62px;max-width:100%;text-shadow:none;margin-bottom:26px}
 .hero-bottom{gap:24px}
 .hero-bottom p{font-size:13px}
 .scroll-cue{width:38px;height:38px;line-height:34px;bottom:20px}
}
@media(prefers-reduced-motion:reduce){.hero-bg{animation:none}}

.whatsapp-float{position:fixed;bottom:24px;right:24px;z-index:45;display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:14px 22px;background:var(--green);color:var(--bg);border:1px solid #b2ee7a;border-radius:40px;box-shadow:0 5px 25px #0006;font-size:12px;font-weight:700;transition:transform .2s,background .2s}
.whatsapp-float svg{width:25px;height:25px;flex-shrink:0}.whatsapp-float:hover{background:#b4eb77;transform:translateY(-3px)}
.scroll-cue{right:235px}
@media(max-width:700px){.whatsapp-float{right:18px;bottom:calc(18px + env(safe-area-inset-bottom));width:56px;height:56px;padding:14px;justify-content:center}.whatsapp-float span{display:none}.whatsapp-float svg{width:28px;height:28px}.scroll-cue{right:92px}}

/* Scroll parallax uses overscan so the photograph never reveals empty edges. */
.hero-bg{inset:auto 0 auto 0;top:-70px;height:calc(100% + 140px);object-position:center 48%;animation:none;transform:translate3d(0,var(--hero-parallax,0px),0);will-change:transform}
@media(max-width:700px){.hero-bg{top:-20px;height:340px;object-position:center 49%}}
@media(prefers-reduced-motion:reduce){.hero-bg{transform:none;will-change:auto}}
@media(max-width:700px){.hero-bg{-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 60%,transparent 90%);mask-image:linear-gradient(180deg,#000 0%,#000 60%,transparent 90%)}}

.ui-arrow{display:inline-block;width:1.25em;height:1.25em;vertical-align:middle;flex-shrink:0}
.project-image>span{display:grid;place-items:center;line-height:1}
.project-image>span .ui-arrow{width:24px;height:24px}
.scroll-cue{display:grid;place-items:center;line-height:1}
.scroll-cue .ui-arrow{width:20px;height:20px}
.service-link .ui-arrow{width:16px;height:16px;margin-left:6px}

html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-smooth iframe{pointer-events:none}html,body{-webkit-overflow-scrolling:touch}
