/* ==========================================================================
   Game presentation page (Arkhaios) — extends style.css
   ========================================================================== */

/* ---------- Game hero ---------- */
.game-hero{
  position:relative;
  min-height:calc(92vh + 98px);
  margin-top:-98px;
  display:flex;align-items:flex-end;
  padding:248px 0 90px;
  overflow:hidden;
}
.game-hero-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  transform:scale(1.05);
  filter:saturate(1.05);
}
.game-hero-video{
  width:100%;height:100%;
  object-fit:cover;object-position:center;
}
.game-hero-scrim{
  position:absolute;inset:0;
  background:
    linear-gradient(0deg, var(--dark) 0%, rgba(10,10,12,0.75) 35%, rgba(10,10,12,0.35) 65%, rgba(10,10,12,0.55) 100%),
    linear-gradient(90deg, rgba(10,10,12,0.5) 0%, transparent 45%);
}
.game-hero-inner{position:relative;z-index:1;}

.breadcrumb{
  display:flex;align-items:center;gap:10px;
  font-size:0.78rem;color:var(--text-dimmer);
  margin-bottom:28px;
  letter-spacing:0.5px;
}
.breadcrumb a{color:var(--text-dim);transition:color 0.3s;}
.breadcrumb a:hover{color:var(--primary);}
.breadcrumb .current{color:var(--primary);}

.game-hero-status{
  display:inline-flex;align-items:center;gap:10px;
  font-size:0.75rem;letter-spacing:3px;text-transform:uppercase;
  color:var(--text-dim);
  border:1px solid var(--line);
  padding:8px 18px;border-radius:100px;
  margin-bottom:26px;
  background:rgba(10,10,12,0.4);
  backdrop-filter:blur(6px);
}
.game-hero-status .dot{width:7px;height:7px;border-radius:50%;background:var(--primary);box-shadow:0 0 10px var(--primary);}

.game-hero-title{
  font-size:clamp(3.6rem,11vw,9rem);
  color:var(--text);
  line-height:0.9;
  text-shadow:0 10px 50px rgba(0,0,0,0.6);
}
.game-hero-tag{
  color:var(--primary);
  font-size:1rem;letter-spacing:3px;text-transform:uppercase;
  margin-top:18px;
}
.game-hero-lead{
  max-width:560px;
  color:var(--text-dim);
  font-size:1.02rem;line-height:1.85;
  margin-top:20px;
}
.game-hero-cta{display:flex;gap:16px;flex-wrap:wrap;margin-top:38px;}
.game-hero-meta{
  display:flex;gap:12px;flex-wrap:wrap;
  margin-top:34px;
}
.game-hero-meta span{
  font-size:0.72rem;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--text-dim);
  border:1px solid var(--line);
  padding:8px 16px;border-radius:100px;
  background:rgba(10,10,12,0.4);
  backdrop-filter:blur(6px);
  display:flex;align-items:center;gap:8px;
}
.game-hero-meta .platform-badge svg{width:14px;height:14px;fill:currentColor;}

/* ---------- Overview ---------- */
.overview-grid{
  display:grid;grid-template-columns:1fr 0.9fr;gap:70px;align-items:center;
}
.overview-text p{color:var(--text-dim);margin:26px 0 0;font-size:1rem;line-height:1.9;}
.overview-text p + p{margin-top:20px;}
.overview-text .overview-kicker{
  color:var(--text);font-weight:500;
  border-left:2px solid var(--primary);
  padding-left:18px;margin-top:30px;
}
.overview-media{position:relative;}
.overview-media img{
  width:100%;aspect-ratio:4/5;object-fit:cover;
  border-radius:18px;border:1px solid var(--line);
}
.overview-badge{
  position:absolute;left:-30px;bottom:-30px;
  display:flex;align-items:center;gap:16px;
  background:var(--dark-2);border:1px solid var(--line);
  border-radius:14px;padding:20px 26px;
  max-width:290px;
  box-shadow:0 20px 50px rgba(0,0,0,0.5);
}
.overview-badge .icon-treasure-map{font-size:1.6rem;color:var(--primary);}
.overview-badge strong{display:block;font-size:0.92rem;margin-bottom:4px;}
.overview-badge span{color:var(--text-dimmer);font-size:0.78rem;}

/* ---------- Features ---------- */
.game-features{background:var(--dark-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.feature-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.feature-card{
  padding:34px 26px;
  border:1px solid var(--line);border-radius:14px;
  transition:transform 0.3s,border-color 0.3s;
}
.feature-card:hover{transform:translateY(-6px);border-color:var(--primary);}
.feature-icon{
  width:54px;height:54px;border-radius:12px;
  border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
  font-size:1.35rem;color:var(--primary);
  margin-bottom:22px;
}
.feature-icon svg{
  width:24px;height:24px;
  fill:none;stroke:currentColor;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round;
}
.feature-card h4{font-size:1.05rem;margin-bottom:12px;font-weight:500;}
.feature-card p{color:var(--text-dim);font-size:0.88rem;line-height:1.7;}

/* ---------- Gallery ---------- */
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:160px;
  gap:16px;
}
.gallery-item{
  border-radius:14px;overflow:hidden;border:1px solid var(--line);
  display:block;position:relative;
}
.gallery-item img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 0.6s ease,filter 0.4s ease;
  filter:brightness(0.82);
}
.gallery-item:hover img{transform:scale(1.06);filter:brightness(1);}
.gallery-item-lg{grid-column:span 2;grid-row:span 2;}
.gallery-grid > a:nth-child(3){grid-row:span 2;}

