/* ==========================================================================
   SECTIONS – Hero, Magazine grid, Timeline, Diary, Article full
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Hero section
   -------------------------------------------------------------------------- */
.st-hero {
  position: relative;
  width: 100%;
  min-height: 420px;
  display: flex;
  align-items: center;
  overflow: hidden;
  /* Zruší padding-top z .st-main aby hero začínalo hned pod headerem */
  margin-top: calc(-1 * var(--header-height));
}
.st-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.st-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.40;
}
.st-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, var(--bg) 0%, rgba(11, 19, 38, 0.80) 55%, transparent 100%);
  pointer-events: none;
}
.st-hero__content {
  position: relative;
  z-index: 10;
  max-width: 56rem;
  /* Odsunutí textu pod header + běžný padding */
  padding: calc(var(--header-height) + var(--sp-8)) var(--sp-16) var(--sp-8);
}
@media (max-width: 1023px) {
  .st-hero__content {
    padding: calc(var(--header-height) + var(--sp-6)) var(--sp-8) var(--sp-6);
  }
}
@media (max-width: 639px) {
  .st-hero {
    min-height: 320px;
  }
  .st-hero__content {
    padding: calc(var(--header-height) + var(--sp-4)) var(--sp-4) var(--sp-4);
  }
}

.st-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  background-color: rgba(0, 121, 126, 0.30);
  padding: var(--sp-1) var(--sp-3);
  border-radius: var(--radius-full);
  border: 1px solid rgba(0, 220, 229, 0.20);
  margin-bottom: var(--sp-6);
}
.st-hero__eyebrow-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: var(--radius-full);
  background-color: var(--tertiary);
  animation: pulse-dot 2s infinite;
  flex-shrink: 0;
}
.st-hero__eyebrow-text {
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--tertiary);
}
.st-hero__heading {
  font-family: var(--font-headline);
  font-size: clamp(var(--text-4xl), 6vw, var(--text-7xl));
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--on-background);
  margin-bottom: var(--sp-6);
}
.st-hero__heading em {
  font-style: italic;
  color: var(--primary);
}
.st-hero__sub {
  font-size: var(--text-xl);
  color: var(--outline);
  max-width: 38rem;
  margin-bottom: var(--sp-10);
  line-height: 1.6;
}
.st-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-4);
}

/* --------------------------------------------------------------------------
   2. Section header (shared)
   -------------------------------------------------------------------------- */
.st-section-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: var(--sp-8);
  flex-wrap: wrap;
  gap: var(--sp-4);
}
.st-section-header__title {
  font-family: var(--font-headline);
  font-size: var(--text-3xl);
  font-weight: 700;
  color: var(--on-surface);
}
.st-section-header__sub {
  color: var(--outline);
  margin-top: var(--sp-1);
  font-size: var(--text-base);
}
.st-section-header__link {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--text-base);
  color: var(--primary);
  font-weight: 500;
  white-space: nowrap;
  transition: color var(--t-base);
}
.st-section-header__link:hover {
  color: var(--tertiary);
}
.st-section-header__link .material-symbols-outlined {
  font-size: 1.25rem;
}

/* --------------------------------------------------------------------------
   3. Magazine bento grid
   -------------------------------------------------------------------------- */
.st-magazine {
  padding: var(--sp-16) var(--sp-16);
  background-color: var(--surface-container-low);
}
@media (max-width: 1023px) {
  .st-magazine {
    padding: var(--sp-12) var(--sp-8);
  }
}
@media (max-width: 639px) {
  .st-magazine {
    padding: var(--sp-8) var(--sp-4);
  }
}
.st-bento {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--sp-8);
}
@media (max-width: 1023px) {
  .st-bento {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 639px) {
  .st-bento {
    grid-template-columns: 1fr;
  }
}
.st-bento__feature {
  grid-column: span 1;
}
.st-bento__secondary {
  display: flex;
  flex-direction: column;
  gap: var(--sp-8);
}

/* Feature card – stejná jako ostatní, jen s rámečkem */
.st-bento__feature {
  border: 1px solid rgba(184, 195, 255, 0.35);
  border-radius: var(--radius-xl);
  box-shadow: 0 0 16px rgba(46, 91, 255, 0.12), 0 0 0 1px rgba(46, 91, 255, 0.10);
  display: flex;
  flex-direction: column;
}
.st-bento__feature article {
  flex: 1;
  height: 100%;
}
.st-bento__feature .card__image {
  height: 13rem;
}

/* Regulérní bento karty (ne-feature) */
.st-bento > div:not(.st-bento__feature) article {
  height: 100%;
}
.st-bento > div:not(.st-bento__feature) .card__image {
  height: 13rem;
}

/* --------------------------------------------------------------------------
   4. "Co jsem dnes dělal" – Timeline section
   -------------------------------------------------------------------------- */
.st-timeline {
  padding: var(--sp-16) var(--sp-16);
  background-color: var(--surface);
}
@media (max-width: 1023px) {
  .st-timeline {
    padding: var(--sp-12) var(--sp-8);
  }
}
@media (max-width: 639px) {
  .st-timeline {
    padding: var(--sp-8) var(--sp-4);
  }
}
.st-timeline__inner {
  max-width: 52rem;
  margin: 0 auto;
}
.st-timeline__header {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
  margin-bottom: var(--sp-12);
}
.st-timeline__icon {
  width: 3rem;
  height: 3rem;
  border-radius: var(--radius-full);
  background-color: rgba(184, 195, 255, 0.10);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--primary);
  flex-shrink: 0;
}
.st-timeline__title {
  font-family: var(--font-headline);
  font-size: var(--text-3xl);
  font-weight: 700;
}

/* Timeline track */
.st-timeline__track {
  border-left: 1px solid rgba(67, 70, 86, 0.30);
  margin-left: var(--sp-6);
  padding-left: var(--sp-10);
  position: relative;
}
.st-timeline__item {
  position: relative;
  margin-bottom: var(--sp-12);
}
.st-timeline__item:last-child {
  margin-bottom: 0;
}
.st-timeline__dot {
  position: absolute;
  left: calc(-1 * var(--sp-10) - 6px);
  top: 0;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: var(--radius-full);
  background-color: var(--tertiary);
  flex-shrink: 0;
}
.st-timeline__dot--primary { background-color: var(--primary); }
.st-timeline__dot--outline  { background-color: var(--outline); }

.st-timeline__time {
  display: block;
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--outline);
  margin-bottom: var(--sp-2);
}
.st-timeline__card {
  padding: var(--sp-6);
}
.st-timeline__card-title {
  font-size: var(--text-lg);
  font-weight: 700;
  color: var(--primary);
  margin-bottom: var(--sp-2);
  font-family: var(--font-headline);
}
.st-timeline__card-body {
  color: var(--on-surface-variant);
  line-height: 1.7;
  font-size: var(--text-base);
}
.st-timeline__card-tags {
  display: flex;
  gap: var(--sp-2);
  margin-top: var(--sp-4);
}

