/* Ortiz & Asociados Legal — styles.css */
:root{
  --gold:#C8A04A;
  --gold-2:#E2C068;
  --graphite:#1A1A1A;
  --ink:#0E0E0E;
  --smoke:#F2F2F2;
  --white:#FFFFFF;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:#222;
  background:var(--white);
  line-height:1.6;
}

/* Container */
.container{max-width:1200px;margin:0 auto;padding:0 20px}

/* Navbar */
.navbar{
  position:sticky;top:0;z-index:1000;
  background:rgba(26,26,26,.9);
  backdrop-filter: blur(8px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}
.brand-mark{
  display:inline-grid;place-items:center;
  width:36px;height:36px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
  color:#111;font-weight:700
}
.brand-text{font-family:'Playfair Display', serif;font-weight:700;letter-spacing:.3px}
.menu-btn{display:none;background:none;border:0;color:#fff;font-size:22px;cursor:pointer}
.nav a{
  color:#ddd;text-decoration:none;margin-left:18px;font-weight:600
}
.nav a:hover{color:var(--gold)}
.nav a.cta{padding:10px 16px;border-radius:999px;background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#111}

/* Hero / Slider */
.hero{position:relative;height:86vh;min-height:520px;background:#000}
.slider{position:absolute;inset:0}
.slide{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  background-image:var(--bg);
  opacity:0;transition:opacity .9s ease;
}
.slide.active{opacity:1}
.slide .overlay{
  position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.35))
}
.hero-content{
  position:relative;z-index:2;color:#fff;
  max-width:1000px;margin:0 auto;padding:0 20px;
  display:flex;flex-direction:column;gap:16px;height:100%;
  align-items:flex-start;justify-content:center;text-align:left
}
.hero h1{font-family:'Playfair Display',serif;font-size:44px;line-height:1.15;margin:0}
.hero p{max-width:640px;font-size:18px;color:#e9e9e9;margin:0}
.btn{
  display:inline-block;margin-top:6px;padding:12px 20px;border-radius:999px;
  background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#111;text-decoration:none;font-weight:700
}
.btn.outline{
  background:transparent;border:1.5px solid var(--gold);color:var(--gold)
}

/* Sections */
.section{padding:80px 0}
.section.dark{background:var(--graphite);color:#e9e9e9}
.section.light{background:var(--smoke)}
.title{font-family:'Playfair Display',serif;font-size:34px;margin:0 0 10px}
.subtitle{opacity:.9;margin:0 0 24px}
.center{text-align:center}
.grid-2{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center}
.media-card img{width:100%;height:auto;border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.2)}

.values{padding:0;margin:14px 0;list-style:none}
.values li{margin-bottom:10px}

/* Servicios */
.cards{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:22px
}
.card{
  background:#111; color:#ddd;border:1px solid rgba(255,255,255,.08);
  border-radius:16px;padding:24px;min-height:180px;
  transition:transform .2s ease, box-shadow .2s ease
}
.card:hover{transform:translateY(-4px);box-shadow:0 10px 26px rgba(0,0,0,.35)}
.icon{font-size:28px;margin-bottom:8px}
.card h3{margin:.3rem 0 6px;color:var(--gold)}
.card p{margin:0;opacity:.93}

/* Reviews */
.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:16px}
.review{
  background:#fff;color:#222;border-radius:14px;padding:18px;border:1px solid #eee;
  box-shadow:0 4px 12px rgba(0,0,0,.06)
}
.review footer{color:#666;margin-top:6px}

/* Contacto */
.contact-form{display:grid;gap:12px}
.contact-form label{display:grid;gap:6px;font-weight:600}
.contact-form input,.contact-form textarea{
  width:100%;padding:12px;border-radius:10px;border:1px solid #d9d9d9;background:#fff
}
.form-note{font-size:12px;opacity:.8}
.contact-data .info{margin-bottom:14px}
.map-wrap{border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}

.contact-data .btn{margin-right:8px}

/* Footer */
.footer{background:#0f0f0f;color:#bbb;padding:28px 0;border-top:1px solid rgba(255,255,255,.08)}
.footer-inner{display:grid;gap:10px;align-items:center;grid-template-columns:1fr auto 1fr}
.foot-brand{display:flex;align-items:center;gap:10px;font-weight:700}
.foot-links{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
.foot-links a{color:#bbb;text-decoration:none}
.foot-links a:hover{color:var(--gold)}
.foot-copy{text-align:right}

/* Responsive */
@media (max-width: 920px){
  .grid-2{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}
  .foot-copy{text-align:left}
  .hero h1{font-size:36px}
}
@media (max-width: 720px){
  .menu-btn{display:block}
  .nav{position:absolute;right:20px;top:64px;background:#111;padding:10px 12px;border-radius:12px;display:none}
  .nav.open{display:block}
  .nav a{display:block;margin:8px 0}
}
