@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--azul:#182746;--azul-oscuro:#101b31;--crema:#f7f2e9;--dorado:#b99a68;--texto:#526078;--linea:#dfd0b9}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--crema);color:var(--azul);font-family:'DM Sans',sans-serif}a{color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}.topbar{background:var(--azul);color:#f6f1e8;min-height:75px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px max(22px,calc((100vw - 1050px)/2))}.topbar a{text-decoration:none}.marca{font-size:11px;letter-spacing:.21em;font-weight:700}.marca span{color:var(--dorado);margin:0 8px}.volver{font-size:13px;white-space:nowrap}main{max-width:790px;margin:0 auto;padding:54px 22px 50px}.introduccion{text-align:center;margin-bottom:38px}.kicker{font-size:11px;color:#ab8754;font-weight:700;letter-spacing:.28em}.introduccion h1{font-family:'Playfair Display',serif;font-size:clamp(40px,6.5vw,68px);line-height:1.11;font-weight:500;letter-spacing:-.035em;margin:24px 0}.introduccion h1 em{display:block;font-weight:400}.introduccion>p:last-child{max-width:600px;margin:0 auto;color:#34425d;line-height:1.85;font-size:15px}.tarjeta{background:#fffdfa;padding:clamp(25px,5.5vw,56px);border:1px solid var(--linea);box-shadow:0 20px 55px rgba(24,39,70,.07)}.tarjeta h2,.exito h2{font:500 32px/1.2 'Playfair Display',serif;margin:15px 0}.intro-form{font-size:14px;line-height:1.85;color:#43506a;margin-bottom:31px}#formulario>label:not(.zona):not(.consentimiento){display:block;font-size:13px;font-weight:700;margin:21px 0 9px}.opcional,.detalle{color:#7a7f8b;font-size:12px;font-weight:400}input[type=text],textarea{width:100%;border:1px solid var(--linea);background:#fff;color:var(--azul);border-radius:2px;padding:16px 17px;outline-offset:4px}textarea{resize:vertical;min-height:105px}.zona{margin:0;min-height:160px;border:1.5px dashed #b89a68;background:#fbf6ed;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:24px;text-align:center;cursor:pointer}.zona:focus-within{outline:3px solid #7999d1;outline-offset:3px}.zona input{position:absolute;opacity:0;width:1px;height:1px}.camara{font-size:29px}.invitacion{font-size:15px;font-weight:700}.miniaturas{display:grid;grid-template-columns:repeat(auto-fit,minmax(95px,1fr));gap:9px;margin-top:12px}.miniatura{background:#f0e7db;border:1px solid var(--linea);min-width:0;overflow:hidden}.miniatura img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.miniatura .sin-vista{height:95px;display:flex;align-items:center;justify-content:center;font-size:12px;text-align:center;color:#6b6b70;padding:8px}.miniatura small{padding:7px;display:block;font-size:10px;overflow-wrap:anywhere}.consentimiento{display:flex;align-items:flex-start;gap:11px;font-size:12px;line-height:1.7;margin-top:24px;color:#45516a}.consentimiento input{flex:none;width:18px;height:18px;margin:2px 0}.enviar{display:block;width:100%;background:var(--dorado);color:var(--azul);border:0;padding:18px 14px;margin:25px 0 15px;font-size:15px;font-weight:700;min-height:54px}.enviar:hover:not(:disabled){background:#cfb083}.estado{font-size:13px;line-height:1.7;color:var(--texto);text-align:center;overflow-wrap:anywhere;margin:12px 0}.barra{height:8px;background:#eae1d6;overflow:hidden;border-radius:10px}.barra>div{height:100%;width:0;background:#9c7c50;transition:width .2s}.trampa{position:absolute;left:-100000px;top:auto;width:1px;height:1px;overflow:hidden}.exito{text-align:center;padding:25px 10px}.exito .corazon{font-size:60px;color:var(--dorado)}.exito p{font-size:15px;line-height:1.8}.exito button{margin:20px auto 0;background:var(--azul);color:white;border:0;padding:14px 20px}.pie-mensaje{text-align:center;font:italic 22px 'Playfair Display',serif;margin:35px 0;color:#ab8754}footer{text-align:center;background:var(--azul-oscuro);color:#e4dbcf;padding:30px 18px;font-size:11px;letter-spacing:.18em}a:focus-visible,button:focus-visible{outline:3px solid #7195d9;outline-offset:3px}[hidden]{display:none!important}@media(max-width:520px){.topbar{min-height:64px;gap:8px;padding:13px 16px}.marca{font-size:9px;letter-spacing:.11em}.marca span{margin:0 3px}.volver{font-size:11px}main{padding:38px 14px}.introduccion h1{font-size:44px}.tarjeta{padding:25px 20px}.introduccion>p:last-child{font-size:14px}}
