/* =========================================================
   Pontual Uniformes — Landing Page
   Paleta extraída do logotipo oficial: vermelho carmim,
   prata metálico e preto. Verde reservado exclusivamente
   para as ações de WhatsApp.
   ========================================================= */

:root{
  /* Escuros da marca */
  --ink-950:#08090C;
  --ink-900:#0F1216;
  --ink-800:#171B21;
  --ink-700:#242932;

  /* Vermelho da marca */
  --red-700:#8E0E22;
  --red-600:#B01029;
  --red-500:#C8102E;
  --red-400:#E01B3C;

  /* Prata */
  --silver-400:#9BA3AC;
  --silver-300:#C7CCD1;
  --silver-100:#EDEFF2;

  /* WhatsApp / ação */
  --wpp:#25D366;
  --wpp-600:#1FB855;
  --wpp-700:#199948;

  /* Neutros de leitura */
  --ink:#12151A;
  --muted:#5C6672;
  --line:#E4E7EB;
  --bg:#FFFFFF;
  --bg-soft:#F5F6F8;

  --star:#FBBC04;

  /* Layout */
  --maxw:1200px;
  --gutter:clamp(1.15rem, 4vw, 2.5rem);
  --r-sm:10px;
  --r-md:16px;
  --r-lg:22px;
  --r-pill:999px;

  --shadow-sm:0 2px 8px rgba(15,18,22,.07);
  --shadow-md:0 10px 30px rgba(15,18,22,.10);
  --shadow-lg:0 24px 60px rgba(15,18,22,.18);
  --shadow-wpp:0 10px 26px rgba(31,184,85,.32);
  --shadow-red:0 10px 26px rgba(176,16,41,.28);

  --ff-head:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ff-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;

  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:88px}
body{
  margin:0;
  font-family:var(--ff-body);
  font-size:clamp(1rem,.97rem + .15vw,1.0625rem);
  line-height:1.65;
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{display:block; max-width:100%}
img{height:auto}
h1,h2,h3,h4{font-family:var(--ff-head); line-height:1.14; margin:0; letter-spacing:-.02em; font-weight:800}
p{margin:0 0 1rem}
p:last-child{margin-bottom:0}
a{color:inherit; text-decoration:none}
ul{margin:0; padding:0; list-style:none}
button{font:inherit; color:inherit; background:none; border:0; cursor:pointer}
:focus-visible{outline:3px solid var(--red-500); outline-offset:3px; border-radius:4px}

.skip-link{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--red-600); color:#fff; padding:.85rem 1.25rem; border-radius:0 0 var(--r-sm) 0;
}
.skip-link:focus{left:0}

.container{width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter)}

/* ---------- Utilidades ---------- */
.hl{
  color:#fff;
  background-image:linear-gradient(transparent 82%, var(--red-500) 0);
  background-repeat:no-repeat;
  padding-inline:.04em;
}
.hl--dark{color:var(--red-600); background-image:linear-gradient(transparent 84%, rgba(200,16,46,.28) 0)}

.eyebrow{
  display:inline-flex; align-items:center; gap:.6rem;
  font-family:var(--ff-head); font-size:.78rem; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase;
  color:rgba(255,255,255,.7); margin:0 0 1.15rem;
}
.eyebrow--dark{color:var(--muted)}
.eyebrow__dot{width:8px; height:8px; border-radius:50%; background:var(--red-500); flex:none; box-shadow:0 0 0 4px rgba(200,16,46,.18)}

