*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;overflow-x:hidden;width:100%;}
:root{
  --bg:#060C1A;--surface:#0B1525;--green:#5DC626;
  --green-lo:rgba(93,198,38,0.08);--green-mid:rgba(93,198,38,0.18);
  --white:#F0F4FF;--muted:#B7C2DE;--border:rgba(255,255,255,0.06);
  --font-d:"Montserrat",sans-serif;--font-l:"Comfortaa",sans-serif;
  --ease-spring:cubic-bezier(0.34,1.56,0.64,1);
  --ease-out:cubic-bezier(0.16,1,0.3,1);
}
body{font-family:var(--font-d);background:var(--bg);color:var(--white);overflow-x:hidden;width:100%;
  -webkit-text-size-adjust:100%;text-size-adjust:100%;}
#bg-canvas{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:0.42;}
img,svg,canvas,video{max-width:100%;height:auto;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:2px solid var(--green);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;
    transition-duration:0.01ms!important;scroll-behavior:auto!important;}
}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:200;height:64px;display:flex;align-items:center;
  padding:0 clamp(1.5rem,5vw,4rem);padding-left:max(clamp(1.5rem,5vw,4rem),env(safe-area-inset-left));
  padding-right:max(clamp(1.5rem,5vw,4rem),env(safe-area-inset-right));
  justify-content:space-between;
  transition:background 0.5s var(--ease-out),border-color 0.5s;border-bottom:1px solid transparent;}
nav.scrolled{background:rgba(6,12,26,0.9);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-color:var(--border);}
.nav-logo{display:flex;align-items:center;text-decoration:none;}
.nav-links{display:flex;align-items:center;gap:2.5rem;list-style:none;}
.nav-links a{font-family:var(--font-l);font-size:0.72rem;font-weight:700;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color 0.2s;}
.nav-links a:hover{color:var(--white);}
.nav-cta{background:var(--green)!important;color:#060C1A!important;padding:0.55rem 1.2rem!important;
  border-radius:6px!important;transition:transform 0.25s var(--ease-spring),box-shadow 0.25s!important;}
.nav-cta:hover{transform:translateY(-2px) scale(1.03)!important;box-shadow:0 0 28px rgba(93,198,38,0.35)!important;}
.nav-social{display:flex;align-items:center;gap:1rem;}
.nav-social-link{color:var(--muted);display:flex;align-items:center;transition:color 0.2s,transform 0.2s;}
.nav-social-link:hover{color:var(--green);transform:translateY(-2px);}

/* MOBILE MENU BUTTON */
.menu-btn{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;
  width:44px;height:44px;background:transparent;border:1px solid var(--border);border-radius:8px;
  cursor:pointer;flex-shrink:0;margin-left:0.8rem;padding:0;-webkit-tap-highlight-color:transparent;}
.menu-btn span{display:block;width:18px;height:2px;background:var(--white);border-radius:2px;
  transition:transform 0.3s var(--ease-out),opacity 0.3s var(--ease-out);}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0;}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* MOBILE MENU DRAWER */
.mobile-menu{position:fixed;top:64px;left:0;right:0;bottom:0;z-index:199;
  background:rgba(6,12,26,0.98);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
  display:flex;flex-direction:column;justify-content:space-between;padding:2rem 1.5rem 2.5rem;
  transform:translateY(-12px);opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity 0.3s var(--ease-out),transform 0.3s var(--ease-out),visibility 0.3s;
  overflow-y:auto;-webkit-overflow-scrolling:touch;}
.mobile-menu.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
.mobile-menu-links{list-style:none;display:flex;flex-direction:column;gap:0.4rem;}
.mobile-menu-links a{display:block;font-family:var(--font-l);font-weight:700;font-size:1rem;
  letter-spacing:0.02em;color:var(--white);text-decoration:none;padding:1rem 0.4rem;
  border-bottom:1px solid var(--border);min-height:44px;display:flex;align-items:center;}
