﻿/* ==========================================================================
   gerwyn-price — The Iceman brand/about page
   ========================================================================== */

/* --- Hero --- */

.gp-hero {
    position: relative;
    min-height: 70vh;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
}

.gp-hero__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center 20%;
    background-repeat: no-repeat;
    filter: brightness(0.3);
}

.gp-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        transparent 30%,
        rgba(var(--brand-bg-darkest-rgb, 10, 10, 10), 0.7) 70%,
        var(--brand-surface-dark) 100%
    );
}

.gp-hero .container {
    position: relative;
    padding-top: var(--brand-space-section);
    padding-bottom: var(--brand-space-section);
}

.gp-hero__label {
    font-family: var(--brand-font-heading);
    font-weight: var(--brand-font-weight-extrabold);
    font-size: 0.7rem;
    letter-spacing: var(--brand-letter-spacing-caps);
    text-transform: uppercase;
    color: var(--brand-accent);
    margin-bottom: var(--brand-space-2);
}

.gp-hero__title {
    font-family: var(--brand-font-heading);
    font-weight: var(--brand-font-weight-extrabold);
    font-size: clamp(2.8rem, 8vw, 5.5rem);
    text-transform: uppercase;
    color: var(--brand-text-light);
    line-height: 0.95;
    letter-spacing: -0.02em;
    margin-bottom: var(--brand-space-3);
}

.gp-hero__title span {
    display: block;
    color: var(--brand-accent);
}

.gp-hero__tagline {
    font-size: clamp(1rem, 2vw, 1.2rem);
    color: var(--brand-text-light-muted);
    max-width: 50ch;
    line-height: var(--brand-line-height-body);
    margin-bottom: 0;
}

/* --- Stats strip --- */

.gp-stats {
    background-color: var(--brand-accent);
    padding: var(--brand-space-4) 0;
}

.gp-stats__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--brand-space-3) var(--brand-space-4);
}

@media (min-width: 576px) {
    .gp-stats__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.gp-stats__item {
    text-align: center;
}

.gp-stats__number {
    font-family: var(--brand-font-heading);
    font-weight: var(--brand-font-weight-extrabold);
    font-size: clamp(2rem, 4vw, 2.8rem);
    line-height: 1;
    color: var(--brand-surface-dark);
    display: block;
    letter-spacing: -0.02em;
}

.gp-stats__label {
    font-family: var(--brand-font-heading);
    font-weight: var(--brand-font-weight-semibold);
    font-size: 1.0rem;
    text-transform: uppercase;
    letter-spacing: var(--brand-letter-spacing-caps);
    color: rgba(0, 0, 0, 0.75);
    margin-top: var(--brand-space-1);
    display: block;
}

/* --- Content body --- */

.gp-body {
    background-color: var(--brand-surface-dark);
    padding-top: var(--brand-space-section);
    padding-bottom: var(--brand-space-section);
}

/* --- Achievements grid --- */

.gp-achievements {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--brand-space-3);
    margin-top: var(--brand-space-4);
}

@media (min-width: 768px) {
    .gp-achievements {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 992px) {
    .gp-achievements {
        grid-template-columns: repeat(3, 1fr);
    }
}

.gp-achievement-card {
    background-color: var(--brand-surface-mid, rgba(255, 255, 255, 0.04));
    border: 1px solid var(--brand-border-dark);
    border-top: 3px solid var(--brand-accent);
    padding: var(--brand-space-4);
    border-radius: var(--brand-radius, 4px);
}

.gp-achievement-card__year {
    font-family: var(--brand-font-heading);
    font-weight: var(--brand-font-weight-extrabold);
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: var(--brand-letter-spacing-caps);
    color: var(--brand-accent);
    margin-bottom: var(--brand-space-2);
    display: block;
}

.gp-achievement-card__title {
    font-family: var(--brand-font-heading);
    font-weight: var(--brand-font-weight-bold);
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: var(--brand-letter-spacing-wide);
    color: var(--brand-text-light);
    margin-bottom: var(--brand-space-2);
}

.gp-achievement-card__desc {
    font-size: 0.875rem;
    color: var(--brand-text-light-muted);
    line-height: var(--brand-line-height-relaxed);
    margin-bottom: 0;
}

/* --- Section heading --- */

.gp-section-heading {
    font-family: var(--brand-font-heading);
    font-weight: var(--brand-font-weight-extrabold);
    font-size: clamp(1.25rem, 3vw, 1.75rem);
    text-transform: uppercase;
    letter-spacing: var(--brand-letter-spacing-wide);
    color: var(--brand-text-light);
    margin-bottom: var(--brand-space-4);
}

.gp-section-heading span {
    color: var(--brand-accent);
}

/* --- Bio prose --- */

.gp-bio {
    max-width: 70ch;
}

.gp-bio p {
    font-size: 1rem;
    line-height: var(--brand-line-height-relaxed);
    color: var(--brand-text-light-muted);
    margin-bottom: var(--brand-space-3);
}

.gp-bio p:last-child {
    margin-bottom: 0;
}

.gp-bio strong {
    color: var(--brand-text-light);
    font-weight: var(--brand-font-weight-semibold);
}

/* --- Divider --- */

.gp-divider {
    border: none;
    border-top: 1px solid var(--brand-border-dark);
    margin: var(--brand-space-section) 0;
}

/* --- CTA banner --- */

.gp-cta {
    text-align: center;
    padding-top: var(--brand-space-5);
    border-top: 1px solid var(--brand-border-dark);
}

.gp-cta__heading {
    font-family: var(--brand-font-heading);
    font-weight: var(--brand-font-weight-extrabold);
    font-size: clamp(1.5rem, 3vw, 2rem);
    text-transform: uppercase;
    letter-spacing: var(--brand-letter-spacing-wide);
    color: var(--brand-text-light);
    margin-bottom: var(--brand-space-2);
}

.gp-cta__sub {
    color: var(--brand-text-light-muted);
    margin-bottom: var(--brand-space-4);
    font-size: 1rem;
}

/* --- Inner Circle CTA --- */

.gp-ic {
    background-color: var(--brand-surface-dark-alt, #0d0d0d);
    padding: var(--brand-space-section) 0;
    text-align: center;
    border-top: 1px solid var(--brand-border-dark);
    border-bottom: 1px solid var(--brand-border-dark);
}

.gp-ic__label {
    font-family: var(--brand-font-heading);
    font-weight: var(--brand-font-weight-extrabold);
    font-size: 0.7rem;
    letter-spacing: var(--brand-letter-spacing-caps);
    text-transform: uppercase;
    color: var(--brand-accent);
    margin-bottom: var(--brand-space-2);
}

.gp-ic__title {
    font-family: var(--brand-font-heading);
    font-weight: var(--brand-font-weight-extrabold);
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    text-transform: uppercase;
    letter-spacing: var(--brand-letter-spacing-wide);
    color: var(--brand-text-light);
    margin-bottom: var(--brand-space-3);
}

.gp-ic__description {
    font-size: 1rem;
    color: var(--brand-text-light-muted);
    max-width: 52ch;
    margin: 0 auto var(--brand-space-5);
    line-height: var(--brand-line-height-relaxed);
}