/* --------------------------------------------------------------------------
   5. Diary / Analysis section
   -------------------------------------------------------------------------- */
.st-diary {
  padding: var(--sp-16) var(--sp-16);
  background-color: var(--surface-container-lowest);
}
@media (max-width: 1023px) {
  .st-diary {
    padding: var(--sp-12) var(--sp-8);
  }
}
@media (max-width: 639px) {
  .st-diary {
    padding: var(--sp-8) var(--sp-4);
  }
}
.st-diary__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-16);
  align-items: center;
}
@media (max-width: 1023px) {
  .st-diary__grid {
    grid-template-columns: 1fr;
    gap: var(--sp-12);
  }
}
.st-diary__title {
  font-family: var(--font-headline);
  font-size: var(--text-4xl);
  font-weight: 700;
  color: var(--on-surface);
  margin-bottom: var(--sp-8);
}
.st-diary__quote {
  font-size: var(--text-xl);
  color: var(--outline);
  font-style: italic;
  border-left: 4px solid var(--tertiary);
  padding-left: var(--sp-6);
  line-height: 1.6;
  margin-bottom: var(--sp-10);
}
.st-diary__list {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
}
.st-diary__list-item {
  display: flex;
  gap: var(--sp-4);
  padding: var(--sp-4);
  border-radius: var(--radius-lg);
  cursor: pointer;
  transition: background var(--t-base);
  text-decoration: none;
}
.st-diary__list-item:hover {
  background: rgba(45, 52, 73, 0.30);
}
.st-diary__list-num {
  font-size: var(--text-3xl);
  font-weight: 700;
  font-family: var(--font-headline);
  color: rgba(184, 195, 255, 0.25);
  line-height: 1;
  flex-shrink: 0;
  min-width: 2.5rem;
}
.st-diary__list-title {
  font-weight: 700;
  color: var(--on-surface);
  font-size: var(--text-base);
  margin-bottom: var(--sp-1);
}
.st-diary__list-sub {
  font-size: var(--text-sm);
  color: var(--outline);
}

/* Diary glow card  */
.st-diary__card {
  padding: var(--sp-8);
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
}
@media (max-width: 639px) {
  .st-diary__card {
    aspect-ratio: auto;
  }
}
.st-diary__card-icon {
  font-size: 2.5rem;
  color: var(--tertiary);
}
.st-diary__card-id {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--outline);
}
.st-diary__card-title {
  font-family: var(--font-headline);
  font-size: var(--text-3xl);
  font-weight: 700;
  line-height: 1.15;
  color: var(--on-surface);
  margin-bottom: var(--sp-4);
}
.st-diary__card-body {
  color: var(--on-surface-variant);
  font-size: var(--text-lg);
  line-height: 1.5;
  margin-bottom: var(--sp-6);
}

/* --------------------------------------------------------------------------
   6. Article full page
   -------------------------------------------------------------------------- */
.st-article {
  max-width: 52rem;
  margin: 0 auto;
  padding: var(--sp-12) var(--sp-8);
}
@media (min-width: 1440px) {
  .st-article {
    max-width: 68rem;
  }
}
@media (max-width: 639px) {
  .st-article {
    padding: var(--sp-8) var(--sp-4);
  }
}
.st-article__kicker {
  display: inline-block;
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--tertiary);
  margin-bottom: var(--sp-4);
}
.st-article__title {
  font-family: var(--font-headline);
  font-size: clamp(var(--text-3xl), 5vw, var(--text-5xl));
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--on-surface);
  margin-bottom: var(--sp-6);
}
.st-article__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-3);
  margin-bottom: var(--sp-8);
  font-size: var(--text-sm);
  color: var(--outline);
  padding-bottom: var(--sp-8);
  border-bottom: 1px solid rgba(67, 70, 86, 0.15);
}
.st-article__author {
  font-weight: 600;
  color: var(--primary);
}
.st-article__hero-image {
  border-radius: var(--radius-2xl);
  overflow: hidden;
  margin-bottom: var(--sp-12);
  aspect-ratio: 16 / 9;
}
.st-article__hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.st-article__perex {
  font-size: var(--text-xl);
  color: var(--on-surface-variant);
  line-height: 1.65;
  margin-bottom: var(--sp-8);
  border-left: 4px solid var(--tertiary);
  padding-left: var(--sp-6);
}
.st-article__body {
  color: var(--on-surface-variant);
  line-height: 1.8;
  font-size: var(--text-md);
}
.st-article__body h2 {
  font-family: var(--font-headline);
  font-size: var(--text-3xl);
  font-weight: 700;
  color: var(--on-surface);
  margin: var(--sp-10) 0 var(--sp-4);
  letter-spacing: -0.02em;
}
.st-article__body h3 {
  font-family: var(--font-headline);
  font-size: var(--text-2xl);
  font-weight: 600;
  color: var(--on-surface);
  margin: var(--sp-8) 0 var(--sp-3);
}
.st-article__body p {
  margin-bottom: var(--sp-6);
}
.st-article__body strong {
  color: var(--on-surface);
  font-weight: 600;
}
.st-article__body a {
  color: var(--primary);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: rgba(0, 220, 229, 0);
  transition: text-decoration-color var(--t-base);
}
.st-article__body a:hover {
  text-decoration-color: var(--tertiary);
}
.st-article__body ul,
.st-article__body ol {
  margin-bottom: var(--sp-6);
  padding-left: var(--sp-6);
}
.st-article__body ul { list-style: disc; }
.st-article__body ol { list-style: decimal; }
.st-article__body li {
  margin-bottom: var(--sp-2);
}
.st-article__body img {
  border-radius: var(--radius-xl);
  margin: var(--sp-8) 0;
}
.st-article__body blockquote {
  border-left: 4px solid var(--tertiary);
  padding: var(--sp-4) var(--sp-6);
  margin: var(--sp-8) 0;
  font-style: italic;
  color: var(--outline);
  font-size: var(--text-lg);
}
.st-article__tags {
  margin-top: var(--sp-12);
  padding-top: var(--sp-8);
  border-top: 1px solid rgba(67, 70, 86, 0.15);
}
.st-article__tags-label {
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--outline);
  margin-bottom: var(--sp-3);
}

/* --------------------------------------------------------------------------
   7. About / O nás page
   -------------------------------------------------------------------------- */
