/* =========================================================
   DLR WEB STUDIO — GLOBAL CSS v3
   Design: Quadrado, Bold, Corporativo (inspirado em modelo.php)
   Fonte: Inter (local, sem CDN)
   Ícones: Fallbacks Unicode / Inline SVG
   ========================================================= */

/* === FONTES LOCAIS (sem CDN) === */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/inter-v20-latin-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/inter-v20-latin-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/inter-v20-latin-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/inter-v20-latin-700.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('../fonts/inter-v20-latin-800.woff2') format('woff2');
}

/* === VARIÁVEIS === */
:root {
  --dlr-bg:             #f8f9fa;
  --dlr-surface:        #ffffff;
  --dlr-surface-2:      #f3f6fb;
  --dlr-surface-3:      #eef2ff;

  --dlr-text:           #172033;
  --dlr-text-2:         #4b5565;
  --dlr-text-3:         #6b7280;

  --dlr-border:         #dbe3ef;
  --dlr-border-strong:  #c9d5e6;

  --dlr-primary:        #2e73ea;
  --dlr-primary-hover:  #1f62d4;
  --dlr-secondary:      #5319fb;
  --dlr-accent:         #22ddd2;
  --dlr-accent-hover:   #1bc4ba;

  --dlr-navy:           #172d67;
  --dlr-navy-2:         #0f1d45;
  --dlr-deep:           #17072b;

  --dlr-success:        #0f9f6e;
  --dlr-warning:        #d97706;
  --dlr-danger:         #dc2626;

  --dlr-shadow-sm:      0 4px 16px rgba(23,32,51,.05);
  --dlr-shadow-md:      0 12px 36px rgba(23,32,51,.08);
  --dlr-shadow-lg:      0 24px 64px rgba(23,32,51,.12);

  --dlr-transition:     .22s ease;

  /* Bootstrap overrides */
  --bs-body-bg:         #f8f9fa;
  --bs-body-color:      #172033;
  --bs-primary:         #2e73ea;
  --bs-primary-rgb:     46, 115, 234;
  --bs-border-color:    #dbe3ef;
  --bs-border-radius:   0;
  --bs-border-radius-sm: 0;
  --bs-border-radius-lg: 0;
  --bs-border-radius-xl: 0;
  --bs-border-radius-2xl: 0;
  --bs-border-radius-pill: 0;
}

/* === RESET GLOBAL: SEM ARREDONDAMENTOS === */
*, *::before, *::after {
  box-sizing: border-box;
}

/* Força border-radius 0 em todos os componentes Bootstrap */
.btn,
.card,
.modal-content,
.modal-dialog,
.form-control,
.form-select,
.accordion-item,
.accordion-button,
.dropdown-menu,
.input-group,
.input-group-text,
.navbar-toggler,
.offcanvas,
.alert,
.badge,
.pagination .page-link,
.list-group-item,
.progress,
.progress-bar,
.toast,
.popover,
.tooltip-inner,
.tab-content,
.nav-pills .nav-link,
.form-check-input {
  border-radius: 0 !important;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  background: var(--dlr-bg);
  color: var(--dlr-text);
  font-family: Inter, 'Segoe UI', Roboto, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: var(--dlr-primary);
  text-decoration: none;
  transition: color var(--dlr-transition);
}
a:hover { color: var(--dlr-primary-hover); }

ul, ol { padding-left: 1.15rem; }

::selection {
  background: rgba(46,115,234,.15);
  color: var(--dlr-text);
}

/* === TIPOGRAFIA === */
h1, h2, h3, h4, h5, h6 {
  color: var(--dlr-text);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -.025em;
  margin-bottom: .9rem;
}

h1 { font-size: clamp(2.2rem, 4.5vw, 4.2rem); }
h2 { font-size: clamp(1.8rem, 3vw, 3rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.75rem); }
h4 { font-size: 1.15rem; font-weight: 800; }
h5 { font-size: 1rem; font-weight: 800; }
h6 { font-size: .9rem; font-weight: 800; }

p {
  color: var(--dlr-text-2);
  margin-bottom: 1rem;
}

.lead {
  font-size: clamp(1rem, 1.4vw, 1.18rem);
  line-height: 1.8;
  color: var(--dlr-text-2);
}

.text-muted, .small, small { color: var(--dlr-text-3) !important; }

.section-subtitle {
  max-width: 760px;
  color: var(--dlr-text-2);
  font-size: 1.06rem;
}

/* EYEBROW — label de seção estilo quadrado */
.eyebrow {
  display: inline-block;
  padding: .3rem .8rem;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--dlr-primary);
  border: 1px solid var(--dlr-primary);
  background: transparent;
  margin-bottom: 1rem;
}

/* === LAYOUT === */
.section-space    { padding: 96px 0; }
.section-space-sm { padding: 72px 0; }
.section-space-lg { padding: 120px 0; }
.max-820 { max-width: 820px; }
.max-920 { max-width: 920px; }
.bg-surface { background: var(--dlr-surface); }
.bg-soft    { background: var(--dlr-bg); }
.bg-dark-dlr { background: var(--dlr-deep); }
.bg-navy-dlr { background: var(--dlr-navy); }
.border-soft { border: 1px solid var(--dlr-border); }

/* === HEADER / NAVBAR === */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1040;
  background: #fff;
  border-bottom: 2px solid var(--dlr-navy);
  transition: box-shadow var(--dlr-transition);
}

.site-header.scrolled {
  box-shadow: 0 4px 20px rgba(23,32,51,.08);
}

.navbar { padding: .75rem 0; }

.navbar-brand img {
  height: 38px;
  width: auto;
}

.site-navbar-clean .nav-link {
  color: var(--dlr-text);
  font-weight: 700;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: .6rem .9rem !important;
  transition: color var(--dlr-transition), background var(--dlr-transition);
}

.site-navbar-clean .nav-link:hover,
.site-navbar-clean .nav-link.active {
  color: var(--dlr-primary);
}

.site-navbar-clean .navbar-toggler {
  border: 1px solid var(--dlr-border);
  padding: .45rem .7rem;
  box-shadow: none !important;
  color: var(--dlr-text);
}

.site-navbar-clean .dropdown-menu {
  border: 1px solid var(--dlr-border);
  box-shadow: 0 8px 28px rgba(23,32,51,.1);
  padding: .5rem 0;
  min-width: 220px;
}

.site-navbar-clean .dropdown-item {
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: .7rem 1.2rem;
  color: var(--dlr-text);
  transition: all var(--dlr-transition);
}

