:root{--paper:#f4efe8;--paper2:#ebe1d2;--card:#fff;--ink:#23201d;--ink2:#5a4f47;--teal:#2e8b84;--teal2:#1f6e68;--tealdk:#134f4a;--pink:#d3497a;--mag:#c0396f;--coral:#fb6e42;--yellow:#f5d24a;--err:#c2352c;--grad:linear-gradient(90deg, #d3497a, #fb6e42);--grad2:linear-gradient(135deg, #c0396f, #d3497a, #fb6e42);--serif:"Playfair Display", Georgia, serif;--sans:"Montserrat", system-ui, Arial, sans-serif;--maxw:1080px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--sans);color:var(--ink);background:var(--paper) url(/img/paper.jpg);background-size:520px;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}.serif{font-family:var(--serif)}.grad-text{color:var(--mag);font-style:italic}.teal-text{color:var(--teal)}.pendiente{color:#6b5200;text-align:left;background:#fff8db;border:1.5px solid #e6c34a;border-radius:12px;max-width:520px;margin:0 auto 16px;padding:12px 16px;font-size:12.5px;line-height:1.45}.pendiente code{font-size:12px}.ticker{z-index:100;background:var(--pink);color:#fff;letter-spacing:.03em;font-size:12.5px;font-weight:700;position:fixed;top:0;left:0;right:0;overflow:hidden;box-shadow:0 2px 14px #00000026}.ticker .track{white-space:nowrap;padding:9px 0;animation:26s linear infinite scroll;display:flex}.ticker span{align-items:center;gap:8px;padding:0 22px;display:inline-flex}.ticker span:before{content:"";background:var(--yellow);width:6px;height:6px;box-shadow:0 0 8px var(--yellow);border-radius:50%}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}header{z-index:5;text-align:center;padding:66px 0 4px;position:relative}.logo img{filter:drop-shadow(0 10px 22px #00000024);width:130px;height:auto;margin:0 auto}.floral{z-index:1;pointer-events:none;width:300px;height:auto;position:absolute}.floral.tl{top:0;left:0}.floral.tr{top:0;right:0}@media (width<=600px){.floral{width:150px}}.hero{z-index:5;text-align:center;padding:24px 0 8px;position:relative}.pill{color:var(--mag);letter-spacing:.12em;text-transform:uppercase;background:#fff;border:1.5px solid #d3497a4d;border-radius:100px;align-items:center;gap:9px;padding:9px 18px;font-size:12.5px;font-weight:700;display:inline-flex;box-shadow:0 8px 24px #d3497a1f}.pill .dot{background:var(--grad);border-radius:50%;width:8px;height:8px;animation:1.8s infinite pulse}@keyframes pulse{0%,to{box-shadow:0 0 #d3497a80}50%{box-shadow:0 0 0 7px #d3497a00}}.hero h1{font-family:var(--serif);letter-spacing:-.01em;max-width:14ch;color:var(--ink);margin:20px auto 0;font-size:clamp(40px,7vw,82px);font-style:italic;font-weight:700;line-height:1}.hero h1 .grad-text{font-weight:800}.hero .sub{font-family:var(--serif);color:var(--ink2);max-width:34ch;margin:20px auto 0;font-size:clamp(18px,2.4vw,24px);font-style:italic;font-weight:500;line-height:1.4}.when{flex-direction:column;align-items:center;gap:14px;margin:34px auto 0;display:inline-flex}.when .date{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 16px;font-size:15px;font-weight:700;display:inline-flex}.when .date b{color:var(--teal2);background:#fff;border:1.5px solid #2e8b8438;border-radius:100px;align-items:center;gap:7px;padding:8px 14px;display:inline-flex}.when .date .zone{color:var(--ink2);font-weight:600}.count{gap:10px;display:flex}.count .box{text-align:center;background:#fff;border:1px solid #0000000a;border-radius:16px;min-width:74px;padding:12px 6px;box-shadow:0 12px 30px #be785a24}.count .n{font-family:var(--serif);background:var(--grad);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:34px;font-weight:800;line-height:1}.count .l{letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);margin-top:6px;font-size:10.5px;font-weight:700}.count.live{font-family:var(--serif);color:#fff;background:var(--grad);border-radius:14px;padding:14px 30px;font-size:26px;font-weight:800}.liverow{justify-content:center;margin:40px 0 0;display:flex}.livebar{background:var(--yellow);color:#2a2205;letter-spacing:.06em;text-transform:uppercase;border-radius:100px;align-items:center;gap:10px;padding:10px 22px;font-size:13px;font-weight:800;display:inline-flex;box-shadow:0 10px 26px #f5d24a66}.livebar .rec{background:#e5195a;border-radius:50%;width:9px;height:9px;animation:1.4s infinite pulse2}@keyframes pulse2{0%,to{opacity:1}50%{opacity:.35}}.trio{flex-wrap:wrap;justify-content:center;gap:clamp(14px,4vw,54px);margin:30px auto 6px;display:flex}.person{text-align:center;width:220px}.person .ph{background:var(--grad2);border-radius:50%;width:190px;height:190px;margin:0 auto;padding:6px;position:relative;box-shadow:0 18px 40px #be5a7847}.person .ph img{object-fit:cover;background:var(--teal);border-radius:50%;width:100%;height:100%}.person.guest .ph{background:linear-gradient(135deg,#ffd84d,#fb6e42,#c0396f);animation:5s ease-in-out infinite floaty}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.person .badge{color:var(--mag);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:#fff;border-radius:100px;padding:4px 12px;font-size:10px;font-weight:800;position:absolute;bottom:2px;left:50%;transform:translate(-50%);box-shadow:0 6px 16px #00000024}.person .nm{font-family:var(--serif);margin-top:16px;font-size:20px;font-weight:700}.person .ro{letter-spacing:.04em;color:var(--teal2);text-transform:uppercase;margin-top:2px;font-size:12.5px;font-weight:700}.person.guest .ro{color:var(--mag)}.regwrap{z-index:5;background:linear-gradient(160deg,#2e8b84,#1f6e68);margin-top:56px;padding:70px 0 78px;position:relative}.regwrap:before{content:"";background:radial-gradient(120% 100% at 50% 0, var(--paper) 40%, transparent 41%);height:60px;position:absolute;top:-1px;left:0;right:0;transform:scaleY(-1)}.reg-head{text-align:center;color:#fff;margin-bottom:34px}.reg-head h2{font-family:var(--serif);font-size:clamp(26px,4vw,40px);font-weight:800;line-height:1.08}.reg-head p{opacity:.92;max-width:34ch;margin:12px auto 0;font-weight:500}.card{background:#fff;border-radius:24px;max-width:520px;margin:0 auto;padding:34px 32px;box-shadow:0 30px 70px #00000047}.card .mini{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:22px;display:flex}.card .mini b{color:var(--teal2);background:#eaf6f5;border-radius:100px;padding:6px 12px;font-size:11.5px;font-weight:700}.card .fine{text-align:center;color:#9a8d80;margin-top:14px;font-size:11px}.card-confirma{text-align:center}.card-confirma .confirma-titulo{margin:6px 0 8px;font-size:22px;font-weight:700;line-height:1.2}.card-confirma .confirma-texto{color:var(--ink2);margin-bottom:24px;font-size:15px;font-weight:500}.field{margin-bottom:13px}.field label{color:var(--ink2);margin-bottom:5px;font-size:12px;font-weight:700;display:block}.field input{width:100%;font-family:var(--sans);background:#fbf7f2;border:1.6px solid #e4dace;border-radius:12px;padding:14px 16px;font-size:15px;transition:all .2s}.field input:focus{border-color:var(--mag);background:#fff;outline:none;box-shadow:0 0 0 4px #d3497a1a}.row2{grid-template-columns:1fr 1fr;gap:13px;display:grid}.tel{background:#fbf7f2;border:1.6px solid #e4dace;border-radius:12px;align-items:stretch;transition:all .2s;display:flex}.tel:focus-within{border-color:var(--mag);background:#fff;box-shadow:0 0 0 4px #d3497a1a}.tel select{-webkit-appearance:none;appearance:none;font-family:var(--sans);color:var(--ink);cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 2 6 6.2 10.5 2' fill='none' stroke='%235a4f47' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 11px center/10px no-repeat;border:0;border-right:1.6px solid #e4dace;border-radius:12px 0 0 12px;flex:none;padding:14px 29px 14px 14px;font-size:15px;font-weight:600}.tel select:focus{outline:none}.tel input{background:0 0;border:0;border-radius:0 12px 12px 0;flex:1;min-width:0}.tel input:focus{box-shadow:none;background:0 0;border:0}.consent{color:var(--ink2);align-items:flex-start;gap:9px;font-size:11px;line-height:1.45;display:flex}.consent input{width:16px;height:16px;accent-color:var(--mag);flex:none;margin-top:3px}.consent-field{margin:14px 0 20px}.consent-field.bad .consent input{outline:2px solid var(--err);outline-offset:2px}.field .err{color:var(--err);margin-top:6px;font-size:11.5px;font-weight:600;line-height:1.35;display:none}.field.bad .err{display:block}.field.bad>input,.field.bad .tel{border-color:var(--err);background:#fdf5f4}.field.bad .tel select{border-right-color:var(--err)}.form-err{color:var(--err);background:#fdf0ee;border:1.5px solid #c2352c59;border-radius:12px;margin-bottom:14px;padding:12px 14px;font-size:12.5px;font-weight:600;line-height:1.4}.btn{cursor:pointer;width:100%;font-family:var(--sans);letter-spacing:.02em;color:#fff;background:var(--grad);text-transform:uppercase;text-align:center;border:none;border-radius:14px;padding:18px;font-size:17px;font-weight:800;text-decoration:none;transition:transform .2s;display:block;position:relative;overflow:hidden;box-shadow:0 16px 34px #d3497a5c}.btn span{z-index:2;position:relative}.btn:after{content:"";background:linear-gradient(90deg,#0000,#ffffff80,#0000);width:45%;height:100%;animation:3.2s infinite shine;position:absolute;top:0;left:-60%}@keyframes shine{0%{left:-60%}55%,to{left:130%}}.btn:hover{transform:translateY(-2px)}.btn:disabled{opacity:.7;cursor:progress;transform:none}section.blk{z-index:5;padding:74px 0;position:relative}.eyebrow{text-align:center;letter-spacing:.18em;text-transform:uppercase;background:var(--grad);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:12.5px;font-weight:800}.h2{font-family:var(--serif);text-align:center;max-width:20ch;margin:12px auto 0;font-size:clamp(28px,4.4vw,46px);font-weight:800;line-height:1.08}.learn{grid-template-columns:repeat(2,1fr);gap:20px;margin-top:44px;display:grid}.lcard{background:#fff;border:1px solid #0000000a;border-radius:22px;padding:30px 28px;transition:all .3s;position:relative;box-shadow:0 20px 44px #be785a1f}.lcard:hover{transform:translateY(-6px)}.ico{background:var(--grad2);border-radius:18px;place-items:center;width:66px;height:66px;margin-bottom:18px;animation:5s ease-in-out infinite floaty;display:grid;box-shadow:0 14px 30px #d3497a4d}.ico svg{stroke:#fff;stroke-width:2px;fill:none;width:34px;height:34px}.lcard h3{font-family:var(--serif);margin-bottom:8px;font-size:20px;font-weight:700;line-height:1.2}.lcard p{color:var(--ink2);font-size:14.5px;font-weight:500}section.blk.about{background:linear-gradient(180deg, var(--paper), var(--paper2));z-index:5;padding-bottom:0;position:relative;overflow:hidden}.about .grid{grid-template-columns:.92fr 1.08fr;align-items:end;gap:44px;margin-top:12px;display:grid}.about .photo{text-align:center;justify-content:center;align-self:end;align-items:flex-end;display:flex;position:relative}.about .photo .halo{filter:blur(30px);z-index:-1;background:radial-gradient(closest-side,#2e8b8480,#0000);position:absolute;inset:8% 10% 0}.about .photo img{filter:drop-shadow(0 26px 46px #00000042);width:auto;max-width:100%;max-height:720px;margin:0}.about .who{padding-bottom:60px}.about .who .tag{background:var(--grad);color:#fff;letter-spacing:.14em;text-transform:uppercase;border-radius:100px;padding:7px 15px;font-size:11.5px;font-weight:800;display:inline-block}.about .who h2{font-family:var(--serif);margin:16px 0 4px;font-size:clamp(30px,4.4vw,48px);font-weight:800;line-height:1.04}.about .who .role{font-family:var(--serif);color:var(--teal2);margin-bottom:16px;font-size:19px;font-style:italic}.about .who p{color:var(--ink2);margin-bottom:14px;font-weight:500}.creds{flex-wrap:wrap;gap:9px;margin-top:8px;display:flex}.creds b{color:var(--teal2);background:#fff;border:1.5px solid #2e8b8438;border-radius:100px;padding:8px 13px;font-size:12px;font-weight:700}.forwho{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px;display:grid}.wcard{background:#fff;border:1px solid #0000000a;border-radius:20px;padding:26px 24px;box-shadow:0 16px 36px #be785a1a}.wcard .chk{background:#eaf6f5;border-radius:12px;place-items:center;width:40px;height:40px;margin-bottom:14px;display:grid}.wcard .chk svg{width:22px;height:22px;stroke:var(--teal2);stroke-width:2.4px;fill:none}.wcard p{font-size:15px;font-weight:600}.details{color:#fff;z-index:5;text-align:center;background:linear-gradient(160deg,#1f6e68,#134f4a);padding:66px 0;position:relative}.details h2{font-family:var(--serif);font-size:clamp(26px,4vw,40px);font-weight:800}.dgrid{flex-wrap:wrap;justify-content:center;gap:16px;margin:30px 0;display:flex}.dbox{background:#ffffff14;border:1px solid #ffffff2e;border-radius:16px;min-width:160px;padding:20px 26px}.dbox .k{letter-spacing:.14em;text-transform:uppercase;opacity:.8;font-size:11px;font-weight:700}.dbox .v{font-family:var(--serif);margin-top:6px;font-size:19px;font-weight:700}.urg{background:var(--yellow);color:#2a2205;border-radius:100px;align-items:center;gap:10px;padding:12px 24px;font-size:14px;font-weight:800;display:inline-flex;box-shadow:0 12px 30px #f5d24a66}.final{z-index:5;text-align:center;padding:80px 0;position:relative}.finalcard{background:#fff;border:1px solid #0000000a;border-radius:28px;max-width:760px;margin:0 auto;padding:56px 40px;position:relative;overflow:hidden;box-shadow:0 34px 80px #be785a33}.finalcard h2{font-family:var(--serif);font-size:clamp(28px,4.4vw,44px);font-weight:800;line-height:1.05}.finalcard p{color:var(--ink2);max-width:40ch;margin:16px auto 26px;font-weight:500}.finalcard .btn{max-width:420px;margin:0 auto}.sign{font-family:var(--serif);color:var(--mag);margin-top:26px;font-size:20px;font-style:italic;font-weight:600}footer{z-index:5;text-align:center;color:var(--ink2);padding:36px 0 54px;font-size:12.5px;position:relative}.reveal{opacity:0;transition:all .7s cubic-bezier(.2,.7,.2,1);transform:translateY(26px)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}.ticker .track,.ico,.person.guest .ph,.btn:after,.pill .dot,.livebar .rec{animation:none}html{scroll-behavior:auto}}@media (width<=840px){.learn{grid-template-columns:1fr}.about .grid{grid-template-columns:1fr;gap:24px}.forwho{grid-template-columns:1fr}}@media (width<=480px){.wrap{padding:0 20px}.count .box{min-width:62px}.count .n{font-size:27px}.person{width:150px}.person .ph{width:150px;height:150px}.row2{grid-template-columns:1fr}}
