/* BREVES — presença institucional jurídica unificada */

:root {
  --ink: #111714;
  --ink-soft: #1a211d;
  --ink-muted: #4f5b54;
  --paper: #f2efe7;
  --paper-bright: #fbfaf6;
  --paper-deep: #e7e2d7;
  --amber: #d89a50;
  --amber-bright: #efb66f;
  --amber-dark: #8f5b27;
  --sage: #748279;
  --line-dark: rgba(17, 23, 20, 0.15);
  --line-light: rgba(242, 239, 231, 0.14);
  --sans: 'Archivo', Arial, sans-serif;
  --serif: Iowan Old Style, Baskerville, 'Times New Roman', serif;
  --mono: 'Plex Mono', Consolas, monospace;
  --frame: min(1180px, calc(100vw - 64px));
}

html {
  max-width: 100%;
  overflow-x: clip;
  scroll-padding-top: 112px;
  background: var(--ink);
}

body {
  min-width: 320px;
  overflow-x: clip;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.menu-open { overflow: hidden; }

a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
img { display: block; max-width: 100%; }

::selection { background: rgba(216, 154, 80, 0.32); color: inherit; }

:focus-visible {
  outline: 2px solid var(--amber);
  outline-offset: 4px;
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 8px;
  left: 8px;
  padding: 10px 16px;
  background: var(--paper-bright);
  color: var(--ink);
  border-radius: 4px;
  transform: translateY(-150%);
  transition: transform .2s ease;
}
.skip-link:focus { transform: translateY(0); }

.section-frame { width: var(--frame); margin-inline: auto; }

.page-progress {
  position: fixed;
  z-index: 110;
  inset: 0 0 auto;
  height: 2px;
  pointer-events: none;
}
.page-progress i {
  display: block;
  width: 0;
  height: 100%;
  background: var(--amber);
  box-shadow: 0 0 18px rgba(216, 154, 80, .55);
}

.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .8s cubic-bezier(.2,.75,.2,1), transform .8s cubic-bezier(.2,.75,.2,1);
}
.reveal.in { opacity: 1; transform: translateY(0); }

/* Navegação */
.site-header {
  position: fixed;
  z-index: 100;
  top: 18px;
  left: 50%;
  width: min(1180px, calc(100vw - 32px));
  transform: translateX(-50%);
}

.nav-shell {
  height: 66px;
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 8px 10px 8px 18px;
  border: 1px solid rgba(242, 239, 231, .15);
  border-radius: 18px;
  background: rgba(13, 18, 16, .72);
  color: var(--paper);
  box-shadow: 0 18px 50px rgba(0,0,0,.12);
  backdrop-filter: blur(18px) saturate(120%);
  -webkit-backdrop-filter: blur(18px) saturate(120%);
  transition: background .3s ease, border-color .3s ease, transform .3s ease;
}
.site-header.scrolled .nav-shell {
  background: rgba(13, 18, 16, .92);
  border-color: rgba(242, 239, 231, .22);
  transform: translateY(-4px);
}

.brand { display: inline-flex; align-items: center; gap: 11px; flex: none; }
.brand img { width: 31px; height: 34px; object-fit: contain; }
.brand > span { display: grid; gap: 1px; line-height: 1; }
.brand b { font-size: 14px; letter-spacing: .2em; font-weight: 660; }
.brand small { color: var(--amber-bright); font: 8px/1.2 var(--mono); letter-spacing: .18em; }

.site-header nav { display: flex; align-items: center; justify-content: center; gap: 6px; margin-left: auto; }
.site-header nav a {
  position: relative;
  padding: 10px 12px;
  color: rgba(242, 239, 231, .68);
  font-size: 13px;
  font-weight: 480;
  transition: color .25s ease;
}
.site-header nav a::after {
  content: '';
  position: absolute;
  right: 12px;
  bottom: 6px;
  left: 12px;
  height: 1px;
  background: var(--amber);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease;
}
.site-header nav a:hover,
.site-header nav a.active { color: var(--paper); }
.site-header nav a.active::after { transform: scaleX(1); }

.nav-cta {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 0 18px;
  border-radius: 12px;
  background: var(--paper);
  color: var(--ink);
  font-size: 13px;
  font-weight: 620;
  transition: background .25s ease, transform .25s ease;
}
.nav-cta:hover { background: white; transform: translateY(-1px); }
.nav-cta span { color: var(--amber-dark); font-size: 16px; }

.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.nav-toggle span { display: block; width: 20px; height: 1px; margin: 6px auto; background: currentColor; transition: transform .25s ease; }
.nav-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }

/* Hero */
.hero {
  --orbit-x: 0deg;
  --orbit-y: 0deg;
  --orbit-scroll: 0deg;
  --orbit-lift: 0px;
  min-height: 100svh;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 158px 24px 44px;
  background: var(--ink);
  color: var(--paper);
}

.hero::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .36;
  background-image: radial-gradient(rgba(242, 239, 231, .16) .6px, transparent .6px);
  background-size: 8px 8px;
  mask-image: linear-gradient(to bottom, black, transparent 58%);
}

.hero::after {
  content: '';
  position: absolute;
  z-index: -1;
  width: min(760px, 85vw);
  height: 270px;
  left: 50%;
  bottom: -190px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: rgba(216, 154, 80, .16);
  filter: blur(70px);
  pointer-events: none;
}

.hero-grid { position: absolute; inset: 0; z-index: -1; display: flex; justify-content: center; pointer-events: none; }
.hero-grid i { width: min(295px, 25vw); height: 100%; border-left: 1px solid rgba(242, 239, 231, .075); }
.hero-grid i:last-child { border-right: 1px solid rgba(242, 239, 231, .075); }

.hero-copy { width: min(940px, 100%); text-align: center; }
.hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
  color: rgba(242, 239, 231, .62);
  font: 10px/1 var(--mono);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.hero-kicker span { width: 5px; height: 5px; border-radius: 50%; background: var(--amber); box-shadow: 0 0 0 5px rgba(216,154,80,.12); }

