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

html{
    scroll-behavior:smooth;
}

body{
    background:#000;
    color:#fff;
    font-family:Arial,Helvetica,sans-serif;
    overflow-x:hidden;
}

a{
    color:inherit;
    text-decoration:none;
}

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

.site-header{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    z-index:20;
}

.top-info{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px 24px;
    padding:13px 18px;
    background:rgba(0,0,0,.82);
    border-bottom:1px solid rgba(255,255,255,.08);
    font-size:14px;
    font-weight:800;
    text-align:center;
}

.nav-wrap{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:18px;
    padding:18px 18px 12px;
    background:rgba(0,0,0,.35);
}

.brand img{
    width:165px;
    max-width:165px;
    height:auto;
}

.main-nav{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    width:100%;
}

.main-nav a{
    background:rgba(0,0,0,.58);
    border:1px solid rgba(255,255,255,.14);
    padding:13px 8px;
    text-align:center;
    font-size:14px;
    font-weight:800;font-size:12px;letter-spacing:.08em;
}

.hero{
    position:relative;
    min-height:790px;
    display:flex;
    align-items:flex-end;
    overflow:hidden;
}

.hero-bg{
    position:absolute;
    inset:0;
}

.hero-bg img{
    height:100%;
    object-fit:cover;
}

.hero-shade{
    position:absolute;
    inset:0;
    background:
        linear-gradient(to bottom,rgba(0,0,0,.68),rgba(0,0,0,.2) 34%,#000 100%),
        linear-gradient(to right,rgba(0,0,0,.92),rgba(0,0,0,.5),rgba(0,0,0,.25));
}

.hero-inner{
    position:relative;
    z-index:3;
    padding:335px 24px 160px;
    max-width:680px;
}

.eyebrow{
    display:block;
    color:#ff1e1e;
    font-size:10px;
    font-weight:800;font-size:12px;letter-spacing:.08em;
    letter-spacing:.4px;
    white-space:nowrap;
}

.hero h1{
    font-size:37px;
    line-height:1;
    margin:16px 0;
    letter-spacing:-1.6px;
    white-space:nowrap;
}

.hero p{
    color:#f1f1f1;
    font-size:18px;
    line-height:1.65;
    font-weight:800;
}

.hero-actions{
    display:flex;
    flex-direction:column;
    gap:14px;
    margin-top:28px;
}

.btn{
    display:block;
    padding:18px;
    text-align:center;
    font-weight:800;font-size:12px;letter-spacing:.08em;
    font-size:15px;
}

.btn.red{
    background:#ff1e1e;
}

.btn.dark{
    background:rgba(20,20,20,.78);
    border:1px solid rgba(255,255,255,.22);
}

.hero-strip{
    position:absolute;
    left:24px;
    right:24px;
    bottom:22px;
    z-index:5;
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    background:rgba(8,8,8,.9);
    border:1px solid rgba(255,255,255,.1);
}

.hero-strip div{
    padding:15px 8px;
    text-align:center;
    border-right:1px solid rgba(255,255,255,.08);
}

.hero-strip div:last-child{
    border-right:0;
}

.hero-strip strong{
    display:block;
    font-size:26px;
}

.hero-strip span{
    display:block;
    color:#cfcfcf;
    font-size:11px;
    margin-top:4px;
}

.programs,
.school{
    padding:80px 22px;
}

.section-title{
    max-width:760px;
    margin-bottom:34px;
}

.section-title span,
.kids-copy span,
.about-copy span,
.final-cta span{
    color:#ff1e1e;
    font-size:12px;
    font-weight:800;font-size:12px;letter-spacing:.08em;
    letter-spacing:2px;
}

.section-title h2,
.final-cta h2{
    font-size:38px;
    margin:10px 0;
    line-height:1;
}

.section-title p{
    color:#cfcfcf;
    line-height:1.7;
}

.program-list{
    display:grid;
    gap:18px;
}

.program{
    position:relative;
    min-height:390px;
    overflow:hidden;
    background:#111;
    border:1px solid rgba(255,255,255,.08);
}

.program img{
    height:100%;
    min-height:390px;
    object-fit:cover;
    filter:brightness(.74);
    transition:.45s;
}

.program:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top,#000 4%,rgba(0,0,0,.25) 75%);
}

.program div{
    position:absolute;
    left:0;
    bottom:0;
    z-index:2;
    padding:24px;
}

.program span{
    color:#ff1e1e;
    font-weight:800;font-size:12px;letter-spacing:.08em;
    font-size:13px;
}

.program h3{
    font-size:30px;
    margin:8px 0 10px;
}

.program p{
    color:#f0f0f0;
    line-height:1.6;
    font-weight:700;
    font-size:15px;
}

.kids-feature,
.about{
    display:grid;
    grid-template-columns:1fr;
    background:#050505;
}

.kids-photo img,
.about-photo img{
    height:330px;
    object-fit:cover;
}

.kids-copy,
.about-copy{
    padding:52px 24px;
}

.kids-copy h2,
.about-copy h2{
    font-size:35px;
    line-height:1.04;
    margin:14px 0;
}

