/* Authoritative final cascade: interaction polish + handset composition. */
html, body { max-width: 100%; overflow-x: clip; }

body {
  background:
    radial-gradient(circle at 100% 7%, rgb(216 59 24 / .055), transparent 28rem),
    radial-gradient(circle at 0% 72%, rgb(216 59 24 / .025), transparent 34rem),
    linear-gradient(90deg, transparent 0 49.97%, rgb(21 20 18 / .025) 50%, transparent 50.03%),
    var(--tl-color-canvas);
}

.page-head {
  opacity: 1;
  visibility: visible;
  transform: translateZ(0);
  border-bottom-color: rgb(216 59 24 / .2);
}

.page-head::before {
  background:
    radial-gradient(circle at 91% 5%, rgb(216 59 24 / .14), transparent 29%),
    linear-gradient(102deg, rgb(255 253 248 / .9), rgb(242 238 229 / .72));
}

.page-head.is-compact {
  background: rgb(242 238 229 / .985);
  box-shadow: 0 15px 44px rgb(58 48 36 / .08), inset 0 -1px rgb(255 255 255 / .75);
}

.page-nav a[aria-current="page"] {
  background: transparent;
  box-shadow: inset 0 -2px var(--tl-color-accent);
}

.work-hero__spark {
  position: relative;
  display: inline-block;
  color: var(--tl-color-accent);
  font-style: normal;
  transform-origin: center bottom;
}
.work-hero__statement h1 > span,
.work-hero__statement h1 > em {
  transition: color 420ms ease, transform 620ms var(--tl-ease-ui), letter-spacing 620ms var(--tl-ease-ui);
}
.work-hero:has(.work-hero__route[data-active-step="0"]) .work-hero__statement h1 > span:first-child { letter-spacing: -.01em; transform: translateX(-.035em); }
.work-hero:has(.work-hero__route[data-active-step="1"]) .work-hero__statement h1 > span:nth-child(2) { letter-spacing: -.045em; transform: translateX(.035em); }
.work-hero:has(.work-hero__route[data-active-step="2"]) .work-hero__statement h1 > em { color: var(--tl-color-accent); }
.work-hero:has(.work-hero__route[data-active-step="2"]) .work-hero__spark { animation: work-spark-live 1.45s var(--tl-ease-ui) infinite; }
@keyframes work-spark-live {
  0%, 100% { transform: translateY(0) scale(1); text-shadow: 0 0 0 rgb(216 59 24 / 0); }
  48% { transform: translateY(-.19em) scale(.72); text-shadow: 0 0 22px rgb(216 59 24 / .52); }
}

.signal-hero__copy::after {
  content: "";
  position: absolute;
  inset: 0 -20% 0 0;
  z-index: -1;
  background: linear-gradient(90deg, var(--tl-color-surface) 0 65%, rgb(242 238 229 / .88) 78%, transparent 100%);
  pointer-events: none;
}
.signal-wave-stage__probe { width: 76px; height: 76px; }
.signal-hero.has-captured-signal .signal-wave-stage__probe { width: 92px; height: 92px; }
.signal-wave-stage__probe::after { inset: 11px; }

.page-footer { position: relative; min-height: 92px; }
.page-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: var(--tl-page-gutter);
  width: 54px;
  height: 2px;
  background: var(--tl-color-accent);
}
.page-footer {
  background:
    radial-gradient(circle at 88% 0%, rgb(216 59 24 / .06), transparent 28%),
    linear-gradient(180deg, rgb(255 253 248 / .12), transparent 70%);
}

.page-footer__contact {
  justify-self: end;
  display: grid;
  gap: 5px;
  color: var(--tl-color-muted);
  text-align: right;
}

.page-footer__contact a {
  color: var(--tl-color-ink);
  text-decoration: none;
}

.page-footer__contact a:hover,
.page-footer__contact a:focus-visible {
  color: var(--tl-color-accent);
}

.page-footer__contact > span {
  text-align: right !important;
}

.page-inline-whatsapp {
  position: relative;
  z-index: 3;
  margin-bottom: 22px;
}

/* New portfolio records use a shared visual grammar without pretending that
   placeholder artwork is a client screenshot. */

.minor-case--nibra { background: linear-gradient(160deg, var(--tl-color-surface) 0 55%, rgb(216 59 24 / .11)); }
.minor-visual--nibra {
  display: grid;
  grid-template-rows: auto 1fr 1px 1px auto;
  gap: 13px;
  padding: 18px;
  border: 1px solid var(--tl-color-rule-strong);
  background: rgb(255 253 248 / .8);
}
.minor-visual--nibra header,
.minor-visual--nibra strong { font: 500 7px/1 var(--tl-font-mono); letter-spacing: .12em; }
.minor-visual--nibra b { font: 600 clamp(20px, 2vw, 31px)/.92 var(--tl-font-display); }
.minor-visual--nibra span { background: var(--tl-color-rule); }
.minor-visual--nibra strong { justify-self: start; padding: 10px; color: var(--tl-paper-0); background: var(--tl-color-accent); }

.minor-case--local { background: linear-gradient(135deg, rgb(216 59 24 / .12), var(--tl-color-surface) 42%); }
.minor-visual--local {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 9px 12px;
  align-content: center;
  padding: 18px;
  border: 1px solid var(--tl-color-rule-strong);
  background:
    linear-gradient(rgb(21 20 18 / .045) 1px, transparent 1px) 0 0 / 100% 28px,
    linear-gradient(90deg, rgb(21 20 18 / .04) 1px, transparent 1px) 0 0 / 28px 100%,
    rgb(255 253 248 / .82);
}
.minor-visual--local i { grid-row: 1 / 4; width: 18px; height: 18px; margin-top: 2px; border: 5px solid var(--tl-color-accent); border-radius: 50% 50% 50% 0; transform: rotate(-45deg); }
.minor-visual--local span,
.minor-visual--local b,
.minor-visual--local strong { font: 500 7px/1.3 var(--tl-font-mono); letter-spacing: .08em; }
.minor-visual--local b { font-size: 12px; }
.minor-visual--local strong { justify-self: start; padding: 9px 11px; color: var(--tl-paper-0); background: var(--tl-color-accent); }

.company-v2 .learning-result__status b,
.company-v2 .learning-result__status strong {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  text-wrap: balance;
}
.company-v2 .company-signature {
  min-height: min(740px, 82svh);
  padding-top: clamp(60px, 6vw, 92px);
  padding-bottom: clamp(56px, 6vw, 88px);
}
.company-v2 .company-section-head--responsibilities h2 span,
.company-v2 .company-section-head--responsibilities h2 em {
  position: relative;
  display: inline-block;
  transition: color 320ms ease, transform 480ms var(--tl-ease-ui), opacity 320ms ease;
}
.company-v2 .company-responsibilities[data-active-responsibility="entender"] h2 span:nth-child(1),
.company-v2 .company-responsibilities[data-active-responsibility="construir"] h2 span:nth-child(2),
.company-v2 .company-responsibilities[data-active-responsibility="continuar"] h2 em {
  color: var(--company-accent);
  transform: translateY(-.08em);
}
.company-v2 .company-section-head--responsibilities h2 span::after {
  content: "→";
  margin: 0 .18em;
  color: var(--company-accent);
  font: 400 .24em/1 var(--tl-font-mono);
  vertical-align: middle;
}