.site-navbar-clean .dropdown-item:hover {
  background: var(--dlr-bg);
  color: var(--dlr-primary);
}

/* Mobile offcanvas */
.mobile-offcanvas-clean {
  background: var(--dlr-deep);
  width: 85vw !important;
  max-width: 340px !important;
}

.mobile-offcanvas-clean .offcanvas-header {
  border-bottom: 1px solid rgba(255,255,255,.1);
  padding: 1.25rem 1.5rem;
}

.mobile-offcanvas-clean .navbar-brand img {
  height: 32px;
}

.mobile-menu-nav {
  display: flex;
  flex-direction: column;
  padding: 1rem 0;
}

.mobile-menu-link {
  display: block;
  padding: .85rem 1.5rem;
  font-size: .82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(255,255,255,.85);
  border-bottom: 1px solid rgba(255,255,255,.07);
  transition: color var(--dlr-transition);
}

.mobile-menu-link:hover { color: var(--dlr-accent); }

.mobile-menu-title {
  display: block;
  padding: .85rem 1.5rem .4rem;
  font-size: .7rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: rgba(255,255,255,.4);
}

.mobile-submenu {
  padding-left: 1rem;
  border-left: 2px solid var(--dlr-primary);
  margin: 0 1.5rem .5rem;
}

.mobile-submenu-link {
  display: block;
  padding: .55rem .85rem;
  font-size: .78rem;
  font-weight: 600;
  color: rgba(255,255,255,.75);
  transition: color var(--dlr-transition);
}

.mobile-submenu-link:hover { color: var(--dlr-accent); }

.mobile-menu-group { border-bottom: 1px solid rgba(255,255,255,.07); padding-bottom: .5rem; }

.mobile-menu-cta {
  padding: 1.5rem;
  border-top: 1px solid rgba(255,255,255,.1);
  margin-top: auto;
}

.mobile-menu-cta-btn {
  background: var(--dlr-primary);
  color: #fff;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: .9rem 1.25rem;
}

/* === BOTÕES === */
.btn {
  border-radius: 0 !important;
  font-weight: 800;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: .9rem 1.6rem;
  transition: all var(--dlr-transition);
  box-shadow: none !important;
}

.btn-primary {
  background: var(--dlr-primary);
  border-color: var(--dlr-primary);
  color: #fff;
}
.btn-primary:hover, .btn-primary:focus {
  background: var(--dlr-primary-hover);
  border-color: var(--dlr-primary-hover);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(46,115,234,.28) !important;
}

.btn-outline-primary {
  background: transparent;
  border-color: var(--dlr-primary);
  color: var(--dlr-primary);
}
.btn-outline-primary:hover {
  background: var(--dlr-primary);
  border-color: var(--dlr-primary);
  color: #fff;
}

.btn-dark {
  background: var(--dlr-navy);
  border-color: var(--dlr-navy);
  color: #fff;
}
.btn-dark:hover {
  background: var(--dlr-navy-2);
  border-color: var(--dlr-navy-2);
  color: #fff;
  transform: translateY(-2px);
}

.btn-accent {
  background: var(--dlr-accent);
  border-color: var(--dlr-accent);
  color: var(--dlr-deep);
  font-weight: 900;
  box-shadow: 0 0 20px rgba(34,221,210,.25) !important;
}
.btn-accent:hover {
  background: var(--dlr-accent-hover);
  border-color: var(--dlr-accent-hover);
  color: var(--dlr-deep);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(34,221,210,.4) !important;
}

.btn-outline-light {
  background: transparent;
  border-color: rgba(255,255,255,.35);
  color: #fff;
}
.btn-outline-light:hover {
  background: rgba(255,255,255,.1);
  border-color: rgba(255,255,255,.6);
  color: #fff;
}

.btn-lg  { padding: 1.1rem 2rem; font-size: .82rem; }
.btn-sm  { padding: .55rem 1rem; font-size: .72rem; }

/* === HERO (DARK) === */
.hero-section,
.hero-home-refined {
  position: relative;
  background: var(--dlr-deep);
  padding: 96px 0 80px;
  overflow: hidden;
}

.hero-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 15% 50%, rgba(46,115,234,.14), transparent 48%),
    radial-gradient(circle at 85% 20%, rgba(34,221,210,.08), transparent 38%);
  pointer-events: none;
}

/* Grid pattern overlay */
.hero-section::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none;
  opacity: .6;
}

.hero-row-refined { position: relative; z-index: 2; }

.hero-badge-refined {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .4rem .9rem;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.15);
  color: var(--dlr-accent);
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-bottom: 1.5rem;
  opacity: 0;
  transform: translateY(12px);
}

.hero-badge-dot {
  width: 6px;
  height: 6px;
  background: var(--dlr-accent);
  flex-shrink: 0;
}

.hero-title-refined {
  color: #fff;
  font-size: clamp(2.2rem, 4.5vw, 4rem);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -.03em;
  margin-bottom: 1.25rem;
  opacity: 0;
  transform: translateY(12px);
}

.hero-text-refined {
  color: rgba(255,255,255,.75);
  font-size: 1.08rem;
  line-height: 1.75;
  max-width: 520px;
  margin-bottom: 2rem;
  opacity: 0;
  transform: translateY(12px);
}

.hero-cta-refined {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  opacity: 0;
  transform: translateY(12px);
}

.hero-mini-points {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.5rem;
  color: rgba(255,255,255,.65);
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  opacity: 0;
  transform: translateY(12px);
}

.hero-mini-points span {
  display: flex;
  align-items: center;
  gap: .4rem;
}

.hero-mini-points .check-icon {
  color: var(--dlr-accent);
  font-weight: 900;
}

/* Hero visual */
.hero-visual-refined {
  position: relative;
  opacity: 0;
  transform: translateY(12px);
}

.hero-image-frame {
  position: relative;
  border: 2px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.04);
  overflow: hidden;
}

.hero-main-image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.hero-floating-card {
  position: absolute;
  background: #fff;
  border: 1px solid var(--dlr-border);
  box-shadow: var(--dlr-shadow-md);
  padding: .9rem 1.1rem;
}

.hero-floating-card small {
  display: block;
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--dlr-text-3);
  margin-bottom: .25rem;
}

.hero-floating-card strong {
  display: block;
  font-size: .85rem;
  font-weight: 800;
  color: var(--dlr-text);
}

.hero-floating-card-1 {
  bottom: -16px;
  left: -16px;
}

