@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:100 700;font-display:swap;src:url(/assets/fonts/ibmplexsans-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:100 700;font-display:swap;src:url(/assets/fonts/ibmplexsans-latinext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/spacemono-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/spacemono-400-latinext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/spacemono-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/spacemono-700-latinext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --papel:#F4F2E9; --blanco:#FFFFFF; --tinta:#111A12; --tinta-2:#0E1A10; --gris:#5A6157; --gris-2:#8A9184;
  --filete:#D9D6C7; --filete-2:#F0EEE2; --borde:#B8B5A4; --verde:#1B7D11; --verde-2:#166A0E; --teal:#0E5252;
  --lima:#91B91B; --lima-2:#83A818; --error:#A32D1E; --error-bg:#FFF6F4; --wa:#25D366; --wa-2:#1FBE59;
  --rio:#C9D9D6; --ruta:#B8B5A4;
  --sans:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif; --mono:'Space Mono',ui-monospace,Consolas,monospace;
  --r1:3px; --r2:999px; --s1:0 1px 2px rgba(17,26,18,.08); --s2:0 12px 28px -14px rgba(17,26,18,.35); --foco:0 0 0 3px rgba(27,125,17,.18);
  --ease:cubic-bezier(.2,.6,.2,1); --wrap:1160px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--papel);color:var(--tinta);font:400 17px/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:var(--verde);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--teal)}
::selection{background:var(--lima);color:var(--tinta)}
h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.1;letter-spacing:-.01em}
h1{font-size:clamp(34px,4.6vw,52px);line-height:1.02;letter-spacing:-.02em}
h2{font-size:clamp(27px,3.2vw,34px)}
h3{font-size:21px;line-height:1.3;font-weight:500}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}
.mono{font-family:var(--mono)}
.eyebrow{font:400 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gris)}
.lead{font-size:21px;line-height:1.3;font-weight:500;max-width:52ch}
.small{font-size:15px;line-height:1.45}
.gris{color:var(--gris)}
.rule{display:block;height:2px;background:var(--tinta);transform-origin:left;transform:scaleX(1)}
.rv .rule{transform:scaleX(0)}
.rv.in .rule{animation:agrWipe .52s var(--ease) forwards}
@keyframes agrWipe{from{transform:scaleX(0)}to{transform:scaleX(1)}}
:focus-visible{outline:2px solid var(--verde);outline-offset:3px}

/* barra superior */
.top{position:sticky;top:0;z-index:60;background:rgba(244,242,233,.97);border-bottom:1px solid var(--filete)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px}
.logo{display:flex;align-items:center;text-decoration:none}
.logo img{height:34px;width:auto}
.nav{display:flex;gap:4px;align-items:center}
.nav a{font-size:15px;font-weight:500;color:var(--tinta);text-decoration:none;padding:8px 10px;border-radius:var(--r1)}
.nav a:hover{background:var(--filete-2)}
.nav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--verde)}
.top .btn{height:40px;padding:0 16px;font-size:15px}
.burger{display:none;height:44px;width:44px;border:1px solid var(--tinta);background:transparent;border-radius:var(--r1);cursor:pointer;place-items:center}
.burger svg{width:22px;height:22px}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 22px;border:0;border-radius:var(--r1);background:var(--verde);color:var(--papel);font:600 16px/1 var(--sans);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .16s,transform .16s}
.btn:hover{background:var(--verde-2);color:var(--papel)}
.btn:active{transform:translateY(1px)}
.btn svg{width:18px;height:18px;flex:none}
.btn.out{background:transparent;color:var(--tinta);border:1px solid var(--tinta)}
.btn.out:hover{background:var(--tinta);color:var(--papel)}
.btn.lima{background:var(--lima);color:var(--tinta);font-weight:700}
.btn.lima:hover{background:var(--lima-2);color:var(--tinta)}
.btn.wa{background:var(--wa);color:var(--tinta-2);font-weight:700}
.btn.wa:hover{background:var(--wa-2);color:var(--tinta-2)}
.btn.wa svg{fill:currentColor}
.btn[disabled],.btn.off{background:var(--papel);color:var(--gris-2);border:1px solid var(--filete);cursor:not-allowed}
.btn.sm{height:40px;padding:0 14px;font-size:15px}
.acts{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center}
.tlink{font-weight:600;color:var(--verde)}

/* chips y sellos */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--filete);border-radius:var(--r2);padding:6px 13px;font-size:14px;color:var(--gris);background:var(--blanco);line-height:1.2}
.chip.ok{background:var(--papel);border-color:var(--verde);color:var(--verde);font-weight:600}
.chip.code{border-color:var(--tinta);color:var(--tinta);font:400 12px/1.2 var(--mono);letter-spacing:.06em;padding:7px 14px}
.chip.sello{background:var(--tinta);color:var(--lima);border-color:var(--tinta);font:400 12px/1.2 var(--mono);letter-spacing:.06em;padding:8px 14px}

/* tarjetas, tablas, listas */
.card{background:var(--blanco);border:1px solid var(--filete);padding:18px}
.card.ink{background:var(--tinta);color:var(--papel);border-color:var(--tinta)}
.card.ink .eyebrow{color:var(--lima)}
.tbl{border:1px solid var(--tinta);background:var(--blanco)}
.tbl .r{display:grid;grid-template-columns:1fr auto;gap:12px;padding:11px 16px;border-bottom:1px solid var(--filete);align-items:baseline}
.tbl .r:last-child{border-bottom:0}
.tbl .r .v{font-family:var(--mono);font-size:16px;text-align:right;white-space:nowrap}
.tbl .r.h{background:var(--papel);font:400 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gris);padding:10px 16px}
.spec{display:grid;grid-template-columns:120px 1fr;gap:0 12px;padding:12px 16px;border-bottom:1px solid var(--filete);align-items:baseline}
.spec:last-child{border-bottom:0}
.spec dt{font:400 11px/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gris)}
.spec dd{margin:0}
.big{display:flex;align-items:baseline;gap:6px;font:700 52px/1 var(--mono);letter-spacing:-.02em}
.big .u{font-size:21px;font-weight:400;color:var(--gris)}

