/* ORBITAL / Editorial Tech • continuidade visual após o hero.
   Escopo: somente apresentação; não altera script, perguntas ou captação.
   O contraste entre papel, grafite e matéria é intencional. */

:root {
  --orb-paper: #F5F1E8;
  --orb-ink: #111111;
  --orb-violet: #6F3FF5;
  --orb-coral: #FF4B3E;
  --orb-lime: #C7FF45;
  --orb-font-editorial: 'DM Serif Display', Georgia, serif;
  --orb-font-display: 'Space Grotesk', Arial, sans-serif;
  --orb-font-body: 'Inter', Arial, sans-serif;
}

body {
  background: var(--orb-paper);
  color: var(--orb-ink);
  font-family: var(--orb-font-body);
}
body::before {opacity:.075;background-image:radial-gradient(#111111 .42px,transparent .42px);background-size:22px 22px;}
body :is(h2,h3) {font-family:var(--orb-font-display);letter-spacing:-.045em;}
body :is(h1,h2) em {font-family:var(--orb-font-editorial);font-weight:400;letter-spacing:-.025em;color:var(--orb-violet);}
.section-label {color:var(--orb-violet);font:600 .78rem/1.4 var(--orb-font-display);letter-spacing:.08em;}
.section-heading>p {color:#504B46;font:400 .96rem/1.7 var(--orb-font-body);}
.section-heading h2 {font-size:clamp(2.4rem,4.2vw,4.65rem);line-height:1.07;}
.section-footnote {color:#555049;font-size:.85rem;}
:where(.problems-section,.approach-section,.faq-section) {color:var(--orb-ink);}
:where(.problems-section,.approach-section,.faq-section) .section-heading h2 {color:var(--orb-ink);}
:where(.problems-section,.approach-section,.faq-section) a:focus-visible {outline-color:var(--orb-violet);}

/* Faixa técnica entre hero e serviços: contraste editorial proposital. */
.strip {background:var(--orb-ink);border-color:#ffffff2c;}
.strip-content {color:var(--orb-paper);font:600 .76rem/1.4 var(--orb-font-display);letter-spacing:.075em;}
.strip i {background:var(--orb-coral);}

/* Serviços em papel, cartões com linhas gráficas e espaços amplos. */
.problems-section {position:relative;padding-block:105px 115px;}
.problems-section .section-heading {border-top:1px solid #11111135;padding-top:18px;}
.problems-grid {gap:14px;}
.problem-card {
  position:relative;isolation:isolate;
  background:#ECE6DB;border:1px solid #11111140;border-radius:3px;
  min-height:340px;padding:25px;overflow:hidden;
  box-shadow:none;transition:background .25s,border-color .25s,transform .25s;
}
.problem-card:nth-child(2n) {background:#E4DDD3;}
.problem-card::before {
  content:"";position:absolute;top:-42px;right:-40px;width:106px;height:106px;
  border:1px solid #11111128;border-radius:50%;pointer-events:none;z-index:-1;
}
.problem-card:hover {background:#F5F1E8;border-color:var(--orb-violet);transform:translateY(-4px);}
.problem-card-top {color:#4B4641;font:600 .71rem/1.3 var(--orb-font-display);letter-spacing:.05em;}
.card-arrow {color:var(--orb-violet);}
.problem-icon {
  border:1px solid #11111140;border-radius:2px;
  color:var(--orb-violet);background:transparent;font-size:27px;
}
.problem-card h3 {color:var(--orb-ink);font-size:clamp(1.25rem,1.55vw,1.6rem);line-height:1.19;}
.problem-card p {color:#514B46;font:400 .88rem/1.6 var(--orb-font-body);}
.card-tags span {
  color:var(--orb-ink);background:transparent;border:1px solid #1111114a;
  border-radius:2px;font:500 .72rem/1.25 var(--orb-font-display);
}

/* Manifesto: papel mais quente, palavra editorial e contraste material. */
.manifesto-section {background:#E6DFD4;color:var(--orb-ink);border-block:1px solid #11111125;}
.manifesto-section .section-label {color:var(--orb-violet);}
.manifesto-mark {background:var(--orb-paper);border:1px solid #11111150;border-radius:2px;}
.manifesto-caption {color:#514B46;font-family:var(--orb-font-display);}
.manifesto-copy h2 {font-family:var(--orb-font-display);line-height:1.1;}
.manifesto-copy h2 em {color:var(--orb-violet);font-family:var(--orb-font-editorial);}
.manifesto-copy p {color:#46423E;}
.manifesto-copy p strong {color:var(--orb-ink);}
.manifesto-copy .quiet-link {color:var(--orb-ink);border-color:#11111160;font-family:var(--orb-font-display);}

/* Método: leve e legível no celular; mantém quatro etapas existentes. */
.approach-section {padding-block:112px;}
.step-card {border-top:1px solid #11111142;padding-top:13px;}
.step-index {color:var(--orb-violet);font-family:var(--orb-font-display);}
.step-line {background:linear-gradient(90deg,var(--orb-violet),#11111125);}
.step-line::before {background:var(--orb-coral);border-radius:1px;}
.step-card h3 {color:var(--orb-ink);}
.step-card p {color:#514B46;font:400 .88rem/1.7 var(--orb-font-body);}

/* Portfólio escuro para marcar mudança de ritmo sem ocupar a página inteira. */
.work-section {background:#19191B;color:var(--orb-paper);border-block:1px solid #ffffff24;}
.work-section .section-label {color:var(--orb-lime);}
.work-section .section-heading>p {color:#D8D0C8;}
.work-section h2,.work-section h3 {color:var(--orb-paper);}
.work-section h2 em {color:#D9CBFF;}
.project-card {background:#242327;border:1px solid #F5F1E840;border-radius:3px;}
.project-visual {border-radius:2px;}
.project-meta {color:var(--orb-lime);font:600 .72rem/1.4 var(--orb-font-display);letter-spacing:.04em;}
.project-card p {color:#D3CAC9;font:400 .9rem/1.7 var(--orb-font-body);}
.projects-note {color:#D1CAC4;}
.work-section .signal-dot {background:var(--orb-lime);box-shadow:none;}

/* Diagnóstico intocado em estrutura, lógica, seleção e formulário.
   Mantemos contraste grafite proposital para uma ferramenta de uso focado. */
.diagnostic-section {
  background:#19171E;color:var(--orb-paper);
  border-block:1px solid #F5F1E825;
}
.diagnostic-section .section-label {color:#C9B6FF;}
.diagnostic-intro h2 {color:var(--orb-paper);font-family:var(--orb-font-display);}
.diagnostic-intro h2 em {color:#D7C4FF;font-family:var(--orb-font-editorial);}
.diagnostic-intro>p {color:#CEC6D5;}
.diagnostic-card {color:#F5F1E8;}
.diagnostic-card h3 {color:#F5F1E8;}
.diagnostic-section .diag-features {color:#D8D0E2;}
.diagnostic-section .result-intro {color:#D5C9E0;}
.diagnostic-section .lead-capture {color:#F5F1E8;}

/* Perguntas frequentes retornam ao papel, com leitura de revista. */
.faq-section {background:transparent;padding-block:108px;}
.faq-list {border-color:#11111150;}
.faq-list details {border-color:#11111132;}
.faq-list summary {color:var(--orb-ink);font:600 1rem/1.5 var(--orb-font-display);}
.faq-list summary span {color:var(--orb-violet);}
.faq-list details p {color:#534F4A;font:400 .91rem/1.75 var(--orb-font-body);}

/* Contato com contraste, não degradê roxo genérico. */
.final-section {background:var(--orb-paper);padding-bottom:105px;}
.final-card {
  background:var(--orb-ink);border:1px solid #111111;border-radius:3px;
  color:var(--orb-paper);box-shadow:none;isolation:isolate;
}
.final-card::before {
  content:"";position:absolute;width:260px;height:260px;right:-85px;top:-120px;
  border-radius:50%;background:var(--orb-coral);opacity:.88;z-index:-1;
}
.final-card::after {
  content:"";position:absolute;left:0;bottom:0;width:41%;height:11px;
  background:var(--orb-violet);z-index:-1;
}
.final-glow {display:none;}
.final-card .section-label {color:var(--orb-lime);}
.final-card h2 {color:var(--orb-paper);font-family:var(--orb-font-display);}
.final-card h2 em {color:#DAD0FF;font-family:var(--orb-font-editorial);}
.final-card p {color:#E1D9D2;}
.final-card .btn-light {background:var(--orb-paper);color:var(--orb-ink);border-radius:3px;font-family:var(--orb-font-display);}
.final-card .btn-light:hover {background:var(--orb-lime);}
.final-footnote {color:#C9C0BB;}

/* Rodapé grafite preserva logo original clara. */
.footer {background:var(--orb-ink);color:var(--orb-paper);border-top:1px solid #ffffff35;}
.footer-top p {color:#D2C9C3;}
.footer-top>div span {color:var(--orb-lime);font-family:var(--orb-font-display);}
.footer-bottom {border-color:#ffffff30;color:#CEC5BF;}
.footer a:hover {color:var(--orb-lime);}

/* A versão mobile não volta a preto por herança da identidade antiga.
   As duas seções grafite são contrastes deliberados. */
@media (max-width:850px) {
  .header .main-nav {background:var(--orb-ink);}
  .problems-section,.approach-section,.faq-section {background:var(--orb-paper);}
  .problems-section,.approach-section,.faq-section {padding-block:80px;}
  .manifesto-section,.work-section,.diagnostic-section {padding-block:80px;}
  .project-card {padding-bottom:26px;}
  .problem-card {min-height:300px;}
  .section-heading h2 {font-size:clamp(2.2rem,6.6vw,3.5rem);}
}
@media (max-width:620px) {
  .problems-section,.approach-section,.faq-section {padding-block:66px;}
  .problems-grid {gap:13px;}
  .problem-card {min-height:245px;padding:22px;}
  .problem-card p {font-size:.92rem;}
  .manifesto-section,.work-section,.diagnostic-section {padding-block:66px;}
  .section-heading h2 {font-size:clamp(2.1rem,9vw,3rem);}
  .diagnostic-intro h2 {font-size:clamp(2.3rem,9vw,3.35rem);}
  .work-section .section-heading>p {color:#D8D0C8;}
  .final-card {padding:62px 24px;}
  .final-card::before {width:155px;height:155px;right:-68px;top:-75px;opacity:.67;}
  .final-section {padding-bottom:76px;}
}
@media (prefers-reduced-motion:reduce) {
  .problem-card {transition:none;}
}