.hero-floating-card-2 {
  top: 20px;
  right: -16px;
}

@media (max-width: 991.98px) {
  .hero-floating-card-1 { bottom: 8px; left: 8px; }
  .hero-floating-card-2 { top: 8px; right: 8px; }
}

/* === EXPERTISE STRIP === */
.expertise-strip-refined {
  background: var(--dlr-navy);
  border-top: 3px solid var(--dlr-primary);
  padding: 1.1rem 0;
}

.expertise-strip-inner {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.expertise-strip-label {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .7rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: rgba(255,255,255,.55);
  padding-right: 1.5rem;
  border-right: 1px solid rgba(255,255,255,.15);
  white-space: nowrap;
}

.expertise-strip-items {
  display: flex;
  align-items: center;
  gap: .5rem 1rem;
  flex-wrap: wrap;
}

.expertise-item {
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(255,255,255,.8);
  display: flex;
  align-items: center;
  gap: .35rem;
}

.expertise-separator {
  color: rgba(255,255,255,.2);
  font-size: .75rem;
}

/* === TRUSTED STRIP (CLIENTES) === */
.trusted-strip-section {
  padding: 56px 0;
  background: #fff;
  border-bottom: 1px solid var(--dlr-border);
}

.trusted-strip-header {
  margin-bottom: 2.5rem;
}

.trusted-strip-eyebrow {
  display: inline-block;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--dlr-primary);
  border: 1px solid var(--dlr-primary);
  padding: .3rem .8rem;
  margin-bottom: .9rem;
}

.trusted-strip-header h2 {
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  font-weight: 900;
  color: var(--dlr-navy);
  margin-bottom: .5rem;
}

.trusted-strip-header p {
  font-size: .95rem;
  color: var(--dlr-text-2);
  margin: 0;
}

/* Slider infinito */
.trusted-strip-slider {
  overflow: hidden;
  position: relative;
}

.trusted-strip-slider::before,
.trusted-strip-slider::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 80px;
  z-index: 2;
  pointer-events: none;
}

.trusted-strip-slider::before {
  left: 0;
  background: linear-gradient(to right, #fff, transparent);
}

.trusted-strip-slider::after {
  right: 0;
  background: linear-gradient(to left, #fff, transparent);
}

@keyframes scroll-logos {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

.trusted-strip-track {
  display: flex;
  align-items: center;
  gap: 3rem;
  width: max-content;
  animation: scroll-logos 28s linear infinite;
}

.trusted-strip-track:hover { animation-play-state: paused; }

.trusted-logo-item {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  opacity: .55;
  filter: grayscale(1);
  transition: opacity .3s ease, filter .3s ease;
}

.trusted-logo-item:hover {
  opacity: 1;
  filter: grayscale(0);
}

.trusted-logo-item img {
  height: 32px;
  width: auto;
  max-width: 120px;
  object-fit: contain;
}

/* === SEÇÃO PROBLEMA === */
.problem-section-refined {
  background: var(--dlr-surface);
  border-top: 1px solid var(--dlr-border);
}

.problem-title-refined {
  font-size: clamp(1.75rem, 3vw, 2.75rem);
  font-weight: 900;
  color: var(--dlr-navy);
  line-height: 1.1;
}

.problem-lead-refined {
  font-size: 1.08rem;
  color: var(--dlr-text-2);
  line-height: 1.75;
}

.problem-support-refined { color: var(--dlr-text-2); }

.problem-link-refined {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .82rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--dlr-primary);
  border-bottom: 2px solid var(--dlr-primary);
  padding-bottom: 2px;
  transition: color var(--dlr-transition), border-color var(--dlr-transition);
}

.problem-link-refined:hover {
  color: var(--dlr-primary-hover);
  border-color: var(--dlr-primary-hover);
}

/* Lista editorial numerada */
.editorial-list-refined {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.editorial-list-refined li {
  display: flex;
  gap: 1.5rem;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--dlr-border);
}

.editorial-list-refined li:last-child { border-bottom: none; }

.editorial-list-number {
  flex-shrink: 0;
  font-size: .72rem;
  font-weight: 900;
  color: var(--dlr-primary);
  text-transform: uppercase;
  letter-spacing: .08em;
  padding-top: .15rem;
  min-width: 28px;
}

.editorial-list-content h4 {
  font-size: 1rem;
  font-weight: 800;
  color: var(--dlr-text);
  margin-bottom: .4rem;
}

.editorial-list-content p {
  font-size: .9rem;
  color: var(--dlr-text-2);
  margin: 0;
  line-height: 1.65;
}

/* === SERVIÇOS === */
.services-section-refined {
  background: var(--dlr-bg);
  border-top: 1px solid var(--dlr-border);
}

.services-list {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--dlr-border);
  background: #fff;
}

.service-row {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 1.5rem 2rem;
  border-bottom: 1px solid var(--dlr-border);
  text-decoration: none;
  transition: background var(--dlr-transition), border-left-color var(--dlr-transition);
  border-left: 3px solid transparent;
  color: inherit;
  background: #fff;
}

.service-row:last-child { border-bottom: none; }

.service-row:hover {
  background: var(--dlr-bg);
  border-left-color: var(--dlr-primary);
}

.service-row-refined:hover .service-row-main h3 {
  color: var(--dlr-primary);
}

.service-row-main { flex: 1; min-width: 0; }

.service-row-main h3 {
  font-size: 1.05rem;
  font-weight: 900;
  color: var(--dlr-text);
  margin-bottom: .3rem;
  text-transform: uppercase;
  letter-spacing: .03em;
  transition: color var(--dlr-transition);
}

.service-row-main p {
  font-size: .88rem;
  color: var(--dlr-text-2);
  margin: 0;
  line-height: 1.55;
}

.service-arrow {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-shrink: 0;
  color: var(--dlr-text-3);
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  transition: color var(--dlr-transition);
}

.service-row:hover .service-arrow { color: var(--dlr-primary); }

.service-row-mobile-icon {
  display: none;
  color: var(--dlr-primary);
  font-size: 1.4rem;
  flex-shrink: 0;
  width: 40px;
}

@media (max-width: 767.98px) {
  .service-row-mobile-icon { display: flex; align-items: center; }
  .service-row { padding: 1.25rem 1.25rem; gap: 1rem; }
  .service-arrow-label { display: none; }
}

/* === METODOLOGIA === */
.method-section-refined {
  background: var(--dlr-deep);
  padding: 96px 0;
  position: relative;
  overflow: hidden;
}

.method-section-refined::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: 36px 36px;
  pointer-events: none;
}

