:root {
  --red: #C0000C;
  --red-d: #8B0000;
  --red-glow: rgba(192,0,12,0.18);
  --black: #080808;
  --dark: #0f0f0f;
  --dark-2: #161616;
  --dark-3: #1e1e1e;
  --dark-border: rgba(255,255,255,0.07);
  --white: #ffffff;
  --off-white: #f0efed;
  --gray: rgba(255,255,255,0.45);
  --gray-d: rgba(255,255,255,0.25);
  --display: 'Bebas Neue', sans-serif;
  --body: 'Montserrat', sans-serif;
  --ease: cubic-bezier(0.4,0,0.2,1);
  --ease-out: cubic-bezier(0,0,0.2,1);
  --spring: cubic-bezier(0.34,1.56,0.64,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--body);background:var(--black);color:var(--white);overflow-x:hidden;cursor:none;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
img{max-width:100%;display:block;object-fit:cover;}
button{font-family:var(--body);cursor:none;}

.container{max-width:1280px;margin:0 auto;padding:0 48px;}

.cursor{width:34px;height:34px;border:1px solid rgba(192,0,12,0.5);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:left .12s var(--ease),top .12s var(--ease),width .3s,height .3s,border-color .3s,background .3s;}
.cursor-dot{width:5px;height:5px;background:var(--red);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:left .03s,top .03s;}
body:has(a:hover) .cursor,body:has(button:hover) .cursor{width:50px;height:50px;border-color:var(--red);background:var(--red-glow);}
@media(hover:none){.cursor,.cursor-dot{display:none;}body,body button{cursor:auto;}}

.page-loader{position:fixed;inset:0;background:var(--black);z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;transition:opacity .6s var(--ease),visibility .6s;}
.page-loader.done{opacity:0;visibility:hidden;}
.pl-logo{font-family:var(--body);font-weight:900;font-size:2.2rem;color:var(--white);letter-spacing:-.01em;}
.pl-logo span{color:var(--red);font-style:italic;}
.pl-bar{width:200px;height:1px;background:rgba(255,255,255,0.08);overflow:hidden;}
.pl-fill{height:100%;width:0;background:var(--red);transition:width .9s var(--ease);}
.pl-tag{font-size:.7rem;font-weight:300;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,0.2);}

.wa-fab{position:fixed;bottom:32px;right:32px;z-index:998;width:54px;height:54px;border-radius:50%;background:#25d366;color:var(--white);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 28px rgba(37,211,102,.38);transition:transform .3s var(--spring),box-shadow .3s;cursor:none;}
.wa-fab:hover{transform:scale(1.12) translateY(-3px);box-shadow:0 14px 40px rgba(37,211,102,.48);}

.nav{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:26px 56px;transition:padding .4s var(--ease),background .4s,border-color .4s,box-shadow .4s;border-bottom:1px solid transparent;}
.nav.scrolled{background:rgba(8,8,8,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:16px 56px;border-bottom-color:var(--dark-border);box-shadow:0 2px 32px rgba(0,0,0,.4);}
.nav-logo{font-family:var(--body);font-weight:900;font-size:1.45rem;color:var(--white);letter-spacing:-.01em;}
.nav-logo span{color:var(--red);font-style:italic;}
.nav-links{display:flex;gap:40px;}
.nav-links a{font-size:.73rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-d);position:relative;transition:color .3s;}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--red);transition:width .3s var(--ease);}
.nav-links a:hover{color:var(--white);}
.nav-links a:hover::after{width:100%;}
.nav-right{display:flex;align-items:center;gap:14px;}
.nav-cta{background:var(--red);color:var(--white);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:10px 22px;border-radius:2px;transition:background .3s,transform .3s;}
.nav-cta:hover{background:var(--red-d);transform:translateY(-1px);}
.cart-toggle{position:relative;background:none;border:1px solid var(--dark-border);color:var(--white);padding:9px 13px;border-radius:2px;display:flex;align-items:center;transition:border-color .3s,background .3s;}
.cart-toggle:hover{border-color:var(--red);background:var(--red-glow);}
.cart-badge{position:absolute;top:-6px;right:-6px;background:var(--red);color:var(--white);font-size:.58rem;font-weight:700;width:17px;height:17px;border-radius:50%;display:flex;align-items:center;justify-content:center;transform:scale(0);transition:transform .3s var(--spring);}
.cart-badge.show{transform:scale(1);}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:4px;}
.hamburger span{display:block;width:22px;height:1.5px;background:var(--white);transition:.3s;}