.mobile-menu-links a.nav-cta{margin-top:1rem;border-bottom:none;justify-content:center;
  border-radius:8px!important;min-height:48px!important;padding:0.9rem 1.2rem!important;}
.mobile-menu-social{display:flex;align-items:center;justify-content:center;gap:1.6rem;
  padding-top:1.5rem;}
.mobile-menu-social .nav-social-link{width:44px;height:44px;justify-content:center;
  border:1px solid var(--border);border-radius:50%;}
body.menu-open{overflow:hidden;}

/* HERO */
#hero{position:relative;z-index:1;min-height:100svh;display:grid;place-items:center;
  padding:100px clamp(1.5rem,6vw,5rem) 80px;text-align:center;}
.hero-inner{max-width:820px;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:0.6rem;font-family:var(--font-l);
  font-size:0.68rem;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:var(--green);
  margin-bottom:2.2rem;opacity:0;animation:fadeUp 0.7s 0.2s var(--ease-out) forwards;}
.hero-eyebrow::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--green);
  animation:blink 1.8s ease-in-out infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0.2}}
.hero-h1{font-weight:900;font-size:clamp(3rem,7.5vw,6rem);line-height:0.96;letter-spacing:-0.04em;
  margin-bottom:1.6rem;opacity:0;animation:fadeUp 0.8s 0.38s var(--ease-out) forwards;}
.hero-h1 .accent{display:block;color:var(--green);}
.outline-svg{display:block;width:100%;max-width:min(900px,90vw);margin:0.06em auto;}
#draw-svg{width:100%;height:auto;overflow:visible;}
.dp{fill:none;stroke:#5DC626;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:var(--len,9999);stroke-dashoffset:var(--len,9999);}
.dp.drawn{animation:drawStroke var(--dur,0.8s) var(--delay,0s) cubic-bezier(0.16,1,0.3,1) forwards;}
@keyframes drawStroke{to{stroke-dashoffset:0;}}
.hero-sub{font-size:clamp(0.95rem,1.6vw,1.1rem);font-weight:400;color:var(--muted);line-height:1.8;
  max-width:520px;margin:0 auto 2.8rem;opacity:0;animation:fadeUp 0.8s 0.55s var(--ease-out) forwards;}
.hero-services{display:flex;gap:0.7rem;justify-content:center;flex-wrap:wrap;margin-bottom:2.5rem;
  opacity:0;animation:fadeUp 0.8s 0.6s var(--ease-out) forwards;}
.hero-pill{font-family:var(--font-l);font-size:0.65rem;font-weight:700;letter-spacing:0.12em;
  text-transform:uppercase;background:var(--green-lo);border:1px solid rgba(93,198,38,0.2);
  color:var(--green);padding:0.4rem 0.9rem;border-radius:999px;}
.hero-actions{display:flex;gap:0.9rem;justify-content:center;flex-wrap:wrap;
  opacity:0;animation:fadeUp 0.8s 0.7s var(--ease-out) forwards;}
.btn-p{background:var(--green);color:#060C1A;font-family:var(--font-d);font-weight:700;
  font-size:0.88rem;padding:0.85rem 1.8rem;border-radius:8px;text-decoration:none;border:none;
  cursor:pointer;transition:transform 0.3s var(--ease-spring),box-shadow 0.3s;}
.btn-p:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 32px rgba(93,198,38,0.4);}
.btn-s{background:transparent;color:var(--white);font-family:var(--font-d);font-weight:600;
  font-size:0.88rem;padding:0.85rem 1.8rem;border-radius:8px;text-decoration:none;
  border:1px solid var(--border);transition:border-color 0.2s,color 0.2s,transform 0.2s;}
.btn-s:hover{border-color:rgba(93,198,38,0.4);color:var(--green);transform:translateY(-1px);}
.hero-scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:6px;opacity:0;animation:fadeIn 1s 1.2s forwards;
  transition:opacity 0.4s,visibility 0.4s;}
.hero-scroll-hint.hidden{opacity:0!important;visibility:hidden;}
.hero-scroll-hint span{font-family:var(--font-l);font-size:0.58rem;font-weight:700;
  letter-spacing:0.25em;text-transform:uppercase;color:var(--muted);}