@media (max-width: 700px) {
  .page-head,
  .page-head.is-compact { height: var(--tl-header-height, 82px); }
  .page-head.is-compact::after { opacity: .18; }

  .page-hero::before {
    top: 17px;
    width: 18px;
    height: 18px;
    border-color: var(--tl-color-accent);
    opacity: .72;
  }

  .work-hero { min-height: auto; padding-bottom: 54px; }
  .work-hero__statement h1 { font-size: clamp(41px, 12.25vw, 54px); }
  .work-hero__route { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 6px; border: 1px solid var(--tl-color-rule); }
  .work-hero__route > button {
    min-width: 0;
    min-height: 62px;
    grid-template-columns: 17px minmax(0, 1fr);
    gap: 4px;
    padding: 9px 5px;
    font-size: 7.5px;
    letter-spacing: .07em;
    white-space: normal;
    overflow: hidden;
  }
  .work-hero__route > button i { font-size: 8px; }
  .work-hero__route > button span { min-width: 0; overflow-wrap: anywhere; }
  .work-hero__route > b { display: none; }
  .work-hero__route-readout { grid-column: 1 / -1; margin: 2px 5px 0; padding-top: 8px; border-top: 1px solid var(--tl-color-rule); }
  .work-hero .page-hero__register {
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: hidden;
  }
  .work-hero .page-hero__register > div {
    min-width: 0;
    padding-right: 9px;
  }
  .work-hero .page-hero__register > div + div { padding-left: 9px; }
  .work-hero .page-hero__register span { font-size: 9px; }
  .work-hero .page-hero__register b {
    max-width: 100%;
    font-size: 7.2px;
    line-height: 1.48;
    letter-spacing: .075em;
    overflow-wrap: anywhere;
  }

  .topology {
    min-height: 0;
    grid-template-rows: auto auto;
    overflow: clip;
    background: var(--tl-color-surface);
  }
  .topology__tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; width: 100%; padding: 0; overflow: hidden; }
  .topology__tabs button {
    width: 100%; min-width: 0; min-height: 112px;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    align-content: space-between;
    gap: 12px 8px;
    padding: 16px 12px 14px; border-right: 1px solid var(--tl-color-rule);
    white-space: normal; overflow-wrap: anywhere;
    font: 650 9px/1.15 var(--tl-font-sans); letter-spacing: .08em;
  }
  .topology__tabs button:last-child { border-right: 0; }
  .topology__tabs button span { font: 500 9px/1 var(--tl-font-mono); }
  .topology__tabs button small {
    grid-column: 1 / -1;
    align-self: end;
    color: currentColor;
    font: 600 9px/1.1 var(--tl-font-sans);
    letter-spacing: .09em;
    opacity: .72;
  }
  .topology__tabs button.is-active {
    transform: none;
    color: var(--tl-paper-0);
    background: var(--tl-color-accent);
    box-shadow: inset 0 -3px var(--tl-color-ink);
  }
  .topology__tabs button.is-active span,
  .topology__tabs button.is-active small { color: var(--tl-paper-0); }
  .topology__stage { min-height: 530px; }
  .topology-world { inset: 0; width: 100%; box-sizing: border-box; overflow: hidden; }
  .topology-world--seller { grid-template-columns: 1fr; gap: 18px; align-content: start; }
  .seller-inputs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .seller-inputs span { min-width: 0; }
  .seller-converge { min-height: 74px; }
  .seller-truth { width: 100%; box-sizing: border-box; font-size: clamp(23px, 8vw, 32px); }

  .signal-hero { grid-template-rows: auto auto; height: auto; }
  .signal-hero__copy::after { display: none; }
  .signal-wave-stage { min-height: 0; padding: 20px var(--tl-page-gutter) 26px; overflow: visible; }
  .signal-wave-stage::before, .signal-wave-stage::after { display: none; }
  .signal-mobile-list { position: relative; inset: auto; display: grid; grid-template-columns: 1fr; gap: 8px; width: 100%; padding: 0; overflow: visible; pointer-events: auto; }
  .signal-mobile-list button {
    width: 100%; min-width: 0; min-height: 58px;
    display: grid; grid-template-columns: 30px minmax(0, 1fr);
    align-items: center; align-content: center; gap: 10px;
    padding: 12px 14px; text-align: left; font-size: 9.5px; scroll-snap-align: none; pointer-events: auto;
  }
  .signal-mobile-list button.is-active { padding-left: 14px; }
  .signal-wave-stage__selection { position: relative; inset: auto; width: 100%; box-sizing: border-box; margin-top: 14px; grid-template-columns: minmax(0, 1fr) auto; }
  .signal-wave-stage__selection a { grid-row: auto; }

  .diagnostic__nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    width: 100%;
    padding: 0;
    overflow: hidden;
  }
  .diagnostic__nav button {
    width: 100%;
    min-width: 0;
    min-height: 66px;
    grid-template-columns: 24px minmax(0, 1fr);
    padding: 11px 9px;
    border-right: 1px solid var(--tl-color-rule);
    border-bottom: 1px solid var(--tl-color-rule);
    font-size: 7px;
    letter-spacing: .05em;
    overflow-wrap: anywhere;
  }
  .diagnostic__nav button:last-child { grid-column: 1 / -1; }

  .company-v2 { overflow-x: clip; }
  .company-v2 .formation-console { width: 100%; box-sizing: border-box; overflow: hidden; }
  .company-v2 .formation-console__steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); width: 100%; padding: 0; overflow: hidden; scroll-snap-type: none; }
  .company-v2 .formation-step { min-width: 0; }
  .company-v2 .formation-step > button { min-width: 0; min-height: 58px; display: grid; grid-template-columns: 1fr; place-items: center; gap: 4px; padding: 8px 2px; text-align: center; }
  .company-v2 .formation-step > button > b { font-size: 7px; }
  .company-v2 .formation-step > button > span { display: block; max-width: 100%; font-size: 5.7px; letter-spacing: .035em; overflow-wrap: anywhere; }
  .company-v2 .formation-step > button small { display: none; }
  .company-v2 .formation-step.is-active > button { padding-left: 2px; }
  .company-v2 .formation-records { min-width: 0; }

  .company-v2 .company-learning {
    border-top: 1px solid var(--company-rule);
    background:
      radial-gradient(circle at 50% 0, rgb(216 59 24 / .055), transparent 190px),
      var(--tl-color-surface);
  }
  .company-v2 .learning-machine {
    gap: 14px;
    border: 0;
    background: transparent;
    box-shadow: none;
  }
  .company-v2 .learning-machine__list {
    padding: 10px 18px;
    border: 1px solid var(--company-rule);
    background: linear-gradient(135deg, rgb(216 59 24 / .045), var(--company-sheet) 42%);
  }
  .company-v2 .learning-result {
    grid-template-columns: 1fr;
    grid-template-rows: auto 46px auto auto auto;
    gap: 12px;
    min-height: 0;
    padding: 18px;
    border: 1px solid var(--company-rule-strong);
    background:
      radial-gradient(circle at 100% 0%, rgb(216 59 24 / .09), transparent 38%),
      var(--company-sheet);
  }
  .company-v2 .learning-result__status {
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
    padding: 20px;
    border: 1px solid var(--company-rule);
    background: rgb(255 253 248 / .84);
  }
  .company-v2 .learning-result__status--after {
    border-color: var(--company-accent);
    background: rgb(216 59 24 / .055);
  }
  .company-v2 .learning-result__status b,
  .company-v2 .learning-result__status strong { display: block; overflow-wrap: normal; font-size: clamp(23px, 7.8vw, 32px); line-height: .96; }
  .company-v2 .learning-result__transform { min-height: 46px; transform: none; }
  .company-v2 .learning-result__transform::before { width: 1px; height: 100%; }
  .company-v2 .learning-result__transform span:first-child { top: 0; left: 50%; }
  .company-v2 .learning-result__transform span:last-child { right: auto; bottom: 0; left: 50%; }
  .company-v2 .learning-result__transform i { width: 32px; height: 1px; }
  .company-v2 .learning-result > p { font-size: 14px; line-height: 1.45; }

  .company-v2 .company-section-head--responsibilities h2 span,
  .company-v2 .company-section-head--responsibilities h2 em { display: block; }
  .company-v2 .company-section-head--responsibilities h2 span::after { position: absolute; top: 50%; right: .1em; margin: 0; transform: translateY(-50%); }
  .company-v2 .company-signature { min-height: auto; gap: 34px; padding-top: 58px; padding-bottom: 58px; }
  .company-v2 .company-signature__closing { order: 1; }
  .company-v2 .company-signature__founder { order: 2; width: 100%; }
  .company-v2 .company-signature__portrait-slot { min-height: 230px; margin-bottom: 14px; }
  .company-v2 .company-signature__portrait-slot > strong { font-size: 132px; }
  .company-v2 .company-signature__founder blockquote { margin-top: 12px; font-size: 28px; }
  .company-v2 .company-signature__word { top: 3%; font-size: 28vw; }

  .minor-visual--nibra,
  .minor-visual--local { height: 31%; }

  .page-footer { grid-template-columns: 1fr auto; min-height: 108px; gap: 8px 18px; padding-top: 28px; }
  .page-footer span:nth-child(2) { grid-column: 1 / -1; grid-row: 2; max-width: 34ch; text-align: left; }
  .page-footer__contact { text-align: right; }
}

@media (max-width: 760px) {
  .page-footer__contact {
    align-self: center;
    font-size: 7px;
  }
}

.case-carousel-nav { display: none; }
.case-carousel-nav[hidden] { display: none; }

