:root {
  color-scheme:dark;
  --bg:#000;
  --panel:#111;
  --text:#f5f5f2;
  --muted:#ababaa;
  --line:#303030;
  --accent:#5b9dff;
  --space:clamp(1.25rem,5vw,5rem);
  --header-height:90px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:16px
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-height) + 24px)
}
body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased
}
a {
  color:inherit;
  text-underline-offset:.35em
}
a:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:7px
}
::selection {
  background:var(--accent);
  color:#000
}
p,h1,h2,h3 {
  margin:0
}
p {
  line-height:1.65
}
em {
  font-style:normal;
  color:var(--accent)
}
.page-shell {
  max-width:1600px;
  margin:auto;
  padding:0 var(--space)
}
.page-shell {
  padding-top:var(--header-height)
}
.skip-link {
  position:fixed;
  top:-100px;
  left:1rem;
  z-index:60;
  padding:.75rem;
  background:var(--accent);
  color:#000
}
.skip-link:focus {
  top:1rem
}
.site-header {
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:40;
  background:var(--bg);
  border-bottom:1px solid var(--line)
}
.header-inner {
  min-height:var(--header-height);
  max-width:1600px;
  margin:auto;
  padding:0 var(--space);
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:2rem
}
.header-cta {
  justify-self:end;
}
.primary-cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 1.25rem;
  background:var(--accent);
  color:#000;
  font-size:.875rem;
  font-weight:600;
  text-decoration:none;
  border:1px solid var(--accent);
  border-radius:8px
}
.primary-cta:hover {
  background:#82b5ff;
  border-color:#82b5ff
}


nav {
  display:flex;
  gap:2rem
}
nav a {
  text-decoration:none;
  font-size:.83rem;
  color:var(--muted)
}
nav a:hover {
  color:var(--text)
}
.header-label,.eyebrow,.index-label,.note-label,.note-end,.section-label,.hero-bottom,.step-number {
  font-family:Consolas,'Courier New',monospace;
  font-weight:400
}
.header-label {
  font-size:.875rem;
  text-transform:uppercase;
  letter-spacing:.08em
}
.hero {
  padding-top:2.25rem
}
.hero-top {
  display:flex;
  justify-content:space-between;
  gap:2rem
}
.eyebrow {
  font-size:.875rem;
  letter-spacing:.04em;
  color:var(--muted)
}
.index-label {
  font-size:.875rem;
  color:var(--muted)
}
.hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) 285px;
  gap:clamp(2rem,5vw,5rem);
  padding:4.5rem 0 4.5rem;
  align-items:end
}
h1 {
  font-size:clamp(3.1rem,4.65vw,4.35rem);
  font-weight:500;
  letter-spacing:-.065em;
  line-height:1.05
}
.hero-description {
  font-size:1.06rem;
  color:var(--muted);
  max-width:510px;
  margin:2rem 0 1.75rem
}
.text-link {
  font-size:.85rem;
  text-decoration-thickness:1px
}
.text-link:hover {
  color:var(--accent)
}
.hero-note {
  border-top:2px solid var(--accent);
  padding:1.4rem 1.5rem 1.5rem;
  background:var(--panel);
  margin-bottom:.3rem
}
.note-label {
  font-size:.8125rem;
  color:var(--muted)
}
.note-statement {
  font-size:1.35rem;
  line-height:1.2;
  letter-spacing:-.04em;
  margin-top:2rem
}
.note-rule {
  width:36px;
  height:1px;
  background:var(--muted);
  margin:1.75rem 0
}
.hero-note>p:not(.note-statement) {
  font-size:.95rem;
  color:var(--muted)
}
.note-end {
  display:block;
  font-size:.75rem;
  margin-top:2rem;
  color:var(--accent)
}
.hero-bottom {
  display:flex;
  justify-content:space-between;
  border-top:1px solid var(--line);
  padding:1.25rem 0;
  color:var(--muted);
  font-size:.8125rem
}
.section-block {
  padding:5.5rem 0;
  border-bottom:1px solid var(--line);
  scroll-margin-top:0
}
.section-label {
  display:flex;
  justify-content:space-between;
  gap:2rem;
  color:var(--muted);
  font-size:.8125rem;
  margin-bottom:3.25rem
}
.section-label span:first-child {
  color:var(--accent)
}
h2 {
  font-size:clamp(2rem,3.2vw,2.8rem);
  font-weight:500;
  line-height:1.13;
  letter-spacing:-.05em
}
h2 span {
  color:var(--muted)
}
.thesis-grid {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:6vw
}
.thesis-copy {
  max-width:510px
}
.thesis-copy p {
  color:var(--muted);
  margin-bottom:1.4rem;
  font-size:1rem
}
.thesis-copy .lead {
  font-size:1.06rem;
  color:var(--text);
  line-height:1.45;
  margin-bottom:1.75rem
}
.territories {
  margin-top:4rem;
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:6vw
}
.territories>p {
  padding-top:1rem
}
.territories ul {
  list-style:none;
  padding:0;
  margin:0
}
.territories li {
  padding:1rem 0;
  border-top:1px solid var(--line);
  font-size:1.15rem;
  display:flex;
  align-items:center;
  gap:1.5rem
}
.territories li span {
  font: .8125rem Consolas,'Courier New',monospace;
  color:var(--muted)
}
.section-heading {
  display:flex;
  justify-content:space-between;
  gap:2rem;
  align-items:end
}
.section-heading>p {
  color:var(--muted);
  font-size:1rem;
  padding-bottom:.25rem
}
.process {
  list-style:none;
  padding:0;
  margin:4rem 0 0;
  display:grid;
  grid-template-columns:repeat(5,1fr)
}
.process li {
  border-top:1px solid var(--muted);
  border-right:1px solid var(--line);
  padding:1.5rem 1.5rem 0 0;
  min-height:170px
}
.process li+li {
  padding-left:1.5rem
}
.process li:last-child {
  border-right:0
}
.step-number {
  font-size:.8125rem;
  color:var(--accent)
}
h3 {
  font-size:1.08rem;
  font-weight:500;
  letter-spacing:-.03em;
  margin:1.5rem 0 .7rem
}
.process p {
  font-size:.9375rem;
  color:var(--muted);
  max-width:180px
}
.method-footnote {
  font-size:.875rem;
  color:var(--muted);
  margin-top:2.5rem
}
.ecosystem-grid {
  display:grid;
  grid-template-columns:1.35fr 1fr;
  gap:6vw
}
.ecosystem-intro {
  max-width:520px;
  font-size:1rem;
  color:var(--muted);
  margin-top:2rem
}
.ecosystem-roles>div {
  border-top:1px solid var(--line);
  padding:1.5rem 0
}
.ecosystem-roles>div:last-child {
  border-bottom:1px solid var(--line)
}
.role-name {
  font-size:1rem;
  letter-spacing:.1em
}
.ecosystem-roles p {
  color:var(--muted);
  font-size:.95rem;
  margin-top:.8rem
}
.ecosystem-references {
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  padding-top:1.75rem;
  margin-top:4rem
}
.ecosystem-references p {
  font-size:.875rem;
  color:var(--muted)
}
.ecosystem-references ul {
  list-style:none;
  display:flex;
  gap:2.5rem;
  flex-wrap:wrap;
  margin:0;
  padding:0;
  font-size:1.15rem;
  letter-spacing:-.02em
}
.closing {
  padding:6rem 0
}
.closing-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:1.5rem
}
.closing h2 {
  font-size:clamp(2rem,3.2vw,2.8rem);
  margin:2rem 0
}
.closing p {
  font-size:1.125rem;
  color:var(--muted);
  margin-bottom:2rem
}
footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  padding:1.75rem 0 2.25rem;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:.875rem
}

