@import url("/brand/tokens.css");

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 5rem; }
body {
  font-family: var(--fi-font-ui);
  background: #070808;
  color: var(--fi-white);
  line-height: 1.55;
  min-height: 100vh;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }

body::before {
  content: ''; position: fixed; inset: 0; z-index: 0; pointer-events: none; opacity: .14;
  background-image: radial-gradient(rgba(255,255,255,.45) .45px, transparent .6px);
  background-size: 5px 5px; mix-blend-mode: soft-light;
}

.iv-wrap { position: relative; z-index: 1; width: min(1180px, calc(100% - 40px)); margin: 0 auto; }

/* ---------- Header ---------- */
.iv-head {
  position: sticky; top: 0; z-index: 30;
  display: flex; justify-content: space-between; align-items: center;
  height: 74px;
  background: rgba(7,8,8,.8);
  border-bottom: 1px solid var(--fi-stroke);
  backdrop-filter: blur(18px);
}
.iv-head .iv-wrap { display: flex; justify-content: space-between; align-items: center; width: 100%; }
.iv-brand img { height: 42px; width: auto; object-fit: contain; }
.iv-nav { display: flex; gap: 1.4rem; align-items: center; }
.iv-nav a:not(.btn) { color: var(--fi-muted); font-size: .82rem; font-weight: 600; }
.iv-nav a:not(.btn):hover { color: var(--fi-lime); }
.iv-nav .btn { min-height: 40px; padding: .48rem .95rem; font-size: .78rem; }

/* ---------- Hero ---------- */
.iv-hero {
  position: relative;
  padding: 4.4rem 0 2.6rem;
  text-align: center;
  overflow: hidden;
}
.iv-hero::before {
  content: '';
  position: absolute; inset: 0; z-index: 0;
  background:
    radial-gradient(ellipse 46% 40% at 50% -6%, rgba(191,255,0,.1), transparent 60%),
    radial-gradient(ellipse 34% 30% at 12% 82%, rgba(162,86,255,.12), transparent 60%),
    radial-gradient(ellipse 30% 28% at 88% 76%, rgba(255,46,199,.1), transparent 58%);
  pointer-events: none;
}
.iv-hero > * { position: relative; z-index: 1; }
.iv-pill {
  display: inline-flex; align-items: center; gap: .45rem;
  padding: .4rem .85rem; border-radius: 999px;
  border: 1px solid rgba(191,255,0,.35);
  color: var(--fi-lime); font-size: .7rem; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase;
  margin-bottom: 1.1rem;
}
.iv-pill i { width: 7px; height: 7px; border-radius: 50%; background: var(--fi-lime); box-shadow: 0 0 10px var(--fi-lime); }
.iv-hero h1 {
  font-family: var(--fi-font-display);
  font-size: clamp(2.5rem, 6vw, 4.2rem);
  font-weight: 800; letter-spacing: -.05em; line-height: .98;
  margin: 0 auto .9rem;
}
.iv-hero h1 em { font-style: normal; color: var(--fi-lime); }
.iv-lead { color: var(--fi-muted); max-width: 40rem; margin: 0 auto 1.5rem; font-size: 1rem; }
.iv-hero-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem; }
.iv-hero .btn { margin: 0; }
.iv-meta { color: var(--fi-muted); font-size: .82rem; margin: 1.1rem 0 0; }
.iv-meta b { color: var(--fi-lime); }

