:root{
  --bg0:#07040c;
  --bg1:#0b0613;
  --gold:#e6c06a;
  --text:#f3ead7;
  --muted:rgba(243,234,215,.78);
  --shadow: 0 18px 60px rgba(0,0,0,.55);
  --radius2:28px;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }

body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Inter", sans-serif;
  color:var(--text);
  background:
    radial-gradient(1200px 700px at 20% 10%, rgba(90,42,134,.22), transparent 60%),
    radial-gradient(900px 600px at 85% 15%, rgba(230,192,106,.12), transparent 60%),
    radial-gradient(900px 650px at 50% 110%, rgba(58,27,92,.24), transparent 60%),
    linear-gradient(180deg, var(--bg1), var(--bg0));
  overflow-x:hidden;
}

/* Overlay humo tenue */
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(600px 300px at 15% 25%, rgba(255,255,255,.06), transparent 70%),
    radial-gradient(700px 340px at 80% 20%, rgba(255,255,255,.05), transparent 72%),
    radial-gradient(900px 420px at 40% 70%, rgba(255,255,255,.05), transparent 72%),
    radial-gradient(750px 360px at 75% 80%, rgba(255,255,255,.045), transparent 72%);
  filter: blur(10px);
  opacity:.65;
  mix-blend-mode: soft-light;
  z-index:0;
}

.bg-orb{
  position:fixed;
  inset:auto auto -220px -220px;
  width:520px;
  height:520px;
  border-radius:50%;
  background: radial-gradient(circle at 30% 30%, rgba(230,192,106,.18), rgba(90,42,134,.12), transparent 60%);
  filter: blur(10px);
  opacity:.55;
  pointer-events:none;
  z-index:0;
}

img{ max-width:100%; display:block; }

.container{
  width:min(1180px, calc(100% - 40px));
  margin-inline:auto;
  position:relative;
  z-index:1;
}

/* Header flotante */
.header{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter: blur(10px);
  background: rgba(10,6,18,.66);
  border-bottom: 1px solid rgba(230,192,106,.12);
}
.header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 0;
}

/* BRAND con logo */
.brand{
  display:flex;
  align-items:center;
  text-decoration:none;
}
.brand__logo{
  height:48px;
  width:auto;
  display:block;
  filter: drop-shadow(0 10px 22px rgba(0,0,0,.35));
}

/* Nav */
.nav a{
  color:var(--muted);
  text-decoration:none;
  font-weight:600;
  font-size:14px;
  padding:10px 10px;
  border-radius:12px;
  transition: .2s ease;
}
.nav a:hover{
  color:var(--text);
  background: rgba(230,192,106,.08);
}
.nav .pill{
  color:var(--text);
  background: linear-gradient(135deg, rgba(230,192,106,.22), rgba(90,42,134,.20));
  border:1px solid rgba(230,192,106,.25);
}

.nav--mobile{ display:none; }
.nav--mobile summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--text);
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(230,192,106,.18);
  background: rgba(18,10,31,.45);
}
.nav--mobile summary::-webkit-details-marker{ display:none; }
.burger{
  width:18px; height:12px;
  position:relative;
  display:inline-block;
}
.burger::before,.burger::after{
  content:"";
  position:absolute;
  left:0; right:0;
  height:2px;
  background: rgba(230,192,106,.75);
  border-radius:2px;
}
.burger::before{ top:0; }
.burger::after{ bottom:0; }
.nav__panel{
  margin-top:10px;
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:10px;
  border-radius:16px;
  border:1px solid rgba(230,192,106,.14);
  background: rgba(10,6,18,.82);
}

