@font-face{
  font-family:'satoshi-light';
  src:local('Satoshi Light'),local('Satoshi-Light'),local('Satoshi');
  font-style:normal;
  font-weight:300;
  font-display:swap;
}
@font-face{
  font-family:'satoshi-medio';
  src:local('Satoshi Medium'),local('Satoshi-Medium'),local('Satoshi');
  font-style:normal;
  font-weight:500;
  font-display:swap;
}
@font-face{
  font-family:'satoshi-variable';
  src:local('Satoshi Variable'),local('Satoshi-Variable'),local('Satoshi');
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
}

:root{
  --black:#000000;--b1:#0A0A0A;--b2:#111111;--b3:#181818;--b4:#202020;
  --gray:#878787;--gray-l:#AAAAAA;--gray-d:#555555;
  --white:#FFFFFF;--w70:rgba(255,255,255,.70);--w40:rgba(255,255,255,.40);--w15:rgba(255,255,255,.15);--w07:rgba(255,255,255,.07);
  --bd:rgba(255,255,255,.10);--bdm:rgba(255,255,255,.18);
  --font-light:'satoshi-light','Satoshi',system-ui,sans-serif;
  --font-medium:'satoshi-medio','Satoshi',system-ui,sans-serif;
  --font-variable:'satoshi-variable','Satoshi',system-ui,sans-serif;
  --serif:var(--font-medium);--sans:var(--font-light);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--black);color:var(--white);font-size:16px;line-height:1.7;overflow-x:hidden}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
ul{list-style:none}

/* Jerarquia tipografica */
body,p,li,input,textarea,select,.lead,.hero-sub,.dif-txt,.step-txt,.faq-a,.form-sub,.ft-tag,.ft-col a{font-family:var(--font-light);font-weight:300}
h1,h2,h3,h4,h5,h6,.h2,.h3,.dif-ttl,.srv-ttl,.step-ttl,.faq-q,.form-ttl,.m-lbl,.testi-auth{font-family:var(--font-medium);font-weight:500;letter-spacing:.01em}
.btn,.nav-links a,.sec-num,.eyebrow,.ft-col-h,.stat-l,.st-desc,.ci-lbl,.f-submit{font-family:var(--font-medium);font-weight:500;letter-spacing:.1em}

/* UTILS */
.eyebrow{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gray);font-weight:400;display:block;margin-bottom:.85rem}
.sec-num{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gray);display:block;margin-bottom:.7rem}
.h2{font-family:var(--serif);font-size:clamp(2rem,3.5vw,3.1rem);font-weight:400;line-height:1.1;color:var(--white)}
.h2 em{font-style:italic;color:var(--gray-l)}
.h3{font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.55rem);font-weight:400;line-height:1.2;color:var(--white)}
.lead{font-size:.96rem;color:var(--w70);font-weight:300;line-height:1.85;max-width:560px}
.sep{width:32px;height:1px;background:var(--gray);display:block;margin:1.4rem 0 1.9rem}
.wrap{max-width:1240px;margin:0 auto;padding:0 5vw}
.sec{padding:7rem 0}

/* BTNS */
.btn{display:inline-block;font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:.85rem 2rem;transition:all .22s;cursor:pointer;border:none;font-family:var(--sans)}
.btn-w{background:var(--white);color:var(--black)}.btn-w:hover{background:var(--gray-l)}
.btn-o{background:transparent;color:var(--white);border:1px solid var(--bdm)}.btn-o:hover{border-color:var(--white)}

