@charset "UTF-8";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--cream: #f5f0e8;--cream-dark: #ede5d5;--sage: #456038;--sage-light: #7a9469;--text: #3d3530;--text-light: #5a4f47;--gold: #b8965a;--white: #fefcf8;--body: #919191}html{scroll-behavior:smooth}app-root{display:block}body{background:var(--body);color:var(--text);font-family:EB Garamond,Georgia,serif;font-size:17px;line-height:1.7;overflow-x:clip}.page{position:relative;z-index:1;max-width:1100px;margin:0 auto;background:var(--cream);box-shadow:0 0 34px -4px #4e4e4e;overflow-x:clip}section{padding:70px 40px;position:relative}section+section{border-top:1px solid rgba(122,140,110,.25)}.floral-top,.floral-bottom{width:100%;overflow:hidden;line-height:0;pointer-events:none}.hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 40px;position:relative}.hero:before,.hero:after{content:"";position:absolute;width:220px;height:220px;background-size:contain;background-repeat:no-repeat;opacity:.85}.hero:before{top:10px;left:0;transform:rotate(100deg);background-image:url(/rama-1.png)}.hero:after{bottom:10px;right:-40px;transform:rotate(-30deg);background-image:url(/rama-2.png)}.banner{display:inline-block;position:relative;padding:10px 36px;margin-bottom:28px;color:var(--text-light);font-family:Cormorant Garamond,serif;font-size:1.1rem;letter-spacing:.12em;text-transform:uppercase}.banner:before,.banner:after{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--sage),transparent)}.banner:before{top:0}.banner:after{top:100%}.banner-border{border:1.5px solid var(--sage-light);border-radius:3px;padding:8px 32px}.couple-illustration{width:180px;height:180px;margin:0 auto 28px}.couple-illustration .ring-svg{animation:float 2.8s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(1deg)}}.couple-illustration .heart{animation:heartbeat 1.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes heartbeat{0%,to{transform:scale(1)}20%{transform:scale(1.45)}40%{transform:scale(1)}60%{transform:scale(1.2)}80%{transform:scale(1)}}.names{font-family:Great Vibes,cursive;font-size:clamp(3rem,10vw,4.5rem);color:var(--text);line-height:1.1;margin-bottom:12px}.tagline{font-family:EB Garamond,serif;font-style:italic;font-size:1.05rem;color:var(--text-light);max-width:420px;margin:0 auto 36px;line-height:1.8}.date-block{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:12px}.date-day-word{font-family:Cormorant Garamond,serif;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-light)}.date-number{font-family:Great Vibes,cursive;font-size:5rem;line-height:1;color:var(--text)}.date-right{text-align:left}.date-month{font-family:Cormorant Garamond,serif;font-size:.85rem;letter-spacing:.25em;text-transform:uppercase;color:var(--text-light);display:block}.date-time{font-family:Cormorant Garamond,serif;font-size:1.1rem;color:var(--text)}.ornament{display:flex;align-items:center;justify-content:center;gap:12px;margin:32px 0;color:var(--sage)}.ornament:before,.ornament:after{content:"";flex:1;height:1px;background:linear-gradient(to right,transparent,var(--sage-light),transparent)}.ornament span{font-size:1.2rem}.section-title{font-family:Great Vibes,cursive;font-size:2.6rem;color:var(--text);text-align:center;margin-bottom:8px}.section-subtitle{font-family:Cormorant Garamond,serif;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-light);text-align:center;margin-bottom:40px}.section-footer{font-family:Cormorant Garamond,serif;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-light);text-align:center;margin-top:40px}.countdown-section{background:var(--cream-dark);text-align:center}.countdown-grid{display:flex;justify-content:center;gap:24px;flex-wrap:wrap}.countdown-item{display:flex;flex-direction:column;align-items:center;min-width:70px}.countdown-number{font-family:Cormorant Garamond,serif;font-size:3.2rem;font-weight:300;color:var(--text);line-height:1;min-width:2.5ch}.countdown-label{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-light);margin-top:6px}.countdown-sep{font-family:Cormorant Garamond,serif;font-size:2.5rem;color:var(--sage-light);align-self:flex-start;padding-top:8px}.guest-box{background:var(--white);border:1px solid var(--sage-light);border-radius:4px;padding:28px 32px;text-align:center;margin-bottom:36px}.guest-box h3{font-family:Cormorant Garamond,serif;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sage);margin-bottom:12px}.guest-names{font-family:EB Garamond,serif;font-size:1.1rem;color:var(--text);list-style:none}.guest-names li{padding:2px 0}.audio-player{display:flex;justify-content:center;margin-bottom:36px}.audio-player audio{width:100%;max-width:420px;height:36px;border-radius:20px;outline:none}.audio-player audio::-webkit-media-controls-panel{background:var(--cream-dark)}.audio-player audio::-webkit-media-controls-play-button,.audio-player audio::-webkit-media-controls-mute-button{filter:invert(30%) sepia(20%) saturate(500%) hue-rotate(70deg)}.audio-player audio::-webkit-media-controls-playback-rate-button,.audio-player audio::-internal-media-controls-playback-rate-button{display:none}.event-cards{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.event-card{background:var(--white);border:1px solid rgba(122,140,110,.3);border-radius:4px;padding:32px 28px;text-align:center;position:relative;overflow:hidden}.event-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--sage-light),var(--gold),var(--sage-light))}.event-type{font-family:Cormorant Garamond,serif;font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;color:var(--sage);margin-bottom:16px}.event-card h3{font-family:Great Vibes,cursive;font-size:2rem;color:var(--text);margin-bottom:20px}.event-info{list-style:none}.event-info li{padding:8px 0;border-bottom:1px solid rgba(122,140,110,.15);font-size:.95rem}.event-info li:last-child{border-bottom:none}.event-info a{color:var(--text);text-decoration:none;border-bottom:1px solid var(--sage-light);transition:border-color .2s,color .2s}.event-info a:hover{color:var(--sage);border-bottom-color:var(--sage)}.info-label{display:block;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-light);margin-bottom:2px}.event-card--combined{text-align:center}.event-shared-date{font-family:Cormorant Garamond,serif;font-size:1rem;color:var(--text);margin-bottom:28px}.event-shared-date .info-label{display:block}.event-split{display:grid;grid-template-columns:1fr auto 1fr;gap:0;margin-bottom:32px}.event-split__col{padding:0 28px}.event-split__divider{width:1px;background:linear-gradient(to bottom,transparent,rgba(122,140,110,.4),transparent);align-self:stretch}@media (max-width: 560px){.event-split{grid-template-columns:1fr;grid-template-rows:auto auto auto}.event-split__col{padding:0 0 24px}.event-split__col:last-child{padding:24px 0 0}.event-split__divider{width:auto;height:1px;background:linear-gradient(to right,transparent,rgba(122,140,110,.4),transparent)}}.rsvp-form-wrap{border-top:1px solid rgba(122,140,110,.25);margin-top:8px;padding-top:28px}.rsvp-title{font-family:Cormorant Garamond,serif;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-light);margin-bottom:20px}.rsvp-person{background:var(--white);border:1px solid rgba(122,140,110,.25);border-radius:4px;padding:16px;margin-bottom:12px;display:flex;flex-direction:column;gap:10px}.rsvp-row{display:flex;gap:10px;align-items:center;margin-bottom:0}.rsvp-textarea{width:100%;min-height:60px;padding:9px 14px;border:1px solid rgba(122,140,110,.4);border-radius:2px;background:var(--cream);font-family:EB Garamond,serif;font-size:1rem;color:var(--text);outline:none;resize:vertical;transition:border-color .2s}.rsvp-textarea:focus{border-color:var(--sage)}.rsvp-shared{margin-top:20px;display:flex;flex-direction:column;gap:12px}.rsvp-field-label{display:block;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-light);margin-bottom:4px}.rsvp-input{flex:1;padding:9px 14px;border:1px solid rgba(122,140,110,.4);border-radius:2px;background:var(--cream);font-family:EB Garamond,serif;font-size:1rem;color:var(--text);outline:none;transition:border-color .2s}.rsvp-input:focus{border-color:var(--sage)}.rsvp-select{padding:9px 10px;border:1px solid rgba(122,140,110,.4);border-radius:2px;background:var(--cream);font-family:EB Garamond,serif;font-size:.95rem;color:var(--text);outline:none;cursor:pointer;transition:border-color .2s}.rsvp-select:focus{border-color:var(--sage)}.rsvp-remove{background:none;border:1px solid rgba(122,140,110,.3);border-radius:2px;color:var(--text-light);font-size:1rem;line-height:1;padding:8px 10px;cursor:pointer;transition:all .2s}.rsvp-remove:hover{border-color:var(--sage);color:var(--text)}.rsvp-add{display:block;background:none;border:none;font-family:Cormorant Garamond,serif;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--sage);cursor:pointer;padding:4px 0;margin-bottom:20px;transition:color .2s}.rsvp-add:hover{color:var(--text)}.rsvp-submit{display:block;width:100%;margin-top:0}.rsvp-success{font-family:Great Vibes,cursive;font-size:1.8rem;color:var(--sage);padding:12px 0 4px}@media (max-width: 560px){.rsvp-row{flex-wrap:wrap}.rsvp-select{flex:1}}.btn{display:inline-block;margin-top:16px;padding:9px 24px;border:1.5px solid var(--sage);border-radius:2px;font-family:Cormorant Garamond,serif;font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;color:var(--sage);text-decoration:none;cursor:pointer;background:transparent;transition:all .3s ease}.btn:hover,.btn-primary{background:var(--sage);color:var(--white)}.btn-primary:hover{background:#344a2a;border-color:#344a2a}.btn-full{width:100%}.btn-full-mt{width:100%;margin-top:20px}.gallery-section{background:var(--cream-dark)}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.gallery-item{aspect-ratio:1;background:var(--cream);border:1px solid rgba(122,140,110,.2);display:flex;align-items:center;justify-content:center;border-radius:2px;overflow:hidden;position:relative}.gallery-item img{width:100%;height:100%;object-fit:cover}.gallery-placeholder{color:var(--sage-light);font-family:Cormorant Garamond,serif;font-style:italic;font-size:.9rem}.gallery-item:first-child{grid-column:span 2;aspect-ratio:16/7}.extras-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));text-align:center}.extra-card{padding:28px 20px;border:1px solid rgba(122,140,110,.25);border-radius:4px;background:var(--white)}.extra-icon{font-size:1.8rem;margin-bottom:12px}.extra-card h3{font-family:Cormorant Garamond,serif;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sage);margin-bottom:8px}.extra-card p{font-size:.9rem;color:var(--text-light);line-height:1.5}.social-section{text-align:center;background:var(--cream-dark)}.hashtag{font-family:Great Vibes,cursive;font-size:2.8rem;color:var(--sage);display:block;margin:16px 0}.invitados-note{text-align:center;font-style:italic;color:var(--text-light);font-size:.95rem}.social-note{font-style:italic;color:var(--text-light);margin-bottom:8px}.social-section .btn-primary{margin-top:4px}.sticky-nav{position:fixed;bottom:0;left:0;right:0;z-index:100}.sticky-nav .sticky-nav__body{max-width:1100px;margin:0 auto;background:#f5f0e8f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid rgba(122,140,110,.3);padding:10px 20px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.sticky-nav .sticky-nav__body a{font-family:Cormorant Garamond,serif;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sage);text-decoration:none;padding:6px 12px;border:1px solid transparent;border-radius:2px;transition:border-color .2s}.sticky-nav .sticky-nav__body a:hover{border-color:var(--sage-light)}.closing{text-align:center;padding-bottom:100px}.closing .names{font-size:clamp(2.5rem,8vw,3.8rem)}.closing-subtitle{margin-top:12px;margin-bottom:32px}.closing-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.closing-note{margin-top:56px;font-size:.75rem;color:var(--text-light);letter-spacing:.08em}.modal-overlay{position:fixed;inset:0;z-index:200;background:#3d353080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:20px}.modal-overlay.open{display:flex}.modal{background:var(--white);border:1px solid var(--sage-light);border-radius:4px;padding:40px 36px;max-width:420px;width:100%;position:relative;text-align:center}.modal-close{position:absolute;top:14px;right:18px;background:none;border:none;font-size:1.4rem;color:var(--text-light);cursor:pointer}.modal h2{font-family:Great Vibes,cursive;font-size:2.2rem;color:var(--text);margin-bottom:20px}.modal-subtitle{font-size:.9rem;color:var(--text-light);margin-bottom:24px}.modal-body{font-size:1rem;color:var(--text-light);line-height:1.8}.modal-body-spaced{margin-bottom:16px}.text-dark{color:var(--text)}.bank-account{font-family:Cormorant Garamond,serif;font-size:1.1rem;color:var(--text);letter-spacing:.05em}.bank-account-name{font-size:.85rem;color:var(--text-light)}.form-group{margin-bottom:16px;text-align:left}.form-group label{display:block;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-light);margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:1px solid rgba(122,140,110,.4);border-radius:2px;background:var(--cream);font-family:EB Garamond,serif;font-size:1rem;color:var(--text);outline:none;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--sage)}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero>*{animation:fadeUp .8s ease both}.hero .banner{animation-delay:.1s}.hero .couple-illustration{animation-delay:.25s}.hero .names{animation-delay:.4s}.hero .tagline{animation-delay:.55s}.hero .date-block{animation-delay:.7s}@media (max-width: 768px){section{padding:60px 32px}.hero{padding:60px 32px}.hero:before,.hero:after{width:160px;height:160px}.hero:after{right:-16px}.section-title{font-size:2.2rem}.date-number{font-size:4rem}.countdown-number{font-size:2.6rem}.event-cards,.extras-grid{grid-template-columns:1fr}}@media (max-width: 480px){section{padding:48px 20px}.hero{padding:48px 20px}.hero:before,.hero:after{width:110px;height:110px;opacity:.55}.hero:before{left:-6px}.hero:after{right:-20px;bottom:2px}.banner{padding:10px 20px}.banner-border{padding:6px 16px}.section-title{font-size:2rem}.tagline{font-size:1.2rem}.date-number{font-size:3.5rem}.countdown-grid{gap:12px}.countdown-number{font-size:2.2rem}.countdown-sep{font-size:2rem}.guest-box{padding:20px 16px}.event-cards{grid-template-columns:1fr}.event-card{padding:24px 20px}.extras-grid,.gallery-grid{grid-template-columns:1fr}.gallery-item:first-child{grid-column:span 1;aspect-ratio:16/9}.closing-actions{flex-direction:column;align-items:center}.modal{padding:28px 20px}.sticky-nav .sticky-nav__body{gap:4px;padding:8px 10px}.sticky-nav .sticky-nav__body a{font-size:.68rem;padding:5px 8px;letter-spacing:.08em}}
