/* Runewards — home page styles. Transcribed from "Runewards Home.dc.html". */
main{overflow:hidden}

/* ─── Hero ───────────────────────────────────────────────── */
.hero{position:relative;min-height:min(92vh,860px);display:flex;align-items:center;padding:130px clamp(20px,5vw,64px) 90px;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:18% 30%;transform:scale(1.06);animation:rw-drift 78s ease-in-out infinite alternate}
.hero-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(13,6,4,.94) 0%,rgba(13,6,4,.74) 42%,rgba(13,6,4,.26) 72%,rgba(13,6,4,.5) 100%),linear-gradient(0deg,#140A08 0%,rgba(20,10,8,0) 32%)}
.hero-inner{max-width:1320px;margin:0 auto;width:100%}
.hero-copy{min-width:0;max-width:660px}
.hero-kicker{margin:0 0 22px;font:600 11px/1 var(--fbody);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-core)}
.hero-wordmark{width:min(560px,100%);margin:0 0 26px;animation:rw-rise 1s cubic-bezier(.2,.7,.2,1) both}
.hero-lede{margin:0 0 14px;max-width:34ch;font:400 clamp(20px,2.3vw,28px)/1.42 var(--fbody);color:var(--ink);text-wrap:pretty}
.hero-tag{margin:0 0 34px;font:700 15px/1 var(--fdisp);letter-spacing:.14em;color:var(--gold);text-transform:uppercase}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.btn-hero-gem{display:inline-flex;align-items:center;gap:9px;padding:17px 26px;border-radius:6px;background:var(--gem);color:#08201F;font:700 13px/1 var(--fbody);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;animation:rw-glow 5s ease-in-out infinite;transition:transform .16s}
.btn-hero-gem:hover{transform:translateY(-2px);color:#08201F}
.btn-hero-ghost{display:inline-flex;align-items:center;gap:9px;padding:17px 24px;border-radius:6px;border:1px solid var(--line);background:rgba(36,21,18,.6);color:var(--ink);font:600 13px/1 var(--fbody);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:transform .16s,border-color .16s}
.btn-hero-ghost:hover{transform:translateY(-2px);border-color:var(--gold-core);color:var(--ink)}
.hero-see{display:inline-flex;align-items:center;gap:8px;padding:17px 4px;color:var(--ink-dim);font:600 13px/1 var(--fbody);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid rgba(240,192,0,.35)}
.hero-see:hover{color:var(--gold)}
.hero-see svg{width:12px;height:12px;fill:currentColor}
.hero-note{margin:26px 0 0;font:400 13px/1.6 var(--fbody);color:var(--ink-dim)}
.hero-stats{position:absolute;bottom:0;left:0;right:0;border-top:1px solid var(--line);background:rgba(16,8,6,.72);backdrop-filter:blur(6px)}
.hero-stats-inner{max-width:1320px;margin:0 auto;padding:0 clamp(20px,5vw,64px);display:flex;flex-wrap:wrap}
.stat{flex:1 1 150px;padding:18px 8px 18px 0;display:flex;align-items:baseline;gap:9px}
.stat-n{font:500 22px/1 var(--fmono);color:var(--gold)}
.stat-l{font:600 11px/1.3 var(--fbody);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}

/* ─── The mechanic ───────────────────────────────────────── */
#mechanic{scroll-margin-top:92px}
.mechanic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(28px,5vw,72px);align-items:start;margin-bottom:clamp(36px,5vw,58px)}
.mechanic-grid h2{margin:0 0 20px;text-wrap:balance}
.mechanic-p{margin:0 0 16px;max-width:46ch;color:var(--ink);text-wrap:pretty}
.mechanic-p-dim{margin:0;max-width:46ch;color:var(--ink-dim);text-wrap:pretty}
.mechanic-quote{margin:0 0 22px;padding:24px 26px;border-left:2px solid var(--gold-core);background:rgba(36,21,18,.55)}
.mechanic-quote p{margin:0 0 12px;font:400 19px/1.5 var(--fbody);color:var(--ink);text-wrap:pretty}
.mechanic-quote footer{font:400 12px/1.4 var(--fbody);letter-spacing:.06em;color:var(--ink-dim)}

/* ─── Factions ───────────────────────────────────────────── */
#factions{scroll-margin-top:92px}
.fac-head{display:flex;flex-wrap:wrap;gap:clamp(20px,4vw,56px);align-items:flex-end;justify-content:space-between;margin-bottom:clamp(28px,4vw,44px)}
.fac-head h2{max-width:20ch;text-wrap:balance}
.fac-head p{margin:0;max-width:44ch;color:var(--ink);text-wrap:pretty}
.fac-grid{display:grid;gap:clamp(18px,3vw,34px);align-items:start;grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr)}
.fac-map{position:relative;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#0C0605;aspect-ratio:16/9}
.fac-map > img{width:100%;height:100%;object-fit:fill;filter:saturate(.42) brightness(.46) contrast(1.04)}
.fac-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(115% 90% at 50% 45%,rgba(20,10,8,0) 35%,rgba(20,10,8,.55) 78%,#140A08 100%)}
.fac-spots{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.fac-spot{position:absolute;transform:translate(-50%,-50%);border-radius:50%;transition:opacity .4s;backdrop-filter:saturate(3.2) brightness(2.05) contrast(1.06);opacity:0}
.fac-spot.is-active{opacity:1}
.fac-pins{position:absolute;inset:0}
.fac-pin{position:absolute;transform:translate(-50%,-50%);background:none;border:0;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:7px;transition:opacity .3s;opacity:.62}
.fac-pin.is-active{opacity:1}
.fac-pin-dot{width:13px;height:13px;border-radius:50%;box-shadow:0 0 0 4px rgba(20,10,8,.65);background:var(--tint)}
.fac-pin-label{padding:4px 9px;border-radius:4px;background:rgba(12,6,5,.86);font:700 10px/1.2 var(--fbody);letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;border:1px solid var(--line);color:#F3E7DC}
.fac-pin.is-active .fac-pin-label{color:var(--tint)}
.fac-map-note{position:absolute;bottom:10px;left:14px;margin:0;font:400 11px/1.4 var(--fbody);color:rgba(185,165,148,.75)}
.fac-rows{display:flex;gap:8px;flex-direction:column}
.fac-row{flex:1 1 0;text-align:left;cursor:pointer;border:1px solid var(--line);border-radius:8px;padding:16px 18px;display:flex;gap:14px;align-items:flex-start;transition:background .25s,border-color .25s;background:rgba(36,21,18,.45)}
.fac-row.is-active{background:rgba(36,21,18,.95);border-color:rgba(240,192,0,.5)}
.fac-bar{flex:none;width:3px;align-self:stretch;border-radius:2px;transition:opacity .25s;background:var(--tint);opacity:.3}
.fac-row.is-active .fac-bar{opacity:1}
.fac-crest{flex:none;width:42px;height:42px;background-size:contain;background-repeat:no-repeat;background-position:center;transition:opacity .25s,filter .25s;opacity:.55;filter:grayscale(.55)}
.fac-row.is-active .fac-crest{opacity:1;filter:none}
.fac-count{flex:none;font:500 26px/1 var(--fmono);color:#F3E7DC;min-width:52px}
.fac-row.is-active .fac-count{color:var(--tint)}
.fac-text{min-width:0}
.fac-name{display:block;font:700 15px/1.2 var(--fdisp);letter-spacing:.11em;text-transform:uppercase;color:var(--ink);margin-bottom:4px}
.fac-line{display:block;font:400 13.5px/1.55 var(--fbody);color:var(--ink-dim);text-wrap:pretty}
.fac-note{margin:6px 0 0;grid-column:1/-1;font-size:13px;line-height:1.6;color:var(--ink-dim)}
@media (max-width:1149.98px){
  .fac-grid{grid-template-columns:minmax(0,1fr)}
  .fac-rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
}

/* ─── Modes ──────────────────────────────────────────────── */
#modes{scroll-margin-top:92px}
#modes h2{margin:0 0 clamp(28px,4vw,44px);max-width:24ch}
.modes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}
.mode-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--raised);display:flex;flex-direction:column;transition:border-color .3s,transform .3s}
.mode-card:hover{border-color:rgba(240,192,0,.45);transform:translateY(-4px)}
.mode-media{aspect-ratio:16/9;background:#0C0605;position:relative}
.mode-media-campaign img{width:100%;height:100%;object-fit:cover;opacity:.92;transition:transform 1.1s cubic-bezier(.2,.7,.2,1),opacity .4s}
.mode-media-campaign img:hover{transform:scale(1.05);opacity:1}
.mode-media-tiers{display:flex;align-items:center;justify-content:center;gap:10px;padding:20px}
.tier-bar{flex:none;width:clamp(18px,4%,30px);border-radius:3px;background:linear-gradient(180deg,var(--bronze),rgba(64,32,16,.5));transform-origin:bottom}
.tier-bar:nth-child(1){height:26%;animation:rw-grow .55s cubic-bezier(.2,.7,.2,1) .05s both}
.tier-bar:nth-child(2){height:42%;animation:rw-grow .55s cubic-bezier(.2,.7,.2,1) .12s both}
.tier-bar:nth-child(3){height:58%;animation:rw-grow .55s cubic-bezier(.2,.7,.2,1) .19s both}
.tier-bar:nth-child(4){height:76%;animation:rw-grow .55s cubic-bezier(.2,.7,.2,1) .26s both}
.tier-bar:nth-child(5){height:96%;animation:rw-grow .55s cubic-bezier(.2,.7,.2,1) .33s both}
.mode-media-online{overflow:hidden}
.mode-media-online img{width:100%;height:100%;object-fit:cover;object-position:52% 58%;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.mode-media-online img:hover{transform:scale(1.05)}
.mode-body{padding:22px 22px 24px;flex:1;display:flex;flex-direction:column}
.mode-stat{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}
.mode-stat-n{font:500 15px/1 var(--fmono);color:var(--gold)}
.mode-stat-l{font:600 10px/1 var(--fbody);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-dim)}
.mode-card h3{margin:0 0 10px;font:700 21px/1.2 var(--fdisp);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.mode-card p{margin:0;font-size:14.5px;line-height:1.6;color:var(--ink-dim);text-wrap:pretty}

/* ─── Media ──────────────────────────────────────────────── */
#media{scroll-margin-top:92px}
.media-head{display:flex;flex-wrap:wrap;gap:clamp(20px,4vw,56px);align-items:flex-end;justify-content:space-between;margin-bottom:clamp(24px,3vw,34px)}
.media-head h2{max-width:22ch}
.media-head p{margin:0;max-width:46ch;font-size:14px;color:var(--ink-dim);text-wrap:pretty}
.video-frame{position:relative;border:1px solid var(--line);border-radius:10px;overflow:hidden;aspect-ratio:16/9;margin-bottom:14px;background:#0C0605}
.video-facade{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:none;cursor:pointer;display:block}
.video-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%;opacity:.74}
.video-shade{position:absolute;inset:0;background:radial-gradient(62% 62% at 50% 46%,rgba(12,6,5,.1),rgba(12,6,5,.74))}
.video-play{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:clamp(66px,9vw,88px);height:clamp(66px,9vw,88px);border-radius:50%;border:2px solid var(--gold);background:rgba(12,6,5,.72);display:flex;align-items:center;justify-content:center;animation:rw-ring 3.4s ease-out infinite}
.video-play svg{width:28%;height:28%;fill:var(--gold);margin-left:9%}
.video-caption{position:absolute;left:0;right:0;bottom:0;padding:40px 18px 16px;text-align:left;background:linear-gradient(180deg,rgba(12,6,5,0),rgba(12,6,5,.92))}
.video-caption-title{display:block;font:700 15px/1.2 var(--fdisp);letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.video-caption-sub{display:block;font:400 12.5px/1.5 var(--fbody);color:var(--ink-dim)}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.media-cta{margin:18px 0 0}

/* ─── Download ───────────────────────────────────────────── */
#download{scroll-margin-top:92px}
.dl-card{border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,rgba(36,21,18,.9),rgba(20,10,8,.9));padding:clamp(28px,5vw,58px);display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(28px,5vw,64px);align-items:center}
.dl-card h2{margin:0 0 16px;font:700 clamp(28px,3.6vw,44px)/1.1 var(--fdisp);letter-spacing:.01em;color:var(--ink);text-wrap:balance}
.dl-p{margin:0 0 8px;max-width:44ch;color:var(--ink);text-wrap:pretty}
.dl-p-dim{margin:0;max-width:44ch;font-size:13.5px;line-height:1.6;color:var(--ink-dim)}
.dl-ctas{max-width:440px;display:flex;flex-wrap:wrap;gap:12px}
.dl-signup{flex:1 1 auto;text-align:center;min-height:52px;display:flex;align-items:center;justify-content:center;padding:16px 22px;border-radius:6px;background:var(--gem);color:#08201F;font:700 13px/1 var(--fbody);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;box-shadow:0 0 0 1px rgba(47,212,220,.5)}
.dl-login{flex:1 1 auto;text-align:center;min-height:52px;display:flex;align-items:center;justify-content:center;padding:16px 22px;border-radius:6px;border:1px solid var(--line);background:rgba(20,10,8,.6);color:var(--ink);font:600 13px/1 var(--fbody);letter-spacing:.1em;text-transform:uppercase;text-decoration:none}
.dl-note{margin:18px 0 0;font-size:12.5px;line-height:1.6;color:var(--ink-dim);max-width:440px}

/* ─── The restoration ────────────────────────────────────── */
#restoration{scroll-margin-top:92px;background:var(--ground2);border-top:1px solid var(--line)}
.resto-inner{max-width:1320px;margin:0 auto;padding:clamp(72px,9vw,120px) clamp(20px,5vw,64px);display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:clamp(28px,5vw,72px);align-items:start}
.resto-inner h2{margin:0;font:700 clamp(30px,3.8vw,46px)/1.08 var(--fdisp);letter-spacing:.01em;color:var(--ink);max-width:18ch;text-wrap:balance}
.resto-copy{max-width:62ch}
.resto-copy p{margin:0 0 18px;font-size:16.5px;line-height:1.72;color:var(--ink);text-wrap:pretty}
.resto-copy p:last-child{margin-bottom:0}
