@font-face{font-family:Archivo;src:url('./assets/archivo-400.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Archivo;src:url('./assets/archivo-500.ttf') format('truetype');font-weight:500;font-display:swap}@font-face{font-family:Archivo;src:url('./assets/archivo-700.ttf') format('truetype');font-weight:700;font-display:swap}@font-face{font-family:Archivo;src:url('./assets/archivo-900.ttf') format('truetype');font-weight:900;font-display:swap}
:root{--midnight:#000d11;--blue:#044d65;--aqua:#35a6b7;--ice:#99c1ca;--silver:#c3d0d4;--pearl:#d6d4cf;font-family:Archivo,Arial,sans-serif;color:var(--midnight);background:#f5f6f5}html{scroll-behavior:smooth}body{font-family:Archivo,Arial,sans-serif}a{color:inherit}a:focus-visible,button:focus-visible{outline:2px solid #35a6b7;outline-offset:7px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.textured{background:#071e2e url('./assets/blue-surface.webp') center/cover;color:#f2f7f8;position:relative;isolation:isolate}.eyebrow{font:500 11px/1.6 Archivo,sans-serif;letter-spacing:.18em;color:inherit;margin:0}.emotional{font-family:Georgia,'Times New Roman',serif;font-weight:700;font-style:italic;letter-spacing:-.03em}.form-page{background:#f5f6f5}.night-hero{min-height:850px;min-height:min(1000px,100svh);overflow:hidden;display:grid;place-items:center;padding:120px 30px 72px}.night-hero:before,.loading:before{content:'';position:absolute;z-index:-1;pointer-events:none;inset:-25%;background:radial-gradient(ellipse at center,#73cce222 0,transparent 48%);animation:ambient-light 12s ease-in-out infinite}.night-nav{position:absolute;inset:0 0 auto;display:flex;justify-content:space-between;gap:20px;padding:30px 4%;font-size:12px;z-index:5}.night-nav a{padding:8px 0;text-decoration:none;border-bottom:1px solid #c3d0d450}.hero-center{position:relative;text-align:center;z-index:2}.event-signature{width:205px;height:auto;display:block;margin:0 auto 55px;filter:drop-shadow(0 0 10px #bddbe522)}.hero-display{font-weight:900;font-size:clamp(54px,7.3vw,112px);line-height:.99;letter-spacing:-.055em;margin:0;color:#f4f8fa;text-shadow:0 1px #c3d0d4,0 3px 0 #b2c2c630,0 8px 24px #000a}.roman{display:block;font:400 53px Georgia,serif;color:#d3e4e7;margin:48px 0 25px;text-shadow:0 0 20px #a0c6d644}.scroll-cue{font-size:32px;text-decoration:none;display:inline-block;line-height:1;padding:0 20px;animation:cue 3s ease-in-out infinite}
.glass-composition{position:absolute;inset:0;perspective:1000px;transform:rotateX(var(--look-y,0deg)) rotateY(var(--look-x,0deg));transition:transform .7s ease-out;pointer-events:none;z-index:0;transform-style:preserve-3d}.glass-piece{position:absolute;display:block;--tilt:-20deg;--delay:0s;background:linear-gradient(135deg,#8bdddecc 0,#16778e99 28%,#123e59 70%,#b0e5e4aa);border:2px solid #c3d0d4;border-bottom-color:#7195a3;border-right-color:#688b99;box-shadow:inset 1px 2px 2px #fff9,inset -4px -6px 12px #001825aa,2px 4px 0 #658692,4px 8px 0 #173c50,14px 28px 40px #0006;overflow:hidden;animation:glass-float 10s ease-in-out infinite;animation-delay:var(--delay);transform:rotate(var(--tilt));backface-visibility:hidden}.glass-piece:before{content:'';position:absolute;inset:0;background:url('./assets/glass-grain.webp') center/220px;mix-blend-mode:soft-light;opacity:.72}.glass-piece:after{content:'';position:absolute;inset:-80%;background:linear-gradient(110deg,transparent 40%,#edffff4f 49%,#fff8 50%,#edffff26 52%,transparent 61%);transform:translateX(-70%);animation:glass-reflection 11s ease-in-out infinite;animation-delay:var(--delay)}.glass-piece.leaf{width:240px;height:240px;border-radius:100% 0 100% 0}.glass-piece.arc{width:260px;height:160px;border-radius:160px 160px 0 0;--tilt:18deg}.glass-piece.circle{width:105px;height:105px;border-radius:50%;--tilt:8deg}.glass-piece.bar{width:65px;height:260px;--tilt:28deg}.hero-glass .ice{left:-70px;top:20%;--delay:-3s}.hero-glass .arc{right:-115px;top:16%;--delay:-6s}.hero-glass .circle{left:17%;bottom:15%;--delay:-5s;background:linear-gradient(135deg,#e3e8e6,#82b4c6 40%,#24536e)}.hero-glass .deep{right:-65px;bottom:4%;--tilt:18deg;--delay:-1s;background:linear-gradient(140deg,#164761,#062437 60%,#80bfce)}.hero-glass .bar{left:3%;bottom:-100px;--delay:-7s}.date-section{padding:90px 24px 95px;text-align:center;background:linear-gradient(150deg,#fff,#f2f4f3);scroll-margin-top:20px}.date-section>.eyebrow{color:#516266;letter-spacing:.15em}.date-section h2{font-size:clamp(40px,5vw,62px);margin:20px 0 48px;color:#101b21}.event-details{display:flex;justify-content:center;align-items:center;gap:66px;text-align:left}.event-when{border-right:1px solid #c8d1d1;padding-right:66px}.event-when strong{font-size:80px;font-weight:400;letter-spacing:-.05em;line-height:1}.event-when strong span{font-size:42px;color:#62787c}.event-when p{font-size:14px;letter-spacing:.14em;color:#51656a;margin:15px 0 0}.event-where h3{font-size:23px;letter-spacing:-.02em;font-weight:700;margin:0 0 10px}.event-where p{font-size:17px;color:#536970;margin:0 0 24px}.directions{display:inline-flex;align-items:center;gap:30px;font-size:14px;text-decoration:none;padding:12px 0;border-bottom:1px solid #59767d;min-height:44px}.directions span{font-size:22px}.directions:hover{color:#08788d}.night-details{padding:100px max(6%,calc((100% - 1200px)/2));display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;overflow:hidden}.dresscode{position:relative}.dresscode .eyebrow{color:#a9c8d1}.dresscode h2{font-size:clamp(38px,4.4vw,67px);font-weight:900;line-height:1.03;letter-spacing:-.05em;margin:32px 0;color:#f0f5f4}.dresscode h2 em{font:700 italic 1.05em Georgia,serif;letter-spacing:-.04em;color:#c3d0d4}.dress-note{font-size:15px;line-height:1.7;color:#cadadd}.swatches{display:flex;flex-wrap:wrap;gap:17px;list-style:none;margin:28px 0 0;padding:0;position:relative;z-index:1}.swatches li{font-size:11px;display:grid;gap:12px;color:#e5ebec}.swatches i{display:block;background:linear-gradient(135deg,#ffffff50,transparent 50%,#0004),var(--swatch);width:52px;height:52px;border-radius:50%;box-shadow:inset 1px 2px 2px #fff5,0 2px 0 #8098a1,0 7px 12px #0008;border:1px solid #bdcbd080}.trama-detail{height:110px;margin-top:45px;width:88%;background:url('./assets/event-trama.webp') center/cover;opacity:.4;mask-image:linear-gradient(to right,#000,transparent)}.dj-flyer{height:610px;position:relative;background:#0b2d40;border:1px solid #c3d0d4;border-radius:160px 160px 8px 8px;box-shadow:inset 0 0 1px #fff,0 0 0 5px #526b79,0 0 0 7px #9caeb5,15px 25px 40px #0006;overflow:hidden}.dj-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:saturate(.78)}.dj-flyer:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#032437 0,#06435eaa 21%,transparent 65%)}.dj-caption{position:absolute;z-index:1;left:8%;right:8%;bottom:30px}.dj-caption img{width:100%;height:auto;max-height:145px;object-fit:contain;display:block;margin:18px 0}.dj-caption p:last-child{font-size:12px;letter-spacing:.3em;margin:22px 0 0;color:#d8e7eb}.rsvp-section{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:100px max(6%,calc((100% - 1200px)/2));background:#f3f5f4;color:#112a35;scroll-margin-top:0;overflow:hidden}.rsvp-intro{position:relative}.coco-mark{width:215px;height:auto;filter:brightness(.46) saturate(.85);margin-bottom:18px}.rsvp-intro h2{font-size:64px;margin:20px 0 36px;line-height:1}.rsvp-intro>p{font-size:15px;line-height:1.6;color:#435f68;margin:0}.deadline{display:block;font-size:84px;font-weight:400;letter-spacing:-.055em;line-height:1.2;margin-top:8px}.deadline span{font-size:.56em;font-weight:400;color:#587980}.rsvp-linework{height:160px;margin-top:50px;background:url('./assets/event-trama.webp') center/cover;opacity:.23;mask-image:linear-gradient(#000,transparent)}.form-panel{padding:18px 0 0;min-width:0}.panel-heading h2{font:900 30px/1.1 Archivo,sans-serif;letter-spacing:-.03em;margin:0 0 35px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{font-size:13px;font-weight:500;margin-bottom:23px}.field input,.field textarea{border:0;border-bottom:1px solid #8b9fa3;border-radius:0;background:transparent;color:#102c35;padding:14px 0 12px;font-family:Archivo,sans-serif;font-size:16px;box-shadow:none;margin-top:5px}.field input::placeholder,.field textarea::placeholder{color:#687f86;opacity:1}.field input:focus,.field textarea:focus{outline:2px solid #359daf;outline-offset:5px;border-color:#1c7d90}.optional{font-size:11px;margin-left:7px;color:#586f78;font-weight:400}.submit{position:relative;overflow:hidden;background:linear-gradient(115deg,#04384e,#09627b 52%,#034059);border:1px solid #6eacbd;border-radius:3px;box-shadow:inset 0 1px #efffff70,0 4px 0 #053247,0 9px 18px #0002;min-height:59px;font-size:14px;transition:filter .2s,transform .2s}.submit:hover{filter:brightness(1.15)}.submit:active{transform:translateY(2px)}.form-note{font-size:11px;line-height:1.5;color:#5d7077;margin:22px 0;text-align:center}.success{outline:none;padding:30px 0}.success-seal{display:block;font:56px Georgia,serif;color:#387083}.success h2{font:700 italic 40px Georgia,serif}.success .success-signature{font:italic 42px Georgia,serif}.success-back{font-size:14px;color:#064d65;text-underline-offset:6px}.night-footer{padding:55px 6% 30px}.night-footer>.eyebrow{text-align:center;color:#bfd2d7;font-size:10px}.providers{max-width:1150px;margin:35px auto 40px;display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.providers>div{display:grid;place-items:center;min-width:0}.providers a{display:grid;place-items:center;width:100%;height:115px;border-bottom:1px solid #b1cbd030;transition:background .2s;isolation:isolate}.providers a:hover{background:#aacddb12}.providers img{width:100%;height:100%;max-height:105px;object-fit:contain;mix-blend-mode:screen}.providers .castellano img{filter:brightness(0) invert(1);padding:24px 6px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding-top:26px;border-top:1px solid #c3d0d42c}.footer-bottom img{width:155px;height:auto}.footer-bottom span{font-size:10px;letter-spacing:.15em;color:#b6cdd6}
/* The loading screen uses the same materials with only the identity and status. */
.loading{overflow:hidden;padding:50px 24px;align-items:center;background-color:#071e2e}.loading-content{position:relative;z-index:2;width:min(100%,330px);max-width:330px}.loader-emblem{position:relative;padding:25px 20px 45px}.loader-emblem img{display:block;width:100%;height:auto;filter:drop-shadow(0 2px 1px #071e2e) drop-shadow(0 0 20px #99c1ca40)}#load-title{font:400 14px/1.7 Archivo,sans-serif;margin:0 auto 40px;max-width:260px;color:#dce6e8}.load-caption{display:flex;justify-content:space-between;gap:15px;font-size:11px;text-align:left}#load-detail{font-size:11px;color:#bed1d7}#load-percent{color:#dce8eb;font-variant-numeric:tabular-nums}.loading progress{height:2px;border:0;border-radius:0;background:#c3d0d435;margin:13px 0 25px}.loading progress::-webkit-progress-bar{background:#c3d0d435}.loading progress::-webkit-progress-value{background:linear-gradient(90deg,#35a6b7,#f1fafa);box-shadow:0 0 10px #aeefff}.loading progress::-moz-progress-bar{background:#c3d0d4}.loader-form-link{display:inline-block;padding:14px 0;color:#bed1d7;font-size:12px;text-underline-offset:5px}#camera-message:empty{display:none}#camera-message{font:13px/1.7 Archivo,sans-serif;color:white}#retry-camera{background:#bfd4dd;color:#082d3e;margin:12px 0;font-size:14px}.loader-glass{opacity:.85}.loader-glass .ice{width:120px;height:120px;left:12%;top:12%;--delay:-3s}.loader-glass .arc{width:170px;height:100px;right:-30px;top:18%;--delay:-5s}.loader-glass .circle{width:65px;height:65px;left:9%;bottom:20%;--delay:-4s}.loader-glass .deep{width:150px;height:150px;right:7%;bottom:8%;--delay:-7s}.loader-glass .bar{display:none}.scan-hint{position:fixed;z-index:4;left:50%;bottom:calc(100px + env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;gap:12px;max-width:calc(100% - 32px);width:max-content;padding:12px 18px;background:#082c40eb;color:white;border:1px solid #b6cbdc80;border-radius:5px;pointer-events:none;font-size:14px;box-shadow:0 8px 28px #0005}.scan-card-icon{display:block;width:34px;height:39px;border:1px solid #d5eaf0;transform:rotate(-8deg);padding:6px;flex-shrink:0}.scan-card-icon i{display:block;width:100%;height:100%;background:linear-gradient(135deg,#93c6db,#12658a);border-radius:100% 0 100% 0}.confirm-button{background:linear-gradient(115deg,#07476b,#09739f);border:1px solid #aecfd9;border-radius:4px;font:500 15px Archivo,sans-serif;box-shadow:inset 0 1px #fff6,0 6px 24px #0005}
@keyframes glass-float{0%,100%{transform:translate3d(0,0,0) rotate(var(--tilt))}50%{transform:translate3d(8px,-16px,25px) rotate(calc(var(--tilt) + 6deg))}}@keyframes glass-reflection{0%,25%{transform:translateX(-65%)}70%,100%{transform:translateX(65%)}}@keyframes ambient-light{50%{transform:translate3d(-6%,4%,0);opacity:.5}}@keyframes cue{50%{transform:translateY(5px);opacity:.65}}.is-offscreen *,.is-offscreen:before{animation-play-state:paused!important}
.loading{position:fixed;inset:0}.providers a{isolation:auto}.providers>div{isolation:auto}.providers img[src*="otro-rayo"]{mix-blend-mode:screen}
@media(min-width:1500px){.hero-glass .ice{left:6%}.hero-glass .arc{right:2%}.hero-glass .deep{right:5%}}
@media(max-width:760px){.night-hero{min-height:740px;min-height:94svh;padding:110px 16px 40px}.night-nav{padding:18px 6%;font-size:10px;gap:12px}.hero-display{font-size:clamp(43px,9.8vw,74px)}.event-signature{width:172px;margin-bottom:48px}.roman{font-size:42px;margin-top:42px}.hero-glass .ice{width:140px;height:140px;left:-90px;top:24%}.hero-glass .arc{width:150px;height:100px;right:-100px;top:12%}.hero-glass .circle{width:60px;height:60px;left:8%;bottom:12%}.hero-glass .deep{width:145px;height:145px;right:-100px;bottom:6%}.hero-glass .bar{height:160px;width:35px;left:-20px;bottom:-70px}.date-section{padding:65px 6%}.date-section h2{font-size:40px;margin-bottom:38px}.date-section>.eyebrow{font-size:10px}.event-details{gap:22px}.event-when{padding-right:22px}.event-when strong{font-size:56px}.event-when strong span{font-size:26px}.event-when p{font-size:12px}.event-where h3{font-size:16px;max-width:150px}.event-where p{font-size:14px;margin-bottom:15px}.directions{font-size:12px;gap:18px}.night-details{display:block;padding:65px 8%}.dresscode h2{font-size:49px;margin:24px 0}.dress-note{font-size:14px}.swatches{gap:14px}.swatches i{width:45px;height:45px}.swatches li{font-size:10px}.trama-detail{height:70px;margin-top:30px}.dj-flyer{margin-top:48px;height:510px;border-radius:120px 120px 5px 5px}.dj-caption .eyebrow{font-size:10px}.rsvp-section{display:block;padding:65px 8% 50px}.rsvp-intro{text-align:center}.coco-mark{width:185px;margin-bottom:0}.rsvp-intro h2{font-size:50px;margin:28px 0}.deadline{font-size:66px}.rsvp-linework{height:45px;max-width:230px;margin:25px auto 0}.form-panel{padding-top:40px}.panel-heading h2{font-size:26px}.field-pair{grid-template-columns:1fr;gap:0}.field{font-size:13px}.night-footer{padding:40px 7% 25px}.providers{grid-template-columns:1fr 1fr;gap:12px 28px;margin:25px auto 30px}.providers a{height:100px}.providers img{max-height:90px}.footer-bottom{gap:25px}.footer-bottom img{width:125px}.footer-bottom span{font-size:9px;line-height:1.8;text-align:right;max-width:140px}.loader-glass .ice{width:95px;height:95px;left:-35px;top:10%}.loader-glass .arc{width:115px;height:75px;right:-65px;top:15%}.loader-glass .circle{width:45px;height:45px;left:8%;bottom:12%}.loader-glass .deep{width:100px;height:100px;right:-45px;bottom:8%}.loader-emblem{padding-inline:35px}}
@media(max-width:360px){.event-details{gap:15px}.event-when{padding-right:15px}.event-when strong{font-size:46px}.event-where h3{font-size:14px}.dresscode h2{font-size:43px}.swatches{gap:11px}.swatches i{width:40px;height:40px}.dj-flyer{height:465px}.loading-content{max-width:275px}}
@media(max-height:600px){.loading{overflow:auto;padding:25px}.loader-emblem{max-width:220px;margin:auto;padding:10px 20px 20px}#load-title{margin-bottom:20px}.night-hero{min-height:650px}}
.night-footer .providers a,.night-footer .footer-bottom{border:0}.night-footer .providers{margin-top:0}.night-footer .providers img{clip-path:inset(2px)}
/* One typographic hierarchy for event information and RSVP. */
.date-section h2,.rsvp-intro h2,.panel-heading h2{font-family:Archivo,Arial,sans-serif;font-style:normal;font-weight:500;font-size:28px;line-height:1.25;letter-spacing:-.025em}
.date-section h2{margin:0 0 38px}.event-details{gap:44px;align-items:flex-start}.event-when{padding-right:44px;min-height:112px}.event-when strong,.event-where h3,.deadline{font-family:Archivo,Arial,sans-serif;font-size:24px;font-style:normal;font-weight:500;line-height:1.35;letter-spacing:-.02em}.event-when p,.event-where p{font-size:15px;line-height:1.6;letter-spacing:0;margin:10px 0 0}.event-where h3{margin:0;max-width:none}.directions{margin-top:14px;font-size:14px}.rsvp-intro h2{margin:28px 0 22px}.rsvp-intro>p{font-size:15px}.deadline{margin-top:8px}.panel-heading h2{font-size:24px;margin-bottom:32px}
@media(max-width:760px){.event-details{gap:25px;text-align:center;flex-direction:column;align-items:center}.event-when{border:0;min-height:0;padding:0 0 25px;width:min(100%,300px);border-bottom:1px solid #c8d1d1}.date-section h2{font-size:26px;margin-bottom:30px}.event-when strong,.event-where h3,.deadline{font-size:23px}.event-where p{font-size:15px}.directions{font-size:14px;gap:25px}.rsvp-intro h2{font-size:26px}.panel-heading h2{font-size:24px}}
.date-section{background:#edf2f2;padding:70px 6% 80px;color:#090e12}.date-section h2{max-width:920px;margin:0 auto 34px;text-align:left;font-size:38px;line-height:1.1;font-weight:900;letter-spacing:-.04em;color:#090e12}.date-section h2:after{content:'';display:block;width:46px;height:4px;background:#35a6b7;margin-top:20px}.event-details{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:920px;margin:auto;align-items:stretch}.event-when,.event-where{position:relative;padding:32px;border:1px solid #cbd5d6;border-top:4px solid #111820;min-height:240px;background:#fff;text-align:left;overflow:hidden}.event-when:before,.event-where:before{display:block;font-size:11px;letter-spacing:.16em;font-weight:700;color:#35494e;margin-bottom:20px}.event-when:before{content:'CUÁNDO'}.event-where:before{content:'DÓNDE'}.event-when strong,.event-where h3{display:block;font-size:30px;font-weight:900;line-height:1.15;letter-spacing:-.035em;color:#090e12}.event-when p,.event-where p{font-size:16px;font-weight:500;line-height:1.5;color:#35494e;margin-top:14px}.directions{background:#101b23;color:#fff;border:0;padding:11px 18px;margin-top:23px;font-size:13px;gap:28px;border-radius:2px}.directions:hover{background:#064d65;color:#fff}.directions span{font-size:18px}.event-when:after{content:'';position:absolute;right:-18px;bottom:-26px;width:125px;height:125px;border-radius:100% 0 100% 0;border:1px solid #bdd4d8;background:linear-gradient(135deg,#edf4f5,#d6e5e7);transform:rotate(-12deg);pointer-events:none}
@media(max-width:760px){.date-section{padding:50px 7%}.date-section h2{font-size:32px;margin-bottom:26px}.event-details{grid-template-columns:1fr;gap:18px}.event-when,.event-where{padding:26px;min-height:185px;width:100%;border-bottom:1px solid #cbd5d6}.event-when strong,.event-where h3{font-size:28px}.event-when:before,.event-where:before{margin-bottom:16px}.directions{font-size:14px}.event-when:after{width:100px;height:100px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.glass-piece,.glass-piece:after,.night-hero:before,.loading:before,.scroll-cue{animation:none!important}.glass-composition{transform:none;transition:none}.submit,.providers a{transition:none}}
/* Acompañantes: un bloque por persona, con las mismas líneas finas del formulario. */
.companion{margin:0 0 3px;padding-top:26px;border-top:1px solid #c8d1d1}.companion-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.companion-title{margin:0;font:700 11px/1.6 Archivo,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#35494e}.companion-remove{display:grid;place-items:center;flex:none;width:34px;height:34px;min-height:0;padding:0;border:1px solid #8b9fa3;border-radius:50%;background:transparent;color:#35494e;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.companion-remove:hover{background:#064d65;border-color:#064d65;color:#fff}.add-companion{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;margin:4px 0 30px;padding:13px;border:1px dashed #8b9fa3;border-radius:3px;background:transparent;color:#064d65;font:500 14px Archivo,sans-serif;cursor:pointer;transition:background .2s,border-color .2s}.add-companion:hover:not(:disabled){background:#e7efef;border-color:#1c7d90}.add-companion:disabled{opacity:.5;cursor:not-allowed}.add-companion:disabled svg{display:none}
@media(prefers-reduced-motion:reduce){.companion-remove,.add-companion{transition:none}}