.st-about {
  max-width: 56rem;
  margin: 0 auto;
  padding: var(--sp-16) var(--sp-8);
}
.st-author-card {
  display: flex;
  gap: var(--sp-6);
  padding: var(--sp-6);
  background: var(--surface-container-high);
  border-radius: var(--radius-2xl);
  align-items: flex-start;
}
@media (max-width: 639px) {
  .st-author-card {
    flex-direction: column;
  }
}
.st-author-card__avatar {
  width: 5rem;
  height: 5rem;
  border-radius: var(--radius-full);
  overflow: hidden;
  flex-shrink: 0;
  border: 2px solid rgba(184, 195, 255, 0.20);
}
.st-author-card__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.st-author-card__name {
  font-family: var(--font-headline);
  font-size: var(--text-xl);
  font-weight: 700;
  color: var(--on-surface);
  margin-bottom: var(--sp-1);
}
.st-author-card__role {
  font-size: var(--text-sm);
  color: var(--tertiary);
  font-weight: 600;
  margin-bottom: var(--sp-3);
}
.st-author-card__bio {
  font-size: var(--text-base);
  color: var(--on-surface-variant);
  line-height: 1.7;
}

/* --------------------------------------------------------------------------
   8. Services Carousel (front page)
   -------------------------------------------------------------------------- */
.st-services {
  padding: var(--sp-12) var(--sp-16);
  background-color: var(--surface-container-low);
}
@media (max-width: 1023px) {
  .st-services { padding: var(--sp-10) var(--sp-8); }
}
@media (max-width: 639px) {
  .st-services { padding: var(--sp-8) var(--sp-4); }
}

.st-services__inner {
  max-width: var(--content-max);
  margin: 0 auto;
}

.st-services__wrapper {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-2xl);
  width: 100%;
}

.st-services__track {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
}

.st-service-card {
  flex: 0 0 100%;
  min-width: 100%;
  padding: var(--sp-12) var(--sp-16);
  display: flex;
  flex-direction: column;
  gap: var(--sp-6);
  min-height: 22rem;
  background: var(--surface-container);
  border-radius: var(--radius-2xl);
  position: relative;
  overflow: hidden;
  /* Accent čára nahoře */
}
.st-service-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--primary-container), var(--tertiary));
}
/* Dekorativní číslo na pozadí */
.st-service-card__number {
  position: absolute;
  right: var(--sp-8);
  bottom: var(--sp-4);
  font-size: 9rem;
  font-weight: 900;
  font-family: var(--font-headline);
  color: rgba(184, 195, 255, 0.05);
  line-height: 1;
  pointer-events: none;
  user-select: none;
  letter-spacing: -0.05em;
}
@media (max-width: 639px) {
  .st-service-card {
    padding: var(--sp-8) var(--sp-6);
    min-height: 18rem;
  }
}

.st-service-card__icon {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: var(--radius-xl);
  background: linear-gradient(135deg, rgba(46, 91, 255, 0.20), rgba(0, 220, 229, 0.10));
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.st-service-card__icon .material-symbols-outlined {
  font-size: 1.5rem;
  color: var(--primary);
}

.st-service-card__title {
  font-family: var(--font-headline);
  font-size: var(--text-3xl);
  font-weight: 700;
  color: var(--on-surface);
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.st-service-card__body {
  color: var(--on-surface-variant);
  line-height: 1.75;
  font-size: var(--text-md);
  flex: 1;
  max-width: 38rem;
}

.st-services__prev,
.st-services__next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--radius-full);
  background: rgba(45, 52, 73, 0.70);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--on-surface);
  transition: background var(--t-base), color var(--t-base);
  z-index: 10;
  backdrop-filter: blur(8px);
}
.st-services__prev { left: var(--sp-4); }
.st-services__next { right: var(--sp-4); }
.st-services__prev:hover,
.st-services__next:hover {
  background: rgba(46, 91, 255, 0.40);
  color: var(--primary);
}

.st-services__dots {
  position: absolute;
  bottom: var(--sp-5);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: var(--sp-2);
  z-index: 10;
}
.st-services__dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: var(--radius-full);
  background: rgba(142, 144, 162, 0.40);
  border: none;
  cursor: pointer;
  padding: 0;
  transition: background var(--t-base), width var(--t-base);
}
.st-services__dot.is-active {
  background: var(--primary);
  width: 1.5rem;
  border-radius: var(--radius-sm);
}

/* Empty state (shared) */
.st-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-4);
  padding: var(--sp-16) var(--sp-8);
  color: var(--outline);
  text-align: center;
}
.st-empty-state .material-symbols-outlined {
  font-size: 3rem;
  opacity: 0.40;
}

/* Timeline "Více" odkaz */
.st-timeline__more {
  margin-top: var(--sp-10);
  display: flex;
  justify-content: center;
}

/* --------------------------------------------------------------------------
   9. Views: article list page
   -------------------------------------------------------------------------- */
.view-articles {
  padding: var(--sp-12) var(--sp-8);
  max-width: var(--content-max);
  margin: 0 auto;
}
@media (max-width: 639px) {
  .view-articles {
    padding: var(--sp-8) var(--sp-4);
  }
}
.view-content.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-8);
}
@media (max-width: 1023px) {
  .view-content.grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 639px) {
  .view-content.grid-3 {
    grid-template-columns: 1fr;
  }
}

/* --------------------------------------------------------------------------
   Newsletter landing page
   -------------------------------------------------------------------------- */
.st-nl-page {
  max-width: 64rem;
  margin: 0 auto;
  padding: var(--sp-12) var(--sp-8) var(--sp-16);
}
@media (max-width: 639px) {
  .st-nl-page {
    padding: var(--sp-8) var(--sp-4) var(--sp-12);
  }
}

/* Hero */
.st-nl-page__hero {
  text-align: center;
  margin-bottom: var(--sp-12);
}
.st-nl-page__icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  border-radius: var(--radius-full);
  background: rgba(0, 220, 229, 0.10);
  border: 1px solid rgba(0, 220, 229, 0.25);
  margin-bottom: var(--sp-6);
  box-shadow: 0 0 32px rgba(0, 220, 229, 0.15);
}
.st-nl-page__icon {
  font-size: 2.5rem;
  color: var(--tertiary);
}
.st-nl-page__title {
  font-family: var(--font-headline);
  font-size: clamp(var(--text-3xl), 5vw, var(--text-5xl));
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--on-background);
  margin-bottom: var(--sp-4);
}
.st-nl-page__lead {
  font-size: var(--text-xl);
  color: var(--outline);
  max-width: 40rem;
  margin: 0 auto;
  line-height: 1.6;
}

/* Main grid */
.st-nl-page__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-8);
  align-items: start;
  margin-bottom: var(--sp-12);
}
@media (max-width: 767px) {
  .st-nl-page__grid {
    grid-template-columns: 1fr;
  }
}