.mob-menu{display:none;position:fixed;inset:0;background:var(--black);z-index:499;flex-direction:column;justify-content:center;padding:64px 56px;}
.mob-menu.open{display:flex;}
.mob-close{position:absolute;top:28px;right:36px;background:none;border:none;color:var(--white);font-size:1.5rem;}
.mob-menu ul{display:flex;flex-direction:column;gap:6px;margin-bottom:auto;}
.mob-link{display:flex;align-items:baseline;gap:18px;font-family:var(--display);font-size:clamp(2.5rem,7vw,4.5rem);color:rgba(255,255,255,.15);letter-spacing:.02em;transition:color .3s;}
.mob-link em{font-family:var(--body);font-size:.68rem;font-weight:700;letter-spacing:.12em;color:var(--red);font-style:normal;}
.mob-link:hover{color:var(--white);}
.mob-footer{display:flex;flex-direction:column;gap:8px;}
.mob-footer a{font-size:.84rem;font-weight:300;color:rgba(255,255,255,.3);transition:color .3s;}
.mob-footer a:hover{color:var(--white);}

.hero{position:relative;min-height:100vh;background:var(--black);display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden;}
.hero-bg-grid{position:absolute;inset:0;z-index:1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:80px 80px;}
.hero-bg-glow{position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(192,0,12,.12) 0%,transparent 70%);right:5%;top:50%;transform:translateY(-50%);pointer-events:none;z-index:1;animation:glowPulse 4s ease-in-out infinite;}
@keyframes glowPulse{0%,100%{opacity:.6;transform:translateY(-50%) scale(1);}50%{opacity:1;transform:translateY(-50%) scale(1.08);}}

.hero-body{position:relative;z-index:3;padding:160px 80px 220px;}
.hero-eyebrow{display:flex;align-items:center;gap:10px;font-size:.7rem;font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:32px;opacity:0;animation:fadeUp .9s .5s forwards;}
.dot-pulse{width:6px;height:6px;background:var(--red);border-radius:50%;flex-shrink:0;animation:dotPulse 2s infinite;}
.dot-sm{width:5px;height:5px;}
@keyframes dotPulse{0%,100%{box-shadow:0 0 0 0 rgba(192,0,12,.7);}50%{box-shadow:0 0 0 8px rgba(192,0,12,0);}}

.hero-h1{display:flex;flex-direction:column;line-height:.88;margin-bottom:28px;}
.h1-row{overflow:hidden;}
.h1-indent{margin-left:28px;}
.h1-word{display:block;font-family:var(--display);font-size:clamp(5rem,9.5vw,10.5rem);color:var(--white);letter-spacing:.01em;transform:translateY(105%);animation:slideUp .9s var(--ease-out) forwards;}
.h1-em{display:block;font-family:var(--body);font-weight:100;font-style:italic;font-size:clamp(3.5rem,6.5vw,7.5rem);color:rgba(255,255,255,.3);transform:translateY(105%);animation:slideUp .9s .2s var(--ease-out) forwards;}
.h1-word-3{animation-delay:.35s;}
@keyframes slideUp{from{transform:translateY(105%);}to{transform:translateY(0);}}

.hero-desc{font-size:.94rem;font-weight:300;color:rgba(255,255,255,.4);line-height:1.9;margin-bottom:40px;opacity:0;animation:fadeUp .9s .95s forwards;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:fadeUp .9s 1.05s forwards;}

