:root{--cream:#f3eee5;--ink:#20231f;--sage:#778273;--line:rgba(32,35,31,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Manrope,sans-serif}
.hero{min-height:100svh;position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 33%,#fffaf2 0,#eee8df 52%,#d8d1c6 100%)}
.hero:before{content:"";position:absolute;inset:0;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E")}
.hero nav{position:absolute;top:0;left:0;right:0;padding:28px min(6vw,80px);display:flex;justify-content:space-between;font-size:11px;letter-spacing:.18em;z-index:2}.hero nav a{color:inherit;text-decoration:none}
.hero__content{text-align:center;z-index:1;padding:24px}.kicker{font-size:10px;letter-spacing:.34em;text-transform:uppercase}
.hero h1,.intro blockquote,.details h2,.venue h2,.countdown h2,footer h2{font-family:"Cormorant Garamond",serif;font-weight:400}.hero h1{font-size:clamp(70px,13vw,150px);line-height:.73;margin:55px 0 38px}.hero h1 em,footer em{color:var(--sage);font-weight:400}.hero__date{font-family:"Cormorant Garamond",serif;font-size:26px;letter-spacing:.24em}
.cta{display:inline-block;margin-top:22px;padding:14px 24px;border:1px solid currentColor;color:inherit;text-decoration:none;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.scroll{position:absolute;bottom:24px;font-size:9px;letter-spacing:.2em;opacity:.55}
.intro{text-align:center;padding:120px 24px}.intro blockquote{font-size:clamp(40px,6vw,76px);line-height:1;margin:34px auto 28px}.intro blockquote i{color:var(--sage)}.intro__copy{max-width:560px;margin:auto;line-height:1.8;font-weight:300}
.details{padding:105px min(7vw,100px)}.details__head{display:flex;justify-content:space-between;align-items:flex-start;gap:30px}.details h2{font-size:clamp(55px,8vw,96px);line-height:.85;margin:0;text-align:right}.details h2 i{color:var(--sage);font-weight:400}
.grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.grid article{padding:30px 26px 42px;border-right:1px solid var(--line)}.grid article:last-child{border-right:0}.grid article>span{font-family:"Cormorant Garamond",serif;font-size:18px}.grid small{display:block;margin:56px 0 15px;letter-spacing:.2em;font-size:9px}.grid h3{font-family:"Cormorant Garamond",serif;font-size:31px;font-weight:400;line-height:1.1;margin:0}
.venue{min-height:76svh;display:flex;align-items:flex-end;padding:65px min(7vw,100px);background:linear-gradient(120deg,rgba(20,24,20,.12),rgba(20,24,20,.62)),url('https://images.unsplash.com/photo-1519167758481-83f550bb49b3?auto=format&fit=crop&w=2000&q=86') center/cover}.venue__card{max-width:520px;background:rgba(243,238,229,.94);padding:42px}.venue h2{font-size:64px;line-height:.85;margin:22px 0}.venue p{line-height:1.75;font-weight:300}.venue a{display:inline-block;margin-top:12px;color:inherit;text-underline-offset:5px}
.countdown{text-align:center;padding:120px 24px}.countdown h2{font-size:clamp(48px,7vw,82px);line-height:.9;margin:28px 0 58px}.countdown h2 i{color:var(--sage);font-weight:400}.timer{max-width:760px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}.timer div{padding:28px 10px;border-right:1px solid var(--line)}.timer div:last-child{border-right:0}.timer b{display:block;font-family:"Cormorant Garamond",serif;font-size:50px;font-weight:400}.timer span{font-size:9px;letter-spacing:.18em;text-transform:uppercase}
footer{text-align:center;padding:120px 24px;background:#20241f;color:#f2ede5}footer h2{font-size:clamp(58px,10vw,115px);margin:32px 0 8px}footer>p:last-child{font-size:10px;letter-spacing:.22em;text-transform:uppercase}.reveal{opacity:0;transform:translateY(24px);transition:.8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:720px){.hero h1{font-size:76px}.details{padding:80px 22px}.details__head{display:block}.details h2{text-align:left;margin-top:26px}.grid{grid-template-columns:1fr}.grid article{border-right:0;border-bottom:1px solid var(--line)}.grid article:last-child{border-bottom:0}.grid small{margin-top:34px}.venue{padding:28px 20px}.venue__card{padding:28px}.venue h2{font-size:50px}.timer b{font-size:34px}.timer span{font-size:8px}}
