/* Layout: "bodega ordenada" — 12-col grid, clean light surfaces, yellow used like floor-marking tape and rack labels */
:root{
  --bg:#FAFAF7; --surface:#FFFFFF; --panel:#F0EFEA; --panel-2:#E7E5DE;
  --ink:#1A1A1A; --muted:#484848; --line:#E2E0D9;
  --accent:#FFCC33; --on-accent:#1A1A1A; --accent-text:#8F731C;
  --invert-bg:#EFEDE6; --invert-ink:#1A1A1A; --invert-muted:#484848;
  --logo-filter:none; --logo-blend:multiply; --shadow:0 1px 2px rgba(23,23,26,.06),0 12px 32px -18px rgba(23,23,26,.28);
  --f-display:'Lexend','Arial Narrow',Arial,sans-serif;
  --f-body:'Montserrat','Segoe UI',Helvetica,Arial,sans-serif;
  --f-mono:'Montserrat',ui-monospace,Menlo,Consolas,monospace;
  --wrap:1200px; color-scheme:light; --gut:clamp(16px,4vw,40px); --r:14px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;position:relative;overflow-x:hidden;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--f-display);font-stretch:112%;line-height:1.05;letter-spacing:-.015em;margin:0;text-wrap:balance;font-weight:700}
p{margin:0}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.eyebrow{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:22px;height:3px;background:var(--accent);border-radius:2px}
.lead{font-size:clamp(17px,1.6vw,19px);color:var(--muted);max-width:60ch}
.sec{padding-block:clamp(56px,8vw,104px)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(28px,4vw,44px)}
.sec-head h2{font-size:clamp(30px,4vw,46px);margin-top:0;max-width:18ch}
.sec-head p{max-width:46ch;color:var(--muted)}
.ic{width:24px;height:24px;flex:none}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:13px 22px;font-weight:700;font-size:15px;text-decoration:none;border:1.5px solid transparent;transition:transform .15s ease,background .15s ease;cursor:pointer;font-family:var(--f-body)}
.btn .ic{width:18px;height:18px}
.btn-ink{background:var(--ink);color:var(--bg)}
.btn-ink:hover{transform:translateY(-1px)}
.btn-line{border-color:var(--line);color:var(--ink);background:var(--surface)}
.btn-line:hover{border-color:var(--ink)}
.btn-accent{background:var(--accent);color:var(--on-accent)}
.link{font-weight:700;text-decoration:none;display:inline-flex;gap:8px;align-items:center;border-bottom:2px solid var(--accent);padding-bottom:2px}
.link .ic{width:16px;height:16px}

/* rack label */
.tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;background:var(--accent);color:var(--on-accent);padding:5px 10px;border-radius:4px;font-weight:500}
.tag.ghost{background:transparent;color:var(--muted);border:1px solid var(--line)}

/* header */
.util{background:var(--invert-bg);color:var(--invert-ink);font-size:13px;border-bottom:1px solid var(--line)}
.util .wrap{display:flex;justify-content:space-between;gap:16px;padding-block:8px;flex-wrap:wrap}
.util span{color:var(--invert-muted)} .util b{font-weight:600} .util a{text-decoration:none} .util a:hover b{text-decoration:underline}
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;gap:28px;height:84px}
.logo{display:block;width:196px;color:var(--ink);flex:none} .logo svg{width:100%;height:auto;display:block}
.nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav a{text-decoration:none;font-weight:600;font-size:14.5px;padding:8px 12px;border-radius:8px;color:var(--muted)}
.nav a:hover{color:var(--ink);background:var(--panel)}
.nav a[aria-current="page"]{color:var(--ink);box-shadow:inset 0 -3px 0 var(--accent);border-radius:0}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:10px;padding:9px;color:var(--ink);cursor:pointer}
@media (max-width:1060px){
  .nav{display:none;position:absolute;left:0;right:0;top:84px;flex-direction:column;align-items:stretch;background:var(--surface);border-bottom:1px solid var(--line);padding:12px var(--gut) 20px;gap:2px}
  .nav.open{display:flex} .nav a[aria-current="page"]{box-shadow:none;background:var(--panel);border-radius:8px}
  .menu-btn{display:block} .hdr .btn{display:none}
}

/* hero */
.hero{padding-block:clamp(36px,6vw,80px) clamp(40px,6vw,72px)}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.hero h1{font-size:clamp(34px,4.3vw,56px);margin:18px 0 20px;font-stretch:108%;max-width:17ch}
.hero h1 mark{background:linear-gradient(transparent 62%,var(--accent) 62%);color:inherit;padding:0 .04em}
.ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.proof{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;margin-top:36px;padding-top:26px;border-top:1px solid var(--line)}
.proof div{display:flex;gap:12px;align-items:flex-start;min-width:0}
.proof b{display:block;font-size:15px} .proof small{color:var(--muted);font-size:13.5px;line-height:1.4;display:block}
.proof .ic{color:var(--ink);background:var(--panel);border-radius:10px;padding:8px;width:40px;height:40px}
.stage{position:relative;aspect-ratio:1/1;max-width:100%}
.arch{position:absolute;inset:4% 2% 10% 2%;background:var(--panel);border-radius:24px;overflow:hidden}
.arch::after{display:none}
.stage img{position:absolute;left:-2%;right:-2%;bottom:6%;width:104%;max-width:none;filter:drop-shadow(0 26px 22px rgba(0,0,0,.28))}
.stage .pin{position:absolute;right:2%;top:14%;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow);font-size:13px}
.stage .pin b{display:block;font-family:var(--f-display);font-size:18px;font-stretch:112%}
.stage .pin .mono{color:var(--muted);font-size:12px}

