/* ========================================
   ECHELON FITNESS COLLECTIVE
   MASTER DESIGN SYSTEM

   PALETTE (6 named values -- gold is an accent
   for dividers, key CTAs, and badges only, never
   a large fill area):
     --primary  #FFD700  gold accent
     --black    #0D0D0C  warm near-black, base background
     --card     #1A1917  warm charcoal, card/panel surfaces
     --border   #2A2822  warm hairline borders/dividers
     --white    #FFFFFF  primary text on dark
     --gray     #AAAAAA  secondary/muted text
======================================== */

:root{

    --primary:#FFD700;
    --black:#0D0D0C;
    --dark:#0D0D0C;
    --card:#1A1917;
    --border:#2A2822;
    --white:#FFFFFF;
    --gray:#AAAAAA;

    --heading-font:'Bebas Neue',sans-serif;
    --body-font:'Montserrat',sans-serif;

    --container:1400px;

}

/* ========================================
   RESET
======================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

/* ========================================
   ACCESSIBILITY FLOOR
======================================== */

:focus-visible{
    outline:2px solid var(--primary) !important;
    outline-offset:2px !important;
}

@media (prefers-reduced-motion: reduce){
    *,
    *::before,
    *::after{
        animation-duration:0.001ms !important;
        animation-iteration-count:1 !important;
        transition-duration:0.001ms !important;
        scroll-behavior:auto !important;
    }
}

body{
    background:
        linear-gradient(90deg,rgba(13, 13, 12,.96) 0%,rgba(13, 13, 12,.91) 52%,rgba(13, 13, 12,.86) 100%),
        linear-gradient(180deg,rgba(13, 13, 12,.35),rgba(13, 13, 12,.7)),
        url('../images/efc-studio-dawn.png') center top / cover fixed;
    background:
        linear-gradient(90deg,rgba(13, 13, 12,.96) 0%,rgba(13, 13, 12,.91) 52%,rgba(13, 13, 12,.86) 100%),
        linear-gradient(180deg,rgba(13, 13, 12,.35),rgba(13, 13, 12,.7)),
        image-set(url('../images/efc-studio-dawn.webp') type('image/webp'), url('../images/efc-studio-dawn.png') type('image/png')) center top / cover fixed;
    color:var(--white);
    font-family:var(--body-font);
    line-height:1.6;
    overflow-x:hidden;
}

@media(max-width:720px){
    body{background-attachment:scroll;background-position:62% top;}
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
}

button,
input,
select,
textarea{
    font-family:var(--body-font);
}

/* ========================================
   GLOBAL
======================================== */

.container{
    width:min(95%, var(--container));
    margin:auto;
}

.section{
    padding:100px 0;
}

.section-title{
    font-family:var(--heading-font);
    font-size:clamp(2.5rem,6vw,4rem);
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--primary);
    margin-bottom:25px;
}

.section p{
    max-width:800px;
    color:#d0d0d0;
}

/* ========================================
   NAVIGATION
======================================== */

.skip-link{
    position:absolute;
    top:-100px;
    left:0;
    z-index:6000;
    background:var(--primary);
    color:#0D0D0C;
    font-weight:700;
    padding:14px 24px;
    text-decoration:none;
    border-radius:0 0 6px 0;
    transition:top .15s ease;
}

.skip-link:focus{
    top:0;
}

.site-header{

    position:sticky;
    top:0;

    z-index:5000;

    background:rgba(13, 13, 12,.95);

    backdrop-filter:blur(10px);

    border-bottom:1px solid var(--border);

}

.site-header .container{

    display:flex;
    justify-content:space-between;
    align-items:center;

    min-height:85px;

}

.logo{

    color:white;

    font-family:var(--heading-font);

    font-size:2rem;

    letter-spacing:2px;

    text-transform:uppercase;

    transition:.3s;

}

.logo span{
    color:var(--primary);
}

.logo:hover{
    opacity:.85;
}

.desktop-nav{

    display:flex;
    gap:35px;

}

.desktop-nav a{

    color:white;

    text-transform:uppercase;

    font-family:var(--heading-font);

    letter-spacing:1px;

    font-size:1rem;

    transition:.3s;

}

.desktop-nav a:hover{
    color:var(--primary);
}

.nav-portal-link{
    opacity:.6;
    font-size:.8rem !important;
    padding-left:20px;
    border-left:1px solid var(--border);
}

.nav-portal-link:hover{
    opacity:1;
}

.mobile-toggle{

    display:none;

    background:none;
    border:none;

    color:white;

    font-size:2rem;

    cursor:pointer;

}

/* ========================================
   MOBILE MENU
======================================== */

.mobile-menu{

    position:fixed;

    inset:0;

    background:black;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    gap:30px;

    transform:translateX(100%);

    transition:.4s ease;

    z-index:4999;

}

.mobile-menu.active{
    transform:translateX(0);
}

.mobile-menu a{

    color:white;

    font-family:var(--heading-font);

    text-transform:uppercase;

    font-size:2rem;

    letter-spacing:2px;

}

.mobile-menu a:hover{
    color:var(--primary);
}

/* ==========================================
   HERO
========================================== */

#hero{

    position:relative;

    min-height:calc(100vh - 85px);

    display:flex;

    justify-content:center;

    align-items:center;

    overflow:hidden;

    background-image:url("../images/hero-bg.jpg");

    background-image:image-set(url("../images/hero-bg.webp") type("image/webp"), url("../images/hero-bg.jpg") type("image/jpeg"));

    background-size:cover;

    background-position:center;

    padding:30px 0;
}

/* ==========================================
   OVERLAY
========================================== */

.hero-overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        rgba(13, 13, 12,.72),
        rgba(13, 13, 12,.72)
    );

    z-index:1;
}

/* ==========================================
   CONTENT
========================================== */

.hero-content{

    position:relative;

    z-index:2;

    width:min(95%,1200px);

    text-align:center;
}

@media (prefers-reduced-motion: no-preference){

    @keyframes heroReveal{
        from{ opacity:0; transform:translateY(18px); }
        to{ opacity:1; transform:translateY(0); }
    }

    .hero-content .hero-verse,
    .hero-content .hero-logo,
    .hero-content h1,
    .hero-content .hero-subtitle,
    .hero-content .hero-buttons{
        opacity:0;
        animation:heroReveal .8s ease-out forwards;
    }

    .hero-content .hero-verse{ animation-delay:.1s; }
    .hero-content .hero-logo{ animation-delay:.25s; }
    .hero-content h1{ animation-delay:.4s; }
    .hero-content .hero-subtitle{ animation-delay:.55s; }
    .hero-content .hero-buttons{ animation-delay:.7s; }
}


/* ==========================================
   HERO VERSE
========================================== */

.hero-verse{

    display:flex;
    flex-direction:column;
    align-items:center;

    max-width:720px;

    margin:0 auto 1.75rem;

    padding:1.25rem 0;

    position:relative;
}

.hero-verse::before{

    content:"";

    width:80px;
    height:1px;

    background:rgba(255,215,0,.35);

    margin-bottom:1.25rem;
}

.verse-text{

    font-family:'Cormorant Garamond',serif;

    font-style:italic;

    font-size:clamp(1.5rem, 3vw, 2.1rem);

    line-height:1.5;

    letter-spacing:.01em;

    color:rgba(255,255,255,.88);

    font-weight:500;

    text-align:center;

    max-width:650px;

    margin:0;
}

.verse-reference{

    margin-top:.85rem;

    font-size:.8rem;

    letter-spacing:.25em;

    text-transform:uppercase;

    color:var(--primary);

    font-weight:600;
    font-family:var(--body-font);
}

@media (max-width:768px){

    .hero-verse{

        padding:1.25rem 0;

        margin-bottom:2.25rem;
    }

    .hero-verse::before{

        width:60px;
    }

    .verse-text{

        line-height:1.45;

        font-size:1.3rem;
    }

    .verse-reference{

        font-size:.75rem;

        letter-spacing:.18em;
    }
}

.hero-verse{

    display:flex;

    flex-direction:column;

    gap:8px;

    margin-bottom:0px;

}

/* ==========================================
   LOGO
========================================== */

.hero-logo{

    width:400px;

    max-width:55vw;

    display:block;

    margin:0 auto 12px;

    padding:0px 24px;
}

/* ==========================================
   TITLE
========================================== */

#hero h1{

    font-family:var(--heading-font);

    font-size:clamp(1.5rem,5.5vw,4.5rem);

    line-height:.95;

    letter-spacing:2px;

    color:#fff;

    margin-bottom:16px;

    text-transform:uppercase;
}

/* ==========================================
   SUBTITLE
========================================== */

.hero-subtitle{

    max-width:700px;

    margin:0 auto 28px;

    color:#d4d4d4;

    font-size:1.1rem;

    line-height:1.65;
}

/* ==========================================
   BUTTONS
========================================== */

.hero-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;
}

.hero-buttons .btn-primary{

    min-width:260px;
}
/* ========================================
   BUTTONS
======================================== */

/* ==========================================
   PREMIUM BUTTONS
========================================== */

.btn-primary,
.btn-secondary{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:190px;
    height:56px;

    padding:0 32px;

    text-decoration:none;

    font-family:var(--body-font);
    font-size:.85rem;
    font-weight:700;

    letter-spacing:2px;
    text-transform:uppercase;

    transition:all .3s ease;

    cursor:pointer;
}

/* PRIMARY CTA */

.btn-primary{

    background:var(--primary);

    color:#0D0D0C;

    border:1px solid var(--primary);

    box-shadow:
        0 0 0 rgba(255,215,0,0);
}

.btn-primary:hover{

    transform:translateY(-3px);

    box-shadow:
        0 10px 30px rgba(255,215,0,.25),
        0 0 20px rgba(255,215,0,.15);
}

/* SECONDARY CTA */

.btn-secondary{

    background:rgba(255,255,255,.03);

    color:#fff;

    border:1px solid rgba(255,215,0,.45);

    backdrop-filter:blur(4px);
}

.btn-secondary:hover{

    background:rgba(255,215,0,.08);

    border-color:var(--primary);

    color:var(--primary);

    transform:translateY(-3px);
}

.btn-ghost{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:180px;
    height:52px;

    padding:0 30px;

    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,215,0,.5);

    color:#fff;

    font-family:'Montserrat',sans-serif;
    font-weight:600;
    font-size:.85rem;
    letter-spacing:2px;
    text-transform:uppercase;

    text-decoration:none;

    backdrop-filter:blur(4px);

    transition:.3s ease;
}

.btn-ghost:hover{
    border-color:var(--primary);
    background:rgba(255,215,0,.08);
    color:var(--primary);
}

/* ========================================
   CARDS
======================================== */

.card-grid{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(280px,1fr));

    gap:25px;

    margin-top:40px;

}

.card,
.card-link{

    background:var(--card);

    border:1px solid var(--border);

    padding:35px;

    transition:.3s;

}

.card:hover,
.card-link:hover{

    transform:translateY(-6px);

    border-color:var(--primary);

}

.card h3{

    font-family:var(--heading-font);

    color:var(--primary);

    font-size:1.8rem;

    margin-bottom:15px;

}

.card-link{

    color:white;

    font-family:var(--heading-font);

    text-transform:uppercase;

    letter-spacing:1px;

    display:flex;

    justify-content:center;

    align-items:center;

    min-height:150px;

    font-size:1.5rem;

}

/* ========================================
   FORMS
======================================== */

.echelon-form{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.echelon-form h3{

    color:var(--primary);

    font-family:var(--heading-font);

    font-size:2rem;

    letter-spacing:1px;

    margin-top:30px;

}

.echelon-form label{

    font-size:.9rem;

    color:#ccc;

}

.echelon-form input,
.echelon-form select,
.echelon-form textarea{

    width:100%;

    background:#1A1917;

    color:white;

    border:1px solid #333;

    padding:16px;

    border-radius:8px;

    appearance:none;

}

.echelon-form textarea{

    resize:vertical;

    min-height:140px;

}

.echelon-form input:focus,
.echelon-form select:focus,
.echelon-form textarea:focus{

    outline:none;

    border-color:var(--primary);

    box-shadow:
    0 0 0 2px rgba(255,215,0,.15);

}


/* ========================================
   RESPONSIVE
======================================== */

@media(max-width:900px){

    .desktop-nav{
        display:none;
    }

    .mobile-toggle{
        display:block;
    }

}

@media(max-width:768px){

    .section{
        padding:75px 0;
    }

    .hero-buttons{

        flex-direction:column;

        align-items:center;

    }

    .btn-primary,
    .btn-secondary{

        width:100%;

        max-width:350px;

    }

    .hero-logo{

        width:190px;

        margin-bottom:6px;

    }

    .hero-buttons{

        gap:12px;

    }

}

@media(max-width:480px){

    .logo{

        font-size:1.35rem;

    }

    #hero h1{

        font-size:3rem;

    }

}
/* ========================================
   REVEAL ANIMATIONS
======================================== */

.reveal{

    opacity:0;

    transform:translateY(40px);

    transition:
    opacity .8s ease,
    transform .8s ease;

}

.reveal-active{

    opacity:1;

    transform:translateY(0);

}
.hero-description{

    max-width:700px;

    margin:0 auto 35px;

    color:#d0d0d0;

    font-size:1.1rem;

}


.about-section{
    padding:100px 0;
}

.about-header{
    max-width:800px;
    margin:0 auto 60px;
    text-align:center;
}

.about-header h2{
    font-size:clamp(2.5rem,6vw,5rem);
    margin:15px 0 20px;
}

.about-header p{
    max-width:700px;
    margin:auto;
    line-height:1.8;
    color:#bfbfbf;
}

.values-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    margin-bottom:80px;
}

.value-card{
    background:#1A1917;
    border:1px solid rgba(255,215,0,.08);
    padding:30px;
    transition:.3s;
}

.value-card:hover{
    transform:translateY(-6px);
    border-color:var(--primary);
}

.value-card h3{
    color:var(--primary);
    margin-bottom:15px;
}

.coach-block{
    display:grid;
    grid-template-columns:420px 1fr;
    gap:60px;
    align-items:center;
}

.coach-image img{
    width:100%;
    display:block;
    border-radius:12px;
}

.coach-content h3{
    font-size:2rem;
    margin:15px 0 20px;
}

.coach-content p{
    line-height:1.8;
    color:#c4c4c4;
}

.coach-highlights{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:15px;
    margin:30px 0;
}

.coach-highlights span{
    background:#1A1917;
    border:1px solid rgba(255,215,0,.1);
    padding:15px;
}

@media(max-width:992px){

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

    .coach-block{
        grid-template-columns:1fr;
    }

}

@media(max-width:768px){

    .values-grid{
        grid-template-columns:1fr;
    }

    .coach-highlights{
        grid-template-columns:1fr;
    }

}
/* ========================================
   GLOBAL SECTION SPACING
======================================== */

section{
    padding:100px 0;
}

html{
    scroll-padding-top:100px;
}
.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:220px;

    padding:16px 24px;

    text-decoration:none;

    text-transform:uppercase;

    font-family:var(--heading-font);

    letter-spacing:1px;

    transition:.3s;

}
.btn-primary,
.btn-secondary

/* ========================================
   FORM HUB
======================================== */
.footer-links{
    display:flex;
    justify-content:center;
    gap:25px;
    margin-bottom:20px;
}

.footer-links a{
    color:#888;
    transition:.3s;
}

.footer-links a:hover{
    color:var(--primary);
}

/* ==================================
   ABOUT
================================== */

.about-section{
    padding:80px 0;
    background:#0D0D0C;
    position:relative;
}

.about-section .container{
    max-width:1200px;
}

/* INTRO */

.about-intro{
    text-align:center;
    max-width:760px;
    margin:0 auto 70px;
}

.about-intro h2{
    font-size:clamp(2.5rem,5vw,4.5rem);
    line-height:.95;
    margin:12px 0 20px;
    font-family:var(--heading-font);
}

.about-intro p{
    color:#bcbcbc;
    line-height:1.8;
    max-width:700px;
    margin:auto;
}

.philosophy-toggle{
    display:inline-flex;
    align-items:center;
    gap:14px;
    background:rgba(215,181,91,.08);
    border:1px solid rgba(215,181,91,.5);
    color:#D4AF37;
    margin-top:28px;
    padding:13px 16px;
    cursor:pointer;
    font-weight:600;
    letter-spacing:1px;
    text-transform:uppercase;
}

.philosophy-toggle span{ font-size:1.1rem; }

.philosophy-toggle:hover{
    opacity:.8;
}

.philosophy-expand{
    max-height:0;
    overflow:hidden;
    transition:.5s ease;
    margin-top:0;
    text-align:left;
    background:linear-gradient(135deg,rgba(215,181,91,.1),rgba(255,255,255,.02));
    border:1px solid transparent;
    border-top:0;
    padding:0 24px;
}

.philosophy-expand.active{
    max-height:500px;
    margin-top:0;
    padding:24px;
    border-color:rgba(215,181,91,.3);
}

.philosophy-expand p{
    margin-bottom:16px;
}

/* COACH */

.coach-section{
    display:grid;
    grid-template-columns:420px 1fr;
    gap:60px;
    align-items:center;
    margin-bottom:70px;
}

.coach-image{
    position:relative;
}

