/* Sportolói Tükör – design system & layout */

:root {
  --st-bg: #f9f0ea;
  --st-bg-soft: #f5e9e1;
  --st-bg-card: #ebd1c2;
  --st-accent-soft: #f4d6c2;
  --st-accent-light: #d99d84;
  --st-accent: #a64e36;
  --st-accent-hover: #94402c;
  --st-accent-deep: #7f3122;
  --st-text: #391d15;
  --st-text-muted: #4b362b;
  --st-icon: #703727;
  --st-powder: #edbfa6;
  --st-white: #fffdfb;
  --st-border: rgba(57, 29, 21, 0.12);
  --st-font-display: "Cormorant Garamond", "Times New Roman", serif;
  --st-font-body: "Source Sans 3", "Segoe UI", sans-serif;
  --st-header-cream: #f9e8e2;
  --st-header-panel: #7a382d;
  --st-font-script: "Great Vibes", "Cormorant Garamond", cursive;
  --st-container: 1120px;
  --st-radius: 4px;
  --st-header-h: 9.25rem;
  --st-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

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

html {
  scroll-behavior: smooth;
}

body.st-theme {
  margin: 0;
  font-family: var(--st-font-body);
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--st-text);
  background: var(--st-bg);
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: var(--st-accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
  transition: color 0.2s var(--st-ease);
}

a:hover {
  color: var(--st-accent-hover);
}

h1, h2, h3, h4 {
  font-family: var(--st-font-display);
  font-weight: 600;
  line-height: 1.15;
  color: var(--st-text);
  margin: 0 0 0.75rem;
}

h1 { font-size: clamp(1.75rem, 3.5vw, 2.5rem); }
h2 { font-size: clamp(1.75rem, 3.5vw, 2.5rem); }
h3 { font-size: clamp(1.35rem, 2.5vw, 1.75rem); }

p { margin: 0 0 1rem; color: var(--st-text-muted); }

.st-container {
  width: min(100% - 2rem, var(--st-container));
  margin-inline: auto;
}

.st-section {
  padding: clamp(3rem, 8vw, 5.5rem) 0;
}

.st-section--cream { background: var(--st-bg-soft); }
.st-section--soft { background: var(--st-bg-soft); }
.st-section--white { background: var(--st-white); }
.st-section--rolam { background: #fbf6f0; }

/* Product band — Sportolói Tükör Kártyák */
.st-product-band.st-section {
  padding-block: 0;
}
.st-product-band__grid {
  display: grid;
  grid-template-columns:
    minmax(15rem, 0.95fr)
    minmax(16rem, 1.15fr)
    minmax(12rem, 0.8fr);
  width: min(100%, calc(var(--st-container) + 6rem));
  margin-inline: auto;
  align-items: stretch;
}
.st-product-band__copy,
.st-product-band__quote {
  background: transparent;
  color: var(--st-text);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 4vw, 3.25rem) clamp(1.5rem, 3vw, 2.75rem);
}
.st-product-band__copy {
  gap: 1.1rem;
  align-items: flex-start;
}
.st-product-band__copy h2 {
  margin: 0;
  font-family: var(--st-font-display);
  font-size: clamp(1.85rem, 3.2vw, 2.65rem);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: 0.02em;
  color: var(--st-text);
}
.st-product-band__tagline {
  margin: 0;
  font-family: var(--st-font-display);
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  font-style: italic;
  font-weight: 500;
  line-height: 1.35;
  color: var(--st-accent);
}
.st-product-band__copy > p:not(.st-product-band__tagline) {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.6;
  color: var(--st-text);
  max-width: 22rem;
}
.st-product-band__btn {
  display: inline-flex;
  align-items: center;
  margin-top: 0.75rem;
  padding: 0.85rem 1.35rem;
  background: var(--st-accent);
  color: #fff;
  font-family: var(--st-font-body);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 999px;
  transition: background 0.2s var(--st-ease), color 0.2s var(--st-ease);
}
.st-product-band__btn:hover {
  background: var(--st-accent-hover);
  color: #fff;
}
.st-product-band__media {
  margin: 0;
  aspect-ratio: 1;
  width: 100%;
  background: #2a1a14;
  display: grid;
  overflow: hidden;
}
.st-product-band__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.st-product-band__quote {
  gap: 0.35rem;
  justify-content: center;
  align-items: flex-start;
}
.st-product-band__mark {
  display: block;
  font-family: var(--st-font-display);
  font-size: clamp(3.5rem, 6vw, 5rem);
  font-weight: 500;
  line-height: 0.75;
  color: #d9a08c;
}
.st-product-band__quote p {
  margin: 0;
  font-family: var(--st-font-display);
  font-size: clamp(1.35rem, 2.2vw, 1.85rem);
  font-style: italic;
  font-weight: 500;
  line-height: 1.35;
  color: var(--st-text);
  max-width: 12rem;
}
@media (max-width: 900px) {
  .st-product-band.st-section {
    padding-block: clamp(2rem, 5vw, 3rem);
  }
  .st-product-band__grid {
    grid-template-columns: 1fr;
    width: min(100% - 2rem, var(--st-container));
  }
  .st-product-band__media {
    order: -1;
    margin-inline: -1rem;
    width: calc(100% + 2rem);
    max-width: none;
  }
  .st-product-band__quote p {
    max-width: none;
  }
}
.st-section--deep {
  background: var(--st-accent-deep);
  color: var(--st-white);
}
.st-section--deep h2,
.st-section--deep h3,
.st-section--deep p,
.st-section--deep strong { color: var(--st-white); }
.st-section--deep p { opacity: 0.9; }
.st-section--deep .st-eyebrow { color: var(--st-powder); }

.st-eyebrow {
  display: inline-block;
  font-size: 0.8rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--st-accent);
  margin-bottom: 0.75rem;
}

.st-slogan {
  margin: 0;
  font-family: var(--st-font-script);
  font-size: clamp(1.55rem, 2.4vw, 2.1rem);
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.01em;
  line-height: 1.25;
}

.st-lead {
  font-size: 1.15rem;
  max-width: 38rem;
}

.st-audience {
  position: relative;
  overflow: hidden;
  background: linear-gradient(
    118deg,
    #fffdfb 0%,
    #f7ebe3 38%,
    var(--st-bg-card) 100%
  );
  border-top: 1px solid rgba(57, 29, 21, 0.08);
  padding: clamp(4.5rem, 10vw, 7.5rem) 0;
}
.st-audience__mark {
  position: absolute;
  right: max(-1.5rem, calc((100% - var(--st-container)) / 2 - 4rem));
  top: 50%;
  translate: 0 -50%;
  width: min(22rem, 36vw);
  height: auto;
  opacity: 0.06;
  mix-blend-mode: multiply;
  pointer-events: none;
  user-select: none;
}
.st-audience__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
}
.st-audience h2 {
  margin: 0;
}
.st-audience .st-lead {
  max-width: none;
  margin: 0 0 1.1rem;
  font-size: 1.15rem;
  line-height: 1.65;
  color: var(--st-text);
}
.st-audience__bridge {
  margin: 0 0 1.1rem;
  font-size: 1.05rem;
  line-height: 1.6;
  color: var(--st-text-muted);
}
.st-audience__close {
  margin: 0;
  padding-top: 1rem;
  border-top: 1px solid rgba(166, 78, 54, 0.28);
  font-family: var(--st-font-display);
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  font-style: italic;
  font-weight: 500;
  line-height: 1.4;
  color: var(--st-text);
}
@media (max-width: 800px) {
  .st-audience__inner {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .st-audience__mark {
    width: 14rem;
    right: -3rem;
    opacity: 0.045;
  }
}

.st-rolam-photo {
  margin: 0;
  display: flex;
  justify-content: center;
  background: none;
  box-shadow: none;
  isolation: isolate;
}
.st-rolam-photo img {
  width: min(100%, 28rem);
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  background: none;
  /* JPG white corners blend into the cream section */
  mix-blend-mode: multiply;
}

.st-section--white .st-card {
  background: var(--st-bg);
}

.st-why {
  background:
    radial-gradient(
      ellipse 80% 70% at 12% 20%,
      rgba(237, 191, 166, 0.18) 0%,
      transparent 55%
    ),
    linear-gradient(
      145deg,
      var(--st-accent-deep) 0%,
      var(--st-header-panel) 48%,
      #5c241c 100%
    );
}
.st-why__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: stretch;
}
.st-why__intro {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  min-height: 100%;
}
.st-why__intro h2 {
  margin-bottom: 1rem;
  max-width: 14ch;
}
.st-why__close {
  margin: 0;
  max-width: 32ch;
  font-family: var(--st-font-display);
  font-size: clamp(1.15rem, 1.6vw, 1.35rem);
  font-weight: 500;
  line-height: 1.4;
  color: var(--st-white);
  opacity: 0.92;
}
.st-why__slogan {
  margin: auto 0 0;
  padding-top: 2rem;
  color: var(--st-powder);
}
.st-why__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
  counter-reset: st-why;
}
.st-why__list li {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 1rem;
  row-gap: 0.35rem;
  align-content: start;
  margin: 0;
  padding: 1.35rem 0;
  border: 0;
  border-top: 1px solid rgba(237, 191, 166, 0.35);
  counter-increment: st-why;
}
.st-why__list li:last-child {
  padding-bottom: 0;
}
.st-why__list li::before {
  content: counter(st-why, decimal-leading-zero);
  grid-row: 1 / span 2;
  align-self: start;
  padding-top: 0.05rem;
  font-family: var(--st-font-display);
  font-size: clamp(2rem, 3vw, 2.55rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--st-powder);
}
.st-why__list strong {
  font-family: var(--st-font-display);
  font-size: clamp(1.15rem, 1.5vw, 1.35rem);
  font-weight: 600;
  line-height: 1.25;
  color: var(--st-white);
}
.st-why__list span {
  font-size: 0.98rem;
  line-height: 1.55;
  color: rgba(255, 253, 251, 0.82);
}
@media (max-width: 800px) {
  .st-why__inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .st-why__intro h2 {
    max-width: none;
  }
  .st-why__close {
    max-width: 36ch;
  }
  .st-why__slogan {
    margin-top: 1.5rem;
    padding-top: 0;
  }
}

/* Buttons */
.st-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.85rem 1.5rem;
  font-family: var(--st-font-body);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  border: 2px solid transparent;
  border-radius: var(--st-radius);
  cursor: pointer;
  transition: background 0.25s var(--st-ease), color 0.25s var(--st-ease), border-color 0.25s var(--st-ease), transform 0.25s var(--st-ease);
}

.st-btn:hover { text-decoration: none; transform: translateY(-1px); }

.st-btn--primary {
  background: var(--st-accent);
  color: var(--st-white);
  border-color: var(--st-accent);
  border-radius: 999px;
}
.st-btn--primary:hover {
  background: var(--st-accent-hover);
  border-color: var(--st-accent-hover);
  color: var(--st-white);
}

.st-btn--ghost {
  background: transparent;
  color: var(--st-text);
  border-color: var(--st-text);
  border-radius: 999px;
}
.st-btn--ghost:hover {
  background: var(--st-text);
  color: var(--st-white);
}

.st-btn--light {
  background: transparent;
  color: var(--st-white);
  border-color: var(--st-white);
  border-radius: 999px;
}
.st-btn--light:hover {
  background: var(--st-white);
  color: var(--st-accent-deep);
}

.st-btn--outline {
  border-radius: 999px;
}

.st-btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

/* ===== Masthead — mockup proportions ===== */
.st-main--home { padding: 0; }
.st-theme--home { position: relative; }

.st-site-header,
.st-masthead {
  --cream: #f6ebe4;
  --bar: #6b342c;
  --ink: #7a2f24;
  --st-content: 1100px;
  --st-gutter: max(2.5rem, calc((100% - var(--st-content)) / 2));
  --st-header-bg: var(--st-accent-soft);
}

.st-masthead {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100svh;
  background: var(--cream);
  overflow: hidden;
}

/* Full-height photo on the right — auto 100% keeps the runner uncropped */
.st-masthead__photo {
  position: absolute;
  inset: 0;
  background-color: #3e2a1c;
  z-index: 1;
  transform-origin: 82% 55%;
  animation: st-ken-burns 22s var(--st-ease) both;
  overflow: hidden;
}
.st-masthead__photo picture,
.st-masthead__photo img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.st-masthead__photo img {
  width: auto;
  max-width: none;
  height: 100%;
  left: auto;
  right: 0;
  object-fit: cover;
  object-position: right center;
}

/* Cream under the copy, fading into the photo */
.st-masthead::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    var(--cream) 0%,
    var(--cream) 22%,
    rgba(246, 235, 228, 0.88) 34%,
    rgba(246, 235, 228, 0.48) 48%,
    rgba(246, 235, 228, 0.14) 62%,
    transparent 76%
  );
}

/* Shared header: full-bleed background, content in the same column as the hero */
.st-site-header {
  position: relative;
  z-index: 20;
  display: grid;
  grid-template-columns:
    var(--st-gutter)
    minmax(12rem, 1fr)
    minmax(18rem, 1.35fr)
    var(--st-gutter);
  align-items: center;
  background: var(--st-header-bg);
}
.st-theme--home .st-site-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.st-theme--home .st-masthead {
  padding-top: var(--st-header-h);
}
.st-site-header::before {
  display: none;
}

.st-masthead__brand picture,
.st-footer__brand picture {
  display: contents;
}
.st-masthead__brand {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  grid-column: 2;
  padding: 0.95rem 1rem 1.15rem 0;
  text-decoration: none;
  color: var(--ink);
  position: relative;
  z-index: 1;
}
.st-masthead__brand:hover { color: var(--ink); text-decoration: none; }
.st-masthead__brand img {
  width: 5.25rem;
  height: 5.25rem;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.st-masthead__brand > span {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.12rem;
  line-height: 1.15;
}
.st-masthead__brand strong {
  font-family: var(--st-font-display);
  font-size: clamp(1.15rem, 1.9vw, 1.5rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #5c2a20;
}
.st-masthead__brand strong b {
  color: #9b3a28;
  font-weight: 700;
}
.st-masthead__brand em {
  font-style: normal;
  font-size: clamp(0.82rem, 1.15vw, 0.98rem);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
}
.st-masthead__brand em::before,
.st-masthead__brand em::after {
  content: "";
  width: 0.85rem;
  height: 1px;
  background: rgba(122, 47, 36, 0.35);
}
.st-masthead__brand small {
  font-family: var(--st-font-display);
  font-size: clamp(1.05rem, 1.45vw, 1.25rem);
  font-weight: 500;
  font-style: italic;
  letter-spacing: 0.01em;
  line-height: 1.25;
  color: #5c3a2e;
  white-space: nowrap;
}
.st-masthead__dark {
  color: #2a1410;
  display: inline;
  font-weight: inherit;
}

.st-masthead__bar {
  position: relative;
  z-index: 1;
  grid-column: 3;
  color: var(--ink);
  padding: 0.75rem 0 1.25rem 1.35rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0.45rem;
  min-height: 0;
  background: transparent;
}
.st-masthead__bar::before {
  display: none;
}

.st-masthead__toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.7rem 1rem;
}
.st-masthead__script {
  margin: 0;
  font-family: var(--st-font-script);
  font-size: clamp(1.25rem, 1.7vw, 1.7rem);
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.01em;
  color: #5c3a2e;
  white-space: normal;
  text-align: right;
  line-height: 1.15;
  max-width: 16ch;
}

.st-masthead__bar .st-nav {
  justify-content: flex-end;
}

.st-masthead__body {
  position: relative;
  z-index: 5;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  padding: 1.25rem var(--st-gutter) 2.75rem;
  gap: 1.35rem;
}
.st-masthead__copy {
  width: min(36rem, calc(var(--st-content) * 0.48));
  max-width: 100%;
}
.st-masthead__eyebrow {
  margin: 0 0 0.7rem;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink);
}
.st-masthead__copy h1 {
  margin: 0 0 0.75rem;
  font-size: clamp(2.15rem, 4.4vw, 3.5rem);
  line-height: 1.08;
  color: var(--st-text);
  font-weight: 500;
}
.st-masthead__copy h1 em {
  font-style: italic;
  font-weight: 500;
  color: var(--ink);
}
.st-masthead__lead {
  margin: 0 0 0.55rem;
  font-family: var(--st-font-display);
  font-size: clamp(1.15rem, 1.9vw, 1.5rem);
  font-style: italic;
  font-weight: 500;
  color: var(--ink);
}
.st-masthead__text {
  margin: 0 0 0.85rem;
  font-size: 1.02rem;
  line-height: 1.62;
  color: var(--st-text-muted);
}
.st-masthead__text:last-of-type {
  margin-bottom: 0;
}
.st-masthead__services {
  margin: 0 0 1.6rem;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink);
  line-height: 1.7;
}
.st-masthead__services span { opacity: 0.45; padding: 0 0.15rem; }
.st-masthead__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.85rem;
  width: min(36rem, calc(var(--st-content) * 0.48));
  max-width: 100%;
  box-sizing: border-box;
}

.st-btn--outline {
  background: transparent;
  color: var(--st-accent);
  border-color: var(--st-accent);
  border-radius: 999px;
}
.st-btn--outline:hover {
  background: var(--st-accent);
  color: var(--st-white);
  border-color: var(--st-accent);
}

.st-header__cart {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--st-icon);
  text-decoration: none;
  opacity: 0.9;
  padding: 0.15rem;
}
.st-header__cart:hover { opacity: 1; color: var(--st-accent); }
.st-header__cart-count {
  position: absolute;
  top: -0.35rem;
  right: -0.45rem;
  min-width: 1.1rem;
  height: 1.1rem;
  padding: 0 0.25rem;
  border-radius: 999px;
  background: var(--st-accent);
  color: #fff;
  font-size: 0.62rem;
  font-weight: 700;
  line-height: 1.1rem;
  text-align: center;
}

.st-header__cta {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1.15rem;
  border-radius: 999px;
  background: var(--st-accent);
  color: #fff;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
}
.st-header__cta:hover { background: var(--st-accent-hover); color: #fff; text-decoration: none; }

.st-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.6rem;
}
.st-nav__list {
  display: flex; flex-wrap: wrap; justify-content: flex-end;
  align-items: center;
  gap: 0.35rem 0.65rem; list-style: none; margin: 0; padding: 0;
}
.st-nav__list > li { flex-shrink: 0; position: relative; }
.st-nav__list a,
.st-nav__trigger {
  color: var(--st-text); text-decoration: none;
  font-size: 0.82rem; font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
  border-bottom: 1px solid transparent; padding-bottom: 0.15rem;
}
.st-nav__trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  background: none;
  border: 0;
  border-bottom: 1px solid transparent;
  padding: 0 0 0.15rem;
  margin: 0;
  font-family: inherit;
  line-height: inherit;
  cursor: pointer;
}
.st-nav__caret {
  display: inline-block;
  width: 0.55em;
  height: 0.55em;
  flex-shrink: 0;
  opacity: 0.55;
  transition: transform 0.2s var(--st-ease), opacity 0.2s var(--st-ease);
}
.st-nav__list a:hover,
.st-nav__list a.is-active,
.st-nav__trigger:hover,
.st-nav__trigger.is-active,
.st-nav__item--has-children.is-active > .st-nav__trigger {
  /* accent (#a64e36) on header soft (#f4d6c2) fails AA; deep keeps brand hue */
  color: var(--st-accent-deep);
  border-bottom-color: var(--st-accent-deep);
}
.st-nav__trigger:hover .st-nav__caret,
.st-nav__trigger.is-active .st-nav__caret,
.st-nav__item--has-children.is-active > .st-nav__trigger .st-nav__caret {
  opacity: 0.9;
}
.st-nav__sub {
  list-style: none;
  margin: 0;
  padding: 0.55rem 0 0.65rem;
  min-width: 17.5rem;
  background: var(--st-accent-soft);
  border: 1px solid var(--st-border);
  border-radius: var(--st-radius);
  box-shadow: 0 8px 20px rgba(57, 29, 21, 0.08);
  position: absolute;
  top: calc(100% + 0.45rem);
  left: 0;
  right: auto;
  z-index: 40;
  /* display:none when closed — visibility/opacity alone still expand scrollWidth */
  display: none;
}
.st-nav__sub::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -0.55rem;
  height: 0.55rem;
}
.st-nav__sub a {
  display: block;
  padding: 0.45rem 1rem;
  border-bottom: 0;
  border-left: 2px solid transparent;
  white-space: nowrap;
  font-size: 0.74rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}
