:root{--paper:#f7f3eb;--paper-light:#fcfaf5;--ink:#3e3935;--muted:#81786e;--rose:#b8756d;--rose-light:#ead9d1;--sage:#6c8172;--dark:#554048;--line:#ded7cc;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:36px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:clip}body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:8;opacity:.025;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='%23000' filter='url(%23n)' opacity='.55' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:wait}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--rose);outline-offset:6px}button{touch-action:manipulation}img{display:block;width:100%;object-fit:cover}p,h1,h2,h3,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08}em{font-weight:400;color:var(--rose)}button{border:0;background:none}::selection{background:#e7c8bd}section{position:relative}button svg,a svg{pointer-events:none}[hidden]{display:none!important}.shell{width:min(1192px,calc(100% - 112px));margin-inline:auto}.icon{width:24px;height:24px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.svg-definitions{position:absolute;width:0;height:0;overflow:hidden}.eyebrow{display:block;font-size:10px;font-weight:600;letter-spacing:2.1px;line-height:1.6}.handwritten{font-family:var(--serif);font-style:italic;font-weight:400}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:54px;padding:14px 25px;font-size:12px;letter-spacing:.15px;border-radius:4px;transition:transform .2s,background .2s,box-shadow .2s}.button:hover{transform:translateY(-3px);box-shadow:0 7px 19px #5540481c}.button-dark{background:var(--dark);color:#fffaf2}.button-dark:hover{background:#674b54}.button .icon{width:18px;height:18px}.text-button{display:inline-flex;align-items:center;gap:12px;padding:10px 3px;font-size:12px}.text-button .icon{width:16px;height:16px}.icon-button{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;transition:background .2s}.icon-button:hover{background:#b8756d14}.icon-button .icon{width:19px;height:19px}.skip-link{position:fixed;top:-100px;left:15px;z-index:50;padding:12px 20px;background:var(--dark);color:white}.skip-link:focus{top:12px}

.hero{display:grid;grid-template-columns:1.03fr 1fr;align-items:center;column-gap:40px;padding-top:55px;min-height:714px}.hero-copy{padding-bottom:30px;position:relative;z-index:2}.hero .eyebrow{color:#88766a;font-size:9px;letter-spacing:2px;display:flex;gap:9px;align-items:center}.tiny-star{font-size:24px;line-height:1;color:var(--rose)}h1{font-size:clamp(50px,5.1vw,76px);line-height:1.12;letter-spacing:-3.5px;margin:24px 0 23px}h1 em{display:block;white-space:nowrap;font-size:1.025em;position:relative}h1 em::after{content:"";position:absolute;left:3px;bottom:-9px;width:91%;height:8px;border-top:1px solid #b8756d70;border-radius:50%;transform:rotate(-1deg)}.hero-description{color:var(--muted);font-size:13px;line-height:1.95;margin-top:32px}.hero-actions{display:flex;align-items:center;gap:17px;margin-top:29px}.duration{font-size:9px;max-width:85px;line-height:1.6;color:#9a8c80}.hero-signature{display:flex;gap:10px;align-items:center;margin-top:36px;font-family:var(--serif);font-style:italic;font-size:17px;color:#9c8074}.hero-signature .icon{width:18px;height:18px;transform:rotate(9deg)}.hero-collage{height:505px;position:relative;min-width:0;margin-top:5px}.collage-halo{position:absolute;inset:24px -20px 5px -35px;border-radius:50%;background:radial-gradient(ellipse,#e4dcc37a 0,#e7dfd650 40%,#f7f3eb00 70%);filter:blur(4px)}.hero-photo{position:absolute;background:#fffcf4;padding:12px 12px 0;box-shadow:0 14px 26px #685c4222,0 1px 3px #685c4217}.hero-photo img{height:calc(100% - 42px);object-fit:cover}.hero-photo figcaption{font-family:var(--serif);font-style:italic;text-align:center;font-size:16px;color:#786859;height:42px;display:flex;align-items:center;justify-content:center}.photo-main{width:61%;height:374px;left:4%;top:60px;transform:rotate(-8deg);z-index:2}.paper-tape{position:absolute;background:#d1bd8d59;height:30px;width:107px;top:-10px;left:50%;transform:translateX(-50%) rotate(5deg);z-index:3;clip-path:polygon(2% 0,100% 3%,97% 95%,0 100%)}.photo-small{width:43%;height:252px;right:0;top:1px;transform:rotate(9deg);z-index:1;padding:9px 9px 0}.photo-small figcaption{font-size:13px;height:35px}.photo-small img{height:calc(100% - 35px)}.love-stamp{position:absolute;bottom:71px;right:3%;z-index:4;width:128px;height:128px;background:#6b806d;color:#fff8e8;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15;transform:rotate(10deg);clip-path:polygon(100% 50%,96% 60%,97% 72%,86% 79%,81% 90%,68% 91%,59% 99%,47% 96%,36% 99%,27% 89%,16% 86%,12% 74%,3% 66%,6% 54%,0 42%,6% 32%,7% 21%,20% 17%,26% 7%,39% 8%,49% 1%,60% 6%,73% 5%,79% 16%,90% 21%,90% 34%,98% 41%);transition:transform .3s}.love-stamp:hover{transform:rotate(-3deg) scale(1.05)}.love-stamp .icon{width:23px;height:23px;margin-bottom:5px}.love-stamp>span{font-family:var(--serif);font-size:17px;font-style:italic}.love-stamp .stamp-tiny{font-family:var(--sans);font-style:normal;font-size:6px;letter-spacing:1.5px;margin-top:9px}.collage-handwritten{position:absolute;right:12px;top:281px;z-index:3;font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.3;transform:rotate(-6deg);color:#9a8170;text-align:center}.doodle-arrow{position:absolute;width:91px;height:65px;bottom:17px;right:81px;fill:none;stroke:#b28a76;stroke-width:1.3;transform:rotate(-20deg)}.collage-star{position:absolute;font-family:var(--serif);color:#af8571;z-index:3}.star-one{left:0;top:17px;font-size:44px;transform:rotate(-15deg)}.star-two{left:45%;bottom:17px;font-size:18px}.star-three{right:-26px;top:201px;font-size:34px}.hero-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:22px 0 23px;margin-top:15px;color:#8d8174}.hero-bottom>span{display:flex;align-items:center;gap:12px;font-size:8px;letter-spacing:1.5px}.small-line{display:block;height:1px;width:33px;background:#b6a895}.hero-bottom a{display:flex;align-items:center;gap:17px;font-size:10px}.hero-bottom .icon{width:16px;height:16px}
.section-space{padding:100px 0}.section-heading h2,h2{font-size:clamp(39px,4.2vw,59px);letter-spacing:-1.7px;line-height:1.13}.section-heading .eyebrow{color:#9b7d6d;margin-bottom:19px}.section-heading p{color:var(--muted);font-size:12px;margin-top:23px}.centered{text-align:center}.memories-section{background:var(--paper-light);border-top:1px solid #ece5d9}.memory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:64px;padding:0 13px}.memory-card{perspective:1400px;min-width:0;transform:rotate(var(--tilt));transition:transform .3s}.memory-card:hover,.memory-card:focus-within{transform:rotate(0) translateY(-5px);z-index:2}.card-inner{position:relative;width:100%;height:455px;transform-style:preserve-3d;transition:transform .75s cubic-bezier(.2,.7,.2,1)}.is-flipped .card-inner{transform:rotateY(180deg)}.card-face{position:absolute;inset:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 10px 22px #5a432016,0 1px 3px #5a432011}.photo-front{background:#fffdf6;padding:12px 12px 0;display:flex;flex-direction:column;text-align:left}.photo-front img{height:calc(100% - 72px);object-fit:cover}.photo-caption{display:flex;align-items:center;justify-content:space-between;padding:12px 7px 0;gap:8px;font-family:var(--serif);font-size:18px;font-style:italic;line-height:1.3;width:100%;color:#6e6257}.photo-caption .icon{width:15px;height:15px;color:#a49b8b}.photo-date{font-family:var(--sans);font-size:7px;letter-spacing:1.8px;line-height:1;padding:10px 7px;color:#aaa08d}.photo-back{background:#f1e5dc;transform:rotateY(180deg);padding:40px 25px 25px;text-align:left;display:flex;flex-direction:column;align-items:flex-start}.back-close{position:absolute;top:5px;right:6px;color:#96877a}.back-eyebrow{font-size:7px;letter-spacing:1.5px;color:#9b7a6d}.photo-back h3{font-size:34px;line-height:1.12;letter-spacing:-1px;margin-top:15px;color:#79534b}.memory-tabs{display:flex;gap:6px;margin-top:22px;border-bottom:1px solid #d8c6b9;width:100%}.memory-tab{padding:8px 4px;font-size:9px;position:relative;color:#8e7b6c}.memory-tab.is-active{color:#704e43}.memory-tab.is-active::after{content:"";height:1px;background:#b8756d;position:absolute;bottom:-1px;left:0;right:0}.memory-story{font-family:var(--serif);font-size:17px;line-height:1.6;color:#775f50;margin-top:19px}.example-note{display:block;font-size:8px;line-height:1.6;color:#a68f7e;letter-spacing:.2px}.photo-back .example-note{margin-top:auto;padding-top:12px}.back-heart{position:absolute;right:21px;bottom:22px;width:20px;height:20px;color:#b69380}.memory-footnote{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:41px;color:#a48773;font-size:21px}.memory-footnote .handwritten{font-size:16px}.secret-star{height:46px;width:46px;display:flex;align-items:center;justify-content:center;color:#b08c56;transition:transform .25s}.secret-star .icon{height:30px;width:30px}.secret-star:hover{transform:rotate(60deg) scale(1.1)}

.secret-section{background:#514047;color:#f9efe2;overflow:hidden;padding-bottom:84px}.secret-section .section-heading .eyebrow{color:#c5a78f}.secret-section .section-heading h2{font-size:52px;line-height:1.16}.secret-section em{color:#d4ad93}.secret-section .section-heading p{color:#bba89f;font-size:11px;margin-top:20px}.secret-stars{position:absolute;inset:35px 3%;pointer-events:none}.secret-stars span{position:absolute;color:#c5a58485;font-size:35px}.secret-stars span:nth-child(1){left:9%;top:7%}.secret-stars span:nth-child(2){left:20%;top:49%;font-size:56px}.secret-stars span:nth-child(3){right:16%;top:26%;font-size:18px}.secret-stars span:nth-child(4){right:8%;top:67%;font-size:56px}.secret-stars span:nth-child(5){left:10%;top:83%;font-size:22px}.secret-card{position:relative;isolation:isolate;max-width:662px;height:388px;margin:42px auto 0;box-shadow:0 12px 40px #1e161e21;border:1px solid #c7a88a42;border-radius:4px;overflow:hidden;background:#f1e8d7}.secret-message{height:100%;padding:32px 15px 15px;text-align:center;color:#6c5750;display:flex;flex-direction:column;align-items:center}.letter-heart{color:#b58976;width:26px;height:26px;margin-bottom:19px}.love-words{font-family:var(--serif);font-size:30px;line-height:1.38;letter-spacing:-.3px}.love-words em{color:#b17662}.love-detail{font-size:11px;line-height:1.8;margin-top:17px;color:#8a7564}.love-signature{font-family:var(--serif);font-style:italic;font-size:20px;margin-top:16px;color:#a07760}.secret-message .example-note{font-size:7px;margin-top:auto;color:#a38c75}.secret-veil{position:absolute;inset:0;transition:opacity .9s;touch-action:none;cursor:crosshair;overflow:hidden;background:transparent}#scratch-canvas{display:block;width:100%;height:100%;touch-action:none}.veil-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;color:#d9c1a6;transition:opacity .5s}.veil-label .icon{width:38px;height:38px;margin-bottom:22px;stroke-width:1}.veil-label>span{font-family:var(--serif);font-size:26px;font-style:italic}.veil-label small{font-size:9px;letter-spacing:1px;margin-top:15px;color:#b39e89}.secret-veil.is-scratching .veil-label{opacity:0}.secret-card.is-revealed .secret-veil{opacity:0;pointer-events:none}.reveal-fallback{display:flex;margin:20px auto 0;font-size:10px;color:#c6b19f}.revealed-note{text-align:center;color:#d2bda6;font-family:var(--serif);font-style:italic;font-size:16px;margin-top:24px;min-height:30px}
.site-footer{border-top:1px solid var(--line);text-align:center;padding-top:44px;padding-bottom:38px;display:flex;flex-direction:column;align-items:center}.footer-heart{width:23px;height:23px;color:var(--rose);margin-bottom:13px}.site-footer>p{font-family:var(--serif);font-size:27px;letter-spacing:-.8px}.site-footer>span{font-size:10px;color:#9e8e7e;margin-top:5px}.site-footer>.text-button{margin-top:18px;font-size:9px;color:#9b806a}.footer-demo{display:block;font-size:8px;color:#afa294;letter-spacing:.3px;margin-top:27px}
.chapter-dots{position:fixed;right:17px;top:50%;transform:translateY(-50%);z-index:7;display:flex;flex-direction:column;padding:7px 3px;border-radius:20px;background:#f7f3ebbd;backdrop-filter:blur(8px)}.chapter-dots a{position:relative;display:flex;width:24px;height:28px;align-items:center;justify-content:center}.chapter-dots a>span{width:5px;height:5px;border-radius:50%;background:#b6aa9b;transition:transform .25s,background .25s}.chapter-dots a.is-active>span{background:#9e6b5c;transform:scale(1.5);box-shadow:0 0 0 3px #9e6b5c15}.chapter-dots small{position:absolute;right:28px;top:3px;background:#f7f3eb;padding:3px 10px;font-size:9px;white-space:nowrap;border-radius:3px;box-shadow:0 2px 8px #44333310;opacity:0;pointer-events:none;transition:opacity .2s}.chapter-dots a:hover small,.chapter-dots a:focus-visible small{opacity:1}.celebration-layer{position:fixed;inset:0;pointer-events:none;z-index:40;overflow:hidden}.confetti-piece{position:absolute;top:-25px;width:9px;height:15px;border-radius:2px;opacity:0;animation:confetti-fall var(--fall,3s) ease-out var(--delay,0s) forwards}.album-dialog{width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 48px);border:1px solid #ded2c0;background:#fbf7ed;color:var(--ink);padding:45px 36px 35px;border-radius:6px;box-shadow:0 24px 80px #29161e40;overflow-y:auto}.album-dialog::backdrop{background:#392d34a1;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:8px;top:8px;color:#9d8271}.album-dialog .eyebrow{font-size:8px;color:#b28b70;letter-spacing:1.6px;margin-bottom:20px}.album-dialog h2{font-size:41px;line-height:1.1;letter-spacing:-1.4px;margin-bottom:20px}.album-dialog>p{font-size:12px;color:#998573;line-height:1.8;margin-bottom:15px}.album-dialog>.button{margin-top:15px;min-height:47px;font-size:11px}.little-secret-dialog>img{display:block;width:min(100%,280px);height:auto;margin:0 auto 25px;object-fit:contain;border:8px solid #fffdf8}.little-secret-dialog h2{font-size:39px}.birthday-permissions{padding-left:17px;margin:5px 0 23px;font-size:12px;line-height:2;color:#978371}.little-secret-dialog>.handwritten{color:#b18a6f;font-size:18px}.no-script{position:fixed;bottom:0;left:0;right:0;background:white;padding:20px;text-align:center;z-index:40;font-size:13px}
@keyframes letter-appear{from{opacity:0;transform:translateY(24px) rotate(-2deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes confetti-fall{0%{opacity:0;transform:translate3d(0,-15px,0) rotate(0)}8%{opacity:1}90%{opacity:1}100%{opacity:0;transform:translate3d(var(--drift,40px),105vh,0) rotate(var(--spin,410deg))}}
.hero-photo .hero-happy-photo{object-position:35% 100%}.hero-photo .hero-bloom-photo{object-position:65% 85%}

@media(min-width:1500px){.hero{min-height:785px;padding-top:62px}.hero-collage{height:560px}.photo-main{height:411px;top:70px}.photo-small{height:284px;top:8px}.collage-handwritten{top:316px}.love-stamp{bottom:84px}h1{font-size:80px}}
@media(max-width:1100px){.shell{width:calc(100% - 88px)}.hero{column-gap:22px;min-height:660px}.hero-collage{height:455px}.photo-main{height:337px;top:58px}.photo-small{height:222px;top:14px}.collage-handwritten{font-size:16px;top:260px;right:0}.love-stamp{width:108px;height:108px;bottom:47px;right:-6px}.love-stamp>span{font-size:15px}.hero-actions{gap:12px}.hero-actions .button{padding-inline:20px;gap:19px}.hero-bottom{margin-top:24px}.memory-grid{gap:24px;padding-inline:4px}.card-inner{height:428px}.photo-caption{font-size:16px;padding-inline:1px}.photo-back{padding:35px 21px 21px}.photo-back h3{font-size:30px}.memory-story{font-size:16px;line-height:1.55}.chapter-dots{right:8px}}
@media(max-width:820px){.shell{width:calc(100% - 52px)}.hero{min-height:auto;padding-top:40px;column-gap:16px}.hero .eyebrow{font-size:7px;letter-spacing:1.3px}.tiny-star{font-size:20px}h1{font-size:49px;letter-spacing:-2.5px}.hero-description{font-size:11px}.hero-actions{flex-direction:column;align-items:flex-start;gap:10px;margin-top:23px}.hero-actions .button{font-size:11px;min-height:48px;padding-inline:19px}.duration{max-width:none;font-size:8px;padding-left:1px}.hero-signature{font-size:15px;margin-top:26px}.hero-collage{height:410px}.photo-main{width:65%;height:280px;left:0;top:60px}.photo-small{height:190px;width:44%;right:-1px;top:21px}.hero-photo{padding:8px 8px 0}.hero-photo figcaption{font-size:12px;height:36px}.hero-photo img{height:calc(100% - 36px)}.photo-small figcaption{font-size:10px}.love-stamp{width:95px;height:95px;bottom:32px;right:-2px}.love-stamp>span{font-size:13px}.love-stamp .icon{width:20px;height:20px}.love-stamp .stamp-tiny{font-size:5px;margin-top:6px}.collage-handwritten{font-size:14px;top:238px;right:-3px}.star-one{font-size:36px;top:10px}.star-three{right:-12px;top:183px;font-size:23px}.star-two{bottom:17px}.doodle-arrow{width:62px;right:61px;bottom:7px}.hero-bottom{margin-top:12px}.hero-bottom>span{font-size:6.5px;letter-spacing:.9px;gap:9px}.hero-bottom a{font-size:8px;gap:10px}.small-line{width:21px}.section-space{padding-block:78px}.memory-grid{gap:18px;margin-top:48px}.card-inner{height:370px}.photo-front{padding:8px 8px 0}.photo-front img{height:calc(100% - 68px)}.photo-caption{font-size:14px;line-height:1.15;padding-top:10px}.photo-caption .icon{width:12px;height:12px}.photo-date{font-size:6px;letter-spacing:1px;padding:9px 1px}.photo-back{padding:35px 16px 17px}.photo-back h3{font-size:25px;margin-top:13px}.back-eyebrow{font-size:6px;letter-spacing:.9px}.memory-tabs{gap:2px;margin-top:14px}.memory-tab{font-size:8px;padding-inline:3px;white-space:nowrap}.memory-story{font-size:14px;margin-top:12px;line-height:1.48}.photo-back .example-note{font-size:7px}.back-heart{width:17px;height:17px;right:12px;bottom:18px}.secret-section .section-heading h2{font-size:43px}.secret-card{height:369px;max-width:590px}.secret-message{padding-top:27px}.love-words{font-size:28px}.chapter-dots{display:none}}
@media(max-width:600px){html{scroll-padding-top:18px}.shell{width:calc(100% - 42px)}.hero{display:flex;flex-direction:column;padding-top:37px;position:relative}.hero-copy{width:100%;padding-bottom:0;z-index:3}.hero .eyebrow{font-size:8px;letter-spacing:1.5px}h1{font-size:clamp(47px,11.1vw,64px);line-height:1.1;margin:20px 0 0;letter-spacing:-2.8px}h1 em{display:inline;white-space:normal}h1 em::after{width:100%;bottom:-8px}.hero-description{margin-top:25px;font-size:12px;line-height:1.8}.hero-description br:first-child{display:none}.hero-description br:first-child::after{content:' '}.hero-actions{flex-direction:row;align-items:center;gap:14px;margin-top:22px}.hero-actions .button{min-height:48px;gap:16px;padding-inline:20px;font-size:11px}.duration{max-width:85px;font-size:8px}.hero-signature{position:absolute;left:0;bottom:-372px;font-size:15px;margin:0;transform:rotate(-3deg);z-index:5}.hero-collage{width:100%;height:359px;margin-top:15px;margin-bottom:24px;max-width:430px;align-self:center}.photo-main{height:278px;width:55%;left:7%;top:29px}.photo-small{height:190px;width:36%;right:7%;top:9px}.hero-photo figcaption{font-size:12px;height:37px}.hero-photo img{height:calc(100% - 37px)}.photo-small figcaption{font-size:10px;height:33px}.photo-small img{height:calc(100% - 33px)}.love-stamp{width:96px;height:96px;right:5%;bottom:25px}.collage-handwritten{font-size:15px;top:213px;right:7%;text-align:center}.doodle-arrow{width:55px;height:45px;right:90px;bottom:5px;transform:rotate(-10deg)}.star-one{left:0;top:12px;font-size:34px}.star-two{left:46%;bottom:9px;font-size:14px}.star-three{right:0;top:159px;font-size:25px}.hero-bottom{width:100%;margin-top:23px;padding-block:17px}.hero-bottom>span{font-size:6px;letter-spacing:.5px;max-width:46%;line-height:1.7}.hero-bottom a{font-size:8px;gap:6px}.small-line{width:15px;flex-shrink:0}.section-space{padding-block:62px}.section-heading .eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:17px}.section-heading h2,h2{font-size:40px;letter-spacing:-1.5px}.section-heading p{font-size:10px;line-height:1.8;margin:18px auto 0;max-width:265px}.memory-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:23px;margin:24px -21px 0;padding:22px 36px 29px;scroll-padding-inline:36px;scrollbar-width:thin;scrollbar-color:#d7c9b8 transparent;overscroll-behavior-x:contain}.memory-card{flex:0 0 min(78vw,320px);scroll-snap-align:center;transform:rotate(var(--tilt))}.memory-card:hover{transform:rotate(var(--tilt))}.memory-card:focus-within{transform:rotate(0)}.card-inner{height:424px}.photo-front{padding:11px 11px 0}.photo-front img{height:calc(100% - 72px)}.photo-caption{font-size:19px;padding:13px 5px 0}.photo-caption .icon{width:17px;height:17px}.photo-date{font-size:7px;letter-spacing:1.7px;padding:10px 5px}.photo-back{padding:37px 25px 23px}.back-eyebrow{font-size:7px;letter-spacing:1.4px}.photo-back h3{font-size:34px;margin-top:16px}.memory-tabs{margin-top:18px;gap:8px}.memory-tab{font-size:9px;padding:8px 5px}.memory-story{font-size:17px;line-height:1.5;margin-top:18px}.photo-back .example-note{font-size:8px}.back-heart{right:20px;bottom:21px}.memory-footnote{gap:7px;margin-top:19px}.memory-footnote .handwritten{font-size:15px}.secret-star{height:42px;width:42px}.secret-star .icon{width:27px;height:27px}.secret-section{padding-top:62px;padding-bottom:55px}.secret-section .section-heading h2{font-size:36px;letter-spacing:-1.1px}.secret-section .section-heading p{font-size:10px;max-width:240px}.secret-card{height:350px;margin-top:32px}.secret-message{padding:28px 11px 16px}.letter-heart{width:23px;height:23px;margin-bottom:20px}.love-words{font-size:24px;line-height:1.4;letter-spacing:-.5px}.love-detail{font-size:10px;margin-top:16px}.love-signature{font-size:20px;margin-top:17px}.veil-label>span{font-size:22px}.veil-label .icon{width:33px;height:33px}.veil-label small{font-size:8px}.secret-stars span:nth-child(1){left:2%;top:0}.secret-stars span:nth-child(3){right:0;top:26%}.secret-stars span:nth-child(4){right:1%;top:76%}.secret-stars span:nth-child(5){left:2%;top:91%}.reveal-fallback{font-size:9px;margin-top:17px;gap:9px}.revealed-note{font-size:14px}.site-footer{padding-top:34px;padding-bottom:27px}.site-footer>p{font-size:25px}.site-footer>span{font-size:9px}.footer-demo{font-size:7px}.album-dialog{padding:40px 25px 30px}.album-dialog h2{font-size:37px}.album-dialog>p{font-size:12px}.little-secret-dialog>img{width:min(100%,240px)}.birthday-permissions{font-size:11px}}
@media(max-width:360px){.shell{width:calc(100% - 32px)}h1{font-size:44px}.hero .eyebrow{font-size:7px}.hero-collage{height:330px}.photo-main{height:253px}.photo-small{height:175px}.collage-handwritten{top:199px;font-size:13px}.love-stamp{bottom:19px;width:88px;height:88px}.hero-signature{bottom:-347px;font-size:14px}.hero-actions .button{font-size:10px;padding-inline:16px}.duration{font-size:7px}.memory-grid{margin-inline:-16px;padding-inline:27px;scroll-padding-inline:27px}.section-heading h2{font-size:36px}.secret-section .section-heading h2{font-size:32px}.love-words{font-size:22px}.veil-label>span{font-size:20px}.hero-bottom>span{font-size:5.5px}.hero-bottom a{font-size:7px}}
@media(min-width:601px) and (max-width:820px){.memory-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:27px;margin:27px -26px 0;padding:25px 42px 32px;scroll-padding-inline:42px;scrollbar-width:thin;scrollbar-color:#d7c9b8 transparent;overscroll-behavior-x:contain}.memory-card{flex:0 0 288px;scroll-snap-align:center}.memory-card .card-inner{height:425px}.photo-front{padding:11px 11px 0}.photo-front img{height:calc(100% - 72px)}.photo-caption{font-size:18px;padding:12px 5px 0}.photo-date{font-size:7px;letter-spacing:1.6px;padding:10px 5px}.photo-back{padding:37px 25px 23px}.photo-back h3{font-size:32px;line-height:1.12;margin-top:16px}.back-eyebrow{font-size:7px;letter-spacing:1.4px}.memory-tabs{margin-top:18px;gap:8px}.memory-tab{font-size:9px;padding:8px 5px}.memory-story{font-size:17px;line-height:1.5;margin-top:18px}.photo-back .example-note{font-size:8px}.back-heart{right:20px;bottom:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}.memory-card:hover{transform:rotate(var(--tilt))}.confetti-piece{display:none}}

/* Real family photos: preserve the complete selfie and landscape image. */
.memory-grid .photo-front{display:grid;grid-template-rows:minmax(0,1fr) auto auto}
.memory-photo-frame{position:relative;display:block;isolation:isolate;width:100%;height:100%;min-height:0;overflow:hidden;background:#eee6d8}
.photo-front .memory-photo-frame>img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover}
.photo-front .memory-photo-frame>.memory-adventure-photo{object-position:50% 35%}
.photo-front .memory-photo-frame--contained>img{object-fit:contain;object-position:center}
.memory-photo-frame--contained::before{content:"";position:absolute;inset:-18px;background:var(--memory-background) center/cover;filter:blur(16px);opacity:.25;pointer-events:none}