.hero h1 {
  max-width: 920px;
  margin-inline: auto;
  font-size: clamp(54px, 6.35vw, 90px);
  font-weight: 330;
  line-height: .98;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.hero h1 em,
.section-head h2 em,
.method h2 em,
.diagnostic h2 em,
.commitments h2 em,
.faq h2 em,
.contact h2 em {
  color: var(--amber-bright);
  font-family: var(--serif);
  font-weight: 400;
}
.hero h1 em { white-space: nowrap; }

.hero-lead {
  max-width: 650px;
  margin: 26px auto 0;
  color: rgba(242, 239, 231, .67);
  font-size: clamp(17px, 1.5vw, 20px);
  font-weight: 350;
  line-height: 1.55;
  text-wrap: balance;
}

.hero-actions { display: flex; align-items: center; justify-content: center; gap: 28px; margin-top: 32px; }
.button {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  padding: 0 22px;
  border: 1px solid transparent;
  border-radius: 8px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 620;
  line-height: 1;
  transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}
.button span { font-size: 17px; font-weight: 400; transition: transform .25s ease; }
.button:hover { transform: translateY(-2px); }
.button:hover span { transform: translateX(3px); }
.button-primary { background: var(--amber); color: var(--ink); box-shadow: inset 0 1px rgba(255,255,255,.3); }
.button-primary:hover { background: var(--amber-bright); }
.button-dark { background: var(--ink); color: var(--paper); }
.button-dark:hover { background: #252d28; }

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 9px 0 7px;
  border-bottom: 1px solid rgba(242, 239, 231, .28);
  color: var(--paper);
  font-size: 13px;
  font-weight: 530;
  transition: border-color .25s ease, color .25s ease;
}
.text-link:hover { border-color: var(--amber); color: var(--amber-bright); }
.text-link.dark { color: var(--ink); border-color: rgba(17,23,20,.25); }
.text-link.dark:hover { color: var(--amber-dark); border-color: var(--amber-dark); }

.hero-assurances { display: flex; justify-content: center; gap: 24px; margin-top: 24px; list-style: none; }
.hero-assurances li { color: rgba(242, 239, 231, .5); font: 9px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.hero-assurances li + li::before { content: '·'; margin-right: 24px; color: var(--amber); }

/* Objeto cinético inspirado na referência, sem dependências WebGL */
.legal-orbit {
  position: relative;
  width: 360px;
  height: 360px;
  flex: none;
  margin-top: 24px;
  perspective: 900px;
  transform: translateY(var(--orbit-lift)) rotateX(var(--orbit-y)) rotateY(var(--orbit-x));
  transform-style: preserve-3d;
  transition: transform .18s ease-out;
}
.orbit-halo {
  position: absolute;
  inset: 12%;
  border-radius: 50%;
  background: radial-gradient(circle at 38% 32%, rgba(239,182,111,.3), rgba(216,154,80,.05) 40%, transparent 67%);
  filter: blur(5px);
}
.orbit-ring { position: absolute; inset: 10%; border: 1px solid rgba(242,239,231,.2); border-radius: 50%; transform-style: preserve-3d; }
.orbit-ring::before { content: ''; position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--amber-bright); box-shadow: 0 0 18px rgba(239,182,111,.75); }
.orbit-ring span { position: absolute; color: rgba(242,239,231,.42); font: 7px/1 var(--mono); letter-spacing: .16em; }
.ring-one { transform: rotateX(67deg) rotateZ(var(--orbit-scroll)); animation: orbit-one 17s linear infinite; }
.ring-one::before { left: 17%; top: 7%; }
.ring-one span { right: 5%; top: 14%; }
.ring-two { inset: 18%; transform: rotateY(64deg) rotateZ(var(--orbit-scroll)); animation: orbit-two 21s linear infinite reverse; }
.ring-two::before { right: 4%; bottom: 28%; }
.ring-two span { left: 10%; bottom: 8%; }
.ring-three { inset: 4%; transform: rotate(18deg); animation: orbit-three 28s linear infinite; }
.ring-three::before { right: 10%; top: 19%; }
.ring-three span { left: 6%; top: 28%; }

@keyframes orbit-one { to { transform: rotateX(67deg) rotateZ(calc(360deg + var(--orbit-scroll))); } }
@keyframes orbit-two { to { transform: rotateY(64deg) rotateZ(calc(360deg + var(--orbit-scroll))); } }
@keyframes orbit-three { to { transform: rotate(378deg); } }

.orbit-axis { position: absolute; inset: 50% 1% auto; height: 1px; background: linear-gradient(90deg, transparent, rgba(242,239,231,.16), transparent); transform: rotate(-24deg); }
.orbit-axis::after { content: ''; position: absolute; left: 50%; top: -175px; width: 1px; height: 350px; background: linear-gradient(transparent, rgba(242,239,231,.11), transparent); transform: rotate(48deg); transform-origin: center; }

.orbit-core {
  position: absolute;
  inset: 25%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(239,182,111,.46);
  border-radius: 50%;
  background: #111713;
  box-shadow: inset 0 0 0 10px rgba(242,239,231,.025), inset 0 -26px 60px rgba(0,0,0,.38), 0 25px 70px rgba(0,0,0,.34);
  transform: translateZ(28px);
}
.orbit-core::before { content: ''; position: absolute; inset: 8px; border: 1px dashed rgba(242,239,231,.11); border-radius: 50%; animation: orbit-three 35s linear infinite reverse; }
.orbit-core img {
  width: 64px;
  height: 68px;
  object-fit: contain;
  opacity: 1;
  image-rendering: auto;
  filter: drop-shadow(0 2px 7px rgba(239,182,111,.16));
  transform: translateZ(1px);
  backface-visibility: hidden;
}
.orbit-core small { margin-top: 10px; color: rgba(242,239,231,.48); font: 6px/1 var(--mono); letter-spacing: .2em; }
.core-index { position: absolute; top: 29px; color: var(--amber-bright); font: 7px/1 var(--mono); letter-spacing: .12em; }

.orbit-signature {
  position: absolute;
  left: 50%;
  bottom: 3px;
  width: max-content;
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(242,239,231,.28);
  font: 6px/1 var(--mono);
  letter-spacing: .22em;
  text-transform: uppercase;
  transform: translateX(-50%) translateZ(12px);
  transition: color .45s ease, letter-spacing .45s ease;
}
.orbit-signature::before,
.orbit-signature::after { content: ""; width: 18px; height: 1px; background: rgba(239,182,111,.25); transition: width .45s ease, background-color .45s ease; }
.legal-orbit:hover .orbit-signature { color: rgba(242,239,231,.52); letter-spacing: .25em; }
.legal-orbit:hover .orbit-signature::before,
.legal-orbit:hover .orbit-signature::after { width: 26px; background: rgba(239,182,111,.48); }

.orbit-note {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 11px;
  border: 1px solid rgba(242,239,231,.15);
  border-radius: 6px;
  background: rgba(13,18,16,.72);
  color: rgba(242,239,231,.65);
  font: 8px/1 var(--mono);
  letter-spacing: .06em;
  backdrop-filter: blur(8px);
}
.orbit-note i { width: 5px; height: 5px; border-radius: 50%; background: #76b98b; box-shadow: 0 0 0 4px rgba(118,185,139,.1); }
.orbit-note b { color: var(--amber-bright); font-size: 12px; }
.note-a { left: -36px; top: 37%; }
.note-b { right: -42px; bottom: 24%; }

.scroll-cue {
  position: absolute;
  left: 30px;
  bottom: 28px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(242,239,231,.4);
  font: 8px/1 var(--mono);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.scroll-cue span { position: relative; width: 1px; height: 34px; overflow: hidden; background: rgba(242,239,231,.16); }
.scroll-cue span::after { content: ''; position: absolute; inset: 0; background: var(--amber); animation: cue 1.9s ease-in-out infinite; }
@keyframes cue { 0% { transform: translateY(-100%); } 70%,100% { transform: translateY(100%); } }

/* Princípio */
.principle { padding: 132px 0 120px; background: var(--paper-bright); }
.principle-grid { display: grid; grid-template-columns: 180px minmax(0, 1.35fr) minmax(260px, .65fr); gap: 48px; align-items: start; }
.section-label { display: flex; align-items: center; gap: 12px; color: var(--ink-muted); font: 9px/1 var(--mono); letter-spacing: .15em; text-transform: uppercase; }
.section-label span { display: inline-grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--line-dark); border-radius: 50%; color: var(--amber-dark); font-size: 8px; }
.section-label.light { color: rgba(242,239,231,.48); }
.section-label.light span { border-color: var(--line-light); color: var(--amber-bright); }
.principle-copy > p { margin-bottom: 24px; color: var(--amber-dark); font: 9px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.principle h2 {
  max-width: 650px;
  font-size: clamp(38px, 4.3vw, 62px);
  font-weight: 350;
  line-height: 1.05;
  letter-spacing: -.045em;
}
.principle h2 em { font-family: var(--serif); font-weight: 400; color: var(--amber-dark); }
.principle-aside { padding-top: 42px; border-top: 1px solid var(--line-dark); }
.principle-aside p { margin-bottom: 34px; color: var(--ink-muted); font-size: 15px; line-height: 1.75; }

/* Sinais */
.signals { border-block: 1px solid var(--line-dark); background: var(--paper); }
.signal-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.signal { min-height: 176px; padding: 32px 28px; border-left: 1px solid var(--line-dark); }
.signal:last-child { border-right: 1px solid var(--line-dark); }
.signal > span { display: block; margin-bottom: 30px; color: var(--amber-dark); font: 8px/1 var(--mono); }
.signal b { display: block; margin-bottom: 5px; font-size: 16px; font-weight: 620; }
.signal p { color: var(--ink-muted); font-size: 13px; }

/* Atuação */
.practice { padding: 132px 0 140px; background: var(--paper); }
.section-head { display: grid; grid-template-columns: 180px minmax(0, 1.2fr) minmax(260px, .55fr); gap: 48px; align-items: end; margin-bottom: 64px; }
.section-head h2 { font-size: clamp(42px, 4.6vw, 66px); font-weight: 350; line-height: 1.02; letter-spacing: -.047em; }
.section-head h2 em { color: var(--amber-dark); }
.section-head > p { padding-top: 24px; border-top: 1px solid var(--line-dark); color: var(--ink-muted); font-size: 14px; line-height: 1.7; }

.practice-shell { overflow: hidden; border: 1px solid var(--line-dark); border-radius: 14px; background: var(--ink); color: var(--paper); }
.practice-tabs { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--line-light); }
.practice-tab {
  min-height: 118px;
  position: relative;
  display: grid;
  grid-template-columns: 34px 1fr;
  grid-template-rows: auto auto;
  gap: 7px 10px;
  align-content: center;
  padding: 22px;
  border: 0;
  border-right: 1px solid var(--line-light);
  background: transparent;
  color: rgba(242,239,231,.58);
  text-align: left;
  cursor: pointer;
  transition: background .25s ease, color .25s ease;
}
.practice-tab:last-child { border-right: 0; }
.practice-tab::after { content: ''; position: absolute; inset: auto 0 0; height: 2px; background: var(--amber); transform: scaleX(0); transition: transform .3s ease; }
.practice-tab span { grid-row: 1 / 3; color: rgba(242,239,231,.3); font: 8px/1 var(--mono); padding-top: 5px; }
.practice-tab b { color: inherit; font-size: 14px; font-weight: 560; }
.practice-tab small { color: rgba(242,239,231,.34); font: 8px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.practice-tab:hover { background: rgba(242,239,231,.03); color: var(--paper); }
.practice-tab.active { background: rgba(216,154,80,.075); color: var(--paper); }
.practice-tab.active span { color: var(--amber-bright); }
.practice-tab.active::after { transform: scaleX(1); }

.practice-panel { min-height: 510px; display: grid; grid-template-columns: .86fr 1.14fr; }
.practice-panel[hidden] { display: none; }
.panel-copy { display: flex; flex-direction: column; justify-content: center; padding: 58px; border-right: 1px solid var(--line-light); }
.panel-copy > small { color: var(--amber-bright); font: 8px/1 var(--mono); letter-spacing: .14em; }
.panel-copy h3 { max-width: 490px; margin-top: 22px; font-size: clamp(31px, 3vw, 44px); font-weight: 360; line-height: 1.08; letter-spacing: -.035em; }
.panel-copy p { max-width: 530px; margin-top: 22px; color: rgba(242,239,231,.6); font-size: 14px; line-height: 1.72; }
.panel-copy ul { margin-top: 28px; list-style: none; border-top: 1px solid var(--line-light); }
.panel-copy li { position: relative; padding: 10px 0 10px 19px; border-bottom: 1px solid var(--line-light); color: rgba(242,239,231,.72); font-size: 12px; }
.panel-copy li::before { content: ''; position: absolute; left: 1px; top: 17px; width: 4px; height: 4px; border-radius: 50%; background: var(--amber); }

.panel-visual { position: relative; min-width: 0; margin: 54px; overflow: hidden; border: 1px solid rgba(242,239,231,.14); border-radius: 9px; background: #151c18; box-shadow: 0 28px 80px rgba(0,0,0,.2); }
.panel-visual::before { content: ''; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(242,239,231,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(242,239,231,.035) 1px, transparent 1px); background-size: 32px 32px; mask-image: linear-gradient(to bottom, black, transparent); }
.visual-top { height: 54px; position: relative; display: flex; align-items: center; justify-content: space-between; padding: 0 18px; border-bottom: 1px solid var(--line-light); color: rgba(242,239,231,.45); font: 7px/1 var(--mono); letter-spacing: .12em; }
.visual-top b { display: flex; align-items: center; gap: 7px; color: rgba(242,239,231,.65); font-weight: 400; }
.visual-top i { width: 5px; height: 5px; border-radius: 50%; background: #76b98b; }
.visual-foot { position: absolute; right: 0; bottom: 0; left: 0; height: 62px; display: flex; align-items: center; justify-content: space-between; padding: 0 18px; border-top: 1px solid var(--line-light); background: rgba(13,18,16,.62); }
.visual-foot span { color: rgba(242,239,231,.38); font: 7px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.visual-foot b { color: var(--amber-bright); font-size: 11px; font-weight: 520; }

.flow-row { position: relative; z-index: 1; min-height: 78px; display: grid; grid-template-columns: 34px 1fr auto; gap: 13px; align-items: center; margin: 14px 18px 0; padding: 13px; border: 1px solid var(--line-light); border-radius: 6px; color: rgba(242,239,231,.54); transition: border-color .3s ease, background .3s ease; }
.flow-row > span { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--line-light); border-radius: 50%; font: 7px/1 var(--mono); }
.flow-row div { display: grid; gap: 5px; }
.flow-row small { color: rgba(242,239,231,.3); font: 6px/1 var(--mono); letter-spacing: .13em; }
.flow-row b { color: rgba(242,239,231,.82); font-size: 11px; font-weight: 520; }
.flow-row em { color: rgba(242,239,231,.38); font: 7px/1 var(--mono); font-style: normal; }
.flow-row.active { border-color: rgba(216,154,80,.5); background: rgba(216,154,80,.07); }
.flow-row.active > span { border-color: var(--amber); color: var(--amber-bright); }

.document-title { position: relative; z-index: 1; margin: 28px 24px 25px; padding-bottom: 23px; border-bottom: 1px solid var(--line-light); }
.document-title small { display: block; margin-bottom: 10px; color: var(--amber-bright); font: 7px/1 var(--mono); letter-spacing: .13em; }
.document-title b { font-size: 19px; font-weight: 450; }
.document-line { position: relative; z-index: 1; height: 5px; margin: 12px 24px; border-radius: 4px; background: rgba(242,239,231,.11); }
.document-line.w92 { width: calc(92% - 48px); }.document-line.w78 { width: calc(78% - 48px); }.document-line.w86 { width: calc(86% - 48px); }
.document-data { position: relative; z-index: 1; display: flex; justify-content: space-between; margin: 23px 24px 0; padding: 12px 0; border-top: 1px solid var(--line-light); color: rgba(242,239,231,.48); font-size: 10px; }
.document-data b { color: rgba(242,239,231,.75); font-weight: 500; }
.document-data.hot { color: var(--amber-bright); }
.document-data.hot b { color: var(--amber-bright); }

.map-axis { position: absolute; z-index: 1; top: 45%; right: 11%; left: 11%; height: 1px; background: rgba(242,239,231,.12); }
.map-axis i { position: absolute; top: -42px; width: 1px; height: 84px; background: rgba(242,239,231,.08); }
.map-axis i:nth-child(1) { left: 0; }.map-axis i:nth-child(2) { left: 33.333%; }.map-axis i:nth-child(3) { left: 66.666%; }.map-axis i:nth-child(4) { right: 0; }
.map-path { position: absolute; z-index: 2; top: calc(45% - 5px); right: 11%; left: 11%; display: flex; justify-content: space-between; }
.map-path::before { content: ''; position: absolute; top: 4px; right: 3px; left: 3px; height: 1px; background: var(--amber); }
.map-path span { position: relative; z-index: 1; width: 10px; height: 10px; border: 2px solid var(--amber); border-radius: 50%; background: #151c18; box-shadow: 0 0 0 5px rgba(216,154,80,.08); }
.map-labels { position: absolute; z-index: 2; top: calc(45% + 29px); right: 8%; left: 8%; display: grid; grid-template-columns: repeat(4, 1fr); text-align: center; }
.map-labels small { color: rgba(242,239,231,.43); font: 6px/1.2 var(--mono); text-transform: uppercase; }

.intelligence-core { position: absolute; z-index: 2; left: 50%; top: 48%; width: 130px; height: 130px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid rgba(216,154,80,.42); border-radius: 50%; background: #151c18; transform: translate(-50%,-50%); box-shadow: 0 0 0 26px rgba(216,154,80,.035), 0 0 0 52px rgba(242,239,231,.025); }
.intelligence-core > span { position: absolute; inset: -27px; border: 1px dashed rgba(242,239,231,.11); border-radius: 50%; animation: orbit-three 28s linear infinite; }
.intelligence-core b { color: var(--amber-bright); font-size: 15px; letter-spacing: .14em; }
.intelligence-core small { margin-top: 6px; color: rgba(242,239,231,.37); font: 6px/1 var(--mono); }
.intel-node { position: absolute; z-index: 3; min-width: 74px; padding: 8px 10px; border: 1px solid var(--line-light); border-radius: 5px; background: #171e1a; color: rgba(242,239,231,.57); font: 7px/1 var(--mono); text-align: center; }
.node-1 { top: 28%; left: 9%; }.node-2 { top: 24%; right: 9%; }.node-3 { right: 10%; bottom: 26%; }

/* Método */
.method { padding: 136px 0; background: var(--paper-bright); }
.method-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 110px; align-items: start; }
.method-intro { position: sticky; top: 130px; }
.method h2 { max-width: 520px; margin-top: 38px; font-size: clamp(45px, 4.8vw, 68px); font-weight: 350; line-height: 1.02; letter-spacing: -.05em; }
.method h2 em { color: var(--amber-dark); }
.method-intro > p { max-width: 470px; margin: 28px 0 34px; color: var(--ink-muted); font-size: 15px; line-height: 1.75; }
.method-steps { list-style: none; border-top: 1px solid var(--line-dark); }
.method-steps li { min-height: 194px; display: grid; grid-template-columns: 64px 1fr; gap: 26px; padding: 36px 0; border-bottom: 1px solid var(--line-dark); }
.method-steps li > span { width: 43px; height: 43px; display: grid; place-items: center; border: 1px solid var(--line-dark); border-radius: 50%; color: var(--amber-dark); font: 8px/1 var(--mono); transition: background .3s ease, color .3s ease; }
.method-steps li.is-current > span { background: var(--ink); color: var(--amber-bright); }
.method-steps small { color: var(--amber-dark); font: 8px/1 var(--mono); letter-spacing: .14em; }
.method-steps h3 { margin-top: 12px; font-size: 24px; font-weight: 480; letter-spacing: -.02em; }
.method-steps p { max-width: 510px; margin-top: 9px; color: var(--ink-muted); font-size: 14px; line-height: 1.7; }

/* Calculadora de eficiência */
.calculator { min-height: 100svh; display: flex; align-items: center; padding: 122px 0 76px; background: var(--ink); color: var(--paper); }
.calculator-head { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr); gap: 70px; align-items: end; }
.calculator h2 { max-width: 900px; margin-top: 32px; font-size: clamp(42px, 4.6vw, 68px); font-weight: 340; line-height: 1.01; letter-spacing: -.052em; }
.calculator h2 em { color: var(--amber-bright); }
.calculator-head > p { grid-column: 2; color: rgba(242,239,231,.58); font-size: 14px; line-height: 1.75; }
.integration-section { position: relative; z-index: 2; overflow: hidden; padding: 24px 0; background: linear-gradient(to bottom, var(--paper) 0 50%, var(--paper-bright) 50% 100%); color: var(--ink); }
.integration-section::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--line-dark); pointer-events: none; }
.integration-section .section-frame { position: relative; }
.integration-section .integration-flow { margin-top: 0; }
.integration-flow { display: grid; grid-template-columns: 205px minmax(0, 1fr); gap: 34px; align-items: center; min-height: 88px; padding: 14px 18px; border: 1px solid rgba(17,23,20,.12); border-radius: 10px; background: rgba(251,250,246,.9); box-shadow: 0 18px 50px rgba(17,23,20,.055), inset 0 1px 0 rgba(255,255,255,.85); backdrop-filter: blur(10px); }
.integration-flow-copy { padding-left: 4px; }
.integration-flow-copy small { color: var(--amber-dark); font: 7px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; }
.integration-flow-copy p { max-width: 195px; margin-top: 8px; color: var(--ink-muted); font-size: 10px; line-height: 1.5; }
.integration-marquee { position: relative; min-width: 0; overflow: hidden; padding: 7px 0; -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.integration-marquee::before { content: ""; position: absolute; z-index: 0; left: 0; right: 0; top: 50%; height: 1px; background: linear-gradient(90deg, transparent, rgba(143,91,39,.13), transparent); }
.integration-track { position: relative; z-index: 1; width: max-content; display: flex; animation: integration-scroll 38s linear infinite; will-change: transform; }
.integration-group { display: flex; align-items: center; gap: 10px; padding-right: 10px; }
.integration-item { position: relative; min-width: max-content; height: 42px; display: inline-flex; align-items: center; gap: 9px; padding: 0 13px; border: 1px solid rgba(17,23,20,.11); border-radius: 7px; background: rgba(242,239,231,.58); color: rgba(17,23,20,.63); box-shadow: inset 0 1px 0 rgba(255,255,255,.7); font-size: 9px; transition: transform .3s ease, color .3s ease, border-color .3s ease, background-color .3s ease, box-shadow .3s ease; }
.integration-item::before { content: ""; position: absolute; left: -8px; top: 50%; width: 5px; height: 5px; border: 1px solid rgba(143,91,39,.34); border-radius: 50%; background: var(--paper-bright); transform: translateY(-50%); }
.integration-item svg { width: 16px; height: 16px; flex: 0 0 auto; fill: currentColor; }
.integration-brandmark { min-width: 30px; height: 18px; display: grid; place-items: center; font: 700 6px/1 var(--sans); letter-spacing: -.03em; }
.advbox-mark { padding: 0 3px; border: 1px solid currentColor; border-radius: 4px; }
.integration-marquee:hover .integration-track { animation-play-state: paused; }
.integration-item:hover { z-index: 2; border-color: rgba(143,91,39,.34); background: var(--paper-bright); color: var(--ink); box-shadow: 0 9px 24px rgba(17,23,20,.09); transform: translateY(-2px); }
@keyframes integration-scroll { to { transform: translateX(-50%); } }

.calculator-shell { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr); margin-top: 54px; border: 1px solid var(--line-light); border-radius: 12px; background: linear-gradient(135deg, rgba(255,255,255,.035), rgba(255,255,255,.012)); box-shadow: 0 34px 90px rgba(0,0,0,.22); backdrop-filter: blur(8px); }
.calculator-progress { position: absolute; z-index: 3; inset: 0 0 auto; height: 3px; background: rgba(242,239,231,.08); }
.calculator-progress i { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--amber-dark), var(--amber-bright)); box-shadow: 0 0 14px rgba(239,182,111,.34); transition: width .45s cubic-bezier(.22,1,.36,1); }
.calculator-progress span { position: absolute; top: 14px; right: 18px; color: rgba(242,239,231,.42); font: 7px/1 var(--mono); letter-spacing: .11em; text-transform: uppercase; }
.calculator-controls { padding: 44px 42px 34px; }
.calculator-control { padding: 25px 0 29px; border-bottom: 1px solid var(--line-light); transition: border-color .25s ease; }
.calculator-control:first-child { padding-top: 12px; }
.calculator-control:focus-within { border-color: rgba(239,182,111,.45); }
.calculator-control-head { display: flex; justify-content: space-between; gap: 25px; align-items: baseline; }
.calculator-control label { color: var(--paper); font-size: 12px; font-weight: 540; line-height: 1.45; }
.calculator-control label small { color: rgba(242,239,231,.52); font-size: inherit; font-weight: 400; }
.calculator-control output { flex: 0 0 auto; color: var(--amber-bright); font: 12px/1 var(--mono); }
.calculator-control input[type="range"] { --range-progress: 0%; width: 100%; height: 22px; margin-top: 16px; appearance: none; background: transparent; cursor: pointer; }
.calculator-control input[type="range"]::-webkit-slider-runnable-track { height: 4px; border-radius: 10px; background: linear-gradient(90deg, var(--amber-bright) var(--range-progress), rgba(242,239,231,.25) var(--range-progress)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
.calculator-control input[type="range"]::-moz-range-track { height: 4px; border-radius: 10px; background: rgba(242,239,231,.25); }
.calculator-control input[type="range"]::-moz-range-progress { height: 4px; border-radius: 10px; background: var(--amber-bright); }
.calculator-control input[type="range"]::-webkit-slider-thumb { width: 15px; height: 15px; margin-top: -5.5px; appearance: none; border: 0; border-radius: 50%; background: var(--amber-bright); box-shadow: 0 0 0 4px rgba(239,182,111,.08), 0 4px 12px rgba(0,0,0,.35); transition: transform .2s ease, box-shadow .2s ease; }
.calculator-control input[type="range"]::-moz-range-thumb { width: 15px; height: 15px; border: 0; border-radius: 50%; background: var(--amber-bright); box-shadow: 0 0 0 4px rgba(239,182,111,.08), 0 4px 12px rgba(0,0,0,.35); transition: transform .2s ease, box-shadow .2s ease; }
.calculator-control input[type="range"]:hover::-webkit-slider-thumb, .calculator-control input[type="range"]:focus-visible::-webkit-slider-thumb { transform: scale(1.16); box-shadow: 0 0 0 7px rgba(239,182,111,.12), 0 0 20px rgba(239,182,111,.28); }
.calculator-control input[type="range"]:focus-visible { outline: 1px solid var(--amber-bright); outline-offset: 7px; border-radius: 3px; }
.calculator-note { margin-top: 22px; color: rgba(242,239,231,.35); font-size: 10px; line-height: 1.65; }
.calculator-result { position: relative; display: flex; min-width: 0; padding: 66px 46px 42px; flex-direction: column; align-items: center; justify-content: center; border-left: 1px solid rgba(216,154,80,.32); background: radial-gradient(circle at 50% 18%, rgba(216,154,80,.1), transparent 38%), rgba(5,8,7,.35); text-align: center; }
.calculator-result::before { content: ""; position: absolute; inset: 18px; border: 1px solid rgba(216,154,80,.12); border-radius: 8px; pointer-events: none; }
.calculator-result-icon { width: 24px; margin-bottom: 18px; fill: none; stroke: var(--amber-bright); stroke-width: 1.4; opacity: .75; }
.calculator-result > small { color: rgba(242,239,231,.48); font: 8px/1.2 var(--mono); letter-spacing: .2em; text-transform: uppercase; }
.calculator-result > strong { margin-top: 13px; color: var(--amber-bright); font-size: clamp(45px, 5vw, 68px); font-weight: 520; line-height: 1; letter-spacing: -.045em; text-shadow: 0 0 28px rgba(216,154,80,.12); transition: text-shadow .35s ease; }
.calculator-result > p { margin-top: 10px; color: rgba(242,239,231,.48); font-size: 11px; }
.calculator-result.is-updating > strong { text-shadow: 0 0 34px rgba(239,182,111,.48); }
.calculator-metrics { display: grid; grid-template-columns: 1fr 1fr; width: 100%; margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--line-light); }
.calculator-metrics span { color: rgba(242,239,231,.38); font: 7px/1.4 var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.calculator-metrics span + span { border-left: 1px solid var(--line-light); }
.calculator-metrics b { display: block; margin-bottom: 7px; color: var(--paper); font: 600 19px/1 var(--sans); letter-spacing: -.02em; text-transform: none; }
.calculator-cta { position: relative; z-index: 1; width: min(100%, 310px); margin-top: 28px; border-color: var(--amber-bright); background: var(--amber-bright); color: var(--ink); }
.calculator-cta:hover { box-shadow: 0 10px 30px rgba(216,154,80,.2); }

/* Compromissos */
.commitments { position: relative; overflow: hidden; padding: 118px 0 110px; background: var(--paper); }
.commitments::before { content: ""; position: absolute; width: 720px; height: 420px; left: 50%; top: 57%; border-radius: 50%; background: radial-gradient(circle, rgba(216,154,80,.11), transparent 68%); transform: translate(-50%,-50%); pointer-events: none; }
.section-head.compact { grid-template-columns: 180px minmax(0, 1fr); margin-bottom: 58px; }
.section-head.compact h2 { max-width: 760px; }
.commitment-map { position: relative; min-height: 470px; border-block: 1px solid var(--line-dark); isolation: isolate; }
.commitment-map::before { content: ""; position: absolute; inset: 22px 0; border: 1px solid rgba(17,23,20,.055); border-radius: 160px; pointer-events: none; }
.commitment-links { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; overflow: visible; }
.commitment-links path { fill: none; stroke: rgba(143,91,39,.42); stroke-width: 1.2; stroke-linecap: round; stroke-dasharray: 3 7; animation: commitment-dash 18s linear infinite; }
.commitment-links circle { fill: var(--amber); filter: drop-shadow(0 0 5px rgba(216,154,80,.45)); }
.commitment-core { position: absolute; z-index: 3; left: 50%; top: 50%; width: 138px; height: 138px; display: grid; place-items: center; border: 1px solid rgba(143,91,39,.28); border-radius: 50%; background: rgba(251,250,246,.92); box-shadow: 0 20px 50px rgba(17,23,20,.09), 0 0 0 12px rgba(216,154,80,.055); transform: translate(-50%,-50%); transition: transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s ease; }
.commitment-core::before, .commitment-core::after { content: ""; position: absolute; inset: -13px; border: 1px solid rgba(143,91,39,.15); border-radius: 50%; animation: commitment-orbit 14s linear infinite; }
.commitment-core::after { inset: -25px; border-style: dashed; animation-direction: reverse; animation-duration: 22s; }
.commitment-core:hover { transform: translate(-50%,-50%) scale(1.035); box-shadow: 0 24px 60px rgba(17,23,20,.12), 0 0 0 16px rgba(216,154,80,.07); }
.commitment-core img { width: 56px; height: 56px; object-fit: contain; filter: contrast(1.08); }
.commitment-core span { position: absolute; bottom: 22px; color: var(--amber-dark); font: 6px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; }
.commitment-capabilities { position: absolute; inset: 0; list-style: none; }
.commitment-capability { position: absolute; min-width: 210px; padding: 16px 18px; border: 1px solid rgba(17,23,20,.13); border-radius: 9px; background: rgba(251,250,246,.86); box-shadow: 0 10px 30px rgba(17,23,20,.045); backdrop-filter: blur(8px); transition: transform .35s cubic-bezier(.22,1,.36,1), border-color .3s ease, box-shadow .3s ease, background-color .3s ease; }
.commitment-capability:nth-child(1) { left: 3%; top: 12%; }
.commitment-capability:nth-child(2) { left: 7%; top: 59%; }
.commitment-capability:nth-child(3) { left: 27%; bottom: 5%; }
.commitment-capability:nth-child(4) { right: 3%; top: 12%; }
.commitment-capability:nth-child(5) { right: 7%; top: 59%; }
.commitment-capability:nth-child(6) { right: 27%; bottom: 5%; }
.commitment-capability small { display: block; margin-bottom: 7px; color: var(--amber-dark); font: 7px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.commitment-capability strong { display: block; font-size: 14px; font-weight: 520; letter-spacing: -.015em; }
.commitment-capability p { max-width: 220px; margin-top: 5px; color: var(--ink-muted); font-size: 10px; line-height: 1.45; }
.commitment-capability:hover { border-color: rgba(143,91,39,.38); background: var(--paper-bright); box-shadow: 0 16px 36px rgba(17,23,20,.08); transform: translateY(-4px); }
@keyframes commitment-dash { to { stroke-dashoffset: -100; } }
@keyframes commitment-orbit { to { transform: rotate(360deg); } }
@media (max-width: 900px) {
  .commitment-map { min-height: auto; padding: 42px 0; }
  .commitment-map::before, .commitment-links { display: none; }
  .commitment-core { position: relative; left: auto; top: auto; margin: 0 auto 46px; transform: none; }
  .commitment-core:hover { transform: scale(1.035); }
  .commitment-capabilities { position: static; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .commitment-capability, .commitment-capability:nth-child(n) { position: static; min-width: 0; }
}
@media (max-width: 620px) {
  .commitment-capabilities { grid-template-columns: 1fr; }
  .commitment-capability { padding: 15px 16px; }
  .commitment-capability p { max-width: none; }
}

/* FAQ */
.faq { padding: 132px 0; background: var(--paper-bright); }
.faq-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 100px; }
.faq h2 { margin-top: 38px; font-size: clamp(43px, 4.5vw, 64px); font-weight: 350; line-height: 1.02; letter-spacing: -.05em; }
.faq h2 em { color: var(--amber-dark); }
.faq-intro > p { max-width: 390px; margin-top: 25px; color: var(--ink-muted); font-size: 14px; line-height: 1.7; }
.faq-list { border-top: 1px solid var(--line-dark); }
.faq details { border-bottom: 1px solid var(--line-dark); }
.faq summary { min-height: 90px; display: grid; grid-template-columns: 40px 1fr 20px; gap: 15px; align-items: center; list-style: none; cursor: pointer; font-size: 16px; font-weight: 520; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary > span { color: var(--amber-dark); font: 8px/1 var(--mono); }
.faq summary i { position: relative; width: 15px; height: 15px; }
.faq summary i::before,
.faq summary i::after { content: ''; position: absolute; left: 0; top: 7px; width: 15px; height: 1px; background: var(--ink); transition: transform .25s ease; }
.faq summary i::after { transform: rotate(90deg); }
.faq details[open] summary i::after { transform: rotate(0); }
.faq details p { max-width: 680px; padding: 0 55px 30px; color: var(--ink-muted); font-size: 14px; line-height: 1.75; }

/* Contato */
.contact {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 92px 0 86px;
  background: var(--amber);
  color: var(--paper-bright);
}
.contact::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(143,91,39,.13), transparent 105px),
    radial-gradient(circle at 90% 5%, rgba(251,250,246,.16), transparent 26%),
    linear-gradient(125deg, var(--amber-bright), var(--amber) 57%, #ca873f);
}
.contact-intro { position: relative; }
.contact .section-label.light { color: rgba(251,250,246,.7); }
.contact .section-label.light::before { border-color: rgba(251,250,246,.46); }
.contact .section-label.light span { color: var(--paper-bright); }
.contact h2 {
  max-width: 900px;
  margin-top: 32px;
  color: var(--paper-bright);
  font-size: clamp(38px, 4.4vw, 60px);
  font-weight: 330;
  line-height: .98;
  letter-spacing: -.045em;
}
.contact h2 > span {
  display: block;
  width: fit-content;
  color: var(--paper-bright);
  transition: transform .7s cubic-bezier(.22,1,.36,1), text-shadow .7s ease;
}
.contact h2 em {
  position: relative;
  display: inline-block;
  color: var(--paper-bright);
  isolation: isolate;
}
.contact h2 em::after {
  content: attr(data-text);
  position: absolute;
  z-index: 1;
  inset: 0;
  overflow: hidden;
  color: var(--amber-dark);
  clip-path: inset(0 100% 0 0);
  text-shadow: 0 8px 24px rgba(110,61,20,.12);
  transition: clip-path .9s cubic-bezier(.22,1,.36,1);
  pointer-events: none;
}
.contact h2 em::before {
  content: "";
  position: absolute;
  left: .02em;
  right: 0;
  bottom: -.04em;
  height: 2px;
  background: linear-gradient(90deg, var(--paper-bright), var(--amber-dark));
  transform: scaleX(.12);
  transform-origin: left;
  opacity: .72;
  transition: transform .9s cubic-bezier(.22,1,.36,1);
}
.contact-intro:hover h2 > span { transform: translateX(.018em); text-shadow: 0 10px 25px rgba(110,61,20,.1); }
.contact-intro:hover h2 > span:nth-child(2) { transform: translateX(.035em); }
.contact-intro:hover h2 > span:nth-child(3) { transform: translateX(.052em); }
.contact-intro:hover h2 em::after { clip-path: inset(0 0 0 0); }
.contact-intro:hover h2 em::before { transform: scaleX(1); }
.contact-intro-foot { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 72px; align-items: end; margin-top: 34px; }
.contact-intro-foot > p { color: rgba(17,23,20,.65); font-size: 14px; line-height: 1.7; }
.contact-assurances { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 0; padding: 0; list-style: none; }
.contact-assurances li { position: relative; padding: 11px 0 0; border-top: 1px solid rgba(17,23,20,.22); color: rgba(17,23,20,.6); font: 8.5px/1.45 var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.contact-assurances li::before { content: ""; position: absolute; top: -3px; left: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--paper-bright); transition: transform .3s ease, box-shadow .3s ease; }
.contact-assurances li:hover::before { transform: scale(1.35); box-shadow: 0 0 0 5px rgba(251,250,246,.15); }

.contact .contact-form {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0 20px;
  margin-top: 44px;
  padding: 32px;
  border: 0;
  border-top: 1px solid rgba(251,250,246,.42);
  border-bottom: 1px solid rgba(17,23,20,.18);
  border-radius: 0;
  background: linear-gradient(90deg, rgba(251,250,246,.11), rgba(251,250,246,.035) 72%, transparent);
  color: var(--ink);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: none;
}
.contact .contact-form::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 1px;
  background: linear-gradient(transparent, rgba(251,250,246,.5), transparent);
  opacity: .7;
}
.contact-form-heading { grid-column: 1 / 13; display: flex; align-items: end; justify-content: space-between; gap: 30px; margin: 0 0 28px; padding-bottom: 20px; border-bottom: 1px solid rgba(17,23,20,.16); }
.contact-form-heading div { display: grid; gap: 8px; }
.contact-form-heading span { color: rgba(17,23,20,.55); font: 9px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.contact-form-heading strong { color: var(--ink); font-size: 22px; font-weight: 470; letter-spacing: -.03em; }
.contact-form-heading small { color: rgba(17,23,20,.5); font: 9px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.contact .field { position: relative; margin: 0; padding: 0; }
.contact-field-name { grid-column: 1 / 4; }
.contact-field-office { grid-column: 4 / 7; }
.contact-field-team { grid-column: 7 / 10; }
.contact-field-channel { grid-column: 10 / 13; }
.contact-field-message { grid-column: 1 / 9; margin-top: 20px !important; }
.contact-form-action { grid-column: 9 / 13; align-self: end; min-height: 98px; margin-top: 20px !important; justify-content: flex-end; }
.contact .field label { display: block; margin: 0 0 9px 2px; color: rgba(17,23,20,.55); font: 10px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; transition: color .25s ease, transform .25s ease; }
.contact .field-head { display: flex; min-height: 16px; align-items: flex-start; justify-content: space-between; gap: 12px; }
.contact .field input,
.contact .field select,
.contact .field textarea {
  width: 100%;
  border: 1px solid rgba(17,23,20,.15);
  border-radius: 10px;
  outline: 0;
  background: rgba(251,250,246,.2);
  color: var(--ink);
  font-size: 16px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 1px 1px rgba(91,48,14,.025);
  transition: border-color .32s ease, background-color .32s ease, box-shadow .32s ease, transform .32s cubic-bezier(.22,1,.36,1);
}
.contact .field input, .contact .field select { height: 55px; padding: 0 15px; }
.contact .field textarea { min-height: 86px; resize: vertical; padding: 16px 15px; line-height: 1.5; }
.contact .field input::placeholder, .contact .field textarea::placeholder { color: rgba(17,23,20,.36); transition: color .25s ease, transform .25s ease; }
.contact .field:hover label, .contact .field:focus-within label { color: rgba(17,23,20,.78); transform: translateX(2px); }
.contact .field input:hover, .contact .field select:hover, .contact .field textarea:hover {
  border-color: rgba(17,23,20,.28);
  background: rgba(251,250,246,.27);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 8px 22px rgba(91,48,14,.045);
}
.contact .field input:focus, .contact .field select:focus, .contact .field textarea:focus {
  border-color: rgba(251,250,246,.88);
  background: rgba(251,250,246,.36);
  box-shadow: 0 0 0 3px rgba(251,250,246,.12), inset 0 1px 0 rgba(255,255,255,.48), 0 14px 30px rgba(91,48,14,.07);
  transform: translateY(-2px);
}
.contact .field input:focus::placeholder, .contact .field textarea:focus::placeholder { color: rgba(17,23,20,.5); }
.contact .field select { color-scheme: light; cursor: pointer; }
.contact .field select option { background: var(--paper-bright); color: var(--ink); }
.contact .field select option:checked { background: var(--amber); color: var(--ink); }
@media (pointer: fine) {
  .contact .field select {
    -webkit-appearance: none;
    appearance: none;
    padding-right: 38px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='m3.5 5 3.5 3.5L10.5 5' fill='none' stroke='%23111714' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 14px;
  }
}
@media (pointer: coarse) { .contact .field select { font-size: 16px; } }
.contact .channel-toggle { display: flex; align-items: center; gap: 3px; }
.contact .channel-toggle button { padding: 6px 9px; border: 1px solid transparent; border-radius: 5px; background: transparent; color: rgba(17,23,20,.5); font: 9px/1 var(--mono); cursor: pointer; transition: color .22s ease, background-color .22s ease, border-color .22s ease, transform .22s ease; }
.contact .channel-toggle button:hover { border-color: rgba(251,250,246,.28); color: var(--ink); transform: translateY(-1px); }
.contact .channel-toggle button[aria-pressed="true"] { border-color: rgba(251,250,246,.35); background: rgba(251,250,246,.3); color: var(--ink); box-shadow: inset 0 1px 0 rgba(255,255,255,.18); }
.contact .contact-form-action .button-primary {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-width: 252px;
  min-height: 58px;
  justify-content: space-between;
  gap: 24px;
  padding: 7px 9px 7px 22px;
  border: 1px solid rgba(251,250,246,.12);
  border-radius: 12px;
  background: linear-gradient(145deg, var(--ink-soft), #0c110f);
  color: var(--paper);
  box-shadow: 0 15px 32px rgba(17,23,20,.18), inset 0 1px 0 rgba(255,255,255,.07), inset 0 -1px 0 rgba(0,0,0,.24);
  cursor: pointer;
  transition: transform .32s cubic-bezier(.22,1,.36,1), box-shadow .32s ease, border-color .32s ease, background-color .32s ease;
}
.contact .contact-form-action .button-primary::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,.11) 48%, transparent 66%);
  transform: translateX(-130%);
  transition: transform .72s cubic-bezier(.22,1,.36,1);
}
.contact .contact-form-action .button-primary::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 1px;
  border-radius: 10px;
  background: radial-gradient(circle at 78% 20%, rgba(239,182,111,.09), transparent 38%);
  opacity: .4;
  transition: opacity .32s ease;
}
.contact .button-label {
  position: relative;
  z-index: 1;
  width: 118px;
  display: inline-flex;
  align-items: center;
  color: var(--paper);
  font-size: 12px;
  font-weight: 570;
  letter-spacing: -.012em;
  white-space: nowrap;
}
.contact .button-label .swap-char { display: inline-block; width: .62em; text-align: center; }
.contact .button-label .swap-space { width: .34em; }
.contact .button-arrow {
  position: relative;
  z-index: 1;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(251,250,246,.12);
  border-radius: 9px;
  background: rgba(251,250,246,.055);
  color: var(--amber-bright);
  font-size: 14px;
  transition: transform .36s cubic-bezier(.22,1,.36,1), background-color .3s ease, border-color .3s ease, color .3s ease;
}
.contact .contact-form-action .button-primary:hover {
  border-color: rgba(251,250,246,.28);
  transform: translateY(-3px);
  box-shadow: 0 21px 42px rgba(17,23,20,.22), inset 0 1px 0 rgba(255,255,255,.09), inset 0 -1px 0 rgba(0,0,0,.2);
}
.contact .contact-form-action .button-primary:hover::before { transform: translateX(130%); }
.contact .contact-form-action .button-primary:hover::after { opacity: 1; }
.contact .contact-form-action .button-primary:hover .button-arrow {
  transform: translateX(3px) rotate(-4deg);
  border-color: rgba(239,182,111,.3);
  background: rgba(239,182,111,.11);
  color: var(--paper-bright);
}
.contact .contact-form-action .button-primary:focus-visible {
  outline: 2px solid var(--paper-bright);
  outline-offset: 4px;
  border-color: rgba(251,250,246,.42);
  box-shadow: 0 18px 38px rgba(17,23,20,.2), 0 0 0 5px rgba(251,250,246,.1);
}
.contact .contact-form-action .button-primary:active {
  transform: translateY(-1px) scale(.988);
  box-shadow: 0 9px 19px rgba(17,23,20,.17), inset 0 1px 3px rgba(0,0,0,.16);
  transition-duration: .09s;
}
.contact .contact-form-action .button-primary:active .button-arrow { transform: translateX(1px) scale(.95); }

.contact .form-ok { display: none; color: rgba(17,23,20,.68); font-size: 12px; }
.contact .form-ok[data-state="success"] { color: #2f7042; }
.contact .form-ok[data-state="error"] { color: #87372f; }

@media (min-width: 901px) {
  .contact .section-frame {
    width: var(--frame);
    display: grid;
    grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
    gap: clamp(34px, 3.5vw, 46px);
    align-items: start;
  }
  .contact h2 {
    max-width: 100%;
    font-size: clamp(46px, 4.05vw, 54px);
    line-height: 1.01;
    letter-spacing: -.058em;
  }
  .contact h2 > span { white-space: nowrap; }
  .contact-intro { padding-top: 8px; }
  .contact-intro-foot { grid-template-columns: 1fr; gap: 25px; max-width: 490px; }
  .contact-assurances { grid-template-columns: 1fr; gap: 13px; }
  .contact .contact-form { margin-top: 0; }
  .contact-field-name, .contact-field-office, .contact-field-team, .contact-field-channel { grid-column: span 6; margin: 0 0 18px !important; }
  .contact-field-message { grid-column: 1 / 13; margin: 2px 0 0 !important; }
  .contact-form-action { grid-column: 1 / 13; min-height: 0; margin: 20px 0 0 !important; justify-content: flex-end; }
}
@media (max-width: 1080px) {
  .contact .contact-form { padding: 28px; }
  .contact-field-name, .contact-field-office, .contact-field-team, .contact-field-channel { grid-column: span 6; margin: 0 0 18px !important; }
  .contact-field-message { grid-column: 1 / 13; margin: 2px 0 0 !important; }
  .contact-form-action { grid-column: 1 / 13; min-height: 0; margin: 20px 0 0 !important; justify-content: flex-end; }
}
@media (max-width: 900px) {
  .contact .section-frame { display: block; }
  .contact h2 { max-width: 760px; font-size: clamp(48px, 7.4vw, 66px); }
  .contact h2 > span { white-space: normal; }
  .contact-intro-foot { max-width: none; grid-template-columns: 1fr; gap: 24px; }
  .contact-assurances { grid-template-columns: repeat(3, 1fr); }
  .contact .contact-form { margin-top: 44px; }
}
@media (max-width: 700px) {
  .contact { padding: 78px 0 72px; }
  .contact h2 { margin-top: 34px; font-size: 43px; line-height: .96; }
  .contact-intro-foot { margin-top: 27px; }
  .contact-assurances { grid-template-columns: 1fr; gap: 13px; }
  .contact .contact-form { grid-template-columns: 1fr; gap: 0; margin-top: 34px; padding: 24px 18px; }
  .contact .contact-form::after { display: none; }
  .contact-form-heading { grid-column: 1; display: grid; gap: 13px; margin: 0 0 23px; }
  .contact-form-heading small { justify-self: start; }
  .contact-field-name, .contact-field-office, .contact-field-team, .contact-field-channel, .contact-field-message, .contact-form-action { grid-column: 1; }
  .contact-field-name, .contact-field-office, .contact-field-team, .contact-field-channel { margin: 0 0 16px !important; }
  .contact-field-message { margin: 0 !important; }
  .contact-form-action { min-height: 0; margin: 16px 0 0 !important; justify-content: flex-start; }
  .contact .contact-form-action .button-primary { width: 100%; }
}

/* Rodapé */
.site-footer { padding: 70px 0 26px; background: var(--ink); color: var(--paper); border-top: 1px solid var(--line-light); }
.footer-main { min-height: 165px; display: grid; grid-template-columns: 190px 1fr auto; gap: 60px; align-items: start; }
.footer-brand img { width: 112px; height: auto; }
.footer-main > p { max-width: 330px; color: rgba(242,239,231,.48); font-size: 14px; line-height: 1.7; }
.footer-main nav { display: flex; flex-wrap: wrap; gap: 10px 26px; }
.footer-main nav a { color: rgba(242,239,231,.56); font-size: 12px; transition: color .2s ease; }
.footer-main nav a:hover { color: var(--amber-bright); }
.footer-bottom { display: flex; justify-content: space-between; padding-top: 22px; border-top: 1px solid var(--line-light); color: rgba(242,239,231,.32); font: 7px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; }

.floating-contact {
  position: fixed;
  z-index: 80;
  right: 20px;
  bottom: 20px;
  min-height: 46px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 9px 0 16px;
  border: 1px solid rgba(242,239,231,.16);
  border-radius: 24px;
  background: rgba(17,23,20,.9);
  color: var(--paper);
  box-shadow: 0 12px 40px rgba(0,0,0,.18);
  backdrop-filter: blur(12px);
  font-size: 11px;
  transition: transform .25s ease;
}
.floating-contact:hover { transform: translateY(-3px); }
.floating-contact b { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--amber); color: var(--ink); font-size: 13px; }

@media (max-width: 1080px) {
  :root { --frame: min(calc(100% - 40px), 980px); }
  .principle-grid, .section-head { grid-template-columns: 150px minmax(0,1fr); }
  .principle-aside, .section-head > p { grid-column: 2; }
  .practice-tab { padding: 18px 14px; }
  .panel-copy { padding: 42px; }
  .panel-visual { margin: 42px 32px; }
  .method-grid, .contact-grid { gap: 64px; }
  .diagnostic-grid { gap: 45px; }
}

@media (max-width: 900px) {
  .site-header nav {
    position: fixed;
    inset: 76px 0 auto;
    width: min(100%, 520px);
    margin: 0 auto;
    padding: 12px;
    display: grid;
    gap: 2px;
    border: 1px solid rgba(242,239,231,.14);
    border-radius: 14px;
    background: rgba(13,18,16,.98);
    box-shadow: 0 20px 60px rgba(0,0,0,.25);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity .25s ease, visibility .25s ease, transform .25s ease;
  }
  .site-header nav.open { opacity: 1; visibility: visible; transform: translateY(0); }
  .site-header nav a { padding: 14px 12px; border-bottom: 1px solid rgba(242,239,231,.07); }
  .site-header nav a:last-child { border-bottom: 0; }
  .nav-toggle { display: block; margin-left: auto; }
  .nav-cta { min-height: 42px; }

  .hero { padding-top: 150px; }
  .hero h1 { font-size: clamp(50px, 9.6vw, 76px); }
  .legal-orbit { width: 330px; height: 330px; }

  .principle-grid, .section-head { grid-template-columns: 1fr; gap: 26px; }
  .principle-aside, .section-head > p { grid-column: auto; }
  .principle-aside { max-width: 560px; }
  .section-head > p { max-width: 560px; }
  .signal-grid { grid-template-columns: 1fr 1fr; }
  .signal:nth-child(2) { border-right: 1px solid var(--line-dark); }
  .signal:nth-child(-n+2) { border-bottom: 1px solid var(--line-dark); }

  .practice-tabs { grid-template-columns: 1fr 1fr; }
  .practice-tab:nth-child(2) { border-right: 0; }
  .practice-tab:nth-child(-n+2) { border-bottom: 1px solid var(--line-light); }
  .practice-panel { grid-template-columns: 1fr; }
  .panel-copy { border-right: 0; border-bottom: 1px solid var(--line-light); }
  .panel-visual { min-height: 390px; }

  .method-grid, .faq-grid, .contact-grid { grid-template-columns: 1fr; }
  .method-intro { position: static; }
  .calculator { min-height: auto; }
  .calculator-head { grid-template-columns: 1fr; gap: 24px; }
  .calculator-head > p { grid-column: 1; max-width: 600px; }
  .integration-flow { grid-template-columns: 1fr; gap: 16px; }
  .integration-flow-copy p { max-width: 460px; }
  .calculator-shell { grid-template-columns: 1fr; }
  .calculator-result { min-height: 420px; border-top: 1px solid rgba(216,154,80,.32); border-left: 0; }
  .faq-grid { gap: 60px; }
  .contact-grid { gap: 64px; }
  .commitment-list article { grid-template-columns: 60px 1fr; padding: 30px 0; }
  .commitment-list p { grid-column: 2; }
  .footer-main { grid-template-columns: 150px 1fr; }
  .footer-main nav { grid-column: 1 / 3; }
}

@media (max-width: 620px) {
  :root { --frame: calc(100% - 32px); }
  html { scroll-padding-top: 90px; }
  .site-header { top: 10px; width: calc(100vw - 20px); }
  .nav-shell { height: 60px; padding-left: 14px; border-radius: 15px; gap: 10px; }
  .brand img { width: 27px; height: 30px; }
  .brand b { font-size: 12px; }
  .nav-cta { display: none; }
  .site-header nav { inset: 68px 0 auto; width: 100%; }

  .hero { min-height: 930px; padding: 126px 16px 48px; }
  .hero-grid i { width: 33.333vw; }
  .hero-grid i:last-child { display: none; }
  .hero-kicker { font-size: 8px; }
  .hero h1 { font-size: clamp(42px, 13vw, 60px); line-height: 1.01; }
  .hero-lead { margin-top: 22px; font-size: 16px; }
  .hero-actions { flex-direction: column; gap: 13px; margin-top: 28px; }
  .hero-actions .button { width: min(100%, 310px); }
  .hero-assurances { flex-wrap: wrap; gap: 10px 16px; margin-top: 20px; }
  .hero-assurances li { font-size: 7px; }
  .hero-assurances li + li::before { margin-right: 16px; }
  .legal-orbit { width: 280px; height: 280px; margin-top: 32px; }
  .orbit-core img { width: 51px; height: 55px; }
  .orbit-signature { bottom: -7px; gap: 7px; font-size: 5px; letter-spacing: .16em; }
  .orbit-signature::before, .orbit-signature::after { width: 10px; }
  .note-a { left: -5px; top: 32%; }.note-b { right: -8px; bottom: 18%; }
  .orbit-note { padding: 7px 8px; font-size: 6px; }
  .scroll-cue { display: none; }

  .principle, .practice, .method, .commitments, .faq, .contact { padding: 92px 0; }
  .principle h2, .section-head h2, .method h2, .faq h2, .contact h2 { font-size: 42px; }
  .principle-aside { padding-top: 28px; }
  .signal { min-height: 145px; padding: 24px 18px; }
  .signal > span { margin-bottom: 22px; }
  .signal p { font-size: 11px; }

  .section-head { margin-bottom: 42px; }
  .practice-shell { border-radius: 10px; }
  .practice-tab { min-height: 104px; grid-template-columns: 22px 1fr; padding: 15px 10px; }
  .practice-tab b { font-size: 11px; }
  .practice-tab small { font-size: 6px; }
  .panel-copy { padding: 34px 24px; }
  .panel-copy h3 { font-size: 33px; }
  .panel-visual { min-height: 365px; margin: 24px 14px; }
  .flow-row { margin-inline: 10px; grid-template-columns: 30px 1fr; }
  .flow-row em { display: none; }
  .map-labels { right: 4%; left: 4%; }

  .method-grid { gap: 54px; }
  .method-steps li { grid-template-columns: 50px 1fr; gap: 18px; }
  .method-steps h3 { font-size: 21px; }

  .calculator { padding: 100px 0 74px; }
  .calculator h2 { font-size: 42px; }
  .integration-section { padding-block: 38px; }
  .integration-flow { margin-top: 0; padding-block: 15px; }
  .integration-item { height: 44px; padding-inline: 12px; }
  .calculator-shell { margin-top: 38px; }
  .calculator-controls { padding: 42px 20px 26px; }
  .calculator-control-head { display: grid; gap: 8px; }
  .calculator-control output { justify-self: start; }
  .calculator-result { min-height: 390px; padding: 58px 24px 34px; }
  .calculator-result::before { inset: 12px; }
  .calculator-result > strong { font-size: 46px; }
  .calculator-progress span { display: none; }

  .section-head.compact { grid-template-columns: 1fr; gap: 28px; margin-bottom: 46px; }
  .commitment-list article { grid-template-columns: 40px 1fr; gap: 14px; }
  .commitment-list h3 { font-size: 20px; }
  .commitment-list p { font-size: 13px; }

  .faq-grid { gap: 45px; }
  .faq summary { min-height: 82px; grid-template-columns: 30px 1fr 18px; font-size: 14px; }
  .faq details p { padding: 0 32px 28px 45px; font-size: 13px; }

  .contact-form { padding: 24px 18px; }
  .field-row { grid-template-columns: 1fr; gap: 0; }
  .form-action { align-items: flex-start; flex-direction: column; }
  .form-action .button { width: 100%; }
  .footer-main { min-height: 0; grid-template-columns: 1fr; gap: 30px; padding-bottom: 45px; }
  .footer-main nav { grid-column: auto; }
  .footer-bottom { gap: 18px; flex-direction: column; }
  .floating-contact { right: 12px; bottom: 12px; }
  .floating-contact span { display: none; }
  .floating-contact { min-height: 48px; width: 48px; padding: 0; justify-content: center; }
  .floating-contact b { width: 34px; height: 34px; }
}

/* Refinamentos finais: ecossistema, contato e redes sociais */
.commitments { padding: 118px 0; }
.commitments::before { width: 760px; height: 360px; opacity: .62; }
.commitments h2 em { color: var(--amber-dark); }
.commitment-map { min-height: 390px; display: grid; grid-template-columns: minmax(0,1fr) 180px minmax(0,1fr); gap: 46px; align-items: center; padding: 38px 44px; border: 1px solid var(--line-dark); border-radius: 18px; background: rgba(251,250,246,.5); }
.commitment-map::before { inset: 18px; border-radius: 14px; }
.commitment-links { z-index: 0; }
.commitment-links path { stroke: rgba(143,91,39,.31); }
.commitment-core { position: relative; left: auto; top: auto; width: 154px; height: 154px; margin: auto; background: var(--ink); border-color: rgba(216,154,80,.5); box-shadow: 0 24px 60px rgba(17,23,20,.18), 0 0 0 13px rgba(216,154,80,.075); transform: none; }
.commitment-core:hover { transform: scale(1.035); }
.commitment-core img { width: 66px; height: 70px; filter: none; }
.commitment-core strong { position: absolute; bottom: 31px; color: var(--paper); font-size: 9px; font-weight: 560; letter-spacing: .16em; }
.commitment-core span { bottom: 18px; color: var(--amber-bright); font-size: 5px; }
.commitment-capabilities { position: relative; inset: auto; display: grid; gap: 13px; }
.commitment-capabilities.is-left { text-align: right; }
.commitment-capability, .commitment-capability:nth-child(n) { position: relative; inset: auto; min-width: 0; padding: 17px 19px; border: 1px solid rgba(17,23,20,.12); border-radius: 999px; background: rgba(251,250,246,.82); box-shadow: none; }
.commitment-capabilities.is-left .commitment-capability::after,
.commitment-capabilities.is-right .commitment-capability::before { content: ""; position: absolute; top: 50%; width: 47px; height: 1px; background: linear-gradient(90deg, rgba(143,91,39,.3), rgba(143,91,39,.08)); }
.commitment-capabilities.is-left .commitment-capability::after { left: 100%; }
.commitment-capabilities.is-right .commitment-capability::before { right: 100%; transform: rotate(180deg); }
.commitment-capability small { margin-bottom: 5px; }
.commitment-capability strong { font-size: 14px; }
.commitment-capability p { max-width: none; margin-top: 3px; font-size: 9px; }
.commitment-capability:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(17,23,20,.07); }

.contact { padding: 128px 0; background: var(--paper); color: var(--ink); }
.contact::before { display: none; }
.contact .section-frame { width: var(--frame); display: grid; grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); gap: clamp(70px,8vw,120px); align-items: start; }
.contact-intro { position: sticky; top: 128px; padding-top: 0; }
.contact .section-label.light { color: var(--ink-muted); }
.contact .section-label.light::before { border-color: var(--line-dark); }
.contact .section-label.light span { color: var(--amber-dark); }
.contact h2 { max-width: 490px; margin-top: 38px; color: var(--ink); font-size: clamp(48px,4.4vw,64px); font-weight: 350; line-height: 1.01; letter-spacing: -.058em; }
.contact h2 > span { color: var(--ink); white-space: normal; }
.contact h2 em { color: var(--amber-dark); }
.contact h2 em::after { color: var(--amber-bright); text-shadow: none; }
.contact h2 em::before { background: linear-gradient(90deg,var(--amber-dark),var(--amber-bright)); }
.contact-intro-foot { display: block; max-width: 450px; margin-top: 32px; }
.contact-intro-foot > p { color: var(--ink-muted); }
.contact-assurances { display: grid; grid-template-columns: 1fr; gap: 0; margin-top: 32px; border-top: 1px solid var(--line-dark); }
.contact-assurances li { padding: 14px 0 14px 24px; border-top: 0; border-bottom: 1px solid var(--line-dark); color: var(--ink-muted); }
.contact-assurances li::before { top: 50%; width: 5px; height: 5px; background: var(--amber); transform: translateY(-50%); }
.contact-assurances li:hover::before { transform: translateY(-50%) scale(1.35); box-shadow: 0 0 0 5px rgba(216,154,80,.12); }
.contact .contact-form { margin-top: 0; padding: 0; border: 0; border-top: 1px solid var(--line-dark); border-bottom: 0; background: transparent; box-shadow: none; }
.contact .contact-form::after { display: none; }
.contact-form-heading { margin-bottom: 8px; padding: 26px 0; }
.contact-form-heading strong { font-size: 22px; }
.contact .field { padding: 20px 0; border-bottom: 1px solid var(--line-dark); }
.contact-field-name, .contact-field-office, .contact-field-team, .contact-field-channel { grid-column: span 6; margin: 0 !important; }
.contact-field-message { grid-column: 1 / 13; margin: 0 !important; }
.contact .field input, .contact .field select, .contact .field textarea { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.contact .field input, .contact .field select { height: 42px; padding: 0 2px; }
.contact .field textarea { min-height: 92px; padding: 10px 2px; }
.contact .field input:hover, .contact .field select:hover, .contact .field textarea:hover { border-color: transparent; background: rgba(216,154,80,.035); box-shadow: none; }
.contact .field input:focus, .contact .field select:focus, .contact .field textarea:focus { border-color: transparent; background: rgba(216,154,80,.055); box-shadow: inset 3px 0 0 var(--amber); transform: none; }
.contact .channel-toggle button[aria-pressed="true"] { border-color: rgba(143,91,39,.25); background: rgba(216,154,80,.1); }
.contact-form-action { grid-column: 1 / 13; min-height: 0; margin: 25px 0 0 !important; justify-content: flex-start; }
.contact .contact-form-action .button-primary { box-shadow: 0 12px 28px rgba(17,23,20,.14); }

.footer-social { display: flex; gap: 9px; justify-content: flex-end; }
.footer-social a { width: 39px; height: 39px; display: grid; place-items: center; border: 1px solid rgba(242,239,231,.14); border-radius: 50%; color: rgba(242,239,231,.62); transition: color .25s ease, border-color .25s ease, background-color .25s ease, transform .25s ease; }
.footer-social a:hover { color: var(--amber-bright); border-color: rgba(239,182,111,.4); background: rgba(216,154,80,.07); transform: translateY(-3px); }
.footer-social svg { width: 16px; height: 16px; fill: currentColor; }

@media (max-width: 900px) {
  .commitment-map { min-height: auto; grid-template-columns: 1fr; gap: 28px; padding: 38px 24px; }
  .commitment-map::before, .commitment-links { display: none; }
  .commitment-core { grid-row: 1; margin-bottom: 10px; }
  .commitment-capabilities { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); text-align: left !important; }
  .commitment-capabilities.is-left .commitment-capability::after, .commitment-capabilities.is-right .commitment-capability::before { display: none; }
  .commitment-capability, .commitment-capability:nth-child(n) { border-radius: 10px; }
  .contact .section-frame { display: grid; grid-template-columns: 1fr; gap: 60px; }
  .contact-intro { position: static; }
  .contact h2 { max-width: 700px; }
}
@media (max-width: 620px) {
  .commitment-map { padding: 30px 16px; }
  .commitment-capabilities { grid-template-columns: 1fr; gap: 10px; }
  .contact { padding: 92px 0; }
  .contact .section-frame { gap: 46px; }
  .contact h2 { font-size: 42px; }
  .contact .contact-form { padding: 0; }
  .contact-form-heading { grid-column: 1; }
  .contact .field { padding: 17px 0; }
  .contact-field-name, .contact-field-office, .contact-field-team, .contact-field-channel, .contact-field-message, .contact-form-action { grid-column: 1; }
  .footer-social { justify-content: flex-start; }
}

/* Ajustes de proporção: hub, contato compacto */
.commitments { padding: 96px 0 90px; }
.section-head.compact { margin-bottom: 42px; }
.commitment-map { min-height: 330px; grid-template-columns: minmax(0,1fr) 132px minmax(0,1fr); gap: 34px; padding: 28px 34px; border: 0; border-block: 1px solid var(--line-dark); border-radius: 0; background: transparent; }
.commitment-map::before { display: none; }
.commitment-links path { stroke: rgba(143,91,39,.25); stroke-dasharray: 2 8; }
.commitment-core { width: 118px; height: 82px; padding: 13px 18px; border: 1px solid rgba(216,154,80,.4); border-radius: 14px; background: linear-gradient(145deg,var(--ink-soft),var(--ink)); box-shadow: 0 16px 38px rgba(17,23,20,.14), inset 0 1px 0 rgba(255,255,255,.06); }
.commitment-core::before, .commitment-core::after { display: none; }
.commitment-core img { width: 48px; height: 52px; object-fit: contain; }
.commitment-core strong { display: none; }
.commitment-core span { right: auto; bottom: -21px; width: max-content; color: var(--amber-dark); font-size: 5px; letter-spacing: .18em; }
.commitment-capabilities { gap: 9px; }
.commitment-capability, .commitment-capability:nth-child(n) { padding: 13px 17px; border-color: rgba(17,23,20,.105); background: rgba(251,250,246,.58); }
.commitment-capabilities.is-left .commitment-capability::after,
.commitment-capabilities.is-right .commitment-capability::before { width: 35px; }
.commitment-capability small { margin-bottom: 4px; font-size: 6px; }
.commitment-capability strong { font-size: 13px; }
.commitment-capability p { font-size: 8px; }

.contact { padding: 88px 0 82px; }
.contact .section-frame { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(48px,6vw,82px); }
.contact-intro { top: 104px; }
.contact h2 { max-width: 460px; margin-top: 28px; font-size: clamp(43px,3.8vw,54px); }
.contact-intro-foot { margin-top: 23px; }
.contact-intro-foot > p { font-size: 12px; line-height: 1.6; }
.contact-assurances { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 22px; border-top: 0; }
.contact-assurances li { padding: 10px 0 0 12px; border-top: 1px solid var(--line-dark); border-bottom: 0; font-size: 6px; }
.contact-assurances li::before { top: 8px; transform: none; }
.contact-assurances li:hover::before { transform: scale(1.3); }
.contact-form-heading { padding: 18px 0; margin-bottom: 0; }
.contact-form-heading strong { font-size: 19px; }
.contact .field { padding: 13px 0; }
.contact .field label { margin-bottom: 6px; }
.contact .field input, .contact .field select { height: 38px; font-size: 13px; }
.contact .field textarea { min-height: 68px; padding-block: 7px; font-size: 13px; }
.contact-form-action { margin-top: 18px !important; }
.contact .contact-form-action .button-primary { min-height: 52px; }

@media (max-width: 900px) {
  .commitment-map { padding: 32px 22px; }
  .commitment-core { width: 118px; height: 82px; }
  .contact { padding: 84px 0 78px; }
  .contact .section-frame { gap: 46px; }
  .contact-assurances { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .commitments { padding: 82px 0 76px; }
  .contact { padding: 76px 0 70px; }
  .contact h2 { font-size: 39px; }
  .contact-assurances { grid-template-columns: 1fr; gap: 8px; }
  .contact-assurances li { padding: 9px 0 9px 14px; border-top: 0; border-bottom: 1px solid var(--line-dark); }
  .contact-assurances li::before { top: 50%; transform: translateY(-50%); }
  .contact .field { padding: 13px 0; }
}

/* Fluxograma: assinatura de marca e respiro */
.commitment-map { min-height: 390px; grid-template-columns: minmax(0,1fr) 176px minmax(0,1fr); gap: 62px; padding: 38px 34px; }
.commitment-core { width: 164px; height: 96px; padding: 22px 24px; border-radius: 12px; border-color: rgba(143,91,39,.22); background: var(--ink); box-shadow: 0 18px 42px rgba(17,23,20,.13); }
.commitment-core img { width: 112px; height: auto; max-height: 54px; object-fit: contain; }
.commitment-core span { display: none; }
.commitment-capabilities { gap: 18px; }
.commitment-capability, .commitment-capability:nth-child(n) { min-height: 72px; display: flex; flex-direction: column; justify-content: center; padding: 14px 20px; }
.commitment-capabilities.is-left .commitment-capability::after,
.commitment-capabilities.is-right .commitment-capability::before { width: 63px; }
.commitment-capability p { margin-top: 5px; line-height: 1.45; }
@media (max-width: 900px) {
  .commitment-map { gap: 34px; padding: 36px 24px; }
  .commitment-core { width: 164px; height: 96px; }
  .commitment-capabilities { gap: 14px; }
}
@media (max-width: 620px) {
  .commitment-map { gap: 28px; }
  .commitment-capabilities { gap: 12px; }
}

/* Fluxograma: alinhamento editorial e logo vetorial */
.commitment-capabilities.is-left,
.commitment-capabilities.is-right { text-align: center; }
.commitment-capability, .commitment-capability:nth-child(n) { align-items: center; text-align: center; }
.commitment-capability small, .commitment-capability strong, .commitment-capability p { width: 100%; text-align: center; }
.commitment-core { width: 126px; height: 126px; padding: 17px; border-radius: 20px; border-color: rgba(216,154,80,.34); background: linear-gradient(145deg,#1a211d,#0d1210); box-shadow: 0 18px 42px rgba(17,23,20,.15), inset 0 1px 0 rgba(255,255,255,.055); }
.commitment-core img { width: 92px; height: 96px; max-height: none; object-fit: contain; }
.footer-bottom { align-items: center; gap: 24px; flex-wrap: wrap; }
@media (max-width: 900px) {
  .commitment-core { width: 126px; height: 126px; }
}
@media (max-width: 620px) {
  .commitment-capability, .commitment-capability:nth-child(n) { min-height: 78px; }
}

/* Ecossistema vivo: movimento, hierarquia e resposta conectada */
.commitment-core {
  isolation: isolate;
  animation: ecosystem-breathe 6s cubic-bezier(.45,0,.55,1) infinite;
  transition: transform .5s cubic-bezier(.22,1,.36,1), border-color .4s ease, box-shadow .5s ease;
}
.commitment-core::before {
  content: "";
  position: absolute;
  z-index: -1;
  display: block;
  inset: -12px;
  border: 1px solid rgba(216,154,80,.16);
  border-radius: 27px;
  background: radial-gradient(circle,rgba(216,154,80,.09),transparent 67%);
  opacity: .72;
  animation: ecosystem-halo 6s cubic-bezier(.45,0,.55,1) infinite;
  pointer-events: none;
}
.commitment-core::after {
  content: "";
  position: absolute;
  display: block;
  right: 10px;
  top: 10px;
  width: 5px;
  height: 5px;
  border: 0;
  border-radius: 50%;
  background: var(--amber-bright);
  box-shadow: 0 0 0 4px rgba(239,182,111,.08),0 0 12px rgba(239,182,111,.38);
  animation: ecosystem-status 3.2s ease-in-out infinite;
}
.commitment-core img { transition: filter .45s ease, transform .5s cubic-bezier(.22,1,.36,1); }
.commitment-links path {
  stroke-dasharray: 2 9;
  stroke-dashoffset: 0;
  animation: ecosystem-data-line 18s linear infinite;
  transition: stroke .32s ease, stroke-width .32s ease, filter .32s ease, opacity .32s ease;
}
.commitment-links circle {
  opacity: .42;
  transform-box: fill-box;
  transform-origin: center;
  animation: ecosystem-packet 4.8s ease-in-out infinite;
}
.commitment-links circle:nth-of-type(2n) { animation-delay: -1.6s; }
.commitment-links circle:nth-of-type(3n) { animation-delay: -3.2s; }
.commitment-capability {
  isolation: isolate;
  overflow: visible;
  transition: transform .4s cubic-bezier(.22,1,.36,1), border-color .35s ease, background-color .35s ease, box-shadow .4s ease;
}
.commitment-capability small { transition: color .3s ease, letter-spacing .35s ease; }
.commitment-capability strong { transition: color .3s ease, font-weight .3s ease, letter-spacing .35s ease; }
.commitment-capability p { transition: color .3s ease; }
.commitment-capabilities.is-left .commitment-capability::after,
.commitment-capabilities.is-right .commitment-capability::before {
  background: linear-gradient(90deg,rgba(143,91,39,.09),rgba(216,154,80,.58),rgba(143,91,39,.09));
  background-size: 220% 100%;
  animation: ecosystem-connector 5.5s linear infinite;
  transition: opacity .32s ease, filter .32s ease;
}
.commitment-capabilities.is-left .commitment-capability:nth-child(2)::after,
.commitment-capabilities.is-right .commitment-capability:nth-child(2)::before { animation-delay: -1.8s; }
.commitment-capabilities.is-left .commitment-capability:nth-child(3)::after,
.commitment-capabilities.is-right .commitment-capability:nth-child(3)::before { animation-delay: -3.6s; }

/* Módulos estratégicos */
.commitment-capabilities.is-left .commitment-capability:nth-child(1),
.commitment-capabilities.is-left .commitment-capability:nth-child(2),
.commitment-capabilities.is-right .commitment-capability:nth-child(2) {
  border-color: rgba(143,91,39,.2);
  background: rgba(251,250,246,.84);
  box-shadow: inset 0 0 0 1px rgba(216,154,80,.025);
}
.commitment-capabilities.is-left .commitment-capability:nth-child(1) strong,
.commitment-capabilities.is-left .commitment-capability:nth-child(2) strong,
.commitment-capabilities.is-right .commitment-capability:nth-child(2) strong { font-weight: 610; }
.commitment-capabilities.is-left .commitment-capability:nth-child(1) small,
.commitment-capabilities.is-left .commitment-capability:nth-child(2) small,
.commitment-capabilities.is-right .commitment-capability:nth-child(2) small { color: #7e4b1d; }

.commitment-capability:hover {
  z-index: 3;
  border-color: rgba(143,91,39,.42);
  background: var(--paper-bright);
  box-shadow: 0 15px 34px rgba(17,23,20,.08),inset 0 1px 0 rgba(255,255,255,.8);
  transform: translateY(-4px);
}
.commitment-capability:hover small { color: var(--amber-dark); letter-spacing: .145em; }
.commitment-capability:hover strong { color: #0b100d; font-weight: 630; letter-spacing: -.005em; }
.commitment-capability:hover p { color: #3f4943; }
.commitment-map:has(.commitment-capability:hover) .commitment-core {
  border-color: rgba(239,182,111,.58);
  box-shadow: 0 21px 48px rgba(17,23,20,.17),0 0 32px rgba(216,154,80,.15),inset 0 1px 0 rgba(255,255,255,.07);
  transform: scale(1.025);
  animation-play-state: paused;
}
.commitment-map:has(.commitment-capability:hover) .commitment-core img { filter: brightness(1.06) saturate(1.06); transform: scale(1.018); }
.commitment-map:has(.is-left .commitment-capability:nth-child(1):hover) .commitment-links path:nth-of-type(1),
.commitment-map:has(.is-left .commitment-capability:nth-child(2):hover) .commitment-links path:nth-of-type(2),
.commitment-map:has(.is-left .commitment-capability:nth-child(3):hover) .commitment-links path:nth-of-type(3),
.commitment-map:has(.is-right .commitment-capability:nth-child(1):hover) .commitment-links path:nth-of-type(4),
.commitment-map:has(.is-right .commitment-capability:nth-child(2):hover) .commitment-links path:nth-of-type(5),
.commitment-map:has(.is-right .commitment-capability:nth-child(3):hover) .commitment-links path:nth-of-type(6) {
  stroke: var(--amber);
  stroke-width: 2;
  opacity: 1;
  filter: drop-shadow(0 0 3px rgba(216,154,80,.38));
}
@keyframes ecosystem-breathe {
  0%,100% { box-shadow: 0 18px 42px rgba(17,23,20,.15),0 0 0 rgba(216,154,80,0),inset 0 1px 0 rgba(255,255,255,.055); }
  50% { box-shadow: 0 20px 46px rgba(17,23,20,.16),0 0 25px rgba(216,154,80,.11),inset 0 1px 0 rgba(255,255,255,.07); }
}
@keyframes ecosystem-halo { 0%,100% { opacity: .52; transform: scale(.985); } 50% { opacity: .9; transform: scale(1.025); } }
@keyframes ecosystem-status { 0%,100% { opacity: .52; transform: scale(.86); } 50% { opacity: 1; transform: scale(1.12); } }
@keyframes ecosystem-data-line { to { stroke-dashoffset: -110; } }
@keyframes ecosystem-packet { 0%,100% { opacity: .22; transform: scale(.72); } 48%,58% { opacity: .9; transform: scale(1.25); } }
@keyframes ecosystem-connector { to { background-position: -220% 0; } }

@media (max-width: 900px) {
  .commitment-core::before { inset: -9px; }
}
@media (hover: none) {
  .commitment-capability:hover { transform: none; }
}

/* Continuidade: Ecossistema, integrações e dúvidas */
.commitments { padding: 90px 0 42px; }
.commitments::after {
  content: "";
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 0;
  width: 1px;
  height: 30px;
  background: linear-gradient(transparent,rgba(143,91,39,.42));
  pointer-events: none;
}
.commitments .section-head.compact { margin-bottom: 34px; }
.commitments .commitment-map { min-height: 370px; }

.integration-section {
  padding: 0;
  border: 0;
  background: linear-gradient(to bottom,var(--paper) 0 50%,var(--paper-bright) 50% 100%);
}
.integration-section::before {
  top: 50%;
  height: 1px;
  background: linear-gradient(90deg,transparent 4%,rgba(17,23,20,.12) 18%,rgba(143,91,39,.22) 50%,rgba(17,23,20,.12) 82%,transparent 96%);
}
.integration-section .integration-flow {
  min-height: 90px;
  grid-template-columns: 190px minmax(0,1fr);
  gap: 30px;
  margin: 0;
  padding: 14px 0;
  border: 0;
  border-block: 1px solid rgba(17,23,20,.12);
  border-radius: 0;
  background: rgba(251,250,246,.78);
  box-shadow: 0 14px 34px rgba(17,23,20,.035);
  backdrop-filter: blur(10px);
}
.integration-flow-copy { padding-left: 18px; }
.integration-flow-copy p { max-width: 180px; margin-top: 7px; line-height: 1.45; }
.integration-marquee { padding: 8px 0; }
.integration-track { animation-duration: 46s; }
.integration-group { gap: 14px; padding-right: 14px; }
.integration-item {
  height: 40px;
  gap: 9px;
  padding: 0 14px;
  border-color: rgba(17,23,20,.1);
  background: rgba(242,239,231,.45);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}
.integration-item::before { left: -10px; }
.integration-item svg { width: 15px; height: 15px; }
.integration-item:hover { transform: translateY(-2px) scale(1.01); }

.faq { padding: 88px 0 108px; }

@media (max-width: 900px) {
  .commitments { padding: 78px 0 36px; }
  .commitments .commitment-map { min-height: auto; }
  .integration-section .integration-flow { grid-template-columns: 1fr; gap: 12px; padding: 17px 0; }
  .integration-flow-copy { padding: 0 20px; }
  .integration-flow-copy p { max-width: 520px; }
  .faq { padding: 78px 0 94px; }
}
@media (max-width: 620px) {
  .commitments { padding: 72px 0 30px; }
  .commitments::after { height: 22px; }
  .commitments .section-head.compact { margin-bottom: 32px; }
  .integration-section { padding: 0; }
  .integration-section .integration-flow { padding: 15px 0; }
  .integration-marquee { padding-block: 5px; }
  .integration-group { gap: 10px; padding-right: 10px; }
  .integration-item { height: 39px; padding-inline: 11px; }
  .faq { padding: 70px 0 84px; }
}

/* União direta entre ecossistema, integrações e dúvidas */
.commitments { padding-bottom: 0; }
.commitments::after { display: none; }
.integration-section .integration-flow { border-top: 0; }
.faq { padding-top: 48px; }
@media (max-width: 900px) {
  .commitments { padding-bottom: 0; }
  .faq { padding-top: 48px; }
}
@media (max-width: 620px) {
  .commitments { padding-bottom: 0; }
  .faq { padding-top: 42px; }
}

/* Ritmo vertical global: compacto, consistente e respirado */
.principle { padding: 92px 0 86px; }
.practice { padding: 92px 0 96px; }
.method { padding: 94px 0; }
.calculator { min-height: auto; padding: 94px 0 82px; }
.commitments { padding: 82px 0 28px; }
.commitments::after { display: none; }
.integration-section {
  padding: 16px 0;
  background: linear-gradient(to bottom,var(--paper) 0 50%,var(--paper-bright) 50% 100%);
}
.integration-section .integration-flow {
  border-top: 1px solid rgba(17,23,20,.12);
  border-bottom: 1px solid rgba(17,23,20,.12);
}
.faq { padding: 44px 0 88px; }
.contact { padding: 78px 0 72px; }
.site-footer { padding-top: 54px; }
.section-head { margin-bottom: 56px; }
.commitments .section-head.compact { margin-bottom: 34px; }

@media (max-width: 900px) {
  .principle, .practice, .method { padding: 78px 0; }
  .calculator { padding: 82px 0 72px; }
  .commitments { padding: 74px 0 26px; }
  .integration-section { padding: 14px 0; }
  .faq { padding: 42px 0 78px; }
  .contact { padding: 72px 0 68px; }
  .section-head { margin-bottom: 48px; }
}
@media (max-width: 620px) {
  .principle, .practice, .method { padding: 66px 0; }
  .calculator { padding: 72px 0 64px; }
  .commitments { padding: 66px 0 22px; }
  .integration-section { padding: 12px 0; }
  .faq { padding: 36px 0 68px; }
  .contact { padding: 66px 0 62px; }
  .site-footer { padding-top: 46px; }
  .section-head { margin-bottom: 40px; }
  .commitments .section-head.compact { margin-bottom: 30px; }
}

/* Contato: composição minimalista sobre âmbar */
.contact {
  background: var(--amber);
  color: var(--paper-bright);
}
.contact::before {
  display: block;
  background:
    radial-gradient(circle at 88% 8%,rgba(251,250,246,.14),transparent 27%),
    linear-gradient(125deg,var(--amber-bright),var(--amber) 58%,#ca873f);
}
.contact .section-label.light { color: rgba(251,250,246,.72); }
.contact .section-label.light::before { border-color: rgba(251,250,246,.48); }
.contact .section-label.light span { color: var(--paper-bright); }
.contact h2,
.contact h2 > span,
.contact h2 em { color: var(--paper-bright); }
.contact h2 em::after { color: var(--amber-dark); }
.contact h2 em::before { background: linear-gradient(90deg,var(--paper-bright),var(--amber-dark)); }
.contact-intro-foot > p { color: rgba(251,250,246,.72); }
.contact-assurances li { border-color: rgba(251,250,246,.3); color: rgba(251,250,246,.68); }
.contact-assurances li::before { background: var(--paper-bright); }
.contact .contact-form {
  border-color: rgba(251,250,246,.42);
  background: linear-gradient(90deg,rgba(251,250,246,.075),rgba(251,250,246,.025));
}
.contact-form-heading { border-color: rgba(17,23,20,.17); }

/* Frentes de atuação: plano conectado e provas visuais vivas */
.practice-shell {
  --active-step: 0;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: rgba(17,23,20,.18);
  border-radius: 16px;
  background:
    radial-gradient(circle at calc(12.5% + var(--active-step) * 25%) 0%,rgba(216,154,80,.12),transparent 24%),
    var(--ink);
  box-shadow: 0 28px 70px rgba(17,23,20,.13);
  transition: background-position .6s ease, box-shadow .5s ease;
}
.practice-shell::before {
  content: "";
  position: absolute;
  z-index: 5;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg,transparent,rgba(239,182,111,.48),transparent);
  opacity: .55;
}
.practice-tabs {
  position: relative;
  isolation: isolate;
  background: rgba(255,255,255,.012);
}
.practice-tabs::before {
  content: "";
  position: absolute;
  z-index: -1;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  background: rgba(242,239,231,.045);
}
.practice-tabs::after {
  content: "";
  position: absolute;
  z-index: 3;
  bottom: -1px;
  left: calc((100% / 4) * var(--active-step));
  width: calc(100% / 4);
  height: 2px;
  background: linear-gradient(90deg,transparent 8%,var(--amber-bright) 50%,transparent 92%);
  box-shadow: 0 0 16px rgba(239,182,111,.32);
  transition: left .55s cubic-bezier(.22,1,.36,1);
  pointer-events: none;
}
.practice-tab {
  min-height: 108px;
  transition: background-color .35s ease,color .35s ease,transform .35s cubic-bezier(.22,1,.36,1);
}
.practice-tab::after { display: none; }
.practice-tab span {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  align-self: center;
  padding: 0;
  border: 1px solid rgba(242,239,231,.11);
  border-radius: 50%;
  transition: color .3s ease,border-color .3s ease,background-color .3s ease,box-shadow .3s ease;
}
.practice-tab b { transition: color .3s ease,transform .35s ease; }
.practice-tab small { transition: color .3s ease,letter-spacing .35s ease; }
.practice-tab:hover { background: rgba(242,239,231,.035); transform: translateY(-2px); }
.practice-tab:hover b { transform: translateX(2px); }
.practice-tab:hover small { color: rgba(242,239,231,.52); letter-spacing: .105em; }
.practice-tab.active { background: linear-gradient(180deg,rgba(216,154,80,.095),rgba(216,154,80,.025)); }
.practice-tab.active span {
  border-color: rgba(239,182,111,.5);
  background: rgba(216,154,80,.1);
  color: var(--amber-bright);
  box-shadow: 0 0 0 4px rgba(216,154,80,.04),0 0 18px rgba(216,154,80,.12);
}

.practice-panel {
  min-height: 480px;
  grid-template-columns: .9fr 1.1fr;
  opacity: 1;
}
.practice-panel.active { animation: practice-panel-in .62s cubic-bezier(.22,1,.36,1) both; }
.practice-panel.active .panel-copy > * { animation: practice-copy-in .56s cubic-bezier(.22,1,.36,1) both; }
.practice-panel.active .panel-copy > *:nth-child(2) { animation-delay: .05s; }
.practice-panel.active .panel-copy > *:nth-child(3) { animation-delay: .1s; }
.practice-panel.active .panel-copy > *:nth-child(4) { animation-delay: .15s; }
.panel-copy { padding: 48px; }
.panel-copy li { transition: color .3s ease,background-color .3s ease,padding-left .3s ease; }
.panel-copy li:hover { padding-left: 23px; background: rgba(242,239,231,.025); color: var(--paper); }
.panel-copy li::before { transition: transform .3s ease,box-shadow .3s ease; }
.panel-copy li:hover::before { transform: scale(1.35); box-shadow: 0 0 0 4px rgba(216,154,80,.08); }

.panel-visual {
  margin: 38px;
  border-color: rgba(242,239,231,.16);
  background: linear-gradient(145deg,#18201c,#111713);
  box-shadow: 0 24px 64px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.025);
  transform: translateZ(0);
  transition: transform .5s cubic-bezier(.22,1,.36,1),border-color .4s ease,box-shadow .5s ease;
}
.practice-panel.active .panel-visual { animation: practice-visual-in .72s .08s cubic-bezier(.22,1,.36,1) both; }
.panel-visual:hover {
  border-color: rgba(239,182,111,.3);
  box-shadow: 0 30px 72px rgba(0,0,0,.28),0 0 28px rgba(216,154,80,.055),inset 0 1px 0 rgba(255,255,255,.035);
  transform: translateY(-3px);
}
.panel-visual::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  background: linear-gradient(105deg,transparent 35%,rgba(239,182,111,.045) 50%,transparent 65%);
  transform: translateX(-120%);
  animation: practice-scan 8s ease-in-out infinite;
  pointer-events: none;
}

/* Frente 01 — fluxo processual */
.flow-row { transition: border-color .4s ease,background-color .4s ease,transform .35s ease,opacity .35s ease; }
.flow-row:hover { border-color: rgba(242,239,231,.26); background: rgba(242,239,231,.035); transform: translateX(3px); }
.flow-row.active { transform: translateX(4px); box-shadow: 0 9px 24px rgba(0,0,0,.12); }
.flow-row.active::after {
  content: "";
  position: absolute;
  left: -1px;
  top: 16%;
  width: 2px;
  height: 68%;
  border-radius: 2px;
  background: var(--amber-bright);
  box-shadow: 0 0 12px rgba(239,182,111,.34);
}

/* Frente 02 — memória técnica */
.practice-panel.active .document-line::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(90deg,transparent,rgba(239,182,111,.45),transparent);
  transform-origin: left;
  animation: practice-document-review 3.8s ease-in-out infinite;
}
.document-line:nth-of-type(2)::after { animation-delay: -.8s !important; }
.document-line:nth-of-type(3)::after { animation-delay: -1.6s !important; }
.document-data { transition: background-color .3s ease,padding-inline .3s ease; }
.document-data:hover { padding-inline: 8px; background: rgba(242,239,231,.025); }

/* Frente 03 — visão do escritório */
.map-path span {
  box-shadow: 0 0 0 0 rgba(216,154,80,.22);
  animation: practice-map-node 4s ease-in-out infinite;
}
.map-path span:nth-child(2) { animation-delay: -1s; }
.map-path span:nth-child(3) { animation-delay: -2s; }
.map-path span:nth-child(4) { animation-delay: -3s; }
.map-path::before {
  background-size: 200% 100%;
  animation: practice-map-flow 6s linear infinite;
}

/* Frente 04 — inteligência assistida */
.intelligence-core { animation: practice-intelligence-breathe 5s ease-in-out infinite; }
.intel-node { transition: border-color .3s ease,color .3s ease,background-color .3s ease; animation: practice-intel-float 5s ease-in-out infinite; }
.intel-node.node-2 { animation-delay: -1.65s; }
.intel-node.node-3 { animation-delay: -3.3s; }
.intel-node:hover { border-color: rgba(239,182,111,.42); background: rgba(216,154,80,.08); color: var(--paper); }

@keyframes practice-panel-in { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: none; } }
@keyframes practice-copy-in { from { opacity: 0; transform: translateY(11px); } to { opacity: 1; transform: none; } }
@keyframes practice-visual-in { from { opacity: 0; transform: translateX(15px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes practice-scan { 0%,62%,100% { transform: translateX(-120%); } 82% { transform: translateX(120%); } }
@keyframes practice-document-review { 0%,100% { opacity: 0; transform: scaleX(.08); } 45%,65% { opacity: .7; transform: scaleX(1); } }
@keyframes practice-map-node { 0%,100% { box-shadow: 0 0 0 0 rgba(216,154,80,.2); } 50% { box-shadow: 0 0 0 7px rgba(216,154,80,0); } }
@keyframes practice-map-flow { to { background-position: -200% 0; } }
@keyframes practice-intelligence-breathe { 0%,100% { box-shadow: 0 0 0 12px rgba(216,154,80,.035); } 50% { box-shadow: 0 0 0 18px rgba(216,154,80,.06),0 0 30px rgba(216,154,80,.08); } }
@keyframes practice-intel-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }

@media (max-width: 900px) {
  .practice-tabs::after { display: none; }
  .practice-tab { min-height: 98px; }
  .practice-panel { min-height: auto; grid-template-columns: 1fr; }
  .panel-copy { padding: 40px; }
  .panel-visual { min-height: 380px; margin: 30px; }
}
@media (max-width: 620px) {
  .practice-shell { border-radius: 12px; }
  .practice-tab { min-height: 94px; padding: 15px 11px; }
  .practice-tab span { width: 23px; height: 23px; }
  .panel-copy { padding: 32px 22px; }
  .panel-visual { min-height: 350px; margin: 18px 12px 24px; }
}

/* Frentes v2: navegação conectada + workspace */
@media (min-width: 901px) {
  .practice-shell {
    display: grid;
    grid-template-columns: 272px minmax(0,1fr);
    background: radial-gradient(circle at 72% 42%,rgba(216,154,80,.055),transparent 34%),var(--ink);
  }
  .practice-tabs {
    min-height: 548px;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4,1fr);
    align-content: stretch;
    padding: 58px 0 14px;
    border-right: 1px solid var(--line-light);
    border-bottom: 0;
    background: rgba(255,255,255,.012);
  }
  .practice-tabs::before {
    content: "PLANO ÚNICO · 04 FRENTES";
    position: absolute;
    z-index: 2;
    top: 23px;
    left: 24px;
    width: auto;
    height: auto;
    background: none;
    color: rgba(242,239,231,.31);
    font: 7px/1 var(--mono);
    letter-spacing: .14em;
  }
  .practice-tabs::after {
    top: 75px;
    bottom: 32px;
    left: 35px;
    width: 1px;
    height: auto;
    background: linear-gradient(transparent,rgba(216,154,80,.34) 12%,rgba(216,154,80,.34) 88%,transparent);
    box-shadow: none;
    transition: none;
  }
  .practice-tab {
    min-height: 0;
    grid-template-columns: 42px 1fr;
    padding: 18px 22px;
    border-right: 0;
    border-bottom: 1px solid rgba(242,239,231,.075);
  }
  .practice-tab:last-child { border-bottom: 0; }
  .practice-tab::before {
    content: "";
    position: absolute;
    z-index: 4;
    left: 31px;
    top: 50%;
    width: 9px;
    height: 9px;
    border: 1px solid rgba(242,239,231,.2);
    border-radius: 50%;
    background: var(--ink);
    transform: translateY(-50%);
    transition: border-color .3s ease,background-color .3s ease,box-shadow .3s ease,transform .3s ease;
  }
  .practice-tab::after {
    content: "";
    position: absolute;
    display: block;
    right: -1px;
    top: 22%;
    bottom: 22%;
    width: 2px;
    height: auto;
    background: var(--amber-bright);
    opacity: 0;
    transform: scaleY(.35);
    transition: opacity .3s ease,transform .4s cubic-bezier(.22,1,.36,1);
  }
  .practice-tab span {
    width: auto;
    height: auto;
    border: 0;
    background: transparent;
    box-shadow: none;
    justify-self: end;
    padding-right: 3px;
  }
  .practice-tab:hover { transform: translateX(3px); }
  .practice-tab.active::before {
    border-color: var(--amber-bright);
    background: var(--amber);
    box-shadow: 0 0 0 5px rgba(216,154,80,.08),0 0 18px rgba(239,182,111,.22);
    transform: translateY(-50%) scale(1.08);
  }
  .practice-tab.active::after { opacity: 1; transform: scaleY(1); }
  .practice-tab.active span { border: 0; background: transparent; box-shadow: none; }
  .practice-panels { min-width: 0; }
  .practice-panel { min-height: 548px; grid-template-columns: minmax(290px,.86fr) minmax(360px,1.14fr); }
  .panel-copy { padding: 38px; }
  .panel-copy h3 { font-size: clamp(29px,2.45vw,38px); }
  .panel-copy p { margin-top: 18px; font-size: 13px; }
  .panel-copy ul { margin-top: 22px; }
  .panel-visual { min-width: 0; margin: 28px; }
}
@media (max-width: 1080px) and (min-width: 901px) {
  .practice-shell { grid-template-columns: 238px minmax(0,1fr); }
  .practice-tab { padding-inline: 18px; }
  .practice-panel { grid-template-columns: minmax(250px,.8fr) minmax(330px,1.2fr); }
  .panel-copy { padding: 32px; }
  .panel-visual { margin: 24px 20px; }
}
@media (max-width: 900px) {
  .practice-shell { display: block; }
  .practice-tabs {
    min-height: 0;
    grid-template-columns: repeat(2,1fr);
    grid-template-rows: auto;
    padding: 0;
    border-right: 0;
    border-bottom: 1px solid var(--line-light);
  }
  .practice-tabs::before,.practice-tabs::after { display: none; }
  .practice-tab { border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
  .practice-tab:nth-child(2n) { border-right: 0; }
  .practice-tab:nth-child(n+3) { border-bottom: 0; }
}

/* Contato institucional: editorial, direto e funcional */
.contact {
  padding: 78px 0 74px;
  background: var(--amber);
  color: var(--paper-bright);
}
.contact::before { display: none; }
.contact .section-frame {
  width: var(--frame);
  display: grid;
  grid-template-columns: minmax(300px,.78fr) minmax(520px,1.22fr);
  gap: clamp(58px,7vw,104px);
  align-items: start;
}
.contact-intro {
  position: sticky;
  top: 110px;
  padding: 0;
}
.contact .section-label.light { color: rgba(251,250,246,.72); }
.contact .section-label.light::before { border-color: rgba(251,250,246,.42); }
.contact .section-label.light span { color: var(--paper-bright); }
.contact h2 {
  max-width: 470px;
  margin-top: 30px;
  color: var(--paper-bright);
  font-size: clamp(43px,4vw,56px);
  font-weight: 350;
  line-height: 1;
  letter-spacing: -.057em;
}
.contact h2 > span {
  display: block;
  width: auto;
  color: var(--paper-bright);
  white-space: normal;
  transform: none !important;
  text-shadow: none !important;
}
.contact h2 em {
  display: inline;
  color: var(--paper-bright);
  font-family: var(--serif);
  font-weight: 400;
}
.contact h2 em::after { display: none; }
.contact h2 em::before {
  right: auto;
  bottom: -.1em;
  width: 42px;
  height: 1px;
  background: rgba(251,250,246,.75);
  opacity: 1;
  transform: none;
}
.contact-intro-foot {
  display: block;
  max-width: 440px;
  margin-top: 28px;
}
.contact-intro-foot > p {
  color: rgba(251,250,246,.75);
  font-size: 13px;
  line-height: 1.65;
}
.contact-assurances {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin-top: 26px;
  border-top: 1px solid rgba(251,250,246,.28);
}
.contact-assurances li {
  position: relative;
  padding: 12px 0 12px 20px;
  border: 0;
  border-bottom: 1px solid rgba(251,250,246,.22);
  color: rgba(251,250,246,.68);
  font: 7px/1.45 var(--mono);
  letter-spacing: .08em;
}
.contact-assurances li::before {
  top: 50%;
  left: 2px;
  width: 4px;
  height: 4px;
  background: var(--paper-bright);
  transform: translateY(-50%);
  box-shadow: none;
}
.contact-assurances li:hover::before { transform: translateY(-50%); box-shadow: none; }

.contact .contact-form {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 0 22px;
  margin: 0;
  padding: 0;
  border: 0;
  border-top: 1px solid rgba(251,250,246,.38);
  border-bottom: 1px solid rgba(17,23,20,.2);
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  box-shadow: none;
  backdrop-filter: none;
}
.contact .contact-form::after { display: none; }
.contact-form-heading {
  grid-column: 1 / -1;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin: 0;
  padding: 20px 0 18px;
  border-bottom: 1px solid rgba(17,23,20,.2);
}
.contact-form-heading div { gap: 6px; }
.contact-form-heading span,
.contact-form-heading small { color: rgba(17,23,20,.55); }
.contact-form-heading strong {
  color: var(--ink);
  font-size: 19px;
  font-weight: 500;
  letter-spacing: -.025em;
}
.contact .field {
  position: relative;
  grid-column: auto;
  margin: 0 !important;
  padding: 15px 0 17px;
  border-bottom: 1px solid rgba(17,23,20,.18);
}
.contact-field-message { grid-column: 1 / -1 !important; }
.contact .field label {
  margin: 0 0 7px 1px;
  color: rgba(17,23,20,.58);
  font-size: 7px;
  transform: none !important;
}
.contact .field-head { min-height: 19px; }
.contact .field input,
.contact .field select,
.contact .field textarea {
  width: 100%;
  border: 1px solid rgba(17,23,20,.16);
  border-radius: 5px;
  outline: 0;
  background: rgba(251,250,246,.18);
  color: var(--ink);
  font-size: 13px;
  box-shadow: none;
  transition: border-color .2s ease,background-color .2s ease,box-shadow .2s ease;
}
.contact .field input,
.contact .field select {
  height: 48px;
  padding: 0 13px;
}
.contact .field textarea {
  min-height: 82px;
  padding: 13px;
  line-height: 1.5;
}
.contact .field input::placeholder,
.contact .field textarea::placeholder { color: rgba(17,23,20,.42); }
.contact .field input:hover,
.contact .field select:hover,
.contact .field textarea:hover {
  border-color: rgba(17,23,20,.28);
  background: rgba(251,250,246,.24);
  box-shadow: none;
}
.contact .field input:focus,
.contact .field select:focus,
.contact .field textarea:focus {
  border-color: rgba(17,23,20,.56);
  background: rgba(251,250,246,.3);
  box-shadow: 0 0 0 3px rgba(251,250,246,.13);
  transform: none;
}
.contact .channel-toggle { gap: 4px; }
.contact .channel-toggle button {
  min-height: 24px;
  padding: 4px 7px;
  border-radius: 3px;
  color: rgba(17,23,20,.5);
}
.contact .channel-toggle button:hover {
  border-color: rgba(17,23,20,.2);
  color: var(--ink);
  transform: none;
}
.contact .channel-toggle button[aria-pressed="true"] {
  border-color: rgba(17,23,20,.22);
  background: rgba(251,250,246,.26);
  color: var(--ink);
  box-shadow: none;
}
.contact-form-action {
  grid-column: 1 / -1;
  min-height: 0;
  margin: 20px 0 0 !important;
  justify-content: flex-start;
}
.contact .contact-form-action .button-primary {
  min-width: 230px;
  min-height: 52px;
  padding: 6px 8px 6px 18px;
  border: 1px solid rgba(17,23,20,.85);
  border-radius: 5px;
  background: var(--ink);
  box-shadow: none;
  transition: transform .2s ease,background-color .2s ease,border-color .2s ease;
}
.contact .contact-form-action .button-primary::before,
.contact .contact-form-action .button-primary::after { display: none; }
.contact .button-arrow {
  width: 34px;
  height: 34px;
  border: 0;
  border-left: 1px solid rgba(242,239,231,.15);
  border-radius: 0;
  background: transparent;
}
.contact .contact-form-action .button-primary:hover {
  border-color: var(--ink-soft);
  background: var(--ink-soft);
  box-shadow: none;
  transform: translateY(-2px);
}
.contact .contact-form-action .button-primary:hover .button-arrow {
  border-color: rgba(242,239,231,.22);
  background: transparent;
  transform: translateX(2px);
}
.contact .contact-form-action .button-primary:focus-visible {
  outline: 2px solid var(--paper-bright);
  outline-offset: 3px;
  box-shadow: none;
}

@media (max-width: 900px) {
  .contact .section-frame { grid-template-columns: 1fr; gap: 46px; }
  .contact-intro { position: static; }
  .contact h2 { max-width: 690px; }
  .contact-intro-foot { max-width: 620px; }
  .contact-assurances { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; border-top: 0; }
  .contact-assurances li { padding: 10px 0 0 12px; border-top: 1px solid rgba(251,250,246,.28); border-bottom: 0; }
  .contact-assurances li::before { top: 8px; transform: none; }
}
@media (max-width: 620px) {
  .contact { padding: 64px 0 60px; }
  .contact h2 { font-size: 39px; }
  .contact-assurances { grid-template-columns: 1fr; gap: 0; border-top: 1px solid rgba(251,250,246,.28); }
  .contact-assurances li { padding: 11px 0 11px 18px; border-top: 0; border-bottom: 1px solid rgba(251,250,246,.22); }
  .contact-assurances li::before { top: 50%; transform: translateY(-50%); }
  .contact .contact-form { grid-template-columns: 1fr; gap: 0; }
  .contact-form-heading,.contact-field-message,.contact-form-action { grid-column: 1 !important; }
  .contact-form-heading { display: grid; gap: 10px; }
  .contact .field { grid-column: 1; }
  .contact .contact-form-action .button-primary { width: 100%; }
}

/* CONTATO PREMIUM — restauração literal do commit 1adc415 */
.contact {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 92px 0 86px;
  background: var(--amber);
  color: var(--paper-bright);
}
.contact::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(143,91,39,.13), transparent 105px),
    radial-gradient(circle at 90% 5%, rgba(251,250,246,.16), transparent 26%),
    linear-gradient(125deg, var(--amber-bright), var(--amber) 57%, #ca873f);
}
.contact-intro { position: relative; }
.contact > .section-frame { display: block; }
.contact .section-label.light { color: rgba(251,250,246,.7); }
.contact .section-label.light::before { border-color: rgba(251,250,246,.46); }
.contact .section-label.light span { color: var(--paper-bright); }
.contact h2 {
  max-width: 1160px;
  margin-top: 38px;
  color: var(--paper-bright);
  font-size: clamp(58px, 7.15vw, 106px);
  font-weight: 330;
  line-height: .9;
  letter-spacing: -.068em;
}
.contact h2 > span {
  display: block;
  width: fit-content;
  color: var(--paper-bright);
  transition: transform .7s cubic-bezier(.22,1,.36,1), text-shadow .7s ease;
}
.contact h2 em {
  position: relative;
  display: inline-block;
  color: var(--paper-bright);
  isolation: isolate;
}
.contact h2 em::after {
  content: attr(data-text);
  position: absolute;
  z-index: 1;
  inset: 0;
  overflow: hidden;
  color: var(--amber-dark);
  clip-path: inset(0 100% 0 0);
  text-shadow: 0 8px 24px rgba(110,61,20,.12);
  transition: clip-path .9s cubic-bezier(.22,1,.36,1);
  pointer-events: none;
}
.contact h2 em::before {
  content: "";
  position: absolute;
  left: .02em;
  right: 0;
  bottom: -.04em;
  height: 2px;
  background: linear-gradient(90deg, var(--paper-bright), var(--amber-dark));
  transform: scaleX(.12);
  transform-origin: left;
  opacity: .72;
  transition: transform .9s cubic-bezier(.22,1,.36,1);
}
.contact-intro:hover h2 > span { transform: translateX(.018em); text-shadow: 0 10px 25px rgba(110,61,20,.1); }
.contact-intro:hover h2 > span:nth-child(2) { transform: translateX(.035em); }
.contact-intro:hover h2 > span:nth-child(3) { transform: translateX(.052em); }
.contact-intro:hover h2 em::after { clip-path: inset(0 0 0 0); }
.contact-intro:hover h2 em::before { transform: scaleX(1); }
.contact-intro-foot { display: grid; grid-template-columns: minmax(0, 520px) minmax(460px, 1fr); gap: 70px; align-items: end; margin-top: 32px; }
.contact-intro-foot > p { color: rgba(17,23,20,.65); font-size: 14px; line-height: 1.7; }
.contact-assurances { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 0; padding: 0; list-style: none; }
.contact-assurances li { position: relative; padding: 11px 0 0; border-top: 1px solid rgba(17,23,20,.22); color: rgba(17,23,20,.6); font: 8.5px/1.45 var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.contact-assurances li::before { content: ""; position: absolute; top: -3px; left: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--paper-bright); transition: transform .3s ease, box-shadow .3s ease; }
.contact-assurances li:hover::before { transform: scale(1.35); box-shadow: 0 0 0 5px rgba(251,250,246,.15); }

.contact .contact-form {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0 22px;
  margin-top: 42px;
  padding: 30px 32px 26px;
  border: 1px solid rgba(251,250,246,.34);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(251,250,246,.2), rgba(251,250,246,.1));
  color: var(--ink);
  box-shadow: 0 26px 70px rgba(98,52,15,.12), inset 0 1px 0 rgba(255,255,255,.32);
  backdrop-filter: blur(10px);
}
.contact-form-heading { grid-column: 1 / 13; display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 25px; padding-bottom: 19px; border-bottom: 1px solid rgba(17,23,20,.18); }
.contact-form-heading div { display: grid; gap: 8px; }
.contact-form-heading span { color: rgba(17,23,20,.52); font: 7px/1 var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.contact-form-heading strong { color: var(--ink); font-size: 20px; font-weight: 480; letter-spacing: -.025em; }
.contact-form-heading small { color: rgba(17,23,20,.46); font: 7px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.contact .field { position: relative; margin: 0; padding: 0; }
.contact-field-name, .contact-field-office, .contact-field-team, .contact-field-channel { grid-column: span 3; }
.contact-field-message { grid-column: 1 / 9; margin-top: 15px !important; }
.contact-form-action { grid-column: 9 / 13; align-self: end; min-height: 92px; margin: 15px 0 0 !important; justify-content: flex-end; }
.contact .field label { display: block; margin-bottom: 7px; color: rgba(17,23,20,.55); font: 7px/1 var(--mono); letter-spacing: .11em; text-transform: uppercase; transition: color .25s ease; }
.contact .field-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.contact .field input,
.contact .field select,
.contact .field textarea {
  width: 100%;
  border: 1px solid rgba(17,23,20,.17);
  border-radius: 7px;
  outline: 0;
  background: rgba(251,250,246,.18);
  color: var(--ink);
  font-size: 14px;
  transition: border-color .3s ease, background-color .3s ease, box-shadow .3s ease, transform .3s cubic-bezier(.22,1,.36,1);
}
.contact .field input, .contact .field select { height: 51px; padding: 0 13px; }
.contact .field textarea { min-height: 82px; resize: vertical; padding: 14px 13px; }
.contact .field input::placeholder, .contact .field textarea::placeholder { color: rgba(17,23,20,.38); transition: color .25s ease; }
.contact .field:hover label, .contact .field:focus-within label { color: var(--ink); }
.contact .field input:hover, .contact .field select:hover, .contact .field textarea:hover { border-color: rgba(17,23,20,.34); background: rgba(251,250,246,.25); }
.contact .field input:focus, .contact .field select:focus, .contact .field textarea:focus {
  border-color: rgba(251,250,246,.9);
  background: rgba(251,250,246,.38);
  box-shadow: 0 0 0 3px rgba(251,250,246,.13), 0 12px 26px rgba(110,61,20,.08);
  transform: translateY(-1px);
}
.contact .field input:focus::placeholder, .contact .field textarea:focus::placeholder { color: rgba(17,23,20,.55); }
.contact .field select { color-scheme: light; cursor: pointer; }
.contact .field select option { background: var(--paper-bright); color: var(--ink); }
.contact .field select option:checked { background: var(--amber); color: var(--ink); }
@media (pointer: fine) {
  .contact .field select {
    -webkit-appearance: none;
    appearance: none;
    padding-right: 34px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='m3.5 5 3.5 3.5L10.5 5' fill='none' stroke='%23111714' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 14px;
  }
}
@media (pointer: coarse) { .contact .field select { font-size: 16px; } }
.contact .channel-toggle { display: flex; align-items: center; gap: 2px; }
.contact .channel-toggle button { padding: 4px 6px; border: 0; border-radius: 3px; background: transparent; color: rgba(17,23,20,.43); font: 6px/1 var(--mono); cursor: pointer; transition: color .2s ease, background-color .2s ease, transform .2s ease; }
.contact .channel-toggle button:hover { color: var(--ink); transform: translateY(-1px); }
.contact .channel-toggle button[aria-pressed="true"] { background: rgba(251,250,246,.38); color: var(--ink); }
.contact .contact-form-action .button-primary { min-width: 230px; border-color: var(--ink); background: var(--ink); color: var(--paper); box-shadow: 0 12px 28px rgba(17,23,20,.16); }
.contact .contact-form-action .button-primary:hover { border-color: var(--paper-bright); background: var(--paper-bright); color: var(--ink); box-shadow: 0 16px 34px rgba(110,61,20,.18); }
.contact .form-ok { display: none; color: rgba(17,23,20,.68); font-size: 12px; }
.contact .form-ok[data-state="success"] { color: #2f7042; }
.contact .form-ok[data-state="error"] { color: #87372f; }

@media (min-width: 901px) {
  .contact .section-frame { width: min(calc(100% - 80px), 1320px); }
}
@media (max-width: 1080px) {
  .contact-intro-foot { grid-template-columns: 1fr; gap: 24px; }
  .contact-field-name, .contact-field-office, .contact-field-team, .contact-field-channel { grid-column: span 6; margin-bottom: 16px !important; }
  .contact-field-message { grid-column: 1 / 8; }
  .contact-form-action { grid-column: 8 / 13; }
}
@media (max-width: 700px) {
  .contact { padding: 78px 0 72px; }
  .contact h2 { margin-top: 34px; font-size: 43px; line-height: .96; }
  .contact-intro-foot { margin-top: 27px; }
  .contact-assurances { grid-template-columns: 1fr; gap: 13px; }
  .contact .contact-form { grid-template-columns: 1fr; gap: 0; margin-top: 34px; padding: 24px 18px; }
  .contact-form-heading { grid-column: 1; display: grid; gap: 13px; margin-bottom: 23px; }
  .contact-form-heading small { justify-self: start; }
  .contact-field-name, .contact-field-office, .contact-field-team, .contact-field-channel, .contact-field-message, .contact-form-action { grid-column: 1; }
  .contact-field-name, .contact-field-office, .contact-field-team, .contact-field-channel { margin-bottom: 16px !important; }
  .contact-field-message { margin-top: 0 !important; }
  .contact-form-action { min-height: 0; margin-top: 16px !important; justify-content: flex-start; }
  .contact .contact-form-action .button-primary { width: 100%; }
}


/* Isolamento do snapshot 1adc415 contra regras de contato posteriores */
#contato.contact-commit-1adc > .section-frame {
  width: min(calc(100% - 80px), 1320px);
  display: block;
  max-width: 1320px;
}
#contato.contact-commit-1adc .contact-intro {
  position: relative;
  top: auto;
  max-width: none;
}
#contato.contact-commit-1adc h2 {
  max-width: 1160px;
  font-family: var(--sans);
  color: var(--paper-bright);
}
#contato.contact-commit-1adc h2 > span {
  width: fit-content;
  color: var(--paper-bright);
  white-space: normal;
  transform: translateX(0) !important;
  text-shadow: none !important;
}
#contato.contact-commit-1adc h2 em {
  position: relative;
  display: inline-block;
  font-family: var(--serif);
  color: var(--paper-bright);
}
#contato.contact-commit-1adc h2 em::after {
  display: block;
}
#contato.contact-commit-1adc .contact-intro:hover h2 > span { transform: translateX(.018em) !important; }
#contato.contact-commit-1adc .contact-intro:hover h2 > span:nth-child(2) { transform: translateX(.035em) !important; }
#contato.contact-commit-1adc .contact-intro:hover h2 > span:nth-child(3) { transform: translateX(.052em) !important; }
#contato.contact-commit-1adc .contact-intro-foot {
  display: grid;
  max-width: none;
  grid-template-columns: minmax(0,520px) minmax(460px,1fr);
}
#contato.contact-commit-1adc .contact-assurances {
  grid-template-columns: repeat(3,1fr);
  gap: 18px;
  margin-top: 0;
  border-top: 0;
}
#contato.contact-commit-1adc .contact-assurances li {
  padding: 11px 0 0;
  border-top: 1px solid rgba(17,23,20,.22);
  border-bottom: 0;
}
#contato.contact-commit-1adc .contact-form {
  width: 100%;
  max-width: none;
}
#contato.contact-commit-1adc .contact-field-name,
#contato.contact-commit-1adc .contact-field-office,
#contato.contact-commit-1adc .contact-field-team,
#contato.contact-commit-1adc .contact-field-channel { grid-column: span 3 !important; }
#contato.contact-commit-1adc .contact-field-message { grid-column: 1 / 9 !important; }
#contato.contact-commit-1adc .contact-form-action { grid-column: 9 / 13 !important; }
@media (max-width:1080px) {
  #contato.contact-commit-1adc .contact-intro-foot { grid-template-columns:1fr; }
  #contato.contact-commit-1adc .contact-field-name,
  #contato.contact-commit-1adc .contact-field-office,
  #contato.contact-commit-1adc .contact-field-team,
  #contato.contact-commit-1adc .contact-field-channel { grid-column:span 6 !important; }
  #contato.contact-commit-1adc .contact-field-message { grid-column:1 / 8 !important; }
  #contato.contact-commit-1adc .contact-form-action { grid-column:8 / 13 !important; }
}
@media (max-width:700px) {
  #contato.contact-commit-1adc > .section-frame { width:var(--frame); }
  #contato.contact-commit-1adc .contact-intro-foot { grid-template-columns:1fr; }
  #contato.contact-commit-1adc .contact-assurances { grid-template-columns:1fr; }
  #contato.contact-commit-1adc .contact-field-name,
  #contato.contact-commit-1adc .contact-field-office,
  #contato.contact-commit-1adc .contact-field-team,
  #contato.contact-commit-1adc .contact-field-channel,
  #contato.contact-commit-1adc .contact-field-message,
  #contato.contact-commit-1adc .contact-form-action { grid-column:1 !important; }
}


