.gamelink-header .brand span { color: var(--orange); }

.free-stamp {
    width: fit-content;
    margin-top: 0.9rem;
    border: 4px solid var(--ink);
    background: var(--green);
    box-shadow: 6px 6px 0 var(--ink);
    padding: 0.45rem 0.75rem 0.55rem;
    transform: rotate(-1deg);
    display: grid;
    line-height: 1;
}

.free-stamp strong {
    font-family: "Archivo Black", sans-serif;
    font-size: clamp(2rem, 5vw, 3.5rem);
    letter-spacing: 0.02em;
}

.free-stamp span {
    margin-top: 0.35rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.gamelink-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.75fr);
    gap: clamp(1.5rem, 5vw, 4rem);
    align-items: center;
}

.hero-poster {
    width: min(100%, 390px);
    justify-self: end;
    margin: 0;
    border: 4px solid var(--ink);
    background: var(--white);
    box-shadow: 8px 8px 0 var(--ink);
    overflow: hidden;
}

.hero-poster img {
    width: 100%;
    height: auto;
    display: block;
}

.gl-download, .gl-steps li, .gl-faq details {
    border: 3px solid var(--ink);
    box-shadow: 5px 5px 0 var(--ink);
}

.gl-download-grid, .gl-features {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.gl-download-section {
    position: relative;
    outline: 4px solid var(--green);
    outline-offset: 7px;
}

.download-attention {
    width: fit-content;
    margin: -2.6rem auto 1.15rem;
    border: 3px solid var(--ink);
    background: var(--green);
    box-shadow: 5px 5px 0 var(--ink);
    padding: 0.5rem 0.8rem;
    font-family: "Archivo Black", sans-serif;
    font-size: clamp(0.9rem, 2.4vw, 1.25rem);
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    animation: downloadBeacon 1.8s ease-in-out infinite;
}

.download-attention span { color: var(--orange); }

.gl-download {
    background: var(--white);
    padding: 1rem;
    display: grid;
    gap: 0.45rem;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    animation: downloadFloat 3.6s ease-in-out infinite;
}

.gl-download-button {
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.gl-download:hover { transform: translate(3px, 3px); box-shadow: 2px 2px 0 var(--ink); }
.gl-download:nth-child(2) { animation-delay: 0.35s; }
.gl-download:nth-child(3) { animation-delay: 0.7s; }
.platform-title { display: flex; align-items: center; gap: 0.45rem; font-size: 0.8rem; font-weight: 700; text-transform: uppercase; }
.platform-title img { width: 1.35rem; height: 1.35rem; object-fit: contain; }
.gl-download strong { font-family: "Archivo Black", sans-serif; font-size: 1.15rem; line-height: 1; text-transform: uppercase; }
.gl-download small { font-weight: 500; }

.gl-steps { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.9rem; }
.gl-steps li { background: rgba(255,255,255,.7); padding: 1rem; }
.gl-steps b { display: inline-block; margin-bottom: 0.75rem; padding: 0.25rem 0.45rem; background: var(--yellow); border: 2px solid var(--ink); font-family: "Archivo Black", sans-serif; }

.gl-features { grid-template-columns: 1.25fr 1fr 1fr; }
.gl-faq { display: grid; gap: 0.7rem; }
.gl-faq details { background: var(--paper); padding: 0.75rem; }
.gl-faq summary { cursor: pointer; font-weight: 700; }
.gl-faq details p { margin-top: 0.55rem; }

body.modal-open { overflow: hidden; }

.mac-guide[hidden] { display: none; }
.mac-guide { position: fixed; z-index: 20; inset: 0; display: grid; place-items: center; padding: 1rem; }
.mac-guide-backdrop { position: absolute; inset: 0; background: rgba(9, 9, 12, 0.74); backdrop-filter: blur(4px); }
.mac-guide-dialog {
    position: relative;
    z-index: 1;
    width: min(100%, 710px);
    max-height: min(850px, calc(100vh - 2rem));
    overflow: auto;
    padding: clamp(1.35rem, 4vw, 2.2rem);
    border: 4px solid var(--ink);
    background: var(--paper);
    box-shadow: 11px 11px 0 var(--green);
}
.mac-guide-dialog h2 { max-width: 570px; margin: 0.3rem 0 0.75rem; font-family: "Archivo Black", sans-serif; font-size: clamp(1.7rem, 4vw, 2.45rem); line-height: 0.98; text-transform: uppercase; }
.mac-guide-dialog > p:not(.kicker) { max-width: 620px; margin-bottom: 1.15rem; font-weight: 600; }
.mac-guide-close { position: absolute; top: 0.7rem; right: 0.75rem; width: 2.25rem; height: 2.25rem; border: 3px solid var(--ink); background: var(--pink); color: var(--ink); font-size: 1.65rem; font-weight: 700; line-height: 1; cursor: pointer; }
.mac-guide-close:hover, .mac-guide-close:focus-visible { background: var(--orange); }
.mac-security-steps { display: grid; gap: 0.65rem; padding: 0; margin: 0; list-style: none; counter-reset: mac-steps; }
.mac-security-steps li { display: grid; grid-template-columns: 2rem 1fr; gap: 0.65rem; align-items: center; border: 3px solid var(--ink); background: var(--white); padding: 0.62rem 0.72rem; font-weight: 600; }
.mac-security-steps b { display: grid; place-items: center; width: 2rem; height: 2rem; border: 2px solid var(--ink); background: var(--yellow); font-family: "Archivo Black", sans-serif; }
.mac-guide-note { margin-top: 0.9rem; border-left: 5px solid var(--blue); background: #d6f5ff; padding: 0.75rem; font-weight: 600; }
.mac-guide-download { width: 100%; justify-content: center; margin-top: 1rem; text-align: center; }

@keyframes downloadBeacon {
    0%, 100% { transform: translateY(0) rotate(-1deg); box-shadow: 5px 5px 0 var(--ink); }
    50% { transform: translateY(-6px) rotate(1deg); box-shadow: 9px 9px 0 var(--ink); }
}

@keyframes downloadFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-7px); }
}

@media (max-width: 840px) {
    .gamelink-hero, .gl-download-grid, .gl-features, .gl-steps { grid-template-columns: 1fr; }
    .hero-poster { width: min(100%, 430px); margin: 0 auto; }
    .mac-guide-dialog { box-shadow: 6px 6px 0 var(--green); }
}

@media (prefers-reduced-motion: reduce) {
    .download-attention,
    .gl-download { animation: none; }
}

.gl-legal-page { max-width: 900px; }
.gl-legal-hero h1 { max-width: none; }
.gl-effective { margin-top: 1rem; font-weight: 700; }
.gl-legal-content { display: grid; gap: 1.5rem; }
.gl-legal-content section { display: grid; gap: 0.55rem; }
.gl-legal-content h2 { margin: 0; }
.gl-legal-content p, .gl-legal-content li { max-width: 76ch; font-size: 1.02rem; }
.gl-legal-content ul { display: grid; gap: 0.5rem; padding-left: 1.3rem; }
.gl-legal-content a { color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
