
:root{--paper:#f7f1ea;--ink:#6b5849;--rose:#cb7088;--rose-dark:#b65d76;--olive:#68745f;--blue:#dbe9f4;--line:#ddc9bd;--shadow:0 18px 60px rgba(75,56,45,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,Helvetica,sans-serif}.section{min-height:100svh;display:grid;place-items:center;padding:72px 18px;position:relative;overflow:hidden;background:linear-gradient(180deg,#fbf7f2 0%,#f7f1ea 72%,#f2e9df 100%)}
.section::before,.section::after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;filter:blur(1px);opacity:.22;background:radial-gradient(circle at 35% 35%,#ec9ab2 0 5%,transparent 6%),radial-gradient(circle at 60% 40%,#d86f91 0 8%,transparent 9%),radial-gradient(circle at 45% 70%,#d5839a 0 6%,transparent 7%),radial-gradient(circle at 70% 72%,#8c9b75 0 5%,transparent 6%)}.section::before{left:-120px;top:-90px;transform:rotate(20deg)}.section::after{right:-130px;bottom:-110px;transform:rotate(180deg)}
.content,.hero-inner{width:min(720px,100%);text-align:center;position:relative;z-index:1}.hero{padding-top:40px}.hero-logo{width:min(560px,92vw);border-radius:50%;box-shadow:var(--shadow);display:block;margin:auto}.kicker,.signature{font-family:"Great Vibes",cursive;color:var(--rose);font-size:clamp(2.3rem,9vw,4.8rem);margin:26px 0 8px}.lead{font-family:"Cormorant Garamond",serif;font-size:clamp(1.25rem,4.6vw,2rem);line-height:1.45;margin:14px auto 28px;max-width:620px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-family:"Cormorant Garamond",serif;font-weight:600;font-size:.98rem;margin-bottom:24px}.section h2{font-family:"Cormorant Garamond",serif;text-transform:uppercase;letter-spacing:.08em;font-size:clamp(2.4rem,8vw,4.9rem);font-weight:500;margin:0 0 18px}.section h2 span{text-transform:none;letter-spacing:0;font-family:"Great Vibes",cursive;color:var(--rose);font-weight:400;font-size:1.35em}.story-intro{font-family:"Cormorant Garamond",serif;font-size:1.55rem}.photo-card{margin:28px auto;max-width:560px}.photo-card img,.venue-img{width:100%;display:block;border-radius:28px;box-shadow:var(--shadow)}.photo-card img{aspect-ratio:4/3;object-fit:cover;object-position:center 42%}.story-copy{font-family:"Cormorant Garamond",serif;font-size:1.34rem;line-height:1.5}.accent-copy{color:var(--rose-dark);font-weight:600}.date{font-family:"Cormorant Garamond",serif;letter-spacing:.18em;font-size:1.5rem}.date.big{font-size:1.85rem}.smaller{font-size:clamp(2rem,7vw,3.8rem)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 24px;border-radius:999px;background:linear-gradient(135deg,var(--rose),var(--rose-dark));color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.06em;font-weight:600;box-shadow:0 10px 24px rgba(182,93,118,.22);transition:.2s transform,.2s box-shadow}.btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(182,93,118,.28)}.btn.ghost{color:var(--rose-dark);background:#fff8;border:1px solid #d99aac;box-shadow:none}.btn.large{font-size:1.08rem;padding:18px 30px}.button-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:22px}.scroll-cue{display:block;color:var(--rose-dark);margin-top:24px;text-decoration:none;font-size:.88rem;letter-spacing:.08em;text-transform:uppercase}.facts{display:grid;gap:14px;margin:26px auto;max-width:520px;text-align:left}.facts div{display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:center;padding:12px 16px;border:1px solid #ead8cf;border-radius:18px;background:#fff7}.facts span{font-family:"Cormorant Garamond",serif;font-size:1.35rem}.venue-img{margin:28px auto 0;max-width:650px}.venue-img.wide{border-radius:24px}.timeline{position:relative;margin:40px auto 0;max-width:650px}.timeline::before{content:"";position:absolute;left:86px;top:25px;bottom:25px;width:2px;background:linear-gradient(var(--rose),#efc8d2)}.timeline article{display:grid;grid-template-columns:70px 32px 1fr;gap:0 0;align-items:start;min-height:150px;text-align:left}.timeline time{color:var(--rose-dark);font-family:"Cormorant Garamond",serif;font-size:1.7rem;font-weight:600}.timeline .dot{width:14px;height:14px;background:var(--rose);border-radius:50%;margin:8px auto;box-shadow:0 0 0 6px #f8e7eb}.timeline h3{margin:0 0 6px;font-family:"Cormorant Garamond",serif;text-transform:uppercase;font-size:1.45rem}.timeline p{margin:0;font-family:"Cormorant Garamond",serif;font-size:1.2rem;line-height:1.4}.venue-title{font-family:"Cormorant Garamond",serif;font-size:1.8rem;text-transform:uppercase;margin-bottom:4px}.bus-box{margin:34px auto 0;padding:26px;border:1px solid #e8cbd3;border-radius:26px;background:#fff9;max-width:620px}.bus-box h3{font-family:"Cormorant Garamond",serif;text-transform:uppercase;font-size:1.7rem}.micro{font-size:.9rem;color:#9d6f7a}.hands-logo{width:min(560px,90vw);display:block;margin:28px auto 0;border-radius:50%;box-shadow:var(--shadow)}.closing h3{font-family:"Cormorant Garamond",serif;text-transform:uppercase;letter-spacing:.08em;font-size:1.8rem}.menu-btn{position:fixed;z-index:20;right:18px;top:18px;width:50px;height:50px;border:0;border-radius:50%;background:#d2768c;color:#fff;font-size:1.4rem;box-shadow:0 8px 25px rgba(0,0,0,.12);cursor:pointer}.menu{position:fixed;z-index:19;right:18px;top:76px;display:flex;flex-direction:column;gap:4px;padding:10px;background:#fffdf9ee;backdrop-filter:blur(12px);border:1px solid #ead8cf;border-radius:18px;box-shadow:var(--shadow);transform:translateY(-10px) scale(.98);opacity:0;pointer-events:none;transition:.2s}.menu.open{opacity:1;transform:none;pointer-events:auto}.menu a{color:var(--ink);text-decoration:none;padding:11px 14px;border-radius:12px}.menu a:hover{background:#f8e4e9}.reveal{opacity:0;transform:translateY(18px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}@media (max-width:560px){.section{padding:72px 16px}.hero-logo{width:100%}.timeline::before{left:73px}.timeline article{grid-template-columns:60px 28px 1fr;min-height:145px}.timeline time{font-size:1.45rem}.timeline h3{font-size:1.25rem}.timeline p{font-size:1.05rem}.btn{width:100%}.button-row{display:grid}.story-copy{font-size:1.2rem}.facts span{font-size:1.2rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn{transition:none}}