/* ---------- Development timeline ---------- */
.dev-timeline{
  max-width:820px;
  position:relative;
  padding-left:44px;
}
.dev-timeline::before{
  content:"";
  position:absolute;left:9px;top:8px;bottom:8px;
  width:1px;
  background:linear-gradient(var(--line),var(--primary) 45%,var(--line) 90%);
}
.dev-step{position:relative;padding-bottom:52px;}
.dev-step:last-child{padding-bottom:0;}
.dev-step-marker{
  position:absolute;left:-44px;top:2px;
  width:19px;height:19px;border-radius:50%;
  border:1px solid var(--line);
  background:var(--dark);
}
.dev-step.is-done .dev-step-marker{border-color:var(--primary);background:var(--primary);box-shadow:0 0 0 4px rgba(255,106,31,0.18);}
.dev-step.is-current .dev-step-marker{
  border-color:var(--primary);
  box-shadow:0 0 0 5px rgba(255,106,31,0.22);
}
.dev-step.is-current .dev-step-marker::after{
  content:"";position:absolute;inset:4px;border-radius:50%;background:var(--primary);
  animation:pulse-dot 1.8s ease-in-out infinite;
}
@keyframes pulse-dot{0%,100%{opacity:1;}50%{opacity:0.35;}}
.dev-step-tag{
  display:inline-block;
  font-size:0.68rem;letter-spacing:2px;text-transform:uppercase;
  color:var(--text-dimmer);
  border:1px solid var(--line);
  padding:4px 12px;border-radius:100px;
  margin-bottom:12px;
}
.dev-step.is-done .dev-step-tag{color:var(--primary);border-color:rgba(255,106,31,0.4);}
.dev-step.is-current .dev-step-tag{color:#050505;background:var(--primary);border-color:var(--primary);font-weight:600;}
.dev-step-body h4{font-size:1.15rem;margin-bottom:10px;letter-spacing:0.3px;}
.dev-step-body p{color:var(--text-dim);font-size:0.9rem;line-height:1.75;max-width:560px;}

/* ---------- Kickstarter banner ---------- */
.kickstarter-banner{
  background:linear-gradient(120deg, rgba(255,106,31,0.12), transparent 55%), var(--dark-2);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.ks-grid{
  display:grid;
  grid-template-columns:auto 1.3fr 1fr;
  gap:44px;align-items:center;
}
.ks-icon{
  width:74px;height:74px;border-radius:50%;
  border:1px solid var(--primary);
  display:flex;align-items:center;justify-content:center;
  color:var(--primary);font-size:1.7rem;
  box-shadow:0 0 40px rgba(255,106,31,0.25);
  flex-shrink:0;
}
.ks-body h2{font-size:clamp(1.6rem,3vw,2.1rem);margin:14px 0 14px;}
.ks-body p{color:var(--text-dim);font-size:0.92rem;line-height:1.8;max-width:520px;}
.ks-form{display:flex;flex-direction:column;gap:12px;}
.ks-form input{
  padding:15px 20px;border-radius:100px;
  border:1px solid var(--line);background:var(--dark);
  color:var(--text);font-size:0.9rem;font-family:inherit;
}
.ks-form input:focus{outline:none;border-color:var(--primary);}
.ks-form input::placeholder{color:var(--text-dimmer);}

/* ---------- Platforms ---------- */
.platform-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:24px;
}
.platform-card{
  padding:36px 30px;
  border:1px solid var(--line);border-radius:16px;
  transition:transform 0.3s,border-color 0.3s;
}
.platform-card:hover{transform:translateY(-6px);border-color:var(--primary);}
.platform-glyph{
  width:52px;height:52px;border-radius:12px;
  border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;color:var(--primary);
  margin-bottom:22px;
}
.platform-glyph svg{width:24px;height:24px;fill:currentColor;}
.platform-card h4{font-size:1.1rem;margin-bottom:10px;}
.platform-card p{color:var(--text-dim);font-size:0.88rem;line-height:1.7;margin-bottom:20px;}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .overview-grid{grid-template-columns:1fr;}
  .overview-media{order:-1;}
  .overview-badge{position:static;margin-top:20px;max-width:none;}
  .feature-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-item-lg{grid-column:span 2;}
  .ks-grid{grid-template-columns:1fr;text-align:center;}
  .ks-icon{margin:0 auto;}
  .ks-body p{margin-left:auto;margin-right:auto;}
  .ks-form{max-width:420px;margin:0 auto;}
  .platform-grid{grid-template-columns:1fr;}
}
@media(max-width:760px){
  .game-hero{min-height:auto;padding-top:218px;}
  .feature-grid{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:130px;}
  .gallery-item-lg{grid-column:span 2;grid-row:span 1;aspect-ratio:16/10;}
  .dev-timeline{padding-left:34px;}
  .dev-step-marker{left:-34px;}
}