.scroll-track{width:1px;height:40px;background:linear-gradient(to bottom,var(--green),transparent);
  animation:scrollPulse 1.8s ease-in-out infinite;}
@keyframes scrollPulse{0%,100%{opacity:0.15}50%{opacity:0.8}}

/* SECTIONS */
.section{position:relative;z-index:1;padding:clamp(80px,10vw,130px) clamp(1.5rem,6vw,5rem);}
.section--dark{background:var(--surface);}
.section--deep{background:#050A16;}
.inner{max-width:1080px;margin:0 auto;}
.s-eyebrow{font-family:var(--font-l);font-size:0.65rem;font-weight:700;letter-spacing:0.22em;
  text-transform:uppercase;color:var(--green);display:block;margin-bottom:1.2rem;}
.s-title{font-weight:900;font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-0.03em;line-height:1.08;margin-bottom:1rem;}
.s-body{font-size:1rem;font-weight:400;color:var(--muted);line-height:1.9;max-width:520px;}
.centered{text-align:center;}.centered .s-body{margin:0 auto;}
.head{margin-bottom:4rem;}

/* SERVICIOS */
.srv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border);
  border:1px solid var(--border);border-radius:18px;overflow:hidden;}
.srv-card{background:var(--bg);padding:2.8rem 2.2rem;display:flex;flex-direction:column;
  position:relative;overflow:hidden;transition:background 0.3s;opacity:0;transform:translateY(28px);}
.srv-card.in{opacity:1;transform:translateY(0);transition:opacity 0.6s var(--ease-out),transform 0.6s var(--ease-out),background 0.3s;}
.srv-card:hover{background:var(--surface);}
.srv-card:hover .srv-arrow{transform:translateX(4px);}
.srv-card:nth-child(1){border-top:2px solid var(--green);}
.srv-card:nth-child(2){border-top:2px solid rgba(52,130,246,0.7);}
.srv-card:nth-child(3){border-top:2px solid rgba(168,85,247,0.7);}
.srv-num{font-family:var(--font-l);font-size:0.6rem;font-weight:700;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--muted);margin-bottom:2rem;}
.srv-icon{font-size:2rem;margin-bottom:1.4rem;}
.srv-card h3{font-weight:800;font-size:1.25rem;letter-spacing:-0.02em;line-height:1.2;margin-bottom:0.8rem;}
.srv-card>p{font-size:0.85rem;color:var(--muted);line-height:1.75;margin-bottom:1.8rem;flex:1;}
.srv-tags{display:flex;flex-wrap:wrap;gap:0.4rem;margin-bottom:1.8rem;}
.srv-tag{font-family:var(--font-l);font-size:0.6rem;font-weight:700;letter-spacing:0.1em;
  text-transform:uppercase;background:rgba(255,255,255,0.04);border:1px solid var(--border);
  color:var(--muted);padding:0.28rem 0.6rem;border-radius:4px;}
.srv-card:nth-child(1) .srv-tag{background:var(--green-lo);border-color:rgba(93,198,38,0.15);color:var(--green);}
.srv-card:nth-child(2) .srv-tag{background:rgba(52,130,246,0.06);border-color:rgba(52,130,246,0.15);color:#82b4fa;}
.srv-card:nth-child(3) .srv-tag{background:rgba(168,85,247,0.06);border-color:rgba(168,85,247,0.15);color:#c084fc;}
.srv-arrow{font-size:0.85rem;color:var(--muted);transition:transform 0.25s var(--ease-spring);align-self:flex-start;}

/* PROCESO */
.timeline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);}
.timeline-track{position:absolute;top:30px;left:12.5%;right:12.5%;height:1px;background:var(--border);z-index:0;}
.timeline-progress{position:absolute;top:0;left:0;height:100%;background:var(--green);width:0%;
  transition:width 1.2s var(--ease-out);box-shadow:0 0 12px rgba(93,198,38,0.5);}
