/* GOU · Portafolio Robótica China — retro B&W (misma familia visual que goutech.site) */
.rb{
  --bg:#e8e8e8;--bg-alt:#d6d6d6;--panel:#f8f8f8;--white:#fff;
  --ink:#0f0f0f;--mid:#5a5a5a;--lite:#9a9a9a;--rule:#0f0f0f;
  --shadow:4px 4px 0 var(--ink);--shadow-sm:3px 3px 0 var(--ink);
  --font:"VT323","Courier New",monospace;
  --pixel:"Press Start 2P",monospace;
  --mono:"JetBrains Mono","VT323",monospace;
  --nav-h:60px;--max:1180px;
}
.rb *{box-sizing:border-box}

.rb{color:var(--ink);font-family:var(--font);font-size:21px;line-height:1.4;overflow-x:clip;max-width:100%}

.rb a{color:var(--ink);text-decoration:none}
.rb a:hover{text-decoration:underline}
.rb img{max-width:100%;display:block}
.rb h1, .rb h2, .rb h3, .rb h4, .rb .px{font-family:var(--pixel);letter-spacing:0;margin:0;overflow-wrap:anywhere;word-break:break-word;hyphens:manual}
.rb h1{font-size:clamp(15px,2.6vw,24px);line-height:1.6}
.rb h2{font-size:clamp(11px,1.8vw,15px);line-height:1.7}
.rb h3{font-size:10px;line-height:1.75}
.rb h4{font-size:8px;line-height:1.7;color:var(--mid)}
.rb p{margin:0}
.rb .lead{font-size:22px;color:var(--mid);max-width:60ch}
.rb .eyebrow{
  font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mid);margin:0 0 12px;display:flex;align-items:center;gap:8px;
}
.rb .eyebrow::before{content:"";width:8px;height:8px;background:var(--ink);display:inline-block;flex-shrink:0}
.rb .container{max-width:var(--max);margin:0 auto;padding:0 20px;width:100%}
.rb .rb-hero__grid,.rb .rb-page-hero__grid,.rb .rb-cta__grid,.rb .rb-about__grid,.rb .brand-hero,.rb .grid,.rb .steps,.rb .cols3,.rb .rb-intents{min-width:0}
.rb .rb-hero__grid > *,.rb .rb-page-hero__grid > *,.rb .rb-cta__grid > *,.rb .rb-about__grid > *,.rb .grid > *,.rb .steps > *,.rb .rb-intents > *{min-width:0;max-width:100%}
.rb .section{padding:44px 0}
.rb .section--tight{padding:28px 0}
.rb .section__head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.rb .section__head p{color:var(--mid);font-size:20px;max-width:64ch}
.rb .section__link{font-family:var(--pixel);font-size:8px;white-space:nowrap}
.rb .rule{border:0;border-top:4px solid var(--ink);margin:0}
.rb .hidden{display:none!important}