.st-nav__sub a:hover,
.st-nav__sub a.is-active {
  color: var(--st-accent-deep);
  background: var(--st-bg-card);
  border-bottom-color: transparent;
  border-left-color: var(--st-accent-deep);
}
.st-nav__group {
  list-style: none;
  margin: 0;
  padding: 0;
}
.st-nav__group-label {
  display: block;
  padding: 0.55rem 1rem 0.25rem;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-transform: none;
  color: var(--st-text);
  pointer-events: none;
}
.st-nav__group-list {
  list-style: none;
  margin: 0;
  padding: 0 0 0.2rem;
}
.st-nav__group-list a {
  padding-left: 1.45rem;
  font-size: 0.76rem;
}
.st-nav__leaf--featured {
  margin-top: 0.4rem;
  padding-top: 0.4rem;
  border-top: 1px solid var(--st-border);
}
.st-nav__link--stacked {
  white-space: normal;
  padding-top: 0.55rem;
  padding-bottom: 0.55rem;
  line-height: 1.25;
}
.st-nav__link-title {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: inherit;
}
.st-nav__link-desc {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: rgba(57, 29, 21, 0.55);
}
.st-nav__sub a:hover .st-nav__link-desc,
.st-nav__sub a.is-active .st-nav__link-desc {
  color: rgba(57, 29, 21, 0.7);
}
.st-nav__item--has-children:hover > .st-nav__sub,
.st-nav__item--has-children:focus-within > .st-nav__sub,
.st-nav__item--has-children.is-open > .st-nav__sub {
  display: block;
}
/* Last dropdowns open leftward so they stay inside the viewport */
.st-nav__list > .st-nav__item--has-children:nth-last-child(-n+2) > .st-nav__sub {
  left: auto;
  right: 0;
}
.st-nav__item--has-children:hover > .st-nav__trigger .st-nav__caret,
.st-nav__item--has-children:focus-within > .st-nav__trigger .st-nav__caret,
.st-nav__item--has-children.is-open > .st-nav__trigger .st-nav__caret {
  opacity: 0.9;
  transform: rotate(180deg);
}
.st-nav-toggle {
  display: none;
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  width: 2.75rem;
  height: 2.75rem;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.st-nav-toggle span {
  display: block;
  width: 1.4rem;
  height: 2px;
  background: var(--st-icon);
  margin: 0;
  transition: transform 0.2s var(--st-ease), opacity 0.2s var(--st-ease);
  transform-origin: center;
}
.st-nav-toggle[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.st-nav-toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}
.st-nav-toggle[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

@media (max-width: 1100px) {
  .st-nav__list a,
  .st-nav__trigger { font-size: 0.78rem; }
  .st-masthead__script { display: none; }
  .st-masthead__copy { width: min(36rem, 100%); }
  .st-masthead::after {
    background: linear-gradient(
      90deg,
      var(--cream) 0%,
      var(--cream) 32%,
      rgba(246, 235, 228, 0.85) 46%,
      rgba(246, 235, 228, 0.3) 62%,
      transparent 78%
    );
  }
}

@media (max-width: 860px) {
  .st-site-header,
  .st-masthead {
    --st-gutter: 1.25rem;
  }
  .st-theme--home .st-site-header {
    position: relative;
  }
  .st-theme--home .st-masthead {
    padding-top: 0;
  }
  .st-masthead {
    display: flex;
    flex-direction: column;
    min-height: auto;
    width: 100%;
  }
  .st-masthead::after { display: none; }
  .st-site-header {
    display: flex;
    flex-direction: column;
    grid-template-columns: none;
    background: var(--st-header-bg);
  }
  .st-site-header::before { display: none; }
  .st-masthead__brand {
    grid-column: auto;
    padding: 0.65rem var(--st-gutter) 0.45rem;
    gap: 0.65rem;
  }
  .st-masthead__brand img {
    width: 3.75rem;
    height: 3.75rem;
  }
  .st-masthead__brand strong {
    font-size: 1.05rem;
  }
  .st-masthead__brand em {
    font-size: 0.68rem;
  }
  .st-masthead__brand small {
    font-size: 0.95rem;
    white-space: normal;
    max-width: 18ch;
  }
  .st-masthead__script { display: none; }
  .st-masthead__bar {
    grid-column: auto;
    padding: 0.35rem var(--st-gutter) 0.65rem;
  }
  .st-masthead__toolbar {
    gap: 0.45rem 0.75rem;
  }
  .st-masthead__photo {
    position: relative;
    width: 100%;
    height: 52vw;
    min-height: 240px;
    max-height: 420px;
    animation: none;
  }
  .st-masthead__photo img {
    width: 100%;
    height: 100%;
    left: 0;
    right: 0;
    object-fit: cover;
    object-position: center right;
  }
  .st-masthead__body {
    padding: 1.5rem var(--st-gutter) 2.5rem;
    gap: 1.25rem;
  }
  .st-masthead__copy {
    width: auto;
    max-width: none;
  }
  .st-masthead__actions {
    width: auto;
    max-width: none;
  }
  .st-nav-toggle { display: flex; }
  .st-masthead__bar .st-nav {
    display: none;
    flex-direction: column;
    align-items: stretch;
    background: var(--st-accent-soft);
    padding: 0.85rem 0 0.15rem;
  }
  .st-masthead__bar .st-nav.is-open { display: flex; }
  .st-nav__list {
    flex-direction: column;
    gap: 0.35rem;
    align-items: stretch;
  }
  .st-nav__list > li { position: static; }
  .st-nav__list > .st-nav__item > a,
  .st-nav__trigger {
    width: 100%;
    justify-content: space-between;
    font-size: 0.9rem;
    padding: 0.45rem 0;
    border-bottom-color: transparent;
  }
  .st-nav__list > .st-nav__item > a:hover,
  .st-nav__list > .st-nav__item > a.is-active,
  .st-nav__trigger:hover,
  .st-nav__trigger.is-active {
    border-bottom-color: transparent;
  }
  .st-nav__sub {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    display: none;
    margin: 0.15rem 0 0.35rem;
    padding: 0.2rem 0 0.2rem 0.85rem;
    min-width: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    border-left: 2px solid rgba(57, 29, 21, 0.14);
    box-shadow: none;
  }
  .st-nav__sub::before { display: none; }
  /* Mobile: only .is-open — hover/focus-within stick after tap and feel like a long close delay */
  .st-nav__item--has-children:hover > .st-nav__sub,
  .st-nav__item--has-children:focus-within > .st-nav__sub {
    display: none;
  }
  .st-nav__item--has-children.is-open > .st-nav__sub { display: block; }
  .st-nav__caret {
    box-sizing: content-box;
    padding: 0.7rem;
    margin: -0.7rem -0.7rem -0.7rem 0;
  }
  .st-nav__item--has-children:hover > .st-nav__trigger .st-nav__caret,
  .st-nav__item--has-children:focus-within > .st-nav__trigger .st-nav__caret {
    opacity: 0.55;
    transform: none;
  }
  .st-nav__item--has-children.is-open > .st-nav__trigger .st-nav__caret {
    opacity: 0.9;
    transform: rotate(180deg);
  }
  .st-nav__sub a {
    padding: 0.5rem 0.65rem;
    font-size: 0.82rem;
    border-left: 0;
  }
  .st-nav__sub a:hover,
  .st-nav__sub a.is-active {
    background: transparent;
    border-left-color: transparent;
  }
  .st-nav__group-label {
    padding: 0.45rem 0.65rem 0.2rem;
    font-size: 0.84rem;
  }
  .st-nav__group-list a {
    padding-left: 1.1rem;
  }
  .st-nav__leaf--featured {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
  }
  .st-nav__link-title {
    font-size: 0.84rem;
  }
  .st-nav__link-desc {
    font-size: 0.72rem;
  }
}

@keyframes st-fade-up {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes st-ken-burns {
  from { transform: scale(1); }
  to { transform: scale(1.04); }
}

.st-hero-anim {
  opacity: 0;
  animation: st-fade-up 0.85s var(--st-ease) both;
  animation-delay: calc(var(--st-d, 0) * 0.12s + 0.15s);
}

.st-reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.7s var(--st-ease), transform 0.7s var(--st-ease);
}
.st-reveal.is-visible {
  opacity: 1;
  transform: none;
}

.st-reveal-stagger .st-reveal:nth-child(1) { transition-delay: 0s; }
.st-reveal-stagger .st-reveal:nth-child(2) { transition-delay: 0.12s; }
.st-reveal-stagger .st-reveal:nth-child(3) { transition-delay: 0.24s; }
.st-reveal-stagger .st-reveal:nth-child(4) { transition-delay: 0.36s; }
.st-reveal-stagger .st-reveal:nth-child(5) { transition-delay: 0.48s; }

@media (prefers-reduced-motion: reduce) {
  .st-masthead__photo {
    animation: none;
  }
  .st-hero-anim {
    opacity: 1;
    animation: none;
  }
  .st-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .st-reveal-stagger .st-reveal {
    transition-delay: 0s;
  }
}

/* Pillars / cards */
.st-grid {
  display: grid;
  gap: 1.5rem;
}
.st-grid--3 { grid-template-columns: repeat(3, 1fr); }
.st-grid--2 { grid-template-columns: repeat(2, 1fr); }
.st-grid--5 { grid-template-columns: repeat(5, 1fr); }

@media (max-width: 900px) {
  .st-grid--3,
  .st-grid--5 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .st-grid--2,
  .st-grid--3,
  .st-grid--5 { grid-template-columns: 1fr; }
}

.st-card {
  background: var(--st-white);
  border: 1px solid var(--st-border);
  border-radius: var(--st-radius);
  padding: 1.5rem;
  height: 100%;
}

.st-card__icon {
  width: 2.5rem;
  height: 2.5rem;
  margin-bottom: 1rem;
  color: var(--st-accent);
}

.st-card h3 { margin-bottom: 0.5rem; }
.st-card p { font-size: 0.98rem; }
.st-card__link {
  display: inline-block;
  margin-top: 0.75rem;
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Entry points — Hol kezdjük? */
.st-entry__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: clamp(2rem, 4vw, 3rem);
  align-items: stretch;
}
.st-entry__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1rem;
  padding: 0.75rem clamp(1.25rem, 2.5vw, 2.5rem);
  padding-bottom: 1.15rem;
  border-bottom: 2px solid transparent;
  transition: border-color 0.3s var(--st-ease), transform 0.3s var(--st-ease);
}
.st-entry__item:hover {
  border-bottom-color: var(--st-accent);
  transform: translateY(-3px);
}
.st-entry__item + .st-entry__item {
  border-left: 0;
  position: relative;
}
.st-entry__item + .st-entry__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35rem;
  bottom: 0.35rem;
  width: 1px;
  background: rgba(122, 56, 45, 0.18);
}
.st-entry__icon {
  width: 4.25rem;
  height: 4.25rem;
  border-radius: 50%;
  background: #ebd1c2;
  color: var(--st-icon);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  margin-bottom: 0.35rem;
  transition: background 0.3s var(--st-ease), color 0.3s var(--st-ease), transform 0.3s var(--st-ease);
}
.st-entry__item:hover .st-entry__icon {
  background: var(--st-accent);
  color: var(--st-white);
  transform: scale(1.05);
}
.st-entry__icon svg {
  display: block;
}
.st-entry__item h3 {
  margin: 0;
  font-family: var(--st-font-body);
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--st-text);
  line-height: 1.35;
}
.st-entry__item p {
  margin: 0;
  max-width: 18rem;
  font-size: 0.98rem;
  line-height: 1.55;
  color: var(--st-text);
}
.st-entry__link {
  margin-top: auto;
  padding-top: 0.5rem;
  font-family: var(--st-font-body);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--st-text);
  transition: color 0.2s var(--st-ease);
}
.st-entry__link:hover {
  color: var(--st-accent);
}
@media (max-width: 800px) {
  .st-entry__grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .st-entry__item {
    padding: 1.75rem 0.5rem;
  }
  .st-entry__item + .st-entry__item::before {
    left: 12%;
    right: 12%;
    top: 0;
    bottom: auto;
    width: auto;
    height: 1px;
  }
}

/* Split */
.st-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: center;
}
@media (max-width: 800px) {
  .st-split { grid-template-columns: 1fr; }
}

.st-split__media img,
.st-split__media .st-photo {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: var(--st-radius);
  background: var(--st-bg-card);
}

.st-values {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-top: 1.5rem;
}
.st-values__item {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--st-text);
}
.st-values__item span {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--st-text-muted);
  margin-top: 0.2rem;
}

/* Testimonials */
.st-testimonials {
  background: var(--st-bg-soft);
  overflow: hidden;
}
.st-testimonials__inner {
  position: relative;
}
.st-testimonials h2 {
  margin: 0 0 clamp(2rem, 4vw, 3rem);
}
.st-testimonials__shell {
  position: relative;
}
.st-testimonials__viewport {
  overflow: hidden;
  min-width: 0;
  margin: 0 0.5rem;
}
.st-testimonials__track {
  display: flex;
  transition: transform 0.45s var(--st-ease);
  will-change: transform;
}
.st-testimonials__item {
  flex: 0 0 100%;
  margin: 0;
  padding: 0.5rem 1.5rem 0.75rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  box-sizing: border-box;
}
@media (min-width: 801px) {
  .st-testimonials__viewport {
    margin: 0 1.5rem;
  }
  .st-testimonials__item {
    flex-basis: calc(100% / 3);
    padding: 0.5rem clamp(1.25rem, 2.5vw, 2.5rem) 0.75rem;
  }
  .st-testimonials__item + .st-testimonials__item {
    border-left: 1px solid rgba(57, 29, 21, 0.12);
  }
}
.st-testimonials__mark {
  display: block;
  font-family: var(--st-font-display);
  font-size: clamp(3.5rem, 6vw, 4.75rem);
  font-weight: 500;
  line-height: 0.7;
  color: #d9a08c;
  user-select: none;
}
.st-testimonials__item p {
  margin: 0;
  max-width: 18rem;
  font-family: var(--st-font-display);
  font-size: clamp(1.05rem, 1.5vw, 1.28rem);
  font-style: italic;
  font-weight: 500;
  line-height: 1.45;
  color: #6b342c;
}
.st-testimonials__author {
  font-family: var(--st-font-body);
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--st-accent);
}
.st-testimonials__nav {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  width: 2.65rem;
  height: 2.65rem;
  border: 0;
  border-radius: 50%;
  background: var(--st-accent);
  color: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
  z-index: 2;
  transition: background 0.2s var(--st-ease), transform 0.2s var(--st-ease);
}
.st-testimonials__nav--prev {
  left: -0.35rem;
}
.st-testimonials__nav--next {
  right: -0.35rem;
}
.st-testimonials__nav:hover {
  background: var(--st-accent-hover);
}
.st-testimonials__nav:focus-visible {
  outline: 2px solid var(--st-accent-deep);
  outline-offset: 3px;
}
.st-testimonials__nav svg {
  display: block;
}
@media (max-width: 800px) {
  .st-testimonials__viewport {
    margin: 0 2.1rem;
  }
  .st-testimonials__item {
    padding-inline: 0.75rem;
  }
  .st-testimonials__nav {
    width: 2.35rem;
    height: 2.35rem;
  }
  .st-testimonials__nav--prev {
    left: 0;
  }
  .st-testimonials__nav--next {
    right: 0;
  }
}

/* Legacy quote (other pages, if any) */
.st-quote {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.st-quote p {
  margin: 0;
  font-family: var(--st-font-display);
  font-size: 1.25rem;
  font-style: italic;
  line-height: 1.45;
  color: var(--st-text);
}
.st-quote__author {
  font-family: var(--st-font-body);
  font-size: 0.85rem;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--st-accent);
}

/* Blog cards */
.st-post-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media (max-width: 800px) {
  .st-post-grid { grid-template-columns: 1fr; }
}

.st-post-card {
  background: var(--st-white);
  border: 1px solid var(--st-border);
  border-radius: var(--st-radius);
  overflow: hidden;
  transition: transform 0.3s var(--st-ease), box-shadow 0.3s var(--st-ease);
}
.st-post-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(57, 29, 21, 0.08);
}
.st-post-card a {
  display: block;
  color: inherit;
  text-decoration: none;
}
.st-post-card__thumb {
  aspect-ratio: 16 / 10;
  background: var(--st-bg-card);
  overflow: hidden;
}
.st-post-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.st-post-card__body { padding: 1.25rem; }
.st-post-card__tags {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--st-accent);
  margin-bottom: 0.4rem;
}
.st-post-card h3 {
  font-size: 1.35rem;
  margin-bottom: 0.5rem;
}
.st-post-card p {
  font-size: 0.95rem;
  margin: 0;
}

/* Forms */
.st-form {
  max-width: 36rem;
  display: grid;
  gap: 1rem;
}
.st-form label {
  display: grid;
  gap: 0.35rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--st-text);
}
.st-form input,
.st-form select,
.st-form textarea {
  font: inherit;
  padding: 0.75rem 0.9rem;
  border: 1px solid var(--st-border);
  border-radius: var(--st-radius);
  background: var(--st-white);
  color: var(--st-text);
  transition: border-color 0.2s var(--st-ease), box-shadow 0.2s var(--st-ease);
}
.st-form input:focus,
.st-form select:focus,
.st-form textarea:focus {
  outline: none;
  border-color: var(--st-accent);
  box-shadow: 0 0 0 3px rgba(166, 78, 54, 0.15);
}
.st-form input[aria-invalid="true"],
.st-form select[aria-invalid="true"],
.st-form textarea[aria-invalid="true"] {
  border-color: var(--st-accent-deep);
}
.st-form textarea { min-height: 8rem; resize: vertical; }
.st-form__optional {
  font-weight: 400;
  color: var(--st-text-muted);
  font-size: 0.85em;
}
.st-form label.st-form__check {
  display: flex;
  flex-direction: row;
  gap: 0.6rem;
  align-items: flex-start;
  font-weight: 400;
}
.st-form label.st-form__check input {
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  margin-top: 0.2rem;
}
.st-form label.st-form__check span {
  line-height: 1.45;
}
.st-form__error {
  background: #fde8e4;
  color: var(--st-accent-deep);
  padding: 0.75rem 1rem;
  border-radius: var(--st-radius);
  font-size: 0.9rem;
  margin-bottom: 1rem;
}

/* Kapcsolat */
.st-contact-hero .st-lead {
  max-width: 38rem;
}
.st-contact {
  padding-top: clamp(2rem, 5vw, 3.5rem);
  /* Match rolam-portrait JPG edge cream so the square frame disappears */
  background: #fbf6f0;
}
.st-contact__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}
.st-contact__photo {
  margin-bottom: 1.5rem;
  justify-content: flex-start;
}
.st-contact__photo img {
  width: min(100%, 18rem);
}
.st-contact__aside h2 {
  margin-bottom: 0.85rem;
}
.st-contact__details {
  list-style: none;
  padding: 0;
  margin: 1.75rem 0 1.5rem;
  display: grid;
  gap: 1rem;
}
.st-contact__details li {
  display: grid;
  gap: 0.2rem;
}
.st-contact__label {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--st-accent);
}
.st-contact__details a {
  font-weight: 600;
  color: var(--st-text);
  text-decoration: none;
}
.st-contact__details a:hover {
  color: var(--st-accent);
}
.st-contact__aside .st-social {
  margin: 0 0 1.5rem;
}
.st-contact__slogan {
  margin: 0;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
}
.st-form--contact {
  max-width: none;
  padding: clamp(1.25rem, 3vw, 2rem);
  background: var(--st-white);
  border: 1px solid var(--st-border);
  border-radius: var(--st-radius);
}
.st-form--contact .st-btn {
  justify-self: start;
  margin-top: 0.35rem;
}

@media (max-width: 800px) {
  .st-contact__grid {
    grid-template-columns: 1fr;
  }
  .st-contact__aside {
    order: 1;
  }
  .st-contact__form-wrap {
    order: 0;
  }
  .st-contact__photo {
    justify-content: center;
    max-width: 14rem;
    margin-inline: auto;
  }
}

/* Köszönöm */
.st-thanks {
  min-height: calc(70vh - var(--st-header-h));
  display: flex;
  align-items: center;
  background:
    radial-gradient(ellipse 70% 55% at 50% 0%, rgba(244, 214, 194, 0.5), transparent 60%),
    var(--st-bg);
}
.st-thanks__inner {
  text-align: center;
  max-width: 36rem;
  margin-inline: auto;
}
.st-thanks .st-btn-row {
  justify-content: center;
}

/* Rólam */
.st-page-hero.st-rolam-hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(2.5rem, 6vw, 4.5rem);
  background: #fbf6f0;
  border-bottom: none;
}
.st-rolam-hero__mark {
  position: absolute;
  right: max(-1.5rem, calc((100% - var(--st-container)) / 2 - 4rem));
  top: 50%;
  translate: 0 -50%;
  width: min(22rem, 36vw);
  height: auto;
  opacity: 0.06;
  mix-blend-mode: multiply;
  pointer-events: none;
  user-select: none;
  z-index: 0;
}
.st-rolam-hero__grid {
  position: relative;
  z-index: 1;
  align-items: center;
}
.st-rolam-hero__photo img {
  width: min(100%, 26rem);
  mix-blend-mode: multiply;
}
.st-rolam-hero__lead {
  margin: 0 0 0.55rem;
  font-family: var(--st-font-display);
  font-size: clamp(1.15rem, 1.9vw, 1.5rem);
  font-style: italic;
  font-weight: 500;
  line-height: 1.35;
  color: var(--st-text);
}
.st-rolam-hero__copy h1 {
  margin: 0 0 0.75rem;
  font-size: clamp(2.15rem, 4.5vw, 3.15rem);
  line-height: 1.1;
}
.st-rolam-hero__text {
  margin: 0;
  max-width: 34ch;
  font-size: 1.02rem;
  line-height: 1.55;
  color: var(--st-text-muted);
}
.st-rolam-hero__copy .st-btn-row {
  margin-top: 1.35rem;
}
.st-rolam-intro__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(1.75rem, 4vw, 3.5rem);
  align-items: start;
}
.st-rolam-intro__inner h2 {
  max-width: 24ch;
}
.st-rolam-prose {
  max-width: 40rem;
}
.st-rolam-prose p:last-child {
  margin-bottom: 0;
}