/* Benefits */
.st-nl-page__benefits-title {
  font-family: var(--font-headline);
  font-size: var(--text-2xl);
  font-weight: 700;
  color: var(--on-surface);
  margin-bottom: var(--sp-6);
}
.st-nl-page__list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--sp-5);
  margin-bottom: var(--sp-6);
}
.st-nl-page__list-item {
  display: flex;
  gap: var(--sp-4);
  align-items: flex-start;
}
.st-nl-page__list-item > .material-symbols-outlined {
  font-size: 1.5rem;
  color: var(--tertiary);
  flex-shrink: 0;
  margin-top: 0.1rem;
}
.st-nl-page__list-item strong {
  display: block;
  font-size: var(--text-md);
  font-weight: 700;
  color: var(--on-surface);
  margin-bottom: var(--sp-1);
}
.st-nl-page__list-item p {
  font-size: var(--text-base);
  color: var(--outline);
  line-height: 1.5;
  margin: 0;
}
.st-nl-page__freq {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--text-sm);
  color: var(--outline-variant);
}
.st-nl-page__freq .material-symbols-outlined {
  font-size: 1rem;
}

/* Form card */
.st-nl-page__form-card {
  background: var(--surface-container);
  border: 1px solid rgba(67, 70, 86, 0.30);
  border-radius: var(--radius-2xl);
  padding: var(--sp-8);
}
.st-nl-page__form-header {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  margin-bottom: var(--sp-3);
}
.st-nl-page__form-icon {
  font-size: 1.75rem;
  color: var(--primary);
}
.st-nl-page__form-title {
  font-family: var(--font-headline);
  font-size: var(--text-2xl);
  font-weight: 700;
  color: var(--on-surface);
}
.st-nl-page__form-note {
  font-size: var(--text-base);
  color: var(--outline);
  margin-bottom: var(--sp-6);
  line-height: 1.5;
}
.st-nl-page__form-wrap input[type="email"] {
  width: 100%;
  background: var(--surface-container-high);
  border: 1px solid rgba(67, 70, 86, 0.40);
  border-radius: var(--radius-lg);
  color: var(--on-surface);
  padding: var(--sp-3) var(--sp-4);
  font-size: var(--text-base);
  margin-bottom: var(--sp-3);
  transition: border-color var(--t-base);
}
.st-nl-page__form-wrap input[type="email"]:focus {
  outline: none;
  border-color: var(--tertiary);
}
.st-nl-page__form-wrap input[type="submit"] {
  width: 100%;
  background: var(--primary-container);
  color: #fff;
  border: none;
  border-radius: var(--radius-lg);
  padding: var(--sp-3) var(--sp-6);
  font-size: var(--text-base);
  font-weight: 700;
  cursor: pointer;
  transition: background var(--t-base), box-shadow var(--t-base);
}
.st-nl-page__form-wrap input[type="submit"]:hover {
  background: var(--primary);
  box-shadow: var(--glow-primary);
}
.st-nl-page__gdpr {
  margin-top: var(--sp-4);
  font-size: var(--text-sm);
  color: var(--outline-variant);
  line-height: 1.5;
}

/* SEO text */
.st-nl-page__seo {
  border-top: 1px solid rgba(67, 70, 86, 0.20);
  padding-top: var(--sp-10);
}
.st-nl-page__seo h2 {
  font-family: var(--font-headline);
  font-size: var(--text-2xl);
  font-weight: 700;
  color: var(--on-surface);
  margin-bottom: var(--sp-4);
}
.st-nl-page__seo p {
  font-size: var(--text-base);
  color: var(--outline);
  line-height: 1.7;
  margin-bottom: var(--sp-4);
}

/* --------------------------------------------------------------------------
   Magazine listing page
   -------------------------------------------------------------------------- */
.st-mag-page {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: var(--sp-12) var(--sp-8) var(--sp-16);
}
@media (max-width: 639px) {
  .st-mag-page {
    padding: var(--sp-8) var(--sp-4) var(--sp-12);
  }
}

/* Hero */
.st-mag-page__hero {
  text-align: center;
  margin-bottom: var(--sp-12);
}
.st-mag-page__icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  border-radius: var(--radius-full);
  background: rgba(46, 91, 255, 0.10);
  border: 1px solid rgba(184, 195, 255, 0.20);
  margin-bottom: var(--sp-6);
  box-shadow: var(--glow-primary);
}
.st-mag-page__icon {
  font-size: 2.5rem;
  color: var(--primary);
}
.st-mag-page__title {
  font-family: var(--font-headline);
  font-size: clamp(var(--text-3xl), 5vw, var(--text-5xl));
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--on-background);
  margin-bottom: var(--sp-4);
}
.st-mag-page__lead {
  font-size: var(--text-xl);
  color: var(--outline);
  max-width: 44rem;
  margin: 0 auto var(--sp-4);
  line-height: 1.6;
}
.st-mag-page__count {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--outline);
  background: var(--surface-container);
  padding: var(--sp-2) var(--sp-4);
  border-radius: var(--radius-full);
  border: 1px solid rgba(67, 70, 86, 0.30);
}
.st-mag-page__count .material-symbols-outlined {
  font-size: 1rem;
  color: var(--primary);
}

/* Article grid */
.st-mag-page__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-6);
  margin-bottom: var(--sp-10);
}
@media (max-width: 1023px) {
  .st-mag-page__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 639px) {
  .st-mag-page__grid {
    grid-template-columns: 1fr;
  }
}
.st-mag-page__item {
  height: 100%;
}
.st-mag-page__item article {
  height: 100%;
}

/* Pager */
.st-mag-page__pager {
  display: flex;
  justify-content: center;
  margin-bottom: var(--sp-12);
}
.st-mag-page__pager .pager {
  display: flex;
  list-style: none;
  gap: var(--sp-2);
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
}
.st-mag-page__pager .pager__item a,
.st-mag-page__pager .pager__item.is-active span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0 var(--sp-3);
  border-radius: var(--radius-lg);
  font-size: var(--text-base);
  font-weight: 500;
  color: var(--outline);
  background: var(--surface-container);
  border: 1px solid rgba(67, 70, 86, 0.25);
  transition: background var(--t-base), color var(--t-base), border-color var(--t-base);
}
.st-mag-page__pager .pager__item a:hover {
  background: var(--surface-container-high);
  color: var(--primary);
  border-color: rgba(184, 195, 255, 0.25);
}
.st-mag-page__pager .pager__item.is-active span {
  background: var(--primary-container);
  color: #fff;
  border-color: var(--primary-container);
}

/* SEO section */
.st-mag-page__seo {
  border-top: 1px solid rgba(67, 70, 86, 0.20);
  padding-top: var(--sp-10);
}
.st-mag-page__seo h2 {
  font-family: var(--font-headline);
  font-size: var(--text-2xl);
  font-weight: 700;
  color: var(--on-surface);
  margin-bottom: var(--sp-4);
}
.st-mag-page__seo p {
  font-size: var(--text-base);
  color: var(--outline);
  line-height: 1.7;
  margin-bottom: var(--sp-4);
}
.st-mag-page__seo-link {
  color: var(--tertiary);
  font-weight: 600;
  margin-left: var(--sp-2);
  white-space: nowrap;
}
.st-mag-page__seo-link:hover {
  color: var(--primary);
}

/* --------------------------------------------------------------------------
   Deník AI – listing page
   -------------------------------------------------------------------------- */
