.product-catalog-hero{position:relative;overflow:hidden;padding:6rem 0 4.5rem;background:radial-gradient(circle at 15% 10%,rgba(99,102,241,.22),transparent 38%),radial-gradient(circle at 90% 20%,rgba(14,165,233,.16),transparent 36%)}.product-catalog-hero .container{max-width:960px}.product-catalog-hero h1{font-size:clamp(2.25rem,5vw,4.5rem);line-height:1.04;margin:.75rem 0 1rem}.product-catalog-hero p{max-width:780px;font-size:1.1rem;color:var(--text-muted)}
.product-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}.product-catalog-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:1.25rem;background:var(--surface);box-shadow:0 18px 45px rgba(2,6,23,.12)}.product-catalog-card__media{display:grid;place-items:center;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,rgba(99,102,241,.14),rgba(14,165,233,.1));font-size:4rem}.product-catalog-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.product-catalog-card:hover .product-catalog-card__media img{transform:scale(1.025)}.product-catalog-card__body{display:flex;flex:1;flex-direction:column;padding:1.35rem}.product-catalog-card h2{font-size:1.35rem;margin:.5rem 0}.product-catalog-card h2 a{color:inherit;text-decoration:none}.product-catalog-card p{color:var(--text-muted);flex:1}.product-meta-line,.product-card-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.product-meta-line{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}
.product-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;align-items:stretch}.product-plan-card{position:relative;display:flex;flex-direction:column;padding:1.5rem;border:1px solid var(--border);border-radius:1.25rem;background:var(--surface)}.product-plan-card--featured{border-color:rgba(99,102,241,.65);box-shadow:0 18px 45px rgba(99,102,241,.12)}.product-plan-card__head{display:flex;justify-content:space-between;gap:1rem;align-items:center}.product-plan-card__head>span{font-size:1.2rem;font-weight:700}.product-plan-card__head small{color:var(--text-muted)}.product-plan-price{display:flex;align-items:baseline;gap:.35rem;margin:1rem 0}.product-plan-price strong{font-size:2rem}.product-plan-card p{color:var(--text-muted)}.product-plan-card ul{list-style:none;margin:0 0 1.25rem;padding:0;flex:1}.product-plan-card li{display:flex;gap:.5rem;align-items:flex-start;padding:.32rem 0}.product-plan-card li i{margin-top:.25rem;color:#22c55e}
.product-showcase-list{display:grid;gap:1.5rem}.product-showcase{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:2rem;align-items:center;padding:1.5rem;border:1px solid var(--border);border-radius:1.3rem;background:var(--surface)}.product-showcase--image-left .product-showcase__media{order:-1}.product-showcase__copy h3{font-size:clamp(1.5rem,3vw,2.25rem)}.product-showcase__media,.product-image-zoom{appearance:none;border:0;padding:0;background:transparent;cursor:zoom-in}.product-showcase__media{overflow:hidden;border-radius:1rem}.product-showcase__media img{width:100%;height:auto;display:block}.product-screenshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.product-screenshot{margin:0;overflow:hidden;border:1px solid var(--border);border-radius:1rem;background:var(--surface)}.product-screenshot button{display:block;width:100%}.product-screenshot img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .25s ease}.product-screenshot:hover img{transform:scale(1.015)}.product-screenshot figcaption{padding:.75rem 1rem;color:var(--text-muted)}.project-card-image,.process-step-image{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:.8rem;margin:0 0 1rem}
.product-image-lightbox{position:fixed;inset:0;z-index:99999;display:none;place-items:center;padding:2rem;background:rgba(2,6,23,.9);backdrop-filter:blur(8px)}.product-image-lightbox.is-open{display:grid}.product-image-lightbox img{max-width:min(96vw,1600px);max-height:90vh;border-radius:1rem;box-shadow:0 25px 90px rgba(0,0,0,.45)}.product-image-lightbox button{position:absolute;top:1rem;right:1rem;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(15,23,42,.65);color:#fff;font-size:1.25rem}
.docs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.docs-card{display:grid;grid-template-columns:96px 1fr;gap:1.2rem;align-items:start;padding:1.35rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface)}.docs-card__icon{display:grid;place-items:center;width:96px;height:96px;border-radius:1rem;background:rgba(99,102,241,.1);font-size:2.5rem}.docs-card__icon img{max-width:72px;max-height:72px}.docs-card h2{font-size:1.35rem;margin:.3rem 0}.docs-card p{color:var(--text-muted)}
.changelog-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.changelog-filter a{padding:.55rem .85rem;border:1px solid var(--border);border-radius:999px;text-decoration:none;color:inherit}.changelog-filter a.active{background:#6366f1;border-color:#6366f1;color:#fff}.public-changelog{display:grid;gap:1rem}.public-change{display:grid;grid-template-columns:150px 1fr;gap:1.5rem;padding:1.4rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface)}.public-change__meta{display:flex;flex-direction:column;gap:.45rem;align-items:flex-start}.public-change__meta time{color:var(--text-muted);font-size:.85rem}.public-change__body h2{font-size:1.35rem}.public-change__image{float:right;width:min(42%,360px);margin:0 0 1rem 1rem}.public-change__image img{width:100%;border-radius:.8rem}.product-change-type{display:inline-flex;padding:.25rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:rgba(99,102,241,.15)}.product-change-type--security,.product-change-type--breaking{background:rgba(239,68,68,.16);color:#ef4444}.product-change-type--fix{background:rgba(34,197,94,.16);color:#22c55e}.product-changelog-list{display:grid;gap:.65rem}.product-changelog-list article{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:start;padding:.8rem 0;border-bottom:1px solid var(--border)}.product-changelog-list p{margin:.25rem 0 0;color:var(--text-muted)}
.account-license-list{display:grid;gap:1rem}.account-license-card{padding:1.35rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface)}.account-license-card__head{display:flex;justify-content:space-between;gap:1rem}.account-license-card__head span{color:var(--text-muted)}.account-license-card__head h2{margin:.25rem 0}.license-status{display:inline-flex;align-self:flex-start;padding:.3rem .6rem;border-radius:999px;font-size:.75rem;font-weight:700;background:rgba(148,163,184,.14)}.license-status--active{color:#22c55e;background:rgba(34,197,94,.14)}.license-status--suspended{color:#f59e0b;background:rgba(245,158,11,.14)}.license-status--revoked{color:#ef4444;background:rgba(239,68,68,.14)}.account-license-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0}.account-license-grid>div{padding:.8rem;border-radius:.8rem;background:rgba(148,163,184,.07)}.account-license-grid small,.account-installations small{display:block;color:var(--text-muted)}.account-installations{display:grid;gap:.6rem}.account-installations>div{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--border);border-radius:.75rem}.account-installations>div>div:first-child{flex:1}.product-empty{grid-column:1/-1;padding:2rem;text-align:center;border:1px dashed var(--border);border-radius:1rem;color:var(--text-muted)}
@media(max-width:991.98px){.product-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-showcase{grid-template-columns:1fr}.product-showcase--image-left .product-showcase__media{order:0}.product-screenshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.docs-grid{grid-template-columns:1fr}.account-license-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.product-catalog-hero{padding:4.5rem 0 3rem}.product-catalog-grid,.product-screenshot-grid{grid-template-columns:1fr}.public-change{grid-template-columns:1fr}.public-change__meta{flex-direction:row;flex-wrap:wrap;align-items:center}.public-change__image{float:none;width:100%;margin:0 0 1rem}.docs-card{grid-template-columns:1fr}.account-license-grid{grid-template-columns:1fr}.account-installations>div{align-items:flex-start;flex-wrap:wrap}}

.account-login-section {
  min-height: 62vh;
  display: flex;
  align-items: center;
}

.account-login-card {
  width: min(100%, 560px);
  margin-inline: auto;
  padding: clamp(1.4rem, 4vw, 2.5rem);
  border: 1px solid var(--border);
  border-radius: 24px;
  background: var(--surface);
  box-shadow: 0 20px 60px rgba(0, 0, 0, .08);
}

.account-license-actions {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
  margin: 0 0 1rem;
  padding: .8rem;
  border: 1px solid var(--border);
  border-radius: .8rem;
  background: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
}

.account-license-actions form {
  margin: 0;
}

.account-release-meta,
.account-release-note {
  color: var(--text-muted);
  font-size: .875rem;
}

.product-pricing-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .75fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: center;
}

