/* Source section headings and original screenshot reviews. */
.step-label{align-items:flex-start;gap:0}
.step-label p{margin:0;font-size:30px;font-weight:400;line-height:1.2;letter-spacing:-.04em;white-space:normal}
.why-card h2{max-width:100%;font-size:clamp(34px,3.8vw,49px)}
.reviews-carousel{max-width:960px;margin-inline:auto;padding:22px 0 20px;border:1px solid #e3e7e1;border-radius:20px;background:#fafbf8}
.review-track{display:flex;align-items:flex-start;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;transition:height .2s ease;outline-offset:5px}
.review-track::-webkit-scrollbar{display:none}
.review-slide{flex:0 0 100%;width:100%;min-width:0;margin:0;padding:10px 32px 16px;scroll-snap-align:start;scroll-snap-stop:always}
.screenshot-open{display:block;width:100%;padding:0;border:0;border-radius:0;background:transparent;text-align:center;cursor:zoom-in;color:#111}
.review-shot{display:block;position:relative;isolation:isolate;width:min(100%,var(--shot-width));margin-inline:auto;line-height:0}
.review-shot img{display:block;width:100%;max-width:100%;height:auto;filter:none}
.review-marker{position:absolute;z-index:1;display:block;pointer-events:none;background:#ffdc45;opacity:.5;mix-blend-mode:multiply;border-radius:5px 3px 6px 4px;transform:rotate(-.6deg);transform-origin:center}
.review-marker.marker-1{transform:rotate(.45deg);border-radius:4px 6px 3px 6px}
.review-slide figcaption{margin:20px auto 0;max-width:700px;text-align:center;color:#626262;font-size:13px;line-height:1.5}
.review-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin:12px 20px 0}
.review-arrow{display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #b9c9bd;border-radius:50%;background:#fff;color:#111;font-size:24px;line-height:1;transition:background .2s,border-color .2s}
.review-arrow:not(:disabled):hover{border-color:#111;background:#dce8e2}
.review-arrow:disabled{opacity:.3;cursor:default}
.review-counter{min-width:52px;text-align:center;color:#626262;font-size:14px;font-variant-numeric:tabular-nums}
.review-dots{display:flex;align-items:center;justify-content:center;gap:10px;min-height:30px;margin-top:13px}
.review-dot{position:relative;width:24px;height:26px;border:0;padding:0;background:transparent;cursor:pointer}
.review-dot:before{content:"";position:absolute;left:8px;top:9px;width:8px;height:8px;border-radius:99px;background:#c7d4ca}
.review-dot[aria-current=true]:before{left:2px;width:20px;background:#b76535}
.review-hint{margin:10px 18px 0;text-align:center;font-size:12px;line-height:1.5;color:#626262}
.dialog-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}
.dialog-header h2{min-width:0;font-size:16px;line-height:1.4}
.dialog-actions{display:flex;align-items:center;gap:10px}
.review-zoom-toggle{min-height:40px;padding:9px 13px;border:1px solid #d7ddd8;border-radius:999px;background:#fff;color:#111;font-size:12px;line-height:1.3;font-weight:600}
.review-zoom-toggle:hover{background:#dce8e2}
.review-dialog .dialog-content{max-height:calc(90svh - 88px);overflow:auto;overscroll-behavior:contain;padding:24px}
.review-zoom-canvas{min-width:0;width:100%}
.review-zoom-canvas .review-shot{width:min(100%,var(--natural-width))}
.review-zoom-canvas.is-zoomed{width:max-content;min-width:100%}
.review-zoom-canvas.is-zoomed .review-shot{width:var(--natural-width);max-width:none}
.review-zoom-canvas .review-shot img{width:100%;max-width:none;max-height:none}
@media(max-width:980px){.step-label p{font-size:27px}}
@media(max-width:700px){.step-label p{font-size:25px;line-height:1.2}.why-card h2{font-size:36px}.review-slide{padding:4px 12px 14px}.reviews-carousel{padding:15px 0 17px;border-radius:16px}.review-slide figcaption{margin-top:15px;font-size:12px}.review-controls{margin-top:8px;gap:22px}.review-arrow{width:44px;height:44px;font-size:23px}.review-dots{gap:6px;margin-top:10px}.review-hint{font-size:11px;margin-top:8px}.dialog-header{gap:10px;padding:12px}.dialog-header h2{font-size:13px}.dialog-actions{gap:6px}.review-zoom-toggle{font-size:10px;min-height:36px;padding:8px 10px}.dialog-close{width:36px;height:36px}.review-dialog .dialog-content{padding:10px;max-height:calc(90svh - 94px)}}
@media(prefers-reduced-motion:reduce){.review-track{transition:none}.review-arrow{transition:none}}