/* HERO sin imagen */
.hero{
  position:relative;
  padding:76px 0 40px;
  background:
    radial-gradient(900px 500px at 20% 10%, rgba(90,42,134,.25), transparent 60%),
    radial-gradient(700px 420px at 85% 20%, rgba(230,192,106,.15), transparent 62%),
    linear-gradient(180deg, rgba(11,6,19,.25), rgba(7,4,12,.0));
}
.hero__inner{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:22px;
  align-items:start;
}
.eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--muted);
  font-weight:700;
  letter-spacing:.3px;
  font-size:12px;
  text-transform:uppercase;
}
.dot{
  width:10px;height:10px;
  border-radius:50%;
  background: radial-gradient(circle at 30% 30%, var(--gold), rgba(230,192,106,.25));
  box-shadow: 0 0 22px rgba(230,192,106,.35);
}
.hero h1{
  margin:12px 0 10px;
  font-family: ui-serif, Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 4.2vw, 54px);
  line-height:1.06;
  letter-spacing:.2px;
}
.lead{
  color:rgba(243,234,215,.9);
  font-size:16.5px;
  line-height:1.6;
}
.micro{
  color:rgba(243,234,215,.62);
  font-size:12px;
  line-height:1.5;
  margin-top:12px;
}
.checks{
  margin:14px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.checks li{
  position:relative;
  padding-left:26px;
  color:rgba(243,234,215,.88);
  line-height:1.5;
}
.checks li::before{
  content:"✦";
  position:absolute;
  left:0;
  top:0;
  color:rgba(230,192,106,.9);
}

/* CTA */
.cta-row{
  display:flex;
  gap:12px;
  align-items:center;
  margin-top:16px;
  flex-wrap:wrap;
}
.cta-row--center{ justify-content:center; }

.btn{
  border:0;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 16px;
  border-radius:16px;
  text-decoration:none;
  font-weight:800;
  letter-spacing:.2px;
  transition:.2s ease;
  user-select:none;
}
.btn--primary{
  color:#140b1b;
  background: linear-gradient(135deg, var(--gold), rgba(230,192,106,.72));
  box-shadow: 0 18px 40px rgba(230,192,106,.12), 0 10px 30px rgba(0,0,0,.35);
}
.btn--primary:hover{ transform: translateY(-1px); }
.btn--ghost{
  color:var(--text);
  background: rgba(18,10,31,.45);
  border:1px solid rgba(230,192,106,.18);
}
.btn--ghost:hover{ background: rgba(230,192,106,.08); }
.btn--full{ width:100%; justify-content:center; }

/* Trust */
.trustbar{
  display:flex;
  gap:12px;
  margin-top:18px;
  flex-wrap:wrap;
}
.trust{
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(230,192,106,.14);
  background: rgba(10,6,18,.55);
  min-width: 160px;
}
.trust strong{
  display:block;
  font-size:16px;
  letter-spacing:.2px;
}
.trust span{
  display:block;
  color:rgba(243,234,215,.72);
  font-size:12px;
  margin-top:2px;
}

/* Cards */
.card{
  border-radius: var(--radius2);
  border:1px solid rgba(230,192,106,.14);
  background: linear-gradient(180deg, rgba(18,10,31,.82), rgba(10,6,18,.72));
  box-shadow: var(--shadow);
  overflow:hidden;
}
.card img{
  width:100%;
  height:190px;
  object-fit:cover;
  filter:saturate(1.02) contrast(1.02);
}
.card__body{ padding:16px 16px 18px; }
.card__body h3{
  margin:0 0 8px;
  font-size:18px;
}
.card__body p{
  margin:0 0 10px;
  color:rgba(243,234,215,.86);
  line-height:1.6;
  font-size:14.5px;
}
.muted{ color:rgba(243,234,215,.68); }

.card--soft{
  background: linear-gradient(180deg, rgba(18,10,31,.70), rgba(10,6,18,.68));
}
.card--glass{
  background: rgba(18,10,31,.50);
  backdrop-filter: blur(12px);
}

/* Hero side card sticky */
.hero__card .card{ position:sticky; top:88px; }
.mini-steps{ display:grid; gap:10px; margin:12px 0 14px; }
.mini-step{ display:flex; gap:10px; align-items:center; color:rgba(243,234,215,.84); }
.badge{
  width:26px; height:26px;
  display:grid; place-items:center;
  border-radius:10px;
  background: rgba(230,192,106,.18);
  border:1px solid rgba(230,192,106,.22);
  color:var(--text);
  font-weight:900;
}
.fineprint{
  margin-top:12px;
  font-size:12px;
  color:rgba(243,234,215,.62);
  line-height:1.5;
}

/* Sections */
.section{
  padding:56px 0;
  position:relative;
}
.section__head{
  text-align:left;
  margin-bottom:18px;
}
.section__head h2{
  margin:0 0 8px;
  font-family: ui-serif, Georgia, "Times New Roman", serif;
  font-size:30px;
  letter-spacing:.2px;
}
.section__head p{
  margin:0;
  color:rgba(243,234,215,.75);
  line-height:1.6;
}

/* Separator */
.separator{
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(230,192,106,.28), transparent);
  margin-top:56px;
}
.separator--hero{
  margin-top:40px;
  opacity:.9;
}

