.button{justify-content:center;align-items:center;gap:var(--space-inline-gap);padding:var(--button-padding-y) var(--button-padding-x);font-family:var(--font-family-base);font-size:var(--button-font-size);font-weight:var(--button-font-weight);border-radius:var(--button-border-radius);border:var(--button-border-width) solid var(--button-primary-border);background:var(--button-primary-background);color:var(--button-primary-foreground);cursor:pointer;transition:background var(--button-duration) var(--easing-default), border-color var(--button-duration) var(--easing-default), color var(--button-duration) var(--easing-default);white-space:nowrap;-webkit-user-select:none;user-select:none;line-height:1;text-decoration:none;display:inline-flex}.button:hover{background:var(--button-primary-background-hover);border-color:var(--button-primary-background-hover)}.button:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.button:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.button--secondary{background:var(--button-secondary-background);color:var(--button-secondary-foreground);border-color:var(--button-secondary-border)}.button--secondary:hover{background:var(--button-secondary-background-hover);border-color:var(--button-secondary-border)}.button--ghost{background:var(--button-ghost-background);color:var(--button-ghost-foreground);border-color:var(--button-ghost-border)}.button--ghost:hover{background:var(--button-ghost-background-hover);border-color:#0000}.button__icon{flex-shrink:0;align-items:center;width:1em;height:1em;display:flex}
.card{background:var(--card-background);border:var(--card-border-width) solid var(--card-border);border-radius:var(--card-border-radius);flex-direction:column;display:flex;overflow:hidden}.card--ghost{background:var(--card-background-ghost);border-color:#0000}.card__media{flex-shrink:0;overflow:hidden}.card__media img{object-fit:cover;width:100%;height:auto;display:block}.card__header{padding:var(--card-padding) var(--card-padding) 0;gap:var(--card-gap);flex-direction:column;display:flex}.card__body{padding:var(--card-padding) var(--card-padding) 0;flex:1}.card__footer{padding:0 var(--card-padding) var(--card-padding);align-items:center;gap:var(--space-inline-gap);display:flex}.card__title{font-family:var(--font-family-heading);font-size:var(--card-title-size);font-weight:var(--card-title-weight);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-heading);color:var(--color-text-primary);margin:0}.card__description{font-size:var(--card-description-size);color:var(--card-description-color);line-height:var(--line-height-body);margin:0}
.hero{background:var(--hero-background);padding:var(--hero-padding-y) var(--hero-padding-x)}.hero__inner{max-width:var(--hero-max-width);gap:var(--hero-gap);flex-direction:column;display:flex}.hero--centered .hero__inner{text-align:center;align-items:center;margin:0 auto}.hero__eyebrow{font-family:var(--font-family-base);font-size:var(--hero-eyebrow-size);font-weight:var(--hero-eyebrow-weight);color:var(--hero-eyebrow-color);letter-spacing:var(--hero-eyebrow-spacing);text-transform:uppercase;margin:0}.hero__title{font-family:var(--font-family-heading);font-size:var(--font-size-h1-fluid);font-weight:var(--hero-title-weight);line-height:var(--line-height-display);letter-spacing:var(--letter-spacing-heading);color:var(--hero-title-color);margin:0}.hero__lead{font-family:var(--font-family-base);font-size:var(--hero-lead-size);color:var(--hero-lead-color);line-height:var(--line-height-body);max-width:var(--hero-lead-max-width);margin:0}.hero__actions{align-items:center;gap:var(--space-inline-gap);margin-top:var(--space-inline-gap);flex-wrap:wrap;display:flex}.hero--centered .hero__actions{justify-content:center}
.nav{height:var(--nav-height);padding:0 var(--nav-padding-x);background:var(--nav-background);border-bottom:1px solid var(--nav-border);justify-content:space-between;align-items:center;display:flex}.nav__logo{font-family:var(--font-family-heading);font-size:var(--nav-logo-size);font-weight:var(--nav-logo-weight);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-heading);text-decoration:none}.nav__logo:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:4px;border-radius:2px}.nav__links{align-items:center;gap:var(--space-component-gap);margin:0;padding:0;list-style:none;display:flex}.nav__link{font-family:var(--font-family-base);font-size:var(--nav-link-size);font-weight:var(--nav-link-weight);color:var(--nav-link-color);transition:color var(--duration-interaction) var(--easing-default);white-space:nowrap;text-decoration:none}.nav__link:hover{color:var(--nav-link-color-hover)}.nav__link--active{color:var(--nav-link-color-active)}.nav__link:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:4px;border-radius:2px}.nav__actions{align-items:center;gap:var(--space-inline-gap);display:flex}
.tag{padding:var(--tag-padding-y) var(--tag-padding-x);font-family:var(--font-family-base);font-size:var(--tag-font-size);font-weight:var(--tag-font-weight);border-radius:var(--tag-border-radius);border:var(--tag-border-width) solid var(--tag-border);background:var(--tag-background);color:var(--tag-foreground);white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;line-height:1;display:inline-flex}.tag--accent{background:var(--tag-accent-background);color:var(--tag-accent-foreground);border-color:var(--tag-accent-border)}.tag--muted{background:var(--tag-muted-background);color:var(--tag-muted-foreground);border-color:var(--tag-muted-border)}
