:root{
  --reffisa-purple:#6D4080;
  --reffisa-purple-dark:#2B1038;
  --reffisa-purple-soft:#8A58A0;
  --reffisa-yellow:#FFF212;
  --reffisa-yellow-hover:#FFE600;

  --bg:#F7F2FA;
  --bg-soft:#FFFFFF;
  --text:#25112F;
  --muted:#6F6475;
  --border:rgba(109,64,128,.18);
}

body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);

  background:
    radial-gradient(
      1200px 600px at 0% 0%,
      rgba(109,64,128,.18),
      transparent 60%
    ),

    radial-gradient(
      900px 500px at 100% 20%,
      rgba(255,242,18,.10),
      transparent 55%
    ),

    linear-gradient(
      180deg,
      #f4edf8 0%,
      #eee6f3 35%,
      #f8f4fb 100%
    );
}

a{color:inherit; text-decoration:none}
.container{width:min(1120px, 92%); margin:0 auto}

/* TOPBAR */
.topbar{
  position:sticky;
  top:0;
  z-index:99;
  background:linear-gradient(135deg,#2B1038 0%,#3D1450 45%,#6D4080 100%);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 10px 30px rgba(43,16,56,.20);
}

.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:125px;
  padding:0;
  gap:18px;
}

.brand{
  display:flex;
  align-items:center;
  position:relative;
}

.brand img{
  height:318px;
  max-width:430px;
  width:auto;
  object-fit:contain;
  display:block;
  position:relative;
  top:0;
}

.links{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
}

.badge{
  font-size:13px;
  color:rgba(255,255,255,.82);
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  transition:.2s ease;
}

.badge:hover{
  transform:translateY(-1px);
  border-color:rgba(255,242,18,.55);
  color:#FFF212;
}

/* BUTTONS */
.btn{
  display:inline-flex; gap:10px; align-items:center; justify-content:center;
  padding:12px 16px;
  border-radius:14px;
  font-weight:800;
  letter-spacing:.2px;
  border:1px solid rgba(255,255,255,.14);
  background: linear-gradient(135deg, #84529A, #6D4080);
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  cursor:pointer;
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.btn:hover{transform: translateY(-1px); filter: brightness(1.06); box-shadow: 0 14px 40px rgba(0,0,0,.35)}
.btn:active{transform: translateY(0px)}
.btn.outline{
  background: rgba(255,255,255,.03);
  box-shadow: none;
}
.btn.orange{
  background: linear-gradient(135deg, var(--reffisa-yellow), var(--reffisa-yellow-hover));
  color:#111;
  border-color: rgba(255,242,18,.45);
  box-shadow: 0 12px 26px rgba(255,242,18,.28);
}

/* CARDS */
.card{
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.92),
      rgba(255,255,255,.84)
    );

  border:1px solid rgba(109,64,128,.12);

  border-radius:24px;

  padding:24px;

  box-shadow:
    0 20px 50px rgba(43,16,56,.10);

  backdrop-filter:blur(16px);
}
.card.soft{box-shadow:none}

hr{border:none; border-top:1px solid rgba(255,255,255,.10); margin:16px 0}