/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:200}
.nav-in{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 5vw;transition:background .3s,border-color .3s;border-bottom:.5px solid transparent}
#nav.scrolled .nav-in{background:rgba(0,0,0,.93);backdrop-filter:blur(18px);border-color:var(--bd)}
.logo{font-family:var(--serif);font-size:1.9rem;font-weight:500;letter-spacing:.16em;color:var(--white);display:flex;align-items:center}
.logo img{display:block;height:32px;width:auto}
.nav-links{display:flex;gap:2.2rem}
.nav-links a{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);transition:color .2s}
.nav-links a:hover{color:var(--white)}
.nav-right{display:flex;gap:.7rem;align-items:center}
.nav-wa{display:inline-flex;align-items:center;gap:.45rem;font-size:.75rem;color:var(--w70);padding:.5rem .9rem;border:1px solid var(--bd);background:none;cursor:pointer;font-family:var(--sans);transition:border-color .2s}
.nav-wa:hover{border-color:var(--bdm);color:var(--white)}
.nav-wa svg{width:13px;height:13px;fill:#25D366;flex-shrink:0}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer}
.burger span{width:22px;height:1px;background:var(--white);display:block}

/* HERO */
#hero{position:relative;height:731px;min-height:600px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,#242424 0%,#0E0E0E 55%,#000 100%);overflow:hidden}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.15) 100%);z-index:1}
.hero-body{position:relative;z-index:2;width:100%;padding:0 5vw 3rem;max-width:1240px;margin:0 auto}
.hero-tag{display:inline-flex;align-items:center;gap:.7rem;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gray);margin-bottom:1rem}
.hero-tag::before{content:'';width:26px;height:1px;background:var(--gray);display:block}
.hero-h1{font-family:var(--serif);font-size:clamp(3rem,6.5vw,5.8rem);font-weight:400;line-height:1.04;color:var(--white);margin-bottom:1.2rem;max-width:860px}
.hero-h1 em{font-style:italic;color:var(--gray-l)}
.hero-sub{font-size:1.02rem;color:var(--w70);font-weight:300;line-height:1.85;max-width:460px;margin-bottom:2rem}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.hero-stats{display:flex;gap:3.5rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--bd);flex-wrap:wrap}
.stat-n{font-family:var(--serif);font-size:2.5rem;font-weight:400;line-height:1;color:var(--white);display:block}
.stat-l{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);margin-top:.3rem;display:block}
.hero-scroll{position:absolute;bottom:2.5rem;right:5vw;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.4rem;opacity:.45;transition:opacity .2s;cursor:pointer}
.hero-scroll:hover{opacity:.8}
.hero-scroll span{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--white);writing-mode:vertical-rl}
.hs-line{width:1px;height:38px;background:var(--white);animation:hl 1.9s ease infinite}
.hero-h1,.stat-n,.dif-num,.srv-ico,.st-big,.step-num,.testi-q{font-family:var(--font-variable);font-variation-settings:'wght' 520}
@keyframes hl{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.hero-tag{animation:fadeUp .7s .1s ease both}
.hero-h1{animation:fadeUp .7s .22s ease both}
.hero-sub{animation:fadeUp .7s .34s ease both}
.hero-btns{animation:fadeUp .7s .46s ease both}
.hero-stats{animation:fadeUp .7s .58s ease both}

/* STRIP */
#strip{background:var(--b2);border-top:.5px solid var(--bd);border-bottom:.5px solid var(--bd)}
.strip{display:flex;max-width:1240px;margin:0 auto}
.strip-i{flex:1;padding:1.7rem 2rem;display:flex;align-items:center;gap:1rem;border-right:.5px solid var(--bd)}
.strip-i:last-child{border-right:none}
.strip-ico{font-family:var(--serif);font-size:1.5rem;color:var(--gray);line-height:1;flex-shrink:0}
.strip-t{font-size:.81rem;color:var(--w70);font-weight:300;line-height:1.5}
.strip-t strong{color:var(--white);font-weight:500;display:block;font-size:.84rem;margin-bottom:.1rem}

/* QUIÉNES SOMOS */
#quienes{background:var(--b1)}
.q-grid{display:grid;grid-template-columns:1fr 1fr;max-width:1240px;margin:0 auto}
.q-img{position:relative;overflow:hidden;min-height:580px;background:var(--b3)}
.q-img-in{width:100%;height:100%;background:linear-gradient(150deg,#323232 0%,#181818 55%,#000 100%);display:flex;align-items:center;justify-content:center;min-height:580px;overflow:hidden}
.q-img-in img{width:100%;height:100%;object-fit:cover}
.q-img-ph{font-family:var(--serif);font-size:.78rem;color:var(--w15);letter-spacing:.12em;text-transform:uppercase}
.q-accent{position:absolute;bottom:0;right:0;width:72px;height:72px;background:var(--gray);opacity:.13}
.q-body{padding:6rem 5rem;display:flex;flex-direction:column;justify-content:center}
.vals{margin-top:2.5rem;display:flex;flex-direction:column}
.val{display:flex;gap:1.2rem;align-items:flex-start;padding:1.2rem 0;border-bottom:.5px solid var(--bd)}
.val:first-child{border-top:.5px solid var(--bd)}
.val-n{font-family:var(--serif);font-size:.88rem;color:var(--gray);flex-shrink:0;margin-top:.1rem;width:20px}
.val-t{font-size:.88rem;color:var(--w70);line-height:1.75;font-weight:300}
.val-t strong{color:var(--white);font-weight:500}

/* DIFERENCIALES */
#dif{background:var(--black)}
.dif-hd{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:4rem;gap:3rem;flex-wrap:wrap}
.dif-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bd)}
.dif-c{background:var(--b1);padding:2.8rem 2.2rem;transition:background .22s;position:relative;overflow:hidden}
.dif-c::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--white);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.dif-c:hover::after{transform:scaleX(1)}
.dif-c:hover{background:var(--b3)}
.dif-num{font-family:var(--serif);font-size:3.5rem;font-weight:300;color:var(--gray);opacity:.3;line-height:1;margin-bottom:1.6rem}
.dif-ttl{font-family:var(--serif);font-size:1.22rem;font-weight:500;color:var(--white);margin-bottom:.7rem}
.dif-txt{font-size:.84rem;color:var(--w40);line-height:1.85;font-weight:300}

