@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--paper:#fff8f3;--ink:#4b2531;--wine:#711e3e;--muted:#795c64;--pink:#f4d5da;--line:#ddc7c7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #ae5374;outline-offset:5px}header{max-width:1280px;margin:auto;padding:30px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}header>a:last-child{font-size:.875rem}.wordmark{font-family:'Playfair Display',Georgia,serif;font-size:1.65rem}.wordmark span{margin-left:14px;color:var(--wine)}.hero{max-width:1280px;margin:auto;min-height:730px;padding:65px 6% 85px;display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:center}.eyebrow{font-size:.75rem;letter-spacing:.18em;font-weight:600;line-height:1.8;margin:0 0 24px}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.045em;margin:0;line-height:1.13}h1{font-size:clamp(3.4rem,5.5vw,5.5rem)}em{font-weight:400;color:var(--wine)}.intro{max-width:365px;line-height:1.9;color:var(--muted);margin:28px 0}.button{display:inline-flex;background:var(--wine);color:white;padding:16px 25px;gap:30px;border-radius:40px;font-size:.9rem}.button:hover{background:#4f1129}.small-note{font-size:.8rem;margin-top:25px;color:var(--muted)}figure{margin:0}.hero-photos{position:relative;padding:0 35px 45px 20px}.main-photo{padding:12px 12px 0;background:white;box-shadow:0 18px 50px #4b253120;transform:rotate(4deg);max-width:370px;margin:auto}.main-photo img{width:100%;height:420px;object-fit:cover;object-position:50% 36%;display:block}.main-photo figcaption,.little-photo figcaption{font-family:'Playfair Display',Georgia,serif;font-style:italic;text-align:center;font-size:1rem;padding:17px 0 20px}.little-photo{position:absolute;width:185px;background:white;padding:8px 8px 0;bottom:-5px;left:-24px;transform:rotate(-10deg);box-shadow:0 12px 35px #4b253125}.little-photo img{width:100%;height:174px;object-fit:cover;object-position:50% 70%;display:block}.little-photo figcaption{font-size:.85rem;padding:12px 0}.photo-note{position:absolute;right:-15px;bottom:3px;font-family:Georgia,serif;font-style:italic;font-size:1rem;transform:rotate(-5deg)}.ribbon{background:var(--wine);color:#ffedf0;display:flex;justify-content:center;align-items:center;gap:55px;padding:24px;font-size:.85rem;letter-spacing:.08em}.section{max-width:1160px;margin:auto;padding:95px 40px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px;gap:30px}h2{font-size:clamp(2.5rem,4vw,3.7rem)}.section-heading>p{font-size:.9rem;line-height:1.9;color:var(--muted)}.slides{display:flex;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:3px;background:#eddcdd}.slides::-webkit-scrollbar{display:none}.slide{min-width:100%;scroll-snap-align:center;position:relative}.slide img{display:block;width:100%;height:540px;object-fit:contain;background:#281d22}.slide figcaption{padding:18px 25px;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:1.15rem}.carousel-controls{display:flex;justify-content:space-between;align-items:center;padding-top:20px;gap:10px}.carousel-controls button{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:50%;width:44px;height:44px;font-size:1.1rem}.carousel-controls button:hover{background:var(--pink)}.carousel-controls #pause{font-size:.875rem;border-radius:30px;width:auto;padding:0 17px}#count{font-size:.8rem;letter-spacing:.15em;color:var(--muted)}.letter{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px;border-top:1px solid var(--line)}.letter-photo img{width:100%;max-height:560px;object-fit:cover;object-position:50% 32%;border-radius:180px 180px 4px 4px}.handwritten{font-family:'Playfair Display',Georgia,serif;font-style:italic;text-align:center;font-size:1.5rem;line-height:1.5;transform:rotate(-4deg);color:var(--wine)}.letter-number{font-size:.75rem;letter-spacing:.13em;color:var(--muted);display:block;margin-bottom:25px}.letter article p{line-height:1.95;color:#694b55}.letter article h2{margin-bottom:30px}.letter article .signature{font-family:'Playfair Display',Georgia,serif;font-size:1.5rem;color:var(--wine);margin-top:35px}.videos{border-top:1px solid var(--line)}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.video-grid video{width:100%;height:380px;object-fit:contain;background:#281d22;border-radius:6px}footer{text-align:center;background:var(--pink);padding:70px 20px 30px}footer .eyebrow{margin-top:20px}footer p:not(.eyebrow){color:var(--muted);line-height:1.8;margin:25px 0 60px}footer a{display:block;border-top:1px solid #caa6ae;padding-top:25px;font-size:.8rem}.footer-heart{font-size:3rem;color:var(--wine)}
@media(max-width:760px){header{padding:20px 6%}.hero{grid-template-columns:1fr;padding:45px 7% 65px;gap:45px}.hero-copy{max-width:520px}h1{font-size:clamp(3.4rem,11vw,5rem)}.hero-photos{width:100%;max-width:410px;margin:auto;padding:0 22px 40px 38px}.main-photo img{height:365px}.little-photo{width:145px;left:0;bottom:-5px}.little-photo img{height:145px}.photo-note{font-size:.85rem;right:0;bottom:7px}.ribbon{gap:16px;flex-wrap:wrap;font-size:.75rem;padding:22px 15px}.ribbon span:nth-child(4),.ribbon span:nth-child(5){display:none}.section{padding:65px 6%}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-bottom:0}.slide img{height:400px}.slide figcaption{padding:16px;font-size:1rem}.letter{grid-template-columns:1fr;gap:35px}.letter-photo{max-width:360px;margin:auto}.letter-photo img{max-height:420px}.letter-photo .eyebrow{text-align:center}.letter article p{line-height:1.85}.video-grid{grid-template-columns:repeat(2,1fr);gap:12px}.video-grid video{height:270px}footer{padding-top:55px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.slides{scroll-behavior:auto}}