/* Refinamento final do contato: título central e campos premium */
#contato.contact-commit-1adc h2 {
  margin-inline: auto;
  max-width: 1080px;
  text-align: center;
  font-family: var(--serif);
  font-size: clamp(62px,7.2vw,108px);
  font-weight: 400;
  line-height: .88;
  letter-spacing: -.045em;
}
#contato.contact-commit-1adc h2 > span {
  margin-inline: auto;
  color: transparent;
  background: linear-gradient(105deg,
    var(--paper-bright) 0%,
    var(--paper-bright) 35%,
    #8f5728 48%,
    #f8dfbd 56%,
    var(--paper-bright) 68%,
    var(--paper-bright) 100%);
  background-size: 260% 100%;
  background-position: 100% 0;
  -webkit-background-clip: text;
  background-clip: text;
  filter: drop-shadow(0 0 0 rgba(108,61,23,0));
  transition:
    background-position 1.05s cubic-bezier(.22,1,.36,1),
    transform .7s cubic-bezier(.22,1,.36,1),
    filter .7s ease;
}
#contato.contact-commit-1adc h2 em {
  color: inherit;
  font-family: inherit;
  font-style: italic;
}
#contato.contact-commit-1adc h2 em::before,
#contato.contact-commit-1adc h2 em::after { display: none; }
#contato.contact-commit-1adc .contact-intro:hover h2 > span {
  color: transparent;
  background-position: 0 0;
  filter: drop-shadow(0 10px 22px rgba(108,61,23,.14));
  transform: translateY(-2px) !important;
}
#contato.contact-commit-1adc .contact-intro:hover h2 > span:nth-child(2) {
  transform: translateY(-2px) !important;
  transition-delay: .045s;
}
#contato.contact-commit-1adc .contact-intro:hover h2 > span:nth-child(3) {
  transform: translateY(-2px) !important;
  transition-delay: .09s;
}
#contato.contact-commit-1adc .contact-form {
  gap: 0 20px;
  border-color: rgba(255,255,255,.46);
  background: linear-gradient(135deg,rgba(255,255,255,.23),rgba(255,255,255,.11));
  box-shadow: 0 24px 60px rgba(92,49,16,.11),inset 0 1px 0 rgba(255,255,255,.38);
}
#contato.contact-commit-1adc .field input,
#contato.contact-commit-1adc .field select,
#contato.contact-commit-1adc .field textarea {
  border: 1px solid rgba(17,23,20,.18);
  border-radius: 10px;
  background: rgba(255,255,255,.2);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.24);
  font-family: var(--sans);
}
#contato.contact-commit-1adc .field input,
#contato.contact-commit-1adc .field select {
  height: 54px;
  padding-inline: 15px;
}
#contato.contact-commit-1adc .field textarea {
  min-height: 90px;
  padding: 15px;
}
#contato.contact-commit-1adc .field input:hover,
#contato.contact-commit-1adc .field select:hover,
#contato.contact-commit-1adc .field textarea:hover {
  border-color: rgba(17,23,20,.34);
  background: rgba(255,255,255,.29);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35),0 8px 20px rgba(104,59,22,.05);
}
#contato.contact-commit-1adc .field input:focus,
#contato.contact-commit-1adc .field select:focus,
#contato.contact-commit-1adc .field textarea:focus {
  border-color: rgba(255,255,255,.92);
  background: rgba(255,255,255,.38);
  box-shadow: 0 0 0 3px rgba(255,255,255,.15),0 14px 30px rgba(104,59,22,.09);
  transform: translateY(-1px);
}
#contato.contact-commit-1adc .channel-toggle button {
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 5px 8px;
}
#contato.contact-commit-1adc .channel-toggle button[aria-pressed="true"] {
  border-color: rgba(255,255,255,.5);
  background: rgba(255,255,255,.3);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.3);
}
@media (max-width:700px) {
  #contato.contact-commit-1adc h2 {
    font-size: clamp(43px,12.6vw,58px);
    line-height: .94;
    text-align: left;
  }
  #contato.contact-commit-1adc h2 > span { margin-inline: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
  .legal-orbit { transform: none; }
  .integration-track { animation: none; transform: none; }
  .integration-marquee { overflow-x: auto; mask-image: none; -webkit-mask-image: none; }
}

