.reviews-page-body { background: var(--cloud); }
.reviews-page { --xenid-public-h1: clamp(2.55rem, 3.5vw, 3.7rem); --xenid-public-h2: clamp(2.15rem, 3.6vw, 3.65rem); }
.reviews-page .reviews-hero { min-height: 0; padding: 9.5rem 0 3.25rem; }
.reviews-hero .contact-hero-grid { align-items: center; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 3rem; }
.reviews-page .reviews-hero h1 { font-size: var(--xenid-public-h1); line-height: 1.03; letter-spacing: -.02em; font-weight: 700; }
.reviews-hero .contact-hero-grid > p { margin: 0; font-size: 1.08rem; line-height: 1.78; max-width: 35rem; }
.reviews-content { padding: 3.5rem 0 4.5rem; }
.reviews-section-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 3rem; align-items: start; margin-bottom: 2.25rem; }
.reviews-page h2 { font-size: var(--xenid-public-h2); line-height: 1.06; letter-spacing: -.035em; font-weight: 700; margin: 0; color: var(--navy); text-wrap: balance; }
.reviews-demo-notice { margin: 0; padding-left: 1.2rem; border-left: 3px solid var(--mint-dark); color: var(--muted); font-size: 1rem; line-height: 1.8; }
.reviews-demo-notice strong { color: var(--navy); }
.reviews-public-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.review-public-card { display: flex; flex-direction: column; min-width: 0; padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid var(--line); border-radius: 1.25rem; background: var(--white); box-shadow: 0 .65rem 2rem rgb(16 35 69 / 3%); }
.review-card-rating { display: grid; grid-template-columns: minmax(0, 12.2rem) auto; align-items: center; gap: .75rem; min-width: 0; max-width: 100%; }
.review-card-rating .review-stars { width: 100%; min-width: 0; }
.review-card-score { color: #647087; font-size: .74rem; line-height: 1.55; white-space: nowrap; }
.review-card-date { margin-left: auto; color: #647087; font-size: .8rem; line-height: 1.55; white-space: nowrap; }
.review-public-card h3 { margin: 0 0 1rem; color: var(--navy); font-size: clamp(1.25rem, 1.7vw, 1.5rem); line-height: 1.3; letter-spacing: -.025em; font-weight: 700; text-wrap: balance; }
.review-public-card blockquote { padding: 0; margin: 0 0 2rem; border: 0; }
.review-public-card blockquote p { margin: 0; color: #3b4a62; font-size: 1rem; line-height: 1.85; }
.review-card-person { margin: 0 0 1.5rem; }
.review-card-person p { margin: 0 0 .6rem; font: 600 .85rem/1.7 Poppins, Arial, sans-serif; color: var(--navy); }
.review-card-person a { display: inline-block; color: #254bbe; font-size: 1rem; font-weight: 500; line-height: 1.7; text-underline-offset: .25rem; text-decoration-thickness: 1px; }
.review-card-person a:hover { color: var(--navy); }
.reviews-contact { padding: 4rem 0; background: var(--white); border-top: 1px solid var(--line); }
.reviews-contact-inner { display: flex; align-items: center; justify-content: space-between; gap: 3rem; }
.reviews-contact-inner > div { max-width: 50rem; }
.reviews-contact h2 { max-width: 42rem; }
.reviews-contact p { max-width: 44rem; margin: 1.2rem 0 0; font-size: 1rem; line-height: 1.8; color: var(--muted); }
.reviews-contact .services-primary-button { flex: 0 0 auto; text-decoration: none; }
@media (max-width: 980px) { .reviews-section-heading { gap: 2rem; } .reviews-contact-inner { align-items: flex-start; flex-direction: column; gap: 1.6rem; } }
@media (max-width: 760px) {
    .reviews-page { --xenid-public-h1: 2.05rem; --xenid-public-h2: 2.05rem; }
    .reviews-page .page-width { width: min(100% - 2rem, var(--page)); }
    .reviews-page .reviews-hero { padding: 7rem 0 2.1rem; }
    .reviews-hero .contact-hero-grid, .reviews-section-heading, .reviews-public-grid { grid-template-columns: minmax(0, 1fr); }
    .reviews-hero .contact-hero-grid { gap: 1.15rem; }
    .reviews-hero .contact-hero-grid > p { font-size: 1rem; }
    .reviews-content { padding: 2.3rem 0 2.7rem; }
    .reviews-section-heading { gap: 1.4rem; margin-bottom: 1.6rem; }
    .reviews-public-grid { gap: 1rem; }
    .review-public-card { padding: 1.4rem; border-radius: 1rem; }
    .review-public-card h3 { font-size: 1.3rem; }
    .review-public-card blockquote { margin-bottom: 1.4rem; }
    .reviews-contact { padding: 2.6rem 0; }
    .reviews-contact .services-primary-button { width: 100%; text-align: center; }
}
/* Reviews: the existing Xenid typography, with playful, restrained motion. */
.reviews-page .reviews-hero { position: relative; overflow: hidden; padding: 11.3rem 0 5.8rem; }
.reviews-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.12fr 1fr; align-items: center; gap: clamp(2.5rem, 6vw, 6rem); }
.reviews-page .reviews-eyebrow, .review-form-section .reviews-eyebrow { margin: 0 0 1.1rem; color: #128874; font: 800 .74rem/1.4 Poppins, Arial, sans-serif; text-transform: uppercase; letter-spacing: .14em; }
.reviews-hero .reviews-eyebrow { color: #50dfc2; }
.reviews-page .reviews-hero h1 { margin: 0; max-width: 12em; overflow-wrap: normal; }
.reviews-hero-intro { margin: 1.5rem 0 0; max-width: 33rem; color: #bbc9e0; font-size: 1.08rem; line-height: 1.78; }
.reviews-hero-story > p { color: #d6dff0; font-size: 1rem; line-height: 1.8; margin: 0 0 1.1rem; }
.reviews-hero-story > p:first-child { color: #fff; font-size: 1.08rem; line-height: 1.78; }
.reviews-primary-button { display: inline-flex; align-items: center; justify-content: center; min-height: 3.3rem; padding: 1.05rem 1.7rem; border: 0; border-radius: 3rem; background: #50dfc2; color: #091a35; font: 800 .78rem/1.2 Poppins, Arial, sans-serif; letter-spacing: .02em; text-transform: uppercase; text-decoration: none; cursor: pointer; transition: transform .35s cubic-bezier(.2,1.7,.4,1), background .2s, box-shadow .2s; }
.reviews-primary-button:hover { background: #75ebd2; transform: translateY(-4px) rotate(-1deg); box-shadow: 0 9px 28px #20cbb32b; color: #091a35; }
.reviews-primary-button:active { transform: translateY(1px) scale(.97); }
.reviews-primary-button:disabled { opacity: .7; cursor: wait; transform: none; }
.reviews-hero-story .reviews-primary-button { margin-top: .5rem; }
.reviews-hero-story .reviews-hero-note { font-size: .78rem; color: #adbed8; margin: .9rem 0 0; }
.review-orbit { position: absolute; pointer-events: none; border-radius: 50%; border: 1px solid #65ead040; }
.review-orbit-one { width: 10rem; height: 10rem; left: 43%; top: 8rem; border-width: 24px; opacity: .16; }
.review-orbit-two { width: 2rem; height: 2rem; bottom: 2.7rem; left: 39%; background: #50dfc2; box-shadow: 0 0 50px #50dfc255; }
.review-orbit-three { width: 1rem; height: 1rem; right: 4%; top: 10rem; background: #3863ff; border: 0; }
.reviews-content { padding: 4.4rem 0 5rem; }
.reviews-section-heading { align-items: center; margin-bottom: 2.7rem; }
.review-public-card { position: relative; overflow: hidden; transition: transform .45s cubic-bezier(.2,1.6,.4,1), border-color .3s, box-shadow .3s; }
.review-public-card:focus-within { border-color: #159c88; }
.review-public-card blockquote p { white-space: pre-wrap; overflow-wrap: anywhere; }
.reviews-public-grid { align-items: stretch; grid-auto-rows: 1fr; }
.review-public-card .review-expandable-text { margin-bottom: .65rem; overflow: hidden; }
.review-expandable-text [hidden] { display: none !important; }
.review-read-more { align-self: flex-start; min-height: 44px; padding: .5rem 1rem; margin: auto 0 0; border: 1px solid #dce3ff; border-radius: 2rem; background: #eef2ff; color: #254bbe; font: 600 .8rem/1.5 Poppins, Arial, sans-serif; cursor: pointer; transition: background .2s, border-color .2s; }
.review-read-more:hover { background: #e1e8ff; border-color: #b4c4fa; }
@media print { .review-expandable-text > p[hidden] { display: block !important; } .review-expandable-text > p:first-child, .review-read-more { display: none !important; } }
.review-card-person { display: flex; align-items: center; gap: 1rem; }
.review-card-person > div { min-width: 0; }
.review-card-person p { margin: 0; }
.review-card-person a { margin-top: .35rem; overflow-wrap: anywhere; }
.reviews-page .review-card-person h3 { font-size: 1rem; text-transform: none !important; margin: 0; letter-spacing: -.015em; text-wrap: wrap; }
.review-card-person .review-person-company { display: inline; margin: 0; color: #3b4a62; font-size: .85rem; font-weight: 500; line-height: 1.5; letter-spacing: normal; text-transform: none; overflow-wrap: anywhere; }
.review-person-photo, .review-avatar { flex: 0 0 auto; width: 4.5rem; height: 4.5rem; border-radius: 1.1rem; object-fit: cover; }
.review-avatar { display: grid; place-items: center; background: #e4f5f0; color: #389685; }
.review-avatar svg { width: 3.1rem; height: 3.1rem; }
.review-public-card:nth-child(even) .review-avatar { color: #607adc; background: #eef1ff; }
.review-card-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem; padding-bottom: 1.25rem; margin-bottom: 1.4rem; border-bottom: 1px solid #e9edf3; }
.review-stars { display: flex; flex: 0 0 auto; gap: .3rem; width: 12.2rem; max-width: 100%; color: #c7ced8; font-size: 1.4rem; line-height: 1; }
.review-stars > span { display: grid; place-items: center; flex: 1 1 0; min-width: 0; aspect-ratio: 1; border-radius: .6rem; background: #f2f4f7; }
.review-stars .is-gold { color: #07152f; background: #4adfc9; }
.review-pagination { display: flex; justify-content: center; flex-wrap: wrap; gap: 1.5rem; margin-top: 2rem; font-size: .9rem; }
.review-pagination a { color: #254bbe; text-underline-offset: .25rem; }
.reviews-list-action { display: grid; justify-items: start; gap: .85rem; margin: 0 0 2.25rem; text-align: left; }
.reviews-list-action > p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.6; }
.reviews-contact { background: #e9f5f1; border: 0; padding: 4.5rem 0; }
.review-form-section { width: min(100% - 2rem, 44rem); margin: 3rem auto; border-radius: 1.5rem; background: #fff; padding: clamp(1.25rem, 3vw, 2.5rem); color: #0a1b36; }
.review-dialog { width: min(100% - 2rem, 47rem); max-height: calc(100dvh - 2rem); margin: auto; padding: 0; border: 0; border-radius: 1.5rem; color: #0a1b36; background: white; overflow: auto; overscroll-behavior: contain; box-shadow: 0 2rem 8rem #0004; }
.review-dialog::backdrop { background: #06142abb; backdrop-filter: blur(7px); }
.review-dialog .review-form-section { width: 100%; margin: 0; }
html.review-dialog-open { overflow: hidden; }
.review-form-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.review-form-section .reviews-eyebrow { margin-bottom: .6rem; }
.review-form-section h2 { font: 700 clamp(1.65rem, 3vw, 2rem)/1.1 Poppins, Arial, sans-serif; letter-spacing: -.035em; margin: 0; }
.review-close { flex: 0 0 auto; background: #eff3f8; color: #263a56; border: 0; border-radius: 2rem; padding: .65rem 1rem; font: 700 .75rem/1.3 Poppins, Arial, sans-serif; cursor: pointer; }
.review-close:hover { background: #e1e9f3; }
.review-form-intro { line-height: 1.7; color: #53627a; margin: 1.15rem 0 1.5rem; font-size: 1rem; }
.review-rating-field { border: 0; border-bottom: 1px solid #e0e7ef; padding: 0 0 1.25rem; margin: 0 0 1.4rem; }
.review-rating-field legend, .review-fields-grid label, .review-upload > label { font: 700 .8rem/1.6 Poppins, Arial, sans-serif; }
.review-rating-options { display: flex; width: fit-content; gap: .3rem; margin-top: .6rem; }
.review-rating-options label { display: block; position: relative; cursor: pointer; }
.review-rating-options input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.review-rating-options label > span[aria-hidden] { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; color: #b98723; background: #faf6eb; border-radius: .7rem; font-size: 2rem; line-height: 1; transition: transform .3s cubic-bezier(.2,1.7,.4,1), background .2s, color .2s; }
.review-rating-options label.is-muted > span[aria-hidden] { color: #c7ced8; background: #f2f4f7; }
.review-rating-options label.is-chosen > span[aria-hidden] { color: #ac7914; background: #fff0bc; }
.review-rating-options label:hover > span[aria-hidden] { transform: translateY(-4px) rotate(-7deg); }
.review-rating-options input:focus-visible + span, .review-rating-options input:checked + span { outline: 2px solid #0e806e; outline-offset: 3px; }
#review-rating-label { font-size: .78rem; line-height: 1.5; color: #5a6880; margin: .7rem 0 0; }
.review-fields-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.review-fields-grid label { display: flex; flex-wrap: wrap; align-content: flex-start; gap: .4rem; }
.review-fields-grid input:not([type=file]), .review-fields-grid textarea { display: block; width: 100%; min-height: 3rem; border: 1px solid #c9d3e1; border-radius: .65rem; padding: .8rem .9rem; font: 400 1rem/1.62 Inter, Arial, system-ui, sans-serif; background: #fff; color: #0a1b36; }
.review-fields-grid textarea { resize: vertical; }
.review-fields-grid textarea::placeholder, .review-fields-grid input::placeholder { color: #6a768a; }
.review-field-full { grid-column: 1/-1; }
.review-field-help, .review-optional { font: 400 .75rem/1.6 Inter, Arial, sans-serif; color: #5a6880; }
.review-optional { margin-left: .15rem; }
.review-upload { padding: 1rem; border: 1px dashed #bfcddf; border-radius: .8rem; background: #f8faff; }
.review-upload p { margin: .35rem 0 .7rem; }
.review-upload input[type=file] { max-width: 100%; color: #4a5c76; font-size: .8rem; }
.review-upload input::file-selector-button { cursor: pointer; border: 0; background: #e6edf7; border-radius: .5rem; padding: .65rem .85rem; color: #172e51; font-weight: 700; margin-right: .7rem; }
#review-photo-preview { display: flex; align-items: center; gap: 1rem; margin-top: 1rem; }
#review-photo-preview img { width: 5rem; height: 5rem; border-radius: .6rem; object-fit: cover; }
#review-photo-remove { background: none; border: 0; color: #2948a0; text-decoration: underline; text-underline-offset: .2rem; cursor: pointer; font-size: .8rem; }
#review-photo-error { color: #9a2929; }
.review-spam-check { display: grid; grid-template-columns: minmax(0, 1fr) 5rem; align-items: center; gap: 1rem; margin-top: 1.4rem; padding: 1rem; border: 1px solid #b8e6dc; border-radius: .8rem; background: #effbf7; }
.review-spam-check label { display: block; color: var(--navy); font: 700 .85rem/1.6 Poppins, Arial, sans-serif; }
.review-spam-check p { margin: .25rem 0 0; color: #53627a; font-size: .8rem; line-height: 1.6; }
.review-spam-check input { width: 100%; min-width: 0; min-height: 3rem; padding: .6rem; border: 1px solid #92cdbf; border-radius: .6rem; background: #fff; color: #0a1b36; font: 600 1rem/1.6 Poppins, Arial, sans-serif; text-align: center; }
.review-consent { display: flex; align-items: flex-start; gap: .7rem; margin: 1.4rem 0; font-size: .8rem; color: #53627a; line-height: 1.7; }
.review-consent input { flex: 0 0 auto; width: 1.1rem; height: 1.1rem; margin-top: .15rem; accent-color: #0e806e; }
.review-consent a { color: #244cb3; text-underline-offset: .2rem; }
.review-submit-row { display: flex; align-items: center; gap: 1.2rem; }
.review-submit-row p { font-size: .75rem; line-height: 1.6; color: #5a6880; margin: 0; }
.review-submit-row button { flex-shrink: 0; }
.review-feedback { background: #e8f8f1; color: #17674e; padding: 1.2rem; border: 1px solid #adddc8; border-radius: .8rem; line-height: 1.7; margin-bottom: 1.5rem; }
.review-feedback.is-error { background: #fff3ef; color: #92362a; border-color: #edb8aa; }
.review-form-section [hidden] { display: none !important; }
.review-sr-only, .review-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.reviews-page :is(a, button, input, textarea):focus-visible, .review-dialog :is(a, button, input, textarea):focus-visible { outline: 3px solid #248dca; outline-offset: 4px; }
.review-public-card.is-review-entering { transform-origin: 50% 80%; transition: none; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) { .review-public-card:not(.is-review-entering):hover { border-color: #9ad7ca; box-shadow: 0 1.2rem 3rem #10234512; } }
@media (prefers-reduced-motion: no-preference) {
    .review-orbit-one { animation: review-float 5s ease-in-out 3; }
    .review-orbit-two { animation: review-bounce 3s ease-in-out 4; }
    .review-orbit-three { animation: review-float 4s ease-in-out 3 reverse; }
    @keyframes review-float { 50% { transform: translateY(-15px) rotate(8deg); } }
    @keyframes review-bounce { 35% { transform: translateY(-18px) scale(.95,1.05); } 65% { transform: translateY(0) scale(1.1,.9); } 85% { transform: translateY(-5px); } }
}
@media (max-width: 1000px) { .reviews-hero-grid { grid-template-columns: 1fr 1fr; gap: 2rem; } }
@media (max-width: 760px) {
    .reviews-page .reviews-hero { padding: 8rem 0 3.2rem; }
    .reviews-hero-grid { grid-template-columns: 1fr; gap: 1.8rem; }
    .reviews-hero-intro, .reviews-hero-story > p:first-child { font-size: 1rem; }
    .reviews-hero-intro { margin-top: 1.1rem; }
    .review-orbit-one { width: 7rem; height: 7rem; left: auto; right: -3rem; top: 5.5rem; }
    .review-orbit-two { left: auto; right: 1.6rem; bottom: 2rem; width: 1.4rem; height: 1.4rem; }
    .review-orbit-three { display: none; }
    .reviews-content { padding: 3rem 0; }
    .reviews-section-heading { margin-bottom: 1.75rem; }
    .reviews-contact { padding: 3rem 0; }
    .review-person-photo, .review-avatar { width: 3.6rem; height: 3.6rem; border-radius: .9rem; }
    .review-card-top { padding-bottom: 1rem; margin-bottom: 1.15rem; }
    .review-card-rating { width: 100%; gap: .6rem; }
    .review-card-score { font-size: .7rem; }
    .review-dialog { width: calc(100% - 1rem); max-height: calc(100dvh - 1rem); border-radius: 1rem; }
    .review-fields-grid { grid-template-columns: 1fr; gap: 1rem; }
    .review-form-section { padding: 1.25rem; }
    .review-form-section h2 { font-size: 1.55rem; }
    .review-submit-row { flex-direction: column; align-items: stretch; gap: .75rem; }
    .review-submit-row p { text-align: center; }
    .review-close { padding: .6rem .7rem; }
}
@media (prefers-reduced-motion: reduce) { .reviews-page *, .review-dialog * { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
.review-rating-options input { z-index: 1; }
.review-rating-options label > span { pointer-events: none; }
.reviews-page { overflow-x: clip; }
.review-fields-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.review-fields-grid label, .review-fields-grid input, .review-fields-grid textarea, .review-upload, .review-form-heading > div { min-width: 0; }
.review-rating-field { min-inline-size: 0; }
@media (max-width: 760px) { .review-fields-grid { grid-template-columns: minmax(0, 1fr); } }
/* Keep the review action unobstructed on small screens. */
@media (max-width: 760px) {
    .reviews-page-body .xenid-mobile-appointment { display: none !important; }
    .reviews-page-body.has-mobile-appointment { padding-bottom: 0; }
}

/* One overview of all published reviews, using the existing Xenid palette. */
.reviews-summary { display: grid; grid-template-columns: 1fr 1.15fr 1.4fr; gap: clamp(1.25rem, 2.8vw, 2.5rem); margin: 0 0 2.25rem; padding: clamp(1.5rem, 2.7vw, 2.25rem); border: 1px solid var(--line); border-radius: 1.25rem; background: #fff; box-shadow: 0 .65rem 2rem rgb(16 35 69 / 3%); color: #07152f; }
.reviews-summary > div { min-width: 0; }
.reviews-summary p { margin: 0; }
.reviews-summary .reviews-summary-label { margin-bottom: .9rem; color: #0e806e; font: 700 .72rem/1.5 Poppins, Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.reviews-summary-scoreline { display: flex; align-items: center; gap: .8rem; }
.reviews-summary-average { font: 700 clamp(3.8rem, 5vw, 5rem)/1 Poppins, Arial, sans-serif; letter-spacing: -.055em; font-variant-numeric: tabular-nums; }
.reviews-summary-scoreline > span { color: #53627a; font: 500 .85rem/1.5 Poppins, Arial, sans-serif; }
.reviews-summary-stars { display: flex; gap: .3rem; margin-top: 1rem; }
.reviews-summary-stars > svg { display: block; width: 2.2rem; height: 2.2rem; flex: none; }
.reviews-summary-star-base { fill: #f2f4f7; }
.reviews-summary-star-empty { fill: #c7ced8; }
.reviews-summary-star-fill { fill: #4adfc9; }
.reviews-summary-star-active { fill: #07152f; }
.reviews-summary .reviews-summary-note { margin-top: .9rem; color: #53627a; font: 400 .78rem/1.65 Poppins, Arial, sans-serif; }
.reviews-summary-details, .reviews-summary-distribution { padding-left: clamp(1.25rem, 2.8vw, 2.5rem); border-left: 1px solid #e5ebf3; }
.reviews-summary-metric { display: flex; align-items: center; gap: .8rem; }
.reviews-summary-metric + .reviews-summary-metric { margin-top: 1.15rem; }
.reviews-summary-metric > strong { flex: none; font: 700 clamp(1.9rem, 2.6vw, 2.5rem)/1.2 Poppins, Arial, sans-serif; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.reviews-summary-metric > span { color: #53627a; font: 400 .82rem/1.6 Poppins, Arial, sans-serif; }
.reviews-summary-bars { display: grid; gap: .75rem; padding: 0; margin: 0; list-style: none; }
.reviews-summary-bars > li { display: grid; grid-template-columns: 2.15rem minmax(0, 1fr) auto; align-items: center; gap: .75rem; min-height: 1.25rem; }
.reviews-summary-bar-label { display: flex; align-items: center; gap: .4rem; color: #53627a; font: 500 .78rem/1.5 Poppins, Arial, sans-serif; }
.reviews-summary-bar-label > svg { display: block; width: 1rem; height: 1rem; fill: #128874; flex: none; }
.reviews-summary-bar-count { min-width: 1.25rem; text-align: right; color: #53627a; font: 500 .75rem/1.5 Poppins, Arial, sans-serif; font-variant-numeric: tabular-nums; }
.reviews-summary-bar { display: block; width: 100%; height: .45rem; border: 0; border-radius: 999px; background: #e5ebf3; appearance: none; }
.reviews-summary-bar::-webkit-meter-bar { height: .45rem; border: 0; border-radius: 999px; background: #e5ebf3; box-shadow: none; }
.reviews-summary-bar::-webkit-meter-optimum-value, .reviews-summary-bar::-webkit-meter-suboptimum-value, .reviews-summary-bar::-webkit-meter-even-less-good-value { border-radius: 999px; background: #4adfc9; }
.reviews-summary-bar::-moz-meter-bar { border-radius: 999px; background: #4adfc9; }
@media (max-width: 1000px) {
    .reviews-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .reviews-summary-distribution { grid-column: 1 / -1; border-left: 0; padding: 1.5rem 0 0; border-top: 1px solid #e5ebf3; }
}
@media (max-width: 600px) {
    .reviews-summary { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; padding: 1.4rem; border-radius: 1rem; }
    .reviews-summary-score { text-align: center; }
    .reviews-summary-scoreline, .reviews-summary-stars { justify-content: center; }
    .reviews-summary-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem 1rem; border-left: 0; padding: 1.5rem 0 0; border-top: 1px solid #e5ebf3; text-align: center; }
    .reviews-summary-details > .reviews-summary-label, .reviews-summary-details > .reviews-summary-note { grid-column: 1 / -1; margin: 0; }
    .reviews-summary-metric { flex-direction: column; justify-content: flex-start; gap: .3rem; }
    .reviews-summary-metric + .reviews-summary-metric { margin: 0; }
    .reviews-summary-distribution { grid-column: auto; }
}