.kids-copy p,
.about-copy p{
    color:#d8d8d8;
    line-height:1.75;
    font-size:16px;
}

.pill-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:24px;
}

.pill-row b{
    background:#111;
    border:1px solid rgba(255,255,255,.08);
    padding:13px;
    text-align:center;
}

.bio-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    margin:28px 0;
}

.bio-grid div{
    background:#101010;
    border-left:4px solid #ff1e1e;
    padding:16px;
}

.bio-grid strong{
    display:block;
    font-size:16px;
    margin-bottom:6px;
}

.bio-grid span{
    display:block;
    color:#cfcfcf;
    font-size:14px;
    line-height:1.5;
}

.school-grid{
    display:grid;
    gap:16px;
}

.school-grid img{
    height:260px;
    object-fit:cover;
}

.final-cta{
    padding:80px 24px;
    text-align:center;
    background:
        linear-gradient(rgba(0,0,0,.72),rgba(0,0,0,.94)),
        url("../images/interior.jpg") center/cover;
}

.contact-buttons{
    display:grid;
    gap:12px;
    max-width:560px;
    margin:28px auto;
}

.contact-buttons a{
    padding:16px;
    background:#ff1e1e;
    font-weight:800;font-size:12px;letter-spacing:.08em;
}

.final-cta p{
    color:#ddd;
}

@media(max-width:390px){
    .hero h1{
        font-size:33px;
    }

    .brand img{
        width:150px;
        max-width:150px;
    }

    .eyebrow{
        font-size:9px;
    }
}

@media(min-width:900px){

    .top-info{
        font-size:13px;
    }

    .nav-wrap{
        flex-direction:row;
        justify-content:space-between;
        padding:28px 64px;
        background:rgba(0,0,0,.18);
    }

    .brand img{
        width:180px;
        max-width:180px;
    }

    .main-nav{
        display:flex;
        width:auto;
        gap:24px;
    }

    .main-nav a{
        border:0;
        background:transparent;
        padding:0;
        font-size:13px;
    }

    .hero{
        min-height:820px;
        align-items:center;
    }

    .hero-inner{
        padding:220px 64px 120px;
    }

    .hero h1{
        font-size:78px;
        max-width:900px;
    }

    .hero p{
        font-size:18px;
        max-width:620px;
    }

    .hero-actions{
        flex-direction:row;
    }

    .btn{
        min-width:190px;
    }

    .hero-strip{
        left:64px;
        right:auto;
        width:570px;
    }

    .programs,
    .school{
        padding:110px 64px;
    }

    .section-title h2,
    .final-cta h2{
        font-size:54px;
    }

    .program-list{
        grid-template-columns:1fr 1fr;
    }

    .program.wide{
        grid-column:span 2;
        min-height:440px;
    }

    .program.wide img{
        min-height:440px;
    }

    .program:hover img{
        transform:scale(1.05);
    }

    .kids-feature,
    .about{
        grid-template-columns:1fr 1fr;
    }

    .about-copy{
        order:1;
    }

    .about-photo{
        order:2;
    }

    .kids-photo img,
    .about-photo img{
        height:100%;
        min-height:560px;
    }

    .kids-copy,
    .about-copy{
        padding:90px 64px;
        display:flex;
        flex-direction:column;
        justify-content:center;
    }

    .kids-copy h2,
    .about-copy h2{
        font-size:50px;
    }

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

    .school-grid{
        grid-template-columns:1.2fr .8fr;
    }

    .school-grid img{
        height:420px;
    }

    .school-grid img:first-child{
        grid-row:span 2;
        height:856px;
    }

    .contact-buttons{
        grid-template-columns:repeat(4,1fr);
    }
}

/* BIGGER STRONGER LOGO */

.brand{
    position:relative;
    z-index:50;
}

.brand img{
    width:250px !important;
    max-width:250px !important;
    filter:
        drop-shadow(0 0 10px rgba(255,0,0,.18))
        drop-shadow(0 0 18px rgba(255,0,0,.10));
    transition:.3s;
}

.brand img:hover{
    transform:scale(1.02);
}

@media(max-width:899px){

    .brand img{
        width:220px !important;
        max-width:220px !important;
    }

    .nav-wrap{
        padding-top:26px;
    }
}

@media(min-width:900px){

    .nav-wrap{
        padding-top:34px;
    }

    .brand img{
        width:280px !important;
        max-width:280px !important;
    }
}

/* EXTRA LARGE LOGO */

.brand img{
    width:320px !important;
    max-width:320px !important;
}

@media(max-width:899px){

    .brand img{
        width:250px !important;
        max-width:250px !important;
    }
}

@media(min-width:900px){

    .brand img{
        width:360px !important;
        max-width:360px !important;
    }
}

/* HERO TAG NAVIGATION */

.hero-tags{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-bottom:18px;
}

.hero-tags a{
    color:#ff1e1e;
    font-size:13px;
    font-weight:800;font-size:12px;letter-spacing:.08em;
    letter-spacing:.8px;
    padding-bottom:3px;
    border-bottom:2px solid transparent;
    transition:.25s;
}

