:root{
  --ink:#07111f;
  --navy:#061a33;
  --navy-2:#092447;
  --blue:#0875e1;
  --blue-2:#47a7ff;
  --green:#87c829;
  --cyan:#12b8c4;
  --orange:#ff7b00;
  --purple:#8d58d7;
  --amber:#e6a700;
  --paper:#f4f7fb;
  --white:#ffffff;
  --muted:#667789;
  --line:#dce5ef;
  --dark-line:rgba(255,255,255,.14);
  --gold: #b89a5a;
  --gold-light: #d4b97a;
  --bg: #061a35;
  --bg-card: #011d3b;
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
  scroll-padding-top:86px;
}

body{
  font-family:'Inter', sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  text-rendering:optimizeLegibility;
}

a{
  color:inherit;
}

.navbar{
  padding:18px 0;
  background:transparent;
  border-bottom:none;
  backdrop-filter:blur(18px);
  transition:background .28s ease, border-color .28s ease, padding .28s ease;
}

.navbar-solid{
  background:rgba(6,26,51,.86);
  border-bottom:1px solid rgba(255,255,255,.1);
}

.navbar-brand{
  display:flex;
  align-items:center;
  color:var(--white);
  text-decoration:none;
}

.navbar-brand img{
  display:block;
  width:auto;
  height:44px;
  object-fit:contain;
}

.navbar-brand:hover,
.nav-link:hover{
  color:var(--white);
}

.navbar-toggler{
  border-color:rgba(255,255,255,.28);
}

.navbar-toggler-icon{
  filter:invert(1);
}

.nav-link{
  color:rgba(255,255,255,.74);
  font-size:.86rem;
  font-weight:750;
  margin-left:16px;
}

.nav-link.nav-client{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--white) !important;
  background:var(--blue) !important;
  border:1px solid var(--blue) !important;
  border-radius:999px !important;
  padding:10px 18px !important;
  margin-left:12px !important;
  text-decoration:none;
  font-weight:700 !important;
  box-shadow:0 8px 24px rgba(8,117,225,.28);
  transition:transform .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.nav-link.nav-client:hover{
  background:#005bb3 !important;
  border-color:#005bb3 !important;
  color:var(--white) !important;
  transform:translateY(-2px);
  box-shadow:0 12px 32px rgba(8,117,225,.42);
}

.nav-link.nav-client:focus-visible{
  outline:2px solid rgba(255,255,255,.85);
  outline-offset:3px;
}

.nav-cta{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--white);
  border:1px solid rgba(255,255,255,.28);
  border-radius:2px;
  padding:10px 18px;
  text-decoration:none;
  font-size:.86rem;
  font-weight:850;
  transition:.22s;
}

.nav-cta:hover{
  color:var(--navy);
  background:var(--white);
}

.site-header{
  background:transparent;
}

.hero{
  min-height:720px;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  color:var(--white);
  background:var(--navy);
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.68) 34%, rgba(0,0,0,.18) 70%, rgba(0,0,0,.1) 100%),
    linear-gradient(0deg, rgba(0,0,0,.34), rgba(0,0,0,0) 42%);
  z-index:1;
}

.hero::after{
  display:none;
}

.hero-carousel,
.hero-carousel .carousel-inner,
.hero-carousel .carousel-item{
  position:absolute;
  inset:0;
}

.hero-carousel{
  z-index:0;
}

.hero-slide{
  min-height:720px;
  background-position:center right;
  background-size:cover;
}

.slide-family{
  background-image:url('https://images.unsplash.com/photo-1511895426328-dc8714191300?q=80&w=1800&auto=format&fit=crop');
}

.slide-freedom{
  background-image:url('https://images.unsplash.com/photo-1732471295848-230053f7416b?q=80&w=1800&auto=format&fit=crop');
}

.slide-focus{
  background-image:url('https://plus.unsplash.com/premium_photo-1664791136038-932c90580f2a?q=80&w=1800&auto=format&fit=crop');
}

.hero-inner{
  position:relative;
  z-index:2;
  display:block;
  padding:150px 12px 92px;
}