/* TYPO */
.h1{font-size:44px; line-height:1.08; margin:0 0 10px; letter-spacing:-.6px}
.p{color:#A1A1AA; margin:0 0 16px; font-size:16px; line-height:1.6}
.small{font-size:13px; color:#A1A1AA; line-height:1.55}
@media(max-width:520px){.h1{font-size:34px}}

/* LAYOUT */
.hero{padding:44px 0 18px}
.hero-grid{display:grid; grid-template-columns: 1.15fr .85fr; gap:18px; align-items:stretch}
.section{padding:18px 0}
.grid-3{display:grid; grid-template-columns:repeat(3, 1fr); gap:12px}
.cards{display:grid; grid-template-columns:repeat(2, 1fr); gap:12px}
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
}

/* KPI */
.kpi{display:flex; flex-direction:column; gap:6px; padding:14px}
.kpi strong{font-size:18px}

/* NOTICE */
.notice{
  font-size:13px; color:#A1A1AA;
  border-left:3px solid rgba(255,242,18,.75);
  padding:12px 12px;
  background: rgba(255,122,0,.06);
  border-radius:14px;
}

/* FORM */
.form{display:grid; gap:12px}
.row{display:grid; grid-template-columns:1fr 1fr; gap:12px}
@media(max-width:720px){.row{grid-template-columns:1fr}}
label{font-size:13px; color:#A1A1AA}

input, select, textarea{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  background: rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.14);
  color:#E5E7EB;
  outline:none;
  transition: border-color .18s ease, background .18s ease;
}
input::placeholder, textarea::placeholder{color: rgba(161,161,170,.75)}
input:focus, select:focus, textarea:focus{
  border-color: rgba(122,74,138,.65);
  background: rgba(255,255,255,.06);
}
textarea{resize: vertical; min-height:92px}

/* FOOTER */
.footer{
  padding:26px 0 44px;
  color:#A1A1AA;
  font-size:13px;
}
.footer a{color:#E5E7EB; opacity:.9}
.footer .cols{
  display:flex; gap:16px; flex-wrap:wrap; align-items:flex-start; justify-content:space-between;
}

/* HOME MAIS PARECIDA COM A IMAGEM 1 */

.container{
  width:min(1420px, 88%);
}

.hero{
  padding:34px 0 24px;
}

.hero-grid{
  grid-template-columns: 1.25fr .95fr;
  gap:28px;
  align-items:start;
}

.hero-grid > .card:first-child{
  min-height:560px;
}

.hero-grid > .card:nth-child(2){
  min-height:560px;
}

.card{
  padding:34px;
}

.cards{
  gap:14px;
}

.cards .card{
  padding:26px 28px;
  min-height:112px;
}

.h1{
  font-size:48px;
  line-height:1.08;
}

@media(max-width:980px){
  .container{
    width:min(94%, 100%);
  }

  .hero-grid{
    grid-template-columns:1fr;
  }

  .hero-grid > .card:first-child,
  .hero-grid > .card:nth-child(2){
    min-height:auto;
  }
}

/* ATALHOS RÁPIDOS MAIS COMPACTOS */

.cards{
  gap:14px;
}

.cards .card{
  min-height:auto;
  padding:18px 22px;
  border-radius:22px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  transition:.18s ease;
}

.cards .card:hover{
  transform:translateY(-2px);
  box-shadow:
    0 14px 34px rgba(109,64,128,.12);
}

.cards .card h3,
.cards .card strong{
  margin:0 0 6px;
  font-size:16px;
}

.cards .card p{
  margin:0;
  font-size:14px;
  line-height:1.45;
}

/* ÍCONES */

.card-icon{
  width:52px;
  height:52px;

  min-width:52px;

  border-radius:16px;

  background:
    linear-gradient(
      135deg,
      rgba(109,64,128,.12),
      rgba(109,64,128,.06)
    );

  display:flex;
  align-items:center;
  justify-content:center;

  color:#6D4080;

  margin-right:18px;
}

/* LAYOUT INTERNO */

.card-row{
  display:flex;
  align-items:center;
  width:100%;
}

.card-content{
  flex:1;
}

/* SETA */

.card-arrow{
  color:#6D4080;
  font-size:22px;
  opacity:.7;
}

/* COOKIE BAR */
.cookie-banner{
  position:fixed;
  bottom:18px;
  left:50%;
  transform:translateX(-50%);
  width:min(92%, 780px);

  background:rgba(22,14,32,.92);
  backdrop-filter:blur(16px);

  border:1px solid rgba(255,255,255,.08);

  border-radius:18px;

  padding:14px 18px;

  z-index:9999;

  box-shadow:
    0 20px 60px rgba(0,0,0,.28);
}
.shortcut-card{
  padding:18px 20px !important;
}

.shortcut-card .small{
  margin-top:4px;
}

.card-icon{
  font-size:22px;
}

.card-arrow{
  font-size:28px;
  line-height:1;
}

/* FOOTER PREMIUM */

.footer{
  margin-top:60px;

  background:
    linear-gradient(
      135deg,
      #2B1038,
      #4A245C 55%,
      #2B1038
    );

  color:#fff;

  border-top:1px solid rgba(255,255,255,.08);
}

.footer-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr 1fr;
  gap:28px;

  padding:38px 0;
}

.footer-brand img{
  height:74px;
  width:auto;
}

.footer-item{
  display:flex;
  gap:14px;
  align-items:flex-start;
}

.footer-icon{
  width:44px;
  height:44px;

  border-radius:14px;

  background:
    rgba(255,255,255,.08);

  display:flex;
  align-items:center;
  justify-content:center;

  font-size:20px;
}

.footer-item strong{
  display:block;
  margin-bottom:6px;
  font-size:15px;
}

.footer-item span{
  color:rgba(255,255,255,.72);
  line-height:1.6;
  font-size:14px;
}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
}