.hero-tags a:hover{
    border-color:#ff1e1e;
    transform:translateY(-1px);
}

@media(max-width:899px){

    .hero-tags{
        gap:10px;
    }

    .hero-tags a{
        font-size:12px;
    }
}

/* SOCIAL / MAP COLORS */

.top-info a{
    transition:.25s;
}

.instagram-link{
    color:#ff4fd8 !important;
}

.facebook-link{
    color:#1877f2 !important;
}

.map-link{
    color:#34a853 !important;
}

.instagram-link:hover,
.facebook-link:hover,
.map-link:hover{
    filter:brightness(1.25);
}

.contact-buttons{
    max-width:720px;
}

.contact-buttons .instagram-button{
    background:#c13584;
}

.contact-buttons .facebook-button{
    background:#1877f2;
}

.contact-buttons .map-button{
    background:#188038;
}

@media(min-width:900px){
    .contact-buttons{
        grid-template-columns:repeat(5,1fr);
    }
}

/* MOBILE HERO TAG FIX */

@media(max-width:899px){

    .hero-inner{
        padding-top:410px !important;
    }

    .hero-tags{
        display:grid !important;
        grid-template-columns:1fr 1fr;
        gap:8px;
        margin-bottom:18px;
        max-width:100%;
    }

    .hero-tags a{
        display:block;
        background:rgba(0,0,0,.62);
        border:1px solid rgba(255,30,30,.35);
        color:#ff1e1e !important;
        padding:9px 8px;
        text-align:center;
        font-size:11px !important;
        letter-spacing:.3px;
        line-height:1.1;
    }
}

@media(max-width:390px){

    .hero-inner{
        padding-top:430px !important;
    }

    .hero-tags a{
        font-size:10px !important;
    }
}

/* WAKO SECTION */

.wako-strip{
    background:#050505;
    border-top:1px solid rgba(255,255,255,.08);
    padding:70px 20px;
}

.wako-wrap{
    display:flex;
    align-items:center;
    gap:40px;
    max-width:1100px;
    margin:auto;
}

.wako-wrap img{
    width:140px;
    background:#fff;
    border-radius:10px;
    padding:14px;
}

.wako-text span{
    color:#ff1e1e;
    font-size:13px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.wako-text h3{
    font-size:34px;
    margin:10px 0 14px;
    color:#fff;
}

.wako-text p{
    color:#cfcfcf;
    line-height:1.7;
    max-width:700px;
}

@media(max-width:768px){

    .wako-wrap{
        flex-direction:column;
        text-align:center;
    }

    .wako-wrap img{
        width:110px;
    }

    .wako-text h3{
        font-size:26px;
    }
}

/* FEDERATIONS SECTION */

.federations-section{
    background:#030303;
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.08);
    padding:50px 22px;
}

.federations-inner{
    max-width:1100px;
    margin:0 auto;
    display:grid;
    gap:16px;
}

.federation-card a{
    display:block;
    background:#0d0d0d;
    border:1px solid rgba(255,255,255,.12);
    padding:22px;
    transition:.25s;
}

.federation-card a:hover{
    border-color:#ff1e1e;
    transform:translateY(-2px);
}

.federation-card strong{
    display:block;
    color:#fff;
    font-size:32px;
    margin-bottom:8px;
}

.federation-card span{
    color:#cfcfcf;
    line-height:1.5;
}

.federation-text{
    padding:20px 0 0;
}

.federation-text span{
    color:#ff1e1e;
    font-size:12px;
    font-weight:800;font-size:12px;letter-spacing:.08em;
    letter-spacing:2px;
}

.federation-text p{
    color:#d0d0d0;
    line-height:1.7;
    margin-top:10px;
}

@media(min-width:900px){

    .federations-inner{
        grid-template-columns:220px 260px 1fr;
        align-items:center;
    }

    .federation-text{
        padding:0 0 0 20px;
    }
}

/* 3 FEDERATION CARDS FIX */

@media(min-width:900px){
    .federations-inner{
        grid-template-columns:220px 260px 260px 1fr !important;
    }
}

.federation-card strong{
    color:#fff;
}

.federation-card:nth-child(1) strong{
    color:#55c7ff;
}

.federation-card:nth-child(2) strong{
    color:#f28c28;
}

.federation-card:nth-child(3) strong{
    color:#4da3ff;
}

.federation-card img{
    max-width:90px;
    height:auto;
    margin-bottom:10px;
    filter:brightness(1.1);
}

/* SIMPLE SVG-LIKE SOCIAL ICONS */

.ico{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:22px;
    height:22px;
    font-size:0;
    line-height:1;
}

.instagram-ico::before{
    content:"IG";
    color:#fff;
    background:#c13584;
    width:28px;
    height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:7px;
    font-size:11px;
    font-weight:800;font-size:12px;letter-spacing:.08em;
}

.facebook-ico::before{
    content:"f";
    color:#fff;
    background:#1877f2;
    width:28px;
    height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    font-size:20px;
    font-family:Arial,Helvetica,sans-serif;
    font-weight:800;font-size:12px;letter-spacing:.08em;
}