.st-denik-page {
  max-width: 52rem;
  margin: 0 auto;
  padding: var(--sp-12) var(--sp-8) var(--sp-16);
}
@media (max-width: 639px) {
  .st-denik-page {
    padding: var(--sp-8) var(--sp-4) var(--sp-12);
  }
}

/* Hero */
.st-denik-page__hero {
  text-align: center;
  margin-bottom: var(--sp-12);
}
.st-denik-page__icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  border-radius: var(--radius-full);
  background: rgba(0, 220, 229, 0.08);
  border: 1px solid rgba(0, 220, 229, 0.20);
  margin-bottom: var(--sp-6);
  box-shadow: 0 0 32px rgba(0, 220, 229, 0.12);
}
.st-denik-page__icon {
  font-size: 2.5rem;
  color: var(--tertiary);
}
.st-denik-page__title {
  font-family: var(--font-headline);
  font-size: clamp(var(--text-3xl), 5vw, var(--text-5xl));
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--on-background);
  margin-bottom: var(--sp-4);
}
.st-denik-page__lead {
  font-size: var(--text-xl);
  color: var(--outline);
  max-width: 40rem;
  margin: 0 auto var(--sp-4);
  line-height: 1.6;
}
.st-denik-page__count {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--outline);
  background: var(--surface-container);
  padding: var(--sp-2) var(--sp-4);
  border-radius: var(--radius-full);
  border: 1px solid rgba(67, 70, 86, 0.30);
}
.st-denik-page__count .material-symbols-outlined {
  font-size: 1rem;
  color: var(--tertiary);
}

/* Timeline */
.st-denik-page__timeline {
  position: relative;
  border-left: 1px solid rgba(0, 220, 229, 0.20);
  padding-left: var(--sp-8);
  margin-left: var(--sp-3);
  display: flex;
  flex-direction: column;
  gap: var(--sp-1);
  margin-bottom: var(--sp-10);
}
.st-denik-page__entry {
  position: relative;
}
.st-denik-page__dot {
  position: absolute;
  left: calc(-1 * var(--sp-8) - 5px);
  top: var(--sp-5);
  width: 0.625rem;
  height: 0.625rem;
  border-radius: var(--radius-full);
  background: var(--tertiary);
  box-shadow: 0 0 8px rgba(0, 220, 229, 0.50);
}

/* Teaser entry card */
.st-denik-entry {
  padding: var(--sp-6) var(--sp-6);
  border-radius: var(--radius-xl);
  background: var(--surface-container);
  border: 1px solid rgba(67, 70, 86, 0.20);
  transition: border-color var(--t-base), background var(--t-base);
  margin-bottom: var(--sp-4);
}
.st-denik-entry:hover {
  background: var(--surface-container-high);
  border-color: rgba(0, 220, 229, 0.20);
}
.st-denik-entry__meta {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
  flex-wrap: wrap;
  margin-bottom: var(--sp-3);
}
.st-denik-entry__date {
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--tertiary);
}
.st-denik-entry__title {
  font-family: var(--font-headline);
  font-size: var(--text-2xl);
  font-weight: 700;
  color: var(--on-surface);
  margin-bottom: var(--sp-3);
  line-height: 1.2;
}
.st-denik-entry__title a {
  color: inherit;
  transition: color var(--t-base);
}
.st-denik-entry__title a:hover {
  color: var(--tertiary);
}
.st-denik-entry__excerpt {
  font-size: var(--text-base);
  color: var(--on-surface-variant);
  line-height: 1.65;
  margin-bottom: var(--sp-4);
}
.st-denik-entry__excerpt p { margin: 0; }
.st-denik-entry__read-more {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--tertiary);
  transition: gap var(--t-base), color var(--t-base);
}
.st-denik-entry__read-more:hover {
  gap: var(--sp-2);
  color: var(--primary);
}
.st-denik-entry__read-more .material-symbols-outlined {
  font-size: 1rem;
}

/* Full denik entry */
.st-denik-full {
  max-width: 52rem;
  margin: 0 auto;
  padding: var(--sp-12) var(--sp-8);
}
@media (max-width: 639px) {
  .st-denik-full {
    padding: var(--sp-8) var(--sp-4);
  }
}
.st-denik-full__header {
  margin-bottom: var(--sp-8);
}
.st-denik-full__tags {
  margin-bottom: var(--sp-4);
}
.st-denik-full__title {
  font-family: var(--font-headline);
  font-size: clamp(var(--text-3xl), 5vw, var(--text-5xl));
  font-weight: 700;
  letter-spacing: -0.025em;
  color: var(--on-surface);
  line-height: 1.1;
  margin-bottom: var(--sp-4);
}
.st-denik-full__meta {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  font-size: var(--text-sm);
  color: var(--outline);
  padding-bottom: var(--sp-8);
  border-bottom: 1px solid rgba(67, 70, 86, 0.15);
}
.st-denik-full__meta .material-symbols-outlined {
  font-size: 1rem;
  color: var(--tertiary);
}
.st-denik-full__image {
  border-radius: var(--radius-2xl);
  overflow: hidden;
  margin-bottom: var(--sp-10);
  aspect-ratio: 16 / 9;
}
.st-denik-full__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.st-denik-full__body {
  font-size: var(--text-base);
  color: var(--on-surface-variant);
  line-height: 1.75;
}
.st-denik-full__body h2 {
  font-family: var(--font-headline);
  font-size: var(--text-3xl);
  font-weight: 700;
  color: var(--on-surface);
  margin: var(--sp-10) 0 var(--sp-4);
  letter-spacing: -0.02em;
}
.st-denik-full__body h3 {
  font-family: var(--font-headline);
  font-size: var(--text-2xl);
  font-weight: 600;
  color: var(--on-surface);
  margin: var(--sp-8) 0 var(--sp-3);
}
.st-denik-full__body p { margin-bottom: var(--sp-5); }
.st-denik-full__body strong { color: var(--on-surface); }
.st-denik-full__body a { color: var(--tertiary); text-decoration: underline; text-underline-offset: 3px; }
.st-denik-full__footer {
  margin-top: var(--sp-12);
  padding-top: var(--sp-8);
  border-top: 1px solid rgba(67, 70, 86, 0.15);
}
.st-denik-full__back {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--outline);
  transition: color var(--t-base);
}
.st-denik-full__back:hover { color: var(--tertiary); }
.st-denik-full__back .material-symbols-outlined { font-size: 1.1rem; }

/* SEO section */
.st-denik-page__seo {
  border-top: 1px solid rgba(67, 70, 86, 0.20);
  padding-top: var(--sp-10);
}
.st-denik-page__seo h2 {
  font-family: var(--font-headline);
  font-size: var(--text-2xl);
  font-weight: 700;
  color: var(--on-surface);
  margin-bottom: var(--sp-4);
}
.st-denik-page__seo p {
  font-size: var(--text-base);
  color: var(--outline);
  line-height: 1.7;
  margin-bottom: var(--sp-4);
}