.method-section-header {
  max-width: 640px;
  text-align: center;
  margin: 0 auto 4rem;
  position: relative;
  z-index: 2;
}

.method-eyebrow {
  display: inline-block;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--dlr-accent);
  border: 1px solid rgba(34,221,210,.4);
  padding: .3rem .8rem;
  margin-bottom: 1.2rem;
}

.method-section-header h2 {
  color: #fff;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  font-weight: 900;
  margin-bottom: .9rem;
}

.method-section-header p {
  color: rgba(255,255,255,.65);
  font-size: .98rem;
  line-height: 1.75;
}

.method-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  position: relative;
  z-index: 2;
  border: 1px solid rgba(255,255,255,.08);
}

.method-step-card {
  padding: 2rem 1.75rem;
  border-right: 1px solid rgba(255,255,255,.08);
  display: flex;
  flex-direction: column;
  transition: background var(--dlr-transition);
}

.method-step-card:last-child { border-right: none; }
.method-step-card:hover { background: rgba(255,255,255,.03); }

.method-step-top {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.method-step-number {
  font-size: 2rem;
  font-weight: 900;
  color: var(--dlr-primary);
  line-height: 1;
  flex-shrink: 0;
}

.method-step-line {
  flex: 1;
  height: 2px;
  background: rgba(255,255,255,.1);
  position: relative;
  overflow: hidden;
}

.method-step-line-fill {
  position: absolute;
  inset: 0;
  background: var(--dlr-primary);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .8s ease;
}

.method-steps.is-visible .method-step-line-fill {
  transform: scaleX(1);
}

.method-step-content h3 {
  color: #fff;
  font-size: 1.1rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: .6rem;
}

.method-step-content p {
  color: rgba(255,255,255,.6);
  font-size: .88rem;
  line-height: 1.65;
  margin: 0;
}

/* Mobile metodologia */
.method-mobile-timeline { display: none; }

@media (max-width: 767.98px) {
  .method-steps {
    grid-template-columns: 1fr;
    border: none;
    gap: 1px;
    background: rgba(255,255,255,.06);
  }

  .method-step-card {
    border-right: none;
    border-bottom: 1px solid rgba(255,255,255,.08);
    padding: 1.5rem 1.25rem;
    flex-direction: row;
    gap: 1.25rem;
    align-items: flex-start;
    background: var(--dlr-deep);
  }

  .method-step-top { display: none; }

  .method-mobile-timeline {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    width: 32px;
  }

  .method-mobile-line {
    flex: 1;
    width: 2px;
    background: rgba(255,255,255,.1);
    margin: .25rem 0;
    position: relative;
    overflow: hidden;
    min-height: 40px;
  }

  .method-mobile-line-fill {
    position: absolute;
    left: 0; right: 0; top: 0;
    height: 0;
    background: var(--dlr-primary);
    transition: height .5s ease;
  }

  .method-mobile-dot {
    width: 10px;
    height: 10px;
    background: var(--dlr-primary);
    flex-shrink: 0;
  }

  .method-step-card:last-child .method-mobile-line { display: none; }
}

/* === CASE SECTION === */
.case-section-refined {
  background: #fff;
  border-top: 1px solid var(--dlr-border);
}

.case-highlight-refined {
  border: 1px solid var(--dlr-border);
  background: #fff;
  box-shadow: var(--dlr-shadow-md);
}

.case-image-side {
  height: 100%;
  min-height: 400px;
  overflow: hidden;
}

.case-image-frame-refined {
  height: 100%;
  min-height: 400px;
  overflow: hidden;
}

.case-image-refined {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.case-content-refined {
  padding: 3rem 2.5rem;
}

@media (max-width: 991.98px) {
  .case-content-refined { padding: 2rem 1.5rem; }
  .case-image-frame-refined { min-height: 280px; }
}

.case-tag-refined {
  display: inline-block;
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--dlr-primary);
  border: 1px solid var(--dlr-primary);
  padding: .3rem .8rem;
  margin-bottom: 1.25rem;
}

.case-title-refined {
  font-size: clamp(1.5rem, 2.5vw, 2.25rem);
  font-weight: 900;
  color: var(--dlr-navy);
  line-height: 1.12;
  margin-bottom: 1rem;
}

.case-text-refined p {
  font-size: .95rem;
  color: var(--dlr-text-2);
  line-height: 1.7;
}

.case-metrics-refined {
  display: flex;
  flex-wrap: wrap;
  gap: 1px;
  background: var(--dlr-border);
  border: 1px solid var(--dlr-border);
  margin: 1.5rem 0 2rem;
}

.case-metric-item {
  flex: 1;
  min-width: 120px;
  background: #fff;
  padding: 1.25rem 1rem;
  display: flex;
  flex-direction: column;
  gap: .25rem;
}

.case-metric-item strong {
  font-size: 1.4rem;
  font-weight: 900;
  color: var(--dlr-navy);
  line-height: 1;
}

.case-metric-item span {
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--dlr-text-3);
}

.case-btn-refined {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

/* === BLOG === */
.blog-section-refined-dark {
  background: var(--dlr-navy-2);
  padding: 96px 0;
}

.blog-section-shell {
  position: relative;
}

.blog-section-top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}

.blog-section-heading {
  max-width: 600px;
}

.blog-section-eyebrow {
  display: inline-block;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--dlr-accent);
  border: 1px solid rgba(34,221,210,.4);
  padding: .3rem .8rem;
  margin-bottom: 1rem;
}

.blog-section-heading h2 {
  font-size: clamp(1.6rem, 2.5vw, 2.2rem);
  font-weight: 900;
  color: #fff;
  margin-bottom: .6rem;
}

.blog-section-heading p {
  font-size: .92rem;
  color: rgba(255,255,255,.6);
  line-height: 1.65;
  margin: 0;
}

.blog-section-link {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(255,255,255,.7);
  border-bottom: 1px solid rgba(255,255,255,.3);
  padding-bottom: 2px;
  transition: color var(--dlr-transition);
  white-space: nowrap;
}

.blog-section-link:hover { color: #fff; }

.blog-value-strip {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1.5rem;
  padding: 1rem 0;
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
  margin-bottom: 2rem;
}

.blog-value-strip span {
  display: flex;
  align-items: center;
  gap: .4rem;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: rgba(255,255,255,.55);
}

.blog-value-strip .check-icon { color: var(--dlr-accent); }

.blog-layout-refined {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.08);
}

