@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700;800&display=swap');

/* Reset and base styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    background: #000000;
    /* padding: 20px; */
}

/* ========================================================================
    HEADER SECTION
    ======================================================================== */

.top-header {
    background: #111111;
    padding: 15px 20px;
}

.state-banner {
    background: #1a1a1a;
    border-top: 1px solid #333333;
    border-bottom: 1px solid #333333;
    text-align: center;
    padding: 12px 20px;
    font-size: 22px;
    font-weight: 600;
    color: #ffffff;
    letter-spacing: 0.01em;
}

.header-container {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-logo img {
    height: 80px;
    width: auto;
}

.header-contact {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
}

.header-cta {
    display: flex;
    align-items: center;
}

@keyframes pulse-header-btn {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 4px 18px rgba(204, 34, 0, .4), 0 0 0 0 rgba(204, 34, 0, .55);
    }
    50% {
        transform: scale(1.05);
        box-shadow: 0 4px 18px rgba(204, 34, 0, .4), 0 0 0 10px rgba(204, 34, 0, 0);
    }
}

.header-cta-btn {
    display: inline-block;
    background: linear-gradient(180deg, #FF4400, #CC2200);
    color: #fff;
    font-weight: 900;
    font-size: 18px;
    letter-spacing: 0.05em;
    padding: 14px 28px;
    border-radius: 10px;
    text-decoration: none;
    cursor: pointer;
    animation: pulse-header-btn 2s ease-in-out infinite;
}

.header-cta-btn:hover {
    animation: none;
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(204, 34, 0, .55);
    color: #fff;
    text-decoration: none;
}

.header-contact-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.header-contact-icon {
    width: 30px;
    height: 30px;
}

.header-contact-icon svg {
    width: 100%;
    height: 100%;
    fill: #CC2200;
}

.header-contact-text {
    font-size: 18px;
    color: #ffffff;
    font-weight: 500;
}

.header-contact-text strong {
    font-weight: 700;
}

.header-contact-text a {
    color: #ffffff;
    text-decoration: none;
}

@media (max-width: 991px) {
    .header-contact {
        gap: 20px;
    }

    .header-contact-text {
        font-size: 12px;
    }

    .header-logo img {
        height: 40px;
    }
}

@media (max-width: 767px) {
    .header-container {
        flex-direction: column;
        gap: 15px;
    }

    .header-contact {
        display: none;
    }

    .header-cta {
        width: 100%;
    }

    .header-cta-btn {
        display: block;
        width: 100%;
        text-align: center;
    }
}

/* Hero Section Styles */
#kotm-hero-tomahawk {
    --bg: #0d0000;
    --panel: #1a1a1a;
    --text: #ffffff;
    --muted: #e0e0e0;
    --accent: #CC2200;
    --accent-2: #FF4400;
    --stroke: #220000;
    font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    background: linear-gradient(135deg, rgba(204, 34, 0, .08), rgba(204, 34, 0, .04) 60%), var(--bg);
    color: var(--text);
    border-radius: 0;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .55);
    padding: 36px 20px;
}

/* Desktop / Default */
#kotm-hero-tomahawk .wrap {
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    gap: 48px;
    align-items: flex-start;
    justify-content: space-between;
}

#kotm-hero-tomahawk .media {
    flex: 0 0 40%;
}

#kotm-hero-tomahawk .copy {
    flex: 1 1 60%;
}

/* LEFT media (desktop) */
#kotm-hero-tomahawk .media {
    background: radial-gradient(600px 300px at 80% 0%, rgba(204, 34, 0, .14), transparent 60%), var(--panel);
    border: 1px solid rgba(0, 0, 0, .06);
    border-radius: 12px;
    padding: 16px;
    box-shadow: 0 12px 30px rgba(255, 255, 255 .38);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

#kotm-hero-tomahawk .media img,
#kotm-hero-tomahawk .media-mobile img {
    width: 80%;
    max-width: 420px;
    height: auto;
    display: block;
    margin: 0 auto;
    border-radius: 10px;
}

/* Pills under images */
#kotm-hero-tomahawk .badges {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
}

#kotm-hero-tomahawk .badge {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: linear-gradient(180deg, rgba(204, 34, 0, .18), rgba(204, 34, 0, .10));
    border: 1px solid rgba(204, 34, 0, .35);
    color: #ffffff;
    padding: 12px 14px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .2px;
    box-shadow: 0 6px 16px rgba(204, 34, 0, .18), inset 0 1px 0 rgba(0, 0, 0, .08);
    white-space: nowrap;
}

/* Headline / copy */
#kotm-hero-tomahawk .eyebrow {
    color: var(--accent-2);
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: 15px;
    line-height: 1;
    margin: 0 0 12px;
    text-shadow: 0 0 18px rgba(204, 34, 0, .35);
}

#kotm-hero-tomahawk h1.main {
    font-size: 33px;
    line-height: 1.3;
    margin: 0 0 10px;
    font-weight: 900;
    max-width: 800px;
}