.coach-image img{
    width:100%;
    border-radius:24px;
    display:block;
    border:1px solid rgba(212,175,55,.25);
    transition:.5s ease;
    box-shadow:
    0 20px 50px rgba(13, 13, 12,.45);
    aspect-ratio:4/5;
    object-fit:cover;
    object-position:center;
    filter:saturate(.92) sepia(.06) contrast(1.02);
}

.coach-image:hover img{
    transform:scale(1.03);
}

.coach-content h3{
    font-size:clamp(2rem,4vw,3.5rem);
    line-height:1;
    margin:12px 0 20px;
}

.coach-content p{
    color:#c0c0c0;
    line-height:1.8;
    margin-bottom:16px;
}

/* PRINCIPLES */

.principles-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    margin-bottom:70px;
}

.principle-card{
    background:
    linear-gradient(
    180deg,
    rgba(255,255,255,.02),
    rgba(255,255,255,.01)
    );

    border:1px solid rgba(212,175,55,.12);

    border-radius:18px;

    padding:28px;

    transition:.4s ease;

    backdrop-filter:blur(10px);
}

.principle-card:hover{
    transform:translateY(-8px);

    border-color:#D4AF37;

    box-shadow:
    0 0 30px rgba(212,175,55,.12);
}

.principle-card span{
    color:#D4AF37;
    font-size:.8rem;
    letter-spacing:2px;
}

.principle-card h4{
    margin:12px 0;
    font-size:1.3rem;
}

.principle-card p{
    color:#bcbcbc;
    line-height:1.7;
}

.faith-card{
    background:
    linear-gradient(
    180deg,
    rgba(255,215,0,.08),
    rgba(255,215,0,.02)
    );

    border:1px solid rgba(212,175,55,.45);
}

.faith-card span{
    font-size:1.4rem;
}

.faith-card:hover{
    border-color:var(--primary);
    box-shadow:0 0 36px rgba(212,175,55,.22);
}

/* CTA */

.about-cta{
    text-align:center;
    border-top:1px solid rgba(212,175,55,.15);
    padding-top:50px;
}

.about-cta h3{
    margin-bottom:25px;
    font-size:clamp(1.8rem,3vw,2.5rem);
}

/* MOBILE */

@media(max-width:991px){

    .coach-section{
        grid-template-columns:1fr;
        text-align:center;
    }

    .coach-image{
        max-width:450px;
        margin:auto;
    }

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

}

@media(max-width:768px){

    .about-section{
        padding:60px 0;
    }

    .principles-grid{
        grid-template-columns:1fr;
    }

    .coach-content h3{
        line-height:1.05;
    }

    .coach-section{ gap:32px; margin-bottom:52px; }
    .coach-image{ width:min(100%,420px); display:block; }
    .coach-image img{ display:block; width:100%; min-height:360px; }
    .about-intro{ margin-bottom:48px; }
    .philosophy-expand.active{ padding:20px; }

}


/* ==========================================
RESOURCES
========================================== */

#resources{

    padding:120px 0;
    background:#0D0D0C;

}

.resources-intro{

    max-width:700px;
    margin:0 auto 60px;
    text-align:center;
    color:#bdbdbd;
    line-height:1.8;

}

.resources-grid{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(280px,1fr));

    gap:25px;

}

.resource-card{

    background:#1A1917;

    border:1px solid rgba(212,175,55,.12);

    border-radius:20px;

    padding:35px;

    display:flex;
    flex-direction:column;

    transition:.35s;

}

.resource-card:hover{

    transform:translateY(-6px);

    border-color:#D4AF37;

    box-shadow:
    0 15px 45px rgba(212,175,55,.08);

}

.resource-card h3{

    font-size:2rem;

    margin-bottom:10px;

}

.resource-label{

    display:block;

    color:#D4AF37;

    text-transform:uppercase;

    letter-spacing:2px;

    font-size:.8rem;

    margin-bottom:25px;

}

.resource-card ul{

    list-style:none;

    padding:0;
    margin:0;

}

.resource-card li{

    padding:10px 0;

    color:#bdbdbd;

    border-bottom:
    1px solid rgba(255,255,255,.05);

}

.resource-card li:last-child{

    border-bottom:none;

}

.resources-footer{

    text-align:center;

    margin-top:50px;

}


/* ==========================================
MOBILE
========================================== */

@media(max-width:768px){

#resources{

    padding:80px 0;

}

.resources-grid{

    grid-template-columns:1fr;

}

}

/* ==========================================
   SHOP SECTION
========================================== */

#shop{
    padding:10px 0;
}

/* ==========================================
   SHOP HEADERS
========================================== */

.shop-category{
    margin-bottom:90px;
}

.shop-heading{
    font-family:var(--heading-font);
    font-size:3rem;
    color:var(--primary);
    text-transform:uppercase;
    letter-spacing:2px;
    margin-bottom:35px;
    line-height:1;
}

/* ==========================================
   APPAREL CAROUSEL
========================================== */

.apparel-carousel{

    display:flex;
    gap:24px;

    overflow-x:auto;
    overflow-y:hidden;

    scroll-snap-type:x proximity;

    padding-bottom:12px;

    scrollbar-width:none;
}

.apparel-carousel::-webkit-scrollbar{
    display:none;
}

/* ==========================================
   UNIVERSAL PRODUCT CARD
   MATCHES TRAINING HUB STYLE
========================================== */

.product-card{

    flex:0 0 350px;

    min-height:600px;

    background:#1A1917;

    border:1px solid var(--primary);

    padding:10px;

    display:flex;
    flex-direction:column;

    scroll-snap-align:start;

    transition:.3s ease;
}

.product-card:hover{

    transform:translateY(-6px);

    border-color:var(--primary);

    box-shadow:
    0 0 20px rgba(255,215,0,.08);
}

/* ==========================================
   FEATURED PRODUCT
========================================== */

.featured-product{

    border-color:var(--primary);

    box-shadow:
    0 0 25px rgba(255,215,0,.08);
}

/* ==========================================
   PRODUCT IMAGE
========================================== */

.product-image-wrap{

    position:relative;

    margin-bottom:20px;
}

.product-image-wrap img{

    width:100%;

    aspect-ratio:1/1;

    object-fit:cover;

    border:1px solid rgba(255,215,0,.25);

    transition:.3s ease;
}

.product-card:hover img{

    border-color:var(--primary);
}

/* ==========================================
   STATUS TAGS
========================================== */

.status-tag{

    position:absolute;

    top:12px;
    left:12px;

    background:#1A1917;

    border:1px solid rgba(255,215,0,.35);

    color:#888;

    padding:8px 12px;

    font-size:11px;

    font-weight:800;

    letter-spacing:1px;

    text-transform:uppercase;
}

.available{
    color:var(--primary);
}

/* ==========================================
   COLOR SWATCHES
========================================== */

.color-swatches{

    display:flex;

    gap:12px;

    margin-bottom:25px;
}

.swatch{

    width:24px;
    height:24px;

    border-radius:50%;

    cursor:pointer;

    border:2px solid transparent;

    transition:.25s ease;
}

.swatch:hover{
    transform:scale(1.1);
}

.swatch.active{
    border-color:var(--primary);
}

.swatch.black{
    background:#0D0D0C;
}

.swatch.white{
    background:#fff;
}

.swatch.gray{
    background:#666;
}

.swatch.steel{
    background:silver;
}

/* ==========================================
   PRODUCT TITLES
========================================== */

.product-card h4{

    font-family:var(--heading-font);

    font-size:2.5rem;

    line-height:1;

    color:#fff;

    margin-bottom:15px;

    text-transform:uppercase;

    letter-spacing:1px;
}

/* ==========================================
   PRODUCT DESCRIPTION
========================================== */

.product-card p{

    color:#a8a8a8;

    line-height:1.7;

    margin-bottom:20px;
}

/* ==========================================
   PRODUCT SELECTS
========================================== */

.product-select{

    width:100%;

    background:#0D0D0C;

    border:1px solid var(--primary);

    color:#fff;

    font-weight:600;

    letter-spacing:1px;

    text-transform:uppercase;

    padding:14px;

    margin-bottom:18px;

    outline:none;
}

.product-select:focus{

    border-color:var(--primary);

    box-shadow:
    0 0 10px rgba(255,215,0,.15);
}

/* ==========================================
   PRICE
========================================== */

.price{

    margin-top:auto;

    font-size:42px;

    font-weight:900;

    color:var(--primary);

    margin-bottom:20px;

    line-height:1;
}

/* ==========================================
   BUTTONS
========================================== */

.product-card .btn-primary,
.product-card .btn-secondary{

    width:100%;

    margin-top:20px;
}

.product-card .btn-secondary{

    background:transparent;

    border:1px solid var(--primary);

    color:var(--primary);
}

.product-card .btn-secondary:hover{

    background:var(--primary);

    color:#0D0D0C;
}

/* ==========================================
   FUTURE PRODUCTS
========================================== */

.future-product{

    justify-content:center;
    align-items:center;

    text-align:center;

    border-style:dashed;

    border-color:rgba(255,215,0,.18);

    color:#555;
}

.future-product h4{

    font-family:var(--heading-font);

    font-size:2rem;

    color:#666;

    margin-bottom:12px;
}

.future-product p{

    color:#444;

    text-transform:uppercase;

    letter-spacing:2px;

    font-size:.8rem;
}

/* ==========================================
   NUTRITION GRID
========================================== */

.nutrition-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:24px;

}

.nutrition-card{

    min-height:700px;
}
#training .training-card-inner {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

/* ==========================================
   NUTRITION TAG
========================================== */

.nutrition-tag{

    font-size:11px;

    font-weight:800;

    letter-spacing:1.5px;

    text-transform:uppercase;

    color:var(--primary);

    margin-bottom:14px;
}

/* ==========================================
   NUTRITION TEXT
========================================== */

.nutrition-card p{

    color:#b8b8b8;

    line-height:1.7;

    margin-bottom:25px;
}

/* ==========================================
   CATALOG CARD
========================================== */

.catalog-card{

    justify-content:center;

    align-items:center;

    text-align:center;
}

.catalog-icon{

    font-size:4rem;

    color:var(--primary);

    margin-bottom:20px;
}

/* ==========================================
   DISCLAIMER
========================================== */

.amway-disclaimer{

    margin-top:60px;

    padding-top:30px;

    border-top:1px solid rgba(255,255,255,.08);

    text-align:center;

    color:#777;

    font-size:12px;

    line-height:1.8;
}

/* ==========================================
   RESPONSIVE
========================================== */

@media(max-width:1200px){

    .nutrition-grid{

        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:768px){

    .product-card{

        flex:0 0 85%;

        min-height:auto;
    }

    .nutrition-grid{

        grid-template-columns:1fr;
    }

    .shop-heading{

        font-size:2.4rem;
    }

    .product-card h4{

        font-size:2rem;
    }

    .price{

        font-size:36px;
    }
}

.shop-tabs{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:60px;

    margin-bottom:50px;

    border-bottom:1px solid rgba(255,255,255,.08);

    padding-bottom:20px;
}

.shop-tab{

    background:none;

    border:none;

    color:#888;

    cursor:pointer;

    font-family:var(--heading-font);

    font-size:2rem;

    letter-spacing:2px;

    text-transform:uppercase;

    position:relative;

    transition:.3s ease;
}

.shop-tab:hover{

    color:white;
}

.shop-tab.active{

    color:var(--primary);
}

.shop-tab.active::after{

    content:"";

    position:absolute;

    left:0;
    bottom:-21px;

    width:100%;
    height:3px;

    background:var(--primary);

    box-shadow:
    0 0 8px rgba(255,215,0,.6);
}
.shop-content{

    display:none;

    animation:fadeShop .35s ease;
}

.shop-content.active-content{

    display:block;
}

@keyframes fadeShop{

    from{

        opacity:0;
        transform:translateY(10px);
    }

    to{

        opacity:1;
        transform:translateY(0);
    }
}
/* ==========================================
   REVIEWS
========================================== */

.reviews-carousel{

    display:flex;
    gap:24px;

    overflow-x:auto;
    overflow-y:hidden;

    scroll-snap-type:x proximity;

    scrollbar-width:none;

    padding-bottom:10px;
}

.reviews-carousel::-webkit-scrollbar{
    display:none;
}

.review-card{

    flex:0 0 340px;

    min-height:560px;

    background:#0D0D0C;

    border:1px solid rgba(255,215,0,.45);

    padding:20px;

    display:flex;
    flex-direction:column;

    scroll-snap-align:start;
}

.review-card:hover{

    border-color:#FFD700;
}

/* ==========================================
   PHOTO
========================================== */

.review-photo{

    width:100%;

    aspect-ratio:1/1;

    overflow:hidden;

    margin-bottom:20px;

    border:1px solid rgba(255,255,255,.15);
}

.review-photo img{

    width:100%;
    height:100%;

    object-fit:cover;

    filter:saturate(.92) sepia(.06) contrast(1.02);
}

/* ==========================================
   STARS
========================================== */

.review-stars{

    color:#FFD700;

    font-size:20px;

    margin-bottom:15px;

    letter-spacing:3px;
}

/* ==========================================
   TEXT
========================================== */

.review-text{

    color:#b8b8b8;

    line-height:1.8;

    margin-bottom:30px;

    flex-grow:1;
}

/* ==========================================
   AUTHOR
========================================== */

.review-author strong{

    display:block;

    color:#fff;

    font-size:14px;

    letter-spacing:1px;
}

.review-author span{

    color:#FFD700;

    font-size:12px;

    text-transform:uppercase;
}

/* ==========================================
   FEATURED REVIEW
========================================== */

.featured-review{

    border:1px solid #FFD700;

    justify-content:center;

    text-align:center;
}

.review-icon{

    font-size:40px;

    color:#FFD700;

    margin-bottom:20px;
}

/* ==========================================
   FUTURE SLOT
========================================== */

.future-review{

    justify-content:center;

    align-items:center;

    text-align:center;

    color:#555;

    border-style:dashed;
}

.future-icon{

    font-size:50px;

    color:#FFD700;

    margin-bottom:20px;
}
/* ========================================
   CONTACT
======================================== */

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

.contact-section{

    background:#0D0D0C;
}

.contact-wrapper{

    max-width:800px;

    margin:0 auto;
}

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

.contact-heading{

    display:flex;

    align-items:flex-start;

    gap:25px;

    margin-bottom:50px;
}

.contact-accent{

    width:8px;

    height:100px;

    background:var(--primary);

    flex-shrink:0;
}

.contact-title{

    font-family:var(--heading-font);

    font-size:5rem;

    line-height:1;

    margin-bottom:20px;

    color:white;
}

.contact-title span{

    color:var(--primary);
}

.contact-subtitle{

    color:#9d9d9d;

    font-size:1.05rem;

    line-height:1.7;

    max-width:700px;
}

/* ==========================================
   FORM
========================================== */

.contact-form{

    border-top:1px solid rgba(255,255,255,.08);

    padding-top:40px;
}

.contact-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;

    margin-bottom:25px;
}

.form-group{

    margin-bottom:5px;
}

.form-group label{

    display:block;

    margin-bottom:10px;

    color:var(--primary);

    font-family:var(--heading-font);

    font-size:.9rem;

    letter-spacing:1px;
}

.contact-form input,
.contact-form select,
.contact-form textarea{

    width:100%;

    background:#0D0D0C;

    border:1px solid rgba(255,255,255,.08);

    color:white;

    padding:18px;

    font-size:1rem;

    transition:.3s ease;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{

    outline:none;

    border-color:var(--primary);
}

.contact-form textarea{

    resize:vertical;

    min-height:180px;
}

/* ==========================================
   BUTTON
========================================== */

.contact-submit{

    width:100%;

    margin-top:10px;
}

.member-access-page{

    min-height:70vh;

    display:flex;

    align-items:center;
}

.member-access-card{

    max-width:620px;

    margin:0 auto;
}

.member-access-card h1,
.member-portal-heading h1{

    margin:12px 0;

    color:#fff;
}

.member-access-card > p,
.member-portal-heading p{

    color:#bdbdbd;

    line-height:1.6;
}

.member-access-card .echelon-form{

    margin-top:32px;
}

.member-portal-heading{

    margin-bottom:34px;
}

.member-hub-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    padding:6px 0 8px;
}

.member-hub-heading h1{ max-width:680px; }

.member-email-badge{
    flex:0 0 auto;
    margin:0!important;
    padding:10px 13px;
    border:1px solid rgba(215,181,91,.34);
    background:rgba(215,181,91,.07);
    color:#d8d8d8!important;
    font-size:.68rem!important;
    letter-spacing:.08em;
    overflow-wrap:anywhere;
}

.member-command-strip{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1px;
    margin:0 0 20px;
    border:1px solid rgba(215,181,91,.36);
    background:rgba(215,181,91,.22);
}

.member-command-strip a{
    display:block;
    min-height:155px;
    padding:24px;
    background:linear-gradient(145deg,rgba(16,16,16,.97),rgba(6,6,6,.97));
    color:#fff;
    text-decoration:none;
    transition:background .25s ease;
}

