/* Proctec · estilos del sitio. Basado en el prototipo aprobado. */

/* Layout: sticky header + view router; catálogo = rail de categorías + grilla; cada categoría lleva su color de catálogo impreso como franja/tinte. */
:root{
  /* Colores del logo Proctec (N-01): negro del logotipo, dorado de la barra, azul de la ilustración */
  --bg:#F5F7FA; --surface:#FFFFFF; --sunk:#EDF1F6; --line:#DCE3EB;
  --ink:#141414; --muted:#5B6676; --navy:#141414; --blue:#1D5AA6; --blue-ink:#174A8B; --gold:#E5A82E; --gold-ink:#94650C;
  --mint:#E5A82E; --mint-ink:#1D5AA6;
  --btn-bg:#1D5AA6; --btn-fg:#FFFFFF; --btn2-bg:#E8F0FA; --btn2-fg:#174A8B;
  --hero-bg:#0F1E33; --hero-fg:#F4F7FB; --hero-muted:#C3CEDD; --foot-bg:#141414; --foot-fg:#F2F2F2; --foot-muted:#A9A9A9;
  --danger:#B3261E; --plus:#E5A82E; --qc-bg:#E5A82E; --qc-fg:#141414; --shadow:0 1px 2px rgba(20,20,20,.06),0 8px 24px rgba(20,32,51,.08);
  --f-display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;
  --f-body:"Hanken Grotesk","Segoe UI",system-ui,-apple-system,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Consolas,monospace;
  --r:10px; --wrap:1240px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
h1,h2,h3{font-family:var(--f-display);line-height:1.08;letter-spacing:-.015em;text-wrap:balance;margin:0}
h1{font-size:clamp(2.1rem,4.6vw,3.6rem);font-weight:750}
h2{font-size:clamp(1.6rem,2.8vw,2.3rem);font-weight:650}
h3{font-size:1.12rem;font-weight:650;letter-spacing:-.005em}
p{margin:0}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:6px}
.eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mint-ink)}
.code{font-family:var(--f-mono);font-size:.78rem;font-weight:500;letter-spacing:.01em}
.muted{color:var(--muted)}

