@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-normal-B-1hWBU7.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-400-normal-B7YtguxJ.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-italic-Dc_OZ8oc.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-400-italic-BLh7T8o8.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff")}.ambient-sky{position:absolute;inset:0;overflow:hidden;pointer-events:none}.ambient-glow{position:absolute;border-radius:50%;will-change:transform;animation:atmosphere-drift 24s ease-in-out infinite alternate}.ambient-glow--rose{width:min(1040px,150vw);aspect-ratio:1;left:50%;top:49%;margin-left:max(-520px,-75vw);margin-top:-450px;background:radial-gradient(ellipse,color-mix(in srgb,var(--color-glow) 27%,transparent),color-mix(in srgb,var(--color-glow) 8%,transparent) 44%,transparent 70%)}.ambient-glow--violet{width:900px;height:700px;left:-460px;bottom:-480px;background:radial-gradient(ellipse,color-mix(in srgb,var(--color-glow-secondary) 21%,transparent),transparent 68%);animation-delay:-10s}.celestial-orbits{position:absolute;width:730px;height:730px;top:49%;left:50%;transform:translate(-50%,-50%)}.orbit{position:absolute;border:1px solid color-mix(in srgb,var(--color-accent) 9%,transparent);border-radius:50%}.orbit--outer{inset:0;transform:rotate(-24deg);-webkit-mask-image:linear-gradient(125deg,transparent 5%,var(--color-background) 28%,transparent 51%,var(--color-background) 75%,transparent 96%);mask-image:linear-gradient(125deg,transparent 5%,var(--color-background) 28%,transparent 51%,var(--color-background) 75%,transparent 96%)}.orbit--inner{inset:49px;opacity:.53;-webkit-mask-image:linear-gradient(35deg,transparent 20%,var(--color-background) 47%,transparent 78%);mask-image:linear-gradient(35deg,transparent 20%,var(--color-background) 47%,transparent 78%)}.orbit--elliptical{inset:163px -108px;transform:rotate(-32deg);opacity:.55;-webkit-mask-image:linear-gradient(90deg,var(--color-background),transparent 32%,transparent 68%,var(--color-background));mask-image:linear-gradient(90deg,var(--color-background),transparent 32%,transparent 68%,var(--color-background))}.orbit-sparkle{position:absolute;color:var(--color-accent);animation:starlight 7s ease-in-out infinite}.orbit-sparkle--one{width:22px;height:22px;top:128px;left:73px}.orbit-sparkle--two{width:15px;height:15px;right:30px;bottom:194px;animation-delay:-3s}.orbit-point{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--color-star);box-shadow:0 0 12px 2px color-mix(in srgb,var(--color-star) 22%,transparent)}.orbit-point--one{top:40px;right:185px;opacity:.6}.orbit-point--two{bottom:55px;left:175px;opacity:.35}.star-field{position:absolute;inset:0}.star{position:absolute;left:var(--star-x);top:var(--star-y);width:var(--star-size);height:var(--star-size);border-radius:50%;background:var(--color-star);opacity:.4;animation:starlight var(--star-duration) ease-in-out var(--star-delay) infinite}.star:nth-child(7n){box-shadow:0 0 9px 2px color-mix(in srgb,var(--color-star) 18%,transparent)}.sky-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 46%,transparent 27%,color-mix(in srgb,var(--color-background) 38%,transparent) 100%)}@media(max-width:600px){.celestial-orbits{width:560px;height:640px;top:46%}.orbit--inner{inset:57px}.orbit--elliptical{inset:174px -55px}.orbit-sparkle--one{top:116px;left:123px;width:15px}.orbit-sparkle--two{right:91px;bottom:121px;width:12px}.ambient-glow--rose{width:760px;height:900px;margin-left:-380px;margin-top:-500px}.star:nth-child(3n){display:none}}.birthday-experience{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:100svh;overflow:clip}.experience-header,.experience-main,.experience-footer{position:relative;z-index:1}.experience-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 48px}.wordmark{display:inline-flex;align-items:center;gap:10px;color:var(--color-text);white-space:nowrap}.wordmark>svg{width:22px;height:22px;color:var(--color-accent)}.wordmark>span{font-family:var(--font-display);font-size:24px;letter-spacing:-.025em}.header-details{display:flex;gap:23px;align-items:center}.dedication{display:inline-flex;gap:9px;align-items:center;color:var(--color-muted);font-size:9px;letter-spacing:.13em;text-transform:uppercase}.dedication-dot{width:4px;height:4px;background:var(--color-accent);border-radius:50%;opacity:.8}.experience-main{flex:1;display:grid;align-items:center;padding:32px 24px 42px}.section-stage{width:100%;outline:none}.section-stage h1:focus{outline:none}.opening-section{width:min(100%,900px);margin:0 auto;text-align:center;padding:12px 0 0}.opening-kicker{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:35px}.kicker-line{width:30px;height:1px;background:linear-gradient(to right,transparent,color-mix(in srgb,var(--color-accent) 50%,transparent))}.kicker-line:last-child{transform:rotate(180deg)}.opening-line{margin:0 0 20px;font:italic 400 21px/1.5 var(--font-display);color:var(--color-muted)}.birthday-title{margin:0;font-family:var(--font-display);font-weight:400}.birthday-greeting{display:block;font-size:clamp(60px,7.2vw,104px);line-height:1.08;letter-spacing:-.047em}.birthday-name{display:block;padding:0 10px 12px;font-style:italic;font-size:clamp(100px,11.6vw,160px);line-height:1;letter-spacing:-.06em;color:var(--color-accent);overflow-wrap:anywhere}.name-period{font-size:.65em;margin-left:.025em}.opening-subtitle{width:min(100%,380px);margin:20px auto 0;color:var(--color-muted);font-size:13px;line-height:1.9;text-wrap:balance}.opening-action{margin-top:33px}.action-footnote{margin:17px 0 0;font-size:10px;letter-spacing:.045em;color:var(--color-subtle)}.experience-footer{padding:15px 24px 27px;text-align:center}.footer-flourish{display:flex;justify-content:center;align-items:center;gap:14px;color:var(--color-accent);opacity:.6}.footer-flourish svg{width:13px;height:13px}.footer-flourish>span{width:44px;height:1px;background:linear-gradient(to right,transparent,var(--color-border))}.footer-flourish>span:last-child{transform:rotate(180deg)}.experience-footer p{margin:13px 0 0;color:var(--color-subtle);font-size:9px;letter-spacing:.08em}.placeholder-section{max-width:700px;margin:auto;text-align:center;padding:50px 0}.chapter-symbol{width:70px;height:70px;border:1px solid var(--color-border);border-radius:50%;display:grid;place-items:center;margin:0 auto 34px;color:var(--color-accent)}.chapter-symbol svg{width:30px;height:30px}.placeholder-section h1{margin:20px 0 24px;font:400 clamp(48px,6.3vw,76px)/1.08 var(--font-display);letter-spacing:-.04em;text-wrap:balance}.chapter-description{max-width:370px;margin:auto;font-size:14px;line-height:1.9;color:var(--color-muted);text-wrap:pretty}.chapter-divider{display:block;width:30px;height:1px;background:var(--color-border);margin:30px auto 20px}.empty-message{text-align:center;color:var(--color-muted)}.music-control{position:relative}.music-status{position:absolute;width:180px;right:0;top:50px;color:var(--color-muted);font-size:11px;text-align:right}@media(min-height:950px)and (min-width:700px){.experience-main{padding-bottom:75px}.opening-kicker{margin-bottom:43px}.opening-action{margin-top:40px}.experience-footer{padding-bottom:36px}}@media(max-width:600px){.experience-header{padding:max(22px,env(safe-area-inset-top)) 23px 20px}.wordmark{gap:8px}.wordmark>span{font-size:22px}.wordmark>svg{width:19px;height:19px}.header-details{gap:10px}.dedication{display:none}.utility-button{width:44px;height:44px}.experience-main{padding:28px 24px 38px}.opening-kicker{gap:10px;margin-bottom:35px}.opening-kicker .eyebrow{font-size:8px;letter-spacing:.16em}.kicker-line{width:19px;flex-shrink:0}.opening-line{font-size:19px;margin-bottom:23px}.birthday-greeting{font-size:clamp(47px,12vw,70px);letter-spacing:-.05em}.birthday-name{font-size:clamp(98px,27vw,146px);padding-top:5px}.opening-subtitle{max-width:275px;margin-top:22px;font-size:12px;line-height:1.9}.opening-action{margin-top:32px}.primary-button{min-height:56px;padding:16px 25px;gap:27px;font-size:12px}.action-footnote{margin-top:17px;font-size:9px}.experience-footer{padding:12px 20px max(24px,env(safe-area-inset-bottom))}.experience-footer p{font-size:8px;margin-top:12px}.placeholder-section .eyebrow{font-size:9px}}@media(max-height:740px)and (max-width:600px){.experience-header{padding-top:15px;padding-bottom:12px}.experience-main{padding-top:18px;padding-bottom:26px}.opening-kicker{margin-bottom:25px}.opening-line{margin-bottom:16px}.opening-subtitle{margin-top:14px}.opening-action{margin-top:25px}}.scrapbook-experience{color-scheme:light;--sb-wash: color-mix(in srgb, var(--color-glow) 20%, var(--color-background));--sb-pink: color-mix(in srgb, var(--color-glow-secondary) 32%, var(--color-background));font-size:15px;line-height:1.85;overflow-wrap:break-word}.scrapbook-experience h1,.scrapbook-experience h2,.scrapbook-experience h3,.scrapbook-experience p,.scrapbook-experience figure{margin:0}.scrapbook-experience h1,.scrapbook-experience h2,.scrapbook-experience h3{font-family:var(--font-display);font-weight:400}.scrapbook-experience h2{font-size:clamp(38px,4.7vw,61px);line-height:1.08;letter-spacing:-.035em;text-wrap:balance;white-space:pre-line}.scrapbook-experience h3{font-size:31px;line-height:1.2;letter-spacing:-.02em}.scrapbook-experience .sb-handwritten{font:italic 400 23px/1.4 var(--font-display);color:var(--color-accent-strong)}.sb-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.sb-header{display:none}.sb-wordmark{display:inline-flex;align-items:center;gap:11px;font:24px/1.1 var(--font-display);letter-spacing:-.025em}.sb-wordmark svg{width:16px;height:16px;color:var(--color-accent);transform:rotate(-10deg)}.sb-header-dedication{display:none;font-size:10px;letter-spacing:.08em;color:var(--color-muted)}.sb-section{position:relative;padding:88px 26px}.sb-section-inner{width:min(100%,1020px);margin-inline:auto}.sb-section-heading{max-width:700px;margin:0 auto 54px;text-align:center}.scrapbook-experience .sb-eyebrow{display:block;margin-bottom:20px;font-size:10px;line-height:1.6;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent-strong)}.sb-page-number{margin-right:13px;padding-right:13px;border-right:1px solid var(--color-border);font-variant-numeric:tabular-nums}.scrapbook-experience .sb-subtitle{margin:20px auto 0;max-width:420px;color:var(--color-muted);font-size:13px;text-wrap:pretty}.scrapbook-experience .sb-transition{display:flex;flex-direction:column;align-items:center;gap:28px;max-width:420px;margin:85px auto 0;color:var(--color-muted);text-align:center;font:italic 21px/1.5 var(--font-display);text-wrap:balance}.sb-transition>span{height:42px;width:1px;background:var(--color-border)}.sb-section--cover{padding:0 18px 40px}.sb-cover{min-height:calc(100svh - 40px);max-width:1160px;margin:auto;padding:25px 20px 22px;border:1px solid var(--color-border);display:flex;flex-direction:column;justify-content:center;text-align:center;background:radial-gradient(ellipse at 50% 40%,var(--color-surface),transparent 72%)}.sb-section--cover .sb-section-inner{width:100%;max-width:1160px}.sb-cover-meta{display:flex;justify-content:space-between;gap:12px;font-size:8px;letter-spacing:.09em;text-transform:uppercase;color:var(--color-muted)}.sb-cover-title{padding:55px 0 100px}.sb-cover h1{font-size:clamp(52px,8vw,106px);line-height:1.04;letter-spacing:-.04em;text-wrap:balance}.sb-cover h1>span{display:block;font-size:clamp(88px,12vw,152px)}.sb-cover h1>em{display:block;margin-top:14px;font-size:clamp(38px,5.7vw,76px);font-weight:400;color:var(--color-accent)}.scrapbook-experience .sb-cover-subtitle{max-width:280px;margin:26px auto 0;font-size:12px;color:var(--color-muted);text-wrap:balance}.sb-cover-heart{display:block;margin:31px auto 20px;width:22px;height:22px;color:var(--color-star);transform:rotate(-12deg)}.scrapbook-experience .sb-cover-inscription{max-width:250px;margin:auto;font-size:20px;transform:rotate(-2deg)}.sb-scroll-cue{position:absolute;bottom:50px;left:0;right:0;color:var(--color-muted);font-size:11px;letter-spacing:.035em}.sb-scroll-cue svg{transform:rotate(90deg);width:18px;height:18px}.scrapbook-experience .sb-photo{position:relative;margin:8px 7px;padding:11px 11px 0;background:var(--color-surface);box-shadow:0 3px 12px #383d3212,0 1px 2px #383d3212;transform:rotate(-2deg)}.sb-photo:before{content:"";position:absolute;z-index:1;width:85px;height:26px;left:calc(50% - 42px);top:-12px;transform:rotate(-5deg);background:color-mix(in srgb,var(--color-glow) 75%,transparent)}.sb-photo-image{aspect-ratio:4 / 3;overflow:hidden;background:var(--sb-wash)}.sb-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--photo-position);filter:saturate(.78)}.sb-photo figcaption{padding:15px 6px 17px;font:italic 19px/1.3 var(--font-display);text-align:center;color:var(--color-muted)}.sb-photo-fallback{display:grid;place-items:center;height:100%;padding:30px;font:italic 24px/1.5 var(--font-display);text-align:center}.sb-us-layout{display:grid;gap:45px;align-items:center}.sb-us-note{padding:0 8px}.sb-us-note>p+p{margin-top:22px}.sb-us-note>p:not(.sb-handwritten){color:var(--color-muted);font-size:14px}.scrapbook-experience .sb-us-note .sb-handwritten{margin-top:30px;transform:rotate(-2deg)}.sb-section--memories{background:var(--sb-wash)}.sb-timeline{list-style:none;padding:0;margin:0;display:grid;gap:76px}.sb-memory{display:grid;gap:30px;align-items:center}.sb-memory:nth-child(2n) .sb-photo{transform:rotate(2deg)}.sb-memory-note{padding:0 9px}.sb-memory--text-only{display:block;width:min(100%,620px);margin-inline:auto}.sb-memory--text-only .sb-memory-note{padding:27px 25px 30px;border-bottom:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 46%,transparent)}.sb-memory--text-only:nth-child(2n) .sb-memory-note{transform:translate(4%)}.sb-memory--text-only:nth-child(odd) .sb-memory-note{transform:translate(-4%)}.sb-memory-note .sb-eyebrow{margin-bottom:12px;font-size:9px}.scrapbook-experience .sb-memory-note p{margin-top:17px;color:var(--color-muted);font-size:14px}.sb-ticket{display:inline-block;max-width:100%;margin-top:24px;padding:10px 15px;border:1px dashed color-mix(in srgb,var(--color-star) 60%,transparent);background:var(--color-surface);color:var(--color-star);font-size:9px;letter-spacing:.055em;transform:rotate(-3deg)}.sb-section--funny{background:color-mix(in srgb,var(--color-glow) 50%,var(--color-background));border-block:1px dashed var(--color-border)}.sb-funny-board{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:38px;max-width:820px;margin:auto}.sb-funny-board .sb-photo{transform:rotate(-3deg)}.sb-funny-board .sb-photo-image{aspect-ratio:1.2}#first-photos .sb-section-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#first-photos .sb-funny-board{gap:42px 28px;max-width:900px}#first-photos .sb-photo{width:92%;justify-self:start;transform:rotate(-2.5deg)}#first-photos .sb-photo:nth-child(2n){width:78%;justify-self:end;transform:rotate(2.2deg)}#first-photos .sb-photo:nth-child(3n){width:86%;justify-self:center;transform:rotate(-1deg)}#first-photos .sb-photo-image{aspect-ratio:auto}#first-photos .sb-photo img{height:auto}.scrapbook-experience .sb-conversation{margin:8px;padding:23px 18px 20px;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:3px 5px #383d3207;transform:rotate(2deg)}.sb-conversation-title{padding-bottom:16px;border-bottom:1px solid var(--color-border);text-align:center;font-size:10px;color:var(--color-muted);letter-spacing:.03em}.sb-conversation ul{list-style:none;padding:0;margin:23px 0;display:flex;flex-direction:column;gap:13px}.sb-message{width:fit-content;max-width:85%;padding:10px 13px;border-radius:12px 12px 12px 2px;background:var(--color-background);font-size:12px;line-height:1.5}.sb-message--recipient{margin-left:auto;background:color-mix(in srgb,var(--color-glow) 70%,var(--color-surface));border-radius:12px 12px 2px}.sb-conversation figcaption{text-align:center}.scrapbook-experience .sb-quote-note{justify-self:center;max-width:460px;padding:26px 20px;border-block:1px solid color-mix(in srgb,var(--color-star) 35%,transparent);text-align:center;transform:rotate(-2deg)}.sb-quote-note blockquote{margin:0 0 10px;font:italic 32px/1.15 var(--font-display)}.sb-quote-note figcaption{font-size:11px;color:var(--color-muted)}.sb-section--appreciation{padding-top:115px}.sb-appreciation{max-width:610px;margin:auto}.sb-qualities{list-style:none;margin:0;padding:0}.sb-qualities li{display:flex;align-items:baseline;gap:23px;padding:31px 0;border-bottom:1px solid var(--color-border)}.sb-quality-number{flex-shrink:0;color:var(--color-star);font:italic 23px/1.2 var(--font-display)}.scrapbook-experience .sb-qualities h3{font-size:30px}.scrapbook-experience .sb-qualities p{margin-top:12px;color:var(--color-muted);font-size:14px}.scrapbook-experience .sb-appreciation-closing{margin:48px auto 0;text-align:center;text-wrap:balance}.sb-section--letter{background:var(--color-surface);padding-top:110px;padding-bottom:50px}.sb-section--letter .sb-section-heading{max-width:640px;margin-bottom:64px}.sb-section--letter h2{font-size:clamp(36px,4vw,52px)}.sb-letter{max-width:580px;margin:auto;font-size:15px;line-height:2}.sb-letter>p+p{margin-top:25px}.scrapbook-experience .sb-letter-date{margin-bottom:40px;font-size:10px;color:var(--color-muted);letter-spacing:.035em}.scrapbook-experience .sb-letter-salutation{font:italic 29px/1.4 var(--font-display)}.sb-letter-signoff{margin-top:40px}.scrapbook-experience .sb-letter-signoff .sb-handwritten{margin-top:7px;font-size:40px}.scrapbook-experience .sb-letter-postscript{margin-top:37px;color:var(--color-muted);font:italic 21px/1.5 var(--font-display)}.sb-section--pause{display:grid;align-items:center;min-height:620px;padding-block:120px;text-align:center;background:var(--sb-wash)}.sb-section--pause .sb-section-heading{margin-bottom:25px}.sb-section--pause h2{font-size:clamp(40px,5vw,62px)}.sb-pause-note{font-size:12px;color:var(--color-muted);text-wrap:balance}.sb-playful{text-align:center}.sb-playful-button{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:50px;margin-top:10px;padding:13px 24px;border:1px solid var(--color-accent-strong);border-radius:3px;background:var(--color-accent-strong);color:var(--color-button-text);font-size:13px}.sb-playful-button svg{width:17px;height:17px}.sb-playful-reveal{list-style:none;width:min(100%,520px);margin:38px auto 0;padding:24px;border:1px dashed var(--color-border);background:var(--color-surface);transform:rotate(-1deg)}.sb-playful-reveal li{padding:10px;font:italic 23px/1.35 var(--font-display);color:var(--color-accent-strong)}.sb-section--wish{min-height:100svh;padding-top:100px;padding-bottom:65px;background:linear-gradient(var(--color-surface),var(--sb-pink) 35%)}.sb-section--wish .sb-section-heading{margin-bottom:65px}.scrapbook-experience .sb-section--wish h2{font-size:clamp(26px,4vw,38px)}.sb-wish{position:relative;text-align:center}.sb-wish-instruction{min-height:36px;margin-bottom:2px;color:var(--color-accent-strong);font:italic 25px/1.4 var(--font-display);text-wrap:balance}.sb-cake-scene{position:relative;width:min(100%,370px);height:310px;margin:0 auto 8px}.sb-cake{position:relative;width:320px;max-width:100%;height:300px;margin:auto;transform:rotate(.35deg);filter:drop-shadow(0 18px 18px rgba(112,66,66,.12))}.sb-cake-top{position:absolute;z-index:4;top:111px;left:11.5%;width:77%;height:auto;aspect-ratio:3.24;border:1px solid #e8d8bc;border-radius:50%;background:radial-gradient(ellipse at 45% 32%,#fffdf4 0 24%,transparent 54%),radial-gradient(ellipse at center,#fff9e8 0 58%,#eadcc1);box-shadow:inset 0 -9px 12px #a6795b1a,0 5px 8px #70424214}.sb-frosting-ridge{position:absolute;inset:10px 12px;border:2px dashed rgba(197,163,126,.24);border-radius:50%;transform:rotate(-2deg)}.sb-cake-body{position:absolute;z-index:3;top:148px;left:11.5%;width:77%;height:112px;overflow:hidden;border:1px solid #e7d5b7;border-top:0;border-radius:0 0 50% 50%/0 0 34% 34%;background:linear-gradient(92deg,#e8d8bd 0,#fff9e9 10%,#fffdf4 48%,#f2e5cb 91%,#dec9a8);box-shadow:inset 0 -13px 14px #ae815b17,inset 9px 0 14px #ffffff7a}.sb-cake-body:after{content:"";position:absolute;inset:0;opacity:.33;background:repeating-linear-gradient(101deg,transparent 0 24px,rgba(184,148,111,.12) 25px,transparent 27px 49px)}.sb-frosting-drip{position:absolute;z-index:2;top:-4px;width:20px;background:#fff9e9;border-radius:0 0 50% 50%;box-shadow:0 1px #e9d9be}.sb-frosting-drip--one{left:20%;height:30px;transform:rotate(2deg)}.sb-frosting-drip--two{left:48%;width:15px;height:21px}.sb-frosting-drip--three{right:16%;height:35px;transform:rotate(-3deg)}.sb-cake-plate{position:absolute;z-index:2;top:184px;left:3%;width:94%;height:auto;aspect-ratio:3.24;border:1px solid #e2cdbf;border-radius:50%;background:linear-gradient(#fffaf2,#efdeda);box-shadow:0 8px 0 -3px #dfc5bc,0 13px 14px #7042421f}.sb-cake-plate:after{content:"";position:absolute;inset:9px 8%;border-radius:50%;background:#69483335;filter:blur(5px)}.sb-candle-wrap{position:absolute;z-index:7;top:60px;left:calc(50% - 7px);width:14px;height:89px}.sb-candle{position:absolute;inset:auto 0 0;height:69px;border:1px solid rgba(150,79,93,.25);border-radius:4px 4px 2px 2px;background:repeating-linear-gradient(-35deg,#fff7e8 0 8px,#d98494 8px 14px);box-shadow:inset 2px 0 #ffffff8c,2px 4px 5px #62373e1f}.sb-wick{position:absolute;z-index:2;top:13px;left:6px;width:2px;height:10px;border-radius:2px;background:#4b3531}.sb-flame-button{position:absolute;z-index:9;top:32px;left:calc(50% - 30px);width:60px;height:63px;padding:0;border:0;border-radius:50%;background:transparent}.sb-flame-button:disabled{opacity:1}.sb-cake-scene[data-cake-state=ready] .sb-flame-button{cursor:pointer}.sb-cake-scene[data-cake-state=ready] .sb-flame-button:hover .sb-flame-glow{transform:scale(1.16);opacity:.82}.sb-flame-button:focus-visible{outline:2px dashed var(--color-accent-strong);outline-offset:1px}.sb-flame-glow{position:absolute;top:7px;left:9px;width:42px;height:44px;border-radius:50%;background:radial-gradient(circle,rgba(255,210,111,.66),rgba(241,157,70,.18) 48%,transparent 72%);transition:opacity .3s ease,transform .3s ease;animation:sb-flame-glow 1.8s ease-in-out infinite}.sb-flame{position:absolute;top:14px;left:23px;width:15px;height:27px;border-radius:80% 25% 62% 38%;transform:rotate(4deg);transform-origin:50% 100%;background:linear-gradient(to top,#ee8d36 0 26%,#ffd66e 45%,#fff9d7);box-shadow:0 0 11px #ea832ab3;transition:opacity .42s ease-in,transform .42s ease-in,filter .42s ease-in;animation:sb-flame-flicker .9s ease-in-out infinite alternate}.sb-flame i{position:absolute;bottom:3px;left:5px;width:6px;height:12px;border-radius:70% 35% 60% 40%;background:#fffbea}.sb-cake-scene[data-cake-state=silence] .sb-flame,.sb-cake-scene[data-cake-state=celebrated] .sb-flame{opacity:0;filter:blur(2px);transform:translate(9px,-5px) rotate(35deg) scale(.15,.75);animation:none}.sb-cake-scene[data-cake-state=silence] .sb-flame-glow,.sb-cake-scene[data-cake-state=celebrated] .sb-flame-glow{opacity:0;transform:scale(.25);animation:none}.sb-smoke{position:absolute;z-index:5;top:-16px;left:-8px;width:30px;height:43px;pointer-events:none}.sb-smoke i{position:absolute;bottom:0;left:10px;width:10px;height:17px;border:0;border-top:2px solid rgba(100,92,87,.52);border-left:2px solid rgba(100,92,87,.4);border-radius:60% 45% 55% 40%;opacity:0;filter:blur(.15px)}.sb-cake-scene[data-cake-state=silence] .sb-smoke i{animation:sb-smoke-rise 1s ease-out 0ms both}.sb-smoke i:nth-child(2){animation-delay:.12s!important}.sb-smoke i:nth-child(3){animation-delay:.24s!important}.sb-cake-flower{position:absolute;z-index:6;width:48px;height:48px;transform:rotate(var(--flower-turn, 0deg)) scale(var(--flower-scale, 1))}.sb-cake-flower i{position:absolute;top:2px;left:16px;width:16px;height:24px;border-radius:70% 35% 68% 38%;transform-origin:8px 22px;background:linear-gradient(135deg,#a74460,#742e49);box-shadow:inset 2px 1px 2px #ffd6d640,0 1px 2px #471f2a29}.sb-cake-flower i:nth-child(2){transform:rotate(72deg)}.sb-cake-flower i:nth-child(3){transform:rotate(144deg)}.sb-cake-flower i:nth-child(4){transform:rotate(216deg)}.sb-cake-flower i:nth-child(5){transform:rotate(288deg)}.sb-cake-flower b{position:absolute;z-index:2;top:20px;left:20px;width:9px;height:9px;border-radius:50%;background:#f6d8a4;box-shadow:-4px 0 0 -2px #fff3cf,4px 1px 0 -2px #fff3cf,0 4px 0 -2px #fff3cf}.sb-cake-flower--top-left{top:10px;left:29px;--flower-turn: -15deg;--flower-scale: .88}.sb-cake-flower--top-right{top:5px;right:30px;--flower-turn: 18deg;--flower-scale: .72}.sb-cake-flower--top-front{right:78px;bottom:-4px;--flower-turn: 7deg;--flower-scale: .66}.sb-cake-flower--side-left{top:34px;left:29px;--flower-turn: -19deg;--flower-scale: .72}.sb-cake-flower--side-right{right:30px;bottom:12px;--flower-turn: 17deg;--flower-scale: .9}.sb-cake-crumbs{position:absolute;z-index:4;top:70px;left:50%;width:3px;height:3px;border-radius:50%;background:#be9365;box-shadow:6px 3px #d0a979,11px -2px #a97953,-5px 5px #d2ac7d,45px -31px #ba8b5e,50px -26px #d3ae7c;opacity:.58}@keyframes sb-flame-flicker{0%{transform:translate(-1px) rotate(-4deg) scale(.96,1.02)}27%{border-radius:35% 65% 45% 55%;transform:translate(1px) skew(6deg) rotate(5deg)}61%{border-radius:75% 25% 60% 40%;transform:translate(-1px) skew(-4deg) rotate(-3deg)}to{transform:translate(-1px) rotate(1deg) scale(.93,1.06)}}@keyframes sb-flame-glow{50%{opacity:.72;transform:scale(1.08)}}@keyframes sb-smoke-rise{0%{opacity:0;transform:translateY(2px) scale(.55)}16%{opacity:.72}60%{opacity:.38}to{opacity:0;transform:translate(11px,-34px) rotate(18deg) scale(1.35)}}.sb-wish-button{display:inline-flex;justify-content:center;align-items:center;gap:13px;min-height:52px;max-width:100%;margin-top:23px;padding:14px 19px;border:1px solid var(--color-accent-strong);border-radius:3px;background:var(--color-accent-strong);color:var(--color-button-text);font-size:12px;line-height:1.5}.sb-wish-button svg{width:17px;height:17px;flex-shrink:0}.sb-wish-button--replay{background:transparent;color:var(--color-accent-strong)}.sb-wish-button:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:5px}.sb-wish-stage{position:relative;padding:20px 0}.sb-wish-shade{position:fixed;inset:0;z-index:100;pointer-events:none;background:#18161edb;opacity:0;transition:opacity .85s ease}.sb-wish-shade[data-active=true]{opacity:1}.sb-wish[data-wish-phase=celebrated] .sb-wish-shade{transition-duration:.18s}.sb-wish[data-wish-phase=ready] .sb-wish-stage,.sb-wish[data-wish-phase=extinguishing] .sb-wish-stage,.sb-wish[data-wish-phase=silence] .sb-wish-stage{z-index:101}.sb-wish-stage:before{content:"";pointer-events:none;position:absolute;inset:-40px -20px;background:radial-gradient(ellipse,#ffe1a932,transparent 65%);opacity:0;transition:opacity .85s ease}.sb-wish[data-wish-phase=ready] .sb-wish-stage:before{opacity:1}.sb-wish[data-wish-phase=ready] .sb-wish-button,.sb-wish[data-wish-phase=extinguishing] .sb-wish-button,.sb-wish[data-wish-phase=silence] .sb-wish-button{background:#fff1d914;color:#fff2d6;border-color:#ead5b766}.sb-wish[data-wish-phase=extinguishing] .sb-wish-button,.sb-wish[data-wish-phase=silence] .sb-wish-button{opacity:0;transition:opacity .25s}.sb-wish[data-wish-phase=celebrated] .sb-wish-button{animation:sb-replay-arrive 8.2s both}.sb-cake-scene[data-cake-state=extinguishing] .sb-flame{animation:sb-flame-out .55s ease-in both}@keyframes sb-flame-out{0%{opacity:1;transform:rotate(-8deg)}22%{opacity:1;transform:skew(25deg) rotate(48deg) scale(1.25,.85)}43%{opacity:1;transform:skew(-9deg) rotate(22deg)}70%{opacity:.7;transform:translate(6px) rotate(55deg) scale(.6,.45)}to{opacity:0;transform:translate(9px) rotate(68deg) scale(.05)}}@keyframes sb-replay-arrive{0%,90%{opacity:0}to{opacity:1}}.sb-confetti{position:fixed;z-index:120;inset:0;overflow:hidden;pointer-events:none}.sb-celebration-canvas{display:block;width:100%;height:100%}.sb-footer{display:flex;justify-content:center;align-items:center;gap:12px;padding:26px 24px max(26px,env(safe-area-inset-bottom));border-top:1px solid var(--color-border);font-size:10px;letter-spacing:.05em;color:var(--color-muted)}.sb-footer svg{width:13px;height:13px}@media(min-width:700px){.sb-section{padding:115px 60px}.sb-section-heading{margin-bottom:72px}.sb-section--cover{padding:0 40px 55px}.sb-cover{min-height:calc(100svh - 55px);padding:30px 40px}.sb-cover-meta{font-size:9px}.sb-cover-title{padding:50px 0 40px}.scrapbook-experience .sb-cover-subtitle{max-width:370px;font-size:13px}.scrapbook-experience .sb-cover-inscription{max-width:330px;font-size:22px}.sb-us-layout{grid-template-columns:1.1fr 1fr;gap:8%;max-width:910px;margin:auto}.sb-us-note{padding:10px 0}.sb-us-layout .sb-photo-image{aspect-ratio:1.05}.sb-timeline{gap:100px}.sb-memory{grid-template-columns:1.1fr 1fr;gap:9%;max-width:930px;margin:auto}.sb-memory:nth-child(2n){grid-template-columns:1fr 1.1fr}.sb-memory:nth-child(2n) .sb-photo{order:2}.sb-memory--text-only,.sb-memory--text-only:nth-child(2n){display:block;width:min(100%,620px)}.sb-memory-note{padding:0}.sb-memory-note h3{font-size:37px}.sb-funny-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px}#first-photos{min-height:100svh;padding-block:clamp(18px,3svh,38px);display:grid;align-items:center}#first-photos .sb-funny-board{width:min(100%,1080px);grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(12px,2svh,24px) clamp(20px,3vw,44px);align-items:center}#first-photos .sb-photo{width:fit-content;max-width:100%;margin:0;justify-self:center}#first-photos .sb-photo img{width:auto;max-width:100%;height:min(30svh,310px);object-fit:contain}#first-photos .sb-photo:nth-child(1){transform:rotate(-2.5deg)}#first-photos .sb-photo:nth-child(1) img{height:min(33svh,340px)}#first-photos .sb-photo:nth-child(2){transform:translateY(8px) rotate(2.2deg)}#first-photos .sb-photo:nth-child(2) img{height:min(27svh,280px)}#first-photos .sb-photo:nth-child(3){transform:translateY(-5px) rotate(1.6deg)}#first-photos .sb-photo:nth-child(3) img{height:min(28svh,290px)}#first-photos .sb-photo:nth-child(4){transform:translateY(-4px) rotate(-2deg)}#first-photos .sb-photo:nth-child(4) img{height:min(29svh,300px)}#first-photos .sb-photo:nth-child(5){transform:translateY(6px) rotate(-1.2deg)}#first-photos .sb-photo:nth-child(5) img{height:min(31svh,320px)}#first-photos .sb-photo:nth-child(6){transform:translateY(-7px) rotate(2.8deg)}#first-photos .sb-photo:nth-child(6) img{height:min(27svh,280px)}.scrapbook-experience .sb-conversation{margin-top:45px;padding:25px}.sb-funny-board .sb-quote-note{grid-column:1 / -1;margin-top:8px}.sb-section--appreciation{padding-top:140px}.sb-qualities li{padding-block:35px;gap:35px}.sb-section--letter{padding-top:135px;padding-bottom:55px}.sb-letter{font-size:16px;line-height:2.05}.sb-section--pause{padding-block:145px;min-height:650px}.sb-section--wish{padding-top:110px;padding-bottom:70px}}@media(max-width:360px){.sb-section{padding-inline:22px}.sb-section--cover,.sb-cover{padding-inline:14px}.sb-cover-meta{flex-direction:column;gap:3px}.sb-cover-title{padding-top:40px}.sb-conversation{margin-inline:5px}.sb-wish-button{padding-inline:13px;font-size:11px;gap:8px}}@media(prefers-reduced-motion:reduce){.sb-wish-shade,.sb-wish-stage:before,.sb-wish-button{transition:none!important;animation:none!important}.sb-flame,.sb-flame-glow,.sb-smoke i{animation:none!important;transition:none}}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--color-accent);outline-offset:6px}button:disabled{cursor:default}::selection{color:var(--color-background);background:var(--color-accent)}.birthday-theme{background:var(--color-background);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased}.eyebrow{color:var(--color-accent);font-size:10px;line-height:1.7;letter-spacing:.22em;font-weight:500;text-transform:uppercase}.primary-button{min-height:58px;display:inline-flex;justify-content:center;align-items:center;gap:28px;padding:17px 27px;border:1px solid color-mix(in srgb,var(--color-accent-strong) 70%,transparent);border-radius:999px;background:var(--color-accent);color:var(--color-button-text);font-size:13px;font-weight:500;letter-spacing:.015em;text-decoration:none;box-shadow:0 0 35px color-mix(in srgb,var(--color-glow) 16%,transparent),inset 0 1px color-mix(in srgb,var(--color-text) 30%,transparent);transition:background .22s ease,box-shadow .22s ease,transform .22s ease}.primary-button svg{width:18px;height:18px;transition:transform .22s ease}.primary-button:active{transform:scale(.98)}.utility-button{display:grid;place-items:center;width:40px;height:40px;border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);border-radius:50%;color:var(--color-muted);background:color-mix(in srgb,var(--color-surface) 40%,transparent);transition:color .18s ease,border-color .18s ease}.utility-button svg{width:16px;height:16px}.text-button{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:10px 4px;background:transparent;border:none;color:var(--color-accent);font-size:12px}.text-button svg{width:16px;transform:rotate(180deg)}.not-found{min-height:100svh;display:grid;align-content:center;justify-items:center;text-align:center;padding:30px}.not-found h1{font:400 clamp(42px,7vw,70px)/1.1 var(--font-display);margin:20px 0 40px}@media(hover:hover){.primary-button:hover{background:var(--color-accent-strong);box-shadow:0 0 45px color-mix(in srgb,var(--color-glow) 30%,transparent);transform:translateY(-2px)}.primary-button:hover svg{transform:translate(3px)}.utility-button:hover{color:var(--color-accent);border-color:var(--color-accent)}.text-button:hover{color:var(--color-text)}}@keyframes reveal{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes starlight{0%,to{opacity:.18;transform:translateY(0) scale(.8)}50%{opacity:.7;transform:translateY(-5px) scale(1)}}@keyframes atmosphere-drift{0%{transform:translate3d(-2%,1%,0) scale(.96)}to{transform:translate3d(3%,-2%,0) scale(1.06)}}@keyframes chapter-exit{to{opacity:0;transform:translateY(-12px)}}@keyframes chapter-enter{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.reveal{animation:reveal 1s cubic-bezier(.2,.65,.3,1) var(--reveal-delay, 0ms) both}.reveal:focus-within{animation:none}.section-stage--leaving{animation:chapter-exit .48s ease-in-out both;pointer-events:none}.section-stage--entering{animation:chapter-enter .7s cubic-bezier(.2,.65,.3,1) both}.section-stage--entering .reveal{animation:none}[data-motion=paused] .ambient-sky *{animation-play-state:paused!important}[data-motion=reduced] .ambient-sky *{animation:none!important;will-change:auto}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ambient-glow{will-change:auto}}
