@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600;700&family=Nothing+You+Could+Do&display=swap');

:root{--paper:#f8eee9;--ink:#592b38;--muted:#967a7e;--rose:#af5068;--line:#dfc9c5;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--hand:'Nothing You Could Do',cursive}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--rose);outline-offset:6px}button{color:inherit}::selection{background:#ecc0c9}.wrap{width:min(1180px,calc(100% - 100px));margin:auto}.grain{position:fixed;inset:0;pointer-events:none;z-index:10;opacity:.08;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='%23805050' filter='url(%23n)' opacity='.35' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.header{height:105px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font:italic 40px var(--serif);letter-spacing:-4px}.wordmark>span{font-size:23px;padding:0 6px}.wordmark .wordmark-dot{padding:0;font-size:40px}.header-note{font-size:11px;color:var(--muted);letter-spacing:.5px}.nav-link{font-size:12px}.nav-link span{margin-left:20px}.hero{position:relative;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;min-height:695px;padding-top:25px;padding-bottom:85px}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:600;line-height:1.8}.tiny-star{font-size:22px;vertical-align:middle;margin-right:10px}.hero h1{font:500 clamp(65px,7.6vw,104px)/.98 var(--serif);letter-spacing:-4px;margin:28px 0}.hero h1 em{color:var(--rose);font-weight:400}.heading-heart{display:inline-block;font:60px var(--hand);color:var(--rose);transform:rotate(-18deg);margin-left:22px;vertical-align:middle}.hero-description{font-size:14px;line-height:1.9;color:#8b6d72;margin:24px 0 30px}.button{min-height:51px;border-radius:5px;padding:15px 23px;border:1px solid var(--ink);display:inline-flex;align-items:center;gap:35px;font-size:12px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.primary{background:var(--ink);color:#fff5ef}.primary:hover{background:#773a4c}.handwritten{font-family:var(--hand);font-weight:400}.hero-caption{font-size:12px;color:var(--muted);margin-top:17px}.hero-art{height:490px;position:relative;perspective:1000px;background:radial-gradient(ellipse at center,#eed3d0 0,transparent 66%)}.orbit{position:absolute;inset:20px 0 0;border:1px solid #e6cdc8;border-radius:50%;transform:rotate(-20deg) scale(.94,.91)}.orbit:after{content:'';position:absolute;inset:25px -20px;border:1px solid #ead7d0;border-radius:50%;transform:rotate(38deg)}.birthday-stamp{position:absolute;right:9%;top:25px;width:110px;height:110px;border:1px solid #bc7984;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(14deg);background:#f8eee9;z-index:2;outline:1px solid #d9b0b4;outline-offset:-7px}.birthday-stamp span{font-size:7px;letter-spacing:1.5px}.birthday-stamp strong{font:48px/.95 var(--serif);margin:6px}.gift-scene{position:absolute;inset:95px 30px 55px;border:0;background:none;perspective:900px}.gift-3d{position:absolute;width:230px;height:240px;left:50%;top:35px;margin-left:-115px;transform:rotate(-9deg) rotateY(-15deg);animation:float 5s ease-in-out infinite;filter:drop-shadow(7px 15px 8px #8d405719)}.gift-box{position:absolute;top:66px;left:0;width:230px;height:173px;background:linear-gradient(110deg,#e9a8b6,#d9889e 70%,#c8738c);border-radius:4px 5px 12px 12px;box-shadow:inset -17px -5px 22px #b6557120,inset 2px 0 4px #fff8}.gift-ribbon{position:absolute;left:92px;width:43px;height:100%;background:linear-gradient(90deg,#93465b,#bc6d7d 35%,#a8546a 75%,#864154);box-shadow:2px 0 4px #903c5430}.gift-lid{position:absolute;top:47px;left:-10px;width:250px;height:43px;background:linear-gradient(175deg,#f5c3ce,#e1a0b3);border-radius:5px;box-shadow:0 7px 5px #833b5926,inset 0 4px 1px #ffdee6}.gift-lid span{position:absolute;width:46px;height:100%;left:102px;background:linear-gradient(90deg,#a25369,#c27d8e,#95475e)}.bow{position:absolute;top:-3px;width:92px;height:63px;border:15px solid #af6077;border-top-color:#c68697;border-bottom-color:#8c425b;border-radius:60% 70% 30% 55%;box-shadow:inset 1px 3px 7px #7d384657,2px 3px 3px #6f274b15}.bow-left{left:25px;transform:rotate(23deg)}.bow-right{left:112px;transform:rotate(-25deg) scaleX(-1)}.bow-knot{position:absolute;top:33px;left:100px;width:32px;height:28px;background:linear-gradient(100deg,#8f4259,#c37b8e,#a0536b);border-radius:9px;transform:rotate(-5deg)}.gift-tag{position:absolute;top:75px;right:8px;padding:20px 9px;background:#fff5e8;box-shadow:2px 3px 5px #994f6930;transform:rotate(15deg);font:16px var(--serif)}.gift-tag:before{content:'';position:absolute;width:35px;height:55px;bottom:95%;left:5px;border:1px solid #956c51;border-bottom:0;border-radius:50% 50% 0 0;transform:rotate(-12deg)}.gift-shadow{position:absolute;bottom:0;left:20%;width:65%;height:25px;border-radius:50%;background:#924b6320;filter:blur(12px)}.gift-hint{position:absolute;right:9%;bottom:43px;color:#9c6977;font-size:15px;transform:rotate(-7deg)}.gift-hint span{display:inline-block;font-size:37px;transform:rotate(-25deg)}.art-label{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:8px;letter-spacing:2px;color:var(--muted)}.art-star,.floating-heart{position:absolute;color:#b66e7e}.star-one{top:90px;left:12%;font-size:45px}.star-two{bottom:80px;right:4%;font-size:33px}.heart-one{top:44%;right:1%;font-size:40px;transform:rotate(15deg)}.heart-two{left:9%;bottom:70px;font-size:20px;transform:rotate(-20deg);color:#d2a0a8}.scroll-note{position:absolute;bottom:34px;left:0;font-size:8px;letter-spacing:2px;color:var(--muted)}.scroll-note span{margin-left:20px;font-size:17px}.ribbon{display:flex;align-items:center;justify-content:center;gap:42px;padding:21px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;color:#a56c78;background:#f3e3de}.ribbon span{font:italic 20px var(--serif)}.section{padding-top:100px;padding-bottom:100px}h2{font:500 49px/1.08 var(--serif);letter-spacing:-1.5px;margin:17px 0}h2 em{font-weight:400;color:var(--rose)}.section-intro{text-align:center}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:55px}.story-card{position:relative;padding:29px 30px 25px;border-top:1px solid var(--line)}.card-number{font-size:9px;color:var(--muted)}.card-icon{float:right;font:30px var(--serif);color:#b87587}.story-card h3{font:500 27px var(--serif);margin:27px 0 14px;letter-spacing:-.5px}.story-card p{font-size:12px;line-height:1.95;color:#8b7477}.memories{background:#f0e1dc}.memories-heading{display:flex;justify-content:space-between;align-items:end}.memories-heading>p{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:20px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:35px 15px 5px}.polaroid{margin:0;padding:13px 13px 19px;background:#fffaf4;box-shadow:0 9px 20px #683b4510;transform:rotate(-4deg)}.polaroid:nth-child(2){transform:rotate(3deg) translateY(14px)}.polaroid:nth-child(3){transform:rotate(-2deg)}.photo-slot{aspect-ratio:1/1.05;overflow:hidden;background:#eadace}.photo-slot img{width:100%;height:100%;object-fit:cover}.photo-placeholder{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:radial-gradient(ellipse at 40% 30%,#f5e5c7,#e8d6c8);color:#a68872;text-align:center}.photo-placeholder.pink{background:radial-gradient(ellipse at 40% 30%,#f0d2d5,#e5c5c9);color:#aa7b85}.photo-placeholder.lilac{background:radial-gradient(ellipse at 40% 30%,#e4dce5,#d6cbd9);color:#928098}.photo-placeholder>span{font:65px var(--serif);font-weight:400}.photo-placeholder p{font:italic 24px var(--serif);margin:18px 0 9px}.photo-placeholder small{font-size:9px;letter-spacing:.3px}.polaroid figcaption{font:16px var(--hand);text-align:center;padding-top:22px}.letter-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;padding-top:115px}.letter-aside{padding-top:25px}.letter-doodle{font:120px var(--hand);display:block;color:#c28a95;transform:rotate(-12deg);margin:30px 0 0 30px}.letter-aside .handwritten{font-size:14px;line-height:1.9;color:#a9818b}.letter{background:#fffaf4;position:relative;border:1px solid #eadbd1;padding:40px 48px;box-shadow:8px 10px 0 #eedfd9;transform:rotate(1deg)}.letter-top{display:flex;justify-content:space-between;border-bottom:1px solid #eadbd1;padding-bottom:18px;font-size:8px;letter-spacing:2px;color:var(--muted)}.letter-top span{font-size:18px}.letter h3{font:italic 32px var(--serif);font-weight:400;margin:27px 0 20px}.letter p{font-size:12px;line-height:2;color:#866e71}.letter .tagalog{font:italic 22px var(--serif);color:var(--rose);margin-top:24px}.letter .signature{font:30px var(--hand);color:var(--ink);margin-bottom:0}.signature span{font:11px var(--sans);display:block;margin:27px 0 9px}.letter-seal{position:absolute;bottom:35px;right:37px;width:54px;height:54px;border-radius:50%;background:#b16c7a;color:#fbe2db;display:grid;place-items:center;font:italic 16px var(--serif);box-shadow:inset 0 0 0 4px #b97985,inset 0 0 0 5px #a65b70;transform:rotate(-15deg)}.closing{text-align:center;padding:10px 0 75px}.closing>span{font-size:40px;color:var(--rose)}.closing>p{font-size:11px;color:var(--muted);margin-top:25px}.closing h2{font-size:54px;margin:15px 0 30px}.secondary{background:transparent;border-color:#c69ba4}.closing .wish-message{min-height:32px;line-height:1.8;margin-top:22px}footer{padding:30px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:1.2px;color:var(--muted)}footer>span:nth-child(2){font:italic 22px var(--serif);letter-spacing:0}.footer-heart{padding:0 9px;color:var(--rose)}dialog{width:min(500px,calc(100% - 32px));max-height:calc(100dvh - 36px);overflow:auto;border:1px solid #ead0cc;border-radius:14px;padding:32px 32px 20px;text-align:center;background:#fff6ee;color:var(--ink);box-shadow:0 20px 100px #43223340}dialog::backdrop{background:#40233170;backdrop-filter:blur(7px)}.close-dialog{position:absolute;right:12px;top:10px;border:0;background:none;font-size:28px;width:36px;height:36px}.close-dialog:hover{color:var(--rose)}dialog>.eyebrow{font-size:8px;letter-spacing:1.5px;margin-top:13px}dialog h2{font-size:39px;letter-spacing:-1px;margin-top:0}dialog>p:not(.eyebrow):not(.handwritten){font-size:12px;line-height:1.8;color:#96767c}.voucher{border:1px dashed #cb9e9f;border-radius:5px;padding:18px;margin-top:23px;background:#f8e8df}.voucher span,.voucher strong,.voucher small{display:block}.voucher span{font-size:8px;letter-spacing:2px}.voucher strong{font:500 22px var(--serif);margin:9px 0}.voucher small{font-size:10px;color:#96767c}dialog>.handwritten{color:var(--rose);font-size:19px;margin-bottom:8px}.ice-cream{height:215px;width:180px;margin:12px auto;position:relative;filter:drop-shadow(4px 6px 4px #c77b7620)}.scoop{position:absolute;border-radius:48% 48% 38% 38%;width:104px;left:38px;box-shadow:inset -12px -10px 15px #b4535420,inset 9px 7px 15px #fff7}.scoop-top{height:82px;top:10px;background:radial-gradient(circle at 30% 30%,#ffe3e6,#ec9eb4);z-index:3;transform:rotate(-4deg)}.scoop-bottom{height:65px;top:64px;background:radial-gradient(circle at 40% 30%,#fffbe4,#efce9f);width:116px;left:32px;z-index:2}.cone{position:absolute;top:110px;left:41px;width:98px;height:99px;clip-path:polygon(0 0,100% 0,50% 100%);background:repeating-linear-gradient(40deg,transparent 0 12px,#ab70344d 13px 15px,transparent 16px 23px),repeating-linear-gradient(-40deg,#e2ac6a 0 12px,#f9cb8d 13px 15px,#e2ac6a 16px 23px)}.scoop i{position:absolute;width:9px;height:3px;background:#b0687a;border-radius:3px;transform:rotate(35deg);top:26px;left:20px}.scoop i:nth-child(2){top:15px;left:55px;background:#fff1bf;transform:rotate(-30deg)}.scoop i:nth-child(3){top:44px;left:70px;background:#f7edc1}.scoop i:nth-child(4){top:56px;left:35px;background:#fff9f0;transform:rotate(-65deg)}.scoop i:nth-child(5){top:34px;left:47px;background:#a57688;transform:rotate(80deg)}.ice-sparkle{position:absolute;font:35px var(--serif);color:#b56f83}.s1{left:0;top:50px}.s2{right:-1px;top:106px;transform:rotate(20deg)}#confetti{position:fixed;inset:0;pointer-events:none;z-index:100;overflow:hidden}.confetti-piece{position:absolute;top:-20px;width:8px;height:13px;animation:confetti-fall 2.9s ease-in forwards}.reveal{opacity:1}.js-motion .reveal{opacity:0;translate:0 20px;transition:opacity .7s,translate .7s}.js-motion .reveal.visible{opacity:1;translate:0 0}@keyframes float{0%,100%{transform:translateY(0) rotate(-9deg) rotateY(-15deg)}50%{transform:translateY(-13px) rotate(-6deg) rotateY(-8deg)}}@keyframes confetti-fall{to{transform:translate(var(--drift),105vh) rotate(640deg);opacity:.1}}
@media(min-width:1500px){.hero{min-height:760px}.hero-art{height:540px}.gift-scene{top:110px}.gift-3d{scale:1.1}}
@media(max-width:900px){.wrap{width:calc(100% - 56px)}.header-note{display:none}.hero{min-height:630px}.hero h1{font-size:73px}.heading-heart{font-size:38px;margin-left:8px}.gift-3d{scale:.8}.hero-art{height:430px}.birthday-stamp{right:0;width:88px;height:88px}.birthday-stamp strong{font-size:38px}.birthday-stamp span{font-size:6px}.gift-scene{inset:80px 0 55px}.gift-hint{right:0;font-size:12px}.ribbon{gap:20px}.ribbon span{font-size:17px}.story-grid{gap:5px}.story-card{padding:25px 15px}.photo-grid{gap:20px;padding-left:0;padding-right:0}.photo-placeholder p{font-size:20px}.photo-placeholder small{font-size:8px}.letter-section{gap:40px;grid-template-columns:.7fr 1fr}.letter{padding:28px}.letter h3{font-size:30px}h2{font-size:40px}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.header{height:80px}.wordmark{font-size:34px}.nav-link{font-size:11px}.hero{grid-template-columns:1fr;padding-top:35px;padding-bottom:65px;text-align:center}.hero h1{font-size:77px;letter-spacing:-3px;margin:22px 0}.eyebrow{font-size:8px;letter-spacing:1.8px}.hero-description{font-size:13px;margin:20px 0 24px}.hero-caption{font-size:11px}.hero-art{height:365px;width:min(360px,100%);margin:15px auto 0}.orbit{inset:15px 5px 10px}.gift-scene{inset:45px 15px 50px}.gift-3d{top:15px;scale:.78}.birthday-stamp{top:10px;right:15px}.star-one{top:65px;left:8%}.gift-hint{bottom:35px;right:25px}.art-label{bottom:0}.scroll-note{left:0;right:0;bottom:22px}.heart-two{left:6%;bottom:80px}.ribbon{gap:15px;padding:16px 14px;flex-wrap:wrap;line-height:1.4}.ribbon span{font-size:16px}.ribbon span:nth-of-type(4){display:none}.section{padding-top:65px;padding-bottom:65px}h2{font-size:37px;letter-spacing:-1px}.story-grid{grid-template-columns:1fr;gap:9px;margin-top:30px}.story-card{padding:20px 15px 12px}.story-card h3{margin-top:17px;font-size:28px}.story-card p{font-size:13px}.memories-heading{display:block;text-align:center}.memories-heading>p{margin:18px 0}.memories-heading>p br{display:none}.photo-grid{grid-template-columns:1fr;gap:38px;max-width:295px;margin:auto;padding-top:25px}.polaroid:nth-child(2){transform:rotate(3deg)}.photo-placeholder p{font-size:25px}.photo-placeholder small{font-size:10px}.letter-section{grid-template-columns:1fr;gap:20px}.letter-aside{text-align:center;padding-top:0}.letter-doodle{display:none}.letter-aside .handwritten{margin:23px 0}.letter{padding:27px 25px;transform:rotate(.5deg)}.letter p{font-size:13px}.letter-seal{right:25px;bottom:30px}.closing{padding:5px 0 35px}.closing h2{font-size:40px}.closing>p{margin-top:18px}footer{gap:15px;flex-wrap:wrap;justify-content:center;text-align:center;padding:24px 0;font-size:7px}footer>span:nth-child(2){order:-1;flex-basis:100%;font-size:24px}dialog{padding:32px 20px 20px}dialog h2{font-size:35px}.ice-cream{height:185px;scale:.87;margin:-4px auto 4px}.voucher{margin-top:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;translate:none}}
.height-jokes{margin:35px auto 0;padding:35px 20px 5px;text-align:center;border-top:1px solid var(--line)}.height-jokes h3{font:500 38px/1.15 var(--serif);margin:20px 0}.height-jokes h3 em{font-weight:400;color:var(--rose)}.height-jokes>p{font-size:12px;line-height:1.95;color:#8b7477}.height-jokes .handwritten{font-size:14px;color:var(--rose);margin-top:20px}.video-slot video{display:block;width:100%;height:100%;object-fit:contain;background:#35262f}.photo-placeholder .video-play{font:36px var(--sans);border:1px solid #aa94ae;border-radius:50%;width:65px;height:65px;display:grid;place-items:center;padding-left:4px}.photo-placeholder .video-label{font:7px var(--sans);letter-spacing:1.5px;margin-top:22px}@media(max-width:600px){.height-jokes{margin-top:20px;padding-left:0;padding-right:0}.height-jokes h3{font-size:34px}.height-jokes>p br{display:none}}
