:root{--paper:#fbf3ec;--ink:#572532;--accent:#963e55;--muted:#956a70;--line:#dabfb5;--card:#fffaf5}*{box-sizing:border-box}html{scroll-behavior:smooth}body.exp-page{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif;overflow-x:hidden}.exp-minimal{--paper:#1b101b;--ink:#f4e7e4;--accent:#e8b4bd;--muted:#c494a5;--line:#533447;--card:#281a29}.exp-gift{--paper:#fff4ec;--ink:#62314c;--accent:#c24f65;--muted:#aa7180;--line:#ebbcab;--card:#fffaf7;background:radial-gradient(ellipse at 10% 20%,#ffdbbf,transparent 50%),var(--paper)!important}button,a,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:5px}a{color:inherit}button{cursor:pointer}.exp-top{max-width:1180px;padding:24px 30px;margin:auto;display:flex;justify-content:space-between;gap:20px;font:11px system-ui;letter-spacing:1px}.exp-top a{text-decoration:none}.exp-top>span{color:var(--muted);font-size:9px;letter-spacing:2px}.exp-content{max-width:1050px;margin:auto;padding:0 24px}.exp-hero{text-align:center;padding:55px 0 30px;position:relative}.exp-kicker{display:block;font:10px/1.5 system-ui;letter-spacing:2.6px;color:var(--muted)}.exp-monogram{width:83px;height:83px;margin:34px auto;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-style:italic;outline:1px solid var(--line);outline-offset:7px;font-size:22px}.exp-for{font-style:italic;color:var(--muted);font-size:20px}.exp-hero h1{font-size:clamp(38px,6vw,75px);max-width:860px;line-height:1.08;font-weight:400;letter-spacing:-2.5px;margin:22px auto}.exp-intro{font-size:19px;max-width:600px;line-height:1.8;margin:26px auto;color:var(--muted)}.exp-from{font:11px system-ui;letter-spacing:1.3px;margin-bottom:40px}.exp-open{display:block;border:0;background:none;margin:0 auto;padding:15px;color:var(--ink)}.envelope-art{width:235px;height:145px;background:linear-gradient(35deg,#692335,#ae596b);display:block;position:relative;box-shadow:0 18px 42px #51283825;border-radius:4px;transition:transform .6s}.envelope-art:after{content:'';position:absolute;inset:0;background:linear-gradient(32deg,transparent 49.5%,#d489961a 50%),linear-gradient(-32deg,transparent 49.5%,#f7c5bc35 50%)}.envelope-flap{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 60%);background:#bf7b85;transform-origin:top;transition:transform .8s;z-index:1}.envelope-seal{position:absolute;left:calc(50% - 22px);top:48px;width:44px;height:44px;border-radius:50%;background:#efc1a0;border:4px double #d8a78c;display:grid;place-items:center;color:#803541;font-size:23px;z-index:2}.exp-open:hover .envelope-art{transform:translateY(-5px) rotate(-2deg)}.exp-open[aria-expanded=true] .envelope-flap{transform:rotateX(170deg)}.exp-open[aria-expanded=true] .envelope-seal{transform:scale(.8);opacity:.5}.open-label{display:block;margin-top:22px;font-size:15px}.exp-scroll{font:10px system-ui;letter-spacing:1px;color:var(--muted);margin:24px auto}.exp-scroll span{display:block;font-size:22px;margin-top:12px;animation:float 2.5s infinite}.exp-letter{max-width:690px;background:var(--card);padding:60px clamp(24px,6vw,65px);margin:35px auto 95px;box-shadow:0 20px 65px #2814200b;border:1px solid var(--line);position:relative}.exp-letter h2{font-size:36px;font-weight:400;font-style:italic}.exp-message{font-size:18px;line-height:2;overflow-wrap:anywhere}.exp-signature{font-style:italic;font-size:27px;margin-top:40px}.letter-mark{position:absolute;right:30px;bottom:35px;font-size:40px;color:var(--muted)}.exp-reveal{transition:opacity .9s,transform .9s}.exp-page.is-enhanced .exp-reveal:not(.is-visible){opacity:0;transform:translateY(28px)}.exp-reasons,.exp-gallery,.exp-audio,.exp-date,.exp-question,.exp-ending{text-align:center;margin:80px auto 110px}.exp-content h2{font-weight:400;font-size:clamp(28px,4vw,44px);line-height:1.2;letter-spacing:-.7px}.reasons-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}.reason-card{min-height:210px;padding:30px 23px;background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:80px 80px 9px 9px;transition:transform .3s}.reason-card:hover{transform:translateY(-5px)}.reason-number{display:block;font:10px system-ui;color:var(--muted);letter-spacing:3px;margin-bottom:27px}.reason-hint{font-style:italic;font-size:15px;color:var(--muted)}.reason-text{display:none;line-height:1.7;font-size:17px}.reason-card[aria-expanded=true] .reason-hint{display:none}.reason-card[aria-expanded=true] .reason-text{display:block;animation:appear .5s}.memory-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:25px;padding:20px 12px 35px}.exp-memory{flex:0 0 min(72vw,360px);margin:0;background:var(--card);padding:12px 12px 22px;box-shadow:0 10px 22px #371c2610;scroll-snap-align:center;border:1px solid var(--line);transform:rotate(-2deg)}.exp-memory:nth-child(even){transform:rotate(2deg)}.memory-zoom{padding:0;border:0;background:none;width:100%}.exp-memory img{width:100%;height:330px;object-fit:cover;display:block}.exp-memory figcaption{display:flex;gap:17px;text-align:left;font-size:15px;line-height:1.6;padding:19px 10px 0}.exp-memory figcaption span{font:10px system-ui;color:var(--muted);margin-top:4px}.exp-small{font:12px/1.8 system-ui;color:var(--muted);max-width:540px;margin:20px auto}.exp-date{padding:60px 25px;border-block:1px solid var(--line)}.exp-date time{font:12px system-ui;letter-spacing:3px;color:var(--muted)}#exp-days{display:block;font-size:85px;font-weight:400;margin:25px}#exp-days-label{font:11px system-ui;letter-spacing:1px}.exp-audio audio{display:block;width:min(100%,430px);margin:25px auto}.exp-question{max-width:750px;padding:55px 20px;border:1px solid var(--line);border-radius:200px 200px 12px 12px;background:var(--card)}.question-heart{display:block;font-size:68px;color:var(--accent);margin:15px auto 35px;animation:float 3s infinite}.exp-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:30px auto}.exp-button{background:var(--accent);color:var(--paper);border:1px solid var(--accent);border-radius:40px;padding:15px 25px;display:inline-block;text-decoration:none;font:13px system-ui}.exp-button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.exp-ending{padding:30px 0}.exp-ending>span{font-size:55px;color:var(--accent)}.exp-ending p{font-style:italic;color:var(--muted)}.exp-ending a{display:inline-block;font:10px system-ui;color:var(--muted);margin-top:35px}.sound-control{position:fixed;bottom:20px;right:20px;z-index:30;background:var(--card);border:1px solid var(--line);border-radius:30px;padding:12px 18px;color:var(--ink);box-shadow:0 4px 20px #0001;font:12px system-ui}.reading-progress{height:3px;background:var(--accent);position:fixed;top:0;left:0;width:0;z-index:50}.exp-particles{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}.exp-particle{position:absolute;color:var(--accent);opacity:.16;animation:petal 14s linear infinite}.exp-content,.exp-top{position:relative;z-index:1}.exp-minimal .envelope-art{background:transparent;border:1px solid var(--line);box-shadow:none;height:100px}.exp-minimal .envelope-flap,.exp-minimal .envelope-art:after{display:none}.exp-minimal .envelope-seal{background:none;border:0;color:var(--accent);font-size:48px;top:27px}.exp-minimal .exp-letter{border:0;background:transparent;box-shadow:none}.exp-gift .is-gift .envelope-art{height:160px;width:185px;background:linear-gradient(135deg,#f39578,#c14b65)}.exp-gift .envelope-flap{clip-path:none;height:30px;top:0;background:#a84660;box-shadow:0 5px 10px #0001}.exp-gift .envelope-art:after{background:#ffdbb2;width:22px;left:calc(50% - 11px)}.exp-gift .envelope-seal{top:55px}.confetti-bit{position:fixed;top:-30px;pointer-events:none;z-index:1200;animation:confetti 3s ease-in forwards;font-size:20px;color:var(--accent)}@keyframes float{50%{transform:translateY(-7px)}}@keyframes appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes petal{from{transform:translateY(-5vh) rotate(0)}to{transform:translateY(110vh) rotate(190deg)}}@keyframes confetti{to{transform:translateY(110vh) rotate(360deg);opacity:0}}@media(max-width:600px){.exp-top{padding:20px 18px}.exp-content{padding:0 18px}.exp-hero{padding-top:30px}.exp-hero h1{letter-spacing:-1.2px}.reasons-grid{grid-template-columns:1fr}.reason-card{min-height:130px;border-radius:12px;padding:25px}.reason-number{margin-bottom:15px}.exp-letter{margin-bottom:65px}.exp-question{border-radius:110px 110px 12px 12px}.exp-memory img{height:290px}.exp-actions{flex-direction:column}.sound-control{bottom:12px;right:12px}.exp-ending{padding-bottom:60px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.exp-particles{display:none}.exp-page.is-enhanced .exp-reveal{opacity:1!important;transform:none!important}}

.exp-cover{width:min(76vw,300px);margin:30px auto 45px;padding:12px 12px 22px;background:var(--card);border:1px solid var(--line);box-shadow:0 22px 48px #51283820;transform:rotate(-3deg)}.exp-cover img{width:100%;height:240px;object-fit:contain;background:var(--paper);display:block}.exp-cover figcaption{font-style:italic;font-size:14px;margin-top:16px;overflow-wrap:anywhere}.memory-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin:25px auto 0}.memory-controls button{border:1px solid var(--line);background:var(--card);color:var(--ink);width:44px;height:44px;border-radius:50%;font-size:22px}.memory-controls button:disabled{opacity:.35;cursor:default}.memory-counter{font:12px system-ui;color:var(--muted);letter-spacing:2px}.exp-memory img{object-fit:contain;background:var(--paper)}.exp-content h1,.exp-content h2,.reason-text{overflow-wrap:anywhere}@media(prefers-reduced-motion:reduce){.exp-cover{transform:none}}
.exp-classic{--paper:#f8f3eb;--card:#fffdf8;--ink:#463b36;--accent:#9f6875;--muted:#8c7372;--line:#dfcec4}
.exp-gift{--paper:#f8f0e4;--card:#fffaf0;--ink:#4b1828;--accent:#70243b;--muted:#98734f;--line:#d8bd92}
.exp-minimal{--paper:#f3f0f6;--card:#fff;--ink:#322a40;--accent:#74608e;--muted:#81738e;--line:#d9d0e2}
.exp-hero{padding-top:55px}.exp-monogram{border:1px solid var(--line);width:82px;height:82px;border-radius:50%;display:grid;place-items:center;margin:25px auto;font-style:italic;background:var(--card)}
.exp-kicker{letter-spacing:2.4px}.exp-content{max-width:1040px}.exp-hero h1{max-width:780px;margin-inline:auto;font-size:clamp(42px,8vw,84px);font-weight:400;line-height:1.04}.exp-intro{max-width:460px;margin:25px auto;line-height:1.8}.exp-for{font-style:italic;font-size:24px}
.exp-cover{width:min(82vw,420px);padding:14px 14px 26px;border-radius:2px;box-shadow:0 25px 65px #30203017}.exp-cover img{height:320px;object-fit:contain}
.exp-letter{border-top:3px solid var(--accent);box-shadow:0 26px 70px #3020300d}.exp-message{line-height:1.95}.exp-gallery h2{max-width:600px;margin-inline:auto}.exp-memory{flex-basis:min(80vw,420px)}.exp-memory img{height:370px}
.exp-audio{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:45px 22px;max-width:620px}.exp-audio h2{font-size:32px}.exp-audio audio{width:100%;max-width:450px}.exp-ending{border-top:1px solid var(--line);padding-top:65px}
.exp-gift .is-gift .envelope-art{width:240px;height:150px;background:linear-gradient(30deg,#4e192c,#842f49);border:1px solid #b28b52;box-shadow:0 22px 50px #4b182830}.exp-gift .envelope-flap{height:100%;clip-path:polygon(0 0,100% 0,50% 63%);background:#8d3d51;box-shadow:none}.exp-gift .envelope-art:after{width:auto;left:0;background:none}.exp-gift .envelope-seal{background:#d8bd92;border-color:#b28b52;color:#4b1828;top:50px}
.exp-minimal .exp-cover,.exp-minimal .exp-memory{transform:none;border-radius:16px;padding:12px}.exp-minimal .exp-letter{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:55px 35px}.exp-minimal .reason-card{border-radius:16px}.exp-minimal .exp-cover img{border-radius:10px}.exp-gift .exp-letter:before{content:'DILO BONITO · UNA CARTA PARA TI';font:10px system-ui;letter-spacing:2px;color:var(--muted);display:block;margin-bottom:35px}
@media(max-width:600px){.exp-hero{padding-top:30px}.exp-content{padding-inline:20px}.exp-cover img{height:270px}.exp-memory img{height:310px}.exp-letter,.exp-minimal .exp-letter{padding:38px 24px}.exp-message{font-size:17px}.exp-audio{padding:35px 18px}.exp-top{gap:12px}.exp-top span{font-size:9px}.exp-kicker{line-height:1.8}}
@media(prefers-reduced-motion:reduce){.exp-cover,.exp-memory{transform:none!important}}

