:root{--bg:#F8F3E8;--card:#FFFDF8;--ink:#3A3226;--muted:#6D6352;--gold:#8C6A2E;--gold2:#B48A3E;--line:#E6DCC7;--lila:#D8CFDC;--melo:#F9CFB0;--menta:#BFE5E9}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:"Figtree",system-ui,sans-serif;line-height:1.5;overflow-x:hidden;position:relative}
a{color:inherit}
p{margin:0}

/* fondo de acuarela */
.blobs{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.blobs i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55}
.b1{width:420px;height:420px;background:var(--lila);top:-120px;left:-120px}
.b2{width:380px;height:380px;background:var(--melo);top:30%;right:-140px}
.b3{width:420px;height:420px;background:var(--menta);bottom:-160px;left:20%}

/* principio */
.hero{display:grid;gap:28px;align-items:center;justify-items:center;text-align:center;max-width:1040px;margin:0 auto;padding:54px 18px 34px}
.eyebrow{font-family:"Cormorant Garamond",Georgia,serif;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:var(--gold);font-size:14px}
h1{font-family:"Great Vibes",cursive;font-weight:400;font-size:clamp(46px,13vw,84px);line-height:1;margin:4px 0 2px}
.titular{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(28px,7vw,40px);font-weight:700;line-height:1.1;margin:6px 0 10px}
.lead{font-family:"Cormorant Garamond",Georgia,serif;font-size:22px;line-height:1.4;color:var(--muted);max-width:30ch;margin:0 auto 20px}
.cta-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.cta{display:inline-block;background:linear-gradient(180deg,var(--gold2),var(--gold));color:#fff;font-weight:800;font-size:18px;text-decoration:none;padding:15px 28px;border-radius:16px;box-shadow:0 14px 28px -12px rgba(140,106,46,.7);transition:transform .15s,box-shadow .15s}
.cta:hover{transform:translateY(-2px);box-shadow:0 18px 32px -12px rgba(140,106,46,.8)}
.cta:focus-visible,.cta-2:focus-visible,.cta-3:focus-visible{outline:3px solid #111;outline-offset:3px}
.cta-2{display:inline-block;font-weight:700;text-decoration:none;padding:15px 22px;border-radius:16px;border:2px solid var(--line);background:rgba(255,255,255,.6)}
.chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;list-style:none;padding:0;margin:18px 0 0}
.chips li{font-size:13px;font-weight:700;color:var(--muted);background:rgba(255,255,255,.7);border:1px solid var(--line);border-radius:999px;padding:5px 12px}
.chips li::before{content:"✓ ";color:var(--gold)}

/* móvil de ejemplo */
.hero-visual{position:relative;display:grid;place-items:center;padding:6px 0}
.phone{position:relative;width:250px;height:510px;border-radius:42px;background:#1c1915;padding:9px;box-shadow:0 40px 70px -26px rgba(60,40,20,.55),0 0 0 1px rgba(255,255,255,.08) inset}
.screen{position:relative;height:100%;border-radius:33px;overflow:hidden;background:#fff}
.notch{position:absolute;z-index:10;top:15px;left:50%;width:70px;height:18px;margin-left:-35px;border-radius:99px;background:#1c1915}
.phone-hero{animation:flota 6s ease-in-out infinite}
.flota{position:absolute;font-size:30px;animation:flota 5s ease-in-out infinite}
.f1{top:6%;left:6%;animation-delay:-1s}.f2{top:30%;right:4%;animation-delay:-2.5s}.f3{bottom:10%;left:2%;animation-delay:-3.5s}
@keyframes flota{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* sobre que se abre (bucle de 10 s) */
.s-sobre{background:linear-gradient(180deg,#D8CFDC 0%,#F6E6DA 48%,#F9CFB0 100%);display:grid;grid-template-rows:auto 1fr;justify-items:center;padding-top:50px}
.s-top{font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;font-size:22px;color:#3A2B45;text-align:center;padding:0 14px}
.sobre{position:relative;width:200px;height:140px;margin-top:200px;border-radius:12px;background:#C9BDD9;box-shadow:0 26px 40px -22px rgba(0,0,0,.5)}
.carta{position:absolute;z-index:1;left:50%;bottom:10px;width:176px;margin-left:-88px;height:215px;border-radius:14px;background:#FFFCF9;box-shadow:0 10px 24px -10px rgba(0,0,0,.35);padding:8px;text-align:center;opacity:0;animation:sube 10s ease-in-out infinite}
.carta img{width:100%;height:96px;object-fit:cover;border-radius:9px;display:block}
.frente{position:absolute;inset:0;z-index:2;border-radius:12px;background:#E6DCEF;clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%)}
.solapa{position:absolute;left:0;right:0;top:0;height:60%;z-index:3;border-radius:12px 12px 0 0;background:#D6CAE5;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top center;animation:abre 10s ease-in-out infinite}
.sello{position:absolute;z-index:4;left:50%;top:60%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:#E98E6B;color:#fff;display:grid;place-items:center;font-family:"Great Vibes",cursive;font-size:30px;line-height:1;box-shadow:0 3px 0 rgba(0,0,0,.18),inset 0 0 0 3px rgba(255,255,255,.22);animation:sello 10s ease-in-out infinite}
@keyframes abre{0%,24%{transform:rotateX(0);z-index:3}30%{z-index:3}31%{z-index:0}40%,92%{transform:rotateX(180deg);z-index:0}98%{transform:rotateX(0);z-index:0}100%{transform:rotateX(0);z-index:3}}
@keyframes sube{0%,32%{transform:translateY(24px) scale(.92);opacity:0}38%{opacity:1}56%,90%{transform:translateY(-105px) scale(1);opacity:1}97%,100%{transform:translateY(24px) scale(.92);opacity:0}}
@keyframes sello{0%,22%{transform:scale(1);opacity:1}30%,94%{transform:scale(.4);opacity:0}99%,100%{transform:scale(1);opacity:1}}
.c-eyebrow{font-family:"Cormorant Garamond",Georgia,serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#8C6A2E;margin-top:8px}
.c-name{font-family:"Great Vibes",cursive;font-size:44px;line-height:1.05;color:#3A2B45}
.c-date{font-size:11px;font-weight:700;color:#6A5A72}

/* secciones */
main{max-width:1040px;margin:0 auto;padding:0 18px 10px}
section{padding:34px 0;text-align:center}
h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(32px,7vw,44px);line-height:1.1;font-weight:700;margin:0 0 8px}
h3{margin:0 0 6px;font-size:18px}
.sub{color:var(--muted);margin:0 auto 20px;max-width:46ch}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.phone-hero,.flota,.carta,.solapa,.sello{animation:none}.carta{opacity:1;transform:translateY(-105px)}}

.franja{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:14px 0}
.franja p{font-family:"Cormorant Garamond",Georgia,serif;font-size:24px;font-weight:700;color:var(--gold)}
.franja i{width:6px;height:6px;border-radius:50%;background:var(--gold2)}

.pasos{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.pasos li{position:relative;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px 18px;text-align:left;box-shadow:0 18px 30px -24px rgba(60,40,20,.5)}
.pasos .ico{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,var(--lila),var(--melo));font-size:26px;margin-bottom:12px}
.pasos b{position:absolute;top:16px;right:18px;font-family:"Cormorant Garamond",Georgia,serif;font-size:44px;line-height:1;color:var(--line)}
.pasos p{color:var(--muted)}

/* diseños únicos */
.unicos{display:grid;gap:14px}
.unico{border-radius:24px;padding:26px 18px;text-align:center;box-shadow:0 22px 34px -24px rgba(0,0,0,.55)}
.u-eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;opacity:.8}
.u-name{font-size:58px;line-height:1.1;margin:6px 0}
.u-sub{font-size:15px;opacity:.85}
.u1{background:linear-gradient(180deg,#F4EFE3,#E8DDC4);color:#3A3226}.u1 .u-name{font-family:"Great Vibes",cursive;font-size:68px;color:#8C6A2E}.u1 .u-eyebrow{font-family:"Cinzel",serif;font-size:11px}
.u2{background:linear-gradient(180deg,#D9F2E3,#9ED9B5);color:#10341F}.u2 .u-name{font-family:"Lilita One",system-ui,sans-serif;color:#E4513B;text-shadow:2px 2px 0 #fff}
.u3{background:linear-gradient(180deg,#E4F8F9,#BDECEF);color:#0B3440}.u3 .u-name{font-family:"Pacifico",cursive;font-size:50px;color:#0B8C99}

/* móviles */
.moviles{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 18px 30px;margin:0 -18px;justify-content:flex-start}
.moviles figure{flex:0 0 auto;scroll-snap-align:center;margin:0}
.moviles .phone{width:226px;height:462px;padding:8px;border-radius:38px}
.moviles .screen{border-radius:30px}
figcaption{margin-top:12px;font-weight:700;color:var(--muted)}
@media(min-width:1000px){.moviles{justify-content:center;overflow:visible}}
.s-inv{background:linear-gradient(180deg,#F6E6DA,#FFF);padding:42px 12px 12px;text-align:center}
.i-img{width:100%;height:120px;object-fit:cover;border-radius:14px;display:block}
.s-inv .c-eyebrow{margin-top:12px}.s-inv .c-name{font-size:52px}
.c-sub{font-size:12px;color:#6A5A72;font-style:italic;margin:2px 0 10px}
.cuenta{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 6px 10px}
.cuenta span{background:#fff;border-radius:12px;padding:7px 2px;font-size:10px;color:#6A5A72;box-shadow:0 1px 0 rgba(0,0,0,.05)}
.cuenta b{display:block;font-size:20px;color:#3A2B45;line-height:1.1}
.datos{background:#fff;border-radius:14px;padding:9px;font-size:12px;font-weight:700;color:#3A2B45}
.datos p+p{font-weight:400;color:#6A5A72;margin-top:2px}
.s-rsvp{background:linear-gradient(180deg,#E3D9E6,#F9CFB0);padding:56px 14px 14px;text-align:center}
.r-title{font-family:"Cormorant Garamond",Georgia,serif;font-size:30px;font-weight:700;color:#3A2B45}
.r-sub{font-size:11px;color:#6A5A72;margin-bottom:12px}
.r-btns{display:grid;gap:8px;margin-bottom:12px}
.r-btns span{border-radius:14px;padding:12px;font-weight:800;font-size:14px}
.r-btns .si{background:#E98E6B;color:#fff;box-shadow:0 8px 14px -8px rgba(233,142,107,.9)}
.r-btns .no{background:#fff;color:#3A2B45}
.r-fila{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:12px;padding:10px 12px;margin-bottom:8px;font-size:13px;font-weight:700;color:#3A2B45}
.r-fila em{font-style:normal;font-size:15px;letter-spacing:.06em;color:#8C6A2E}
.r-envia{margin-top:14px;background:#3A2B45;color:#fff;font-weight:800;border-radius:14px;padding:12px;font-size:14px}
.s-panel{background:#EEF1F7;padding:50px 12px 12px;text-align:left}
.p-eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#6B7280}
.p-title{font-size:22px;font-weight:800;color:#1F2937;margin:2px 0 12px}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}
.tiles span{background:#fff;border-radius:14px;padding:8px 6px;font-size:9px;color:#6B7280;font-weight:700}
.tiles em{display:block;font-style:normal;text-transform:uppercase;letter-spacing:.06em;font-size:8px}
.tiles b{display:block;font-size:26px;line-height:1.1;color:#1F2937}
.tiles .t1{background:#FBE5DF}.tiles .t1 b{color:#C23E2A}
.p-fila{background:#fff;border-radius:12px;padding:9px 10px;margin-bottom:6px;font-size:12px}
.p-fila b{display:block;color:#1F2937}.p-fila span{color:#6B7280;font-size:11px}
.s-album{background:#FFF9F1;padding:50px 12px 12px;text-align:center}
.s-album .p-title{margin-bottom:10px}
.rejilla{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.rejilla i{aspect-ratio:1;border-radius:9px;display:block}
.g1{background:center/cover url("/img/pony.jpg")}.g2{background:linear-gradient(135deg,#F9CFB0,#E98E6B)}.g3{background:linear-gradient(135deg,#BFE5E9,#6FCBD3)}
.g4{background:linear-gradient(135deg,#D8CFDC,#9A84BD)}.g5{background:center/cover url("/img/paloma.jpg")}.g6{background:linear-gradient(135deg,#FDE9B2,#F2B01E)}
.g7{background:linear-gradient(135deg,#C7E8D2,#5FBF86)}.g8{background:linear-gradient(135deg,#F6D0D8,#E58AA2)}.g9{background:center 30%/cover url("/img/pony.jpg")}
.g10{background:linear-gradient(135deg,#CFE3F8,#6C9BD8)}.g11{background:linear-gradient(135deg,#F9CFB0,#F2B01E)}.g12{background:center 60%/cover url("/img/paloma.jpg")}

/* incluye */
.cuadricula{display:grid;gap:12px}
.cuadricula div{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px 16px;text-align:left}
.cuadricula .ico{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--menta),var(--lila));font-size:22px;margin-bottom:10px}
.cuadricula p{color:var(--muted);font-size:15px}

/* precios */
.precios{display:grid;gap:14px;margin-bottom:16px;align-items:stretch}
.precio{position:relative;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:24px 18px;display:flex;flex-direction:column;gap:6px;box-shadow:0 20px 32px -26px rgba(60,40,20,.5)}
.precio.destacado{border:2px solid var(--gold);background:linear-gradient(180deg,#FFFDF8,#FBF1DC)}
.precio p{color:var(--muted);font-size:15px}
.precio .cifra{font-family:"Cormorant Garamond",Georgia,serif;font-size:46px;font-weight:700;line-height:1;color:var(--ink);margin:4px 0}
.cinta{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--gold);color:#fff;font-size:12px;font-weight:800;padding:4px 12px;border-radius:999px;white-space:nowrap}
.precio .cta,.precio .cta-3{margin-top:auto;align-self:center}
.cta-3{display:inline-block;font-weight:800;text-decoration:none;padding:12px 20px;border-radius:14px;border:2px solid var(--gold);color:var(--gold);margin-top:12px}
.cta-3:hover{background:var(--gold);color:#fff}

/* faq */
.faq{display:grid;gap:10px;text-align:left;max-width:720px;margin:0 auto}
details{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px}
summary{cursor:pointer;font-weight:800;list-style:none;display:flex;justify-content:space-between;gap:10px}
summary::after{content:"+";color:var(--gold);font-size:22px;line-height:1}
details[open] summary::after{content:"–"}
details p{margin-top:10px;color:var(--muted)}

.final{background:linear-gradient(135deg,var(--lila),var(--melo));border-radius:30px;padding:44px 18px;margin:20px 0;box-shadow:0 30px 50px -30px rgba(60,40,20,.5)}
.final .sub{margin-bottom:22px}

footer{text-align:center;padding:20px 16px 90px;font-size:13px;color:var(--muted)}
.marca{font-family:"Great Vibes",cursive;font-size:40px;color:var(--ink);margin-bottom:4px}
.legal-links a{margin-inline:6px}

/* botón fijo en el móvil */
.flotante{position:fixed;z-index:40;left:50%;bottom:16px;transform:translate(-50%,120px);transition:transform .3s;white-space:nowrap}
.flotante.ver{transform:translate(-50%,0)}

@media(min-width:760px){
  .hero{grid-template-columns:1.1fr .9fr;text-align:left;justify-items:stretch;padding-top:70px}
  .hero-text{justify-self:start}
  .lead{margin-left:0}
  .cta-row,.chips{justify-content:flex-start}
  .pasos,.unicos,.cuadricula{grid-template-columns:repeat(3,1fr)}
  .precios{grid-template-columns:repeat(3,1fr)}
  .flotante{display:none}
}
