*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f0e9;color:#38202d;font-family:'DM Sans',sans-serif}h1,h2,blockquote{font-family:'Playfair Display',Georgia,serif;font-weight:400}em{font-weight:400}a{text-decoration:none;color:inherit}button{font:inherit;cursor:pointer} .grain{pointer-events:none;position:fixed;inset:0;z-index:20;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E")} .topbar{height:75px;display:flex;justify-content:space-between;align-items:center;padding:0 clamp(22px,6vw,90px);position:absolute;z-index:10;width:100%;color:#fff}.brand{font-family:'Playfair Display',serif;font-size:23px;letter-spacing:3px}.brand span{color:#f6c5cb}.toplink{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;border-bottom:1px solid #ffffff7a;padding-bottom:8px}.toplink span{margin-left:12px}.hero{height:min(850px,100svh);min-height:670px;position:relative;overflow:hidden;color:#fff;background:#24121f}.hero-photo{position:absolute;inset:0;background-image:url('photos/photo-16.jpg');background-size:cover;background-position:center 40%;opacity:.82;animation:zoom 18s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,9,25,.92) 0%,rgba(30,9,25,.63) 45%,rgba(30,9,25,.16) 100%),linear-gradient(0deg,rgba(30,9,25,.7),transparent 35%)}.hero-content{position:absolute;top:50%;left:clamp(25px,10vw,160px);transform:translateY(-43%);max-width:670px}.eyebrow,.tiny-title{font-size:11px;letter-spacing:3px;font-weight:700}.eyebrow{color:#ffced5}.spark{padding:0 9px}.hero h1{font-size:clamp(75px,10vw,148px);line-height:1.04;letter-spacing:-4px;margin:30px 0}.hero h1 em{color:#f3c5cb}.hero-content p{font-size:17px;line-height:1.85;max-width:475px;color:#f3e7e9}.cream-button{display:inline-flex;gap:35px;align-items:center;background:#f4e5d8;color:#361e2a;padding:19px 25px;border-radius:2px;font-size:12px;letter-spacing:1px;margin-top:24px;font-weight:700}.cream-button:hover{background:#fff}.hero-foot{position:absolute;bottom:30px;left:clamp(25px,6vw,90px);right:clamp(25px,6vw,90px);display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;color:#eee1e4}.section{padding:120px clamp(24px,8vw,130px)}.tiny-title{color:#aa6678}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.intro h2,.section-head h2{font-size:clamp(48px,5.8vw,83px);line-height:1.16;letter-spacing:-2px;margin:20px 0}.intro h2 em,.section-head h2 em{color:#a86478}.heart-outline{font-size:55px;color:#b36f7d;margin-top:35px}.intro-copy{padding-top:65px}.intro-copy p,.letter-card p{font-size:16px;line-height:2;color:#65505a}.intro-copy strong{color:#442334}.signature{font-family:'Playfair Display',serif;font-style:italic;font-size:27px;color:#9b596c}.photo-break{height:650px;position:relative;background:#3c1f2f}.photo-break-image{position:absolute;inset:0;background:url('photos/photo-18.jpg') center 45%/cover}.photo-break:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#250e20c9,#250e2026)}.photo-break-overlay{position:absolute;z-index:1;left:10%;top:50%;transform:translateY(-50%);color:white}.photo-break-overlay span{font-size:11px;letter-spacing:3px}.photo-break-overlay h2{font-size:clamp(47px,6vw,85px);line-height:1.2}.photo-break-overlay em{color:#ffd2d8}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:55px}.section-head p{max-width:340px;line-height:1.8;color:#77616b}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:330px;gap:16px}.tile{position:relative;overflow:hidden;margin:0;background:#e3d0d1}.tile.tall{grid-row:span 2}.tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.tile:hover img{transform:scale(1.05)}.tile figcaption{position:absolute;bottom:0;left:0;right:0;padding:45px 20px 18px;color:white;background:linear-gradient(transparent,#21121a99);font-family:'Playfair Display',serif;font-style:italic;font-size:19px}.gallery-note{text-align:center;color:#977485;font-family:'Playfair Display',serif;font-style:italic;margin-top:42px;font-size:21px}.quote-section{padding:120px 20px;text-align:center;background:#e9d9d5}.quote-mark{font-family:Georgia,serif;font-size:100px;color:#b77a88;height:90px}.quote-section blockquote{max-width:850px;margin:0 auto 35px;font-size:clamp(28px,3.8vw,49px);line-height:1.5}.quote-section span{font-size:10px;letter-spacing:2.5px;color:#925e70}.letter{background:#f9f4ef}.letter-outer{max-width:890px;margin:auto;text-align:center}.letter-card{background:#fffdf9;padding:clamp(35px,7vw,95px);margin-top:35px;text-align:left;box-shadow:0 20px 90px #4422310d;border:1px solid #eadbd7}.letter-icon{text-align:center;font-size:35px;color:#ae7583}.letter-card h2{text-align:center;font-size:clamp(48px,6vw,77px);margin:12px 0 45px}.letter-card h2 em{color:#ae7583}.letter-card p{margin:0 0 24px}.letter-card .letter-last{margin-top:48px;margin-bottom:8px}.signature.big{font-size:32px}.signature.big span{color:#ba7287}.proposal{background:radial-gradient(circle at 50% 35%,#542d44,#230e1e 75%);color:white;text-align:center;padding:120px 20px 140px;position:relative;overflow:hidden}.proposal-stars{font-size:28px;color:#edbeca;letter-spacing:22px}.proposal .tiny-title{color:#e3acba;margin-top:30px}.ring{font-size:80px;color:#efc3cd;margin:25px 0 0;line-height:1}.proposal-pre{font-family:'Playfair Display',serif;font-size:24px;color:#efcbd3;margin:10px 0}.proposal h2{font-size:clamp(78px,12vw,170px);line-height:1.08;letter-spacing:-4px;margin:10px 0 30px}.proposal h2 em{color:#f2bdcb}.proposal-sub{max-width:630px;margin:0 auto;font-size:16px;line-height:1.9;color:#e6d3dc}.choices{display:flex;justify-content:center;gap:15px;flex-wrap:wrap;margin-top:44px}.choices button{border:1px solid #f1c6d0;padding:19px 28px;min-height:58px;border-radius:3px;transition:.2s}.yes-btn{background:#f4d2d9;color:#3e1a2c;font-weight:700}.yes-btn:hover{background:white;transform:translateY(-2px)}.talk-btn{background:transparent;color:#f8e5eb}.talk-btn:hover{background:#ffffff20}.proposal-hint{font-size:12px;color:#d2afbf;margin-top:25px}.answer{max-width:620px;margin:30px auto 0;border:1px solid #f3ced477;padding:28px;line-height:1.8;background:#ffffff10;font-family:'Playfair Display',serif;font-size:23px}.confetti-layer{pointer-events:none;position:fixed;inset:0;overflow:hidden;z-index:50}.petal{position:absolute;top:-30px;animation:fall linear forwards;color:#f4b8c8;font-size:24px}footer{background:#1b0b18;color:#e8d7df;text-align:center;padding:48px 20px}footer span{font-family:'Playfair Display',serif;font-size:30px}footer p{font-size:13px}footer small{color:#ab8a9c}@keyframes fall{to{transform:translateY(110vh) rotate(600deg);opacity:0}}@keyframes zoom{from{transform:scale(1.07)}to{transform:scale(1)}}@media(max-width:800px){.hero{height:790px;min-height:620px}.hero-photo{background-position:62% center}.hero-shade{background:linear-gradient(90deg,#260d20d9,#260d2055),linear-gradient(0deg,#260d20a8,transparent 60%)}.hero-content{left:25px;right:25px;top:53%}.hero h1{font-size:clamp(64px,13vw,100px);letter-spacing:-2px}.hero-content p{font-size:15px}.hero-foot span{display:none}.section{padding:80px 23px}.intro-grid{grid-template-columns:1fr;gap:5px}.intro-copy{padding-top:0}.intro h2{font-size:57px}.photo-break{height:520px}.photo-break-overlay{left:25px;right:20px}.section-head{display:block}.photo-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:230px;gap:9px}.tile.tall{grid-row:span 2}.tile figcaption{font-size:15px;padding:35px 10px 10px}.quote-section{padding:85px 24px}.proposal{padding:95px 18px}.proposal h2{font-size:clamp(69px,14vw,110px)}.letter-card p{font-size:15px}.toplink{font-size:10px}}@media(max-width:480px){.photo-grid{grid-auto-rows:180px}.hero h1{font-size:68px}.hero-content p{max-width:310px}.eyebrow{font-size:9px;letter-spacing:1.7px}.proposal-stars{letter-spacing:10px}.proposal h2{font-size:70px}.section-head h2{font-size:55px}.signature.big{font-size:26px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}