/* escena montacargas */
.scene-stage{aspect-ratio:640/470}
.scene-stage .arch{inset:0 4% 7% 4%}
.scene-stage .arch::after{display:none}
.scene{position:absolute;inset:auto 0 0 0;width:100%;height:auto;overflow:hidden;border-radius:0 0 18px 18px}
.slot-lbl{font-family:var(--f-mono);font-size:11px;fill:var(--muted);text-anchor:middle;letter-spacing:.08em}
.scene-stage .pin{top:6%;right:auto;left:2%;min-width:220px}
.lane{height:340vh;position:relative}
.lane.static{height:auto}
.lane-sticky{position:sticky;top:calc(84px + env(safe-area-inset-top,0px));height:calc(100vh - 84px);display:flex;align-items:center}
.lane.static .lane-sticky{position:static;height:auto;padding-block:24px}
.lane-sticky > .wrap{width:100%}
.lane svg{max-height:calc(100vh - 140px)}
.qa-txt{font-family:var(--f-body);font-weight:700;font-size:15px;fill:var(--ink)}
.qa-badge{transition:none}
.wm-tag{font-family:var(--f-mono);font-size:15px;letter-spacing:.16em;text-transform:uppercase;fill:var(--muted);text-anchor:middle}
@media (max-width:640px){.lane{height:260vh}.qa-txt{font-size:17px}.wm-tag{font-size:22px}}
.wh-arch,.wh-wall{stroke-dasharray:1;stroke-dashoffset:1}
.lane-fk .fk-load{transition:opacity .25s}
.lane svg{width:100%;height:auto;display:block;overflow:hidden}
.lane-lbl{font-family:var(--f-mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;fill:var(--muted);text-anchor:middle}
.progress{position:fixed;left:0;right:0;top:env(safe-area-inset-top,0px);height:3px;background:var(--accent);transform-origin:0 50%;transform:scaleX(0);z-index:40;pointer-events:none}
.pre{opacity:.18;transform:translateY(34px)}
.in{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.bar i{transition:width 1s cubic-bezier(.2,.7,.2,1)}
.line-card .imgs img{transition:transform .1s linear;will-change:transform}

/* clients */
.clients{border-block:1px solid var(--line);background:var(--surface)}
.clients .wrap{display:flex;flex-direction:column;align-items:center;gap:18px;padding-block:28px 32px}
.clients p{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);flex:0 0 auto}
.cl{display:inline-flex;border-radius:14px;outline-offset:3px}
.cl img{width:72px;height:72px;border-radius:14px;object-fit:cover;filter:grayscale(1) contrast(.92);opacity:.7;transition:filter .35s ease,opacity .35s ease,transform .35s ease;box-shadow:0 0 0 1px var(--line)}
.cl:hover img,.cl:focus-visible img,.cl:active img{filter:none;opacity:1;transform:scale(1.08)}
.marquee{width:100%;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.track{display:flex;align-items:center;gap:clamp(40px,5vw,72px);width:max-content;padding-right:clamp(40px,5vw,72px);animation:marquee 32s linear infinite}
.marquee:hover .track{animation-play-state:paused}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.track{animation:none;flex-wrap:wrap;width:auto}.track img[aria-hidden]{display:none}}

/* line cards */
.lines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.line-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,3vw,34px);display:grid;grid-template-rows:auto 1fr auto;gap:18px;text-decoration:none;position:relative;overflow:hidden}
.line-card:hover{border-color:var(--ink)}
.line-card h3{font-size:clamp(26px,3vw,36px)}
.line-card .imgs{display:flex;align-items:flex-end;min-height:190px;gap:0;justify-content:center}
.line-card .imgs img{width:52%;margin-inline:-5%;filter:drop-shadow(0 16px 16px rgba(0,0,0,.2))}
.codes{display:flex;flex-wrap:wrap;gap:8px}
.line-card p{color:var(--muted);max-width:44ch}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.pillar{padding:26px 24px 8px 0;border-right:1px solid var(--line);min-width:0}
.pillar + .pillar{padding-left:24px}
.pillar:last-child{border-right:0}
.pillar .ic{width:34px;height:34px;color:var(--ink);margin-bottom:18px}
.pillar h3{font-size:21px;margin-bottom:8px}
.pillar p{color:var(--muted);font-size:15px}

/* load chart */
.chart{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(20px,3vw,32px)}
.chart-row{display:grid;grid-template-columns:160px minmax(0,1fr) 150px;gap:18px;align-items:center;padding:12px 10px;border-bottom:1px solid var(--line);border-radius:8px}
.chart-row.hl{background:#FFF5D6}
.chart-row:last-child{border-bottom:0}
.chart-row a{font-weight:700;text-decoration:none;font-family:var(--f-display);font-stretch:112%}
.bars{display:grid;gap:4px}
.bar{height:9px;background:var(--panel);border-radius:3px;position:relative;overflow:hidden}
.bar em{position:absolute;left:8px;top:-3px;font-size:10.5px;font-style:normal;color:var(--muted);white-space:nowrap}
.bar i{position:absolute;inset:0 auto 0 0;background:var(--ink);border-radius:3px}
.bar i.e{background:#8A8983}
.bar i.r{background:var(--accent)}
.chart-row .v{display:grid;gap:0;text-align:right;font-family:var(--f-mono);font-size:12.5px;line-height:1.25;font-variant-numeric:tabular-nums}
.chart-row .v span:nth-child(2){font-weight:700}
.chart-legend{display:flex;gap:18px;font-size:13px;color:var(--muted);margin-top:14px;flex-wrap:wrap}
.chart-legend span{display:inline-flex;gap:8px;align-items:center}
.chart-legend i{width:18px;height:8px;border-radius:2px;background:var(--ink);display:inline-block}
.chart-legend i.r{background:var(--accent)} .chart-legend i.e{background:#8A8983}
.axis{display:grid;grid-template-columns:150px minmax(0,1fr) 92px;gap:16px;font-family:var(--f-mono);font-size:11px;color:var(--muted);margin-top:4px}
.axis div{display:flex;justify-content:space-between}

/* testimonials */
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.quote{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:26px;display:flex;flex-direction:column;justify-content:space-between;gap:22px;min-width:0}
.quote blockquote{margin:0;font-size:15.5px;line-height:1.6}
.quote blockquote::before{content:"“";display:block;font-family:var(--f-display);font-size:54px;line-height:.5;color:var(--accent);margin-bottom:14px;font-weight:800}
.who{display:flex;gap:12px;align-items:center}
.who img{width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--line)}
.who b{display:block;font-size:14.5px;line-height:1.3} .who span{font-size:13px;color:var(--muted)}
.quote.feature{grid-column:span 2;background:var(--invert-bg);color:var(--invert-ink);border-color:var(--invert-bg)}
.quote.feature blockquote{font-family:var(--f-display);font-stretch:108%;font-size:clamp(20px,2.2vw,26px);line-height:1.35;font-weight:600}
.quote.feature .who span{color:var(--invert-muted)}

/* cta band */
.band{background:var(--invert-bg);color:var(--invert-ink);border-radius:clamp(16px,2vw,24px);padding:clamp(28px,5vw,56px);display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;position:relative;overflow:hidden}
.band h2{font-size:clamp(28px,3.6vw,44px)}
.band p{color:var(--invert-muted);margin-top:14px;max-width:48ch}
.band .contact-lines{display:grid;gap:12px}
.cline{display:flex;align-items:center;gap:14px;border:1px solid color-mix(in srgb,var(--invert-ink) 18%,transparent);border-radius:12px;padding:14px 16px;min-width:0}
.cline .ic{color:var(--accent)}
.cline small{display:block;color:var(--invert-muted);font-size:12px;font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase}
.cline b{font-size:17px;word-break:break-word}
.copy{margin-left:auto;background:none;border:1px solid color-mix(in srgb,var(--invert-ink) 25%,transparent);color:inherit;border-radius:8px;padding:6px 10px;font-size:12px;cursor:pointer;font-family:var(--f-body)}


/* page head */
.phead{padding-block:clamp(36px,5vw,64px) clamp(28px,4vw,44px);border-bottom:1px solid var(--line)}
.crumb{font-size:13.5px;color:var(--muted);margin-bottom:18px}
.crumb a{text-decoration:none} .crumb a:hover{text-decoration:underline}
.phead h1{font-size:clamp(36px,5vw,60px);max-width:20ch}
.phead .lead{margin-top:16px}

/* catalog */
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.chip{border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:8px 16px;font-weight:600;font-size:14px;cursor:pointer;font-family:var(--f-body)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:calc(50% + 10px)}
.grid-4 .pcard h3{font-size:21px}
.pcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;min-width:0}
.pcard:hover{border-color:var(--ink)}
.pcard .pimg{background:var(--panel);aspect-ratio:4/3;display:grid;place-items:center;padding:18px;position:relative}
.pcard .pimg img{filter:drop-shadow(0 14px 14px rgba(0,0,0,.22))}
.pcard .pimg .tag{position:absolute;left:14px;top:14px}
.pcard .pbody{padding:20px 20px 22px;display:flex;flex-direction:column;gap:12px;flex:1}
.pcard h3{font-size:24px}
.pcard .lema{color:var(--muted);font-weight:600;font-size:14.5px;margin-top:-6px}
.specs{display:grid;gap:0;font-size:13.5px}
.specs div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line)}
.specs span{color:var(--muted)} .specs b{font-family:var(--f-mono);font-weight:500;text-align:right}
.pfoot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px}
.price{font-family:var(--f-display);font-stretch:112%;font-weight:700;font-size:22px}
.price small{font-family:var(--f-body);font-size:12px;color:var(--muted);font-weight:600;display:block;font-stretch:100%}
.group-title{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 0 24px;flex-wrap:wrap}
.group-title h2{font-size:clamp(24px,2.6vw,32px)}
.group-title p{color:var(--muted)}
.group + .group{margin-top:48px}

