/* ═══════════════════════════════════════════
   VARIABLES & RESET
═══════════════════════════════════════════ */
:root {
  --gold:        #d4af37;
  --gold-light:  #f0c040;
  --gold-dark:   #c9a84c;
  --gold-pale:   #f5d98b;
  --bg-black:    #080808;
  --bg-dark:     #0d0d0d;
  --bg-mid:      #111111;
  --bg-card:     #161616;
  --bg-card2:    #1c1c1c;
  --cream:       #f5f0e8;
  --cream-dim:   #c8c4bc;
  --muted:       #6b6b6b;
  --border:      rgba(212,175,55,.15);
  --font-h:      'Playfair Display', Georgia, serif;
  --font-b:      'Inter', sans-serif;
  --ease:        cubic-bezier(.25,.46,.45,.94);
  --tr:          all .4s var(--ease);
  --radius:      12px;
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  background: var(--bg-dark);
  color: var(--cream);
  font-family: var(--font-b);
  font-weight: 400;
  line-height: 1.7;
  overflow-x: hidden;
  cursor: none;
}

/* ── CUSTOM CURSOR ── */
.cur {
  width: 8px; height: 8px; background: var(--gold); border-radius: 50%;
  position: fixed; top: 0; left: 0; pointer-events: none; z-index: 9999;
  transform: translate(-50%,-50%);
}
.cur-f {
  width: 30px; height: 30px; border: 1px solid rgba(212,175,55,.5); border-radius: 50%;
  position: fixed; top: 0; left: 0; pointer-events: none; z-index: 9998;
  transform: translate(-50%,-50%);
  transition: width .3s, height .3s, border-color .3s;
}
@media (hover: none) { body { cursor: auto; } .cur, .cur-f { display: none; } }

img { display:block; max-width:100%; }
a { text-decoration:none; color:inherit; }
button { cursor:pointer; border:none; background:none; font-family:inherit; }

/* ═══ UTILITIES ═══ */
.container { max-width:1200px; margin:0 auto; padding:0 1.5rem; }
.section { padding: 7rem 0; }
.section-sm { padding: 4rem 0; }

.tag {
  font-size:.68rem; font-weight:700; letter-spacing:.45em; text-transform:uppercase;
  color:var(--gold); display:flex; align-items:center; gap:.9rem; margin-bottom:1.2rem;
}
.tag::before, .tag::after { content:''; display:block; height:1px; width:24px; background:var(--gold); opacity:.5; }
.tag-c { justify-content:center; }

h2.t2 {
  font-family:var(--font-h); font-size:clamp(2rem,4vw,3.2rem); font-weight:400;
  line-height:1.15; color:var(--cream); margin-bottom:1.2rem;
}
h2.t2 em { font-style:italic; color:var(--gold-light); }

.gold-line { width:52px; height:1px; background:linear-gradient(90deg,var(--gold),transparent); margin-bottom:1.8rem; }
.gold-line-c { margin-left:auto; margin-right:auto; background:linear-gradient(90deg,transparent,var(--gold),transparent); width:120px; }
.divider { height:1px; background:linear-gradient(90deg,transparent,rgba(212,175,55,.15),transparent); }

/* Reveal animations */
.rv  { opacity:0; transform:translateY(36px); transition:opacity .8s var(--ease),transform .8s var(--ease); }
.rvl { opacity:0; transform:translateX(-36px); transition:opacity .8s var(--ease),transform .8s var(--ease); }
.rvr { opacity:0; transform:translateX(36px);  transition:opacity .8s var(--ease),transform .8s var(--ease); }
.rv.on, .rvl.on, .rvr.on { opacity:1; transform:none; }

/* Gold button */
.btn-gold {
  display:inline-flex; align-items:center; gap:.6rem;
  padding:.85rem 2rem; background:linear-gradient(135deg,var(--gold),var(--gold-dark));
  color:#000; font-weight:700; font-size:.85rem; letter-spacing:.08em; text-transform:uppercase;
  border-radius:3px; transition:var(--tr);
  box-shadow:0 4px 20px rgba(212,175,55,.3);
}
.btn-gold:hover { transform:translateY(-2px); box-shadow:0 8px 32px rgba(212,175,55,.5); background:linear-gradient(135deg,var(--gold-light),var(--gold)); }

