:root {
--primary-color: #4f46e5;   /* indigo */
--secondary-color: #6b7280; /* cinza frio */
--accent-color:   #14b8a6;  /* teal destaque */
--text-color:     #0f172a;

```
/* >>> Tons de fundo visivelmente diferentes (frios) <<< */
--bg-color-light: #f1f5f9;  /* fundo geral */
--bg-color-dark:  #e2e8f0;  /* blocos alternados */
--card-bg-color:  #ffffff;  /* cartões/superfícies */

--shadow-light: 0 4px 6px rgba(2, 6, 23, 0.08);
--shadow-hover: 0 10px 18px rgba(2, 6, 23, 0.14);
--border-radius: 8px;
--header-height: 70px;

--primary: #4f46e5;
--text:   #0f172a;
--muted:  #64748b;
--bg:     #ffffff;          /* base de modais/cartões */
--shadow: 0 10px 25px rgba(2, 6, 23, .12);
--radius: 14px;
```

}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  }

ul {
list-style-type: none;
}

html {
scroll-behavior: smooth;
}

body {
font-family: 'Poppins', sans-serif;
line-height: 1.6;
color: var(--text-color);
background-color: var(--bg-color-light);
}

.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}

section {
padding: 80px 0;
}

h1,
h2,
h3,
h4 {
margin-bottom: 1rem;
font-weight: 600;
}

h1 { font-size: 3rem; }
h2 { font-size: 2.5rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.25rem; }

p { margin-bottom: 1rem; }

a {
color: var(--primary-color);
text-decoration: none;
transition: color 0.3s ease;
}
a:hover { color: var(--primary-color); }

.cta-primary,
.cta-secondary,
.visit-site-btn,
.submit-btn {
display: inline-block;
padding: 12px 24px;
border-radius: var(--border-radius);
font-weight: 600;
text-transform: uppercase;
transition: transform 0.3s ease, background-color 0.3s ease;
text-align: center;
border: none;
cursor: pointer;
}

.cta-primary,
.submit-btn {
background-color: var(--primary-color);
color: #fff;
}
.cta-primary:hover,
.submit-btn:hover {
background-color: #4338ca;
transform: translateY(-2px);
}
.cta-primary:focus,
.submit-btn:focus {
outline: 3px solid var(--accent-color);
outline-offset: 2px;
}

.cta-secondary,
.visit-site-btn {
background-color: transparent;
border: 2px solid var(--primary-color);
color: var(--primary-color);
}
.cta-secondary:hover,
.visit-site-btn:hover {
background-color: var(--primary-color);
color: #fff;
transform: translateY(-2px);
}
.cta-secondary:focus,
.visit-site-btn:focus {
outline: 3px solid var(--accent-color);
outline-offset: 2px;
}

.header {
background-color: var(--card-bg-color);
box-shadow: var(--shadow-light);
position: sticky;
top: 0;
z-index: 1000;
height: var(--header-height);
display: flex;
align-items: center;
}
.header .container {
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
}
.logo {
font-size: 1.5rem;
font-weight: 700;
color: var(--text-color);
}

.nav-menu { display: flex; gap: 1.5rem; }
.nav-item {
font-weight: 600;
color: var(--text-color);
padding: 5px 0;
position: relative;
}
.nav-item::after {
content: '';
position: absolute; bottom: 0; left: 0;
width: 0; height: 2px;
background-color: var(--primary-color);
transition: width 0.3s ease;
}
.nav-item:hover::after,
.nav-item.active::after { width: 100%; }

.burger-menu {
display: none;
background: none;
border: none;
font-size: 1.8rem;
color: var(--text-color);
cursor: pointer;
}