/* --------------------------------------------------------------------------
   O nás page
   -------------------------------------------------------------------------- */
.st-onas {
  max-width: 64rem;
  margin: 0 auto;
  padding: var(--sp-12) var(--sp-8) var(--sp-16);
}
@media (max-width: 639px) {
  .st-onas { padding: var(--sp-8) var(--sp-4) var(--sp-12); }
}

/* Hero */
.st-onas__hero {
  text-align: center;
  margin-bottom: var(--sp-12);
}
.st-onas__icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  border-radius: var(--radius-full);
  background: rgba(46, 91, 255, 0.10);
  border: 1px solid rgba(184, 195, 255, 0.20);
  margin-bottom: var(--sp-6);
  box-shadow: var(--glow-primary);
}
.st-onas__icon {
  font-size: 2.5rem;
  color: var(--primary);
}
.st-onas__title {
  font-family: var(--font-headline);
  font-size: clamp(var(--text-3xl), 5vw, var(--text-5xl));
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--on-background);
  margin-bottom: var(--sp-4);
}
.st-onas__lead {
  font-size: var(--text-xl);
  color: var(--outline);
  max-width: 44rem;
  margin: 0 auto;
  line-height: 1.6;
}

/* Mission */
.st-onas__mission {
  background: var(--surface-container);
  border: 1px solid rgba(67, 70, 86, 0.25);
  border-radius: var(--radius-2xl);
  padding: var(--sp-8);
  margin-bottom: var(--sp-12);
}
.st-onas__mission-inner {
  display: flex;
  gap: var(--sp-6);
  align-items: flex-start;
}
@media (max-width: 639px) {
  .st-onas__mission-inner { flex-direction: column; }
}
.st-onas__mission-icon {
  font-size: 2rem;
  color: var(--tertiary);
  flex-shrink: 0;
  margin-top: 0.15rem;
}
.st-onas__mission-title {
  font-family: var(--font-headline);
  font-size: var(--text-2xl);
  font-weight: 700;
  color: var(--on-surface);
  margin-bottom: var(--sp-4);
}
.st-onas__mission p {
  font-size: var(--text-base);
  color: var(--outline);
  line-height: 1.7;
  margin-bottom: var(--sp-3);
}
.st-onas__mission p:last-child { margin-bottom: 0; }

/* Team section title */
.st-onas__section-title {
  font-family: var(--font-headline);
  font-size: var(--text-3xl);
  font-weight: 700;
  color: var(--on-surface);
  margin-bottom: var(--sp-8);
}

/* Team cards grid */
.st-onas__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-6);
  margin-bottom: var(--sp-12);
}
@media (max-width: 767px) {
  .st-onas__cards { grid-template-columns: 1fr; }
}

/* Card */
.st-onas__card {
  background: var(--surface-container);
  border: 1px solid rgba(67, 70, 86, 0.25);
  border-radius: var(--radius-2xl);
  padding: var(--sp-8);
  display: flex;
  flex-direction: column;
  gap: var(--sp-6);
  transition: border-color var(--t-base);
}
.st-onas__card:hover {
  border-color: rgba(184, 195, 255, 0.25);
}
.st-onas__card--ai {
  border-color: rgba(0, 220, 229, 0.20);
  background: linear-gradient(135deg, var(--surface-container) 0%, rgba(0, 121, 126, 0.08) 100%);
}
.st-onas__card--ai:hover {
  border-color: rgba(0, 220, 229, 0.35);
}

/* Avatar */
.st-onas__card-avatar {
  width: 4rem;
  height: 4rem;
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.st-onas__card-avatar--human {
  background: rgba(46, 91, 255, 0.12);
  border: 1px solid rgba(184, 195, 255, 0.20);
}
.st-onas__card-avatar--human .material-symbols-outlined {
  font-size: 2rem;
  color: var(--primary);
}
.st-onas__card-avatar--ai {
  background: rgba(0, 220, 229, 0.10);
  border: 1px solid rgba(0, 220, 229, 0.25);
  box-shadow: 0 0 20px rgba(0, 220, 229, 0.15);
}
.st-onas__card-avatar--ai .material-symbols-outlined {
  font-size: 2rem;
  color: var(--tertiary);
}

/* Card content */
.st-onas__card-header {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  flex-wrap: wrap;
  margin-bottom: var(--sp-1);
}
.st-onas__card-name {
  font-family: var(--font-headline);
  font-size: var(--text-2xl);
  font-weight: 700;
  color: var(--on-surface);
}
.st-onas__card-badge {
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 2px var(--sp-3);
  border-radius: var(--radius-full);
}
.st-onas__card-badge--human {
  background: rgba(46, 91, 255, 0.12);
  color: var(--primary);
  border: 1px solid rgba(184, 195, 255, 0.20);
}
.st-onas__card-badge--ai {
  background: rgba(0, 220, 229, 0.10);
  color: var(--tertiary);
  border: 1px solid rgba(0, 220, 229, 0.20);
}
.st-onas__card-role {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--outline);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: var(--sp-4);
}
.st-onas__card-bio {
  font-size: var(--text-base);
  color: var(--on-surface-variant);
  line-height: 1.7;
  margin-bottom: var(--sp-3);
}
.st-onas__card-bio:last-of-type { margin-bottom: var(--sp-4); }
.st-onas__card-tags {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  margin-top: auto;
}
.st-onas__card-tags li {
  font-size: var(--text-xs);
  font-weight: 600;
  color: var(--outline);
  background: var(--surface-container-high);
  border: 1px solid rgba(67, 70, 86, 0.25);
  padding: var(--sp-1) var(--sp-3);
  border-radius: var(--radius-full);
}

/* CTA */
.st-onas__cta {
  display: flex;
  align-items: center;
  gap: var(--sp-6);
  background: var(--surface-container-low);
  border: 1px solid rgba(67, 70, 86, 0.20);
  border-radius: var(--radius-2xl);
  padding: var(--sp-8);
  margin-bottom: var(--sp-12);
  flex-wrap: wrap;
}
.st-onas__cta-icon {
  font-size: 2.5rem;
  color: var(--primary);
  flex-shrink: 0;
}
.st-onas__cta > div { flex: 1; min-width: 0; }
.st-onas__cta-title {
  font-family: var(--font-headline);
  font-size: var(--text-2xl);
  font-weight: 700;
  color: var(--on-surface);
  margin-bottom: var(--sp-2);
}
.st-onas__cta p {
  font-size: var(--text-base);
  color: var(--outline);
}

/* SEO */
.st-onas__seo {
  border-top: 1px solid rgba(67, 70, 86, 0.20);
  padding-top: var(--sp-10);
}
.st-onas__seo h2 {
  font-family: var(--font-headline);
  font-size: var(--text-2xl);
  font-weight: 700;
  color: var(--on-surface);
  margin-bottom: var(--sp-4);
}
.st-onas__seo p {
  font-size: var(--text-base);
  color: var(--outline);
  line-height: 1.7;
  margin-bottom: var(--sp-4);
}

