/* The birthday is the main story; warm paper, ink and actual memories carry the page. */
[hidden]{display:none!important}body{background:#fcf6f0;color:#542b3c}button,input,textarea{font:inherit}input,textarea{font-size:16px}button:disabled{cursor:wait;opacity:.6}#welcome{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 80% 40%,#edc8d060,transparent 65%),#f6e8e6;min-height:100svh;padding:0 6%;display:flex;flex-direction:column}#welcome:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.2;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.5' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.16' filter='url(%23n)'/%3E%3C/svg%3E")}.welcome-rail{height:88px;border-bottom:1px solid #63324825;display:flex;align-items:center;justify-content:space-between}.welcome-rail>span:nth-child(2){font-size:9px;letter-spacing:2px}.welcome-number{font:italic 34px 'Cormorant Garamond',serif}.welcome-number small{font:16px 'La Belle Aurore',cursive;margin-left:6px}.welcome-layout{width:100%;max-width:1280px;margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5%;padding:50px 0 70px}.welcome-copy{position:relative;z-index:2}.welcome-copy h1{font-size:clamp(72px,7.8vw,118px);letter-spacing:-4px;line-height:.96;margin:28px 0 36px}.welcome-copy h1 em{font-weight:400;font-size:1.17em;color:#ac496a}.ink-heart{font-size:.44em;display:inline-block;rotate:-17deg;margin-left:14px;font-family:Georgia,serif;color:#ac496a}.welcome-intro{font-size:14px;line-height:1.9;color:#815f6d;margin:0 0 30px}.welcome-copy .button{padding:18px 27px;gap:40px;background:#632b44;border-color:#632b44;font-size:12px}.welcome-sign{font-size:28px;rotate:-5deg;width:max-content;margin:24px 0 0 12px;color:#995a73}.keepsake{position:relative;height:570px;max-width:550px;width:100%;margin:auto}.keepsake figure{position:absolute;background:#fffaf3;padding:12px 12px 0;margin:0;box-shadow:0 18px 40px #6c334f20;border:1px solid #9c69751a}.keepsake-main{width:70%;height:90%;left:3%;top:0;rotate:-6deg;animation:paper-arrive 1100ms var(--ease-out) both}.keepsake-main img{width:100%;height:calc(100% - 54px);object-fit:cover}.keepsake figcaption{font-size:24px;padding:12px 0;line-height:1}.keepsake-small{width:42%;height:48%;bottom:0;right:0;rotate:9deg;animation:paper-arrive 1100ms 80ms var(--ease-out) both}.keepsake-small img{width:100%;height:calc(100% - 44px);object-fit:cover;object-position:center 32%}.keepsake-small figcaption{font-size:21px;padding:10px 0}.paper-tape{position:absolute;left:calc(50% - 45px);top:-15px;height:30px;width:90px;background:#d5b88880;rotate:5deg;z-index:1;clip-path:polygon(0 2%,97% 0,100% 100%,3% 95%)}.photo-doodle{position:absolute;font:66px Georgia;right:4%;top:6%;color:#ac496a;rotate:12deg}.photo-note{position:absolute;left:0;bottom:-5px;font-size:26px;rotate:-8deg;line-height:1.1;color:#995a73}.welcome-bottom{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid #63324825;padding:22px 0;font-size:8px;letter-spacing:1.7px}.welcome-bottom>span:last-child{font:19px 'La Belle Aurore',cursive;letter-spacing:0}body.birthday-entry{background:#f6e8e6}.album-nav{padding:0 7%;height:85px}.film-kicker{top:115px}.film-title h1{font-size:clamp(68px,7.6vw,112px)}.film-title{top:38%;left:7%}.film-photo{right:4%;width:60%;height:82%;top:10%;filter:drop-shadow(0 14px 35px #0004)}.film-bottom{bottom:32px}.album-section{padding:110px 6% 85px;background:#fcf6f0}.album-heading .eyebrow{font-size:9px}.album-heading h2{font-size:80px;line-height:.98;margin:25px 0}.album-heading>p:not(.eyebrow){max-width:370px;margin:20px auto;color:#906f7b;line-height:1.9}.album-grid{column-gap:28px;max-width:1160px}.album-photo{background:#fffaf4;padding:9px 9px 32px;box-shadow:0 5px 16px #6e30480d;margin-bottom:28px;border:1px solid #d2b6ba33}.album-photo:nth-child(3n+1){rotate:-1deg}.album-photo:nth-child(3n){rotate:1deg}.album-photo span{color:#916378;background:none;padding:0 12px 10px;font:15px 'La Belle Aurore',cursive;letter-spacing:0;text-align:right}.album-photo img{aspect-ratio:3/4;object-fit:cover}.album-photo:nth-child(4n) img{aspect-ratio:4/5}.album-grid .album-photo{transition:transform 200ms var(--ease-out)}.album-more{display:block;margin:40px auto 0;background:transparent;color:#713a50;border:1px solid #caa4b1;border-radius:30px;padding:15px 24px;font-size:11px}.letter-jump{margin-top:24px;font-size:22px;border:0}.wish-section{background:#f6e7e6;padding:95px 7% 80px}.wish-section h2{font-size:80px;line-height:.96}.wish-section>p{font-size:12px}.wish-result{font-size:25px!important}.cake{margin-top:60px;scale:.9}.real-letter{background:#f9efe8;padding:110px 7% 120px}.real-letter article{max-width:760px;padding:75px 80px;background:#fffaf3;border-color:#c5a39430;box-shadow:0 10px 45px #6d3f3e0c;rotate:-.35deg}.real-letter h2{font-size:75px;line-height:1}.real-letter .letter-copy{font-family:'DM Sans',sans-serif;font-size:14px;line-height:2.1;color:#745560}.real-letter .letter-copy p{margin-bottom:25px}.real-letter .signature{font-size:36px;margin-top:35px}.private-finale{background:radial-gradient(ellipse at 50% 55%,#efc7d3aa,transparent 55%),#f3e0e5;text-align:center;padding:45px 7% 75px;min-height:800px;overflow:hidden}.finale-rule{display:flex;align-items:center;gap:20px;font-size:8px;letter-spacing:2px;margin:0 auto 100px;max-width:1200px}.finale-rule i{flex:1;height:1px;background:#89596d3d}.private-finale h2{font-size:clamp(68px,7vw,100px);line-height:.95;margin:22px 0 24px}.finale-intro{font-size:12px;color:#855d70;line-height:1.8}.sealed-letter{position:relative;display:block;width:310px;height:205px;margin:65px auto 0;background:#d79ab0;border:1px solid #b7769177;border-radius:3px;box-shadow:0 20px 45px #77415e22;rotate:-5deg;isolation:isolate;transition:transform 250ms var(--ease-out)}.sealed-letter:before{content:'';position:absolute;inset:0;background:#e7b4c5;clip-path:polygon(0 0,50% 55%,100% 0,100% 100%,0 100%);z-index:-1}.envelope-fold{position:absolute;inset:0;background:#efc8d4;clip-path:polygon(0 0,100% 0,50% 57%)}.wax-seal{position:absolute;top:40%;left:calc(50% - 28px);height:56px;width:56px;border-radius:50%;display:grid;place-items:center;background:#973b61;color:#f8dce5;box-shadow:inset 0 0 0 4px #8c325b,inset 0 0 0 5px #c67294,0 3px 6px #4d1b3544;font:italic 39px 'Cormorant Garamond',serif}.envelope-address{position:absolute;bottom:22px;left:0;right:0;font-size:26px;color:#864564}.finale-prompt{font-size:24px;color:#aa6782;rotate:-6deg;margin:27px 0 60px}.finale-sign{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#936f7f}.optional-journey{padding:26px 7%;display:flex;gap:25px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#faeee8;border-top:1px solid #bc8c9d33}.optional-journey>span:first-child{font-size:8px;letter-spacing:1.8px}.optional-journey p{font-size:11px;color:#95717f}.optional-journey #optional-drive-status{width:100%;font-size:11px}.optional-journey #optional-drive-status:empty{display:none}footer{background:#fcf6f0;font-size:10px}#private-room{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;border:0;overflow:auto;padding:0;background:radial-gradient(ellipse at 50% 10%,#e8c1d060,transparent 65%),#f5e5e9;box-shadow:none}#private-room::backdrop{background:#f5e5e9}.room-close{position:fixed;right:24px;top:20px;z-index:2;width:44px;height:44px;border:1px solid #cba6b4;border-radius:50%;background:#fcf1ef;color:#71344f;font-size:28px}.room-inner{padding:80px 24px;max-width:800px;margin:auto;text-align:center}.room-inner h2{font-size:92px;line-height:.93;margin:25px 0 40px}.room-inner .eyebrow{font-size:9px}.room-inner p{line-height:1.9}#private-instruction{color:#8c6479;font-size:13px}#unlock-note{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:320px;margin:30px auto}#unlock-note label{font-family:'La Belle Aurore',cursive;font-size:24px}#unlock-note input{width:100%;padding:15px;border:1px solid #bd91a5;border-radius:5px;background:#fff8f3;color:#653046;text-align:center}#unlock-note .button{margin-top:8px;width:100%}#private-error{font-size:12px;color:#8a3155;min-height:24px}#private-paper{text-align:left;background:#fffaf3;padding:55px 60px;box-shadow:0 12px 40px #6d3b4e0d;position:relative;margin-top:45px}#private-paper:before{content:'';position:absolute;top:-12px;left:calc(50% - 45px);width:90px;height:26px;rotate:-5deg;background:#c9ac7e66}.private-salutation{font-size:34px;margin:0 0 24px}#private-message{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:2.1;color:#74525f}#private-paper .signature{font-size:31px;margin-bottom:40px}#private-paper:focus{outline:none}.writing-desk{background:#f6e8e6}.desk-header{height:85px;padding:0 7%;background:transparent}.desk-header>a:last-child{font-size:11px}.desk-main{max-width:920px;margin:auto;padding:60px 30px 100px}.desk-intro{text-align:center;margin-bottom:55px}.desk-intro h1{font-size:84px;margin:25px 0}.desk-intro h1 em{font-size:1em}.desk-intro>p:last-child{font-size:13px;line-height:1.9;color:#8c6276}.desk-paper,.desk-result{background:#fffaf3;border:1px solid #c7a9b033;padding:40px;box-shadow:0 10px 35px #6d33400c}.desk-main label{display:block;font-size:12px;font-weight:500;margin-bottom:12px}.desk-main textarea,.desk-main input{width:100%;border:1px solid #d1b6bf;background:#fffdf8;border-radius:4px;color:#60374a;padding:15px;line-height:1.7}.desk-main textarea{resize:vertical;min-height:120px}.desk-paper #note-text{font:22px/1.8 'La Belle Aurore',cursive}.desk-meta{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#977383;line-height:1.7;margin:10px 0 30px}.password-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:30px}.password-row small{font-size:10px;display:block;color:#977383;line-height:1.6;margin-top:8px}.desk-result{margin-top:35px}.desk-result h2{font-size:55px;margin:20px 0}.desk-result>p:not(.eyebrow){font-size:12px;line-height:1.8;color:#8c6276}.desk-result #birthday-link{font-size:11px;word-break:break-all;min-height:95px}.result-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:25px 0}.desk-result>small{font-size:11px;line-height:1.8;color:#977383}.desk-paper [role=status],#copy-status{font-size:12px;line-height:1.8;color:#8f4263;margin-bottom:0}input:focus-visible,textarea:focus-visible{outline:2px solid #b6587d;outline-offset:3px}@keyframes paper-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(hover:hover) and (pointer:fine){.sealed-letter:hover{transform:translateY(-5px) rotate(2deg)}.album-photo:hover{transform:translateY(-3px)}}
@media(min-width:1500px){.welcome-layout{padding:70px 0 90px}.keepsake{height:640px}}
@media(max-width:800px){.welcome-layout{gap:0}.keepsake{height:460px}.welcome-copy h1{font-size:76px}.welcome-intro{font-size:12px}.welcome-rail>span:nth-child(2){font-size:7px;letter-spacing:1.3px}.welcome-number small{display:none}.album-grid{column-gap:18px}.album-photo{margin-bottom:18px}}
@media(max-width:600px){#welcome{padding:0 7%}.welcome-rail{height:68px}.welcome-rail .brand{font-size:34px}.welcome-rail>span:nth-child(2){font-size:6px;letter-spacing:1px}.welcome-number{font-size:27px}.welcome-layout{display:flex;flex-direction:column;padding:48px 0 25px}.welcome-copy{width:100%}.welcome-copy .eyebrow{font-size:8px;letter-spacing:2px}.welcome-copy h1{font-size:68px;letter-spacing:-2.8px;line-height:.98;margin:22px 0 28px}.welcome-intro{font-size:12px;line-height:1.9;margin-bottom:24px}.welcome-copy .button{padding:15px 23px;font-size:11px;gap:35px}.welcome-sign{font-size:24px;margin-top:18px}.keepsake{width:100%;height:425px;margin-top:50px}.keepsake-main{left:4%;width:68%;height:92%}.keepsake-small{width:44%;height:50%;right:0;bottom:0}.keepsake-main img{height:calc(100% - 44px)}.keepsake figcaption{font-size:21px;padding:10px 0}.keepsake-small figcaption{font-size:17px}.photo-doodle{font-size:52px;right:1%}.photo-note{font-size:22px;left:0;bottom:-6px}.welcome-bottom{margin-top:35px;padding:20px 0;display:block;text-align:center;font-size:6px}.welcome-bottom>span:last-child{display:block;font-size:17px;margin-top:10px}.album-nav{height:68px}.album-nav nav{gap:18px;font-size:9px}.album-nav nav a:last-child{display:block}.film-kicker{top:92px;font-size:7px}.film-title{top:auto;bottom:95px}.film-title h1{font-size:55px}.film-photo{top:16%;left:6%;right:auto;width:88%;height:59%}.cinema{min-height:730px}.album-section{padding:75px 15px 60px}.album-heading h2{font-size:56px;line-height:1.02}.album-heading>p:not(.eyebrow){font-size:11px;padding:0 10px;max-width:300px}.album-grid{column-gap:12px}.album-photo{padding:6px 6px 27px;margin-bottom:13px}.album-photo span{font-size:12px;padding:0 9px 8px}.album-more{font-size:10px;padding:14px 20px}.letter-jump{font-size:20px;max-width:90%;text-align:center}.wish-section{padding:70px 20px 60px}.wish-section h2{font-size:62px}.wish-section>p{font-size:11px}.wish-result{font-size:22px!important}.real-letter{padding:70px 16px 85px}.real-letter article{padding:40px 25px;rotate:0deg}.real-letter h2{font-size:53px}.real-letter .letter-copy{font-size:13px;line-height:2}.real-letter .signature{font-size:31px}.private-finale{padding:30px 20px 55px;min-height:750px}.finale-rule{margin-bottom:75px;font-size:6px;gap:12px}.private-finale h2{font-size:69px}.finale-intro{max-width:260px;margin:24px auto;font-size:11px}.sealed-letter{width:275px;height:184px;margin-top:55px}.envelope-address{font-size:24px;bottom:18px}.wax-seal{top:39%;height:52px;width:52px;left:calc(50% - 26px)}.finale-prompt{font-size:22px;margin-bottom:50px}.optional-journey{padding:26px 7%;display:block;text-align:center}.optional-journey p{line-height:1.8;margin:15px 0}.optional-journey .text-button{font-size:11px}footer{padding:30px 7%;gap:15px}footer p{font-size:9px}footer .handwritten{font-size:21px}.room-close{right:15px;top:14px}.room-inner{padding:75px 18px 50px}.room-inner h2{font-size:72px}.room-inner .eyebrow{font-size:8px}#private-paper{padding:35px 24px;margin-top:35px}#private-message{font-size:14px;line-height:2}.private-salutation{font-size:30px}.desk-header{padding:0 7%;height:70px}.desk-header>a:last-child{font-size:9px}.desk-main{padding:40px 16px 60px}.desk-intro{margin-bottom:35px}.desk-intro h1{font-size:65px;letter-spacing:-2px}.desk-intro>p:last-child{font-size:12px;padding:0 10px}.desk-paper,.desk-result{padding:25px 20px}.password-row{grid-template-columns:1fr;gap:20px}.desk-meta{font-size:9px}.desk-meta span:first-child{max-width:180px}.desk-paper #note-text{font-size:21px}.desk-result h2{font-size:47px}}
@media(prefers-reduced-motion:reduce){.keepsake-main,.keepsake-small{animation:none}.sealed-letter,.album-grid .album-photo{transition:none}.js .reveal{translate:none;transition:opacity 180ms ease}}

.photo-note{bottom:-48px;left:-10px;font-size:23px}@media(max-width:600px){.photo-note{bottom:-38px;left:0;font-size:21px}.welcome-bottom{margin-top:55px}}
.album-nav nav a:last-child{display:block}