.hero-visual{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;padding:80px 60px;min-height:100vh;opacity:0;animation:fadeIn 1.2s .8s forwards;}
.hv-frame{position:relative;width:340px;height:490px;border-radius:3px;overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.05);}
.hv-frame video{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);}
.hv-frame:hover video{transform:scale(1.04);}
.hv-frame.hv-empty{background:linear-gradient(155deg,#1a0000,#4a0000,#8b0000);display:flex;align-items:center;justify-content:center;}
.hv-frame.hv-empty::after{content:'✳';font-size:3rem;color:rgba(255,255,255,.08);}
.hv-grad{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.7) 100%);}
.hv-corner-tl{position:absolute;top:-1px;left:-1px;width:28px;height:28px;border-top:2px solid var(--red);border-left:2px solid var(--red);}
.hv-corner-br{position:absolute;bottom:-1px;right:-1px;width:28px;height:28px;border-bottom:2px solid var(--red);border-right:2px solid var(--red);}

.hv-badge{position:absolute;bottom:52px;left:-10px;background:var(--red);padding:20px 24px;border-radius:3px;box-shadow:0 16px 48px rgba(192,0,12,.35);}
.hv-badge-top{font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:7px;}
.hv-badge-name{font-family:var(--body);font-weight:900;font-size:1.4rem;color:var(--white);line-height:1;margin-bottom:5px;}
.hv-badge-name span{font-style:italic;color:rgba(255,255,255,.6);}
.hv-badge-sub{font-size:.7rem;font-weight:300;color:rgba(255,255,255,.7);font-style:italic;}

.hv-stat{position:absolute;top:72px;right:5px;background:rgba(8,8,8,.85);backdrop-filter:blur(12px);border:1px solid var(--dark-border);padding:16px 20px;border-radius:3px;text-align:center;}
.hv-stat-n{font-family:var(--display);font-size:2.2rem;color:var(--red);line-height:1;}
.hv-stat-u{font-family:var(--display);font-size:1.4rem;color:var(--red);}
.hv-stat p{font-size:.62rem;font-weight:300;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-top:4px;}

.hero-metrics{position:absolute;bottom:0;left:0;right:0;z-index:4;display:flex;align-items:center;background:rgba(8,8,8,.8);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--dark-border);padding:26px 80px;opacity:0;animation:fadeIn 1s 1.3s forwards;}
.hm-i{display:flex;flex-direction:column;padding-right:56px;}
.hm-val{display:flex;align-items:baseline;gap:2px;}
.hm-n,.hm-sym{font-family:var(--display);font-size:2.4rem;color:var(--red);line-height:1;}
.hm-u{font-family:var(--display);font-size:1.5rem;color:var(--red);}
.hm-l{font-size:.64rem;font-weight:300;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.28);margin-top:4px;}
.hm-sep{width:1px;height:44px;background:rgba(255,255,255,.08);margin-right:56px;flex-shrink:0;}

.hero-scroller{position:absolute;right:52px;bottom:106px;display:flex;flex-direction:column;align-items:center;gap:9px;z-index:4;opacity:0;animation:fadeIn 1s 1.5s forwards;}
.hs-line{width:1px;height:54px;background:linear-gradient(to bottom,rgba(255,255,255,.4),transparent);animation:scrollAnim 2.5s ease-in-out infinite;}
.hero-scroller span{font-size:.57rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.2);writing-mode:vertical-rl;}
@keyframes scrollAnim{0%,100%{opacity:.3;}50%{opacity:.8;}}

.marquee-band{background:var(--dark);border-top:1px solid var(--dark-border);border-bottom:1px solid var(--dark-border);overflow:hidden;padding:14px 0;}
.mq-track{display:flex;gap:36px;width:max-content;animation:mq 26s linear infinite;align-items:center;}
.mq-track span{font-size:.71rem;font-weight:300;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.32);white-space:nowrap;}
.mq-track b{color:var(--red);font-weight:400;font-size:.6rem;}