/* O nás – fakturační údaje */
.st-onas__billing {
  margin-bottom: var(--sp-12);
}
.st-onas__billing-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  background: var(--surface-container);
  border: 1px solid rgba(67, 70, 86, 0.25);
  border-radius: var(--radius-xl);
  overflow: hidden;
}
.st-onas__billing-row {
  display: grid;
  grid-template-columns: 10rem 1fr;
  gap: var(--sp-4);
  padding: var(--sp-4) var(--sp-6);
  border-bottom: 1px solid rgba(67, 70, 86, 0.15);
  align-items: center;
}
.st-onas__billing-row:last-child {
  border-bottom: none;
}
.st-onas__billing-row dt {
  font-size: var(--text-sm);
  font-weight: 700;
  color: var(--outline);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.st-onas__billing-row dd {
  font-size: var(--text-base);
  color: var(--on-surface-variant);
}
.st-onas__billing-row dd a {
  color: var(--tertiary);
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (max-width: 479px) {
  .st-onas__billing-row {
    grid-template-columns: 1fr;
    gap: var(--sp-1);
  }
}

/* --------------------------------------------------------------------------
   Kontakt page
   -------------------------------------------------------------------------- */
.st-kontakt {
  max-width: 40rem;
  margin: 0 auto;
  padding: var(--sp-12) var(--sp-8) var(--sp-16);
}
@media (max-width: 639px) {
  .st-kontakt { padding: var(--sp-8) var(--sp-4) var(--sp-12); }
}

.st-kontakt__hero {
  text-align: center;
  margin-bottom: var(--sp-10);
}
.st-kontakt__icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  border-radius: var(--radius-full);
  background: rgba(46, 91, 255, 0.10);
  border: 1px solid rgba(184, 195, 255, 0.20);
  margin-bottom: var(--sp-6);
  box-shadow: var(--glow-primary);
}
.st-kontakt__icon {
  font-size: 2.5rem;
  color: var(--primary);
}
.st-kontakt__title {
  font-family: var(--font-headline);
  font-size: clamp(var(--text-3xl), 5vw, var(--text-5xl));
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--on-background);
  margin-bottom: var(--sp-4);
}
.st-kontakt__lead {
  font-size: var(--text-xl);
  color: var(--outline);
  line-height: 1.6;
}

/* Contact card */
.st-kontakt__card {
  display: flex;
  align-items: center;
  gap: var(--sp-6);
  background: var(--surface-container);
  border: 1px solid rgba(67, 70, 86, 0.25);
  border-radius: var(--radius-2xl);
  padding: var(--sp-8);
  margin-bottom: var(--sp-6);
}
@media (max-width: 479px) {
  .st-kontakt__card { flex-direction: column; text-align: center; }
}
.st-kontakt__avatar {
  width: 4.5rem;
  height: 4.5rem;
  border-radius: var(--radius-full);
  background: rgba(46, 91, 255, 0.12);
  border: 1px solid rgba(184, 195, 255, 0.20);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.st-kontakt__avatar .material-symbols-outlined {
  font-size: 2.2rem;
  color: var(--primary);
}
.st-kontakt__name {
  font-family: var(--font-headline);
  font-size: var(--text-2xl);
  font-weight: 700;
  color: var(--on-surface);
  margin-bottom: var(--sp-1);
}
.st-kontakt__role {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  flex-wrap: wrap;
  font-size: var(--text-sm);
  color: var(--outline);
  margin-bottom: var(--sp-4);
}
.st-kontakt__onas-link {
  color: var(--tertiary);
  font-weight: 600;
  transition: color var(--t-base);
}
.st-kontakt__onas-link:hover { color: var(--primary); }
.st-kontakt__email {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--text-md);
  font-weight: 700;
  color: var(--primary);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color var(--t-base);
}
.st-kontakt__email:hover { color: var(--tertiary); }
.st-kontakt__email .material-symbols-outlined { font-size: 1.2rem; }

/* Note */
.st-kontakt__note {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--text-sm);
  color: var(--outline-variant);
  justify-content: center;
}
.st-kontakt__note .material-symbols-outlined { font-size: 1rem; }

/* --------------------------------------------------------------------------
   Co jsem dnes dělal – full article view
   -------------------------------------------------------------------------- */
.st-aidoing-full {
  max-width: 52rem;
  margin: 0 auto;
  padding: var(--sp-12) var(--sp-8) var(--sp-16);
}
@media (max-width: 639px) {
  .st-aidoing-full {
    padding: var(--sp-8) var(--sp-4) var(--sp-12);
  }
}

.st-aidoing-full__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: var(--sp-12);
}

.st-aidoing-full__icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  border-radius: var(--radius-full);
  background: rgba(46, 91, 255, 0.10);
  border: 1px solid rgba(46, 91, 255, 0.20);
  margin-bottom: var(--sp-5);
}
.st-aidoing-full__icon {
  font-size: 2.4rem;
  color: var(--primary);
}

.st-aidoing-full__meta {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  margin-bottom: var(--sp-4);
}
.st-aidoing-full__label {
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--primary);
  background: rgba(46, 91, 255, 0.10);
  padding: var(--sp-1) var(--sp-3);
  border-radius: var(--radius-full);
}
.st-aidoing-full__date {
  font-size: var(--text-sm);
  color: var(--outline);
}

.st-aidoing-full__title {
  font-family: var(--font-headline);
  font-size: var(--text-3xl);
  font-weight: 800;
  color: var(--on-surface);
  line-height: 1.2;
  margin: 0;
}
@media (max-width: 639px) {
  .st-aidoing-full__title {
    font-size: var(--text-2xl);
  }
}