@media (max-width: 991.98px) {
  .blog-layout-refined {
    grid-template-columns: 1fr;
  }
}

/* Featured post */
.blog-featured-refined {
  background: #fff;
  display: flex;
  flex-direction: column;
  grid-row: span 2;
}

.blog-featured-image-wrap {
  overflow: hidden;
  flex-shrink: 0;
}

.blog-featured-image {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}

.blog-featured-refined:hover .blog-featured-image {
  transform: scale(1.03);
}

.blog-featured-content {
  padding: 1.75rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.blog-featured-content h3 {
  font-size: 1.2rem;
  font-weight: 900;
  color: var(--dlr-text);
  margin-bottom: .6rem;
  flex: 1;
}

.blog-featured-content h3 a {
  color: inherit;
  transition: color var(--dlr-transition);
}

.blog-featured-content h3 a:hover { color: var(--dlr-primary); }

.blog-featured-content p {
  font-size: .88rem;
  color: var(--dlr-text-2);
  line-height: 1.65;
}

/* Side posts */
.blog-side-list {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: rgba(255,255,255,.08);
}

.blog-side-card {
  display: flex;
  gap: 0;
  background: #fff;
}

.blog-side-image {
  width: 140px;
  min-height: 120px;
  object-fit: cover;
  flex-shrink: 0;
}

.blog-side-content {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.blog-side-content h4 {
  font-size: .92rem;
  font-weight: 800;
  color: var(--dlr-text);
  line-height: 1.35;
  margin-bottom: .5rem;
  flex: 1;
}

.blog-side-content h4 a {
  color: inherit;
  transition: color var(--dlr-transition);
}

.blog-side-content h4 a:hover { color: var(--dlr-primary); }

.blog-post-tag {
  display: inline-block;
  font-size: .68rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--dlr-primary);
  border: 1px solid rgba(46,115,234,.25);
  padding: .2rem .6rem;
  margin-bottom: .6rem;
}

.blog-read-link {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--dlr-primary);
  transition: gap var(--dlr-transition);
}

.blog-read-link:hover { gap: .55rem; }

.blog-section-mobile-cta { padding: 1.5rem 0 0; }

/* Blog listing page */
.blog-card {
  background: #fff;
  border: 1px solid var(--dlr-border);
  overflow: hidden;
  box-shadow: var(--dlr-shadow-sm);
  transition: all var(--dlr-transition);
  display: flex;
  flex-direction: column;
  height: 100%;
}

.blog-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--dlr-shadow-md);
  border-color: rgba(46,115,234,.2);
}

.blog-card .blog-thumb {
  aspect-ratio: 16/9;
  background: var(--dlr-surface-2);
  overflow: hidden;
}

.blog-card .blog-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}

.blog-card:hover .blog-thumb img { transform: scale(1.04); }

.blog-card .blog-body {
  padding: 1.4rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.blog-category {
  display: inline-block;
  font-size: .7rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--dlr-primary);
  margin-bottom: .7rem;
}

.blog-card h3 {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--dlr-text);
  margin-bottom: .6rem;
  flex: 1;
  line-height: 1.35;
}

.blog-card h3 a { color: inherit; }
.blog-card h3 a:hover { color: var(--dlr-primary); }

.blog-card p {
  font-size: .88rem;
  color: var(--dlr-text-2);
  line-height: 1.6;
}

.blog-link {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-weight: 800;
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--dlr-primary);
  transition: gap var(--dlr-transition);
}

.blog-link:hover { gap: .6rem; }

.blog-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  color: var(--dlr-text-3);
  font-size: .8rem;
  margin-bottom: .8rem;
}

/* === FINAL CTA === */
.final-cta-section {
  background: var(--dlr-surface);
  padding: 96px 0;
  border-top: 1px solid var(--dlr-border);
}

.final-cta-box {
  background: var(--dlr-deep);
  padding: 4rem 3rem;
  position: relative;
  overflow: hidden;
}

.final-cta-box::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 50%, rgba(46,115,234,.15), transparent 50%),
    radial-gradient(circle at 80% 30%, rgba(34,221,210,.08), transparent 40%);
  pointer-events: none;
}

.final-cta-box::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--dlr-accent);
}

.final-cta-content {
  position: relative;
  z-index: 2;
  max-width: 640px;
}

.final-cta-eyebrow {
  display: inline-block;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--dlr-accent);
  border: 1px solid rgba(34,221,210,.4);
  padding: .3rem .8rem;
  margin-bottom: 1.25rem;
}

.final-cta-content h2 {
  color: #fff;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  font-weight: 900;
  margin-bottom: .9rem;
}

.final-cta-content p {
  color: rgba(255,255,255,.7);
  font-size: 1rem;
  line-height: 1.7;
  margin-bottom: 2rem;
}

.final-cta-button {
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

@media (max-width: 767.98px) {
  .final-cta-box { padding: 2.5rem 1.5rem; }
}

/* === FAQ === */
.faq-section-refined {
  background: var(--dlr-navy);
  padding: 96px 0;
  position: relative;
}

.faq-section-refined::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
}

.faq-section-refined .container { position: relative; z-index: 2; }
.faq-header-refined { max-width: 680px; }
.faq-header-refined h2 { color: #fff; }
.faq-header-refined .section-subtitle { color: rgba(255,255,255,.7); }

.faq-section-refined .accordion-item {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1) !important;
  margin-bottom: .6rem;
}

.faq-section-refined .accordion-button {
  background: transparent;
  color: #fff;
  font-weight: 700;
  font-size: .92rem;
  padding: 1.1rem 1.25rem;
}

.faq-section-refined .accordion-button:not(.collapsed) {
  background: rgba(255,255,255,.07);
  color: var(--dlr-accent);
  box-shadow: none;
}

.faq-section-refined .accordion-button::after {
  filter: brightness(0) invert(1);
  opacity: .7;
}

.faq-section-refined .accordion-body {
  color: rgba(255,255,255,.72);
  font-size: .9rem;
  line-height: 1.7;
  padding: 1rem 1.25rem 1.25rem;
}

/* === FOOTER === */
.site-footer {
  background: #fff;
  border-top: 3px solid var(--dlr-navy);
  padding: 72px 0 0;
}

.footer-main-refined { padding-bottom: 3rem; border-bottom: 1px solid var(--dlr-border); }

.footer-brand-block { max-width: 360px; }

.footer-brand-link { display: inline-block; margin-bottom: 1.1rem; }

.footer-brand-logo {
  height: 36px;
  width: auto;
}