/* Sportoló — dark credibility band (homepage st-why rhythm) */
.st-rolam-sport {
  background:
    radial-gradient(
      ellipse 80% 70% at 12% 20%,
      rgba(237, 191, 166, 0.18) 0%,
      transparent 55%
    ),
    linear-gradient(
      145deg,
      var(--st-accent-deep) 0%,
      var(--st-header-panel) 48%,
      #5c241c 100%
    );
}
.st-rolam-sport__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: stretch;
}
.st-rolam-sport__intro {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  min-height: 100%;
}
.st-rolam-sport__intro h2 {
  max-width: 16ch;
  margin-bottom: 1rem;
  color: var(--st-white);
}
.st-rolam-sport__close {
  margin: 0;
  max-width: 34ch;
  font-family: var(--st-font-display);
  font-size: clamp(1.15rem, 1.6vw, 1.35rem);
  font-weight: 500;
  line-height: 1.4;
  color: var(--st-white);
  opacity: 0.92;
}
.st-rolam-sport__slogan {
  margin: auto 0 0;
  padding-top: 2rem;
  color: var(--st-powder);
}
.st-rolam-sport__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
  counter-reset: st-rolam-sport;
}
.st-rolam-sport__list li {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 1rem;
  row-gap: 0.3rem;
  margin: 0;
  padding: 1.2rem 0;
  border-top: 1px solid rgba(237, 191, 166, 0.35);
  counter-increment: st-rolam-sport;
}
.st-rolam-sport__list li:last-child {
  padding-bottom: 0;
}
.st-rolam-sport__list li::before {
  content: counter(st-rolam-sport, decimal-leading-zero);
  grid-row: 1 / span 2;
  align-self: start;
  padding-top: 0.05rem;
  font-family: var(--st-font-display);
  font-size: clamp(1.85rem, 2.8vw, 2.35rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--st-powder);
}
.st-rolam-sport__list strong {
  font-family: var(--st-font-display);
  font-size: clamp(1.1rem, 1.5vw, 1.3rem);
  font-weight: 600;
  line-height: 1.25;
  color: var(--st-white);
}
.st-rolam-sport__list span {
  font-size: 0.95rem;
  line-height: 1.5;
  color: rgba(255, 253, 251, 0.82);
}

/* Edző — cardless two-column */
.st-rolam-coach__head {
  max-width: 42rem;
  margin-bottom: 0.5rem;
}
.st-rolam-coach__head h2 {
  max-width: 22ch;
  margin-bottom: 1rem;
}
.st-rolam-subblocks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.75rem, 4vw, 3.5rem);
  margin-top: 2rem;
  padding-top: 1.75rem;
  border-top: 1px solid rgba(166, 78, 54, 0.18);
}
.st-rolam-subblock {
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
}
.st-rolam-subblock + .st-rolam-subblock {
  padding-left: clamp(1.25rem, 3vw, 2rem);
  border-left: 1px solid rgba(166, 78, 54, 0.16);
}
.st-rolam-subblock h3 {
  margin: 0 0 0.65rem;
  font-size: clamp(1.15rem, 1.6vw, 1.35rem);
}
.st-rolam-subblock p {
  margin: 0;
  color: var(--st-text-muted);
  line-height: 1.55;
}

/* Mid-page coach — container-width photo panel, cream fade to the right */
.st-rolam-mid {
  --st-rolam-mid-cream: #fffdfb;
}
.st-rolam-mid__panel {
  position: relative;
  z-index: 0;
  overflow: hidden;
  border-radius: var(--st-radius);
  background: var(--st-rolam-mid-cream);
  min-height: clamp(16rem, 28vw, 20rem);
}
.st-rolam-mid__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-color: #3e2a1c;
  background-image: var(--st-rolam-mid-img);
  background-position: left center;
  background-size: cover;
  background-repeat: no-repeat;
}
.st-rolam-mid__panel--has-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    transparent 0%,
    transparent 14%,
    rgba(255, 253, 251, 0.2) 32%,
    rgba(255, 253, 251, 0.72) 44%,
    rgba(255, 253, 251, 0.94) 56%,
    rgba(255, 253, 251, 0.92) 78%,
    rgba(255, 253, 251, 0.78) 100%
  );
}
.st-rolam-mid__copy {
  position: relative;
  z-index: 2;
  width: min(100%, 60%);
  margin-left: auto;
  padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1.25rem, 2.5vw, 2rem);
}
.st-rolam-mid__copy .st-eyebrow {
  margin-bottom: 0.45rem;
}
.st-rolam-mid__copy h2 {
  max-width: 28ch;
  margin-bottom: 0.7rem;
  font-size: clamp(1.75rem, 3.2vw, 2.35rem);
  line-height: 1.2;
}
.st-rolam-mid__copy p {
  margin-bottom: 0.65rem;
  font-size: 0.95rem;
  line-height: 1.5;
}
.st-rolam-mid__copy p:last-of-type {
  margin-bottom: 0;
}
.st-rolam-mid__copy .st-btn-row {
  margin-top: 0.9rem;
}

/* Philosophy pull-quote */
.st-rolam-quote {
  background:
    radial-gradient(
      ellipse 70% 80% at 90% 10%,
      rgba(244, 214, 194, 0.45) 0%,
      transparent 55%
    ),
    var(--st-bg-soft);
}
.st-rolam-quote__inner {
  max-width: 40rem;
  margin-inline: auto;
  text-align: center;
}
.st-rolam-quote__text {
  margin: 0 0 1.25rem;
  padding: 0;
  border: 0;
  background: none;
}
.st-rolam-quote__text p {
  margin: 0;
  font-family: var(--st-font-display);
  font-size: clamp(1.35rem, 2.8vw, 1.85rem);
  font-style: italic;
  font-weight: 500;
  line-height: 1.4;
  color: var(--st-text);
}
.st-rolam-quote__attr {
  margin: 0;
  font-size: 0.92rem;
  letter-spacing: 0.04em;
  color: var(--st-accent);
}

/* Credentials — thematic groups */
.st-rolam-creds-section h2 {
  margin-bottom: 1.75rem;
}
.st-rolam-creds {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.75rem, 4vw, 2.75rem);
  max-width: none;
  margin: 0;
}
.st-rolam-creds__group h3 {
  margin: 0 0 0.85rem;
  font-family: var(--st-font-display);
  font-size: clamp(1.15rem, 1.5vw, 1.3rem);
  font-weight: 600;
  color: var(--st-text);
}
.st-rolam-creds__group .st-list-check {
  margin: 0;
  max-width: none;
}
.st-rolam-creds__group .st-list-check li {
  margin-bottom: 0.55rem;
  font-size: 0.95rem;
}

/* External sources — nested under credentials */
.st-rolam-sources {
  margin-top: clamp(2.25rem, 4vw, 3rem);
  padding-top: clamp(1.75rem, 3vw, 2.25rem);
  border-top: 1px solid rgba(166, 78, 54, 0.16);
}
.st-rolam-sources h3 {
  margin: 0 0 0.65rem;
  font-family: var(--st-font-display);
  font-size: clamp(1.15rem, 1.5vw, 1.3rem);
  font-weight: 600;
  color: var(--st-text);
}
.st-rolam-sources__lead {
  max-width: 36rem;
  margin: 0 0 1.15rem;
  color: var(--st-text-muted);
  font-size: 0.98rem;
  line-height: 1.55;
}
.st-rolam-sources__list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-width: 40rem;
}
.st-rolam-sources__list li {
  margin: 0;
  padding: 0.7rem 0;
  border-top: 1px solid rgba(166, 78, 54, 0.14);
  font-size: 0.98rem;
  line-height: 1.45;
}
.st-rolam-sources__list li:last-child {
  padding-bottom: 0;
}
.st-rolam-sources__list a {
  color: var(--st-text);
  text-decoration: none;
  text-underline-offset: 0.18em;
}
.st-rolam-sources__list a:hover,
.st-rolam-sources__list a:focus-visible {
  color: var(--st-accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
}

@media (max-width: 800px) {
  .st-rolam-intro__inner {
    grid-template-columns: 1fr;
  }
  .st-rolam-sport__inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .st-rolam-sport__intro h2 {
    max-width: none;
  }
  .st-rolam-sport__slogan {
    margin-top: 1.5rem;
    padding-top: 0;
  }
  .st-rolam-subblocks {
    grid-template-columns: 1fr;
  }
  .st-rolam-subblock + .st-rolam-subblock {
    padding-left: 0;
    padding-top: 1.25rem;
    border-left: 0;
    border-top: 1px solid rgba(166, 78, 54, 0.16);
  }
  .st-rolam-mid__panel {
    min-height: 0;
  }
  .st-rolam-mid__bg {
    background-position: left top;
  }
  .st-rolam-mid__panel--has-photo::after {
    background: linear-gradient(
      180deg,
      rgba(255, 253, 251, 0.08) 0%,
      rgba(255, 253, 251, 0.55) 28%,
      rgba(255, 253, 251, 0.94) 46%,
      rgba(255, 253, 251, 0.96) 62%,
      rgba(255, 253, 251, 0.88) 100%
    );
  }
  .st-rolam-mid__copy {
    width: 100%;
    padding-top: clamp(8rem, 38vw, 12rem);
  }
  .st-rolam-creds {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }
  .st-rolam-hero__mark {
    width: 14rem;
    right: -3rem;
    opacity: 0.045;
  }
}

/* Futás & Triatlon */
.st-page-hero.st-ft-hero {
  border-bottom: none;
}
.st-ft-hero .st-page-hero__inner {
  max-width: 36rem;
}
.st-page-hero.st-ft-hero h1 {
  margin-bottom: 0.85rem;
  max-width: 18ch;
  font-size: clamp(2.05rem, 4vw, 2.85rem);
  line-height: 1.1;
}

.st-ft-intro {
  position: relative;
  overflow: hidden;
  background: linear-gradient(
    118deg,
    #fffdfb 0%,
    #f7ebe3 38%,
    var(--st-bg-card) 100%
  );
  border-top: 1px solid rgba(57, 29, 21, 0.08);
  padding: clamp(4.5rem, 10vw, 7.5rem) 0;
}
.st-ft-intro__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}
.st-ft-intro__inner h2 {
  margin: 0;
  max-width: 24ch;
}
.st-ft-prose {
  max-width: none;
}
.st-ft-prose p:last-child {
  margin-bottom: 0;
}

.st-ft-offer__head {
  margin-bottom: clamp(1.75rem, 4vw, 2.5rem);
  max-width: 36rem;
}
.st-ft-offer__head h2 {
  margin: 0 0 0.85rem;
}
.st-ft-offer__head .st-lead {
  margin: 0;
  max-width: 34rem;
}
.st-ft-offer__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1.75rem, 4vw, 3.5rem);
  align-items: start;
  margin-top: 0.5rem;
  padding-top: 1.75rem;
  border-top: 1px solid rgba(166, 78, 54, 0.18);
}
.st-ft-offer__col {
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
}
.st-ft-offer__col + .st-ft-offer__col {
  padding-left: clamp(1.25rem, 3vw, 2rem);
  border-left: 1px solid rgba(166, 78, 54, 0.16);
}
.st-ft-offer__col h3 {
  margin: 0 0 1rem;
  font-family: var(--st-font-display);
  font-size: clamp(1.2rem, 1.7vw, 1.45rem);
  font-weight: 600;
  line-height: 1.25;
}
.st-ft-offer__col .st-list-check {
  margin: 0;
}

.st-ft-trust {
  background:
    radial-gradient(
      ellipse 80% 70% at 12% 20%,
      rgba(237, 191, 166, 0.18) 0%,
      transparent 55%
    ),
    linear-gradient(
      145deg,
      var(--st-accent-deep) 0%,
      var(--st-header-panel) 48%,
      #5c241c 100%
    );
}
.st-ft-trust__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: stretch;
}
.st-ft-trust__intro {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  min-height: 100%;
}
.st-ft-trust__intro h2 {
  margin-bottom: 1rem;
  max-width: 12ch;
}
.st-ft-trust__close {
  margin: 0;
  max-width: 32ch;
  font-family: var(--st-font-display);
  font-size: clamp(1.15rem, 1.6vw, 1.35rem);
  font-weight: 500;
  line-height: 1.4;
  color: var(--st-white);
  opacity: 0.92;
}
.st-ft-trust__slogan {
  margin: auto 0 0;
  padding-top: 2rem;
  color: var(--st-powder);
}
.st-ft-trust__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
  counter-reset: st-ft-trust;
}
.st-ft-trust__list li {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 1rem;
  row-gap: 0.35rem;
  align-content: start;
  margin: 0;
  padding: 1.35rem 0;
  border: 0;
  border-top: 1px solid rgba(237, 191, 166, 0.35);
  counter-increment: st-ft-trust;
}
.st-ft-trust__list li:last-child {
  padding-bottom: 0;
}
.st-ft-trust__list li::before {
  content: counter(st-ft-trust, decimal-leading-zero);
  grid-row: 1 / span 2;
  align-self: start;
  padding-top: 0.05rem;
  font-family: var(--st-font-display);
  font-size: clamp(2rem, 3vw, 2.55rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--st-powder);
}
.st-ft-trust__list strong {
  font-family: var(--st-font-display);
  font-size: clamp(1.15rem, 1.5vw, 1.35rem);
  font-weight: 600;
  line-height: 1.25;
  color: var(--st-white);
}
.st-ft-trust__list span {
  font-size: 0.98rem;
  line-height: 1.55;
  color: rgba(255, 253, 251, 0.82);
}

.st-ft-tri {
  --st-ft-tri-cream: #fffdfb;
  position: relative;
  overflow: hidden;
  background: var(--st-ft-tri-cream);
  padding-block: clamp(2.5rem, 5vw, 3.5rem);
}
.st-ft-tri__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-color: #3e2a1c;
  background-image: var(--st-ft-tri-img);
  /* Full-bleed; distant cyclist photo has headroom so cover won't clip the helmet */
  background-size: cover;
  background-position: 70% center;
  background-repeat: no-repeat;
}
.st-ft-tri--has-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    100deg,
    rgba(255, 253, 251, 0.94) 0%,
    rgba(255, 253, 251, 0.86) 28%,
    rgba(255, 253, 251, 0.4) 50%,
    rgba(255, 253, 251, 0.08) 66%,
    transparent 78%,
    transparent 100%
  );
}
.st-ft-tri__inner {
  position: relative;
  z-index: 2;
}
.st-ft-tri__copy {
  max-width: 32rem;
}
.st-ft-tri__copy .st-eyebrow {
  margin-bottom: 0.45rem;
  color: var(--st-accent);
}
.st-ft-tri__copy h2 {
  margin-bottom: 0.7rem;
  max-width: 16ch;
  font-size: clamp(1.75rem, 3.2vw, 2.35rem);
  line-height: 1.2;
}
.st-ft-tri__copy p {
  margin-bottom: 0.65rem;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--st-text-muted);
}
.st-ft-tri__copy p:last-of-type {
  margin-bottom: 0;
}
.st-ft-tri__copy .st-btn-row {
  margin-top: 0.9rem;
}

.st-ft-tri-who__head {
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
  max-width: 40rem;
}
.st-ft-tri-who__head h2 {
  margin: 0 0 0.85rem;
}
.st-ft-tri-who__head .st-lead {
  margin: 0 0 1rem;
  max-width: 38rem;
}
.st-ft-tri-who__intro {
  margin: 0;
  font-family: var(--st-font-display);
  font-size: clamp(1.05rem, 1.4vw, 1.2rem);
  font-weight: 550;
  line-height: 1.35;
  color: var(--st-text);
}
.st-ft-tri-who__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid rgba(166, 78, 54, 0.18);
}
.st-ft-tri-who__list li {
  display: grid;
  gap: 0.4rem;
  margin: 0;
  padding: 1.35rem 0;
  align-content: start;
}
.st-ft-tri-who__list li:nth-child(odd) {
  padding-right: clamp(1.25rem, 3vw, 2rem);
  border-right: 1px solid rgba(166, 78, 54, 0.14);
}
.st-ft-tri-who__list li:nth-child(even) {
  padding-left: clamp(1.25rem, 3vw, 2rem);
}
.st-ft-tri-who__list li:nth-child(n + 3) {
  border-top: 1px solid rgba(166, 78, 54, 0.14);
}
.st-ft-tri-who__list strong {
  font-family: var(--st-font-display);
  font-size: clamp(1.1rem, 1.5vw, 1.3rem);
  font-weight: 600;
  line-height: 1.3;
  color: var(--st-text);
}
.st-ft-tri-who__list span {
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--st-text-muted);
}

.st-ft-quote {
  background:
    radial-gradient(
      ellipse 70% 80% at 90% 10%,
      rgba(244, 214, 194, 0.45) 0%,
      transparent 55%
    ),
    var(--st-bg-soft);
}
.st-ft-quote__inner {
  max-width: 44rem;
  margin-inline: auto;
  text-align: center;
}
.st-ft-quote__text {
  margin: 0 0 1.25rem;
  padding: 0;
  border: 0;
  background: none;
}
.st-ft-quote__text p {
  margin: 0;
  font-family: var(--st-font-display);
  font-size: clamp(1.35rem, 2.8vw, 1.85rem);
  font-style: italic;
  font-weight: 500;
  line-height: 1.4;
  color: var(--st-text);
}
.st-ft-quote__attr {
  margin: 0;
  font-size: 0.92rem;
  letter-spacing: 0.04em;
  color: var(--st-accent);
}

@media (max-width: 800px) {
  .st-page-hero.st-ft-hero h1 {
    max-width: none;
  }
  .st-ft-intro {
    padding: clamp(3.25rem, 8vw, 5rem) 0;
  }
  .st-ft-intro__inner {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .st-ft-intro__inner h2 {
    max-width: none;
  }
  .st-ft-offer__grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .st-ft-offer__col + .st-ft-offer__col {
    padding-left: 0;
    padding-top: 1.5rem;
    margin-top: 1.5rem;
    border-left: 0;
    border-top: 1px solid rgba(166, 78, 54, 0.16);
  }
  .st-ft-trust__inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .st-ft-trust__intro h2 {
    max-width: none;
  }
  .st-ft-trust__close {
    max-width: 36ch;
  }
  .st-ft-trust__slogan {
    margin-top: 1.5rem;
    padding-top: 0;
  }
  .st-ft-tri {
    padding-block: clamp(2.25rem, 6vw, 3.25rem);
  }
  .st-ft-tri__bg {
    background-position: 65% center;
  }
  .st-ft-tri--has-photo::after {
    background: linear-gradient(
      180deg,
      rgba(255, 253, 251, 0.15) 0%,
      rgba(255, 253, 251, 0.45) 40%,
      rgba(255, 253, 251, 0.92) 68%,
      rgba(255, 253, 251, 0.98) 100%
    );
  }
  .st-ft-tri__copy {
    max-width: none;
  }
  .st-ft-tri-who__list {
    grid-template-columns: 1fr;
  }
  .st-ft-tri-who__list li:nth-child(odd),
  .st-ft-tri-who__list li:nth-child(even) {
    padding-right: 0;
    padding-left: 0;
    border-right: 0;
  }
  .st-ft-tri-who__list li + li {
    border-top: 1px solid rgba(166, 78, 54, 0.14);
  }
}

/* Sport Coaching */
.st-page-hero.st-sc-hero {
  border-bottom: none;
}
.st-sc-hero .st-page-hero__inner {
  max-width: 40rem;
}
.st-page-hero.st-sc-hero h1 {
  margin-bottom: 0.85rem;
  max-width: 20ch;
  font-size: clamp(2.05rem, 4vw, 2.85rem);
  line-height: 1.1;
}

.st-lc-hero .st-page-hero__inner {
  max-width: 40rem;
}
.st-page-hero.st-lc-hero h1 {
  margin-bottom: 0.85rem;
  max-width: 30ch;
  font-size: clamp(2.05rem, 4vw, 2.85rem);
  line-height: 1.1;
}

.st-vall-hero .st-page-hero__inner {
  max-width: 40rem;
}
.st-page-hero.st-vall-hero h1 {
  margin-bottom: 0.85rem;
  max-width: 28ch;
  font-size: clamp(2.05rem, 4vw, 2.85rem);
  line-height: 1.1;
}

.st-sc-intro__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}
.st-sc-intro__inner h2 {
  margin: 0;
  max-width: 24ch;
}
.st-sc-prose {
  max-width: none;
}
.st-sc-prose p:last-child {
  margin-bottom: 0;
}

.st-sc-topics__head {
  margin-bottom: clamp(1.75rem, 4vw, 2.5rem);
  max-width: 28rem;
}
.st-sc-topics__head h2 {
  margin: 0;
}
.st-sc-topics__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--st-border);
}
.st-sc-topics__grid li {
  margin: 0;
  padding: 1.1rem 1.25rem 1.1rem 0;
  border-bottom: 1px solid var(--st-border);
  font-family: var(--st-font-display);
  font-size: clamp(1.05rem, 1.4vw, 1.2rem);
  font-weight: 500;
  line-height: 1.35;
  color: var(--st-text);
}
.st-sc-topics__grid li:nth-child(odd) {
  padding-right: 1.5rem;
  border-right: 1px solid var(--st-border);
}
.st-sc-topics__grid li:nth-child(even) {
  padding-left: 1.5rem;
}

.st-sc-cards {
  --st-sc-cards-cream: #fffdfb;
}
.st-sc-cards__panel {
  position: relative;
  overflow: hidden;
  border-radius: 0;
  background: var(--st-sc-cards-cream);
  min-height: clamp(22rem, 42vw, 28rem);
}
.st-sc-cards__bg {
  position: absolute;
  inset: 0;
  background-image: var(--st-sc-cards-img);
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
}
.st-sc-cards__panel--has-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      105deg,
      rgba(255, 253, 251, 0.96) 0%,
      rgba(255, 253, 251, 0.9) 42%,
      rgba(255, 253, 251, 0.55) 68%,
      rgba(255, 253, 251, 0.2) 100%
    );
  pointer-events: none;
}
.st-sc-cards__copy {
  position: relative;
  z-index: 1;
  max-width: 28rem;
  padding: clamp(2.25rem, 5vw, 3.5rem) clamp(1.5rem, 4vw, 3rem);
}
.st-sc-cards__copy .st-eyebrow {
  color: var(--st-accent);
}
.st-sc-cards__copy h2 {
  margin-bottom: 1rem;
  max-width: 14ch;
}
.st-sc-cards__copy p {
  color: var(--st-text-muted);
}
.st-sc-cards__copy p:last-of-type {
  margin-bottom: 0;
}
.st-sc-cards__copy .st-btn-row {
  margin-top: 1.35rem;
}