@media (max-width: 700px) {
  .case-ledger {
    --case-slide-width: min(84vw, 580px);
    width: calc(100% + (var(--tl-page-gutter) * 2));
    margin-inline: calc(var(--tl-page-gutter) * -1);
    display: flex;
    align-items: stretch;
    gap: 14px;
    padding: 24px calc((100vw - var(--case-slide-width)) / 2) 34px;
    box-sizing: border-box;
    overflow-x: auto;
    overflow-y: clip;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: calc((100vw - var(--case-slide-width)) / 2);
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    perspective: 1100px;
    border: 0;
    background:
      linear-gradient(90deg, rgb(216 59 24 / .07), transparent 12%, transparent 88%, rgb(216 59 24 / .07)),
      transparent;
  }
  .case-ledger::-webkit-scrollbar { display: none; }
  .case-ledger .case {
    flex: 0 0 var(--case-slide-width);
    min-width: 0;
    min-height: 760px;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto minmax(300px, 1fr);
    scroll-snap-align: center;
    scroll-snap-stop: always;
    transform-style: preserve-3d;
    transform-origin: 50% 50%;
    will-change: transform, opacity;
    opacity: var(--case-opacity, .72);
    transform:
      translate3d(var(--case-shift, 0px), 0, var(--case-depth, -58px))
      rotateY(var(--case-tilt, 0deg))
      scale(var(--case-scale, .95));
    border: 1px solid var(--tl-color-rule-strong);
    background:
      radial-gradient(circle at 100% 0%, rgb(216 59 24 / .08), transparent 34%),
      var(--tl-color-surface);
    box-shadow: 0 20px 50px rgb(25 20 16 / .08);
    transition: box-shadow 260ms ease, border-color 260ms ease;
  }
  .case-ledger .case[hidden] { display: none; }
  .case-ledger .case.is-carousel-active {
    border-color: rgb(216 59 24 / .46);
    box-shadow: 0 26px 70px rgb(25 20 16 / .15), 0 0 0 1px rgb(216 59 24 / .08);
  }
  .case-ledger .case__copy {
    min-width: 0;
    padding: 28px 24px 24px;
    border-right: 0;
    border-bottom: 1px solid var(--tl-color-rule);
  }
  .case-ledger .case__copy h3 {
    margin-block: 28px 18px;
    font-size: clamp(48px, 15vw, 70px);
    line-height: .88;
  }
  .case-ledger .case__copy > p {
    max-width: 31ch;
    font-size: 15px;
    line-height: 1.52;
  }
  .case-ledger .case__facts {
    margin-top: 24px;
    gap: 0;
  }
  .case-ledger .case__facts span {
    min-height: 34px;
    display: flex;
    align-items: center;
    padding-block: 7px;
    font-size: 7.5px;
    line-height: 1.35;
  }
  .case-ledger .case__system {
    min-width: 0;
    min-height: 320px;
    padding: 22px 18px;
    overflow: hidden;
  }
  .case-ledger .case--seller .case__system {
    min-height: 470px;
    padding: 24px 18px;
  }
  .case-ledger .case--seller .system-map {
    width: 100%;
    min-height: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto auto auto;
    gap: 10px;
    transform: none;
  }
  .case-ledger .case--seller .sys-line { display: none; }
  .case-ledger .case--seller .sys-node {
    position: relative;
    inset: auto;
    min-width: 0;
    min-height: 86px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 13px 12px;
    overflow-wrap: anywhere;
    transform: none;
    font-size: 7px;
    line-height: 1.45;
  }
  .case-ledger .case--seller .sys-node b {
    margin-bottom: 7px;
    font-size: 13px;
    line-height: 1.05;
  }
  .case-ledger .case--seller .sys-node--a,
  .case-ledger .case--seller .sys-node--b { grid-row: 1; }
  .case-ledger .case--seller .sys-node--core {
    grid-column: 1 / -1;
    grid-row: 2;
    min-height: 106px;
    padding-inline: 18px;
    background: rgb(232 239 228 / .92);
  }
  .case-ledger .case--seller .sys-node--c,
  .case-ledger .case--seller .sys-node--d { grid-row: 3; }
  .case-carousel-nav {
    width: 100%;
    min-height: 62px;
    display: grid;
    grid-template-columns: auto minmax(110px, 1fr) auto;
    align-items: center;
    gap: 14px;
    margin-top: 4px;
    border-block: 1px solid var(--tl-color-rule);
  }
  .case-carousel-nav button {
    min-height: 62px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--tl-color-ink);
    font: 600 8px/1 var(--tl-font-mono);
    letter-spacing: .15em;
  }
  .case-carousel-nav button:disabled { opacity: .28; }
  .case-carousel-nav__meter {
    display: grid;
    grid-template-columns: auto minmax(36px, 1fr) auto;
    align-items: center;
    gap: 9px;
    color: var(--tl-color-accent);
    font: 600 8px/1 var(--tl-font-mono);
    letter-spacing: .12em;
  }
  .case-carousel-nav__meter i {
    position: relative;
    height: 1px;
    overflow: hidden;
    background: var(--tl-color-rule-strong);
  }
  .case-carousel-nav__meter b {
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--case-progress, 33.333%);
    background: var(--tl-color-accent);
    transition: width 280ms cubic-bezier(.22, .78, .28, 1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .work-hero__spark { animation: none !important; }
  .case-ledger .case { transform: none !important; opacity: 1 !important; }
}

/* Return archive — contextual proof instead of generic testimonials */
.return-archive-section {
  position: relative;
  padding: var(--tl-section-space) var(--tl-page-gutter);
  overflow: hidden;
  border-block: 1px solid var(--tl-color-rule);
  background:
    linear-gradient(115deg, rgb(216 59 24 / .075), transparent 25%),
    linear-gradient(90deg, transparent 49.95%, var(--tl-color-rule) 50%, transparent 50.05%),
    var(--tl-color-paper);
}

.return-archive-section::before {
  content: "RETORNO";
  position: absolute;
  right: -0.06em;
  top: .1em;
  color: rgb(21 20 18 / .025);
  font: 600 clamp(150px, 23vw, 420px)/.75 var(--tl-font-display);
  letter-spacing: -.07em;
  pointer-events: none;
}

.return-archive-section__head {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, .55fr);
  gap: clamp(40px, 8vw, 140px);
  align-items: end;
  margin-bottom: clamp(58px, 7vw, 112px);
}

.return-archive-section__head .eyebrow { grid-column: 1 / -1; }

.return-archive-section__head h2 {
  max-width: 10ch;
  margin: 0;
  font: 600 clamp(66px, 7.5vw, 142px)/.82 var(--tl-font-display);
  letter-spacing: -.065em;
}

.return-archive-section__head h2 em {
  color: var(--tl-color-accent);
  font-weight: inherit;
}

.return-archive-section__head > p:last-child {
  max-width: 38ch;
  margin: 0 0 12px;
  color: var(--tl-color-muted);
  font: 400 clamp(17px, 1.25vw, 22px)/1.55 var(--tl-font-sans);
}

.return-archive {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(250px, .34fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 76px);
  align-items: start;
}

.return-archive__index {
  border-top: 1px solid var(--tl-color-ink);
}

.return-archive__index button {
  position: relative;
  width: 100%;
  min-height: 132px;
  display: grid;
  grid-template-columns: 30px 1fr;
  grid-template-rows: auto auto auto;
  gap: 7px 14px;
  align-content: center;
  padding: 24px 20px;
  overflow: hidden;
  border: 0;
  border-bottom: 1px solid var(--tl-color-rule);
  background: transparent;
  color: var(--tl-color-ink);
  text-align: left;
  cursor: pointer;
  transition: color 220ms ease, background 220ms ease;
}

.return-archive__index button::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--tl-color-accent);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 260ms cubic-bezier(.22, .78, .28, 1);
}

.return-archive__index button span {
  grid-row: 1 / 4;
  color: var(--tl-color-accent);
  font: 500 10px/1 var(--tl-font-mono);
}

.return-archive__index button strong,
.return-archive__index button small,
.return-archive__index button i {
  grid-column: 2;
  font-family: var(--tl-font-mono);
  font-style: normal;
  letter-spacing: .13em;
}

.return-archive__index button strong { font-size: 13px; line-height: 1; }
.return-archive__index button small { color: var(--tl-color-muted); font-size: 9px; line-height: 1.2; }
.return-archive__index button i { color: var(--tl-color-muted); font-size: 7px; line-height: 1.2; opacity: .62; }

.return-archive__index button:hover,
.return-archive__index button:focus-visible { background: rgb(216 59 24 / .055); }

.return-archive__index button.is-active {
  background: var(--tl-color-ink);
  color: var(--tl-color-surface);
}

.return-archive__index button.is-active::before { transform: scaleY(1); }
.return-archive__index button.is-active small,
.return-archive__index button.is-active i { color: rgb(251 250 246 / .66); }

.return-archive__stage {
  min-width: 0;
  perspective: 1600px;
  touch-action: pan-y;
}

.return-record {
  position: relative;
  min-height: 560px;
}

.return-record__inner {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
  transition: transform 720ms cubic-bezier(.18, .78, .24, 1);
}

.return-record.is-original .return-record__inner { transform: rotateY(180deg); }

.return-record__face {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  gap: clamp(28px, 4vw, 54px);
  padding: clamp(30px, 3.3vw, 58px);
  overflow: hidden;
  border: 1px solid var(--tl-color-rule-strong);
  background:
    linear-gradient(var(--tl-color-rule) 1px, transparent 1px),
    linear-gradient(90deg, var(--tl-color-rule) 1px, transparent 1px),
    var(--tl-color-surface);
  background-size: 56px 56px;
  box-shadow: 0 28px 58px rgb(21 20 18 / .11);
  backface-visibility: hidden;
}

.return-record__face::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 -18%;
  z-index: 2;
  width: 16%;
  background: linear-gradient(90deg, transparent, rgb(216 59 24 / .15), transparent);
  opacity: 0;
  pointer-events: none;
}

.return-record.is-active:not(.is-original) .return-record__face--front::before {
  animation: return-scan 860ms cubic-bezier(.22, .78, .28, 1) both;
}

@keyframes return-scan {
  0% { left: -18%; opacity: 0; }
  18% { opacity: 1; }
  100% { left: 108%; opacity: 0; }
}

