/* ═══════════════════════════════════════════════════════════
   PROPOSTA COMERCIAL — DEMONSTRAÇÃO
   Desenvolvido por Carlos Reis (carlosreis.dev.br). Não licenciado.
   ═══════════════════════════════════════════════════════════
   HPG CONTABILIDADE — v3

   Idioma da categoria: base branca, cor da marca em blocos,
   fonte humanista, muita foto, promessa concreta. É como as
   contabilidades online líderes se apresentam, porque é o que
   o público desse setor reconhece como "site sério".

   A cor é a da HPG (#0A3A72, amostrada do logo), não a de
   nenhum concorrente — o padrão se copia, a identidade não.
   ═══════════════════════════════════════════════════════════ */

:root{
  --az-900:#06254A;
  --az-800:#0A3A72;   /* marinho do logo */
  --az-700:#0E4A90;
  --az-600:#1364C4;   /* azul de ação, mais vivo */
  --az-500:#2E80E0;
  --az-100:#D6E6F8;
  --az-50:#EFF5FC;

  --verde:#12874A;
  --wa:#10803F;
  --amarelo:#F2B544;

  --br:#FFFFFF;
  --cl:#F4F8FC;
  --linha:#E1E9F2;
  --linha2:#C6D6E6;

  --tx:#0B1B2B;      /* 16.9:1 */
  --tx2:#42566B;     /*  7.6:1 */
  --tx3:#5C7084;     /* 5.11:1 no branco e 4.79:1 no #F4F8FC — passa nos dois */

  --f:"Figtree",system-ui,-apple-system,sans-serif;
  --r:14px; --r2:20px;
  --e:cubic-bezier(.16,1,.3,1);
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:48px; --s6:64px; --s7:96px;
  --max:1200px;
  --z-fix:40; --z-nav:100; --z-flut:60;
}

*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{font-family:var(--f);font-size:16px;line-height:1.65;color:var(--tx2);background:var(--br);
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
h1,h2,h3{color:var(--tx);text-wrap:balance;letter-spacing:-.025em;line-height:1.14}
p{text-wrap:pretty}
:focus-visible{outline:3px solid var(--az-600);outline-offset:3px;border-radius:5px}
::selection{background:var(--az-100);color:var(--az-900)}

.skip{position:absolute;left:16px;top:-100px;z-index:999;background:var(--az-800);color:#fff;
  padding:12px 20px;border-radius:9px;font-weight:600;transition:top .25s var(--e)}
.skip:focus{top:16px}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:clamp(16px,4vw,32px)}
.wrap--fino{max-width:820px}
.ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round}
.ic--g{width:30px;height:30px;stroke-width:1.6}

