/* Homepage section polish: quality, brand manifest, FAQ/preorder. */
.marquee-track {
  display: flex;
  width: max-content;
  animation: zarMarqueeLoop 34s linear infinite;
  will-change: transform;
}
.marquee-track span {
  flex: 0 0 auto;
}
@keyframes zarMarqueeLoop {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-16.666666%,0,0); }
}
.worlds .container {
  max-width: min(1640px, calc(100% - 48px));
}
.worlds .section-head {
  align-items: start;
}
.worlds .head-left .eyebrow {
  margin-bottom: clamp(20px, 2.4vw, 34px);
}
.worlds .head-left .giant {
  margin: 0;
  max-width: 11.5ch;
  line-height: 1.08;
  letter-spacing: -.026em;
}
.worlds .head-left .giant br {
  content: "";
}
.worlds .head-left .giant .outline-light {
  display: inline-block;
  margin-top: .04em;
}
.worlds-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(16px, 1.7vw, 28px);
}
.world {
  min-height: clamp(390px, 34vw, 530px);
}
.world:nth-child(1),
.world:nth-child(2),
.world:nth-child(3) {
  grid-column: span 2;
}
.world:nth-child(4),
.world:nth-child(5) {
  grid-column: span 3;
}
.world-media,
.world-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.world-media img {
  object-fit: cover;
  padding: 0;
  transform: none;
}
.world::after {
  background:
    linear-gradient(180deg, rgba(0,0,0,.04) 0%, rgba(0,0,0,.15) 35%, rgba(0,0,0,.82) 100%),
    linear-gradient(90deg, rgba(0,0,0,.34), transparent 48%);
}
.world-label {
  left: clamp(16px, 1.6vw, 24px);
  right: clamp(16px, 1.6vw, 24px);
  bottom: clamp(16px, 1.6vw, 24px);
  max-width: min(430px, calc(100% - 32px));
  padding: clamp(14px, 1.6vw, 22px);
}
.world-name {
  font-size: clamp(27px, 2.45vw, 44px);
  overflow-wrap: anywhere;
  hyphens: auto;
}
.world-tag {
  max-width: 34ch;
}
.world-patriot .crop-patriot-life {
  object-fit: cover;
  object-position: 50% 50%;
  filter: saturate(.92) contrast(1.08) brightness(.82);
}
.world-patriot .world-label {
  border-color: rgba(242,101,34,.30);
  background: linear-gradient(180deg, rgba(20,20,20,.60), rgba(42,8,7,.88));
}
@media (max-width: 1180px) {
  .worlds-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .world,
  .world:nth-child(1),
  .world:nth-child(2),
  .world:nth-child(3),
  .world:nth-child(4),
  .world:nth-child(5) { grid-column: auto; }
}
@media (max-width: 680px) {
  .worlds .container { max-width: min(100% - 28px, 1640px); }
  .worlds .head-left .giant { line-height: 1.1; }
  .worlds-grid { grid-template-columns: 1fr; }
  .world { min-height: 340px; }
}