.return-record__face--back {
  transform: rotateY(180deg);
  pointer-events: none;
  color: var(--tl-color-surface);
  background:
    linear-gradient(rgb(251 250 246 / .06) 1px, transparent 1px),
    linear-gradient(90deg, rgb(251 250 246 / .06) 1px, transparent 1px),
    var(--tl-color-ink);
  background-size: 56px 56px;
}

.return-record.is-original .return-record__face--front { pointer-events: none; }
.return-record.is-original .return-record__face--back { pointer-events: auto; }

.return-record__face > header,
.return-record__face > footer {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  font: 500 9px/1.3 var(--tl-font-mono);
  letter-spacing: .16em;
}

.return-record__face > header {
  padding-bottom: 18px;
  border-bottom: 1px solid currentColor;
}

.return-record__face > header b { color: var(--tl-color-accent); font-weight: 500; }

.return-record__title,
.return-record__face--back > div {
  position: relative;
  z-index: 1;
  align-self: center;
}

.return-record__title small,
.return-record__face--back > div small {
  display: block;
  margin-bottom: 15px;
  color: var(--tl-color-accent);
  font: 500 9px/1.2 var(--tl-font-mono);
  letter-spacing: .17em;
}

.return-record__title h3,
.return-record__face--back h3 {
  max-width: 12ch;
  margin: 0;
  font: 600 clamp(50px, 4.7vw, 88px)/.88 var(--tl-font-display);
  letter-spacing: -.055em;
}

.return-record__face--back h3 { color: var(--tl-color-accent); }

.return-record__face--back p {
  max-width: 48ch;
  margin: 24px 0 0;
  color: rgb(251 250 246 / .72);
  font: 400 16px/1.58 var(--tl-font-sans);
}

.return-record dl {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  border-block: 1px solid var(--tl-color-rule-strong);
}

.return-record dl div {
  min-width: 0;
  padding: 20px 22px;
}

.return-record dl div + div { border-left: 1px solid var(--tl-color-rule); }

.return-record dt {
  margin-bottom: 10px;
  color: var(--tl-color-accent);
  font: 500 8px/1.2 var(--tl-font-mono);
  letter-spacing: .15em;
}

.return-record dd {
  margin: 0;
  color: var(--tl-color-muted);
  font: 400 13px/1.45 var(--tl-font-sans);
}

.return-record__face > footer {
  min-height: 46px;
}

.return-record__face > footer span { color: var(--tl-color-muted); }

.return-record__face > footer button {
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid currentColor;
  background: transparent;
  color: inherit;
  font: 500 8px/1 var(--tl-font-mono);
  letter-spacing: .14em;
  cursor: pointer;
}

.return-record__face > footer button:hover,
.return-record__face > footer button:focus-visible {
  border-color: var(--tl-color-accent);
  color: var(--tl-color-accent);
}

.return-archive__controls {
  min-height: 64px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  margin-top: 18px;
  border-block: 1px solid var(--tl-color-rule);
}

.return-archive__controls button {
  height: 100%;
  padding: 0 18px;
  border: 0;
  background: transparent;
  color: var(--tl-color-ink);
  font: 500 8px/1 var(--tl-font-mono);
  letter-spacing: .15em;
  cursor: pointer;
}

.return-archive__controls button:first-child { text-align: left; }
.return-archive__controls button:last-child { text-align: right; }
.return-archive__controls button:hover,
.return-archive__controls button:focus-visible { color: var(--tl-color-accent); }

.return-archive__controls span {
  color: var(--tl-color-muted);
  font: 500 9px/1 var(--tl-font-mono);
  letter-spacing: .12em;
}

.return-archive__controls span b { color: var(--tl-color-accent); font-weight: 500; }

@media (max-width: 900px) {
  .return-archive-section {
    padding: 90px var(--tl-page-gutter);
    background:
      linear-gradient(145deg, rgb(216 59 24 / .065), transparent 22%),
      var(--tl-color-paper);
  }

  .return-archive-section::before {
    top: 2.4em;
    right: -.12em;
    font-size: 34vw;
  }

  .return-archive-section__head {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-bottom: 52px;
  }

  .return-archive-section__head .eyebrow { grid-column: auto; }

  .return-archive-section__head h2 {
    max-width: 9ch;
    font-size: clamp(52px, 14vw, 78px);
    line-height: .86;
  }

  .return-archive-section__head > p:last-child {
    max-width: 34ch;
    margin: 0;
    font-size: 16px;
    line-height: 1.55;
  }

  .return-archive { grid-template-columns: 1fr; gap: 20px; }

  .return-archive__index {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--tl-color-rule-strong);
  }

  .return-archive__index button {
    min-width: 0;
    min-height: 116px;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 10px;
    padding: 18px 12px;
    border-bottom: 0;
  }

  .return-archive__index button + button { border-left: 1px solid var(--tl-color-rule); }
  .return-archive__index button::before { inset: auto 0 0; width: auto; height: 4px; transform: scaleX(0); transform-origin: left; }
  .return-archive__index button.is-active::before { transform: scaleX(1); }
  .return-archive__index button span { grid-row: auto; font-size: 9px; }
  .return-archive__index button strong,
  .return-archive__index button small { grid-column: auto; }
  .return-archive__index button strong { font-size: 10px; }
  .return-archive__index button small { font-size: 7px; }
  .return-archive__index button i { display: none; }

  .return-record { min-height: 690px; }

  .return-record__face {
    grid-template-rows: auto 1fr auto auto;
    gap: 26px;
    padding: 24px 20px;
    background-size: 44px 44px;
    box-shadow: 0 20px 40px rgb(21 20 18 / .1);
  }

  .return-record__face > header {
    align-items: flex-start;
    padding-bottom: 14px;
    font-size: 7px;
    letter-spacing: .12em;
  }

  .return-record__face > header b { max-width: 14ch; text-align: right; }

  .return-record__title,
  .return-record__face--back > div { align-self: center; }

  .return-record__title h3,
  .return-record__face--back h3 {
    max-width: 10ch;
    font-size: clamp(44px, 12vw, 62px);
    line-height: .9;
  }

  .return-record dl {
    grid-template-columns: 1fr;
    border-bottom: 0;
  }

  .return-record dl div { padding: 13px 4px; }
  .return-record dl div + div { border-left: 0; border-top: 1px solid var(--tl-color-rule); }
  .return-record dt { margin-bottom: 6px; font-size: 7px; }
  .return-record dd { max-width: 36ch; font-size: 12px; line-height: 1.4; }

  .return-record__face > footer {
    align-items: stretch;
    flex-direction: column;
    font-size: 7px;
  }

  .return-record__face > footer button { width: 100%; min-height: 48px; }
  .return-record__face--back p { font-size: 14px; }

  .return-archive__controls { min-height: 58px; margin-top: 10px; }
  .return-archive__controls button { padding: 0 8px; font-size: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  .return-record__inner { transition: none; }
  .return-record.is-active:not(.is-original) .return-record__face--front::before { animation: none; }
}

/* ==================================================================
   MOBILE POLISH / ROUND 3
   Active menu marking, denser topology, compact return archive,
   centered signal selection and the empresa hero accent.
   ================================================================== */

/* 01 · The page you are on stays marked inside the mobile menu panel. */
.page-menu-panel a[aria-current="page"] {
  padding-left: 12px;
  color: var(--tl-color-accent);
  box-shadow: inset 3px 0 var(--tl-color-accent);
}

/* Broken glyphs in the route readout flash in vermilion while the phrase
   repairs itself (see paintWorkReadout in page.js). The wrapping span must
   escape .work-hero__route span's grid styling meant for the step buttons. */
.work-hero__route-readout span {
  display: inline;
  gap: 0;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  white-space: normal;
}

.work-hero__route-readout b {
  color: var(--tl-color-accent);
  font-weight: inherit;
  font-style: normal;
}

.page-menu-panel a[aria-current="page"]::after {
  content: "←";
  float: right;
  color: var(--tl-color-accent);
  font-size: 12px;
  line-height: 1;
  opacity: .75;
}

