/* ==================== Font Faces ==================== */
@font-face {
    font-family: 'Neue Haas Grotesk Display Pro';
    src: url('/font/Neue_Haas_Grotesk/NHaasGroteskDSPro-15UltTh.otf') format('opentype');
    font-weight: 100;
    font-style: normal;
}

@font-face {
    font-family: 'Neue Haas Grotesk Display Pro';
    src: url('/font/Neue_Haas_Grotesk/NHaasGroteskDSPro-16UltThIt.otf') format('opentype');
    font-weight: 100;
    font-style: italic;
}

@font-face {
    font-family: 'Neue Haas Grotesk Display Pro';
    src: url('/font/Neue_Haas_Grotesk/NHaasGroteskDSPro-25Th.otf') format('opentype');
    font-weight: 200;
    font-style: normal;
}

@font-face {
    font-family: 'Neue Haas Grotesk Display Pro';
    src: url('/font/Neue_Haas_Grotesk/NHaasGroteskDSPro-26ThIt.otf') format('opentype');
    font-weight: 200;
    font-style: italic;
}

@font-face {
    font-family: 'Neue Haas Grotesk Display Pro';
    src: url('/font/Neue_Haas_Grotesk/NHaasGroteskDSPro-35XLt.otf') format('opentype');
    font-weight: 200;
    font-style: normal;
}

@font-face {
    font-family: 'Neue Haas Grotesk Display Pro';
    src: url('/font/Neue_Haas_Grotesk/NHaasGroteskDSPro-36XLtIt.otf') format('opentype');
    font-weight: 200;
    font-style: italic;
}