.st-sc-process {
  background:
    radial-gradient(
      ellipse 80% 70% at 12% 20%,
      rgba(237, 191, 166, 0.18) 0%,
      transparent 55%
    ),
    linear-gradient(
      145deg,
      #4a2419 0%,
      var(--st-accent-deep) 48%,
      #2e1510 100%
    );
}
.st-sc-process__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: stretch;
}
.st-sc-process__intro {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  min-height: 100%;
}
.st-sc-process__intro h2 {
  margin-bottom: 1rem;
  max-width: 12ch;
}
.st-sc-process__close {
  margin: 0;
  max-width: 34ch;
  font-family: var(--st-font-display);
  font-size: clamp(1.15rem, 1.6vw, 1.35rem);
  font-weight: 500;
  line-height: 1.4;
  color: var(--st-white);
  opacity: 0.92;
}
.st-sc-process__slogan {
  margin: auto 0 0;
  padding-top: 2rem;
  color: var(--st-powder);
}
.st-sc-process__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
  counter-reset: st-sc-process;
}
.st-sc-process__list li {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 1rem;
  row-gap: 0.35rem;
  align-content: start;
  margin: 0;
  padding: 1.35rem 0;
  border-top: 1px solid rgba(249, 240, 234, 0.16);
  counter-increment: st-sc-process;
}
.st-sc-process__list li:last-child {
  padding-bottom: 0;
}
.st-sc-process__list li::before {
  content: counter(st-sc-process, decimal-leading-zero);
  grid-row: 1 / span 2;
  align-self: start;
  padding-top: 0.05rem;
  font-family: var(--st-font-display);
  font-size: clamp(2rem, 3vw, 2.55rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--st-powder);
  opacity: 0.85;
}
.st-sc-process__list strong {
  font-family: var(--st-font-display);
  font-size: clamp(1.15rem, 1.5vw, 1.35rem);
  font-weight: 600;
  line-height: 1.25;
  color: var(--st-white);
}
.st-sc-process__list span {
  font-size: 0.98rem;
  line-height: 1.55;
  color: rgba(255, 253, 251, 0.82);
}

.st-sc-stance__inner {
  max-width: 36rem;
  margin-inline: auto;
  text-align: center;
}
.st-sc-stance__quote {
  margin: 0;
  padding: 0;
  border: 0;
}
.st-sc-stance__quote p {
  margin: 0;
  font-family: var(--st-font-display);
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 500;
  line-height: 1.4;
  color: var(--st-text);
}

@media (max-width: 800px) {
  .st-page-hero.st-sc-hero h1 {
    max-width: none;
  }
  .st-sc-intro__inner {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .st-sc-intro__inner h2 {
    max-width: none;
  }
  .st-sc-topics__grid {
    grid-template-columns: 1fr;
  }
  .st-sc-topics__grid li:nth-child(odd),
  .st-sc-topics__grid li:nth-child(even) {
    padding-right: 0;
    padding-left: 0;
    border-right: 0;
  }
  .st-sc-cards__panel--has-photo::after {
    background:
      linear-gradient(
        180deg,
        rgba(255, 253, 251, 0.94) 0%,
        rgba(255, 253, 251, 0.88) 55%,
        rgba(255, 253, 251, 0.72) 100%
      );
  }
  .st-sc-cards__copy {
    max-width: none;
  }
  .st-sc-process__inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .st-sc-process__intro h2 {
    max-width: none;
  }
  .st-sc-process__close {
    max-width: 36ch;
  }
  .st-sc-process__slogan {
    margin-top: 1.5rem;
    padding-top: 0;
  }
}

/* Life Coaching */
.st-lc-help__head {
  margin-bottom: clamp(1.75rem, 4vw, 2.5rem);
  max-width: 32rem;
}
.st-lc-help__head h2 {
  margin: 0;
}
.st-lc-help__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid rgba(166, 78, 54, 0.18);
}
.st-lc-help__list li {
  display: grid;
  gap: 0.4rem;
  margin: 0;
  padding: 1.35rem 0;
  align-content: start;
}
.st-lc-help__list li:nth-child(odd) {
  padding-right: clamp(1.25rem, 3vw, 2rem);
  border-right: 1px solid rgba(166, 78, 54, 0.14);
}
.st-lc-help__list li:nth-child(even) {
  padding-left: clamp(1.25rem, 3vw, 2rem);
}
.st-lc-help__list li:nth-child(n + 3) {
  border-top: 1px solid rgba(166, 78, 54, 0.14);
}
.st-lc-help__list strong {
  font-family: var(--st-font-display);
  font-size: clamp(1.1rem, 1.5vw, 1.3rem);
  font-weight: 600;
  line-height: 1.3;
  color: var(--st-text);
}
.st-lc-help__list span {
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--st-text-muted);
}

.st-lc-who__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}
.st-lc-who__inner h2 {
  margin: 0;
  max-width: 12ch;
}
.st-lc-who__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(1.5rem, 3vw, 2.5rem);
  margin: 0;
}
.st-lc-who__list li {
  margin-bottom: 0.65rem;
}

.st-lc-stance .st-sc-stance__inner h2 {
  margin: 0 0 1.25rem;
}
.st-lc-stance__text {
  margin: 1.5rem auto 0;
  max-width: 40rem;
  color: var(--st-text-muted);
  line-height: 1.65;
}

#hogyan.st-sc-process .st-sc-process__intro h2 {
  max-width: 16ch;
}

.st-lc-boundary__inner {
  max-width: 36rem;
  margin-inline: auto;
  text-align: center;
}
.st-lc-boundary__inner h2 {
  margin-bottom: 1rem;
  margin-inline: auto;
  max-width: none;
  text-wrap: balance;
}
.st-lc-boundary__prose {
  text-wrap: pretty;
}
.st-lc-boundary__prose p:last-child {
  margin-bottom: 0;
}

@media (max-width: 800px) {
  .st-lc-help__list {
    grid-template-columns: 1fr;
  }
  .st-lc-help__list li:nth-child(odd),
  .st-lc-help__list li:nth-child(even) {
    padding-right: 0;
    padding-left: 0;
    border-right: 0;
  }
  .st-lc-help__list li + li {
    border-top: 1px solid rgba(166, 78, 54, 0.14);
  }
  .st-lc-who__inner {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .st-lc-who__inner h2 {
    max-width: none;
  }
  .st-lc-who__list {
    grid-template-columns: 1fr;
  }
}

/* Táplálkozás service page */
.st-page-hero.st-tp-hero {
  border-bottom: none;
}
.st-tp-hero .st-page-hero__inner {
  max-width: 40rem;
}
.st-page-hero.st-tp-hero h1 {
  margin-bottom: 0.85rem;
  max-width: 30ch;
  font-size: clamp(2.05rem, 4vw, 2.85rem);
  line-height: 1.1;
}

.st-tp-intro__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}
.st-tp-intro__inner h2 {
  margin: 0;
  max-width: 22ch;
}
.st-tp-prose {
  max-width: none;
}
.st-tp-prose p:last-child {
  margin-bottom: 0;
}

.st-tp-topics__head {
  max-width: 40rem;
  margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}
.st-tp-topics__head h2 {
  margin-bottom: 0.65rem;
}
.st-tp-topics__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--st-border);
}
.st-tp-topics__grid li {
  display: grid;
  gap: 0.4rem;
  align-content: start;
  padding: 1.25rem 0;
  color: var(--st-text);
}
.st-tp-topics__grid li:nth-child(odd) {
  padding-right: clamp(1.25rem, 3vw, 2rem);
  border-right: 1px solid var(--st-border);
}
.st-tp-topics__grid li:nth-child(even) {
  padding-left: clamp(1.25rem, 3vw, 2rem);
}
.st-tp-topics__grid li:nth-child(n + 3) {
  border-top: 1px solid var(--st-border);
}
.st-tp-topics__grid strong {
  font-family: var(--st-font-display);
  font-size: clamp(1.1rem, 1.5vw, 1.3rem);
  font-weight: 600;
  line-height: 1.3;
  color: var(--st-text);
}
.st-tp-topics__grid span {
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--st-text-muted);
}

.st-tp-offer__head {
  max-width: 40rem;
  margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}
.st-tp-offer__head h2 {
  margin-bottom: 0.65rem;
}
.st-tp-offer__head .st-lead {
  margin-bottom: 0;
}
.st-tp-offer__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--st-border);
}
.st-tp-offer__col {
  padding: clamp(1.5rem, 3vw, 2.25rem) 0;
}
.st-tp-offer__col + .st-tp-offer__col {
  padding-left: clamp(1.5rem, 4vw, 3rem);
  border-left: 1px solid var(--st-border);
}
.st-tp-offer__col h3 {
  margin: 0 0 1rem;
  font-size: clamp(1.15rem, 1.6vw, 1.35rem);
}
.st-tp-offer__col .st-list-check {
  margin: 0;
}
.st-tp-offer__highlight {
  margin: clamp(1.75rem, 3.5vw, 2.5rem) 0 0;
  max-width: 40rem;
  padding: 0.15rem 0 0.15rem 1.25rem;
  border: 0;
  border-left: 3px solid var(--st-accent);
}
.st-tp-offer__highlight p {
  margin: 0;
  font-family: var(--st-font-display);
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  font-weight: 500;
  line-height: 1.4;
  color: var(--st-text);
}

.st-tp-process__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}
.st-tp-process__intro h2 {
  margin: 0;
  max-width: 14ch;
}
.st-tp-process__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
  counter-reset: st-tp-process;
}
.st-tp-process__list li {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 1rem;
  row-gap: 0.35rem;
  align-content: start;
  margin: 0;
  padding: 1.25rem 0;
  border-top: 1px solid var(--st-border);
  counter-increment: st-tp-process;
}
.st-tp-process__list li:last-child {
  padding-bottom: 0;
}
.st-tp-process__list li::before {
  content: counter(st-tp-process, decimal-leading-zero);
  grid-row: 1 / span 2;
  align-self: start;
  padding-top: 0.05rem;
  font-family: var(--st-font-display);
  font-size: clamp(2rem, 3vw, 2.55rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--st-accent);
  opacity: 0.85;
}
.st-tp-process__list strong {
  font-family: var(--st-font-display);
  font-size: clamp(1.15rem, 1.5vw, 1.35rem);
  font-weight: 600;
  line-height: 1.25;
  color: var(--st-text);
}
.st-tp-process__list span {
  font-size: 0.98rem;
  line-height: 1.55;
  color: var(--st-text-muted);
}

.st-tp-look__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}
.st-tp-look__inner h2 {
  margin: 0;
  max-width: 18ch;
}

.st-tp-trust {
  color: var(--st-white);
}
.st-tp-trust__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: stretch;
}
.st-tp-trust__intro {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  min-height: 100%;
  max-width: 28rem;
}
.st-tp-trust__intro h2 {
  margin-bottom: 0.85rem;
  color: var(--st-white);
}
.st-tp-trust__close {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.55;
  color: rgba(255, 253, 251, 0.86);
}
.st-tp-trust__slogan {
  margin: auto 0 0;
  padding-top: 2rem;
  color: var(--st-powder);
}
.st-tp-trust__list {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: st-tp-trust;
}
.st-tp-trust__list li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 1rem;
  row-gap: 0.35rem;
  padding: 1.15rem 0;
  border-top: 1px solid rgba(249, 240, 234, 0.16);
  counter-increment: st-tp-trust;
}
.st-tp-trust__list li:last-child {
  padding-bottom: 0;
}
.st-tp-trust__list li::before {
  content: counter(st-tp-trust, decimal-leading-zero);
  grid-row: 1 / span 2;
  align-self: start;
  padding-top: 0.05rem;
  font-family: var(--st-font-display);
  font-size: clamp(2rem, 3vw, 2.55rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--st-powder);
  opacity: 0.85;
}
.st-tp-trust__list strong {
  font-family: var(--st-font-display);
  font-size: clamp(1.15rem, 1.5vw, 1.35rem);
  font-weight: 600;
  line-height: 1.25;
  color: var(--st-white);
}
.st-tp-trust__list span {
  font-size: 0.98rem;
  line-height: 1.55;
  color: rgba(255, 253, 251, 0.82);
}

.st-tp-stance {
  --st-tp-stance-cream: #fffdfb;
  position: relative;
  overflow: hidden;
  background: var(--st-tp-stance-cream);
  padding-block: clamp(3.25rem, 7vw, 5rem);
  min-height: min(42svh, 22rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.st-tp-stance__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-color: #3e2a1c;
  background-image: var(--st-tp-stance-img);
  background-size: cover;
  background-position: 78% center;
  background-repeat: no-repeat;
}
.st-tp-stance--has-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    100deg,
    rgba(255, 253, 251, 0.94) 0%,
    rgba(255, 253, 251, 0.86) 26%,
    rgba(255, 253, 251, 0.42) 48%,
    rgba(255, 253, 251, 0.08) 64%,
    transparent 76%,
    transparent 100%
  );
}
.st-tp-stance__inner {
  position: relative;
  z-index: 2;
}
.st-tp-stance__copy {
  max-width: 32rem;
}
.st-tp-stance__copy .st-eyebrow {
  margin-bottom: 0.55rem;
  color: var(--st-accent);
}
.st-tp-stance__heading {
  margin: 0 0 1rem;
  font-family: var(--st-font-display);
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 500;
  line-height: 1.35;
  color: var(--st-text);
}
.st-tp-stance__text {
  max-width: 36rem;
}
.st-tp-stance__text p {
  margin: 0 0 0.85rem;
  font-size: 1.02rem;
  line-height: 1.6;
  color: var(--st-text);
}
.st-tp-stance__text p:last-child {
  margin-bottom: 0;
}

.st-tp-boundary__inner {
  max-width: 40rem;
  margin-inline: auto;
  text-align: center;
}
.st-tp-boundary__inner h2 {
  margin-bottom: 1rem;
  margin-inline: auto;
  max-width: none;
  text-wrap: balance;
}
.st-tp-boundary__prose {
  text-wrap: pretty;
}
.st-tp-boundary__prose p:last-child {
  margin-bottom: 0;
}

@media (max-width: 800px) {
  .st-page-hero.st-tp-hero h1 {
    max-width: none;
  }
  .st-tp-intro__inner {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .st-tp-intro__inner h2 {
    max-width: none;
  }
  .st-tp-topics__grid {
    grid-template-columns: 1fr;
  }
  .st-tp-topics__grid li:nth-child(odd),
  .st-tp-topics__grid li:nth-child(even) {
    padding-right: 0;
    padding-left: 0;
    border-right: 0;
  }
  .st-tp-topics__grid li + li {
    border-top: 1px solid var(--st-border);
  }
  .st-tp-offer__grid {
    grid-template-columns: 1fr;
  }
  .st-tp-offer__col + .st-tp-offer__col {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--st-border);
  }
  .st-tp-process__inner {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }
  .st-tp-process__intro h2 {
    max-width: none;
  }
  .st-tp-look__inner {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .st-tp-look__inner h2 {
    max-width: none;
  }
  .st-tp-trust__inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .st-tp-trust__intro h2 {
    max-width: none;
  }
  .st-tp-trust__slogan {
    margin-top: 1.5rem;
    padding-top: 0;
  }
  .st-tp-stance {
    padding-block: clamp(2.5rem, 8vw, 3.5rem);
  }
  .st-tp-stance__bg {
    background-position: 65% center;
  }
  .st-tp-stance--has-photo::after {
    background: linear-gradient(
      180deg,
      rgba(255, 253, 251, 0.94) 0%,
      rgba(255, 253, 251, 0.88) 55%,
      rgba(255, 253, 251, 0.55) 100%
    );
  }
  .st-tp-stance__copy {
    max-width: none;
  }
}

/* Kártyák product page */
.st-page-hero.st-kt-hero {
  border-bottom: none;
}
.st-kt-hero .st-page-hero__media {
  opacity: 0.42;
  filter: saturate(0.7) brightness(1.12);
}
.st-kt-hero.st-page-hero--photo::after {
  background: linear-gradient(
    180deg,
    rgba(246, 235, 228, 0.88) 0%,
    rgba(246, 235, 228, 0.74) 46%,
    rgba(246, 235, 228, 0.62) 100%
  );
}
@media (max-width: 800px) {
  .st-kt-hero.st-page-hero--photo::after {
    background: linear-gradient(
      180deg,
      rgba(246, 235, 228, 0.92) 0%,
      rgba(246, 235, 228, 0.8) 48%,
      rgba(246, 235, 228, 0.68) 100%
    );
  }
}
.st-kt-hero .st-page-hero__inner {
  max-width: 40rem;
}
.st-page-hero.st-kt-hero h1 {
  margin-bottom: 0.85rem;
  max-width: 18ch;
  font-size: clamp(2.05rem, 4vw, 2.85rem);
  line-height: 1.1;
}
.st-kt-hero .st-page-hero__lead {
  margin-bottom: 0.85rem;
  max-width: 34rem;
}
.st-kt-hero__support {
  margin: 0 0 0.75rem;
  max-width: 36rem;
  font-size: clamp(0.98rem, 1.35vw, 1.08rem);
  line-height: 1.55;
  color: var(--st-text-muted, var(--st-muted));
}
.st-kt-hero__meta {
  margin: 0;
  max-width: 36rem;
  font-size: 0.88rem;
  line-height: 1.45;
  letter-spacing: 0.01em;
  color: var(--st-muted);
}
.st-kt-hero__actions {
  display: grid;
  gap: 0.85rem;
  justify-items: center;
  margin-top: 1.75rem;
}
.st-kt-hero__actions .st-btn-row {
  margin-top: 0;
}
.st-kt-price {
  display: flex;
  align-items: baseline;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
}
.st-kt-hero__actions .st-kt-price,
.st-cta-band .st-kt-price {
  justify-content: center;
}
.st-kt-hero__actions .st-kt-price {
  margin-bottom: 0;
}
.st-kt-price__amount {
  font-family: var(--st-font-display);
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 650;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--st-text);
}
.st-kt-price__vat {
  font-size: 0.82rem;
  color: var(--st-muted);
}
.st-btn--soon {
  background: rgba(246, 235, 228, 0.6);
  color: var(--st-accent-deep);
  border-color: var(--st-accent-deep);
  border-style: dashed;
  border-radius: 999px;
  cursor: default;
  pointer-events: none;
}
.st-kt-soon {
  margin: 1.25rem 0 0;
  color: var(--st-muted);
}

.st-kt-intro__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}
.st-kt-intro__inner h2 {
  margin: 0;
  max-width: 22ch;
}
.st-kt-prose {
  max-width: none;
}
.st-kt-prose p:last-child {
  margin-bottom: 0;
}

.st-kt-offer__head {
  max-width: 40rem;
  margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}
.st-kt-offer__head h2 {
  margin-bottom: 0.65rem;
}
.st-kt-offer__head .st-lead {
  margin-bottom: 0;
}
.st-kt-offer__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--st-border);
}
.st-kt-offer__col {
  padding: clamp(1.5rem, 3vw, 2.25rem) 0;
}
.st-kt-offer__col + .st-kt-offer__col {
  padding-left: clamp(1.5rem, 4vw, 3rem);
  border-left: 1px solid var(--st-border);
}
.st-kt-offer__col h3 {
  margin: 0 0 1rem;
  font-size: clamp(1.15rem, 1.6vw, 1.35rem);
}
.st-kt-offer__col .st-list-check {
  margin: 0;
}
.st-kt-offer__note {
  margin: clamp(1.25rem, 2.5vw, 1.75rem) 0 0;
  max-width: 40rem;
  padding-top: clamp(1.25rem, 2.5vw, 1.75rem);
  border-top: 1px solid var(--st-border);
  font-size: 1.02rem;
  line-height: 1.55;
  color: var(--st-text);
}

.st-kt-how {
  background:
    radial-gradient(
      ellipse 80% 70% at 12% 20%,
      rgba(237, 191, 166, 0.18) 0%,
      transparent 55%
    ),
    linear-gradient(
      145deg,
      #4a2419 0%,
      var(--st-accent-deep) 48%,
      #2e1510 100%
    );
}
.st-kt-how__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: stretch;
}
.st-kt-how__intro {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  min-height: 100%;
}
.st-kt-how__intro h2 {
  margin-bottom: 1rem;
  max-width: 16ch;
  color: var(--st-white);
}
.st-kt-how__close {
  margin: 0;
  max-width: 36ch;
  font-family: var(--st-font-display);
  font-size: clamp(1.15rem, 1.6vw, 1.35rem);
  font-weight: 500;
  line-height: 1.4;
  color: var(--st-white);
  opacity: 0.92;
}
.st-kt-how__slogan {
  margin: auto 0 0;
  padding-top: 2rem;
  color: var(--st-powder);
}
.st-kt-how__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
  counter-reset: st-kt-how;
}
.st-kt-how__list li {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 1rem;
  row-gap: 0.35rem;
  align-content: start;
  margin: 0;
  padding: 1.35rem 0;
  border-top: 1px solid rgba(255, 253, 251, 0.16);
  counter-increment: st-kt-how;
}
.st-kt-how__list li:last-child {
  border-bottom: 1px solid rgba(255, 253, 251, 0.16);
}
.st-kt-how__list li::before {
  content: counter(st-kt-how, decimal-leading-zero);
  grid-row: 1 / span 2;
  padding-top: 0.05rem;
  font-family: var(--st-font-display);
  font-size: clamp(2rem, 3vw, 2.55rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--st-powder);
  opacity: 0.85;
}
.st-kt-how__list strong {
  font-family: var(--st-font-display);
  font-size: clamp(1.15rem, 1.5vw, 1.35rem);
  font-weight: 600;
  line-height: 1.25;
  color: var(--st-white);
}
.st-kt-how__list span {
  font-size: 0.98rem;
  line-height: 1.55;
  color: rgba(255, 253, 251, 0.82);
}