.t-step{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 1.2rem;
  opacity:0;transform:translateY(16px);}
.t-step.in{opacity:1;transform:translateY(0);transition:opacity 0.5s var(--ease-out),transform 0.5s var(--ease-out);}
.t-dot{width:60px;height:60px;border-radius:50%;border:1px solid var(--border);background:var(--bg);
  display:grid;place-items:center;position:relative;z-index:2;
  transition:border-color 0.4s,background 0.4s,box-shadow 0.4s;margin-bottom:1.6rem;}
.section--deep .t-dot{background:#050A16;}
.t-dot.lit{border-color:var(--green);background:var(--green-lo);box-shadow:0 0 20px rgba(93,198,38,0.3);}
.t-dot-n{font-family:var(--font-l);font-size:1.4rem;font-weight:700;color:var(--muted);transition:color 0.4s;}
.t-dot.lit .t-dot-n{color:var(--green);}
.t-tag{font-family:var(--font-l);font-size:0.6rem;font-weight:700;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--green);margin-bottom:0.5rem;}
.t-step h3{font-weight:700;font-size:0.9rem;letter-spacing:-0.01em;margin-bottom:0.6rem;}
.t-step p{font-size:0.78rem;color:var(--muted);line-height:1.65;}

/* NIVELES */
.niv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);
  border:1px solid var(--border);border-radius:18px;overflow:hidden;}
.niv-cell{background:var(--bg);padding:2.4rem 1.8rem;display:flex;flex-direction:column;
  transition:background 0.3s;opacity:0;transform:translateY(24px);}
.niv-cell.in{opacity:1;transform:translateY(0);transition:opacity 0.55s var(--ease-out),transform 0.55s var(--ease-out),background 0.3s;}
.niv-cell:hover{background:var(--surface);}
.niv-cell:first-child{border-left:2px solid var(--green);}
.niv-num{font-family:var(--font-l);font-size:0.6rem;font-weight:700;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--green);margin-bottom:1.2rem;}
.niv-icon{font-size:1.6rem;margin-bottom:1rem;}
.niv-cell h3{font-weight:700;font-size:0.9rem;letter-spacing:-0.01em;margin-bottom:0.5rem;}
.niv-cell>p{font-size:0.8rem;color:var(--muted);line-height:1.65;margin-bottom:1.4rem;flex:1;}
.niv-list{list-style:none;display:flex;flex-direction:column;gap:0.38rem;}
.niv-list li{font-size:0.75rem;color:var(--muted);display:flex;gap:0.5rem;align-items:flex-start;}
.niv-list li::before{content:"→";color:var(--green);font-size:0.65rem;flex-shrink:0;margin-top:2px;}

/* POR QUÉ */
.porque-wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,6vw,7rem);
  align-items:center;position:relative;min-height:700px;}
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);
  border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-top:2.5rem;
  position:relative;z-index:2;width:115%;}
.pillar{background:rgba(8,14,8,0.93);padding:2.2rem;transition:background 0.25s;
  opacity:0;transform:translateY(16px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);}
.pillar.in{opacity:1;transform:translateY(0);transition:opacity 0.5s var(--ease-out),transform 0.5s var(--ease-out),background 0.25s;}
.pillar:hover{background:rgba(18,28,18,0.98);}
.pillar-ico{font-size:1.7rem;margin-bottom:1rem;}
.pillar h4{font-weight:700;font-size:1rem;letter-spacing:-0.01em;margin-bottom:0.5rem;}
.pillar p{font-size:0.88rem;color:var(--muted);line-height:1.7;}
.dino-side{position:absolute;top:0;bottom:0;right:-4%;width:50%;opacity:0;transform:translateX(30px);z-index:1;}
.dino-side.in{opacity:1;transform:translateX(0);transition:opacity 0.7s var(--ease-out),transform 0.7s var(--ease-out);}
#dino-canvas{display:block;width:100%;height:100%;position:absolute;inset:0;}
.dino-caption{font-family:var(--font-l);font-size:0.62rem;font-weight:700;letter-spacing:0.2em;
  text-transform:uppercase;color:rgba(93,198,38,0.35);margin-top:1.2rem;text-align:center;}