.footer-bottom-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;

  padding:18px 0;
}

.footer-links{
  display:flex;
  gap:18px;
}

.footer-links a{
  color:rgba(255,255,255,.76);
  text-decoration:none;
  transition:.2s ease;
}

.footer-links a:hover{
  color:#FFF212;
}
.footer{
  margin-top:60px !important;
  padding:0 !important;
  background:linear-gradient(135deg,#2B1038,#4A245C 55%,#2B1038) !important;
  color:#fff !important;
  text-align:left !important;
}

.footer-grid{
  display:grid !important;
  grid-template-columns:1.1fr 1fr 1fr 1fr !important;
  align-items:center !important;
  gap:34px !important;
  padding:34px 0 !important;
}

.footer-brand img{
  height:70px !important;
  max-width:220px !important;
}

.footer-item{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  justify-content:flex-start !important;
  text-align:left !important;
}

.footer-bottom-row{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  flex-direction:row !important;
  text-align:left !important;
}

.footer-links{
  display:flex !important;
  flex-direction:row !important;
  gap:18px !important;
}

@media(max-width:720px){
  .footer-grid{
    grid-template-columns:1fr !important;
    text-align:center !important;
  }

  .footer-item{
    justify-content:center !important;
    text-align:center !important;
  }

  .footer-bottom-row{
    flex-direction:column !important;
    text-align:center !important;
  }
}

@media(max-width:980px){

  .footer-grid{
    grid-template-columns:1fr 1fr;
  }

}

@media(max-width:720px){

  .footer-grid{
    grid-template-columns:1fr;
    text-align:center;
  }

  .footer-item{
    justify-content:center;
  }

  .footer-bottom-row{
    flex-direction:column;
    text-align:center;
  }

}

.cookiebar .box{display:flex; align-items:center; justify-content:space-between; gap:14px}
.cookiebar p{margin:0; color:#A1A1AA; font-size:13px; line-height:1.45}
@media(max-width:720px){
  .cookiebar .box{flex-direction:column; align-items:stretch}
}
/* =========================================
RESPONSIVO PREMIUM REFFISA
========================================= */

@media(max-width:980px){

.nav{
flex-direction:column;
align-items:center;
text-align:center;
padding:14px 0;
}

.links{
justify-content:center;
}

.brand img{
height:92px;
}

.hero{
padding:22px 0 10px;
}

.hero-grid{
gap:14px;
}

.card{
padding:16px;
border-radius:16px;
}

.h1{
font-size:36px;
line-height:1.12;
}

}

@media(max-width:720px){

body{
overflow-x:hidden;
}

.container{
width:min(94%, 100%);
}

.brand img{
  height:92px;
  width:auto;
  object-fit:contain;
}

.links{
gap:8px;
}

.badge{
font-size:11px;
padding:7px 9px;
}

.btn{
width:100%;
justify-content:center;
padding:13px 16px;
font-size:15px;
}

.h1{
font-size:32px;
line-height:1.1;
}

.p,
.small,
label{
  color:var(--muted);
}

.hero-grid{
grid-template-columns:1fr;
}

.grid-3{
grid-template-columns:1fr;
}

.cards{
grid-template-columns:1fr;
}

.kpi{
padding:10px 0;
}

.footer{
text-align:center;
}

.footer > .container > div{
flex-direction:column !important;
align-items:center !important;
text-align:center;
}

}

@media(max-width:720px){
  .brand img{
    height:64px;
  }

  .nav{
    flex-direction:column;
    align-items:center;
    text-align:center;
  }

  .links{
    justify-content:center;
  }
}