/* placeholders: foto o dato que todavia no llego */
.ph{position:relative;display:grid;place-items:center;text-align:center;background:var(--filete-2);border:1px dashed var(--borde);color:var(--gris);padding:18px;min-height:120px}
.ph .eyebrow{color:var(--gris)}
.ph p{font-size:14px;max-width:26ch;margin-top:6px}
.ph svg{width:28px;height:28px;stroke:var(--gris-2);fill:none;stroke-width:1.6;margin-bottom:8px}

/* secciones */
.sec{padding:64px 0}
.sec.tight{padding:48px 0}
.sec.alt{background:var(--blanco);border-block:1px solid var(--filete)}
.sec.ink{background:var(--tinta);color:var(--papel)}
.sec.ink .eyebrow{color:var(--lima)}
.sec.ink .rule{background:var(--lima)}
.head{display:grid;gap:14px;margin-bottom:32px;max-width:64ch}
.head p{font-size:18px;color:var(--gris)}
.sec.ink .head p{color:#C9D3C7}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:start}

/* portada */
.hero{padding:56px 0 40px}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center}
.hero h1{margin-top:14px}
.hero .lead{margin-top:18px;font-weight:400;font-size:20px;color:var(--gris)}
.hero .acts{margin-top:28px}
.state{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font:400 13px/1.3 var(--mono);color:var(--tinta)}
.state i{width:10px;height:10px;border-radius:50%;background:var(--verde);flex:none;position:relative}
.state.open i::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--verde);opacity:.35;animation:ping 2s ease-out infinite}
.state.closed i{background:transparent;box-shadow:inset 0 0 0 2px var(--gris-2)}
@keyframes ping{0%{transform:scale(.6);opacity:.5}100%{transform:scale(1.5);opacity:0}}
.figure{margin:0}
.figure img{width:100%;height:auto;object-fit:cover}
.figure figcaption{margin-top:8px;font:400 12px/1.4 var(--mono);color:var(--gris)}
.hero .figure img{aspect-ratio:4/4.3;object-position:50% 65%}

/* indice: la espina */
.idx{border:1px solid var(--tinta);background:var(--blanco)}
.idx .grp{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 16px;background:var(--papel);border-bottom:1px solid var(--filete);border-top:1px solid var(--tinta)}
.idx .grp:first-child{border-top:0}
.idx .grp b{font-size:17px;font-weight:600}
.idx .grp span{font:400 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gris)}
.idx .row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) 126px auto;gap:12px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--filete)}
.idx .row:last-child{border-bottom:0}
.idx .row:hover{background:var(--filete-2)}
.idx .n{font-weight:600}
.idx .n a{color:var(--tinta);text-decoration:none}
.idx .n a:hover{color:var(--verde)}
.idx .p{color:var(--gris);font-size:15px}
.idx .b{font:400 14px/1.3 var(--mono);white-space:nowrap}
.idx .row .btn{height:36px;padding:0 12px;font-size:14px}

