/* NEO Consulting: feedback controls and review cards; active components only. */
.neo-rating-shell,.neo-rating-ticker{--neo-rating-navy:#102f4f;--neo-rating-blue:#1f6594;--neo-rating-gold:#edae2b;--neo-rating-ink:#17212b;--neo-rating-muted:#5e6874;--neo-rating-border:#d8dee5;--neo-rating-soft:#f4f7fa;--neo-rating-white:#fff}
.neo-rating-shell{box-sizing:border-box;width:min(100%, 780px);margin:32px auto;padding:0 16px;color:var(--neo-rating-ink);font-family:inherit}
.neo-rating-form{position:relative;padding:clamp(22px, 5vw, 46px);border:1px solid var(--neo-rating-border);border-radius:18px;background:var(--neo-rating-white);box-shadow:0 14px 38px rgba(16, 47, 79, 0.1)}
.neo-rating-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.neo-rating-fieldset{min-width:0;margin:0;padding:0;border:0;text-align:center}
.neo-rating-fieldset legend{float:left;width:100%;margin:0 0 8px;padding:0;color:var(--neo-rating-navy);font-size:clamp(1.45rem, 4.5vw, 2rem);font-weight:750;line-height:1.25}
.neo-rating-required,.neo-rating-help,.neo-rating-contact-block > p,.neo-rating-optional,.neo-rating-google-explanation,.neo-rating-noscript{color:var(--neo-rating-muted)}
.neo-rating-required{clear:both;margin:0 0 12px;font-size:0.94rem}
.neo-rating-stars{display:flex;clear:both;justify-content:center;gap:clamp(5px, 2vw, 12px);padding:6px 0}
.neo-rating-star-choice{position:relative;display:inline-flex}
.neo-rating-star-choice input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);border:0;white-space:nowrap}
.neo-rating-star-choice label{display:inline-flex;align-items:center;justify-content:center;width:clamp(45px, 13vw, 64px);height:clamp(45px, 13vw, 64px);border:2px solid var(--neo-rating-border);border-radius:14px;color:#aeb6c0;background:var(--neo-rating-white);cursor:pointer;font-size:clamp(1.8rem, 7vw, 2.6rem);line-height:1;transition:transform 150ms ease, border-color 150ms ease, color 150ms ease, background 150ms ease}
.neo-rating-star-choice label:hover{transform:translateY(-2px);border-color:var(--neo-rating-gold);color:var(--neo-rating-gold)}
.neo-rating-star-choice input:focus-visible + label{outline:3px solid rgba(31, 101, 148, 0.35);outline-offset:3px}
.neo-rating-stars[data-rating="1"] .neo-rating-star-choice:nth-child(-n/**/+1) label,.neo-rating-stars[data-rating="2"] .neo-rating-star-choice:nth-child(-n/**/+2) label,.neo-rating-stars[data-rating="3"] .neo-rating-star-choice:nth-child(-n/**/+3) label,.neo-rating-stars[data-rating="4"] .neo-rating-star-choice:nth-child(-n/**/+4) label,.neo-rating-stars[data-rating="5"] .neo-rating-star-choice:nth-child(-n/**/+5) label{border-color:#d9950d;color:#c57c00;background:#fff8e6}
.neo-rating-route{margin-top:28px;padding:clamp(20px, 4vw, 30px);border:1px solid var(--neo-rating-border);border-radius:14px}
.neo-rating-route h2,.neo-rating-contact-block h3{margin:0 0 9px;color:var(--neo-rating-navy);font-size:1.25rem;line-height:1.35}
.neo-rating-route > p:first-of-type{margin-top:0;line-height:1.6}
.neo-rating-positive-route{border-color:#d6b45d;background:#fff9e9;text-align:center}
.neo-rating-positive-name{max-width:460px;margin:22px auto;text-align:left}
.neo-rating-positive-name .neo-rating-help{text-align:left}
.neo-rating-private-route{background:#fbfcfd}
.neo-rating-field{margin:0 0 22px}
.neo-rating-field label{display:block;margin:0 0 7px;color:var(--neo-rating-navy);font-size:1rem;font-weight:700;line-height:1.4}
.neo-rating-help,.neo-rating-contact-block > p{margin:-2px 0 9px;font-size:0.92rem;line-height:1.5}
.neo-rating-optional{font-size:0.88em;font-weight:500}
.neo-rating-field input,.neo-rating-field textarea{box-sizing:border-box;width:100%;min-height:48px;margin:0;padding:12px 14px;border:1px solid #aeb8c2;border-radius:9px;color:var(--neo-rating-ink);background:var(--neo-rating-white);font:inherit;line-height:1.5}
.neo-rating-field textarea{min-height:132px;resize:vertical}
.neo-rating-field input:focus,.neo-rating-field textarea:focus{border-color:var(--neo-rating-blue);outline:3px solid rgba(31, 101, 148, 0.18)}
.neo-rating-contact-block{margin:26px 0 24px;padding:22px;border-radius:12px;background:var(--neo-rating-soft)}
.neo-rating-two-columns{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:16px}
.neo-rating-two-columns .neo-rating-field{margin-bottom:16px}
.neo-rating-privacy-note{margin:0 0 26px;padding:15px 17px;border-left:4px solid var(--neo-rating-blue);color:var(--neo-rating-muted);background:#f7f9fb;font-size:0.84rem;line-height:1.55}
.neo-rating-privacy-note p{margin:0 0 7px}
.neo-rating-privacy-note p:last-child{margin-bottom:0}
.neo-rating-transparency a,.neo-rating-card a{color:var(--neo-rating-blue);text-decoration:underline;text-underline-offset:2px}
.neo-rating-submit{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:50px;padding:13px 24px;border:0;border-radius:9px;color:#fff!important;background:var(--neo-rating-navy);cursor:pointer;font:inherit;font-weight:750;line-height:1.2;text-align:center;text-decoration:none!important;transition:background 150ms ease, transform 150ms ease}
.neo-rating-submit{width:100%}
.neo-rating-submit:hover{transform:translateY(-1px);background:var(--neo-rating-blue)}
.neo-rating-submit:focus-visible{outline:3px solid rgba(31, 101, 148, 0.35);outline-offset:3px}
.neo-rating-google-explanation,.neo-rating-noscript{margin:14px 0 0;font-size:0.9rem;line-height:1.5}
.neo-rating-ticker{box-sizing:border-box;width:min(100%, 1180px);margin:28px auto;padding:18px 16px;color:var(--neo-rating-ink);font-family:inherit}
.neo-rating-carousel-viewport{overflow:hidden;padding:4px}
.neo-rating-card{display:flex;flex-direction:column;box-sizing:border-box;min-width:0;flex:0 0 calc((100% - 36px) / 3);margin:0;padding:20px;border:1px solid var(--neo-rating-border);border-radius:12px;background:var(--neo-rating-white);box-shadow:0 4px 14px rgba(16, 47, 79, 0.08)}
.neo-rating-carousel-controls{display:flex;align-items:center;justify-content:center;gap:13px;margin-top:14px}
.neo-rating-carousel-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--neo-rating-border);border-radius:50%;color:var(--neo-rating-navy);background:var(--neo-rating-white);cursor:pointer;font:inherit;font-size:1.7rem;line-height:1}
.neo-rating-carousel-button:hover,.neo-rating-carousel-button:focus-visible{border-color:var(--neo-rating-blue);color:var(--neo-rating-white);background:var(--neo-rating-blue)}
.neo-rating-carousel-button:focus-visible{outline:3px solid rgba(31, 101, 148, 0.25);outline-offset:2px}
.neo-rating-carousel-status{min-width:110px;margin:0;color:var(--neo-rating-muted);font-size:0.82rem;text-align:center}
.neo-rating-card-author{display:flex;gap:11px;align-items:center;margin-bottom:12px}
.neo-rating-card-author img{flex:none;width:44px;height:44px;border-radius:50%;object-fit:cover}
.neo-rating-card-author a{color:var(--neo-rating-ink)}
.neo-rating-card-stars{margin-top:3px;color:#c57c00;font-size:1rem;letter-spacing:2px}
.neo-rating-card-comment{margin:0 0 12px;color:var(--neo-rating-ink);font-size:0.95rem;line-height:1.5}
.neo-rating-card-meta{margin:auto 0 7px;color:var(--neo-rating-muted);font-size:0.8rem;line-height:1.45}
.neo-rating-card-source{margin-top:6px;font-size:0.84rem}
.neo-rating-transparency{max-width:920px;margin:14px auto 0;color:var(--neo-rating-muted);font-size:0.78rem;line-height:1.5;text-align:center}
.neo-rating-google-attribution{color:#5e5e5e;font-family:Roboto, sans-serif;font-size:0.9rem;font-style:normal;font-weight:400;white-space:nowrap}
@media (max-width: 640px){
.neo-rating-shell{margin:18px auto;padding:0 10px}
.neo-rating-form{border-radius:13px}
.neo-rating-stars{gap:4px}
.neo-rating-star-choice label{border-radius:10px}
.neo-rating-two-columns{grid-template-columns:1fr;gap:0}
.neo-rating-contact-block{padding:18px 15px}
.neo-rating-route{padding:18px 15px}
.neo-rating-card{flex-basis:100%}
}
@media (min-width: 641px) and (max-width: 900px){
.neo-rating-card{flex-basis:calc((100% - 18px) / 2)}
}
@media (prefers-reduced-motion: reduce){
.neo-rating-star-choice label,.neo-rating-submit{transition:none}
}
.neo-rating-ticker{background:var(--neo-rating-section-bg, transparent);color:var(--neo-rating-text, var(--neo-rating-ink))}
.neo-rating-ticker-track{display:flex;gap:var(--neo-rating-gap, 18px)}
.neo-rating-ticker-track{transition:transform 420ms ease, opacity 180ms ease;will-change:transform}
.neo-rating-ticker .neo-rating-card{flex-basis:var(--neo-rating-basis-desktop, calc((100% - 36px) / 3));border-radius:var(--neo-rating-radius, 12px);color:var(--neo-rating-text, var(--neo-rating-ink));background:var(--neo-rating-card-bg, var(--neo-rating-white))}
.neo-rating-ticker .neo-rating-card a,.neo-rating-ticker .neo-rating-transparency a{color:var(--neo-rating-accent, var(--neo-rating-blue))}
.neo-rating-ticker .neo-rating-carousel-button{color:var(--neo-rating-accent, var(--neo-rating-blue))}
.neo-rating-ticker .neo-rating-carousel-button:hover,.neo-rating-ticker .neo-rating-carousel-button:focus-visible{border-color:var(--neo-rating-accent, var(--neo-rating-blue));background:var(--neo-rating-accent, var(--neo-rating-blue))}
@media (max-width: 640px){
.neo-rating-ticker .neo-rating-card{flex-basis:var(--neo-rating-basis-mobile, 100%)}
}
@media (min-width: 641px) and (max-width: 900px){
.neo-rating-ticker .neo-rating-card{flex-basis:var(--neo-rating-basis-tablet, calc((100% - 18px) / 2))}
}
@media (prefers-reduced-motion: reduce){
.neo-rating-ticker-track{animation:none!important;transition:none!important}
}