/* aviso de sitio en desarrollo */
.review{background:var(--sunk);border-bottom:1px solid var(--line);font-size:.82rem;color:var(--muted)}
.review .wrap{display:flex;gap:10px;align-items:center;padding-block:7px;flex-wrap:wrap}
.review b{color:var(--ink);font-weight:600}
.dot{width:8px;height:8px;border-radius:50%;background:#E3A21A;flex:none}
.review .wrap{flex-wrap:nowrap;align-items:baseline}

/* header */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:color-mix(in oklab,var(--surface) 92%,transparent);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;gap:20px;height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.brand-mark{width:34px;height:34px;border-radius:9px;background:var(--btn-bg);display:grid;place-items:center}
.brand-mark svg{width:20px;height:20px}
.brand-txt{display:flex;flex-direction:column;line-height:1}
.brand-txt b{font-family:var(--f-display);font-weight:750;font-size:1.28rem;letter-spacing:.02em}
.brand-txt small{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:3px}
nav.main{display:flex;gap:4px;margin-left:8px}
nav.main a{text-decoration:none;font-weight:600;font-size:.94rem;padding:8px 12px;border-radius:8px;color:var(--muted)}
nav.main a:hover{color:var(--ink);background:var(--sunk)}
nav.main a[aria-current="page"]{color:var(--ink);background:var(--sunk)}
.hsearch{flex:1;max-width:340px;margin-left:auto;position:relative}
.hsearch input{width:100%;height:40px;border-radius:999px;border:1px solid var(--line);background:var(--bg);padding:0 14px 0 38px;font:inherit;font-size:.92rem;color:var(--ink)}
.hsearch svg{position:absolute;left:13px;top:11px;width:18px;height:18px;color:var(--muted)}
.qbtn{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px 0 12px;border-radius:999px;border:0;background:var(--btn-bg);color:var(--btn-fg);font-weight:650;font-size:.92rem;flex:none}
.qbtn svg{width:18px;height:18px}
.qcount{min-width:22px;height:22px;border-radius:999px;background:var(--qc-bg);color:var(--qc-fg);font-size:.78rem;font-weight:700;display:grid;place-items:center;padding:0 6px}
.qcount.bump{animation:bump .4s ease}
@keyframes bump{40%{transform:scale(1.35)}}
.menu-btn{display:none;border:1px solid var(--line);background:var(--surface);width:40px;height:40px;border-radius:10px;place-items:center}
@media (max-width:960px){nav.main{display:none}.menu-btn{display:grid}.hsearch{display:none}
  nav.main.open{display:flex;position:absolute;left:0;right:0;top:68px;flex-direction:column;background:var(--surface);border-bottom:1px solid var(--line);padding:10px 16px 16px;margin:0}}
@media (max-width:480px){.qbtn .ql{display:none}.brand-txt small{display:none}}
.msearch{display:none;padding-block:10px;border-bottom:1px solid var(--line);background:var(--surface)}
@media (max-width:960px){.msearch{display:block}.msearch .hsearch{display:block;max-width:none;margin:0}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 20px;border-radius:999px;border:0;font-weight:650;text-decoration:none;font-size:.97rem;transition:transform .15s ease,filter .15s}
.btn:hover{filter:brightness(1.06)}
.btn:active{transform:translateY(1px)}
.btn svg{width:18px;height:18px}
.btn-p{background:var(--btn-bg);color:var(--btn-fg)}
.btn-m{background:var(--mint);color:#0C1C33}
.btn-s{background:var(--btn2-bg);color:var(--btn2-fg)}
.btn-o{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.btn-sm{height:38px;padding:0 14px;font-size:.88rem}

main{min-height:60vh}
section{padding-block:clamp(48px,7vw,88px)}

/* HERO */
.hero{background:var(--hero-bg);color:var(--hero-fg);padding-block:clamp(40px,6vw,72px);overflow:hidden;position:relative}
.hero::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent 0 13px,rgba(255,255,255,.035) 13px 14px);pointer-events:none}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,64px);align-items:center;position:relative}
.hero .eyebrow{color:var(--mint)}
.hero h1{margin-top:14px}
.hero h1 em{font-style:normal;color:var(--mint)}
.hero p.lead{color:var(--hero-muted);font-size:1.12rem;max-width:34em;margin-top:18px}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero .btn-o{color:var(--hero-fg);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.28)}
.facts{display:flex;gap:28px;flex-wrap:wrap;margin-top:36px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}
.facts div{display:flex;flex-direction:column}
.facts b{font-family:var(--f-display);font-size:1.6rem;font-weight:650;color:#fff;font-variant-numeric:tabular-nums}
.facts span{font-size:.82rem;color:var(--hero-muted)}
.mosaic{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tile{position:relative;background:#fff;border-radius:14px;overflow:hidden;aspect-ratio:1;max-width:100%;text-decoration:none;color:#13233F}
.tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.tile:hover img{transform:scale(1.04)}
.tile .tag{position:absolute;left:10px;bottom:10px;background:rgba(255,255,255,.94);border-radius:6px;padding:5px 8px;display:flex;gap:8px;align-items:center;font-size:.78rem;font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.tile .tag .code{color:#174A8B}
.mosaic .tile:nth-child(2){transform:translateY(22px)}
.mosaic .tile:nth-child(4){transform:translateY(22px)}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}.mosaic .tile:nth-child(2),.mosaic .tile:nth-child(4){transform:none}}

/* section heads */
.shead{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.shead p{color:var(--muted);max-width:36em;margin-top:8px}

/* category grid */
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.ccard{--c:#888;display:flex;flex-direction:column;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .2s ease,box-shadow .2s}
.ccard:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.ccard .cimg{aspect-ratio:4/3;background:#fff;position:relative;overflow:hidden}
.ccard .cimg img{width:100%;height:100%;object-fit:contain;padding:10px}
.ccard .cimg::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--c)}
.ccard .cbody{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.ccard .cnum{display:flex;justify-content:space-between;font-size:.76rem;color:var(--muted);font-weight:600}
.ccard .cnum i{font-style:normal;width:10px;height:10px;border-radius:3px;background:var(--c);display:inline-block;margin-right:6px;vertical-align:-1px}
.ccard h3{font-size:1.02rem}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}
.step{padding:26px 24px;display:flex;flex-direction:column;gap:10px;border-right:1px solid var(--line)}
.step:last-child{border-right:0}
.step .n{font-family:var(--f-mono);font-size:.8rem;color:var(--mint-ink);font-weight:500}
.step p{color:var(--muted);font-size:.95rem}
@media (max-width:760px){.steps{grid-template-columns:1fr}.step{border-right:0;border-bottom:1px solid var(--line)}.step:last-child{border-bottom:0}}

/* fab block */
.fab{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px);align-items:center}
.fab .quote{font-family:var(--f-display);font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:650;line-height:1.2;border-left:4px solid var(--mint);padding-left:18px;margin-top:22px;text-wrap:balance}
.fab p{color:var(--muted);margin-top:14px;max-width:36em}
.swatch{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;display:grid;gap:14px}
.swatch .row{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding-bottom:14px;border-bottom:1px dashed var(--line)}
.swatch .row:last-child{border-bottom:0;padding-bottom:0}
.swatch .k{font-family:var(--f-mono);font-size:.82rem;background:var(--sunk);border-radius:6px;padding:6px 8px;white-space:nowrap}
.swatch .v{font-size:.94rem}
.swatch .v small{display:block;color:var(--muted);font-size:.82rem}
@media (max-width:820px){.fab{grid-template-columns:1fr}}

/* nateen band */
.nband{background:color-mix(in oklab,#36A158 12%,var(--surface));border-block:1px solid color-mix(in oklab,#36A158 25%,var(--line))}
.nband .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,5vw,56px);align-items:center}
.nstats{display:flex;gap:28px;flex-wrap:wrap;margin-top:22px}
.nstats b{font-family:var(--f-display);font-size:2rem;font-weight:750;display:block;color:#1F7A3E}
.nstats span{font-size:.85rem;color:var(--muted)}
.voices{display:grid;gap:10px}
.voice{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:.95rem}
.voice::before{content:"“";font-family:var(--f-display);font-size:1.6rem;line-height:0;vertical-align:-.35em;color:#36A158;margin-right:4px}
@media (max-width:820px){.nband .wrap{grid-template-columns:1fr}}

/* CATALOG */
.cat-hero{--c:#888;background:var(--surface);border-bottom:1px solid var(--line);padding-block:28px 24px;position:relative}
.cat-hero::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--c)}
.crumbs{font-size:.84rem;color:var(--muted);display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.cat-hero p{color:var(--muted);max-width:52em;margin-top:10px}
.catlayout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:32px;padding-block:28px 72px;align-items:start}
.rail{position:sticky;top:calc(env(safe-area-inset-top,0px) + 84px);display:flex;flex-direction:column;gap:2px}
.rail .rl{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 10px 8px}
.rail a{--c:#888;display:flex;align-items:center;gap:10px;text-decoration:none;padding:8px 10px;border-radius:8px;font-size:.92rem;color:var(--muted);font-weight:500}
.rail a i{width:10px;height:10px;border-radius:3px;background:var(--c);flex:none}
.rail a span{flex:1;min-width:0}
.rail a em{font-style:normal;font-size:.78rem;font-variant-numeric:tabular-nums}
.rail a:hover{background:var(--sunk);color:var(--ink)}
.rail a[aria-current="true"]{background:color-mix(in oklab,var(--c) 14%,var(--surface));color:var(--ink);font-weight:650}
.chips{display:none;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:14px;scrollbar-width:thin}
.chips a{--c:#888;flex:none;text-decoration:none;font-size:.85rem;font-weight:600;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);display:flex;gap:7px;align-items:center;color:var(--muted)}
.chips a i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.chips a[aria-current="true"]{color:var(--ink);border-color:var(--c);background:color-mix(in oklab,var(--c) 12%,var(--surface))}
@media (max-width:900px){.catlayout{grid-template-columns:1fr;gap:0}.rail{display:none}.chips{display:flex}}
.toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:18px}
.toolbar .count{font-size:.9rem;color:var(--muted)}
.fsearch{position:relative;flex:1;max-width:360px;min-width:200px}
.fsearch input{width:100%;height:42px;border-radius:10px;border:1px solid var(--line);background:var(--surface);padding:0 14px 0 38px;font:inherit;font-size:.94rem;color:var(--ink)}
.fsearch svg{position:absolute;left:12px;top:12px;width:18px;height:18px;color:var(--muted)}
.toggle{display:flex;gap:6px;align-items:center;font-size:.88rem;color:var(--muted)}
.toggle input{accent-color:var(--mint-ink);width:16px;height:16px}
.gtitle{font-family:var(--f-display);font-weight:650;font-size:1.05rem;margin:26px 0 12px;display:flex;align-items:center;gap:10px}
.gtitle::after{content:"";flex:1;height:1px;background:var(--line)}
.gtitle:first-child{margin-top:0}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
@media (max-width:520px){.pgrid{grid-template-columns:1fr 1fr;gap:10px}.pcard .pb{padding:10px}.pcard .act{padding:0 10px 10px}.pcard h3{font-size:.93rem}.cgrid{grid-template-columns:1fr 1fr}}
.pcard{--c:#888;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s,transform .2s}
.pcard:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.pcard .pimg{display:block;aspect-ratio:1;background:#fff;position:relative;border-bottom:1px solid var(--line);max-width:100%}
.pcard .pimg img{width:100%;height:100%;object-fit:contain;padding:12px}
.badge{position:absolute;top:10px;left:10px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:5px;background:#E5A82E;color:#141414}
.pcard .pb{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1}
.pcard .codes{display:flex;gap:6px;align-items:center;color:var(--muted)}
.pcard .codes i{width:8px;height:8px;border-radius:2px;background:var(--c)}
.pcard h3{font-size:1rem;line-height:1.2}
.pcard h3 a{text-decoration:none}
.pcard h3 a:hover{text-decoration:underline}
.pcard .sub{font-size:.86rem;color:var(--muted)}
.pcard .meta{font-size:.82rem;color:var(--muted);margin-top:auto;padding-top:6px}
.pcard .act{display:flex;gap:8px;padding:0 14px 14px}
.pcard .act .btn{flex:1;height:38px;font-size:.86rem;padding:0 10px}
.ph{width:100%;height:100%;display:grid;place-items:center;align-content:center;gap:6px;background:color-mix(in oklab,var(--c) 9%,#fff);color:#13233F;text-align:center;padding:12px}
.ph .code{font-size:1.05rem;color:color-mix(in oklab,var(--c) 70%,#13233F)}
.ph small{font-size:.72rem;color:#5d6b7e;letter-spacing:.04em}
.ph svg{width:34px;height:34px;color:color-mix(in oklab,var(--c) 60%,#13233F);opacity:.8}
.empty{padding:48px 20px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px}

/* PRODUCT */
.pd{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);padding-block:20px 72px;align-items:start}
.gallery{position:sticky;top:calc(env(safe-area-inset-top,0px) + 84px)}
.gmain{background:#fff;border:1px solid var(--line);border-radius:14px;aspect-ratio:1;overflow:hidden;max-width:100%;--c:#888}
.gmain img{width:100%;height:100%;object-fit:contain;padding:20px}
.thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.thumbs button{width:68px;height:68px;border-radius:10px;border:1.5px solid var(--line);background:#fff;padding:4px;overflow:hidden}
.thumbs button[aria-pressed="true"]{border-color:var(--mint-ink)}
.thumbs img{width:100%;height:100%;object-fit:contain}
.pinfo{--c:#888;display:flex;flex-direction:column;gap:18px;min-width:0}
.pcat{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;font-weight:600;color:var(--muted);text-decoration:none}
.pcat i{width:10px;height:10px;border-radius:3px;background:var(--c)}
.pinfo h1{font-size:clamp(1.8rem,3.4vw,2.6rem)}
.pinfo .psub{font-size:1.08rem;color:var(--muted);margin-top:6px}
.specs{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.specs li{padding:10px 0;border-bottom:1px solid var(--line);display:flex;gap:10px;font-size:.96rem}
.specs li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--c);margin-top:.6em;flex:none}
.note{background:var(--sunk);border-radius:10px;padding:12px 14px;font-size:.92rem;color:var(--muted)}
.pending{background:color-mix(in oklab,#E3A21A 14%,var(--surface));border:1px solid color-mix(in oklab,#E3A21A 40%,var(--line));border-radius:10px;padding:10px 14px;font-size:.88rem}
.vtable{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.vhead,.vrow{display:grid;grid-template-columns:minmax(96px,auto) minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 14px}
.vhead{background:var(--sunk);font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.vrow{border-top:1px solid var(--line);font-size:.94rem}
.vrow .code{font-size:.82rem;color:var(--mint-ink);white-space:nowrap}
.vrow.on{background:color-mix(in oklab,var(--mint) 12%,var(--surface))}
.stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--surface)}
.stepper button{width:34px;height:34px;border:0;background:transparent;font-size:1.1rem;font-weight:600;color:var(--ink)}
.stepper button:hover{background:var(--sunk)}
.stepper input{width:44px;height:34px;border:0;text-align:center;font:inherit;font-variant-numeric:tabular-nums;background:transparent;color:var(--ink);-moz-appearance:textfield}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none}
.pactions{display:flex;gap:10px;flex-wrap:wrap}
.pactions .btn{flex:1;min-width:200px}
.hint{font-size:.84rem;color:var(--muted)}
@media (max-width:860px){.pd{grid-template-columns:1fr}.gallery{position:static}}
@media (max-width:480px){.vhead,.vrow{grid-template-columns:1fr auto;}.vhead span:nth-child(2){display:none}.vrow .vl{grid-column:1/2;grid-row:2;font-size:.88rem;color:var(--muted)}.vrow .stepper{grid-row:1/3;grid-column:2}}

/* about */
.about{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:start}
.prose p{margin-top:14px;max-width:62ch;color:var(--ink)}
.prose p:first-of-type{font-size:1.15rem}
.timeline{list-style:none;margin:0;padding:0;border-left:2px solid var(--line);display:grid;gap:22px}
.timeline li{padding-left:20px;position:relative}
.timeline li::before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--surface);border:2px solid var(--mint-ink)}
.timeline b{font-family:var(--f-mono);font-size:.86rem;color:var(--mint-ink);display:block}
@media (max-width:820px){.about{grid-template-columns:1fr}}

/* contact */
.cgrid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(24px,4vw,48px);align-items:start}
.cinfo{display:grid;gap:14px}
.ci{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:grid;gap:4px}
.ci .k{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ci .v{font-size:1.02rem;font-weight:600;user-select:all}
.ci .v.plain{user-select:text;font-weight:500}
@media (max-width:860px){.cgrid2{grid-template-columns:1fr}}

/* forms */
.form{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:clamp(18px,3vw,28px);display:grid;gap:14px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.frow{grid-template-columns:1fr}}
.field{display:grid;gap:6px;min-width:0}
.field label{font-size:.86rem;font-weight:600}
.field label .opt{font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:11px 12px;font:inherit;font-size:.96rem;color:var(--ink)}
.field textarea{min-height:96px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--mint);outline-offset:0;border-color:transparent}
.field .err{font-size:.8rem;color:var(--danger);display:none}
.field.bad input,.field.bad select{border-color:var(--danger)}
.field.bad .err{display:block}
.seg{display:flex;gap:8px;flex-wrap:wrap}
.seg label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-weight:500;font-size:.9rem;cursor:pointer;background:var(--bg)}
.seg input{accent-color:var(--mint-ink)}
.seg label:has(input:checked){border-color:var(--mint-ink);background:color-mix(in oklab,var(--mint) 14%,var(--surface))}

/* drawer */
.scrim{position:fixed;inset:0;background:rgba(8,16,30,.45);z-index:60;opacity:0;pointer-events:none;transition:opacity .25s}
.scrim.on{opacity:1;pointer-events:auto}
aside.drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,100%);background:var(--surface);z-index:61;transform:translateX(102%);transition:transform .3s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:-10px 0 40px rgba(0,0,0,.15)}
aside.drawer.on{transform:none}
.dh{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}
.dh h2{font-size:1.3rem}
.x{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center}
.x svg{width:18px;height:18px}
.dbody{flex:1;overflow:auto;padding:8px 20px}
.qi{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.qi .th{width:56px;height:56px;border-radius:8px;background:#fff;border:1px solid var(--line);overflow:hidden;--c:#888}
.qi .th img{width:100%;height:100%;object-fit:contain}
.qi .th .ph svg{display:none}
.qi .th .ph .code{font-size:.62rem}
.qi .th .ph small{display:none}
.qi b{font-size:.93rem;font-weight:600;display:block;line-height:1.25}
.qi .ql2{font-size:.82rem;color:var(--muted)}
.qi .ql2 .code{color:var(--mint-ink)}
.qi .rm{border:0;background:transparent;color:var(--muted);font-size:.8rem;text-decoration:underline;padding:4px 0}
.qi .right{display:flex;flex-direction:column;align-items:end;gap:4px}
.df{border-top:1px solid var(--line);padding:16px 20px;display:grid;gap:10px}
.df .tot{display:flex;justify-content:space-between;font-size:.9rem;color:var(--muted)}
.dempty{padding:48px 10px;text-align:center;color:var(--muted);display:grid;gap:14px;justify-items:center}
.dempty svg{width:44px;height:44px;opacity:.5}

/* modal ficha */
.modal{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:16px;background:rgba(8,16,30,.55)}
.sheet{background:#fff;color:#13233F;width:min(760px,100%);max-height:calc(100% - 16px);overflow:auto;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.sheet .bar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;background:#EEF2F6;border-bottom:1px solid #D8E0E7;position:sticky;top:0}
.sheet .bar span{font-size:.84rem;color:#56667C}
.sheet .bar .x{background:#fff;border-color:#D8E0E7;color:#13233F}
.paper{padding:28px 32px 32px;--c:#888}
.paper .ph1{display:flex;justify-content:space-between;align-items:start;gap:16px;border-bottom:3px solid var(--c);padding-bottom:14px}
.paper .ph1 .bt b{font-family:var(--f-display);font-size:1.3rem;letter-spacing:.03em}
.paper .ph1 .bt small{display:block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#56667C}
.paper .ph1 .dt{text-align:right;font-size:.78rem;color:#56667C}
.paper h2{font-size:1.6rem;margin-top:18px;color:#13233F}
.paper .pg{display:grid;grid-template-columns:200px minmax(0,1fr);gap:22px;margin-top:16px}
.paper .pg .im{border:1px solid #D8E0E7;border-radius:8px;aspect-ratio:1;overflow:hidden;max-width:100%}
.paper .pg .im img{width:100%;height:100%;object-fit:contain;padding:8px}
.paper table{width:100%;border-collapse:collapse;font-size:.88rem;margin-top:14px}
.paper th,.paper td{text-align:left;padding:7px 8px;border-bottom:1px solid #E1E7ED;vertical-align:top}
.paper th{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#56667C;background:#F3F6F8}
.paper td.code{color:#174A8B;white-space:nowrap}
.paper ul{margin:8px 0 0;padding-left:18px;font-size:.9rem}
.paper .pf{margin-top:22px;padding-top:12px;border-top:1px solid #D8E0E7;font-size:.76rem;color:#56667C;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
@media (max-width:600px){.paper{padding:20px}.paper .pg{grid-template-columns:1fr}.paper .pg .im{max-width:220px}}

/* toast */
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%,30px);background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:999px;font-size:.92rem;font-weight:600;z-index:80;opacity:0;transition:all .25s;pointer-events:none;max-width:calc(100% - 32px);text-align:center}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* footer */
footer.site{background:var(--hero-bg);color:var(--hero-muted);padding-block:48px 28px;font-size:.92rem}
footer .fg{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
footer h4{color:var(--hero-fg);font-family:var(--f-display);font-size:1rem;margin:0 0 12px;font-weight:650}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
footer a{text-decoration:none}
footer a:hover{color:var(--hero-fg);text-decoration:underline}
footer .brand-txt b{color:#fff}
footer .brand-txt small{color:var(--hero-muted)}
footer .legal{margin-top:36px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.82rem}
@media (max-width:820px){footer .fg{grid-template-columns:1fr 1fr}}
@media (max-width:480px){footer .fg{grid-template-columns:1fr}}

.done{display:grid;gap:14px;justify-items:start}
.done .ok{width:52px;height:52px;border-radius:50%;background:var(--btn2-bg);color:var(--btn2-fg);display:grid;place-items:center}
.done .ok svg{width:28px;height:28px}
.summary{width:100%;font-family:var(--f-mono);font-size:.8rem;background:var(--sunk);border-radius:10px;padding:14px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto}
.qlayout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(20px,4vw,40px);align-items:start;padding-block:28px 72px}
.qside{position:sticky;top:calc(env(safe-area-inset-top,0px) + 84px);background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.qside h3{margin-bottom:6px}
@media (max-width:900px){.qlayout{grid-template-columns:1fr}.qside{position:static;order:-1}}

/* ---------- WordPress ---------- */
:root{color-scheme:light}
body{margin:0}
img{max-width:100%;height:auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{position:fixed;top:8px;left:8px;z-index:100;background:var(--surface);padding:10px 14px;border-radius:8px;clip:auto;width:auto;height:auto}
nav.main ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}
nav.main li{margin:0}
nav.main .current-menu-item>a,nav.main .current_page_item>a,nav.main .current-menu-ancestor>a{color:var(--ink);background:var(--sunk)}
@media (max-width:960px){nav.main.open ul{flex-direction:column}}
.brand .custom-logo{height:44px;width:auto;display:block}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.flabel{font-size:.86rem;font-weight:600}
.form-error{color:var(--danger);font-weight:600;font-size:.92rem}
.qtxt{min-width:0}
.qtot{margin:6px 0 2px}
.qi .th{display:grid;place-items:center}
.qi .th .code{font-size:.6rem;text-align:center;color:var(--muted)}
.done .ok{font-size:1.5rem;font-weight:700}
.page-hero{--c:var(--mint)}
.entry{padding-block:40px 72px}
.entry .prose{max-width:68ch}
.entry .prose p{margin-top:14px}
.entry .prose p:first-child{margin-top:0;font-size:1.15rem}
.entry .prose h2,.entry .prose h3{margin-top:28px}
.pinfo .woocommerce-product-details__short-description ul,.pinfo .shortdesc ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.pinfo .shortdesc li{padding:10px 0;border-bottom:1px solid var(--line);display:flex;gap:10px;font-size:.96rem}
.pinfo .shortdesc li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--c);margin-top:.6em;flex:none}
.pinfo .shortdesc p{margin-top:12px;background:var(--sunk);border-radius:10px;padding:12px 14px;font-size:.92rem;color:var(--muted)}
.pinfo .longdesc{color:var(--muted)}
.pinfo .longdesc p+p{margin-top:10px}
.nofile{font-size:.88rem;color:var(--muted);align-self:center}
.woocommerce-notices-wrapper:empty{display:none}
.drawer .dempty b{color:var(--ink)}
.dempty p{margin-top:6px}
.search-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
@media (min-width:961px){header.site .hsearch{min-width:230px}}
[data-pq-form]{scroll-margin-top:100px}

/* ================= v0.2 · identidad Proctec ================= */
header.site .wrap{height:80px;gap:18px}
.brand .custom-logo{height:58px;width:auto;display:block}
@media (max-width:960px){header.site .wrap{height:68px}.brand .custom-logo{height:46px}nav.main.open{top:68px}}
@media (max-width:420px){.brand .custom-logo{height:40px}}
nav.main a{color:#3F4A59}
.btn-ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
.btn-ghost:hover{background:rgba(255,255,255,.08)}
.btn-gold{background:var(--gold);color:#141414}
.btn-p:hover{background:var(--blue-ink);filter:none}
.eyebrow{color:var(--gold-ink)}
.qbtn{background:var(--ink)}
.page-hero,.cat-hero.page-hero{--c:var(--gold)}

/* menú desplegable de líneas (A-04) */
nav.main li.has-mega{position:relative;display:flex;align-items:center}
.mega-toggle{display:none;border:0;background:transparent;width:28px;height:28px;border-radius:6px;color:var(--muted)}
.mega-toggle svg{width:16px;height:16px}
.mega{position:absolute;top:100%;left:-12px;width:min(560px,90vw);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px rgba(20,32,51,.16);padding:12px;z-index:50;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s,transform .15s,visibility .15s}
nav.main li.has-mega:hover>.mega,nav.main li.has-mega:focus-within>.mega{opacity:1;visibility:visible;transform:none}
.mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 8px}
.mega-grid a{--c:#888;display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;font-size:.92rem;font-weight:600;color:var(--ink);text-decoration:none}
.mega-grid a:hover{background:var(--sunk)}
.mega-grid a i{width:10px;height:10px;border-radius:3px;background:var(--c);flex:none}
.mega-grid a span{flex:1;min-width:0}
.mega-grid a b{color:var(--muted);font-weight:600}
.mega-grid a em{font-style:normal;font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums}
.mega-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:8px;padding:10px 10px 2px;font-size:.9rem}
.mega-foot a{font-weight:700;color:var(--blue);text-decoration:none;display:inline-flex;gap:6px;align-items:center}
.mega-foot a svg{width:16px;height:16px}
@media (max-width:960px){
  nav.main li.has-mega{flex-wrap:wrap}
  .mega-toggle{display:grid;place-items:center;margin-left:auto}
  .mega{position:static;width:100%;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:4px 0 8px;display:none}
  nav.main li.has-mega.open>.mega{display:block}
  nav.main li.has-mega:hover>.mega{display:none}
  nav.main li.has-mega.open:hover>.mega{display:block}
  .mega-grid{grid-template-columns:1fr}
}

/* búsqueda instantánea (A-03) */
.hsearch .suggest{position:absolute;top:calc(100% + 6px);left:0;right:0;min-width:320px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px rgba(20,32,51,.18);overflow:hidden;z-index:60}
.suggest a{display:flex;gap:10px;align-items:center;padding:9px 12px;text-decoration:none;color:var(--ink);border-top:1px solid var(--sunk)}
.suggest a:first-child{border-top:0}
.suggest a[aria-selected="true"],.suggest a:hover{background:var(--sunk)}
.suggest .sth{width:40px;height:40px;border-radius:7px;background:#fff;border:1px solid var(--line);flex:none;overflow:hidden;display:grid;place-items:center}
.suggest .sth img{width:100%;height:100%;object-fit:contain}
.suggest b{display:block;font-size:.92rem;font-weight:600;line-height:1.25}
.suggest .code{color:var(--blue);font-size:.76rem}
.suggest mark{background:#FCEFD3;color:inherit;border-radius:3px;padding:0 1px}
.suggest .sall{display:block;padding:10px 12px;background:var(--bg);font-weight:700;font-size:.86rem;color:var(--blue)}
.suggest .snone{padding:12px;font-size:.88rem;color:var(--muted)}
@media (max-width:960px){.hsearch .suggest{min-width:0}}

/* portada con foto (N-02) */
.hero2{position:relative;overflow:hidden;color:#fff;background:linear-gradient(115deg,#0E1B2E 0%,#13325E 55%,#1D5AA6 100%);min-height:min(78vh,620px);display:flex;align-items:center}
.hero2-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero2.has-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,16,28,.86) 0%,rgba(10,16,28,.62) 45%,rgba(10,16,28,.22) 100%)}
.hero2-in{position:relative;z-index:1;padding-block:clamp(48px,8vw,96px);width:100%}
.hero2 .eyebrow{color:var(--gold);letter-spacing:.22em}
.hero2 h1{margin-top:14px;max-width:16ch;font-size:clamp(2.2rem,5vw,3.9rem)}
.hero2 h1 em{font-style:normal;color:var(--gold)}
.hero2 .lead{color:#D5DDE8;font-size:1.14rem;max-width:36em;margin-top:18px}
.hero2 .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero2 .facts{display:flex;gap:28px;flex-wrap:wrap;margin-top:40px;padding-top:22px;border-top:1px solid rgba(255,255,255,.18);max-width:620px}
.hero2 .facts b{font-family:var(--f-display);font-size:1.7rem;font-weight:650;color:#fff;display:block}
.hero2 .facts span{font-size:.82rem;color:#C3CEDD}
.hero2-tiles{position:absolute;right:max(16px,calc((100vw - var(--wrap))/2 + 16px));top:50%;transform:translateY(-50%);display:grid;grid-template-columns:repeat(3,minmax(0,150px));gap:12px;opacity:.95}
.hero2-tiles span{aspect-ratio:1;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.hero2-tiles span:nth-child(3n+2){transform:translateY(22px)}
.hero2-tiles img{width:100%;height:100%;object-fit:contain;padding:10px}
@media (max-width:1080px){.hero2-tiles{grid-template-columns:repeat(3,minmax(0,110px))}}
@media (max-width:860px){.hero2{min-height:0}.hero2-tiles{display:none}}

/* grilla de líneas (N-03), según referencia */
.cats-sec{padding-block:clamp(44px,6vw,72px)}
.shead.center{justify-content:center;text-align:center}
.shead.center p{margin-inline:auto}
.center-cta{text-align:center;margin-top:24px}
.lgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.lcard{--c:#888;background:var(--surface);border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;align-items:stretch;text-decoration:none;overflow:hidden;transition:transform .2s,box-shadow .2s}
.lcard:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.limg{aspect-ratio:1/.82;background:#fff;display:grid;place-items:center;max-width:100%}
.limg img{width:100%;height:100%;object-fit:contain;padding:12px}
.lname{font-weight:800;font-size:.86rem;letter-spacing:.02em;text-transform:uppercase;color:var(--blue);text-align:center;padding:12px 10px 2px;line-height:1.25;text-wrap:balance}
.lcount{font-size:.76rem;color:var(--muted);text-align:center;padding:2px 10px 14px}
.cat-icon{--c:#888;width:64%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:color-mix(in oklab,var(--c) 12%,#fff);color:var(--c)}
.cat-icon svg{width:46%;height:46%}
@media (max-width:1080px){.lgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:760px){.lgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lname{font-size:.78rem}}

/* clientes (B-01) */
.clients{padding-block:28px;border-block:1px solid var(--line);background:var(--surface);text-align:center}
.clients-lead{margin-top:8px;color:var(--muted)}
.chips-static{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:14px}
.chips-static span{border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:.86rem;font-weight:600;color:#3F4A59;background:var(--bg)}
.logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-top:14px;align-items:center}
.logo-tile{height:70px;display:grid;place-items:center;filter:grayscale(1);opacity:.8;transition:filter .2s,opacity .2s;font-weight:700;color:var(--muted)}
.logo-tile:hover{filter:none;opacity:1}
.logo-tile img{max-height:56px;width:auto;object-fit:contain}

/* reconocimientos (N-05) */
.awards{padding-top:0}
.agrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.acard{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:12px;padding:18px;display:flex;gap:16px;align-items:center}
.aimg{width:72px;height:72px;flex:none;border-radius:10px;background:#FCF4E2;color:var(--gold-ink);display:grid;place-items:center;overflow:hidden}
.aimg svg{width:36px;height:36px}
.aimg img{width:100%;height:100%;object-fit:cover}
.ayear{font-family:var(--f-mono);font-size:.84rem;color:var(--gold-ink)}
.acard h3{margin-top:2px}
.adet{font-size:.88rem;margin-top:4px}

/* NATEEN (N-08, B-04) */
.nhead{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.nateen-logo{height:58px;width:auto;background:#fff;border-radius:10px;padding:6px 10px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.nat-hero{padding-block:clamp(32px,5vw,56px)}

/* fabricación (N-06, N-07) */
.fab-gal{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fab-gal.six{grid-template-columns:repeat(3,1fr)}
.fab-gal span{aspect-ratio:1;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;max-width:100%}
.fab-gal img{width:100%;height:100%;object-fit:contain;padding:8px}
.fab-page{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,5vw,56px);align-items:start}
.fab-side .wp-block-gallery{margin:0}
.fab-side .hint{margin-top:8px}
@media (max-width:820px){.fab-page{grid-template-columns:1fr}.fab-gal.six{grid-template-columns:repeat(2,1fr)}}
.fab .quote{border-left-color:var(--gold)}

/* ficha: tallas, guía y botón fijo (N-04, A-07, A-02) */
.guide-link{margin:0 0 8px;text-align:right}
.linkbtn{border:0;background:none;color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:3px;padding:0;font-size:.92rem}
.vrow .code{color:var(--blue);font-weight:500}
.vrow.on{background:#EEF4FC}
.stickyadd{display:none}
@media (max-width:860px){
  .stickyadd:not([hidden]){display:block;position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--surface);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));box-shadow:0 -8px 24px rgba(20,32,51,.1)}
  .stickyadd .btn{width:100%}
  body:has(.stickyadd:not([hidden])) .toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}
.modal-guide{position:fixed;inset:0;z-index:80;background:rgba(10,16,28,.5);display:grid;place-items:center;padding:16px}
.modal-guide[hidden]{display:none}
.mg-box{background:var(--surface);border-radius:14px;width:min(640px,100%);max-height:calc(100% - 32px);overflow:auto;padding:20px;box-shadow:0 30px 80px rgba(0,0,0,.3)}
.mg-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.mg-head .x{font-size:1.4rem;line-height:1}
.mg-scroll{overflow-x:auto}
.mg-table{width:100%;border-collapse:collapse;font-size:.92rem;font-variant-numeric:tabular-nums}
.mg-table th,.mg-table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.mg-table th{background:var(--sunk);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

/* formularios (E-01, A-06, N-09) */
.consent{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:.9rem;cursor:pointer}
.consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--blue);flex:none}
.consent a{color:var(--blue)}
.field.bad .consent{color:var(--danger)}
.seg input{accent-color:var(--blue)}
.seg label:has(input:checked){border-color:var(--blue);background:#EEF4FC}
.field input:focus,.field select:focus,.field textarea:focus{outline-color:var(--blue)}

/* aviso con acción */
.toast.has-act{display:flex;gap:14px;align-items:center;pointer-events:auto;border-radius:12px;padding:10px 12px 10px 16px}
.toast-act{border:0;background:var(--gold);color:#141414;font-weight:800;border-radius:999px;padding:6px 12px;font-size:.84rem;white-space:nowrap}

/* pie oscuro con logo (N-01) */
footer.site{background:var(--foot-bg);color:var(--foot-muted)}
footer h4{color:var(--foot-fg)}
footer a:hover{color:#fff}
.foot-logo{display:inline-block;background:#fff;border-radius:12px;padding:10px 14px}
.foot-logo-img{height:64px;width:auto;display:block}
footer .legal{border-top-color:rgba(255,255,255,.14)}
footer .legal a{text-decoration:underline;text-underline-offset:2px}
/* ajustes v0.2 */
nav.main a{white-space:nowrap;padding:8px 10px;font-size:.93rem}
header.site .hsearch{min-width:200px;max-width:280px}
@media (max-width:1240px) and (min-width:961px){header.site .hsearch{display:none}.msearch{display:block}.msearch .hsearch{display:block;max-width:none;margin:0}}
.limg,.fab-gal span,.hero2-tiles span{position:relative;overflow:hidden}
.limg img,.fab-gal img,.hero2-tiles img{position:absolute;inset:0;width:100%;height:100%}
.limg .cat-icon{position:relative}
.seg label{white-space:nowrap}
.fab-page .quote{font-family:var(--f-display);font-size:clamp(1.3rem,2.2vw,1.7rem);font-weight:650;line-height:1.2;border-left:4px solid var(--gold);padding-left:18px;text-wrap:balance}

/* ===== v0.2.1 · menú alineado y portada compacta ===== */
nav.main ul{align-items:center}
nav.main li{display:flex;align-items:center}
nav.main li > a{line-height:1.2}
.home-intro{padding-block:clamp(28px,4vw,48px) clamp(40px,5vw,64px);background:var(--surface);border-bottom:1px solid var(--line)}
.intro-head{text-align:center;max-width:820px;margin:0 auto clamp(22px,3vw,34px)}
.intro-head .eyebrow{letter-spacing:.2em}
.intro-head h1{margin-top:10px;font-size:clamp(1.75rem,3.4vw,2.7rem);color:var(--blue);font-weight:750;letter-spacing:-.02em}
.intro-head h1 em{font-style:normal;color:var(--gold-ink)}
.intro-head .lead{margin-top:10px;color:var(--muted);font-size:clamp(1rem,1.4vw,1.12rem);max-width:58ch;margin-inline:auto}
.home-intro .lcard{background:var(--surface);box-shadow:0 1px 2px rgba(20,32,51,.05)}
.intro-ctas{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:24px}
@media (max-width:760px){.intro-head{text-align:left}.intro-head .lead{margin-inline:0}}
/* v0.2.2 · botón Cotización en azul marino */
.qbtn{background:#0F2038;color:#fff}
.qbtn:hover{background:#18304F}
/* v0.2.3 · botón Ficha técnica PDF destacado en amarillo */
.btn-ficha{background:#FFC300;color:#141414;box-shadow:none}
.btn-ficha:hover{background:#F2B600;filter:none}
.btn-ficha svg{color:#141414}
/* v0.2.4 · contornos */
.pactions .btn-p,.stickyadd .btn-p,.btn-ficha{border:2px solid #141414}
.qbtn{border:2px solid #FFC300}
/* v0.2.5 · franja azul clara bajo el título de portada */
.home-intro{padding:0;background:var(--surface)}
.intro-band{background:#E4EEF9;border-bottom:1px solid #CCDDF1;padding-block:clamp(28px,4vw,44px) clamp(26px,3.5vw,40px)}
.intro-band .intro-head{margin-bottom:0}
.intro-grid{padding-block:clamp(26px,3.5vw,40px) clamp(40px,5vw,64px)}
.intro-band .eyebrow{color:#7A5208}
/* v0.2.6 · franja azul #0079C2, textos en blanco, palabras clave en negrita */
.intro-band{background:#0079C2;border-bottom-color:#00639F}
.intro-band .eyebrow{color:#fff;font-family:var(--f-body);text-transform:none;letter-spacing:.01em;font-size:clamp(1.15rem,1.8vw,1.45rem);font-weight:600}
.intro-band .intro-head h1{color:#fff;font-weight:500;margin-top:8px}
.intro-band .intro-head h1 strong{font-weight:750;color:#fff}
.intro-band .intro-head .lead{color:#fff}
/* v0.2.7 · texto pequeño más grande en negro, "Más de 30 años" en negrita */
.intro-band .eyebrow{color:#141414;font-size:clamp(1.35rem,2.2vw,1.75rem);font-weight:700}
.intro-band .intro-head .lead strong{font-weight:700;color:#fff}
/* v0.2.9 · "Protecciones Tecnológicas" con letra blanca y contorno dorado */
.intro-band .eyebrow{color:#fff;-webkit-text-stroke:2px #E5A82E;paint-order:stroke fill;font-weight:800;letter-spacing:.03em;text-shadow:0 2px 6px rgba(8,30,60,.25)}
/* v0.2.10 · sin contorno dorado: letra blanca */
.intro-band .eyebrow{-webkit-text-stroke:0;text-shadow:none}
/* v0.2.12 · símbolo de marca: media figura en cada extremo de la franja azul, en espejo */
.intro-band{position:relative;overflow:hidden;isolation:isolate}
.intro-band::before,.intro-band::after{content:"";position:absolute;top:50%;height:118%;aspect-ratio:1/2;transform:translateY(-50%);background:url(../img/simbolo-mitad.svg) center/contain no-repeat;z-index:-1;pointer-events:none}
.intro-band::before{left:0}
.intro-band::after{right:0;transform:translateY(-50%) scaleX(-1)}
@media(max-width:700px){.intro-band::before,.intro-band::after{height:62%;opacity:.45}}
/* v0.2.13 · símbolo de marca más grande (crece hacia el centro) */
@media(min-width:701px){.intro-band::before,.intro-band::after{height:165%}}
/* v0.2.14 · reconocimientos con foto del galardón */
.agrid{grid-template-columns:repeat(auto-fit,minmax(260px,360px));justify-content:center;gap:clamp(16px,2.4vw,28px)}
.acard{flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden;border-top-width:5px;transition:transform .25s ease,box-shadow .25s ease}
.acard:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(15,32,56,.12)}
.acard .aimg{width:auto;height:auto;border-radius:0;aspect-ratio:1/1;background:radial-gradient(circle at 50% 42%,#fff 0 46%,#EEF4FA 100%);position:relative;display:grid;place-items:center;text-decoration:none}
.acard .aimg img{width:88%;height:88%;object-fit:contain;filter:drop-shadow(0 14px 18px rgba(15,32,56,.14));transition:transform .35s ease}
.acard:hover .aimg img{transform:scale(1.03)}
.acard:not(.has-img) .aimg{aspect-ratio:auto;padding:28px 0;background:#FCF4E2}
.acard .aimg svg{width:44px;height:44px}
.azoom{position:absolute;right:12px;bottom:12px;background:rgba(15,32,56,.86);color:#fff;font-size:.78rem;font-weight:600;padding:5px 10px;border-radius:999px;opacity:0;transform:translateY(4px);transition:.2s}
.acard:hover .azoom,.aimg:focus-visible .azoom{opacity:1;transform:none}
.abody{padding:18px 20px 22px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.ayear{align-self:flex-start;background:#0F2038;color:#FFC300;font-family:var(--f-body);font-weight:700;font-size:.82rem;padding:3px 10px;border-radius:999px;letter-spacing:.04em}
.acard h3{font-size:1.15rem;margin-top:6px}
.aent{font-weight:600;color:var(--blue,#1D5AA6);font-size:.92rem}
.adet{font-size:.9rem;color:var(--muted);margin-top:4px;line-height:1.5}
@media(hover:none){.azoom{opacity:1;transform:none}}
.zoombox{position:fixed;inset:0;z-index:90;background:rgba(8,16,30,.82);display:grid;place-items:center;padding:20px;cursor:zoom-out}
.zoombox img{max-width:min(92vw,820px);max-height:88vh;border-radius:14px;background:#fff;box-shadow:0 30px 60px rgba(0,0,0,.4)}
.zoombox button{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:#0F2038;font-size:1.5rem;cursor:pointer}
.acard .aimg img{filter:none;mix-blend-mode:multiply;width:92%;height:92%}
.acard .aimg{background:radial-gradient(circle at 50% 45%,#fff 0 40%,#EDF3F9 100%)}
/* v0.2.15 · botón NATEEN en el verde de las cifras */
.btn-nat{background:#1F7A3E;color:#fff;border-color:#1F7A3E}
.btn-nat:hover{background:#18632F;color:#fff}
/* v0.2.16 · NATEEN: "Por qué NATEEN" y presentación de sustentabilidad */
.nat-why{padding-block:clamp(40px,5vw,64px) clamp(24px,3vw,40px)}
.nat-why-grid{display:grid;grid-template-columns:.8fr 1.6fr;gap:clamp(24px,4vw,56px);align-items:start}
.nat-why-head .eyebrow{color:#1F7A3E}
.nat-why-head h2{margin-top:8px;font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.15}
.nat-why-head h2::after{content:"";display:block;width:56px;height:4px;border-radius:2px;background:#36A158;margin-top:16px}
.nat-why-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.nat-why-card{background:var(--surface);border:1px solid color-mix(in oklab,#36A158 22%,var(--line));border-radius:16px;padding:22px 22px 24px;display:flex;flex-direction:column;gap:14px;box-shadow:0 1px 2px rgba(15,32,56,.04)}
.nat-ico{width:46px;height:46px;border-radius:12px;background:#E6F3EA;color:#1F7A3E;display:grid;place-items:center}
.nat-ico svg{width:24px;height:24px}
.nat-why-card p{margin:0;font-size:1rem;line-height:1.65;color:var(--ink)}
.nat-why-card strong{color:#1F7A3E;font-weight:700}
@media(max-width:900px){.nat-why-grid,.nat-why-cards{grid-template-columns:1fr}}

.nat-sust{background:radial-gradient(800px 400px at 90% 0%,rgba(54,161,88,.28),transparent 60%),#1E4A37;color:#fff;padding-block:clamp(44px,6vw,80px);margin-block:clamp(16px,2vw,24px) clamp(40px,5vw,64px)}
.nat-sust-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(28px,5vw,72px);align-items:center}
.nat-sust .eyebrow{color:#9AD9AE}
.nat-sust h2{color:#fff;margin-top:8px;font-size:clamp(1.7rem,3vw,2.4rem)}
.nat-sust-lead{color:rgba(255,255,255,.86);margin-top:14px;max-width:38em;line-height:1.65}
.nat-sust-points{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.nat-sust-points li{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-left:3px solid #8BCB5A;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.nat-sust-points b{font-size:.98rem}
.nat-sust-points span{font-size:.86rem;color:rgba(255,255,255,.75)}
.nat-sust-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.nat-btn-light{background:#fff;color:#1E4A37;border:0;font-weight:700;cursor:pointer}
.nat-btn-light:hover{background:#E6F3EA;color:#1E4A37}
.nat-btn-ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
.nat-btn-ghost:hover{background:rgba(255,255,255,.1);color:#fff}
.nat-cover{position:relative;border:0;padding:0;background:none;cursor:zoom-in;justify-self:center;width:min(100%,340px);aspect-ratio:600/849}
.nat-cover img{position:relative;z-index:2;width:100%;height:100%;object-fit:cover;border-radius:10px;box-shadow:0 24px 50px rgba(0,0,0,.35);transition:transform .3s ease}
.nat-cover-back{position:absolute;inset:0;border-radius:10px;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.2)}
.nat-cover-back.b1{transform:rotate(4deg) translate(10px,6px);opacity:.9;z-index:1}
.nat-cover-back.b2{transform:rotate(8deg) translate(20px,12px);opacity:.6}
.nat-cover:hover img{transform:translateY(-6px) rotate(-1deg)}
.nat-cover-tag{position:absolute;z-index:3;left:50%;bottom:-16px;transform:translateX(-50%);white-space:nowrap;background:#FFC300;color:#0F2038;font-weight:700;font-size:.85rem;padding:8px 16px;border-radius:999px;box-shadow:0 8px 18px rgba(0,0,0,.25)}
@media(max-width:860px){.nat-sust-grid{grid-template-columns:1fr}.nat-cover{width:min(70%,280px);order:-1;margin-bottom:12px}.nat-sust-points{grid-template-columns:1fr}.nat-sust-ctas .btn{flex:1;justify-content:center}}

.deck{position:fixed;inset:0;z-index:95;background:rgba(6,14,24,.94);display:grid;grid-template-rows:auto 1fr auto;color:#fff}
.deck[hidden]{display:none}
.deck-top{display:flex;align-items:center;gap:16px;padding:12px 16px}
.deck-title{font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.deck-count{font-variant-numeric:tabular-nums;color:rgba(255,255,255,.75)}
.deck-dl{color:#fff;font-weight:600;font-size:.9rem;padding:8px 14px;border-radius:999px;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4);text-decoration:none}
.deck-x{width:42px;height:42px;border-radius:50%;border:0;background:#fff;color:#0F2038;font-size:1.5rem;cursor:pointer}
.deck-stage{position:relative;display:grid;place-items:center;min-height:0;padding:0 64px;touch-action:pan-y}
.deck-img{max-height:100%;max-width:100%;height:calc(100vh - 190px);width:auto;object-fit:contain;background:#fff;border-radius:6px;box-shadow:0 20px 50px rgba(0,0,0,.5)}
.deck-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:2rem;line-height:1;cursor:pointer}
.deck-nav:hover{background:rgba(255,255,255,.26)}
.deck-nav:disabled{opacity:.25;cursor:default}
.deck-nav.prev{left:12px}.deck-nav.next{right:12px}
.deck-thumbs{display:flex;gap:8px;justify-content:center;padding:12px 16px 16px;overflow-x:auto}
.deck-thumbs button{flex:none;width:46px;height:65px;padding:0;border:2px solid transparent;border-radius:4px;background:#fff;cursor:pointer;opacity:.55;overflow:hidden}
.deck-thumbs button[aria-current="true"]{border-color:#FFC300;opacity:1}
.deck-thumbs img{width:100%;height:100%;object-fit:cover}
@media(max-width:700px){.deck-stage{padding:0 8px}.deck-img{height:auto;max-height:calc(100vh - 170px)}.deck-nav{top:auto;bottom:-56px;transform:none;width:44px;height:44px;font-size:1.7rem}.deck-nav.prev{left:calc(50% - 60px)}.deck-nav.next{right:calc(50% - 60px)}.deck-thumbs{visibility:hidden;height:64px;padding:0}.deck-title{font-size:.9rem}.deck-dl{display:none}}
.deck{grid-template-columns:minmax(0,1fr);background:rgba(6,14,24,.97)}
.deck-top,.deck-stage{min-width:0}
@media(max-width:700px){.deck-img{width:100%;height:auto}.nat-sust-ctas{flex-direction:column}.nat-sust-ctas .btn{width:100%}}
@media(max-width:700px){.nat-sust-ctas .btn{flex:none;min-height:48px}}
/* v0.2.17 · portada y visor desde el PDF subido */
a.nat-cover{display:block;text-decoration:none}
.nat-cover-page{position:relative;z-index:2;display:block;width:100%;height:100%;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 24px 50px rgba(0,0,0,.35);transition:transform .3s ease}
.nat-cover:hover .nat-cover-page{transform:translateY(-6px) rotate(-1deg)}
.nat-cover-page canvas{display:block;width:100%!important;height:auto!important;opacity:0;transition:opacity .4s}
.nat-cover-page.ok canvas{opacity:1}
.nat-cover-ph{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;padding:24px;text-align:center;color:#1E4A37;font-weight:700;background:linear-gradient(#E6F3EA,#fff)}
.nat-cover-ph svg{width:40px;height:40px}
.nat-cover-page.ok .nat-cover-ph{display:none}
.deck-img{height:auto;width:auto;max-width:none;max-height:none}
.deck-load{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.8);pointer-events:none}
.deck-load[hidden]{display:none}
.deck-thumbs button canvas{display:block;width:100%!important;height:100%!important;object-fit:cover}
@media(max-width:700px){.deck-img{width:auto;height:auto}}
/* v0.2.18 · título de los testimonios NATEEN */
.voices-title{margin:0 0 4px;font-family:var(--f-display);font-size:clamp(1.15rem,1.6vw,1.35rem);font-weight:700;color:var(--ink);display:flex;flex-direction:column;gap:4px}
.voices-title .eyebrow{color:#1F7A3E}
/* v0.2.20 · Nosotros: galería "Nuestra historia en imágenes" */
.hist{padding-top:clamp(8px,2vw,24px)}
.hist-lead{margin-top:8px;max-width:40em}
.hist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:clamp(14px,2vw,22px)}
.hist-item{margin:0;background:#fff;padding:10px 10px 12px;border-radius:6px;box-shadow:0 1px 2px rgba(15,32,56,.06),0 10px 24px rgba(15,32,56,.08);transition:transform .25s ease,box-shadow .25s ease}
.hist-item:nth-child(odd){transform:rotate(-.8deg)}
.hist-item:nth-child(even){transform:rotate(.8deg)}
.hist-item:hover{transform:rotate(0) translateY(-4px);box-shadow:0 18px 36px rgba(15,32,56,.14)}
.hist-item a{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:3px;background:#EEF1F4;cursor:zoom-in}
.hist-item img{width:100%;height:100%;object-fit:cover;filter:sepia(.18) saturate(.92);transition:filter .3s ease}
.hist-item:hover img{filter:none}
.hist-item figcaption{margin-top:10px;font-size:.88rem;color:var(--ink);line-height:1.4;text-align:center}
.hist-ph{display:grid;place-items:center;aspect-ratio:4/3;border-radius:3px;background:repeating-linear-gradient(45deg,#F2F4F7 0 10px,#EBEEF2 10px 20px);color:#9AA5B1;border:2px dashed #CBD3DC}
.hist-ph svg{width:36px;height:36px}
.hist-empty figcaption{color:var(--muted);font-style:italic}
.hist-note{margin-top:18px;background:#FFF8E1;border:1px solid #F3D98A;border-radius:10px;padding:14px 16px;font-size:.9rem;color:#5C4A12}
@media(max-width:560px){.hist-grid{grid-template-columns:1fr 1fr;gap:12px}.hist-item{padding:6px 6px 8px}.hist-item figcaption{font-size:.78rem}}
/* v0.2.21 · Nosotros: texto con columna lateral y línea de tiempo central alternada */
.about2{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr);gap:clamp(28px,5vw,72px);align-items:start;padding-bottom:clamp(16px,3vw,32px)}
.about2-side{position:sticky;top:110px}
.about2-side h2{margin-top:8px;font-size:clamp(1.6rem,2.6vw,2.15rem);line-height:1.15}
.about2-side h2::after{content:"";display:block;width:56px;height:4px;border-radius:2px;background:var(--gold,#E5A82E);margin-top:16px}
.about2-stats{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:10px}
.about2-stats li{display:flex;align-items:baseline;gap:12px;background:var(--surface);border:1px solid var(--line);border-left:4px solid #0079C2;border-radius:10px;padding:12px 16px}
.about2-stats b{font-family:var(--f-display);font-size:1.6rem;font-weight:750;color:#0F2038;min-width:3.4em}
.about2-stats span{color:var(--muted);font-size:.92rem}
.about2-text{max-width:none}
.about2-text p{font-size:1.04rem;line-height:1.75;margin:0 0 1.1em}
.about2-text > p:first-child{font-size:clamp(1.15rem,1.6vw,1.3rem);line-height:1.6;color:var(--ink);font-weight:500}
.tl2{background:linear-gradient(#fff0,#EAF2FA 18%,#EAF2FA 82%,#fff0);padding-block:clamp(40px,5vw,72px)}
.tl2-head{text-align:center;margin-bottom:clamp(28px,4vw,48px)}
.tl2-head h2{margin-top:8px}
.tl2-list{list-style:none;margin:0 auto;padding:0;max-width:980px;position:relative}
.tl2-list::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;margin-left:-1.5px;background:linear-gradient(#0079C2,#0F2038);border-radius:2px}
.tl2-list li{position:relative;width:50%;padding:0 44px 28px 0;box-sizing:border-box}
.tl2-list li:nth-child(even){margin-left:50%;padding:0 0 28px 44px}
.tl2-list li::after{content:"";position:absolute;top:14px;right:-9px;width:18px;height:18px;border-radius:50%;background:#FFC300;border:4px solid #0F2038;box-sizing:border-box;z-index:1}
.tl2-list li:nth-child(even)::after{right:auto;left:-9px}
.tl2-year{display:inline-block;background:#0F2038;color:#FFC300;font-weight:700;font-size:.9rem;letter-spacing:.03em;padding:5px 12px;border-radius:999px;margin-bottom:8px}
.tl2-list li:nth-child(odd){text-align:right}
.tl2-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:0 6px 18px rgba(15,32,56,.06);text-align:left;transition:transform .2s ease,box-shadow .2s ease}
.tl2-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,32,56,.1)}
.tl2-card h3{font-size:1.08rem}
.tl2-card p{margin:6px 0 0;color:var(--muted);font-size:.95rem;line-height:1.55}
@media(max-width:820px){
 .about2{grid-template-columns:1fr}.about2-side{position:static}
 .about2-stats{grid-template-columns:repeat(3,1fr);gap:8px}.about2-stats li{flex-direction:column;gap:2px;padding:10px 12px;border-left-width:3px}.about2-stats b{font-size:1.3rem;min-width:0}.about2-stats span{font-size:.78rem}
 .tl2-list::before{left:9px}
 .tl2-list li,.tl2-list li:nth-child(even){width:auto;margin-left:0;padding:0 0 22px 36px;text-align:left}
 .tl2-list li::after,.tl2-list li:nth-child(even)::after{left:0;right:auto;top:12px}
}
@media(min-width:821px){.tl2-list li+li{margin-top:-78px}.tl2-list::before{bottom:28px}}
.tl2{padding-top:clamp(20px,3vw,36px)}
.entry:has(.about2){padding-bottom:clamp(16px,2vw,24px)}
@media(max-width:820px){.tl2-list li:nth-child(odd){text-align:left}}
/* v0.2.22 · Nosotros: texto y línea de tiempo en paralelo */
.about3{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(28px,4.5vw,64px);align-items:start}
.about3-main h2{margin-top:8px;font-size:clamp(1.6rem,2.6vw,2.15rem);line-height:1.15}
.about3-main h2::after{content:"";display:block;width:56px;height:4px;border-radius:2px;background:var(--gold,#E5A82E);margin:16px 0 22px}
.about3-stats{grid-template-columns:repeat(3,1fr);margin-top:26px}
.about3-stats li{flex-direction:column;align-items:flex-start;gap:2px}
.about3-stats b{min-width:0}
.tl3{background:#EAF2FA;border:1px solid #D3E3F3;border-radius:20px;padding:clamp(20px,2.4vw,30px)}
.tl3-head h2{margin-top:6px;font-size:clamp(1.3rem,1.9vw,1.6rem)}
.tl3-list{list-style:none;margin:20px 0 0;padding:0 0 0 30px;position:relative;display:grid;gap:12px}
.tl3-list::before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:3px;border-radius:2px;background:linear-gradient(#0079C2,#0F2038)}
.tl3-list li{position:relative}
.tl3-list li::before{content:"";position:absolute;left:-30px;top:16px;width:19px;height:19px;border-radius:50%;background:#FFC300;border:4px solid #0F2038;box-sizing:border-box}
.tl3-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px 14px;box-shadow:0 4px 14px rgba(15,32,56,.05);transition:transform .2s ease,box-shadow .2s ease}
.tl3-card:hover{transform:translateX(3px);box-shadow:0 10px 24px rgba(15,32,56,.09)}
.tl3-card .tl2-year{font-size:.8rem;padding:3px 10px;margin:0 0 6px}
.tl3-card h3{font-size:1.02rem}
.tl3-card p{margin:4px 0 0;color:var(--muted);font-size:.9rem;line-height:1.5}
@media(max-width:900px){.about3{grid-template-columns:1fr}.about3-stats li{padding:10px 12px}.about3-stats b{font-size:1.3rem}.about3-stats span{font-size:.78rem}}
/* v0.2.23 · cifras alineadas con el final de la línea de tiempo */
@media(min-width:901px){.about3{align-items:stretch}.about3-main{display:flex;flex-direction:column}.about3-stats{margin-top:auto;padding-top:26px}.about3-main .about2-text > :last-child{margin-bottom:0}}
@media(min-width:901px){
 .about3-main .about2-text p{font-size:1.09rem;line-height:1.8}
 .about3-main .about2-text > p:first-child{font-size:1.28rem;line-height:1.6}
 .about3-stats li{padding:14px 18px}.about3-stats b{font-size:1.8rem}.about3-stats span{font-size:.93rem}
}
@media(min-width:901px){
 .about3-main .about2-text{flex:1;display:flex;flex-direction:column;justify-content:space-between}
 .about3-main .about2-text p{margin-bottom:.9em}
 .about3-stats{margin-top:0;padding-top:22px}
 .tl3{display:flex;flex-direction:column}.tl3-list{flex:1;align-content:space-between}
}
/* v0.2.24 · dirección con Google Maps / Waze */
.maplink{position:relative;display:inline-block}
.maplink-a{display:inline-flex;align-items:flex-start;gap:6px;color:inherit;text-decoration:underline;text-decoration-color:color-mix(in oklab,currentColor 35%,transparent);text-underline-offset:3px}
.maplink-a:hover{text-decoration-color:currentColor}
.maplink-pin{width:1.05em;height:1.05em;flex:none;margin-top:.2em}
.maplink-menu{position:absolute;z-index:60;left:0;bottom:calc(100% + 8px);min-width:240px;background:#fff;color:#141414;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px rgba(15,32,56,.22);padding:8px;display:grid;gap:4px}
.maplink-menu[hidden]{display:none}
.ci .maplink-menu{bottom:auto;top:calc(100% + 8px)}
.maplink-title{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:6px 10px 4px}
.maplink-menu a{display:flex;align-items:center;gap:10px;padding:12px 10px;border-radius:10px;color:#141414;text-decoration:none;font-weight:600;font-size:.98rem}
.maplink-menu a:hover,.maplink-menu a:focus-visible{background:#EEF4FA}
.mi{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:.9rem;flex:none}
.mi-g{background:#1A73E8}.mi-w{background:#33CCFF;color:#0F2038}
.ci-map{gap:8px}
.ci-mapframe{width:100%;height:220px;border:0;border-radius:10px;margin-top:6px;background:#EEF1F4}
/* v0.2.25 · header móvil a todo el ancho y botones "Tipo de cliente" */
@media(max-width:1240px){header.site .qbtn{margin-left:auto}}
@media(max-width:960px){header.site .wrap{gap:10px}}
.seg input[type="radio"]{width:auto;height:auto;padding:0;margin:0;border:0;background:none;flex:none;-webkit-appearance:radio;appearance:auto;accent-color:var(--blue,#1D5AA6)}
.seg label{min-height:44px}
@media(max-width:560px){.seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}.seg label{white-space:normal;line-height:1.25;padding:10px 12px;font-size:.88rem}}
@media(max-width:560px){.seg label{border-radius:14px}}
/* v0.2.27 · fotos de categoría en un marco parejo */
.lcard .limg{margin:12px 12px 0;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px rgba(15,32,56,.06)}
.lcard .limg.fit-cover img{object-fit:cover;object-position:center 30%;padding:0}
.lcard .limg.fit-contain img{object-fit:contain;padding:14px}
.lcard .limg::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(15,32,56,.07);pointer-events:none}