/* lineas (balanceados) */
.linea{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;border:1px solid var(--filete);background:var(--blanco)}
.linea>div{padding:24px}
.linea .txt{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.linea .txt .chips{margin-top:2px}
.linea .txt .acts{margin-top:auto;padding-top:8px}
.linea .lab{border-left:1px solid var(--filete);background:var(--papel);display:flex;flex-direction:column;gap:12px}
.linea .lab .tbl .r{padding:9px 14px}
.linea .lab .tbl .r .v{font-size:15px}
.lab .cita{font-size:15px;color:var(--gris);border-left:2px solid var(--lima);padding-left:12px}
.lab .ph{min-height:0;padding:22px 18px}

/* pasos y faq */
.pasos{counter-reset:p;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.paso{counter-increment:p;background:var(--blanco);border:1px solid var(--filete);padding:22px}
.paso::before{content:"0" counter(p);display:block;font:700 34px/1 var(--mono);color:var(--lima);margin-bottom:12px;-webkit-text-stroke:1px var(--tinta)}
.paso h3{margin-bottom:8px}
.paso p{color:var(--gris);font-size:16px}
.faq{border-top:1px solid var(--tinta)}
.faq details{border-bottom:1px solid var(--filete)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:baseline;padding:16px 4px;font-size:18px;font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 20px/1 var(--mono);color:var(--verde)}
.faq details[open] summary::after{content:"\2013"}
.faq details p{padding:0 4px 18px;color:var(--gris);max-width:64ch}

/* mapa */
.mapbox{background:var(--blanco);border:1px solid var(--filete)}
.map{width:100%;height:auto}
.mapbg{fill:var(--blanco)} .gridl{stroke:rgba(17,26,18,.05);stroke-width:1}
.rio{fill:none;stroke:var(--rio);stroke-width:14;stroke-linecap:round;stroke-linejoin:round}
.lbl-rio{fill:#6E8A88;font:italic 500 17px var(--sans)} .lbl-pais{fill:var(--gris-2);font:400 12px var(--mono);letter-spacing:.3em}
.rt{fill:none;stroke:var(--ruta);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.rt-on{fill:none;stroke:var(--verde);stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.shield rect{fill:var(--blanco);stroke:var(--tinta);stroke-width:1.5}
.shield text{font:400 12px var(--mono);fill:var(--tinta);text-anchor:middle}
.town{cursor:pointer;outline:none}
.town .hit{fill:transparent}
.town .dot{fill:var(--blanco);stroke:var(--tinta);stroke-width:2.5}
.town.ref .dot{fill:var(--filete);stroke:var(--gris)}
.town text{font:500 16px var(--sans);fill:var(--tinta);paint-order:stroke;stroke:var(--blanco);stroke-width:5px;stroke-linejoin:round}
.town.ref text{fill:var(--gris);font-size:14px}
.town:hover .dot,.town:focus-visible .dot{stroke:var(--verde)}
.town.on .dot{fill:var(--verde);stroke:var(--verde)}
.town.on text{fill:var(--verde);font-weight:600}
.plant .halo{fill:rgba(145,185,27,.35)}
.plant .core{fill:var(--lima);stroke:var(--tinta);stroke-width:3}
.plant text{font:700 20px var(--sans);fill:var(--tinta);letter-spacing:.04em;paint-order:stroke;stroke:var(--blanco);stroke-width:6px;stroke-linejoin:round}
.scale path{stroke:var(--tinta);stroke-width:2;fill:none} .scale text{font:400 12px var(--mono);fill:var(--tinta)}
.north path{fill:var(--tinta)} .north text{font:400 12px var(--mono);fill:var(--tinta);text-anchor:middle}
.maptxt{padding:10px 16px;border-top:1px solid var(--filete);font:400 12px/1.5 var(--mono);color:var(--gris);background:var(--papel)}
.towns{list-style:none;margin:0;padding:0;border:1px solid var(--tinta);background:var(--blanco)}
.towns li.h{display:grid;grid-template-columns:1fr auto;padding:10px 16px;background:var(--papel);font:400 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gris);border-bottom:1px solid var(--filete)}
.towns li.h+li.h{border-top:1px solid var(--tinta)}
.towns button{all:unset;box-sizing:border-box;display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:12px;width:100%;padding:9px 16px 8px;border-bottom:1px solid var(--filete);cursor:pointer;position:relative}
.towns li:last-child button{border-bottom:0}
.towns button::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:transparent}
.towns button:hover{background:var(--filete-2)}
.towns button[aria-pressed=true]{color:var(--verde);font-weight:600}
.towns button[aria-pressed=true]::before{background:var(--lima)}
.towns .k{font:400 15px var(--mono)}
.towns .m{font:400 13px var(--mono);color:var(--gris);text-align:right;white-space:nowrap}
.callout{margin-top:16px;background:var(--blanco);border:1px solid var(--filete);border-left:4px solid var(--lima);padding:16px 18px}
.callout .btn{margin-top:12px}

/* formularios */
label.lb{display:block;font-size:14px;font-weight:600;margin-bottom:6px}
.inp,select.inp,textarea.inp{width:100%;height:48px;border:1px solid var(--borde);border-radius:var(--r1);background:var(--blanco);color:var(--tinta);font:400 17px var(--sans);padding:0 14px;appearance:none;-webkit-appearance:none}
textarea.inp{height:auto;min-height:88px;padding:12px 14px;resize:vertical}
select.inp{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23111A12' stroke-width='1.8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.inp:focus{outline:0;border-color:var(--verde);box-shadow:var(--foco)}
.inp.err{border-color:var(--error);background:var(--error-bg)}
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.opt{position:relative;overflow:hidden;text-align:left;padding:14px 16px;border:1px solid var(--borde);border-radius:var(--r1);background:var(--blanco);cursor:pointer;min-height:64px;font:inherit;color:var(--tinta)}
.opt b{display:block;font-size:17px;font-weight:600}
.opt small{display:block;font:400 12px/1.4 var(--mono);color:var(--gris);margin-top:3px}
.opt::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--lima);transform:scaleX(0);transform-origin:left;transition:transform .14s var(--ease)}
.opt[aria-pressed=true]{border-color:var(--tinta);box-shadow:inset 0 0 0 1px var(--tinta)}
.opt[aria-pressed=true]::before{transform:scaleX(1)}
.opt.sm{min-height:48px;padding:11px 14px}
.opt.sm b{font-size:16px}
.stepper{display:inline-grid;grid-template-columns:48px 72px 48px;border:1px solid var(--borde);border-radius:var(--r1);background:var(--blanco);overflow:hidden}
.stepper button{all:unset;box-sizing:border-box;height:46px;display:grid;place-items:center;font:400 22px/1 var(--mono);cursor:pointer;color:var(--tinta)}
.stepper button:hover{background:var(--filete-2)}
.stepper output{display:grid;place-items:center;font:700 20px/1 var(--mono);border-inline:1px solid var(--filete)}
.kgs{font:400 14px/1.3 var(--mono);color:var(--gris);margin-left:12px}

/* armador */
.pedir .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:start}
.pasos-form{display:flex;flex-direction:column;gap:28px}
.pf{display:flex;flex-direction:column;gap:10px}
.pf .eyebrow{margin-bottom:2px}
.panel{position:sticky;top:84px;display:flex;flex-direction:column;gap:16px}
.panel .card.ink{padding:18px}
.bubble{background:var(--blanco);color:var(--tinta);border-radius:8px 8px 8px 2px;padding:12px 14px;font:400 15.5px/1.5 var(--sans);white-space:pre-line;word-wrap:break-word;border:1px solid var(--filete)}
.bubble b{font-weight:600}
.panel .btn.wa{width:100%;height:52px;font-size:17px}
.fine{font:400 12px/1.5 var(--mono);color:#B9C3BC}

/* horario */
.horas{border:1px solid var(--tinta);background:var(--blanco)}
.horas div{display:grid;grid-template-columns:1fr auto;gap:12px;padding:10px 16px;border-bottom:1px solid var(--filete)}
.horas div:last-child{border-bottom:0}
.horas div span:last-child{font:400 15px var(--mono);text-align:right}
.horas div.hoy{background:var(--papel);box-shadow:inset 4px 0 0 var(--lima)}
.horas div.hoy span:first-child::after{content:" · hoy";font:400 12px var(--mono);color:var(--verde)}
.gmap{border:1px solid var(--filete);height:280px;background:var(--filete-2)}
.gmap iframe{border:0;width:100%;height:100%}

/* cita */
.quote{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:start;max-width:820px}
.quote svg{width:34px;height:34px;color:var(--lima);fill:currentColor}
.quote p{font-size:clamp(21px,2.4vw,27px);font-weight:500;line-height:1.3}
.quote footer{margin-top:10px;font:400 13px var(--mono);color:var(--gris)}

/* pie */
.pie{background:var(--tinta);color:#DDE3DC;padding:56px 0 32px}
.pie .grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px}
.pie img{height:32px;width:auto}
.pie p{margin-top:14px;font-size:15px;color:#B9C3BC;max-width:34ch}
.pie h2{margin:0 0 12px;font:400 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--lima)}
.pie ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:15px}
.pie a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3)}
.pie a:hover{border-color:#fff;color:#fff}
.pie .base{margin-top:40px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 20px;font:400 12px/1.5 var(--mono);color:#B9C3BC}

/* barra fija en telefono */
.mbar{display:none}
.fab{position:fixed;right:20px;bottom:20px;z-index:50;width:56px;height:56px;border-radius:50%;background:var(--wa);display:grid;place-items:center;box-shadow:var(--s2)}
.fab svg{width:30px;height:30px;fill:var(--tinta-2)}

/* reveal M1 */
.rv{opacity:0;transform:translateY(8px);transition:opacity .32s var(--ease),transform .32s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv[data-i="1"]{transition-delay:60ms}.rv[data-i="2"]{transition-delay:120ms}.rv[data-i="3"]{transition-delay:180ms}

@media (max-width:1080px){
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pie .grid{grid-template-columns:1fr 1fr}
}
@media (min-width:768px){ .wrap{padding:0 44px} .card{padding:24px} .sec{padding:88px 0} .sec.tight{padding:56px 0} .hero{padding:72px 0 56px} }
@media (max-width:767px){
  body{font-size:16px;padding-bottom:72px}
  .lead{font-size:19px}
  .top .wrap{height:58px}
  .nav{display:none;position:absolute;left:0;right:0;top:58px;background:var(--papel);border-bottom:1px solid var(--filete);flex-direction:column;align-items:stretch;padding:8px 16px 16px;gap:2px;box-shadow:var(--s2)}
  .nav.open{display:flex}
  .nav a{padding:12px 8px;font-size:17px;border-bottom:1px solid var(--filete-2)}
  .top .btn{display:none}
  .burger{display:grid}
  .hero .wrap,.split,.g2,.g3,.linea,.pedir .wrap{grid-template-columns:1fr}
  .hero .wrap{gap:28px}
  .hero .figure img{aspect-ratio:4/3}
  .g4{grid-template-columns:1fr 1fr}
  .pasos{grid-template-columns:1fr}
  .idx .grp{grid-template-columns:1fr;gap:2px}
  .idx .row{grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:12px 14px}
  .idx .n{grid-column:1;grid-row:1}
  .idx .b{grid-column:1;grid-row:2}
  .idx .p{grid-column:1/-1;grid-row:3;margin-top:4px}
  .idx .row .btn{grid-column:2;grid-row:1/3;align-self:center}
  .big{flex-direction:column;align-items:flex-start;gap:4px}
  .big .u{font-size:17px}
  .linea .lab{border-left:0;border-top:1px solid var(--filete)}
  .town text{display:none}
  .town.on text{display:block;font-size:30px;stroke-width:8px}
  .plant text{font-size:30px;stroke-width:8px}
  .shield text{font-size:15px}
  .panel{position:static}
  .pie .grid{grid-template-columns:1fr}
  .fab{display:none}
  .mbar{display:grid;grid-template-columns:1.3fr 1fr 56px;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:55;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(244,242,233,.98);border-top:1px solid var(--filete);backdrop-filter:blur(8px)}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--r1);height:48px;text-decoration:none;font:600 15px/1 var(--sans)}
  .mbar .p{background:var(--verde);color:var(--papel)}
  .mbar .l{border:1px solid var(--tinta);color:var(--tinta)}
  .mbar .w{background:var(--wa)}
  .mbar .w svg{width:26px;height:26px;fill:var(--tinta-2)}
  .mbar.send{grid-template-columns:minmax(0,1fr) auto}
  .mbar.send .sum{display:flex;flex-direction:column;justify-content:center;min-width:0}
  .mbar.send .sum b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mbar.send .sum span{font:400 12px var(--mono);color:var(--gris)}
  .mbar.send .w{width:auto;padding:0 18px;color:var(--tinta-2);font-weight:700}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  .rv .rule,.rv.in .rule{transform:none;animation:none}
  .state.open i::after{animation:none}
  .opt::before{transition:none}
}
/* catalogo en grilla */
.catalogo{display:grid;gap:32px}
.cat-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:2px solid var(--tinta);padding-bottom:8px;margin-bottom:14px}
.cat-h b{font-size:22px;font-weight:600;line-height:1.1}
.cat-h span{font:400 11px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gris);text-align:right}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pc{display:flex;flex-direction:column;gap:6px;background:var(--blanco);border:1px solid var(--filete);padding:16px;transition:border-color .16s}
.pc:hover{border-color:var(--tinta)}
.pc .eyebrow{font-size:10px}
.pc h3{font-size:19px;font-weight:600;line-height:1.15;margin-top:2px}
.pc h3 a{color:inherit;text-decoration:none}
.pc h3 a:hover{color:var(--verde)}
.pc p{font-size:14px;color:var(--gris);line-height:1.4}
.pc-f{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:12px}
.pc .chip{padding:5px 9px;font-size:10px;letter-spacing:.06em}
.pc .btn{height:36px;padding:0 12px;font-size:14px}