@media (max-width: 700px) {
  /* 02 · Topology: tabs without the tall dead band … */
  .topology__tabs button {
    min-height: 0;
    grid-template-rows: auto;
    align-content: start;
    gap: 6px 8px;
    padding: 13px 10px 12px;
  }

  .topology__tabs button small {
    align-self: start;
    margin-top: 1px;
    font-size: 8px;
  }

  /* … and each world sizes its own stage, so Sellerdata stops floating
     over a tall empty green field. */
  .topology__stage { min-height: 0; }

  .topology-world {
    position: relative;
    inset: auto;
    padding: 22px 16px 20px;
  }

  .topology-world > p {
    position: static;
    max-width: none;
    margin: 16px 0 0;
    font-size: 12.5px;
  }

  .seller-inputs { gap: 8px; }

  .seller-inputs span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 8px 6px;
    font-size: 8px;
    letter-spacing: .08em;
  }

  /* The convergence drawing returns (compact): sources visibly feed the
     financial truth instead of leaving a hole between the two. */
  .seller-converge {
    display: grid;
    min-height: 0;
    margin: 2px 0;
  }

  .seller-converge i { height: 46px; }

  .seller-truth {
    padding: 24px 18px;
    text-align: center;
  }

  /* 05/06 · Signal selection reads as one centered instruction card. */
  .signal-wave-stage__selection {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 9px;
    padding: 16px 14px;
    text-align: center;
  }

  .signal-wave-stage__selection span { font-size: 7px; }

  .signal-wave-stage__selection strong {
    font-size: 10px;
    letter-spacing: .1em;
    line-height: 1.4;
  }

  .signal-wave-stage__selection [data-signal-reset] {
    grid-column: auto;
    grid-row: auto;
    justify-self: center;
    font-size: 7px;
  }

  .signal-wave-stage__selection a {
    grid-column: auto;
    grid-row: auto;
    padding: 9px 14px;
    border: 1px solid var(--tl-color-rule);
    font-size: 7.5px;
  }

  .signal-wave-stage.has-selection .signal-wave-stage__selection a {
    border-color: var(--tl-color-accent);
    color: var(--tl-color-accent);
  }

  /* 07 · Empresa hero: a print-room ornament on the right edge — a
     registration crosshair, a plumb line that fades and a short halftone
     row. Pure drawing, no words: the hero's index div becomes the canvas. */
  .company-v2 .company-v2-hero { position: relative; }

  .company-v2 .company-v2-hero__index {
    display: block;
    top: 94px;
    right: 13px;
    bottom: auto;
    left: auto;
    width: 28px;
    height: 158px;
    overflow: visible;
    color: transparent;
    font-size: 0;
    letter-spacing: 0;
    pointer-events: none;
    background:
      radial-gradient(circle, rgb(216 59 24 / .5) 1px, transparent 1.5px)
      center bottom / 7px 7px repeat-x;
    background-size: 7px 7px;
  }

  .company-v2 .company-v2-hero__index::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 24px;
    height: 24px;
    border: 1px solid rgb(216 59 24 / .78);
    border-radius: 50%;
    background:
      linear-gradient(rgb(216 59 24 / .78), rgb(216 59 24 / .78)) center / 1px 100% no-repeat,
      linear-gradient(rgb(216 59 24 / .78), rgb(216 59 24 / .78)) center / 100% 1px no-repeat;
    transform: translateX(-50%);
  }

  .company-v2 .company-v2-hero__index::after {
    content: "";
    position: absolute;
    top: 34px;
    bottom: 16px;
    left: 50%;
    width: 1px;
    background: linear-gradient(rgb(216 59 24 / .8), rgb(216 59 24 / 0));
  }
}

@media (max-width: 900px) {
  /* 03 · Return archive: the record breathes but no longer forces a
     690px-tall card — content sets the height. On handsets the 3D flip
     becomes a crossfade: iOS Safari mis-renders preserve-3d with in-flow
     faces (the front bleeds through mirrored), so mobile gets a flat,
     reliable reveal while desktop keeps the true flip. */
  .return-record { min-height: 0; }

  .return-record__inner {
    position: relative;
    inset: auto;
    display: grid;
    transform-style: flat;
  }

  .return-record.is-original .return-record__inner { transform: none; }

  .return-record__face {
    position: relative;
    inset: auto;
    grid-area: 1 / 1;
    gap: 16px;
    padding: 22px 18px 20px;
    backface-visibility: visible;
    transition: opacity 300ms ease, visibility 0s linear 300ms;
  }

  .return-record__face--back {
    transform: none;
    opacity: 0;
    visibility: hidden;
  }

  .return-record.is-original .return-record__face--back {
    opacity: 1;
    visibility: visible;
    transition-delay: 0s, 0s;
  }

  .return-record.is-original .return-record__face--front {
    opacity: 0;
    visibility: hidden;
  }

  .return-record__title h3 {
    font-size: clamp(30px, 8.6vw, 42px);
    line-height: .92;
  }

  .return-record__title small,
  .return-record__face--back > div small { margin-bottom: 9px; }

  .return-record dl div { padding: 10px 2px; }
  .return-record dt { margin-bottom: 4px; }
  .return-record dd { font-size: 11px; line-height: 1.38; }
  .return-record__face > footer { gap: 9px; }
  .return-record__face > footer button { min-height: 46px; }

  /* 04 · The grid paper recedes: guide, not competitor, next to the
     real separation rules. */
  .return-record__face {
    background:
      linear-gradient(rgb(21 20 18 / .05) 1px, transparent 1px),
      linear-gradient(90deg, rgb(21 20 18 / .05) 1px, transparent 1px),
      var(--tl-color-surface);
    background-size: 46px 46px;
  }

  .return-record__face--back {
    background:
      linear-gradient(rgb(251 250 246 / .05) 1px, transparent 1px),
      linear-gradient(90deg, rgb(251 250 246 / .05) 1px, transparent 1px),
      var(--tl-color-ink);
    background-size: 46px 46px;
  }
}

/* ==================================================================
   MOBILE POLISH / ROUND 4 — centered closing statements
   ================================================================== */

@media (max-width: 700px) {
  /* Trabalho: the "Registro 11" closing statement reads as one centered
     editorial plate instead of hugging the left with a dead right column. */
  .work-register__copy {
    text-align: center;
  }

  .work-register__copy .eyebrow { justify-content: center; }

  .work-register__copy h2,
  .work-register__copy > p:last-child {
    margin-inline: auto;
  }
}

@media (max-width: 900px) {
  /* Return archive: title block centered inside the record card. */
  .return-record__title,
  .return-record__face--back > div {
    text-align: center;
  }

  .return-record__title h3,
  .return-record__face--back h3 {
    max-width: none;
    margin-inline: auto;
    font-size: clamp(27px, 7.6vw, 38px);
  }

  .return-record__face--back p { margin-inline: auto; }

  .return-record__face > footer span { text-align: center; }
}

/* ==================================================================
   ARQUIVO DE REGISTROS — prateleira, fichas e dossiê sob demanda
   ================================================================== */

.section-head--vitrine { margin-top: clamp(46px, 6vw, 92px); }

.archive__head { max-width: 880px; }

.archive__head > p:last-of-type { max-width: 52ch; color: var(--tl-color-muted); line-height: 1.6; }

.archive__counters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, auto));
  justify-content: start;
  gap: clamp(22px, 4vw, 64px);
  margin-top: 26px;
  padding-top: 18px;
  border-top: 1px solid var(--tl-color-rule);
}

.archive__counters span {
  display: block;
  color: var(--tl-color-accent);
  font: 600 clamp(26px, 2.6vw, 40px)/1 var(--tl-font-display);
}

.archive__counters b {
  display: block;
  margin-top: 7px;
  color: var(--tl-color-muted);
  font: 500 7.5px/1.4 var(--tl-font-mono);
  letter-spacing: .14em;
}

.archive__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 30px 0 22px;
}

.archive__filters button {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 12px 15px;
  border: 1px solid var(--tl-color-rule-strong);
  background: var(--tl-color-surface);
  color: var(--tl-color-ink);
  font: 500 8.5px/1 var(--tl-font-mono);
  letter-spacing: .12em;
  cursor: pointer;
  transition: background 200ms ease, color 200ms ease, border-color 200ms ease;
}

.archive__filters button i {
  color: var(--tl-color-accent);
  font-style: normal;
  font-size: 7.5px;
}

.archive__filters button:hover { border-color: var(--tl-color-accent); }

.archive__filters button.is-active {
  background: var(--tl-color-ink);
  border-color: var(--tl-color-ink);
  color: var(--tl-paper-0);
}

.archive__filters button.is-active i { color: var(--tl-color-accent); }

.archive__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 12px;
}

.ficha {
  position: relative;
  display: grid;
  grid-template-rows: auto auto auto 1fr auto;
  gap: 9px;
  min-height: 218px;
  padding: 18px 17px 15px;
  border: 1px solid var(--tl-color-rule-strong);
  background: var(--tl-color-surface);
  color: var(--tl-color-ink);
  text-align: left;
  cursor: pointer;
  transition: transform 260ms var(--tl-ease-ui), box-shadow 260ms ease, border-color 200ms ease;
}

.ficha:hover,
.ficha:focus-visible {
  border-color: var(--tl-color-accent);
  box-shadow: 0 16px 34px rgb(21 20 18 / .1);
  transform: translateY(-3px);
  outline: none;
}

.ficha[hidden] { display: none; }

.ficha__top {
  display: flex;
  align-items: center;
  gap: 10px;
}

.ficha__num {
  color: var(--tl-color-accent);
  font: 500 10px/1 var(--tl-font-mono);
  letter-spacing: .1em;
}

.ficha__depth {
  padding: 4px 6px 3px;
  background: var(--tl-color-accent);
  color: var(--tl-paper-0);
  font: 500 6px/1 var(--tl-font-mono);
  letter-spacing: .13em;
}

.ficha__mark { position: relative; width: 30px; height: 18px; margin-left: auto; opacity: .85; }

