/* ===== EPOCHAIN Custom Theme ===== */

/* Local Oswald (self-hosted, no external requests) */
@font-face {
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../webfonts/oswald-v57-latin-regular.woff2') format('woff2');
}
@font-face {
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../webfonts/oswald-v57-latin-500.woff2') format('woff2');
}
@font-face {
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../webfonts/oswald-v57-latin-600.woff2') format('woff2');
}
@font-face {
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../webfonts/oswald-v57-latin-700.woff2') format('woff2');
}

:root{
    --epo-gold: #c9a14d;
    --epo-gold-light: #e3c887;
    --epo-dark: #0b0b0c;
}

.font-epo{
    font-family: 'Oswald', var(--font-global), arial, sans-serif;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/* Logo */
.epo-logo{
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    font-size: 24px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #fff;
    text-decoration: none;
    display: inline-block;
    padding-top: 2px;
}
.epo-logo span{
    color: var(--epo-gold);
}
.main-nav.dark.fixed .epo-logo,
.main-nav.light-after-scroll.stuck .epo-logo{
    color: #1a1a1a;
}

/* Nav single link */
.epo-nav-link{
    font-weight: 600;
    letter-spacing: 0.08em;
}

/* Hero */
#home .epo-eyebrow{
    font-family: 'Oswald', sans-serif;
    font-weight: 500;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    font-size: 13px;
    color: var(--epo-gold-light);
    margin-bottom: 22px;
}
#home h1.epo-title{
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 6.4rem;
    line-height: 1;
    margin-bottom: 22px;
}
@media (max-width: 767px){
    #home h1.epo-title{ font-size: 3rem; }
}
#home .epo-tagline{
    font-family: 'Oswald', sans-serif;
    font-weight: 400;
    font-size: 1.5rem;
    letter-spacing: 0.04em;
    color: var(--epo-gold-light);
    margin-bottom: 50px;
}

/* Gold buttons */
.btn-epo-gold,
a.btn-epo-gold{
    background: var(--epo-gold) !important;
    background-color: var(--epo-gold) !important;
    border-color: var(--epo-gold) !important;
    color: #16140d !important;
}
.btn-epo-gold:hover,
a.btn-epo-gold:hover,
a.btn-epo-gold:focus{
    background: var(--epo-gold-light) !important;
    background-color: var(--epo-gold-light) !important;
    border-color: var(--epo-gold-light) !important;
    color: #16140d !important;
}
.btn-epo-outline{
    background-color: transparent;
    border: 1px solid rgba(255,255,255,0.55);
    color: #fff !important;
}
.btn-epo-outline:hover{
    border-color: var(--epo-gold);
    color: var(--epo-gold) !important;
}

/* Contact section */
#contact{
    background-color: var(--epo-dark);
}
#contact .section-title,
#contact .epo-eyebrow{
    color: #fff;
}
#contact .epo-eyebrow{
    font-family: 'Oswald', sans-serif;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--epo-gold);
    font-size: 13px;
    margin-bottom: 14px;
    display: block;
}
#contact .section-title-descr{
    color: rgba(255,255,255,0.65);
}
#contact .ci-icon{
    color: var(--epo-gold);
}
#contact .ci-title{
    color: #fff;
}
#contact .ci-text,
#contact .ci-text a{
    color: rgba(255,255,255,0.75);
}
#contact .ci-link a{
    color: var(--epo-gold);
}

/* Solid dark nav for legal / non-hero pages (no video bg, always visible) */
.main-nav.solid-dark{
    background: var(--epo-dark) !important;
    box-shadow: 0 3px 15px 0 rgba(0,0,0,0.25);
}
.main-nav.solid-dark .epo-logo{
    color: #fff;
}
.main-nav.solid-dark .inner-nav ul li a{
    color: rgba(255,255,255,0.75);
}
.main-nav.solid-dark .inner-nav ul li a:hover,
.main-nav.solid-dark .inner-nav ul li a.active{
    color: var(--epo-gold);
}
.main-nav.solid-dark .mobile-nav{
    color: #fff;
}

