:root{--serif:"Cormorant Garamond", "Playfair Display", Georgia, serif;--script:"Great Vibes", cursive;--ink-h:#3c2e22;--ink-soft:#6f6155;--bg-page-1:#f6ece2;--bg-page-2:#efe0cf;--card-bg:#fffdf8;--gold:#ab8a4e;--gold-line:#e6d6b8;--wine:#7c2d3b;--section-alt-bg:#e6d6b838;--card-shadow:0 20px 45px -20px #3c2e2259, 0 2px 8px #3c2e2214;font:18px/145% var(--serif);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink-soft);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}body{background:radial-gradient(circle at 50% 0%, var(--bg-page-1), var(--bg-page-2) 70%);min-height:100svh;margin:0;overflow-x:hidden}#root{min-height:100svh}section[id]{scroll-margin-top:72px}h1,h2,h3{font-family:var(--serif);color:var(--ink-h);margin:0}p{margin:0}a{font-family:inherit}.navbar{z-index:100;height:72px;position:fixed;top:0;left:0;right:0}.navbar-inner{box-sizing:border-box;background:#fffdf800;border-bottom:1px solid #e6d6b800;justify-content:space-between;align-items:center;height:100%;padding:0 32px;transition:background-color .3s,border-color .3s;display:flex}.navbar-inner.is-scrolled{border-bottom-color:var(--gold-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf8f0}.nav-brand{text-decoration:none}.nav-monogram{font-family:"Playfair Display", var(--serif);letter-spacing:1px;color:var(--wine);font-size:22px;font-weight:600}.nav-monogram-amp{font-family:var(--script);color:var(--gold);margin:0 3px;font-size:26px}.nav-links{gap:30px;margin:0;padding:0;list-style:none;display:flex}.nav-links a{font-family:var(--serif);letter-spacing:1px;text-transform:uppercase;color:var(--ink-h);padding-bottom:4px;font-size:15px;text-decoration:none;position:relative}.nav-links a:after{content:"";background:var(--gold);height:1px;transition:right .25s;position:absolute;bottom:0;left:0;right:100%}.nav-links a:hover:after{right:0}.nav-toggle{cursor:pointer;z-index:101;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;padding:0;display:none}.nav-toggle span{background:var(--ink-h);width:100%;height:1.5px;transition:transform .25s,opacity .25s;display:block}.nav-toggle.is-open span:first-child{transform:translateY(6.5px)rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.nav-mobile{display:none}@media (width<=860px){.nav-links{display:none}.nav-toggle{display:flex}.nav-mobile{background:var(--card-bg);transition:transform .3s;display:block;position:fixed;inset:72px 0 0;transform:translate(100%)}.nav-mobile.is-open{transform:translate(0)}.nav-mobile ul{flex-direction:column;gap:28px;margin:0;padding:40px 32px;list-style:none;display:flex}.nav-mobile a{font-family:var(--serif);letter-spacing:1px;color:var(--ink-h);font-size:22px;text-decoration:none}}.hero-section{box-sizing:border-box;justify-content:center;align-items:center;min-height:100svh;padding:100px 20px 60px;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;position:absolute;inset:0}.hero-orb{filter:blur(60px);opacity:.55;border-radius:50%;position:absolute}.hero-orb-1{background:radial-gradient(circle,#f3dfc0,#0000 70%);width:420px;height:420px;top:-120px;left:-100px}.hero-orb-2{background:radial-gradient(circle,#e9c9d1,#0000 70%);width:480px;height:480px;bottom:-160px;right:-140px}.hero-cross{width:20px;height:34px;color:var(--gold);opacity:.85;position:absolute;top:90px;left:50%;transform:translate(-50%)}.hero-content{z-index:1;text-align:center;max-width:680px;position:relative}.hero-photo{z-index:1;object-fit:cover;border:8px solid #fffdf8;border-radius:2px;width:220px;height:auto;position:absolute;box-shadow:0 18px 40px #3c281440}.hero-photo-left{top:14%;left:4%}.hero-photo-right{bottom:12%;right:4%}@media (width<=1150px) and (width>=701px){.hero-photo{width:160px}.hero-photo-left{top:8%;left:3%}.hero-photo-right{bottom:8%;right:3%}}@media (width<=700px){.hero-photo{width:118px;top:140px;bottom:auto}.hero-photo-left{margin-left:-124px;left:50%;right:auto}.hero-photo-right{margin-left:6px;left:50%;right:auto}}.hero-eyebrow{font-family:var(--serif);letter-spacing:4px;text-transform:uppercase;color:var(--ink-soft);margin:0 0 18px;font-size:15px}.hero-names{font-family:var(--script);color:var(--wine);margin:0 0 20px;font-size:108px;font-weight:400;line-height:1}.hero-amp{color:var(--gold);vertical-align:middle;margin:0 20px;font-size:.55em}.hero-date{font-family:var(--serif);letter-spacing:1.5px;color:var(--ink-h);margin:0 0 40px;font-size:19px}.countdown{justify-content:center;align-items:center;gap:18px;margin:0 0 44px;display:flex}.countdown-unit{flex-direction:column;align-items:center;min-width:64px;display:flex}.countdown-value{font-family:"Playfair Display", var(--serif);color:var(--ink-h);font-variant-numeric:tabular-nums;font-size:40px;font-weight:600;line-height:1}.countdown-label{font-family:var(--serif);letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-top:8px;font-size:11px}.countdown-sep{font-family:"Playfair Display", var(--serif);color:var(--gold-line);font-size:32px;transform:translateY(-8px)}.hero-cta{font-family:var(--serif);letter-spacing:2px;text-transform:uppercase;color:var(--card-bg);background:var(--wine);border:1px solid var(--wine);cursor:pointer;border-radius:2px;padding:14px 34px;font-size:14px;text-decoration:none;display:inline-block}.scroll-cue{color:var(--gold);display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}@media (width<=700px){.hero-eyebrow{margin-top:24px}.hero-names{font-size:60px}.hero-amp{margin:0 10px}.countdown{gap:10px}.countdown-unit{min-width:48px}.countdown-value{font-size:28px}.countdown-sep{font-size:22px}}.invitation-section{text-align:center;flex-direction:column;align-items:center;max-width:560px;margin:0 auto;padding:100px 24px 140px;display:flex}.invitation-section .section-eyebrow{margin-bottom:12px}.download-btn{font-family:var(--serif);letter-spacing:2px;text-transform:uppercase;color:var(--card-bg);background:var(--wine);border:1px solid var(--wine);cursor:pointer;border-radius:2px;margin-top:28px;padding:13px 28px;font-size:14px;transition:background .2s,color .2s,opacity .2s}.download-btn:hover:not(:disabled){background:var(--gold);border-color:var(--gold)}.download-btn:disabled{opacity:.6;cursor:wait}.card-frame{aspect-ratio:5.5/8.5;width:100%;max-width:560px;position:relative;overflow:hidden;container-type:inline-size}.card{transform-origin:0 0;width:550px;height:850px;transform:scale(calc(100cqw / 550px));background:var(--card-bg);border:1px solid var(--gold-line);box-shadow:var(--card-shadow);box-sizing:border-box;text-align:center;border-radius:3px;flex-direction:column;padding:36px 32px;display:flex;position:absolute;top:0;left:0}.corner{border:1px solid var(--gold);pointer-events:none;width:27px;height:27px;position:absolute}.corner-tl{border-bottom:none;border-right:none;top:10px;left:10px}.corner-tr{border-bottom:none;border-left:none;top:10px;right:10px}.corner-bl{border-top:none;border-right:none;bottom:10px;left:10px}.corner-br{border-top:none;border-left:none;bottom:10px;right:10px}.card-header{flex-direction:column;align-items:center;gap:6px;margin-bottom:14px;display:flex}.cross-icon{width:16px;height:26px;color:var(--gold)}.eyebrow{font-family:var(--serif);letter-spacing:2.4px;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:11px}.card-body{flex-direction:column;flex:1;justify-content:center;align-items:stretch;gap:22px;min-height:0;display:flex}.card-block{flex-direction:column;align-items:center;min-height:0;display:flex}.card-block-top{gap:10px}.card-block-bottom{gap:12px}.card-divider-horizontal{background:var(--gold-line);align-self:center;width:70%;height:1px}.invite-verse,.top-verse{margin:0}.verse{font-family:var(--serif);color:var(--ink-soft);margin:0 0 6px;font-size:14px;font-style:italic;line-height:1.45}.verse-ref{font-family:var(--serif);letter-spacing:1.3px;text-transform:uppercase;color:var(--gold);margin:0;font-size:10px}.parents{margin:0}.parents-line{font-family:var(--serif);color:var(--ink-h);letter-spacing:.3px;margin:0 0 5px;font-size:15px}.joiner{font-family:var(--serif);color:var(--ink-soft);margin:0;font-size:12.5px;font-style:italic}.names{justify-content:center;align-items:baseline;gap:14px;margin:6px 0;display:flex}.name{font-family:var(--script);color:var(--wine);margin:0;font-size:62px;font-weight:400;line-height:1}.amp{font-family:var(--script);color:var(--gold);font-size:32px}.son-of{font-family:var(--serif);color:var(--ink-soft);margin:0;font-size:12.5px;font-style:italic}.divider{color:var(--gold);justify-content:center;margin:0;display:flex}.floral-divider{width:120px;height:14px}.date-block{margin:0}.date-block .day{font-family:var(--serif);letter-spacing:2.6px;text-transform:uppercase;color:var(--gold);margin:0 0 5px;font-size:12px}.date-block .date-num{font-family:var(--serif);color:var(--ink-h);margin:0;font-size:40px;font-weight:500;line-height:1}.date-block .month-year{font-family:var(--serif);letter-spacing:.8px;color:var(--ink-h);margin:6px 0 0;font-size:14px}.events{justify-content:center;align-items:flex-start;width:100%;display:flex}.event{flex:1 1 0;min-width:0}.event h3{font-family:var(--serif);letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin:0 0 6px;font-size:12px;font-weight:600}.event-time{font-family:var(--serif);color:var(--ink-h);margin:0 0 5px;font-size:18px}.event-venue{font-family:var(--serif);color:var(--ink-h);margin:0 0 3px;font-size:14px;font-weight:600}.event-address{font-family:var(--serif);color:var(--ink-soft);margin:0;font-size:12px;line-height:1.35}.event-dinner{border-top:1px solid #ab8a4e4d;margin-top:10px;padding-top:10px}.event-dinner-label{font-family:var(--serif);letter-spacing:1.6px;text-transform:uppercase;color:var(--gold);margin-bottom:4px;font-size:10.5px;font-weight:600;display:inline-block}.event-dinner-venue{font-family:var(--serif);color:var(--ink-h);margin:0 0 3px;font-size:13px;font-weight:600}.event-dinner-address{font-family:var(--serif);color:var(--ink-soft);margin:0;font-size:11.5px;line-height:1.35}.card-footer{border-top:1px solid var(--gold-line);margin-top:16px;padding-top:14px}.blessing{font-family:var(--serif);color:var(--ink-soft);margin:0 0 4px;font-size:12px;font-style:italic;line-height:1.4}.blessing-ref{font-family:var(--serif);letter-spacing:1.4px;text-transform:uppercase;color:var(--gold);margin:0;font-size:10px}.wedding-day-section{text-align:center;max-width:900px;margin:0 auto;padding:120px 24px}.wedding-day-heading{font-family:"Playfair Display", var(--serif);color:var(--ink-h);margin:0 0 56px;font-size:34px;font-weight:600}.event-cards{flex-wrap:wrap;justify-content:center;gap:32px;display:flex}.event-card{background:var(--card-bg);border:1px solid var(--gold-line);max-width:340px;box-shadow:var(--card-shadow);border-radius:6px;flex:300px;padding:40px 28px}.event-card-icon{color:var(--gold);margin-bottom:16px;display:inline-flex}.event-card h3{font-family:var(--serif);letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin:0 0 14px;font-size:14px;font-weight:600}.event-card-time{font-family:"Playfair Display", var(--serif);color:var(--ink-h);margin:0 0 10px;font-size:26px;font-weight:600}.event-card-venue{font-family:var(--serif);color:var(--ink-h);margin:0 0 4px;font-size:18px;font-weight:600}.event-card-address{font-family:var(--serif);color:var(--ink-soft);margin:0 0 20px;font-size:15px;line-height:1.5}.event-card-dinner{border-top:1px solid #ab8a4e4d;margin:0 0 26px;padding-top:16px}.event-card-dinner-label{font-family:var(--serif);letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:6px;font-size:12px;font-weight:600;display:inline-block}.event-card-dinner-venue{font-family:var(--serif);color:var(--ink-h);margin:0 0 4px;font-size:16px;font-weight:600}.event-card-dinner-address{font-family:var(--serif);color:var(--ink-soft);margin:0 0 10px;font-size:14px;line-height:1.4}.event-card-dinner-link{font-family:var(--serif);color:var(--wine);text-underline-offset:2px;font-size:13px;font-weight:600;text-decoration:underline;display:inline-block}.event-card-actions{flex-direction:column;gap:12px;display:flex}.event-btn{font-family:var(--serif);letter-spacing:1.5px;text-transform:uppercase;color:var(--card-bg);background:var(--wine);border:1px solid var(--wine);border-radius:2px;padding:11px 20px;font-size:13px;text-decoration:none;transition:background .2s,color .2s,border-color .2s}.event-btn:hover{background:var(--gold);border-color:var(--gold)}.event-btn-ghost{color:var(--wine);background:0 0}.event-btn-ghost:hover{background:var(--wine);color:var(--card-bg);border-color:var(--wine)}@media (width<=700px){.wedding-day-section{padding:80px 20px}.wedding-day-heading{font-size:26px}}.contact-section{text-align:center;max-width:600px;margin:0 auto;padding:120px 24px 80px}.contact-cross{width:18px;height:30px;color:var(--gold);margin-bottom:20px}.contact-heading{font-family:"Playfair Display", var(--serif);color:var(--ink-h);margin:0 0 48px;font-size:30px;font-weight:600}.contact-signoff{font-family:var(--script);color:var(--wine);border-top:1px solid var(--gold-line);padding-top:32px;font-size:32px}.amp-small{color:var(--gold);margin:0 10px}.section-eyebrow{font-family:var(--serif);letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin:0 0 12px;font-size:14px}.section-alt{background:var(--section-alt-bg)}
