:root {
  color-scheme:light;
  --blue:#0d83fd;
  --blue-dark:#075db6;
  --ink:#19304c;
  --muted:#52657c;
  --line:#dce8f4;
  --soft:#f2f8ff;
  --white:#fff;
  --radius:20px
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:auto
}
body {
  margin:0;
  font:16px/1.65 Inter,Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:#fff
}
a {
  color:inherit
}
a:focus-visible,summary:focus-visible {
  outline:3px solid #ffb44a;
  outline-offset:4px
}
h1,h2,h3,p {
  margin-top:0
}
h1,h2,h3,.brand {
  font-family:Nunito,Inter,Arial,sans-serif
}
h1 {
  font-size:clamp(2.35rem,5vw,4.1rem);
  line-height:1.12;
  letter-spacing:-.045em;
  margin-bottom:20px
}
h2 {
  font-size:clamp(1.9rem,3.4vw,2.75rem);
  line-height:1.18;
  letter-spacing:-.03em;
  margin-bottom:16px
}
h3 {
  font-size:1.18rem;
  line-height:1.3;
  margin-bottom:10px
}
p {
  color:var(--muted)
}
.wrap {
  width:min(1120px,calc(100% - 40px));
  margin:auto
}
.skip {
  position:absolute;
  left:12px;
  top:-90px;
  background:#fff;
  padding:10px;
  z-index:30
}
.skip:focus {
  top:10px
}
.site-header {
  background:rgba(255,255,255,.97);
  border-bottom:1px solid #e8f0f7;
  position:sticky;
  top:0;
  z-index:10;
  box-shadow:0 5px 24px rgba(23,55,91,.04)
}
.header-inner {
  min-height:80px;
  display:flex;
  align-items:center;
  gap:22px
}
.brand {
  text-decoration:none;
  font-size:1.4rem;
  font-weight:900;
  white-space:nowrap;
  letter-spacing:-.04em
}
.brand strong {
  color:var(--blue)
}
.brand span {
  font-size:.78em;
  font-weight:700;
  letter-spacing:0
}
.nav {
  display:flex;
  align-items:center;
  gap:24px;
  margin-left:auto
}
.nav a {
  text-decoration:none;
  color:#40536b;
  font-size:.93rem;
  font-weight:700
}
.nav a:hover,.text-link:hover {
  color:var(--blue)
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:48px;
  padding:12px 23px;
  border-radius:50px;
  text-decoration:none;
  background:var(--blue);
  color:#fff;
  font-weight:800;
  line-height:1.2;
  box-shadow:0 10px 20px rgba(13,131,253,.18);
  transition:background .2s,transform .2s
}
.button:hover {
  background:var(--blue-dark);
  transform:translateY(-2px)
}
.button--outline {
  background:#fff;
  color:var(--blue);
  box-shadow:none;
  border:1px solid #bfdaf4
}
.button--outline:hover {
  background:#edf6ff;
  color:var(--blue-dark)
}
.header-button {
  margin-left:6px;
  font-size:.91rem;
  min-height:42px;
  padding:10px 18px
}
.hero {
  padding:92px 0 82px;
  background:radial-gradient(circle at 82% 22%,#dceeff 0,transparent 32%),linear-gradient(135deg,#f5faff,#fff 70%);
  overflow:hidden
}
.hero-grid {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:55px;
  align-items:center
}
.eyebrow {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--blue-dark);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.085em;
  text-transform:uppercase;
  margin-bottom:18px
}
.eyebrow::before {
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--blue)
}
.lead {
  font-size:1.15rem;
  line-height:1.65;
  max-width:580px;
  margin-bottom:25px
}
.hero h1 em {
  color:var(--blue);
  font-style:normal
}
.hero-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px
}
.micro {
  font-size:.88rem;
  margin:18px 0 0
}
.micro b {
  color:var(--ink)
}
.visual {
  position:relative;
  min-height:450px;
  display:flex;
  align-items:center
}
.dashboard {
  width:100%;
  border:1px solid #d4e5f8;
  border-radius:26px;
  background:#fff;
  box-shadow:0 28px 65px rgba(30,83,140,.14);
  padding:25px;
  transform:rotate(1deg)
}
.dash-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--line);
  padding-bottom:17px;
  margin-bottom:22px
}
.dash-top span {
  font-weight:900
}
.status {
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-radius:20px;
  background:#e7f7ef;
  color:#227753;
  padding:5px 10px;
  font-size:.73rem;
  font-weight:800
}
.status::before {
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#36b878
}
.dash-title {
  font-weight:900;
  font-size:1.6rem;
  line-height:1.2;
  letter-spacing:-.025em;
  margin-bottom:5px
}
.dash-sub {
  font-size:.85rem
}
.dash-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:18px
}
.dash-card {
  border-radius:15px;
  background:#f3f8ff;
  padding:17px;
  min-height:128px
}
.dash-card svg {
  width:27px;
  height:27px;
  color:var(--blue);
  margin-bottom:8px
}
.dash-card strong {
  display:block;
  font-size:.9rem
}
.dash-card small {
  display:block;
  color:var(--muted);
  line-height:1.4;
  margin-top:3px
}
.float-note {
  position:absolute;
  bottom:3px;
  left:-32px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:13px 17px;
  box-shadow:0 14px 36px rgba(23,55,91,.12);
  font-size:.83rem;
  font-weight:900;
  color:var(--ink)
}
.float-note span {
  color:var(--blue);
  font-size:1.2rem;
  margin-right:5px
}
.trust {
  border-block:1px solid #e5eff8;
  background:#fff
}
.trust-inner {
  display:flex;
  gap:15px 32px;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  padding:18px 0;
  font-size:.87rem;
  font-weight:800;
  color:#50637b
}
.trust-inner span {
  display:inline-flex;
  align-items:center;
  gap:8px
}
.check {
  color:var(--blue);
  font-weight:900
}
.section {
  padding:90px 0
}
.section-head {
  max-width:700px;
  margin:0 auto 39px;
  text-align:center
}
.section-head p {
  margin-bottom:0
}
.cards {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px
}
.card {
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:26px 22px;
  box-shadow:0 12px 30px rgba(32,79,125,.04)
}
.card .icon {
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  color:var(--blue);
  background:#eaf4ff;
  border-radius:14px;
  margin-bottom:19px
}
.icon svg {
  width:25px;
  height:25px
}
.card p {
  font-size:.93rem;
  margin:0
}
.soft {
  background:var(--soft)
}
.split {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:65px;
  align-items:center
}
.steps {
  display:grid;
  gap:13px
}
.step {
  display:flex;
  gap:17px;
  padding:20px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:17px
}
.step-no {
  width:37px;
  height:37px;
  flex:none;
  border-radius:12px;
  background:var(--blue);
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:900
}
.step strong {
  display:block;
  margin-bottom:4px
}
.step p {
  font-size:.93rem;
  margin:0
}
.note {
  margin-top:23px;
  font-size:.91rem;
  border-left:3px solid var(--blue);
  padding-left:15px
}
.benefits {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:30px
}
.benefit {
  padding:24px 26px;
  background:#f7fbff;
  border:1px solid var(--line);
  border-radius:18px
}
.benefit strong {
  display:block;
  color:var(--blue-dark);
  margin-bottom:7px
}
.benefit p {
  margin:0;
  font-size:.93rem
}
.faq-list {
  max-width:850px;
  margin:35px auto 0
}
.faq-list details {
  border-bottom:1px solid var(--line);
  padding:18px 5px
}
.faq-list summary {
  cursor:pointer;
  font-weight:800;
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:20px
}
.faq-list summary::-webkit-details-marker {
  display:none
}
.faq-list summary::after {
  content:"+";
  font-size:1.4rem;
  color:var(--blue);
  line-height:1
}
.faq-list details[open] summary::after {
  content:"−"
}
.faq-list p {
  margin:12px 28px 0 0
}
.contact {
  background:#123b68;
  color:#fff;
  padding:74px 0
}
.contact .eyebrow {
  color:#a8d3ff
}
.contact h2 {
  color:#fff;
  max-width:680px
}
.contact p {
  color:#e0edfa;
  max-width:710px
}
.contact-grid {
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:35px;
  align-items:center
}
.contact .button {
  background:#fff;
  color:#0a64bb
}
.contact .button:hover {
  background:#eaf4ff
}
.contact-links {
  display:grid;
  gap:10px;
  justify-self:end
}
.contact-links a {
  color:#fff;
  font-weight:700;
  text-decoration:none
}
.contact-links a:hover {
  text-decoration:underline
}
.footer {
  padding:27px 0;
  background:#092b50;
  color:#d6e6f5;
  font-size:.83rem
}
.footer-inner {
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between
}
.footer p {
  color:inherit;
  margin:0
}
.footer a {
  color:#d6e6f5
}
.footer .brand {
  color:#fff;
  font-size:1.1rem
}
.footer .brand strong {
  color:#91c9ff
}
section[id] {
  scroll-margin-top:85px
}
@media(max-width:900px) {
  .nav {
    display:none
  }
  .header-button {
    margin-left:auto
  }
  .hero-grid,.split,.contact-grid {
    grid-template-columns:1fr
  }
  .hero {
    padding:65px 0
  }
  .visual {
    max-width:550px;
    min-height:350px
  }
  .cards {
    grid-template-columns:repeat(2,1fr)
  }
  .contact-links {
    justify-self:start
  }
  .split {
    gap:30px
  }
}
@media(max-width:580px) {
  .wrap {
    width:min(100% - 32px,1120px)
  }
  .header-inner {
    min-height:70px
  }
  .brand {
    font-size:1.18rem
  }
  .brand span {
    font-size:.73em
  }
  .header-button {
    padding:9px 12px;
    font-size:.79rem
  }
  .hero {
    padding:54px 0 46px
  }
  .hero-actions .button {
    width:100%
  }
  .visual {
    min-height:290px
  }
  .dashboard {
    padding:17px
  }
  .dash-card {
    min-height:112px;
    padding:12px
  }
  .float-note {
    left:3px;
    bottom:-8px
  }
  .section {
    padding:65px 0
  }
  .cards,.benefits {
    grid-template-columns:1fr
  }
  .trust-inner {
    justify-content:flex-start
  }
  .contact {
    padding:64px 0
  }
  .footer-inner {
    align-items:flex-start;
    flex-direction:column
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  .button {
    transition:none
  }
  .button:hover {
    transform:none
  }
}
/* Site home, article archive and long-form reading layouts. */
img {
  max-width:100%;
  height:auto
}
.page-hero {
  padding:76px 0 80px;
  background:radial-gradient(circle at 85% 15%,#dceeff,transparent 35%),#f5faff
}
.page-hero .wrap {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  align-items:center;
  gap:48px
}
.page-hero picture img {
  border-radius:24px;
  box-shadow:0 20px 50px rgba(30,83,140,.14)
}
.page-hero .lead {
  max-width:650px
}
.service-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px
}
.service-grid .card {
  height:100%
}
.reading {
  width:min(820px,calc(100% - 40px));
  margin:0 auto;
  padding:110px 0 75px
}
.reading h1 {
  font-size:clamp(2rem,4vw,3.2rem);
  max-width:820px
}
.reading h2,.reading h3 {
  font-size:clamp(1.25rem,2vw,1.55rem);
  letter-spacing:-.012em;
  margin:34px 0 10px
}
.reading p,.reading li {
  line-height:1.78;
  color:#40536b
}
.reading ul {
  padding-left:1.3rem
}
.reading li {
  margin:9px 0
}
.reading .feature-list i {
  display:none
}
.reading .feature-list {
  list-style:disc
}
.reading .article-section,.reading .hero {
  background:transparent;
  padding:0
}
.reading .container {
  width:100%;
  max-width:none;
  margin:0
}
.reading .text-center {
  text-align:left
}
.reading header h1 {
  margin-bottom:25px
}
.reading .article-body {
  display:block
}
.reading .article-body p:empty {
  display:none
}
.reading .article-related {
  padding:22px;
  background:var(--soft);
  border-radius:16px;
  margin-top:38px
}
.reading .article-related p {
  margin-bottom:0
}
.article-index {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px
}
.article-index article {
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:22px
}
.article-index h2 {
  font-size:1.1rem;
  letter-spacing:0;
  line-height:1.4;
  margin:10px 0
}
.article-index h2 a {
  color:var(--ink);
  text-decoration:none
}
.article-index h2 a:hover {
  color:var(--blue)
}
.article-index p {
  font-size:.9rem;
  margin:0
}
.breadcrumbs {
  font-size:.86rem;
  color:var(--muted);
  margin:0 0 18px
}
.breadcrumbs a {
  color:var(--blue-dark)
}
.page-hero .visual {
  min-height:0
}
.text-link {
  color:var(--blue-dark);
  font-weight:800
}
.split-copy {
  max-width:750px;
  margin:0 auto
}
.nav a[aria-current="page"] {
  color:var(--blue)
}
.section-cta {
  margin-top:30px
}
.reading .row,.reading .col-lg-6,.reading .col-xl-6,.reading .col-md-6 {
  display:block;
  width:100%;
  max-width:none
}
.reading .article-section .row {
  display:block
}
.reading .d-flex,.reading .justify-content-center {
  display:block
}
.reading .img-fluid {
  max-width:100%
}
section[id] {
  scroll-margin-top:85px
}
@media(max-width:900px) {
  .page-hero .wrap {
    grid-template-columns:1fr
  }
  .page-hero picture img {
    max-width:520px
  }
  .article-index,.service-grid {
    grid-template-columns:repeat(2,1fr)
  }
}
@media(max-width:580px) {
  .page-hero {
    padding:55px 0
  }
  .article-index,.service-grid {
    grid-template-columns:1fr
  }
  .reading {
    width:calc(100% - 32px);
    padding:75px 0 50px
  }
}

/* Artigos convertidos para HTML e navegação em telas menores. */
.article-page .article-header {
  border-bottom: 1px solid var(--line);
  padding-bottom: 20px;
  margin-bottom: 32px;
}
.article-page .article-header .lead {
  margin-bottom: 0;
}
.article-page .article-content h2 {
  margin-top: 38px;
}
.article-page .article-content ul {
  padding-left: 1.4rem;
  margin-bottom: 24px;
}
.article-page .article-content li {
  margin: 12px 0;
}
.article-page .article-related {
  margin-top: 52px;
}
.article-page .article-related ul {
  margin-bottom: 0;
}
.article-page .article-related a {
  color: var(--blue-dark);
}
.article-cta {
  margin-top: 32px;
  padding: 30px;
  border-radius: 20px;
  background: #eaf4ff;
}
.article-cta h2 {
  margin-top: 0;
}
@media (max-width: 1100px) {
  .header-inner {
    flex-wrap: wrap;
    column-gap: 12px;
  }
  .nav {
    display: flex;
    order: 3;
    width: 100%;
    margin-left: 0;
    gap: 20px;
    padding: 0 0 12px;
    white-space: nowrap;
    overflow-x: auto;
    scrollbar-width: thin;
  }
  section[id] {
    scroll-margin-top: 130px;
  }
}
@media (max-width: 580px) {
  .nav {
    gap: 17px;
  }
  .nav a {
    font-size: .85rem;
  }
  .article-cta {
    padding: 24px;
  }
}
.footer .social-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  white-space: nowrap;
  font-size: .92rem;
  font-weight: 700;
  text-decoration: none;
}
.footer .social-link:hover {
  color: #fff;
  text-decoration: underline;
}
.footer .social-icon {
  display: block;
  width: 20px;
  height: 20px;
  flex: none;
}

/* Smooth Scroll v4 — Lenis + progressive reveal */
html {
  scroll-behavior: auto !important;
}
html.lenis,
html.lenis body {
  height: auto;
}
.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}
.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain;
}
.lenis.lenis-smooth iframe {
  pointer-events: none;
}
.lenis.lenis-autoToggle {
  transition-property: overflow;
  transition-duration: 1ms;
  transition-behavior: allow-discrete;
}
.scroll-reveal {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  transition:
    opacity 650ms cubic-bezier(.2,.65,.25,1) var(--reveal-delay, 0ms),
    transform 760ms cubic-bezier(.2,.65,.25,1) var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
.scroll-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