/* Legal pages */
.legal-page{
    background-color: #111;
    color: rgba(255,255,255,0.8);
}
.legal-page .section-title{
    color: #fff;
}
.legal-page a{
    color: var(--epo-gold);
}
.legal-page strong{
    color: #fff;
}

/* Contact section — ambient video backdrop */
.epo-contact-section{
    background-color: var(--epo-dark);
}
.epo-contact-section .bg-video-wrapper{
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    overflow: hidden;
    z-index: 0;
}
.epo-contact-overlay{
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background:
        radial-gradient(ellipse at center, rgba(11,11,12,0.55) 0%, rgba(11,11,12,0.93) 75%),
        linear-gradient(180deg, rgba(11,11,12,0.97) 0%, rgba(11,11,12,0.85) 50%, rgba(11,11,12,0.97) 100%);
}
.epo-contact-section .container{
    z-index: 1;
}

/* Decorative divider */
.epo-divider{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    color: var(--epo-gold);
    font-size: 13px;
}
.epo-divider span{
    display: block;
    width: 46px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--epo-gold));
}
.epo-divider span:last-child{
    background: linear-gradient(90deg, var(--epo-gold), transparent);
}

/* Gold glass contact cards */
.epo-card.contact-item{
    padding: 36px 24px 30px;
    text-align: center;
    background: linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.015));
    border: 1px solid rgba(201,161,77,0.22);
    border-radius: 14px;
    backdrop-filter: blur(2px);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.epo-card.contact-item:hover{
    border-color: rgba(201,161,77,0.55);
    background: linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.02));
    transform: translateY(-4px);
}
.epo-card .ci-icon{
    position: relative;
    top: auto;
    left: auto;
    margin: 0 auto 20px;
    width: 56px;
    height: 56px;
    line-height: 54px;
    font-size: 20px;
}
.epo-card .ci-icon:before{
    background: rgba(201,161,77,0.08);
    border: 1px solid rgba(201,161,77,0.45);
}
.epo-card.contact-item .ci-icon{
    color: var(--epo-gold-light) !important;
}
.epo-card .ci-title{
    font-size: 19px;
    margin-bottom: 2px;
}
.epo-card .ci-text{
    font-size: 15px;
}
.epo-card .ci-text a.epo-mail{
    color: inherit !important;
    text-decoration: none;
    cursor: text;
    background: transparent !important;
    outline: none;
    -webkit-user-select: text;
    user-select: text;
}
.epo-card .ci-text a.epo-mail:hover,
.epo-card .ci-text a.epo-mail:focus{
    background: transparent !important;
    color: inherit !important;
}
.epo-card .ci-link{
    margin-top: 14px;
}
.epo-card .ci-link a{
    color: var(--epo-gold) !important;
}
.epo-card .ci-link a:after{
    background-color: var(--epo-gold) !important;
}

/* ===== About Section (light) ===== */
.epo-about-section{
    background: linear-gradient(180deg, #f7f4ee 0%, #efe9dd 100%);
    color: #2b2620;
    position: relative;
}
.epo-about-section:before{
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, transparent, var(--epo-gold), transparent);
}
.epo-eyebrow-dark{
    font-family: 'Oswald', sans-serif;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: #b18a33;
    font-size: 13px;
    margin-bottom: 14px;
    display: block;
}
.epo-about-title{
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    font-size: 2.6rem;
    line-height: 1.1;
    color: #221e18;
}
.epo-about-text{
    font-size: 1.05rem;
    line-height: 1.7;
    color: #4a4236;
}
.epo-about-text strong{
    color: #221e18;
}
.epo-divider-left{
    justify-content: flex-start;
}

