.camera-shell{text-align:center;width:min(100%,58rem);margin:auto;padding:clamp(1rem,3vw,2rem)}.tutorial{width:min(100%,42rem);height:100dvh;padding:max(.8rem,env(safe-area-inset-top)) 1rem max(.7rem,env(safe-area-inset-bottom));gap:.45rem}.tutorial h1{font:500 clamp(2.7rem,min(9vw,6dvh),4.5rem)/.82 var(--font-serif);letter-spacing:-.045em}.tutorial-copy{color:var(--muted)}.tutorial-media{background:var(--paper-deep);box-shadow:var(--shadow);border-radius:1.5rem}.tutorial-actions{width:min(100%,25rem)}.capture-experience{max-width:48rem;min-height:100dvh;padding-top:max(.6rem,env(safe-area-inset-top));padding-bottom:max(.6rem,env(safe-area-inset-bottom));flex-direction:column;justify-content:center;display:flex}.capture-experience .eyebrow{margin:.25rem 0}.capture-experience h1,.capture-review h1,.final-capture-review h1{font:500 clamp(2.8rem,7vw,4.8rem)/.84 var(--font-serif);letter-spacing:-.04em;margin:.15rem 0 .4rem}.capture-cue{color:var(--muted);margin:0 auto .8rem}.capture-progress{margin:0 auto .6rem}.capture-progress strong{color:var(--accent);font-size:.72rem}.capture-progress i{background:var(--line);width:.5rem;height:.5rem}.capture-progress i.current{background:var(--surface);box-shadow:0 0 0 2px var(--accent)}.capture-progress i.done{background:var(--accent)}.captured-slots{margin:.2rem auto .7rem}.captured-slots button>span,.captured-slots img{background:var(--paper-deep);box-shadow:inset 0 0 0 1px var(--line);border:0;border-radius:.8rem}.captured-slots button.filled img{box-shadow:inset 0 0 0 2px var(--accent);border:0}.camera-frame{box-shadow:var(--shadow);background:#111814;border-radius:clamp(1.2rem,4vw,2.2rem)}.face-oval{pointer-events:none;box-shadow:none!important;opacity:0!important;border:none!important;display:none!important}.pose-guide{background:#fffdf8e6;border:0;border-radius:1rem;box-shadow:0 12px 38px #0000002e}.camera-guidance{background:var(--surface);color:var(--ink);box-shadow:0 9px 28px #1b231f1f}.camera-guidance.ready{color:var(--success);background:#dfeadf}.festivelens-capture__frame,.festivelens-capture,.wedsnap-capture__frame{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;position:relative}.festivelens-capture__frame,.festivelens-capture,.wedsnap-capture__frame .face-oval,.festivelens-capture__frame,.festivelens-capture,.wedsnap-capture__frame .pose-guide{pointer-events:none}.shutter-area{margin:.8rem 0 .1rem}.shutter{border:2px solid var(--ink);width:4.7rem;height:4.7rem;transition:transform .14s var(--ease-out)}.shutter:active:not(:disabled){transform:scale(.96)}.shutter-area strong{font-size:.63rem}.captured-preview{border:3px solid #fff;border-radius:1.25rem;box-shadow:0 16px 40px #101c162e,0 0 0 1px #0000000f}.final-pose-grid{gap:.65rem}.final-pose-grid img{border-radius:1rem}.loading-state{min-height:100dvh;position:relative;overflow:hidden}.loading-state:before,.loading-state:after{content:"";background:var(--paper-deep);opacity:.65;width:11rem;height:14rem;animation:memory-drift 2.8s var(--ease-move) infinite alternate;border-radius:1rem;position:absolute;transform:rotate(-7deg)}.loading-state:before{top:18%;left:5%}.loading-state:after{animation-delay:-1.2s;bottom:16%;right:5%;transform:rotate(8deg)}.loading-state h1{z-index:1;max-width:50rem;font:500 clamp(3rem,7vw,6rem)/.86 var(--font-serif);letter-spacing:-.04em;margin:.5rem auto;position:relative}.spinner{z-index:1;border-width:2px;border-top-color:var(--accent);width:2.6rem;height:2.6rem;position:relative}@keyframes memory-drift{to{transform:translateY(1rem)rotate(-3deg)}}.celebration{min-height:78dvh;padding:5rem 1rem}.celebration h1{font:500 clamp(4rem,9vw,8rem)/.8 var(--font-serif);letter-spacing:-.055em}.guest-results{width:min(100%,86rem);margin:auto;padding:clamp(2rem,6vw,5rem) clamp(.7rem,4vw,3rem)}.guest-results>h1{font:500 clamp(3.7rem,8vw,7rem)/.82 var(--font-serif);letter-spacing:-.05em;margin:.4rem 0 1.5rem}.gallery-filters{flex-wrap:nowrap;padding-bottom:.4rem;overflow:auto}.gallery-filters .button{white-space:nowrap}.gallery-actions{margin-bottom:1.4rem}.photo-card.selected{outline:2px solid var(--accent);outline-offset:-2px}.lightbox{z-index:var(--z-modal);background:#0d120ff5}.lightbox img{border-radius:12px;max-height:min(78vh,78dvh);box-shadow:0 20px 50px #00000080}.lightbox-close{background:#ffffff1a;border-radius:50%;place-items:center;width:3rem;height:3rem;font-size:2rem;display:grid;top:1rem;right:1rem}.download-moment{z-index:var(--z-modal);background:#f7f2e9f5}.download-card{background:var(--surface);box-shadow:var(--shadow),inset 0 0 0 1px #68563d1f;border:0;border-radius:2rem}.download-moment h2{font:500 clamp(3.1rem,7vw,5.6rem)/.82 var(--font-serif);letter-spacing:-.045em}.archive-progress{background:var(--paper-deep);border:0;height:2.5rem}.archive-progress i{background:var(--accent);transition:width .35s var(--ease-out)}.memory-stack img{border-color:var(--surface);box-shadow:0 12px 36px #261e142e}@media (max-width:600px){.camera-shell{padding:.7rem 1rem}.tutorial{padding-inline:1rem}.capture-experience{padding-inline:.7rem}.capture-experience .camera-frame,.capture-experience .camera-frame .camera{max-height:min(53dvh,100dvh - 20rem)}.final-pose-grid{gap:.3rem}.guest-results{padding-top:2.2rem}.guest-results>h1{font-size:3.6rem}.gallery-actions{grid-template-columns:1fr 1fr;display:grid}.gallery-actions .button{min-height:3rem;padding:.6rem}.gallery-actions .button:nth-child(3),.gallery-actions .button:nth-child(4){grid-column:span 2}.celebration{min-height:100dvh}.loading-state:before,.loading-state:after{opacity:.4;width:7rem;height:9rem}.festivelens-wordmark,.wedsnap-wordmark{letter-spacing:.22em!important;text-indent:.22em!important;white-space:nowrap!important;font-size:.68rem!important}}@media (prefers-reduced-motion:reduce){.loading-state:before,.loading-state:after{animation:none}.spinner{animation-duration:1.4s}}.celebration-preview{justify-content:center;align-items:center;height:9rem;margin:.75rem auto 1.35rem;display:flex}.celebration-preview img{aspect-ratio:4/5;object-fit:cover;border:5px solid var(--surface);width:7.25rem;transform:translateX(calc((var(--preview-index) - 1) * -1rem)) rotate(calc((var(--preview-index) - 1) * 5deg));border-radius:.8rem;box-shadow:0 16px 35px #261e1433}.sparkles i{animation-duration:5.4s}.festivelens-wordmark,.wedsnap-wordmark{font:600 .74rem/1 var(--font-serif);letter-spacing:.32em;text-indent:.32em;white-space:nowrap!important}a.festivelens-wordmark,.wedsnap-wordmark{color:inherit;cursor:pointer;text-decoration:none}.festivelens-primary,.wedsnap-primary{color:#fff;letter-spacing:.01em;cursor:pointer;width:100%;min-height:3.55rem;transition:transform .16s var(--ease-out),background-color .18s ease;background:#315c4a;border:0;border-radius:999px;justify-content:center;align-items:center;font-size:.92rem;font-weight:650;display:flex;box-shadow:0 12px 30px #1735292b}.festivelens-primary,.wedsnap-primary:active{background:#25483a;transform:scale(.975)}.festivelens-ornament,.wedsnap-ornament{color:#b39a68;justify-content:center;align-items:center;gap:.35rem;width:4rem;margin:.9rem auto;display:flex}.festivelens-ornament,.wedsnap-ornament i{opacity:.5;background:currentColor;width:1.25rem;height:1px;display:block}.festivelens-ornament,.wedsnap-ornament b{font-size:.55rem;font-weight:400}.festivelens-text-action,.wedsnap-text-action,.festivelens-back,.wedsnap-back{color:#315c4a;text-underline-offset:.28rem;cursor:pointer;background:0 0;border:0;font-weight:650;text-decoration:underline}.festivelens-cover,.wedsnap-cover{color:#fff;background:#24141d;min-height:100dvh;position:relative;overflow:hidden}.festivelens-cover__image,.festivelens-cover,.wedsnap-cover__image{object-fit:cover;object-position:var(--guest-cover-mobile-x,50%) var(--guest-cover-mobile-y,50%);width:100%;height:100%;transform:scale(var(--guest-cover-mobile-zoom,1));transform-origin:var(--guest-cover-mobile-origin,50% 50%);position:absolute;inset:0}.festivelens-cover__shade,.festivelens-cover,.wedsnap-cover__shade{background:linear-gradient(#140c110d 0%,#190d1412 34%,#200d1885 60%,#190814f0 100%);position:absolute;inset:0}.festivelens-cover__content,.festivelens-cover,.wedsnap-cover__content{z-index:1;min-height:100dvh;padding:max(2.35rem,env(safe-area-inset-top)) 1.45rem max(2.2rem,env(safe-area-inset-bottom));text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.festivelens-cover__copy,.festivelens-cover,.wedsnap-cover__copy{margin-top:auto}.festivelens-cover__names,.festivelens-cover,.wedsnap-cover__names{font:500 1.55rem/1 var(--font-serif);letter-spacing:.01em;margin:0 0 1.1rem}.festivelens-cover,.wedsnap-cover h1{font:500 4.35rem/.82 var(--font-serif);letter-spacing:-.045em;margin:0}.festivelens-cover__support,.festivelens-cover,.wedsnap-cover__support{color:#ffffffe6;margin:0;font-size:.91rem}.festivelens-cover,.wedsnap-cover .festivelens-primary,.wedsnap-primary{background:#315c4a;max-width:20.8rem;min-height:4.15rem;margin-top:2.35rem;font-size:1rem}.festivelens-cover,.wedsnap-cover:not([style]){background-image:linear-gradient(145deg,#3b232f,#170d14)}.festivelens-cover,.wedsnap-cover a.festivelens-primary,.wedsnap-primary{text-decoration:none}@media (min-width:768px){.festivelens-cover__image,.festivelens-cover,.wedsnap-cover__image{object-position:var(--guest-cover-desktop-x,50%) var(--guest-cover-desktop-y,50%);transform:scale(var(--guest-cover-desktop-zoom,1));transform-origin:var(--guest-cover-desktop-origin,50% 50%)}}.festivelens-capture-complete,.festivelens-capture,.wedsnap-capture-complete{width:min(100%,28rem);height:100dvh;padding:max(1.25rem,env(safe-area-inset-top)) .9rem max(1.8rem,env(safe-area-inset-bottom));color:#211a20;background:#f8f5ef url(/festivelens/decor/paper-pearl.png) 50%/30rem;flex-direction:column;display:flex;position:relative;overflow:hidden}.festivelens-capture-complete,.festivelens-capture,.wedsnap-capture-complete:before{content:"";pointer-events:none;background:#f8f5efad;position:absolute;inset:0}.festivelens-capture-complete,.festivelens-capture,.wedsnap-capture-complete>*{z-index:1;position:relative}.festivelens-back,.wedsnap-back{color:#211a20;align-self:flex-start;width:2.5rem;height:2.5rem;margin-left:-.25rem;font-size:1.4rem;text-decoration:none}.capture-complete__heading{margin-top:4.8rem}.festivelens-capture-complete,.festivelens-capture,.wedsnap-capture-complete .capture-complete__heading h1{font:500 3.15rem/.88 var(--font-serif);letter-spacing:-.04em;margin:0}.capture-complete__heading p{color:#716f6a;margin:0;font-size:.93rem}.capture-complete__heading .festivelens-ornament,.wedsnap-ornament{margin:.95rem auto .8rem}.capture-complete__fan{perspective:900px;width:calc(100% + 1.8rem);height:15.5rem;margin:2.15rem -.9rem 0;position:relative}.capture-complete__portrait{transform-origin:50% 110%;cursor:pointer;background:#fff;border:0;border-radius:.72rem;width:7.65rem;height:11.15rem;padding:.25rem;position:absolute;bottom:1.1rem;left:50%;overflow:visible;box-shadow:0 14px 30px #362a1f2e,0 3px 8px #362a1f1f}.capture-complete__portrait img{object-fit:cover;border-radius:.48rem;width:100%;height:100%;display:block}.capture-complete__portrait>span{color:#fff;background:#315c4a;border:2px solid #f8f5ef;border-radius:50%;place-items:center;width:1.45rem;height:1.45rem;font-size:.72rem;display:grid;position:absolute;top:-.45rem;right:-.35rem;box-shadow:0 4px 10px #1e403233}.capture-complete__portrait:first-child{z-index:1;transform:translate(-152%)rotate(-9deg)translateY(.65rem)}.capture-complete__portrait:nth-child(2){z-index:2;transform:translate(-103%)rotate(-4deg)translateY(.1rem)}.capture-complete__portrait:nth-child(3){z-index:5;transform:translate(-50%)translateY(-.25rem)}.capture-complete__portrait:nth-child(4){z-index:4;transform:translate(3%)rotate(4deg)translateY(.1rem)}.capture-complete__portrait:nth-child(5){z-index:3;transform:translate(52%)rotate(9deg)translateY(.65rem)}.capture-complete__actions{justify-items:center;gap:1.25rem;width:100%;margin-top:auto;display:grid}.capture-complete__actions .festivelens-primary,.wedsnap-primary{max-width:22rem;min-height:3.55rem}.capture-complete__actions .festivelens-text-action,.wedsnap-text-action{font-size:.82rem}.festivelens-discovery,.wedsnap-discovery{width:min(100%,28rem);min-height:100dvh;padding:max(1.25rem,env(safe-area-inset-top)) 1rem max(1.7rem,env(safe-area-inset-bottom));color:#211a20;background:#f8f5ef url(/festivelens/decor/paper-pearl.png) 50%/30rem;flex-direction:column;align-items:center;display:flex}.festivelens-discovery,.wedsnap-discovery:before{content:"";pointer-events:none;background:radial-gradient(circle at 50% 30%,#ffffffc7,#f8f5efb3 48%,#f8f5efe6);position:absolute;inset:0}.festivelens-discovery,.wedsnap-discovery>*{z-index:1;position:relative}.discovery-photo-fan{filter:drop-shadow(0 20px 22px #462e1e21);width:100%;height:25.8rem;margin:-.25rem 0 .1rem;position:relative}.discovery-photo-fan img{object-fit:cover;transform-origin:50% 110%;border:.33rem solid #fff;border-radius:.72rem;width:12rem;height:17rem;position:absolute;top:50%;left:50%;box-shadow:0 10px 28px #35251933}.discovery-photo-fan img:first-child{z-index:5;transform:translate(-96%,-53%)rotate(-10deg)}.discovery-photo-fan img:nth-child(2){z-index:4;transform:translate(-69%,-50%)rotate(-4deg)}.discovery-photo-fan img:nth-child(3){z-index:3;transform:translate(-38%,-47%)rotate(3deg)}.discovery-photo-fan img:nth-child(4){z-index:2;transform:translate(-8%,-43%)rotate(8deg)}.discovery-photo-fan img:nth-child(5){z-index:1;transform:translate(20%,-38%)rotate(13deg)}.discovery-photo-fan img:only-child{transform:translate(-50%,-49%)rotate(-3deg)}.discovery-photo-fan img:first-child:nth-last-child(2){transform:translate(-70%,-50%)rotate(-7deg)}.discovery-photo-fan img:nth-child(2):last-child{transform:translate(-30%,-45%)rotate(7deg)}.festivelens-discovery,.wedsnap-discovery>.eyebrow{color:#7b2943;letter-spacing:.24em;margin:.1rem 0 .85rem;font-size:.65rem}.festivelens-discovery,.wedsnap-discovery h1{font:500 3.65rem/.84 var(--font-serif);letter-spacing:-.045em;margin:0}.festivelens-discovery,.wedsnap-discovery .festivelens-ornament,.wedsnap-ornament{margin:.75rem auto .65rem}.discovery-summary{color:#716f6a;margin:0;font-size:.9rem;line-height:1.55}.discovery-summary strong{color:#7b2943;font-size:1.12rem}.discovery-summary b{color:#211a20}.festivelens-discovery,.wedsnap-discovery>.festivelens-primary,.wedsnap-primary{max-width:21rem;min-height:3.6rem;margin-top:auto}.festivelens-gallery,.wedsnap-gallery{color:#211a20;background:#f8f5ef;width:min(100%,68rem);min-height:100dvh;margin:auto;padding:0 .85rem 7rem}.gallery-header{justify-content:center;align-items:center;height:4.2rem;padding:0 1rem;display:flex}.gallery-header .festivelens-wordmark,.wedsnap-wordmark{margin:auto;white-space:nowrap!important}.festivelens-gallery,.wedsnap-gallery>h1{text-align:center;font:500 clamp(2.65rem,10vw,4.8rem)/.88 var(--font-serif);letter-spacing:-.04em;margin:.35rem auto .15rem}.festivelens-gallery,.wedsnap-gallery>.festivelens-ornament,.wedsnap-ornament{margin:.65rem auto 1rem}.gallery-compact-actions{justify-content:center;align-items:center;gap:.5rem;width:min(100%,28rem);margin:0 auto 1.15rem;display:flex}.gallery-compact-actions button{white-space:nowrap;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;min-height:2.9rem;padding:.55rem .95rem;font-size:.8rem;font-weight:650;transition:transform .14s,background .16s,border-color .16s;display:inline-flex}.gallery-compact-actions span{margin-right:.32rem;font-size:.95em}.gallery-action-primary{color:#fff;background:#315c4a;border:0;flex:1.35;font-weight:700;box-shadow:0 4px 14px #315c4a38}.gallery-action-secondary{color:#211a20;background:#fff;border:1px solid #cfc7ba;flex:1}.gallery-action-secondary.active{color:#fff;background:#315c4a;border-color:#315c4a}.gallery-action-icon{color:#5a544d;background:#fff;border:1px solid #cfc7ba;border-radius:50%;flex:none;place-items:center;width:2.9rem;height:2.9rem;padding:0;display:grid}.gallery-action-icon span{margin:0;font-size:1.05rem}.gallery-albums{gap:.45rem;margin:0 0 .65rem;padding-bottom:.2rem;display:flex;overflow:auto}.gallery-albums button{color:#315c4a;background:#e2eee7;border:0;border-radius:999px;flex:none;padding:.35rem .7rem;font-size:.69rem}.gallery-albums button.active{color:#fff;background:#315c4a}.festivelens-gallery,.wedsnap-gallery .editorial-masonry{columns:2;column-gap:.34rem;margin-top:0;display:block}.festivelens-gallery,.wedsnap-gallery .photo-card{break-inside:avoid;background:#ded6ca;border-radius:.33rem;width:100%;margin:0 0 .34rem;display:inline-block;position:relative;overflow:hidden}.festivelens-gallery,.wedsnap-gallery .photo-card img{object-fit:cover;width:100%;height:auto;min-height:7rem;display:block}.festivelens-gallery,.wedsnap-gallery .photo-open{display:block}.festivelens-gallery,.wedsnap-gallery .photo-card.selected:after{content:"";pointer-events:none;background:#315c4a33;position:absolute;inset:0}.selection-circle{z-index:2;color:#fff;background:#171f1b40;border:2px solid #fff;border-radius:50%;place-items:center;width:1.45rem;height:1.45rem;font-size:.72rem;display:grid;position:absolute;top:.55rem;right:.55rem;box-shadow:0 3px 10px #00000026}.photo-card.selected .selection-circle{background:#315c4a}.selection-dock{z-index:30;left:50%;bottom:max(.8rem,env(safe-area-inset-bottom));color:#fff;background:#203a30;border-radius:1.1rem;grid-template-columns:1fr auto auto;align-items:center;gap:.45rem;width:min(100% - 1.4rem,30rem);min-height:4rem;padding:.55rem .6rem .55rem 1rem;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 16px 40px #172b2347}.selection-dock strong{font-size:.78rem}.selection-dock button{color:#203a30;background:#fff;border:0;border-radius:.8rem;min-height:2.75rem;padding:.55rem .85rem;font-size:.76rem;font-weight:700}.selection-dock button:last-child{color:#fff;background:0 0}.selection-dock button:disabled{opacity:.42}.festivelens-gallery,.wedsnap-gallery .lightbox{columns:auto}@media (hover:hover) and (pointer:fine){.festivelens-primary,.wedsnap-primary:hover{background:#25483a}.capture-complete__portrait:hover{filter:brightness(1.02)}.gallery-compact-actions button:hover{border-color:#315c4a}}@media (min-width:700px){.festivelens-gallery,.wedsnap-gallery .editorial-masonry{columns:3}.festivelens-gallery,.wedsnap-gallery{padding-inline:1.4rem}.gallery-compact-actions{width:28rem;margin-inline:auto}}@media (max-width:370px){.festivelens-cover,.wedsnap-cover h1{font-size:3.8rem}.capture-complete__heading{margin-top:3.8rem}.capture-complete__portrait{width:7rem;height:10.4rem}.capture-complete__fan{height:14.5rem}.festivelens-discovery,.wedsnap-discovery h1{font-size:3.25rem}.discovery-photo-fan{height:23rem}.discovery-photo-fan img{width:10.8rem;height:15.6rem}.gallery-compact-actions{gap:.35rem}.gallery-compact-actions button{min-height:2.65rem;padding:.45rem .65rem;font-size:.74rem}.gallery-action-icon{width:2.65rem;height:2.65rem}}@media (min-width:420px) and (max-width:699px){.festivelens-cover__content,.festivelens-cover,.wedsnap-cover__content{padding-bottom:max(2.7rem,env(safe-area-inset-bottom))}.capture-complete__heading{margin-top:6.4rem}.capture-complete__fan{margin-top:3rem}.discovery-photo-fan{height:29rem}.discovery-photo-fan img{width:13.3rem;height:18.8rem}}@media (prefers-reduced-motion:reduce){.festivelens-primary,.wedsnap-primary{transition-duration:.01ms}.capture-complete__portrait,.discovery-photo-fan img{transition:none}}.discovery-photo-fan{height:29rem;margin-top:1rem}.festivelens-gallery,.wedsnap-gallery .editorial-masonry{columns:auto;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.34rem;display:grid}.masonry-column{align-content:start;gap:.34rem;display:grid}.festivelens-gallery,.wedsnap-gallery .photo-card{break-inside:auto;margin:0;display:block}@media (min-width:420px) and (max-width:699px){.discovery-photo-fan{height:32rem}}.festivelens-consent,.wedsnap-consent{width:min(100%,28rem);min-height:100dvh;padding:max(1.25rem,env(safe-area-inset-top)) 1.4rem max(2rem,env(safe-area-inset-bottom));color:#211a20;background:#f8f5ef url(/festivelens/decor/paper-pearl.png) 50%/30rem;flex-direction:column;margin:auto;display:flex;position:relative;overflow:hidden}.festivelens-consent,.wedsnap-consent:before{content:"";pointer-events:none;background:#f8f5ef99;position:absolute;inset:0}.festivelens-consent,.wedsnap-consent>*{z-index:1;position:relative}.festivelens-consent__back,.festivelens-consent,.wedsnap-consent__back{color:#211a20;align-self:flex-start;width:2.5rem;height:2.5rem;margin-left:-.25rem;font-size:1.4rem;text-decoration:none}.festivelens-consent__body,.festivelens-consent,.wedsnap-consent__body{margin-top:auto;padding-bottom:2rem}.festivelens-consent__eyebrow,.festivelens-consent,.wedsnap-consent__eyebrow{color:#7b2943;letter-spacing:.28em;margin:0 0 1.45rem;font-size:.62rem}.festivelens-consent__body,.festivelens-consent,.wedsnap-consent__body h2{font:500 clamp(3rem,9vw,4.5rem)/.84 var(--font-serif);letter-spacing:-.04em;margin:0 0 .15rem}.festivelens-consent__body,.festivelens-consent,.wedsnap-consent__body .festivelens-ornament,.wedsnap-ornament{width:4rem;margin:.9rem auto .8rem}.festivelens-consent__copy,.festivelens-consent,.wedsnap-consent__copy{color:#716f6a;max-width:22rem;margin:0 0 2rem;font-size:.97rem;line-height:1.62}.festivelens-consent__check,.festivelens-consent,.wedsnap-consent__check{cursor:pointer;color:#211a20;align-items:flex-start;gap:.8rem;margin:0;font-size:.92rem;line-height:1.5;display:flex}.festivelens-consent__checkbox,.festivelens-consent__check,.festivelens-consent,.wedsnap-consent__checkbox{background:#fff;border:1.5px solid #bdb6aa;border-radius:.3rem;flex:none;place-items:center;width:1.35rem;height:1.35rem;margin-top:.1rem;transition:border-color .16s,background-color .16s;display:grid;position:relative}.festivelens-consent__checkbox,.festivelens-consent__check,.festivelens-consent,.wedsnap-consent__checkbox.checked{background:#315c4a;border-color:#315c4a}.festivelens-consent__actions,.festivelens-consent,.wedsnap-consent__actions{gap:.9rem;margin-top:auto;display:grid}.festivelens-consent__actions,.festivelens-consent,.wedsnap-consent__actions .festivelens-primary,.wedsnap-primary{min-height:3.6rem;transition:opacity .2s}.festivelens-consent__actions,.festivelens-consent,.wedsnap-consent__actions .festivelens-primary,.wedsnap-primary:disabled{box-shadow:none;background:#bdb6aa}@media (max-width:370px){.festivelens-consent__body,.festivelens-consent,.wedsnap-consent__body h2{font-size:2.75rem}}.festivelens-guide,.wedsnap-guide{width:min(100%,32rem);min-height:100dvh;padding:max(1.4rem,env(safe-area-inset-top)) clamp(1.1rem,5vw,2rem) max(1.5rem,env(safe-area-inset-bottom));color:#211a20;background:#f8f5ef url(/festivelens/decor/paper-pearl.png) 50%/30rem;flex-direction:column;margin:auto;display:flex;position:relative;overflow:hidden}.festivelens-guide,.wedsnap-guide:before{content:"";pointer-events:none;background:#f8f5ef8c;position:absolute;inset:0}.festivelens-guide,.wedsnap-guide>*{z-index:1;position:relative}.festivelens-guide__content,.festivelens-guide,.wedsnap-guide__content{text-align:left;flex-direction:column;width:100%;display:flex}.festivelens-guide__eyebrow,.festivelens-guide,.wedsnap-guide__eyebrow{color:#9a4f2f;letter-spacing:.17em;margin:0 0 .55rem;font-size:.67rem}.festivelens-guide,.wedsnap-guide h1{max-width:10ch;font:500 clamp(2.35rem,10vw,3.65rem)/.92 var(--font-serif);letter-spacing:-.035em;color:#2b301f;text-wrap:balance;margin:0}.festivelens-guide__facts,.festivelens-guide,.wedsnap-guide__facts{gap:.7rem;margin:1.45rem 0 1.35rem;display:grid}.festivelens-guide__facts,.festivelens-guide,.wedsnap-guide__facts p{color:#25241f;grid-template-columns:2rem 1fr;margin:0;font-size:clamp(.86rem,3.8vw,1rem);line-height:1.35;display:grid}.festivelens-guide__facts,.festivelens-guide,.wedsnap-guide__facts .festivelens-guide__fact-icon,.festivelens-guide,.wedsnap-guide__fact-icon{color:#9a4f2f;place-items:center;width:1.55rem;height:1.55rem;display:grid}.festivelens-guide__facts,.festivelens-guide,.wedsnap-guide__facts svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.festivelens-guide__facts,.festivelens-guide,.wedsnap-guide__facts strong{font-weight:700;display:inline}.festivelens-guide__expect,.festivelens-guide,.wedsnap-guide__expect{color:#414437;letter-spacing:.14em;text-transform:uppercase;margin:0 0 .65rem;font-size:.68rem;font-weight:800}.festivelens-guide__strip,.festivelens-guide,.wedsnap-guide__strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;width:100%;display:grid}.festivelens-guide__angle,.festivelens-guide,.wedsnap-guide__angle{flex-direction:column;align-items:center;gap:.35rem;display:flex}.festivelens-guide__angle,.festivelens-guide,.wedsnap-guide__angle img{aspect-ratio:3/4;object-fit:cover;border:.18rem solid #fff;border-radius:.7rem;width:100%;display:block;box-shadow:0 8px 20px #362a1f21}.festivelens-guide__angle,.festivelens-guide,.wedsnap-guide__angle .pose-placeholder{aspect-ratio:3/4;background:#ede8df;border:.22rem solid #fff;border-radius:.55rem;place-items:center;width:100%;display:grid}.festivelens-guide__angle,.festivelens-guide,.wedsnap-guide__angle .pose-placeholder i{border:1.5px solid #667a68;border-radius:48%;width:1.1rem;height:1.5rem;display:block}.festivelens-guide__angle,.festivelens-guide,.wedsnap-guide__angle span{letter-spacing:.04em;color:#55564d;text-align:center;white-space:nowrap;font-size:clamp(.43rem,2vw,.57rem);font-weight:800}.festivelens-guide__actions,.festivelens-guide,.wedsnap-guide__actions{width:100%;margin-top:1.35rem;display:grid}.festivelens-guide__actions,.festivelens-guide,.wedsnap-guide__actions .festivelens-primary,.wedsnap-primary{width:100%;max-width:none;min-height:3.75rem;font:italic 500 1.45rem/1 var(--font-serif);box-shadow:0 12px 28px #1f4a382e}@media (max-width:370px){.festivelens-guide,.wedsnap-guide{padding-inline:.9rem}.festivelens-guide,.wedsnap-guide h1{font-size:2.15rem}.festivelens-guide__facts,.festivelens-guide,.wedsnap-guide__facts{margin-block:1rem}.festivelens-guide__strip,.festivelens-guide,.wedsnap-guide__strip{gap:.25rem}}@media (min-height:800px){.festivelens-guide,.wedsnap-guide{justify-content:center}}.festivelens-capture,.wedsnap-capture{width:min(100%,32rem);height:100dvh;padding:max(.8rem,env(safe-area-inset-top)) .9rem max(1rem,env(safe-area-inset-bottom));color:#211a20;background:#f8f5ef;flex-direction:column;margin:auto;display:flex;overflow:hidden;touch-action:none!important}.festivelens-capture__header,.festivelens-capture,.wedsnap-capture__header{flex-direction:column;gap:.4rem;padding-bottom:.4rem;display:flex}.festivelens-capture__progress,.festivelens-capture,.wedsnap-capture__progress{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.festivelens-capture__step,.festivelens-capture,.wedsnap-capture__step{letter-spacing:.14em;text-transform:uppercase;color:#315c4a;font-size:.68rem;font-weight:800}.festivelens-capture__segments,.festivelens-capture,.wedsnap-capture__segments{gap:.38rem;display:flex}.festivelens-capture__segments,.festivelens-capture,.wedsnap-capture__segments i{background:#ded6ca;border-radius:999px;width:2.2rem;height:.38rem;transition:background-color .22s;display:block}.festivelens-capture__segments,.festivelens-capture,.wedsnap-capture__segments i.current{background:#315c4a59;box-shadow:0 0 0 1.5px #315c4a}.festivelens-capture__segments,.festivelens-capture,.wedsnap-capture__segments i.done{background:#315c4a}.festivelens-capture__captured-row,.festivelens-capture,.wedsnap-capture__captured-row{justify-content:flex-start;gap:.3rem;display:flex}.festivelens-capture__slot,.festivelens-capture,.wedsnap-capture__slot{color:#716f6a;cursor:default;background:#ede8df;border:0;border-radius:.48rem;width:2.65rem;height:2.65rem;padding:0;font-size:.72rem;font-weight:700;transition:box-shadow .18s;overflow:hidden}.festivelens-capture__slot,.festivelens-capture,.wedsnap-capture__slot.filled{cursor:pointer;box-shadow:0 0 0 2px #315c4a}.festivelens-capture__slot,.festivelens-capture,.wedsnap-capture__slot img{object-fit:cover;width:100%;height:100%;display:block}.festivelens-capture__slot,.festivelens-capture,.wedsnap-capture__slot span{place-items:center;width:100%;height:100%;display:grid}.festivelens-capture__instruction,.festivelens-capture,.wedsnap-capture__instruction{text-align:center;margin:.3rem 0 .4rem}.festivelens-capture__eyebrow,.festivelens-capture,.wedsnap-capture__eyebrow{color:#315c4a;letter-spacing:.2em;margin:0 0 .2rem;font-size:.62rem}.festivelens-capture,.wedsnap-capture h1{font:600 clamp(2rem,8vw,3.4rem)/.88 var(--font-serif);letter-spacing:-.035em;margin:.1rem 0 .25rem}.festivelens-capture__cue,.festivelens-capture,.wedsnap-capture__cue{color:#716f6a;margin:0;font-size:.84rem}.festivelens-capture__frame,.festivelens-capture,.wedsnap-capture__frame{isolation:isolate;background:#111814;border-radius:clamp(1rem,3vw,1.8rem);flex:1;min-height:0;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:0 16px 48px #101c162e}.festivelens-capture__frame,.festivelens-capture,.wedsnap-capture__frame .camera{object-fit:cover;will-change:transform;width:100%;height:100%;display:block;transform:scaleX(-1)translateZ(0)}.festivelens-capture__frame,.festivelens-capture,.wedsnap-capture__frame .auto-pose-guide{width:90%;height:98%;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;opacity:.45;will-change:opacity,transform;pointer-events:none;background:0 0;border:0;border-radius:0;padding:0;transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1);position:absolute;top:50%;left:50%;transform:translate(-50%,-48%)translateZ(0)}.festivelens-capture__frame,.festivelens-capture,.wedsnap-capture__frame .auto-pose-guide.close{opacity:.8}.festivelens-capture__frame,.festivelens-capture,.wedsnap-capture__frame .auto-pose-guide.accepted{opacity:1}.festivelens-capture__frame,.festivelens-capture,.wedsnap-capture__frame .auto-pose-guide.captured{opacity:1;transform:translate(-50%,-48%)scale(1.02)translateZ(0)}.festivelens-capture__frame,.festivelens-capture,.wedsnap-capture__frame .auto-pose-guide img{object-fit:contain;filter:brightness(0)invert();will-change:filter;width:100%;height:100%;transition:filter .35s cubic-bezier(.16,1,.3,1);transform:scale(1.16)}.festivelens-capture__frame,.festivelens-capture,.wedsnap-capture__frame .auto-pose-guide.close img{filter:brightness(0)invert(72%)sepia(38%)saturate(550%)hue-rotate(90deg)}.festivelens-capture__frame,.festivelens-capture,.wedsnap-capture__frame .auto-pose-guide.accepted img{filter:brightness(0)invert(55%)sepia(50%)saturate(700%)hue-rotate(95deg)}.festivelens-capture__frame,.festivelens-capture,.wedsnap-capture__frame .auto-pose-guide.captured img{filter:brightness(0)invert(50%)sepia(60%)saturate(850%)hue-rotate(98deg);transform:scale(1.16)}.festivelens-capture__frame,.festivelens-capture,.wedsnap-capture__frame .face-oval{pointer-events:none;box-shadow:none!important;opacity:0!important;border:none!important;display:none!important}.auto-capture-hold{display:none!important}.auto-capture-flash{border-radius:inherit;pointer-events:none;animation:.28s cubic-bezier(.16,1,.3,1) both auto-capture-success;position:absolute;inset:0;box-shadow:inset 0 0 0 3.5px #315c4a,inset 0 0 28px #315c4a73}@keyframes auto-capture-success{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.008)}}.festivelens-capture__guidance,.festivelens-capture,.wedsnap-capture__guidance{color:#211a20;background:#fff;border-radius:999px;justify-content:center;align-self:center;align-items:center;margin:.55rem auto;padding:.3rem .85rem;font-size:.79rem;font-weight:700;transition:background-color .28s,color .28s,box-shadow .28s;display:inline-flex;box-shadow:0 6px 18px #211a201a}.festivelens-capture__guidance,.festivelens-capture,.wedsnap-capture__guidance.ready{color:#315c4a;background:#e2eee7}.festivelens-capture__shutter-area,.festivelens-capture,.wedsnap-capture__shutter-area{justify-content:center;padding:.5rem 0 .3rem;display:flex}.festivelens-shutter,.wedsnap-shutter{cursor:pointer;background:0 0;border:2.5px solid #211a20;border-radius:50%;width:4.6rem;height:4.6rem;padding:.3rem;transition:transform .14s}.festivelens-shutter,.wedsnap-shutter span{background:#fff;border:1.5px solid #ded6ca;border-radius:50%;width:100%;height:100%;display:block;box-shadow:inset 0 0 0 2px #fff}.festivelens-shutter,.wedsnap-shutter:active:not(:disabled){transform:scale(.94)}.festivelens-shutter,.wedsnap-shutter:disabled{opacity:.32;cursor:not-allowed}.festivelens-shutter,.wedsnap-shutter:focus-visible{outline-offset:4px;outline:3px solid #315c4a}@media (max-width:370px){.festivelens-capture,.wedsnap-capture h1{font-size:1.85rem}.festivelens-capture__slot,.festivelens-capture,.wedsnap-capture__slot{width:2.3rem;height:2.3rem}}@media (max-height:700px){.festivelens-capture__frame,.festivelens-capture,.wedsnap-capture__frame{min-height:0}}@media (prefers-reduced-motion:reduce){.festivelens-capture__frame,.festivelens-capture,.wedsnap-capture__frame .auto-pose-guide,.festivelens-capture__frame,.festivelens-capture,.wedsnap-capture__frame .face-oval{transition:none}.auto-capture-flash{opacity:0;animation:none}}.festivelens-search,.wedsnap-search{width:min(100%,28rem);min-height:100dvh;padding:max(4.5rem,env(safe-area-inset-top)) 1rem max(1.5rem,env(safe-area-inset-bottom));color:#211a20;text-align:center;background:#f8f5ef;grid-template-rows:auto auto;align-content:center;row-gap:.75rem;margin:auto;display:grid;position:relative;overflow:hidden}.festivelens-search,.wedsnap-search>.festivelens-wordmark,.wedsnap-wordmark{top:max(1.8rem,env(safe-area-inset-top));color:#211a20;position:absolute;left:50%;transform:translate(-50%)}.festivelens-search__fan,.festivelens-search,.wedsnap-search__fan{perspective:900px;align-self:center;width:calc(100% + 2rem);height:14.5rem;margin-inline:-1rem;position:relative}.festivelens-search__fan,.festivelens-search,.wedsnap-search__fan .capture-complete__portrait{cursor:default;border:1px solid #b39a686b;width:6.35rem;height:9.45rem;bottom:1.2rem;box-shadow:0 12px 26px #362a1f21,0 2px 6px #362a1f17}.festivelens-search__fan,.festivelens-search,.wedsnap-search__fan .capture-complete__portrait>span{border-color:#fff;top:auto;bottom:.55rem;right:50%;transform:translate(50%)}.festivelens-search__body,.festivelens-search,.wedsnap-search__body{flex-direction:column;align-items:center;gap:.72rem;width:100%;padding-bottom:.2rem;display:flex}.festivelens-search__eyebrow,.festivelens-search,.wedsnap-search__eyebrow{color:#315c4a;letter-spacing:.19em;margin:0;font-size:.67rem;font-weight:700}.festivelens-search__body,.festivelens-search,.wedsnap-search__body h1{max-width:20rem;font:500 clamp(2.25rem,10vw,3rem)/.92 var(--font-serif);letter-spacing:-.035em;margin:0}.festivelens-search__copy,.festivelens-search,.wedsnap-search__copy{color:#474246;max-width:20rem;margin:.25rem 0 0;font-size:.88rem;line-height:1.55}.festivelens-search__bar,.festivelens-search,.wedsnap-search__bar{background:#cdbb99;width:min(100%,19rem);height:2px;margin-top:.95rem;position:relative;overflow:hidden}.festivelens-search__bar-fill,.festivelens-search__bar,.festivelens-search,.wedsnap-search__bar-fill{will-change:transform;background:#315c4a;width:42%;height:100%;animation:2.4s cubic-bezier(.32,.72,0,1) infinite search-bar-indeterminate}.festivelens-search__reassurance,.festivelens-search,.wedsnap-search__reassurance{color:#8b837b;margin:.3rem 0 0;font-size:.78rem}@keyframes search-bar-indeterminate{0%{transform:translate(-110%)}55%{transform:translate(75%)}to{transform:translate(250%)}}@media (min-width:768px){.festivelens-search,.wedsnap-search{text-align:left;grid-template-rows:1fr;grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);align-content:stretch;gap:0 4rem;width:min(100% - 3rem,68.75rem);min-height:100dvh;padding:3rem 2rem}.festivelens-search,.wedsnap-search>.festivelens-wordmark,.wedsnap-wordmark{top:3rem;left:2rem;transform:none}.festivelens-search__fan,.festivelens-search,.wedsnap-search__fan{grid-area:1/1;align-self:center;width:100%;height:27rem;margin:0;transform:translateY(-3.5rem)}.festivelens-search__fan,.festivelens-search,.wedsnap-search__fan .capture-complete__portrait{width:9.6rem;height:14rem}.festivelens-search__body,.festivelens-search,.wedsnap-search__body{grid-area:1/2;align-self:center;align-items:flex-start;gap:1rem;padding:0}.festivelens-search__body,.festivelens-search,.wedsnap-search__body h1{max-width:28rem;font-size:4.1rem;line-height:.94}.festivelens-search__copy,.festivelens-search,.wedsnap-search__copy{max-width:25rem;font-size:1.05rem}.festivelens-search__bar,.festivelens-search,.wedsnap-search__bar{width:100%;max-width:25rem;margin-top:1.4rem}}@media (prefers-reduced-motion:reduce){.festivelens-search__bar-fill,.festivelens-search__bar,.festivelens-search,.wedsnap-search__bar-fill{width:60%;animation:none;transform:none}}.proof-page{color:#211a20;background:#f8f5ef;min-height:100dvh;padding:1rem 1rem 7rem}.proof-header{text-align:center;justify-items:center;gap:.35rem;padding:2rem 0 1.5rem;display:grid}.proof-header h1{font:500 clamp(2.7rem,8vw,5rem)/.9 var(--font-serif);margin:.2rem 0}.proof-grid{max-width:74rem;margin:auto}.proof-grid .photo-card{margin-bottom:1rem;position:relative}.proof-grid .photo-card>img{border-radius:.35rem;width:100%;height:auto;display:block}.proof-grid .photo-card.selected{box-shadow:0 0 0 4px #315c4a}.proof-heart{color:#7b2334;background:#ffffffeb;border:0;border-radius:50%;width:2.7rem;height:2.7rem;font-size:1.5rem;position:absolute;top:.7rem;right:.7rem;box-shadow:0 4px 16px #0000002e}.proof-grid textarea{resize:vertical;background:#fffdf9f2;border:1px solid #d5ccc0;border-radius:.65rem;min-height:4.5rem;padding:.7rem;position:absolute;bottom:.6rem;left:.6rem;right:.6rem}.proof-dock{z-index:30;left:50%;bottom:max(1rem,env(safe-area-inset-bottom));color:#fff;background:#182c23;border-radius:999px;align-items:center;gap:1rem;padding:.65rem .8rem .65rem 1rem;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 35px #00000040}.proof-dock button{color:#182c23;background:#fff;border:0;border-radius:999px;padding:.7rem 1rem;font-weight:750}.proof-more{margin:2rem auto;display:block}.full-gallery-lock{color:#211a20;background:#f8f5ef;grid-template-rows:auto 1fr;gap:2rem;min-height:100dvh;padding:2rem clamp(1rem,5vw,4rem);display:grid}.full-gallery-lock>.festivelens-wordmark,.wedsnap-wordmark{justify-self:center}.full-gallery-lock__card{text-align:center;background:#fffdf9;border:1px solid #d8d0c4;border-radius:1.5rem;place-self:center;width:min(100%,32rem);padding:clamp(2rem,7vw,4rem);box-shadow:0 24px 70px #2c231d1a}.full-gallery-lock__card h1{font:500 clamp(3rem,10vw,5.5rem)/.88 var(--font-serif);letter-spacing:-.045em;margin:.5rem 0 1rem}.full-gallery-lock__card form{gap:.8rem;margin-top:2rem;display:grid}.full-gallery-lock__card label{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700}.full-gallery-lock__card input{text-align:center;letter-spacing:.55em;background:#fff;border:1px solid #bdb6aa;border-radius:.8rem;width:min(100%,13rem);margin:auto;padding:.85rem 1rem;font-size:1.8rem}.full-gallery-lock-action{z-index:20;right:1rem;bottom:max(1rem,env(safe-area-inset-bottom));color:#315c4a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8f5efeb;border:1px solid #bdb6aa;border-radius:999px;padding:.65rem .9rem;font-weight:700;position:fixed}.gallery-load-sentinel{color:#6f6963;place-items:center;min-height:3rem;font-size:.78rem;display:grid}.gallery-total{text-align:center;color:#77706a;margin:1rem 0;font-size:.72rem;display:block}.settings-full-gallery{border:1px solid #ded5ca;border-radius:.8rem;gap:.8rem;padding:1rem;display:grid}.settings-pin-row{flex-wrap:wrap;align-items:end;gap:.7rem;display:flex}.settings-pin-row label{flex:1;gap:.35rem;min-width:12rem;display:grid}.settings-pin-row input{letter-spacing:.25em;background:#fff;border:1px solid #cfc5ba;border-radius:.5rem;min-height:2.8rem;padding:.65rem .8rem}@keyframes gallery-skeleton-shimmer{to{background-position:-20% 0}}@media (prefers-reduced-motion:reduce){.gallery-skeleton__photo{background-position:50% 0;animation:none}}.festivelens-text-action,.wedsnap-text-action{justify-content:center;align-items:center;min-height:2.75rem;padding:.35rem .55rem;display:inline-flex}.festivelens-back,.wedsnap-back{width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem}.festivelens-consent__remembered,.festivelens-consent,.wedsnap-consent__remembered{color:#716f6a;max-width:23rem;margin:1.1rem 0 0;font-size:.74rem;line-height:1.5}.festivelens-consent__remembered,.festivelens-consent,.wedsnap-consent__remembered a{color:#315c4a;text-underline-offset:.18rem;font-weight:700}.festivelens-guide,.wedsnap-guide{overflow-y:auto}.festivelens-guide__actions,.festivelens-guide,.wedsnap-guide__actions{gap:.7rem}.festivelens-guide__permission,.festivelens-guide,.wedsnap-guide__permission{color:#67635d;text-align:center;margin:0 0 .15rem;font-size:.74rem;line-height:1.45}.festivelens-guide__actions,.festivelens-guide,.wedsnap-guide__actions .festivelens-primary,.wedsnap-primary{padding:.75rem 1rem;font-size:clamp(1.05rem,5vw,1.35rem);line-height:1.05}.festivelens-guide__quick,.festivelens-guide,.wedsnap-guide__quick,.festivelens-inline-upload,.wedsnap-inline-upload,.festivelens-camera-upload,.wedsnap-camera-upload{color:#315c4a;text-align:center;cursor:pointer;background:0 0;border:1px solid #315c4a;border-radius:999px;place-items:center;min-height:2.75rem;padding:.55rem .8rem;font-size:.8rem;font-weight:750;line-height:1.2;text-decoration:none;display:grid;position:relative}.festivelens-guide__quick,.festivelens-guide,.wedsnap-guide__quick small{color:#716f6a;margin-top:.18rem;font-size:.66rem;font-weight:500}.festivelens-guide__quick,.festivelens-guide,.wedsnap-guide__quick input,.festivelens-inline-upload,.wedsnap-inline-upload input,.festivelens-camera-upload,.wedsnap-camera-upload input{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.festivelens-guide__quick,.festivelens-guide,.wedsnap-guide__quick:focus-within,.festivelens-inline-upload,.wedsnap-inline-upload:focus-within,.festivelens-camera-upload,.wedsnap-camera-upload:focus-within{outline-offset:3px;outline:3px solid #315c4a59}.festivelens-guide__quick,.festivelens-guide,.wedsnap-guide__quick.is-pending,.festivelens-inline-upload,.wedsnap-inline-upload.is-pending,.festivelens-camera-upload,.wedsnap-camera-upload.is-pending{opacity:.6;cursor:wait}.festivelens-capture__slot,.festivelens-capture,.wedsnap-capture__slot{width:2.75rem;height:2.75rem}.festivelens-camera-upload,.wedsnap-camera-upload{align-self:center;min-height:2.75rem;margin:.15rem auto .25rem;padding-inline:1rem}.festivelens-inline-upload,.wedsnap-inline-upload{text-underline-offset:.28rem;border:0;min-width:11rem;text-decoration:underline}.capture-complete__fan.is-quick .capture-complete__portrait{z-index:5;cursor:default;left:50%;transform:translate(-50%)translateY(-.25rem)}.no-matches__support{color:#716f6a!important;margin-top:1.2rem!important;font-size:.74rem!important}.no-matches__actions .festivelens-inline-upload,.wedsnap-inline-upload{font-size:.83rem}@media (max-width:370px){.festivelens-capture__slot,.festivelens-capture,.wedsnap-capture__slot{width:2.75rem;height:2.75rem}.festivelens-guide__facts,.festivelens-guide,.wedsnap-guide__facts{gap:.5rem}.festivelens-guide__facts,.festivelens-guide,.wedsnap-guide__facts p{font-size:.82rem}.festivelens-guide__permission,.festivelens-guide,.wedsnap-guide__permission{font-size:.69rem}.festivelens-consent__body,.festivelens-consent,.wedsnap-consent__body{padding-bottom:.8rem}.festivelens-consent__copy,.festivelens-consent,.wedsnap-consent__copy{margin-bottom:1.15rem}}@media (min-width:1024px){.festivelens-discovery,.wedsnap-discovery{text-align:left;grid-template-rows:auto auto auto auto auto;grid-template-columns:minmax(0,58fr) minmax(22rem,42fr);align-content:center;column-gap:4rem;width:min(100% - 4rem,77.5rem);min-height:100dvh;margin:auto;padding:7rem 1.5rem 3rem;display:grid;position:relative;overflow:hidden}.festivelens-discovery,.wedsnap-discovery:after{content:"W E D S N A P";z-index:1;color:#211a20;letter-spacing:.3em;font-size:.72rem;font-weight:700;position:absolute;top:2.5rem;left:1.5rem}.festivelens-discovery,.wedsnap-discovery .discovery-photo-fan{filter:drop-shadow(0 20px 22px #462e1e21);grid-area:1/1/6;align-self:center;width:100%;height:34rem;margin:0}.festivelens-discovery,.wedsnap-discovery .discovery-photo-fan img{width:13rem;height:20rem;top:50%}.festivelens-discovery,.wedsnap-discovery .discovery-photo-fan img:first-child{z-index:1;transform:translate(-132%,-48%)rotate(-11deg)}.festivelens-discovery,.wedsnap-discovery .discovery-photo-fan img:nth-child(2){z-index:3;transform:translate(-92%,-51%)rotate(-5deg)}.festivelens-discovery,.wedsnap-discovery .discovery-photo-fan img:nth-child(3){z-index:5;transform:translate(-50%,-53%)scale(1.08)}.festivelens-discovery,.wedsnap-discovery .discovery-photo-fan img:nth-child(4){z-index:4;transform:translate(-8%,-51%)rotate(5deg)}.festivelens-discovery,.wedsnap-discovery .discovery-photo-fan img:nth-child(5){z-index:2;transform:translate(34%,-48%)rotate(11deg)}.festivelens-discovery,.wedsnap-discovery>.eyebrow{grid-area:1/2;align-self:end;margin:0 0 1.2rem;font-size:.7rem}.festivelens-discovery,.wedsnap-discovery h1{white-space:nowrap;grid-area:2/2;margin:0;font-size:5.1rem;line-height:.88}.festivelens-discovery,.wedsnap-discovery .festivelens-ornament,.wedsnap-ornament{grid-area:3/2;justify-self:start;margin:1.25rem 0 1.15rem}.festivelens-discovery,.wedsnap-discovery .discovery-summary{grid-area:4/2;margin:0;font-size:1.08rem;line-height:1.65}.festivelens-discovery,.wedsnap-discovery .discovery-summary strong{font-size:1.3rem}.festivelens-discovery,.wedsnap-discovery>.festivelens-primary,.wedsnap-primary{grid-area:5/2;width:min(100%,24rem);max-width:none;min-height:4rem;margin:2rem 0 0}}.download-preparation{z-index:var(--z-modal);color:#211a20;background:#f8f5ef;grid-template-rows:5rem 1fr;min-height:100dvh;display:grid;position:fixed;inset:0;overflow:hidden}.download-preparation>header{justify-content:center;align-items:center;padding:0 1.25rem;display:flex}.download-preparation__layout{width:min(100%,28rem);min-height:0;padding:0 1rem max(1.75rem,env(safe-area-inset-bottom));text-align:center;grid-template-rows:minmax(18rem,1fr) auto;align-items:center;margin:auto;display:grid}.download-preparation__stack{align-self:center;width:100%;height:min(42dvh,21rem);position:relative}.download-preparation__stack img{z-index:var(--download-layer);object-fit:cover;width:13.5rem;height:17rem;transform:translate(calc(-50% + var(--download-x)),calc(-50% + var(--download-y))) rotate(var(--download-rotation));will-change:transform,opacity;background:#fff;border:0;padding:.38rem;animation:.7s cubic-bezier(.22,.72,.18,1) both download-photo-arrive;position:absolute;top:50%;left:50%;box-shadow:0 16px 34px #362a1f2e,0 3px 8px #362a1f1a}.download-preparation__content{flex-direction:column;align-items:center;width:100%;display:flex}.download-preparation__content>.eyebrow{color:#7b2943;letter-spacing:.2em;margin:0 0 .9rem;font-size:.65rem}.download-preparation__content h2{max-width:22rem;font:500 3rem/.9 var(--font-serif);letter-spacing:-.04em;margin:0}.download-preparation__copy{color:#686367;max-width:21rem;margin:1.1rem 0 0;font-size:.9rem;line-height:1.55}.download-preparation__status{color:#211a20;justify-content:space-between;width:100%;margin-top:1.7rem;font-size:.86rem;display:flex}.download-preparation__progress{background:#ddd5c9;border-radius:999px;width:100%;height:.28rem;margin-top:.65rem;overflow:hidden}.download-preparation__progress i{border-radius:inherit;height:100%;transition:width .35s var(--ease-out);background:#315c4a;display:block}.download-preparation__reassurance{color:#817b77;margin:1.1rem 0 0;font-size:.78rem}@keyframes download-photo-arrive{0%{opacity:.2;transform:translate(var(--download-entry-x),calc(-50% + var(--download-y))) rotate(calc(var(--download-rotation) * 1.8))}to{opacity:1;transform:translate(calc(-50% + var(--download-x)),calc(-50% + var(--download-y))) rotate(var(--download-rotation))}}@media (min-width:1024px){.download-preparation{grid-template-rows:5.5rem 1fr}.download-preparation>header{border-bottom:1px solid #b39a686b;justify-content:flex-start;padding:0 max(2rem,50% - 38.75rem)}.download-preparation__layout{text-align:left;grid-template-rows:1fr;grid-template-columns:minmax(0,58fr) minmax(22rem,42fr);gap:4.5rem;width:min(100% - 4rem,77.5rem);padding:2rem 0 4rem}.download-preparation__stack{grid-column:1;height:35rem}.download-preparation__stack img{width:19rem;height:24rem;padding:.5rem}.download-preparation__content{grid-column:2;align-items:flex-start}.download-preparation__content>.eyebrow{font-size:.7rem}.download-preparation__content h2{max-width:31rem;font-size:4.6rem;line-height:.92}.download-preparation__copy{max-width:28rem;font-size:1.05rem}.download-preparation__status,.download-preparation__progress,.download-preparation__reassurance{width:min(100%,29rem)}.download-preparation__status{margin-top:2.4rem;font-size:.95rem}.download-preparation__reassurance{font-size:.85rem}}@media (prefers-reduced-motion:reduce){.download-preparation__stack img{will-change:auto;animation:none}}.guest-unavailable-desktop{display:none}@media (min-width:1024px){.guest-unavailable-mobile{display:none}.guest-unavailable-desktop{color:#211a20;background:#f8f5ef;grid-template-rows:5.8rem 1fr;min-height:100dvh;display:grid}.guest-unavailable-desktop>header{border-bottom:1px solid #b39a6880;align-items:center;padding:0 max(2rem,50% - 35rem);display:flex}.guest-unavailable-desktop>header .festivelens-wordmark,.wedsnap-wordmark{color:#35232f}.guest-unavailable-layout{grid-template-columns:minmax(0,42fr) minmax(0,58fr);align-items:center;gap:4.5rem;width:min(100% - 4rem,70rem);margin:auto;padding:3rem 0 4rem;display:grid}.guest-unavailable-visual{width:100%;height:30rem;position:relative;transform:rotate(-2deg)}.guest-unavailable-visual>img{z-index:1;object-fit:cover;background:#fff;border:1px solid #e4dccf;width:76%;height:64%;padding:.7rem;position:absolute;top:1%;left:12%;box-shadow:0 18px 34px #46301f1f}.guest-unavailable-sleeve{z-index:2;background:#f7f1e7;border:1px solid #ddd2c2;height:67%;position:absolute;bottom:2%;left:5%;right:5%;box-shadow:0 24px 42px #46301f29}.guest-unavailable-sleeve:before{content:"";pointer-events:none;border:1px solid #ffffffe6;position:absolute;inset:.65rem}.guest-unavailable-sleeve:after{content:"";background:#f8f5ef;border:1px solid #ddd2c2;border-top:0;border-radius:0 0 3rem 3rem;width:5.5rem;height:1.4rem;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.guest-unavailable-seal{color:#4d351e;background:#b9924e;border:1px solid #a77b37;border-radius:50%;place-items:center;width:3.5rem;height:3.5rem;display:grid;position:absolute;top:54%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 5px #c9aa6e,0 5px 12px #46301f2e}.guest-unavailable-seal svg{width:1.45rem;height:1.45rem}.guest-unavailable-copy{text-align:left;align-self:center}.guest-unavailable-copy>.eyebrow{color:#7b2943;letter-spacing:.22em;margin:0 0 1.35rem;font-size:.72rem}.guest-unavailable-copy h1{max-width:40.625rem;font:500 clamp(3.7rem,5.2vw,5rem)/.94 var(--font-serif);letter-spacing:-.04em;margin:0}.guest-unavailable-copy>p:not(.eyebrow){color:#4f4a4d;max-width:36rem;margin:1.6rem 0 0;font-size:1.05rem;line-height:1.55}.guest-unavailable-copy .guest-unavailable-reassurance{margin-top:1.25rem}.guest-unavailable-back{color:#315c4a;border:1px solid #315c4a;border-radius:.25rem;justify-content:center;align-items:center;width:min(100%,20rem);min-height:3.75rem;margin-top:2rem;font-size:.95rem;font-weight:650;text-decoration:none;display:flex}.guest-unavailable-back:focus-visible{outline-offset:3px;outline:3px solid #315c4a59}}.festivelens-no-matches,.wedsnap-no-matches{width:min(100%,28rem);min-height:100dvh;padding:max(1.8rem,env(safe-area-inset-top)) 1.15rem max(1.8rem,env(safe-area-inset-bottom));color:#211a20;text-align:center;background:#f8f5ef;grid-template-rows:auto minmax(15rem,1fr) auto;align-items:center;margin:auto;display:grid;position:relative;overflow:hidden}.festivelens-no-matches,.wedsnap-no-matches>.festivelens-wordmark,.wedsnap-wordmark{color:#3b2633;align-self:start}.no-matches__captures{align-self:center;width:100%;height:16rem;position:relative}.no-matches__trace{border:1px solid #315c4a61;border-radius:50%;width:13.5rem;height:13.5rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.no-matches__trace:before{content:"";background:#315c4a;border-radius:50%;width:.5rem;height:.5rem;position:absolute;top:-.25rem;left:50%;transform:translate(-50%)}.no-matches__corner{z-index:8;border-color:#b58c3d;width:1.25rem;height:1.25rem;position:absolute}.no-matches__corner.corner-one{border-top:1px solid;border-left:1px solid;top:12%;left:12%}.no-matches__corner.corner-two{border-top:1px solid;border-right:1px solid;top:12%;right:12%}.no-matches__corner.corner-three{border-bottom:1px solid;border-left:1px solid;bottom:12%;left:12%}.no-matches__corner.corner-four{border-bottom:1px solid;border-right:1px solid;bottom:12%;right:12%}.no-matches__portrait{transform-origin:50% 110%;background:#fff;border-radius:.55rem;width:6.2rem;height:9rem;padding:.25rem;position:absolute;top:50%;left:50%;overflow:hidden;box-shadow:0 10px 24px #362a1f26}.no-matches__portrait img{object-fit:cover;border-radius:.35rem;width:100%;height:100%;display:block}.no-matches__portrait:nth-child(6){z-index:5;transform:translate(-50%,-50%)scale(1.08)}.no-matches__portrait:nth-child(7){z-index:3;transform:translate(-118%,-48%)rotate(-7deg)}.no-matches__portrait:nth-child(8){z-index:2;transform:translate(-159%,-43%)rotate(-11deg)}.no-matches__portrait:nth-child(9){z-index:3;transform:translate(18%,-48%)rotate(7deg)}.no-matches__portrait:nth-child(10){z-index:2;transform:translate(59%,-43%)rotate(11deg)}.no-matches__content{flex-direction:column;align-items:center;display:flex}.no-matches__content>.eyebrow{color:#7b2943;letter-spacing:.2em;margin:0 0 .9rem;font-size:.65rem}.no-matches__content h1{max-width:21rem;font:500 2.8rem/.92 var(--font-serif);letter-spacing:-.035em;margin:0}.no-matches__content>p:not(.eyebrow){color:#565154;max-width:20rem;margin:1.2rem 0 0;font-size:.88rem;line-height:1.55}.no-matches__actions{justify-items:center;gap:1.15rem;width:100%;margin-top:1.6rem;display:grid}.no-matches__actions .festivelens-primary,.wedsnap-primary{width:100%}.no-matches__actions .festivelens-text-action,.wedsnap-text-action{font-size:.83rem}@media (min-width:1024px){.festivelens-no-matches,.wedsnap-no-matches{text-align:left;grid-template-rows:1fr;grid-template-columns:minmax(0,52fr) minmax(22rem,48fr);column-gap:4rem;width:min(100% - 4rem,68.75rem);padding:6rem 1.5rem 3rem}.festivelens-no-matches,.wedsnap-no-matches>.festivelens-wordmark,.wedsnap-wordmark{position:absolute;top:2.5rem;left:1.5rem}.no-matches__captures{grid-area:1/1;width:100%;height:31rem}.no-matches__trace{width:25rem;height:25rem}.no-matches__corner{width:1.6rem;height:1.6rem}.no-matches__corner.corner-one{top:12%;left:9%}.no-matches__corner.corner-two{top:12%;right:9%}.no-matches__corner.corner-three{bottom:12%;left:9%}.no-matches__corner.corner-four{bottom:12%;right:9%}.no-matches__portrait{border-radius:.72rem;width:10.5rem;height:15.25rem;padding:.35rem}.no-matches__content{grid-area:1/2;align-self:center;align-items:flex-start}.no-matches__content>.eyebrow{font-size:.7rem}.no-matches__content h1{max-width:29rem;font-size:4.35rem;line-height:.94}.no-matches__content>p:not(.eyebrow){max-width:27rem;font-size:1.05rem}.no-matches__actions{justify-items:start;width:min(100%,24rem);margin-top:2.2rem}}.festivelens-capture__top-actions,.festivelens-capture,.wedsnap-capture__top-actions{justify-content:space-between;align-items:center;gap:1rem;display:flex}.compact-upload-btn{color:#ede8df;cursor:pointer;white-space:nowrap;background:#315c4a;border:none;border-radius:999px;padding:.6rem .9rem;font-size:.75rem;font-weight:700}.compact-upload-btn:hover{background:#244638}.guest-upload-menu{position:relative}.guest-upload-menu>.compact-upload-btn{font:inherit;cursor:pointer}.guest-upload-choices{z-index:20;background:#211d20;border:1px solid #ffffff4d;border-radius:.45rem;min-width:14rem;padding:.35rem;display:grid;position:absolute;top:calc(100% + .45rem);right:0;box-shadow:0 12px 28px #0000004d}.guest-upload-choices label{color:#fff;cursor:pointer;gap:.12rem;padding:.7rem .8rem;display:grid}.guest-upload-choices label+label{border-top:1px solid #ffffff26}.guest-upload-choices small{color:#d6c3a0}.guest-upload-choices input{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:480px){.festivelens-capture__top-actions,.festivelens-capture,.wedsnap-capture__top-actions{flex-direction:column;align-items:flex-start}}.gallery-compact-actions button{cursor:pointer;transition:transform .16s var(--ease-out),border-color .18s ease,background-color .18s ease,color .18s ease}.gallery-compact-actions button:active{transform:scale(.965)}.gallery-compact-actions button:focus-visible,.gallery-albums button:focus-visible,.photo-open:focus-visible,.selection-dock button:focus-visible{outline-offset:3px;outline:3px solid #315c4a6b}.gallery-albums{z-index:5;top:max(.45rem,env(safe-area-inset-top));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);scrollbar-width:none;background:#f8f5efd1;margin-inline:-.3rem;padding:.35rem .3rem;position:sticky}.gallery-albums::-webkit-scrollbar{display:none}.gallery-albums button{cursor:pointer;transition:transform .16s var(--ease-out),background-color .18s ease,color .18s ease}.gallery-albums button:active{transform:scale(.95)}.festivelens-gallery,.wedsnap-gallery .photo-card{transition:transform .18s var(--ease-out),box-shadow .18s ease;background:#ded6ca linear-gradient(110deg,#0000 25%,#ffffff57 45%,#0000 65%) 200% 0/220% 100%}.festivelens-gallery,.wedsnap-gallery .photo-card img{opacity:.01;transition:opacity .32s ease,transform .42s var(--ease-out);transform:scale(1.018)}.festivelens-gallery,.wedsnap-gallery .photo-card.is-loaded{background:#ded6ca}.festivelens-gallery,.wedsnap-gallery .photo-card.is-loaded img{opacity:1;transform:scale(1)}.festivelens-gallery,.wedsnap-gallery .photo-open{width:100%;color:inherit;cursor:zoom-in;text-decoration:none;display:block}.festivelens-gallery,.wedsnap-gallery .photo-open:active img{transform:scale(.975)}.festivelens-gallery,.wedsnap-gallery .photo-card.selected{transform:scale(.965);box-shadow:0 8px 24px #203a3029}.selection-circle{transition:transform .18s var(--ease-out),background-color .18s ease;transform:scale(.86)}.photo-card.selected .selection-circle{transform:scale(1)}.pswp{--pswp-bg:#101713;--pswp-placeholder-bg:#202923;--pswp-icon-color:#fff;--pswp-icon-color-secondary:#101713}.pswp__top-bar{height:max(3.75rem,calc(3rem + env(safe-area-inset-top)));padding-top:env(safe-area-inset-top);background:linear-gradient(#090e0b9e,#0000)}.pswp__button{transition:transform .15s,opacity .18s}.pswp__button:active{transform:scale(.92)}.pswp__button:focus-visible,.pswp__button--download-original:focus-visible{outline-offset:2px;outline:2px solid #fff}.pswp__button--download-original{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;font:650 .72rem/1 var(--font-sans);white-space:nowrap;background:#10171394;border:1px solid #ffffff6b;border-radius:999px;align-self:center;margin:.45rem .35rem .45rem auto;padding:.58rem .9rem;text-decoration:none;transition:transform .15s,background-color .18s}.pswp__button--download-original:active{background:#ffffff2e;transform:scale(.96)}.pswp__counter{font-variant-numeric:tabular-nums;text-shadow:0 1px 8px #00000073}@media (prefers-reduced-motion:reduce){.gallery-compact-actions button,.gallery-albums button,.festivelens-gallery,.wedsnap-gallery .photo-card,.festivelens-gallery,.wedsnap-gallery .photo-card img,.selection-circle,.pswp__button,.pswp__button--download-original{transition:none!important}.festivelens-gallery,.wedsnap-gallery .photo-card img{transform:none}}.selection-dock{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#203a30f7;border:1px solid #ffffff21;grid-template-columns:1fr auto auto;width:min(100% - 1.4rem,30rem)}.selection-dock strong{white-space:nowrap}.selection-dock .selection-dock__cancel{color:#fff;background:0 0}.selection-dock button:active{transform:scale(.96)}@media (max-width:520px){.selection-dock{grid-template-columns:1fr auto auto;padding-left:.75rem}.selection-dock strong{grid-area:1/1}.selection-dock__download{grid-column:2}.selection-dock__cancel{grid-column:3}}.wedding-navigation{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf9c7;border:1px solid #ddd3c6;border-radius:999px;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;width:min(100% - 2rem,74rem);margin:1rem auto 0;padding:.3rem;display:grid}.wedding-navigation a{color:#706861;text-align:center;border-radius:999px;place-items:center;min-width:0;padding:.72rem 1rem;font-size:.82rem;font-weight:700;transition:background-color .2s,color .2s,transform .15s;display:grid}.wedding-navigation a.active{color:#fff;background:#213f34}.wedding-navigation a:active{transform:scale(.98)}.wedding-navigation__label{white-space:nowrap;justify-content:center;align-items:center;gap:.35rem;max-width:100%;display:inline-flex}.wedding-navigation__pending{opacity:0;background:currentColor;border-radius:50%;width:.35rem;height:.35rem;transition:opacity .15s,transform .15s;transform:scale(.4)}.wedding-navigation__pending.is-visible{opacity:.72;animation:.8s ease-in-out infinite alternate wedding-nav-pulse;transform:scale(1)}@keyframes wedding-nav-pulse{to{opacity:.25;transform:scale(.72)}}.guest-gallery-header{z-index:28;width:100%;min-height:4.6rem;padding:max(.65rem,env(safe-area-inset-top)) clamp(1rem,4vw,3rem) .65rem;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f8f5eff0;border-bottom:1px solid #3140391f;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:sticky;top:0;box-shadow:0 10px 30px #251f1a0f}.guest-gallery-header>.festivelens-wordmark,.wedsnap-wordmark{color:#211a20;grid-column:1;justify-self:start;text-decoration:none}.guest-result-tabs{background:#fffdf9eb;border:1px solid #31403926;border-radius:999px;grid-column:2;gap:.2rem;padding:.3rem;display:flex;box-shadow:0 8px 24px #251f1a17}.guest-result-tabs a,.guest-result-tabs span,.guest-result-tabs button{color:#655f59;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:.6rem .95rem;font-family:inherit;font-size:.75rem;font-weight:750;line-height:1.2;text-decoration:none;transition:all .15s;display:inline-flex}.guest-result-tabs .active{color:#fff;background:#244b3c;box-shadow:0 2px 8px #244b3c40}.guest-result-tabs a:focus-visible,.guest-result-tabs button:focus-visible,.guest-gallery-header>.festivelens-wordmark,.wedsnap-wordmark:focus-visible{outline-offset:3px;outline:3px solid #a95439}.production-proof{padding-bottom:8rem}.production-proof__header{max-width:64rem;margin:auto;padding-bottom:2.5rem}.production-proof__header>p:last-child{color:#6e6862;max-width:36rem;margin:.5rem auto;line-height:1.55}.proof-tabs{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f8f5efe6;border:1px solid #ded5ca;border-radius:1.2rem;grid-auto-columns:1fr;grid-auto-flow:column;gap:.35rem;width:min(100% - 2rem,64rem);margin:0 auto 2.5rem;padding:.35rem;display:grid;position:sticky;top:0;box-shadow:0 14px 35px #31281f14}.proof-tabs button{color:#716a64;cursor:pointer;background:0 0;border:0;border-radius:.9rem;gap:.12rem;padding:.8rem;display:grid}.proof-tabs button span{font-weight:750}.proof-tabs button strong{font-size:.7rem;font-weight:550}.proof-tabs button.active{color:#fff;background:#244b3c}.proof-toolbar{justify-content:space-between;align-items:end;gap:2rem;width:min(100% - 2rem,74rem);margin:0 auto 1.5rem;display:flex}.proof-toolbar h2{font:500 clamp(2.5rem,5vw,4rem)/.9 var(--font-serif);margin:0}.proof-toolbar p{color:#716a64;max-width:35rem;margin:.55rem 0 0}.proof-filter{white-space:nowrap;align-items:center;gap:.55rem;font-size:.8rem;font-weight:700;display:flex}.visibility-mode{grid-template-columns:repeat(2,1fr);gap:.7rem;width:min(100% - 2rem,74rem);margin:0 auto 1.5rem;display:grid}.visibility-mode button{color:#29221f;text-align:left;cursor:pointer;background:#fffdf9;border:1px solid #d7cdc0;border-radius:1rem;gap:.3rem;padding:1.15rem;display:grid}.visibility-mode button span{color:#746c65;font-size:.78rem}.visibility-mode button.active{background:#edf2ee;border-color:#315c4a;box-shadow:inset 0 0 0 1px #315c4a}.proof-message{width:min(100% - 2rem,74rem);margin:0 auto 1rem}.proof-photo-action{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:block;position:relative}.proof-photo-action img{width:100%;height:auto;display:block}.proof-choice-mark{color:#244b3c;background:#fffdf9f0;border-radius:50%;place-items:center;width:2.55rem;height:2.55rem;font-size:1.2rem;font-weight:800;display:grid;position:absolute;top:.7rem;right:.7rem;box-shadow:0 6px 20px #1c18142e}.proof-choice-label{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1f3028e0;border-radius:999px;padding:.5rem .7rem;font-size:.7rem;font-weight:750;position:absolute;bottom:.7rem;left:.7rem}.proof-grid .photo-card:not(.selected) .proof-choice-label{color:#302a26;background:#fffdf9e6}.proof-empty,.selection-empty{border-top:1px solid #ded5ca;width:min(100% - 2rem,74rem);margin:3rem auto;padding:3rem 0}.proof-empty h3,.selection-empty h1,.selection-empty h2{font:500 clamp(2.4rem,5vw,4.2rem)/.95 var(--font-serif);margin:0 0 .7rem}.selection-empty--guided{background:radial-gradient(circle at 88% 15%,#b1895221,#0000 34%),#fffdf9;border:1px solid #ddd3c6;border-radius:1.5rem;max-width:74rem;padding:clamp(2.2rem,5vw,4.25rem);position:relative;overflow:hidden}.selection-empty--guided>p:not(.eyebrow){color:#716a64;max-width:43rem;line-height:1.6}.selection-empty__marker{color:#e9e0d5;font:500 clamp(4rem,11vw,9rem)/1 var(--font-serif);position:absolute;top:clamp(1rem,3vw,2rem);right:clamp(1.2rem,4vw,3rem)}.selection-empty__steps{flex-wrap:wrap;gap:.65rem 1.5rem;margin:2rem 0;display:flex}.selection-empty__steps span{color:#5e5751;align-items:center;gap:.55rem;font-size:.82rem;font-weight:650;display:flex}.selection-empty__steps strong{color:#315c4a;font-variant-numeric:tabular-nums;border:1px solid #bfae99;border-radius:50%;place-items:center;width:1.8rem;height:1.8rem;display:grid}.selection-waiting{background:#f1e9dd;border-left:3px solid #b88b4d;align-items:flex-start;gap:.9rem;margin:2.25rem 0 0;padding:1rem 1.15rem;display:flex}.selection-waiting__pulse{background:#b17835;border-radius:50%;flex:none;width:.55rem;height:.55rem;margin-top:.35rem;box-shadow:0 0 0 .35rem #b178351f}.selection-waiting strong{color:#2e2925}.selection-waiting p{color:#6c645d;margin:.25rem 0 0;font-size:.85rem;line-height:1.5}.selection-workspace{width:min(100% - 2rem,78rem);margin:auto;padding:clamp(3rem,7vw,6rem) 0 7rem}.selection-heading{justify-content:space-between;align-items:end;gap:2rem;display:flex}.selection-heading h1{font:500 clamp(3.6rem,7vw,6.8rem)/1.15 var(--font-serif);letter-spacing:-.045em;margin:0 0 .75rem}.selection-heading>div>p:last-child{color:#716a64;max-width:40rem;line-height:1.55}.selection-round-status{color:#6c655f;text-transform:uppercase;letter-spacing:.1em;border:1px solid #d8cec1;border-radius:999px;padding:.65rem .9rem;font-size:.72rem;font-weight:800}.selection-round-status.submitted{color:#315c4a;background:#eaf0eb;border-color:#89a090}.selection-publish{justify-items:end;gap:.7rem;display:grid}.selection-publish__actions{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;display:flex}.selection-publish>small{color:#776f68;text-align:right;max-width:20rem;font-size:.72rem;line-height:1.45}.selection-metrics{background:#d8cfc2;border-block:1px solid #d8cfc2;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1px;margin:3rem 0;display:grid}.selection-metrics article{background:#f8f5ef;gap:.15rem;padding:1.3rem;display:grid}.selection-metrics span,.selection-metrics small{color:#716a64;font-size:.72rem}.selection-metrics strong{font:500 2.8rem/1 var(--font-serif);font-variant-numeric:tabular-nums}.selection-tabs{border-bottom:1px solid #d8cfc2;gap:1.6rem;display:flex}.selection-tabs button{color:#766e67;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:.5rem;padding:.9rem 0;font-weight:750;display:flex}.selection-tabs button span{background:#eae3d9;border-radius:999px;place-items:center;min-width:1.55rem;height:1.55rem;padding:0 .35rem;font-size:.68rem;display:grid}.selection-tabs button.active{color:#244b3c;border-color:#244b3c}.selection-actions{justify-content:flex-end;gap:.6rem;padding:1rem 0;display:flex}.selection-actions button{color:#29483d;cursor:pointer;background:#fffdf9;border:1px solid #cfc5b8;border-radius:999px;padding:.65rem .9rem;font-size:.78rem;font-weight:750}.selection-actions button:disabled{opacity:.45}.selection-message{margin:1rem 0}.selection-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.25rem;display:grid}.selection-card{background:#fffdf9;border-radius:1.15rem;overflow:hidden;box-shadow:inset 0 0 0 1px #ddd4c8}.selection-card>img{aspect-ratio:4/3;object-fit:cover;background:#eae3d9;width:100%;display:block}.selection-card__body{gap:.35rem;padding:1rem;display:grid}.selection-card__body>strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.selection-card__body>span{color:#766e67;font-size:.76rem}.selection-card__body>p{color:#514a45;border-block:1px solid #e5ddd3;margin:.65rem 0;padding:.75rem 0;font-size:.82rem;line-height:1.5}.selection-card__body label{color:#716a64;gap:.35rem;margin-top:.7rem;font-size:.72rem;font-weight:700;display:grid}.selection-card__body select{background:#fff;border:1px solid #d6ccc0;border-radius:.65rem;min-height:2.6rem;padding:.55rem .7rem}.visibility-state{background:#e8eee9;border-radius:.45rem;margin-top:.65rem;padding:.4rem .55rem;font-weight:750;color:#315c4a!important;width:max-content!important}.visibility-state.hidden{background:#f2e5e1;color:#884735!important}@media (max-width:720px){.wedding-navigation{margin-top:.65rem}.production-proof__header{padding-inline:1rem}.proof-tabs{top:.25rem}.proof-toolbar{flex-direction:column;align-items:start;gap:1rem}.visibility-mode{grid-template-columns:1fr}.selection-heading{flex-direction:column;align-items:start}.selection-publish{justify-items:start}.selection-metrics{grid-template-columns:repeat(2,1fr)}.selection-tabs{gap:1rem;overflow:auto}.selection-tabs button{white-space:nowrap}.selection-actions{justify-content:stretch}.selection-actions button{flex:1}.selection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.selection-publish{width:100%}.selection-publish__actions{justify-content:stretch;width:100%}.selection-publish__actions .button{flex:1}.selection-publish>small{text-align:left}}@media (max-width:430px){.wedding-navigation a{padding:.65rem .5rem;font-size:.74rem}.proof-tabs{width:calc(100% - 1rem);margin-bottom:1.6rem}.proof-tabs button{padding:.7rem .3rem}.proof-grid{padding-inline:.35rem}.proof-choice-label{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - .8rem);bottom:.4rem;left:.4rem;overflow:hidden}.proof-choice-mark{width:2.25rem;height:2.25rem;top:.4rem;right:.4rem}.selection-grid{grid-template-columns:1fr}.selection-metrics article{padding:1rem}.selection-metrics strong{font-size:2.2rem}}@media (max-width:600px){.proof-page.production-proof{padding:.4rem .65rem calc(7.25rem + env(safe-area-inset-bottom))}.production-proof__header{gap:.2rem;padding:1rem .45rem 1.2rem}.production-proof__header .festivelens-wordmark,.wedsnap-wordmark{letter-spacing:.26em;margin-bottom:.55rem;font-size:.63rem}.production-proof__header .eyebrow{letter-spacing:.16em;font-size:.59rem}.production-proof__header h1{text-wrap:balance;max-width:100%;margin:.1rem 0;font-size:clamp(2.4rem,13vw,3.25rem);line-height:.86}.production-proof__header>p:last-child{max-width:19rem;margin:.35rem auto 0;font-size:.84rem;line-height:1.42}.proof-tabs{border-radius:.9rem;gap:.18rem;width:100%;margin:0 auto 1.35rem;padding:.25rem;top:.35rem;box-shadow:0 9px 26px #31281f1a}.proof-tabs button{border-radius:.68rem;gap:.08rem;min-width:0;min-height:3.65rem;padding:.55rem .2rem}.proof-tabs button span{text-overflow:ellipsis;white-space:nowrap;font-size:.73rem;overflow:hidden}.proof-tabs button strong{white-space:nowrap;font-size:.61rem}.proof-toolbar{gap:.7rem;width:100%;margin-bottom:1rem}.proof-toolbar h2{font-size:2.4rem;line-height:.9}.proof-toolbar p{max-width:18rem;margin-top:.4rem;font-size:.82rem;line-height:1.45}.proof-filter{gap:.45rem;font-size:.72rem}.proof-filter input{width:1rem;height:1rem}.visibility-mode{gap:.5rem;width:100%;margin-bottom:1rem}.visibility-mode button{border-radius:.75rem;gap:.22rem;padding:.85rem}.visibility-mode button strong{font-size:.79rem}.visibility-mode button span{font-size:.68rem;line-height:1.35}.proof-message{width:100%;margin-bottom:.75rem;font-size:.78rem}.proof-grid{gap:.42rem;width:100%;padding:0}.proof-grid .masonry-column{gap:.42rem}.proof-grid .photo-card{background:#e3ddd4;border-radius:.55rem;margin:0}.proof-grid .photo-card.selected{box-shadow:inset 0 0 0 3px #315c4a}.proof-photo-action img{object-fit:cover;min-height:6.5rem}.proof-choice-mark{width:2rem;height:2rem;font-size:1rem;top:.4rem;right:.4rem}.proof-choice-label{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - .8rem);padding:.38rem .5rem;font-size:.6rem;line-height:1;bottom:.4rem;left:.4rem;overflow:hidden}.proof-grid textarea{resize:none;background:#fffdfa;border-radius:.45rem;width:calc(100% - .7rem);min-height:4rem;margin:.35rem;padding:.58rem;font-size:.72rem;line-height:1.35;display:block;position:static}.proof-more{width:100%;margin:1.2rem auto}.proof-dock{left:.5rem;right:.5rem;bottom:max(.5rem,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#182c23f7;border-radius:1rem;justify-content:space-between;gap:.6rem;width:auto;min-height:4.25rem;padding:.55rem .55rem .55rem .9rem;transform:none}.proof-dock>span{white-space:nowrap;min-width:0;font-size:.75rem;line-height:1.25}.proof-dock button{border-radius:.75rem;flex:none;min-height:3.1rem;padding:.7rem 1rem;font-size:.8rem}}@media (max-width:350px){.proof-tabs button span{font-size:.67rem}.proof-tabs button strong{font-size:.56rem}.proof-dock>span{font-size:.68rem}.proof-dock button{padding-inline:.75rem}}.couple-people{width:min(100% - 2rem,74rem);margin:0 auto 2rem}.couple-people>header{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.6rem;display:flex}.couple-people>header h2{max-width:42rem;font:500 clamp(2.4rem,5vw,4rem)/.92 var(--font-serif);letter-spacing:-.035em;text-wrap:balance;margin:0}.couple-people>header p{color:#716a64;max-width:42rem;margin:.65rem 0 0;line-height:1.55}.couple-people>header>span{color:#315c4a;font-variant-numeric:tabular-nums;font-weight:750}.couple-people__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.couple-person{text-align:center;background:#fffdf9;border:1px solid #ded5ca;border-radius:1.25rem;align-content:start;justify-items:center;gap:.8rem;min-width:0;padding:1.2rem;transition:border-color .18s,transform .18s,box-shadow .18s;display:grid}.couple-person>img{aspect-ratio:1;object-fit:cover;border:5px solid #f8f5ef;border-radius:50%;width:min(9rem,72%);box-shadow:0 12px 28px #31281f24}.couple-person>div:not(.couple-person__actions){gap:.15rem;display:grid}.couple-person strong{font:500 1.45rem/1 var(--font-serif)}.couple-person span{color:#746d67;font-size:.75rem}.couple-person input{text-align:center;background:#fff;border:1px solid #cfc5ba;border-radius:.65rem;width:100%;min-height:2.7rem;padding:.65rem .75rem}.couple-person__actions{justify-content:center;gap:.45rem;width:100%;margin-top:auto;display:flex}.couple-person__actions button,.people-show-more{color:#fff;cursor:pointer;background:#244b3c;border:1px solid #244b3c;border-radius:999px;min-height:2.65rem;padding:.6rem .8rem;font-weight:700}.couple-person__actions button.quiet,.people-show-more{color:#315c4a;background:0 0;border-color:#d5ccc0}.couple-person button:disabled{opacity:.5;cursor:not-allowed}.couple-people-state{border-block:1px solid #ded5ca;align-items:center;gap:1rem;width:min(100% - 2rem,54rem);margin:2rem auto;padding:2rem;display:flex}.couple-people-state>div:first-child{aspect-ratio:1;color:#315c4a;background:#e8eee9;border-radius:50%;place-items:center;width:4rem;font-size:1.8rem;display:grid}.couple-people-state h2{font:500 2rem var(--font-serif);margin:0}.couple-people-state p{color:#716a64;margin:.25rem 0 0}.people-skeleton{animation:1.3s ease-in-out infinite alternate people-pulse}.people-show-more{margin:1.5rem auto;display:block}.wedding-gallery-intro{justify-content:space-between;align-items:end;gap:2rem;width:min(100% - 2rem,76rem);margin:1rem auto 2.5rem;padding-top:2rem;display:flex}.wedding-gallery-intro h1{font:500 clamp(3.2rem,7vw,6rem)/.84 var(--font-serif);letter-spacing:-.05em;margin:.35rem 0 0}.wedding-gallery-intro>a{color:#315c4a;border:1px solid #cfc5ba;border-radius:999px;padding:.8rem 1.05rem;font-weight:750;text-decoration:none}.wedding-people-row{border-block:1px solid #ded5ca;width:min(100% - 2rem,76rem);margin:0 auto 1.2rem;padding:1.6rem 0}.wedding-people-row>header{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.2rem;display:flex}.wedding-people-row h2{font:500 clamp(2rem,4vw,3.2rem)/.9 var(--font-serif);margin:.25rem 0 0}.wedding-people-row>header>span{color:#746d67;text-align:right;max-width:18rem;font-size:.78rem}.wedding-people-scroll{scroll-snap-type:x proximity;scrollbar-width:thin;gap:1rem;padding:.3rem .2rem .75rem;display:flex;overflow-x:auto}.wedding-people-scroll button{color:#29231f;cursor:pointer;scroll-snap-align:start;background:0 0;border:0;flex:0 0 7.4rem;justify-items:center;gap:.25rem;padding:.45rem;display:grid}.wedding-people-scroll img,.people-all-avatar{aspect-ratio:1;object-fit:cover;color:#315c4a;background:#e8e0d5;border:4px solid #fffdf9;border-radius:50%;place-items:center;width:5.8rem;font-style:normal;font-weight:800;transition:transform .18s,border-color .18s;display:grid;box-shadow:0 9px 24px #31281f21}.wedding-people-scroll button.active img,.wedding-people-scroll button.active .people-all-avatar{border-color:#315c4a;transform:translateY(-2px)}.wedding-people-scroll strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.82rem;overflow:hidden}.wedding-people-scroll span{color:#746d67;font-variant-numeric:tabular-nums;font-size:.68rem}.wedding-people-scroll button:focus-visible,.couple-person button:focus-visible,.couple-person input:focus-visible,.wedding-gallery-intro>a:focus-visible{outline-offset:3px;outline:3px solid #a95439}@keyframes people-pulse{0%{opacity:.45}to{opacity:1}}.people-dual-avatar{justify-content:center;align-items:center;width:5.8rem;height:5.8rem;display:flex;position:relative}.people-dual-avatar img{position:absolute;border-width:3px!important;width:3.8rem!important;height:3.8rem!important}.people-dual-avatar img:first-child{z-index:1;top:0;left:0}.people-dual-avatar img:last-child{z-index:2;bottom:0;right:0;box-shadow:0 6px 16px #0000002e}.wedding-people-scroll button.active .people-dual-avatar img{border-color:#315c4a}.people-avatar-picker{background:#fcfbf8;border:1px solid #e2d8cd;border-radius:.75rem;flex-wrap:wrap;justify-content:center;gap:.35rem;margin:.5rem 0;padding:.4rem;display:flex}.people-avatar-picker-thumb{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:50%;width:2.4rem;height:2.4rem;padding:0;transition:transform .12s,border-color .12s;position:relative;overflow:hidden}.people-avatar-picker-thumb.selected{border-color:#315c4a;transform:scale(1.1);box-shadow:0 2px 8px #315c4a40}.people-avatar-picker-thumb img{object-fit:cover;width:100%;height:100%}.people-cover-trigger{color:#315c4a;cursor:pointer;background:0 0;border:none;margin-top:.2rem;padding:2px 4px;font-size:.72rem;font-weight:700;text-decoration:underline}@media (max-width:900px){.couple-people__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.couple-people{width:100%}.couple-people>header{flex-direction:column;align-items:start;gap:.6rem}.couple-people>header h2{font-size:2.35rem}.couple-people__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.couple-person{border-radius:.9rem;gap:.55rem;padding:.75rem}.couple-person>img{border-width:3px;width:min(7rem,82%)}.couple-person strong{font-size:1.15rem}.couple-person__actions{flex-direction:column}.couple-person__actions button{width:100%;font-size:.72rem}.wedding-gallery-intro{flex-direction:column;align-items:start;gap:1rem;margin-bottom:1.5rem;padding-top:1rem}.wedding-gallery-intro h1{font-size:3.3rem}.wedding-people-row{width:100%;padding:1.2rem .65rem}.wedding-people-row>header{flex-direction:column;align-items:start;gap:.35rem}.wedding-people-row>header>span{text-align:left}.wedding-people-scroll{margin-inline:-.65rem;padding-inline:.65rem}.wedding-people-scroll button{flex-basis:6.5rem}.wedding-people-scroll img,.people-all-avatar{width:5.1rem}}@media (max-width:370px){.proof-tabs button{padding-inline:.1rem}.proof-tabs button span{font-size:.62rem}.proof-tabs button strong{font-size:.52rem}.couple-person__actions button{padding-inline:.35rem}}.proof-grid .photo-card.is-saving{opacity:.76}.proof-grid .photo-card,.proof-choice-mark{transition:opacity .18s,box-shadow .18s,transform .18s}.proof-photo-action:active .proof-choice-mark{transform:scale(.92)}.proof-dialog-backdrop{z-index:60;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#171c1985;place-items:center;padding:1rem;animation:.18s proof-fade-in;display:grid;position:fixed;inset:0}.proof-dialog{color:#211a20;background:radial-gradient(circle at 100% 0,#b88b4d26,#0000 42%),#fffaf3;border:1px solid #ffffff85;border-radius:1.5rem;width:min(100%,32rem);padding:clamp(1.6rem,5vw,2.7rem);animation:.24s cubic-bezier(.2,.75,.25,1) proof-dialog-in;position:relative;box-shadow:0 30px 90px #141b1747}.proof-dialog__mark{color:#244b3c;background:#e5ece7;border-radius:50%;place-items:center;width:3.1rem;height:3.1rem;margin-bottom:1.7rem;font-size:1.25rem;display:grid}.proof-dialog .eyebrow{color:#a95439;margin:0 0 .65rem}.proof-dialog h2{max-width:25rem;font:500 clamp(2.2rem,6vw,3.4rem)/.92 var(--font-serif);letter-spacing:-.035em;text-wrap:balance;margin:0}.proof-dialog>p:not(.eyebrow){color:#655f59;max-width:28rem;margin:1rem 0 0;line-height:1.6}.proof-dialog__actions{justify-content:flex-end;gap:.65rem;margin-top:2rem;display:flex}.proof-dialog__actions button{color:#fff;cursor:pointer;background:#244b3c;border:1px solid #244b3c;border-radius:.8rem;min-height:3rem;padding:.75rem 1rem;font-weight:750;transition:transform .15s,background-color .18s}.proof-dialog__actions button.quiet{color:#315c4a;background:0 0;border-color:#d5cabd}.proof-dialog__actions button:active{transform:scale(.97)}.proof-dialog__actions button:focus-visible{outline-offset:3px;outline:3px solid #a95439}@keyframes proof-fade-in{0%{opacity:0}}@keyframes proof-dialog-in{0%{opacity:0;transform:translateY(1rem)scale(.98)}}.proof-complete{color:#211a20;background:radial-gradient(circle at 82% 12%,#b587492b,#0000 30%),radial-gradient(circle at 10% 90%,#315c4a1f,#0000 32%),#f8f5ef;place-items:center;min-height:100dvh;padding:2rem 1rem;display:grid}.proof-complete>section{text-align:center;background:#fffdf9d1;border:1px solid #ded5ca;border-radius:1.75rem;width:min(100%,51rem);padding:clamp(2rem,6vw,5rem);box-shadow:0 30px 80px #30261e1a}.proof-complete .festivelens-wordmark,.wedsnap-wordmark{margin-bottom:2.5rem;display:block}.proof-complete__mark{color:#fff;background:#244b3c;border-radius:50%;place-items:center;width:4.5rem;height:4.5rem;margin:0 auto 1.3rem;font-size:1.65rem;display:grid;box-shadow:0 12px 30px #244b3c38}.proof-complete .eyebrow{color:#a95439;margin:0}.proof-complete h1{font:500 clamp(3.2rem,8vw,6rem)/.86 var(--font-serif);letter-spacing:-.045em;text-wrap:balance;margin:.6rem auto 1.2rem}.proof-complete>section>p:not(.eyebrow){color:#68615b;max-width:38rem;margin:0 auto;line-height:1.65}.proof-complete__summary{border-block:1px solid #ded5ca;grid-template-columns:repeat(2,1fr);max-width:30rem;margin:2.25rem auto;padding-block:1.2rem;display:grid}.proof-complete__summary span{color:#6e6761;gap:.2rem;font-size:.78rem;display:grid}.proof-complete__summary span+span{border-left:1px solid #ded5ca}.proof-complete__summary strong{color:#244b3c;font:500 2.7rem/1 var(--font-serif);font-variant-numeric:tabular-nums}.proof-complete__note{font-size:.8rem}.proof-complete__action{color:#fff;background:#244b3c;border-radius:999px;align-items:center;gap:1.5rem;margin-top:2rem;padding:.9rem 1.1rem .9rem 1.3rem;font-weight:750;text-decoration:none;transition:transform .15s,background-color .18s;display:inline-flex}.proof-complete__action:hover{background:#193b2e}.proof-complete__action:active{transform:scale(.98)}.people-save-message{color:#315c4a;background:#e9efe9;border-left:3px solid #315c4a;align-items:center;gap:.65rem;margin:-.4rem 0 1.35rem;padding:.8rem 1rem;font-size:.82rem;font-weight:650;display:flex}.people-save-message>span{color:#fff;background:#315c4a;border-radius:50%;place-items:center;width:1.4rem;height:1.4rem;font-size:.72rem;display:grid}.couple-person.is-suggested{border-color:#759080;box-shadow:0 16px 38px #315c4a17}.couple-person.is-saved{animation:.35s person-saved}.couple-person__saved{color:#315c4a;justify-content:center;align-items:center;gap:.35rem;margin:0;font-size:.7rem;font-weight:700;display:flex}.couple-person__saved span{color:#fff;background:#315c4a;border-radius:50%;place-items:center;width:1.15rem;height:1.15rem;font-size:.6rem;display:grid}.couple-person__actions{flex-wrap:wrap}.couple-person__actions button.next-person{color:#315c4a;background:0 0;border-color:#0000;flex-basis:100%}.people-state-action{color:#fff;cursor:pointer;background:#244b3c;border:1px solid #244b3c;border-radius:999px;min-height:2.65rem;margin-top:.9rem;padding:.6rem .8rem;font-weight:700}@keyframes person-saved{50%{transform:translateY(-3px);box-shadow:0 18px 44px #315c4a29}}@media (max-width:600px){.proof-dialog-backdrop{place-items:end center;padding:.65rem}.proof-dialog{padding:1.5rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom));border-radius:1.25rem}.proof-dialog__mark{width:2.7rem;height:2.7rem;margin-bottom:1.2rem}.proof-dialog h2{font-size:2.3rem}.proof-dialog>p:not(.eyebrow){font-size:.85rem;line-height:1.5}.proof-dialog__actions{grid-template-columns:1fr 1.25fr;margin-top:1.5rem;display:grid}.proof-dialog__actions button{width:100%;padding-inline:.5rem;font-size:.78rem}.proof-complete{padding:.6rem}.proof-complete>section{border-radius:1.25rem;padding:2rem 1.15rem}.proof-complete .festivelens-wordmark,.wedsnap-wordmark{margin-bottom:2rem}.proof-complete__mark{width:3.8rem;height:3.8rem}.proof-complete h1{font-size:3.25rem}.proof-complete>section>p:not(.eyebrow){font-size:.84rem;line-height:1.55}.proof-complete__summary{margin:1.6rem auto}.proof-complete__summary strong{font-size:2.25rem}.people-save-message{margin-top:0;padding:.7rem .75rem;font-size:.72rem;line-height:1.4}.couple-person__saved{font-size:.62rem}.couple-person__actions button.next-person{min-height:2rem;padding-block:.25rem}}@media (max-width:640px){.guest-gallery-header{min-height:0;padding:max(.55rem,env(safe-area-inset-top)) .75rem .6rem;grid-template-columns:1fr;gap:.55rem}.guest-gallery-header>.festivelens-wordmark,.wedsnap-wordmark{grid-column:1;justify-self:center;letter-spacing:.28em!important;text-indent:.28em!important;font-size:.58rem!important}.guest-result-tabs{grid-column:1;justify-self:center;width:min(100%,22rem);padding:.25rem;box-shadow:0 7px 20px #251f1a14}.guest-result-tabs a,.guest-result-tabs span,.guest-result-tabs button{cursor:pointer;background:0 0;border:0;border-radius:999px;flex:1;place-items:center;min-height:2.65rem;padding:.5rem .7rem;font-family:inherit;font-size:.76rem;font-weight:750;display:grid}.festivelens-gallery,.wedsnap-gallery{min-height:calc(100dvh - 6.3rem);padding:.65rem .72rem calc(5.5rem + env(safe-area-inset-bottom))}.festivelens-gallery,.wedsnap-gallery>h1{text-wrap:balance;max-width:20rem;margin:.1rem auto 0;font-size:clamp(2.45rem,12vw,3.15rem);line-height:.88}.festivelens-gallery,.wedsnap-gallery>.festivelens-ornament,.wedsnap-ornament{margin:.7rem auto .9rem}.gallery-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:.42rem;width:100%;margin-bottom:.65rem;display:grid}.gallery-compact-actions{display:contents}.gallery-compact-actions button{min-height:2.7rem;padding:.46rem .65rem;font-size:.72rem}.gallery-action-primary{grid-area:1/1/auto/-1}.gallery-action-secondary{grid-area:2/1}.gallery-action-icon{grid-area:2/3;width:2.7rem;height:2.7rem;padding:0!important}.gallery-new-person{grid-area:2/2;min-width:0;margin:0;padding:0}.gallery-new-person button{white-space:nowrap;width:100%;min-height:2.7rem;padding:.46rem .35rem;font-size:.7rem}.gallery-albums{margin-inline:-.72rem;padding:.4rem .72rem;top:6.25rem}.festivelens-gallery,.wedsnap-gallery .photo-card img{min-height:5.5rem}.gallery-total{margin-bottom:0}.wedding-gallery-intro{border-bottom:1px solid #ded5ca;gap:.75rem;width:100%;margin:0;padding:1.15rem .9rem 1.3rem;display:grid}.wedding-gallery-intro h1{overflow-wrap:anywhere;text-wrap:balance;max-width:100%;margin:.2rem 0 0;font-size:clamp(2.65rem,13vw,3.35rem);line-height:.88}.wedding-gallery-intro>a{justify-self:start;padding:.65rem .85rem;font-size:.76rem}.wedding-people-row{border-top:0;margin:0;padding:1.15rem .9rem 1rem}.wedding-people-row>header{margin-bottom:.8rem}.wedding-people-row h2{font-size:2.15rem;line-height:.92}.wedding-people-row>header>span{font-size:.72rem}.wedding-people-scroll{gap:.55rem;margin-inline:-.9rem;padding:.25rem .9rem .65rem}.wedding-people-scroll button{flex-basis:5.55rem;padding:.25rem}.wedding-people-scroll img,.people-all-avatar{border-width:3px;width:4.45rem}.wedding-people-scroll strong{font-size:.75rem}.wedding-people-scroll span{font-size:.62rem}.wedding-people-row+.festivelens-gallery,.wedsnap-gallery{border-top:0;padding-top:1.2rem}.full-gallery-lock-action{margin:-3.8rem auto calc(1rem + env(safe-area-inset-bottom));background:#fffdf9;padding:.7rem 1rem;display:block;position:static}.selection-dock{bottom:max(.55rem,env(safe-area-inset-bottom))}}@media (max-width:360px){.guest-gallery-header{padding-inline:.55rem}.guest-result-tabs a,.guest-result-tabs span,.guest-result-tabs button{font-size:.7rem}.gallery-compact-actions button{padding-inline:.48rem;font-size:.68rem}.wedding-gallery-intro h1{font-size:2.55rem}}.gallery-skeleton{grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem;max-width:76rem;margin:auto;display:grid;position:relative}.gallery-skeleton .masonry-column{gap:.72rem;display:grid}.gallery-skeleton__photo{aspect-ratio:4/5;background:#ded6ca linear-gradient(105deg,#0000 25%,#ffffff80 45%,#0000 65%) 200% 0/220% 100%;border-radius:.6rem;animation:1.4s ease-in-out infinite gallery-skeleton-shimmer;display:block}.gallery-skeleton .masonry-column:first-of-type .gallery-skeleton__photo:nth-child(2),.gallery-skeleton .masonry-column:last-of-type .gallery-skeleton__photo:first-child{aspect-ratio:4/3}.gallery-skeleton__message{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.gallery-skeleton__photo{background-position:50% 0;animation:none}}.proof-retouch-tag{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;z-index:2;letter-spacing:.02em;background:#10b981f0;border-radius:999px;padding:.2rem .55rem;font-size:.7rem;font-weight:700;position:absolute;top:.6rem;left:.6rem;box-shadow:0 2px 6px #0003}.proof-retouch-box{flex-direction:column;gap:.35rem;margin-top:.5rem;display:flex}.proof-retouch-complete-pill{color:#059669;background:#10b9811a;border:1px solid #10b98140;border-radius:6px;align-items:center;gap:.3rem;padding:.25rem .5rem;font-size:.75rem;font-weight:650;display:inline-flex}.face-filter-container{position:relative}.face-filter-bar{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.face-filter-trigger{color:#3c3530;cursor:pointer;background:#fffdf9;border:1px solid #dcd4c8;border-radius:999px;align-items:center;gap:.45rem;padding:.55rem .9rem;font-size:.78rem;font-weight:700;transition:border-color .15s,background-color .15s;display:inline-flex}.face-filter-trigger:hover{border-color:#244b3c}.face-filter-trigger.is-open{color:#244b3c;background:#edf2ee;border-color:#244b3c}.face-filter-trigger.is-active{color:#fff;background:#244b3c;border-color:#244b3c}.face-filter-icon{font-size:.85rem}.face-filter-count{opacity:.65;font-size:.72rem}.face-filter-chevron{opacity:.7;font-size:.6rem}.face-filter-active-pill{color:#244b3c;background:#e8eee9;border:1px solid #89a090;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .65rem .35rem .4rem;font-size:.76rem;font-weight:700;display:inline-flex}.face-filter-pill-avatar{object-fit:cover;border-radius:50%;width:1.4rem;height:1.4rem}.face-filter-clear-btn{color:#244b3c;cursor:pointer;background:0 0;border:0;place-items:center;padding:0 .2rem;font-size:.8rem;font-weight:800;display:grid}.face-filter-drawer{z-index:35;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf9fa;border:1px solid #ded5ca;border-radius:1.1rem;width:min(100vw - 2rem,36rem);padding:1rem;position:absolute;top:calc(100% + .5rem);left:auto;right:0;box-shadow:0 18px 45px #231c162e}.face-filter-topbar{justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:.75rem;display:flex}.face-filter-search{background:#fff;border:1px solid #dcd4c8;border-radius:999px;flex:1;align-items:center;gap:.4rem;max-width:240px;padding:.35rem .65rem;display:flex}.face-filter-search input{background:0 0;border:0;outline:none;width:100%;font-family:inherit;font-size:.78rem}.face-filter-close-btn{color:#787068;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:.2rem .4rem;font-size:.9rem;font-weight:700}.face-filter-close-btn:hover{color:#2e2824}.face-filter-grid{scrollbar-width:thin;grid-template-columns:repeat(auto-fill,minmax(5.2rem,1fr));gap:.65rem;max-height:17rem;padding:.35rem .2rem;display:grid;overflow-y:auto}.face-filter-card{cursor:pointer;background:#fff;border:1px solid #e2dacd;border-radius:.85rem;justify-items:center;gap:.25rem;padding:.55rem .35rem;transition:transform .15s,border-color .15s;display:grid}.face-filter-card:hover{border-color:#244b3c;transform:translateY(-2px)}.face-filter-card.selected{background:#edf2ee;border-color:#244b3c;box-shadow:0 0 0 1px #244b3c}.face-filter-avatar-wrap{background:#ece4d8;border-radius:50%;width:3rem;height:3rem;position:relative;overflow:hidden}.face-filter-avatar-wrap img{object-fit:cover;width:100%;height:100%;display:block}.face-filter-avatar-wrap.all-people-icon{color:#fff;background:#244b3c;place-items:center;font-size:.82rem;font-weight:800;display:grid}.face-filter-check{color:#fff;background:#244b3c;border-radius:50%;place-items:center;width:1.1rem;height:1.1rem;font-size:.65rem;display:grid;position:absolute;bottom:0;right:0}.face-filter-dual-avatar{grid-template-columns:1fr 1fr;width:100%;height:100%;display:grid}.face-filter-card strong{text-overflow:ellipsis;white-space:nowrap;color:#2e2824;max-width:4.8rem;font-size:.7rem;overflow:hidden}.face-filter-card small{color:#787068;white-space:nowrap;font-size:.62rem}@media (max-width:640px){.face-filter-drawer{width:100%;max-height:80vh;padding:1rem 1rem calc(1.2rem + env(safe-area-inset-bottom));z-index:100;border-radius:1.25rem 1.25rem 0 0;position:fixed;inset:auto 0 0;box-shadow:0 -10px 35px #00000038}.face-filter-grid{max-height:55vh}}.festivelens-cover__photographer-credit,.festivelens-cover,.wedsnap-cover__photographer-credit{font-family:var(--font-serif);letter-spacing:.04em;color:#fbf4e8d9;text-shadow:0 1px 4px #00000073;margin:.9rem 0 0;font-size:.92rem;font-style:italic}.festivelens-cover__photographer-credit,.festivelens-cover,.wedsnap-cover__photographer-credit span{letter-spacing:.05em;color:#fff;border-bottom:1px solid #fbf4e859;padding-bottom:1px;font-style:normal;font-weight:600}.festivelens-dev-preview-pill,.wedsnap-dev-preview-pill{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffbf;cursor:pointer;background:#101714a6;border:1px solid #fff3;border-radius:999px;padding:.35rem .75rem;font-size:.68rem;font-weight:500;transition:all .2s;position:fixed;bottom:.85rem;right:.85rem;box-shadow:0 4px 12px #0003}.festivelens-dev-preview-pill,.wedsnap-dev-preview-pill:hover{color:#fff;background:#101714e6;border-color:#fff6;transform:translateY(-1px)}.festivelens-gallery,.wedsnap-gallery>h1{margin-bottom:0;line-height:1.02}.gallery-photographer-byline{letter-spacing:0;color:#726b64;text-align:center;overflow-wrap:anywhere;max-width:100%;margin:.85rem auto 1.75rem;padding-inline:.5rem;font-family:inherit;font-size:.8rem;line-height:1.45}.gallery-photographer-byline span{color:#1a2923;font-weight:700}.gallery-photographer-byline strong{color:#315c4a;font-weight:750}.studio-colophon{text-align:center;background:#fffdf9;border:1px solid #e7ded4;border-radius:1.25rem;max-width:30rem;margin:2.5rem auto 1.5rem;padding:1.65rem 1.25rem}.studio-colophon__name{font-family:var(--font-serif);letter-spacing:-.02em;color:#1a2923;margin:0 0 .4rem;font-size:1.65rem;font-weight:500;line-height:1.15}.studio-colophon__note{color:#635b54;max-width:24rem;margin:0 auto 1.15rem;font-size:.82rem;line-height:1.5}.studio-colophon__action{justify-content:center;display:flex}.studio-colophon__whatsapp{letter-spacing:.02em;background:#0f3024;border-radius:999px;justify-content:center;align-items:center;gap:.6rem;min-height:2.9rem;padding:.7rem 1.3rem;font-size:.82rem;font-weight:650;text-decoration:none;transition:all .22s;display:inline-flex;box-shadow:0 5px 14px #0f302421;color:#f7eedf!important}.studio-colophon__whatsapp svg{color:#25d366;flex-shrink:0}.studio-colophon__whatsapp:hover{background:#071f16;transform:translateY(-1px);box-shadow:0 10px 24px #0f30244d;color:#fff!important}@media (max-width:640px){.festivelens-gallery,.wedsnap-gallery>h1{line-height:1.02}.gallery-photographer-byline{margin-top:.35rem;margin-bottom:.85rem}.studio-colophon{margin-top:2rem;padding:1.5rem 1rem}}.gallery-action-share{color:#315c4a;background:#fff;border:1px solid #cfc7ba;flex:1}.gallery-action-share span{font-size:1rem}.gallery-message{color:#315c4a;text-align:center;background:#e8eee9;border-radius:.65rem;width:min(100%,28rem);margin:-.15rem auto .65rem;padding:.55rem .75rem;font-size:.72rem;font-weight:650}.festivelens-gallery,.wedsnap-gallery .photo-card:not(.is-loaded):before{content:"";z-index:1;pointer-events:none;background:linear-gradient(105deg,#0000 28%,#ffffff7a 46%,#0000 64%) 180% 0/220% 100%;animation:1.35s ease-in-out infinite gallery-skeleton-shimmer;position:absolute;inset:0}.festivelens-gallery,.wedsnap-gallery .photo-card img{opacity:0;transition:opacity .25s}.festivelens-gallery,.wedsnap-gallery .photo-card.is-loaded img{opacity:1}.gallery-finale{color:#315c4a;text-align:center;justify-items:center;gap:.2rem;margin:2rem auto .5rem;padding:1.15rem 1rem;display:grid}.gallery-finale strong{font:500 clamp(1.35rem,5vw,1.8rem)/1.1 var(--font-serif)}.gallery-finale span{color:#77706a;font-size:.72rem}@media (max-width:640px){.gallery-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.gallery-action-share{grid-area:2/2}.gallery-new-person{grid-area:3/1/auto/-1}.gallery-new-person button{text-underline-offset:.18rem;border:0;width:auto;min-height:1.9rem;padding:.25rem .55rem;font-size:.7rem;text-decoration:underline}.gallery-finale{margin-top:1.25rem}}@media (prefers-reduced-motion:reduce){.festivelens-gallery,.wedsnap-gallery .photo-card:not(.is-loaded):before{animation:none}}.setup-input-group--whatsapp{margin-top:1.25rem}.setup-label-row{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.setup-label-badge{letter-spacing:.04em;text-transform:uppercase;color:#315c4a;background:#e7f3ec;border-radius:999px;padding:.18rem .5rem;font-size:.68rem;font-weight:600}.setup-phone-input-wrap{align-items:center;display:flex;position:relative}.setup-phone-prefix{color:#635b54;pointer-events:none;z-index:2;font-size:1.1rem;font-weight:600;position:absolute;left:1.15rem}.setup-phone-input-wrap input{letter-spacing:.06em;height:3.6rem!important;padding-left:3.4rem!important;font-size:1.15rem!important}.setup-hint-field{color:#7a7067!important;margin-top:.45rem!important;font-size:.8rem!important;line-height:1.4!important}.settings-leadgen-card{background:#fdfbf7;border:1px solid #e7ded4;border-radius:12px;margin-top:2rem;padding:1.5rem}.settings-leadgen-card__header h3{color:#1a2923;margin:0 0 .4rem;font-size:1.05rem;font-weight:600}.settings-leadgen-card__header p{color:#635b54;margin:0 0 1.2rem;font-size:.85rem;line-height:1.5}.settings-leadgen-card__body .settings-phone-input-wrap{align-items:center;gap:.75rem;max-width:25rem;display:flex;position:relative}.settings-phone-prefix{color:#635b54;pointer-events:none;z-index:2;font-size:.95rem;font-weight:600;position:absolute;left:.85rem}.settings-preset-input{color:#1a2923;letter-spacing:.04em;background:#fff;border:1px solid #c9beaf;border-radius:8px;flex:1;min-width:0;height:2.75rem;font-size:.95rem;padding:.4rem .6rem .4rem 2.45rem!important}.settings-preset-input:focus{border-color:#315c4a;outline:none;box-shadow:0 0 0 3px #315c4a26}@media (max-width:480px){.settings-leadgen-card__body .settings-phone-input-wrap{flex-direction:column;align-items:stretch;gap:.65rem}.settings-leadgen-card__body .settings-phone-input-wrap button{width:100%}}.setup-fields{flex-direction:column;gap:1.25rem;display:flex}@media (min-width:900px){.setup-fields{flex-direction:column;grid-area:3/1;gap:1.25rem;display:flex}}
