*{box-sizing:border-box}
html,body{margin:0;padding:0;background:transparent;color:#172432;font-family:Lato,Arial,sans-serif;line-height:1.5}
.reviews{width:100%;padding:0}
.review-hero{position:relative;overflow:hidden;padding:34px 38px;border:1px solid #d7e0e7;border-left:7px solid #c9292d;border-radius:10px;background:linear-gradient(120deg,#f8f6f6,#fff 70%);box-shadow:0 8px 23px rgba(20,35,50,.07)}
.review-hero:after{position:absolute;right:-55px;top:-95px;width:220px;height:220px;border:28px solid rgba(201,41,45,.05);border-radius:50%;content:""}
.eyebrow{position:relative;z-index:1;margin:0 0 5px;color:#c9292d;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.review-hero h1{position:relative;z-index:1;margin:0 0 8px;font-size:clamp(30px,5vw,43px);line-height:1.15}
.review-hero>p:last-child{position:relative;z-index:1;margin:0;color:#52606d;font-size:17px}
.success,.error{margin:16px 0;padding:16px 18px;border-radius:8px}
.success{border:1px solid #9bc9ab;background:#eaf7ef;color:#155f34}
.error{border:1px solid #e1a0a3;background:#fff1f1;color:#81191d}
.summary{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(420px,1.3fr);gap:20px;margin-top:20px}
.summary>div,.review-form,.review-list{border:1px solid #d7e0e7;border-radius:10px;background:#fff;box-shadow:0 7px 20px rgba(20,35,50,.06)}
.summary>div{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;text-align:center}
.summary>div>strong{font-size:52px;line-height:1}
.summary>div>span,.summary small{color:#52606d}
.stars{color:#ffc928;font-size:24px;letter-spacing:2px}
.stars i{color:#d9e0e5;font-style:normal}
.review-form{overflow:hidden}
.review-form>summary{padding:20px 23px;background:#263847;color:#fff;font-size:18px;font-weight:900;cursor:pointer;list-style:none}
.review-form>summary::-webkit-details-marker{display:none}
.review-form>summary:after{float:right;content:"+"}
.review-form[open]>summary:after{content:"−"}
.review-form form{display:grid;gap:15px;padding:22px}
.review-form label,.review-form legend{font-weight:800}
.review-form input[type=text],.review-form input:not([type]),.review-form textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #bdcad4;border-radius:6px;background:#fff;color:#172432;font:inherit}
.review-form textarea{min-height:125px;resize:vertical}
.review-form fieldset{margin:0;padding:0;border:0}
.rating-input{display:flex;flex-direction:row-reverse;justify-content:flex-end}
.rating-input input{position:absolute;opacity:0}
.rating-input label{color:#d9e0e5;font-size:33px;cursor:pointer}
.rating-input input:checked~label,.rating-input label:hover,.rating-input label:hover~label{color:#ffc928}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.check input{margin-top:4px}
.form-note{margin:0;padding:13px 15px;border:1px solid #e3c360;border-radius:6px;background:#fff8df;color:#624900;font-size:13px}
.review-form button{min-height:45px;padding:10px 18px;border:0;border-radius:6px;background:#c9292d;color:#fff;font:900 14px Lato,Arial,sans-serif;cursor:pointer}
.review-form button:hover,.review-form button:focus{background:#a91d21}
.honeypot{position:absolute!important;left:-10000px!important}
.review-list{margin-top:20px;padding:24px}
.review-list h2{margin:0 0 17px}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.cards article,.empty{padding:19px;border:1px solid #d7e0e7;border-radius:8px;background:#f8fafb}
.card-head{display:flex;justify-content:space-between;gap:15px}
.card-head strong,.card-head span{display:block}
.card-head span,.cards time{color:#657482;font-size:12px}
.card-head .stars{font-size:16px;white-space:nowrap}
.cards article>p{margin:14px 0;color:#334c60}
.empty{text-align:center}
.empty p{margin:5px 0 0;color:#52606d}
@media(max-width:760px){.review-hero{padding:28px 22px}.summary{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.card-head{flex-direction:column}.review-list{padding:18px}}
@media(max-width:460px){.review-form form{padding:18px}.review-form>summary{padding:18px}.summary>div{padding:23px}}
