:root{--cream:#f5f1e9;--paper:#fbf8f2;--wine:#652535;--ink:#34342e;--muted:#73736a;--sage:#e9eade;--line:#d7d4c9;--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.8}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--wine);outline-offset:6px}img{width:100%;height:100%;object-fit:cover;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.03}em{font-weight:400;color:var(--wine)}.draft{font-size:9px;text-align:center;letter-spacing:1.4px;padding:7px 12px;background:#e8e3d8;color:#696357}.header{height:83px;position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);background:#f5f1e9f5;backdrop-filter:blur(12px)}.monogram{font-family:var(--serif);font-size:37px;letter-spacing:-5px;line-height:1}.monogram span{font-size:29px;color:var(--wine);margin:0 5px}.header nav{display:flex;gap:38px}.header nav a{font-size:11px;position:relative;padding:10px 0}.header nav a:after{content:'';position:absolute;height:1px;background:var(--wine);bottom:3px;left:0;right:100%;transition:right .25s}.header nav a:hover:after,.header nav a.active:after{right:0}.nav-date{letter-spacing:2px;font-size:11px}.hero{min-height:730px;height:calc(100svh - 113px);max-height:1000px;display:grid;grid-template-columns:1fr 1fr;position:relative}.hero-copy{padding:55px 7% 68px 15%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-size:9px;letter-spacing:2.1px;line-height:1.7;font-weight:500}.hero h1{font-size:clamp(72px,7.8vw,122px);margin:25px 0 22px;line-height:.82;color:var(--wine);display:flex;flex-direction:column}.hero h1 .and{font-size:.57em;font-style:italic;margin:6px 0 6px 1.85em;color:#8c7e6e}.hero-line{font-size:12px;line-height:1.9;color:var(--muted)}.date-row{display:flex;align-items:center;gap:20px;margin:29px 0}.date-row>span{font-family:var(--serif);font-size:63px;line-height:1;border-right:1px solid #bdb7a9;padding-right:20px}.date-row>div{font-size:11px;letter-spacing:1.8px;line-height:2}.date-row div span{font-size:8px;letter-spacing:1.2px;color:var(--muted)}.button{min-height:51px;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--wine);color:var(--paper);font-size:11px;padding:15px 23px;transition:background .25s,transform .25s}.button:hover{background:#7b3948;transform:translateY(-2px)}.button>span{font-size:22px;line-height:1}.hero-photo{position:relative;overflow:hidden;margin:28px 28px 28px 0}.hero-photo img{object-position:56% center;filter:saturate(.6);animation:photo-in 1.5s ease both}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,#171d1666)}.photo-mark{position:absolute;z-index:1;left:36px;bottom:81px;right:25px;font:italic clamp(27px,3.1vw,46px)/1 var(--serif);color:var(--paper)}.photo-corner{position:absolute;bottom:32px;left:36px;z-index:1;color:#fff;font-size:7px;letter-spacing:2px;line-height:1.8}.scroll-note{position:absolute;left:7.5%;bottom:20px;font-size:18px;display:flex;gap:22px;align-items:center}.scroll-note span{font-size:8px;letter-spacing:1.8px}.section{padding:110px 8%}.letter{position:relative;text-align:center;background:var(--paper);padding-top:115px;padding-bottom:115px}.letter h2{font-size:62px;line-height:1.08;margin:25px 0 30px}.letter>p:not(.eyebrow){font-size:13px;color:var(--muted);margin:15px 0}.letter-sign{font:italic 28px var(--serif);color:var(--wine);margin-top:30px}.tiny-flower{display:block;font-size:28px;color:#a6a68f;margin-top:35px}.schedule{background:var(--sage);display:grid;grid-template-columns:1fr 1fr;gap:20px 9%;position:relative}.section-intro h2{font-size:58px;line-height:1.08;margin:22px 0}.section-intro>p:not(.eyebrow){font-size:12px;color:var(--muted)}.big-date{display:block;font:150px/.9 var(--serif);letter-spacing:-6px;color:#c4c7b4;margin-top:88px}.timeline article{display:grid;grid-template-columns:70px 1fr;gap:27px;padding:0 0 37px;position:relative}.timeline article:before{content:'';position:absolute;left:83px;top:13px;bottom:0;width:1px;background:#c4c7b7}.timeline article:after{content:'';position:absolute;left:80px;top:8px;width:7px;height:7px;border:1px solid #91947d;border-radius:50%;background:var(--sage)}.timeline article:last-child{padding-bottom:0}.timeline article:last-child:before{display:none}.timeline time{font-family:var(--serif);font-size:29px;line-height:1}.timeline article>div{padding-left:13px}.timeline h3{font-size:31px;line-height:1.1;margin-bottom:12px}.timeline p{font-size:11px;color:#626757;line-height:1.9;max-width:300px}.event-index{display:none}.schedule-note{grid-column:1/-1;border-top:1px solid #cdd0c0;margin-top:35px;padding-top:20px;font-size:9px;color:#6a6e5f}.place{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;background:var(--cream)}.place-photo{height:560px;position:relative}.place-photo img{filter:saturate(.45)}.place-photo span{position:absolute;left:25px;bottom:24px;color:white;font-size:8px;letter-spacing:2px;text-shadow:0 1px 8px #000}.place-copy h2{font-size:65px;line-height:1.05;margin:23px 0}.place-copy>p:not(.eyebrow){font-size:12px;color:var(--muted)}.venue{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;margin:30px 0 20px}.venue>span{font-size:9px;letter-spacing:1.8px;color:var(--wine)}.venue h3{font-size:28px;margin:10px 0}.venue p{font-size:11px;color:var(--muted)}.small-note{font-size:9px;line-height:1.8;color:var(--muted);display:block}.details{border-top:1px solid var(--line);background:var(--paper)}.details-head{text-align:center}.details-head h2{font-size:58px;margin:22px 0 65px}.details-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px}.detail-number{font-size:8px;letter-spacing:1.8px;color:var(--wine)}.details-grid h3{font-size:31px;margin:22px 0 17px}.details-grid p{font-size:11px;color:var(--muted);line-height:2}.details-grid .small-note{margin-top:18px}.swatches{display:flex;gap:12px;margin-top:25px}.swatches span{display:block;height:29px;width:29px;background:var(--swatch);border-radius:50%}.closing{text-align:center;background:var(--wine);color:var(--cream);padding:95px 20px 55px}.closing h2{font-size:80px;line-height:1.05;margin:28px 0}.closing em{color:#d9bcaf}.closing-date{font:27px var(--serif);letter-spacing:6px;margin:28px 0}.button.light{background:var(--cream);color:var(--wine)}.button.light:hover{background:white}.calendar-note{font-size:9px;color:#d6b8bb;margin-top:13px}.closing-sign{font:47px var(--serif);margin-top:60px}.closing-sign span{font-size:35px;font-style:italic;color:#b58a8e}footer{padding:25px 5%;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.5px}footer a{font-size:10px;letter-spacing:0}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@keyframes photo-in{from{transform:scale(1.05);opacity:.5}to{transform:scale(1);opacity:1}}@media(min-width:1600px){.hero-copy{padding-left:20%}.section{padding-left:max(8%,calc((100vw - 1300px)/2));padding-right:max(8%,calc((100vw - 1300px)/2))}}@media(max-width:900px){.header nav{gap:23px}.hero{min-height:660px}.hero-copy{padding-left:10%}.hero h1{font-size:80px}.section{padding:80px 6%}.letter h2{font-size:53px}.section-intro h2{font-size:45px}.schedule{gap:6%}.big-date{font-size:115px}.place{gap:7%}.place-photo{height:480px}.place-copy h2{font-size:52px}.details-grid{gap:25px}.details-grid h3{font-size:27px}}@media(max-width:600px){html{scroll-padding-top:63px}.draft{font-size:8px;letter-spacing:.7px;padding:6px 8px;line-height:1.5}.draft span{font-size:7px;letter-spacing:0}.header{height:62px;padding:0 20px}.monogram{font-size:30px}.monogram span{font-size:24px}.nav-date{display:none}.header nav{gap:17px}.header nav a{font-size:9px}.hero{display:flex;flex-direction:column;height:auto;min-height:0;max-height:none}.hero-copy{padding:42px 25px 34px;align-items:center;text-align:center}.hero .eyebrow{font-size:8px;letter-spacing:1.6px}.hero h1{font-size:81px;margin:24px 0 20px;display:block;line-height:.95}.hero h1 .and{display:block;font-size:39px;margin:4px 0}.hero-line{font-size:11px}.date-row{margin:22px 0;gap:17px;text-align:left}.date-row>span{font-size:51px}.date-row>div{font-size:10px}.date-row div span{font-size:7px}.button{font-size:10px;min-height:49px}.hero-photo{height:410px;margin:0 18px 18px}.hero-photo img{object-position:50% 52%}.photo-mark{font-size:31px;left:24px;bottom:64px}.photo-corner{left:25px;bottom:25px;font-size:6px}.scroll-note{display:none}.section{padding:70px 25px}.eyebrow{font-size:8px;letter-spacing:1.8px}.letter h2{font-size:44px;margin:22px 0 25px}.letter>p:not(.eyebrow){font-size:12px}.desktop{display:none}.letter-sign{font-size:25px}.tiny-flower{margin-top:28px}.schedule{display:block}.section-intro h2{font-size:45px}.section-intro>p:not(.eyebrow){font-size:11px}.big-date{font-size:80px;margin:30px 0 40px}.timeline article{grid-template-columns:64px 1fr;gap:22px;padding-bottom:31px}.timeline article:before{left:73px}.timeline article:after{left:70px}.timeline h3{font-size:28px}.timeline time{font-size:26px}.timeline p{font-size:11px}.schedule-note{margin-top:30px;font-size:8px}.place{display:flex;flex-direction:column-reverse;gap:35px}.place-copy{width:100%}.place-copy h2{font-size:52px}.place-photo{height:390px;width:100%}.venue h3{font-size:29px}.details-head{text-align:left}.details-head h2{font-size:44px;line-height:1.1;margin:22px 0 35px}.details-grid{display:block}.details-grid article{padding:28px 0;border-top:1px solid var(--line)}.details-grid h3{font-size:30px;margin:15px 0}.details-grid p{font-size:12px}.closing{padding:75px 22px 45px}.closing .eyebrow{font-size:7px;letter-spacing:1.2px}.closing h2{font-size:53px}.closing-date{font-size:23px;letter-spacing:4px}.closing-sign{margin-top:45px}footer{padding:22px;gap:15px;flex-wrap:wrap;font-size:7px}footer span:last-child{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

.button>span,.scroll-note{font-family:Arial,sans-serif}
