@font-face{font-family:Cormorant;src:url('../assets/fonts/serif.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Cormorant;src:url('../assets/fonts/serif-italic.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:DM Sans;src:url('../assets/fonts/sans.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--ivory:#f8f4ee;--paper:#fffcf7;--rose:#883d50;--rose-dark:#6c2c3d;--blush:#edddd8;--gold:#a18554;--charcoal:#332f2d;--muted:#716861;--line:#dcd1c5;--serif:Cormorant,Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--ivory);color:var(--charcoal);font-family:var(--sans);font-size:15px;line-height:1.85;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%;object-fit:cover}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--rose);outline-offset:6px}::selection{background:#e7c8ce;color:#472633}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.035em}h2{font-size:clamp(44px,5vw,70px);margin-bottom:28px}em{color:var(--rose);font-weight:400}p{margin-bottom:20px}button[hidden],a[hidden]{display:none!important}.section-pad{padding:110px max(7.3vw,24px)}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:10px;font-weight:400;line-height:1.7}.section-number{color:var(--rose);display:flex;align-items:center;gap:15px;margin-bottom:28px}.section-number>span{display:inline-block;width:30px;height:1px;background:#bea98e}.button{display:inline-flex;gap:34px;align-items:center;justify-content:center;font-size:11px;letter-spacing:.1em;padding:17px 26px;min-height:52px;border:1px solid transparent;transition:background .25s,transform .25s,box-shadow .25s}.button-rose{color:#fff8f3;background:var(--rose)}.button-rose:hover{background:var(--rose-dark);transform:translateY(-3px);box-shadow:0 8px 22px #52212e20}.button>span{font-size:18px;line-height:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;background:var(--paper);padding:12px 20px;z-index:100}.skip-link:focus{top:12px}
.site-header{height:88px;position:absolute;left:0;top:0;width:100%;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 4.6%;border-bottom:1px solid #66503c25;background:#fff8ee16}.monogram{font-family:var(--serif);font-size:30px;letter-spacing:-.07em;position:relative;line-height:1}.monogram span{font-size:18px;font-style:italic;margin:0 4px;color:var(--rose)}.monogram i{position:absolute;font-size:13px;top:-10px;right:-10px;color:var(--rose)}nav{display:flex;gap:33px}nav a{font-size:10px;letter-spacing:.09em;position:relative}nav a:after{content:'';position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--rose);transition:width .3s}nav a:hover:after,nav a[aria-current]:after{width:100%}.music-toggle{border:1px solid #66503c50;background:#fff9ed25;border-radius:30px;display:flex;align-items:center;gap:10px;padding:9px 15px;font-size:10px;letter-spacing:.04em;min-height:40px}.music-bars{display:flex;gap:3px;align-items:center;height:13px}.music-bars i{width:2px;height:7px;background:var(--rose);border-radius:3px}.music-bars i:nth-child(2){height:13px}.music-bars i:nth-child(4){height:10px}.music-toggle[aria-pressed=true] i{animation:soundwave 1s ease-in-out infinite alternate}.music-toggle[aria-pressed=true] i:nth-child(2){animation-delay:-.5s}.music-toggle[aria-pressed=true] i:nth-child(3){animation-delay:-.8s}.menu-toggle{display:none}
.hero{min-height:820px;height:100svh;max-height:1100px;position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:#e9ceb2}.hero-image,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-image{background:url('../assets/images/sunset.jpg') center 53%/cover;transform:scale(1.05);will-change:transform}.hero-shade{z-index:-1;background:linear-gradient(180deg,rgba(251,236,218,.75) 0%,rgba(251,237,217,.75) 40%,rgba(242,219,191,.67) 78%,rgba(62,49,40,.15) 100%)}.hero-content{position:relative;padding:125px 22px 100px}.hero-eyebrow{display:flex;align-items:center;justify-content:center;gap:15px;color:#694f3d;font-size:9px;letter-spacing:.29em}.hero-eyebrow>span{width:28px;height:1px;background:#997b5a}.hero-dedication{font-family:var(--serif);font-style:italic;font-size:26px;color:#805b4c;margin:32px 0 12px}.hero h1{font-size:clamp(64px,7.2vw,104px);line-height:.99;margin-bottom:28px;letter-spacing:-.045em;color:#3f342c}.hero h1 em{color:#7b3b4a}.hero-subtitle{font-size:12px;line-height:1.9;color:#584a3c;margin-bottom:31px}.hero-signature{font-family:var(--serif);font-style:italic;font-size:21px;margin:22px 0 0;color:#554233}.hero-signature span{color:var(--rose);font-size:25px;margin-left:3px}.hero-bottom{position:absolute;bottom:28px;left:4.6%;right:4.6%;display:flex;justify-content:space-between;align-items:center;color:#fff8ec;font-size:9px;letter-spacing:.07em;text-shadow:0 1px 6px #2b241b}.hero-bottom a{display:flex;align-items:center;gap:14px}.hero-bottom a span{font-size:20px}.mobile-break{display:none}.petals{position:absolute;inset:0;pointer-events:none;overflow:hidden}.petal{position:absolute;top:-8%;width:10px;height:16px;border-radius:80% 0 75% 15%;background:linear-gradient(135deg,#f5d3ca99,#d6929b66);animation:petalfall var(--duration) linear infinite;animation-delay:var(--delay);left:var(--left);opacity:0;will-change:transform}.petal.heart{font-family:Georgia,serif;font-size:16px;background:none;color:#a76c7750;border-radius:0}.petal.heart::before{content:'♡'}
.opening{text-align:center;max-width:1000px;margin:auto;padding-top:78px;padding-bottom:84px}.tiny-flower{color:var(--gold);font-size:25px;display:block;margin-bottom:20px}.opening p{font-family:var(--serif);font-size:clamp(26px,3vw,36px);line-height:1.35;margin-bottom:25px}.opening .eyebrow{color:var(--muted);font-size:9px}.story{display:grid;grid-template-columns:1fr 1fr;gap:11%;max-width:1450px;margin:auto;padding-top:45px;padding-bottom:120px;align-items:center}.story-photo{position:relative;padding-bottom:60px}.photo-mat{background:#fffcf5;padding:14px 14px 42px;box-shadow:0 10px 40px #53463812;transform:rotate(-3deg);position:relative}.photo-mat img{width:100%;aspect-ratio:4/5;height:auto;filter:saturate(.65);object-position:43% center}.photo-label{position:absolute;bottom:12px;left:10px;right:10px;text-align:center;font-size:9px;letter-spacing:.06em;color:var(--muted)}.photo-handwriting{position:relative;display:block;font-family:var(--serif);font-style:italic;font-size:27px;color:var(--rose);margin-top:24px;text-align:center;transform:rotate(-5deg)}.photo-date{position:absolute;bottom:0;right:4%;font-size:9px;letter-spacing:.21em}.story-copy>p{color:var(--muted);font-size:12px}.story h2{font-size:clamp(42px,4.4vw,64px)}.timeline{margin-top:30px;padding-left:22px;border-left:1px solid #cdb8a0}.timeline details{position:relative;border-bottom:1px solid var(--line);padding:17px 0}.timeline details:last-child{border-bottom:0}.timeline details:before{content:'';width:6px;height:6px;position:absolute;left:-26px;top:27px;border:1px solid #a48a66;border-radius:100%;background:var(--ivory)}.timeline details[open]:before{background:var(--rose);border-color:var(--rose)}.timeline summary{list-style:none;display:grid;grid-template-columns:95px 1fr 15px;align-items:center;gap:10px;cursor:pointer;line-height:1.5}.timeline summary::-webkit-details-marker{display:none}.timeline summary time,.timeline-date{font-size:9px;letter-spacing:.08em;color:var(--rose)}.timeline summary>span:not(.timeline-date){font-family:var(--serif);font-size:21px}.timeline summary b{font-size:17px;color:var(--rose);font-weight:400}.timeline details[open] summary b{transform:rotate(45deg)}.timeline details p{font-size:11px;color:var(--muted);line-height:1.9;margin:14px 0 0;padding-right:15px}
.birthday{display:grid;grid-template-columns:1fr 1fr;background:#ede6e3;max-width:1600px;margin:auto;min-height:650px}.birthday-copy{padding:85px 12% 85px 15%;align-self:center}.birthday-date{display:block;font-size:12px;letter-spacing:.4em;color:#7b6052;margin:35px 0 18px}.birthday h2{font-size:clamp(42px,4.3vw,64px)}.birthday-copy p{font-size:12px;color:#6c5e58;max-width:400px}.small-note{display:block;font-family:var(--serif);font-style:italic;font-size:23px;color:var(--rose);margin-top:26px}.birthday-image{position:relative;min-height:600px;overflow:hidden}.birthday-image img{width:100%;height:100%;position:absolute;inset:0;object-position:center;filter:saturate(.65)}.birthday-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#ede6e3 0%,transparent 18%,transparent 70%,#44302740)}.image-caption{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);font-family:var(--serif);font-style:italic;color:#533d3c;font-size:25px;z-index:1;white-space:nowrap;background:#fff9f075;padding:3px 16px;backdrop-filter:blur(8px)}
.letter-section{position:relative;background:radial-gradient(ellipse at 10% 50%,#eadad452,transparent 50%),var(--ivory)}.section-heading{text-align:center;margin:0 auto 55px}.section-heading .section-number{justify-content:center}.section-heading h2{margin-bottom:20px}.section-heading>p{font-size:12px;color:var(--muted)}.letter-paper{position:relative;max-width:790px;margin:auto;background:var(--paper);padding:45px 80px 75px;box-shadow:0 8px 55px #6354480a;border:1px solid #e9dfd2;transform:rotate(-.5deg)}.letter-topline{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:40px;text-transform:uppercase;font-size:8px;letter-spacing:.2em;color:#8f7864}.letter-topline>span:last-child{font-family:var(--serif);font-size:17px;line-height:1}.letter-paper h3{font-size:36px;color:var(--rose);font-style:italic;letter-spacing:-.02em;margin-bottom:25px}.letter-paper>p{font-size:13px;line-height:2.05;color:#675d56;margin-bottom:22px}.letter-paper blockquote{font-family:var(--serif);font-size:30px;line-height:1.3;font-style:italic;text-align:center;color:var(--rose);margin:42px -15px;padding:28px 0;border-top:1px solid #e6dcd0;border-bottom:1px solid #e6dcd0}.letter-signoff{margin-top:40px;display:flex;flex-direction:column;align-items:flex-start}.letter-signoff>span:first-child{font-size:12px;color:var(--muted)}.letter-signoff strong{font-family:var(--serif);font-size:42px;font-style:italic;color:var(--rose);font-weight:400;line-height:1.5}.signature-heart{font-size:25px;color:var(--rose)}.wax-seal{position:absolute;bottom:50px;right:65px;width:62px;height:62px;border-radius:45% 49% 43% 48%;display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:37px;color:#ebc5c2;background:radial-gradient(circle at 35% 30%,#a4606f,#7d3c4e);box-shadow:inset 0 0 0 5px #9e5c6c,inset 0 0 0 7px #71324850,3px 5px 8px #5b223525;transform:rotate(-12deg)}
.memories{padding-top:25px}.gallery-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:45px}.gallery-heading h2{margin-bottom:0}.gallery-heading>p{font-size:12px;color:var(--muted);padding-bottom:2px;max-width:330px}.placeholder-note{font-size:9px;display:block;margin-top:15px;color:#766659}.memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 28px}.memory-card{background:none;border:0;padding:0;text-align:left;color:var(--charcoal);min-width:0}.memory-image{display:block;position:relative;overflow:hidden;background:#e4d4c5}.memory-image img{width:100%;aspect-ratio:4/4.6;height:auto;filter:saturate(.65);transition:transform .7s,filter .7s}.memory-card:nth-child(2) img{object-position:28% center}.memory-card:nth-child(3) img{object-position:70% center}.memory-card:nth-child(4) img{object-position:90% center;transform:scale(1.12)}.memory-card:nth-child(5) img{object-position:15% center;transform:scale(1.1)}.memory-card:nth-child(6) img{object-position:75% center}.memory-card:hover img{transform:scale(1.05);filter:saturate(.9)}.memory-card:nth-child(4):hover img,.memory-card:nth-child(5):hover img{transform:scale(1.17)}.expand{position:absolute;top:15px;right:15px;width:30px;height:30px;border-radius:50%;background:#fffcf4be;display:grid;place-items:center;font-size:18px;opacity:0;transform:translateY(5px);transition:opacity .3s,transform .3s}.memory-card:hover .expand,.memory-card:focus-visible .expand{opacity:1;transform:none}.placeholder-tag{position:absolute;bottom:14px;left:14px;background:#fffaf0d9;padding:3px 9px;font-size:8px;letter-spacing:.08em;color:#65564b}.memory-caption{display:flex;align-items:center;font-family:var(--serif);font-size:22px;gap:12px;padding:16px 0 5px;line-height:1.2}.memory-caption>span{font-family:var(--sans);font-size:8px;color:var(--rose);letter-spacing:.07em}.memory-caption i{font-style:normal;font-size:20px;color:var(--rose);margin-left:auto}.gallery-note{text-align:center;color:var(--muted);font-size:10px;letter-spacing:.04em;margin:35px 0 0}
.commitments{background:#f0e8e0;border-top:1px solid #e5d9ce;border-bottom:1px solid #e5d9ce}.commitment-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1200px;margin:auto}.commitment{text-align:center;padding:10px 40px 0;border-right:1px solid #d8c9b8}.commitment:last-child{border:0}.commitment-icon{display:block;font-family:var(--serif);font-size:48px;color:#9a7b56;line-height:1;margin-bottom:25px}.commitment .eyebrow{font-size:8px;color:var(--rose)}.commitment h3{font-size:33px;margin:16px 0}.commitment p{font-size:12px;color:#6f6259;line-height:1.9;margin-bottom:0}.new-chapter{text-align:center;position:relative;overflow:hidden;padding-top:145px;padding-bottom:145px;background:radial-gradient(ellipse at 50% 30%,#eae3e950,transparent 65%)}.new-chapter .section-number{justify-content:center}.new-chapter h2{font-size:clamp(44px,5.2vw,74px)}.new-chapter p{font-size:13px;color:var(--muted)}.new-chapter .small-note{font-size:23px}.chapter-orbit{position:absolute;left:50%;top:50%;width:660px;height:660px;max-width:95vw;border:1px solid #b39a7e25;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.chapter-orbit:before{content:'';position:absolute;inset:-20px;border:1px solid #b39a7e10;border-radius:50%}.chapter-orbit>span{position:absolute;top:26%;right:5%;font-family:var(--serif);color:#b0889960;font-size:25px;background:var(--ivory);line-height:1;padding:5px;animation:float 6s ease-in-out infinite}.invitation{background:#eadbd7;text-align:center;padding-top:85px;padding-bottom:85px}.envelope{display:block;margin:0 auto 30px;width:56px;height:42px;border:1px solid #ae8c83;border-radius:2px;font-family:var(--serif);font-size:25px;color:var(--rose);position:relative}.envelope:before,.envelope:after{content:'';position:absolute;top:7px;width:29px;height:1px;background:#ae8c83}.envelope:before{left:0;transform:rotate(28deg)}.envelope:after{right:0;transform:rotate(-28deg)}.invitation .eyebrow{color:var(--rose);font-size:9px}.invitation h2{font-size:clamp(39px,4.4vw,61px);margin:22px 0}.invitation p{font-size:12px;color:#6a5752}.invitation .button{margin:10px 0 20px}.invitation-note{display:block;font-size:9px;letter-spacing:.06em;color:#705d57;margin-top:24px}footer{text-align:center;padding:52px 20px 35px;display:flex;align-items:center;flex-direction:column}footer .monogram{margin-bottom:22px;font-size:26px}footer p{font-size:11px;margin-bottom:7px}footer p span{font-size:10px}footer>span{font-size:9px;letter-spacing:.04em;color:var(--muted)}.back-top{font-size:9px;letter-spacing:.06em;margin-top:30px;display:flex;gap:12px}.back-top span{color:var(--rose)}.motion-toggle{position:fixed;bottom:17px;left:18px;z-index:15;border:1px solid #bda79970;background:#fffaf0e6;backdrop-filter:blur(12px);border-radius:30px;color:#6e534b;font-size:9px;padding:7px 12px;box-shadow:0 2px 12px #3f30200a;display:flex;gap:9px;align-items:center;min-height:35px}.motion-toggle span{color:var(--rose)}
.lightbox{border:0;padding:25px 4%;color:var(--ivory);background:#292624;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0}.lightbox::backdrop{background:#292624f5}.lightbox[open]{display:flex;flex-direction:column}.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:44px;font-size:11px;letter-spacing:.13em}.lightbox button{border:1px solid #d0bcb560;background:transparent;color:#fff8ee;min-width:44px;min-height:44px;font-size:21px}.lightbox-close{padding:5px 13px;display:flex;gap:20px;align-items:center;font-size:11px!important}.lightbox-close span{font-size:26px}.lightbox-stage{display:flex;align-items:center;justify-content:space-between;flex:1;min-height:0;gap:24px}.lightbox figure{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:18px 0;min-width:0;max-height:100%;width:100%}.lightbox figure img{height:auto;max-height:68dvh;width:auto;max-width:100%;object-fit:contain}.lightbox figcaption{font-family:var(--serif);font-size:27px;margin-top:15px;text-align:center;line-height:1.25}.lightbox figure p{font-size:10px;color:#d0bcb5;margin:10px 0 0;text-align:center}.lightbox-hint{text-align:center;font-size:9px;color:#c4b5ad;margin:15px 0 0}.lightbox button:focus-visible{outline-color:#f4c6d2}
.js-motion .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.js-motion .reveal.visible{opacity:1;transform:none}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused .hero-image{transform:scale(1.05)!important}.motion-paused .reveal{opacity:1;transform:none;transition:none}.motion-paused{scroll-behavior:auto}.motion-paused .memory-image img,.motion-paused .button{transition:none}
@keyframes petalfall{0%{opacity:0;transform:translate3d(0,-20px,0) rotate(0)}10%{opacity:.7}90%{opacity:.6}100%{opacity:0;transform:translate3d(100px,110svh,0) rotate(330deg)}}@keyframes float{50%{transform:translateY(-8px) rotate(8deg)}}@keyframes soundwave{to{transform:scaleY(.4)}}
@media(min-width:1600px){.section-pad{padding-left:max(7.3vw,calc((100vw - 1360px)/2));padding-right:max(7.3vw,calc((100vw - 1360px)/2))}.hero-content{padding-top:110px}.story{padding-left:100px;padding-right:100px}.birthday-copy{padding-left:18%}}
@media(max-width:1000px){.site-header{padding:0 5%;height:76px}nav{gap:20px}nav a{font-size:9px}.hero{min-height:750px}.hero h1{font-size:82px}.story{gap:7%;padding-left:6%;padding-right:6%}.story h2{font-size:48px}.story-photo{align-self:center}.birthday-copy{padding:65px 10%}.birthday h2{font-size:48px}.birthday-image{min-height:650px}.letter-paper{padding-left:60px;padding-right:60px}.commitment{padding:10px 24px 0}.memory-caption{font-size:18px;gap:8px}.section-pad{padding-left:6%;padding-right:6%}}
@media(max-width:900px){html{scroll-padding-top:24px}.site-header{height:70px;padding:0 22px}.monogram{font-size:27px}.menu-toggle{display:flex;align-items:center;gap:10px;position:absolute;left:50%;transform:translateX(-50%);border:0;background:none;font-size:10px;color:var(--charcoal);padding:12px}.menu-toggle span{font-size:13px}nav{display:none;position:absolute;top:70px;left:12px;right:12px;background:#fbf4eaf7;padding:24px;box-shadow:0 10px 25px #5a42381a;border:1px solid #d7c2ae;backdrop-filter:blur(12px);flex-direction:column;gap:0}nav.is-open{display:flex}nav a{font-size:12px;padding:13px 0}nav a:after{bottom:8px}.music-toggle{padding:8px 11px;gap:7px;min-height:35px}.music-label{font-size:9px}.hero{height:94svh;min-height:710px;max-height:1000px}.hero-content{padding:100px 20px 110px}.hero-image{background-position:54% center}.hero-shade{background:linear-gradient(180deg,#fbe9d6cb,#fbead2c7 45%,#f2dbbfb8 80%,#3e312844)}.hero-eyebrow{font-size:8px;letter-spacing:.19em;gap:10px}.hero-eyebrow>span{width:20px}.hero-dedication{font-size:24px;margin-top:32px}.hero h1{font-size:clamp(51px,10.8vw,74px);line-height:1.04;letter-spacing:-.045em;margin-bottom:23px}.hero-subtitle{font-size:11px;line-height:1.9;margin-bottom:26px}.mobile-break{display:block}.hero-signature{font-size:21px;margin-top:20px}.hero-bottom{bottom:25px;left:22px;right:22px}.hero-bottom>span{display:none}.hero-bottom>a{margin:auto;font-size:9px}.section-pad{padding:75px 24px}.opening{padding-top:55px;padding-bottom:55px}.opening p{font-size:26px}.opening .eyebrow{font-size:8px}.story{display:flex;flex-direction:column;padding-top:30px;gap:45px;padding-bottom:70px}.story-photo{width:80%;max-width:420px;order:1}.story-copy{width:100%;order:0}.story h2{font-size:48px}.story-copy>p{font-size:13px}.section-number{font-size:9px;margin-bottom:22px}.timeline summary{grid-template-columns:90px 1fr 15px}.timeline details p{font-size:12px}.timeline summary>span:not(.timeline-date){font-size:23px}.photo-handwriting{font-size:25px}.birthday{grid-template-columns:1fr}.birthday-copy{padding:65px 24px 45px}.birthday h2{font-size:49px}.birthday-copy p{font-size:13px;max-width:100%}.birthday-date{margin-top:27px}.birthday-image{min-height:360px}.birthday-image img{object-position:center 44%}.birthday-image:after{background:linear-gradient(180deg,#ede6e3,transparent 25%)}.image-caption{font-size:24px;bottom:22px}.section-heading{margin-bottom:35px}.section-heading h2{font-size:46px}.section-heading>p{font-size:11px}.letter-paper{padding:25px 24px 50px;transform:none}.letter-topline{padding-bottom:19px;margin-bottom:28px;font-size:7px}.letter-paper h3{font-size:33px}.letter-paper>p{font-size:12px;line-height:2}.letter-paper blockquote{font-size:25px;margin:32px 0;padding:25px 0}.letter-signoff{margin-top:30px}.wax-seal{right:27px;bottom:47px;width:50px;height:50px;font-size:29px}.gallery-heading{display:block;margin-bottom:30px}.gallery-heading h2{font-size:47px}.gallery-heading>p{margin:23px 0 0;font-size:11px}.placeholder-note{font-size:9px;margin-top:10px}.memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}.memory-caption{font-size:17px;gap:7px;padding-top:12px;align-items:flex-start}.memory-caption>span{font-size:7px;padding-top:4px}.memory-caption i{display:none}.memory-image img{aspect-ratio:3/4}.placeholder-tag{font-size:7px;padding:2px 5px;left:8px;bottom:8px;letter-spacing:.02em}.expand{opacity:1;transform:none;width:25px;height:25px;font-size:15px;top:9px;right:9px}.gallery-note{font-size:9px;margin-top:28px}.commitment-grid{grid-template-columns:1fr}.commitment{border-right:0;border-bottom:1px solid #d8c9b8;padding:30px 12px}.commitment:last-child{padding-bottom:0}.commitment-icon{font-size:42px;margin-bottom:16px}.commitment h3{font-size:32px;margin:12px 0 15px}.commitment p{max-width:320px;margin:auto;font-size:12px}.commitments .section-heading{margin-bottom:10px}.new-chapter{padding-top:100px;padding-bottom:100px}.new-chapter h2{font-size:44px}.new-chapter p{font-size:12px}.new-chapter .small-note{font-size:21px}.chapter-orbit{height:540px;width:540px;max-width:none}.chapter-orbit>span{right:11%}.desktop-break{display:none}.invitation h2{font-size:38px;line-height:1.12}.invitation{padding-top:65px;padding-bottom:65px}.invitation p{font-size:11px}.invitation-note{font-size:8px}.motion-toggle{left:10px;bottom:10px;font-size:8px;padding:5px 9px;min-height:30px}.lightbox{padding:18px 15px}.lightbox-stage{gap:10px;position:relative}.lightbox-stage>button{position:absolute;bottom:20px;z-index:2;background:#292624aa}.lightbox-next{right:0}.lightbox-prev{left:0}.lightbox figure{margin-bottom:75px}.lightbox figure img{max-height:60dvh}.lightbox figcaption{font-size:23px}.lightbox figure p{font-size:9px}.lightbox-hint{margin:0}.lightbox-hint{font-size:8px}footer{padding-bottom:55px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-image{transform:none!important;will-change:auto}.petals{display:none}.js-motion .reveal{opacity:1;transform:none}.motion-toggle{display:none}}
@media print{.site-header,.petals,.motion-toggle,.hero-bottom,.button,.lightbox,.back-top{display:none!important}.hero{height:auto;min-height:0;padding:35px 0;background:#eee}.hero-image,.hero-shade{display:none}.hero-content{padding:0}.hero h1{font-size:50px}.section-pad{padding:35px 20px}.reveal{opacity:1!important;transform:none!important}.letter-paper{box-shadow:none;max-width:100%;padding:30px}.memory-grid{grid-template-columns:repeat(3,1fr)}.story,.birthday{break-inside:avoid}.birthday-image{min-height:400px}.commitments,.invitation{background:#f5f0eb}.letter-paper>p{font-size:11px}body{color:#222}}

@media(min-width:901px){.hero-bottom>span:first-child{padding-left:90px}}
