:root{color-scheme:light;--cream: #eef1f7;--warm-white: #ffffff;--parchment: #f3f6fb;--soft-gray: #dde3ee;--charcoal: #1a2230;--muted: #5a6577;--violet: #23396b;--violet-dark: #1a2c54;--violet-soft: rgba(35, 57, 107, .12);--blue: #3b6ef5;--blue-dark: #2f60e6;--blue-soft: rgba(59, 110, 245, .12);--sage: var(--violet);--sage-dark: var(--violet-dark);--terracotta: var(--violet);--terracotta-dark: var(--violet-dark);--neutral: #6b7689;--neutral-dark: #586277;--gilt: var(--blue);--gilt-dark: var(--blue-dark);--gilt-soft: var(--blue-soft);--danger: #ef5d6b;--danger-soft: rgba(239, 93, 107, .12);--accent-shadow: rgba(35, 57, 107, .4);--font-body: "Hanken Grotesk", system-ui, -apple-system, sans-serif;--font-heading: "Playfair Display", Georgia, serif;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(23, 33, 56, .08);--shadow-md: 0 18px 44px -18px rgba(23, 33, 56, .22)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--cream);background-image:radial-gradient(46rem 46rem at 12% -8%,rgba(35,57,107,.13),transparent 60%),radial-gradient(40rem 40rem at 100% 0%,rgba(59,110,245,.09),transparent 58%),radial-gradient(44rem 44rem at 88% 112%,rgba(35,57,107,.1),transparent 60%);background-attachment:fixed;background-repeat:no-repeat;color:var(--charcoal);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.page{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:var(--space-md)}.card{width:100%;max-width:640px;background-color:var(--warm-white);border:1px solid var(--soft-gray);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;margin:var(--space-lg) 0;opacity:0;animation:card-in .7s cubic-bezier(.22,1,.36,1) .05s forwards}@keyframes card-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.preview-bar{width:100%;max-width:640px;margin:var(--space-md) 0 0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);flex-wrap:wrap}.preview-badge{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--violet, #23396b);background:var(--violet-soft, rgba(35, 57, 107, .12));padding:.3rem .7rem;border-radius:999px}.preview-fase{display:flex;gap:.25rem;background:var(--parchment);border:1px solid var(--soft-gray);border-radius:999px;padding:3px}.preview-fase button{border:none;background:none;cursor:pointer;font:inherit;font-size:.82rem;font-weight:600;color:var(--muted);padding:.35rem .8rem;border-radius:999px;transition:background-color .15s,color .15s}.preview-fase button.active{background:var(--violet, #23396b);color:#fff}.header-banner{display:block;width:100%;max-height:300px;object-fit:cover}.card-body{padding:calc(var(--space-lg) * var(--density, 1) * var(--ov-body, 1))}@media(max-width:480px){.card-body{padding:calc(var(--space-md) * var(--density, 1) * var(--ov-body, 1))}}.header{position:relative;text-align:center;padding:calc(var(--space-xl) * var(--density, 1) * var(--ov-header, 1)) var(--space-md) var(--space-lg);background:radial-gradient(120% 80% at 50% -10%,var(--gilt-soft, rgba(194, 163, 94, .14)),transparent 60%),linear-gradient(165deg,var(--cream),var(--warm-white));border-bottom:1px solid var(--soft-gray)}.header:after{content:"";position:absolute;left:50%;bottom:-1px;transform:translate(-50%);width:56%;height:2px;background:linear-gradient(90deg,transparent,var(--gilt),transparent)}.header-eyebrow{display:inline-flex;align-items:center;gap:.6em;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gilt-dark);font-weight:700}.header-eyebrow:before,.header-eyebrow:after{content:"";width:2rem;height:1px;background:var(--gilt);opacity:.7}.header h1{font-family:var(--font-heading);font-size:clamp(2rem,6vw,2.6rem);font-weight:600;letter-spacing:-.01em;color:var(--terracotta);margin:var(--space-sm) 0 var(--space-xs)}.header p{color:var(--muted)}.mensaje{text-align:left;margin-bottom:calc(var(--space-lg) * var(--density, 1) * var(--ov-mensaje, 1));font-size:1.05rem;line-height:1.7;color:var(--charcoal)}.invitacion-video{display:block;width:100%;border-radius:12px;background:#000;margin:0 0 calc(1rem * var(--density, 1) * var(--ov-video, 1))}.mensaje p,.mensaje div{margin:0 0 .6rem}.mensaje p:last-child,.mensaje div:last-child{margin-bottom:0}.mensaje br{display:block;content:"";margin-top:.25rem}.mensaje b,.mensaje strong{font-weight:700;color:var(--charcoal)}.section-title{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gilt-dark);font-weight:600;margin-bottom:var(--space-sm)}.intro{text-align:center;color:var(--muted);margin-bottom:var(--space-md)}.persona-list{display:flex;flex-direction:column;gap:calc(var(--space-sm) * var(--density, 1) * var(--ov-personas, 1))}.persona-row{border:1px solid var(--soft-gray);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);transition:border-color .2s,background-color .2s}.persona-row[data-asiste=true]{border-color:var(--sage);background-color:var(--violet-soft)}.persona-row[data-asiste=false]{border-color:var(--soft-gray);background-color:#6b76890f;opacity:.85}.persona-name{font-weight:600;display:flex;align-items:center;gap:var(--space-xs)}.badge{font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:999px;background-color:var(--soft-gray);color:var(--charcoal);text-transform:uppercase;letter-spacing:.04em}.badge-nino{background-color:#3b6ef521;color:var(--gilt-dark)}.attend-toggle{display:flex;gap:var(--space-xs);margin-top:var(--space-sm)}.attend-option{flex:1;text-align:center;padding:var(--space-xs) var(--space-sm);border:1px solid var(--soft-gray);border-radius:var(--radius-md);background:var(--warm-white);cursor:pointer;font-size:.9rem;font-weight:600;color:var(--muted);transition:all .15s}.attend-option:hover{border-color:var(--sage)}.attend-option[data-active=true][data-value=si]{background-color:var(--sage);border-color:var(--sage);color:#fff}.attend-option[data-active=true][data-value=no]{background-color:var(--neutral);border-color:var(--neutral);color:#fff}.alergias-row{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px dashed var(--soft-gray);display:flex;align-items:center;gap:var(--space-xs)}.alergias-row label{font-size:.9rem;color:var(--charcoal);cursor:pointer;-webkit-user-select:none;user-select:none}.alergias-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--terracotta);cursor:pointer}.alergias-note{font-size:.8rem;color:var(--muted);margin-top:4px}.btn-primary{width:100%;margin-top:var(--space-lg);padding:calc(var(--space-sm) + 2px);background-color:var(--terracotta);color:#fff;border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:1rem;font-weight:700;letter-spacing:.02em;cursor:pointer;box-shadow:0 10px 24px -12px var(--accent-shadow);transition:background-color .2s ease,transform .12s ease,box-shadow .2s ease}.btn-primary:hover:not(:disabled){background-color:var(--terracotta-dark);transform:translateY(-1px);box-shadow:0 16px 30px -12px var(--accent-shadow)}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.99)}.btn-primary:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.state{text-align:center;padding:var(--space-xl) var(--space-md)}.state-icon{font-size:3rem;margin-bottom:var(--space-sm)}.state h2{font-family:var(--font-heading);color:var(--terracotta);margin-bottom:var(--space-xs)}.state p{color:var(--muted)}.spinner{width:40px;height:40px;margin:0 auto var(--space-sm);border:3px solid var(--soft-gray);border-top-color:var(--terracotta);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{background-color:var(--danger-soft);border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius-md);padding:var(--space-sm);margin-top:var(--space-md);text-align:center;font-size:.9rem}.footer-note{text-align:center;font-size:.8rem;color:var(--muted);margin-top:var(--space-md)}:focus-visible{outline:2px solid var(--gilt);outline-offset:2px;border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.card{opacity:1}}