.ficha[data-mark="grid"] .ficha__mark {
  background: radial-gradient(circle, var(--tl-color-accent) 1.5px, transparent 2px) 0 0 / 8px 8px;
}

.ficha[data-mark="bars"] .ficha__mark {
  background:
    linear-gradient(var(--tl-color-ink), var(--tl-color-ink)) 2px bottom / 4px 8px no-repeat,
    linear-gradient(var(--tl-color-ink), var(--tl-color-ink)) 11px bottom / 4px 13px no-repeat,
    linear-gradient(var(--tl-color-accent), var(--tl-color-accent)) 20px bottom / 4px 18px no-repeat;
}

.ficha[data-mark="flow"] .ficha__mark::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 22px;
  height: 1.5px;
  background: var(--tl-color-accent);
}

.ficha[data-mark="flow"] .ficha__mark::after {
  content: "";
  position: absolute;
  right: 2px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-top: 1.5px solid var(--tl-color-accent);
  border-right: 1.5px solid var(--tl-color-accent);
  transform: translateY(-50%) rotate(45deg);
}

.ficha[data-mark="target"] .ficha__mark::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 15px;
  height: 15px;
  border: 1.5px solid var(--tl-color-accent);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.ficha[data-mark="target"] .ficha__mark::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 4px;
  height: 4px;
  background: var(--tl-color-ink);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.ficha[data-mark="pin"] .ficha__mark::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 1px;
  width: 12px;
  height: 12px;
  border: 3.5px solid var(--tl-color-accent);
  border-radius: 50% 50% 50% 0;
  transform: translateX(-50%) rotate(-45deg);
}

.ficha[data-mark="doc"] .ficha__mark::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 13px;
  height: 17px;
  border: 1.5px solid var(--tl-color-ink);
  background:
    linear-gradient(var(--tl-color-accent), var(--tl-color-accent)) 2.5px 3px / 6px 1.5px no-repeat,
    linear-gradient(var(--tl-color-rule-strong), var(--tl-color-rule-strong)) 2.5px 7px / 6px 1.5px no-repeat,
    linear-gradient(var(--tl-color-rule-strong), var(--tl-color-rule-strong)) 2.5px 11px / 6px 1.5px no-repeat;
}

.ficha__name { font: 600 clamp(19px, 1.7vw, 24px)/1 var(--tl-font-display); letter-spacing: -.02em; }

.ficha__kicker {
  color: var(--tl-color-accent);
  font: 500 7px/1.2 var(--tl-font-mono);
  letter-spacing: .15em;
}

.ficha__line { color: var(--tl-color-muted); font: 400 12.5px/1.5 var(--tl-font-sans); }

.ficha__foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding-top: 11px;
  border-top: 1px solid var(--tl-color-rule);
  color: var(--tl-color-muted);
  font: 500 6.5px/1.4 var(--tl-font-mono);
  letter-spacing: .1em;
}

.ficha__foot b { color: var(--tl-color-accent); font-weight: 500; white-space: nowrap; }

.archive__noscript { color: var(--tl-color-muted); font: 400 13px/1.6 var(--tl-font-sans); }

/* ------- dossiê ------- */

html.dossier-lock,
html.dossier-lock body { overflow: hidden; }

.dossier { position: fixed; inset: 0; z-index: 60; }

.dossier[hidden] { display: none; }

.dossier__veil {
  position: absolute;
  inset: 0;
  background: rgb(21 20 18 / .46);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.dossier__panel {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: min(720px, calc(100vw - 48px));
  max-height: min(86vh, 86svh);
  padding: clamp(24px, 3vw, 44px);
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--tl-color-surface);
  border: 1px solid var(--tl-color-rule-strong);
  box-shadow: 0 34px 80px rgb(21 20 18 / .3), inset 3px 0 var(--tl-color-accent);
  transform: translate(-50%, -50%);
  outline: none;
}

.dossier__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 22px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--tl-color-rule-strong);
}

.dossier__stamp {
  color: var(--tl-color-accent);
  font: 500 9px/1 var(--tl-font-mono);
  letter-spacing: .18em;
}

.dossier__close {
  padding: 10px 12px;
  border: 1px solid var(--tl-color-rule-strong);
  background: transparent;
  color: var(--tl-color-ink);
  font: 500 7.5px/1 var(--tl-font-mono);
  letter-spacing: .12em;
  cursor: pointer;
}

.dossier__close:hover { border-color: var(--tl-color-accent); color: var(--tl-color-accent); }

.dossier__kicker {
  margin: 0 0 8px;
  color: var(--tl-color-accent);
  font: 500 8px/1.2 var(--tl-font-mono);
  letter-spacing: .17em;
}

.dossier__name { margin: 0 0 9px; font: 600 clamp(30px, 4.4vw, 46px)/.95 var(--tl-font-display); letter-spacing: -.03em; }

.dossier__line { margin: 0 0 15px; color: var(--tl-color-muted); font: 400 14.5px/1.55 var(--tl-font-sans); }

.dossier__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 20px; }

.dossier__tags span {
  padding: 6px 8px;
  border: 1px solid var(--tl-color-rule-strong);
  font: 500 6.5px/1 var(--tl-font-mono);
  letter-spacing: .13em;
}

.dossier__sections { display: grid; gap: 9px; margin: 0; }

.dossier__sections div {
  padding: 13px 15px 14px;
  border: 1px solid var(--tl-color-rule);
  border-left: 2px solid var(--tl-color-accent);
  background: rgb(255 253 248 / .82);
}

.dossier__sections dt {
  display: flex;
  align-items: baseline;
  gap: 9px;
  margin-bottom: 7px;
  color: var(--tl-color-accent);
  font: 500 7.5px/1 var(--tl-font-mono);
  letter-spacing: .15em;
}

.dossier__sections dt i { font-style: normal; opacity: .75; }

.dossier__sections dd { margin: 0; max-width: 58ch; color: var(--tl-color-ink); font: 400 13px/1.52 var(--tl-font-sans); }

.dossier__facts { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 16px; padding-top: 15px; border-top: 1px solid var(--tl-color-rule-strong); }

.dossier__facts span {
  padding: 8px 10px;
  border: 1px solid var(--tl-color-rule-strong);
  color: var(--tl-color-ink);
  font: 500 7.5px/1.4 var(--tl-font-mono);
  letter-spacing: .11em;
}

.dossier__return {
  margin-top: 20px;
  padding: 17px 16px;
  border: 1px solid var(--tl-color-accent);
  background: rgb(216 59 24 / .05);
}

.dossier__return > span {
  display: block;
  margin-bottom: 9px;
  color: var(--tl-color-accent);
  font: 500 7.5px/1 var(--tl-font-mono);
  letter-spacing: .16em;
}

.dossier__return blockquote { margin: 0 0 9px; font: 600 16px/1.4 var(--tl-font-display); }

.dossier__return footer { color: var(--tl-color-muted); font: 500 8px/1.4 var(--tl-font-mono); letter-spacing: .1em; }

.dossier__nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
  padding-top: 15px;
  border-top: 1px solid var(--tl-color-rule-strong);
}

.dossier__nav button {
  padding: 11px 12px;
  border: 1px solid var(--tl-color-rule-strong);
  background: transparent;
  color: var(--tl-color-ink);
  font: 500 7.5px/1 var(--tl-font-mono);
  letter-spacing: .12em;
  cursor: pointer;
}

.dossier__nav button:hover { border-color: var(--tl-color-accent); color: var(--tl-color-accent); }

.dossier__nav span { color: var(--tl-color-muted); font: 500 8px/1 var(--tl-font-mono); letter-spacing: .14em; }

/* ------- vitrine: Carcará e Trip ------- */

.carcara-map { display: grid; gap: 22px; width: min(100%, 640px); }

.carcara-map__pipe {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: center;
  gap: 10px;
}

.carcara-map__pipe span,
.carcara-map__pipe b {
  display: grid;
  place-items: center;
  min-height: 84px;
  padding: 10px;
  border: 1px solid var(--tl-color-rule-strong);
  background: var(--tl-paper-0);
  font: 500 8.5px/1.5 var(--tl-font-mono);
  letter-spacing: .1em;
  text-align: center;
}

.carcara-map__pipe b { border-color: var(--tl-color-accent); background: var(--tl-color-accent); color: var(--tl-paper-0); }

.carcara-map__pipe i { color: var(--tl-color-accent); font-style: normal; font-size: 15px; }

.carcara-map__ranks { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }

.carcara-map__ranks span,
.carcara-map__ranks strong {
  position: relative;
  padding: 12px 8px 10px;
  border: 1px solid var(--tl-color-rule);
  border-bottom: 3px solid var(--tl-color-rule-strong);
  background: rgb(255 253 248 / .8);
  font: 500 7px/1 var(--tl-font-mono);
  letter-spacing: .11em;
  text-align: center;
}

.carcara-map__ranks span:nth-child(2) { border-bottom-color: rgb(216 59 24 / .38); }
.carcara-map__ranks span:nth-child(3) { border-bottom-color: rgb(216 59 24 / .66); }

.carcara-map__ranks strong { border-bottom-color: var(--tl-color-accent); color: var(--tl-color-accent); font-weight: 500; }