/* ===================================================================
   Sistema de movimento coordenado — âmbar, fundo escuro e estética
   jurídica. Cada efeito é discreto e degrada para estático sob
   prefers-reduced-motion (bloco final).
   =================================================================== */

/* Entrada por scroll: direção alternada + escala, com atraso em cascata. */
.reveal { transition-delay: var(--reveal-delay, 0s); }
.reveal[data-reveal="left"] { transform: translate3d(-26px, 0, 0); }
.reveal[data-reveal="right"] { transform: translate3d(26px, 0, 0); }
.reveal[data-reveal="scale"] { transform: scale(.965); }
.reveal[data-reveal="left"].in,
.reveal[data-reveal="right"].in,
.reveal[data-reveal="scale"].in { transform: none; }

/* Entrada editorial dos títulos, linha por linha. */
[data-editorial] .ed-line { display: block; overflow: hidden; padding-bottom: .09em; margin-bottom: -.09em; }
[data-editorial] .ed-inner { display: block; transform: translateY(112%); transition: transform .85s cubic-bezier(.22,1,.36,1); }
[data-editorial].in .ed-inner { transform: none; }
[data-editorial].in .ed-line:nth-child(2) .ed-inner { transition-delay: .1s; }
[data-editorial].in .ed-line:nth-child(3) .ed-inner { transition-delay: .2s; }

