/* BARON COURSE PAGES V1 */

.course-page {
    background:#090909;
    color:#fff;
}

.course-hero {
    position:relative;
    min-height:82vh;
    background-size:cover;
    background-position:center;
    display:flex;
    align-items:flex-end;
    padding:180px 7vw 90px;
    box-sizing:border-box;
}

.course-hero::after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        0deg,
        rgba(0,0,0,.75) 0%,
        transparent 55%
    );
}

.course-hero-content {
    position:relative;
    z-index:2;
    max-width:1100px;
}

.course-hero .eyebrow {
    color:#fff;
    opacity:.8;
}

.course-hero h1 {
    color:#fff;
    font-size:clamp(90px,15vw,220px);
    font-weight:900;
    line-height:.72;
    letter-spacing:-.07em;
    text-transform:uppercase;
    margin:35px 0 45px;
}

.course-claim {
    color:#fff;
    font-size:clamp(22px,3vw,40px);
    line-height:1;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:-.02em;
    margin:0 0 45px;
}


/* CONTENT */

.course-intro {
    background:#f1f1ed;
    color:#111;
    padding:130px 7vw;
    display:grid;
    grid-template-columns:minmax(180px,30%) 1fr;
    gap:70px;
}

.course-title-small {
    color:#d71920;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.16em;
    padding-top:10px;
}

.course-text {
    max-width:900px;
}

.course-text h2 {
    color:#111;
    font-size:clamp(58px,8vw,115px);
    font-weight:900;
    line-height:.84;
    letter-spacing:-.06em;
    text-transform:uppercase;
    margin:0 0 55px;
}

.course-text p {
    color:#333;
    font-size:19px;
    line-height:1.75;
    max-width:760px;
}

.course-text .lead {
    color:#111;
    font-size:clamp(22px,2.2vw,30px);
    font-weight:700;
    line-height:1.45;
    margin-bottom:30px;
}


/* THREE CARDS */

.course-benefits {
    background:#090909;
    padding:100px 7vw;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:3px;
}

.course-benefits > div {
    background:#151515;
    padding:55px 42px;
    min-height:300px;
    box-sizing:border-box;
}

.course-benefits span {
    color:#e01b24;
    font-size:14px;
    font-weight:900;
}

.course-benefits h3 {
    color:#fff;
    font-size:clamp(28px,3vw,42px);
    line-height:1;
    text-transform:uppercase;
    margin:65px 0 20px;
}

.course-benefits p {
    color:#aaa;
    font-size:16px;
    line-height:1.65;
    max-width:300px;
}


/* CTA */

.course-cta {
    background:#d71920;
    color:#fff;
    padding:110px 7vw 120px;
}

.course-cta .section-label {
    color:#fff;
}

.course-cta h2 {
    color:#fff;
    font-size:clamp(65px,9vw,135px);
    font-weight:900;
    line-height:.82;
    letter-spacing:-.065em;
    text-transform:uppercase;
    margin:25px 0 55px;
}

.course-cta .light-cta {
    background:#fff;
    color:#111;
}


/* MOBILE */

@media (max-width:800px) {

    .course-hero {
        min-height:72vh;
        padding:150px 6vw 65px;
    }

    .course-hero h1 {
        font-size:clamp(70px,22vw,120px);
    }

    .course-intro {
        grid-template-columns:1fr;
        gap:35px;
        padding:85px 6vw;
    }

    .course-benefits {
        grid-template-columns:1fr;
        padding:60px 6vw;
    }

    .course-benefits > div {
        min-height:230px;
    }

    .course-benefits h3 {
        margin-top:40px;
    }

    .course-cta {
        padding:80px 6vw;
    }
}


/* =====================================================
   COURSES OVERVIEW
   ===================================================== */

.courses-page {
    background:#090909;
    color:#fff;
}

.courses-hero {
    min-height:72vh;
    display:flex;
    align-items:flex-end;
    padding:180px 7vw 90px;
    box-sizing:border-box;

    background:
        linear-gradient(90deg,
            rgba(0,0,0,.95),
            rgba(0,0,0,.45)),
        url('/wp-content/themes/baron-relaunch/assets/images/original/cross-mma-thaiboxen-boxen.jpg')
        center / cover no-repeat;
}

.courses-hero h1 {
    font-size:clamp(75px,11vw,165px);
    line-height:.77;
    letter-spacing:-.07em;
    text-transform:uppercase;
    margin:30px 0;
}

.courses-hero p {
    max-width:600px;
    font-size:21px;
    line-height:1.6;
}


.courses-intro {
    background:#f1f1ed;
    color:#111;
    padding:120px 7vw;

    display:grid;
    grid-template-columns:30% 70%;
    gap:60px;
}