/* faixa de demonstração — remover se a HPG virar cliente */
.demo{background:var(--az-900);color:#fff}
.demo__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:4px 16px;padding-block:9px;text-align:center}
.demo p{font-size:12.5px;line-height:1.45}
.demo strong{font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  font-size:11.5px;color:var(--amarelo)}
.demo p:last-child{color:#A8C0D8}
.demo a{color:#fff;text-decoration:underline;text-underline-offset:2px}

/* ── botões ─────────────────────────────────────────────── */
.bt{--bg:transparent;--fg:var(--tx);--bd:transparent;
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:48px;padding:0 22px;font-size:15.5px;font-weight:600;
  color:var(--fg);background:var(--bg);border:2px solid var(--bd);border-radius:10px;
  cursor:pointer;text-align:center;touch-action:manipulation;
  transition:transform .13s var(--e),background-color .2s var(--e),
             border-color .2s var(--e),color .2s var(--e),box-shadow .2s var(--e)}
.bt:active{transform:scale(.975)}
.bt--sm{min-height:42px;padding:0 16px;font-size:14.5px}
.bt--lg{min-height:56px;padding:0 26px;font-size:16.5px}
.bt--cta{--bg:var(--az-600);--fg:#fff;--bd:var(--az-600);
  box-shadow:0 8px 20px -8px rgba(19,100,196,.6)}
.bt--out{--bd:var(--linha2);--fg:var(--tx)}
.bt--claro{--bg:#fff;--fg:var(--az-800);--bd:#fff}
.bt--wa{--bg:var(--wa);--fg:#fff;--bd:var(--wa)}
@media (hover:hover) and (pointer:fine){
  .bt--cta:hover{--bg:var(--az-700);--bd:var(--az-700)}
  .bt--out:hover{--bd:var(--az-600);--fg:var(--az-700);background:var(--az-50)}
  .bt--claro:hover{--bg:var(--az-50);--bd:var(--az-50)}
  .bt--wa:hover{--bg:#0d6d35;--bd:#0d6d35}
}

/* ── cabeçalho ──────────────────────────────────────────── */
.hdr{position:sticky;top:0;z-index:var(--z-fix);background:rgba(255,255,255,.94);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid transparent;transition:border-color .2s var(--e),box-shadow .2s var(--e)}
.hdr.fixo{border-bottom-color:var(--linha);box-shadow:0 2px 14px rgba(6,37,74,.06)}
.hdr__in{display:flex;align-items:center;gap:var(--s3);min-height:74px}
.logo{display:inline-flex;align-items:center;gap:10px;flex:none}
.logo img{width:44px;height:44px;border-radius:50%;background:#fff}
.logo__t{display:flex;flex-direction:column;line-height:1.08}
.logo__t b{font-size:20px;font-weight:800;letter-spacing:.02em;color:var(--az-800)}
.logo__t i{font-style:normal;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--tx3)}
.nav{display:flex;gap:2px;margin-left:auto}
.nav a{padding:9px 13px;font-size:15px;font-weight:500;color:var(--tx2);border-radius:8px;
  transition:color .2s var(--e),background-color .2s var(--e)}
@media (hover:hover) and (pointer:fine){.nav a:hover{color:var(--az-700);background:var(--az-50)}}
.hdr__cta{flex:none}
.burger{display:none;width:44px;height:44px;flex:none;background:#fff;border:2px solid var(--linha2);
  border-radius:9px;cursor:pointer;padding:0;flex-direction:column;align-items:center;
  justify-content:center;gap:4px;transition:transform .13s var(--e)}
.burger:active{transform:scale(.94)}
.burger span{width:18px;height:2px;background:var(--az-800);border-radius:2px;
  transition:transform .22s var(--e),opacity .14s ease}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ── hero ───────────────────────────────────────────────── */
.hero{padding-block:clamp(36px,6vw,72px) clamp(32px,5vw,56px);
  background:linear-gradient(180deg,var(--az-50) 0%,#fff 62%)}
.hero__in{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,56px);
  align-items:center;margin-bottom:clamp(36px,6vw,64px)}
.pill{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;
  color:var(--az-700);background:#fff;border:1px solid var(--az-100);
  padding:8px 15px;border-radius:99px;margin-bottom:var(--s3);
  box-shadow:0 2px 8px rgba(6,37,74,.05)}
.pill .ic{width:17px;height:17px}
.hero h1{font-size:clamp(32px,4.6vw,52px);font-weight:800;margin-bottom:var(--s3)}
.hero h1 em{font-style:normal;color:var(--az-600)}
.hero__sub{font-size:clamp(17px,1.8vw,19px);line-height:1.68;max-width:46ch;margin-bottom:var(--s4)}
.hero__bts{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:var(--s4)}
.hero__ck{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.hero__ck li{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--tx2)}
.hero__ck .ic{width:19px;height:19px;color:var(--verde);flex:none}

.hero__fig{position:relative;margin:0}
.hero__fig img{width:100%;border-radius:var(--r2);object-fit:cover;aspect-ratio:4/3;
  box-shadow:0 20px 50px -22px rgba(6,37,74,.4)}
.hero__badge{position:absolute;left:-14px;bottom:22px;display:flex;align-items:center;gap:11px;
  background:#fff;padding:13px 18px;border-radius:13px;
  box-shadow:0 10px 30px -10px rgba(6,37,74,.32);border:1px solid var(--linha)}
.hero__badge .ic{color:var(--verde);width:26px;height:26px;flex:none}
.hero__badge span{display:flex;flex-direction:column;font-size:13px;color:var(--tx3);line-height:1.35}
.hero__badge b{font-size:14.5px;font-weight:700;color:var(--tx)}

.provas{list-style:none;padding:var(--s4) 0 0;margin:0;border-top:1px solid var(--linha);
  display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--s3)}
.provas b{display:block;font-size:clamp(24px,2.6vw,30px);font-weight:800;color:var(--az-700);
  line-height:1.1;margin-bottom:4px}
.provas span{font-size:14.5px;line-height:1.5;color:var(--tx3)}

/* ── seções ─────────────────────────────────────────────── */
.sec{padding-block:clamp(48px,8vw,88px)}
.sec--claro{background:var(--cl);border-block:1px solid var(--linha)}
.cab{max-width:44rem;margin-bottom:clamp(28px,4vw,48px)}
.cab--centro{margin-inline:auto;text-align:center}
.cab h2{font-size:clamp(27px,3.6vw,40px);font-weight:800;margin-bottom:12px}
.cab p{font-size:17px;line-height:1.65;max-width:58ch}
.cab--centro p{margin-inline:auto}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--s2)}
.cards article{padding:var(--s4) var(--s3);background:#fff;border:1px solid var(--linha);
  border-radius:var(--r);transition:border-color .2s var(--e),transform .2s var(--e),box-shadow .2s var(--e)}
.cards .ic{color:var(--az-600);margin-bottom:var(--s2)}
.cards h3{font-size:18px;font-weight:700;margin-bottom:7px}
.cards p{font-size:14.5px;line-height:1.6;color:var(--tx3)}
@media (hover:hover) and (pointer:fine){
  .cards article:hover{border-color:var(--az-100);transform:translateY(-4px);
    box-shadow:0 14px 32px -14px rgba(6,37,74,.22)}
}

/* ── passos ─────────────────────────────────────────────── */
.passos{display:grid;grid-template-columns:1fr .85fr;gap:clamp(28px,5vw,56px);align-items:center}
.passos ol{list-style:none;padding:0;margin:0;display:grid;gap:var(--s4)}
.passos li{display:grid;grid-template-columns:auto 1fr;gap:6px var(--s3)}
.passos span{grid-row:span 2;display:grid;place-items:center;width:44px;height:44px;
  border-radius:50%;background:var(--az-600);color:#fff;font-size:19px;font-weight:800}
.passos h3{font-size:19px;font-weight:700;align-self:end}
.passos p{font-size:15px;line-height:1.62;color:var(--tx3)}
.passos figure{margin:0}
.passos figure img{width:100%;border-radius:var(--r2);object-fit:cover;aspect-ratio:3/2;
  box-shadow:0 18px 44px -20px rgba(6,37,74,.35)}

/* ── faixa (trocar de contador) ─────────────────────────── */
.faixa{padding-block:clamp(48px,8vw,88px);
  background:linear-gradient(140deg,var(--az-800),var(--az-600));color:#D3E4F6}
.faixa__in{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,56px);align-items:center}
.faixa h2{font-size:clamp(26px,3.4vw,38px);font-weight:800;color:#fff;margin-bottom:var(--s2)}
.faixa > .wrap > div > p{font-size:16.5px;line-height:1.68;max-width:50ch;margin-bottom:var(--s3)}
.faixa ul{list-style:none;padding:0;margin:0 0 var(--s4);display:grid;gap:11px}
.faixa li{display:flex;align-items:center;gap:11px;font-size:15.5px}
.faixa .ic{color:var(--amarelo);flex:none;width:19px;height:19px}
.faixa__box{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.24);
  border-radius:var(--r2);padding:clamp(24px,3vw,34px)}
.faixa__q{font-size:19px;font-weight:700;color:#fff;margin-bottom:12px}
.faixa__a{font-size:15.5px;line-height:1.7;color:#CFE1F4}

/* ── portal ─────────────────────────────────────────────── */
.portal{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(28px,5vw,56px);align-items:center}
.portal__foto{position:relative;margin:0}
.portal__foto img{width:100%;border-radius:var(--r2);object-fit:cover;aspect-ratio:3/2;
  box-shadow:0 20px 50px -22px rgba(6,37,74,.4)}
.portal__mock{position:absolute;right:-10px;bottom:-18px;width:min(74%,290px);
  background:#fff;border:1px solid var(--linha);border-radius:13px;overflow:hidden;
  box-shadow:0 18px 44px -16px rgba(6,37,74,.4)}
.pm__top{display:flex;align-items:center;gap:8px;padding:10px 13px;
  background:var(--az-800);color:#fff;font-size:13px;font-weight:600}
.pm__top img{width:20px;height:20px;border-radius:50%;background:#fff}
.pm__r{display:flex;justify-content:space-between;gap:12px;padding:10px 13px;
  font-size:12.5px;border-bottom:1px solid var(--linha);color:var(--tx2)}
.pm__r:last-child{border-bottom:0}
.pm__r b{color:var(--tx3);font-weight:600;font-variant-numeric:tabular-nums;flex:none}
.portal h2{font-size:clamp(26px,3.4vw,38px);font-weight:800;margin-bottom:var(--s2)}
.portal__lead{font-size:16.5px;line-height:1.7;max-width:50ch;margin-bottom:var(--s3)}
.ticks{list-style:none;padding:0;margin:0 0 var(--s4);display:grid;gap:11px}
.ticks li{display:flex;align-items:center;gap:11px;font-size:15.5px;color:var(--tx2)}
.ticks .ic{color:var(--verde);flex:none;width:19px;height:19px}

/* ── setores ────────────────────────────────────────────── */
.setores{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,56px);align-items:center}
.setores dl{margin:0;display:grid}
.setores dl > div{padding:var(--s3) 0;border-bottom:1px solid var(--linha2)}
.setores dl > div:last-child{border-bottom:0}
.setores dt{font-size:18px;font-weight:700;color:var(--tx);margin-bottom:5px}
.setores dd{margin:0;font-size:15px;line-height:1.6;color:var(--tx3)}
.setores figure{margin:0}
.setores figure img{width:100%;border-radius:var(--r2);object-fit:cover;aspect-ratio:3/2;
  box-shadow:0 18px 44px -20px rgba(6,37,74,.35)}

/* ── FAQ ────────────────────────────────────────────────── */
.faq{border-top:1px solid var(--linha2)}
.faq details{border-bottom:1px solid var(--linha2)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:20px 0;min-height:62px;cursor:pointer;list-style:none;
  font-size:17.5px;font-weight:700;color:var(--tx);transition:color .2s var(--e)}
.faq summary::-webkit-details-marker{display:none}
.chev{color:var(--az-600);flex:none;transition:transform .22s var(--e)}
.faq details[open] .chev{transform:rotate(180deg)}
@media (hover:hover) and (pointer:fine){.faq summary:hover{color:var(--az-700)}}
.faq details p{padding-bottom:22px;font-size:16px;line-height:1.72;max-width:68ch;color:var(--tx2)}
@media (prefers-reduced-motion:no-preference){
  .faq details[open] p{animation:ab .3s var(--e)}
  @keyframes ab{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
}

/* ── fechamento ─────────────────────────────────────────── */
.fim{padding-block:clamp(48px,8vw,88px);background:var(--az-900);color:#B7CDE2}
.fim__in{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,56px);align-items:start}
.fim h2{font-size:clamp(26px,3.4vw,38px);font-weight:800;color:#fff;margin-bottom:14px}
.fim > .wrap > div > p{font-size:17px;line-height:1.66;max-width:44ch;margin-bottom:var(--s4)}
.fim__bts{display:flex;flex-wrap:wrap;gap:12px}
.fim__soc{display:flex;gap:12px;margin-top:var(--s4)}
.fim__soc a{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;
  border:1px solid rgba(255,255,255,.26);color:#fff;
  transition:background-color .2s var(--e),border-color .2s var(--e)}
@media (hover:hover) and (pointer:fine){
  .fim__soc a:hover{background:rgba(255,255,255,.13);border-color:#fff}
}
.fim address{font-style:normal;display:grid;gap:var(--s3);
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.17);
  border-radius:var(--r2);padding:clamp(22px,3vw,30px)}
.fim address p{display:grid;grid-template-columns:auto 1fr;gap:12px;font-size:15px;line-height:1.62}
.fim address .ic{color:var(--amarelo);width:19px;height:19px;margin-top:3px}

/* ── rodapé ─────────────────────────────────────────────── */
.rod{background:var(--az-900);border-top:1px solid rgba(255,255,255,.13);padding-top:var(--s5)}
.rod__in{display:flex;flex-wrap:wrap;gap:var(--s5);justify-content:space-between;
  align-items:flex-start;padding-bottom:var(--s4)}
.rod .logo__t b{color:#fff}
.rod .logo__t i{color:#8FA8C0}
.rod__d{margin-top:14px;font-size:14.5px;line-height:1.6;color:#8FA8C0;max-width:38ch}
.rod__c{margin-top:9px;font-size:13px;color:#7C93AB}
.rod nav{display:flex;flex-wrap:wrap;gap:14px 26px;max-width:26rem}
.rod nav a{font-size:14.5px;color:#8FA8C0;transition:color .2s var(--e)}
@media (hover:hover) and (pointer:fine){.rod nav a:hover{color:#fff}}
.rod__leg{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;
  padding-block:var(--s3);border-top:1px solid rgba(255,255,255,.1)}
.rod__leg p{font-size:12.5px;color:#7C93AB;max-width:62ch}

/* ── WhatsApp flutuante ─────────────────────────────────── */
.flut{position:fixed;right:20px;bottom:20px;z-index:var(--z-flut);display:grid;place-items:center;
  width:58px;height:58px;border-radius:50%;background:var(--wa);color:#fff;
  box-shadow:0 10px 26px -8px rgba(16,128,63,.7);transition:transform .13s var(--e)}
.flut .ic{width:28px;height:28px}
.flut:active{transform:scale(.94)}
@media (hover:hover) and (pointer:fine){.flut:hover{transform:scale(1.06)}}

/* ── entrada (só quando o JS assume) ────────────────────── */
.anim .cards article,.anim .passos li,.anim .setores dl > div,.anim .provas li{
  opacity:0;transform:translateY(14px)}
.anim .cards article.vis,.anim .passos li.vis,.anim .setores dl > div.vis,.anim .provas li.vis{
  opacity:1;transform:none;transition:opacity .5s var(--e),transform .5s var(--e)}
.anim .cards article:nth-child(2).vis,.anim .passos li:nth-child(2).vis{transition-delay:70ms}
.anim .cards article:nth-child(3).vis,.anim .passos li:nth-child(3).vis{transition-delay:140ms}
.anim .cards article:nth-child(4).vis{transition-delay:210ms}

/* ── responsivo ─────────────────────────────────────────── */
@media (max-width:960px){
  .hero__in,.passos,.faixa__in,.portal,.setores,.fim__in{grid-template-columns:1fr}
  .hero__fig{order:-1;max-width:560px}
  .hero__badge{left:12px}
  .passos figure,.setores figure{max-width:560px}
  .portal__mock{right:8px}
  .nav{position:fixed;inset:74px 0 auto;z-index:var(--z-nav);flex-direction:column;gap:0;
    padding:var(--s2) clamp(16px,4vw,32px) var(--s4);background:rgba(255,255,255,.99);
    backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
    border-bottom:1px solid var(--linha);box-shadow:0 16px 34px -18px rgba(6,37,74,.35);
    clip-path:inset(0 0 100% 0);transition:clip-path .32s var(--e)}
  .nav.aberto{clip-path:inset(0 0 0 0)}
  .nav a{padding:15px 2px;font-size:17px;border-bottom:1px solid var(--linha)}
  .hdr__cta{display:none}
  .burger{display:flex;margin-left:auto}
}
@media (max-width:620px){
  .hero__bts .bt,.fim__bts .bt{width:100%}
  .flut{right:14px;bottom:14px}
  .portal__mock{position:static;width:100%;margin-top:14px;box-shadow:none}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .anim .cards article,.anim .passos li,.anim .setores dl > div,.anim .provas li{
    opacity:1;transform:none}
}