/* SERVICIOS */
#servicios{background:var(--b2)}
.srv-hd{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4rem;gap:3rem;flex-wrap:wrap}
.srv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bd);max-width:1240px;margin:0 auto}
.srv-c{background:var(--b1);padding:2.8rem 2.2rem;transition:background .22s;position:relative}
.srv-c:hover{background:var(--b4)}
.srv-c::before{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--white);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.srv-c:hover::before{transform:scaleX(1)}
.srv-ico{font-family:var(--serif);font-size:2rem;color:var(--gray);margin-bottom:1.6rem;line-height:1}
.srv-ttl{font-family:var(--serif);font-size:1.38rem;font-weight:500;color:var(--white);margin-bottom:1.1rem}
.srv-items li{font-size:.82rem;color:var(--w40);line-height:2.1;font-weight:300;display:flex;align-items:center;gap:.6rem}
.srv-items li::before{content:'';width:10px;height:1px;background:var(--gray-d);flex-shrink:0}

/* GALERÍA */
#galeria{background:var(--black)}
.gal-hd{margin-bottom:3rem;display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap}
.gal-filters{display:flex;gap:.25rem;flex-wrap:wrap}
.f-btn{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:.5rem 1.2rem;border:1px solid var(--bd);background:transparent;color:var(--gray);cursor:pointer;transition:all .2s;font-family:var(--sans)}
.f-btn.active,.f-btn:hover{background:var(--white);color:var(--black);border-color:var(--white)}
.masonry{columns:3;column-gap:3px}
.m-item{break-inside:avoid;margin-bottom:3px;position:relative;overflow:hidden;cursor:pointer;background:var(--b3);height:300px}
.m-item:nth-child(8n+1){height:330px}.m-item:nth-child(8n+2){height:220px}.m-item:nth-child(8n+3){height:390px}
.m-item:nth-child(8n+4){height:260px}.m-item:nth-child(8n+5){height:310px}.m-item:nth-child(8n+6){height:240px}
.m-item:nth-child(8n+7){height:360px}.m-item:nth-child(8n+8){height:270px}
.m-in{width:100%;height:100%;display:flex;align-items:center;justify-content:center;transition:transform .45s;overflow:hidden}
.m-in img{width:100%;height:100%;object-fit:cover}
.m-item:hover .m-in{transform:scale(1.05)}
.m-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,transparent 52%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:1.5rem}
.m-item:hover .m-ov{opacity:1}
.m-cat{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-l);display:block;margin-bottom:.25rem}
.m-lbl{font-family:var(--serif);font-size:.95rem;color:var(--white);font-weight:400}