.hero {
position: relative;
padding: 150px 0 100px 0;
background: url('../img/hero.png');
background-size: cover;
background-position: center;
color: #fff;
text-shadow: 0 2px 4px rgba(2, 6, 23, 0.4);
}
.hero::before {
content: '';
position: absolute; top: 0; left: 0;
width: 100%; height: 100%;
background-color: rgba(2, 6, 23, 0.65);
z-index: 1;
}
.hero-content, .hero-features { position: relative; z-index: 2; }
.hero h1 { font-size: 3.5rem; margin-bottom: 1rem; }
.hero .subtitle { font-size: 1.5rem; font-weight: 400; margin-bottom: 2rem; }
.hero .description { font-size: 1.1rem; max-width: 600px; }
.cta-buttons { margin-top: 2rem; display: flex; gap: 1rem; }
.hero-features {
padding-top: 40px;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 20px;
margin-top: 50px;
background-color: rgba(255, 255, 255, 0.08);
backdrop-filter: blur(5px);
border-radius: var(--border-radius);
padding: 20px;
}
.feature-item { text-align: center; }
.feature-item i { font-size: 2.5rem; color: var(--accent-color); margin-bottom: 1rem; }

.about-us { background-color: var(--bg-color-dark); }
.about-us .container { display: flex; gap: 40px; align-items: center; }
.about-content { flex: 1; }
.about-image {
flex: 1;
min-height: 400px;
background-color: #dbeafe; /* azul claro */
border-radius: var(--border-radius);
}
.about-image img { width: 100%; }
.about-us .disclaimer {
font-size: 0.9rem; font-style: italic;
color: var(--secondary-color); margin-top: 20px;
}