.member-command-strip a:hover{ background:linear-gradient(145deg,rgba(215,181,91,.16),rgba(6,6,6,.97)); }
.member-command-strip span{ display:block; color:var(--primary); font-size:.64rem; font-weight:700; letter-spacing:.14em; }
.member-command-strip strong{ display:block; margin:14px 0 8px; font-family:var(--heading-font); font-size:1.35rem; letter-spacing:.04em; }
.member-command-strip p{ margin:0; color:#aaa; font-size:.74rem; line-height:1.55; }

.member-portal-grid{

    display:grid;

    grid-template-columns:repeat(3, minmax(0, 1fr));

    gap:20px;
}

.performance-page{

    background:
        radial-gradient(circle at 90% 0%, rgba(215,181,91,.1), transparent 28rem),
        #0D0D0C;
}

.performance-grid{

    display:grid;

    grid-template-columns:repeat(2, minmax(0, 1fr));

    gap:20px;

    margin-bottom:20px;
}

.performance-card{

    min-height:190px;
}

.performance-card h2,
.performance-form-card h2{

    margin-top:0;
}

.performance-list{

    display:grid;

    gap:10px;

    color:#bdbdbd;

    line-height:1.55;
}

.streak-badge{

    display:inline-block;

    margin-bottom:14px;

    padding:6px 14px;

    border:1px solid rgba(255,215,0,.4);

    color:var(--primary);

    font-family:var(--heading-font);

    font-size:.95rem;

    letter-spacing:1px;
}

.performance-list-item{

    padding:12px 0;

    border-bottom:1px solid rgba(255,255,255,.1);
}

.performance-form-card{

    max-width:none;
}

.performance-input-grid{

    display:grid;

    grid-template-columns:repeat(3, minmax(0, 1fr));

    gap:12px;

    margin-bottom:14px;
}

@media(max-width:720px){

    .performance-grid,
    .performance-input-grid{

        grid-template-columns:1fr;
    }
}

.member-portal-card{

    display:block;

    min-height:250px;

    padding:30px;

    background:#0D0D0C;

    border:1px solid rgba(255,255,255,.12);

    color:#fff;

    text-decoration:none;

    transition:transform .25s ease, border-color .25s ease;
}

.member-portal-card:not(.member-portal-card-static):hover{

    transform:translateY(-5px);

    border-color:var(--primary);
}

.member-portal-card span,
.member-portal-card strong{

    color:var(--primary);

    font-family:var(--heading-font);

    letter-spacing:1px;
}

.member-portal-card h2{

    margin:24px 0 12px;

    font-size:2rem;
}

.member-portal-card p{

    color:#bdbdbd;

    line-height:1.65;
}

.member-portal-card strong{

    display:block;

    margin-top:26px;
}

.member-portal-card-static{

    opacity:.72;
}

.member-portal-card-featured{grid-column:span 2;min-height:250px;border-color:rgba(215,181,91,.58);background:radial-gradient(circle at 85% 8%,rgba(215,181,91,.16),transparent 38%),linear-gradient(135deg,rgba(215,181,91,.12),rgba(8,8,8,.98))}.member-portal-card-featured h2{font-size:2.5rem}.member-portal-card-featured p{max-width:590px}.member-setup-section{margin-top:20px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.025)}.member-setup-section>summary{position:relative;display:grid;gap:8px;padding:24px 60px 24px 26px;cursor:pointer;list-style:none}.member-setup-section>summary::-webkit-details-marker{display:none}.member-setup-section>summary>strong{color:#fff;font-size:.8rem;letter-spacing:.1em}.member-setup-section>summary p{margin:0;color:#aaa;font-size:.76rem;line-height:1.55}.member-setup-section>summary i{position:absolute;right:25px;top:50%;color:var(--primary);font:400 1.7rem/1 var(--heading-font);transform:translateY(-50%);font-style:normal}.member-setup-section[open]>summary{border-bottom:1px solid rgba(215,181,91,.3);background:rgba(215,181,91,.055)}.member-setup-section[open]>summary i{transform:translateY(-50%) rotate(45deg)}.member-setup-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px}.member-setup-links a{display:block;padding:24px;border:1px solid rgba(255,255,255,.12);background:#0D0D0C;color:#fff;text-decoration:none}.member-setup-links a:hover{border-color:var(--primary)}.member-setup-links span,.member-setup-links a>strong{color:var(--primary);font-family:var(--heading-font);letter-spacing:1px}.member-setup-links h2{margin:18px 0 10px;font-size:1.65rem}.member-setup-links p{margin:0;color:#aaa;font-size:.78rem;line-height:1.6}.member-setup-links a>strong{display:block;margin-top:20px;font-size:.76rem}@media(max-width:720px){.member-portal-card-featured{grid-column:auto}.member-setup-links{grid-template-columns:1fr}}@media(max-width:480px){.member-portal-card-featured h2{font-size:2rem}.member-setup-section>summary{padding:22px 55px 22px 22px}.member-setup-links{padding:10px}}

.member-sign-out{

    margin-top:30px;
}

.onboarding-page{

    padding-top:90px;

    padding-bottom:90px;
}

.onboarding-card{

    max-width:850px;

    margin:0 auto;
}

.onboarding-card h1{

    margin:14px 0;
}

.onboarding-intro{

    color:#bdbdbd;

    line-height:1.65;

    margin-bottom:30px;
}

.waiver-document{

    height:auto;

    max-height:520px;

    margin:0 0 18px;

    border:1px solid rgba(255,255,255,.16);

    background:#0D0D0C;

    color:#d1d1d1;
}

.waiver-document h2{

    color:#fff;

    font-size:1.8rem;

    line-height:1.1;
}

.waiver-document strong{

    color:var(--primary);
}

.waiver-review-note{

    margin:0 0 24px;

    color:#d7b55b;

    font-size:.8rem;

    line-height:1.55;
}

/* ==========================================
   ADMIN CONSOLE
========================================== */

.admin-console-page{

    padding-top:70px;

    background:
        radial-gradient(circle at 12% 0%, rgba(215,181,91,.12), transparent 27rem),
        linear-gradient(145deg, #0D0D0C, #1A1917 48%, #0D0D0C);
}

.admin-intake-section{

    margin-top:42px;

    border:1px solid rgba(255,255,255,.15);

    background:rgba(8,8,8,.7);

    box-shadow:0 22px 45px rgba(13, 13, 12,.22);
}

.admin-console-section{

    margin-top:22px;
}

.admin-console-section summary{

    cursor:pointer;

    list-style:none;
}

.admin-console-section summary::-webkit-details-marker{

    display:none;
}

.admin-console-section summary::after{

    content:'+';

    color:var(--primary);

    font-family:var(--heading-font);

    font-size:2rem;
}

.admin-console-section[open] summary::after{

    content:'−';
}

.admin-summary-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:16px;

    margin:30px 0;
}

.admin-summary-grid article{

    padding:24px;

    border:1px solid rgba(255,255,255,.15);

    background:#0D0D0C;

    background:linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.015));

    border-top:2px solid rgba(215,181,91,.75);

    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.admin-summary-grid span{

    display:block;

    color:#bdbdbd;

    font-size:.72rem;

    font-weight:700;

    letter-spacing:.08em;
}

.admin-summary-grid strong{

    display:block;

    margin-top:10px;

    color:var(--primary);

    font-family:var(--heading-font);

    font-size:2.6rem;
}

.admin-record-list{

    padding:20px 30px;

    color:#bdbdbd;
}

.admin-record{

    display:grid;

    grid-template-columns:1.2fr 1fr .8fr;

    gap:18px;

    padding:16px 0;

    border-bottom:1px solid rgba(255,255,255,.1);
}

.admin-record:last-child{

    border-bottom:0;
}

.admin-record strong,
.admin-record span{

    overflow-wrap:anywhere;
}

.admin-record span{

    font-size:.8rem;
}

.equipment-record{
    border-bottom:1px solid rgba(255,255,255,.1);
    padding:14px 0;
}

.equipment-record:last-child{
    border-bottom:0;
}

.equipment-record summary{
    display:grid;
    grid-template-columns:1.3fr .8fr .6fr .6fr 1fr auto;
    gap:14px;
    align-items:center;
    cursor:pointer;
    color:#bdbdbd;
    font-size:.85rem;
    list-style:none;
}

.equipment-record summary::-webkit-details-marker{ display:none; }

.equipment-record summary strong{
    color:#fff;
    overflow-wrap:anywhere;
}

.equipment-record-delete{
    background:none;
    border:1px solid rgba(255,90,90,.4);
    color:#ff8a8a;
    font-size:.68rem;
    letter-spacing:.05em;
    padding:6px 10px;
    cursor:pointer;
}

.equipment-record-body{
    margin-top:14px;
    padding:14px;
    background:#0D0D0C;
    border:1px solid #1A1917;
}

.equipment-note-list{
    list-style:none;
    margin:0 0 14px;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:8px;
}

.equipment-note-list li{
    font-size:.8rem;
    color:#bdbdbd;
    border-left:2px solid var(--primary);
    padding:4px 10px;
}

.equipment-note-list li time{
    display:block;
    color:#777;
    font-size:.68rem;
    margin-top:2px;
}

.equipment-note-form{
    display:flex;
    gap:10px;
}

.equipment-note-form input{
    flex:1;
}

@media(max-width:820px){
    .equipment-record summary{
        grid-template-columns:1fr 1fr;
    }
}

#workout-exercise-editor,
#program-calendar-editor{
    margin-top:20px;
    padding:16px;
    background:#0D0D0C;
    border:1px solid var(--primary);
}

/* ==========================================
COACHING PLAYBOOK
========================================== */

.playbook-layout{
    display:grid;
    grid-template-columns:300px 1fr;
    gap:0;
    border:1px solid rgba(255,255,255,.13);
    background:#0D0D0C;
    height:min(80vh,800px);
    min-height:640px;
    overflow:hidden;
}

.playbook-nav{
    border-right:1px solid rgba(255,255,255,.13);
    padding:18px;
    overflow-y:auto;
}

.playbook-search{
    width:100%;
    margin-bottom:16px;
    padding:9px 12px;
    background:#1A1917;
    border:1px solid rgba(255,255,255,.15);
    color:#eee;
    font:400 .78rem 'Montserrat',sans-serif;
}

.playbook-group{
    margin-bottom:18px;
}