/* STATS */
#stats{background:var(--black);border-top:.5px solid var(--bd);border-bottom:.5px solid var(--bd)}
.stats-in{display:flex;max-width:1240px;margin:0 auto}
.st-b{flex:1;padding:4.5rem 2.5rem;text-align:center;border-right:.5px solid var(--bd)}
.st-b:last-child{border-right:none}
.st-big{font-family:var(--serif);font-size:clamp(2.4rem,4vw,4rem);font-weight:300;color:var(--white);line-height:1;display:block;margin-bottom:.6rem}
.st-desc{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gray)}

/* PROCESO */
#proceso{background:var(--b1)}
.proc-hd{margin-bottom:5rem}
.steps{display:grid;grid-template-columns:repeat(5,1fr);position:relative;max-width:1240px;margin:0 auto}
.steps::before{content:'';position:absolute;top:27px;left:10%;right:10%;height:1px;background:var(--bd);z-index:0}
.step{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 1.2rem;position:relative;z-index:1}
.step-num{width:54px;height:54px;border-radius:50%;background:var(--b1);border:1px solid var(--gray-d);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.1rem;color:var(--gray);margin-bottom:1.5rem;transition:all .25s;flex-shrink:0}
.step:hover .step-num{border-color:var(--white);color:var(--white)}
.step-ttl{font-family:var(--serif);font-size:1rem;font-weight:600;color:var(--white);margin-bottom:.5rem}
.step-txt{font-size:.8rem;color:var(--w40);line-height:1.75;font-weight:300}

/* TESTIMONIOS */
#testi{background:var(--b2)}
.testi-hd{margin-bottom:3.5rem;display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bd);max-width:1240px;margin:0 auto}
.testi-c{background:var(--b1);padding:2.8rem}
.testi-q{font-family:var(--serif);font-size:2.8rem;color:var(--gray);opacity:.3;line-height:1;margin-bottom:1rem}
.testi-txt{font-family:var(--serif);font-size:1.05rem;font-style:italic;color:var(--white);line-height:1.75;margin-bottom:1.8rem;font-weight:400}
.testi-stars{color:var(--gray-l);font-size:.8rem;letter-spacing:.1em;margin-bottom:.7rem}
.testi-sep{width:22px;height:1px;background:var(--gray-d);margin-bottom:.75rem}
.testi-auth{font-size:.74rem;color:var(--gray);letter-spacing:.1em;text-transform:uppercase}
.testi-role{font-size:.7rem;color:var(--gray-d);margin-top:.15rem}

