.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:.85rem 1.25rem;border:1px solid transparent;border-radius:var(--radius-pill);font-weight:var(--font-weight-semibold);white-space:nowrap}.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-strong)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover,.btn-ghost:hover{border-color:var(--color-text)}.btn-ghost{background:transparent;color:inherit;border-color:rgba(255,255,255,.4)}
.badge,.section-eyebrow{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:var(--space-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.03em;color:var(--color-accent);text-transform:uppercase}.section-header{max-width:42rem;margin-bottom:var(--space-2xl)}.section-title{margin-bottom:var(--space-sm);font-size:var(--font-size-2xl)}.section-text{color:var(--color-text-muted)}
.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.service-card,.review-card,.price-card,.contact-card,.team-card,.offer-card{padding:var(--space-lg)}.service-card__icon{width:3rem;height:3rem;display:grid;place-items:center;margin-bottom:1rem;border-radius:var(--radius-md);background:var(--color-surface-alt);font-weight:var(--font-weight-bold)}
.service-card__image{aspect-ratio:4/3;width:100%;object-fit:cover;border-radius:calc(var(--radius-lg) - .5rem);margin-bottom:1rem}.service-card__title,.review-card__title,.price-card__title,.contact-card__title,.team-card__title,.offer-card__title{margin-bottom:.5rem;font-size:var(--font-size-lg)}.service-card__text,.review-card__text,.price-card__text,.contact-card__text,.team-card__text,.offer-card__text{color:var(--color-text-muted)}
.nav-list,.social-links{display:flex;align-items:center;gap:1rem}.nav-link{display:inline-flex;align-items:center;padding:.35rem 0;font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.nav-link:hover,.nav-link.is-active{color:var(--color-text)}
.input,.textarea{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:.9rem 1rem;color:var(--color-text)}.input:focus,.textarea:focus{outline:2px solid transparent;border-color:var(--color-accent)}.form-group + .form-group,.contact-form__row + .form-group{margin-top:1rem}.form-group label{display:inline-block;margin-bottom:.45rem;font-weight:var(--font-weight-medium)}.contact-form__row{display:grid;gap:1rem}.form-error{margin-top:.35rem;font-size:var(--font-size-sm);color:var(--color-error)}
.back-to-top{position:fixed;right:1rem;bottom:1rem;z-index:40;width:3rem;height:3rem;display:grid;place-items:center;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface);box-shadow:var(--shadow-sm);opacity:0;pointer-events:none}.back-to-top.is-visible{opacity:1;pointer-events:auto}
.lightbox{position:fixed;inset:0;z-index:120;display:none;place-items:center;background:rgba(0,0,0,.85);padding:1rem}.lightbox.is-open{display:grid}.lightbox__image{max-width:min(96vw,1200px);max-height:88vh;border-radius:var(--radius-lg)}.lightbox__close{position:absolute;top:1rem;right:1rem}
@media (min-width:700px){.contact-form__row{grid-template-columns:repeat(2,minmax(0,1fr))}}


.review-card__rating{margin-bottom:.75rem;color:var(--color-accent);font-weight:var(--font-weight-bold);letter-spacing:.08em}
.review-card__author{display:grid;gap:.15rem;margin-top:1rem;color:var(--color-text-muted);font-size:var(--font-size-sm)}
.review-card__author strong{color:var(--color-text);font-size:var(--font-size-base)}
.stat-card,.benefit-card,.faq-card,.team-item,.hours-card,.info-card{padding:var(--space-lg)}
.stat-card__value{display:block;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:var(--font-weight-bold);line-height:1}
.stat-card__label,.price-card__label,.offer-card__label,.team-card__role,.team-item__role,.faq-card__answer,.info-card__text{color:var(--color-text-muted)}
.price-item{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border)}
.price-item:first-child{padding-top:1.35rem}.price-item:last-child{padding-bottom:1.35rem;border-bottom:0}.price-item__content{flex:1;min-width:0}.price-item__title{margin-bottom:.25rem;font-size:var(--font-size-lg)}.price-item__value,.price-card__price{padding-left:1rem;font-weight:var(--font-weight-bold);font-size:1.25rem;white-space:nowrap}
.price-card__label,.offer-card__label{display:inline-flex;margin-bottom:.75rem;padding:.35rem .7rem;border-radius:var(--radius-pill);background:var(--color-surface-alt);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}
.price-card__features{display:grid;gap:.55rem;margin:1rem 0 1.25rem;color:var(--color-text-muted)}
.price-card--featured{border-color:rgba(192,132,87,.45);box-shadow:var(--shadow-md)}
.benefit-card__icon{width:3rem;height:3rem;display:grid;place-items:center;margin-bottom:1rem;border-radius:var(--radius-md);background:var(--color-surface-alt);font-weight:var(--font-weight-bold)}
.benefit-card__title,.benefit-item__title,.faq-card__question,.team-item__name,.info-card__title{margin-bottom:.5rem;font-size:var(--font-size-lg)}
.benefit-card__text,.benefit-item__text,.team-item__text,.hours-card__list,.faq-item__answer,.faq-card__answer,.offer-banner .section-text{color:var(--color-text-muted)}
.faq-item{padding:0;overflow:hidden}.faq-item__question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem;background:transparent;border:0;text-align:left;font-weight:var(--font-weight-semibold)}
.faq-item__question::after{content:'+';font-size:1.25rem;color:var(--color-accent)}.faq-item__question[aria-expanded="true"]::after{content:'−'}
.faq-item__answer{padding:0 1.25rem 1.25rem}.faq-item__answer p:last-child{margin-bottom:0}.contact-card__text a{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.contact-card__text a:hover{text-decoration:underline}.gallery__item img,.gallery__featured img{transition:transform var(--transition-base)}.gallery__item:hover img,.gallery__featured:hover img{transform:scale(1.03)}.contact-form .btn{width:100%}@media (min-width:700px){.contact-form .btn{width:auto}}
.team-card{overflow:hidden;padding:0}.team-card__image{width:100%;aspect-ratio:4/3;object-fit:cover}.team-card__body{padding:var(--space-lg)}.team-card__name{margin-bottom:.25rem;font-size:var(--font-size-lg)}
.team-item__content{display:grid;gap:.35rem}
.offer-banner{display:grid;gap:1.5rem;padding:clamp(1.25rem,2vw,2rem);background:linear-gradient(135deg,var(--color-surface),var(--color-surface-alt));border-color:rgba(192,132,87,.35)}
.hours-card__list{display:grid;gap:.8rem}.hours-card__list li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--color-border)}.hours-card__list li:last-child{padding-bottom:0;border-bottom:0}
.info-card__title{margin-bottom:.35rem}
@media (min-width:760px){.offer-banner{grid-template-columns:1fr auto;align-items:center}}


.theme-swatch{display:inline-flex;width:1rem;height:1rem;border-radius:50%;border:1px solid var(--color-border)}
.note-card{padding:1rem 1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}