/* ---------- Botões ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  font-family:var(--ff-head); font-weight:700; letter-spacing:-.01em;
  padding:.9rem 1.5rem; border-radius:var(--r-pill);
  transition:transform .2s var(--ease), box-shadow .2s var(--ease), background-color .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
  text-align:center; line-height:1.2; cursor:pointer;
}
.btn svg{flex:none}
.ico-wpp{width:1.25em; height:1.25em}
.btn--wpp{background:var(--wpp); color:#06301A; box-shadow:var(--shadow-wpp)}
.btn--wpp:hover{background:var(--wpp-600); transform:translateY(-2px); box-shadow:0 14px 32px rgba(31,184,85,.4)}
.btn--wpp:active{transform:translateY(0)}
.btn--ghost{border:1.5px solid rgba(255,255,255,.3); color:#fff}
.btn--ghost:hover{border-color:var(--red-500); background:rgba(200,16,46,.14)}
.btn--sm{padding:.7rem 1.15rem; font-size:.92rem}
.btn--lg{padding:1.1rem 2rem; font-size:1.06rem}
.btn--xl{padding:1.25rem 2.6rem; font-size:1.15rem}
.btn--block{width:100%}

/* ---------- Header ---------- */
.header{
  position:sticky; top:0; z-index:100;
  background:rgba(8,9,12,.86);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:background-color .3s var(--ease), box-shadow .3s var(--ease);
}
.header.is-stuck{background:rgba(8,9,12,.98); box-shadow:0 6px 26px rgba(0,0,0,.4)}
.header__inner{display:flex; align-items:center; gap:1.5rem; min-height:76px}

