@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--pink:#f7edef;--rose:#a66f89;--rose-deep:#84516c;--lilac:#b49aba;--gold:#b59962;--dark:#5d4b56;--cream:#fffaf6}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 2% 15%,#fae5eb 0,transparent 35%),radial-gradient(circle at 95% 45%,#f2e9f7 0,transparent 35%),linear-gradient(135deg,#fff9f6 0%,#f8eef1 50%,#fff9f6 100%);color:var(--dark);font-family:'DM Sans',Arial,sans-serif;overflow-x:hidden}
[hidden]{display:none!important}
button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #9d779f;outline-offset:4px}
.page{position:relative;z-index:1;max-width:610px;margin:0 auto;padding:30px 18px 32px}
.tiny-top{display:flex;align-items:center;justify-content:center;gap:16px;color:#a5839b;font-size:10px;font-weight:700;letter-spacing:.29em;padding:10px}.tiny-line{width:40px;height:1px;background:#d8c2bf}
.sparkle{position:fixed;color:#d4b482;opacity:.6;pointer-events:none;font-size:24px;animation:twinkle 6s ease-in-out infinite}.s1{top:9%;left:14%}.s2{right:16%;top:26%;animation-delay:1.3s}.s3{bottom:12%;left:10%;animation-delay:3s}
.petal{position:fixed;z-index:0;pointer-events:none;width:14px;height:25px;opacity:.35;border-radius:80% 0 80% 0;background:#dcb6c9;transform:rotate(28deg)}.p1{left:10%;top:38%}.p2{right:10%;top:70%}.p3{left:23%;bottom:10%}
.envelope-view{min-height:min(660px,calc(100svh - 155px));display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:42px 0 20px}
.invite-intro{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(24px,5vw,33px);max-width:360px;color:#946980;line-height:1.25;margin:0 0 56px}
.envelope-trigger{border:0;background:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:38px;color:inherit;font:inherit;padding:0 12px;max-width:100%}
.envelope-body{position:relative;width:min(320px,78vw);height:min(216px,52.7vw);filter:drop-shadow(0 18px 21px #9c788443);perspective:700px;transition:transform .3s}.envelope-trigger:hover .envelope-body{transform:translateY(-5px)}
.envelope-body::before{position:absolute;content:'';inset:0;background:#e9cbd5;border-radius:5px;border:1px solid #d7b8c6}
.envelope-flap{position:absolute;z-index:3;inset:0;background:#eacbd6;clip-path:polygon(0 0,100% 0,50% 58%);filter:drop-shadow(0 4px 3px #855a6b22);transform-origin:top;transition:transform .65s ease}
.envelope-front{position:absolute;z-index:4;inset:0;background:linear-gradient(140deg,#f6dfe3,#e9c5d4);clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%);border-radius:4px}
.envelope-letter{position:absolute;inset:9% 12% 18%;background:#fffaf4;border:1px solid #ddc3c3;box-shadow:0 4px 8px #85607215;z-index:2;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--rose-deep);font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:28px;line-height:1;transition:transform .7s}.mini-crown{font-size:32px;color:var(--gold);margin-bottom:12px}
.seal{position:absolute;z-index:5;left:50%;top:56%;transform:translate(-50%,-50%);display:grid;place-items:center;background:linear-gradient(160deg,#c1a371,#aa8852);color:white;border:3px solid #e9d2a8;width:54px;height:54px;border-radius:50%;box-shadow:0 2px 9px #987e6040;font-family:'Cormorant Garamond',Georgia,serif;font-size:32px;font-weight:700;transition:opacity .2s}
.open-label{border:1px solid #bba0a8;border-radius:99px;color:#79566a;padding:14px 25px;font-size:13px;letter-spacing:.04em;background:#fff8f6;box-shadow:0 7px 20px #c6adad30;font-weight:700;transition:background .2s}.envelope-trigger:hover .open-label{background:#fff}
.envelope-hint{font-size:12px;color:#af93a0;margin-top:23px}
.opening .envelope-flap{transform:rotateX(177deg);z-index:1}.opening .envelope-letter{transform:translateY(-95px)}.opening .seal{opacity:0}
.invitation{margin:24px auto 0;max-width:500px}.invitation.revealed{animation:reveal .8s both}.paper{background:#fffaf6;border-radius:170px 170px 17px 17px;padding:9px;box-shadow:0 14px 38px #a4788c23,0 0 0 1px #e7d6d0;overflow:hidden}
.paper-edge{border:1px solid #dfc5be;border-radius:165px 165px 13px 13px;position:relative;min-height:600px;text-align:center;padding:49px 29px 29px;background:radial-gradient(circle at 50% 3%,#fff 0,#fffaf6 55%,#fcf5f4 100%)}
.paper-edge:after{content:'';position:absolute;inset:7px;border:1px solid #f1e4dd;border-radius:160px 160px 9px 9px;pointer-events:none}
.flower-corner{position:absolute;bottom:2px;width:86px;opacity:.56}.flower-corner svg{width:100%;fill:#d5a5b5;stroke:#91a18b;stroke-width:2.5px}.flower-corner.left{left:-8px;transform:rotate(-16deg)}.flower-corner.right{right:-8px;transform:scaleX(-1) rotate(-16deg)}
.top-flourish{color:#bc9f6b;font-size:25px;letter-spacing:.15em}.subheading{font-size:10px;letter-spacing:.26em;color:#99728a;font-weight:700;margin-top:14px}.royal-subtitle{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;color:#9e778e;margin-top:9px;font-style:italic}.castle-art{width:min(350px,100%);margin:-5px auto -9px}.castle-art svg{display:block;width:100%;height:auto;filter:drop-shadow(0 7px 6px #c49aa52b)}
.inv-title-pre{font-size:11px;text-transform:uppercase;letter-spacing:.20em;color:#9f8294;font-weight:700;margin:4px 0 2px}
h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:.83;color:#8b6079;margin:15px 0 23px;display:flex;flex-direction:column;align-items:center;gap:5px;text-shadow:0 2px 2px #fff}h1>span:first-child{font-size:clamp(39px,9vw,56px);font-style:italic}h1 .ester-name{font-size:clamp(79px,17vw,119px);font-weight:600;letter-spacing:-.06em;margin-left:-.07em}
.gold-divider{display:flex;align-items:center;justify-content:center;gap:14px;color:#b4a273;margin:0 auto 17px;font-size:14px}.gold-divider span{width:60px;height:1px;background:#ddcaba}
.invitation-message{font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;line-height:1.3;color:#796473;max-width:320px;margin:0 auto 22px}.event-details{padding:15px 0 13px;max-width:335px;margin:auto;border-top:1px solid #eadbd8;border-bottom:1px solid #eadbd8;display:flex;flex-direction:column;gap:15px}.detail{display:flex;align-items:flex-start;text-align:left;gap:14px}.detail-icon{background:#f6e9ed;color:#a37794;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;font-size:25px;flex-shrink:0}.detail strong{display:block;text-transform:uppercase;letter-spacing:.17em;font-size:10px;color:#9a728b;margin:1px 0 5px}.detail span{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;font-weight:600;line-height:1.22;overflow-wrap:anywhere}
.verse{padding:23px 4px 3px;display:flex;flex-direction:column;gap:7px;font-family:'Cormorant Garamond',Georgia,serif;font-size:19px;font-style:italic;color:#8e7a80}.verse small{font-family:'DM Sans',Arial,sans-serif;font-size:10px;font-weight:600;letter-spacing:.14em;font-style:normal;color:#b3986b}.little-instruction{font-size:11px;color:#a58892;margin:18px auto 7px}
.actions{display:flex;flex-direction:column;gap:11px;margin:20px 0 0}.action{width:100%;min-height:57px;display:flex;align-items:center;gap:12px;border-radius:13px;text-decoration:none;font:600 13px 'DM Sans',sans-serif;padding:11px 19px;border:1px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;text-align:left}.action:hover{transform:translateY(-2px);box-shadow:0 6px 12px #ac899232}.action-symbol{font-size:22px;width:24px;text-align:center;font-weight:400}.action-arrow{margin-left:auto;font-size:17px}.primary{background:#956b84;color:#fff}.secondary{background:#b4a0b9;color:white}.neutral{background:#e9dfe6;color:#77596d}.outline{background:transparent;border:1px solid #d5bdc9;color:#805c74}.copy-notice{text-align:center;color:#7d6672;min-height:18px;font-size:12px}.bottom-note{text-align:center;font-size:11px;color:#9a818d;margin:16px}.bottom-note span{font-family:'Cormorant Garamond',Georgia,serif;font-size:20px}.tiny-footer{text-align:center;margin:23px auto 10px;font-size:12px}.tiny-footer a{color:#a08891;text-decoration:none;border-bottom:1px solid #d4c4c5;padding-bottom:4px}
@keyframes twinkle{0%,100%{opacity:.2;transform:scale(.8)}45%{opacity:.8;transform:scale(1.2)}}@keyframes reveal{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:430px){.page{padding:16px 12px 26px}.paper{border-radius:140px 140px 15px 15px}.paper-edge{border-radius:137px 137px 11px 11px;padding:43px 20px 22px}.paper-edge:after{border-radius:132px 132px 9px 9px}.castle-art{max-width:290px;margin:0 auto -12px}.royal-subtitle{font-size:22px}.invitation-message{font-size:20px}.detail span{font-size:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Identidade visual V3 — mesma papelaria em todas as telas */
:root{--pink:#f7efed;--rose:#a37987;--rose-deep:#875f71;--lilac:#a694b1;--gold:#b69d79;--dark:#63545d;--cream:#fffaf5}
body{background:radial-gradient(circle at center,#fffcf8 0,#faf4f1 55%,#f3e7e9 100%)}
body:before{content:'';position:fixed;z-index:0;inset:0;background:url('ramos.svg') repeat;background-size:260px;opacity:.11;pointer-events:none}
.tiny-top{color:#957883}.invite-intro{color:var(--rose-deep)}
.envelope-body:before{background:#ead4d8}.envelope-flap{background:#e7cbd3}.envelope-front{background:linear-gradient(140deg,#f9e8e8,#e6cbd2)}
.envelope-letter{background:#fffaf5}.seal{background:#f8f0e9 url('monograma.svg') center/cover no-repeat;border:2px solid #b9a18e;font-size:0}
.paper{background:#fff9f4}.paper-edge{background:#fffaf5 url('estampa.svg') repeat;background-size:500px;border-color:#d9c3c1}.paper-edge:before{content:'';position:absolute;inset:13px;background:#fffaf5;border-radius:155px 155px 10px 10px;z-index:0;opacity:.95}.paper-edge>*{position:relative;z-index:1}.flower-corner{opacity:.8}.castle-art svg{filter:drop-shadow(0 7px 6px #a7899722)}