#kotm-hero-tomahawk h2.subhead {
    font-size: 24px;
    line-height: 1.25;
    margin: 0 0 10px;
    font-weight: 800;
    color: var(--text);
}

#kotm-hero-tomahawk h3.offer {
    font-size: 18px;
    line-height: 1.3;
    margin: 0 0 16px;
    font-weight: 800;
    color: var(--accent);
    text-shadow: 0 0 12px rgba(204, 34, 0, .18);
}

#kotm-hero-tomahawk .sub {
    color: var(--muted);
    font-size: 17px;
    line-height: 1.65;
    margin: 0 0 16px;
    font-weight: 500;
}

#kotm-hero-tomahawk .price {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 10px 0 20px;
}

#kotm-hero-tomahawk .price .was {
    opacity: .7;
    text-decoration: line-through;
    color: #999999;
    font-size: 20px;
    font-weight: 600;
}

#kotm-hero-tomahawk .price .now {
    color: var(--accent);
    font-weight: 900;
    font-size: 32px;
    line-height: 1;
    display: flex;
    align-items: center;
    gap: 10px;
}

#kotm-hero-tomahawk .price .now .shipping-note {
    font-size: 15px;
    font-weight: 600;
    color: #999999;
}

#kotm-hero-tomahawk .price .note {
    font-size: 14px;
    color: #999999;
    font-weight: 600;
}

/* Membership card */
#kotm-hero-tomahawk .membership {
    background: linear-gradient(180deg, rgba(204, 34, 0, .14), rgba(204, 34, 0, .08));
    border: 1px solid rgba(204, 34, 0, .35);
    box-shadow: inset 0 1px 0 rgba(0, 0, 0, .06);
    border-radius: 12px;
    padding: 16px 18px;
    color: grey;
    font-size: 12px;
    line-height: 1.6;
    margin: 8px 0 18px;
    font-weight: 600;
}

#kotm-hero-tomahawk .membership b {
    color: #ffffff;
}

/* CTA + trust */
#kotm-hero-tomahawk .cta {
    display: block;
    width: 100%;
    text-align: center;
    background: linear-gradient(180deg, var(--accent-2), var(--accent));
    color: #FFFFFF;
    text-decoration: none;
    font-weight: 900;
    font-size: 18px;
    padding: 16px 24px;
    border-radius: 10px;
    box-shadow: 0 10px 26px rgba(204, 34, 0, .35), 0 0 0 1px rgba(0, 0, 0, .06) inset;
    transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}

#kotm-hero-tomahawk .cta:hover {
    transform: translateY(-2px);
    filter: saturate(1.05);
}

#kotm-hero-tomahawk .trustline {
    font-size: 15px;
    line-height: 1.55;
    color: #ffffff;
    margin-top: 14px;
    font-weight: 600;
    background: linear-gradient(180deg, rgba(204, 34, 0, .18), rgba(204, 34, 0, .10));
    border: 1px solid rgba(204, 34, 0, .4);
    padding: 12px 14px;
    border-radius: 8px;
    text-align: center;
    box-shadow: inset 0 1px 0 rgba(0, 0, 0, .06);
}

/* Mobile only (≤768px) */
#kotm-hero-tomahawk .media-mobile {
    display: none;
    margin-bottom: 16px;
}

@media (max-width:768px) {
    #kotm-hero-tomahawk {
        padding-left: 10px !important;
        padding-right: 10px !important;
        padding-top: 12px !important;
    }

    #kotm-hero-tomahawk .wrap {
        flex-direction: column;
        gap: 16px;
    }

    #kotm-hero-tomahawk h1.main {
        font-size: 26px;
        text-align: center;
    }

    #kotm-hero-tomahawk h2.subhead {
        font-size: 20px;
        text-align: center;
        line-height: 1.3;
    }

    #kotm-hero-tomahawk .eyebrow {
        text-align: center;
        font-size: 13px;
    }

    #kotm-hero-tomahawk .sub {
        text-align: left;
        font-size: 16px;
    }

    #kotm-hero-tomahawk .price {
        justify-content: center;
    }

    /* Hide desktop media, show mobile block below copy */
    #kotm-hero-tomahawk .media {
        display: none;
    }

    #kotm-hero-tomahawk .media-mobile {
        display: block;
    }

    /* Full-width mobile badges */
    #kotm-hero-tomahawk .media-mobile .badges {
        grid-template-columns: 1fr;
        gap: 8px;
        margin-top: 12px;
    }

    #kotm-hero-tomahawk .badge {
        font-size: 15px;
        padding: 14px 16px;
    }

    #kotm-hero-tomahawk h3.offer {
        text-align: center !important;
        width: 100% !important;
        font-size: 17px !important;
    }
}

/* ========================================================================
    HOW IT WORKS SECTION
    ======================================================================== */

