.wedding-public{color-scheme:only light!important;--wedding-accent:var(--color-gold,#b65f3d);--wedding-ink:var(--color-navy,#102a43);--wedding-paper:#fbf7f1;--wedding-surface:#fffdf9;--wedding-muted:#71675f;background:radial-gradient(circle at 5% 26%,color-mix(in srgb,var(--wedding-accent) 11%,transparent) 0 7rem,transparent 7.1rem),linear-gradient(180deg,#f7efe6 0,var(--wedding-paper) 45rem,#fffdf9 100%);color:#29231f;font-family:var(--font-sans,Arial,sans-serif);min-height:100vh;overflow:clip;scroll-behavior:smooth}@media (prefers-color-scheme:dark){.wedding-public{background-color:#fbf7f1!important;color:#29231f!important}.wedding-public-nav{background-color:rgba(255,253,249,.96)!important;color:#29231f!important}.wedding-gallery-dialog,.wedding-public .message-wall blockquote,.wedding-public .message-wall-form,.wedding-public .public-gift-card,.wedding-public-card,.wedding-public-empty,.wedding-public-story{background-color:#fffdf9!important;color:#29231f!important}.wedding-public input,.wedding-public select,.wedding-public textarea{background-color:#fff!important;color:#29231f!important}}.wedding-public *,.wedding-public :after,.wedding-public :before{box-sizing:border-box}.wedding-public h1,.wedding-public h2,.wedding-public h3,.wedding-public-nav-name{font-family:var(--font-editorial,Georgia,serif)}.wedding-public-hero,.wedding-public-masthead{align-items:center;color:#fffdf9;display:grid;isolation:isolate;min-height:94svh;overflow:hidden;position:relative}.wedding-public-hero--without-image,.wedding-public-masthead{background:linear-gradient(145deg,var(--wedding-ink),color-mix(in srgb,var(--wedding-ink) 62%,var(--wedding-accent)))}.wedding-public-masthead{min-height:70svh}.wedding-public-hero-image{height:100%;object-fit:cover;scale:1.025;width:100%;z-index:-3}.wedding-public-hero-backdrop{background:linear-gradient(180deg,rgba(18,19,19,.18),rgba(21,19,17,.68)),linear-gradient(90deg,color-mix(in srgb,var(--wedding-ink) 66%,transparent),transparent 68%);inset:0;position:absolute;z-index:-2}.wedding-public-hero-backdrop:after{border:1px solid rgba(255,255,255,.34);border-radius:999px 999px 18px 18px;content:"";height:min(72vw,680px);opacity:.5;position:absolute;right:clamp(-180px,-8vw,-50px);top:14%;transform:rotate(10deg);width:min(48vw,460px)}.wedding-public-hero-inner{display:grid;grid-gap:clamp(1rem,2.5vw,2rem);gap:clamp(1rem,2.5vw,2rem);margin:auto;max-width:1240px;padding:7rem clamp(1.25rem,6vw,5rem) 8rem;width:100%}.wedding-public-eyebrow,.wedding-public-kicker{font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.wedding-public-hero h1,.wedding-public-masthead h1{font-size:clamp(4rem,10vw,8.8rem);font-weight:500;letter-spacing:-.045em;line-height:.82;margin:0;max-width:920px;text-wrap:balance}.wedding-public-hero-copy{color:rgba(255,253,249,.88);font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.7;margin:0;max-width:620px}.wedding-public-countdown{display:flex;gap:.65rem;margin-top:.5rem}.wedding-public-countdown>div{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.25);border-radius:1rem;display:grid;min-width:82px;padding:.8rem 1rem;text-align:center}.wedding-public-countdown strong{font-family:var(--font-editorial,Georgia,serif);font-size:1.8rem;font-weight:500;line-height:1}.wedding-public-countdown span{font-size:.66rem;letter-spacing:.14em;margin-top:.25rem;text-transform:uppercase}.wedding-public-countdown-finished{font-family:var(--font-editorial,Georgia,serif);font-size:1.5rem;font-style:italic}.wedding-public-scroll-cue{align-items:center;bottom:2rem;color:inherit;display:flex;font-size:.68rem;gap:.7rem;left:clamp(1.25rem,6vw,5rem);letter-spacing:.16em;position:absolute;text-transform:uppercase}.wedding-public-scroll-cue:before{animation:wedding-scroll-cue 1.8s ease-in-out infinite;background:currentColor;content:"";height:1px;transform-origin:left;width:42px}.wedding-public-nav{align-items:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:rgba(255,253,249,.9);border-bottom:1px solid rgba(65,51,42,.09);display:flex;gap:2rem;justify-content:space-between;min-height:66px;padding:.65rem clamp(1rem,5vw,4rem);position:-webkit-sticky;position:sticky;top:0;z-index:20}.wedding-public-nav-name{color:var(--wedding-ink);font-size:1.35rem;font-weight:600;white-space:nowrap}.wedding-public-nav-links{display:flex;gap:.25rem;overflow-x:auto;scrollbar-width:none}.wedding-public-nav-links a{border-radius:999px;color:var(--wedding-muted);font-size:.76rem;font-weight:750;padding:.55rem .85rem;transition:background .18s ease,color .18s ease;white-space:nowrap}.wedding-public-nav-links a:hover,.wedding-public-nav-links a[aria-current=location]{background:color-mix(in srgb,var(--wedding-accent) 11%,transparent);color:var(--wedding-accent)}.wedding-public-main{margin:auto;max-width:1240px;padding:clamp(4rem,8vw,8rem) clamp(1rem,5vw,4rem)}.wedding-public-section{scroll-margin-top:84px}.wedding-public-section+.wedding-public-section{margin-top:clamp(5rem,10vw,9rem)}.wedding-public-section-heading{margin:0 auto clamp(2rem,5vw,4rem);max-width:760px;text-align:center}.wedding-public-kicker{color:var(--wedding-accent);display:block;margin-bottom:.8rem}.wedding-public-section-heading h2,.wedding-public-story h2,.wedding-public-venue-copy h2{color:var(--wedding-ink);font-size:clamp(2.5rem,5vw,4.6rem);font-weight:500;letter-spacing:-.035em;line-height:.98;margin:0;text-wrap:balance}.wedding-public-section-heading p{color:var(--wedding-muted);line-height:1.75;margin:1rem auto 0;max-width:600px}.wedding-public-story{align-items:center;background:var(--wedding-surface);border:1px solid rgba(72,54,42,.1);border-radius:2.2rem;box-shadow:0 24px 70px rgba(55,42,33,.08);display:grid;grid-gap:clamp(2rem,6vw,5rem);gap:clamp(2rem,6vw,5rem);grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);overflow:hidden;padding:clamp(2rem,6vw,5rem);position:relative}.wedding-public-story:after{border:1px solid color-mix(in srgb,var(--wedding-accent) 26%,transparent);border-radius:50%;content:"";height:220px;position:absolute;right:-85px;top:-95px;width:220px}.wedding-public-story p{color:var(--wedding-muted);font-size:clamp(1.02rem,1.5vw,1.16rem);line-height:1.9;margin:0;white-space:pre-line}.wedding-public-gallery{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(12,1fr)}.wedding-public-gallery figure{aspect-ratio:4/5;border-radius:1.5rem;grid-column:span 4;margin:0;overflow:hidden;position:relative}.wedding-public-gallery figure:nth-child(3n+2){translate:0 2rem}.wedding-public-gallery img{height:100%;object-fit:cover;transition:scale .6s cubic-bezier(.2,.8,.2,1);width:100%}.wedding-public-gallery figure:hover img{scale:1.035}.wedding-public-card-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.wedding-public-card{background:var(--wedding-surface);border:1px solid rgba(72,54,42,.1);border-radius:1.5rem;box-shadow:0 16px 45px rgba(55,42,33,.055);min-width:0;padding:clamp(1.4rem,3vw,2.2rem)}.wedding-public-timeline{margin:0 auto;max-width:720px;padding:.25rem 0}.wedding-public-timeline-item{display:grid;grid-template-columns:108px minmax(0,1fr);grid-gap:4rem;gap:4rem;padding:0 0 3.5rem;position:relative;text-align:left}.wedding-public-timeline-item:not(:last-child){margin-bottom:0}.wedding-public-timeline-item:not(:last-child):after{background:linear-gradient(to bottom,color-mix(in srgb,var(--wedding-accent) 26%,transparent),color-mix(in srgb,var(--wedding-accent) 10%,transparent));bottom:-1rem;content:"";top:1.1rem;left:139px;position:absolute;width:1px}.wedding-public-timeline-item:before{content:"♡";position:absolute;top:.45rem;left:139px;transform:translateX(-50%);color:var(--wedding-accent);background:#fcf8f2;font-family:Arial,sans-serif;font-size:17px;font-weight:400;line-height:1;padding:0 2px;z-index:1}.wedding-public-timeline-item:last-child{padding-bottom:0}.wedding-public-timeline-content{display:grid;justify-items:start;grid-gap:.55rem;gap:.55rem}.wedding-public-time{color:var(--wedding-accent);font-family:var(--font-editorial,Georgia,serif);font-size:clamp(1.9rem,3vw,2.4rem);font-weight:600;letter-spacing:.02em;line-height:1.3;text-align:right}.wedding-public-card h3{color:var(--wedding-ink);font-size:1.45rem;font-weight:600;margin:0 0 .35rem}.wedding-public-card p,.wedding-public-card span,.wedding-public-timeline-content p{color:var(--wedding-muted);line-height:1.6;margin:0}.wedding-public-empty{background:color-mix(in srgb,var(--wedding-accent) 6%,#fff);border:1px dashed color-mix(in srgb,var(--wedding-accent) 28%,transparent);border-radius:1.5rem;color:var(--wedding-muted);line-height:1.7;margin:0;padding:2rem;text-align:center}.wedding-public-timeline-content h3{color:var(--wedding-ink);font-family:var(--font-editorial,Georgia,serif);font-size:clamp(1.8rem,3.2vw,2.6rem);font-weight:500;line-height:1.15;margin:0;text-wrap:balance}.wedding-public-timeline-content p{max-width:540px;text-wrap:pretty}.wedding-public-accommodation-note{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:600px;padding:.1rem 1.5rem .5rem;text-align:center}#hospedagem>.wedding-public-section-heading{margin-bottom:1.6rem}.wedding-public-accommodation-icon{color:var(--wedding-accent);flex-shrink:0}.wedding-public-accommodation-note h3{align-items:center;display:flex;justify-content:center;gap:.6rem;color:var(--wedding-ink);font-family:var(--font-editorial,Georgia,serif);font-size:clamp(1.8rem,3vw,2.35rem);font-weight:600;margin:0 0 .3rem}.wedding-public-accommodation-note>span{color:var(--wedding-muted);font-size:.85rem;font-weight:500;letter-spacing:.02em}.wedding-public-accommodation-note p{color:var(--wedding-muted);line-height:1.75;margin:.85rem auto 0;max-width:500px}.wedding-public-dress-intro{color:var(--wedding-muted);font-size:1.05rem;line-height:1.8;margin:0 auto 2rem;max-width:680px;text-align:center}.wedding-public-dress-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.wedding-public-swatches{display:flex;gap:.45rem;margin-bottom:1.2rem}.wedding-public-swatches span{border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 1px rgba(44,34,28,.12);height:30px;width:30px}.wedding-public-venue{background:var(--wedding-ink);border-radius:2.2rem;color:#fff;display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);overflow:hidden}.wedding-public-venue-copy{align-content:center;display:grid;padding:clamp(2rem,5vw,4rem)}.wedding-public-venue-copy h2{color:#fff}.wedding-public-venue-copy address{color:rgba(255,255,255,.72);font-style:normal;line-height:1.7;margin-top:1.2rem}.wedding-public-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:2rem}.wedding-public-action{align-items:center;border:1px solid rgba(255,255,255,.38);border-radius:999px;color:#fff;display:inline-flex;font-size:.8rem;font-weight:800;justify-content:center;min-height:44px;padding:.7rem 1.15rem}.wedding-public-action-primary{background:#fff;color:var(--wedding-ink)}.wedding-public-map,.wedding-public-map iframe{border:0;min-height:440px;width:100%}.wedding-public-map iframe{display:block;height:100%}.wedding-public .public-gift-grid{gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.wedding-public .public-gift-card{grid-row:span 5;grid-template-rows:subgrid;row-gap:0;background:var(--wedding-surface);border:1px solid rgba(72,54,42,.1);border-radius:1.4rem;box-shadow:0 14px 44px rgba(55,42,33,.06);transition:box-shadow .22s ease,translate .22s ease}.wedding-public .public-gift-card:hover{box-shadow:0 18px 48px rgba(55,42,33,.09);translate:0 -2px}.wedding-public .public-gift-media{aspect-ratio:4/3;height:auto}.wedding-public .public-gift-media img{height:100%;object-fit:cover;width:100%}.wedding-public .public-gift-copy{grid-row:span 4;grid-template-rows:subgrid;padding:1.3rem}.wedding-public .public-gift-copy>span{color:var(--wedding-muted);font-weight:500;letter-spacing:.06em}.wedding-public .public-gift-copy h3{min-height:2.6em;line-height:1.3}.wedding-public .public-gift-copy p{min-height:2.8em}.wedding-public .public-gift-footer{flex-wrap:nowrap}.wedding-public .public-gift-footer strong{font-size:17px;font-weight:600;white-space:nowrap}.wedding-public .public-gift-footer .ui-button{flex-shrink:0}@media (prefers-reduced-motion:reduce){.wedding-public .public-gift-card:hover{translate:none}}.wedding-public .message-wall{margin:clamp(5rem,10vw,9rem) 0 0;max-width:none}.wedding-public-footer{border-top:1px solid rgba(72,54,42,.1);color:var(--wedding-muted);padding:2.5rem 1rem;text-align:center}.wedding-public-footer a{color:var(--wedding-ink);font-weight:750}.wedding-public-reveal{animation:wedding-reveal .7s ease both}@supports (animation-timeline:view()){.wedding-public-reveal{animation-range:entry 8% cover 28%;animation-timeline:view()}}@keyframes wedding-reveal{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes wedding-scroll-cue{0%,to{opacity:.5;transform:scaleX(.65)}50%{opacity:1;transform:scaleX(1)}}@media (max-width:860px){.wedding-public-nav{align-items:flex-start;flex-direction:column;gap:.3rem;padding-block:.6rem}.wedding-public-nav-links{margin-inline:-.35rem;max-width:calc(100vw - 2rem);width:100%}.wedding-public-story,.wedding-public-venue{grid-template-columns:1fr}.wedding-public .public-gift-grid,.wedding-public-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wedding-public-dress-grid{grid-template-columns:1fr}.wedding-public-map,.wedding-public-map iframe{min-height:340px}}@media (max-width:560px){.wedding-public .public-gift-grid{display:grid;grid-auto-flow:column;grid-auto-columns:min(88vw,340px);grid-template-rows:repeat(5,auto)}.wedding-public-hero h1{font-size:clamp(3.35rem,19vw,5.3rem)}.wedding-public-hero-inner{padding-inline:1.15rem}.wedding-public-countdown>div{min-width:0;padding:.75rem}.wedding-public-nav-name{font-size:1.1rem}.wedding-public-main{padding-inline:1rem}.wedding-public-story{border-radius:1.5rem;padding:2rem 1.35rem}.wedding-public-gallery{gap:.6rem}.wedding-public-gallery figure{border-radius:1rem;grid-column:span 6}.wedding-public-gallery figure:nth-child(3n+2){translate:0}.wedding-public-gallery figure:nth-child(3n){grid-column:3/span 8}.wedding-public .public-gift-grid,.wedding-public-card-grid{grid-template-columns:1fr}.wedding-public .public-gift-grid{grid-template-columns:none}.wedding-public-timeline{padding-inline:.2rem}.wedding-public-timeline-item{grid-template-columns:66px minmax(0,1fr);gap:2rem;padding-bottom:2.75rem}.wedding-public-timeline-item:before{left:81px;top:.35rem;font-size:16px;background:none}.wedding-public-timeline-item:not(:last-child):after{left:81px;top:1rem;bottom:-.8rem}.wedding-public-time{font-size:1.7rem}.wedding-public-timeline-content h3{font-size:1.75rem}.wedding-public-timeline-content p{font-size:.9rem}.wedding-public-venue{border-radius:1.5rem}.wedding-public-actions a{width:100%}}@media (prefers-reduced-motion:reduce){.wedding-public{scroll-behavior:auto}.wedding-public *,.wedding-public :after,.wedding-public :before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.wedding-public-dress-grid:empty{display:none}.wedding-gallery{margin-top:36px;min-width:0}.wedding-gallery-track{display:flex;align-items:stretch;gap:1rem;max-width:100%;overflow:visible;overscroll-behavior-x:contain;scroll-padding-inline:3px;scroll-snap-type:x mandatory;scrollbar-width:none;position:relative;padding:5px 3px 12px;-webkit-overflow-scrolling:touch}.wedding-gallery-track::-webkit-scrollbar{display:none}.wedding-gallery-slide{flex-grow:0;flex-shrink:0;flex-basis:calc((100% - 2rem) / 3);min-width:0;margin:0;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always;background:var(--wedding-surface);border:1px solid rgba(72,54,42,.1);border-radius:1.4rem;box-shadow:0 14px 44px rgba(55,42,33,.06);transition:box-shadow .22s ease,translate .22s ease}.wedding-gallery-slide:hover{box-shadow:0 22px 55px rgba(55,42,33,.11);translate:0 -4px}.wedding-gallery-photo{display:block;position:relative;width:100%;aspect-ratio:4/3;padding:0;border:0;border-radius:0;overflow:hidden;background:#eee6dc;cursor:zoom-in}.wedding-gallery-photo img{object-fit:cover;transition:transform .6s ease}.wedding-gallery-photo:hover img{transform:scale(1.025)}.wedding-gallery-expand{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;background:rgb(16 42 67/.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .2s}.wedding-gallery-photo:focus-visible .wedding-gallery-expand,.wedding-gallery-photo:hover .wedding-gallery-expand{opacity:1}.wedding-gallery-slide figcaption{display:flex;align-items:baseline;gap:15px;min-height:68px;margin:0;padding:1.3rem;color:var(--wedding-muted);font-size:13px;line-height:1.6;overflow-wrap:anywhere}.wedding-gallery-number{flex-shrink:0;color:var(--wedding-accent);font-size:11px;letter-spacing:.12em}.wedding-gallery-navigation{display:flex;align-items:center;gap:22px;margin-top:20px;padding-top:18px;border-top:1px solid #e5ddd3}.wedding-gallery-count{color:var(--wedding-ink);font-size:12px;letter-spacing:.12em;white-space:nowrap}.wedding-gallery-progress{flex:1 1;max-width:130px;height:1px;background:#e5ddd3}.wedding-gallery-progress span{display:block;height:1px;background:var(--wedding-accent);transition:width .25s}.wedding-gallery-arrows{display:flex;gap:10px;margin-left:auto}.wedding-gallery-arrows button{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid #d5c9bc;color:var(--wedding-ink);background:transparent;cursor:pointer;transition:background .2s,border-color .2s}.wedding-gallery-arrows button:hover:not(:disabled){background:#f0e8df;border-color:#b9a996}.wedding-gallery-arrows button:disabled{opacity:.3;cursor:default}.wedding-gallery--single .wedding-gallery-track{justify-content:center}.wedding-gallery--single .wedding-gallery-slide{flex-basis:min(100%,calc((100% - 2rem) / 3))}.wedding-gallery-unavailable{display:grid;place-items:center;height:100%;padding:24px;color:#71675f;font:inherit}.wedding-gallery-dialog{width:min(1200px,96vw);max-height:96dvh;padding:12px;border:0;border-radius:8px;background:#fffdf9;color:#102a43}.wedding-gallery-dialog::-webkit-backdrop{background:rgb(14 23 29/.9)}.wedding-gallery-dialog::backdrop{background:rgb(14 23 29/.9)}.wedding-gallery-close{position:relative;z-index:2;display:grid;place-items:center;margin-left:auto;width:44px;height:44px;border:0;border-radius:50%;background:#f3ede5;color:#102a43;cursor:pointer}.wedding-gallery-full-photo{position:relative;height:76dvh}.wedding-gallery-full-photo img{object-fit:contain}.wedding-gallery-dialog p{text-align:center;padding:0 12px}.wedding-public :focus-visible{outline:2px solid #2563eb;outline-offset:4px}.wedding-gallery-track:focus{outline:none}.wedding-gallery-track:focus-visible{outline:1px solid color-mix(in srgb,var(--wedding-accent) 55%,transparent);outline-offset:3px}.wedding-gallery-photo:focus{outline:none}.wedding-gallery-photo:focus-visible{outline:2px solid color-mix(in srgb,var(--wedding-accent) 72%,transparent);outline-offset:-4px}.wedding-gallery-arrows button:focus-visible,.wedding-gallery-close:focus-visible{outline:2px solid color-mix(in srgb,var(--wedding-accent) 72%,transparent);outline-offset:3px}@media (max-width:860px){.wedding-gallery-slide{flex-basis:calc((100% - 1rem) / 2)}.wedding-gallery--single .wedding-gallery-slide{flex-basis:min(100%,calc((100% - 1rem) / 2))}}@media (max-width:560px){.wedding-gallery{margin-top:24px}.wedding-gallery-track{gap:1rem;overflow-x:auto;overflow-y:hidden;padding:4px 2px 10px;scroll-padding-inline:2px}.wedding-gallery-slide{flex-basis:min(88vw,340px)}.wedding-gallery-expand{opacity:1;width:30px;height:30px;right:10px;bottom:10px}.wedding-gallery-navigation{display:none}.wedding-gallery--single .wedding-gallery-slide{flex-basis:min(88vw,340px)}}