/* Fundo atmosférico: manchas âmbar desfocadas em deriva lenta. */
.hero-atmosphere { position: absolute; z-index: -2; inset: 0; overflow: hidden; pointer-events: none; }
.hero-atmosphere i { position: absolute; display: block; border-radius: 50%; filter: blur(72px); will-change: transform; }
.hero-atmosphere i:nth-child(1) {
  width: min(48vw, 620px); height: min(48vw, 620px); left: -9vw; top: 6%;
  background: radial-gradient(circle, rgba(216,154,80,.17), transparent 66%);
  animation: atmo-drift-a 18s ease-in-out infinite;
}
.hero-atmosphere i:nth-child(2) {
  width: min(40vw, 520px); height: min(40vw, 520px); right: -8vw; top: 34%;
  background: radial-gradient(circle, rgba(239,182,111,.12), transparent 68%);
  animation: atmo-drift-b 23s ease-in-out infinite;
}
@keyframes atmo-drift-a { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(5%,4%) scale(1.09); } }
@keyframes atmo-drift-b { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(-6%,-3%) scale(1.07); } }

.calculator { position: relative; overflow: hidden; }
.calculator::before {
  content: ""; position: absolute; z-index: 0; left: -12vw; top: -12%;
  width: min(60vw, 720px); height: min(60vw, 720px); border-radius: 50%;
  background: radial-gradient(circle, rgba(216,154,80,.11), transparent 66%);
  filter: blur(66px); pointer-events: none;
  animation: atmo-drift-a 21s ease-in-out infinite;
}
.calculator .section-frame { position: relative; z-index: 1; }

