*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  background: var(--hub-bg-color);
  color: var(--hub-text);
  font-family: var(--hub-font-body), "Avenir Next", "Segoe UI", sans-serif;
  overflow-x: hidden;
}

body {
  margin: 0;
  min-height: 100vh;
  background: var(--hub-bg-color);
  color: var(--hub-text);
  font-weight: var(--weight-body);
  overflow-x: hidden;
}

body.age-gate-locked {
  overflow: hidden;
}

img,
iframe,
video {
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

p,
h1,
h2,
h3 {
  margin: 0;
}

.public-page {
  position: relative;
  min-height: 100vh;
  background: var(--hub-bg-color);
  isolation: isolate;
}

.public-page::after,
.public-shell::before,
.public-shell::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
}

.public-bg-gradient.public-page {
  background: var(--hub-bg-gradient);
}

.public-bg-gradient.public-gradient-animated {
  background-size: 180% 180%;
  animation: public-gradient-shift 18s ease-in-out infinite alternate;
}

.public-shell::before {
  z-index: -3;
  background-image: var(--hub-bg-image);
  background-position: var(--hub-bg-image-position);
  background-repeat: no-repeat;
  background-size: var(--hub-bg-image-fit);
  filter: blur(var(--hub-bg-blur));
  transform: scale(1.04);
  opacity: 0;
}

.public-bg-image .public-shell::before {
  opacity: 1;
}

.public-bg-blur .public-shell::before {
  opacity: 1;
}

.public-page::after {
  z-index: -2;
  background: var(--hub-bg-overlay-color);
  opacity: var(--hub-bg-overlay-opacity);
}

.public-shell::after {
  z-index: -1;
  opacity: var(--hub-bg-pattern-opacity);
}

.public-pattern-grid .public-shell::after {
  background-image:
    linear-gradient(var(--hub-bg-pattern-color) 1px, transparent 1px),
    linear-gradient(90deg, var(--hub-bg-pattern-color) 1px, transparent 1px);
  background-size: var(--hub-bg-pattern-scale) var(--hub-bg-pattern-scale);
}

.public-pattern-dots .public-shell::after {
  background-image: radial-gradient(var(--hub-bg-pattern-color) 1px, transparent 1px);
  background-size: calc(var(--hub-bg-pattern-scale) * 0.75) calc(var(--hub-bg-pattern-scale) * 0.75);
}

.public-pattern-lines .public-shell::after {
  background-image: repeating-linear-gradient(135deg, var(--hub-bg-pattern-color) 0 1px, transparent 1px 14px);
  background-size: var(--hub-bg-pattern-scale) var(--hub-bg-pattern-scale);
}

.public-pattern-diagonal .public-shell::after {
  background-image: repeating-linear-gradient(135deg, var(--hub-bg-pattern-color) 0 1px, transparent 1px calc(var(--hub-bg-pattern-scale) / 1.2));
  background-size: var(--hub-bg-pattern-scale) var(--hub-bg-pattern-scale);
}

.public-pattern-organic .public-shell::after {
  background-image:
    radial-gradient(ellipse at 16% 20%, var(--hub-bg-pattern-color) 0 14%, transparent 15%),
    radial-gradient(ellipse at 34% 68%, var(--hub-bg-pattern-color) 0 12%, transparent 13%),
    radial-gradient(ellipse at 58% 24%, var(--hub-bg-pattern-color) 0 13%, transparent 14%),
    radial-gradient(ellipse at 76% 62%, var(--hub-bg-pattern-color) 0 15%, transparent 16%);
  background-size: calc(var(--hub-bg-pattern-scale) * 4.4) calc(var(--hub-bg-pattern-scale) * 4.4);
}

.public-pattern-morph .public-shell::after {
  background-image:
    radial-gradient(circle at 14% 18%, var(--hub-bg-pattern-color) 0 18%, transparent 19%),
    radial-gradient(circle at 42% 78%, var(--hub-bg-pattern-color) 0 16%, transparent 17%),
    radial-gradient(circle at 74% 26%, var(--hub-bg-pattern-color) 0 17%, transparent 18%);
  background-size: calc(var(--hub-bg-pattern-scale) * 4.2) calc(var(--hub-bg-pattern-scale) * 4.2);
}

.public-pattern-soft_texture .public-shell::after {
  background-image: radial-gradient(circle at 20% 20%, var(--hub-bg-pattern-color), transparent 30%);
  background-size: calc(var(--hub-bg-pattern-scale) * 1.2) calc(var(--hub-bg-pattern-scale) * 1.2);
}

.public-shell {
  position: relative;
  width: min(100%, calc(var(--hub-shell-width) + 3rem));
  margin: 0 auto;
  padding:
    max(1.1rem, env(safe-area-inset-top))
    max(0.85rem, calc(0.85rem + env(safe-area-inset-right)))
    max(2.1rem, calc(1.6rem + env(safe-area-inset-bottom)))
    max(0.85rem, calc(0.85rem + env(safe-area-inset-left)));
}

.public-shell__inner {
  display: grid;
  gap: clamp(1.05rem, 2.6vw, 1.45rem);
  width: min(100%, var(--hub-shell-width));
  margin: 0 auto;
}

