/* RFT - CSS principal com paleta atualizada e mobile refinado */
:root{
  --bg:#091224;
  --bg-alt:#111c33;
  --text:#e7ecf7;
  --muted:#b4c0d9;
  --brand1:#7b6dff;
  --brand2:#12d4ae;
  --brand3:#ff7a4f;
  --glass: rgba(255,255,255,0.10);
  --glass-border: rgba(255,255,255,0.18);
  --shadow: 0 10px 30px rgba(0,0,0,0.35);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial;
  color:var(--text);
  line-height:1.6;
  letter-spacing:.2px;
  background:
    radial-gradient(1200px 800px at 10% -10%, #18223c 0%, transparent 60%),
    radial-gradient(900px 600px at 90% 10%, #101b33 0%, transparent 60%),
    linear-gradient(180deg, var(--bg) 0%, #050812 100%);
}
.container{width:min(1120px, 100% - 2rem); margin-inline:auto}
a{color:var(--brand2); text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{line-height:1.25; margin:0 0 .6rem}
p{margin:.5rem 0 1rem}
.ribbon{background: linear-gradient(90deg, var(--brand1), var(--brand2), var(--brand3)); color:white; text-align:center; padding:.5rem 1rem; font-weight:600;}
.site-header{position:sticky; top:0; z-index:50; backdrop-filter:saturate(1.5) blur(8px); background:rgba(5,8,18,0.7); border-bottom:1px solid var(--glass-border)}
.nav{display:flex; align-items:center; justify-content:space-between; padding:.75rem 0; position:relative}
.brand{display:flex; align-items:center; gap:.75rem}
.brand .custom-logo{height:44px; width:auto; border-radius:10px; box-shadow:var(--shadow)}
.brand-text strong{display:block; line-height:1}
.brand-text small{color:var(--muted)}
.primary-nav .menu{display:flex; gap:1rem; list-style:none; margin:0; padding:0}
.primary-nav .menu a{padding:.5rem .75rem; border-radius:999px}
.btn-nav{background:var(--glass); border:1px solid var(--glass-border)}
.nav-toggle{display:none; background:none; border:0; width:44px; height:44px}
.nav-toggle span{display:block; height:3px; background:var(--text); margin:6px 0; border-radius:2px}
.btn{display:inline-flex; align-items:center; gap:.5rem; padding:.9rem 1.1rem; border-radius:14px; border:1px solid transparent; font-weight:600; box-shadow:var(--shadow)}
.btn-primary{background:linear-gradient(135deg, var(--brand1), var(--brand2)); color:#0a0f1c}
.btn-outline{background:transparent; border-color:var(--brand2); color:var(--text)}
.btn-white{background:white; color:#0a0f1c}
.hero{position:relative; padding:5rem 0 4rem}
.hero-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:2.2rem; align-items:center}
.hero h1{font-size:clamp(2rem, 2.8vw, 3rem); margin:.5rem 0 1rem}
.hero p{color:var(--muted); font-size:1.05rem}
.cta-row{display:flex; gap:1rem; margin:1.25rem 0 1rem; flex-wrap:wrap}
.badges{display:flex; gap:1rem; flex-wrap:wrap; padding:0; margin:1rem 0 0; list-style:none}
.badges li{background:var(--glass); border:1px solid var(--glass-border); padding:.5rem .75rem; border-radius:999px; color:var(--muted)}
.hero-card .glass{padding:1.25rem; border-radius:18px; background:var(--glass); border:1px solid var(--glass-border)}
.hero-card h3{margin-top:0}
.hero-ornament{position:absolute; inset:auto 0 0; height:140px; background:
  radial-gradient(40% 60% at 20% 50%, rgba(123,109,255,0.25), transparent),
  radial-gradient(40% 60% at 80% 50%, rgba(18,212,174,0.25), transparent);
  filter:blur(40px);}
.section{padding:4rem 0}
.section.alt{background:linear-gradient(180deg, var(--bg-alt), #0a0f1c)}
.section h2{font-size:2rem; margin:0 0 .5rem}
.section-subtitle{color:var(--muted); margin-top:0}
.cards-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; margin-top:1.25rem}
.card{background:var(--glass); border:1px solid var(--glass-border); padding:1.1rem; border-radius:16px; box-shadow:var(--shadow)}
.card.thin{padding:1.1rem}
.icon-wrap{font-size:1.5rem; background:linear-gradient(135deg,var(--brand1),var(--brand2)); -webkit-background-clip:text; background-clip:text; color:transparent}
.two-col{display:grid; grid-template-columns:1fr 1fr; gap:1.75rem; align-items:start}
.glass{background:var(--glass); border:1px solid var(--glass-border); border-radius:16px; padding:1.1rem; box-shadow:var(--shadow)}
.checklist{list-style:none; padding:0; margin:1rem 0 0}
.checklist li{margin:.4rem 0; position:relative; padding-left:1.2rem}
.checklist li::before{content:"✔"; position:absolute; left:0; color:var(--brand2)}
.testimonial-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem}
blockquote{margin:0; padding:1rem; border-left:4px solid var(--brand2); background:rgba(255,255,255,0.03); border-radius:12px}
.contact-form{display:grid; gap:.9rem}
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:.9rem}
.contact-form input,.contact-form textarea{
  width:100%; border:1px solid var(--glass-border); background:rgba(0,0,0,0.2);
  color:var(--text); border-radius:12px; padding:.9rem; outline:none;
}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--brand2)}
.info-list{list-style:none; padding:0; margin:.5rem 0 0}
.info-list li{display:flex; gap:.6rem; align-items:center; margin:.4rem 0; color:var(--muted)}
.site-footer{padding:1.5rem 0; border-top:1px solid var(--glass-border); background:rgba(5,8,18,0.6); backdrop-filter:blur(8px)}
.footer-grid{display:flex; align-items:center; justify-content:space-between}
.to-top{
  position:fixed; right:1rem; bottom:1rem; width:44px; height:44px; border-radius:12px;
  border:1px solid var(--glass-border); background:var(--glass); color:var(--text);
  box-shadow:var(--shadow); display:grid; place-items:center; cursor:pointer; opacity:0; pointer-events:none; transition:.2s;
}

/* ===== Mobile refinements ===== */
@media (max-width: 760px){
  .section{padding:3rem 0}
  .hero{padding:3.5rem 0 3rem}
  .container{width:calc(100% - 1.5rem)}

  .hero h1{font-size:1.9rem}
  .section h2{font-size:1.5rem}
  .hero p, .section-subtitle, .card, .contact-form input, .contact-form textarea{font-size:1rem}

  .cta-row{flex-wrap:wrap; gap:.75rem}
  .btn{padding:.9rem 1rem; border-radius:12px}

  .nav{padding:.6rem 0}
  .primary-nav{display:none; background:rgba(0,0,0,0.35); backdrop-filter:blur(6px); position:absolute; top:64px; right:.75rem; left:.75rem; border:1px solid var(--glass-border); border-radius:14px; padding:.5rem}
  .primary-nav .menu{flex-direction:column; gap:.25rem}
  .primary-nav .menu a{display:block; padding:.8rem 1rem}
  .btn-nav{display:block; margin:.5rem 1rem 1rem}

  .hero-grid{gap:1.25rem}
  .cards-grid{grid-template-columns:1fr; gap:1.25rem}
  .two-col{grid-template-columns:1fr; gap:1.25rem}
  .testimonial-grid{grid-template-columns:1fr; gap:1.25rem}

  .card{padding:1.1rem}
  .glass{padding:1.1rem}

  .grid-2{grid-template-columns:1fr; gap:.75rem}
  .contact-form{gap:.9rem}
  .contact .info-list li{align-items:flex-start}

  .footer-grid{flex-direction:column; gap:.5rem; text-align:center}
}

/* Desktop spacing tweaks */
.hero-grid{gap:2.2rem}
.cards-grid{gap:1.25rem}
.two-col{gap:1.75rem}
.testimonial-grid{gap:1.25rem}
.card{padding:1.1rem}
.glass{padding:1.1rem}
