.reviews-section{padding:75px clamp(24px,10vw,150px);background:#020b14;border-top:1px solid #17314a}
.reviews-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}
.reviews-heading h2{margin:0;font:600 clamp(32px,4vw,50px)/1.05 'Space Grotesk';letter-spacing:0}
.reviews-heading h2 em{color:var(--blue);font-style:normal}
.reviews-heading>p{max-width:320px;margin:0;color:var(--soft);font-size:13px;line-height:1.6}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.review-card{min-height:210px;padding:24px;background:linear-gradient(145deg,#081729,#06111f);border:1px solid #17314a;border-radius:14px}
.review-stars{color:#65caff;font-size:20px;letter-spacing:3px}
.review-card blockquote{margin:18px 0 24px;color:#d8e3ee;font-size:14px;line-height:1.7;white-space:pre-line;overflow-wrap:anywhere}
.review-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid #17314a}
.review-card footer strong{color:#fff;font:600 14px 'Space Grotesk'}
.review-card time{color:#8498ac;font-size:11px}
.reviews-empty{grid-column:1/-1;padding:25px;color:var(--soft);background:#06111f;border:1px solid #17314a;border-radius:12px}
.review-form-shell{max-width:720px;margin:30px auto 0;padding:0 24px;background:#06111f;border:1px solid #17314a;border-radius:14px}
.review-form-shell[hidden]{display:none}
.review-form-shell>summary{display:flex;align-items:center;justify-content:space-between;min-height:68px;color:#fff;font:600 17px 'Space Grotesk';cursor:pointer;list-style:none}
.review-form-shell>summary::-webkit-details-marker{display:none}
.review-form-shell>summary span{color:#63c7ff;font-size:23px;transition:transform .2s ease}
.review-form-shell[open]>summary span{transform:rotate(45deg)}
.review-form{display:grid;gap:16px;padding:0 0 25px}
.review-form>label:not(.review-consent):not(.review-honeypot){display:grid;gap:7px;color:#d4deea;font-size:13px;font-weight:600}
.review-form input:not([type=radio]):not([type=checkbox]),.review-form textarea{width:100%;padding:12px 14px;color:#f5f8fc;background:#020b14;border:1px solid #24405c;border-radius:8px;font:400 14px 'DM Sans';outline:none}
.review-form textarea{resize:vertical;min-height:120px}
.review-form input:focus,.review-form textarea:focus{border-color:#48bfff;box-shadow:0 0 0 3px #1685ff25}
.review-form [aria-invalid=true]{border-color:#ff7180!important;box-shadow:0 0 0 3px #ff718025}
.review-field-error{display:block;min-height:0;color:#ff9aa4!important;font-size:12px!important;font-weight:500!important}
.review-field-error:empty{display:none}
.rating-picker.is-invalid .rating-options{outline:1px solid #ff7180;outline-offset:4px;border-radius:3px}
.review-form small{color:#8498ac;font-size:11px;font-weight:400}
.rating-picker{margin:0;padding:0;border:0}
.rating-picker legend{margin-bottom:6px;color:#d4deea;font-size:13px;font-weight:600}
.rating-options{display:flex;flex-direction:row;direction:rtl;justify-content:flex-end;gap:3px;width:max-content}
.rating-options input{position:absolute;width:1px;height:1px;opacity:0}
.rating-options label{padding:0 2px;color:#526a80;font-size:30px;line-height:1.3;cursor:pointer;transition:color .15s ease,transform .15s ease}
.rating-options label:hover,.rating-options label:hover~label,.rating-options input:focus-visible+label,.rating-options input:checked+label,.rating-options input:checked~label{color:#65caff}
.rating-options label:hover{transform:scale(1.12)}
.rating-options input:focus-visible+label{outline:2px solid #65caff;outline-offset:2px;border-radius:3px}
.review-consent{display:flex;align-items:flex-start;gap:10px;color:#bdcad8;font-size:12px;line-height:1.5}
.review-consent input{margin-top:2px;accent-color:#1685ff}
.review-form .hero-button{justify-self:start;border:0;cursor:pointer}
.review-error,.review-notice{padding:14px 16px;color:#dceeff;background:#0d2740;border:1px solid #24618d;border-radius:10px;font-size:13px;line-height:1.6}
.review-notice[hidden]{display:none}
.review-error,.review-notice--error{color:#ffd6d6;background:#351a20;border-color:#793340}
.review-form button:disabled{opacity:.65;cursor:wait}
.review-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.review-result-overlay{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:24px;background:rgba(1,7,14,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.review-result-dialog{position:relative;width:min(100%,540px);padding:42px 38px;text-align:center;background:linear-gradient(145deg,#0b1c30,#07111e);border:1px solid #245276;border-radius:20px;box-shadow:0 28px 100px #0009,0 0 45px #1685ff16;animation:review-dialog-enter .28s ease-out both}
.review-result-icon{display:grid;width:62px;height:62px;place-items:center;margin:0 auto 20px;color:#c8f8df;background:#123c34;border:1px solid #25795b;border-radius:50%;font:600 32px 'DM Sans';box-shadow:0 0 32px #25c98620}
.review-result-icon--warning{color:#ffe2a8;background:#40351d;border-color:#76602b;box-shadow:0 0 32px #f2bd4b1c}
.review-result-dialog .kicker{margin:0 0 12px}
.review-result-dialog h1{margin:0;font:600 clamp(31px,6vw,43px)/1.08 'Space Grotesk';letter-spacing:0}
.review-result-dialog h1 em{color:var(--blue);font-style:normal}
.review-result-dialog>p:not(.kicker){max-width:420px;margin:16px auto 0;color:#c5d3e1;font-size:15px;line-height:1.75}
.review-result-dialog .hero-button{justify-content:center;margin-top:26px}
@keyframes review-dialog-enter{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:900px){.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.reviews-section{padding:50px 24px}.reviews-heading{display:block}.reviews-heading>p{margin-top:14px}.review-grid{grid-template-columns:1fr}.review-card{min-height:0}.review-form-shell{padding:0 18px}.review-result-dialog{padding:34px 24px}.review-result-dialog>p:not(.kicker){font-size:14px}}
@media(prefers-reduced-motion:reduce){.review-form-shell>summary span,.rating-options label{transition:none}.review-result-dialog{animation:none}}
