:root {
  --ma-bg:#f5f7f4;
  --ma-surface:#fff;
  --ma-soft:#eef3f0;
  --ma-border:#dce5e0;
  --ma-border-control:#7c8a85;
  --ma-text:#1e2925;
  --ma-muted:#5f6b65;
  --ma-primary:#426f65;
  --ma-dark:#315d54;
  --ma-primary-soft:#e2ede8;
  --ma-serif:Georgia,"Times New Roman",serif;
  --ma-sans:Manrope,"Avenir Next",Avenir,"Segoe UI",sans-serif;
  --shadow:0 18px 60px rgba(49,93,84,.09);
  color-scheme:light
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth
}

body {
  margin:0;
  background:var(--ma-bg);
  color:var(--ma-text);
  font:16px/1.6 var(--ma-sans);
  overflow-wrap:break-word
}

a {
  color:inherit;
  text-decoration:none
}

button {
  font:inherit
}

a,button {
  outline-offset:4px
}

a:focus-visible,button:focus-visible {
  outline:3px solid var(--ma-dark)
}

.skip-link {
  position:fixed;
  z-index:99;
  left:1rem;
  top:-5rem;
  padding:.75rem 1rem;
  background:var(--ma-text);
  color:#fff;
  border-radius:.5rem
}

.skip-link:focus {
  top:1rem
}

.page-width {
  width:min(1180px,calc(100% - 48px));
  margin-inline:auto
}

.site-header {
  height:80px;
  width:min(1280px,calc(100% - 48px));
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem
}

.brand {
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  font-weight:750;
  letter-spacing:-.02em;
  font-size:1.08rem
}

.monogram {
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:2px solid var(--ma-primary);
  border-radius:10px;
  color:var(--ma-dark);
  font-weight:850;
  font-size:.82rem;
  letter-spacing:-.12em;
  padding-right:.12em
}

.header-nav {
  display:flex;
  gap:2rem;
  color:var(--ma-muted);
  font-size:.92rem
}

.header-nav a:hover,.text-link:hover {
  color:var(--ma-dark)
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.85rem 1.25rem;
  border-radius:12px;
  background:var(--ma-dark);
  color:#fff;
  font-weight:700;
  border:1px solid var(--ma-dark)
}

.button:hover {
  background:#244a43
}

.button-small {
  padding:.58rem .9rem;
  font-size:.88rem
}

.hero {
  padding:7.5rem 0 6.5rem;
  text-align:center
}

.eyebrow,.section-kicker {
  font-size:.72rem;
  letter-spacing:.16em;
  font-weight:800;
  color:var(--ma-primary);
  margin:0 0 1rem
}

.hero h1 {
  font-size:clamp(2.8rem,6.5vw,5.7rem);
  line-height:1.02;
  letter-spacing:-.055em;
  margin:0 auto;
  max-width:1000px
}

.hero h1 em {
  font-family:var(--ma-serif);
  font-weight:400;
  color:var(--ma-primary);
  letter-spacing:-.04em
}

.hero-copy {
  max-width:680px;
  margin:2rem auto;
  color:var(--ma-muted);
  font-size:1.15rem
}

.hero-actions {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:1.5rem;
  flex-wrap:wrap
}

.text-link {
  font-weight:750;
  color:var(--ma-dark)
}

.fine-print {
  font-size:.78rem;
  color:var(--ma-muted);
  margin-top:1.25rem
}

.demo-wrap {
  padding-bottom:8rem
}

.demo-card {
  background:var(--ma-surface);
  border:1px solid var(--ma-border);
  border-radius:24px;
  box-shadow:var(--shadow);
  overflow:hidden
}

.demo-label {
  display:flex;
  justify-content:space-between;
  padding:.7rem 1.5rem;
  background:var(--ma-primary-soft);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.1em;
  color:var(--ma-dark)
}

.demo-grid {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:3rem;
  padding:3rem
}

.editorial-reading {
  align-self:center
}

.editorial-reading h2,.reading-panel h2 {
  font:400 clamp(1.8rem,3.2vw,3rem)/1.18 var(--ma-serif);
  letter-spacing:-.03em;
  margin:.5rem 0 1.2rem
}

.editorial-reading>p:last-child,.reading-panel>p {
  color:var(--ma-muted);
  max-width:620px
}

.focus-card,.focus-grid article {
  background:var(--ma-soft);
  border:1px solid var(--ma-border);
  border-radius:18px;
  padding:1.5rem
}

.focus-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem
}

.fake-ticker {
  font-size:.7rem;
  letter-spacing:.08em;
  font-weight:800;
  color:var(--ma-muted)
}

.status {
  font-size:.72rem;
  font-weight:750;
  padding:.28rem .55rem;
  border-radius:999px;
  background:#f3ead4;
  color:#715b24;
  white-space:nowrap
}

.status-focus {
  background:var(--ma-primary-soft);
  color:var(--ma-dark)
}

.status-neutral {
  background:#e9ecea;
  color:#4c5752
}

.focus-card h3 {
  font-size:1.3rem;
  line-height:1.25;
  margin:1rem 0 1.4rem
}

.focus-card dl {
  margin:0
}

.focus-card dl div {
  border-top:1px solid var(--ma-border);
  padding:.85rem 0
}

.focus-card dt,.radar-list small {
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.09em;
  color:var(--ma-muted)
}

.focus-card dd {
  margin:.18rem 0 0
}

.questions {
  padding:2rem 0 9rem
}

.questions>h2,.soft-section h2,.briefing h2,.plans>h2,.method h2 {
  font:400 clamp(2rem,4vw,3.7rem)/1.1 var(--ma-serif);
  letter-spacing:-.035em;
  margin:.4rem 0 3rem;
  max-width:760px
}

.question-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--ma-border)
}

.question-grid article {
  padding:2rem 1.5rem 1rem 0;
  border-right:1px solid var(--ma-border)
}

.question-grid article+article {
  padding-left:1.5rem
}

.question-grid article:last-child {
  border-right:0
}

.question-grid span {
  font-size:.72rem;
  font-weight:800;
  color:var(--ma-primary)
}

.question-grid h3 {
  font-size:1.15rem;
  margin:1.5rem 0 .5rem
}

.question-grid p {
  color:var(--ma-muted);
  font-size:.9rem
}

.soft-section {
  background:var(--ma-soft);
  padding:8rem 0
}

.steps {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  list-style:none;
  padding:0;
  margin:0;
  counter-reset:steps;
  gap:2rem
}

.steps li {
  counter-increment:steps;
  border-top:1px solid var(--ma-primary);
  padding:1.5rem 0;
  display:grid;
  gap:.6rem
}

.steps li:before {
  content:"0" counter(steps);
  font-size:.72rem;
  font-weight:800;
  color:var(--ma-primary)
}

.steps strong {
  font:400 2rem var(--ma-serif)
}

.steps span {
  color:var(--ma-muted)
}

.briefing {
  padding:9rem 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8rem;
  align-items:center
}

.briefing>div>p:not(.section-kicker) {
  color:var(--ma-muted);
  max-width:500px
}

.briefing-sheet {
  background:var(--ma-surface);
  border:1px solid var(--ma-border);
  border-radius:4px;
  padding:2.5rem;
  box-shadow:var(--shadow);
  transform:rotate(1deg)
}

.briefing-sheet>span {
  font-size:.68rem;
  letter-spacing:.1em;
  font-weight:800;
  color:var(--ma-primary)
}

.briefing-sheet h3 {
  font:400 1.8rem var(--ma-serif)
}

.briefing-sheet hr {
  border:0;
  border-top:1px solid var(--ma-border);
  margin:1.5rem 0
}

.plans {
  padding:1rem 0 9rem
}

.plan-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.25rem;
  align-items:stretch
}

.plan-grid article {
  background:var(--ma-surface);
  border:1px solid var(--ma-border);
  border-radius:18px;
  padding:2rem;
  display:flex;
  flex-direction:column
}

.plan-grid h3 {
  font:400 2rem var(--ma-serif);
  margin:.5rem 0
}

.plan-grid p,.plan-grid li {
  color:var(--ma-muted)
}

.plan-grid ul {
  padding-left:1.2rem;
  margin-bottom:2rem
}

.plan-grid a {
  margin-top:auto;
  align-self:flex-start
}

.plan-grid .recommended {
  border:2px solid var(--ma-primary);
  transform:translateY(-1rem);
  box-shadow:var(--shadow)
}

.plan-tag {
  font-size:.65rem;
  letter-spacing:.1em;
  font-weight:850;
  color:var(--ma-primary)
}

.centered {
  text-align:center
}

.method {
  background:var(--ma-dark);
  color:#fff;
  padding:7rem 0
}

.method-inner {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8rem
}

.method .section-kicker {
  color:#b8d1c8
}

.method p {
  color:#d8e5e0
}

.footer-inner {
  padding:3rem 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem
}

.footer-inner nav {
  display:flex;
  gap:1.5rem;
  color:var(--ma-muted);
  font-size:.85rem
}

.footer-inner>p {
  font-size:.75rem;
  color:var(--ma-muted)
}

/* Application showroom */.app-body {
  background:var(--ma-bg)
}

.app-shell {
  min-height:100vh;
  display:grid;
  grid-template-columns:238px 1fr
}

.app-sidebar {
  position:sticky;
  top:0;
  height:100vh;
  padding:1.5rem;
  background:var(--ma-surface);
  border-right:1px solid var(--ma-border);
  display:flex;
  flex-direction:column
}

.demo-pill {
  align-self:flex-start;
  margin:2rem 0 .8rem;
  padding:.25rem .5rem;
  border-radius:6px;
  background:var(--ma-primary-soft);
  color:var(--ma-dark);
  font-size:.62rem;
  font-weight:850;
  letter-spacing:.1em
}

.app-sidebar nav {
  display:grid;
  gap:.25rem
}

.app-sidebar nav a {
  display:flex;
  align-items:center;
  gap:.75rem;
  padding:.65rem .75rem;
  border-radius:9px;
  color:var(--ma-muted);
  font-size:.9rem
}

.app-sidebar nav a[aria-current="page"] {
  background:var(--ma-primary-soft);
  color:var(--ma-dark);
  font-weight:750
}

.app-sidebar nav a[aria-disabled="true"] {
  opacity:.48;
  pointer-events:none
}

.app-sidebar nav span {
  width:1.2rem;
  text-align:center
}

.back-link {
  margin-top:auto;
  color:var(--ma-muted);
  font-size:.8rem
}

.app-topbar {
  height:66px;
  border-bottom:1px solid var(--ma-border);
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:1.5rem;
  padding:0 2.5rem;
  background:rgba(245,247,244,.92);
  position:sticky;
  top:0;
  z-index:10
}

.app-topbar>div {
  font-size:.75rem;
  color:var(--ma-muted)
}

.data-dot {
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--ma-primary);
  margin-right:.4rem
}

.avatar {
  width:34px;
  height:34px;
  border-radius:50%;
  border:1px solid var(--ma-border);
  background:var(--ma-surface);
  color:var(--ma-dark);
  font-size:.7rem;
  font-weight:800
}

.menu-button {
  display:none
}

.mobile-nav {
  padding:1rem;
  border-bottom:1px solid var(--ma-border);
  background:var(--ma-surface)
}

.mobile-nav a {
  margin-right:1rem;
  font-weight:700
}

.app-content main {
  width:min(1180px,calc(100% - 64px));
  margin:auto;
  padding:3.5rem 0 7rem
}

.view-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:2rem;
  margin-bottom:2.5rem
}

.view-heading h1 {
  font:400 clamp(2.2rem,4vw,3.8rem)/1 var(--ma-serif);
  margin:.3rem 0
}

.view-heading p:last-child {
  color:var(--ma-muted)
}

.state-chip {
  border:1px solid var(--ma-border);
  border-radius:999px;
  padding:.4rem .75rem;
  font-size:.72rem;
  color:var(--ma-muted);
  background:var(--ma-surface)
}

.reading-panel {
  padding:2.5rem 3rem;
  background:var(--ma-surface);
  border:1px solid var(--ma-border);
  border-radius:18px
}

.reading-panel footer {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  border-top:1px solid var(--ma-border);
  padding-top:1rem;
  margin-top:1.5rem;
  color:var(--ma-muted);
  font-size:.72rem
}

.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  margin:3.5rem 0 1.2rem
}

.section-heading h2 {
  font:400 2rem var(--ma-serif);
  margin:.2rem 0
}

.section-heading a {
  font-size:.85rem;
  font-weight:750;
  color:var(--ma-dark)
}

.focus-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem
}

.focus-grid article {
  background:var(--ma-surface)
}

.focus-grid h3 {
  line-height:1.25
}

.focus-grid p {
  font-size:.86rem;
  color:var(--ma-muted)
}

.focus-grid strong {
  display:block;
  color:var(--ma-text);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.06em
}

.pulse-change {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
  margin-top:1rem
}

.pulse-change>article {
  background:var(--ma-surface);
  border:1px solid var(--ma-border);
  border-radius:18px;
  padding:2rem
}

.pulse-change h2 {
  font:400 1.8rem var(--ma-serif)
}

.breadth {
  height:9px;
  background:#e5dfdc;
  border-radius:10px;
  overflow:hidden
}

.breadth span {
  display:block;
  width:52%;
  height:100%;
  background:var(--ma-primary)
}

.breadth-labels {
  display:flex;
  justify-content:space-between;
  margin-top:.7rem;
  font-size:.72rem;
  color:var(--ma-muted)
}

.change-list {
  list-style:none;
  padding:0;
  margin:0
}

.change-list li {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  border-top:1px solid var(--ma-border);
  padding:.75rem 0;
  font-size:.83rem
}

.change-list span {
  color:var(--ma-muted)
}

.radar-list {
  display:grid;
  gap:.8rem
}

.radar-list article {
  display:grid;
  grid-template-columns:1.2fr auto 1fr 1fr auto;
  align-items:center;
  gap:1.5rem;
  background:var(--ma-surface);
  border:1px solid var(--ma-border);
  border-radius:14px;
  padding:1.25rem 1.5rem
}

.radar-list h2 {
  font-size:1rem;
  margin:.2rem 0
}

.radar-list p {
  font-size:.79rem;
  color:var(--ma-muted);
  margin:.2rem 0
}

.radar-list a {
  font-size:.78rem;
  font-weight:750;
  color:var(--ma-dark)
}

.filter-row {
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
  margin-bottom:1.25rem
}

.filter {
  border:1px solid var(--ma-border);
  background:var(--ma-surface);
  border-radius:999px;
  padding:.4rem .75rem;
  color:var(--ma-muted);
  font-size:.78rem
}

.filter.active {
  background:var(--ma-dark);
  border-color:var(--ma-dark);
  color:#fff
}

@media(max-width:900px) {
  .header-nav {
    display:none
  }
  .demo-grid,.briefing,.method-inner {
    grid-template-columns:1fr;
    gap:3rem
  }
  .question-grid {
    grid-template-columns:1fr 1fr
  }
  .question-grid article:nth-child(2) {
    border-right:0
  }
  .steps,.plan-grid,.focus-grid {
    grid-template-columns:1fr
  }
  .plan-grid .recommended {
    transform:none
  }
  .app-shell {
    grid-template-columns:1fr
  }
  .app-sidebar {
    display:none
  }
  .menu-button {
    display:inline-block;
    border:1px solid var(--ma-border);
    background:var(--ma-surface);
    border-radius:8px;
    padding:.35rem .65rem
  }
  .app-topbar {
    justify-content:space-between
  }
  .pulse-change {
    grid-template-columns:1fr
  }
  .radar-list article {
    grid-template-columns:1fr auto
  }
  .radar-list article>div:nth-of-type(n+2) {
    grid-column:1/-1
  }
  .radar-list article>a {
    grid-column:1/-1
  }
  .app-content main {
    width:min(100% - 32px,760px)
  }
}

@media(max-width:560px) {
  .page-width,.site-header {
    width:calc(100% - 32px)
  }
  .site-header {
    height:68px
  }
  .site-header>.button {
    display:none
  }
  .hero {
    padding:5rem 0 4rem;
    text-align:left
  }
  .hero-actions {
    justify-content:flex-start;
    align-items:flex-start
  }
  .demo-wrap,.questions {
    padding-bottom:5rem
  }
  .demo-grid {
    padding:1.25rem
  }
  .demo-label {
    align-items:flex-start;
    gap:.5rem;
    flex-direction:column
  }
  .question-grid {
    grid-template-columns:1fr
  }
  .question-grid article,.question-grid article+article {
    padding:1.3rem 0;
    border-right:0
  }
  .soft-section,.briefing,.method {
    padding:5rem 0
  }
  .steps {
    gap:.5rem
  }
  .plan-grid {
    gap:1rem
  }
  .footer-inner {
    align-items:flex-start;
    flex-direction:column
  }
  .app-topbar {
    padding:0 1rem
  }
  .app-topbar>div {
    display:none
  }
  .app-content main {
    padding-top:2rem
  }
  .view-heading {
    align-items:flex-start;
    flex-direction:column
  }
  .reading-panel {
    padding:1.4rem
  }
  .reading-panel footer {
    flex-direction:column
  }
  .focus-head {
    align-items:flex-start
  }
  .radar-list article {
    grid-template-columns:1fr
  }
  .radar-list article>.status {
    justify-self:start
  }
  .radar-list article>div:nth-of-type(n+2),.radar-list article>a {
    grid-column:auto
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    animation-duration:.01ms!important;
    transition-duration:.01ms!important
  }
}

@media(prefers-contrast:more) {
  :root {
    --ma-border:#718078;
    --ma-muted:#46534d
  }
  .button {
    outline:2px solid currentColor
  }
}

.page-title {
  font:400 clamp(2.2rem,4vw,3.8rem)/1 var(--ma-serif);
  margin:.3rem 0
}

@font-face {
  font-family:Manrope;
  src:url('/assets/fonts/manrope-regular.woff2') format('woff2');
  font-style:normal;
  font-weight:400;
  font-display:swap
}

@font-face {
  font-family:Manrope;
  src:url('/assets/fonts/manrope-medium.woff2') format('woff2');
  font-style:normal;
  font-weight:500;
  font-display:swap
}

@font-face {
  font-family:Manrope;
  src:url('/assets/fonts/manrope-semibold.woff2') format('woff2');
  font-style:normal;
  font-weight:600;
  font-display:swap
}

@font-face {
  font-family:Manrope;
  src:url('/assets/fonts/manrope-bold.woff2') format('woff2');
  font-style:normal;
  font-weight:700 850;
  font-display:swap
}

@font-face {
  font-family:'Source Serif 4';
  src:url('/assets/fonts/source-serif-4-variable-roman.woff2') format('woff2');
  font-style:normal;
  font-weight:200 900;
  font-display:swap
}

:root {
  --ma-serif:'Source Serif 4',Georgia,'Times New Roman',serif;
  --ma-sans:Manrope,'Avenir Next',Avenir,'Segoe UI',sans-serif
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}

.company-search {
  margin-bottom:1.25rem;
  padding:1.25rem;
  background:var(--ma-soft);
  border:1px solid var(--ma-border);
  border-radius:14px
}

.company-search label,.assistant-form label {
  display:block;
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.04em;
  margin-bottom:.5rem
}

.company-search>div,.assistant-form>div {
  display:flex;
  gap:.75rem
}

.company-search input,.assistant-form textarea {
  width:100%;
  min-width:0;
  padding:.8rem 1rem;
  border:1px solid var(--ma-border-control);
  border-radius:10px;
  background:var(--ma-surface);
  color:var(--ma-text);
  font:inherit
}

.company-search input:focus-visible,.assistant-form textarea:focus-visible {
  outline:3px solid var(--ma-dark);
  outline-offset:2px
}

.form-status {
  min-height:1.4em;
  margin:.55rem 0 0;
  color:var(--ma-muted);
  font-size:.78rem
}

.report-grid,.evidence-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
  margin-top:1rem
}

.report-grid>article,.evidence-grid>article {
  padding:1.6rem;
  background:var(--ma-surface);
  border:1px solid var(--ma-border);
  border-radius:16px
}

.report-grid li {
  margin:.65rem 0
}

.evidence-grid h3 {
  font:400 1.5rem var(--ma-serif);
  margin:.2rem 0 1rem
}

.evidence-grid p {
  color:var(--ma-muted)
}

.evidence-grid dl {
  margin:0
}

.evidence-grid dl div {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.65rem 0;
  border-top:1px solid var(--ma-border)
}

.evidence-grid dd {
  margin:0;
  text-align:right
}

.section-action {
  margin-top:1.25rem
}

.section-actions {
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
  margin-top:1.25rem
}

.comparison-head {
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:1rem;
  align-items:stretch
}

.comparison-head article,.add-company {
  padding:1.2rem;
  background:var(--ma-surface);
  border:1px solid var(--ma-border);
  border-radius:14px
}

.comparison-head h3 {
  margin:.35rem 0
}

.text-button {
  padding:0;
  border:0;
  background:transparent;
  color:var(--ma-dark);
  text-decoration:underline;
  font-weight:700;
  cursor:pointer
}

.add-company {
  color:var(--ma-dark);
  font-weight:750;
  cursor:pointer
}

.comparison-table {
  margin-top:1.5rem;
  border:1px solid var(--ma-border);
  border-radius:16px;
  overflow:hidden;
  background:var(--ma-surface)
}

.comparison-row {
  display:grid;
  grid-template-columns:.75fr repeat(var(--comparison-count,2),minmax(0,1fr))
}

.comparison-row>* {
  padding:1rem;
  border-top:1px solid var(--ma-border)
}

.comparison-row>*+* {
  border-left:1px solid var(--ma-border)
}

.comparison-labels>* {
  border-top:0;
  background:var(--ma-soft);
  font-size:.74rem;
  letter-spacing:.04em
}

.conclusion-card {
  margin-top:1.25rem;
  padding:2rem;
  background:var(--ma-dark);
  color:#fff;
  border-radius:16px
}

.conclusion-card .section-kicker {
  color:#b8d1c8
}

.conclusion-card h3 {
  font:400 1.7rem/1.25 var(--ma-serif)
}

.conclusion-card p:last-child {
  color:#d8e5e0
}

.follow-summary {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem
}

.follow-summary article {
  display:grid;
  gap:.4rem;
  padding:1.25rem;
  background:var(--ma-soft);
  border:1px solid var(--ma-border);
  border-radius:14px
}

.follow-summary span {
  font-size:.75rem;
  color:var(--ma-muted)
}

.follow-list {
  display:grid;
  gap:.8rem;
  margin-top:1.5rem
}

.follow-list article {
  display:grid;
  grid-template-columns:1.2fr 1.5fr auto auto;
  gap:1.25rem;
  align-items:center;
  padding:1.25rem 1.5rem;
  background:var(--ma-surface);
  border:1px solid var(--ma-border);
  border-radius:14px
}

.follow-list h3 {
  margin:.25rem 0
}

.follow-list p {
  font-size:.84rem;
  color:var(--ma-muted)
}

.boundary-note,.ai-disclosure {
  margin-top:1.5rem;
  padding:1.4rem 1.6rem;
  background:var(--ma-primary-soft);
  border-left:4px solid var(--ma-primary);
  border-radius:4px 14px 14px 4px
}

.boundary-note h3 {
  margin:.1rem 0
}

.boundary-note p,.ai-disclosure p {
  margin:.4rem 0;
  color:var(--ma-muted)
}

.quick-prompts {
  display:flex;
  gap:.6rem;
  flex-wrap:wrap;
  margin:1.25rem 0
}

.quick-prompts button {
  padding:.55rem .85rem;
  border:1px solid var(--ma-border);
  border-radius:999px;
  background:var(--ma-surface);
  color:var(--ma-dark);
  cursor:pointer
}

.conversation {
  padding:1.5rem;
  background:var(--ma-surface);
  border:1px solid var(--ma-border);
  border-radius:16px
}

.assistant-message>span {
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.06em;
  color:var(--ma-primary)
}

.assistant-message>p {
  font:400 1.45rem/1.45 var(--ma-serif)
}

.assistant-message footer {
  padding-top:1rem;
  border-top:1px solid var(--ma-border);
  font-size:.76rem;
  color:var(--ma-muted)
}

.assistant-form {
  margin-top:1rem
}

.assistant-form textarea {
  resize:vertical
}

.assistant-form .button {
  align-self:stretch
}

.quick-prompts button {
  transition:border-color .18s ease,transform .18s ease,background .18s ease
}

.quick-prompts button:hover {
  border-color:var(--ma-primary);
  background:var(--ma-primary-soft);
  transform:translateY(-1px)
}

#view-ia .ai-disclosure {
  position:relative;
  overflow:hidden;
  background:linear-gradient(120deg,var(--ma-primary-soft),var(--ma-surface))
}

