/* Build Platform Product Foundation
   Shared typography, density and surface discipline for BuildACS + BuildQuality. */

:root {
  --bc-font-sans:"Noto Sans","Segoe UI",Arial,sans-serif;
  --bc-ink:#172033;
  --bc-muted:#667085;
  --bc-subtle:#98a2b3;
  --bc-line:#e4e7ec;
  --bc-line-strong:#d0d5dd;
  --bc-surface:#ffffff;
  --bc-surface-soft:#f7f8fa;
  --bc-radius-sm:6px;
  --bc-radius-md:10px;
  --bc-radius-lg:12px;
  --bc-shadow-sm:0 1px 2px rgba(16,24,40,.04);
  --bc-shadow-md:0 8px 24px rgba(16,24,40,.055);
  --bc-space-1:4px;
  --bc-space-2:8px;
  --bc-space-3:12px;
  --bc-space-4:16px;
  --bc-space-5:20px;
  --bc-space-6:24px;
  --bc-space-8:32px;
}

html,
body,
button,
input,
select,
textarea,
.pa-page,
.lg-universe,
.tm-universe,
.assurance-shell,
.pqc-shell {
  font-family:var(--bc-font-sans) !important;
  font-synthesis:none;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

body {
  --vz-font-sans-serif:var(--bc-font-sans);
  --vz-body-font-family:var(--bc-font-sans);
}

:is(.pa-page,.lg-universe,.tm-universe,.assurance-shell,.pqc-shell) :is(h1,h2,h3,h4) {
  font-family:var(--bc-font-sans) !important;
  font-synthesis:none;
  text-wrap:balance;
}

/* Public product overview: editorial hierarchy, not a grid of promotional cards. */
.pa-page .pa-hero {
  min-height:640px;
  grid-template-columns:minmax(0,1.12fr) minmax(390px,.78fr);
  background:linear-gradient(118deg,#080d18 0%,#0c1424 58%,#101b31 100%);
}
.pa-page .pa-hero-grid { opacity:.16; background-size:64px 64px; }
.pa-page .pa-hero::after { display:none; }
.pa-page .pa-hero-glow { opacity:.52; filter:blur(140px); }
.pa-page .pa-hero h1 {
  max-width:820px;
  font-size:clamp(38px,4.35vw,62px);
  font-weight:700;
  line-height:1.12;
  letter-spacing:-.024em;
  word-spacing:.015em;
}
.pa-page .pa-hero h1 em { margin-top:.08em; }
.pa-page .pa-eyebrow,
.pa-page .pa-section-heading>div>span,
.pa-page .pa-boundary-copy>span { font-weight:700; letter-spacing:.14em; }
.pa-page :is(
  .pa-primary,
  .pa-secondary,
  .pa-command-status small,
  .pa-command-record>span,
  .pa-command-foot span,
  .pa-audience-card>span,
  .pa-capability-top span,
  .pa-workflow-step>div span,
  .pa-map-node small,
  .pa-map-bridge small,
  .pa-final-cta span,
  .pa-final-cta>a
) { font-weight:700; }
.pa-page .pa-hero-lead { max-width:690px; font-size:15px; line-height:1.75; }
.pa-page .pa-command-card {
  border-radius:var(--bc-radius-lg);
  background:rgba(14,23,40,.88);
  box-shadow:0 18px 55px rgba(0,0,0,.3);
  backdrop-filter:none;
}
.pa-page .pa-command-head>span { display:none; }
.pa-page .pa-command-head { min-height:44px; padding:0 16px; }
.pa-page .pa-command-record {
  border:0;
  border-top:1px solid rgba(255,255,255,.075);
  border-radius:0;
  background:transparent;
}
.pa-page .pa-command-record.active {
  border-color:rgba(255,255,255,.075);
  background:rgba(var(--pa-rgb),.07);
}
.pa-page .pa-command-record.active>i { animation:none; }
.pa-page .pa-section { padding-top:88px; padding-bottom:88px; }
.pa-page .pa-section-heading h2,
.pa-page .pa-boundary-copy h2 {
  font-size:clamp(28px,2.7vw,40px);
  font-weight:700;
  line-height:1.16;
  letter-spacing:-.02em;
}
.pa-page .pa-audience-grid {
  border-radius:0;
  border-right:0;
  border-left:0;
  box-shadow:none;
}
.pa-page .pa-audience-card {
  min-height:205px;
  padding:28px 26px;
}
.pa-page .pa-audience-card::before,
.pa-page .pa-audience-card .pa-icon { display:none; }
.pa-page .pa-audience-card h3 { margin:0 0 12px; font-weight:700; }
.pa-page .pa-capability-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--pa-line);
  border-left:1px solid var(--pa-line);
  background:#fff;
}
.pa-page .pa-capability-card {
  min-height:175px;
  padding:28px;
  border:0;
  border-right:1px solid var(--pa-line);
  border-bottom:1px solid var(--pa-line);
  border-radius:0;
  box-shadow:none;
}
.pa-page .pa-capability-card:hover {
  border-color:var(--pa-line);
  background:#fbfcfd;
  box-shadow:none;
  transform:none;
}
.pa-page .pa-capability-top i { display:none; }
.pa-page .pa-capability-card h3 { margin:22px 0 9px; font-weight:700; }
.pa-page .pa-workflow-step h3,
.pa-page .pa-trust-grid h3 { font-weight:700; }
.pa-page .pa-trust-grid {
  gap:0;
  border-top:1px solid var(--pa-line);
}
.pa-page .pa-trust-grid article {
  min-height:118px;
  padding:24px 4px;
  border:0;
  border-bottom:1px solid var(--pa-line);
  border-radius:0;
}
.pa-page .pa-trust-grid article:nth-child(odd) { padding-right:32px; }
.pa-page .pa-trust-grid article:nth-child(even) { padding-left:32px; }
.pa-page .pa-trust-grid article>i { display:none; }
.pa-page .pa-final-cta { border-radius:var(--bc-radius-lg); box-shadow:var(--bc-shadow-md); }
.pa-page .pa-final-cta::after { display:none; }

