:root{--brand:#3B4836;--ink:#3B4836;--accent:#d3ddc9;--paper:#f6f6f3;--muted:#697363;--line:#d7ded2;--white:#fff;--copy:#e0e6da}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--brand);color:#fff;font:16px/1.75 Inter,Arial,sans-serif}h1,h2,h3{font-family:Manrope,Arial,sans-serif;font-weight:700;line-height:1.2;margin:0;letter-spacing:-1px}h2{font-size:clamp(32px,3vw,42px)}h3{font-size:22px;letter-spacing:-.5px}p,figure{margin:0}p{color:var(--copy)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #b5c8a6;outline-offset:5px}.section{padding:90px max(6%,calc((100% - 1180px)/2))}.eyebrow{font:600 11px/1.6 Inter,sans-serif;letter-spacing:1.7px;color:var(--accent);margin-bottom:17px}em{color:var(--accent);font-style:normal}header{height:94px;position:fixed;inset:0 0 auto;z-index:50;padding:0 max(6%,calc((100% - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--brand);border-bottom:1px solid #ffffff20;transition:height .25s,background .25s}header.scrolled{height:80px;background:#fff;color:var(--brand);border-color:var(--line)}.logo{display:block;width:72px;height:72px;flex-shrink:0}.logo img{object-fit:contain;border-radius:450px}.scrolled .logo{width:62px;height:62px}nav{display:flex;gap:24px;font-size:13px;font-weight:500}nav a:hover{opacity:.7}.header-cta{padding:11px 17px;display:flex;gap:17px;align-items:center;font-size:10px;font-weight:700;letter-spacing:.4px;background:#fff;color:var(--brand);border-radius:6px}.header-cta span{font-size:20px}.scrolled .header-cta{background:var(--brand);color:#fff}.menu-toggle{display:none}.hero{position:relative;isolation:isolate;min-height:780px;padding:160px max(6%,calc((100% - 1180px)/2)) 115px;display:grid;grid-template-columns:1.25fr 1fr;gap:65px;align-items:center;background:var(--brand);overflow:hidden}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#3b4836f5,#3b4836d9),url('assets/construction.jpg') center/cover}.hero-grid{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:70px 70px}.hero-content{min-width:0}.hero .eyebrow{display:inline-flex;align-items:center;gap:10px;border:1px solid #ffffff30;border-radius:30px;padding:7px 12px;font-size:10px;letter-spacing:1px;margin-bottom:25px}.hero .eyebrow span{width:6px;height:6px;border-radius:50%;background:var(--accent)}h1{font-size:clamp(40px,3.6vw,54px);line-height:1.12;letter-spacing:-1.7px;max-width:660px}.hero-description{font-size:16px;line-height:1.8;margin-top:23px;max-width:590px}.hero-actions{display:flex;gap:17px;align-items:center;margin-top:28px}.button{min-height:52px;padding:16px 20px;display:inline-flex;justify-content:center;align-items:center;gap:20px;font-size:10px;line-height:1.6;letter-spacing:.3px;font-weight:700;border:1px solid transparent;border-radius:6px;transition:transform .2s,background .2s}.button span{font-size:21px;line-height:1}.primary{background:#fff;color:var(--brand)}.primary:hover{background:var(--accent);transform:translateY(-2px)}.text-link{display:flex;align-items:center;gap:15px;border:1px solid #ffffff40;border-radius:6px;padding:16px;font-size:9px;font-weight:600;min-height:52px}.text-link:hover{background:#ffffff10}.hero-visual{height:440px;position:relative;padding:8px;border:1px solid #c5d4b970;border-radius:16px;transform:rotate(1.5deg)}.hero-visual img{border-radius:10px;object-position:57% center}.visual-label{position:absolute;top:-13px;right:18px;background:var(--accent);color:var(--brand);padding:7px 13px;border-radius:4px;font-size:9px;letter-spacing:1.2px;font-weight:700}.hero-visual figcaption{position:absolute;bottom:24px;left:-22px;right:26px;background:var(--brand);border:1px solid #ffffff35;border-radius:7px;padding:15px 18px;font-size:12px;transform:rotate(-1.5deg)}.hero-bottom{position:absolute;bottom:0;left:max(6%,calc((100% - 1180px)/2));right:max(6%,calc((100% - 1180px)/2));border-top:1px solid #ffffff25;min-height:75px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:11px;letter-spacing:.5px;color:var(--copy)}.hero-bottom b{padding:0 10px;font-weight:400}.cross{display:none}.section-heading{max-width:800px;text-align:center;margin:0 auto 45px}.difference{background:#fff;color:var(--brand);border-top:1px solid var(--line)}.difference .eyebrow{color:var(--brand)}.difference-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.difference-grid article{padding:25px 22px 29px;border:1px solid var(--line);border-radius:10px;background:#fff;transition:background .2s,transform .2s}.difference-grid article:hover{background:var(--paper);transform:translateY(-4px)}.technical-icon{width:43px;height:43px;display:grid;place-items:center;border:1px solid #ffffff30;border-radius:8px;font-size:28px;color:var(--accent);margin-bottom:24px}.difference-grid h3{font-size:17px;line-height:1.4;letter-spacing:-.3px;margin-bottom:12px}.difference-grid p{font-size:14px;line-height:1.75;color:var(--muted)}.services{background:var(--brand);border-top:1px solid #ffffff18}.service-list{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.service{display:flex;flex-direction:column;position:relative;border:1px solid #ffffff25;border-radius:10px;overflow:hidden;background:#ffffff05}.service-photo{height:175px;flex-shrink:0;transition:transform .4s}.service:hover .service-photo{transform:scale(1.025)}.service .number{position:absolute;top:12px;left:12px;background:var(--brand);border:1px solid #ffffff35;padding:2px 8px;border-radius:4px;color:white;font-size:11px}.service h3{font-size:20px;margin:23px 19px 13px;line-height:1.3}.service h3 br{display:none}.service p{font-size:14px;line-height:1.75;margin:0 19px 20px;flex:1}.service>a{margin:0 19px 20px;width:35px;height:35px;border:1px solid #ffffff35;border-radius:50%;display:grid;place-items:center;font-size:22px}.service>a:hover{background:white;color:var(--brand)}.complementary{display:grid;grid-template-columns:1fr 2.4fr;gap:40px;border-top:1px solid #ffffff25;margin-top:55px;padding-top:35px}.complementary>div{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.complementary span{border-bottom:1px solid #ffffff20;padding:10px 0;font-size:14px}.about{display:grid;grid-template-columns:1.1fr 1fr;gap:85px;align-items:center;background:#fff;color:var(--brand)}.about .eyebrow,.process .eyebrow{color:var(--brand)}.about h2{margin-bottom:26px}.muted{color:#7b876f}.about p:not(.eyebrow){font-size:16px;color:var(--muted);margin-bottom:16px}.about p.intro{font-size:18px;color:var(--brand);font-weight:500}.principles{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:24px;margin-top:26px;font-size:10px;letter-spacing:.6px;font-weight:600}.about-image{height:530px;position:relative;border-radius:12px;overflow:hidden}.about-image figcaption{position:absolute;bottom:20px;left:20px;right:20px;padding:15px 20px;background:var(--brand);color:white;display:flex;justify-content:space-between;border-radius:6px;font-size:13px}.process{background:var(--paper);color:var(--brand)}.timeline{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);padding:0;margin:65px 0 0}.timeline li{position:relative;padding:28px 18px 0 0;border-top:1px solid #b9c5b1}.timeline li:before{content:'';position:absolute;left:0;top:-5px;width:9px;height:9px;background:var(--brand);border:2px solid var(--paper);outline:1px solid var(--brand);border-radius:50%}.timeline li>span{font:600 30px Manrope;color:var(--brand)}.timeline h3{font-size:18px;margin:17px 0 10px}.timeline p{font-size:14px;color:var(--muted)}.portfolio{background:var(--brand)}.portfolio-heading{text-align:center;margin:0 auto 45px}.portfolio-heading>p{margin-top:20px;font-size:15px}.gallery{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:350px;gap:24px}.gallery figure{position:relative;border-radius:10px;border:1px solid #ffffff25;overflow:hidden;padding-bottom:55px}.gallery figure img{transition:transform .5s}.gallery figure:hover img{transform:scale(1.04)}.gallery figcaption{position:absolute;bottom:0;left:0;right:0;height:55px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;color:#fff;background:var(--brand);font-size:13px}.gallery-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:30px}.gallery-bottom p{font-size:12px}.outline{border:1px solid #ffffff70;color:white}.outline:hover{background:#fff;color:var(--brand)}.engineer{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:80px;background:linear-gradient(120deg,#ffffff09,transparent);border-top:1px solid #ffffff20;border-bottom:1px solid #ffffff20}.engineer-mark{position:relative;border:1px solid #ffffff35;border-radius:12px;aspect-ratio:1.1;display:flex;flex-direction:column;justify-content:space-between;padding:35px;background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:35px 35px}.engineer-mark>span{font:800 66px/1 Manrope;letter-spacing:-4px}.engineer-mark p{font:600 27px/1.3 Manrope;color:var(--accent)}.engineer-mark>div{font-size:10px;letter-spacing:1.5px}.engineer h2{margin-bottom:25px}.engineer>div>p:not(.eyebrow){font-size:16px;margin-bottom:18px}.signature{border-top:1px solid #ffffff30;margin-top:28px;padding-top:22px;display:flex;flex-direction:column;gap:4px;font-size:14px}.signature span{font-size:12px;color:var(--accent)}.contact{background:linear-gradient(90deg,#3b4836ed,#3b4836eb),url('assets/construction.jpg') center/cover}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:75px;align-items:center}.contact h2{font-size:clamp(34px,3.3vw,46px)}.contact-grid>div{padding:30px;border:1px solid #ffffff30;border-radius:10px;background:#3b4836b0}.contact-grid p{margin-bottom:25px;font-size:16px}.contact .button{font-size:10px;width:100%;gap:12px}.contact-small{display:block;font-size:12px;color:var(--accent);margin-top:12px}.contact-line{border-top:1px solid #ffffff30;margin-top:55px;padding-top:25px;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.7px;color:var(--accent)}footer.section{padding-top:60px;padding-bottom:25px;background:var(--brand);border-top:1px solid #ffffff20}.footer-grid{display:grid;grid-template-columns:1.3fr .85fr 1.2fr 1fr;gap:40px}.footer-grid>div{display:flex;flex-direction:column;align-items:start;gap:8px}.footer-grid .logo{width:90px;height:90px;margin-bottom:15px}.footer-grid h3{font-size:14px;letter-spacing:0;margin-bottom:13px}.footer-grid p,.footer-grid a:not(.logo),.footer-whatsapp{font-size:13px;color:var(--copy)}.footer-whatsapp{padding:0;background:none;border:0}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #ffffff25;margin-top:45px;padding-top:24px;font-size:10px;color:var(--accent)}.floating-whatsapp{position:fixed;right:24px;bottom:24px;z-index:40;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;border:1px solid #ffffff85;background:var(--brand);color:#fff}.floating-whatsapp svg{width:25px;height:25px}dialog{border:0;border-radius:12px;padding:40px;max-width:520px;width:calc(100% - 32px);background:#fff;color:var(--brand)}dialog::backdrop{background:#3b4836bb;backdrop-filter:blur(4px)}dialog .eyebrow,dialog p{color:var(--brand)}dialog h2{font-size:32px;margin-bottom:22px}dialog p:not(.eyebrow){font-size:16px;margin-bottom:25px}dialog .primary{background:var(--brand);color:white}.dialog-close{position:absolute;right:16px;top:8px;border:0;background:none;color:var(--brand);font-size:30px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s,transform .6s}.reveal.visible{opacity:1;transform:none}@media(max-width:1100px){nav{gap:16px}.header-cta{display:none}.hero{gap:35px}.hero-actions{flex-wrap:wrap}.hero-visual{height:410px}.difference-grid,.service-list{grid-template-columns:repeat(2,1fr)}.service-photo{height:220px}.about,.engineer{gap:45px}.contact-grid{gap:40px}}@media(max-width:760px){html{scroll-padding-top:90px}header,header.scrolled{height:78px;padding:0 6%}.logo,.scrolled .logo{width:60px;height:60px}.menu-toggle{display:flex;flex-direction:column;gap:7px;border:0;background:none;color:inherit;padding:14px 0 14px 15px}.menu-toggle span{width:26px;height:1px;background:currentColor}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}nav{display:none;position:absolute;top:78px;left:0;right:0;background:white;color:var(--brand);padding:25px 6%;border-bottom:1px solid var(--line);flex-direction:column;gap:18px;font-size:18px}nav.open{display:flex}.hero{display:grid;grid-template-columns:1fr;min-height:0;padding:122px 6% 0;gap:38px}.hero .eyebrow{font-size:9px;padding:6px 10px;letter-spacing:.8px;margin-bottom:22px}h1{font-size:42px;letter-spacing:-1.3px;line-height:1.12;max-width:570px}.hero-description{font-size:16px;margin-top:22px}.hero-actions{gap:12px}.button{font-size:10px;min-height:53px}.text-link{font-size:9px;min-height:53px;padding:15px 12px;gap:10px}.hero-visual{height:335px;width:calc(100% - 10px);margin:0 5px;transform:none}.hero-visual figcaption{left:10px;right:10px;bottom:16px;font-size:12px;transform:none;padding:12px}.visual-label{font-size:8px}.hero-bottom{position:static;min-height:0;display:flex;align-items:start;flex-direction:column;gap:10px;padding:22px 0;font-size:10px;letter-spacing:0}.hero-bottom b{padding:0 4px}.hero-bottom>span:last-child{font-size:9px;letter-spacing:1px}.section{padding:62px 6%}h2{font-size:33px;letter-spacing:-1px}.section-heading{margin-bottom:32px}.eyebrow{font-size:10px;letter-spacing:1.2px}.difference-grid{grid-template-columns:1fr 1fr;gap:13px}.difference-grid article{padding:20px 16px}.difference-grid h3{font-size:17px}.difference-grid p{font-size:16px;line-height:1.6}.technical-icon{margin-bottom:19px}.service-list{grid-template-columns:1fr;gap:24px}.service-photo{height:240px}.service h3{font-size:23px;margin:24px 22px 14px}.service p{font-size:16px;margin:0 22px 22px}.service>a{margin-left:22px}.complementary{grid-template-columns:1fr;gap:6px;margin-top:40px;padding-top:30px}.complementary>div{grid-template-columns:1fr}.complementary span{font-size:16px}.about,.engineer{grid-template-columns:1fr;gap:35px}.about-image{height:380px}.about-image figcaption{left:14px;right:14px;font-size:12px;padding:14px}.principles{font-size:9px;letter-spacing:0}.timeline{grid-template-columns:1fr;margin:35px 0 0 8px}.timeline li{display:grid;grid-template-columns:42px 1fr;gap:6px 18px;border-top:0;border-left:1px solid #b9c5b1;padding:0 0 32px 30px}.timeline li:before{left:-5px;top:8px}.timeline li:last-child{border-color:transparent;padding-bottom:0}.timeline li>span{grid-row:span 2;font-size:27px;line-height:1.2}.timeline h3{margin:0;font-size:21px}.timeline p{font-size:16px}.timeline p br{display:none}.portfolio-heading{margin-bottom:32px}.gallery{grid-template-columns:1fr;grid-auto-rows:320px;gap:20px}.gallery figcaption{font-size:14px}.gallery-bottom{flex-direction:column;align-items:start}.engineer-mark{aspect-ratio:auto;min-height:315px;padding:28px;gap:25px}.engineer-mark>span{font-size:60px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-grid>div{padding:23px}.contact h2{font-size:36px}.contact .button{font-size:9px;padding:15px 10px;gap:7px}.contact-line{flex-direction:column;gap:12px;font-size:9px;margin-top:35px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-grid>div:first-child{grid-column:span 2}.footer-grid p,.footer-grid a:not(.logo),.footer-whatsapp{font-size:14px}.footer-grid .logo{width:80px;height:80px}.footer-bottom{flex-direction:column;font-size:11px;padding-right:30px}.floating-whatsapp{width:49px;height:49px;right:17px;bottom:17px}dialog{padding:35px 25px}}@media(max-width:380px){.difference-grid{grid-template-columns:1fr}h1{font-size:40px}.hero-actions{flex-direction:column;align-items:stretch}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}

.difference .technical-icon{border-color:var(--line);color:var(--brand);background:var(--paper)}

/* Full supplied office photo, with its caption below. */
.about-image{height:auto;overflow:hidden}.about-image img{height:auto;aspect-ratio:auto;object-fit:contain}.about-image figcaption{position:static;border-radius:0;padding:17px 20px}

/* Full-frame automatic before/after reveal: each traversal lasts 3 seconds. */
.hero-visual.before-after{height:auto;max-width:420px;width:100%;justify-self:center;transform:none}
.comparison-stage{position:relative;width:100%;aspect-ratio:490/664;overflow:hidden;border-radius:10px;background:var(--brand)}
.comparison-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border-radius:0}
.comparison-after{clip-path:inset(0 100% 0 0);animation:arx-reveal 3s ease-in-out infinite alternate}
.comparison-line{position:absolute;top:0;bottom:0;left:0;width:2px;background:#fff;transform:translateX(-50%);box-shadow:0 0 10px #3b483680;animation:arx-line 3s ease-in-out infinite alternate;pointer-events:none}
.comparison-line:after{content:'↔';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;display:grid;place-items:center;background:var(--brand);border:1px solid white;border-radius:50%;font-size:16px;color:white}
.comparison-toggle{position:absolute;right:12px;bottom:12px;z-index:3;border:1px solid #ffffff80;background:var(--brand);color:#fff;padding:7px 12px;border-radius:5px;font-size:12px;line-height:1.5}
.before-after figcaption{position:static;transform:none;padding:14px 10px 6px;border:0;background:none;font-size:12px;line-height:1.6}
.before-after.is-paused .comparison-after,.before-after.is-paused .comparison-line{animation-play-state:paused}
@keyframes arx-reveal{0%,12%{clip-path:inset(0 100% 0 0)}88%,100%{clip-path:inset(0 0 0 0)}}
@keyframes arx-line{0%,12%{left:0}88%,100%{left:100%}}
@media(max-width:760px){.hero-visual.before-after{max-width:390px;margin:0;width:100%}.before-after figcaption{font-size:12px}}
@media(prefers-reduced-motion:reduce){.comparison-after{animation:none;clip-path:inset(0 100% 0 0)}.comparison-line{display:none}.before-after.show-after .comparison-after{clip-path:inset(0 0 0 0)}}

[hidden]{display:none!important}