.public-page-card {
  --public-page-card-padding: clamp(1.05rem, 2.6vw, 1.7rem);
  display: grid;
  gap: 1.1rem;
  min-width: 0;
  padding: var(--public-page-card-padding);
  border-radius: calc(var(--hub-card-radius) + 18px);
  overflow: hidden;
  background:
    linear-gradient(180deg, color-mix(in srgb, #fff, transparent 95%), transparent),
    color-mix(in srgb, var(--hub-surface), transparent calc((1 - var(--card-opacity)) * 100%));
  border: 1px solid color-mix(in srgb, var(--hub-card-border), transparent 18%);
  box-shadow: var(--hub-card-shadow);
}

.public-page-card--sticky-nav {
  overflow: visible;
}

.public-page-card__content--sticky-nav {
  padding-top: var(--public-page-nav-sticky-space, 0px);
}

.public-page-card__content {
  display: grid;
  gap: clamp(1.1rem, 2.8vw, 1.5rem);
  min-width: 0;
}

.public-page-card__flow {
  display: grid;
  gap: inherit;
  min-width: 0;
  transform: translate3d(0, calc(var(--public-page-foreground-parallax, 0px) * -1.35), 0);
  will-change: transform;
}

.clip-modal-open .public-page-card__flow {
  transform: none;
  will-change: auto;
}

.public-page-nav-shell {
  min-width: 0;
  transform: translate3d(0, calc(var(--public-page-foreground-parallax, 0px) * -1.35), 0);
  will-change: transform;
}

.public-page-nav-shell--sticky {
  position: sticky;
  top: calc(env(safe-area-inset-top) + 0.9rem);
  z-index: 6;
  align-self: start;
  transform: none;
  will-change: auto;
}

.public-page-nav-shell--sticky.public-page-nav-shell--pinned {
  position: fixed;
  left: 50%;
  width: min(100%, var(--hub-shell-width));
  transform: translate3d(-50%, 0, 0);
}

.public-page-card--hero {
  padding: var(--public-page-card-padding);
}

.public-page-card--hero > .hero-shell {
  margin:
    calc(var(--public-page-card-padding) * -1)
    calc(var(--public-page-card-padding) * -1)
    0;
  gap: 1rem;
  overflow: hidden;
  border-radius: calc(var(--hub-card-radius) + 18px);
}

.public-page-card--hero > .hero-shell > :not(.profile-hero):not(.profile-header--hero) {
  margin-inline: var(--public-page-card-padding);
}

.public-page-card--hero > .public-page-card__content {
  padding-top: 1rem;
}

.public-app.is-age-gated {
  filter: blur(10px) saturate(0.82);
  pointer-events: none;
  user-select: none;
}

.age-gate-overlay {
  position: fixed;
  inset: 0;
  z-index: 40;
  display: grid;
  place-items: center;
  padding:
    max(1rem, env(safe-area-inset-top))
    max(1rem, env(safe-area-inset-right))
    max(1rem, env(safe-area-inset-bottom))
    max(1rem, env(safe-area-inset-left));
  background:
    radial-gradient(circle at top, rgba(199, 122, 255, 0.22), transparent 42%),
    rgba(10, 8, 13, 0.88);
  backdrop-filter: blur(18px);
}

.age-gate-card {
  width: min(100%, 32rem);
  display: grid;
  gap: 1rem;
  padding: clamp(1.15rem, 3.5vw, 1.6rem);
  border-radius: calc(var(--hub-card-radius) + 10px);
  background:
    linear-gradient(180deg, color-mix(in srgb, #fff, transparent 92%), transparent),
    color-mix(in srgb, var(--hub-surface), #000 12%);
  border: 1px solid color-mix(in srgb, var(--hub-block-border), #fff 10%);
  box-shadow: 0 30px 72px rgba(0, 0, 0, 0.45);
  text-align: center;
}

.age-gate-card__eyebrow {
  margin: 0;
  font-size: 0.74rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--hub-accent);
}

.age-gate-card__title {
  margin: 0;
  font-family: var(--hub-font-heading), "Avenir Next", "Segoe UI", sans-serif;
  font-size: clamp(1.7rem, 5vw, 2.2rem);
  line-height: 1.05;
  color: var(--hub-title);
}

.age-gate-card__body {
  margin: 0;
  color: var(--hub-muted);
  line-height: 1.7;
}

.age-gate-card__actions {
  display: grid;
  gap: 0.75rem;
  margin-top: 0.25rem;
}

.age-gate-card__accept,
.age-gate-card__decline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: 0.9rem 1.1rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font: inherit;
  font-weight: var(--weight-button);
  cursor: pointer;
}

.age-gate-card__accept {
  background: linear-gradient(135deg, var(--hub-accent), var(--hub-accent-2));
  color: #fff;
}

.age-gate-card__decline {
  background: color-mix(in srgb, var(--hub-surface-soft), transparent 12%);
  border-color: color-mix(in srgb, var(--hub-block-border), #fff 8%);
  color: var(--hub-text);
}

.hero-shell,
.stack-list,
.public-footer {
  min-width: 0;
}

.stack-list {
  display: grid;
  gap: clamp(0.95rem, 2.8vw, 1.3rem);
}

.stack-list--collection {
  gap: 0.7rem;
}

.hub-profile-card,
.tab-bar,
.profile-hero,
.product-detail-card {
  background: color-mix(in srgb, var(--hub-surface), transparent calc((1 - var(--card-opacity)) * 100%));
  border: 1px solid color-mix(in srgb, var(--hub-card-border), transparent 18%);
  box-shadow: var(--hub-card-shadow);
}

.hub-block--button,
.hub-profile-card,
.tab-bar,
.section-heading-block,
.product-card,
.hub-block__surface--unknown,
.hub-block__surface--collection {
  background:
    linear-gradient(180deg, color-mix(in srgb, #fff, transparent 95%), transparent),
    color-mix(in srgb, var(--hub-block-bg), var(--hub-surface) 30%);
  border: 1px solid color-mix(in srgb, var(--hub-block-border), transparent 8%);
  box-shadow: var(--hub-block-shadow);
  transition: transform 0.16s ease, background-color 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, filter 0.16s ease;
}

.header-image-card,
.hub-profile-card,
.profile-hero,
.tab-bar,
.section-heading-block,
.product-card,
.product-detail-card,
.hub-block__surface--unknown,
.hub-block__surface--collection {
  border-radius: calc(var(--hub-card-radius) + 8px);
}

.header-image-card {
  overflow: hidden;
}

.header-image {
  display: block;
  width: 100%;
  aspect-ratio: 1.9 / 1;
  object-fit: cover;
}

.profile-header {
  position: relative;
  display: grid;
  gap: 0.9rem;
}

.profile-header--hero {
  gap: 0;
}

.profile-hero {
  position: relative;
  display: block;
  min-height: clamp(380px, 66vw, 520px);
  overflow: hidden;
  border-radius: calc(var(--hub-card-radius) + 12px);
  background: linear-gradient(180deg, color-mix(in srgb, var(--hub-surface), #000 28%), var(--hub-surface));
}

.public-page-card--hero .profile-hero {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.profile-hero--empty {
  background: linear-gradient(180deg, color-mix(in srgb, var(--hub-surface), #000 18%), var(--hub-bg-color));
}

.profile-hero__image,
.profile-hero__overlay {
  position: absolute;
  inset: 0;
}

.profile-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center calc(18% + var(--profile-hero-background-parallax, 0px));
  will-change: object-position;
  transform: translateZ(0);
}

.profile-hero__overlay {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.03) 0%, rgba(0, 0, 0, 0.14) 38%, color-mix(in srgb, var(--hub-surface), transparent 12%) 100%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, transparent 28%);
}

.profile-hero__content {
  position: absolute;
  inset: auto 0 0 0;
  z-index: 1;
  display: grid;
  place-content: end center;
  gap: 0.7rem;
  min-height: 100%;
  padding: clamp(1rem, 3vw, 1.5rem);
  padding-top: clamp(8.5rem, 28vw, 14rem);
  padding-bottom: clamp(1.25rem, 3.5vw, 1.85rem);
  text-align: center;
  transform: translate3d(0, var(--profile-hero-background-parallax, 0px), 0);
  will-change: transform;
}

.profile-header--hero .profile-copy {
  gap: 0.4rem;
  width: min(100%, 26rem);
  margin-inline: auto;
}

.profile-header--hero .profile-bio {
  max-width: 26ch;
}

.profile-header--hero .profile-copy h1,
.profile-header--hero .profile-handle,
.profile-header--hero .profile-bio,
.profile-header--hero .profile-location,
.profile-header--hero .badge,
.profile-header--hero .social-pill-label {
  color: #fff;
}

.profile-header--hero .badge {
  background: rgba(255, 255, 255, 0.11);
  backdrop-filter: blur(10px);
}

.profile-header--hero .badge.badge-adult {
  background: linear-gradient(180deg, rgba(255, 107, 107, 0.94), rgba(205, 35, 35, 0.92));
  border-color: rgba(255, 174, 174, 0.28);
  color: #fff;
  backdrop-filter: none;
}

.profile-header--hero .badge.badge-adult.badge-adult--icon {
  background: transparent;
  border-color: transparent;
  backdrop-filter: none;
}

.profile-header--hero .social-mark {
  background: transparent;
}

.social-mark-icon[src*="simpleicons.org"] {
  filter: brightness(0) invert(1);
}

.profile-header--fullscreen .profile-hero {
  min-height: clamp(420px, 78vw, 620px);
}

.hub-profile-card {
  padding: clamp(1rem, 2vw, 1.25rem);
  display: grid;
  gap: 0.95rem;
  text-align: center;
  border-radius: calc(var(--hub-card-radius) + 14px);
}

.public-page-card--classic .hub-profile-card {
  padding: clamp(1.75rem, 4vw, 2.5rem);
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

.profile-avatar-shell {
  display: flex;
  justify-content: center;
  overflow: visible;
  border-radius: 0;
}

.avatar-image,
.avatar-fallback {
  width: var(--hub-profile-image-size);
  height: var(--hub-profile-image-size);
  display: flex;
  align-items: center;
  justify-content: center;
  object-fit: cover;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.04));
  border: 1px solid color-mix(in srgb, var(--hub-card-border), #fff 14%);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.25);
  font-size: 1.75rem;
  font-weight: 700;
}

.avatar-image {
  border-radius: 0;
}

.avatar-fallback {
  border-radius: 999px;
}

.profile-header__preview {
  position: relative;
  display: none;
}

.profile-header__preview.is-active {
  display: block;
}

.profile-copy {
  display: grid;
  gap: 0.45rem;
}

.profile-copy h1,
.product-detail-copy h1,
.hub-block__title,
.link-card h2,
.product-card h2 {
  font-family: var(--hub-font-heading), "Avenir Next", "Segoe UI", sans-serif;
  color: var(--hub-title);
}

.profile-copy h1 {
  font-size: clamp(
    calc(var(--size-heading) * 0.82),
    calc(var(--size-heading) * 0.62 + 1.1vw),
    var(--size-heading)
  );
  line-height: 1;
  letter-spacing: -0.03em;
}

.logo-image {
  display: block;
  max-width: min(100%, 220px);
  margin: 0 auto;
}

.profile-handle {
  color: color-mix(in srgb, var(--hub-muted), #fff 12%);
  font-size: 0.92rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.profile-bio,
.profile-location,
.hub-block__description,
.text-block-body p,
.product-detail-copy p {
  color: var(--hub-muted);
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.profile-bio {
  max-width: 34ch;
  margin: 0 auto;
  font-size: var(--size-bio);
}

.profile-location {
  font-size: 0.95rem;
}

.social-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.badge-row {
  --badge-row-inset: clamp(1rem, 2.8vw, 1.4rem);
  position: absolute;
  top: var(--badge-row-inset);
  left: var(--badge-row-inset);
  right: var(--badge-row-inset);
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  gap: 0.75rem;
  pointer-events: none;
}

.badge-row__slot {
  display: flex;
  min-width: 0;
}

.badge-row__slot--left {
  justify-content: flex-start;
}

.badge-row__slot--right {
  justify-content: flex-end;
}

.badge,
.card-badge,
.section-heading-label,
.price-label,
.product-type-label,
.hub-block__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.74rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.badge,
.card-badge,
.section-heading-label {
  color: var(--hub-text);
}

.badge {
  min-height: 1.9rem;
  padding: 0 0.75rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--hub-surface-soft), transparent 18%);
  border: 1px solid color-mix(in srgb, var(--hub-block-border), transparent 20%);
  max-width: 100%;
  white-space: nowrap;
}

.badge-adult {
  justify-content: center;
  min-width: 2.35rem;
  min-height: 2.35rem;
  padding: 0;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255, 107, 107, 0.94), rgba(205, 35, 35, 0.92));
  border-color: rgba(255, 174, 174, 0.28);
  color: #fff;
  font-size: 0.68rem;
  line-height: 1;
}

.badge-adult--icon {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.badge-adult__icon {
  display: block;
  width: 2.35rem;
  height: 2.35rem;
  object-fit: contain;
}

.featured-cta,
.link-cta,
.action-link,
.product-action,
.product-secondary-action,
.social-pill {
  transition: transform 0.16s ease, background-color 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, filter 0.16s ease;
}

.featured-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--button-height);
  width: 100%;
  padding: 0.95rem 1.1rem;
  border-radius: var(--hub-block-radius);
  background: linear-gradient(135deg, var(--hub-accent), var(--hub-accent-2));
  color: #fff;
  border: 1px solid color-mix(in srgb, var(--hub-accent), #fff 12%);
  box-shadow: var(--hub-block-shadow);
  font-family: var(--hub-font-button), "Avenir Next", "Segoe UI", sans-serif;
  font-weight: var(--weight-button);
}

@media (max-width: 560px) {
  .badge-row {
    --badge-row-inset: 0.9rem;
    gap: 0.5rem;
  }

  .badge {
    font-size: 0.68rem;
    padding-inline: 0.65rem;
  }
}

.social-row {
  gap: 0.55rem;
}

.social-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 2.8rem;
  padding: 0 0.95rem;
  border-radius: 999px;
  border: 0;
  background: color-mix(in srgb, var(--hub-surface-soft), transparent 18%);
  box-shadow: none;
}

.social-mark {
  display: inline-flex;
  width: 1.55rem;
  height: 1.55rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
}

.social-mark-icon {
  display: block;
  width: 0.9rem;
  height: 0.9rem;
}

.social-pill-label {
  font-size: 0.9rem;
  color: var(--hub-muted);
}

.social-row-minimal .social-pill {
  width: 1.55rem;
  min-height: 1.55rem;
  padding: 0;
  gap: 0;
  background: transparent;
}

.social-row-minimal .social-mark {
  border-radius: 0;
  background: transparent;
}

.social-row-minimal .social-pill-label,
.social-row-circle .social-pill-label {
  display: none;
}

.social-row-circle .social-pill {
  width: 2.8rem;
  padding: 0;
  gap: 0;
}

.social-row-outline .social-pill {
  background: transparent;
  border: 1px solid color-mix(in srgb, var(--hub-block-border), transparent 20%);
}

.social-row-filled .social-pill {
  background: color-mix(in srgb, var(--hub-block-bg), transparent 6%);
}

.tab-bar {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  gap: 0.45rem;
  padding: 0.5rem;
  border-radius: calc(var(--hub-card-radius) + 14px);
  overflow: hidden;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.tab-bar::-webkit-scrollbar {
  display: none;
}

.tab-bar-indicator {
  position: absolute;
  inset: 0 auto auto 0;
  z-index: 0;
  min-width: 0;
  border-radius: 999px;
  background:
    linear-gradient(180deg, color-mix(in srgb, #fff, transparent 92%), transparent),
    color-mix(in srgb, var(--hub-block-bg), var(--hub-surface) 16%);
  border: 1px solid var(--hub-block-border);
  box-shadow: var(--hub-block-shadow);
  opacity: 0;
  transform: translate3d(0, 0, 0);
}

.tab-bar.has-indicator .tab-bar-indicator {
  opacity: 1;
}

.tab-link {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  min-width: 0;
  min-height: 2.85rem;
  padding: 0.62rem 0.95rem;
  border-radius: 999px;
  color: var(--hub-muted);
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
  background: transparent;
  border: 1px solid transparent;
}

.tab-link.is-active {
  color: var(--hub-button-text);
  background: transparent;
  border-color: transparent;
}

.public-page-nav--segmented_control {
  gap: 0.4rem;
  padding: 0.55rem;
  background:
    linear-gradient(180deg, color-mix(in srgb, #fff, transparent 96%), transparent),
    color-mix(in srgb, var(--hub-surface-soft), transparent 14%);
  border: 1px solid color-mix(in srgb, var(--hub-block-border), transparent 18%);
  box-shadow: var(--hub-block-shadow);
}

.public-page-nav--segmented_control .tab-link {
  flex: 0 0 auto;
  min-width: max-content;
  white-space: nowrap;
  text-wrap: nowrap;
}

.public-page-nav--tabs {
  gap: 0.3rem;
  padding: 0.45rem 0.45rem 0;
  background:
    linear-gradient(180deg, color-mix(in srgb, #fff, transparent 96%), transparent),
    color-mix(in srgb, var(--hub-surface-soft), transparent 18%);
  border: 1px solid color-mix(in srgb, var(--hub-block-border), transparent 22%);
  border-bottom: 0;
  border-radius: calc(var(--hub-card-radius) + 12px) calc(var(--hub-card-radius) + 12px) 1rem 1rem;
  box-shadow: var(--hub-block-shadow);
}

.public-page-nav--tabs .tab-bar-indicator {
  display: none;
}

.public-page-nav--tabs .tab-link {
  min-height: 3rem;
  padding-inline: 1rem;
  border-radius: 0.9rem 0.9rem 0 0;
  color: color-mix(in srgb, var(--hub-muted), transparent 5%);
  min-width: max-content;
}

.public-page-nav--tabs .tab-link.is-active {
  color: var(--hub-title);
  background:
    linear-gradient(180deg, color-mix(in srgb, #fff, transparent 90%), transparent),
    color-mix(in srgb, var(--hub-surface), transparent 4%);
  border-color: color-mix(in srgb, var(--hub-block-border), transparent 18%);
  box-shadow:
    0 -1px 0 color-mix(in srgb, var(--hub-block-border), transparent 30%) inset,
    0 0.4rem 0.85rem color-mix(in srgb, #000, transparent 88%);
}

.public-page-nav--pills {
  gap: 0.3rem;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
}

.public-page-nav--pills .tab-bar-indicator {
  display: none;
}

.public-page-nav--pills .tab-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  min-height: 2.65rem;
  padding-inline: 1.05rem;
  border-radius: 999px;
  background:
    linear-gradient(180deg, color-mix(in srgb, #fff, transparent 94%), transparent),
    color-mix(in srgb, var(--hub-surface-soft), transparent 8%);
  border-color: color-mix(in srgb, var(--hub-block-border), transparent 20%);
  box-shadow: 0 0.35rem 0.75rem color-mix(in srgb, #000, transparent 92%);
}

.public-page-nav--pills .tab-link.is-active {
  background: linear-gradient(135deg, color-mix(in srgb, var(--hub-accent) 92%, white 8%), color-mix(in srgb, var(--hub-accent-2) 96%, black 4%));
  box-shadow: 0 0.5rem 1rem color-mix(in srgb, var(--hub-accent-2), transparent 80%);
}

.public-page-nav__separator {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 0.9rem;
  color: color-mix(in srgb, var(--hub-muted), transparent 30%);
  font-size: 0.95rem;
  line-height: 1;
}

.public-page-nav--links {
  gap: 0.35rem 0.8rem;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
}

.public-page-nav--links .tab-bar-indicator {
  display: none;
}

.public-page-nav--links .tab-link {
  min-height: auto;
  padding: 0.3rem 0;
  border-radius: 0;
  background: transparent;
  color: color-mix(in srgb, var(--hub-muted), transparent 8%);
  font-weight: 500;
  letter-spacing: 0.01em;
}

.public-page-nav--links .tab-link.is-active {
  color: var(--hub-title);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 0.12rem;
  text-underline-offset: 0.18rem;
}

.public-page-nav--underline {
  gap: 0.35rem 0.75rem;
  padding: 0 0 0.7rem;
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
  border-bottom: 1px solid color-mix(in srgb, var(--hub-block-border), transparent 42%);
}

.public-page-nav--underline .tab-bar-indicator {
  display: none;
}

.public-page-nav--underline .tab-link {
  min-height: auto;
  padding: 0.35rem 0.1rem 0.55rem;
  border-radius: 0;
  background: transparent;
  color: color-mix(in srgb, var(--hub-muted), transparent 10%);
  font-weight: 500;
}

.public-page-nav--underline .tab-link.is-active {
  color: var(--hub-title);
}

.public-page-nav--underline .tab-link.is-active::after {
  content: "";
  position: absolute;
  left: 0.08rem;
  right: 0.08rem;
  bottom: -0.15rem;
  height: 2.5px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--hub-accent), var(--hub-accent-2));
  box-shadow: 0 0.2rem 0.45rem color-mix(in srgb, var(--hub-accent), transparent 84%);
}

.hub-block {
  min-width: 0;
}

.faq-block,
.pricing-tiers-block,
.testimonials-block,
.image-block,
.feature-grid-block,
.steps-block,
.split-content-block,
.cta-banner-block,
.embed-block,
.embed-preview,
.stats-block {
  display: grid;
  gap: 1rem;
}

.split-content-block {
  overflow: hidden;
  padding: 0.5rem;
  border-radius: calc(var(--hub-card-radius) + 8px);
  background:
    linear-gradient(180deg, color-mix(in srgb, #fff, transparent 95%), transparent),
    color-mix(in srgb, var(--hub-block-bg), var(--hub-surface) 30%);
  border: 1px solid color-mix(in srgb, var(--hub-block-border), transparent 8%);
  box-shadow: var(--hub-block-shadow);
}

.faq-block__items,
.pricing-tiers-grid,
.testimonials-grid,
.feature-grid,
.stats-grid {
  display: grid;
  gap: 0.9rem;
}

.faq-item {
  padding: 0.95rem 1rem;
  border-radius: calc(var(--hub-card-radius) + 4px);
  background: color-mix(in srgb, var(--hub-surface-soft), transparent 14%);
  border: 1px solid color-mix(in srgb, var(--hub-block-border), transparent 16%);
}

.faq-item__question {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  cursor: pointer;
  font-weight: 700;
  list-style: none;
}

.faq-item__question::-webkit-details-marker {
  display: none;
}

.faq-item__question::after {
  content: "+";
  flex: 0 0 auto;
  color: color-mix(in srgb, var(--hub-accent), white 10%);
  font-size: 1.1rem;
  line-height: 1;
}

.faq-item[open] .faq-item__question::after {
  content: "−";
}

.faq-item__answer {
  margin-top: 0.75rem;
  color: var(--hub-muted);
  line-height: 1.7;
  white-space: pre-line;
}

.pricing-tiers-grid {
  grid-template-columns: var(--pricing-tier-grid-columns, repeat(auto-fit, minmax(12rem, 1fr)));
  gap: var(--pricing-tier-gap);
}

.pricing-tier-card--featured {
  border-color: color-mix(in srgb, var(--hub-accent), #fff 16%);
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--hub-accent), transparent 58%),
    0 18px 34px rgba(0, 0, 0, 0.28),
    var(--hub-block-shadow);
  transform: translateY(calc(-0.35rem * var(--pricing-tier-featured-scale)));
}

.pricing-tier-card,
.testimonial-card,
.feature-grid__item,
.step-card,
.stat-card,
.embed-preview__card {
  display: grid;
  gap: var(--pricing-tier-gap);
  padding: var(--pricing-tier-padding);
  border-radius: calc(var(--hub-card-radius) + 6px);
  background: color-mix(in srgb, var(--hub-surface-soft), transparent 14%);
  border: 1px solid color-mix(in srgb, var(--hub-block-border), transparent 16%);
}

.testimonial-card {
  gap: var(--testimonial-card-gap);
  padding: var(--testimonial-card-padding);
}

.stat-card {
  gap: var(--stat-card-gap);
  padding: var(--stat-card-padding);
}

.embed-preview__card {
  gap: 0.85rem;
  padding: var(--pricing-tier-padding);
}

.pricing-tier-card__topline {
  display: flex;
  justify-content: space-between;
  gap: 0.65rem;
  align-items: baseline;
}

.pricing-tier-card__price,
.stat-card__number {
  font-family: var(--hub-font-heading), "Avenir Next", "Segoe UI", sans-serif;
  font-size: clamp(1.6rem, 4vw, 2rem);
  line-height: 1;
  color: var(--hub-title);
}

.pricing-tier-card__features,
.steps-list {
  margin: 0;
  padding-left: 1.1rem;
  color: var(--hub-muted);
}

.pricing-tier-card__features {
  display: grid;
  gap: 0.35rem;
}

.pricing-tier-card__cta,
.split-content-cta,
.cta-banner-block__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.9rem;
  padding: 0.78rem 1rem;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--hub-accent), var(--hub-accent-2));
  color: #fff;
  font-weight: 700;
}

.testimonials-grid {
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: var(--testimonial-card-gap);
  align-items: start;
}

.testimonial-card {
  position: relative;
  align-self: start;
  overflow: visible;
}

.testimonial-card::before {
  content: "”";
  position: absolute;
  right: 0.95rem;
  bottom: 0.75rem;
  top: auto;
  color: color-mix(in srgb, var(--hub-accent), transparent 18%);
  font-family: var(--hub-font-heading), "Avenir Next", "Segoe UI", sans-serif;
  font-size: 2.4rem;
  line-height: 1;
  opacity: 0.22;
}

.testimonial-card__quote {
  position: relative;
  margin: 0;
  padding-top: 0.15rem;
  padding-left: 1.1rem;
  font-size: 1.04rem;
  line-height: 1.72;
  color: var(--hub-title);
  white-space: pre-line;
}

.testimonial-card__quote::before {
  content: "“";
  position: absolute;
  left: 0;
  top: -0.05rem;
  color: color-mix(in srgb, var(--hub-accent), transparent 18%);
  font-family: var(--hub-font-heading), "Avenir Next", "Segoe UI", sans-serif;
  font-size: 2.8rem;
  line-height: 1;
  opacity: 0.45;
}

.testimonial-card__caption {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}

.testimonial-card__avatar {
  width: var(--testimonial-avatar-size);
  height: var(--testimonial-avatar-size);
  border-radius: 999px;
  object-fit: cover;
}

.public-page.testimonials-avatar-square .testimonial-card__avatar {
  border-radius: 0.85rem;
}

.public-page.testimonials-avatar-hidden .testimonial-card__avatar {
  display: none;
}

.testimonial-card__meta {
  display: grid;
  gap: 0.15rem;
}

.testimonial-card__meta span,
.testimonial-card__link,
.pricing-tier-card__period,
.step-card__label,
.stat-card__description,
.image-block__caption,
.embed-preview__copy p,
.embed-preview__copy span {
  color: var(--hub-muted);
  white-space: pre-line;
}

.public-page.testimonials-card-style-quote .testimonial-card::before {
  opacity: 0.3;
  font-size: 2.55rem;
}

.public-page.testimonials-card-style-quote .testimonial-card__quote,
.public-page.testimonials-card-style-editorial .testimonial-card__quote {
  font-style: italic;
  font-size: 1.08rem;
}

@media (min-width: 48rem) {
  .public-page.testimonials-card-style-quote .testimonials-grid,
  .public-page.testimonials-card-style-editorial .testimonials-grid {
    padding-bottom: 1rem;
  }

  .public-page.testimonials-card-style-quote .testimonial-card:nth-child(2n),
  .public-page.testimonials-card-style-editorial .testimonial-card:nth-child(2n) {
    transform: translateY(0.85rem);
  }

  .public-page.testimonials-card-style-quote .testimonial-card:nth-child(3n),
  .public-page.testimonials-card-style-editorial .testimonial-card:nth-child(3n) {
    transform: translateY(0.35rem);
  }
}

.public-page.testimonials-card-style-editorial .testimonial-card {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.9rem;
}

.public-page.testimonials-card-style-editorial .testimonial-card__caption {
  align-items: flex-start;
  flex-direction: column;
}

.public-page.testimonials-density-compact .testimonials-grid {
  gap: 0.65rem;
}

.public-page.testimonials-density-spacious .testimonials-grid {
  gap: 1rem;
}

.image-block__image,
.split-content-media__image,
.cta-banner-block__image,
.embed-preview__image {
  display: block;
  width: 100%;
  border-radius: calc(var(--hub-card-radius) + 6px);
  object-fit: cover;
}

.image-block {
  gap: var(--image-block-caption-gap);
}

.image-block__link,
.image-block__image,
.image-block__placeholder-panel {
  display: block;
  width: 100%;
}

.image-block__link {
  border-radius: var(--image-block-media-radius);
  overflow: hidden;
}

.image-block__image {
  aspect-ratio: 16 / 9;
  border-radius: var(--image-block-media-radius);
  background: color-mix(in srgb, var(--hub-surface-strong), transparent 12%);
  object-fit: var(--image-block-fit);
}

.image-block__placeholder-panel {
  display: grid;
  gap: 0.45rem;
  place-items: center;
  min-height: clamp(14rem, 48vw, 22rem);
  padding: calc(1.25rem + var(--image-block-surface-padding));
  text-align: center;
  border-radius: var(--image-block-media-radius);
  background:
    radial-gradient(circle at top, color-mix(in srgb, var(--hub-accent), transparent 68%), transparent 44%),
    linear-gradient(160deg, color-mix(in srgb, var(--hub-surface-strong), #000 12%), color-mix(in srgb, var(--hub-surface), #000 16%));
  border: 1px dashed color-mix(in srgb, var(--hub-block-border), transparent 12%);
}

.image-block__placeholder-eyebrow {
  color: color-mix(in srgb, var(--hub-accent), white 12%);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.image-block__placeholder-title {
  font-family: var(--hub-font-heading), "Avenir Next", "Segoe UI", sans-serif;
  font-size: clamp(1.15rem, 3vw, 1.45rem);
  color: var(--hub-title);
}

.public-page.image-frame-style-borderless .image-block__link,
.public-page.image-frame-style-borderless .image-block__image,
.public-page.image-frame-style-borderless .image-block__placeholder-panel,
.public-page.image-frame-style-bleed .image-block__link,
.public-page.image-frame-style-bleed .image-block__image,
.public-page.image-frame-style-bleed .image-block__placeholder-panel {
  border-radius: 0;
}

.public-page.image-frame-style-borderless .image-block__placeholder-panel,
.public-page.image-frame-style-bleed .image-block__placeholder-panel {
  border-style: solid;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.feature-grid {
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: var(--feature-grid-density-gap);
}

.feature-grid-block--list .feature-grid {
  grid-template-columns: 1fr;
}

.feature-grid__item {
  min-height: 100%;
  gap: 0.55rem;
  padding: var(--feature-grid-item-padding);
}

.feature-grid-block--list .feature-grid__item {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
}

.feature-grid__copy {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
}

.feature-grid__icon {
  display: inline-flex;
  width: var(--feature-grid-icon-size);
  height: var(--feature-grid-icon-size);
  align-items: center;
  justify-content: center;
  border-radius: 0.8rem;
  background: color-mix(in srgb, var(--hub-accent), transparent 84%);
}

.feature-grid__icon-svg {
  width: var(--feature-grid-icon-mark-size);
  height: var(--feature-grid-icon-mark-size);
}

.public-page.feature-grid-layout-list .feature-grid-block .feature-grid {
  grid-template-columns: 1fr;
}

.public-page.feature-grid-layout-list .feature-grid-block .feature-grid__item {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
}

.public-page.feature-grid-layout-list .feature-grid-block .feature-grid__copy {
  min-width: 0;
}

.public-page.feature-grid-layout-grid .feature-grid-block .feature-grid__item {
  grid-template-columns: initial;
}

.steps-list {
  display: grid;
  gap: 0.8rem;
  list-style: none;
  counter-reset: step-counter;
}

.step-card {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
}

.step-card__index {
  box-shadow: 0 12px 20px rgba(0, 0, 0, 0.24);
  display: inline-grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--hub-accent), var(--hub-accent-2));
  color: #fff;
  font-weight: 700;
}

.step-card__copy {
  display: grid;
  gap: 0.35rem;
}

.public-page {
  --split-content-media-aspect-ratio: 16 / 9;
  --split-content-copy-gap: 0.9rem;
  --split-content-copy-padding: clamp(1.1rem, 2.6vw, 1.6rem);
  --split-content-title-size: clamp(1.8rem, 4.8vw, 2.6rem);
  --split-content-description-size: clamp(1.02rem, 2.6vw, 1.15rem);
  --split-content-body-line-height: 1.75;
  --image-block-surface-padding: 0.75rem;
  --image-block-media-radius: calc(var(--hub-card-radius) + 6px);
  --image-block-caption-gap: 0.45rem;
  --image-block-caption-padding: 0;
  --image-block-fit: cover;
  --feature-grid-item-padding: 1rem;
  --feature-grid-icon-size: 2.2rem;
  --feature-grid-icon-mark-size: 1rem;
  --feature-grid-density-gap: 0.9rem;
  --pricing-tier-gap: 0.9rem;
  --pricing-tier-padding: 1rem;
  --pricing-tier-featured-scale: 1.02;
  --testimonial-card-padding: 1rem;
  --testimonial-card-gap: 0.7rem;
  --testimonial-avatar-size: 2.8rem;
  --stat-card-padding: 1rem;
  --stat-card-gap: 0.7rem;
  --stat-number-size: clamp(1.6rem, 4vw, 2rem);
  --stat-number-weight: 700;
  --embed-frame-aspect-ratio: 16 / 9;
  --embed-border-width: 1px;
  --embed-border-style: solid;
  --embed-border-radius: calc(var(--hub-card-radius) + 6px);
  --slideshow-gallery-aspect-ratio: 16 / 9;
  --slideshow-gallery-image-fit: cover;
  --slideshow-gallery-image-position: center center;
  --slideshow-gallery-pager-gap: 0.45rem;
  --slideshow-gallery-pager-min-height: 0.9rem;
  --slideshow-gallery-pager-notch-width: 0.65rem;
  --slideshow-gallery-pager-notch-height: 0.65rem;
  --slideshow-gallery-pager-notch-radius: 999px;
  --slideshow-gallery-pager-notch-active-width: 2.15rem;
  --clip-carousel-card-gap: 0.8rem;
  --clip-carousel-media-fit: cover;
  --clip-carousel-media-radius: 0;
  --clip-carousel-card-padding: 0.85rem;
  --clip-carousel-modal-padding: 1.15rem;
  --clip-carousel-modal-radius: calc(var(--hub-card-radius) + 14px);
  --embed-frame-display: grid;
  --embed-preview-display: grid;
}

.public-page.split-content-ratio-landscape {
  --split-content-media-aspect-ratio: 16 / 9;
}

.public-page.split-content-ratio-portrait {
  --split-content-media-aspect-ratio: 4 / 5;
}

.public-page.split-content-ratio-square {
  --split-content-media-aspect-ratio: 1 / 1;
}

.public-page.split-content-density-comfortable {
  --split-content-copy-gap: 0.9rem;
  --split-content-copy-padding: clamp(1.1rem, 2.6vw, 1.6rem);
  --split-content-title-size: clamp(1.8rem, 4.8vw, 2.6rem);
  --split-content-description-size: clamp(1.02rem, 2.6vw, 1.15rem);
  --split-content-body-line-height: 1.75;
}

.public-page.split-content-density-compact {
  --split-content-copy-gap: 0.65rem;
  --split-content-copy-padding: clamp(0.95rem, 2.2vw, 1.25rem);
  --split-content-title-size: clamp(1.65rem, 4.4vw, 2.3rem);
  --split-content-description-size: clamp(0.98rem, 2.4vw, 1.08rem);
  --split-content-body-line-height: 1.62;
}

.public-page.split-content-density-spacious {
  --split-content-copy-gap: 1.1rem;
  --split-content-copy-padding: clamp(1.25rem, 3vw, 1.8rem);
  --split-content-title-size: clamp(1.95rem, 5vw, 2.85rem);
  --split-content-description-size: clamp(1.08rem, 2.8vw, 1.2rem);
  --split-content-body-line-height: 1.8;
}

.public-page.image-frame-style-framed {
  --image-block-surface-padding: 0.75rem;
}

.public-page.image-frame-style-borderless {
  --image-block-surface-padding: 0;
  --image-block-media-radius: 0;
  --image-block-caption-padding: 0;
}

.public-page.image-frame-style-bleed {
  --image-block-surface-padding: 0;
  --image-block-media-radius: 0;
  --image-block-caption-padding: 0;
}

.public-page.image-radius-style-square {
  --image-block-media-radius: 0;
}

.public-page.image-radius-style-rounded {
  --image-block-media-radius: calc(var(--hub-card-radius) + 6px);
}

.public-page.image-radius-style-pill {
  --image-block-media-radius: 999px;
}

.public-page.image-caption-density-compact {
  --image-block-caption-gap: 0.3rem;
}

.public-page.image-caption-density-comfortable {
  --image-block-caption-gap: 0.45rem;
}

.public-page.image-caption-density-spacious {
  --image-block-caption-gap: 0.65rem;
}

.public-page.image-fit-mode-cover {
  --image-block-fit: cover;
}

.public-page.image-fit-mode-contain {
  --image-block-fit: contain;
}

.public-page.image-fit-mode-fill {
  --image-block-fit: fill;
}

.public-page.feature-grid-layout-grid {
  --feature-grid-item-flow: column;
}

.public-page.feature-grid-layout-list {
  --feature-grid-item-flow: row;
}

.public-page.feature-grid-icon-size-small {
  --feature-grid-icon-size: 1.7rem;
  --feature-grid-icon-mark-size: 0.88rem;
}

.public-page.feature-grid-icon-size-medium {
  --feature-grid-icon-size: 2.2rem;
  --feature-grid-icon-mark-size: 1rem;
}

.public-page.feature-grid-icon-size-large {
  --feature-grid-icon-size: 2.8rem;
  --feature-grid-icon-mark-size: 1.2rem;
}

.public-page.feature-grid-density-compact {
  --feature-grid-density-gap: 0.65rem;
}

.public-page.feature-grid-density-comfortable {
  --feature-grid-density-gap: 0.9rem;
}

.public-page.feature-grid-density-spacious {
  --feature-grid-density-gap: 1.1rem;
}

.public-page.pricing-tiers-layout-grid {
  --pricing-tier-grid-columns: repeat(auto-fit, minmax(12rem, 1fr));
}

.public-page.pricing-tiers-layout-stack {
  --pricing-tier-grid-columns: minmax(0, 1fr);
}

.public-page.pricing-tiers-emphasis-subtle {
  --pricing-tier-featured-scale: 0.5;
}

.public-page.pricing-tiers-emphasis-strong {
  --pricing-tier-featured-scale: 1;
}

.public-page.pricing-tiers-emphasis-hero {
  --pricing-tier-featured-scale: 2;
}

.public-page.pricing-tiers-spacing-compact {
  --pricing-tier-gap: 0.65rem;
  --pricing-tier-padding: 0.9rem;
}

.public-page.pricing-tiers-spacing-comfortable {
  --pricing-tier-gap: 0.9rem;
  --pricing-tier-padding: 1rem;
}

.public-page.pricing-tiers-spacing-spacious {
  --pricing-tier-gap: 1.1rem;
  --pricing-tier-padding: 1.15rem;
}

.public-page.testimonials-card-style-standard {
  --testimonial-card-gap: 0.7rem;
}

.public-page.testimonials-card-style-quote {
  --testimonial-card-gap: 0.8rem;
}

.public-page.testimonials-card-style-editorial {
  --testimonial-card-gap: 0.95rem;
}

.public-page.testimonials-avatar-circle {
  --testimonial-avatar-size: 2.8rem;
}

.public-page.testimonials-avatar-square {
  --testimonial-avatar-size: 2.8rem;
}

.public-page.testimonials-avatar-hidden {
  --testimonial-avatar-size: 0;
}

.public-page.testimonials-density-compact {
  --testimonial-card-padding: 0.9rem;
}

.public-page.testimonials-density-comfortable {
  --testimonial-card-padding: 1rem;
}

.public-page.testimonials-density-spacious {
  --testimonial-card-padding: 1.15rem;
}

.public-page.stats-density-compact {
  --stat-card-padding: 0.9rem;
  --stat-number-size: clamp(1.45rem, 3.8vw, 1.8rem);
}

.public-page.stats-density-comfortable {
  --stat-card-padding: 1rem;
  --stat-number-size: clamp(1.6rem, 4vw, 2rem);
}

.public-page.stats-density-spacious {
  --stat-card-padding: 1.1rem;
  --stat-number-size: clamp(1.75rem, 4.4vw, 2.35rem);
}

.public-page.stats-number-emphasis-subtle {
  --stat-number-weight: 600;
}

.public-page.stats-number-emphasis-standard {
  --stat-number-weight: 700;
}

.public-page.stats-number-emphasis-hero {
  --stat-number-weight: 800;
}

.public-page.embed-default-mode-preview {
  --embed-frame-display: none;
  --embed-preview-display: grid;
}

.public-page.embed-default-mode-iframe {
  --embed-frame-display: grid;
  --embed-preview-display: none;
}

.public-page.embed-default-mode-iframe .embed-block--preview-only {
  --embed-preview-display: grid;
}

.public-page.embed-ratio-landscape {
  --embed-frame-aspect-ratio: 16 / 9;
}

.public-page.embed-ratio-portrait {
  --embed-frame-aspect-ratio: 4 / 5;
}

.public-page.embed-ratio-square {
  --embed-frame-aspect-ratio: 1 / 1;
}

.public-page.embed-border-soft {
  --embed-border-width: 1px;
  --embed-border-style: solid;
}

.public-page.embed-border-outlined {
  --embed-border-width: 2px;
  --embed-border-style: solid;
}

.public-page.embed-border-none {
  --embed-border-width: 0;
  --embed-border-style: solid;
}

.public-page.slideshow-gallery-ratio-landscape {
  --slideshow-gallery-aspect-ratio: 16 / 9;
}

.public-page.slideshow-gallery-ratio-portrait {
  --slideshow-gallery-aspect-ratio: 4 / 5;
}

.public-page.slideshow-gallery-ratio-square {
  --slideshow-gallery-aspect-ratio: 1 / 1;
}

.public-page.slideshow-gallery-pager-dots {
  --slideshow-gallery-pager-notch-width: 0.65rem;
  --slideshow-gallery-pager-notch-height: 0.65rem;
  --slideshow-gallery-pager-notch-radius: 999px;
}

.public-page.slideshow-gallery-pager-bars {
  --slideshow-gallery-pager-notch-width: 0.95rem;
  --slideshow-gallery-pager-notch-height: 0.45rem;
  --slideshow-gallery-pager-notch-radius: 999px;
}

.public-page.slideshow-gallery-pager-numbers {
  --slideshow-gallery-pager-notch-width: 1.75rem;
  --slideshow-gallery-pager-notch-height: 1.75rem;
  --slideshow-gallery-pager-notch-radius: 0.65rem;
}

.public-page.slideshow-gallery-crop-cover {
  --slideshow-gallery-image-fit: cover;
}

.public-page.slideshow-gallery-crop-contain {
  --slideshow-gallery-image-fit: contain;
}

.public-page.slideshow-gallery-crop-focus {
  --slideshow-gallery-image-fit: cover;
  --slideshow-gallery-image-position: center top;
}

.public-page.clip-carousel-density-compact {
  --clip-carousel-card-gap: 0.65rem;
  --clip-carousel-card-padding: 0.7rem;
}

.public-page.clip-carousel-density-comfortable {
  --clip-carousel-card-gap: 0.8rem;
  --clip-carousel-card-padding: 0.85rem;
}

.public-page.clip-carousel-density-spacious {
  --clip-carousel-card-gap: 1rem;
  --clip-carousel-card-padding: 1rem;
}

.public-page.clip-carousel-media-frame {
  --clip-carousel-media-radius: calc(var(--hub-card-radius) + 4px);
  --clip-carousel-media-fit: cover;
  --clip-carousel-card-padding: 1rem;
}

.public-page.clip-carousel-media-bleed {
  --clip-carousel-media-radius: 0;
  --clip-carousel-media-fit: cover;
  --clip-carousel-card-padding: 0.85rem;
}

.public-page.clip-carousel-media-rounded {
  --clip-carousel-media-radius: 1rem;
  --clip-carousel-media-fit: cover;
  --clip-carousel-card-padding: 0.95rem;
}

.public-page.clip-carousel-modal-compact {
  --clip-carousel-modal-padding: 0.95rem;
  --clip-carousel-modal-radius: calc(var(--hub-card-radius) + 10px);
}

.public-page.clip-carousel-modal-balanced {
  --clip-carousel-modal-padding: 1.15rem;
  --clip-carousel-modal-radius: calc(var(--hub-card-radius) + 14px);
}

.public-page.clip-carousel-modal-immersive {
  --clip-carousel-modal-padding: 1.35rem;
  --clip-carousel-modal-radius: calc(var(--hub-card-radius) + 18px);
}

.split-content-grid {
  display: grid;
  gap: 1rem;
  align-items: start;
}

.split-content-title {
  margin: 0;
  padding: var(--split-content-copy-padding) var(--split-content-copy-padding) 0;
  font-size: var(--split-content-title-size);
  line-height: 1.02;
}

.split-content-columns {
  display: grid;
  gap: 1rem;
  align-items: start;
  grid-template-columns: minmax(0, 1fr);
}

.split-content-copy,
.split-content-media {
  min-width: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.split-content-grid--left .split-content-media {
  order: 1;
}

.split-content-grid--left .split-content-copy {
  order: 2;
}

.split-content-grid--right .split-content-copy {
  order: 1;
}

.split-content-grid--right .split-content-media {
  order: 2;
}

.split-content-grid--balanced .split-content-columns,
.split-content-grid--copy_wide .split-content-columns,
.split-content-grid--media_wide .split-content-columns {
  grid-template-columns: minmax(0, 1fr);
}

.split-content-copy {
  display: grid;
  gap: var(--split-content-copy-gap);
  padding: var(--split-content-copy-padding);
}

.split-content-media {
  margin: 0;
  aspect-ratio: var(--split-content-media-aspect-ratio);
  overflow: hidden;
}

.split-content-media__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.split-content-copy .hub-block__description {
  font-size: var(--split-content-description-size);
  line-height: 1.65;
}

.split-content-copy .hub-block__body {
  line-height: var(--split-content-body-line-height);
}

.split-content-cta {
  width: fit-content;
}

.cta-banner-block {
  padding: 1rem;
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--hub-accent), transparent 72%), transparent 38%),
    linear-gradient(180deg, color-mix(in srgb, #fff, transparent 96%), transparent),
    color-mix(in srgb, var(--hub-surface-soft), transparent 10%);
}

.cta-banner-block--standard {
  border-color: color-mix(in srgb, var(--hub-block-border), transparent 8%);
}

.cta-banner-block--soft {
  background:
    linear-gradient(180deg, color-mix(in srgb, #fff, transparent 97%), transparent),
    color-mix(in srgb, var(--hub-surface-soft), transparent 8%);
}

.cta-banner-block--urgent {
  border-color: color-mix(in srgb, var(--hub-accent), #fff 18%);
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--hub-accent), transparent 70%),
    0 24px 44px rgba(0, 0, 0, 0.32),
    var(--hub-block-shadow);
}

.cta-banner-block__copy {
  display: grid;
  gap: 0.75rem;
  justify-items: center;
  text-align: center;
}

.cta-banner-block__cta {
  justify-self: center;
  align-self: start;
  width: fit-content;
}

.embed-block__frame {
  display: var(--embed-frame-display, block);
  overflow: hidden;
  border-radius: var(--embed-border-radius);
  border-width: var(--embed-border-width);
  border-style: var(--embed-border-style);
  border-color: color-mix(in srgb, var(--hub-block-border), transparent 16%);
}

.embed-block__frame iframe {
  display: block;
  width: 100%;
  aspect-ratio: var(--embed-frame-aspect-ratio);
  min-height: clamp(18rem, 55vw, 32rem);
  border: 0;
}

.embed-preview__card {
  text-align: left;
  background:
    linear-gradient(180deg, color-mix(in srgb, #fff, transparent 95%), transparent),
    color-mix(in srgb, var(--hub-surface-soft), transparent 12%);
}

.embed-preview {
  display: var(--embed-preview-display, grid);
}

.embed-preview__copy {
  display: grid;
  gap: 0.3rem;
}

.public-page.embed-border-none .embed-block__frame {
  border-width: 0;
}

.public-page.embed-border-outlined .embed-block__frame {
  border-width: 2px;
}

.public-page.embed-ratio-portrait .embed-block__frame iframe,
.public-page.embed-ratio-square .embed-block__frame iframe {
  min-height: 0;
}

.stats-grid {
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  gap: 0.8rem;
}

@media (max-width: 720px) {
  .split-content-grid--left .split-content-copy,
  .split-content-grid--left .split-content-media,
  .split-content-grid--right .split-content-copy,
  .split-content-grid--right .split-content-media {
    order: initial;
  }

  .public-page-nav {
    width: 100%;
    justify-content: flex-start;
  }

  .public-page-nav-shell--sticky {
    top: calc(env(safe-area-inset-top) + 0.65rem);
  }
}

@media (min-width: 721px) {
  .split-content-grid--balanced .split-content-columns {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
  }

  .split-content-grid--copy_wide .split-content-columns {
    grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr);
    align-items: center;
  }

  .split-content-grid--media_wide .split-content-columns {
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
    align-items: center;
  }

  .split-content-grid--left .split-content-media,
  .split-content-grid--left .split-content-copy,
  .split-content-grid--right .split-content-media,
  .split-content-grid--right .split-content-copy {
    grid-row: 1;
  }

  .split-content-grid--left .split-content-media {
    grid-column: 1;
  }

  .split-content-grid--left .split-content-copy {
    grid-column: 2;
  }

  .split-content-grid--right .split-content-copy {
    grid-column: 1;
  }

  .split-content-grid--right .split-content-media {
    grid-column: 2;
  }
}

.stat-card__value {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.2rem;
}

.stat-card {
  gap: var(--stat-card-gap);
}

.stat-card__suffix {
  color: var(--hub-title);
  font-size: 1rem;
  font-weight: 700;
}

.stat-card__label {
  font-size: 1rem;
  color: var(--hub-title);
}

.stat-card__number {
  font-size: var(--stat-number-size);
  font-weight: var(--stat-number-weight);
}

.public-page.stats-density-compact .stats-grid {
  gap: 0.65rem;
}

.public-page.stats-density-spacious .stats-grid {
  gap: 1rem;
}

.hub-block__surface--unknown,
.hub-block__surface--collection,
.section-heading-block,
.product-card,
.product-detail-card {
  padding: var(--card-padding);
}

.text-block {
  gap: 0.85rem;
}

.text-block .text-block-body {
  max-width: 52ch;
}

.hub-block__title {
  margin: 0;
  font-size: 1.06rem;
  line-height: 1.2;
}

.hub-block__meta {
  color: color-mix(in srgb, var(--hub-muted), #fff 12%);
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}

.hub-block--button {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.8rem;
  align-items: center;
  min-height: max(44px, var(--button-height));
  padding: 0.7rem 0.85rem;
  border-radius: var(--hub-block-radius);
}

.hub-block--cta {
  min-height: 4.9rem;
  padding: 0.95rem 1rem;
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--hub-accent), transparent 72%), transparent 42%),
    linear-gradient(180deg, color-mix(in srgb, #fff, transparent 94%), transparent),
    color-mix(in srgb, var(--hub-block-bg), var(--hub-surface) 20%);
}

.hub-block--cta.link-card-featured {
  border-color: color-mix(in srgb, var(--hub-accent), #fff 18%);
}

.hub-block--cta .link-cta {
  min-height: 2.4rem;
  padding-inline: 0.9rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--hub-surface-strong), transparent 4%);
  border: 1px solid color-mix(in srgb, var(--hub-block-border), transparent 14%);
  color: var(--hub-title);
}

.hub-block--button-simple {
  grid-template-columns: minmax(0, 1fr);
  padding-inline: 1rem;
}

.hub-block--button-simple.hub-block--button-media-thumbnail {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
}

.hub-block--button-simple.hub-block--button-thumbnail-bleed {
  overflow: hidden;
  padding: 0;
}

.hub-block--button-simple.hub-block--button-thumbnail-bleed .hub-block__content {
  padding: 0.7rem 0.85rem;
}

.hub-block--button-simple.hub-block--button-thumbnail-bleed.hub-block--button-media-thumbnail {
  align-items: stretch;
}

.hub-block--button-simple.hub-block--button-thumbnail-bleed.hub-block--button-media-thumbnail .hub-block__media--button {
  align-self: stretch;
  height: 100%;
}

.hub-block--button-simple.hub-block--button-thumbnail-bleed .link-thumb {
  height: 100%;
  border-radius: 0;
}

.hub-block--cta.hub-block--button-thumbnail-bleed {
  overflow: hidden;
  padding: 0;
}

.hub-block--cta.hub-block--button-thumbnail-bleed.hub-block--button-media-thumbnail {
  align-items: stretch;
}

.hub-block--cta.hub-block--button-thumbnail-bleed.hub-block--button-media-thumbnail .hub-block__media--button {
  align-self: stretch;
  width: 4.5rem;
  height: auto;
}

.hub-block--cta.hub-block--button-thumbnail-bleed .hub-block__content {
  padding-block: 0.95rem;
}

.hub-block--cta.hub-block--button-thumbnail-bleed .link-cta {
  margin-right: 1rem;
}

.hub-block--cta.hub-block--button-thumbnail-bleed .link-thumb {
  height: 100%;
  border-radius: 0;
}

.hub-block--button-simple.hub-block--button-media-icon {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
}

.media-position-right .hub-block--button-simple.hub-block--button-media-thumbnail {
  grid-template-columns: minmax(0, 1fr) auto;
}

.media-position-right .hub-block--button-simple.hub-block--button-media-icon {
  grid-template-columns: minmax(0, 1fr) auto;
}

.hub-block--button-simple.hub-block--button-media-thumbnail .hub-block__media--button {
  width: 3rem;
  height: 3rem;
}

.hub-block--button-simple.hub-block--button-media-icon .hub-block__media--button {
  width: 3.1rem;
  height: 3.1rem;
}

.hub-block--button-simple.hub-block--button-media-thumbnail .hub-block__content {
  align-self: center;
}

.hub-block--button-simple.hub-block--button-media-icon .hub-block__content {
  align-self: center;
}

.media-position-right .hub-block--button-simple.hub-block--button-media-thumbnail .hub-block__media--button {
  grid-column: 2;
  grid-row: 1;
}

.media-position-right .hub-block--button-simple.hub-block--button-media-icon .hub-block__media--button {
  grid-column: 2;
  grid-row: 1;
}

.media-position-right .hub-block--button-simple.hub-block--button-media-thumbnail .hub-block__content {
  grid-column: 1;
  grid-row: 1;
}

.media-position-right .hub-block--button-simple.hub-block--button-media-icon .hub-block__content {
  grid-column: 1;
  grid-row: 1;
}

.hub-block--button.link-card-featured {
  border-color: color-mix(in srgb, var(--hub-accent), #fff 18%);
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--hub-accent), transparent 60%),
    0 18px 34px rgba(0, 0, 0, 0.28),
    var(--hub-block-shadow);
}

.hub-block__content {
  min-width: 0;
  display: grid;
  gap: 0.45rem;
}

.hub-block__media {
  min-width: 0;
}

.hub-block__media--button {
  display: flex;
  align-items: center;
  justify-content: center;
}

.hub-block--button-no-media .hub-block__media--button {
  display: none;
}

.button-style-text_only .hub-block--button .hub-block__media--button {
  display: none;
}

.button-style-icon_text .hub-block--button .hub-block__media--thumbnail,
.button-style-thumbnail_text .hub-block--button .hub-block__media--icon {
  display: none;
}

.link-thumb {
  display: block;
  width: 100%;
  border-radius: 0.85rem;
  background: var(--hub-surface-strong);
  object-fit: cover;
}

.link-thumb--rounded {
  border-radius: 999px;
}

.thumbnail-rounded .hub-block--button.hub-block--button-media-thumbnail .hub-block__media--button {
  border-radius: 999px;
  overflow: hidden;
}

.hub-block--button.hub-block--button-media-thumbnail:not(.hub-block--button-thumbnail-bleed):not(.hub-block--button-media-full-card) .hub-block__media--button {
  align-self: center;
  aspect-ratio: 1 / 1;
}

.hub-block--button.hub-block--button-no-media {
  grid-template-columns: minmax(0, 1fr) auto;
}

.hub-block--button.hub-block--button-no-media .hub-block__content {
  grid-column: 1;
}

.hub-block--button.hub-block--button-no-media .link-cta {
  grid-column: 2;
}

.media-position-left .hub-block--cta.hub-block--button-no-media {
  grid-template-columns: auto minmax(0, 1fr);
}

.media-position-left .hub-block--cta.hub-block--button-no-media .link-cta {
  grid-column: 1;
}

.media-position-left .hub-block--cta.hub-block--button-no-media .hub-block__content {
  grid-column: 2;
}

.hub-block--button.hub-block--button-media-icon {
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.media-position-right .hub-block--button.hub-block--button-media-icon {
  grid-template-columns: minmax(0, 1fr) auto auto;
}

.hub-block--button.hub-block--button-media-icon .hub-block__media--button {
  grid-column: 1;
  width: 3.1rem;
  height: 3.1rem;
}

.hub-block--button.hub-block--button-media-icon .hub-block__content {
  grid-column: 2;
}

.hub-block--button.hub-block--button-media-icon .link-cta {
  grid-column: 3;
}

.media-position-right .hub-block--button.hub-block--button-media-icon .hub-block__content {
  grid-column: 1;
}

.media-position-right .hub-block--button.hub-block--button-media-icon .hub-block__media--button {
  grid-column: 2;
}

.media-position-right .hub-block--button.hub-block--button-media-icon .link-cta {
  grid-column: 3;
}

.hub-block--button.hub-block--button-media-thumbnail {
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.media-position-right .hub-block--button.hub-block--button-media-thumbnail {
  grid-template-columns: minmax(0, 1fr) auto auto;
}

.hub-block--button.hub-block--button-media-thumbnail .hub-block__media--button {
  grid-column: 1;
  width: 3rem;
  height: 3rem;
}

.hub-block--button.hub-block--button-media-thumbnail .link-thumb {
  height: 100%;
  max-height: none;
}

.hub-block--button.hub-block--button-media-thumbnail .hub-block__content {
  grid-column: 2;
}

.hub-block--button.hub-block--button-media-thumbnail .link-cta {
  grid-column: 3;
}

.media-position-right .hub-block--button.hub-block--button-media-thumbnail .hub-block__content {
  grid-column: 1;
  grid-row: 1;
}

.media-position-right .hub-block--button.hub-block--button-media-thumbnail .hub-block__media--button {
  grid-column: 2;
  grid-row: 1;
}

.media-position-right .hub-block--button.hub-block--button-media-thumbnail .link-cta {
  grid-column: 3;
}

.media-position-centered .hub-block--button.hub-block--button-media-thumbnail,
.media-position-centered .hub-block--button.hub-block--button-media-icon,
.media-position-centered .hub-block--cta.hub-block--button-no-media {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  text-align: center;
}

.media-position-centered .hub-block--button.hub-block--button-media-thumbnail .hub-block__media--button,
.media-position-centered .hub-block--button.hub-block--button-media-thumbnail .hub-block__content,
.media-position-centered .hub-block--button.hub-block--button-media-thumbnail .link-cta,
.media-position-centered .hub-block--button.hub-block--button-media-icon .hub-block__media--button,
.media-position-centered .hub-block--button.hub-block--button-media-icon .hub-block__content,
.media-position-centered .hub-block--button.hub-block--button-media-icon .link-cta,
.media-position-centered .hub-block--cta.hub-block--button-no-media .hub-block__content,
.media-position-centered .hub-block--cta.hub-block--button-no-media .link-cta {
  grid-column: 1;
}

.media-position-centered .hub-block--button.hub-block--button-media-thumbnail .hub-block__media--button,
.media-position-centered .hub-block--button.hub-block--button-media-icon .hub-block__media--button {
  width: 4rem;
  height: 4rem;
}

.media-position-centered .hub-block--button.hub-block--button-media-thumbnail .hub-block__content,
.media-position-centered .hub-block--button.hub-block--button-media-icon .hub-block__content,
.media-position-centered .hub-block--cta.hub-block--button-no-media .hub-block__content {
  justify-items: center;
}

.media-position-centered .hub-block--button.hub-block--button-media-thumbnail .link-cta,
.media-position-centered .hub-block--button.hub-block--button-media-icon .link-cta,
.media-position-centered .hub-block--cta.hub-block--button-no-media .link-cta {
  justify-self: center;
}

.media-position-centered .hub-block--cta.hub-block--button-no-media .link-cta {
  grid-row: 1;
}

.media-position-centered .hub-block--cta.hub-block--button-no-media .hub-block__content {
  grid-row: 2;
}

.media-position-centered .hub-block--button .link-card-title,
.media-position-centered .hub-block--button .hub-block__description,
.media-position-centered .hub-block--button .hub-block__body,
.media-position-centered .hub-block--button .card-badge,
.media-position-centered .hub-block--cta .link-card-title,
.media-position-centered .hub-block--cta .hub-block__description,
.media-position-centered .hub-block--cta .hub-block__body,
.media-position-centered .hub-block--cta .card-badge {
  text-align: center;
  justify-content: center;
}

.media-position-full_card .hub-block--button.hub-block--button-media-thumbnail,
.media-position-full_card .hub-block--button.hub-block--button-media-icon {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.85rem;
  overflow: hidden;
  justify-items: stretch;
  text-align: center;
}

.media-position-full_card .hub-block--cta.hub-block--button-no-media {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.85rem;
  overflow: hidden;
  justify-items: center;
  text-align: center;
}

.media-position-full_card .hub-block--button.hub-block--button-media-thumbnail .hub-block__media--button,
.media-position-full_card .hub-block--button.hub-block--button-media-icon .hub-block__media--button {
  margin: -0.7rem -0.85rem 0;
  width: calc(100% + 1.7rem);
  height: auto;
  grid-column: 1;
  justify-self: stretch;
}

.media-position-full_card .hub-block--button.hub-block--button-media-thumbnail .link-thumb {
  height: 100%;
  min-height: 12rem;
  max-height: none;
  border-radius: max(0px, calc(var(--hub-block-radius) - 1px)) max(0px, calc(var(--hub-block-radius) - 1px)) 0 0;
}

.media-position-full_card .hub-block--button.hub-block--button-media-thumbnail .hub-block__content,
.media-position-full_card .hub-block--button.hub-block--button-media-icon .hub-block__content,
.media-position-full_card .hub-block--cta.hub-block--button-no-media .hub-block__content {
  grid-column: 1;
  align-self: center;
  justify-items: center;
}

.media-position-full_card .hub-block--button.hub-block--button-media-thumbnail .link-cta,
.media-position-full_card .hub-block--button.hub-block--button-media-icon .link-cta,
.media-position-full_card .hub-block--cta.hub-block--button-no-media .link-cta {
  grid-column: 1;
  justify-self: center;
}

.media-position-full_card .hub-block--cta.hub-block--button-no-media .link-cta {
  grid-row: 1;
}

.media-position-full_card .hub-block--cta.hub-block--button-no-media .hub-block__content {
  grid-row: 2;
}

.link-card-title {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}

.link-card-title-text {
  min-width: 0;
  font-family: var(--hub-font-button), "Avenir Next", "Segoe UI", sans-serif;
  font-size: max(calc(var(--size-button) + 0.08rem), 1.08rem);
  font-weight: var(--weight-button);
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.hub-block--button-simple .hub-block__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  min-height: 100%;
}

.hub-block--button-simple .hub-block__content.link-card-copy--title-only,
.hub-block--cta .hub-block__content.link-card-copy--title-only {
  justify-content: center;
  align-self: center;
}

.button-label-left .hub-block--button .hub-block__content,
.button-label-left .hub-block--cta .hub-block__content {
  align-items: flex-start;
  justify-items: flex-start;
}

.button-label-center .hub-block--button .hub-block__content,
.button-label-center .hub-block--cta .hub-block__content {
  align-items: center;
  justify-items: center;
}

.button-label-right .hub-block--button .hub-block__content,
.button-label-right .hub-block--cta .hub-block__content {
  align-items: flex-end;
  justify-items: flex-end;
}

.button-label-left .hub-block--button .link-card-title,
.button-label-center .hub-block--button .link-card-title,
.button-label-right .hub-block--button .link-card-title,
.button-label-left .hub-block--cta .link-card-title,
.button-label-center .hub-block--cta .link-card-title,
.button-label-right .hub-block--cta .link-card-title,
.button-label-left .hub-block--button .card-badge,
.button-label-center .hub-block--button .card-badge,
.button-label-right .hub-block--button .card-badge,
.button-label-left .hub-block--cta .card-badge,
.button-label-center .hub-block--cta .card-badge,
.button-label-right .hub-block--cta .card-badge {
  display: flex;
  width: 100%;
}

.button-label-left .hub-block--button .hub-block__description,
.button-label-center .hub-block--button .hub-block__description,
.button-label-right .hub-block--button .hub-block__description,
.button-label-left .hub-block--cta .hub-block__description,
.button-label-center .hub-block--cta .hub-block__description,
.button-label-right .hub-block--cta .hub-block__description,
.button-label-left .hub-block--button .hub-block__body,
.button-label-center .hub-block--button .hub-block__body,
.button-label-right .hub-block--button .hub-block__body,
.button-label-left .hub-block--cta .hub-block__body,
.button-label-center .hub-block--cta .hub-block__body,
.button-label-right .hub-block--cta .hub-block__body {
  width: 100%;
}

.button-label-left .hub-block--button .link-card-title,
.button-label-left .hub-block--button .hub-block__description,
.button-label-left .hub-block--button .hub-block__body,
.button-label-left .hub-block--button .card-badge,
.button-label-left .hub-block--cta .link-card-title,
.button-label-left .hub-block--cta .hub-block__description,
.button-label-left .hub-block--cta .hub-block__body,
.button-label-left .hub-block--cta .card-badge,
.button-label-left .hub-block--section-header .hub-block__title,
.button-label-left .hub-block--section-header .hub-block__description,
.button-label-left .hub-block--section-header .section-heading-label {
  text-align: left;
  justify-content: flex-start;
}

.button-label-center .hub-block--button .link-card-title,
.button-label-center .hub-block--button .hub-block__description,
.button-label-center .hub-block--button .hub-block__body,
.button-label-center .hub-block--button .card-badge,
.button-label-center .hub-block--cta .link-card-title,
.button-label-center .hub-block--cta .hub-block__description,
.button-label-center .hub-block--cta .hub-block__body,
.button-label-center .hub-block--cta .card-badge,
.button-label-center .hub-block--section-header .hub-block__title,
.button-label-center .hub-block--section-header .hub-block__description,
.button-label-center .hub-block--section-header .section-heading-label {
  text-align: center;
  justify-content: center;
}

.button-label-right .hub-block--button .link-card-title,
.button-label-right .hub-block--button .hub-block__description,
.button-label-right .hub-block--button .hub-block__body,
.button-label-right .hub-block--button .card-badge,
.button-label-right .hub-block--cta .link-card-title,
.button-label-right .hub-block--cta .hub-block__description,
.button-label-right .hub-block--cta .hub-block__body,
.button-label-right .hub-block--cta .card-badge,
.button-label-right .hub-block--section-header .hub-block__title,
.button-label-right .hub-block--section-header .hub-block__description,
.button-label-right .hub-block--section-header .section-heading-label {
  text-align: right;
  justify-content: flex-end;
}

.hub-block--button .hub-block__description {
  font-size: 0.9rem;
  line-height: 1.45;
}

.button-label-left .hub-block--button .link-card-title {
  justify-content: flex-start;
}

.button-label-center .hub-block--button .link-card-title {
  justify-content: center;
}

.button-label-right .hub-block--button .link-card-title {
  justify-content: flex-end;
}

.button-label-left .hub-block--section-header .section-heading-label,
.button-label-center .hub-block--section-header .section-heading-label,
.button-label-right .hub-block--section-header .section-heading-label {
  display: flex;
  width: 100%;
}

.hub-block--section-header .hub-block__surface--section-header,
.hub-block__surface--collection {
  display: grid;
  gap: 0.55rem;
}

.hub-block--section-header.section-heading-block {
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transition: none;
}

.hub-block--section-header.section-heading-block:hover,
.hub-block--section-header.section-heading-block:focus-within {
  background: transparent;
  border: 0;
  box-shadow: none;
  transform: none;
}

.stack-list > .hub-block--section-header:not(:first-child) {
  margin-top: 0.45rem;
}

.hub-block--section-header .hub-block__surface--section-header {
  position: relative;
  justify-items: start;
  padding: 0.3rem 0 0.2rem;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.hub-block--section-header .hub-block__surface--section-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 7rem;
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--hub-accent), transparent);
}

.hub-block--section-header .hub-block__title {
  font-size: clamp(0.96rem, 2.8vw, 1.08rem);
  text-align: left;
  letter-spacing: -0.01em;
  text-transform: uppercase;
}

.hub-block--section-header .hub-block__description {
  font-size: 0.88rem;
  line-height: 1.45;
  text-align: left;
}

.text-block {
  display: grid;
  gap: 0.75rem;
}

.text-block-body {
  display: grid;
  gap: 0.8rem;
}

.text-block-body a {
  color: var(--hub-link);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.hub-block__body .text-block-body {
  gap: 0.55rem;
}

.video-embed-shell {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: calc(var(--hub-card-radius) + 8px);
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid color-mix(in srgb, var(--hub-card-border), transparent 20%);
}

.video-embed-shell iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.video-ratio-16-9 {
  aspect-ratio: 16 / 9;
}

.video-ratio-9-16 {
  aspect-ratio: 9 / 16;
}

.video-ratio-1-1 {
  aspect-ratio: 1 / 1;
}

.product-card {
  display: grid;
  gap: 0.8rem;
  border-radius: calc(var(--hub-card-radius) + 12px);
  font: inherit;
}

.product-card .card-badge {
  width: fit-content;
}

.hub-block__media--product .link-thumb,
.product-detail-image {
  aspect-ratio: 1.2 / 1;
  object-fit: cover;
}

.hub-block__media--product .link-thumb {
  border-radius: calc(var(--hub-card-radius) + 10px);
}

.card-topline,
.card-footer,
.product-price-row,
.product-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  justify-content: space-between;
}

.price-label {
  color: var(--hub-text);
  font-size: 1rem;
  letter-spacing: 0;
  text-transform: none;
  font-weight: 700;
}

.hub-block--collection {
  display: grid;
  gap: 0.8rem;
}

.hub-block__surface--collection {
  border-radius: calc(var(--hub-card-radius) + 18px);
}

.collection-controls,
.collection-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
}

.collection-controls {
  justify-content: space-between;
}

.collection-control-list,
.collection-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.collection-control,
.collection-filter {
  appearance: none;
  border: 1px solid color-mix(in srgb, var(--hub-block-border), transparent 8%);
  background:
    linear-gradient(180deg, color-mix(in srgb, #fff, transparent 95%), transparent),
    color-mix(in srgb, var(--hub-block-bg), var(--hub-surface) 18%);
  color: var(--hub-text);
  box-shadow: var(--hub-block-shadow);
  border-radius: 999px;
  padding: 0.58rem 0.92rem;
  font: inherit;
  font-weight: 600;
  line-height: 1.1;
  cursor: pointer;
  transition: transform 0.16s ease, border-color 0.16s ease, background-color 0.16s ease, box-shadow 0.16s ease;
}

.collection-control:hover,
.collection-control:focus-visible,
.collection-filter:hover,
.collection-filter:focus-visible {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--hub-accent), transparent 30%);
}

.collection-control.is-active,
.collection-filter.is-active {
  background: var(--hub-block-bg);
  color: var(--hub-button-text);
  border-color: color-mix(in srgb, var(--hub-accent), transparent 20%);
}

.collection-stage {
  gap: 0.8rem;
}

.collection-stage > .collection-item {
  min-width: 0;
}

.collection-stage > .collection-item.is-active {
  position: relative;
  z-index: 1;
}

.collection-stage--accordion {
  display: grid;
  gap: 0.75rem;
}

.collection-accordion__item {
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--hub-block-border), transparent 8%);
  border-radius: calc(var(--hub-card-radius) + 10px);
  background:
    linear-gradient(180deg, color-mix(in srgb, #fff, transparent 96%), transparent),
    color-mix(in srgb, var(--hub-block-bg), var(--hub-surface) 24%);
  box-shadow: var(--hub-block-shadow);
}

.collection-accordion__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.95rem 1rem;
  cursor: pointer;
  list-style: none;
  font-weight: 700;
}

.collection-accordion__summary::-webkit-details-marker {
  display: none;
}

.collection-accordion__summary-label {
  min-width: 0;
}

.collection-accordion__summary-type {
  color: var(--hub-muted);
  font-size: 0.9rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.collection-accordion__panel {
  padding: 0 1rem 1rem;
}

.collection-layout-grid > .stack-list,
.collection-layout-filterable_grid > .stack-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.collection-layout-carousel > .stack-list,
.collection-layout-coverflow > .stack-list {
  display: flex;
  overflow-x: auto;
  padding-bottom: 0.15rem;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
}

.collection-layout-carousel > .stack-list > *,
.collection-layout-coverflow > .stack-list > * {
  min-width: min(100%, 18rem);
  flex: 0 0 min(100%, 18rem);
  scroll-snap-align: start;
}

.collection-layout-coverflow > .stack-list > * {
  transform: scale(0.94);
  opacity: 0.82;
  transition: transform 0.18s ease, opacity 0.18s ease;
}

.collection-layout-coverflow > .stack-list > *.is-active {
  transform: scale(1);
  opacity: 1;
}

.collection-layout-masonry > .stack-list {
  column-count: 2;
  column-gap: 0.8rem;
}

.collection-layout-masonry > .stack-list > * {
  break-inside: avoid;
  margin-bottom: 0.8rem;
}

.collection-layout-stacked_cards > .stack-list {
  display: grid;
}

.collection-layout-stacked_cards > .stack-list > * + * {
  margin-top: -0.75rem;
}

.collection-layout-stacked_cards > .stack-list > * {
  position: relative;
}

.collection-layout-stacked_cards > .stack-list > *:nth-child(1) {
  z-index: 3;
}

.collection-layout-stacked_cards > .stack-list > *:nth-child(2) {
  z-index: 2;
}

.collection-layout-stacked_cards > .stack-list > *:nth-child(3) {
  z-index: 1;
}

.collection-layout-timeline > .stack-list {
  position: relative;
  gap: 1rem;
}

.collection-layout-timeline > .stack-list::before {
  content: "";
  position: absolute;
  left: 0.85rem;
  top: 0.35rem;
  bottom: 0.35rem;
  width: 1px;
  background: color-mix(in srgb, var(--hub-block-border), transparent 25%);
}

.collection-layout-timeline > .stack-list > * {
  position: relative;
  padding-left: 2rem;
}

.collection-layout-timeline > .stack-list > *::before {
  content: "";
  position: absolute;
  left: 0.42rem;
  top: 1rem;
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 999px;
  background: var(--hub-accent);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--hub-accent), transparent 82%);
}

.collection-layout-paged > .stack-list,
.collection-layout-slideshow > .stack-list,
.collection-layout-tabs > .stack-list,
.collection-layout-sticky_detail > .stack-list,
.collection-layout-spotlight_rail > .stack-list,
.collection-layout-feed > .stack-list {
  display: grid;
}

.collection-layout-paged > .stack-list > *,
.collection-layout-slideshow > .stack-list > *,
.collection-layout-tabs > .stack-list > *,
.collection-layout-sticky_detail > .stack-list > *,
.collection-layout-spotlight_rail > .stack-list > *,
.collection-layout-feed > .stack-list > * {
  grid-column: 1 / -1;
}

.collection-layout-paged > .stack-list > *:not(.is-active),
.collection-layout-slideshow > .stack-list > *:not(.is-active),
.collection-layout-tabs > .stack-list > *:not(.is-active),
.collection-layout-sticky_detail > .stack-list > *:not(.is-active),
.collection-layout-spotlight_rail > .stack-list > *:not(.is-active),
.collection-layout-feed > .stack-list > *:not(.is-active) {
  display: none;
}

.collection-layout-slideshow > .stack-list > *.is-active {
  animation: collection-fade-in 0.32s ease;
}

.collection-layout-sticky_detail > .collection-controls {
  position: sticky;
  top: 1rem;
  align-self: start;
}

.collection-layout-sticky_detail > .collection-controls .collection-control-list {
  flex-direction: column;
  width: min(100%, 18rem);
}

.collection-layout-sticky_detail > .collection-controls .collection-control {
  width: 100%;
  justify-content: flex-start;
}

.collection-layout-spotlight_rail > .collection-controls {
  flex-direction: column;
  align-items: stretch;
}

.collection-layout-spotlight_rail > .collection-controls .collection-control-list {
  width: 100%;
}

.collection-layout-feed > .stack-list {
  gap: 1rem;
}

@keyframes collection-fade-in {
  from {
    opacity: 0;
    transform: translateY(0.45rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.clip-carousel {
  display: grid;
  gap: var(--clip-carousel-card-gap);
  padding-bottom: var(--block-gap);
}

.clip-carousel__track {
  display: flex;
  gap: 0;
  overflow-x: auto;
  padding-bottom: 0.2rem;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.clip-carousel__track::-webkit-scrollbar {
  display: none;
}

.clip-carousel__track > * {
  min-width: 100%;
  flex: 0 0 100%;
  scroll-snap-align: start;
}

.clip-card {
  width: 100%;
  padding: 0;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
  gap: 0;
  appearance: none;
  -webkit-appearance: none;
}

.clip-carousel .clip-card {
  align-content: start;
}

.clip-card__media {
  position: relative;
  overflow: hidden;
  border-radius: var(--clip-carousel-media-radius);
}

.clip-carousel .clip-card__media .link-thumb,
.clip-carousel .clip-card__media--skeleton .clip-skeleton--media {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: var(--clip-carousel-media-radius);
  object-fit: var(--clip-carousel-media-fit);
}

.clip-card__featured-badge {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
}

.clip-card__media-fallback {
  display: grid;
  place-items: center;
  aspect-ratio: 1.2 / 1;
  border-radius: 0;
  background: color-mix(in srgb, var(--hub-surface-soft), #000 12%);
  color: var(--hub-muted);
  font-size: 0.95rem;
}

.clip-card__body {
  display: grid;
  gap: 0.65rem;
  padding: var(--clip-carousel-card-padding) var(--card-padding) calc(var(--card-padding) + 0.45rem);
}

.clip-carousel .clip-card__body .hub-block__eyebrow {
  color: color-mix(in srgb, var(--hub-text), white 42%);
  font-weight: 600;
}

.clip-card__body h3 {
  font-size: 1.05rem;
}

.clip-card__prices {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  color: var(--hub-text);
  font-size: 0.92rem;
  text-align: center;
}

.clip-card__prices > span + span::before {
  content: "•";
  margin-right: 0.5rem;
}

.clip-carousel .clip-card__prices {
  padding-bottom: 0.1rem;
}

.clip-carousel__pager {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.45rem;
  min-height: 0.9rem;
}

.clip-carousel__page-notch {
  appearance: none;
  border: 0;
  padding: 0;
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--hub-muted), transparent 52%);
  opacity: 0.55;
  cursor: pointer;
  font: inherit;
  transition: width 0.18s ease, opacity 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}

.clip-carousel__page-notch:hover {
  opacity: 0.85;
  transform: translateY(-1px);
}

.clip-carousel__page-notch.is-active {
  width: 2.15rem;
  background: linear-gradient(90deg, var(--hub-accent), color-mix(in srgb, var(--hub-accent-2), white 12%));
  opacity: 1;
}

.slideshow-gallery {
  display: grid;
  gap: 0.8rem;
}

.slideshow-gallery__viewport {
  position: relative;
  aspect-ratio: var(--slideshow-gallery-aspect-ratio);
  min-height: clamp(18rem, 58vw, 28rem);
  overflow: hidden;
  border-radius: var(--hub-card-radius);
  border: 1px solid var(--hub-block-border);
  background:
    radial-gradient(circle at top, color-mix(in srgb, var(--hub-accent), transparent 72%), transparent 50%),
    linear-gradient(160deg, color-mix(in srgb, var(--hub-surface), #000 6%), color-mix(in srgb, var(--hub-surface-strong), #000 18%));
  box-shadow: var(--hub-block-shadow);
}

.slideshow-gallery__slide {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.slideshow-gallery__slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.slideshow-gallery--fade .slideshow-gallery__slide {
  transform: scale(1);
}

.slideshow-gallery--slide .slideshow-gallery__slide {
  transform: translateX(8%);
}

.slideshow-gallery--slide .slideshow-gallery__slide.is-active {
  transform: translateX(0);
}

.slideshow-gallery--zoom .slideshow-gallery__slide {
  transform: scale(1.06);
}

.slideshow-gallery--zoom .slideshow-gallery__slide.is-active {
  transform: scale(1);
}

.slideshow-gallery__slide--intro {
  padding: clamp(1.5rem, 5vw, 3rem);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--hub-accent), transparent 18%), transparent 58%),
    radial-gradient(circle at bottom right, color-mix(in srgb, var(--hub-accent-2), transparent 30%), transparent 42%);
}

.slideshow-gallery__intro-copy {
  display: grid;
  gap: 0.8rem;
  max-width: min(100%, 28rem);
  text-align: center;
}

.slideshow-gallery__intro-copy .hub-block__title,
.slideshow-gallery__intro-copy .hub-block__description {
  margin: 0;
}

.slideshow-gallery__slide--mosaic {
  background: color-mix(in srgb, var(--hub-surface-strong), #000 18%);
}

.slideshow-gallery__caption {
  position: absolute;
  left: clamp(1rem, 3vw, 1.5rem);
  right: clamp(1rem, 3vw, 1.5rem);
  bottom: clamp(1rem, 3vw, 1.5rem);
  display: grid;
  gap: 0.35rem;
  padding: 1rem 1.1rem;
  border-radius: calc(var(--hub-card-radius) * 0.8);
  background: linear-gradient(180deg, color-mix(in srgb, var(--hub-surface-strong), transparent 18%), color-mix(in srgb, var(--hub-surface), transparent 8%));
  border: 1px solid color-mix(in srgb, var(--hub-block-border), transparent 18%);
  box-shadow: var(--hub-block-shadow);
  text-align: left;
}

.slideshow-gallery__caption .hub-block__title,
.slideshow-gallery__caption .hub-block__description {
  margin: 0;
}

.slideshow-gallery__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: var(--slideshow-gallery-image-fit);
  object-position: var(--slideshow-gallery-image-position);
}

.slideshow-gallery__image--mosaic {
  object-fit: var(--slideshow-gallery-image-fit);
  object-position: var(--slideshow-gallery-image-position);
}

.slideshow-gallery__pager {
  min-height: 0.9rem;
}

.slideshow-gallery__pager {
  gap: var(--slideshow-gallery-pager-gap);
}

.slideshow-gallery__pager .clip-carousel__page-notch {
  width: var(--slideshow-gallery-pager-notch-width);
  height: var(--slideshow-gallery-pager-notch-height);
  border-radius: var(--slideshow-gallery-pager-notch-radius);
}

.slideshow-gallery__pager .clip-carousel__page-notch.is-active {
  width: var(--slideshow-gallery-pager-notch-active-width);
}

.clip-card--skeleton {
  position: relative;
  overflow: hidden;
  cursor: progress;
}

.clip-card--skeleton,
.clip-card--skeleton:hover {
  transform: none;
  border-color: color-mix(in srgb, var(--hub-block-border), transparent 24%);
}

.clip-card--skeleton .clip-card__media {
  position: relative;
  overflow: hidden;
}

.clip-card--skeleton::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(110deg, transparent 0 38%, rgba(255, 255, 255, 0.14) 48%, rgba(255, 255, 255, 0.34) 50%, rgba(255, 255, 255, 0.14) 52%, transparent 62%);
  background-size: 240% 100%;
  animation: clip-card-shimmer 1.8s linear infinite;
  pointer-events: none;
}

.clip-card--skeleton > * {
  position: relative;
  z-index: 1;
}

.clip-skeleton {
  position: relative;
  overflow: hidden;
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)),
    linear-gradient(90deg, rgba(118, 73, 154, 0.35), rgba(205, 144, 255, 0.18), rgba(118, 73, 154, 0.35));
  background-size: 200% 100%;
  animation: clip-skeleton-shimmer 1.35s ease-in-out infinite;
}

.clip-card--skeleton .clip-skeleton--media {
  width: 100%;
  border-radius: calc(var(--hub-card-radius) + 10px);
}

.clip-card--skeleton .card-topline {
  min-height: 0.9rem;
}

.clip-card--skeleton .clip-skeleton--chip {
  width: 5.2rem;
  height: 0.95rem;
}

.clip-card--skeleton .clip-skeleton--title {
  width: min(80%, 14rem);
  height: 1.4rem;
  border-radius: 0.8rem;
}

.clip-card--skeleton .clip-skeleton--line {
  width: 100%;
  height: 1rem;
  border-radius: 0.8rem;
}

.clip-card--skeleton .clip-skeleton--line-short {
  width: 76%;
}

.clip-card--skeleton .clip-card__body {
  gap: 0.8rem;
}

@keyframes clip-skeleton-shimmer {
  0% {
    background-position: 180% 50%;
  }

  100% {
    background-position: -20% 50%;
  }
}

@keyframes clip-card-shimmer {
  0% {
    background-position: 180% 0;
  }

  100% {
    background-position: -20% 0;
  }
}

.stack-list--collection .hub-block--button {
  min-height: 0;
}

.stack-list--collection .text-block {
  box-shadow: none;
  background: color-mix(in srgb, var(--hub-surface-soft), transparent 30%);
}

.link-cta,
.action-link,
.product-action,
.product-secondary-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.8rem;
  padding: 0 1rem;
  border-radius: 999px;
  font-family: var(--hub-font-button), "Avenir Next", "Segoe UI", sans-serif;
  font-size: var(--size-button);
  font-weight: var(--weight-button);
  white-space: nowrap;
}

.link-cta,
.action-link,
.product-action {
  background: var(--hub-block-bg);
  color: var(--hub-button-text);
  border: 1px solid var(--hub-block-border);
  box-shadow: var(--hub-block-shadow);
}

.block-fill-glass .hub-profile-card,
.block-fill-glass .tab-bar,
.block-fill-glass .profile-hero,
.block-fill-glass .section-heading-block,
.block-fill-glass .product-card,
.block-fill-glass .hub-block__surface--unknown,
.block-fill-glass .hub-block__surface--collection,
.block-fill-glass .hub-block--button,
.block-fill-glass .featured-cta,
.block-fill-glass .social-pill,
.block-fill-glass .product-action {
  background:
    linear-gradient(180deg, color-mix(in srgb, #fff, transparent 90%), transparent),
    color-mix(in srgb, var(--hub-block-bg), transparent 48%);
  border-color: color-mix(in srgb, var(--hub-block-border), transparent 18%);
  box-shadow: var(--hub-block-shadow);
  backdrop-filter: blur(12px);
}

.block-fill-glass .link-cta,
.block-fill-glass .action-link,
.block-fill-glass .product-action {
  background: color-mix(in srgb, var(--hub-block-bg), transparent 55%);
  backdrop-filter: blur(12px);
}

.block-fill-outline .hub-profile-card,
.block-fill-outline .tab-bar,
.block-fill-outline .profile-hero,
.block-fill-outline .section-heading-block,
.block-fill-outline .product-card,
.block-fill-outline .hub-block__surface--unknown,
.block-fill-outline .hub-block__surface--collection,
.block-fill-outline .hub-block--button,
.block-fill-outline .featured-cta,
.block-fill-outline .social-pill,
.block-fill-outline .product-action {
  background: transparent;
  border-color: color-mix(in srgb, var(--hub-block-border), transparent 6%);
  box-shadow: none;
  backdrop-filter: none;
}

.block-fill-outline .link-cta,
.block-fill-outline .action-link,
.block-fill-outline .product-action {
  background: transparent;
  box-shadow: none;
  border-color: color-mix(in srgb, var(--hub-block-border), transparent 6%);
}

.container-style-none .public-page-card {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

.container-style-solid .public-page-card,
.container-style-glass .public-page-card,
.container-style-outline .public-page-card {
  border: 1px solid color-mix(in srgb, var(--hub-container-border), transparent calc((1 - var(--hub-container-alpha)) * 100%));
  box-shadow: var(--hub-container-shadow);
}

.container-style-solid .public-page-card,
.container-style-glass .public-page-card {
  background:
    linear-gradient(180deg, color-mix(in srgb, #fff, transparent 95%), transparent),
    color-mix(in srgb, var(--hub-container-bg), transparent calc((1 - var(--hub-container-alpha)) * 100%));
}

.container-style-glass .public-page-card {
  backdrop-filter: blur(12px);
}

.container-style-outline .public-page-card {
  background: transparent;
  backdrop-filter: none;
}

.product-secondary-action {
  color: var(--hub-text);
  border: 1px solid color-mix(in srgb, var(--hub-block-border), transparent 5%);
  background: color-mix(in srgb, var(--hub-surface-soft), transparent 10%);
}

.block-shape-square {
  --hub-block-radius: 0px;
  --hub-card-radius: 0px;
}

.block-shape-rounded {
  --hub-block-radius: max(24px, var(--card-radius));
  --hub-card-radius: max(22px, var(--card-radius));
}

.block-shape-rounder {
  --hub-block-radius: max(32px, var(--card-radius));
  --hub-card-radius: max(26px, var(--card-radius));
}

.block-shape-pill {
  --hub-block-radius: 999px;
  --hub-card-radius: max(30px, var(--card-radius));
}

.product-detail-card {
  overflow: hidden;
  border-radius: calc(var(--hub-card-radius) + 14px);
}

.clip-modal[hidden],
.clip-payment[hidden] {
  display: none;
}

.clip-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 0.75rem;
}

.clip-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5, 4, 7, 0.72);
  backdrop-filter: blur(10px);
}

.clip-modal__panel {
  position: relative;
  z-index: 1;
  width: min(42rem, calc(100vw - 1.5rem));
  max-height: calc(100vh - 1.5rem);
  margin: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  border-radius: var(--clip-carousel-modal-radius);
  background:
    linear-gradient(180deg, color-mix(in srgb, #fff, transparent 95%), transparent),
    color-mix(in srgb, var(--hub-surface), #000 12%);
  border: 1px solid color-mix(in srgb, var(--hub-card-border), transparent 10%);
  box-shadow: var(--hub-card-shadow);
}

@supports (height: 100dvh) {
  .clip-modal__panel {
    max-height: calc(100dvh - 1.5rem);
  }
}

.clip-modal__actions,
.clip-payment__header,
.clip-payment__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: space-between;
  align-items: center;
}

.clip-modal__close {
  min-height: 2.2rem;
  padding: 0 0.8rem;
  font-size: 0.86rem;
  pointer-events: auto;
}

.clip-modal__close--preview {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 3;
  display: inline-grid;
  place-items: center;
  min-width: 2.25rem;
  min-height: 2.25rem;
  padding: 0;
  border-radius: 999px;
  line-height: 1;
  font-size: 1.15rem;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
}

.clip-modal__preview {
  position: relative;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 0;
  border: 0;
  background: rgba(0, 0, 0, 0.35);
  aspect-ratio: 16 / 9;
}

.clip-modal__preview-media {
  position: absolute;
  inset: 0;
}

.clip-modal__preview iframe,
.clip-modal__preview img {
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
  display: block;
}

.clip-modal__preview-fallback {
  display: grid;
  place-items: center;
  height: 100%;
  color: var(--hub-muted);
}

.clip-modal__body,
.clip-payment__content {
  display: grid;
  gap: 0.8rem;
  min-height: 0;
}

.clip-modal__checkout-shell {
  position: relative;
  flex: 0 0 auto;
  width: 100%;
}

.clip-modal__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: calc(var(--clip-carousel-modal-padding) + 0.2rem) 1rem 0;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.clip-modal__description {
  white-space: pre-wrap;
}

.clip-modal__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.clip-modal__tag {
  display: inline-flex;
  align-items: center;
  min-height: 1.7rem;
  padding: 0 0.55rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--hub-card-border), transparent 10%);
  background: color-mix(in srgb, var(--hub-surface-soft), transparent 8%);
  color: var(--hub-text);
  font-size: 0.76rem;
}

.clip-modal__actions > * {
  width: 100%;
  min-width: 0;
  flex: 1 1 12rem;
}

.clip-modal__actions {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  align-items: stretch;
  padding: 1rem 1rem 0;
}

@media (max-width: 640px) {
  .clip-modal {
    padding: 0.375rem;
  }

  .clip-modal__panel {
    width: calc(100vw - 0.75rem);
    max-height: calc(100vh - 0.75rem);
    margin: 0;
    padding: 0;
    gap: 0;
  }

  @supports (height: 100dvh) {
    .clip-modal__panel {
      max-height: calc(100dvh - 0.75rem);
    }
  }

  .clip-modal__actions {
    gap: 0.55rem;
    padding: 1rem 0.8rem 0;
  }

  .clip-modal__actions > * {
    flex-basis: 100%;
  }

  .clip-modal__close--preview {
    top: 0.5rem;
    right: 0.5rem;
    min-width: 2rem;
    min-height: 2rem;
    font-size: 1rem;
  }

  .clip-modal__body {
    padding: 1.35rem 0.8rem 0;
  }
}

.clip-modal__cta {
  min-height: 3.4rem;
  transition:
    transform 160ms ease,
    filter 160ms ease,
    background-color 160ms ease,
    border-color 160ms ease,
    box-shadow 160ms ease;
}

.clip-modal__cta--secondary {
  background: color-mix(in srgb, var(--hub-surface-soft), transparent 4%);
}

.clip-modal__cta:hover,
.clip-modal__cta:focus-visible {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--hub-block-border-hover), #fff 22%);
  box-shadow:
    0 16px 34px rgba(0, 0, 0, 0.26),
    0 0 0 1px color-mix(in srgb, var(--hub-block-border-hover), transparent 24%) inset;
}

.clip-modal__cta--secondary:hover,
.clip-modal__cta--secondary:focus-visible {
  background:
    linear-gradient(180deg, color-mix(in srgb, #fff, transparent 95%), transparent),
    color-mix(in srgb, var(--hub-surface-soft), transparent 0%);
}

.clip-payment {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  place-items: center;
  padding: 1rem;
  border-radius: 0;
  background: color-mix(in srgb, var(--hub-surface-soft), transparent 22%);
}

.clip-payment__sheet {
  width: min(36rem, calc(100% - 1rem));
  max-height: calc(100% - 1rem);
  display: grid;
  gap: 0.95rem;
  padding: var(--clip-carousel-modal-padding) 1rem 1rem;
  border-radius: calc(var(--clip-carousel-modal-radius) - 4px);
  background: color-mix(in srgb, var(--hub-surface-soft), #000 8%);
  border: 1px solid color-mix(in srgb, var(--hub-card-border), transparent 12%);
  box-shadow: var(--hub-card-shadow);
  overflow: auto;
}

.clip-payment__header {
  position: relative;
  justify-content: flex-end;
  min-height: 2.4rem;
}

.clip-payment__header [data-clip-payment-title] {
  position: absolute;
  inset: 50% 0 auto;
  transform: translateY(-50%);
  margin: 0;
  text-align: center;
  pointer-events: none;
}

.clip-payment__header > .product-secondary-action {
  position: relative;
  z-index: 1;
  margin-left: auto;
}

.clip-payment__close {
  flex: 0 0 auto;
  min-width: 2.4rem;
  min-height: 2.4rem;
  padding: 0;
  border-radius: 999px;
  font-size: 1.35rem;
  line-height: 1;
}

.clip-payment__actions {
  padding-top: 0.85rem;
  margin-top: 0.15rem;
  justify-content: center;
  border-top: 1px solid color-mix(in srgb, var(--hub-card-border), transparent 16%);
}

.clip-payment__actions--confirm {
  flex-direction: column;
  align-items: stretch;
  gap: 0.55rem;
}

.clip-payment__actions--confirm > * {
  width: 100%;
}

.clip-payment__actions--inline {
  flex-direction: row;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.clip-payment__actions--inline > * {
  flex: 1 1 12rem;
  min-width: 0;
}

.clip-payment__actions-secondary {
  min-width: min(16rem, 100%);
  border-radius: 0.6rem;
  border-style: dashed;
  background: color-mix(in srgb, var(--hub-surface-soft), transparent 4%);
  color: var(--hub-muted);
  box-shadow: none;
  letter-spacing: 0.02em;
}

.clip-payment__actions > .product-action {
  min-width: min(16rem, 100%);
  min-height: 3.7rem;
  padding: 0 1.4rem;
  font-size: 1.02rem;
  border-radius: 0.6rem;
  box-shadow:
    0 18px 36px rgba(0, 0, 0, 0.24),
    var(--hub-block-shadow);
}

.clip-payment__actions > .product-action[data-payment-confirm] {
  background: linear-gradient(180deg, color-mix(in srgb, var(--hub-accent), white 10%), var(--hub-accent-2));
  border-color: color-mix(in srgb, var(--hub-accent), white 18%);
  color: #fff;
}

.clip-payment__note {
  width: 100%;
  border: 1px dashed color-mix(in srgb, var(--hub-card-border), transparent 6%);
  border-radius: 0.75rem;
  padding: 0.75rem 0.85rem;
  background: color-mix(in srgb, var(--hub-accent), transparent 93%);
  display: grid;
  gap: 0.75rem;
  justify-items: center;
  text-align: center;
}

.clip-payment__note-block {
  display: grid;
  gap: 0.5rem;
  justify-items: center;
}

.clip-payment__note-label {
  font-size: 0.74rem;
  color: var(--hub-muted);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.clip-payment__note-text {
  margin: 0;
  display: grid;
  gap: 0.5rem;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  justify-items: center;
}

.clip-payment__instruction-line {
  display: block;
  line-height: 1.5;
}

.clip-payment__instruction-small {
  font-size: 0.88em;
  opacity: 0.86;
}

.clip-payment__note-code {
  appearance: none;
  -webkit-appearance: none;
  -webkit-text-fill-color: var(--hub-text);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 3.2rem;
  padding: 0.9rem 1rem;
  border-radius: 0.6rem;
  background: linear-gradient(180deg, color-mix(in srgb, var(--hub-surface), white 2%), color-mix(in srgb, var(--hub-surface-strong), #000 7%));
  border: 1px solid color-mix(in srgb, var(--hub-card-border), transparent 2%);
  color: var(--hub-text);
  font-family: ui-monospace, SFMono-Regular, Consolas, Menlo, monospace;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.15;
  text-align: center;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.28);
}

.clip-payment__note-copied {
  font-size: 0.78rem;
  color: color-mix(in srgb, var(--hub-accent), white 10%);
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

@media (max-width: 640px) {
  .clip-payment {
    padding: 0.35rem;
  }

  .clip-payment__sheet {
    width: 100%;
    height: 100%;
    max-height: none;
    padding: 0.8rem 0.7rem 0.7rem;
    gap: 0.65rem;
    overflow: hidden;
    grid-template-rows: auto minmax(0, 1fr) auto;
  }

  .clip-payment__method-list {
    grid-template-columns: 1fr;
  }

  .clip-payment__content {
    overflow-y: auto;
    min-height: 0;
    gap: 0.55rem;
  }

  .clip-payment__method {
    min-height: 3rem;
    padding: 0.55rem 0.75rem;
  }

  .clip-payment__method-head {
    gap: 0.5rem;
  }

  .clip-payment__note {
    padding: 0.65rem 0.75rem;
    gap: 0.55rem;
  }

  .clip-payment__note-text {
    gap: 0.35rem;
    font-size: 0.92rem;
    line-height: 1.4;
  }

  .clip-payment__note-code {
    min-height: 2.9rem;
    padding: 0.75rem 0.9rem;
    font-size: 0.86rem;
  }

  .clip-payment__header [data-clip-payment-title] {
    font-size: 0.92rem;
  }

  .clip-payment__close {
    min-width: 2rem;
    min-height: 2rem;
    font-size: 1.15rem;
  }

  .clip-payment__actions {
    padding-top: 0.6rem;
    margin-top: 0;
  }

  .clip-payment__actions--confirm {
    gap: 0.45rem;
  }

  .clip-payment__actions > .product-action {
    min-height: 3.1rem;
    padding: 0 1rem;
    font-size: 0.94rem;
  }

  .clip-payment__actions > .product-action,
  .clip-payment__actions > .product-secondary-action {
    min-width: 100%;
  }
}

.clip-payment__method-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
}

.clip-payment__method {
  position: relative;
  display: flex;
  gap: 0.7rem;
  align-items: center;
  min-height: 3.5rem;
  padding: 0.7rem 0.85rem;
  border-radius: 0.6rem;
  border: 1px solid color-mix(in srgb, var(--hub-card-border), transparent 14%);
  background: color-mix(in srgb, var(--hub-surface), transparent 10%);
  cursor: pointer;
  user-select: none;
  transition:
    transform 160ms ease,
    background-color 160ms ease,
    border-color 160ms ease,
    box-shadow 160ms ease;
}

.clip-payment__method::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 0.35rem;
  border-radius: inherit;
  background: linear-gradient(180deg, color-mix(in srgb, var(--hub-accent), white 12%), var(--hub-accent-2));
  opacity: 0;
  transition: opacity 160ms ease;
}

.clip-payment__method.is-selected {
  border-color: color-mix(in srgb, var(--hub-accent), white 18%);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--hub-accent), transparent 82%), transparent),
    color-mix(in srgb, var(--hub-surface), transparent 2%);
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--hub-accent), transparent 34%) inset,
    0 14px 30px rgba(0, 0, 0, 0.22);
  transform: translateY(-1px);
}

.clip-payment__method.is-selected::before {
  opacity: 1;
}

.clip-payment__method:focus-within {
  border-color: color-mix(in srgb, var(--hub-accent), white 12%);
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--hub-accent), transparent 38%) inset,
    0 0 0 2px color-mix(in srgb, var(--hub-accent), transparent 64%);
}

.clip-payment__method-copy {
  display: flex;
  gap: 0.7rem;
  align-items: center;
  min-width: 0;
  flex: 1 1 auto;
}

.clip-payment__method-logo {
  display: block;
  width: 24px;
  height: 24px;
  object-fit: contain;
  flex: none;
}

.clip-payment__method-logo--throne {
  width: 26px;
  height: 26px;
}

.clip-payment__method-logo--crypto {
  border-radius: 50%;
}

.clip-payment__method-head {
  display: flex;
  flex: 1 1 auto;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
}

.clip-payment__method-head strong {
  min-width: 0;
  line-height: 1.05;
}

.clip-payment__method-price {
  color: var(--hub-muted);
  white-space: nowrap;
}

.clip-payment__method input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.clip-payment__notice {
  color: var(--hub-muted);
}

.clip-payment__status {
  display: grid;
  gap: 0.5rem;
}

.clip-payment__status--waiting {
  gap: 0.85rem;
  justify-items: center;
  text-align: center;
}

.clip-payment__spinner {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  color: var(--hub-muted);
  flex-wrap: wrap;
}

.clip-payment__spinner--center {
  justify-content: center;
}

.clip-payment__spinner-wheel {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 3px solid color-mix(in srgb, var(--hub-accent), transparent 66%);
  border-top-color: var(--hub-accent);
  animation: clip-payment-spin 0.85s linear infinite;
  flex: none;
}

.clip-payment__spinner-label {
  color: var(--hub-text);
  font-weight: 600;
}

.clip-payment__spinner-countdown {
  margin-left: 0.35rem;
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--hub-surface), transparent 4%);
  border: 1px solid color-mix(in srgb, var(--hub-card-border), transparent 20%);
  color: var(--hub-text);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
  flex: none;
}

.clip-payment__waiting-copy {
  max-width: 30rem;
}

.product-detail-copy {
  display: grid;
  gap: 0.8rem;
}

.product-detail-copy h1 {
  font-size: clamp(1.75rem, 5vw, 2.4rem);
  line-height: 1.02;
}

.product-long-copy {
  white-space: pre-wrap;
}

.hub-block--unknown .hub-block__surface--unknown {
  display: grid;
  gap: 0.6rem;
}

.public-footer {
  display: grid;
  gap: 0.85rem;
  justify-items: center;
  padding: 0.7rem 0 0.25rem;
  color: var(--hub-muted);
  text-align: center;
}

.public-footer__line {
  font-size: 0.88rem;
  line-height: 1.5;
}

.hub-block--button:hover,
.hub-block--button:focus-visible,
.featured-cta:hover,
.featured-cta:focus-visible,
.link-cta:hover,
.link-cta:focus-visible,
.action-link:hover,
.action-link:focus-visible,
.product-action:hover,
.product-action:focus-visible,
.product-secondary-action:hover,
.product-secondary-action:focus-visible,
.social-pill:hover,
.social-pill:focus-visible,
.tab-link:hover,
.tab-link:focus-visible {
  transform: translateY(-1px);
  filter: brightness(1.03);
}

.hub-block--button:hover,
.hub-block--button:focus-visible {
  background:
    linear-gradient(180deg, color-mix(in srgb, #fff, transparent 95%), transparent),
    color-mix(in srgb, var(--hub-block-hover-bg), var(--hub-surface) 26%);
}

.section-heading-block:hover,
.section-heading-block:focus-within,
.product-card:hover,
.product-card:focus-within,
.hub-block__surface--unknown:hover,
.hub-block__surface--unknown:focus-within,
.hub-block__surface--collection:hover,
.hub-block__surface--collection:focus-within {
  background:
    linear-gradient(180deg, color-mix(in srgb, #fff, transparent 95%), transparent),
    color-mix(in srgb, var(--hub-block-hover-bg), var(--hub-surface) 26%);
  border-color: color-mix(in srgb, var(--hub-block-border-hover), #fff 18%);
}

.hub-block--button:hover,
.hub-block--button:focus-visible,
.featured-cta:hover,
.featured-cta:focus-visible,
.link-cta:hover,
.link-cta:focus-visible,
.action-link:hover,
.action-link:focus-visible,
.product-action:hover,
.product-action:focus-visible,
.product-secondary-action:hover,
.product-secondary-action:focus-visible,
.social-pill:hover,
.social-pill:focus-visible,
.tab-link:hover,
.tab-link:focus-visible {
  filter: brightness(1.03);
}

.hub-block--button:active,
.featured-cta:active,
.link-cta:active,
.action-link:active,
.product-action:active,
.product-secondary-action:active,
.social-pill:active,
.tab-link:active {
  transform: translateY(0);
}

.hub-block--button:focus-visible,
.featured-cta:focus-visible,
.link-cta:focus-visible,
.action-link:focus-visible,
.product-action:focus-visible,
.product-secondary-action:focus-visible,
.social-pill:focus-visible,
.tab-link:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--hub-block-border-hover), #fff 20%);
  outline-offset: 4px;
}

.link-anim-pulse {
  animation: linkPulse 2.8s ease-in-out infinite;
}

.link-anim-glow {
  animation: linkGlow 3.2s ease-in-out infinite;
}

.link-anim-lift:hover {
  transform: translateY(-2px);
}

@keyframes public-gradient-shift {
  0% {
    background-position: 0% 50%;
  }

  100% {
    background-position: 100% 50%;
  }
}

@keyframes clip-payment-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes linkPulse {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.012);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes linkGlow {
  0% {
    box-shadow: var(--hub-block-shadow);
  }

  50% {
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--hub-accent), transparent 70%), var(--hub-block-shadow);
  }

  100% {
    box-shadow: var(--hub-block-shadow);
  }
}

@media (max-width: 479px) {
  .clip-card__prices {
    display: grid;
    gap: 0.35rem;
  }

  .clip-card__prices > span + span::before {
    content: none;
    margin-right: 0;
  }

  .hub-block--button {
    grid-template-columns: minmax(0, 1fr);
  }

  .hub-block--button .link-cta {
    width: 100%;
  }

  .collection-layout-grid > .stack-list {
    grid-template-columns: 1fr;
  }

  .collection-layout-filterable_grid > .stack-list,
  .collection-layout-masonry > .stack-list {
    grid-template-columns: 1fr;
    column-count: 1;
  }

  .collection-layout-sticky_detail > .collection-controls {
    position: static;
  }

  .collection-layout-sticky_detail > .collection-controls .collection-control-list {
    width: 100%;
  }

  .media-position-left .hub-block--button.hub-block--button-media-thumbnail:not(.hub-block--button-media-full-card) {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
  }

  .media-position-left .hub-block--button.hub-block--button-media-icon:not(.hub-block--button-media-full-card) {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
  }

  .media-position-right .hub-block--button.hub-block--button-media-thumbnail:not(.hub-block--button-media-full-card) {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .media-position-right .hub-block--button.hub-block--button-media-icon:not(.hub-block--button-media-full-card) {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .media-position-left .hub-block--cta.hub-block--button-no-media:not(.hub-block--button-media-full-card) {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
  }

  .media-position-right .hub-block--cta.hub-block--button-no-media:not(.hub-block--button-media-full-card) {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .media-position-right .hub-block--button-simple.hub-block--button-media-thumbnail .hub-block__content {
    justify-content: center;
  }

  .media-position-right .hub-block--button-simple.hub-block--button-media-icon .hub-block__content {
    justify-content: center;
  }

  .button-label-left .media-position-right .hub-block--button-simple.hub-block--button-media-icon .hub-block__content {
    align-items: flex-start;
    text-align: left;
  }

  .button-label-left .media-position-right .hub-block--button-simple.hub-block--button-media-icon .link-card-title {
    justify-content: flex-start;
    text-align: left;
  }

  .button-label-center .media-position-right .hub-block--button-simple.hub-block--button-media-icon .hub-block__content {
    align-items: center;
    text-align: center;
  }

  .button-label-center .media-position-right .hub-block--button-simple.hub-block--button-media-icon .link-card-title {
    justify-content: center;
    text-align: center;
  }

  .media-position-left .hub-block--button.hub-block--button-media-thumbnail:not(.hub-block--button-media-full-card) .hub-block__media--button {
    grid-column: 1;
  }

  .media-position-left .hub-block--button.hub-block--button-media-icon:not(.hub-block--button-media-full-card) .hub-block__media--button {
    grid-column: 1;
  }

  .media-position-left .hub-block--button.hub-block--button-media-thumbnail:not(.hub-block--button-media-full-card) .hub-block__content {
    grid-column: 2;
  }

  .media-position-left .hub-block--button.hub-block--button-media-icon:not(.hub-block--button-media-full-card) .hub-block__content {
    grid-column: 2;
  }

  .media-position-left .hub-block--button.hub-block--button-media-thumbnail:not(.hub-block--button-media-full-card) .link-cta {
    grid-column: 2;
    justify-self: start;
  }

  .media-position-left .hub-block--button.hub-block--button-media-icon:not(.hub-block--button-media-full-card) .link-cta {
    grid-column: 2;
    justify-self: start;
  }

  .media-position-left .hub-block--cta.hub-block--button-no-media:not(.hub-block--button-media-full-card) .link-cta {
    grid-column: 1;
    justify-self: start;
    width: auto;
  }

  .media-position-left .hub-block--cta.hub-block--button-no-media:not(.hub-block--button-media-full-card) .hub-block__content {
    grid-column: 2;
  }

  .media-position-right .hub-block--button.hub-block--button-media-thumbnail:not(.hub-block--button-media-full-card) .hub-block__media--button {
    grid-column: 2;
    grid-row: 1;
  }

  .media-position-right .hub-block--button.hub-block--button-media-thumbnail:not(.hub-block--button-media-full-card) .hub-block__content {
    grid-column: 1;
    grid-row: 1;
  }

  .media-position-right .hub-block--button.hub-block--button-media-thumbnail:not(.hub-block--button-media-full-card) .link-cta {
    grid-column: 1;
    justify-self: start;
  }

  .media-position-right .hub-block--button.hub-block--button-media-icon:not(.hub-block--button-media-full-card) .hub-block__media--button {
    grid-column: 2;
    grid-row: 1;
  }

  .media-position-right .hub-block--button.hub-block--button-media-icon:not(.hub-block--button-media-full-card) .hub-block__content {
    grid-column: 1;
    grid-row: 1;
  }

  .media-position-right .hub-block--button.hub-block--button-media-icon:not(.hub-block--button-media-full-card) .link-cta {
    grid-column: 1;
    justify-self: start;
  }

  .media-position-right .hub-block--cta.hub-block--button-no-media:not(.hub-block--button-media-full-card) .link-cta {
    grid-column: 2;
    justify-self: start;
    width: auto;
  }

  .media-position-right .hub-block--cta.hub-block--button-no-media:not(.hub-block--button-media-full-card) .hub-block__content {
    grid-column: 1;
    grid-row: 1;
  }

  .media-position-centered .hub-block--cta.hub-block--button-no-media,
  .media-position-full_card .hub-block--cta.hub-block--button-no-media {
    grid-template-columns: minmax(0, 1fr);
  }

  .media-position-centered .hub-block--cta.hub-block--button-no-media .link-cta,
  .media-position-full_card .hub-block--cta.hub-block--button-no-media .link-cta {
    width: auto;
  }
}

@media (max-width: 767px) {
  .public-page-nav--segmented_control .tab-link,
  .public-page-nav--tabs .tab-link,
  .public-page-nav--pills .tab-link {
    flex: 0 0 auto;
    min-width: max-content;
  }

  .public-page-nav--tabs .tab-link,
  .public-page-nav--segmented_control .tab-link {
    min-width: 6.5rem;
  }

  .public-page-nav--links,
  .public-page-nav--underline {
    flex-wrap: wrap;
    overflow-x: visible;
  }

  .public-page-nav--links .tab-link,
  .public-page-nav--underline .tab-link {
    flex: 0 1 auto;
    min-width: 0;
    white-space: normal;
  }

  .public-page-nav--tabs {
    padding-inline: 0.35rem;
  }

  .public-page-nav--segmented_control {
    padding-inline: 0.35rem;
  }

  .public-page-nav--links {
    padding-inline: 0.15rem;
  }

  .public-page-nav--underline {
    padding-inline: 0.05rem;
  }
}

@media (min-width: 768px) {
  .public-shell {
    padding-top: max(1.4rem, env(safe-area-inset-top));
    padding-bottom: max(2.5rem, calc(2rem + env(safe-area-inset-bottom)));
  }

  .public-shell__inner {
    gap: 1.1rem;
  }

  .public-layout-split_hero .hero-shell {
    grid-template-columns: 1fr 1.08fr;
    align-items: stretch;
  }

  .profile-header--hero .profile-hero__content {
    padding: 1.5rem;
    padding-top: clamp(9.5rem, 22vw, 15rem);
    padding-bottom: 1.75rem;
  }

  .product-detail-card {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr);
  }

  .product-detail-image {
    height: 100%;
  }
}

/* Keep CTA cards stacked so the action button sits beneath the copy. */
.media-position-left .hub-block--cta.hub-block--button-no-media:not(.hub-block--button-media-full-card),
.media-position-right .hub-block--cta.hub-block--button-no-media:not(.hub-block--button-media-full-card),
.media-position-centered .hub-block--cta.hub-block--button-no-media:not(.hub-block--button-media-full-card),
.media-position-full_card .hub-block--cta.hub-block--button-no-media:not(.hub-block--button-media-full-card) {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  text-align: center;
}

.media-position-left .hub-block--cta.hub-block--button-no-media:not(.hub-block--button-media-full-card) .hub-block__content,
.media-position-right .hub-block--cta.hub-block--button-no-media:not(.hub-block--button-media-full-card) .hub-block__content,
.media-position-centered .hub-block--cta.hub-block--button-no-media:not(.hub-block--button-media-full-card) .hub-block__content,
.media-position-full_card .hub-block--cta.hub-block--button-no-media:not(.hub-block--button-media-full-card) .hub-block__content,
.media-position-left .hub-block--cta.hub-block--button-no-media:not(.hub-block--button-media-full-card) .link-cta,
.media-position-right .hub-block--cta.hub-block--button-no-media:not(.hub-block--button-media-full-card) .link-cta,
.media-position-centered .hub-block--cta.hub-block--button-no-media:not(.hub-block--button-media-full-card) .link-cta,
.media-position-full_card .hub-block--cta.hub-block--button-no-media:not(.hub-block--button-media-full-card) .link-cta {
  grid-column: 1;
}

.media-position-left .hub-block--cta.hub-block--button-no-media:not(.hub-block--button-media-full-card) .link-cta,
.media-position-right .hub-block--cta.hub-block--button-no-media:not(.hub-block--button-media-full-card) .link-cta,
.media-position-centered .hub-block--cta.hub-block--button-no-media:not(.hub-block--button-media-full-card) .link-cta,
.media-position-full_card .hub-block--cta.hub-block--button-no-media:not(.hub-block--button-media-full-card) .link-cta {
  width: auto;
  justify-self: center;
}

.blog-index-list {
  gap: 1rem;
}

.blog-card {
  display: grid;
  gap: 0;
  overflow: hidden;
}

.blog-card__media {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: color-mix(in srgb, var(--hub-surface), #000 10%);
}

.blog-card__image,
.blog-article__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-card__content,
.blog-article {
  display: grid;
  gap: 0.85rem;
  padding: 1rem;
}

.blog-card__tags,
.blog-article__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.blog-tag {
  display: inline-flex;
  align-items: center;
  min-height: 1.8rem;
  padding: 0 0.65rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--hub-surface-soft), transparent 14%);
  border: 1px solid color-mix(in srgb, var(--hub-block-border), transparent 20%);
  color: var(--hub-muted);
  font-size: 0.82rem;
}

.blog-article__header {
  display: grid;
  gap: 0.6rem;
}

.blog-article__title {
  font-family: var(--hub-font-heading), "Avenir Next", "Segoe UI", sans-serif;
  font-size: clamp(1.8rem, 5vw, 2.6rem);
  line-height: 1.05;
  color: var(--hub-title);
}

.blog-article__summary {
  color: var(--hub-muted);
  line-height: 1.7;
}

.blog-article__figure {
  display: grid;
  gap: 0.55rem;
  margin: 0;
}

.blog-article__image {
  border-radius: calc(var(--hub-card-radius) + 8px);
}

.blog-article__caption {
  color: var(--hub-muted);
  font-size: 0.9rem;
}

.blog-article__body {
  display: grid;
  gap: 1rem;
  line-height: 1.75;
  color: var(--hub-text);
}

.blog-article__body h2,
.blog-article__body h3 {
  color: var(--hub-title);
  line-height: 1.15;
}

.blog-article__body p,
.blog-article__body ul,
.blog-article__body ol,
.blog-article__body pre {
  margin: 0;
}

.blog-article__body pre {
  overflow: auto;
  padding: 1rem;
  border-radius: 1rem;
  background: color-mix(in srgb, var(--hub-surface-strong), #000 14%);
  border: 1px solid color-mix(in srgb, var(--hub-block-border), transparent 22%);
}