.highlight-text{
  color:var(--blue);
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.btn-outline-action{
  color:var(--blue);
  background:transparent;
  border:1px solid var(--blue);
  border-radius:999px;
  min-width:208px;
  justify-content:space-between;
}

.btn-outline-action:hover{
  background:rgba(8,117,225,.07);
  transform:translateY(-2px);
}

.solution-icon{
  width:56px;
  height:56px;
  border-radius:18px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.35rem;
  color:var(--ink);
  margin:18px 0 12px;
}

.eyebrow,
.section-kicker{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:var(--blue-2);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:18px;
}

.eyebrow::after,
.section-kicker::after{
  content:"";
  width:54px;
  height:2px;
  background:currentColor;
}

.hero h1{
  max-width:660px;
  font-size:clamp(3.15rem, 5.6vw, 6.05rem);
  line-height:1.03;
  font-weight:400;
  letter-spacing:-.052em;
  margin-bottom:44px;
  text-wrap:balance;
}

.hero p{
  max-width:650px;
  color:rgba(255,255,255,.78);
  font-size:1.08rem;
  line-height:1.82;
  margin-bottom:34px;
  text-wrap:pretty;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.btn{
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border-radius:999px;
  padding:14px 22px;
  font-weight:850;
  transition:.22s;
}

.btn-primary-custom{
  color:#062017;
  background:#10cda8;
  border:1px solid #10cda8;
  min-width:208px;
  justify-content:space-between;
}

.btn-primary-custom:hover{
  color:#062017;
  background:#19e2bd;
  border-color:#19e2bd;
  transform:translateY(-2px);
}

.btn-outline-custom{
  color:var(--white);
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.32);
}

.btn-outline-custom:hover{
  color:var(--navy);
  background:var(--white);
  border-color:var(--white);
  transform:translateY(-2px);
}

.numbers-section{
  background:var(--white);
  border-bottom:1px solid var(--line);
}

.numbers-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
}

.numbers-grid article{
  min-height:180px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:34px;
  border-left:1px solid var(--line);
}

.numbers-grid article:last-child{
  border-right:1px solid var(--line);
}

.numbers-grid strong{
  color:var(--navy);
  font-size:clamp(2.4rem, 4vw, 4.5rem);
  line-height:.95;
  letter-spacing:-.05em;
  font-weight:900;
}

.numbers-grid span{
  color:var(--muted);
  max-width:210px;
  margin-top:12px;
  font-weight:750;
}

.section{
  padding:104px 0;
}

.section h2{
  color:var(--navy);
  font-size:clamp(2rem, 3.7vw, 4.15rem);
  line-height:1.05;
  letter-spacing:-.038em;
  font-weight:900;
  margin:0;
  text-wrap:balance;
}

.section p{
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.78;
  margin:0;
  text-wrap:pretty;
}

.about-section{
  background:var(--white);
}

.about-grid,
.thesis-grid,
.journey-grid,
.contact-grid,
.compliance-grid{
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(390px, .82fr);
  gap:74px;
  align-items:start;
}

.about-grid p + p{
  margin-top:20px;
}

.section-title-row{
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(320px, .45fr);
  gap:60px;
  align-items:end;
  margin-bottom:48px;
}

.solutions-section,
.method-section,
.specialists-section{
  background:var(--paper);
}

.solution-list{
  display:grid;
  border-top:1px solid var(--line);
}

.solution-item{
  position:relative;
  display:grid;
  grid-template-columns:82px minmax(220px, .42fr) minmax(0, 1fr) 48px;
  gap:24px;
  align-items:center;
  min-height:128px;
  color:var(--ink);
  text-decoration:none;
  border-bottom:1px solid var(--line);
  padding:24px 0;
  transition:.22s;
}

.solution-item::before{
  content:"";
  position:absolute;
  left:0;
  top:24px;
  bottom:24px;
  width:3px;
  background:var(--blue);
  opacity:.8;
}

.solution-item span{
  color:var(--muted);
  font-size:.86rem;
  font-weight:900;
  letter-spacing:.12em;
}

.solution-item strong{
  color:var(--navy);
  font-size:1.35rem;
  line-height:1.16;
  font-weight:900;
}

.solution-item p{
  margin:0;
}

.solution-item i{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--navy);
  border:1px solid var(--line);
  border-radius:50%;
}

.solution-item:hover{
  color:inherit;
  padding-left:22px;
  background:rgba(255,255,255,.72);
}

.solution-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  border: 2px solid currentColor;
  background: transparent;
  opacity: .85;
}