/* Elementos flutuando poucos pixels, quase imperceptivelmente. */
.orbit-note { animation: note-float 7.5s ease-in-out infinite; }
.note-b { animation-duration: 9s; animation-delay: -2.4s; }
@keyframes note-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }

/* Narrativa central: quatro estágios do fluxo jurídico no núcleo do hero. */
.orbit-core { overflow: hidden; }
.orbit-stage {
  width: 118px; min-height: 22px; margin-top: 9px;
  color: rgba(242,239,231,.62); font: 6.5px/1.5 var(--mono); letter-spacing: .16em;
  text-transform: uppercase; text-align: center;
}
.orbit-stage.is-swapping { animation: stage-swap .5s cubic-bezier(.22,1,.36,1); }
@keyframes stage-swap { 0% { opacity: 0; transform: translateY(5px); } 100% { opacity: 1; transform: none; } }
.orbit-steps {
  position: absolute; left: 50%; bottom: 27px;
  display: flex; gap: 6px; transform: translateX(-50%);
}
.orbit-steps i {
  width: 13px; height: 2px; border-radius: 2px; background: rgba(242,239,231,.18);
  transition: width .45s cubic-bezier(.22,1,.36,1), background-color .45s ease, box-shadow .45s ease;
}
.orbit-steps i.done { background: rgba(239,182,111,.5); }
.orbit-steps i.on { width: 20px; background: var(--amber-bright); box-shadow: 0 0 10px rgba(239,182,111,.5); }