.map-ico::before{
    content:"MAP";
    color:#fff;
    background:#188038;
    width:42px;
    height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:6px;
    font-size:10px;
    font-weight:800;font-size:12px;letter-spacing:.08em;
}

@media(max-width:899px){
    .top-info a{
        display:flex;
        align-items:center;
        justify-content:center;
    }
}

/* REAL SOCIAL ICONS */

.social-icon{
    width:24px;
    height:24px;
    object-fit:contain;
    display:block;
}

.top-info a{
    display:flex;
    align-items:center;
    justify-content:center;
}

@media(max-width:899px){
    .social-icon{
        width:26px;
        height:26px;
    }
}

/* CLEAN INLINE SOCIAL ICONS */

.social-svg{
    width:24px;
    height:24px;
    display:block;
}

.instagram-svg rect,
.instagram-svg circle{
    fill:none;
    stroke:#e4405f;
    stroke-width:2;
}

.facebook-svg path{
    fill:#1877f2;
}

.map-svg path{
    fill:#34a853;
}

.map-svg circle{
    fill:#ffffff;
}

.top-info a{
    min-width:42px;
}

@media(max-width:899px){
    .social-svg{
        width:26px;
        height:26px;
    }
}

/* PREMIUM CONTACT ICON CARDS */

.contact-icons{
    max-width:1000px;
    grid-template-columns:repeat(5,1fr);
    gap:14px;
}

.contact-icons .contact-card{
    background:rgba(0,0,0,.62);
    border:1px solid rgba(255,255,255,.14);
    padding:18px 14px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:118px;
    transition:.25s;
}

.contact-icons .contact-card:hover{
    transform:translateY(-3px);
    border-color:#ff1e1e;
}

.contact-symbol{
    width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    margin-bottom:10px;
    font-size:20px;
    font-weight:800;font-size:12px;letter-spacing:.08em;
}

.phone-card .contact-symbol{
    background:#ff1e1e;
    color:#fff;
}

.email-card .contact-symbol{
    background:#ff1e1e;
    color:#fff;
}

.map-card .contact-symbol{
    background:#34a853;
    color:#fff;
}

.instagram-card .contact-symbol{
    background:#e4405f;
    color:#fff;
}

.facebook-card .contact-symbol{
    background:#1877f2;
    color:#fff;
    font-family:Arial,Helvetica,sans-serif;
}

.contact-card strong{
    color:#fff;
    font-size:14px;
    margin-bottom:6px;
}

.contact-card em{
    color:#cfcfcf;
    font-style:normal;
    font-size:12px;
    line-height:1.35;
}

@media(max-width:899px){
    .contact-icons{
        grid-template-columns:1fr;
        max-width:420px;
    }

    .contact-icons .contact-card{
        min-height:auto;
        flex-direction:row;
        justify-content:flex-start;
        text-align:left;
        gap:14px;
        padding:16px;
    }

    .contact-symbol{
        margin-bottom:0;
        flex:0 0 34px;
    }

    .contact-card strong,
    .contact-card em{
        display:block;
    }
}

/* TOP BAR CLEANUP */

.top-info{
    align-items:center;
}

.top-info a{
    white-space:nowrap;
}

.top-info > span:empty{
    display:none;
}

@media(min-width:900px){
    .top-info{
        gap:32px;
    }
}

@media(max-width:899px){
    .top-info{
        grid-template-columns:1fr 1fr 1fr;
    }

    .top-info a:first-child,
    .top-info a:nth-child(2){
        grid-column:span 3;
    }
}

/* BIGGER HEADER MENU */

.main-nav a{
    font-size:15px;
    font-weight:800;
    letter-spacing:.8px;
    padding:10px 0;
    transition:.2s;
}

.main-nav a:hover{
    color:#ff1e1e;
    transform:translateY(-1px);
}

@media(min-width:1200px){
    .main-nav{
        gap:34px;
    }

    .main-nav a{
        font-size:16px;
    }
}

@media(max-width:899px){
    .main-nav a{
        font-size:17px;
        padding:18px 12px;
    }
}




/* SAFE HERO TITLE SIZE */

.hero-content h1{
    font-size:68px;
    line-height:1;
}

@media(max-width:1200px){
    .hero-content h1{
        font-size:58px;
    }
}

@media(max-width:899px){
    .hero-content h1{
        font-size:44px;
        line-height:1.05;
    }
}

/* SMALLER HERO TITLE FINAL */

.hero-content h1{
    font-size:62px !important;
}

@media(max-width:1200px){
    .hero-content h1{
        font-size:54px !important;
    }
}

@media(max-width:899px){
    .hero-content h1{
        font-size:42px !important;
    }
}

/* BIGGER HEADER LOGO */

.logo img{
    max-height:92px !important;
    width:auto;
}

@media(max-width:899px){
    .logo img{
        max-height:78px !important;
    }
}

/* FORCE BIGGER LOGO */

.logo img,
.navbar .logo img,
.header .logo img{
    height:110px !important;
    max-height:none !important;
    width:auto !important;
    object-fit:contain;
}

@media(max-width:899px){
    .logo img,
    .navbar .logo img,
    .header .logo img{
        height:88px !important;
    }
}

