/* Layout: escaparate deportivo oscuro; degradados antracita, fibra de carbono, cortes en diagonal; naranja protagonista, granate en detalles. Look único (oscuro). */
:root{
  --asfalto:#111214; --antracita:#1d1f23; --grafito:#2a2d32; --acero:#3a3e45; --niebla:#a7abb2; --tiza:#d9dbde; --blanco:#f5f5f3;
  --naranja:#ff6a00; --naranja-2:#ff8a2a; --granate:#7d1a2c; --granate-2:#a3263c;
  --display:"Barlow Condensed","Arial Narrow",Impact,sans-serif;
  --body:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
  --cut:22px; color-scheme:dark;
  --carbono:
    linear-gradient(27deg,#141516 5px,transparent 5px) 0 5px,
    linear-gradient(207deg,#141516 5px,transparent 5px) 10px 0,
    linear-gradient(27deg,#23252a 5px,transparent 5px) 0 10px,
    linear-gradient(207deg,#23252a 5px,transparent 5px) 10px 5px,
    linear-gradient(90deg,#1a1c1f 10px,transparent 10px),
    linear-gradient(#1c1e21 25%,#18191c 25%,#18191c 50%,transparent 50%,transparent 75%,#25272b 75%,#25272b);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--asfalto);color:var(--blanco);font-family:var(--body);font-size:16.5px;line-height:1.6;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--asfalto)}
.wrap{max-width:1260px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3,.h1{font-family:var(--display);font-style:italic;font-weight:800;text-transform:uppercase;line-height:.9;margin:0;letter-spacing:-.005em;text-wrap:balance}
h2{font-size:clamp(2.6rem,6vw,4.6rem)}
p{margin:0}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--naranja);outline-offset:3px}
.kicker{font-family:var(--display);font-weight:700;font-size:.95rem;letter-spacing:.22em;text-transform:uppercase;color:var(--naranja);display:inline-flex;align-items:center;gap:.7rem}
.kicker::before{content:"";width:30px;height:3px;background:linear-gradient(90deg,var(--granate-2),var(--naranja));transform:skewX(-30deg)}
.o{color:var(--naranja)}
.carbon{background:var(--carbono);background-color:#151618;background-size:20px 20px}

/* Botones */
.btn{--bg:var(--naranja);--fg:var(--asfalto);display:inline-flex;align-items:center;justify-content:center;gap:.6rem;background:var(--bg);color:var(--fg);
  font-family:var(--display);font-style:italic;font-weight:800;font-size:1.12rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;
  padding:.8rem 1.7rem;border:0;cursor:pointer;white-space:nowrap;max-width:100%;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);transition:background .15s,transform .15s}
.btn:hover{--bg:var(--naranja-2);transform:translateX(3px)}
.btn.ghost{--bg:rgba(255,255,255,.09);--fg:var(--blanco)}
.btn.ghost:hover{--bg:rgba(255,255,255,.16)}
.btn.dark{--bg:var(--asfalto);--fg:var(--blanco)}
.btn.dark:hover{--bg:#000}
.btn .ar{transition:transform .15s}
.btn:hover .ar{transform:translateX(4px)}
.more{font-family:var(--display);font-style:italic;font-weight:800;text-transform:uppercase;letter-spacing:.1em;text-decoration:none;color:var(--naranja)}
.more:hover{color:var(--naranja-2)}

/* Barra superior */
.promo{background:#000;color:var(--tiza);font-family:var(--display);font-weight:700;font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;border-bottom:2px solid var(--granate)}
.promo .wrap{display:flex;justify-content:center;gap:1.4rem;flex-wrap:wrap;padding-block:.45rem}
.promo span+span::before{content:"/";color:var(--naranja);margin-right:1.4rem}
@media (max-width:640px){.promo span{display:none}.promo span.m{display:inline}.promo span.m::before{content:none}}

/* Cabecera */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(17,18,20,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--grafito)}
.top .row1{display:flex;align-items:center;gap:1.6rem;padding-block:.75rem}
.navrow{border-top:1px solid var(--grafito);background:rgba(0,0,0,.25)}
.navrow .wrap{padding-block:.55rem}
.btn .sm{display:none}
.logo{font-family:var(--display);font-style:italic;font-weight:900;font-size:2rem;letter-spacing:.01em;text-decoration:none;line-height:1;display:inline-flex;align-items:center;gap:.45rem;color:var(--blanco)}
.logo-mark{height:1.45em;width:auto;flex:none;margin-top:-.15em}
.logo-txt{color:var(--blanco)}
.logo-txt span{color:var(--naranja)}
nav.menu{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;align-items:center;justify-content:space-between;max-width:1080px}
nav.menu .ml{font-family:var(--display);font-weight:700;font-size:1rem;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;color:var(--tiza);position:relative;padding-block:.3rem;white-space:nowrap}
nav.menu .ml::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--granate-2);transition:right .2s}
nav.menu .ml[aria-current="page"]{color:var(--blanco)}
nav.menu .ml[aria-current="page"]::after{right:0}
nav.menu .ml:hover,nav.menu .has-dd:focus-within .ml{color:var(--blanco)}
nav.menu .ml:hover::after,nav.menu .has-dd:hover .ml::after{right:0}
.top .actions{margin-left:auto;display:flex;gap:.5rem;align-items:center}
.top .btn{font-size:1rem;padding:.6rem 1.3rem}
.burger{display:none;background:none;border:1px solid var(--acero);width:44px;height:44px;cursor:pointer;color:var(--blanco);font-size:1.2rem}
.mobile-nav{background:var(--asfalto);border-bottom:2px solid var(--granate)}
.mobile-nav .wrap{display:grid;padding-block:.4rem 1rem}
.mobile-nav a{padding:.8rem 0;font-family:var(--display);font-style:italic;font-weight:800;font-size:1.4rem;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--grafito)}
@media (max-width:1080px){.navrow{display:none}.burger{display:inline-grid;place-items:center}}
@media (max-width:600px){.top .actions .ghost{display:none}}
@media (max-width:480px){.btn .lg{display:none}.btn .sm{display:inline}}
@media (max-width:420px){.logo{font-size:1.5rem}.top .btn{padding:.55rem 1rem;font-size:.92rem}}

/* Hero */
.hero{position:relative;overflow:hidden;isolation:isolate;
  background:radial-gradient(ellipse at 85% 20%,rgba(255,106,0,.20),transparent 50%),radial-gradient(ellipse at 0% 100%,rgba(125,26,44,.28),transparent 45%),linear-gradient(140deg,#0e0f11 0%,#1c1e22 50%,#2c3036 100%)}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 2px,transparent 2px 26px);
  -webkit-mask-image:linear-gradient(90deg,transparent 30%,#000 75%);mask-image:linear-gradient(90deg,transparent 30%,#000 75%)}
.hero::after{content:"";position:absolute;left:-5%;right:-5%;bottom:-1px;height:70px;background:var(--asfalto);clip-path:polygon(0 100%,100% 30%,100% 100%);z-index:-1}
.slides{display:grid}
.slide{grid-area:1/1;display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center;padding-block:4.2rem 6.5rem;transition:opacity .5s,transform .5s,visibility .5s}
.slide[aria-hidden="true"]{opacity:0;visibility:hidden;transform:translateX(-20px)}
.slide .h1,.slide h1{font-size:clamp(3.2rem,8.4vw,7rem);margin-top:1rem}
.slide .lead{font-size:1.18rem;color:var(--tiza);max-width:34rem;margin-top:1.4rem}
.slide .ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.spec{position:relative;clip-path:polygon(0 0,calc(100% - 46px) 0,100% 46px,100% 100%,46px 100%,0 calc(100% - 46px));
  min-height:400px;display:flex;flex-direction:column;justify-content:flex-end;padding:1.6rem;overflow:hidden;min-width:0}
.spec .shade{position:absolute;inset:0;background:linear-gradient(200deg,rgba(17,18,20,.1) 0%,rgba(17,18,20,.85) 70%)}
.spec::before{content:"";position:absolute;top:0;left:0;width:55%;height:6px;background:linear-gradient(90deg,var(--granate-2),var(--naranja));z-index:2}
.spec .big{position:absolute;top:.02em;right:.05em;font-family:var(--display);font-style:italic;font-weight:900;font-size:clamp(7rem,15vw,11.5rem);line-height:.8;
  color:transparent;-webkit-text-stroke:2px rgba(255,106,0,.9);letter-spacing:-.02em;user-select:none}
.spec dl{position:relative;margin:0}
.spec dl div{display:flex;justify-content:space-between;gap:1rem;padding-block:.7rem;border-top:1px solid rgba(255,255,255,.14)}
.spec dt{font-family:var(--display);font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:.85rem;color:var(--niebla)}
.spec dd{margin:0;font-weight:600;text-align:right}
.hero-ui{position:absolute;left:0;right:0;bottom:3.4rem;z-index:2}
.hero-ui .wrap{display:flex;align-items:center;gap:1.4rem}
.count{font-family:var(--display);font-style:italic;font-weight:800;font-size:1.2rem;letter-spacing:.08em;font-variant-numeric:tabular-nums}
.count b{color:var(--naranja)}
.dots{display:flex;gap:.4rem}
.dots button{width:38px;height:4px;border:0;background:var(--acero);cursor:pointer;padding:0;transform:skewX(-30deg)}
.dots button[aria-current="true"]{background:var(--naranja)}
.arrows{margin-left:auto;display:flex;gap:.4rem}
.arrows button{width:46px;height:46px;border:1px solid var(--acero);background:rgba(0,0,0,.2);color:var(--blanco);cursor:pointer;font-size:1.1rem}
.arrows button:hover{border-color:var(--naranja);color:var(--naranja)}
@media (max-width:860px){.slide{grid-template-columns:1fr;gap:2rem;padding-block:3rem 7rem}.spec{min-height:260px}}

/* Ticker */
.ticker{background:linear-gradient(90deg,var(--naranja),var(--naranja-2));color:var(--asfalto);overflow:hidden;transform:rotate(-1.4deg) scale(1.02);margin-block:-.4rem .4rem;position:relative;z-index:3;border-bottom:3px solid var(--granate)}
.ticker .track{display:flex;width:max-content;font-family:var(--display);font-style:italic;font-weight:900;font-size:1.65rem;text-transform:uppercase;letter-spacing:.03em;padding-block:.5rem}
.ticker .track span{padding-inline:1.3rem;white-space:nowrap}
.ticker .track span::after{content:"";display:inline-block;width:18px;height:4px;background:var(--granate);transform:skewX(-30deg);margin-left:2.6rem;vertical-align:middle}
@media (prefers-reduced-motion:no-preference){.ticker .track{animation:tick 34s linear infinite}@keyframes tick{to{transform:translateX(-50%)}}}

/* Secciones */
section{scroll-margin-top:5.5rem}
.sec{padding-block:5rem}
.sec-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1.2rem;margin-bottom:2.2rem}
.sec-head .t{display:grid;gap:.9rem}
.grad{background:linear-gradient(180deg,var(--asfalto) 0%,#1b1d21 100%)}
.grad-2{background:radial-gradient(ellipse at 10% 0%,rgba(255,106,0,.10),transparent 45%),linear-gradient(160deg,#202327,#141518)}

/* Servicios */
.services{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:1.2rem}
.svc{position:relative;overflow:hidden;min-height:470px;padding:2rem;display:flex;flex-direction:column;justify-content:flex-end;gap:1rem;min-width:0;scroll-margin-top:6rem;
  clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,0 100%)}
.svc.acc{background:radial-gradient(ellipse at 100% 0%,rgba(255,106,0,.22),transparent 55%),repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 6px),linear-gradient(155deg,#2e3238 0%,#1a1c20 70%)}
.svc.vnl{background:repeating-linear-gradient(115deg,rgba(17,18,20,.10) 0 18px,transparent 18px 36px),linear-gradient(155deg,#ff8a2a 0%,#ff6a00 55%,#d95400 100%);color:var(--asfalto)}
.svc.d3d{background:linear-gradient(200deg,rgba(125,26,44,.45),rgba(17,18,20,.2) 55%),var(--carbono);background-color:#151618;background-size:auto,20px 20px}
.svc .num{position:absolute;top:1rem;right:1.4rem;font-family:var(--display);font-style:italic;font-weight:900;font-size:8rem;line-height:.8;color:transparent;-webkit-text-stroke:2px currentColor;opacity:.32}
.svc .label{font-family:var(--display);font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:.85rem;opacity:.85}
.svc h3{font-size:clamp(2.3rem,3.8vw,3.4rem)}
.svc p{max-width:30rem;font-size:1.04rem}
.svc.acc p,.svc.d3d p{color:var(--tiza)}
.svc ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.svc li{font-family:var(--display);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.85rem;padding:.3rem .7rem;background:rgba(255,255,255,.08)}
.svc.vnl li{background:rgba(17,18,20,.14)}
.svc.d3d li{background:rgba(163,38,60,.35)}
.svc .btn{align-self:flex-start;margin-top:.4rem}
@media (max-width:1020px){.services{grid-template-columns:1fr 1fr}.svc.acc{grid-column:1/-1}}
@media (max-width:680px){.services{grid-template-columns:1fr}.svc{min-height:380px}}

/* Productos */
.row-block+.row-block{margin-top:4rem}
.row-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}
.row-head h3{font-size:clamp(2rem,4vw,3rem)}
.products{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.products.all{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.prod{background:linear-gradient(170deg,#25282d,#191b1e);display:flex;flex-direction:column;min-width:0;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%);transition:transform .2s}
.prod:hover{transform:translateY(-4px)}
.prod .img{aspect-ratio:1/1;max-width:100%;background:#2b2e33;position:relative;display:grid;place-items:center;overflow:hidden}
.prod .img img{width:100%;height:100%;object-fit:cover}
.badge{position:absolute;top:.8rem;left:.8rem;font-family:var(--display);font-style:italic;font-weight:800;letter-spacing:.1em;padding:.2rem .6rem;text-transform:uppercase;font-size:.9rem}
.badge.top{background:var(--granate);color:var(--blanco)}
.badge.dest{background:var(--naranja);color:var(--asfalto)}
.prod .info{padding:1.1rem;display:grid;gap:.3rem;flex:1}
.prod .cat{font-family:var(--display);font-weight:700;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--niebla)}
.prod h3{font-size:1.6rem}
.prod .desc{color:var(--niebla);font-size:.95rem}
.prod .price{font-family:var(--display);font-style:italic;font-weight:800;font-size:1.7rem;color:var(--naranja);margin-top:auto;padding-top:.5rem;font-variant-numeric:tabular-nums}
.prod.soon .img{background:repeating-linear-gradient(115deg,#24272b 0 14px,#2a2d32 14px 28px)}
.prod.soon.carbon-ph .img{background:var(--carbono);background-color:#151618;background-size:20px 20px}
.prod.soon .ph{font-family:var(--display);font-style:italic;font-weight:900;font-size:2.4rem;line-height:.85;text-transform:uppercase;text-align:center}
.prod.soon .ph small{display:block;font-size:.85rem;letter-spacing:.24em;color:var(--naranja);font-weight:700;margin-bottom:.45rem}
.prod.soon .bar{height:.7rem;background:#2e3237}
.prod.soon .bar.s{width:50%}
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.4rem}
.chip{border:1px solid var(--acero);background:transparent;padding:.45rem 1rem;cursor:pointer;font-family:var(--display);font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.chip[aria-pressed="true"]{background:var(--naranja);border-color:var(--naranja);color:var(--asfalto)}
.note-empty{border-left:3px solid var(--granate-2);padding:.8rem 1rem;background:rgba(255,255,255,.04);color:var(--tiza)}
@media (max-width:1020px){.products:not(.all){grid-template-columns:repeat(4,minmax(220px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.6rem}.products:not(.all) .prod{scroll-snap-align:start}}

/* Sobre nosotros */
.about{position:relative;isolation:isolate}
.about::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(17,18,20,.96) 0%,rgba(17,18,20,.75) 55%,rgba(125,26,44,.35) 100%)}
.manifesto{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:end}
.manifesto h2{font-size:clamp(3rem,7vw,5.4rem)}
.manifesto .lead{font-size:1.15rem;color:var(--tiza);max-width:34rem;display:grid;gap:1rem}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:3rem}
.pillar{padding-top:1.2rem;display:grid;gap:.6rem;min-width:0;position:relative}
.pillar::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--granate-2),var(--naranja) 35%)}
.pillar h3{font-size:1.9rem}
.pillar p{color:var(--niebla)}
@media (max-width:860px){.manifesto{grid-template-columns:1fr;gap:1.2rem}.pillars{grid-template-columns:1fr}}

/* Cómo pedir */
.steps{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;margin:0;padding:0;border-top:1px solid var(--acero)}
.steps li{padding:2rem 1.6rem 1.6rem 0;display:grid;gap:.7rem;align-content:start;min-width:0}
.steps li+li{padding-left:1.6rem;border-left:1px solid var(--acero)}
.steps .n{font-family:var(--display);font-style:italic;font-weight:900;font-size:5rem;line-height:.8;color:transparent;-webkit-text-stroke:2px var(--naranja)}
.steps h3{font-size:2rem}
.steps p{color:var(--niebla)}
.order-ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.6rem}
@media (max-width:860px){.steps{grid-template-columns:1fr}.steps li,.steps li+li{padding:1.6rem 0;border-left:0;border-bottom:1px solid var(--acero)}}

/* Redes */
.social-links{display:flex;flex-wrap:wrap;gap:.5rem}
.tiktoks{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.tt{aspect-ratio:9/16;max-width:100%;position:relative;background:#000;min-width:0;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%)}
.tt iframe{width:100%;height:100%;border:0;display:block}
.tt.ph{display:grid;place-items:center;text-align:center;padding:1.4rem;background:linear-gradient(170deg,#2a2d32,#121315)}
.tt.ph .play{width:66px;height:66px;background:var(--naranja);display:grid;place-items:center;margin:0 auto 1.1rem;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.tt.ph strong{font-family:var(--display);font-style:italic;font-weight:800;font-size:1.8rem;text-transform:uppercase;display:block;line-height:.95}
.tt.ph small{color:var(--niebla);display:block;margin-top:.6rem}
.tt-creator{display:flex;justify-content:center}
@media (max-width:860px){.tiktoks{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.6rem}.tt{scroll-snap-align:start}}

/* Banda de pago */
.paybar{position:relative;background:linear-gradient(110deg,#ff6a00 0%,#ff8a2a 60%,#ff6a00 100%);color:var(--asfalto);overflow:hidden;isolation:isolate;border-top:3px solid var(--granate)}
.paybar::before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(115deg,rgba(17,18,20,.08) 0 2px,transparent 2px 24px)}
.paybar .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.4rem;padding-block:3rem}
.paybar h2{font-size:clamp(2.4rem,5vw,3.8rem)}
.paybar p{font-weight:600;font-size:1.08rem;margin-top:.5rem}

/* Pie */
footer{position:relative;isolation:isolate}
footer::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.92))}
footer .wrap{padding-block:3.4rem 2rem}
.fcols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem}
.fcols h4{margin:0 0 .9rem;font-family:var(--display);font-weight:700;font-size:.92rem;letter-spacing:.2em;text-transform:uppercase;color:var(--naranja)}
.fcols ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.fcols a{text-decoration:none;color:var(--niebla)}
.fcols a:hover{color:var(--blanco)}
.fcols p{color:var(--niebla);margin-top:.9rem;max-width:22rem}
.legal{border-top:1px solid var(--granate);margin-top:2.6rem;padding-top:1.2rem;font-size:.88rem;color:#7a7e85}
.mail{user-select:all;color:var(--niebla)}
@media (max-width:860px){.fcols{grid-template-columns:1fr 1fr}}
@media (max-width:460px){.fcols{grid-template-columns:1fr}}

.wa{position:fixed;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:40;width:58px;height:58px;
  background:var(--granate);color:var(--blanco);display:grid;place-items:center;text-decoration:none;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);box-shadow:0 8px 24px rgba(0,0,0,.4);transition:background .15s}
.wa:hover{background:var(--granate-2)}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(1.2rem + env(safe-area-inset-bottom,0px));z-index:90;background:var(--antracita);color:var(--blanco);
  border-left:4px solid var(--granate-2);padding:.9rem 1.2rem;font-weight:600;max-width:min(92vw,30rem)}

/* Desplegable del catálogo */
.has-dd{position:relative}
.has-dd .ml .caret{display:inline-block;margin-left:.35rem;font-size:.75em;transition:transform .2s}
.has-dd:hover .caret,.has-dd:focus-within .caret{transform:rotate(180deg)}
.dd{position:absolute;top:calc(100% + .6rem);left:-1rem;min-width:290px;display:grid;padding:.5rem;background:#141517;border-top:3px solid var(--naranja);
  box-shadow:0 18px 40px rgba(0,0,0,.55);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s}
.dd::before{content:"";position:absolute;left:0;right:0;top:-1.2rem;height:1.2rem}
.has-dd:hover .dd,.has-dd:focus-within .dd{opacity:1;visibility:visible;transform:none}
.dd a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem .9rem;text-decoration:none;font-family:var(--display);font-weight:700;
  font-size:1.05rem;letter-spacing:.07em;text-transform:uppercase;color:var(--tiza);border-left:3px solid transparent}
.dd a:hover,.dd a:focus-visible{background:rgba(125,26,44,.35);color:var(--blanco);border-left-color:var(--granate-2)}
.dd a .n{font-style:italic;color:var(--naranja);font-size:.9rem}
.dd .all{border-top:1px solid var(--grafito);margin-top:.3rem;color:var(--naranja)}
.mobile-nav .sub{display:grid;padding-left:1rem;border-bottom:1px solid var(--grafito);padding-block:.2rem .5rem}
.mobile-nav .sub a{font-size:1.15rem;padding:.5rem 0;border:0;color:var(--tiza);font-style:normal}
.mobile-nav .sub a::before{content:"— ";color:var(--granate-2)}

/* Tarjetas de familia del catálogo */
.cats{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}
.cat{grid-column:span 2;position:relative;overflow:hidden;isolation:isolate;min-height:280px;display:flex;flex-direction:column;justify-content:flex-end;gap:.5rem;padding:1.6rem;
  text-decoration:none;color:var(--blanco);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%);min-width:0}
.cat:nth-child(-n+2){grid-column:span 3;min-height:360px}
.cat .bg{position:absolute;inset:0;z-index:-2;background:var(--carbono);background-color:#151618;background-size:20px 20px;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.cat .bg::after{content:"";position:absolute;inset:0;background:var(--img,none) center/cover no-repeat}
.cat::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(17,18,20,0) 25%,rgba(17,18,20,.9) 100%),linear-gradient(120deg,rgba(125,26,44,.28),transparent 50%);transition:background .3s}
.cat:hover .bg,.cat:focus-visible .bg{transform:scale(1.09)}
.cat .num{position:absolute;top:1rem;right:1.4rem;font-family:var(--display);font-style:italic;font-weight:900;font-size:4.5rem;line-height:.8;color:transparent;-webkit-text-stroke:2px rgba(255,106,0,.75)}
.cat .k{font-family:var(--display);font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:.85rem;color:var(--naranja)}
.cat h3{font-size:clamp(2.4rem,4.4vw,3.6rem)}
.cat .go{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--display);font-style:italic;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--tiza)}
.cat .go::after{content:"→";color:var(--naranja);transition:transform .2s}
.cat:hover .go::after{transform:translateX(6px)}
.cat:hover .go{color:var(--blanco)}
@media (max-width:1020px){.cats{grid-template-columns:1fr 1fr}.cat,.cat:nth-child(-n+2){grid-column:span 1;min-height:260px}.cat:first-child{grid-column:1/-1}}
@media (max-width:560px){.cats{grid-template-columns:1fr}.cat:first-child{grid-column:auto}}
.prod{cursor:pointer;text-decoration:none;color:inherit}

/* Página de familia */
.cat-hero{position:relative;overflow:hidden;isolation:isolate;padding-block:4.5rem 5.5rem}
.cat-hero .bg{position:absolute;inset:0;z-index:-2;background:var(--carbono);background-color:#151618;background-size:20px 20px}
.cat-hero .bg::after{content:"";position:absolute;inset:0;background:var(--img,none) center/cover no-repeat}
.cat-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(17,18,20,.95) 0%,rgba(17,18,20,.75) 55%,rgba(125,26,44,.35) 100%)}
.cat-hero::after{content:"";position:absolute;left:-5%;right:-5%;bottom:-1px;height:60px;background:var(--asfalto);clip-path:polygon(0 100%,100% 30%,100% 100%)}
.crumbs{font-family:var(--display);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.9rem;color:var(--niebla);display:flex;gap:.6rem;flex-wrap:wrap}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--blanco)}
.crumbs span{color:var(--granate-2)}
.cat-hero h1{font-size:clamp(3.6rem,10vw,8rem);margin-top:1rem}
.cat-hero .lead{font-size:1.18rem;color:var(--tiza);max-width:36rem;margin-top:1.2rem}
.cat-hero .ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.fam-tabs{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.4rem;margin-bottom:2.2rem}
.fam-tabs a{flex:none;border:1px solid var(--acero);padding:.5rem 1.05rem;font-family:var(--display);font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--tiza)}
.fam-tabs a:hover{border-color:var(--naranja);color:var(--blanco)}
.fam-tabs a[aria-current="page"]{background:var(--naranja);border-color:var(--naranja);color:var(--asfalto)}
.details{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.detail{display:grid;grid-template-columns:.9fr 1.1fr;background:linear-gradient(170deg,#25282d,#191b1e);clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%);min-width:0;scroll-margin-top:7rem}
.detail .img{position:relative;background:#2b2e33;min-height:260px;overflow:hidden}
.detail .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.detail:hover .img img{transform:scale(1.05)}
.detail .img.empty{background:var(--carbono);background-color:#151618;background-size:20px 20px}
.detail .body{padding:1.4rem;display:grid;gap:.8rem;align-content:start;min-width:0}
.detail h3{font-size:2rem}
.detail .price{font-family:var(--display);font-style:italic;font-weight:900;font-size:2.2rem;line-height:1;color:var(--naranja);font-variant-numeric:tabular-nums}
.detail .price small{font-size:.9rem;color:var(--niebla);font-style:normal;letter-spacing:.1em;margin-right:.4rem}
.detail .desc{color:var(--tiza)}
.detail .pers h4{margin:0 0 .5rem;font-family:var(--display);font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:.85rem;color:var(--niebla)}
.detail .pers ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}
.detail .pers li{font-family:var(--display);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.85rem;padding:.3rem .65rem;background:rgba(163,38,60,.3);border-left:2px solid var(--granate-2)}
.detail .btn{justify-self:start;margin-top:.3rem}
.empty-fam{display:grid;gap:1.2rem;justify-items:start;padding:2.4rem;background:linear-gradient(170deg,#25282d,#191b1e);border-left:4px solid var(--granate-2);max-width:46rem}
.empty-fam h3{font-size:2.2rem}
.empty-fam p{color:var(--tiza)}
@media (max-width:1020px){.details{grid-template-columns:1fr}}
@media (max-width:560px){.detail{grid-template-columns:1fr}.detail .img{min-height:0;aspect-ratio:4/3}}

/* Trabajos realizados */
.jumps{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.4rem}
.jumps a{flex:none;border:1px solid var(--acero);padding:.5rem 1.05rem;font-family:var(--display);font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--tiza)}
.jumps a:hover{border-color:var(--naranja);color:var(--blanco)}
.work{scroll-margin-top:6rem}
.work+.work{margin-top:4.5rem}
.work-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}
.work-head .t{display:grid;gap:.7rem}
.work-head h2{font-size:clamp(2.4rem,5vw,3.8rem)}
.work-ctrl{display:flex;align-items:center;gap:.8rem}
.work-ctrl .count{min-width:4.5rem;text-align:right}
.work-ctrl button{width:48px;height:48px;border:1px solid var(--acero);background:rgba(0,0,0,.25);color:var(--blanco);cursor:pointer;font-size:1.15rem;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.work-ctrl button:hover:not([disabled]){background:var(--naranja);border-color:var(--naranja);color:var(--asfalto)}
.work-ctrl button[disabled]{opacity:.35;cursor:default}
.carousel{position:relative;overflow:hidden;touch-action:pan-y;outline:none;cursor:grab}
.carousel:active{cursor:grabbing}
.carousel:focus-visible{outline:2px solid var(--naranja);outline-offset:4px}
.c-track{display:flex;gap:1rem;transition:transform .65s cubic-bezier(.22,.85,.2,1);will-change:transform}
.carousel.dragging .c-track{transition:none}
.c-slide{flex:0 0 72%;position:relative;aspect-ratio:16/10;max-width:100%;overflow:hidden;background:var(--carbono);background-color:#151618;background-size:20px 20px;
  clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,28px 100%,0 calc(100% - 28px));
  transform:scale(.93);filter:brightness(.45) saturate(.7);transition:transform .65s cubic-bezier(.22,.85,.2,1),filter .5s}
.c-slide.on{transform:none;filter:none}
.c-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .3s}
.c-slide.on img{transform:scale(1.04)}
.c-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(17,18,20,.88));pointer-events:none}
.c-slide .ph{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-family:var(--display);font-style:italic;font-weight:900;text-transform:uppercase;
  font-size:clamp(2.4rem,6vw,4.6rem);line-height:.85;color:transparent;-webkit-text-stroke:2px rgba(255,106,0,.7)}
.c-slide .ph small{display:block;font-size:.9rem;-webkit-text-stroke:0;color:var(--niebla);letter-spacing:.24em;margin-top:.8rem;font-weight:700}
.cap{position:absolute;left:1.4rem;right:1.4rem;bottom:1.2rem;z-index:2;display:flex;align-items:flex-end;gap:1rem;opacity:0;transform:translateX(-24px);transition:opacity .4s .25s,transform .5s .25s}
.c-slide.on .cap{opacity:1;transform:none}
.cap .n{font-family:var(--display);font-style:italic;font-weight:900;font-size:3.6rem;line-height:.8;color:transparent;-webkit-text-stroke:2px var(--naranja)}
.cap b{display:block;font-family:var(--display);font-style:italic;font-weight:800;font-size:1.7rem;text-transform:uppercase;line-height:1}
.cap span{color:var(--tiza);font-size:.95rem}
.c-fx{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden}
.c-fx i{position:absolute;top:-10%;bottom:-10%;width:14%;transform:translateX(-160%) skewX(-22deg);opacity:0}
.c-fx i:nth-child(1){background:linear-gradient(90deg,transparent,rgba(255,106,0,.55),transparent)}
.c-fx i:nth-child(2){width:5%;background:var(--granate-2);opacity:0}
.c-fx i:nth-child(3){width:2%;background:rgba(255,255,255,.5)}
.carousel.moving .c-slide img{filter:blur(2.5px)}
.carousel.moving .c-slide{transform:skewX(-4deg) scale(.95)}
.carousel.moving .c-slide.on{transform:skewX(-4deg) scale(.98)}
@media (prefers-reduced-motion:no-preference){
  .carousel.fwd .c-fx i{animation:sweep .6s cubic-bezier(.3,.6,.3,1)}
  .carousel.back .c-fx i{animation:sweepBack .6s cubic-bezier(.3,.6,.3,1)}
  .carousel .c-fx i:nth-child(2){animation-delay:.06s!important}
  .carousel .c-fx i:nth-child(3){animation-delay:.12s!important}
  @keyframes sweep{0%{transform:translateX(-160%) skewX(-22deg);opacity:0}15%{opacity:1}100%{transform:translateX(900%) skewX(-22deg);opacity:0}}
  @keyframes sweepBack{0%{transform:translateX(900%) skewX(-22deg);opacity:0}15%{opacity:1}100%{transform:translateX(-160%) skewX(-22deg);opacity:0}}
}
@media (prefers-reduced-motion:reduce){.c-track,.c-slide,.cap{transition:none}.carousel.moving .c-slide,.carousel.moving .c-slide.on{transform:none}.carousel.moving .c-slide img{filter:none}}
.c-bars{display:flex;gap:.35rem;flex:1 1 220px;max-width:620px}
.c-bars button{flex:1;max-width:56px;height:5px;border:0;padding:0;background:var(--acero);cursor:pointer;transform:skewX(-30deg)}
.c-bars button[aria-current="true"]{background:var(--naranja)}
.work-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem}
@media (max-width:760px){.c-slide{flex-basis:88%}.cap .n{font-size:2.6rem}.cap b{font-size:1.3rem}.work-ctrl button{width:44px;height:44px}}

.svc .btn,.empty-fam .btn,.detail .btn{white-space:normal;text-align:center}
.slide{min-width:0}
.slide>div{min-width:0}
.slide .h1,.slide h1{font-size:clamp(2.7rem,7.4vw,6.2rem)}
.cat-hero h1{font-size:clamp(2.8rem,10vw,8rem)}
h1,h2,h3,.h1{overflow-wrap:break-word}
main{overflow-x:clip}
.paybar .wrap>div{min-width:0;flex:1 1 260px}
@media (max-width:360px){.logo{font-size:1.5rem}.top .row1{gap:.8rem}.top .actions .btn{padding:.5rem .9rem}}

/* Página Sobre nosotros: historia */
.story-hero{position:relative;overflow:hidden;isolation:isolate;padding-block:5rem 6.5rem}
.story-hero .bg{position:absolute;inset:0;z-index:-2;background:var(--carbono);background-color:#151618;background-size:20px 20px}
.story-hero .bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.story-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(17,18,20,.96) 0%,rgba(17,18,20,.78) 55%,rgba(125,26,44,.4) 100%)}
.story-hero::after{content:"";position:absolute;left:-5%;right:-5%;bottom:-1px;height:60px;background:var(--asfalto);clip-path:polygon(0 100%,100% 30%,100% 100%)}
.story-hero h1{font-size:clamp(2.8rem,8.5vw,7rem);margin-top:1rem;max-width:14ch}
.story-hero .lead{font-size:1.2rem;color:var(--tiza);max-width:38rem;margin-top:1.3rem}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-block:1px solid var(--acero)}
.stats div{padding:1.4rem 1.2rem;display:grid;gap:.2rem;min-width:0}
.stats div+div{border-left:1px solid var(--acero)}
.stats b{font-family:var(--display);font-style:italic;font-weight:900;font-size:clamp(2.4rem,5vw,3.6rem);line-height:.9;color:var(--naranja);font-variant-numeric:tabular-nums}
.stats span{color:var(--niebla);font-size:.95rem}
@media (max-width:760px){.stats{grid-template-columns:1fr 1fr}.stats div:nth-child(3){border-left:0}.stats div:nth-child(-n+2){border-bottom:1px solid var(--acero)}}
.chapter{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center;padding-block:3.5rem}
.chapter.rev .text{order:2}
.chapter .text{display:grid;gap:1rem;min-width:0;max-width:36rem}
.chapter .when{font-family:var(--display);font-style:italic;font-weight:900;font-size:4.4rem;line-height:.8;color:transparent;-webkit-text-stroke:2px var(--naranja)}
.chapter h2{font-size:clamp(2.2rem,4.6vw,3.6rem)}
.chapter p{font-size:1.1rem;color:var(--tiza);line-height:1.7}
.chapter p strong{color:var(--blanco)}
.shot{position:relative;margin:0;aspect-ratio:4/3;max-width:100%;overflow:hidden;min-width:0;
  clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,26px 100%,0 calc(100% - 26px));background:var(--carbono);background-color:#151618;background-size:20px 20px}
.shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shot::before{content:"";position:absolute;top:0;left:0;width:45%;height:5px;background:linear-gradient(90deg,var(--granate-2),var(--naranja));z-index:2}
.shot .ph{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:1.5rem;color:var(--niebla)}
.shot .ph b{display:block;font-family:var(--display);font-style:italic;font-weight:800;font-size:1.6rem;text-transform:uppercase;color:var(--tiza);line-height:1}
.shot .ph small{display:block;margin-top:.5rem;font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;font-size:.8rem;color:var(--naranja)}
.shot figcaption{position:absolute;left:1rem;bottom:.9rem;z-index:2;font-family:var(--display);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;background:rgba(17,18,20,.75);padding:.25rem .6rem}
.shot.tilt{transform:rotate(-1.5deg)}
.duo{display:grid;grid-template-columns:1.2fr 1fr;gap:1rem}
.duo .shot:last-child{margin-top:3rem}
.band{margin-block:2rem}
.band .shot{aspect-ratio:21/9}
.quote{font-family:var(--display);font-style:italic;font-weight:800;text-transform:uppercase;font-size:clamp(2rem,4.4vw,3.4rem);line-height:.98;max-width:22ch;
  padding-left:1.4rem;border-left:5px solid var(--granate-2);margin:2.5rem 0}
.quote span{color:var(--naranja)}
.next{display:grid;gap:1.2rem;justify-items:start;padding:2.6rem;margin-top:2rem;background:linear-gradient(160deg,#2a2d33,#17191c);clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% 100%,0 100%);border-top:5px solid var(--naranja)}
.next h2{font-size:clamp(2.4rem,5vw,4rem)}
.next p{color:var(--tiza);font-size:1.12rem;max-width:44rem}
.next .ctas{display:flex;flex-wrap:wrap;gap:.8rem}
@media (max-width:860px){.chapter{grid-template-columns:1fr;gap:1.8rem;padding-block:2.4rem}.chapter.rev .text{order:0}.chapter .when{font-size:3.4rem}.band .shot{aspect-ratio:16/10}}
@media (max-width:520px){.duo{grid-template-columns:1fr}.duo .shot:last-child{margin-top:0}.next{padding:1.6rem}}

/* Diseños 3D por encargo */
.d3-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:end}
.d3-intro p{font-size:1.18rem;color:var(--tiza);line-height:1.7;max-width:40rem}
.d3-intro p strong{color:var(--blanco)}
.d3-tags{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--acero)}
.d3-tags li{display:flex;align-items:center;gap:.9rem;padding:.9rem 0;border-bottom:1px solid var(--acero);font-family:var(--display);font-style:italic;font-weight:800;font-size:1.35rem;text-transform:uppercase}
.d3-tags li::before{content:"";flex:none;width:26px;height:3px;background:linear-gradient(90deg,var(--granate-2),var(--naranja));transform:skewX(-30deg)}
@media (max-width:860px){.d3-intro{grid-template-columns:1fr;gap:2rem}}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(180px,22vw,290px);gap:1rem}
.g-item{position:relative;overflow:hidden;border:0;padding:0;margin:0;cursor:pointer;text-align:left;color:var(--blanco);min-width:0;
  background:var(--carbono);background-color:#151618;background-size:20px 20px;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%)}
.g-item:first-child{grid-column:span 2;grid-row:span 2}
.g-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.g-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(17,18,20,.9));transition:opacity .3s}
.g-item:hover img,.g-item:focus-visible img{transform:scale(1.07)}
.g-item .gcap{position:absolute;left:1.1rem;right:1.1rem;bottom:1rem;z-index:2;display:grid;gap:.15rem}
.g-item .gcap b{font-family:var(--display);font-style:italic;font-weight:800;font-size:1.5rem;text-transform:uppercase;line-height:1}
.g-item:first-child .gcap b{font-size:2.2rem}
.g-item .gcap span{color:var(--tiza);font-size:.92rem}
.g-item .bar{position:absolute;top:0;left:0;height:4px;width:0;background:linear-gradient(90deg,var(--granate-2),var(--naranja));z-index:3;transition:width .4s}
.g-item:hover .bar,.g-item:focus-visible .bar{width:60%}
.g-item.ph{cursor:default}
.g-item.ph .gph{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-family:var(--display);font-style:italic;font-weight:900;text-transform:uppercase;
  font-size:clamp(1.8rem,3.4vw,2.8rem);line-height:.9;color:transparent;-webkit-text-stroke:1.5px rgba(255,106,0,.7)}
.g-item.ph .gph small{display:block;-webkit-text-stroke:0;color:var(--niebla);font-size:.8rem;letter-spacing:.22em;margin-top:.6rem;font-weight:700}
@media (max-width:860px){.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:clamp(160px,40vw,260px)}}
@media (max-width:480px){.gallery{grid-template-columns:1fr;grid-auto-rows:220px}.g-item:first-child{grid-column:auto;grid-row:span 1}}
.lightbox{border:0;padding:0;background:transparent;max-width:min(1100px,calc(100vw - 32px));width:100%;color:var(--blanco)}
.lightbox::backdrop{background:rgba(8,8,9,.92)}
.lightbox figure{margin:0;display:grid;gap:.9rem}
.lightbox img{width:100%;max-height:78vh;object-fit:contain;background:#000}
.lightbox figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:center}
.lightbox figcaption b{font-family:var(--display);font-style:italic;font-weight:800;font-size:1.7rem;text-transform:uppercase}
.lightbox figcaption span{color:var(--tiza)}
.lb-ctrl{display:flex;gap:.4rem}
.lb-ctrl button{width:46px;height:46px;border:1px solid var(--acero);background:rgba(0,0,0,.4);color:var(--blanco);cursor:pointer;font-size:1.1rem}
.lb-ctrl button:hover{background:var(--naranja);border-color:var(--naranja);color:var(--asfalto)}
.wa-cta{position:relative;isolation:isolate;overflow:hidden;padding-block:5rem}
.wa-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,rgba(125,26,44,.75) 0%,rgba(17,18,20,.6) 55%,rgba(255,106,0,.35) 100%)}
.wa-cta .wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:2.5rem;align-items:center}
.wa-cta h2{font-size:clamp(2.8rem,7vw,5.6rem)}
.wa-cta p{color:var(--tiza);font-size:1.15rem;max-width:36rem;margin-top:1.1rem}
.wa-btn{display:flex;align-items:center;justify-content:center;gap:.9rem;padding:1.3rem 2rem;font-size:1.5rem}
.wa-btn svg{flex:none}
.wa-cta .note{color:var(--niebla);font-size:.92rem;margin-top:.8rem;text-align:center}
@media (max-width:860px){.wa-cta .wrap{grid-template-columns:1fr}}
.wa-cta .wrap{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}
.wa-btn{white-space:normal;text-align:center;line-height:1.1}
@media (max-width:860px){.wa-cta .wrap{grid-template-columns:minmax(0,1fr)}}
@media (max-width:480px){.wa-btn{font-size:1.2rem;padding:1.1rem 1.4rem}}
.manifesto{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.manifesto h2{font-size:clamp(2.4rem,7vw,5.4rem)}
.next>*{max-width:100%}
.next h2{font-size:clamp(2rem,5vw,4rem)}
@media (max-width:860px){.manifesto{grid-template-columns:minmax(0,1fr)}}
.next{grid-template-columns:minmax(0,1fr)}
@media (max-width:480px){.btn{white-space:normal;text-align:center}.top .btn{white-space:nowrap}}
@media (max-width:400px){.slide .h1,.slide h1{font-size:2.4rem}}
@media (max-width:340px){.logo{font-size:1.3rem;gap:.3rem}.top .row1{gap:.5rem}}

/* Pie: enlaces legales */
.legal{display:flex;flex-wrap:wrap;gap:.8rem 2rem;justify-content:space-between;align-items:center}
.legal-links{display:flex;flex-wrap:wrap;gap:.4rem 1.3rem}
.legal-links a{color:var(--niebla);text-decoration:none}
.legal-links a:hover{color:var(--blanco);text-decoration:underline}

/* Páginas legales */
.doc-hero h1{font-size:clamp(2.8rem,8vw,6rem)}
.doc{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:3.5rem;align-items:start}
.doc-toc{position:sticky;top:9rem;display:grid;gap:.15rem;border-left:3px solid;border-image:linear-gradient(180deg,var(--granate-2),var(--naranja)) 1;padding-left:1.1rem}
.doc-toc b{font-family:var(--display);font-weight:700;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:var(--naranja);margin-bottom:.5rem}
.doc-toc a{color:var(--niebla);text-decoration:none;font-size:.95rem;padding:.2rem 0}
.doc-toc a:hover{color:var(--blanco)}
.doc-body{max-width:48rem;min-width:0}
.doc-body h2{font-size:clamp(1.8rem,4vw,2.5rem);margin:3rem 0 1rem;scroll-margin-top:9rem}
.doc-body h2:first-child{margin-top:0}
.doc-body h2 .n{color:var(--naranja);margin-right:.35em}
.doc-body h3{font-family:var(--display);font-style:normal;font-weight:700;font-size:1.2rem;letter-spacing:.08em;text-transform:uppercase;margin:1.8rem 0 .6rem;color:var(--blanco)}
.doc-body p,.doc-body li{color:var(--tiza);overflow-wrap:break-word}
.doc-body p+p{margin-top:.9rem}
.doc-body ul{padding-left:1.2rem;margin:.8rem 0;display:grid;gap:.45rem}
.doc-body li::marker{color:var(--naranja)}
.doc-body a{color:var(--naranja-2)}
.doc-body strong{color:var(--blanco)}
.ficha{display:grid;grid-template-columns:minmax(0,12rem) minmax(0,1fr);margin:1rem 0 0;background:linear-gradient(165deg,#24272c,#18191c);border-top:3px solid var(--naranja)}
.ficha dt,.ficha dd{margin:0;padding:.8rem 1.1rem;border-bottom:1px solid var(--grafito);overflow-wrap:anywhere}
.ficha dt{font-family:var(--display);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.88rem;color:var(--niebla)}
.ficha dd{color:var(--blanco)}
.tabla{overflow-x:auto;margin:1rem 0;-webkit-overflow-scrolling:touch}
.tabla table{width:100%;border-collapse:collapse;min-width:34rem;font-size:.95rem}
.tabla th,.tabla td{text-align:left;vertical-align:top;padding:.75rem .9rem;border-bottom:1px solid var(--grafito);color:var(--tiza)}
.tabla th{font-family:var(--display);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.85rem;color:var(--naranja);background:#1b1d20}
.tabla td:first-child{color:var(--blanco);font-weight:600}
.nota{margin:1.4rem 0;padding:1.1rem 1.3rem;background:rgba(255,106,0,.08);border-left:4px solid var(--naranja)}
.nota p{color:var(--blanco)}
.doc-fecha{margin-top:3rem;padding-top:1.2rem;border-top:1px solid var(--grafito);color:var(--niebla);font-size:.92rem}
@media (max-width:900px){.doc{grid-template-columns:minmax(0,1fr);gap:2rem}.doc-toc{position:static}}
@media (max-width:520px){.ficha{grid-template-columns:minmax(0,1fr)}.ficha dt{border-bottom:0;padding-bottom:0}}

/* Página de pedido */
.ped{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:3.5rem;align-items:start}
.ped-side{position:sticky;top:9rem;display:grid;gap:1.4rem}
.ped-side .steps{grid-template-columns:minmax(0,1fr)}
.ped-side .steps li,.ped-side .steps li+li{padding:1.2rem 0;border-left:0;border-bottom:1px solid var(--acero)}
.ped-side .steps .n{font-size:3rem}
.ped-side .steps h3{font-size:1.5rem}
.pform{background:linear-gradient(165deg,#2a2d33,#18191c);padding:clamp(1.2rem,4vw,2.2rem);display:grid;gap:1.3rem;min-width:0;
  clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% 100%,0 100%);border-top:5px solid var(--naranja)}
.pform fieldset{border:0;margin:0;padding:0;display:grid;gap:1.1rem;min-width:0}
.pform legend{font-family:var(--display);font-style:italic;font-weight:900;font-size:1.7rem;text-transform:uppercase;padding:0;margin-bottom:.4rem;display:flex;gap:.6rem;align-items:baseline}
.pform legend .n{color:var(--naranja)}
.pf{display:grid;gap:.4rem;min-width:0}
.pf>label,.pf .lbl{font-family:var(--display);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.9rem;color:var(--tiza)}
.pf .req{color:var(--naranja)}
.pf .hint{font-size:.85rem;color:var(--niebla)}
.pform input[type=text],.pform input[type=email],.pform input[type=tel],.pform select,.pform textarea{font:inherit;width:100%;border:1px solid var(--acero);background:rgba(0,0,0,.25);
  padding:.85rem .95rem;color:var(--blanco);border-radius:0;min-width:0}
.pform textarea{min-height:9rem;resize:vertical}
.pform select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--naranja) 50%),linear-gradient(135deg,var(--naranja) 50%,transparent 50%);
  background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:2.6rem}
.pform select option{background:#1d1f23;color:var(--blanco)}
.pform input::placeholder,.pform textarea::placeholder{color:#6d7178}
.pform input:focus,.pform select:focus,.pform textarea:focus{outline:none;border-color:var(--naranja);background-color:rgba(0,0,0,.35)}
.pform [aria-invalid=true]{border-color:#ff6b5e!important}
.opts{display:grid;gap:.5rem}
.opt{display:flex;gap:.75rem;align-items:center;padding:.8rem .95rem;border:1px solid var(--acero);background:rgba(0,0,0,.2);cursor:pointer;transition:border-color .15s,background .15s}
.opt:hover{border-color:var(--niebla)}
.opt input{accent-color:var(--naranja);width:18px;height:18px;margin:0;flex:none}
.opt:has(input:checked){border-color:var(--naranja);background:rgba(255,106,0,.1)}
.opts.inv .opt{border-color:#ff6b5e}
.pf .err{color:#ff6b5e;font-size:.88rem;font-weight:600}
.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}
.pform .check{display:flex;gap:.7rem;align-items:flex-start;font-size:.92rem;color:var(--tiza);cursor:pointer}
.pform .check input{width:20px;height:20px;flex:none;margin:.15rem 0 0;accent-color:var(--naranja)}
.pform .check a,.pform .info a{color:var(--naranja-2)}
.pform .info{font-size:.8rem;color:var(--niebla)}
.pform .msg{padding:.85rem 1rem;font-size:.92rem;background:rgba(255,107,94,.12);border-left:3px solid #ff6b5e;color:var(--tiza)}
.pform button[type=submit]{justify-self:start;font-size:1.3rem;padding:1rem 2rem}
.pform button[disabled]{opacity:.55;cursor:wait}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ped-ok{background:linear-gradient(165deg,#2a2d33,#18191c);border-top:5px solid var(--naranja);padding:clamp(1.4rem,4vw,2.4rem);display:grid;gap:1rem}
.ped-ok h2{font-size:clamp(2.4rem,6vw,3.6rem)}
.ped-ok p{color:var(--tiza)}
.ped-ok .ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.6rem}
@media (max-width:960px){.ped{grid-template-columns:minmax(0,1fr);gap:2rem}.ped-side{position:static;order:2}}
@media (max-width:520px){.two-col{grid-template-columns:minmax(0,1fr)}.pform button[type=submit]{justify-self:stretch}}

/* Selector de idioma */
.lang-sw{display:inline-flex;border:1px solid var(--acero);flex:none}
.lang-sw a{font-family:var(--display);font-weight:700;font-size:.85rem;letter-spacing:.1em;padding:.38rem .5rem;color:var(--niebla);text-decoration:none;line-height:1}
.lang-sw a:hover{color:var(--blanco)}
.lang-sw a[aria-current]{background:var(--naranja);color:var(--asfalto)}
@media (max-width:360px){.lang-sw a{padding:.34rem .38rem;font-size:.78rem}}
@media (max-width:480px){.top .row1{gap:.6rem}.top .actions{gap:.35rem}.burger{width:40px;height:40px}}
@media (max-width:400px){.logo{font-size:1.3rem}.logo-mark{height:1.35em}.top .actions .btn{padding:.5rem .8rem;font-size:.88rem}}
@media (max-width:345px){.logo-txt{display:none}}

/* Configurador de producto */
.cfg{display:grid;gap:1rem;margin-top:.2rem}
.cfg fieldset{border:0;margin:0;padding:0;display:grid;gap:.5rem;min-width:0}
.cfg legend{font-family:var(--display);font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:.85rem;color:var(--niebla);padding:0;margin-bottom:.45rem}
.cfg legend small{letter-spacing:.05em;text-transform:none;font-weight:600}
.cfg-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}
.cfg-chip{position:relative;display:grid;place-items:center;gap:.1rem;padding:.55rem .3rem;border:1px solid var(--acero);background:rgba(0,0,0,.22);cursor:pointer;text-align:center;transition:border-color .15s,background .15s}
.cfg-chip span{font-family:var(--display);font-weight:800;font-style:italic;font-size:1.15rem;line-height:1}
.cfg-chip small{color:var(--niebla);font-size:.8rem;font-variant-numeric:tabular-nums}
.cfg-chip input,.cfg-chk input{position:absolute;opacity:0;pointer-events:none}
.cfg-chip:has(input:checked){border-color:var(--naranja);background:rgba(255,106,0,.12)}
.cfg-chip:has(input:checked) small{color:var(--naranja-2)}
.cfg-chip:has(input:focus-visible),.cfg-chk:has(input:focus-visible){outline:2px solid var(--naranja);outline-offset:2px}
.cfg-radios,.cfg-checks{display:grid;gap:.35rem}
.cfg-chk{position:relative;display:flex;align-items:center;gap:.65rem;padding:.55rem .75rem;border:1px solid var(--acero);background:rgba(0,0,0,.22);cursor:pointer;font-size:.95rem;color:var(--tiza)}
.cfg-chk::before{content:"";flex:none;width:16px;height:16px;border:2px solid var(--niebla);background:transparent}
.cfg-radios .cfg-chk::before{border-radius:50%}
.cfg-chk:has(input:checked){border-color:var(--naranja);background:rgba(255,106,0,.12);color:var(--blanco)}
.cfg-chk:has(input:checked)::before{border-color:var(--naranja);background:radial-gradient(var(--naranja) 45%,transparent 50%)}
.cfg-checks .cfg-chk:has(input:checked)::before{background:var(--naranja);box-shadow:inset 0 0 0 2px #1d1f23}
.cfg-chk span{flex:1;min-width:0}
.cfg-chk b{font-family:var(--display);font-weight:700;color:var(--naranja-2);white-space:nowrap;font-variant-numeric:tabular-nums}
.cfg input[type=text]{font:inherit;width:100%;border:1px solid var(--acero);background:rgba(0,0,0,.25);padding:.65rem .8rem;color:var(--blanco);border-radius:0}
.cfg input[type=text]:focus{outline:none;border-color:var(--naranja)}
.cfg-txt{margin-top:.2rem}
.cfg-err{display:block;color:#ff6b5e;font-size:.85rem;font-weight:600;margin-top:.3rem}
.detail[data-cfg]{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.detail[data-cfg] .img{min-height:420px}
@media (max-width:560px){.detail[data-cfg]{grid-template-columns:1fr}.detail[data-cfg] .img{min-height:0;aspect-ratio:4/5}}
.details .detail[data-cfg]{grid-column:1/-1}
.cfg-chip.wide{grid-column:1/-1}
