﻿*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
:root {
  --green-dark:  #00361c;
  --green-main:  #0b5e11;
  --green-mid:   #428a48;
  --gold:        #9e9e43;
  --gold-light:  #c4c455;
  --cream:       #eeeee0;
  --cream-dark:  #ddddc8;
  --white:       #ffffff;
  --text:        #1a2a1a;
  --text-muted:  #4a5e4a;
  --shadow:      rgba(0,54,28,0.12);
}
html { scroll-behavior: smooth; }
body { font-family: 'Inter', sans-serif; background: var(--white); color: var(--text); overflow-x: hidden; }
/* NAV */
nav {
  position: fixed; top: 0; width: 100%; z-index: 200;
  padding: 16px 64px;
  display: flex; justify-content: space-between; align-items: center;
  transition: all 0.4s ease;
}
nav.scrolled {
  background: rgba(255,255,255,0.97);
  padding: 12px 64px;
  box-shadow: 0 1px 24px var(--shadow);
  backdrop-filter: blur(10px);
}
.nav-logo { background: white; border-radius: 10px; padding: 8px 20px; box-shadow: 0 3px 18px rgba(0,0,0,0.25); display: inline-flex; align-items: center; transition: box-shadow 0.4s, padding 0.4s; }
nav.scrolled .nav-logo { box-shadow: 0 1px 8px rgba(0,0,0,0.10); padding: 6px 16px; }
.nav-logo img { height: 72px; width: auto; display: block; object-fit: contain; transition: height 0.4s; }
nav.scrolled .nav-logo img { height: 56px; }
.nav-links { display:flex; gap:36px; list-style:none; }
.nav-links a { color:rgba(255,255,255,0.90); text-decoration:none; font-size:14px; font-weight:500; transition:color 0.3s; }
nav.scrolled .nav-links a { color: var(--text-muted); }
.nav-links a:hover { color:white; }
nav.scrolled .nav-links a:hover { color: var(--green-main); }
.nav-right { display:flex; align-items:center; gap:20px; }
.nav-ig { display:flex; align-items:center; gap:8px; text-decoration:none; color:rgba(255,255,255,0.85); transition:color 0.3s; }
nav.scrolled .nav-ig { color:var(--text-muted); }
.nav-ig:hover { color:var(--gold-light); }
nav.scrolled .nav-ig:hover { color:var(--green-main); }
.ig-icon { width:20px; height:20px; flex-shrink:0; }
.ig-handle { font-size:12px; font-weight:500; letter-spacing:0.3px; }
.nav-btn { background: var(--gold); color: white; padding: 11px 28px; border: none; cursor: pointer; font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: 0.5px; border-radius: 3px; transition: all 0.3s; }
.nav-btn:hover { background: var(--gold-light); transform: translateY(-1px); }
nav.scrolled .nav-btn { background: var(--green-main); }
nav.scrolled .nav-btn:hover { background: var(--green-dark); }
/* BAND CULTURAS */
.band-culturas { background: var(--green-dark); padding: 15px 0; overflow: hidden; }
.band-culturas-inner { display: flex; width: max-content; will-change: transform; }
.band-culturas-track { display: flex; align-items: center; flex-shrink: 0; }
.bc-item { display: inline-flex; align-items: center; gap: 10px; padding: 0 30px; color: rgba(238,238,224,0.72); font-size: 12px; font-weight: 500; letter-spacing: 2px; text-transform: uppercase; white-space: nowrap; }
.bc-dot { width: 3px; height: 3px; border-radius: 50%; background: var(--gold); flex-shrink:0; }
@keyframes fadeUp { from{opacity:0;transform:translateY(32px);} to{opacity:1;transform:translateY(0);} }
@keyframes growDown { from{height:0;} to{height:70px;} }
.reveal { opacity:0; transform:translateY(36px); transition:opacity 0.85s ease,transform 0.85s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

@media(max-width:960px){
  nav{padding:12px 20px;} nav.scrolled{padding:10px 20px;}
  .nav-links,.nav-right{display:none;}
  .nav-logo img{height:52px;}
  .hero-content{padding:0 24px 80px;max-width:100%;}
  .hero-stats{display:none;}
  .services{padding:80px 24px;}
  .services-head{flex-direction:column;gap:16px;}
  .services-head-right{text-align:left;max-width:none;}
  .srv-grid{grid-template-columns:1fr;}
  .seguradoras{padding:60px 24px;}
  .seg-grid{grid-template-columns:repeat(2,1fr);}
  .about{padding:80px 24px;grid-template-columns:1fr;}
  .about-imgs{height:320px;} .about-badge{left:0;}
  .contact{grid-template-columns:1fr;}
  .contact-visual{min-height:400px;}
  .contact-visual-content{padding:40px 28px;}
  .contact-form-side{padding:60px 28px;}
  .form-row{grid-template-columns:1fr;}
  footer{padding:30px 24px;flex-direction:column;align-items:flex-start;}
  .hero-scroll{display:none;}
}

/* === FORMULARIO: feedback Formspree === */
.form-feedback {
  font-size: 13px;
  margin-top: 10px;
  padding: 10px 14px;
  border-radius: 6px;
  line-height: 1.5;
}
.form-feedback--ok  { background: rgba(55, 130, 70, 0.12); color: #2a6e37; }
.form-feedback--err { background: rgba(180, 40, 40, 0.10); color: #8f1f1f; }