/* REAL LOGO SIZE FIX */

.brand img{
    width:420px !important;
    max-width:420px !important;
    height:auto !important;
}

@media(max-width:899px){
    .brand img{
        width:270px !important;
        max-width:270px !important;
    }
}

/* MOBILE TOP BAR FINAL CLEANUP */

@media(max-width:899px){

    .top-info{
        display:grid !important;
        grid-template-columns:1fr 1fr 1fr;
        gap:10px !important;
        padding:12px 14px !important;
        background:#000 !important;
    }

    .top-info a{
        min-width:0 !important;
        background:transparent !important;
        border:0 !important;
        padding:0 !important;
        font-size:0 !important;
        line-height:1 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
    }

    .top-info a[href^="tel"],
    .top-info a[href^="mailto"]{
        font-size:15px !important;
        font-weight:900 !important;
        grid-column:span 3;
    }

    .top-info a[href*="maps"],
    .top-info a[href*="instagram"],
    .top-info a[href*="facebook"]{
        width:44px !important;
        height:44px !important;
        margin:auto !important;
        border-radius:50% !important;
        background:rgba(255,255,255,.06) !important;
    }

    .top-info svg{
        width:25px !important;
        height:25px !important;
    }

    .nav-wrap{
        padding-top:18px !important;
    }
}

/* FEDERATION LOGOS */

.fed-logo{
    max-width:120px;
    max-height:70px;
    object-fit:contain;
    margin-bottom:12px;
}

