/* Real voices, circular portraits, and a readable story underneath. */
.reviews-section{--review-blue:#3459e8;background:#fff;padding:110px 0 85px;scroll-margin-top:24px}
.reviews-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:65px}
.reviews-eyebrow{display:flex;align-items:center;gap:10px;font-size:.6875rem;letter-spacing:1.5px;color:#65738a;margin:0 0 24px}
.reviews-eyebrow>span{width:7px;height:7px;background:#3459e8;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 5px #eff2ff}
.reviews-heading h2{font-size:clamp(2.5rem,4.4vw,4rem);line-height:1.12;letter-spacing:-2.7px;margin:0;font-weight:500}
.reviews-heading h2 em{font-family:Georgia,serif;font-weight:400;color:#3459e8}
.reviews-intro{padding-bottom:3px}
.reviews-intro>p{font-size:.9375rem;line-height:1.8;color:#636e82;margin:0 0 24px}
.reviews-listen{display:flex;align-items:center;gap:10px;font-size:.6875rem;color:#3459e8}
.reviews-listen svg{width:38px;height:22px;flex-shrink:0}
.reviews-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-block:18px;border-block:1px solid #e5e9f1}
.reviews-label{font-size:.625rem;letter-spacing:1.4px;color:#65738a}
.reviews-navigation{display:flex;align-items:center;gap:8px}
.reviews-counter{font-size:.75rem;color:#8992a3;margin-right:17px;font-variant-numeric:tabular-nums}
.reviews-counter b{font-weight:500;color:#17233a}
.reviews-navigation button{background:white;border:1px solid #dbe1ee;border-radius:50%;width:44px;height:44px;flex-shrink:0;font-size:1.25rem;color:#17233a;transition:background .2s,color .2s,transform .2s}
.reviews-navigation button:hover:not(:disabled){background:#3459e8;border-color:#3459e8;color:white;transform:translateX(2px)}
.reviews-navigation button:disabled{opacity:.3;cursor:default}
.reviews-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/3);gap:36px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#cfd8ed transparent;padding:42px 4px 27px;margin-inline:-4px}
.reviews-track:focus-visible{outline:2px solid #3459e8;outline-offset:5px}
.review-story{--review-accent:#3459e8;--review-tint:#eef2ff;min-width:0;display:flex;flex-direction:column;scroll-snap-align:start}
.review-sage{--review-accent:#46634f;--review-tint:#eef3e5}
.review-peach{--review-accent:#9a593b;--review-tint:#fcf0e9}
.review-portrait{position:relative;width:min(240px,80%);aspect-ratio:1;margin:10px auto 35px}
.review-open{display:block;position:absolute;inset:8px;border-radius:50%;isolation:isolate;background:var(--review-tint);text-decoration:none;transition:transform .4s cubic-bezier(.2,.7,.2,1);outline-offset:7px}
.review-open img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
.review-open::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 -55px 45px -25px #14213b90;pointer-events:none}
.review-orbit{position:absolute;inset:-2px;border:1px solid color-mix(in srgb,var(--review-accent) 25%,white);border-radius:50%;transform:rotate(-40deg);transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.review-orbit::before{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--review-accent);left:50%;top:-4px}
.review-orbit::after{content:"";position:absolute;inset:-8px;border:1px dashed color-mix(in srgb,var(--review-accent) 17%,white);border-radius:50%;clip-path:polygon(0 0,100% 0,100% 35%,0 35%)}
.review-portrait:has(.review-open:hover) .review-orbit,.review-portrait:has(.review-open:focus-visible) .review-orbit{transform:rotate(40deg)}
.review-open:hover{transform:scale(1.025)}
.review-play{position:absolute;inset:0;margin:auto;display:grid;place-items:center;width:54px;height:54px;background:#ffffffed;color:#3459e8;border:1px solid #ffffff80;border-radius:50%;z-index:1;box-shadow:0 6px 25px #17233a20;transition:transform .25s,background .25s}
.review-play svg{width:21px;height:21px;fill:currentColor;margin-left:2px}
.review-open:hover .review-play{transform:scale(1.12);background:#fff}
.review-duration{position:absolute;bottom:19px;left:0;right:0;text-align:center;color:white;font-size:.75rem;font-variant-numeric:tabular-nums;z-index:1}
.review-result{position:absolute;right:-20px;bottom:3px;min-width:94px;max-width:145px;min-height:81px;padding:12px 15px;background:var(--review-tint);border:5px solid white;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(5deg);pointer-events:none}
.review-result strong{font-size:1.875rem;line-height:1.05;letter-spacing:-1px;color:var(--review-accent)}
.review-result>span{font-size:.5625rem;margin-top:6px;color:var(--review-accent)}
.review-story-head{display:flex;justify-content:space-between;gap:12px;align-items:start;border-top:1px solid #e5e9f1;padding-top:22px}
.review-story-head p{margin:0;color:#67758a;font-size:.75rem;line-height:1.7;letter-spacing:.2px}
.review-story-head>span{font-size:.625rem;color:#8993a4;font-variant-numeric:tabular-nums}
.review-story h3{font-size:1.4375rem;line-height:1.4;font-weight:500;letter-spacing:-.7px;margin:16px 0 14px}
.review-description{font-size:.875rem;line-height:1.85;color:#636e82;margin:0 0 24px}
.review-change{display:grid;grid-template-columns:1fr 16px 1fr;gap:10px;background:linear-gradient(125deg,#f8f9fc,var(--review-tint));border-radius:12px;padding:18px 16px;margin-top:auto;align-items:start}
.review-change>div>span{font-size:.6875rem;color:#6c798d}
.review-change p{font-size:.75rem;line-height:1.65;margin:7px 0 0}
.review-change>div:last-child p{color:var(--review-accent);font-weight:700}
.review-change-arrow{color:var(--review-accent);align-self:center;font-size:1.2rem}
.reviews-bottom{border-top:1px solid #e5e9f1;padding-top:25px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;gap:25px}
.reviews-bottom p{font-size:.75rem;line-height:1.85;color:#778196;margin:0}
.reviews-bottom a{display:flex;align-items:center;gap:25px;font-size:.8125rem;color:#3459e8;padding:10px 0;text-decoration:none;border-bottom:1px solid #b2c1f4}
.reviews-bottom a>span{font-size:1.3rem;transition:transform .2s}
.reviews-bottom a:hover>span{transform:translate(2px,-2px)}
.review-story.review-arrived .review-portrait{animation:review-arrive .8s cubic-bezier(.2,.7,.2,1) both}
.review-story.review-arrived .review-orbit{animation:review-orbit-in 1.2s cubic-bezier(.2,.7,.2,1) both}
@keyframes review-arrive{from{opacity:.2;transform:translateY(22px) scale(.94)}to{opacity:1;transform:none}}
@keyframes review-orbit-in{from{opacity:0;rotate:-100deg}to{opacity:1;rotate:0deg}}
.review-dialog{--video-progress:0%;border:1px solid #e3e8f2;border-radius:24px;background:#fff;color:#17233a;padding:22px 30px 20px;width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 35px 150px #14234135}
.review-dialog::backdrop{background:#14213bb8;backdrop-filter:blur(14px)}
.review-dialog[open]{animation:review-modal-in .25s ease-out}
@keyframes review-modal-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.review-dialog-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:13px}
.review-dialog-top>span{font-size:.625rem;letter-spacing:1.4px;color:#6e7c93}
.review-close{width:44px;height:44px;border-radius:50%;background:#f2f5fb;border:0;color:#17233a;font-size:1.75rem;line-height:1;flex-shrink:0}
.review-close:hover{background:#e5ebfa}
.review-player-circle{position:relative;width:min(100%,340px,43dvh);aspect-ratio:1;margin:0 auto 22px;padding:8px;isolation:isolate}
.review-player-circle video{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;background:#eef2fa}
.review-player-ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(#3459e8 var(--video-progress),#e8edf8 0);z-index:-1}
.review-player-ring::after{content:"";position:absolute;inset:2px;background:#fff;border-radius:50%}
#review-dialog-role{text-align:center;font-size:.6875rem;color:#69788e;margin:0 0 9px}
.review-dialog h2{font-size:1.375rem;letter-spacing:-.5px;line-height:1.5;text-align:center;margin:0 auto 18px;max-width:400px;font-weight:500}
.review-player-controls{display:flex;gap:16px;align-items:center;background:#f4f6fc;border-radius:13px;padding:12px}
.review-player-controls button{width:44px;height:44px;display:grid;place-items:center;background:#fff;border:1px solid #e4e9f3;border-radius:50%;color:#3459e8;flex-shrink:0}
.review-player-controls svg{width:21px;height:21px}
[data-player-toggle] svg{fill:currentColor}
.player-play-icon,.player-muted-icon{display:none}
.review-is-paused .player-play-icon,.review-is-muted .player-muted-icon{display:initial}
.review-is-paused .player-pause-icon,.review-is-muted .player-sound-icon{display:none}
.review-seek-wrap{flex:1;min-width:0}
.review-seek-wrap input{display:block;accent-color:#3459e8;width:100%;height:25px;margin:0;cursor:pointer}
.review-seek-wrap>div{display:flex;justify-content:space-between;font-size:.625rem;color:#69788e;font-variant-numeric:tabular-nums}
.review-player-message{min-height:1.5em;margin:8px 0;font-size:.6875rem;text-align:center;color:#69788e}
.review-player-error{border:1px solid #e7d8ca;border-radius:12px;padding:14px;background:#fffaf4;font-size:.8125rem}
.review-player-error p{margin:0 0 8px}.review-player-error button{border:0;background:none;color:#3459e8;text-decoration:underline;padding:10px 15px 10px 0}
.review-player-error a{color:#3459e8}
.review-dialog-bottom{border-top:1px solid #e5e9f1;display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:10px}
.review-dialog-bottom>span{font-size:.6875rem;color:#69788e}
.review-dialog-bottom>button{background:none;border:0;color:#3459e8;font-size:.75rem;min-height:44px;text-align:right}
.review-dialog-bottom>button span{margin-left:12px}
body.review-modal-open{overflow:hidden}
body.review-modal-open .mobile-trial-cta{visibility:hidden;pointer-events:none}
@media(max-width:1050px){
 .reviews-track{grid-auto-columns:calc((100% - 32px)/2);gap:32px}
 .reviews-heading{gap:25px}.reviews-intro{max-width:260px}.reviews-heading h2{font-size:3rem}
}
@media(max-width:700px){
 .reviews-section{padding:65px 0 50px}
 .reviews-heading{display:block;margin-bottom:30px}
 .reviews-heading h2{font-size:2.5rem;letter-spacing:-1.7px}
 .reviews-eyebrow{font-size:.5625rem;line-height:1.7;letter-spacing:.8px;margin-bottom:22px}
 .reviews-intro{max-width:none;margin-top:24px}
 .reviews-intro>p{font-size:.875rem;margin-bottom:15px}.reviews-intro>p br{display:none}
 .reviews-listen{font-size:.625rem}
 .reviews-label{font-size:.5rem;max-width:145px;line-height:1.8;letter-spacing:.8px}
 .reviews-counter{margin-right:5px}.reviews-navigation{gap:6px}
 .reviews-track{grid-auto-columns:calc(100% - 24px);gap:24px;padding-top:32px}
 .review-portrait{width:min(250px,82%);margin-bottom:30px}
 .review-result{right:-12px}
 .review-story h3{font-size:1.5rem}
 .review-description{font-size:.875rem}
 .review-story-head p{font-size:.6875rem}
 .review-change{padding:17px 14px;gap:8px}
 .review-change p{font-size:.75rem}.review-change>div>span{font-size:.625rem}
 .reviews-bottom{align-items:start;flex-direction:column;gap:15px}
 .review-dialog{padding:16px 20px;border-radius:20px;max-height:calc(100dvh - 20px)}
 .review-dialog h2{font-size:1.1875rem}
 .review-player-circle{width:min(100%,300px,38dvh);margin-bottom:16px}
 .review-player-controls{gap:10px;padding:10px}
 .review-dialog-top{margin-bottom:10px}
}
@media(prefers-reduced-motion:reduce){
 .review-story,.review-portrait,.review-orbit,.review-dialog{animation:none!important}
 .review-open,.review-play,.review-orbit,.reviews-navigation button{transition:none!important;transform:none!important}
}
