@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Sora:wght@100..800&display=swap');
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, sans-serif; color: #1a1a1a; background-color: #ffffff; line-height: 1.6; overflow-x: hidden; word-break: break-word; overflow-wrap: anywhere; hyphens: auto; }
img { display: block; max-width: 100%; }
.img-safe { max-width: 100%; height: auto; object-fit: contain; }
.ing-img { width: clamp(64px, 12vw, 140px); height: auto; object-fit: contain; }

.container { width: 100%; max-width: 1160px; margin: 0 auto; padding-inline: clamp(16px, 3vw, 24px); }

.on-dark { color: #f7f7f7; background-color: #0f172a; }
.on-light { color: #1a1a1a; background-color: #ffffff; }

.bg-1 { background-color: #ffffff; }
.bg-2 { background-color: #f7f9fc; }
.bg-3 { background-color: #eef2f7; }
.bg-4 { background-color: #e9eef5; }

h1, h2, h3, h4 { margin: 0 0 12px 0; line-height: 1.25; letter-spacing: -0.01em; }
.h1-9x2lpt { font-size: clamp(24px, 4.5vw, 36px); }
.h2-std { font-size: clamp(22px, 4vw, 32px); }
.h3-std { font-size: clamp(18px, 3.2vw, 24px); }
.h4-std { font-size: clamp(16px, 2.8vw, 20px); }

p, li { font-size: clamp(14px, 2.2vw, 16px); }
.editable-paragraph { margin: 0 0 16px 0; }
.small { font-size: clamp(12px, 2vw, 14px); opacity: 0.8; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 12px 18px; border-radius: 8px; text-decoration: none; font-weight: 700; cursor: pointer; border: 0; transition: background-color .15s ease, transform .05s ease; font-size: clamp(14px, 2.2vw, 16px); line-height: 1.15; min-width: 180px; max-width: 320px; }
.btn-primary { background-color: #0ea5e9; color: #fff; }
.btn-primary:hover { background-color: #0284c7; }
.btn:active { transform: translateY(1px); }

.navbar-2f9kq7 { position: sticky; top: 0; z-index: 50; padding-block: 10px; border-bottom: 1px solid rgba(255,255,255,0.08); }
.navbar-2f9kq7 > .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.brand-2f9kq7 { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.logo-2f9kq7 { width: clamp(100px, 18vw, 140px); }
.nav-toggle-2f9kq7 { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.25); padding: 8px 12px; border-radius: 6px; font-size: 18px; display: inline-flex; align-items: center; justify-content: center; }
.nav-menu-2f9kq7 { display: none; gap: 16px; align-items: center; }
.nav-menu-2f9kq7 a { color: #fff; text-decoration: none; font-weight: 600; font-size: clamp(14px, 2.2vw, 16px); }
.nav-open .nav-menu-2f9kq7 { display: flex; flex-wrap: wrap; }

.hero-9x2lpt { padding-block: clamp(32px, 6vw, 64px); background-color: #111827; }
.hero-grid-9x2lpt { display: grid; grid-template-columns: 1fr; gap: 24px; align-items: center; }
.hero-image-9x2lpt .media-aspect-9x2lpt { width: 100%; aspect-ratio: 4 / 3; background-color: rgba(255,255,255,0.06); border-radius: 12px; padding: 12px; }

.section-8d3ra { padding-block: clamp(32px, 6vw, 64px); }
.list-std { margin: 0 0 16px 0; padding-left: 20px; }

.pc-grid-5m2qa { display: grid; grid-template-columns: 1fr; gap: 16px; }
.card-5m2qa { background-color: #ffffff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 16px; }

.ing-grid-9kd1p { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ing-item-9kd1p { background-color: #ffffff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 16px; text-align: center; }
.ing-item-9kd1p h4 { margin-top: 8px; }

.prices-grid-7ab29 { display: grid; grid-template-columns: 1fr; gap: 16px; }
.price-card-7ab29 { background-color: #ffffff; border: 2px solid #e5e7eb; border-radius: 14px; padding: 16px; display: flex; flex-direction: column; align-items: center; text-align: center; }
.price-card-7ab29.popular { border-color: #0ea5e9; box-shadow: 0 6px 20px rgba(14,165,233,0.15); }
.price-card-7ab29.best { border-color: #22c55e; box-shadow: 0 6px 20px rgba(34,197,94,0.15); }
.price-badge-7ab29 { align-self: center; background-color: #111827; color: #fff; padding: 6px 10px; border-radius: 999px; font-size: clamp(12px, 2vw, 13px); margin-bottom: 8px; }
.price-media-xxxx .media-aspect-kit { width: 100%; max-width: 320px; margin: 0 auto 8px; aspect-ratio: 4 / 3; background-color: #f3f4f6; border-radius: 12px; padding: 12px; display: flex; align-items: center; justify-content: center; }
.price-amount-xxxx { font-weight: 800; font-size: clamp(24px, 5vw, 34px); color: #111827; margin: 4px 0 6px; }
.price-amount-xxxx .currency { margin-right: 2px; }
.price-amount-xxxx .suffix { font-weight: 600; font-size: clamp(12px, 2vw, 14px); color: #374151; margin-left: 6px; }
.price-amount-xxxx img { display: none !important; }
.price-total-7ab29 { font-weight: 700; margin-bottom: 8px; }
.price-total-7ab29 .label { color: #374151; margin-right: 6px; }

.avatar-wrapper {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background-color: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  overflow: hidden;
}

/* Emoji dentro do avatar */
.avatar-wrapper span {
  font-size: 30px;
  line-height: 1;
}

/* Imagem dentro do avatar */
.avatar-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


.recomendacoes .testimonials-grid-r3lp0 { display: grid; grid-template-columns: 1fr; gap: 16px; }
.card-r3lp0 { background-color: #ffffff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 16px; }
.card-r3lp0 .avatar-emoji { width: 56px; height: 56px; display: inline-flex; align-items: center; justify-content: center; font-size: 30px; border-radius: 50%; background-color: #f3f4f6; margin-bottom: 8px; }
.card-r3lp0 .t-head { display: flex; align-items: baseline; gap: 8px; margin-bottom: 4px; }
.card-r3lp0 .t-name { font-weight: 700; }
.card-r3lp0 .t-role { color: #6b7280; font-size: clamp(12px, 2vw, 14px); }
.card-r3lp0 .t-stars { color: #f59e0b; margin-bottom: 8px; letter-spacing: 1px; }

.faq-acc-6477hglt { border-bottom: 1px solid #e5e7eb; }
.faq-item-77d7sy7sg { border: 1px solid #e5e7eb; background-color: #ffffff; border-radius: 12px; padding: 8px 12px; margin-bottom: 12px; }
.faq-title-js76shs7 { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; font-weight: 700; font-size: clamp(16px, 3vw, 18px); }
.faq-content-8748b2b82kh { padding-top: 8px; }

.cta-inline-7s6m2 { display: flex; justify-content: center; gap: 12px; margin-top: 8px; }

.footer-w18xw { border-top: 1px solid #e5e7eb; padding-block: 24px; }
.foot-grid-w18xw { display: grid; grid-template-columns: 1fr; gap: 12px; align-items: center; }

/* Responsive breakpoints */
@media (min-width: 430px) {
}

@media (min-width: 768px) {
  .nav-menu-2f9kq7 { display: flex; }
  .nav-toggle-2f9kq7 { display: none; }
  .hero-grid-9x2lpt { grid-template-columns: 1.1fr 0.9fr; gap: 32px; }
  .pc-grid-5m2qa { grid-template-columns: 1fr 1fr; }
  .ing-grid-9kd1p { grid-template-columns: repeat(3, 1fr); }
  .recomendacoes .testimonials-grid-r3lp0 { grid-template-columns: repeat(2, 1fr); }
  .prices-grid-7ab29 { grid-template-columns: repeat(3, 1fr); }
  .foot-grid-w18xw { grid-template-columns: 2fr 1fr; }
}

@media (min-width: 1024px) {
  .hero-9x2lpt { padding-block: 72px; }
  .recomendacoes .testimonials-grid-r3lp0 { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 1366px) {
}

@media (min-width: 1920px) {
}

/* --- animação (injetada localmente) --- */
/* variante: outline glow + translate */
.btn { transition: box-shadow .30s cubic-bezier(.2,.8,.2,1), transform .22s ease, background .34s ease; }
.btn:hover, .btn:focus-visible { transform: translateY(-1px); box-shadow: 0 0 0 3px rgba(37,99,235,.22), 0 8px 22px rgba(0,0,0,.14); }

/* spacing: consistente entre seções */
section, .section { padding: 64px 0; margin: 0; }
@media (max-width:1024px){ section, .section { padding: 56px 0; } }
@media (max-width:768px) { section, .section { padding: 48px 0; } }

/* ==================== */
/* 🌐 Responsive Baseline */
/* ==================== */
img {
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

/* Container centralizado e com largura fluida */
.container {
  width: min(96%, 1200px);
  margin-inline: auto;
}

/* Grid base */
.grid {
  display: grid;
  gap: 24px;
}

/* ==================== */
/* 🖼️ Controle de Imagens */
/* ==================== */

/* Imagens genéricas (evita gigantismo visual) */
img:not(.hero-img):not(.logo) {
  max-height: 400px;
  margin-inline: auto;
}

/* Hero principal */
.hero-img {
  width: 100%;
  max-height: 500px;
  object-fit: cover;
  display: block;
}

/* Logo da navbar */
.navbar .logo,
.logo {
  height: 40px;
  width: auto;
  display: inline-block;
  vertical-align: middle;
  object-fit: contain;
}

/* ==================== */
/* 📱 Responsividade */
/* ==================== */
@media (max-width: 1024px) {
  .grid.cols-3 { grid-template-columns: 1fr 1fr; }
  .columns, .row { display: flex; flex-wrap: wrap; gap: 20px; }
}

@media (max-width: 768px) {
  .grid.cols-4, .grid.cols-3, .grid.cols-2 { grid-template-columns: 1fr; }
  .columns, .row { flex-direction: column; align-items: center; }

  /* Ajustes em imagens no mobile */
  img:not(.hero-img):not(.logo) {
    max-height: 250px;
  }

  .navbar .logo {
    height: 32px;
  }
}