@font-face {
    font-family: 'Neue Haas Grotesk Display Pro';
    src: url('/font/Neue_Haas_Grotesk/NHaasGroteskDSPro-45Lt.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Neue Haas Grotesk Display Pro';
    src: url('/font/Neue_Haas_Grotesk/NHaasGroteskDSPro-46LtIt.otf') format('opentype');
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: 'Neue Haas Grotesk Display Pro';
    src: url('/font/Neue_Haas_Grotesk/NHaasGroteskDSPro-55Rg.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Neue Haas Grotesk Display Pro';
    src: url('/font/Neue_Haas_Grotesk/NHaasGroteskDSPro-56It.otf') format('opentype');
    font-weight: 400;
    font-style: italic;
}

@font-face {
    font-family: 'Neue Haas Grotesk Display Pro';
    src: url('/font/Neue_Haas_Grotesk/NHaasGroteskDSPro-65Md.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Neue Haas Grotesk Display Pro';
    src: url('/font/Neue_Haas_Grotesk/NHaasGroteskDSPro-66MdIt.otf') format('opentype');
    font-weight: 500;
    font-style: italic;
}

@font-face {
    font-family: 'Neue Haas Grotesk Display Pro';
    src: url('/font/Neue_Haas_Grotesk/NHaasGroteskDSPro-75Bd.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Neue Haas Grotesk Display Pro';
    src: url('/font/Neue_Haas_Grotesk/NHaasGroteskDSPro-76BdIt.otf') format('opentype');
    font-weight: 700;
    font-style: italic;
}

@font-face {
    font-family: 'Neue Haas Grotesk Display Pro';
    src: url('/font/Neue_Haas_Grotesk/NHaasGroteskDSPro-95Blk.otf') format('opentype');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'Neue Haas Grotesk Display Pro';
    src: url('/font/Neue_Haas_Grotesk/NHaasGroteskDSPro-96BlkIt.otf') format('opentype');
    font-weight: 900;
    font-style: italic;
}

/* ==================== CSS Reset & Base ==================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body {
    width: 100%;
    height: 100%;
}

body {
    font-family: 'Neue Haas Grotesk Display Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: #000000;
    background-color: #ffffff;
    line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 500;
}

strong{
   font-weight: 500; 
}

p {
    color: #000000;
    font-size: 20px;
    font-weight: 400;
}

a{ text-decoration:none;}

hr {
    width: 70px;
    height: 7px;
    border-style: none;
    background: #00AFAA;
}

select {
  background: transparent;
  border: none;
  border-bottom: 1px solid #000; 
  outline: none;
  padding: 10px;
  margin-bottom: 20px;
  font-size: 20px;        
}
.get_button{
    font-size: 20px;
    padding: 10px;
    border-radius: 25px;
    color: #fff;
    border: 0;
    background: #00AFAA;
}

/* ==================== Переменные ==================== */
:root {
    --header-padding    : clamp(1.875rem, -3.8542rem + 7.6389vw, 5.3125rem);
    --header-tab        : clamp(7.5rem, 4.375rem + 4.1667vw, 9.375rem);
    --header-nav-row-pd : clamp(0rem, -20rem + 26.6667vw, 12rem);
    --nsvp-margin       : clamp(1.875rem, -2.1429rem + 5.9524vw, 5rem);
    --nav-link          : clamp(1.0625rem, 0.75rem + 0.4167vw, 1.25rem);
    --gap-about         : clamp(1.875rem, -2.5446rem + 6.5476vw, 5.3125rem);
    --gap-top-nav       : clamp(3.75rem, 0.4167rem + 4.4444vw, 5.75rem);
    --padding-about     : clamp(1.875rem, 1.3971rem + 1.9608vw, 3.75rem);
    --padding-split-text: clamp(6.25rem, -12.114rem + 17.6471vw, 9.0625rem);
    
    --padding-left-news : clamp(1.875rem, -20.625rem + 33.3333vw, 4.375rem);
    --big-quote-text    : clamp(1.3125rem, 0.8886rem + 1.7391vw, 2.0625rem);
    --footer-nav        : clamp(0rem, -6.5524rem + 8.0645vw, 3.125rem);
}

/* ==================== Hero Wrapper (Общий фон) ==================== */
.hero-wrapper {
    position: relative;
    width: 100%;
    min-height: 774px;
    background: url('/img/hero.jpg') center center / cover no-repeat;
    display: flex;
    flex-direction: column;
    padding: 20px 0;
    overflow: hidden;
}

/* ==================== Header ==================== */
.header {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    padding: 0 var(--header-padding);
}

/* Верхняя часть с логотипом */
.header-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: column;
}
.brand-wrap{
    display: flex;
    width: 100%;
    justify-content: space-between;
}
.brand {
    display: flex;
    align-items: center;
    gap: 20px;
    color: #FFF;
}
.sponsor-banner{margin-right: -50px;}

.brand .logo,
.footer-logo-wrap .logo {
    height: 168px;
    width: 168px;
}

.brand-text {
    flex: 1;
    display: flex;
    font-size: 37px;
    font-weight: 700;
    line-height: 1.1;
    flex-direction: column;
    letter-spacing: 0.5px;
}
.brand-text span:nth-child(2){
    display:none;
}
.brand-text span:last-child{
    font-weight: 300;
    letter-spacing: 2px;
}

/* Строка навигации */
.header-nav-row {
    display: flex;
    max-width: 1365px;
    margin: -5px auto 0 var(--header-nav-row-pd);
    position: relative;
    align-items: center;
}

.mob-menu{display:none;}
.mob-menu{
    width:30px;
    margin-top:-65px;
    cursor:pointer;
}
.mob-menu span{
    display:block;
    height:4px;
    background:white;
    border-radius:2px;
    margin-bottom:5px;
}
.mob-menu span:nth-child(3){
    margin-bottom: 20px;
}

/* ==================== Header Sup Page ==================== */
.hero-sub-wrapper {
    min-height: 264px;
    background: url('/img/hero-sub.jpg') center center / cover no-repeat;
}

/* Tabs */
.category-tabs {
    position: relative;
    z-index: 1;
    height: 50px;
    display: flex;
    background: #FFF;
    border-radius: 50px;
    overflow: hidden;
    align-items: center;
}

.tab {
    width: var(--header-tab);
    height: 50px;
    padding: 12px 25px;
    text-align: center;
    font-size: var(--nav-link);
    font-weight: 500;
    color: #383838;
    border: none;
    cursor: pointer;
    background: transparent;
}

.tab.active {
    background-color: #00AFAA;
    color: #FFF;
}

.tab:hover{
    color: #FFF;
    background: #00AFAA;
}

/* Навигационные ссылки */
.nav-wrap{
    display:flex;
    margin-left: 50px;
    position: relative;
    align-items: center;
}
.nav-wrap-mobile{display:none;}
.nav-wrap-mobile{
    position:absolute;
    top: 0;
    left:0;
    width:100%;
    height:100%;
    background:#FFF;
    z-index:10;
    transition:0.4s ease;
    padding:30px 30px;
}
.nav-wrap-mobile .nav-links{
    flex-direction: column;
    align-items: center;
    gap: 30px;
}
.nav-wrap-mobile .nav-links a{color:#000000;}
.nav-wrap-mobile .closeBtn{
    color: #000;
    text-align: end;
}
.nav-wrap-mobile .nav-links a.active:after{padding-bottom: 12px;}
.nav-wrap-mobile .btn-sign-in{
    margin-top: 10px;
    margin-left:0;
    display: inline-block;
    background:#00AFAA;
}
.nav-wrap::before {
    content: '';
    width: 100%;
    position: absolute;
    right: 0;
    height: 1px;
    background: rgba(255, 255, 255, 0.2);
    z-index: 0;
}
.nav-wrap::after {
    content: '';
    position: absolute;
    width: 100%;
    right: 0;
    height: 1px;
    background: rgba(255, 255, 255, 0.2);
    z-index: 0;
}
.nav-wrap::before {top: -25%;}
.nav-wrap::after {top:125%;}
.nav-links {
    position: relative;
    z-index: 1;
    display: flex;
    gap: 40px;
}

.nav-links a {
    color: #FFF;
    text-decoration: none;
    font-size: var(--nav-link);
    font-weight: 500;
    transition: opacity 0.3s;
}

.nav-links a:hover {
    opacity: 0.8;
}

.nav-links a.active {
    position:relative;
}
.nav-links a.active:after {
    content:"";
    width: 100%;
    display:block;
    position:absolute;
    padding-bottom: 21px;
    border-bottom: 5px solid #00AFAA;
}

/* Кнопка Sign In */
.btn-sign-in {
    position: relative;
    z-index: 1;
    background: #FFF;
    color: #000;
    margin-left: 105px;
    padding: 10px 30px;
    border-radius: 50px;
    font-size: 20px;
    font-weight: 500;
    border: 1px solid #FFF;
    text-decoration:none;
    cursor: pointer;
}
.btn-sign-in:hover {
    color: #FFF;
    border: 1px solid #00AFAA;
    background: #00AFAA;
}

/* ==================== Hero Content ==================== */
.hero-content {
    flex: 1;
    display: flex;
    align-items: center;
    max-width: 1390px;
    width: 100%;
    margin: 0 auto;
    padding: 0 30px 55px;
}

.hero-content h1 {
    font-size: 100px;
    font-weight: 900;
    color: #00C2BC;
    line-height: 1.05;
    word-break: break-word;
    letter-spacing: -2px;
}

.hero-content span{display:block;}

/* ==================== NVSL Section ==================== */
.NVSL{
    margin: 65px auto;
    max-width: 1920px;
}
.nvsl-wrap{
    display: grid;
    margin: 0 var(--nsvp-margin);
    
    grid-template-columns: 14% 1fr 1fr 280px;
    grid-template-rows: 1fr;

    grid-template-areas:
        "sidebar top-nav top-nav top-nav"
        "sidebar grey-wrapper grey-wrapper ads"
        "sidebar split split split"
        "sidebar big-quote-container big-quote-container big-quote-container";

    gap: 65px var(--gap-about);
}
.sidebar {
    grid-area: sidebar;
}
.button-wrap{
    display:flex;
    flex-direction:column;
}
.upcoming-events{
    position: relative;
}
.upcoming-events h2 {
    font-size: 26px;
    color: #000000;
    margin-bottom: 10px;
}
.btn-calendar {
    width: 130px;
    border: 2px solid #00AFAA;
    color: #00AFAA;
    padding: 15px 25px;
    border-radius: 50px;
    background: none;
    cursor: pointer;
    font-size: 18px;
    margin-bottom: 35px;
}
.btn-calendar:hover{
    color: #FFF;
    background: #00AFAA;
}

.event-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.event-item {
    font-size: 12px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
    padding-bottom: 5px;
}
.event-item:last-child { border-bottom: none; }
.event-date { color: #323F4B; font-size: 14px; font-weight: 500; }
.event-time { color: #323F4B; font-size: 14px; font-weight: 400; }
.event-title { color: #00AFAA; font-size: 18px; font-weight: 500; }
.event-title:hover{ text-decoration: underline;}
/* Блоки для рекламы в сайдбаре */
.sidebar-ads{margin-top: 75px;}
.sidebar-ads img{width:100%;}
.sidebar-ads{
    display: flex;
    position: absolute;
    flex-direction: column;
    gap: 15px;
}
.image-ads{
    position:absolute;
    left:0;
    top: -37%;
}
.image-ads img{
    width:100%;
    border-top-right-radius: 25px;
    border-bottom-right-radius: 25px;
}
/* Вернее меню */
.top-nav {
    grid-area: top-nav;
    display: flex;
    padding-bottom: 10px;
    gap:var(--gap-top-nav);
}
.nav-item {
    display: flex;
    gap: 10px;
    font-weight: 500;
}
.nav-icon {
    width: 40px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.nav-text{
    width: 100%;
    font-size:25px;
    font-weight:700;
    color:#165B9F;
    position: relative;
}
.nav-text a{
    display: block;
    font-size: 20px;
    font-weight: 500;
    text-decoration:none;
    color: rgba(0, 0, 0, 0.78);
}
.nav-text a:hover{text-decoration:underline;}
.nav-text::before {
    content: "";
    position: absolute;
    width: 8px;
    height: 13px;
    right: -15px;
    bottom: 2px;
    transform: translateY(-50%) translateX(-4px);
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='13' viewBox='0 0 8 13' fill='none'%3E%3Cpath d='M0.999573 0.996521L6.1593 6.15625L0.999573 11.316' stroke='%238E8E8E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    opacity: 0;
    transition: opacity 0.2s ease, transform 0.2s ease;
}
.nav-text:hover::before {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
}
.nav-text::after{
    content: "";
    display: block;
    width: 1px;
    top: 0;
    right: -40px;
    height: 100%;
    position: absolute;
    border-right: 1px solid rgba(0, 0, 0, 0.12);
}
.nav-item:last-child .nav-text::after {
    display: none;
}
/* ==================== NVSL Sub Section ==================== */
.nvsl-sub{
    display: grid;
    margin: 0 var(--nsvp-margin);
    grid-template-columns: 14% 1fr 280px;
    grid-template-rows: 1fr;
    grid-template-areas: "leftsidebar subcenter rightsidebar";
    gap: 65px var(--gap-about);
}
.subleft-sidebar{
    grid-area: leftsidebar;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-content: flex-start;
}
.subleft-sidebar .nav-text::before{
    top: 40%;
}
.subleft-sidebar .nav-text.last::after {
    border-bottom: none;
}
.subleft-sidebar .nav-text::after{
        content: "";
        display: block;
        width: 100%;
        right: 0;
        cursor: pointer;
        position: absolute;
        border-right: 0;
        border-bottom: 1px solid rgba(0, 0, 0, 0.12);}
.subleft-sidebar .ad-placeholder.first{margin-top:15%;}
.grey-box-center{
    grid-area: subcenter;
    background-color: #EEEEF0;
    border-radius: 25px;
    padding: 80px 80px 100px;
    display: grid;
}
.grey-box-center h2{
    font-size: 41px;
    line-height: 1.2;
    margin-bottom: 10px;
}
.subright-sidebar{
    grid-area: rightsidebar;
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: 30px;
}
.subleft-sidebar .nav-text{
    font-size: 20px;
}
.subleft-sidebar .nav-item{width:100%;}
.subleft-sidebar .nav-text a{
    font-size: 18px;
    padding-bottom: 16px;
}
.subleft-sidebar .nav-text:hover a{
    text-decoration: underline;
}
.subleft-sidebar img{width: 100%;}
.division {
    margin-bottom: 56px;
    background: transparent;
    border-radius: 4px;
    overflow-x: scroll;
}

table {
    width: 100%;
    border-collapse: collapse;
}

thead th {
    background: #00AFAA;
    color: #fff;
    font-weight: 500;
    padding: 14px 16px;
    white-space: nowrap;
}

thead th:first-child {
    width: 32%;
    text-align: left;
    padding-left: 28px;
    font-size: 20px;
}

tbody td {
    padding: 18px 16px;
    border-bottom: 1px solid rgba(50, 63, 75, 0.3);
    text-align: center;
    font-size: 17px;
}

tbody tr:last-child td {
    border-bottom: none;
}

tbody td:first-child,
tbody td a:first-child {
    text-align: left;
    padding-left: 28px;
    font-weight: 500;
    color: #323F4B;
}
/* ==================== NVSL Sub Section ==================== */

/* --- Секция "About" + Баннеры справа --- */
.grey-wrapper {
    grid-area: grey-wrapper;
    display: flex;
    gap: 45px;
}

/* Серый блок About */
.grey-box {
    overflow: hidden;
    background-color: #EEEEF0;
    border-radius: 25px;
    padding: 80px 0 110px 100px;
    display: grid;
    grid-template-columns: 50% 29%;
    grid-template-areas: 
        "col-1 col-2"
        "col-1 col-3";
    gap: 0 110px; 
}
.grey-col-1 {;
    grid-area: col-1;
    display: flex;
    position:relative;
    flex-direction: column;
    gap: 15px;
}
.grey-col-1 h2 {
    font-size: 41px;
    line-height: 1.2;
    margin-bottom: 10px;
}
.grey-col-1::after {
    content: "";
    position: absolute;
    top: 180px;
    right: -10%;
    width: 1px;
    height: 73%;
    background-color: rgba(0, 0, 0, 0.12);
}
.grey-col-2 {
    grid-area: col-2;
    width: 100%;
    height: 140px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
}
.grey-col-2 img{
    top: -82px;
    right: -35%;
    position: relative;
    mix-blend-mode: multiply;
}
.grey-col-3 {
    grid-area: col-3;
    display: flex;
    position: relative;
    flex-direction: column;
}
.grey-col-3 p {
    font-weight: 500;
    line-height: 1.5;
    color: #323F4B;
}
.about-quote {
    display:flex;
    font-weight: 500;
    font-style: italic;
    padding-right: 12px;
    margin: 10px 0;
}
.btn-learn {
    background-color: #00AFAA;
    color: #FFFFFF;
    border: 1px solid #00AFAA;
    padding: 14px 24px;
    border-radius: 50px;
    cursor: pointer;
    align-self: flex-start;
    font-weight: bold;
    font-size: 18px;
    margin-top: auto;
    margin-bottom: 65px;
}
/* Правые баннеры (рядом с About) */
.ads {
    grid-area: ads;
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.hero-ad-placeholder {
    width: 100%;
    display: flex;
}
.hero-ad-placeholder img{
    width: 100%;
    height: 280px;
} 
/* --- Секция "Синий блок с тренером" --- */
.split{
    grid-area: split;
}
.split-wrap{
    display: flex;
    max-width: 1510px;
    width: 78.3vw;
}
.split-image {
    display:flex;
}
.split-image img{
    border-top-left-radius: 25px;
    border-bottom-left-radius: 25px;
}
.split-text {
    color: #FFFFFF;
    padding: 85px var(--padding-split-text) 50px 100px;
    display: flex;
    flex-direction: column;
    background-color: #165B9F;
}
.split-text h2 {
    font-size: 41px;
    padding-right: 70px;
    margin-bottom: 20px;
    line-height: 1.2;
}
.split-text h2 span { color: #00BFBA; }

.grey-col-1 hr,
.grey-box-center hr{margin-bottom: 20px;}
.split-text hr {margin-bottom: 50px;}
.split-text p {
    line-height: 1.5;
    margin-bottom: 25px;
    color: #FFFFFF;
}
.split-text p strong{font-weight:700;}
.bottom-features{
    margin: 0 auto;
    max-width: 1920px;
}
/* --- Большая цитата --- */
.big-quote-container {
    grid-area: big-quote-container; 
    display: flex;
    width: 100%;
    padding-bottom: 20px;
}
.big-wrap{
    display:flex;
    width: 78%;
}
.big-quote-icon {
    width: 105px;
    height: 105px;
    font-size: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px 12px 12px 0;
    flex-shrink: 0;
}
.big-quote-text{padding-left: 40px;}
.big-quote-text h3 {
    font-size: 33px;
    font-weight: 700;
    line-height: 1.4;
    color: #000000;
    margin-bottom: 8px;
    letter-spacing: 0.5px;
}
.big-quote-text p {font-size: 20px;}
.big-quote-text p strong { 
    color: #165B9F;
    font-weight: 700;
}
/* --- Нижний блок (3 колонки) --- */
.bottom-features {
    display: flex;
    align-items: stretch;
    background-color: #F6F6F6;
}
.bottom-wrap{ display: flex; }
.feature-col{
    display: flex;
    padding: 70px 85px;
    flex-direction: column;
    gap: 20px;
}
/* Левая колонка со списком */
.feature-col.white { 
    width:71%; 
    align-items: flex-end;
    padding-left:0;
    position: relative;
    padding-right: 65px;
}
.feature-col.white .wrap{width: 56%;}
.feature-col.white p { 
    line-height: 1.5;
    padding-bottom: 35px;
}
.list-items {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.list-item {
    position: relative;
    padding-left: 10px;
}
.list-item::before {
    content: '';
    width: 7px;
    height: 7px;
    background: #00AFAA;
    position: absolute;
    left: -8px;
    top: 15px;
    border-radius: 25px;
}
.list-item:not(:last-child)::after{
    content: "";
    display: block;
    width: 100%;
    padding-bottom: 12px;
    position: relative;
    border-bottom: 1px solid rgba(22, 91, 159, 0.2);
}
.list-item h4 { font-size: 23px; font-weight: 700; color: #323F4B; }
.list-item span { font-size: 18px; font-weight: 500; color: #323F4B; }
/* Центральная колонка (Голубая) */
.feature-col.lightblue {
    width: 35%;
    padding-right: 50px;
    background-color: #6CC7D8;
}
.feature-col.lightblue p {
    line-height: 1.5;
    color: #000000;
}
/* Правая колонка (Фото) */
.feature-col.photo {
    padding: 0;
    display: flex;
    min-height: 250px;
}
/* ==================== News Banner ==================== */
.news-banner-section {
    background-color: #165B9F;
    padding: 85px 20px;
    text-align: center;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    width: 100%;
}
.news-banner-title {
    color: #ffffff;
    font-size: 41px;
    font-weight: 500;
    margin: 0;
    letter-spacing: -1.2px;
}
/* Создаем зеленую черту под текстом */
.news-banner-title::after {
    content: '';
    display: block;
    width: 73px; 
    height: 7px; 
    background-color: #00AFAA;
    margin: 16px auto 0;
}
/* ==================== Announcement Section ==================== */
.announcement-section,
.seeding-section,
.results-section,
.news-section {
    padding: 80px 30px;
    width: 100%;
}
.announcement-section,
.results-section{
    background-color: #ffffff;
}
.seeding-section,
.news-section{
    background-color: #f6f6f6;
}
.news-section:nth-child(odd) {
    background-color: #ffffff;
}
.announcement-container,
.seeding-container,
.news-container,
.results-container,
.news-content{
    display: flex;
    max-width: 1095px; 
    margin: 0 auto;    
}
.news-container{overflow:scroll;}
/* Левая колонка (Дата и автор) */
.announcement-meta,
.seeding-meta,
.results-meta,.news-meta{
    flex: 0 0 150px; 
    text-align: left;
    padding-top: 10px;
}
/* Правая колонка (Основной контент) */
.announcement-content,
.seeding-content,
.results-content,
.news-content{
    border-left: 2px solid #6CC7D8; 
    padding-left: 70px;
    margin-bottom: 45px;
}
.announcement-content h2,
.seeding-content h2,
.results-content h2,
.news-content h2{
    font-size: 33px;
    color: #165B9F;
    margin-bottom: 15px;
}
.announcement-content p {
    font-size: 19px;
    margin-bottom: 22px;
}
.announcement-content p:last-child {
    margin-bottom: 0;
}
/* Стили для выделенного текста и ссылок */
.announcement-content a {
    color: #00BFBA;
    text-decoration: none;
}
.announcement-content a:hover {
    text-decoration: underline;
}
/* ==================== Seeding Section ==================== */
/* --- Правая колонка (Основной контент) --- */
.seeding-content h3 {
    font-size: 23px;
    color: #323F4B;
    margin-bottom: 5px;
}
/* --- Flexbox Сетка для 3 колонок команд --- */
.teams-grid {
    display: flex;
    gap: 30px;
    border-top: 1px solid rgba(50, 63, 75, 0.2);
    padding-top: 30px;
}
.teams-col {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
/* Шапка колонок (2025 DIVISION | 2025 RECORD) */
.col-header {
    display: flex;
    font-size: 12px;
    font-weight: 700;
    color: #000;
    margin-bottom: -10px;
    border-bottom: 2px solid #000;
    padding-bottom: 10px;
}
.col-header .spacer { flex: 1; }
.col-header .th-div { width: 60px; text-align: center; }
.col-header .th-rec { width: 60px; text-align: center; }
/* Блок отдельного дивизиона */
.division-block {
    display: flex;
    gap: 5px;
}
.div-number {
    color: #00AFAA;
    font-weight: 700;
    font-size: 14px;
    width: 15px;
    text-align: right;
    flex-shrink: 0;
}
.div-teams {
    flex: 1;
    display: flex;
    flex-direction: column;
}
/* Строка отдельной команды */
.team-row {
    display: flex;
    font-size: 14px;
    color: #323F4B;
    align-items: center;
}
.team-name {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.team-div {
    width: 70px;
    text-align: center;
}
.team-rec {
    width: 60px;
    text-align: center;
}

/* ==================== Results Section ==================== */
.meta-date {
    font-size: 14px;
    font-weight: 500;
    color: #323F4B;
    margin-bottom: 8px;
}
.meta-author {
    font-size: 14px;
    color: #323F4B;
    line-height: 1.4;
    padding-right: 12%;
}
/* Правая колонка (Основной контент) */
.results-content > p {
    font-size: 19px;
    margin-bottom: 20px;
}
/* Блоки с результатами голосования (Proposals) */
.proposal-block {
    margin-bottom: 25px;
}
.proposal-block:last-child {
    margin-bottom: 0;
}
.proposal-block h3 {
    font-size: 23px;
    color: #323F4B;
    margin-bottom: 8px;
}
.proposal-block p {
    font-size: 19px;
    line-height: 1.4;
}

/* ==================== News Section ==================== */
.news-content{
    flex-direction:column;
}
/* Правая колонка (Основной контент) */
.news-content p {
    font-size: 19px;
    margin-bottom: 25px;
}
.news-content p a{
    color: #00BFBA;
}
.news-content p a:hover{
    text-decoration:underline;
}
.btn-learn:hover,
.btn-more-news:hover {
    color: #00AFAA;
    border: 1px solid #00AFAA;
    background-color:#ffffff;
}
/* Кнопка More News */
.btn-more-news {
    width: 150px;
    display: inline-block;
    background-color: #00AFAA;
    border: 1px solid #00AFAA;
    color: #ffffff;
    font-weight: 500;
    font-size: 18px;
    text-decoration: none;
    padding: 10px 28px;
    border-radius: 25px;
    margin-top: 15px;
}
.ads-mob{display:none;}
/* ==================== Footer ==================== */
.site-footer {
    background: url('/img/footer.jpg') center center / cover no-repeat; 
    padding: 60px 0px 0px;
    width: 100%;
}
.footer-container {
    display: flex;
    max-width: 1235px;
    margin: 0 auto;
    gap: 25px;
    padding-bottom: 20px;
}
/* --- Логотип (Левая часть) --- */
.footer-logo-wrap {
    flex: 0 0 250px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}
/* --- Навигация (Правая часть) --- */
.footer-nav {
    display: grid;
    gap: var(--footer-nav);
    width: 100%;
    padding: 25px 0;
    grid-template-columns: 30% 70%;
    grid-template-rows: 1fr;
    grid-template-areas: "footer-col footer-col";
}
.footer-col.last{
    display: grid;
    padding: 0;
    grid-template-columns: 34% 28% 1fr;
    grid-template-areas: "wrap-1 wrap-2 wrap-4"
                        "wrap-1 wrap-3 wrap-5";
}
.wrap-1{
    grid-area: wrap-1
}
.wrap-2{
    grid-area: wrap-2
}
.wrap-3{
    grid-area: wrap-3
}
.wrap-4{
    grid-area: wrap-4
}
.footer-col {
    display: flex;
    flex-direction: column;
    padding: 0 0 0 20px;
}
/* Добавляем вертикальные линии между колонками (кроме первой) */
.wrap-1,.wrap-2,.wrap-3,.wrap-4,.wrap-5{
    padding: 0 0 0 20px;
    border-left: 1px solid rgba(255, 255, 255, 0.15);
}
/* Заголовки колонок */
.footer-col h4 {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 10px;
    color: #ffffff;
}
/* Отступ для второго заголовка в колонке (Scholarship) */
.footer-col h4.mt-top {
    margin-top: 10px;
}
/* Списки ссылок */
.footer-col ul {
    list-style: none;
    display: flex;
    flex-direction: column;
}
.footer-col ul li a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.7px;
    transition: color 0.2s ease;
}
.footer-col ul li a:hover {
    color: #ffffff;
    text-decoration: underline;
}
/* --- Социальные сети и кнопка Sign In --- */
.social-icons {
    display: flex;
    margin-bottom: 10px;
    gap: 10px;
}
.social-icon {
    display: flex;
    width: 36px;
    height: 36px;
}
.sign-in-link {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    font-size: 18px;
    display: flex;
    align-items: center;
}
.sign-in-link:hover {
    color: #ffffff;
    text-decoration: underline;
}
/* --- Нижняя полоса с копирайтом --- */
.footer-bottom {
    max-width: 100%;
    margin: 0 auto;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    padding: 30px;
    text-align: center;
}
.footer-bottom p {
    font-size: 18px;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.6);
}
/* ==================== Responsive Design ==================== */
@media (max-width: 1790px) {
    .split-section{height:100%;}
    .split-image{width:48%;}
    .header-nav-row{margin: 35px auto 0 var(--header-nav-row-pd)}
}
@media (max-width: 1720px) {
    .split-wrap{width: 78vw;}
    .image-ads{top: -25%;}
    .image-ads img{width: 80%;}
}
@media (max-width: 1600px) {
    .hero-ad-placeholder{max-width:290px;}
    .split-wrap{width: 77vw;}
    .bottom-features{flex-direction:column;}
    .grey-col-2 p{padding-top:0;}
    .split-text h2{padding-right:0;}
    .btn-learn {margin-top: 20px;margin-bottom:0;}
    .grey-col-1::after{display:none;}
    .sidebar-ads-bottom .ad-placeholder{top: -190px;}
    .grey-box{
        position:relative;
        padding: 80px 60px 80px;
        grid-template-columns: 100%;
        grid-template-areas: 
            "col-2"
            "col-1"
            "col-3";
        gap:20px;}
    .top-nav{flex-wrap:wrap;padding-bottom: 10px;}
    .feature-col.photo img{
        height: 490px;
        object-fit: cover;
        object-position: top;
    }
}
@media (max-width: 1400px) {
    .split-wrap{width: 75.5vw;}
    .nvsl-sub{
        grid-template-columns: 1fr;
        grid-template-areas: "subcenter""leftsidebar""rightsidebar";
    }
    .subright-sidebar{justify-content: center;}
    .subleft-sidebar .ad-placeholder{display:none;}
}
@media (max-width: 1300px) {
    .split-wrap,
    .split-image,
    .split-image img{width: 100%;}
    .split-wrap{flex-direction:column;}
    .split-image img {
        height: 490px;
        object-position: top;
        object-fit: cover;
        border-top-left-radius: 25px;
        border-top-right-radius: 25px;
        border-bottom-left-radius: 0;
    }
}
@media (max-width: 1200px) {
    .header,
    .hero-wrapper {padding:0;}
    .header-nav-row{margin: -38px 168px 0;}
    .sponsor-banner {margin-right: 0;margin-bottom: 20px;}
    .tab.active,.category-tabs {background-color: transparent;}
    .tab{
        color:#FFF;
        padding:0;
        height: auto;
        font-size: 20px;}
    .tab:hover{
        background: transparent;
    }
    .tab:not(.active):hover:after{
        opacity: 1;
        transform: translateY(-50%) translateX(0);
    }    
    .tab:after{
        content: "";
        display: block;
        position: absolute;
        right: 3px;
        top: 25px;
        opacity:0;
        width: 14px;
        height: 14px;
        background: no-repeat;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='12' viewBox='0 0 14 12' fill='none'%3E%3Cpath d='M7.65973 0.496521L12.8195 5.65625L7.65973 10.816' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M0.5 5.5L12.5 5.5' stroke='white' stroke-linecap='round'/%3E%3C/svg%3E");
        transition: opacity 0.2s ease, transform 0.2s ease;
    }
    .tab:first-child{
        border-right: 1px solid #D2D2D2;}
    .sidebar-ads{position:relative;margin-top:0;}
    .tab.active{color: #00AFAA;}
    .sponsor-banner,.about-box{width: 100%;}
    .brand,.header-nav-row{padding:0 30px;}
    .brand-wrap{flex-direction: column-reverse;}
    .sponsor-banner img {width: 100%;margin-left: 0%;}
    .header-top{flex-direction: column;}
    .mob-menu,
    .nav-wrap-mobile.active{display:block;}
    .grey-box-center{padding: 80px 40px 100px;}
    .nav-wrap-mobile{position:fixed;text-align:center;}
    .announcement-content,
    .seeding-content,
    .results-content,
    .news-content{padding-left:var(--padding-left-news);}
    .hero-ads,.nav-wrap{display:none;}
    .big-wrap{width: 100%;margin: 0 30px;}
    .grey-wrapper{flex-direction: column;}
    .split-image img{border-radius:0;}
    .image-ads{top: -8%;}
    .footer-container {max-width: 100%;}
}
@media (max-width: 1080px) {
    .NVSL {margin: 0;}
    .nvsl-wrap{
        grid-template-columns: 100%;
        grid-template-areas:
        "top-nav"
        "sidebar"
        "grey-wrapper"
        "split"
        "big-quote-container";
        padding:0;
        margin:0;
        gap: 0 var(--gap-about);
    }
    .nvsl-sub {
        margin-top: 65px;
        margin-bottom: 65px;
        grid-template-columns: 1fr;
        grid-template-areas:"subcenter""leftsidebar""rightsidebar";
    }
    .ads{display:none;}
    .bottom-wrap,
    .announcement-container, 
    .seeding-container,
    .news-container,
    .results-container,
    .news-content{flex-direction:column;}
    .sidebar,.main-content,
    .feature-col.white .wrap{width: 100%;}
    .announcement-meta, 
    .seeding-meta,
    .results-meta,
    .news-meta{flex: 0 0 75px;}
    .nav-item {width: 45%;}
    .nav-text::before{
        height: 16px;
        right: -6%;
        bottom: 17px;}
    .grey-col-2 img{right: -30px;}
    .ads-mob .sidebar-ads{padding: 30px 0;}
    .sidebar-ads{
        gap:0;
        position:relative;
        flex-direction: row;
        justify-content: center;}
    .sidebar-ads-bottom .ad-placeholder,
    .image-ads img{display:none;}
    .announcement-content, 
    .seeding-content, 
    .results-content, 
    .news-content {
        border-left: 0;
        padding-left: 0;
        margin-bottom:0;}
    .nav-text a {font-size:18px;}
    .btn-calendar{
        width:120px;
        height: 48px;
        padding:10px 20px;
        margin-bottom:20px;}
    .upcoming-events h2{margin-right: 10px;}    
    .event-list{gap: 20px;padding-bottom: 50px;}    
    .sidebar,.top-nav{padding:30px 30px;}
    .top-nav{background: #F6F6F6;}
    .grey-box{margin-bottom:0;border-radius:0;}
    .news-banner-section{padding:60px 30px;}
    .feature-col.lightblue{padding-right:30px;}
    .button-wrap { flex-direction: row;}
    .big-quote-text h3{font-size:var(--big-quote-text);}
    .feature-col.white,
    .feature-col.lightblue{width: 100%;} 
    .feature-col.white,
    .feature-col,.split-text,
    .announcement-section,
    .seeding-section, 
    .results-section,
    .news-section,
    .grey-box,
    .big-quote-container{padding: 45px 30px;}
    .ads-mob{display:block;}
    .teams-grid {overflow: scroll;}
    .footer-col{padding: 0 0 20px 20px;}
    .footer-nav{
        grid-template-columns: 100%;
        grid-template-areas: "footer-col";
    }
}

@media (max-width: 768px) {
    .hero-wrapper {min-height: 620px;}
    .hero-sub-wrapper{min-height:auto;}
    .hero-content h1 {font-size: 80px;}
    .split-text h2 {padding-right:0;}
    .top-nav {gap:8px;}
    .nav-item{width:100%;position: relative;}
    .nav-text{padding-bottom:7px;}
    .nav-text::before{right: 30px;}
    .nav-text{
        padding-bottom: 10px;
        border-bottom: 1px solid rgba(0, 0, 0, 0.12);}
    .big-wrap {margin:0;}
    .announcement-section, 
    .seeding-section,
    .results-section,
    .news-section{padding:30px 30px;}
    .news-banner-title {
        font-size: 37px;
        line-height: 42px;}
    .grey-col-2 img{top: -55px;}    
    .brand-text span:nth-child(2){display:block;}
    .brand-text span:first-child,.brand-text span:last-child{display:none;}
    .footer-container{
        position: relative;
        padding: 30px 30px 60px;
        flex-direction:column;}
    .footer-logo-wrap{position:absolute;right:30px;}
    .site-footer{padding:0;}
    .wrap-1, .wrap-2, .wrap-3, .wrap-4, .wrap-5 {border:0;}
    .footer-bottom{text-align:start;}
}
@media (max-width: 600px) {
    .grey-col-2{
        height: 110px;
    }
    .grey-col-2 img{
        width:307px;
        height: 180px;
    }
    .footer-col.last {
        gap: 17% 22%;
        grid-template-columns: 1fr 1fr;
        grid-template-areas: "wrap-1 wrap-3"
                            "wrap-1 wrap-4"
                            "wrap-2 wrap-5";
    }
}
@media (max-width: 480px) {
    .hero-wrapper{background: url('/img/hero-mob.png') right bottom / cover no-repeat;}
    .hero-sub-wrapper {background: url(img/hero-sub.jpg) center center / cover no-repeat;}
     p{font-size: 18px;}
    .sidebar{overflow:hidden;}
    .ads-mob .ad-placeholder{position:relative;}
    .ads-mob .ad-placeholder:first-child{left:0;}
    .ads-mob .ad-placeholder:last-child{right:0;}
    .ads-mob .sidebar-ads{height:auto;}
    .sidebar-ads img{width: 50vw;}
    .nav-text::before{right: 0;}
    .news-banner-title{font-size:37px;line-height: 42px;
        text-align: left;}
    .tab{
        padding:0;
        height: auto;
        font-size: 17px;
        position:relative;}
    .tab:after {top:15px;}    
    .brand{margin-left:-10px;}
    .header-nav-row{margin: -38px 100px 0;}
    .sponsor-banner{margin-bottom: 10px;}
    .brand .logo{width:120px;height:120px;}
    .hero-content h1{font-size: 55px;}
    .big-quote-icon{width: 50px;height: 50px;}
    .split-image,.split-image img{height:368px;object-fit: cover;}
    .feature-col.photo img{object-fit:cover;height:483px;}
    .news-banner-title::after{margin: 16px 0;}
    .grey-col-1 h2,
    .split-text h2{font-size: 37px;margin-bottom:0;}
    .split-text hr{margin-top: 16px;margin-bottom: 30px;}
    .announcement-content h2,
    .seeding-content h2,
    .results-content h2,
    .news-content h2{font-size: 25px;}
    .list-items {gap:15px;}
    .list-item h4{font-size:19px;}
    .big-quote-text h3{line-height:1.2;}
    .nav-text{font-size: 21px;}
    .big-quote-text {padding-left:20px;}
    .event-date{padding-right: 15px;border-right: 1px solid #D2D2D2;}
    .event-time{padding-left: 15px;padding-right: 40px;}
    .event-date,.event-time{display: inline-block;} 
    .footer-nav {gap: 45px 60px;}
    .footer-col ul li a{font-size:16px;}
    .footer-col{padding: 17% 0 0;}
    .footer-col h4{font-size:16px;margin-bottom:0;}
    .wrap-1, .wrap-2, .wrap-3, .wrap-4, .wrap-5{padding: 0;}
    .footer-logo-wrap .logo{width: 125px;height: 125px;}
}
