/* Conteúdo institucional e páginas de solução */
.main-nav {
  gap: 22px;
}

.main-nav a {
  white-space: nowrap;
}

.crm-structure-panel .btn {
  margin-top: 26px;
}

.structure-pillar a {
  display: inline-flex;
  margin-top: 14px;
  color: var(--red);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.risk-home {
  padding: 88px 0;
  background: white;
}

.risk-home-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 62px;
  align-items: center;
}

.risk-home h2 {
  max-width: 640px;
  font-size: clamp(40px, 5vw, 66px);
}

.risk-home p {
  color: var(--gray-500);
  font-size: 17px;
  line-height: 1.75;
}

.risk-home-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}

.risk-home-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.risk-home-cards article {
  min-height: 220px;
  padding: 30px;
  border-radius: 22px;
  background: var(--gray-50);
  border: 1px solid rgba(209,213,219,.8);
  box-shadow: 0 16px 42px rgba(11,15,20,.06);
}

.risk-home-cards span,
.crm-page-card span {
  display: inline-block;
  color: var(--red);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.risk-home-cards h3,
.crm-page-card h3 {
  margin: 20px 0 0;
  font-size: 25px;
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -.035em;
}

.risk-home-cards p,
.crm-page-card p {
  margin: 14px 0 0;
  color: var(--gray-500);
  font-size: 15px;
  line-height: 1.7;
}

.crm-page-hero {
  padding: 170px 0 86px;
  color: white;
  background:
    linear-gradient(90deg, rgba(5,8,13,.96), rgba(5,8,13,.78), rgba(5,8,13,.34)),
    url('/assets/img/hero-road.jpg') center right / cover no-repeat;
}

.crm-page-hero-risk {
  background:
    radial-gradient(circle at top right, rgba(200,146,17,.20), transparent 32%),
    linear-gradient(90deg, rgba(5,8,13,.98), rgba(5,8,13,.82), rgba(5,8,13,.42)),
    url('/assets/img/hero-road.jpg') center right / cover no-repeat;
}

.crm-page-hero-legal {
  background:
    radial-gradient(circle at top left, rgba(200,146,17,.16), transparent 30%),
    var(--black);
}

.crm-page-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 70px;
  align-items: center;
}

.crm-page-hero h1 {
  max-width: 860px;
  margin: 14px 0 0;
  font-size: clamp(48px, 7vw, 86px);
  line-height: .95;
  letter-spacing: -.06em;
}

.crm-page-hero p {
  max-width: 720px;
  color: rgba(255,255,255,.82);
  font-size: 19px;
  line-height: 1.7;
}

.crm-page-hero-card {
  padding: 36px;
  border-radius: 24px;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 24px 60px rgba(0,0,0,.22);
  backdrop-filter: blur(12px);
}

.crm-page-hero-card strong {
  display: block;
  font-size: clamp(34px, 4vw, 56px);
  line-height: .95;
  font-weight: 900;
  letter-spacing: -.055em;
}

.crm-page-hero-card span {
  display: block;
  margin-top: 16px;
  color: rgba(255,255,255,.78);
  font-weight: 800;
  line-height: 1.55;
}

.crm-page-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
}

.crm-page-section {
  padding: 82px 0;
  background: white;
}

.crm-page-section-alt {
  background: var(--gray-50);
}

.crm-page-section-dark {
  background: var(--black);
  color: white;
}

.crm-page-section-dark .eyebrow {
  color: var(--yellow);
}

.crm-page-section-dark p,
.crm-page-section-dark li {
  color: rgba(255,255,255,.76);
}

.crm-page-split {
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  gap: 74px;
  align-items: start;
}

.crm-page-split h2,
.crm-page-heading h2,
.crm-page-cta h2,
.crm-page-contact-panel h2 {
  font-size: clamp(34px, 4.5vw, 58px);
}

.crm-page-copy {
  display: grid;
  gap: 18px;
}

