:root{
  --bg:#0e0e10; --surface:#16161a; --surface2:#1d1d22;
  --gold:#c8a24a; --gold-soft:#e0c47e;
  --text:#f3f1ec; --muted:#a4a29c; --line:#2a2a30;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden}
h1,h2,h3,.brand,.foot-brand{font-family:'Bebas Neue',sans-serif;font-weight:400;letter-spacing:.02em;line-height:1}
img{max-width:100%;display:block}
.eyebrow{color:var(--gold);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600}
.btn{display:inline-block;padding:.85rem 1.6rem;border-radius:2px;font-weight:600;font-size:.92rem;text-decoration:none;transition:.25s;cursor:pointer}
.btn-gold{background:var(--gold);color:#161200}
.btn-gold:hover{background:var(--gold-soft)}
.btn-ghost{border:1px solid var(--line);color:var(--text)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}

/* NAV */
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:1rem 6vw;background:rgba(14,14,16,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{font-size:1.7rem;color:var(--text);text-decoration:none;letter-spacing:.06em}
.brand span{color:var(--gold)}
.nav-links{display:flex;gap:2rem}
.nav-links a{color:var(--muted);text-decoration:none;font-size:.9rem;transition:.2s}
.nav-links a:hover{color:var(--gold)}
.nav-cta{padding:.6rem 1.3rem}

/* HERO */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;padding:0 6vw}
.hero-img{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(.2) contrast(1.05)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,12,.95) 0%,rgba(10,10,12,.7) 45%,rgba(10,10,12,.25) 100%)}
.hero-content{position:relative;max-width:600px}
.hero-chip{display:inline-block;background:rgba(200,162,74,.12);border:1px solid var(--gold);color:var(--gold-soft);
  padding:.4rem 1rem;border-radius:2px;font-size:.82rem;font-weight:600;letter-spacing:.03em}
.hero h1{font-size:clamp(3.4rem,9vw,6.5rem);margin:1.4rem 0 1rem}
.hero-content>p{color:var(--muted);font-size:1.1rem;max-width:440px;margin-bottom:2rem}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}

/* STRIP */
.strip{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;justify-content:center;background:var(--gold);color:#161200;
  padding:.9rem 6vw;font-weight:600;font-size:.9rem}

/* SERVICIOS */
.section-head{text-align:center;margin-bottom:3rem}
.section-head h2{font-size:clamp(2.4rem,5vw,3.4rem);margin-top:.5rem}
.servicios{padding:6rem 6vw}
.serv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem}
.serv-card{background:var(--surface);border:1px solid var(--line);padding:2.2rem 1.8rem;border-radius:4px;transition:.25s}
.serv-card:hover{border-color:var(--gold);transform:translateY(-4px)}
.serv-card svg{width:38px;height:38px;color:var(--gold);margin-bottom:1.1rem}
.serv-card h3{font-size:1.5rem;letter-spacing:.03em;margin-bottom:.5rem}
.serv-card p{color:var(--muted);font-size:.94rem}

/* NOSOTROS */
.nosotros{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:0;background:var(--surface)}
.nos-img{min-height:460px;background-size:cover;background-position:center}
.nos-text{padding:5rem 5vw;display:flex;flex-direction:column;justify-content:center;gap:1.1rem;align-items:flex-start}
.nos-text h2{font-size:clamp(2.2rem,4.5vw,3.2rem)}
.nos-text p{color:var(--muted)}
.nos-text .btn{margin-top:.8rem}

/* GALERIA */
.galeria{padding:6rem 6vw}
.gal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem}
.gal-grid img{width:100%;height:280px;object-fit:cover;border-radius:4px;filter:grayscale(.15);transition:.3s}
.gal-grid img:hover{filter:grayscale(0);transform:scale(1.015)}

/* RESEÑAS */
.resenas{padding:6rem 6vw;background:var(--surface)}
.res-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem}
.res-grid blockquote{background:var(--surface2);border:1px solid var(--line);border-radius:4px;padding:2rem}
.stars{color:var(--gold);letter-spacing:.15em;margin-bottom:.8rem}
.res-grid p{color:var(--text);font-style:italic}

/* CONTACTO */
.contacto{display:grid;grid-template-columns:1fr 1fr;gap:0}
.cont-info{padding:5rem 5vw;display:flex;flex-direction:column;gap:1rem;align-items:flex-start;justify-content:center}
.cont-info h2{font-size:clamp(2.2rem,4.5vw,3.2rem)}
.cont-line{color:var(--muted);font-size:.98rem}
.cont-info .btn{margin-top:1rem}
.cont-map{min-height:420px}
.cont-map iframe{width:100%;height:100%;border:0;filter:grayscale(.4) invert(.9) contrast(.85)}

/* FOOTER */
.footer{text-align:center;padding:3.5rem 6vw;border-top:1px solid var(--line)}
.foot-brand{font-size:2rem;color:var(--gold);letter-spacing:.08em}
.footer p{color:var(--muted);font-size:.9rem;margin-top:.5rem}
.foot-altus{color:#5f5d58;font-size:.8rem;margin-top:1.2rem}

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

@media(max-width:780px){
  .nav-links{display:none}
  .nosotros,.contacto{grid-template-columns:1fr}
  .nos-img{min-height:300px;order:-1}
  .cont-map{min-height:320px}
}
