body{background:#fff}
:root{--soft-blue:#397fa8;--soft-blue-2:#5b9abb;--soft-blue-dark:#285d7c;--soft-sky:#edf6fa;--warm-accent:#c58c68}
.site-header{width:100%;max-width:none;height:84px;margin:0;padding:0 5vw;top:0;left:0;right:0;border:0;border-radius:0;color:#fff;background:var(--soft-blue);box-shadow:none}
.logo-placeholder{color:#fff;border-color:rgba(255,255,255,.65);background:rgba(255,255,255,.1)}
.nav{padding:0;border-radius:0;background:transparent;box-shadow:none}
.nav a{color:rgba(255,255,255,.9)}.nav a:hover{color:#fff;background:rgba(255,255,255,.13)}
.nav .nav-cta{color:var(--soft-blue-dark);background:#fff}.nav .nav-cta:after{background:var(--warm-accent)}
.hero{width:100%;max-width:none;min-height:650px;margin:0;padding:70px 5vw;color:#fff;border:0;border-radius:0;background:linear-gradient(135deg,var(--soft-blue),var(--soft-blue-2));box-shadow:none}
.hero .eyebrow{color:#fff;background:rgba(255,255,255,.14)}.hero h1,.hero em{color:#fff}.hero-copy>p{color:rgba(255,255,255,.85)}
.hero .primary{color:var(--soft-blue-dark);background:#fff}.hero .primary:after{background:var(--warm-accent)}.hero .secondary{color:#fff;border:1px solid rgba(255,255,255,.38);background:transparent}
.hero-stats div{color:#fff;background:transparent}.hero-stats strong,.hero-stats span{color:#fff}
.hero-media{min-height:520px;padding-top:0;overflow:hidden;border:0;border-radius:20px;background:#fff;box-shadow:0 22px 44px rgba(5,78,126,.18)}
.browser-bar{display:none}.hero-media img{width:100%}
.trust-strip{width:100%;max-width:none;min-height:66px;margin:0;border:0;border-radius:0;background:var(--soft-blue-dark)}.trust-strip i{background:#9fc8dc}.trust-strip i:nth-of-type(odd){background:var(--warm-accent)}
main>.section,.coverage,.results,.contact{width:100%;max-width:none;margin:0;border-radius:0;box-shadow:none}
main>.section{padding:100px 5vw;background:#fff}main>.section:nth-of-type(even){background:var(--soft-sky)}
.about-visual,.catalog-grid article,.service-grid article,.service-grid article:first-child,.service-grid article:last-child,.faq-list details{box-shadow:none}
.coverage,.results,.contact{padding:90px 8vw;background:linear-gradient(135deg,var(--soft-blue),var(--soft-blue-2))}
.results{grid-template-columns:.75fr 1.25fr}.result-metrics article{border:1px solid rgba(255,255,255,.3);border-radius:15px;background:rgba(255,255,255,.1)}
.faq-list{background:transparent}
footer{width:100%;max-width:none;margin:0;padding:35px 5vw;border-radius:0;background:#fff}
@media(max-width:980px){.nav{padding:12px;border-radius:14px;background:var(--soft-blue-dark)}.results{grid-template-columns:1fr}}
@media(max-width:620px){.site-header,.hero,.trust-strip,main>.section,.coverage,.results,.contact,footer{width:100%;margin:0}.hero,main>.section,.coverage,.results,.contact{padding-left:20px;padding-right:20px}}

/* Minimal accent cleanup */
em,.hero em{color:#fff}.section em,.process em,.catalog em{color:var(--soft-blue)}
.eyebrow,.catalog-main span,.category-number{color:var(--soft-blue)}.eyebrow:before{background:var(--warm-accent)}
.service-grid article:nth-child(2),.catalog-grid article:nth-child(3){background:linear-gradient(145deg,var(--soft-blue-dark),var(--soft-blue))}
.service-grid article:nth-child(even) .service-icon{background:var(--soft-blue)}.service-grid article:nth-child(4){border-top-color:var(--warm-accent)}
.process-flow article:nth-child(2) .process-dot{background:var(--warm-accent)}
.result-metrics article:nth-child(2) strong{color:#f0d4c3}
.map-pin:nth-child(even){background:#f0d4c3;box-shadow:0 0 0 8px rgba(240,212,195,.18)}
.whatsapp-card{border-left-color:rgba(255,255,255,.35)}

/* Premium wide layout with reduced side whitespace */
.site-header{padding-left:2.5vw;padding-right:2.5vw}
.hero{padding-left:2.5vw;padding-right:2.5vw;grid-template-columns:.82fr 1.18fr;gap:3vw}
.hero-copy{max-width:650px}
.hero-media{min-height:560px}
.hero-media img{width:104%}
.trust-strip{padding-left:2.5vw;padding-right:2.5vw}
main>.section{padding-left:3vw;padding-right:3vw}
.coverage,.results,.contact{padding-left:4vw;padding-right:4vw}
.section-heading{grid-template-columns:1.1fr .6fr;gap:0px}
.about{grid-template-columns:.8fr 1.2fr;gap:4vw}
.service-grid{gap:14px}
.catalog-grid{gap:14px}
footer{padding-left:2.5vw;padding-right:2.5vw}

@media(min-width:1500px){
  .site-header,.hero,.trust-strip,main>.section,.coverage,.results,.contact,footer{padding-left:4vw;padding-right:4vw}
}

@media(max-width:980px){
  .hero,main>.section,.coverage,.results,.contact{padding-left:24px;padding-right:24px}
  .hero{grid-template-columns:1fr}
}

@media (max-width:1440px) {
  .connection-card strong {
    margin-top: -40px;
  }
}

@media (max-width:1024px) {
  .connection-card strong {
    margin-top: -70px;
  }
}


/* White-first identity: blue only for typography and dividers */


#inicio {
  margin: -70px 0 0 0;
}

#sobre {
  margin: -20px 0 0 0;
}






.site-header {
  color: var(--ink);
  background: #fff;
  border-bottom: 1px solid #d8e7ee;
}

.logo-placeholder {
  color: var(--soft-blue);
  border-color: #9fc6d8;
  background: #fff;
}

.nav {
  background: transparent;
}

.nav a {
  color: #557486;
}

.nav a:hover {
  color: var(--soft-blue);
  background: var(--soft-sky);
}

.nav .nav-cta {
  color: #fff;
  background: var(--soft-blue);
}

.hero {
  color: var(--ink);
  background: #fff;
  border-bottom: 1px solid #d8e7ee;
}

.hero .eyebrow {
  color: var(--soft-blue);
  border: 1px solid #c9e0ea;
  background: #fff;
}

.hero h1 {
  color: var(--ink);
}

.hero em {
  color: var(--soft-blue);
}

.hero-copy > p {
  color: var(--muted);
}

.hero .primary {
  color: #fff;
  background: var(--soft-blue);
}

.hero .secondary {
  color: var(--soft-blue-dark);
  border-color: #bcd5e0;
  background: #fff;
}

.hero-stats strong {
  color: var(--soft-blue);
}

.hero-stats span {
  color: var(--muted);
}

.trust-strip {
  color: var(--soft-blue-dark);
  border-bottom: 1px solid #d8e7ee;
  background: #fff;
  margin-bottom: 0px;
}

.trust-strip strong {
  color: var(--soft-blue);
  background: transparent;
}

main > .section,
main > .section:nth-of-type(even),
.coverage,
.results,
.contact {
  color: var(--ink);
  background: #fff;
  border-bottom: 1px solid #d8e7ee;
}

.coverage,
.results,
.contact {
  border-top: 0;
}

.coverage h2,
.results h2,
.contact h2 {
  color: var(--ink);
}

.coverage h2 em {
  color: var(--soft-blue);
}

.coverage p,
.contact p {
  color: var(--muted);
}

.coverage .eyebrow,
.results .eyebrow,
.contact .eyebrow {
  color: var(--soft-blue);
}

.coverage li {
  color: var(--soft-blue-dark);
  border: 1px solid #c9e0ea;
  background: #fff;
}

.map {
  color: #fff;
  background: linear-gradient(145deg, var(--soft-blue-2), var(--soft-blue));
  box-shadow: 0 0 0 25px rgba(91,154,187,.05), 0 0 0 50px rgba(91,154,187,.025);
}

.map.brazil-map {
  min-height: 460px;
  padding: 24px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid #d8e8ee;
  border-radius: 26px;
  background: linear-gradient(145deg,#fff,#f1f8fb);
  box-shadow: 0 22px 45px rgba(40,93,124,.1);
}

.map.brazil-map img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.map-visual {
  width: min(100%,585px);
  aspect-ratio: 3 / 2;
  position: relative;
}

.state-labels {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.state-labels span {
  position: absolute;
  left: var(--x);
  top: var(--y);
  transform: translate(-50%,-50%);
  color: #fff;
  font-size: clamp(7px,.72vw,11px);
  line-height: 1;
  font-weight: 800;
  letter-spacing: -.2px;
  text-shadow: 0 1px 2px rgba(4,48,101,.9),0 0 3px rgba(4,48,101,.8);
}

.state-labels .state-label-small {
  font-size: clamp(6px,.58vw,9px);
}

.map.brazil-map small {
  position: static;
  color: var(--soft-blue-dark);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.result-metrics article {
  border: 0;
  border-left: 2px solid #bad5e1;
  border-radius: 0;
  background: transparent;
}

.result-metrics strong {
  color: var(--soft-blue);
}

.result-metrics span {
  color: var(--muted);
}

.whatsapp-card {
  color: var(--ink);
  border-left-color: var(--soft-blue);
  background: var(--soft-sky);
}

.whatsapp-card span,
.whatsapp-card small {
  color: var(--soft-blue);
}

.service-grid article:nth-child(2),
.catalog-grid article:nth-child(3) {
  color: var(--ink);
  border: 1px solid #d3e3eb;
  background: #fff;
}

.service-grid article:nth-child(2) p,
.service-grid article:nth-child(2) b,
.catalog-grid article:nth-child(3) p {
  color: var(--muted);
}

.service-grid article:nth-child(2) .service-icon {
  color: #fff;
  background: var(--soft-blue);
}

.service-icon img {
  width: 75px;
}

@media(max-width:980px) {
  .nav {
    background: #fff;
    border: 1px solid #d8e7ee;
  }
}

/* Subtle lively accents over the white base */
.site-header::after {
  content: "";
  width: 110px;
  height: 3px;
  position: absolute;
  left: 5vw;
  bottom: -1px;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--soft-blue), var(--warm-accent));
}

.hero {
  position: relative;
  overflow: hidden;
}

.hero::before {
  content: "";
  display: block;
  width: 380px;
  height: 380px;
  position: absolute;
  right: -180px;
  top: -190px;
  border: 1px solid rgba(57,127,168,.13);
  border-radius: 50%;
  box-shadow: 0 0 0 55px rgba(57,127,168,.025), 0 0 0 110px rgba(57,127,168,.018);
}

.hero-copy,
.hero-media {
  position: relative;
  z-index: 2;
}

.hero h1 em {
  position: relative;
}

.hero h1 em::after {
  content: "";
  height: 7px;
  position: absolute;
  left: 3px;
  right: 0;
  bottom: 1px;
  z-index: -1;
  border-radius: 8px;
  background: rgba(197,140,104,.22);
}

.hero-media {
  border: 1px solid #d7e7ee;
  background: linear-gradient(145deg,#fff,#f3f9fc);
}

.hero-label {
  border-left: 3px solid var(--warm-accent);
}

.trust-strip i:nth-of-type(odd) {
  background: var(--warm-accent);
}

.values span:nth-child(even) {
  color: #815a43;
  border-color: #ead5c7;
  background: #fcf6f2;
}

.service-grid article {
  transition: transform .25s, border-color .25s, background .25s;
}

.service-grid article:hover {
  transform: translateY(-4px);
  border-color: #9fc7da;
  background: #f8fcfe;
}

.service-grid article:nth-child(4) {
  border-top: 3px solid var(--warm-accent);
}

.process-flow article:nth-child(2) .process-dot {
  background: var(--warm-accent);
}

.catalog-grid article {
  transition: transform .25s, border-color .25s;
}

.catalog-grid article:hover {
  transform: translateY(-4px);
  border-color: #9fc7da;
}

.catalog-grid article:nth-child(3) {
  border-top: 3px solid var(--warm-accent);
}

.result-metrics article:nth-child(2) {
  border-left-color: var(--warm-accent);
}

.result-metrics article:nth-child(2) strong {
  color: var(--warm-accent);
}

.faq-list details[open] {
  border-color: #a9cbd9;
  background: #f8fcfe;
}

.contact {
  position: relative;
  overflow: hidden;
}

.contact::after {
  content: "";
  width: 95px;
  height: 95px;
  position: absolute;
  right: 5vw;
  bottom: -55px;
  border: 14px solid rgba(57,127,168,.08);
  border-radius: 50%;
}

.whatsapp-card {
  position: relative;
  z-index: 2;
  transition: transform .25s, background .25s;
}

.whatsapp-card:hover {
  transform: translateY(-3px);
  background: #e8f4f9;
}

/* Original portfolio imagery */
.catalog-grid .category-visual {
  min-height: 330px;
  padding: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  background: #fff;
}

.catalog-grid .category-visual > div {
  padding: 24px 24px 10px;
  position: relative;
  z-index: 2;
}

.catalog-grid .category-visual h3 {
  margin: 9px 0 5px;
}

.catalog-grid .category-visual p {
  margin: 0;
}

.catalog-grid .category-visual img {
  width: 100%;
  height: 190px;
  align-self: end;
  display: block;
  object-fit: cover;
  object-position: center;
  mix-blend-mode: multiply;
  transition: transform .35s ease;
}

.catalog-grid .category-visual:hover img {
  transform: scale(1.025);
}

/* Partnership co ntact banner */
.contact.contact-photo {
  min-height:  700px;
  padding-top: -100px;
  padding-bottom: 76px;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(380px,44%);
  grid-template-rows: auto auto;
  align-content: center;
  justify-items: start;
  gap: 24px;
  color: #fff;
  border: 0;
  background:
    linear-gradient(90deg,rgba(4,25,39,.72) 0%,rgba(4,25,39,.42) 36%,rgba(22,20,20,.08) 62%,transparent 78%),
    url("assets/lioiiii.webp") center / cover no-repeat,
    #071522;
}

.contact.contact-photo::after {
  display: none;
}

.contact.contact-photo::before {
  display: none;
}

.contact.contact-photo > div {
  width: min(580px,100%);
  grid-column: 1;
  position: relative;
  z-index: 2;
}

.contact.contact-photo h2 {
  color: #fff;
}

.contact.contact-photo p {
  color: rgba(255,255,255,.78);
}

.contact.contact-photo .eyebrow {
  color: #e6b992;
}

.contact.contact-photo .whatsapp-card {
  width: min(420px,100%);
  grid-column: 1;
  padding: 20px 22px;
  display: grid;
  grid-template-columns: 54px 1fr;
  align-items: center;
  gap: 16px;
  color: #fff;
  border: 1px solid rgba(255,255,255,.22);
  border-left: 3px solid rgba(255,255,255,.65);
  border-radius: 14px;
  background: rgba(23,178,91,.88);
  backdrop-filter: blur(12px);
  box-shadow: 0 18px 35px rgba(20,10,5,.18);
}

.contact.contact-photo .whatsapp-card .whatsapp-copy > span,
.contact.contact-photo .whatsapp-card small {
  color: rgba(255,255,255,.82);
}

.contact.contact-photo .whatsapp-card:hover {
  background: #20bd65;
}

.contact.contact-photo .whatsapp-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255,255,255,.17);
}

.contact.contact-photo .whatsapp-icon svg {
  width: 31px;
  height: 31px;
  fill: #fff;
}

.contact.contact-photo .whatsapp-copy {
  display: grid;
  gap: 3px;
}

.contact.contact-photo .whatsapp-copy strong {
  line-height: 1.15;
  color: #fff;
}

/* Hero product image: preserve the full composition inside the frame */
.hero-media {
  padding: 0;
}

.hero-media img {
  width: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
}


@media(max-width:1025px) {
  
  .trust-strip {
    justify-content:left;
  }

  .trust-strip strong {
    width: 100px;
  }

  .trust-strip span{
    font-size: 10px;
  }

  .trust-strip img {
    height: 16px;
    margin-bottom: -2px;
  }
}


@media(max-width:980px) {
  .hero-media {
    padding: 0;
  }

  .hero-media img {
    width: 100%;
    max-width: 100%;
    max-height: 100%;
  }
}

@media(max-width:768px) {
  
  .trust-strip {
    justify-content:left;
  }

  .trust-strip strong {
    font-size: 10px;
  }

  .trust-strip span{
    font-size: 10px;
    width: 140px;
  }

  .trust-strip img {
    height: 16px;
    margin-bottom: 4px;
  }
}





/* Mobile cascade: isolated from desktop */
@media(max-width:720px) {
  .site-header {
    height: 72px;
    padding: 0 18px;
  }

  .logo-placeholder {
    width: 150px;
    height: 46px;
  margin-bottom: 16px;
    padding: 0;
    display: grid;
    place-items: center;
    font-size: 10px;
  }

  .menu-toggle {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    color: var(--soft-blue-dark);
    border: 1px solid #d6e6ed;
    background: #fff;
  }

  .nav {
    width: calc(100% - 36px);
    top: 64px;
    right: 18px;
    gap: 4px;
    padding: 10px;
    border: 1px solid #d6e6ed;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 35px rgba(40,93,124,.14);
  }

  .nav a,
  .nav .nav-cta {
    width: 100%;
    margin: 0;
    padding: 13px 14px;
    color: var(--soft-blue-dark);
    background: transparent;
  }

  .nav .nav-cta {
    color: #fff;
    background: var(--soft-blue);
  }

  .hero {
    min-height: auto;
    padding: 54px 18px 42px;
    gap: 34px;
    grid-template-columns: 1fr;
  }

  .hero::before {
    width: 240px;
    height: 240px;
    right: -145px;
    top: -100px;
  }

  .hero-copy {
    max-width: none;
  }

  .hero .eyebrow,
  .eyebrow {
    font-size: 10px;
    letter-spacing: 1.1px;
  }

  .hero h1,
  h1 {
    margin: 16px 0;
    font-size: clamp(39px, 12vw, 50px);
    line-height: 1.02;
    letter-spacing: -2.7px;
  }

  h2,
  .contact h2 {
    margin: 14px 0;
    font-size: clamp(33px, 9.5vw, 43px);
    line-height: 1.06;
    letter-spacing: -2px;
  }

  .hero-copy > p,
  .section-heading p,
  .about-copy > p,
  .coverage p,
  .contact p {
    font-size: 15px;
    line-height: 1.7;
  }

  .hero-actions {
    margin: 25px 0 30px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .hero-actions .button {
    width: 100%;
    min-height: 52px;
  }

  .hero-stats {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .hero-stats div {
    display: flex;
    padding: 13px 20px;
    grid-template-columns: 90px 1fr;
    text-align: center;
    margin: 5px 0;
    border: #1d6e9d41 1px solid;
    border-radius: 20px;
  }

  .hero-stats img{
    margin-top: 0px;
    margin-right: 20px;
  }

  .hero-stats strong {
    padding: 6px 12px 0 12px;
    font-size: 20px;
    width: 200px;
  }

   .hero-stats span {
    padding: 0 12px;
    width: 100px;
  }

  .hero-media {
    min-height: 0;
    aspect-ratio: 1.28 / 1;
    border-radius: 16px;
  }

  .hero-media::before {
    width: 250px;
    height: 250px;
  }

  .hero-media img {
    width: 100%;
    height: auto;
    max-height: 100%;
  }

  .hero-label {
    top: auto;
    right: 10px;
    bottom: 10px;
    max-width: calc(100% - 20px);
    padding: 8px 10px;
    font-size: 9px;
  }

  .trust-strip {
    min-height: auto;
    padding: 22px 18px;
    display: grid;
    grid-template-columns: 1fr;
    justify-items: start;
    gap: 10px;
  }

 .trust-strip img{
  height: 20px;
  margin: 0 8px -8px 6px;
  }

  .trust-strip strong {
    margin-bottom: 3px;
  }

  .trust-strip i {
    display: none;
  }

  main > .section,
  .coverage,
  .results,
  .contact {
    padding: 0px 18px;
  }

  .about,
  .section-heading,
  .coverage,
  .results,
  .faq,
  .contact {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .about-copy {
    order: 1;
  }

  .about-visual {
    order: 2;
    min-height: 340px;
    border-radius: 18px;
  }

  .connection-card {
    width: calc(100% - 32px);
    padding: 24px;
    border-radius: 16px;
  }

  .values {
    gap: 7px;
  }

  .values span {
    padding: 8px 10px;
    font-size: 10px;
  }

  .section-heading {
    margin-bottom: 28px;
    align-items: start;
  }

  .service-grid,
  .process-flow,
  .catalog-grid,
  .result-metrics {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .service-grid article,
  .service-grid article:first-child,
  .service-grid article:last-child {
    min-height: 0;
    padding: 22px;
    border-radius: 16px;
  }

  .service-grid h3 {
    margin-top: 28px;
  }

  .process-heading {
    margin-bottom: 28px;
  }

  .process-flow::before {
    display: none;
  }

  .process-flow article {
    min-height: 0;
    padding: 22px;
    border: 1px solid #d8e8ee;
    border-radius: 16px;
    background: #fff;
  }

  .process-flow article > span {
    position: static;
    display: block;
    margin-bottom: 12px;
  }

  .process-dot {
    display: none;
  }

  .map {
    min-height: 300px;
    border-radius: 22px;
  }

  .map.brazil-map {
    min-height: 330px;
    padding: 16px;
    border-radius: 18px;
  }

  .map.brazil-map img {
    height: 100%;
  }

  .map-visual {
    width: 100%;
  }

  .state-labels span {
    font-size: clamp(5px,2vw,8px);
  }

  .state-labels .state-label-small {
    font-size: clamp(4px,1.7vw,7px);
  }

  .map strong {
    font-size: 34px;
    letter-spacing: 4px;
  }

  .catalog-main {
    grid-column: auto;
    grid-row: auto;
    min-height: 0;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 18px;
  }

  .catalog-main img {
    width: 100%;
    height: 180px;
    flex: 0 0 180px;
    object-fit: contain;
    border-bottom: 1px solid #e0ebf0;
  }

  .catalog-main div {
    position: static;
    padding: 0 2px 4px;
  }

  .catalog-grid article,
  .catalog-grid article:not(.catalog-main) {
    min-height: 190px;
    padding: 22px;
    border-radius: 16px;
  }

  .catalog-grid .category-visual,
  .catalog-grid .category-visual:not(.catalog-main) {
    min-height: 350px;
    padding: 0;
  }

  .catalog-grid .category-visual > div {
    padding: 22px 22px 8px;
  }

  .catalog-grid .category-visual img {
    height: 210px;
  }

  .result-metrics article {
    min-height: 150px;
    padding: 22px;
    border-left-width: 3px;
    border-radius: 14px;
  }

  .faq-list {
    padding: 0 18px;
    border-radius: 16px;
  }

  .faq-list summary {
    padding: 20px 0;
    font-size: 14px;
  }

  .contact {
    margin: 0;
  }

  .whatsapp-card {
    padding: 22px;
    border-radius: 16px;
  }

  .whatsapp-card strong {
    font-size: 24px;
  }

  .contact.contact-photo {
    min-height: 720px;
    padding: 58px 18px;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    align-content: end;
    background:
      linear-gradient(180deg,rgba(4,25,39,.08) 0%,rgba(4,25,39,.5) 48%,rgba(4,22,34,.96) 100%),
      url("assets/lioiiii.webp?v=20260623-bg2") 70% center / cover no-repeat,
      #071522;
  }

  .contact.contact-photo::before {
    display: none;
  }

  .contact.contact-photo::after {
    display: none;
  }

  .contact.contact-photo > div,
  .contact.contact-photo .whatsapp-card {
    width: 100%;
    grid-column: 1;
  }

  .contact.contact-photo > div {
    grid-row: 1;
  }

  .contact.contact-photo .whatsapp-card {
    grid-row: 2;
  }

  .contact.contact-photo h2 {
    font-size: clamp(34px,9.5vw,42px);
  }

  footer {
    padding: 32px 18px;
    display: grid;
    grid-template-columns: 1fr;
    align-items: start;
    gap: 12px;
  }
}

/* Balanced portfolio cards: unique imagery, consistent presentation */
.catalog-grid {
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
}

.catalog-grid .category-visual,
.catalog-grid .category-visual:nth-child(1),
.catalog-grid .category-visual:nth-child(2),
.catalog-grid .category-visual:nth-child(3) {
  min-height: 410px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 0;
  color: var(--ink);
  border: 1px solid #d5e5ec;
  border-top: 1px solid #d5e5ec;
  border-radius: 20px;
  background: #fff !important;
  box-shadow: 0 18px 38px rgba(40,93,124,.07);
}

.catalog-grid .category-visual img {
  width: 100%;
  height: 225px;
  order: 1;
  flex: 0 0 225px;
  object-fit: contain;
  object-position: center;
  border-radius: 13px;
  background: linear-gradient(145deg,#fff,#f3f9fc);
  mix-blend-mode: normal;
}

.catalog-grid .category-visual > div {
  order: 2;
  padding: 22px 12px 14px;
}

.catalog-grid .category-visual h3 {
  margin: 9px 0 8px;
  font-size: 23px;
}

.catalog-grid .category-visual p,
.catalog-grid .category-visual:nth-child(3) p {
  margin: 0;
  color: var(--muted);
}

.catalog-grid .category-visual:nth-child(1) .category-number {
  color: var(--warm-accent);
}

@media(max-width:980px) {
  .catalog-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media(max-width:720px) {
  .catalog-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .catalog-grid .category-visual,
  .catalog-grid .category-visual:not(.catalog-main),
  .catalog-grid .category-visual:nth-child(1),
  .catalog-grid .category-visual:nth-child(2),
  .catalog-grid .category-visual:nth-child(3) {
    min-height: 0;
    padding: 10px;
  }

  .catalog-grid .category-visual img {
    height: 205px;
    flex-basis: 205px;
    border-radius: 11px;
  }

  .catalog-grid .category-visual > div {
    padding: 19px 10px 13px;
  }
}

/* Mobile polish: final layer, desktop-safe */
@media(max-width:720px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .site-header {
    height: 78px;
    padding: 0 18px;
    border-bottom: 1px solid #d9e8ee;
    background: rgba(255,255,255,.96);
  }

  .site-header::after {
    left: 18px;
    width: 150px;
  }

  .logo-placeholder {
    width: 152px;
    height: 44px;
    border-radius: 12px;
  }

  .menu-toggle {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    color: var(--soft-blue-dark);
    border: 1px solid #cfe3ec;
    background: #fff;
    box-shadow: 0 10px 22px rgba(40,93,124,.08);
  }

  .nav {
    width: calc(100% - 36px);
    top: 84px;
    right: 18px;
    padding: 10px;
    gap: 5px;
    border: 1px solid #d6e6ed;
    border-radius: 18px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 24px 45px rgba(40,93,124,.16);
  }

  .nav a,
  .nav .nav-cta {
    width: 100%;
    min-height: 44px;
    padding: 12px 14px;
    color: var(--soft-blue-dark);
    border-radius: 12px;
    background: transparent;
  }

  .nav .nav-cta {
    color: #fff;
    background: linear-gradient(135deg,#2d8abd,#1d6f9d);
  }

  .hero,
  main > .section,
  .coverage,
  .results,
  .contact {
    padding-left: 18px;
    padding-right: 18px;
  }

  .hero {
    padding-top: 46px;
    padding-bottom: 46px;
    gap: 28px;
  }

  .hero h1,
  h1 {
    font-size: clamp(38px,11.2vw,48px);
    line-height: 1.03;
    letter-spacing: -2.2px;
  }

  h2,
  .contact h2 {
    font-size: clamp(31px,8.8vw,40px);
    line-height: 1.08;
    letter-spacing: -1.7px;
  }

  .hero-copy > p,
  .section-heading p,
  .about-copy > p,
  .coverage p,
  .contact p {
    font-size: 15px;
    line-height: 1.68;
  }

  .hero-actions {
    margin: 22px 0 26px;
    grid-template-columns: 1fr;
  }

  .hero-actions .button {
    min-height: 52px;
    border-radius: 13px;
  }

  .hero-media {
    min-height: 0;
    aspect-ratio: 1.1 / 1;
    padding: 12px;
    border-radius: 20px;
  }

  .hero-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .hero-label {
    right: 12px;
    bottom: 12px;
    top: auto;
    max-width: calc(100% - 24px);
  }

  .trust-strip {
    padding: 18px;
    gap: 8px;
    border-radius: 0;
  }

  .trust-strip span {
    padding: 8px 10px 12px 10px;
    border: 1px solid #d6e6ed;
    border-radius: 999px;
    background: #fff;
    font-size: 10px;
  }

  main > .section,
  .coverage,
  .results {
    padding-top: 58px;
    padding-bottom: 58px;
  }

  .section-heading {
    gap: 14px;
    margin-bottom: 24px;
  }

  .about {
    gap: 24px;
  }

  .about-copy {
    order: 1;
  }

  .about-visual {
    order: 2;
    min-height: 260px;
    border-radius: 20px;
  }

  .connection-card {
    width: calc(100% - 28px);
    padding: 22px;
  }

  .values {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
  }

  .values span {
    min-height: 34px;
    display: grid;
    place-items: center;
    text-align: center;
  }

  .service-grid,
  .process-flow,
  .catalog-grid,
  .result-metrics {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .service-grid article,
  .service-grid article:first-child,
  .service-grid article:last-child,
  .process-flow article,
  .result-metrics article {
    padding: 22px;
    border-radius: 18px;
  }

  .service-grid h3 {
    margin-top: 34px;
  }

  .coverage {
    gap: 26px;
    background: #fff;
  }

  .coverage ul {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .coverage li {
    width: 100%;
    text-align: center;
  }

  .map.brazil-map {
    min-height: 0;
    padding: 14px 8px 16px;
    border-radius: 20px;
  }

  .map-visual {
    width: 112%;
    max-width: none;
    margin-left: -6%;
    aspect-ratio: 3 / 2;
  }

  .map.brazil-map img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .state-labels span {
    font-size: clamp(5px,1.8vw,7px);
    text-shadow: 0 1px 2px rgba(0,31,72,.95), 0 0 2px rgba(0,31,72,.85);
  }

  .state-labels .state-label-small {
    font-size: clamp(4px,1.45vw,6px);
  }

  .map.brazil-map small {
    margin-top: 4px;
    font-size: 9px;
  }

  .catalog-grid {
    gap: 14px;
  }

  .catalog-grid .category-visual,
  .catalog-grid .category-visual:not(.catalog-main),
  .catalog-grid .category-visual:nth-child(1),
  .catalog-grid .category-visual:nth-child(2),
  .catalog-grid .category-visual:nth-child(3) {
    min-height: 0;
    padding: 10px;
    display: flex;
    flex-direction: column;
    border-radius: 18px;
  }

  .catalog-grid .category-visual img {
    width: 100%;
    height: 190px;
    flex: 0 0 190px;
    order: 1;
    object-fit: contain;
    object-position: center;
    border-radius: 12px;
  }

  .catalog-grid .category-visual > div {
    order: 2;
    padding: 18px 10px 10px;
  }

  .catalog-grid .category-visual h3 {
    font-size: 22px;
  }

  .results {
    gap: 22px;
    border-radius: 0;
  }

  .faq-list {
    padding: 0 18px;
  }

  .contact.contact-photo {
    min-height: 690px;
    padding: 42px 18px 34px;
    align-content: end;
    gap: 18px;
    background:
      linear-gradient(180deg,rgba(4,22,34,.02) 0%,rgba(4,22,34,.28) 34%,rgba(4,22,34,.92) 72%,#041622 100%),
      url("assets/lioiiii.webp?v=20260623-bg2") 72% top / cover no-repeat,
      #071522;
  }

  .contact.contact-photo > div {
    width: 100%;
  }

  .contact.contact-photo h2 {
    font-size: clamp(31px,9vw,40px);
    letter-spacing: -1.8px;
  }

  .contact.contact-photo .whatsapp-card {
    width: 100%;
    grid-template-columns: 46px 1fr;
    gap: 12px;
    padding: 16px;
    border-radius: 16px;
  }

  .contact.contact-photo .whatsapp-icon {
    width: 46px;
    height: 46px;
  }

  .contact.contact-photo .whatsapp-icon svg {
    width: 26px;
    height: 26px;
  }

  .contact.contact-photo .whatsapp-copy strong {
    font-size: 22px;
    color: #fff;
  }

  .contact.contact-photo .whatsapp-card small {
    font-size: 10px;
    letter-spacing: .4px;
  }

  footer {
    padding: 30px 18px;
  }
}

@media(max-width:420px) {
  .hero,
  main > .section,
  .coverage,
  .results,
  .contact {
    padding-left: 16px;
    padding-right: 16px;
  }

  .hero h1,
  h1 {
    font-size: clamp(36px,11.5vw,44px);
  }

  h2,
  .contact h2 {
    font-size: clamp(30px,9.5vw,38px);
  }

  .hero-media {
    aspect-ratio: 1 / .95;
  }

  .map-visual {
    width: 118%;
    margin-left: -9%;
  }

  .state-labels span {
    font-size: clamp(4px,1.7vw,6px);
  }

  .catalog-grid .category-visual img {
    height: 176px;
    flex-basis: 176px;
  }

  .contact.contact-photo {
    min-height: 660px;
    background-position: 67% top;
  }

  .contact.contact-photo .whatsapp-card {
    grid-template-columns: 42px 1fr;
    padding: 14px;
  }

  .contact.contact-photo .whatsapp-icon {
    width: 42px;
    height: 42px;
  }

  .contact.contact-photo .whatsapp-copy strong {
    font-size: 20px;
  }
}

/* Premium footer */
.site-footer {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 66px 5vw 28px;
  display: block;
  color: rgba(255,255,255,.78);
  border: 0;
  border-top: 1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 12% 0%, rgba(58,142,184,.22), transparent 30%),
    radial-gradient(circle at 92% 20%, rgba(228,146,92,.13), transparent 28%),
    linear-gradient(135deg,#061a29 0%,#0b2e42 52%,#071723 100%);
  box-shadow: none;
}

.footer-main {
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(170px,.45fr) minmax(260px,.65fr);
  gap: 48px;
  align-items: start;
}

.footer-brand {
  display: grid;
  gap: 18px;
  max-width: 590px;
}

.footer-logo-placeholder {
  width: 300px;
  height: 250px;
  display: grid;
  place-items: center; 
  background-color: #fff;
  padding: 20px 20px 20px 15px;
  border-radius: 20px;
}

.footer-logo-placeholder img{
  width: 250px;
  height: 200px;
  
}

.footer-brand p {
  max-width: 560px;
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: 15px;
  line-height: 1.8;
  font-weight: 500;
}

.footer-links,
.footer-contact {
  display: grid;
  gap: 12px;
}

.footer-contact img{
  width: 25px;
  margin-right: 8px;
  position: relative;
  top: 8px;
}

.footer-links strong,
.footer-contact strong {
  margin-bottom: 6px;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.footer-links a,
.footer-contact a {
  width: fit-content;
  color: rgba(255,255,255,.74);
  font-size: 14px;
  font-weight: 700;
  transition: color .2s ease, transform .2s ease;
}

.footer-links a:hover,
.footer-contact a:hover {
  color: #fff;
  transform: translateX(3px);
}



.footer-cta {
  margin-top: 16px;
  padding: 13px 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  border-radius: 12px;
  background: linear-gradient(135deg,#189f5a,#18b767);
  box-shadow: 0 16px 30px rgba(0,0,0,.18);
}

.footer-cta:hover {
  transform: translateY(-2px) !important;
}

.footer-bottom {
  margin-top: 52px;
  padding-top: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: rgba(255,255,255,.52);
  border-top: 1px solid rgba(255,255,255,.1);
  font-size: 12px;
  font-weight: 700;
}

@media(max-width:980px) {
  .site-footer {
    padding: 54px 24px 26px;
  }

  .footer-main {
    grid-template-columns: 1fr 1fr;
    gap: 34px;
  }

  .footer-brand {
    grid-column: 1 / -1;
  }
}

@media(max-width:720px) {
  .site-footer {
    padding: 44px 18px 24px;
  }

  .footer-main {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .footer-logo-placeholder {
    width: 300px;
    height: 250px;
  }


  .footer-brand p {
    font-size: 14px;
  }

  .footer-links,
  .footer-contact {
    gap: 10px;
  }

  .footer-cta {
    width: 100%;
    min-height: 50px;
  }

  .footer-bottom {
    margin-top: 34px;
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Clean scroll animations */
@media (prefers-reduced-motion: no-preference) {
  .reveal-on-scroll {
    opacity: 0;
    transform: translate3d(0,34px,0) scale(.985);
    filter: blur(9px);
    transition:
      opacity .9s ease,
      transform .9s cubic-bezier(.16,1,.3,1),
      filter .9s ease;
    transition-delay: var(--reveal-delay,0ms);
    will-change: opacity, transform, filter;
  }

  .reveal-on-scroll.reveal-left {
    transform: translate3d(-38px,0,0) scale(.985);
  }

  .reveal-on-scroll.reveal-right {
    transform: translate3d(38px,0,0) scale(.985);
  }

  .reveal-on-scroll.reveal-card {
    transform: translate3d(0,28px,0) scale(.96);
  }

  .reveal-on-scroll.reveal-pop {
    transform: translate3d(0,30px,0) scale(.94);
  }

  .reveal-on-scroll.is-visible {
    opacity: 1;
    transform: translate3d(0,0,0) scale(1);
    filter: blur(0);
  }

  .hero .reveal-on-scroll {
    transition-duration: 1s;
  }

  .service-grid .reveal-on-scroll,
  .catalog-grid .reveal-on-scroll,
  .result-metrics .reveal-on-scroll,
  .faq-list .reveal-on-scroll {
    transition-duration: .78s;
  }

  .hero-media.reveal-on-scroll.is-visible,
  .about-visual.reveal-on-scroll.is-visible,
  .map.brazil-map.reveal-on-scroll.is-visible {
    animation: softFloatIn 1.05s cubic-bezier(.16,1,.3,1) both;
  }

  .contact.contact-photo .whatsapp-card.reveal-on-scroll.is-visible {
    animation: whatsappGlow 3.2s ease 1s 1;
  }

  .button,
  .nav-cta,
  .footer-cta,
  .whatsapp-card,
  .service-grid article,
  .catalog-grid article,
  .result-metrics article {
    transition:
      transform .25s ease,
      box-shadow .25s ease,
      border-color .25s ease,
      background .25s ease;
  }

  .button:hover,
  .nav-cta:hover,
  .footer-cta:hover {
    transform: translateY(-3px);
  }

  .service-grid article:hover,
  .catalog-grid article:hover,
  .result-metrics article:hover {
    transform: translateY(-7px);
    box-shadow: 0 24px 44px rgba(40,93,124,.12);
  }

  .hero-label {
    animation: labelPulse 4s ease-in-out infinite;
  }

  @keyframes softFloatIn {
    0% {
      transform: translate3d(0,30px,0) scale(.94);
    }
    62% {
      transform: translate3d(0,-5px,0) scale(1.01);
    }
    100% {
      transform: translate3d(0,0,0) scale(1);
    }
  }

  @keyframes labelPulse {
    0%, 100% {
      transform: translateY(0);
      box-shadow: 0 12px 24px rgba(8,43,73,.1);
    }
    50% {
      transform: translateY(-4px);
      box-shadow: 0 18px 32px rgba(8,43,73,.16);
    }
  }

  @keyframes whatsappGlow {
    0% {
      box-shadow: 0 18px 35px rgba(20,10,5,.18);
    }
    35% {
      box-shadow: 0 18px 35px rgba(20,10,5,.18), 0 0 0 9px rgba(35,200,105,.2), 0 0 38px rgba(35,200,105,.28);
    }
    100% {
      box-shadow: 0 18px 35px rgba(20,10,5,.18);
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal-on-scroll {
    opacity: 1;
    transform: none;
    filter: none;
  }
}
