.reviews-section{padding:3.5rem 0 4rem;color:var(--foreground);background-color:var(--background);background-image:radial-gradient(ellipse 80% 50% at 50% 0,color-mix(in oklch,var(--accent) 10%,transparent) 0,transparent 58%)}@media (min-width:768px){.reviews-section{padding:4.5rem 0 5rem}}.reviews-section__header{max-width:36rem;margin:0 auto 2rem;text-align:center}.reviews-section__summary{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.625rem .875rem;margin-top:1rem;padding:.5rem .875rem;border-radius:999px;border:1px solid color-mix(in oklch,var(--border) 90%,transparent);background:color-mix(in oklch,var(--card) 90%,transparent)}.reviews-section__summary-score{font-family:var(--font-serif),ui-serif,Georgia,serif;font-size:1.25rem;font-weight:600;line-height:1;color:var(--foreground)}.reviews-section__summary-copy{font-size:.8125rem;color:var(--muted-foreground)}.reviews-section__carousel-wrap{position:relative;margin:0 auto 2rem;max-width:64rem}.reviews-section__carousel{--reviews-carousel-gap:1rem}.reviews-section__carousel-content{margin-left:calc(var(--reviews-carousel-gap) * -1)}.reviews-section__carousel-item{flex:0 0 88%;min-width:0;padding-left:var(--reviews-carousel-gap)}@media (min-width:640px){.reviews-section__carousel-item{flex:0 0 50%}}@media (min-width:1024px){.reviews-section__carousel-item{flex:0 0 33.333%}}.reviews-section__card{display:flex;flex-direction:column;height:100%;min-height:15.5rem;padding:1.375rem 1.5rem;border-radius:calc(var(--radius) + 4px);border:1px solid color-mix(in oklch,var(--border) 92%,transparent);background:var(--card);box-shadow:0 1px 3px color-mix(in oklch,var(--foreground) 5%,transparent)}.reviews-section__card--expandable{cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.reviews-section__card--expandable:hover{border-color:color-mix(in oklch,var(--primary) 28%,var(--border));box-shadow:0 6px 20px color-mix(in oklch,var(--foreground) 7%,transparent)}.reviews-section__card--expandable:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.reviews-section__card-top{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.reviews-section__avatar{position:relative;display:flex;flex-shrink:0;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;overflow:hidden;border-radius:999px;border:1px solid color-mix(in oklch,var(--border) 90%,transparent);background:color-mix(in oklch,var(--secondary) 55%,var(--card))}.reviews-section__avatar-img{width:100%;height:100%;object-fit:cover}.reviews-section__avatar--fallback{font-size:.75rem;font-weight:600;color:var(--primary)}.reviews-section__card-meta{min-width:0;flex:1}.reviews-section__card-name{margin:0;font-size:.9375rem;font-weight:600;color:var(--foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reviews-section__card-date{margin:.1rem 0 0;font-size:.75rem;color:var(--muted-foreground)}.reviews-section__review-stars{display:flex;gap:.125rem;margin-bottom:.875rem}.reviews-section__review-stars svg[data-filled=true]{color:var(--accent);fill:color-mix(in oklch,var(--accent) 88%,white)}.reviews-section__review-stars svg[data-filled=false]{color:color-mix(in oklch,var(--muted-foreground) 30%,transparent);fill:transparent}.reviews-section__card-text{margin:0;flex:1;font-size:.9375rem;line-height:1.6;color:var(--foreground);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.reviews-section__read-more{margin-top:.75rem;font-size:.75rem;font-weight:600;color:var(--primary)}.reviews-section__dialog{gap:1rem}.reviews-section__dialog-header{gap:0}.reviews-section__dialog-text{margin:0;font-size:.9375rem;line-height:1.7;color:var(--foreground);white-space:pre-wrap;word-break:break-word}.reviews-section__carousel-nav{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1.25rem}.reviews-section__carousel-btn{width:2.25rem;height:2.25rem;border-radius:999px;border:1px solid color-mix(in oklch,var(--border) 90%,transparent);background:var(--card);color:var(--foreground);box-shadow:0 1px 2px color-mix(in oklch,var(--foreground) 4%,transparent)}.reviews-section__carousel-btn:hover:not(:disabled){border-color:color-mix(in oklch,var(--primary) 30%,var(--border));background:color-mix(in oklch,var(--primary) 6%,var(--card));color:var(--primary)}.reviews-section__carousel-btn:disabled{opacity:.35}.reviews-section__dots{display:flex;align-items:center;gap:.375rem}.reviews-section__dot{width:.4375rem;height:.4375rem;border-radius:999px;border:0;padding:0;background:color-mix(in oklch,var(--muted-foreground) 35%,transparent);transition:width .18s ease,background-color .18s ease;cursor:pointer}.reviews-section__dot[data-active=true]{width:1.25rem;background:var(--primary)}.reviews-section__form-wrap{max-width:32rem;margin:0 auto}.reviews-section__form-toggle{width:100%;justify-content:center;gap:.5rem;border-color:color-mix(in oklch,var(--primary) 25%,var(--border));background:color-mix(in oklch,var(--primary) 6%,var(--card));color:var(--primary);font-weight:600}.reviews-section__form-toggle:hover{background:color-mix(in oklch,var(--primary) 10%,var(--card));color:var(--primary)}.reviews-section__form-panel{overflow:hidden;transition:max-height .32s ease,opacity .28s ease,margin-top .28s ease}.reviews-section__form-panel[data-open=false]{max-height:0;opacity:0;margin-top:0;pointer-events:none}.reviews-section__form-panel[data-open=true]{max-height:40rem;opacity:1;margin-top:1.25rem}.reviews-section__form-card{padding:1.75rem 1.5rem;border-radius:calc(var(--radius) + 6px);border:1px solid color-mix(in oklch,var(--border) 92%,transparent);background:var(--card);box-shadow:0 4px 20px color-mix(in oklch,var(--foreground) 4%,transparent)}@media (min-width:640px){.reviews-section__form-card{padding:2rem 2.25rem}}.reviews-section__form-title{margin:0 0 .5rem;font-family:var(--font-serif),ui-serif,Georgia,serif;font-size:1.25rem;font-weight:600;text-align:center;color:var(--foreground)}.reviews-section__form-copy{margin:0 0 1.75rem;font-size:.875rem;line-height:1.6;text-align:center;color:var(--muted-foreground)}.reviews-section__form-fields{display:grid;gap:1.5rem}.reviews-section__field{display:grid;gap:.625rem}.reviews-section__field--centered{justify-items:center;text-align:center}.reviews-section__label{font-size:.8125rem;font-weight:600;color:var(--foreground)}.reviews-section__stars{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.reviews-section__star-btn{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:999px;border:1px solid color-mix(in oklch,var(--border) 90%,transparent);background:color-mix(in oklch,var(--muted) 30%,var(--card));color:color-mix(in oklch,var(--muted-foreground) 65%,transparent);transition:transform .14s ease,border-color .14s ease,background-color .14s ease,color .14s ease}.reviews-section__star-btn:hover{transform:translateY(-1px);border-color:color-mix(in oklch,var(--accent) 35%,var(--border));color:var(--accent)}.reviews-section__star-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.reviews-section__star-btn[data-active=true]{border-color:color-mix(in oklch,var(--accent) 45%,var(--border));background:color-mix(in oklch,var(--accent) 14%,var(--card));color:var(--accent)}.reviews-section__submit{width:100%;margin-top:.5rem;background:var(--primary);color:var(--primary-foreground)}.reviews-section__submit:hover:not(:disabled){background:color-mix(in oklch,var(--primary) 92%,black)}.reviews-section__hint{margin:1rem 0 0;font-size:.75rem;line-height:1.5;text-align:center;color:var(--muted-foreground)}.reviews-section__error{margin:0;font-size:.8125rem;text-align:center;color:var(--destructive)}.reviews-section__empty,.reviews-section__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:12rem;padding:2rem 1rem;text-align:center;color:var(--muted-foreground)}.reviews-section__empty-icon{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:999px;border:1px solid color-mix(in oklch,var(--border) 90%,transparent);background:color-mix(in oklch,var(--primary) 8%,var(--card));color:var(--primary)}