    /* ---------- ROOT TOKENS ---------- */
    :root {
      --rg-primary: #0f3d56;
      --rg-primary-2: #0a2233;
      --rg-primary-3: #1e5b7a;
      --rg-accent: #c8a96b;
      --rg-accent-2: #b7924d;
      --rg-bg: #f7f8fa;
      --rg-bg-soft: #d1e0ec; /* Cor mais forte para contraste claro */
      --rg-surface: #ffffff;
      --rg-surface-2: #f3f5f7;
      --rg-border: #dde5ea;
      --rg-text: #18212a;
      --rg-text-soft: #5f6b76;
      --rg-text-muted: #7a8793;
      --rg-success: #198754;
      --rg-danger: #dc3545;
      --rg-warning: #f59e0b;
      --rg-whatsapp: #25d366;

      --rg-shadow-sm: 0 8px 24px rgba(10, 34, 51, 0.06);
      --rg-shadow-md: 0 12px 34px rgba(10, 34, 51, 0.1);
      --rg-shadow-lg: 0 18px 50px rgba(10, 34, 51, 0.14);

      --rg-radius-xs: 0.5rem;
      --rg-radius-sm: 0.85rem;
      --rg-radius-md: 1.15rem;
      --rg-radius-lg: 1.6rem;
      --rg-radius-xl: 2rem;

      --rg-container: 1200px;

      --rg-font-heading: "Montserrat", Arial, sans-serif;
      --rg-font-body: "Inter", Arial, sans-serif;

      --rg-section-space: 5.5rem;
      --rg-section-space-sm: 4rem;

      --bs-primary: var(--rg-primary);
      --bs-secondary: var(--rg-accent);
      --bs-body-font-family: var(--rg-font-body);
      --bs-body-color: var(--rg-text);
      --bs-body-bg: var(--rg-bg);
      --bs-border-color: var(--rg-border);
    }

    :root {
      --rg-primary: #0f3d56;
      --rg-primary-2: #0a2233;
      --rg-primary-3: #1e5b7a;

      --rg-accent: #c62828;
      --rg-accent-2: #a61e1e;

      --rg-bg: #f7f8fa;
      --rg-bg-soft: #d1e0ec; /* Cor mais forte para contraste claro */
      --rg-surface: #ffffff;
      --rg-surface-2: #f3f5f7;
      --rg-border: #dde5ea;
      --rg-text: #18212a;
      --rg-text-soft: #5f6b76;
      --rg-text-muted: #7a8793;
    }

    /* ---------- RESET / BASE ---------- */
    html {
      scroll-behavior: smooth;
    }

    body {
      font-family: var(--rg-font-body);
      color: var(--rg-text);
      background: var(--rg-bg);
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }
    
    html, body {
        overflow-x: hidden;
    }

    img {
      max-width: 100%;
      height: auto;
    }

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

    a:hover {
      color: var(--rg-primary-3);
      text-decoration: none;
    }

    button,
    .btn,
    .form-control,
    .form-select,
    .accordion-button,
    .nav-link {
      box-shadow: none !important;
    }

    ::selection {
      background: rgba(15, 61, 86, 0.14);
      color: var(--rg-primary-2);
    }

    /* ---------- TIPOGRAFIA ---------- */
    h1, h2, h3, h4, h5, h6,
    .display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
      font-family: var(--rg-font-heading);
      color: var(--rg-primary-2);
      font-weight: 700;
      line-height: 1.15;
      letter-spacing: -0.02em;
    }

    p, li, span, small, label, input, textarea, select {
      font-family: var(--rg-font-body);
    }

    p {
      color: var(--rg-text-soft);
      line-height: 1.75;
      margin-bottom: 1rem;
    }

    .text-soft { color: var(--rg-text-soft) !important; }
    .text-muted-2 { color: var(--rg-text-muted) !important; }
    .text-primary-2 { color: var(--rg-primary-2) !important; }
    .text-accent { color: var(--rg-accent) !important; }

    /* ---------- LAYOUT HELPERS ---------- */
    .container, .container-lg, .container-xl, .container-xxl {
      max-width: var(--rg-container);
    }

    .section-default { padding: var(--rg-section-space) 0; }
    .section-sm { padding: var(--rg-section-space-sm) 0; }
    .bg-soft { background: var(--rg-bg-soft); }
    .bg-surface { background: var(--rg-surface); }

    .bg-primary-gradient {
      background: linear-gradient(135deg, rgba(15, 61, 86, 0.96), rgba(10, 34, 51, 0.98));
      color: #fff;
    }

    .bg-mesh-light {
      background:
        radial-gradient(circle at top left, rgba(200, 169, 107, 0.08), transparent 30%),
        radial-gradient(circle at right center, rgba(15, 61, 86, 0.08), transparent 26%),
        linear-gradient(180deg, #ffffff, #f7f8fa);
    }

    .page-hero {
      padding: 7rem 0 4rem;
      position: relative;
      overflow: hidden;
    }

    .page-hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 15% 20%, rgba(200, 169, 107, 0.08), transparent 22%),
        radial-gradient(circle at 85% 15%, rgba(15, 61, 86, 0.08), transparent 22%);
      pointer-events: none;
    }

    .section-title {
      max-width: 760px;
      margin: 0 auto 2.25rem;
      text-align: center;
    }

    .section-kicker {
      display: inline-block;
      margin-bottom: 0.85rem;
      color: var(--rg-accent-2);
      font-size: 0.82rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.16em;
    }

    .section-title h2 {
      font-size: clamp(2rem, 4vw, 2.85rem);
      margin-bottom: 0.9rem;
    }

    .section-title p { margin-bottom: 0; }

    /* ---------- HEADER / NAVBAR ---------- */
    .site-header {
      position: sticky;
      top: 0;
      z-index: 1035;
      backdrop-filter: blur(12px);
      background: rgba(255, 255, 255, 0.88);
      border-bottom: 1px solid rgba(221, 229, 234, 0.8);
      transition: 0.3s ease;
    }

    .site-header.is-scrolled { box-shadow: var(--rg-shadow-sm); }

    .topbar {
      background: var(--rg-primary-2);
      color: rgba(255, 255, 255, 0.88);
      font-size: 0.92rem;
    }

    .topbar a { color: #fff; }

    .navbar { padding-top: 0.95rem; padding-bottom: 0.95rem; }
    .navbar-brand img { max-height: 58px; width: auto; }

    .navbar-nav .nav-link {
      color: var(--rg-primary-2);
      font-weight: 600;
      padding: 0.7rem 1rem !important;
      position: relative;
    }

    .navbar-nav .nav-link:hover,
    .navbar-nav .nav-link.active {
      color: var(--rg-primary);
    }

    .navbar-nav .nav-link::after {
      content: "";
      position: absolute;
      left: 1rem;
      right: 1rem;
      bottom: 0.35rem;
      height: 2px;
      background: var(--rg-accent);
      transform: scaleX(0);
      transform-origin: center;
      transition: transform 0.28s ease;
    }

    .navbar-nav .nav-link:hover::after,
    .navbar-nav .nav-link.active::after {
      transform: scaleX(1);
    }

    .navbar-toggler { border: 0; padding: 0.4rem 0.6rem; }
    .navbar-toggler:focus { box-shadow: none; }

    /* ---------- BOTÕES ---------- */
    .btn {
      border-radius: 999px;
      font-weight: 700;
      letter-spacing: 0.01em;
      padding: 0.82rem 1.45rem;
      transition: 0.28s ease;
    }

    .btn-lg { padding: 1rem 1.75rem; }
    .btn-sm { padding: 0.6rem 1rem; font-size: 0.9rem; }

    .btn-primary {
      background: linear-gradient(135deg, var(--rg-primary), var(--rg-primary-3));
      border-color: var(--rg-primary);
      color: #fff;
    }

    .btn-primary:hover, .btn-primary:focus, .btn-primary:active {
      background: linear-gradient(135deg, var(--rg-primary-2), var(--rg-primary));
      border-color: var(--rg-primary-2);
      color: #fff;
      transform: translateY(-2px);
    }

    .btn-outline-primary {
      color: var(--rg-primary);
      border-color: var(--rg-primary);
      background: transparent;
    }

    .btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-primary:active {
      color: #fff;
      background: var(--rg-primary);
      border-color: var(--rg-primary);
      transform: translateY(-2px);
    }

    .btn-accent {
      background: linear-gradient(135deg, var(--rg-accent), var(--rg-accent-2));
      border: 1px solid var(--rg-accent);
      color: #fff;
    }

    .btn-accent:hover, .btn-accent:focus, .btn-accent:active {
      background: linear-gradient(135deg, var(--rg-accent-2), #8f1a1a);
      border-color: var(--rg-accent-2);
      color: #fff;
      transform: translateY(-2px);
    }

    .btn-whatsapp {
      background: var(--rg-whatsapp);
      border: 1px solid var(--rg-whatsapp);
      color: #fff;
    }

    .btn-whatsapp:hover, .btn-whatsapp:focus, .btn-whatsapp:active {
      background: #1fb859;
      border-color: #1fb859;
      color: #fff;
      transform: translateY(-2px);
    }

    /* ---------- HERO HOME ---------- */
    .hero-home {
      position: relative;
      overflow: hidden;
      padding: 6.5rem 0 5rem;
      background:
        radial-gradient(circle at 12% 18%, rgba(200, 169, 107, 0.10), transparent 24%),
        radial-gradient(circle at 85% 18%, rgba(15, 61, 86, 0.07), transparent 26%),
        linear-gradient(180deg, #ffffff 0%, #f6f8fa 100%);
    }

    .hero-home::after {
      content: "";
      position: absolute;
      inset: auto 0 -120px 0;
      height: 220px;
      background: linear-gradient(180deg, transparent, rgba(15, 61, 86, 0.04));
      pointer-events: none;
    }

    .hero-copy { position: relative; z-index: 3; max-width: 620px; }

    .hero-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.55rem;
      padding: 0.62rem 1rem;
      border-radius: 999px;
      background: rgba(15, 61, 86, 0.08);
      border: 1px solid rgba(15, 61, 86, 0.10);
      color: var(--rg-primary);
      font-size: 0.88rem;
      font-weight: 700;
      line-height: 1.2;
      margin-bottom: 1.2rem;
    }

    .hero-badge i { font-size: 0.95rem; color: var(--rg-accent-2); }

    .hero-home h1 {
      font-size: clamp(2.15rem, 3.6vw, 3.4rem);
      line-height: 1.08;
      letter-spacing: -0.03em;
      margin-bottom: 1rem;
      max-width: 11.5ch;
      color: var(--rg-primary-2);
    }

    .hero-home .lead {
      font-size: 1.05rem;
      line-height: 1.85;
      color: var(--rg-text-soft);
      max-width: 58ch;
      margin-bottom: 0;
    }

    .hero-actions { display: flex; flex-wrap: wrap; gap: 0.85rem; margin-top: 1.7rem; }
    .hero-highlights { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.4rem; }

    .hero-highlight-item {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.78rem 1rem;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.92);
      border: 1px solid rgba(221, 229, 234, 0.95);
      box-shadow: 0 10px 24px rgba(10, 34, 51, 0.06);
      color: var(--rg-primary-2);
      font-size: 0.93rem;
      font-weight: 600;
      line-height: 1.2;
    }

    .hero-highlight-item i { color: var(--rg-accent-2); font-size: 0.95rem; }

    .hero-media { position: relative; }

    .hero-image-wrap {
      position: relative;
      overflow: hidden;
      border-radius: 2rem;
      background: #fff;
      box-shadow: 0 22px 60px rgba(10, 34, 51, 0.16);
    }

    .hero-image-wrap img {
      display: block;
      width: 100%;
      min-height: 500px;
      max-height: 620px;
      object-fit: cover;
    }

    .floating-card {
      position: absolute;
      z-index: 2;
      background: rgba(255, 255, 255, 0.96);
      border: 1px solid rgba(221, 229, 234, 0.96);
      border-radius: 1rem;
      box-shadow: 0 18px 40px rgba(10, 34, 51, 0.10);
      padding: 0.95rem 1rem;
      max-width: 230px;
    }

    .floating-card.top-right { top: 1.2rem; right: -0.8rem; }
    .floating-card.bottom-left { bottom: 1.2rem; left: -0.8rem; }

    .floating-card strong {
      display: block;
      color: var(--rg-primary-2);
      font-size: 0.98rem;
      line-height: 1.2;
      margin-bottom: 0.3rem;
    }

    .floating-card span {
      display: block;
      color: var(--rg-text-soft);
      font-size: 0.9rem;
      line-height: 1.55;
    }

    .hero-home-bg, .hero-home-overlay { display: none; }

    /* ---------- CARDS GERAIS ---------- */
    .card-clean, .service-card, .blog-card, .feature-card, .country-card, .testimonial-card, .contact-card, .stat-card {
      background: var(--rg-surface);
      border: 1px solid rgba(221, 229, 234, 0.9);
      border-radius: var(--rg-radius-md);
      box-shadow: var(--rg-shadow-sm);
      transition: 0.28s ease;
    }

    .card-clean:hover, .service-card:hover, .blog-card:hover, .feature-card:hover, .country-card:hover, .testimonial-card:hover, .contact-card:hover, .stat-card:hover {
      transform: translateY(-5px);
      box-shadow: var(--rg-shadow-md);
    }

    .card-clean-body, .service-card-body, .blog-card-body, .feature-card-body, .country-card-body, .testimonial-card-body {
      padding: 1.45rem;
    }

    /* ---------- ESTATÍSTICAS ---------- */
    .stats-strip { margin-top: -1.5rem; position: relative; z-index: 3; }
    .stat-card { height: 100%; padding: 1.35rem 1.2rem; text-align: center; }

    .stat-number {
      display: block;
      color: var(--rg-primary);
      font-family: var(--rg-font-heading);
      font-size: clamp(1.8rem, 4vw, 2.4rem);
      font-weight: 800;
      line-height: 1;
      margin-bottom: 0.55rem;
    }

    .stat-label { color: var(--rg-text-soft); font-size: 0.96rem; line-height: 1.55; }

    /* ---------- SERVIÇOS ---------- */
    .service-card { height: 100%; overflow: hidden; }

    .service-icon {
      width: 64px; height: 64px;
      display: grid; place-items: center;
      border-radius: 50%;
      background: rgba(15, 61, 86, 0.08);
      color: var(--rg-primary);
      font-size: 1.45rem;
      margin-bottom: 1rem;
    }

    .service-card h3, .service-card h4 { font-size: 1.18rem; margin-bottom: 0.75rem; }
    .service-card p { margin-bottom: 1rem; }
    .service-card .service-link { color: var(--rg-primary); font-weight: 700; }
    .service-card .service-link:hover { color: var(--rg-accent-2); }

    /* ---------- DIFERENCIAIS / FEATURES ---------- */
    .feature-card { height: 100%; padding: 1.35rem; }

    .feature-icon {
      width: 52px; height: 52px;
      display: grid; place-items: center;
      border-radius: 14px;
      background: rgba(200, 169, 107, 0.12);
      color: var(--rg-accent-2);
      font-size: 1.2rem;
      margin-bottom: 1rem;
    }

    .feature-card h3, .feature-card h4 { font-size: 1.06rem; margin-bottom: 0.55rem; }

    /* Utilitário de fonte pequena para os diferenciais */
    .font-sm { font-size: 0.92rem; line-height: 1.6; }

    /* ---------- SOBRE / BLOCO INSTITUCIONAL ---------- */
    .about-block { position: relative; }

    .about-image {
      border-radius: var(--rg-radius-lg);
      overflow: hidden;
      box-shadow: var(--rg-shadow-lg);
    }

    .about-image img { width: 100%; min-height: 420px; object-fit: cover; }
    .about-content { padding-left: 1rem; }

    .check-list { list-style: none; margin: 1.4rem 0 0; padding: 0; }
    .check-list li {
      position: relative;
      padding-left: 1.9rem;
      margin-bottom: 0.85rem;
      color: var(--rg-text-soft);
    }

    .check-list li::before {
      content: "✓";
      position: absolute;
      left: 0; top: 0;
      color: var(--rg-accent-2);
      font-weight: 800;
    }

    /* ---------- PAÍSES / DESTINOS ---------- */
    .country-card { overflow: hidden; height: 100%; }
    .country-card img { width: 100%; height: 185px; object-fit: cover; }
    .country-card-body { padding: 1.1rem 1.1rem 1.3rem; }
    .country-card h3, .country-card h4 { font-size: 1.05rem; margin-bottom: 0.35rem; }
    .country-card .country-meta { color: var(--rg-text-muted); font-size: 0.92rem; }

    /* ---------- ETAPAS / PROCESSO ---------- */
    .process-step {
      position: relative; height: 100%; padding: 1.4rem;
      background: #fff;
      border: 1px solid var(--rg-border);
      border-radius: var(--rg-radius-md);
      box-shadow: var(--rg-shadow-sm);
    }

    .process-step-number {
      width: 52px; height: 52px;
      display: grid; place-items: center;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--rg-primary), var(--rg-primary-3));
      color: #fff;
      font-weight: 800;
      font-family: var(--rg-font-heading);
      margin-bottom: 1rem;
    }

    .process-step h3, .process-step h4 { font-size: 1.08rem; margin-bottom: 0.6rem; }

    /* ---------- DEPOIMENTOS ---------- */
    .testimonial-card { height: 100%; padding: 1.5rem; }
    .testimonial-stars { color: #f5b301; font-size: 0.95rem; letter-spacing: 0.08em; margin-bottom: 0.75rem; }
    .testimonial-text { color: var(--rg-text-soft); line-height: 1.78; font-size: 0.98rem; }
    .testimonial-author { margin-top: 1rem; color: var(--rg-primary-2); font-weight: 700; }
    .testimonial-role { color: var(--rg-text-muted); font-size: 0.92rem; }

    /* ---------- FAQ / ACCORDION ---------- */
    .accordion.rog-faq {
      --bs-accordion-bg: #fff;
      --bs-accordion-border-color: var(--rg-border);
      --bs-accordion-border-radius: 1rem;
      --bs-accordion-inner-border-radius: 1rem;
      --bs-accordion-btn-focus-box-shadow: none;
      --bs-accordion-active-bg: rgba(15, 61, 86, 0.04);
      --bs-accordion-active-color: var(--rg-primary);
    }

    .rog-faq .accordion-item {
      border: 1px solid var(--rg-border);
      border-radius: 1rem !important;
      overflow: hidden;
      box-shadow: var(--rg-shadow-sm);
      margin-bottom: 0.9rem;
    }

    .rog-faq .accordion-button { font-weight: 700; color: var(--rg-primary-2); padding: 1.1rem 1.2rem; }
    .rog-faq .accordion-button:not(.collapsed) { color: var(--rg-primary); }
    .rog-faq .accordion-body { color: var(--rg-text-soft); line-height: 1.8; }

    /* ---------- BLOG ---------- */
    .blog-card { overflow: hidden; height: 100%; }
    .blog-card-image { display: block; overflow: hidden; }
    .blog-card-image img { width: 100%; height: 230px; object-fit: cover; transition: 0.4s ease; }
    .blog-card:hover .blog-card-image img { transform: scale(1.04); }
    .blog-card-body { padding: 1.2rem 1.2rem 1.4rem; }
    
    .blog-tag {
      display: inline-block;
      padding: 0.35rem 0.7rem;
      border-radius: 999px;
      background: rgba(15, 61, 86, 0.08);
      color: var(--rg-primary);
      font-size: 0.78rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      margin-bottom: 0.85rem;
    }

    .blog-card h3, .blog-card h4 { font-size: 1.12rem; margin-bottom: 0.65rem; }
    .blog-meta { color: var(--rg-text-muted); font-size: 0.9rem; margin-bottom: 0.8rem; }

    /* ---------- FORMULÁRIOS ---------- */
    .form-label { font-weight: 600; color: var(--rg-primary-2); margin-bottom: 0.45rem; }

    .form-control, .form-select {
      min-height: 52px;
      border-radius: 0.95rem;
      border: 1px solid var(--rg-border);
      background: #fff;
      color: var(--rg-text);
      padding: 0.85rem 1rem;
      transition: 0.25s ease;
    }

    textarea.form-control { min-height: 140px; resize: vertical; }
    .form-control::placeholder, .form-select, textarea::placeholder { color: #95a1ac; }

    .form-control:focus, .form-select:focus {
      border-color: rgba(15, 61, 86, 0.35);
      background: #fff;
      box-shadow: 0 0 0 0.24rem rgba(15, 61, 86, 0.08) !important;
    }

    .form-card {
      background: #fff;
      border: 1px solid var(--rg-border);
      border-radius: var(--rg-radius-lg);
      box-shadow: var(--rg-shadow-md);
      padding: 1.6rem;
    }

    /* ---------- CONTATO ---------- */
    .contact-card { height: 100%; padding: 1.5rem; }

    .contact-icon {
      width: 52px; height: 52px;
      display: grid; place-items: center;
      border-radius: 14px;
      background: rgba(15, 61, 86, 0.08);
      color: var(--rg-primary);
      font-size: 1.2rem;
      margin-bottom: 1rem;
    }

    .contact-card h4 { font-size: 1.04rem; margin-bottom: 0.45rem; }
    .contact-card p, .contact-card a { color: var(--rg-text-soft); }

    /* ---------- CTA FINAL ---------- */
    .cta-section {
      position: relative;
      overflow: hidden;
      padding: 4.5rem 0;
      background:
        radial-gradient(circle at 20% 20%, rgba(200, 169, 107, 0.12), transparent 18%),
        linear-gradient(135deg, var(--rg-primary), var(--rg-primary-2));
      color: #fff;
    }

    .cta-section h2, .cta-section h3, .cta-section p { color: #fff; }
    .cta-section .btn-outline-light:hover { color: var(--rg-primary-2); }

    /* ---------- FOOTER ---------- */
    .site-footer {
      background: #081722;
      color: rgba(255, 255, 255, 0.72);
      padding-top: 4.5rem;
    }

    .site-footer p, .site-footer li, .site-footer address { color: rgba(255, 255, 255, 0.72); }
    .footer-brand img { max-height: 64px; width: auto; margin-bottom: 1rem; }
    .footer-title { color: #fff; font-family: var(--rg-font-heading); font-weight: 700; font-size: 1rem; margin-bottom: 1rem; }
    
    .site-footer a { color: rgba(255, 255, 255, 0.72); }
    .site-footer a:hover { color: #fff; }

    .footer-links { list-style: none; margin: 0; padding: 0; }
    .footer-links li + li { margin-top: 0.55rem; }

    .footer-bottom {
      margin-top: 2.5rem;
      padding: 1.2rem 0;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      color: rgba(255, 255, 255, 0.58);
      font-size: 0.92rem;
    }

    /* ---------- REDES SOCIAIS ---------- */
    .social-list { display: flex; flex-wrap: wrap; gap: 0.65rem; }
    .social-link {
      width: 42px; height: 42px;
      display: grid; place-items: center;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.08);
      color: #fff !important;
      transition: 0.25s ease;
    }

    .social-link:hover { background: var(--rg-accent); color: #fff !important; transform: translateY(-2px); }

    /* ---------- WHATSAPP FLOAT ---------- */
    .whatsapp-float {
      position: fixed;
      right: 18px; bottom: 18px;
      width: 58px; height: 58px;
      display: grid; place-items: center;
      border-radius: 50%;
      background: var(--rg-whatsapp);
      color: #fff !important;
      font-size: 1.45rem;
      box-shadow: 0 14px 30px rgba(37, 211, 102, 0.28);
      z-index: 1040;
      transition: 0.25s ease;
    }

    .whatsapp-float:hover {
      background: #1fb859;
      transform: translateY(-3px) scale(1.03);
      color: #fff !important;
    }

    /* ---------- RESPONSIVO ---------- */
    @media (max-width: 1199.98px) {
      .hero-home { padding: 6rem 0 4.5rem; }
      .hero-home h1 { font-size: clamp(2rem, 4vw, 3rem); max-width: 12ch; }
      .hero-image-wrap img { min-height: 460px; }
      .about-content { padding-left: 0; margin-top: 2rem; }
    }

    @media (max-width: 991.98px) {
      :root {
        --rg-section-space: 4.5rem;
        --rg-section-space-sm: 3.4rem;
      }
      .navbar-collapse {
        margin-top: 1rem; padding: 1rem;
        background: #fff;
        border: 1px solid var(--rg-border);
        border-radius: 1rem;
        box-shadow: var(--rg-shadow-md);
      }
      .hero-home { padding: 5.5rem 0 4rem; background: linear-gradient(180deg, #f8fafb 0%, #eef3f6 100%); }
      .hero-home-bg { display: block; position: absolute; inset: 0; z-index: 0; }
      .hero-home-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
      .hero-home-overlay {
        display: block; position: absolute; inset: 0; z-index: 1;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.78) 0%, rgba(255, 255, 255, 0.88) 38%, rgba(245, 248, 250, 0.94) 100%);
        backdrop-filter: blur(1.5px);
      }
      .hero-copy { max-width: 100%; }
      .hero-home h1 { font-size: clamp(1.9rem, 6vw, 2.65rem); max-width: 15ch; }
      .hero-home .lead { max-width: 100%; font-size: 1rem; color: #31424f; }
      .hero-media { margin-top: 2rem; }
      .floating-card.top-right, .floating-card.bottom-left { position: static; margin-top: 1rem; }
      .hero-image-wrap img, .about-image img { min-height: 320px; }
    }

    @media (max-width: 767.98px) {
      :root {
        --rg-section-space: 4rem;
        --rg-section-space-sm: 3rem;
      }
      .topbar { display: none; }
      .navbar { padding-top: 0.8rem; padding-bottom: 0.8rem; }
      .navbar-brand img { max-height: 50px; }
      .hero-home { padding: 5rem 0 3.5rem; }
      .hero-badge { font-size: 0.8rem; padding: 0.58rem 0.9rem; margin-bottom: 1rem; }
      .hero-home h1 { font-size: clamp(1.75rem, 7vw, 2.2rem); line-height: 1.12; max-width: 13ch; margin-bottom: 0.9rem; }
      .hero-home .lead { font-size: 0.98rem; line-height: 1.75; }
      .hero-actions, .hero-highlights { gap: 0.7rem; }
      .hero-highlight-item { width: 100%; justify-content: center; font-size: 0.9rem; padding: 0.78rem 0.9rem; }
      .section-title { margin-bottom: 1.8rem; }
      .section-title h2 { font-size: clamp(1.7rem, 6vw, 2.3rem); }
      .service-card-body, .blog-card-body, .testimonial-card, .feature-card, .contact-card, .form-card, .content-area { padding: 1.15rem; }
      .cta-section { padding: 3.5rem 0; }
      .whatsapp-float { width: 54px; height: 54px; right: 14px; bottom: 14px; }
    }

    @media (max-width: 575.98px) {
      .btn, .btn-lg { width: 100%; justify-content: center; }
      .hero-actions .btn { width: 100%; }
      .hero-home { padding: 4.7rem 0 3.2rem; }
      .hero-home h1 { font-size: 1.65rem; max-width: 100%; }
      .hero-home .lead { font-size: 0.95rem; }
      .stat-card { padding: 1.1rem 1rem; }
    }

    /* =========================================================
       ATUALIZAÇÃO HERO - DESKTOP E MOBILE (Limite 100vh e Imagem)
       ========================================================= */

    /* Ajustes Desktop (Telas maiores que 1050px) */
    @media (min-width: 1050px) {
      .hero-home {
        max-height: 900px; /* Limite de segurança para monitores gigantes */
        display: flex;
        align-items: center;
        padding: 2rem 0; /* Flex centraliza o conteúdo, tiramos o padding fixo enorme */
      }
      
      .hero-home h1 {
        font-size: clamp(2rem, 3.2vw, 2.75rem) !important; /* Texto levemente menor */
        max-width: 18ch !important; /* Permite a frase fluir melhor sem quebrar tanto */
        margin-bottom: 0.8rem;
      }

      .hero-image-wrap img {
        min-height: 450px !important;
        max-height: 70vh !important; /* Garante que a imagem não estoure a altura da tela */
        object-fit: cover;
      }
    }

    /* Ajustes da Imagem Mobile (Acima do CTA) */
    .hero-media-mobile {
      margin-top: 1.5rem;
      margin-bottom: 1.5rem;
    }

    .hero-media-mobile .hero-image-wrap {
      border-radius: 1.25rem;
      overflow: hidden;
      box-shadow: 0 12px 30px rgba(10, 34, 51, 0.12);
    }

    .hero-media-mobile img {
      width: 100%;
      height: 300px;
      object-fit: cover;
      display: block;
    }

    /* Ajuste Geral do Fundo Mobile */
    @media (max-width: 991.98px) {
      .hero-home {
        background: 
          radial-gradient(circle at 12% 18%, rgba(200, 169, 107, 0.08), transparent 30%),
          linear-gradient(180deg, #ffffff 0%, #f6f8fa 100%) !important;
        padding: 4rem 0 3.5rem !important;
      }
      
      /* Oculta forçadamente os fundos antigos se ainda existirem classes perdidas */
      .hero-home-bg, .hero-home-overlay {
        display: none !important;
      }
    }

    /* Garante que o CTA ocupe 100% no celular pequeno, mas fique auto no tablet */
    @media (min-width: 576px) {
      .w-sm-auto {
        width: auto !important;
      }
    }