.countdown-section {
  padding: 35px 7%;
  border-top: 1px solid #694426;
  border-bottom: 1px solid #694426;
  background:
    radial-gradient(ellipse at left, #49302080, transparent 65%), #1b1613;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  flex-wrap: wrap;
}
.countdown-section .eyebrow {
  font-size: 10px;
  letter-spacing: 2px;
}
.countdown-section h2 {
  font-size: 25px;
  margin: 10px 0 4px;
  letter-spacing: 0;
}
.countdown-section p {
  font-size: 12px;
  color: #b6a18d;
  margin: 0;
}
.countdown-clock {
  display: flex;
  align-items: center;
  gap: 18px;
}
.countdown-clock > div {
  text-align: center;
  min-width: 65px;
}
.countdown-clock strong {
  font:
    38px/1.4 Cinzel,
    Georgia,
    serif;
  color: #f2c99e;
  font-variant-numeric: tabular-nums;
  display: block;
  min-width: 2ch;
}
.countdown-clock span {
  display: block;
  font-size: 9px;
  letter-spacing: 1.5px;
  color: #b6a18d;
}
.countdown-clock > b {
  color: #775436;
  font-weight: 400;
}
.countdown-status {
  flex-basis: 100%;
  color: var(--fire) !important;
}
.media-section {
  padding-top: 65px;
  padding-bottom: 65px;
}
.trailer {
  aspect-ratio: 16/9;
  border: 1px solid #744b2c;
  background: #070708;
}
.trailer iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.video-caption {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 0;
  font-size: 13px;
  color: var(--muted);
}
.video-caption a {
  color: var(--fire);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.demo-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 22px;
}
.demo-grid > a {
  border: 1px solid var(--border);
  padding: 22px;
  background: #191719;
  transition:
    border-color 0.2s,
    transform 0.2s;
}
.demo-grid > a:hover {
  border-color: #a56537;
  transform: translateY(-4px);
}
.demo-grid small {
  font-size: 9px;
  letter-spacing: 1.5px;
  color: #b59477;
}
.demo-grid h3 {
  font-size: 19px;
  margin: 12px 0;
}
.demo-grid p {
  font-size: 13px;
  min-height: 45px;
}
.demo-grid span {
  font-size: 11px;
  color: #8d8883;
}
.detailed-guide {
  border-top: 1px solid var(--border);
  padding-top: 65px;
}
.guide-jump {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 28px;
}
.guide-jump a,
.gallery-filters button {
  border: 1px solid #554333;
  padding: 8px 15px;
  background: #221a15;
  color: #ccb096;
  font-size: 13px;
  transition:
    border-color 0.2s,
    background 0.2s;
}
.guide-jump a:hover,
.gallery-filters button:hover {
  background: #38251a;
  border-color: var(--fire);
}
.guide-article {
  padding: 40px 0;
  border-bottom: 1px solid var(--border);
  scroll-margin-top: 35px;
}
.guide-article:last-child {
  border: 0;
  padding-bottom: 0;
}
.article-title {
  display: flex;
  gap: 22px;
  align-items: flex-start;
  margin-bottom: 24px;
}
.article-title > span {
  border: 1px solid #725035;
  color: var(--fire);
  font:
    14px Cinzel,
    Georgia,
    serif;
  flex: none;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  margin-top: 5px;
}
.article-title h3 {
  font-size: 25px;
  line-height: 1.5;
  margin: 0;
}
.article-title p {
  margin: 6px 0 0;
  font-size: 15px;
}
.table-scroll {
  overflow-x: auto;
  width: 100%;
  border: 1px solid var(--border);
}
table {
  border-collapse: collapse;
  width: 100%;
  font-size: 14px;
  text-align: left;
  background: #171719;
}
caption {
  text-align: left;
  padding: 15px 20px;
  color: #c6b9ad;
  background: #211b17;
  font-size: 13px;
  border-bottom: 1px solid var(--border);
}
th,
td {
  padding: 15px 20px;
  border-bottom: 1px solid #35302a;
  font-weight: 400;
  white-space: nowrap;
}
thead th {
  font-size: 12px;
  letter-spacing: 0.4px;
  color: #b99b80;
  background: #1d1916;
}
tbody th {
  color: #ebe0d5;
}
tbody td {
  color: #bbb0a6;
}
tbody tr:last-child > * {
  border-bottom: 0;
}
tbody tr:hover {
  background: #251c16;
}
.xp-layout {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 25px;
}
.xp-calculator {
  padding: 28px;
  background:
    radial-gradient(ellipse at right bottom, #56331c55, transparent), #1a1613;
  border: 1px solid #694729;
}
.xp-calculator label {
  display: block;
  font-size: 15px;
  color: #d4b79a;
}
.xp-calculator input {
  margin-top: 15px;
  width: 100%;
  background: #101012;
  border: 1px solid #5a4431;
  color: var(--text);
  padding: 12px 16px;
  font:
    18px Inter,
    Arial,
    sans-serif;
}
.xp-calculator input:focus {
  outline: 2px solid var(--fire);
  outline-offset: 2px;
}
.xp-calculator output {
  display: block;
  font:
    60px/1.25 Cinzel,
    Georgia,
    serif;
  color: var(--fire);
  margin: 18px 0;
}
.xp-calculator p {
  font-size: 14px;
}
.xp-calculator small {
  display: block;
  color: #a49281;
  font-size: 12px;
}
.guide-note {
  font-size: 13px !important;
  color: #b39b86 !important;
  line-height: 1.8;
}
.guide-article code {
  background: #302318;
  padding: 3px 8px;
  color: #ffba80;
  font-size: 14px;
}
.master-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.master-stats > div {
  padding: 20px;
  background: #1e1915;
  border: 1px solid #4b3829;
}
.master-stats small {
  display: block;
  font-size: 9px;
  letter-spacing: 1px;
  color: #a88c74;
}
.master-stats strong {
  display: block;
  font:
    30px/1.5 Cinzel,
    Georgia,
    serif;
  margin-top: 8px;
}
.master-stats em {
  font:
    14px Inter,
    Arial,
    sans-serif;
}
.rune-stats {
  display: flex;
  gap: 45px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 25px;
}
.rune-stats strong {
  display: block;
  font:
    40px Cinzel,
    Georgia,
    serif;
  color: var(--fire);
}
.rune-stats small {
  font-size: 10px;
  letter-spacing: 1px;
  color: var(--muted);
}
.simple-steps {
  color: #b6ada5;
  padding-left: 22px;
  font-size: 15px;
}
.simple-steps li {
  margin: 9px 0;
}
.events-section {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: radial-gradient(ellipse at top right, #5c311525, transparent 55%);
}
.event-callout {
  display: flex;
  gap: 25px;
  padding: 25px 30px;
  border: 1px solid #785032;
  background: #2b201780;
  margin-bottom: 28px;
}
.event-callout > span {
  color: var(--fire);
  font-size: 27px;
}
.event-callout h3 {
  font-size: 20px;
  margin: 0 0 10px;
}
.event-callout p {
  margin: 0;
  font-size: 14px;
}
.event-callout strong {
  color: #eac9a8;
}
.event-times {
  padding-top: 25px;
}
.event-times h3 {
  font-size: 20px;
}
.hour-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.hour-chips span {
  border: 1px solid #5a4432;
  background: #211913;
  padding: 8px 15px;
  color: #ddb992;
  font-size: 14px;
}
.launch-event {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 35px;
  border-top: 1px solid var(--border);
  margin-top: 28px;
  padding-top: 28px;
}
.launch-event small {
  color: var(--fire);
  font-size: 10px;
  letter-spacing: 2px;
}
.launch-event h3 {
  font-size: 26px;
  margin: 12px 0 7px;
}
.launch-event p {
  margin: 0;
  font-size: 14px;
}
.gallery-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 25px;
}
.gallery-filters button[aria-pressed="true"] {
  background: #593418;
  color: #ffce9e;
  border-color: var(--fire);
}
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.gallery-item {
  padding: 0;
  text-align: left;
  background: #181618;
  border: 1px solid var(--border);
  overflow: hidden;
  transition:
    border-color 0.2s,
    transform 0.3s;
}
.gallery-item:hover {
  border-color: #b07c4b;
  transform: translateY(-4px);
}
.gallery-item img {
  width: 100%;
  height: 230px;
  object-fit: contain;
  display: block;
  background: #111;
  transition: transform 0.4s;
}
.gallery-item:hover img {
  transform: scale(1.03);
}
.gallery-caption {
  display: block;
  padding: 18px 20px;
  border-top: 1px solid var(--border);
}
.gallery-caption strong {
  display: block;
  font:
    17px Cinzel,
    Georgia,
    serif;
}
.gallery-caption small {
  display: block;
  font-size: 11px;
  color: #ad9987;
  margin-top: 7px;
}
.gallery-empty {
  grid-column: 1/-1;
  text-align: center;
  border: 1px dashed #785233;
  padding: 45px;
  background: #191512;
}
.gallery-empty > span {
  font-size: 40px;
  color: var(--fire);
}
.gallery-empty h3 {
  font-size: 24px;
  margin: 16px 0;
}
.gallery-empty p {
  max-width: 600px;
  margin: 0 auto 25px;
}
.faq-section {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.faq-list details {
  border-bottom: 1px solid #36302a;
}
.faq-list summary {
  position: relative;
  cursor: pointer;
  padding: 22px 36px 22px 0;
  font-size: 16px;
  list-style: none;
}
.faq-list summary::-webkit-details-marker {
  display: none;
}
.faq-list summary:after {
  content: "＋";
  position: absolute;
  right: 0;
  top: 18px;
  font-size: 24px;
  color: var(--fire);
}
.faq-list details[open] summary:after {
  content: "−";
}
.faq-list details[open] summary {
  color: var(--fire);
}
.faq-list summary:focus-visible {
  outline: 2px solid var(--fire);
  outline-offset: 3px;
}
.faq-list details p {
  margin-top: 0;
  max-width: 850px;
  padding-right: 30px;
}
.faq-list details a {
  display: inline-block;
  color: var(--fire);
  margin-bottom: 24px;
  font-size: 14px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.news-grid article {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--border);
  background: linear-gradient(140deg, #261b15, #171719);
  padding: 28px;
}
.news-meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 9px;
  letter-spacing: 1px;
}
.news-meta span {
  color: var(--fire);
}
.news-meta time {
  color: #9d8a79;
}
.news-grid h3 {
  font-size: 23px;
  line-height: 1.5;
  margin: 24px 0 12px;
}
.news-grid p {
  font-size: 14px;
  margin: 0 0 25px;
}
.news-grid a {
  color: var(--fire);
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 4px;
  margin-top: auto;
}
.footer-links {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.footer-links a {
  font-size: 12px;
  color: var(--muted);
}
@media (max-width: 1000px) {
  .countdown-section {
    padding: 30px 6%;
  }
  .countdown-section h2 {
    font-size: 21px;
  }
  .countdown-clock {
    gap: 10px;
  }
  .countdown-clock strong {
    font-size: 30px;
  }
  .countdown-clock > div {
    min-width: 55px;
  }
  .demo-grid {
    grid-template-columns: 1fr 1fr;
  }
  .master-stats {
    grid-template-columns: 1fr 1fr;
  }
  .gallery-item img {
    height: 190px;
  }
  .news-grid article {
    padding: 22px;
  }
  .news-grid h3 {
    font-size: 20px;
  }
  header nav {
    gap: 14px;
  }
}
@media (max-width: 700px) {
  .countdown-section {
    justify-content: center;
    text-align: center;
    padding: 28px 6%;
  }
  .countdown-section .eyebrow {
    justify-content: center;
  }
  .countdown-section h2 {
    font-size: 21px;
  }
  .countdown-clock {
    gap: 10px;
    justify-content: center;
    width: 100%;
  }
  .countdown-clock strong {
    font-size: 31px;
  }
  .countdown-clock > div {
    min-width: 50px;
  }
  .countdown-clock span {
    font-size: 8px;
    letter-spacing: 1px;
  }
  .video-caption {
    font-size: 12px;
    flex-wrap: wrap;
  }
  .demo-grid {
    gap: 12px;
  }
  .demo-grid > a {
    padding: 18px;
  }
  .demo-grid h3 {
    font-size: 17px;
  }
  .demo-grid p {
    font-size: 14px;
    min-height: 0;
  }
  .demo-grid span {
    font-size: 10px;
  }
  .article-title {
    gap: 14px;
  }
  .article-title h3 {
    font-size: 22px;
  }
  .xp-layout {
    grid-template-columns: 1fr;
  }
  .master-stats {
    gap: 10px;
  }
  .master-stats > div {
    padding: 16px;
  }
  .master-stats strong {
    font-size: 27px;
  }
  .master-stats small {
    font-size: 8px;
  }
  .rune-stats {
    justify-content: space-between;
    gap: 12px;
  }
  .rune-stats strong {
    font-size: 34px;
  }
  .rune-stats small {
    font-size: 8px;
  }
  .event-callout {
    padding: 22px;
    gap: 15px;
  }
  .event-callout h3 {
    font-size: 18px;
  }
  .launch-event {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .gallery-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .gallery-item img {
    height: 170px;
  }
  .gallery-caption {
    padding: 14px;
  }
  .gallery-caption strong {
    font-size: 15px;
  }
  .gallery-caption small {
    font-size: 10px;
  }
  .gallery-filters button {
    font-size: 12px;
  }
  .faq-list summary {
    font-size: 16px;
    line-height: 1.6;
  }
  .news-grid {
    grid-template-columns: 1fr;
  }
  .news-meta {
    font-size: 10px;
  }
  .news-grid h3 {
    font-size: 23px;
  }
  table {
    font-size: 13px;
  }
  th,
  td {
    padding: 13px 16px;
  }
  .gallery-empty {
    padding: 30px 20px;
  }
  .gallery-empty h3 {
    font-size: 21px;
  }
  .countdown-status {
    line-height: 1.7 !important;
  }
}
.countdown-section .eyebrow,
.countdown-clock span,
.demo-grid small,
.demo-grid span,
.master-stats small,
.rune-stats small,
.gallery-caption small {
  font-size: 12px;
  letter-spacing: 0.7px;
}
.guide-jump a,
.gallery-filters button,
thead th {
  font-size: 14px;
}
.news-meta {
  font-size: 12px;
  letter-spacing: 0.3px;
}
.news-meta time {
  font-size: 14px;
  letter-spacing: 0;
}
.countdown-section p {
  font-size: 14px;
}
.guide-article p,
.faq-list details p {
  font-size: 16px;
}
.countdown-clock > div {
  min-width: 70px;
}
@media (max-width: 1100px) {
  header {
    height: auto;
    min-height: 94px;
    flex-wrap: wrap;
    gap: 12px;
    padding: 15px 5%;
  }
  header nav {
    order: 3;
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
    gap: 18px;
  }
}
@media (max-width: 700px) {
  .countdown-clock {
    gap: 6px;
  }
  .countdown-clock > div {
    min-width: 58px;
  }
  .countdown-clock span {
    font-size: 11px;
    letter-spacing: 0;
  }
  .master-stats small,
  .rune-stats small {
    font-size: 11px;
    letter-spacing: 0;
  }
  .gallery-caption small {
    font-size: 12px;
  }
  .demo-grid small {
    font-size: 11px;
  }
  .guide-jump a,
  .gallery-filters button {
    font-size: 14px;
  }
  table {
    font-size: 14px;
  }
  .news-meta {
    font-size: 12px;
  }
  .news-meta time {
    font-size: 14px;
  }
}