.quality {
  position: relative;
  overflow: hidden;
}
.quality::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 18%, rgba(242,101,34,.16), transparent 34%),
    linear-gradient(180deg, rgba(20,20,20,.05), rgba(20,20,20,.18));
}
.quality .container {
  position: relative;
  z-index: 1;
}
.quality-grid {
  grid-template-columns: minmax(360px,.9fr) minmax(0,1.12fr);
  align-items: center;
}
.quality-media {
  min-height: clamp(430px, 50vw, 650px);
  border-radius: 24px;
  border-color: rgba(243,239,230,.18);
  box-shadow: 0 34px 90px -64px #000;
}
.quality-media::after {
  content: "Materiał\A Detal\A Charakter";
  white-space: pre-line;
  position: absolute;
  left: clamp(18px, 3vw, 34px);
  top: clamp(18px, 3vw, 34px);
  width: min(78%, 440px);
  max-width: calc(100% - 2 * clamp(18px, 3vw, 34px));
  padding: clamp(16px, 2.4vw, 26px) clamp(18px, 2.8vw, 32px) clamp(18px, 2.8vw, 30px);
  border: 1px solid rgba(243,239,230,.14);
  border-radius: 18px;
  background: rgba(13,13,13,.68);
  backdrop-filter: blur(6px);
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 54px);
  font-weight: 900;
  line-height: .94;
  letter-spacing: -.025em;
  text-transform: uppercase;
  color: var(--warm-ivory);
  text-shadow: 0 2px 20px rgba(0,0,0,.74);
}
.quality-media img.crop-quality-product {
  object-position: 50% 52%;
  transform: scale(1.02);
  filter: saturate(.9) contrast(1.08) brightness(.88);
}
.quality-caption {
  left: clamp(18px, 3vw, 34px);
  right: clamp(18px, 3vw, 34px);
  bottom: clamp(18px, 3vw, 34px);
  padding: 11px 14px;
  border: 1px solid rgba(243,239,230,.13);
  border-radius: 12px;
  background: rgba(13,13,13,.76);
  line-height: 1.35;
}
.quality-body > .eyebrow,
.manifest > .container > .eyebrow,
.faq-col > .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  margin-bottom: clamp(16px, 2vw, 24px);
  padding: 8px 12px 8px 9px;
  border-radius: 999px;
  font-family: var(--font-display);
  font-weight: 900;
  font-stretch: 74%;
  font-size: clamp(12px, .92vw, 15px);
  line-height: 1;
  letter-spacing: .16em;
  background: rgba(243,239,230,.055);
  border: 1px solid rgba(243,239,230,.14);
}
.quality-body > .eyebrow::before,
.manifest > .container > .eyebrow::before,
.faq-col > .eyebrow::before {
  content: "";
  width: 26px;
  height: 3px;
  border-radius: 999px;
  background: var(--ember-orange);
  box-shadow: 0 0 18px rgba(242,101,34,.36);
}
.manifest > .container > .eyebrow {
  color: rgba(20,20,20,.76);
  background: rgba(20,20,20,.045);
  border-color: rgba(20,20,20,.12);
}
.quality-title {
  max-width: 10.5ch;
  font-size: clamp(44px, 6vw, 88px);
  letter-spacing: -.035em;
}
.quality-title .ember-text {
  display: block;
}
.quality-copy {
  max-width: 58ch;
  margin-top: clamp(20px, 2.4vw, 28px);
  font-size: clamp(16px, 1.4vw, 19px);
}
.spec-list {
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: clamp(18px, 2.4vw, 28px) clamp(20px, 3vw, 34px);
  margin-top: clamp(34px, 4vw, 54px);
}
.spec {
  min-height: 148px;
  padding-top: 16px;
}
.spec h3,
.spec strong {
  display: block;
  margin: 6px 0 8px;
  font-family: var(--font-display);
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1;
  letter-spacing: -.01em;
  text-transform: uppercase;
  color: var(--warm-ivory);
}
.spec p {
  max-width: 31ch;
  font-size: 15px;
  line-height: 1.5;
}

.manifest {
  padding-block: clamp(92px, 11vw, 150px);
}
.manifest .container {
  position: relative;
  z-index: 1;
}
.manifest-mark {
  right: -8%;
  height: 168%;
  opacity: .045;
}
.manifest-statement {
  max-width: 26ch;
  font-size: clamp(34px, 4.4vw, 64px);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.micro-row {
  max-width: 980px;
  gap: 12px 28px;
  margin-top: clamp(34px, 4vw, 52px);
  padding-top: 24px;
}
.micro-row li {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  letter-spacing: .115em;
  color: rgba(20,20,20,.72);
}
.micro-row li::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--ember-orange);
  flex: 0 0 7px;
}