.btn-red{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--red);color:var(--white);font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:14px 32px;border:none;border-radius:2px;position:relative;overflow:hidden;transition:background .3s,transform .3s,box-shadow .3s;}
.btn-red::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent);opacity:0;transition:opacity .3s;}
.btn-red:hover{background:var(--red-d);transform:translateY(-2px);box-shadow:0 12px 36px rgba(192,0,12,.3);}
.btn-red:hover::before{opacity:1;}
.btn-ghost{display:inline-flex;align-items:center;background:transparent;color:var(--white);font-size:.74rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;padding:14px 32px;border:1px solid rgba(255,255,255,.2);border-radius:2px;transition:border-color .3s,background .3s;}
.btn-ghost:hover{border-color:var(--white);background:rgba(255,255,255,.05);}
.btn-outline{display:inline-block;padding:10px 22px;border:1px solid var(--dark-border);font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--white);border-radius:2px;transition:all .3s;}
.btn-outline:hover{border-color:var(--red);background:var(--red-glow);}
.btn-lg{padding:18px 52px;font-size:.88rem;}
.btn-full{width:100%;}

.sec-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:56px;}
.sh-l{display:flex;flex-direction:column;}
.sh-n{font-family:var(--display);font-size:5.5rem;color:rgba(255,255,255,.04);line-height:1;margin-bottom:-22px;display:block;}
.sh-t{font-family:var(--display);font-size:clamp(3rem,5vw,5.5rem);line-height:.95;color:var(--white);letter-spacing:.01em;}
.sh-d{font-size:.93rem;font-weight:300;color:var(--gray-d);line-height:1.82;max-width:440px;align-self:end;}

.servicios{padding:120px 0;background:var(--dark);}

.svc-tabs{display:flex;gap:0;border-bottom:1px solid var(--dark-border);margin-bottom:52px;overflow-x:auto;}
.stab{padding:14px 28px;background:transparent;color:rgba(255,255,255,.3);border:none;border-bottom:2px solid transparent;margin-bottom:-1px;font-size:.74rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;transition:color .3s,border-color .3s;}
.stab:hover{color:rgba(255,255,255,.7);}
.stab.active{color:var(--red);border-bottom-color:var(--red);}

.svc-stage{position:relative;}
.svc-panel{display:none;}
.svc-panel.active{display:block;animation:panelIn .45s var(--ease-out);}
@keyframes panelIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}

.sp-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.sp-media{position:relative;height:500px;border-radius:3px;overflow:hidden;background:var(--dark-3);}
.sp-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);}
.sp-media:hover img{transform:scale(1.04);}
.sp-media.sp-empty{background:linear-gradient(155deg,#1a1a1a,#2a0000,#550000);display:flex;align-items:center;justify-content:center;}
.sp-media.sp-empty::after{content:'✳';font-size:4rem;color:rgba(255,255,255,.06);}
.sp-label{position:absolute;top:22px;left:22px;background:var(--red);color:var(--white);font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:5px 12px;border-radius:2px;}

.sp-info h3{font-family:var(--body);font-weight:700;font-size:1.75rem;line-height:1.2;color:var(--white);margin-bottom:18px;}
.sp-info>p{font-size:.9rem;font-weight:300;color:var(--gray);line-height:1.88;margin-bottom:28px;}
.sp-list{display:flex;flex-direction:column;gap:10px;margin-bottom:36px;}
.sp-list li{display:flex;align-items:flex-start;gap:12px;font-size:.86rem;font-weight:300;color:rgba(255,255,255,.65);line-height:1.55;}
.sp-list li::before{content:'✳';color:var(--red);font-size:.65rem;flex-shrink:0;margin-top:3px;}

.btn-add{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--white);font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:14px 28px;border:1px solid var(--dark-border);border-radius:2px;transition:all .35s;}
.btn-add:hover,.btn-add.added{background:var(--red);border-color:var(--red);transform:translateX(4px);}
.btn-add.added{background:var(--red-d);}

.cart-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);z-index:800;}
.cart-overlay.open{display:block;}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);background:var(--dark-2);z-index:801;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .4s var(--ease-out);border-left:1px solid var(--dark-border);box-shadow:-20px 0 80px rgba(0,0,0,.5);}
.cart-drawer.open{transform:translateX(0);}
.cd-head{display:flex;align-items:center;justify-content:space-between;padding:28px;border-bottom:1px solid var(--dark-border);}
.cd-title{font-family:var(--display);font-size:1.9rem;letter-spacing:.02em;}
.cd-sub{font-size:.68rem;font-weight:300;color:rgba(255,255,255,.3);margin-top:3px;letter-spacing:.09em;text-transform:uppercase;}
.cd-close{background:none;border:1px solid var(--dark-border);width:32px;height:32px;border-radius:2px;font-size:.9rem;color:var(--white);transition:background .3s,border-color .3s;}
.cd-close:hover{background:var(--dark-3);border-color:rgba(255,255,255,.2);}
.cd-body{flex:1;overflow-y:auto;padding:20px 28px;}
.cd-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;height:100%;text-align:center;}
.cd-ast{font-size:2.5rem;color:rgba(255,255,255,.06);}
.cd-empty p{font-size:.9rem;font-weight:700;}
.cd-empty span{font-size:.78rem;font-weight:300;color:rgba(255,255,255,.3);}
.cd-item{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--dark-border);}
.cdi-name{flex:1;font-size:.88rem;font-weight:400;color:var(--white);}
.cdi-rm{background:none;border:none;color:rgba(255,255,255,.25);font-size:1rem;transition:color .3s;flex-shrink:0;padding:2px;}
.cdi-rm:hover{color:var(--red);}
.cd-foot{padding:20px 28px 28px;border-top:1px solid var(--dark-border);}
.cd-note{font-size:.76rem;font-weight:300;color:rgba(255,255,255,.35);line-height:1.65;margin-bottom:16px;}

