:root{--ink:#0a0a0a;--ink-1:#0d0c0e;--ink-2:#131116;--ink-3:#19161d;--ink-line:#d9ad3c29;--ink-line-2:#ffffff0f;--gold:#d9ad3c;--gold-bright:#fcefab;--gold-deep:#9a6b1e;--gold-soft:#c9a24a;--champagne:#e8d8b0;--gold-grad:linear-gradient(177deg,#9a6b1e 0%,#e8c45e 28%,#fcefab 50%,#d9ad3c 72%,#8f6620 100%);--gold-line:linear-gradient(90deg,transparent,#d9ad3ca6 18%,#fcefab 50%,#d9ad3ca6 82%,transparent);--rule-color:#d9ad3c8c;--tx:#f4eee4e6;--tx-soft:#eee7db9e;--tx-dim:#e8e1d666;--tx-faint:#e8e1d638;--font-display:"Cormorant Garamond", Georgia, serif;--font-body:"Jost", system-ui, sans-serif;--font-script:"Pinyon Script", cursive;--reveal-y:34px;--reveal-dur:1.1s;--parallax:1;--maxw:1180px;--pad:clamp(22px, 5vw, 64px);--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:26px;--r-pill:999px}html[data-type=playfair]{--font-display:"Playfair Display", Georgia, serif;--font-body:"Jost", system-ui, sans-serif}html[data-type=garamond]{--font-display:"EB Garamond", Georgia, serif;--font-body:"EB Garamond", Georgia, serif}html[data-gold=solid]{--gold-grad:linear-gradient(180deg,#e7c45f,#d9ad3c);--rule-color:#d9ad3cb3}html[data-gold=champagne]{--gold-grad:linear-gradient(180deg,#d8c9a0,#efe4c4 50%,#cdbb8e);--gold-line:linear-gradient(90deg,transparent,#e8d8b08c 20%,#efe4c4 50%,#e8d8b08c 80%,transparent);--rule-color:#e8d8b099;--gold:#e2d3ab;--gold-bright:#f5ecd2}html[data-motion=subtle]{--reveal-y:14px;--reveal-dur:.76s;--parallax:.35}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--ink);color:var(--tx);font-family:var(--font-body);letter-spacing:.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-weight:300;line-height:1.7;overflow-x:hidden}::selection{color:#fff;background:#d9ad3c47}.atmos{z-index:0;pointer-events:none;position:fixed;inset:0}.atmos .grain{opacity:.035;mix-blend-mode:screen;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/></svg>");position:absolute;inset:-50%}.atmos .vignette{opacity:0;background:radial-gradient(120% 90% at 50% -10%,#d9ad3c1a,#0000 55%),radial-gradient(120% 120% at 50% 110%,#9a6b1e1a,#0000 55%),radial-gradient(100% 100%,#0000 55%,#0009 100%);transition:opacity 1.2s;position:absolute;inset:0}.atmos .particles{opacity:0;width:100%;height:100%;transition:opacity 1.2s;position:absolute;inset:0}html[data-atmos=vignette] .vignette{opacity:1}html[data-atmos=particles] .vignette{opacity:.7}html[data-atmos=particles] .particles{opacity:1}.page{z-index:1;position:relative}.wrap{width:100%;max-width:var(--maxw);padding-inline:var(--pad);margin-inline:auto}.narrow{max-width:760px}section{position:relative}.eyebrow{font-family:var(--font-body);letter-spacing:.42em;text-transform:uppercase;color:var(--gold-soft);font-size:clamp(11px,1.05vw,13px);font-weight:400}.gold-text{background:var(--gold-grad);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.s-title{font-family:var(--font-display);letter-spacing:.005em;margin:0;font-size:clamp(34px,5.2vw,62px);font-weight:500;line-height:1.04}.s-title.italic{font-style:italic;font-weight:400}.rule{align-items:center;gap:14px;display:inline-flex}.rule .line{background:var(--gold-line);width:0;height:1px;transition:width 1.4s cubic-bezier(.2,.7,.2,1)}.rule .dot{background:var(--gold);opacity:.9;flex:none;width:5px;height:5px;rotate:45deg}.reveal.in .rule .line{width:var(--rule-w,90px)}.reveal{opacity:0;transform:translateY(var(--reveal-y));transition:opacity var(--reveal-dur) cubic-bezier(.2,.7,.2,1), transform var(--reveal-dur) cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}.reveal[data-d="1"]{transition-delay:.12s}.reveal[data-d="2"]{transition-delay:.24s}.reveal[data-d="3"]{transition-delay:.36s}.reveal[data-d="4"]{transition-delay:.48s}.reveal[data-d="5"]{transition-delay:.6s}@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}.rule .line{width:var(--rule-w,90px)!important}html{scroll-behavior:auto}}.btns{flex-wrap:wrap;gap:16px;display:flex}.btn{--bg:transparent;font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--ink);cursor:pointer;isolation:isolate;background:var(--gold-grad);border-radius:var(--r-md);border:0;align-items:center;gap:11px;padding:16px 30px;font-size:13px;font-weight:400;text-decoration:none;transition:transform .5s cubic-bezier(.2,.7,.2,1),filter .4s,box-shadow .5s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 10px 26px -18px #d9ad3c73}.btn svg{width:16px;height:16px}.btn:after{content:"";z-index:-1;background:linear-gradient(120deg,#0000 20%,#ffffffb3 50%,#0000 80%);transition:transform .9s;position:absolute;inset:0;transform:translate(-130%)}.btn:hover{transform:translateY(-3px);box-shadow:0 16px 36px -20px #d9ad3c8c}.btn:hover:after{transform:translate(130%)}.btn.ghost{color:var(--gold-bright);box-shadow:none;background:#d9ad3c12;border:1px solid #d9ad3c80}.btn.ghost:after{display:none}.btn.ghost:hover{border-color:var(--gold);color:var(--gold-bright);background:#d9ad3c29}.btn.sm{letter-spacing:.2em;padding:13px 22px;font-size:11px}.hero{text-align:center;min-height:100svh;padding:clamp(80px,12vh,140px) var(--pad) clamp(60px,9vh,110px);place-items:center;display:grid;overflow:hidden}.hero-glow{aspect-ratio:1;filter:blur(6px);z-index:0;pointer-events:none;background:radial-gradient(circle,#d9ad3c29,#d9ad3c0d 38%,#0000 66%);border-radius:50%;width:min(900px,120vw);position:absolute;top:34%;left:50%;translate:-50% -50%}.hero-inner{z-index:1;flex-direction:column;align-items:center;display:flex;position:relative}.logo-emblem{filter:drop-shadow(0 8px 30px #d9ad3c38);width:clamp(150px,22vw,252px);height:auto;display:block}.logo-emblem use{transform-box:fill-box}.hero-names{filter:drop-shadow(0 6px 22px #d9ad3c2e);width:clamp(280px,56vw,660px);height:auto;margin-top:clamp(6px,1.6vw,18px)}.save-the-date{margin-top:clamp(26px,4vw,40px)}.date-line{font-family:var(--font-display);justify-content:center;align-items:center;gap:clamp(16px,3vw,30px);display:flex}.date-line .d{letter-spacing:.02em;font-size:clamp(40px,8.5vw,104px);font-weight:300;line-height:1}.date-line .sep{background:linear-gradient(180deg,transparent,var(--rule-color),transparent);width:1px;height:clamp(40px,7vw,82px)}.date-sub{margin-top:16px}.verse{max-width:540px;margin-top:clamp(30px,5vw,48px)}.verse p{font-family:var(--font-display);color:var(--tx-soft);margin:0 0 10px;font-size:clamp(16px,1.9vw,21px);font-style:italic;font-weight:400;line-height:1.65}.verse cite{font-style:normal;font-family:var(--font-body);letter-spacing:.28em;text-transform:uppercase;color:var(--gold-soft);font-size:12px}.hero .btns{justify-content:center;margin-top:clamp(34px,5vw,52px)}.scroll-cue{z-index:2;color:var(--tx-dim);letter-spacing:.3em;text-transform:uppercase;flex-direction:column;align-items:center;gap:9px;font-size:10px;display:flex;position:absolute;bottom:26px;left:50%;translate:-50%}.scroll-cue .bar{background:linear-gradient(180deg,var(--rule-color),transparent);width:1px;height:46px;position:relative;overflow:hidden}.scroll-cue .bar:after{content:"";background:linear-gradient(180deg,var(--gold-bright),transparent);width:100%;height:50%;animation:2.4s ease-in-out infinite cueDrop;position:absolute;top:-50%;left:0}@keyframes cueDrop{0%{transform:translateY(-100%)}60%,to{transform:translateY(300%)}}html[data-hero=split] .hero{text-align:left}@media (width>=900px){html[data-hero=split] .hero-inner{width:100%;max-width:var(--maxw);flex-direction:row;justify-content:center;align-items:center;gap:clamp(40px,6vw,90px)}html[data-hero=split] .hero-col-a{flex-direction:column;flex:none;align-items:center;display:flex}html[data-hero=split] .hero-col-b{border-left:1px solid var(--ink-line);flex-direction:column;flex:1 1 0;align-items:flex-start;min-width:0;max-width:520px;padding-left:clamp(34px,5vw,64px);display:flex}html[data-hero=split] .hero-col-b .date-line,html[data-hero=split] .hero-col-b .btns{justify-content:flex-start}html[data-hero=split] .hero-col-b .verse{text-align:left}}html:not([data-hero=split]) .hero-col-a,html:not([data-hero=split]) .hero-col-b{display:contents}.sec{padding-block:clamp(90px,14vh,168px)}.sec-head{text-align:center;flex-direction:column;align-items:center;gap:18px;margin-bottom:clamp(46px,7vw,72px);display:flex}.sec-head .eyebrow{margin-bottom:2px}.watermark{z-index:0;font-family:var(--font-display);color:#0000;-webkit-text-stroke:1px #d9ad3c0d;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;place-items:center;font-size:clamp(220px,42vw,560px);font-style:italic;font-weight:400;line-height:1;display:grid;position:absolute;inset:0}.sec>.wrap{z-index:1;position:relative}.countdown{background:linear-gradient(180deg, transparent, #d9ad3c06 50%, transparent), var(--ink)}.cd-grid{grid-template-columns:repeat(4,1fr);gap:clamp(10px,2.4vw,30px);max-width:760px;margin-inline:auto;display:grid}.cd-cell{text-align:center;padding:clamp(16px,2.5vw,26px) 6px;position:relative}.cd-cell+.cd-cell:before{content:"";background:linear-gradient(180deg,transparent,var(--ink-line),transparent);width:1px;position:absolute;top:22%;bottom:22%;left:calc(-1*clamp(5px,1.2vw,15px))}.cd-num{font-family:var(--font-display);letter-spacing:.01em;font-variant-numeric:tabular-nums;font-size:clamp(44px,9vw,96px);font-weight:300;line-height:1}.cd-num .flip{opacity:1;transition:opacity .4s,transform .5s cubic-bezier(.2,.7,.2,1);display:inline-block}.cd-num .flip.tick{animation:.55s cubic-bezier(.2,.7,.2,1) tick}@keyframes tick{0%{opacity:.25;transform:translateY(-.16em)rotateX(35deg)}to{opacity:1;transform:none}}.cd-label{letter-spacing:.34em;text-transform:uppercase;color:var(--tx-dim);margin-top:12px;font-size:clamp(9px,1vw,11px)}.cd-foot{text-align:center;color:var(--tx-soft);font-family:var(--font-display);margin-top:clamp(34px,5vw,46px);font-size:clamp(17px,2vw,22px);font-style:italic}.story .wrap{max-width:820px}.timeline-chip{border:1px solid var(--ink-line);letter-spacing:.26em;text-transform:uppercase;color:var(--gold-soft);border-radius:100px;align-items:center;gap:12px;margin-bottom:30px;padding:9px 18px;font-size:11px;display:inline-flex}.timeline-chip .pulse{background:var(--gold);border-radius:50%;width:6px;height:6px;animation:2.6s infinite pulse;box-shadow:0 0 #d9ad3c80}@keyframes pulse{0%{box-shadow:0 0 #d9ad3c73}70%{box-shadow:0 0 0 9px #d9ad3c00}to{box-shadow:0 0 #d9ad3c00}}.letter{font-family:var(--font-display);color:var(--tx-soft);font-size:clamp(17px,1.9vw,21px);font-weight:400;line-height:1.85}.letter p{text-wrap:pretty;margin:0 0 1.25em}.letter p:first-of-type{color:var(--tx);font-size:1.08em}.letter .drop:first-letter{float:left;background:var(--gold-grad);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;padding:.06em .12em 0 0;font-size:3.1em;font-weight:500;line-height:.78}.letter strong{color:var(--gold-soft);letter-spacing:.02em;font-weight:600}.letter em{color:var(--tx)}.details-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(18px,2.4vw,28px);display:grid}.detail-card{background:linear-gradient(180deg, #ffffff05, transparent), var(--ink-2);border:1px solid var(--ink-line);border-radius:var(--r-lg);padding:clamp(30px,3.6vw,46px);position:relative;overflow:hidden}.detail-card:before{content:"";background:var(--gold-line);opacity:.7;height:1px;position:absolute;top:0;left:0;right:0}.detail-card .ico{width:42px;height:42px;color:var(--gold);margin-bottom:22px}.detail-card .ico svg{width:100%;height:100%}.detail-card h3{font-family:var(--font-display);margin:0 0 6px;font-size:clamp(24px,2.6vw,32px);font-weight:500}.detail-card .when{font-family:var(--font-display);color:var(--gold-soft);margin-bottom:18px;font-size:19px;font-style:italic}.detail-meta{flex-direction:column;gap:15px;display:flex}.detail-meta .row{color:var(--tx-soft);grid-template-columns:74px 1fr;align-items:baseline;gap:14px;font-size:15px;display:grid}.detail-meta .row .k{letter-spacing:.24em;text-transform:uppercase;color:var(--tx-dim);font-size:10px}.tbc{color:var(--gold-soft);border-bottom:1px dotted #d9ad3c66}.details-note{text-align:center;color:var(--tx-dim);font-family:var(--font-display);margin-top:clamp(30px,4vw,42px);font-size:18px;font-style:italic}.gift-card{text-align:center;border:1px solid var(--ink-line);border-radius:var(--r-xl);background:radial-gradient(120% 100% at 50% 0%, #d9ad3c0f, transparent 60%), var(--ink-2);max-width:640px;margin-inline:auto;padding:clamp(40px,5vw,64px) clamp(28px,4vw,56px);position:relative;overflow:hidden}.gift-card .seal{width:64px;height:64px;color:var(--gold);background:radial-gradient(circle at 50% 30%,#d9ad3c2e,#0000 70%);border:1px solid #d9ad3c66;border-radius:50%;place-items:center;margin:0 auto 26px;display:grid}.gift-card .seal svg{width:28px;height:28px}.gift-card p{color:var(--tx-soft);font-family:var(--font-display);max-width:440px;margin:0 auto 30px;font-size:clamp(18px,2.1vw,22px);font-style:italic;line-height:1.6}.gift-card .btn{margin-top:6px}.gift-card .wl{letter-spacing:.06em;color:var(--tx-dim);margin-top:20px;font-size:12px;display:block}.gift-card .wl a{color:var(--gold-soft);border-bottom:1px solid #d9ad3c4d;text-decoration:none}.gift-card .gift-note{font-style:normal;font-family:var(--font-body);color:var(--tx-dim);max-width:440px;margin:30px auto 0;font-size:13.5px;line-height:1.7}.pix-intro{text-align:center;max-width:660px;color:var(--tx-soft);font-family:var(--font-display);margin:0 auto clamp(48px,6vw,64px);font-size:clamp(17px,2vw,21px);font-style:italic;line-height:1.65}.pix-grid{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:clamp(14px,1.8vw,22px);display:grid}@media (width<=820px){.pix-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=540px){.pix-grid{grid-template-columns:1fr}}.pix-card{border:1px solid var(--ink-line);background:var(--ink-2);border-radius:var(--r-lg);flex-direction:column;padding:clamp(26px,3vw,38px) clamp(22px,2.4vw,30px);transition:transform .5s cubic-bezier(.2,.7,.2,1),border-color .5s,background .5s;display:flex;position:relative;overflow:hidden}.pix-card:after{content:"";pointer-events:none;z-index:0;opacity:0;background:radial-gradient(120% 80% at 50% -10%,#d9ad3c1f,#0000 60%);transition:opacity .5s;position:absolute;inset:0}.pix-card:hover{border-color:#d9ad3c73;transform:translateY(-5px)}.pix-card:hover:after{opacity:1}.pix-card.feature{background:linear-gradient(180deg, #d9ad3c14, var(--ink-3));border-color:#d9ad3c66}.pix-card.feature .pix-val{-webkit-text-fill-color:transparent}.pix-tag{letter-spacing:.24em;text-transform:uppercase;color:var(--ink);background:var(--gold-grad);padding:5px 10px;font-size:9px;position:absolute;top:16px;right:16px}.pix-val{font-family:var(--font-display);background:var(--gold-grad);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:16px;font-size:clamp(30px,4vw,44px);font-weight:400;line-height:1}.pix-card p{color:var(--tx-soft);flex:auto;margin:0 0 24px;font-size:14.5px;line-height:1.65}.pix-card>*{z-index:1;position:relative}.pix-card .pix-cta{justify-content:center;width:100%;margin-top:auto;transition:transform .45s cubic-bezier(.2,.7,.2,1),background .35s,border-color .35s,color .35s,box-shadow .45s}.pix-card .pix-cta:hover{background:var(--gold-grad);color:var(--ink);border-color:#0000;transform:translateY(-2px);box-shadow:0 12px 26px -14px #d9ad3c99}.pix-card .pix-cta:active{transform:translateY(0)}.pix-foot{text-align:center;max-width:560px;color:var(--tx-dim);font-family:var(--font-display);margin:clamp(44px,6vw,60px) auto 0;font-size:clamp(16px,1.9vw,20px);font-style:italic;line-height:1.6}.closing{padding-block:clamp(90px,14vh,160px)}.quote-panel{text-align:center;border-radius:var(--r-xl);background:linear-gradient(150deg,#d9ad3c1a,#9a6b1e0a 45%,#d9ad3c14);border:1px solid #d9ad3c66;max-width:880px;margin-inline:auto;padding:clamp(48px,7vw,90px) clamp(30px,6vw,80px);position:relative;overflow:hidden}.quote-panel .corner{border:1px solid var(--gold);opacity:.5;width:30px;height:30px;position:absolute}.quote-panel .corner.tl{border-bottom:0;border-right:0;top:16px;left:16px}.quote-panel .corner.tr{border-bottom:0;border-left:0;top:16px;right:16px}.quote-panel .corner.bl{border-top:0;border-right:0;bottom:16px;left:16px}.quote-panel .corner.br{border-top:0;border-left:0;bottom:16px;right:16px}.quote-panel .mark{font-family:var(--font-display);color:var(--gold);opacity:.35;height:30px;font-size:90px;line-height:0;display:block}.quote-panel blockquote{font-family:var(--font-display);color:var(--tx);margin:0;font-size:clamp(19px,2.6vw,29px);font-style:italic;font-weight:400;line-height:1.55}.quote-panel cite{font-style:normal;font-family:var(--font-body);letter-spacing:.3em;text-transform:uppercase;color:var(--gold-soft);margin-top:34px;font-size:12px;display:block}.foot{padding:clamp(70px,9vw,110px) var(--pad) clamp(40px,5vw,60px);text-align:center;border-top:1px solid var(--ink-line-2)}.foot .emblem{opacity:.9;width:92px;height:auto;margin:0 auto 26px}.foot .fr-name{font-family:var(--font-display);font-size:clamp(26px,3.4vw,38px);font-weight:500}.foot .fr-sub{letter-spacing:.34em;text-transform:uppercase;color:var(--tx-dim);margin-top:12px;font-size:11px}.foot .fr-love{font-family:var(--font-script);color:var(--gold-soft);margin-top:30px;font-size:clamp(30px,4vw,46px);line-height:1}.toast{z-index:90;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--r-md);max-width:min(90vw,440px);color:var(--tx);font-family:var(--font-body);letter-spacing:.02em;opacity:0;pointer-events:none;background:#131116eb;border:1px solid #d9ad3c66;padding:15px 24px;font-size:13.5px;transition:opacity .5s,translate .5s cubic-bezier(.2,.7,.2,1);position:fixed;bottom:30px;left:50%;translate:-50% 14px;box-shadow:0 24px 60px -20px #000c}.toast.show{opacity:1;translate:-50%}.modal{z-index:80;opacity:0;pointer-events:none;place-items:center;padding:20px;transition:opacity .4s;display:grid;position:fixed;inset:0}.modal.open{opacity:1;pointer-events:auto}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#040406c7;position:absolute;inset:0}.modal-card{z-index:1;text-align:center;border-radius:var(--r-xl);background:linear-gradient(#19161dfa,#0d0c0efa);border:1px solid #d9ad3c66;width:min(420px,100%);max-height:calc(100vh - 40px);padding:clamp(28px,4vw,40px);transition:transform .5s cubic-bezier(.2,.7,.2,1);position:relative;overflow-y:auto;transform:translateY(16px)scale(.98);box-shadow:0 40px 100px -30px #000000e6}.modal.open .modal-card{transform:none}.modal-x{border-radius:var(--r-pill);border:1px solid var(--ink-line);width:34px;height:34px;color:var(--tx-soft);cursor:pointer;background:#ffffff0d;place-items:center;font-size:20px;line-height:1;transition:background .3s,color .3s;display:grid;position:absolute;top:14px;right:16px}.modal-x:hover{color:var(--gold-bright);background:#d9ad3c24}.modal-eyebrow{letter-spacing:.34em;text-transform:uppercase;color:var(--gold-soft);font-size:11px}.modal-title{font-family:var(--font-display);margin:8px 0 2px;font-size:clamp(24px,3vw,30px);font-weight:500}.modal-amount{font-family:var(--font-display);color:var(--tx-soft);margin-bottom:18px;font-size:16px;font-style:italic}.qr-frame{border-radius:var(--r-lg);background:#fff;width:204px;margin:0 auto 16px;padding:11px;box-shadow:0 10px 30px -12px #0009}.qr-img{border-radius:6px;width:100%;height:auto;display:block}.modal-hint{color:var(--tx-dim);max-width:300px;margin:0 auto 14px;font-size:13px;line-height:1.55}.pix-code{border-radius:var(--r-md);border:1px solid var(--ink-line);background:#00000059;align-items:center;margin-bottom:18px;padding:12px 14px;display:flex}.pix-code code{color:var(--tx-soft);word-break:break-all;text-align:left;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.5}.modal-card .btn{justify-content:center;width:100%}.modal-key{letter-spacing:.04em;color:var(--tx-dim);margin-top:16px;font-size:12px}.modal-key strong{color:var(--gold-soft);font-weight:500}.logo-defs{width:0;height:0;position:absolute;overflow:hidden}
