:root{--ink:#071014;--ink2:#0c171b;--panel:#101d21;--white:#f5f3ed;--muted:#b7c0bc;--green:#18a84a;--green2:#78ad39;--gold:#c9953c;--line:rgba(255,255,255,.13);--max:1460px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ink);color:var(--white);font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden}a{color:inherit}.skip-link{position:fixed;top:-80px;left:20px;z-index:1000;background:var(--gold);color:var(--ink);padding:12px 18px}.skip-link:focus{top:20px}.site-header{position:fixed;z-index:100;top:0;left:0;right:0;height:88px;display:flex;align-items:center;gap:28px;padding:0 clamp(24px,4vw,70px);background:linear-gradient(180deg,rgba(4,10,12,.96),rgba(4,10,12,.5),transparent);transition:.35s}.site-header.scrolled{height:72px;background:rgba(6,16,20,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{width:150px;height:75px;display:flex;align-items:center}.brand img{height:72px;width:auto;object-fit:contain}.main-nav{margin-left:auto;display:flex;align-items:center;gap:clamp(18px,2vw,35px)}.main-nav a{position:relative;text-decoration:none;text-transform:uppercase;font-size:.75rem;font-weight:750;letter-spacing:.06em;white-space:nowrap}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:var(--gold);transition:.25s}.main-nav a:hover:after,.main-nav a.active:after{right:0}.main-nav .nav-green{color:#68c87e}.header-cta{border:1px solid rgba(201,149,60,.8);padding:11px 20px;text-decoration:none;text-transform:uppercase;font-size:.78rem;font-weight:800;letter-spacing:.08em;color:#e3bd75}.header-cta span{margin-left:12px}.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle span{display:block;width:26px;height:2px;background:#fff;margin:7px}.hero{min-height:820px;height:100vh;max-height:980px;position:relative;display:grid;align-items:center;overflow:hidden}.hero-media,.promise-image{position:absolute;inset:0;background:center/cover no-repeat url("assets/hero.webp");transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,10,12,.97) 0%,rgba(4,10,12,.75) 38%,rgba(4,10,12,.18) 70%,rgba(4,10,12,.58) 100%),linear-gradient(0deg,rgba(4,10,12,.85),transparent 45%)}.hero-content{position:relative;z-index:2;width:min(760px,70vw);margin-left:clamp(28px,6vw,105px);margin-top:80px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.78rem;font-weight:800;color:var(--muted);margin:0 0 22px}.eyebrow.green{color:#5fbe78}.eyebrow.gold{color:var(--gold)}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(3rem,5.8vw,6.2rem);line-height:.93;letter-spacing:-.045em;text-transform:uppercase;margin:0 0 28px;max-width:1000px}.hero h1 em{font-style:normal;color:var(--gold)}.hero-copy{font-size:clamp(1rem,1.25vw,1.25rem);max-width:680px;color:#d9deda;line-height:1.7}.hero-actions{display:flex;gap:14px;margin-top:35px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 25px;border:1px solid transparent;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;font-weight:850;cursor:pointer;transition:.25s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:#091114}.btn-ghost{border-color:rgba(255,255,255,.65);background:rgba(7,16,20,.25)}.btn-outline-green{border-color:var(--green);color:#89d49b}.circular-badge{position:absolute;z-index:2;right:clamp(30px,6vw,110px);top:50%;transform:translateY(-44%);width:240px;height:240px;border:1px solid rgba(24,168,74,.78);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;text-decoration:none;background:rgba(5,14,17,.66);backdrop-filter:blur(6px);box-shadow:0 0 0 22px rgba(24,168,74,.05)}.circular-badge:before{content:"";position:absolute;inset:-11px;border-top:3px solid var(--green);border-right:3px solid transparent;border-radius:50%;transform:rotate(40deg)}.badge-icon{font-size:2rem;color:var(--green);line-height:1}.circular-badge strong{text-transform:uppercase;font-size:1.35rem;line-height:1.05;margin:8px}.circular-badge i{font-style:normal;color:#59c577}.circular-badge small{max-width:160px;color:#c7ceca;line-height:1.3}.scroll-hint{position:absolute;z-index:2;bottom:28px;left:50%;transform:translateX(-50%);text-transform:uppercase;font-size:.65rem;letter-spacing:.18em;color:#b7c0bc}.scroll-hint span{display:block;height:38px;width:1px;background:var(--gold);margin:0 auto 10px}.proof-strip{min-height:112px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(201,149,60,.45);border-bottom:1px solid var(--line);background:#071014}.proof-strip div{padding:25px clamp(16px,3vw,45px);display:flex;align-items:center;gap:18px;border-right:1px solid var(--line)}.proof-strip div:last-child{border-right:0}.proof-strip strong{font-size:1.55rem;color:var(--gold)}.proof-strip span{text-transform:uppercase;font-size:.73rem;letter-spacing:.08em;color:#d8dedb}.section{padding:clamp(90px,10vw,160px) clamp(25px,6vw,105px);max-width:var(--max);margin:auto}.section.compact{padding-top:100px;padding-bottom:100px}.about{display:grid;grid-template-columns:minmax(0,.92fr) minmax(500px,1.08fr);gap:8vw;align-items:center}.about h2,.section-heading h2,.contact h2{font-size:clamp(2.7rem,5vw,5.5rem);line-height:.96;letter-spacing:-.045em;text-transform:uppercase;margin-bottom:34px}.about h2 span,.section-heading h2 span,.contact h2 span{color:var(--green2)}.lead{font-size:1.35rem;color:#fff;line-height:1.55}.about-copy>p:not(.eyebrow):not(.lead){color:var(--muted);max-width:650px}.about blockquote{margin:38px 0 0;padding:0 0 0 24px;border-left:3px solid var(--gold);font-size:1.15rem;color:#e3e7e5}.about-visual{position:relative}.about-visual:after{content:"";position:absolute;left:-24px;bottom:-24px;width:48%;height:48%;border-left:1px solid var(--gold);border-bottom:1px solid var(--gold);pointer-events:none}.about-visual img{display:block;width:100%;aspect-ratio:16/11;object-fit:cover;filter:saturate(.84) contrast(1.08)}.vertical-label{position:absolute;right:-42px;top:50%;transform:rotate(90deg) translateY(-50%);transform-origin:center;text-transform:uppercase;letter-spacing:.18em;font-size:.65rem;color:#d9c08b}.why{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-heading{max-width:990px}.section-heading.centered{text-align:center;margin:0 auto 70px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:65px;border-top:1px solid var(--line)}.principle{padding:40px 42px 20px 0;border-right:1px solid var(--line)}.principle:not(:first-child){padding-left:42px}.principle:last-child{border-right:0}.principle span,.service-row>span{color:var(--gold);font-size:.75rem;font-weight:800;letter-spacing:.16em}.principle h3{font-size:1.8rem;margin:14px 0 10px}.principle p{color:var(--muted)}.companies{padding:clamp(100px,11vw,170px) 0;background:#0a1519}.company-grid{display:grid;grid-template-columns:repeat(3,1fr);min-height:650px}.company{position:relative;overflow:hidden;border-right:1px solid rgba(255,255,255,.2)}.company:last-child{border-right:0}.company img{position:absolute;width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.08);transition:transform .7s,filter .7s}.company:hover img{transform:scale(1.045);filter:saturate(1) contrast(1.08)}.company-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,11,14,.96),rgba(4,11,14,.18) 70%)}.company-content{position:absolute;z-index:2;left:clamp(25px,3vw,50px);right:clamp(25px,3vw,50px);bottom:45px}.company-content>span{color:var(--gold);font-weight:800;font-size:.75rem;letter-spacing:.15em}.company-content h3{font-size:clamp(1.8rem,2.5vw,3rem);line-height:1;margin:12px 0;text-transform:uppercase}.company-content strong{display:block;text-transform:uppercase;color:#6ac77f;font-size:.8rem;letter-spacing:.13em}.company-content p{color:#d0d6d3;max-width:440px}.company-content a{text-transform:uppercase;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-underline-offset:7px}.integration-line{text-align:center;padding:32px 20px 0;color:#bfc7c3}.integration-line b{color:#fff}.integration-line em{font-style:normal;color:var(--green2);font-weight:800}.services{max-width:var(--max)}.service-filters{display:flex;flex-wrap:wrap;gap:10px;margin:50px 0 35px}.service-filters button{color:#d7dcda;background:transparent;border:1px solid var(--line);padding:10px 18px;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:800;cursor:pointer}.service-filters button.selected{background:var(--green);border-color:var(--green);color:#04100a}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:75px minmax(260px,.65fr) 1fr;gap:30px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line);transition:.25s}.service-row:hover{padding-left:12px;background:linear-gradient(90deg,rgba(24,168,74,.08),transparent)}.service-row.hidden{display:none}.service-row h3{margin:0;text-transform:uppercase;font-size:1.35rem}.service-row p{margin:0;color:var(--muted)}.technical-note{font-size:.82rem;color:#87918c;margin-top:25px}.circular{padding:clamp(110px,10vw,170px) clamp(25px,5vw,85px);display:grid;grid-template-columns:.9fr 1.1fr .7fr;gap:5vw;align-items:center;background:radial-gradient(circle at 52% 48%,rgba(24,168,74,.12),transparent 30%),#081317;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.circular-copy h2{font-size:clamp(2.5rem,4.4vw,5rem);line-height:.96;text-transform:uppercase;letter-spacing:-.04em}.circular-copy h2 span{color:var(--green2)}.circular-copy>p:not(.eyebrow){color:var(--muted);font-size:1.05rem;max-width:620px}.cycle{position:relative;aspect-ratio:1;max-width:650px;margin:auto;border:1px solid rgba(24,168,74,.45);border-radius:50%}.cycle:before,.cycle:after{content:"";position:absolute;inset:8%;border:1px dashed rgba(255,255,255,.12);border-radius:50%}.cycle:after{inset:18%;border-style:solid;border-color:rgba(201,149,60,.18)}.cycle-center{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;text-transform:uppercase}.cycle-center img{width:90px;height:52px;object-fit:contain;display:block;margin:auto}.cycle-center strong{font-size:1rem;line-height:1.1}.cycle-step{position:absolute;z-index:2;width:145px;text-align:center;background:#081317;padding:8px}.cycle-step span{display:block;color:var(--gold);font-size:.65rem;font-weight:800}.cycle-step b{display:block;text-transform:uppercase;font-size:.78rem}.cycle-step small{color:#aeb8b3;line-height:1.2}.s1{left:50%;top:-18px;transform:translateX(-50%)}.s2{right:-55px;top:25%}.s3{right:2%;bottom:3%}.s4{left:2%;bottom:3%}.s5{left:-55px;top:25%}.benefits{border-left:1px solid var(--line);padding-left:35px}.benefits h3{text-transform:uppercase;font-size:1rem;color:#63c47a;letter-spacing:.1em;margin-bottom:30px}.benefits div{display:grid;grid-template-columns:38px 1fr;gap:12px;border-bottom:1px solid var(--line);padding:18px 0}.benefits span{color:var(--gold);font-size:.75rem}.benefits p{color:var(--muted);margin:0}.benefits b{color:#fff}.promise{height:650px;position:relative;display:flex;align-items:center;overflow:hidden}.promise-image{background-image:url("assets/planta.webp")}.promise-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,10,12,.97),rgba(4,10,12,.55) 55%,rgba(4,10,12,.15)),linear-gradient(0deg,rgba(4,10,12,.5),transparent)}.promise-content{position:relative;z-index:2;margin-left:clamp(30px,8vw,140px);max-width:780px}.promise-content h2{font-size:clamp(3.2rem,6vw,6.5rem);line-height:.9;text-transform:uppercase;letter-spacing:-.05em;margin-bottom:30px}.promise-content h2::first-line{color:#fff}.promise-content p:last-child{font-size:1.2rem;color:#d5dbd8;max-width:650px}.projects{max-width:var(--max)}.project-gallery{display:grid;grid-template-columns:1.2fr .7fr;grid-template-rows:320px 320px;gap:14px;margin-top:70px}.project-gallery figure{margin:0;position:relative;overflow:hidden}.project-gallery img{width:100%;height:100%;object-fit:cover;transition:.6s;filter:saturate(.82) contrast(1.07)}.project-gallery figure:hover img{transform:scale(1.035);filter:saturate(1)}.project-wide{grid-row:1/3}.project-tall{grid-row:1}.project-small{grid-row:2}.project-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:55px 28px 25px;background:linear-gradient(0deg,rgba(4,10,12,.95),transparent);font-size:1.1rem}.project-gallery figcaption span{display:block;text-transform:uppercase;color:var(--gold);font-size:.7rem;letter-spacing:.15em;font-weight:800}.trust{border-top:1px solid var(--line)}.trust-quote{display:grid;grid-template-columns:80px 1fr;gap:25px}.trust-quote>span{font-family:Georgia,serif;color:var(--gold);font-size:7rem;line-height:1}.trust-quote h2{font-size:clamp(2.1rem,4vw,4rem);line-height:1.15;letter-spacing:-.035em}.trust-quote em{font-style:normal;color:var(--green2)}.values{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);margin-top:55px}.values p{text-transform:uppercase;text-align:center;padding:22px 10px;margin:0;border-right:1px solid var(--line);font-size:.75rem;letter-spacing:.08em;color:#c9d0cd}.values p:last-child{border-right:0}.contact{padding:clamp(100px,10vw,160px) clamp(25px,6vw,105px);display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:#0b171b}.contact-intro>p:not(.eyebrow){color:var(--muted);max-width:560px;font-size:1.08rem}.contact-links{margin-top:50px;display:grid;gap:18px}.contact-links a,.contact-links span{text-decoration:none;color:#fff;font-size:1.05rem}.contact-links small{display:block;color:#75817c;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{text-transform:uppercase;letter-spacing:.1em;font-size:.67rem;font-weight:800;color:#aeb7b3}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;padding:13px 2px;font:inherit;outline:none;border-radius:0}.field select option{color:#111}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}.submit{justify-self:start;margin-top:12px}.form-note{align-self:center;color:#818c87;font-size:.78rem;margin:12px 0 0}footer{padding:70px clamp(25px,6vw,105px) 25px;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:50px;background:#050c0f;border-top:1px solid var(--line)}footer h3{text-transform:uppercase;font-size:.72rem;letter-spacing:.15em;color:var(--gold);margin-bottom:20px}footer>div:not(.footer-brand):not(.footer-bottom){display:flex;flex-direction:column;gap:8px}footer a,footer span{color:#9da8a3;text-decoration:none;font-size:.88rem}.footer-brand img{width:145px;height:120px;object-fit:contain}.footer-brand p{text-transform:uppercase;font-size:.8rem;letter-spacing:.1em;color:#cbd1ce}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding-top:25px;border-top:1px solid var(--line)}.whatsapp{position:fixed;z-index:80;right:24px;bottom:24px;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#041009;text-decoration:none;font-weight:900;font-size:.78rem;box-shadow:0 8px 28px rgba(0,0,0,.35)}.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:1150px){.main-nav{gap:16px}.main-nav a{font-size:.66rem}.circular{grid-template-columns:1fr 1fr}.benefits{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:30px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.benefits h3{grid-column:1/-1}.about{grid-template-columns:1fr 1fr}.values{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.site-header{height:72px;padding:0 22px}.brand{width:110px}.brand img{height:60px}.header-cta{display:none}.menu-toggle{display:block;margin-left:auto;z-index:2}.main-nav{position:fixed;inset:0;background:rgba(5,13,16,.98);display:flex;flex-direction:column;justify-content:center;gap:28px;transform:translateX(100%);transition:.35s}.main-nav.open{transform:none}.main-nav a{font-size:1rem}.hero{min-height:760px;height:100svh}.hero-content{width:auto;margin:90px 25px 0}.hero h1{font-size:clamp(2.65rem,12vw,4.5rem)}.hero-copy{max-width:90%}.circular-badge{display:none}.proof-strip{grid-template-columns:1fr 1fr}.proof-strip div:nth-child(2){border-right:0}.about,.contact{grid-template-columns:1fr}.about-visual{margin-top:30px}.company-grid{grid-template-columns:1fr}.company{min-height:580px;border-right:0;border-bottom:1px solid var(--line)}.circular{grid-template-columns:1fr}.cycle{width:min(90vw,560px)}.benefits{grid-template-columns:1fr}.project-gallery{grid-template-columns:1fr;grid-template-rows:repeat(3,330px)}.project-wide,.project-tall,.project-small{grid-row:auto}.values{grid-template-columns:1fr 1fr}.contact-form{margin-top:25px}footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}@media(max-width:600px){.hero-actions{flex-direction:column;align-items:stretch}.btn{width:100%}.proof-strip{grid-template-columns:1fr}.proof-strip div{border-right:0;border-bottom:1px solid var(--line)}.about h2,.section-heading h2,.contact h2{font-size:2.65rem}.principles{grid-template-columns:1fr}.principle,.principle:not(:first-child){padding:28px 0;border-right:0;border-bottom:1px solid var(--line)}.service-row{grid-template-columns:42px 1fr;gap:16px}.service-row p{grid-column:2}.circular{padding-left:18px;padding-right:18px}.cycle{margin:55px auto}.cycle-step{width:115px;font-size:.72rem}.s2{right:-20px}.s5{left:-20px}.trust-quote{grid-template-columns:1fr}.trust-quote>span{height:55px}.contact-form{grid-template-columns:1fr}.field.full{grid-column:auto}footer{grid-template-columns:1fr}.footer-brand,.footer-bottom{grid-column:auto}.footer-bottom{flex-direction:column;gap:8px}.scroll-hint{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.company img,.project-gallery img{transition:none}}

/* Refinamiento tipográfico y diagrama circular — v2 */
body{font-family:"Montserrat","Aptos","Avenir Next","Helvetica Neue",Arial,sans-serif;font-weight:400}
h1,h2,h3,.main-nav a,.header-cta,.btn,.eyebrow,.company-content strong,.integration-line{font-family:"Montserrat","Aptos","Avenir Next","Helvetica Neue",Arial,sans-serif}
.hero h1,.about h2,.section-heading h2,.contact h2,.circular-copy h2,.promise-content h2,.trust-quote h2{letter-spacing:-.025em;font-weight:700}
.hero h1{line-height:.98}
.main-nav a,.header-cta,.btn,.eyebrow{letter-spacing:.075em}

.circular{grid-template-columns:minmax(360px,.88fr) minmax(520px,1.12fr);gap:clamp(55px,7vw,120px);overflow:visible;background:radial-gradient(circle at 72% 48%,rgba(24,168,74,.18),transparent 31%),#081317}
.circular-copy{position:relative;z-index:3}
.cycle{width:min(46vw,650px);max-width:650px;min-width:520px;aspect-ratio:1;margin:25px auto;border:3px solid rgba(86,205,112,.92);box-shadow:0 0 0 14px rgba(24,168,74,.08),0 0 58px rgba(24,168,74,.18);background:radial-gradient(circle,rgba(17,45,42,.95) 0 25%,rgba(8,19,23,.9) 26% 100%)}
.cycle:before{inset:7%;border:2px dashed rgba(201,149,60,.48)}
.cycle:after{inset:-8px;border:0;border-top:5px solid var(--gold);border-right:5px solid var(--gold);transform:rotate(26deg)}
.cycle-center{width:42%;height:42%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0d2526;border:1px solid rgba(255,255,255,.18);box-shadow:0 16px 44px rgba(0,0,0,.35)}
.cycle-center img{width:112px;height:64px}
.cycle-center strong{font-size:1.2rem;line-height:1.15;letter-spacing:.03em}
.cycle-step{width:175px;padding:12px 14px;background:#0d2124;border:1px solid rgba(201,149,60,.72);border-radius:15px;box-shadow:0 12px 28px rgba(0,0,0,.34)}
.cycle-step span{font-size:.78rem}.cycle-step b{font-size:.92rem;letter-spacing:.035em}.cycle-step small{display:block;font-size:.78rem;margin-top:3px;color:#d0d8d4}
.s1{top:-28px}.s2{right:-65px;top:25%}.s3{right:1%;bottom:-5px}.s4{left:1%;bottom:-5px}.s5{left:-65px;top:25%}
.benefits{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:34px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.benefits h3{grid-column:1/-1;margin-bottom:0}.benefits div{padding:18px 22px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025)}
.project-wide img{object-position:center 45%}

@media(max-width:1150px){.circular{grid-template-columns:1fr}.cycle{width:min(76vw,620px);min-width:0}.benefits{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){
  .circular{display:block;overflow:visible}.cycle{width:100%;aspect-ratio:auto;min-width:0;margin:55px 0 35px;padding:26px 18px;display:grid;gap:12px;border:1px solid rgba(86,205,112,.75);border-radius:22px;box-shadow:0 0 40px rgba(24,168,74,.12);background:linear-gradient(180deg,rgba(17,45,42,.72),rgba(8,19,23,.95))}
  .cycle:before,.cycle:after{display:none}.cycle-center,.cycle-step{position:relative;inset:auto;left:auto;right:auto;top:auto;bottom:auto;transform:none;width:100%;height:auto;border-radius:14px}
  .cycle-center{padding:22px;display:grid;grid-template-columns:auto 1fr;text-align:left;gap:14px}.cycle-center img{width:82px;height:48px}.cycle-center strong{font-size:1.05rem}
  .cycle-step{padding:14px 16px;text-align:left;display:grid;grid-template-columns:38px 1fr;align-items:center}.cycle-step span{grid-row:1/3}.cycle-step small{grid-column:2}.cycle-step:not(:last-child):after{content:"↓";position:absolute;left:50%;bottom:-17px;z-index:5;color:var(--gold);font-weight:800}
  .benefits{display:grid;grid-template-columns:1fr;margin-top:30px}.benefits h3{grid-column:auto}
}

/* Optimización móvil integral — v5 */
@media(max-width:900px){
  body.menu-open{overflow:hidden;touch-action:none}
  .site-header{height:70px;padding:0 18px;background:linear-gradient(180deg,rgba(4,10,12,.96),rgba(4,10,12,.74),transparent)}
  .site-header.scrolled{height:66px}
  .brand{width:108px;height:62px;position:relative;z-index:3}
  .brand img{height:58px;max-width:100%}
  .menu-toggle{position:relative;z-index:3;margin-right:-8px;border-radius:8px}
  .menu-toggle span{transition:transform .25s,opacity .2s}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4.5px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
  .main-nav{z-index:2;padding:92px 28px 40px;justify-content:flex-start;overflow-y:auto;overscroll-behavior:contain}
  .main-nav a{font-size:1rem;line-height:1.25}

  .hero{height:auto;min-height:max(720px,100svh);max-height:none;align-items:flex-start}
  .hero-content{width:auto;max-width:680px;margin:0;padding:clamp(118px,18vh,155px) 22px 132px}
  .hero h1{font-size:clamp(2.35rem,10.5vw,4.25rem);line-height:.98;letter-spacing:-.035em;margin-bottom:22px;text-wrap:balance}
  .hero-copy{max-width:100%;font-size:1rem;line-height:1.55}
  .hero-actions{margin-top:28px}
  .hero-slide img,.hero-slide video{object-position:58% center}
  .hero-slide:nth-child(2) img{object-position:38% center}
  .hero-carousel-controls{bottom:18px;right:18px}

  .section,.section.compact{padding:76px 22px}
  .about h2,.section-heading h2,.contact h2,.circular-copy h2,.promise-content h2,.trust-quote h2{overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance}
  .section-heading.centered{margin:0 auto 46px;padding:0 22px}
  .vertical-label{display:none}
  .about-visual:after{left:-10px;bottom:-10px}
  .about-visual img{aspect-ratio:4/3}

  .companies{padding:82px 0}
  .company{min-height:520px}
  .company-content{left:22px;right:22px;bottom:28px;min-height:0}
  .company-content h3{font-size:clamp(1.85rem,8vw,2.6rem);text-wrap:balance}
  .company-content p{font-size:.98rem;line-height:1.5}
  .company-machinery img{object-position:56% center}
  .company-transport img{object-position:32% center}
  .company-aggregate img{object-position:center}

  .service-filters{margin:34px 0 26px;gap:8px}
  .service-filters button{flex:1 1 calc(50% - 8px);min-height:44px;padding:9px 10px}
  .service-row{padding:22px 0;gap:8px}
  .service-row h3{font-size:1.2rem}

  .circular{padding:76px 22px}
  .circular-copy h2{font-size:clamp(2.1rem,9.4vw,3.25rem)}
  .cycle{padding:20px 14px;margin:38px 0 28px;gap:14px}
  .cycle-center{padding:18px}
  .cycle-center img{width:min(46vw,145px)}
  .benefits{gap:12px;padding-top:28px}
  .benefits div{padding:16px 18px}

  .promise{height:auto;min-height:540px}
  .promise-image{background-position:62% center}
  .promise-content{margin:0;padding:90px 22px;max-width:620px}
  .promise-content h2{font-size:clamp(2.65rem,12vw,4.8rem)}
  .project-gallery{margin-top:44px;grid-template-rows:repeat(3,280px)}
  .trust-quote{gap:10px}
  .trust-quote>span{font-size:5rem}
  .contact{padding:78px 22px;gap:38px}
  footer{padding:58px 22px 24px;gap:34px}
}

@media(max-width:600px){
  .hero-content{padding-left:18px;padding-right:18px}
  .hero h1{font-size:clamp(2.2rem,11.4vw,3.35rem)}
  .hero-actions{gap:10px}
  .hero-carousel-controls{left:18px;right:auto;max-width:calc(100vw - 94px);padding:7px 9px}
  .hero-dots{gap:5px}
  .hero-dot{width:7px!important;min-width:7px!important;height:7px!important}
  .hero-dot.active{width:18px!important;min-width:18px!important}
  .proof-strip div{padding:20px 22px}
  .proof-strip strong{font-size:1.3rem;min-width:52px}
  .about h2,.section-heading h2,.contact h2{font-size:clamp(2rem,10vw,2.55rem)}
  .lead{font-size:1.12rem}
  .about blockquote{margin-top:28px;font-size:1rem}
  .company{min-height:500px}
  .integration-line{padding-left:18px;padding-right:18px}
  .values p{font-size:.68rem;padding:18px 6px}
  .contact-links a,.contact-links span{font-size:.98rem;overflow-wrap:anywhere}
  .whatsapp{right:16px;bottom:16px;width:54px;height:54px}
  .whatsapp svg{width:29px;height:29px}
}

@media(max-width:390px){
  .hero h1{font-size:2.18rem}
  .eyebrow{font-size:.82rem}
  .company-content h3{font-size:1.8rem}
  .service-filters button{flex-basis:100%}
  .cycle-center img{width:120px}
  .promise-content h2{font-size:2.7rem}
}

@media(max-width:900px) and (max-height:700px) and (orientation:landscape){
  .hero{min-height:700px}
  .hero-content{padding-top:100px}
}

/* El proceso conserva su lectura circular también en teléfonos — v6 */
@media(max-width:820px){
  .cycle{
    position:relative;
    display:block;
    width:min(100%,380px);
    max-width:380px;
    aspect-ratio:1;
    margin:48px auto 34px;
    padding:0;
    overflow:visible;
    border:2px solid rgba(86,205,112,.88);
    border-radius:50%;
    background:radial-gradient(circle,rgba(17,45,42,.96) 0 23%,rgba(8,19,23,.96) 24% 100%);
    box-shadow:0 0 0 10px rgba(24,168,74,.055),0 0 42px rgba(24,168,74,.15);
  }
  .cycle:before{
    content:"";
    display:block;
    position:absolute;
    inset:10%;
    border:1px dashed rgba(201,149,60,.55);
    border-radius:50%;
  }
  .cycle:after{
    content:"↻";
    display:grid;
    position:absolute;
    inset:19%;
    place-items:center;
    color:rgba(100,211,126,.16);
    font-size:clamp(9rem,45vw,12rem);
    font-weight:400;
    line-height:1;
    transform:none;
    border:0;
  }
  .cycle-center{
    position:absolute;
    z-index:3;
    left:50%;
    top:50%;
    width:clamp(102px,31vw,122px);
    height:clamp(102px,31vw,122px);
    padding:13px 10px;
    transform:translate(-50%,-50%);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    border-radius:50%;
    background:#0d2526;
  }
  .cycle-center img{width:clamp(76px,22vw,94px);height:auto;margin:0 auto 2px}
  .cycle-center strong{font-size:clamp(.72rem,2.8vw,.9rem);line-height:1.08;text-align:center}
  .cycle-step{
    position:absolute;
    z-index:4;
    width:clamp(108px,34vw,132px);
    min-height:61px;
    padding:9px 10px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    border-radius:15px;
    background:#0b2023;
    box-shadow:0 8px 20px rgba(0,0,0,.32);
  }
  .cycle-step b{font-size:clamp(.67rem,2.8vw,.8rem);line-height:1.05}
  .cycle-step small{font-size:clamp(.61rem,2.45vw,.72rem);line-height:1.12;margin-top:5px}
  .cycle-step:not(:last-child):after{display:none}
  .cycle .s1{left:50%;top:-18px;right:auto;bottom:auto;transform:translateX(-50%)}
  .cycle .s2{right:-2px;top:23%;left:auto;bottom:auto;transform:translateY(-50%)}
  .cycle .s3{right:8%;bottom:1%;left:auto;top:auto;transform:none}
  .cycle .s4{left:8%;bottom:1%;right:auto;top:auto;transform:none}
  .cycle .s5{left:-2px;top:23%;right:auto;bottom:auto;transform:translateY(-50%)}
}

@media(max-width:350px){
  .cycle-step{width:103px;padding-left:7px;padding-right:7px}
  .cycle-center{width:92px;height:92px}
  .cycle-center img{width:68px}
  .cycle .s2{right:-4px}.cycle .s5{left:-4px}
}

/* Contacto directo y redes oficiales */
.whatsapp{width:60px;height:60px;background:#25d366;color:#fff;box-shadow:0 10px 32px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.16)}
.whatsapp svg{width:32px;height:32px;display:block;fill:currentColor}
.whatsapp:hover{transform:translateY(-3px);background:#20bd5a}
.whatsapp:focus-visible{outline:3px solid #fff;outline-offset:4px}
.social-links{display:flex!important;flex-direction:row!important;align-items:center;gap:11px!important;margin-top:9px}
.social-icon{width:38px;height:38px;border-radius:10px;display:grid!important;place-items:center;padding:0;overflow:hidden}
.social-icon svg{width:24px;height:24px;display:block}
.social-whatsapp{background:#25d366!important;color:#fff!important}
.social-whatsapp svg{fill:currentColor}
.social-instagram{background:transparent}.social-instagram svg{width:38px;height:38px}
.social-pending{opacity:.7;cursor:default}

/* Carrusel cinematográfico de portada */
.hero-carousel{position:absolute;inset:0;z-index:0;overflow:hidden;background:#071014}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;pointer-events:none}
.hero-slide.active{opacity:1}
.hero-slide img,.hero-slide video{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transform:scale(1.015)}
.hero-video-slide video{object-position:center}
.hero-shade{z-index:1}
.hero-carousel-controls{position:absolute;z-index:4;right:clamp(24px,5vw,90px);bottom:34px;display:flex;align-items:center;gap:10px;padding:8px 10px;background:rgba(4,12,15,.58);border:1px solid rgba(255,255,255,.16);border-radius:999px;backdrop-filter:blur(10px)}
.hero-carousel-controls button{min-width:34px;height:34px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.09);color:#fff;font:700 1.25rem/1 "Nunito",sans-serif;cursor:pointer;transition:.2s}
.hero-carousel-controls button:hover,.hero-carousel-controls button:focus-visible{background:var(--gold);color:#081014;outline:none}
.hero-carousel-controls .hero-pause{width:auto;border-radius:999px;padding:0 12px;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}
.hero-dots{display:flex;gap:7px}.hero-dot{min-width:8px!important;width:8px;height:8px!important;padding:0;border-radius:50%;background:rgba(255,255,255,.42)!important}.hero-dot.active{width:24px;min-width:24px!important;border-radius:999px;background:var(--gold)!important}
.company-transport img{object-position:left center}

.integration-line{position:relative;max-width:1250px;margin:0 auto;padding:76px 42px 10px;text-align:center;font-size:clamp(1.65rem,2.7vw,3rem);font-weight:700;line-height:1.16;letter-spacing:-.02em;color:#eef2ef}
.integration-line:before{content:"";display:block;width:86px;height:3px;margin:0 auto 32px;background:var(--gold)}
.integration-line span{display:inline-block;margin:.08em .12em}.integration-line b{color:#fff}.integration-line em{display:block;margin-top:18px;font-style:normal;color:#78d08b;font-size:1.3em;font-weight:800;letter-spacing:-.025em}

/* Sistema limpio: sin numeración ornamental y con empresas alineadas */
.principle h3{margin-top:0}
.company-content{bottom:38px;min-height:292px;display:flex;flex-direction:column;align-items:flex-start}
.company-content h3{margin:0 0 16px;min-height:1em;font-weight:700;letter-spacing:-.015em}
.company-content strong{margin-bottom:10px}.company-content p{margin-bottom:18px}.company-content a{margin-top:auto}
.service-row{grid-template-columns:minmax(260px,.65fr) 1fr}
.benefits div{grid-template-columns:1fr}
.cycle-step b{font-weight:700;letter-spacing:.015em}

/* Centro del proceso circular */
.cycle-center{padding:26px 22px;box-sizing:border-box}
.cycle-center img{width:min(76%,160px);height:auto;max-height:94px;margin:0 auto 12px;object-fit:contain}
.cycle-center strong{display:block;width:100%;margin:0;text-align:center;font-size:1.12rem;line-height:1.18;letter-spacing:.015em}

@media(max-width:900px){.hero-carousel-controls{right:22px;bottom:24px}.scroll-hint{display:none}}
@media(max-width:820px){.cycle-center{display:flex;padding:22px;gap:5px;text-align:center}.cycle-center img{width:145px;height:auto;margin:0 auto 8px}.cycle-center strong{text-align:center}.hero-slide img,.hero-slide video{object-position:center}.company-transport img{object-position:left center}.integration-line{padding:58px 24px 4px;font-size:clamp(1.5rem,6vw,2.15rem)}.integration-line span{display:block}.integration-line em{margin-top:24px}.company-content{min-height:278px}.cycle-step{display:block}.cycle-step small{display:block;margin-top:4px}.service-row{grid-template-columns:1fr}.service-row p{grid-column:auto}}
@media(max-width:600px){.hero-carousel-controls{left:18px;right:18px;justify-content:center}.hero-carousel-controls .hero-pause{display:none}.hero-dots{gap:6px}}

/* Ajustes de jerarquía, contraste y encaje — v4 */
.eyebrow{font-size:clamp(.96rem,1vw,1.08rem);line-height:1.25;font-weight:700;letter-spacing:.11em;margin-bottom:24px}
.about h2 span{display:inline-block;font-size:.78em;line-height:1.05;letter-spacing:-.015em}

.company-overlay{background:linear-gradient(0deg,rgba(3,9,12,.99) 0%,rgba(3,9,12,.91) 31%,rgba(3,9,12,.48) 63%,rgba(3,9,12,.12) 100%)}
.company-content{filter:drop-shadow(0 3px 8px rgba(0,0,0,.82))}
.company-content h3,.company-content p,.company-content a{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.9)}
.company-content strong{color:#83dc98;text-shadow:0 2px 8px rgba(0,0,0,.95)}
.company-content p{font-weight:500}

.circular{padding:clamp(84px,6.5vw,118px) clamp(30px,5vw,82px);grid-template-columns:minmax(420px,1fr) minmax(450px,520px);gap:clamp(42px,5vw,82px);overflow:hidden}
.circular-copy h2{font-size:clamp(2.7rem,3.7vw,4.55rem)}
.cycle{width:min(37vw,510px);min-width:450px;max-width:510px;margin:12px auto}
.cycle-step{width:150px;padding:10px 12px}
.cycle-step span{font-size:.72rem}.cycle-step b{font-size:.82rem}.cycle-step small{font-size:.72rem}
.s1{top:-22px}.s2{right:-45px}.s3{right:2%;bottom:-2px}.s4{left:2%;bottom:-2px}.s5{left:-45px}

.promise-content h2 span{color:var(--green2)}

@media(max-width:1150px){
  .circular{grid-template-columns:1fr;padding-top:100px;padding-bottom:100px;overflow:visible}
  .cycle{width:min(68vw,510px);min-width:0}
}
@media(max-width:820px){
  .eyebrow{font-size:.9rem}
  .about h2 span{font-size:.82em}
  .circular{padding-top:84px;padding-bottom:84px;overflow:hidden}
  .cycle{width:100%;max-width:none;margin-top:44px}
  .cycle-step{width:100%}
}

/* Corrección final del ciclo móvil: cinco nodos compactos alrededor del anillo */
@media(max-width:820px){
  .circular{overflow:hidden}
  .cycle{
    position:relative;
    display:block;
    width:min(100%,360px);
    min-width:0;
    max-width:360px;
    aspect-ratio:1;
    margin:62px auto 48px;
    padding:0;
    overflow:visible;
    border:2px solid rgba(86,205,112,.9);
    border-radius:50%;
    background:radial-gradient(circle,rgba(17,45,42,.96) 0 22%,rgba(8,19,23,.97) 23% 100%);
    box-shadow:0 0 0 9px rgba(24,168,74,.06),0 0 38px rgba(24,168,74,.15);
  }
  .cycle:before{
    content:"";
    display:block;
    position:absolute;
    inset:10%;
    border:1px dashed rgba(201,149,60,.58);
    border-radius:50%;
  }
  .cycle:after{
    content:"↻";
    display:grid;
    position:absolute;
    inset:18%;
    place-items:center;
    color:rgba(100,211,126,.14);
    font-size:clamp(8rem,42vw,10.5rem);
    font-weight:400;
    line-height:1;
    transform:none;
    border:0;
  }
  .cycle-center{
    position:absolute;
    z-index:3;
    left:50%;
    top:50%;
    width:108px;
    height:108px;
    padding:12px 9px;
    transform:translate(-50%,-50%);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    border-radius:50%;
    background:#0d2526;
  }
  .cycle-center img{width:78px;height:auto;max-height:55px;margin:0 auto 3px}
  .cycle-center strong{font-size:.76rem;line-height:1.05;text-align:center;margin:0}
  .cycle-step{
    position:absolute;
    z-index:4;
    width:112px;
    min-height:56px;
    padding:7px 8px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    border-radius:13px;
    background:#0b2023;
    box-shadow:0 7px 18px rgba(0,0,0,.34);
  }
  .cycle-step b{font-size:.67rem;line-height:1.02;letter-spacing:.005em}
  .cycle-step small{font-size:.59rem;line-height:1.08;margin-top:4px}
  .cycle-step:not(:last-child):after{display:none}
  .cycle .s1{left:50%;top:-20px;right:auto;bottom:auto;transform:translateX(-50%)}
  .cycle .s2{right:-2px;top:29%;left:auto;bottom:auto;transform:translateY(-50%)}
  .cycle .s3{right:7%;bottom:3%;left:auto;top:auto;transform:none}
  .cycle .s4{left:7%;bottom:3%;right:auto;top:auto;transform:none}
  .cycle .s5{left:-2px;top:29%;right:auto;bottom:auto;transform:translateY(-50%)}
}

@media(max-width:360px){
  .cycle{width:100%}
  .cycle-step{width:100px;min-height:52px;padding:6px}
  .cycle-step b{font-size:.62rem}
  .cycle-step small{font-size:.55rem}
  .cycle-center{width:94px;height:94px}
  .cycle-center img{width:66px}
  .cycle-center strong{font-size:.68rem}
}

/* Menú móvil a pantalla completa, incluso después de desplazarse */
@media(max-width:900px){
  body.menu-open .site-header,
  body.menu-open .site-header.scrolled{
    height:100vh;
    height:100dvh;
    min-height:100vh;
    min-height:100dvh;
    padding-top:0;
    align-items:flex-start;
    background:rgba(5,13,16,.99);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    border-bottom:0;
  }
  body.menu-open .brand{position:absolute;left:18px;top:4px}
  body.menu-open .menu-toggle{position:absolute;right:18px;top:13px;margin:0}
  body.menu-open .main-nav.open{
    position:absolute;
    inset:0;
    width:100%;
    height:100vh;
    height:100dvh;
    max-height:100vh;
    max-height:100dvh;
    padding:116px 26px 38px;
    justify-content:flex-start;
    gap:24px;
    overflow-y:auto;
    overscroll-behavior:contain;
    transform:none;
    background:rgba(5,13,16,.99);
  }
  body.menu-open .main-nav.open a{flex:0 0 auto}
}