.btn-wa-send{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;background:#25d366;color:var(--white);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:16px 24px;border:none;border-radius:2px;transition:background .3s,transform .3s,box-shadow .3s;position:relative;overflow:hidden;}
.btn-wa-send::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent);opacity:0;transition:opacity .3s;}
.btn-wa-send:hover{background:#1da851;transform:translateY(-2px);box-shadow:0 12px 36px rgba(37,211,102,.3);}
.btn-wa-send:hover::before{opacity:1;}

.proceso{padding:120px 0;background:var(--black);}
.proc-list{display:flex;flex-direction:column;gap:2px;}
.proc-item{display:grid;grid-template-columns:72px 1fr 52px;gap:32px;align-items:center;padding:32px 44px;background:var(--dark-2);border:1px solid var(--dark-border);border-radius:2px;transition:border-color .3s,transform .35s,box-shadow .35s;}
.proc-item:hover{border-color:var(--red);transform:translateX(10px);box-shadow:0 6px 40px rgba(192,0,12,.1);}
.pri-num{font-family:var(--display);font-size:3rem;color:rgba(255,255,255,.06);line-height:1;}
.pri-body h3{font-size:1rem;font-weight:700;color:var(--white);margin-bottom:6px;}
.pri-body p{font-size:.85rem;font-weight:300;color:var(--gray-d);line-height:1.75;}
.pri-icon{width:42px;height:42px;color:var(--red);justify-self:end;}

.equipo{padding:120px 0;background:var(--dark);}
.eq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.eq-card{border-radius:3px;overflow:hidden;background:var(--dark-2);border:1px solid var(--dark-border);transition:transform .4s var(--ease),box-shadow .4s,border-color .4s;}
.eq-card:hover{transform:translateY(-6px);box-shadow:0 24px 64px rgba(0,0,0,.5);border-color:rgba(192,0,12,.3);}
.eq-img-wrap{height:320px;overflow:hidden;background:var(--dark-3);position:relative;}
.eq-img-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.img-jeison{
  object-position: center 30%;
}
.img-paula{
  object-position: center 30%;
  transform: scale(1.10);
}
.img-leidy{
  object-position: center 40%;
}
.eq-card:hover .eq-img-wrap img{transform:scale(1.05);filter:grayscale(0%);}
.eq-img-wrap.eq-noimg{background:linear-gradient(155deg,#1a1a1a,#2a0000);display:flex;align-items:center;justify-content:center;}
.eq-img-wrap.eq-noimg::after{content:'✳';font-size:3rem;color:rgba(255,255,255,.06);}
.eq-img-cover{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.8) 100%);}
.eq-info{padding:22px 24px 26px;}
.eq-rol{font-size:.67rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:5px;}
.eq-name{font-size:1rem;font-weight:700;color:var(--white);margin-bottom:8px;}
.eq-bio{font-size:.82rem;font-weight:300;color:var(--gray-d);line-height:1.7;margin-bottom:16px;}
.eq-soc{display:flex;gap:8px;}
.eq-soc a{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--dark-border);border-radius:2px;font-size:.67rem;font-weight:700;color:var(--gray-d);transition:all .3s;}
.eq-soc a:hover{border-color:var(--red);color:var(--red);background:var(--red-glow);}