/* resenas */
.res-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:24px;align-items:center;background:var(--blanco);border:1px solid var(--filete);padding:18px 24px;margin-bottom:16px}
.res-score{display:flex;align-items:baseline;gap:6px;font:700 44px/1 var(--mono);letter-spacing:-.02em}
.res-score small{font:400 13px var(--mono);color:var(--gris)}
.stars{display:inline-flex;gap:2px}
.stars svg{width:18px;height:18px;fill:var(--lima);stroke:var(--tinta);stroke-width:1.2;stroke-linejoin:round}
.res-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.res{background:var(--blanco);border:1px solid var(--filete);padding:20px;display:flex;flex-direction:column;gap:10px}
.res p{font-size:17px;line-height:1.45}
.res footer{margin-top:auto;font:400 12px/1.5 var(--mono);color:var(--gris)}
.res.invite{background:var(--papel);border:1px dashed var(--borde)}
.res.invite p{color:var(--gris);font-size:15px}

/* pasos con grafico animado */
.paso{padding-top:16px}
.paso::before{display:none}
.paso .pg{width:100%;height:auto;aspect-ratio:240/150;margin-bottom:14px;background:var(--papel);border:1px solid var(--filete)}
.paso .num{font:400 11px/1 var(--mono);letter-spacing:.12em;color:var(--verde);margin-bottom:8px;display:block}
.pg *{vector-effect:non-scaling-stroke}
.pg .k-body{fill:var(--blanco);stroke:var(--tinta);stroke-width:1.5}
.pg .k-screen{fill:var(--papel);stroke:var(--filete);stroke-width:1}
.pg .k-spk{stroke:var(--tinta);stroke-width:1.5;stroke-linecap:round}
.pg .k-bin{fill:var(--blanco);stroke:var(--filete)}
.pg .k-binl{stroke:var(--filete);stroke-width:2;stroke-linecap:round}
.pg .k-bout rect,.pg .k-bout2{fill:#E4EFC3;stroke:var(--lima)}
.pg .tl,.pg .rl{stroke:var(--tinta);stroke-width:2.2;stroke-linecap:round;transform-box:fill-box;transform-origin:left center}
.pg .cur{stroke:var(--tinta);stroke-width:1.5;opacity:0}
.pg .k-ticks path{fill:none;stroke:var(--verde);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pg .k-field{fill:var(--blanco);stroke:var(--filete)}
.pg .k-send{fill:var(--lima);stroke:var(--tinta);stroke-width:1.2}
.pg .k-plane,.pg .k-plane2{fill:var(--tinta);transform-box:fill-box;transform-origin:center}
.pg .k-plane2{opacity:0}
.pg .k-reply rect{fill:var(--blanco);stroke:var(--tinta);stroke-width:1.2;transform-box:fill-box;transform-origin:left bottom}
.pg .rl-chk{fill:none;stroke:var(--verde);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:20;stroke-dashoffset:0}
.pg .rl-g{font:700 11px var(--mono);fill:var(--tinta)}
.pg .k-cal rect{fill:var(--blanco);stroke:var(--tinta);stroke-width:1.2}
.pg .k-cal line{stroke:var(--tinta);stroke-width:1.2}
.pg .k-day{fill:var(--lima)!important;stroke:var(--tinta)!important;transform-box:fill-box;transform-origin:left center}
.pg .k-calt{font:400 7px var(--mono);letter-spacing:.1em;fill:var(--gris)}
.pg .k-silo rect,.pg .k-silo path,.pg .k-farm path,.pg .k-farm rect{fill:var(--blanco);stroke:var(--tinta);stroke-width:1.5;stroke-linejoin:round}
.pg .k-silo line,.pg .k-farm line{stroke:var(--tinta);stroke-width:1.2}
.pg .k-ground{stroke:var(--filete);stroke-width:1}
.pg .k-road{stroke:var(--borde);stroke-width:6;stroke-linecap:round}
.pg .k-dash{stroke:var(--papel);stroke-width:1.5;stroke-dasharray:8 8}
.pg .k-truck{transform:translateX(150px)}
.pg .k-box,.pg .k-cab{fill:var(--blanco);stroke:var(--tinta);stroke-width:1.5;stroke-linejoin:round}
.pg .k-bag{fill:#E4EFC3;stroke:var(--tinta);stroke-width:1}
.pg .k-win{fill:var(--papel);stroke:var(--tinta);stroke-width:1}
.pg .k-wheel circle{fill:var(--blanco);stroke:var(--tinta);stroke-width:1.5}
.pg .k-wheel line{stroke:var(--tinta);stroke-width:1}
.pg .k-wheel{transform-box:fill-box;transform-origin:center}

@keyframes kType{0%,8%{transform:scaleX(0)}16%,100%{transform:scaleX(1)}}
@keyframes kType2{0%,16%{transform:scaleX(0)}24%,100%{transform:scaleX(1)}}
@keyframes kType3{0%,24%{transform:scaleX(0)}30%,100%{transform:scaleX(1)}}
@keyframes kCursor{0%,6%{opacity:0}8%,30%{opacity:1}31%,100%{opacity:0}}
@keyframes kBub{0%,4%{transform:scale(.7);opacity:0}9%,100%{transform:scale(1);opacity:1}}
@keyframes kSend{0%,40%{transform:scale(1)}44%{transform:scale(1.25)}48%,100%{transform:scale(1)}}
@keyframes kPlane{0%,42%{opacity:1;transform:translate(0,0) rotate(0)}43%{opacity:0}100%{opacity:0}}
@keyframes kPlane2{0%,42%{opacity:0;transform:translate(0,0) rotate(0)}44%{opacity:1}60%{opacity:0;transform:translate(60px,-62px) rotate(-30deg)}100%{opacity:0;transform:translate(60px,-62px) rotate(-30deg)}}
@keyframes kPlaneBack{0%,60%{opacity:0}66%,100%{opacity:1}}
@keyframes kTicks{0%,58%{opacity:0}64%,100%{opacity:1}}
@keyframes kReply{0%,8%{transform:scale(.6);opacity:0}14%,100%{transform:scale(1);opacity:1}}
@keyframes kRl1{0%,16%{transform:scaleX(0)}24%,100%{transform:scaleX(1)}}
@keyframes kRl2{0%,24%{transform:scaleX(0)}32%,100%{transform:scaleX(1)}}
@keyframes kChk{0%,34%{stroke-dashoffset:20}46%,100%{stroke-dashoffset:0}}
@keyframes kG{0%,40%{opacity:0}48%,100%{opacity:1}}
@keyframes kCal{0%,48%{opacity:0;transform:translateY(6px)}56%,100%{opacity:1;transform:translateY(0)}}
@keyframes kDay{0%,60%{transform:scaleX(0)}66%,100%{transform:scaleX(1)}}
@keyframes kTruck{0%{transform:translateX(-72px)}72%{transform:translateX(150px)}80%,100%{transform:translateX(150px)}}
@keyframes kWheel{to{transform:rotate(360deg)}}
@keyframes kDash{to{stroke-dashoffset:-32}}
@keyframes kBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-1px)}}