.crm-page-copy p,
.crm-page-cta p,
.crm-page-contact-panel p {
  color: var(--gray-500);
  font-size: 17px;
  line-height: 1.8;
}

.crm-page-copy a {
  color: var(--red);
  font-weight: 900;
}

.crm-page-heading {
  max-width: 820px;
  margin-bottom: 34px;
}

.crm-page-heading p {
  color: var(--gray-500);
  font-size: 17px;
  line-height: 1.75;
}

.crm-page-card-grid {
  display: grid;
  gap: 22px;
}

.crm-page-card-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.crm-page-card-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.crm-page-card {
  min-height: 230px;
  padding: 30px;
  border-radius: 22px;
  background: white;
  border: 1px solid rgba(209,213,219,.82);
  box-shadow: 0 16px 42px rgba(11,15,20,.06);
}

.crm-page-card-dark {
  background: var(--black);
  color: white;
  border-color: rgba(255,255,255,.08);
}

.crm-page-card-dark p {
  color: rgba(255,255,255,.76);
}

.crm-page-card a {
  display: inline-flex;
  margin-top: 18px;
  color: var(--red);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.crm-page-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding-left: 18px;
}

.crm-page-list li::marker {
  color: var(--red);
}

.crm-page-timeline {
  display: grid;
  gap: 18px;
  border-left: 2px solid rgba(200,146,17,.38);
  padding-left: 28px;
}

.crm-page-timeline article {
  position: relative;
  padding: 20px 0 20px 22px;
}

.crm-page-timeline article::before {
  content: '';
  position: absolute;
  left: -37px;
  top: 27px;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: var(--red);
  box-shadow: 0 0 0 6px white;
}

.crm-page-timeline strong {
  color: var(--red);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
}

.crm-page-timeline h3 {
  margin: 8px 0 0;
  font-size: 24px;
}

.crm-page-timeline p {
  margin: 10px 0 0;
  color: var(--gray-500);
  line-height: 1.7;
}

.crm-page-process {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.crm-page-process article {
  min-height: 240px;
  padding: 30px;
  border-radius: 22px;
  background: var(--gray-50);
  border: 1px solid rgba(209,213,219,.82);
}

.crm-page-process span {
  color: var(--red);
  font-size: 12px;
  font-weight: 900;
}

.crm-page-process h3 {
  margin: 30px 0 0;
  font-size: 28px;
  line-height: 1;
}

.crm-page-process p {
  color: var(--gray-500);
  line-height: 1.7;
}

.crm-page-cta {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  padding: 40px;
  border-radius: 24px;
  background: white;
  border: 1px solid rgba(209,213,219,.82);
  box-shadow: 0 18px 45px rgba(11,15,20,.07);
}

.crm-page-logo-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.crm-page-logo-cell {
  min-height: 112px;
  display: grid;
  place-items: center;
  padding: 24px;
  border-radius: 18px;
  background: white;
  border: 1px solid rgba(209,213,219,.82);
  box-shadow: 0 12px 32px rgba(11,15,20,.045);
}

.crm-page-logo-cell a {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
}

.crm-page-logo-cell img {
  max-height: 52px;
  width: auto;
  filter: grayscale(1);
  opacity: .72;
}

.crm-page-logo-cell:hover img {
  filter: grayscale(0);
  opacity: 1;
}

.crm-page-contact-panel {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 70px;
  align-items: start;
}

@media (max-width: 1180px) {
  .main-nav {
    gap: 16px;
    font-size: 11px;
  }
}

@media (max-width: 1100px) {
  .risk-home-grid,
  .crm-page-hero-grid,
  .crm-page-split,
  .crm-page-contact-panel,
  .crm-page-cta {
    grid-template-columns: 1fr;
  }

  .crm-page-card-grid-4,
  .crm-page-card-grid-3,
  .crm-page-process,
  .crm-page-logo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .crm-page-hero {
    padding: 132px 0 64px;
  }

  .crm-page-section,
  .risk-home {
    padding: 62px 0;
  }

  .risk-home-cards,
  .crm-page-card-grid-4,
  .crm-page-card-grid-3,
  .crm-page-process,
  .crm-page-logo-grid {
    grid-template-columns: 1fr;
  }

  .crm-page-card,
  .risk-home-cards article,
  .crm-page-process article {
    min-height: auto;
  }

  .crm-page-cta {
    padding: 28px;
  }

  .crm-page-hero-card {
    padding: 28px;
  }
}

/* Marca CR&M Group */
.brand-logo {
  flex-direction: row;
  align-items: center;
  gap: 10px;
  min-width: 126px;
}

.brand-logo .brand-symbol {
  width: 44px;
  height: 46px;
  flex: 0 0 auto;
  object-fit: contain;
}

.brand-wordmark {
  display: inline-flex;
  flex-direction: column;
  line-height: 1;
}

.brand-logo .brand-main {
  font-size: 30px;
  letter-spacing: -.045em;
}

.brand-logo .brand-sub {
  margin-top: 4px;
  padding-left: 2px;
  color: var(--red);
  font-size: 9px;
  letter-spacing: .44em;
  opacity: 1;
}

.site-header:not(.site-header-light) .brand-logo .brand-symbol {
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.28));
}

