:root{--cream:#f9f2ec;--paper:#fffcf5;--wine:#84384b;--dark:#57343a;--muted:#785d59;--line:#ddc7be;--pink:#ecd5ce;--serif:'Cormorant Garamond',Georgia,serif;--hand:'Caveat',cursive;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--cream);color:var(--dark);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:8;opacity:.17;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='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23694b3c' opacity='.15' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}::selection{background:#e3b6bd;color:#542936}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--wine);outline-offset:6px}svg{display:inline-block;width:22px;height:22px;flex-shrink:0}img{display:block;max-width:100%}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.page-shell{max-width:1600px;margin:auto}.header{margin:0 5.5%;height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px}.wordmark{font-family:var(--serif);font-size:23px;font-weight:500;white-space:nowrap;display:flex;align-items:center;gap:5px}.wordmark span{font-style:italic}.wordmark svg{width:18px;margin-left:8px;color:var(--wine)}.header-dedication{font-size:9px;letter-spacing:2.1px;text-transform:uppercase;color:var(--muted)}.nav-link{display:flex;align-items:center;gap:15px;font-size:11px}.nav-link svg{width:17px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:4%;position:relative;padding:62px 8% 103px;align-items:center;min-height:780px}.eyebrow{font-size:9px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--wine);line-height:1.7;display:flex;align-items:center;gap:12px}.eyebrow>span{width:23px;height:1px;background:var(--wine)}.hero-copy{padding:0;position:relative;z-index:2}.hero-copy .eyebrow{font-size:8px;letter-spacing:1.8px}h1{margin:16px 0 0;font-weight:400}.her-name{font-family:var(--hand);font-size:clamp(106px,10.6vw,153px);font-weight:400;line-height:.95;letter-spacing:-5px;color:var(--wine);display:block;position:relative;width:max-content;transform:rotate(-5deg);margin:4px 0 29px -6px}.name-comma{letter-spacing:-10px}.her-name svg{width:36px;height:36px;position:absolute;right:-58px;top:20px;transform:rotate(17deg)}.hero-phrase{font-family:var(--serif);font-size:clamp(38px,3.7vw,56px);line-height:1.08;letter-spacing:-1.3px;display:block}.hero-phrase em{color:var(--wine);font-weight:500;position:relative;white-space:nowrap}.hero-phrase em:after{content:'';position:absolute;left:0;right:0;bottom:0;height:8px;z-index:-1;background:#e8c8c1;transform:rotate(-2deg);border-radius:50%}.hero-description{font-size:12px;line-height:1.95;color:var(--muted);margin:24px 0}.hero-description strong{font-weight:500;color:var(--wine)}.button{border:1px solid transparent;padding:17px 23px;display:inline-flex;align-items:center;justify-content:center;gap:24px;font-size:11px;font-weight:500;line-height:1.3;border-radius:3px;min-height:51px;transition:background .2s,transform .2s}.button svg{width:18px;height:18px}.button-primary{color:var(--paper);background:var(--wine);border-color:var(--wine)}.button:hover{transform:translateY(-2px)}.button-primary:hover{background:#6c2c3d}.hero-postscript{font-family:var(--hand);font-size:18px;color:#80615f;margin:12px 0 0}.hero-art{position:relative;height:525px;align-self:center;margin:18px 0 0 12px}.art-coordinate{position:absolute;top:-15px;left:24px;font-size:8px;letter-spacing:2px;color:var(--muted)}.arch-outline{position:absolute;inset:10px 7px 3px 20px;border:1px solid #cfa99c;border-radius:220px 220px 4px 4px;transform:rotate(7deg)}.photo-frame{position:absolute;inset:0 22px 0 8px;border-radius:220px 220px 2px 2px;overflow:hidden;margin:0;background:#ddd2cc;border:7px solid var(--paper);box-shadow:0 14px 35px #7f564b17;transform:rotate(-3deg)}.photo-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}.photo-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 60%,#432e263d)}.photo-frame figcaption{position:absolute;bottom:19px;left:15px;right:15px;text-align:center;z-index:1;color:#fffdf4;font-family:var(--hand);font-size:24px;text-shadow:0 1px 3px #3e2e27}.love-seal{position:absolute;left:-21px;top:39px;width:93px;height:93px;background:var(--wine);color:#f8e5d9;border:1px solid #f8e5d966;outline:5px solid var(--wine);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;transform:rotate(-15deg);box-shadow:0 5px 12px #542b3020;z-index:2}.love-seal span{font-size:7px;letter-spacing:1.7px}.love-seal svg{width:26px;height:26px}.little-note{position:absolute;right:-23px;bottom:48px;width:183px;min-height:179px;background:#fffaf0;transform:rotate(9deg);padding:26px 20px 15px;box-shadow:2px 5px 20px #6f4b4426;text-align:center;z-index:3}.tape{position:absolute;left:59px;top:-11px;transform:rotate(-7deg);width:65px;height:25px;background:#d4bd9b88;clip-path:polygon(4% 0,100% 6%,96% 100%,0 94%)}.note-caption{font-size:7px;letter-spacing:1.2px;color:#785d59}.little-note p{font-family:var(--hand);font-size:34px;line-height:.98;margin:18px 0 10px;color:var(--wine)}.little-note svg{width:17px;height:17px;color:var(--wine)}.art-spark{position:absolute;right:-20px;top:14px;width:40px;height:40px;color:#b6747c}.art-handwriting{position:absolute;left:-14px;bottom:-46px;font-family:var(--hand);font-size:24px;line-height:.95;color:var(--wine);transform:rotate(-8deg)}.art-handwriting span{position:absolute;right:-40px;top:-2px;font-size:45px;transform:rotate(-12deg)}.scroll-note{position:absolute;bottom:23px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:20px;color:var(--muted);font-size:9px}.scroll-note span:last-child{font-size:18px}.love-ribbon{display:flex;gap:30px;align-items:center;justify-content:space-around;padding:22px 6%;border-block:1px solid #d8bcb4;background:#f0ded8;color:#936069;font-size:9px;letter-spacing:2.1px}.love-ribbon svg{width:26px;height:26px}.letter-section{padding:105px 9% 100px;display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start;background:radial-gradient(ellipse at 80% 40%,#f1ded66b,transparent 60%)}h2{font-family:var(--serif);font-size:44px;font-weight:400;letter-spacing:-.6px;line-height:1.1}h2 em{color:var(--wine);font-weight:400}.letter-intro h2{margin:24px 0}.letter-intro>p:not(.eyebrow){font-size:12px;line-height:2;color:var(--muted)}.envelope-drawing{width:220px;margin:28px 0 0;transform:rotate(-7deg);text-align:center}.envelope-drawing>svg{width:220px;height:165px}.envelope-drawing>span{display:block;font-family:var(--hand);color:var(--wine);font-size:22px;transform:rotate(5deg);margin-top:-16px}.letter-paper{background:var(--paper);padding:34px 36px;border:1px solid #e0cdc1;box-shadow:5px 7px 0 -1px #eee0d5,5px 7px 0 0 #decbc0,10px 14px 25px #75503a0c;position:relative;transform:rotate(1deg);margin:12px 0 0}.letter-paper:before{content:'';position:absolute;width:77px;height:27px;left:calc(50% - 38px);top:-15px;background:#d7bf9c77;transform:rotate(-4deg);clip-path:polygon(2% 4%,96% 0,100% 94%,0 100%)}.letter-paper summary{list-style:none;cursor:pointer}.letter-paper summary::-webkit-details-marker{display:none}.letter-topline{display:flex;align-items:center;justify-content:space-between;font-size:7px;letter-spacing:1.3px;color:#785d59;border-bottom:1px solid #e7d9cf;padding-bottom:18px;gap:18px}.letter-topline svg{width:18px;height:18px;color:#a15d6a}.letter-preview{font-family:var(--hand);font-size:43px;color:var(--wine);display:block;margin:25px 0 20px;line-height:1}.letter-teaser{font-family:var(--serif);font-size:25px;line-height:1.4;display:block;max-width:290px;margin:10px 0 25px}.letter-open-label{display:flex;align-items:center;gap:20px;font-size:10px;color:var(--wine);padding:15px 0;border-top:1px solid #e7d9cf}.letter-open-label svg{width:18px}.letter-paper[open] .letter-teaser,.letter-paper[open] .letter-open-label{display:none}.letter-paper[open] summary .letter-preview{margin-bottom:22px}.letter-body{font-size:12px;line-height:1.95;color:#806a63}.letter-body>p:first-child{margin-top:0}.letter-body>p{margin:0 0 18px}.letter-body strong{font-weight:500;color:var(--wine)}.letter-signature{margin:26px 0 28px;display:flex;flex-direction:column}.letter-signature>span:first-child{font-size:9px}.letter-signature>span:last-child{font-family:var(--hand);font-size:28px;color:var(--wine);display:flex;align-items:center;gap:8px}.letter-signature svg{width:20px}.letter-bottomline{display:block;border-top:1px solid #e7d9cf;padding-top:16px;font-size:7px;letter-spacing:1.7px;color:#785d59}.notes-section{padding:25px 9% 110px}.notes-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:40px;gap:25px}.notes-heading h2{margin:14px 0 0}.notes-heading>p{font-size:11px;color:var(--muted);line-height:1.9}.notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding:6px 0}.secret-note{text-align:left;min-height:300px;padding:22px 25px 23px;border:1px solid #d9bfb6;display:flex;flex-direction:column;position:relative;box-shadow:0 6px 10px #7f524a0a;transition:transform .25s,box-shadow .25s;border-radius:1px}.note-one{background:#eddbcf;transform:rotate(-2deg)}.note-two{background:#f5e9d8;transform:rotate(1deg);margin-top:8px}.note-three{background:#ead0ce;transform:rotate(-1deg)}.secret-note:after{content:'';position:absolute;top:-10px;left:calc(50% - 30px);width:60px;height:22px;background:#cbb79966;transform:rotate(-4deg);clip-path:polygon(2% 0,99% 4%,98% 100%,0 93%)}.secret-note:hover{transform:translateY(-7px) rotate(0);box-shadow:0 13px 23px #7f524a18}.note-number{font-size:7px;letter-spacing:1.8px;color:#785d59}.note-icon{margin:27px 0 17px;width:30px;height:30px;color:var(--wine)}.note-title{font-family:var(--serif);font-size:29px;line-height:1.05;color:var(--dark);font-weight:500;display:block}.note-star{margin:20px 0 10px;font-family:var(--serif);font-size:43px;color:var(--wine);line-height:1}.note-action{font-size:9px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #be969155;padding-top:15px;margin-top:auto;width:100%;color:var(--wine)}.note-action svg{width:17px;height:17px}.final-declaration{position:relative;background:var(--wine);color:var(--paper);text-align:center;padding:76px 30px 45px;overflow:hidden;margin:0 5.5%;border-radius:180px 180px 3px 3px}.final-declaration:before,.final-declaration:after{content:'';position:absolute;pointer-events:none;width:330px;height:480px;border:1px solid #e6c0b11a;border-radius:50%;transform:rotate(35deg);left:-200px;bottom:-100px}.final-declaration:after{left:auto;right:-190px;top:-80px;transform:rotate(-35deg)}.final-declaration .eyebrow{color:#dfbdba;justify-content:center;font-size:8px;letter-spacing:2.1px}.final-declaration h2{font-size:clamp(48px,5.1vw,73px);line-height:1;letter-spacing:-1.5px;margin:26px 0 20px}.final-declaration h2 em{color:#eec9ba}.final-declaration h2>span{display:block;font-family:var(--hand);color:#f6d8c7;font-size:clamp(85px,9vw,124px);font-weight:400;transform:rotate(-6deg);line-height:1.1;margin:0 0 12px}.final-description{font-size:11px;line-height:1.9;color:#ebd3cd;margin:23px 0}.button-light{background:#faeee4;color:var(--wine);border-color:#faeee4}.button-light:hover{background:white}.button-light:focus-visible{outline-color:#faeee4}.final-handwriting{display:block;font-family:var(--hand);font-size:21px;color:#e2b8b4;transform:rotate(-4deg);margin-top:10px}.final-flower{position:absolute;right:100px;top:86px;transform:rotate(15deg);color:#dbb1aa}.final-flower svg{width:70px;height:70px}.hug-message{max-width:370px;margin:0 auto;min-height:36px;font-size:11px;line-height:1.8;color:#faeee4;padding-top:15px}.hug-message:empty{padding-top:0;min-height:16px}footer{margin:0 5.5%;padding:34px 0 30px;display:flex;align-items:center;justify-content:space-between;gap:20px}footer .wordmark{font-size:20px}footer>p{font-size:8px;letter-spacing:.4px;color:var(--muted)}footer>svg{width:18px;color:var(--wine)}.note-dialog{border:1px solid #d4b9ac;max-width:530px;width:calc(100% - 36px);background:var(--paper);padding:48px 45px 40px;color:var(--dark);text-align:center;box-shadow:0 20px 100px #2f102433;border-radius:3px;max-height:85dvh;overflow:auto}.note-dialog::backdrop{background:#47293299;backdrop-filter:blur(6px)}.dialog-close{position:absolute;top:12px;right:15px;width:32px;height:32px;background:transparent;border:0;font-size:26px;color:#785d59;font-weight:400}.note-dialog .eyebrow{justify-content:center;font-size:8px}.dialog-heart{width:32px;height:32px;color:var(--wine);margin:20px 0 0}.note-dialog h2{font-size:42px;margin:18px 0 22px;color:var(--wine)}#dialog-copy{font-size:13px;color:#806a63;line-height:2}.dialog-signature{font-family:var(--hand);font-size:23px;display:block;color:var(--wine);margin:25px 0}.dialog-done{font-size:10px}.heart-burst{position:fixed;inset:0;z-index:20;pointer-events:none}.heart-burst>span{position:absolute;left:var(--x);bottom:0;font-size:var(--size);color:#bb6980;opacity:0;animation:float-heart 2.4s ease-out var(--delay) forwards}@keyframes float-heart{0%{transform:translateY(0) rotate(-10deg);opacity:0}12%{opacity:1}100%{transform:translateY(-80vh) rotate(30deg);opacity:0}}
@media(min-width:1500px){.hero{gap:8%;padding-inline:10%}.hero-art{height:570px}.hero-phrase{font-size:58px}}
@media(max-width:1100px){.hero{padding:50px 6.5% 85px;gap:3%;min-height:710px}.hero-art{height:470px}.her-name{font-size:120px}.hero-phrase{font-size:44px}.header-dedication{display:none}.letter-section{gap:45px;padding:80px 7%}.letter-paper{padding:30px}.letter-intro h2{font-size:38px}.notes-section{padding:25px 7% 85px}.secret-note{padding-inline:22px}.note-title{font-size:26px}.little-note{width:160px;right:-15px}.final-flower{right:60px}}
@media(max-width:760px){html{scroll-padding-top:20px}.header{height:78px;margin:0 7%}.wordmark{font-size:21px}.nav-link{font-size:10px;gap:9px}.hero{grid-template-columns:1fr;padding:43px 7% 77px;gap:0;min-height:auto;text-align:center}.hero-copy .eyebrow{justify-content:center;font-size:7px;letter-spacing:1.5px}.her-name{font-size:125px;margin:19px auto 27px;letter-spacing:-4px}.her-name svg{right:-39px;top:18px;width:26px;height:26px}.hero-phrase{font-size:clamp(37px,7.7vw,56px);line-height:1.07;letter-spacing:-.8px}.hero-description{font-size:12px;margin:23px 0 21px}.button{padding:17px 21px}.hero-postscript{font-size:18px}.hero-art{height:475px;width:87%;max-width:370px;margin:64px auto 35px;text-align:left}.arch-outline{right:7px;left:16px}.photo-frame{right:20px;left:7px}.art-coordinate{left:25px;top:-19px;font-size:7px}.love-seal{width:79px;height:79px;left:-18px;top:40px;gap:5px}.love-seal span{font-size:6px}.love-seal svg{width:23px;height:23px}.little-note{right:-18px;bottom:32px;width:151px;min-height:161px;padding:23px 15px 12px}.little-note p{font-size:31px;margin:15px 0 10px}.note-caption{font-size:6px}.tape{left:43px}.art-handwriting{font-size:22px;left:-10px;bottom:-42px}.art-spark{right:-14px;top:5px;width:31px;height:31px}.scroll-note{bottom:15px;white-space:nowrap;font-size:8px;gap:13px}.love-ribbon{gap:13px;padding:18px 18px;flex-wrap:wrap;font-size:7px;letter-spacing:1.2px}.love-ribbon svg{width:19px;height:19px}.love-ribbon svg:last-child{display:none}.letter-section{padding:65px 8% 60px;grid-template-columns:1fr;gap:35px}.letter-intro{text-align:center}.letter-intro>.eyebrow{justify-content:center;font-size:8px}.letter-intro h2{font-size:42px;margin:20px 0}.letter-intro>p:not(.eyebrow){font-size:11px;line-height:1.8}.envelope-drawing{display:none}.letter-paper{padding:30px 25px;margin:0 0 8px;transform:rotate(.7deg)}.letter-topline{font-size:6px;letter-spacing:1px;gap:9px}.letter-topline svg{width:16px}.letter-preview{font-size:43px}.letter-teaser{font-size:27px}.letter-body{font-size:12px;line-height:2}.letter-signature>span:last-child{font-size:27px}.notes-section{padding:35px 8% 70px}.notes-heading{display:block;text-align:center;margin-bottom:35px}.notes-heading .eyebrow{justify-content:center;font-size:8px}.notes-heading h2{font-size:39px;margin-top:17px}.notes-heading>p{font-size:11px;margin-top:20px}.notes-grid{grid-template-columns:1fr;gap:25px;max-width:370px;margin:auto}.secret-note{min-height:215px;padding:22px 27px}.note-title{font-size:29px}.note-icon{position:absolute;right:27px;top:25px;width:32px;height:32px;margin:0}.note-star{position:absolute;right:27px;top:22px;margin:0}.note-title{margin:27px 0 24px}.note-two{margin-top:0}.note-action{font-size:10px;padding-top:13px}.final-declaration{margin:0 5%;padding:68px 22px 35px;border-radius:120px 120px 2px 2px}.final-declaration .eyebrow{font-size:6px;letter-spacing:1.7px}.final-declaration h2{font-size:49px;letter-spacing:-1px;margin-top:23px}.final-declaration h2>span{font-size:100px;line-height:1.1}.final-description{font-size:10px}.final-flower{top:38px;right:29px}.final-flower svg{width:33px;height:33px}.final-handwriting{font-size:21px}footer{margin:0 7%;flex-wrap:wrap;gap:16px;padding:26px 0}footer .wordmark{font-size:20px}footer>p{order:3;width:100%;margin:0;text-align:center;font-size:8px}footer>svg{width:17px}.note-dialog{padding:43px 28px 30px}.note-dialog h2{font-size:39px}.dialog-signature{font-size:22px}.note-dialog .eyebrow{font-size:7px;letter-spacing:1px}}
@media(max-width:370px){.her-name{font-size:110px}.hero-phrase{font-size:35px}.hero-art{width:88%;height:410px}.little-note{width:138px}.nav-link{font-size:9px;gap:6px}.wordmark{font-size:19px}.letter-paper{padding:26px 21px}.final-declaration h2{font-size:42px}.final-declaration h2>span{font-size:90px}.love-ribbon{gap:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Nossas fotos: arquivos originais e molduras responsivas. */
.photo-link{display:block;width:100%;height:100%;position:relative}
.photo-frame img{object-position:50% 50%}
.photo-frame:after{pointer-events:none}
.photo-frame figcaption{pointer-events:none;font-size:22px;bottom:18px}
.photo-link:focus-visible,.memory-photo-link:focus-visible{outline:3px solid var(--wine);outline-offset:-4px}
.photo-zoom{position:absolute;right:16px;top:20px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#40312d9c;color:white;font-size:17px;line-height:1;z-index:2}
.photo-frame .photo-zoom{top:90px;right:15px}
.memory-section{display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:10%;padding:95px 12% 70px;border-bottom:1px solid var(--line);margin:0 5.5%}
.memory-art{position:relative;max-width:320px;width:100%;margin:auto}
.memory-photo{position:relative;background:var(--paper);padding:11px 11px 0;transform:rotate(-4deg);box-shadow:3px 8px 24px #65473520;border:1px solid #e2cfc4;margin:0}
.memory-photo-link{display:block;position:relative}
.memory-photo img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain}
.memory-photo figcaption{font-family:var(--hand);font-size:19px;color:var(--wine);text-align:center;padding:15px 4px 17px;line-height:1.2}
.memory-tape{position:absolute;width:85px;height:28px;top:-14px;left:calc(50% - 42px);background:#d1bb977d;transform:rotate(9deg);z-index:2;clip-path:polygon(3% 0,100% 5%,97% 100%,0 94%)}
.memory-heart{position:absolute;right:-34px;bottom:18px;width:43px;height:43px;color:var(--wine);transform:rotate(17deg)}
.memory-copy .eyebrow{font-size:8px;letter-spacing:1.8px}
.memory-copy h2{font-size:clamp(37px,3.6vw,53px);margin:23px 0;line-height:1.05}
.memory-copy>p:not(.eyebrow){font-size:11px;color:var(--muted);line-height:2;margin:0}
.memory-handwriting{display:block;font-family:var(--hand);font-size:22px;color:var(--wine);margin-top:23px;transform:rotate(-4deg);line-height:1.3}
@media(max-width:1100px){.memory-section{padding:80px 7% 70px;gap:12%}.memory-copy h2{font-size:43px}.memory-photo figcaption{font-size:17px}}
@media(max-width:760px){.memory-section{grid-template-columns:1fr;gap:50px;padding:65px 6% 60px;margin:0 7%}.memory-art{max-width:280px;width:90%;order:2;margin-top:0}.memory-copy{text-align:center;order:1}.memory-copy .eyebrow{justify-content:center}.memory-copy h2{font-size:43px;margin:21px 0}.memory-copy>p:not(.eyebrow){font-size:11px}.memory-handwriting{font-size:22px;max-width:280px;margin:23px auto 0}.memory-heart{right:-21px;width:34px;height:34px;bottom:13px}.memory-photo figcaption{font-size:18px;padding:13px 3px 15px}.photo-frame figcaption{font-size:20px;bottom:19px}.photo-frame .photo-zoom{top:90px;right:15px}}
@media(max-width:370px){.memory-copy h2{font-size:37px}.memory-photo figcaption{font-size:16px}.photo-frame figcaption{font-size:18px}}