#view-ia .ai-disclosure:after {
  content:'AI';
  position:absolute;
  right:1rem;
  top:-1.6rem;
  font:400 5rem var(--ma-serif);
  color:var(--ma-primary);
  opacity:.08
}

.conversation {
  position:relative;
  overflow:hidden;
  box-shadow:0 18px 55px rgba(23,49,39,.08);
  background:linear-gradient(145deg,#fff 0%,#f7faf7 100%)
}

.conversation:before {
  content:'';
  position:absolute;
  width:180px;
  height:180px;
  border-radius:50%;
  right:-95px;
  top:-100px;
  background:radial-gradient(circle,var(--ma-primary-soft),transparent 70%)
}

.assistant-message {
  position:relative
}

.assistant-message>p {
  max-width:900px;
  overflow-wrap:anywhere;
  white-space:pre-line
}

.assistant-message footer {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  line-height:1.55
}

.assistant-message footer a {
  flex:0 0 auto;
  font-weight:800;
  color:var(--ma-dark)
}

.conversation[aria-busy="true"] .assistant-message>span {
  animation:ma-pulse 1.2s ease-in-out infinite
}

.assistant-form .button:disabled {
  cursor:wait;
  opacity:.65
}

@keyframes ma-pulse {
  50% {
    opacity:.35
  }
}

@media(max-width:900px) {
  .report-grid,.evidence-grid {
    grid-template-columns:1fr
  }
  .follow-list article {
    grid-template-columns:1fr auto
  }
  .follow-list article>p {
    grid-column:1/-1
  }
  .comparison-row {
    font-size:.86rem
  }
}

@media(max-width:560px) {
  .company-search>div,.assistant-form>div {
    flex-direction:column
  }
  .comparison-head,.follow-summary {
    grid-template-columns:1fr
  }
  .comparison-row {
    grid-template-columns:1fr
  }
  .comparison-row>*+* {
    border-left:0
  }
  .comparison-labels {
    display:grid
  }
  .follow-list article {
    grid-template-columns:1fr
  }
  .follow-list article>p {
    grid-column:auto
  }
  .assistant-message>p {
    font-size:1.2rem
  }
}

@media(max-width:560px) {
  .assistant-message footer {
    flex-direction:column
  }
  .quick-prompts {
    display:grid;
    grid-template-columns:1fr 1fr
  }
  .quick-prompts button {
    text-align:left
  }
}

.auth-body {
  min-height:100vh;
  background:var(--ma-bg)
}

.auth-header {
  width:min(1100px,calc(100% - 48px));
  height:80px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between
}

.auth-header>a:last-child {
  font-size:.84rem;
  color:var(--ma-muted)
}

.auth-main {
  width:min(920px,calc(100% - 48px));
  margin:5rem auto;
  display:grid;
  grid-template-columns:1fr .65fr;
  gap:2rem;
  align-items:start
}

.auth-card {
  padding:2.5rem;
  background:var(--ma-surface);
  border:1px solid var(--ma-border);
  border-radius:20px;
  box-shadow:var(--shadow)
}

.auth-card h1 {
  font:400 clamp(2.3rem,5vw,3.8rem)/1 var(--ma-serif);
  margin:.4rem 0
}

.auth-card>p {
  color:var(--ma-muted)
}

.auth-card form {
  display:grid;
  gap:.55rem;
  margin-top:1.8rem
}

.auth-card label {
  margin-top:.6rem;
  font-size:.78rem;
  font-weight:800
}

.auth-card input:not([type="hidden"]) {
  width:100%;
  padding:.82rem 1rem;
  border:1px solid var(--ma-border-control);
  border-radius:10px;
  background:#fff;
  font:inherit
}

.auth-card input:focus-visible {
  outline:3px solid var(--ma-dark);
  outline-offset:2px
}

.auth-card button {
  margin-top:1rem
}

.auth-check {
  display:flex;
  align-items:flex-start;
  gap:.6rem;
  margin:.7rem 0;
  font-weight:500!important
}

.auth-check input {
  width:auto!important;
  margin-top:.3rem
}

.auth-switch {
  font-size:.85rem
}

.auth-switch a {
  color:var(--ma-dark);
  font-weight:800
}

.auth-note {
  padding:1.5rem;
  background:var(--ma-primary-soft);
  border-radius:14px;
  color:var(--ma-dark)
}

.auth-note p {
  color:var(--ma-muted)
}

@media(max-width:700px) {
  .auth-main {
    grid-template-columns:1fr;
    margin:2rem auto
  }
  .auth-card {
    padding:1.5rem
  }
}

.logout-form {
  margin:0
}

.logout-form .avatar {
  width:auto;
  min-width:42px;
  padding:0 .65rem;
  border-radius:999px
}

/* 2026 launch surface: product-led public experience */
.launch-page {
  --launch-ink:#102a25;
  --launch-deep:#0b332c;
  --launch-green:#15715f;
  --launch-mint:#dff4ec;
  --launch-lime:#b9ef9f;
  --launch-wash:#f4f7f5;
  background:#fff;
  color:var(--launch-ink)
}

.launch-page .page-width {
  width:min(1200px,calc(100% - 48px))
}

.launch-notice {
  min-height:36px;
  padding:.45rem 1.25rem;
  background:var(--launch-deep);
  color:#e8f4ef;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
  font-size:.72rem;
  letter-spacing:.01em
}

.launch-notice span {
  padding:.18rem .5rem;
  border:1px solid rgba(255,255,255,.25);
  border-radius:999px
}

.launch-notice a {
  color:#c9f4b4;
  font-weight:800
}

.launch-header {
  height:78px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(18px);
  border-bottom:1px solid #e4ece8
}

.launch-header .header-nav {
  display:flex;
  gap:2rem
}

.launch-header .header-nav a,.launch-header .login-link {
  color:#40544e;
  font-size:.82rem;
  font-weight:700
}

.header-actions {
  display:flex;
  align-items:center;
  gap:1.2rem
}

.launch-page .button {
  background:var(--launch-green);
  border-color:var(--launch-green);
  box-shadow:0 8px 22px rgba(21,113,95,.16)
}

.launch-page .button:hover {
  background:#0f5d4e;
  transform:translateY(-1px)
}

.launch-hero {
  min-height:710px;
  padding:6.8rem 0 7.5rem;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  align-items:center;
  gap:5rem
}

.launch-hero-copy {
  position:relative;
  z-index:2
}

.launch-hero .eyebrow,.plans-hero .eyebrow {
  display:flex;
  align-items:center;
  gap:.6rem;
  color:var(--launch-green);
  font-size:.69rem;
  font-weight:850;
  letter-spacing:.12em
}

.launch-hero .eyebrow span,.plans-hero .eyebrow span {
  width:26px;
  height:1px;
  background:var(--launch-green)
}

.launch-hero h1,.plans-hero h1 {
  margin:1.2rem 0 1.6rem;
  font:760 clamp(3rem,5.4vw,5.7rem)/.98 var(--ma-sans);
  letter-spacing:-.06em
}

.launch-hero h1 em,.plans-hero h1 em {
  font:400 1em var(--ma-serif);
  color:var(--launch-green)
}

.launch-hero-copy>p:not(.eyebrow) {
  max-width:620px;
  color:#536761;
  font-size:1.1rem;
  line-height:1.75
}

.launch-hero .hero-actions {
  justify-content:flex-start;
  margin:2.2rem 0 1.6rem
}

.button-prominent {
  padding:1rem 1.35rem!important;
  border-radius:11px!important
}

.hero-assurances {
  display:flex;
  flex-wrap:wrap;
  gap:.7rem 1.3rem;
  color:#6b7b76;
  font-size:.69rem
}

.hero-assurances span:before {
  content:'✓';
  margin-right:.35rem;
  color:var(--launch-green);
  font-weight:900
}

.product-stage {
  position:relative;
  min-width:0
}

.stage-glow {
  position:absolute;
  inset:-15%;
  background:radial-gradient(circle,#dcefe8 0,rgba(220,239,232,0) 66%);
  filter:blur(12px)
}

.product-window {
  position:relative;
  z-index:1;
  overflow:hidden;
  background:#fff;
  border:1px solid #d8e5df;
  border-radius:20px;
  box-shadow:0 34px 80px rgba(12,48,41,.16),0 5px 18px rgba(12,48,41,.08);
  transform:perspective(1200px) rotateY(-2deg) rotateX(1deg)
}

.product-window>header {
  height:58px;
  padding:0 1.2rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid #e6edea;
  background:#fbfdfc
}

.mini-brand {
  display:flex;
  align-items:center;
  gap:.6rem
}

.mini-brand span {
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  border:1px solid #8db7aa;
  border-radius:7px;
  color:var(--launch-green);
  font-size:.65rem;
  font-weight:900
}

.mini-brand strong {
  font-size:.78rem
}

.window-status {
  font-size:.58rem;
  color:#72827d
}

.window-status i {
  display:inline-block;
  width:6px;
  height:6px;
  margin-right:.3rem;
  border-radius:50%;
  background:#e8a23d
}

.window-layout {
  display:grid;
  grid-template-columns:112px 1fr;
  min-height:420px
}

.window-layout>nav {
  padding:1.5rem .8rem;
  display:grid;
  align-content:start;
  gap:.35rem;
  background:#f2f7f4;
  border-right:1px solid #e2ebe6
}

.window-layout>nav span,.window-layout>nav strong {
  padding:.55rem .6rem;
  border-radius:7px;
  font-size:.58rem;
  color:#70817b
}

.window-layout>nav strong {
  background:#dfeee8;
  color:#164b40
}

.window-content {
  min-width:0;
  padding:2.1rem
}

.mini-kicker {
  margin:0;
  color:var(--launch-green);
  font-size:.56rem;
  font-weight:850;
  letter-spacing:.1em
}

.window-content h2 {
  margin:.65rem 0 .8rem;
  font:550 1.35rem/1.25 var(--ma-serif);
  letter-spacing:-.02em
}

.window-content>p:not(.mini-kicker) {
  color:#667772;
  font-size:.7rem;
  line-height:1.6
}

.mini-focus-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.65rem;
  margin-top:1.5rem
}

.mini-focus-row article {
  padding:.9rem;
  border:1px solid #dfe8e4;
  border-radius:10px
}

.mini-focus-row span,.mini-focus-row b,.mini-focus-row strong,.mini-focus-row small {
  display:block
}

.mini-focus-row span {
  font-size:.52rem;
  font-weight:850;
  color:var(--launch-green)
}

.mini-focus-row b {
  margin:.45rem 0;
  color:#596b65;
  font-size:.51rem
}

.mini-focus-row strong {
  font-size:.7rem
}

.mini-focus-row small {
  margin-top:.35rem;
  color:#7a8984;
  font-size:.54rem
}

.mini-pulse {
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:.6rem;
  align-items:center;
  margin-top:1.4rem
}

.mini-pulse>span {
  height:6px;
  background:#ebefed;
  border-radius:99px;
  overflow:hidden
}

.mini-pulse>span i {
  display:block;
  width:52%;
  height:100%;
  background:var(--launch-green)
}

.mini-pulse small {
  font-size:.5rem;
  color:#75847f
}

.floating-insight {
  position:absolute;
  z-index:3;
  right:-2rem;
  bottom:-3rem;
  width:260px;
  padding:1rem 1.15rem;
  background:var(--launch-deep);
  color:#fff;
  border-radius:13px;
  box-shadow:0 18px 50px rgba(8,41,35,.25)
}

.floating-insight span {
  font-size:.55rem;
  font-weight:850;
  letter-spacing:.09em;
  color:#bdeca6
}

.floating-insight p {
  margin:.5rem 0;
  font:400 .82rem/1.4 var(--ma-serif)
}

.floating-insight strong {
  font-size:.54rem;
  color:#c4d8d1
}

.trust-rail {
  border-top:1px solid #e5ece9;
  border-bottom:1px solid #e5ece9;
  background:#fbfcfb
}

.trust-rail>div {
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  color:#74847f;
  font-size:.62rem;
  font-weight:850;
  letter-spacing:.09em
}

.trust-rail span:before {
  content:'•';
  margin-right:.8rem;
  color:#95bea9
}

.section-intro {
  max-width:760px
}

.section-intro>h2,.pricing-heading h2,.ai-copy h2,.workflow h2,.method-proof h2,.faq h2,.plan-guidance h2,.plans-faq h2 {
  margin:.5rem 0 1rem;
  font:720 clamp(2.35rem,4.3vw,4.3rem)/1.06 var(--ma-sans);
  letter-spacing:-.05em
}

.section-intro>p:last-child {
  color:#61716c;
  font-size:1rem;
  line-height:1.7
}

.outcomes {
  padding:9rem 0
}

.outcome-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
  margin-top:4rem
}

.outcome-grid article {
  min-height:260px;
  padding:2.3rem;
  background:#f5f8f6;
  border:1px solid #e2ebe7;
  border-radius:17px;
  display:flex;
  flex-direction:column
}

.outcome-grid article>span {
  color:var(--launch-green);
  font-size:.64rem;
  font-weight:850;
  letter-spacing:.09em
}

.outcome-grid h3 {
  margin:auto 0 .6rem;
  font-size:1.55rem;
  letter-spacing:-.025em
}

.outcome-grid p {
  max-width:480px;
  color:#61716c;
  font-size:.9rem;
  line-height:1.65
}

.outcome-grid .outcome-feature {
  background:var(--launch-deep);
  color:#fff
}

.outcome-feature p {
  color:#c9d9d4
}

.signal-line {
  display:flex;
  align-items:end;
  gap:6px;
  height:44px;
  margin-top:1.2rem
}

.signal-line i {
  width:9%;
  height:25%;
  border-radius:3px;
  background:#71a493
}

.signal-line i:nth-child(2) {
  height:42%
}

.signal-line i:nth-child(3) {
  height:31%
}

.signal-line i:nth-child(4) {
  height:62%;
  background:#9bd984
}

.signal-line i:nth-child(5) {
  height:78%;
  background:#b9ef9f
}

.signal-line i:nth-child(6) {
  height:58%;
  background:#8dcc77
}

.ai-showcase {
  padding:9rem 0;
  background:var(--launch-deep);
  color:#fff;
  overflow:hidden
}

.ai-showcase-grid {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:7rem;
  align-items:center
}

.ai-copy .section-kicker {
  color:#b9ef9f
}

.ai-copy h2 {
  font-size:clamp(2.5rem,4.5vw,4.6rem)
}

.ai-copy>p {
  color:#c8d9d3;
  line-height:1.75
}

.ai-copy ul {
  padding:0;
  list-style:none;
  margin:2rem 0
}

.ai-copy li {
  padding:.65rem 0;
  border-bottom:1px solid rgba(255,255,255,.12);
  font-size:.82rem;
  color:#d8e6e1
}

.ai-copy li:before {
  content:'✓';
  margin-right:.7rem;
  color:#b9ef9f;
  font-weight:900
}

.launch-page .button-light {
  background:#fff;
  border-color:#fff;
  color:var(--launch-deep);
  box-shadow:none
}

.launch-page .button-light:hover {
  background:#dff4ec;
  color:var(--launch-deep)
}

.ai-dialog {
  padding:1.2rem;
  background:#f5f8f6;
  color:var(--launch-ink);
  border:1px solid rgba(255,255,255,.18);
  border-radius:20px;
  box-shadow:0 40px 90px rgba(0,0,0,.25)
}

.dialog-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:.4rem .4rem 1.1rem
}

.dialog-head>div {
  display:flex;
  align-items:center;
  gap:.7rem
}

.dialog-head>span {
  font-size:.58rem;
  color:#688078
}

.ai-orb {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  background:var(--launch-deep);
  border-radius:10px;
  color:#b9ef9f;
  font-size:.66rem;
  font-weight:900
}

.user-question {
  width:82%;
  margin:1rem 0 1rem auto;
  padding:1rem 1.15rem;
  background:#dceee7;
  border-radius:14px 14px 3px 14px;
  font-size:.82rem
}

.ai-dialog article {
  padding:1.5rem;
  background:#fff;
  border:1px solid #dfe9e5;
  border-radius:3px 14px 14px 14px
}

.ai-dialog article>span {
  color:var(--launch-green);
  font-size:.58rem;
  font-weight:850;
  letter-spacing:.08em
}

.ai-dialog article p,.ai-dialog article li {
  font:400 .86rem/1.65 var(--ma-serif)
}

.ai-dialog article ol {
  padding-left:1.3rem
}

.ai-dialog article footer {
  padding-top:.8rem;
  border-top:1px solid #e5ece9;
  color:#73837e;
  font-size:.55rem
}

.workflow {
  padding:9rem 0
}

.centered-intro {
  margin:0 auto;
  text-align:center
}

.workflow-grid {
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  align-items:center;
  gap:1.5rem;
  margin-top:4rem
}

.workflow-grid article {
  min-height:210px;
  padding:2rem;
  border-top:2px solid var(--launch-green);
  background:#f7f9f8
}

.workflow-grid article span {
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:var(--launch-mint);
  color:var(--launch-green);
  font-size:.7rem;
  font-weight:900
}

.workflow-grid h3 {
  margin:2.5rem 0 .5rem;
  font-size:1.25rem
}

.workflow-grid p {
  color:#63736e;
  font-size:.85rem
}

.workflow-grid>i {
  color:#87a49b;
  font-style:normal
}

.pricing-section {
  padding:8.5rem 0;
  background:#f1f6f3
}

.pricing-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:2rem;
  margin-bottom:4rem
}

.pricing-heading h2 {
  margin-bottom:0
}

.pricing-heading>a {
  padding-bottom:.6rem;
  color:var(--launch-green);
  font-size:.82rem;
  font-weight:800
}

.launch-plan-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  align-items:stretch
}

.launch-plan-grid>article {
  position:relative;
  padding:2.1rem;
  background:#fff;
  border:1px solid #dce7e2;
  border-radius:17px;
  display:flex;
  flex-direction:column;
  box-shadow:0 8px 30px rgba(16,52,44,.04)
}

.launch-plan-grid>article.recommended {
  border:2px solid var(--launch-green);
  box-shadow:0 24px 55px rgba(16,76,63,.12);
  transform:translateY(-12px)
}

.recommended-bar {
  position:absolute;
  top:-1px;
  left:2rem;
  right:2rem;
  padding:.42rem;
  background:var(--launch-green);
  color:#fff;
  border-radius:0 0 8px 8px;
  text-align:center;
  font-size:.58rem;
  font-weight:850;
  letter-spacing:.1em
}

.recommended .plan-name {
  margin-top:1.2rem
}

.plan-name {
  display:block;
  color:var(--launch-green);
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.12em
}

.launch-plan-grid>article>div>p {
  min-height:50px;
  color:#64746f;
  font-size:.85rem
}

.plan-price {
  display:flex;
  align-items:baseline;
  gap:.45rem;
  margin:1.3rem 0 .1rem
}

.plan-price strong {
  font-size:2.8rem;
  letter-spacing:-.06em
}

.plan-price span {
  color:#6f7f7a;
  font-size:.75rem
}

.launch-plan-grid article>small {
  color:#81908b;
  font-size:.64rem
}

.launch-plan-grid ul {
  min-height:250px;
  padding:1.4rem 0 0;
  list-style:none;
  border-top:1px solid #e4ebe8;
  margin:1.4rem 0
}

.launch-plan-grid li {
  position:relative;
  padding:.42rem 0 .42rem 1.3rem;
  color:#52645e;
  font-size:.76rem;
  line-height:1.45
}

.launch-plan-grid li:before {
  content:'✓';
  position:absolute;
  left:0;
  color:var(--launch-green);
  font-weight:900
}

.plan-button {
  margin-top:auto;
  padding:.8rem 1rem;
  border:1px solid #b9ccc5;
  border-radius:9px;
  color:var(--launch-deep);
  text-align:center;
  font-size:.78rem;
  font-weight:850
}

.plan-button.primary {
  background:var(--launch-green);
  border-color:var(--launch-green);
  color:#fff
}

.pricing-note {
  max-width:780px;
  margin:2.5rem auto 0;
  color:#71817c;
  text-align:center;
  font-size:.7rem;
  line-height:1.6
}

.method-proof {
  padding:9rem 0
}

.method-proof>div:first-child {
  max-width:720px
}

.proof-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  margin-top:3.5rem
}

.proof-grid article {
  padding:1.8rem;
  border-left:1px solid #cfded8
}

.proof-grid span {
  font-size:.62rem;
  font-weight:900;
  color:var(--launch-green)
}

.proof-grid h3 {
  margin:1.8rem 0 .6rem;
  font-size:1.15rem
}

.proof-grid p {
  color:#65756f;
  font-size:.82rem;
  line-height:1.65
}

.faq {
  padding:2rem 0 9rem
}

.faq .section-intro {
  max-width:520px
}

.faq-list {
  margin-top:2.5rem;
  border-top:1px solid #dce6e2
}

.faq-list details {
  border-bottom:1px solid #dce6e2
}

.faq-list summary {
  padding:1.4rem 2.5rem 1.4rem 0;
  cursor:pointer;
  list-style:none;
  font-size:.94rem;
  font-weight:800
}

.faq-list summary::-webkit-details-marker {
  display:none
}

.faq-list summary:after {
  content:'+';
  float:right;
  color:var(--launch-green);
  font-size:1.25rem
}

.faq-list details[open] summary:after {
  content:'−'
}

.faq-list details p {
  max-width:760px;
  margin:0 0 1.5rem;
  color:#63736e;
  font-size:.85rem;
  line-height:1.65
}

.final-cta {
  padding:8rem 0;
  background:linear-gradient(135deg,#0a3a31,#125346);
  color:#fff;
  text-align:center
}

.final-cta .section-kicker {
  color:#b9ef9f
}

.final-cta h2 {
  margin:.6rem 0 1rem;
  font:730 clamp(2.7rem,5vw,5.2rem)/1.02 var(--ma-sans);
  letter-spacing:-.055em
}

.final-cta p:not(.section-kicker) {
  color:#c9ddd6
}

.final-cta>div>div {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:1.5rem;
  margin-top:2rem
}

.final-cta>div>div>a:last-child {
  color:#d9ebe5;
  font-size:.8rem;
  font-weight:800
}

.launch-footer {
  padding:5rem 0 1.5rem;
  background:#072a24;
  color:#d7e5e0
}

.launch-footer>.page-width:first-child {
  display:grid;
  grid-template-columns:2fr repeat(3,1fr);
  gap:4rem
}

.brand-light {
  color:#fff
}

.brand-light .monogram {
  border-color:#75a296;
  color:#b9ef9f
}

.launch-footer>div>div>p {
  max-width:260px;
  color:#88a69d;
  font-size:.76rem
}

.launch-footer nav {
  display:grid;
  align-content:start;
  gap:.65rem
}

.launch-footer nav strong {
  margin-bottom:.5rem;
  color:#fff;
  font-size:.7rem
}

.launch-footer nav a {
  color:#91aaa2;
  font-size:.7rem
}

.footer-bottom {
  margin-top:4rem;
  padding-top:1.3rem;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  justify-content:space-between;
  color:#6f9187;
  font-size:.62rem
}

/* Redes sociales oficiales: solo en el pie, discretas, nunca en la cabecera */
.social-links,
.launch-footer nav.social-links {
  display:flex;
  gap:.55rem;
  margin-top:1.1rem
}

.social-links a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  color:#91aaa2;
  transition:color .2s,border-color .2s,background .2s
}

.social-links a:hover,
.social-links a:focus-visible {
  color:#fff;
  border-color:#75a296;
  background:rgba(255,255,255,.06)
}

.social-links svg {
  display:block
}

/* Portada: bloque de redes antes de la suscripción, con nombre junto al icono */
.social-section {
  padding:0 0 6rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:3rem
}

.social-section>div {
  max-width:520px
}

.social-section h2 {
  margin:.6rem 0 .8rem;
  font:720 clamp(1.7rem,2.6vw,2.3rem)/1.1 var(--ma-sans);
  letter-spacing:-.01em
}

.social-section>div>p:last-child {
  color:var(--ma-muted)
}

.social-section .social-links,
.social-links-named {
  margin-top:0;
  gap:.75rem;
  flex-wrap:wrap
}

.social-links-named a {
  width:auto;
  height:auto;
  gap:.55rem;
  padding:.6rem 1rem .6rem .8rem;
  border-radius:999px;
  border-color:var(--ma-border);
  color:var(--ma-dark);
  font-size:.84rem;
  font-weight:600
}

.social-links-named a:hover,
.social-links-named a:focus-visible {
  color:var(--ma-primary);
  border-color:var(--ma-primary);
  background:var(--ma-primary-soft)
}

/* App: los mismos iconos al pie de la barra lateral y del menú móvil */
.app-sidebar nav.social-links,
.mobile-nav .social-links {
  display:flex;
  gap:.45rem;
  margin-top:.9rem;
  padding-top:.9rem;
  border-top:1px solid var(--ma-border)
}