.btn-outline {
  display:inline-flex; align-items:center; gap:.6rem;
  padding:.85rem 2rem; border:1px solid rgba(212,175,55,.5);
  color:var(--gold); font-weight:600; font-size:.85rem; letter-spacing:.08em; text-transform:uppercase;
  border-radius:3px; transition:var(--tr);
}
.btn-outline:hover { background:rgba(212,175,55,.08); border-color:var(--gold); transform:translateY(-2px); }

/* Custom scrollbar */
::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-track { background:var(--bg-black); }
::-webkit-scrollbar-thumb { background:var(--gold-dark); border-radius:3px; }

/* ═══════════════════════════════════════════
   NAVBAR
═══════════════════════════════════════════ */
#nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:1rem 0; transition:var(--tr);
}
#nav.scrolled {
  background:rgba(5,5,5,.92); backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  padding:.7rem 0; box-shadow:0 4px 40px rgba(0,0,0,.7);
}
.nav-inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.nav-logo img { height:44px; filter:drop-shadow(0 0 8px rgba(212,175,55,.25)); transition:var(--tr); }
.nav-logo img:hover { filter:drop-shadow(0 0 16px rgba(212,175,55,.5)); }

.nav-links { display:flex; align-items:center; gap:2.5rem; list-style:none; }
.nav-links a {
  font-size:.82rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase;
  color:var(--cream-dim); transition:var(--tr); position:relative;
}
.nav-links a::after {
  content:''; position:absolute; bottom:-4px; left:0; width:0; height:1px;
  background:var(--gold); transition:width .3s var(--ease);
}
.nav-links a:hover { color:var(--gold); }
.nav-links a:hover::after { width:100%; }

.nav-right { display:flex; align-items:center; gap:1rem; }

.lang-toggle {
  display:flex; align-items:center; gap:2px;
  border:1px solid var(--border); border-radius:20px; padding:3px; overflow:hidden;
}
.lang-btn {
  padding:3px 10px; font-size:.72rem; font-weight:700; letter-spacing:.08em;
  border-radius:16px; color:var(--muted); transition:var(--tr);
}
.lang-btn.active { background:var(--gold); color:#000; }
.lang-btn:hover:not(.active) { color:var(--cream); }

.nav-cta { font-size:.75rem; padding:.65rem 1.4rem; }

/* Hamburger */
.hamburger { display:none; flex-direction:column; gap:5px; padding:4px; }
.hamburger span { display:block; width:24px; height:2px; background:var(--cream); border-radius:2px; transition:var(--tr); }
.hamburger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

.mobile-menu {
  display:none; position:fixed; inset:0; z-index:999;
  background:rgba(5,5,5,.97); backdrop-filter:blur(20px);
  flex-direction:column; align-items:center; justify-content:center; gap:2.5rem;
}
.mobile-menu.open { display:flex; }
.mobile-menu a {
  font-family:var(--font-h); font-size:clamp(1.6rem,5vw,2.4rem); font-weight:400;
  color:var(--cream); transition:color .3s;
}
.mobile-menu a:hover { color:var(--gold); }
.mobile-menu-bottom { display:flex; align-items:center; gap:1.5rem; margin-top:1rem; }

/* ═══════════════════════════════════════════
   HERO
═══════════════════════════════════════════ */
#hero {
  position:relative; min-height:100vh; display:flex; align-items:center;
  overflow:hidden;
}
.hero-slides { position:absolute; inset:0; z-index:0; }
.hero-slide {
  position:absolute; inset:0; background-size:cover; background-position:center;
  opacity:0; transition:opacity 1.5s ease; transform:scale(1.08);
  animation:heroKenBurns 8s ease-in-out forwards;
}
.hero-slide.active { opacity:1; }
@keyframes heroKenBurns {
  from { transform:scale(1.08); }
  to   { transform:scale(1); }
}
.hero-overlay {
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(135deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.55) 60%,rgba(0,0,0,.3) 100%);
}
.hero-overlay-bottom {
  position:absolute; bottom:0; left:0; right:0; z-index:2; height:200px;
  background:linear-gradient(to bottom,transparent,var(--bg-dark));
}
.hero-content {
  position:relative; z-index:3; max-width:700px;
  padding-top:8rem;
}
.hero-badge {
  display:inline-flex; align-items:center; gap:.6rem; margin-bottom:1.8rem;
  padding:.4rem 1rem; border:1px solid rgba(212,175,55,.4); border-radius:20px;
  font-size:.72rem; font-weight:700; letter-spacing:.35em; text-transform:uppercase; color:var(--gold);
  background:rgba(212,175,55,.07);
}
.hero-badge-dot { width:6px; height:6px; border-radius:50%; background:var(--gold); animation:pulseDot 1.5s ease-in-out infinite; }
@keyframes pulseDot { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(.6)} }

