.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;outline:none;overflow:hidden;padding:var(--space-lg);position:relative;transition:box-shadow var(--transition-base),transform var(--transition-base)}@media (hover:hover) and (pointer:fine){.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}}.card:focus-visible{box-shadow:var(--shadow-lg);outline:2px solid var(--color-focus);transform:translateY(-2px)}.card--interactive{cursor:pointer}.card--bordered{border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm)}.card--highlighted{border-left:4px solid var(--color-primary)}.card--elevated{box-shadow:var(--shadow-lg)}.card--flat{border:1px solid var(--color-border-light);box-shadow:none}.card--compact{padding:var(--space-md)}.card--spacious{padding:var(--space-xl)}.card__image{border-radius:var(--radius-md);height:200px;margin-bottom:var(--space-md);-o-object-fit:cover;object-fit:cover;width:100%}.card__image--hero{border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:250px;margin:calc(var(--space-lg)*-1) calc(var(--space-lg)*-1) var(--space-lg)}.card__image--square{aspect-ratio:1;height:auto}.card__image--wide{aspect-ratio:16/9;height:auto}.card__header{border-bottom:1px solid var(--color-border-light);margin-bottom:var(--space-md);padding-bottom:var(--space-md)}.card__header--no-border{border-bottom:none;padding-bottom:0}.card__title{color:var(--color-heading);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0}.card__subtitle{color:var(--color-text-light);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:var(--space-xs) 0 0 0}.card__body{flex-grow:1;margin-bottom:var(--space-md)}.card__body--last{margin-bottom:0}.card__description{color:var(--color-text);line-height:var(--line-height-relaxed);margin:0}.card__footer{border-top:1px solid var(--color-border-light);margin-top:auto;padding-top:var(--space-md)}.card__footer--no-border{border-top:none;padding-top:0}.card__badge{background:var(--color-primary);border-radius:var(--radius-full);color:var(--color-text-inverse);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--space-xs) var(--space-sm);position:absolute;right:var(--space-md);top:var(--space-md);z-index:1}.card__badge--success{background:var(--color-success)}.card__badge--warning{background:var(--color-warning)}.card__badge--error{background:var(--color-error)}.card__badge--secondary{background:var(--color-secondary)}.card__overlay{background:linear-gradient(180deg,transparent 0,transparent 60%,rgba(0,0,0,.8));inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity var(--transition-base)}@media (hover:hover) and (pointer:fine){.card:hover .card__overlay{opacity:1}}.service-card{overflow:hidden;position:relative}.service-card__image{border-radius:var(--radius-md);height:200px;margin-bottom:var(--space-md);-o-object-fit:cover;object-fit:cover;width:100%}.service-card__badge{background:var(--color-primary);border-radius:var(--radius-full);color:var(--color-text-inverse);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--space-xs) var(--space-sm);position:absolute;right:var(--space-md);top:var(--space-md)}.service-card__features{margin:var(--space-md) 0}.service-card__features ul{list-style:none;margin:0;padding:0}.service-card__features li{align-items:center;color:var(--color-text);display:flex;font-size:var(--font-size-sm);gap:var(--space-sm);margin-bottom:var(--space-xs)}.service-card__features li:before{color:var(--color-success);content:"✓";flex-shrink:0;font-weight:var(--font-weight-bold)}.service-card__price{color:var(--color-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin-bottom:var(--space-sm)}.service-card__price-label{color:var(--color-text-light);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal)}.staff-card{text-align:center}.staff-card__image{border:4px solid var(--color-accent-light);border-radius:var(--radius-full);height:200px;margin:0 auto var(--space-md);-o-object-fit:cover;object-fit:cover;transition:transform var(--transition-base);width:200px}@media (hover:hover) and (pointer:fine){.staff-card:hover .staff-card__image{transform:scale(1.05)}}.staff-card__name{color:var(--color-heading);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-xs)}.staff-card__title{color:var(--color-text-light);letter-spacing:.05em;margin-bottom:var(--space-sm);text-transform:uppercase}.staff-card__credentials,.staff-card__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.staff-card__credentials{color:var(--color-primary);margin-bottom:var(--space-md)}.staff-card__bio{color:var(--color-text);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);text-align:left}.staff-card--compact{align-items:center;display:flex;gap:var(--space-md);padding:var(--space-md);text-align:left}.staff-card--compact .staff-card__image{flex-shrink:0;height:80px;margin:0;width:80px}.staff-card--compact .staff-card__content{flex-grow:1}.staff-card--compact .staff-card__name{font-size:var(--font-size-lg);margin-bottom:var(--space-xs)}.staff-card--compact .staff-card__title{margin-bottom:0}.testimonial-card{padding:var(--space-xl);position:relative}.testimonial-card:before{color:var(--color-accent-light);content:"“";font-family:serif;font-size:4rem;left:var(--space-lg);line-height:1;position:absolute;top:var(--space-lg)}.testimonial-card__quote{color:var(--color-text);font-size:var(--font-size-lg);font-style:italic;line-height:var(--line-height-relaxed);margin:var(--space-lg) 0 var(--space-md)}.testimonial-card__author{align-items:center;display:flex;gap:var(--space-md)}.testimonial-card__avatar{border:2px solid var(--color-accent-light);border-radius:var(--radius-full);height:50px;-o-object-fit:cover;object-fit:cover;width:50px}.testimonial-card__name{color:var(--color-heading);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-xs)}.testimonial-card__location{color:var(--color-text-light);font-size:var(--font-size-sm)}.testimonial-card__rating{display:flex;gap:var(--space-xs);margin-top:var(--space-sm)}.testimonial-card__star{color:var(--color-warning);font-size:var(--font-size-sm)}.newsletter-card{border-left:4px solid var(--color-accent)}.newsletter-card__date{color:var(--color-text-light);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--space-sm)}.newsletter-card__title{color:var(--color-heading);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin-bottom:var(--space-sm)}.newsletter-card__excerpt{color:var(--color-text);display:-webkit-box;line-height:var(--line-height-relaxed);margin-bottom:var(--space-md);-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.newsletter-card__tags{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-md)}.newsletter-card__tag{background:var(--color-accent-light);border-radius:var(--radius-full);color:var(--color-primary-dark);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:var(--space-xs) var(--space-sm);text-decoration:none}.newsletter-card__tag:hover{background:var(--color-accent)}.pricing-card{position:relative;text-align:center}.pricing-card--featured{border:2px solid var(--color-primary);transform:scale(1.05);z-index:1}.pricing-card__label{background:var(--color-primary);border-radius:var(--radius-full);color:var(--color-text-inverse);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);left:50%;padding:var(--space-xs) var(--space-md);position:absolute;top:calc(var(--space-sm)*-1);transform:translate(-50%)}.pricing-card__price{margin-bottom:var(--space-md)}.pricing-card__amount{color:var(--color-primary);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:1}.pricing-card__period{color:var(--color-text-light);font-size:var(--font-size-base);font-weight:var(--font-weight-normal)}.pricing-card__features{list-style:none;margin:var(--space-lg) 0;padding:0}.pricing-card__feature{align-items:center;display:flex;font-size:var(--font-size-base);gap:var(--space-sm);justify-content:center;margin-bottom:var(--space-md)}.pricing-card__feature:before{color:var(--color-success);content:"✓";font-weight:var(--font-weight-bold)}.pricing-card__feature--unavailable{color:var(--color-text-light);text-decoration:line-through}.pricing-card__feature--unavailable:before{color:var(--color-error);content:"✗"}.card__actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.card__actions--stacked{flex-direction:column}.card__actions--centered{justify-content:center}.card__actions--end{justify-content:flex-end}.card__actions--between{justify-content:space-between}@media (max-width:480px){.card{padding:var(--space-md)}.card--spacious{padding:var(--space-lg)}.staff-card__image{height:150px;width:150px}.testimonial-card{padding:var(--space-lg)}.testimonial-card:before{font-size:3rem}.pricing-card--featured{transform:none}}@media (prefers-contrast:high){.card{border:1px solid var(--color-border)}.card__badge,.pricing-card__label,.service-card__badge{border:1px solid var(--color-border-dark)}}@media (prefers-reduced-motion:reduce){.card,.card__overlay,.staff-card__image{transition:none}.card:focus-visible,.card:hover{transform:none}.staff-card:hover .staff-card__image{transform:none}}.card:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.card--loading{overflow:hidden;position:relative}.card--loading:before{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.4),transparent);content:"";inset:0;position:absolute}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.card--empty{color:var(--color-text-light);padding:var(--space-xl);text-align:center}.card--empty:before{content:"📄";display:block;font-size:3rem;margin-bottom:var(--space-md);opacity:.5}
