:root{--wine:#3f0d1b;--wine-deep:#250913;--wine-light:#681f31;--gold:#c9a45a;--gold-light:#f0dfad;--ivory:#fbf4e8;--paper:#fffaf2;--ink:#281c1b;--muted:#827267;--teal:#416a64}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}.masthead{height:78px;padding:0 7.5%;display:flex;align-items:center;justify-content:space-between;background:var(--wine-deep);color:var(--ivory);border-bottom:1px solid #c9a45a72;position:relative;z-index:3}.monogram{font-family:'Playfair Display',serif;font-size:24px;letter-spacing:-1px;color:var(--gold-light)}.monogram span{font-size:12px;color:var(--gold);margin:0 6px}.masthead nav{display:flex;gap:38px;font-size:12px;letter-spacing:.3px;color:#eadcc7}.masthead nav a:hover,.header-link:hover{color:var(--gold-light)}.header-link{border:1px solid #b9924c;border-radius:2px;padding:11px 18px;font-size:11px;letter-spacing:1px;text-transform:uppercase}.header-link span{color:var(--gold);margin-left:16px}.hero{position:relative;min-height:700px;background:radial-gradient(ellipse at 76% 48%,#672236 0,#4d1425 30%,#3f0d1b 68%,#310a16 100%);color:var(--ivory);display:grid;grid-template-columns:1.02fr .98fr;align-items:center;padding:66px 12% 82px;gap:4%;overflow:hidden}.hero:before,.hero:after{content:'';position:absolute;pointer-events:none;border:1px solid #d2b26325;border-radius:50%;width:560px;height:560px;left:-360px;top:45px;box-shadow:0 0 0 18px #d2b2630a,0 0 0 39px #d2b2630a,0 0 0 62px #d2b26308}.hero:after{width:420px;height:420px;left:auto;right:-300px;top:auto;bottom:-250px}.hero-copy{position:relative;z-index:1;max-width:500px}.kicker,.hero-label,.hero-signoff,.hero-footer,.eyebrow,.date-words,.card-topline,.venue-type,.back-top{font-size:9px;letter-spacing:2px}.kicker{color:var(--gold-light);display:flex;align-items:center;gap:12px}.kicker-line{height:1px;width:28px;background:var(--gold)}.hero-label{margin:39px 0 18px;color:#d2b76f}.hero h1{font:500 clamp(62px,8vw,100px)/.98 'Playfair Display',serif;letter-spacing:-4px;margin:0;color:#fff8ec}.hero h1 .amp{font-style:italic;color:var(--gold);font-size:.7em}.hero-note{font:italic 18px/1.65 'Playfair Display',serif;color:#eee0cc;margin:25px 0}.gold-button{display:inline-flex;align-items:center;gap:28px;background:linear-gradient(135deg,#ead398,#c29a50);color:#35111a;padding:14px 20px;font-size:11px;font-weight:600;letter-spacing:.2px;border:1px solid #f1dfb1;box-shadow:0 8px 22px #16070b29}.gold-button span{font-size:15px}.gold-button:hover{filter:brightness(1.08)}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:18px}.hero-signoff{margin-top:20px;color:#d8c5a6;font-size:8px}.hero-art{height:490px;max-width:470px;width:100%;justify-self:center;position:relative;display:grid;place-items:center}.art-halo{position:absolute;width:83%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#a06d4027 0 35%,#eed99a12 62%,transparent 70%);box-shadow:0 0 90px #d9b55a15}.mandala{position:relative;z-index:1;width:min(100%,450px);transform:translateY(-24px);filter:drop-shadow(0 15px 28px #14060b65)}.art-caption{position:absolute;z-index:2;bottom:0;left:0;right:0;text-align:center;display:flex;flex-direction:column;gap:8px;color:var(--gold-light)}.art-caption span{font-size:8px;letter-spacing:2.2px}.art-caption i{font:italic 16px 'Playfair Display',serif;color:#f5e9d6}.date-seal{position:relative;flex:0 0 110px;width:110px;height:110px;border:1px solid var(--gold);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gold-light);background:#310a16;box-shadow:0 0 0 5px #c9a45a16,0 0 0 6px #c9a45a55}.date-seal span{font-size:7px;letter-spacing:1.4px}.date-seal strong{font:500 42px/.95 'Playfair Display',serif;color:#fff1cf;margin:5px 0}.hero-footer{position:absolute;bottom:19px;left:12%;right:12%;display:flex;justify-content:space-between;color:#d1bb93;font-size:7px;letter-spacing:1.5px}.gold-rule{height:54px;background:var(--ivory);display:flex;justify-content:center;align-items:center;gap:22px;color:#a87b36}.gold-rule span:nth-child(2){font:24px 'Playfair Display';transform:rotate(180deg)}.section{padding:100px 12%;text-align:center}.invitation{background:var(--paper);position:relative}.invitation:before,.invitation:after{content:'✦';position:absolute;color:#d3b66d;font-size:20px;top:43px;left:8%}.invitation:after{left:auto;right:8%}.eyebrow{color:#9b7738;font-weight:600}.section h2{font:500 clamp(38px,5vw,59px)/1.13 'Playfair Display',serif;letter-spacing:-1.4px;margin:18px 0;color:var(--wine)}.section h2 i{color:#9d593f;font-weight:500}.body-copy{max-width:600px;margin:24px auto;color:#71645a;font-size:14px;line-height:1.95}.family-signature{font:italic 19px 'Playfair Display',serif;color:var(--wine);margin-top:30px}.family-signature span{font-size:12px;color:var(--gold);margin:0 10px}.celebration{background:#efe3cf;display:grid;grid-template-columns:1fr 350px;align-items:center;text-align:left;gap:8%;position:relative}.celebration .section-heading h2{font-size:clamp(36px,4vw,48px)}.event-card{background:#fff9ee;border:1px solid #d6bd83;padding:34px 36px 36px;text-align:center;position:relative;box-shadow:0 18px 40px #4a1a2413}.event-card:before{content:'';position:absolute;inset:8px;border:1px solid #ddc995;pointer-events:none}.card-topline{position:relative;color:#947139;font-size:8px;display:flex;gap:14px;align-items:center;justify-content:center}.card-topline span{font-size:12px;color:#bd9551}.big-date{position:relative;font:500 51px/.95 'Playfair Display',serif;color:var(--wine);margin:27px 0 8px;letter-spacing:2px}.big-date span{color:#bd9851;font-size:25px;margin:0 7px}.date-words{position:relative;color:#77634d;font-size:8px;letter-spacing:1.5px}.card-divider{position:relative;margin:23px auto;width:72%;height:1px;background:#ddceb0}.card-divider span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff9ee;padding:0 10px;color:#b99554}.time-row{position:relative;display:flex;justify-content:center;align-items:center;gap:12px;text-align:left;margin:22px 0}.detail-icon{font-size:25px;color:#9b7437}.time-row div{display:flex;flex-direction:column;gap:5px}.time-row small{font-size:8px;letter-spacing:1px;color:#8c7963}.time-row strong{font:500 24px 'Playfair Display',serif;color:var(--wine)}.dark-button{position:relative;margin-top:5px;padding:12px 17px}.ceremony-note{grid-column:1/-1;text-align:center;font-size:8px;letter-spacing:2px;color:#816a4f;margin:-34px 0 0}.ceremony-note strong{color:var(--wine);font-weight:600}.venue{background:var(--wine);color:var(--ivory);position:relative;overflow:hidden}.venue:before,.venue:after{content:'';position:absolute;width:260px;height:260px;border:1px solid #d2b26323;border-radius:50%;top:-175px;left:-90px;box-shadow:0 0 0 14px #d2b2630b,0 0 0 32px #d2b26309}.venue:after{left:auto;top:auto;right:-90px;bottom:-190px}.venue-ornament{font-size:31px;color:var(--gold);margin-bottom:17px}.venue .eyebrow{color:#ddc98d}.venue h2{color:var(--ivory);margin:13px 0 4px}.venue h2 i{color:var(--gold-light)}.venue-type{font-size:8px;color:#ddc98d;margin:0 0 24px}.address{font-size:14px;line-height:1.9;color:#f1e4d1}.outline-button{display:inline-flex;gap:18px;align-items:center;padding:13px 17px;border:1px solid #a37e43;color:var(--wine);font-size:11px;background:transparent}.outline-button span{color:var(--gold)}.venue .outline-button{margin-top:15px;color:#fff1cf;border-color:#d2b263}.rsvp{background:var(--paper);position:relative;overflow:hidden}.rsvp-flower{position:absolute;right:10%;top:13%;font-size:130px;color:#dfc89235}.rsvp-copy{color:#71645a;font-size:13px;margin:28px 0 5px}.rsvp-name{font:500 25px 'Playfair Display',serif;color:var(--wine);margin:7px 0}.contact-actions{display:flex;justify-content:center;gap:12px;margin-top:22px}.contact-actions .gold-button{padding:12px 19px}.light-outline{color:var(--wine);border-color:#b99b66}.phone-number{font-size:12px;letter-spacing:1.2px;color:#786b5f;margin-top:18px}.footer{background:var(--wine-deep);color:#eadcc7;padding:26px 8%;display:flex;align-items:center;justify-content:space-between}.footer p{font:italic 14px 'Playfair Display',serif;margin:0;color:#d9c7a5}.back-top{font-size:8px;color:#d9c7a5;letter-spacing:1.3px}.footer .monogram{font-size:20px}
@media(max-width:760px){.masthead{height:68px;padding:0 5%}.masthead nav{gap:14px;font-size:10px}.header-link{padding:9px 11px;font-size:9px}.hero{grid-template-columns:1fr;padding:52px 8% 105px;gap:5px;text-align:center}.hero-actions{justify-content:center;flex-wrap:wrap;gap:16px;margin-top:18px}.hero-copy{margin:auto}.kicker{justify-content:center;font-size:8px}.hero-label{margin-top:32px}.hero h1{font-size:clamp(62px,15vw,88px)}.hero-note{font-size:16px}.hero-signoff{margin-top:22px}.hero-art{height:355px;max-width:370px;margin:0 auto}.date-seal{flex-basis:86px;width:86px;height:86px}.date-seal strong{font-size:33px}.date-seal span{font-size:6px}.hero-footer{left:8%;right:8%;font-size:6px;letter-spacing:1px;gap:15px}.section{padding:76px 8%}.celebration{grid-template-columns:1fr;text-align:center;gap:30px}.event-card{max-width:370px;width:100%;margin:auto}.ceremony-note{margin:0}.rsvp-flower{right:-10px;top:10%;font-size:100px}.footer{padding:23px 6%;gap:14px}.footer p{font-size:12px}.back-top{font-size:7px}}
@media(max-width:420px){.masthead nav{gap:10px}.masthead nav a{font-size:9px}.header-link{letter-spacing:.4px}.hero{padding-left:6%;padding-right:6%}.hero-art{height:310px}.hero-footer{font-size:5.5px}.section{padding-left:6%;padding-right:6%}.footer p{max-width:140px;text-align:center}}