.st-kt-taste__head {
  max-width: 40rem;
  margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}
.st-kt-taste__head h2 {
  margin-bottom: 0.65rem;
}
.st-kt-taste__head .st-lead {
  margin-bottom: 0;
}

.st-kt-carousel {
  --st-kt-card-w: 21rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  column-gap: clamp(0.65rem, 1.8vw, 1.15rem);
  max-width: 64rem;
  margin: 0 auto;
}
.st-kt-carousel__layout {
  display: grid;
  grid-template-columns: var(--st-kt-card-w) max-content;
  grid-template-areas:
    "stage side"
    "dots side";
  column-gap: clamp(1.75rem, 4vw, 2.75rem);
  row-gap: 1rem;
  align-items: start;
  min-width: 0;
  overflow: hidden;
}
.st-kt-carousel__stage {
  grid-area: stage;
  width: var(--st-kt-card-w);
  /* Árnyék a clipen kívül — nincs szomszéd-peek a paddingből. */
  filter: drop-shadow(0 10px 18px rgba(57, 29, 21, 0.1))
          drop-shadow(0 2px 4px rgba(57, 29, 21, 0.06));
}
.st-kt-carousel__viewport {
  overflow: hidden;
  touch-action: pan-y;
  border-radius: 0.85rem;
  /* Nincs 1px ring — a lekerekített kártya sarkainál L-vonalnak látszott. */
}
.st-kt-carousel__track {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}
.st-kt-carousel__slide {
  flex: 0 0 100%;
  min-width: 0;
  margin: 0;
}
.st-kt-carousel__figure {
  margin: 0;
  width: 100%;
  aspect-ratio: 3 / 5;
}
.st-kt-carousel__zoom {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
  color: inherit;
}
.st-kt-carousel__zoom:focus-visible {
  outline: 2px solid var(--st-accent);
  outline-offset: 3px;
  border-radius: 0.85rem;
}
.st-kt-carousel__figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  /* A PNG már lekerekített — ne vágjuk újra a footert. */
  border-radius: 0;
  user-select: none;
  pointer-events: none;
}
.st-kt-carousel__zoom-hint {
  position: absolute;
  left: 50%;
  bottom: 0.75rem;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  transform: translateX(-50%);
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  background: rgba(46, 21, 16, 0.72);
  color: #fffdfb;
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
}
.st-kt-carousel__zoom:hover .st-kt-carousel__zoom-hint,
.st-kt-carousel__zoom:focus-visible .st-kt-carousel__zoom-hint,
.st-kt-carousel__slide.is-active .st-kt-carousel__zoom-hint {
  opacity: 1;
}
@media (hover: hover) and (pointer: fine) {
  .st-kt-carousel__slide.is-active .st-kt-carousel__zoom-hint {
    opacity: 0;
  }
  .st-kt-carousel__zoom:hover .st-kt-carousel__zoom-hint,
  .st-kt-carousel__zoom:focus-visible .st-kt-carousel__zoom-hint {
    opacity: 1;
  }
}
.st-kt-carousel__side {
  grid-area: side;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.15rem;
  width: min(22rem, 100%);
  max-width: 22rem;
  min-width: 0;
  padding: 0.5rem 0 0.5rem 1.6rem;
  border-left: 1px solid rgba(57, 29, 21, 0.1);
}
.st-kt-carousel__num {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--st-accent);
}
.st-kt-carousel__title {
  margin: 0;
  font-family: var(--st-font-display);
  font-size: clamp(1.35rem, 2vw, 1.7rem);
  font-weight: 600;
  line-height: 1.22;
  color: var(--st-text);
}
.st-kt-carousel__meta {
  margin: 0.15rem 0 0;
  display: grid;
  gap: 1.4rem;
}
.st-kt-carousel__field {
  display: grid;
  gap: 0.4rem;
}
.st-kt-carousel__label {
  font-size: 0.68rem;
  font-weight: 650;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--st-text-muted);
}
.st-kt-carousel__anchor {
  margin: 0;
  font-family: var(--st-font-display);
  font-size: clamp(1.15rem, 1.8vw, 1.35rem);
  font-weight: 500;
  font-style: italic;
  line-height: 1.35;
  color: var(--st-accent-deep);
}
.st-kt-carousel__question {
  margin: 0;
  font-size: 1rem;
  line-height: 1.45;
  color: var(--st-text-muted);
}
.st-kt-carousel__nav {
  width: 2.25rem;
  height: 2.25rem;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(57, 29, 21, 0.14);
  border-radius: 999px;
  background: transparent;
  color: var(--st-accent-deep);
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}
.st-kt-carousel__nav:hover {
  border-color: var(--st-accent);
  color: var(--st-accent);
  background: rgba(255, 253, 251, 0.65);
}
.st-kt-carousel__nav:focus-visible {
  outline: 2px solid var(--st-accent);
  outline-offset: 2px;
}
.st-kt-carousel__dots {
  grid-area: dots;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  width: var(--st-kt-card-w);
  padding-top: 0.15rem;
}
.st-kt-carousel__dot {
  position: relative;
  width: 0.4rem;
  height: 0.4rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(166, 78, 54, 0.2);
  overflow: hidden;
  cursor: pointer;
  transition: width 0.25s ease;
}
.st-kt-carousel__dot.is-active {
  width: 1.25rem;
}
.st-kt-carousel__dot-fill {
  position: absolute;
  inset: 0;
  width: 0;
  border-radius: inherit;
  background: var(--st-accent-deep);
  transform-origin: left center;
}
.st-kt-carousel__dot.is-active .st-kt-carousel__dot-fill {
  width: 100%;
}
.st-kt-carousel.is-playing .st-kt-carousel__dot.is-active .st-kt-carousel__dot-fill {
  animation: st-kt-dot-progress var(--st-kt-interval, 7.5s) linear forwards;
}
.st-kt-carousel__dot:focus-visible {
  outline: 2px solid var(--st-accent);
  outline-offset: 2px;
}

@keyframes st-kt-dot-progress {
  from { width: 0; }
  to { width: 100%; }
}

@media (max-width: 960px) {
  .st-kt-carousel {
    --st-kt-card-w: 19rem;
  }
}

@media (max-width: 860px) {
  .st-kt-carousel__title {
    font-size: 1.25rem;
  }
  .st-kt-carousel__anchor {
    font-size: 1.05rem;
  }
  .st-kt-carousel__question {
    font-size: 0.92rem;
  }
}

@media (max-width: 720px) {
  .st-kt-carousel {
    --st-kt-card-w: min(19.5rem, calc(100% - 4.2rem));
    column-gap: 0.55rem;
  }
  .st-kt-carousel__layout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "stage"
      "side"
      "dots";
    justify-items: center;
    row-gap: 1.35rem;
    column-gap: 0;
  }
  .st-kt-carousel__stage,
  .st-kt-carousel__dots {
    width: var(--st-kt-card-w);
  }
  .st-kt-carousel__side {
    width: min(22rem, 100%);
    max-width: min(22rem, 100%);
    padding: 0;
    border-left: 0;
    text-align: center;
    align-items: center;
    justify-content: flex-start;
  }
  .st-kt-carousel__meta {
    width: 100%;
  }
  .st-kt-carousel__field {
    justify-items: center;
  }
}

.st-kt-lightbox {
  position: fixed;
  inset: 0;
  z-index: 80;
  width: fit-content;
  max-width: min(26rem, calc(100vw - 2rem));
  height: fit-content;
  max-height: calc(100vh - 2rem);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 0.85rem;
  background: transparent;
  overflow: visible;
}
.st-kt-lightbox::backdrop {
  background: rgba(46, 21, 16, 0.72);
  backdrop-filter: blur(2px);
}
.st-kt-lightbox__close {
  position: absolute;
  top: 0.55rem;
  right: 0.55rem;
  z-index: 2;
  width: 2.35rem;
  height: 2.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(255, 253, 251, 0.35);
  border-radius: 999px;
  background: rgba(46, 21, 16, 0.88);
  color: #fffdfb;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.st-kt-lightbox__close:hover {
  background: var(--st-accent-deep);
  border-color: transparent;
}
.st-kt-lightbox__close:focus-visible {
  outline: 2px solid var(--st-powder);
  outline-offset: 2px;
}
.st-kt-lightbox__figure {
  margin: 0;
  border-radius: 0.85rem;
  background: #fffdfb;
  box-shadow: 0 18px 48px rgba(20, 10, 8, 0.35);
  overflow: hidden;
}
.st-kt-lightbox__img {
  display: block;
  width: auto;
  max-width: min(26rem, calc(100vw - 2rem));
  max-height: calc(100vh - 2rem);
  height: auto;
  object-fit: contain;
}

@media (prefers-reduced-motion: reduce) {
  .st-kt-carousel__track {
    transition: none;
  }
  .st-kt-carousel.is-playing .st-kt-carousel__dot.is-active .st-kt-carousel__dot-fill,
  .st-kt-carousel__dot.is-active .st-kt-carousel__dot-fill {
    animation: none;
    width: 100%;
  }
}

.st-kt-buy__head {
  max-width: 40rem;
  margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}
.st-kt-buy__head h2 {
  margin-bottom: 0.65rem;
}
.st-kt-buy__head .st-lead {
  margin-bottom: 0;
}
.st-kt-buy__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: clamp(1.75rem, 4vw, 3rem);
  align-items: center;
  padding: clamp(1.5rem, 3vw, 2.25rem) 0;
  border-top: 1px solid var(--st-border);
}
.st-kt-buy__panel:not(:has(.st-kt-buy__visual)) {
  grid-template-columns: minmax(0, 40rem);
}
.st-kt-buy__visual {
  margin: 0;
}
.st-kt-buy__visual img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.85rem;
  box-shadow:
    0 14px 32px rgba(46, 21, 16, 0.12),
    0 2px 8px rgba(46, 21, 16, 0.06);
}
.st-kt-buy__copy h3 {
  margin: 0 0 1rem;
  font-size: clamp(1.2rem, 1.7vw, 1.45rem);
}
.st-kt-buy__copy .st-list-check {
  margin: 0 0 1.25rem;
}
.st-kt-buy__copy .st-btn-row {
  margin-top: 0;
}
.st-kt-buy__note {
  margin: 0.85rem 0 0;
  font-size: 0.88rem;
  line-height: 1.45;
  color: var(--st-text-muted);
}

.st-kt-faq__head {
  max-width: 28rem;
  margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}
.st-kt-faq__head h2 {
  margin: 0;
}
.st-kt-faq__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(1.5rem, 4vw, 3rem);
  margin: 0;
  max-width: none;
}
.st-kt-faq__item {
  margin: 0;
  border-bottom: 1px solid var(--st-border);
}
.st-kt-faq__item:nth-child(-n + 2) {
  border-top: 1px solid var(--st-border);
}
.st-kt-faq__item summary {
  position: relative;
  display: block;
  padding: 1.15rem 2rem 1.15rem 0;
  list-style: none;
  cursor: pointer;
  font-family: var(--st-font-display);
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--st-text);
}
.st-kt-faq__item summary::-webkit-details-marker {
  display: none;
}
.st-kt-faq__item summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 1.15rem;
  font-family: var(--st-font-display);
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1;
  color: var(--st-accent);
}
.st-kt-faq__item[open] summary::after {
  content: "–";
}
.st-kt-faq__item summary:hover {
  color: var(--st-accent-deep);
}
.st-kt-faq__item p {
  margin: 0 0 1.15rem;
  padding-right: 2rem;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--st-text-muted);
}
.st-kt-faq__item a {
  color: var(--st-accent-deep);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.st-cta-band__actions {
  justify-content: center;
}
.st-cta-band .st-kt-cta__meta {
  margin: -0.5rem 0 1.25rem;
  font-size: 0.95rem;
  color: var(--st-text-muted, var(--st-muted));
}
.st-cta-band .st-kt-price {
  margin-bottom: 1.25rem;
}

@media (max-width: 900px) {
  .st-kt-faq__list {
    grid-template-columns: 1fr;
  }
  .st-kt-faq__item:nth-child(n + 2) {
    border-top: 0;
  }
  .st-kt-faq__item:first-child {
    border-top: 1px solid var(--st-border);
  }
}

@media (max-width: 800px) {
  .st-page-hero.st-kt-hero h1 {
    max-width: none;
  }
  .st-kt-intro__inner {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .st-kt-intro__inner h2 {
    max-width: none;
  }
  .st-kt-offer__grid {
    grid-template-columns: 1fr;
  }
  .st-kt-offer__col + .st-kt-offer__col {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--st-border);
  }
  .st-kt-how__inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .st-kt-how__intro h2 {
    max-width: none;
  }
  .st-kt-how__close {
    max-width: 36ch;
  }
  .st-kt-how__slogan {
    margin-top: 1.5rem;
    padding-top: 0;
  }
  .st-kt-buy__panel {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

/* Page chrome — shared subpage hero (softer than home masthead) */
.st-page-hero {
  --st-page-hero-cream: #f6ebe4;
  position: relative;
  overflow: hidden;
  padding: clamp(2.5rem, 6vw, 4rem) 0 2rem;
  background: var(--st-bg-soft);
  border-bottom: 1px solid var(--st-border);
}
.st-page-hero h1 { margin-bottom: 0.75rem; }
/* Center hero copy on all subpages except Rólam (split layout) */
.st-page-hero:not(.st-rolam-hero),
.st-page-hero--center {
  text-align: center;
}
.st-page-hero:not(.st-rolam-hero) .st-page-hero__inner,
.st-page-hero:not(.st-rolam-hero) .st-lead,
.st-page-hero:not(.st-rolam-hero) .st-page-hero__lead,
.st-page-hero:not(.st-rolam-hero) .st-page-hero__text,
.st-page-hero:not(.st-rolam-hero) h1,
.st-page-hero--center .st-lead {
  margin-inline: auto;
}
.st-page-hero:not(.st-rolam-hero) .st-btn-row,
.st-page-hero--center .st-btn-row {
  justify-content: center;
}

/* Atmospheric photo band for service / content subpages */
.st-page-hero--photo {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  min-height: min(52svh, 28rem);
  padding-block: clamp(3rem, 7vw, 4.75rem);
  background: var(--st-page-hero-cream);
  border-bottom: none;
}
.st-page-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  /* Cream underlay so opacity fades toward brand wash, not dark brown */
  background-color: var(--st-page-hero-cream);
  background-image: var(--st-page-hero-img);
  background-position: var(--st-page-hero-pos, center);
  background-size: cover;
  background-repeat: no-repeat;
  filter: saturate(0.72) brightness(1.12);
  opacity: 0.78;
}
.st-page-hero--photo::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  /* Stronger cream wash — dark copy stays readable on busy photos */
  background: linear-gradient(
    180deg,
    rgba(246, 235, 228, 0.76) 0%,
    rgba(246, 235, 228, 0.6) 46%,
    rgba(246, 235, 228, 0.5) 100%
  );
}
.st-page-hero--photo > .st-container,
.st-page-hero--photo .st-page-hero__inner {
  position: relative;
  z-index: 2;
}
.st-page-hero__mark {
  position: absolute;
  right: max(-2rem, calc((100% - var(--st-container)) / 2 - 5rem));
  top: 48%;
  translate: 0 -50%;
  z-index: 1;
  width: min(18rem, 30vw);
  height: auto;
  opacity: 0.05;
  mix-blend-mode: multiply;
  pointer-events: none;
  user-select: none;
}
.st-page-hero__lead {
  margin: 0 0 0.75rem;
  font-family: var(--st-font-display);
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  font-style: italic;
  font-weight: 500;
  line-height: 1.35;
  color: var(--st-text);
}
.st-page-hero__text {
  margin: 0;
  max-width: 34rem;
  font-size: 1.05rem;
  line-height: 1.6;
  color: var(--st-text-muted);
}
.st-page-hero--photo .st-btn-row {
  margin-top: 1.75rem;
}
/* Outline CTA: deep brown for contrast on bright photo heroes */
.st-page-hero--photo .st-btn--outline {
  color: var(--st-accent-deep);
  border-color: var(--st-accent-deep);
  background: rgba(246, 235, 228, 0.42);
}
.st-page-hero--photo .st-btn--outline:hover {
  background: var(--st-accent-deep);
  color: var(--st-white);
  border-color: var(--st-accent-deep);
}
.st-page-hero--photo .st-lead {
  max-width: 36rem;
}

@media (max-width: 800px) {
  .st-page-hero--photo {
    min-height: 0;
    padding-block: clamp(2.75rem, 8vw, 4rem);
  }
  .st-page-hero--photo::after {
    background: linear-gradient(
      180deg,
      rgba(246, 235, 228, 0.82) 0%,
      rgba(246, 235, 228, 0.68) 48%,
      rgba(246, 235, 228, 0.56) 100%
    );
  }
  .st-page-hero__mark {
    width: 12rem;
    right: -2.5rem;
    opacity: 0.04;
  }
}

@media (prefers-reduced-motion: reduce) {
  .st-page-hero__media {
    filter: saturate(0.72) brightness(1.12);
  }
}
.st-prose {
  max-width: 42rem;
}
.st-prose ul {
  padding-left: 1.2rem;
  color: var(--st-text-muted);
}
.st-prose li { margin-bottom: 0.4rem; }

.st-legal {
  max-width: 48rem;
}
.st-legal h2 {
  margin-top: 2.25rem;
  margin-bottom: 0.85rem;
  font-size: clamp(1.15rem, 2.2vw, 1.35rem);
}
.st-legal h3 {
  margin-top: 1.5rem;
  margin-bottom: 0.55rem;
  font-size: 1.05rem;
}
.st-legal ol {
  padding-left: 1.25rem;
  color: var(--st-text-muted);
}
.st-legal ol > li,
.st-legal ul > li {
  margin-bottom: 0.55rem;
}
.st-legal blockquote {
  margin: 1.25rem 0;
  padding: 1rem 1.15rem;
  border-left: 3px solid var(--st-accent);
  background: var(--st-bg-soft);
  color: var(--st-text-muted);
}

.st-list-check {
  list-style: none;
  padding: 0;
  margin: 1rem 0 1.5rem;
}
.st-list-check li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 0.55rem;
  color: var(--st-text-muted);
}
.st-list-check li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55rem;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--st-accent);
}

/* Footer */
.st-footer {
  background: var(--st-text);
  color: rgba(255, 253, 251, 0.85);
  padding: 3rem 0 0;
}
.st-footer a { color: rgba(255, 253, 251, 0.9); text-decoration: none; }
.st-footer a:hover { color: var(--st-powder); }
.st-footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1.6fr) minmax(0, 0.9fr);
  gap: 2.5rem;
  padding-bottom: 2.5rem;
  align-items: stretch;
}
.st-footer__grid > .st-footer__col:last-child {
  padding-left: 2rem;
  border-left: 1px solid rgba(255, 253, 251, 0.15);
}
@media (max-width: 800px) {
  .st-footer__grid { grid-template-columns: 1fr; }
  .st-footer__grid > .st-footer__col:last-child {
    padding-left: 0;
    padding-top: 2rem;
    border-left: 0;
    border-top: 1px solid rgba(255, 253, 251, 0.15);
  }
  /* Mobile: full center axis; link lists in a narrow centered column */
  .st-footer__col {
    align-items: center;
    text-align: center;
  }
  .st-footer__brand {
    flex-direction: column;
    justify-content: center;
    text-align: center;
  }
  .st-footer__slogan {
    text-align: center;
  }
  .st-footer__links {
    justify-items: center;
    width: 100%;
  }
  .st-footer__links-cols {
    grid-template-columns: 1fr;
    width: min(18rem, 100%);
    margin-inline: auto;
    gap: 1.5rem;
    text-align: center;
  }
  .st-footer__group {
    justify-items: center;
  }
  .st-footer__sub {
    padding-left: 0;
    border-left: 0;
    justify-items: center;
    gap: 0.3rem;
    font-size: 0.9rem;
    opacity: 0.88;
  }
  .st-footer__subgroup {
    justify-items: center;
  }
  .st-footer__bottom-row {
    flex-direction: column;
    justify-content: center;
    text-align: center;
  }
  .st-footer__legal {
    justify-content: center;
  }
}
.st-footer__col {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.st-footer h3 {
  color: var(--st-white);
  font-size: 1.1rem;
  margin: 0 0 1rem;
}
.st-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.45rem;
}
.st-footer__links:has(+ .st-social) {
  margin-bottom: 1rem;
}
.st-footer__col .st-social {
  margin-bottom: 1.15rem;
}
.st-footer__links:has(+ .st-footer__cta) {
  margin-bottom: 1.15rem;
}
.st-footer__links-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  align-items: start;
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: normal;
}
@media (max-width: 520px) {
  .st-footer__links-cols { grid-template-columns: 1fr; }
}
.st-footer__links-cols a,
.st-footer__links-cols .st-footer__group-label,
.st-footer__links-cols .st-footer__subgroup-label {
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-transform: none;
  color: rgba(255, 253, 251, 0.9);
}
.st-footer__links-cols a:hover {
  color: var(--st-powder);
}
.st-footer__group {
  display: grid;
  gap: 0.35rem;
}
.st-footer__group-label {
  display: block;
  text-decoration: none;
  color: inherit;
}
a.st-footer__group-label:hover {
  color: #fff;
}
.st-footer__subgroup {
  display: grid;
  gap: 0.3rem;
}
.st-footer__subgroup-label {
  display: block;
}
.st-footer__sub {
  list-style: none;
  margin: 0;
  padding: 0 0 0 0.75rem;
  display: grid;
  gap: 0.35rem;
  border-left: 1px solid rgba(255, 253, 251, 0.18);
}
.st-footer__subgroup > .st-footer__sub {
  padding-left: 0.65rem;
  border-left-color: rgba(255, 253, 251, 0.12);
}

