/* Unfire · unified precision layout · 2026-10-19.
   Independent design, inspired by measured editorial grids.
   Loaded last to replace conflicting historical layout overrides. */
:root {
  --uf-page: 960px;
  --uf-gutter: 72px;
}
html, body { max-width:100%; }
#unfire-clean-header-v2 { width:100%!important; }
#unfire-clean-header-v2 .unfire-clean-mainbar {
  height:56px!important;
  min-height:56px!important;
  background:#1d1d1f!important;
}
#unfire-clean-header-v2 .unfire-clean-inner {
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:0!important;
  width:min(var(--uf-page),calc(100vw - var(--uf-gutter)))!important;
  max-width:var(--uf-page)!important;
  height:56px!important;
  min-height:56px!important;
  margin-inline:auto!important;
  padding:0!important;
}
#unfire-clean-header-v2 .unfire-clean-brand {
  height:56px!important;
  flex:0 0 auto!important;
  position:static!important;
  white-space:nowrap!important;
}
#unfire-clean-header-v2 .unfire-clean-nav {
  position:static!important;
  display:flex!important;
  flex:1 1 auto!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:56px!important;
  margin:0 0 0 clamp(46px,5vw,76px)!important;
  gap:clamp(12px,1.4vw,22px)!important;
  padding:0!important;
  transform:none!important;
  translate:none!important;
}
#unfire-clean-header-v2 .unfire-clean-nav a {
  position:static!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:56px!important;
  flex:0 0 auto!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:450!important;
  letter-spacing:0!important;
  text-align:center!important;
  white-space:nowrap!important;
  text-decoration:none!important;
}
#unfire-clean-header-v2 .unfire-clean-nav a:focus-visible {
  outline:2px solid #f5f5f7!important;
  outline-offset:-7px!important;
  border-radius:4px;
}
#unfire-apple-status { display:none!important; }

/* Every main section occupies the same centered editorial column. */
main section > .wrap,
main section > .hero-inner,
main section > div.wrap {
  width:min(var(--uf-page),calc(100vw - var(--uf-gutter)))!important;
  max-width:var(--uf-page)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
main .hero-inner > * {
  max-width:100%;
}
#top .uf-hero-title {
  max-width:100%!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
#company .three,
#work .work-grid,
main .audio-grid,
main .sector-grid {
  gap:16px!important;
}
#company .simple-card {
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:16px!important;
  background:#101013!important;
}
#work .product {
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:18px!important;
  background:#101013!important;
}
#work .product:hover,
#company .simple-card:hover {
  border-color:rgba(255,255,255,.23)!important;
}

/* Keep copy comfortably readable without crowding cards. */
#company .simple-card p,
#work .product p {
  overflow-wrap:break-word;
}
#work .product h3 {
  overflow-wrap:break-word;
}

/* Tablet: clear brand row and one separately centered navigation row. */
@media (max-width:850px) {
  :root { --uf-gutter:48px; }
  #unfire-clean-header-v2 .unfire-clean-mainbar {
    height:auto!important;
    min-height:0!important;
  }
  #unfire-clean-header-v2 .unfire-clean-inner {
    width:min(var(--uf-page),calc(100vw - var(--uf-gutter)))!important;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    flex-wrap:wrap!important;
    column-gap:0!important;
    row-gap:0!important;
  }
  #unfire-clean-header-v2 .unfire-clean-brand {
    height:46px!important;
    flex:0 0 100%!important;
  }
  #unfire-clean-header-v2 .unfire-clean-nav {
    flex:0 0 100%!important;
    width:100%!important;
    height:40px!important;
    min-height:40px!important;
    margin:0!important;
    padding:0!important;
    gap:12px!important;
    justify-content:space-between!important;
    overflow:visible!important;
  }
  #unfire-clean-header-v2 .unfire-clean-nav a {
    height:40px!important;
    font-size:11px!important;
  }
}

/* Phone: all seven links are visible in two readable rows, no sideways clipping. */
@media (max-width:600px) {
  :root { --uf-gutter:40px; }
  #unfire-clean-header-v2 .unfire-clean-brand { height:45px!important; }
  #unfire-clean-header-v2 .unfire-clean-inner,
  main section > .wrap,
  main section > .hero-inner,
  main section > div.wrap {
    width:calc(100vw - var(--uf-gutter))!important;
    max-width:none!important;
  }
  #unfire-clean-header-v2 .unfire-clean-nav {
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    align-content:center!important;
    align-items:center!important;
    column-gap:4px!important;
    row-gap:0!important;
    height:auto!important;
    min-height:84px!important;
    padding-bottom:4px!important;
  }
  #unfire-clean-header-v2 .unfire-clean-nav a {
    display:flex!important;
    width:calc((100% - 12px)/4)!important;
    flex:0 0 calc((100% - 12px)/4)!important;
    height:40px!important;
    min-width:0!important;
    padding:0 2px!important;
    font-size:11px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
    text-align:center!important;
  }
  #company, #work, #audio, #system, #scale, #funding { scroll-margin-top:146px!important; }
  #top .uf-hero-title { max-width:100%!important; }
  #company .simple-card,
  #work .product { border-radius:14px!important; }
}
@media (prefers-reduced-motion:reduce) {
  #work .product, #company .simple-card { transition:none!important; }
}


