:root {
  --bg:#030e16;
  --gold:#e5bb7e;
  --text:#f5f1ea;
  --muted:#bccbd3;
  --line:rgba(196,148,81,.38);
  --blue:#39bfff;
  color-scheme:dark
}

* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:110px
}
body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Segoe UI,Arial,sans-serif;
  font-size:15px;
  line-height:1.5
}
a {
  color:inherit;
  text-decoration:none
}
button {
  font:inherit
}
h1,h2,h3,p {
  margin-top:0
}
a:focus-visible,button:focus-visible {
  outline:2px solid #7bd7ff;
  outline-offset:5px
}
a:hover {
  color:#ffe0aa
}
.wrap {
  width:min(1280px,90%);
  margin-inline:auto
}
.skip-link {
  position:fixed;
  left:16px;
  top:-80px;
  z-index:100;
  background:#061722;
  padding:12px
}
.skip-link:focus {
  top:12px
}
header {
  position:sticky;
  top:0;
  z-index:30;
  border-bottom:1px solid var(--line);
  background:rgba(2,10,16,.96)
}
.nav {
  min-height:84px;
  display:flex;
  align-items:center;
  gap:36px
}
.brand {
  margin-right:auto;
  flex-shrink:0
}
.brand b {
  display:block;
  font:400 34px Georgia,serif;
  letter-spacing:.25em;
  color:var(--gold)
}
.brand small {
  display:block;
  font-size:8px;
  letter-spacing:.28em
}
nav {
  display:flex;
  gap:28px;
  font-size:13px
}
.nav > .client-entry {
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:8px 4px;
  font-size:12px;
  font-weight:600;
  white-space:nowrap;
  color:#e8d5aa;
}
.nav > .client-entry:hover { color:#e8d5aa; }

.cta,.btn {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  min-height:48px;
  padding:12px 23px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.03em;
  text-transform:uppercase;
  border:1px solid #b9b9b0;
  border-radius:2px;
  background:rgba(1,9,15,.75);
  text-align:center
}
.cta,.btn.gold {
  border-color:#da9d4e;
  background:linear-gradient(115deg,#674119,#99652c 55%,#6a431c);
  box-shadow:inset 0 0 12px #e4ac5440,0 0 15px #c58b4018;
  color:#fff6e8
}
.btn:hover,.cta:hover {
  filter:brightness(1.14)
}
.btn:disabled {
  cursor:default
}
.hero {
  position:relative;
  min-height:535px;
  padding:0;
  isolation:isolate
}
.hero-bg {
  position:absolute;
  inset:0;
  z-index:-2;
  background:url('../imagens/imagem home globo.webp') center 18%/cover no-repeat
}
.hero:after {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,transparent 7%,#020d167d 19%,#020d16a8 42%,transparent 67%),linear-gradient(0deg,#030e16,transparent 18%)
}
.hero-inner {
  min-height:535px;
  display:flex;
  align-items:center
}
.hero-copy {
  width:560px;
  max-width:55%;
  margin-left:12%;
  padding:44px 0
}
.hero h1 {
  font:400 clamp(30px,3.2vw,47px)/1.12 Georgia,serif;
  letter-spacing:.035em;
  margin-bottom:20px
}
.kicker {
  display:block;
  font-size:.64em;
  letter-spacing:.1em;
  margin-bottom:8px
}
.advance {
  display:block;
  font-size:1.4em;
  color:#e7ad62;
  letter-spacing:.055em
}
.hero-intro {
  font:400 20px/1.45 Georgia,serif;
  margin-bottom:8px;
  max-width:500px
}
.hero p:not(.hero-intro) {
  color:#d0dbe0;
  max-width:480px;
  font-size:15px
}
.actions {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:24px
}
.meta {
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  font-size:10px;
  color:#e0e5e6;
  margin-top:22px
}
section {
  padding:36px 0;
  border-bottom:1px solid var(--line)
}
.eyebrow {
  font:400 14px/1.5 Georgia,serif;
  letter-spacing:.14em;
  color:#ebdfce
}
.title {
  font:400 clamp(28px,3vw,43px)/1.15 Georgia,serif;
  letter-spacing:.065em;
  color:#ecd0a0;
  margin:4px 0 8px
}
.sub {
  color:#c5d1d7;
  max-width:600px;
  margin-bottom:0
}
.solution-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:40px
}
.solution-head>.sub {
  max-width:440px;
  font-size:14px
}
.solution-head .sub {
  letter-spacing:.02em
}
.cards {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
  margin-top:24px
}
.card {
  padding:24px 22px 22px;
  min-height:270px;
  border:1px solid #1e566b;
  border-radius:6px;
  background:linear-gradient(130deg,#0a273280,#020b1399);
  box-shadow:inset 0 1px 14px #0dafff0d;
  display:flex;
  flex-direction:column
}
.card:after {
  content:"";
  height:2px;
  width:25px;
  background:var(--gold);
  margin-top:auto
}
.icon {
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:12px;
  background:linear-gradient(135deg,#087046,#04a05c);
  box-shadow:0 0 20px #00de8d22;
  font-size:28px;
  color:white;
  margin-bottom:18px
}
.card:nth-child(2) .icon {
  background:linear-gradient(145deg,#6f22aa,#d92377,#eeb84b)
}
.card:nth-child(3) .icon {
  background:#079cd5;
  border-radius:50%
}
.card:nth-child(4) .icon {
  background:#0064a9
}
.card:nth-child(5) .icon {
  background:#39445f
}
.card h3 {
  font-size:19px;
  line-height:1.2;
  margin-bottom:15px;
  font-weight:600;
  overflow-wrap:normal
}
.card p {
  font-size:14px;
  line-height:1.5;
  color:#cbd5da;
  margin-bottom:24px
}
.flow-row {
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:44px;
  align-items:center
}
.flow-row .title {
  font-size:30px
}
.flow-row .sub {
  font-size:14px
}
.flow-boxes {
  display:grid;
  grid-template-columns:1fr auto 1.12fr auto 1fr;
  gap:14px;
  align-items:center
}
.flow-box {
  padding:24px 14px;
  border:1px solid #235366;
  border-radius:5px;
  background:#061b26;
  text-align:center;
  min-height:125px;
  font-size:13px
}
.flow-box b {
  display:block;
  font:400 19px Georgia,serif;
  letter-spacing:.09em;
  color:var(--gold);
  margin-bottom:10px
}
.arrow {
  color:#a1e4ff;
  font-size:28px;
  text-shadow:0 0 14px #3ab9ff
}
.results {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:15px;
  margin-top:20px
}
.result {
  border-left:1px solid var(--gold);
  padding-left:12px;
  font-size:12px
}
.experience {
  position:relative;
  isolation:isolate;
  min-height:420px;
  display:flex;
  align-items:center;
  background:url('../imagens/imagem home telefone.webp') center 65%/cover no-repeat
}
.experience:before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,transparent,#020e168f 29%,#020e16c7 43%,#020e168f 68%,transparent 78%)
}
.experience-grid {
  display:grid;
  grid-template-columns:25% 47%;
  gap:4%;
  align-items:center
}
.experience-label {
  text-align:center;
  text-shadow:0 2px 8px #000
}
.experience-label>div {
  font:400 38px Georgia,serif;
  letter-spacing:.09em;
  color:var(--gold)
}
.experience-label p {
  font:13px/1.5 Georgia,serif;
  letter-spacing:.15em;
  margin-top:14px
}
.exp-copy h2 {
  font-size:28px;
  line-height:1.22;
  font-weight:600;
  margin-bottom:18px
}
.exp-copy>p {
  font-size:14px;
  color:#e0e5e8;
  line-height:1.5
}
.exp-copy .availability {
  font-size:11px;
  margin:8px 0 0;
  color:#d0dae0
}
.badges {
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin-top:20px
}
.badges span {
  font-size:11px;
  color:#f0e8d9
}
.badges span:before {
  content:'✓';
  color:var(--gold);
  margin-right:6px
}
.values {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:16px
}
.value {
  padding:20px;
  border:1px solid #24546a;
  border-radius:5px;
  background:#061b2699;
  font-size:13px
}
.value b {
  display:block;
  color:#f3e3c9;
  margin-bottom:10px;
  font-weight:600
}
.value span {
  color:#c8d2d8
}
.closing {
  background:linear-gradient(0deg,#020c1633,#020c1699),url('../imagens/imagem home cidade.webp') center/cover no-repeat
}
.story {
  padding:55px 0 70px;
  min-height:300px
}
.story-grid {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:100px;
  align-items:center;
  padding-inline:7%
}
.story p {
  font-size:14px;
  color:#e0e5e5;
  max-width:600px
}
.story b {
  font-size:14px;
  color:var(--gold)
}
.quote {
  font:400 19px/1.65 Georgia,serif;
  letter-spacing:.055em;
  text-align:right;
  color:#ead2ac;
  text-shadow:0 2px 8px black
}
footer {
  padding:38px 0;
  background:#020b12;
  border-top:1px solid var(--line)
}
.footer-grid {
  display:grid;
  grid-template-columns:1fr 2fr 1fr;
  gap:44px;
  align-items:start
}
.links {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px
}
.links strong {
  display:block;
  font-size:12px;
  color:#efddbf;
  margin-bottom:12px
}
.links a {
  display:block;
  font-size:12px;
  color:#b9c7cf;
  margin:7px 0
}
.small {
  font-size:11px;
  color:#a6b6c0;
  text-align:right
}

@media(min-width:1700px) {
  .hero {
  background-color:#010810
}
.hero-bg {
  background-size:1700px auto
}
.hero-copy {
  margin-left:7%
}

}

@media(max-width:1100px) {
  .nav {
  gap:20px
}
nav {
  gap:16px;
  font-size:12px
}
.nav .cta {
  padding:10px 14px;
  font-size:10px
}
.brand b {
  font-size:29px
}
.hero-copy {
  margin-left:10%;
  max-width:59%
}
.cards {
  gap:10px
}
.card {
  padding:18px 14px
}
.card h3 {
  font-size:16px
}
.card p {
  font-size:13px
}
.flow-row {
  gap:25px
}
.experience-grid {
  grid-template-columns:23% 49%
}
.exp-copy h2 {
  font-size:24px
}
.footer-grid {
  grid-template-columns:1fr 2fr
}
.small {
  text-align:left;
  grid-column:1/-1
}
.story-grid {
  gap:40px
}

}

@media(max-width:800px) {
  html {
  scroll-padding-top:135px
}
.nav {
  flex-wrap:wrap;
  gap:10px;
  padding:14px 0
}
.nav .brand {
  margin-right:auto
}
nav {
  order:3;
  width:100%;
  justify-content:space-between;
  gap:10px;
  min-height:32px
}
nav a {
  padding:8px 0
}
.hero-copy {
  margin-left:3%;
  max-width:66%
}
.hero h1 {
  font-size:35px
}
.hero-intro {
  font-size:18px
}
.cards {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px
}
.card:last-child {
  grid-column:1/-1;
  min-height:180px
}
.card {
  min-height:235px
}
.card h3 {
  font-size:20px
}
.card p {
  font-size:14px
}
.solution-head {
  display:block
}
.solution-head>.sub {
  margin-top:16px
}
.flow-row {
  grid-template-columns:1fr
}
.experience-grid {
  grid-template-columns:1fr
}
.experience-label {
  text-align:left;
  margin-bottom:20px
}
.experience-label p {
  display:none
}
.exp-copy {
  max-width:65%
}
.experience {
  background-position:60% bottom
}
.experience:before {
  background:linear-gradient(90deg,#020e16d9,#020e16b3 55%,transparent 85%)
}
.values {
  grid-template-columns:repeat(2,minmax(0,1fr))
}
.story-grid {
  padding:0;
  gap:30px
}
.footer-grid {
  gap:30px
}

}

@media(max-width:540px) {
  .wrap {
  width:90%
}
.nav .brand b {
  font-size:26px
}
.nav .cta {
  font-size:9px;
  min-height:40px;
  padding:9px
}
.brand small {
  font-size:7px
}
.hero {
  padding-top:220px
}
.hero-bg {
  height:310px;
  background-size:auto 330px;
  background-position:right top
}
.hero:after {
  background:linear-gradient(0deg,#030e16 0%,#030e16 55%,transparent 85%)
}
.hero-inner {
  min-height:0;
  display:block
}
.hero-copy {
  width:100%;
  max-width:none;
  margin:0;
  padding:0 0 35px
}
.hero h1 {
  font-size:clamp(27px,7.7vw,40px);
  margin-bottom:18px
}
.hero-intro {
  font-size:19px
}
.hero p:not(.hero-intro) {
  font-size:14px
}
.actions {
  display:grid;
  gap:10px
}
.btn {
  width:100%;
  min-height:48px
}
.meta {
  gap:8px 14px;
  font-size:10px
}
.hero .advance {
  font-size:1.42em
}
.title {
  font-size:29px
}
.eyebrow {
  font-size:12px
}
.cards {
  grid-template-columns:1fr
}
.card {
  min-height:0;
  padding:22px;
  display:grid;
  grid-template-columns:46px 1fr;
  gap:0 16px
}
.card:last-child {
  min-height:0
}
.icon {
  grid-row:1/3;
  margin:0
}
.card h3 {
  margin:0 0 10px
}
.card p {
  margin:0
}
.card:after {
  grid-column:2;
  margin-top:18px
}
.flow-boxes {
  grid-template-columns:1fr;
  gap:8px
}
.flow-box {
  min-height:0;
  padding:18px
}
.arrow {
  transform:rotate(90deg);
  text-align:center;
  font-size:24px
}
.results {
  grid-template-columns:1fr 1fr;
  gap:18px
}
.experience {
  display:block;
  padding:32px 0 255px;
  background-size:auto 330px;
  background-position:right bottom;
  background-repeat:no-repeat;
  background-color:#04131f
}
.experience:before {
  background:linear-gradient(180deg,#04131f 0%,#04131f 57%,transparent 77%)
}
.experience-label {
  margin-bottom:18px
}
.experience-label>div {
  font-size:33px
}
.exp-copy {
  max-width:none
}
.exp-copy h2 {
  font-size:26px
}
.badges {
  gap:10px 16px
}
.values {
  grid-template-columns:1fr
}
.value {
  padding:18px
}
.story {
  padding:38px 0 110px
}
.story-grid {
  grid-template-columns:1fr;
  gap:22px
}
.quote {
  text-align:left;
  font-size:17px
}
.closing {
  background-position:65% bottom
}
.footer-grid {
  grid-template-columns:1fr;
  gap:28px
}
.links {
  grid-template-columns:1fr 1fr;
  gap:22px
}
.small {
  grid-column:auto
}
.story .eyebrow {
  max-width:240px
}

}

@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto
}

}


.icon svg {
  width:30px;
  height:30px
}

@media(max-width:360px) {
  .nav .cta {
  font-size:8px;
  padding:8px
}
.nav .brand b {
  font-size:22px
}
.brand small {
  font-size:6px
}
nav {
  font-size:11px
}
.hero h1 {
  font-size:27px
}

}


/* Keep layout and background positioning intact while deferring image requests. */
.defer-backgrounds .experience:not(.background-ready),
.defer-backgrounds .closing:not(.background-ready) {
  background-image: none;
}
/* Diagnóstico: all additions are scoped to the new page. */
.diagnostico-page {
  min-height:100vh;
  background:linear-gradient(180deg,rgba(3,14,22,.83),rgba(3,14,22,.68)),url('../imagens/imagem home cidade.webp') center bottom/cover fixed no-repeat;
}
.diagnostico-page [hidden] { display:none !important; }
.diagnostico-page .diag-home { font-size:13px; color:var(--muted); }
.diagnostico-page .diag-home:hover { color:var(--gold); }
.diagnostico-page .diag-main { width:min(820px,90%); margin:0 auto; padding:44px 0 24px; }
.diagnostico-page .diag-intro { margin-bottom:22px; }
.diagnostico-page .diag-intro .eyebrow { color:var(--gold); margin:0 0 6px; }
.diagnostico-page .diag-intro>p:last-child { color:var(--muted); font-size:14px; margin:0; }
.diagnostico-page .diag-panel {
  padding:32px 40px;
  border:1px solid #24546a;
  border-top-color:#9c7849;
  border-radius:6px;
  background:rgba(3,16,26,.96);
  box-shadow:0 24px 64px #0005,inset 0 1px 22px #0dafff08;
}
.diagnostico-page .diag-progress-label { display:flex; justify-content:space-between; gap:16px; color:var(--gold); font-size:12px; margin-bottom:10px; }
.diagnostico-page .diag-progress-label>span:last-child { color:#99b3c1; font-size:10px; letter-spacing:.12em; }
.diagnostico-page progress { display:block; width:100%; height:3px; border:0; background:#17313f; accent-color:var(--blue); margin-bottom:30px; }
.diagnostico-page progress::-webkit-progress-bar { background:#17313f; }
.diagnostico-page progress::-webkit-progress-value { background:var(--blue); }
.diagnostico-page progress::-moz-progress-bar { background:var(--blue); }
.diagnostico-page h1 { font:400 clamp(28px,3.4vw,40px)/1.15 Georgia,serif; color:#f1dfc1; letter-spacing:.01em; margin-bottom:16px; }
.diagnostico-page h1:focus { outline:none; }
.diagnostico-page .diag-support { font-size:15px; line-height:1.6; color:var(--muted); margin:0 0 26px; }
.diagnostico-page .diag-options { border:0; padding:0; margin:0; min-width:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.diagnostico-page .diag-option {
  display:flex; align-items:center; gap:12px; min-height:66px; padding:15px 18px;
  border:1px solid #285064; border-radius:4px; background:linear-gradient(125deg,#0a2533,#061823);
  color:#e8edf0; cursor:pointer; font-size:14px; line-height:1.45;
}
.diagnostico-page .diag-option input { accent-color:#d6aa69; width:18px; height:18px; margin:0; flex-shrink:0; cursor:pointer; }
.diagnostico-page .diag-option:hover { border-color:#60c3ee; }
.diagnostico-page .diag-option:has(input:checked) { background:linear-gradient(125deg,#33281d,#14232b); border-color:var(--gold); box-shadow:inset 3px 0 var(--gold); }
.diagnostico-page .diag-option:focus-within { outline:2px solid #7bd7ff; outline-offset:3px; }
.diagnostico-page textarea {
  display:block; width:100%; min-height:180px; resize:vertical; padding:18px; border:1px solid #2c6076; border-radius:4px;
  font:15px/1.6 Segoe UI,Arial,sans-serif; background:#04121d; color:var(--text);
}
.diagnostico-page textarea::placeholder { color:#9db0bc; opacity:1; }
.diagnostico-page textarea:focus { outline:2px solid #7bd7ff; outline-offset:3px; }
.diagnostico-page textarea[aria-invalid="true"] { border-color:#ffc59b; }
.diagnostico-page .diag-count { text-align:right; font-size:11px; color:#9db0bc; margin:8px 0 0; }
.diagnostico-page .diag-error { color:#ffd0aa; font-size:13px; margin:16px 0 0; }
.diagnostico-page .diag-error:empty { display:none; }
.diagnostico-page .diag-controls { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:26px; padding-top:24px; border-top:1px solid #28404d; }
.diagnostico-page #diag-next { margin-left:auto; cursor:pointer; }
.diagnostico-page .diag-back { border:0; background:none; color:var(--muted); padding:12px 0; cursor:pointer; font-size:14px; }
.diagnostico-page .diag-back:hover { color:var(--gold); }
.diagnostico-page .diag-ready { color:#a5dff7; font-size:11px; letter-spacing:.1em; }
.diagnostico-page .diag-ready span { color:var(--gold); margin-right:8px; }
.diagnostico-page .diag-summary { margin:0 0 26px; padding:4px 20px; border:1px solid #285064; border-radius:4px; background:#071c28; }
.diagnostico-page .diag-summary>div { padding:14px 0; border-bottom:1px solid #23404e; }
.diagnostico-page .diag-summary>div:last-child { border-bottom:0; }
.diagnostico-page dt { color:var(--gold); font-size:11px; letter-spacing:.06em; margin-bottom:5px; }
.diagnostico-page dd { color:var(--text); margin:0; font-size:14px; overflow-wrap:anywhere; white-space:pre-wrap; }
.diagnostico-page .diag-finish { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.diagnostico-page .diag-note { color:#a4b8c3; text-align:center; font-size:10px; letter-spacing:.12em; margin:24px 0 0; }
.diagnostico-page .diag-footer { padding:22px 0; margin-top:12px; color:#a6b6c0; text-align:center; font-size:11px; background:#020b12a6; }
@media(max-width:540px) {
  .diagnostico-page { background-attachment:scroll; }
  .diagnostico-page .nav { flex-wrap:nowrap; min-height:76px; }
  .diagnostico-page .diag-home { font-size:12px; }
  .diagnostico-page .diag-main { padding-top:25px; }
  .diagnostico-page .diag-panel { padding:24px 20px; }
  .diagnostico-page .diag-progress-label>span:last-child { display:none; }
  .diagnostico-page progress { margin-bottom:24px; }
  .diagnostico-page h1 { font-size:29px; }
  .diagnostico-page .diag-support { font-size:14px; margin-bottom:22px; }
  .diagnostico-page .diag-options { grid-template-columns:1fr; gap:10px; }
  .diagnostico-page .diag-option { padding:14px; min-height:58px; }
  .diagnostico-page .diag-controls { gap:14px; }
  .diagnostico-page #diag-next { width:auto; padding-inline:14px; }
  .diagnostico-page .diag-finish { flex-direction:column; align-items:stretch; text-align:center; gap:18px; }
  .diagnostico-page .diag-summary { padding-inline:14px; }
}

/* Cadastro and Experiência reuse the diagnostic shell; additions stay scoped. */
.funil-page .funil-context { margin:0 0 24px; color:var(--muted); }
.funil-page .funil-context summary { cursor:pointer; color:var(--gold); padding:12px 0; font-size:14px; }
.funil-page .funil-context .diag-summary { margin:8px 0 0; }
.funil-page .funil-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.funil-page .funil-field label { display:block; font-size:14px; color:#f1dfc1; margin-bottom:8px; }
.funil-page .funil-field input { display:block; width:100%; min-width:0; min-height:48px; padding:12px 14px; border:1px solid #2c6076; border-radius:4px; background:#04121d; color:var(--text); font:16px/1.5 Segoe UI,Arial,sans-serif; }
.funil-page .funil-field input::placeholder { color:#9db0bc; }
.funil-page .funil-field input:focus { outline:2px solid #7bd7ff; outline-offset:3px; }
.funil-page .funil-field input[aria-invalid="true"] { border-color:#ffc59b; }
.funil-page .funil-field-error { color:#ffd0aa; font-size:12px; margin:6px 0 0; }
.funil-page .funil-field-error:empty { display:none; }
.funil-page .funil-local-note { font-size:12px; line-height:1.6; color:#b6c6cf; margin:22px 0 0; }
.funil-page .funil-heading { font:400 24px/1.3 Georgia,serif; color:var(--gold); margin:26px 0 16px; }
.funil-page .funil-scope { border-left:2px solid var(--gold); padding:10px 16px; color:#e5d7c2; background:#19232a; font-size:14px; }
.funil-page .funil-preparation { margin-top:26px; padding:22px; border:1px solid #2c6076; border-radius:4px; background:#071c28; scroll-margin-top:110px; }
.funil-page .funil-preparation .funil-heading { margin-top:0; }
.funil-page .funil-preparation p { color:var(--muted); font-size:14px; }
.funil-page .diag-controls { flex-wrap:wrap; }
.funil-page button { cursor:pointer; }
@media(max-width:540px) {
  .funil-page .funil-fields { grid-template-columns:1fr; gap:18px; }
  .funil-page .nav .diag-home { max-width:120px; text-align:right; }
  .funil-page .diag-controls { flex-direction:column-reverse; align-items:stretch; text-align:center; }
  .funil-page .funil-preparation { padding:18px; }
}

/* verify-contact-page */
.verify-notice { margin:0 0 22px; padding:12px 14px; border-left:2px solid var(--gold); background:#19232a; color:#d8e3e8; font-size:13px; line-height:1.5; }
.verify-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.verify-card { min-width:0; padding:22px; border:1px solid #2c6076; border-radius:4px; background:linear-gradient(145deg,#071c28,#04121d); }
.verify-kicker { color:var(--gold); font-size:10px; letter-spacing:.18em; margin-bottom:8px; }
.verify-card h2 { margin:0 0 8px; color:#f1dfc1; font:400 22px/1.25 Georgia,serif; }
.verify-destination { margin:0 0 20px; color:#aebfc8; font-size:13px; }
.verify-destination strong { color:#e8d7bc; font-weight:600; }
.verify-card label { display:block; margin-bottom:8px; color:#f1dfc1; font-size:13px; }
.verify-card input { display:block; width:100%; min-height:54px; padding:12px 16px; border:1px solid #2c6076; border-radius:4px; background:#03101a; color:#fff; font:600 20px/1 Segoe UI,Arial,sans-serif; letter-spacing:.2em; }
.verify-card input:focus { outline:2px solid #7bd7ff; outline-offset:3px; }
.verify-actions { display:flex; gap:10px; margin-top:18px; flex-wrap:wrap; }
.verify-actions .btn { flex:1 1 150px; min-height:46px; }
.verify-secondary { border:1px solid #527384; background:transparent; color:#d9e8ef; }
.verify-secondary:hover { border-color:var(--gold); color:#f1dfc1; }
.verify-card button:disabled { opacity:.48; cursor:not-allowed; }
.verify-foot { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-top:24px; padding-top:20px; border-top:1px solid #28404d; color:#9db0bc; font-size:12px; }
@media (max-width:760px) { .verify-grid { grid-template-columns:1fr; } .verify-foot { flex-direction:column; align-items:flex-start; } }


/* DESKTOP 100% viewport fit — jornada publica. Area de Trabalho nao e afetada. */
@media (min-width: 761px) and (max-height: 820px) {
  .diagnostico-page .nav { min-height:62px; }
  .diagnostico-page .brand b { font-size:29px; }
  .diagnostico-page .diag-main { width:min(820px,88%); padding:18px 0 10px; }
  .diagnostico-page .diag-intro { margin-bottom:12px; }
  .diagnostico-page .diag-panel { padding:20px 40px; }
  .diagnostico-page .diag-progress-label { margin-bottom:7px; }
  .diagnostico-page progress { margin-bottom:18px; }
  .diagnostico-page h1 { font-size:34px; line-height:1.08; margin-bottom:10px; }
  .diagnostico-page .diag-support { font-size:14px; line-height:1.4; margin-bottom:16px; }
  .diagnostico-page .diag-options { gap:9px 12px; }
  .diagnostico-page .diag-option { min-height:54px; padding:10px 16px; }
  .diagnostico-page textarea { min-height:130px; padding:14px; }
  .diagnostico-page .diag-count { margin-top:5px; }
  .diagnostico-page .diag-controls { margin-top:16px; padding-top:14px; }
  .diagnostico-page .diag-summary { margin-bottom:14px; }
  .diagnostico-page .diag-summary>div { padding:9px 0; }
  .diagnostico-page .diag-note { margin-top:10px; }
  .diagnostico-page .diag-footer { padding:10px 0; margin-top:4px; }
  .funil-page .funil-context { margin-bottom:12px; }
  .funil-page .funil-context summary { padding:7px 0; }
  .funil-page .funil-fields { gap:12px 20px; }
  .funil-page .funil-field label { margin-bottom:5px; }
  .funil-page .funil-field input { min-height:43px; padding:8px 13px; }
  .funil-page .funil-local-note { margin-top:12px; }
  .verify-notice { margin-bottom:14px; padding:9px 14px; }
  .verify-grid { gap:14px; }
  .verify-card { padding:16px 20px; }
  .verify-kicker { margin-bottom:5px; }
  .verify-card h2 { font-size:20px; margin-bottom:5px; }
  .verify-destination { margin-bottom:12px; }
  .verify-card label { margin-bottom:5px; }
  .verify-card input { min-height:46px; padding:9px 14px; }
  .verify-actions { margin-top:12px; }
  .verify-actions .btn { min-height:42px; }
  .verify-foot { margin-top:14px; padding-top:12px; }
}


/* DESKTOP 100% — ajuste congelavel da Etapa 1 */
@media (min-width: 761px) and (max-height: 820px) {
  .diagnostico-page .diag-step[data-step="1"]:not([hidden]) h1 { font-size:32px; margin-bottom:7px; }
  .diagnostico-page .diag-step[data-step="1"]:not([hidden]) .diag-support { margin-bottom:11px; }
  .diagnostico-page .diag-step[data-step="1"]:not([hidden]) .diag-options { gap:7px 12px; }
  .diagnostico-page .diag-step[data-step="1"]:not([hidden]) .diag-option { min-height:46px; padding:7px 15px; }
  .diagnostico-page .diag-step[data-step="1"]:not([hidden]) ~ .diag-error { min-height:0; margin:4px 0 0; }
  .diagnostico-page .diag-step[data-step="1"]:not([hidden]) ~ .diag-controls { margin-top:8px; padding-top:10px; }
}


/* DESKTOP 100% — Etapa 1 fit final por viewport */
@media (min-width: 761px) and (max-height: 820px) {
  .diagnostico-page:has(.diag-step[data-step="1"]:not([hidden])) .nav { min-height:54px; }
  .diagnostico-page:has(.diag-step[data-step="1"]:not([hidden])) .brand b { font-size:27px; }
  .diagnostico-page:has(.diag-step[data-step="1"]:not([hidden])) .diag-main { padding:10px 0 4px; }
  .diagnostico-page:has(.diag-step[data-step="1"]:not([hidden])) .diag-intro { margin-bottom:7px; }
  .diagnostico-page:has(.diag-step[data-step="1"]:not([hidden])) .diag-intro .eyebrow { margin-bottom:2px; }
  .diagnostico-page:has(.diag-step[data-step="1"]:not([hidden])) .diag-panel { padding:14px 38px 12px; }
  .diagnostico-page:has(.diag-step[data-step="1"]:not([hidden])) .diag-progress-label { margin-bottom:4px; }
  .diagnostico-page:has(.diag-step[data-step="1"]:not([hidden])) progress { margin-bottom:10px; }
  .diagnostico-page .diag-step[data-step="1"]:not([hidden]) h1 { font-size:30px; margin-bottom:5px; }
  .diagnostico-page .diag-step[data-step="1"]:not([hidden]) .diag-support { margin-bottom:8px; line-height:1.3; }
  .diagnostico-page .diag-step[data-step="1"]:not([hidden]) .diag-options { gap:6px 12px; }
  .diagnostico-page .diag-step[data-step="1"]:not([hidden]) .diag-option { min-height:43px; padding:6px 14px; }
  .diagnostico-page .diag-step[data-step="1"]:not([hidden]) ~ .diag-error { min-height:0; margin:0; }
  .diagnostico-page .diag-step[data-step="1"]:not([hidden]) ~ .diag-controls { margin-top:6px; padding-top:8px; }
  .diagnostico-page:has(.diag-step[data-step="1"]:not([hidden])) .diag-controls .btn { min-height:40px; padding:8px 20px; }
  .diagnostico-page:has(.diag-step[data-step="1"]:not([hidden])) .diag-note { margin-top:3px; font-size:9px; }
  .diagnostico-page:has(.diag-step[data-step="1"]:not([hidden])) .diag-footer { padding:5px 0; margin-top:0; }
}

/* DESKTOP 100% — funil completo, baseado no fit aprovado da Etapa 1 */
@media (min-width: 761px) and (max-height: 820px) {
  .diagnostico-page:has(.diag-step:not([hidden])) .nav { min-height:54px; }
  .diagnostico-page:has(.diag-step:not([hidden])) .brand b { font-size:27px; }
  .diagnostico-page:has(.diag-step:not([hidden])) .diag-main { padding:10px 0 4px; }
  .diagnostico-page:has(.diag-step:not([hidden])) .diag-intro { margin-bottom:7px; }
  .diagnostico-page:has(.diag-step:not([hidden])) .diag-panel { padding:14px 38px 12px; }
  .diagnostico-page:has(.diag-step:not([hidden])) progress { margin-bottom:10px; }
  .diagnostico-page .diag-step:not([hidden]) h1 { font-size:30px; line-height:1.08; margin-bottom:5px; }
  .diagnostico-page .diag-step:not([hidden]) .diag-support { margin-bottom:8px; line-height:1.3; }
  .diagnostico-page .diag-step:not([hidden]) .diag-options { gap:6px 12px; }
  .diagnostico-page .diag-step:not([hidden]) .diag-option { min-height:43px; padding:6px 14px; }
  .diagnostico-page .diag-step:not([hidden]) textarea { min-height:118px; max-height:150px; }
  .diagnostico-page .diag-controls { margin-top:6px; padding-top:8px; }
  .diagnostico-page .diag-controls .btn { min-height:40px; padding:8px 20px; }
  .diagnostico-page .diag-summary { margin-bottom:8px; }
  .diagnostico-page .diag-summary>div { padding:6px 0; }
  .diagnostico-page .diag-footer { padding:5px 0; margin-top:0; }
}


/* DESKTOP 100% — Etapa 4 ajuste isolado */
@media (min-width: 761px) and (max-height: 820px) {
  .diagnostico-page:has(.diag-step[data-step="4"]:not([hidden])) .diag-panel { padding-top:12px; padding-bottom:10px; }
  .diagnostico-page .diag-step[data-step="4"]:not([hidden]) h1 { margin-bottom:4px; }
  .diagnostico-page .diag-step[data-step="4"]:not([hidden]) .diag-support { margin-bottom:7px; }
  .diagnostico-page .diag-step[data-step="4"]:not([hidden]) textarea { min-height:92px; height:92px; max-height:92px; padding:10px 13px; }
  .diagnostico-page .diag-step[data-step="4"]:not([hidden]) .diag-count { margin-top:3px; }
  .diagnostico-page .diag-step[data-step="4"]:not([hidden]) ~ .diag-controls { margin-top:5px; padding-top:7px; }
}

/* DESKTOP 100% — cadastro fit isolado */
@media (min-width:761px) and (max-height:820px){
  .funil-page .nav{min-height:54px}
  .funil-page .brand b{font-size:27px}
  .funil-page .diag-main{padding:12px 0 4px}
  .funil-page .diag-intro{margin-bottom:8px}
  .funil-page .diag-panel{padding:16px 40px 14px}
  .funil-page h1{font-size:31px;line-height:1.08;margin-bottom:7px}
  .funil-page .diag-support{margin-bottom:10px;line-height:1.35}
  .funil-page .funil-context{margin-bottom:8px}
  .funil-page .funil-context summary{padding:5px 0}
  .funil-page .funil-fields{gap:8px 20px}
  .funil-page .funil-field label{margin-bottom:4px}
  .funil-page .funil-field input{min-height:40px;padding:7px 13px}
  .funil-page .funil-local-note{margin-top:8px;line-height:1.35}
  .funil-page .diag-controls{margin-top:10px;padding-top:10px}
  .funil-page .diag-controls .btn{min-height:40px;padding:8px 20px}
  .funil-page .diag-footer{padding:5px 0;margin-top:0}
}


/* JORNADA 7 DIAS · DIAGNOSTICO V2 */
.jornada-v2{
  background:
    linear-gradient(180deg,rgba(2,10,16,.78),rgba(3,14,22,.62)),
    radial-gradient(ellipse at 76% 28%,rgba(224,154,63,.20),transparent 42%),
    url('../imagens/cidade-mesopotamica-01.webp') center 56%/cover fixed no-repeat;
}
.jornada-v2 header{
  background:rgba(2,10,16,.78);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(205,148,65,.22);
}
.jornada-v2 .diag-main{width:min(900px,92%)}
.jornada-v2 .diag-intro{padding-left:4px}
.jornada-v2 .diag-intro .eyebrow{color:#e0aa5a;letter-spacing:.14em}
.jornada-v2 .diag-intro>p:last-child{color:#c1cdd2}
.jornada-v2 .diag-panel{
  border:1px solid rgba(207,151,68,.40);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(5,21,30,.96),rgba(2,11,18,.95));
  box-shadow:0 24px 70px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.025);
}
.jornada-v2 .diag-progress-label{color:#e4b267}
.jornada-v2 .diag-progress-label>span:last-child{color:#a9bac1}
.jornada-v2 progress,
.jornada-v2 progress::-webkit-progress-bar{background:#1b3038}
.jornada-v2 progress::-webkit-progress-value{background:linear-gradient(90deg,#a8722d,#e0b35d)}
.jornada-v2 progress::-moz-progress-bar{background:#d9a653}
.jornada-v2 h1{color:#f5e7cf}
.jornada-v2 .diag-support{color:#bcc9ce}
.jornada-v2 .diag-options{gap:12px}
.jornada-v2 .diag-option{
  min-height:62px;
  border:1px solid rgba(89,119,130,.52);
  border-radius:13px;
  background:linear-gradient(135deg,rgba(8,30,41,.90),rgba(4,18,26,.92));
  transition:border-color .18s ease,transform .18s ease,background .18s ease,box-shadow .18s ease;
}
.jornada-v2 .diag-option:hover{
  border-color:rgba(224,173,89,.75);
  transform:translateY(-1px);
}
.jornada-v2 .diag-option:has(input:checked){
  border-color:#d4a04d;
  background:linear-gradient(135deg,rgba(55,41,22,.92),rgba(10,28,35,.95));
  box-shadow:inset 3px 0 #d4a04d,0 8px 22px rgba(0,0,0,.16);
}
.jornada-v2 .diag-option input{accent-color:#d4a04d}
.jornada-v2 .diag-option-wide{grid-column:1/-1}
.jornada-v2 .diag-objective-custom{
  margin-top:14px;
  padding:15px 16px 12px;
  border:1px solid rgba(205,151,71,.28);
  border-radius:13px;
  background:rgba(3,15,22,.72);
}
.jornada-v2 .diag-objective-custom label{
  display:block;
  margin-bottom:8px;
  color:#e7c58c;
  font-size:12px;
  font-weight:600;
}
.jornada-v2 textarea{
  min-height:86px;
  max-height:130px;
  border-radius:11px;
  border-color:rgba(91,123,135,.58);
  background:#03111a;
}
.jornada-v2 .diag-controls{border-top-color:rgba(96,121,130,.28)}
.jornada-v2 .diag-back{color:#bdc8cc}
.jornada-v2 .diag-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:0;
  border:0;
  background:transparent;
}
.jornada-v2 .diag-summary>div{
  min-width:0;
  padding:13px 15px;
  border:1px solid rgba(82,112,123,.48);
  border-radius:12px;
  background:rgba(6,24,33,.78);
}
.jornada-v2 .diag-summary>div:last-child{border-bottom:1px solid rgba(82,112,123,.48)}
.jornada-v2 dt{color:#dba554}
.jornada-v2 dd{color:#edf1f2}
.jornada-v2 .diag-ready{color:#d9a653}
.jornada-v2 .diag-note{color:#b9c3c6}

@media(max-width:600px){
  .jornada-v2{background-attachment:scroll}
  .jornada-v2 .diag-summary{grid-template-columns:1fr}
  .jornada-v2 .diag-option-wide{grid-column:auto}
}
@media (min-width:761px) and (max-height:820px){
  .jornada-v2 .diag-step[data-step="4"]:not([hidden]) .diag-options{gap:6px 10px}
  .jornada-v2 .diag-step[data-step="4"]:not([hidden]) .diag-option{min-height:42px;padding:6px 13px}
  .jornada-v2 .diag-step[data-step="4"]:not([hidden]) .diag-objective-custom{margin-top:7px;padding:8px 12px 6px}
  .jornada-v2 .diag-step[data-step="4"]:not([hidden]) textarea{height:58px;min-height:58px;max-height:58px}
  .jornada-v2 .diag-step[data-step="5"]:not([hidden]) .diag-summary{gap:7px;margin-bottom:8px}
  .jornada-v2 .diag-step[data-step="5"]:not([hidden]) .diag-summary>div{padding:8px 11px}
}


/* CADASTRO · RECUPERAR ACESSO R39 */
.existing-access{
  margin:14px 0 2px;
  padding:16px 18px;
  border:1px solid rgba(211,164,90,.55);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(41,29,15,.74),rgba(5,22,31,.94));
  box-shadow:inset 3px 0 #d3a45a;
}
.existing-access[hidden]{display:none}
.existing-access .diag-ready{margin:0 0 6px}
.existing-access h2{
  margin:0 0 6px;
  color:#f5e7cf;
  font:700 22px/1.2 Georgia,serif;
}
.existing-access>p:not(.diag-ready):not(.existing-access-status){
  margin:0 0 13px;
  color:#c5d0d4;
  font-size:13px;
  line-height:1.55;
}
.existing-access .btn{width:auto}
.existing-access-status{
  min-height:18px;
  margin:8px 0 0;
  color:#e5bc76;
  font-size:12px;
}
@media(max-width:600px){
  .existing-access .btn{width:100%}
}

/* OANNES — Jornada 7 dias / adaptação MOBILE 2026-09-27 */
@media (max-width:760px){
  .diagnostico-page{overflow-x:hidden}
  .diagnostico-page header{position:sticky;top:0;z-index:20;background:rgba(2,13,21,.97);border-bottom:1px solid rgba(214,162,79,.32)}
  .diagnostico-page .nav{width:100%;min-height:68px!important;padding:12px 18px!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
  .diagnostico-page .brand b{font-size:24px!important;letter-spacing:.20em!important}
  .diagnostico-page .brand small{font-size:7px!important;letter-spacing:.22em!important}
  .diagnostico-page .nav .diag-home{max-width:145px!important;font-size:11px!important;line-height:1.25!important;text-align:right!important}
  .diagnostico-page .diag-main{width:100%!important;margin:0!important;padding:22px 16px 42px!important}
  .diagnostico-page .diag-intro{margin:0 2px 14px!important}
  .diagnostico-page .diag-intro .eyebrow{font-size:10px!important;letter-spacing:.17em!important}
  .diagnostico-page .diag-intro>p:last-child{font-size:13px!important;line-height:1.45!important}
  .diagnostico-page .diag-panel{width:100%!important;padding:20px 16px!important;border-radius:16px!important}
  .diagnostico-page .diag-progress-label{font-size:11px!important;margin-bottom:8px!important}
  .diagnostico-page progress{margin-bottom:20px!important}
  .diagnostico-page .diag-step:not([hidden]) h1,
  .funil-page .diag-panel h1{font-size:28px!important;line-height:1.08!important;margin:0 0 10px!important}
  .diagnostico-page .diag-support{font-size:14px!important;line-height:1.48!important;margin-bottom:18px!important}
  .diagnostico-page .diag-options{grid-template-columns:1fr!important;gap:9px!important}
  .diagnostico-page .diag-option{min-height:54px!important;padding:12px 13px!important;border-radius:10px!important}
  .diagnostico-page textarea{width:100%!important;min-height:120px!important;height:auto!important;max-height:none!important;font-size:16px!important}
  .diagnostico-page .diag-controls{display:flex!important;flex-direction:column-reverse!important;align-items:stretch!important;gap:10px!important;margin-top:18px!important;padding-top:16px!important}
  .diagnostico-page .diag-controls .btn,
  .diagnostico-page #diag-next{width:100%!important;min-height:50px!important;margin:0!important;padding:12px 14px!important;text-align:center!important}
  .diagnostico-page .diag-back,.diagnostico-page .diag-controls .diag-home{width:100%!important;text-align:center!important;padding:10px!important}
  .diagnostico-page .diag-summary{grid-template-columns:1fr!important;padding:4px 12px!important}
  .diagnostico-page .diag-finish{display:flex!important;flex-direction:column!important;align-items:stretch!important}
  .funil-page .funil-fields{grid-template-columns:1fr!important;gap:12px!important}
  .funil-page .funil-field input{min-height:50px!important;font-size:16px!important}
  .funil-page details{margin-bottom:18px!important}
  .verify-grid{grid-template-columns:1fr!important;gap:12px!important}
  .verify-card{padding:18px 14px!important;border-radius:12px!important}
  .verify-actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
  .verify-actions .btn{width:100%!important;min-height:48px!important}
  .verify-card input{font-size:18px!important}
  .verify-foot{flex-direction:column!important;align-items:stretch!important;gap:10px!important}
  .verify-foot .diag-home{text-align:center!important}
  .auth-shell{margin:0 auto!important;padding:24px 16px 48px!important}
  .auth-card{padding:22px 16px!important;border-radius:16px!important}
  .auth-grid,.grid{grid-template-columns:1fr!important}
  .auth-card .btn{width:100%!important;min-height:50px!important}
}
