@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Jost:wght@300;400;500&display=swap";:root{--bg:transparent;--paper:#ffffff1a;--invert:#221d16;--ink:#fff;--ink-soft:#fffc;--line:#ffffff3d;--line-strong:#ffffff80;--accent:#e3c27a;--accent-soft:#edd9a6;--card:#18151080;--card-hover:#1815109e;--photo-scrim:linear-gradient(180deg, #12100c94 0%, #12100c8f 18%, #12100c38 55%, #12100c52 100%);--photo-base:linear-gradient(175deg, #cdbb90 0%, #ddceab 24%, #ece3ca 46%, #cfd7d1 70%, #a9b9c2 100%)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background-image:var(--photo-scrim), var(--photo-base);color:var(--ink);-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0;font-family:Jost,system-ui,sans-serif;font-size:17px;font-weight:300;line-height:1.7}h1,h2,h3,.display{color:var(--ink);text-wrap:balance;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-weight:500}a{color:var(--ink);border-bottom:1px solid var(--line-strong);text-decoration:none;transition:color .3s,border-color .3s}a:hover{color:var(--accent);border-color:var(--accent)}.wrap{max-width:1040px;margin:0 auto;padding-inline:24px}img{max-width:100%}button{font-family:inherit}@keyframes pageIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-anim{animation:.7s both pageIn}.stagger>*{animation:.8s both fadeUp}.stagger>:first-child{animation-delay:20ms}.stagger>:nth-child(2){animation-delay:.1s}.stagger>:nth-child(3){animation-delay:.18s}.stagger>:nth-child(4){animation-delay:.26s}.stagger>:nth-child(5){animation-delay:.34s}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.topnav{z-index:30;-webkit-backdrop-filter:blur(14px);background:0 0;border-bottom:1px solid #ffffff14;position:fixed;top:0;left:0;right:0;box-shadow:0 1px 24px #0000001f}.topnav-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1040px;margin:0 auto;padding:18px 24px;display:flex}.monogram{letter-spacing:.06em;color:#fff;cursor:default;background:0 0;border:none;flex:none;padding:0;font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:500}.monogram em{color:#fff;font-style:normal}.navlinks{letter-spacing:.12em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:10px 22px;font-size:.72rem;display:flex}.navlinks a{color:var(--ink-soft);cursor:pointer;white-space:nowrap;font-size:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:none;padding:4px 0;transition:color .3s;position:relative}.navlinks a:after{content:"";background:var(--accent);height:1px;transition:right .35s;position:absolute;bottom:-2px;left:0;right:100%}.navlinks a:hover{color:var(--ink)}.navlinks a:hover:after,.navlinks a[aria-current=page]:after{right:0}.navlinks a[aria-current=page]{color:var(--accent)}.navlinks a.nav-cta{border:1px solid #ffffffd9;margin-left:4px;padding:8px 18px;transition:background .3s,color .3s}.navlinks a.nav-cta:after{display:none}.navlinks a.nav-cta:hover{color:var(--invert);background:#fff}.page{flex-direction:column;justify-content:center;min-height:100vh;padding:140px 24px 80px;display:flex}.page-head{text-align:center;max-width:640px;margin:0 auto 48px}.city-photo{border:1px solid var(--line-strong);aspect-ratio:16/9;object-fit:cover;width:100%;max-width:900px;margin:0 auto 56px;display:block}.page-title{font-size:clamp(2rem,5vw,2.9rem);font-weight:500}.page-intro{color:var(--ink-soft);margin-top:18px;font-size:1.02rem}.prevnext{letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;gap:16px;width:100%;max-width:1040px;margin:64px auto 0;padding-inline:24px;font-size:.78rem;display:flex}.prevnext a{color:var(--ink-soft);border-bottom:none;align-items:center;gap:8px;transition:color .3s,transform .3s;display:flex}.prevnext a:hover{color:var(--accent);transform:translate(2px)}.prevnext .next{text-align:right;margin-left:auto}.hero-photo{text-align:center;justify-content:center;align-items:flex-end;width:100%;min-height:100vh;padding:0 24px 100px;display:flex;position:relative;overflow:hidden}.hero-photo-caption{z-index:2;letter-spacing:.14em;text-transform:uppercase;color:#ffffffa6;font-size:.66rem;position:absolute;bottom:20px;left:24px}.hero-photo-content{z-index:2;max-width:640px;position:relative}.hero-slides{z-index:0;background:#1a1712;position:fixed;inset:0}.hero-slides:after{content:"";background:linear-gradient(#12100c73 0%,#12100c26 40%,#12100ca6 100%);position:absolute;inset:0}.hero-slide{opacity:0;transition:opacity 1.4s;position:absolute;inset:0;overflow:hidden}.hero-slide-img{object-fit:cover;object-position:center 34%;width:100%;height:100%;position:absolute;inset:0}.hero-slide.is-active{opacity:1}.hero-controls{z-index:3;align-items:center;gap:14px;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.hero-dots{gap:8px;display:flex}.hero-dot{cursor:pointer;background:0 0;border:1px solid #ffffffd9;border-radius:50%;width:8px;height:8px;padding:0;transition:background .3s}.hero-dot.is-active{background:#fff}.hero-arrow{color:#ffffffd9;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-family:Cormorant Garamond,serif;font-size:1.6rem;line-height:1}.hero-arrow:hover{color:#fff}.hero-dot:focus-visible,.hero-arrow:focus-visible{outline-offset:3px;outline:1px solid #fff}@media (prefers-reduced-motion:reduce){.hero-slide{transition:none}}.hero-photo-content .verse{color:#ffffffeb;font-size:1.05rem}.hero-photo-content .verse-ref{color:#ffffffb8}.hero-photo-content h1{color:#fff;margin-top:18px;font-size:clamp(2.6rem,8vw,4.6rem);font-weight:500;line-height:1}.hero-photo-content h1 .amp{color:#fff;opacity:.85;padding-inline:.22em;font-style:italic}.hero-photo-content .hero-sub{color:#ffffffe6;letter-spacing:.03em;margin-top:16px;font-size:1rem}.hero-photo-content .rsvp-cta{cursor:pointer;color:#fff;letter-spacing:.18em;text-transform:uppercase;background:0 0;border:1px solid #ffffffd9;margin-top:32px;padding:15px 42px;font-size:.78rem;transition:background .3s,color .3s;display:inline-block}.hero-photo-content .rsvp-cta:hover{color:var(--invert);background:#fff}.verse{max-width:520px;color:var(--ink-soft);margin:10px auto 0;font-family:Cormorant Garamond,serif;font-size:1.3rem;font-style:italic;font-weight:400;line-height:1.55}.verse-ref{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-top:12px;font-size:.76rem;display:block}.church-grid{grid-template-columns:1.1fr 1fr;align-items:center;gap:56px;max-width:940px;margin:0 auto;display:grid}@media (width<=760px){.church-grid{grid-template-columns:1fr}}.church-frame{aspect-ratio:4/5;border:1px solid var(--line-strong);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;display:flex}.church-frame svg{opacity:.8;width:48%}.church-photo{aspect-ratio:4/5;object-fit:cover;object-position:center top;border:1px solid var(--line-strong);width:100%;display:block}.frame-caption{color:var(--ink-soft);letter-spacing:.04em;font-size:.78rem}.church-facts{color:var(--ink-soft);font-size:.98rem}.church-facts dt{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;margin-top:18px;font-size:.72rem}.church-facts dd{color:var(--ink);margin:5px 0 0}.linklist{margin:16px 0 0;padding:0;font-size:.95rem;list-style:none}.linklist li{margin-top:8px}.btn-line{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--accent-soft);opacity:.9;margin-top:20px;padding-bottom:3px;font-size:.76rem;transition:opacity .3s,transform .3s;display:inline-block}.btn-line:hover{opacity:1;color:var(--accent);border-color:var(--accent);transform:translate(2px)}.section-block{margin-top:110px}.section-block:first-of-type{margin-top:0}.section-head{text-align:center;max-width:640px;margin:0 auto 40px}.section-head h3{font-size:clamp(1.7rem,4vw,2.3rem);font-weight:500}.section-head p{color:var(--ink-soft);margin-top:14px;font-size:.98rem}.fork-intro{text-align:center;max-width:600px;color:var(--ink-soft);margin:0 auto 40px}.translated{color:var(--accent);font-style:italic}.fork{background:var(--card);border:1px solid var(--line);grid-template-columns:1fr 1fr;max-width:820px;margin:0 auto;display:grid;overflow:hidden}@media (width<=680px){.fork{grid-template-columns:1fr}}.path-card{text-align:center;box-shadow:0 0 0 .5px var(--line);padding:38px 30px;transition:background .3s}.path-card:hover{background:var(--card-hover)}.path-card .icon{font-size:1.7rem}.path-card h3{margin-top:12px;font-size:1.4rem;font-weight:500}.path-card p{color:var(--ink-soft);margin-top:10px;font-size:.94rem}.path-card ul{text-align:left;color:var(--ink-soft);margin:18px 0 0;padding:0;font-size:.9rem;list-style:none}.path-card li{margin-top:7px;padding-left:1.1em;position:relative}.path-card li:before{content:"–";color:var(--accent);position:absolute;left:0}.grid{background:var(--card);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));max-width:960px;margin:0 auto;display:grid;overflow:hidden}.card{box-shadow:0 0 0 .5px var(--line);flex-direction:column;gap:8px;padding:26px;transition:background .3s;display:flex}.card:hover{background:var(--card-hover)}.card h3{font-size:1.15rem;font-weight:500}.card .tag{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-size:.66rem}.card p{color:var(--ink-soft);margin:0;font-size:.9rem}.card-links{flex-wrap:wrap;gap:16px;margin-top:auto;padding-top:10px;display:flex}.card-links a{letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--line-strong);font-size:.74rem}.featured-card{background:var(--paper);grid-column:1/-1;grid-template-columns:auto 1fr;align-items:center;gap:22px;padding:32px;display:grid}.featured-card .icon{font-size:2.2rem}.featured-card h3{font-size:1.4rem;font-weight:500}.featured-badge{text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:8px;font-size:.66rem;display:inline-block}@media (width<=520px){.featured-card{text-align:center;grid-template-columns:1fr}}.placeholder{border:1px dashed var(--line-strong);text-align:center;color:var(--ink-soft);background:0 0;padding:40px 24px}.placeholder .icon{margin-bottom:10px;font-size:1.5rem;display:block}.placeholder-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;max-width:760px;margin:0 auto;display:grid}.frame-sm{aspect-ratio:3/4;border:1px dashed var(--line-strong);color:var(--ink-soft);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:.78rem;transition:border-color .3s;display:flex}.frame-sm:hover{border-color:var(--accent-soft)}.gallery{grid-template-columns:repeat(3,1fr);gap:12px;max-width:960px;margin:0 auto;display:grid}@media (width<=700px){.gallery{grid-template-columns:repeat(2,1fr);gap:8px}}.gallery-item{cursor:zoom-in;aspect-ratio:2/3;background:0 0;border:none;padding:0;display:block;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .6s,opacity .3s;display:block}.gallery-item:hover img{transform:scale(1.03)}.gallery-item:focus-visible{outline-offset:3px;outline:1px solid #fff}.lightbox{z-index:100;background:#0c0a08f0;justify-content:center;align-items:center;padding:48px 16px;animation:.25s both pageIn;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;cursor:default;max-width:100%;max-height:100%}.lightbox-close,.lightbox-arrow{color:#ffffffd9;cursor:pointer;background:0 0;border:none;padding:8px 14px;font-family:Cormorant Garamond,serif;line-height:1;position:absolute}.lightbox-close{font-size:2.2rem;top:10px;right:10px}.lightbox-arrow{font-size:3rem;top:50%;transform:translateY(-50%)}.lightbox-arrow.prev{left:4px}.lightbox-arrow.next{right:4px}.lightbox-close:hover,.lightbox-arrow:hover{color:#fff}.lightbox-count{letter-spacing:.14em;color:#ffffffb3;font-size:.74rem;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.gallery-item img{transition:none}.gallery-item:hover img{transform:none}}.arrumar-grid{background:var(--card);border:1px solid var(--line);grid-template-columns:1fr 1fr;max-width:700px;margin:0 auto;display:grid;overflow:hidden}@media (width<=600px){.arrumar-grid{grid-template-columns:1fr}}.arrumar-card{box-shadow:0 0 0 .5px var(--line);padding:30px;transition:background .3s}.arrumar-card:hover{background:var(--card-hover)}.arrumar-card h3{font-size:1.1rem;font-weight:500}.arrumar-card p{color:var(--ink-soft);margin-top:8px;font-size:.9rem}.rsvp-box{background:var(--paper);border:1px solid var(--line);max-width:500px;margin:0 auto;padding:40px 34px}.field{flex-direction:column;gap:7px;margin-top:20px;display:flex}.field label{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-size:.72rem}.field input,.field select,.field textarea{border:none;border-bottom:1px solid var(--line-strong);color:var(--ink);background:0 0;border-radius:0;padding:11px 4px;font-family:inherit;font-size:1rem;font-weight:300;transition:border-color .3s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none}.field textarea{resize:vertical;min-height:80px}.rsvp-actions{text-align:center;margin-top:28px}.btn-primary{color:var(--ink);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--ink);cursor:pointer;background:0 0;padding:14px 36px;font-size:.82rem;font-weight:400;text-decoration:none;transition:background .3s,color .3s;display:inline-block}.btn-primary:hover{background:var(--ink);color:var(--invert)}.rsvp-note{color:var(--ink-soft);text-align:center;margin-top:16px;font-size:.8rem}footer{z-index:1;text-align:center;padding:44px 24px 60px;position:relative}footer .monogram{cursor:default;margin-bottom:10px;font-size:1.4rem;display:block}footer p{color:var(--ink-soft);font-size:.84rem}.gift-grid{background:var(--card);border:1px solid var(--line);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));max-width:1000px;margin:0 auto;display:grid;overflow:hidden}.gift-card{text-align:center;color:var(--ink);font:inherit;cursor:pointer;box-shadow:0 0 0 .5px var(--line);background:0 0;border:none;flex-direction:column;align-items:center;gap:8px;padding:30px 22px 26px;transition:background .3s;display:flex}.gift-card:hover{background:var(--card-hover)}.gift-card:focus-visible{outline:1px solid var(--accent);outline-offset:-4px}.gift-card h3{font-size:1.15rem;font-weight:500;line-height:1.3}.gift-card p{color:var(--ink-soft);margin:0;font-size:.86rem}.gift-emoji{font-size:1.8rem;line-height:1}.gift-price{color:var(--accent);margin-top:auto;padding-top:8px;font-family:Cormorant Garamond,serif;font-size:1.45rem}.gift-cta{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--line-strong);padding-bottom:2px;font-size:.7rem}.gift-card:hover .gift-cta{color:var(--accent);border-color:var(--accent)}.gift-overlay{z-index:100;background:#0c0a08d1;justify-content:center;align-items:center;padding:16px;animation:.25s both pageIn;display:flex;position:fixed;inset:0;overflow-y:auto}.gift-modal{border:1px solid var(--line-strong);text-align:center;background:#241f18;width:100%;max-width:400px;margin:auto;padding:36px 28px 30px;position:relative}.gift-modal h3{margin-top:12px;font-size:1.45rem;font-weight:500;line-height:1.25}.gift-modal-price{color:var(--accent);margin:6px 0 0;font-family:Cormorant Garamond,serif;font-size:1.9rem}.gift-close{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:6px 10px;font-size:2rem;line-height:1;position:absolute;top:6px;right:8px}.gift-close:hover{color:#fff}.gift-step{color:var(--ink-soft);margin:20px 0 10px;font-size:.88rem}.gift-qr{background:#fff;width:220px;height:220px;margin:0 auto;padding:10px}.gift-qr img{width:100%;height:100%;display:block}.gift-copy{color:#fff;cursor:pointer;font:inherit;letter-spacing:.16em;text-transform:uppercase;background:0 0;border:1px solid #ffffffd9;padding:12px 28px;font-size:.74rem;transition:background .3s,color .3s}.gift-copy:hover{color:var(--invert);background:#fff}.gift-recipient{color:var(--ink-soft);margin:18px 0 0;font-size:.8rem}.gift-recipient strong{color:var(--ink);font-weight:500}
