@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Mulish:wght@300;400;500;600&family=Tangerine:wght@400;700&display=swap";:root{--cream:#f8f5ec;--cream-d:#efe8d4;--cream-dd:#e4d9c0;--sage:#667a4e;--sage-d:#4a5c35;--sage-l:#8fa070;--sage-s:rgba(102,122,78,.09);--sage-b:rgba(102,122,78,.2);--dust:#a0886b;--rose:#c4968e;--ink:#332c24;--muted:#6a5f55;--line:#ddd3b8;--line-l:#e8e0cc;--bg:#36311f;--fd:"Cormorant Garamond",serif;--fb:"Mulish",sans-serif;--fs:"Tangerine",cursive}body{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:1rem 0 5rem;background:var(--bg);color:var(--ink);font:16px/1.75 var(--fb)}.invitation-card{width:100%;max-width:560px;position:relative;overflow:hidden;border:1px solid var(--sage-b);background:var(--cream);box-shadow:0 28px 72px #0000007a}.invitation-card:before,.invitation-card:after{content:"❧";position:absolute;z-index:2;top:1rem;color:var(--sage-l);font:5rem var(--fd);opacity:.22;pointer-events:none}.invitation-card:before{left:.7rem;transform:rotate(-35deg)}.invitation-card:after{right:.7rem;transform:scaleX(-1) rotate(-35deg)}.invitation-hero{display:flex;flex-direction:column;align-items:center;padding:4.8rem 2.4rem 1.2rem;text-align:center}.hero-copy{display:contents}.lead-text{order:1;display:block;margin-bottom:.9rem;color:var(--muted);font-size:.58rem;font-weight:300;letter-spacing:.26em;text-transform:uppercase}.hero-copy .event-title{order:2;margin:0 0 1.8rem;color:var(--ink);font:italic 300 clamp(2.25rem,8vw,3.4rem)/1.05 var(--fd);letter-spacing:.04em}.hero-copy .event-title:after{content:"—  ❦  —";display:block;margin-top:1rem;color:var(--sage);font-size:.85rem;font-style:normal;letter-spacing:.15em;opacity:.55}.hero-image{order:3;position:relative;width:158px;height:158px;margin:.4rem auto 1rem;overflow:visible;border-radius:50%}.hero-image:before,.hero-image:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.hero-image:before{top:-6px;right:-6px;bottom:-6px;left:-6px;border:1px solid var(--sage-b)}.hero-image:after{top:-11px;right:-11px;bottom:-11px;left:-11px;border:1px dashed rgba(102,122,78,.18)}.hero-photo{width:100%;height:100%;display:block;border-radius:50%;object-fit:cover}.hero-copy .host-names{order:4;display:block;width:100%;max-width:9ch;margin-inline:auto;color:var(--ink);font:700 clamp(3.8rem,13vw,5.35rem)/.82 var(--fs);white-space:normal;overflow-wrap:normal}.invitation-card>.ao-invite-section:not(.invitation-hero):not(.invitation-closing){width:auto;margin:0 2.4rem;padding:1.5rem 0;border-bottom:1px solid var(--line-l);text-align:center}.section-label{display:flex;align-items:center;justify-content:center;gap:.55rem;margin-bottom:1rem;color:var(--sage);font-size:.58rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.section-label:before,.section-label:after{content:"";width:38px;height:1px;background:var(--line)}.section-title,.rsvp-title,.priv-h{margin:0 0 1rem;color:var(--ink);font:italic 300 1.55rem/1.2 var(--fd)}.details-grid{display:grid;grid-template-columns:1fr;gap:.7rem;text-align:left}.detail-row{display:grid;grid-template-columns:88px 1fr;gap:.4rem;align-items:baseline}.detail-label{color:var(--muted);font-size:.6rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.detail-value{color:var(--ink);font:1rem/1.4 var(--fd)}.detail-sub{color:var(--muted);font-size:.72rem;font-weight:300}.countdown{margin-top:1.1rem;padding:.9rem .6rem;border:1px solid var(--line);background:var(--sage-s);text-align:center}.countdown-heading{margin-bottom:.55rem;color:var(--muted);font:italic .9rem var(--fd)}.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem}.countdown-grid span{display:flex;flex-direction:column;align-items:center}.countdown-grid b{color:var(--sage-d);font:2.1rem/1 var(--fd);font-variant-numeric:tabular-nums}.countdown-grid small{color:var(--muted);font-size:.5rem;font-weight:300;letter-spacing:.08em;text-transform:uppercase}.calendar-actions,.event-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.85rem}.btn-cal,.btn-ics{padding:.46rem .9rem;border:1px solid var(--line);border-radius:0;background:transparent;color:var(--muted);font-size:.7rem;text-decoration:none}.event-link{padding:.3rem .95rem;border:1px solid var(--sage-b);border-radius:99px;color:var(--sage-d);font-size:.74rem;font-weight:500;text-decoration:none}.event-link:hover,.btn-cal:hover,.btn-ics:hover{border-color:var(--sage);background:var(--sage-s);color:var(--sage-d)}.timeline{display:grid;text-align:left}.tl-item{display:grid;grid-template-columns:48px 1px 1fr;gap:0 .85rem}.tl-item:before{content:"";grid-column:2;grid-row:1 / span 2;position:relative;width:1px;background:var(--line)}.tl-time{grid-column:1;grid-row:1 / span 2;padding:.14rem 0 .85rem;color:var(--sage);font:.88rem var(--fd);text-align:right}.tl-event{grid-column:3;color:var(--ink);font:1rem/1.3 var(--fd)}.tl-sub{grid-column:3;padding-bottom:.8rem;color:var(--muted);font-size:.72rem;font-weight:300}.location-card{display:grid;grid-template-columns:auto 1fr;gap:.15rem .85rem;padding:.2rem;text-align:left}.location-card:before{content:"⌖";grid-row:1 / span 3;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--sage-b);border-radius:50%;background:var(--sage-s);color:var(--sage)}.location-map{display:none}.venue-name{color:var(--ink);font:1.08rem/1.3 var(--fd)}.venue-address{color:var(--muted);font-size:.78rem;font-weight:300}a.map-link{justify-self:start;margin-top:.45rem;padding:.28rem .85rem;border:1px solid var(--sage-b);border-radius:99px;color:var(--sage-d);font-size:.74rem;font-weight:500;text-decoration:none}.swatches{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}.sw-dot{width:34px;height:34px;border:2.5px solid var(--cream);border-radius:50%;box-shadow:0 0 0 1.5px var(--line),0 2px 5px #0000001a}.sw-lbl{color:var(--muted);font-size:.52rem}.privacy-notes{display:flex;flex-direction:column;gap:.6rem}.privacy-note{padding:.8rem 1rem;border:1px solid var(--line);border-radius:6px;background:var(--sage-s);text-align:left}.privacy-note .priv-h{margin:0 0 .1rem;font-size:1.05rem;text-align:left}.priv-t,.event-notes{color:var(--muted);font:italic 300 .95rem/1.75 var(--fd)}.event-notes{margin-top:.9rem;text-align:center}.music-embed{width:100%;display:flex;justify-content:center;padding:.75rem;border:1px solid var(--line);border-radius:6px;background:var(--sage-s)}.gallery-section{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}.gallery-image{height:88px;overflow:hidden;border-radius:5px;cursor:zoom-in}.gallery-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s}.gallery-image:hover img{transform:scale(1.04)}.story-block{display:flex;flex-direction:column;align-items:center;gap:.7rem}.story-image{width:82px;height:82px;overflow:hidden;border:2px solid var(--sage-b);border-radius:50%}.story-image img{width:100%;height:100%;object-fit:cover}.story-copy .section-title{margin-bottom:.2rem}.story-text{color:var(--muted);font:italic 300 1.02rem/1.9 var(--fd)}.invitation-rsvp{padding-bottom:1.5rem!important}.rsvp-form{padding:1.65rem 1.5rem;border:1px solid var(--line);border-radius:8px;background:var(--cream-d)}.form-group{margin-bottom:.85rem;text-align:left}label,legend{display:block;margin-bottom:.35rem;color:var(--muted);font-size:.6rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}input[type=text],input[type=email],input[type=number],select,textarea{width:100%;padding:.65rem .88rem;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font:.9rem var(--fb);outline:0}input:focus,select:focus,textarea:focus{border-color:var(--sage)}textarea{min-height:76px;resize:vertical}.radio-row{display:flex;gap:.55rem}.radio-opt{flex:1;display:flex;align-items:center;justify-content:center;padding:.6rem .4rem;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:.82rem;cursor:pointer}.radio-opt:has(input:checked){border-color:var(--sage);background:var(--sage-s);color:var(--sage-d);font-weight:600}.btn-submit{width:100%;margin-top:.5rem;padding:.9rem;border:0;border-radius:6px;background:var(--sage);color:#fff;font:italic 1.15rem var(--fd);cursor:pointer}.quick-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem}.btn-share{padding:.62rem .9rem;border:1px solid var(--line);border-radius:6px;background:var(--sage-s);color:var(--ink);font-size:.7rem;text-decoration:none}.btn-share-wa{border-color:#25d366;background:#25d366;color:#fff}.qr-img{display:block;width:88px;height:88px;margin:.8rem auto 0;border:1px solid var(--line)}.qr-hint{color:var(--muted);font:italic .8rem var(--fd);text-align:center}.invitation-closing{padding:2rem 2.5rem 1.8rem;background:linear-gradient(0deg,rgba(232,224,204,.4),transparent);text-align:center}.invitation-closing .closing-copy{color:var(--ink);font:italic 300 1.5rem/1.4 var(--fd)}.invitation-closing .host-names{display:block;margin-top:.4rem;color:var(--ink);font:700 2.6rem/1 var(--fs)}.invitation-card>.invitation-branding{margin:0;padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--line-l);color:var(--muted);font-size:.62rem;font-weight:300;letter-spacing:.1em;text-align:center;text-transform:uppercase}.invitation-branding a{color:var(--dust);font-weight:600}.ao-sticky-rsvp{position:fixed;z-index:9990;left:0;right:0;bottom:0;display:flex;justify-content:center;padding:.8rem 1.2rem;background:#f8f5ecf0;border-top:1px solid var(--line);box-shadow:0 -4px 20px #00000012;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ao-sticky-rsvp button{flex:1;max-width:520px;padding:.78rem;border:0;border-radius:6px;background:var(--sage);color:#fff;font:italic 1.05rem var(--fd);cursor:pointer}.ao-sticky-rsvp small{display:none}#lightbox{display:none;position:fixed;z-index:9000;top:0;right:0;bottom:0;left:0;align-items:center;justify-content:center;background:#1e1a12ed}#lightboxImg{max-width:92vw;max-height:88vh;border:1px solid rgba(220,210,185,.2);object-fit:contain}.reveal{opacity:0;transform:translateY(12px);transition:opacity .55s,transform .55s}@media(min-width:620px){.ao-sticky-rsvp{left:calc(50% - 280px);right:calc(50% - 280px)}}@media(max-width:420px){.invitation-card>.ao-invite-section:not(.invitation-hero):not(.invitation-closing){margin-inline:1.6rem}.invitation-hero{padding-inline:1.6rem}}
