:root{
  --bg:#14110f;
  --panel:#2b1f18;
  --muted:#bfb3ab;
  --accent:#c7996a;
  --accent-2:#dbb48a;
  --white:#fff;
  --radius:8px;
  font-family: Inter, system-ui, -apple-system, "Helvetica Neue", Arial;
  color-scheme: dark;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;background:linear-gradient(180deg,var(--bg),#0f0d0c);color:var(--white)}
.topbar{position:fixed;top:0;left:0;right:0;height:36px;background:rgba(0,0,0,0.45);display:flex;align-items:center;z-index:60}
.marquee{white-space:nowrap;overflow:hidden}
.marquee::before{content:'';display:inline-block;padding-right:100%}
.marquee{animation:marquee 22s linear infinite}
@keyframes marquee{from{transform:translateX(100%)}to{transform:translateX(-100%)}}
.header{position:sticky;top:36px;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:rgba(0,0,0,0.55);z-index:50}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--white)}
.logo{width:44px;height:44px;border-radius:6px}
.brand-name{font-weight:700}
.nav{display:flex;gap:12px;align-items:center}
.nav a{color:var(--muted);text-decoration:none;padding:8px 10px;border-radius:6px}
.nav a.cta{background:var(--accent);color:#111}
.nav a:hover{background:rgba(255,255,255,0.03);color:var(--white)}
.main{padding:100px 18px 60px;max-width:1100px;margin:0 auto}
.hero{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:center;padding:28px;background:linear-gradient(180deg, rgba(43,31,24,0.32), rgba(0,0,0,0.12));border-radius:12px}
.hero h1{margin:0 0 8px;font-size:28px;color:var(--accent-2)}
.hero p{margin:0 0 12px;color:var(--muted)}
.hero-actions{display:flex;gap:10px}
.btn{background:var(--accent);color:#111;padding:10px 14px;border-radius:8px;text-decoration:none;border:none;cursor:pointer}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,0.06);color:var(--white)}
.btn.small{padding:6px 10px;font-size:14px}
.overview{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}
.overview article{background:var(--panel);padding:14px;border-radius:10px}
.showcase{margin-top:20px}
.images-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}
.images-grid img{width:100%;height:100px;object-fit:cover;border-radius:8px} /* reducido para mejor densidad visual */
.hero-image{width:100%;height:auto;max-height:320px;object-fit:cover;border-radius:10px} /* limitar hero */
.about-team{max-height:420px}
.profile-img{width:160px;height:160px}
.footer{display:flex;justify-content:space-between;align-items:center;padding:18px;margin-top:30px;background:rgba(0,0,0,0.35);border-radius:10px}
.footer img{width:44px}
.cookie-bar{position:fixed;left:12px;right:12px;bottom:12px;background:var(--panel);padding:12px;border-radius:10px;display:flex;gap:10px;align-items:center;z-index:70}
.whatsapp{position:fixed;right:18px;bottom:90px;background:transparent;border-radius:50%;z-index:80}
.whatsapp img{width:56px;height:56px}
.contact-grid{display:grid;grid-template-columns:360px 1fr;gap:18px}
.contact-card{background:var(--panel);padding:12px;border-radius:10px}
.form-card label{display:block;margin-bottom:8px}
.form-card input,.form-card textarea{width:100%;padding:8px;border-radius:6px;border:1px solid rgba(255,255,255,0.06);background:transparent;color:var(--white)}
.form-actions{display:flex;gap:8px;margin-top:8px}
.map-wrap{border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,0.04);margin-top:8px}
.profiles{display:flex;gap:12px}
.profiles article{background:var(--panel);padding:10px;border-radius:8px;flex:1;text-align:center}
.small .footer-left img{width:32px}
.details summary{cursor:pointer}

/* Responsive image rules for "Quiénes somos" */
.about-hero{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center}
.about-team{width:100%;height:auto;max-width:900px;border-radius:10px;object-fit:cover;display:block}
.profiles{gap:14px;align-items:start}
.profiles .profile-img{width:160px;height:160px;object-fit:cover;border-radius:10px;margin:0 auto 8px;display:block}

/* Smaller cards and stacked layout on narrow screens */
@media (max-width:900px){
  .hero{grid-template-columns:1fr}
  .overview{grid-template-columns:repeat(2,1fr)}
  .images-grid{grid-template-columns:repeat(2,1fr)}
  .contact-grid{grid-template-columns:1fr}
  .topbar{display:none}

  .about-hero{grid-template-columns:1fr;gap:12px}
  .about-team{max-height:320px;object-fit:cover}
  .profiles{flex-direction:column}
  .profiles .profile-img{width:34vw;height:34vw;max-width:220px;max-height:220px}
}