/* FAQ */
#faq{background:var(--black)}
.faq-layout{display:grid;grid-template-columns:5fr 7fr;gap:7rem;max-width:1240px;margin:0 auto}
.faq-sticky{position:sticky;top:110px;align-self:start}
.faq-item{border-bottom:.5px solid var(--bd)}
.faq-item:first-child{border-top:.5px solid var(--bd)}
.faq-q{font-family:var(--serif);font-size:1.08rem;font-weight:500;color:var(--white);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 0}
.faq-tog{color:var(--gray);font-size:1.2rem;font-family:var(--serif);flex-shrink:0;transition:transform .2s,color .2s;line-height:1}
.faq-a{font-size:.88rem;color:var(--w40);line-height:1.85;font-weight:300;max-height:0;overflow:hidden;transition:max-height .35s ease,padding .2s}
.faq-item.open .faq-a{max-height:260px;padding-bottom:1.4rem}
.faq-item.open .faq-tog{transform:rotate(45deg);color:var(--white)}
.faq-wa{display:inline-flex;align-items:center;gap:.7rem;font-size:.82rem;color:var(--w70);border:1px solid var(--bdm);padding:.85rem 1.3rem;transition:all .2s;margin-top:2rem}
.faq-wa:hover{border-color:var(--white);color:var(--white)}
.faq-wa svg{width:15px;height:15px;fill:#25D366;flex-shrink:0}

/* CONTACTO */
#contacto{background:var(--b1)}
.contacto-intro{text-align:center;padding:5rem 5vw 4rem;max-width:1240px;margin:0 auto}
.contacto-wrap{display:grid;grid-template-columns:1fr 1.35fr;max-width:1240px;margin:0 5vw;border:.5px solid var(--bd)}
.c-left{padding:4.5rem;border-right:.5px solid var(--bd);display:flex;flex-direction:column;justify-content:space-between;background:var(--b2)}
.c-right{padding:4.5rem;background:var(--b1)}
.ci-list{margin-top:2.5rem;display:flex;flex-direction:column}
.ci{padding:1.3rem 0;border-bottom:.5px solid var(--bd);display:flex;gap:1.2rem;align-items:flex-start}
.ci:first-child{border-top:.5px solid var(--bd)}
.ci-ico{font-size:.85rem;color:var(--gray);width:18px;flex-shrink:0;margin-top:.2rem}
.ci-lbl{font-size:.64rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gray-d);margin-bottom:.2rem}
.ci-val{font-size:.9rem;color:var(--w70);font-weight:300}
.c-wa{display:inline-flex;align-items:center;gap:.7rem;font-size:.8rem;color:var(--w70);border:1px solid var(--bdm);padding:.85rem 1.3rem;transition:all .2s;margin-top:2.5rem;width:fit-content}
.c-wa:hover{border-color:var(--white);color:var(--white)}
.c-wa svg{width:15px;height:15px;fill:#25D366;flex-shrink:0}
.form-ttl{font-family:var(--serif);font-size:1.45rem;font-weight:400;color:var(--white);margin-bottom:.4rem}
.form-sub{font-size:.84rem;color:var(--w40);font-weight:300;margin-bottom:2rem}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fg{margin-bottom:1.1rem}
.fg label{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gray-d);margin-bottom:.4rem}
.fg input,.fg textarea,.fg select{width:100%;background:var(--b2);border:.5px solid var(--bd);color:var(--white);padding:.8rem 1rem;font-family:var(--sans);font-size:.88rem;font-weight:300;outline:none;transition:border-color .2s;resize:vertical}
.fg input::placeholder,.fg textarea::placeholder{color:rgba(255,255,255,.16)}
.fg input:focus,.fg textarea:focus,.fg select:focus{border-color:var(--bdm)}
.fg select option{background:var(--b2)}
.f-submit{width:100%;background:var(--white);color:var(--black);border:none;padding:1rem;font-family:var(--sans);font-size:.8rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;margin-top:.4rem;transition:background .2s}
.f-submit:hover{background:var(--gray-l)}
.f-note{font-size:.68rem;color:var(--gray-d);text-align:center;margin-top:.7rem}

