*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Arial,Helvetica,sans-serif;line-height:1.6;color:#222;background:#fff}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%;height:auto}
svg{display:block;width:100%;height:100%;fill:currentColor}
.container{width:1200px;max-width:95%;margin:auto}

.header{position:fixed;top:0;left:0;width:100%;z-index:50;background:rgba(17,17,17,.72);backdrop-filter:blur(8px);transition:background .2s ease, box-shadow .2s ease}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.logo{width:110px;height:auto;filter:none}
.nav{display:flex;gap:18px;align-items:center}
.nav a{color:#fff;font-weight:700;font-size:12px;line-height:1;transition:color .2s ease}
.nav a.active,.nav a:hover{color:#d0aa16}
.menu-btn{display:none;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;padding:10px 14px;border-radius:10px;cursor:pointer}

.hero{height:700px;background:url('../img/hero.jpg') center/cover no-repeat;position:relative;display:flex;align-items:center;padding-top:28px}
.hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.65)}
.hero-inner{position:relative;z-index:2;padding-top:90px}
.hero-copy{max-width:760px;color:#fff;padding-top:36px}
.hero-title{font-size:28px;color:#d0aa16;margin-bottom:24px}
.hero-copy p{margin-bottom:16px;font-size:17px;color:#fff;max-width:820px}.hero-copy p:first-of-type{margin-top:18px}
.brand-red{color:#d71920;font-weight:bold}
.cta{display:inline-block;background:#d0aa16;color:#fff;padding:12px 24px;border-radius:6px;font-weight:bold}
.cta:hover{color:#111}

.services{padding:80px 0;background:#fafafa}
.services h2,.contact h2{text-align:center;margin-bottom:40px;font-size:32px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 5px 20px rgba(0,0,0,.1)}
.card img{width:100%;height:220px;object-fit:cover}
.card h3{padding:15px;text-align:center;font-size:20px;line-height:1.3}

.consult{padding:80px 0;background:#f3f3f3}
.consult-box{text-align:center;max-width:860px;margin:auto;background:#fff;border:1px solid #e8e8e8;border-radius:28px;padding:42px 34px;box-shadow:0 14px 34px rgba(0,0,0,.06)}
.consult-box h2{font-size:38px;color:#d0aa16;margin-bottom:20px}
.consult-box p{margin-bottom:16px;color:#555}
.consult-logo{width:220px;margin:30px auto 0}

.contact{padding:80px 0;background:#f7f7f7}
.contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.map-card,.contact-info,.contact-form{background:#fff;border-radius:18px;padding:24px;box-shadow:0 5px 20px rgba(0,0,0,.08)}
.map-card h3,.contact-info h3{font-size:28px;margin-bottom:14px}
.map-card iframe{width:100%;height:260px;border:0;border-radius:12px}
.contact-info p{margin-bottom:10px;color:#444}
.contact-form{display:grid;gap:14px}
.contact-form input,.contact-form textarea{width:100%;padding:14px 16px;border:1px solid #ddd;border-radius:12px;font:inherit}
.contact-form button{border:0;background:#111;color:#fff;border-radius:999px;padding:14px 22px;font-weight:bold;cursor:pointer}

.footer{border-top:1px solid #eee;padding:25px 0;background:#fff}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}

.whatsapp{position:fixed;right:20px;bottom:20px;width:55px;height:55px;background:#25d366;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;box-shadow:0 10px 24px rgba(0,0,0,.18);z-index:40;padding:11px}
.scroll-top{position:fixed;right:20px;bottom:90px;width:55px;height:55px;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:#d0aa16;color:#111;cursor:pointer;display:none;z-index:40;font-size:24px;font-weight:700;box-shadow:0 10px 24px rgba(0,0,0,.18)}

@media(max-width:900px){
  .grid{grid-template-columns:1fr 1fr}
  .contact-wrap{grid-template-columns:1fr}
}
@media(max-width:700px){
  .menu-btn{display:inline-block}
  .nav{display:none;position:absolute;top:88px;left:16px;right:16px;background:rgba(17,17,17,.92);padding:14px;border-radius:14px;flex-direction:column}
  .nav.open{display:flex}
  .logo{width:170px}
  .grid{grid-template-columns:1fr}
  .hero-title{font-size:26px}
  .consult-box h2{font-size:30px}
  .footer-inner{flex-direction:column;align-items:flex-start}
}

.header.scrolled{background:rgba(17,17,17,.88);box-shadow:0 8px 20px rgba(0,0,0,.18)}
@media(max-width:700px){
  .logo{width:190px}
  .hero-inner{padding-top:120px}
  .consult-box{padding:30px 22px}
}

.header-inner{min-height:60px}
.nav a{font-size:15px}

.header.scrolled{background:rgba(0,0,0,.22);box-shadow:0 4px 10px rgba(0,0,0,.08)}
@media(max-width:700px){
  .header-inner{padding:8px 0;min-height:52px}
  .logo{width:128px}
  .hero{padding-top:52px}
}

.footer-inner{
  font-size:14px;
}
.footer-credit{
  color:#777;
}
.footer-credit a{
  color:#d0aa16;
  font-weight:700;
}
.footer-credit a:hover{
  color:#111;
}
@media(max-width:700px){
  .header-inner{padding:4px 0;min-height:42px}
  .logo{width:118px}
  .nav a{font-size:12px}
  .hero{padding-top:42px}
}

/* v7 header tightening */
.logo-link{display:flex;align-items:center}
.footer-credit{letter-spacing:.01em}
@media(max-width:700px){
  .header-inner{padding:2px 0;min-height:32px}
  .logo{width:104px}
  .nav a{font-size:11px}
  .hero{padding-top:32px}
}

.consult-brand{
  margin-top:0;
  font-weight:700;
  font-size:20px;
  letter-spacing:2px;
  color:#111;
}

@media(max-width:700px){
  .header-inner{padding:0;min-height:26px}
  .logo{width:98px}
  .hero{padding-top:26px}
}

/* v9 premium refinements */
.header{
  background:rgba(0,0,0,.12) !important;
  backdrop-filter:blur(2px);
}
.header.scrolled{
  background:rgba(0,0,0,.35) !important;
  box-shadow:0 4px 10px rgba(0,0,0,.08) !important;
}
.header-inner{
  padding:0 !important;
  min-height:24px !important;
}
.logo{
  width:124px !important;
  height:auto;
}
.nav{
  gap:18px !important;
}
.nav a{
  font-size:12px !important;
  line-height:1 !important;
}
.hero{
  padding-top:24px !important;
}
.hero-copy{
  padding-top:34px !important;
}
.consult{
  padding:90px 0 !important;
  background:linear-gradient(180deg,#f7f7f7 0%, #efefef 100%) !important;
}
.consult-box{
  max-width:860px !important;
  margin:auto !important;
  background:#fff !important;
  border:1px solid #e8e8e8 !important;
  border-radius:26px !important;
  padding:42px 34px !important;
  box-shadow:0 18px 42px rgba(0,0,0,.08) !important;
}
.consult-logo{
  width:210px !important;
  margin:14px auto 2px auto !important;
  display:block !important;
}
.consult-brand{
  margin-top:0 !important;
  font-weight:700 !important;
  font-size:18px !important;
  letter-spacing:1px !important;
  line-height:1.1 !important;
  color:#111 !important;
}
.grid{
  gap:24px !important;
}
.card{
  transition:transform .22s ease, box-shadow .22s ease !important;
}
.card:hover{
  transform:translateY(-6px) !important;
  box-shadow:0 18px 38px rgba(0,0,0,.14) !important;
}
.card img{
  transition:transform .28s ease !important;
}
.card:hover img{
  transform:scale(1.03) !important;
}
.contact-wrap{
  gap:24px !important;
}
@media(max-width:700px){
  .header-inner{
    min-height:22px !important;
  }
  .logo{
    width:112px !important;
  }
  .nav a{
    font-size:11px !important;
  }
  .hero{
    padding-top:22px !important;
  }
  .consult-box{
    padding:30px 22px !important;
  }
  .consult-logo{
    width:180px !important;
  }
}

.consult-logo{
  width:210px;
  margin:10px auto 0 auto;
}
.consult-brand{
  display:none;
}

/* ultra final refinements */
:root{
  --gold:#d0aa16;
}
body{
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
.hero{
  overflow:hidden;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 70% 30%, rgba(208,170,22,.08), transparent 35%);
  pointer-events:none;
}
.hero-copy{
  animation:heroFade .7s ease both;
}
@keyframes heroFade{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}
.card{
  will-change:transform;
}
.card h3{
  letter-spacing:.02em;
}
.card:hover{
  transform:translateY(-8px) !important;
  box-shadow:0 22px 44px rgba(0,0,0,.16) !important;
}
.card img{
  backface-visibility:hidden;
}
.consult-box{
  position:relative;
  overflow:hidden;
}
.consult-box::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(208,170,22,.04), transparent 28%);
  pointer-events:none;
}
.map-card,
.contact-info,
.contact-form{
  transition:transform .2s ease, box-shadow .2s ease;
}
.map-card:hover,
.contact-info:hover,
.contact-form:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 36px rgba(0,0,0,.12);
}
.footer{
  background:linear-gradient(180deg,#fff,#fafafa);
}
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .7s ease, transform .7s ease;
}
.reveal.in-view{
  opacity:1;
  transform:translateY(0);
}
.reveal-hero{
  opacity:1 !important;
  transform:none !important;
}
.nav a{
  position:relative;
}
.nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-4px;
  width:0;
  height:2px;
  background:var(--gold);
  transition:width .2s ease;
}
.nav a:hover::after,
.nav a.active::after{
  width:100%;
}
.cta{
  box-shadow:0 12px 28px rgba(0,0,0,.18);
  transition:transform .2s ease, box-shadow .2s ease, color .2s ease;
}
.cta:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(0,0,0,.22);
}
.whatsapp,
.scroll-top{
  transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}
.whatsapp:hover,
.scroll-top:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(0,0,0,.22);
}

/* final cleanup */
.logo{
  filter:none !important;
}
.nav a::after{
  display:none !important;
  content:none !important;
}
.consult-logo{
  width:220px !important;
  margin:16px auto 0 auto !important;
  display:block !important;
}
