/* MVP additions on top of the staging design system */
.nav-trigger.is-current{color:var(--ink,#0B0E14);font-weight:500}
.pedigree.clients{border-top:1px solid var(--line,#E3E5E0)}
.pedigree-logos.six{grid-template-columns:repeat(6,minmax(0,1fr))}
@media (max-width:900px){.pedigree-logos.six{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:520px){.pedigree-logos.six{grid-template-columns:repeat(2,minmax(0,1fr))}}
.logo-slot img{max-height:28px;max-width:80%;width:auto;height:auto;object-fit:contain}
.logo-slot img.logo-tall{max-height:40px}
.logo-slot .logo-fallback{display:none}
.taza-logo{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:22px;letter-spacing:-.02em;color:#17171b}
.taza-logo svg{width:26px;height:22px}
.cards-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line,#E3E5E0)}
@media (max-width:900px){.cards-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.cards-4{grid-template-columns:1fr}}
.src-link{border-bottom:1px solid currentColor;white-space:nowrap}
.kicker{font-size:clamp(22px,2.4vw,32px);letter-spacing:-.02em;margin:40px 0 0;max-width:30ch}
.svc-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.svc-grid.three{grid-template-columns:1fr}}
.note-line{margin:28px 0 0;color:var(--muted,#5A606B);display:flex;gap:16px;flex-wrap:wrap;align-items:baseline}
.how{max-width:70ch;margin:24px 0 24px;color:var(--muted,#5A606B)}
.how strong{color:var(--ink,#0B0E14)}
.form-wrap.solo{grid-template-columns:1fr;max-width:760px}
form.sc .status{min-height:1.2em;margin:0;font-size:14px}
form.sc .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.people.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.people.three{grid-template-columns:1fr}}
.person.founder .ph{aspect-ratio:1/1;overflow:hidden;background:#EEF0EC}
.person.founder .ph img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(100%)}
.person.founder .creds{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:6px;font-size:13px}
.person.founder .creds li{padding-left:14px;position:relative}
.person.founder .creds li:before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;background:#2F4BFF}
.person.founder .plinks{display:flex;gap:16px;margin-top:14px;font-size:14px}
.person.founder .plinks a{border-bottom:1px solid currentColor}
.talks{display:grid;border-top:1px solid var(--line,#E3E5E0)}
.talk{display:grid;grid-template-columns:220px 1fr auto;gap:24px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--line,#E3E5E0)}
.talk .tt{font-size:19px;letter-spacing:-.01em}
.talk .tt small{display:block;font-size:14px;color:var(--muted,#5A606B);margin-top:4px}
.talk:hover .tt{color:#2F4BFF}
@media (max-width:700px){.talk{grid-template-columns:1fr auto}.talk .label{grid-column:1/-1}}
.prose.narrow{max-width:70ch}
.prose.narrow ul{padding-left:18px}
.foot-brand a[href^="mailto"]{color:inherit;border-bottom:1px solid currentColor}

.section > .kicker,.section > .note-line,.section > .how,.section > .walk,.section > .btn.padded{margin-left:clamp(20px,2.8vw,40px);margin-right:clamp(20px,2.8vw,40px)}
.section > .walk{margin-top:0;margin-bottom:14px}
.section > .btn.padded{margin-bottom:40px}
.section > .note-line{margin-bottom:40px}
.section > .kicker{margin-bottom:48px}

/* Dot field behind the home contact section */
.section.has-dots{position:relative;overflow:hidden}
.section.has-dots>canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.section.has-dots>*:not(canvas){position:relative}

/* Keep count-up numbers on one baseline when a label wraps */
.stats .stat > .label{display:block;min-height:4.6em}

/* ===== Nov 4 review panel changes ===== */
/* Client logos: one rotating strip, all monochrome (Taza included) */
.taza-logo{filter:brightness(0);opacity:.5}
.clients-strip{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center}
@media (min-width:900px){.clients-strip{grid-template-columns:220px 1fr}}
.clients-label{padding:20px var(--gutter) 0}
@media (min-width:900px){.clients-label{padding:0 0 0 var(--gutter)}}
.marquee{overflow:hidden;padding:30px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;width:max-content;animation:sc-marquee 36s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-set{display:flex;align-items:center;gap:72px;list-style:none;margin:0;padding:0 36px}
.mq-logo{display:flex;align-items:center;height:40px}
.mq-logo img{max-height:28px;max-width:150px;width:auto;filter:brightness(0);opacity:.5}
@keyframes sc-marquee{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none;width:auto}.marquee-set{flex-wrap:wrap;justify-content:center;row-gap:24px}.marquee-set[aria-hidden]{display:none}.marquee{-webkit-mask-image:none;mask-image:none}}

/* Sprint cards: who each one is for */
.svc-for{display:block;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--violet);margin-bottom:12px}

/* Section headers: label above headline, one column, more air */
@media (min-width:900px){
  .section-head{grid-template-columns:1fr;align-items:start;gap:18px;padding-top:clamp(80px,8vw,128px)}
  .section-head .h2{max-width:22ch}
  .section-head .lede{max-width:60ch}
}

/* Less box-on-box: drop the full-length vertical page lines */
.frame{border-left-color:transparent;border-right-color:transparent}

/* Home team section: founders, then where the team comes from */
.home-founders{display:grid;grid-template-columns:1fr;gap:32px;padding:0 var(--gutter) 48px}
@media (min-width:700px){.home-founders{grid-template-columns:repeat(3,minmax(0,1fr))}}
.hf{display:grid;gap:6px;color:var(--paper)}
.hf-ph{aspect-ratio:4/5;overflow:hidden;background:#1A1F27;margin-bottom:12px}
.hf-ph img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(100%);transition:filter .3s}
.hf:hover .hf-ph img{filter:grayscale(0)}
.hf strong{font-size:19px;font-weight:500;letter-spacing:-.01em}
.team-from{display:grid;gap:20px;padding:36px var(--gutter);border-top:1px solid #1F242D}
@media (min-width:900px){.team-from{grid-template-columns:220px 1fr;align-items:center}}
.team-from ul{display:flex;flex-wrap:wrap;align-items:center;gap:28px 56px;list-style:none;margin:0;padding:0}
.team-from img{max-height:28px;max-width:150px;width:auto;filter:brightness(0) invert(1);opacity:.6}
.team-from img.logo-tall{max-height:40px}
.team-cta{padding:0 var(--gutter) 56px}
/* audit fixes */
.svc{justify-content:flex-start}
.svc > div:nth-child(2){margin:8px 0 0}
.svc > .svc-top:last-child{margin-top:auto}
@media (min-width:900px){.clients-strip{grid-template-columns:260px 1fr}}
.marquee{-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 90%,transparent)}
.home-founders{max-width:960px;gap:28px}
.hf-ph{aspect-ratio:1/1}
/* QA fixes: no side frame lines at all, gutters restored where the frame used to supply them */
.frame,.dark .frame,.footer .frame{border-left:0;border-right:0}
.talks{margin-left:var(--gutter);margin-right:var(--gutter)}
@media (max-width:899px){.faq-wrap > .label{display:block;padding:20px var(--gutter) 8px}}
/* hover states carried over from staging */
.mq-logo img,.taza-logo,.team-from img{transition:opacity .25s var(--ease)}
.mq-logo:hover img,.mq-logo:hover .taza-logo{opacity:.9}
.team-from li:hover img{opacity:1}
.hf:hover strong{color:var(--violet-soft)}
