:root{
  --bg:#ffffff;
  --surface:#f2f8fb;
  --surface2:#eaf3f8;
  --text:#0c1b2a;
  --muted:#526274;
  --line:#dfe7f0;
  --blue:#123a53;
  --blue2:#0c2a3d;
  --green:#35b884;
  --green2:#24996d;
  --cyan:#33aac8;
  --amber:#f2b01e;
  --shadow: 0 18px 46px rgba(15,47,68,.12);
  --shadow2: 0 12px 28px rgba(15,47,68,.10);
  --r:16px;
  --r2:22px;
  --container:1120px;
  --section-space:56px;
  --section-space-mobile:42px;
  --topbar-h:44px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Montserrat, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 500;
  color:var(--text);
  background:
    radial-gradient(900px 600px at 10% 0%, rgba(53,184,132,.14), transparent 60%),
    radial-gradient(1000px 700px at 95% 10%, rgba(51,170,200,.12), transparent 55%),
    var(--bg);
  line-height:1.55;
  padding-top: var(--topbar-h);
}
h1,h2,h3{font-weight:700}
p, li{font-weight:500}
.title-accent{
  color: var(--green2);
  background: linear-gradient(180deg, rgba(47,176,127,.14), rgba(47,176,127,0));
  padding: 0 4px;
  border-radius: 8px;
}
img{max-width:100%; height:auto; display:block}
a{color:inherit; text-decoration:none}

.container{max-width:var(--container); margin:0 auto; padding:0 clamp(14px, 2.2vw, 24px)}
.muted{color:var(--muted)}
.small{font-size:.92rem}
.center{text-align:center}

.sr-only{
  position:absolute !important;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0);
  white-space:nowrap; border:0;
}

/* Topbar */
.topbar{
  position:fixed; top:0; left:0; right:0; z-index:60;
  height: var(--topbar-h);
  background: linear-gradient(180deg, rgba(15,47,68,.98), rgba(11,36,52,.98));
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.10);
  overflow:hidden;
}
.topbar__inner{ display:none; }

/* Marquee (efeito do portalreabilitar2) */
.topbar__marquee{
  position:absolute;
  inset:0;
  display:flex;
  width:100%;
  overflow:hidden;
  pointer-events:none;
  opacity:.55;
  z-index:1;
}
.topbar__marqueeInner{
  display:flex;
  flex-wrap:nowrap;
  width:max-content;
  animation: topbar-scroll 50s linear infinite;
}
.topbar:hover .topbar__marqueeInner{ animation-play-state: paused; }
@keyframes topbar-scroll{
  0%{ transform: translateX(0); }
  100%{ transform: translateX(-50%); }
}
.topbar__item{
  display:inline-flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
  padding: 0 26px;
  white-space:nowrap;
}
.topbar__check{
  width:18px;
  height:18px;
  border-radius:50%;
  background: rgba(255,255,255,0.92);
  color: var(--green2);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.65rem;
  font-weight:950;
  flex-shrink:0;
}
.topbar__item:nth-child(3n) .topbar__check{ color: var(--cyan); }
.topbar__item:nth-child(4n) .topbar__check{ color: #31b87a; }
.topbar__item span{ color: rgba(255,255,255,0.92); font-weight:650; }

/* Header */
.header{
  position:sticky; top:var(--topbar-h); z-index:55;
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(10px);
  border-bottom:1px solid rgba(223,231,240,.8);
  transition: box-shadow .2s ease, background .2s ease;
}
.header.is-elevated{box-shadow: var(--shadow2); background: rgba(255,255,255,.86)}
.header__inner{display:flex; align-items:center; gap:14px; padding:12px 0}
.brand{display:flex; align-items:center; min-width:160px}
.brand img{
  height:34px;
  width:auto;
  transform: scale(1.15);
  transform-origin: left center;
}
.header__cta{display:flex; align-items:center}

.nav{margin-left:auto; display:flex; align-items:center; gap:10px}
.nav__links{display:flex; align-items:center; gap:6px}
.nav__link{
  padding:10px 12px;
  border-radius:999px;
  color:var(--muted);
  font-weight:600;
  transition: background .18s ease, transform .18s ease, color .18s ease;
}
.nav__link:hover{background: rgba(15,47,68,.06); color: var(--blue); transform: translateY(-1px)}
.nav__toggle{
  display:none;
  border:1px solid rgba(223,231,240,.9);
  background: rgba(255,255,255,.85);
  border-radius:12px;
  padding:10px 12px;
  cursor:pointer;
}
.nav__toggleLines{display:block; width:20px; height:2px; background: var(--blue); position:relative}
.nav__toggleLines::before,.nav__toggleLines::after{content:""; position:absolute; left:0; width:20px; height:2px; background: var(--blue)}
.nav__toggleLines::before{top:-6px}
.nav__toggleLines::after{top:6px}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:999px;
  padding:13px 18px;
  font-weight:700;
  border:1px solid transparent;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
  will-change: transform;
}
.btn:active{transform: translateY(0) scale(.99)}
.btn--lg{padding:15px 22px; font-size:1rem}
.btn--primary{
  background: linear-gradient(180deg, var(--green), var(--green2));
  color:#053021;
  box-shadow: 0 18px 38px rgba(53,184,132,.30);
}
.btn--primary:hover{transform: translateY(-1px); box-shadow: 0 22px 52px rgba(53,184,132,.34)}
.btn--ghost{
  background: linear-gradient(180deg, rgba(46,167,199,.08), rgba(255,255,255,.82));
  border-color: rgba(46,167,199,.22);
  color: var(--blue);
  box-shadow: 0 10px 22px rgba(15,47,68,.06);
}
.btn--ghost:hover{
  transform: translateY(-1px);
  box-shadow: var(--shadow2);
  background: linear-gradient(180deg, rgba(47,176,127,.14), rgba(255,255,255,.95));
  border-color: rgba(47,176,127,.3);
}

