:root{--primary:#4a7c59;--primary-light:#6b9b7a;--primary-dark:#3a6147;--secondary:#8fbc8f;--accent:#d4a574;--background:#f8faf9;--surface:#fff;--surface-elevated:#f0f4f1;--text-primary:#1a2e1a;--text-secondary:#4a5d4a;--text-muted:#6b7c6b;--border:#d4e0d4;--success:#4a7c59;--warning:#d4a574;--error:#c75050;--shadow-sm:0 1px 3px #4a7c5914;--shadow-md:0 4px 12px #4a7c591a;--shadow-lg:0 8px 24px #4a7c591f;--shadow-xl:0 12px 36px #4a7c5926;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--transition:.2s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--background);color:var(--text-primary);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.loading{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;display:flex}.loading__spinner{border:4px solid var(--surface-elevated);border-top-color:var(--primary);border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error{min-height:100vh;color:var(--error);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex}.main{max-width:1400px;margin:0 auto;padding:1.5rem}@media (max-width:768px){.main{padding:1rem}}.header{background:var(--primary);color:#fff;text-align:center;margin:-1.5rem -1.5rem 2rem;padding:1.5rem 2rem}.header__title{letter-spacing:.1em;color:#fff;justify-content:center;align-items:center;gap:.5rem;font-size:2rem;font-weight:300;display:flex}.header__logo{font-size:1.5rem}.header__subtitle{color:#ffffffd9;margin-top:.5rem;font-size:1rem;font-weight:300}@media (max-width:768px){.header{margin:-1rem -1rem 1.5rem;padding:1rem}.header__title{font-size:1.5rem}.header__subtitle{font-size:.875rem}}.glow-url-input{max-width:500px;margin-top:1rem;margin-left:auto;margin-right:auto}.glow-url-input form{gap:.5rem;display:flex}.glow-url-input__field{border-radius:var(--radius-md);color:#fff;transition:var(--transition);background:#ffffff26;border:2px solid #ffffff4d;flex:1;padding:.625rem 1rem;font-size:.875rem}.glow-url-input__field::placeholder{color:#fff9}.glow-url-input__field:focus{background:#fff3;border-color:#fff9;outline:none}.glow-url-input__btn{color:var(--primary);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);background:#fff;border:none;padding:.625rem 1.25rem;font-weight:600}.glow-url-input__btn:hover{background:#ffffffe6}.glow-url-input__error{color:#fecaca;margin-top:.5rem;font-size:.8rem}.search-bar{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.search-bar__input-container{flex:1;min-width:250px;position:relative}.search-bar__icon{color:var(--text-muted);position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.search-bar__input{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);width:100%;color:var(--text-primary);transition:var(--transition);padding:.875rem 1rem .875rem 2.75rem;font-size:1rem}.search-bar__input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #7c3aed33}.search-bar__input::placeholder{color:var(--text-muted)}.search-bar__clear{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;padding:.25rem;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.search-bar__clear:hover{color:var(--text-primary)}.search-bar__filter-btn{background:var(--primary);border-radius:var(--radius-lg);color:#fff;cursor:pointer;transition:var(--transition);border:none;align-items:center;gap:.5rem;padding:.875rem 1.25rem;font-weight:600;display:flex}.search-bar__filter-btn:hover{background:var(--primary-dark);transform:translateY(-1px)}.search-bar__result-count{color:var(--text-secondary);white-space:nowrap}.search-bar__result-count strong{color:var(--primary-light)}@media (max-width:768px){.search-bar{gap:.75rem}.search-bar__input-container{order:1;width:100%}.search-bar__filter-btn{flex:1;order:2;justify-content:center}.search-bar__result-count{text-align:center;order:3;width:100%}}.filter-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:var(--transition);z-index:100;background:#0009;position:fixed;inset:0}.filter-overlay--visible{opacity:1;visibility:visible}.filter-sidebar{background:var(--surface);z-index:101;width:100%;max-width:400px;height:100vh;box-shadow:var(--shadow-xl);flex-direction:column;transition:transform .3s;display:flex;position:fixed;top:0;right:0;transform:translate(100%)}.filter-sidebar--open{transform:translate(0)}.filter-sidebar__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.filter-sidebar__header h2{font-size:1.25rem;font-weight:700}.filter-sidebar__close{color:var(--text-secondary);cursor:pointer;transition:var(--transition);background:0 0;border:none;padding:.25rem}.filter-sidebar__close:hover{color:var(--text-primary)}.filter-sidebar__content{flex-direction:column;flex:1;gap:1.5rem;padding:1.5rem;display:flex;overflow-y:auto}.filter-group{flex-direction:column;gap:.75rem;display:flex}.filter-group__label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.filter-select{background:var(--surface-elevated);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:var(--transition);padding:.75rem 1rem;font-size:.95rem}.filter-select:focus{border-color:var(--primary);outline:none}.filter-rating-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.filter-rating-btn{background:var(--surface-elevated);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:var(--transition);padding:.5rem .875rem;font-size:.875rem}.filter-rating-btn:hover{border-color:var(--primary-light);color:var(--text-primary)}.filter-rating-btn--active{background:var(--primary);border-color:var(--primary);color:#fff}.filter-checkboxes{flex-direction:column;gap:.75rem;display:flex}.filter-checkbox{cursor:pointer;color:var(--text-secondary);transition:var(--transition);align-items:center;gap:.75rem;display:flex}.filter-checkbox:hover{color:var(--text-primary)}.filter-checkbox input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary);cursor:pointer}.filter-tags{flex-wrap:wrap;gap:.5rem;max-height:200px;display:flex;overflow-y:auto}.filter-tag{background:var(--surface-elevated);border:2px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:var(--transition);border-radius:9999px;padding:.5rem .875rem;font-size:.8rem}.filter-tag:hover{border-color:var(--primary-light);color:var(--text-primary)}.filter-tag--active{background:var(--primary);border-color:var(--primary);color:#fff}.filter-price-range{flex-direction:column;gap:.5rem;display:flex}.filter-price-slider{width:100%;accent-color:var(--primary);cursor:pointer}.filter-price-labels{color:var(--text-secondary);justify-content:space-between;font-size:.875rem;display:flex}.filter-range-inputs{align-items:center;gap:.5rem;display:flex}.filter-input{background:var(--surface-elevated);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);text-align:center;flex:1;padding:.75rem;font-size:.9rem}.filter-input:focus{border-color:var(--primary);outline:none}.filter-input::placeholder{color:var(--text-muted)}.filter-range-separator{color:var(--text-muted);font-weight:600}.filter-sidebar__footer{border-top:1px solid var(--border);gap:.75rem;padding:1.25rem 1.5rem;display:flex}.filter-clear-btn{background:var(--surface-elevated);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:var(--transition);flex:1;padding:.875rem;font-weight:600}.filter-clear-btn:hover{border-color:var(--error);color:var(--error)}.filter-apply-btn{background:var(--primary);border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:var(--transition);border:none;flex:1;padding:.875rem;font-weight:600}.filter-apply-btn:hover{background:var(--primary-dark)}.staff-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}@media (max-width:768px){.staff-grid{grid-template-columns:1fr;gap:1rem}}.staff-card{background:var(--surface);border-radius:var(--radius-xl);transition:var(--transition);border:1px solid var(--border);overflow:hidden}.staff-card:hover{box-shadow:var(--shadow-xl);border-color:var(--primary);transform:translateY(-4px)}.staff-card__image-container{aspect-ratio:3/4;background:var(--surface-elevated);width:100%;position:relative}.staff-card__image{object-fit:contain;transition:transform .3s}.staff-card:hover .staff-card__image{transform:scale(1.02)}.staff-card__content{flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.staff-card__name{color:var(--text-primary);font-size:1.25rem;font-weight:700}.staff-card__location{color:var(--text-secondary);align-items:center;gap:.375rem;font-size:.875rem;display:flex}.staff-card__price{color:var(--primary);font-size:1.1rem;font-weight:600}.staff-card__birth-year{color:var(--text-muted);font-size:.9rem;font-weight:400}.staff-card__description{color:var(--text-muted);margin-top:.25rem;font-size:.85rem;line-height:1.5}.staff-card__nav{color:#fff;cursor:pointer;opacity:0;width:32px;height:32px;transition:var(--transition);z-index:10;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.staff-card:hover .staff-card__nav{opacity:1}.staff-card__nav:hover{background:#000c}.staff-card__nav--prev{left:.5rem}.staff-card__nav--next{right:.5rem}.staff-card__image-dots{z-index:10;gap:.375rem;display:flex;position:absolute;bottom:.5rem;left:50%;transform:translate(-50%)}.staff-card__dot{cursor:pointer;width:8px;height:8px;transition:var(--transition);background:#ffffff80;border-radius:50%}.staff-card__dot:hover{background:#fffc}.staff-card__dot--active{background:#fff;border-radius:4px;width:20px}.staff-card__distance{color:#fff;border-radius:var(--radius-sm);z-index:10;background:#000000b3;padding:.25rem .5rem;font-size:.75rem;font-weight:600;position:absolute;top:.5rem;left:.5rem}.filter-gender-buttons{gap:.5rem;display:flex}.filter-gender-btn{background:var(--surface-elevated);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:var(--transition);flex:1;padding:.625rem .75rem;font-size:.875rem;font-weight:500}.filter-gender-btn:hover{border-color:var(--primary-light);color:var(--text-primary)}.filter-gender-btn--active{background:var(--primary);border-color:var(--primary);color:#fff}.header__location{color:var(--success);margin-top:.5rem;font-size:.875rem}.no-results{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.no-results h3{color:var(--text-primary);font-size:1.25rem}.no-results p{color:var(--text-secondary)}.pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-top:2rem;padding:1rem 0;display:flex}.pagination__btn{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:var(--transition);align-items:center;gap:.25rem;padding:.625rem 1rem;font-weight:600;display:flex}.pagination__btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary-light)}.pagination__btn:disabled{opacity:.5;cursor:not-allowed}.pagination__pages{gap:.25rem;display:flex}.pagination__page{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-md);min-width:40px;height:40px;color:var(--text-secondary);cursor:pointer;transition:var(--transition);justify-content:center;align-items:center;font-weight:600;display:flex}.pagination__page:hover{border-color:var(--primary);color:var(--primary-light)}.pagination__page--active{background:var(--primary);border-color:var(--primary);color:#fff}.pagination__ellipsis{min-width:40px;height:40px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}@media (max-width:640px){.pagination__btn-text{display:none}.pagination__page,.pagination__ellipsis{min-width:36px;height:36px;font-size:.875rem}}.staff-card-link{color:inherit;text-decoration:none;display:block}.detail-page{max-width:1200px;margin:0 auto;padding:1.5rem}.detail-page__loading,.detail-page__not-found{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:50vh;display:flex}.detail-page__back-link{color:var(--primary-light);transition:var(--transition);margin-bottom:1.5rem;font-weight:500;text-decoration:none;display:inline-block}.detail-page__back-link:hover{color:var(--primary)}.detail-page__back-btn{background:var(--primary);color:#fff;border-radius:var(--radius-md);padding:.75rem 1.5rem;font-weight:600;text-decoration:none}.detail-page__content{grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem;display:grid}@media (max-width:900px){.detail-page__content{grid-template-columns:1fr}}.detail-page__gallery{flex-direction:column;gap:1rem;display:flex}.detail-page__main-image{aspect-ratio:3/4;background:var(--surface);border-radius:var(--radius-xl);position:relative;overflow:hidden}.detail-page__image{object-fit:contain}.detail-page__thumbnails{gap:.5rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.detail-page__thumbnail{border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;background:0 0;flex-shrink:0;width:60px;height:80px;padding:0;position:relative;overflow:hidden}.detail-page__thumbnail--active{border-color:var(--primary)}.detail-page__thumbnail img{object-fit:cover}.detail-page__info{flex-direction:column;gap:1rem;display:flex}.detail-page__name{color:var(--text-primary);font-size:2rem;font-weight:800}.detail-page__birth-year{color:var(--text-muted);font-weight:400}.detail-page__meta{color:var(--text-secondary);flex-wrap:wrap;gap:1rem;display:flex}.detail-page__status{color:var(--success)}.detail-page__price{color:var(--primary);font-size:1.5rem;font-weight:600}.detail-page__stats{border-top:1px solid var(--border);border-bottom:1px solid var(--border);gap:2rem;padding:1rem 0;display:flex}.detail-page__stat{flex-direction:column;align-items:center;display:flex}.detail-page__stat-value{font-size:1.25rem;font-weight:700}.detail-page__stat-label{color:var(--text-muted);font-size:.875rem}.detail-page__work-options{flex-wrap:wrap;gap:.75rem;display:flex}.detail-page__badge{background:var(--surface-elevated);border-radius:var(--radius-md);padding:.5rem 1rem;font-size:.875rem}.detail-page__services h3,.detail-page__description h3{color:var(--text-secondary);margin-bottom:.5rem;font-size:1rem;font-weight:600}.detail-page__service-tags{flex-wrap:wrap;gap:.5rem;display:flex}.detail-page__service-tag{border-radius:9999px;padding:.375rem .75rem;font-size:.8rem;font-weight:600}.detail-page__description p{color:var(--text-secondary);line-height:1.8}.detail-page__comments{grid-template-columns:1fr 1fr;gap:2rem;display:grid}@media (max-width:900px){.detail-page__comments{grid-template-columns:1fr}}.comment-form{background:var(--surface);border-radius:var(--radius-xl);border:1px solid var(--border);padding:1.5rem}.comment-form__title{margin-bottom:1rem;font-size:1.25rem;font-weight:700}.comment-form__error{border:1px solid var(--error);border-radius:var(--radius-md);color:var(--error);background:#ef44441a;margin-bottom:1rem;padding:.75rem;font-size:.875rem}.comment-form__success{border:1px solid var(--success);border-radius:var(--radius-md);color:var(--success);background:#22c55e1a;margin-bottom:1rem;padding:.75rem;font-size:.875rem}.comment-form__field{margin-bottom:1rem}.comment-form__field label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.comment-form__field input,.comment-form__field textarea{background:var(--surface-elevated);border:2px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:var(--transition);padding:.75rem;font-family:inherit;font-size:.95rem}.comment-form__field input:focus,.comment-form__field textarea:focus{border-color:var(--primary);outline:none}.comment-form__field textarea{resize:vertical;min-height:100px}.comment-form__captcha{margin-bottom:1rem}.comment-form__captcha label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.comment-form__captcha-row{gap:.5rem;display:flex}.comment-form__captcha-row input{background:var(--surface-elevated);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);flex:1;padding:.75rem;font-size:.95rem}.comment-form__captcha-row input:focus{border-color:var(--primary);outline:none}.comment-form__refresh{background:var(--surface-elevated);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);padding:.75rem}.comment-form__refresh:hover{border-color:var(--primary)}.comment-form__submit{background:var(--primary);border-radius:var(--radius-md);color:#fff;cursor:pointer;width:100%;transition:var(--transition);border:none;padding:.875rem;font-size:1rem;font-weight:600}.comment-form__submit:hover:not(:disabled){background:var(--primary-dark)}.comment-form__submit:disabled{opacity:.6;cursor:not-allowed}.comment-list{background:var(--surface);border-radius:var(--radius-xl);border:1px solid var(--border);padding:1.5rem}.comment-list__title{margin-bottom:1rem;font-size:1.25rem;font-weight:700}.comment-list__loading,.comment-list__empty{text-align:center;color:var(--text-muted);padding:2rem}.comment-list__items{flex-direction:column;gap:1rem;max-height:500px;display:flex;overflow-y:auto}.comment-item{background:var(--surface-elevated);border-radius:var(--radius-lg);gap:1rem;padding:1rem;display:flex}.comment-item__avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:700;display:flex}.comment-item__content{flex:1;min-width:0}.comment-item__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.comment-item__name{color:var(--text-primary);font-weight:600}.comment-item__date{color:var(--text-muted);font-size:.75rem}.comment-item__text{color:var(--text-secondary);word-wrap:break-word;line-height:1.6}