/* ficha */
.ficha{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,64px);padding-block:clamp(28px,4vw,48px) clamp(48px,6vw,80px);align-items:start}
.ficha .stage{aspect-ratio:1/0.92}
.ficha .stage img{left:9%;right:9%;width:82%;bottom:17%}
.ficha h1{font-size:clamp(44px,6vw,76px);margin:14px 0 6px}
.ficha .lema{font-family:var(--f-display);font-stretch:112%;font-size:clamp(20px,2vw,24px);font-weight:600;color:var(--accent-text)}
.ficha .desc{color:var(--muted);margin-top:14px;max-width:52ch}
.buybox{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:26px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.buybox .price{font-size:30px}
.uses{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.use{display:inline-flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:7px 14px 7px 10px;font-size:14px;font-weight:600;background:var(--surface)}
.use .ic{width:18px;height:18px}
.spec-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:15px}
.spec-table th,.spec-table td{text-align:left;padding:14px 0;border-bottom:1px solid var(--line);vertical-align:top}
.spec-table th{font-weight:600;color:var(--muted);width:42%}
.spec-table td{font-family:var(--f-mono)} .spec-table td small{display:block;color:var(--muted);font-size:12.5px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px)}

/* guide */
.guide{display:grid;grid-template-columns:340px minmax(0,1fr);gap:28px;align-items:start}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.q{margin-bottom:22px}
.q legend,.q label.t{font-weight:700;margin-bottom:10px;display:block;padding:0}
.q fieldset{border:0;padding:0;margin:0}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts input{position:absolute;opacity:0;pointer-events:none}
.opts label{border:1.5px solid var(--line);border-radius:10px;padding:8px 12px;font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.opts input:checked + label{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.opts input:focus-visible + label{outline:3px solid var(--accent);outline-offset:2px}
.range{width:100%;accent-color:var(--ink)}
.range-val{font-family:var(--f-mono);font-size:14px;color:var(--muted)}
.results{display:grid;gap:14px}
.res{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:18px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;text-decoration:none}
.res:hover{border-color:var(--ink)}
.res img{background:var(--panel);border-radius:10px;padding:8px}
.res h3{font-size:22px} .res p{color:var(--muted);font-size:14px}
.res .why{font-family:var(--f-mono);font-size:12.5px;color:var(--accent-text);margin-top:4px}
.empty{padding:30px;text-align:center;color:var(--muted);border:1.5px dashed var(--line);border-radius:var(--r)}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.cmp{width:100%;border-collapse:collapse;font-size:14.5px;min-width:820px}
.cmp th,.cmp td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
.cmp thead th{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500;background:var(--panel)}
.cmp td.n{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.cmp tbody tr:last-child td{border-bottom:0}
.cmp a{font-weight:700;text-decoration:none}
.cmp .line-hd td:first-child a::before{content:"";display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--accent);margin-right:8px;vertical-align:1px}

/* benefits / values */
.benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.benefit{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:26px;min-width:0}
.benefit .ic{width:36px;height:36px;margin-bottom:16px}
.benefit h3{font-size:21px;margin-bottom:8px}
.benefit p{color:var(--muted);font-size:15px}
.vs{width:100%;border-collapse:collapse;font-size:15px}
.vs th,.vs td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.vs thead th{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500}
.vs td.p{font-weight:600} .vs td.p .ic{width:18px;height:18px;color:var(--accent-text);vertical-align:-3px;margin-right:6px}
.vs td.m{color:var(--muted)}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:s}
.step{border-top:3px solid var(--ink);padding-top:18px}
.step .n{font-family:var(--f-mono);font-size:13px;color:var(--muted)}
.step h3{font-size:22px;margin:6px 0 8px}
.step p{color:var(--muted);font-size:15px}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.stat{}
.stat b{font-family:var(--f-display);font-stretch:115%;font-size:clamp(28px,3.4vw,40px);display:block;line-height:1.1}
.stat span{color:var(--muted);font-size:15px}
.logo-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}
.logo-grid div{background:var(--surface);border:1px solid var(--line);border-radius:12px;height:120px;display:grid;place-items:center;padding:14px}
.logo-grid .cl{justify-content:center;align-items:center} .logo-grid .cl img{width:88px;height:88px}
.ind{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ind-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:28px;min-width:0}
.ind-card .ic{width:38px;height:38px;margin-bottom:14px}
.ind-card h3{font-size:26px;margin-bottom:10px}
.ind-card p{color:var(--muted)}
.ind-card .sug{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px}
.ind-card .sug a{text-decoration:none}

