*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--cream:#f4efe8;--cream2:#ede6db;--dark:#1c1c1a;--charcoal:#2e2e2c;--olive:#4a5c3f;--olive2:#3a4a31;--warm:#8c7355;--light-text:#f0ebe3}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--dark);font-family:Montserrat,sans-serif;font-weight:300;overflow-x:hidden}#lang-toggle{z-index:1000;border:1px solid var(--dark);background:var(--cream);gap:0;display:flex;position:fixed;top:20px;right:24px}#lang-toggle button{cursor:pointer;opacity:.45;filter:grayscale(60%);background:0 0;border:none;padding:6px 12px;font-size:18px;line-height:1;transition:opacity .2s,filter .2s,background .2s}#lang-toggle button.active{background:var(--dark);opacity:1;filter:grayscale(0%)}nav{z-index:999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f4efe8eb;border-bottom:1px solid #1c1c1a14;justify-content:center;align-items:center;width:100%;padding:18px 40px;transition:padding .3s;display:flex;position:fixed;top:0;left:0}nav ul{gap:36px;list-style:none;display:flex}nav ul li a{color:var(--dark);letter-spacing:.18em;text-transform:uppercase;font-size:10px;font-weight:500;text-decoration:none;transition:color .2s}nav ul li a:hover{color:var(--olive)}#hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:120px 40px 80px;display:flex;position:relative;overflow:hidden}#hero:before{content:"";pointer-events:none;background:radial-gradient(at 50% 60%,#4a5c3f0f 0%,#0000 70%);position:absolute;inset:0}.monogram{letter-spacing:-.02em;color:var(--dark);margin-bottom:32px;font-family:Cormorant Garamond,serif;font-size:clamp(64px,12vw,120px);font-weight:300;line-height:1}.hero-names{letter-spacing:.22em;text-transform:uppercase;margin-bottom:28px;font-family:Cormorant Garamond,serif;font-size:clamp(28px,6vw,56px);font-weight:500}.hero-date-line{justify-content:center;align-items:center;gap:20px;margin-bottom:8px;display:flex}.hero-date-line .rule{background:var(--dark);flex:1;max-width:80px;height:1px}.hero-date-label{letter-spacing:.28em;text-transform:uppercase;font-size:11px}.hero-date-number{margin:4px 0;font-family:Cormorant Garamond,serif;font-size:clamp(52px,10vw,100px);font-weight:300;line-height:.9}.hero-date-row{justify-content:center;align-items:flex-end;gap:32px;margin-bottom:12px;display:flex}.hero-date-side{letter-spacing:.2em;text-transform:uppercase;padding-bottom:8px;font-size:11px}.hero-date-side span{border-top:1px solid var(--dark);margin-top:2px;padding-top:4px;display:block}.hero-subtitle{letter-spacing:.18em;text-transform:uppercase;color:var(--warm);margin-top:20px;font-size:12px}.hero-adults{letter-spacing:.12em;color:var(--charcoal);opacity:.7;margin-top:28px;font-size:11px;font-style:italic}#countdown{justify-content:center;gap:32px;margin-top:48px;display:flex}.countdown-unit{text-align:center}.countdown-num{font-family:Cormorant Garamond,serif;font-size:clamp(36px,6vw,60px);font-weight:300;line-height:1;display:block}.countdown-label{letter-spacing:.22em;text-transform:uppercase;color:var(--warm);margin-top:6px;font-size:9px;display:block}.countdown-sep{color:var(--warm);opacity:.5;align-self:center;margin-bottom:16px;font-family:Cormorant Garamond,serif;font-size:48px;font-weight:300}.scroll-cue{opacity:.4;flex-direction:column;align-items:center;gap:8px;margin-top:60px;animation:2s ease-in-out infinite bobble;display:flex}.scroll-cue span{letter-spacing:.2em;text-transform:uppercase;font-size:9px}.scroll-cue svg{width:18px}@keyframes bobble{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}section{padding:100px 40px}.section-inner{max-width:860px;margin:0 auto}.section-label{letter-spacing:.3em;text-transform:uppercase;color:var(--warm);margin-bottom:16px;font-size:10px}.section-title{letter-spacing:.1em;text-transform:uppercase;margin-bottom:40px;font-family:Cormorant Garamond,serif;font-size:clamp(32px,5vw,52px);font-weight:400;line-height:1.1}.divider{background:var(--olive);width:48px;height:1px;margin:24px auto}.divider.left{margin-left:0}#story{background:var(--dark);color:var(--light-text)}#story .section-label{color:var(--olive)}#story .section-title{color:var(--light-text)}#story .divider{background:var(--olive)}.story-text{opacity:.88;max-width:680px;font-size:15px;line-height:1.9}.story-text p+p{margin-top:20px}.story-15{color:var(--olive);opacity:.15;pointer-events:none;letter-spacing:-.04em;font-family:Cormorant Garamond,serif;font-size:clamp(80px,18vw,180px);font-weight:300;line-height:1;position:absolute;top:50%;right:-20px;transform:translateY(-50%)}#story .section-inner{position:relative}#schedule{background:var(--cream)}.schedule-grid{background:#1c1c1a1f;grid-template-columns:1fr 1fr 1fr;gap:1px;margin-top:48px;display:grid}.schedule-item{background:var(--cream);text-align:center;padding:48px 36px}.schedule-item:nth-child(2){background:var(--dark);color:var(--light-text)}.schedule-item:nth-child(2) .sch-type{color:var(--olive)}.schedule-item:nth-child(2) .sch-venue{opacity:.7}.schedule-item:nth-child(2) .sch-divider{background:var(--olive)}.sch-type{letter-spacing:.3em;text-transform:uppercase;color:var(--warm);margin-bottom:20px;font-size:10px}.sch-time{margin-bottom:8px;font-family:Cormorant Garamond,serif;font-size:52px;font-weight:300;line-height:1}.sch-ampm{letter-spacing:.1em;margin-bottom:20px;font-size:13px;font-weight:400}.sch-divider{background:var(--warm);width:32px;height:1px;margin:0 auto 20px}.sch-venue{margin-bottom:8px;font-family:Cormorant Garamond,serif;font-size:18px;font-style:italic;line-height:1.4}.sch-address{letter-spacing:.06em;opacity:.55;font-size:11px;line-height:1.6}.schedule-note{text-align:center;letter-spacing:.08em;opacity:.6;margin-top:28px;font-size:12px;font-style:italic}.map-btn{letter-spacing:.2em;text-transform:uppercase;color:inherit;border:1px solid;margin-top:16px;padding:8px 20px;font-size:9px;text-decoration:none;transition:background .2s,color .2s;display:inline-block}.map-btn:hover{background:var(--dark);color:var(--cream)}.schedule-item:nth-child(2) .map-btn:hover{background:var(--cream);color:var(--dark)}#dresscode{background:var(--cream2)}.dress-grid{grid-template-columns:1fr 1fr;gap:48px;margin-top:48px;display:grid}.dress-card{text-align:center;background:var(--cream);border:1px solid #1c1c1a1f;padding:48px 32px;position:relative}.dress-icon{margin-bottom:20px;font-size:48px}.dress-who{letter-spacing:.3em;text-transform:uppercase;color:var(--warm);margin-bottom:10px;font-size:10px}.dress-what{margin-bottom:20px;font-family:Cormorant Garamond,serif;font-size:28px;font-weight:400}.dress-link{border:1px solid var(--dark);letter-spacing:.2em;text-transform:uppercase;color:var(--dark);padding:8px 24px;font-size:9px;text-decoration:none;transition:background .2s,color .2s;display:inline-block}.dress-link:hover{background:var(--dark);color:var(--cream)}.reserved-colors{border:1px solid var(--dark);text-align:center;margin-top:48px;padding:32px}.reserved-label{letter-spacing:.28em;text-transform:uppercase;color:var(--dark);margin-bottom:16px;font-size:10px;font-weight:500}.color-swatches{flex-wrap:wrap;justify-content:center;gap:20px;margin-top:12px;display:flex}.swatch{flex-direction:column;align-items:center;gap:6px;display:flex}.swatch-dot{border:1px solid #1c1c1a33;border-radius:50%;width:32px;height:32px}.swatch-name{letter-spacing:.14em;text-transform:uppercase;font-size:9px}#accommodation{background:var(--dark);color:var(--light-text)}#accommodation .section-label{color:var(--olive)}#accommodation .section-title{color:var(--light-text)}#accommodation .divider{background:var(--olive)}.accom-inner{grid-template-columns:1fr 1fr;gap:40px;margin-top:48px;display:grid}.accom-card{border:1px solid #f0ebe31f;padding:40px 32px}.accom-option{letter-spacing:.28em;text-transform:uppercase;color:var(--olive);margin-bottom:16px;font-size:9px}.accom-hotel{color:var(--light-text);margin-bottom:12px;font-family:Cormorant Garamond,serif;font-size:26px;font-weight:400}.accom-text{opacity:.72;margin-bottom:24px;font-size:13px;line-height:1.8}.accom-code{border:1px solid var(--olive);letter-spacing:.12em;color:var(--olive);cursor:pointer;margin-bottom:24px;padding:10px 24px;font-size:13px;font-weight:500;transition:background .2s,color .2s;display:inline-block}.accom-code:hover{background:var(--olive);color:var(--cream)}.accom-btn{background:var(--olive);color:var(--cream);letter-spacing:.2em;text-transform:uppercase;padding:12px 28px;font-size:10px;text-decoration:none;transition:background .2s;display:inline-block}.accom-btn:hover{background:var(--olive2)}.accom-contact{opacity:.65;margin-top:20px;font-size:12px;line-height:2}.accom-contact a{color:var(--light-text);opacity:.8}.accom-note{opacity:.6;border:1px solid #f0ebe31a;grid-column:1/-1;margin-top:40px;padding:24px;font-size:12px;font-style:italic;line-height:1.8}#beauty{background:var(--cream2)}.beauty-grid{grid-template-columns:1fr 1fr;gap:48px;margin-top:48px;display:grid}.beauty-section-title{margin-bottom:8px;font-family:Cormorant Garamond,serif;font-size:28px;font-weight:400}.beauty-desc{opacity:.7;margin-bottom:28px;font-size:13px;line-height:1.8}.beauty-list{flex-direction:column;gap:10px;list-style:none;display:flex}.beauty-list li a{color:var(--dark);letter-spacing:.05em;align-items:center;gap:10px;font-size:13px;text-decoration:none;transition:color .2s;display:flex}.beauty-list li a:hover{color:var(--olive)}.beauty-list li a:before{content:"";background:var(--warm);flex-shrink:0;width:20px;height:1px;display:inline-block}.ig-handle{opacity:.5;margin-left:4px;font-size:11px}#wishingwell{background:var(--cream)}.wish-inner{grid-template-columns:1fr 1fr;align-items:start;gap:60px;margin-top:48px;display:grid}.wish-text{margin-bottom:24px;font-family:Cormorant Garamond,serif;font-size:24px;font-style:italic;font-weight:300;line-height:1.7}.wish-sub{opacity:.65;margin-bottom:16px;font-size:13px;line-height:1.8}.wish-sub:last-of-type{margin-bottom:0}.wise-cards{flex-direction:column;gap:24px;display:flex}.bank-toggle{gap:12px;display:flex}.bank-toggle button{letter-spacing:.08em;text-transform:uppercase;color:var(--dark);cursor:pointer;background:0 0;border:1px solid #1c1c1a26;flex:1;justify-content:center;align-items:center;gap:8px;padding:14px 16px;font-family:Montserrat,sans-serif;font-size:11px;transition:background .2s,border-color .2s,color .2s;display:flex}.bank-toggle button:hover{border-color:var(--olive);background:#4a5c3f0f}.bank-toggle button.active{background:var(--dark);border-color:var(--dark);color:var(--cream)}.bank-toggle-icon{font-size:15px}.wise-card{background:var(--dark);color:var(--light-text);padding:40px 32px}.wise-title{letter-spacing:.3em;text-transform:uppercase;color:var(--olive);margin-bottom:20px;font-size:9px}.wise-bank{color:var(--light-text);margin-bottom:24px;font-family:Cormorant Garamond,serif;font-size:24px;font-weight:400}.wise-detail{opacity:.7;font-size:12px;line-height:2.2}.wise-detail strong{color:var(--light-text);opacity:1;min-width:140px;font-weight:500;display:inline-block}.copy-btn{color:var(--light-text);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #f0ebe333;align-items:center;gap:8px;margin-top:24px;padding:10px 20px;font-family:Montserrat,sans-serif;font-size:9px;transition:border-color .2s,background .2s;display:inline-flex}.copy-btn:hover{border-color:var(--olive);background:#ffffff0f}.copy-msg{color:var(--olive);margin-top:8px;font-size:11px;display:none}#rsvp{background:var(--olive);color:var(--cream);text-align:center;padding:120px 40px}#rsvp .monogram-sm{color:#f4efe826;margin-bottom:20px;font-family:Cormorant Garamond,serif;font-size:64px;font-weight:300}#rsvp .rsvp-quote{opacity:.9;max-width:600px;margin:0 auto 40px;font-family:Cormorant Garamond,serif;font-size:clamp(20px,4vw,34px);font-style:italic;font-weight:300;line-height:1.6}.rsvp-btn{border:1px solid var(--cream);color:var(--cream);letter-spacing:.28em;text-transform:uppercase;padding:18px 56px;font-size:11px;text-decoration:none;transition:background .25s,color .25s;display:inline-block}.rsvp-btn:hover{background:var(--cream);color:var(--olive)}.rsvp-deadline{letter-spacing:.1em;opacity:.6;margin-top:24px;font-size:11px}footer{background:var(--dark);color:var(--light-text);text-align:center;padding:48px 40px}.footer-mono{opacity:.2;margin-bottom:16px;font-family:Cormorant Garamond,serif;font-size:40px;font-weight:300}.footer-text{letter-spacing:.14em;opacity:.4;font-size:11px}@media (max-width:768px){nav ul{gap:18px}nav ul li a{font-size:9px}.schedule-grid,.dress-grid,.accom-inner,.beauty-grid,.wish-inner{grid-template-columns:1fr}#countdown{gap:16px}.countdown-sep{font-size:32px}}[data-lang=es],.es [data-lang=en]{display:none}.es [data-lang=es]{display:revert}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);transform:translateY(36px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}nav{transition:padding .4s cubic-bezier(.22,1,.36,1),box-shadow .4s}nav.scrolled{padding:10px 40px;box-shadow:0 2px 24px #1c1c1a14}nav ul li a{transition:color .25s;position:relative}nav ul li a:after{content:"";background:var(--olive);width:0;height:1px;transition:width .3s cubic-bezier(.22,1,.36,1);position:absolute;bottom:-3px;left:0}nav ul li a:hover:after{width:100%}.dress-card{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s}.dress-card:hover{transform:translateY(-6px);box-shadow:0 16px 48px #1c1c1a1a}.accom-card{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s}.accom-card:hover{transform:translateY(-5px);box-shadow:0 14px 40px #0003}.schedule-item{transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s}.schedule-item:hover{z-index:1;position:relative;transform:translateY(-4px);box-shadow:0 12px 36px #1c1c1a1a}.map-btn,.dress-link,.accom-btn,.rsvp-btn{transition:background .3s cubic-bezier(.22,1,.36,1),color .3s,transform .25s cubic-bezier(.22,1,.36,1),box-shadow .3s}.map-btn:hover,.dress-link:hover{transform:translateY(-2px);box-shadow:0 4px 14px #1c1c1a1f}.rsvp-btn:hover{transform:translateY(-3px);box-shadow:0 8px 24px #f4efe833}.accom-btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px #4a5c3f40}.accom-code{transition:background .3s,color .3s,transform .25s}.accom-code:hover{transform:scale(1.03)}.copy-btn{transition:background .3s,border-color .3s,transform .25s}.copy-btn:hover{transform:translateY(-2px)}.beauty-list li a{transition:color .25s,transform .25s cubic-bezier(.22,1,.36,1)}.beauty-list li a:hover{color:var(--olive);transform:translate(6px)}.beauty-list li a:before{transition:width .3s cubic-bezier(.22,1,.36,1),background .25s}.beauty-list li a:hover:before{background:var(--olive);width:28px}.swatch-dot{transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s}.swatch:hover .swatch-dot{transform:scale(1.2);box-shadow:0 4px 12px #1c1c1a2e}.countdown-num{transition:transform .15s;display:inline-block}section{transition:background .6s}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}.dress-card:hover,.accom-card:hover,.schedule-item:hover{transform:none}}