.hiw-wrap {
    background: radial-gradient(1100px 520px at 70% -60%, rgba(204, 34, 0, .08), transparent 60%),
                linear-gradient(145deg, #0d0000 0%, #111111 60%, #0d0000 100%) !important;
    padding: 56px 16px;
    font-family: 'Open Sans', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    color: #ffffff;
}

.hiw-flex {
    max-width: 1140px;
    margin: 0 auto;
    display: flex;
    gap: 32px;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.hiw-left {
    flex: 1 1 620px;
    min-width: 320px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.hiw-right {
    flex: 0 1 420px;
    min-width: 300px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
    justify-content: center;
}

.hiw-eyebrow {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    letter-spacing: .06em;
    font-size: 35px;
    text-transform: uppercase;
    color: #CC2200;
    opacity: .95;
}

.hiw-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 28px;
    line-height: 1.2;
    margin: 4px 0;
    font-weight: 800;
    color: #ffffff;
}

.hiw-lead {
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.65;
    margin-bottom: 8px;
}

.hiw-step {
    display: flex;
    gap: 16px;
    background: linear-gradient(180deg, rgba(17, 17, 17, .96), rgba(13, 0, 0, .96));
    border: 1px solid rgba(204, 34, 0, .18);
    border-radius: 14px;
    padding: 16px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .45);
}

.hiw-steps {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.hiw-badge {
    flex: 0 0 46px;
    height: 46px;
    border-radius: 50%;
    background: #1a1a1a;
    border: 2px solid rgba(204, 34, 0, .35);
    color: #CC2200;
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 12px rgba(0, 0, 0, .45);
}

.hiw-step-body {
    flex: 1;
}

.hiw-step-title {
    font-family: 'Montserrat', sans-serif;
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    color: #ffffff;
}

.hiw-step-text {
    margin: 0;
    color: #ffffff;
    line-height: 1.65;
    font-size: 15px;
    font-weight: 600;
}

.hiw-chip {
    margin-top: 2px;
    font-size: 15px;
    font-weight: 800;
    color: #CC2200;
}

.hiw-hero {
    width: 100%;
    max-width: 420px;
    border-radius: 14px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .45);
    display: block;
    border: 1px solid rgba(204, 34, 0, .15);
}

.hiw-disclosure {
    max-width: 420px;
    color: #ffffff;
    font-weight: 600;
    font-size: 12.5px;
    line-height: 1.55;
    text-align: center;
}

@keyframes pulse-cta {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 10px 26px rgba(204, 34, 0, .35), 0 0 0 0 rgba(204, 34, 0, .55);
    }
    50% {
        transform: scale(1.03);
        box-shadow: 0 10px 26px rgba(204, 34, 0, .35), 0 0 0 12px rgba(204, 34, 0, 0);
    }
}