.st-footer__brand {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  text-decoration: none;
  color: var(--st-white);
}
.st-footer__brand:hover { color: var(--st-white); text-decoration: none; }
.st-footer__brand img {
  width: 4.75rem;
  height: 4.75rem;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.st-footer__brand span {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.12rem;
  line-height: 1.15;
}
.st-footer__brand strong {
  font-family: var(--st-font-display);
  font-size: clamp(1.05rem, 1.6vw, 1.35rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--st-white);
}
.st-footer__brand strong b {
  color: var(--st-powder);
  font-weight: 700;
}
.st-footer__brand em {
  font-style: normal;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 0.45rem;
  color: rgba(255, 253, 251, 0.88);
}
.st-footer__brand em::before,
.st-footer__brand em::after {
  content: "";
  width: 0.75rem;
  height: 1px;
  background: rgba(255, 253, 251, 0.28);
}
.st-footer__brand small {
  font-family: var(--st-font-script);
  font-size: 0.95rem;
  font-weight: 600;
  font-style: italic;
  letter-spacing: 0.01em;
  line-height: 1.3;
  white-space: normal;
  color: rgba(255, 253, 251, 0.72);
}
.st-footer__slogan {
  margin-top: auto;
  padding-top: 1.15rem;
  color: var(--st-powder);
}

.st-footer__cta {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  margin-top: auto;
  padding: 0.5rem 1.15rem;
  border-radius: 999px;
  background: var(--st-accent);
  color: #fff;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
}
.st-footer__cta:hover {
  background: var(--st-accent-hover);
  color: #fff;
  text-decoration: none;
}
@media (max-width: 800px) {
  .st-footer__cta {
    align-self: center;
    margin-inline: auto;
  }
}

.st-footer__bottom {
  border-top: 1px solid rgba(255, 253, 251, 0.12);
  padding: 1rem 0 1.15rem;
  font-size: 0.85rem;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.st-footer__bottom-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
  align-items: center;
}
.st-footer__legal {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.st-footer__credit {
  margin: 0;
  text-align: center;
  font-size: 0.78rem;
  color: rgba(255, 253, 251, 0.72);
}
.st-footer__credit a {
  color: #fffdfb;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.st-footer__credit a:hover {
  color: var(--st-powder);
}

/* Social icons */
.st-social__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
}
.st-social__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 50%;
  border: 1px solid var(--st-border);
  color: var(--st-text);
  background: transparent;
  text-decoration: none;
  transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}
.st-social__link:hover {
  color: var(--st-accent);
  border-color: var(--st-accent);
  text-decoration: none;
}
.st-social__icon {
  display: block;
}
.st-social--on-dark .st-social__link {
  border-color: rgba(255, 253, 251, 0.28);
  color: rgba(255, 253, 251, 0.92);
}
.st-social--on-dark .st-social__link:hover {
  color: var(--st-powder);
  border-color: var(--st-powder);
  background: rgba(255, 253, 251, 0.06);
}
@media (max-width: 800px) {
  .st-footer__col .st-social__list {
    justify-content: center;
  }
}

/* CookieAdmin contrast overrides (banner customize / secondary actions) */
.cookieadmin_customize_btn,
button.cookieadmin_btn.cookieadmin_customize_btn {
  color: #fffdfb !important;
  background-color: #7f3122 !important;
}

/* Woo tweaks */
.st-woo .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  background: var(--st-accent) !important;
  color: var(--st-white) !important;
  border-radius: var(--st-radius) !important;
  border: 0 !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background: var(--st-accent-hover) !important;
}

/* Notices — quiet, not accent button bars */
.st-woo .woocommerce-message,
.st-woo .woocommerce-info,
.st-woo .woocommerce-error,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  margin: 0 0 1.25rem !important;
  padding: 0.85rem 1rem !important;
  border-radius: var(--st-radius) !important;
  border: 1px solid rgba(57, 29, 21, 0.12) !important;
  background: rgba(255, 253, 251, 0.92) !important;
  color: var(--st-text) !important;
  box-shadow: none !important;
  list-style: none !important;
}
.st-woo .woocommerce-message a,
.st-woo .woocommerce-info a,
.woocommerce-message a,
.woocommerce-info a {
  color: var(--st-accent) !important;
  background: transparent !important;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.st-woo .woocommerce-error,
.woocommerce-error {
  border-color: rgba(166, 78, 54, 0.35) !important;
  background: rgba(166, 78, 54, 0.08) !important;
}
.st-woo .woocommerce-message::before,
.st-woo .woocommerce-info::before,
.st-woo .woocommerce-error::before,
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  display: none !important;
}

/* ===== Single product — purchase panel ===== */
.st-body--woo-product {
  background: var(--st-bg);
}
.st-woo--product {
  padding: 0;
}
.st-woo-product {
  position: relative;
  padding: clamp(2rem, 5vw, 3.5rem) 0 clamp(3rem, 7vw, 5rem);
  background:
    radial-gradient(
      ellipse 55% 70% at 12% 30%,
      rgba(237, 191, 166, 0.35) 0%,
      transparent 55%
    ),
    radial-gradient(
      ellipse 50% 60% at 92% 80%,
      rgba(166, 78, 54, 0.08) 0%,
      transparent 50%
    ),
    var(--st-bg);
}
.st-woo-product__inner {
  max-width: var(--st-container);
}
.st-woo-product .woocommerce-notices-wrapper,
.st-woo-product .woocommerce-message,
.st-woo-product .woocommerce-info,
.st-woo-product .woocommerce-error {
  margin-bottom: 1.5rem;
}
.st-woo-product__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: clamp(1.75rem, 4vw, 3.25rem);
  align-items: center;
}
.st-woo-product__visual {
  margin: 0;
}
.st-woo-product__img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.85rem;
  box-shadow:
    0 14px 32px rgba(46, 21, 16, 0.12),
    0 2px 8px rgba(46, 21, 16, 0.06);
}
.st-woo-product__copy .st-eyebrow {
  margin-bottom: 0.65rem;
}
.st-woo-product__copy h1 {
  margin: 0 0 0.85rem;
  font-size: clamp(1.85rem, 3.2vw, 2.55rem);
  line-height: 1.15;
}
.st-woo-product__lead {
  margin: 0 0 1.15rem;
}
.st-woo-product__lead p {
  margin: 0;
  font-size: 1.05rem;
  color: var(--st-text-muted);
}
.st-woo-product__copy .st-list-check {
  margin: 0 0 1.35rem;
}
.st-woo-product__copy .st-kt-price {
  margin: 0 0 1.25rem;
}
.st-woo-product__cart form.cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin: 0;
}
.st-woo-product__cart .quantity {
  display: none !important;
}
.st-woo-product__cart .single_add_to_cart_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.85rem;
  padding: 0.7rem 1.55rem;
  font-family: var(--st-font-body);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  border-radius: var(--st-radius) !important;
  background: var(--st-accent) !important;
  color: var(--st-white) !important;
  border: 0 !important;
  cursor: pointer;
  transition: background 0.2s var(--st-ease), transform 0.2s var(--st-ease);
}
.st-woo-product__cart .single_add_to_cart_button:hover {
  background: var(--st-accent-hover) !important;
}
.st-woo-product__cart .single_add_to_cart_button:focus-visible {
  outline: 2px solid var(--st-accent);
  outline-offset: 3px;
}
.st-woo-product .st-kt-buy__note {
  margin: 0.85rem 0 0;
}
.st-woo-product__back {
  margin: 1.35rem 0 0;
  font-size: 0.92rem;
}
.st-woo-product__back a {
  color: var(--st-text-muted);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color 0.2s var(--st-ease), border-color 0.2s var(--st-ease);
}
.st-woo-product__back a:hover {
  color: var(--st-accent);
  border-bottom-color: rgba(166, 78, 54, 0.35);
}

@media (max-width: 800px) {
  .st-woo-product__panel {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }
  .st-woo-product__visual {
    max-width: 28rem;
    margin-inline: auto;
  }
  .st-woo-product__cart .single_add_to_cart_button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .st-woo-product__cart .single_add_to_cart_button {
    transition: none;
  }
}

/* ===== Cart — digital summary ===== */
.st-body--woo-cart {
  background: var(--st-bg);
}
.st-woo--cart {
  padding: 0;
}
.st-woo-cart {
  position: relative;
  padding: clamp(2rem, 5vw, 3.5rem) 0 clamp(3rem, 7vw, 5rem);
  background:
    radial-gradient(
      ellipse 55% 70% at 12% 30%,
      rgba(237, 191, 166, 0.35) 0%,
      transparent 55%
    ),
    radial-gradient(
      ellipse 50% 60% at 92% 80%,
      rgba(166, 78, 54, 0.08) 0%,
      transparent 50%
    ),
    var(--st-bg);
}
.st-woo-cart__inner {
  max-width: min(100%, 40rem);
}
.st-woo-cart .woocommerce-notices-wrapper,
.st-woo-cart .woocommerce-message,
.st-woo-cart .woocommerce-info,
.st-woo-cart .woocommerce-error {
  margin-bottom: 1.5rem;
}
.st-woo-cart__header {
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}
.st-woo-cart__header .st-eyebrow {
  margin-bottom: 0.65rem;
}
.st-woo-cart__header h1 {
  margin: 0 0 0.65rem;
  font-size: clamp(1.85rem, 3.2vw, 2.55rem);
  line-height: 1.15;
}
.st-woo-cart__lead {
  margin: 0;
  max-width: 34rem;
  font-size: 1.05rem;
  color: var(--st-text-muted);
}

/* Kill WooCommerce float layout that squeezes the totals to 48%. */
.st-woo-cart .cart-collaterals,
.st-woo-cart .cart-collaterals .cart_totals,
.st-woo-cart .st-woo-cart__collaterals,
.st-woo-cart .st-woo-cart__totals {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  clear: both;
}
.st-woo-cart .cart-collaterals::before,
.st-woo-cart .cart-collaterals::after {
  content: none !important;
  display: none !important;
}

.st-woo-cart__layout {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.st-woo-cart__form {
  margin: 0;
}
.st-woo-cart__items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.st-woo-cart__item {
  display: grid;
  grid-template-columns: 5.25rem minmax(0, 1fr) auto;
  gap: 1rem 1.15rem;
  align-items: center;
  padding: 1.1rem 1.2rem;
  background: rgba(255, 252, 249, 0.72);
  border: 1px solid var(--st-border);
  border-radius: 0.85rem;
}
.st-woo-cart__thumb {
  margin: 0;
}
.st-woo-cart__thumb a {
  display: block;
}
.st-woo-cart__thumb-img,
.st-woo-cart__thumb img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 0.55rem;
}
.st-woo-cart__meta {
  min-width: 0;
}
.st-woo-cart__name {
  display: block;
  font-family: var(--st-font-display);
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.25;
  color: var(--st-text);
  text-decoration: none;
}
.st-woo-cart__name:hover {
  color: var(--st-accent);
}
.st-woo-cart__tagline {
  margin: 0.3rem 0 0.55rem;
  font-size: 0.9rem;
  color: var(--st-text-muted);
}
.st-woo-cart__remove {
  font-size: 0.88rem;
  color: var(--st-text-muted);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color 0.2s var(--st-ease), border-color 0.2s var(--st-ease);
}
.st-woo-cart__remove:hover {
  color: var(--st-accent);
  border-bottom-color: rgba(166, 78, 54, 0.35);
}
.st-woo-cart__price {
  font-family: var(--st-font-display);
  font-size: 1.25rem;
  font-weight: 600;
  white-space: nowrap;
  color: var(--st-text);
  justify-self: end;
}
.st-woo-cart__price .amount,
.st-woo-cart__price .woocommerce-Price-amount {
  font-weight: 600;
}
.st-woo-cart__aside {
  position: static;
  width: 100%;
}
.st-woo-cart__totals {
  box-sizing: border-box;
  padding: 1.35rem 1.4rem 1.5rem;
  background: rgba(255, 252, 249, 0.72);
  border: 1px solid var(--st-border);
  border-radius: 0.85rem;
}
.st-woo-cart__totals-title {
  margin: 0 0 1rem;
  font-family: var(--st-font-display);
  font-size: 1.35rem;
  line-height: 1.2;
}
.st-woo-cart__totals-rows {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin: 0 0 1.25rem;
}
.st-woo-cart__totals-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}
.st-woo-cart__totals-label {
  color: var(--st-text-muted);
  font-size: 0.98rem;
}
.st-woo-cart__totals-value {
  font-size: 0.98rem;
  text-align: right;
  white-space: nowrap;
}
.st-woo-cart__totals-row.order-total {
  margin-top: 0.35rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--st-border);
}
.st-woo-cart__totals-row.order-total .st-woo-cart__totals-label,
.st-woo-cart__totals-row.order-total .st-woo-cart__totals-value {
  font-family: var(--st-font-display);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--st-text);
}
.st-woo-cart__checkout {
  margin: 0;
  padding: 0;
}
.st-woo-cart__checkout .st-btn,
.st-woo-cart__checkout a.checkout-button,
.st-woo-cart__checkout .checkout-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 3rem;
  margin: 0 !important;
  padding: 0.85rem 1.5rem !important;
  font-family: var(--st-font-body) !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  line-height: 1.2 !important;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  white-space: nowrap;
  border-radius: 999px !important;
  background: var(--st-accent) !important;
  color: var(--st-white) !important;
  border: 2px solid var(--st-accent) !important;
  box-shadow: none !important;
  transition: background 0.2s var(--st-ease), border-color 0.2s var(--st-ease), transform 0.2s var(--st-ease);
}
.st-woo-cart__checkout .st-btn:hover,
.st-woo-cart__checkout a.checkout-button:hover,
.st-woo-cart__checkout .checkout-button:hover {
  background: var(--st-accent-hover) !important;
  border-color: var(--st-accent-hover) !important;
  color: var(--st-white) !important;
  transform: translateY(-1px);
}
.st-woo-cart__checkout .st-btn:focus-visible,
.st-woo-cart__checkout a.checkout-button:focus-visible,
.st-woo-cart__checkout .checkout-button:focus-visible {
  outline: 2px solid var(--st-accent);
  outline-offset: 3px;
}
.st-woo-cart__note {
  margin: 1.15rem 0 0;
}
.st-woo-cart__back {
  margin: 0.85rem 0 0;
  font-size: 0.92rem;
}
.st-woo-cart__back a {
  color: var(--st-text-muted);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color 0.2s var(--st-ease), border-color 0.2s var(--st-ease);
}
.st-woo-cart__back a:hover {
  color: var(--st-accent);
  border-bottom-color: rgba(166, 78, 54, 0.35);
}
.st-woo-cart--empty .st-woo-cart__inner {
  max-width: min(100%, 36rem);
}
.st-woo-cart__empty {
  padding: 1.5rem 0 0.5rem;
}
.st-woo-cart__empty-title {
  margin: 0 0 0.65rem;
  font-family: var(--st-font-display);
  font-size: clamp(1.45rem, 2.5vw, 1.85rem);
  line-height: 1.2;
}
.st-woo-cart__empty-lead {
  margin: 0 0 1.35rem;
  font-size: 1.05rem;
  color: var(--st-text-muted);
}

@media (max-width: 800px) {
  .st-woo-cart__item {
    grid-template-columns: 4.5rem minmax(0, 1fr);
    grid-template-areas:
      "thumb meta"
      "thumb price";
    align-items: start;
  }
  .st-woo-cart__thumb { grid-area: thumb; }
  .st-woo-cart__meta { grid-area: meta; }
  .st-woo-cart__price {
    grid-area: price;
    justify-self: start;
    margin-top: 0.15rem;
  }
  .st-woo-cart__checkout .st-btn,
  .st-woo-cart__checkout a.checkout-button,
  .st-woo-cart__checkout .checkout-button {
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .st-woo-cart__checkout .st-btn,
  .st-woo-cart__checkout a.checkout-button,
  .st-woo-cart__checkout .checkout-button,
  .st-woo-cart__remove,
  .st-woo-cart__back a {
    transition: none;
  }
  .st-woo-cart__checkout .st-btn:hover,
  .st-woo-cart__checkout a.checkout-button:hover,
  .st-woo-cart__checkout .checkout-button:hover {
    transform: none;
  }
}

/* ===== Checkout — digital purchase ===== */
.st-body--woo-checkout {
  background: var(--st-bg);
}
.st-woo--checkout {
  padding: 0;
}
.st-woo-checkout {
  position: relative;
  padding: clamp(2rem, 5vw, 3.5rem) 0 clamp(3rem, 7vw, 5rem);
  background:
    radial-gradient(
      ellipse 55% 70% at 12% 30%,
      rgba(237, 191, 166, 0.35) 0%,
      transparent 55%
    ),
    radial-gradient(
      ellipse 50% 60% at 92% 80%,
      rgba(166, 78, 54, 0.08) 0%,
      transparent 50%
    ),
    var(--st-bg);
}
.st-woo-checkout__inner {
  max-width: min(100%, var(--st-container));
}
.st-woo-checkout .woocommerce-notices-wrapper,
.st-woo-checkout .woocommerce-message,
.st-woo-checkout .woocommerce-info,
.st-woo-checkout .woocommerce-error {
  margin-bottom: 1.5rem;
}
.st-woo-checkout__header {
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}
.st-woo-checkout__header .st-eyebrow {
  margin-bottom: 0.65rem;
}
.st-woo-checkout__header h1 {
  margin: 0 0 0.65rem;
  font-size: clamp(1.85rem, 3.2vw, 2.55rem);
  line-height: 1.15;
}
.st-woo-checkout__lead {
  margin: 0;
  max-width: 42rem;
  font-size: 1.05rem;
  color: var(--st-text-muted);
}
.st-woo-checkout__form {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0;
}
.st-woo-checkout__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: start;
  margin-bottom: 1.25rem;
}
/* Safety: if a notice lands as a direct grid child, span full width instead of stealing a column. */
.st-woo-checkout__layout > .woocommerce-notices-wrapper,
.st-woo-checkout__layout > .woocommerce-NoticeGroup,
.st-woo-checkout__layout > .woocommerce-message,
.st-woo-checkout__layout > .woocommerce-info,
.st-woo-checkout__layout > .woocommerce-error {
  grid-column: 1 / -1;
}
.st-woo-checkout__main > .woocommerce-notices-wrapper,
.st-woo-checkout__main > .woocommerce-NoticeGroup,
.st-woo-checkout__main > .woocommerce-message,
.st-woo-checkout__main > .woocommerce-info,
.st-woo-checkout__main > .woocommerce-error {
  margin-bottom: 1rem;
}

/* Kill WooCommerce col2-set / float layout. */
.st-woo-checkout .col2-set,
.st-woo-checkout .col2-set .col-1,
.st-woo-checkout .col2-set .col-2,
.st-woo-checkout #customer_details,
.st-woo-checkout #order_review,
.st-woo-checkout .woocommerce-checkout-review-order {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  clear: both;
}
.st-woo-checkout .col2-set::before,
.st-woo-checkout .col2-set::after {
  content: none !important;
  display: none !important;
}