.site-header.scrolled .brand-logo .brand-symbol {
  width: 40px;
  height: 42px;
}

.site-header.scrolled .brand-logo .brand-main {
  font-size: 28px;
}

.footer-brand .brand-logo {
  justify-content: flex-start;
  min-width: 0;
}

.footer-brand .brand-logo .brand-symbol {
  width: 52px;
  height: 54px;
}

.footer-brand .brand-logo .brand-main {
  font-size: 32px;
}

.footer-brand .brand-logo .brand-sub {
  color: var(--red);
}

@media (max-width: 1180px) {
  .brand-logo {
    gap: 8px;
    min-width: 112px;
  }

  .brand-logo .brand-symbol {
    width: 38px;
    height: 40px;
  }

  .brand-logo .brand-main {
    font-size: 26px;
  }

  .brand-logo .brand-sub {
    font-size: 8px;
    letter-spacing: .4em;
  }
}

@media (max-width: 700px) {
  .brand-logo {
    min-width: 0;
  }
}


/* Risco Rodoviário — plataforma e evolução */
.crm-risk-page { overflow: hidden; }
.crm-risk-hero { position: relative; isolation: isolate; }
.crm-risk-hero::after { content: ''; position: absolute; z-index: -1; right: 5%; bottom: -130px; width: 460px; height: 460px; border: 1px solid rgba(242,183,5,.18); border-radius: 50%; box-shadow: 0 0 0 54px rgba(242,183,5,.05), 0 0 0 108px rgba(242,183,5,.035); }
.crm-risk-hero-grid { display: grid; grid-template-columns: minmax(0,1fr) 408px; gap: 68px; align-items: center; }
.crm-risk-hero-copy h1 { max-width: 800px; }
.risk-hero-dashboard { padding: 25px; border: 1px solid rgba(255,255,255,.17); border-radius: 24px; color: #fff; background: linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.055)); box-shadow: 0 30px 70px rgba(0,0,0,.3); backdrop-filter: blur(14px); }
.risk-dashboard-top { display:grid; grid-template-columns:1fr auto; gap:8px; align-items:end; }
.risk-dashboard-top span,.risk-dashboard-chart span,.risk-dashboard-breakdown span,.risk-hero-dashboard>p { color:rgba(255,255,255,.65); font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.risk-dashboard-top strong { font-size:21px; line-height:1; }
.risk-dashboard-top b { color:var(--yellow); font-size:18px; }
.risk-dashboard-chart { margin:24px 0 16px; padding:20px; border-radius:16px; background:rgba(5,8,13,.48); }
.risk-chart-label { display:flex; align-items:end; justify-content:space-between; }
.risk-chart-label strong { font-size:30px; line-height:.9; }.risk-chart-label small { font-size:12px; color:rgba(255,255,255,.55); }
.risk-chart-bars { height:98px; display:flex; align-items:end; gap:9px; margin-top:16px; padding:0 2px; border-bottom:1px solid rgba(255,255,255,.16); }
.risk-chart-bars i { display:block; flex:1; border-radius:3px 3px 0 0; background:linear-gradient(180deg,var(--yellow),#b98508); }.risk-chart-bars i:nth-child(1){height:88%}.risk-chart-bars i:nth-child(2){height:75%}.risk-chart-bars i:nth-child(3){height:80%}.risk-chart-bars i:nth-child(4){height:60%}.risk-chart-bars i:nth-child(5){height:66%}.risk-chart-bars i:nth-child(6){height:48%}.risk-chart-bars i:nth-child(7){height:42%}.risk-chart-bars i:nth-child(8){height:34%}
.risk-chart-axis { display:flex; justify-content:space-between; margin-top:8px; }.risk-chart-axis span { font-size:10px; }
.risk-dashboard-breakdown { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.risk-dashboard-breakdown div { display:grid; gap:5px; }.risk-dashboard-breakdown strong { font-size:18px; }.risk-dot { display:inline-block; width:7px; height:7px; margin-right:5px; border-radius:50%; }.risk-dot-green{background:#61d09a}.risk-dot-gold{background:var(--yellow)}.risk-dot-red{background:#ef6a61}.risk-hero-dashboard>p{ margin:18px 0 0; line-height:1.4; }
.risk-intro { padding-bottom:88px; }
.risk-heading-wide { max-width:900px; }
.risk-levels-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.risk-level-card { position:relative; min-height:430px; padding:30px; overflow:hidden; border:1px solid rgba(209,213,219,.9); border-radius:22px; background:#fff; box-shadow:0 16px 42px rgba(11,15,20,.055); }
.risk-level-card-featured { color:#fff; background:var(--black); border-color:var(--black); transform:translateY(-14px); box-shadow:0 26px 60px rgba(11,15,20,.19); }.risk-level-card-featured::after{content:'';position:absolute;right:-35px;bottom:-35px;width:190px;height:190px;border-radius:50%;background:rgba(242,183,5,.13);box-shadow:0 0 0 28px rgba(242,183,5,.055)}
.risk-level-number { position:absolute; top:22px; right:24px; color:rgba(11,15,20,.06); font-size:70px; font-weight:900; line-height:1; }.risk-level-card-featured .risk-level-number{color:rgba(255,255,255,.08)}
.risk-level-icon { width:46px; height:46px; display:grid; place-items:center; margin-bottom:26px; border-radius:13px; background:rgba(200,146,17,.12); color:var(--red); font-size:24px; font-weight:900; }.risk-level-card .eyebrow{color:var(--red)}.risk-level-card h3{position:relative;margin:13px 0 0;font-size:29px;line-height:1.02;letter-spacing:-.04em}.risk-level-card>p:not(.eyebrow){color:var(--gray-500);line-height:1.65}.risk-level-card-featured>p:not(.eyebrow){color:rgba(255,255,255,.72)}.risk-level-card ul{position:relative;display:grid;gap:8px;margin:22px 0 0;padding:0;list-style:none;color:var(--gray-700);font-size:13px;font-weight:700}.risk-level-card li::before{content:'✓';margin-right:8px;color:var(--red);font-weight:900}.risk-level-card-featured ul{color:rgba(255,255,255,.87)}
.risk-recommendations { background:#fff; }.risk-recommendations-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:center; }.risk-recommendations-copy h2{font-size:clamp(38px,4.5vw,62px);}.risk-recommendations-copy>p:not(.eyebrow){max-width:520px;color:var(--gray-500);font-size:17px;line-height:1.75}.risk-text-link{display:inline-flex;gap:12px;margin-top:16px;color:var(--red);font-size:13px;font-weight:900;text-transform:uppercase}.risk-text-link span{font-size:19px}.risk-recommendations-flow{padding:26px;border-radius:24px;background:var(--gray-50);border:1px solid rgba(209,213,219,.75)}.risk-recommendations-flow article{padding:18px 20px;border-radius:14px;background:#fff;box-shadow:0 10px 22px rgba(11,15,20,.05)}.risk-recommendations-flow span{display:block;margin-bottom:6px;color:var(--red);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.risk-recommendations-flow strong{font-size:17px;line-height:1.25}.risk-recommendations-flow>i{display:block;height:22px;color:var(--red);font-size:22px;font-style:normal;text-align:center;line-height:22px}.risk-flow-action{background:var(--black)!important;color:#fff}.risk-flow-action strong{color:#fff}
.risk-incidents-intro { display:grid; grid-template-columns:1fr .9fr; gap:70px; align-items:end; margin-bottom:36px; }.risk-incidents-intro p:last-child{margin:0;color:rgba(255,255,255,.73);font-size:17px;line-height:1.72}.risk-incidents-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:rgba(255,255,255,.13); }.risk-incidents-grid article{min-height:230px;padding:28px;background:#10161f}.risk-incidents-grid span{color:var(--yellow);font-size:12px;font-weight:900}.risk-incidents-grid h3{margin:30px 0 0;font-size:27px;line-height:1}.risk-incidents-grid p{color:rgba(255,255,255,.68);line-height:1.65}
.risk-loop { display:flex; align-items:stretch; padding:18px; border-radius:24px; background:#fff; border:1px solid rgba(209,213,219,.85); box-shadow:0 16px 42px rgba(11,15,20,.045); }.risk-loop article{flex:1;padding:22px}.risk-loop article span{display:grid;place-items:center;width:30px;height:30px;margin-bottom:24px;border-radius:50%;background:rgba(200,146,17,.12);color:var(--red);font-size:12px;font-weight:900}.risk-loop strong{font-size:23px;line-height:1}.risk-loop p{margin:10px 0 0;color:var(--gray-500);font-size:14px;line-height:1.5}.risk-loop>i{align-self:center;color:var(--red);font-size:24px;font-style:normal}
.risk-final { padding-top:30px; }.risk-final-panel{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;padding:48px;border-radius:24px;background:linear-gradient(115deg,#101720,#1a2735);color:#fff;box-shadow:var(--shadow)}.risk-final-panel h2{max-width:700px;font-size:clamp(36px,4vw,56px)}.risk-final-panel p:not(.eyebrow){max-width:650px;color:rgba(255,255,255,.72);line-height:1.7}.risk-final-panel .eyebrow{color:var(--yellow)}
@media (max-width:1100px){.crm-risk-hero-grid,.risk-recommendations-grid,.risk-incidents-intro{grid-template-columns:1fr}.risk-hero-dashboard{max-width:480px}.risk-levels-grid{grid-template-columns:1fr}.risk-level-card-featured{transform:none}.risk-incidents-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.risk-loop{display:grid;grid-template-columns:repeat(2,1fr)}.risk-loop>i{display:none}}
@media (max-width:700px){.crm-risk-hero::after{right:-160px}.risk-hero-dashboard{padding:18px}.risk-dashboard-breakdown{gap:6px}.risk-level-card{min-height:0}.risk-incidents-grid,.risk-loop,.risk-final-panel{grid-template-columns:1fr}.risk-incidents-grid article{min-height:0}.risk-loop{padding:10px}.risk-loop article{padding:19px}.risk-final-panel{padding:30px}.risk-final-panel .btn{width:100%}}