.app-sidebar nav.social-links a,
.mobile-nav .social-links a {
  width:32px;
  height:32px;
  padding:0;
  margin:0;
  gap:0;
  border:1px solid var(--ma-border);
  border-radius:50%;
  color:var(--ma-muted);
  font-size:0
}

.app-sidebar nav.social-links a:hover,
.app-sidebar nav.social-links a:focus-visible,
.mobile-nav .social-links a:hover,
.mobile-nav .social-links a:focus-visible {
  color:var(--ma-primary);
  border-color:var(--ma-primary);
  background:transparent
}

/* Detailed pricing page */
.plans-hero {
  padding:7.5rem 0 5rem;
  text-align:center
}

.plans-hero .eyebrow {
  justify-content:center
}

.plans-hero h1 {
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
  font-size:clamp(3rem,5vw,5.4rem)
}

.plans-hero>p:not(.eyebrow) {
  max-width:720px;
  margin:0 auto;
  color:#5f706a;
  font-size:1.05rem;
  line-height:1.7
}

.beta-badge {
  width:max-content;
  max-width:100%;
  margin:2.3rem auto 0;
  padding:.7rem 1rem;
  border:1px solid #cfe2da;
  border-radius:999px;
  background:#eff8f4;
  display:flex;
  align-items:center;
  gap:.8rem;
  font-size:.7rem
}

.beta-badge strong {
  color:var(--launch-green)
}

.plans-pricing {
  padding-top:5rem
}

.comparison-section {
  padding:8rem 0
}

.plans-table-wrap {
  max-width:100%;
  overflow:auto;
  margin-top:3rem;
  border:1px solid #dbe6e1;
  border-radius:16px
}

.plans-table {
  width:100%;
  min-width:780px;
  border-collapse:collapse;
  background:#fff
}

.plans-table th,.plans-table td {
  padding:1.05rem 1.2rem;
  border-bottom:1px solid #e2eae7;
  text-align:left;
  font-size:.76rem
}

.plans-table thead th {
  padding:1.4rem 1.2rem;
  background:#f4f8f6;
  color:var(--launch-deep);
  font-size:.82rem
}

.plans-table thead th:not(:first-child) {
  text-align:center
}

.plans-table thead span {
  color:#73837e;
  font-size:.62rem;
  font-weight:500
}

.plans-table td:not(:first-child) {
  text-align:center;
  color:#51625c
}

.plans-table .recommended-col {
  background:#e7f4ee
}

.group-row th {
  padding:.75rem 1.2rem;
  background:#0f3b33;
  color:#fff;
  font-size:.61rem;
  letter-spacing:.1em
}

.check {
  color:var(--launch-green);
  font-weight:900
}

.dash {
  color:#a4b1ad
}

.plan-guidance {
  padding:8rem 0;
  background:#f2f7f4
}

.plan-guidance>.page-width {
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:6rem
}

.guidance-grid {
  display:grid;
  gap:.8rem
}

.guidance-grid article {
  padding:1.4rem 1.6rem;
  background:#fff;
  border:1px solid #dfe8e4;
  border-radius:13px
}

.guidance-grid strong {
  font-size:.85rem
}

.guidance-grid p {
  margin:.4rem 0 0;
  color:#63736e;
  font-size:.78rem
}

.plans-faq {
  padding:8rem 0
}

.plans-faq .section-intro {
  max-width:700px
}

@media(max-width:1000px) {
  .launch-hero {
    grid-template-columns:1fr;
    padding-top:5rem
  }
  .launch-hero-copy {
    text-align:center
  }
  .launch-hero .eyebrow,.launch-hero .hero-actions {
    justify-content:center
  }
  .launch-hero-copy>p:not(.eyebrow) {
    margin-left:auto;
    margin-right:auto
  }
  .hero-assurances {
    justify-content:center
  }
  .product-stage {
    width:min(720px,100%);
    margin:0 auto
  }
  .floating-insight {
    right:1rem
  }
  .ai-showcase-grid {
    grid-template-columns:1fr;
    gap:4rem
  }
  .launch-plan-grid {
    grid-template-columns:1fr
  }
  .launch-plan-grid>article.recommended {
    transform:none
  }
  .launch-plan-grid ul {
    min-height:0
  }
  .launch-footer>.page-width:first-child {
    grid-template-columns:2fr 1fr 1fr
  }
  .launch-footer>.page-width:first-child nav:last-child {
    grid-column:2
  }
  .plan-guidance>.page-width {
    grid-template-columns:1fr;
    gap:2rem
  }
}

@media(max-width:760px) {
  .launch-page .page-width {
    width:calc(100% - 32px)
  }
  .launch-notice {
    justify-content:space-between
  }
  .launch-notice strong {
    display:none
  }
  .launch-header {
    height:68px
  }
  .launch-header .header-nav {
    display:none
  }
  .header-actions {
    gap:.7rem
  }
  .launch-header .login-link {
    display:none
  }
  .launch-hero {
    min-height:0;
    padding:4rem 0 5rem;
    gap:3.5rem
  }
  .launch-hero h1,.plans-hero h1 {
    font-size:clamp(2.65rem,12vw,4.2rem)
  }
  .launch-hero-copy>p:not(.eyebrow) {
    font-size:.98rem
  }
  .hero-assurances {
    display:grid;
    justify-content:start;
    text-align:left;
    margin:0 auto;
    width:max-content;
    max-width:100%
  }
  .product-window {
    transform:none
  }
  .window-layout {
    grid-template-columns:76px 1fr
  }
  .window-layout>nav {
    padding:1rem .45rem
  }
  .window-layout>nav span,.window-layout>nav strong {
    padding:.45rem .35rem;
    font-size:.5rem
  }
  .window-content {
    padding:1.25rem
  }
  .window-content h2 {
    font-size:1.05rem
  }
  .mini-focus-row {
    grid-template-columns:1fr
  }
  .mini-focus-row article:nth-child(2) {
    display:none
  }
  .floating-insight {
    position:relative;
    right:auto;
    bottom:auto;
    width:85%;
    margin:-1.5rem auto 0
  }
  .trust-rail>div {
    padding:1rem 0;
    display:grid;
    grid-template-columns:1fr 1fr
  }
  .trust-rail span:last-child {
    display:none
  }
  .outcomes,.workflow,.method-proof,.comparison-section,.plans-faq {
    padding:6rem 0
  }
  .outcome-grid,.proof-grid {
    grid-template-columns:1fr
  }
  .outcome-grid article {
    min-height:220px
  }
  .ai-showcase {
    padding:6rem 0
  }
  .workflow-grid {
    grid-template-columns:1fr
  }
  .workflow-grid>i {
    display:none
  }
  .pricing-section {
    padding:6rem 0
  }
  .pricing-heading {
    align-items:flex-start;
    flex-direction:column;
    margin-bottom:2.5rem
  }
  .launch-plan-grid>article {
    padding:1.6rem
  }
  .final-cta {
    padding:6rem 0
  }
  .final-cta>div>div {
    flex-direction:column
  }
  .launch-footer>.page-width:first-child {
    grid-template-columns:1fr 1fr;
    gap:2.5rem
  }
  .launch-footer>.page-width:first-child>div {
    grid-column:1/-1
  }
  .launch-footer>.page-width:first-child nav:last-child {
    grid-column:auto
  }
  .footer-bottom {
    align-items:flex-start;
    flex-direction:column;
    gap:.5rem
  }
  .plans-hero {
    padding:5rem 0 3.5rem
  }
  .beta-badge {
    border-radius:14px;
    align-items:flex-start;
    flex-direction:column
  }
  .plan-guidance {
    padding:6rem 0
  }
}

@media(max-width:420px) {
  .launch-notice span {
    display:none
  }
  .launch-notice {
    justify-content:center
  }
  .launch-hero .hero-actions {
    align-items:stretch
  }
  .launch-hero .hero-actions a {
    text-align:center
  }
  .product-window>header {
    padding:0 .7rem
  }
  .window-status {
    max-width:80px;
    text-align:right
  }
  .window-layout {
    grid-template-columns:1fr
  }
  .window-layout>nav {
    display:none
  }
  .window-content {
    min-height:360px
  }
  .trust-rail>div {
    grid-template-columns:1fr
  }
  .trust-rail span:nth-child(even) {
    display:none
  }
  .launch-footer>.page-width:first-child {
    grid-template-columns:1fr
  }
  .launch-footer>.page-width:first-child nav:last-child {
    grid-column:auto
  }
}

/* Clear public demo / authenticated product boundary and mobile app navigation */
.mobile-nav,.mobile-app-brand {
  display:none
}

.app-body[data-view-state="demo"] .auth-only {
  display:none
}

.app-body[data-view-state="loading"] #app-main {
  opacity:.08;
  pointer-events:none
}

.app-body[data-view-state="loading"] .data-dot {
  animation:ma-pulse 1s ease-in-out infinite
}

.app-body[data-view-state="unavailable"] .data-dot {
  background:#b36b42
}

.app-empty-state {
  grid-column:1/-1;
  margin:0;
  padding:2rem;
  color:var(--ma-muted);
  text-align:center
}

.demo-pill {
  background:var(--ma-primary-soft)
}

@keyframes ma-pulse {
  50% {
    opacity:.25
  }
}

@media(max-width:900px) {
  .app-content {
    padding-bottom:76px
  }
  .app-topbar {
    height:60px;
    justify-content:flex-end;
    padding:0 1rem
  }
  .mobile-app-brand {
    width:32px;
    height:32px;
    margin-right:auto;
    display:grid;
    place-items:center;
    border:1px solid var(--ma-primary);
    border-radius:8px;
    color:var(--ma-primary);
    font-size:.68rem;
    font-weight:900
  }
  /* ADR-F28 · el menú móvil es un desplegable bajo la cabecera, abierto por el botón de
     tres rayas; antes era una barra fija abajo con seis destinos en dos filas. */
  .mobile-nav {
    position:fixed;
    z-index:49;
    left:0;
    right:0;
    top:60px;
    max-height:calc(100vh - 60px);
    overflow:auto;
    padding:.6rem .75rem max(.9rem,env(safe-area-inset-bottom));
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:.15rem;
    border-top:0;
    border-bottom:1px solid var(--ma-border);
    background:rgba(255,255,255,.98);
    box-shadow:0 18px 40px rgba(19,54,47,.14);
    backdrop-filter:blur(16px)
  }
  .mobile-nav[hidden] {
    display:none
  }
  .mobile-nav a {
    display:flex;
    align-items:center;
    gap:.85rem;
    margin:0;
    padding:.8rem .9rem;
    border-radius:10px;
    color:var(--ma-dark);
    text-align:left;
    font-size:1rem;
    font-weight:700
  }
  .mobile-nav a span {
    min-width:1.6rem;
    color:var(--ma-muted);
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.06em
  }
  .mobile-nav a[aria-current="page"] {
    background:var(--ma-primary-soft);
    color:var(--ma-dark)
  }
  .mobile-nav .nav-account {
    margin-top:.35rem;
    padding-top:.35rem;
    border-top:1px solid var(--ma-border)
  }
  .mobile-nav .nav-account-link {
    display:block;
    width:100%;
    padding:.8rem .9rem;
    border:0;
    border-radius:10px;
    background:none;
    color:var(--ma-dark);
    text-align:left;
    font:inherit;
    font-size:1rem;
    font-weight:600;
    cursor:pointer
  }
  .app-content main {
    padding-bottom:3rem
  }
}

@media(max-width:480px) {
  .app-topbar .auth-only.text-button {
    display:none
  }
  .app-topbar {
    gap:.5rem
  }
  .logout-form .avatar {
    min-width:38px;
    padding:0 .5rem
  }
  .mobile-nav {
    padding-bottom:max(.45rem,env(safe-area-inset-bottom))
  }
}

/* Legal and account controls */
.legal-body {
  background:var(--ma-bg)
}

.legal-layout {
  width:min(1180px,calc(100% - 48px));
  margin:4rem auto 8rem;
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:5rem;
  align-items:start
}

.legal-index {
  position:sticky;
  top:2rem;
  padding:1.5rem;
  background:var(--ma-surface);
  border:1px solid var(--ma-border);
  border-radius:16px
}

.legal-index nav {
  display:grid
}

.legal-index a {
  padding:.65rem 0;
  border-top:1px solid var(--ma-border);
  font-size:.82rem;
  font-weight:750;
  color:var(--ma-muted)
}

.legal-index a:hover {
  color:var(--ma-dark)
}

.legal-document {
  min-width:0
}

.legal-title {
  padding-bottom:3rem
}

.legal-title h1,.account-heading h1 {
  font:400 clamp(2.8rem,6vw,5rem)/1 var(--ma-serif);
  letter-spacing:-.04em;
  margin:.4rem 0 1.2rem
}

.legal-title>p:not(.section-kicker),.account-heading>p:last-child {
  max-width:760px;
  color:var(--ma-muted)
}

.legal-state {
  display:inline-flex;
  margin-top:1rem;
  padding:.45rem .75rem;
  border-radius:999px;
  background:#f3ead4;
  color:#715b24;
  font-size:.72rem;
  font-weight:800
}

.legal-document>section {
  scroll-margin-top:2rem;
  padding:4rem 0;
  border-top:1px solid var(--ma-border)
}

.legal-number {
  margin:0;
  color:var(--ma-primary);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.12em
}

.legal-document h2 {
  font:400 clamp(2rem,4vw,3.1rem)/1.1 var(--ma-serif);
  letter-spacing:-.03em;
  margin:.5rem 0 2rem
}

.legal-document h3 {
  margin:2rem 0 .5rem;
  font-size:1.05rem
}

.legal-document p,.legal-document li {
  color:var(--ma-muted)
}

.legal-fields {
  display:grid;
  grid-template-columns:1fr 1fr;
  margin:1.5rem 0;
  border:1px solid var(--ma-border);
  border-radius:14px;
  overflow:hidden
}

.legal-fields div {
  padding:1rem;
  background:var(--ma-surface);
  border-bottom:1px solid var(--ma-border)
}

.legal-fields div:nth-child(odd) {
  border-right:1px solid var(--ma-border)
}

.legal-fields dt {
  font-size:.7rem;
  font-weight:850;
  letter-spacing:.06em;
  color:var(--ma-muted)
}

.legal-fields dd {
  margin:.3rem 0 0;
  font-weight:700
}

.legal-table-wrap {
  max-width:100%;
  overflow:auto;
  border:1px solid var(--ma-border);
  border-radius:14px;
  background:var(--ma-surface)
}

.legal-table-wrap table {
  width:100%;
  border-collapse:collapse;
  min-width:680px
}

.legal-table-wrap th,.legal-table-wrap td {
  padding:1rem;
  text-align:left;
  vertical-align:top;
  border-bottom:1px solid var(--ma-border)
}

.legal-table-wrap th {
  font-size:.7rem;
  letter-spacing:.06em;
  color:var(--ma-muted)
}

.legal-table-wrap td {
  font-size:.84rem
}

.legal-table-wrap tr:last-child td {
  border-bottom:0
}

.legal-callout {
  margin:1.5rem 0;
  padding:1.5rem;
  border-left:4px solid var(--ma-primary);
  background:var(--ma-primary-soft);
  border-radius:0 14px 14px 0
}

.legal-callout p {
  margin:.4rem 0 0;
  color:var(--ma-dark)
}

.legal-footer {
  padding:2rem 0;
  border-top:1px solid var(--ma-border);
  display:flex;
  justify-content:space-between;
  gap:2rem;
  color:var(--ma-muted);
  font-size:.8rem
}

.legal-footer a,.account-legal a,.auth-check a {
  color:var(--ma-dark);
  font-weight:800;
  text-decoration:underline
}

.account-main {
  width:min(1040px,calc(100% - 48px));
  margin:4rem auto 8rem
}

.account-heading {
  margin-bottom:3rem
}

.account-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem
}

.account-grid article {
  padding:2rem;
  background:var(--ma-surface);
  border:1px solid var(--ma-border);
  border-radius:16px
}

.account-grid article>span {
  color:var(--ma-primary);
  font-size:.7rem;
  font-weight:850
}

.account-grid h2 {
  font:400 1.8rem var(--ma-serif);
  margin:1rem 0
}

.account-grid p,.account-legal {
  color:var(--ma-muted)
}

.account-legal {
  margin-top:2rem
}

.danger-link {
  color:#8b2e2e
}

.danger-button {
  background:#8b2e2e;
  border-color:#8b2e2e
}

.danger-button:hover {
  background:#6f2323
}

.auth-check label {
  margin:0!important;
  font-weight:500!important;
  line-height:1.5
}

@media(max-width:820px) {
  .legal-layout {
    grid-template-columns:1fr;
    gap:2rem
  }
  .legal-index {
    position:static
  }
  .legal-index nav {
    grid-template-columns:1fr 1fr
  }
  .account-grid {
    grid-template-columns:1fr
  }
  .legal-footer {
    flex-direction:column
  }
}

@media(max-width:560px) {
  .legal-layout,.account-main {
    width:calc(100% - 32px);
    margin-top:2rem
  }
  .legal-index nav {
    grid-template-columns:1fr
  }
  .legal-fields {
    grid-template-columns:1fr
  }
  .legal-fields div:nth-child(odd) {
    border-right:0
  }
  .legal-title h1 {
    font-size:2.7rem
  }
}

.following-360 {
  margin-top:2.5rem
}

.portfolio-alert-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem
}

.portfolio-alert-grid>article {
  padding:1.5rem;
  background:var(--ma-surface);
  border:1px solid var(--ma-border);
  border-radius:16px
}

.portfolio-alert-grid h3 {
  font:400 1.55rem var(--ma-serif);
  margin:.2rem 0
}

.portfolio-alert-grid>article>p {
  color:var(--ma-muted);
  font-size:.86rem
}

.compact-form {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.7rem;
  margin:1rem 0
}

.compact-form label {
  display:grid;
  gap:.25rem;
  font-size:.72rem;
  font-weight:800
}

.compact-form input,.compact-form select {
  width:100%;
  min-width:0;
  padding:.62rem .7rem;
  border:1px solid var(--ma-border-control);
  border-radius:9px;
  background:#fff;
  font:inherit
}

.compact-form .button {
  align-self:end
}

.compact-list {
  display:grid;
  gap:.55rem
}

.compact-list>div {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.8rem;
  padding:.7rem;
  border-top:1px solid var(--ma-border);
  font-size:.8rem
}

.compact-actions {
  display:flex;
  gap:.55rem;
  flex-wrap:wrap
}

@media(max-width:900px) {
  .portfolio-alert-grid {
    grid-template-columns:1fr
  }
}

@media(max-width:560px) {
  .compact-form {
    grid-template-columns:1fr
  }
  .compact-list>div {
    align-items:flex-start;
    flex-direction:column
  }
}

/* Public product and identity completion */
.site-header>nav {
  display:flex;
  align-items:center;
  gap:1.5rem;
  color:var(--ma-muted);
  font-size:.9rem
}

.site-footer {
  width:min(1180px,calc(100% - 48px));
  margin:5rem auto 0;
  padding:2.5rem 0;
  border-top:1px solid var(--ma-border);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem
}

.site-footer nav {
  display:flex;
  gap:1.3rem;
  color:var(--ma-muted);
  font-size:.82rem
}

.site-footer .social-links {
  margin-top:0
}

.site-footer .social-links a {
  border-color:var(--ma-border);
  color:var(--ma-muted)
}

.site-footer .social-links a:hover,
.site-footer .social-links a:focus-visible {
  color:var(--ma-primary);
  border-color:var(--ma-primary);
  background:transparent
}

.hero .hero-copy {
  max-width:880px;
  margin-inline:auto
}

.method.page-width {
  padding:6rem;
  max-width:1180px;
  border-radius:28px
}

.steps-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:#426257;
  border:1px solid #426257;
  border-radius:16px;
  overflow:hidden
}

.steps-grid article {
  padding:1.6rem;
  background:var(--ma-dark)
}

.steps-grid span {
  font-size:.7rem;
  font-weight:850;
  color:#b8d1c8
}

.steps-grid h3 {
  margin:1rem 0 .5rem
}

.steps-grid p {
  font-size:.88rem
}

.trust {
  padding:8rem 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5rem;
  align-items:start
}

.trust h2 {
  font:400 clamp(2rem,4vw,3.7rem)/1.1 var(--ma-serif);
  margin:.3rem 0
}

.trust>p {
  color:var(--ma-muted)
}

.account-grid {
  grid-template-columns:repeat(2,1fr)
}

.account-grid form {
  margin:0
}

.account-grid button.text-link {
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  font-weight:750
}

.auth-card[data-state="success"] {
  border-color:var(--ma-primary)
}

@media(max-width:820px) {
  .steps-grid {
    grid-template-columns:1fr 1fr
  }
  .method.page-width {
    width:calc(100% - 32px);
    padding:3rem 1.5rem
  }
  .trust {
    grid-template-columns:1fr;
    gap:1rem
  }
  .site-header>nav a:not(:last-child) {
    display:none
  }
}

@media(max-width:560px) {
  .steps-grid {
    grid-template-columns:1fr
  }
  .site-footer {
    width:calc(100% - 32px);
    align-items:flex-start;
    flex-direction:column
  }
  .site-footer nav {
    flex-direction:column;
    gap:.6rem
  }
  .site-footer .social-links {
    flex-direction:row;
    gap:.55rem
  }
  .social-section {
    flex-direction:column;
    align-items:flex-start;
    gap:1.5rem;
    padding-bottom:4rem
  }
}

/* Private multi-list following */
.following-list-controls {
  display:grid;
  grid-template-columns:1fr minmax(280px,.9fr);
  gap:1rem;
  margin:0 0 1rem;
  padding:1.25rem;
  background:var(--ma-primary-soft);
  border:1px solid var(--ma-border);
  border-radius:14px
}

.following-list-controls[hidden] {
  display:none
}

.following-list-controls h3 {
  margin:.2rem 0;
  font:500 1.4rem var(--ma-serif)
}

.following-list-controls form label {
  display:block;
  margin-bottom:.35rem;
  font-size:.72rem;
  font-weight:800
}

.following-list-controls form>div {
  display:flex;
  gap:.55rem
}

.following-list-controls input,.company-search select {
  width:100%;
  min-width:0;
  padding:.72rem .8rem;
  border:1px solid var(--ma-border-control);
  border-radius:9px;
  background:#fff;
  color:var(--ma-text);
  font:inherit
}

.following-list-controls>.compact-list {
  grid-column:1/-1
}

.following-list-controls .compact-list input {
  max-width:28rem
}

.follow-list article {
  grid-template-columns:minmax(180px,1.05fr) minmax(260px,1.5fr) auto
}

.following-summary-copy {
  margin:0
}

.following-change {
  grid-column:1/-1;
  padding:.8rem 1rem;
  border-radius:10px;
  background:var(--ma-soft)
}

.following-change strong {
  display:block;
  font-size:.72rem;
  letter-spacing:.04em;
  color:var(--ma-dark)
}

.following-change p {
  margin:.2rem 0
}

.following-change-changed {
  border-left:3px solid var(--ma-primary);
  background:var(--ma-primary-soft)
}

.following-note {
  grid-column:1/-1;
  margin:0!important
}

.following-note-input {
  grid-column:1/3;
  width:100%;
  min-width:0;
  padding:.7rem .8rem;
  border:1px solid var(--ma-border-control);
  border-radius:9px;
  background:#fff;
  color:var(--ma-text);
  font:inherit
}

.following-actions {
  justify-content:flex-end
}

.following-actions button:last-child {
  color:#7a3333
}

@media(max-width:900px) {
  .following-list-controls {
    grid-template-columns:1fr
  }
  .following-list-controls>.compact-list {
    grid-column:auto
  }
  .follow-list article {
    grid-template-columns:1fr auto
  }
  .following-summary-copy,.following-change,.following-note {
    grid-column:1/-1
  }
  .following-note-input {
    grid-column:1
  }
  .following-actions {
    justify-content:flex-start
  }
}

@media(max-width:560px) {
  .following-list-controls form>div {
    flex-direction:column
  }
  .follow-list article {
    grid-template-columns:1fr
  }
  .follow-list article>.status {
    justify-self:start
  }
  .following-actions {
    grid-column:1
  }
}

/* Premium guided tour and hardened responsive application shell */
.app-content,.app-view,.view-heading>div {
  min-width:0
}

.app-body:not([data-view-state="demo"]) .demo-only {
  display:none!important
}

.demo-tourbar {
  min-height:54px;
  padding:.65rem 2.5rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  background:#123e35;
  color:#fff;
  position:sticky;
  top:0;
  z-index:30
}

.demo-tourbar>div {
  display:flex;
  align-items:center;
  gap:1rem
}

.demo-tourbar strong {
  font-size:.63rem;
  letter-spacing:.13em;
  color:#c8efdb
}

