.HeroVideoCont {
    position: relative;
    width: 100%;
    height: 80vh;
    overflow: hidden;
    font-family: "Montserrat", sans-serif;
    background-color: #222;
}

.hero-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.HeroVideoCont::after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 1;
}

.heroContent {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 1.25rem;
    margin-inline: auto;
    max-width: 33em;
    color: #F2F2F3;
}

.heroContent h1,
.heroContent h2 {
    font-size: clamp(2.25rem, 5vw + 1rem, 3.125rem);
    font-weight: 800;
    margin-bottom: 0.5rem;
}

.heroContent p {
    font-size: clamp(1.125rem, 2vw + 0.5rem, 1.25rem);
    font-weight: 500;
    color: #D4DADD;
}

.heroContent-actions {
    margin-block-start: 1.25rem;
}

.heroContent mark {
    background-color: transparent;
    font-weight: bold;
    color: #D4AF37;
}

.HeroButton {
    display: inline-block;
    padding: 0.75rem 1.25rem;
    margin: 0.75rem;
    border: 1px solid var(--HBbr, transparent);
    border-radius: var(--BorderRadius, 8px);
    background-color: var(--HBbc, #4099BF);
    color: white;
    font-size: 1.0625rem;
    font-weight: 600;
    text-decoration: none;
}

@media (min-width: 768px) {
    .HeroVideoCont {
        height: 800px;
    }
}

/* --- Article Grid-2 Extensions --- */
article {
    gap: 60px;
    display: flex;
    flex-direction: column;
    padding: 20px !important;
}

article .grid-2 {
    align-items: center;
    margin: 1.5rem 0;
}

article .grid-2-image {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

article .grid-2-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid var(--Border);
}

article .grid-2-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
}

article .grid-2-content > :first-child {
    margin-top: 0;
}

/* --- STAFF SELECTOR --- */
.StaffSelector {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
    align-items: center;
    margin-bottom: 2.5rem;
    padding: 1rem;
}

.StaffSkinBtn {
    background: transparent;
    position: relative;
    border: 2px solid transparent;
    border-radius: var(--BorderRadius, 8px);
    cursor: pointer;
    padding: 0.5rem;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: center;
}

.StaffSkinBtn:hover {
    transform: translateY(-4px);
    background: rgba(255, 255, 255, 0.08);
}

.StaffSkinBtn.SelectedStaffBtn {
    border-color: var(--StaffTextColor, #4099BF);
    background-color: var(--ForegroundDark, rgba(255, 255, 255, 0.08));
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    transform: scale(1.05);
}

.StaffSkinBtn img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.4));
}

/* --- STAFF CARD DISPLAY --- */
.StaffSelectorItems {
    position: relative;
    min-height: 220px;
    color: var(--TextNormal, #e0e0e0);
    font-family: 'Montserrat', sans-serif;
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid var(--Border, #2a2a2a);
    border-radius: var(--BorderRadius, 12px);
    padding: 1.5rem;
    box-sizing: border-border-box;
}

.StaffCard {
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.3s ease;
    transform: translateY(10px);
}

.StaffCard.SIVisible {
    display: block;
    opacity: 1;
    transform: translateY(0);
}

.StaffCardHeader {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.StaffCardIdentity {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.StaffCard h3 {
    font-size: 1.75rem;
    font-weight: 700;
    margin: 0;
    color: var(--TextHead, #ffffff);
}

.pronouns {
    font-size: 0.85rem;
    font-weight: 500;
    border-radius: var(--BorderRadius, 4px);
    color: var(--TextSecondary, #aaa);
    padding: 0.2rem 0.6rem;
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--Border, #333);
}

.StaffCard .role {
    font-size: 0.95rem;
    font-weight: 600;
    padding: 0.35rem 0.85rem;
    border-radius: var(--BorderRadius, 20px);
    color: #111;
}

.StaffCard p {
    font-size: 1rem;
    line-height: 1.65;
    color: var(--TextNormal, #ddd);
    margin-bottom: 0.75rem;
}

.StaffCard p.emptyBio {
    font-style: italic;
    color: #777;
}

@media (max-width: 768px) {
    .StaffCardHeader {
        flex-direction: column;
        align-items: flex-start;
    }
    .StaffCard p {
        font-size: 0.9rem;
    }
}

.rune {
    font-weight: 100;
    display: inline-flex;
    padding: 6px;
    color: var(--Gold);
}

hr::after{background-color:transparent !important;}

/* Craftstands */


.CraftStands {
    display: grid;
    grid-template-columns: 1fr; /* Default to single column for mobile */
    gap: 2rem;
    padding: 2rem 0;
    align-items: center; /* Vertically centers both sides */
}

.CraftStandsContent {
    width: 100%;
}

.CraftStandsTitle {
    font-family: var(--FontNorse);
    font-size: 2.5rem;
    color: var(--TextBlue);
    margin: 0 0 1.5rem 0;
    line-height: 1.2;
}

.CraftStandsDescription {
    font-size: 1.05rem;
    line-height: 1.6;
    color: var(--TextNormal, #ddd);
    margin-bottom: 1.5rem;
}

.CraftStandsActions {
    margin-top: 1rem;
}

.CraftStandsActions .HeroButton {
    margin-left: 0;
}

/* Right-aligned Image Container */
.CraftStandsImageWrapper {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: flex-end; /* Pushes image to the far right of its grid cell */
    align-items: center;
}

.CraftStandsImage {
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    object-fit: contain;
    border: none;
    border-radius: 0;
    box-shadow: none;
}

@media (min-width: 768px) {
    .CraftStands {
        grid-template-columns: 1fr 1fr; /* Split exactly 50/50 */
    }
}

.CSContainer {
    /* hsl(270 100% 56% / 1) */
    
    margin-top:30px;
    background-position: center;
    --pattern-color: #8f1fff70;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg fill-rule='evenodd'%3E%3Cg fill='%23000' fill-opacity='0.4'%3E%3Cpath d='M0 38.59l2.83-2.83 1.41 1.41L1.41 40H0v-1.41zM0 1.4l2.83 2.83 1.41-1.41L1.41 0H0v1.41zM38.59 40l-2.83-2.83 1.41-1.41L40 38.59V40h-1.41zM40 1.41l-2.83 2.83-1.41-1.41L38.59 0H40v1.41zM20 18.6l2.83-2.83 1.41 1.41L21.41 20l2.83 2.83-1.41 1.41L20 21.41l-2.83 2.83-1.41-1.41L18.59 20l-2.83-2.83 1.41-1.41L20 18.59z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    filter: drop-shadow(0 0 0 var(--pattern-color));
    
    border-top: 2px solid hsl(270 100% 56%);
    border-bottom: 2px solid hsl(270 100% 56%);
    padding: 30px 2rem
}


/* CraftStands End */