/* ===========================================================================
    CSS Complementar (apenas o que Tailwind não consegue exprimir facilmente)
   =========================================================================== */

/* RESET & VARIABLES */
  *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

  :root {
    --navy: #0D1B2A;
    --navy-mid: #162336;
    --gold: #C9A84C;
    --gold-light: #E2C97E;
    --gold-pale: #F5EED8;
    --cream: #FAF8F3;
    --white: #FFFFFF;
    --text-dark: #1A1A1A;
    --text-mid: #4A4A4A;
    --text-light: #7A7A7A;
    --serif: 'Cormorant Garamond', serif;
    --sans: 'DM Sans', sans-serif;
  }

    html { scroll-behavior: smooth; }
    body { font-family: var(--sans); overflow-x: hidden; }

    /* NAV */
    .nav-cta {
      border: 1px solid var(--gold);
      color: var(--gold) !important;
      padding: 0.5rem 1rem;
      border-radius: 2px;
      transition: all 0.25s;
    }
    .nav-cta:hover { background: var(--gold) !important; color: var(--navy) !important; }

    /* HERO grid background lines */
    .hero-bg-lines {
      position: absolute; inset: 0; opacity: 0.04;
      background-image:
        repeating-linear-gradient(0deg, transparent, transparent 60px, rgba(201,168,76,1) 60px, rgba(201,168,76,1) 61px),
        repeating-linear-gradient(90deg, transparent, transparent 60px, rgba(201,168,76,1) 60px, rgba(201,168,76,1) 61px);
    }
    /* Transição das imagens utilizadas no Hero */
    .hero-img {
      transition: opacity 1.2s ease-in-out, transform 8s ease-in-out;
    }
    /* leve zoom contínuo estilo “cinema” */
    .hero-img {
      transform: scale(1.05);
    }

    /* Eyebrow line */
    .eyebrow-line::before {
      content: ''; display: inline-block;
      width: 2rem; height: 1px;
      background: var(--gold); margin-right: 0.6rem;
      vertical-align: middle;
    }

    /* Section title em */
    .section-title em { font-style: italic; color: var(--gold); }

    /* Area card hover bar */
    .area-card { position: relative; overflow: hidden; }
    .area-card::after {
      content: ''; position: absolute;
      bottom: 0; left: 0; right: 0; height: 3px;
      background: var(--gold);
      transform: scaleX(0); transition: transform 0.3s; transform-origin: left;
    }
    .area-card:hover { background: var(--gold-pale) !important; }
    .area-card:hover::after { transform: scaleX(1); }

    /* Diferenciais section bg lines */
    #diferenciais::before {
      content: ''; position: absolute; inset: 0; opacity: 0.03;
      background-image:
        repeating-linear-gradient(0deg, transparent, transparent 60px, rgba(201,168,76,1) 60px, rgba(201,168,76,1) 61px),
        repeating-linear-gradient(90deg, transparent, transparent 60px, rgba(201,168,76,1) 60px, rgba(201,168,76,1) 61px);
    }

    /* About card quote decoration */
    .about-card-main::before {
      content: '"'; font-family: var(--serif);
      font-size: 14rem; line-height: 1;
      color: rgba(201,168,76,0.08);
      position: absolute; top: -2rem; right: 1rem;
      pointer-events: none;
    }

    /* Hero image overlay */
    .hero-image-col::before {
      content: ''; position: absolute; inset: 0;
      background: linear-gradient(to right, #0D1B2A 0%, transparent 40%);
      z-index: 1;
    }

    /* Form focus */
    .form-input:focus, .form-select:focus, .form-textarea:focus {
      border-color: var(--gold) !important;
      background: white !important;
      outline: none;
    }

    /* Hamburger */
    .nav-hamburger { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 4px; }
    .nav-hamburger span { display: block; width: 24px; height: 1.5px; background: rgba(255,255,255,0.7); transition: all 0.3s; }
    .nav-hamburger.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
    .nav-hamburger.open span:nth-child(2) { opacity: 0; }
    .nav-hamburger.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

    /* Scroll reveal */
    .reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.6s ease, transform 0.6s ease; }
    .reveal.visible { opacity: 1; transform: translateY(0); }

    /* Hero animations */
    @keyframes fadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
    .hero-eyebrow { animation: fadeUp 0.7s ease forwards; }
    .hero-title    { animation: fadeUp 0.7s 0.12s ease both; }
    .hero-desc     { animation: fadeUp 0.7s 0.22s ease both; }
    .hero-actions  { animation: fadeUp 0.7s 0.32s ease both; }
    .hero-badge    { animation: fadeUp 0.7s 0.45s ease both; }

    /* reCAPTCHA badge (opcional: esconder e exibir texto legal) */
    .grecaptcha-badge { visibility: hidden; }

    @media (max-width: 768px) {
      .nav-hamburger { display: flex; }
      .nav-links-ul {
        display: none; position: absolute;
        top: 100%; left: 0; right: 0;
        background: rgba(13,27,42,0.98);
        flex-direction: column; gap: 0;
        padding: 1rem 0;
        border-top: 1px solid rgba(201,168,76,0.2);
      }
      .nav-links-ul.open { display: flex; }
      .nav-links-ul li a { display: block; padding: 0.75rem 5vw; }
    }
  </style>