:root{--olive:#a3ad8b;--ink:#344333;--gold:#d3b86f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f4ed;color:var(--ink);font-family:Georgia,'Times New Roman',serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid #c29436;outline-offset:6px}.envelope{position:fixed;inset:0;min-height:100svh;background:var(--olive);overflow:hidden;z-index:10;perspective:1200px;transition:opacity .8s,transform 1s}.paper-texture{position:absolute;inset:0;opacity:.22;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.45' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.flap{position:absolute;inset:0 0 42%;background:linear-gradient(160deg,#b6bea2,#9da886);clip-path:polygon(0 0,100% 0,100% 25%,50% 100%,0 25%);transform-origin:top;transition:transform 1s}.fold{position:absolute;inset:30% 0 0;pointer-events:none}.left{background:#97a280;clip-path:polygon(0 0,55% 55%,0 100%)}.right{background:#9da986;clip-path:polygon(100% 0,45% 55%,100% 100%)}.bottom{background:linear-gradient(0deg,#aab495,#a1ac8b);clip-path:polygon(0 100%,0 70%,50% 35%,100% 70%,100% 100%)}.lettering{position:absolute;top:12%;width:100%;text-align:center;padding:0 24px}.eyebrow{font:10px/1.5 system-ui,sans-serif;letter-spacing:3px;margin:0 0 18px}h1{font-weight:400;font-size:clamp(42px,10vw,70px);line-height:1.05;margin:0;text-shadow:0 1px #ffffff45}h1 span{font-style:italic;font-size:.6em}.gold-line{width:50px;height:1px;background:#f4e5b8;margin:24px auto}.recipient{font-style:italic;font-size:20px;margin:12px auto;max-width:420px;overflow-wrap:anywhere}.date{font:10px system-ui,sans-serif;letter-spacing:3px;margin-top:22px}.seal{position:absolute;top:60%;left:50%;transform:translate(-50%,-50%);width:92px;height:92px;border-radius:50%;border:4px double #d1af63;background:radial-gradient(circle at 32% 25%,#f1df9f,#c6a15b 65%,#aa8546);color:#66502a;box-shadow:0 5px 12px #36422f38,inset 0 0 0 5px #d8b96d;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:22px}.seal small{font-size:19px}.open-hint{position:absolute;top:70%;width:100%;text-align:center;font-style:italic;font-size:16px}.opening .flap{transform:rotateX(160deg)}.opening .seal{transition:opacity .4s;opacity:0}.opening{opacity:0;transform:translateY(-15%);pointer-events:none}#confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:20}.welcome{text-align:center;padding:25px 15px 20px}.welcome p{font-style:italic;font-size:20px;margin:0 0 10px}.welcome span{font:8px system-ui;letter-spacing:2px}.pages{max-width:760px;margin:auto;box-shadow:0 15px 70px #34433312}.pages section{position:relative;scroll-margin-top:12px}.pages img{display:block;width:100%;height:auto}.location{container-type:inline-size}.map-area{position:absolute;top:63%;left:15%;width:70%;height:24%;text-align:center;display:flex;align-items:center;flex-direction:column}.map-area .eyebrow{font-size:1.1cqw;letter-spacing:.3cqw;margin:0 0 .5cqw}.map-area h2{font-size:3.8cqw;font-weight:400;margin:0 0 .6cqw}.address{font-size:1.8cqw;margin:0 0 1.8cqw}.map-area iframe{width:100%;flex:1;min-height:0;border:1px solid #b4bc9c;border-radius:3px;background:#e9ecdf}.directions{display:inline-block;color:#fff;background:#626f50;border:1px solid #626f50;padding:1.3cqw 3cqw;margin-top:1.4cqw;text-decoration:none;font:1.8cqw system-ui;letter-spacing:.08em;border-radius:2px}footer{text-align:center;padding:35px 20px 90px}footer p{font-style:italic;font-size:17px}footer span{font-size:25px}footer button{display:block;background:none;border:0;border-bottom:1px solid #aab495;color:#626f50;margin:25px auto 0;padding:8px;cursor:pointer;font-size:12px}nav{position:fixed;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:7px;background:#fdfbf4e8;backdrop-filter:blur(10px);padding:6px;border:1px solid #d7d9ca;border-radius:30px;box-shadow:0 4px 20px #0001}nav a{display:grid;place-items:center;width:38px;height:34px;border-radius:50%;text-decoration:none;color:#4d5c40;font-size:16px}nav a:hover{background:#e3e6d7}[hidden]{display:none!important}@media(min-width:800px){.lettering{top:10%}.envelope .fold{inset:15% 0 0}.recipient{font-size:24px}}@media(max-height:620px){.lettering{top:5%}h1{font-size:38px}.gold-line{margin:10px auto}.date{margin-top:12px}.seal{top:70%;width:70px;height:70px}.open-hint{top:82%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Embossed paper, fine gold botanical accents */
.envelope{box-shadow:inset 0 0 100px #47533324,inset 0 0 2px #f6f1cf}.envelope:after{content:"";position:absolute;inset:18px;border:1px solid #e4d6a653;box-shadow:0 1px 0 #53614133,inset 0 1px 0 #ffffff25;pointer-events:none}.gold-leaves{position:absolute;bottom:3%;left:1%;width:clamp(95px,28vw,230px);height:auto;opacity:.73;filter:drop-shadow(0 1px 0 #f3e7bb70) drop-shadow(0 2px 1px #46513635);pointer-events:none}.gold-leaves.mirrored{left:auto;right:1%;transform:scaleX(-1)}.lettering h1{text-shadow:0 1px 0 #e8edd0b3,0 -1px 0 #52603e55,0 3px 4px #43503118}.seal{box-shadow:0 7px 16px #36422f55,0 2px 2px #52603c80,inset 0 0 0 5px #d8b96d,inset 0 2px 3px #fff3c5}.seal span{text-shadow:0 1px 0 #fff0bc,0 -1px 0 #9b7735}.countdown{max-width:760px;margin:0 auto;padding:28px 20px 32px;text-align:center;background:linear-gradient(135deg,#f9f7ef,#efeee3);border-top:1px solid #cdb77970;border-bottom:1px solid #cdb77970;box-shadow:inset 0 1px #fff,inset 0 -2px 5px #77805b0d}.countdown .eyebrow{margin-bottom:10px;color:#887240}.countdown h2{font-size:30px;font-weight:400;font-style:italic;margin:0 0 24px}.countdown-digits{display:flex;justify-content:center;align-items:center;gap:clamp(7px,2vw,18px)}.countdown-digits div{min-width:48px}.countdown-digits strong{display:block;font-size:clamp(30px,8vw,46px);font-weight:400;font-variant-numeric:tabular-nums;text-shadow:0 1px #fff}.countdown-digits span{font:9px system-ui;letter-spacing:1.3px;text-transform:uppercase}.countdown-digits b{color:#baa365;font-weight:400;font-size:25px;align-self:flex-start;margin-top:6px}.event-time{font:11px/1.6 system-ui;color:#6c735e;margin:22px 0 0}.sound-toggle,.music-toggle{position:fixed;z-index:15;top:max(12px,env(safe-area-inset-top));right:12px;border:1px solid #d0c797;background:#f6f4e9ed;color:#475538;box-shadow:0 2px 9px #36422f1a;border-radius:22px;padding:11px 14px;font:11px system-ui;cursor:pointer}.music-toggle{top:max(58px,calc(env(safe-area-inset-top) + 46px))}.welcome{padding-top:65px}@media(max-width:380px){.envelope:after{inset:10px}.countdown{padding-left:12px;padding-right:12px}}

.virtual-invitation{max-width:760px;margin:auto;padding:36px 24px;text-align:center;background:#ecefdf}.virtual-invitation h2{font:30px Georgia;margin:8px 0 18px}.virtual-invitation p{line-height:1.6}.virtual-invitation .directions{font:14px system-ui;padding:14px 20px;margin:12px 0}.virtual-time{font:12px system-ui;color:#657057}

/* Refined invitation: paper depth, wax seal and spacious pages */
body{background:radial-gradient(ellipse at 50% 0,#fffdf7,#eeede4 75%)}.envelope{background:radial-gradient(ellipse at 35% 20%,#bac2a5,#a3ad8b 60%,#939f7d);transition:opacity .65s ease 1.6s,transform .75s ease 1.55s;isolation:isolate}.paper-texture{z-index:1;pointer-events:none;opacity:.38}.flap{z-index:4;filter:drop-shadow(0 5px 4px #46513835);transition:transform .95s cubic-bezier(.3,.1,.2,1);backface-visibility:hidden}.fold{z-index:3;filter:drop-shadow(0 -2px 2px #47533324)}.gold-leaves{z-index:5;opacity:.55}.lettering{z-index:5}.seal{z-index:6;width:88px;height:88px;border-radius:47% 51% 46% 52%;border:5px double #d9bc75;background:radial-gradient(ellipse at 32% 20%,#e5cc8c,#c9a763 55%,#b18a45 85%,#e4c781);box-shadow:0 8px 16px #39412d45,0 2px 3px #56603c70,inset 0 0 0 4px #d4b270,inset 2px 3px 5px #fff0b98a}.seal:after{content:"";position:absolute;inset:8px;border:1px solid #9e793a77;border-radius:50%;box-shadow:0 1px 0 #f7e4aa80}.seal span{font-size:21px;letter-spacing:1px}.seal small{font-size:15px}.open-hint{z-index:6;letter-spacing:.6px;color:#39472d}.invitation-slip{position:absolute;z-index:2;top:37%;left:12%;width:76%;height:52%;padding:28px 12px;background:linear-gradient(135deg,#fffdf5,#ebe5d2);border:1px solid #d8c89b;box-shadow:0 5px 25px #3c46272b;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;opacity:0;transform:translateY(22%);transition:transform 1.2s cubic-bezier(.2,.7,.2,1) .35s,opacity .3s ease .3s}.invitation-slip:after{content:"";position:absolute;inset:12px;border:1px solid #c8ad6970}.invitation-slip span{font:9px system-ui;letter-spacing:3px;color:#9a7c3c}.invitation-slip em{font:italic clamp(23px,6vw,42px) Georgia;margin:24px 0;color:#65714f}.invitation-slip small{font:italic 15px Georgia;color:#8b805f}.opening{transform:translateY(-5%)}.opening .flap{transform:rotateX(175deg)}.opening .invitation-slip{opacity:1;transform:translateY(-52%)}.opening .lettering,.opening .gold-leaves,.opening .open-hint{opacity:0;transition:opacity .3s}.opening .seal{opacity:0;transform:translate(-50%,-50%) scale(.85);transition:opacity .3s,transform .3s}.pages{width:calc(100% - 36px);max-width:720px;margin:28px auto 0;box-shadow:none;display:flex;flex-direction:column;gap:32px}.pages section{border-radius:3px;box-shadow:0 9px 28px #40503014,0 1px 3px #4050301f;outline:1px solid #c8b77c60;outline-offset:5px}.pages img{border-radius:3px}.welcome{padding:66px 24px 25px}.welcome p{font-size:22px;line-height:1.5}.countdown{width:calc(100% - 48px);max-width:680px;padding:30px 12px;border:0;background:transparent;box-shadow:none;position:relative}.countdown:before,.countdown:after{content:"";display:block;width:100px;height:1px;margin:0 auto 25px;background:linear-gradient(90deg,transparent,#c5aa65,transparent)}.countdown:after{margin:25px auto 0}.countdown h2{font-size:33px;color:#5b6949}.countdown-digits{gap:clamp(8px,2.5vw,22px)}.countdown-digits strong{font-size:clamp(32px,9vw,52px);color:#566644}.countdown-digits span{font-size:9px;color:#8b7954}.countdown-digits b{font-size:17px;margin-top:14px;color:#b4a276}.event-time{font-size:10px;letter-spacing:.4px}.virtual-invitation{width:calc(100% - 36px);border-radius:4px}.sound-toggle,.music-toggle{width:44px;height:44px;padding:6px;display:grid;place-items:center;right:14px;border:0;background:transparent;box-shadow:none;isolation:isolate}.sound-toggle:before,.music-toggle:before{content:"";position:absolute;inset:4px;z-index:-1;border-radius:50%;background:#faf8eeeb;border:1px solid #c8b77b70;box-shadow:0 2px 8px #34433315}.sound-toggle svg,.music-toggle svg{width:17px;height:17px}.sound-toggle{top:max(10px,env(safe-area-inset-top))}.music-toggle{top:max(56px,calc(env(safe-area-inset-top) + 46px))}.sound-toggle:hover:before,.music-toggle:hover:before{background:#fffdf4;border-color:#b69c5b}nav{padding:5px;box-shadow:0 3px 14px #34433312}footer{padding-top:45px}footer span{font-style:italic;color:#697651}
@media(min-width:800px){.pages{gap:48px;margin-top:38px}.envelope .lettering{top:12%}.invitation-slip{left:25%;width:50%}.gold-leaves{bottom:2%;width:190px}}
@media(prefers-reduced-motion:no-preference){#invitation:not([hidden]) .welcome{animation:welcome-in 1s ease 1.7s both}@keyframes welcome-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){.envelope,.invitation-slip,.flap,.opening *{transition:none!important}}
.seal{top:66%}.open-hint{top:78%}@media(max-height:620px){.seal{top:75%}.open-hint{top:86%}}

/* Sculpted envelope and raised gold wax */
.envelope{perspective:1400px;background:radial-gradient(ellipse at 25% 12%,#c0c7ad 0,#a7b18f 40%,#8d9a77 100%);box-shadow:inset 0 0 120px #34432935,inset 0 2px 2px #e8edd08c}.flap{background:linear-gradient(155deg,#c1c9ae 0,#b1bd98 38%,#98a780 100%);filter:drop-shadow(0 9px 5px #34442a50);transform:rotateX(7deg);transform-style:preserve-3d}.fold.left{background:linear-gradient(105deg,#a4b18d,#879872);filter:drop-shadow(4px 0 5px #39492c30)}.fold.right{background:linear-gradient(255deg,#aab695,#8c9d77);filter:drop-shadow(-4px 0 5px #39492c30)}.fold.bottom{background:linear-gradient(172deg,#bbc5a6 0,#a6b390 45%,#94a17f 100%);filter:drop-shadow(0 -6px 6px #36452b40)}.seal{background:radial-gradient(ellipse at 27% 20%,#f3dfa5,#d1af69 42%,#af873e 85%,#e2c581);box-shadow:0 12px 15px #34412a45,0 5px 0 #9b793d,0 6px 1px #76582b,inset 0 0 0 4px #d7b975,inset 3px 4px 5px #fff2c8aa,inset -3px -4px 5px #98723875;transform:translate(-50%,-50%) rotate(-4deg);transition:transform .25s,box-shadow .25s}.seal:hover{transform:translate(-50%,-53%) rotate(-2deg);box-shadow:0 16px 20px #34412a45,0 5px 0 #9b793d,inset 0 0 0 4px #d7b975}.seal:active{transform:translate(-50%,-48%) rotate(-4deg)}.seal span{color:#81612c;text-shadow:0 1px 0 #fff0b9,0 -1px 1px #7f5c2580}.gold-leaves{filter:drop-shadow(0 1px 0 #fff0be99) drop-shadow(0 2px 1px #4b5b3d55)}.opening .flap{transform:rotateX(175deg)}.opening .seal{transform:translate(-50%,-65%) rotate(-8deg) scale(.8)}

/* Linen stock, folded seams and dimensional wax */
.music-toggle{top:max(10px,env(safe-area-inset-top))}
#inicio{scroll-margin-top:0}
.envelope{background:radial-gradient(ellipse at 20% 5%,#c8cfb8 0,#aeb99a 40%,#8c9b77 100%);box-shadow:inset 0 0 160px #35432b55,inset 2px 3px 3px #f1f3df99,inset -2px -4px 8px #40533155}
.paper-texture{opacity:.5;mix-blend-mode:multiply}
.envelope:after{inset:14px;border-color:#e8e9c953;box-shadow:0 1px 1px #495a3a45,inset 0 1px 1px #f2f0d838}
.flap{background:linear-gradient(158deg,#c7cfb5 2%,#b6c2a0 40%,#9baa85 74%,#84956b 100%);filter:drop-shadow(0 2px 0 #dfe5c58c) drop-shadow(0 8px 6px #35432a70);transform:rotateX(11deg)}
.fold.left{background:linear-gradient(112deg,#b0bd98 0,#9caa85 55%,#7d9064 100%);filter:drop-shadow(3px 1px 3px #3f512c60)}
.fold.right{background:linear-gradient(249deg,#b4c09e 0,#a1af8b 52%,#829469 100%);filter:drop-shadow(-3px 1px 3px #3f512c60)}
.fold.bottom{background:linear-gradient(178deg,#c1cbaa 0,#acb997 40%,#96a682 78%,#8b9b76 100%);filter:drop-shadow(0 -2px 0 #dbe3c480) drop-shadow(0 -9px 7px #35472c65)}
.seal{width:92px;height:92px;border:3px solid #c09c55;border-radius:46% 52% 48% 49% / 51% 46% 53% 48%;background:radial-gradient(ellipse at 26% 16%,#fae7b0 0,#e7cb87 19%,#c7a15c 48%,#b18a45 74%,#e0bf79 100%);box-shadow:0 17px 19px #2c3b264d,2px 8px 3px #3543283b,0 5px 0 #a17b3c,0 6px 0 #86622f,inset 0 0 0 4px #d6b471,inset 3px 5px 5px #fff0b7b3,inset -4px -5px 7px #8e672c88;isolation:isolate}
.seal:before{content:"";position:absolute;inset:0;border-radius:inherit;opacity:.18;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='wax'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.48' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath d='M0 0h100v100H0z' filter='url(%23wax)' opacity='.65'/%3E%3C/svg%3E");mix-blend-mode:multiply}
.seal:after{inset:10px;border:1px solid #9b713c;border-radius:50%;box-shadow:0 1px 1px #fff0b9a8,inset 0 2px 3px #84612f66,inset 0 -1px 0 #f8dda494}
.seal span{font-size:20px;color:#926b32;text-shadow:0 1px 1px #fff0bce6,0 -1px 1px #73512599;z-index:1}
.seal small{color:#926b32;text-shadow:0 1px 0 #f9e7b6;z-index:1}
.seal:hover{box-shadow:0 20px 22px #2c3b2655,0 6px 0 #a17b3c,inset 0 0 0 4px #d6b471,inset 3px 5px 5px #fff0b7b3,inset -4px -5px 7px #8e672c88}
@media(max-height:620px){.seal{width:72px;height:72px}.seal span{font-size:17px}}
.welcome p{font-size:clamp(28px,6.4vw,36px);line-height:1.35;margin-bottom:18px}.welcome span{display:block;font-size:clamp(11px,2.9vw,14px);line-height:1.8;letter-spacing:1.5px;max-width:540px;margin:auto}
