  .tt-button,
  .tt-link-action,
  .tt-event-row__button {
    align-items: center;
    border-radius: var(--tt-radius-pill);
    display: inline-flex;
    font-family: var(--tt-font-accent);
    font-weight: 700;
    justify-content: center;
    min-height: var(--tt-size-target);
    text-decoration: none;
  }

  [data-tt-landing] :where(
    .tt-button,
    .tt-link-action,
    .tt-event-row,
    .tt-event-row__button,
    .tt-primary-event,
    .tt-primary-event__button,
    .tt-hero-school-row__button,
    .tt-site-footer__link-button
  ),
  [data-tt-landing] :where(
    .tt-button,
    .tt-link-action,
    .tt-event-row,
    .tt-event-row__button,
    .tt-primary-event,
    .tt-primary-event__button,
    .tt-hero-school-row__button,
    .tt-site-footer__link-button
  ):hover,
  [data-tt-landing] :where(
    .tt-button,
    .tt-link-action,
    .tt-event-row,
    .tt-event-row__button,
    .tt-primary-event,
    .tt-primary-event__button,
    .tt-hero-school-row__button,
    .tt-site-footer__link-button
  ):focus {
    text-decoration: none !important;
  }

  .tt-button,
  .tt-event-row__button {
    background: var(--tt-color-action);
    border: 0;
    color: var(--tt-color-action-text);
    padding: var(--tt-space-3) var(--tt-space-5);
    box-shadow: inset 0 -2px 0 color-mix(in srgb, var(--tt-color-charcoal) 18%, transparent);
  }

  .tt-button:hover,
  .tt-event-row__button:hover {
    background: var(--tt-color-action-hover);
    color: var(--tt-color-action-text);
  }

  .tt-button--small {
    min-height: var(--tt-size-target);
    padding: var(--tt-space-2) var(--tt-space-4);
  }

  .tt-button--secondary,
  .tt-link-action {
    background: var(--tt-color-surface);
    border: 1px solid var(--tt-color-border);
    color: var(--tt-color-link);
    box-shadow: none;
    padding-inline: var(--tt-space-5);
    white-space: nowrap;
  }

  .tt-button--secondary:hover,
  .tt-link-action:hover {
    background: var(--tt-color-surface-tint);
    color: var(--tt-color-link);
  }

  [data-tt-landing] :where(a, button, summary):focus-visible {
    outline-color: var(--tt-color-focus) !important;
    outline-style: solid !important;
    outline-width: 3px !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 3px var(--tt-color-focus) !important;
  }

  [data-tt-landing] :where(a, button, summary):focus:not(:focus-visible) {
    outline: none !important;
  }

  .tt-kicker {
    color: var(--tt-color-muted);
    font-family: var(--tt-font-accent);
    font-size: var(--tt-step--1);
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
  }

  .tt-badge {
    background: color-mix(in srgb, var(--tt-color-black) 32%, transparent);
    border-radius: var(--tt-radius-pill);
    color: var(--tt-color-white);
    display: inline-flex;
    font-family: var(--tt-font-accent);
    font-size: var(--tt-step--1);
    font-weight: 700;
    padding: var(--tt-space-2) var(--tt-space-4);
  }

  .tt-status {
    color: var(--tt-color-muted);
    padding: var(--tt-space-4);
  }

  .tt-product {
    background: var(--tt-color-surface);
    border-radius: var(--tt-radius-3);
    display: grid;
    gap: var(--tt-space-3);
    padding: var(--tt-space-3);
  }

  .tt-product--primary {
    grid-template-columns: 1fr;
  }

  .tt-product--secondary {
    align-items: center;
    gap: var(--tt-space-2);
    grid-template-columns: 60px minmax(0, 1fr);
    min-height: 88px;
    padding: var(--tt-space-3);
  }

  .tt-product__identity {
    align-content: start;
    display: grid;
    gap: var(--tt-space-3);
    justify-items: center;
    text-align: center;
  }

  .tt-product--primary .tt-product__identity img {
    width: 68px;
  }

  .tt-product--primary .tt-product__identity {
    align-items: center;
    column-gap: var(--tt-space-3);
    grid-template-columns: 68px minmax(0, 1fr);
    justify-items: start;
    text-align: left;
  }

  .tt-product--primary .tt-product__facts {
    grid-column: 2;
    justify-content: start;
  }

  .tt-product--secondary .tt-product__identity img {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 60px;
  }

  .tt-product--secondary .tt-product__identity {
    align-items: center;
    display: contents;
    text-align: left;
  }

  .tt-product--secondary .tt-product__identity p {
    grid-column: 2;
    grid-row: 1;
    max-width: 168px;
  }

  .tt-product--secondary .tt-product__facts {
    align-content: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--tt-space-1);
    grid-column: 2;
    grid-row: 2;
    justify-content: start;
  }

  .tt-product__identity p {
    color: var(--tt-color-text);
    font-size: var(--tt-step--1);
    font-weight: 700;
    line-height: 1.35;
    max-width: 352px;
  }

  .tt-product__facts {
    justify-content: center;
    gap: var(--tt-space-2);
  }

  .tt-product__facts span {
    background: var(--tt-color-surface-tint);
    border-radius: var(--tt-radius-pill);
    color: var(--tt-color-text);
    font-family: var(--tt-font-accent);
    font-size: var(--tt-step--1);
    font-weight: 700;
    padding: var(--tt-space-1) var(--tt-space-3);
  }

  .tt-event-groups {
    display: grid;
    gap: var(--tt-space-2);
  }

  .tt-event-day {
    background: var(--tt-color-surface-tint);
    border-radius: var(--tt-radius-2);
    display: grid;
    gap: var(--tt-space-2);
    grid-template-columns: 76px minmax(0, 1fr);
    padding: var(--tt-space-2);
    width: 100%;
  }

  .tt-event-day__title {
    align-self: center;
    color: var(--tt-color-muted);
    font-family: var(--tt-font-accent);
    font-size: var(--tt-step--1);
    font-weight: 700;
    line-height: 1.15;
  }

  .tt-event-day__slots {
    display: grid;
    gap: var(--tt-space-2);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tt-event-groups--compact .tt-event-day__slots {
    grid-template-columns: 1fr;
  }

  .tt-event-groups--compact {
    align-self: center;
    grid-column: 1 / -1;
    grid-row: 3;
    width: 100%;
  }

  .tt-event-groups--compact .tt-event-day {
    align-items: center;
    grid-template-columns: minmax(68px, 0.7fr) minmax(0, 1fr);
    padding: var(--tt-space-1);
  }

  .tt-event-groups--compact .tt-event-day__title {
    padding-inline: var(--tt-space-2);
  }

  .tt-event-groups--compact .tt-event-row {
    box-shadow: none;
    min-height: 52px;
  }

  .tt-secondary-more {
    align-items: center;
    color: var(--tt-color-link);
    display: inline-flex;
    font-family: var(--tt-font-accent);
    font-size: var(--tt-step--1);
    font-weight: 700;
    grid-column: 1 / -1;
    grid-row: 4;
    justify-self: center;
    min-height: var(--tt-size-target);
    padding-inline: var(--tt-space-2);
    text-decoration: none;
    white-space: nowrap;
  }

  .tt-event-row {
    align-items: center;
    background: var(--tt-color-surface);
    border-radius: var(--tt-radius-2);
    box-shadow: var(--tt-shadow-1);
    color: var(--tt-color-text);
    display: grid;
    gap: var(--tt-space-3);
    grid-template-columns: minmax(64px, 1fr) auto;
    min-height: 52px;
    padding: var(--tt-space-2);
    position: relative;
    text-decoration: none;
  }

  .tt-event-row:hover {
    color: var(--tt-color-text);
    transform: translateY(-1px);
  }

  .tt-event-row__time {
    color: var(--tt-color-heading);
    font-family: var(--tt-font-accent);
    font-size: var(--tt-step-1);
    font-weight: 700;
    line-height: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .tt-event-row__button {
    min-height: 36px;
    min-width: 76px;
    padding: var(--tt-space-2) var(--tt-space-3);
    white-space: nowrap;
  }

  .tt-event-groups--compact .tt-event-row {
    gap: var(--tt-space-2);
    grid-template-columns: minmax(60px, 1fr) auto;
  }

  .tt-event-groups--compact .tt-event-row__time {
    display: inline;
  }

  .tt-event-groups--compact .tt-event-row__button {
    min-width: 72px;
  }

  .tt-testimonial,
  .tt-faq-card {
    background: var(--tt-color-surface);
    border: 1px solid var(--tt-color-border);
    border-radius: var(--tt-radius-2);
    padding: var(--tt-space-5);
  }

  .tt-testimonial {
    display: grid;
    gap: var(--tt-space-4);
    position: relative;
  }

  .tt-testimonial blockquote {
    color: var(--tt-color-text);
    font-size: var(--tt-step-1);
    font-weight: 700;
    position: relative;
    z-index: 1;
  }

  .tt-testimonial figcaption {
    color: var(--tt-color-muted);
    font-family: var(--tt-font-accent);
    font-weight: 700;
  }

  .tt-testimonial--compact {
    align-content: start;
    background: transparent;
    border: 0;
    border-radius: 0;
    gap: var(--tt-space-2);
    padding: var(--tt-space-4);
  }

  .tt-testimonial--compact:not(:first-child) {
    border-inline-start: 1px solid var(--tt-color-border);
  }

  .tt-testimonial--compact blockquote {
    font-size: var(--tt-step-0);
    line-height: 1.35;
  }

  .tt-testimonial--compact figcaption {
    color: var(--tt-color-heading);
    font-size: var(--tt-step--1);
  }

  .tt-faq-card {
    display: grid;
    gap: var(--tt-space-3);
  }

  .tt-faq-card p {
    color: var(--tt-color-muted);
  }

  .tt-faq-card a {
    align-items: center;
    display: inline-flex;
    min-height: var(--tt-size-target);
    width: fit-content;
  }

  [data-tt-landing] .tt-button,
  [data-tt-landing] .tt-link-action,
  [data-tt-landing] .tt-event-row,
  [data-tt-landing] .tt-event-row__button {
    color: var(--tt-color-action-text);
  }

  [data-tt-landing] .tt-button--secondary,
  [data-tt-landing] .tt-link-action,
  [data-tt-landing] .tt-secondary-more,
  [data-tt-landing] .tt-faq-card a {
    color: var(--tt-color-link);
  }

  [data-tt-landing] .tt-event-row,
  [data-tt-landing] .tt-event-row:hover {
    color: var(--tt-color-text);
  }

  [data-tt-landing] .tt-event-day__title {
    color: var(--tt-color-muted);
  }

  [data-tt-landing] .tt-button:focus-visible,
  [data-tt-landing] .tt-link-action:focus-visible,
  [data-tt-landing] .tt-event-row:focus-visible,
  [data-tt-landing] .tt-primary-event:focus-visible,
  [data-tt-landing] button:focus-visible {
    outline-color: var(--tt-color-focus) !important;
    outline-style: solid !important;
    outline-width: 3px !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 3px var(--tt-color-focus) !important;
  }

  [data-tt-landing] .tt-button,
  [data-tt-landing] .tt-link-action {
    position: relative;
  }

  [data-tt-landing] .tt-button:not(.tt-button--secondary) {
    background: color-mix(in srgb, var(--tt-color-action) 64%, var(--tt-color-black));
    box-shadow: inset 0 -2px 0 color-mix(in srgb, var(--tt-color-charcoal) 20%, transparent);
    color: var(--tt-color-white);
    font-size: 17px;
  }

  [data-tt-landing] .tt-button:not(.tt-button--secondary):hover {
    background: color-mix(in srgb, var(--tt-color-action) 58%, var(--tt-color-black));
    color: var(--tt-color-white);
  }

  [data-tt-landing] .tt-button:focus-visible::after,
  [data-tt-landing] .tt-link-action:focus-visible::after,
  [data-tt-landing] .tt-event-row:focus-visible::after,
  [data-tt-landing] .tt-primary-event:focus-visible::after {
    border: 3px solid var(--tt-color-focus);
    border-radius: inherit;
    content: "";
    inset: -5px;
    pointer-events: none;
    position: absolute;
    z-index: 2;
  }