.check_availability {
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100%;
    padding: 14px 24px !important;
    font-size: 22px !important;
    line-height: 1 !important;
    min-height: 48px !important;
    min-width: 260px !important;
    text-align: center !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    background: linear-gradient(180deg, #FF4400, #CC2200);
    text-decoration: none;
    font-weight: 900;
    border-radius: 10px;
    box-shadow: 0 10px 26px rgba(204, 34, 0, .35);
    animation: pulse-cta 2s ease-in-out infinite;
}

.check_availability:hover {
    transform: translateY(-2px);
    animation: none;
}

/* ========================================================================
    SVG SHAPE DIVIDER
    ======================================================================== */

.shape-divider-wrapper {
    position: relative;
    width: 100%;
    /* overflow: hidden; */
    line-height: 0;
    height: 154px;
    background: #1a1a1a;
}

.elementor-shape {
    overflow: hidden;
    position: absolute;
    left: 0;
    width: 100%;
    line-height: 0;
    direction: ltr;
}

.elementor-shape-top {
    top: -1px;
}

.elementor-shape svg {
    display: block;
    width: calc(100% + 1.3px);
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    height: 154px;
}

.elementor-shape-fill {
    fill: #CC2200;
    transform-origin: center;
    transform: rotateY(0deg);
}

@media (max-width: 767px) {
    .elementor-shape svg {
        height: 40px;
    }
}

@media (max-width: 650px) {
    .shape-divider-wrapper {
        height: 70px;
    }
}

/* ========================================================================
    PRODUCT FEATURES SECTION - "THIS ISN'T A TOY. IT'S A TOOL."
    ======================================================================== */

.product-features-section {
    /* background: #1a1a1a; */
    background: #1a1a1a;
    padding: 0px 20px 80px 20px;
    position: relative;
}

.product-features-container {
    max-width: 1200px;
    margin: 0 auto;
}

.product-features-title {
    text-align: center;
    font-size: 65px;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 60px;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.product-features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.product-features-grid--two {
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 50px;
}

.product-features-grid--three {
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 50px;
}

.feature-item {
    text-align: center;
    color: #ffffff;
}

/* Full-width "Hidden in Plain Sight" item — same structure as others, just wider */
.feature-item--full {
    margin-bottom: 50px;
    text-align: center;
}

.feature-heading {
    font-size: 32px;
    font-weight: 800;
    color: #CC2200;
    text-transform: uppercase;
    margin-bottom: 20px;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 1px;
    line-height: 1.3;
}

.feature-image {
    margin: 20px 0;
    /* background: #111111; */
    border-radius: 8px;
    padding: 20px;
    /* box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); */
}

.feature-image img {
    width: 100%;
    max-width: 300px;
    height: auto;
    display: block;
    margin: 0 auto;
}

/* Larger image for the full-width row */
.feature-image--large {
    margin: 20px auto;
    max-width: 700px;
}

.feature-image--large img {
    max-width: 600px;
}

.feature-description {
    font-size: 20px;
    line-height: 1.7;
    color: #cccccc;
    font-weight: 400;
    text-align: center;
}

.feature-description p {
    margin-bottom: 15px;
}

/* Wider text for the full-width row */
.feature-description--wide {
    max-width: 900px;
    margin: 0 auto;
    font-size: 22px;
    text-align: center;
}

@media (max-width: 991px) {
    .product-features-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .product-features-grid--two {
        grid-template-columns: 1fr;
    }

    .product-features-grid--three {
        grid-template-columns: 1fr;
    }

    .feature-image--large img {
        max-width: 100%;
    }

    .feature-description--wide {
        font-size: 18px;
    }

    .product-features-title {
        font-size: 32px;
    }

    .feature-heading {
        font-size: 24px;
    }
}

/* ========================================================================
    PLUS MACHETE GALLERY SECTION
    ======================================================================== */

.plus-gallery-section {
    background: #111111;
    padding: 20px 20px;
    position: relative;
}

.plus-gallery-container {
    max-width: 1400px;
    margin: 0 auto;
}

.plus-title {
    text-align: center;
    font-size: 72px;
    font-weight: 600;
    color: #ffffff;
    margin-bottom: 20px;
    font-family: 'Barlow', sans-serif;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.plus-subtitle {
    text-align: center;
    font-size: 32px;
    font-weight: 600;
    color: #ffffff;
    margin-bottom: 60px;
    font-family: 'Montserrat', sans-serif;
    line-height: 1.3;
}

.plus-gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.gallery-image-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: 0px;
    opacity: 0;
    transform: scale(0.3);
    transition: opacity 400ms ease, transform 400ms ease;
}

.gallery-image-wrapper.animate-in {
    opacity: 1;
    transform: scale(1);
}

.gallery-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    aspect-ratio: 1;
}

@media (max-width: 991px) {
    .plus-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .plus-title {
        font-size: 48px;
    }

    .plus-subtitle {
        font-size: 24px;
    }
}

@media (max-width: 767px) {
    .plus-title {
        font-size: 36px;
    }

    .plus-subtitle {
        font-size: 20px;
    }
}

@media(max-width:991px) {
    .hiw-title {
        font-size: 24px;
    }
}

@media(max-width:767px) {
    .hiw-wrap {
        padding: 42px 14px;
    }

    .hiw-title {
        font-size: 22px;
    }

    .hiw-flex {
        align-items: flex-start;
    }

    .hiw-right {
        align-items: center !important;
        justify-content: center !important;
    }

    .hiw-hero {
        width: 100%;
        max-width: 380px;
        margin: 0 auto;
        display: block;
    }

    .check_availability,
    .hiw-disclosure {
        max-width: 380px;
        margin-left: auto;
        margin-right: auto;
        font-size: 18px;
        padding: 14px 16px;
    }
}

/* ========================================================================
    TRAINING VAULT SECTION
    ======================================================================== */

.training-vault-section {
    background: #111111;
    padding: 80px 20px;
    position: relative;
}

.training-vault-container {
    max-width: 1200px;
    margin: 0 auto;
}

.training-vault-header {
    text-align: center;
    margin-bottom: 60px;
}

.training-vault-intro {
    font-size: 38px;
    font-weight: 400;
    color: #ffffff;
    margin-bottom: 15px;
    font-family: 'Montserrat', sans-serif;
    line-height: 1.3;
}

.training-vault-tagline {
    font-size: 42px;
    font-weight: 400;
    font-style: italic;
    color: #CC2200;
    margin-bottom: 25px;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 0.5px;
}

.training-vault-description {
    font-size: 20px;
    color: #ffffff;
    margin-bottom: 10px;
    font-weight: 400;
    line-height: 1.6;
}

.training-vault-divider {
    width: 100%;
    max-width: 800px;
    height: 1px;
    background: #CC2200;
    margin: 40px auto;
}

.training-vault-picks-title {
    font-size: 42px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 20px;
    font-family: 'Montserrat', sans-serif;
}

.training-vault-testimonial {
    font-size: 18px;
    color: #CC2200;
    /* font-style: italic; */
    margin-bottom: 40px;
}

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

.training-course-card {
    background: #111111;
    border: 3px solid #FF4400;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.training-course-body {
    background: #111111;
    padding: 0;
    flex: 1;
    display: flex;
    /* flex-direction: column; */
    justify-content: space-between;
}

.training-course-image {
    width: 100%;
    height: auto;
    display: block;
    display: none;
}

.training-course-details {
    background: #1a1a1a;
    padding: 30px;
    border-top: 1px solid #FF4400;
    width: 100%;
}

.training-course-details-title {
    font-size: 24px;
    font-weight: 600;
    color: #ffffff;
    margin-bottom: 15px;
    font-family: 'Monsterrat', sans-serif;
}

.training-course-details-list {
    font-size: 16px;
    color: #ffffff;
    line-height: 1.8;
    font-weight: 500;
    font-family: 'Open Sans', sans-serif;
}

@media (max-width: 991px) {
    .training-courses-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .training-vault-intro {
        font-size: 28px;
    }

    .training-vault-tagline {
        font-size: 32px;
    }

    .training-vault-picks-title {
        font-size: 32px;
    }

    .training-course-title {
        font-size: 24px;
    }
}

@media (max-width: 767px) {
    .training-vault-section {
        padding: 60px 20px;
    }

    .training-vault-intro {
        font-size: 24px;
    }

    .training-vault-tagline {
        font-size: 26px;
    }

    .training-vault-picks-title {
        font-size: 26px;
    }

    .training-course-title {
        font-size: 20px;
    }

    .training-course-description {
        font-size: 18px;
    }
}

/* ========================================================================
    SIMPLE AND EASY SECTION
    ======================================================================== */

.simple-easy-section {
    background: #111111;
    padding: 0;
    position: relative;
}

.simple-easy-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 400px;
}

