/* BroBots Space Factory: Fruity Puppy Outlet Mall */

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body.factory{
  --accent:#8fa8ff;
  --ink-2:#b9b2a4;
  --ink-3:#8c826c;
  --rule:#26211a;
  --panel:#16130e;
  margin:0;background:#0f0d0a;color:#efeae0;
  font-family:system-ui,-apple-system,sans-serif;line-height:1.55;overflow-x:hidden;
}

.shot{position:relative;display:block;width:100%;background:#0a0908;overflow:hidden;cursor:zoom-in}
.shot img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.shot.zoom img{transform:scale(1.06)}
.shot--hero{height:100%}
.shot--badge{max-width:420px;margin:0 auto}

/* approach */
.approach{position:relative;height:76vh;min-height:440px;max-height:740px}
.approach__band{position:absolute;left:0;right:0;bottom:0;padding:84px 20px 26px;
  background:linear-gradient(180deg,transparent,rgba(8,8,7,.88) 60%)}
.approach__eyebrow{margin:0;font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.approach__name{margin:10px 0 0;color:#fff;font-weight:600;line-height:.98;
  font-size:clamp(1.9rem,8.5vw,4rem);letter-spacing:-.02em}
.approach__enter{display:inline-flex;align-items:center;gap:9px;margin-top:18px;
  padding:11px 20px;border:1px solid rgba(255,255,255,.42);color:#fff;
  text-decoration:none;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;
  transition:background 200ms,color 200ms}
.approach__enter:hover,.approach__enter:focus-visible{background:#fff;color:#0f0d0a}

.lede{max-width:640px;margin:0;padding:26px 20px 0;font-size:1rem;line-height:1.6;color:var(--ink-2)}

/* inside */
.inside{position:relative;height:56vh;min-height:340px;max-height:580px;margin-top:26px}
.inside__band{position:absolute;left:0;right:0;bottom:0;padding:60px 20px 20px;
  background:linear-gradient(180deg,transparent,rgba(8,8,7,.8) 62%)}
.inside__band p{margin:0;color:#fff;font-size:.94rem}

.wrap{max-width:1180px;margin:0 auto;padding:0 20px 40px}
.block{padding:48px 0 0}
.label{display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding-bottom:12px;margin-bottom:18px;border-bottom:1px solid var(--rule)}
.label h2{margin:0;font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.label span{font-size:.72rem;color:var(--ink-3)}

.block .shot{aspect-ratio:16/10;margin-bottom:6px}
.caption{margin:0 0 22px;font-size:.82rem;color:var(--ink-3);font-style:italic}
.caption:last-child{margin-bottom:0}

.services{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:14px}
@media (min-width:820px){.services{grid-template-columns:repeat(3,1fr)}}
.services li{background:var(--panel);border:1px solid var(--rule);padding:18px;font-size:.88rem;color:var(--ink-2)}
.services b{display:block;margin-bottom:6px;color:#efeae0}

.outbound{margin-top:56px;border:1px solid var(--accent);background:rgba(143,168,255,.06);padding:28px 24px}
.outbound h2{margin:0 0 10px;font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.outbound p{margin:0 0 8px;color:var(--ink-2);font-size:.92rem}
.outbound a{color:#fff;font-size:1.15rem;font-weight:600;text-decoration:none;border-bottom:2px solid var(--accent)}
.outbound a:hover{color:var(--accent)}

.fine{max-width:1180px;margin:0 auto;padding:34px 20px 0;font-size:.75rem;color:var(--ink-3)}