.footer-brand-text {
  font-size: .9rem;
  color: var(--dlr-text-2);
  line-height: 1.7;
  margin-bottom: 1.25rem;
}

.footer-location-refined {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  font-size: .85rem;
  color: var(--dlr-text-2);
}

.footer-location-refined strong {
  display: block;
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--dlr-text);
  margin-bottom: .15rem;
}

.footer-nav-block h5 {
  font-size: .75rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--dlr-text);
  margin-bottom: 1rem;
  padding-bottom: .6rem;
  border-bottom: 2px solid var(--dlr-primary);
}

.footer-nav-block ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.footer-nav-block ul li a {
  font-size: .85rem;
  font-weight: 600;
  color: var(--dlr-text-2);
  transition: color var(--dlr-transition);
}

.footer-nav-block ul li a:hover { color: var(--dlr-primary); }

.footer-contact-block h5 {
  font-size: .75rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--dlr-text);
  margin-bottom: 1rem;
  padding-bottom: .6rem;
  border-bottom: 2px solid var(--dlr-primary);
}

.footer-contact-card {
  margin-bottom: .75rem;
}

.footer-contact-card span {
  display: block;
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--dlr-text-3);
  margin-bottom: .3rem;
}

.footer-contact-card a {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .9rem;
  font-weight: 700;
  color: var(--dlr-text);
  transition: color var(--dlr-transition);
}

.footer-contact-card a:hover { color: var(--dlr-primary); }

.footer-socials-refined {
  display: flex;
  gap: .6rem;
  margin-top: 1.5rem;
}

.footer-socials-refined a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid var(--dlr-border);
  color: var(--dlr-text-2);
  font-size: 1rem;
  transition: all var(--dlr-transition);
  text-decoration: none;
}

.footer-socials-refined a:hover {
  background: var(--dlr-primary);
  border-color: var(--dlr-primary);
  color: #fff;
}

.footer-bottom-refined {
  padding: 1.25rem 0;
  font-size: .8rem;
  color: var(--dlr-text-3);
  font-weight: 600;
}

.footer-bottom-links {
  display: flex;
  gap: 1.25rem;
  justify-content: flex-end;
}

.footer-bottom-links a {
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--dlr-text-3);
  transition: color var(--dlr-transition);
}

.footer-bottom-links a:hover { color: var(--dlr-primary); }

@media (max-width: 767.98px) {
  .footer-bottom-links { justify-content: flex-start; }
}

/* === FORMULÁRIO MODAL (PROJETO) === */
.project-modal-dark {
  background: var(--dlr-deep);
  border: 1px solid rgba(255,255,255,.1);
}

.project-modal-header {
  padding: 1.75rem 1.75rem 0;
}

.project-modal-eyebrow {
  display: inline-block;
  font-size: .68rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--dlr-accent);
  border: 1px solid rgba(34,221,210,.35);
  padding: .25rem .7rem;
  margin-bottom: .75rem;
}

.project-modal-title {
  color: #fff;
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  font-weight: 900;
  margin-bottom: 0;
  line-height: 1.15;
}

.project-modal-body { padding: 1.5rem 1.75rem 1.75rem; }

.project-modal-form { display: flex; flex-direction: column; gap: 0; }

.project-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1rem;
}

@media (max-width: 575.98px) {
  .project-form-grid { grid-template-columns: 1fr; }
}

.project-field { display: flex; flex-direction: column; }
.project-field-full { grid-column: span 2; }
@media (max-width: 575.98px) { .project-field-full { grid-column: span 1; } }

.project-label {
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .09em;
  color: rgba(255,255,255,.6);
  margin-bottom: .45rem;
}

.project-label span { color: var(--dlr-accent); }

.project-input {
  display: block;
  width: 100%;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: #fff;
  padding: .85rem 1rem;
  font-family: inherit;
  font-size: .9rem;
  font-weight: 600;
  transition: border-color var(--dlr-transition), background var(--dlr-transition);
}

.project-input::placeholder { color: rgba(255,255,255,.3); }

.project-input:focus {
  outline: none;
  border-color: var(--dlr-primary);
  background: rgba(255,255,255,.09);
  box-shadow: 0 0 0 3px rgba(46,115,234,.15);
}

.project-select { cursor: pointer; appearance: none; }

/* Revenue chips */
.project-revenue-grid {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.project-revenue-input { display: none; }

.project-revenue-chip {
  display: inline-block;
  padding: .5rem 1rem;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
  cursor: pointer;
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.7);
  background: transparent;
  transition: all var(--dlr-transition);
}

.project-revenue-chip:hover {
  border-color: var(--dlr-primary);
  color: #fff;
}

.project-revenue-input:checked + .project-revenue-chip {
  background: var(--dlr-primary);
  border-color: var(--dlr-primary);
  color: #fff;
}

.project-modal-actions { margin-top: .5rem; }

.project-submit-btn {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  background: var(--dlr-primary);
  color: #fff;
  border: none;
  padding: 1.1rem 2rem;
  font-family: inherit;
  font-size: .82rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
  cursor: pointer;
  transition: all var(--dlr-transition);
  width: 100%;
  justify-content: center;
}

.project-submit-btn:hover:not(:disabled) {
  background: var(--dlr-primary-hover);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(46,115,234,.3);
}

.project-submit-btn:disabled, .project-submit-btn.is-loading {
  opacity: .7;
  cursor: not-allowed;
  transform: none;
}

/* === FORMULÁRIOS GENÉRICOS === */
.form-control, .form-select {
  border: 1px solid var(--dlr-border);
  background: #fff;
  color: var(--dlr-text);
  padding: .85rem 1rem;
  font-size: .95rem;
  font-family: inherit;
  transition: border-color var(--dlr-transition);
  box-shadow: none !important;
}

.form-control:focus, .form-select:focus {
  border-color: var(--dlr-primary);
  box-shadow: 0 0 0 3px rgba(46,115,234,.12) !important;
}

textarea.form-control { min-height: 140px; resize: vertical; }

.form-label {
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--dlr-text);
  margin-bottom: .5rem;
}

/* === PÁGINAS INTERNAS: HERO === */
.page-hero {
  background: var(--dlr-deep);
  padding: 72px 0 56px;
  position: relative;
  overflow: hidden;
}

.page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 10% 50%, rgba(46,115,234,.12), transparent 48%),
    radial-gradient(circle at 90% 20%, rgba(34,221,210,.07), transparent 36%);
  pointer-events: none;
}

.page-hero-inner {
  position: relative;
  z-index: 2;
}