/* faq */
.faq{max-width:820px}
.faq details{border-bottom:1px solid var(--line);padding-block:4px}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding-block:18px;font-family:var(--f-display);font-stretch:108%;font-weight:600;font-size:clamp(18px,1.8vw,21px)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--f-mono);font-size:22px;color:var(--muted);flex:none}
.faq details[open] summary::after{content:"–"}
.faq .ans{color:var(--muted);padding-bottom:22px;max-width:68ch;display:grid;gap:12px}
.faq .ans b{color:var(--ink)}
.video-card{display:flex;gap:14px;align-items:center;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 18px;max-width:460px;color:var(--ink)}
.video-card:hover{border-color:var(--ink)}
.video-card .play{width:44px;height:44px;border-radius:50%;background:var(--accent);display:grid;place-items:center;flex:none}
.video-card small{display:block;color:var(--muted);font-size:13px}

/* blog */
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.post{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:12px;text-decoration:none;min-height:230px}
.post:hover{border-color:var(--ink)}
.post h3{font-size:21px;line-height:1.2}
.post p{color:var(--muted);font-size:15px}
.post .link{margin-top:auto;align-self:flex-start}

/* contact */
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field.full{grid-column:1/-1}
.field label{font-weight:600;font-size:14px}
.field input,.field select,.field textarea{font:inherit;font-size:15px;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink)}
.notice{grid-column:1/-1;background:var(--panel);border-radius:10px;padding:14px 16px;font-size:14px}
.info{display:grid;gap:12px}
.info .cline{border-color:var(--line);background:var(--surface)}
.info .cline small{color:var(--muted)}
.info .copy{border-color:var(--line)}

/* footer */
.foot{border-top:1px solid var(--line);margin-top:clamp(56px,8vw,96px);padding-block:48px 28px;background:var(--surface)}
.foot .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px}
.foot h4{font-family:var(--f-display);font-size:17px;color:var(--ink);font-weight:700;margin-bottom:14px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14.5px}
.foot a{text-decoration:none} .foot a:hover{text-decoration:underline}
.foot .about{color:var(--muted);font-size:14.5px;margin-top:16px;max-width:36ch}
.foot .legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:36px;padding-top:20px;font-size:13px;color:var(--muted)}

