/* Pearl postcards keep the words in focus; motion is progressive enhancement. */
.home-testimonials{position:relative;z-index:2;padding:46px 0 34px;overflow:hidden;color:var(--ink,#403153)}
.testimonials-heading{text-align:center;margin:0 auto 10px;max-width:900px}
.testimonials-heading .eyebrow{font:13px/1.7 var(--sans,sans-serif);letter-spacing:.23em;color:var(--text-accent);margin:0 0 10px}
.testimonials-heading h2{font:700 clamp(24px,2.6vw,34px)/1.6 var(--serif,serif);letter-spacing:.05em;text-wrap:balance;margin:0 0 10px}
.testimonial-title-part{white-space:nowrap}
.testimonials-heading>p:not(.eyebrow){font:16px/1.9 var(--sans,sans-serif);color:var(--muted,#82728e);margin:0}
.testimonials-stage{position:relative}
.testimonials-belt{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding:23px 0 32px;scroll-behavior:auto}
.testimonials-belt:focus-visible{outline:2px solid #a583c2;outline-offset:-5px;border-radius:10px}
.testimonials-track{display:flex;width:max-content;will-change:transform}
.testimonials-set{display:flex;align-items:stretch;gap:24px;padding-right:24px;flex-shrink:0}
.testimonial-card{--testimonial-tint:#ede3fa;position:relative;isolation:isolate;display:flex;flex-direction:column;flex:none;box-sizing:border-box;width:clamp(350px,32vw,430px);min-height:360px;margin:0;padding:64px 30px 25px;border:1px solid #ffffffed;border-radius:24px;background-color:var(--testimonial-tint);background-position:center;background-size:cover;box-shadow:0 12px 26px #7860941e;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s;}
.testimonial-lavender{background-image:linear-gradient(#ffffff26,#ffffff26),url('/assets/testimonial-card-lavender.webp')}
.testimonial-pink{--testimonial-tint:#fae8f0;background-image:linear-gradient(#ffffff38,#ffffff38),url('/assets/testimonial-card-pink.webp')}
.testimonial-blue{--testimonial-tint:#e7f3fc;background-image:linear-gradient(#ffffff38,#ffffff38),url('/assets/testimonial-card-blue.webp')}
.testimonial-quote{position:absolute;top:12px;left:26px;font:76px/.95 Georgia,serif;color:#9672ad;opacity:.62;pointer-events:none}
.testimonial-occasion{position:relative;margin:0 0 16px;color:var(--text-accent);font:500 13px/1.8 var(--sans,sans-serif);letter-spacing:.035em}
.testimonial-card blockquote{position:relative;flex:1;margin:0 0 18px;color:#493958;font:400 16px/1.95 var(--serif,serif);overflow-wrap:anywhere}
.testimonial-card blockquote p{margin:0}
.testimonial-card blockquote:after{content:'”';font:33px/.7 Georgia,serif;color:#9672ad;opacity:.6;display:block;text-align:right;margin-top:7px;height:10px}
.testimonial-read{align-self:flex-start;position:relative;border:0;border-bottom:1px solid #aa8cbd;padding:7px 0 5px;background:transparent;box-shadow:none;border-radius:0;color:var(--text-accent);font:14px/1.4 var(--sans,sans-serif);cursor:pointer;letter-spacing:.04em}
.testimonial-read>span{padding-left:12px}
.testimonial-read[hidden],.testimonial-arrow[hidden],.testimonials-motion[hidden]{display:none}
.testimonial-read:focus-visible,.testimonial-arrow:focus-visible,.testimonials-motion:focus-visible,.testimonial-close:focus-visible{outline:3px solid #9771b4;outline-offset:4px}
.testimonial-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #fff;border-radius:50%;background:linear-gradient(135deg,#efe4faed,#fff1f9f5);box-shadow:0 5px 18px #78609430;color:#78558e;font:23px/1 var(--sans,sans-serif);cursor:pointer}
.testimonial-arrow[data-direction='-1']{left:clamp(8px,1.5vw,24px)}
.testimonial-arrow[data-direction='1']{right:clamp(8px,1.5vw,24px)}
.testimonials-footer{display:flex;justify-content:space-between;align-items:center;gap:18px}
.testimonials-footer>p,.testimonials-footer>small{font:13px/1.8 var(--sans,sans-serif);color:var(--muted,#82728e);margin:0}
.testimonials-motion{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 14px;border:1px solid #dcd0e9;border-radius:30px;background:#ffffff66;color:var(--text-accent);font:14px/1.4 var(--sans,sans-serif);cursor:pointer}
.testimonials-motion:before{content:'Ⅱ';font:12px/1 var(--sans,sans-serif)}
.testimonials-motion[aria-pressed='true']:before{content:'▷';font-size:15px}
.testimonials-ready .testimonials-belt{scrollbar-width:none}
.testimonials-ready .testimonials-belt::-webkit-scrollbar{display:none}
.testimonials-static .testimonials-clone{display:none}
.testimonial-sparkle{position:absolute;z-index:3;pointer-events:none;display:block;width:var(--sparkle-size,18px);height:calc(var(--sparkle-size,18px)*1.2);background:url('/assets/lumina-divider-star.svg') center/contain no-repeat;opacity:0;animation:testimonial-twinkle 950ms ease-out forwards}
@keyframes testimonial-twinkle{0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(-18deg)}25%{opacity:.95;transform:translate(-50%,-60%) scale(1) rotate(0deg)}100%{opacity:0;transform:translate(calc(-50% + var(--sparkle-dx,10px)),calc(-50% - 30px)) scale(.45) rotate(20deg)}}
@media(hover:hover){.testimonial-card:hover{transform:translateY(-5px);box-shadow:0 17px 34px #78609431}.testimonial-read:hover{color:#5e3d7a}.testimonial-arrow:hover{background:linear-gradient(135deg,#e8d7f6,#fce3f2);box-shadow:0 8px 22px #78609440}}
.testimonial-card:focus-within{box-shadow:0 15px 32px #78609430}
/* The full quote opens in a native, keyboard-accessible dialog. */
.testimonial-dialog{box-sizing:border-box;width:min(650px,calc(100vw - 32px));max-height:min(82dvh,800px);margin:auto;padding:46px 38px 34px;border:1px solid #fff;border-radius:26px;color:#493958;background:linear-gradient(145deg,#fcf8ff,#fffafd 55%,#f1f7fc);box-shadow:0 24px 80px #46325940;overflow:auto}
.testimonial-dialog::backdrop{background:#49375e66;backdrop-filter:blur(5px)}
.testimonial-dialog[open]{animation:testimonial-dialog-in .25s ease-out}
.testimonial-close{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #ded0e8;border-radius:50%;background:#fff9;color:#77548d;font:25px/1 var(--sans,sans-serif);cursor:pointer}
#testimonial-dialog-occasion{font:500 20px/1.7 var(--serif,serif);color:var(--text-accent);margin:0 15px 20px 0}
#testimonial-dialog-body{font:16px/2 var(--serif,serif);overflow-wrap:anywhere}
#testimonial-dialog-body p{margin:0 0 1.1em}
#testimonial-dialog-body p:last-child{margin-bottom:0}
@keyframes testimonial-dialog-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-width:600px){.home-testimonials{padding:28px 0 23px}.testimonials-heading{margin-bottom:5px}.testimonials-heading h2{font-size:23px}.testimonials-heading>p:not(.eyebrow){font-size:16px}.testimonials-set{gap:18px;padding-right:18px}.testimonial-card{width:85vw;min-height:350px;padding:56px 25px 22px;border-radius:22px}.testimonial-quote{font-size:65px;top:12px;left:23px}.testimonial-occasion{font-size:13px;margin-bottom:13px}.testimonial-card blockquote{font-size:16px;line-height:1.9;margin-bottom:12px}.testimonials-belt{padding:20px 0 25px}.testimonial-arrow{width:38px;height:38px;font-size:21px}.testimonials-footer{flex-direction:column;gap:9px;text-align:center}.testimonial-dialog{padding:47px 24px 28px}.testimonial-dialog #testimonial-dialog-occasion{font-size:18px}.testimonial-dialog #testimonial-dialog-body{font-size:16px;line-height:1.95}}
@media(prefers-reduced-motion:reduce){.testimonials-track{transform:none!important;will-change:auto}.testimonial-card,.testimonial-dialog[open]{animation:none;transition:none}.testimonial-sparkle,.testimonials-clone{display:none}.testimonial-card:hover{transform:none}}
html.motion-paused .testimonial-card{transition:none;transform:none}html.motion-paused .testimonial-sparkle{display:none}
@media print{.home-testimonials{overflow:visible}.testimonials-belt{overflow:visible}.testimonials-track{width:auto;transform:none!important;will-change:auto}.testimonials-set{flex-wrap:wrap}.testimonial-card{width:46%;break-inside:avoid}.testimonials-clone,.testimonial-arrow,.testimonials-motion,.testimonial-read{display:none}}
