.reviews-section{--review-bg:#0b0b0c;background:var(--review-bg);color:#fff;padding:85px 0 72px;overflow:hidden;scroll-margin-top:88px}
.reviews-heading{text-align:center;padding:0 20px}.reviews-heading .eyebrow{color:#edabc8;margin-bottom:16px}.reviews-heading h2{font-size:clamp(30px,3.2vw,44px)}.reviews-heading>p:last-child{color:#aaa6aa;margin-top:17px;font-size:15px}
.review-stage{position:relative;max-width:1232px;height:410px;margin:36px auto 0;touch-action:pan-y;isolation:isolate}
.review-stage:before,.review-stage:after{content:"";position:absolute;top:0;bottom:0;width:12%;z-index:5;pointer-events:none}.review-stage:before{left:0;background:linear-gradient(90deg,var(--review-bg),transparent)}.review-stage:after{right:0;background:linear-gradient(-90deg,var(--review-bg),transparent)}
.review-card{position:absolute;top:50%;left:50%;width:574px;height:314px;padding:30px 34px 25px;background:#353534;border:1px solid #535352;border-radius:16px;transform:translate(-50%,-50%) translateX(var(--shift,0px)) scale(var(--scale,1));opacity:var(--opacity,1);z-index:var(--layer,1);transition:transform 850ms cubic-bezier(.22,.68,0,1),opacity 850ms ease,background 850ms;display:flex;flex-direction:column;overflow:hidden;color:#fff}
.review-card[data-position="active"]{--shift:0px;--scale:1;--opacity:1;--layer:3}.review-card[data-position="previous"]{--shift:-395px;--scale:.72;--opacity:.22;--layer:2}.review-card[data-position="next"]{--shift:395px;--scale:.72;--opacity:.22;--layer:2}.review-card[data-position="hidden"]{--shift:0px;--scale:.6;--opacity:0;--layer:0;pointer-events:none}
.review-card-tag{color:#e0b5c9;font-size:11px;letter-spacing:.02em;margin-bottom:12px}.review-card blockquote{font-size:25px;font-weight:600;line-height:1.55;letter-spacing:-.055em;margin:0;padding:0 100px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.review-card-meta{margin-top:auto;padding-top:13px;color:#cac7ca;font-size:13px;max-width:75%;overflow-wrap:anywhere}.review-emoji{position:absolute;right:29px;bottom:42px;font-family:'Apple Color Emoji','Segoe UI Emoji',sans-serif;font-size:108px;line-height:1.2;transform:rotate(-7deg);transition:transform 900ms cubic-bezier(.22,.68,0,1);pointer-events:none}.review-card[data-position="active"] .review-emoji{transform:rotate(7deg)}
.review-read{position:absolute;inset:0;border:0;background:transparent;border-radius:inherit}.review-read:focus-visible{outline:3px solid #edabc8;outline-offset:-5px}.review-stage:focus-visible{outline:2px solid #edabc8;outline-offset:-5px}
.review-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin:0 20px 25px}.review-controls button{border:1px solid #555;background:transparent;color:#fff;min-width:44px;height:44px;border-radius:50%;font-size:18px}.review-controls button:hover{background:#333}.review-controls .review-pause{border-radius:4px;font-size:12px;padding:0 13px;min-width:104px}.review-counter{font-size:13px;letter-spacing:.12em;color:#bbb;min-width:60px;text-align:center;font-variant-numeric:tabular-nums}.review-footer{text-align:center;padding:0 20px}.review-write{background:#edabc8;color:#21171c;border:0;padding:14px 27px;font-size:14px;font-weight:700;min-height:48px;border-radius:4px}.review-write:hover{background:#f6c8dd}.review-note{font-size:12px;color:#aaa6aa;margin-top:15px}.review-status{color:#edabc8;font-size:13px;min-height:22px;margin-top:10px}.review-controls button:disabled{opacity:.35;cursor:default}
#review-dialog{max-width:1000px;padding:32px;background:#f5f3ef;max-height:calc(100dvh - 32px);overflow:auto;border-radius:12px}#review-dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}#review-dialog h2{font-size:28px;margin:0 44px 8px 0}#review-dialog .review-dialog-intro{font-size:13px;margin:0 0 25px}.review-close{position:absolute;top:15px;right:17px;border:0;background:none;font-size:13px;padding:10px;min-height:44px}.review-editor{display:grid;grid-template-columns:1fr 1fr;gap:30px}.review-form label,.review-form legend{font-size:13px;font-weight:700}.review-form input,.review-form select,.review-form textarea{font:inherit;width:100%;color:var(--ink);background:#fff;border:1px solid #bcb6b9;border-radius:5px;padding:10px 12px;min-height:44px;margin-top:7px}.review-form textarea{resize:vertical;min-height:140px;line-height:1.6;font-size:14px;word-break:normal}.review-form :is(input,select,textarea):focus-visible{outline:2px solid #a63268;outline-offset:2px}.review-form fieldset{border:0;padding:0;margin:16px 0}.review-field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.review-form .review-body-label{display:block;margin-top:18px}.review-count{display:block;text-align:right;font-size:11px;color:#6c676b;margin-top:3px}.emoji-options{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.emoji-option{border:1px solid #ccc5c8;background:#fff;border-radius:8px;min-width:44px;height:44px;font-size:25px;padding:3px}.emoji-option[aria-pressed="true"]{background:#f4d7e4;border:2px solid #9e3267}.emoji-insert{background:none;border:0;text-decoration:underline;text-underline-offset:3px;font-size:12px;color:#822752;padding:8px 0;min-height:44px}.review-preview{background:#171718;border-radius:8px;padding:22px;align-self:start}.review-preview>p{color:#aaa;font-size:12px;margin:0 0 18px!important}.review-preview .review-card{position:relative;inset:auto;width:100%;height:300px;transform:none;padding:24px;opacity:1}.review-preview .review-card blockquote{font-size:19px;padding-right:45px;-webkit-line-clamp:7}.review-preview .review-emoji{font-size:72px;right:16px;bottom:35px}.review-preview .review-card-meta{font-size:12px}.review-form .review-consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;font-weight:400;margin-top:6px}.review-consent input{width:18px;min-height:18px;margin:2px 0 0;flex-shrink:0;accent-color:#9e3267}.review-form .review-submit{width:100%;justify-content:center;background:#211b20;color:white;margin-top:16px;border-radius:4px}.review-submit:disabled{opacity:.6;cursor:wait}#review-form-status{color:#a02b41;min-height:20px;font-size:12px;margin:8px 0 0}.review-form-hint{font-size:11px!important;margin:10px 0!important}.review-detail{max-width:600px;background:#353534;color:#fff;border:1px solid #535352;border-radius:14px}.review-detail h2{font-size:22px}.review-detail .review-close{color:#fff}.review-detail p{color:#eee;white-space:pre-wrap;overflow-wrap:anywhere;font-size:18px;line-height:1.8}.review-detail-emoji{display:block;font-size:70px;line-height:1.3;margin:8px 0 20px}.review-detail small{color:#c5bec3}
@media(max-width:1000px){.review-card{width:520px}.review-card[data-position="previous"]{--shift:-350px}.review-card[data-position="next"]{--shift:350px}.review-editor{gap:20px}.review-preview{padding:15px}.review-preview .review-card{padding:18px}}
@media(max-width:700px){.reviews-section{padding:52px 0 44px;scroll-margin-top:72px}.reviews-heading>p:last-child{font-size:13px}.review-stage{height:354px;margin-top:20px}.review-card{width:calc(100vw - 64px);max-width:440px;height:300px;padding:25px 23px 22px;border-radius:12px}.review-card blockquote{font-size:20px;padding-right:56px;-webkit-line-clamp:6}.review-emoji{font-size:76px;right:17px;bottom:36px}.review-card-meta{font-size:11px;max-width:73%}.review-card[data-position="previous"]{--shift:-73vw;--scale:.8}.review-card[data-position="next"]{--shift:73vw;--scale:.8}.review-stage:before,.review-stage:after{width:20px}.review-controls{gap:10px;margin-bottom:22px}.review-note{font-size:11px}.review-editor{grid-template-columns:1fr}#review-dialog{padding:27px 20px;width:calc(100% - 24px)}#review-dialog h2{font-size:24px}.review-preview{order:2}.review-preview .review-card{height:270px}.review-preview .review-card blockquote{font-size:19px}.review-detail{padding:30px 24px}.review-detail p{font-size:16px}}
@media(prefers-reduced-motion:reduce){.review-card,.review-emoji{transition:none}.review-emoji,.review-card[data-position="active"] .review-emoji{transform:none}}
.reviews-section{scroll-margin-top:0}.review-card blockquote{word-break:keep-all}
.animated-review-emoji { display:inline-flex; align-items:center; justify-content:center; width:1em; height:1em; vertical-align:middle; }
.animated-review-emoji img { display:block; width:100%; height:100%; object-fit:contain; }
.emoji-static { display:none; }
.emoji-load-failed .emoji-static { display:inline; }
.emoji-options { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.emoji-options .emoji-option { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; height:86px; min-width:0; padding:7px 2px; }
.emoji-option .animated-review-emoji { width:44px; height:44px; font-size:36px; }
.emoji-option-label { font-size:10px; font-weight:650; white-space:nowrap; }
.emoji-credit { font-size:10px; color:#716575; margin-top:8px; }
.review-detail-emoji .animated-review-emoji { width:100px; height:100px; }
@media(prefers-reduced-motion:reduce) { .animated-review-emoji img { display:none; } .animated-review-emoji .emoji-static { display:inline; } }
@media(max-width:400px) { .emoji-options { gap:4px; } .emoji-option-label { font-size:9px; } }