/* Split */
.split{
  display:grid;
  grid-template-columns: .9fr 1.1fr;
  gap:22px;
  align-items:center;
  margin-top:18px;
}
.split__content h3{
  margin:0 0 10px;
  font-size:22px;
}
.split__content p{ line-height:1.65; color:rgba(243,234,215,.86); }
.cards-inline{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:14px 0 8px;
}
.chip{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(230,192,106,.14);
  background: rgba(10,6,18,.55);
  color:rgba(243,234,215,.84);
  font-weight:700;
  font-size:12.5px;
}
.chip__dot{
  width:8px; height:8px;
  border-radius:50%;
  background: rgba(230,192,106,.9);
  box-shadow: 0 0 18px rgba(230,192,106,.35);
}

/* Frame */
.frame{
  position:relative;
  border-radius: var(--radius2);
  overflow:hidden;
  border:1px solid rgba(230,192,106,.18);
  background: rgba(10,6,18,.55);
  box-shadow: var(--shadow);
}
.frame img{
  width:100%;
  height:380px;
  object-fit:cover;
}
.frame__glow{
  position:absolute;
  inset:-40px;
  background: radial-gradient(circle at 30% 30%, rgba(230,192,106,.18), rgba(90,42,134,.10), transparent 60%);
  filter: blur(14px);
  opacity:.8;
  pointer-events:none;
}

/* Grids */
.grid{ display:grid; gap:14px; }
.grid--4{ grid-template-columns: repeat(4, 1fr); }
.grid--3{ grid-template-columns: repeat(3, 1fr); }

.shot{
  border-radius: var(--radius2);
  overflow:hidden;
  border:1px solid rgba(230,192,106,.14);
  background: rgba(10,6,18,.55);
  box-shadow: var(--shadow);
}
.shot img{
  width:100%;
  height:360px;
  object-fit:cover;
}
.note{
  margin-top:14px;
  color:rgba(243,234,215,.7);
  font-size:13px;
}

/* Gallery */
.gallery{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:12px;
  margin-top:14px;
}
.gallery__item{
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(230,192,106,.14);
  background: rgba(10,6,18,.55);
  box-shadow: var(--shadow);
  text-decoration:none;
}
.gallery__item img{
  width:100%;
  height:240px;
  object-fit:cover;
  transition:.2s ease;
}
.gallery__item:hover img{ transform: scale(1.02); }

/* FAQ */
.qa{
  border-radius: var(--radius2);
  border:1px solid rgba(230,192,106,.14);
  background: rgba(10,6,18,.55);
  padding:16px;
  box-shadow: var(--shadow);
}
.qa h3{
  margin:0 0 8px;
  font-size:16px;
}
.qa p{
  margin:0;
  color:rgba(243,234,215,.78);
  line-height:1.6;
  font-size:13.5px;
}

/* Contact */
.section--contact{ padding-bottom:90px; }
.contact{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:18px;
  align-items:start;
}
.contact__points{
  display:grid;
  gap:10px;
  margin:14px 0 14px;
}
.point{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:12px 12px;
  border-radius:18px;
  border:1px solid rgba(230,192,106,.14);
  background: rgba(10,6,18,.55);
}
.point__ico{ color:rgba(230,192,106,.9); }
.copybox{
  border-radius:18px;
  border:1px dashed rgba(230,192,106,.25);
  background: rgba(230,192,106,.06);
  padding:12px;
  color:rgba(243,234,215,.82);
  line-height:1.6;
  margin:10px 0 12px;
}
.footer{
  margin-top:24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  color:rgba(243,234,215,.62);
  font-size:12px;
  border-top:1px solid rgba(230,192,106,.12);
  padding-top:14px;
}
.footer__links a{
  color:rgba(243,234,215,.66);
  text-decoration:none;
}
.footer__links a:hover{ color:var(--text); }
.sep{ opacity:.55; margin:0 6px; }

