:root{--lime:#73ff36;--green:#1e6b36;--dark:#0d1710;--ink:#111713;--cream:#f3f0e7;--muted:#a9b4aa;--line:rgba(255,255,255,.14);--ease:cubic-bezier(.2,.75,.2,1)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--ink);overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button{font:inherit}.noise{position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;border-radius:50%;pointer-events:none;z-index:1000;transform:translate(-50%,-50%)}.cursor-dot{width:7px;height:7px;background:var(--lime)}.cursor-ring{width:34px;height:34px;border:1px solid rgba(115,255,54,.7);transition:width .25s,height .25s,border-color .25s}.cursor-ring.active{width:58px;height:58px;border-color:#fff}.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;height:92px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4vw;color:white;border-bottom:1px solid rgba(255,255,255,.14);transition:.35s var(--ease)}.site-header.scrolled{height:76px;background:rgba(9,19,12,.88);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:12px;width:max-content}.brand-mark{font-family:Montserrat;font-size:32px;font-weight:900;line-height:1;color:var(--lime);letter-spacing:-2px}.brand-copy{display:flex;flex-direction:column;line-height:1.05}.brand-copy strong{font-size:15px}.brand-copy small{font-size:10px;color:#bcd0bf;text-transform:uppercase;letter-spacing:.15em;margin-top:5px}.desktop-nav{display:flex;gap:34px}.desktop-nav a{font-size:14px;font-weight:600;position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--lime);transition:.3s}.desktop-nav a:hover:after{width:100%}.header-call{justify-self:end;display:flex;flex-direction:column;text-align:right}.header-call span{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#b7c5b8}.header-call strong{font-size:16px}.menu-btn{display:none;background:none;border:0;width:42px;height:42px;position:relative}.menu-btn span{position:absolute;left:8px;width:26px;height:2px;background:white;transition:.3s}.menu-btn span:first-child{top:15px}.menu-btn span:last-child{top:25px}.mobile-menu{position:fixed;inset:0;background:#0b140e;color:#fff;z-index:90;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:25px;font:800 34px Montserrat;transform:translateY(-100%);transition:.5s var(--ease)}.mobile-menu.open{transform:translateY(0)}.mobile-call{font:700 18px DM Sans;color:var(--lime);margin-top:12px}.hero{height:100svh;min-height:720px;position:relative;background:#0a130d;color:#fff;overflow:hidden}.hero-media{position:absolute;inset:-8%;will-change:transform}.hero-media img{filter:saturate(.92) contrast(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,11,6,.88) 0%,rgba(4,11,6,.62) 43%,rgba(4,11,6,.12) 78%),linear-gradient(0deg,rgba(5,12,7,.7),transparent 48%)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:92px 92px;mask-image:linear-gradient(to right,#000,transparent 75%)}.hero-content{position:absolute;z-index:2;left:7vw;top:53%;transform:translateY(-50%);max-width:870px}.eyebrow{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700;color:#d7e4d8;margin-bottom:22px}.eyebrow span{width:38px;height:2px;background:var(--lime)}.hero-title{font-family:Montserrat;font-weight:900;font-size:clamp(58px,7.6vw,132px);line-height:.84;letter-spacing:-.065em;text-transform:uppercase}.line-mask{display:block;overflow:hidden;padding-bottom:.08em}.line-mask>span{display:block;transform:translateY(110%);animation:rise 1s var(--ease) forwards}.line-mask:nth-child(2)>span{animation-delay:.12s}.line-mask:nth-child(3)>span{animation-delay:.24s}.accent-line{color:var(--lime)}@keyframes rise{to{transform:none}}.hero-copy{max-width:620px;color:#d2dbd3;font-size:18px;line-height:1.65;margin:28px 0 34px}.hero-actions{display:flex;gap:14px}.btn{padding:15px 22px;border-radius:999px;display:inline-flex;gap:24px;align-items:center;font-weight:700;font-size:14px;transition:.3s}.btn i{font-style:normal;font-size:18px}.btn-primary{background:var(--lime);color:#10210f}.btn-primary:hover{background:white;transform:translateY(-3px)}.btn-ghost{border:1px solid rgba(255,255,255,.36);color:white}.btn-ghost:hover{border-color:white;background:rgba(255,255,255,.1);transform:translateY(-3px)}.hero-badge{position:absolute;right:7vw;bottom:8vh;z-index:3;width:140px;height:140px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:grid;place-items:center;backdrop-filter:blur(7px)}.badge-orbit{position:absolute;font-size:10px;letter-spacing:.18em;color:#d9e3d9;animation:spin 12s linear infinite;width:115px;height:115px;border-radius:50%;text-align:center;display:flex;align-items:flex-start;justify-content:center;padding-top:2px;word-spacing:2px}.badge-center{font:900 32px Montserrat;color:var(--lime)}@keyframes spin{to{transform:rotate(360deg)}}.floaty{animation:float 4s ease-in-out infinite}@keyframes float{50%{transform:translateY(-12px)}}.scroll-cue{position:absolute;left:4vw;bottom:36px;z-index:3;display:flex;align-items:center;gap:12px;font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:#b7c7b9;transform:rotate(-90deg);transform-origin:left center}.scroll-cue i{display:block;width:50px;height:1px;background:#b7c7b9}.trust-strip{background:var(--lime);overflow:hidden;padding:15px 0;color:#0d1b0e}.marquee-track{display:flex;width:max-content;gap:23px;align-items:center;animation:marquee 28s linear infinite;font:900 14px Montserrat;letter-spacing:.08em}.marquee-track b{font-size:13px}@keyframes marquee{to{transform:translateX(-50%)}}.section-pad{padding:110px 7vw}.section-tag{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#49624e;margin-bottom:28px}.intro{background:#f5f1e8}.intro-copy{display:grid;grid-template-columns:1.5fr .65fr;gap:8vw;align-items:end}.split-heading{font:800 clamp(44px,5.5vw,84px)/.98 Montserrat;letter-spacing:-.055em;text-transform:uppercase}.split-heading em{font-style:normal;color:var(--green)}.intro-side{font-size:17px;line-height:1.7;color:#536057;padding-bottom:8px}.text-link{display:inline-flex;gap:30px;margin-top:24px;font-weight:800;color:var(--ink);padding-bottom:6px;border-bottom:1px solid #222}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:70px}.stat-card{background:#fff;border:1px solid #e4dfd4;border-radius:22px;padding:30px;min-height:160px;display:flex;flex-direction:column;justify-content:space-between;transition:box-shadow .3s,transform .15s}.stat-card:hover{box-shadow:0 25px 60px rgba(36,52,39,.12)}.stat-card strong{font:900 58px Montserrat;color:var(--green);letter-spacing:-.06em}.stat-card strong:after{content:"+";font-size:.45em;vertical-align:top;margin-left:3px}.stat-card:first-child strong:after{content:"%"}.stat-card span{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:#69746c;font-weight:700}.services{background:#102018;color:white}.services .section-tag{color:#8fb598}.section-top{display:grid;grid-template-columns:1.2fr .6fr;align-items:end;gap:60px;margin-bottom:70px}.section-top p{color:#9db0a0;line-height:1.65;max-width:420px}.services .split-heading{max-width:760px}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:60px 1.2fr 1fr 52px;align-items:center;gap:22px;padding:25px 0;border-bottom:1px solid var(--line);position:relative;overflow:hidden;transition:.35s}.service-row:before{content:"";position:absolute;inset:0;background:var(--lime);transform:translateX(-102%);transition:.5s var(--ease)}.service-row>*{position:relative;z-index:1}.service-row:hover:before{transform:none}.service-row:hover{color:#0d1b0e;padding-left:18px}.service-row:hover p,.service-row:hover .service-num{color:#254329}.service-num{font-size:11px;color:#78947d}.service-row h3{font:800 clamp(21px,2.5vw,36px) Montserrat;letter-spacing:-.03em}.service-row p{color:#97a99a;line-height:1.5}.service-icon{width:42px;height:42px;border:1px solid #59715e;border-radius:50%;display:grid;place-items:center;font-size:18px;transition:.3s}.service-row:hover .service-icon{border-color:#19331d;transform:rotate(45deg)}.work{background:#e9e6dc}.work-head{display:grid;grid-template-columns:1fr 1.2fr .8fr;gap:40px;align-items:end;padding-bottom:55px}.work-head .section-tag{align-self:start}.work-head p{color:#5d695f;line-height:1.65;max-width:390px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:340px;gap:8px;padding:0 8px 8px}.gallery-card{position:relative;overflow:hidden;background:#cad4cb}.gallery-card.g-wide{grid-column:span 2}.gallery-card.g-tall{grid-row:span 2}.gallery-card img{transition:transform .8s var(--ease),filter .5s}.gallery-card:hover img{transform:scale(1.06);filter:saturate(1.12)}.gallery-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,11,6,.72),transparent 52%)}.gallery-card figcaption{position:absolute;z-index:2;bottom:20px;left:22px;right:22px;color:#fff;display:flex;justify-content:space-between;align-items:end}.gallery-card figcaption span{font:800 18px Montserrat}.gallery-card figcaption b{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#c9d9cc}.process{background:#f5f1e8}.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.process-grid>div:first-child p{color:#667269;line-height:1.65;max-width:520px;margin-top:28px}.steps{border-top:1px solid #cfd0c9}.step{display:grid;grid-template-columns:50px 1fr;gap:20px;padding:30px 0;border-bottom:1px solid #cfd0c9}.step>span{width:35px;height:35px;border-radius:50%;border:1px solid #99aa9c;display:grid;place-items:center;font-size:10px;font-weight:800}.step h3{font:800 24px Montserrat;margin-bottom:7px}.step p{color:#6b766e;line-height:1.5}.review-band{min-height:660px;display:grid;grid-template-columns:1.3fr .7fr;background:#0c170f;position:relative}.review-image{overflow:hidden}.review-image img{transition:transform 1.2s var(--ease)}.review-band:hover .review-image img{transform:scale(1.035)}.review-card{background:var(--lime);padding:70px 55px;display:flex;flex-direction:column;justify-content:center;color:#0d1b0e}.quote-mark{font:900 100px/1 Montserrat;height:75px}.review-card blockquote{font:800 clamp(28px,3vw,46px)/1.08 Montserrat;letter-spacing:-.04em}.review-card p{margin-top:28px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.contact{position:relative;overflow:hidden;background:#09120c;color:white;min-height:700px;display:flex;align-items:center}.contact-inner{position:relative;z-index:2;width:100%}.contact .section-tag.light{color:#82a687}.contact-title{font:900 clamp(55px,8vw,125px)/.84 Montserrat;letter-spacing:-.065em;text-transform:uppercase;max-width:1100px}.contact-title em{font-style:normal;color:var(--lime)}.contact-inner>p{max-width:560px;color:#a7b9aa;line-height:1.7;font-size:17px;margin-top:28px}.contact-actions{margin-top:45px;display:flex;align-items:center;gap:30px;flex-wrap:wrap}.mega-call{background:var(--lime);color:#0c1c10;border-radius:18px;padding:22px 28px;display:grid;grid-template-columns:1fr auto;min-width:min(100%,470px);position:relative;transition:.3s}.mega-call small{grid-column:1/2;text-transform:uppercase;letter-spacing:.13em;font-weight:800;font-size:9px}.mega-call strong{grid-column:1/2;font:900 29px Montserrat;margin-top:4px}.mega-call span{grid-column:2;grid-row:1/3;align-self:center;font-size:28px}.mega-call:hover{background:white;transform:translateY(-4px)}.email-link{border-bottom:1px solid #46604b;padding-bottom:7px;color:#d2ddd3}.contact-glow{position:absolute;border-radius:50%;filter:blur(10px);opacity:.17;background:var(--lime)}.contact-glow.one{width:400px;height:400px;right:-80px;top:-120px}.contact-glow.two{width:300px;height:300px;left:36%;bottom:-220px}footer{background:#050a07;color:#91a094;padding:45px 7vw 35px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;border-top:1px solid #1d2b20;font-size:12px}.footer-brand{display:flex;align-items:center;gap:10px;color:white}.footer-brand span{font:900 34px Montserrat;color:var(--lime)}.footer-brand strong{font-size:17px}.footer-links{display:flex;justify-content:flex-end;gap:24px}.copyright{grid-column:1/-1;border-top:1px solid #1d2b20;padding-top:25px;margin-top:10px}.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.in{opacity:1;transform:none}.image-reveal{clip-path:none;opacity:1;transform:none}.image-reveal img{transform:scale(1.035);transition:transform 1.1s var(--ease),filter .5s}.image-reveal.in img{transform:scale(1)}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto;padding:0 22px;height:76px}.desktop-nav,.header-call{display:none}.menu-btn{display:block}.hero-content{left:22px;right:22px;top:51%}.hero-title{font-size:clamp(50px,14vw,85px)}.hero-copy{font-size:16px}.hero-badge{right:20px;bottom:30px;width:95px;height:95px}.badge-orbit{display:none}.scroll-cue{display:none}.section-pad{padding:80px 22px}.intro-copy,.section-top,.work-head,.process-grid{grid-template-columns:1fr}.intro-copy{gap:30px}.stats-row{grid-template-columns:1fr}.service-row{grid-template-columns:45px 1fr 42px}.service-row p{grid-column:2/3}.service-icon{grid-column:3;grid-row:1/3}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:290px}.gallery-card.g-wide{grid-column:span 2}.review-band{grid-template-columns:1fr;min-height:auto}.review-image{height:470px}.review-card{padding:60px 30px}.contact{min-height:620px}.contact-title{font-size:clamp(50px,14vw,85px)}footer{grid-template-columns:1fr 1fr}.footer-links{grid-column:1/-1;justify-content:flex-start}}@media(max-width:600px){.cursor-dot,.cursor-ring{display:none}.hero{min-height:700px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-badge{display:none}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:300px}.gallery-card.g-wide,.gallery-card.g-tall{grid-column:auto;grid-row:auto}.service-row{gap:10px}.service-row h3{font-size:21px}.review-image{height:350px}.contact-actions{display:block}.email-link{display:inline-block;margin-top:24px;word-break:break-all}.mega-call strong{font-size:24px}footer{grid-template-columns:1fr}.footer-links{grid-column:auto;flex-wrap:wrap}.copyright{grid-column:auto}.split-heading{font-size:clamp(40px,12vw,64px)}}

/* Gallery hard-fix: independent of reveal JS */
#work .gallery-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:340px!important;gap:8px!important;padding:0 8px 8px!important;min-height:1028px!important;opacity:1!important;visibility:visible!important;transform:none!important;}
#work .gallery-card{display:block!important;position:relative!important;overflow:hidden!important;min-height:340px!important;background:#cad4cb!important;opacity:1!important;visibility:visible!important;clip-path:none!important;transform:none!important;}
#work .gallery-card.g-wide{grid-column:span 2!important;}
#work .gallery-card.g-tall{grid-row:span 2!important;min-height:688px!important;}
#work .gallery-card img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;opacity:1!important;visibility:visible!important;clip-path:none!important;}
@media(max-width:900px){#work .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:290px!important;min-height:1176px!important;}#work .gallery-card{min-height:290px!important}#work .gallery-card.g-wide{grid-column:span 2!important}#work .gallery-card.g-tall{grid-row:span 2!important;min-height:588px!important}}
@media(max-width:600px){#work .gallery-grid{grid-template-columns:1fr!important;grid-auto-rows:300px!important;min-height:auto!important}#work .gallery-card,#work .gallery-card.g-tall{grid-column:auto!important;grid-row:auto!important;min-height:300px!important}}