/* Hero */
.hero{padding: 52px 0 34px}
.hero__grid{display:grid; grid-template-columns: 1.12fr .88fr; gap:18px; align-items:stretch}
.badge{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background: rgba(53,184,132,.14);
  border:1px solid rgba(53,184,132,.24);
  color: var(--blue);
  font-weight:700;
  letter-spacing:.2px;
  margin:0 0 12px;
}
h1,h2,h3{line-height:1.15; margin:0 0 10px}
h1{font-size: clamp(2.05rem, 2.7vw + 1rem, 3.35rem); letter-spacing:-.02em}
h2{font-size: clamp(1.6rem, 1.5vw + 1rem, 2.1rem); letter-spacing:-.015em}
h3{font-size: 1.12rem; letter-spacing:-.01em}
.hero__sub{margin:0; color:var(--muted); font-size: clamp(1.02rem, .35vw + .96rem, 1.22rem)}
.hero__actions{display:flex; flex-wrap:wrap; gap:14px; margin-top:22px}
.trustline{
  list-style:none;
  padding:0; margin:24px 0 0;
  display:flex; flex-wrap:wrap; gap:12px 14px;
  color: var(--blue);
  font-weight:600;
}
.trustline li{display:flex; align-items:center; gap:10px}
.dot{width:10px; height:10px; border-radius:50%; background: var(--green); box-shadow: 0 0 0 6px rgba(47,176,127,.14)}

.hero__media{
  border-radius: var(--r2);
  border:1px solid rgba(223,231,240,.9);
  box-shadow: var(--shadow);
  position:relative;
  overflow:hidden;
  min-height: 420px;
  background:
    linear-gradient(180deg, rgba(18,58,83,.48), rgba(12,42,61,.22)),
    url("../images/adaptabilidade.png"),
    linear-gradient(180deg, rgba(18,58,83,.62), rgba(12,42,61,.24)),
    radial-gradient(700px 500px at 35% 15%, rgba(53,184,132,.34), transparent 60%),
    radial-gradient(700px 500px at 80% 55%, rgba(51,170,200,.12), transparent 60%),
    linear-gradient(180deg, #123a53, #0c2a3d);
  background-size: cover, cover, auto, auto, auto, auto;
  background-position: center center, center center, center center, center center, center center, center center;
}
.hero__mediaOverlay{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0)),
    radial-gradient(600px 380px at 20% 10%, rgba(47,176,127,.20), transparent 60%);
  opacity:.9;
}
.hero__card{
  position:absolute; left:16px; right:16px; bottom:16px;
  border-radius: 18px;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.10);
  backdrop-filter: blur(10px);
  padding: 16px;
  color: #eaf4ff;
}
.hero__profile{display:flex; gap:12px; align-items:center}
.hero__profile img{
  border-radius: 18px;
  border:1px solid rgba(255,255,255,.18);
  box-shadow: 0 18px 36px rgba(0,0,0,.18);
}
.hero__profileTitle{margin:0; font-weight:700}
.hero__profileText{margin:2px 0 0; opacity:.92}
.hero__mini{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px}
.mini{
  border-radius: 16px;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  padding: 12px;
}
.mini__top{margin:0; font-weight:700}
.mini__bottom{margin:2px 0 0; opacity:.92}