.playbook-group-label{
    margin:0 0 8px;
    color:#777;
    font:700 .62rem 'Montserrat',sans-serif;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.playbook-list{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:2px;
}

.playbook-item{
    display:flex;
    align-items:center;
    gap:9px;
    padding:8px 9px;
    cursor:pointer;
    border:1px solid transparent;
}

.playbook-item:hover{
    background:rgba(255,255,255,.04);
}

.playbook-item.active{
    background:rgba(215,181,91,.1);
    border-color:rgba(215,181,91,.4);
}

.playbook-dot{
    width:6px;
    height:6px;
    min-width:6px;
    border-radius:50%;
    background:#888;
}

.playbook-dot-program{ background:var(--primary); }
.playbook-dot-blueprint{ background:#7fb3a3; }
.playbook-dot-template{ background:#d69173; }
.playbook-dot-education{ background:#93a8d6; }
.playbook-dot-delivery{ background:#c99bd6; }

.playbook-item-title{
    color:#ccc;
    font-size:.76rem;
    line-height:1.35;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.playbook-item.active .playbook-item-title{ color:var(--primary); }

.playbook-reading-pane{
    display:flex;
    flex-direction:column;
    min-width:0;
    min-height:0;
    height:100%;
}

.playbook-topbar{
    display:flex;
    align-items:center;
    gap:12px;
    padding:16px 26px;
    border-bottom:1px solid rgba(255,255,255,.13);
    position:sticky;
    top:0;
    background:#0D0D0C;
}

.playbook-chip{
    font:700 .6rem 'Montserrat',sans-serif;
    letter-spacing:.1em;
    text-transform:uppercase;
    padding:4px 9px;
    border-radius:4px;
    background:#333;
    color:#fff;
    white-space:nowrap;
}

.playbook-chip-program{ background:var(--primary); color:#3a2e0f; }
.playbook-chip-blueprint{ background:#7fb3a3; color:#0f2d26; }
.playbook-chip-template{ background:#d69173; color:#3a1c0f; }
.playbook-chip-education{ background:#93a8d6; color:#131d38; }
.playbook-chip-delivery{ background:#c99bd6; color:#2c123a; }

.playbook-doc-title{
    color:#fff;
    font:700 .82rem 'Montserrat',sans-serif;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.playbook-body{
    padding:28px 30px 40px;
    overflow-y:auto;
    flex:1;
    min-height:0;
}

.playbook-empty{
    color:#777;
    font-size:.82rem;
}

.playbook-body h2{
    margin:28px 0 12px;
    color:var(--primary);
    font-family:var(--heading-font);
    font-size:1.5rem;
}

.playbook-body h2:first-child{ margin-top:0; }

.playbook-body h3{
    margin:20px 0 8px;
    color:#fff;
    font:700 .82rem 'Montserrat',sans-serif;
    letter-spacing:.02em;
}

.playbook-body p{
    margin:0 0 14px;
    color:#ccc;
    font-size:.85rem;
    line-height:1.7;
    max-width:70ch;
}

.playbook-body strong{ color:#fff; }
.playbook-body em{ color:#aaa; }

.playbook-body hr{
    border:none;
    border-top:1px solid rgba(255,255,255,.12);
    margin:24px 0;
}

.playbook-body ul,
.playbook-body ol{
    margin:0 0 14px;
    padding-left:20px;
    max-width:70ch;
}

.playbook-body li{
    color:#ccc;
    font-size:.85rem;
    line-height:1.65;
    margin-bottom:6px;
}

.playbook-body .table-scroll{
    overflow-x:auto;
    margin:0 0 18px;
    border:1px solid rgba(255,255,255,.13);
}

.playbook-body table{
    border-collapse:collapse;
    width:100%;
    font-size:.76rem;
}

.playbook-body thead th{
    text-align:left;
    padding:9px 12px;
    background:#1A1917;
    color:#d7b55b;
    border-bottom:1px solid rgba(255,255,255,.13);
    white-space:nowrap;
}

.playbook-body tbody td{
    padding:8px 12px;
    color:#ccc;
    border-bottom:1px solid rgba(255,255,255,.08);
    vertical-align:top;
}

@media(max-width:900px){
    .playbook-layout{
        grid-template-columns:1fr;
        height:auto;
        max-height:none;
        overflow:visible;
    }
    .playbook-reading-pane{
        height:auto;
        min-height:400px;
    }
    .playbook-nav{
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.13);
        max-height:300px;
    }
}

.admin-resource-layout{

    display:grid;

    grid-template-columns:minmax(260px,.8fr) minmax(0,1.5fr);

    gap:30px;

    padding:30px;
}

.admin-resource-layout .echelon-form{

    margin:0;
}

.admin-bulk-upload{
    grid-column:1 / -1;
    margin-top:20px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.1);
}
.admin-bulk-upload h3{
    color:#fff;
    font-size:1rem;
    margin-bottom:6px;
}
.admin-bulk-upload>p{
    color:#999;
    font-size:.82rem;
    margin-bottom:14px;
    max-width:560px;
}
.admin-bulk-upload input[type="file"]{
    display:block;
    color:#bdbdbd;
    font-size:.82rem;
    margin-bottom:14px;
}
.admin-bulk-preview{
    display:grid;
    gap:10px;
    margin-bottom:14px;
}
.admin-bulk-row{
    display:grid;
    grid-template-columns:minmax(160px,1.2fr) minmax(160px,1fr) minmax(160px,.7fr);
    gap:10px;
    align-items:center;
    padding:10px;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.08);
}
.admin-bulk-filename{
    color:#999;
    font-size:.74rem;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.admin-bulk-row input,.admin-bulk-row select{
    padding:8px 10px;
    background:#111;
    border:1px solid #2a2a2a;
    color:#fff;
    font-size:.8rem;
}
@media(max-width:760px){
    .admin-bulk-row{grid-template-columns:1fr}
}

.admin-member-profile-form{

    display:grid;

    grid-template-columns:1fr 1fr auto;

    gap:10px;

    margin-top:14px;
}

.coach-command-layout{

    display:grid;

    grid-template-columns:minmax(290px,.85fr) minmax(0,1.4fr);

    gap:28px;

    padding:30px;
}

.coach-task-form{

    margin:0;

    padding:24px;

    border:1px solid rgba(215,181,91,.35);

    background:linear-gradient(145deg,rgba(215,181,91,.11),rgba(255,255,255,.025));
}

.coach-task-form h3{

    margin:0 0 18px;

    color:var(--primary);

    font-size:1.3rem;
}

.coach-task-fields{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:10px;
}

.coach-command-panels{

    display:grid;

    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);

    gap:18px;
}

.coach-attention-panel,
.coach-task-panel{

    padding:20px;

    border:1px solid rgba(255,255,255,.12);

    background:rgba(255,255,255,.025);
}

.coach-attention-list,
.coach-task-list{

    margin-top:16px;

    color:#bdbdbd;
}

.coach-attention-list article{

    display:flex;

    flex-direction:column;

    gap:5px;

    padding:13px 0;

    border-bottom:1px solid rgba(255,255,255,.1);
}

.coach-attention-list article:last-child{ border-bottom:0; }

.coach-attention-list strong{ color:#fff; font-size:.82rem; }
.coach-attention-list span,
.coach-task p{ color:#a8a8a8; font-size:.75rem; line-height:1.45; }

.coach-task{

    display:grid;

    grid-template-columns:minmax(0,1fr) auto;

    gap:12px;

    padding:15px 0;

    border-bottom:1px solid rgba(255,255,255,.1);
}

.coach-task:last-child{ border-bottom:0; }
.coach-task strong{ color:#fff; font-size:.9rem; }
.coach-task p{ margin:5px 0 0; }
.coach-task-detail{ color:#d4d4d4 !important; }
.coach-task.is-overdue strong{ color:#e6bc5c; }

.coach-task-complete{

    align-self:start;

    padding:8px 10px;

    border:1px solid rgba(215,181,91,.55);

    background:transparent;

    color:var(--primary);

    font-size:.62rem;

    font-weight:700;

    letter-spacing:.05em;

    cursor:pointer;
}

.coach-task-complete:disabled{ opacity:.45; cursor:default; }

.coaching-hub-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    align-items:start;
}
.coaching-panel-plan{ grid-column:span 2; }
.coaching-panel-today{ grid-column:span 2; }
.coaching-compass-three{ grid-template-columns:repeat(3,1fr); }
.coaching-compass-three article:nth-child(3){ border-right:0; }
.coaching-fuel-bridge{ display:flex; align-items:center; justify-content:space-between; gap:22px; margin:-22px 0 24px; padding:18px 22px; border:1px solid rgba(215,181,91,.3); background:rgba(215,181,91,.055); color:#fff; text-decoration:none; }
.coaching-fuel-bridge span{ color:var(--primary); font-size:.65rem; font-weight:700; letter-spacing:.13em; }
.coaching-fuel-bridge strong{ max-width:690px; font-size:.76rem; line-height:1.55; text-align:right; }
.coaching-fuel-bridge em{ margin-left:10px; color:var(--primary); font-style:normal; letter-spacing:.08em; white-space:nowrap; }
.coaching-hero{ padding:10px 0 20px; }
.coaching-compass{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    margin:4px 0 42px;
    border:1px solid rgba(215,181,91,.3);
    background:linear-gradient(100deg,rgba(215,181,91,.11),rgba(255,255,255,.015));
}
.coaching-compass article{ min-height:108px; padding:20px; border-right:1px solid rgba(255,255,255,.12); }
.coaching-compass article:last-child{ border-right:0; }
.coaching-compass span{ display:block; color:var(--primary); font-family:var(--heading-font); font-size:1.1rem; }
.coaching-compass strong{ display:block; margin-top:8px; color:#fff; font-size:.76rem; letter-spacing:.12em; }
.coaching-compass p{ margin:6px 0 0; color:#aaa; font-size:.72rem; }
.coaching-panel{ padding:30px; border:1px solid rgba(255,255,255,.14); background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(4,4,4,.84)); box-shadow:0 22px 50px rgba(13, 13, 12,.18); }
.coaching-panel:hover{ border-color:rgba(215,181,91,.5); }
.coaching-panel-heading{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding-bottom:18px; margin-bottom:22px; border-bottom:1px solid rgba(255,255,255,.11); }
.coaching-panel h2{ margin:8px 0 0; font-size:2rem; }
.coaching-panel-heading > p{ max-width:110px; margin:2px 0 0; color:#aaa; font-size:.72rem; line-height:1.45; text-align:right; }
.coaching-subheading{ margin-top:24px; color:var(--primary); font-size:.65rem; font-weight:700; letter-spacing:.16em; }
.training-panel{ min-height:420px; }
.message-panel{ background:linear-gradient(145deg,rgba(215,181,91,.09),rgba(4,4,4,.88)); }
.coaching-history,
.photo-timeline,
.message-thread{ margin-top:22px; }
.coaching-history-item{ padding:11px 0; border-bottom:1px solid rgba(255,255,255,.1); color:#d7d7d7; font-size:.78rem; }
.workout-plan-card{ padding:18px; margin-bottom:12px; border:1px solid rgba(215,181,91,.3); background:rgba(215,181,91,.05); }
.workout-plan-card h3{ margin:0 0 8px; color:var(--primary); font-size:1.2rem; }
.workout-plan-card p{ color:#ccc; font-size:.8rem; line-height:1.5; }
.workout-plan-card pre{ white-space:pre-wrap; font:400 .82rem/1.65 'Montserrat',sans-serif; color:#fff; }

.todays-work-list{ margin-top:22px; }
.todays-work-day{ padding:18px; margin-bottom:16px; border:1px solid rgba(255,255,255,.08); }
.todays-work-day:last-child{ margin-bottom:0; }
.todays-work-day.is-today{ border-color:rgba(215,181,91,.5); background:rgba(215,181,91,.04); }
.todays-work-day > h3{ margin:0 0 6px; color:var(--primary); font-size:1.15rem; }
.todays-work-day-desc{ margin:0 0 14px; color:#aaa; font-size:.78rem; line-height:1.5; }
.todays-work-setting{ display:inline-block; margin:0 0 14px; padding:4px 9px; border:1px solid rgba(255,255,255,.15); color:#ccc; font-size:.62rem; font-weight:700; letter-spacing:.08em; }
.todays-work-exercise{ padding:16px 18px; margin-bottom:10px; border:1px solid rgba(255,255,255,.13); background:rgba(255,255,255,.03); }
.todays-work-exercise h4{ margin:0 0 6px; color:#fff; font-size:1rem; }
.todays-work-exercise p{ margin:4px 0; color:#ccc; font-size:.78rem; line-height:1.5; }
.todays-work-prescription{ color:var(--primary)!important; font-weight:700; letter-spacing:.03em; }
.todays-work-target{ color:#e5d3a0!important; }
.todays-work-coach-note{ font-style:italic; }
.todays-work-mods{ margin-top:10px; padding-top:10px; border-top:1px solid rgba(255,255,255,.1); }
.todays-work-mods summary{ color:var(--primary); font-size:.68rem; font-weight:700; letter-spacing:.1em; cursor:pointer; }
.todays-work-mods p{ margin:8px 0 0; }
.todays-work-mods a{ color:var(--primary); }
.todays-work-status-done{ color:#8fd18f; font-size:.75rem; font-weight:700; letter-spacing:.05em; }
.photo-timeline{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.photo-timeline figure{ margin:0; }
.photo-timeline img{ width:100%; aspect-ratio:1; object-fit:cover; border:1px solid rgba(255,255,255,.18); transition:transform .3s ease,border-color .3s ease; }
.photo-timeline figure:hover img{ transform:scale(1.025); border-color:var(--primary); }
.photo-timeline figcaption{ margin-top:5px; color:#aaa; font-size:.65rem; line-height:1.3; }
.message-thread{ min-height:180px; max-height:360px; overflow:auto; display:flex; flex-direction:column; gap:10px; padding:4px; }
.message-separator{ display:flex; align-items:center; gap:10px; margin:12px 0 2px; color:#898989; font-size:.62rem; font-weight:700; letter-spacing:.13em; }
.message-separator::before,.message-separator::after{ content:''; height:1px; flex:1; background:rgba(255,255,255,.15); }
.message-separator.from-member{ color:var(--primary); }
.message-separator.from-member::before,.message-separator.from-member::after{ background:rgba(215,181,91,.35); }
.message-bubble{ max-width:85%; padding:12px 14px; color:#fff; font-size:.8rem; line-height:1.5; }
.message-bubble p{ margin:7px 0 0; white-space:pre-wrap; }
.message-meta{ display:block; opacity:.68; font-size:.58rem; font-weight:700; letter-spacing:.09em; }
.message-bubble.from-member .message-meta{ opacity:.78; }
.message-bubble.from-member{ align-self:flex-end; background:var(--primary); color:#1A1917; }
.message-bubble.from-coach{ align-self:flex-start; background:#242424; border:1px solid rgba(255,255,255,.15); }

.admin-section-heading{

    display:flex;

    align-items:end;

    justify-content:space-between;

    gap:24px;

    padding:28px 30px;

    border-bottom:1px solid rgba(255,255,255,.13);
}

.admin-section-heading h2,
.admin-intake-detail h3,
.admin-intake-detail h4{

    margin:8px 0 0;
}

.admin-section-heading p,
.admin-detail-date{

    margin:0;

    color:#bdbdbd;

    font-size:.82rem;
}

.admin-intake-layout{

    display:grid;

    grid-template-columns:minmax(220px,.8fr) minmax(0,1.8fr);

    min-height:440px;
}

.admin-intake-list{

    display:flex;

    flex-direction:column;

    gap:8px;

    padding:18px;

    border-right:1px solid rgba(255,255,255,.13);

    color:#bdbdbd;
}

.admin-intake-item{

    width:100%;

    padding:14px 12px;

    border:1px solid transparent;

    background:transparent;

    color:#fff;

    font-family:'Montserrat',sans-serif;

    font-size:.82rem;

    text-align:left;

    cursor:pointer;

    overflow-wrap:anywhere;

    display:flex;

    flex-direction:column;

    gap:4px;
}

.admin-intake-item strong{

    color:#fff;

    font-size:.95rem;
}

.admin-intake-item span{

    color:#a8a8a8;

    font-size:.72rem;
}

.admin-intake-item:hover,
.admin-intake-item.active{

    border-color:#d7b55b;

    background:rgba(215,181,91,.1);
}

.admin-intake-detail{

    padding:28px 30px;

    background:linear-gradient(180deg, rgba(255,255,255,.025), transparent 45%);
}

.admin-intake-detail h3{

    font-size:2rem;
}

.admin-intake-detail h4{

    color:#d7b55b;

    font-size:1rem;

    letter-spacing:.08em;
}

.admin-intake-detail section{

    margin-top:30px;
}

.admin-intake-detail dl{

    display:grid;

    grid-template-columns:minmax(160px,.8fr) minmax(0,2fr);

    gap:10px 20px;

    margin:16px 0 0;
}

.admin-intake-detail dt{

    color:#bdbdbd;

    font-size:.77rem;

    font-weight:700;

    letter-spacing:.04em;
}

.admin-intake-detail dd{

    margin:0;

    color:#fff;

    line-height:1.55;

    overflow-wrap:anywhere;
}

@media(max-width:720px){

    .admin-section-heading,
    .admin-intake-layout{

        display:block;
    }

    .admin-summary-grid,
    .admin-resource-layout,
    .coach-command-layout,
    .coach-command-panels{

        grid-template-columns:1fr;
    }

    .admin-member-profile-form{

        grid-template-columns:1fr;
    }

    .coach-task-fields{

        grid-template-columns:1fr;
    }

    .coaching-hub-grid{ grid-template-columns:1fr; }
    .coaching-panel-plan{ grid-column:auto; }
    .coaching-panel-today{ grid-column:auto; }
    .coaching-compass{ grid-template-columns:repeat(2,1fr); }
    .coaching-compass article:nth-child(2){ border-right:0; }
    .coaching-compass article:nth-child(-n+2){ border-bottom:1px solid rgba(255,255,255,.12); }
    .coaching-compass-three{ grid-template-columns:1fr; }
    .coaching-compass-three article{ border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
    .coaching-compass-three article:last-child{ border-bottom:0; }
    .coaching-fuel-bridge{ align-items:flex-start; flex-direction:column; margin-top:-16px; }
    .coaching-fuel-bridge strong{ text-align:left; }

    .admin-record{

        grid-template-columns:1fr;

        gap:5px;
    }

    .admin-section-heading p{

        margin-top:12px;
    }

    .admin-intake-list{

        border-right:0;

        border-bottom:1px solid rgba(255,255,255,.13);
    }

    .admin-intake-detail dl{

        grid-template-columns:1fr;

        gap:4px;
    }

    .admin-intake-detail dd{

        margin-bottom:12px;
    }
}

@media(max-width:720px){
    .member-hub-heading{ align-items:flex-start; flex-direction:column; }
    .member-command-strip{ grid-template-columns:1fr; }
    .member-command-strip a{ min-height:unset; }
}

.member-password-link{

    display:inline-block;

    margin-top:22px;

    color:var(--primary);

    font-family:var(--heading-font);

    letter-spacing:1px;

    text-decoration:none;
}

.submission-confirmation{
    display:block;
    max-width:620px;
    margin:26px auto;
    padding:42px 34px;
    border:1px solid rgba(215,181,91,.65);
    background:radial-gradient(circle at 50% 0,rgba(215,181,91,.18),transparent 55%),#0D0D0C;
    box-shadow:0 24px 60px rgba(13, 13, 12,.35),inset 0 1px 0 rgba(255,255,255,.08);
    text-align:center;
}
.submission-confirmation-mark{
    display:grid;
    width:42px;
    height:42px;
    margin:0 auto 16px;
    place-items:center;
    border:1px solid var(--primary);
    border-radius:50%;
    color:var(--primary);
    font-size:1.25rem;
}
.submission-confirmation h2{ margin:0; color:#fff; font-size:2rem; letter-spacing:.05em; }
.submission-confirmation p{ max-width:420px; margin:12px auto 0; color:#c7c7c7; font-size:.86rem; line-height:1.65; }
.footer-socials a{ color:#aaa; font-size:.68rem; font-weight:700; letter-spacing:.12em; text-decoration:none; }
.footer-socials a:hover{ color:var(--primary); }

.simple-resource-tabs{display:flex;gap:10px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.12)}.simple-resource-tab{padding:12px 16px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#bdbdbd;font:700 .72rem 'Montserrat',sans-serif;letter-spacing:.1em;cursor:pointer}.simple-resource-tab.active{border-color:var(--primary);background:rgba(215,181,91,.12);color:var(--primary)}.simple-resource-view{display:none;padding:34px 0 0}.simple-resource-view.active{display:block}.simple-resource-heading{max-width:650px}.simple-resource-heading h2{margin:10px 0;font-size:2.25rem}.simple-resource-heading p{color:#bbb;line-height:1.65}.free-resource-grid,.vault-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px}.free-resource-card,.vault-category-grid article{display:block;min-height:180px;padding:23px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.025);color:#fff;text-decoration:none}.free-resource-card span,.vault-category-grid span{color:var(--primary);font-family:var(--heading-font);font-size:1.25rem}.free-resource-card h3,.vault-category-grid h3{margin:10px 0;font-size:1.35rem}.free-resource-card p,.vault-category-grid p{margin:0;color:#aaa;font-size:.78rem;line-height:1.6}.vault-cta{margin-top:22px;padding:30px;border:1px solid rgba(215,181,91,.45);background:linear-gradient(110deg,rgba(215,181,91,.13),rgba(255,255,255,.02))}.vault-cta h3{margin:0 0 8px;font-size:1.6rem}.vault-cta p{color:#bbb}.vault-cta .btn-primary{margin-top:10px}@media(max-width:720px){.free-resource-grid,.vault-category-grid{grid-template-columns:1fr}.simple-resource-tabs{flex-direction:column}}

.resources-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:860px;margin-left:auto;margin-right:auto}.resource-card-premium{border-color:rgba(215,181,91,.65)!important;background:linear-gradient(145deg,rgba(215,181,91,.14),rgba(255,255,255,.025))!important}.resource-card-link{display:inline-block;margin-top:18px;color:var(--primary);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-decoration:none}@media(max-width:720px){.resources-grid{grid-template-columns:1fr}}

.resource-slider-controls{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.resource-slider-controls button{width:38px;height:38px;border:1px solid rgba(215,181,91,.55);background:transparent;color:var(--primary);font-size:1.1rem;cursor:pointer}.free-resource-grid.free-resource-slider{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:5px}.free-resource-grid.free-resource-slider::-webkit-scrollbar{display:none}.free-resource-slider .free-resource-card{flex:0 0 min(330px,82vw);scroll-snap-align:start}.free-resource-slider .free-resource-card:hover{border-color:var(--primary);background:rgba(215,181,91,.08)}

.shop-showcase-heading{max-width:680px;margin:0 auto 44px;text-align:center}.shop-showcase-heading h2{margin:10px 0}.shop-showcase-heading p{color:#bbb;line-height:1.65}.goods-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);gap:18px}.goods-feature,.goods-card{border:1px solid rgba(255,255,255,.13);background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(13, 13, 12,.35));overflow:hidden}.goods-image{position:relative;background:#1A1917}.goods-image img{width:100%;height:320px;object-fit:contain;display:block}.goods-image span{position:absolute;top:18px;left:18px;padding:8px 10px;background:#0D0D0C;color:var(--primary);font-size:.65rem;font-weight:700;letter-spacing:.12em}.goods-copy{padding:30px}.goods-copy h3{margin:10px 0;font-size:2rem}.goods-copy p{max-width:590px;color:#bbb;line-height:1.65}.goods-detail-row{display:flex;justify-content:space-between;gap:14px;margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);color:#d7b55b;font-size:.68rem;font-weight:700;letter-spacing:.08em}.goods-side-grid{display:grid;gap:18px}.goods-card{display:grid;grid-template-columns:150px 1fr;min-height:160px}.goods-card img{width:100%;height:100%;object-fit:contain;background:#1A1917}.goods-card div{padding:25px}.goods-card span{color:var(--primary);font-family:var(--heading-font);font-size:1.2rem}.goods-card h3{margin:8px 0;font-size:1.35rem}.goods-card p{margin:0;color:#aaa;font-size:.77rem;line-height:1.55}.goods-launch{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px 30px;margin-top:18px;padding:34px;border:1px solid rgba(215,181,91,.42);background:linear-gradient(110deg,rgba(215,181,91,.14),rgba(255,255,255,.02))}.goods-launch>div{flex:1 1 260px;min-width:0}.goods-launch h3{margin:9px 0;font-size:1.75rem}.goods-launch p{margin:0;color:#bbb}.goods-launch .btn-primary{flex:0 0 auto;white-space:normal;text-align:center}@media(max-width:800px){.goods-grid{grid-template-columns:1fr}.goods-image img{height:380px}.goods-launch{align-items:flex-start;flex-direction:column}.goods-card{grid-template-columns:130px 1fr}}@media(max-width:480px){.goods-card{grid-template-columns:1fr}.goods-card img{height:220px}.goods-detail-row{flex-direction:column}.goods-image img{height:320px}}

.goods-tabs{display:flex;justify-content:center;gap:10px;margin:-18px 0 30px}.goods-tab{padding:12px 18px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#bdbdbd;font:700 .7rem 'Montserrat',sans-serif;letter-spacing:.1em;cursor:pointer}.goods-tab.active{border-color:var(--primary);background:rgba(215,181,91,.12);color:var(--primary)}.goods-panel{display:none}.goods-panel.active{display:block}.nutrition-showcase-intro{max-width:700px;margin:0 auto 28px;text-align:center}.nutrition-showcase-intro h3{margin:10px 0;font-size:2.1rem}.nutrition-showcase-intro p{color:#bbb;line-height:1.65}.nutrition-showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.nutrition-showcase-card{padding:18px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(13, 13, 12,.25));transition:.4s ease}.nutrition-showcase-card:hover{transform:translateY(-6px);border-color:var(--primary);box-shadow:0 0 24px rgba(212,175,55,.15)}.nutrition-showcase-card img{width:100%;height:180px;object-fit:contain;background:rgba(255,255,255,.025)}.nutrition-showcase-card>span{display:block;margin-top:18px;color:var(--primary);font-size:.64rem;font-weight:700;letter-spacing:.11em}.nutrition-showcase-card h3{margin:9px 0;font-size:1.4rem}.nutrition-showcase-card p{min-height:60px;color:#aaa;font-size:.78rem;line-height:1.55}.amway-showcase-disclaimer{margin-top:18px;padding:20px;border-left:2px solid var(--primary);background:rgba(255,255,255,.035);color:#a9a9a9;font-size:.73rem;line-height:1.65}.amway-showcase-disclaimer strong{color:#d7b55b}@media(max-width:800px){.nutrition-showcase-grid{grid-template-columns:1fr}.nutrition-showcase-card img{height:260px}}@media(max-width:480px){.goods-tabs{flex-direction:column}.goods-tab{width:100%}}
.nutrition-catalog-link{display:flex;align-items:center;justify-content:center;width:100%;min-height:62px;margin:18px 0 0;border:1px solid rgba(215,181,91,.72);background:linear-gradient(90deg,rgba(215,181,91,.18),rgba(215,181,91,.06));color:var(--primary);font:700 .75rem 'Montserrat',sans-serif;letter-spacing:.14em;text-decoration:none}.nutrition-catalog-link:hover{background:rgba(215,181,91,.24);color:#fff}

/* Echelon Goods collection carousel */
.collection-carousel{border:1px solid rgba(255,255,255,.14);background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(13, 13, 12,.34));overflow:hidden}.collection-slides{position:relative}.collection-slide{display:none;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);min-height:420px;animation:collectionFade .45s ease}.collection-slide.active{display:grid}.collection-visual{position:relative;display:grid;place-items:center;background:#d8d8d1;min-height:420px}.collection-visual img{display:block;width:100%;height:100%;max-height:420px;object-fit:contain}.collection-visual span{position:absolute;top:18px;left:18px;padding:8px 10px;background:#1A1917;color:var(--primary);font-size:.65rem;font-weight:700;letter-spacing:.12em}.collection-copy{display:flex;flex-direction:column;justify-content:center;padding:48px}.collection-copy h3{margin:10px 0;font-size:clamp(1.8rem,3vw,2.8rem)}.collection-copy p{margin:0;max-width:460px;color:#bbb;line-height:1.7}.collection-copy .goods-detail-row{margin-top:30px}.collection-carousel-controls{display:flex;align-items:center;justify-content:center;gap:14px;padding:16px;border-top:1px solid rgba(255,255,255,.1);background:rgba(13, 13, 12,.2)}.collection-arrow{width:38px;height:38px;border:1px solid rgba(215,181,91,.6);background:transparent;color:var(--primary);font-size:1.2rem;cursor:pointer}.collection-arrow:hover{background:rgba(215,181,91,.12)}.collection-dots{display:flex;gap:8px}.collection-dot{width:30px;height:2px;padding:0;border:0;background:rgba(255,255,255,.28);cursor:pointer}.collection-dot.active{background:var(--primary)}@keyframes collectionFade{from{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:800px){.collection-slide.active{grid-template-columns:1fr}.collection-visual{min-height:330px}.collection-visual img{max-height:330px}.collection-copy{padding:32px}.collection-copy h3{font-size:2rem}}@media(max-width:480px){.collection-visual{min-height:260px}.collection-visual img{max-height:260px}.collection-copy{padding:25px}.collection-copy .goods-detail-row{margin-top:22px}}

.program-operations-intro{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:28px 0 20px;padding:30px;border:1px solid rgba(215,181,91,.42);background:linear-gradient(115deg,rgba(215,181,91,.14),rgba(255,255,255,.025))}.program-operations-intro h3{margin:9px 0;font-size:1.75rem}.program-operations-intro p{max-width:720px;margin:0;color:#c4c4c4;line-height:1.65}.program-operations-intro .btn-secondary{white-space:nowrap}.program-operations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.program-operation-card{position:relative;padding:30px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(13, 13, 12,.3));overflow:hidden}.program-operation-card.featured{border-color:rgba(215,181,91,.6);background:linear-gradient(145deg,rgba(215,181,91,.14),rgba(13, 13, 12,.35))}.program-operation-number{position:absolute;right:20px;top:16px;color:rgba(215,181,91,.2);font-family:var(--heading-font);font-size:4rem;line-height:1}.program-operation-card h3{position:relative;margin:10px 0 8px;font-size:1.7rem}.program-operation-purpose{position:relative;margin:0;color:#bcbcbc;line-height:1.55}.program-operation-card ol{position:relative;display:grid;gap:12px;margin:24px 0 0;padding-left:20px;color:#aaa;font-size:.82rem;line-height:1.6}.program-operation-card li::marker{color:var(--primary);font-weight:700}.program-operation-card strong{color:#e5d3a0}.program-operation-card>a{position:relative;display:inline-block;margin-top:22px;color:var(--primary);font-size:.7rem;font-weight:700;letter-spacing:.09em}.program-operations-section summary{cursor:pointer}@media(max-width:800px){.program-operations-intro{align-items:flex-start;flex-direction:column}.program-operations-grid{grid-template-columns:1fr}}@media(max-width:480px){.program-operation-card{padding:25px}.program-operations-intro{padding:25px}}
.section-control-intro{margin:36px 0 20px;padding:30px;border:1px solid rgba(215,181,91,.42);background:linear-gradient(115deg,rgba(215,181,91,.14),rgba(255,255,255,.025))}.section-control-intro h3{margin:9px 0;font-size:1.75rem}.section-control-intro p{max-width:720px;margin:0;color:#c4c4c4;line-height:1.65}.section-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.section-control-card{padding:26px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(13, 13, 12,.3));display:flex;flex-direction:column;gap:12px}.section-control-card-blank{border-style:dashed;border-color:rgba(215,181,91,.35)}.section-control-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-control-card-head h3{margin:0;font-size:1.4rem}.section-control-reorder{display:flex;gap:4px}.section-control-reorder button{width:28px;height:28px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#c4c4c4;cursor:pointer;font-size:.7rem;line-height:1;border-radius:3px}.section-control-reorder button:hover{border-color:#d7bb70;color:#d7bb70}.section-control-card textarea{min-height:80px;resize:vertical}.program-launch-status{margin:0!important;color:#d7bb70!important;font-size:.78rem!important}.detail-row-list{display:flex;flex-direction:column;gap:8px}.detail-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) auto;gap:8px;align-items:center}.detail-row input{margin:0}.detail-row-remove{width:28px;height:28px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#c4c4c4;cursor:pointer;border-radius:3px;flex-shrink:0}.detail-row-remove:hover{border-color:#e26a6a;color:#e26a6a}.section-control-card>[data-add-detail-row]{align-self:flex-start;margin:0}.section-control-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.section-control-actions .btn-primary,.section-control-actions .btn-secondary{margin:0}@media(max-width:800px){.section-control-grid{grid-template-columns:1fr}.detail-row{grid-template-columns:1fr}}

.admin-heading-actions{ display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.admin-console-layout{display:flex;flex-direction:column}.admin-console-layout>.member-portal-heading{order:1}.admin-console-layout>.admin-summary-grid{order:2}.admin-tab-bar{order:3}.admin-console-layout>.admin-today-section{order:4}.admin-console-layout>.admin-member-records-section{order:5}.admin-console-layout>.admin-leads-section{order:6}.admin-console-layout>.admin-inquiries-section{order:7}.admin-console-layout>.admin-member-activity-section{order:8}.admin-console-layout>.program-operations-section{order:9}.admin-console-layout>.communications-section{order:10}.admin-console-layout>.admin-member-vault-section{order:11}.admin-console-layout>.admin-trainer-resources-section{order:12}.admin-today-section{border-color:rgba(215,181,91,.52);background:linear-gradient(145deg,rgba(215,181,91,.09),rgba(7,7,7,.9))}.admin-today-section .admin-section-heading h2{color:#fff}.admin-member-records-section,.admin-leads-section{border-color:rgba(255,255,255,.18)}.admin-tab-bar{display:flex;gap:8px;overflow-x:auto;margin:8px 0 20px;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.13);scrollbar-width:none}.admin-tab-bar::-webkit-scrollbar{display:none}.admin-tab{flex:0 0 auto;padding:13px 17px;border:1px solid rgba(255,255,255,.15);background:transparent;color:#a9a9a9;font:700 .68rem 'Montserrat',sans-serif;letter-spacing:.12em;cursor:pointer}.admin-tab:hover{border-color:rgba(215,181,91,.6);color:#fff}.admin-tab.active{border-color:var(--primary);background:rgba(215,181,91,.13);color:var(--primary)}.admin-tab-panel[hidden]{display:none!important}
.admin-console-page .admin-summary-grid{gap:14px;margin:26px 0 18px}.admin-console-page .admin-summary-grid article{position:relative;min-height:126px;padding:24px 25px;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(13, 13, 12,.38));border-top:1px solid rgba(215,181,91,.55)}.admin-console-page .admin-summary-grid article::after{position:absolute;right:14px;bottom:-20px;color:rgba(215,181,91,.1);font-family:var(--heading-font);font-size:5rem;line-height:1;content:attr(data-visual)}.admin-console-page .admin-summary-grid article:nth-child(1)::after{content:'01'}.admin-console-page .admin-summary-grid article:nth-child(2)::after{content:'02'}.admin-console-page .admin-summary-grid article:nth-child(3)::after{content:'03'}.admin-tab-bar{gap:10px;margin:8px 0 24px;padding:10px;border:1px solid rgba(255,255,255,.12);background:rgba(8,8,8,.76);border-bottom:1px solid rgba(255,255,255,.12)}.admin-tab{position:relative;min-width:132px;min-height:74px;padding:16px 16px 16px 43px;border:1px solid rgba(255,255,255,.11);background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(13, 13, 12,.22));text-align:left}.admin-tab::before{position:absolute;left:14px;top:17px;color:rgba(215,181,91,.48);font-family:var(--heading-font);font-size:1.2rem;content:attr(data-step)}.admin-tab:hover{transform:translateY(-2px);background:rgba(215,181,91,.07)}.admin-tab.active{border-color:rgba(215,181,91,.72);background:linear-gradient(135deg,rgba(215,181,91,.2),rgba(215,181,91,.045));box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.admin-tab.active::before{color:var(--primary)}.admin-console-page .admin-tab-panel{margin-top:0;border-color:rgba(255,255,255,.16);background:linear-gradient(145deg,rgba(12,12,12,.88),rgba(4,4,4,.94));box-shadow:0 22px 50px rgba(13, 13, 12,.22)}.admin-console-page .admin-tab-panel .admin-section-heading{padding:30px}.admin-console-page .admin-tab-panel .admin-section-heading h2{font-size:2.25rem}.admin-console-page .admin-tab-panel[open] .admin-section-heading{background:linear-gradient(90deg,rgba(215,181,91,.09),transparent 54%)}@media(max-width:720px){.admin-tab{min-width:120px;min-height:67px}.admin-console-page .admin-tab-panel .admin-section-heading{padding:24px}.admin-console-page .admin-tab-panel .admin-section-heading h2{font-size:1.9rem}}
.manual-intro{ display:flex; align-items:end; justify-content:space-between; gap:28px; margin:28px 0; padding:32px; border:1px solid rgba(215,181,91,.38); background:linear-gradient(120deg,rgba(215,181,91,.15),rgba(255,255,255,.025)); }
.manual-intro h2{ margin:9px 0; font-size:2rem; }.manual-intro p{ max-width:620px; margin:0; color:#c7c7c7; line-height:1.65; }.manual-intro > div:last-child{ min-width:150px; text-align:right; }.manual-intro > div:last-child span{ display:block; color:#aaa; font-size:.65rem; letter-spacing:.12em; }.manual-intro > div:last-child strong{ display:block; margin-top:8px; color:var(--primary); font-family:var(--heading-font); font-size:1.25rem; }
.manual-layout{ display:grid; grid-template-columns:230px minmax(0,1fr); gap:24px; align-items:start; }.manual-index{ position:sticky; top:95px; padding:22px; border:1px solid rgba(255,255,255,.13); background:#0D0D0C; }.manual-index input{ width:100%; margin:16px 0; }.manual-index nav{ display:flex; flex-direction:column; gap:4px; }.manual-index a{ padding:10px 0; border-bottom:1px solid rgba(255,255,255,.08); color:#c6c6c6; font-size:.72rem; font-weight:700; letter-spacing:.04em; text-decoration:none; }.manual-index a:hover{ color:var(--primary); }
.manual-content{ display:flex; flex-direction:column; gap:24px; }.manual-section{ padding:32px; border:1px solid rgba(255,255,255,.13); background:rgba(8,8,8,.72); }.manual-section h2{ margin:10px 0 14px; font-size:2rem; }.manual-intro-copy{ max-width:760px; color:#c4c4c4; line-height:1.65; }.manual-security-notice{ padding:16px; border-left:2px solid var(--primary); background:rgba(215,181,91,.08); color:#e4d0a1; line-height:1.6; }
.manual-system-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:24px; }.manual-system-card{ padding:19px; border:1px solid rgba(255,255,255,.11); background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(13, 13, 12,.2)); }.manual-system-card > span{ color:var(--primary); font-size:.62rem; font-weight:700; letter-spacing:.12em; }.manual-system-card h3{ margin:9px 0; color:#fff; font-size:1.3rem; }.manual-system-card p,.manual-system-card em{ color:#aaa; font-size:.75rem; font-style:normal; line-height:1.55; }.manual-system-card a{ display:inline-block; margin-top:15px; color:var(--primary); font-size:.67rem; font-weight:700; letter-spacing:.08em; text-decoration:none; }
.manual-steps{ display:grid; gap:0; margin:22px 0 0; padding:0; list-style:none; }.manual-steps li{ display:grid; grid-template-columns:48px minmax(0,1fr); gap:4px 16px; padding:19px 0; border-bottom:1px solid rgba(255,255,255,.1); }.manual-steps li:last-child{ border-bottom:0; }.manual-steps li > span{ grid-row:span 2; color:var(--primary); font-family:var(--heading-font); font-size:1.35rem; }.manual-steps strong{ color:#fff; font-size:.88rem; }.manual-steps p{ grid-column:2; margin:0; color:#bbb; font-size:.8rem; line-height:1.6; }

.communications-intro{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:28px 0 16px;padding:30px;border:1px solid rgba(215,181,91,.42);background:linear-gradient(115deg,rgba(215,181,91,.14),rgba(255,255,255,.025))}.communications-intro h3{margin:9px 0;font-size:1.75rem}.communications-intro p{max-width:760px;margin:0;color:#c4c4c4;line-height:1.65}.communications-intro .btn-secondary{white-space:nowrap}.communications-rules{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:18px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.025)}.communications-rules span{padding:16px 18px;color:#aaa;font-size:.72rem;line-height:1.55}.communications-rules span+span{border-left:1px solid rgba(255,255,255,.1)}.communications-rules strong{color:#e5d3a0}.communications-grid{display:grid;gap:12px}.communication-category{border:1px solid rgba(255,255,255,.13);background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(13, 13, 12,.22))}.communication-category>summary{position:relative;display:grid;grid-template-columns:1fr auto;gap:6px 22px;align-items:center;padding:23px 62px 23px 24px;cursor:pointer;list-style:none}.communication-category>summary::-webkit-details-marker{display:none}.communication-category>summary strong{color:#fff;font-size:.78rem;letter-spacing:.1em}.communication-category>summary p{grid-column:1;margin:0;color:#aaa;font-size:.75rem;line-height:1.5}.communication-category>summary i{position:absolute;right:24px;top:50%;color:var(--primary);font:400 1.7rem/1 var(--heading-font);transform:translateY(-50%);font-style:normal}.communication-category[open]>summary{border-bottom:1px solid rgba(215,181,91,.32);background:rgba(215,181,91,.07)}.communication-category[open]>summary i{transform:translateY(-50%) rotate(45deg)}.communication-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px}.communication-card{display:flex;flex-direction:column;padding:25px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(13, 13, 12,.28))}.communication-card.featured{border-color:rgba(215,181,91,.58);background:linear-gradient(145deg,rgba(215,181,91,.13),rgba(13, 13, 12,.32))}.communication-card h3{margin:10px 0 7px;font-size:1.48rem}.communication-card>p{margin:0 0 18px;color:#aaa;font-size:.78rem;line-height:1.55}.communication-card details{margin-top:auto;border-top:1px solid rgba(255,255,255,.12)}.communication-card summary{padding:14px 0;color:var(--primary);font-size:.68rem;font-weight:700;letter-spacing:.1em;cursor:pointer}.communication-card textarea{box-sizing:border-box;width:100%;min-height:270px;padding:16px;border:1px solid rgba(255,255,255,.13);background:#0D0D0C;color:#d0d0d0;font:400 .76rem/1.6 'Montserrat',sans-serif;resize:vertical}.template-copy{align-self:flex-start;margin-top:14px;padding:11px 14px;border:1px solid rgba(215,181,91,.56);background:transparent;color:var(--primary);font:700 .66rem 'Montserrat',sans-serif;letter-spacing:.1em;cursor:pointer}.template-copy:hover{background:rgba(215,181,91,.12)}.template-feedback{min-height:18px!important;margin:10px 0 0!important;color:#d7b55b!important;font-size:.68rem!important;line-height:1.45!important}@media(max-width:800px){.communications-intro{align-items:flex-start;flex-direction:column}.communications-rules,.communication-category-grid{grid-template-columns:1fr}.communications-rules span+span{border-top:1px solid rgba(255,255,255,.1);border-left:0}}@media(max-width:480px){.communications-intro,.communication-card{padding:25px}.communication-category>summary{padding:21px 55px 21px 20px}.communication-category-grid{padding:10px}.communication-card textarea{min-height:250px}}
@media(max-width:720px){ .manual-intro,.manual-layout{ display:block; }.manual-intro > div:last-child{ margin-top:20px; text-align:left; }.manual-index{ position:static; margin-bottom:22px; }.manual-system-grid{ grid-template-columns:1fr; }.admin-heading-actions{ justify-content:flex-start; } }

.member-password-link:hover{

    color:#fff;
}

.form-error{

    display:block;

    min-height:1.25rem;

    margin-top:8px;

    color:#ff8a8a;

    font-size:.8rem;
}

.form-success{

    display:none;

    margin-top:18px;

    padding:16px 18px;

    border:1px solid rgba(255, 215, 0, .45);

    color:var(--primary);

    line-height:1.5;
}

.form-success:not(:empty){

    display:block;
}

/* ==========================================
   MOBILE
========================================== */

@media(max-width:768px){

    .contact-grid{

        grid-template-columns:1fr;
    }

    .contact-heading{

        flex-direction:column;
    }

    .contact-accent{

        width:100px;

        height:8px;
    }

    .contact-title{

        font-size:3.5rem;
    }
}
/* ==========================================
UNIFIED FOOTER
========================================== */

.footer{


background:#0D0D0C;
border-top:1px solid rgba(255,215,0,.15);

padding-top:60px;


}

/* PARTNERS */

.footer-partners{


text-align:center;
margin-bottom:60px;


}

.footer-partners-title{


font-family:var(--heading-font);
font-size:2rem;
color:var(--primary);

margin-bottom:30px;


}

/* BRAND */

.footer-brand{


text-align:center;
margin-bottom:40px;



}

.footer-brand h2{


font-family:var(--heading-font);
font-size:3rem;



}

.footer-brand span{


color:var(--primary);


}

.footer-brand p{


color:#999;
margin-top:10px;


}

/* SOCIALS */

.footer-socials{


display:flex;
justify-content:center;
gap:20px;

margin-top:20px;


}

.footer-socials a{


color:#fff;
font-size:1.3rem;


}

.footer-socials a:hover{


color:var(--primary);


}

/* NAV */

.footer-links-row{


display:flex;
justify-content:center;
flex-wrap:wrap;

gap:30px;

margin-bottom:40px;


}

.footer-links-row a{


color:#fff;
text-decoration:none;
font-size:.9rem;
letter-spacing:1px;


}

.footer-links-row a:hover{


color:var(--primary);


}

/* ACTIONS */

.footer-actions{


display:flex;
justify-content:center;
gap:15px;

margin-bottom:50px;


}

/* BOTTOM */

.footer-bottom{


border-top:1px solid rgba(255,255,255,.08);

padding:25px 0;

display:flex;

justify-content:space-between;

align-items:center;

flex-wrap:wrap;

gap:15px;


}

.footer-bottom p{


color:#aaa;


}

.footer-legal{


display:flex;
gap:20px;


}

.footer-legal a{


color:#aaa;
text-decoration:none;


}

.footer-legal a:hover{


color:var(--primary);


}

/* MOBILE */

@media(max-width:768px){


.footer-bottom{

    flex-direction:column;
    text-align:center;
}

.footer-actions{

    flex-direction:column;
}


}



/* ==========================================
   PARTNERS SECTION
========================================== */

.partners-section{

    background:#0D0D0C;

    overflow:hidden;

    padding:5px 0;
}



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

.partners-header{

    text-align:center;

    margin-bottom:60px;
}

.partners-label{

    color:var(--primary);

    letter-spacing:4px;

    text-transform:uppercase;

    font-size:.85rem;

    margin-bottom:15px;
}

.partners-header h2{

    font-family:var(--heading-font);

    font-size:4rem;

    color:white;

    letter-spacing:2px;
}


/* ==========================
WAIVER
========================== */

.waiver-box{

    background:#0D0D0C;

    border:1px solid var(--primary);

    padding:30px;

    height:280px;

    overflow-y:auto;

    margin-bottom:20px;

}

.waiver-header{

    text-align:center;

    margin-bottom:25px;

    padding-bottom:15px;

    border-bottom:1px solid rgba(255,215,0,.20);

}

.waiver-header h3{

    font-family:var(--heading-font);

    color:var(--primary);

    font-size:2rem;

    letter-spacing:2px;

    margin-bottom:5px;

}

.waiver-header span{

    color:#cfcfcf;

    font-size:.8rem;

    letter-spacing:3px;

}

.waiver-content{

    color:#b5b5b5;

    font-size:.9rem;

    line-height:1.9;

}

.waiver-content strong{

    color:#ffffff;

}

.waiver-content ul{

    margin:15px 0;

    padding-left:25px;

}

.waiver-content li{

    margin-bottom:10px;

}

.waiver-agreement{

    display:flex;

    align-items:flex-start;

    gap:12px;

    cursor:pointer;

    color:#fff;

    font-size:.9rem;

    line-height:1.6;

}

.waiver-agreement input{

    width:20px;

    height:20px;

    accent-color:var(--primary);

    margin-top:2px;

    flex-shrink:0;

}
/* Fix waiver checkbox */

.waiver-agreement{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:20px;
    cursor:pointer;
}

.waiver-agreement input[type="checkbox"]{

    width:24px !important;
    height:24px !important;

    min-width:24px;

    appearance:auto;
    -webkit-appearance:checkbox;

    accent-color:#FFD700;

    cursor:pointer;

    margin:0;
}

.waiver-agreement span{
    color:#fff;
    font-size:.95rem;
    line-height:1.5;
}
.checkin-header{
    padding:100px 0 1px;
    text-align:center;
    border-bottom:1px solid rgba(13, 13, 12, 0.15);
}

.checkin-tag{
    display:block;
    color:var(--primary);
    font-size:.8rem;
    font-weight:700;
    letter-spacing:4px;
    margin-bottom:10px;
}

.checkin-header h1{
    font-family:var(--heading-font);
    font-size:5rem;
    line-height:.9;
    color:var(--primary);
    margin-bottom:15px;
}

.checkin-header p{
    max-width:600px;
    margin:auto;
    color:#bdbdbd;
    font-size:1rem;
}
.checkin-header{
    padding:64px 0 32px;
    text-align:center;
}

.portal-section{
    padding:40px 0 80px;
}

.portal-card{
    background:#0D0D0C;
    border:1px solid #1A1917;
    padding:50px;
    max-width:700px;
    margin:0 auto;
}

.checkin-note-list{
    list-style:none;
    padding:0;
    margin:0 0 30px;
}

.checkin-note-list li{
    position:relative;
    padding:10px 0 10px 22px;
    color:#bdbdbd;
    font-size:.95rem;
    line-height:1.5;
    border-bottom:1px solid rgba(255,255,255,.05);
}

.checkin-note-list li::before{
    content:"";
    position:absolute;
    left:0;
    top:19px;
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--primary);
}

@media(max-width:768px){

    .checkin-header{
        padding:36px 0 22px;
    }

    .checkin-header h1{
        font-size:2.3rem;
    }

    .checkin-header p{
        font-size:.88rem;
    }

}

/* ==========================================
COACHING APPLICATION HEADER
========================================== */

.application-hero{
    padding:140px 0 100px;
    background:
    linear-gradient(
        rgba(13, 13, 12,.75),
        rgba(13, 13, 12,.85)
    ),
    url("../images/hero-main.png");
    background-size:cover;
    background-position:center;
    text-align:center;
}

.application-eyebrow{
    display:block;
    color:var(--primary);
    font-weight:700;
    letter-spacing:3px;
    margin-bottom:20px;
    text-transform:uppercase;
}

.application-heading{
    font-family:var(--heading-font);
    font-size:6rem;
    line-height:.9;
    color:#fff;
    margin-bottom:25px;
}

.application-description{
    max-width:800px;
    margin:0 auto;
    color:#cfcfcf;
    font-size:1.1rem;
    line-height:1.8;
}

/* ==========================================
HIGHLIGHTS
========================================== */

.application-highlights{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    margin-top:60px;
}

.highlight-card{
    background:#1A1917;
    border:1px solid rgba(255,215,0,.15);
    padding:25px;
    text-align:center;
    font-weight:600;
}

.highlight-card span{
    display:block;
    color:var(--primary);
    font-size:1.5rem;
    margin-bottom:10px;
}

/* ==========================================
APPLICATION SECTION
========================================== */

.application-section{
    padding:100px 0;
    background:#0D0D0C;
}

.premium-form{
    max-width:900px;
    margin:auto;
}

.form-block{
    background:#0D0D0C;
    border:1px solid #1A1917;
    padding:40px;
    margin-bottom:30px;
}

.form-step{
    color:var(--primary);
    letter-spacing:2px;
    font-size:.8rem;
    font-weight:700;
}

.form-block h2{
    font-family:var(--heading-font);
    font-size:2.8rem;
    color:#fff;
    margin:10px 0;
}

.form-block p{
    color:#aaa;
    line-height:1.7;
    margin-bottom:25px;
}

/* ==========================================
INPUTS
========================================== */

.premium-form input,
.premium-form select,
.premium-form textarea{
    width:100%;
    background:#0D0D0C;
    border:1px solid #2A2822;
    color:#fff;
    padding:18px;
    margin-bottom:18px;
    font-size:1rem;
    font-family:var(--body-font);
    transition:.3s;
}

.premium-form input:focus,
.premium-form select:focus,
.premium-form textarea:focus{
    outline:none;
    border-color:var(--primary);
}

.premium-form textarea{
    resize:vertical;
    min-height:150px;
}

/* ==========================================
WAIVER
========================================== */

.waiver-box{
    background:#0D0D0C;
    border:1px solid #2A2822;
    padding:25px;
    height:300px;
    overflow-y:auto;
    margin-top:20px;
}

.waiver-box h3{
    color:var(--primary);
    text-align:center;
    margin-bottom:20px;
    font-size:1rem;
}

.waiver-box p{
    color:#aaa;
    font-size:.9rem;
    line-height:1.8;
}

.checkbox-row{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-top:20px;
    cursor:pointer;
}

.checkbox-row input{
    width:20px;
    height:20px;
    margin-top:2px;
    accent-color:var(--primary);
}

.checkbox-row span{
    color:#fff;
    line-height:1.6;
}

/* ==========================================
SUBMIT
========================================== */

.submit-section{
    text-align:center;
    margin-top:40px;
}

.submit-btn{
    width:100%;
    padding:20px;
    background:var(--primary);
    color:#0D0D0C;
    border:none;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
    cursor:pointer;
    transition:.3s;
}

.submit-btn:hover{
    transform:translateY(-2px);
}

.submit-note{
    color:#888;
    margin-top:15px;
    font-size:.9rem;
}

/* ==========================================
PROCESS SECTION
========================================== */

.application-process{
    padding:120px 0;
    background:#0D0D0C;
}

.process-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
    margin-top:60px;
}

.process-card{
    background:#1A1917;
    padding:35px;
    border:1px solid #2A2822;
    text-align:center;
}

.process-card .step{
    color:var(--primary);
    font-family:var(--heading-font);
    font-size:3rem;
    margin-bottom:15px;
}

.process-card h3{
    color:#fff;
    margin-bottom:15px;
}

.process-card p{
    color:#aaa;
    line-height:1.7;
}

/* ==========================================
SUCCESS MESSAGE
========================================== */

#coaching-success{
    display:none;
    text-align:center;
    padding:80px 20px;
}

#coaching-success h2{
    color:var(--primary);
    font-family:var(--heading-font);
    font-size:4rem;
    margin-bottom:20px;
}

#coaching-success p{
    color:#ccc;
}

/* ==========================================
MOBILE
========================================== */

@media(max-width:992px){

    .application-highlights{
        grid-template-columns:repeat(2,1fr);
    }

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

}

@media(max-width:768px){

    .application-heading{
        font-size:4rem;
    }

    .application-highlights{
        grid-template-columns:1fr;
    }

    .process-grid{
        grid-template-columns:1fr;
    }

    .form-block{
        padding:25px;
    }

    .form-block h2{
        font-size:2rem;
    }

}

/* ==========================================
   WAITLIST PAGE
========================================== */

.waitlist-hero{
    padding:50px 0 60px;
    text-align:center;
    border-bottom:1px solid rgba(255,215,0,.15);
}

.waitlist-tag{
    color:var(--primary);
    font-size:.8rem;
    letter-spacing:4px;
    text-transform:uppercase;
    margin-bottom:15px;
    font-weight:700;
}

.waitlist-title{
    font-family:'Bebas Neue',sans-serif;
    font-size:clamp(3rem,8vw,6rem);
    color:#fff;
    line-height:.9;
    margin-bottom:20px;
}

.waitlist-title span{
    color:var(--primary);
}

.waitlist-subtitle{
    max-width:700px;
    margin:0 auto;
    color:#aaa;
    line-height:1.7;
    font-size:1rem;
}

.waitlist-benefits{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    margin-top:60px;
}

.waitlist-benefit{
    background:#0D0D0C;
    border:1px solid rgba(255,215,0,.15);
    padding:30px;
    text-align:center;
}

.waitlist-benefit span{
    display:block;
    font-size:2rem;
    color:var(--primary);
    margin-bottom:10px;
}

.waitlist-form-section{
    padding:80px 0;
}

.waitlist-card{
    background:#0D0D0C;
    border:1px solid rgba(255,215,0,.15);
    padding:50px;
}

.waitlist-form{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}

.waitlist-form .full{
    grid-column:1/-1;
}

.waitlist-form input,
.waitlist-form select,
.waitlist-form textarea{
    width:100%;
    background:#1A1917;
    border:1px solid #2A2822;
    color:#fff;
    padding:16px;
    font-size:.95rem;
    font-family:'Montserrat',sans-serif;
}

.waitlist-form input:focus,
.waitlist-form select:focus,
.waitlist-form textarea:focus{
    border-color:var(--primary);
    outline:none;
}

.waitlist-form textarea{
    min-height:150px;
    resize:vertical;
}

.waitlist-submit{
    grid-column:1/-1;
    width:100%;
    background:var(--primary);
    color:#0D0D0C;
    border:none;
    padding:18px;
    font-family:'Bebas Neue',sans-serif;
    font-size:1.1rem;
    letter-spacing:2px;
    cursor:pointer;
    transition:.3s;
}

.waitlist-submit:hover{
    transform:translateY(-2px);
}

#waitlist-success{
    display:none;
    text-align:center;
    padding:60px 20px;
}

#waitlist-success h2{
    color:var(--primary);
    font-family:'Bebas Neue',sans-serif;
    font-size:3rem;
    margin-bottom:15px;
}

#waitlist-success p{
    color:#aaa;
    max-width:600px;
    margin:0 auto 30px;
}

@media(max-width:768px){

    .waitlist-benefits{
        grid-template-columns:1fr 1fr;
    }

    .waitlist-form{
        grid-template-columns:1fr;
    }

    .waitlist-card{
        padding:30px;
    }

    .waitlist-title{
        font-size:4rem;
    }
}




/* ==========================
   TRAINING HUB (SWIPE & ARROWS)
========================== */

#training {
    background: #0D0D0C;
    padding-bottom: 60px;
}

#training .center-title {
    text-align: center;
    margin-bottom: 40px;
}

#training .center-title span {
    color: var(--primary);
}

/* 1. Carousel Wrapper & Arrows */
#training .carousel-wrapper {
    position: relative;
    width: 100%;
}

#training .carousel-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #1A1917;
    border: 1px solid var(--primary);
    color: var(--primary);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(13, 13, 12, 0.5);
    transition: all 0.3s ease;
}

#training .carousel-arrow:hover {
    background: var(--primary);
    color: #0D0D0C;
    transform: translateY(-50%) scale(1.1);
}

#training .left-arrow { left: -25px; }
#training .right-arrow { right: -25px; }

/* 2. Manual Scroll Track */
#training .training-carousel {
    display: flex;
    gap: 25px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth; /* Smooth gliding when arrows are clicked */
    padding: 20px 0 40px 0;
    scrollbar-width: none;
    align-items: stretch;
}

#training .training-carousel::-webkit-scrollbar {
    display: none;
}

/* 3. Premium Card Styles (Peek Layout) */
#training .training-card {
    /* PEEK LAYOUT: 85vw on mobile guarantees the next card peeks out */
    flex: 0 0 85vw;
    max-width: 360px; /* Caps the width on desktop */
    min-height: 600px;
    background: #1A1917;
    border: 1px solid #2A2822;
    padding: 40px 35px;
    display: flex;
    flex-direction: column;
    scroll-snap-align: center; /* Snaps perfectly to the middle of the screen */
    position: relative;
    border-radius: 4px;
    transition: border-color 0.4s ease, transform 0.4s ease, box-shadow 0.4s ease;
}

#training .training-card:hover {
    border-color: var(--primary);
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(13, 13, 12, 0.6);
}

/* 4. Internal Alignment */
#training .training-card-inner {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

#training .training-card-footer {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

#training .training-card-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

#training .training-card-actions .btn-primary,
#training .training-card-actions .btn-secondary {
    width: 100%;
    border: 0;
    cursor: pointer;
    text-align: center;
}

#training .training-card-actions button:disabled {
    cursor: wait;
    opacity: 0.72;
}

/* 5. Typography & Status (Same premium look) */
#training .training-card h3 {
    font-family: var(--heading-font);
    font-size: 2.5rem;
    line-height: 1.1;
    color: #ffffff;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

#training .coach-name {
    color: var(--primary);
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 2px;
    font-size: 0.85rem;
    margin-bottom: 20px;
}

#training .training-card p {
    color: #a0a0a0;
    line-height: 1.6;
    font-size: 0.95rem;
    margin: 0;
    min-height: calc(1.6em * 3);
}

#training .scarcity-tag {
    display: inline-block;
    align-self: flex-start;
    padding: 6px 12px;
    border: 1px solid rgba(255, 215, 0, 0.35);
    color: var(--primary);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

#training .status {
    text-align: right;
    font-size: 0.8rem;
    letter-spacing: 2px;
    margin-bottom: 25px;
    text-transform: uppercase;
    font-weight: 700;
}

#training .status.live,
#training .status.soon {
    color: #8a8a8a;
    display: inline-flex;
    align-self: flex-end;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border: 1px solid #333129;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 1.5px;
}

#training .live-dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: #8a8a8a;
}

/* 6. Premium Accordion Details */
#training .training-card details {
    border-top: 1px solid #2A2822;
    padding-top: 20px;
}

#training .training-card summary {
    cursor: pointer;
    font-weight: 700;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.85rem;
    list-style: none;
    transition: color 0.3s ease;
}

#training .training-card summary::-webkit-details-marker { display: none; }
#training .training-card summary:hover { color: var(--primary); }

#training .detail-content {
    margin-top: 15px;
    padding-bottom: 10px;
    animation: fadeIn 0.4s ease forwards;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

#training .detail-content strong {
    display: block; color: var(--primary);
    margin-top: 15px; margin-bottom: 4px;
    font-size: 0.8rem; text-transform: uppercase;
    letter-spacing: 1px;
}

#training .detail-content p { color: #bbb; font-size: 0.9rem; }

#training .refund-policy-link {
    display: inline-block;
    margin-top: -8px;
    margin-bottom: 12px;
    color: #8a8a8a;
    font-size: 0.72rem;
    text-decoration: underline;
    letter-spacing: 0.5px;
}

#training .refund-policy-link:hover { color: var(--primary); }

#training .free-class-link {
    display: inline-block;
    margin-top: 10px;
    color: #8a8a8a;
    font-size: 0.72rem;
    text-decoration: underline;
    letter-spacing: 0.5px;
}

#training .free-class-link:hover { color: var(--primary); }

#training .training-card .btn-primary,
#training .training-card .btn-secondary {
    width: 100%;
    text-align: center;
    padding: 15px 20px;
    letter-spacing: 2px;
}

/* 7. Small subtle swipe-hint arrows on mobile (instead of hiding them) */
@media (max-width: 768px) {
    #training .carousel-arrow {
        width: 34px;
        height: 34px;
        opacity: .65;
        background: rgba(13, 13, 12, .6);
        backdrop-filter: blur(4px);
        box-shadow: none;
    }
    #training .left-arrow { left: 6px; }
    #training .right-arrow { right: 6px; }
}


/* ==================================
   GLOBAL FIX: SECTION TITLES
================================== */
.center-title {
    text-align: center !important;
    width: 100%;
}

.section-title.center-title {
    text-align: center !important;
    justify-content: center;
}


/* Hub Layout */
.hub-container { padding: 80px 0; max-width: 900px; }
.hub-header { text-align: center; margin-bottom: 60px; }
.hub-header h1 { font-family: var(--heading-font); color: white; font-size: 3rem; letter-spacing: 4px; text-transform: uppercase; }

/* Tabs */
.hub-tabs { display: flex; justify-content: center; gap: 20px; margin-bottom: 40px; }
.tab-btn { background: #1A1917; border: 1px solid #333; color: white; padding: 15px 30px; cursor: pointer; text-transform: uppercase; letter-spacing: 2px; font-size: 0.8rem; transition: 0.3s; }
.tab-btn.active, .tab-btn:hover { border-color: var(--primary); color: var(--primary); }

/* Accordion */
.tab-content { display: none; }
.tab-content.active { display: block; }
.accordion-item { border-bottom: 1px solid #1A1917; }
.accordion-header { width: 100%; background: none; border: none; color: white; padding: 25px; cursor: pointer; display: flex; justify-content: space-between; font-size: 1.1rem; text-transform: uppercase; }
.accordion-body { padding: 0 25px 25px 25px; color: #888; display: none; }

.resource-coming-soon { color: #aaa; }
.resource-coming-soon em { color: #aaa; font-style: normal; font-size: 0.85em; letter-spacing: 0.5px; }

/* Ensure hidden tabs stay hidden */
.tab-content { display: none; }
.tab-content.active { display: block; animation: fadeIn 0.5s; }

/* Premium styling for placeholders */
.media-placeholder {
    background: #1A1917; padding: 20px; text-align: center;
    border: 1px dashed #333; color: #666; margin-top: 10px;
}

.btn-sm {
    display: inline-block; background: var(--primary); color: #0D0D0C;
    padding: 8px 16px; text-decoration: none; font-weight: bold; font-size: 0.8rem;
}

@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

.portal-card { background: #0D0D0C; padding: 50px; border: 1px solid #1A1917; max-width: 700px; margin: 0 auto; }
.echelon-form { display: flex; flex-direction: column; gap: 20px; }
.form-group { display: flex; flex-direction: column; gap: 15px; margin-bottom: 30px; }
.form-group h3 { color: var(--primary); font-size: 0.9rem; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 10px; }

input, select, textarea {
    background: #1A1917; border: 1px solid #2A2822; color: white; padding: 15px;
    font-family: inherit; transition: 0.3s;
}
input:focus { border-color: var(--primary); outline: none; }

.waiver-box { border: 1px solid #2A2822; padding: 20px; font-size: 0.85rem; color: #888; }
.waiver-content { height: 150px; overflow-y: scroll; margin-bottom: 20px; }







/* Highlights Grid */
.application-highlights { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin-bottom: 50px; }
.highlight-card { background: #0D0D0C; border: 1px solid #1A1917; padding: 20px; color: white; display: flex; align-items: center; gap: 10px; }
.highlight-card span { color: var(--primary); }

/* Process Grid */
.application-process { margin-top: 80px; text-align: center; }
.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; margin-top: 40px; }
.process-card { border-top: 1px solid #333; padding-top: 20px; }
.process-card .step { font-family: var(--heading-font); color: #333; font-size: 2rem; margin-bottom: 10px; }
.process-card h3 { font-size: 1rem; text-transform: uppercase; letter-spacing: 2px; }

/* Responsive Adjustments */
@media (max-width: 768px) {
    .process-grid { grid-template-columns: 1fr 1fr; }
}



:root {
    --primary: #FFD700; /* Your Brand Gold */
    --bg: #0D0D0C;
    --card-bg: #0D0D0C;
    --border: #1A1917;
}

/* Base Layout */
.hub-container { padding: 80px 20px; max-width: 900px; margin: 0 auto; }
.hub-header { text-align: center; margin-bottom: 60px; }
.hub-header h1 { font-family: 'Bebas Neue', sans-serif; color: white; font-size: 3rem; letter-spacing: 4px; text-transform: uppercase; }

/* Unified Portal Card */
.portal-card { background: var(--card-bg); padding: 50px; border: 1px solid var(--border); }
.echelon-form { display: flex; flex-direction: column; gap: 20px; }
input, select, textarea { background: #1A1917; border: 1px solid #2A2822; color: white; padding: 15px; width: 100%; }
.btn-primary { background: var(--primary); color: #0D0D0C; padding: 15px; text-align: center; font-weight: bold; cursor: pointer; border: none; }

/* ==========================================
LEGAL PAGES
========================================== */

.portal-section{

    padding:0 0 120px;

}

.legal-card{

    max-width:900px;
    margin:0 auto;

}

.legal-content{

    color:#bdbdbd;
    line-height:1.9;

}

.legal-content p{

    margin-bottom:20px;

}

.legal-content ul{

    margin:20px 0 30px;
    padding-left:20px;

}

.legal-content li{

    margin-bottom:12px;

}

.legal-content .form-section-header{

    margin-top:40px;

}

.legal-content .form-section-header:first-child{

    margin-top:0;

}

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

.footer{

    background:#0D0D0C;

    border-top:1px solid rgba(255,255,255,.06);

    padding-top:80px;

}

/* ==========================================
BRAND
========================================== */

.footer-brand{

    text-align:center;

    margin-bottom:40px;

}

.footer-brand h2{

    font-size:2.2rem;

    margin-bottom:10px;

}

.footer-brand span{

    color:#D4AF37;

}

.footer-tagline{

    color:#888;

    font-size:.95rem;

    margin-bottom:25px;

}

.footer-socials{

    display:flex;

    justify-content:center;

    gap:20px;

}

.footer-socials a{

    color:#fff;

    font-size:1.2rem;

    transition:.3s;

}

.footer-socials a:hover{

    color:#D4AF37;

}

/* ==========================================
NAVIGATION
========================================== */

.footer-links-row{

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:25px;

    margin-bottom:40px;

}

.footer-links-row a{

    color:#aaa;

    text-decoration:none;

    font-size:.85rem;

    letter-spacing:1px;

    transition:.3s;

}

.footer-links-row a:hover{

    color:#D4AF37;

}

/* ==========================================
ACTIONS
========================================== */

.footer-actions{

    display:flex;

    justify-content:center;

    gap:15px;

    flex-wrap:wrap;

    margin-bottom:70px;

}

/* Work-with-Echelon conversion links */
.footer-opportunities{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px 28px;
    flex-wrap:wrap;
    margin:-8px auto 34px;
    font-family:'Montserrat',sans-serif;
    letter-spacing:.12em;
}

.footer-opportunities span{
    color:rgba(255,255,255,.48);
    font-size:.64rem;
    font-weight:700;
}

.footer-opportunities a{
    color:var(--primary);
    font-size:.68rem;
    font-weight:800;
    text-decoration:none;
    border-bottom:1px solid rgba(215,181,91,.5);
    padding-bottom:4px;
    transition:color .2s ease,border-color .2s ease;
}

.footer-opportunities a:hover{
    color:#fff;
    border-color:#fff;
}

@media (max-width: 560px){
    .footer-opportunities{ gap:14px 18px; margin-bottom:28px; }
    .footer-opportunities span{ width:100%; text-align:center; }
}

/* ==========================================
PARTNERS
========================================== */

.footer-partners{

    padding:40px 20px;

    border-top:1px solid rgba(255,255,255,.06);

    border-bottom:1px solid rgba(255,255,255,.06);

    text-align:center;

}

.footer-partners-title{

    display:block;

    font-size:.7rem;

    letter-spacing:4px;

    color:#aaa;

    margin-bottom:30px;

    text-transform:uppercase;

}

.footer-partner-grid{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:60px;

    flex-wrap:wrap;

}

.partner-logo{

    width:120px;

    height:60px;

    display:flex;

    align-items:center;

    justify-content:center;

}

.partner-logo img{

    max-width:100%;

    max-height:40px;

    opacity:.45;

    filter:
    grayscale(100%)
    brightness(.9);

    transition:.35s;

}

.partner-logo:hover img{

    opacity:.9;

    filter:none;

}

/* ==========================================
LEGAL
========================================== */

.footer-bottom{

    text-align:center;

    padding:35px 20px;

}

.footer-bottom p{

    color:#aaa;

    font-size:.85rem;

    margin-bottom:15px;

}

.footer-legal{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

.footer-legal a{

    color:#888;

    text-decoration:none;

    font-size:.8rem;

    transition:.3s;

}

.footer-legal a:hover{

    color:#D4AF37;

}

/* ==========================================
DESIGN CREDIT
========================================== */

.footer-credit-wrap{

    padding:22px 20px 30px;

    text-align:center;

    border-top:1px solid rgba(212,175,55,.22);

}

.footer-credit{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:9px 20px;

    background:rgba(8,10,12,.6);

    border:1px solid rgba(0,255,252,.35);

    border-radius:999px;

    text-decoration:none;

    color:#ccc;

    font-size:.72rem;

    letter-spacing:.1em;

    text-transform:uppercase;

    transition:.3s;

}

.footer-credit img{

    height:18px;

    width:auto;

    display:block;

}

.footer-credit strong{

    color:#00FFFC;

    font-weight:700;

    letter-spacing:.13em;

}

.footer-credit:hover{

    border-color:#00FFFC;

    background:rgba(0,255,252,.08);

    color:#f0f0f0;

    box-shadow:0 0 16px rgba(0,255,252,.25);

}

.footer-credit:hover strong{

    color:#5CFFFC;

}

/* ==========================================
MOBILE
========================================== */

@media(max-width:768px){

.footer{

    padding-top:60px;

}

.footer-brand h2{

    font-size:1.8rem;

}

.footer-partner-grid{

    flex-wrap:nowrap;

    justify-content:flex-start;

    gap:35px;

    overflow-x:auto;

    scroll-snap-type:x mandatory;

    -webkit-overflow-scrolling:touch;

    scrollbar-width:none;

    padding:0 24px 8px;

    margin:0 -24px;

}

.footer-partner-grid::-webkit-scrollbar{

    display:none;

}

.partner-logo{

    width:90px;

    flex:0 0 auto;

    scroll-snap-align:center;

}

}

/* Ensure the parent container is scrollable */
.carousel-container {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none; /* Hides scrollbar in Firefox */
}

.carousel-container::-webkit-scrollbar {
    display: none; /* Hides scrollbar in Chrome/Safari */
}

/* Position arrows relative to the container */
.carousel-wrapper {
    position: relative;
}

.carousel-arrow {
    position: absolute;
    top: 50%;
    z-index: 10;
    background: #FFD700;
    color: #0D0D0C;
    border: none;
    padding: 10px;
    cursor: pointer;
}

.left-arrow { left: -40px; }
.right-arrow { right: -40px; }

.training-carousel {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none; /* Firefox */
}

.training-carousel::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}

/* Mirroring Waitlist Portal Spacing/Typography */
.form-section-header { margin: 30px 0 15px; border-bottom: 1px solid #333; padding-bottom: 10px; }
.form-section-header h2, .form-section-header h3 { font-family: 'Bebas Neue', sans-serif; font-size: 1.5rem; color: #FFD700; }
.group-experience-fields{margin:2px 0 22px}.group-experience-fields[hidden]{display:none}.group-experience-fields label{display:block;margin:0 0 9px;color:#d7b55b;font-size:.67rem;font-weight:700;letter-spacing:.12em}.group-experience-fields textarea{margin:0}
.form-helper-text { margin: -4px 0 22px; max-width: 680px; color: #b9b5ab; font-size: .88rem; line-height: 1.65; }
.waiver-box { background: #0D0D0C; border: 1px solid #333; border-radius: 4px; margin: 25px 0; }
.waiver-header { background: #0D0D0C; padding: 15px; color: #0D0D0C; }
.waiver-header h3 { font-family: 'Bebas Neue'; margin: 0; }
.waiver-content { padding: 20px; height: 200px; overflow-y: auto; font-size: 0.9rem; color: #AAA; line-height: 1.6; }
.waiver-agreement { display: flex; align-items: flex-start; gap: 10px; margin: 20px 0; font-size: 0.9rem; }
#checkin-success { padding: 40px; text-align: center; }
#checkin-success h2 { font-family: 'Bebas Neue'; color: #FFD700; font-size: 2rem; }
.member-checkin-note{margin:0 0 20px;padding:14px 16px;border-left:2px solid var(--primary);background:rgba(215,181,91,.1);color:#e4c96e;font:700 .66rem 'Montserrat',sans-serif;letter-spacing:.08em;line-height:1.55}
.training-checkin-callout{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1040px;margin:28px auto 0;padding:26px 30px;border:1px solid rgba(215,181,91,.4);background:linear-gradient(110deg,rgba(215,181,91,.13),rgba(13, 13, 12,.5))}.training-checkin-callout h3{margin:8px 0;color:#fff;font-size:1.8rem}.training-checkin-callout p{max-width:580px;margin:0;color:#bdbdbd;font-size:.82rem;line-height:1.6}.training-checkin-callout .btn-secondary{white-space:nowrap}@media(max-width:720px){.training-checkin-callout{align-items:flex-start;flex-direction:column;padding:24px}.training-checkin-callout .btn-secondary{width:100%;text-align:center}}

/* Homepage story backdrop: the hero remains its own opening image; every following section carries the shared Echelon studio with a composed dark veil. */
#about,#training,#resources,#shop,#reviews,.contact-section{position:relative;background:linear-gradient(90deg,rgba(13, 13, 12,.76),rgba(13, 13, 12,.62) 55%,rgba(13, 13, 12,.68)),url('../images/efc-studio-dawn.png') center / cover no-repeat!important;background:linear-gradient(90deg,rgba(13, 13, 12,.76),rgba(13, 13, 12,.62) 55%,rgba(13, 13, 12,.68)),image-set(url('../images/efc-studio-dawn.webp') type('image/webp'), url('../images/efc-studio-dawn.png') type('image/png')) center / cover no-repeat!important}

/* Collapsible program playbooks */
.program-operation-card{padding:0}.program-operation-card>summary{position:relative;display:block;padding:30px;cursor:pointer;list-style:none}.program-operation-card>summary::-webkit-details-marker{display:none}.program-operation-card>summary i{position:absolute;right:25px;top:25px;color:var(--primary);font:400 1.7rem/1 var(--heading-font);font-style:normal}.program-operation-card[open]>summary{border-bottom:1px solid rgba(215,181,91,.3);background:rgba(215,181,91,.055)}.program-operation-card[open]>summary i{transform:rotate(45deg)}.program-operation-content{padding:0 30px 30px}.program-operation-content ol{margin-top:24px}.program-operation-content>a{display:inline-block;margin-top:22px;color:var(--primary);font-size:.7rem;font-weight:700;letter-spacing:.09em}.program-operation-placeholder{display:inline-block;margin-top:22px;padding:10px 12px;border:1px dashed rgba(215,181,91,.38);color:#bca76a;font-size:.64rem;font-weight:700;letter-spacing:.09em}@media(max-width:480px){.program-operation-card>summary{padding:25px}.program-operation-content{padding:0 25px 25px}.program-operation-card>summary i{right:20px;top:20px}}

/* Site content CMS */
.cms-intro{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:28px 0 18px;padding:30px;border:1px solid rgba(215,181,91,.42);background:linear-gradient(115deg,rgba(215,181,91,.14),rgba(255,255,255,.025))}.cms-intro h3{margin:9px 0;font-size:1.75rem}.cms-intro p{max-width:780px;margin:0;color:#c4c4c4;line-height:1.65}.cms-placement-key{display:grid;grid-template-columns:repeat(2,max-content);gap:8px}.cms-placement-key span{padding:9px 11px;border:1px solid rgba(215,181,91,.38);color:#d7b55b;font:700 .62rem 'Montserrat',sans-serif;letter-spacing:.1em;text-align:center}.cms-layout{display:grid;grid-template-columns:minmax(320px,.84fr) minmax(0,1.16fr);gap:18px}.site-content-form,.cms-published-panel{padding:26px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(13, 13, 12,.34))}.cms-form-heading,.cms-list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.cms-form-heading strong,.cms-list-heading h3{color:#fff;font-size:.84rem;letter-spacing:.1em}.cms-list-heading h3{margin:7px 0 0;font-family:var(--heading-font);font-size:1.65rem;letter-spacing:.04em}.cms-list-heading>span{color:#aaa;font-size:.68rem;white-space:nowrap}.cms-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.site-content-form label{display:grid;gap:7px;color:#b8b8b8;font-size:.62rem;font-weight:700;letter-spacing:.1em}.site-content-form label small{color:#858585;font-size:.62rem;font-weight:400;letter-spacing:0}.site-content-form input,.site-content-form select,.site-content-form textarea{box-sizing:border-box}.cms-form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.cms-content-list{display:grid;gap:10px;max-height:750px;overflow:auto;padding-right:4px}.cms-content-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:19px;border:1px solid rgba(255,255,255,.12);background:rgba(13, 13, 12,.25)}.cms-content-item.is-published{border-left:2px solid var(--primary)}.cms-content-item.is-scheduled{border-left:2px solid #7e9db4}.cms-content-item h4{margin:6px 0 8px;color:#fff;font-size:1.26rem}.cms-content-item p{margin:0;color:#aaa;font-size:.73rem;line-height:1.55}.cms-content-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.cms-content-meta span{color:#b6b6b6;font-size:.61rem;letter-spacing:.07em}.cms-content-meta .cms-status{padding:4px 7px;background:rgba(215,181,91,.13);color:#d7b55b;font-weight:700}.cms-content-actions{display:flex;flex-direction:column;gap:7px;align-items:stretch}.cms-content-actions button{min-width:98px;padding:9px 10px;border:1px solid rgba(215,181,91,.45);background:transparent;color:#d7b55b;font:700 .62rem 'Montserrat',sans-serif;letter-spacing:.08em;cursor:pointer}.cms-content-actions button:hover{background:rgba(215,181,91,.12);color:#fff}.cms-content-actions .cms-delete{border-color:rgba(255,255,255,.2);color:#aaa}.cms-content-empty{padding:28px;color:#aaa;text-align:center;border:1px dashed rgba(255,255,255,.18);font-size:.78rem}.cms-live-feed{display:grid;gap:14px;margin:26px auto;max-width:1180px}.cms-live-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;padding:28px 30px;border:1px solid rgba(215,181,91,.45);background:linear-gradient(110deg,rgba(215,181,91,.14),rgba(8,8,8,.82))}.cms-live-card.has-image{grid-template-columns:118px minmax(0,1fr) auto}.cms-live-card img{width:118px;height:100px;object-fit:cover;border:1px solid rgba(255,255,255,.15)}.cms-live-card h3{margin:8px 0;font-size:clamp(1.7rem,3vw,2.25rem)}.cms-live-card p{max-width:780px;margin:0;color:#d0d0d0;line-height:1.65}.cms-live-card .btn-secondary{white-space:nowrap}.cms-live-card .checkin-tag{color:#d7b55b}@media(max-width:800px){.cms-intro{align-items:flex-start;flex-direction:column}.cms-layout{grid-template-columns:1fr}.cms-live-card,.cms-live-card.has-image{grid-template-columns:1fr;align-items:start}.cms-live-card img{width:100%;height:190px}.cms-live-card .btn-secondary{justify-self:start}}@media(max-width:480px){.cms-intro,.site-content-form,.cms-published-panel,.cms-live-card{padding:22px}.cms-form-grid{grid-template-columns:1fr}.cms-content-item{grid-template-columns:1fr}.cms-content-actions{flex-direction:row;flex-wrap:wrap}.cms-content-actions button{min-width:auto;flex:1}}

/* Preserve the focused console order after adding the Site Content workspace. */
.admin-console-layout>.admin-content-section{order:10}.admin-console-layout>.communications-section{order:11}.admin-console-layout>.admin-member-vault-section{order:12}.admin-console-layout>.admin-trainer-resources-section{order:13}

/* Accepted applicant flow: preserved operational data, clearer staged handoff. */
.admin-command-strip{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:-4px 0 24px;padding:24px 26px;border:1px solid rgba(215,181,91,.42);background:linear-gradient(110deg,rgba(215,181,91,.16),rgba(255,255,255,.025))}.admin-command-strip strong{display:block;margin:8px 0;color:#fff;font:400 clamp(1.5rem,3vw,2.15rem)/1 var(--heading-font);letter-spacing:.05em}.admin-command-strip p{max-width:650px;margin:0;color:#c2c2c2;font-size:.76rem;line-height:1.6}.admin-command-strip .btn-primary{flex:0 0 auto;margin:0}@media(max-width:600px){.admin-command-strip{align-items:flex-start;flex-direction:column}}
.coach-task-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:126px}.coach-task-delete{border:1px solid rgba(255,255,255,.18);background:transparent;color:#a8a8a8;padding:9px 11px;font:700 .61rem 'Montserrat',sans-serif;letter-spacing:.1em;cursor:pointer}.coach-task-delete:hover{border-color:rgba(215,181,91,.65);color:var(--primary)}.application-record{gap:8px!important;padding:22px!important;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(13, 13, 12,.2))!important}.application-record-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.application-state{border:1px solid rgba(215,181,91,.45);padding:5px 8px;color:#d8c185;font:700 .59rem 'Montserrat',sans-serif;letter-spacing:.08em;text-transform:uppercase}.application-state.is-paid{border-color:rgba(113,201,152,.6);color:#91d6aa}.application-reference{color:#848484!important;font-size:.62rem!important;letter-spacing:.1em}.application-record-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.application-record-actions select{min-width:205px;max-width:100%;margin:0;padding:11px;border:1px solid rgba(255,255,255,.17);background:#1A1917;color:#d8d8d8;font:600 .65rem 'Montserrat',sans-serif;letter-spacing:.04em}.application-record-actions input[type="number"]{width:150px;max-width:100%;margin:0;padding:11px;border:1px solid rgba(255,255,255,.17);background:#1A1917;color:#d8d8d8;font:600 .65rem 'Montserrat',sans-serif;letter-spacing:.04em}.application-record-actions .btn-primary,.application-record-actions .btn-secondary{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:12px 14px;font-size:.62rem}.application-payment-feedback{min-height:1em;margin:2px 0 0!important;color:#d7bb70!important;font-size:.72rem!important}.enrollment-checkout-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 78% 14%,rgba(215,181,91,.15),transparent 31%),linear-gradient(145deg,#0D0D0C,#1A1917)}.enrollment-checkout-card{max-width:650px;margin:40px auto;padding:60px;border:1px solid rgba(215,181,91,.55);background:linear-gradient(145deg,rgba(215,181,91,.1),rgba(8,8,8,.92));box-shadow:0 30px 90px rgba(13, 13, 12,.45)}.enrollment-checkout-card h1{margin:13px 0;font-size:clamp(3.2rem,10vw,6rem);line-height:.86}.enrollment-checkout-card h1 span{color:var(--primary)}.enrollment-checkout-card>p{max-width:530px;color:#c7c7c7;line-height:1.7}.enrollment-offer{margin:26px 0;padding:18px;border-left:3px solid var(--primary);background:rgba(255,255,255,.06);color:#fff;font:700 .78rem 'Montserrat',sans-serif;letter-spacing:.08em}.enrollment-checkout-card .btn-primary{margin-top:10px}.enrollment-fine-print{margin-top:24px;color:#929292!important;font-size:.72rem;line-height:1.6!important}@media(max-width:600px){.coach-task-actions{width:100%;flex-direction:row}.coach-task-actions>*{flex:1}.application-record-actions>*{width:100%}.application-record-actions .btn-primary,.application-record-actions .btn-secondary{width:100%}.application-record-actions input[type="number"]{width:100%}.enrollment-checkout-card{margin:18px 0;padding:36px 26px}}

/* Media Manager */
.admin-console-layout>.admin-media-section{order:11}.admin-console-layout>.communications-section{order:12}.admin-console-layout>.admin-member-vault-section{order:13}.admin-console-layout>.admin-trainer-resources-section{order:14}.media-manager-intro{margin-bottom:18px}.media-content-list{max-height:820px}.media-content-item{grid-template-columns:104px minmax(0,1fr) auto;align-items:center}.media-manager-preview{width:104px;height:94px;object-fit:cover;border:1px solid rgba(215,181,91,.32);background:#0D0D0C}.site-content-form input[type=file]{padding:12px;background:rgba(255,255,255,.03);font-size:.7rem}.site-content-form input[type=file]::file-selector-button{margin-right:12px;padding:8px 10px;border:1px solid rgba(215,181,91,.45);background:rgba(215,181,91,.1);color:#d7b55b;font:700 .58rem 'Montserrat',sans-serif;letter-spacing:.08em;cursor:pointer}@media(max-width:700px){.media-content-item{grid-template-columns:78px minmax(0,1fr)}.media-manager-preview{width:78px;height:78px}.media-content-item .cms-content-actions{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}.media-content-item .cms-content-actions button{flex:1;min-width:100px}}

/* Echelon media gallery */
.media-section{background:linear-gradient(105deg,rgba(13, 13, 12,.82),rgba(13, 13, 12,.68)),url('../images/efc-studio-dawn.png') center/cover no-repeat;background:linear-gradient(105deg,rgba(13, 13, 12,.82),rgba(13, 13, 12,.68)),image-set(url('../images/efc-studio-dawn.webp') type('image/webp'), url('../images/efc-studio-dawn.png') type('image/png')) center/cover no-repeat}.media-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:36px}.media-heading h2{margin:10px 0 0}.media-heading h2 span{color:var(--primary)}.media-heading p{max-width:410px;margin:0;color:#c6c6c6;line-height:1.65}.media-carousel{border:1px solid rgba(255,255,255,.16);background:rgba(7,7,7,.76);box-shadow:0 24px 60px rgba(13, 13, 12,.3)}.media-frame{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);min-height:0}.media-visual{position:relative;height:clamp(340px,54vw,600px);min-height:0;background:#0D0D0C;overflow:hidden;border-right:1px solid rgba(215,181,91,.34)}.media-visual::after{content:'';position:absolute;inset:12px;border:1px solid rgba(215,181,91,.32);pointer-events:none;z-index:2}.media-visual::before{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:radial-gradient(circle,#fff 1px,transparent 1px);background-size:3px 3px}.media-visual>picture,.media-visual>picture>img{width:100%;height:100%;display:block}.media-visual>img,.media-visual picture img,.media-visual video,.media-video-placeholder>img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:saturate(.92) sepia(.06) contrast(1.02)}@media(prefers-reduced-motion:no-preference){.media-visual>img,.media-visual picture img{animation:mediaKenBurns 9s ease-out forwards}}@keyframes mediaKenBurns{from{transform:scale(1)}to{transform:scale(1.08)}}.media-visual video{position:absolute;inset:0}.media-copy{display:flex;flex-direction:column;justify-content:flex-end;padding:38px;border-left:1px solid rgba(255,255,255,.12);background:linear-gradient(145deg,rgba(215,181,91,.12),rgba(13, 13, 12,.24))}.media-copy h3{margin:12px 0;color:#fff;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.05}.media-count{margin-top:28px;color:#d7b55b;font:700 .7rem 'Montserrat',sans-serif;letter-spacing:.14em}.media-controls{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px;border-top:1px solid rgba(255,255,255,.1)}.media-arrow{width:42px;height:42px;border:1px solid rgba(215,181,91,.65);background:transparent;color:#d7b55b;font-size:1.35rem;cursor:pointer}.media-arrow:hover{background:rgba(215,181,91,.15);color:#fff}.media-dots{display:flex;gap:9px}.media-dot{width:34px;height:2px;padding:0;border:0;background:rgba(255,255,255,.28);cursor:pointer}.media-dot.active{background:#d7b55b}.media-video-placeholder{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}.media-video-placeholder::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(13, 13, 12,.12),rgba(13, 13, 12,.72))}.media-video-placeholder span,.media-video-placeholder strong{position:relative;z-index:3}.media-video-placeholder span{display:grid;place-items:center;width:72px;height:72px;border:1px solid #d7b55b;border-radius:50%;background:rgba(13, 13, 12,.48);color:#d7b55b;font-size:1.45rem}.media-video-placeholder strong{position:absolute;bottom:34px;color:#fff;font:700 .65rem 'Montserrat',sans-serif;letter-spacing:.13em}@media(max-width:760px){.media-heading{align-items:flex-start;flex-direction:column}.media-frame{grid-template-columns:1fr}.media-visual{height:clamp(250px,72vw,360px);border-right:0;border-bottom:1px solid rgba(215,181,91,.34)}.media-copy{min-height:220px;border-top:1px solid rgba(255,255,255,.12);border-left:0;padding:28px}.media-copy h3{font-size:2rem}}@media(max-width:480px){.media-visual{height:250px}.media-copy{padding:24px}.media-video-placeholder strong{bottom:24px;font-size:.57rem}.media-dot{width:24px}}