/* WhatsApp floating */
.wa-float{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:60;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-radius:999px;
  background: linear-gradient(135deg, var(--gold), rgba(230,192,106,.72));
  color:#140b1b;
  text-decoration:none;
  font-weight:900;
  box-shadow: 0 18px 50px rgba(0,0,0,.5);
}
.wa-float:hover{ transform: translateY(-1px); }

/* WhatsApp icon (CSS mask SVG) */
.wa-ico{
  width:18px;
  height:18px;
  display:inline-block;
  background: #140b1b;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M19.11 17.53c-.22-.11-1.3-.64-1.5-.71-.2-.07-.35-.11-.5.11-.15.22-.57.71-.7.86-.13.15-.26.17-.48.06-.22-.11-.92-.34-1.75-1.1-.65-.58-1.09-1.3-1.22-1.52-.13-.22-.01-.34.1-.45.1-.1.22-.26.33-.39.11-.13.15-.22.22-.37.07-.15.04-.28-.02-.39-.06-.11-.5-1.2-.69-1.64-.18-.44-.37-.38-.5-.39l-.43-.01c-.15 0-.39.06-.6.28-.2.22-.79.77-.79 1.88 0 1.11.81 2.18.92 2.34.11.15 1.6 2.45 3.88 3.43.54.23.96.37 1.28.47.54.17 1.03.15 1.42.09.43-.07 1.3-.53 1.48-1.04.18-.51.18-.95.13-1.04-.06-.09-.2-.15-.42-.26zM16 3C8.83 3 3 8.83 3 16c0 2.26.6 4.46 1.75 6.39L3 29l6.78-1.7A12.9 12.9 0 0 0 16 29c7.17 0 13-5.83 13-13S23.17 3 16 3zm0 23.7c-2.03 0-4.01-.55-5.73-1.59l-.41-.24-4.02 1.01 1.07-3.92-.26-.42A10.7 10.7 0 1 1 26.7 16 10.72 10.72 0 0 1 16 26.7z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M19.11 17.53c-.22-.11-1.3-.64-1.5-.71-.2-.07-.35-.11-.5.11-.15.22-.57.71-.7.86-.13.15-.26.17-.48.06-.22-.11-.92-.34-1.75-1.1-.65-.58-1.09-1.3-1.22-1.52-.13-.22-.01-.34.1-.45.1-.1.22-.26.33-.39.11-.13.15-.22.22-.37.07-.15.04-.28-.02-.39-.06-.11-.5-1.2-.69-1.64-.18-.44-.37-.38-.5-.39l-.43-.01c-.15 0-.39.06-.6.28-.2.22-.79.77-.79 1.88 0 1.11.81 2.18.92 2.34.11.15 1.6 2.45 3.88 3.43.54.23.96.37 1.28.47.54.17 1.03.15 1.42.09.43-.07 1.3-.53 1.48-1.04.18-.51.18-.95.13-1.04-.06-.09-.2-.15-.42-.26zM16 3C8.83 3 3 8.83 3 16c0 2.26.6 4.46 1.75 6.39L3 29l6.78-1.7A12.9 12.9 0 0 0 16 29c7.17 0 13-5.83 13-13S23.17 3 16 3zm0 23.7c-2.03 0-4.01-.55-5.73-1.59l-.41-.24-4.02 1.01 1.07-3.92-.26-.42A10.7 10.7 0 1 1 26.7 16 10.72 10.72 0 0 1 16 26.7z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.wa-ico--big{ width:22px; height:22px; }

/* Responsive */
@media (max-width: 1020px){
  .grid--4{ grid-template-columns: repeat(2, 1fr); }
  .gallery{ grid-template-columns: repeat(2, 1fr); }
  .hero__inner{ grid-template-columns: 1fr; }
  .hero__card .card{ position:relative; top:auto; }
}

@media (max-width: 760px){
  .nav--desktop{ display:none; }
  .nav--mobile{ display:block; }
  .split{ grid-template-columns: 1fr; }
  .contact{ grid-template-columns: 1fr; }
  .grid--3{ grid-template-columns: 1fr; }
  .shot img{ height:280px; }
  .frame img{ height:320px; }
  .footer{ flex-direction:column; align-items:flex-start; }
}