.hero-title {
  font-family:var(--font-h); font-size:clamp(2.4rem,6vw,4.8rem); font-weight:700;
  line-height:1.1; color:#fff; margin-bottom:1.4rem;
}
.hero-title span { color:var(--gold-light); font-style:italic; }

.hero-sub {
  font-size:clamp(1rem,2vw,1.15rem); font-weight:300; color:var(--cream-dim);
  max-width:520px; margin-bottom:2.5rem; line-height:1.75;
}
.hero-btns { display:flex; flex-wrap:wrap; gap:1rem; margin-bottom:3rem; }

.hero-stats { display:flex; gap:2.5rem; }
.hero-stat-num {
  font-family:var(--font-h); font-size:2rem; font-weight:700; color:var(--gold); line-height:1;
}
.hero-stat-lbl { font-size:.72rem; color:var(--cream-dim); letter-spacing:.1em; text-transform:uppercase; margin-top:.2rem; }

.scroll-indicator {
  position:absolute; bottom:2.5rem; left:50%; transform:translateX(-50%);
  z-index:3; display:flex; flex-direction:column; align-items:center; gap:.5rem;
  color:var(--muted); font-size:.68rem; letter-spacing:.25em; text-transform:uppercase;
}
.scroll-indicator-line {
  width:1px; height:50px; background:linear-gradient(to bottom,var(--gold),transparent);
  animation:scrollLine 2s ease-in-out infinite;
}
@keyframes scrollLine { 0%,100%{opacity:.3;transform:scaleY(.5)} 50%{opacity:1;transform:scaleY(1)} }

/* Hero slide dots */
.hero-dots {
  position:absolute; bottom:2.5rem; right:2rem; z-index:3;
  display:flex; flex-direction:column; gap:.5rem;
}
.hero-dot {
  width:4px; height:20px; border-radius:2px; background:rgba(255,255,255,.25); transition:var(--tr);
  cursor:pointer;
}
.hero-dot.active { background:var(--gold); height:32px; }

/* ═══════════════════════════════════════════
   PRODUCT CAROUSEL
═══════════════════════════════════════════ */
#productos { background:var(--bg-black); }
.carousel-header { text-align:center; margin-bottom:3rem; }

.carousel-wrap { position:relative; overflow:hidden; }
.carousel-track {
  display:flex; gap:1.5rem;
  transition:transform .6s var(--ease);
  will-change:transform;
}
.carousel-item {
  min-width:280px; height:340px; border-radius:var(--radius); overflow:hidden;
  flex-shrink:0; position:relative; cursor:pointer;
  border:1px solid var(--border);
}
.carousel-item img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .6s var(--ease), filter .4s;
}
.carousel-item:hover img { transform:scale(1.08); filter:brightness(1.1); }
.carousel-item-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.7) 0%,transparent 60%);
  opacity:0; transition:opacity .4s;
}
.carousel-item:hover .carousel-item-overlay { opacity:1; }

