/* Home — só o que não existe no site.css */

/* HERO em duas colunas, com o print inclinado */
.hero{padding:clamp(48px,6vw,80px) 0 clamp(56px,7vw,90px);overflow:hidden;position:relative}
.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  grid-template-areas:"txt shot" "checks shot";
  column-gap:clamp(32px,5vw,64px);
  row-gap:0;
  align-items:center;
}
.hero-txt{grid-area:txt}
.hero-shot{grid-area:shot}
.hero-checks{grid-area:checks}
.hero h1{font-size:clamp(2.1rem,4.6vw,3.3rem);letter-spacing:-.033em;line-height:1.08;max-width:14ch}
.hero h1 em{font-style:normal;color:#5FA8FF}
.hero-sub{max-width:50ch;font-size:clamp(1rem,1.5vw,1.1rem)}
.hero-act{margin-top:30px}

.hero-checks{list-style:none;display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:26px}
.hero-checks li{position:relative;padding-left:26px;font-size:.93rem;color:rgba(255,255,255,.8)}
.hero-checks li::before{
  content:'';position:absolute;left:0;top:4px;width:17px;height:17px;border-radius:50%;
  background:rgba(34,211,238,.16);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%2322D3EE' stroke-width='2.6'%3E%3Cpath d='M4 8.3l2.6 2.6L12 5.6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center;background-size:11px;
}

/* o print sai levemente da margem e ganha profundidade */
.hero-shot{perspective:1600px}
.shot{
  transform:rotateY(-9deg) rotateX(3deg) translateZ(0);
  border-radius:14px;
  box-shadow:0 40px 80px -30px rgba(0,0,0,.75), 0 0 0 1px rgba(255,255,255,.08);
  transition:transform .5s cubic-bezier(.2,.7,.3,1);
  width:118%;
}
.shot:hover{transform:rotateY(-4deg) rotateX(1deg)}
.shot .mock{border-radius:14px}

@media(max-width:1000px){
  .hero-grid{
    grid-template-columns:1fr;
    grid-template-areas:"txt" "shot" "checks";
    row-gap:28px;
  }
  .hero-checks{margin-top:0}
  .shot{transform:none;width:100%}
  .shot:hover{transform:none}
  .hero h1{max-width:18ch}
}
@media(max-width:560px){
  .hero-act{flex-wrap:nowrap;gap:8px}
  .hero-act .btn{
    flex:1 1 0;
    min-width:0;
    padding:13px 10px;
    font-size:.83rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}
@media(prefers-reduced-motion:reduce){
  .shot{transform:none}
}

/* três pontas */
.pontas{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ponta{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:28px 24px}
.ponta-ic{width:42px;height:42px;border-radius:11px;background:var(--tile);color:var(--blue-700);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.ponta b{display:block;font-size:1.1rem;font-weight:700;margin-bottom:7px}
.ponta p{font-size:.95rem;color:var(--muted)}
.ponta-how{margin-top:14px;font-size:.85rem;font-weight:600;color:var(--blue-700)}

/* grade de funcionalidades */
.funcs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.func{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:24px 22px;text-decoration:none;color:inherit;display:block;transition:.2s}
.func:hover{box-shadow:var(--sh-hover);transform:translateY(-2px);border-color:var(--blue)}
.func b{display:block;font-weight:700;margin-bottom:6px;font-size:1.02rem}
.func p{font-size:.92rem;color:var(--muted)}
.func-arrow{display:inline-block;margin-top:12px;font-size:.86rem;font-weight:600;color:var(--blue-700)}

/* cadeia lado a lado */
.cadeia{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,60px);align-items:center}

/* diferenciais */
.difs{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.dif{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:24px 22px;display:flex;gap:16px;align-items:flex-start}
.dif-ck{width:30px;height:30px;border-radius:9px;background:rgba(18,164,116,.13);color:#0B7D58;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:800}
.dif b{display:block;font-weight:700;margin-bottom:4px}
.dif span{font-size:.93rem;color:var(--muted)}

/* prova */
.provas{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.prova{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:24px}
.prova-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;gap:12px}
.prova-top b{font-weight:700;font-size:1.05rem}
.prova-top span{font-size:.85rem;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px;padding-top:28px;border-top:1px solid var(--line)}
.stat b{display:block;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:800;letter-spacing:-.03em;color:var(--blue-700);line-height:1.1}
.stat span{font-size:.9rem;color:var(--muted)}

/* passos */
.passos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.passo{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:26px 24px}
.passo-n{width:32px;height:32px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.88rem;margin-bottom:14px}
.passo b{display:block;font-weight:700;margin-bottom:6px}
.passo p{font-size:.93rem;color:var(--muted)}

@media(max-width:1000px){.funcs,.pontas,.passos{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
  .funcs,.pontas,.passos,.difs,.provas,.cadeia,.stats{grid-template-columns:1fr}
}
/* Ajuste para a imagem real do print encaixar no mock */
.shot .mock img {
  width: 100%;
  height: auto;
  display: block;
}

/* Ajuste universal para imagens dentro de qualquer mock */
.mock img {
  width: 100%;
  height: auto;
  display: block;
}