.simple-easy-left {
    position: relative;
    background-image: url('new-layout/images/support.webp');
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    /* padding: 60px 40px; */
}

.simple-easy-title {
    position: relative;
    z-index: 2;
    font-size: 62px;
    font-weight: 800;
    color: #ffffff;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: 1.2;
    text-shadow: 0px 0px 12px rgba(0,0,0,0.3);
}

.simple-easy-right {
    background: #111111;
    padding: 60px 40px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

.feature-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.feature-icon {
    width: 60px;
    height: 60px;
    margin-bottom: 20px;
}

.feature-icon svg {
    width: 100%;
    height: 100%;
    fill: #CC2200;
}

.feature-box-title {
    font-size: 22px;
    font-weight: 500;
    color: #ffffff;
    margin-bottom: 15px;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.feature-box-description {
    font-size: 15px;
    color: #ffffff;
    line-height: 1.6;
    font-weight: 400;
}

@media (max-width: 991px) {
    .simple-easy-container {
        grid-template-columns: 1fr;
    }

    .simple-easy-left {
        min-height: 300px;
    }

    .simple-easy-right {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .simple-easy-title {
        font-size: 36px;
    }
}

@media (max-width: 767px) {
    .simple-easy-title {
        font-size: 28px;
    }

    .simple-easy-left {
        padding: 40px 20px;
    }

    .simple-easy-right {
        padding: 40px 20px;
    }
}

.big_arrow_down svg, .big_arrow_up svg {
    height: 20px;
    width: 100%;
}

.big_arrow_up {
    transform: rotate(180deg);
}

/* ========================================================================
    CTA SECTION - LIMITED STOCK
    ======================================================================== */

.cta-wrap {
    background: radial-gradient(1200px 600px at 70% -80%, rgba(204, 34, 0, .10), transparent 60%), #0d0000;
    padding: 56px 16px;
    color: #ffffff;
    font-family: 'Open Sans', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    border-top: 1px solid rgba(0, 0, 0, .06);
    padding-top: 4%;
    padding-bottom: 4%;
}

.cta-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
    gap: 20px;
    padding: 0 16px;
}

@media (min-width:1440px) {
    .cta-inner {
        max-width: 1380px;
    }
}

.cta-copy {
    flex: 1 1 46%;
    min-width: 340px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
}

.cta-eyebrow {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    letter-spacing: .06em;
    color: #ffffff !important;
    text-transform: uppercase;
    font-size: 15px;
}

.cta-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 32px;
    line-height: 1.15;
    margin: 0;
    color: #ffffff;
}

.cta-sub {
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
    margin: 0 0 6px;
    max-width: 75%;
}

.cta-points {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    margin: 8px 0 0;
}

.cta-point {
    display: flex;
    align-items: center;
    gap: 10px;
    /* background: linear-gradient(180deg, rgba(17, 17, 17, .98), rgba(13, 0, 0, .98)) !important; */
    background: linear-gradient(180deg, rgba(204, 34, 0, .18), rgba(204, 34, 0, .10))!important;
    border: 1px solid rgba(204, 34, 0, .18) !important;
    border-radius: 12px !important;
    padding: 10px 12px;
    color: #ffffff !important;
    font-weight: 500;
    font-size: 15px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .45) !important;
}

.cta-point > i {
    background: rgba(204, 34, 0, .16) !important;
    color: #CC2200 !important;
    border: 0 !important;
    box-shadow: none !important;
    font-style: normal;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    font-weight: 800;
}

