@font-face{font-family:Cormorant;src:url(/fonts/cormorant.woff2)format("woff2-variations");font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:Great Vibes;src:url(/fonts/greatvibes.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Mont;src:url(/fonts/montserrat.woff2)format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}:root{--ivory:#f7f3ea;--paper:#fcf9f2;--navy:#1d2a44;--navy-soft:#1d2a449e;--navy-faint:#1d2a4429;--copper:#c26e3f;--copper-dim:#c26e3f80;--copper-faint:#c26e3f24;--serif:"Cormorant", "Times New Roman", serif;--sans:"Mont", "Helvetica Neue", Arial, sans-serif;--script:"Great Vibes", cursive}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background: repeating-linear-gradient(0deg, #1d2a4404 0 1px, transparent 1px 3px), var(--ivory);color:var(--navy);font-family:var(--serif);-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.6;overflow-x:hidden}.page{max-width:560px;margin:0 auto;padding:0 20px 10px}::selection{background:var(--navy);color:var(--ivory)}.hero{text-align:center;justify-content:center;align-items:center;min-height:100svh;padding:56px 8px;display:flex}.hero-inner{width:100%;max-width:400px}.buta-pair{width:min(268px,82%);color:var(--copper);margin:26px auto 8px;display:block}.buta-stroke{stroke-dasharray:1;stroke-dashoffset:1px}.hero .buta-stroke{animation:1.7s cubic-bezier(.5,0,.3,1) forwards butaDraw}.hero .b1{animation-delay:.3s}.hero .b2{animation-duration:1.3s;animation-delay:.8s}.hero .b3{animation-duration:.9s;animation-delay:1.15s}@keyframes butaDraw{to{stroke-dashoffset:0}}.hero .buta-dot{opacity:0;animation:.6s 1.35s forwards dotIn}@keyframes dotIn{to{opacity:1}}.reveal .buta-stroke{transition:stroke-dashoffset 1.5s cubic-bezier(.5, 0, .3, 1) var(--d,0s)}.reveal.in .buta-stroke{stroke-dashoffset:0}.fade-up{opacity:0;animation:.9s cubic-bezier(.2,.7,.3,1) forwards fadeUp;animation-delay:var(--d,0s);transform:translateY(16px)}@keyframes fadeUp{to{opacity:1;transform:none}}.label{font-family:var(--sans);letter-spacing:.4em;text-transform:uppercase;color:var(--copper);padding-left:.4em;font-size:11px;font-weight:600}.hero-names{flex-direction:column;align-items:center;margin-top:6px;font-weight:500;line-height:1.1;display:flex}.hero-names .name{font-family:var(--serif);letter-spacing:.06em;color:var(--navy);font-size:clamp(44px,13vw,58px);font-weight:500;display:block}.hero-names .amp{font-family:var(--script);color:var(--copper);margin:12px 0 10px;font-size:clamp(28px,8vw,36px);line-height:1}.hero-date{font-family:var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--navy-soft);font-variant-numeric:tabular-nums;margin-top:24px;padding-left:.24em;font-size:12px;font-weight:500}.hero-venue{color:var(--navy-soft);margin-top:12px;font-size:17px;font-style:italic}.section{padding:56px 0}.center{text-align:center}.strip{width:min(336px,88%);height:26px;margin:0 auto;display:block}.reveal{opacity:0;transition:opacity .75s ease var(--d,0s), transform .75s cubic-bezier(.2, .7, .3, 1) var(--d,0s);transform:translateY(18px)}.reveal.in{opacity:1;transform:none}.reveal.r-scale{transform:translateY(12px)scale(.96)}.reveal.r-scale.in{transform:none}.invite-card{background:var(--paper);border:1px solid var(--navy-faint);max-width:430px;margin:28px auto 0;padding:44px 28px;position:relative;box-shadow:0 14px 40px #1d2a4412}.corner{width:30px;height:30px;color:var(--copper);opacity:.85;position:absolute}.corner svg{width:100%;height:100%;display:block}.c-tl{top:9px;left:9px}.c-tr{top:9px;right:9px;transform:scaleX(-1)}.c-bl{bottom:9px;left:9px;transform:scaleY(-1)}.c-br{bottom:9px;right:9px;transform:scale(-1)}.invite-text{color:var(--navy);font-size:17px;line-height:1.85}.invite-names{font-family:var(--serif);letter-spacing:.04em;color:var(--navy);justify-content:center;align-items:baseline;gap:12px;margin:20px 0;font-size:30px;font-weight:600;display:flex}.inv-amp{font-family:var(--script);color:var(--copper);font-size:24px;font-style:normal}.countdown{justify-content:center;gap:10px;margin-top:30px;display:flex}.cd-niche{background:var(--paper);border:1px solid var(--navy-faint);border-radius:38px 38px 8px 8px;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:76px;min-height:100px;padding:20px 4px 12px;display:flex;box-shadow:0 8px 22px #1d2a440f}.cd-num{font-family:var(--serif);color:var(--navy);font-variant-numeric:tabular-nums;font-size:33px;font-weight:600;line-height:1}.cd-label{font-family:var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--copper);font-size:9.5px;font-weight:600}.cd-done{font-family:var(--script);color:var(--copper);margin-top:30px;font-size:44px}.cd-date{font-family:var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--navy-soft);font-variant-numeric:tabular-nums;margin-top:22px;padding-left:.24em;font-size:11.5px;font-weight:500}.plan{text-align:left;flex-direction:column;gap:12px;max-width:390px;margin:32px auto 0;display:flex;position:relative}.plan-rail{background:linear-gradient(180deg, transparent, var(--navy-faint) 10%, var(--navy-faint) 90%, transparent);width:1px;position:absolute;top:10px;bottom:10px;left:14px}.plan-row{padding-left:48px;position:relative}.plan-node{width:25px;height:31px;color:var(--copper);background:var(--ivory);pointer-events:none;padding:2px 0;position:absolute;top:50%;left:2px;transform:translateY(-50%)}.plan-node svg{width:100%;height:100%;display:block}.plan-btn{text-align:left;background:var(--paper);border:1px solid var(--navy-faint);cursor:pointer;width:100%;min-height:76px;color:inherit;font:inherit;border-radius:4px;flex-direction:column;gap:1px;padding:13px 16px;transition:border-color .3s,box-shadow .3s,transform .3s;display:flex;box-shadow:0 6px 18px #1d2a440d}.plan-btn:hover,.plan-btn:focus-visible{border-color:var(--copper-dim);outline:none;transform:translateY(-1px);box-shadow:0 10px 26px #1d2a441a}.plan-time{font-family:var(--sans);letter-spacing:.26em;color:var(--copper);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.plan-title{font-family:var(--serif);color:var(--navy);font-size:24px;font-weight:600;line-height:1.25}.plan-note{color:var(--navy-soft);font-size:14.5px;font-style:italic}.plan-modal{z-index:60;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#1d2a446b;justify-content:center;align-items:center;padding:24px;animation:.3s modalBg;display:flex;position:fixed;inset:0}@keyframes modalBg{0%{opacity:0}}.plan-modal-card{background:var(--paper);border:1px solid var(--navy-faint);text-align:center;border-radius:6px;width:min(400px,100%);padding:44px 28px 36px;animation:.35s cubic-bezier(.2,.9,.3,1.1) modalCard;position:relative;box-shadow:0 30px 80px #0f162659}.plan-modal-card:before{content:"";border:1px solid var(--copper-faint);pointer-events:none;border-radius:3px;position:absolute;inset:7px}@keyframes modalCard{0%{opacity:0;transform:scale(.9)translateY(12px)}}.plan-modal-x{z-index:1;border:1px solid var(--navy-faint);width:44px;height:44px;color:var(--navy);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:background .25s,border-color .25s;display:flex;position:absolute;top:14px;right:14px}.plan-modal-x:hover,.plan-modal-x:focus-visible{background:var(--copper-faint);border-color:var(--copper-dim);outline:none}.plan-modal-time{font-family:var(--sans);letter-spacing:.3em;color:var(--copper);font-variant-numeric:tabular-nums;padding-left:.3em;font-size:11px;font-weight:700}.plan-modal-title{font-family:var(--serif);color:var(--navy);margin-top:8px;font-size:32px;font-weight:600}.plan-modal-rule{background:var(--copper-dim);width:64px;height:1px;margin:16px auto;display:block}.plan-modal-detail{color:var(--navy-soft);font-size:16.5px;line-height:1.8}.venue-arch{background:var(--paper);border:1px solid var(--navy-faint);border-radius:170px 170px 10px 10px;max-width:340px;margin:32px auto 0;padding:52px 28px 36px;position:relative;box-shadow:0 16px 44px #1d2a4414}.venue-arch:before{content:"";border:1px solid var(--copper-faint);pointer-events:none;border-radius:162px 162px 6px 6px;position:absolute;inset:8px}.va-motif{width:56px;color:var(--copper);margin:0 auto 10px;display:block}.venue-name{font-family:var(--serif);color:var(--navy);font-size:clamp(30px,8.4vw,36px);font-weight:600;line-height:1.2}.venue-city{color:var(--navy-soft);margin-top:8px;font-size:16px;font-style:italic}.va-rule{background:var(--copper-dim);width:56px;height:1px;margin:18px auto;display:block}.venue-when{font-family:var(--sans);letter-spacing:.18em;color:var(--navy);font-variant-numeric:tabular-nums;padding-left:.18em;font-size:12px;font-weight:600}.venue-photo{object-fit:cover;border:1px solid var(--navy-faint);border-radius:150px 150px 6px 6px;width:100%;height:230px;margin-bottom:18px;display:block}.btn-row{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px;display:flex}.btn{border:1px solid var(--navy);min-height:46px;color:var(--navy);font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;background:0 0;border-radius:999px;align-items:center;gap:9px;padding:11px 22px;font-size:11.5px;font-weight:700;text-decoration:none;transition:background .3s,color .3s,box-shadow .3s;display:inline-flex}.btn svg{flex:none;width:17px;height:17px}.btn:hover,.btn:focus-visible{background:#1d2a440f;outline:none;box-shadow:0 8px 22px #1d2a441f}.btn.solid{background:var(--navy);color:var(--ivory)}.btn.solid:hover,.btn.solid:focus-visible{background:#24345a}.footer{text-align:center;padding:56px 0 74px}.medallion{margin:0 auto;display:block}.footer-respect{color:var(--navy-soft);margin-top:26px;font-size:16px;font-style:italic}.footer-family{font-family:var(--script);color:var(--copper);margin-top:2px;font-size:clamp(34px,9vw,42px);line-height:1.3}.footer-date{font-family:var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--navy-soft);font-variant-numeric:tabular-nums;margin-top:22px;padding-left:.24em;font-size:11px;font-weight:600}.footer-fineprint{color:var(--navy-soft);margin-top:10px;font-size:14.5px;font-style:italic}@media (min-width:640px){.page{padding:0 32px 20px}.cd-niche{width:88px}.plan{max-width:410px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-delay:0s!important}.fade-up,.reveal{opacity:1!important;transform:none!important}.buta-stroke{stroke-dashoffset:0!important}.hero .buta-dot{opacity:1!important}}
