/* Valdir LP - CSS principal isolado. Cache-buster dinâmico aplicado no index.php. */
html, body { width: 100%; min-height: 100%; margin: 0 !important; padding: 0 !important; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
img, svg, iframe { max-width: 100%; }

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    :root {
      --navy: #0C1B2E;
      --navy-mid: #132438;
      --navy-light: #1a3050;
      --cream: #F4EFE5;
      --cream-dark: #EAE4D8;
      --gold: #C5963A;
      --gold-light: #D4A94A;
      --white: #FFFFFF;
      --text-dark: #0C1B2E;
      --text-mid: #3D4F63;
      --text-muted: #6B7E94;
      --serif: "Playfair Display", Georgia, serif;
      --sans: "Inter", system-ui, sans-serif;
      --ease: cubic-bezier(.25,.46,.45,.94);
    }
    html { scroll-behavior: smooth; }
    body { font-family: var(--sans); color: var(--text-dark); background: var(--cream); overflow-x: hidden; }

    /* ── ANIMATIONS ─────────────────────────────────────────── */
    @keyframes fadeInUp {
      from { opacity: 0; transform: translateY(40px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    @keyframes fadeIn {
      from { opacity: 0; }
      to   { opacity: 1; }
    }
    @keyframes slideInLeft {
      from { opacity: 0; transform: translateX(-40px); }
      to   { opacity: 1; transform: translateX(0); }
    }
    @keyframes slideInRight {
      from { opacity: 0; transform: translateX(40px); }
      to   { opacity: 1; transform: translateX(0); }
    }
    @keyframes scaleIn {
      from { opacity: 0; transform: scale(.95); }
      to   { opacity: 1; transform: scale(1); }
    }
    @keyframes lineGrow {
      from { width: 0; }
      to   { width: 36px; }
    }
    .aos {
      opacity: 0;
      transform: translateY(36px);
      transition: opacity .75s var(--ease), transform .75s var(--ease);
    }
    .aos.from-left  { transform: translateX(-36px); }
    .aos.from-right { transform: translateX(36px); }
    .aos.scale      { transform: scale(.95); }
    .aos.visible {
      opacity: 1;
      transform: translateY(0) translateX(0) scale(1);
    }
    .delay-1 { transition-delay: .1s; }
    .delay-2 { transition-delay: .2s; }
    .delay-3 { transition-delay: .3s; }
    .delay-4 { transition-delay: .45s; }
    .delay-5 { transition-delay: .6s; }

    /* Hero children animate on load */
    .hero-tag   { animation: fadeInUp .7s var(--ease) .2s both; }
    .hero-title { animation: fadeInUp .8s var(--ease) .35s both; }
    .hero-body  { animation: fadeInUp .8s var(--ease) .5s both; }
    .hero-media { animation: slideInRight 1s var(--ease) .4s both; }

    /* ── NAV ─────────────────────────────────────────────────── */
    nav {
      position: fixed; top: 0; left: 0; right: 0; z-index: 200;
      background: rgba(12,27,46,.97);
      backdrop-filter: blur(12px);
      padding: 0 5%;
      display: flex; align-items: center; justify-content: space-between;
      height: 72px;
      border-bottom: 1px solid rgba(255,255,255,.06);
      transition: box-shadow .3s;
    }
    nav.scrolled { box-shadow: 0 4px 40px rgba(0,0,0,.4); }
    .nav-logo { display: flex; align-items: baseline; gap: .6rem; text-decoration: none; }
    .nav-logo strong {
      font-family: var(--serif); color: var(--white);
      font-size: 1.75rem; font-weight: 700; letter-spacing: .01em; line-height: 1;
    }
    .nav-logo span {
      font-size: .62rem; color: var(--gold); letter-spacing: .14em;
      text-transform: uppercase; font-weight: 500;
    }
    .nav-links { display: flex; gap: 2.2rem; }
    .nav-links a {
      color: rgba(255,255,255,.6); text-decoration: none;
      font-size: .68rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase;
      transition: color .2s; position: relative; padding-bottom: 2px;
    }
    .nav-links a::after {
      content: ""; position: absolute; bottom: -2px; left: 0; width: 0;
      height: 1px; background: var(--gold); transition: width .2s;
    }
    .nav-links a:hover { color: var(--gold); }
    .nav-links a:hover::after { width: 100%; }
    .nav-right { display: flex; align-items: center; gap: 1.1rem; }
    .nav-ig { color: rgba(255,255,255,.5); text-decoration: none; display: flex; transition: color .2s; }
    .nav-ig:hover { color: var(--gold); }
    .nav-cta {
      background: var(--gold); color: var(--navy); border: none; cursor: pointer;
      padding: .6rem 1.4rem; font-size: .65rem; font-weight: 700; letter-spacing: .1em;
      text-transform: uppercase; text-decoration: none;
      transition: background .2s, transform .15s;
    }
    .nav-cta:hover { background: var(--gold-light); transform: translateY(-1px); }

    /* ── SECTIONS ────────────────────────────────────────────── */
    section { padding: 100px 10%; }
    .dark { background: var(--navy); color: var(--white); }
    .light { background: var(--cream); }
    .tag {
      display: flex; align-items: center; gap: .75rem;
      font-size: .63rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase;
      color: var(--gold); margin-bottom: 1.75rem;
    }
    .tag::before {
      content: ""; display: block; height: 2px; background: var(--gold); flex-shrink: 0;
      animation: lineGrow .6s var(--ease) .3s both;
      width: 36px;
    }
    .compliance { font-size: .68rem; color: rgba(255,255,255,.38); margin-top: 1.25rem; line-height: 1.55; }
    .compliance-light { font-size: .68rem; color: var(--text-muted); margin-top: 1.25rem; line-height: 1.55; }
    .btn-gold {
      display: inline-block; background: var(--gold); color: var(--navy);
      padding: 1rem 2.2rem; font-size: .7rem; font-weight: 700; letter-spacing: .12em;
      text-transform: uppercase; text-decoration: none;
      transition: background .2s, transform .15s, box-shadow .2s;
    }
    .btn-gold:hover { background: var(--gold-light); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(197,150,58,.35); }
    .btn-outline {
      display: inline-block; border: 1.5px solid var(--text-dark); color: var(--text-dark);
      padding: .9rem 2rem; font-size: .68rem; font-weight: 600; letter-spacing: .12em;
      text-transform: uppercase; text-decoration: none;
      transition: all .2s;
    }
    .btn-outline:hover { background: var(--text-dark); color: var(--cream); transform: translateY(-2px); }
    .btn-dark {
      display: inline-block; background: var(--navy); color: var(--white);
      padding: 1.1rem 2.5rem; font-size: .7rem; font-weight: 700; letter-spacing: .12em;
      text-transform: uppercase; text-decoration: none;
      transition: background .2s, transform .15s, box-shadow .2s;
    }
    .btn-dark:hover { background: var(--navy-light); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(12,27,46,.35); }

    /* ── HERO ─────────────────────────────────────────────────── */
    #hero {
      min-height: 100vh; padding-top: 120px;
      display: grid; grid-template-columns: 1fr .9fr; gap: 5rem; align-items: center;
      position: relative; overflow: hidden;
    }
    #hero::before {
      content: "";
      position: absolute; inset: 0; z-index: 0;
      background: url('https://images.unsplash.com/photo-1486325212027-8081e485255e?w=1600&q=80&auto=format&fit=crop') center/cover no-repeat;
      opacity: .07;
    }
    .hero-text { position: relative; z-index: 1; }
    .hero-headline {
      font-family: var(--serif); font-size: clamp(2.8rem, 5vw, 4.5rem);
      line-height: 1.05; margin-bottom: 2rem; color: var(--white);
    }
    .hero-headline em { color: var(--gold); font-style: italic; display: block; }
    .hero-body p { font-size: .97rem; line-height: 1.82; color: rgba(255,255,255,.72); margin-bottom: 1.1rem; }
    .hero-quote {
      border-left: 3px solid var(--gold); padding: 1rem 1.5rem;
      background: rgba(255,255,255,.04); margin: 1.75rem 0;
      font-style: italic; color: rgba(255,255,255,.82); font-size: .97rem; line-height: 1.72;
    }
    /* YouTube embed */
    .hero-media { position: relative; z-index: 1; }
    .video-wrapper {
      position: relative; padding-bottom: 56.25%;
      height: 0; overflow: hidden;
      border: 1px solid rgba(255,255,255,.1);
      box-shadow: 0 24px 60px rgba(0,0,0,.5);
    }
    .video-wrapper iframe {
      position: absolute; top: 0; left: 0;
      width: 100%; height: 100%; border: 0;
    }
    .video-label {
      margin-top: .75rem; font-size: .65rem; letter-spacing: .12em;
      text-transform: uppercase; color: rgba(255,255,255,.35); text-align: center;
    }

    /* ── DIAGNÓSTICO ─────────────────────────────────────────── */
    #diagnostico { position: relative; overflow: hidden; }
    #diagnostico h2 { font-family: var(--serif); font-size: clamp(2rem, 3.5vw, 2.9rem); line-height: 1.15; margin-bottom: 2.5rem; }
    .tabs { display: flex; border-bottom: 2px solid var(--cream-dark); margin-bottom: 2rem; }
    .tab-btn {
      padding: .8rem 1.7rem; background: none; border: none; cursor: pointer;
      font-family: var(--sans); font-size: .68rem; font-weight: 600;
      letter-spacing: .12em; text-transform: uppercase;
      color: var(--text-muted); border-bottom: 2px solid transparent;
      margin-bottom: -2px; transition: all .25s;
    }
    .tab-btn.active { color: var(--text-dark); border-bottom-color: var(--gold); }
    .tab-content { display: none; }
    .tab-content.active { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; animation: fadeIn .4s ease; }
    .diag-card {
      background: var(--cream-dark); padding: 1.5rem;
      font-size: .88rem; line-height: 1.68; color: var(--text-dark);
      border-left: 3px solid var(--gold);
      transition: transform .2s, box-shadow .2s;
    }
    .diag-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(12,27,46,.1); }
    /* Agro tab has background image */
    #tab-agro .diag-card {
      background: var(--cream-dark);
      position: relative; overflow: hidden;
    }
    .closing-quote {
      background: var(--navy); color: rgba(255,255,255,.85); padding: 1.6rem 2rem;
      font-style: italic; font-size: .97rem; line-height: 1.72; margin-top: 2rem;
    }

    /* ── AGRO VISUAL ─────────────────────────────────────────── */
    .agro-hero-img {
      width: 100%; height: 180px; object-fit: cover;
      margin-bottom: 1.5rem;
      filter: brightness(.85);
    }

    /* ── ERRO ─────────────────────────────────────────────────── */
    #erro { position: relative; overflow: hidden; }
    #erro::after {
      content: "";
      position: absolute; right: -60px; top: -60px;
      width: 300px; height: 300px;
      background: rgba(197,150,58,.04); border-radius: 50%; pointer-events: none;
    }
    #erro h2 { font-family: var(--serif); font-size: clamp(2rem, 3.5vw, 2.9rem); line-height: 1.1; margin-bottom: .5rem; }
    #erro h2 em { color: var(--gold); font-style: italic; }
    #erro .subtitle { color: rgba(255,255,255,.72); font-size: .93rem; line-height: 1.78; max-width: 680px; margin: 1.5rem 0 2.5rem; }
    .erro-cards { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; margin-bottom: 2rem; }
    .erro-card {
      background: rgba(255,255,255,.04); padding: 1.5rem;
      border: 1px solid rgba(255,255,255,.07);
      transition: background .25s, transform .25s, border-color .25s;
    }
    .erro-card:hover { background: rgba(255,255,255,.08); transform: translateY(-3px); border-color: rgba(197,150,58,.3); }
    .erro-card .card-icon { font-size: 1.5rem; margin-bottom: .9rem; opacity: .55; }
    .erro-card strong { display: block; color: var(--white); font-size: .88rem; margin-bottom: .5rem; font-weight: 600; }
    .erro-card p { color: rgba(255,255,255,.58); font-size: .83rem; line-height: 1.68; }
    .erro-bridge {
      border-left: 3px solid var(--gold); padding: 1rem 1.5rem;
      background: rgba(255,255,255,.04); font-style: italic;
      color: rgba(255,255,255,.78); font-size: .95rem; line-height: 1.72;
    }

    /* ── MÉTODO ───────────────────────────────────────────────── */
    #metodo { position: relative; }
    #metodo h2 { font-family: var(--serif); font-size: clamp(2rem, 3.5vw, 2.9rem); margin-bottom: .5rem; }
    #metodo .subtitle { color: var(--text-mid); margin-bottom: 2.5rem; font-size: .93rem; }
    .metodo-cards { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; margin-bottom: 2rem; }
    .metodo-card {
      padding: 1.5rem; background: var(--cream-dark);
      transition: transform .25s, box-shadow .25s;
      position: relative; overflow: hidden;
    }
    .metodo-card::before {
      content: ""; position: absolute; bottom: 0; left: 0; right: 0;
      height: 2px; background: var(--gold); transform: scaleX(0); transform-origin: left;
      transition: transform .3s;
    }
    .metodo-card:hover { transform: translateY(-4px); box-shadow: 0 10px 28px rgba(12,27,46,.1); }
    .metodo-card:hover::before { transform: scaleX(1); }
    .metodo-num {
      font-family: var(--serif); font-size: 2.8rem; color: rgba(197,150,58,.18);
      font-weight: 700; line-height: 1; margin-bottom: .75rem;
    }
    .metodo-card strong { display: block; font-size: .88rem; margin-bottom: .5rem; color: var(--text-dark); font-weight: 600; }
    .metodo-card p { font-size: .83rem; line-height: 1.68; color: var(--text-mid); }
    .metodo-quote {
      background: var(--navy); color: rgba(255,255,255,.82); padding: 1.6rem 2rem;
      font-style: italic; font-size: .97rem; line-height: 1.72; margin-bottom: 1.75rem;
    }

    /* ── SOBRE ────────────────────────────────────────────────── */
    #sobre { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: start; }
    .sobre-left h2 { font-family: var(--serif); font-size: clamp(1.8rem, 3vw, 2.5rem); margin-bottom: 2rem; }
    .sobre-left p { font-size: .95rem; line-height: 1.82; color: var(--text-mid); margin-bottom: 1.1rem; }
    .sobre-principle {
      font-style: italic; font-size: .97rem; color: var(--text-dark); font-weight: 500;
      border-left: 3px solid var(--gold); padding: .8rem 1.1rem; margin: 1.5rem 0;
      background: var(--cream-dark);
    }
    .sobre-onde { margin-top: 1.5rem; }
    .sobre-onde strong { font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); display: block; margin-bottom: .5rem; }
    .sobre-onde p { font-size: .83rem; color: var(--text-muted); line-height: 1.65; border: 1px dashed rgba(0,0,0,.15); padding: .8rem 1rem; }
    /* Valdir Photo */
    .valdir-photo-wrap { position: relative; margin-bottom: 1rem; }
    .valdir-photo-wrap img {
      width: 100%; display: block;
      box-shadow: 0 20px 50px rgba(12,27,46,.25);
      transition: transform .4s var(--ease);
    }
    .valdir-photo-wrap:hover img { transform: scale(1.01); }
    .valdir-photo-wrap .photo-badge {
      position: absolute; bottom: 1rem; left: 1rem;
      background: var(--gold); color: var(--navy);
      font-size: .6rem; font-weight: 700; letter-spacing: .1em;
      text-transform: uppercase; padding: .3rem .7rem;
    }
    .sobre-quote {
      background: var(--cream-dark); border-left: 3px solid var(--gold);
      padding: 1.1rem 1.4rem; font-style: italic; font-size: .9rem;
      line-height: 1.68; color: var(--text-dark);
    }

    /* ── COMO FUNCIONA ────────────────────────────────────────── */
    #funciona { }
    #funciona h2 { font-family: var(--serif); font-size: clamp(2rem, 3.5vw, 2.9rem); margin-bottom: 2.5rem; }
    .funciona-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 2.5rem; }
    .funciona-card {
      background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07);
      padding: 2rem; transition: background .25s, border-color .25s;
    }
    .funciona-card:hover { background: rgba(255,255,255,.07); border-color: rgba(197,150,58,.25); }
    .funciona-card .fc-label {
      font-size: .63rem; font-weight: 600; letter-spacing: .15em;
      text-transform: uppercase; color: var(--gold); margin-bottom: 1rem;
    }
    .funciona-card p { color: rgba(255,255,255,.7); font-size: .92rem; line-height: 1.75; }
    .funciona-steps { margin-bottom: 2rem; }
    .funciona-step {
      display: grid; grid-template-columns: 2rem 1fr; gap: 1rem; align-items: start;
      margin-bottom: 1.4rem; padding: 1rem; border-left: 1px solid rgba(255,255,255,.08);
      transition: border-color .2s;
    }
    .funciona-step:hover { border-left-color: var(--gold); }
    .step-num { font-family: var(--serif); color: var(--gold); font-size: 1.15rem; font-weight: 700; padding-top: .1rem; }
    .funciona-step p { color: rgba(255,255,255,.7); font-size: .92rem; line-height: 1.7; }
    .funciona-close {
      border-left: 3px solid var(--gold); padding: .8rem 1.2rem;
      font-style: italic; color: rgba(255,255,255,.62); font-size: .92rem; margin-bottom: 1rem;
    }

    /* ── FORM ─────────────────────────────────────────────────── */
    #form { text-align: center; padding: 100px 15%; }
    #form .tag { justify-content: center; }
    #form .tag::before { display: none; }
    #form h2 { font-family: var(--serif); font-size: clamp(2.2rem, 4vw, 3.5rem); margin-bottom: 1.5rem; }
    #form .form-desc { max-width: 580px; margin: 0 auto 2.5rem; font-size: .95rem; line-height: 1.82; color: var(--text-mid); }
    .form-tagline { margin-top: 2rem; font-style: italic; font-size: .9rem; color: var(--text-mid); }

    /* ── FOOTER ───────────────────────────────────────────────── */
    footer {
      background: var(--navy); padding: 2.5rem 10%; text-align: center;
      color: rgba(255,255,255,.35); font-size: .73rem; line-height: 1.7;
      border-top: 1px solid rgba(255,255,255,.06);
    }
    footer strong { color: rgba(255,255,255,.62); }

    /* ── DIVIDER LINE ─────────────────────────────────────────── */
    .gold-divider { height: 2px; background: linear-gradient(90deg, transparent, var(--gold), transparent); }

    /* ── RESPONSIVE ───────────────────────────────────────────── */
    @media (max-width: 1024px) {
      #hero { grid-template-columns: 1fr; min-height: auto; }
      .hero-media { order: -1; max-width: 600px; margin: 0 auto; }
    }
    @media (max-width: 900px) {
      .tab-content.active, .erro-cards, .metodo-cards { grid-template-columns: 1fr 1fr; }
      #sobre { grid-template-columns: 1fr; }
      .funciona-cols { grid-template-columns: 1fr; }
      .nav-links { display: none; }
      #form { padding: 80px 8%; }
    }
    @media (max-width: 600px) {
      section { padding: 72px 6%; }
      .tab-content.active, .erro-cards, .metodo-cards { grid-template-columns: 1fr; }
      #form { padding: 72px 6%; }
      .nav-logo strong { font-size: 1.4rem; }
    }