.courses-intro > span {
    color:#d71920;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.15em;
    font-size:13px;
}

.courses-intro h2 {
    font-size:clamp(55px,8vw,115px);
    line-height:.84;
    letter-spacing:-.06em;
    text-transform:uppercase;
    margin:0 0 40px;
}

.courses-intro p {
    max-width:700px;
    font-size:21px;
    line-height:1.65;
}


/* COURSE GRID */

.all-courses {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:3px;
}

.big-course {
    position:relative;
    min-height:620px;
    background-size:cover;
    background-position:center;

    display:flex;
    align-items:flex-end;

    overflow:hidden;
    color:#fff;
    text-decoration:none;
}

.big-course:first-child {
    grid-column:span 2;
    min-height:720px;
}

.big-course::before {
    content:"";
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            0deg,
            rgba(0,0,0,.95) 0%,
            rgba(0,0,0,.08) 70%
        );

    transition:.35s ease;
}

.big-course:hover::before {
    background:
        linear-gradient(
            0deg,
            rgba(0,0,0,.95),
            rgba(0,0,0,.25)
        );
}

.big-course {
    transition:filter .3s ease;
}

.big-course:hover {
    filter:contrast(1.08);
}

.big-course-overlay {
    position:relative;
    z-index:2;
    padding:50px;
}

.big-course-overlay span {
    color:#e01b24;
    font-weight:900;
}

.big-course-overlay h2 {
    color:#fff;
    font-size:clamp(55px,7vw,110px);
    line-height:.8;
    letter-spacing:-.06em;
    text-transform:uppercase;
    margin:25px 0 15px;
}

.big-course-overlay p {
    color:#ddd;
    font-size:18px;
    margin-bottom:25px;
}

.big-course-overlay strong {
    text-transform:uppercase;
    font-size:12px;
    letter-spacing:.12em;
}


/* BOTTOM CTA */

.courses-bottom {
    background:#d71920;
    padding:110px 7vw;

    display:grid;
    grid-template-columns:1.3fr .7fr;
    gap:80px;
}

.courses-bottom span {
    text-transform:uppercase;
    font-size:13px;
    font-weight:900;
    letter-spacing:.12em;
}

.courses-bottom h2 {
    color:#fff;
    font-size:clamp(60px,8vw,120px);
    line-height:.83;
    letter-spacing:-.065em;
    text-transform:uppercase;
    margin:25px 0 0;
}

.courses-bottom > div:last-child {
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:flex-start;
}

.courses-bottom p {
    font-size:20px;
    line-height:1.6;
    max-width:500px;
}


@media(max-width:800px) {

    .courses-intro,
    .courses-bottom {
        grid-template-columns:1fr;
    }

    .all-courses {
        grid-template-columns:1fr;
    }

    .big-course:first-child {
        grid-column:auto;
    }

    .big-course,
    .big-course:first-child {
        min-height:500px;
    }

    .big-course-overlay {
        padding:35px;
    }
}



/* =====================================================
   SCHEDULE
   ===================================================== */

.schedule-page {
    background:#090909;
    color:#fff;
}

.schedule-hero {
    min-height:62vh;
    padding:180px 7vw 80px;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;

    background:
        linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.35)),
        url('/wp-content/themes/baron-relaunch/assets/images/original/Grappling-Wuppertal.jpg')
        center 42% / cover no-repeat;
}

.schedule-hero h1 {
    font-size:clamp(80px,13vw,190px);
    line-height:.72;
    letter-spacing:-.07em;
    margin:30px 0;
}

.schedule-hero p {
    max-width:620px;
    font-size:20px;
    line-height:1.6;
}

.schedule-wrap {
    padding:110px 7vw 120px;
}

.schedule-head {
    display:grid;
    grid-template-columns:1.3fr .7fr;
    gap:70px;
    align-items:end;
    margin-bottom:80px;
}

.schedule-kicker {
    color:#d71920;
    text-transform:uppercase;
    font-size:13px;
    font-weight:900;
    letter-spacing:.15em;
}

.schedule-head h2 {
    font-size:clamp(55px,7vw,105px);
    line-height:.84;
    letter-spacing:-.06em;
    margin:20px 0 0;
}

.schedule-head p {
    color:#aaa;
    font-size:18px;
    line-height:1.7;
    max-width:500px;
}

.schedule-days {
    border-top:1px solid #333;
}

.schedule-day {
    display:grid;
    grid-template-columns:220px 1fr;
    border-bottom:1px solid #333;
}

.schedule-day > header {
    padding:35px 30px 35px 0;
}

