/* ===== AV Consultores — design tokens ===== */
:root{
  --navy: #12202f;
  --navy-2: #1b2f42;
  --maroon: #7a1f33;
  --maroon-2: #9c2b45;
  --gold: #c79a4b;
  --ink: #1c2530;
  --muted: #5c6b7a;
  --line: #e6e9ed;
  --bg: #ffffff;
  --bg-alt: #f5f7f9;
  --radius: 14px;
  --shadow: 0 10px 30px rgba(18,32,47,.08);
  --ff-head: 'Poppins', sans-serif;
  --ff-body: 'Inter', sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; font-family:var(--ff-body); color:var(--ink);
  background:var(--bg); -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none; margin:0; padding:0;}
.container{max-width:1180px; margin:0 auto; padding:0 24px;}
h1,h2,h3,h4{font-family:var(--ff-head); color:var(--navy); line-height:1.2; margin:0 0 .5em;}

/* Preloader */
#preloader{position:fixed; inset:0; background:var(--navy); z-index:9999; display:flex; align-items:center; justify-content:center; transition:opacity .5s ease, visibility .5s ease;}
#preloader.done{opacity:0; visibility:hidden;}
.loader-mark{font-family:var(--ff-head); font-weight:800; font-size:2.4rem; color:#fff; letter-spacing:2px; animation:pulse 1.1s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:.4; transform:scale(.92);}50%{opacity:1; transform:scale(1);}}

/* Buttons */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:.5em; padding:14px 28px; border-radius:999px; font-weight:600; font-size:.95rem; cursor:pointer; border:2px solid transparent; transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--maroon); color:#fff; box-shadow:0 8px 20px rgba(122,31,51,.35);}
.btn-primary:hover{background:var(--maroon-2);}
.btn-outline{border-color:rgba(255,255,255,.6); color:#fff;}
.btn-outline:hover{background:rgba(255,255,255,.12);}
.btn-block{width:100%;}

/* Header */
#header{position:fixed; top:0; left:0; right:0; z-index:1000; padding:18px 0; transition:background .3s ease, padding .3s ease, box-shadow .3s ease;}
#header.scrolled{background:rgba(18,32,47,.96); padding:10px 0; box-shadow:0 6px 24px rgba(0,0,0,.15); backdrop-filter:blur(8px);}
.header-inner{display:flex; align-items:center; justify-content:space-between; gap:24px;}
.brand{display:flex; align-items:center; gap:10px;}
.brand-mark{width:42px; height:42px; border-radius:10px; background:linear-gradient(135deg,var(--maroon),var(--gold)); color:#fff; font-family:var(--ff-head); font-weight:800; display:flex; align-items:center; justify-content:center; font-size:1.1rem;}
.brand-text{color:#fff; font-family:var(--ff-head); font-weight:700; letter-spacing:.5px; font-size:1.05rem; line-height:1.1; display:flex; flex-direction:column;}
.brand-text small{color:#c7cfd8; font-family:var(--ff-body); font-weight:500; font-size:.62rem; letter-spacing:1px; text-transform:uppercase;}
#nav ul{display:flex; gap:8px;}
.nav-link{color:#dfe4ea; padding:8px 14px; border-radius:999px; font-size:.92rem; font-weight:500; transition:background .25s, color .25s;}
.nav-link:hover, .nav-link.active{background:rgba(255,255,255,.12); color:#fff;}
.nav-cta{white-space:nowrap;}
#burger{display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:6px;}
#burger span{width:24px; height:2px; background:#fff; display:block; transition:transform .3s ease, opacity .3s ease;}

/* Hero */
.hero{position:relative; padding:170px 0 0; color:#fff; overflow:hidden;}
.hero-bg{position:absolute; inset:0; background:
    radial-gradient(circle at 15% 20%, rgba(199,154,75,.25), transparent 45%),
    radial-gradient(circle at 85% 0%, rgba(156,43,69,.35), transparent 55%),
    linear-gradient(160deg, var(--navy) 0%, var(--navy-2) 55%, var(--maroon) 150%);
  z-index:-1;
}
.hero-inner{max-width:760px; padding-bottom:90px;}
.eyebrow{text-transform:uppercase; letter-spacing:2px; font-size:.78rem; font-weight:700; color:var(--gold); margin-bottom:14px;}
.hero h1{color:#fff; font-size:clamp(2.1rem,4.2vw,3.4rem); font-weight:700; margin-bottom:20px;}
.hero h1 span{color:var(--gold);}
.hero-text{font-size:1.08rem; color:#cfd7df; max-width:620px; margin-bottom:32px;}
.hero-actions{display:flex; gap:16px; flex-wrap:wrap;}

.stats-bar{background:rgba(255,255,255,.06); border-top:1px solid rgba(255,255,255,.12); backdrop-filter:blur(6px);}
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); padding:30px 24px; gap:16px;}
.stat{text-align:center;}
.stat-num{font-family:var(--ff-head); font-size:2.1rem; font-weight:800; color:#fff;}
.stat-plus{font-family:var(--ff-head); font-size:2.1rem; font-weight:800; color:var(--gold);}
.stat p{margin:4px 0 0; color:#c7cfd8; font-size:.85rem;}

/* Sections */
.section{padding:100px 0;}
.section-alt{background:var(--bg-alt);}
.section-dark{background:linear-gradient(160deg,var(--navy),var(--navy-2)); color:#fff;}
.section-dark .eyebrow{color:var(--gold);}
.section-dark h2{color:#fff;}
.section-head{max-width:640px; margin:0 auto 56px; text-align:center;}
.section-head.reveal, .section-head{margin-left:auto; margin-right:auto;}
.section-sub{color:var(--muted); margin-top:6px;}

/* About */
.about-lead{max-width:820px; margin:0 auto 48px; text-align:center; color:var(--muted); font-size:1.08rem; line-height:1.7;}
.mv-cards{display:grid; grid-template-columns:repeat(2,1fr); gap:28px; max-width:820px; margin:0 auto;}
.mv-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:36px; box-shadow:var(--shadow); text-align:center; transition:transform .3s ease;}
.mv-card:hover{transform:translateY(-6px);}
.mv-card i{font-size:1.8rem; color:var(--maroon); margin-bottom:14px;}

/* Accordion */
.accordion{max-width:840px; margin:0 auto;}
.acc-item{background:#fff; border:1px solid var(--line); border-radius:var(--radius); margin-bottom:14px; overflow:hidden; box-shadow:0 2px 10px rgba(18,32,47,.04);}
.acc-head{width:100%; display:flex; align-items:center; gap:16px; padding:20px 24px; background:none; border:0; cursor:pointer; text-align:left; font-family:var(--ff-head); font-size:1.05rem; font-weight:600; color:var(--navy);}
.acc-icon{width:42px; height:42px; border-radius:10px; background:var(--bg-alt); color:var(--maroon); display:flex; align-items:center; justify-content:center; flex:none;}
.acc-title{flex:1;}
.acc-chevron{transition:transform .3s ease; color:var(--muted);}
.acc-item.active .acc-chevron{transform:rotate(180deg); color:var(--maroon);}
.acc-body{max-height:0; overflow:hidden; transition:max-height .4s ease;}
.acc-item.active .acc-body{max-height:1200px;}
.acc-body-inner{padding:0 24px 26px 82px; color:var(--muted); line-height:1.7;}
.acc-body-inner h4{font-size:.95rem; color:var(--navy); margin-top:16px;}
.acc-body-inner h4:first-child{margin-top:0;}
.acc-body-inner p{margin:4px 0 0;}

/* Team */
.team-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:28px; max-width:900px; margin:0 auto;}
.team-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:36px; box-shadow:var(--shadow); text-align:center;}
.team-avatar{width:132px; height:132px; margin:0 auto 20px; border-radius:50%; background:linear-gradient(135deg,var(--maroon),var(--navy)); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.7rem; overflow:hidden; box-shadow:0 8px 22px rgba(18,32,47,.18); border:3px solid #fff; outline:1px solid var(--line);}
.team-avatar img{width:100%; height:100%; object-fit:cover; object-position:top center;}
.team-role{color:var(--gold); font-weight:600; text-transform:uppercase; font-size:.78rem; letter-spacing:1px; margin-bottom:14px;}
.team-card p:last-child{color:var(--muted); font-size:.92rem; line-height:1.7; text-align:left;}

/* Contact */
.contact-grid{display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:start;}
.contact-info h2{color:#fff; max-width:420px;}
.contact-info>p{color:#c7cfd8; margin-bottom:26px;}
.contact-list{display:flex; flex-direction:column; gap:14px; margin-bottom:28px;}
.contact-list li{display:flex; align-items:center; gap:12px; color:#e3e8ed;}
.contact-list i{width:38px; height:38px; border-radius:10px; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; color:var(--gold);}
.social-row{display:flex; gap:12px;}
.social-row a{width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; transition:background .25s ease, transform .25s ease;}
.social-row a:hover{background:var(--maroon); transform:translateY(-3px);}

.contact-form{background:#fff; border-radius:var(--radius); padding:36px; box-shadow:0 20px 50px rgba(0,0,0,.25);}
.form-row{margin-bottom:16px;}
.form-row-2{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.contact-form label{display:flex; flex-direction:column; gap:6px; font-size:.85rem; font-weight:600; color:var(--navy);}
.contact-form input, .contact-form textarea{font-family:var(--ff-body); border:1.5px solid var(--line); border-radius:10px; padding:12px 14px; font-size:.95rem; color:var(--ink); background:var(--bg-alt); transition:border-color .25s ease, box-shadow .25s ease;}
.contact-form input:focus, .contact-form textarea:focus{outline:none; border-color:var(--maroon); box-shadow:0 0 0 3px rgba(122,31,51,.12); background:#fff;}
.hp-field{position:absolute; left:-9999px; opacity:0;}
.form-status{margin:14px 0 0; font-size:.88rem; min-height:1.2em;}
.form-status.ok{color:#1c7a4d;}
.form-status.err{color:#b3261e;}
.btn-spinner{margin-left:6px; display:none;}
.btn-spinner.show{display:inline-block;}

/* Footer */
.footer{background:var(--navy); color:#c7cfd8; padding:64px 0 0;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,.08);}
.brand-footer{margin-bottom:14px;}
.footer-tag{font-size:.9rem; color:#98a4b0;}
.footer h4{color:#fff; font-size:.95rem; margin-bottom:16px;}
.footer ul{display:flex; flex-direction:column; gap:10px; font-size:.9rem;}
.footer ul a:hover{color:#fff;}
.footer-bottom{padding:22px 24px; text-align:center; font-size:.82rem; color:#7e8b98;}

/* Floating buttons */
.whatsapp-fab{position:fixed; bottom:26px; left:26px; width:56px; height:56px; border-radius:50%; background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.5rem; box-shadow:0 10px 24px rgba(37,211,102,.45); z-index:900; animation:float 3s ease-in-out infinite;}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
#to-top{position:fixed; bottom:26px; right:26px; width:48px; height:48px; border-radius:50%; background:var(--maroon); color:#fff; border:0; cursor:pointer; display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transform:translateY(10px); transition:opacity .3s ease, transform .3s ease; z-index:900;}
#to-top.show{opacity:1; pointer-events:auto; transform:translateY(0);}

/* Reveal animation */
.reveal{opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

/* Responsive */
@media (max-width:900px){
  #nav, .nav-cta{display:none;}
  #burger{display:flex;}
  .header-inner.menu-open #nav{display:flex;}
  #nav{position:fixed; top:0; right:0; bottom:0; width:78%; max-width:320px; background:var(--navy); flex-direction:column; padding:100px 32px 32px; transform:translateX(100%); transition:transform .35s ease;}
  #nav.open{transform:translateX(0);}
  #nav ul{flex-direction:column; gap:6px;}
  .nav-link{display:block; padding:12px 16px;}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .mv-cards, .team-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .form-row-2{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .acc-body-inner{padding-left:24px;}
}
@media (max-width:520px){
  .footer-grid{grid-template-columns:1fr;}
  .hero{padding-top:140px;}
}