.st-woo-checkout__panel,
.st-woo-checkout__aside,
.st-woo-checkout__account,
.st-woo-checkout__pay-panel,
.st-woo-checkout__express {
  box-sizing: border-box;
  padding: 1.35rem 1.4rem 1.5rem;
  background: rgba(255, 252, 249, 0.72);
  border: 1px solid var(--st-border);
  border-radius: 0.85rem;
}
.st-woo-checkout__account,
.st-woo-checkout__pay-panel {
  margin-top: 1rem;
}
.st-woo-checkout__pay-panel {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.st-woo-checkout__pay-panel .st-woo-checkout__panel-title {
  margin-bottom: 0;
}
.st-woo-checkout__pay-panel .st-woo-checkout__notice {
  margin: 0;
}
.st-woo-checkout__terms {
  box-sizing: border-box;
  margin: 0;
  padding: 1.15rem 1.25rem 1.2rem;
  background: rgba(255, 252, 249, 0.72);
  border: 1px solid var(--st-border);
  border-radius: 0.85rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.st-woo-checkout__terms-row {
  margin: 0 !important;
}
.st-woo-checkout__terms .woocommerce-form__label-for-checkbox {
  font-size: 0.92rem;
  line-height: 1.45;
  color: var(--st-text);
}
.st-woo-checkout__terms a {
  color: var(--st-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.st-woo-checkout__terms a:hover {
  color: var(--st-accent-hover);
}
.st-woo-checkout__express.is-terms-locked #wc-stripe-express-checkout-element {
  pointer-events: none;
  opacity: 0.45;
}
.st-woo-checkout__express-lock-hint {
  display: none;
  margin: 0.65rem 0 0;
  font-size: 0.88rem;
  line-height: 1.4;
  color: var(--st-text-muted);
}
.st-woo-checkout__express.is-terms-locked .st-woo-checkout__express-lock-hint {
  display: block;
}
.st-woo-checkout__panel-title,
.st-woo-checkout__aside-title {
  margin: 0 0 1rem;
  font-family: var(--st-font-display);
  font-size: 1.35rem;
  line-height: 1.2;
}
.st-woo-checkout__notice {
  margin: -0.35rem 0 1rem;
  padding: 0.75rem 0.9rem;
  font-size: 0.9rem;
  line-height: 1.45;
  color: var(--st-text-muted);
  background: rgba(166, 78, 54, 0.06);
  border-left: 3px solid var(--st-accent);
  border-radius: 0 0.45rem 0.45rem 0;
}
.st-woo-checkout__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem 1rem;
}
.st-woo-checkout .form-row {
  margin: 0;
  padding: 0;
  float: none !important;
  width: 100% !important;
}
.st-woo-checkout .form-row-wide,
.st-woo-checkout .form-row-first,
.st-woo-checkout .form-row-last {
  float: none !important;
  width: 100% !important;
  grid-column: 1 / -1;
}
.st-woo-checkout .form-row-first,
.st-woo-checkout .form-row-last {
  grid-column: auto;
}
.st-woo-checkout .form-row label {
  display: block;
  margin: 0 0 0.35rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--st-text);
}
.st-woo-checkout .form-row.hidden {
  display: none !important;
}
.st-woo-checkout .form-row .description {
  display: block;
  margin: 0.35rem 0 0;
  font-size: 0.85rem;
  font-weight: 400;
  color: var(--st-text-muted);
}
.st-woo-checkout .form-row .required {
  color: var(--st-accent);
  text-decoration: none;
}
.st-woo-checkout .form-row input.input-text,
.st-woo-checkout .form-row textarea,
.st-woo-checkout .form-row select,
.st-woo-checkout .select2-container .select2-selection--single {
  box-sizing: border-box;
  width: 100%;
  font: inherit;
  min-height: 2.85rem;
  padding: 0.75rem 0.9rem;
  border: 1px solid var(--st-border);
  border-radius: var(--st-radius);
  background: var(--st-white);
  color: var(--st-text);
  transition: border-color 0.2s var(--st-ease), box-shadow 0.2s var(--st-ease);
}
.st-woo-checkout .select2-container .select2-selection--single {
  display: flex;
  align-items: center;
  height: 2.85rem;
}
.st-woo-checkout .select2-container .select2-selection__rendered {
  line-height: 1.2;
  padding: 0;
}
.st-woo-checkout .select2-container .select2-selection__arrow {
  height: 100%;
}
.st-woo-checkout .form-row input.input-text:focus,
.st-woo-checkout .form-row textarea:focus,
.st-woo-checkout .form-row select:focus,
.st-woo-checkout .select2-container--open .select2-selection--single {
  outline: none;
  border-color: var(--st-accent);
  box-shadow: 0 0 0 3px rgba(166, 78, 54, 0.15);
}
.st-woo-checkout .woocommerce-input-wrapper {
  display: block;
}
.st-woo-checkout .woocommerce-form__label-for-checkbox {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  font-weight: 400;
  cursor: pointer;
}
.st-woo-checkout .woocommerce-form__label-for-checkbox input {
  margin-top: 0.2rem;
  flex-shrink: 0;
}

.st-woo-checkout__aside {
  position: sticky;
  top: 1.25rem;
}
.st-woo-checkout__summary {
  margin: 0 0 1.25rem;
}
.st-woo-checkout__items {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.st-woo-checkout__item {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: baseline;
}
.st-woo-checkout__item-name {
  font-family: var(--st-font-display);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--st-text);
}
.st-woo-checkout__item-total {
  white-space: nowrap;
  font-weight: 600;
}
.st-woo-checkout__totals-rows {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--st-border);
}
.st-woo-checkout__totals-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}
.st-woo-checkout__totals-label {
  color: var(--st-text-muted);
  font-size: 0.98rem;
}
.st-woo-checkout__totals-value {
  font-size: 0.98rem;
  text-align: right;
  white-space: nowrap;
}
.st-woo-checkout__totals-row.order-total {
  margin-top: 0.35rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--st-border);
}
.st-woo-checkout__totals-row.order-total .st-woo-checkout__totals-label,
.st-woo-checkout__totals-row.order-total .st-woo-checkout__totals-value {
  font-family: var(--st-font-display);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--st-text);
}

/* Woo checkout.js hides form.checkout_coupon by default (toggle UX) — keep ours visible. */
.st-woo-checkout__coupon.checkout_coupon {
  margin: 1rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid var(--st-border);
  display: flex !important;
  flex-direction: column;
  gap: 0.55rem;
}
.st-woo-checkout__coupon-label {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--st-text-muted);
}
.st-woo-checkout__coupon-row {
  display: flex;
  gap: 0.5rem;
  align-items: stretch;
}
.st-woo-checkout__coupon-row .input-text {
  flex: 1 1 auto;
  min-width: 0;
  box-sizing: border-box;
  padding: 0.7rem 0.85rem;
  border: 1px solid var(--st-border);
  border-radius: 0.55rem;
  background: #fff;
  color: var(--st-text);
  font: inherit;
  font-size: 0.98rem;
}
.st-woo-checkout__coupon-row .input-text:focus {
  outline: none;
  border-color: var(--st-accent);
  box-shadow: 0 0 0 3px rgba(166, 78, 54, 0.15);
}
.st-woo-checkout__coupon-row .st-btn {
  flex: 0 0 auto;
  padding: 0.65rem 0.95rem;
  font-size: 0.9rem;
  white-space: nowrap;
}

.st-woo-checkout__payment {
  margin: 0;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}
.st-woo-checkout__payment ul.payment_methods {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  min-height: 0 !important;
}
/* Flatten gateway chrome — panel already frames the card form (no double border). */
.st-woo-checkout__payment ul.payment_methods > li {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent;
  border: 0;
  border-radius: 0;
  list-style: none;
  min-height: 0 !important;
  position: relative;
}
/* Single Stripe card method: panel title is enough — hide radio + "Payment options". */
.st-woo-checkout__payment ul.payment_methods > li > input[type="radio"],
.st-woo-checkout__payment ul.payment_methods > li > label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.st-woo-checkout__payment .payment_box {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 0 !important;
  box-shadow: none !important;
  color: var(--st-text-muted);
  font-size: 0.92rem;
  max-width: none !important;
  width: 100% !important;
  position: static !important;
  min-height: 0 !important;
}
/* WooCommerce payment_box speech-bubble arrow + frame */
.st-woo-checkout__payment .payment_box::before,
.st-woo-checkout__payment .payment_box::after,
.st-woo-checkout #payment div.payment_box::before,
.st-woo-checkout #payment div.payment_box::after,
.st-woo-checkout .payment_method_stripe .payment_box::before,
.st-woo-checkout .payment_method_stripe .payment_box::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  width: 0 !important;
  height: 0 !important;
}
.st-woo-checkout__payment .payment_box > p {
  display: none !important;
}
/* Hide "Save payment information to my account" — one-off digital purchase. */
.st-woo-checkout .woocommerce-SavedPaymentMethods-saveNew,
.st-woo-checkout #wc-stripe-new-payment-method,
.st-woo-checkout label[for="wc-stripe-new-payment-method"],
.st-woo-checkout .wc-stripe-hide-save-checkbox .woocommerce-SavedPaymentMethods-saveNew {
  display: none !important;
}
.st-woo-checkout #wc-stripe-upe-form,
.st-woo-checkout .wc-stripe-upe-element,
.st-woo-checkout .wc-stripe-upe-element iframe,
.st-woo-checkout .StripeElement,
.st-woo-checkout #payment .payment_method_stripe,
.st-woo-checkout .wc-block-components-radio-control-accordion-option {
  max-width: none !important;
  width: 100% !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}
.st-woo-checkout .wc-stripe-upe-element,
.st-woo-checkout .StripeElement {
  box-sizing: border-box;
  min-height: 0 !important;
  padding: 0 !important;
}
.st-woo-checkout__pay-panel .st-woo-checkout__notice {
  margin: 0;
}
.st-woo-checkout__pay-panel .st-woo-checkout__payment {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
}
.st-woo-checkout__place-order {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.st-woo-checkout__place-order .woocommerce-terms-and-conditions-wrapper {
  margin: 0;
  font-size: 0.9rem;
  color: var(--st-text-muted);
}
.st-woo-checkout__place-order #place_order,
.st-woo-checkout__place-order .st-btn {
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 3rem;
  margin: 0 !important;
  padding: 0.85rem 1.5rem !important;
  font-family: var(--st-font-body) !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  line-height: 1.2 !important;
  text-align: center;
  text-transform: uppercase;
  white-space: normal;
  border-radius: 999px !important;
  background: var(--st-accent) !important;
  color: var(--st-white) !important;
  border: 2px solid var(--st-accent) !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: background 0.2s var(--st-ease), border-color 0.2s var(--st-ease), transform 0.2s var(--st-ease);
}
.st-woo-checkout__place-order #place_order:hover,
.st-woo-checkout__place-order .st-btn:hover {
  background: var(--st-accent-hover) !important;
  border-color: var(--st-accent-hover) !important;
  color: var(--st-white) !important;
  transform: translateY(-1px);
}
.st-woo-checkout__place-order #place_order:focus-visible,
.st-woo-checkout__place-order .st-btn:focus-visible {
  outline: 2px solid var(--st-accent);
  outline-offset: 3px;
}
.st-woo-checkout__back {
  margin: 1.25rem 0 0;
  font-size: 0.92rem;
}
.st-woo-checkout__back a {
  color: var(--st-text-muted);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color 0.2s var(--st-ease), border-color 0.2s var(--st-ease);
}
.st-woo-checkout__back a:hover {
  color: var(--st-accent);
  border-bottom-color: rgba(166, 78, 54, 0.35);
}

.st-woo-checkout__main {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0;
}

/* Stripe Express Checkout — full-width panel; buttons side by side; "Vagy" outside. */
.st-woo-checkout__express {
  width: 100%;
  max-width: none;
  min-width: 0;
}
.st-woo-checkout__express .st-woo-checkout__panel-title {
  margin-bottom: 0.85rem;
}
.st-woo-checkout #wc-stripe-express-checkout-element,
.st-woo-checkout .wc-stripe-express-checkout-wrapper {
  box-sizing: border-box;
  display: flex !important;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.65rem;
  width: 100%;
  max-width: none;
  margin: 0 !important;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  clear: both;
}
.st-woo-checkout #wc-stripe-express-checkout-element > div {
  flex: 1 1 10rem;
  width: auto !important;
  max-width: 16rem !important;
  min-width: 0;
}
/* Stripe injects this inside the panel; JS moves it out — style as between-panels OR. */
.st-woo-checkout #wc-stripe-express-checkout-button-separator {
  box-sizing: border-box;
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0.15rem 0 !important;
  border: 0 !important;
  background: transparent !important;
  /* Collapse Stripe's "— OR —" text so ::after alone is centered. */
  font-size: 0 !important;
  line-height: 0 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  color: transparent !important;
  clear: both !important;
  position: relative;
}
.st-woo-checkout #wc-stripe-express-checkout-button-separator::after {
  content: "Vagy";
  display: inline-block;
  font-family: var(--st-font-body);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--st-text-muted);
}
.st-woo-checkout__note {
  margin: 0;
  text-align: center;
}

/* Hide Stripe Optimized Checkout / UPE redundant titles when only card is offered. */
.st-woo-checkout .wc-stripe-upe-form > h3,
.st-woo-checkout .wc-stripe-payment-method-instruction,
.st-woo-checkout .p-OptimizedCheckoutAccordion-title,
.st-woo-checkout .StripeElement .p-OptimizedCheckout-title,
.st-woo-checkout #wc-stripe-payment-method-instructions {
  display: none !important;
}