.schedule-day h3 {
    margin:0;
    font-size:25px;
    text-transform:uppercase;
}

.schedule-day header span {
    display:block;
    margin-top:8px;
    color:#666;
    font-size:12px;
    text-transform:uppercase;
}

.day-classes {
    border-left:1px solid #333;
}

.schedule-class {
    min-height:82px;
    padding:20px 25px;
    box-sizing:border-box;
    display:grid;
    grid-template-columns:150px 1fr 30px;
    align-items:center;
    gap:20px;
    border-bottom:1px solid #242424;
    color:#fff;
    text-decoration:none;
    transition:.2s;
}

.schedule-class:last-child {
    border-bottom:0;
}

a.schedule-class:hover {
    background:#151515;
    padding-left:32px;
}

.schedule-class time {
    color:#999;
    font-size:14px;
    font-weight:700;
}

.schedule-class strong {
    display:block;
    font-size:18px;
}

.schedule-class small {
    display:block;
    margin-top:5px;
    color:#777;
    font-size:13px;
}

.schedule-class b {
    color:#d71920;
    font-size:20px;
}

.schedule-off {
    border-left:1px solid #333;
    padding:38px 25px;
    color:#666;
}

.schedule-note {
    margin-top:35px;
    max-width:750px;
    color:#666;
    font-size:12px;
    line-height:1.6;
}

.schedule-trial {
    background:#d71920;
    padding:100px 7vw;
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:80px;
}

.schedule-trial span {
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.12em;
}

.schedule-trial h2 {
    font-size:clamp(70px,9vw,135px);
    line-height:.8;
    letter-spacing:-.065em;
    margin:25px 0 0;
}

.schedule-trial > div:last-child {
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:flex-start;
}

.schedule-trial p {
    max-width:480px;
    font-size:19px;
    line-height:1.6;
}


@media(max-width:800px) {

    .schedule-head,
    .schedule-trial {
        grid-template-columns:1fr;
    }

    .schedule-day {
        grid-template-columns:1fr;
    }

    .schedule-day > header {
        padding:35px 0 20px;
    }

    .day-classes,
    .schedule-off {
        border-left:0;
    }

    .schedule-class {
        grid-template-columns:110px 1fr 20px;
        padding-left:0;
        padding-right:0;
    }

    a.schedule-class:hover {
        padding-left:8px;
    }
}



/* =====================================================
   TEAM
   ===================================================== */

.team-page {
    background:#090909;
    color:#fff;
}

.team-hero {
    min-height:75vh;
    padding:180px 7vw 90px;
    box-sizing:border-box;
    display:flex;
    align-items:flex-end;

    background:
        linear-gradient(90deg,
            rgba(0,0,0,.95),
            rgba(0,0,0,.25)),
        url('/wp-content/themes/baron-relaunch/assets/images/original/sebastian-baron-nepomuk-minarik-luta-livre-mma-wuppertal.jpg')
        center / cover no-repeat;
}

.team-hero-copy {
    max-width:1100px;
}

.team-hero h1 {
    font-size:clamp(70px,10vw,150px);
    line-height:.78;
    letter-spacing:-.065em;
    text-transform:uppercase;
    margin:30px 0 40px;
}

.team-hero p {
    max-width:600px;
    font-size:20px;
    line-height:1.6;
}


.team-intro {
    background:#f1f1ed;
    color:#111;
    padding:120px 7vw;

    display:grid;
    grid-template-columns:30% 70%;
    gap:60px;
}

.team-label {
    color:#d71920;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.15em;
}

.team-intro h2 {
    font-size:clamp(55px,8vw,115px);
    line-height:.84;
    letter-spacing:-.06em;
    margin:0 0 45px;
}

.team-intro p {
    max-width:700px;
    font-size:21px;
    line-height:1.65;
}


/* SEBASTIAN */

.sebastian-section {
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:850px;
}

.sebastian-image {
    min-height:850px;
    background:#111;
}

.sebastian-image img {
    width:100%;
    height:100%;
    min-height:850px;
    object-fit:cover;
    object-position:center top;
    display:block;
}