/* Compact, centered navigation with the original green cross-platform indicator.
   No absolute positioning: Contact and status occupy separate grid cells. */
#unfire-clean-header-v2 .unfire-clean-mainbar{
  height:48px!important;
  min-height:48px!important;
}
#unfire-clean-header-v2 .unfire-clean-inner{
  display:grid!important;
  grid-template-columns:max-content minmax(0,1fr) max-content!important;
  align-items:center!important;
  justify-content:normal!important;
  gap:20px!important;
  width:min(var(--uf-page),calc(100vw - var(--uf-gutter)))!important;
  max-width:980px!important;
  height:48px!important;
  min-height:48px!important;
  padding:0!important;
}
#unfire-clean-header-v2 .unfire-clean-brand{
  position:static!important;
  height:48px!important;
  width:auto!important;
  min-width:0!important;
}
#unfire-clean-header-v2 .unfire-clean-nav{
  position:static!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  flex:none!important;
  width:100%!important;
  height:48px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  column-gap:clamp(13px,1.45vw,21px)!important;
  row-gap:0!important;
  overflow:visible!important;
}
#unfire-clean-header-v2 .unfire-clean-nav a{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  height:48px!important;
  padding:0!important;
  font-size:11.5px!important;
  letter-spacing:0!important;
}
#unfire-clean-header-v2 .unfire-header-platform-status{
  position:static!important;
  display:inline-flex!important;
  flex:none!important;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
  color:#a1a1a6;
  font-size:10.5px;
  font-weight:400;
  line-height:1.25;
  letter-spacing:0;
  white-space:nowrap;
  pointer-events:none;
  user-select:none;
}
#unfire-clean-header-v2 .unfire-header-platform-status .unfire-status-dot{
  display:inline-block;
  width:6px;
  height:6px;
  flex:none;
  border-radius:50%;
  background:#30d158;
  box-shadow:0 0 0 1px rgba(48,209,88,.16),0 0 6px rgba(48,209,88,.22);
}
/* Restore a tidy two-level header where width cannot accommodate three columns. */
@media(max-width:1000px){
  #unfire-clean-header-v2 .unfire-clean-mainbar{
    height:auto!important;
    min-height:0!important;
  }
  #unfire-clean-header-v2 .unfire-clean-inner{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) max-content!important;
    grid-template-rows:45px 38px!important;
    width:min(var(--uf-page),calc(100vw - var(--uf-gutter)))!important;
    height:auto!important;
    min-height:83px!important;
    row-gap:0!important;
    column-gap:12px!important;
    padding:0!important;
  }
  #unfire-clean-header-v2 .unfire-clean-brand{
    grid-column:1!important;
    grid-row:1!important;
    height:45px!important;
    width:max-content!important;
  }
  #unfire-clean-header-v2 .unfire-header-platform-status{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
  }
  #unfire-clean-header-v2 .unfire-clean-nav{
    grid-column:1/-1!important;
    grid-row:2!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    justify-content:center!important;
    align-content:center!important;
    column-gap:clamp(16px,3vw,28px)!important;
    height:38px!important;
    min-height:38px!important;
    width:100%!important;
  }
  #unfire-clean-header-v2 .unfire-clean-nav a{
    font-size:11.5px!important;
    height:38px!important;
  }
}
/* Narrow phones: compact centered links, then a separate status line. */
@media(max-width:550px){
  #unfire-clean-header-v2 .unfire-clean-inner{
    grid-template-columns:1fr!important;
    grid-template-rows:44px auto 29px!important;
    width:calc(100vw - var(--uf-gutter))!important;
    min-height:0!important;
    row-gap:0!important;
  }
  #unfire-clean-header-v2 .unfire-clean-brand{
    grid-column:1!important;grid-row:1!important;height:44px!important;
  }
  #unfire-clean-header-v2 .unfire-clean-nav{
    grid-column:1!important;grid-row:2!important;
    display:flex!important;flex-wrap:wrap!important;
    align-items:center!important;justify-content:center!important;
    align-content:center!important;
    width:100%!important;height:auto!important;min-height:70px!important;
    gap:0 16px!important;padding:0 0 4px!important;
    overflow:visible!important;
  }
  #unfire-clean-header-v2 .unfire-clean-nav a{
    height:34px!important;
    font-size:11px!important;
  }
  #unfire-clean-header-v2 .unfire-header-platform-status{
    grid-column:1!important;grid-row:3!important;
    justify-self:center!important;
    justify-content:center!important;
    font-size:10px;
  }
  #company,#work,#audio,#system,#scale,#funding{scroll-margin-top:172px!important}
}