.solution-icon i {
  font-size: 2.8rem;  /* ajuste aqui o tamanho */
  color: currentColor;
  line-height: 1;
}

/* garante que o ícone herde a cor do item */
.solution-item.blue  .solution-icon { color: var(--blue); }
.solution-item.green .solution-icon { color: var(--green); }
.solution-item.orange .solution-icon { color: var(--orange); }
.solution-item.cyan  .solution-icon { color: var(--cyan); }
.solution-item.purple .solution-icon { color: var(--purple); }
.solution-item.amber .solution-icon { color: var(--amber); }

.solution-item.green::before{background:var(--green);}
.solution-item.orange::before{background:var(--orange);}
.solution-item.cyan::before{background:var(--cyan);}
.solution-item.purple::before{background:var(--purple);}
.solution-item.amber::before{background:var(--amber);}

.thesis-section,
.journey-section,
.compliance-section,
.contact-section{
  color:var(--white);
  background:var(--navy);
}

.thesis-section .section-kicker,
.journey-section .section-kicker,
.compliance-section .section-kicker,
.contact-section .section-kicker{
  color:var(--blue-2);
}

.thesis-section h2,
.journey-section h2,
.compliance-section h2,
.contact-section h2{
  color:var(--white);
}

.thesis-section h2:first-of-type {
  margin-bottom: 50px;
}

.thesis-section p,
.journey-section p,
.compliance-section p,
.contact-section p{
  color:rgba(255,255,255,.72);
}

.thesis-card{
  display:grid;
  grid-template-columns:1fr 1fr;
  border:1px solid var(--dark-line);
  background:rgba(255,255,255,.04);
}

.thesis-card div{
  padding:34px;
}

.thesis-card div + div{
  border-left:1px solid var(--dark-line);
}

.thesis-card span{
  display:block;
  color:var(--blue-2);
  font-size:.86rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:22px;
}

.thesis-card ul{
  list-style:none;
  padding:0;
  margin:0;
}

.thesis-card li{
  position:relative;
  color:rgba(255,255,255,.78);
  margin-bottom:16px;
  padding-left:24px;
}

.thesis-card li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--blue-2);
}

.timeline{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}

.timeline article{
  min-height:300px;
  padding:28px;
  background:var(--white);
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.timeline span{
  display:block;
  color:var(--blue);
  font-size:.88rem;
  font-weight:900;
  letter-spacing:.14em;
  margin-bottom:70px;
}

.timeline h3,
.specialist-grid h3,
.content-grid h3,
.contact-form h3{
  color:var(--navy);
  font-size:1.18rem;
  line-height:1.25;
  font-weight:900;
  margin:0 0 14px;
}

.timeline p,
.specialist-grid p{
  font-size:.95rem;
}

.journey-grid{
  align-items:center;
}

.journey-carousel{
  min-height:390px;
  border:1px solid var(--dark-line);
  background:rgba(255,255,255,.04);
}

.journey-card{
  min-height:390px;
  padding:52px 72px 72px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:
    linear-gradient(135deg, rgba(8,117,225,.18), rgba(255,255,255,.02)),
    radial-gradient(circle at 88% 18%, rgba(135,200,41,.16), transparent 28%);
}

.journey-card span{
  color:var(--blue-2);
  font-size:.85rem;
  font-weight:900;
  letter-spacing:.16em;
  margin-bottom:60px;
}

.journey-card h3{
  color:var(--white);
  font-size:clamp(1.8rem, 3vw, 3rem);
  line-height:1.05;
  font-weight:900;
  letter-spacing:-.04em;
  margin:0 0 20px;
}

.journey-card p{
  max-width:560px;
  color:rgba(255,255,255,.74);
}

.journey-carousel .carousel-indicators{
  right:auto;
  bottom:22px;
  left:68px;
  margin:0;
  justify-content:flex-start;
}

.journey-carousel .carousel-indicators [data-bs-target]{
  width:42px;
  height:3px;
  background-color:rgba(255,255,255,.8);
}

.journey-carousel .carousel-control-prev,
.journey-carousel .carousel-control-next{
  width:54px;
}

.specialist-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:22px;
}

.specialist-card{
  background:var(--white);
  border:1px solid var(--line);
  overflow:hidden;
}