.demo-tourbar span {
  font-size:.72rem;
  color:#d5e7e1
}

.demo-tourbar>a {
  color:#fff;
  font-size:.73rem;
  font-weight:800
}

.app-body[data-view-state="demo"] .app-topbar {
  top:54px
}

.demo-sidebar-actions {
  display:grid;
  gap:.65rem;
  margin-top:auto;
  padding:1rem;
  border:1px solid var(--ma-border);
  border-radius:12px;
  background:linear-gradient(145deg,var(--ma-primary-soft),#fff)
}

.demo-sidebar-actions strong {
  font-size:.76rem
}

.demo-sidebar-actions .button {
  text-align:center
}

.demo-sidebar-actions+.back-link {
  margin-top:1rem
}

.company-heading .page-title {
  max-width:930px;
  text-wrap:balance
}

.company-reading {
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,#fff 0%,#f3f8f5 100%);
  box-shadow:0 24px 70px rgba(21,58,48,.08)
}

.company-reading:after {
  content:'ma';
  position:absolute;
  right:-.25rem;
  top:-2.8rem;
  font:300 9rem var(--ma-serif);
  color:var(--ma-primary);
  opacity:.055
}

.company-reading>* {
  position:relative;
  z-index:1
}

.company-reading h2 {
  max-width:940px;
  text-wrap:balance
}

.report-grid>article {
  position:relative;
  overflow:hidden
}

.report-grid>article:before {
  content:'';
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:var(--ma-primary)
}

.evidence-grid>article {
  background:linear-gradient(180deg,#fff,#f8faf9)
}

.app-system-state {
  display:none;
  min-height:55vh;
  grid-template-columns:auto minmax(0,720px);
  justify-content:center;
  align-items:center;
  gap:2rem;
  padding:4rem;
  border:1px solid var(--ma-border);
  border-radius:24px;
  background:linear-gradient(145deg,#fff,#edf5f1)
}

.app-system-state .system-state-mark {
  width:72px;
  height:72px;
  display:grid;
  place-items:center;
  border:1px solid var(--ma-primary);
  border-radius:20px;
  color:var(--ma-primary);
  font:700 1.2rem var(--ma-sans)
}

.app-system-state h2 {
  margin:.35rem 0;
  font:450 clamp(2rem,4vw,3.6rem)/1.05 var(--ma-serif);
  letter-spacing:-.035em
}

.app-system-state p:last-of-type {
  color:var(--ma-muted)
}

.app-system-state-error {
  background:linear-gradient(145deg,#fff,#f7f2ea)
}

.app-body[data-view-state="loading"] #app-main {
  opacity:1;
  pointer-events:auto
}

.app-body[data-view-state="loading"] .app-view,.app-body[data-view-state="unavailable"] .app-view {
  display:none!important
}

.app-body[data-view-state="loading"] #app-loading-state {
  display:grid
}

.app-body[data-view-state="unavailable"] #app-unavailable-state {
  display:grid
}

@media(max-width:900px) {
  .demo-tourbar {
    padding:.7rem 1rem
  }
  .demo-tourbar>div {
    display:grid;
    gap:.12rem
  }
  .demo-tourbar>a {
    white-space:nowrap
  }
  .app-body[data-view-state="demo"] .app-topbar {
    top:58px
  }
  .page-title {
    max-width:100%;
    font-size:clamp(2rem,8vw,3.2rem);
    overflow-wrap:anywhere
  }
  .company-heading {
    gap:1rem
  }
  .company-heading p {
    overflow-wrap:anywhere
  }
  .app-content main {
    overflow:hidden
  }
}

@media(max-width:560px) {
  html,body {
    width:100%;
    max-width:100%;
    overflow-x:hidden
  }
  .app-shell,.app-content {
    width:100vw;
    max-width:100vw;
    min-width:0;
    overflow-x:hidden
  }
  .demo-tourbar {
    position:relative;
    width:100%;
    min-width:0;
    min-height:0;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-items:start;
    gap:.55rem
  }
  .demo-tourbar>div {
    width:100%;
    min-width:0;
    display:grid;
    grid-template-columns:minmax(0,1fr)
  }
  .demo-tourbar strong,.demo-tourbar>div span {
    display:block;
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere
  }
  .demo-tourbar>div span {
    font-size:.66rem;
    line-height:1.4
  }
  .demo-tourbar>a {
    display:block;
    max-width:100%;
    padding:.1rem 0;
    text-align:left;
    white-space:normal;
    overflow-wrap:anywhere
  }
  .app-body[data-view-state="demo"] .app-topbar {
    top:0
  }
  .app-topbar {
    position:relative
  }
  .page-title {
    max-width:100%;
    font-size:clamp(2rem,11vw,2.8rem);
    line-height:1.02;
    letter-spacing:-.035em;
    overflow-wrap:anywhere
  }
  .view-heading,.view-heading>div {
    width:100%;
    max-width:100%;
    min-width:0
  }
  .view-heading .state-chip {
    align-self:flex-start
  }
  .company-heading #company-heading-meta {
    display:block;
    width:100%;
    max-width:100%;
    white-space:normal;
    line-height:1.6;
    overflow-wrap:anywhere;
    word-break:normal
  }
  .company-search {
    width:100%;
    max-width:100%;
    padding:1rem
  }
  .reading-panel h2 {
    font-size:clamp(1.7rem,8vw,2.25rem);
    line-height:1.12;
    overflow-wrap:anywhere
  }
  .report-grid>article,.evidence-grid>article {
    padding:1.25rem
  }
  .evidence-grid dl div {
    align-items:flex-start;
    flex-direction:column
  }
  .evidence-grid dd {
    text-align:left
  }
  .section-heading {
    align-items:flex-start;
    gap:.7rem;
    flex-direction:column
  }
  .section-actions .button {
    width:100%;
    text-align:center
  }
  .app-content main {
    width:calc(100vw - 32px);
    max-width:calc(100vw - 32px)
  }
  .app-system-state {
    min-height:60vh;
    grid-template-columns:1fr;
    padding:1.5rem
  }
  .app-system-state .system-state-mark {
    width:52px;
    height:52px;
    border-radius:14px
  }
}