/* Botões com leve atração magnética pelo cursor (composição via translate). */
[data-magnetic] {
  translate: var(--mag-x, 0px) var(--mag-y, 0px);
  transition: transform .28s ease, background-color .28s ease, color .28s ease,
    border-color .28s ease, box-shadow .3s ease, translate .2s cubic-bezier(.2,.8,.2,1);
}

/* Transição de luminosidade entre seções escuras e claras. */
.principle::before,
.calculator::after {
  content: ""; position: absolute; z-index: 1; inset: 0 0 auto; height: 88px;
  background: linear-gradient(to bottom, rgba(17,23,20,.05), transparent);
  pointer-events: none;
}
.calculator::after { background: linear-gradient(to bottom, rgba(0,0,0,.16), transparent); }

/* Neutralização completa sob movimento reduzido. */
@media (prefers-reduced-motion: reduce) {
  .reveal { transition-delay: 0s !important; }
  .reveal[data-reveal] { transform: none !important; }
  [data-editorial] .ed-inner { transform: none !important; transition: none !important; }
  [data-magnetic] { translate: none !important; }
  .hero-atmosphere, .calculator::before { display: none !important; }
  .orbit-note, .orbit-stage.is-swapping { animation: none !important; }
  .orbit-stage { opacity: 1 !important; }
}

