.reviews-section{background:#fff;position:relative;padding:110px 0 86px;scroll-margin-top:96px;isolation:isolate}
.reviews-heading{text-align:center;max-width:1000px;margin:0 auto}
.reviews-heading .eyebrow{color:var(--orange-text);margin-bottom:24px}
.reviews-heading h2{font-size:clamp(34px,4.3vw,62px);font-weight:600;line-height:1.18;letter-spacing:-.045em;text-wrap:balance}
.reviews-heading h2 strong{color:var(--orange);font-weight:700;font-variant-numeric:tabular-nums}
.reviews-question{color:#777b80;font-weight:400}
.reviews-heading>p:last-child{max-width:660px;margin:24px auto 0;color:var(--muted);font-size:16px;line-height:1.8}
.review-carousel{margin-top:42px;position:relative;outline:none}
.review-carousel:focus-visible{outline:2px solid var(--orange);outline-offset:-4px;border-radius:16px}
.review-carousel .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.review-stage{position:relative;width:100%;max-width:1680px;margin-inline:auto;padding:20px 24px 52px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory}
.review-ring{display:flex;gap:24px;list-style:none;margin:0;padding:0}
.review-card{flex:0 0 330px;scroll-snap-align:center;background:white;border:1px solid #e1e2e4;border-radius:20px;box-shadow:0 14px 32px #171a1d10;overflow:hidden}
.review-card a{display:flex;height:100%;flex-direction:column;color:var(--ink);text-decoration:none;background:#fff}
.review-card a:focus-visible{outline:3px solid var(--orange);outline-offset:-5px;border-radius:20px}
.review-image{height:330px;padding:16px 12px 8px;display:flex;align-items:center;justify-content:center;background:#fff}
.review-image img{width:100%;height:100%;object-fit:contain;display:block}
.review-card-footer{display:flex;gap:8px;align-items:center;justify-content:space-between;min-height:70px;margin:0 19px;padding:14px 0;border-top:1px solid #eceef0}
.review-card-footer strong{display:block;font-size:14px;letter-spacing:-.01em;font-weight:600}
.review-card-footer small{display:block;color:var(--muted);font-size:10px;margin-top:5px;line-height:1.5}
.review-card-footer i{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:50%;background:#f5f5f4;font-style:normal;color:var(--orange-text);font-size:20px}
.review-carousel.is-3d .review-stage{height:510px;padding:0;overflow:hidden;perspective:1800px;touch-action:pan-y;scroll-snap-type:none}
.review-carousel.is-3d .review-stage::before{content:"";position:absolute;left:50%;bottom:4px;width:min(880px,120vw);height:110px;transform:translateX(-50%);border:1px solid #eeefef;border-radius:50%;background:radial-gradient(ellipse,#e3e5e747,transparent 65%);pointer-events:none}
.review-carousel.is-3d .review-ring{position:absolute;display:block;left:50%;top:24px;width:var(--review-width,350px);height:416px;margin-left:calc(var(--review-width,350px) / -2);transform-style:preserve-3d;transform:translateZ(calc(-1 * var(--review-radius,560px))) rotateY(var(--review-turn,0deg));transition:transform 1150ms cubic-bezier(.22,.65,.25,1);will-change:transform}
.review-carousel.is-3d .review-card{position:absolute;inset:0;width:100%;height:416px;transform:rotateY(var(--review-angle)) translateZ(var(--review-radius,560px));backface-visibility:hidden;transition:opacity 1000ms ease,border-color 500ms ease;opacity:var(--review-opacity,1);box-shadow:0 24px 38px #171a1d12;pointer-events:none}
.review-carousel.is-3d .review-card.is-current{pointer-events:auto;border-color:#e4a78e;box-shadow:0 28px 44px #272c321a}
.review-carousel.is-3d .review-image{height:340px}
.review-carousel.is-3d .review-card-footer{min-height:74px}
.review-controls{display:flex;align-items:center;justify-content:center;gap:20px;padding:0 24px}
.review-controls button{display:inline-flex;align-items:center;justify-content:center;height:44px;min-width:44px;border:1px solid #dedfe1;background:#fff;color:var(--ink);border-radius:50%;cursor:pointer;font:inherit;transition:background .2s,border-color .2s}
.review-controls button:hover{background:#f6f6f5;border-color:#aaa}
.review-controls button:focus-visible,.review-dots button:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
.review-controls .review-toggle{gap:8px;min-width:118px;border-radius:24px;padding:0 18px;font-size:12px}
.review-toggle-icon{font-size:12px;line-height:1}
.review-position{font:500 13px var(--display);letter-spacing:.14em;font-variant-numeric:tabular-nums;min-width:66px;text-align:center}
.review-dots{display:flex;gap:6px;justify-content:center;margin:22px 0 0}
.review-dots button{padding:12px 4px;background:transparent;border:0;cursor:pointer;border-radius:4px}
.review-dots button::after{content:"";display:block;width:6px;height:6px;border-radius:5px;background:#d9dadd;transition:width .35s,background .35s}
.review-dots button[aria-pressed="true"]::after{width:24px;background:var(--orange)}
.reviews-source{text-align:center;color:var(--muted);font-size:11px;line-height:1.7;margin:14px auto 0;max-width:720px;padding-inline:24px}
.reviews-source span{display:block;color:#8b8e92;margin-top:3px}
.review-film{margin:42px auto 0;max-width:920px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.review-film summary{padding:24px 0;display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;font-size:14px;font-weight:500}
.review-film summary::-webkit-details-marker{display:none}
.review-film summary>span:first-child{color:var(--orange);font-size:14px}
.review-film summary small{margin-left:auto;font:500 11px var(--display);color:var(--muted);letter-spacing:.1em}
.review-film summary>span:last-child{font-size:22px;transition:transform .3s}
.review-film[open] summary>span:last-child{transform:rotate(45deg)}
.review-film video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#f5f5f4;border-radius:14px}
.review-film-links{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0 24px;font-size:12px;color:var(--muted)}
.review-film-links a{color:var(--orange-text)}
.review-dialog{width:min(1040px,calc(100vw - 32px));max-height:92dvh;border:0;padding:0;border-radius:18px;background:#fff;box-shadow:0 40px 120px #0006;color:var(--ink)}
.review-dialog::backdrop{background:#101418bc;backdrop-filter:blur(8px)}
.review-dialog-header{position:sticky;top:0;z-index:1;background:#fff;display:flex;gap:20px;align-items:center;justify-content:space-between;padding:15px 22px;border-bottom:1px solid var(--line)}
.review-dialog-header h3{font-size:15px;margin:0;line-height:1.5}
.review-dialog-header p{margin:4px 0 0;font-size:11px;color:var(--muted)}
.review-close{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;flex-shrink:0;background:#f4f4f3;border:0;cursor:pointer;font-size:26px;color:var(--ink)}
.review-dialog-image{display:block;width:100%;height:auto;background:white}
.review-dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;border-top:1px solid var(--line);font-size:12px}
.review-dialog-footer a{color:var(--orange-text)}
.review-dialog:modal{overscroll-behavior:contain}
@media(min-width:1500px){.review-carousel.is-3d .review-stage{perspective:2100px}}
@media(max-width:760px){.reviews-section{padding:74px 0 60px}.reviews-heading h2{font-size:clamp(32px,7.7vw,46px)}.reviews-heading>p:last-child{font-size:14px}.review-carousel{margin-top:26px}.review-carousel.is-3d .review-stage{height:475px;perspective:1450px}.review-carousel.is-3d .review-ring,.review-carousel.is-3d .review-card{height:398px}.review-carousel.is-3d .review-image{height:323px}.review-carousel.is-3d .review-ring{top:16px}.review-controls{gap:8px;padding-inline:16px}.review-controls .review-toggle{min-width:110px}.review-card-footer{margin-inline:15px}.review-position{font-size:12px;min-width:58px}.review-film{margin-top:30px}.review-film summary{font-size:12px}.review-film-links{align-items:flex-start;flex-direction:column;gap:8px}.review-dialog{width:calc(100vw - 20px);max-height:92dvh}.review-dialog-header{padding:12px 16px}.review-dialog-footer{padding:16px}}
@media(prefers-reduced-motion:reduce){.review-carousel.is-3d .review-ring,.review-carousel.is-3d .review-card,.review-dots button::after{transition:none}}

/* Bounded 3D carousel: every supplied image participates, five visible at a time. */
.review-carousel.is-3d .review-ring{transform:none;transition:none}
.review-carousel.is-3d .review-card{transform:translateX(calc(var(--review-offset,0) * var(--review-gap,298px))) translateZ(var(--review-depth,0px)) rotateY(var(--review-tilt,0deg));transition:transform 650ms cubic-bezier(.22,.65,.25,1),opacity 650ms ease;}
.review-carousel.is-3d .review-card[hidden]{display:none}
.review-dots select{max-width:calc(100% - 48px);min-height:44px;padding:10px 16px;border:1px solid #ddd;border-radius:12px;background:white;color:var(--ink);font:400 16px var(--font)}
.review-card-footer small,.reviews-source{font-size:14px}
.review-controls .review-toggle{font-size:14px}
@media(prefers-reduced-motion:reduce){.review-carousel.is-3d .review-card{transition:none}}