.app-sidebar .nav-ai {
  margin-top:.55rem;
  background:linear-gradient(135deg,#173c35,#2c6659);
  color:#fff
}

.app-sidebar .nav-ai:hover,.app-sidebar .nav-ai[aria-current="page"] {
  background:linear-gradient(135deg,#214c42,#347665);
  color:#fff
}

.app-ai-brief {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  margin-top:1rem;
  padding:1.15rem 1.35rem;
  border:1px solid #bfd8ce;
  border-radius:15px;
  background:linear-gradient(135deg,#e5f3ed,#f7fbf9)
}

.app-ai-brief>div {
  display:flex;
  align-items:center;
  gap:1rem
}

.app-ai-brief p {
  margin:0;
  max-width:780px;
  color:var(--ma-muted);
  font-size:.8rem;
  line-height:1.55
}

.app-ai-brief strong {
  display:block;
  color:var(--ma-dark)
}

/* 2026-08 market-energy visual system */
.market-tape {
  height:34px;
  overflow:hidden;
  background:#08251f;
  color:#bdebd8;
  border-top:1px solid rgba(255,255,255,.08);
  white-space:nowrap
}

.market-tape-track {
  width:max-content;
  height:100%;
  display:flex;
  align-items:center;
  gap:2.5rem;
  padding-left:2.5rem;
  animation:market-tape-flow 34s linear infinite
}

.market-tape span {
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  font-size:.55rem;
  font-weight:800;
  letter-spacing:.13em
}

.market-tape i,.live-chip i,.cockpit-live i {
  width:6px;
  height:6px;
  border-radius:50%;
  background:#65e4b1;
  box-shadow:0 0 0 5px rgba(101,228,177,.12);
  animation:market-live-pulse 2.2s ease-in-out infinite
}

.launch-hero {
  position:relative
}

.launch-hero:before {
  content:'';
  position:absolute;
  width:46vw;
  height:46vw;
  max-width:720px;
  max-height:720px;
  right:-20vw;
  top:-12vw;
  border-radius:50%;
  background:conic-gradient(from 220deg,rgba(101,228,177,.2),rgba(51,113,220,.12),rgba(185,239,159,.18),rgba(101,228,177,.2));
  filter:blur(55px);
  opacity:.75;
  pointer-events:none;
  animation:market-aurora 14s ease-in-out infinite alternate
}

.product-window {
  border-color:rgba(59,125,106,.25);
  box-shadow:0 42px 100px rgba(8,48,39,.2),0 12px 34px rgba(15,93,78,.1)
}

.mini-market-visual {
  margin-top:1.35rem;
  padding:.85rem .9rem .45rem;
  border:1px solid rgba(76,139,121,.17);
  border-radius:11px;
  background:linear-gradient(160deg,#102f29,#16483d);
  color:#fff;
  overflow:hidden
}

.mini-chart-head {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:1rem
}

.mini-chart-head>span {
  font-size:.48rem;
  font-weight:800;
  letter-spacing:.12em;
  color:#9dcab9
}

.mini-chart-head strong {
  font-size:.75rem;
  color:#74e6b8
}

.mini-chart-head small {
  color:#92aca4;
  font-size:.45rem;
  font-weight:500
}

.mini-market-visual svg {
  width:100%;
  height:72px;
  display:block;
  margin-top:.2rem;
  overflow:visible
}

.mini-chart-grid {
  fill:none;
  stroke:rgba(255,255,255,.08);
  stroke-width:1
}

.mini-chart-area {
  fill:url(#hero-chart-fill)
}

.mini-chart-line {
  fill:none;
  stroke:#70e4b7;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 7px rgba(101,228,177,.65));
  stroke-dasharray:1;
  stroke-dashoffset:1;
  animation:market-line-draw 2.4s .25s cubic-bezier(.2,.75,.25,1) forwards
}

.mini-chart-axis {
  display:flex;
  justify-content:space-between;
  color:#789d90;
  font-size:.4rem;
  letter-spacing:.08em
}

.mini-focus-row {
  margin-top:.8rem
}

.market-story {
  position:relative;
  padding:9rem 0;
  overflow:hidden;
  background:#092d27;
  color:#fff
}

.market-story:before {
  content:'';
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(to right,transparent,#000 30%,#000 70%,transparent)
}

.market-story-orb {
  position:absolute;
  border-radius:50%;
  filter:blur(70px);
  pointer-events:none
}

.market-story-orb-one {
  width:420px;
  height:420px;
  right:-80px;
  top:-120px;
  background:rgba(30,164,132,.2)
}

.market-story-orb-two {
  width:300px;
  height:300px;
  left:-100px;
  bottom:-120px;
  background:rgba(59,113,220,.13)
}

.market-story-grid {
  position:relative;
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  align-items:center;
  gap:5rem
}

.market-story-copy h2 {
  margin:.55rem 0 1.4rem;
  font:690 clamp(2.5rem,4.7vw,4.8rem)/1 var(--ma-sans);
  letter-spacing:-.055em;
  text-wrap:balance
}

.market-story-copy>p:not(.section-kicker) {
  color:#b5ccc4;
  line-height:1.85
}

.market-story-principles {
  display:flex;
  flex-wrap:wrap;
  gap:.7rem 1.1rem;
  margin:2rem 0;
  color:#d8e7e2;
  font-size:.68rem;
  font-weight:700
}

.market-story-principles span {
  display:flex;
  align-items:center;
  gap:.45rem
}

.market-story-principles i {
  width:7px;
  height:7px;
  border-radius:50%;
  background:#65e4b1
}

.market-story-link {
  color:#8befc8!important
}

.market-canvas {
  padding:1.4rem;
  border:1px solid rgba(151,220,195,.2);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(24,71,61,.92),rgba(7,32,27,.96));
  box-shadow:0 35px 100px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.06);
  backdrop-filter:blur(20px)
}

.market-canvas>header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:.25rem .3rem 1.2rem;
  border-bottom:1px solid rgba(255,255,255,.1)
}

.market-canvas>header div span,.market-canvas>header div strong {
  display:block
}

.market-canvas>header div span {
  color:#84aa9d;
  font-size:.52rem;
  font-weight:800;
  letter-spacing:.11em
}

.market-canvas>header div strong {
  margin-top:.22rem;
  font-size:1rem
}

.live-chip {
  display:flex;
  align-items:center;
  gap:.55rem;
  padding:.4rem .65rem;
  border:1px solid rgba(101,228,177,.24);
  border-radius:999px;
  color:#8cefc9;
  font-size:.5rem;
  font-weight:900;
  letter-spacing:.12em
}

.market-canvas-main {
  display:grid;
  grid-template-columns:minmax(0,1fr) 155px;
  gap:1rem;
  margin-top:1rem
}

.market-line-card {
  position:relative;
  padding:1rem;
  border-radius:15px;
  background:rgba(3,22,18,.48);
  overflow:hidden
}

.market-number {
  position:absolute;
  z-index:2;
  left:1rem;
  top:1rem
}

.market-number strong,.market-number span {
  display:block
}

.market-number strong {
  color:#71e4b7;
  font-size:1.45rem;
  letter-spacing:-.04em
}

.market-number span {
  color:#759c8f;
  font-size:.51rem
}

.market-line-card svg {
  width:100%;
  height:230px;
  display:block
}

.story-grid-line {
  fill:none;
  stroke:rgba(255,255,255,.07);
  stroke-width:1
}

.story-chart-area {
  fill:url(#story-chart-fill)
}

.story-chart-line {
  fill:none;
  stroke:#70e4b7;
  stroke-width:3.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:1;
  stroke-dashoffset:1;
  animation:market-line-draw 2.8s .35s cubic-bezier(.2,.75,.25,1) forwards;
  filter:url(#story-glow)
}

.story-chart-point {
  fill:#c2ffdf;
  stroke:#1e8e70;
  stroke-width:4;
  animation:market-point-pulse 2s infinite
}

.market-axis {
  display:flex;
  justify-content:space-between;
  color:#557c6f;
  font-size:.46rem;
  letter-spacing:.08em
}

.market-side-stats {
  display:grid;
  gap:1rem
}

.market-side-stats article {
  padding:1rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(255,255,255,.045)
}

.market-side-stats span {
  color:#77a092;
  font-size:.48rem;
  font-weight:850;
  letter-spacing:.1em
}

.market-side-stats strong {
  display:block;
  margin:.8rem 0 .55rem;
  color:#f4fffb;
  font-size:1.25rem;
  letter-spacing:-.035em
}

.market-side-stats small,.market-side-stats p {
  color:#7fa398;
  font-size:.52rem;
  line-height:1.5
}

.side-meter {
  height:5px;
  margin:.7rem 0;
  background:rgba(255,255,255,.08);
  border-radius:999px;
  overflow:hidden
}

.side-meter i {
  display:block;
  height:100%;
  background:linear-gradient(90deg,#4dc793,#87efc4);
  border-radius:inherit
}

.sector-rhythm {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:.65rem;
  margin-top:1rem
}

.sector-rhythm>span {
  position:relative;
  overflow:hidden;
  min-height:74px;
  padding:.75rem;
  border:1px solid rgba(255,255,255,.07);
  border-radius:11px;
  color:#a8c0b8;
  font-size:.47rem;
  font-weight:800;
  letter-spacing:.08em
}

.sector-rhythm i {
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:var(--sector-level);
  background:linear-gradient(to top,rgba(101,228,177,.24),rgba(101,228,177,.025));
  border-top:1px solid rgba(101,228,177,.28)
}

.market-canvas>footer {
  padding:.9rem .25rem 0;
  color:#638a7d;
  font-size:.48rem
}

.market-cockpit {
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(230px,.55fr);
  gap:1rem;
  margin:1.7rem 0;
  padding:1.2rem;
  border-radius:22px;
  background:radial-gradient(circle at 90% 0,rgba(62,152,126,.23),transparent 36%),linear-gradient(145deg,#0b332c,#102821);
  color:#fff;
  box-shadow:0 28px 70px rgba(19,62,51,.16);
  overflow:hidden
}

.cockpit-lead {
  min-width:0;
  padding:1rem 1.1rem .7rem
}

.cockpit-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1.5rem
}

.cockpit-heading h2 {
  margin:.3rem 0;
  font:520 clamp(1.8rem,3vw,3rem)/1.05 var(--ma-serif)
}

.cockpit-heading .section-kicker {
  color:#82dab8
}

.cockpit-live {
  display:flex;
  align-items:center;
  gap:.55rem;
  padding:.42rem .7rem;
  border:1px solid rgba(101,228,177,.22);
  border-radius:999px;
  color:#a4e9ce;
  font-size:.58rem;
  font-weight:800;
  white-space:nowrap
}

.cockpit-chart {
  position:relative;
  margin-top:1rem;
  padding-top:1rem;
  border-top:1px solid rgba(255,255,255,.08)
}

.cockpit-value {
  position:absolute;
  z-index:2;
  left:0;
  top:1.25rem
}

.cockpit-value strong,.cockpit-value span {
  display:block
}

.cockpit-value strong {
  color:#70e4b7;
  font-size:1.6rem;
  letter-spacing:-.045em
}

.cockpit-value span {
  color:#82a59a;
  font-size:.55rem
}

.cockpit-chart svg {
  width:100%;
  height:190px;
  display:block
}

.cockpit-grid-line {
  fill:none;
  stroke:rgba(255,255,255,.06);
  stroke-width:1
}

.cockpit-area {
  fill:url(#cockpit-fill)
}

.cockpit-line {
  fill:none;
  stroke:#70e4b7;
  stroke-width:3.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:1;
  stroke-dashoffset:1;
  animation:market-line-draw 2.4s .2s cubic-bezier(.2,.75,.25,1) forwards;
  filter:drop-shadow(0 0 7px rgba(101,228,177,.55))
}

.cockpit-axis {
  display:flex;
  justify-content:space-between;
  color:#5d8578;
  font-size:.47rem;
  letter-spacing:.08em
}

.cockpit-side {
  display:grid;
  grid-template-rows:1.1fr .9fr;
  gap:1rem
}

.cockpit-side>article {
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  padding:1rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:rgba(255,255,255,.045);
  text-align:center
}

.breadth-dial {
  width:122px;
  height:122px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:conic-gradient(#67dfae calc(var(--breadth-up)*1%),rgba(255,255,255,.09) 0);
  position:relative
}

.breadth-dial:after {
  content:'';
  position:absolute;
  inset:10px;
  border-radius:50%;
  background:#11352d
}

.breadth-dial>div {
  position:relative;
  z-index:1
}

.breadth-dial strong,.breadth-dial span {
  display:block
}

.breadth-dial strong {
  font-size:1.55rem;
  letter-spacing:-.05em
}

.breadth-dial span {
  color:#81a59a;
  font-size:.53rem
}

.breadth-dial-card>p {
  margin:.8rem 0 0;
  font-size:.67rem;
  font-weight:800
}

.breadth-dial-card>small {
  color:#75968c;
  font-size:.52rem
}

.sector-pulse-card>span {
  color:#7fa89b;
  font-size:.5rem;
  font-weight:850;
  letter-spacing:.1em
}

.sector-pills {
  display:flex;
  justify-content:center;
  gap:.4rem;
  flex-wrap:wrap;
  margin:.85rem 0
}

.sector-pills i {
  padding:.35rem .52rem;
  border:1px solid rgba(101,228,177,.18);
  border-radius:999px;
  background:rgba(101,228,177,.08);
  color:#c0ead9;
  font-size:.54rem;
  font-style:normal
}

.sector-pulse-card>small {
  color:#75968c;
  font-size:.49rem;
  line-height:1.45
}

.company-visual-strip {
  display:grid;
  grid-template-columns:.65fr .75fr 1.25fr;
  gap:1rem;
  margin:1rem 0 2.3rem
}

.company-visual-strip>article {
  min-width:0;
  padding:1.25rem;
  border:1px solid var(--ma-border);
  border-radius:15px;
  background:linear-gradient(145deg,#fff,#f2f8f5);
  box-shadow:0 12px 34px rgba(24,72,59,.06)
}

.company-visual-strip>article>span {
  display:block;
  color:var(--ma-primary);
  font-size:.55rem;
  font-weight:850;
  letter-spacing:.1em
}

.company-visual-strip strong {
  display:block;
  margin:.7rem 0 .2rem;
  font-size:1.65rem;
  letter-spacing:-.04em
}

.company-visual-strip small {
  color:var(--ma-muted);
  font-size:.58rem
}

.metric-positive {
  color:#197459
}

.metric-negative {
  color:#a14848
}

.change-track {
  height:6px;
  margin-top:.8rem;
  border-radius:999px;
  background:#e1e9e5;
  overflow:hidden
}

.change-track i {
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#2f8066,#77dbae);
  transition:width .7s ease
}

.change-track i.is-negative {
  background:linear-gradient(90deg,#a14848,#df8b82)
}

.company-mini-chart svg {
  width:100%;
  height:60px;
  display:block;
  margin:.35rem 0;
  transition:transform .6s ease
}

.company-mini-chart.is-negative svg {
  transform:scaleY(-1)
}

.company-chart-area {
  fill:rgba(48,133,103,.12)
}

.company-chart-line {
  fill:none;
  stroke:#328268;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:1;
  stroke-dashoffset:1;
  animation:market-line-draw 1.8s .2s ease forwards
}

.company-mini-chart.is-negative .company-chart-area {
  fill:rgba(161,72,72,.1)
}

.company-mini-chart.is-negative .company-chart-line {
  stroke:#a14848
}

@keyframes market-tape-flow {
  to {
    transform:translateX(-50%)
  }
}

@keyframes market-line-draw {
  to {
    stroke-dashoffset:0
  }
}

@keyframes market-live-pulse {
  50% {
    opacity:.35;
    box-shadow:0 0 0 9px rgba(101,228,177,0)
  }
}

@keyframes market-point-pulse {
  50% {
    r:9;
    opacity:.65
  }
}

@keyframes market-aurora {
  to {
    transform:translate(-5%,8%) rotate(18deg);
    opacity:.48
  }
}

@media(max-width:1000px) {
  .market-story-grid {
    grid-template-columns:1fr;
    gap:3.5rem
  }
  .market-cockpit {
    grid-template-columns:1fr
  }
  .cockpit-side {
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto
  }
  .company-visual-strip {
    grid-template-columns:1fr 1fr
  }
  .company-mini-chart {
    grid-column:1/-1
  }
}

@media(max-width:700px) {
  .market-tape {
    height:30px
  }
  .market-tape-track {
    gap:1.7rem;
    animation-duration:26s
  }
  .market-tape span {
    font-size:.49rem
  }
  .market-story {
    padding:6rem 0
  }
  .market-canvas {
    padding:.85rem;
    border-radius:16px
  }
  .market-canvas-main {
    grid-template-columns:1fr
  }
  .market-side-stats {
    grid-template-columns:1fr 1fr
  }
  .market-line-card svg {
    height:180px
  }
  .sector-rhythm {
    grid-template-columns:1fr 1fr
  }
  .market-story-copy h2 {
    font-size:clamp(2.5rem,12vw,3.7rem)
  }
  .market-cockpit {
    margin:1.2rem 0;
    padding:.7rem;
    border-radius:17px
  }
  .cockpit-lead {
    padding:.8rem .55rem
  }
  .cockpit-heading {
    display:grid
  }
  .cockpit-live {
    width:max-content
  }
  .cockpit-chart svg {
    height:155px
  }
  .cockpit-side {
    grid-template-columns:1fr
  }
  .company-visual-strip {
    grid-template-columns:1fr
  }
  .company-mini-chart {
    grid-column:auto
  }
}

/* Premium analytical workspace · 2026-08-16 */
.app-body {
  --ink:#092820;
  --night:#071f1a;
  --signal:#54d6a2;
  --signal-2:#9af0ce;
  --cyan:#59c6cf;
  --amber:#e1b55f;
  --danger:#d66f6f;
  background:linear-gradient(180deg,#f4f7f4 0,#edf3f0 100%)
}

.app-content main {
  width:min(1240px,calc(100% - 72px))
}

.app-view {
  animation:view-enter .5s cubic-bezier(.2,.75,.2,1)
}

@keyframes view-enter {
  from {
    opacity:0;
    transform:translateY(8px)
  }
}

.page-title {
  font-size:clamp(3rem,5vw,5.2rem)!important;
  letter-spacing:-.065em!important
}

.view-heading {
  margin-bottom:2.1rem
}

.view-heading>div>p:last-child {
  max-width:680px
}

.view-heading .state-chip {
  box-shadow:0 8px 25px rgba(12,54,43,.06)
}

.command-label {
  display:block;
  color:#83aa9e;
  font-size:.57rem;
  font-weight:850;
  letter-spacing:.13em
}

.market-cockpit.market-command {
  display:block;
  margin:0 0 1.25rem;
  padding:0;
  border:1px solid rgba(136,230,194,.12);
  border-radius:26px;
  background:radial-gradient(circle at 76% 12%,rgba(67,203,153,.18),transparent 24%),radial-gradient(circle at 0 100%,rgba(70,151,158,.13),transparent 28%),linear-gradient(145deg,#061d18,#0b2d25 68%,#0b241e);
  box-shadow:0 32px 75px rgba(8,41,33,.2)
}

.command-header {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:2rem;
  padding:2rem 2.2rem 1.5rem;
  border-bottom:1px solid rgba(255,255,255,.08)
}

.command-header .section-kicker {
  margin-bottom:.35rem;
  color:#63d8aa
}

.command-header h2 {
  margin:0;
  font:500 clamp(1.65rem,2.6vw,2.55rem)/1.1 var(--ma-serif);
  letter-spacing:-.035em
}

.market-command-grid {
  display:grid;
  grid-template-columns:1.1fr 1.25fr .9fr;
  min-height:260px
}

.market-command-grid>article {
  position:relative;
  padding:2rem 2.2rem;
  border-right:1px solid rgba(255,255,255,.08)
}

.market-command-grid>article:last-child {
  border-right:0
}

.market-delta strong {
  display:block;
  margin:.8rem 0 .1rem;
  color:var(--signal-2);
  font-size:clamp(2.7rem,5vw,4.7rem);
  line-height:1;
  letter-spacing:-.075em
}

.market-delta.is-negative strong {
  color:#f09b95
}

.market-delta p {
  max-width:300px;
  margin:.65rem 0;
  color:#7fa197;
  font-size:.66rem
}

.delta-axis {
  position:relative;
  height:20px;
  margin-top:1.5rem
}

.delta-axis:before {
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:9px;
  height:1px;
  background:linear-gradient(90deg,#d87272,#577a70 50%,#56d3a2)
}

.delta-axis:after {
  content:'';
  position:absolute;
  left:var(--delta-position,55%);
  top:4px;
  width:10px;
  height:10px;
  border:2px solid #d9fff0;
  border-radius:50%;
  background:var(--signal);
  box-shadow:0 0 0 5px rgba(83,218,164,.12),0 0 20px rgba(83,218,164,.65);
  transform:translateX(-50%);
  transition:left .7s ease
}

.market-delta.is-negative .delta-axis:after {
  background:#dc7770;
  box-shadow:0 0 0 5px rgba(220,119,112,.12),0 0 20px rgba(220,119,112,.55)
}

.delta-axis span {
  position:absolute;
  top:4px;
  width:1px;
  height:11px;
  background:rgba(255,255,255,.25)
}

.delta-axis span:first-child {
  left:0
}

.delta-axis span:last-child {
  right:0
}

.delta-axis i {
  position:absolute;
  left:50%;
  top:2px;
  width:1px;
  height:15px;
  background:#d9fff0
}

.axis-labels {
  display:flex;
  justify-content:space-between;
  color:#607f76;
  font-size:.49rem;
  text-transform:uppercase;
  letter-spacing:.08em
}

.axis-labels b {
  color:#a9c1ba
}

.command-card-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem
}

.command-card-head strong {
  display:block;
  margin-top:.25rem;
  font-size:1rem
}

.command-card-head small {
  color:#74958b;
  font-variant-numeric:tabular-nums
}

.breadth-field {
  display:grid;
  grid-template-columns:repeat(10,1fr);
  gap:7px;
  margin:2rem 0 1.5rem
}

.breadth-field i {
  aspect-ratio:1;
  border-radius:4px;
  background:#203d35;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
  transform:scale(.9);
  animation:field-pop .45s both
}

.breadth-field i.is-up {
  background:linear-gradient(145deg,#62e2b0,#2e8f70);
  box-shadow:0 5px 12px rgba(55,193,143,.16)
}

.breadth-field i.is-down {
  background:linear-gradient(145deg,#a25254,#542f30)
}

.breadth-field i:nth-child(3n) {
  animation-delay:.08s
}

.breadth-field i:nth-child(4n) {
  animation-delay:.14s
}

@keyframes field-pop {
  from {
    opacity:0;
    transform:scale(.25)
  }
}

.field-legend {
  display:flex;
  gap:1rem;
  color:#7d9d93;
  font-size:.55rem
}

.field-legend span {
  display:flex;
  align-items:center;
  gap:.4rem
}

.field-legend i {
  width:7px;
  height:7px;
  border-radius:2px;
  background:var(--signal)
}

.field-legend span:last-child i {
  background:#8c4748
}

.market-command .sector-pulse-card {
  align-items:flex-start;
  justify-content:flex-start;
  text-align:left
}

.market-command .sector-pills {
  justify-content:flex-start;
  margin:1.3rem 0
}

.market-command .sector-pills i {
  width:100%;
  padding:.62rem .7rem;
  border-radius:8px
}

.market-command .sector-pulse-card small {
  margin-top:auto
}

.focus-grid article {
  position:relative;
  overflow:hidden;
  padding:1.55rem;
  box-shadow:0 12px 36px rgba(12,55,44,.045);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease
}

.focus-grid article:hover {
  transform:translateY(-4px);
  border-color:#b5d7c9;
  box-shadow:0 22px 50px rgba(12,55,44,.1)
}

.focus-grid article:before {
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:linear-gradient(var(--signal),transparent)
}

.focus-session-metric {
  margin-top:1.2rem;
  padding-top:1rem;
  border-top:1px solid var(--ma-border)
}

.focus-session-metric small,.focus-session-metric strong {
  display:block
}

.focus-session-metric strong {
  margin:.25rem 0 .5rem;
  color:#197459;
  font-size:1.15rem
}

.focus-session-metric.is-negative strong {
  color:#a14848
}

.focus-session-metric i {
  display:block;
  width:var(--metric-size,12%);
  height:3px;
  border-radius:9px;
  background:linear-gradient(90deg,#238364,#78dcb5)
}

.focus-session-metric.is-negative i {
  background:linear-gradient(90deg,#a14848,#e1958d)
}

.app-ai-brief {
  border-color:#b8dfd0!important;
  background:linear-gradient(120deg,#e7f6ef,#fff 70%)!important;
  box-shadow:0 16px 42px rgba(29,105,80,.07)
}

.radar-command {
  display:grid;
  grid-template-columns:1.05fr 1fr 1.05fr;
  gap:0;
  margin-bottom:1.5rem;
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(145deg,#092a23,#0e362d);
  color:#fff;
  box-shadow:0 26px 65px rgba(10,47,38,.16)
}

.radar-command>div {
  min-width:0;
  padding:2rem;
  border-right:1px solid rgba(255,255,255,.08)
}

.radar-command>div:last-child {
  border-right:0
}

.radar-command .section-kicker {
  color:#69d6aa
}

.radar-command-copy h2 {
  margin:.2rem 0 .8rem;
  font:500 1.8rem/1.15 var(--ma-serif);
  letter-spacing:-.035em
}

.radar-command-copy h2 em,.tracking-summary h2 em,.ai-console-copy h2 em {
  color:#79dfb9;
  font-weight:400
}

.radar-command-copy>p:last-child {
  color:#82a298;
  font-size:.7rem
}

.distribution-head {
  display:flex;
  justify-content:space-between;
  color:#88a99e;
  font-size:.55rem;
  letter-spacing:.09em
}

.distribution-head strong {
  color:#d8f4e9;
  font-size:.66rem
}

.distribution-track {
  display:flex;
  gap:4px;
  height:68px;
  margin:1.5rem 0 .9rem
}

.distribution-track i {
  display:block;
  min-width:6px;
  border-radius:8px;
  transition:flex-grow .6s ease
}

.distribution-track .segment-high {
  flex-grow:2;
  background:linear-gradient(180deg,#75e1b8,#2c8d6c)
}

.distribution-track .segment-watch {
  flex-grow:.08;
  background:linear-gradient(180deg,#efc875,#936f2f)
}

.distribution-track .segment-neutral {
  flex-grow:1;
  background:linear-gradient(180deg,#80958e,#40564e)
}

.distribution-legend {
  display:grid;
  gap:.55rem;
  color:#88a89e;
  font-size:.58rem
}

.distribution-legend span {
  display:flex;
  align-items:center;
  gap:.45rem
}

.distribution-legend i {
  width:7px;
  height:7px;
  border-radius:2px;
  background:#56cfa0
}

.distribution-legend span:nth-child(2) i {
  background:#d7ac55
}

.distribution-legend span:nth-child(3) i {
  background:#667f76
}

.distribution-legend b {
  color:#fff
}

.radar-spectrum {
  display:grid;
  align-content:center;
  gap:.75rem
}

.radar-spectrum>div {
  display:grid;
  grid-template-columns:90px minmax(40px,1fr) 64px;
  align-items:center;
  gap:.6rem;
  color:#8eaea4;
  font-size:.55rem
}

.radar-spectrum>div i {
  position:relative;
  height:5px;
  border-radius:8px;
  background:#29463e
}

.radar-spectrum>div i:after {
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:var(--spectrum-size,8%);
  border-radius:inherit;
  background:#687e77
}

.radar-spectrum>div i.is-positive:after {
  background:linear-gradient(90deg,#2e9974,#69dfb2)
}

.radar-spectrum>div i.is-negative:after {
  background:linear-gradient(90deg,#d47673,#8f4445)
}

.radar-spectrum strong {
  text-align:right;
  color:#d7eee6;
  font-size:.6rem
}

.radar-spectrum>small {
  margin-top:.5rem;
  color:#66877c;
  font-size:.5rem
}

.radar-list {
  gap:.7rem
}

.radar-list article {
  grid-template-columns:1.15fr auto 1fr 1fr auto;
  border-radius:16px;
  padding:1.3rem 1.45rem;
  box-shadow:0 8px 28px rgba(15,55,45,.035);
  transition:transform .2s,border-color .2s
}

.radar-list article:has(.focus-session-metric) {
  grid-template-columns:1.15fr auto .55fr 1fr 1fr auto
}

.radar-list article:hover {
  transform:translateX(4px);
  border-color:#a9d3c3
}

.radar-list .focus-session-metric {
  margin:0;
  padding:0;
  border:0
}

.radar-list .focus-session-metric strong {
  font-size:.86rem
}

.radar-list .focus-session-metric i {
  min-width:30px
}

.company-dashboard {
  display:grid;
  grid-template-columns:.7fr 1.35fr .95fr;
  gap:1rem;
  margin:1rem 0 2.4rem
}

.company-dashboard>article {
  position:relative;
  min-height:190px;
  padding:1.5rem;
  border:1px solid var(--ma-border);
  border-radius:18px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 14px 42px rgba(14,56,45,.055)
}

.company-dashboard article>span,.company-dashboard article>div>span {
  display:block;
  color:var(--ma-primary);
  font-size:.58rem;
  font-weight:850;
  letter-spacing:.11em
}

.company-price-tile strong {
  display:block;
  margin:1.2rem 0 .25rem;
  font-size:clamp(2.6rem,5vw,4.2rem);
  line-height:1;
  letter-spacing:-.07em
}

.company-price-tile small {
  color:var(--ma-muted);
  font-size:.62rem
}

.price-stamp {
  position:absolute;
  right:-23px;
  bottom:19px;
  transform:rotate(-90deg);
  color:#a1b2ac;
  font-size:.48rem;
  font-weight:850;
  letter-spacing:.13em
}

.company-delta-tile {
  background:radial-gradient(circle at 85% 5%,rgba(62,198,148,.14),transparent 28%),linear-gradient(145deg,#082a23,#0d3a30)!important;
  color:#fff
}

.company-delta-tile>div:first-child {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem
}

.company-delta-tile strong {
  font-size:2rem;
  letter-spacing:-.055em
}

.company-delta-tile>small {
  display:block;
  margin-top:.8rem;
  color:#75998e;
  font-size:.53rem
}

.company-delta-gauge {
  position:relative;
  height:48px;
  margin-top:2rem
}

.company-delta-gauge:before {
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:23px;
  height:1px;
  background:linear-gradient(90deg,#b75b5b,#526e66 50%,#58d7a5)
}

.company-delta-gauge:after {
  content:'';
  position:absolute;
  left:var(--company-delta,64%);
  top:15px;
  width:14px;
  height:14px;
  border-radius:50%;
  border:2px solid #e4fff4;
  background:#57d4a3;
  box-shadow:0 0 0 7px rgba(87,212,163,.12),0 0 20px rgba(87,212,163,.55);
  transform:translateX(-50%);
  transition:left .7s
}

.company-delta-gauge.is-negative:after {
  background:#d66f6f;
  box-shadow:0 0 0 7px rgba(214,111,111,.12),0 0 20px rgba(214,111,111,.5)
}

.company-delta-gauge b {
  position:absolute;
  left:50%;
  top:30px;
  color:#78958c;
  font-size:.48rem
}

.company-evidence-tile {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  background:linear-gradient(145deg,#f9fcfa,#eaf5f0)!important
}

.company-evidence-tile>span {
  grid-column:1/-1
}

.evidence-orbit {
  position:relative;
  width:100px;
  height:100px;
  display:grid;
  place-items:center;
  border:1px solid #b9d8cb;
  border-radius:50%
}

.evidence-orbit:before,.evidence-orbit:after {
  content:'';
  position:absolute;
  border:1px solid #d0e5dc;
  border-radius:50%
}

.evidence-orbit:before {
  inset:12px
}

.evidence-orbit:after {
  inset:25px
}

.evidence-orbit i {
  position:absolute;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#3da77f;
  box-shadow:0 0 0 5px rgba(61,167,127,.1)
}

.evidence-orbit i:nth-child(1) {
  top:7px
}

.evidence-orbit i:nth-child(2) {
  right:8px;
  bottom:21px
}

.evidence-orbit i:nth-child(3) {
  left:7px;
  bottom:22px
}

.evidence-orbit strong {
  font-size:1rem
}

.company-evidence-tile>div:last-child {
  display:grid;
  gap:.45rem
}

.company-evidence-tile b {
  font-size:.65rem;
  color:#526a62
}

.comparison-visual {
  position:relative;
  margin:1rem 0 1.25rem;
  padding:2rem 2.2rem;
  border-radius:23px;
  background:radial-gradient(circle at 100% 0,rgba(76,207,159,.17),transparent 28%),linear-gradient(145deg,#071f1a,#0d342b);
  color:#fff;
  box-shadow:0 25px 62px rgba(11,47,39,.16)
}

.comparison-visual>header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:2rem
}

.comparison-visual .section-kicker {
  margin:0;
  color:#68d8aa
}

.comparison-visual h2 {
  margin:.35rem 0;
  font:500 2rem var(--ma-serif)
}

.comparison-visual>header>span {
  color:#779a8e;
  font-size:.56rem
}

.comparison-zero-axis {
  position:relative;
  height:26px;
  margin:1rem 0
}

.comparison-zero-axis i {
  position:absolute;
  left:0;
  right:0;
  top:13px;
  height:1px;
  background:linear-gradient(90deg,#a95454,#607b72 50%,#4ed29f)
}

.comparison-zero-axis b {
  position:absolute;
  left:50%;
  top:1px;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border:1px solid #789b90;
  border-radius:50%;
  background:#0b2c25;
  color:#b2cec5;
  font-size:.55rem;
  transform:translateX(-50%)
}

.comparison-zero-axis span {
  position:absolute;
  top:3px;
  color:#6d9085
}

.comparison-zero-axis span:nth-of-type(1) {
  left:0
}

.comparison-zero-axis span:last-child {
  right:0
}

.comparison-bars {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:1rem
}

.comparison-bars article {
  padding:1rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:13px;
  background:rgba(255,255,255,.035)
}

.comparison-bars article>div:first-child {
  display:flex;
  justify-content:space-between;
  gap:.8rem;
  color:#a3c1b7;
  font-size:.62rem
}

.comparison-bars strong {
  color:#fff
}

.relative-bar {
  position:relative;
  height:7px;
  margin:.75rem 0;
  background:#24443a;
  border-radius:8px;
  overflow:hidden
}

.relative-bar:after {
  content:'';
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:1px;
  background:#8ba69d
}

.relative-bar i {
  position:absolute;
  top:1px;
  bottom:1px;
  width:calc(var(--relative-size,10%)/2);
  max-width:50%;
  border-radius:8px
}

.relative-bar.is-positive i {
  left:50%;
  background:#61d8aa
}

.relative-bar.is-negative i {
  right:50%;
  background:#d67470
}

.comparison-bars small {
  color:#75978c;
  font-size:.52rem
}

.comparison-visual>p {
  margin:1.2rem 0 0;
  color:#708f85;
  font-size:.55rem
}

.comparison-visual.is-empty {
  min-height:170px;
  display:grid;
  place-items:center;
  border:1px dashed #4d7769;
  background:#0a2a23
}

.comparison-visual.is-empty>p {
  margin:0;
  text-align:center;
  color:#9dbab0
}

.comparison-table {
  box-shadow:0 14px 40px rgba(15,55,45,.045)
}

.comparison-row:nth-child(even) {
  background:#f8fbf9
}

.conclusion-card {
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#0a3028,#154f41)
}

.conclusion-card:after {
  content:'≠';
  position:absolute;
  right:1.4rem;
  top:-2.7rem;
  color:#fff;
  font:400 8rem var(--ma-serif);
  opacity:.05
}

.tracking-board {
  display:grid;
  grid-template-columns:1.05fr 1.35fr .8fr;
  margin-bottom:1.2rem;
  border:1px solid rgba(93,205,162,.12);
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(145deg,#071f1a,#0d342b);
  color:#fff;
  box-shadow:0 27px 65px rgba(10,47,38,.16)
}

.tracking-board>div {
  padding:2rem;
  border-right:1px solid rgba(255,255,255,.08)
}

.tracking-board>div:last-child {
  border-right:0
}

.tracking-summary .section-kicker {
  color:#67d7aa
}

.tracking-summary h2 {
  margin:.3rem 0 .8rem;
  font:500 1.9rem/1.13 var(--ma-serif)
}

.tracking-summary>p:last-child {
  color:#76988d;
  font-size:.67rem
}

.tracking-rings {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  align-items:center;
  gap:.8rem
}

.tracking-rings article {
  text-align:center
}

.tracking-rings article>p {
  color:#77988e;
  font-size:.54rem
}

.tracking-ring {
  --ring-progress:45%;
  position:relative;
  width:86px;
  height:86px;
  display:grid;
  place-content:center;
  margin:auto;
  border-radius:50%;
  background:conic-gradient(#59d6a5 var(--ring-progress),#25453b 0)
}

.tracking-ring:before {
  content:'';
  position:absolute;
  inset:7px;
  border-radius:50%;
  background:#0b2d25
}

.tracking-ring strong,.tracking-ring span {
  position:relative;
  z-index:1;
  display:block
}

.tracking-ring strong {
  font-size:1.05rem
}

.tracking-ring span {
  color:#77998e;
  font-size:.48rem
}

.tracking-ring.is-alert {
  background:conic-gradient(#e1b55f var(--ring-progress,50%),#25453b 0)
}

.tracking-ring.is-calm {
  background:conic-gradient(#60c3cb 18%,#25453b 0)
}

.tracking-activity {
  display:grid;
  align-content:center;
  gap:.7rem
}

.tracking-activity>span {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:0 .55rem;
  align-items:center;
  padding:.55rem .6rem;
  border:1px solid rgba(255,255,255,.07);
  border-radius:9px
}

.tracking-activity i {
  grid-row:1/3;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#5c7c72
}

.tracking-activity .is-change i {
  background:#e4b65d;
  box-shadow:0 0 0 4px rgba(228,182,93,.1)
}

.tracking-activity b {
  font-size:.58rem
}

.tracking-activity small {
  color:#708f85;
  font-size:.48rem
}

.follow-list article {
  position:relative;
  background:#fff;
  box-shadow:0 10px 30px rgba(13,54,43,.04)
}

.follow-list article:before {
  content:'';
  position:absolute;
  left:0;
  top:16%;
  bottom:16%;
  width:3px;
  border-radius:8px;
  background:#64cda6
}

.follow-summary {
  display:none
}

.ai-context-console {
  display:grid;
  grid-template-columns:1fr 1.25fr .72fr;
  align-items:center;
  min-height:330px;
  margin:1.2rem 0;
  padding:1.5rem;
  border:1px solid rgba(99,221,174,.12);
  border-radius:25px;
  background:radial-gradient(circle at 15% 50%,rgba(72,202,153,.13),transparent 25%),radial-gradient(circle at 90% 0,rgba(71,159,170,.12),transparent 22%),linear-gradient(145deg,#061d18,#0b2c25);
  color:#fff;
  overflow:hidden;
  box-shadow:0 30px 72px rgba(8,42,34,.2)
}

.ai-network {
  position:relative;
  width:250px;
  height:250px;
  margin:auto;
  display:grid;
  place-items:center
}

.ai-network>strong {
  position:relative;
  z-index:3;
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  border:1px solid rgba(135,240,199,.5);
  border-radius:50%;
  background:radial-gradient(circle,#3b9978,#103b30 70%);
  box-shadow:0 0 0 13px rgba(83,211,162,.05),0 0 44px rgba(83,211,162,.25);
  font-size:1.05rem;
  letter-spacing:-.08em
}

.network-orbit {
  position:absolute;
  border:1px solid rgba(117,211,176,.15);
  border-radius:50%;
  animation:network-spin 18s linear infinite
}

.orbit-one {
  inset:35px
}

.orbit-two {
  inset:4px;
  animation-direction:reverse;
  animation-duration:26s
}

.network-node {
  position:absolute;
  z-index:2;
  padding:.35rem .55rem;
  border:1px solid rgba(112,215,176,.2);
  border-radius:999px;
  background:#0e3a30;
  color:#9bc7b7;
  font-size:.48rem;
  box-shadow:0 8px 18px rgba(0,0,0,.15)
}

.node-market {
  top:20px;
  left:89px
}

.node-company {
  right:-1px;
  top:105px
}

.node-risk {
  bottom:15px;
  left:92px
}

.node-source {
  left:-1px;
  top:105px
}

@keyframes network-spin {
  to {
    transform:rotate(1turn)
  }
}

.ai-context-console.is-working .network-orbit {
  border-color:rgba(117,240,194,.45);
  animation-duration:3s
}

.ai-context-console.is-working .ai-network>strong {
  animation:ai-breathe 1.2s infinite
}

@keyframes ai-breathe {
  50% {
    box-shadow:0 0 0 19px rgba(83,211,162,.06),0 0 60px rgba(83,211,162,.45)
  }
}

.ai-console-copy {
  padding:1rem 2rem
}

.ai-console-copy .section-kicker {
  color:#65d7aa
}

.ai-console-copy h2 {
  margin:.3rem 0 1.5rem;
  font:500 2.15rem/1.12 var(--ma-serif)
}

.context-lanes {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.55rem
}

.context-lanes span {
  display:grid;
  grid-template-columns:auto auto 1fr;
  align-items:center;
  gap:.4rem;
  padding:.55rem;
  border:1px solid rgba(255,255,255,.07);
  border-radius:8px;
  color:#8aa99f;
  font-size:.53rem
}

.context-lanes i {
  width:5px;
  height:5px;
  border-radius:50%;
  background:#58d3a3
}

.context-lanes b {
  color:#69aa91
}

.ai-ready-panel {
  padding:1.3rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(255,255,255,.035)
}

.ai-ready-panel>span {
  color:#6e9287;
  font-size:.5rem;
  font-weight:800;
  letter-spacing:.09em
}

.ai-ready-panel>strong {
  display:block;
  margin:.6rem 0;
  color:#8fe8c6;
  font-size:1.2rem
}

.ai-ready-panel>p {
  color:#73948a;
  font-size:.56rem
}

.ai-ready-panel>div {
  margin-top:1.2rem;
  padding-top:.8rem;
  border-top:1px solid rgba(255,255,255,.08);
  color:#88a99f;
  font-size:.52rem
}

.ai-ready-panel i {
  display:inline-block;
  width:6px;
  height:6px;
  margin-right:.3rem;
  border-radius:50%;
  background:#58d3a3;
  box-shadow:0 0 8px #58d3a3
}

.ai-disclosure {
  margin-top:0
}

.conversation {
  border-radius:20px;
  padding:2rem;
  box-shadow:0 20px 55px rgba(13,54,43,.08)
}

@media(max-width:1050px) {
  .market-command-grid>article:nth-child(2),.radar-command>div:nth-child(2),.tracking-board>div:nth-child(2) {
    border-right:0
  }
  .market-command-grid>article:last-child,.radar-command>div:last-child,.tracking-board>div:last-child {
    grid-column:1/-1;
    border-top:1px solid rgba(255,255,255,.08)
  }
  .radar-list article {
    grid-template-columns:1fr auto .6fr
  }
  .radar-list article>div:nth-of-type(n+3),.radar-list article>a {
    grid-column:auto
  }
  .company-dashboard {
    grid-template-columns:1fr 1fr
  }
  .company-evidence-tile {
    grid-column:1/-1
  }
  .ai-ready-panel {
    grid-column:1/-1
  }
}

@media(max-width:760px) {
  .app-content main {
    width:calc(100% - 28px)
  }
  .page-title {
    font-size:clamp(2.7rem,14vw,4rem)!important
  }
  .command-header {
    display:grid;
    padding:1.4rem
  }
  .market-command-grid>article,.radar-command>div,.tracking-board>div {
    padding:1.4rem;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.08)
  }
  .market-command-grid>article:last-child,.radar-command>div:last-child,.tracking-board>div:last-child {
    grid-column:auto;
    border-bottom:0
  }
  .breadth-field {
    gap:5px
  }
  .radar-list article {
    grid-template-columns:1fr auto
  }
  .radar-list article>.focus-session-metric {
    grid-column:1/-1
  }
  .company-evidence-tile {
    grid-column:auto
  }
  .company-delta-tile>div:first-child {
    display:grid
  }
  .comparison-visual {
    padding:1.4rem
  }
  .comparison-visual>header {
    display:grid;
    gap:.3rem
  }
  .tracking-rings {
    gap:.35rem
  }
  .tracking-ring {
    width:76px;
    height:76px
  }
  .ai-network {
    width:220px;
    height:220px
  }
  .ai-console-copy {
    padding:1rem .2rem
  }
  .ai-console-copy h2 {
    font-size:1.8rem
  }
  .context-lanes {
    grid-template-columns:1fr
  }
}

.sector-rhythm span:nth-child(1) i {
  height:82%
}

.sector-rhythm span:nth-child(2) i {
  height:67%
}

.sector-rhythm span:nth-child(3) i {
  height:54%
}

.sector-rhythm span:nth-child(4) i {
  height:42%
}

.side-meter i {
  width:52%
}

.breadth-dial {
  --breadth-up:52
}

.change-track i {
  width:62%
}

@media(max-width:760px) {
  html,body,.launch-page {
    width:100%;
    max-width:100%;
    overflow-x:hidden
  }
  .launch-page .page-width,.launch-header {
    width:calc(100vw - 32px)!important;
    max-width:calc(100vw - 32px)!important;
    min-width:0
  }
  .launch-header .brand,.launch-header .header-actions {
    min-width:0
  }
  .launch-header .button-small {
    padding:.72rem .85rem;
    font-size:.68rem;
    white-space:nowrap
  }
  .launch-hero {
    grid-template-columns:minmax(0,1fr)!important;
    min-width:0;
    overflow:visible
  }
  .launch-hero-copy,.launch-hero h1,.launch-hero-copy>p,.product-stage {
    width:100%;
    min-width:0;
    max-width:100%
  }
  .launch-hero h1 {
    font-size:clamp(2.35rem,10.5vw,3.15rem);
    letter-spacing:-.055em;
    white-space:normal;
    overflow-wrap:break-word;
    text-wrap:balance
  }
  .launch-hero-copy>p:not(.eyebrow) {
    max-width:100%
  }
  .launch-hero .eyebrow {
    max-width:100%;
    font-size:.58rem;
    line-height:1.5
  }
  .market-story-grid {
    min-width:0
  }
  .market-canvas {
    min-width:0;
    max-width:100%
  }
}

.company-delta-tile>div:first-child>span {
  color:#70aa97
}

.company-delta-tile .metric-positive {
  color:#7ce6be
}

.company-delta-tile .metric-negative {
  color:#ef9992
}

.tracking-ring.is-calm {
  background:conic-gradient(#60c3cb var(--ring-progress,0%),#25453b 0)
}

.follow-list article:has(.following-change) {
  grid-template-columns:minmax(220px,1fr) auto
}

.follow-list article:has(.following-change)>.following-summary-copy,.follow-list article:has(.following-change)>.following-change,.follow-list article:has(.following-change)>.following-note,.follow-list article:has(.following-change)>.following-note-input {
  grid-column:1/-1
}

@media(max-width:760px) {
  .follow-list article:has(.following-change) {
    grid-template-columns:1fr
  }
  .follow-list article:has(.following-change)>* {
    grid-column:1!important
  }
}

/* Market brief: evidence-led editorial reading */
.market-reading-panel {
  padding:3rem;
  background:linear-gradient(145deg,#fff 0%,#f4f8f6 100%);
  box-shadow:0 22px 60px rgba(14,55,45,.075)
}

.market-reading-panel>h2 {
  max-width:1020px;
  margin-bottom:1.25rem;
  text-wrap:balance
}

.market-reading-panel>.reading-lead {
  max-width:980px;
  margin:0;
  color:#42554e;
  font-size:.98rem;
  line-height:1.78
}

.market-reading-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:2.2rem;
  border-top:1px solid var(--ma-border);
  border-bottom:1px solid var(--ma-border)
}

.market-reading-grid>section {
  min-width:0;
  padding:1.55rem 1.5rem 1.7rem 0
}

.market-reading-grid>section+section {
  padding-left:1.5rem;
  border-left:1px solid var(--ma-border)
}

.market-reading-grid span {
  display:block;
  margin-bottom:.65rem;
  color:var(--ma-primary);
  font-size:.58rem;
  font-weight:850;
  letter-spacing:.11em
}

.market-reading-grid h3 {
  margin:0 0 .7rem;
  color:var(--ma-text);
  font-size:.9rem;
  line-height:1.35
}

.market-reading-grid p {
  margin:0;
  color:var(--ma-muted);
  font-size:.73rem;
  line-height:1.72
}

.market-reading-panel footer {
  margin-top:1.35rem;
  border-top:0;
  padding-top:0
}

.market-reading-panel footer span:first-child:before {
  content:'';
  display:inline-block;
  width:6px;
  height:6px;
  margin-right:.45rem;
  border-radius:50%;
  background:var(--ma-primary)
}

@media(max-width:900px) {
  .market-reading-grid {
    grid-template-columns:1fr
  }
  .market-reading-grid>section {
    padding:1.25rem 0
  }
  .market-reading-grid>section+section {
    padding-left:0;
    border-left:0;
    border-top:1px solid var(--ma-border)
  }
}

@media(max-width:560px) {
  .app-content main {
    width:calc(100vw - 32px)!important;
    min-width:0!important;
    max-width:calc(100vw - 32px)!important
  }
  .app-view,.market-command,.market-command-grid,.market-command-grid>article,.market-reading-panel,.market-reading-grid {
    width:100%;
    min-width:0;
    max-width:100%
  }
  .breadth-field {
    width:100%;
    grid-template-columns:repeat(10,minmax(0,1fr))
  }
  .market-reading-panel {
    padding:1.4rem;
    overflow:hidden
  }
  .market-reading-panel>.reading-lead {
    font-size:.88rem;
    line-height:1.72
  }
  .market-reading-grid {
    margin-top:1.5rem
  }
  .market-reading-grid p {
    font-size:.76rem
  }
}

/* Readable capability tape */
.market-tape {
  position:relative;
  padding-right:112px
}

.market-tape-track {
  animation-duration:110s
}

.market-tape:hover .market-tape-track,.market-tape.is-paused .market-tape-track {
  animation-play-state:paused
}

.market-tape-toggle {
  position:absolute;
  z-index:2;
  right:0;
  top:0;
  height:100%;
  width:112px;
  border:0;
  border-left:1px solid rgba(255,255,255,.12);
  background:linear-gradient(90deg,rgba(8,37,31,.84),#08251f 24%);
  color:#9ed9c1;
  font-size:.5rem;
  font-weight:800;
  letter-spacing:.06em;
  cursor:pointer
}

.market-tape-toggle:hover,.market-tape-toggle:focus-visible {
  color:#fff
}

.market-tape-toggle:focus-visible {
  outline:2px solid #83e8c0;
  outline-offset:-4px
}

/* Today: analytical depth and sourced news */
.today-diagnostics>.section-heading,.today-news>.section-heading {
  margin-bottom:1.2rem
}

.today-diagnostics .section-heading>div>p:last-child,.today-news .section-heading>div>p:last-child {
  max-width:780px;
  margin:.45rem 0 0;
  color:var(--ma-muted);
  font-size:.82rem
}

.today-diagnostics-grid {
  display:grid;
  grid-template-columns:1.15fr 1fr .82fr;
  gap:1rem
}

.today-diagnostics-grid>article {
  min-width:0;
  padding:1.45rem;
  border:1px solid var(--ma-border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 13px 38px rgba(12,54,43,.05)
}

.diagnostic-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem
}

.diagnostic-head>span {
  color:var(--ma-primary);
  font-size:.54rem;
  font-weight:850;
  letter-spacing:.1em
}

.diagnostic-head>strong {
  max-width:55%;
  font-size:.67rem;
  text-align:right
}

.today-diagnostics-grid article>p {
  margin:1rem 0 0;
  color:var(--ma-muted);
  font-size:.62rem;
  line-height:1.65
}

.signal-plane-card {
  background:linear-gradient(145deg,#082a23,#0d3a30)!important;
  color:#fff
}

.signal-plane-card .diagnostic-head>span {
  color:#68dcaf
}

.signal-plane-card .diagnostic-head>strong {
  color:#d9f5ea
}

.signal-plane {
  --signal-x:52%;
  --signal-y:42%;
  position:relative;
  height:220px;
  margin-top:1.1rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:25% 25%;
  overflow:hidden
}

.signal-axis-x,.signal-axis-y {
  position:absolute;
  background:rgba(161,206,189,.32)
}

.signal-axis-x {
  left:8%;
  right:8%;
  top:50%;
  height:1px
}

.signal-axis-y {
  top:8%;
  bottom:8%;
  left:50%;
  width:1px
}

.signal-plane>b {
  position:absolute;
  z-index:2;
  left:var(--signal-x);
  top:var(--signal-y);
  width:15px;
  height:15px;
  border:2px solid #d6fff0;
  border-radius:50%;
  background:#5eddaa;
  box-shadow:0 0 0 8px rgba(94,221,170,.12),0 0 25px rgba(94,221,170,.5);
  transform:translate(-50%,-50%);
  transition:left .65s,top .65s
}

.signal-label {
  position:absolute;
  color:#648e80;
  font-size:.46rem;
  font-weight:750;
  letter-spacing:.05em
}

.signal-label-up {
  left:calc(50% + 8px);
  top:8px
}

.signal-label-breadth {
  right:8px;
  top:calc(50% + 7px)
}

.signal-plane-card>p {
  color:#7da297!important
}

.today-focus-chart {
  display:grid;
  gap:.8rem;
  margin-top:1.3rem
}

.today-focus-chart>div {
  display:grid;
  grid-template-columns:88px minmax(80px,1fr) 60px;
  align-items:center;
  gap:.7rem
}

.today-focus-chart span,.today-focus-chart strong {
  font-size:.54rem
}

.today-focus-chart span {
  overflow:hidden;
  color:#687c75;
  font-weight:750;
  text-overflow:ellipsis
}

.today-focus-chart strong {
  text-align:right
}

.today-focus-chart i {
  position:relative;
  height:8px;
  border-radius:8px;
  background:#edf2f0;
  overflow:hidden
}

.today-focus-chart i:after {
  content:'';
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:1px;
  background:#95a9a1
}

.today-focus-chart b {
  position:absolute;
  z-index:1;
  top:1px;
  bottom:1px;
  width:var(--focus-size,0);
  border-radius:8px
}

.today-focus-chart .is-positive b {
  left:50%;
  background:#43bd8f
}

.today-focus-chart .is-negative b {
  right:50%;
  background:#c56262
}

.today-focus-chart .is-missing b {
  display:none
}

.sector-footprint {
  display:grid;
  gap:.55rem;
  margin-top:1.3rem
}

.sector-footprint span {
  position:relative;
  display:flex;
  align-items:center;
  min-height:38px;
  padding:.5rem .65rem;
  border:1px solid #cfe0d9;
  border-radius:8px;
  background:linear-gradient(90deg,rgba(63,172,130,.08) calc(18% + var(--sector-index)*9%),transparent 0);
  color:#38564c;
  font-size:.59rem;
  font-weight:750
}

.sector-footprint span:before {
  content:'';
  width:6px;
  height:6px;
  margin-right:.5rem;
  border-radius:50%;
  background:#49b88e
}

.sector-footprint p {
  color:var(--ma-muted);
  font-size:.65rem
}

.today-news {
  margin-bottom:1rem
}

.today-news-grid {
  display:grid;
  grid-template-columns:1.35fr 1fr;
  gap:1rem
}

.today-news-grid>article {
  display:flex;
  min-width:0;
  flex-direction:column;
  padding:1.5rem;
  border:1px solid var(--ma-border);
  border-radius:17px;
  background:#fff;
  box-shadow:0 13px 38px rgba(12,54,43,.05)
}

.today-news-grid>.news-lead {
  grid-row:span 2;
  padding:2rem;
  background:radial-gradient(circle at 100% 0,rgba(77,204,156,.15),transparent 30%),linear-gradient(145deg,#082a23,#103b31);
  color:#fff
}

.today-news-grid article>header,.today-news-grid article>footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem
}

.today-news-grid article>header span,.today-news-grid article>header time {
  color:#66897d;
  font-size:.51rem;
  font-weight:800;
  letter-spacing:.07em
}

.today-news-grid>.news-lead>header span,.today-news-grid>.news-lead>header time {
  color:#75a697
}

.today-news-grid h3 {
  margin:.9rem 0 .75rem;
  font:500 1.05rem/1.35 var(--ma-serif)
}

.today-news-grid>.news-lead h3 {
  margin:1.3rem 0 1rem;
  font-size:clamp(1.65rem,3vw,2.35rem);
  line-height:1.17
}

.today-news-grid h3 a {
  text-decoration-thickness:1px;
  text-underline-offset:4px
}

.today-news-grid h3 a:hover {
  text-decoration:underline
}

.today-news-grid article>p {
  margin:0 0 1.3rem;
  color:var(--ma-muted);
  font-size:.72rem;
  line-height:1.72
}

.today-news-grid>.news-lead>p {
  max-width:780px;
  color:#9cbcb1;
  font-size:.79rem
}

.today-news-grid article>footer {
  margin-top:auto;
  padding-top:.9rem;
  border-top:1px solid var(--ma-border);
  color:#71847d;
  font-size:.55rem
}

.today-news-grid>.news-lead>footer {
  border-color:rgba(255,255,255,.1);
  color:#86a99e
}

.today-news-grid article>footer strong {
  color:inherit
}

.news-empty {
  grid-column:1/-1;
  margin:0;
  padding:2rem;
  border:1px dashed var(--ma-border);
  border-radius:15px;
  color:var(--ma-muted);
  text-align:center
}

.news-method-note {
  margin:.85rem 0 0;
  color:var(--ma-muted);
  font-size:.6rem
}

.today-news+.app-ai-brief {
  margin-top:1.4rem
}

@media(max-width:1000px) {
  .today-diagnostics-grid {
    grid-template-columns:1fr 1fr
  }
  .sector-footprint-card {
    grid-column:1/-1
  }
  .today-news-grid {
    grid-template-columns:1fr
  }
  .today-news-grid>.news-lead {
    grid-row:auto
  }
}

@media(max-width:700px) {
  .today-diagnostics-grid {
    grid-template-columns:1fr
  }
  .sector-footprint-card {
    grid-column:auto
  }
  .today-diagnostics>.section-heading,.today-news>.section-heading {
    align-items:flex-start;
    gap:.6rem;
    flex-direction:column
  }
  .today-news-grid>.news-lead {
    padding:1.5rem
  }
  .today-news-grid>.news-lead h3 {
    font-size:1.55rem
  }
  .market-tape {
    padding-right:96px
  }
  .market-tape-toggle {
    width:96px
  }
  .market-tape-track {
    animation-duration:145s
  }
}

@media(prefers-reduced-motion:reduce) {
  .market-tape-track {
    animation:none!important;
    transform:none!important
  }
  .market-tape-toggle {
    display:none
  }
}

.sector-footprint span {
  background:linear-gradient(90deg,rgba(63,172,130,.08) var(--sector-level,35%),transparent 0)
}

.today-focus-chart>div:nth-child(1) b {
  --focus-size:50%
}

.today-focus-chart>div:nth-child(2) b {
  --focus-size:12.5%
}

/* Radar: professional reading and dated price evolution */
.radar-reading-panel {
  margin:1.25rem 0 0;
  padding:3rem;
  background:linear-gradient(145deg,#fff,#f2f8f5);
  box-shadow:0 22px 60px rgba(12,54,43,.07)
}

.radar-reading-panel>h2 {
  max-width:980px;
  text-wrap:balance
}

.radar-reading-panel>.reading-lead {
  max-width:990px;
  margin:0;
  color:#42554e;
  font-size:.94rem;
  line-height:1.78
}

.radar-reading-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:2.1rem;
  border-top:1px solid var(--ma-border);
  border-bottom:1px solid var(--ma-border)
}

.radar-reading-grid>section {
  min-width:0;
  padding:1.5rem 1.45rem 1.65rem 0
}

.radar-reading-grid>section+section {
  padding-left:1.45rem;
  border-left:1px solid var(--ma-border)
}

.radar-reading-grid span {
  display:block;
  margin-bottom:.65rem;
  color:var(--ma-primary);
  font-size:.56rem;
  font-weight:850;
  letter-spacing:.1em
}

.radar-reading-grid h3 {
  margin:0 0 .65rem;
  font-size:.88rem;
  line-height:1.4
}

.radar-reading-grid p {
  margin:0;
  color:var(--ma-muted);
  font-size:.7rem;
  line-height:1.72
}

.radar-reading-panel footer {
  margin-top:1.2rem;
  border:0;
  padding:0
}

.radar-diagnostics>.section-heading {
  margin:2.8rem 0 1.15rem
}

.radar-diagnostics .section-heading>div>p:last-child {
  max-width:780px;
  margin:.45rem 0 0;
  color:var(--ma-muted);
  font-size:.8rem
}

.radar-diagnostics-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
  margin-bottom:2rem
}

.radar-diagnostics-grid>article {
  min-width:0;
  padding:1.5rem;
  border:1px solid var(--ma-border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 13px 38px rgba(12,54,43,.045)
}

.radar-diagnostics-grid article>p {
  margin:1rem 0 0;
  color:var(--ma-muted);
  font-size:.62rem;
  line-height:1.65
}

.radar-sector-chart {
  display:grid;
  gap:.72rem;
  margin-top:1.3rem
}

.radar-sector-chart>div {
  display:grid;
  grid-template-columns:minmax(90px,1fr) minmax(110px,2fr) 28px;
  align-items:center;
  gap:.8rem
}

.radar-sector-chart span,.radar-sector-chart strong {
  font-size:.57rem
}

.radar-sector-chart span {
  overflow:hidden;
  color:#577068;
  text-overflow:ellipsis;
  white-space:nowrap
}

.radar-sector-chart strong {
  text-align:right
}

.radar-sector-chart i {
  height:7px;
  border-radius:8px;
  background:#eaf1ee;
  overflow:hidden
}

.radar-sector-chart b {
  display:block;
  width:var(--radar-sector-size,100%);
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#2b8a69,#6ed0aa)
}

.radar-sector-chart>div:nth-child(1) b,.radar-sector-chart>div:nth-child(2) b,.radar-sector-chart>div:nth-child(3) b {
  --radar-sector-size:100%
}

.radar-trend-card {
  background:radial-gradient(circle at 90% 0,rgba(89,217,168,.14),transparent 34%),linear-gradient(145deg,#082b24,#103b31)!important;
  color:#fff
}

.radar-trend-card .diagnostic-head span {
  color:#69d7ad
}

.radar-trend-card .diagnostic-head strong {
  color:#d5f2e7
}

.radar-trend-card>p {
  color:#84a89d!important
}

.radar-trend-breadth {
  position:relative;
  display:flex;
  height:34px;
  margin-top:2rem;
  border-radius:8px;
  background:#683f43;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
  overflow:hidden
}

.radar-trend-breadth i {
  width:var(--trend-up,0);
  background:linear-gradient(90deg,#2d8c6c,#65d5a9)
}

.radar-trend-breadth b {
  width:var(--trend-flat,0);
  background:#a8a45e
}

.radar-trend-legend {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  margin-top:.8rem;
  color:#83a99d;
  font-size:.56rem
}

.radar-trend-legend span:first-child {
  color:#78d9b3
}

.radar-trend-legend span:nth-child(2) {
  color:#e19891
}

.radar-list article:has(.radar-sparkline) {
  grid-template-columns:minmax(150px,1.05fr) auto .48fr minmax(190px,1.15fr) auto;
  grid-template-areas:"identity status session spark link" "changed changed risk risk link";
  gap:1rem 1.25rem;
  padding:1.35rem 1.45rem
}

.radar-list article:has(.radar-sparkline)>.radar-identity {
  grid-area:identity
}

.radar-list article:has(.radar-sparkline)>.status {
  grid-area:status
}

.radar-list article:has(.radar-sparkline)>.focus-session-metric {
  grid-area:session
}

.radar-list article:has(.radar-sparkline)>.radar-sparkline {
  grid-area:spark
}

.radar-list article:has(.radar-sparkline)>.radar-changed {
  grid-area:changed
}

.radar-list article:has(.radar-sparkline)>.radar-risk {
  grid-area:risk
}

.radar-list article:has(.radar-sparkline)>.radar-link {
  grid-area:link;
  align-self:center;
  white-space:nowrap
}

.radar-changed,.radar-risk {
  padding-top:.85rem;
  border-top:1px solid var(--ma-border)
}

.radar-sparkline {
  min-width:0;
  padding:.65rem .75rem;
  border:1px solid #dce8e3;
  border-radius:11px;
  background:linear-gradient(180deg,#fbfdfc,#f2f8f5)
}

.radar-sparkline>div {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.6rem
}

.radar-sparkline small {
  color:#6c8179;
  font-size:.48rem;
  letter-spacing:.07em
}

.radar-sparkline strong {
  font-size:.59rem
}

.radar-sparkline strong.is-positive {
  color:#23815e
}

.radar-sparkline strong.is-negative {
  color:#a55252
}

.radar-sparkline svg {
  display:block;
  width:100%;
  height:54px;
  margin-top:.35rem;
  overflow:visible
}

.radar-sparkline .spark-line {
  fill:none;
  stroke:#2b9b73;
  stroke-width:2;
  vector-effect:non-scaling-stroke
}

.radar-sparkline .spark-area {
  fill:rgba(61,177,134,.12)
}

.radar-sparkline.is-negative .spark-line {
  stroke:#bd6262
}

.radar-sparkline.is-negative .spark-area {
  fill:rgba(189,98,98,.1)
}

.radar-sparkline .sparkline-period {
  margin:.15rem 0 0;
  color:#7b8d86;
  font-size:.47rem
}

.radar-sparkline .sparkline-empty {
  min-height:54px;
  display:flex;
  align-items:center;
  margin:.35rem 0 0;
  color:#788b84;
  font-size:.54rem;
  line-height:1.45
}

.radar-diagnostics+.filter-row {
  margin-top:.5rem
}

@media(max-width:1050px) {
  .radar-reading-grid {
    grid-template-columns:1fr
  }
  .radar-reading-grid>section {
    padding:1.2rem 0
  }
  .radar-reading-grid>section+section {
    padding-left:0;
    border-left:0;
    border-top:1px solid var(--ma-border)
  }
  .radar-list article:has(.radar-sparkline) {
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"identity status" "session spark" "changed risk" "link link"
  }
  .radar-list article:has(.radar-sparkline)>.radar-link {
    justify-self:start
  }
  .radar-list article:has(.radar-sparkline)>* {
    grid-column:auto
  }
}

@media(max-width:700px) {
  .radar-reading-panel {
    padding:1.4rem
  }
  .radar-reading-panel>.reading-lead {
    font-size:.86rem;
    line-height:1.72
  }
  .radar-diagnostics-grid {
    grid-template-columns:1fr
  }
  .radar-diagnostics>.section-heading {
    align-items:flex-start;
    flex-direction:column
  }
  .radar-list article:has(.radar-sparkline) {
    grid-template-columns:1fr;
    grid-template-areas:"identity" "status" "session" "spark" "changed" "risk" "link"
  }
  .radar-list article:has(.radar-sparkline)>.status,.radar-list article:has(.radar-sparkline)>.radar-link {
    justify-self:start
  }
  .radar-sparkline svg {
    height:70px
  }
  .radar-trend-legend {
    gap:.45rem;
    flex-wrap:wrap
  }
}

.radar-trend-breadth {
  --trend-up:66.67%;
  --trend-flat:0%
}

/* Company dossier: boutique research experience */
.company-heading {
  margin-bottom:1.3rem
}

.company-heading-actions {
  display:flex;
  align-items:center;
  gap:.8rem;
  margin-top:.6rem
}

.company-heading-actions .form-status {
  margin:0
}

.company-search-compact {
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  align-items:center;
  gap:.4rem 1rem;
  padding:1rem 1.15rem
}

.company-search-compact label {
  margin:0
}

.company-search-compact>div {
  min-width:0
}

.company-search-compact>p {
  grid-column:2;
  margin:0
}

.company-dossier-hero {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);
  min-height:370px;
  margin:1.3rem 0 1rem;
  border-radius:24px;
  background:radial-gradient(circle at 72% 14%,rgba(91,221,169,.17),transparent 24%),linear-gradient(138deg,#061f1a,#0c3a30);
  color:#fff;
  box-shadow:0 28px 70px rgba(9,47,38,.17);
  overflow:hidden
}

.company-dossier-hero:before {
  content:'ma';
  position:absolute;
  right:29%;
  bottom:-6.5rem;
  color:#fff;
  font:300 15rem var(--ma-serif);
  opacity:.025
}

.company-dossier-reading {
  position:relative;
  z-index:1;
  padding:3rem
}

.company-dossier-reading .section-kicker {
  color:#65d7aa
}

.company-dossier-reading h2 {
  max-width:780px;
  margin:.4rem 0 1.2rem;
  font:500 clamp(2rem,3.5vw,3.35rem)/1.08 var(--ma-serif);
  letter-spacing:-.04em;
  text-wrap:balance
}

.company-dossier-reading>p:not(.section-kicker) {
  max-width:760px;
  color:#91b1a6;
  font-size:.83rem;
  line-height:1.75
}

.company-thesis-tags {
  display:flex;
  gap:.65rem;
  flex-wrap:wrap;
  margin-top:2rem
}

.company-thesis-tags span {
  padding:.48rem .7rem;
  border:1px solid rgba(255,255,255,.1);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:#9fc2b6;
  font-size:.59rem;
  font-weight:750
}

.company-dossier-snapshot {
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:2.3rem;
  border-left:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.025)
}

.company-dossier-snapshot>span {
  color:#68d8ac;
  font-size:.56rem;
  font-weight:850;
  letter-spacing:.12em
}

.company-dossier-snapshot>strong {
  display:block;
  margin:1.3rem 0 .55rem;
  font-size:clamp(3.4rem,6vw,5.3rem);
  line-height:.9;
  letter-spacing:-.08em
}

.company-dossier-snapshot>div {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem
}

.company-dossier-snapshot b {
  font-size:1rem
}

.company-dossier-snapshot small {
  color:#74988c;
  font-size:.55rem
}

.company-dossier-snapshot>p {
  margin:2rem 0 0;
  padding-top:1.1rem;
  border-top:1px solid rgba(255,255,255,.09);
  color:#85a89d;
  font-size:.63rem;
  line-height:1.65
}

.company-dossier-snapshot .metric-positive {
  color:#70dfb3
}

.company-dossier-snapshot .metric-negative {
  color:#ef9992
}

.company-market-stage {
  margin:1rem 0;
  padding:2.2rem;
  border:1px solid var(--ma-border);
  border-radius:22px;
  background:#fff;
  box-shadow:0 18px 52px rgba(12,53,43,.06)
}

.company-market-stage>header {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:2rem
}

.company-market-stage>header h2 {
  margin:.3rem 0;
  font:500 clamp(1.8rem,3vw,2.55rem)/1.12 var(--ma-serif);
  letter-spacing:-.035em
}

.company-market-stage>header>div:first-child>p:last-child {
  max-width:760px;
  margin:.4rem 0 0;
  color:var(--ma-muted);
  font-size:.72rem
}

.company-range-controls {
  display:flex;
  gap:.35rem;
  padding:.25rem;
  border:1px solid var(--ma-border);
  border-radius:10px;
  background:var(--ma-soft)
}

.company-range-controls button {
  border:0;
  border-radius:7px;
  padding:.5rem .65rem;
  background:transparent;
  color:#687c75;
  font-size:.57rem;
  font-weight:800;
  cursor:pointer
}

.company-range-controls button.active {
  background:var(--ma-dark);
  color:#fff
}

.company-range-controls button:disabled {
  cursor:not-allowed;
  opacity:.38
}

.company-market-grid {
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(230px,.55fr);
  gap:1.5rem;
  margin-top:1.8rem
}

.company-history-chart-wrap {
  min-width:0;
  padding:1.25rem 1.35rem;
  border:1px solid #dbe7e2;
  border-radius:16px;
  background:linear-gradient(180deg,#f9fcfa,#f0f7f4)
}

.company-chart-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem
}

.company-chart-head span {
  color:#667d74;
  font-size:.57rem;
  font-weight:750
}

.company-chart-head strong {
  font-size:.85rem
}

.company-history-chart {
  height:300px;
  margin-top:.6rem
}

.company-history-chart svg {
  display:block;
  width:100%;
  height:265px;
  overflow:visible
}

.company-history-chart .chart-grid line,.company-history-chart .chart-grid path {
  fill:none;
  stroke:#d9e7e1;
  stroke-width:1;
  vector-effect:non-scaling-stroke
}

.company-history-chart .chart-area {
  fill:rgba(53,172,128,.12)
}

.company-history-chart .chart-line {
  fill:none;
  stroke:#268b67;
  stroke-width:2.4;
  vector-effect:non-scaling-stroke
}

.company-history-chart .chart-endpoint {
  fill:#3ac18e;
  stroke:#fff;
  stroke-width:2;
  vector-effect:non-scaling-stroke
}

.company-history-chart.is-negative .chart-area {
  fill:rgba(186,91,91,.1)
}

.company-history-chart.is-negative .chart-line {
  stroke:#b65a5a
}

.company-history-chart.is-negative .chart-endpoint {
  fill:#c66666
}

.company-chart-axis {
  display:flex;
  justify-content:space-between;
  margin-top:-.1rem;
  color:#7d9088;
  font-size:.51rem
}

.company-history-empty {
  min-height:290px;
  display:grid;
  place-items:center;
  margin:0;
  color:var(--ma-muted);
  font-size:.72rem;
  text-align:center
}

.company-history-empty[hidden] {
  display:none
}

.company-path-metrics {
  display:grid;
  grid-template-columns:1fr 1fr;
  border:1px solid var(--ma-border);
  border-radius:16px;
  overflow:hidden
}

.company-path-metrics>div {
  min-width:0;
  padding:1.25rem;
  background:#fff
}

.company-path-metrics>div:nth-child(odd) {
  border-right:1px solid var(--ma-border)
}

.company-path-metrics>div:nth-child(n+3) {
  border-top:1px solid var(--ma-border)
}

.company-path-metrics span {
  display:block;
  min-height:2.5em;
  color:var(--ma-primary);
  font-size:.49rem;
  font-weight:850;
  letter-spacing:.08em;
  line-height:1.4
}

.company-path-metrics strong {
  display:block;
  margin:.7rem 0 .25rem;
  font-size:1.2rem;
  letter-spacing:-.035em
}

.company-path-metrics small {
  color:#84958f;
  font-size:.49rem;
  line-height:1.4
}

.company-market-stage>footer {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  margin-top:1.2rem;
  padding-top:1rem;
  border-top:1px solid var(--ma-border);
  color:#7b8d87;
  font-size:.54rem
}

.company-lens-grid {
  display:grid;
  grid-template-columns:1.15fr .85fr 1fr;
  gap:1rem;
  margin:1rem 0 2.8rem
}

.company-lens-grid>article {
  min-width:0;
  min-height:210px;
  padding:1.45rem;
  border:1px solid var(--ma-border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 13px 38px rgba(12,54,43,.045)
}

.company-session-lens {
  background:radial-gradient(circle at 85% 5%,rgba(62,198,148,.14),transparent 28%),linear-gradient(145deg,#082a23,#0d3a30)!important;
  color:#fff
}

.company-session-lens>div:first-child {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem
}

.company-session-lens span,.company-risk-lens>span,.company-evidence-lens>span {
  color:#67d6ab;
  font-size:.53rem;
  font-weight:850;
  letter-spacing:.1em
}

.company-session-lens>div>strong {
  font:500 1.25rem/1.18 var(--ma-serif);
  text-align:right
}

.company-session-lens>div>strong em {
  color:#6ce0b2;
  font-weight:400
}

.company-session-lens .company-delta-gauge {
  margin-top:1.45rem
}

.company-session-lens>p {
  margin:.75rem 0 0;
  color:#80a196;
  font-size:.57rem;
  line-height:1.6
}

.company-risk-lens {
  display:flex;
  flex-direction:column
}

.company-risk-level {
  position:relative;
  margin:1rem 0;
  padding-bottom:1.1rem;
  border-bottom:1px solid var(--ma-border)
}

.company-risk-level strong {
  display:block;
  font:500 2rem var(--ma-serif)
}

.company-risk-level:after {
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:5px;
  border-radius:9px;
  background:linear-gradient(90deg,#4abe91,#c8b45f 52%,#c06161)
}

.company-risk-level i {
  position:absolute;
  z-index:1;
  left:var(--risk-position,55%);
  bottom:-3px;
  width:11px;
  height:11px;
  border:2px solid #fff;
  border-radius:50%;
  background:#173f34;
  box-shadow:0 0 0 1px #315f52;
  transform:translateX(-50%);
  transition:left .6s
}

.company-risk-lens>p {
  margin:0;
  color:var(--ma-muted);
  font-size:.61rem;
  line-height:1.6
}

.company-risk-lens>small {
  margin-top:auto;
  color:#87968f;
  font-size:.5rem
}

.company-evidence-lens {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  background:linear-gradient(145deg,#f9fcfa,#eaf5f0)!important
}

.company-evidence-lens>span {
  grid-column:1/-1;
  color:var(--ma-primary)
}

.company-evidence-lens .evidence-orbit {
  width:105px;
  height:105px
}

.company-evidence-lens>div:last-child {
  display:grid;
  gap:.5rem
}

.company-evidence-lens b {
  color:#526a62;
  font-size:.63rem
}

.company-thesis-section>.section-heading,.company-evidence-section>.section-heading {
  margin-bottom:1.1rem
}

.company-thesis-section .section-heading p:last-child,.company-evidence-section .section-heading>div>p:last-child {
  max-width:780px;
  margin:.35rem 0 0;
  color:var(--ma-muted);
  font-size:.74rem
}

.company-thesis-grid {
  gap:1rem;
  margin:0
}

.company-thesis-grid>article {
  min-height:290px;
  padding:2rem 2rem 1.7rem
}

.company-thesis-grid>article:first-child {
  background:linear-gradient(145deg,#fff,#eff8f4)
}

.company-thesis-grid>article:last-child {
  background:linear-gradient(145deg,#fff,#f8f3f1)
}

.company-thesis-grid>article:last-child:before {
  background:#b86565
}

.company-thesis-grid ol,.company-thesis-grid ul {
  padding-left:1.25rem
}

.company-thesis-grid li {
  padding:.55rem 0 .75rem;
  color:#40564e;
  font-size:.77rem;
  line-height:1.65;
  border-bottom:1px solid rgba(92,126,114,.14)
}

.company-thesis-grid li:last-child {
  border-bottom:0
}

.company-risk-observatory {
  display:grid;
  grid-template-columns:1.1fr 1fr 1fr;
  gap:0;
  margin:3rem 0;
  padding:2.3rem;
  border-radius:22px;
  background:radial-gradient(circle at 4% 5%,rgba(87,211,162,.12),transparent 22%),linear-gradient(145deg,#061f1a,#0c372e);
  color:#fff;
  box-shadow:0 25px 62px rgba(8,43,34,.15)
}

.company-risk-observatory>div {
  min-width:0;
  padding:0 1.8rem;
  border-left:1px solid rgba(255,255,255,.09)
}

.company-risk-observatory>div:first-child {
  padding-left:0;
  border-left:0
}

.company-risk-observatory>div:last-child {
  padding-right:0
}

.company-risk-observatory .section-kicker {
  color:#65d6aa
}

.company-risk-observatory h2 {
  margin:.3rem 0 1rem;
  font:500 2rem/1.12 var(--ma-serif)
}

.company-risk-observatory h3 {
  margin:0 0 1rem;
  color:#b6d9cc;
  font-size:.72rem;
  letter-spacing:.04em
}

.company-risk-observatory p,.company-risk-observatory li {
  color:#82a69a;
  font-size:.62rem;
  line-height:1.65
}

.company-risk-observatory ul {
  margin:0;
  padding-left:1.1rem
}

.company-risk-observatory li {
  margin:.6rem 0
}

.company-risk-observatory #company-risk-limit {
  margin-top:1.3rem;
  padding-top:1rem;
  border-top:1px solid rgba(255,255,255,.08);
  font-size:.53rem
}

.company-evidence-section {
  margin:3rem 0
}

.company-evidence-ledger {
  display:grid;
  border:1px solid var(--ma-border);
  border-radius:18px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 14px 44px rgba(12,53,43,.045)
}

.company-evidence-ledger article {
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:1.3rem;
  padding:1.2rem 1.4rem
}

.company-evidence-ledger article+article {
  border-top:1px solid var(--ma-border)
}

.company-evidence-ledger article>span {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--ma-primary-soft);
  color:var(--ma-primary);
  font-size:.56rem;
  font-weight:850
}

.company-evidence-ledger small {
  color:var(--ma-primary);
  font-size:.49rem;
  font-weight:850;
  letter-spacing:.08em
}

.company-evidence-ledger h3 {
  margin:.2rem 0;
  font-size:.74rem
}

.company-evidence-ledger h3 a {
  text-decoration-thickness:1px;
  text-underline-offset:3px
}

.company-evidence-ledger h3 a:hover {
  text-decoration:underline
}

.company-evidence-ledger p {
  margin:0;
  color:var(--ma-muted);
  font-size:.56rem
}

.company-evidence-ledger article>b {
  padding:.34rem .55rem;
  border:1px solid var(--ma-border);
  border-radius:999px;
  color:#60756d;
  font-size:.51rem
}

.company-essential-strip {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:1rem;
  border:1px solid var(--ma-border);
  border-radius:14px;
  background:linear-gradient(145deg,#fff,#f3f8f5);
  overflow:hidden
}

.company-essential-strip>div {
  padding:1rem 1.2rem
}

.company-essential-strip>div+div {
  border-left:1px solid var(--ma-border)
}

.company-essential-strip span {
  display:block;
  color:var(--ma-primary);
  font-size:.49rem;
  font-weight:850;
  letter-spacing:.09em
}

.company-essential-strip strong {
  display:block;
  margin-top:.35rem;
  font-size:.68rem
}

.company-research-cta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  margin-top:3rem;
  padding:2rem 2.2rem;
  border:1px solid #bed9ce;
  border-radius:20px;
  background:radial-gradient(circle at 8% 50%,rgba(71,188,143,.13),transparent 18%),linear-gradient(145deg,#f7fbf9,#e8f5ef)
}

.company-research-cta>div:first-child {
  display:flex;
  align-items:center;
  gap:1.3rem
}

.company-research-cta .ai-orb {
  flex:0 0 auto
}

.company-research-cta h2 {
  margin:.2rem 0;
  font:500 1.55rem var(--ma-serif)
}

.company-research-cta p:not(.section-kicker) {
  max-width:660px;
  margin:.25rem 0;
  color:var(--ma-muted);
  font-size:.66rem
}

.company-research-cta .section-actions {
  flex:0 0 auto;
  margin:0
}

@media(max-width:1050px) {
  .company-dossier-hero {
    grid-template-columns:1fr
  }
  .company-dossier-snapshot {
    border-top:1px solid rgba(255,255,255,.09);
    border-left:0
  }
  .company-market-grid {
    grid-template-columns:1fr
  }
  .company-path-metrics {
    grid-template-columns:repeat(4,1fr)
  }
  .company-path-metrics>div:nth-child(n) {
    border-top:0;
    border-right:1px solid var(--ma-border)
  }
  .company-path-metrics>div:last-child {
    border-right:0
  }
  .company-lens-grid {
    grid-template-columns:1fr 1fr
  }
  .company-evidence-lens {
    grid-column:1/-1
  }
  .company-risk-observatory {
    grid-template-columns:1fr 1fr
  }
  .company-risk-observatory>div:first-child {
    grid-column:1/-1;
    margin-bottom:1.6rem;
    padding:0 0 1.6rem;
    border-bottom:1px solid rgba(255,255,255,.09)
  }
  .company-risk-observatory>div:nth-child(2) {
    padding-left:0;
    border-left:0
  }
  .company-research-cta {
    align-items:flex-start;
    flex-direction:column
  }
}

@media(max-width:700px) {
  .company-search-compact {
    grid-template-columns:1fr
  }
  .company-search-compact>p {
    grid-column:auto
  }
  .company-dossier-reading,.company-dossier-snapshot {
    padding:1.5rem
  }
  .company-dossier-reading h2 {
    font-size:2rem
  }
  .company-dossier-snapshot>strong {
    font-size:3.7rem
  }
  .company-market-stage {
    padding:1.25rem
  }
  .company-market-stage>header {
    align-items:flex-start;
    flex-direction:column
  }
  .company-range-controls {
    width:100%
  }
  .company-range-controls button {
    flex:1
  }
  .company-history-chart-wrap {
    padding:1rem
  }
  .company-history-chart {
    height:230px
  }
  .company-history-chart svg {
    height:200px
  }
  .company-path-metrics {
    grid-template-columns:1fr 1fr
  }
  .company-path-metrics>div:nth-child(n) {
    border-right:0
  }
  .company-path-metrics>div:nth-child(odd) {
    border-right:1px solid var(--ma-border)
  }
  .company-path-metrics>div:nth-child(n+3) {
    border-top:1px solid var(--ma-border)
  }
  .company-market-stage>footer {
    align-items:flex-start;
    flex-direction:column
  }
  .company-lens-grid {
    grid-template-columns:1fr
  }
  .company-evidence-lens {
    grid-column:auto
  }
  .company-thesis-grid>article {
    min-height:0;
    padding:1.4rem
  }
  .company-risk-observatory {
    grid-template-columns:1fr;
    padding:1.4rem
  }
  .company-risk-observatory>div,.company-risk-observatory>div:nth-child(2) {
    padding:1.2rem 0;
    border:0;
    border-top:1px solid rgba(255,255,255,.09)
  }
  .company-risk-observatory>div:first-child {
    grid-column:auto;
    margin:0;
    padding-top:0;
    border-top:0
  }
  .company-evidence-section>.section-heading .state-chip {
    align-self:flex-start
  }
  .company-evidence-ledger article {
    grid-template-columns:34px minmax(0,1fr);
    gap:.8rem;
    padding:1rem
  }
  .company-evidence-ledger article>b {
    grid-column:2;
    justify-self:start
  }
  .company-essential-strip {
    grid-template-columns:1fr
  }
  .company-essential-strip>div+div {
    border-top:1px solid var(--ma-border);
    border-left:0
  }
  .company-research-cta {
    padding:1.4rem
  }
  .company-research-cta>div:first-child {
    align-items:flex-start
  }
  .company-research-cta .ai-orb {
    width:42px;
    height:42px
  }
  .company-research-cta .section-actions {
    width:100%
  }
}

.company-research-cta #company-export[hidden] {
  display:none!important
}

.access-pill {
  align-self:flex-start;
  margin:2rem 0 .8rem;
  padding:.25rem .5rem;
  border-radius:6px;
  background:var(--ma-primary-soft);
  color:var(--ma-dark);
  font-size:.62rem;
  font-weight:850;
  letter-spacing:.1em
}

.institutional-overlay {
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:2.5vh 2vw;
  background:rgba(5,24,20,.67);
  backdrop-filter:blur(7px)
}

.institutional-overlay[hidden] {
  display:none
}

@media(max-width:900px) {
  .institutional-overlay {
    padding:0
  }
}

/* Alpha Lab operational surface */
.inst-tab {
  display:grid;
  gap:12px
}

.inst-form,.inst-list {
  border:1px solid #dce5e1;
  border-radius:8px;
  background:#fff
}

.inst-form {
  padding:14px
}

.inst-form-grid {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:flex-end
}

.inst-form-grid label {
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:100px;
  color:#71847d;
  font-size:.75rem
}

.inst-form-grid label>span {
  color:#71847d;
  font-size:.75rem
}

.inst-form-grid input,.inst-form-grid select {
  min-width:100px;
  padding:6px 8px;
  border:1px solid var(--ma-border-control);
  border-radius:4px;
  background:#fff;
  color:#173d33;
  font-size:.85rem
}

.inst-btn-icon,.inst-btn-primary,.inst-btn-mini {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border-radius:4px;
  cursor:pointer;
  font-size:.85rem
}

.inst-btn-icon {
  padding:5px;
  border:1px solid #cddbd5;
  background:none;
  color:#31584d
}

.inst-btn-primary {
  padding:8px 14px;
  border:0;
  background:#23684f;
  color:#fff;
  font-weight:700
}

.inst-btn-primary:hover {
  background:#2d7c60
}

.inst-btn-icon:hover {
  background:#e8f4ef
}

.inst-btn-icon:disabled,.inst-btn-primary:disabled {
  cursor:not-allowed;
  opacity:.5
}

.inst-list {
  overflow:auto
}

.inst-list table {
  min-width:980px
}

.inst-list th {
  height:36px;
  background:#f1f5f3!important;
  color:#60736c!important;
  border-color:#dde6e2!important;
  font-size:10px!important;
  text-transform:none
}

.inst-list td {
  height:42px;
  padding:7px 10px;
  font-size:11px
}

.inst-list td small {
  display:block;
  margin-top:3px;
  color:#9ca3af;
  font-size:11px
}

.inst-list tbody tr:nth-child(even) {
  background:#fafcfb
}

.inst-list tbody tr:hover {
  background:#f0f7f4
}

.td-pos {
  color:#1f9b67!important;
  font-weight:700
}

.td-neg {
  color:#c45050!important;
  font-weight:700
}

.inst-state-note {
  color:#9ca3af;
  font-size:11px
}

.inst-empty {
  padding:20px 0;
  color:#788b84;
  font-size:12px;
  text-align:center
}

.inst-error {
  margin-top:12px;
  padding:9px 11px;
  border:1px solid #e5bbbb;
  border-radius:7px;
  background:#fff1f1;
  color:#a83f3f;
  font-size:11px
}

@media(max-width:600px) {
  .inst-form-grid {
    align-items:stretch
  }
}

/* === Filtros adicionales del Radar (rescate forja-fenix, R-60) ===
   `SPEC §8.2` declara seis dimensiones de filtro y la aplicación traía cuatro botones que
   filtraban todos por lo mismo —el estado— y de forma excluyente. Estas son las otras: se
   combinan con la prioridad en lugar de sustituirla. */
.radar-filter-row {
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
}

.radar-filter-field {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  color: var(--ma-muted);
  font-size: .78rem;
}

.radar-filter-field select {
  padding: .35rem .5rem;
  border: 1px solid var(--ma-border-control);
  border-radius: 8px;
  background: var(--ma-surface);
  color: var(--ma-text);
  font: inherit;
}

.radar-filter-row .filter[aria-pressed="true"] {
  border-color: var(--ma-primary);
}

/* ---------------- ADR-F12 · Pestaña Alertas (recetas de un clic) ----------------
   Dictada por el operador, con la paleta MiAnalista: superficie clara, serifa editorial
   y el verde institucional como acento. La severidad usa tres tintas discretas, no un
   semaforo chillon. */
.alert-stats {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin:18px 0 26px
}

.alert-stats article {
  background:var(--ma-surface);
  border:1px solid var(--ma-border);
  border-radius:14px;
  padding:16px 18px;
  display:flex;
  flex-direction:column;
  gap:4px
}

.alert-stats strong {
  font-family:var(--ma-serif);
  font-size:28px;
  color:var(--ma-dark)
}

.alert-stats span {
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ma-muted)
}

.alert-recipe-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:14px
}

.alert-recipe-card {
  background:var(--ma-surface);
  border:1px solid var(--ma-border);
  border-radius:14px;
  padding:16px 18px;
  display:flex;
  flex-direction:column;
  gap:10px
}

.alert-recipe-card.is-active {
  border-color:var(--ma-primary);
  background:var(--ma-primary-soft)
}

.alert-recipe-head {
  display:flex;
  align-items:center;
  gap:8px
}

.alert-recipe-head strong {
  font-family:var(--ma-serif);
  font-size:16px;
  color:var(--ma-text)
}

.alert-recipe-icon {
  font-size:20px
}

.alert-severity {
  margin-left:auto;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:2px 8px;
  border-radius:999px;
  border:1px solid var(--ma-border);
  color:var(--ma-muted);
  background:var(--ma-soft)
}

.sev-alta .alert-severity {
  border-color:#b0563f;
  color:#8f3f2c;
  background:#f7e9e4
}

.sev-media .alert-severity {
  border-color:#a98b3c;
  color:#7d6524;
  background:#f6efdd
}

.alert-recipe-copy {
  margin:0;
  font-size:13px;
  line-height:1.55;
  color:var(--ma-muted)
}

.alert-recipe-scope {
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ma-primary)
}

.alert-recipe-card .button {
  align-self:flex-start
}

.alert-recipe-done {
  opacity:.65;
  cursor:default
}

.alert-rule-list,.alert-fire-list {
  display:flex;
  flex-direction:column;
  gap:10px
}

.alert-rule-card {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  background:var(--ma-surface);
  border:1px solid var(--ma-border);
  border-left:4px solid var(--ma-primary);
  border-radius:12px;
  padding:12px 16px
}

.alert-rule-card.sev-alta {
  border-left-color:#b0563f
}

.alert-rule-card.sev-media {
  border-left-color:#a98b3c
}

.alert-rule-card.is-paused {
  opacity:.55
}

.alert-rule-title {
  display:flex;
  align-items:center;
  gap:10px
}

.alert-rule-title strong {
  font-family:var(--ma-serif);
  font-size:15px
}

.alert-rule-meta {
  margin:4px 0 0;
  font-size:12.5px;
  color:var(--ma-muted)
}

.alert-rule-actions {
  display:flex;
  align-items:center;
  gap:12px
}

.alert-rule-delete {
  border:1px solid var(--ma-border);
  background:var(--ma-soft);
  color:var(--ma-muted);
  border-radius:999px;
  width:28px;
  height:28px;
  font-size:16px;
  line-height:1;
  cursor:pointer
}

.alert-rule-delete:hover {
  color:#8f3f2c;
  border-color:#b0563f
}

.alert-fire-card {
  background:var(--ma-surface);
  border:1px solid var(--ma-border);
  border-radius:12px;
  padding:12px 16px;
  display:flex;
  flex-direction:column;
  gap:10px
}

.alert-fire-head {
  display:flex;
  align-items:center;
  gap:10px
}

.alert-fire-head strong {
  font-family:var(--ma-serif);
  font-size:15px
}

.alert-fire-count {
  min-width:30px;
  text-align:center;
  font-family:var(--ma-serif);
  font-size:15px;
  color:var(--ma-dark);
  background:var(--ma-primary-soft);
  border-radius:8px;
  padding:2px 8px
}

.alert-fire-chips {
  display:flex;
  flex-wrap:wrap;
  gap:6px
}

.alert-fire-chip {
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:12px;
  text-decoration:none;
  color:var(--ma-dark);
  background:var(--ma-soft);
  border:1px solid var(--ma-border);
  border-radius:8px;
  padding:3px 8px
}

.alert-fire-chip:hover {
  border-color:var(--ma-primary)
}

.alert-fire-more {
  font-size:12px;
  color:var(--ma-muted);
  align-self:center
}

@media (max-width:760px) {
  .alert-stats {
    grid-template-columns:1fr
  }

  .alert-rule-card {
    flex-direction:column;
    align-items:flex-start
  }
}

/* ADR-F14 · pista de politica de contraseña en el registro */
.field-hint {
  display:block;
  margin:-6px 0 12px;
  font-size:12px;
  color:var(--ma-muted)
}

/* ---------------- ADR-F15 · Pestaña Datos (solo administradores) ----------------
   La operacion de datos con la hoja del analista: subpestañas serenas, KPIs en bloques
   tintados, tarjetas de proveedor con lomo y una matriz legible. */
.datos-tabs {
  display:flex;
  gap:8px;
  margin:14px 0 22px;
  flex-wrap:wrap
}

.datos-tabs button {
  font-family:var(--ma-sans);
  font-size:13px;
  padding:8px 14px;
  border:1px solid var(--ma-border);
  border-radius:999px;
  background:var(--ma-surface);
  color:var(--ma-muted);
  cursor:pointer
}

.datos-tabs button.is-active {
  background:var(--ma-primary-soft);
  border-color:var(--ma-primary);
  color:var(--ma-dark)
}

.datos-kpis {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:12px;
  margin:0 0 22px
}

.datos-kpi {
  background:var(--ma-soft);
  border:1px solid var(--ma-border);
  border-radius:12px;
  padding:14px 16px;
  display:flex;
  flex-direction:column;
  gap:3px
}

.datos-kpi strong {
  font-family:var(--ma-serif);
  font-size:22px;
  color:#24463f
}

.datos-kpi span {
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ma-muted)
}

.datos-kpi small {
  font-size:11px;
  color:var(--ma-muted)
}

.datos-pipeline {
  display:flex;
  align-items:stretch;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 24px
}

.datos-pipe {
  flex:1;
  min-width:130px;
  background:var(--ma-surface);
  border:1px solid var(--ma-border);
  border-radius:12px;
  padding:12px 14px;
  display:flex;
  flex-direction:column;
  gap:4px
}

.datos-pipe-icon {
  font-size:18px
}

.datos-pipe strong {
  font-family:var(--ma-serif);
  font-size:14px
}

.datos-pipe small {
  font-size:11.5px;
  color:var(--ma-muted)
}

.datos-pipe-arrow {
  align-self:center;
  color:var(--ma-primary);
  font-size:18px
}

.datos-subtitulo {
  font-family:var(--ma-sans);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ma-primary);
  margin:22px 0 10px
}

.datos-tabla {
  display:flex;
  flex-direction:column
}

.datos-cov-row {
  display:flex;
  align-items:center;
  gap:12px;
  padding:8px 4px;
  border-bottom:1px solid var(--ma-border)
}

.datos-cov-nombre {
  font-family:var(--ma-serif);
  font-size:14px;
  min-width:140px
}

.datos-cov-barra {
  flex:1;
  height:8px;
  min-width:80px;
  background:var(--ma-border);
  border-radius:4px;
  overflow:hidden
}

.datos-cov-barra i {
  display:block;
  height:100%;
  border-radius:4px;
  background:#315d54;
  background:linear-gradient(90deg,#315d54,#4d7a6e)
}

.datos-cov-barra i.media {
  background:#a98b3c
}

.datos-cov-barra i.baja {
  background:#b0563f
}

.datos-cov-pct {
  font-family:var(--ma-serif);
  font-size:14px;
  color:#24463f;
  min-width:44px;
  text-align:right
}

.baja-tinta {
  color:#8f3f2c
}

.datos-cov-meta {
  font-size:11.5px;
  color:var(--ma-muted)
}

.datos-filtros {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:0 0 16px
}

.datos-filtro {
  font-family:var(--ma-sans);
  font-size:12px;
  padding:6px 12px;
  border:1px solid var(--ma-border);
  border-radius:999px;
  background:var(--ma-surface);
  color:var(--ma-muted);
  cursor:pointer
}

.datos-filtro.is-active {
  background:var(--ma-primary-soft);
  border-color:var(--ma-primary);
  color:var(--ma-dark)
}

.datos-prov-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:14px
}

.datos-prov {
  background:var(--ma-surface);
  border:1px solid var(--ma-border);
  border-left:3px solid var(--ma-border);
  border-radius:0 12px 12px 0;
  padding:14px 16px;
  display:flex;
  flex-direction:column;
  gap:8px
}

.datos-prov.is-on {
  border-left-color:var(--ma-primary)
}

.datos-prov-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px
}

.datos-prov-head strong {
  font-family:var(--ma-serif);
  font-size:15px
}

.datos-prov-estado {
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:2px 8px;
  border-radius:999px;
  background:var(--ma-soft);
  border:1px solid var(--ma-border);
  color:var(--ma-muted)
}

.datos-prov.is-on .datos-prov-estado {
  background:var(--ma-primary-soft);
  border-color:var(--ma-primary);
  color:var(--ma-dark)
}

.datos-prov-meta {
  margin:0;
  font-size:11px;
  letter-spacing:.06em;
  color:var(--ma-muted)
}

.datos-prov-caps {
  display:flex;
  flex-wrap:wrap;
  gap:5px
}

.datos-cap {
  font-size:10.5px;
  padding:2px 8px;
  border-radius:8px;
  background:var(--ma-soft);
  border:1px solid var(--ma-border);
  color:var(--ma-dark)
}

.datos-prov-notas {
  margin:0;
  font-size:12.5px;
  line-height:1.5;
  color:var(--ma-muted)
}

.datos-prov-precio {
  margin:0;
  font-family:var(--ma-serif);
  font-size:14px;
  color:#24463f
}

.datos-uso span {
  font-size:11.5px;
  color:var(--ma-muted)
}

.datos-prov-clave {
  margin:0;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:11.5px;
  color:var(--ma-muted)
}

.datos-prov-acciones {
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:2px
}

.datos-conectar {
  display:flex;
  gap:8px;
  margin-top:4px
}

.datos-conectar input {
  flex:1;
  min-width:0
}

.datos-matriz {
  border-collapse:collapse;
  width:100%;
  table-layout:fixed;
  font-size:12.5px
}

.datos-matriz th,.datos-matriz td {
  padding:7px 9px;
  border-bottom:1px solid var(--ma-border);
  text-align:center
}

.datos-matriz th.l,.datos-matriz td.l {
  text-align:left
}

.datos-matriz td.c {
  color:var(--ma-primary);
  font-weight:600
}

.datos-punto {
  display:inline-block;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--ma-border);
  margin-right:4px
}

.datos-punto.on {
  background:var(--ma-primary)
}

.datos-tag {
  font-style:normal;
  font-size:10px;
  color:var(--ma-muted)
}

/* ADR-F15b · catalogo completo de proveedores */
.datos-capcov {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:0 0 18px
}

.datos-capcov-chip {
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11.5px;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid var(--ma-border);
  color:var(--ma-muted)
}

.datos-capcov-chip b {
  font-family:var(--ma-serif)
}

.datos-capcov-chip.bien {
  border-color:var(--ma-primary);
  color:var(--ma-dark);
  background:var(--ma-primary-soft)
}

.datos-capcov-chip.justo {
  border-color:#a98b3c;
  color:#7d6524;
  background:#f6efdd
}

.datos-capfiltros {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:0 0 16px
}

.datos-capfiltro {
  font-family:var(--ma-sans);
  font-size:11.5px;
  padding:4px 10px;
  border:1px solid var(--ma-border);
  border-radius:999px;
  background:var(--ma-surface);
  color:var(--ma-muted);
  cursor:pointer
}

.datos-capfiltro.is-active {
  background:var(--ma-primary-soft);
  border-color:var(--ma-primary);
  color:var(--ma-dark)
}

.datos-prov-icono {
  display:grid;
  place-items:center;
  min-width:38px;
  height:38px;
  border-radius:10px;
  background:#315d54;
  background:linear-gradient(135deg,#24463f,#4d7a6e);
  color:#fff;
  font-family:var(--ma-sans);
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em
}

.datos-prov-titulo {
  flex: 1;
  min-width: 0;
  flex:1;
  min-width:0
}

.datos-oficial {
  white-space: nowrap;
  font-size:9.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ma-dark);
  background:var(--ma-primary-soft);
  border-radius:6px;
  padding:1px 6px;
  margin-left:6px
}

.datos-matriz-total td {
  font-family:var(--ma-serif);
  color:#24463f;
  font-weight:700;
  border-top:2px solid var(--ma-border)
}

/* ADR-F15b · estado vacio del filtro, como el original */
.datos-vacio {
  padding: 30px 6px;
  color: #5c6f68;
  font-style: italic;
}

/* ------------------------------------------------------------------ ADR-F16 · Admin */
.adm-card {
  background: #ffffff;
  background: linear-gradient(180deg, #ffffff, #fbfcfa);
  border: 1px solid #dfe7e2;
  border-radius: 14px;
  padding: 18px 20px;
  margin-top: 18px;
}
.adm-dim { color: #5c6f68; font-size: 0.86rem; }
.adm-pos { color: #2f6b4f; font-weight: 600; font-variant-numeric: tabular-nums; }
.adm-neg { color: #8c3b31; font-weight: 600; font-variant-numeric: tabular-nums; }
.adm-envivo { color: #2f6b4f; }
.adm-regchart {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  height: 84px;
  margin: 10px 0 6px;
}
.adm-regchart i {
  flex: 1;
  min-width: 4px;
  border-radius: 3px 3px 0 0;
  background: #315d54;
  background: linear-gradient(180deg, #4d7a6e, #24463f);
}
/* El mapa: silueta equirectangular propia (sin tiles ni scripts de terceros) con la
   misma proyección que los puntos —(lon+180)/360 y (90-lat)/180— estirada al contenedor,
   de modo que cada punto cae sobre su país. Encima, la retícula cada 45°. */
.adm-mapa {
  position: relative;
  width: 100%;
  aspect-ratio: 2 / 1;
  min-height: 220px;
  border-radius: 12px;
  border: 1px solid #dfe7e2;
  background: #eef3ef;
  background:
    linear-gradient(rgba(49, 93, 84, 0.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(49, 93, 84, 0.10) 1px, transparent 1px),
    url("/assets/world-equirect.svg"),
    linear-gradient(180deg, #f1f5f2, #e7eee9);
  background-size: 12.5% 25%, 12.5% 25%, 100% 100%, auto;
  background-repeat: repeat, repeat, no-repeat, no-repeat;
  overflow: hidden;
}
.adm-mapa-punto {
  position: absolute;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #315d54;
  border: 2px solid #f5f7f4;
  box-shadow: 0 0 0 4px rgba(49, 93, 84, 0.20);
}
.adm-maplist { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 6px; }
.adm-maptag {
  border: 1px solid #dfe7e2;
  border-radius: 999px;
  padding: 2px 10px;
  font-size: 0.78rem;
  color: #37493f;
  background: #f5f7f4;
}
.adm-tabla { width: 100%; border-collapse: collapse; table-layout: auto; font-size: 0.86rem; }
.adm-tabla th {
  text-align: left;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #5c6f68;
  padding: 8px 10px;
  border-bottom: 1px solid #dfe7e2;
}
.adm-tabla td { padding: 8px 10px; border-bottom: 1px solid #edf1ec; vertical-align: middle; overflow-wrap: anywhere; }
.adm-tabla td.c, .adm-tabla th.c { text-align: center; }
.adm-online {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #c4cec7;
  margin-right: 4px;
}
.adm-online.on { background: #2f6b4f; box-shadow: 0 0 0 3px rgba(47, 107, 79, 0.18); }
.adm-select {
  font: inherit;
  font-size: 0.84rem;
  border: 1px solid #dfe7e2;
  border-radius: 8px;
  background: #ffffff;
  color: #22302a;
  padding: 4px 8px;
}
.adm-msg {
  border: 1px solid #dfe7e2;
  border-left: 3px solid #dfe7e2;
  border-radius: 12px;
  background: #ffffff;
  padding: 14px 16px;
  margin-top: 12px;
}
.adm-msg.es-nuevo { border-left-color: #315d54; background: #fbfdfb; }
.adm-msg-cab { display: flex; flex-wrap: wrap; gap: 10px; align-items: baseline; }
.adm-msg-cab a { color: #315d54; }
.adm-msg-estado { font-size: 0.78rem; color: #5c6f68; }
.adm-msg-estado.estado-new { color: #315d54; font-weight: 600; }
.adm-msg-asunto { font-weight: 600; margin: 8px 0 0; }
.adm-msg-cuerpo { margin: 6px 0 0; white-space: pre-wrap; color: #37493f; }
.adm-msg-acciones { display: flex; gap: 12px; align-items: center; margin-top: 10px; }
.adm-cohpick { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.adm-cohpick .datos-subtitulo { margin: 0 8px 0 0; }
.adm-eqsvg { width: 100%; height: 180px; margin-top: 8px; }
.adm-eqstrat { stroke: #315d54; }
.adm-eqbench { stroke: #9fb0a7; }
.adm-eqbase { stroke: #dfe7e2; stroke-dasharray: 4 3; }
.adm-sev {
  display: inline-block;
  border-radius: 999px;
  border: 1px solid;
  padding: 1px 10px;
  font-size: 0.75rem;
}
.adm-sev.sev-ok { color: #2f6b4f; border-color: #bcd4c6; background: #eef5f0; }
.adm-sev.sev-warning { color: #7a6320; border-color: #ddd0a3; background: #faf6e8; }
.adm-sev.sev-critical { color: #8a5a2b; border-color: #e0c6a8; background: #f9f1e8; }
.adm-sev.sev-blocking, .adm-sev.sev-error { color: #8c3b31; border-color: #dcb6b0; background: #f9edeb; }
.adm-sev.sev-missing { color: #5c6f68; border-color: #d5ddd7; background: #f2f5f2; }
/* contacto (pagina publica) */
.contacto-seccion { max-width: 720px; }
.contacto-form { display: grid; gap: 14px; margin-top: 8px; }
.contacto-form label { display: grid; gap: 6px; font-size: 0.9rem; color: #37493f; }
.contacto-form input, .contacto-form textarea {
  font: inherit;
  border: 1px solid #dfe7e2;
  border-radius: 10px;
  padding: 10px 12px;
  background: #ffffff;
  color: #22302a;
}
.contacto-fila { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.contacto-envio { display: flex; gap: 14px; align-items: center; }
.contacto-nota { color: #5c6f68; font-size: 0.85rem; margin-top: 18px; }
@media (max-width: 640px) { .contacto-fila { grid-template-columns: 1fr; } }

/* --------------------------------------------------------------- ADR-F17 · pestaña IA */
.ia-lectura {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  border: 1px solid #dfe7e2;
  border-radius: 14px;
  padding: 16px 18px;
  margin-top: 4px;
  background: #f2f6f3;
  background: linear-gradient(135deg, #f4f8f5 0%, #eaf1ec 100%);
}
.ia-lectura p { margin: 0; color: #26332d; line-height: 1.55; }
.ia-lectura-marca {
  flex: none;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-family: var(--font-serif, Georgia, serif);
  color: #f5f7f4;
  background: #315d54;
  background: linear-gradient(135deg, #24463f, #4d7a6e);
}
.ia-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ia-bucket { display: flex; align-items: center; gap: 10px; margin: 7px 0; font-size: 0.86rem; }
.ia-bucket-l { flex: 0 0 34%; color: #37493f; overflow-wrap: anywhere; }
.ia-bucket-v { flex: 0 0 27%; text-align: right; font-variant-numeric: tabular-nums; }
.ia-bucket-v small { color: #5c6f68; }
.ia-barra {
  flex: 1;
  height: 8px;
  border-radius: 999px;
  background: #e6ece8;
  overflow: hidden;
}
.ia-barra i { display: block; height: 100%; border-radius: 999px; background: #4d7a6e; }
.ia-barra i.ok { background: #2f6b4f; background: linear-gradient(90deg, #4d7a6e, #2f6b4f); }
.ia-barra i.baja { background: #a8705f; }
.ia-barra i.neutro { background: #9fb0a7; }
.ia-tira { display: flex; gap: 3px; margin-top: 8px; }
.ia-tira i { flex: 1; height: 22px; border-radius: 3px; background: #c9d5cd; }
.ia-tira i.ok { background: #2f6b4f; }
.ia-tira i.no { background: #c08579; }
.ia-pill {
  display: inline-block;
  border-radius: 999px;
  border: 1px solid;
  padding: 2px 12px;
  font-size: 0.78rem;
  margin-bottom: 8px;
}
.ia-pill.ok { color: #2f6b4f; border-color: #bcd4c6; background: #eef5f0; }
.ia-pill.aviso { color: #7a6320; border-color: #ddd0a3; background: #faf6e8; }
.ia-pill.fiab { color: #37493f; border-color: #dfe7e2; background: #f5f7f4; margin: 0; }
.ia-sesgo { display: flex; height: 8px; border-radius: 999px; overflow: hidden; background: #e6ece8; min-width: 70px; }
.ia-sesgo i.alcista { background: #2f6b4f; }
.ia-sesgo i.neutral { background: #b9c5bd; }
.ia-sesgo i.bajista { background: #a8705f; }
.ia-bucle { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 10px 0 4px; }
.ia-paso {
  flex: 1 1 130px;
  border: 1px solid #dfe7e2;
  border-radius: 12px;
  padding: 10px 12px;
  background: #ffffff;
  display: grid;
  gap: 2px;
}
.ia-paso-icono { font-size: 1.1rem; }
.ia-paso-d { color: #5c6f68; font-size: 0.78rem; }
.ia-flecha { color: #9fb0a7; }
.ia-ficha { border-bottom: 1px solid #edf1ec; padding: 10px 0; }
.ia-ficha summary { cursor: pointer; }
.ia-ficha p { margin: 8px 0 0; color: #37493f; font-size: 0.88rem; }
.ia-metricas { display: flex; flex-wrap: wrap; gap: 6px; }
.ia-pro { color: #2f6b4f; font-weight: 600; font-size: 0.82rem; }
.ia-contra { color: #8c3b31; font-weight: 600; font-size: 0.82rem; }
.ia-lista { margin: 4px 0 0 18px; color: #37493f; font-size: 0.86rem; }
@media (max-width: 900px) { .ia-grid { grid-template-columns: 1fr; } }

/* ADR-F27 · móvil: lo que se apila por debajo de 760 px.
   Medido a 390 px con sesión: las tarjetas de mando de Hoy, Radar, Seguimiento y AutoAnalista
   conservaban sus tres columnas de escritorio, y en columnas de 100 px el ajuste de línea
   «anywhere» parte las palabras por sílabas; la cuenta y el panel de la IA se salían por la
   derecha; y en la portada el halo decorativo del escaparate ensanchaba la página. */
.button-danger {
  border-color:#d9a3a3;
  background:#fff;
  color:#8a2a2a
}
.button-danger:hover {
  background:#fbeaea
}
@media(max-width:760px) {
  html,body {
    overflow-x:clip
  }
  .market-command-grid,.radar-command,.tracking-board,.ai-context-console,.account-grid,.company-evidence-lens {
    grid-template-columns:minmax(0,1fr)
  }
  .ai-context-console {
    min-height:0;
    padding:1.25rem
  }
  .ai-ready-panel {
    max-width:100%
  }
  .tracking-rings {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
  .radar-spectrum>div {
    grid-template-columns:minmax(64px,90px) minmax(0,1fr) 64px
  }
  .market-command-grid>article,.radar-command>div,.tracking-board>div {
    min-width:0
  }
  .page-title,.reading-panel h2,.company-heading p,.market-command-grid h2,.radar-command h2,.tracking-board h2,.ai-context-console h2 {
    overflow-wrap:break-word;
    word-break:normal;
    hyphens:manual
  }
  .product-stage {
    overflow:hidden
  }
  /* Las tablas de Admin e IA: en un móvil se desplazan dentro de su marco en vez de
     partir «random_forest» o un correo por letras. */
  .adm-tabla {
    display:block;
    max-width:100%;
    overflow:auto
  }
  .adm-tabla th,.adm-tabla td {
    white-space:nowrap;
    overflow-wrap:normal
  }
}

/* ADR-F28 · el botón de tres rayas de la cabecera móvil. */
.menu-button {
  display:none;
  align-items:center;
  gap:.5rem;
  cursor:pointer
}
.menu-bars {
  display:inline-grid;
  gap:3px;
  width:18px
}
.menu-bars i {
  display:block;
  height:2px;
  border-radius:2px;
  background:currentColor;
  transition:transform .18s ease,opacity .18s ease
}
.menu-button[aria-expanded="true"] .menu-bars i:nth-child(1) {
  transform:translateY(5px) rotate(45deg)
}
.menu-button[aria-expanded="true"] .menu-bars i:nth-child(2) {
  opacity:0
}
.menu-button[aria-expanded="true"] .menu-bars i:nth-child(3) {
  transform:translateY(-5px) rotate(-45deg)
}
@media(max-width:900px) {
  .menu-button {
    display:inline-flex;
    margin-right:auto;
    padding:.55rem .6rem
  }
}

/* ADR-F28 (enmienda) · Mi cuenta y Salir viven al pie del menú, en las dos
   navegaciones, donde antes estaba «Volver al sitio»; la cabecera se queda con el
   estado de datos y la inicial de la cuenta. */
.app-sidebar .nav-account {
  margin-top:auto;
  padding-top:.75rem;
  border-top:1px solid var(--ma-border);
  display:grid;
  gap:.15rem
}
.app-sidebar .nav-account-link {
  display:block;
  width:100%;
  padding:.55rem .75rem;
  border:0;
  border-radius:9px;
  background:none;
  color:var(--ma-muted);
  text-align:left;
  font:inherit;
  font-size:.88rem;
  font-weight:600;
  cursor:pointer
}
.app-sidebar .nav-account-link:hover,.mobile-nav .nav-account-link:hover {
  background:var(--ma-primary-soft);
  color:var(--ma-dark)
}
.logout-inline {
  margin:0
}
