*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f3ee;color:#171715;font-family:"DM Sans",sans-serif;overflow-x:hidden}.grain{position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:100;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.topbar{height:82px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,.12);position:relative;z-index:50}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-size:14px;font-weight:700}.mark{width:32px;height:32px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-family:"Playfair Display",serif;font-size:18px}.topbar nav{display:flex;gap:30px}.topbar nav a{font-size:12px;color:inherit;text-decoration:none}.pill{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 23px;border-radius:999px;text-decoration:none;font-size:12px;font-weight:700;transition:.25s}.pill:hover{transform:translateY(-2px)}.dark{background:#171715;color:#fff}.light{background:#fff;color:#171715}.menu,.mobile-nav{display:none}.hero{min-height:calc(100vh - 82px);padding:5vw 4vw 6vw;display:grid;grid-template-columns:1fr .9fr;gap:6vw;align-items:center}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:700;margin:0 0 22px}.hero h1,.code-intro h2,.catalog-head h2,.system-copy h2,.cta h2{font-family:"Manrope",sans-serif;font-weight:500;letter-spacing:-.06em}.hero h1{font-size:clamp(58px,7vw,112px);line-height:.88;margin:0}.hero h1 em,.system-copy h2 em,.cta h2 em{font-family:"Playfair Display",serif}.lead{max-width:620px;font-size:16px;line-height:1.75;color:#5b5854;margin:30px 0}.hero-actions{display:flex;gap:24px;align-items:center}.text-link{color:inherit;text-decoration:none;font-size:13px;font-weight:700}.gift-stage{height:640px;display:grid;place-items:center;position:relative;perspective:1100px}.tap-label{position:absolute;top:4%;font-size:10px;letter-spacing:.2em;animation:float 2s ease-in-out infinite}.gift{width:340px;height:320px;position:relative;border:0;background:none;cursor:pointer;z-index:5;transform-style:preserve-3d}.gift .shadow{position:absolute;width:280px;height:45px;left:30px;bottom:16px;border-radius:50%;background:rgba(0,0,0,.16);filter:blur(13px)}.box{position:absolute;left:32px;bottom:42px;width:276px;height:195px;background:#7b5c79;box-shadow:0 35px 70px rgba(45,33,43,.23);overflow:hidden}.lid{position:absolute;left:16px;top:62px;width:308px;height:68px;background:#906a8c;box-shadow:0 10px 22px rgba(0,0,0,.12);transform-origin:20px bottom;transition:1s cubic-bezier(.16,1,.3,1)}.ribbon-v{position:absolute;top:0;bottom:0;width:54px;left:calc(50% - 27px);background:#d8b86f}.ribbon-h{position:absolute;left:0;right:0;height:44px;top:74px;background:#d8b86f}.bow{position:absolute;left:50%;top:-40px;transform:translateX(-50%);width:126px;height:62px}.bow i{position:absolute;width:66px;height:54px;border:18px solid #d8b86f;border-radius:55% 45% 55% 45%}.bow i:first-child{right:50%;transform:rotate(14deg)}.bow i:last-child{left:50%;transform:rotate(-14deg)}.gift.open .lid{transform:translate(-85px,-175px) rotate(-30deg);opacity:.1}.gift.open .box{animation:pulse .6s ease}.gift-preview{position:absolute;width:min(430px,82%);height:570px;background:white;border-radius:18px;overflow:hidden;box-shadow:0 35px 90px rgba(0,0,0,.24);opacity:0;transform:translateY(135px) scale(.72) rotateX(18deg);transition:1s cubic-bezier(.16,1,.3,1);pointer-events:none}.gift-preview.show{opacity:1;transform:translateY(-14px) scale(1);z-index:6;pointer-events:auto}.browserbar{height:40px;background:#f0efec;display:flex;align-items:center;gap:7px;padding:0 13px}.browserbar span,.sysbar span{width:8px;height:8px;border-radius:50%;background:#c1beba}.browserbar small,.sysbar small{font-size:9px;color:#777;margin-left:8px}.gift-preview iframe{width:100%;height:480px;border:0;pointer-events:none}.gift-preview>a{position:absolute;left:18px;right:18px;bottom:14px;padding:12px 14px;background:rgba(255,255,255,.92);color:#111;text-decoration:none;border-radius:999px;text-align:center;font-size:11px;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.12)}.confetti{position:absolute;inset:0;pointer-events:none}.confetti i{position:absolute;top:50%;left:50%;opacity:0;font-style:normal}.confetti.go i{animation:burst 1.7s ease-out forwards}.code-section{background:#181817;color:#f7f3ee;padding:9vw 4vw}.code-intro{display:grid;grid-template-columns:.65fr 1fr .7fr;gap:5vw;align-items:end;margin-bottom:55px}.code-intro h2{font-size:clamp(52px,6vw,92px);line-height:.9;margin:0}.code-intro p:last-child{color:#aaa7a1;line-height:1.7;font-size:14px}.live-build{display:grid;grid-template-columns:1fr 1fr;min-height:690px;border:1px solid rgba(255,255,255,.14)}.editor{background:#10110f;display:flex;flex-direction:column}.editor-top{height:58px;border-bottom:1px solid rgba(255,255,255,.11);display:flex;align-items:center;padding:0 20px;gap:16px;color:#92918c;font-size:11px}.dots{display:flex;gap:7px}.dots i{width:8px;height:8px;border-radius:50%;background:#62615d}.editor-top button{margin-left:auto;background:none;border:0;color:#aaa;font-family:inherit;cursor:pointer}.editor pre{padding:38px;margin:0;flex:1;white-space:pre-wrap;font:14px/1.8 Consolas,monospace;color:#d5d3cc;overflow:auto}.caret{display:inline-block;width:8px;height:17px;background:#d8b86f;animation:blink .7s infinite}.status{height:50px;border-top:1px solid rgba(255,255,255,.11);display:flex;align-items:center;gap:10px;padding:0 20px;color:#8f8e88;font-size:10px}.status i{width:7px;height:7px;border-radius:50%;background:#d8b86f;box-shadow:0 0 16px rgba(216,184,111,.45)}.preview-pane{background:#2b2c29;display:grid;place-items:center;position:relative;overflow:hidden}.device{width:330px;height:620px;background:#090909;border:9px solid #090909;border-radius:46px;box-shadow:0 35px 80px rgba(0,0,0,.35);position:relative}.notch{position:absolute;z-index:5;top:9px;left:50%;transform:translateX(-50%);width:88px;height:22px;background:#090909;border-radius:20px}.device-screen{position:absolute;inset:0;border-radius:36px;overflow:hidden;background:#ebe5de}.build-layer{position:absolute;opacity:0;transition:.55s cubic-bezier(.2,.8,.2,1)}.build-layer.on{opacity:1;transform:none!important}.bg{inset:0;background:radial-gradient(circle at 70% 20%,rgba(213,179,174,.8),transparent 30%),linear-gradient(160deg,#efe4df,#d8c3be 60%,#bb9695);transform:scale(1.06)}.monogram{top:65px;left:0;right:0;text-align:center;font:14px "Playfair Display",serif;letter-spacing:.2em;color:#5b3d3f;transform:translateY(-10px)}.names{left:28px;right:28px;top:175px;text-align:center;color:#4b3537;transform:translateY(20px)}.names small{font-size:8px;letter-spacing:.18em}.names h3{font:600 55px/.82 "Playfair Display",serif;margin:13px 0}.date{left:0;right:0;bottom:175px;text-align:center;font-size:10px;letter-spacing:.18em;color:#61494b;transform:translateY(12px)}.actions{left:22px;right:22px;bottom:28px;display:flex;gap:6px;justify-content:center;transform:translateY(15px)}.actions span{background:rgba(255,255,255,.8);color:#3b2c2d;padding:9px 11px;border-radius:999px;font-size:8px}.final-live{position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;transition:1s;pointer-events:none}.final-live.on{opacity:1}.progress-label{position:absolute;right:25px;bottom:20px;font-size:9px;letter-spacing:.12em;color:#aaa}.catalog{padding:10vw 4vw}.catalog-head{display:grid;grid-template-columns:1fr .55fr;gap:8vw;align-items:end;margin-bottom:50px}.catalog-head h2{font-size:clamp(50px,6vw,88px);line-height:.92;margin:0}.catalog-head>p{line-height:1.7;color:#625f5a;font-size:14px}.featured{display:grid;grid-template-columns:.38fr 1fr;min-height:660px;background:#191918;color:#fff;margin-bottom:70px}.featured-copy{padding:46px;display:flex;flex-direction:column;justify-content:space-between}.featured-copy .index{font-size:9px;letter-spacing:.16em;color:#aaa}.featured-copy small{font-size:9px;letter-spacing:.16em;color:#c0bdb7}.featured-copy h3{font:600 54px/.95 "Playfair Display",serif;margin:14px 0}.featured-copy p{color:#aaa;line-height:1.6}.featured-copy a{color:white;text-decoration:none;font-size:12px;font-weight:700}.featured-live{position:relative;overflow:hidden;background:#ddd}.featured-live iframe{width:1440px;height:900px;border:0;transform:scale(.72);transform-origin:0 0;pointer-events:none}.live-pill{position:absolute;right:20px;top:20px;background:#fff;color:#111;border-radius:999px;padding:9px 12px;font-size:9px;font-weight:700;letter-spacing:.13em}.filters{display:flex;gap:8px;margin-bottom:25px}.filters button{border:1px solid rgba(0,0,0,.17);background:none;border-radius:999px;padding:10px 17px;font-family:inherit;font-size:11px;cursor:pointer}.filters button.active{background:#171715;color:#fff}.catalog-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px 24px}.invite-card.hidden{display:none}.mini-live{height:520px;overflow:hidden;background:#dedad4;position:relative}.mini-live iframe{width:1200px;height:850px;border:0;transform:scale(.58);transform-origin:0 0;pointer-events:none}.card-meta{display:flex;justify-content:space-between;align-items:flex-start;padding-top:15px}.card-meta small{font-size:9px;letter-spacing:.16em;color:#77736e}.card-meta h3{font:600 24px "Playfair Display",serif;margin:5px 0}.card-meta>a{width:43px;height:43px;display:grid;place-items:center;border:1px solid rgba(0,0,0,.16);border-radius:50%;color:#111;text-decoration:none}.guest-system{margin:0 4vw 8vw;background:#745971;color:#fff;min-height:760px;padding:6vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center}.system-copy h2{font-size:clamp(52px,6vw,90px);line-height:.9;margin:0}.system-copy>p:not(.eyebrow){line-height:1.75;color:#ddd4dc;max-width:520px}.system-copy ul{list-style:none;padding:0;margin:30px 0;border-top:1px solid rgba(255,255,255,.2)}.system-copy li{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:12px}.system-copy li span{display:inline-block;width:35px;color:#d8b86f}.domain-note{font-size:10px!important;margin-top:18px!important}.system-window{background:#f6f3ed;color:#171715;border-radius:16px;overflow:hidden;box-shadow:0 40px 95px rgba(0,0,0,.24)}.sysbar{height:42px;background:#171715;color:#8b8984;display:flex;align-items:center;gap:7px;padding:0 14px}.sys-grid{display:grid;grid-template-columns:150px 1fr;min-height:520px}.sys-grid aside{padding:26px 18px;border-right:1px solid #ded9d1;display:flex;flex-direction:column;gap:18px}.sys-grid aside b{font-family:"Playfair Display",serif;font-size:24px;margin-bottom:18px}.sys-grid aside span{font-size:10px;color:#99948e}.sys-grid aside .sel{color:#171715;font-weight:700}.dashboard{padding:34px}.dash-head{display:flex;justify-content:space-between;align-items:center}.dash-head small{font-size:8px;letter-spacing:.16em;color:#908b85}.dash-head h3{font:600 31px "Playfair Display",serif;margin:6px 0}.event-badge{font-size:8px;background:#e6efe7;color:#3c6d47;padding:8px 10px;border-radius:999px}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:28px 0}.kpis div{border:1px solid #ddd8d0;padding:18px}.kpis b{display:block;font-size:27px}.kpis span{font-size:8px;color:#817d77}.guest-list{border-top:1px solid #ddd8d0}.guest-list>div{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #ddd8d0;font-size:10px}.guest-list em{font-style:normal;color:#577b60}.cta{text-align:center;padding:10vw 4vw 12vw}.cta h2{font-size:clamp(58px,8vw,116px);line-height:.88;margin:0 auto 45px}.cta h2 em{font-family:"Playfair Display",serif}footer{padding:3vw 4vw;background:#eae4dc;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:11px}footer p{font:italic 18px "Playfair Display",serif}footer>a{color:inherit}.reveal{opacity:0;transform:translateY(22px);transition:.75s}.reveal.visible{opacity:1;transform:none}.delay{transition-delay:.12s}@keyframes float{50%{transform:translateY(-7px)}}@keyframes pulse{50%{transform:scale(1.04)}}@keyframes blink{50%{opacity:0}}@keyframes burst{0%{opacity:1;transform:translate(0,0) rotate(0)}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(620deg)}}@media(max-width:900px){.topbar nav,.topbar>.pill{display:none}.menu{display:block;width:34px;height:34px;border:0;background:none;position:relative}.menu i{position:absolute;left:5px;right:5px;height:1px;background:#171715}.menu i:first-child{top:12px}.menu i:last-child{top:20px}.mobile-nav{position:absolute;top:82px;left:0;right:0;background:#f7f3ee;z-index:45;padding:25px 4vw;border-bottom:1px solid rgba(0,0,0,.12);flex-direction:column;gap:18px}.mobile-nav.open{display:flex}.mobile-nav a{color:inherit;text-decoration:none}.hero,.live-build,.guest-system{grid-template-columns:1fr}.code-intro,.catalog-head{grid-template-columns:1fr;gap:25px}.gift-stage{height:580px}.preview-pane{min-height:680px}.featured{grid-template-columns:1fr}.featured-copy{min-height:350px}.catalog-grid{grid-template-columns:1fr}.guest-system{gap:55px}.sys-grid{grid-template-columns:110px 1fr}}@media(max-width:560px){.topbar{height:72px;padding:0 20px}.mobile-nav{top:72px}.hero,.code-section,.catalog,.cta{padding-left:20px;padding-right:20px}.hero h1{font-size:54px}.hero-actions{align-items:flex-start;flex-direction:column}.gift-stage{height:500px}.gift{transform:scale(.78)}.gift-preview{height:465px;width:90%}.gift-preview iframe{height:395px}.code-intro h2,.catalog-head h2{font-size:48px}.editor pre{padding:24px;font-size:11px;min-height:390px}.device{width:285px;height:550px}.featured{min-height:700px}.featured-live iframe{transform:scale(.52)}.featured-copy{padding:30px}.featured-copy h3{font-size:44px}.mini-live{height:450px}.mini-live iframe{transform:scale(.5)}.guest-system{margin:0 20px 70px;padding:45px 24px}.system-copy h2{font-size:50px}.sys-grid{grid-template-columns:1fr}.sys-grid aside{display:none}.dashboard{padding:22px}.kpis{grid-template-columns:1fr}.cta h2{font-size:56px}footer{padding:35px 20px;flex-direction:column;align-items:flex-start}}