.carousel-arrows {
  display:flex; justify-content:center; gap:1rem; margin-top:2.5rem;
}
.carousel-arrow {
  width:48px; height:48px; border-radius:50%;
  border:1px solid var(--border); color:var(--gold);
  display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; transition:var(--tr); background:transparent;
}
.carousel-arrow:hover { background:var(--gold); color:#000; border-color:var(--gold); transform:scale(1.1); }

.carousel-progress {
  display:flex; justify-content:center; gap:.5rem; margin-top:1.5rem;
}
.c-dot { width:8px; height:8px; border-radius:50%; background:var(--bg-card2); transition:var(--tr); }
.c-dot.active { background:var(--gold); transform:scale(1.3); }

/* Auto-scroll marquee strip */
.marquee-strip { overflow:hidden; padding:1.5rem 0; background:var(--bg-mid); margin-top:3rem; }
.marquee-track {
  display:flex; gap:1.5rem; width:max-content;
  animation:marqueeAnim 25s linear infinite;
}
.marquee-track:hover { animation-play-state:paused; }
@keyframes marqueeAnim { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.marquee-item { min-width:200px; height:120px; border-radius:8px; overflow:hidden; flex-shrink:0; }
.marquee-item img { width:100%; height:100%; object-fit:cover; filter:brightness(.8); transition:filter .3s; }
.marquee-item:hover img { filter:brightness(1.05); }

/* ═══════════════════════════════════════════
   SERVICES
═══════════════════════════════════════════ */
#servicios { background:var(--bg-mid); }
.services-grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem;
  margin-top:3.5rem;
}
.service-card {
  background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius);
  padding:2.5rem; position:relative; overflow:hidden; transition:var(--tr);
}
.service-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,var(--gold),var(--gold-light),transparent);
  transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease);
}
.service-card:hover { transform:translateY(-6px); background:var(--bg-card2); border-color:rgba(212,175,55,.3); }
.service-card:hover::before { transform:scaleX(1); }

.service-icon {
  width:58px; height:58px; border-radius:12px;
  background:linear-gradient(135deg,rgba(212,175,55,.15),rgba(212,175,55,.05));
  border:1px solid rgba(212,175,55,.2);
  display:flex; align-items:center; justify-content:center;
  font-size:1.6rem; margin-bottom:1.5rem; transition:var(--tr);
}
.service-card:hover .service-icon { background:linear-gradient(135deg,rgba(212,175,55,.3),rgba(212,175,55,.1)); transform:scale(1.1); }
.service-card h3 { font-family:var(--font-h); font-size:1.3rem; font-weight:600; color:var(--cream); margin-bottom:.7rem; }
.service-card p { font-size:.9rem; color:var(--cream-dim); line-height:1.65; }
.service-number {
  position:absolute; top:1.5rem; right:1.8rem;
  font-family:var(--font-h); font-size:3rem; font-weight:700;
  color:rgba(212,175,55,.07); line-height:1;
}

/* ═══════════════════════════════════════════
   STATS BAND
═══════════════════════════════════════════ */
#stats {
  background:linear-gradient(135deg,#0a0800,#0d0d0d);
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  padding:5rem 0;
}
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; }
.stat-box { text-align:center; }
.stat-num {
  font-family:var(--font-h); font-size:clamp(2.5rem,5vw,4rem); font-weight:700;
  color:var(--gold); line-height:1; margin-bottom:.4rem;
}
.stat-suffix { color:var(--gold-light); }
.stat-lbl { font-size:.8rem; letter-spacing:.15em; text-transform:uppercase; color:var(--cream-dim); }
.stat-divider { width:1px; background:var(--border); }

