/* KUBOLAB redesign — Studio (scoped under .kbl) */

/* ---------- Hero ---------- */
.kbl .hero{
  display:grid; grid-template-columns:1fr 1fr; align-items:center; min-height:92vh; padding-top:80px;
}
.kbl .hero-copy{ padding:40px clamp(24px,5vw,64px); }
.kbl .hero-copy h1{ font-weight:600; font-size:clamp(3rem,6.5vw,5rem); line-height:0.96; letter-spacing:-0.02em; margin:0 0 26px; }
.kbl .hero-copy p{ font-size:1.05rem; color:var(--text-soft); max-width:44ch; line-height:1.7; margin:0; }
.kbl .hero-img{ position:relative; height:92vh; overflow:hidden; background:var(--bg-panel); }
@media (max-width:900px){
  .kbl .hero{ grid-template-columns:1fr; min-height:auto; }
  .kbl .hero-img{ height:60vh; order:-1; }
  .kbl .hero-copy{ padding:40px clamp(20px,5vw,48px); }
}

/* ---------- Quem faz ---------- */
.kbl .maker{ padding:120px clamp(20px,4vw,48px); max-width:640px; margin:0 auto; }
.kbl .maker .eyebrow{ justify-content:center; }
.kbl .maker h2{
  font-weight:600; font-size:clamp(1.9rem,3.6vw,2.5rem); line-height:1.2; letter-spacing:-0.01em;
  text-align:center; margin:0 0 32px; text-wrap:balance;
}
.kbl .maker p{ color:var(--text-soft); font-size:1rem; line-height:1.75; margin:0 0 18px; }
.kbl .maker p:last-child{ margin-bottom:0; }

/* ---------- Process full-bleed ---------- */
.kbl .process{ position:relative; display:grid; grid-template-columns:1fr 1fr; }
.kbl .process-img{ position:relative; height:640px; overflow:hidden; background:var(--bg-panel); }
.kbl .process-copy{ display:flex; flex-direction:column; justify-content:center; padding:56px clamp(24px,5vw,64px); background:var(--bg-panel); }
.kbl .process-copy h2{ font-weight:600; font-size:clamp(1.7rem,3.2vw,2.3rem); line-height:1.2; letter-spacing:-0.01em; margin:0 0 22px; }
.kbl .process-copy p{ color:var(--text-soft); font-size:0.98rem; line-height:1.75; margin:0 0 16px; max-width:46ch; }
.kbl .process-copy p:last-child{ margin-bottom:0; }
@media (max-width:900px){
  .kbl .process{ grid-template-columns:1fr; }
  .kbl .process-img{ height:420px; order:-1; }
}

/* ---------- Award / press ---------- */
.kbl .press{ padding:110px clamp(20px,4vw,48px); max-width:760px; margin:0 auto; text-align:center; }
.kbl .press .eyebrow{ justify-content:center; }
.kbl .press h2{ font-weight:600; font-size:clamp(1.7rem,3.2vw,2.3rem); line-height:1.2; letter-spacing:-0.01em; margin:0 0 22px; }
.kbl .press p{ color:var(--text-soft); font-size:1rem; line-height:1.75; margin:0; }
.kbl .press-list{
  display:flex; flex-direction:column; gap:1px; background:var(--line); border:1px solid var(--line);
  margin:0 0 32px; text-align:left;
}
.kbl .press-item{ display:flex; gap:20px; align-items:center; padding:18px 22px; background:var(--bg); transition:background .18s ease; }
.kbl a.press-item:hover{ background:var(--bg-panel); }
.kbl .press-item-year{
  font-weight:600; font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--text-faint);
  min-width:52px; font-variant-numeric:tabular-nums;
}
.kbl .press-item-title{ font-weight:600; font-size:1rem; margin:0 0 2px; }
.kbl .press-item-desc{ color:var(--text-soft); font-size:0.88rem; margin:0; }
.kbl .press-item-logo{ margin-left:auto; flex:none; display:flex; align-items:center; }
.kbl .press-item-logo img{
  height:26px; width:auto; max-width:92px; object-fit:contain;
  filter:grayscale(1); opacity:.5; transition:opacity .18s ease, filter .18s ease;
}
.kbl a.press-item:hover .press-item-logo img{ opacity:1; filter:grayscale(0); }
@media (max-width:560px){
  .kbl .press-item{ flex-direction:column; align-items:flex-start; gap:6px; }
  .kbl .press-item-logo{ display:none; }
}

/* ---------- Closing CTA ---------- */
.kbl .closing{ padding:100px clamp(20px,4vw,48px) 120px; text-align:center; border-top:1px solid var(--line); }
.kbl .closing h2{ font-weight:600; font-size:clamp(2rem,4vw,2.8rem); letter-spacing:-0.01em; margin:0 0 30px; text-wrap:balance; }
.kbl .closing-cta{
  display:inline-flex; align-items:center; gap:10px; font-weight:600; font-size:13px; letter-spacing:0.06em; text-transform:uppercase;
  background:var(--ink); color:var(--ink-contrast); padding:16px 28px; border-radius:2px; transition:background .2s;
}
.kbl .closing-cta:hover{ background:var(--ink-hover); }