/* ---------- buttons / chips ---------- */
.rb .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:4px solid var(--rule);box-shadow:var(--shadow);
  font-family:var(--pixel);font-size:9px;padding:12px 16px;line-height:1.4;
  cursor:pointer;text-decoration:none;transition:transform .05s,box-shadow .05s;background:var(--panel);color:var(--ink);
}
.rb .btn:hover{text-decoration:none;transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
.rb .btn--primary{background:var(--ink);color:var(--panel)}
.rb .btn--sm{font-size:7px;padding:8px 10px;border-width:3px;box-shadow:var(--shadow-sm)}
.rb .chip{
  display:inline-flex;align-items:center;gap:6px;border:2px solid var(--rule);background:var(--bg-alt);
  color:var(--mid);font-family:var(--mono);font-size:11px;padding:3px 8px;white-space:nowrap;
}
.rb .chip--ink{background:var(--ink);color:var(--panel);border-color:var(--ink)}
.rb .chip--white{background:var(--white)}
.rb .chip--link{cursor:pointer}
.rb .chip--link:hover{background:var(--ink);color:var(--panel);text-decoration:none}
.rb .chips{display:flex;flex-wrap:wrap;gap:6px}
.rb .chip.p0{background:var(--ink);color:var(--panel)}
.rb .chip.p1{background:var(--mid);color:var(--panel)}

/* ---------- hero ---------- */
.rb .rb-hero{padding:40px 0 30px;border-bottom:4px solid var(--ink);background:var(--panel)}
.rb .rb-hero__grid{display:grid;grid-template-columns:7fr 5fr;gap:32px;align-items:center}
.rb .rb-hero h1{margin-bottom:14px}
.rb .rb-hero .lead{margin-bottom:18px}
.rb .rb-hero__stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.rb .rb-hero__art{
  border:4px solid var(--ink);box-shadow:var(--shadow);background:var(--bg);
  display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:120px;gap:0;overflow:hidden;
}
.rb .rb-hero__art div,.rb .rb-hero__art .rb-photo{border:2px solid var(--ink);overflow:hidden;background:var(--white);display:flex;align-items:center;justify-content:center}
.rb .rb-hero__art img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:center}
.rb .rb-hero__art--photos{grid-auto-rows:128px}
.rb .rb-hero__art--photos .rb-photo{background:var(--white,#fff)}
.rb .rb-hero__art--photos .tall{grid-row:span 2}
.rb .rb-hero__art--photos img{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center;background:var(--white,#fff)}

/* Foto clickeable (hero + Qué es Gou) */
.rb .rb-photo{appearance:none;-webkit-appearance:none;padding:0;margin:0;border:0;border-radius:0;background:none;cursor:zoom-in;font:inherit;color:inherit;position:relative;display:block}
.rb .rb-photo img{display:block;transition:transform .15s ease}
.rb .rb-photo:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.rb .rb-photo::after{
  content:"⤢";position:absolute;right:6px;bottom:6px;width:22px;height:22px;line-height:22px;text-align:center;
  font-size:13px;background:var(--ink);color:var(--panel);border:2px solid var(--panel);opacity:0;transition:opacity .15s ease;pointer-events:none;
}
.rb .rb-photo:hover::after,.rb .rb-photo:focus-visible::after{opacity:1}
.rb .search{
  width:100%;max-width:520px;padding:11px 14px;
  font-family:var(--font);font-size:22px;
  border:3px solid var(--rule);background:var(--white);color:var(--ink);
  box-shadow:inset 2px 2px 0 var(--bg-alt);
}
.rb .search:focus{outline:3px solid var(--mid);outline-offset:2px}

/* ---------- steps ---------- */
.rb .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.rb .step{background:var(--panel);border:4px solid var(--ink);box-shadow:var(--shadow);padding:16px}
.rb .step__n{font-family:var(--pixel);font-size:16px;margin-bottom:10px}
.rb .step h3{margin-bottom:8px}
.rb .step p{font-size:19px;color:var(--mid)}

/* ---------- sector cards ---------- */
.rb .grid{display:grid;gap:16px}
.rb .grid--sectors{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.rb .grid--tech{grid-template-columns:repeat(3,1fr)}
.rb .grid--products{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.rb .grid--brands{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.rb .grid--allies{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.rb .card{
  background:var(--panel);border:4px solid var(--ink);box-shadow:var(--shadow);
  display:flex;flex-direction:column;overflow:hidden;transition:transform .05s,box-shadow .05s;
}
.rb a.card, .rb .card[data-go]{cursor:pointer}
.rb a.card:hover, .rb .card[data-go]:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink);text-decoration:none}
.rb .card__img{
  aspect-ratio:16/10;border-bottom:4px solid var(--ink);background:var(--white);overflow:hidden;position:relative;
  display:flex;align-items:center;justify-content:center;padding:8px;
}
.rb .card__img img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:center}
.rb .card__img--contain img{padding:0}
.rb .card__img .icon{position:absolute;left:10px;top:10px;font-size:22px;line-height:1;background:var(--panel);border:3px solid var(--ink);padding:4px 6px}
.rb .card__body{padding:14px 14px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.rb .card__body h3{font-size:9.5px}
.rb .card__body p{font-size:19px;color:var(--mid);line-height:1.3}
.rb .card__meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px}
.rb .card__brand{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;color:var(--mid);text-transform:uppercase;letter-spacing:.06em}
.rb .logo-sm{width:22px;height:22px;object-fit:contain;border:2px solid var(--ink);background:var(--white);flex-shrink:0;padding:1px}
.rb .placeholder{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:10px;
  background:repeating-linear-gradient(45deg,var(--bg-alt) 0 8px,var(--panel) 8px 16px);
}
.rb .placeholder img{width:44px;height:44px;object-fit:contain;border:3px solid var(--ink);background:var(--white);padding:3px}
.rb .placeholder span{font-family:var(--pixel);font-size:8px;color:var(--mid);background:var(--panel);padding:6px 8px;border:2px solid var(--ink)}
.rb .card.hl{outline:3px dashed var(--mid);outline-offset:4px}

/* brand tiles */
.rb .brand-tile{
  background:var(--panel);border:3px solid var(--ink);box-shadow:var(--shadow-sm);padding:14px 10px 12px;
  display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;
}
.rb .brand-tile:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.rb .brand-tile__main{
  display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;color:inherit;width:100%;
}
.rb .brand-tile__main:hover{text-decoration:none}
.rb .brand-tile img{width:56px;height:56px;object-fit:contain;border:2px solid var(--ink);background:var(--white);padding:4px}
.rb .brand-tile .mono{width:56px;height:56px;display:flex;align-items:center;justify-content:center;font-family:var(--pixel);font-size:16px;border:2px solid var(--ink);background:var(--white)}
.rb .brand-tile b{font-family:var(--mono);font-size:11px;letter-spacing:.04em}
.rb .brand-tile small{font-size:16px;color:var(--mid);line-height:1.2}
.rb .brand-tile__web{
  font-family:var(--mono);font-size:10px;letter-spacing:.02em;color:var(--ink);
  text-decoration:underline;text-underline-offset:2px;max-width:100%;overflow-wrap:anywhere;line-height:1.3;
}
.rb .brand-tile__web:hover{color:var(--mid)}
.rb .rb-brand-web{margin:0 0 12px;font-size:18px}
.rb .rb-brand-web a{font-family:var(--mono);font-size:14px;letter-spacing:.03em;text-decoration:underline;text-underline-offset:3px}
.rb .btn.btn--web{
  background:var(--ink);color:var(--white);border-color:var(--ink);
}
.rb .btn.btn--web:hover{background:var(--mid);border-color:var(--mid);color:var(--white)}
.rb .rb-webchip{
  display:inline-block;margin:2px 0 0 48px;font-family:var(--mono);font-size:10px;
  letter-spacing:.03em;color:var(--ink);text-decoration:underline;text-underline-offset:2px;
  overflow-wrap:anywhere;line-height:1.3;
}

/* allies */
.rb .ally{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center;padding:14px;background:var(--panel);border:4px solid var(--ink);box-shadow:var(--shadow)}
.rb .ally img, .rb .ally .mono{width:64px;height:64px;object-fit:contain;border:3px solid var(--ink);background:var(--white);padding:4px}
.rb .ally .mono{display:flex;align-items:center;justify-content:center;font-family:var(--pixel);font-size:18px}
.rb .ally b{font-family:var(--pixel);font-size:9px;display:block;margin-bottom:6px}
.rb .ally span{font-size:18px;color:var(--mid);display:block;line-height:1.25}

/* ---------- sector / brand page hero ---------- */
.rb .rb-page-hero{background:var(--panel);border-bottom:4px solid var(--ink);padding:26px 0 30px}
.rb .rb-page-hero__grid{display:grid;grid-template-columns:6fr 5fr;gap:32px;align-items:center}
.rb .rb-page-hero .icon-big{font-size:34px;line-height:1;margin-bottom:12px}
.rb .rb-page-hero h1{margin-bottom:12px}
.rb .rb-page-hero .lead{margin-bottom:16px;font-size:21px}
.rb .rb-page-hero__cover{border:4px solid var(--ink);box-shadow:var(--shadow);aspect-ratio:16/10;overflow:hidden;background:var(--white);display:flex;align-items:center;justify-content:center;padding:12px}
.rb .rb-page-hero__cover img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:center}
.rb .rb-page-hero__cover--contain img{padding:0}
.rb .brand-hero{display:grid;grid-template-columns:130px 1fr;gap:24px;align-items:start}
.rb .brand-hero__logo{width:130px;height:130px;border:4px solid var(--ink);box-shadow:var(--shadow);background:var(--white);display:flex;align-items:center;justify-content:center;overflow:hidden}
.rb .brand-hero__logo img{width:100%;height:100%;object-fit:contain;padding:12px}
.rb .brand-hero__logo .mono{font-family:var(--pixel);font-size:30px}
.rb .zh{color:var(--mid);font-family:var(--font);font-size:20px;margin-left:8px}

/* filter bar */
.rb .filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:18px}
.rb .filters .lab{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mid);margin-right:4px}
.rb .filter{
  font-family:var(--mono);font-size:11px;padding:6px 10px;border:3px solid var(--ink);background:var(--panel);cursor:pointer;
}
.rb .filter.is-active, .rb .filter:hover{background:var(--ink);color:var(--panel)}

/* three columns of lists */
.rb .cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rb .box{background:var(--panel);border:4px solid var(--ink);box-shadow:var(--shadow);padding:16px 18px}
.rb .box h3{margin-bottom:10px}
.rb .box ul{margin:0;padding-left:1.1em}
.rb .box li{margin:4px 0;font-size:19px;color:var(--mid)}
.rb .box li::marker{content:"▪ "}
.rb .box p{font-size:19px;color:var(--mid)}
.rb .box--ink{background:var(--ink);color:var(--panel)}
.rb .box--ink h3, .rb .box--ink p, .rb .box--ink li{color:var(--panel)}

/* internal-only */
.rb .internal{border-left:8px solid var(--ink)}
.rb .internal h3{display:flex;align-items:center;gap:8px}
.rb .internal .lab{font-family:var(--pixel);font-size:7px;background:var(--ink);color:var(--panel);padding:4px 6px}
.rb .note{font-size:18px;color:var(--lite);max-width:70ch}
.rb .pkg{background:var(--bg);border:3px solid var(--ink);padding:12px;margin:8px 0}
.rb .pkg .t{font-family:var(--pixel);font-size:8px;margin-bottom:6px}
.rb .pkg .s{font-family:var(--mono);font-size:11px;color:var(--mid);margin-top:6px}
.rb table.matrix{width:100%;border-collapse:collapse;font-size:18px}
.rb .matrix th, .rb .matrix td{border:3px solid var(--ink);padding:8px 10px;text-align:left;vertical-align:top;background:var(--panel)}
.rb .matrix th{font-family:var(--pixel);font-size:7px;color:var(--mid);background:var(--bg-alt)}

/* cta / footer */
.rb .rb-cta{background:var(--panel);border-top:4px solid var(--ink);padding:40px 0}
.rb .rb-cta__grid{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.rb .rb-cta h2{margin-bottom:8px}
.rb .rb-cta p{color:var(--mid);max-width:56ch}
.rb .rb-cta__actions{display:flex;gap:12px;flex-wrap:wrap}



.rb .empty{padding:28px;border:4px dashed var(--mid);text-align:center;color:var(--mid)}

@media(max-width:900px){
  .rb .rb-hero__grid, .rb .rb-page-hero__grid, .rb .rb-cta__grid{grid-template-columns:1fr}
  .rb .rb-hero__art{grid-auto-rows:90px;max-width:100%}
  .rb .rb-hero__art--photos{grid-auto-rows:100px}
  .rb .steps, .rb .cols3{grid-template-columns:1fr 1fr}
  .rb .nav__links{display:none}
  .rb .brand-hero{grid-template-columns:1fr}
  .rb .grid--tech{grid-template-columns:1fr 1fr}
  .rb .grid--sectors{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}
  .rb .grid--products{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}
  .rb .grid--allies{grid-template-columns:1fr}
  .rb .container{padding:0 16px}
  /* La sombra dura (4px) se salía del viewport en móvil */
  .rb .section,.rb .rb-hero,.rb .rb-cta,.rb .rb-page-hero,.rb .rb-about{overflow-x:clip}
  .rb .card,.rb .step,.rb .rb-intent,.rb .brand-tile,.rb .ally,.rb .box,.rb .rb-hero__art,.rb .rb-page-hero__cover,.rb .brand-hero__logo{
    box-shadow:3px 3px 0 var(--ink);
  }
}
@media(max-width:600px){
  .rb{font-size:19px}
  .rb .lead{font-size:18px}
  .rb h1{font-size:clamp(13px,5.2vw,18px);line-height:1.55}
  .rb h2{font-size:clamp(10px,3.6vw,13px)}
  .rb h3{font-size:9px}
  .rb .steps, .rb .cols3{grid-template-columns:1fr}
  .rb .grid--sectors, .rb .grid--products, .rb .grid--tech, .rb .grid--brands{grid-template-columns:1fr}
  .rb .rb-hero{padding:20px 0 18px}
  .rb .rb-hero__art{grid-template-columns:repeat(2,1fr);grid-auto-rows:110px}
  .rb .rb-hero__art--photos{grid-auto-rows:110px}
  .rb .rb-hero__art--photos .tall{grid-row:span 1}
  .rb .search{font-size:18px;max-width:100%}
  .rb .btn{width:100%}
  .rb .rb-cta__actions{width:100%}
  .rb .rb-cta__actions .btn{flex:1 1 auto}
  .rb .nav .btn{display:none}
  .rb .chip{white-space:normal}
  .rb .container{padding:0 14px}
  .rb .section{padding:32px 0}
  .rb .card,.rb .step,.rb .rb-intent,.rb .brand-tile,.rb .ally,.rb .box,.rb .rb-hero__art,.rb .rb-page-hero__cover{
    box-shadow:2px 2px 0 var(--ink);
  }
  .rb .rb-photo::after{opacity:.85} /* hint de zoom siempre visible en touch */
}

/* Conexión China — chrome propio */
.rb-subnav{
  /* El header del sitio (#site-chrome) es fixed y mide --chrome-h: el subnav arranca y se pega justo debajo. */
  position:sticky;top:var(--chrome-h,72px);margin-top:var(--chrome-h,72px);z-index:40;
  background:var(--panel,#f8f8f8);border-bottom:3px solid var(--ink,#0f0f0f);
  max-width:100%;overflow-x:clip;
}
.rb .rb-sol,.rb .rb-page-hero,.rb .section{scroll-margin-top:calc(var(--chrome-h,72px) + 48px)}
.rb-subnav__inner{
  max-width:var(--max,1180px);margin:0 auto;padding:0 14px;display:flex;gap:4px;
  overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;font-family:var(--mono,"JetBrains Mono",monospace);font-size:11px;letter-spacing:.04em;
}
.rb-subnav__inner::-webkit-scrollbar{display:none}
.rb-subnav a{
  padding:12px 12px 9px;border-bottom:3px solid transparent;margin-bottom:-3px;
  white-space:nowrap;color:var(--ink,#0f0f0f);text-decoration:none;flex-shrink:0;
  position:relative;z-index:1;
}
.rb-subnav a:hover,.rb-subnav a.is-active{
  border-bottom-color:var(--ink,#0f0f0f);text-decoration:none;
}
.rb-subnav a.is-active{
  /* Segmento activo encima de la barra: se ve y se mantiene en la opción elegida */
  border-bottom-width:5px;padding-bottom:7px;font-weight:500;
}
.rb .rb-intents{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.rb .rb-intent{
  background:var(--panel,#f8f8f8);border:4px solid var(--ink,#0f0f0f);box-shadow:4px 4px 0 var(--ink,#0f0f0f);
  padding:16px;display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--ink,#0f0f0f);
  transition:transform .05s,box-shadow .05s;
}
.rb .rb-intent:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink,#0f0f0f);text-decoration:none}
.rb .rb-intent__n{font-family:var(--pixel,"Press Start 2P",monospace);font-size:14px}
.rb .rb-intent h3{font-family:var(--pixel,"Press Start 2P",monospace);font-size:9px;line-height:1.7;margin:0}
.rb .rb-intent p{font-size:18px;color:var(--mid,#5a5a5a);margin:0;line-height:1.3}
.rb .rb-about{
  background:var(--ink,#0f0f0f);color:var(--panel,#f8f8f8);border-top:4px solid var(--ink,#0f0f0f);border-bottom:4px solid var(--ink,#0f0f0f);
}
.rb .rb-about .eyebrow,.rb .rb-about h2,.rb .rb-about p,.rb .rb-about a{color:var(--panel,#f8f8f8)}
.rb .rb-about .eyebrow::before{background:var(--panel,#f8f8f8)}
.rb .rb-about__grid{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:start}
.rb .rb-about .chips .chip{background:transparent;color:var(--panel,#f8f8f8);border-color:var(--panel,#f8f8f8)}
.rb .rb-about .chip--link:hover{background:var(--panel,#f8f8f8);color:var(--ink,#0f0f0f)}
.rb .rb-about__photos{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.rb .rb-about__photos .rb-photo{width:100%}
.rb .rb-about__photos img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;object-position:center;background:var(--panel,#f8f8f8);border:3px solid var(--panel,#f8f8f8)}

/* Lightbox */
body.rb-lightbox-open{overflow:hidden}
.rb-lightbox{
  position:fixed;inset:0;z-index:10000;background:rgba(10,10,10,.94);
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:56px 12px 24px;
}
.rb-lightbox[hidden]{display:none}
.rb-lightbox__fig{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;max-height:100%}
.rb-lightbox__fig img{
  display:block;max-width:min(1200px,100%);max-height:calc(100vh - 140px);width:auto;height:auto;object-fit:contain;
  border:4px solid var(--panel,#f8f8f8);box-shadow:8px 8px 0 #000;background:#000;
}
.rb-lightbox__fig figcaption{
  margin-top:14px;font-family:var(--mono,ui-monospace,monospace);font-size:12px;letter-spacing:.04em;color:var(--panel,#f8f8f8);text-align:center;max-width:min(70ch,100%);padding:0 8px;overflow-wrap:anywhere;
}
.rb-lightbox__close,.rb-lightbox__nav{
  appearance:none;-webkit-appearance:none;cursor:pointer;font:inherit;
  background:var(--panel,#f8f8f8);color:var(--ink,#0f0f0f);border:3px solid var(--ink,#0f0f0f);box-shadow:4px 4px 0 var(--panel,#f8f8f8);
}
.rb-lightbox__close{position:absolute;top:12px;right:12px;width:40px;height:40px;font-size:16px;line-height:1;z-index:2}
.rb-lightbox__nav{width:44px;height:64px;font-size:30px;line-height:1}
.rb-lightbox__close:hover,.rb-lightbox__nav:hover{background:var(--ink,#0f0f0f);color:var(--panel,#f8f8f8);border-color:var(--panel,#f8f8f8)}
.rb-lightbox__close:focus-visible,.rb-lightbox__nav:focus-visible{outline:3px solid var(--panel,#f8f8f8);outline-offset:2px}
@media(max-width:600px){
  .rb-lightbox{grid-template-columns:1fr;padding:52px 10px 16px;overflow:hidden}
  .rb-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:52px;font-size:24px;box-shadow:2px 2px 0 var(--panel,#f8f8f8);z-index:2}
  .rb-lightbox__nav--prev{left:6px}
  .rb-lightbox__nav--next{right:6px}
  .rb-lightbox__fig img{max-width:100%;max-height:calc(100vh - 150px);box-shadow:4px 4px 0 #000}
  .rb-lightbox__fig figcaption{font-size:11px}
}

/* Contraste: el tema base pinta .section__head h2 / .section__sub para fondo oscuro. Aquí el fondo es claro. */
.rb h1,.rb h2,.rb h3,.rb .section__head h2,.rb .section__head p{color:var(--ink,#0f0f0f)}
.rb .section__head p,.rb .section__sub{color:var(--mid,#5a5a5a)}
.rb .rb-about h2,.rb .rb-about h3,.rb .box--ink h2,.rb .box--ink h3{color:var(--panel,#f8f8f8)}
.rb-form{background:var(--panel,#f8f8f8);border-top:4px solid var(--ink,#0f0f0f);padding:44px 0;overflow-x:clip;max-width:100%}
.rb-form .form{max-width:720px;width:100%;min-width:0}
.rb-form .form-row{min-width:0;width:100%}
.rb-form .form-group{min-width:0;max-width:100%}
.rb-form .form-group input,
.rb-form .form-group select,
.rb-form .form-group textarea{
  width:100%;max-width:100%;min-width:0;box-sizing:border-box;
}
.rb-form .form-group select{
  /* Opciones largas no deben empujar el viewport */
  overflow:hidden;text-overflow:ellipsis;
}
@media(max-width:900px){
  .rb .rb-intents{grid-template-columns:1fr 1fr}
  .rb .rb-about__grid{grid-template-columns:1fr}
  .rb-subnav a{padding:10px 8px;font-size:10px}
  .rb-form .form-row{grid-template-columns:1fr}
}
@media(max-width:600px){
  .rb .rb-intents{grid-template-columns:1fr}
  .rb .rb-about__photos{grid-template-columns:1fr 1fr;gap:8px}
  .rb-form{padding:32px 0}
}
/* ───────── Flujo Industria → Solución → Casos → Marcas ───────── */
.rb .grid--industries{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.rb .rb-ind{flex-direction:column}
.rb .rb-ind__media{
  aspect-ratio:16/10;border-bottom:4px solid var(--ink,#0f0f0f);background:var(--white,#fff);
  overflow:hidden;position:relative;
}
.rb .rb-ind__media img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.rb .rb-ind__fallback{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:42px;background:var(--bg-alt,#d6d6d6);
}
.rb .rb-ind .card__body{padding:14px}
.rb .rb-ind .card__meta .chip{font-size:15px}

.rb .rb-ind-hero{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start}
.rb .rb-ind-hero .icon-big{
  width:72px;height:72px;display:flex;align-items:center;justify-content:center;font-size:34px;margin:0;
  background:var(--white,#fff);border:4px solid var(--ink,#0f0f0f);box-shadow:var(--shadow);
}
.rb .rb-ind-hero h1{margin:0 0 10px}
.rb .rb-sol-index{display:flex;flex-wrap:wrap;gap:8px}
.rb .rb-sol-index__item{
  display:inline-flex;align-items:center;gap:10px;padding:8px 12px;background:var(--white,#fff);
  border:3px solid var(--ink,#0f0f0f);font-size:17px;line-height:1.2;text-decoration:none;
}
.rb .rb-sol-index__item span{font-family:var(--pixel);font-size:9px}
.rb .rb-sol-index__item:hover{background:var(--ink,#0f0f0f);color:var(--panel,#f8f8f8);text-decoration:none}

.rb .rb-sol{padding:40px 0;border-bottom:4px solid var(--ink,#0f0f0f)}
.rb .rb-sol:nth-of-type(even){background:var(--panel,#f8f8f8)}
.rb .rb-sol__grid{display:grid;grid-template-columns:6fr 5fr;gap:36px;align-items:start;min-width:0}
.rb .rb-sol__grid > *{min-width:0;max-width:100%}
.rb .rb-sol__main h2{margin:6px 0 10px}
.rb .rb-sol__main .lead{font-size:20px;margin-bottom:20px}
.rb .rb-sol__h3{margin:0 0 10px;font-size:9px}
.rb .rb-sol__note{font-size:17px;color:var(--mid,#5a5a5a);margin:-4px 0 10px;line-height:1.3}
.rb .rb-usecases{list-style:none;margin:0 0 22px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
.rb .rb-usecases li{
  position:relative;padding:10px 12px 10px 30px;font-size:18px;line-height:1.3;background:var(--white,#fff);border:3px solid var(--ink,#0f0f0f);
}
.rb .rb-usecases li::before{content:"";position:absolute;left:12px;top:15px;width:8px;height:8px;background:var(--ink,#0f0f0f)}
.rb .rb-sol__actions{display:flex;gap:10px;flex-wrap:wrap}
.rb .rb-sol__img{
  display:block;position:relative;border:4px solid var(--ink,#0f0f0f);box-shadow:var(--shadow);background:var(--white,#fff);
  aspect-ratio:16/10;overflow:hidden;margin-bottom:18px;
}
.rb .rb-sol__img img{width:100%;height:100%;object-fit:contain;object-position:center;padding:8px}
.rb .rb-sol__img--contain img{padding:12px}
.rb .rb-sol__cap{
  position:absolute;left:0;bottom:0;max-width:100%;padding:6px 10px;background:var(--ink,#0f0f0f);color:var(--panel,#f8f8f8);
  font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;
}
.rb .rb-brandrows{display:flex;flex-direction:column;gap:8px}
.rb .rb-brandrow{
  display:flex;flex-direction:column;gap:0;background:var(--white,#fff);border:3px solid var(--ink,#0f0f0f);
  transition:transform .05s;
}
.rb .rb-brandrow:hover{background:var(--panel,#f8f8f8);transform:translate(2px,0)}
.rb .rb-brandrow__main{
  display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;padding:8px 12px 8px 8px;
  text-decoration:none;color:inherit;
}
.rb .rb-brandrow__main:hover{text-decoration:none}
.rb .rb-brandrow__logo,.rb .rb-brandrow__logo img,.rb .rb-brandrow__logo .mono{
  width:48px;height:48px;display:flex;align-items:center;justify-content:center;object-fit:contain;
}
.rb .rb-brandrow__logo img,.rb .rb-brandrow__logo .mono{border:2px solid var(--ink,#0f0f0f);background:var(--white,#fff);padding:3px}
.rb .rb-brandrow__logo .mono{font-family:var(--pixel);font-size:12px}
.rb .rb-brandrow__body{display:flex;flex-direction:column;gap:3px;min-width:0}
.rb .rb-brandrow__body b{font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase}
.rb .rb-brandrow__body span{font-size:16px;color:var(--mid,#5a5a5a);line-height:1.25;overflow-wrap:anywhere}
.rb .rb-brandrow__go{font-family:var(--pixel);font-size:12px}
.rb .rb-brandrow .rb-webchip{margin:0 12px 8px 56px}

.rb .grid--solutions{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.rb .rb-solcard .card__body{padding:16px}
.rb .rb-where-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.rb .rb-where{
  display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:var(--white,#fff);border:3px solid var(--ink,#0f0f0f);text-decoration:none;
}
.rb .rb-where:hover{background:var(--ink,#0f0f0f);color:var(--panel,#f8f8f8);text-decoration:none}
.rb .rb-where span{font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--mid,#5a5a5a)}
.rb .rb-where:hover span{color:var(--panel,#f8f8f8)}
.rb .rb-where b{font-size:17px;line-height:1.25;font-weight:600}
.rb .rb-brand-actions{margin-top:16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.rb .cols2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rb .rb-intents{gap:12px}
.rb .rb-intent{padding:14px}

@media(max-width:900px){
  .rb .rb-sol__grid{grid-template-columns:1fr;gap:24px}
  .rb .rb-sol__side{order:2}
  .rb .rb-sol__img{aspect-ratio:16/9;margin-bottom:14px}
  .rb .rb-ind-hero .icon-big,.rb .rb-sol__img{box-shadow:3px 3px 0 var(--ink,#0f0f0f)}
  .rb .grid--industries{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}
  .rb .cols2{grid-template-columns:1fr}
}
@media(max-width:600px){
  .rb .grid--industries,.rb .grid--solutions,.rb .rb-where-grid{grid-template-columns:1fr}
  .rb .rb-ind-hero{grid-template-columns:1fr;gap:12px}
  .rb .rb-ind-hero .icon-big{width:56px;height:56px;font-size:26px}
  .rb .rb-usecases{grid-template-columns:1fr}
  .rb .rb-usecases li{font-size:17px}
  .rb .rb-sol{padding:28px 0}
  .rb .rb-sol__main .lead{font-size:18px}
  .rb .rb-sol-index__item{font-size:15px;padding:7px 10px}
  .rb .rb-brandrow__main{grid-template-columns:40px 1fr auto;gap:10px}
  .rb .rb-brandrow__logo,.rb .rb-brandrow__logo img,.rb .rb-brandrow__logo .mono{width:40px;height:40px}
  .rb .rb-brandrow .rb-webchip{margin-left:48px}
  .rb .rb-sol__actions .btn,.rb .rb-brand-actions .btn{width:100%}
  .rb .rb-sol__img,.rb .rb-ind-hero .icon-big{box-shadow:2px 2px 0 var(--ink,#0f0f0f)}
}

/* Contención global: la sombra dura y el subnav no deben empujar el viewport */
body.retro-surface:has(#app.rb){overflow-x:clip}
@supports not (overflow:clip){
  body.retro-surface:has(#app.rb),#app.rb,.rb-form,.rb-subnav{overflow-x:hidden}
}