.brand{display:inline-flex; align-items:center; gap:.7rem; color:#fff; flex:none}
.brand__mark{width:auto; height:42px; flex:none}
.brand__text{display:flex; flex-direction:column; font-family:var(--ff-head); line-height:1}
.brand__text strong{
  font-size:1.16rem; font-weight:800; letter-spacing:.02em; text-transform:uppercase;
  background:linear-gradient(180deg,#FFFFFF 10%,#AEB6BE 90%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.brand__text em{
  font-style:normal; font-size:.68rem; font-weight:700; letter-spacing:.3em;
  text-transform:uppercase; color:var(--red-400); margin-top:.28rem;
}

.nav{margin-left:auto}
.nav__list{display:flex; gap:1.6rem}
.nav__list a{
  font-size:.94rem; font-weight:500; color:rgba(255,255,255,.78);
  padding:.4rem 0; position:relative; transition:color .2s var(--ease);
}
.nav__list a::after{
  content:""; position:absolute; left:0; right:100%; bottom:0; height:2px;
  background:var(--red-500); transition:right .25s var(--ease);
}
.nav__list a:hover{color:#fff}
.nav__list a:hover::after{right:0}

.nav-toggle{display:none; width:44px; height:44px; flex-direction:column; justify-content:center; gap:5px; padding:0 10px; margin-left:auto}
.nav-toggle span{display:block; height:2px; background:#fff; border-radius:2px; transition:transform .28s var(--ease), opacity .2s var(--ease)}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- 1ª dobra — Hero ---------- */
.hero{position:relative; color:#fff; overflow:hidden; isolation:isolate}
.hero__bg{
  position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(115% 85% at 78% 6%, rgba(176,16,41,.42) 0%, transparent 56%),
    radial-gradient(75% 65% at 3% 96%, rgba(200,16,46,.16) 0%, transparent 60%),
    linear-gradient(158deg, var(--ink-800) 0%, var(--ink-950) 66%);
}
.hero__bg::after{
  content:""; position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
                   linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(70% 60% at 50% 30%, #000 0%, transparent 78%);
  -webkit-mask-image:radial-gradient(70% 60% at 50% 30%, #000 0%, transparent 78%);
}
.hero__inner{
  display:grid; grid-template-columns:1.16fr .84fr; gap:clamp(2rem,4vw,3.5rem); align-items:center;
  padding-block:clamp(3rem,6vw,5rem) clamp(3.25rem,6vw,5.5rem);
}
.hero__title{font-size:clamp(2rem,1.45rem + 2.1vw,3.2rem); margin-bottom:1.25rem; text-wrap:balance}
.hero__sub{font-size:clamp(1.02rem,.98rem + .35vw,1.22rem); color:rgba(255,255,255,.8); max-width:36em; margin-bottom:2rem}
.hero__actions{display:flex; flex-wrap:wrap; gap:.9rem; margin-bottom:2.25rem}
.hero__trust{display:flex; flex-wrap:wrap; gap:.6rem 1.6rem; font-size:.9rem; color:rgba(255,255,255,.66)}
.hero__trust li{display:flex; align-items:center; gap:.55rem}
.hero__trust li::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--red-500); flex:none}

.hero__media{position:relative}
.hero__photo{
  border-radius:var(--r-lg); overflow:hidden;
  box-shadow:var(--shadow-lg);
  border:1px solid rgba(255,255,255,.1);
  aspect-ratio:6/7; background:var(--ink-800);
}
.hero__photo img{width:100%; height:100%; object-fit:cover}
.hero__badge{
  position:absolute; left:-1.5rem; bottom:1.75rem;
  display:flex; align-items:center; gap:.85rem;
  background:#fff; color:var(--ink);
  padding:.9rem 1.25rem; border-radius:var(--r-md);
  box-shadow:var(--shadow-lg);
}
.hero__badge svg{width:34px; height:34px; color:var(--red-600); flex:none}
.hero__badge strong{display:block; font-family:var(--ff-head); font-size:1rem; line-height:1.2}
.hero__badge span{display:block; font-size:.82rem; color:var(--muted)}

/* ---------- Seções genéricas ---------- */
.section{padding-block:clamp(3.5rem,7vw,6.5rem)}
.section--soft{background:var(--bg-soft)}
.section__head{max-width:52rem; margin:0 auto clamp(2.25rem,4vw,3.5rem); text-align:center}
.section__title{font-size:clamp(1.7rem,1.25rem + 2vw,2.7rem); color:var(--ink); text-wrap:balance}
.section__title--left{text-align:left}
.section__sub{margin-top:1rem; color:var(--muted); font-size:1.05rem}
.section__cta{margin-top:clamp(2.25rem,4vw,3.25rem); text-align:center}
.section__cta-note{margin-top:.9rem; font-size:.9rem; color:var(--muted)}

/* ---------- 2ª dobra — Pilares ---------- */
.pillars{display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem}
.pillar{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:2rem 1.6rem; box-shadow:var(--shadow-sm);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
  position:relative; overflow:hidden;
}
.pillar::before{
  content:""; position:absolute; inset:0 0 auto 0; height:3px;
  background:linear-gradient(90deg,var(--red-500),var(--red-700));
  transform:scaleX(0); transform-origin:left; transition:transform .35s var(--ease);
}
.pillar:hover{transform:translateY(-6px); box-shadow:var(--shadow-md); border-color:transparent}
.pillar:hover::before{transform:scaleX(1)}
.pillar__icon{
  width:60px; height:60px; border-radius:var(--r-md);
  display:grid; place-items:center; margin-bottom:1.35rem;
  background:linear-gradient(145deg,rgba(200,16,46,.13),rgba(15,18,22,.08));
  color:var(--red-600);
}
.pillar__icon svg{width:32px; height:32px}
.pillar__title{font-size:1.16rem; color:var(--ink); margin-bottom:.75rem; line-height:1.3}
.pillar__num{
  display:block; font-size:.75rem; font-weight:800; letter-spacing:.14em;
  color:var(--red-600); margin-bottom:.35rem;
}
.pillar__text{font-size:.95rem; color:var(--muted); margin:0}

/* ---------- 3ª dobra — Categorias ---------- */
.cats{display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem}
.cat{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  overflow:hidden; display:flex; flex-direction:column;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.cat:hover{transform:translateY(-6px); box-shadow:var(--shadow-md)}
.cat__media{aspect-ratio:4/3; overflow:hidden; background:var(--ink-800); position:relative}
.cat__media img{width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease)}
.cat:hover .cat__media img{transform:scale(1.06)}
.cat__body{padding:1.4rem 1.4rem 1.5rem; display:flex; flex-direction:column; flex:1}
.cat__title{font-size:1.2rem; color:var(--ink); margin-bottom:.6rem}
.cat__text{font-size:.94rem; color:var(--muted); margin-bottom:1.15rem}
.cat__link{
  margin-top:auto; font-family:var(--ff-head); font-weight:700; font-size:.92rem;
  color:var(--red-600); display:inline-flex; align-items:center; gap:.4rem;
}
.cat__link span{transition:transform .25s var(--ease)}
.cat__link:hover span{transform:translateX(4px)}

/* Lista completa de peças fabricadas */
.lineup{margin-top:clamp(2.25rem,4vw,3rem); text-align:center}
.lineup__title{
  font-family:var(--ff-head); font-weight:700; font-size:.8rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--muted); margin-bottom:1.15rem;
}
.lineup__items{display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem}
.lineup__items li{
  font-size:.88rem; color:var(--ink); background:#fff;
  border:1px solid var(--line); border-radius:var(--r-pill); padding:.42rem 1rem;
}

/* ---------- 4ª dobra — Dor ---------- */
.pain{position:relative; color:#fff; overflow:hidden; padding-block:clamp(3.5rem,7vw,6.5rem); isolation:isolate}
.pain__bg{
  position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(85% 75% at 14% 18%, rgba(176,16,41,.34) 0%, transparent 60%),
    linear-gradient(200deg,var(--ink-950),var(--ink-800) 72%);
}
.pain__inner{max-width:56rem; margin-inline:auto; text-align:center; position:relative}
.pain__mark{
  font-family:var(--ff-head); font-size:9rem; line-height:.6; color:rgba(200,16,46,.24);
  margin-bottom:.4rem; user-select:none;
}
.pain__title{font-size:clamp(1.65rem,1.2rem + 2vw,2.6rem); margin-bottom:1.75rem; text-wrap:balance}
.pain__text{font-size:clamp(1rem,.97rem + .3vw,1.14rem); color:rgba(255,255,255,.78)}
.pain__text p+p{margin-top:1.1rem}
.pain__cta{margin-top:2.5rem}

/* ---------- 5ª dobra — Depoimentos (estilo Google) ---------- */
.section__head--reviews{
  max-width:none; display:flex; flex-wrap:wrap; align-items:flex-end;
  justify-content:space-between; gap:1.5rem; text-align:left;
}
.section__head--reviews .section__title{max-width:22ch}
.gsummary{
  display:flex; align-items:center; gap:1rem;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-md);
  padding:1rem 1.35rem; box-shadow:var(--shadow-sm); flex:none;
}
.g-logo{width:30px; height:30px; flex:none}
.g-logo--sm{width:20px; height:20px; margin-left:auto}
.gsummary__data{display:flex; flex-direction:column; gap:.15rem}
.gsummary__score{font-family:var(--ff-head); font-size:1.5rem; line-height:1; color:var(--ink)}
.gsummary__link{font-size:.82rem; color:var(--muted); text-decoration:underline; text-underline-offset:3px}
.gsummary__link:hover{color:var(--red-600)}

.stars{display:inline-flex; gap:2px; color:var(--star)}
.stars svg{width:18px; height:18px}
.stars--sm svg{width:14px; height:14px}

.reviews{position:relative}
.reviews__viewport{margin-inline:calc(var(--gutter) * -1); padding-inline:var(--gutter)}
.reviews__track{
  display:flex; gap:1.25rem;
  overflow-x:auto; scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding:.35rem .35rem 1.5rem;
  margin:-.35rem -.35rem 0;
  scrollbar-width:none;
}
.reviews__track::-webkit-scrollbar{display:none}
.gr{
  flex:0 0 clamp(270px,31%,360px); scroll-snap-align:start;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-md);
  padding:1.4rem; box-shadow:var(--shadow-sm);
  display:flex; flex-direction:column; gap:.85rem;
}
.gr__top{display:flex; align-items:center; gap:.75rem}
.gr__avatar{
  width:42px; height:42px; border-radius:50%; flex:none;
  display:grid; place-items:center; background:var(--av,#1a73e8); color:#fff;
  font-family:var(--ff-head); font-weight:700; font-size:1.05rem;
}
.gr__id{display:flex; flex-direction:column; min-width:0}
.gr__name{font-family:var(--ff-head); font-size:.98rem; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.gr__date{font-size:.8rem; color:var(--muted)}
.gr__text{font-size:.94rem; color:#3E4753; margin:0}
.gr__flag{
  display:inline-block; font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  background:#FFF3CD; color:#8A6100; border-radius:4px; padding:.1rem .4rem; margin-right:.4rem; vertical-align:middle;
}
.gr.is-placeholder{border-style:dashed; background:#FCFCFD}

.reviews__nav{display:flex; align-items:center; justify-content:center; gap:1rem}
.rnav{
  width:46px; height:46px; border-radius:50%; display:grid; place-items:center;
  background:#fff; border:1px solid var(--line); color:var(--ink);
  box-shadow:var(--shadow-sm); transition:all .2s var(--ease); flex:none;
}
.rnav svg{width:20px; height:20px}
.rnav:hover:not(:disabled){background:var(--red-600); color:#fff; border-color:var(--red-600)}
.rnav:disabled{opacity:.35; cursor:default}
.reviews__dots{display:flex; gap:.45rem}
.reviews__dots button{
  width:8px; height:8px; border-radius:var(--r-pill); background:#CDD3D9;
  transition:width .25s var(--ease), background-color .25s var(--ease);
}
.reviews__dots button[aria-current="true"]{width:26px; background:var(--red-600)}

/* ---------- 6ª dobra — Sobre ---------- */
.about{display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,5vw,4.5rem); align-items:center}
.about__media{position:relative}
.about__media img{
  width:100%; aspect-ratio:9/10; object-fit:cover;
  border-radius:var(--r-lg); box-shadow:var(--shadow-md); background:var(--ink-800);
}
.about__stats{
  position:absolute; right:-1rem; bottom:1.5rem;
  display:flex; gap:1.5rem;
  background:var(--ink-900); color:#fff; padding:1.05rem 1.4rem; border-radius:var(--r-md);
  box-shadow:var(--shadow-lg); border:1px solid rgba(255,255,255,.08);
}
.about__stats strong{display:block; font-family:var(--ff-head); font-size:1.3rem; line-height:1.15; color:var(--red-400)}
.about__stats span{display:block; font-size:.78rem; color:rgba(255,255,255,.66); margin-top:.15rem}
.about__text{color:var(--muted); margin:1.25rem 0 1.75rem; font-size:1.03rem}
.about__list{display:grid; gap:.8rem; margin-bottom:2rem}
.about__list li{display:flex; gap:.7rem; align-items:flex-start; font-size:.98rem}
.about__list svg{width:22px; height:22px; color:var(--red-600); flex:none; margin-top:.15rem}

/* ---------- Parceiros ---------- */
.partners{background:var(--ink-950); color:#fff; padding-block:clamp(2.25rem,4vw,3.25rem); overflow:hidden}
.partners__title{
  text-align:center; font-family:var(--ff-head); font-weight:700; font-size:.8rem;
  letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.5); margin-bottom:1.5rem;
}
.partners__list{
  display:flex; flex-wrap:wrap; justify-content:center; gap:.7rem 1rem;
}
.partners__list li{
  font-family:var(--ff-head); font-weight:600; font-size:.95rem; color:var(--silver-300);
  border:1px solid rgba(255,255,255,.14); border-radius:var(--r-pill);
  padding:.5rem 1.15rem; transition:border-color .25s var(--ease), color .25s var(--ease);
}
.partners__list li:hover{border-color:var(--red-500); color:#fff}

/* ---------- 7ª dobra — FAQ ---------- */
.faq{display:grid; grid-template-columns:1.55fr .95fr; gap:clamp(1.75rem,4vw,3rem); align-items:start}
.faq__list{display:grid; gap:.85rem}
.fq{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-md);
  box-shadow:var(--shadow-sm); overflow:hidden;
  transition:border-color .25s var(--ease), box-shadow .25s var(--ease);
}
.fq[open]{border-color:rgba(200,16,46,.45); box-shadow:var(--shadow-md)}
.fq__q{
  display:flex; align-items:center; justify-content:space-between; gap:1.25rem;
  padding:1.15rem 1.4rem; cursor:pointer; list-style:none;
  font-family:var(--ff-head); font-weight:700; font-size:1.02rem; color:var(--ink);
}
.fq__q::-webkit-details-marker{display:none}
.fq__q:hover{color:var(--red-600)}
.fq__ico{position:relative; width:22px; height:22px; flex:none}
.fq__ico::before,.fq__ico::after{
  content:""; position:absolute; left:50%; top:50%; background:var(--red-600); border-radius:2px;
  transform:translate(-50%,-50%); transition:transform .3s var(--ease), opacity .2s var(--ease);
}
.fq__ico::before{width:14px; height:2.5px}
.fq__ico::after{width:2.5px; height:14px}
.fq[open] .fq__ico::after{transform:translate(-50%,-50%) rotate(90deg); opacity:0}
.fq__a{display:grid; grid-template-rows:0fr; transition:grid-template-rows .32s var(--ease)}
.fq[open] .fq__a{grid-template-rows:1fr}
.fq__a-inner{overflow:hidden}
.fq__a-inner p{padding:0 1.4rem 1.3rem; color:var(--muted); font-size:.97rem; margin:0}
.fq__a-inner strong{color:var(--ink)}

.faq__aside{position:sticky; top:100px}
.helpcard{
  background:linear-gradient(165deg,var(--ink-800),var(--ink-950));
  color:#fff; border-radius:var(--r-lg); padding:2rem 1.75rem;
  box-shadow:var(--shadow-lg); text-align:center;
  position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.07);
}
.helpcard::before{
  content:""; position:absolute; width:220px; height:220px; border-radius:50%;
  background:radial-gradient(circle,rgba(200,16,46,.32),transparent 68%);
  top:-90px; right:-70px;
}
.helpcard__icon{
  width:58px; height:58px; margin:0 auto 1.15rem; border-radius:50%;
  display:grid; place-items:center; background:rgba(37,211,102,.15); color:var(--wpp); position:relative;
}
.helpcard__icon svg{width:30px; height:30px}
.helpcard__title{font-size:1.35rem; margin-bottom:.75rem; position:relative}
.helpcard__text{font-size:.96rem; color:rgba(255,255,255,.76); margin-bottom:1.6rem; position:relative}
.helpcard__note{margin-top:.9rem; font-size:.82rem; color:rgba(255,255,255,.52)}

/* ---------- CTA final ---------- */
.final{background:var(--bg-soft); padding-block:clamp(3rem,6vw,5rem); border-top:1px solid var(--line)}
.final__inner{text-align:center; max-width:44rem; margin-inline:auto}
.final__title{font-size:clamp(1.55rem,1.2rem + 1.6vw,2.35rem); color:var(--ink); margin-bottom:.9rem; text-wrap:balance}
.final__text{color:var(--muted); margin-bottom:2rem}

/* ---------- Footer ---------- */
.footer{background:var(--ink-950); color:rgba(255,255,255,.7); padding-block:clamp(2.75rem,5vw,4rem) 0; border-top:3px solid var(--red-600)}
.footer__inner{display:grid; grid-template-columns:1.6fr 1fr 1fr 1.15fr; gap:2.5rem}
.footer__logo{height:auto; width:190px; margin-bottom:1.1rem}
.footer__tagline{font-size:.92rem; max-width:34ch}
.footer__slogan{
  font-family:var(--ff-head); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--red-400); margin-top:1rem;
}
.footer h4{font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:#fff; margin-bottom:1.1rem}
.footer__col ul{display:grid; gap:.6rem; font-size:.93rem}
.footer__col a{transition:color .2s var(--ease)}
.footer__col a:hover{color:var(--red-400)}
.footer__contact li{line-height:1.5}
.footer__social{display:flex; gap:.6rem; margin-top:1.15rem}
.footer__social a{
  width:40px; height:40px; border-radius:50%; display:grid; place-items:center;
  border:1px solid rgba(255,255,255,.16); color:#fff;
  transition:background-color .2s var(--ease), border-color .2s var(--ease);
}
.footer__social a:hover{background:var(--red-600); border-color:var(--red-600)}
.footer__social svg{width:19px; height:19px}
.footer__bottom{
  display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; justify-content:space-between;
  margin-top:clamp(2rem,4vw,3rem); padding-block:1.5rem;
  border-top:1px solid rgba(255,255,255,.1); font-size:.85rem; color:rgba(255,255,255,.48);
}
.footer__bottom p{margin:0}

/* ---------- WhatsApp flutuante ---------- */
.wpp-float{
  position:fixed; right:1.15rem; bottom:1.15rem; z-index:90;
  display:inline-flex; align-items:center; gap:.55rem;
  background:var(--wpp); color:#06301A;
  padding:.85rem 1.25rem; border-radius:var(--r-pill);
  font-family:var(--ff-head); font-weight:700; font-size:.95rem;
  box-shadow:var(--shadow-wpp);
  transform:translateY(140%); opacity:0;
  transition:transform .35s var(--ease), opacity .35s var(--ease), background-color .2s var(--ease);
}
.wpp-float.is-visible{transform:translateY(0); opacity:1}
.wpp-float:hover{background:var(--wpp-600)}
.wpp-float svg{width:22px; height:22px}

/* ---------- Reveal on scroll ---------- */
[data-reveal]{opacity:0; transform:translateY(22px); transition:opacity .6s var(--ease), transform .6s var(--ease)}
[data-reveal].is-in{opacity:1; transform:none}

/* =========================================================
   Responsivo
   ========================================================= */
@media (max-width:1080px){
  .pillars{grid-template-columns:repeat(2,1fr)}
  .cats{grid-template-columns:repeat(2,1fr)}
  .footer__inner{grid-template-columns:1fr 1fr 1fr; gap:2rem}
  .footer__col--brand{grid-column:1/-1}
}

@media (max-width:900px){
  .header__cta{display:none}
  .nav-toggle{display:flex}
  .nav{
    position:absolute; left:0; right:0; top:100%;
    background:var(--ink-950); border-bottom:1px solid rgba(255,255,255,.1);
    margin:0; padding:0 var(--gutter);
    max-height:0; overflow:hidden; transition:max-height .35s var(--ease), padding .35s var(--ease);
  }
  .nav.is-open{max-height:60vh; padding-block:1rem 1.5rem; overflow-y:auto}
  .nav__list{flex-direction:column; gap:0}
  .nav__list a{display:block; padding:.85rem 0; border-bottom:1px solid rgba(255,255,255,.07); font-size:1rem}
  .nav__list a::after{display:none}

  .hero__inner{grid-template-columns:1fr; padding-block:clamp(2.5rem,7vw,4rem)}
  .hero__media{order:-1; max-width:420px; margin-inline:auto; width:100%}
  .hero__photo{aspect-ratio:4/3}
  .hero__badge{left:auto; right:-.5rem; bottom:-1rem}

  .about{grid-template-columns:1fr; gap:2.5rem}
  .about__media{max-width:460px; margin-inline:auto; width:100%}
  .about__stats{right:1rem}

  .faq{grid-template-columns:1fr}
  .faq__aside{position:static; order:2}

  .section__head--reviews{flex-direction:column; align-items:flex-start}
}

@media (max-width:600px){
  html{scroll-padding-top:76px}
  .pillars{grid-template-columns:1fr}
  .cats{grid-template-columns:1fr}
  .footer__inner{grid-template-columns:1fr 1fr}
  .hero__actions .btn{width:100%}
  .btn--xl{padding:1.1rem 1.6rem; font-size:1.02rem}
  .gr{flex-basis:82%}
  .pain__mark{font-size:6rem}
  .wpp-float span{display:none}
  .wpp-float{padding:1rem; border-radius:50%}
  .wpp-float svg{width:26px; height:26px}
  .footer__bottom{flex-direction:column}
  .about__stats{position:static; margin-top:1rem; justify-content:center}
}

/* ---------- Acessibilidade / motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important; transition-duration:.01ms !important}
  [data-reveal]{opacity:1; transform:none}
  .reviews__track{scroll-behavior:auto}
}

/* ---------- Impressão ---------- */
@media print{
  .header,.wpp-float,.reviews__nav,.hero__bg,.pain__bg{display:none !important}
  body{color:#000}
  .fq__a{grid-template-rows:1fr}
}