/* Body content */
.st-aidoing-full__body {
  background: var(--surface-container);
  border: 1px solid rgba(67, 70, 86, 0.20);
  border-radius: var(--radius-xl);
  padding: var(--sp-8) var(--sp-10);
  line-height: 1.85;
  font-size: var(--text-base);
  color: var(--on-surface-variant);
}
@media (max-width: 639px) {
  .st-aidoing-full__body {
    padding: var(--sp-6) var(--sp-5);
  }
}
.st-aidoing-full__body h2,
.st-aidoing-full__body h3 {
  font-family: var(--font-headline);
  color: var(--on-surface);
  margin-top: var(--sp-8);
  margin-bottom: var(--sp-3);
}
.st-aidoing-full__body h2 { font-size: var(--text-xl); }
.st-aidoing-full__body h3 { font-size: var(--text-lg); }
.st-aidoing-full__body ul,
.st-aidoing-full__body ol {
  padding-left: var(--sp-6);
  margin: var(--sp-4) 0;
}
.st-aidoing-full__body li { margin-bottom: var(--sp-2); }
.st-aidoing-full__body p { margin-bottom: var(--sp-4); }
.st-aidoing-full__body strong { color: var(--on-surface); }
.st-aidoing-full__body a {
  color: var(--primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.st-aidoing-full__body a:hover { color: var(--tertiary); }

/* Footer / back link */
.st-aidoing-full__footer {
  margin-top: var(--sp-10);
  display: flex;
  justify-content: center;
}
.st-aidoing-full__back {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--outline);
  transition: color var(--t-base);
}
.st-aidoing-full__back:hover { color: var(--primary); }
.st-aidoing-full__back .material-symbols-outlined { font-size: 1.1rem; }

/* --------------------------------------------------------------------------
   GDPR / Ochrana soukromí
   -------------------------------------------------------------------------- */
.st-gdpr {
  max-width: 56rem;
  margin: 0 auto;
  padding: var(--sp-12) var(--sp-8) var(--sp-16);
}
@media (max-width: 639px) {
  .st-gdpr { padding: var(--sp-8) var(--sp-4) var(--sp-12); }
}

.st-gdpr__hero {
  text-align: center;
  margin-bottom: var(--sp-12);
}
.st-gdpr__icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  border-radius: var(--radius-full);
  background: rgba(46, 91, 255, 0.10);
  border: 1px solid rgba(46, 91, 255, 0.20);
  margin-bottom: var(--sp-5);
}
.st-gdpr__icon { font-size: 2.4rem; color: var(--primary); }
.st-gdpr__title {
  font-family: var(--font-headline);
  font-size: var(--text-3xl);
  font-weight: 800;
  margin-bottom: var(--sp-3);
}
.st-gdpr__lead {
  font-size: var(--text-md);
  color: var(--on-surface-variant);
  max-width: 38rem;
  margin: 0 auto var(--sp-2);
}
.st-gdpr__updated {
  font-size: var(--text-xs);
  color: var(--outline);
}

/* Sections */
.st-gdpr__section {
  margin-bottom: var(--sp-10);
}
.st-gdpr__section h2 {
  font-family: var(--font-headline);
  font-size: var(--text-xl);
  font-weight: 700;
  color: var(--on-surface);
  margin-bottom: var(--sp-4);
  padding-bottom: var(--sp-2);
  border-bottom: 1px solid rgba(67, 70, 86, 0.15);
  display: flex;
  align-items: center;
  gap: var(--sp-2);
}
.st-gdpr__section h2 .material-symbols-outlined { font-size: 1.4rem; color: var(--primary); }
.st-gdpr__section h3 {
  font-family: var(--font-headline);
  font-size: var(--text-lg);
  font-weight: 600;
  margin-bottom: var(--sp-2);
}
.st-gdpr__section p,
.st-gdpr__section li {
  font-size: var(--text-base);
  color: var(--on-surface-variant);
  line-height: 1.75;
}
.st-gdpr__section ul,
.st-gdpr__section ol {
  padding-left: var(--sp-6);
  margin: var(--sp-3) 0;
}
.st-gdpr__section li { margin-bottom: var(--sp-2); }
.st-gdpr__section a {
  color: var(--primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Info card (správce) */
.st-gdpr__card {
  background: var(--surface-container);
  border: 1px solid rgba(67, 70, 86, 0.20);
  border-radius: var(--radius-lg);
  padding: var(--sp-6) var(--sp-8);
  line-height: 1.8;
}
.st-gdpr__card p { color: var(--on-surface-variant); font-size: var(--text-base); }
.st-gdpr__card strong { color: var(--on-surface); font-size: var(--text-md); }

/* Sub-blocks */
.st-gdpr__block {
  background: var(--surface-container);
  border-left: 3px solid var(--primary);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  padding: var(--sp-4) var(--sp-6);
  margin-bottom: var(--sp-4);
}

/* Table */
.st-gdpr__table-wrap { overflow-x: auto; }
.st-gdpr__table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--text-sm);
}
.st-gdpr__table th {
  background: rgba(46, 91, 255, 0.08);
  color: var(--on-surface);
  font-weight: 700;
  text-align: left;
  padding: var(--sp-3) var(--sp-4);
  border-bottom: 2px solid rgba(46, 91, 255, 0.20);
}
.st-gdpr__table td {
  padding: var(--sp-3) var(--sp-4);
  color: var(--on-surface-variant);
  border-bottom: 1px solid rgba(67, 70, 86, 0.12);
}
.st-gdpr__table tr:last-child td { border-bottom: none; }

/* Rights grid */
.st-gdpr__rights {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-4);
  margin-bottom: var(--sp-6);
}
@media (max-width: 639px) {
  .st-gdpr__rights { grid-template-columns: 1fr; }
}
.st-gdpr__right {
  display: flex;
  gap: var(--sp-3);
  align-items: flex-start;
  background: var(--surface-container);
  border-radius: var(--radius-lg);
  padding: var(--sp-4);
}
.st-gdpr__right .material-symbols-outlined {
  font-size: 1.5rem;
  color: var(--primary);
  flex-shrink: 0;
  margin-top: 2px;
}
.st-gdpr__right strong {
  display: block;
  color: var(--on-surface);
  margin-bottom: var(--sp-1);
  font-size: var(--text-sm);
}
.st-gdpr__right p {
  font-size: var(--text-sm);
  margin: 0;
}
.st-gdpr__complaint {
  font-size: var(--text-sm);
  color: var(--outline);
}

/* Highlighted section (smazání účtu) */
.st-gdpr__section--highlight {
  background: rgba(46, 91, 255, 0.05);
  border: 1px solid rgba(46, 91, 255, 0.18);
  border-radius: var(--radius-xl);
  padding: var(--sp-6) var(--sp-8);
}
@media (max-width: 639px) {
  .st-gdpr__section--highlight { padding: var(--sp-5) var(--sp-4); }
}
.st-gdpr__steps { margin: var(--sp-4) 0; }
.st-gdpr__steps li { margin-bottom: var(--sp-3); }
.st-gdpr__note {
  display: flex;
  gap: var(--sp-2);
  align-items: flex-start;
  background: rgba(255, 193, 7, 0.08);
  border-left: 3px solid rgba(255, 193, 7, 0.60);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  padding: var(--sp-3) var(--sp-4);
  font-size: var(--text-sm);
  color: var(--on-surface-variant);
  margin-top: var(--sp-4);
}
.st-gdpr__note .material-symbols-outlined { font-size: 1rem; color: #c8a400; flex-shrink: 0; margin-top: 2px; }

/* Article audio player */
.st-article__audio {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: var(--sp-6) auto;
}
.st-article__audio-label {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--color-text-secondary, #555);
  margin: 0 0 var(--sp-3) 0;
}
.st-article__audio audio {
  width: 100%;
  max-width: 520px;
  border-radius: var(--radius-lg, 12px);
}