.federation-card a{
    min-height:150px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

@media(max-width:899px){
    .fed-logo{
        max-width:110px;
        max-height:64px;
    }
}

/* FEDERATION STRIP REFINEMENT */

.federations-section{
    padding:42px 22px !important;
}

.federations-inner{
    max-width:1120px !important;
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    gap:18px !important;
    align-items:stretch !important;
}

.federation-card a{
    min-height:120px !important;
    padding:22px !important;
    background:rgba(255,255,255,.035) !important;
    border:1px solid rgba(255,255,255,.10) !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:18px !important;
}

.federation-card span{
    font-size:15px !important;
    line-height:1.45 !important;
    color:#f0f0f0 !important;
}

.fed-logo{
    width:86px !important;
    max-width:86px !important;
    height:70px !important;
    max-height:70px !important;
    object-fit:contain !important;
    margin:0 !important;
    flex:0 0 86px !important;
}

.federation-text{
    grid-column:1 / -1 !important;
    text-align:center !important;
    padding:10px 0 0 !important;
}

.federation-text p{
    max-width:760px !important;
    margin:10px auto 0 !important;
}

@media(max-width:899px){
    .federations-inner{
        grid-template-columns:1fr !important;
        gap:12px !important;
    }

    .federation-card a{
        min-height:95px !important;
        padding:16px !important;
        gap:14px !important;
    }

    .fed-logo{
        width:72px !important;
        max-width:72px !important;
        height:56px !important;
        max-height:56px !important;
        flex:0 0 72px !important;
    }

    .federation-card span{
        font-size:14px !important;
    }
}

/* MOBILE BACK TO TOP */

.back-top{
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:999;
    width:54px;
    height:54px;
    border-radius:50%;
    background:#ff1e1e;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    font-weight:800;font-size:12px;letter-spacing:.08em;
    box-shadow:0 8px 28px rgba(0,0,0,.45);
}

@media(min-width:900px){
    .back-top{
        display:none;
    }
}

/* PROGRAMS PAGE */

.programs-page{
    background:#000;
    color:#fff;
    min-height:100vh;
    padding:50px 22px 80px;
}

.back-link{
    display:inline-block;
    margin-bottom:40px;
    color:#ff1e1e;
    font-weight:800;font-size:12px;letter-spacing:.08em;
}

.program-info-grid{
    display:grid;
    gap:18px;
    margin:40px 0 60px;
}

.program-info-grid article{
    background:#0b0b0b;
    border:1px solid rgba(255,255,255,.1);
    padding:24px;
}

.program-info-grid h2{
    font-size:28px;
    margin-bottom:12px;
}

.program-info-grid p{
    color:#d5d5d5;
    line-height:1.75;
}

.schedule-box{
    margin-top:50px;
}

.schedule-box h2{
    font-size:36px;
    margin-bottom:24px;
}

.schedule-box img{
    width:100%;
    background:#fff;
    padding:10px;
}

@media(min-width:900px){
    .programs-page{
        padding:70px 64px 100px;
    }

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

/* LEARN MORE BUTTONS */

.learn-more{
    display:inline-block;
    margin-top:18px;
    padding:12px 16px;
    background:#ff1e1e;
    color:#fff;
    font-size:13px;
    font-weight:800;font-size:12px;letter-spacing:.08em;
    letter-spacing:.5px;
}

.learn-more:hover{
    background:#fff;
    color:#000;
}

.program-info-grid article{
    scroll-margin-top:40px;
}

/* SINGLE PROGRAM PAGES */

.single-program-page{
    min-height:100vh;
    background:#000;
    color:#fff;
    padding:50px 22px 90px;
    max-width:1100px;
    margin:0 auto;
}

.single-program-page h1{
    font-size:48px;
    margin:30px 0 24px;
}

.single-program-page p{
    color:#d8d8d8;
    font-size:18px;
    line-height:1.8;
    max-width:850px;
    margin-bottom:16px;
}

.single-program-page .schedule-box{
    margin:50px 0 34px;
}

.single-program-page .schedule-box img{
    width:100%;
    background:#fff;
    padding:10px;
}

@media(max-width:899px){
    .single-program-page h1{
        font-size:38px;
    }

    .single-program-page p{
        font-size:16px;
    }
}

/* HERO STATS */

.hero-stats{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    margin:34px 0 34px;
}

.hero-stat{
    display:flex;
    align-items:center;
    gap:14px;
    background:rgba(0,0,0,.45);
    border:1px solid rgba(255,255,255,.12);
    padding:14px 18px;
    min-width:220px;
    backdrop-filter:blur(5px);
}

.hero-icon{
    font-size:28px;
}

.hero-stat strong{
    display:block;
    color:#ff1e1e;
    font-size:28px;
    line-height:1;
    font-weight:800;font-size:12px;letter-spacing:.08em;
}

.hero-stat span:last-child{
    color:#fff;
    font-size:12px;
    letter-spacing:1px;
    font-weight:800;
}

@media(max-width:899px){

.hero-stats{
    gap:10px;
}

.hero-stat{
    width:100%;
    min-width:unset;
    padding:12px 14px;
}

.hero-stat strong{
    font-size:24px;
}

}

/* HERO STRIP FOUR STATS */

.hero-strip-four{
    grid-template-columns:repeat(4,1fr) !important;
    width:760px !important;
}

.stat-icon{
    display:block;
    font-size:22px;
    margin-bottom:6px;
}

@media(max-width:899px){
    .hero-strip-four{
        grid-template-columns:repeat(2,1fr) !important;
        width:auto !important;
    }

    .hero-strip-four div{
        padding:12px 8px !important;
    }

    .stat-icon{
        font-size:20px;
    }
}

/* TRIAL FORM */

.trial-form-section{
    padding:80px 22px;
    background:#050505;
    border-top:1px solid rgba(255,255,255,.08);
}

.trial-form{
    max-width:720px;
    margin:36px auto 0;
    display:grid;
    gap:14px;
}

.trial-form input,
.trial-form select,
.trial-form textarea{
    width:100%;
    background:#111;
    color:#fff;
    border:1px solid rgba(255,255,255,.14);
    padding:16px;
    font-size:16px;
    font-family:Arial,Helvetica,sans-serif;
}

.trial-form textarea{
    min-height:130px;
    resize:vertical;
}

.trial-form button{
    background:#ff1e1e;
    color:#fff;
    border:0;
    padding:18px;
    font-size:15px;
    font-weight:800;font-size:12px;letter-spacing:.08em;
    cursor:pointer;
}

.trial-form button:hover{
    background:#fff;
    color:#000;
}

@media(min-width:900px){
    .trial-form-section{
        padding:110px 64px;
    }

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

    .trial-form textarea,
    .trial-form button{
        grid-column:1 / -1;
    }
}

/* CONTACT CARDS UNDER FORM */

.contact-cards-section{
    padding:40px 22px 80px;
    background:#050505;
    text-align:center;
}

.contact-address{
    color:#d0d0d0;
    margin-top:26px;
    font-size:18px;
    font-weight:700;
}

@media(min-width:900px){
    .contact-cards-section{
        padding:50px 64px 90px;
    }
}

/* FEDERATION LOGOS IMPROVEMENT */

.federation-card{
    overflow:hidden;
}

.federation-card a{
    background:#0d0d0d !important;
}

.fed-logo{
    background:#ffffff;
    padding:8px;
    border-radius:10px;
    object-fit:contain !important;
}

/* WAKO */
.federation-card:nth-child(1) .fed-logo{
    width:96px !important;
    height:78px !important;
}

/* ΠΟΚ */
.federation-card:nth-child(2) .fed-logo{
    width:92px !important;
    height:74px !important;
}

/* ΓΓΑ */
.federation-card:nth-child(3) .fed-logo{
    width:120px !important;
    height:82px !important;
    padding:10px 14px !important;
    background:#fff !important;
}

@media(max-width:899px){

    .fed-logo{
        border-radius:8px;
    }

    .federation-card:nth-child(3) .fed-logo{
        width:110px !important;
        height:74px !important;
    }
}

/* GGA LOGO FIX */

.federation-card:nth-child(3) .fed-logo{
    background:#111 !important;
    padding:14px !important;
    border:1px solid rgba(255,255,255,.08);
    filter:brightness(1.25) contrast(1.15);
}

/* GGA REAL FIX */

.federation-card:nth-child(3) .fed-logo{
    transform:scale(2.8);
    transform-origin:center;
    background:#111 !important;
    padding:0 !important;
    width:120px !important;
    height:60px !important;
    object-fit:contain;
}

.federation-card:nth-child(3) a{
    overflow:hidden;
}

/* CLEAN GGA FIX */

.federation-card:nth-child(3) .fed-logo{
    transform:scale(1.7) !important;
    width:130px !important;
    height:70px !important;
    margin-bottom:18px;
    display:block;
    object-fit:contain;
}

.federation-card:nth-child(3) a{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:10px;
    padding:28px;
}

/* FINAL GGA SIZE FIX */

.federation-card:nth-child(3) .fed-logo{
    transform:scale(1.35) !important;
    width:105px !important;
    height:58px !important;
}

.federation-card:nth-child(3) a{
    gap:18px !important;
    padding-left:24px !important;
}

.federation-card:nth-child(3) span{
    font-size:15px !important;
    line-height:1.4 !important;
}

/* MOBILE HEADER POLISH */

@media(max-width:899px){

    .top-info{
        display:grid !important;
        grid-template-columns:1fr 1fr 1fr !important;
        gap:10px !important;
        padding:14px 16px 16px !important;
    }

    .top-info a[href^="tel"],
    .top-info a[href^="mailto"]{
        grid-column:auto !important;
        font-size:14px !important;
        background:rgba(255,255,255,.04) !important;
        border:1px solid rgba(255,255,255,.08) !important;
        border-radius:12px !important;
        padding:12px 10px !important;
        min-height:44px !important;
    }

    .top-info a[href^="tel"]{
        grid-column:1 / 2 !important;
    }

    .top-info a[href^="mailto"]{
        grid-column:2 / 4 !important;
    }

    .top-info a[href*="maps"],
    .top-info a[href*="instagram"],
    .top-info a[href*="facebook"]{
        width:54px !important;
        height:54px !important;
        background:rgba(255,255,255,.06) !important;
        border:1px solid rgba(255,255,255,.08) !important;
    }

    .top-info svg{
        width:28px !important;
        height:28px !important;
    }

    .nav-wrap{
        padding-top:18px !important;
    }
}

@media(max-width:390px){
    .top-info a[href^="tel"],
    .top-info a[href^="mailto"]{
        font-size:13px !important;
    }
}

/* MOBILE HERO CLEANUP */

@media(max-width:899px){
    .hero-tags{
        display:none !important;
    }

    .hero-inner{
        padding-top:360px !important;
    }
}

/* MOBILE HERO SPACING FIX */

@media(max-width:899px){
    .hero-inner{
        padding-top:430px !important;
    }

    .main-nav{
        margin-bottom:26px !important;
    }
}

@media(max-width:390px){
    .hero-inner{
        padding-top:455px !important;
    }
}

/* FORM SUCCESS MESSAGE */

.form-success{
    display:none;
    max-width:720px;
    margin:28px auto 0;
    padding:16px 18px;
    background:rgba(34,197,94,.14);
    border:1px solid rgba(34,197,94,.45);
    color:#fff;
    font-weight:800;
    text-align:center;
}

body:has(.trial-form-section) .form-success{
    display:none;
}

html:has(body) .form-success{
    display:none;
}

/* MOBILE FORM TAP FIX */

.trial-form-section,
.trial-form,
.trial-form button{
    position:relative;
    z-index:50;
}

.trial-form button{
    pointer-events:auto !important;
    touch-action:manipulation;
}

.submit-input{
    background:#ff1e1e;
    color:#fff;
    border:0;
    padding:18px;
    font-size:15px;
    font-weight:800;font-size:12px;letter-spacing:.08em;
    cursor:pointer;
    width:100%;
    -webkit-appearance:none;
    appearance:none;
    border-radius:0;
}

@media(min-width:900px){
    .submit-input{
        grid-column:1 / -1;
    }
}

/* MOBILE HERO STATS FIX */

@media (max-width: 768px){

.hero-strip{
    margin-top:40px !important;
}

.hero-strip div{
    padding-top:28px !important;
}

.hero-strip span{
    display:block;
    margin-top:10px;
}

}

/* MOBILE HIDE SECOND HERO CTA */

@media (max-width: 768px){
    .hero-actions .btn.dark{
        display:none !important;
    }

    .hero-actions{
        margin-bottom:34px !important;
    }

    .hero-strip{
        position:relative !important;
        z-index:2 !important;
        margin-top:34px !important;
    }
}

/* CLEAN MOBILE HERO LAYOUT */
@media (max-width:768px){

    .hero{
        min-height:auto !important;
        height:auto !important;
        padding:100px 22px 38px !important;
        display:block !important;
        overflow:hidden !important;
    }

    .hero-inner{
        width:100% !important;
        max-width:100% !important;
        position:relative !important;
        z-index:2 !important;
        display:block !important;
        transform:none !important;
    }

    .hero-actions{
        display:flex !important;
        flex-direction:column !important;
        gap:14px !important;
        width:100% !important;
        margin-top:28px !important;
    }

    .hero-actions .btn{
        width:100% !important;
        max-width:100% !important;
        box-sizing:border-box !important;
        text-align:center !important;
    }

    .hero-strip.hero-strip-four{
        position:relative !important;
        z-index:2 !important;
        left:auto !important;
        right:auto !important;
        top:auto !important;
        bottom:auto !important;
        transform:none !important;

        width:100% !important;
        max-width:100% !important;
        margin:18px 0 0 0 !important;

        display:grid !important;
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
        gap:0 !important;
        box-sizing:border-box !important;
    }

    .hero-strip.hero-strip-four > div{
        width:auto !important;
        min-width:0 !important;
        max-width:none !important;
        box-sizing:border-box !important;
        padding:18px 8px !important;
        text-align:center !important;
    }
}

/* MOBILE FORM FIX */
@media (max-width:768px){
    .trial-form,
    .trial-form *{
        position:relative;
        z-index:5;
    }

    .trial-form input,
    .trial-form select,
    .trial-form textarea,
    .trial-form button,
    .trial-form .submit-input{
        width:100%;
        max-width:100%;
        box-sizing:border-box;
        pointer-events:auto;
        -webkit-appearance:none;
        appearance:none;
    }

    .trial-form .submit-input{
        display:block;
        cursor:pointer;
        touch-action:manipulation;
    }
}

.youtube-card .contact-symbol{
    background:#ff0000;
    color:#fff;
}

@media(min-width:900px){
    .contact-icons{
        grid-template-columns:repeat(6,1fr);
    }
}

.program-btn{
    display:inline-block;
    margin-top:18px;
    padding:12px 18px;
    border-radius:12px;
    background:#b30000;
    color:#fff !important;
    font-weight:800;
    text-decoration:none !important;
}

.program-btn:hover{
    background:#e00000;
}



.back-to-top{
    position:fixed;
    right:18px;
    bottom:18px;
    width:42px;
    height:42px;
    border-radius:50%;
    background:#b30000;
    color:#fff;
    display:none;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    font-size:10px;
    font-weight:800;
    letter-spacing:.08em;
    z-index:99999;
    box-shadow:0 10px 25px rgba(0,0,0,.35);
    transition:.25s;
}


.back-to-top:hover{
    transform:translateY(-3px);
    background:#ff1e1e;
}


.back-to-top:hover{
    background:#e00000;
}


@media (max-width:768px){

    .back-to-top{
        width:36px;
        height:36px;
        right:14px;
        bottom:14px;
        font-size:9px;
        letter-spacing:.06em;
    }

}

@media (max-width:768px){
    a[href="/articles/"]{
        display:none !important;
    }

    .article-mobile-back{
        display:inline-block !important;
    }
}

@media (max-width:768px){
    a.article-mobile-back[href="/articles/"]{
        display:inline-flex !important;
        align-items:center;
        justify-content:center;
    }

    .article-wrap div a[href="/articles/"]:not(.article-mobile-back),
    .wrap div a[href="/articles/"]:not(.article-mobile-back){
        display:none !important;
    }
}

@media (max-width:768px){
    .main-nav a[href="/articles/"]{
        display:flex !important;
        align-items:center;
        justify-content:center;
    }
}

@media (max-width:768px){
    .hero-actions{
        display:flex !important;
        flex-direction:column !important;
        gap:12px !important;
        width:100% !important;
    }

    .hero-actions .btn{
        display:flex !important;
        width:100% !important;
        justify-content:center !important;
        text-align:center !important;
    }

    .hero-actions .btn.dark{
        display:flex !important;
    }
}

.back-to-top{
    position:fixed !important;
    right:14px !important;
    bottom:14px !important;
    width:36px !important;
    height:36px !important;
    border-radius:50% !important;
    background:#b30000 !important;
    color:#fff !important;
    display:none;
    align-items:center !important;
    justify-content:center !important;
    text-decoration:none !important;
    font-size:9px !important;
    font-weight:800 !important;
    letter-spacing:.06em !important;
    z-index:99999 !important;
    box-shadow:0 10px 25px rgba(0,0,0,.35) !important;
}

.back-to-top:hover{
    background:#e00000 !important;
}

@media (min-width:769px){
    .hero-strip{
        max-width:920px !important;
        margin-top:54px !important;
    }

    .hero-strip div{
        min-height:120px !important;
        padding:26px 22px !important;
    }

    .hero-strip strong{
        font-size:34px !important;
    }

    .hero-strip span:last-child{
        font-size:15px !important;
    }

    .stat-icon{
        font-size:18px !important;
        margin-bottom:8px !important;
    }
}

/* MOBILE TOP CONTACT 50/50 FIX */
@media(max-width:899px){
    .top-info{
        grid-template-columns:1fr 1fr !important;
    }

    .top-info a[href^="tel"]{
        grid-column:1 / 2 !important;
        width:100% !important;
        font-size:13px !important;
    }

    .top-info a[href^="mailto"]{
        grid-column:2 / 3 !important;
        width:100% !important;
        font-size:13px !important;
    }

    .top-info a[href*="maps"]{
        grid-column:1 / 2 !important;
        justify-self:center !important;
    }

    .top-info a[href*="instagram"]{
        grid-column:2 / 3 !important;
        justify-self:center !important;
    }

    .top-info a[href*="facebook"]{
        grid-column:1 / 3 !important;
        justify-self:center !important;
    }
}
