(function () { if (window.__ppsReviewCarouselShortcodeV1) return; window.__ppsReviewCarouselShortcodeV1 = true; var SHORTCODE = "[pps_review_carousel]"; var STYLE_ID = "pps-review-carousel-shortcode-style"; var reviews = [ { couple: "Reshma & Joel", image: "https://pearlpaperstudio.com/wp-content/uploads/2026/07/review-reshma-joel.jpg", quote: "Pearl Paper Studio made the whole process feel smooth and easy. We were awkward in front of the camera, but they helped us feel natural.", }, { couple: "Maddie & Craig", image: "https://pearlpaperstudio.com/wp-content/uploads/2026/07/review-maddie-craig.jpg", imagePosition: "center bottom", quote: "Pearl Paper Studio kept the day on track and made sure we got the photos we hoped for, without adding stress to the wedding.", }, { couple: "Tara & Josef", image: "https://pearlpaperstudio.com/wp-content/uploads/2026/07/review-tara-josef.jpg", imagePosition: "center bottom", quote: "After rescheduling, Pearl Paper Studio helped us lock in a new date and timeline. They made us laugh and feel comfortable all day.", }, { couple: "Angela & Sean", image: "https://pearlpaperstudio.com/wp-content/uploads/2026/07/review-angela-sean.jpg", quote: "Pearl Paper Studio brought calm to a chaotic June wedding, answered every email, and gave us photos that feel like art.", }, { couple: "Ashima & Anurag", image: "https://pearlpaperstudio.com/wp-content/uploads/2026/07/review-ashima-anurag.jpg", imagePosition: "center bottom", quote: "Pearl Paper Studio got everyone on the same page before the wedding, then kept us calm while capturing both portraits and candids.", }, { couple: "Jimin & Dan", image: "https://pearlpaperstudio.com/wp-content/uploads/2026/07/review-jimin-dan.jpg", imagePosition: "center bottom", quote: "Pearl Paper Studio was easy to work with, friendly, and professional, and the photos came back quickly. Everyone loved them.", }, { couple: "Valerie & Patrick", image: "https://pearlpaperstudio.com/wp-content/uploads/2026/07/review-valerie-patrick.jpg", imagePosition: "center bottom", quote: "Pearl Paper Studio created a comfortable atmosphere, listened to our ideas, and still offered thoughtful direction when we needed it.", }, { couple: "Joanna & Rick", image: "https://pearlpaperstudio.com/wp-content/uploads/2026/07/review-joanna-rick.jpg", quote: "From engagement photos to the wedding-day timeline, communication was easy, and Pearl Paper Studio made us feel comfortable when it mattered most.", }, { couple: "Kathryn & Matt", image: "https://pearlpaperstudio.com/wp-content/uploads/2026/07/review-kathryn-matt.jpg", quote: "We were on a tight schedule, but Pearl Paper Studio kept us moving without making us feel rushed. We laughed the whole way through.", }, { couple: "Arielle & Mike", image: "https://pearlpaperstudio.com/wp-content/uploads/2026/07/review-arielle-mike.jpg", quote: "Pearl Paper Studio made our awkward photo feelings disappear, captured candid moments we never saw happening, and made the album feel like a story.", }, ]; function addStyles() { if (document.getElementById(STYLE_ID)) return; var style = document.createElement("style"); style.id = STYLE_ID; style.textContent = ".pps-review-carousel-sc{width:100%;max-width:100%;background:#f7f4ef;padding:50px 0;font-family:Montserrat,'Helvetica Neue',Arial,sans-serif;color:#2f2b28}" + ".pps-review-carousel-sc *{box-sizing:border-box}" + ".pps-review-carousel-sc__shell{max-width:1180px;margin:0 auto;padding:0 24px}" + ".pps-review-carousel-sc__heading{text-align:center;margin:0 0 30px}" + ".pps-review-carousel-sc__pre{color:#df7f6c;font-size:.68rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase;margin:0 0 12px}" + ".pps-review-carousel-sc h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2.1rem,5vw,4rem);font-weight:400;line-height:1.02;margin:0;color:#171717}" + ".pps-review-carousel-sc__sub{font-size:clamp(.92rem,1.2vw,1.08rem);line-height:1.6;margin:12px auto 0;max-width:620px}" + ".pps-review-carousel-sc__stage{position:relative;overflow:hidden;min-height:560px;background:#111;touch-action:pan-y}" + ".pps-review-carousel-sc__slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity 520ms ease;background-size:cover;background-position:center}" + ".pps-review-carousel-sc__slide.is-active{opacity:1;pointer-events:auto}" + ".pps-review-carousel-sc__slide::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,14,12,.45),rgba(16,14,12,.08) 48%,rgba(16,14,12,.25))}" + ".pps-review-carousel-sc__card{position:absolute;left:clamp(18px,5vw,70px);bottom:clamp(18px,5vw,58px);width:min(520px,calc(100% - 36px));background:rgba(255,253,249,.82);backdrop-filter:blur(8px);box-shadow:0 18px 44px rgba(0,0,0,.2);padding:clamp(20px,3vw,34px)}" + ".pps-review-carousel-sc blockquote{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1.5rem,3.2vw,2.65rem);font-weight:400;line-height:1.08;margin:0;color:#2f2b28}" + ".pps-review-carousel-sc__couple{color:#5d7e8b;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin:18px 0 0}" + ".pps-review-carousel-sc__dots{display:flex;justify-content:center;gap:9px;margin-top:16px}" + ".pps-review-carousel-sc__dots button{appearance:none;border:1px solid #9a887b;border-radius:999px;width:9px;height:9px;padding:0;background:transparent;cursor:pointer}" + ".pps-review-carousel-sc__dots button.is-active{background:#df7f6c;border-color:#df7f6c}" + "@media (max-width:700px){.pps-review-carousel-sc{padding:42px 0}.pps-review-carousel-sc__shell{padding:0 16px}.pps-review-carousel-sc__stage{min-height:640px}.pps-review-carousel-sc__slide::before{background:linear-gradient(180deg,rgba(16,14,12,.18),rgba(16,14,12,.18) 45%,rgba(16,14,12,.46))}.pps-review-carousel-sc__card{left:16px;right:16px;bottom:16px;width:auto;padding:22px;background:rgba(255,253,249,.88)}}"; document.head.appendChild(style); } function esc(value) { return String(value == null ? "" : value).replace(/[&<>"']/g, function (char) { return { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" }[char]; }); } function markup() { var slides = reviews .map(function (review, index) { return ( '" ); }) .join(""); var dots = reviews .map(function (review, index) { return ( '" ); }) .join(""); return ( '" ); } function wire(root) { if (!root || root.dataset.ppsReviewCarouselReady === "true") return; root.dataset.ppsReviewCarouselReady = "true"; var slides = Array.prototype.slice.call(root.querySelectorAll(".pps-review-carousel-sc__slide")); var dots = Array.prototype.slice.call(root.querySelectorAll(".pps-review-carousel-sc__dots button")); var stage = root.querySelector(".pps-review-carousel-sc__stage"); var active = 0; var pointerStart = null; var timer = null; function show(index) { active = (index + slides.length) % slides.length; slides.forEach(function (slide, i) { slide.classList.toggle("is-active", i === active); }); dots.forEach(function (dot, i) { dot.classList.toggle("is-active", i === active); if (i === active) dot.setAttribute("aria-current", "true"); else dot.removeAttribute("aria-current"); }); } function restartTimer() { if (timer) window.clearInterval(timer); timer = window.setInterval(function () { show(active + 1); }, 5000); } dots.forEach(function (dot, index) { dot.addEventListener("click", function () { show(index); restartTimer(); }); }); if (stage) { stage.addEventListener("pointerdown", function (event) { pointerStart = event.clientX; }); stage.addEventListener("pointerup", function (event) { if (pointerStart === null) return; var distance = event.clientX - pointerStart; pointerStart = null; if (Math.abs(distance) > 42) { show(active + (distance < 0 ? 1 : -1)); restartTimer(); } }); stage.addEventListener("pointercancel", function () { pointerStart = null; }); } restartTimer(); } function findShortcodeNodes() { var nodes = []; if (!document.body) return nodes; var walker = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT, { acceptNode: function (node) { if (!node.nodeValue || node.nodeValue.trim() !== SHORTCODE) return NodeFilter.FILTER_REJECT; var parent = node.parentElement; if (parent && parent.closest && parent.closest("script,style,textarea,noscript")) return NodeFilter.FILTER_REJECT; if (parent && parent.closest && parent.closest(".pps-review-carousel-sc")) return NodeFilter.FILTER_REJECT; return NodeFilter.FILTER_ACCEPT; }, }); while (walker.nextNode()) nodes.push(walker.currentNode); return nodes; } function mount() { var nodes = findShortcodeNodes(); if (!nodes.length) return; addStyles(); nodes.forEach(function (node) { var host = node.parentElement; while (host && host !== document.body) { if (host.textContent && host.textContent.trim() === SHORTCODE) break; host = host.parentElement; } if (!host || host === document.body) host = node.parentElement; var wrapper = document.createElement("div"); wrapper.innerHTML = markup(); var carousel = wrapper.firstElementChild; host.replaceWith(carousel); wire(carousel); }); } function scheduleMount() { mount(); window.setTimeout(mount, 250); window.setTimeout(mount, 1000); } if (document.readyState === "loading") document.addEventListener("DOMContentLoaded", scheduleMount); else scheduleMount(); window.addEventListener("load", scheduleMount); try { new MutationObserver(function () { mount(); }).observe(document.documentElement, { childList: true, subtree: true }); } catch (error) {} })();
Menu

NORTH JERSEY · NEW YORK CITY · LONG ISLAND · HUDSON VALLEY

Thank You

If you are currently engaged and looking for a wedding photographer to help document one of the most amazing days in your lives, we would love to hear your plans and seeing what we can do to be a part of them!

 

- Ben & Karis

***

Coverage with our team begins at $3500

Coverage with Ben begins at $6200

Coverage with Karis begins at $5300

Serving New Jersey, New York, Washington DC and Destinations Worldwide