.cta-action {
    flex: 1 1 45%;
    min-width: 340px;
    align-self: stretch;
    /* background: linear-gradient(180deg, rgba(17, 17, 17, .98), rgba(13, 0, 0, .98)); */
    background: linear-gradient(180deg, rgba(204, 34, 0, .18), rgba(204, 34, 0, .10));
    border: 1px solid rgba(204, 34, 0, .18);
    border-radius: 14px;
    padding: 28px 24px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .45);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
    align-items: center;
}

.cta-action .check_availability {
    background: linear-gradient(180deg, #FF4400, #CC2200) !important;
    color: #fff !important;
    border: 0;
    border-radius: 10px;
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 0 22px rgba(204, 34, 0, .35), 0 10px 30px rgba(0, 0, 0, .55) !important;
    text-shadow: 0 2px 3px rgba(0, 0, 0, .35), 0 0 4px rgba(0, 0, 0, .25);
    transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
    display: block;
    width: 100%;
    text-align: center;
    padding: 14px 24px;
    font-size: 20px;
}

.cta-action .check_availability:hover {
    transform: translateY(-2px);
    filter: brightness(1.06);
    box-shadow: 0 0 30px rgba(204, 34, 0, .45), 0 14px 36px rgba(0, 0, 0, .6) !important;
    text-shadow: 0 3px 4px rgba(0, 0, 0, .4), 0 0 6px rgba(0, 0, 0, .3);
}

.cta-trust {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
}

.cta-trust span {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    padding: 8px 10px;
    border-radius: 8px;
    background: rgba(204, 34, 0, .10);
    border: 1px solid rgba(204, 34, 0, .18);
}

.cta-trust i {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: rgba(204, 34, 0, .18);
    color: #CC2200;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-style: normal;
    font-weight: 800;
    font-family: 'Montserrat', sans-serif;
}

.cta-disclosure {
    color: #ffffff;
    font-size: 12px;
    line-height: 1.5;
    text-align: center;
    margin-top: 4px;
    font-weight: 600;
}

/* Responsive stack */
@media (max-width:767px) {
    .cta-wrap {
        padding-left: 0;
        padding-right: 0;
    }

    .cta-inner {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
        padding: 0 8px !important;
        max-width: none !important;
        width: 100% !important;
    }

    .cta-copy,
    .cta-action {
        flex: none !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .cta-action {
        padding: 20px 16px;
    }

    .cta-sub {
        max-width: 100% !important;
    }

    .cta-points {
        flex-direction: column;
        gap: 12px;
    }

    .cta-trust {
        justify-content: flex-start;
        gap: 10px;
        flex-wrap: wrap;
    }

    .cta-eyebrow {
        text-align: center;
        font-size: 22px !important;
    }

    .cta-title {
        text-align: center;
    }
}

/* Desktop layout fixes */
@media (min-width: 1024px) {
    .cta-inner {
        display: grid;
        grid-template-columns: minmax(560px, 1fr) 520px;
        gap: 36px;
        align-items: start;
        padding-left: 16px;
        padding-right: 16px;
    }

    .cta-copy {
        min-width: 0;
        padding-right: 8px;
    }

    .cta-sub {
        max-width: none !important;
    }

    .cta-points {
        display: grid;
        grid-template-columns: repeat(2, minmax(260px, 1fr));
        gap: 14px 18px;
        margin-top: 12px;
    }

    .cta-point {
        width: 100%;
        justify-content: flex-start;
    }

    .cta-action {
        max-width: 520px;
        margin-left: auto;
        padding: 32px 28px;
    }

    .cta-action .check_availability {
        width: 100%;
        font-size: 22px !important;
        padding: 16px 22px !important;
    }

    .cta-disclosure {
        max-width: 60ch;
        margin-left: auto;
        margin-right: auto;
    }

    .cta-eyebrow {
        font-size: 16px;
        letter-spacing: .06em;
    }

    .cta-title {
        font-size: 32px;
        line-height: 1.15;
    }
}

/* ========================================================================
    FAQ SECTION
    ======================================================================== */

.faq-section {
    background: #111111;
    padding: 80px 20px;
    position: relative;
}

.faq-container {
    max-width: 1400px;
    margin: 0 auto;
}

.faq-title {
    text-align: center;
    font-size: 65px;
    font-weight: 600;
    color: #ffffff;
    margin-bottom: 60px;
    font-family: 'Montserrat', sans-serif;
    /* text-transform: uppercase; */
    letter-spacing: 1px;
}

.faq-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 120px;
}

.faq-column {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.faq-item {
    border-bottom: 1px solid #FF4400;
    padding-bottom: 20px;
}

.faq-question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    padding: 10px 0;
    gap: 20px;
}

.faq-question-text {
    font-size: 22px;
    font-weight: 700;
    color: #CC2200;
    font-family: 'Montserrat', sans-serif;
    flex: 1;
    transition: color 0.4s ease;
}

.faq-item.active .faq-question-text {
    color: #CC2200;
}

.faq-toggle {
    font-size: 32px;
    color: #CC2200;
    font-weight: 300;
    line-height: 1;
    transition: color 0.4s ease;
    flex-shrink: 0;
}

.faq-item.active .faq-toggle {
    color: #CC2200;
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1), padding 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease;
    padding-top: 0;
    opacity: 0;
}