/* CTA */
#cta{text-align:center;overflow:hidden;}
#cta::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:800px;height:800px;background:radial-gradient(circle,rgba(93,198,38,0.06) 0%,transparent 60%);
  pointer-events:none;}
.cta-inner{max-width:620px;margin:0 auto;position:relative;z-index:1;}
.cta-dino{display:block;margin-bottom:1.8rem;animation:dinoFloat 2.8s ease-in-out infinite;}
@keyframes dinoFloat{0%,100%{transform:translateY(0) rotate(0deg)}40%{transform:translateY(-5px) rotate(-3deg)}70%{transform:translateY(-3px) rotate(1deg)}}
.cta-h2{font-weight:900;font-size:clamp(2.4rem,5vw,4rem);letter-spacing:-0.04em;line-height:1.0;margin-bottom:1.2rem;}
.cta-h2 span{color:var(--green);}
.cta-p{font-size:1rem;color:var(--muted);line-height:1.8;margin-bottom:2.5rem;}
.cta-meta{margin-top:1.4rem;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:0.6rem;font-family:var(--font-l);font-size:0.62rem;font-weight:700;
  letter-spacing:0.15em;text-transform:uppercase;color:var(--muted);}
.cta-meta-row{display:flex;align-items:center;justify-content:center;gap:0.3rem;flex-wrap:wrap;}
.cta-meta span{color:var(--green);}

/* FOOTER */
footer{background:#030710;padding:2.5rem clamp(1.5rem,6vw,5rem);border-top:1px solid var(--border);
  padding-left:max(clamp(1.5rem,6vw,5rem),env(safe-area-inset-left));
  padding-right:max(clamp(1.5rem,6vw,5rem),env(safe-area-inset-right));
  padding-bottom:max(2.5rem,env(safe-area-inset-bottom));
  position:relative;z-index:1;}
.footer-inner{max-width:1080px;margin:0 auto;display:flex;align-items:center;
  justify-content:space-between;gap:1.5rem;flex-wrap:wrap;}
.footer-brand{font-family:var(--font-l);font-size:0.72rem;font-weight:700;letter-spacing:0.1em;color:var(--muted);}
.footer-nav{display:flex;gap:2rem;list-style:none;}
.footer-nav a{font-size:0.75rem;color:var(--muted);text-decoration:none;transition:color 0.2s;}
.footer-nav a:hover{color:var(--white);}
.footer-tag{font-family:var(--font-l);font-size:0.65rem;font-weight:700;letter-spacing:0.15em;
  text-transform:uppercase;color:rgba(74,90,120,0.5);}

