:root{--wine:#351c25;--wine2:#512c38;--cream:#faf5eb;--sand:#eee2d2;--gold:#c9a56b;--ink:#3b2a2d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.section{padding:110px 22px;text-align:center}.kicker,.eyebrow{font-size:11px;letter-spacing:.32em;font-weight:600;color:#a37d4f}.section h2{font:500 clamp(42px,6vw,76px)/1.05 'Cormorant Garamond',serif;margin:16px 0 25px}.section h2 em{font-weight:400;color:#a98258}.hero{height:100svh;min-height:650px;position:relative;display:grid;place-items:center;color:#fff;text-align:center;background:var(--wine);overflow:hidden}.hero-photo{position:absolute;inset:0;background:url('image1.jpg') center 35%/cover no-repeat;animation:heroZoom 22s ease-in-out infinite alternate}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,12,17,.45),rgba(25,12,17,.58) 48%,rgba(25,12,17,.78))}.hero-content{position:relative;z-index:1;padding:32px 18px;max-width:1000px}.hero .eyebrow{color:#f4d8a5}.hero-ornament{color:#e2c38f;font-size:27px;margin:18px 0 24px;letter-spacing:.4em}.hero-intro{font:400 clamp(18px,2.2vw,24px) 'Cormorant Garamond',serif;letter-spacing:.02em}.hero h1{font:400 clamp(67px,11vw,150px)/.98 'Great Vibes',cursive;margin:24px 0 20px;text-shadow:0 4px 35px #0008}.hero h1 span{font-size:.65em;color:#f0d1a0}.hero-subtitle{font:400 clamp(19px,2.4vw,27px) 'Cormorant Garamond',serif}.hero-rule{margin:26px auto 17px;max-width:230px;display:flex;align-items:center;gap:15px;color:#e9c78f}.hero-rule:before,.hero-rule:after{content:'';height:1px;flex:1;background:#dfbf8e99}.hero-date{letter-spacing:.2em;font-size:12px}.explore{display:inline-flex;align-items:center;gap:12px;text-decoration:none;border:1px solid #ffffff90;padding:14px 25px;margin-top:26px;font-size:12px;letter-spacing:.1em;transition:.3s}.explore:hover{background:#fff;color:var(--wine)}.explore span{font-size:18px}.scroll-note{position:absolute;bottom:25px;letter-spacing:.25em;font-size:9px;z-index:1;opacity:.75}.intro{background:var(--cream)}.intro-copy,.events-intro{max-width:600px;margin:0 auto 54px;font-size:15px;line-height:2;color:#77666a}.portrait-grid{display:grid;grid-template-columns:minmax(0,1fr) 140px minmax(0,1fr);align-items:center;max-width:890px;margin:auto;gap:15px}.portrait{margin:0}.portrait img{width:100%;height:410px;object-fit:cover;display:block;border-radius:170px 170px 5px 5px;box-shadow:0 18px 45px #3b2a2d20}.portrait figcaption{font:400 42px 'Great Vibes',cursive;margin-top:18px;color:var(--wine2)}.portrait-middle span{font-size:50px;color:var(--gold)}.portrait-middle p{font:italic 28px/1.15 'Cormorant Garamond',serif;color:#ad8b66}.countdown-section{background:var(--wine);color:#fff}.countdown-section .kicker{color:#d9b77e}.countdown-section h2 em{color:#dfbd8a}.countdown{display:flex;justify-content:center;gap:clamp(18px,5vw,75px);margin:55px auto 25px}.countdown>div{display:flex;flex-direction:column;gap:12px;min-width:70px}.countdown strong{font:400 clamp(38px,6vw,80px) 'Cormorant Garamond',serif}.countdown span{font-size:10px;letter-spacing:.25em;color:#d9b77e}.countdown-message{font:italic 22px 'Cormorant Garamond',serif;color:#f1dcc0}.events{background:linear-gradient(130deg,#fdf8f0,#f0e5d6)}.day-card{max-width:900px;margin:28px auto;display:grid;grid-template-columns:34% 66%;background:#fffaf3;box-shadow:0 10px 40px #452b2910;text-align:left;border:1px solid #e6d8c5}.day-heading{background:var(--wine2);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:38px 15px}.day-heading span{font-size:11px;letter-spacing:.3em;color:#e3bd83}.day-heading h3{font:500 40px/1.05 'Cormorant Garamond',serif;margin:17px 0}.day-heading p{font:italic 20px 'Cormorant Garamond',serif;color:#e8cfa9;margin:0}.event-list{padding:20px 34px}.event{display:flex;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid #eadfce}.event:last-child{border-bottom:0}.event-icon{font-size:26px;color:#b18a5b;width:30px;text-align:center}.event div{flex:1}.event h4{font:600 29px 'Cormorant Garamond',serif;margin:0 0 3px}.event p{margin:0;font-size:12px;color:#8e7c78}.event time{font-size:12px;color:#936d47;font-weight:600;white-space:nowrap}.closing{min-height:600px;display:grid;place-items:center;position:relative;overflow:hidden;color:#fff;background:var(--wine)}.closing-image{position:absolute;inset:0;background:url('image1.jpg') center 42%/cover no-repeat;filter:blur(2px);transform:scale(1.05)}.closing-overlay{position:absolute;inset:0;background:#28131dc9}.closing-content{position:relative;max-width:760px}.closing .kicker{color:#ebc998}.closing h2 em{color:#e9c797}.closing-content>p:not(.kicker):not(.closing-date){line-height:1.9;color:#e6d8d7}.closing-names{font:400 clamp(50px,8vw,90px) 'Great Vibes',cursive;margin:42px 0 14px;color:#f1d2a0}.closing-date{font-size:12px;letter-spacing:.25em;color:#e8c797}footer{background:#26151c;color:#c8aaa3;text-align:center;padding:25px 15px;font-size:11px;letter-spacing:.06em}footer span{padding:0 10px;color:var(--gold)}.music-toggle{position:fixed;right:18px;top:18px;z-index:10;border:1px solid #ead1a0;background:#3c222be8;color:#fff;border-radius:100px;padding:11px 15px;display:flex;align-items:center;gap:9px;cursor:pointer;box-shadow:0 5px 22px #0003;font-family:inherit;font-size:11px;letter-spacing:.05em;backdrop-filter:blur(8px)}.music-toggle span:first-child{font-size:19px;color:#e8c58b}.music-toggle.playing span:first-child{animation:pulse 1.6s infinite}.petals{position:fixed;inset:0;pointer-events:none;z-index:8;overflow:hidden}.petal{position:absolute;top:-30px;color:#e8b8ad99;font-size:15px;animation:fall linear forwards}.reveal{opacity:0;transform:translateY(35px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:translateY(0)}@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.1)}}@keyframes fall{to{transform:translate3d(var(--drift),110vh,0) rotate(720deg);opacity:0}}@keyframes pulse{50%{transform:scale(1.25)}}@media(max-width:650px){.section{padding:75px 18px}.hero{min-height:620px}.hero h1{font-size:clamp(58px,14vw,88px)}.hero-date{font-size:10px}.portrait-grid{grid-template-columns:1fr 1fr;gap:15px}.portrait img{height:270px}.portrait-middle{grid-column:1/-1;grid-row:2}.portrait-middle span{font-size:30px}.portrait-middle p{font-size:23px;margin:0}.portrait figcaption{font-size:35px}.day-card{grid-template-columns:1fr}.day-heading{padding:25px}.day-heading h3{font-size:36px;margin:10px}.event-list{padding:10px 20px}.event{gap:12px}.event h4{font-size:26px}.event time{font-size:11px}.event p{font-size:11px}.countdown{gap:12px}.countdown>div{min-width:60px}.countdown span{font-size:8px;letter-spacing:.12em}.music-toggle{top:12px;right:12px}.closing{min-height:540px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

@media(max-width:650px){.hero h1{font-size:clamp(35px,9vw,58px);white-space:nowrap;letter-spacing:-.025em}.hero-content{width:100%;padding-left:10px;padding-right:10px}}