.page-hero h1 {
  color: #fff;
  font-size: clamp(2rem, 3.5vw, 3.2rem);
  font-weight: 900;
  margin-bottom: .75rem;
}

.page-hero p {
  color: rgba(255,255,255,.7);
  font-size: 1.05rem;
  max-width: 600px;
  margin: 0;
  line-height: 1.7;
}

/* === CONTENT SECTIONS (páginas internas) === */
.content-section { padding: 72px 0; }
.content-section-lg { padding: 96px 0; }

/* Card genérico quadrado */
.dlr-card {
  background: #fff;
  border: 1px solid var(--dlr-border);
  padding: 1.75rem;
  transition: all var(--dlr-transition);
  box-shadow: var(--dlr-shadow-sm);
}

.dlr-card:hover {
  border-color: rgba(46,115,234,.2);
  box-shadow: var(--dlr-shadow-md);
  transform: translateY(-3px);
}

.dlr-card-dark {
  background: var(--dlr-deep);
  border-color: rgba(255,255,255,.08);
  color: #fff;
}

/* Ícone quadrado */
.dlr-icon-box {
  width: 52px;
  height: 52px;
  background: var(--dlr-surface-3);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  color: var(--dlr-primary);
  margin-bottom: 1.1rem;
  flex-shrink: 0;
}

.dlr-icon-box-dark {
  background: rgba(255,255,255,.08);
  color: var(--dlr-accent);
}

/* Artigo / Blog post individual */
.article-wrap {
  background: #fff;
  border: 1px solid var(--dlr-border);
  padding: 2.5rem;
  box-shadow: var(--dlr-shadow-sm);
}

.article-content h2, .article-content h3, .article-content h4 { margin-top: 2rem; }

.article-content p, .article-content li {
  color: var(--dlr-text-2);
  font-size: 1.03rem;
  line-height: 1.78;
}

.article-content strong { color: var(--dlr-text); }

.article-content blockquote {
  margin: 2rem 0;
  padding: 1.25rem 1.5rem;
  border-left: 4px solid var(--dlr-primary);
  background: var(--dlr-surface-3);
  color: var(--dlr-text);
  font-weight: 500;
}

.article-content code {
  background: var(--dlr-surface-3);
  color: var(--dlr-secondary);
  padding: .15rem .4rem;
  font-size: .92em;
}

.article-content pre {
  background: #0f172a;
  color: #e5ecff;
  padding: 1.5rem;
  overflow-x: auto;
  margin: 1.5rem 0;
}

.article-cover {
  overflow: hidden;
  border: 1px solid var(--dlr-border);
  margin: 1.5rem 0 2rem;
}

/* Sidebar */
.sidebar-card {
  background: #fff;
  border: 1px solid var(--dlr-border);
  padding: 1.4rem;
  box-shadow: var(--dlr-shadow-sm);
}

.sidebar-card + .sidebar-card { margin-top: 1rem; }

/* CTA box lateral */
.cta-box-side {
  background: var(--dlr-deep);
  padding: 1.75rem;
  color: #fff;
}

.cta-box-side h4 { color: #fff; font-weight: 900; margin-bottom: .6rem; }
.cta-box-side p { color: rgba(255,255,255,.7); font-size: .9rem; margin-bottom: 1.25rem; }

/* === PÁGINA SOBRE === */
.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid var(--dlr-border);
}

@media (max-width: 991.98px) {
  .about-grid { grid-template-columns: 1fr; }
}

.about-grid-text {
  padding: 3rem 2.5rem;
  background: #fff;
  border-right: 1px solid var(--dlr-border);
}

.about-grid-visual {
  background: var(--dlr-deep);
  padding: 3rem 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media (max-width: 991.98px) {
  .about-grid-text { border-right: none; border-bottom: 1px solid var(--dlr-border); }
  .about-grid-text, .about-grid-visual { padding: 2rem 1.5rem; }
}

/* Valores (about) */
.values-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}

.values-list li {
  display: flex;
  gap: 1.25rem;
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--dlr-border);
}

.values-list li:last-child { border-bottom: none; }

.values-list .v-num {
  font-size: .72rem;
  font-weight: 900;
  color: var(--dlr-primary);
  text-transform: uppercase;
  letter-spacing: .08em;
  padding-top: .2rem;
  min-width: 28px;
}

.values-list h4 { font-size: .95rem; font-weight: 800; margin-bottom: .3rem; }
.values-list p { font-size: .88rem; margin: 0; color: var(--dlr-text-2); }

/* === PÁGINA CONTATO === */
.contact-form-block {
  background: #fff;
  border: 1px solid var(--dlr-border);
  padding: 2.5rem;
  box-shadow: var(--dlr-shadow-sm);
}

.contact-info-block {
  background: var(--dlr-deep);
  padding: 2.5rem;
  height: 100%;
}