/* FOOTER */
#footer{background:var(--black);border-top:.5px solid var(--bd)}
.ft-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:3rem;max-width:1240px;margin:0 auto;padding:5rem 5vw 4rem}
.ft-logo{font-family:var(--serif);font-size:2rem;color:var(--white);font-weight:500;letter-spacing:.14em;margin-bottom:1rem;display:flex;align-items:center}
.ft-logo img{display:block;height:38px;width:auto}
.ft-tag{font-size:.82rem;color:var(--gray);font-weight:300;line-height:1.75;max-width:240px}
.ft-soc{display:flex;gap:.6rem;margin-top:1.75rem}
.soc{width:34px;height:34px;border:.5px solid var(--bd);display:flex;align-items:center;justify-content:center;font-size:.62rem;color:var(--gray);letter-spacing:.05em;text-transform:uppercase;transition:all .2s}
.soc:hover{border-color:var(--white);color:var(--white)}
.ft-col-h{font-size:.63rem;text-transform:uppercase;letter-spacing:.17em;color:var(--gray-d);margin-bottom:1.3rem}
.ft-col ul{list-style:none}
.ft-col li{margin-bottom:.6rem}
.ft-col a{font-size:.84rem;color:var(--w40);font-weight:300;transition:color .2s}
.ft-col a:hover{color:var(--white)}
.ft-col .accent{color:var(--gray-l)}
.ft-bot{border-top:.5px solid var(--bd);padding:1.5rem 5vw;max-width:1240px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.ft-copy{font-size:.7rem;color:rgba(255,255,255,.18);font-weight:300}

/* WA FLOAT */
.wa-float{position:fixed;bottom:2rem;right:2rem;z-index:300;width:52px;height:52px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;transition:transform .2s}
.wa-float:hover{transform:scale(1.1)}
.wa-float svg{width:25px;height:25px;fill:#fff}

/* RESPONSIVE */
@media(max-width:1100px){
  .q-grid{grid-template-columns:1fr}.q-img{min-height:340px}.q-body{padding:4rem}
  .dif-grid,.srv-grid,.testi-grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr 1fr}.steps::before{display:none}
  .ft-grid{grid-template-columns:1fr 1fr}
  .faq-layout{grid-template-columns:1fr;gap:3rem}.faq-sticky{position:static}
  .contacto-wrap{grid-template-columns:1fr}.c-left{border-right:none;border-bottom:.5px solid var(--bd);padding:3rem}.c-right{padding:3rem}
  .stats-in{flex-wrap:wrap}.st-b{min-width:50%;border-bottom:.5px solid var(--bd)}
  .dif-hd,.srv-hd,.testi-hd,.gal-hd{flex-direction:column;align-items:flex-start;gap:1.5rem}
}
@media(max-width:768px){
  .sec{padding:5rem 0}
  .nav-links,.nav-wa{display:none}.burger{display:flex}
  .hero-h1{font-size:clamp(2.2rem,8vw,3.5rem)}.hero-stats{gap:1.5rem}
  .dif-grid,.srv-grid,.testi-grid{grid-template-columns:1fr}
  .masonry{columns:2}.steps{grid-template-columns:1fr 1fr}
  .strip{flex-direction:column}.strip-i{border-right:none;border-bottom:.5px solid var(--bd)}
  .f2{grid-template-columns:1fr}
  .ft-grid{grid-template-columns:1fr;gap:2rem}
  .ft-bot{flex-direction:column;text-align:center}
  .stats-in{flex-direction:column}.st-b{border-right:none;min-width:100%}
}
@media(max-width:480px){
  .masonry{columns:1}.wrap,.hero-body,.ft-bot,.ft-grid{padding-left:1.25rem;padding-right:1.25rem}
  .sec{padding:4rem 0}
}

/* Optimización para pantallas de altura corta (ej: 1366x599) */
@media(max-height:760px){
  #hero{min-height:731px}
  .hero-body{padding-top:1rem;padding-bottom:2.2rem}
  .hero-h1{font-size:clamp(2.7rem,5.6vw,4.9rem);line-height:1.02}
  .hero-sub{max-width:520px}
  .hero-stats{margin-top:2.2rem;gap:2.8rem}
}

@media(max-height:650px){
  #hero{min-height:650px}
  .hero-body{padding-top:1rem;padding-bottom:2rem}
  .hero-h1{margin-bottom:1rem;font-size:clamp(2.5rem,5vw,4.5rem)}
  .hero-sub{margin-bottom:1.8rem;font-size:.95rem}
  .hero-stats{margin-top:2rem;padding-top:1rem;gap:2.5rem}
  .stat-n{font-size:2rem}
  .hero-scroll{display:none}
}