@media (max-width: 800px) {
  .st-woo-checkout__layout {
    grid-template-columns: 1fr;
  }
  .st-woo-checkout__aside {
    position: static;
    order: -1;
  }
  .st-woo-checkout__fields {
    grid-template-columns: 1fr;
  }
  .st-woo-checkout .form-row-first,
  .st-woo-checkout .form-row-last {
    grid-column: 1 / -1;
  }
  .st-woo-checkout__coupon-row {
    flex-wrap: wrap;
  }
  .st-woo-checkout__coupon-row .st-btn {
    white-space: normal;
    flex: 1 1 auto;
  }
  .st-woo-cart__price,
  .st-woo-checkout__item-total {
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .st-woo-checkout__place-order #place_order,
  .st-woo-checkout__place-order .st-btn,
  .st-woo-checkout__back a {
    transition: none;
  }
  .st-woo-checkout__place-order #place_order:hover,
  .st-woo-checkout__place-order .st-btn:hover {
    transform: none;
  }
}

/* ===== Order received / thank you — digital purchase ===== */
.st-body--woo-thankyou {
  background: var(--st-bg);
}
.st-woo--thankyou {
  padding: 0;
}
.st-woo-thankyou {
  position: relative;
  padding: clamp(2rem, 5vw, 3.5rem) 0 clamp(3rem, 7vw, 5rem);
  background:
    radial-gradient(
      ellipse 55% 70% at 12% 30%,
      rgba(237, 191, 166, 0.35) 0%,
      transparent 55%
    ),
    radial-gradient(
      ellipse 50% 60% at 92% 80%,
      rgba(166, 78, 54, 0.08) 0%,
      transparent 50%
    ),
    var(--st-bg);
}
.st-woo-thankyou__inner {
  max-width: min(100%, 40rem);
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
}
.st-woo-thankyou .woocommerce-notices-wrapper,
.st-woo-thankyou .woocommerce-message,
.st-woo-thankyou .woocommerce-info,
.st-woo-thankyou .woocommerce-error {
  margin-bottom: 0;
}
.st-woo-thankyou__header {
  margin-bottom: 0.35rem;
}
.st-woo-thankyou__header .st-eyebrow {
  margin-bottom: 0.65rem;
}
.st-woo-thankyou__header h1 {
  margin: 0 0 0.65rem;
  font-size: clamp(1.85rem, 3.2vw, 2.55rem);
  line-height: 1.15;
}
.st-woo-thankyou__lead {
  margin: 0;
  max-width: 36rem;
  font-size: 1.05rem;
  color: var(--st-text-muted);
}
.st-woo-thankyou__panel {
  box-sizing: border-box;
  padding: 1.35rem 1.4rem 1.5rem;
  background: rgba(255, 252, 249, 0.72);
  border: 1px solid var(--st-border);
  border-radius: 0.85rem;
}
.st-woo-thankyou__panel-title {
  margin: 0 0 1rem;
  font-family: var(--st-font-display);
  font-size: 1.35rem;
  line-height: 1.2;
}
.st-woo-thankyou__meta {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.st-woo-thankyou__meta li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: baseline;
  font-size: 0.95rem;
}
.st-woo-thankyou__meta-label {
  color: var(--st-text-muted);
  flex-shrink: 0;
}
.st-woo-thankyou__meta-value {
  text-align: right;
  font-weight: 600;
  color: var(--st-text);
}
.st-woo-thankyou__meta-value .amount,
.st-woo-thankyou__meta-value .woocommerce-Price-amount {
  font-weight: 600;
}
.st-woo-thankyou__items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.st-woo-thankyou__item {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: baseline;
  font-size: 0.95rem;
}
.st-woo-thankyou__item-name {
  color: var(--st-text);
  min-width: 0;
}
.st-woo-thankyou__item-qty {
  margin-left: 0.35rem;
  color: var(--st-text-muted);
  font-weight: 400;
}
.st-woo-thankyou__item-total {
  flex-shrink: 0;
  font-weight: 600;
}
.st-woo-thankyou__download-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.st-woo-thankyou__download-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem 1rem;
}
.st-woo-thankyou__download-meta {
  min-width: 0;
  flex: 1 1 12rem;
}
.st-woo-thankyou__download-product {
  margin: 0;
  font-weight: 600;
  color: var(--st-text);
}
.st-woo-thankyou__download-file {
  margin: 0.25rem 0 0;
  font-size: 0.9rem;
  color: var(--st-text-muted);
}
.st-woo-thankyou__download-btn {
  flex: 0 0 auto;
}
.st-woo-thankyou__download-note,
.st-woo-thankyou__failed-text,
.st-woo-thankyou__empty-text {
  margin: 0.9rem 0 0;
  font-size: 0.92rem;
  line-height: 1.45;
  color: var(--st-text-muted);
}
.st-woo-thankyou__download-note--pending {
  margin-top: 0;
}
.st-woo-thankyou__failed-text,
.st-woo-thankyou__empty-text {
  margin: 0 0 1rem;
}
.st-woo-thankyou__empty-text a {
  color: var(--st-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.st-woo-thankyou__empty-text a:hover {
  color: var(--st-accent-hover);
}
.st-woo-thankyou__panel--failed .st-btn-row {
  margin: 0;
}
.st-woo-thankyou__actions {
  margin-top: 0.25rem;
}
.st-woo-thankyou__downloads {
  border-color: rgba(166, 78, 54, 0.28);
  background:
    linear-gradient(135deg, rgba(166, 78, 54, 0.06), transparent 55%),
    rgba(255, 252, 249, 0.8);
}

/* Branded download landing (/letoltes/) */
.st-woo-download {
  position: relative;
  padding: clamp(2rem, 5vw, 3.5rem) 0 clamp(3rem, 7vw, 5rem);
  background:
    radial-gradient(
      ellipse 55% 70% at 12% 30%,
      rgba(237, 191, 166, 0.35) 0%,
      transparent 55%
    ),
    radial-gradient(
      ellipse 50% 60% at 92% 80%,
      rgba(166, 78, 54, 0.08) 0%,
      transparent 50%
    ),
    var(--st-bg);
}
.st-woo-download__inner {
  max-width: min(100%, 40rem);
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
}
.st-woo-download__header .st-eyebrow {
  margin-bottom: 0.65rem;
}
.st-woo-download__header h1 {
  margin: 0 0 0.65rem;
  font-size: clamp(1.85rem, 3.2vw, 2.55rem);
  line-height: 1.15;
}
.st-woo-download__lead {
  margin: 0;
  max-width: 36rem;
  font-size: 1.05rem;
  color: var(--st-text-muted);
}
.st-woo-download__lead a {
  color: var(--st-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.st-woo-download__lead a:hover {
  color: var(--st-accent-hover);
}
.st-woo-download__panel {
  box-sizing: border-box;
  padding: 1.35rem 1.4rem 1.5rem;
  border: 1px solid rgba(166, 78, 54, 0.28);
  border-radius: 0.85rem;
  background:
    linear-gradient(135deg, rgba(166, 78, 54, 0.06), transparent 55%),
    rgba(255, 252, 249, 0.8);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.st-woo-download__meta {
  min-width: 0;
}
.st-woo-download__product {
  margin: 0;
  font-weight: 600;
  color: var(--st-text);
}
.st-woo-download__file {
  margin: 0.25rem 0 0;
  font-size: 0.9rem;
  color: var(--st-text-muted);
}
.st-woo-download__btn {
  align-self: flex-start;
}
.st-woo-download__note {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.45;
  color: var(--st-text-muted);
}
.st-woo-download__note a {
  color: var(--st-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.st-woo-download__note a:hover {
  color: var(--st-accent-hover);
}
.st-woo-download__frame {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  pointer-events: none;
}
.st-woo-download__actions {
  margin-top: 0.25rem;
}
.st-woo-download__nav {
  margin-top: 0.25rem;
}

@media (max-width: 520px) {
  .st-woo-download__btn {
    width: 100%;
    text-align: center;
    align-self: stretch;
  }
  .st-woo-thankyou__download-item {
    flex-direction: column;
    align-items: stretch;
  }
  .st-woo-thankyou__download-btn {
    width: 100%;
    text-align: center;
  }
  .st-woo-thankyou__meta li,
  .st-woo-thankyou__item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.2rem;
  }
  .st-woo-thankyou__meta-value,
  .st-woo-thankyou__item-total {
    text-align: left;
  }
}

.st-single-content {
  max-width: 44rem;
  margin: 0 auto;
  padding: 2.5rem 0 4rem;
}
.st-single-content .st-post-meta {
  font-size: 0.85rem;
  color: var(--st-text-muted);
  margin-bottom: 1.5rem;
}
.st-single-thumb {
  margin: 0 0 2rem;
  border-radius: var(--st-radius);
  overflow: hidden;
}
.st-single-thumb img {
  display: block;
  width: 100%;
  height: auto;
}
.st-cta-box {
  margin-top: 2.5rem;
  padding: 1.75rem;
  background: var(--st-bg-soft);
  border-radius: var(--st-radius);
  border: 1px solid var(--st-border);
}

.st-cta-band {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(
      ellipse 70% 90% at 85% 20%,
      rgba(166, 78, 54, 0.16) 0%,
      transparent 55%
    ),
    radial-gradient(
      ellipse 60% 80% at 8% 90%,
      rgba(237, 191, 166, 0.45) 0%,
      transparent 50%
    ),
    linear-gradient(
      135deg,
      var(--st-accent-soft) 0%,
      var(--st-bg-soft) 48%,
      #fffdfb 100%
    );
  color: var(--st-text);
  border-top: 1px solid rgba(57, 29, 21, 0.08);
}
.st-cta-band__inner {
  max-width: 40rem;
  margin-inline: auto;
  text-align: center;
}
.st-cta-band__inner h2 {
  margin-bottom: 1rem;
  color: var(--st-text);
}
.st-cta-band__inner p {
  margin-bottom: 1.75rem;
  color: var(--st-text-muted);
}
.st-cta-band__inner p:not(.st-eyebrow):has(+ p) {
  margin-bottom: 0.85rem;
}
.st-cta-band .st-eyebrow {
  color: var(--st-accent);
}

/* Blog archive */
.st-page-hero.st-blog-hero {
  min-height: min(48svh, 26rem);
}
.st-blog-hero .st-page-hero__lead {
  max-width: 40rem;
}
.st-page-hero.st-blog-hero h1 {
  max-width: 18ch;
}
.st-page-hero.st-results-hero h1 {
  max-width: 24ch;
}
.st-blog-hero:not(.st-results-hero) .st-page-hero__media {
  filter: saturate(0.7) brightness(1.12);
  opacity: 0.72;
}
.st-blog-hero:not(.st-results-hero).st-page-hero--photo::after {
  background: linear-gradient(
    180deg,
    rgba(246, 235, 228, 0.78) 0%,
    rgba(246, 235, 228, 0.62) 46%,
    rgba(246, 235, 228, 0.52) 100%
  );
}
@media (max-width: 800px) {
  .st-blog-hero:not(.st-results-hero).st-page-hero--photo::after {
    background: linear-gradient(
      180deg,
      rgba(246, 235, 228, 0.84) 0%,
      rgba(246, 235, 228, 0.7) 48%,
      rgba(246, 235, 228, 0.58) 100%
    );
  }
}

/* Eredményeink: full-bleed photo, soft wash */
.st-page-hero.st-results-hero {
  min-height: min(52svh, 28rem);
}
.st-results-hero .st-page-hero__media {
  background-color: var(--st-page-hero-cream);
  background-size: cover;
  background-position: var(--st-page-hero-pos, 50% 42%);
  filter: saturate(0.55) brightness(1.22);
}
.st-results-hero.st-page-hero--photo::after {
  background: linear-gradient(
    180deg,
    rgba(246, 235, 228, 0.86) 0%,
    rgba(246, 235, 228, 0.72) 42%,
    rgba(246, 235, 228, 0.64) 100%
  );
}
@media (max-width: 800px) {
  .st-results-hero .st-page-hero__media {
    background-position: 55% 40%;
  }
  .st-results-hero.st-page-hero--photo::after {
    background: linear-gradient(
      180deg,
      rgba(246, 235, 228, 0.9) 0%,
      rgba(246, 235, 228, 0.78) 48%,
      rgba(246, 235, 228, 0.68) 100%
    );
  }
}
.st-blog-tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 1.35rem;
}
.st-blog-tags__link {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.9rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  color: rgba(255, 250, 246, 0.92);
  border: 1px solid rgba(255, 250, 246, 0.35);
  border-radius: 4px;
  background: rgba(57, 29, 21, 0.28);
  backdrop-filter: blur(6px);
  transition: background 0.25s var(--st-ease), border-color 0.25s var(--st-ease), color 0.25s var(--st-ease);
}
.st-blog-tags__link:hover,
.st-blog-tags__link.is-active {
  color: #fff;
  background: rgba(166, 78, 54, 0.72);
  border-color: rgba(255, 250, 246, 0.55);
}
.st-blog-archive {
  padding-top: clamp(2rem, 5vw, 3rem);
}
@media (max-width: 700px) {
  .st-page-hero.st-blog-hero h1 {
    max-width: none;
  }
}

.st-pagination {
  margin-top: 2.5rem;
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.st-pagination .page-numbers {
  padding: 0.45rem 0.75rem;
  border: 1px solid var(--st-border);
  border-radius: var(--st-radius);
  text-decoration: none;
  color: var(--st-text);
}
.st-pagination .current,
.st-pagination .page-numbers:hover {
  background: var(--st-accent);
  color: var(--st-white);
  border-color: var(--st-accent);
}

/* —— Nézőpont (hat nézőpont / DRAIBK) —— */
.st-page-hero.st-nz-hero {
  border-bottom: none;
}
.st-nz-hero .st-page-hero__media {
  opacity: 0.82;
  filter: saturate(0.9) brightness(1.02);
}
/* Stronger top wash so the hero does not melt into the cream header */
.st-nz-hero.st-page-hero--photo::after {
  background: linear-gradient(
    180deg,
    rgba(246, 235, 228, 0.94) 0%,
    rgba(246, 235, 228, 0.72) 14%,
    rgba(246, 235, 228, 0.5) 42%,
    rgba(246, 235, 228, 0.38) 100%
  );
}
@media (max-width: 800px) {
  .st-nz-hero.st-page-hero--photo::after {
    background: linear-gradient(
      180deg,
      rgba(246, 235, 228, 0.96) 0%,
      rgba(246, 235, 228, 0.78) 16%,
      rgba(246, 235, 228, 0.58) 48%,
      rgba(246, 235, 228, 0.46) 100%
    );
  }
}
.st-nz-hero .st-page-hero__inner {
  max-width: 40rem;
}
.st-page-hero.st-nz-hero h1 {
  margin-bottom: 0.85rem;
  max-width: 18ch;
  font-size: clamp(2.05rem, 4vw, 2.85rem);
  line-height: 1.1;
}
.st-nz-hero .st-page-hero__lead {
  margin-bottom: 0;
  max-width: 34rem;
}

/* Soft hero → white Lényeg → soft Részletesen */
.st-nz-intro {
  border-top: 1px solid var(--st-border);
}

.st-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

body.st-nz-reader-open {
  overflow: hidden;
}

.st-nz-flips {
  overflow: visible;
}
.st-nz-flips__head {
  margin-bottom: clamp(1.35rem, 2.8vw, 2rem);
  max-width: 42rem;
}
.st-nz-flips__head h2 {
  margin-bottom: 0.85rem;
}
.st-nz-flips__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.55rem;
  margin: 0 0 clamp(1.35rem, 3vw, 2rem);
  padding: 0;
}
.st-nz-flips__nav-item {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.7rem 0.35rem 0.35rem;
  border: 1px solid var(--st-border);
  border-radius: var(--st-radius);
  background: rgba(255, 253, 251, 0.72);
  color: var(--st-text-muted);
  text-decoration: none;
  font-family: var(--st-font-body);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.2;
  transition:
    background 0.2s var(--st-ease),
    border-color 0.2s var(--st-ease),
    color 0.2s var(--st-ease),
    box-shadow 0.2s var(--st-ease);
}
.st-nz-flips__nav-item:hover {
  background: var(--st-white);
  border-color: rgba(166, 78, 54, 0.28);
  color: var(--st-text);
}
.st-nz-flips__nav-item.is-active {
  background: var(--st-white);
  border-color: var(--st-accent);
  color: var(--st-text);
  box-shadow: 0 0 0 1px rgba(166, 78, 54, 0.18);
}
.st-nz-flips__nav-letter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.45rem;
  height: 1.45rem;
  flex-shrink: 0;
  border-radius: calc(var(--st-radius) - 1px);
  background: var(--st-accent-soft);
  color: var(--st-accent-deep);
  font-family: var(--st-font-display);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1;
}
.st-nz-flips__nav-item.is-active .st-nz-flips__nav-letter,
.st-nz-flips__nav-item:hover .st-nz-flips__nav-letter {
  background: var(--st-accent);
  color: var(--st-white);
}
.st-nz-flips__nav-en {
  white-space: nowrap;
}
.st-nz-flips__backdrop {
  position: fixed;
  inset: 0;
  z-index: 70;
  margin: 0;
  padding: 0;
  border: 0;
  background: rgba(46, 21, 16, 0.58);
  backdrop-filter: blur(2px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.35s var(--st-ease),
    visibility 0.35s var(--st-ease);
}
.st-nz-flips__backdrop.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  cursor: pointer;
}
.st-nz-flips__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.1rem, 2.5vw, 1.75rem);
  align-items: stretch;
  overflow: visible;
  padding-block: 0.35rem 1.5rem;
}
.st-nz-card {
  --st-nz-radius: 14px;
  --st-nz-stagger: 0;
  position: relative;
  aspect-ratio: 691 / 315;
  z-index: 1;
  transition: transform 0.35s var(--st-ease), box-shadow 0.35s var(--st-ease);
}
.st-nz-flips__grid .st-nz-card.st-reveal {
  transition:
    opacity 0.7s var(--st-ease),
    transform 0.7s var(--st-ease),
    box-shadow 0.35s var(--st-ease);
  transition-delay: calc(var(--st-nz-stagger) * 0.09s);
}
.st-nz-card.is-target {
  box-shadow: 0 0 0 2px var(--st-accent);
}
.st-nz-card.is-open {
  /* Lift above backdrop so the reader isn’t dimmed/blurred by it */
  z-index: 85;
  transform: none;
}
.st-nz-card__hit {
  position: absolute;
  inset: 0;
  z-index: 3;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--st-nz-radius);
  background: transparent;
  cursor: pointer;
}
.st-nz-card.is-open .st-nz-card__hit {
  pointer-events: none;
}
.st-nz-card__hit:focus-visible {
  outline: 2px solid var(--st-accent);
  outline-offset: 4px;
}
.st-nz-card__cover {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: var(--st-nz-radius);
  transition: filter 0.35s var(--st-ease);
}
.st-nz-card__art {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  object-fit: cover;
  object-position: center;
  border-radius: var(--st-nz-radius);
  pointer-events: none;
  user-select: none;
}
.st-nz-card__hint {
  position: absolute;
  right: 0.65rem;
  bottom: 0.65rem;
  left: auto;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  max-width: calc(100% - 1.3rem);
  padding: 0.32rem 0.55rem 0.32rem 0.32rem;
  border: 1px solid rgba(57, 29, 21, 0.12);
  border-radius: var(--st-radius);
  background: rgba(255, 253, 251, 0.9);
  color: var(--st-text);
  font-family: var(--st-font-body);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.2;
  pointer-events: none;
  box-shadow: 0 6px 16px rgba(57, 29, 21, 0.1);
  transition: background 0.25s var(--st-ease), color 0.25s var(--st-ease);
}
.st-nz-card__hint-letter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  flex-shrink: 0;
  border-radius: calc(var(--st-radius) - 1px);
  background: var(--st-accent);
  color: var(--st-white);
  font-family: var(--st-font-display);
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1;
}
.st-nz-card__hint-text {
  white-space: nowrap;
}
.st-nz-card__fallback {
  height: 100%;
  padding: clamp(1rem, 2vw, 1.5rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    radial-gradient(ellipse 70% 80% at 90% 20%, rgba(166, 78, 54, 0.22), transparent 55%),
    linear-gradient(135deg, #fff8f3 0%, #f0d2c0 55%, #e2b39a 100%);
  color: var(--st-text);
  border-radius: var(--st-nz-radius);
}
.st-nz-card__letter {
  font-family: var(--st-font-display);
  font-size: clamp(2.5rem, 5vw, 3.75rem);
  font-weight: 600;
  line-height: 0.9;
  color: var(--st-accent-deep);
}
.st-nz-card__en {
  margin: 0 0 0.3rem;
  font-family: var(--st-font-body);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--st-accent);
}
.st-nz-card__hu {
  margin: 0;
  font-family: var(--st-font-display);
  font-size: 1.25rem;
  font-weight: 600;
}
.st-nz-card__slogan {
  margin: 0.75rem 0 0;
  font-family: var(--st-font-display);
  font-size: 1.05rem;
  font-style: italic;
  line-height: 1.35;
}
@media (hover: hover) and (pointer: fine) {
  .st-nz-card:not(.is-open):hover {
    transform: translateY(-3px);
  }
  .st-nz-card:not(.is-open):hover .st-nz-card__cover {
    filter: drop-shadow(0 12px 22px rgba(57, 29, 21, 0.16));
  }
  .st-nz-card:not(.is-open):hover .st-nz-card__hint {
    background: rgba(255, 253, 251, 0.98);
    color: var(--st-accent-deep);
  }
}

/* Centered reader panel — middle of viewport, above backdrop */
.st-nz-reader {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 90;
  width: min(40rem, calc(100vw - 2rem));
  max-height: calc(100dvh - 1.7rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(57, 29, 21, 0.1);
  border-radius: 12px;
  background:
    radial-gradient(ellipse 70% 45% at 100% 0%, rgba(237, 191, 166, 0.28), transparent 55%),
    linear-gradient(165deg, #fffdfb 0%, #f8eee6 100%);
  box-shadow: 0 28px 64px rgba(57, 29, 21, 0.28);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, calc(-50% + 0.45rem)) scale(0.98);
  transition:
    opacity 0.3s var(--st-ease),
    visibility 0.3s var(--st-ease),
    transform 0.35s var(--st-ease);
}
.st-nz-reader.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, -50%) scale(1);
}
.st-nz-reader[hidden] {
  display: none;
}
.st-nz-reader.is-open:not([hidden]) {
  display: flex;
}
.st-nz-reader__close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 2;
  width: 2.35rem;
  height: 2.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 1px solid var(--st-border);
  border-radius: var(--st-radius);
  background: rgba(255, 253, 251, 0.95);
  color: var(--st-text);
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
  transition: background 0.2s var(--st-ease), border-color 0.2s var(--st-ease), color 0.2s var(--st-ease);
}
.st-nz-reader__close:hover {
  background: var(--st-accent-deep);
  border-color: var(--st-accent-deep);
  color: var(--st-white);
}
.st-nz-reader__close:focus-visible {
  outline: 2px solid var(--st-accent);
  outline-offset: 2px;
}
.st-nz-reader__scroll {
  flex: 1 1 auto;
  overflow: auto;
  overscroll-behavior: contain;
  padding: clamp(1.5rem, 3.5vw, 2.25rem);
  padding-right: clamp(3rem, 5vw, 3.5rem);
}
.st-nz-reader__head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.9rem 1.1rem;
  align-items: start;
  margin-bottom: 1.35rem;
  padding-bottom: 1.15rem;
  border-bottom: 1px solid var(--st-border);
}
.st-nz-reader__letter {
  font-family: var(--st-font-display);
  font-size: clamp(2.75rem, 5vw, 3.5rem);
  font-weight: 600;
  line-height: 0.9;
  color: var(--st-accent-deep);
}
.st-nz-reader__en {
  margin: 0 0 0.25rem;
  font-family: var(--st-font-body);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--st-accent);
}
.st-nz-reader__head h3 {
  margin: 0 0 0.45rem;
  font-size: clamp(1.45rem, 2.4vw, 1.85rem);
  line-height: 1.15;
  color: var(--st-text);
}
.st-nz-reader__slogan {
  margin: 0;
  font-family: var(--st-font-display);
  font-size: clamp(1.05rem, 1.6vw, 1.2rem);
  font-style: italic;
  font-weight: 500;
  line-height: 1.35;
  color: var(--st-text-muted);
}
.st-nz-reader__prose p {
  margin: 0 0 0.9rem;
  font-size: clamp(1rem, 1.35vw, 1.08rem);
  line-height: 1.65;
  color: var(--st-text-muted);
}
.st-nz-reader__prose p:last-child {
  margin-bottom: 0;
}
.st-nz-reader__q {
  margin: 1.5rem 0 0;
  padding: 1.15rem 1.2rem;
  border-radius: var(--st-radius);
  background: rgba(166, 78, 54, 0.08);
  border: 1px solid rgba(166, 78, 54, 0.14);
  font-family: var(--st-font-display);
  font-size: clamp(1.1rem, 1.6vw, 1.28rem);
  font-weight: 500;
  line-height: 1.4;
  color: var(--st-text);
}
.st-nz-reader__q-label {
  display: block;
  margin-bottom: 0.4rem;
  font-family: var(--st-font-body);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--st-accent);
}
@media (prefers-reduced-motion: reduce) {
  .st-nz-card,
  .st-nz-card__cover,
  .st-nz-reader,
  .st-nz-flips__backdrop {
    transition: none;
  }
  .st-nz-reader,
  .st-nz-reader.is-open {
    transform: translate(-50%, -50%);
  }
}

.st-nz-together__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.2fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}
.st-nz-together__inner h2 {
  margin: 0;
  max-width: 14ch;
}
.st-nz-together__copy p:last-child {
  margin-bottom: 0;
}

/* Deep quote + three beats — not two-col prose, not centered CTA */
.st-nz-mirror__inner {
  max-width: 52rem;
}
.st-nz-mirror .st-eyebrow {
  color: var(--st-powder);
}
.st-nz-mirror__quote {
  margin: 0 0 clamp(1.35rem, 3vw, 1.85rem);
  padding: 0 0 0 1.15rem;
  border: 0;
  border-left: 3px solid var(--st-powder);
  max-width: 36rem;
}
.st-nz-mirror__quote h2 {
  margin: 0;
  font-family: var(--st-font-display);
  font-size: clamp(1.45rem, 2.8vw, 2rem);
  font-weight: 600;
  line-height: 1.25;
  color: var(--st-white);
}
.st-nz-mirror__note {
  margin: 0 0 clamp(1.5rem, 3vw, 2rem);
  max-width: 36rem;
  font-size: 1.05rem;
  line-height: 1.6;
  color: rgba(255, 253, 251, 0.82);
}
.st-nz-mirror__beats {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.25rem, 3vw, 2rem);
  border-top: 1px solid rgba(255, 253, 251, 0.18);
  padding-top: clamp(1.35rem, 3vw, 1.85rem);
}
.st-nz-mirror__beats li {
  margin: 0;
  padding: 0;
}
.st-nz-mirror__beats strong {
  display: block;
  margin-bottom: 0.4rem;
  font-family: var(--st-font-display);
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--st-white);
}
.st-nz-mirror__beats span {
  display: block;
  font-size: 0.95rem;
  line-height: 1.5;
  color: rgba(255, 253, 251, 0.78);
}

.st-home-nz__head {
  max-width: 40rem;
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}
.st-home-nz__head h2 {
  margin-bottom: 0.75rem;
}
.st-home-nz__figure {
  margin: 0 0 1.25rem;
}
.st-home-nz__figure img {
  width: 100%;
  height: auto;
}
.st-home-nz__cta {
  margin: 0;
  text-align: center;
}
.st-home-nz__letters {
  list-style: none;
  margin: 0 0 1.75rem;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem 1.25rem;
}
.st-home-nz__letters li {
  display: flex;
  align-items: baseline;
  gap: 0.55rem;
  font-family: var(--st-font-body);
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--st-text-muted);
}
.st-home-nz__letters span {
  font-family: var(--st-font-display);
  font-size: 1.65rem;
  font-weight: 600;
  color: var(--st-accent);
  letter-spacing: 0;
  text-transform: none;
}

.st-sc-pillars__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}
.st-sc-pillars__inner h2 {
  margin: 0;
  max-width: 16ch;
}

@media (max-width: 640px) {
  .st-nz-flips__nav {
    gap: 0.4rem;
  }
  .st-nz-flips__nav-item {
    padding: 0.3rem 0.55rem 0.3rem 0.3rem;
    font-size: 0.72rem;
  }
  .st-nz-flips__nav-en {
    display: none;
  }
  .st-nz-flips__grid {
    grid-template-columns: 1fr;
    max-width: 26rem;
    margin-inline: auto;
    gap: 1rem;
  }
  .st-nz-card {
    min-height: 9.5rem;
  }
  .st-nz-card__hint {
    right: 0.5rem;
    bottom: 0.5rem;
    left: auto;
    font-size: 0.68rem;
  }
  .st-nz-reader {
    width: calc(100vw - 1.25rem);
    max-height: min(90dvh, 40rem);
    border-radius: 10px;
  }
  .st-nz-reader__scroll {
    padding: 1.25rem 1.15rem;
    padding-right: 2.85rem;
  }
  .st-nz-reader__head {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }
  .st-nz-reader__letter {
    font-size: 2.35rem;
  }
}
@media (max-width: 800px) {
  .st-nz-together__inner,
  .st-sc-pillars__inner {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .st-nz-together__inner h2,
  .st-sc-pillars__inner h2 {
    max-width: none;
  }
  .st-nz-mirror__beats {
    grid-template-columns: 1fr;
    gap: 1.15rem;
  }
  .st-home-nz__letters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .st-home-nz__letters {
    grid-template-columns: 1fr;
  }
}

/* Webshop hub */
.st-shop-hero .st-page-hero__inner {
  max-width: 40rem;
}
.st-shop-catalog {
  padding-top: clamp(2rem, 5vw, 3.5rem);
  padding-bottom: clamp(3.5rem, 8vw, 5.5rem);
}
.st-shop-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: clamp(1.25rem, 3vw, 2rem);
}
.st-shop-product {
  display: grid;
  grid-template-columns: minmax(0, 11rem) minmax(0, 1fr);
  gap: clamp(1rem, 2.5vw, 1.75rem);
  align-items: center;
  text-decoration: none;
  color: inherit;
  padding: clamp(1rem, 2.5vw, 1.5rem) 0;
  border-bottom: 1px solid rgba(40, 28, 20, 0.12);
}
.st-shop-list__item:first-child .st-shop-product {
  border-top: 1px solid rgba(40, 28, 20, 0.12);
}
.st-shop-product__media {
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: var(--st-bg-soft);
}
.st-shop-product__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s var(--st-ease);
}
.st-shop-product:hover .st-shop-product__media img {
  transform: scale(1.04);
}
.st-shop-product__body {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
}
.st-shop-product__title {
  font-family: var(--st-font-display);
  font-size: clamp(1.35rem, 2.8vw, 1.85rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--st-text);
}
.st-shop-product__lead {
  font-size: 0.98rem;
  line-height: 1.55;
  color: var(--st-text-muted);
}
.st-shop-product__meta {
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--st-text);
}
.st-shop-product__cta {
  margin-top: 0.2rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--st-accent);
}
.st-shop-product:hover .st-shop-product__cta {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
@media (max-width: 640px) {
  .st-shop-product {
    grid-template-columns: 1fr;
    gap: 0.9rem;
  }
  .st-shop-product__media {
    max-width: 16rem;
  }
}

/* Temporary subpage placeholders */
.st-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: min(60vh, 32rem);
  padding: clamp(3rem, 8vw, 5rem) 0;
  text-align: center;
  background: var(--st-bg-soft);
}
.st-placeholder__msg {
  margin: 0;
  font-family: var(--st-font-display);
  font-size: clamp(1.35rem, 3.5vw, 2rem);
  font-weight: 600;
  color: var(--st-text);
  letter-spacing: -0.02em;
}

/* CookieAdmin brand overrides */
.cookieadmin-poweredby,
.cookieadmin_law_container .cookieadmin-poweredby,
.cookieadmin_modal_footer_links .cookieadmin-poweredby {
  display: none !important;
}
