:root{--forest:#10251f;--deep:#0a1b16;--cream:#f1ecdf;--gold:#c6ac76;--muted:#a8b4a6;--line:#c6ac7640;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--forest);color:var(--cream);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:6px}::selection{background:var(--gold);color:var(--deep)}.skip{position:fixed;left:20px;top:-60px;background:var(--cream);color:var(--forest);padding:12px;z-index:10}.skip:focus{top:15px}.masthead{height:96px;max-width:1440px;padding:0 6%;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-family:var(--serif);font-size:32px;letter-spacing:-3px}.brand span{font-style:italic;color:var(--gold);font-size:26px;margin:0 5px}.masthead-note,.header-link{font-size:9px;letter-spacing:2.3px}.masthead-note{color:var(--muted)}.header-link span{font-size:17px;margin-left:18px;color:var(--gold)}.hero{max-width:1440px;min-height:760px;margin:auto;position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:44px 6% 70px;gap:4%}.hero-copy{text-align:center;padding-top:25px}.eyebrow{font:10px var(--sans);letter-spacing:2.8px;color:var(--gold);font-weight:500}.hero .eyebrow{display:flex;align-items:center;justify-content:center;gap:15px}.eyebrow span:empty{display:inline-block;width:30px;height:1px;background:var(--line)}h1,h2,h3,p{margin-top:0}h1{font:500 clamp(80px,8.5vw,128px)/.83 var(--serif);letter-spacing:-4px;margin:38px 0 30px}h1 em{font-size:.59em;font-weight:400;color:var(--gold);vertical-align:8%;margin-left:4px}h2{font:400 clamp(40px,4.3vw,65px)/1.1 var(--serif);letter-spacing:-1.6px;margin-bottom:28px}h2 em{font-weight:400;color:var(--gold)}.hero-poem{font:italic 22px/1.5 var(--serif);color:#c7cec2;margin-bottom:29px}.hero-date{display:flex;justify-content:center;gap:17px;align-items:center;font-size:10px;letter-spacing:1.8px;margin:0 0 32px}.hero-date i{color:var(--gold);font-style:normal}.button{border:1px solid var(--gold);padding:15px 23px;display:inline-flex;align-items:center;justify-content:center;gap:25px;border-radius:1px;font-size:11px;letter-spacing:.5px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--gold);color:var(--deep)}.primary:hover{background:#dcc99e}.secondary{background:transparent;color:var(--cream)}.secondary:hover{background:#c6ac7615}.sound-hint{font-size:10px;color:var(--muted);margin:15px 0 32px}.scroll-link{display:inline-flex;align-items:center;gap:13px;color:var(--muted);letter-spacing:2px;font-size:8px}.scroll-link span{font-size:20px;color:var(--gold)}.hero-art{height:650px;position:relative;padding:8px;border:1px solid var(--line);border-radius:270px 270px 0 0;overflow:hidden}.hero-art img{display:block;width:100%;height:100%;object-fit:cover;border-radius:260px 260px 0 0;object-position:center 48%}.hero-art:after{content:'';position:absolute;inset:50% 8px 8px;background:linear-gradient(transparent,#07140eaa);pointer-events:none}.art-frame{position:absolute;inset:20px;border:1px solid #d7c49a55;border-radius:250px 250px 0 0;pointer-events:none;z-index:1}.image-caption{position:absolute;bottom:33px;left:35px;right:35px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.8px;z-index:2;color:#eee3cc}.vertical-note{position:absolute;right:23px;top:50%;writing-mode:vertical-rl;font-size:8px;letter-spacing:2.5px;color:var(--muted)}.section{padding:100px 8%}.invitation{text-align:center;background:var(--cream);color:var(--forest);position:relative}.ornament{font-size:36px;color:#97804f;display:block;margin-bottom:22px}.invitation .eyebrow{color:#7f6b43;margin-bottom:23px}.invitation h2 em{color:#887042}.section>p,.event-intro>p:not(.eyebrow){line-height:1.9;font-size:13px;color:var(--muted)}.invitation>p:not(.eyebrow){color:#5e6b60;margin-bottom:15px}.couple{display:flex;align-items:center;justify-content:center;gap:68px;margin-top:40px}.couple h3{font:italic 48px var(--serif);margin:0 0 5px}.couple span{font-size:8px;letter-spacing:2px;color:#727864}.couple i{font:italic 46px var(--serif);color:#aa9260}.celebration{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center;max-width:1300px;margin:auto;padding-top:110px;padding-bottom:110px}.event-intro .eyebrow{margin-bottom:25px;line-height:1.8}.fine-print{display:block;font-size:10px;line-height:1.8;color:var(--muted);margin-top:28px}.event-card{border:1px solid var(--gold);outline:1px solid var(--line);outline-offset:9px;text-align:center;padding:32px 25px;background:radial-gradient(ellipse at top,#263e30,transparent 65%)}.card-flower{font-size:32px;color:var(--gold);margin-bottom:20px}.event-card .eyebrow{font-size:8px;letter-spacing:2px}.day{font:100px/1 var(--serif);margin:22px 0 5px}.month{font-size:12px;letter-spacing:4px;margin-bottom:26px}.month span{display:block;font:24px var(--serif);letter-spacing:3px;margin-top:12px}.divider{position:relative;max-width:190px;margin:0 auto 20px;color:var(--gold);font-size:10px}.divider:before,.divider:after{content:'';width:40%;height:1px;background:var(--line);position:absolute;top:50%;left:0}.divider:after{left:auto;right:0}.event-time{font:28px var(--serif);margin:0 0 20px}.location{font:italic 24px var(--serif);margin-bottom:6px}.location-sub{font-size:10px;color:var(--muted)}.card-bottom{font-size:7px;letter-spacing:2px;border-top:1px solid var(--line);padding-top:23px;margin-top:27px}.guest{text-align:center;background:var(--deep);position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:40px;padding-bottom:80px}.guest-top{display:flex;justify-content:space-between;color:#9b9f84;font-size:8px;letter-spacing:2px;margin:0 0 65px}.guest-top span:nth-child(2){color:var(--gold)}.guest>.eyebrow{margin-bottom:24px}.guest h2{font-size:clamp(52px,6.7vw,90px);line-height:1;margin-bottom:28px}.guest h2 em{font-weight:400}.guest-rule{width:50px;height:1px;background:var(--gold);margin:30px auto}.guest-signature{font:italic 23px var(--serif);color:var(--gold);display:block;margin-top:27px}.closing{text-align:center;padding-bottom:65px}.closing>.eyebrow{margin-bottom:28px}.share-actions{display:flex;justify-content:center;gap:12px;margin-top:32px}.closing-monogram{font:70px var(--serif);letter-spacing:-7px;margin:68px 0 20px}.closing-monogram span{font-style:italic;color:var(--gold);font-size:50px;padding:0 8px}.forever{font-size:8px!important;letter-spacing:2px}footer{padding:28px 6%;border-top:1px solid var(--line);display:flex;gap:20px;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1px;color:var(--muted)}footer span{letter-spacing:0}footer a{color:var(--gold)}.music{position:fixed;bottom:22px;right:24px;z-index:5;display:flex;align-items:center;gap:10px;color:var(--cream);background:#10251ff2;border:1px solid var(--gold);border-radius:30px;padding:13px 17px;box-shadow:0 4px 30px #0003;font-size:10px}.music-bars{height:15px;display:flex;align-items:center;gap:3px}.music-bars i{width:2px;height:6px;background:var(--gold)}.music-bars i:nth-child(2){height:14px}.music-bars i:nth-child(3){height:10px}.music[aria-pressed=true] i{animation:music 1s ease-in-out infinite alternate}.music[aria-pressed=true] i:nth-child(2){animation-delay:.3s}.music[aria-pressed=true] i:nth-child(3){animation-delay:.6s}.toast{position:fixed;bottom:82px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:.2s;background:var(--cream);color:var(--deep);padding:14px 22px;border-radius:4px;z-index:10;max-width:90vw;box-shadow:0 6px 35px #0004;font-size:12px;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}#embed-panel{max-width:600px;margin:25px auto;padding:20px;border:1px solid var(--line);text-align:left}#embed-panel label{display:block;font-size:12px;color:var(--gold);margin-bottom:12px}textarea{width:100%;resize:vertical;background:var(--deep);color:var(--cream);border:1px solid var(--line);padding:12px;font:11px/1.6 monospace;margin-bottom:12px}body.embed .masthead-note,body.embed footer,body.embed #show-embed,body.embed #embed-panel{display:none}body.embed .masthead{height:66px}@keyframes music{to{transform:scaleY(.4)}}@media(min-width:1500px){.hero{min-height:820px}.hero-art{height:720px}}@media(max-width:850px){.masthead{padding:0 6%;height:76px}.masthead-note{display:none}.hero{min-height:auto;gap:28px;padding:45px 7% 60px;grid-template-columns:1fr}.hero-copy{padding:0}.hero .eyebrow{font-size:9px}h1{font-size:92px;line-height:.88;margin:26px 0}.hero-poem{font-size:21px}.hero-date{font-size:9px}.sound-hint{margin-bottom:24px}.scroll-link{display:none}.hero-art{max-width:520px;width:100%;height:600px;margin:auto}.vertical-note{display:none}.section{padding:70px 7%}.celebration{gap:50px;max-width:650px;grid-template-columns:1fr}.event-intro{text-align:center}.event-card{max-width:430px;width:calc(100% - 20px);margin:auto}.guest{padding-top:26px}.guest-top{margin-bottom:45px;font-size:6px;letter-spacing:1px;gap:20px}.guest h2{font-size:60px}.couple{gap:40px}.couple h3{font-size:42px}.couple span{font-size:7px;letter-spacing:1px}footer{flex-wrap:wrap;justify-content:center;padding-bottom:90px}footer span{width:100%;text-align:center;order:3}.music{right:17px;bottom:17px}.closing-monogram{margin-top:50px}}@media(max-width:420px){.hero-art{height:490px}.hero-date{gap:12px;letter-spacing:1px}.hero h1{font-size:85px}.image-caption{font-size:6px;left:26px;right:26px}.header-link{font-size:8px;letter-spacing:1.5px}.guest h2{font-size:49px}.couple{gap:25px}.desktop{display:none}.share-actions .button{gap:12px;padding:14px 16px}.hero{padding-left:6%;padding-right:6%}.guest-top{font-size:5px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.donation{text-align:center;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--forest),#142c23)}.donation>.eyebrow{margin-bottom:25px}.donation-card{max-width:680px;margin:30px auto 0;padding:30px 22px;border:1px solid var(--line)}.donation-card label{display:block;font-size:9px;letter-spacing:2px;color:var(--gold);margin-bottom:18px}.donation-card input{display:block;width:100%;border:0;background:transparent;color:var(--cream);font:clamp(10px,2.7vw,15px)/1.8 monospace;text-align:center;padding:8px 0;margin:0 0 22px;border-radius:0}.donation-card input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}@media(max-width:420px){.donation-card{padding:24px 12px}}