.carcara-map > p { margin: 0; color: var(--tl-color-muted); font: 500 7.5px/1 var(--tl-font-mono); letter-spacing: .14em; }

.trip-map {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 26px;
  width: min(100%, 620px);
}

.trip-map__routes { display: grid; gap: 8px; }

.trip-map__routes span,
.trip-map__routes b {
  padding: 13px 14px;
  border: 1px solid var(--tl-color-rule-strong);
  background: var(--tl-paper-0);
  font: 500 8.5px/1 var(--tl-font-mono);
  letter-spacing: .12em;
}

.trip-map__routes b { border-color: var(--tl-color-accent); background: var(--tl-color-accent); color: var(--tl-paper-0); }

.trip-map__totem { display: grid; justify-items: center; gap: 10px; }

.trip-map__totem i {
  position: relative;
  display: block;
  width: 58px;
  height: 150px;
  border: 1.5px solid var(--tl-color-ink);
  border-radius: 7px 7px 0 0;
  background:
    linear-gradient(var(--tl-color-accent), var(--tl-color-accent)) center 62px / 22px 2px no-repeat,
    linear-gradient(rgb(21 20 18 / .16) 1px, transparent 1px) 10px 16px / 38px 8px repeat-y,
    #eef0ec;
  background-clip: padding-box;
  box-shadow: 0 12px 0 -6px var(--tl-color-ink);
}

.trip-map__totem i::before {
  content: "";
  position: absolute;
  inset: 10px 9px auto;
  height: 44px;
  border: 1.5px solid var(--tl-color-ink);
  background: var(--tl-paper-0);
}

.trip-map__totem i::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 26px;
  width: 15px;
  height: 15px;
  border: 2px solid var(--tl-color-accent);
  border-radius: 50%;
  transform: translateX(-50%);
}

.trip-map__totem em { color: var(--tl-color-muted); font: 500 7px/1.4 var(--tl-font-mono); font-style: normal; letter-spacing: .13em; text-align: center; }

@media (max-width: 700px) {
  .archive__counters { gap: 20px; }
  .archive__filters { gap: 6px; margin: 24px 0 16px; }
  .archive__filters button { padding: 11px 11px; font-size: 8px; }
  .archive__grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .ficha { min-height: 196px; padding: 14px 12px 12px; gap: 8px; }
  .ficha__name { font-size: 16.5px; }
  .ficha__line { font-size: 10.5px; line-height: 1.45; }
  .ficha__foot { font-size: 5.8px; }
  .ficha__foot > span { display: none; }

  .dossier__panel {
    top: auto;
    bottom: 0;
    left: 0;
    width: 100%;
    max-height: 92svh;
    padding: 22px 18px 26px;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    transform: none;
  }

  .dossier__name { font-size: clamp(27px, 8vw, 34px); }
  .dossier__line { font-size: 12.5px; }
  .dossier__sections dd { font-size: 12.5px; }

  .carcara-map__pipe { grid-template-columns: 1fr; gap: 6px; }
  .carcara-map__pipe i { justify-self: center; transform: rotate(90deg); }
  .carcara-map__pipe span,
  .carcara-map__pipe b { min-height: 56px; }
  .carcara-map__ranks { grid-template-columns: repeat(2, 1fr); }

  .trip-map { grid-template-columns: 1fr; justify-items: center; gap: 20px; }
  .trip-map__routes { width: 100%; }
}

/* ==================================================================
   O CICLO — Entender · Construir · Continuar
   ================================================================== */

.company-v2 .company-section-head--responsibilities h2.is-cycling > span,
.company-v2 .company-section-head--responsibilities h2.is-cycling > em {
  display: inline-block;
  transition: transform 760ms cubic-bezier(.22, .78, .28, 1), opacity 340ms ease;
  will-change: transform;
}

.company-v2 .company-section-head--responsibilities h2.is-cycling > .is-wrapping {
  opacity: 0 !important;
}

/* Every word carries the connector; the one closing the loop shows the
   cycle glyph instead of the arrow. */
.company-v2 .company-section-head--responsibilities h2.is-cycling > span::after,
.company-v2 .company-section-head--responsibilities h2.is-cycling > em::after {
  content: "→";
  margin: 0 .18em;
  color: var(--company-accent, #d83b18);
  font: 400 .24em/1 var(--tl-font-mono);
  vertical-align: middle;
}

.company-v2 .company-section-head--responsibilities h2.is-cycling > [data-slot="2"]::after {
  content: "↺";
}

@media (max-width: 700px) {
  .company-v2 .company-section-head--responsibilities h2.is-cycling > span::after,
  .company-v2 .company-section-head--responsibilities h2.is-cycling > em::after {
    position: absolute;
    top: 50%;
    right: .1em;
    margin: 0;
    transform: translateY(-50%);
  }
}

/* ==================================================================
   PONTO FINAL — paridade de hover, acento do selecionado e fluidez
   ================================================================== */

/* Sellerdata entra no padrão dos outros dois mundos. */
.seller-inputs span,
.seller-truth {
  transition: transform 260ms var(--tl-ease-ui), border-color 200ms ease, background 200ms ease;
}

.seller-inputs span:hover,
.seller-truth:hover {
  border-color: var(--tl-color-accent);
  background: var(--tl-paper-0);
  transform: translateY(-4px);
}

/* Sinal selecionado no diagnóstico ganha o registro em vermilion. */
@media (min-width: 701px) {
  .diagnostic__nav button.is-active {
    padding-left: 12px;
    color: var(--tl-color-accent);
    box-shadow: inset 3px 0 var(--tl-color-accent);
  }
}

/* Fluidez: o vidro do header ficava caro exatamente ao sair das heros —
   blur menor, opacidade maior, mesmo caráter. */
.page-head.is-compact {
  background: rgb(242 238 229 / .9);
  backdrop-filter: blur(7px) saturate(1.08);
  -webkit-backdrop-filter: blur(7px) saturate(1.08);
}

/* Animações infinitas dormem fora da viewport. */
.signal-hero:not(.is-motion-visible) svg *,
.signal-hero:not(.is-motion-visible) .signal-wave-stage__probe,
.signal-hero:not(.is-motion-visible) .signal-wave-stage__probe::after,
.company-rails:not(.is-motion-visible) *,
.company-rails:not(.is-motion-visible) *::before,
.company-rails:not(.is-motion-visible) *::after {
  animation-play-state: paused !important;
}

/* Retornos em rascunho: enquanto o depoimento não for real e autorizado,
   o bloco se identifica como exemplo — impossível confundir com prova. */
.dossier__return.is-draft { border-style: dashed; }

.dossier__return.is-draft > span::after {
  content: " · EXEMPLO (RASCUNHO)";
  opacity: .8;
}

.dossier__return.is-draft blockquote { opacity: .85; }

/* ==================================================================
   PERFORMANCE + COMPOSITION PASS / 2026-08-12
   Motion stays finite and intentional; layout no longer depends on
   pointer position, infinite timers or oversized empty stages.
   ================================================================== */

/* Shared: keep the glass character without recompositing a wide blur layer. */
.page-head.is-compact {
  background: rgb(242 238 229 / .94);
  backdrop-filter: blur(4px) saturate(1.03);
  -webkit-backdrop-filter: blur(4px) saturate(1.03);
}

/* Refraction was the last permanent paint loop on the internal pages. */
.page-head::after {
  animation: none !important;
  transform: none !important;
  opacity: .1;
}

/* Static sections no longer need a second observer just to pause decorative
   loops: every remaining infinite animation is stopped at the source. */
.topology *,
.case__system *,
.minor-case *,
.signal-hero *,
.company-rails * {
  animation-iteration-count: 1 !important;
}

/* Atuação: direct selection replaces the cursor-following probe. */
.signal-wave-stage { cursor: default; }
.signal-wave-stage__probe { display: none !important; }

.signal-continuity .signal-card {
  min-height: 260px;
  transition: background-color 220ms ease, border-color 220ms ease;
}

.signal-continuity .signal-card:hover {
  min-height: 260px;
  background: var(--tl-paper-0);
}

.signal-continuity .signal-card::after { display: none; }

/* The third row used to jump because hover added left padding. All three
   rows now keep exactly the same geometry in every state. */
.signal-entry button {
  padding-left: 12px;
  transition: color 220ms ease, background-color 220ms ease;
}
.signal-entry button:hover,
.signal-entry button:focus-visible,
.signal-entry button.is-active { padding-left: 12px; }

/* Trabalho hero: the state changes only after a click and never changes
   the headline geometry. */
.work-hero__statement h1 > span,
.work-hero__statement h1 > em {
  transform: none !important;
  transition: color 260ms ease !important;
}

.work-hero:has(.work-hero__route[data-active-step]) .work-hero__statement h1 > span {
  letter-spacing: inherit !important;
}

.work-hero__spark,
.work-hero__route > b::after { animation: none !important; }

.work-hero__route-readout.is-changing { animation: work-readout-in 320ms var(--tl-ease-ui) both; }

@keyframes work-readout-in {
  from { opacity: .25; transform: translateY(5px); }
  to { opacity: 1; transform: none; }
}

/* The old paragraph became a useful operational index instead of floating
   alone in the right half of the section. */
.work-topology__head {
  grid-template-columns: minmax(0, 1.12fr) minmax(340px, .72fr);
  gap: clamp(44px, 7vw, 120px);
  align-items: end;
}

.work-topology__index {
  align-self: stretch;
  display: grid;
  align-content: end;
  padding-left: clamp(22px, 2.6vw, 42px);
  border-left: 1px solid var(--tl-color-rule-strong);
}

.work-topology__index > p {
  max-width: 31ch;
  margin: 0 0 22px;
  color: var(--tl-color-muted);
  font: 400 15px/1.55 var(--tl-font-sans);
}

.work-topology__index ol { margin: 0; padding: 0; border-top: 1px solid var(--tl-color-rule); list-style: none; }
.work-topology__index li {
  display: grid;
  grid-template-columns: 34px 1fr auto;
  gap: 12px;
  align-items: center;
  min-height: 42px;
  border-bottom: 1px solid var(--tl-color-rule);
  font: 500 8px/1 var(--tl-font-mono);
  letter-spacing: .12em;
}
.work-topology__index i { color: var(--tl-color-accent); font-style: normal; }
.work-topology__index b { color: var(--tl-color-muted); font-weight: 500; }

/* The active topology is normal document flow now. No 610px/730px shell,
   no absolute summary pinned over a large empty footer. */
.topology { min-height: 0; align-items: stretch; }
.topology__stage { min-height: 0; position: relative; overflow: hidden; }
.topology-world {
  position: relative;
  inset: auto;
  min-height: 0;
  padding: clamp(28px, 3.8vw, 58px);
}
.topology-world > p {
  position: static;
  max-width: 58ch;
  margin: 28px 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--tl-color-rule);
}
.nexus-topology,
.henke-topology { height: auto; min-height: 330px; }
.topology-world--seller > p { grid-column: 1 / -1; width: 100%; }