/* responsive */
@media (max-width:980px){
  .hero .wrap,.ficha,.band,.two,.guide{grid-template-columns:1fr}
  .stage{max-width:520px;margin-inline:auto;width:100%}
  .pillars{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pillar:nth-child(2){border-right:0} .pillar:nth-child(3){padding-left:0}
  .grid-3,.grid-4,.quotes,.benefits,.posts{grid-template-columns:repeat(2,minmax(0,1fr))} .grid-2{max-width:none}
  .quote.feature{grid-column:1/-1}
  .logo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .foot .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .lines,.grid-3,.grid-4,.grid-2,.quotes,.benefits,.posts,.steps,.stats,.ind,.form{grid-template-columns:1fr}
  .pillars{grid-template-columns:1fr} .pillar,.pillar + .pillar{padding:22px 0 10px;border-right:0;border-bottom:1px solid var(--line)}
  .proof{grid-template-columns:1fr}
  .chart-row,.axis{grid-template-columns:86px minmax(0,1fr) 78px;gap:10px}
  .res{grid-template-columns:84px minmax(0,1fr)} .res .btn{grid-column:1/-1;justify-content:center}
  .logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot .cols{grid-template-columns:1fr}
  .clients .wrap{flex-direction:column;align-items:flex-start;gap:14px} .marquee{width:100%;flex:none} .track{animation-duration:24s}
  .axis div span:nth-child(2),.axis div span:nth-child(4){display:none}
  .axis div span:nth-child(3){display:none}
  .util .wrap span:first-child{display:none}
  .logo{width:158px}
  .scene-stage .pin{min-width:0;max-width:58%;padding:8px 10px;top:3%} .scene-stage .pin b{font-size:15px} .scene-stage .pin .mono{font-size:10.5px;display:block;line-height:1.35} .scene-stage .pin .tag{font-size:10px;padding:3px 7px}
  .lane-lbl{font-size:17px}
  .lane svg{aspect-ratio:560/380;max-height:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.pre{opacity:1;transform:none}}

/* fondo geométrico industrial: formas difuminadas en negro y amarillo */
.deco{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.deco > i{position:absolute;display:block;will-change:transform}
.d-blob{border-radius:50%;background:radial-gradient(circle,rgba(255,204,48,.55) 0,rgba(255,204,48,.18) 40%,transparent 68%);filter:blur(28px)}
.d-blob.k{background:radial-gradient(circle,rgba(23,23,26,.16) 0,rgba(23,23,26,.05) 45%,transparent 70%)}
.d-ring{border-radius:50%;border:clamp(14px,2vw,26px) solid var(--ink);opacity:.055;filter:blur(1px);-webkit-mask-image:linear-gradient(160deg,#000 10%,transparent 75%);mask-image:linear-gradient(160deg,#000 10%,transparent 75%)}
.d-ring.y{border-color:var(--accent);opacity:.35}
.d-arch{border:clamp(10px,1.4vw,18px) solid var(--ink);border-bottom:0;border-radius:999px 999px 0 0;opacity:.06;-webkit-mask-image:linear-gradient(to bottom,#000 20%,transparent 95%);mask-image:linear-gradient(to bottom,#000 20%,transparent 95%)}
.d-arch.y{border-color:var(--accent);opacity:.4}
.d-haz{background:repeating-linear-gradient(135deg,var(--accent) 0 16px,var(--ink) 16px 32px);opacity:.11;filter:blur(.6px);-webkit-mask-image:radial-gradient(ellipse at center,#000 0,transparent 70%);mask-image:radial-gradient(ellipse at center,#000 0,transparent 70%)}
.d-grid{background-image:linear-gradient(var(--ink) 1px,transparent 1px),linear-gradient(90deg,var(--ink) 1px,transparent 1px);background-size:38px 38px;opacity:.07;-webkit-mask-image:radial-gradient(circle at center,#000 0,transparent 68%);mask-image:radial-gradient(circle at center,#000 0,transparent 68%)}
.d-sq{border:2px solid var(--ink);opacity:.09;border-radius:6px;-webkit-mask-image:linear-gradient(to right,#000,transparent);mask-image:linear-gradient(to right,#000,transparent)}
.d-sq.y{border-color:var(--accent);opacity:.6}
@media (max-width:640px){.deco > i{scale:.6}.d-haz,.d-grid{opacity:.06}}

/* logos de clientes en formato horizontal */
.cl.wide{width:220px;height:96px;border-radius:14px;background:var(--tile);display:flex;align-items:center;justify-content:center;padding:14px 22px;transition:transform .35s ease,box-shadow .35s ease}
.cl.wide.light{box-shadow:inset 0 0 0 1px var(--line)}
.cl.wide img{width:auto;height:auto;max-width:100%;max-height:100%;border-radius:0;box-shadow:none;filter:none;opacity:1;transform:none}
.cl.wide:hover,.cl.wide:focus-visible,.cl.wide:active{filter:none;opacity:1;transform:scale(1.05)}
.clients .track{gap:22px;padding-right:22px}

/* líneas: Heavy Duty en negro (fuerza), Medium Duty en tono cálido, Uso en piso en blanco */
.line-sec{position:relative;overflow:hidden;padding-block:clamp(44px,6vw,72px)}
.line-sec > .wrap{position:relative;z-index:1}
.line-sec.hd{background:var(--ink);color:#FFFFFF;--muted:#B9B8B2;--line:rgba(255,255,255,.16);--panel:#262626;--accent-text:var(--accent)}


.line-sec.hd .eyebrow{color:var(--accent)}
.line-sec.hd .link{border-bottom-color:var(--accent)}
.line-sec.hd .pcard,.line-sec.hd .use,.line-sec.hd .buybox{color:var(--ink);--muted:#484848;--line:#E2E0D9;--panel:#F0EFEA;--accent-text:#8F731C}
.line-sec.hd .pcard{border-color:transparent;box-shadow:0 22px 44px -26px rgba(0,0,0,.9)}
.line-sec.hd .pcard .pimg{background:#F4F2EC}
.line-sec.hd .note .ic{color:var(--accent)}
.line-sec.hd .btn-line{background:transparent;color:#FFFFFF;border-color:rgba(255,255,255,.35)}
.line-sec.hd .btn-line:hover{border-color:#FFFFFF}
.line-sec.hd .buybox .btn-line{color:var(--ink);border-color:var(--line)}
.line-sec.hd .buybox .btn-ink{background:var(--ink);color:#FFFFFF}
.line-card.hd{background:var(--ink);color:#FFFFFF;border-color:var(--ink);--muted:#B9B8B2;--line:rgba(255,255,255,.2)}
.line-card.hd:hover{border-color:var(--accent)}
.line-card.hd .link{border-bottom-color:var(--accent)}
.line-sec.fl{background:#FFFFFF}
.line-sec.md{background:#F1F0EB}
.line-sec.md .pcard{border-color:transparent;box-shadow:0 18px 40px -30px rgba(23,23,26,.35)}



.line-sec.fl .pcard{box-shadow:0 18px 40px -30px rgba(23,23,26,.35)}
.line-sec .eyebrow .ic{width:18px;height:18px}
.line-sec .eyebrow{gap:8px}
.ficha-hero{padding-block:0}
.ficha-hero.hd .stage .arch{background:#262626}
.ficha-hero.hd .ficha .lema{color:var(--accent)}
.ficha-hero.hd .use,.ficha-hero.hd .buybox{background:#FFFFFF;border-color:transparent}
.ficha-hero.hd .crumb{color:var(--muted)}
.ficha-hero.hd .stage img{filter:drop-shadow(0 26px 22px rgba(0,0,0,.6))}
.ficha-hero.fl .stage .arch{background:var(--panel)}
@media (max-width:640px){.cl.wide{width:170px;height:76px;padding:10px 16px}}

.wa-float{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:30;display:inline-flex;align-items:center;gap:10px;background:#1FAF5A;color:#fff;text-decoration:none;font-weight:700;font-size:14.5px;border-radius:999px;padding:12px 18px 12px 14px;box-shadow:0 14px 30px -12px rgba(0,0,0,.45)}
.wa-float .ic{width:22px;height:22px}
.wa-float:hover{transform:translateY(-2px)}
@media (max-width:760px){.wa-float span{display:none}.wa-float{padding:14px}}

/* ---- contenido migrado de WordPress ---- */
.ficha .note{display:flex;gap:8px;align-items:flex-start;font-size:14px;color:var(--muted);margin-top:12px}
.ficha .note .ic{width:18px;height:18px;flex:none;margin-top:2px;color:var(--ink)}
.timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.timeline li{display:grid;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;position:relative}
.timeline .yr{font-family:var(--f-display);font-stretch:112%;font-weight:800;font-size:30px;line-height:1;display:inline-flex;align-items:center;gap:10px}
.timeline .yr::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(255,204,48,.25)}
.timeline h3{font-size:19px}.timeline p{color:var(--muted);font-size:15px;margin-top:6px}
.offer{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}
.offer li{display:flex;gap:10px;align-items:center;font-weight:600;padding:12px 0;border-bottom:1px solid var(--line)}
.offer .ic{width:20px;height:20px;color:var(--ink);background:var(--accent);border-radius:50%;padding:3px;flex:none}
.post{padding:0;overflow:hidden;gap:12px}
.post>*:not(.cover){margin-inline:22px}
.post>.link{margin-bottom:22px}
.post .meta{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted);margin-top:4px}
.post p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cover{position:relative;aspect-ratio:16/8;background:#EFEEE8;overflow:hidden;display:grid;place-items:center;border-bottom:1px solid var(--line)}

.cover .ic{width:44px;height:44px;position:relative;color:var(--ink)}
.cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.post-meta{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:18px;color:var(--muted);font-size:14px}
.post-head h1{max-width:26ch;font-size:clamp(32px,4.4vw,52px)}
.article{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(28px,5vw,64px);align-items:start}
.prose{max-width:72ch;font-size:17px;line-height:1.7}
.prose>*+*{margin-top:1em}
.prose h2{font-size:clamp(24px,2.6vw,30px);margin-top:1.6em}
.prose h3{font-size:clamp(19px,2vw,22px);margin-top:1.4em}
.prose a{color:inherit;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:3px}
.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.4em}
.prose img{max-width:100%;height:auto;border-radius:12px}
.prose figure{margin:1.6em 0}
.prose blockquote{margin:1.4em 0;padding:4px 0 4px 18px;border-left:3px solid var(--accent);color:var(--muted)}
.prose table{border-collapse:collapse;width:100%;font-size:15px}.prose td,.prose th{border:1px solid var(--line);padding:8px 10px}
.wp-ph{display:grid;place-items:center;min-height:120px;border:1.5px dashed var(--line);border-radius:12px;color:var(--muted);font-size:13px;background:var(--surface)}
.post-aside{position:sticky;top:96px;display:grid;gap:16px}
.mini-list{display:grid;gap:4px}
.mini-list a{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);padding:8px 0;border-top:1px solid var(--line)}
.mini-list img{width:64px;height:40px;object-fit:contain}
.mini-list small{display:block;color:var(--muted);font-size:12.5px}
.thanks{text-align:center;padding-block:clamp(72px,10vw,140px)}
.thanks .wrap{display:grid;justify-items:center;gap:16px}
.thanks .ok{width:72px;height:72px;border-radius:50%;background:var(--accent);display:grid;place-items:center}
.thanks .ok .ic{width:34px;height:34px}
.thanks .lead{max-width:56ch}
.foot .legal a{color:inherit}
@media (max-width:1000px){.timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.article{grid-template-columns:1fr}.post-aside{position:static}}
@media (max-width:640px){.timeline,.offer{grid-template-columns:1fr}.prose{font-size:16px}}

/* CTA de catálogo en el menú móvil */
.nav .nav-cat{display:none}
@media (max-width:1060px){
  .nav .nav-cat{display:flex;align-items:center;gap:10px;margin-top:10px;background:var(--ink);color:#FFFFFF;justify-content:center;border-radius:999px;padding:13px 18px}
  .nav .nav-cat:hover{background:var(--ink);color:#FFFFFF}
  .nav .nav-cat .ic{width:18px;height:18px}
}

/* botón flotante de llamada (solo móvil) */
.call-float{display:none}
@media (max-width:760px){
  .call-float{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:30;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--accent);color:var(--ink);box-shadow:0 14px 30px -12px rgba(0,0,0,.45)}
  .call-float .ic{width:24px;height:24px}
  .call-float:active{transform:scale(.96)}
  .wa-float{width:54px;height:54px;padding:0;justify-content:center}
}

/* modal de descarga del catálogo */
.cat-modal{border:0;padding:0;border-radius:18px;width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);background:var(--surface);color:var(--ink);box-shadow:0 30px 80px -20px rgba(0,0,0,.5)}
.cat-modal::backdrop{background:rgba(26,26,26,.55);backdrop-filter:blur(3px)}
.cat-modal[open]{animation:catIn .22s ease}
@keyframes catIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.cat-step{padding:clamp(24px,5vw,36px)}
.cat-step h2{font-size:clamp(24px,4vw,30px);padding-right:36px}
.cat-sub{color:var(--muted);margin:10px 0 22px;font-size:15px}
.cat-x{position:absolute;right:14px;top:14px;background:var(--panel);border:0;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;cursor:pointer;color:var(--ink)}
.cat-x .ic{width:18px;height:18px}
.cat-legal{grid-column:1/-1;font-size:12.5px;color:var(--muted);margin-top:-4px}
.cat-ok{width:56px;height:56px;border-radius:50%;background:var(--accent);display:grid;place-items:center;margin-bottom:16px}
.cat-ok .ic{width:28px;height:28px}
#cat-step-ok .btn{width:100%}
.form .btn[disabled]{opacity:.6;cursor:progress}
.notice.err{background:#FDECEC;color:#8A1C1C}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:520px){.cat-modal .form{grid-template-columns:1fr}}
.nav a{white-space:nowrap}
.hdr .btn{white-space:nowrap;padding:11px 18px;font-size:14.5px;flex:none}
@media (max-width:1240px){.nav a{padding:8px 9px;font-size:14px}.hdr .wrap{gap:18px}}

/* ---- retroalimentación oct 2026 ---- */
.deco{display:none}
.lines{grid-template-columns:repeat(3,minmax(0,1fr))}
.line-card .imgs{gap:4%;align-items:flex-end;justify-content:center;min-height:170px}
.line-card .imgs img{margin-inline:0;height:auto}
/* una imagen por línea, centrada y del mismo tamaño en las tres tarjetas */
.line-card .imgs.n1{align-items:center}
.line-card.md{background:#F1F0EB;border-color:#F1F0EB}
.lc-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.pcard .pimg img{width:calc(var(--s,1) * 92%);max-width:100%}
.feature{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:center}
.facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.facts li{display:grid;gap:4px;padding:20px;border:1px solid var(--line);border-radius:var(--r)}
.facts .ic{color:var(--accent);margin-bottom:6px}
.facts b{font-family:var(--f-display);font-size:24px;line-height:1.1}
.facts span{color:var(--muted);font-size:14px}
.group-title h2{font-size:clamp(30px,4vw,44px)}
.cmpx-wrap{background:var(--surface)}
.cmpx{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;min-width:900px}
.cmpx th,.cmpx td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:center}
.cmpx thead th{vertical-align:bottom;padding-top:22px;border-bottom:2px solid var(--ink)}
.cmpx thead a{display:grid;justify-items:center;gap:6px;text-decoration:none}
.cmpx thead img{height:auto;max-height:70px;object-fit:contain;filter:drop-shadow(0 8px 8px rgba(0,0,0,.18))}
.cmpx thead b{font-family:var(--f-display);font-size:15.5px;white-space:nowrap}
.cmpx .ln{font-size:12px;font-weight:700;color:var(--accent-text);white-space:nowrap}
.cmpx tbody th{text-align:left;font-weight:600;white-space:nowrap;position:sticky;left:0;background:var(--surface);z-index:1}
.cmpx tbody th .ic{width:20px;height:20px;vertical-align:-5px;margin-right:10px;color:var(--muted)}
.cmpx td{font-variant-numeric:tabular-nums;white-space:nowrap}
.cmpx td small{display:block;font-size:11.5px;color:var(--muted)}
.cmpx tbody tr:last-child th,.cmpx tbody tr:last-child td{border-bottom:0}
.cmpx tbody tr:hover td,.cmpx tbody tr:hover th{background:#FAF8F1}
.cmpx .yes,.cmpx .no{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%}
.cmpx .yes{background:#FFCC33;color:var(--ink)} .cmpx .no{background:var(--panel);color:#8A8983}
.cmpx .yes .ic,.cmpx .no .ic{width:16px;height:16px}
.cmp-note{font-size:13px;color:var(--muted);margin-top:12px}
@media (max-width:1000px){.lines{grid-template-columns:1fr}.feature{grid-template-columns:1fr}}
@media (max-width:640px){.facts{grid-template-columns:1fr 1fr}.facts li{padding:14px}.facts b{font-size:19px}}

/* ---- blindaje: textos e imágenes que vienen del panel nunca desarman el diseño ---- */
.pcard h3,.pcard .lema,.line-card h3,.line-card p,.chart-row a,.ficha h1,.ficha .lema,.ficha .desc,.post h3,.post-head h1,.quote .who b,.quote .who span,.facts b,.mini-list b,.mini-list small,.res h3,.spec-table td,.foot li{overflow-wrap:anywhere;min-width:0}
.pcard h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pcard .lema,.mini-list small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.post h3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ficha h1{font-size:clamp(36px,5.4vw,72px);line-height:1}
.pcard .pimg{overflow:hidden}
.pcard .pimg img{height:auto;max-height:calc(100% - 24px);object-fit:contain}
.ficha .stage img{height:auto;max-height:72%;object-fit:contain;object-position:center bottom}
.line-card .imgs img{max-height:160px;object-fit:contain}
.line-card .codes{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
.cmpx thead b{white-space:normal;max-width:150px;display:block;margin-inline:auto}
.cmpx td{white-space:normal;min-width:84px}
.chart-row a{line-height:1.2}
.logo-grid .cl img{object-fit:contain;background:#fff;padding:6px}
.who img{object-fit:contain}
.who .av{width:44px;height:44px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font-family:var(--f-display);font-weight:700;flex:none}
.res img{object-fit:contain}
.cl.wide img{object-fit:contain}
.prose img{max-width:100%;height:auto;border-radius:10px}
.prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}
.prose td,.prose th{border:1px solid var(--line);padding:8px 10px}
.prose a{overflow-wrap:anywhere}
.uses{min-width:0}
.pcard .pimg img{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:calc(var(--s,1) * 84%);height:70%;max-height:none;object-fit:contain}

/* galería de vistas del modelo */
.views{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:6px}
.views button{appearance:none;border:0;background:none;padding:0;cursor:pointer;display:grid;gap:7px;justify-items:center;font:600 12px/1.2 var(--f-body);color:var(--muted);min-width:0}
.views .th{width:100%;aspect-ratio:4/3;border-radius:12px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.views .th img{max-width:84%;max-height:74%;width:auto;height:auto;object-fit:contain}
.views button:hover .th{border-color:var(--ink)}
.views button[aria-pressed="true"]{color:var(--ink)}
.views button[aria-pressed="true"] .th{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.views button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:12px}
.ficha-hero.hd .views .th{background:#262626;border-color:#3a3a3a}
.ficha-hero.hd .views button{color:#bdbdbd}
.ficha-hero.hd .views button[aria-pressed="true"],.ficha-hero.hd .views button:hover{color:#fff}
.ficha-hero.hd .views button[aria-pressed="true"] .th,.ficha-hero.hd .views button:hover .th{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
#stage-img{transition:opacity .18s ease}
@media (max-width:520px){.views{gap:7px}.views button{font-size:11px}}

/* logos horizontales en la cuadrícula de clientes; la última fila queda centrada */
.logo-grid{display:flex;flex-wrap:wrap;justify-content:center}
.logo-grid>div{flex:0 0 calc((100% - 6 * 12px) / 7);min-width:0}
.logo-grid .cl.w img{width:auto;height:auto;max-width:100%;max-height:62px;object-fit:contain;background:none;padding:0;border-radius:0;box-shadow:none}
@media (max-width:1080px){.logo-grid>div{flex-basis:calc((100% - 3 * 12px) / 4)}}
@media (max-width:640px){.logo-grid>div{flex-basis:calc((100% - 12px) / 2)}}

/* fotos de operación real */
.photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.photos figure{margin:0;position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/3;background:var(--panel)}
.photos img{width:100%;height:100%;object-fit:cover;display:block}
.photos figcaption{position:absolute;left:12px;bottom:12px;background:rgba(26,26,26,.82);color:#fff;font:600 13px/1 var(--f-body);padding:8px 12px;border-radius:999px}
@media (max-width:760px){.photos{grid-template-columns:1fr 1fr}.photos figure:first-child{grid-column:1/-1;aspect-ratio:16/9}}
.proof-photo{margin:0;display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(20px,4vw,44px);align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:14px}
.proof-photo img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;display:block}
.proof-photo figcaption{display:grid;gap:8px;padding-right:18px}
.proof-photo figcaption b{font-family:var(--f-display);font-size:clamp(20px,2.2vw,26px);line-height:1.15}
.proof-photo figcaption span{color:var(--muted)}
@media (max-width:760px){.proof-photo{grid-template-columns:1fr}.proof-photo figcaption{padding:4px 6px 10px}}

/* tarjeta de modelo: varias fotos */
.pcard .pimg-link{position:absolute;inset:0;display:block;z-index:1}
.pcard .pimg .tag{z-index:2}
.pcard .pimg img{opacity:0;transition:opacity .3s ease}
.pcard .pimg img.on{opacity:1}
.pcard .pimg img[data-view]{filter:drop-shadow(0 10px 10px rgba(0,0,0,.18))}
.pcard .pbody{color:inherit;text-decoration:none}
.pcard .pv{position:absolute;top:50%;z-index:3;width:34px;height:34px;margin-top:-17px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.94);color:var(--ink);display:grid;place-items:center;cursor:pointer;padding:0;opacity:0;transition:opacity .2s ease,transform .2s ease;box-shadow:0 6px 16px -8px rgba(0,0,0,.35)}
.pcard .pv .ic{width:18px;height:18px}
.pcard .pv.prev{left:10px}.pcard .pv.next{right:10px}
.pcard:hover .pv,.pcard .pv:focus-visible,.pcard .pimg:focus-within .pv{opacity:1}
.pcard .pv:hover{transform:scale(1.08)}
.pcard .pv:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pcard .dots{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);z-index:3;display:flex;gap:2px}
.pcard .dots button{width:22px;height:22px;padding:0;border:0;background:none;cursor:pointer;display:grid;place-items:center}
.pcard .dots button::before{content:"";width:7px;height:7px;border-radius:50%;background:rgba(26,26,26,.25);transition:background .2s,width .2s}
.pcard .dots button[aria-current="true"]::before{background:var(--ink);width:18px;border-radius:4px}
.pcard .dots button:focus-visible{outline:2px solid var(--accent);border-radius:6px}
@media (hover:none){.pcard .pv{opacity:1;width:30px;height:30px;margin-top:-15px}}

/* guía de selección: respuestas */
.guide-reset{background:none;border:0;padding:0;margin-top:6px;cursor:pointer;font:inherit;font-size:14px}
.res .miss{font-size:12.5px;color:var(--muted);margin-top:4px}
.results .hint{color:var(--muted);font-size:14px;margin:0 0 12px}

/* disponibilidad */
.stock{display:inline-flex;align-items:center;gap:6px;font:600 12px/1 var(--f-body);padding:6px 10px;border-radius:999px;background:#fff;border:1px solid var(--line);color:#1A1A1A;white-space:nowrap;vertical-align:middle}
.stock i{width:7px;height:7px;border-radius:50%;background:#1F8A4C;flex:none}
.stock.transito i{background:#BF9926}
.stock.agotado{color:#6b6b6b}
.stock.agotado i{background:#9a9a9a}
.pcard .pimg .stock.on-img{position:absolute;right:14px;top:14px;z-index:2;box-shadow:0 4px 12px -6px rgba(0,0,0,.25)}
.tagrow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.res h3 .stock{font-size:11px;padding:4px 8px;margin-left:6px;position:relative;top:-2px}
@media (max-width:380px){.pcard .pimg .stock.on-img{top:auto;bottom:12px;right:12px}}

/* galería de operación */
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.gallery figure,.photos.two-up figure{margin:0;position:relative;border-radius:18px;overflow:hidden;background:var(--panel)}
.gallery figure{aspect-ratio:3/4}
.gallery img{width:100%;height:100%;object-fit:cover;display:block}
.gallery figcaption{position:absolute;left:12px;bottom:12px;background:rgba(26,26,26,.82);color:#fff;font:600 13px/1 var(--f-body);padding:8px 12px;border-radius:999px}
.photos.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}
.photos.two-up figure{aspect-ratio:16/10}
.photos img{object-position:center 60%}
@media (max-width:900px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.photos.two-up{grid-template-columns:1fr}.photos.two-up figure:first-child{aspect-ratio:16/10}}

/* sello ISO */
.proof .iso-seal{width:40px;height:40px;flex:none;object-fit:contain}
.stat-iso{display:flex;gap:14px;align-items:center}
.stat-iso img{width:68px;height:68px;flex:none;object-fit:contain}
.stat.stat-iso b{white-space:nowrap;font-size:clamp(24px,2.6vw,32px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .iso-seal,:root:not([data-theme="light"]) .stat-iso img{filter:invert(1)}}
:root[data-theme="dark"] .iso-seal,:root[data-theme="dark"] .stat-iso img{filter:invert(1)}

/* video del pallet (página de producto) */
.pvideo{margin:22px 0 0;display:grid;gap:10px}
.pvideo figcaption{display:flex;align-items:center;gap:8px;font:700 14px/1.2 var(--f-body);color:var(--ink)}
.pvideo figcaption .ic{width:20px;height:20px;color:var(--accent-text,var(--ink))}
.pvideo .vbox{border-radius:var(--r);overflow:hidden;background:#000;aspect-ratio:16/9;border:1px solid var(--line)}
.pvideo video{display:block;width:100%;height:100%;object-fit:cover;background:#000}
.ficha-hero.hd .pvideo figcaption{color:#fff}
.ficha-hero.hd .pvideo figcaption .ic{color:var(--accent)}
.ficha-hero.hd .pvideo .vbox{border-color:#3a3a3a}

/* anti-spam */
.grecaptcha-badge{visibility:hidden}
.cap-note{font-size:11.5px;line-height:1.45;color:var(--muted);margin-top:10px}
.cap-note a{color:inherit;text-decoration:underline}
.ts-box{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:1000}

/* "No soy un robot" propio */
.robot{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface,#fff);margin:4px 0 14px;font-size:14px;color:var(--ink)}
.robot .rb-box{appearance:none;width:26px;height:26px;flex:none;border-radius:6px;border:2px solid #9a988f;background:#fff;display:grid;place-items:center;cursor:pointer;padding:0;transition:border-color .2s,background .2s}
.robot .rb-box:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.robot .rb-mark{width:14px;height:14px;display:block}
.robot[data-state="work"] .rb-box{border-color:transparent;cursor:default}
.robot[data-state="work"] .rb-mark{width:22px;height:22px;border-radius:50%;border:3px solid #E2E0D9;border-top-color:var(--ink);animation:rbspin .8s linear infinite}
.robot[data-state="done"] .rb-box{border-color:#1F8A4C;background:#1F8A4C}
.robot[data-state="done"] .rb-mark{width:7px;height:13px;border:solid #fff;border-width:0 3px 3px 0;transform:translateY(-2px) rotate(45deg)}
.robot[data-state="error"] .rb-box{border-color:#B42318}
.robot[data-state="error"] .rb-text{color:#B42318;font-size:13px}
.robot .rb-text{flex:1;font-weight:600}
.robot .rb-brand{font-size:10px;line-height:1.25;color:var(--muted);text-align:right}
.robot .rb-brand b{display:block;font-size:10.5px;color:var(--ink)}
@keyframes rbspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.robot[data-state="work"] .rb-mark{animation-duration:2s}}

/* aviso de cookies */
.ck{position:fixed;left:16px;bottom:16px;z-index:60;max-width:540px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 40px -18px rgba(26,26,26,.35);padding:16px 18px;display:grid;gap:12px}
.ck[hidden]{display:none}
.ck p{font-size:13.5px;line-height:1.5;color:#3a3a3e;margin:0}
.ck p b{display:block;font-size:14px;color:var(--ink);margin-bottom:2px}
.ck a{color:var(--ink);text-decoration:underline}
.ck-b{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.ck-b .btn{padding:10px 18px;font-size:14px;min-height:0}
@media (max-width:820px){.ck-on .wa-float{bottom:calc(var(--ckh,0px) + 28px)}} /* solo sube si el aviso de cookies lo tapa */
@media (max-width:640px){.ck{left:12px;right:12px;bottom:12px;max-width:none}.ck-b .btn{flex:1;justify-content:center}.ck-on .wa-float{display:none}}
.linkbtn{appearance:none;background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
.linkbtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}
.form-legal{font-size:12.5px;line-height:1.5;color:var(--muted);margin:0}
.form-legal a,.cat-legal a{color:inherit;text-decoration:underline}
/* política de privacidad */
.policy .upd{font-size:13px;color:var(--muted);margin-bottom:6px}
.policy h2{scroll-margin-top:110px}
.tbl-wrap{overflow-x:auto;margin:14px 0 6px;border:1px solid var(--line);border-radius:12px}
.ptable{width:100%;border-collapse:collapse;font-size:14px;line-height:1.5;min-width:520px}
.ptable th,.ptable td{text-align:left;vertical-align:top;padding:11px 14px;border-bottom:1px solid var(--line)}
.ptable tr:last-child th,.ptable tr:last-child td{border-bottom:0}
.ptable thead th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--surface,#f6f5f0)}
.ptable tbody th{font-weight:700;width:34%}
.ck-table tbody th{width:auto}
.ptable code{font-size:12.5px;background:#f1f0eb;padding:1px 5px;border-radius:5px}
.chart-legend .unit{margin-left:auto;font-weight:700;color:var(--ink)}

/* comparativo: fotos y nombres alineados aunque el nombre ocupe dos líneas */
.cmpx thead th{vertical-align:top}
.cmpx thead a{grid-template-rows:78px auto auto;align-content:start}
.cmpx thead img{align-self:end}
.cmpx thead b{min-height:2.5em;display:flex;align-items:flex-start;justify-content:center;text-align:center;line-height:1.2}

/* página del modelo: más aire sobre el título */
.ficha{padding-top:clamp(36px,5vw,64px)}
.ficha .tagrow + h1{margin-top:22px}
@media (max-width:980px){.ficha > div + div{margin-top:8px}}
.quote-modal .cat-sub b{color:var(--ink)}
/* tarjetas de línea: texto, foto y modelos alineados entre las tres tarjetas */
@media (min-width:1001px){
  .lines{grid-template-rows:auto auto auto}
  .line-card{grid-row:span 3;grid-template-rows:subgrid;row-gap:18px}
  .line-card .imgs{align-items:center}
}
@media (min-width:1001px){.line-card .lc-foot{align-self:end}}
.pcard[hidden],.group[hidden]{display:none!important}
.field.bad input,.field.bad select,.field.bad textarea{border-color:#D93025!important;box-shadow:0 0 0 3px rgba(217,48,37,.12)}
.field.bad label{color:#B3261E}