.faq-item.active .faq-answer {
    max-height: 500px;
    padding-top: 15px;
    opacity: 1;
}

.faq-answer-text {
    font-size: 22px;
    color: #ffffff;
    line-height: 1.8;
    font-weight: 400;
}

@media (max-width: 991px) {
    .faq-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .faq-title {
        font-size: 42px;
    }

    .faq-question-text {
        font-size: 18px;
    }
}

@media (max-width: 767px) {
    .faq-section {
        padding: 60px 20px;
    }

    .faq-title {
        font-size: 32px;
    }

    .faq-question-text {
        font-size: 16px;
    }
}

/* ========================================================================
    CONTACT SECTION
    ======================================================================== */

.contact-section {
    background: #1a1a1a;
    padding: 80px 20px;
    position: relative;
}

.contact-container {
    /* max-width: 1400px; */
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.contact-content {
    padding-right: 40px;
    padding-left: 200px;
}

.contact-eyebrow {
    font-size: 48px;
    font-weight: 400;
    color: #CC2200;
    margin-bottom: 10px;
    font-family: 'Montserrat', sans-serif;
    line-height: 1.2;
}

.contact-title {
    font-size: 48px;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 40px;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.contact-details h3 {
    font-size: 28px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 20px;
    font-family: 'Montserrat', sans-serif;
}

.contact-info {
    margin-bottom: 30px;
}

.contact-label {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 5px;
    font-family: 'Montserrat', sans-serif;
}

.contact-value {
    font-size: 18px;
    color: #ffffff;
    margin-bottom: 20px;
    font-weight: 400;
}

.contact-value a {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s ease;
}

.contact-value a:hover {
    color: #CC2200;
}

.contact-testimonial {
    font-size: 16px;
    color: #ffffff;
    line-height: 1.6;
    margin-top: 30px;
    font-style: italic;
}

.contact-image {
    width: 100%;
    height: 100%;
    border-radius: 8px;
    overflow: hidden;
    padding-top: 300px;
}

.contact-image img {
    width: 80%;
    height: 100%;
    object-fit: cover;
    display: block;
    margin-left: auto;
}

@media (max-width: 991px) {
    .contact-container {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .contact-content {
        padding-right: 0;
    }

    .contact-eyebrow {
        font-size: 36px;
    }

    .contact-title {
        font-size: 36px;
    }

    .contact-image {
        max-height: 400px;
    }
}

@media (max-width: 767px) {
    .contact-section {
        padding: 60px 20px;
    }

    .contact-eyebrow {
        font-size: 28px;
    }

    .contact-title {
        font-size: 28px;
    }

    .contact-details h3 {
        font-size: 22px;
    }

    .contact-image {
        max-height: 300px;
    }
}

@media screen and (max-width: 990px) {
    .contact-content {
        padding-left: 0;
    }
    .contact-image {
        display: none;
    }
}

/* ========================================================================
    FOOTER SECTION
    ======================================================================== */

.footer-section {
    background: #111111;
    padding: 40px 20px;
    text-align: center;
    border-top: 1px solid #FF4400;
}

.footer-links {
    margin-bottom: 20px;
}

.footer-links a {
    color: #ffffff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    margin: 0 15px;
    transition: color 0.3s ease;
}

.footer-links a:hover {
    color: #CC2200;
}

.footer-links span {
    color: #ffffff;
    margin: 0 5px;
}

.footer-address {
    font-size: 16px;
    color: #ffffff;
    font-style: italic;
    margin-bottom: 15px;
}

.footer-copyright {
    font-size: 14px;
    color: #ffffff;
}

@media (max-width: 767px) {
    .footer-links {
        display: flex;
        flex-direction: column;
        gap: 15px;
    }

    .footer-links span {
        display: none;
    }

    .footer-address {
        font-size: 14px;
    }

    .footer-copyright {
        font-size: 13px;
    }
}

/* ========================================================================
    MODAL POPUP STYLES
    ======================================================================== */

/* Hide scrollbar for modal */
.no-scroll { overflow: hidden; }

/* Modal Overlay */
.modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 9998;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.modal-overlay.active {
    display: block;
    opacity: 1;
}

/* Modal Popup Container */
.popup-modal {
    position: fixed;
    top: -200%;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 90%;
    max-width: 800px;
    background: white;
    border-radius: 8px;
    z-index: 9999;
    transition: top 0.5s ease-out;
    max-height: 90vh;
    opacity: 0;
    overflow: visible;
}

.popup-scroll-container {
    max-height: 90vh;
    overflow-y: auto;
}

.popup-close {
    position: absolute;
    top: -15px;
    right: -15px;
    z-index: 10000;
    cursor: pointer;
}

.popup-close img {
    width: 40px;
    height: 40px;
}

.popup-modal.active {
    top: 6.5vh;
    opacity: 1;
}

.popup-content {
    padding: 40px;
    text-align: center;
}

/* Progress Bar */
.progress-bar-container {
    background: #1a1a1a;
    border-radius: 20px;
    height: 20px;
    margin-bottom: 30px;
    overflow: hidden;
    position: relative;
    -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
}

.progress-bar {
    background-color: #5cb85c;
    height: 100%;
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: bold;
    font-size: 12px;
}

/* Popup Content */
.popup-title {
    color: #1b252f;
    font-family: Arial, sans-serif;
    font-size: 18pt;
    font-weight: bold;
    margin-bottom: 25px;
    line-height: 1.3;
}

.popup-image {
    margin-bottom: 30px;
    position: relative;
}

.popup-image img {
    width: 70%;
    max-width: 400px;
    height: auto;
    border-radius: 5px;
}

/* Form Styles */
.popup-email-input {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    width: 100%;
    padding: 7px 20px;
    font-size: 20px;
    border: 1px solid #dbdbdb;
    border-radius: 5px;
    background: #fafafa;
    margin-bottom: 15px;
    color: #333333;
}

.popup-email-input::placeholder {
    color: #999;
}

.popup-form {
    max-width: 650px;
    width: 100%;
    margin: 0 auto;
}

.popup-buttons {
    display: flex;
    gap: 15px;
    margin-bottom: 25px;
}

.popup-claim-btn {
    flex: 1;
    background: #5cdb5c;
    color: white;
    padding: 7px;
    border: none;
    border-radius: 5px;
    font-size: 20px;
    font-weight: bold;
    cursor: pointer;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    animation: pulse-popup 2s infinite;
}

@keyframes pulse-popup {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(92, 219, 92, 0.7);
    }
    50% {
        transform: scale(1.05);
        box-shadow: 0 0 20px 10px rgba(92, 219, 92, 0);
    }
}

.popup-claim-btn:hover {
    background: linear-gradient(135deg, #45a049 0%, #3d8b40 100%);
}

.error-msg {
    font-weight: bold;
    font-size: 16px;
}

.d-none {
    display: none;
}

/* Testimonial Section */
.testimonial-section {
    border-top: 2px solid #cccccc;
    border-bottom: 2px solid #cccccc;
    padding: 15px 0;
    margin-top: 10px;
    max-width: 590px;
    margin: 0 auto;
}

.testimonial-title {
    color: #1b252f;
    font-family: Arial, sans-serif;
    font-size: 14pt;
    font-weight: bold;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.testimonial-content {
    display: flex;
    align-items: center;
    gap: 20px;
    text-align: left;
}

.testimonial-image {
    flex-shrink: 0;
}

.testimonial-image img {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    object-fit: cover;
}

.testimonial-text {
    color: #1b252f;
    font-size: 16px;
    line-height: 1.5;
    font-family: Arial, sans-serif;
}

/* Mobile Responsive for Modal */
@media (max-width: 768px) {
    .popup-modal {
        width: 95vw;
        max-width: 95vw;
        left: 2.5vw;
        right: 2.5vw;
        margin: 0;
    }

    .popup-content {
        padding: 20px 15px;
        overflow-x: hidden;
    }

    .popup-form {
        max-width: 100%;
        width: 100%;
    }

    .popup-image img {
        width: 90%;
        max-width: 200px;
    }

    .popup-email-input,
    .popup-claim-btn {
        font-size: 16px;
        padding: 10px 15px;
        width: 100%;
        box-sizing: border-box;
    }

    .testimonial-section {
        max-width: 100%;
        padding: 15px 10px;
    }

    .popup-title {
        font-size: 24px;
    }

    .popup-buttons {
        flex-direction: column;
    }

    .testimonial-content {
        flex-direction: column;
        text-align: center;
    }
}

/* =============================================
   TOOLS PREVIEW SECTION
   ============================================= */

.tools-preview-section {
    background: #1a1a1a;
    padding: 80px 20px;
}

.tools-preview-container {
    max-width: 1200px;
    margin: 0 auto;
}

.tools-preview-title {
    text-align: center;
    font-size: 48px;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 50px;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    letter-spacing: 1px;
    line-height: 1.15;
}

.tools-preview-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.tools-preview-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    transform: scale(0);
    transform-origin: center center;
    transition: transform 0.55s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.tools-preview-row.tools-row-visible {
    transform: scale(1);
}

.tools-preview-item {
    border-radius: 6px;
    overflow: hidden;
    background: #1a1a1a;
    border: 1px solid #2a2a2a;
}

.tools-preview-item img {
    width: 100%;
    height: auto;
    display: block;
}

@media (max-width: 768px) {
    .tools-preview-title {
        font-size: 28px;
    }

    .tools-preview-row {
        grid-template-columns: repeat(2, 1fr);
    }
}
