/* =====================================================================
   homepage.css — Homepage Apple-like (Fase homepage)
   ---------------------------------------------------------------------
   Tudo dentro de .hp (não vaza). Sem Revolution Slider, sem fotos.
   Off-white #fafaf9, Manrope + Fraunces (títulos grandes), verde subtil.
   O header (.ap-*) e o footer do tema mantêm-se (não tocados aqui).
   ===================================================================== */
.hp{
  --ink:#1d1d1f; --muted:#86868b; --hair:#e8e8e8; --hair-green:#d4e9cf;
  --green:#3ea22b; --green-d:#2c7d1f; --bg:#fafaf9; --col:1040px;
  --serif:'Fraunces',Georgia,serif;
  background:var(--bg);
  color:var(--ink);
  font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
.hp *{box-sizing:border-box}
.hp a{color:inherit;text-decoration:none}
.hp h1,.hp h2,.hp p{margin:0}
.hp .hp-band{max-width:var(--col);margin:0 auto;padding:0 40px}

/* ---------- hero (sem slider, sem imagem) ---------- */
.hp .hp-hero{min-height:80vh;display:flex;flex-direction:column;justify-content:center;padding:120px 0}
.hp .hp-hero h1{font-family:var(--serif);font-weight:200;font-size:clamp(56px,11vw,108px);line-height:.98;
  letter-spacing:-.02em;color:var(--ink)}
.hp .hp-hero h1 .dot{color:var(--green)}
.hp .hp-hero .sub{font-size:clamp(20px,2.6vw,27px);font-weight:400;color:var(--muted);margin-top:26px;max-width:30ch}
.hp .hp-hero .cta{display:inline-flex;align-items:center;gap:8px;margin-top:36px;font-size:18px;
  color:var(--green);font-weight:500;align-self:flex-start}
.hp .hp-hero .cta:hover{color:var(--green-d)}
.hp .hp-hero .cta .ar{transition:transform .2s}
.hp .hp-hero .cta:hover .ar{transform:translateY(3px)}

/* ---------- faixa CMS (sem fundo de cor) ---------- */
.hp .hp-slogan{padding:90px 0}
.hp .hp-slogan p{font-weight:300;font-size:clamp(24px,3.4vw,32px);line-height:1.4;color:#444;max-width:24ch}

/* ---------- secção genérica ---------- */
.hp .hp-sec{padding:120px 0}
.hp .hp-h2{font-family:'Manrope',sans-serif;font-size:clamp(30px,4vw,42px);font-weight:500;letter-spacing:-.01em;
  color:var(--ink);margin-bottom:6px}
.hp .hp-h2 .dot{color:var(--green)}
.hp .hp-h2-rule{border:0;border-top:1px solid var(--hair-green);margin:18px 0 8px}

/* ---------- grelha tipográfica de categorias ---------- */
.hp .hp-cats a{display:flex;align-items:center;justify-content:space-between;position:relative;
  padding:30px 2px;border-bottom:1px solid var(--hair);min-height:92px}
.hp .hp-cats a:last-child{border-bottom:0}
.hp .hp-cats a .nm{font-size:clamp(24px,3.2vw,34px);font-weight:400;color:var(--ink);
  transition:color .2s ease,transform .25s ease}
.hp .hp-cats a .go{font-size:22px;color:var(--muted);transition:transform .25s ease,color .2s ease}
.hp .hp-cats a::before{content:"";position:absolute;left:-18px;top:50%;height:0;width:3px;background:var(--green);
  transform:translateY(-50%);transition:height .25s ease}
.hp .hp-cats a:hover .nm{color:var(--green);transform:translateX(14px)}
.hp .hp-cats a:hover .go{color:var(--green);transform:translateX(-4px)}
.hp .hp-cats a:hover::before{height:46px}

/* ---------- CTA final ---------- */
.hp .hp-cta-final{padding:130px 0}
.hp .hp-cta-final h2{font-family:var(--serif);font-weight:200;font-size:clamp(40px,6.5vw,72px);line-height:1.02;
  letter-spacing:-.02em;color:var(--ink)}
.hp .hp-cta-final h2 .dot{color:var(--green)}
.hp .hp-cta-final .sub{font-size:clamp(18px,2.2vw,22px);color:var(--muted);margin-top:18px;font-weight:400}
.hp .hp-cta-final .cta{display:inline-flex;align-items:center;gap:8px;margin-top:30px;font-size:18px;
  color:var(--green);font-weight:500}
.hp .hp-cta-final .cta:hover{color:var(--green-d)}
.hp .hp-cta-final .cta .ar{transition:transform .2s}
.hp .hp-cta-final .cta:hover .ar{transform:translateY(3px)}

/* ---------- responsive ---------- */
@media(max-width:760px){
  .hp .hp-band{padding:0 24px}
  .hp .hp-hero{min-height:auto;padding:90px 0}
  .hp .hp-sec,.hp .hp-cta-final{padding:80px 0}
}
