/* v2 additions on top of base.css */
.tagline{position:relative;z-index:1;text-align:center;font-size:14px;color:var(--muted);padding-top:34px}
.tagline b{color:var(--g2);font-weight:600}
.hero{padding-top:34px}
.mini{position:absolute;left:-18px;top:-20px;display:flex;align-items:center;gap:10px;background:#0f1113;border:1px solid var(--line2);border-radius:999px;padding:7px 14px 7px 7px;box-shadow:0 18px 44px rgba(0,0,0,.55);font-size:12.5px;z-index:3}
.mini img{width:30px;height:30px;border-radius:50%;object-fit:cover;border:1px solid var(--line2)}
.mini img+img{margin-left:-16px}
.mini b{color:var(--g2);font-weight:600}

/* band title between halves */
.band{padding:70px 0 0;text-align:center}
.band .pill{display:inline-block;font:600 11px/1 Inter;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line2);border-radius:999px;padding:10px 16px}
.band h2{font-size:clamp(34px,4.8vw,64px);font-weight:700;margin:22px auto 14px;max-width:900px}
.band h2 em{font-style:normal;color:var(--g2)}
.band p{color:var(--muted);max-width:640px;margin:0 auto;font-size:17px}

/* desk section */
.desk{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:26px;align-items:stretch}
.desk .cards{display:grid;gap:14px}
.desk .shot{border:1px solid var(--line);border-radius:28px;overflow:hidden;background:#0c0e10;position:relative;min-height:420px}
.desk .shot img{width:100%;height:100%;object-fit:cover}
.lab{position:absolute;left:16px;top:16px;font:600 10.5px/1 Inter;letter-spacing:.16em;text-transform:uppercase;padding:8px 12px;border-radius:999px;background:rgba(10,12,13,.78);backdrop-filter:blur(8px);border:1px solid var(--line2)}
.lab.g{color:var(--g2);border-color:rgba(147,218,61,.5)}
.lab.w{color:var(--warn);border-color:rgba(240,184,74,.5)}
.lab.r{left:auto;right:16px}

/* way art image */
.way .art.im img{width:100%;height:100%;object-fit:cover}

/* parents with portraits */
.parent .ph{flex:none;width:92px;height:92px;border-radius:22px;overflow:hidden;border:1px solid var(--line2)}
.parent .ph img{width:100%;height:100%;object-fit:cover}
.parent .role{display:inline-block;font:700 11px/1 Outfit;letter-spacing:.12em;padding:5px 9px;border-radius:8px;margin-bottom:8px}
.parent.eq .role{background:rgba(239,107,107,.14);color:#ff9d93;border:1px solid rgba(239,107,107,.4)}
.parent.iq .role{background:rgba(111,182,232,.14);color:var(--info);border:1px solid rgba(111,182,232,.45)}
.team{margin-top:22px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);padding:24px 26px}
.team h4{font:600 11px/1 Inter;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin-bottom:18px}
.tg{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.tm{text-align:left}
.tm .im{aspect-ratio:1;border-radius:18px;overflow:hidden;border:1px solid var(--line);margin-bottom:10px}
.tm .im img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.tm:hover .im img{transform:scale(1.06)}
.tm b{display:block;font:600 16px/1.2 Outfit}
.tm small{font-size:12px;color:var(--dim)}
.flow{margin-top:18px;font-size:13.5px;color:var(--muted)}
.flow b{color:var(--g2);font-weight:600}

/* services half */
.half{background:var(--bg2);border-top:1px solid var(--line)}
.sg{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sv{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--card);display:flex;flex-direction:column;transition:transform .2s,border-color .2s}
.sv:hover{transform:translateY(-3px);border-color:var(--line2)}
.sv .im{aspect-ratio:16/10;overflow:hidden;position:relative;background:#0c0e10}
.sv .im img{width:100%;height:100%;object-fit:cover}
.sv .tx{padding:16px 18px 18px}
.sv .dep{font:600 10px/1 Inter;letter-spacing:.16em;text-transform:uppercase;color:var(--g)}
.sv b{display:block;font:600 18px/1.2 Outfit;margin:8px 0 4px}
.sv p{font-size:13px;color:var(--muted)}
.sub{font:600 12px/1 Inter;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin:54px 0 18px;display:flex;align-items:center;gap:14px}
.sub::after{content:"";flex:1;height:1px;background:var(--line)}

/* two column product cards */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pcard{border:1px solid var(--line);border-radius:26px;background:var(--card);overflow:hidden;display:flex;flex-direction:column}
.pcard .im{aspect-ratio:16/9;overflow:hidden;position:relative;background:#0c0e10}
.pcard .im img{width:100%;height:100%;object-fit:cover}
.pcard .tx{padding:26px}
.pcard h3{font-size:30px;font-weight:700;margin:12px 0 10px}
.pcard p{color:var(--muted);font-size:15px}
.kv{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.kv div{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--bg2)}
.kv b{display:block;font:600 14px/1.2 Outfit;margin-bottom:3px}
.kv small{font-size:12px;color:var(--dim);line-height:1.35;display:block}

/* catalog */
.cat{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.cc{border:1px solid var(--line);border-radius:18px;padding:18px;background:var(--card)}
.cc h5{font:600 10.5px/1 Inter;letter-spacing:.18em;text-transform:uppercase;color:var(--g);margin-bottom:4px}
.cc b{display:block;font:600 17px/1.2 Outfit;margin-bottom:12px}
.cc span{display:inline-block;font-size:12.5px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:5px 10px;margin:0 5px 6px 0;background:var(--bg2)}

/* habitat wide */
.habw{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}
.habw .im{position:relative;border-radius:26px;overflow:hidden;border:1px solid var(--line);min-height:380px;background:#0c0e10}
.habw .im img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.habw .im.live img{transform:scale(1.3);transform-origin:50% 58%}

/* dev */
.dev{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}

/* faq */
.faq{max-width:860px}
.faq details{border-bottom:1px solid var(--line);padding:20px 0}
.faq summary{cursor:pointer;list-style:none;font:600 19px/1.3 Outfit;display:flex;justify-content:space-between;gap:20px}
.faq summary::after{content:"+";color:var(--g);font-size:24px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{color:var(--muted);margin-top:10px;font-size:15px;max-width:720px}

@media (max-width:980px){
  .desk,.duo,.habw{grid-template-columns:1fr}
  .tg{grid-template-columns:repeat(3,1fr)}
  .sg,.cat{grid-template-columns:repeat(2,1fr)}
  .dev{grid-template-columns:1fr}
  .mini{left:10px;top:-14px}
}
@media (max-width:560px){
  .sg,.cat,.kv{grid-template-columns:1fr}
  .tg{grid-template-columns:repeat(2,1fr)}
}
