@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&display=swap');
:root{--plum:#321524;--ink:#39222c;--cream:#fff8ee;--gold:#e9c890;--rose:#ecb9c4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #bc738f;outline-offset:6px}button{border:0}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3,.script,.welcome-number,.hero-age{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1}em{font-weight:400}h2{font-size:clamp(3rem,6vw,5.5rem);letter-spacing:-.035em}h3{font-size:clamp(2.8rem,4vw,4.2rem)}.eyebrow{font-size:12px;letter-spacing:.2em;font-weight:600;line-height:1.7}.small{font-size:13px;opacity:.7}.gold{padding:17px 27px;background:var(--gold);color:var(--plum);border-radius:3px;font-weight:500;transition:transform .2s}.gold:hover{transform:translateY(-3px)}.text-link{display:inline-block;background:none;border:0;border-bottom:1px solid currentColor;text-decoration:none;padding:5px 0;font-size:14px}.welcome{min-height:100svh;padding:45px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--cream);background:radial-gradient(ellipse at 50% 30%,#63334b 0,#321524 70%);position:relative;overflow:hidden}.welcome-number{font-size:clamp(140px,23vw,240px);color:var(--gold);line-height:.9;margin:25px 0 12px;font-style:italic}.welcome h1{font-size:clamp(3rem,7vw,5rem);margin-bottom:24px}.welcome .gold{margin:32px 0 17px}.welcome .eyebrow{color:var(--gold)}header{height:90px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;background:var(--plum);color:var(--cream)}.monogram{font:30px Georgia;text-decoration:none;display:flex;align-items:center;gap:18px}.monogram span{font:11px 'DM Sans',sans-serif;letter-spacing:.22em;border-left:1px solid #896774;padding-left:18px}.sound{background:transparent;color:var(--cream);border:1px solid #795464;border-radius:30px;padding:8px 15px;font-size:14px}.hero{position:relative;background:var(--plum);color:var(--cream);padding:40px 9% 75px;display:grid;grid-template-columns:1.05fr 1fr;gap:6%;overflow:hidden;align-items:center;min-height:650px}.hero-copy{position:relative;z-index:2}.hero .eyebrow{color:var(--gold);margin-bottom:40px}.script{font-style:italic;font-size:34px}.hero h1{font-size:clamp(75px,9.6vw,150px);letter-spacing:-.06em;margin:8px 0 24px}.hero h1 em{color:var(--rose)}.hero-sub{font-size:17px;margin-bottom:35px}.hero-photo{position:relative;z-index:1;max-width:430px;margin:0 auto;width:100%;padding:13px 13px 42px;background:#f9eedf;transform:rotate(3deg);box-shadow:0 25px 70px #13081060}.hero-photo img{width:100%;height:440px;object-fit:cover;object-position:50% 26%;display:block}.photo-note{display:block;color:#614750;font-size:12px;text-align:center;margin-top:12px}.hero-age{position:absolute;right:1%;bottom:-80px;font-size:400px;color:#ffffff05;pointer-events:none}.ribbon{display:flex;justify-content:space-around;gap:30px;padding:20px;background:var(--gold);font-size:11px;letter-spacing:.16em;overflow:hidden;white-space:nowrap}.memories{padding:95px 8%}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:55px}.section-head .eyebrow{margin-bottom:17px}.section-head>p{max-width:300px;padding-bottom:7px;color:#795c66}.story{display:grid;grid-template-columns:1.05fr 1fr;background:#f1e4df;min-height:520px}.story-image{position:relative;background:#e5d8d1;display:flex;align-items:center;justify-content:center}.story-image img{width:100%;height:540px;object-fit:contain;display:block}.story-image>button{position:absolute;bottom:18px;right:18px;background:var(--cream);border-radius:50%;width:44px;height:44px;font-size:24px}.story-copy{display:flex;flex-direction:column;justify-content:center;padding:45px}.story-copy .eyebrow{margin-bottom:30px;color:#845164}.story-copy h3{margin-bottom:24px}.story-copy>p:not(.eyebrow){color:#75565f}.story-controls{display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin-top:38px;font-size:13px}.story-controls button{background:transparent;color:var(--ink);padding:9px;border:1px solid #bba1aa;min-width:40px}.story-controls #play{font-size:12px;padding:10px}.gallery{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;margin-top:20px}.gallery button{padding:0;background:#e5d8d1;overflow:hidden}.gallery img{width:100%;height:115px;display:block;object-fit:cover;transition:transform .35s}.gallery button:hover img{transform:scale(1.08)}.gallery-hint{text-align:center;margin-top:16px}.wish{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:#26121e;color:var(--cream)}.cake-wrap img{width:100%;display:block;min-height:460px;max-height:700px;object-fit:cover}.wish-copy{padding:60px 13% 60px 10%}.wish .eyebrow{color:var(--gold);margin-bottom:25px}.wish h2{font-size:clamp(3.2rem,5vw,5rem)}.wish-copy>p:not(.eyebrow){margin:25px 0 30px;color:#e8d3dd}.wish-copy #again{color:var(--gold);margin-top:20px}.letter-section{padding:95px 24px;text-align:center;max-width:800px;margin:auto}.letter-section .eyebrow{margin-bottom:25px}.letter-button{background:transparent;border-top:1px solid #c9a891;border-bottom:1px solid #c9a891;margin:40px auto 0;width:min(100%,490px);display:flex;justify-content:space-between;padding:25px 5px;font-family:Georgia,serif;font-size:25px;color:var(--ink)}#letter{text-align:left;background:white;padding:45px;margin-top:35px;box-shadow:0 10px 40px #32152408;border-top:3px solid var(--gold)}#letter p{margin-bottom:20px}#letter .script{font-size:36px}#letter .signature{margin-top:28px;margin-bottom:0}#letter .signature em{font-family:Georgia,serif;font-size:25px}.song-section{padding:70px 8%;background:#f0e0dc;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.song-section h2{margin:20px 0}.song-section .gold{margin-top:25px}.song-note{font:italic 30px/1.3 Georgia;text-align:center;color:#886273}iframe{width:100%;aspect-ratio:16/9;border:0}footer{text-align:center;background:var(--plum);color:var(--cream);padding:65px 20px}footer .script{font-size:clamp(38px,5vw,60px);color:var(--rose);margin-bottom:20px}footer button{color:var(--gold);margin:25px 0}dialog{border:0;background:#21111deF;color:white;max-width:96vw;width:1000px;padding:20px;border-radius:4px}dialog::backdrop{background:#140a12e6}dialog img{width:100%;height:78svh;object-fit:contain}dialog p{text-align:center;font-size:13px}#close-photo{position:absolute;right:20px;top:15px;border-radius:50%;width:42px;height:42px;color:white;background:#321524;font-size:20px}#confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:30}[hidden]{display:none!important}@media(max-width:700px){header{height:75px;padding:0 6%}.monogram span{font-size:9px}.hero{padding:30px 7% 55px;grid-template-columns:1fr;gap:40px}.hero .eyebrow{margin-bottom:25px}.hero h1{font-size:88px}.hero-copy .script{font-size:29px}.hero-photo{width:84%;max-width:350px}.hero-photo img{height:360px}.hero-age{font-size:290px;bottom:-45px;right:-15px}.ribbon{justify-content:flex-start;font-size:10px;gap:22px}.memories{padding:60px 6%}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:25px}.story{grid-template-columns:1fr}.story-image img{height:410px}.story-copy{padding:28px}.story-copy .eyebrow{margin-bottom:20px}.story-copy h3{font-size:43px}.story-controls{margin-top:25px}.gallery{grid-template-columns:repeat(4,1fr);gap:7px}.gallery img{height:105px}.wish{grid-template-columns:1fr}.cake-wrap img{min-height:0;max-height:460px}.wish-copy{padding:35px 8% 55px}.letter-section{padding:60px 6%}#letter{padding:27px}.song-section{padding:50px 7%;grid-template-columns:1fr;gap:30px}.song-note{font-size:24px}dialog img{height:70svh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.wishes-section{padding:85px 8% 55px;background:#f8eee9}.wishes-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;max-width:850px;margin:auto}.wishes-grid button{min-height:90px;border:1px solid #c6a593;background:linear-gradient(135deg,#fffaf1,#ead6bd);color:#684134;font:italic 35px Georgia;transition:transform .25s,background .25s;position:relative}.wishes-grid button:hover{transform:translateY(-4px)}.wishes-grid button[aria-pressed="true"]{background:var(--plum);color:var(--gold);border-color:var(--plum)}.wishes-grid button.visited::after{content:'✦';position:absolute;right:8px;top:4px;font:12px Georgia}.wish-reveal{display:flex;align-items:center;gap:25px;max-width:850px;min-height:140px;margin:25px auto 0;border-bottom:1px solid #cfb4a6;padding:20px 5px}.wish-reveal>span{font:italic 55px Georgia;color:#996f46;min-width:55px}.wish-reveal>p{font:26px/1.35 'Cormorant Garamond',Georgia,serif}.cake-wrap{position:relative}#cake-celebration{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#29101ece;backdrop-filter:blur(5px);padding:25px}#cake-celebration h3{font-size:clamp(3rem,6vw,5.7rem);margin:25px 0;color:var(--gold)}.lightbox-controls{display:flex;gap:18px;align-items:center;justify-content:center;margin:12px auto}.lightbox-controls button{background:transparent;color:var(--cream);border:1px solid #957784;min-width:42px;min-height:42px;padding:8px;font-size:14px}.lightbox-controls span{font-size:14px}dialog img{height:70svh}.is-revealing{animation:arrive 1s ease both}.hero-photo{animation:photo-arrive 1.4s ease both}@keyframes arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes photo-arrive{from{opacity:0;transform:translateY(20px) rotate(0)}to{opacity:1;transform:translateY(0) rotate(3deg)}}@media(max-width:700px){.wishes-section{padding:55px 6% 30px}.wishes-grid{gap:7px}.wishes-grid button{min-height:65px;font-size:27px}.wish-reveal{gap:15px;min-height:155px}.wish-reveal>p{font-size:24px}.lightbox-controls{gap:12px}dialog img{height:66svh}}@media(prefers-reduced-motion:reduce){.is-revealing,.hero-photo{animation:none}}

.album-section{padding:90px 7% 65px;background:#ecdfd7;overflow:hidden}.album-section h2{font-size:clamp(2.8rem,4.8vw,4.7rem)}.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 26px;align-items:center;margin:25px auto;max-width:1200px;padding:14px}.album-card{background:#fffaf2;box-shadow:0 14px 30px #42222b1a;transform:rotate(-2deg);border:1px solid #cfbcb170;padding:13px;min-width:0}.album-card:nth-child(3n+2){transform:rotate(2deg);margin-top:25px}.album-card:nth-child(3n){transform:rotate(-.8deg);margin-top:-10px}.album-front{background:transparent;padding:0;color:var(--ink);width:100%;display:block}.album-front img{width:100%;height:350px;object-fit:contain;display:block;background:#eee3dc}.album-card:nth-child(2) img,.album-card:nth-child(5) img{height:390px}.album-front span{display:block;text-align:center;padding:18px 5px 7px;font:italic 21px/1.3 'Cormorant Garamond',Georgia,serif}.album-front small{display:block;font-size:12px;color:#80606d;margin:6px 0}.album-note{min-height:429px;padding:30px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center;background:#fffaf2;animation:arrive .4s ease}.album-note .eyebrow{color:#986f46}.album-note .message{font:italic 29px/1.3 'Cormorant Garamond',Georgia,serif}.album-note button{font-size:14px;padding:11px 14px}.album-note .text-link{color:#79545f}.album-closing{text-align:center;padding:28px 10px 0;font:italic 27px/1.4 'Cormorant Garamond',Georgia,serif;color:#684450}@media(max-width:900px){.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 20px}.album-front img{height:340px}.album-card:nth-child(2) img,.album-card:nth-child(5) img{height:340px}}@media(max-width:540px){.album-section{padding:55px 6% 40px}.album-grid{grid-template-columns:1fr;max-width:370px;gap:25px;padding:7px}.album-card:nth-child(n){margin:0;transform:rotate(-1.5deg)}.album-card:nth-child(even){transform:rotate(1.5deg)}.album-front img,.album-card:nth-child(2) img,.album-card:nth-child(5) img{height:365px}.album-note{min-height:430px}.album-section .section-head>p{margin-top:20px}.album-closing{font-size:25px}}@media(prefers-reduced-motion:reduce){.album-note{animation:none}}
/* A birthday gift menu, in the same plum and gold as her album. */
.welcome .gold{max-width:470px;line-height:1.4}.header-gift{margin-left:auto;margin-right:20px;font-size:14px;text-underline-offset:5px}.hero-gift-link{display:inline-block;text-decoration:none;margin:0 0 18px}.gifts-section{padding:90px 6%;background:#321524;color:#fff8ee;scroll-margin-top:20px}.gift-intro{text-align:center;max-width:720px;margin:0 auto 38px}.gift-intro .eyebrow{color:#e9c890;font-size:13px;margin-bottom:22px}.gift-intro h2{font-size:clamp(3.1rem,5vw,5rem);margin-bottom:25px}.gift-intro h2 em{color:#ecb9c4}.gift-intro>p:not(.eyebrow){line-height:1.8}.gift-signature{font:italic 27px 'Cormorant Garamond',Georgia,serif;margin-top:15px;color:#e9c890}.gift-budget{text-align:center;font-size:14px;color:#edd0b3;margin-bottom:22px}.gift-filters{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin:0 auto 32px}.gift-filters button{border:1px solid #9c7686;border-radius:25px;padding:9px 17px;background:transparent;color:#fff8ee;font-size:14px}.gift-filters button[aria-pressed=true]{background:#e9c890;border-color:#e9c890;color:#321524}.gift-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1240px;margin:auto}.gift-card{background:#fff8ee;color:#39222c;border:3px solid transparent;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.gift-card.selected{border-color:#e9c890;box-shadow:0 0 0 3px #a1764a}.gift-visual{height:220px;position:relative;background:#eadacb;overflow:hidden}.gift-visual img{width:100%;height:100%;object-fit:cover;display:block}.gift-number{position:absolute;left:15px;top:13px;color:#fff8ee;background:#321524d9;font:italic 21px Georgia;padding:7px 10px;border-radius:3px}.gift-visual.gold,.gift-visual.rose,.gift-visual.blue{padding:27px 22px 20px;display:flex;flex-direction:column;justify-content:space-between}.gift-visual.gold{background:#e9c890;color:#442514}.gift-visual.rose{background:#ecc1cd;color:#492032}.gift-visual.blue{background:#1a4660;color:#f7f7f0}.gift-brand-word{font-size:13px;letter-spacing:.07em;line-height:1.5;padding-left:43px}.gift-mark{font:italic 31px/1.12 'Cormorant Garamond',Georgia,serif;white-space:pre-line}.gift-credit{font-size:13px}.gift-card-body{padding:24px;display:flex;flex:1;flex-direction:column}.gift-category{font-size:12px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:#825465;margin-bottom:12px}.gift-card h3{font-size:32px;line-height:1.07;margin-bottom:12px}.gift-brand{font-size:14px;color:#765561;margin-bottom:15px;line-height:1.4}.gift-description{font-size:16px;line-height:1.6;margin-bottom:16px}.gift-price{font-size:14px;font-weight:600;margin-top:auto;padding-top:4px;margin-bottom:16px}.gift-details{border-top:1px solid #d8c3b4;padding:12px 0}.gift-details summary{cursor:pointer;font-size:14px}.gift-details p{font-size:14px;line-height:1.65;margin:12px 0}.gift-details a{font-size:14px;text-underline-offset:3px}.gift-choose{width:100%;padding:13px 12px;background:#321524;color:#fff8ee;margin-top:14px;border-radius:3px;font-size:15px;min-height:48px}.gift-choose[aria-pressed=true]{background:#e9c890;color:#321524}.gift-choose:disabled{opacity:.55;cursor:default}.gift-fineprint{font-size:14px;line-height:1.7;color:#e0c5cf;max-width:760px;text-align:center;margin:30px auto 0}.gift-confirmation{scroll-margin-top:25px;margin:50px auto 0;padding:36px;max-width:840px;background:#fff8ee;color:#39222c;border-top:5px solid #e9c890;border-radius:5px}.gift-confirmation .eyebrow{font-size:13px;color:#8b536a}.gift-confirmation h3{font-size:39px;margin:12px 0}.gift-confirmation label{display:block;font-size:16px;margin:20px 0 8px}.gift-confirmation label span{font-size:14px;color:#765561}.gift-confirmation input[type=date],.gift-confirmation textarea{display:block;width:100%;min-height:48px;border:1px solid #bfa4ac;border-radius:3px;background:white;color:#39222c;font:16px/1.5 'DM Sans',sans-serif;padding:12px;max-width:100%;box-sizing:border-box}.gift-confirmation textarea{resize:vertical}.gift-confirmation .baby-check{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:20px}.gift-confirmation input[type=checkbox]{width:21px;height:21px;accent-color:#632e4a}.gift-confirmation input:focus-visible,.gift-confirmation textarea:focus-visible,.gift-details summary:focus-visible{outline:3px solid #b25f87;outline-offset:4px}.gift-baby-advice{font-size:14px;line-height:1.6;color:#755060}.gift-save-note,.gift-share-note{font-size:14px;line-height:1.7;margin-top:18px;color:#725560}.gift-confirmation .gift-honeypot{display:none}.gift-notice{max-width:900px;margin:0 auto 28px;padding:14px 20px;border:1px dashed #e9c890;text-align:center;font-size:15px}#gift-form-status{margin:18px 0;color:#983847;font-weight:500}#gift-success{margin-top:26px;outline:0}#gift-success .script{font-size:36px;color:#743b55;margin-bottom:18px}#gift-saved-note{white-space:pre-wrap;margin-top:16px}.gift-success-actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:20px}#gift-load-status{text-align:center;margin-bottom:12px}
@media(max-width:1000px){.gift-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gift-card h3{font-size:31px}}
@media(max-width:600px){.gifts-section{padding:60px 6%}.gift-grid{grid-template-columns:1fr;gap:22px}.gift-visual{height:230px}.gift-card-body{padding:23px}.gift-confirmation{padding:24px 20px}.gift-confirmation h3{font-size:34px}.gift-filters{gap:7px}.gift-filters button{padding:8px 13px}.gift-intro br{display:none}.gift-intro h2 br{display:initial}.gift-intro h2{font-size:3.5rem}.header-gift{margin-right:12px;font-size:13px}.monogram span{display:none}.welcome .gold{font-size:16px;padding:17px 20px}.hero-gift-link{font-size:15px}.gift-confirmation .gold{width:100%}}

.gift-own-idea{text-align:center;margin:35px auto 0;padding:27px;border-top:1px solid #815567;border-bottom:1px solid #815567;max-width:600px}.gift-own-idea p{font:italic 27px Georgia;margin-bottom:13px}.gift-own-idea button{color:#e9c890}.gift-confirmation input[type=text],.gift-confirmation input[type=url],.gift-confirmation input[type=number]{width:100%;padding:12px;border:1px solid #bfa4ac;border-radius:3px;font:16px/1.5 'DM Sans',sans-serif;color:#39222c;background:#fff;min-height:48px}
