body{margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:"Inter",system-ui,sans-serif;
    font-size:16px;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
    position:relative;}
.bg-fx{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.blob-2{width:460px;height:460px;background:radial-gradient(circle, rgba(79,201,255,.35), transparent 70%);top:900px;left:-160px;}
.hero h1{font-size:clamp(28px,7vw,46px);
    font-weight:800;
    margin:16px 0 14px;
    letter-spacing:-0.01em;}
.hero-sub{font-size:16.5px;color:var(--text-muted);max-width:520px;margin:0 auto;}
.hero-photo-wrap{position:relative;max-width:420px;margin:0 auto;}
.hero-photo{display:block;width:100%;
    position:relative;z-index:1;
    border-radius:22px;
    overflow:hidden;
    border:1px solid var(--border-strong);
    box-shadow:0 30px 70px -20px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.02) inset;
    background:none;padding:0;font:inherit;text-align:left;cursor:zoom-in;}
.hero-photo img{width:100%;display:block;}
.hero-photo::after{content:"";position:absolute;inset:0;
    background:linear-gradient(160deg, rgba(47,107,255,.18), transparent 45%),
               linear-gradient(0deg, rgba(5,7,13,.6), transparent 32%);
    pointer-events:none;}
.hero-photo::before{content:"";position:absolute;inset:0;
    background:linear-gradient(0deg, rgba(5,7,13,.92) 0%, transparent 26%);
    z-index:2;pointer-events:none;}
section{padding:60px 0;}
.section-head{text-align:center;max-width:600px;margin:0 auto 32px;}
.section-head h2{font-size:clamp(24px,5.6vw,32px);font-weight:800;letter-spacing:-0.01em;}
.cert-row{display:flex;gap:14px;margin-top:6px;flex-wrap:wrap;}
.cert-card{display:block;width:112px;border-radius:12px;overflow:hidden;
    border:1px solid var(--border-strong);
    box-shadow:0 14px 30px -14px rgba(0,0,0,.6);
    transition:transform .2s ease, border-color .2s ease;
    cursor:zoom-in;background:none;padding:0;font:inherit;}
.sobre-copy h2{font-size:clamp(23px,5.4vw,30px);font-weight:800;letter-spacing:-0.01em;}
.sobre-copy p{color:var(--text-muted);font-size:15.5px;margin-bottom:14px;text-align:left;}
.faq-item.open .faq-a{max-height:260px;}
.footer-grid{display:flex;flex-direction:column;gap:14px;align-items:center;text-align:center;}
@media (max-width:759px){
  header .brand{font-size:14px;}
}
@media (min-width:760px){
  .hero-grid{grid-template-columns:1fr 1fr;text-align:left;}
  .hero-photo-wrap{max-width:440px;margin:0;}
  .steps-grid{grid-template-columns:repeat(2,1fr);}
}
@media (min-width:1020px){
  .steps-grid{grid-template-columns:repeat(4,1fr);}
}
@media (min-width:1020px){
  .step-card:nth-child(4) h3{font-size:17px;}
}