.faq {
  overflow: hidden;
}
.faq-grid {
  position: relative;
  z-index: 4;
  grid-template-columns: minmax(0,.85fr) minmax(420px,1fr);
  align-items: stretch;
}
.faq-title {
  margin-bottom: clamp(24px, 3vw, 40px);
}
.faq-item summary {
  align-items: center;
  padding: 22px 0;
  font-size: clamp(20px, 2.1vw, 30px);
  line-height: 1;
  letter-spacing: -.01em;
}
.faq-item p {
  max-width: 58ch;
  padding: 0 54px 24px 0;
  font-size: 15px;
  line-height: 1.62;
}
.faq-plus::before {
  content: "+";
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  font-family: var(--font-display);
  font-weight: 900;
  line-height: 1;
}
.faq-item[open] .faq-plus::before {
  content: "";
  width: 12px;
  height: 2px;
  border-radius: 999px;
  background: var(--core-black);
}
.preorder {
  min-height: 100%;
}
.preorder-inner {
  position: relative;
  min-height: 100%;
  grid-template-columns: minmax(0,.92fr) auto;
  grid-template-areas:
    "kicker title"
    "copy title"
    "note cta";
  gap: 24px clamp(24px, 4vw, 48px);
  align-items: end;
  overflow: hidden;
  border-radius: 24px;
  background:
    radial-gradient(circle at 92% 16%, rgba(242,101,34,.18), transparent 34%),
    linear-gradient(135deg, rgba(243,239,230,.07), rgba(243,239,230,.025));
}

.preorder-kicker { grid-area: kicker; align-self: start; }
.preorder-title {
  position: relative;
  z-index: 1;
  grid-area: title;
  max-width: 5.6ch;
  justify-self: end;
  align-self: start;
  font-size: clamp(46px, 6.6vw, 92px);
  letter-spacing: -.035em;
}
.preorder-copy {
  grid-area: copy;
  max-width: 39ch;
  font-size: clamp(16px, 1.35vw, 19px);
}
.preorder-note { grid-area: note; max-width: 36ch; }
.preorder .btn { grid-area: cta; position: relative; z-index: 1; align-self: end; white-space: normal; text-align: center; }

@media (max-width: 980px) {
  .quality-grid, .faq-grid { grid-template-columns: 1fr; }
  .quality-title { max-width: 12ch; }
  .preorder-inner {
    grid-template-columns: 1fr;
    grid-template-areas: "kicker" "title" "copy" "cta" "note";
  }
  .preorder-title { justify-self: start; max-width: 8ch; }
}
/* About page focused fixes: tighter specs, better image fit, more readable H1 leading. */
.page-hero-title {
  line-height: 1.08;
}
.page-hero-about::after {
  content: ""!important;
  right: clamp(-110px, -6vw, -46px);
  bottom: clamp(-170px, -11vw, -82px);
  width: clamp(340px, 40vw, 720px);
  aspect-ratio: 1591 / 1975;
  background: rgba(243,239,230,.055);
  -webkit-mask: url("../img/logo.svg") center / contain no-repeat;
  mask: url("../img/logo.svg") center / contain no-repeat;
  opacity: 1;
  color: transparent!important;
}
.about-media {
  align-self: start;
  aspect-ratio: 4 / 5;
  max-height: 680px;
}
.about-media img {
  object-position: 52% 48%;
}
.about-spec {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 1.8vw, 22px);
  margin-top: clamp(18px, 2.4vw, 28px);
}
.about-spec .spec {
  min-height: 0;
  padding-top: 12px;
}
.about-spec .spec-no {
  display: block;
  margin-bottom: 8px;
}
.about-spec .spec h3,
.about-spec .spec strong {
  margin: 0 0 6px;
  color: var(--core-black);
  font-size: clamp(18px, 1.5vw, 24px);
}
.about-spec .spec p {
  max-width: 34ch;
  margin: 0;
  font-size: 14px;
  line-height: 1.42;
}

@media (max-width: 980px) {
  .about-spec {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 680px) {
  .quality-grid { grid-template-columns: 1fr; }
  .quality-media { min-height: 360px; }
  .quality-media::after { font-size: clamp(28px, 11vw, 44px); }
  .spec-list { grid-template-columns: 1fr; }
  .about-media { aspect-ratio: 16 / 11; }
  .page-hero-about::after {
    right: -100px;
    bottom: -150px;
    width: 320px;
    height: auto;
  }
  .manifest-statement { font-size: clamp(30px, 10vw, 44px); }
  .micro-row { display: grid; gap: 12px; }
  .faq-item p { padding-right: 0; }
}