/* Stats */
.epo-stat-col{
    margin-bottom: 30px;
}
.epo-stat{
    text-align: center;
    padding: 26px 12px;
    background: #fff;
    border: 1px solid rgba(177,138,51,0.25);
    border-radius: 14px;
    box-shadow: 0 10px 30px -12px rgba(80,60,20,0.22);
    height: 100%;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.epo-stat:hover{
    transform: translateY(-4px);
    border-color: rgba(177,138,51,0.5);
}
.epo-stat-num{
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    font-size: 2.7rem;
    line-height: 1;
    color: var(--epo-gold);
    margin-bottom: 8px;
}
.epo-stat-label{
    font-size: 0.9rem;
    line-height: 1.4;
    color: #6b6153;
    letter-spacing: 0.01em;
}
/* Unified stat text — all same font, size, color */
.epo-stat-unified{
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 150px;
}
.epo-stat-text{
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    font-size: 1.9rem;
    line-height: 1.15;
    color: var(--epo-gold);
    text-transform: uppercase;
    letter-spacing: 0.02em;
    text-align: center;
}

/* Hero content & container above bg video */
#home .container{
    position: relative;
    z-index: 2;
}
#home .scroll-down-wrap{
    z-index: 3;
}

/* Robust full-cover background video (overrides template polyfill quirks) */
#home .bg-video-wrapper,
.epo-contact-section .bg-video-wrapper{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
}
.bg-video-wrapper > video,
.bg-video-wrapper > video.bg-video{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover;
    object-position: center center;
}

/* Hero sound toggle button */
.epo-video-controls{
    position: absolute;
    bottom: 20px;
    left: 20px;
    z-index: 1000;
    display: flex;
    gap: 12px;
}
a.bg-video-button-muted.epo-sound-toggle,
a.bg-video-button-muted.epo-play-toggle{
    position: static;
    width: 46px;
    height: 46px;
    font-size: 18px;
    line-height: 46px;
    text-align: center;
    border-radius: 50%;
    background: rgba(11,11,12,0.55);
    border: 1px solid rgba(201,161,77,0.5);
    color: var(--epo-gold-light);
    opacity: 1;
    -webkit-transition: all 0.25s ease;
    transition: all 0.25s ease;
}
a.bg-video-button-muted.epo-sound-toggle:hover,
a.bg-video-button-muted.epo-play-toggle:hover{
    background: var(--epo-gold);
    border-color: var(--epo-gold);
    color: #16140d;
}
a.bg-video-button-muted.epo-sound-toggle i,
a.bg-video-button-muted.epo-play-toggle i{
    line-height: 44px;
}

/* Hero secondary social links */
.epo-social-link{
    display: inline-block;
    color: rgba(255,255,255,0.75);
    font-family: 'Oswald', sans-serif;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-size: 13px;
    text-decoration: none;
    padding-bottom: 3px;
    border-bottom: 1px solid transparent;
    -webkit-transition: all 0.25s ease;
    transition: all 0.25s ease;
}
.epo-social-link:hover{
    color: var(--epo-gold-light);
    border-bottom-color: var(--epo-gold);
}

/* Footer legal links */
.epo-footer-legal{
    margin-top: 12px;
    font-size: 13px;
}
.epo-footer-legal a{
    color: #8a7d66;
    text-decoration: none;
}
.epo-footer-legal a:hover{
    color: #b18a33;
}
.epo-footer-legal span{
    margin: 0 8px;
    color: #c3b79f;
}

/* Footer (light) */
.footer.epo-footer{
    background: linear-gradient(180deg, #efe9dd 0%, #e7dfd0 100%);
    color: #6b6153;
    position: relative;
}
.footer.epo-footer:before{
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, transparent, var(--epo-gold), transparent);
}
.footer.epo-footer .footer-social-links a{
    color: #7a6f5c;
}
.footer.epo-footer .footer-social-links a:hover{
    color: #b18a33;
}
.footer.epo-footer .footer-social-links a:before{
    background: #fff;
    border: 1px solid rgba(177,138,51,0.4);
}
.footer.epo-footer .footer-social-links a:hover{
    color: #fff;
}
.footer.epo-footer .footer-social-links a:hover:before{
    background: var(--epo-gold);
    border-color: var(--epo-gold);
}
.footer.epo-footer .footer-copy,
.footer.epo-footer .footer-copy a{
    color: #4a4236;
}
.footer.epo-footer .footer-copy a:hover{
    color: #b18a33;
}
.footer.epo-footer a.link-to-top{
    border: 1px solid rgba(177,138,51,0.5);
    background: #fff;
}
.footer.epo-footer a.link-to-top:hover{
    background: var(--epo-gold);
    border-color: var(--epo-gold);
}