.specialist-card img{
  width:100%;
  aspect-ratio:4 / 4.7;
  object-fit:cover;
  display:block;
  filter:saturate(.94);
}

.specialist-card div{
  padding:26px;
}

.specialist-card span{
  display:block;
  color:var(--blue);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:12px;
}

.specialist-card p{
  font-size:.95rem;
}

.content-section{
  background:var(--white);
}

.text-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--blue);
  text-decoration:none;
  font-weight:900;
}

.content-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}

.content-grid article{
  min-height:250px;
  padding:30px;
  background:var(--white);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.content-grid span{
  color:var(--blue);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.content-grid h3{
  font-size:1.45rem;
}

.compliance-grid{
  align-items:center;
}

.compliance-list{
  display:grid;
  gap:1px;
  background:var(--dark-line);
  border:1px solid var(--dark-line);
}

.compliance-list div{
  display:flex;
  gap:14px;
  align-items:center;
  min-height:76px;
  padding:20px 24px;
  background:rgba(255,255,255,.04);
}

.compliance-list i{
  color:var(--green);
}

.compliance-list span{
  color:rgba(255,255,255,.82);
  font-weight:750;
}

.contact-section{
  background:
    radial-gradient(circle at 82% 12%, rgba(255,255,255,.22), transparent 24%),
    linear-gradient(135deg, #0875e1 0%, #12b8c4 58%, #87c829 120%);
}

.contact-section .section-kicker,
.contact-section h2{
  color:var(--white);
}

.contact-section p{
  color:rgba(255,255,255,.88);
}

.contact-grid{
  align-items:start;
}

.contact-form{
  padding:38px;
  background:var(--white);
  color:var(--ink);
  box-shadow:0 28px 70px rgba(0,48,96,.22);
}

.contact-form label{
  color:var(--navy);
  font-size:.86rem;
  font-weight:850;
  margin-bottom:8px;
}

.form-control{
  min-height:52px;
  border:1px solid var(--line);
  border-radius:2px;
  padding:13px 14px;
}

.form-control:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 4px rgba(8,117,225,.14);
}

#statusMessage{
  font-weight:850;
}

.whatsapp-float{
  position:fixed;
  right:24px;
  bottom:24px;
  width:58px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--white);
  background:#25d366;
  border-radius:50%;
  font-size:1.7rem;
  text-decoration:none;
  box-shadow:0 16px 34px rgba(0,0,0,.22);
  z-index:50;
  transition:.22s;
}

.whatsapp-float:hover{
  color:var(--white);
  transform:translateY(-3px) scale(1.04);
}

