/* cursor */
.cursor-dot,.cursor-ring { position:fixed; left:0; top:0; pointer-events:none; z-index:10000; border-radius:50%; transform:translate(-50%,-50%); opacity:0; }
.cursor-dot { width:6px; height:6px; background:var(--green); }
.cursor-ring { width:34px; height:34px; border:1px solid rgba(24,198,106,.7); transition: width .18s, height .18s, border-color .18s; }
body.cursor-ready .cursor-dot, body.cursor-ready .cursor-ring { opacity:1; }
.cursor-ring.hover { width:54px; height:54px; border-color:var(--lime); }


/* header */
.site-header { position:fixed; top:0; left:0; width:100%; z-index:1000; transition:background .3s, box-shadow .3s, transform .3s; color:#fff; }
.site-header.scrolled { background:rgba(5,17,13,.94); backdrop-filter:blur(18px); box-shadow:0 10px 40px rgba(0,0,0,.18); }
.top-strip { border-bottom:1px solid rgba(255,255,255,.12); font-size:12px; letter-spacing:.04em; }
.strip-inner { min-height:34px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.strip-inner p { margin:0; display:flex; gap:8px; align-items:center; color:rgba(255,255,255,.72); }
.strip-actions { display:flex; align-items:center; gap:22px; color:rgba(255,255,255,.65); }
.strip-actions a { color:var(--lime); font-weight:700; }
.navbar { height:var(--header-h); display:flex; align-items:center; justify-content:space-between; gap:26px; }
.brand { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.brand-mark { width:46px; height:46px; display:grid; place-items:center; border-radius:14px 14px 14px 4px; background:var(--green); color:#041009; font-family:'Montserrat'; font-size:24px; font-weight:800; box-shadow:0 14px 30px rgba(24,198,106,.22); }
.brand-copy { display:flex; flex-direction:column; line-height:1; }
.brand-copy strong { font-family:'Montserrat'; letter-spacing:.08em; font-size:17px; }
.brand-copy small { font-size:9px; letter-spacing:.18em; margin-top:6px; color:rgba(255,255,255,.6); }
.nav-menu { display:flex; align-items:center; gap:28px; font-size:13px; font-weight:700; }
.nav-menu > a:not(.nav-cta) { position:relative; color:rgba(255,255,255,.78); }
.nav-menu > a:not(.nav-cta)::after { content:''; position:absolute; left:0; bottom:-8px; width:0; height:2px; background:var(--green); transition:width .25s ease; }
.nav-menu > a:hover::after,.nav-menu > a.active::after { width:100%; }
.nav-menu > a:hover,.nav-menu > a.active { color:#fff; }
.nav-cta { padding:12px 16px; border:1px solid rgba(255,255,255,.2); border-radius:999px; display:flex; align-items:center; gap:9px; transition:.25s ease; }
.nav-cta:hover { border-color:var(--green); background:rgba(24,198,106,.1); }
.menu-toggle { display:none; background:none; border:0; width:44px; height:44px; padding:8px; flex-direction:column; justify-content:center; gap:6px; }
.menu-toggle span:not(.sr-only) { height:2px; background:#fff; display:block; border-radius:2px; transition:.3s; }


/* hero */
.hero { position:relative; height:100svh; min-height:720px; background:#08110f; color:#fff; overflow:hidden; }
.hero-swiper,.hero-slide { height:100%; }
.hero-slide { position:relative; isolation:isolate; }
.hero-media { position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.06); transition:transform 7s linear; z-index:-3; }
.swiper-slide-active .hero-media { transform:scale(1.0); }
.hero-overlay { position:absolute; inset:0; z-index:-2; background:
    linear-gradient(90deg, rgba(2,10,8,.92) 0%, rgba(3,14,10,.78) 38%, rgba(2,12,8,.38) 68%, rgba(2,12,8,.3) 100%),
    linear-gradient(180deg, rgba(4,14,11,.35) 0%, rgba(4,14,11,.15) 55%, rgba(4,14,11,.85) 100%);
}
.hero-slide::after { content:''; position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at 74% 58%, rgba(24,198,106,.15), transparent 24%); pointer-events:none; }
.hero-grid { height:100%; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(270px,.55fr); align-items:center; gap:60px; padding-top:94px; padding-bottom:92px; }
.hero-content { max-width:860px; }
.eyebrow { display:flex; align-items:center; gap:12px; text-transform:uppercase; letter-spacing:.18em; font-size:11px; font-weight:800; color:var(--green-dark); }
.eyebrow span { width:34px; height:2px; background:var(--green); }
.hero-kicker { color:var(--lime); margin-bottom:26px; }
.hero h1,.hero h2 { margin:0; font-family:'Montserrat'; font-size:clamp(48px,6.2vw,92px); line-height:.98; letter-spacing:-.045em; max-width:960px; }
.hero h1 em,.hero h2 em,.display-heading em,.corporate-content h2 em,.cta-content h2 em { font-style:normal; color:var(--green); }
.hero-content > p { max-width:700px; font-size:17px; line-height:1.75; color:rgba(255,255,255,.76); margin:28px 0 32px; }
.hero-actions,.cta-actions { display:flex; flex-wrap:wrap; gap:12px; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:52px; padding:0 20px; border-radius:999px; font-size:13px; font-weight:800; transition:transform .2s, background .2s, border-color .2s, color .2s; }
.btn:hover { transform:translateY(-2px); }
.btn-primary { background:var(--green); color:#041009; border:1px solid var(--green); }
.btn-primary:hover { background:var(--lime); border-color:var(--lime); }
.btn-ghost { color:#fff; border:1px solid rgba(255,255,255,.32); background:rgba(255,255,255,.04); backdrop-filter:blur(10px); }
.btn-ghost:hover { border-color:#fff; background:rgba(255,255,255,.1); }
.btn-light { background:#fff; color:#07120f; }
.btn-whatsapp { background:#1ecb6b; color:#05130d; }
.glass-panel { border:1px solid rgba(255,255,255,.18); background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.04)); backdrop-filter:blur(18px); box-shadow:0 30px 80px rgba(0,0,0,.18); }
.hero-side-card { align-self:end; margin-bottom:95px; border-radius:24px; padding:26px; max-width:360px; justify-self:end; }
.hero-side-card .side-label { color:var(--lime); text-transform:uppercase; font-size:10px; letter-spacing:.16em; font-weight:800; }
.hero-side-card strong { display:block; margin:10px 0 16px; font-family:'Montserrat'; font-size:22px; line-height:1.25; }
.hero-side-card p { margin:0; color:rgba(255,255,255,.7); line-height:1.65; font-size:13px; }
.mini-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:18px; }
.mini-grid span { padding:9px 10px; background:rgba(255,255,255,.07); border-radius:10px; color:rgba(255,255,255,.76); font-size:11px; }
.hero-controls { position:absolute; left:50%; bottom:34px; transform:translateX(-50%); z-index:10; display:flex; justify-content:space-between; align-items:center; }
.hero-progress-wrap { display:flex; align-items:center; gap:14px; font-size:10px; font-weight:800; letter-spacing:.12em; }
.hero-progress-wrap .hero-progress { position:static; width:190px; height:2px; background:rgba(255,255,255,.22); }
.hero-progress span { background:var(--green); }
.hero-arrows { display:flex; gap:8px; }
.hero-arrows button { width:46px; height:46px; border-radius:50%; border:1px solid rgba(255,255,255,.24); color:#fff; background:rgba(255,255,255,.06); backdrop-filter:blur(10px); transition:.2s; }
.hero-arrows button:hover { background:var(--green); color:#07130e; border-color:var(--green); }
.scroll-cue { position:absolute; right:28px; bottom:30%; z-index:20; display:flex; align-items:center; gap:12px; color:rgba(255,255,255,.58); font-size:10px; text-transform:uppercase; letter-spacing:.15em; writing-mode:vertical-rl; transform:rotate(180deg); }
.scroll-cue i { transform:rotate(180deg); color:var(--green); }

/* corporate */
.corporate-section { padding-top:40px; }
.corporate-card { min-height:560px; border-radius:34px; background:linear-gradient(135deg,#071812,#0d2b1e); color:#fff; overflow:hidden; display:grid; grid-template-columns:1fr .8fr; align-items:center; position:relative; padding:64px; box-shadow:0 35px 90px rgba(1,14,8,.16); }
.corporate-card::before { content:''; position:absolute; width:430px; height:430px; border-radius:50%; background:rgba(24,198,106,.14); filter:blur(30px); right:-120px; top:-100px; }
.corporate-content { position:relative; z-index:2; max-width:680px; }
.corporate-content h2 { font-family:'Montserrat'; font-size:clamp(42px,5vw,68px); letter-spacing:-.04em; line-height:1.02; margin:0 0 24px; }
.corporate-content p { color:rgba(255,255,255,.66); line-height:1.75; max-width:600px; margin-bottom:30px; }
.corporate-visual { min-height:420px; position:relative; display:grid; place-items:center; }
.corp-icon { width:130px; height:130px; border-radius:36px; display:grid; place-items:center; background:var(--green); color:#041009; font-size:48px; box-shadow:0 22px 50px rgba(24,198,106,.25); position:relative; z-index:3; }
.corp-orbit { position:absolute; border:1px solid rgba(109,247,159,.24); border-radius:50%; }
.orbit-a { width:310px; height:310px; }
.orbit-b { width:430px; height:430px; border-style:dashed; animation:spin 25s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.corp-label { position:absolute; padding:10px 14px; border-radius:999px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.07); backdrop-filter:blur(10px); font-size:11px; }
.label-a { top:52px; left:42px; }.label-b { right:0; top:164px; }.label-c { bottom:38px; left:96px; }

/* pickup */
.pickup-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:90px; align-items:center; }
.pickup-grid .lead { margin:26px 0 28px; }
.route-card { min-height:330px; background:#fff; border-radius:30px; box-shadow:var(--shadow); padding:46px 40px; display:flex; flex-direction:column; justify-content:center; }
.route-map { height:150px; position:relative; display:flex; align-items:center; justify-content:space-between; }
.route-line { position:absolute; left:62px; right:62px; top:50%; height:2px; background:repeating-linear-gradient(90deg,var(--green) 0 14px,transparent 14px 24px); }
.route-dot { width:54px; height:54px; display:grid; place-items:center; border-radius:18px; position:relative; z-index:3; background:var(--dark); color:#fff; }
.route-dot.end { background:var(--green); color:#041009; }
.route-car { position:absolute; left:38%; top:50%; transform:translate(-50%,-50%); width:60px; height:42px; display:grid; place-items:center; color:var(--green-dark); background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 12px 28px rgba(0,0,0,.08); animation:drive 5s ease-in-out infinite alternate; }
@keyframes drive { to { left:66%; } }
.route-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; border-top:1px solid var(--line); padding-top:20px; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.08em; }

/* Merge boundaries: the reference design applies only to the requested sections. */
:root{--green:#18c66a;--green-dark:#0d9f52;--lime:#6df79f;--soft-green:#dffbed;--dark:#06110e;--shadow:0 24px 80px rgba(2,12,8,.12);--header-h:88px;--container:1240px}
html{scroll-padding-top:130px}body.nav-open{overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:min(90%,var(--container));margin-inline:auto}.ref-icon{width:17px;height:17px;flex-shrink:0;vertical-align:middle}.site-header{background:transparent;border-bottom:0;top:0}.site-header nav{padding:0;min-height:0}.site-header .nav-cta{background:transparent;color:#fff;font-size:12px;white-space:nowrap}.site-header .nav-cta:hover{background:rgba(24,198,106,.1)}.nav-menu>a.current{color:#fff}.nav-menu>a.current:after{width:100%}.site-header .menu-toggle{border-radius:0}.site-header .menu-toggle span:not(.sr-only){width:100%}
.hero{height:100svh;min-height:860px;max-height:none}.hero .hero-slide{position:relative!important;inset:auto;opacity:1;visibility:visible;pointer-events:auto;flex-shrink:0;width:100%;transition:none}.hero .swiper-wrapper{display:flex;transform:none!important}.hero-swiper:not(.swiper-initialized) .hero-slide{position:absolute!important;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 1.2s,visibility 1.2s}.hero-swiper:not(.swiper-initialized) .hero-slide.active{opacity:1;visibility:visible;pointer-events:auto}.hero-grid{padding-top:160px;padding-bottom:120px;grid-template-columns:minmax(0,1.5fr) minmax(245px,.6fr);gap:45px}.hero h1,.hero h2{font-weight:800;font-size:clamp(48px,min(5.8vw,8.4vh),86px);line-height:1.01;letter-spacing:-.045em;overflow-wrap:normal;color:#fff}.hero h1 em,.hero h2 em{color:var(--green)}.hero-kicker{font-size:10px;line-height:1.6;font-weight:800;letter-spacing:.18em}.hero-content>p{font-size:15px;max-width:650px}.hero-side-card{margin-bottom:95px;min-width:0}.hero-side-card strong{font-weight:700}.hero-media{background-image:url('../assets/images/workshop.jpg');background-repeat:no-repeat;background-size:cover,cover}.active .hero-media{transform:scale(1)}.hero-progress-wrap .hero-progress{width:190px;height:2px;position:relative;background:rgba(255,255,255,.22)}.hero-progress span{position:absolute;inset:0;transform:scaleX(.2);transform-origin:left;background:var(--green);transition:transform .6s}.hero-controls{bottom:38px}.hero-arrows .ref-icon{width:17px;height:17px}.hero-arrows button{display:grid;place-items:center;font-size:15px}.image-note{bottom:9px;font-size:8px}.scroll-cue .ref-icon{color:var(--green);transform:rotate(180deg)}
.corporate-section{padding-top:20px}.corporate-section>.container,.pickup-section>.container{width:100%;max-width:1240px}.corporate-card{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:20px}.corporate-content h2{font-weight:700;font-size:clamp(40px,4.8vw,68px);line-height:1.03}.corporate-content p{font-size:14px}.section-tag{font-size:12px;margin-bottom:24px}.section-tag.light{color:var(--lime)}.corp-icon .ref-icon{width:58px;height:58px;stroke-width:1.9}.corp-orbit{max-width:100%;aspect-ratio:1}.orbit-a{width:78%;height:auto}.orbit-b{width:108%;max-width:108%;height:auto}.corp-label{white-space:nowrap}.label-a{left:0}.label-b{right:-8px}.label-c{left:45px}
.pickup-section .pickup-grid{gap:75px}.pickup-section .display-heading{font-family:'Montserrat',sans-serif;font-weight:700;font-size:clamp(38px,4.8vw,64px);line-height:1.04;letter-spacing:-.04em}.pickup-section .lead{font-size:15px;line-height:1.75;color:#66716d}.pickup-section .text-link{border:0;gap:12px;font-size:12px}.pickup-section .text-link .ref-icon{color:var(--green-dark)}.route-card{min-width:0}.route-dot .ref-icon{width:21px;height:21px}.route-car .ref-icon{width:24px;height:24px}.route-steps{font-size:9px}.route-dot.start{background:var(--dark)}
/* Apply the attached emerald palette to existing accents without changing their layout. */
h2 em,h1 em{color:var(--green-dark)}.green{background:var(--green);color:#041009}.green:hover{background:var(--lime)}.showcase h2 em,.contact h2 em{color:var(--green)}.floating .whatsapp{background:var(--green)}.filters span{color:var(--green)}.timeline article:before{background:var(--green-dark)}.service-top,.why-list article>span,.timeline span{color:var(--green-dark)}.service-top svg{stroke:var(--green-dark)}.service-card:hover{background:#e6f5ec}
@media(min-width:1600px){.hero h1,.hero h2{font-size:86px}}
@media(max-width:1100px){.hero{min-height:820px}.hero-grid{gap:30px;grid-template-columns:minmax(0,1.6fr) minmax(220px,.7fr)}.hero h1,.hero h2{font-size:clamp(47px,5.9vw,65px)}.hero-side-card{padding:22px}.hero-side-card strong{font-size:20px}.nav-menu{gap:18px;font-size:11px}.brand-copy strong{font-size:15px}.brand-copy small{font-size:7px}.corporate-card{padding:45px}.corporate-content h2{font-size:48px}.corp-label{font-size:9px;padding:8px 11px}.pickup-section .pickup-grid{gap:45px}.route-card{padding:35px 26px}}
@media(max-width:860px){:root{--header-h:76px}html{scroll-padding-top:85px}.top-strip{display:none}.site-header .menu-toggle{display:flex;z-index:1100}.nav-menu{position:fixed;inset:0;background:rgba(4,15,11,.98);backdrop-filter:blur(24px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:90px 7% 40px;gap:23px;transform:translateX(100%);visibility:hidden;transition:transform .35s,visibility .35s}.nav-menu.open{transform:translateX(0);visibility:visible}.nav-menu>a:not(.nav-cta){display:block;font-family:'Montserrat',sans-serif;font-size:25px}.nav-cta{margin-top:10px}.menu-toggle.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.hero{min-height:750px}.hero-grid{grid-template-columns:1fr;align-content:center;gap:24px;padding-top:125px;padding-bottom:110px}.hero h1,.hero h2{font-size:clamp(48px,8.2vw,72px);max-width:700px}.hero-content>p{max-width:590px}.hero-side-card{display:none}.scroll-cue{display:none}.hero-controls{bottom:32px}.corporate-card{grid-template-columns:1fr;padding:44px 35px}.corporate-content{max-width:620px}.corporate-content h2{font-size:clamp(40px,6vw,58px)}.corporate-visual{width:min(100%,430px);min-height:390px;margin-inline:auto}.orbit-b{max-width:100%}.label-a{left:12px}.label-b{right:0}.label-c{left:48px}.pickup-grid{grid-template-columns:1fr}.pickup-section .pickup-grid{gap:35px}.pickup-section .display-heading{font-size:clamp(40px,7vw,58px)}.pickup-section .lead{max-width:550px}.route-card{min-height:300px}.route-steps{font-size:10px}}
@media(max-width:620px){.container{width:88%}.brand-copy small{display:none}.hero{height:100svh;min-height:820px}.hero-grid{padding-top:115px;padding-bottom:105px}.hero h1,.hero h2{font-size:clamp(39px,10.5vw,58px);line-height:1.03;letter-spacing:-.045em}.hero-kicker{font-size:8px;letter-spacing:.14em;margin-bottom:22px}.hero-content>p{font-size:14px;line-height:1.65;margin:24px 0}.hero-actions .btn{width:100%;min-height:48px}.hero-progress-wrap{gap:10px}.hero-progress-wrap .hero-progress{width:90px}.hero-arrows{gap:5px}.hero-arrows button{width:35px;height:35px}.hero-controls{bottom:34px}.image-note{left:6%;right:auto;font-size:7px}.corporate-card{border-radius:24px;padding:35px 24px}.corporate-content h2{font-size:clamp(34px,8.7vw,46px)}.corporate-content p{font-size:13px}.corporate-content .btn{font-size:11px;padding:0 16px;gap:9px}.corporate-visual{min-height:315px}.corp-icon{width:100px;height:100px;border-radius:28px}.corp-icon .ref-icon{width:47px;height:47px}.corp-label{font-size:8px;padding:8px 10px}.label-a{top:34px;left:3px}.label-b{top:126px;right:-6px}.label-c{bottom:25px;left:35px}.pickup-section .display-heading{font-size:42px}.route-card{padding:25px 20px;min-height:280px;border-radius:24px}.route-map{height:135px}.route-dot{width:44px;height:44px;border-radius:15px}.route-line{left:50px;right:50px}.route-car{width:48px;height:35px}.route-steps{grid-template-columns:1fr 1fr;gap:14px;font-size:8px}.cursor-dot,.cursor-ring{display:none}}
@media(pointer:coarse),(prefers-reduced-motion:reduce){.cursor-dot,.cursor-ring{display:none}}
@media(prefers-reduced-motion:reduce){.corp-orbit,.route-car{animation:none!important}.hero-media{transform:none!important}.hero-progress span{transition:none}.hero-slide{transition:none!important}}
.hero .hero-slide{pointer-events:none}.hero .hero-slide.active{pointer-events:auto}