/* ---------- Features strip ---------- */
.iv-features {
  display: grid; grid-template-columns: repeat(6, 1fr); gap: 1px;
  border: 1px solid var(--fi-stroke); border-radius: 16px; overflow: hidden;
  background: var(--fi-stroke);
  margin: 1.2rem 0 3.4rem;
}
.iv-feature {
  background: #0d0f0f; padding: 1rem .7rem; text-align: center;
  transition: background .18s ease;
}
.iv-feature:hover { background: #121515; }
.iv-feature span { display: block; font-size: 1.35rem; margin-bottom: .35rem; }
.iv-feature b { display: block; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.iv-feature small { display: block; color: var(--fi-muted); font-size: .66rem; margin-top: .2rem; }

/* ---------- Models grid ---------- */
.iv-sec-head { text-align: center; margin-bottom: 2rem; }
.iv-kicker {
  display: inline-block; margin-bottom: .6rem;
  color: var(--fi-lime); font-size: .7rem; font-weight: 800;
  letter-spacing: .18em; text-transform: uppercase;
}
.iv-sec-head h2 { font-family: var(--fi-font-display); font-size: clamp(1.9rem, 4vw, 2.8rem); letter-spacing: -.04em; }
.iv-sec-head p { color: var(--fi-muted); max-width: 34rem; margin: .5rem auto 0; font-size: .92rem; }

.iv-models { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 4rem; }
.iv-model {
  display: flex; flex-direction: column;
  border: 1px solid var(--fi-stroke); border-radius: 20px;
  background: #0c0e0e; overflow: hidden;
  transition: transform .2s ease, border-color .2s ease;
}
.iv-model:hover { transform: translateY(-4px); border-color: rgba(191,255,0,.4); }
.iv-model-top {
  position: relative;
  padding: 1.4rem 1.2rem 1.1rem;
  display: flex; justify-content: center; align-items: center;
  min-height: 236px;
}
.iv-model:nth-child(1) .iv-model-top { background: var(--sw-bg, #f7f2e9); }
.iv-model:nth-child(2) .iv-model-top { background: var(--sw-bg, #faf6ee); }
.iv-model:nth-child(3) .iv-model-top { background: var(--sw-bg, #0e0c09); }
.iv-model:nth-child(4) .iv-model-top { background: var(--sw-bg, #fdf4f6); }
.iv-model:nth-child(5) .iv-model-top { background: var(--sw-bg, #f2e7d3); }
.iv-model:nth-child(6) .iv-model-top { background: var(--sw-bg, #fff0f6); }

.iv-phone {
  width: 132px; border-radius: 18px; overflow: hidden;
  border: 4px solid #111; box-shadow: 0 18px 44px rgba(0,0,0,.5);
  background: var(--sw-bg, #fff);
  color: var(--sw-ink, #222);
  font-family: var(--sw-font, "Playfair Display", Georgia, serif);
  text-align: center;
}
.iv-phone-notch { height: 13px; border-radius: 0 0 8px 8px; width: 46px; margin: -2px auto -3px; background: #111; }
.iv-phone-photo {
  height: 74px; margin: 6px 8px 0; border-radius: 9px;
  background: linear-gradient(135deg, var(--sw-c1, #caa) 0%, var(--sw-c2, #ecc) 100%);
}
.iv-phone-body { padding: 8px 8px 10px; }
.iv-phone-name {
  font-family: var(--sw-font, "Playfair Display", serif);
  font-size: .78rem; font-weight: 700; letter-spacing: -.02em; line-height: 1.05;
}
.iv-phone-sub { font-size: .5rem; opacity: .75; margin-top: 2px; letter-spacing: .06em; }
.iv-phone-count {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 3px; margin: 7px 0 8px;
}
.iv-phone-count i {
  padding: 3px 0; border-radius: 4px; font-style: normal; font-size: .42rem;
  border: 1px solid var(--sw-c1, #baa); color: var(--sw-ink, #333); font-weight: 700;
}
.iv-phone-btn {
  display: block; border-radius: 99px; padding: 5px 0; font-size: .5rem; font-weight: 700;
  background: var(--sw-c1, #b78a3a); color: var(--sw-on, #fff);
}

.iv-model-flag { position: absolute; top: 12px; right: 12px; font-size: .6rem; letter-spacing: .09em; text-transform: uppercase; font-weight: 800; color: var(--sw-c1, #b78a3a); }

.iv-model-body { padding: 1.1rem 1.15rem 1.2rem; display: flex; flex-direction: column; gap: .5rem; flex: 1; }
.iv-model-body h3 { font-family: var(--fi-font-display); font-size: 1.25rem; letter-spacing: -.02em; }
.iv-model-body .iv-model-desc { color: var(--fi-muted); font-size: .84rem; line-height: 1.5; }
.iv-swatches { display: flex; gap: 6px; margin: .15rem 0; }
.iv-swatches i { width: 20px; height: 20px; border-radius: 50%; border: 1px solid rgba(255,255,255,.18); }
.iv-model-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: .4rem; }
.iv-model-tags span {
  padding: .25rem .55rem; border-radius: 999px;
  border: 1px solid var(--fi-stroke); color: var(--fi-muted);
  font-size: .64rem; font-weight: 600;
}
.iv-model-cta { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: .9rem; }
.iv-model-cta .btn { min-height: 42px; padding: .5rem .6rem; font-size: .76rem; }

/* ---------- Identidad por modelo ----------
   La página conserva una base FestiON oscura. Cada tarjeta, en cambio, usa
   una dirección de arte propia para que no parezcan el mismo template pintado. */
.iv-model { --model-accent: var(--sw-c1); --model-line: rgba(255,255,255,.12); }
.iv-model-top { isolation: isolate; overflow: hidden; background: var(--sw-bg, #f7f2e9) !important; }
.iv-model-top::before,.iv-model-top::after { content:''; position:absolute; pointer-events:none; z-index:-1; }
.iv-model-body { border-top: 3px solid var(--model-accent); }
.iv-model:hover { border-color: var(--model-accent); box-shadow: 0 18px 45px rgba(0,0,0,.24); }
.iv-model .iv-phone-photo { position:relative; overflow:hidden; }
.iv-model .iv-phone-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(145deg,rgba(255,255,255,.42),transparent 42%); }

/* Premium · champagne editorial */
.iv-model:nth-child(1) .iv-model-top { --model-accent:#c9a25a; background:linear-gradient(140deg,#fffaf0,#e9d3a6)!important; }
.iv-model:nth-child(1) .iv-model-top::before { width:210px;height:210px;border:1px solid rgba(137,94,28,.32);border-radius:50%;top:-105px;left:-70px;box-shadow:0 0 0 22px rgba(255,255,255,.18),0 0 0 44px rgba(137,94,28,.08); }
.iv-model:nth-child(1) .iv-phone { transform:rotate(-2deg); }
.iv-model:nth-child(1) .iv-phone-photo { background:linear-gradient(145deg,#d7b977,#fff1c9 48%,#9a6e2b); }

/* Clásica · papelería crema */
.iv-model:nth-child(2) .iv-model-top { --model-accent:#b78a3a; background:repeating-linear-gradient(0deg,#f8f1e4 0 3px,#f4ead9 3px 4px)!important; }
.iv-model:nth-child(2) .iv-model-top::before { inset:17px;border:1px solid rgba(91,61,20,.28); }
.iv-model:nth-child(2) .iv-phone { border-radius:8px; transform:translateY(3px); }
.iv-model:nth-child(2) .iv-phone-photo { background:linear-gradient(135deg,#bc9550,#f8e7bd 50%,#856127); }

/* Black · noche y dorado */
.iv-model:nth-child(3) .iv-model-top { --model-accent:#d4af37; background:radial-gradient(circle at 50% 35%,#38301b,#0b0b0c 62%)!important; }
.iv-model:nth-child(3) .iv-model-top::before { width:280px;height:280px;border-radius:50%;border:1px solid rgba(212,175,55,.32);top:-120px;right:-55px;box-shadow:0 0 36px rgba(212,175,55,.16); }
.iv-model:nth-child(3) .iv-phone { box-shadow:0 18px 44px #000,0 0 0 1px rgba(212,175,55,.45); }
.iv-model:nth-child(3) .iv-phone-photo { background:linear-gradient(130deg,#161616,#c6a442 52%,#111); }

/* Romántica · velo y pétalos */
.iv-model:nth-child(4) .iv-model-top { --model-accent:#d98ba8; background:radial-gradient(circle at 20% 20%,#fff 0 4%,transparent 5%),radial-gradient(circle at 80% 25%,#f3bfd0 0 3%,transparent 4%),linear-gradient(145deg,#fff8fa,#f5cbd7)!important; }
.iv-model:nth-child(4) .iv-model-top::before { width:180px;height:80px;border-radius:100% 0 100% 0;background:rgba(217,139,168,.15);bottom:-22px;left:-12px;transform:rotate(15deg); }
.iv-model:nth-child(4) .iv-phone { transform:rotate(2deg); }
.iv-model:nth-child(4) .iv-phone-photo { background:linear-gradient(135deg,#f1a7c0,#fff7fa 52%,#d86e94); }

/* Vintage · foto analógica */
.iv-model:nth-child(5) .iv-model-top { --model-accent:#9c6b3f; background:linear-gradient(135deg,#d9bf91,#f8e5bd)!important; }
.iv-model:nth-child(5) .iv-model-top::before { inset:0;background:repeating-linear-gradient(90deg,rgba(89,57,23,.08) 0 1px,transparent 1px 6px);mix-blend-mode:multiply; }
.iv-model:nth-child(5) .iv-phone { border-color:#342819; border-radius:3px; transform:rotate(-3deg); }
.iv-model:nth-child(5) .iv-phone-photo { background:linear-gradient(145deg,#5c4128,#d0a76d 45%,#7c5433); filter:sepia(.25); }

/* XV · pop violeta */
.iv-model:nth-child(6) .iv-model-top { --model-accent:#e0589a; background:radial-gradient(circle at 80% 18%,#fff 0 2%,transparent 3%),radial-gradient(circle at 16% 78%,#b995ff 0 2%,transparent 3%),linear-gradient(145deg,#ffdce9,#e9d9ff)!important; }
.iv-model:nth-child(6) .iv-model-top::before { width:210px;height:210px;border:16px solid rgba(224,88,154,.16);border-radius:50%;right:-86px;bottom:-110px; }
.iv-model:nth-child(6) .iv-phone { border-color:#4a285b; transform:rotate(2.5deg); }
.iv-model:nth-child(6) .iv-phone-photo { background:linear-gradient(135deg,#f061a1,#b68cff 55%,#fff0f7); }

/* Cielo · aire y nubes */
.iv-model:nth-child(7) .iv-model-top { --model-accent:#4f7da6; background:linear-gradient(165deg,#bfe5fa,#f7fdff 62%,#d3ebf6)!important; }
.iv-model:nth-child(7) .iv-model-top::before { width:130px;height:34px;border-radius:99px;background:rgba(255,255,255,.7);top:34px;left:20px;box-shadow:135px 52px 0 -5px rgba(255,255,255,.6); }
.iv-model:nth-child(7) .iv-phone { transform:translateY(-2px); }
.iv-model:nth-child(7) .iv-phone-photo { background:linear-gradient(145deg,#70acd2,#eefbff 55%,#5d90b7); }

/* Ébano · verde profundo */
.iv-model:nth-child(8) .iv-model-top { --model-accent:#c9b878; background:radial-gradient(circle at 50% 30%,#315139,#0f1c13 65%)!important; }
.iv-model:nth-child(8) .iv-model-top::before { inset:20px;border:1px solid rgba(201,184,120,.35);box-shadow:inset 0 0 35px rgba(201,184,120,.1); }
.iv-model:nth-child(8) .iv-phone { border-color:#17271a; box-shadow:0 18px 44px rgba(0,0,0,.6),0 0 0 1px rgba(201,184,120,.35); }
.iv-model:nth-child(8) .iv-phone-photo { background:linear-gradient(135deg,#162f20,#c9b878 52%,#0e1a12); }

/* ---------- Personalizamos ---------- */
.iv-personal {
  position: relative;
  display: grid; grid-template-columns: 1.1fr 1fr; gap: 2.4rem; align-items: center;
  border: 1px solid var(--fi-stroke); border-radius: 24px;
  padding: 2.2rem 2.4rem; margin-bottom: 4rem;
  background:
    radial-gradient(ellipse 60% 90% at 90% 0%, rgba(162,86,255,.14), transparent 60%),
    radial-gradient(ellipse 50% 80% at 5% 100%, rgba(191,255,0,.08), transparent 60%),
    #0c0e0e;
}
.iv-personal h2 { font-family: var(--fi-font-display); font-size: clamp(1.7rem, 3.4vw, 2.4rem); letter-spacing: -.04em; margin: .4rem 0 .7rem; }
.iv-personal p { color: var(--fi-muted); font-size: .92rem; max-width: 32rem; }
.iv-personal ul { list-style: none; display: grid; gap: .55rem; margin: 1.1rem 0 1.4rem; }
.iv-personal li { display: flex; gap: .55rem; align-items: center; color: #c9cdc8; font-size: .9rem; }
.iv-personal li::before { content: '✓'; color: var(--fi-lime); font-weight: 800; }
.iv-personal-actions { display: flex; gap: .7rem; flex-wrap: wrap; }
.iv-personal-phone { font-size: .8rem; color: var(--fi-muted); margin-top: 1rem; }

/* ---------- CTA final ---------- */
.iv-close { text-align: center; padding: 2.2rem 0 4.4rem; }
.iv-close h2 { font-family: var(--fi-font-display); font-size: clamp(1.8rem, 3.6vw, 2.6rem); letter-spacing: -.04em; margin-bottom: 1.1rem; }
.iv-close .btn { margin: 0 .3rem; }

/* ---------- Footer ---------- */
.iv-foot {
  border-top: 1px solid var(--fi-stroke);
  padding: 1.8rem 0 2.2rem;
  color: var(--fi-muted); font-size: .78rem;
}
.iv-foot .iv-wrap { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.iv-foot img { height: 30px; width: auto; }
.iv-foot a { color: var(--fi-lime); }
.iv-foot-links { display: flex; gap: 1.2rem; }
.iv-foot-links a { color: var(--fi-muted); }
.iv-foot-links a:hover { color: var(--fi-white); }

.iv-features-12 { grid-template-columns: repeat(6, 1fr); }

/* ---------- Tablet ---------- */
@media (max-width: 900px) {
  .iv-models { grid-template-columns: repeat(2, 1fr); }
  .iv-features-12 { grid-template-columns: repeat(4, 1fr); }
}

/* ---------- Servicios (Básica vs Premium) ---------- */
.iv-plans { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 4rem; }
.iv-plan {
  display: flex; flex-direction: column; gap: 1rem;
  padding: 1.6rem 1.5rem;
  border: 1px solid var(--fi-stroke); border-radius: 20px;
  background: #0c0e0e;
}
.iv-plan-featured {
  border-color: rgba(191,255,0,.45);
  box-shadow: 0 0 0 1px rgba(191,255,0,.06), 0 22px 46px rgba(0,0,0,.4);
  background:
    radial-gradient(ellipse 70% 100% at 80% 0%, rgba(191,255,0,.08), transparent 60%),
    #0d0f0f;
}
.iv-plan-name { font-family: var(--fi-font-display); font-size: 1.3rem; font-weight: 700; letter-spacing: -.02em; }
.iv-plan-name span {
  display: inline-block; margin-left: .35rem; padding: .18rem .5rem;
  border-radius: 999px; font-size: .6rem; letter-spacing: .08em;
  background: var(--fi-lime); color: #050505; font-weight: 800;
}
.iv-plan ul { list-style: none; display: grid; gap: .55rem; margin: 0; }
.iv-plan li { display: flex; gap: .5rem; color: #c9cdc8; font-size: .88rem; }
.iv-plan li::before { content: '✓'; color: var(--fi-lime); font-weight: 800; }
.iv-plan .btn { margin-top: auto; }

/* ---------- Testimonios ---------- */
.iv-testimonios { margin-bottom: 4rem; }
.iv-testimonial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.iv-testimonial {
  padding: 1.25rem 1.2rem;
  border: 1px solid var(--fi-stroke); border-radius: 18px;
  background: #0c0e0e;
  display: flex; flex-direction: column; gap: .5rem;
}
.iv-stars { color: var(--fi-lime); letter-spacing: .12em; font-size: .9rem; }
.iv-test-text { color: var(--fi-muted); font-size: .88rem; line-height: 1.55; }
.iv-test-name { color: var(--fi-white); font-size: .82rem; }

/* ---------- Tarjeta de contacto ---------- */
.iv-personal-viz { display: flex; align-items: center; justify-content: flex-end; }
.iv-personal-card {
  position: relative;
  width: min(340px, 100%);
  padding: 1.6rem 1.4rem;
  border: 1px solid rgba(191,255,0,.35); border-radius: 22px;
  background: linear-gradient(145deg, rgba(191,255,0,.1), rgba(162,86,255,.1)), #0f1212;
  text-align: center;
  box-shadow: 0 22px 54px rgba(0,0,0,.38);
}
.iv-personal-card-kicker {
  color: var(--fi-lime); font-size: .68rem; font-weight: 800;
  letter-spacing: .16em; text-transform: uppercase; margin-bottom: .5rem;
}
.iv-personal-card b { display: block; font-family: var(--fi-font-display); font-size: 1.45rem; letter-spacing: -.03em; margin-bottom: .4rem; }
.iv-personal-card span { display: block; color: var(--fi-muted); font-size: .85rem; margin-bottom: 1.1rem; }
.iv-personal-card a {
  display: inline-block; padding: .7rem 1.2rem; border-radius: 999px;
  background: var(--fi-lime); color: #050505; font-weight: 800; font-size: .86rem;
}

@media (max-width: 480px) {
  .iv-features-12 { grid-template-columns: repeat(3, 1fr); }
  .iv-plans { grid-template-columns: 1fr; }
  .iv-testimonial-grid { grid-template-columns: 1fr; }
  .iv-personal-viz { justify-content: center; }
}

.btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: .7rem 1.15rem; border-radius: 999px;
  border: 1px solid transparent; font-weight: 800; font-size: .9rem; cursor: pointer;
  transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.btn-primary { background: var(--fi-lime); color: #050505; box-shadow: 0 0 22px rgba(191,255,0,.14); }
.btn-primary:hover { background: var(--fi-lime-soft); }
.btn-ghost { background: transparent; border-color: var(--fi-stroke); color: var(--fi-white); }
.btn-ghost:hover { border-color: rgba(191,255,0,.5); color: var(--fi-lime); }

@media (max-width: 600px) {
  .iv-models { grid-template-columns: 1fr 1fr; }
  .iv-personal { grid-template-columns: 1fr; padding: 1.6rem 1.3rem; }
  .iv-features { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 420px) {
  .iv-models { grid-template-columns: 1fr; }
  .iv-wrap { width: calc(100% - 28px); }
  .iv-nav a:not(.btn) { display: none; }
  .iv-features { grid-template-columns: repeat(2, 1fr); }
  .iv-features-12 { grid-template-columns: repeat(2, 1fr); }
  .iv-hero-actions { display: flex; flex-direction: column; align-items: center; gap: .6rem; }
  .iv-hero-actions .btn { width: 100%; max-width: 260px; }
}

/* ---------- EXPERIENCIA ATELIER ---------- */
body[data-page="invitaciones"] { --accent:#9c6b3f;--accent2:#c08b54;--acc:#9c6b3f;--acc-2:#c08b54;--glow:0 0 24px rgba(156,107,63,.22); background:#f4ede3!important; color:#2c2621; }
body[data-page="invitaciones"] main { background:#f4ede3!important; }
body[data-page="invitaciones"]::before { opacity:.34; mix-blend-mode:multiply; background-image:radial-gradient(rgba(77,54,32,.26) .45px,transparent .7px); }
body[data-page="invitaciones"] .fnav { background:rgba(250,246,239,.9); border-bottom-color:#dfd1bf; }
body[data-page="invitaciones"] .fnav-links a { color:#514338; }
body[data-page="invitaciones"] .fnav-links a:hover,body[data-page="invitaciones"] .fnav-links a.is-on { color:#9c6b3f; }
body[data-page="invitaciones"] .fnav-account { color:#76502f!important; border-color:#c6a574; }
body[data-page="invitaciones"] .iv-hero { min-height:590px; display:flex;align-items:center;padding:5.5rem 0; text-align:left; background:linear-gradient(120deg,#fcf8f2 0%,#f7ecdc 56%,#e7cfb0 100%)!important; }
body[data-page="invitaciones"] .iv-hero::before { background:radial-gradient(circle at 14% 8%,rgba(185,137,84,.22),transparent 25%),radial-gradient(circle at 92% 85%,rgba(119,72,45,.16),transparent 25%); opacity:1; }
body[data-page="invitaciones"] .iv-hero .iv-wrap { width:min(1180px,calc(100% - 40px)); padding-right:48%; }
body[data-page="invitaciones"] .iv-pill { color:#8b5b31;border-color:rgba(139,91,49,.42);background:rgba(255,255,255,.45); }
body[data-page="invitaciones"] .iv-pill i { background:#a66d38;box-shadow:0 0 10px #c69058; }
body[data-page="invitaciones"] .iv-hero h1 { color:#2c2119; font-family:"Playfair Display",serif; font-size:clamp(3rem,5.5vw,5.2rem); letter-spacing:-.065em; }
body[data-page="invitaciones"] .iv-hero h1 em { color:#a66d38; }
body[data-page="invitaciones"] .iv-lead,body[data-page="invitaciones"] .iv-meta { color:#685747; margin-left:0; }
body[data-page="invitaciones"] .iv-meta b { color:#9c6434; }
body[data-page="invitaciones"] .btn-primary { background:#9c6b3f;color:#fffaf4;box-shadow:0 9px 22px rgba(100,63,33,.2); }
body[data-page="invitaciones"] .btn-primary:hover { background:#7b4e2c; }
body[data-page="invitaciones"] .btn-ghost { border-color:#bfa27f;color:#4e392a;background:rgba(255,255,255,.42); }
body[data-page="invitaciones"] .iv-hero-preview { position:absolute;right:3%;top:50%;transform:translateY(-50%) rotate(5deg);width:310px;height:430px;padding:19px;background:#fdf9f2;border:1px solid #cfad7a;box-shadow:22px 26px 0 rgba(111,74,42,.13),0 30px 60px rgba(86,55,29,.25); }
.iv-preview-note { display:block;text-align:center;color:#a66d38;font-size:.57rem;letter-spacing:.18em;font-weight:800; }
.iv-preview-card { margin:18px 4px 0;height:330px;padding:38px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;background:linear-gradient(150deg,#efe0c3,#fffdf9 58%,#d7b985);color:#51331f;border:1px solid rgba(133,87,42,.35); }
.iv-preview-card small { letter-spacing:.18em;font-size:.55rem;font-weight:800; }.iv-preview-card strong { font-family:"Playfair Display",serif;font-size:2rem;line-height:1;margin:26px 0 14px; }.iv-preview-card i { width:44px;border-top:1px solid #9c6b3f; }.iv-preview-card em { margin:16px 0 28px;font-style:normal;font-size:.65rem;letter-spacing:.15em; }.iv-preview-card b { border:1px solid #9c6b3f;border-radius:99px;padding:8px 15px;font-size:.58rem;letter-spacing:.08em; }.iv-preview-seal { position:absolute;right:-35px;bottom:28px;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;text-align:center;background:#755033;color:#fff4df;border:3px double #e8c58e;font:800 .55rem/1.2 var(--fi-font-ui);letter-spacing:.09em; }
body[data-page="invitaciones"] .iv-features { background:#dac8b1;border-color:#dac8b1;border-radius:0;margin-top:-30px;position:relative;box-shadow:0 18px 38px rgba(83,55,31,.11); }
body[data-page="invitaciones"] .iv-feature { background:#fffaf4;color:#493a2e; } body[data-page="invitaciones"] .iv-feature small,body[data-page="invitaciones"] .iv-sec-head p { color:#786756; }
body[data-page="invitaciones"] .iv-kicker { color:#9c6b3f; } body[data-page="invitaciones"] .iv-sec-head h2,body[data-page="invitaciones"] .iv-model-body h3 { color:#35261b;font-family:"Playfair Display",serif; }
body[data-page="invitaciones"] .iv-model { background:#fffaf4;border-color:#dfd1bf; } body[data-page="invitaciones"] .iv-model-body .iv-model-desc { color:#746354; } body[data-page="invitaciones"] .iv-model-tags span { border-color:#dfd1bf;color:#786756; }
body[data-page="invitaciones"] .iv-personal { background:linear-gradient(135deg,#2e241d,#4b3325);border-color:#6e5039; } body[data-page="invitaciones"] .iv-personal h2 { color:#fff9ef;font-family:"Playfair Display",serif; } body[data-page="invitaciones"] .iv-personal p { color:#dbcdbd; } body[data-page="invitaciones"] .iv-personal .iv-kicker { color:#e2bb82; }
body[data-page="invitaciones"] .iv-personal-card { background:linear-gradient(145deg,#241b16,#171411)!important;border-color:#b98a4b!important;color:#fff8ed!important; }
body[data-page="invitaciones"] .iv-personal-card b { color:#fff8ed!important; } body[data-page="invitaciones"] .iv-personal-card span { color:#e2d4c5!important; } body[data-page="invitaciones"] .iv-personal-card-kicker { color:#e7bd7f!important; }
body[data-page="invitaciones"] .iv-personal-card a { background:#c08b54!important;color:#fffaf4!important;box-shadow:none!important; } body[data-page="invitaciones"] .iv-personal-card a:hover { background:#e0b177!important; }
body[data-page="invitaciones"] .iv-stars { color:#b6783d!important; } body[data-page="invitaciones"] #faqRoot button span:last-child,body[data-page="invitaciones"] #faqRoot .faq-q::after { color:#a66d38!important; }
body[data-page="invitaciones"] .wa-float { background:#9c6b3f!important;color:#fffaf4!important; } body[data-page="invitaciones"] #langPill { border-color:#b98a4b!important;color:#8b5b31!important;background:#fffaf4!important;box-shadow:0 8px 20px rgba(96,59,32,.16)!important; }
/* En esta landing el cierre es editorial: no repetir el carrusel global de
   testimonios ni el feed de Instagram. Se retoman en una sección propia más adelante. */
body[data-page="invitaciones"] #siteFooter .ffoot-ig { display:none!important; }
body[data-page="invitaciones"] #faqRoot { color:#38291f; } body[data-page="invitaciones"] #faqRoot .eyebrow { color:#a66d38!important; } body[data-page="invitaciones"] #faqRoot .faq-title { color:#38291f!important;font-family:"Playfair Display",serif; }
body[data-page="invitaciones"] #faqRoot .faq-item,body[data-page="invitaciones"] #faqRoot .faq-q { background:#fffaf3!important;border-color:#cdb08b!important;color:#38291f!important; } body[data-page="invitaciones"] #faqRoot .faq-a,body[data-page="invitaciones"] #faqRoot p { color:#655342!important; } body[data-page="invitaciones"] #faqRoot button { color:#38291f!important; }
body[data-page="invitaciones"] .iv-close h2 { color:#35261b;font-family:"Playfair Display",serif; }
.iv-style-filter{display:flex;justify-content:center;gap:.45rem;flex-wrap:wrap;margin:1.25rem 0 0}.iv-style-filter button{border:1px solid #cdb08b;background:transparent;color:#76502f;border-radius:99px;padding:.45rem .8rem;font:700 .72rem var(--fi-font-ui);cursor:pointer;transition:.18s}.iv-style-filter button:hover,.iv-style-filter button.is-active{background:#76502f;color:#fffaf3;border-color:#76502f}.iv-model.is-filtered{display:none}
@media(max-width:800px){body[data-page="invitaciones"] .iv-hero{min-height:auto;padding:4rem 0 15rem}body[data-page="invitaciones"] .iv-hero .iv-wrap{padding-right:0}body[data-page="invitaciones"] .iv-hero-preview{top:auto;bottom:-80px;right:calc(50% - 145px);transform:rotate(3deg) scale(.72);transform-origin:bottom center}.iv-preview-seal{right:-25px}}