.product-pricing-hero-media {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 1.25rem;
  box-shadow: 0 20px 55px rgba(2, 6, 23, .16);
}

.product-pricing-hero-media img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.product-pricing-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
  margin-top: 1.4rem;
}

.product-pricing-gallery__item {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: .9rem;
}

.product-pricing-gallery__item img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transition: transform .25s ease;
}

.product-pricing-gallery__item:hover img {
  transform: scale(1.02);
}

@media (max-width: 767.98px) {
  .product-pricing-hero-grid,
  .product-pricing-gallery {
    grid-template-columns: 1fr;
  }
}

.product-plan-options {
  display: grid;
  gap: .55rem;
  margin: 0 0 1rem;
}

.product-plan-option {
  display: grid;
  gap: .15rem;
  padding: .7rem .8rem;
  border: 1px solid var(--border);
  border-radius: .75rem;
  background: color-mix(in srgb, var(--surface) 94%, var(--text) 6%);
}

.product-plan-option > span {
  color: var(--text-muted);
  font-size: .78rem;
}

.product-plan-option > strong {
  font-size: .95rem;
}

.product-plan-option > strong small,
.product-plan-option > small {
  color: var(--text-muted);
  font-size: .75rem;
  font-weight: 400;
}

.product-local-nav {
  position: sticky;
  top: var(--ts-public-header-height, 0px);
  z-index: 80;
  border-bottom: 1px solid var(--border);
  background: color-mix(in srgb, var(--surface) 91%, transparent);
  backdrop-filter: blur(16px);
}

.product-local-nav__inner {
  align-items: center;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  min-height: 54px;
}

.product-local-nav__brand {
  align-items: baseline;
  color: var(--text);
  display: inline-flex;
  font-weight: 700;
  gap: 8px;
  min-width: 0;
  text-decoration: none;
}

.product-local-nav__brand span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-local-nav__brand small {
  color: var(--text-muted);
  font-size: .72rem;
  font-weight: 600;
}

.product-local-nav__links {
  align-items: center;
  display: flex;
  gap: 4px;
  overflow-x: auto;
  scrollbar-width: none;
}

.product-local-nav__links::-webkit-scrollbar {
  display: none;
}

.product-local-nav__links a {
  border-radius: 999px;
  color: var(--text-muted);
  flex: 0 0 auto;
  font-size: .86rem;
  font-weight: 600;
  padding: 7px 11px;
  text-decoration: none;
}

.product-local-nav__links a:hover {
  background: color-mix(in srgb, var(--surface) 88%, var(--text) 12%);
  color: var(--text);
}

.product-page-anchor {
  scroll-margin-top: 120px;
}

.product-inline-docs > .landing-content-blocks {
  margin-top: 12px;
}

@media (max-width: 767.98px) {
  .product-local-nav__inner {
    align-items: stretch;
    flex-direction: column;
    gap: 0;
    padding-bottom: 8px;
    padding-top: 8px;
  }

  .product-local-nav__brand {
    padding: 2px 0 7px;
  }
}