/* ── FOOTER ─────────────────────────────── */
    .footer {
      background: var(--bg);
      color: var(--muted);
      font-family: 'DM Sans', sans-serif;
      font-size: .925rem;
      position: relative;
      overflow: hidden;
    }
 
    /* subtle diagonal light sweep */
    .footer::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 80% 50% at 50% -10%, rgba(184,154,90,.07) 0%, transparent 70%);
      pointer-events: none;
    }
 
    .footer-inner {
      max-width: 1100px;
      margin: 0 auto;
      padding: 72px 32px 0;
    }
 
    /* ── TOP BAND: logo + tagline centered ── */
    .footer-brand {
      text-align: center;
      padding-bottom: 52px;
      border-bottom: 1px solid var(--border);
    }
 
    .footer-brand img {
      height: 80px;
      width: auto;
      display: inline-block;
      margin-bottom: 18px;
      /* gold tint via filter if image is white/transparent */
      filter: brightness(1) drop-shadow(0 0 12px rgba(184,154,90,.25));
    }
 
    .footer-brand p {
      font-size: 1rem;
      color: var(--muted);
      letter-spacing: .02em;
      font-weight: 300;
      max-width: 380px;
      margin: 0 auto;
      line-height: 1.65;
    }
 
    /* ── MIDDLE GRID: links + contato + social ── */
    .footer-grid {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 0;
      padding: 52px 0;
      border-bottom: 1px solid var(--border);
      text-align: center;
    }
 
    .footer-col {
      padding: 0 32px;
    }
 
    .footer-col + .footer-col {
      border-left: 1px solid var(--border);
    }
 
    .footer-col h5 {
      font-family: 'DM Sans', sans-serif;
      font-size: .72rem;
      font-weight: 700;
      letter-spacing: .2em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 24px;
    }
 
    .footer-col a,
    .footer-col span {
      display: block;
      color: var(--muted);
      text-decoration: none;
      margin-bottom: 12px;
      font-weight: 300;
      transition: color .2s ease;
      line-height: 1.5;
    }
 
    .footer-col a:hover {
      color: var(--white);
    }
 
    /* social icons */
    .footer-social {
      display: flex;
      gap: 12px;
      justify-content: center;
      margin-top: 4px;
    }
 
    .footer-social a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 44px;
      height: 44px;
      color: var(--muted) !important;
      border: 1px solid rgba(184,154,90,.25);
      border-radius: 4px;
      font-size: 1.05rem;
      margin-bottom: 0 !important;
      transition: color .2s, border-color .2s, background .2s !important;
    }
 
    .footer-social a:hover {
      color: var(--gold) !important;
      border-color: var(--gold);
      background: rgba(184,154,90,.07);
    }
 
    /* ── BOTTOM BAR ── */
    .footer-bottom {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 16px;
      padding: 22px 0 28px;
      font-size: .8rem;
      color: rgba(255,255,255,.3);
      letter-spacing: .03em;
    }
 
    .footer-bottom span {
      color: rgba(255,255,255,.3);
    }
 
    .footer-bottom .dot {
      width: 3px;
      height: 3px;
      border-radius: 50%;
      background: var(--gold);
      opacity: .5;
      flex-shrink: 0;
    }
 
    /* ── RESPONSIVE ── */
    @media (max-width: 768px) {
      .footer-grid {
        grid-template-columns: 1fr;
        gap: 40px;
      }
 
      .footer-col {
        padding: 0;
        border-left: none !important;
      }
 
      .footer-col + .footer-col {
        border-left: none;
        border-top: 1px solid var(--border);
        padding-top: 40px;
      }
 
      .footer-bottom {
        flex-direction: column;
        text-align: center;
        gap: 8px;
      }
 
      .footer-bottom .dot { display: none; }
    }

    .footer-credit {
      color: rgba(255,255,255,.45);
      text-decoration: none;
      transition: color .2s;
    }

    .footer-credit:hover {
      color: #b89a5a;
    }

@media(max-width:1199px){
  .hero-inner,
  .about-grid,
  .thesis-grid,
  .journey-grid,
  .contact-grid,
  .compliance-grid,
  .section-title-row{
    grid-template-columns:1fr;
  }

  .timeline{
    grid-template-columns:repeat(3, 1fr);
  }
}

@media(max-width:991px){
  .navbar-collapse{
    padding-top:18px;
  }

  .nav-link{
    margin-left:0;
  }

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

  .nav-cta{
    margin-top:10px;
  }

  .hero{
    min-height:auto;
  }

  .hero-inner{
    padding-top:132px;
    gap:42px;
  }

  .numbers-grid,
  .specialist-grid,
  .content-grid,
  .footer-grid{
    grid-template-columns:1fr 1fr;
  }

  .solution-item{
    grid-template-columns:56px 1fr 42px;
  }

  .solution-item p{
    grid-column:2 / -1;
  }

  .thesis-card{
    grid-template-columns:1fr;
  }

  .thesis-card div + div{
    border-left:0;
    border-top:1px solid var(--dark-line);
  }

  .hero-compass{
    margin-left:0;
  }
}

@media(max-width:575px){
  .hero h1{
    font-size:2.65rem;
  }

  .section{
    padding:78px 0;
  }

  .hero-compass,
  .contact-form,
  .thesis-card div{
    padding:24px;
  }

  .numbers-grid,
  .timeline,
  .specialist-grid,
  .content-grid,
  .footer-grid{
    grid-template-columns:1fr;
  }

  .journey-card{
    padding:36px 28px 72px;
  }

  .journey-carousel .carousel-indicators{
    left:28px;
  }

  .solution-item{
    grid-template-columns:1fr 42px;
    gap:12px;
    padding-left:18px;
  }

  .solution-item span{
    grid-column:1 / -1;
  }

  .solution-item p{
    grid-column:1 / -1;
  }

  .btn{
    width:100%;
  }

  .footer-bottom{
    flex-direction:column;
  }

  .whatsapp-float{
    right:18px;
    bottom:18px;
  }
}