.contact-info-block h3 { color: #fff; }
.contact-info-block p { color: rgba(255,255,255,.7); }

.contact-info-item {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  padding: 1.1rem 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.contact-info-item:last-child { border-bottom: none; }

.contact-info-icon {
  width: 40px;
  height: 40px;
  background: rgba(255,255,255,.07);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.1rem;
  color: var(--dlr-accent);
}

.contact-info-item strong {
  display: block;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(255,255,255,.5);
  margin-bottom: .25rem;
}

.contact-info-item a, .contact-info-item span {
  font-size: .92rem;
  font-weight: 700;
  color: rgba(255,255,255,.9);
}

.contact-info-item a:hover { color: var(--dlr-accent); }

/* === WHATSAPP FLOAT === */
.whatsapp-float-padrao {
  position: fixed;
  bottom: 28px;
  right: 28px;
  width: 56px;
  height: 56px;
  background: #25d366;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  box-shadow: 0 4px 16px rgba(0,0,0,.2);
  z-index: 1000;
  transition: all var(--dlr-transition);
  text-decoration: none;
}

.whatsapp-float-padrao:hover {
  background: #128c7e;
  color: #fff;
  transform: translateY(-3px);
}

@media (max-width: 767.98px) {
  .whatsapp-float-padrao { bottom: 20px; right: 20px; width: 50px; height: 50px; font-size: 1.3rem; }
}

/* === PHOSPHOR ICON FALLBACKS === */
/* Cobre todos os ícones Phosphor usados no site, sem necessidade de CDN */
i[class*="ph"] {
  font-style: normal;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.ph-list::before                    { content: "☰"; }
.ph-check::before                   { content: "✓"; }
.ph-check-circle::before            { content: "✓"; }
.ph-fill.ph-check-circle::before,
.ph-fill.ph-check::before           { content: "✓"; }
.ph-x::before                       { content: "✕"; }
.ph-x-circle::before                { content: "✕"; }
.ph-fill.ph-x-circle::before,
.ph-fill.ph-x::before               { content: "✕"; }
.ph-arrow-right::before             { content: "→"; }
.ph-arrow-left::before              { content: "←"; }
.ph-caret-down::before              { content: "⌄"; }
.ph-caret-right::before             { content: "›"; }
.ph-map-pin::before                 { content: "●"; }
.ph-fill.ph-map-pin::before         { content: "●"; }
.ph-envelope-simple::before         { content: "✉"; }
.ph-fill.ph-envelope-simple::before { content: "✉"; }
.ph-phone::before                   { content: "✆"; }
.ph-database::before                { content: "⊞"; }
.ph-rocket-launch::before           { content: "↑"; }
.ph-users-three::before             { content: "⊕"; }
.ph-cpu::before                     { content: "⊡"; }
.ph-globe::before                   { content: "○"; }
.ph-globe-hemisphere-west::before   { content: "○"; }
.ph-browser::before                 { content: "□"; }
.ph-chart-line-up::before           { content: "↗"; }
.ph-chart-bar::before               { content: "▐"; }
.ph-user::before                    { content: "◎"; }
.ph-buildings::before               { content: "▦"; }
.ph-calendar::before                { content: "▣"; }
.ph-clock::before                   { content: "◷"; }
.ph-tag::before                     { content: "◆"; }
.ph-pencil::before                  { content: "✏"; }
.ph-trash::before                   { content: "⌫"; }
.ph-plus::before                    { content: "+"; }
.ph-minus::before                   { content: "−"; }
.ph-eye::before                     { content: "◉"; }
.ph-lock::before                    { content: "⊗"; }
.ph-sign-out::before                { content: "→"; }
.ph-magnifying-glass::before        { content: "⌕"; }
.ph-funnel::before                  { content: "▽"; }
.ph-share-network::before           { content: "◈"; }
.ph-link::before                    { content: "⛓"; }
.ph-copy::before                    { content: "⧉"; }
.ph-image::before                   { content: "▨"; }
.ph-file::before                    { content: "▤"; }
.ph-warning::before                 { content: "⚠"; }
.ph-info::before                    { content: "ℹ"; }
.ph-question::before                { content: "?"; font-weight: 900; }

/* Social icons: usar SVG inline no HTML */
.ph-whatsapp-logo::before   { content: "W"; font-weight: 900; font-size: .75em; }
.ph-linkedin-logo::before   { content: "in"; font-weight: 900; font-size: .65em; }
.ph-instagram-logo::before  { content: "IG"; font-weight: 900; font-size: .65em; }
.ph-github-logo::before     { content: "GH"; font-weight: 900; font-size: .65em; }

/* fs-* adjusts via Bootstrap font-size utilities */
i.fs-3[class*="ph"] { font-size: 1.4rem; }
i.fs-4[class*="ph"] { font-size: 1.25rem; }
i.fs-5[class*="ph"] { font-size: 1rem; }

/* === PAGINAÇÃO === */
.pagination { gap: .25rem; }
.pagination .page-link {
  border: 1px solid var(--dlr-border);
  color: var(--dlr-text-2);
  padding: .55rem .9rem;
  font-size: .8rem;
  font-weight: 700;
  transition: all var(--dlr-transition);
}
.pagination .page-link:hover {
  background: var(--dlr-primary);
  border-color: var(--dlr-primary);
  color: #fff;
}
.pagination .page-item.active .page-link {
  background: var(--dlr-primary);
  border-color: var(--dlr-primary);
  color: #fff;
}

/* === TAGS / BADGES === */
.tag-item {
  display: inline-block;
  padding: .3rem .75rem;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
  border: 1px solid var(--dlr-border);
  color: var(--dlr-text-2);
  background: var(--dlr-bg);
  transition: all var(--dlr-transition);
}
.tag-item:hover {
  border-color: var(--dlr-primary);
  color: var(--dlr-primary);
  background: #fff;
}
.tag-item.active {
  background: var(--dlr-primary);
  border-color: var(--dlr-primary);
  color: #fff;
}

/* === DIVISOR === */
.section-divider {
  height: 3px;
  background: var(--dlr-primary);
  width: 48px;
  margin: 1rem 0 1.5rem;
}

.section-divider.accent { background: var(--dlr-accent); }

/* === UTILITÁRIOS === */
.text-primary   { color: var(--dlr-primary) !important; }
.text-accent    { color: var(--dlr-accent) !important; }
.text-navy      { color: var(--dlr-navy) !important; }
.text-deep      { color: var(--dlr-deep) !important; }
.text-soft      { color: var(--dlr-text-2) !important; }

.border-primary-l { border-left: 4px solid var(--dlr-primary); }
.border-accent-l  { border-left: 4px solid var(--dlr-accent); }

.bg-deep  { background: var(--dlr-deep); }
.bg-navy  { background: var(--dlr-navy); }

/* Scrollbar sutil */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--dlr-bg); }
::-webkit-scrollbar-thumb { background: var(--dlr-border-strong); }
::-webkit-scrollbar-thumb:hover { background: var(--dlr-primary); }

/* === RESPONSIVIDADE EXTRA === */
@media (max-width: 767.98px) {
  .section-space    { padding: 64px 0; }
  .section-space-sm { padding: 48px 0; }
  .section-space-lg { padding: 80px 0; }
  .hero-section, .hero-home-refined { padding: 72px 0 60px; }
  .method-section-refined { padding: 64px 0; }
  .faq-section-refined { padding: 64px 0; }
  .site-footer { padding-top: 48px; }
  .blog-side-card { flex-direction: column; }
  .blog-side-image { width: 100%; height: 160px; }
  .footer-bottom-refined .row { flex-direction: column; gap: .5rem; }
  .article-wrap { padding: 1.5rem; }
  .contact-form-block { padding: 1.75rem; }
  .contact-info-block { padding: 1.75rem; }
}

@media (max-width: 575.98px) {
  h1 { font-size: 2rem; }
  h2 { font-size: 1.65rem; }
  .btn-lg { padding: .9rem 1.5rem; }
  .hero-cta-refined { flex-direction: column; }
  .hero-cta-refined .btn { width: 100%; justify-content: center; text-align: center; }
}
