:root{--ivory:#f6f1e8;--paper:#fbf8f2;--olive:#59604b;--deep:#1f2b27;--ink:#30352f;--sand:#d8cbb8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif;font-weight:300;line-height:1.75}.nav{position:fixed;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:25px 5vw;color:#fff;transition:.35s}.nav.scrolled{background:rgba(246,241,232,.94);color:var(--olive);box-shadow:0 1px 0 rgba(0,0,0,.06);backdrop-filter:blur(10px)}.monogram{color:inherit;text-decoration:none;font:500 21px/1 'Cormorant Garamond',serif;letter-spacing:.12em}.monogram span{font-style:italic;font-weight:400}.links{display:flex;gap:28px}.links a{color:inherit;text-decoration:none;text-transform:uppercase;font-size:10px;letter-spacing:.22em}.menu{display:none;background:none;border:0;width:34px;height:30px}.menu span{display:block;height:1px;background:currentColor;margin:8px 0}.hero{min-height:100svh;position:relative;display:grid;place-items:center;background:url('images/island-sunset.png') center/cover no-repeat;color:#fff;text-align:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,25,22,.18),rgba(15,25,21,.22) 50%,rgba(12,22,20,.38))}.hero-copy{position:relative;z-index:1;padding:100px 20px 50px;text-shadow:0 2px 20px rgba(0,0,0,.25)}.eyebrow{text-transform:uppercase;letter-spacing:.32em;font-size:10px;font-weight:500;color:var(--olive);margin:0 0 24px}.eyebrow.light{color:#fff}.script{font:italic 400 34px/1 'Cormorant Garamond',serif;margin:5px 0 -3px}.hero h1{font:400 clamp(54px,8vw,112px)/.78 'Cormorant Garamond',serif;letter-spacing:.13em;margin:0}.hero h1 span{font-size:.48em;letter-spacing:.22em}.rule{height:1px;width:50px;background:#fff;margin:35px auto}.date,.place{letter-spacing:.3em;font-size:12px;margin:8px}.place{font-size:9px}.scroll{position:absolute;bottom:24px;z-index:2;color:#fff;text-decoration:none;font-size:30px;animation:bob 2s infinite}@keyframes bob{50%{transform:translateY(6px)}}.section{padding:120px 7vw}.narrow{max-width:760px;margin:auto;text-align:center}.section h2,.travel h2,.rsvp h2{font:400 clamp(44px,6vw,78px)/.98 'Cormorant Garamond',serif;color:var(--olive);margin:0 0 35px}.lead{font:400 23px/1.55 'Cormorant Garamond',serif}.welcome p:not(.eyebrow){max-width:680px;margin:20px auto}.countdown{display:flex;justify-content:center;gap:clamp(35px,8vw,100px);margin-top:70px}.countdown div{text-align:center}.countdown strong{display:block;font:400 48px/1 'Cormorant Garamond',serif;color:var(--olive)}.countdown span{text-transform:uppercase;font-size:8px;letter-spacing:.25em}.photo-break{height:72vh;min-height:480px;overflow:hidden}.photo-break img{width:100%;height:100%;object-fit:cover}.split{display:grid;grid-template-columns:1fr 1fr;gap:10vw;max-width:1100px;margin:auto;align-items:start}.split h2{text-align:left}.copy{padding-top:42px}.soft{color:#777}.image-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin:90px auto 0;max-width:1200px;height:520px}.image-grid img{width:100%;height:100%;object-fit:cover}.dark{background:var(--deep);color:#e9e4db}.dark h2{color:#f5efe5}.schedule{max-width:1050px;margin:80px auto 0;display:grid;grid-template-columns:1fr 1fr}.schedule article{padding:50px;border-top:1px solid rgba(255,255,255,.2)}.schedule article:nth-child(odd){border-right:1px solid rgba(255,255,255,.2)}.day{text-transform:uppercase;letter-spacing:.26em;font-size:9px}.schedule h3{font:400 33px/1.1 'Cormorant Garamond',serif;color:#fff;margin:12px 0}.schedule p:last-child{font-size:13px;color:#c9c9c1}.travel{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:center}.travel-photo img{width:100%;height:620px;object-fit:cover}.travel-copy{max-width:460px}.coming{display:inline-block;margin-top:25px;border-bottom:1px solid var(--olive);padding-bottom:7px;letter-spacing:.2em;font-size:9px}.accordions{max-width:800px;margin:60px auto}.accordions details{border-top:1px solid #cfc8bb;padding:22px 4px}.accordions details:last-child{border-bottom:1px solid #cfc8bb}.accordions summary{cursor:pointer;list-style:none;font:400 22px 'Cormorant Garamond',serif}.accordions summary::-webkit-details-marker{display:none}.accordions summary:after{content:'+';float:right}.accordions details[open] summary:after{content:'–'}.accordions details p{font-size:13px;max-width:650px}.rsvp{min-height:75vh;position:relative;display:grid;place-items:center;text-align:center;color:#fff;background:url('images/island-sailing.png') center/cover no-repeat}.rsvp-bg{position:absolute;inset:0;background:rgba(22,37,31,.43)}.rsvp-inner{position:relative;padding:80px 20px}.rsvp h2{color:#fff}.button{display:inline-block;margin-top:20px;border:1px solid rgba(255,255,255,.8);padding:14px 25px;letter-spacing:.22em;font-size:9px}footer{text-align:center;padding:70px 20px;background:var(--ivory);color:var(--olive);letter-spacing:.18em;font-size:9px}.footer-script{font:italic 400 34px 'Cormorant Garamond',serif;letter-spacing:0;margin:0}.tiny{font-size:7px;margin-top:25px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:760px){.nav{padding:20px 22px}.menu{display:block;color:inherit}.links{position:absolute;top:70px;left:15px;right:15px;background:var(--ivory);color:var(--olive);padding:28px;display:none;flex-direction:column;gap:18px;text-align:center}.links.open{display:flex}.hero{background-position:58% center}.hero h1{font-size:58px;line-height:.84}.hero h1 span{font-size:.43em}.script{font-size:28px}.date{font-size:10px}.place{font-size:7px;letter-spacing:.2em}.section{padding:85px 24px}.section h2,.travel h2,.rsvp h2{font-size:48px}.lead{font-size:20px}.countdown{gap:35px;margin-top:55px}.countdown strong{font-size:38px}.photo-break{height:58vh;min-height:400px}.split,.travel{grid-template-columns:1fr;gap:30px}.copy{padding-top:0}.image-grid{height:auto;grid-template-columns:1fr;margin-top:55px}.image-grid img{height:330px}.schedule{grid-template-columns:1fr;margin-top:50px}.schedule article{padding:35px 10px;border-right:0!important}.travel-photo img{height:420px}.travel-copy{text-align:center}.rsvp{min-height:68vh} }
