:root{--burgundy:#3b0610;--wine:#6e1027;--deep:#170006;--gold:#d6ad61;--champagne:#f3dfb5;--ivory:#fff4de}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--deep);color:var(--champagne);font-family:Georgia,serif}body.locked{overflow:hidden}.en{display:inline}.es{display:none}body[data-lang="es"] .en{display:none}body[data-lang="es"] .es{display:inline}img{max-width:100%;display:block}.opening{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:radial-gradient(circle at 50% 20%,#7b1730,#24030b 52%,#080003);transition:opacity 1s}.opening.opened{opacity:0;pointer-events:none}.opening-glow{position:absolute;inset:0;background:url('assets/velvet-candles.jpg') center/cover;opacity:.26;filter:blur(2px)}.envelope{position:relative;width:min(520px,86vw);height:330px;border:1px solid #d6ad6188;background:linear-gradient(145deg,#5d0a1b,#2a020a);box-shadow:0 30px 90px #000a;color:var(--champagne);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;font-family:Georgia,serif;cursor:pointer;overflow:hidden}.envelope:before,.envelope:after{content:'';position:absolute;inset:0;background:linear-gradient(140deg,transparent 49%,#d6ad6150 50%,transparent 51%)}.envelope:after{transform:scaleX(-1)}.flap{position:absolute;top:0;left:0;right:0;height:170px;background:#4c0716;clip-path:polygon(0 0,100% 0,50% 100%);border-bottom:1px solid #d6ad6177}.seal{z-index:2;width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#30040e;font-weight:700;box-shadow:0 8px 22px #0006}.envelope strong{z-index:2;font-size:54px}.envelope small,.envelope em{z-index:2;text-transform:uppercase;letter-spacing:.18em;font-size:12px}header{position:fixed;z-index:30;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:26px 5vw;color:var(--champagne);background:linear-gradient(#0009,#0000)}.brand{text-decoration:none;font-size:24px;color:var(--champagne)}.brand small{display:block;font-size:10px;letter-spacing:.25em}.main-nav{display:flex;gap:28px}.main-nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font:700 12px Arial,sans-serif}.language button,.menu-toggle{background:none;color:var(--champagne);border:0;font:700 12px Arial;letter-spacing:.18em;cursor:pointer}.language button.active{border-bottom:1px solid var(--gold)}.menu-toggle{display:none}.hero{position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden;text-align:center}.hero-photo{position:absolute;inset:0;background:linear-gradient(#0002,#20000666 48%,#170006),url('assets/hero-ballroom.jpg') center/cover;filter:saturate(1.08);transform:scale(1.03)}.curtain{position:absolute;top:0;bottom:0;width:24%;background:linear-gradient(90deg,#230007,#79132a 20%,#33000c 42%,#851733 65%,#1b0005);box-shadow:0 0 60px #000a;z-index:1}.curtain.left{left:0;border-right:3px solid #d6ad6177}.curtain.right{right:0;transform:scaleX(-1);border-left:3px solid #d6ad6177}.hero-content{position:relative;z-index:2;width:min(840px,90vw);margin-top:14vh;padding:52px 38px;background:linear-gradient(#2d030c60,#12000455);border:1px solid #d6ad6170;box-shadow:0 20px 80px #0008;backdrop-filter:blur(1px)}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.25em;font:700 12px Arial,sans-serif;color:#f7dfac}.crown{font-size:38px;color:var(--gold)}h1{font-size:clamp(72px,13vw,158px);line-height:.82;margin:14px 0;color:#fff4d7;text-shadow:0 7px 30px #000}.script-title{font-size:clamp(30px,5vw,58px);font-style:italic;color:var(--gold);margin:0}.ornament{display:flex;align-items:center;justify-content:center;gap:16px;margin:22px 0}.ornament i{height:1px;width:90px;background:#d6ad6188}.hero-date{text-transform:uppercase;letter-spacing:.18em}.gold-button,.music-button{display:inline-block;margin:20px 8px 0;padding:17px 28px;background:linear-gradient(#f0cf82,#bd853e);color:#210006;border:0;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font:700 12px Arial,sans-serif;border-radius:3px}.music-button{cursor:pointer}.countdown-section{padding:80px 5vw;text-align:center;background:radial-gradient(circle at 30% 0,#75112d,#250006 65%)}.countdown{display:flex;justify-content:center;gap:min(6vw,82px);flex-wrap:wrap}.countdown strong{display:block;font-size:60px;color:var(--gold);font-weight:400}.countdown span{text-transform:uppercase;letter-spacing:.15em;font:700 11px Arial}.story,.timeline-section{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;padding:110px 7vw;background:#250006}.photo-stack{display:grid;grid-template-columns:1fr 1fr;gap:20px}.photo-stack img,.timeline-photo img{border:1px solid #d6ad6170;box-shadow:0 30px 70px #0008}.photo-stack img:first-child{grid-column:1/3}.copy h2,.details h2,.timeline-copy h2,.dress h2,.gallery h2,.rsvp h2{font-size:clamp(38px,5.5vw,76px);line-height:1;margin:16px 0;color:#fff1cd}.copy p,.dress p,.rsvp p{font-size:18px;line-height:1.8;color:#f3dfb5}.section-number{font:700 12px Arial;letter-spacing:.25em;color:var(--gold)}.details{padding:110px 7vw;text-align:center;background:#140005}.event-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:44px 0}.event-cards article{border:1px solid #d6ad6163;background:linear-gradient(#4d0718,#260006);padding:42px 24px}.event-cards .featured{transform:translateY(-18px);box-shadow:0 30px 80px #0007}.event-cards span{font-size:34px;color:var(--gold)}.event-cards h3{font-size:30px;color:#fff1cf}.event-cards small{display:block;margin:8px;color:#e7ca91}.text-link{color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font:700 12px Arial}.timeline-section{background:#2d030c}.timeline div{display:flex;gap:22px;border-bottom:1px solid #d6ad613a;padding:18px 0}.timeline time{min-width:76px;color:var(--gold);font-size:20px}.timeline b{display:block;color:#fff4d7}.timeline small{color:#dfc48d}.dress{text-align:center;padding:100px 7vw;background:linear-gradient(#240006aa,#240006cc),url('assets/table-setting.jpg') center/cover}.dress-inner{max-width:850px;margin:auto;padding:50px;border:1px solid #d6ad6170;background:#180005aa}.swatches{display:flex;justify-content:center;gap:16px}.swatches i{width:62px;height:62px;border-radius:50%;border:3px solid #d6ad61}.swatches i:nth-child(1){background:#2b0209}.swatches i:nth-child(2){background:#6e1027}.swatches i:nth-child(3){background:#d6ad61}.swatches i:nth-child(4){background:#fff1cd}.gallery{padding:110px 7vw;text-align:center;background:#160005}.gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:40px}.gallery-grid img{height:260px;width:100%;object-fit:cover;border:1px solid #d6ad6166}.rsvp{position:relative;padding:140px 7vw;text-align:center;background:linear-gradient(#160005b9,#160005eb),url('assets/hero-ballroom.jpg') center/cover}.rsvp-content{max-width:850px;margin:auto}.rsvp h2{font-size:clamp(42px,6vw,86px)}footer{text-align:center;padding:50px;background:#090002;color:#d6ad61}.reveal{opacity:0;transform:translateY(30px);transition:.9s}.reveal.visible{opacity:1;transform:none}@media(max-width:850px){header{padding:18px 20px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:66px;right:16px;flex-direction:column;background:#210007;padding:20px;border:1px solid #d6ad6155}.main-nav.show{display:flex}.language{position:absolute;right:85px}.curtain{width:18%}.hero-content{padding:38px 20px}.story,.timeline-section{grid-template-columns:1fr;padding:80px 22px}.event-cards{grid-template-columns:1fr}.event-cards .featured{transform:none}.gallery-grid{grid-template-columns:1fr 1fr}.countdown strong{font-size:42px}}