:root{--forest:#123b24;--forest-2:#0b2b19;--leaf:#6fae35;--lime:#a4d549;--ink:#172019;--muted:#667168;--mist:#f1f5ef;--line:#dce5db;--white:#fff;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6;background:#fff}body.modal-open{overflow:hidden}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}button{font:inherit}.shell{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.section{padding:105px 0}.site-header{height:92px;background:rgba(255,255,255,.96);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(18,59,36,.1);backdrop-filter:blur(12px)}.header-inner{height:100%;display:flex;align-items:center}.brand{width:205px;display:flex;align-items:center}.brand img{width:190px;height:72px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:34px;margin-left:auto}.main-nav a{font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800;position:relative;padding:34px 0}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:24px;height:2px;background:var(--leaf);transition:.25s}.main-nav a:hover:after,.main-nav a.active:after{right:0}.header-call{height:92px;margin-left:42px;padding:0 28px;background:var(--forest);color:#fff;display:flex;align-items:center;gap:13px;font-weight:800}.header-call img{width:28px;height:28px;filter:brightness(0) invert(1)}.header-call small{display:block;color:#a9cf85;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}.menu-toggle{display:none;margin-left:auto;border:0;background:none;padding:10px}.menu-toggle span{display:block;width:27px;height:2px;background:var(--forest);margin:6px}
.hero{min-height:680px;background:var(--forest-2);color:#fff;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,24,14,.95) 0%,rgba(8,30,17,.82) 48%,rgba(8,26,15,.16) 72%),url('assets/images/remi-hero.jpg') center/cover no-repeat;transform:scale(1.02)}.hero-grid{min-height:680px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;position:relative}.hero-copy{max-width:700px;padding:70px 0 88px}.eyebrow,.kicker{margin:0 0 16px;text-transform:uppercase;color:var(--leaf);font-weight:900;font-size:.74rem;letter-spacing:.15em}.eyebrow:before,.kicker:before{content:"";display:inline-block;width:38px;height:2px;background:currentColor;vertical-align:middle;margin-right:12px}.hero h1{font-size:clamp(3.3rem,6vw,5.6rem);line-height:.98;letter-spacing:-.055em;margin:0 0 28px;max-width:760px}.hero h1 em{display:block;color:var(--lime);font-style:normal}.hero-copy>p:not(.eyebrow){max-width:600px;font-size:1.05rem;color:#dae5dc}.hero-actions{display:flex;gap:13px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:53px;padding:0 25px;border-radius:3px;text-transform:uppercase;font-size:.75rem;letter-spacing:.06em;font-weight:900;transition:.2s}.button.primary{background:var(--leaf);color:#fff}.button.primary:hover{background:#5d982a;transform:translateY(-2px)}.button.ghost{border:1px solid rgba(255,255,255,.55);color:#fff}.button.ghost:hover{background:#fff;color:var(--forest)}.hero-points{display:flex;gap:28px;margin-top:34px;font-size:.74rem;color:#d5e0d7}.hero-points span:before{content:"✓";color:var(--lime);font-weight:900;margin-right:7px}.hero-visual{height:100%;position:relative}.hero-badge{position:absolute;right:5%;bottom:42px;width:195px;height:195px;border-radius:50%;background:rgba(111,174,53,.93);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 15px 50px rgba(0,0,0,.25);border:8px solid rgba(255,255,255,.12)}.hero-badge strong{text-transform:uppercase;font-size:1.25rem;line-height:1.12}.hero-badge span{font-size:.67rem;margin-top:10px;color:#eef8e9}
.trust-strip{background:#fff;box-shadow:0 14px 35px rgba(14,44,27,.08);position:relative;z-index:3}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr)}.trust-grid>div{display:flex;align-items:center;justify-content:center;gap:18px;padding:28px;border-right:1px solid var(--line)}.trust-grid>div:last-child{border:0}.trust-grid img{width:48px;height:48px;color:var(--leaf)}.trust-grid strong,.trust-grid small{display:block}.trust-grid strong{text-transform:uppercase;font-size:.82rem}.trust-grid small{font-size:.73rem;color:var(--muted)}
.section-head{max-width:760px}.section-head h2,.about h2,.contact h2{font-size:clamp(2.35rem,4.5vw,4.3rem);line-height:1.03;letter-spacing:-.045em;margin:0 0 20px}.section-head h2 span,.about h2 span,.contact h2 span{color:var(--leaf)}.section-head>p:last-child{color:var(--muted);max-width:580px}.services{background:var(--mist)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}.service-grid article{background:#fff;padding:32px 30px 34px;border:1px solid var(--line);min-height:265px;position:relative;overflow:hidden;transition:.25s}.service-grid article:after{content:"";position:absolute;left:0;bottom:0;width:0;height:4px;background:var(--leaf);transition:.25s}.service-grid article:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(20,54,33,.11)}.service-grid article:hover:after{width:100%}.service-icon{width:65px;height:65px;border-radius:50%;background:#edf6e8;display:grid;place-items:center}.service-icon img{width:38px;height:38px;color:var(--forest)}.service-grid h3{font-size:1.08rem;margin:24px 0 10px;text-transform:uppercase}.service-grid p{font-size:.9rem;color:var(--muted);margin:0}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.about-image{position:relative}.about-image>img{width:100%;height:600px;object-fit:cover}.about-image:before{content:"";position:absolute;left:-20px;top:-20px;width:46%;height:38%;border-left:5px solid var(--leaf);border-top:5px solid var(--leaf);z-index:-1}.image-note{position:absolute;right:-28px;bottom:28px;background:var(--forest);color:#fff;padding:22px 28px;min-width:230px}.image-note strong,.image-note span{display:block}.image-note span{color:#bcd0c2;font-size:.76rem}.about-copy>p:not(.kicker){color:var(--muted);font-size:.96rem}.text-link{display:inline-block;color:var(--forest);text-transform:uppercase;font-size:.75rem;letter-spacing:.08em;font-weight:900;border-bottom:2px solid var(--leaf);padding-bottom:4px;margin-top:12px}.about-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:45px;padding-top:28px}.about-facts>div{display:flex;gap:10px;align-items:flex-start}.about-facts strong{font-size:1.65rem;color:var(--leaf);line-height:1}.about-facts span{font-size:.73rem;line-height:1.25;text-transform:uppercase;font-weight:800}
.process{background:var(--forest);color:#fff}.section-head.centered{text-align:center;margin:0 auto}.section-head.centered .kicker:after{content:"";display:inline-block;width:38px;height:2px;background:currentColor;vertical-align:middle;margin-left:12px}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:56px;border-top:1px solid rgba(255,255,255,.18)}.steps article{padding:35px 34px;border-right:1px solid rgba(255,255,255,.18)}.steps article:last-child{border:0}.steps b{font-size:2.4rem;color:var(--lime);font-weight:400}.steps h3{text-transform:uppercase;font-size:.93rem}.steps p{color:#c1cec4;font-size:.82rem}
.projects{background:#fff}.project-head{max-width:none;display:flex;justify-content:space-between;align-items:flex-end}.project-head>p{max-width:420px;margin-bottom:20px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:280px;gap:14px;margin-top:44px}.project-card{position:relative;border:0;padding:0;overflow:hidden;background:#dfe6dc;cursor:zoom-in}.project-card.large{grid-row:span 2}.project-card.wide{grid-column:span 2}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .5s}.project-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(3,19,10,.83))}.project-card span{position:absolute;left:23px;bottom:18px;z-index:2;color:#fff;font-weight:900;text-transform:uppercase;font-size:.78rem;letter-spacing:.07em}.project-card:hover img{transform:scale(1.05);filter:saturate(1.08)}.gallery-modal{position:fixed;z-index:100;inset:0;background:rgba(3,12,7,.94);display:grid;place-items:center;padding:55px}.gallery-modal[hidden]{display:none}.gallery-modal img{max-width:90vw;max-height:86vh;object-fit:contain}.modal-close{position:absolute;right:25px;top:20px;width:48px;height:48px;border:0;border-radius:50%;font-size:2rem;background:#fff;color:var(--forest);cursor:pointer}
.contact{background:var(--forest-2);color:#fff}.contact-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:stretch}.kicker.light{color:var(--lime)}.contact-copy>p:not(.kicker){color:#c5d2c8;max-width:470px}.contact-line{display:flex;align-items:center;gap:16px;border-top:1px solid rgba(255,255,255,.16);padding:18px 0}.contact-line img{width:36px;height:36px;filter:brightness(0) invert(1)}.contact-line small,.contact-line strong{display:block}.contact-line small{font-size:.68rem;text-transform:uppercase;color:#9fb2a3}.contact-line strong{font-size:1rem}.whatsapp{margin-top:18px;gap:10px}.whatsapp img{width:24px;height:24px;filter:brightness(0) invert(1)}.map-card{min-height:520px;position:relative;border:8px solid rgba(255,255,255,.08)}.map-card iframe{width:100%;height:100%;min-height:504px;border:0;display:block}.map-card>a{position:absolute;right:16px;bottom:16px;background:#fff;color:var(--forest);padding:11px 15px;border-radius:3px;font-size:.72rem;font-weight:900;box-shadow:0 5px 20px rgba(0,0,0,.2)}
footer{background:#071a0f;color:#d4ddd6;padding:58px 0 18px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:80px}.footer-brand img{width:260px;height:110px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1)}footer h3{font-size:.75rem;text-transform:uppercase;color:var(--lime);letter-spacing:.1em}footer p,footer a{font-size:.78rem;color:#b5c2b8;display:block;margin:5px 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:38px;padding-top:16px;display:flex;justify-content:space-between;font-size:.68rem}.footer-bottom span:last-child{display:flex;gap:22px}
@media(max-width:980px){.main-nav{position:absolute;left:0;right:0;top:92px;background:#fff;display:none;flex-direction:column;gap:0;align-items:stretch;padding:12px 24px;box-shadow:0 12px 24px rgba(0,0,0,.12)}.main-nav.open{display:flex}.main-nav a{padding:14px}.main-nav a:after{display:none}.menu-toggle{display:block}.header-call{margin-left:10px;height:68px;padding:0 18px}.hero-grid{grid-template-columns:1fr}.hero-visual{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.about-grid{gap:45px}.project-grid{grid-template-columns:repeat(2,1fr)}.project-card.wide{grid-column:span 1}.contact-grid{grid-template-columns:1fr}.map-card{min-height:430px}.map-card iframe{min-height:414px}}
@media(max-width:680px){.shell{width:min(100% - 30px,var(--max))}.section{padding:74px 0}.site-header,.header-call{height:78px}.brand{width:150px}.brand img{width:145px;height:58px}.main-nav{top:78px}.header-call span{display:none}.header-call{width:56px;padding:0;justify-content:center}.hero,.hero-grid{min-height:640px}.hero-copy{padding:75px 0}.hero h1{font-size:3.45rem}.hero-points{flex-direction:column;gap:7px}.hero-actions{flex-direction:column;align-items:flex-start}.trust-grid{grid-template-columns:1fr}.trust-grid>div{justify-content:flex-start;border-right:0;border-bottom:1px solid var(--line);padding:18px}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:0}.about-grid{grid-template-columns:1fr}.about-image>img{height:430px}.image-note{right:0}.about-facts{gap:12px}.about-facts>div{display:block}.steps{grid-template-columns:1fr 1fr}.steps article:nth-child(2){border-right:0}.steps article{border-bottom:1px solid rgba(255,255,255,.18);padding:25px 18px}.project-head{display:block}.project-grid{grid-template-columns:1fr;grid-auto-rows:320px}.project-card.large{grid-row:span 1}.contact-grid{gap:45px}.map-card{min-height:360px}.map-card iframe{min-height:344px}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-bottom{display:block}.footer-bottom span:last-child{margin-top:10px}}
