@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600&family=Great+Vibes&display=swap');
:root{--wine:#481511;--rust:#76291f;--gold:#d7b576;--paper:#f1e9dc;--ink:#422c25;--muted:#78675a;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--script:'Great Vibes',cursive}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #c99b4b;outline-offset:6px}::selection{background:#cfad72;color:#37120e}.topbar{height:76px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;background:#f2eadf;border-bottom:1px solid #d7cbb7}.monogram{font:42px var(--serif);position:relative}.monogram span{font-size:13px;position:absolute;right:-7px;top:4px}.topbar-date{font-size:10px;letter-spacing:3px;margin-left:60px}.topbar-link{font-size:11px}.topbar-link span{margin-left:16px}.hero{min-height:850px;height:calc(100svh - 76px);max-height:1080px;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 35%,#60251c 0,#38110f 57%,#1b0b0a 100%);color:var(--paper);text-align:center}.hero:before{content:'';position:absolute;inset:0;opacity:.1;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='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.6' d='M0 0h180v180H0z'/%3E%3C/svg%3E");pointer-events:none}.hero-frame{position:absolute;inset:28px;border:1px solid #b48a464a;z-index:-1}.hero-frame:after{content:'';position:absolute;inset:7px;border:1px solid #b48a4626}.curtain{position:absolute;top:-15%;bottom:-8%;width:31%;z-index:-1;background:repeating-linear-gradient(94deg,#1d0807 0%,#54120e 9%,#802b20 15%,#49100e 21%,#200908 26%);box-shadow:20px 10px 70px #170706;opacity:.85}.curtain-left{left:-13%;transform:rotate(14deg);border-radius:0 0 65% 0}.curtain-right{right:-13%;transform:rotate(-14deg) scaleX(-1);border-radius:0 0 65% 0}.hero-content{position:relative;padding:55px 20px 70px;width:100%;max-width:850px}.eyebrow{font-size:10px;letter-spacing:2.7px;line-height:1.8;font-weight:500}.hero-eyebrow{color:#cfb38a;margin:0 0 18px}.hero-mask{width:285px;height:auto;filter:drop-shadow(0 15px 18px #16050380);margin-bottom:3px}.small-title{font-size:12px;letter-spacing:4px;color:#dfc79d;margin:5px 0 12px}h1{font:clamp(86px,10vw,145px)/1.12 var(--script);font-weight:400;margin:8px 0 14px;color:#f5dfb9;text-shadow:0 3px 30px #dca75c20} .hero-rule{display:flex;align-items:center;justify-content:center;gap:18px;color:var(--gold);font-size:14px}.hero-rule span{width:75px;height:1px;background:linear-gradient(90deg,transparent,#ad884f)}.hero-rule span:last-child{transform:rotate(180deg)}.hero-subtitle{font:italic 22px/1.5 var(--serif);color:#e4d2bd;margin:22px 0}.hero-date{font:24px var(--serif);letter-spacing:4px;margin:25px 0}.hero-date span{color:#b98a52;margin:0 13px;font-size:18px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:49px;padding:15px 25px;font-size:11px;letter-spacing:1px;border:1px solid transparent;transition:background .25s,transform .25s}.button:hover{transform:translateY(-3px)}.button-gold{background:#d9b97e;color:#3f2117;border-color:#e6cc9f}.button-gold:hover{background:#eed3a2}.hero-footnote{position:absolute;bottom:29px;font-size:8px;letter-spacing:3px;color:#bb9670}.stars{position:absolute;inset:0;pointer-events:none}.star{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffe0a0;box-shadow:0 0 8px #ecc776;animation:twinkle 5s ease-in-out infinite;opacity:.4}@keyframes twinkle{50%{opacity:.1;transform:translateY(-8px)}}.paper{background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6'%3E%3Cpath fill='%23977b54' fill-opacity='.035' d='M0 0h1v1H0zm3 3h1v1H3z'/%3E%3C/svg%3E")}.intro{text-align:center;padding:45px 24px 90px}.section-number{display:block;text-align:center;font-size:8px;letter-spacing:2px;color:#8c7963}.ornament{font-size:28px;color:#ad8346;margin:43px 0 26px}h2{font:500 clamp(40px,4.3vw,60px)/1.08 var(--serif);margin:18px 0 28px;letter-spacing:-1px}h2 em{font-weight:400;color:#8b3b2c}.intro-text{max-width:530px;margin:18px auto;font-size:13px;line-height:1.95;color:var(--muted)}.family{max-width:790px;margin:52px auto 34px;display:grid;grid-template-columns:1fr 60px 1fr;align-items:center}.family .eyebrow{font-size:8px;letter-spacing:2px;color:#927344}.family p:not(.eyebrow){font:25px/1.55 var(--serif);margin:15px 0}.family-divider{color:#b49158;font-size:27px}.signature{font:35px var(--script);color:#8b3b2c}.countdown-section{text-align:center;background:#481713;color:#f1dfbf;padding:64px 24px 56px;position:relative;border-top:1px solid #956a35;border-bottom:1px solid #956a35}.countdown-section .eyebrow{color:#c5a277;font-size:9px}.countdown-section h2{font-size:43px;margin:14px 0 32px}.countdown{display:flex;align-items:center;justify-content:center;gap:28px}.countdown div{min-width:75px}.countdown span{font:64px/1 var(--serif);font-variant-numeric:tabular-nums}.countdown small{display:block;font-size:8px;letter-spacing:2px;margin-top:16px;color:#c7a681}.countdown b{font:32px var(--serif);color:#9d764e;align-self:flex-start;margin-top:9px}.countdown-date{font:italic 19px var(--serif);margin:34px 0 16px;color:#d9bf9e}.text-link{font-size:10px;letter-spacing:1px;display:inline-flex;gap:24px;padding-bottom:7px;border-bottom:1px solid #a68455}.events{padding:42px 7% 85px;text-align:center}.events>.eyebrow{margin-top:55px}.event-grid{max-width:1000px;display:grid;grid-template-columns:1fr 1fr;margin:45px auto 0;border-top:1px solid #cdbb9f;border-bottom:1px solid #cdbb9f}.event{padding:45px 25px 50px}.event+ .event{border-left:1px solid #cdbb9f}.event-icon{color:#987039;font:43px var(--serif);margin-bottom:18px}.event .eyebrow{color:#947346;font-size:9px}.event h3{font:400 43px/1.05 var(--serif);margin:16px 0 22px}.event-time{font:38px var(--serif);margin:0;color:#8a3c2e}.event-time span{font:italic 20px var(--serif)}.short-rule{height:1px;width:33px;background:#b39970;margin:23px auto}.event h4{font:500 21px var(--serif);margin:0 0 8px}.location{font-size:11px;color:#7f6b59;margin:0 0 27px}.button-outline{border-color:#b09a77;font-size:10px;color:#694f35}.button-outline:hover{background:#e2d5c0}.theme-section{background:#201916;color:#ecdfcc;display:grid;grid-template-columns:1fr 1fr;padding:70px 10%;gap:60px;align-items:center;overflow:hidden}.theme-art{position:relative;min-height:300px;display:grid;place-items:center;isolation:isolate;border:1px solid #a5874b55;border-radius:50% 50% 0 0}.theme-art:before{content:'';inset:10px;position:absolute;border:1px solid #a5874b33;border-radius:50% 50% 0 0}.theme-art>span{position:absolute;z-index:-1;font:300px var(--serif);color:#ac8a4920;line-height:1;top:15px}.theme-art img{width:100%;max-width:390px;height:auto;transform:rotate(-10deg);filter:drop-shadow(0 20px 20px #000)}.theme-copy .eyebrow{color:#b99a68;font-size:9px}.theme-copy h2{font-size:43px}.theme-copy h2 em{color:#ccad77}.theme-copy>p:not(.eyebrow){font-size:12px;line-height:1.9;color:#bcae9c;max-width:380px}.palette{display:flex;gap:12px;margin:26px 0 17px}.palette i{width:20px;height:20px;border-radius:50%;border:1px solid #d9bc7333;background:#87392b}.palette i:nth-child(2){background:#c5a268}.palette i:nth-child(3){background:#e6dac5}.palette i:nth-child(4){background:#0e0d0c}.theme-caption{font-size:8px;letter-spacing:1.5px;color:#a99579}.closing{text-align:center;padding:40px 24px 60px}.closing .eyebrow{font-size:8px}.closing>p:not(.eyebrow){font-size:12px;line-height:1.8;color:#806b58}.closing-name{display:block;font:75px var(--script);color:#803527;margin:35px 0 15px}.closing-date{font-size:8px;letter-spacing:2px}.back-top{display:grid;place-items:center;border:1px solid #c1ab88;border-radius:50%;width:35px;height:35px;margin:34px auto 0}footer{padding:24px;text-align:center;background:#e8dece;color:#927a5a;font-size:8px;letter-spacing:1.5px}footer span{padding:0 18px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#241713;color:#f5e6ce;padding:14px 22px;opacity:0;pointer-events:none;transition:.3s;z-index:9}.toast.visible{opacity:1;transform:translate(-50%,0)}.opening .hero-mask{animation:mask-bow .75s ease}@keyframes mask-bow{50%{transform:translateY(-10px) rotate(-5deg)}}
@media(min-width:1500px){.hero{min-height:900px}.hero-mask{width:330px}}@media(max-width:700px){.topbar{height:64px;padding:0 23px}.monogram{font-size:35px}.topbar-date{margin:0;font-size:8px;letter-spacing:2px}.topbar-link{font-size:0}.topbar-link span{font-size:18px;margin:0}.hero{height:calc(100svh - 64px);min-height:730px;max-height:930px}.hero-frame{inset:14px}.hero-content{padding:45px 20px 60px}.hero-eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:25px}.hero-mask{width:240px}.small-title{font-size:10px;letter-spacing:2px;margin-top:15px}h1{font-size:94px;margin:15px 0}.hero-subtitle{font-size:21px}.hero-date{font-size:22px;margin:24px 0}.hero-footnote{font-size:7px;bottom:27px;letter-spacing:2px}.curtain{width:33%;opacity:.65}.curtain-left{left:-20%}.curtain-right{right:-20%}.intro{padding:35px 25px 65px}.ornament{margin-top:35px}.intro>.eyebrow{font-size:8px;letter-spacing:1.8px}h2{font-size:43px}.intro-text{font-size:12px}.desktop-break{display:none}.family{grid-template-columns:1fr;margin:35px auto 25px}.family p:not(.eyebrow){font-size:25px;margin:10px 0}.family-divider{margin:18px}.signature{font-size:33px}.countdown-section{padding:48px 18px}.countdown-section h2{font-size:36px}.countdown{gap:11px}.countdown div{min-width:54px}.countdown span{font-size:49px}.countdown small{font-size:7px;letter-spacing:1px}.countdown b{font-size:24px}.events{padding:35px 25px 55px}.events>.eyebrow{font-size:8px;margin-top:40px}.event-grid{grid-template-columns:1fr;margin-top:30px}.event{padding:36px 10px 39px}.event+.event{border-left:0;border-top:1px solid #cdbb9f}.event-icon{margin-bottom:10px}.event h3{font-size:40px}.theme-section{grid-template-columns:1fr;padding:50px 30px;gap:34px;text-align:center}.theme-art{max-width:320px;width:100%;margin:auto;min-height:245px}.theme-art>span{font-size:240px}.theme-copy h2{font-size:39px}.theme-copy>p:not(.eyebrow){margin-left:auto;margin-right:auto}.palette{justify-content:center}.closing{padding-top:25px}.closing .eyebrow{letter-spacing:1.4px;max-width:270px;margin:auto}.closing-name{font-size:70px}footer{font-size:7px;letter-spacing:1px}footer span{padding:0 10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