/* Remove a linha divisória entre os cards do ecossistema e a faixa de logos. */
.commitment-map { border-bottom: 0; }

/* Link externo (Matriz) na navegação. */
.nav-external { color: var(--amber-bright) !important; }
.nav-external span { font-size: 12px; }
.nav-external::after { display: none !important; }

/* Rodapé ampliado em colunas (Serviços, Soluções, Links, Contato). */
.site-footer.footer-rich { padding: 78px 0 30px; }
.footer-rich .footer-top {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) repeat(3, minmax(0, 1fr)) minmax(0, 1.15fr);
  gap: 44px 34px;
  padding-bottom: 46px;
  border-bottom: 1px solid var(--line-light);
}
.footer-rich .footer-brand-block { max-width: 330px; }
.footer-rich .footer-brand { margin-bottom: 20px; }
.footer-rich .footer-brand img { width: 118px; height: auto; }
.footer-rich .footer-brand-block p { color: rgba(242,239,231,.5); font-size: 13px; line-height: 1.7; }
.footer-rich .footer-brand-block .footer-social { justify-content: flex-start; margin-top: 22px; }
.footer-rich .footer-col { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; }
.footer-rich .footer-col h3 { margin-bottom: 5px; color: var(--amber-bright); font: 9px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; }
.footer-rich .footer-col a { color: rgba(242,239,231,.56); font-size: 13px; transition: color .2s ease, transform .2s ease; }
.footer-rich .footer-col a span { color: var(--amber-bright); font-size: 11px; }
.footer-rich .footer-col a:hover { color: var(--paper); transform: translateX(3px); }
.footer-rich .footer-contact ul { list-style: none; display: grid; gap: 11px; }
.footer-rich .footer-contact li { display: flex; align-items: center; gap: 10px; color: rgba(242,239,231,.62); font-size: 13px; }
.footer-rich .footer-contact li span { color: var(--amber); font-size: 12px; }
.footer-rich .footer-contact li a:hover { color: var(--amber-bright); }
.footer-rich .footer-cta {
  margin-top: 20px;
  display: inline-flex; align-items: center; gap: 12px;
  padding: 11px 18px; border: 1px solid rgba(242,239,231,.18); border-radius: 10px;
  color: var(--paper); font-size: 12px; font-weight: 560;
  transition: border-color .25s ease, background-color .25s ease, transform .25s ease;
}
.footer-rich .footer-cta span { color: var(--amber-bright); }
.footer-rich .footer-cta:hover { border-color: rgba(239,182,111,.4); background: rgba(216,154,80,.08); transform: translateY(-2px); }
.footer-rich .footer-bottom { padding-top: 24px; }
@media (max-width: 900px) {
  .footer-rich .footer-top { grid-template-columns: 1fr 1fr 1fr; gap: 34px 24px; }
  .footer-rich .footer-brand-block { grid-column: 1 / -1; max-width: 480px; }
}
@media (max-width: 620px) {
  .footer-rich .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-rich .footer-brand-block { grid-column: 1 / -1; }
}

/* ---------- Contato direto + WhatsApp flutuante ---------- */

/* Seção de contato mais compacta, para o convite abaixo do formulário
   caber sem alongar demais a página. */
#contato.contact-commit-1adc { padding: 68px 0 62px; }
#contato.contact-commit-1adc h2 { margin-top: 26px; font-size: clamp(38px, 5vw, 76px); }
#contato.contact-commit-1adc .contact-intro-foot { margin-top: 26px; }
#contato.contact-commit-1adc .contact-form { margin-top: 30px; }

/* Rótulos do formulário mais legíveis sobre o painel translúcido. */
#contato.contact-commit-1adc .field label {
  margin-bottom: 9px;
  color: rgba(17,23,20,.82);
  font-size: 9px;
  letter-spacing: .13em;
}
#contato.contact-commit-1adc .contact-form-heading span { color: rgba(17,23,20,.72); font-size: 9px; }
#contato.contact-commit-1adc .contact-form-heading small { color: rgba(17,23,20,.62); font-size: 8px; }

/* Respiro entre as linhas do formulário. Abaixo de 1080px cada campo já
   carrega margin-bottom próprio, então o espaçamento vem de lá. */
@media (min-width: 1081px) {
  #contato.contact-commit-1adc .contact-form { gap: 26px 20px; }
}
@media (max-width: 1080px) {
  #contato.contact-commit-1adc .contact-field-name,
  #contato.contact-commit-1adc .contact-field-office,
  #contato.contact-commit-1adc .contact-field-team,
  #contato.contact-commit-1adc .contact-field-channel { margin-bottom: 24px !important; }
}

/* Convite direto abaixo do formulário. */
.contact-direct {
  margin-top: 38px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
}
.contact-direct > span {
  position: relative;
  padding-bottom: 14px;
  color: #fff;
  font: 10px/1 var(--mono);
  letter-spacing: .2em;
  text-transform: uppercase;
}
.contact-direct > span::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 28px;
  height: 1px;
  background: rgba(255,255,255,.55);
  transform: translateX(-50%);
}
.contact-direct a {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  gap: .22em;
  padding-bottom: 8px;
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(30px, 3.6vw, 46px);
  font-style: italic;
  line-height: 1.05;
  letter-spacing: -.02em;
  transition: color .3s ease;
}
.contact-direct a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .5s cubic-bezier(.22,1,.36,1);
}
.contact-direct a:hover, .contact-direct a:focus-visible { color: var(--paper-bright); }
.contact-direct a:hover::after, .contact-direct a:focus-visible::after { transform: scaleX(1); }
.contact-direct a i {
  font-family: var(--sans);
  font-size: .44em;
  font-style: normal;
  transition: transform .4s cubic-bezier(.22,1,.36,1);
}
.contact-direct a:hover i, .contact-direct a:focus-visible i { transform: translateX(7px); }
.contact-direct a:focus-visible { outline: 2px solid var(--paper-bright); outline-offset: 6px; border-radius: 3px; }

.wa-float {
  position: fixed;
  z-index: 120;
  right: 22px;
  bottom: 22px;
  width: 56px; height: 56px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: #25d366;
  color: #0d1210;
  box-shadow: 0 12px 30px rgba(17,23,20,.28), 0 0 0 0 rgba(37,211,102,.42);
  transition: transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease, background-color .25s ease;
}
.wa-float svg { width: 30px; height: 30px; fill: #fff; }
.wa-float:hover, .wa-float:focus-visible {
  background: #1fb457;
  transform: translateY(-3px) scale(1.06);
  box-shadow: 0 18px 40px rgba(17,23,20,.32), 0 0 0 10px rgba(37,211,102,.16);
}
.wa-float:focus-visible { outline: 2px solid var(--paper); outline-offset: 4px; }

@media (max-width: 620px) {
  .wa-float { right: 16px; bottom: 16px; width: 50px; height: 50px; }
  .wa-float svg { width: 26px; height: 26px; }
  .contact-direct { margin-top: 30px; gap: 10px; }
  .contact-direct > span { font-size: 9px; letter-spacing: .16em; }
}

@media (prefers-reduced-motion: reduce) {
  .wa-float { transition: none; }
  .wa-float:hover, .wa-float:focus-visible { transform: none; }
  .contact-direct a, .contact-direct a::after, .contact-direct a i { transition: none; }
  .contact-direct a:hover i, .contact-direct a:focus-visible i { transform: none; }
}

/* A seção de integrações dividia o fundo em duas metades de tons
   diferentes, criando uma faixa visível entre a seção de dúvidas e o
   diagnóstico. Passa a usar um fundo único, igual ao da seção acima. */
.integration-section { background: var(--paper-bright); }
.integration-section::before { display: none; }

/* Marca textual para ferramentas sem logo vetorial disponível — mesmo
   tratamento já usado pelo ADVBOX. */
.text-mark { padding: 0 3px; border: 1px solid currentColor; border-radius: 4px; letter-spacing: 0; }

/* Aproxima o bloco de integrações da seção de dúvidas. */
.faq { padding-bottom: 40px; }

/* Mais destaque para a chamada do ecossistema. */
.integration-section .integration-flow { grid-template-columns: 250px minmax(0,1fr); }
.integration-flow-copy small { font-size: 8px; letter-spacing: .16em; }
.integration-flow-copy p {
  max-width: 235px;
  margin-top: 9px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 480;
  line-height: 1.45;
}

/* A esteira ganhou sete ferramentas; a duração cresce na mesma
   proporção para a velocidade de rolagem não mudar. */
.integration-track { animation-duration: 75s; }

@media (max-width: 900px) {
  .integration-flow-copy p { max-width: 520px; font-size: 11.5px; }
}

/* O destaque do hero jurídico virou uma frase, não mais uma palavra
   isolada: precisa poder quebrar em telas estreitas. */
.hero h1 em { white-space: normal; }