/* ═══════════════════════════════════════════
   ABOUT
═══════════════════════════════════════════ */
#nosotros { background:var(--bg-dark); }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.about-img-wrap { position:relative; }
.about-img-main {
  width:100%; height:480px; object-fit:cover; border-radius:var(--radius);
  border:1px solid var(--border);
}
.about-badge {
  position:absolute; bottom:-1.5rem; right:-1.5rem;
  background:linear-gradient(135deg,var(--gold),var(--gold-dark));
  color:#000; padding:1.5rem; border-radius:var(--radius);
  text-align:center; box-shadow:0 8px 32px rgba(212,175,55,.4);
}
.about-badge-num { font-family:var(--font-h); font-size:3rem; font-weight:900; line-height:1; }
.about-badge-lbl { font-size:.72rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.about-accent {
  position:absolute; top:-1.5rem; left:-1.5rem; width:80px; height:80px;
  border-top:2px solid var(--gold); border-left:2px solid var(--gold); border-radius:4px 0 0 0;
}

.about-text .about-lead {
  font-family:var(--font-h); font-size:1.25rem; font-style:italic; color:var(--gold-pale);
  margin-bottom:1.5rem; line-height:1.6;
}
.about-text p { color:var(--cream-dim); margin-bottom:1.2rem; font-size:.96rem; }
.about-values { display:flex; flex-direction:column; gap:.8rem; margin:1.8rem 0; }
.about-val {
  display:flex; align-items:center; gap:.8rem;
  font-size:.88rem; color:var(--cream-dim);
}
.about-val-icon { color:var(--gold); font-size:1rem; flex-shrink:0; }

/* ═══════════════════════════════════════════
   TESTIMONIALS
═══════════════════════════════════════════ */
#testimonios { background:var(--bg-black); }
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:3.5rem; }
.testi-card {
  background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius);
  padding:2rem; position:relative; transition:var(--tr);
}
.testi-card:hover { transform:translateY(-4px); border-color:rgba(212,175,55,.3); }
.testi-quote {
  font-family:var(--font-h); font-size:4rem; line-height:.8; color:var(--gold);
  opacity:.3; margin-bottom:.5rem;
}
.testi-stars { display:flex; gap:3px; margin-bottom:1rem; }
.star { color:var(--gold); font-size:.9rem; }
.testi-text {
  font-size:.92rem; color:var(--cream-dim); line-height:1.7;
  font-style:italic; margin-bottom:1.5rem;
}
.testi-author { display:flex; align-items:center; gap:.9rem; }
.testi-avatar {
  width:44px; height:44px; border-radius:50%;
  background:linear-gradient(135deg,var(--gold-dark),var(--bg-card2));
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-h); font-size:1.1rem; color:var(--gold-light); font-weight:700;
  border:1px solid rgba(212,175,55,.3); flex-shrink:0;
}
.testi-name { font-weight:600; font-size:.9rem; color:var(--cream); }
.testi-role { font-size:.78rem; color:var(--muted); }

/* Brands strip */
.brands-strip {
  margin-top:5rem; padding:2.5rem 0;
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  text-align:center;
}
.brands-label {
  font-size:.7rem; font-weight:700; letter-spacing:.4em; text-transform:uppercase;
  color:var(--muted); margin-bottom:2rem;
}
.brands-logos { display:flex; justify-content:center; flex-wrap:wrap; gap:2.5rem; align-items:center; }
.brand-logo {
  height:36px; opacity:.35; filter:grayscale(1);
  transition:var(--tr); font-family:var(--font-h); font-size:1.1rem;
  font-weight:700; color:var(--cream-dim); letter-spacing:.05em;
  display:flex; align-items:center;
}
.brand-logo:hover { opacity:.8; filter:none; color:var(--gold); }

/* ═══════════════════════════════════════════
   MAP / LOCATION
═══════════════════════════════════════════ */
#ubicacion { background:var(--bg-mid); }
.location-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:4rem; align-items:start; margin-top:3.5rem; }
.location-info h3 { font-family:var(--font-h); font-size:1.6rem; color:var(--cream); margin-bottom:1.5rem; }
.loc-item { display:flex; gap:1rem; margin-bottom:1.5rem; }
.loc-icon {
  width:42px; height:42px; border-radius:10px; flex-shrink:0;
  background:rgba(212,175,55,.1); border:1px solid rgba(212,175,55,.2);
  display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; color:var(--gold);
}
.loc-label { font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:.2rem; }
.loc-val { font-size:.92rem; color:var(--cream-dim); line-height:1.5; }
.loc-val strong { color:var(--cream); font-weight:600; }

.map-container {
  border-radius:var(--radius); overflow:hidden;
  border:1px solid var(--border); height:420px;
  box-shadow:0 8px 48px rgba(0,0,0,.5);
}
.map-container iframe { width:100%; height:100%; border:none; filter:invert(.9) hue-rotate(180deg) saturate(.8); }

/* ═══════════════════════════════════════════
   CONTACT / CTA BANNER
═══════════════════════════════════════════ */
#contacto {
  padding:7rem 0; background:var(--bg-dark);
  background-image:radial-gradient(ellipse 60% 80% at 50% 50%, rgba(212,175,55,.04), transparent);
}
.cta-box {
  text-align:center; max-width:700px; margin:0 auto;
  background:var(--bg-card); border:1px solid var(--border); border-radius:20px;
  padding:4rem 3rem;
  box-shadow:0 0 80px rgba(212,175,55,.06);
}
.cta-box h2 { font-family:var(--font-h); font-size:clamp(2rem,4vw,3rem); font-weight:700; color:var(--cream); margin-bottom:1rem; }
.cta-box h2 em { color:var(--gold-light); font-style:italic; }
.cta-box p { color:var(--cream-dim); margin-bottom:2.5rem; font-size:1rem; }
.cta-btns { display:flex; justify-content:center; flex-wrap:wrap; gap:1rem; }