/* MÉTRICAS */
.section--metrics{padding:0;background:#0D1F08;border-top:1px solid rgba(93,198,38,0.2);border-bottom:1px solid rgba(93,198,38,0.2);}
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.metric-item{padding:2.6rem 2rem;text-align:center;border-right:1px solid rgba(93,198,38,0.12);
  display:flex;flex-direction:column;align-items:center;gap:0.5rem;
  opacity:0;transform:translateY(12px);
  transition:background 0.25s;}
.metric-item:last-child{border-right:none;}
.metric-item:hover{background:rgba(93,198,38,0.08);}
.metric-item.in{opacity:1;transform:translateY(0);transition:opacity 0.5s var(--ease-out),transform 0.5s var(--ease-out),background 0.25s;}
.metric-num{font-family:var(--font-d);font-weight:900;font-size:clamp(2rem,3.5vw,2.8rem);
  letter-spacing:-0.04em;color:var(--green);line-height:1;text-shadow:0 0 28px rgba(93,198,38,0.4);}
.metric-label{font-family:var(--font-l);font-size:0.68rem;font-weight:700;letter-spacing:0.1em;
  text-transform:uppercase;color:#8FD66A;line-height:1.5;max-width:160px;}
/* KEYFRAMES */
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* RESPONSIVE */
@media (max-width:860px){
  #servicios .head .s-body{white-space:normal;}
}
@media (max-width:860px){
  nav{padding:0 1.2rem;}
  #rextri-logo{height:26px!important;}
  .nav-links{display:none;}
  .nav-social{display:none;}
  .menu-btn{display:flex;}
  .lang-btn{margin-left:auto;}
  #hero{padding:90px 1.5rem 60px;}
  .hero-h1{font-size:clamp(2.2rem,8vw,3.5rem);}
  .hero-services{gap:0.4rem;}
  .hero-pill{font-size:0.58rem;padding:0.35rem 0.7rem;}
  .srv-grid{grid-template-columns:1fr;}
  .srv-card{padding:2rem 1.5rem;}
  .timeline{grid-template-columns:1fr 1fr;gap:2.5rem 1.5rem;}
  .timeline-track{display:none;}
  .t-tag{display:none;}
  .niv-grid{grid-template-columns:1fr 1fr;}
  .porque-wrap{grid-template-columns:1fr;gap:2rem;min-height:auto;}
  .pillars{width:100%;}
  .dino-side{display:none!important;}
  .pillars{grid-template-columns:1fr 1fr;}
  .footer-inner{flex-direction:column;gap:1.2rem;text-align:center;}
  .footer-nav{flex-wrap:wrap;justify-content:center;gap:1.2rem;}
  .metrics-grid{grid-template-columns:repeat(2,1fr);}
  .metric-item{border-bottom:1px solid var(--border);}
  .metric-item:nth-child(even){border-right:none;}
  .metric-item:nth-child(3),.metric-item:nth-child(4){border-bottom:none;}
}
@media (max-width:560px){
  nav{height:56px;}
  .mobile-menu{top:56px;}
  #rextri-logo{height:20px!important;}
  #hero{padding:80px 1.2rem 50px;}
  .hero-h1{font-size:clamp(1.9rem,9vw,2.8rem);letter-spacing:-0.03em;}
  .outline-svg{max-width:95vw;}
  .dp{stroke-width:5;}
  .hero-sub{font-size:0.9rem;}
  .hero-services{flex-direction:column;align-items:center;}
  .hero-actions{flex-direction:column;align-items:center;}
  .btn-p,.btn-s{width:100%;max-width:280px;text-align:center;}
  .section{padding:60px 1.2rem;}
  .s-title{font-size:clamp(1.7rem,7vw,2.4rem);}
  .srv-card{padding:1.8rem 1.2rem;}
  .srv-card h3{font-size:1.05rem;}
  .timeline{grid-template-columns:1fr;gap:2.2rem;}
  .t-step{display:grid;grid-template-columns:56px minmax(96px,112px) 1fr;column-gap:0.9rem;
    align-items:start;text-align:left;padding:0;}
  .t-dot{width:44px;height:44px;min-width:44px;margin-bottom:0;align-self:start;}
  .t-dot-n{font-size:1.05rem;}
  .t-step h3{margin-bottom:0;}
  .t-step p{grid-column:3;}
  .niv-grid{grid-template-columns:1fr;}
  .pillars{grid-template-columns:1fr;}
  #cta{padding:70px 1.2rem;}
  .cta-h2{font-size:clamp(1.8rem,8vw,2.5rem);}
  .cta-p{font-size:0.9rem;}
  .footer-nav{gap:0.8rem;}
}
@media (max-width:380px){
  .hero-h1{font-size:1.8rem;}
  .s-title{font-size:1.6rem;}
  .btn-p,.btn-s{font-size:0.82rem;padding:0.8rem 1rem;}
}

  /* ── CONTACTO ── */
  .contact-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(3rem, 6vw, 7rem);
    align-items: stretch;
  }
  .contact-info .s-body { margin-bottom: 2.5rem; }
  .contact-items { display: flex; flex-direction: column; gap: 1.4rem; }
  .contact-item {
    display: flex; align-items: center; gap: 1rem;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 1.3rem 1.6rem;
    text-decoration: none;
    color: var(--white);
    transition: border-color 0.25s, background 0.25s, transform 0.25s;
  }
  .contact-item:hover {
    border-color: rgba(93,198,38,0.3);
    background: var(--surface);
    transform: translateX(4px);
  }
  .contact-icon {
    width: 40px; height: 40px; border-radius: 10px;
    background: var(--green-lo);
    border: 1px solid rgba(93,198,38,0.2);
    display: grid; place-items: center;
    flex-shrink: 0;
    color: var(--green);
  }
  .contact-icon svg { width: 18px; height: 18px; }
  .contact-label {
    font-family: var(--font-l);
    font-size: 0.6rem; font-weight: 700;
    letter-spacing: 0.15em; text-transform: uppercase;
    color: var(--green); margin-bottom: 0.35rem;
  }
  .contact-value { font-size: 0.88rem; font-weight: 600; color: var(--white); line-height: 1.6; margin-top: 0.15rem; }

  /* Form */
  .contact-form-wrap {
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 2.5rem 2rem;
    display: flex;
    flex-direction: column;
  }
  .contact-form {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    height: 100%;
  }
  .contact-form .form-group:last-of-type {
    flex: 1;
  }
  .contact-form .form-group:last-of-type textarea {
    height: 100%;
    min-height: 140px;
  }
  .contact-form { display: flex; flex-direction: column; gap: 1.6rem; }
  .form-group { display: flex; flex-direction: column; gap: 0.5rem; }
  .form-group label {
    font-family: var(--font-l);
    font-size: 0.68rem; font-weight: 700;
    letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--muted);
  }
  .form-group input,
  .form-group textarea {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 0.85rem 1rem;
    color: var(--white);
    font-family: var(--font-d);
    font-size: 16px;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
    resize: vertical;
    width: 100%;
  }
  .form-group input::placeholder,
  .form-group textarea::placeholder { color: var(--muted); font-size: 0.85rem; }
  .form-group input:focus,
  .form-group textarea:focus {
    border-color: rgba(93,198,38,0.45);
    box-shadow: 0 0 0 3px rgba(93,198,38,0.08);
  }
  .char-counter{
    align-self: flex-end;
    font-family: var(--font-l);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--muted);
    margin-top: -0.3rem;
  }
  .char-counter.warn{ color: #E8B24A; }
  .char-counter.limit{ color: #E85D4A; }
  .form-btn { width: 100%; justify-content: center; text-align: center; margin-top: 0.4rem; }
  .form-success {
    display: flex; align-items: center; gap: 0.6rem;
    background: var(--green-lo);
    border: 1px solid rgba(93,198,38,0.25);
    border-radius: 8px;
    padding: 0.9rem 1.2rem;
    color: var(--green);
    font-family: var(--font-l);
    font-size: 0.78rem; font-weight: 700;
    letter-spacing: 0.08em;
  }

  /* Responsive contacto */
  @media (max-width: 860px) {
    .contact-wrap { grid-template-columns: 1fr; gap: 2.5rem; }
  }
/* LANG SWITCHER */
.lang-btn{
  margin-left:0.6rem;
  font-family:var(--font-l);font-size:0.68rem;font-weight:700;
  letter-spacing:0.12em;padding:5px 12px;min-height:36px;
  border-radius:7px;border:1px solid var(--green);
  color:var(--green);background:transparent;cursor:pointer;
  transition:background 0.2s,color 0.2s;flex-shrink:0;
  -webkit-tap-highlight-color:transparent;
}
.lang-btn:hover{background:var(--green);color:#0a1a04;}

/* SVG WORD LANG SWITCH */
.outline-svg-wrap{display:block;width:100%;}
.hero-svg-en{display:none;font-family:var(--font-d);font-weight:900;
  font-size:clamp(3.2rem,9vw,7.5rem);letter-spacing:-0.04em;
  color:transparent;-webkit-text-stroke:2px var(--green);
  line-height:1;}
.lang-en .outline-svg{display:none;}
.lang-en .hero-svg-en{display:inline;}