.portafolio{padding:120px 0;background:var(--black);}
.mosaico{
  display:grid;
  gap:5px;
  grid-template-columns: 1.1fr 1.2fr 1fr 1fr;
  grid-template-rows: 320px 320px 300px;
  grid-template-areas:
    "produccion  gastronomia gastronomia servicios"
    "corporativa branding    diseno      proyectos"
    "eventos     eventos     salud       salud";
}
.mo-produccion  { grid-area: produccion; }
.mo-gastronomia { grid-area: gastronomia; }
.mo-servicios   { grid-area: servicios; }
.mo-corporativa { grid-area: corporativa; }
.mo-branding    { grid-area: branding; }
.mo-diseno      { grid-area: diseno; }
.mo-proyectos   { grid-area: proyectos; }
.mo-eventos     { grid-area: eventos; }
.mo-salud       { grid-area: salud; }
.mo-branding img{ object-fit:contain !important; background:#111; }
.pf-item{position:relative;overflow:hidden;border-radius:0;background:var(--dark-3);}
.pf-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);}
.mo-salud       { grid-area: salud; }
.mo-gastronomia img{
    object-position:center 75%;}
    .mo-salud       { grid-area: salud; }
.mo-gastronomia img{
    object-position:center 40%;}
.pf-item:hover img{transform:scale(1.05);}
.pf-over{position:absolute;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:flex-end;padding:24px;opacity:0;transition:opacity .4s;}
.pf-item:hover .pf-over{opacity:1;}
.pf-over span{font-family:var(--display);font-size:2.2rem;color:var(--white);line-height:1;letter-spacing:.02em;}
.mo-branding img{object-fit:contain !important;background:#111;}

.nosotros{padding:120px 0;background:var(--dark);}
.nos-inner{display:grid;grid-template-columns:1fr 2fr;gap:80px;align-items:start;}
.nos-ast{font-size:7rem;color:var(--red);opacity:.1;line-height:1;margin-top:18px;}
.nos-big{font-weight:700;font-size:1.5rem;line-height:1.4;color:var(--white);margin-bottom:22px;}
.nos-p{font-size:.91rem;font-weight:300;color:var(--gray-d);line-height:1.88;margin-bottom:14px;}
.nos-stats{display:flex;gap:48px;margin-top:44px;padding-top:36px;border-top:1px solid var(--dark-border);align-items:flex-end;}
.ns-i{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 3px;}
.ns-n,.ns-sym{font-family:var(--display);font-size:3.2rem;color:var(--red);line-height:1;}
.ns-u{font-family:var(--display);font-size:2rem;color:var(--red);}
.ns-l{display:block;font-size:.68rem;font-weight:300;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.28);width:100%;margin-top:4px;}

.testimonios{padding:120px 0;background:var(--black);}
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.test-card{padding:32px 28px;border:1px solid var(--dark-border);border-radius:3px;background:var(--dark-2);transition:transform .35s,box-shadow .35s,border-color .35s;}
.test-card:hover{transform:translateY(-4px);box-shadow:0 20px 56px rgba(0,0,0,.4);border-color:rgba(192,0,12,.22);}
.test-card.test-dark{background:var(--red);border-color:var(--red-d);}
.test-stars{font-size:.86rem;color:var(--white);letter-spacing:2px;opacity:.8;margin-bottom:16px;}
.test-card.test-dark .test-stars{opacity:1;}
.test-txt{font-size:.87rem;font-weight:300;line-height:1.82;color:var(--gray-d);margin-bottom:24px;font-style:italic;}
.test-card.test-dark .test-txt{color:rgba(255,255,255,.85);}
.test-auth{display:flex;align-items:center;gap:12px;}
.test-av{width:38px;height:38px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:var(--white);flex-shrink:0;}
.test-card.test-dark .test-av{background:rgba(0,0,0,.3);}
.test-n{font-size:.85rem;font-weight:700;color:var(--white);margin-bottom:2px;}
.test-r{font-size:.72rem;font-weight:300;color:rgba(255,255,255,.35);}
.test-card.test-dark .test-r{color:rgba(255,255,255,.65);}