.paso.run .pg1 .k-bout{animation:kBub 6s var(--ease) infinite;transform-box:fill-box;transform-origin:right bottom}
.paso.run .pg1 .tl1{animation:kType 6s var(--ease) infinite}
.paso.run .pg1 .tl2{animation:kType2 6s var(--ease) infinite}
.paso.run .pg1 .tl3{animation:kType3 6s var(--ease) infinite}
.paso.run .pg1 .cur{animation:kCursor 6s steps(1) infinite}
.paso.run .pg1 .k-send{animation:kSend 6s var(--ease) infinite;transform-box:fill-box;transform-origin:center}
.paso.run .pg1 .k-plane{animation:kPlaneBack 6s linear infinite}
.paso.run .pg1 .k-plane2{animation:kPlane2 6s cubic-bezier(.3,.7,.2,1) infinite}
.paso.run .pg1 .k-ticks{animation:kTicks 6s linear infinite}
.paso.run .pg2 .k-reply rect{animation:kReply 6s var(--ease) infinite}
.paso.run .pg2 .rl1{animation:kRl1 6s var(--ease) infinite}
.paso.run .pg2 .rl2{animation:kRl2 6s var(--ease) infinite}
.paso.run .pg2 .rl-chk{animation:kChk 6s var(--ease) infinite}
.paso.run .pg2 .rl-g{animation:kG 6s linear infinite}
.paso.run .pg2 .k-cal{animation:kCal 6s var(--ease) infinite}
.paso.run .pg2 .k-day{animation:kDay 6s var(--ease) infinite}
.paso.run .pg3 .k-truck{animation:kTruck 7s cubic-bezier(.3,0,.2,1) infinite}
.paso.run .pg3 .k-wheel{animation:kWheel .9s linear infinite}
.paso.run .pg3 .k-dash{animation:kDash 1.1s linear infinite}
.paso.run .pg3 .k-box,.paso.run .pg3 .k-cab{animation:kBob .5s ease-in-out infinite}
.pg1 .tl,.pg2 .rl{transform:scaleX(1)}
.pg2 .k-cal{transform-box:fill-box;transform-origin:center}