footer>span {
  font-family:Consolas,'Courier New',monospace;
  font-size:.8125rem
}
@media(min-width:1600px) {
  h1 {
    font-size:4.35rem
  }
}
@media(max-width:1000px) {
  .hero-grid {
    grid-template-columns:minmax(0,1fr) 235px;
    gap:2rem
  }
  h1 {
    font-size:clamp(3.1rem,4.65vw,4.35rem)
  }
  .hero-note {
    padding:1.25rem
  }
  .note-statement {
    font-size:1.35rem;
    margin-top:2.5rem
  }
  .header-label {
    display:none
  }
  .thesis-grid,.territories,.ecosystem-grid {
    gap:3rem
  }
  .process li {
    padding-right:1rem
  }
  .process li+li {
    padding-left:1rem
  }
  .process h3 {
    font-size:1.08rem
  }
  .ecosystem h2 {
    font-size:clamp(2rem,3.2vw,2.8rem)
  }
}
@media(max-width:760px) {
  :root {
    --header-height:112px
  }
  .header-inner {
    grid-template-columns:1fr auto;
    gap:0 1rem;
    padding-top:.5rem;
    padding-bottom:.5rem
  }
  .header-inner nav {
    grid-row:2;
    grid-column:1/-1;
    justify-content:center
  }
  .header-inner nav a {
    min-height:44px;
    display:inline-flex;
    align-items:center
  }
  .header-cta {
    grid-row:1;
    grid-column:2;
    padding:0 1rem
  }
  
  nav {
    gap:1.6rem
  }
  nav a {
    font-size:.83rem
  }
  .hero {
    padding-top:1.5rem
  }
  .hero-top {
    display:block
  }
  .index-label {
    display:none
  }
  .eyebrow {
    font-size:.8125rem
  }
  .hero-grid {
    grid-template-columns:1fr;
    padding:2.75rem 0 2.5rem;
    gap:3rem
  }
  h1 {
    font-size:clamp(2.7rem,10vw,3.8rem);
    line-height:1.07
  }
  .hero-description {
    font-size:1rem;
    margin-top:1.75rem
  }
  .hero-note {
    max-width:none;
    margin:0;
    padding:1.25rem;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1rem
  }
  .note-label {
    grid-column:1/-1
  }
  .note-statement {
    font-size:1.35rem;
    margin-top:.5rem
  }
  .note-rule {
    display:none
  }
  .hero-note>p:not(.note-statement) {
    font-size:.875rem;
    align-self:center
  }
  .note-end {
    grid-column:1/-1;
    margin:1rem 0 0;
    font-size:.75rem
  }
  .hero-bottom {
    flex-direction:column;
    gap:.45rem;
    font-size:.75rem
  }
  .section-block {
    padding:3.75rem 0
  }
  .section-label {
    margin-bottom:2.25rem;
    flex-direction:column;
    gap:.45rem;
    font-size:.8125rem
  }
  h2 {
    font-size:clamp(2rem,3.2vw,2.8rem)
  }
  .thesis-grid,.territories,.ecosystem-grid {
    grid-template-columns:1fr;
    gap:2rem
  }
  .thesis-copy .lead {
    font-size:1.06rem
  }
  .territories {
    margin-top:2rem;
    gap:1rem
  }
  .section-heading {
    display:block
  }
  .section-heading>p {
    margin-top:1.5rem
  }
  .process {
    grid-template-columns:1fr;
    margin-top:2rem
  }
  .process li,.process li+li {
    display:grid;
    grid-template-columns:2rem 1fr;
    gap:.5rem 1rem;
    min-height:0;
    padding:1.25rem 0;
    border-right:0
  }
  .step-number {
    grid-row:1/3;
    padding-top:.4rem
  }
  .process h3 {
    margin:0;
    font-size:1.08rem
  }
  .process p {
    grid-column:2;
    max-width:none;
    font-size:.9375rem
  }
  .method-footnote {
    margin-top:1.5rem
  }
  .ecosystem h2 {
    font-size:clamp(2rem,3.2vw,2.8rem)
  }
  .ecosystem-intro {
    margin-top:1.5rem
  }
  .ecosystem-references {
    display:block;
    margin-top:2rem
  }
  .ecosystem-references ul {
    gap:1.5rem;
    font-size:1rem;
    margin-top:1.25rem
  }
  .closing {
    padding:3.75rem 0
  }
  .closing h2 {
    font-size:clamp(2rem,3.2vw,2.8rem)
  }
  footer {
    align-items:flex-start;
    flex-direction:column;
    gap:1rem;
    padding:1.75rem 0
  }
  
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
}
@media(max-width:420px) {
  h1 {
    font-size:clamp(2.7rem,10vw,3.8rem)
  }
  .hero-note {
    grid-template-columns:1fr
  }
  .hero-note>p:not(.note-statement) {
    margin-top:.25rem
  }
  .note-end {
    margin-top:.5rem
  }
}
/* Identidade em luz: onda → M → Mais Clever */
.hero-grid{grid-template-columns:minmax(0,1fr) minmax(340px,1.1fr);align-items:center;gap:2rem}.hero-copy{position:relative;z-index:2}.light-stage{position:relative;min-height:420px;isolation:isolate;background:radial-gradient(ellipse at center,#07162d88,transparent 68%)}#light-mark{display:block;width:100%;height:420px}#light-toggle{position:absolute;bottom:12px;right:12px;border:1px solid #5b9dff35;background:#0008;color:#ababaa;border-radius:6px;padding:8px 12px;font:12px Arial,sans-serif;cursor:pointer}#light-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.hero-note{grid-column:1/-1;max-width:none;display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;align-items:center;background:#090c11;border-top:1px solid #5b9dff50;padding:1.2rem 1.5rem}.hero-note .note-label{grid-column:1}.hero-note .note-statement{grid-column:2;grid-row:1/3;margin:0;font-size:1.25rem}.hero-note .note-rule{display:none}.hero-note>p:not(.note-statement){grid-column:3;grid-row:1/3}.hero-note .note-end{margin:0;grid-column:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(max-width:760px){.hero-grid{grid-template-columns:1fr;gap:1.5rem}.light-stage{min-height:270px;margin:0 -1rem}#light-mark{height:270px}.hero-note{grid-template-columns:1fr 1fr;gap:1rem}.hero-note .note-label{grid-column:1/-1}.hero-note .note-statement{grid-column:1;grid-row:auto}.hero-note>p:not(.note-statement){grid-column:2;grid-row:auto}.hero-note .note-end{grid-column:1/-1}}@media(max-width:420px){.hero-note{grid-template-columns:1fr}.hero-note>p:not(.note-statement){grid-column:1}}

/* Identidade +C: geometria conectada, sem recorte de imagem quadrada. */



#light-toggle{min-height:44px;min-width:44px;border-radius:8px}



/* Logo neon clean aprovado: recorte apenas de margens no layout. */






/* Identidade moderna: monograma vetorial e PNGs realmente transparentes. */






/* Marca atual: imagem inteira no fluxo, sem recorte ou deslocamento. */
.brand-logo{display:flex;align-items:center;width:243px;height:62px;min-height:44px;overflow:visible;flex-shrink:0}
.brand-logo img{display:block;position:static;inset:auto;transform:none;width:100%;max-width:100%;height:auto;object-fit:contain}
.footer-logo{width:235px;height:60px}
@media(max-width:760px){.brand-logo{width:186px;height:48px}.footer-logo{width:220px;height:56px}}
@media(max-width:360px){.brand-logo{width:161px;height:44px}}