/* Login/register: remove decorative noise and keep one clear authentication task. */
.lg-universe .lg-particles,
.lg-universe .lg-bg-illustration { display:none; }
.lg-universe .lg-bg-grid { opacity:.45; }
.lg-universe .lg-bg-glow { opacity:.5; filter:blur(150px); }
.lg-universe .lg-hero-title {
  font-weight:700;
  line-height:1.16;
  letter-spacing:-.022em;
}
.lg-universe .lg-product-kicker { font-weight:700; letter-spacing:.14em; }
.lg-universe .lg-feature-cards {
  gap:0;
  border-top:1px solid var(--lg-border);
}
.lg-universe .lg-feat-card,
.lg-universe.lg-light .lg-feat-card {
  padding:13px 0;
  border:0;
  border-bottom:1px solid var(--lg-border);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.lg-universe .lg-feat-card:hover,
.lg-universe.lg-light .lg-feat-card:hover {
  border-color:var(--lg-border);
  background:transparent;
  transform:none;
}
.lg-universe .lg-feat-icon { display:none; }
.lg-universe .lg-feat-name { font-weight:600; }
.lg-universe .lg-terminal {
  border-radius:var(--bc-radius-lg);
  box-shadow:0 18px 50px rgba(0,0,0,.25);
  backdrop-filter:none;
}
.lg-universe .lg-term-dots,
.lg-universe .lg-greeting-icon { display:none; }
.lg-universe .lg-greeting h2 { font-weight:700; letter-spacing:-.015em; }
.lg-universe .lg-btn-submit,
.lg-universe .lg-oauth-button { border-radius:var(--bc-radius-md); }

/* Terms: an enterprise legal-document workspace, not a marketing landing page. */
.tm-universe {
  background:#f5f7fa;
  color:#344054;
  line-height:1.65;
}
.tm-universe .tm-topbar {
  height:64px;
  padding:0 clamp(20px,4vw,64px);
  background:#0b1220;
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter:none;
}
.tm-universe .tm-about-link { color:#c7cfdb; }
.tm-universe .tm-btn-register {
  border-radius:var(--bc-radius-sm);
  background:var(--tm-product);
  box-shadow:none;
}
.tm-universe .tm-btn-register:hover { transform:none; box-shadow:none; filter:brightness(.94); }
.tm-universe .tm-hero {
  padding:112px clamp(24px,6vw,96px) 40px;
  text-align:left;
  background:#fff;
  border-bottom:1px solid #e4e7ec;
}
.tm-universe .tm-hero-content {
  max-width:1180px;
  margin:0 auto;
  animation:none;
}
.tm-universe .tm-hero-badge {
  display:block;
  margin:0 0 16px;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  color:var(--tm-product);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.tm-universe .tm-hero-title {
  max-width:960px;
  margin:0 0 14px;
  color:#101828;
  font-size:clamp(2.1rem,4vw,3rem);
  font-weight:700;
  line-height:1.16;
  letter-spacing:-.022em;
}
.tm-universe .tm-hero-title span {
  color:#101828;
  background:none;
  -webkit-background-clip:initial;
  background-clip:initial;
  -webkit-text-fill-color:currentColor;
}
.tm-universe .tm-hero-desc {
  max-width:800px;
  margin:0 0 20px;
  color:#667085;
  font-size:.96rem;
  line-height:1.65;
}
.tm-universe .tm-hero-meta {
  justify-content:flex-start;
  gap:0;
}
.tm-universe .tm-meta-pill {
  gap:0;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  color:#667085;
  font-size:.78rem;
  font-weight:500;
}
.tm-universe .tm-meta-pill+.tm-meta-pill::before {
  content:"·";
  margin:0 12px;
  color:#98a2b3;
}
.tm-universe .tm-main {
  width:100%;
  max-width:1240px;
  grid-template-columns:240px minmax(0,880px);
  justify-content:space-between;
  gap:56px;
  padding:40px 32px 80px;
}
.tm-universe .tm-sidebar { min-width:0; }
.tm-universe .tm-toc {
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
}
.tm-universe .tm-toc:hover { box-shadow:none; }
.tm-universe .tm-toc-bar {
  padding:0 10px 13px;
  border-bottom:1px solid #d0d5dd;
  background:transparent;
}
.tm-universe .tm-toc-bar-title {
  margin:0;
  color:#475467;
  font-family:var(--bc-font-sans);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.06em;
}
.tm-universe .tm-toc-nav {
  gap:0;
  padding:10px 0;
}
.tm-universe .tm-toc-link {
  gap:8px;
  padding:7px 10px;
  border-left:2px solid transparent;
  border-radius:0;
  color:#667085;
  font-size:.78rem;
  line-height:1.35;
}
.tm-universe .tm-toc-link:hover {
  background:transparent;
  color:#101828;
}
.tm-universe .tm-toc-link.active {
  border-color:var(--tm-product);
  background:transparent;
  color:#101828;
}
.tm-universe .tm-toc-num {
  min-width:20px;
  color:#98a2b3;
  font-family:var(--bc-font-sans);
}
.tm-universe .tm-toc-link.active .tm-toc-num { color:var(--tm-product); }
.tm-universe .tm-toc-progress { background:#eaecf0; }
.tm-universe .tm-content { max-width:880px; }
.tm-universe .tm-product-context {
  margin:0;
  padding:15px 0 15px 16px;
  border:0;
  border-left:3px solid var(--tm-product);
  border-radius:0;
  background:transparent;
}
.tm-universe .tm-product-context strong { color:#344054; font-size:.86rem; }
.tm-universe .tm-product-context p { color:#667085; font-size:.76rem; }
.tm-universe .tm-section {
  margin:0;
  padding:32px 0;
  border:0;
  border-top:1px solid #dfe3e8;
  border-radius:0;
  background:transparent;
  opacity:1;
  transform:none;
}
.tm-universe .tm-section:last-of-type { border-bottom:1px solid #dfe3e8; }
.tm-universe .tm-section:hover {
  border-color:#dfe3e8;
  background:transparent;
  box-shadow:none;
}
.tm-universe .tm-section:target {
  border-color:#dfe3e8;
  box-shadow:none;
}
.tm-universe .tm-section-header {
  align-items:baseline;
  gap:14px;
  margin-bottom:18px;
  padding:0;
  border:0;
}
.tm-universe .tm-section-num {
  min-width:28px;
  color:var(--tm-product);
  font-family:var(--bc-font-sans);
  font-size:.82rem;
  font-weight:700;
  opacity:1;
}
.tm-universe .tm-section-header h2 {
  color:#101828;
  font-size:1.24rem;
  font-weight:700;
  line-height:1.3;
  letter-spacing:-.012em;
}
.tm-universe .tm-section-body p,
.tm-universe .tm-section-body ul li {
  color:#475467;
  font-size:.9rem;
  line-height:1.7;
}
.tm-universe .tm-section-body .tm-section-intro { color:#344054; font-size:.92rem; }
.tm-universe .tm-section-body h3 { color:#101828; font-size:.94rem; font-weight:600; }
.tm-universe .tm-section-body li strong,
.tm-universe .tm-callout strong { color:#344054; }
.tm-universe .tm-section-body a { color:var(--tm-product); }
.tm-universe .tm-term-list { gap:0; }
.tm-universe .tm-term-list li {
  padding:.72rem 0 .72rem 1.1rem;
  border:0;
  border-bottom:1px solid #eaecf0;
  border-radius:0;
  background:transparent;
}
.tm-universe .tm-term-list li::before {
  left:0;
  top:1.28rem;
  width:4px;
  height:4px;
  box-shadow:none;
}
.tm-universe .tm-callout {
  gap:0;
  padding:14px 16px;
  border:0;
  border-left:3px solid var(--tm-product);
  border-radius:0;
  background:#eef2f6;
}
.tm-universe .tm-callout-icon { display:none; }
.tm-universe .tm-callout p,
.tm-universe .tm-callout li { color:#475467 !important; }
.tm-universe .tm-callout-warning { border-left-color:#d97706; background:#fffbeb; }
.tm-universe .tm-callout-info { border-left-color:#0284c7; background:#f0f9ff; }
.tm-universe .tm-disclaimer {
  gap:12px;
  margin-top:28px;
  padding:18px 0;
  border:0;
  border-radius:0;
  background:transparent;
}
.tm-universe .tm-disclaimer>i { color:var(--tm-product); font-size:18px; }
.tm-universe .tm-disclaimer strong { color:#344054; }
.tm-universe .tm-disclaimer p { color:#667085; }
.tm-universe .tm-bottom-cta {
  max-width:1240px;
  margin:0 auto;
  padding:0 32px 64px;
}
.tm-universe .tm-bottom-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  padding:24px 28px;
  border:1px solid #dfe3e8;
  border-radius:var(--bc-radius-md);
  background:#fff;
  text-align:left;
}
.tm-universe .tm-bottom-inner h2 {
  margin:0 0 4px;
  color:#101828;
  font-size:1.05rem;
  font-weight:700;
}
.tm-universe .tm-bottom-inner p {
  margin:0;
  color:#667085;
  font-size:.84rem;
}
.tm-universe .tm-cta-btn {
  flex:0 0 auto;
  padding:.72rem 1rem;
  border-radius:var(--bc-radius-sm);
  background:var(--tm-product);
  font-size:.84rem;
  box-shadow:none;
}
.tm-universe .tm-cta-btn:hover { transform:none; box-shadow:none; filter:brightness(.94); }
.tm-universe .tm-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:22px clamp(24px,6vw,96px);
  border-top:1px solid #e4e7ec;
  background:#fff;
  text-align:left;
}
.tm-universe .tm-footer p { color:#667085; }
.tm-universe .tm-footer>div { margin:0; color:#98a2b3; }
.tm-universe .tm-footer a { color:#475467; }
.tm-universe::-webkit-scrollbar-track { background:#f5f7fa; }
.tm-universe::-webkit-scrollbar-thumb { background:#cbd0d8; }

/* Shared BuildACS command surfaces: data-first, restrained and low-elevation. */
.assurance-shell .kpi-command-hero {
  min-height:0;
  padding:1.35rem 1.6rem;
  border-radius:var(--bc-radius-lg) var(--bc-radius-lg) 0 0;
  background:linear-gradient(118deg,#111827 0%,#172554 58%,#243b75 100%);
  box-shadow:0 8px 22px rgba(16,24,40,.1);
}
.assurance-shell .kpi-command-hero::before,
.assurance-shell .kpi-command-hero::after { display:none; }
.assurance-shell .kpi-command-hero h1 {
  font-family:var(--bc-font-sans) !important;
  font-size:clamp(1.55rem,2vw,2rem);
  font-weight:700;
  line-height:1.2;
  letter-spacing:-.02em;
}
.assurance-shell .kpi-command-hero__eyebrow { font-weight:600; letter-spacing:.12em; }
.assurance-shell .kpi-health-panel {
  border-radius:var(--bc-radius-md);
  background:rgba(5,11,30,.22);
  box-shadow:none;
  backdrop-filter:none;
}
.assurance-shell .kpi-signal-strip { border-radius:0 0 var(--bc-radius-md) var(--bc-radius-md); box-shadow:var(--bc-shadow-sm); }
.assurance-shell .signal-icon { display:none; }
.assurance-shell .kpi-metric-card,
.assurance-shell .kpi-panel,
.assurance-shell .kpi-module-card {
  border-radius:var(--bc-radius-md);
  box-shadow:var(--bc-shadow-sm);
}
.assurance-shell .kpi-metric-card::after,
.assurance-shell .kpi-panel-header-icon,
.assurance-shell .kpi-module-card::before,
.assurance-shell .kpi-module-card__arrow { display:none; }
.assurance-shell .kpi-metric-card__top i {
  width:auto;
  height:auto;
  border-radius:0;
  background:transparent;
  font-size:.85rem;
}
.assurance-shell .kpi-module-card {
  min-height:145px;
  transition:border-color .16s ease,background .16s ease;
}
.assurance-shell .kpi-module-card:hover {
  border-color:#cfd6e1;
  background:#fbfcfd;
  box-shadow:var(--bc-shadow-sm);
  transform:none;
}
.assurance-shell .kpi-module-card__icon {
  width:28px;
  height:28px;
  border-radius:0;
  background:transparent;
  font-size:1rem;
}
.assurance-shell .kpi-workflow-stage { border-radius:var(--bc-radius-sm); background:#fff; }
.assurance-shell .kpi-workflow-stage__head>span { border-radius:var(--bc-radius-sm); }

/* BuildQuality command surfaces use the same density with their own teal identity. */
.pqc-shell .pqc-hero {
  min-height:190px;
  padding:28px 32px;
  border-radius:var(--bc-radius-lg);
  background:linear-gradient(118deg,#0c2b2e 0%,#0f5f59 62%,#148578 100%);
  box-shadow:0 8px 22px rgba(15,118,110,.11);
}
.pqc-shell .pqc-hero h1 {
  font-size:clamp(1.65rem,2.3vw,2.15rem);
  font-weight:700;
  line-height:1.2;
  letter-spacing:-.02em;
}
.pqc-shell .pqc-live { font-weight:600; letter-spacing:.12em; }
.pqc-shell .pqc-health { border-radius:var(--bc-radius-md); }
.pqc-shell .pqc-signal-strip { border-radius:0 0 var(--bc-radius-md) var(--bc-radius-md); box-shadow:var(--bc-shadow-sm); }
.pqc-shell .pqc-signal-strip i { display:none; }
.pqc-shell .pqc-section,
.pqc-shell .pqc-module-card,
.pqc-shell .pqc-workspace-kpis>div { border-radius:var(--bc-radius-md); box-shadow:var(--bc-shadow-sm); }
.pqc-shell .pqc-module-card { transition:border-color .16s ease,background .16s ease; }
.pqc-shell .pqc-module-card:hover {
  border-color:#cbdad8;
  background:#fbfdfd;
  box-shadow:var(--bc-shadow-sm);
  transform:none;
}
.pqc-shell .pqc-module-icon {
  width:28px;
  height:28px;
  border-radius:0;
  background:transparent;
  font-size:1rem;
}

@media (max-width:860px) {
  .pa-page .pa-hero { grid-template-columns:1fr; min-height:0; }
  .pa-page .pa-capability-grid { grid-template-columns:1fr; }
  .tm-universe .tm-main {
    grid-template-columns:1fr;
    gap:0;
    padding:32px 24px 64px;
  }
  .tm-universe .tm-sidebar { display:none; }
  .tm-universe .tm-content { max-width:none; }
  .tm-universe .tm-bottom-inner { align-items:flex-start; flex-direction:column; }
}

@media (max-width:600px) {
  .pa-page .pa-hero h1 { font-size:36px; line-height:1.15; }
  .pa-page .pa-trust-grid article:nth-child(n) { padding:22px 0; }
  .tm-universe .tm-topbar { padding:0 16px; }
  .tm-universe .tm-topbar-brand .buildacs-wordmark small,
  .tm-universe .tm-about-link { display:none; }
  .tm-universe .tm-hero { padding:96px 20px 30px; }
  .tm-universe .tm-hero-title { font-size:1.9rem; }
  .tm-universe .tm-hero-meta { align-items:flex-start; flex-direction:column; }
  .tm-universe .tm-meta-pill+.tm-meta-pill::before { content:none; }
  .tm-universe .tm-main { padding:24px 20px 48px; }
  .tm-universe .tm-section { padding:24px 0; }
  .tm-universe .tm-section-header { gap:8px; }
  .tm-universe .tm-bottom-cta { padding:0 20px 48px; }
  .tm-universe .tm-bottom-inner { padding:20px; }
  .tm-universe .tm-footer { align-items:flex-start; flex-direction:column; padding:20px; }
  .tm-universe .tm-footer>div { justify-content:flex-start; }
}

@media (prefers-reduced-motion:reduce) {
  .pa-page *,
  .lg-universe *,
  .tm-universe *,
  .assurance-shell *,
  .pqc-shell * { animation:none !important; transition:none !important; }
}