/* Empresa hero: opaque paper is visually equivalent here and avoids a
   large live backdrop-filter. The console and register no longer tilt. */
.company-v2 .formation-console {
  background: rgb(255 253 248 / .96);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: 0 22px 54px rgb(58 48 36 / .1);
  contain: layout paint;
}

.company-v2 .formation-step > button,
.company-v2 .formation-step > button:hover,
.company-v2 .formation-step > button:focus-visible,
.company-v2 .formation-step.is-active > button {
  padding-left: 10px;
  transition: color 220ms ease, background-color 220ms ease;
}

.company-v2 .register-08 {
  transform: none !important;
  transform-style: flat;
  transition: box-shadow 260ms ease;
}
.company-v2 .register-08__glow {
  background: radial-gradient(circle at 74% 20%, rgb(228 59 26 / .16), transparent 30%);
}

/* No automated word carousel: the three responsibilities are a stable,
   editorial title. */
.company-v2 .company-section-head--responsibilities h2 > * {
  transform: none !important;
  opacity: 1 !important;
  transition: color 220ms ease;
}

/* Learning comparison: two readable records linked by one compact move. */
.company-v2 .learning-machine { grid-template-columns: minmax(280px, .68fr) minmax(0, 1.32fr); }
.company-v2 .learning-result {
  grid-template-columns: minmax(0, 1fr) 58px minmax(0, 1fr);
  grid-template-rows: auto auto auto;
  gap: 22px;
  min-height: 0;
  padding: clamp(30px, 4vw, 62px);
  align-items: stretch;
}
.company-v2 .learning-result__status {
  min-width: 0;
  min-height: 280px;
  justify-content: space-between;
  padding: clamp(22px, 2.5vw, 34px);
}
.company-v2 .learning-result__status span {
  color: var(--company-muted);
  font: 600 8px/1 var(--company-sans);
  letter-spacing: .16em;
}
.company-v2 .learning-result__status b,
.company-v2 .learning-result__status strong {
  max-width: 12ch;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
  font-size: clamp(31px, 3.15vw, 54px);
  line-height: .9;
}
.company-v2 .learning-result__transform {
  align-self: center;
  min-height: 1px;
  transform: none;
}
.company-v2 .learning-result > p,
.company-v2 .learning-result__stamp { grid-column: 1 / -1; }

/* Signature: portrait and closing record have equal visual responsibility.
   The 4:5 photo is shown in its native ratio, and the right side now closes
   with an operational register instead of dead space. */
.company-v2 .company-signature {
  min-height: 0;
  grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
  gap: clamp(36px, 5vw, 82px);
  align-items: stretch;
  padding-top: clamp(58px, 6vw, 92px);
  padding-bottom: clamp(58px, 6vw, 92px);
}
.company-v2 .company-signature__founder { align-content: start; }
.company-v2 .company-signature__portrait-slot,
.company-v2 .company-signature__portrait-slot.is-loaded {
  width: min(100%, 510px);
  min-height: 0;
  aspect-ratio: 4 / 5;
}
.company-v2 .company-signature__portrait-slot.is-loaded > img {
  object-fit: cover;
  object-position: center;
  mask-image: linear-gradient(180deg, #000 70%, rgb(0 0 0 / .86) 100%);
}
.company-v2 .company-signature__closing {
  position: relative;
  align-self: stretch;
  display: grid;
  grid-template-rows: auto auto auto auto 1fr;
  align-content: center;
  min-width: 0;
  padding: clamp(34px, 4.4vw, 72px);
  border: 1px solid var(--company-rule-strong);
  border-left: 3px solid var(--company-accent);
  background: rgb(255 253 248 / .56);
}
.company-v2 .company-signature__closing::after {
  content: "";
  position: absolute;
  right: 22px;
  bottom: 22px;
  width: 12px;
  height: 12px;
  background: var(--company-accent);
}
.company-v2 .company-signature__closing h2 { max-width: 11ch; }
.company-v2 .company-signature__register {
  align-self: end;
  display: grid;
  grid-template-columns: auto 1fr auto 1fr auto;
  gap: 12px;
  align-items: center;
  margin-top: 46px;
  padding-top: 18px;
  border-top: 1px solid var(--company-rule);
  color: var(--company-muted);
  font: 600 7px/1 var(--company-sans);
  letter-spacing: .13em;
}
.company-v2 .company-signature__register i { height: 1px; background: var(--company-accent); }

@media (max-width: 900px) {
  .work-topology__head { grid-template-columns: 1fr; gap: 30px; }
  .work-topology__index { padding-left: 0; border-left: 0; }

  .topology { grid-template-columns: 1fr; }
  .topology__stage { min-height: 0; }
  .topology-world { padding: 24px 18px 26px; }
  .nexus-topology,
  .henke-topology { min-height: 0; height: auto; }
  .topology-world > p { margin-top: 20px; }

  .company-v2 .learning-machine { grid-template-columns: 1fr; }
  .company-v2 .learning-result { grid-template-columns: minmax(0, 1fr) 48px minmax(0, 1fr); }

  .company-v2 .company-signature { grid-template-columns: 1fr; }
  .company-v2 .company-signature__closing { order: 1; }
  .company-v2 .company-signature__founder { order: 2; }
}

@media (max-width: 700px) {
  .signal-wave-stage::after { display: none !important; animation: none !important; }

  .signal-continuity .signal-card,
  .signal-continuity .signal-card:hover { min-height: 0; }

  .work-topology__index > p { margin-bottom: 14px; }
  .work-topology__index li { min-height: 38px; }

  .topology { margin-bottom: 42px; }
  .topology__stage { min-height: 0 !important; }
  .topology-world { min-height: 0; }
  .topology-world--seller { grid-template-columns: 1fr; gap: 18px; }
  .seller-converge { min-height: 48px; }
  .seller-converge i { height: 48px; }

  .company-v2 .formation-console { contain: layout; }
  .company-v2 .company-section-head--learning h2 {
    max-width: 100%;
    overflow: visible;
    font-size: clamp(40px, 11.3vw, 50px);
    line-height: .94;
  }
  .company-v2 .company-section-head--learning h2 em {
    display: block;
    padding-bottom: .08em;
  }
  .company-v2 .learning-result {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 18px;
  }
  .company-v2 .learning-result__status { min-height: 190px; padding: 20px; }
  .company-v2 .learning-result__status b,
  .company-v2 .learning-result__status strong {
    max-width: 100%;
    font-size: clamp(29px, 9.5vw, 42px);
  }
  .company-v2 .learning-result__transform {
    width: 1px;
    min-height: 42px;
    justify-self: center;
    transform: rotate(90deg);
  }
  .company-v2 .learning-result > p { font-size: 14px; }

  .company-v2 .company-signature { gap: 28px; padding-top: 46px; padding-bottom: 46px; }
  .company-v2 .company-signature__closing { padding: 26px 22px 54px; }
  .company-v2 .company-signature__register { gap: 7px; margin-top: 34px; font-size: 5.8px; }
  .company-v2 .company-signature__portrait-slot,
  .company-v2 .company-signature__portrait-slot.is-loaded { width: 100%; }
}