/* ═══════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════ */
#footer {
  background:var(--bg-black); border-top:1px solid var(--border);
  padding:4rem 0 2rem;
}
.footer-top { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:3rem; margin-bottom:3rem; }
.footer-brand img { height:40px; margin-bottom:1rem; }
.footer-brand p { font-size:.85rem; color:var(--muted); line-height:1.7; max-width:240px; }
.footer-socials { display:flex; gap:.8rem; margin-top:1.5rem; }
.social-btn {
  width:38px; height:38px; border-radius:8px;
  border:1px solid var(--border); color:var(--muted);
  display:flex; align-items:center; justify-content:center;
  font-size:.9rem; transition:var(--tr);
}
.social-btn:hover { background:var(--gold); color:#000; border-color:var(--gold); transform:translateY(-2px); }

.footer-col h4 {
  font-size:.75rem; font-weight:700; letter-spacing:.25em; text-transform:uppercase;
  color:var(--gold); margin-bottom:1.2rem;
}
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:.6rem; }
.footer-col li a { font-size:.85rem; color:var(--muted); transition:color .3s; }
.footer-col li a:hover { color:var(--cream); }

.footer-bottom {
  padding-top:2rem; border-top:1px solid var(--border);
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem;
}
.footer-copy { font-size:.78rem; color:var(--muted); }
.footer-legal { display:flex; gap:1.5rem; }
.footer-legal a { font-size:.78rem; color:var(--muted); transition:color .3s; }
.footer-legal a:hover { color:var(--gold); }

/* WhatsApp Float */
.wa-float {
  position:fixed; bottom:2rem; right:2rem; z-index:500;
  width:58px; height:58px; border-radius:50%;
  background:linear-gradient(135deg,#25D366,#128C7E);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 20px rgba(37,211,102,.4);
  transition:var(--tr); animation:waPulse 2.5s ease-in-out infinite;
}
.wa-float:hover { transform:scale(1.1); box-shadow:0 8px 32px rgba(37,211,102,.6); }
@keyframes waPulse {
  0%,100%{ box-shadow:0 4px 20px rgba(37,211,102,.4),0 0 0 0 rgba(37,211,102,.3); }
  50%{ box-shadow:0 4px 20px rgba(37,211,102,.4),0 0 0 14px rgba(37,211,102,0); }
}
.wa-float svg { width:28px; height:28px; fill:#fff; }

/* Back to top */
#btt {
  position:fixed; bottom:6.5rem; right:2rem; z-index:500;
  width:42px; height:42px; border-radius:8px;
  border:1px solid var(--border); background:var(--bg-card);
  color:var(--gold); display:flex; align-items:center; justify-content:center;
  font-size:1rem; transition:var(--tr);
  opacity:0; pointer-events:none; transform:translateY(10px);
}
#btt.show { opacity:1; pointer-events:auto; transform:translateY(0); }
#btt:hover { background:var(--gold); color:#000; border-color:var(--gold); }

/* ═══════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════ */
@media (max-width:1024px) {
  .about-grid { grid-template-columns:1fr; gap:3rem; }
  .about-img-main { height:360px; }
  .location-grid { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1fr 1fr; }
  .stats-grid { grid-template-columns:repeat(2,1fr); }
  .stat-divider { display:none; }
}
@media (max-width:768px) {
  .nav-links, .nav-right .btn-gold { display:none; }
  .hamburger { display:flex; }
  .hero-stats { flex-wrap:wrap; gap:1.5rem; }
  .services-grid { grid-template-columns:1fr; }
  .testi-grid { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; text-align:center; }
  .about-badge { right:0; bottom:-1rem; padding:1rem; }
  .cta-box { padding:2.5rem 1.5rem; }
  .carousel-item { min-width:240px; height:280px; }
}
@media (max-width:480px) {
  .section { padding:5rem 0; }
  .hero-btns { flex-direction:column; }
  .hero-btns .btn-gold, .hero-btns .btn-outline { justify-content:center; }
  .stats-grid { grid-template-columns:repeat(2,1fr); }
}