.services { background-color: var(--card-bg-color); }
.services h2,
.services h3,
.services .intro-paragraph {
text-align: center; margin-bottom: 1rem;
}
.services h3 { color: var(--secondary-color); }
.services-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 30px; margin-top: 40px;
}
.service-card {
background-color: var(--card-bg-color);
padding: 30px; border-radius: var(--border-radius);
box-shadow: var(--shadow-light);
text-align: center;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.service-card:hover { transform: translateY(-10px); box-shadow: var(--shadow-hover); }
.service-card i { font-size: 3rem; color: var(--primary-color); margin-bottom: 1rem; }

.how-it-works { background-color: var(--bg-color-dark); }
.how-it-works h2 { text-align: center; margin-bottom: 40px; }
.steps-grid {
display: grid; grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
gap: 30px;
}
.step-card {
background-color: var(--card-bg-color);
padding: 30px; border-radius: var(--border-radius);
box-shadow: var(--shadow-light);
}
.step-card i { font-size: 2.5rem; color: var(--primary-color); margin-bottom: 15px; }

.top-casas .disclaimer-note {
text-align: center; margin-bottom: 40px;
font-style: italic; color: var(--secondary-color);
}

.top-operator {
background-color: var(--card-bg-color);
border-radius: var(--border-radius);
box-shadow: var(--shadow-light);
display: flex; margin-bottom: 40px; overflow: hidden;
transition: box-shadow 0.3s ease;
}
.top-operator:hover { box-shadow: var(--shadow-hover); }

.operator-info {
flex: 1; padding: 30px;
display: flex; flex-direction: column; justify-content: center;
}
.operator-logo { max-width: 100%; text-align: center; border-radius: 4px; margin-bottom: 20px; }
.operator-logo img { width: 200px; }

.rating-stars { color: var(--accent-color); font-size: 1.1rem; margin-bottom: 15px; }
.rating-stars span { color: var(--text-color); font-weight: 600; }

.key-features { list-style: none; margin-bottom: 20px; }
.key-features li { margin-bottom: 5px; }
.key-features li i { color: var(--primary-color); margin-right: 10px; }

.operator-details {
flex: 1; background-color: var(--bg-color-light);
display: grid; grid-template-columns: repeat(2, 1fr);
gap: 20px; padding: 30px; position: relative;
}
.detail-block {
padding: 15px; background-color: var(--card-bg-color);
border-radius: var(--border-radius);
box-shadow: 0 2px 4px rgba(2, 6, 23, 0.06);
}
.detail-block h4 { margin-bottom: .5rem; font-size: 1rem; }
.visit-site-btn { grid-column: 1 / -1; margin-top: 10px; }

.small-disclaimer {
font-size: 0.8rem; text-align: center;
color: var(--secondary-color); margin-top: 20px;
}

.payment-methods { position: relative; }
.toggle-methods-btn {
display: flex; align-items: center; justify-content: center; gap: 8px;
width: 100%; background-color: var(--primary-color); color: #fff;
border: none; border-radius: 4px; padding: 10px;
cursor: pointer; transition: background-color 0.3s ease;
}
.toggle-methods-btn:hover { background-color: #4338ca; }
.methods-list {
max-height: 0; overflow: hidden; transition: max-height 0.5s ease; padding-top: 10px;
}
.methods-list[aria-hidden="false"] { max-height: 150px; }

.reviews { background-color: var(--bg-color-light); }
.reviews h2, .reviews .intro-paragraph { text-align: center; }
.reviews-grid {
display: grid; grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
gap: 30px; margin-top: 40px;
}
.review-card {
background-color: var(--card-bg-color);
padding: 30px; border-radius: var(--border-radius);
box-shadow: var(--shadow-light);
display: flex; flex-direction: column;
}
.review-header {
display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px;
}
.review-author h4 { margin: 0; }
.review-rating { text-align: right; color: var(--accent-color); }
.review-date { display: block; font-size: 0.8rem; color: var(--secondary-color); margin-top: 5px; }

.contact { background-color: var(--bg-color-dark); }
.contact-grid {
display: grid; grid-template-columns: 1fr 1fr;
gap: 40px; margin-top: 40px;
}
.contact-form {
background-color: var(--card-bg-color);
padding: 30px; border-radius: var(--border-radius);
box-shadow: var(--shadow-light);
}
.form-group { margin-bottom: 1rem; }
.form-group label { display: block; margin-bottom: 5px; font-weight: 600; }
.form-group input, .form-group textarea {
width: 100%; padding: 10px; border: 1px solid #cbd5e1; border-radius: 4px; font-family: inherit;
}

.checkbox-group { display: flex; align-items: center; gap: 10px; }

.contact-info { display: flex; flex-direction: column; justify-content: center; gap: 20px; }
.contact-info p { margin: 0; }
.contact-info p i { color: var(--primary-color); margin-right: 10px; }

.social-icons a { font-size: 1.5rem; margin-right: 15px; }

.faq { background-color: var(--card-bg-color); }
.faq h2 { text-align: center; margin-bottom: 40px; }
.faq-accordion { max-width: 800px; margin: 0 auto; }
.faq-item { border-bottom: 1px solid #cbd5e1; margin-bottom: 15px; }
.faq-question {
background: none; border: none; width: 100%;
text-align: left; padding: 20px 0; font-size: 1.1rem; font-weight: 600;
display: flex; justify-content: space-between; align-items: center;
cursor: pointer; transition: color 0.3s ease;
}
.faq-question:hover { color: var(--primary-color); }
.faq-question .fas { transition: transform 0.3s ease; }
.faq-question[aria-expanded="true"] .fas { transform: rotate(180deg); }
.faq-answer {
max-height: 0; overflow: hidden; transition: max-height 0.5s ease; padding-left: 20px;
}
.faq-answer[aria-hidden="false"] { max-height: 200px; padding-bottom: 20px; }

.footer {
background-color: var(--text-color);
color: #fff; padding: 60px 0 20px 0;
}
.footer-grid {
display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 30px;
}
.footer-col a, .footer-col p { color: #fff; display: block; margin-bottom: 10px; }
.footer-col h4 { color: var(--primary-color); margin-bottom: 20px; }
.footer-col .social-icons a { color: #fff; font-size: 1.2rem; margin-right: 15px; }
.footer-bottom {
margin-top: 40px; padding-top: 20px;
border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.disclaimer-full { font-size: 0.85rem; text-align: center; line-height: 1.5; }
.disclaimer-full p { margin-bottom: 10px; }

@media (max-width: 1200px) {
.container { padding: 0 30px; }
}
@media (max-width: 992px) {
.about-us .container { flex-direction: column; text-align: center; }
.about-image { width: 100%; margin-top: 20px; }
.top-operator { flex-direction: column; }
.operator-details { grid-template-columns: 1fr; }
.reviews-grid { grid-template-columns: 1fr; }
.contact-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
.hero { padding: 100px 0 50px 0; }
.nav-menu {
position: fixed; top: var(--header-height); left: 0;
width: 100%; height: calc(100vh - var(--header-height));
background-color: var(--card-bg-color);
flex-direction: column; align-items: center; gap: 2rem;
padding-top: 50px; transform: translateX(-100%);
transition: transform 0.5s ease;
}
.nav-menu.active { transform: translateX(0); }
.nav-item { font-size: 1.5rem; }
.burger-menu { display: block; }
}
@media (max-width: 576px) {
h1 { font-size: 2rem; }
h2 { font-size: 1.75rem; }
.cta-buttons { flex-direction: column; }
.cta-primary, .cta-secondary { width: 100%; }
.reviews-grid { gap: 20px; }
.footer-grid { grid-template-columns: 1fr; }
.footer-col { text-align: center; }
}

.footer-img-block {
display: flex; gap: 20px; justify-content: center; align-items: center; padding: 20px 0;
}
.footer-img-block a { display: flex; justify-content: center; align-items: center; }
.footer-img-block img {
max-height: 80px; width: auto; opacity: 0.7; transition: opacity 0.3s ease;
}
.footer-img-block img:hover { opacity: 1; }

.main-content {
padding: 80px 0; background-color: var(--bg-color-light);
}
.main-content h2 { margin-bottom: 30px; }
.main-content h3 { margin-top: 40px; margin-bottom: 15px; color: var(--primary-color); }

.age-backdrop,
.cookies-backdrop {
position: fixed; inset: 0; display: none;
align-items: center; justify-content: center;
background: rgba(2, 6, 23, .5); z-index: 9999
}
.age-modal, .cookies-card {
text-align: center; background: var(--bg); color: var(--text);
width: min(680px, 92vw); border-radius: var(--radius); box-shadow: var(--shadow)
}
.age-modal { padding: 24px }
.age-h { margin: 0 0 6px; font-size: 22px }
.age-p { margin: 0 0 18px; color: var(--muted); line-height: 1.5 }

.age-actions { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap }
.btn { appearance: none; border: 0; border-radius: 12px; padding: 12px 16px; font-weight: 700; cursor: pointer }
.btn-primary { background: var(--primary); color: #fff }
.btn-ghost { background: #e0e7ff; color: var(--primary) }
.btn-link { background: transparent; color: var(--primary); padding: 0; border-radius: 0 }
.age-note { margin-top: 10px; font-size: 12px; color: var(--muted) }

.cookies-backdrop { align-items: flex-end }
.cookies-card { margin: 18px; padding: 18px }
.cookies-row { display: flex; gap: 18px; align-items: flex-start; flex-wrap: wrap }
.cookies-text { flex: 1 1 360px }
.cookies-text h3 { margin: 0 0 6px; font-size: 18px }
.cookies-text p { margin: 0; color: var(--muted); line-height: 1.6 }
.cookies-actions { display: flex; flex-direction: column; gap: 10px; flex-wrap: wrap }

#agePolicy { display: none; }
.cookies-actions .btn { padding: 10px 14px }
.cookies-settings {
margin-top: 14px; border-top: 1px solid #cbd5e1; padding-top: 12px; display: none
}

.opt { display: flex; align-items: flex-start; gap: 12px; margin: 8px 0 }
.opt label { font-weight: 600 }
.opt small { display: block; color: var(--muted); font-weight: 400 }
input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--primary) }
.opt .badge {
display: inline-block; font-size: 11px;
background: #e0f2fe; color: var(--text-color);
padding: 2px 8px; border-radius: 999px; margin-left: 8px
}

.cookies-manage { position: fixed; right: 14px; bottom: 14px; z-index: 9998 }
.cookies-manage .btn { box-shadow: var(--shadow) }

.sr {
position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0
}