.sebastian-copy {
    padding:100px 7vw 100px 6vw;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.person-role {
    color:#d71920;
    font-size:13px;
    font-weight:900;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.sebastian-copy h2 {
    font-size:clamp(65px,7vw,115px);
    line-height:.8;
    letter-spacing:-.065em;
    margin:30px 0 50px;
}

.sebastian-copy p {
    max-width:620px;
    color:#aaa;
    font-size:17px;
    line-height:1.75;
}

.sebastian-copy .person-lead {
    color:#fff;
    font-size:23px;
    font-weight:700;
    line-height:1.5;
}

.person-disciplines {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:35px;
}

.person-disciplines a {
    color:#fff;
    border:1px solid #444;
    padding:13px 18px;
    text-decoration:none;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    transition:.2s;
}

.person-disciplines a:hover {
    background:#d71920;
    border-color:#d71920;
}


/* ACTION IMAGES */

.team-action {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:3px;
}

.team-action-image {
    min-height:500px;
    background-size:cover;
    background-position:center;
}


/* COACHES */

.team-coaches {
    background:#f1f1ed;
    color:#111;
    padding:120px 7vw;

    display:grid;
    grid-template-columns:30% 70%;
    gap:60px;
}

.team-coaches > span {
    color:#d71920;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.15em;
}

.team-coaches h2 {
    font-size:clamp(55px,8vw,115px);
    line-height:.84;
    letter-spacing:-.06em;
    margin:0 0 40px;
}

.team-coaches p {
    max-width:700px;
    font-size:19px;
    line-height:1.7;
}


/* CTA */

.team-trial {
    background:#d71920;
    padding:110px 7vw;

    display:grid;
    grid-template-columns:1.25fr .75fr;
    gap:80px;
}

.team-trial span {
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.12em;
}

.team-trial h2 {
    font-size:clamp(65px,8vw,125px);
    line-height:.82;
    letter-spacing:-.065em;
    margin:25px 0 0;
}

.team-trial > div:last-child {
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:flex-start;
}

.team-trial p {
    max-width:480px;
    font-size:19px;
    line-height:1.65;
}


@media(max-width:800px) {

    .team-intro,
    .team-coaches,
    .team-trial,
    .sebastian-section {
        grid-template-columns:1fr;
    }

    .sebastian-image,
    .sebastian-image img {
        min-height:550px;
    }

    .sebastian-copy {
        padding:75px 6vw;
    }

    .team-action {
        grid-template-columns:1fr;
    }

    .team-action-image {
        min-height:400px;
    }
}



/* =====================================================
   WORDPRESS EDITABLE CONTENT
   ===================================================== */

.team-wp-content {
    background:#f1f1ed;
    color:#111;
    padding:120px 7vw;

    display:grid;
    grid-template-columns:25% 75%;
    gap:70px;
}

.team-editor-label {
    color:#d71920;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.15em;
}

.team-editor-content {
    max-width:900px;
}

.team-editor-content h1,
.team-editor-content h2,
.team-editor-content h3 {
    color:#111;
    text-transform:uppercase;
}

.team-editor-content h1 {
    font-size:clamp(55px,7vw,105px);
    line-height:.84;
    letter-spacing:-.06em;
    margin:0 0 50px;
}

.team-editor-content h2 {
    font-size:clamp(38px,5vw,70px);
    line-height:.9;
    letter-spacing:-.045em;
    margin:90px 0 30px;
}

.team-editor-content h2:first-of-type {
    margin-top:50px;
}

.team-editor-content p {
    max-width:760px;
    font-size:18px;
    line-height:1.75;
    color:#333;
}

.team-editor-content .baron-lead {
    font-size:25px;
    line-height:1.5;
    font-weight:700;
    color:#111;
}

.team-editor-content img {
    max-width:100%;
    height:auto;
}

@media(max-width:800px) {

    .team-wp-content {
        grid-template-columns:1fr;
        gap:30px;
        padding:80px 6vw;
    }

}


/* =====================================================
   EDITABLE COURSE CONTENT
   ===================================================== */

.course-editor-section {
    background:#f1f1ed;
    color:#111;
    padding:120px 7vw;

    display:grid;
    grid-template-columns:25% 75%;
    gap:70px;
}

.course-editor-label {
    color:#d71920;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.15em;
    padding-top:10px;
}

.course-editor-content {
    max-width:900px;
}

.course-editor-content h2 {
    color:#111;
    font-size:clamp(55px,8vw,110px);
    line-height:.84;
    letter-spacing:-.06em;
    text-transform:uppercase;
    margin:0 0 50px;
}

.course-editor-content h3 {
    color:#111;
    font-size:clamp(30px,4vw,55px);
    text-transform:uppercase;
    margin:65px 0 25px;
}

.course-editor-content p {
    color:#333;
    max-width:760px;
    font-size:19px;
    line-height:1.75;
}

.course-editor-content .baron-lead {
    color:#111;
    font-size:clamp(22px,2.2vw,29px);
    line-height:1.5;
    font-weight:700;
}

.course-editor-content img {
    max-width:100%;
    height:auto;
    margin:40px 0;
}

@media(max-width:800px) {

    .course-editor-section {
        grid-template-columns:1fr;
        gap:30px;
        padding:80px 6vw;
    }

}
