@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600&display=swap');
:root{--paper:#f7f1e8;--ink:#292723;--muted:#81786e;--wine:#6f1730;--pink:#d99091;--line:#ded4c7;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}.site-wrap{max-width:1440px;margin:auto;padding:0 6.1%}.topbar,footer{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.08em;color:var(--muted)}.wordmark{font-family:var(--serif);font-size:22px;color:var(--ink);text-decoration:none;letter-spacing:-.12em}.wordmark span{font-family:var(--sans);font-size:12px;color:var(--wine);margin:0 4px}.top-link,footer>a:last-child{color:var(--wine);text-decoration:none}.top-link span{padding-left:8px}.hero{min-height:635px;display:grid;grid-template-columns:1fr 1fr;align-items:center;position:relative;padding:55px 4% 75px}.hero-copy{padding:0 0 10px 2%}.eyebrow{font-size:9px;font-weight:700;letter-spacing:.18em;color:var(--wine);margin:0 0 24px}.spark{font-size:15px;margin-right:8px}.hero h1{font:600 clamp(65px,8.2vw,116px)/.92 var(--serif);letter-spacing:-.065em;margin:0;color:var(--wine)}h1 em,h2 em{font-weight:600}.intro{max-width:330px;color:#696158;font-size:14px;line-height:1.8;margin:28px 0}.button{display:inline-flex;gap:25px;align-items:center;background:var(--wine);color:white;padding:15px 19px;text-decoration:none;font-size:11px;letter-spacing:.04em;transition:background .2s}.button:hover{background:#4d1022}.signature{display:flex;align-items:center;gap:10px;margin-top:31px;color:var(--muted);font:500 18px 'Caveat',cursive}.line{height:1px;width:38px;background:#b9a99b}.hero-art{position:relative;justify-self:center;width:min(83%,420px);transform:rotate(2deg)}.photo-frame{background:#fff;padding:12px 12px 44px;box-shadow:0 18px 42px #392a201c}.photo-frame img{display:block;width:100%;height:400px;object-fit:cover;object-position:center 44%;filter:saturate(.88)}.photo-caption{position:absolute;bottom:13px;left:15px;right:15px;display:flex;justify-content:space-between;color:#766c60;font:500 17px 'Caveat',cursive}.scribble{position:absolute;font:600 22px 'Caveat',cursive;color:var(--wine)}.scribble-one{top:34px;left:-70px;transform:rotate(-12deg)}.scribble-two{right:-31px;top:-20px;color:#c98968;font-size:45px}.hero-stamp{position:absolute;bottom:54px;right:1%;width:95px;height:95px;border:1px solid var(--pink);border-radius:50%;display:grid;place-content:center;text-align:center;color:var(--wine);font-size:8px;font-weight:700;line-height:1.5;letter-spacing:.14em;transform:rotate(12deg)}.note-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);height:52px;display:flex;align-items:center;justify-content:space-around;font-size:8px;letter-spacing:.16em;color:#80776c}.note-heart{color:var(--pink);font-size:13px}.section{padding:110px 4%}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.section-heading h2,.letter-card h2{font:600 clamp(42px,5vw,64px)/1.08 var(--serif);letter-spacing:-.045em;color:var(--wine);margin:0}.section-heading .eyebrow,.letter-card .eyebrow{margin-bottom:17px}.heading-note{font-size:12px;line-height:1.8;color:var(--muted);margin:0 4% 8px 0}.gallery{display:grid;grid-template-columns:1.15fr .85fr 1fr;grid-template-rows:275px 210px 260px;gap:19px}.memory{margin:0;position:relative;overflow:hidden;background:#e7ded1}.memory img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s}.memory:hover img{transform:scale(1.035)}.memory figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:25px 15px 13px;color:#fff;background:linear-gradient(transparent,#0008);font:500 16px 'Caveat',cursive}.memory figcaption span:last-child{font:9px var(--sans);align-self:end}.memory-tall{grid-row:span 2}.memory-wide{grid-column:span 2}.memory:nth-child(4){grid-column:2;grid-row:2}.memory:nth-child(5){grid-column:3;grid-row:2 / span 2}.memory:nth-child(6){grid-column:1 / span 2;grid-row:3}.gallery-after{text-align:center;color:var(--muted);font:500 20px 'Caveat',cursive;margin:32px auto 0}.gallery-after span{color:var(--wine)}.letter-section{background:#6f1730;color:white;display:flex;align-items:center;justify-content:center;position:relative;padding:95px 9%;overflow:hidden}.letter-card{background:#f7f1e8;color:var(--ink);width:min(720px,100%);padding:62px 74px 54px;position:relative;box-shadow:0 25px 70px #33071866}.letter-card .eyebrow{color:#8d4553}.letter-body{margin-top:33px;color:#62584f;font:15px/1.9 var(--sans)}.letter-body p{margin:0 0 17px}.letter-signoff{display:flex;justify-content:space-between;align-items:end;color:#71645b;font:500 18px 'Caveat',cursive;border-top:1px solid #e2d8cb;padding-top:20px;margin-top:28px}.letter-signoff span{font-size:23px;color:var(--wine)}.letter-decoration{position:absolute;left:9%;top:10%;font-size:80px;color:#c78483}.letter-side{position:absolute;right:6%;bottom:17%;font:500 23px/1.1 'Caveat',cursive;transform:rotate(-8deg);color:#f4c8bc}.videos{padding-bottom:118px}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.video-card{margin:0;background:white;padding:10px 10px 0;box-shadow:0 8px 26px #2e1c1610}.video-card video{width:100%;aspect-ratio:16/10;display:block;object-fit:cover;background:#221c1b}.video-card figcaption{display:flex;justify-content:space-between;padding:14px 8px 17px;color:#60574d;font:500 19px 'Caveat',cursive}.video-card figcaption span{font:11px var(--sans);color:var(--wine)}.closing{text-align:center;padding:85px 20px 100px;border-top:1px solid var(--line)}.closing-star{font-size:35px;color:var(--pink)}.closing p{font:600 clamp(27px,4.3vw,48px)/1.35 var(--serif);color:var(--wine);margin:20px 0}.closing p em{font-weight:600}.closing-small{font-size:9px;font-weight:700;letter-spacing:.18em;color:var(--muted)}footer{height:80px;border-top:1px solid var(--line);border-bottom:0}footer span{font-size:10px;letter-spacing:.06em}footer>a:last-child{font-size:10px;letter-spacing:.05em}
@media(max-width:760px){.site-wrap{padding:0 20px}.topbar{height:65px}.topbar>span{display:none}.hero{grid-template-columns:1fr;min-height:0;padding:68px 4% 76px;gap:48px}.hero-copy{padding:0}.hero h1{font-size:clamp(65px,17vw,95px)}.hero-art{width:min(77%,360px);justify-self:center;margin-left:12px}.photo-frame img{height:340px}.hero-stamp{right:0;bottom:22px;width:77px;height:77px;font-size:7px}.scribble-one{left:-48px;font-size:18px}.note-strip{height:auto;min-height:48px;gap:10px;flex-wrap:wrap;padding:12px 4px;font-size:7px}.note-strip span:nth-of-type(3),.note-strip span:nth-of-type(4){display:none}.section{padding:78px 2%}.section-heading{align-items:start;gap:12px;margin-bottom:30px}.section-heading h2,.letter-card h2{font-size:43px}.heading-note{font-size:10px;margin:27px 0 0;text-align:right}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:240px 185px 210px 220px;gap:11px}.memory-tall{grid-row:span 1}.memory-wide{grid-column:span 2}.memory:nth-child(4){grid-column:2;grid-row:2}.memory:nth-child(5){grid-column:1;grid-row:3 / span 2}.memory:nth-child(6){grid-column:2;grid-row:3 / span 2}.memory figcaption{font-size:14px;padding:21px 9px 10px}.gallery-after{font-size:18px;line-height:1.5}.letter-section{padding:68px 7%}.letter-card{padding:43px 28px 35px}.letter-card h2{font-size:44px}.letter-body{font-size:13px;line-height:1.8;margin-top:25px}.letter-signoff{font-size:17px;gap:10px}.letter-signoff span{font-size:20px}.letter-decoration{left:2%;top:3%;font-size:47px}.letter-side{display:none}.videos{padding-top:78px;padding-bottom:80px}.video-grid{grid-template-columns:1fr;gap:18px}.video-card figcaption{font-size:18px}.closing{padding:66px 10px 75px}.closing p{font-size:30px}footer{height:70px}footer span{display:none}}
@media(max-width:390px){.section-heading{display:block}.heading-note{margin:13px 0 0;text-align:left}.gallery{grid-template-rows:205px 165px 185px 195px}.letter-card{padding-left:22px;padding-right:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