.cta-band{position:relative;background:var(--dark-2);padding:96px 0;overflow:hidden;border-top:1px solid var(--dark-border);border-bottom:1px solid var(--dark-border);}
.cta-grid-bg{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:80px 80px;}
.cta-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.cta-tag{display:flex;align-items:center;gap:10px;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.28);margin-bottom:18px;}
.cta-h{font-family:var(--display);font-size:clamp(3.5rem,7vw,7.5rem);color:var(--white);line-height:1;letter-spacing:.01em;}
.cta-h em{font-family:var(--body);font-weight:100;font-style:italic;color:var(--red);}

.contacto{padding:120px 0;background:var(--dark);}
.cto-quote{display:flex;align-items:center;gap:26px;padding:32px 0;margin-bottom:60px;border-top:1px solid var(--dark-border);border-bottom:1px solid var(--dark-border);}
.cq-bar{width:4px;height:76px;background:linear-gradient(to bottom,var(--red),transparent);flex-shrink:0;border-radius:2px;}
.cto-quote p{font-weight:700;font-size:clamp(1.3rem,3vw,1.9rem);color:var(--white);line-height:1.3;flex:1;}
.cto-quote em{font-style:italic;font-weight:300;color:var(--red);}
.cq-ast{font-size:4rem;color:rgba(255,255,255,.04);flex-shrink:0;line-height:1;}
.cto-inner{display:grid;grid-template-columns:1fr 1.6fr;gap:80px;align-items:start;}
.ci-row{margin-bottom:28px;}
.ci-l{display:block;font-size:.63rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:5px;}
.ci-v{font-size:.97rem;font-weight:700;color:var(--white);transition:color .3s;}
.ci-v:hover{color:var(--red);}
.ci-btns{display:flex;gap:10px;margin-top:30px;}
.cto-form{display:flex;flex-direction:column;gap:12px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.fg input,.fg select,.fg textarea{width:100%;padding:13px 17px;background:var(--dark-2);border:1px solid var(--dark-border);border-radius:2px;font-family:var(--body);font-size:.86rem;font-weight:300;color:var(--white);outline:none;transition:border-color .3s;appearance:none;}
.fg input::placeholder,.fg textarea::placeholder{color:rgba(255,255,255,.25);}
.fg select{color:rgba(255,255,255,.5);}
.fg select option{background:var(--dark-2);color:var(--white);}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--red);}
.fg textarea{resize:vertical;}

.footer{background:var(--black);padding:52px 0 32px;border-top:1px solid var(--dark-border);}
.ft-top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:48px;padding-bottom:34px;border-bottom:1px solid var(--dark-border);margin-bottom:22px;}
.ft-logo{font-family:var(--body);font-weight:900;font-size:1.45rem;color:var(--white);}
.ft-logo span{color:var(--red);font-style:italic;}
.ft-slogan{font-size:.82rem;font-weight:300;font-style:italic;color:rgba(255,255,255,.22);text-align:center;}
.ft-nav{display:flex;gap:24px;justify-content:flex-end;}
.ft-nav a{font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.25);transition:color .3s;}
.ft-nav a:hover{color:var(--white);}
.ft-bottom{display:flex;justify-content:space-between;align-items:center;}
.ft-bottom p{font-size:.68rem;color:rgba(255,255,255,.15);}
.ft-soc{display:flex;gap:18px;}
.ft-soc a{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.2);transition:color .3s;}
.ft-soc a:hover{color:var(--white);}

.reveal{opacity:0;transform:translateY(36px) scale(0.98);filter:blur(3px);transition:opacity .75s var(--ease-out),transform .75s var(--ease-out),filter .75s;}
.reveal.visible{opacity:1;transform:translateY(0) scale(1);filter:blur(0);}

@keyframes fadeUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes mq{from{transform:translateX(0);}to{transform:translateX(-50%);}}