/* el acopio en cuatro estaciones (24-sep) */
.pasos.cuatro{grid-template-columns:repeat(4,minmax(0,1fr))}
.pasos.cuatro .paso{position:relative}
.pasos.cuatro .paso p{font-size:15.5px}
@media (min-width:1081px){
  .pasos.cuatro .paso:not(:last-child)::after{content:"";position:absolute;right:-17px;top:84px;width:9px;height:9px;border-top:2px solid var(--verde);border-right:2px solid var(--verde);transform:rotate(45deg)}
}
.granos-fila{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:-8px 0 24px}
/* V2: con "Acopio de granos" y "Granos en bolsa" el menu ya no entra en una linea bajo 1081 px (medido: 2-3 lineas
   dentro de una barra de 64 px). Entre 768 y 1080 px el menu va a la hamburguesa y el boton queda a la vista. */
@media (min-width:768px) and (max-width:1080px){
  .nav{display:none;position:absolute;left:0;right:0;top:64px;background:var(--papel);border-bottom:1px solid var(--filete);flex-direction:column;align-items:stretch;padding:8px 44px 16px;gap:2px;box-shadow:var(--s2)}
  .nav.open{display:flex}
  .nav a{padding:12px 8px;font-size:17px;border-bottom:1px solid var(--filete-2)}
  .burger{display:grid}
  .top .btn{margin-left:auto}
}
.horas .hz{background:var(--papel)}
.horas .hz span:last-child{color:var(--verde)}
.tons{display:flex;align-items:center;gap:12px}
.tons .inp{max-width:180px}
ul.chips{list-style:none;margin:0;padding:0}
.pg .k-caja{fill:var(--blanco);stroke:var(--tinta);stroke-width:1.5;stroke-linejoin:round}
.pg .k-pit{fill:var(--filete-2);stroke:var(--tinta);stroke-width:1.5;stroke-linejoin:round}
.pg .k-grate{fill:none;stroke:var(--tinta);stroke-width:3;stroke-dasharray:2 3}
.pg .k-pile{fill:var(--lima);stroke:var(--tinta);stroke-width:1;stroke-linejoin:round}
.pg .k-flow{fill:none;stroke:var(--lima-2);stroke-width:4;stroke-linecap:round;stroke-dasharray:0 8}
.pg .k-sucio{stroke:var(--gris-2);stroke-width:3}
.pg .k-fino,.pg .k-fino line{fill:none;stroke:var(--tinta);stroke-width:1.1}
.pg .k-piston{stroke:var(--tinta);stroke-width:2.5;stroke-linecap:round}
.pg .k-rueda{fill:var(--blanco);stroke:var(--tinta);stroke-width:1.5}
.pg .k-pata{stroke:var(--tinta);stroke-width:1.5}
.pg .k-zaranda line{stroke:var(--tinta);stroke-width:1.4;stroke-dasharray:5 2}
.pg .k-bica{fill:none;stroke:var(--tinta);stroke-width:1.4;stroke-linecap:round}
.pg .k-tacho{fill:var(--papel);stroke:var(--tinta);stroke-width:1.5}
.pg .k-tierra circle{fill:var(--gris-2)}
.pg .k-lbl{font:400 10px var(--mono);letter-spacing:.12em;fill:var(--gris);text-anchor:middle}
.pg .k-vap{fill:none;stroke:var(--gris-2);stroke-width:1.4;stroke-linecap:round;stroke-dasharray:3 3}
.pg .k-rejilla line{stroke:var(--borde);stroke-width:1.2}
.pg .k-baja{fill:none;stroke:var(--verde);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pg .k-vent{fill:var(--papel);stroke:var(--filete)}
/* la humedad y el nivel del silo son trazos gruesos que se llenan con stroke-dashoffset: solo repintan.
   Un transform sobre un elemento SVG cuesta un layout por cuadro en Chromium (22-sep); esto no. */
.pg .k-humf,.pg .k-lvl{fill:none;vector-effect:none;stroke-dasharray:100 100}
.pg .k-humf{stroke:var(--lima);stroke-width:12;stroke-dashoffset:50}
.pg .k-lvl{stroke:var(--lima);stroke-opacity:.55;stroke-width:26;stroke-dashoffset:30}
@keyframes kFlow{to{stroke-dashoffset:-16}}
@keyframes kMesh{to{stroke-dashoffset:-14}}
@keyframes kHum{0%,10%{stroke-dashoffset:0}75%,100%{stroke-dashoffset:62}}
@keyframes kVap{0%{opacity:0;stroke-dashoffset:0}25%{opacity:1}100%{opacity:0;stroke-dashoffset:-12}}
@keyframes kLvl{0%,6%{stroke-dashoffset:75}80%,100%{stroke-dashoffset:14}}
/* steps(): el valor cambia pocas veces por segundo y el SVG solo se repinta en cada salto (medido con _perf_cdp.py) */
.paso.run .pg .k-flow{animation:kFlow .8s steps(8) infinite}
.paso.run .pg-lim .k-zaranda line{animation:kMesh .6s steps(4) infinite}
.paso.run .pg-sec .k-humf{animation:kHum 6s steps(30) infinite}
.paso.run .pg-sec .k-vap{animation:kVap 2.4s steps(12) infinite}
.paso.run .pg-sec .k-vap2{animation-delay:.8s}
.paso.run .pg-sec .k-vap3{animation-delay:1.6s}
.paso.run .pg-alm .k-lvl{animation:kLvl 7s steps(35) infinite}

/* graficos en lugar de las fotos que no llegaron (25-sep) */
.ilus{background:var(--blanco);border:1px solid var(--filete)}
.sec.alt .ilus{background:var(--papel)}
.ilus .pg{width:100%;height:auto}
.pg-bolsas,.pg-camion{aspect-ratio:240/164}
.pg-estiba{aspect-ratio:4/3}
.pg .k-bolsa{fill:#E4EFC3;stroke:var(--tinta);stroke-width:1.5;stroke-linejoin:round}
.pg .k-bolsaf{fill:#E4EFC3}
.pg .k-bolsal{fill:none;stroke:var(--tinta);stroke-width:1.5;stroke-linejoin:round}
.pg .k-oreja{fill:none;stroke:var(--tinta);stroke-width:1.5;stroke-linecap:round}
.pg .k-cost{fill:none;stroke:var(--tinta);stroke-width:1;stroke-dasharray:3 2}
.pg .k-etiq{fill:var(--blanco);stroke:var(--tinta);stroke-width:1.2}
.pg .k-marca{font:700 6.5px var(--mono);letter-spacing:.04em;fill:var(--verde);text-anchor:middle}
.pg .k-marca2{font:700 10px var(--mono);letter-spacing:.12em;fill:var(--verde);text-anchor:middle}
.pg .k-tipo{font:400 5px var(--mono);letter-spacing:.06em;fill:var(--gris);text-anchor:middle}
.pg .k-kg{font:700 14px var(--mono);fill:var(--tinta);text-anchor:middle}
.pg .k-kg.m{font-size:11px}
.pg .k-kg.s{font-size:8px}
.pg .k-kg.e{font-size:10px}
.pg .k-mango{stroke:var(--tinta);stroke-width:3;stroke-linecap:round}
.pg .k-lejos rect,.pg .k-lejos path{fill:var(--blanco);stroke:var(--gris-2);stroke-width:1.2;stroke-linejoin:round}
.pg .k-lejos line{stroke:var(--gris-2);stroke-width:1.2}
.pg .k-asfalto{fill:var(--filete)}
.pg .k-banq{stroke:var(--borde);stroke-width:1}
.pg .k-dash2{vector-effect:none;stroke:var(--blanco);stroke-width:2.5;stroke-dasharray:12 10}
.pg .k-poste{stroke:var(--tinta);stroke-width:1.5}
.pg .k-escudo rect{fill:var(--blanco);stroke:var(--tinta);stroke-width:1.5}
.pg .k-escudo text{font:400 9px var(--mono);fill:var(--tinta);text-anchor:middle}
.pg .k-polvo{fill:none;stroke:var(--gris-2);stroke-width:1.2;stroke-dasharray:3 3}
.pg .k-chasis,.pg .k-hub,.pg .k-hueco circle{fill:var(--tinta)}
.pg .k-faro{fill:var(--lima);stroke:var(--tinta);stroke-width:1}
.pg .k-madera{fill:var(--papel);stroke:var(--tinta);stroke-width:1.2}
.pg .k-rotor{fill:none;stroke:var(--tinta);stroke-width:3;stroke-dasharray:4 4}
.pg .k-pellet{fill:none;stroke:var(--lima-2);stroke-width:4;stroke-linecap:round;stroke-dasharray:3 7}
.pg .k-lcd{fill:var(--tinta);stroke:var(--tinta);stroke-width:1.5}
.pg .k-lcdt{font:700 9px var(--mono);fill:var(--lima);text-anchor:middle}
.pg .k-llen{fill:none;vector-effect:none;stroke:var(--lima);stroke-opacity:.55;stroke-width:30;stroke-dasharray:100 100;stroke-dashoffset:40}
@keyframes kRuta{to{stroke-dashoffset:22}}
@keyframes kRotor{to{stroke-dashoffset:-8}}
@keyframes kPellet{to{stroke-dashoffset:-10}}
@keyframes kLlen{0%,6%{stroke-dashoffset:95}80%,100%{stroke-dashoffset:12}}
.anima.run .pg .k-flow{animation:kFlow .8s steps(8) infinite}
.anima.run .pg-camion .k-dash2{animation:kRuta .66s steps(11) infinite}
.anima.run .pg-camion .k-polvo{animation:kVap 1.8s steps(9) infinite}
.anima.run .pg-camion .p2{animation-delay:.6s}
.anima.run .pg-camion .p3{animation-delay:1.2s}
.paso.run .pg-mol .k-rotor{animation:kRotor .4s steps(4) infinite}
.paso.run .pg-pel .k-pellet{animation:kPellet .9s steps(9) infinite}
.paso.run .pg-emb .k-llen{animation:kLlen 6s steps(30) infinite}

/* migas de pan (25-sep): arriba de la portada de cada pagina interna, iguales al BreadcrumbList */
.migas{padding-top:16px}
.migas ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 8px;font:400 12px/1.5 var(--mono);color:var(--gris)}
.migas li+li::before{content:"\203A";margin-right:8px;color:var(--gris-2)}
.migas a{color:var(--gris);text-decoration:none;border-bottom:1px solid var(--filete)}
.migas a:hover{color:var(--verde);border-color:var(--verde)}
.migas [aria-current]{color:var(--tinta)}
.migas + .hero{padding-top:20px}
.migas + .sec{padding-top:28px}
@media (min-width:768px){ .migas{padding-top:22px} .migas + .hero{padding-top:36px} .migas + .sec{padding-top:40px} }

/* mapa v2: capas de OpenStreetMap */
.map-base{overflow:visible}
.agua path{fill:#D6E4E1;stroke:#B9CFCB;stroke-width:.8;fill-rule:evenodd}
.rios path{fill:none;stroke:#B9CFCB;stroke-linecap:round;stroke-linejoin:round}
.rios .riv0{stroke:#D6E4E1;stroke-width:9}
.rios .riv1{stroke:#B9CFCB;stroke-width:2.5}
.rios .riv2{stroke:#C8D9D6;stroke-width:1.2}
.lims path{fill:none;stroke:var(--gris-2);stroke-width:1;stroke-dasharray:5 4;opacity:.8}
.vial path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.vial .rd3{stroke:#E3E0D2;stroke-width:1}
.vial .rd2{stroke:#CFCAB5;stroke-width:1.6}
.vial .rd1{stroke:#A8A390;stroke-width:3}
.lbl-rio2{fill:#7E9793;font:italic 400 11px var(--sans);paint-order:stroke;stroke:var(--blanco);stroke-width:3px}
.lbl-dep{fill:var(--gris-2);font:400 11px var(--mono);letter-spacing:.3em}
.refc circle{fill:var(--blanco);stroke:var(--gris-2);stroke-width:1.5}
.refc text{font:400 11px var(--sans);fill:var(--gris);paint-order:stroke;stroke:var(--blanco);stroke-width:3px}
.refc.city text{font-weight:600;font-size:12px}
.town.big text:not(.km){font-weight:700;font-size:17px}
.town .km{font:400 10.5px var(--mono);fill:var(--gris);letter-spacing:.02em}
.town.on .km{fill:var(--verde)}
.plant .sub{font:400 10px var(--mono);fill:var(--gris);letter-spacing:.04em;stroke-width:4px}
.legend rect{fill:rgba(255,255,255,.92);stroke:var(--filete)}
.legend text{font:400 11px var(--sans);fill:var(--tinta)}
.legend .l-plant{fill:var(--lima);stroke:var(--tinta);stroke-width:2.5}
.legend .l-dot{fill:var(--blanco);stroke:var(--tinta);stroke-width:2.5}
.legend .l-ref{fill:var(--blanco);stroke:var(--gris-2);stroke-width:1.5}
.legend .l-rd1{stroke:#A8A390;stroke-width:3;stroke-linecap:round}
.legend .l-rd2{stroke:#CFCAB5;stroke-width:1.6;stroke-linecap:round}
@media (max-width:767px){
  .town .km{display:none} .town.on .km{display:block;font-size:14px}
  .refc text{display:none}
  .legend{display:none}
  .lbl-rio2{font-size:14px}
}

@media (max-width:1080px){ .cards{grid-template-columns:repeat(3,minmax(0,1fr))} .res-grid{grid-template-columns:repeat(2,minmax(0,1fr))} .pasos.cuatro{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:767px){
  .pasos.cuatro{grid-template-columns:1fr;gap:10px}
  .pasos.cuatro .paso{display:grid;grid-template-columns:42% minmax(0,1fr);gap:2px 14px;align-items:start;padding:12px}
  .pasos.cuatro .paso .pg{grid-column:1;grid-row:1/4;margin:0;align-self:center}
  .pasos.cuatro .paso .num{grid-column:2;grid-row:1;margin:4px 0 0}
  .pasos.cuatro .paso h3{grid-column:2;grid-row:2;margin:0;font-size:18px}
  .pasos.cuatro .paso p{grid-column:2;grid-row:3;font-size:14.5px}
  .pg .k-lbl{display:none}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .pc{padding:12px;gap:4px} .pc h3{font-size:17px} .pc p{font-size:13px}
  .pc-f{flex-direction:column;align-items:stretch;gap:8px;padding-top:10px} .pc .btn{width:100%}
  .cat-h{flex-direction:column;align-items:flex-start;gap:4px} .cat-h span{text-align:left}
  .res-head{grid-template-columns:1fr;gap:12px} .res-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .paso .pg *,.anima .pg *{animation:none!important}
  .pg .k-plane2,.pg .cur{opacity:0!important}
}