/* ===== FIX CATALOGO PREMIUM: evitar que los iframes rompan el grid ===== */
.catalog,
.catalog-grid,
.invite-card,
.featured,
.featured-live,
.mini-live {
  min-width: 0;
}

.catalog-grid {
  width: 100%;
  overflow: hidden;
}

.invite-card {
  overflow: hidden;
}

.featured-live,
.mini-live {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.featured-live iframe,
.mini-live iframe {
  position: absolute;
  inset: 0 auto auto 0;
  border: 0;
  display: block;
  max-width: none;
  min-width: 0;
  pointer-events: none;
}

/* Desktop preview grande */
.featured-live iframe {
  width: 138.8889%;
  height: 138.8889%;
  transform: scale(.72);
  transform-origin: top left;
}

/* Tarjetas del catálogo: el iframe no participa en el cálculo del ancho del grid */
.mini-live iframe {
  width: 172.4138%;
  height: 172.4138%;
  transform: scale(.58);
  transform-origin: top left;
}

/* El contenido del iframe jamás puede empujar el layout */
.catalog-grid > *,
.featured > * {
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 900px) {
  .featured-live iframe {
    width: 166.6667%;
    height: 166.6667%;
    transform: scale(.60);
  }

  .mini-live iframe {
    width: 181.8182%;
    height: 181.8182%;
    transform: scale(.55);
  }
}

@media (max-width: 560px) {
  .featured-live iframe {
    width: 200%;
    height: 200%;
    transform: scale(.50);
  }

  .mini-live iframe {
    width: 222.2222%;
    height: 222.2222%;
    transform: scale(.45);
  }

  .catalog-grid {
    overflow: visible;
  }

  .invite-card {
    width: 100%;
  }
}


/* ===== CATÁLOGO INFANTIL ===== */
.category-chip{
  position:absolute;
  left:16px;
  top:16px;
  z-index:5;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#171715;
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
  backdrop-filter:blur(8px);
}
.infantil-card .card-meta small{
  color:#8a6d87;
}
.infantil-card .card-meta>a{
  transition:.25s;
}
.infantil-card:hover .card-meta>a{
  background:#171715;
  color:#fff;
  transform:translateY(-2px);
}
@media(max-width:560px){
  .category-chip{
    left:12px;
    top:12px;
  }
}


/* ===== AJUSTE SECCIÓN "ASÍ NACE" SIN TEXTO LATERAL ===== */
.code-intro{
  grid-template-columns:.7fr 1fr;
  align-items:end;
  max-width:1100px;
}
@media(max-width:900px){
  .code-intro{
    grid-template-columns:1fr;
  }
}

/* ===== ESPECIALES ===== */
.special-chip{
  background:#171715;
  color:#fff;
}
.especial-card .card-meta small{
  color:#8a5a2b;
}
.especial-card:hover .card-meta>a{
  background:#171715;
  color:#fff;
  transform:translateY(-2px);
}