/* Sections */
.section{padding: var(--section-space) 0}
.section--alt{
  background: linear-gradient(180deg, rgba(234,243,248,.78), rgba(255,255,255,.94));
  border-top:1px solid rgba(223,231,240,.7);
  border-bottom:1px solid rgba(223,231,240,.7);
}
.section:nth-of-type(odd){
  background: linear-gradient(180deg, rgba(51,170,200,.07), rgba(255,255,255,.92));
}
.section:nth-of-type(even){
  background: linear-gradient(180deg, rgba(53,184,132,.08), rgba(255,255,255,.94));
}
.section__head{display:flex; gap:16px; align-items:flex-end; justify-content:space-between; margin-bottom: 26px}
.section__head p{margin:0; max-width: 62ch}

/* Pain */
.pain{display:grid; grid-template-columns: repeat(3, 1fr); gap:12px}
.pain__item{
  border-radius: var(--r);
  border:1px solid rgba(223,231,240,.9);
  border-top: 3px solid rgba(46,167,199,.42);
  background: rgba(255,255,255,.80);
  box-shadow: 0 10px 22px rgba(15,47,68,.06);
  padding: 16px;
  transition: transform .18s ease, box-shadow .18s ease;
}
.pain__item:hover{transform: translateY(-3px); box-shadow: var(--shadow2)}
.softCta{
  margin-top: 24px;
  border-radius: 18px;
  border:1px solid rgba(53,184,132,.26);
  background: linear-gradient(180deg, rgba(53,184,132,.12), rgba(51,170,200,.08));
  padding: 18px;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.softCta__text{margin:0; font-weight:600; color: var(--blue)}

/* Split */
.split{display:grid; grid-template-columns: 1.05fr .95fr; gap:14px; align-items:start}
.kicker{margin:0 0 10px; font-weight:700; color: var(--blue)}
.bullets{margin: 12px 0 0; padding-left: 18px; color: var(--muted)}
.bullets li{margin:6px 0}
.split__cards{display:grid; grid-template-columns: 1fr 1fr; gap:12px}
.card{
  border-radius: var(--r);
  border:1px solid rgba(223,231,240,.9);
  border-top: 3px solid rgba(47,176,127,.42);
  background: rgba(255,255,255,.82);
  box-shadow: 0 10px 22px rgba(15,47,68,.06);
  padding: 16px;
  transition: transform .18s ease, box-shadow .18s ease;
}
.card:hover{transform: translateY(-3px); box-shadow: var(--shadow2)}
.icon{
  width:42px; height:42px;
  border-radius: 14px;
  background: rgba(15,47,68,.08);
  border:1px solid rgba(15,47,68,.14);
  display:flex; align-items:center; justify-content:center;
  margin-bottom: 12px;
}
.icon svg{width:22px; height:22px; fill: var(--blue); opacity:.95}

/* Services */
.grid4{display:grid; grid-template-columns: repeat(4, 1fr); gap:12px; margin-bottom: 20px}
.service{
  border-radius: var(--r);
  border:1px solid rgba(223,231,240,.9);
  border-top: 3px solid rgba(242,176,30,.45);
  background: rgba(255,255,255,.82);
  box-shadow: 0 10px 22px rgba(15,47,68,.06);
  padding: 16px;
  transition: transform .18s ease, box-shadow .18s ease;
}
.service:hover{transform: translateY(-3px); box-shadow: var(--shadow2)}

/* Gallery */
.gallery{display:grid; grid-template-columns: repeat(4, 1fr); gap:10px}
.ph{
  margin: 0;
  border-radius: 18px;
  border:1px solid rgba(223,231,240,.9);
  background:
    linear-gradient(180deg, rgba(15,47,68,.10), rgba(47,176,127,.08)),
    radial-gradient(260px 160px at 30% 30%, rgba(47,176,127,.18), transparent 60%),
    radial-gradient(260px 160px at 70% 70%, rgba(15,47,68,.12), transparent 60%),
    var(--surface);
  min-height: 120px;
  box-shadow: 0 10px 22px rgba(15,47,68,.06);
  overflow: hidden;
  position: relative;
}
.ph img{
  width: 100%;
  height: 100%;
  min-height: 120px;
  display: block;
  object-fit: cover;
}
.ph__caption{
  position:absolute;
  left:10px;
  right:10px;
  bottom:10px;
  margin:0;
  padding:8px 10px;
  border-radius: 10px;
  font-size:.78rem;
  font-weight:600;
  color:#fff;
  background: linear-gradient(180deg, rgba(15,47,68,.82), rgba(11,36,52,.86));
  border:1px solid rgba(255,255,255,.15);
  backdrop-filter: blur(4px);
}
.highlights{margin-top: 12px; display:flex; flex-wrap:wrap; gap:10px}
.highlight{
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(51,170,200,.24);
  background: linear-gradient(180deg, rgba(51,170,200,.10), rgba(255,255,255,.85));
  font-weight:600;
  color: var(--blue);
}

/* Testimonials */
.testimonials{display:grid; grid-template-columns: repeat(4, 1fr); gap:12px}
.quote{
  margin:0;
  border-radius: var(--r);
  border:1px solid rgba(223,231,240,.9);
  background: rgba(255,255,255,.82);
  box-shadow: 0 10px 22px rgba(15,47,68,.06);
  padding: 16px;
  border-top: 3px solid rgba(242,176,30,.45);
}
.quote__stars{
  color:#f2b01e;
  font-size:1rem;
  letter-spacing:1px;
  margin:0 0 8px;
  line-height:1;
}
.quote blockquote{margin:0; color: var(--blue); font-weight:600}
.quote figcaption{margin-top:10px; color: var(--muted); font-weight:600}

/* Features */
.features{
  display:grid;
  grid-template-columns: repeat(5, 1fr);
  gap:10px;
}
.feature{
  border-radius: 18px;
  border:1px solid rgba(223,231,240,.9);
  background: rgba(255,255,255,.82);
  box-shadow: 0 10px 22px rgba(15,47,68,.06);
  padding: 14px;
  font-weight:600;
  color: var(--blue);
  display:flex; align-items:center; gap:10px;
}
.check{
  width:18px; height:18px; border-radius:6px;
  background: rgba(47,176,127,.16);
  border:1px solid rgba(47,176,127,.28);
  position:relative;
  flex: 0 0 auto;
}
.check::after{
  content:"";
  position:absolute; left:5px; top:2px;
  width:6px; height:10px;
  border-right:2px solid var(--green2);
  border-bottom:2px solid var(--green2);
  transform: rotate(40deg);
}

/* FAQ */
.faq{display:grid; gap:10px}
.faq__item{
  border-radius: 18px;
  border:1px solid rgba(223,231,240,.9);
  background: rgba(255,255,255,.84);
  box-shadow: 0 10px 22px rgba(15,47,68,.06);
  padding: 14px 16px;
}
.faq__item summary{
  cursor:pointer;
  font-weight:700;
  color: var(--blue);
  list-style:none;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{
  content:"+";
  float:right;
  font-weight:950;
  color: var(--muted);
}
.faq__item[open] summary::after{content:"–"}
.faq__item p{margin:10px 0 0}

/* Final CTA */
.finalCta{padding: 62px 0 58px}
.finalCta__inner{
  border-radius: 26px;
  padding: 22px;
  border:1px solid rgba(53,184,132,.26);
  background:
    radial-gradient(900px 450px at 20% 10%, rgba(53,184,132,.24), transparent 60%),
    linear-gradient(180deg, rgba(18,58,83,.07), rgba(51,170,200,.08));
  box-shadow: var(--shadow2);
  display:flex; align-items:center; justify-content:space-between; gap:14px;
}
.finalCta__actions{display:flex; flex-wrap:wrap; gap:14px; justify-content:flex-end}

/* Footer */
.footer{
  border-top:1px solid rgba(223,231,240,.75);
  background: linear-gradient(180deg, rgba(51,170,200,.06), rgba(255,255,255,.78));
  padding: 34px 0 22px;
}
.footer__grid{display:grid; grid-template-columns: 1.2fr .8fr; gap:16px; align-items:start}
.footer__title{margin:0 0 10px; font-weight:950; color: var(--blue)}
.footer__note{margin:10px 0 0}
.footer__link{
  display:inline-flex;
  margin-top: 10px;
  font-weight:700;
  color: var(--blue);
  padding:10px 12px;
  border-radius: 999px;
  border:1px solid rgba(223,231,240,.95);
  background: rgba(255,255,255,.78);
  box-shadow: 0 10px 22px rgba(15,47,68,.06);
  transition: transform .18s ease, box-shadow .18s ease;
}
.footer__link:hover{transform: translateY(-2px); box-shadow: var(--shadow2)}
.footer__bottom{padding-top: 10px}
.footer__bottom a:hover{color: var(--blue2);}

/* WhatsApp "chat" widget */
.whatsapp-widget{
  position: fixed;
  bottom: 18px;
  right: 18px;
  z-index: 70;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0;
}

.whatsapp-float-btn{
  position: relative;
  width: 58px;
  height: 58px;
  background: linear-gradient(180deg, var(--green), var(--green2));
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 28px rgba(47,176,127,0.40);
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
  color: #053021;
  flex-shrink: 0;
  text-decoration: none;
  border: 1px solid rgba(0,0,0,.06);
}
.whatsapp-float-btn:hover{
  transform: scale(1.08);
  box-shadow: 0 12px 36px rgba(47,176,127,0.48);
  filter: saturate(1.05);
}
.whatsapp-float-btn svg{ width: 28px; height: 28px; }

.whatsapp-bubble{
  position: relative;
  background: linear-gradient(180deg, rgba(15,47,68,.98), rgba(11,36,52,.98));
  border-radius: 16px 16px 16px 6px;
  box-shadow: 0 18px 46px rgba(15,47,68,0.26);
  max-width: 290px;
  margin-bottom: 12px;
  padding: 14px 34px 14px 14px;
  opacity: 0;
  transform: translateY(18px);
  pointer-events: none;
  transition: opacity .35s ease, transform .35s ease;
  border: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(10px);
}
.whatsapp-bubble.show{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.whatsapp-bubble::after{
  content: '';
  position: absolute;
  bottom: 8px;
  right: -8px;
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 12px solid rgba(11,36,52,.98);
  filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.06));
}

.whatsapp-bubble-close{
  position: absolute;
  top: 6px;
  right: 8px;
  background: none;
  border: none;
  color: rgba(255,255,255,.62);
  cursor: pointer;
  font-size: 1.35rem;
  line-height: 1;
  padding: 0;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color .2s ease;
}
.whatsapp-bubble-close:hover{ color: rgba(255,255,255,.92); }

.whatsapp-typing{
  display: flex;
  align-items: center;
  gap: 5px;
  min-height: 28px;
}
.whatsapp-typing .w-dot{
  width: 8px;
  height: 8px;
  border-radius: 50%;
  animation: wappDot 1.2s ease-in-out infinite both;
}
.whatsapp-typing .w-dot:nth-child(1){ background: var(--green); animation-delay: 0s; }
.whatsapp-typing .w-dot:nth-child(2){ background: rgba(47,176,127,.78); animation-delay: .2s; }
.whatsapp-typing .w-dot:nth-child(3){ background: rgba(47,176,127,.58); animation-delay: .4s; }

@keyframes wappDot{
  0%, 80%, 100%{ transform: scale(.75); opacity:.7; }
  40%{ transform: scale(1.15); opacity:1; }
}

.whatsapp-message{
  font-size: .92rem;
  color: rgba(248, 250, 252, .94);
  line-height: 1.45;
  min-height: 20px;
  display: none;
}
.whatsapp-message.visible{ display:block; }
.whatsapp-typing.hidden{ display:none; }

/* Responsive */
@media (min-width: 1441px){
  :root{ --container: 1240px; }
  .hero__grid{ gap: 24px; }
}

@media (max-width: 1200px){
  .hero__grid{ grid-template-columns: 1fr; gap: 16px; }
  .hero__media{ min-height: 390px; }
  .cards-3{ grid-template-columns: repeat(2, 1fr); }
  .grid4{ grid-template-columns: repeat(2, 1fr); }
  .testimonials{ grid-template-columns: repeat(2, 1fr); }
  .features{ grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1020px){
  .hero{padding: 42px 0 28px}
  .section{padding: var(--section-space-mobile) 0}
  .section__head{margin-bottom: 20px}
  .hero__actions{gap:12px; margin-top:18px}
  .softCta{margin-top:18px}
  .finalCta{padding: 46px 0 44px}
  .hero__grid{grid-template-columns: 1fr}
  .hero__media{min-height: 360px}
  .section__head{flex-direction:column; align-items:flex-start}
  .pain{grid-template-columns: 1fr}
  .split{grid-template-columns: 1fr}
  .split__cards{grid-template-columns: 1fr}
  .grid4{grid-template-columns: 1fr}
  .gallery{grid-template-columns: 1fr 1fr}
  .testimonials{grid-template-columns: repeat(2, 1fr)}
  .features{grid-template-columns: repeat(2, 1fr)}
  .finalCta__inner{flex-direction:column; align-items:flex-start}
  .finalCta__actions{justify-content:flex-start}
  .footer__grid{grid-template-columns: 1fr}
  .header__cta{display:none}

  .nav__toggle{display:inline-flex; align-items:center; justify-content:center}
  .nav__links{
    position:absolute;
    top:64px;
    right:20px;
    left:20px;
    display:none;
    flex-direction:column;
    gap:4px;
    background: rgba(255,255,255,.95);
    border:1px solid rgba(223,231,240,.95);
    border-radius: 18px;
    padding: 10px;
    box-shadow: var(--shadow2);
  }
  .nav__links.is-open{display:flex}
  .nav__link{padding:12px 14px}
}

@media (max-width: 768px){
  :root{ --topbar-h: 40px; }
  h1{ font-size: clamp(1.65rem, 6.2vw, 2.3rem); }
  h2{ font-size: clamp(1.35rem, 5vw, 1.8rem); }
  h3{ font-size: 1.02rem; }
  .btn{ width: 100%; }
  .hero__actions .btn,
  .finalCta__actions .btn,
  .page-actions .btn{ width: 100%; }
  .softCta{ flex-direction: column; align-items: stretch; }
  .softCta .btn{ width: 100%; }
  .hero__mini{ grid-template-columns: 1fr; }
  .gallery{ grid-template-columns: 1fr; }
  .testimonials{ grid-template-columns: 1fr; }
  .features{ grid-template-columns: 1fr; }
  .topbar__item{ padding: 0 18px; }
  .topbar__item span{ font-size: .86rem; }
  .whatsapp-widget{ bottom: 16px; right: 16px; }
  .whatsapp-float-btn{ width: 54px; height: 54px; }
  .whatsapp-float-btn svg{ width: 26px; height: 26px; }
  .whatsapp-bubble{ max-width: 260px; }
}

@media (max-width: 560px){
  .header__inner{ gap: 10px; padding: 10px 0; }
  .brand img{ transform: scale(1.08); }
  .hero{ padding: 30px 0 20px; }
  .hero__media{ min-height: 310px; }
  .hero__card{ left: 12px; right: 12px; bottom: 12px; padding: 12px; }
  .hero__profile img{ width: 52px; height: 52px; }
  .section{ padding: 34px 0; }
  .finalCta{ padding: 36px 0; }
  .finalCta__inner{ padding: 16px; border-radius: 18px; }
  .topbar__marqueeInner{ animation-duration: 42s; }
}

@media (max-width: 420px){
  :root{ --topbar-h: 38px; }
  .topbar__item{ padding: 0 14px; gap: 8px; }
  .topbar__check{ width: 15px; height: 15px; font-size: .55rem; }
  .hero__sub{ font-size: .96rem; }
  .trustline{ gap: 8px 10px; }
  .nav__links{ left: 12px; right: 12px; }
  .whatsapp-bubble{ max-width: 224px; }
}

@media (prefers-reduced-motion: reduce){
  *{transition:none !important; scroll-behavior:auto !important}
}