@media(max-width:1100px){
  .hero{grid-template-columns:1fr;}
  .hero-visual{display:none;}
  .hero-body{padding:150px 60px 220px;}
  .sp-layout{grid-template-columns:1fr;gap:36px;}
  .sp-media{height:300px;}
  .ft-top{grid-template-columns:1fr;gap:20px;text-align:center;}
  .ft-slogan{text-align:center;}
  .ft-nav{justify-content:center;}
}
@media(max-width:900px){
  .sec-head{grid-template-columns:1fr;gap:16px;}
  .proc-item{grid-template-columns:60px 1fr;}
  .pri-icon{display:none;}
  .eq-grid{grid-template-columns:repeat(2,1fr);}
  .test-grid{grid-template-columns:1fr;max-width:500px;}
  .nos-inner{grid-template-columns:1fr;gap:40px;}
  .cto-inner{grid-template-columns:1fr;gap:44px;}
  .cta-inner{flex-direction:column;text-align:center;}
  .cta-tag{justify-content:center;}
}
@media(max-width:768px){
  .nav{padding:18px 24px;}
  .nav.scrolled{padding:14px 24px;}
  .nav-links,.nav-cta{display:none;}
  .hamburger{display:flex;}
  .container{padding:0 24px;}
  .hero-body{padding:120px 24px 220px;}
  .hero-metrics{padding:20px 24px;}
  .hm-i{padding-right:24px;}
  .hm-sep{margin-right:24px;}
  .svc-tabs{overflow-x:auto;}
  .stab{padding:12px 16px;font-size:.68rem;}
  .mosaico{grid-template-columns:1fr 1fr;grid-template-rows:auto;grid-template-areas:"produccion gastronomia" "servicios corporativa" "branding branding" "diseno proyectos" "eventos salud";}
  .mo-gastronomia,.mo-servicios,.mo-corporativa,.mo-diseno,.mo-proyectos,.mo-salud{min-height:220px;}
  .mo-produccion,.mo-branding,.mo-eventos{min-height:260px;}
  .eq-grid{grid-template-columns:1fr;max-width:400px;}
  .nos-stats{flex-wrap:wrap;gap:24px;}
  .form-row{grid-template-columns:1fr;}
  .ft-top{grid-template-columns:1fr;}
  .ft-bottom{flex-direction:column;gap:10px;align-items:flex-start;}
  .cart-drawer{width:100vw;}
  .wa-fab{bottom:20px;right:20px;width:50px;height:50px;}
  .cto-quote{flex-wrap:wrap;}
  .cq-ast{display:none;}
}
@media(max-width:480px){
  .hero-actions{flex-direction:column;}
  .hero-metrics{display:none;}
  .mosaico{grid-template-columns:1fr;grid-template-areas:"produccion" "gastronomia" "servicios" "corporativa" "branding" "diseno" "proyectos" "eventos" "salud";}
  .mosaico .pf-item{min-height:260px;}
}

.nos-tag { font-size: 1.05rem; font-weight: 700; color: var(--white); margin-top: 8px; margin-bottom: 0; }
.nos-tag em { color: var(--red); font-style: italic; font-weight: 300; }

.nos-videos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 64px; }
.nos-video-wrap { position: relative; border-radius: 3px; overflow: hidden; aspect-ratio: 9/16; background: var(--dark-3); }
.nos-video-wrap video { width: 100%; height: 100%; object-fit: cover; display: block; }
.nv-label { position: absolute; bottom: 0; left: 0; right: 0; padding: 16px 18px; background: linear-gradient(to top, rgba(0,0,0,0.8), transparent); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--white); }


@media (max-width: 900px) {
  .nos-videos { grid-template-columns: 1fr; gap: 12px; }
  .nos-video-wrap { aspect-ratio: 16/9; }
  .pf-grid-2 { grid-template-columns: 1fr 1fr; height: auto; }
  .pf-grid-2 .pf-item { height: 220px; }
}
@media (max-width: 600px) {
  .pf-grid-2 { grid-template-columns: 1fr; }
  .pf-grid-2 .pf-item { height: 220px; }
}