.sunrise .gate {
  --night: #31121b;
  --sapphire: #744022;
  --violet: #a9503a;
  --aqua: #ffe082;
  --rose: #ff9b4a;
  --ivory: #fff4dd;
  --ink: #3b1220;
  --gold: #e89a24;
  --gold-light: #ffe06b;
  background:
    radial-gradient(circle at 78% 8%, #ffd83d85, transparent 29%),
    linear-gradient(180deg, #6d2a1f 0%, #3d1721 58%, #190e18 100%);
}

.sunrise .ex-nav {
  border-bottom-color: #ffd67c73;
  background: linear-gradient(180deg, #4a1229c9, #8e382b42 72%, transparent);
}

.sunrise .gate-image {
  filter: saturate(1.14) contrast(1.34) brightness(.98);
}

.sunrise .gate-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 72% 23%, #fff8b8f0 0 2%, #ffd436c7 10%, #ff9d2e80 25%, transparent 47%),
    linear-gradient(180deg, #ffd83d70 0%, #ff9a2f52 26%, transparent 62%);
  -webkit-mask-image: linear-gradient(180deg, #000 0 34%, #000b 48%, transparent 72%);
  mask-image: linear-gradient(180deg, #000 0 34%, #000b 48%, transparent 72%);
  mix-blend-mode: screen;
  pointer-events: none;
}

.sunrise .gate-vignette {
  background:
    linear-gradient(90deg, #30101bd8 0%, #4e1a2694 24%, #9d4b1d0d 58%),
    linear-gradient(0deg, #250d18c9 0%, transparent 34%, #ffc33b21 78%),
    radial-gradient(circle at 72% 22%, transparent 15%, #4c23161c 80%);
}

.sunrise .gate-kicker,
.sunrise .gate .ex-label { color: #ffd36b; }
.sunrise .gate h1 em { color: #ffe2a0; }
.sunrise .gate-title-mark strong { -webkit-text-stroke-color: #ffd36b; }
.sunrise .ex-shop-link { background: transparent; }

/* Jaśniejszy podgląd wyłącznie sekcji „Nowy rozdział”. */
.sunrise .next-chapter-teaser {
  background: #15283d;
}

.sunrise .next-chapter-teaser-bg {
  background:
    linear-gradient(90deg, #08162642 0%, #0816260d 48%, #08162642 100%),
    linear-gradient(0deg, #08162657 0%, transparent 46%, #08162624 100%),
    radial-gradient(ellipse at 50% 78%, #ffc76b38 0%, transparent 48%),
    url('../media/concept-exclusive/next-chapter-blueprint-daylight-v1.png') center 62% / cover no-repeat;
  filter: brightness(1.03) saturate(1.04) contrast(1.03);
}

.sunrise .next-chapter-teaser-copy {
  text-shadow: 0 2px 12px #061226e8, 0 4px 30px #061226d9;
}

.sunrise .next-chapter-teaser-copy > span {
  max-width: 1100px;
  color: #fff4dc;
  font-family: Georgia, serif;
  font-size: clamp(25px, 3.1vw, 44px);
  font-style: italic;
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.015em;
  -webkit-text-stroke: .45px #d3a84f;
  paint-order: stroke fill;
  text-transform: uppercase;
}

/* Lepsze proporcje nagłówka i właściwej opowieści w sekcji genezy. */
.sunrise .next-chapter-content h2 {
  max-width: 960px;
  margin-top: 64px;
  font-size: clamp(44px, 4.4vw, 66px);
  line-height: 1.12;
}

.sunrise .next-chapter-content > p:not(.ex-label) {
  max-width: 980px;
  padding: 18px clamp(20px, 2.2vw, 34px);
  font-size: clamp(16px, 1.18vw, 18px);
  line-height: 1.7;
}

@media (max-width: 900px) {
  .sunrise .gate-vignette {
    background:
      linear-gradient(90deg, #35101de8, #7b283553),
      linear-gradient(0deg, #2c0f21e8, transparent 61%);
  }
}

@media (min-width: 421px) and (max-width: 1280px) {
  .sunrise .ex-nav {
    height: 60px;
    grid-template-columns: 106px minmax(0, 1fr) auto;
    grid-template-rows: 1fr;
    grid-template-areas: "brand navigation actions";
    column-gap: 0;
    row-gap: 0;
    padding: 0 1.6vw;
  }
  .sunrise .ex-brand > img {
    width: auto;
    height: 38px;
    object-fit: contain;
  }
  .sunrise .ex-brand { grid-area: brand; }
  .sunrise .ex-nav > nav {
    grid-area: navigation;
    justify-self: center;
    margin-right: clamp(10px, 1.5vw, 24px);
    gap: 2px;
    padding: 0 2px;
    color: var(--gold-light);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(7px, 1.35vw, 14px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: .35px;
  }
  .sunrise .ex-nav > nav a {
    width: auto;
    min-width: 0;
    height: auto;
    min-height: 0;
    padding: 0 3px;
    font-family: inherit;
    font-size: inherit;
    letter-spacing: inherit;
    transform: scaleY(1.16);
    transform-origin: center;
    -webkit-text-stroke: .14px currentColor;
    paint-order: stroke fill;
    text-shadow: 0 0 .4px currentColor;
  }
  .sunrise .ex-nav > .ex-nav-actions {
    grid-area: actions;
    width: auto;
    display: grid;
    grid-template-columns:
      clamp(68px, 11vw, 100px)
      clamp(72px, 12vw, 112px)
      clamp(145px, 23vw, 225px);
    justify-content: end;
    gap: 2px;
  }
  .sunrise .ex-nav > .ex-nav-actions .ex-shop-link,
  .sunrise .ex-nav > .ex-nav-actions .ex-contact-link,
  .sunrise .ex-nav > .ex-nav-actions .ex-radio-link {
    width: 100%;
    min-width: 0;
    height: 42px;
    min-height: 42px;
    padding: 0 6px;
  }
  .sunrise .ex-nav > .ex-nav-actions .ex-shop-link small,
  .sunrise .ex-nav > .ex-nav-actions .ex-contact-link small,
  .sunrise .ex-nav > .ex-nav-actions .ex-radio-link small {
    display: block;
    font-size: clamp(5.5px, .65vw, 7px);
    letter-spacing: clamp(.55px, .12vw, 1.1px);
  }
  .sunrise .ex-nav > .ex-nav-actions .ex-shop-link strong,
  .sunrise .ex-nav > .ex-nav-actions .ex-contact-link strong,
  .sunrise .ex-nav > .ex-nav-actions .ex-radio-link strong {
    display: block;
    color: #67d7d1;
    font-size: clamp(7px, .8vw, 9px);
    letter-spacing: clamp(.55px, .1vw, 1px);
    white-space: nowrap;
  }
  .sunrise .ex-nav > .ex-nav-actions .ex-shop-link b,
  .sunrise .ex-nav > .ex-nav-actions .ex-contact-link b,
  .sunrise .ex-nav > .ex-nav-actions .ex-radio-link b {
    display: block;
    font-size: 7px;
  }
  .sunrise .ex-nav > .ex-nav-actions .ex-radio-link {
    flex-direction: row;
    justify-content: space-between;
    gap: 4px;
  }
  .sunrise .ex-nav > .ex-nav-actions .ex-radio-link > span {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    text-align: left;
  }
  .sunrise .ex-nav > .ex-nav-actions .ex-radio-link strong::after { content: none; }
  .sunrise .gate { padding-top: 92px; }
}

.sunrise .gate-creed {
  width: min(100%, 610px);
  margin: -10px 0 24px;
  padding: 13px 0 14px 18px;
  border-left: 1px solid #ffd36b9c;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  text-shadow: 0 2px 12px #2a0d18, 0 0 18px #2a0d18;
}

.sunrise .gate-creed span,
.sunrise .gate-creed small {
  color: #ffd36b;
  font-size: 7px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 2.4px;
}

.sunrise .gate-creed strong {
  color: #fff5e7;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(20px, 2vw, 31px);
  font-weight: 400;
  line-height: 1.02;
}

.sunrise .gate-creed strong em {
  color: #9debe3;
  font-weight: 400;
}

.sunrise .tower-prologue-title { min-width: 0; }

.sunrise .tower-prologue-title > span {
  display: block;
  margin-bottom: 14px;
  color: var(--gold-light);
  font-size: 8px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 3px;
  text-shadow: 0 0 12px #f4d58d24;
}

@media (min-width: 421px) and (max-width: 600px) {
  .sunrise .ex-nav {
    height: 98px;
    grid-template-columns: 106px minmax(0, 1fr);
    grid-template-rows: 44px 42px;
    grid-template-areas:
      "brand navigation"
      "actions actions";
    row-gap: 4px;
    padding: 4px 2vw;
  }
  .sunrise .ex-nav > nav {
    justify-self: end;
    margin-right: 0;
    gap: clamp(10px, 3vw, 18px);
    font-size: clamp(8px, 2vw, 11px);
  }
  .sunrise .ex-nav > nav a {
    min-height: 40px;
    padding: 0 2px;
  }
  .sunrise .ex-nav > .ex-nav-actions {
    width: 100%;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, 2fr);
    gap: 3px;
  }
  .sunrise .ex-nav > .ex-nav-actions .ex-shop-link,
  .sunrise .ex-nav > .ex-nav-actions .ex-contact-link,
  .sunrise .ex-nav > .ex-nav-actions .ex-radio-link {
    height: 42px;
    min-height: 42px;
    padding: 0 8px;
  }
  .sunrise .gate { padding-top: 128px; }
}

@media (max-width: 420px) {
  .sunrise .ex-nav {
    height: 146px;
    grid-template-columns: 106px minmax(0, 1fr);
    grid-template-rows: 44px 88px;
    grid-template-areas:
      "brand navigation"
      "actions actions";
    row-gap: 4px;
    padding: 5px 2vw;
  }
  .sunrise .ex-brand > img { width: auto; height: 40px; object-fit: contain; }
  .sunrise .ex-nav > nav {
    justify-self: end;
    gap: clamp(6px, 2.5vw, 10px);
    padding: 0;
    color: var(--gold-light);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 9px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .35px;
  }
  .sunrise .ex-nav > nav a {
    width: auto;
    min-width: 0;
    height: auto;
    min-height: 40px;
    padding: 0 2px;
    font: inherit;
    letter-spacing: inherit;
    transform: scaleY(1.16);
    transform-origin: center;
    -webkit-text-stroke: .14px currentColor;
    paint-order: stroke fill;
    text-shadow: 0 0 .4px currentColor;
  }
  .sunrise .ex-nav > .ex-nav-actions {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 42px 42px;
    justify-content: stretch;
    gap: 4px;
  }
  .sunrise .ex-nav > .ex-nav-actions .ex-shop-link,
  .sunrise .ex-nav > .ex-nav-actions .ex-contact-link,
  .sunrise .ex-nav > .ex-nav-actions .ex-radio-link {
    width: 100%;
    min-width: 0;
    height: 42px;
    min-height: 42px;
    padding: 0 9px;
  }
  .sunrise .ex-nav > .ex-nav-actions .ex-shop-link { grid-column: 1; grid-row: 1; }
  .sunrise .ex-nav > .ex-nav-actions .ex-contact-link { grid-column: 2; grid-row: 1; }
  .sunrise .ex-nav > .ex-nav-actions .ex-radio-link { grid-column: 1 / 3; grid-row: 2; }
  .sunrise .ex-nav > .ex-nav-actions .ex-shop-link small,
  .sunrise .ex-nav > .ex-nav-actions .ex-contact-link small,
  .sunrise .ex-nav > .ex-nav-actions .ex-radio-link small {
    font-size: 6.5px;
    letter-spacing: .85px;
  }
  .sunrise .ex-nav > .ex-nav-actions .ex-shop-link strong,
  .sunrise .ex-nav > .ex-nav-actions .ex-contact-link strong {
    font-size: 9px;
    letter-spacing: 1px;
  }
  .sunrise .ex-nav > .ex-nav-actions .ex-radio-link strong {
    font-size: 8.5px;
    letter-spacing: .8px;
  }
  .sunrise .ex-nav > .ex-nav-actions .ex-shop-link b,
  .sunrise .ex-nav > .ex-nav-actions .ex-contact-link b,
  .sunrise .ex-nav > .ex-nav-actions .ex-radio-link b { font-size: 10px; }
  .sunrise .gate { padding-top: 176px; }
  .sunrise .gate-copy { transform: translateY(-28px); }
  .sunrise .gate h1 { margin-bottom: 28px; }
  .sunrise .gate-creed {
    width: 100%;
    margin: -8px 0 18px;
    padding: 10px 0 10px 12px;
    gap: 6px;
  }
  .sunrise .gate-creed span,
  .sunrise .gate-creed small {
    font-size: 5.5px;
    letter-spacing: 1.5px;
  }
  .sunrise .gate-creed strong {
    max-width: 300px;
    font-size: clamp(16px, 4.7vw, 19px);
  }
  .sunrise .gate-lead {
    font-size: 13px;
    line-height: 1.55;
  }
}

/* Final responsive pass: readable controls, shrink-safe grids and a two-column phone gallery. */
.sunrise img,
.sunrise iframe,
.sunrise video { max-width: 100%; }

.sunrise .ex-nav > *,
.sunrise .ex-nav-actions > *,
.sunrise .mystic-video-copy > *,
.sunrise .lineup-head > *,
.sunrise .artifact-copy > *,
.sunrise .archive-edition-head > *,
.sunrise .volume-copy,
.sunrise .broadcast-copy { min-width: 0; }

@media (max-width: 900px) {
  .sunrise .ex-nav > nav a { min-height: 40px; }
  .sunrise .ex-nav > .ex-nav-actions > a { min-height: 42px; }
  .sunrise .history-line article a,
  .sunrise .broadcast-copy a,
  .sunrise .footer-world a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  .sunrise .mystic-video-copy > *,
  .sunrise .lineup-head > *,
  .sunrise .artifact-copy > * {
    max-width: 100%;
    overflow-wrap: break-word;
  }
}

@media (max-width: 560px) {
  .sunrise .ex-gallery {
    columns: 2;
    column-gap: 8px;
  }
  .sunrise .ex-gallery-tail {
    width: calc((100% - 8px) / 2);
  }
  .sunrise .ex-photo {
    margin-bottom: 8px;
    padding: 3px;
    border-color: #f4d58d61;
  }
  .sunrise .ex-photo::before {
    inset: 6px;
    border-color: #ffffff3d;
  }
  .sunrise .ex-photo figcaption {
    left: 7px;
    right: 7px;
    bottom: 7px;
    gap: 3px;
    padding: 5px;
    flex-direction: column;
    align-items: flex-start;
    font-size: 4.5px;
    line-height: 1.15;
    letter-spacing: .6px;
  }
  .sunrise .ex-photo figcaption::before { display: none; }
  .sunrise .ex-photo figcaption b { text-align: left; }
  .sunrise .invitation h2,
  .sunrise .ex-section-head h2,
  .sunrise .chamber-intro h2,
  .sunrise .archive-head h2,
  .sunrise .broadcast h2 { font-size: clamp(38px, 11.5vw, 45px); }
  .sunrise .tower-prologue-head h2 { font-size: clamp(40px, 12.3vw, 48px); }
  .sunrise .oath blockquote { font-size: clamp(34px, 10.7vw, 42px); }
  .sunrise .mystic-video-copy h3,
  .sunrise .lineup-head h3,
  .sunrise .artifact-copy h3 { font-size: clamp(32px, 10vw, 40px); }
  .sunrise .archive-edition-head h3 { font-size: clamp(30px, 9.2vw, 36px); }
  .sunrise .next-chapter { min-height: 850px; }
  .sunrise .next-chapter-content { min-height: 740px; }
  .sunrise .next-chapter-content h2 { font-size: clamp(33px, 10vw, 39px); }
  .sunrise .next-chapter-content > p:not(.ex-label) {
    padding: 14px;
    font-size: clamp(15px, 4vw, 16px);
    line-height: 1.65;
  }
  .sunrise .social-portals { padding: 60px 12px 70px; }
  .sunrise .social-portals-head { margin-bottom: 24px; }
  .sunrise .social-portals h2 { font-size: clamp(35px, 10.5vw, 42px); }
  .sunrise .social-portals-grid { gap: 6px; }
  .sunrise .social-portal {
    min-height: 145px;
    padding: 15px 5px 12px;
    border-color: #f4d58d61;
  }
  .sunrise .social-portal::before {
    inset: 4px;
    border-color: #6bd6cf1c;
  }
  .sunrise .social-portal-icon {
    width: 38px;
    height: 38px;
    margin-bottom: 11px;
  }
  .sunrise .social-portal-icon svg {
    width: 20px;
    height: 20px;
  }
  .sunrise .social-portal small {
    font-size: 4.5px;
    letter-spacing: 1.2px;
  }
  .sunrise .social-portal strong {
    margin-top: 7px;
    font-size: 10px;
  }
  .sunrise .social-portal > b {
    margin-top: 9px;
    font-size: 4.5px;
    letter-spacing: .8px;
  }
  .sunrise .allies { padding: 70px 12px; }
  .sunrise .allies-head { margin-bottom: 32px; }
  .sunrise .allies-head h2 { font-size: clamp(36px, 10.8vw, 44px); }
  .sunrise .ally-media {
    min-height: 205px;
    margin-bottom: 8px;
    padding: 18px;
  }
  .sunrise .ally-radio-mark {
    flex-direction: row;
    gap: 8px;
  }
  .sunrise .ally-radio-mark img {
    width: 108px;
    height: 72px;
  }
  .sunrise .ally-radio-mark img + img { width: 88px; }
  .sunrise .allies-grid {
    gap: 6px;
    margin-top: 6px;
  }
  .sunrise .allies-strategic .ally-card,
  .sunrise .allies-partners .ally-card {
    flex: 0 1 calc((100% - 6px) / 2);
    min-width: 0;
  }
  .sunrise .ally-card {
    min-height: 168px;
    padding: 13px 7px;
    border-color: #f4d58d61;
  }
  .sunrise .ally-card::before { inset: 5px; }
  .sunrise .partner-mark {
    width: 135px;
    max-width: 88%;
    height: 78px;
  }
  .sunrise .ally-card p {
    margin: 10px 0 5px;
    font-size: 5px;
    letter-spacing: 1px;
  }
  .sunrise .ally-card h3 {
    max-width: 100%;
    font-size: clamp(10.5px, 3vw, 13px);
    line-height: 1.08;
    overflow-wrap: break-word;
  }
  .sunrise .whatsapp-group-link {
    right: 10px;
    bottom: 10px;
    width: 68px;
    height: 68px;
  }
}
