@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;700&display=swap');:root{--bg:#130d15;--bg2:#211320;--cream:#fff4e9;--blush:#edb6b9;--muted:#bea8b8;--gold:#cfaa7a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--cream);font-family:'DM Sans',sans-serif}body.lock{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}i,em{font-family:'Cormorant Garamond',serif;font-weight:400;color:var(--blush)}.grain{position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.12;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='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E")}.hearts{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:1}.float-heart{position:absolute;bottom:-35px;animation:rise linear forwards;color:var(--blush);opacity:0}@keyframes rise{10%{opacity:.25}85%{opacity:.18}100%{transform:translateY(-110vh) rotate(30deg);opacity:0}}.welcome{position:fixed;inset:0;z-index:99;display:grid;place-items:center;padding:24px;text-align:center;background:radial-gradient(circle at 50% 40%,#572e47 0,#261423 40%,#100b13 88%);transition:opacity .8s,visibility .8s}.welcome.hidden{opacity:0;visibility:hidden}.welcome-inner{max-width:850px}.overline,.eyebrow,.section-cap{font-size:11px;letter-spacing:.38em;color:var(--gold);font-weight:700}.ornament{color:var(--blush);font-size:26px;margin:36px}.welcome h1{font:500 clamp(64px,10vw,142px)/.9 'Cormorant Garamond',serif;letter-spacing:-.05em;margin:0}.welcome h1 em{display:inline-block;margin:0 .07em}.welcome p{color:#e6cdd5;font:400 clamp(19px,2.7vw,27px)/1.5 'Cormorant Garamond',serif;margin:28px auto}.startdate{letter-spacing:.32em;font-size:12px;color:var(--gold);margin:32px}.main-btn{border:1px solid #f0cdd4;background:linear-gradient(135deg,#e3a5ac,#b36e85);color:#2b1021;padding:18px 40px;border-radius:40px;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700;box-shadow:0 18px 65px #dc69882b;transition:transform .2s}.main-btn:hover{transform:translateY(-4px)}.welcome small{display:block;margin:24px auto;color:#b69ead;font-size:11px}.nav{position:sticky;top:0;z-index:20;height:75px;padding:0 clamp(18px,5vw,90px);display:flex;align-items:center;justify-content:space-between;background:#170f1bdc;backdrop-filter:blur(20px);border-bottom:1px solid #ffffff12}.brand{font:600 28px 'Cormorant Garamond',serif;letter-spacing:.1em}.brand span{color:var(--blush)}.nav nav{display:flex;gap:clamp(15px,2.7vw,42px)}.nav nav a{font-size:11px;letter-spacing:.08em;color:#ddd0d8}.nav nav a:hover{color:#fff}.music{background:#ffffff0d;border:1px solid #ffffff25;border-radius:30px;padding:10px 14px;color:var(--cream)}.music span{font-size:11px}.hero{min-height:790px;height:calc(100svh - 75px);max-height:1100px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7vw;padding:70px clamp(24px,10vw,180px);position:relative;overflow:hidden;background:radial-gradient(ellipse at 70% 40%,#49233877,transparent 55%)}.hero-content{z-index:2}.hero h2{font:500 clamp(85px,10vw,164px)/.9 'Cormorant Garamond',serif;letter-spacing:-.06em;margin:30px 0}.hero p{max-width:420px;color:#cdbac7;line-height:1.9;font-size:14px}.line-link{display:inline-block;border-bottom:1px solid var(--blush);padding:22px 0 12px;color:var(--blush);font-size:12px;letter-spacing:.1em;margin-top:24px}.line-link span{padding-left:22px}.hero-pic{position:relative;max-width:435px;justify-self:center;padding:15px;border:1px solid #bc8b9380;transform:rotate(2deg);box-shadow:35px 35px 90px #05000588}.hero-pic img{display:block;width:100%;height:min(58vh,580px);min-height:390px;object-fit:cover;object-position:center}.frame-note{font:italic 20px 'Cormorant Garamond',serif;text-align:center;padding:18px 5px 4px;color:#e6c4c7}.scroll-note{position:absolute;bottom:38px;left:clamp(24px,10vw,180px);font-size:9px;letter-spacing:.35em;color:#af8d9d}.section{text-align:center;padding:125px max(24px,7vw)}.section h2{font:500 clamp(52px,7vw,100px)/1 'Cormorant Garamond',serif;letter-spacing:-.04em;margin:24px auto 24px}.lead,.subcopy{color:#cbb8c6;line-height:1.9;max-width:600px;margin:0 auto;font-size:14px}.story{background:linear-gradient(#170e19,#211320 55%,#1a1019)}.since{max-width:780px;margin:80px auto 0;padding:36px 34px;border:1px solid #c29ca04d;border-radius:9px;background:linear-gradient(130deg,#ffffff07,#e4a5b10a)}.since-intro{color:var(--gold);font:italic 24px 'Cormorant Garamond',serif}.numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:25px 0}.numbers strong{display:block;font:500 clamp(35px,5vw,68px) 'Cormorant Garamond',serif}.numbers span{font-size:9px;letter-spacing:.23em;color:var(--blush)}.since-foot{font:italic 22px 'Cormorant Garamond',serif;color:var(--muted)}.gallery-section{background:#1a1019}.gallery{max-width:1300px;margin:60px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.tile{position:relative;overflow:hidden;padding:0;border:0;background:#38212f;aspect-ratio:3/4;border-radius:3px}.tile:nth-child(7n+2),.tile:nth-child(9n+6){grid-row:span 1}.tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .5s}.tile:hover img{transform:scale(1.07);filter:brightness(.8)}.tile span{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#1a0d19eb);padding:50px 15px 18px;text-align:left;font:italic 22px 'Cormorant Garamond',serif;color:white}.videos-section{background:radial-gradient(ellipse at 50% 30%,#422638,#140d18)}.video-grid{max-width:1180px;margin:55px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.video-tile{position:relative;aspect-ratio:4/5;border:1px solid #ffffff2a;background:#342334;padding:0;overflow:hidden}.video-tile img{width:100%;height:100%;object-fit:cover;opacity:.77;transition:transform .5s}.video-tile:hover img{transform:scale(1.05)}.play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#ffe9edbc;color:#4b2338;font-size:19px;padding-left:4px;box-shadow:0 12px 35px #0005}.video-label{position:absolute;bottom:20px;left:15px;font:italic 24px 'Cormorant Garamond',serif;color:white}.video-fallback{font:90px 'Cormorant Garamond',serif;color:#a87689}.letter-section{background:linear-gradient(#1f1320,#2c1927);min-height:700px}.envelope{display:flex;align-items:center;justify-content:center;gap:22px;background:linear-gradient(135deg,#e5b7b0,#b97d8d);border:1px solid #f6d4c8;color:#4b1c36;max-width:350px;width:100%;padding:30px;margin:45px auto;border-radius:4px;box-shadow:0 30px 80px #09040a77;font:600 14px 'DM Sans',sans-serif}.envelope-icon{font-size:46px}.letter-body{max-width:720px;text-align:left;margin:25px auto 0;padding:clamp(25px,5vw,60px);background:#f7e8d9;color:#563245;box-shadow:0 18px 70px #0005;transform:rotate(-1deg)}.letter-body h3{font:italic 46px 'Cormorant Garamond',serif;margin:0}.letter-body p{font:25px/1.55 'Cormorant Garamond',serif}.signature{text-align:right;color:#9a546e;font:italic 30px 'Cormorant Garamond',serif}footer{text-align:center;padding:70px 20px 90px;background:#120b13}.footer-hearts{color:var(--blush);letter-spacing:1em}footer p{font:55px 'Cormorant Garamond',serif;margin:10px}footer small{color:#b89eaf;font-size:11px;letter-spacing:.05em}.lightbox{position:fixed;inset:0;background:#050307f2;z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 16px 25px}.lightbox[hidden],.letter-body[hidden]{display:none}.lightbox img,.lightbox video{max-width:min(95vw,1100px);max-height:75svh;object-fit:contain;box-shadow:0 20px 80px #0006}.lightbox video{background:black}.close{position:absolute;right:25px;top:15px;border:0;background:none;color:#fff;font-size:42px}.lightbox #viewerCaption{margin:20px;color:#f0c1cc;font:italic 28px 'Cormorant Garamond',serif}@media(max-width:760px){.nav{height:65px;padding:0 16px}.nav nav{gap:10px}.nav nav a{font-size:9px}.nav nav a:first-child,.nav nav a:last-child{display:none}.brand{font-size:22px}.music{padding:8px}.music span{display:none}.hero{height:auto;min-height:0;display:flex;flex-direction:column;gap:45px;padding:90px 25px 70px}.hero h2{font-size:96px;margin:20px 0}.hero-pic{max-width:320px}.hero-pic img{height:410px;min-height:0}.scroll-note{display:none}.section{padding:95px 18px}.section h2{font-size:62px}.since{padding:25px 12px;margin-top:50px}.numbers{gap:5px}.numbers strong{font-size:39px}.numbers span{font-size:8px}.gallery{grid-template-columns:repeat(2,1fr);gap:9px;margin-top:40px}.tile span{font-size:18px;padding:35px 9px 12px}.video-grid{grid-template-columns:repeat(2,1fr);gap:10px}.play{width:55px;height:55px}.video-label{font-size:19px}.welcome h1{font-size:68px}.letter-body p{font-size:23px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
/* V2 responsive/hero fixes */
html{scroll-padding-top:80px}body{overflow-x:hidden}.hero{height:auto;min-height:calc(100svh - 75px);max-height:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,90px);padding:clamp(75px,8vh,115px) clamp(24px,7vw,125px);overflow:visible}.hero-content{min-width:0}.hero h2{font-size:clamp(68px,8.6vw,148px);overflow-wrap:normal}.hero-pic{width:min(100%,460px);max-width:100%;box-sizing:border-box;transform:rotate(1deg)}.hero-pic img{width:100%;height:auto;min-height:0;max-height:70svh;object-fit:contain;object-position:center;background:#211522}.scroll-note{bottom:20px}.welcome{min-height:100svh}.welcome-inner{max-height:100%;overflow-y:auto;padding:20px 0}.numbers strong,.numbers span{white-space:nowrap}.numbers span{display:block;text-transform:uppercase}
@media(max-width:900px){.hero{gap:35px;padding:85px 5vw 70px}.hero h2{font-size:clamp(60px,9vw,105px)}}
@media(max-width:760px){.nav{height:auto;min-height:64px;padding:10px 12px;gap:9px}.nav nav{display:flex;gap:10px}.nav nav a{font-size:10px}.nav nav a:first-child,.nav nav a:last-child{display:none}.hero{min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:35px;padding:65px 20px 75px;overflow:visible}.hero-content{width:100%}.hero h2{font-size:clamp(62px,17vw,98px);margin:20px 0}.hero-pic{width:min(100%,440px);max-width:100%;align-self:center;margin:0 auto;transform:rotate(.6deg)}.hero-pic img{height:auto;max-height:none;object-fit:contain}.section{padding:80px 16px}.section h2{font-size:clamp(43px,11vw,64px)}.since{padding:26px 10px}.numbers{gap:5px}.numbers strong{font-size:clamp(28px,9vw,43px)}.numbers span{font-size:8px;letter-spacing:.1em}.since-foot{font-size:20px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery .tile{min-width:0}.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome h1{font-size:clamp(52px,13vw,86px)}.welcome{padding:20px 15px}.ornament{margin:15px}.welcome p{margin:18px auto}.startdate{margin:20px}.lightbox{padding:65px 10px 20px}.lightbox img,.lightbox video{max-width:96vw;max-height:70svh}}
@media(max-width:380px){.brand{font-size:19px}.nav nav{gap:8px}.nav nav a{font-size:9px}.music{padding:7px}.gallery,.video-grid{gap:7px}.hero{padding:55px 14px 55px}}
