:root{--ink:#272323;--ink-soft:#665d5b;--cream:#f7f3ed;--paper:#fffdf9;--wine:#692f3e;--wine-dark:#351c27;--gold:#c2a06a;--line:#ded4c8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Montserrat,Arial,sans-serif;background:var(--cream)}a{color:inherit}.hero{position:relative;min-height:720px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#2d1821,#5f2b3b 55%,#241a20);color:#fff;text-align:center}.grain{position:absolute;inset:0;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");pointer-events:none}.hero:before,.hero:after{content:'✦';position:absolute;color:#d9bd82;font-size:15px;animation:twinkle 3s ease-in-out infinite}.hero:before{top:18%;left:16%}.hero:after{right:17%;bottom:22%;animation-delay:1.4s}.orb{position:absolute;border:1px solid #d9bd8266;border-radius:50%;filter:blur(.1px)}.orb-one{width:410px;height:410px;right:-155px;top:-130px}.orb-two{width:260px;height:260px;left:-120px;bottom:-105px}.ring{position:absolute;border:1px solid #d9bd8244;border-radius:50%;width:170px;height:170px}.ring-left{left:8%;bottom:15%;border-right-color:transparent;animation:rotateRing 18s linear infinite}.ring-right{right:8%;top:20%;border-left-color:transparent;animation:rotateRing 22s linear infinite reverse}.hero-content{position:relative;z-index:1;max-width:730px;padding:70px 24px}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:3px;font-weight:600;color:#e6c98b;margin:0 0 22px}.save-date{font-size:11px;letter-spacing:5px;color:#e2cfae;margin:0 0 20px}.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(78px,13vw,145px);line-height:.68;font-weight:500;margin:0;letter-spacing:-5px}.hero h1 span{display:block}.hero h1 i{display:block;font-size:.38em;line-height:1.2;letter-spacing:0;color:#d5b675;font-style:normal}.divider{display:flex;align-items:center;gap:16px;justify-content:center;color:#d5b675;font-size:21px;margin:25px 0 22px}.divider span{height:1px;width:74px;background:#d5b67588}.hero-message{font-family:'Cormorant Garamond',serif;font-size:25px;line-height:1.12;margin:0;color:#fbf5eb}.invite-line{font-size:12px;color:#dfcfc1;letter-spacing:.4px;margin:24px auto 0}.scroll-cue{display:inline-flex;flex-direction:column;gap:9px;align-items:center;margin-top:42px;text-decoration:none;text-transform:uppercase;font-size:9px;letter-spacing:2px;color:#e6c98b}.scroll-cue span{font-size:20px;font-family:serif;animation:float 2.5s ease-in-out infinite}.section{padding:105px 24px;text-align:center}.details{background:var(--paper)}.eyebrow.dark{color:var(--wine);margin-bottom:12px}.section h2{font-family:'Cormorant Garamond',serif;font-size:55px;font-weight:500;color:var(--wine-dark);margin:0}.section-lead{max-width:490px;color:var(--ink-soft);font-size:13px;line-height:1.7;margin:18px auto 44px}.details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,275px));justify-content:center;gap:16px}.detail-card{border:1px solid var(--line);padding:33px 23px;background:#fffefa;min-height:190px;transition:transform .35s ease,box-shadow .35s ease}.detail-card:hover{transform:translateY(-7px);box-shadow:0 18px 35px #3e1c2612}.detail-card.featured{background:var(--wine);border-color:var(--wine);color:#fff}.detail-icon{color:var(--gold);font-size:22px}.label{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:600;color:var(--wine);margin:12px 0}.featured .label{color:#e8c98e}.detail-card h3{font-family:'Cormorant Garamond',serif;font-size:26px;line-height:1.05;font-weight:600;margin:0 0 8px}.detail-card p:last-child{color:var(--ink-soft);font-size:12px;line-height:1.5;margin:0}.featured p:last-child{color:#eadbd3}.map-link{display:inline-flex;gap:10px;margin-top:30px;color:var(--wine);font-size:11px;font-weight:700;letter-spacing:.7px;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:6px}.map-link span{color:var(--gold);font-size:16px}.quote-section{padding:90px 24px;background:var(--wine-dark);color:#f8efe7;text-align:center}.quote-mark{font-family:Georgia,serif;color:var(--gold);font-size:70px;line-height:.5}.quote-section blockquote{font-family:'Cormorant Garamond',serif;font-size:38px;line-height:1.05;max-width:600px;margin:20px auto 14px}.quote-section p{color:#cdb9a9;font-size:11px;letter-spacing:1px}.rsvp{background:#ebe2d7}.rsvp-inner{max-width:810px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;text-align:left}.rsvp-copy h2{margin-bottom:13px}.rsvp-copy>p:last-child{color:var(--ink-soft);font-size:13px;line-height:1.7;max-width:280px}.rsvp-form{display:grid;gap:8px}.rsvp-form label{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;font-weight:700;color:var(--wine);margin-top:7px}.rsvp-form input,.rsvp-form select{width:100%;border:0;border-bottom:1px solid #baa99a;background:transparent;padding:10px 0;color:var(--ink);font:400 14px Montserrat,Arial,sans-serif;outline:none}.rsvp-form input:focus,.rsvp-form select:focus{border-bottom-color:var(--wine)}.rsvp-form button{margin-top:17px;border:0;background:var(--wine);color:#fff;padding:15px 20px;text-transform:uppercase;letter-spacing:1.5px;font:600 10px Montserrat,Arial,sans-serif;cursor:pointer;transition:background .2s,transform .2s}.rsvp-form button:hover{background:var(--wine-dark);transform:translateY(-2px)}.rsvp-form button span{font-size:16px;margin-left:12px}.form-message{color:var(--wine);font-size:11px;min-height:17px;margin:5px 0 0;font-weight:600}footer{padding:48px 24px;text-align:center;background:#21151b;color:#d9c5b2}.footer-monogram{font-family:'Cormorant Garamond',serif;color:#edce91;font-size:36px}.footer-monogram span{font-size:21px;margin:0 8px}.footer-monogram+p{font-family:'Cormorant Garamond',serif;font-size:20px;margin:8px 0}.footer-monogram~small{font-size:10px;color:#9d8980}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}@keyframes twinkle{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes rotateRing{to{transform:rotate(360deg)}}@media(max-width:650px){.hero{min-height:680px}.ring{width:110px;height:110px}.hero h1{font-size:90px}.hero-message{font-size:22px}.section{padding:80px 18px}.section h2{font-size:46px}.details-grid,.rsvp-inner{grid-template-columns:1fr;gap:14px}.rsvp-inner{text-align:left;gap:42px}.quote-section blockquote{font-size:32px}.detail-card{min-height:160px}}
