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

html{
    scroll-behavior:smooth;
}

body{

    font-family:"Segoe UI",sans-serif;
    color:#1f1f1f;
    background:#faf8f5;
    overflow-x:hidden;

}

.container{

    width:min(1200px,92%);
    margin:auto;

}

.sponsors-hero{

    position:relative;

    min-height:92vh;

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

    text-align:center;

    overflow:hidden;

    background:
    linear-gradient(rgba(8,18,38,.70),rgba(8,18,38,.70)),
    url("kepek/sponsors-bg.jpg") center center/cover no-repeat;

}

.hero-overlay{

    position:absolute;
    inset:0;

    background: #283145;

}

.hero-content{

    position:relative;
    z-index:2;

    max-width:850px;

    padding:30px;

}

.tiny-crown{

    font-size:38px;

    color:#D4AF6A;

    margin-bottom:15px;

}

.hero-kicker{

    text-transform:uppercase;

    letter-spacing:4px;

    color:#d4af6a;

    font-size:15px;

}

.hero h1{

    color:white;

    font-size:76px;

    font-weight:700;

    margin-top:15px;

    line-height:1.1;

}

.gold-lines{

    width:120px;
    height:3px;

    background:#D4AF6A;

    margin:30px auto;

    border-radius:50px;

}

.hero-text{

    color:#f1f1f1;

    font-size:20px;

    line-height:1.9;

    max-width:700px;

    margin:auto auto 45px;

}

.button{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:16px 38px;

    border-radius:60px;

    text-decoration:none;

    background:#D4AF6A;

    color:#fff;

    font-weight:600;

    transition:.35s;

}

.button:hover{

    transform:translateY(-4px);

    box-shadow:0 18px 45px rgba(212,175,106,.35);

}

.section{

    padding:120px 0;

}

.section-heading{

    text-align:center;

    margin-bottom:70px;

}

.eyebrow{

    color:#D4AF6A;

    text-transform:uppercase;

    letter-spacing:3px;

    font-weight:700;

    margin-bottom:15px;

}

.section-heading h2{

    font-size:46px;

    color:#0d2344;

}

.center-line{

    width:90px;

    height:3px;

    background:#D4AF6A;

    margin:25px auto 0;

}

.intro{

    background:#ffffff;

}

.intro-text{

    max-width:900px;

    margin:auto;

    text-align:center;

}

.intro-text p{

    font-size:19px;

    line-height:2;

    color:#555;

    margin-bottom:25px;

}

.h2-nevado {
    color: #fff !important;
}

.h2-fotamogatok {
    color: #fff !important;
}

.h2-tamogatoink {
    color: #fff !important;
}

.title-sponsor{

    background: #283145;

}

.title-card{

    max-width:700px;

    margin:auto;

}

.title-card a{

    display:flex;

    flex-direction:column;

    align-items:center;

    text-align:center;

    text-decoration:none;

    padding:60px;

    border-radius:28px;

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

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    border:1px solid rgba(212,175,106,.35);

    transition:.4s;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

}

.title-card a:hover{

    transform:translateY(-10px);

    box-shadow:0 30px 70px rgba(212,175,106,.25);

}

.title-card img{

    max-width:280px;

    max-height:170px;

    object-fit:contain;

    margin-bottom:35px;

}

.title-card h3{

    color:#0d2344;

    font-size:34px;

    margin-bottom:12px;

}

.title-card p{

    color:#777;

    font-size:18px;

}

.sponsors{

    background:#283145;

}

.sponsor-grid-large{

    display:grid;

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

    gap:35px;

}

.sponsor-large{

    position:relative;

    overflow:hidden;

    border-radius:24px;

    transition:.35s;

}

.sponsor-large a{

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    text-decoration:none;

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

    padding:45px;

    border-radius:24px;

    border:1px solid rgba(212,175,106,.25);

    box-shadow:0 12px 35px rgba(0,0,0,.08);

    transition:.35s;

}

.sponsor-large:hover{

    transform:translateY(-8px);

}

.sponsor-large a:hover{

    box-shadow:0 25px 60px rgba(212,175,106,.22);

    border-color:#D4AF6A;

}

.sponsor-large img{

    width:220px;

    height:120px;

    object-fit:contain;

    margin-bottom:30px;

    transition:.35s;

}

.sponsor-large:hover img{

    transform:scale(1.05);

}

.sponsor-large h3{

    color:#0d2344;

    font-size:24px;

    margin-bottom:10px;

}

.sponsor-large p{

    color:#777;

}

.sponsor-large::before{

    content:"";

    position:absolute;

    top:-100%;

    left:-100%;

    width:220%;

    height:220%;

    background:radial-gradient(circle,
        rgba(212,175,106,.18),
        transparent 60%);

    opacity:0;

    transition:.5s;

    pointer-events:none;

}

.sponsor-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 35px;
    margin-top: 40px;
}

.sponsor-grid-1 {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}

@media (max-width:1100px){
    .sponsor-grid-large{
        grid-template-columns:repeat(2,1fr);
    }
}

@media (max-width:768px){
    .sponsor-grid-large{
        grid-template-columns:1fr;
    }
}

.sponsor-large:hover::before{

    opacity:1;

}

.supporters{

    background:#283145;

}

.supporter-grid{

    display:grid;

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

    gap:28px;

}

.supporter-card img{

    width:100%;

    max-width:170px;

    max-height:90px;

    object-fit:contain;
}

.partner-cta{

    padding:120px 0;

    background:

    linear-gradient(rgba(10,22,44,.88),rgba(10,22,44,.88)),
    url("kepek/gold-bg.jpg") center/cover;

}

.partner-box{

    max-width:900px;

    margin:auto;

    text-align:center;

    color:white;

    padding:70px;

    border-radius:30px;

    border:1px solid rgba(212,175,106,.35);

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

    backdrop-filter:blur(14px);

}

.partner-box h2{

    font-size:52px;

    margin:25px 0;

}

.partner-box p{

    font-size:20px;

    line-height:2;

    color:#ececec;

    max-width:700px;

    margin:0 auto 45px;

}

@media(max-width:1100px){

    .sponsor-grid-large{

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

    }

    .supporter-grid{

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

    }

}

@media(max-width:768px){

    .hero h1{

        font-size:54px;

    }

    .hero-text{

        font-size:18px;

    }

    .partner-box{

        padding:45px 30px;

    }

    .partner-box h2{

        font-size:38px;

    }

    .sponsor-grid-large{

        grid-template-columns:1fr;

    }

    .supporter-grid{

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

    }

}

@media(max-width:500px){

    .hero h1{

        font-size:42px;

    }

    .section{

        padding:80px 0;

    }

    .supporter-grid{

        grid-template-columns:1fr;

    }

    .title-card a{

        padding:35px;

    }

    .partner-box{

        padding:35px 20px;

    }

    .partner-box h2{

        font-size:30px;

    }

}

.sponsor-card,
.supporter-card,
.title-card{

    cursor:pointer;

}

.sponsor-card::after{

    content:"";

    position:absolute;

    top:-120%;

    left:-120%;

    width:260%;

    height:260%;

    background:
        linear-gradient(
            120deg,
            transparent 35%,
            rgba(255,255,255,.22) 50%,
            transparent 65%
        );

    transform:rotate(25deg);

    transition:1s;

    pointer-events:none;

}

.sponsor-card:hover::after{

    top:100%;
    left:100%;

}

.sponsor-card,
.title-card{

    opacity:0;

    transform:translateY(45px);

    animation:cardFade .8s ease forwards;

}

.sponsor-card:nth-child(1){animation-delay:.10s;}
.sponsor-card:nth-child(2){animation-delay:.20s;}
.sponsor-card:nth-child(3){animation-delay:.30s;}

@keyframes cardFade{

    from{

        opacity:0;
        transform:translateY(45px);

    }

    to{

        opacity:1;
        transform:none;

    }

}

.sponsors-hero{

    animation:heroZoom 18s linear infinite alternate;

}

@keyframes heroZoom{

    from{

        background-size:100%;

    }

    to{

        background-size:108%;

    }

}

.gold-lines{

    position:relative;

    overflow:hidden;

}

.gold-lines::after{

    content:"";

    position:absolute;

    top:0;

    left:-100%;

    width:100%;

    height:100%;

    background:

        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.8),
            transparent
        );

    animation:shine 3.5s infinite;

}

@keyframes shine{

    to{

        left:120%;

    }

}

.button{

    position:relative;

    overflow:hidden;

}

.button::before{

    content:"";

    position:absolute;

    left:-120%;

    top:0;

    width:120%;

    height:100%;

    background:

        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.28),
            transparent
        );

    transition:.8s;

}

.button:hover::before{

    left:120%;

}

.supporter-card img,
.sponsor-card img{

    image-rendering:auto;

}

.supporter-card img:hover {
    transform: scale(1.06);
    opacity: 0.95;
}

.sponsor-card:hover img{

    filter:brightness(1.08);

}

/* 3 oszlop */
@media (max-width: 1100px) {

    .supporter-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 28px;
    }

}

.supporter-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;

    align-items: center;
    justify-items: center;
}

.supporter-card {
    width: 100%;
    display: grid;
    place-items: center;
}

.supporter-card a {
    width: 100%;
    min-height: 110px;

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

.supporter-card img {
    display: block;

    width: 100%;
    max-width: 170px;
    max-height: 90px;

    object-fit: contain;
    margin: 0 auto;
}

@media (max-width: 768px) {

    .sponsor-grid-2 {
        grid-template-columns: 1fr;
    }

}

/* 2 oszlop */
@media (max-width: 768px) {

    .supporter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
    }

    .supporter-card a {
        min-height: 100px;
    }

    .supporter-card img {
        max-width: 150px;
        max-height: 80px;
    }

}


/* Kis mobil */
@media (max-width: 500px) {

    .supporter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px 14px;
    }

    .supporter-card a {
        min-height: 90px;
    }

    .supporter-card img {
        width: 100%;
        max-width: 130px;
        max-height: 70px;
    }

}


/* Nagyon keskeny mobil */
@media (max-width: 350px) {

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

    .supporter-card img {
        max-width: 150px;
        max-height: 80px;
    }

}

body::before{

    content:"";

    position:fixed;

    inset:0;

    background:

        radial-gradient(circle at top right,
            rgba(212,175,106,.04),
            transparent 35%),

        radial-gradient(circle at bottom left,
            rgba(212,175,106,.04),
            transparent 40%);

    pointer-events:none;

    z-index:-1;

}

.footer {
    background: linear-gradient(135deg, #042333, #07314a);
    color: var(--white);
    padding: 31px 0;
}

.footer-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
}

.logo-footer,
.logo-footer .logo-text {
    color: var(--white);
}

.footer-links {
    gap: 43px;
    font-size: 14px;
}

.footer-links a {
    color: rgba(255, 255, 255, 0.88);
    text-decoration: none !important;
}

.footer-bottom {
    width: min(100% - 90px, 1300px);
    margin: 24px auto 0;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    text-align: center;
}

.footer-bottom p {
    color: rgba(255, 255, 255, 0.72);
    font-size: 13px;
    line-height: 1.6;
}

.footer-bottom a {
    color: #c49a5a;
    font-weight: 700;
    text-decoration: none !important;
}

.socials {
    display: flex;
    gap: 18px;
}

.socials a {
    display: grid;
    place-items: center;
    width: 25px;
    height: 25px;
    color: var(--white);
    font-size: 23px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none !important;
}

.container {
    width: min(100% - 90px, 1300px);
    margin: 0 auto;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 20;
    background: #07314a;
    box-shadow: 0 1px 18px rgba(6, 40, 59, 0.08);
}

.navbar {
    height: 69px;
    width: min(100% - 90px, 1300px);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.logo {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--navy);
    min-width: 50px;
}

.logo img {
    height: 50px;
    width: auto;
    display: block;
    object-fit: contain;
}

.logo-crown {
    color: var(--gold);
    font-size: 30px;
    line-height: 1;
}

.logo-text {
    display: flex;
    flex-direction: column;
    color: var(--navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 1.6px;
    line-height: 0.95;
    text-transform: uppercase;
}

.logo-text small {
    font-size: 10px;
    letter-spacing: 1.4px;
}

.nav-links,
.footer-links {
    list-style: none;
    display: flex;
    align-items: center;
    text-decoration: none !important;
}

.nav-links {
    gap: 42px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
}

.nav-links a {
    position: relative;
    color: inherit;
    padding: 24px 0;
    text-decoration: none !important;
    color: #fff;
}

.nav-links a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 18px;
    width: 0;
    height: 2px;
    background: var(--gold);
    transition: width 0.2s ease;
    text-decoration: none !important;
}

.nav-links a:hover::after {
    width: 100%;
}

.nav-cta,
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    border-radius: 4px;
    color: var(--white);
    background: linear-gradient(135deg, #c9a064, var(--gold-dark));
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.35px;
    text-transform: uppercase;
    box-shadow: 0 12px 28px rgba(159, 114, 52, 0.22);
    text-decoration: none !important;
}

.nav-cta {
    min-width: 166px;
    height: 47px;
}

.button {
    min-width: 255px;
    height: 55px;
}

.nav-toggle,
.nav-button {
    display: none;
}

:root {
    --navy: #06283b;
    --navy-dark: #042334;
    --gold: #c49a5a;
    --gold-dark: #b38644;
    --cream: #f7f3ed;
    --text: #173143;
    --muted: #5f6a71;
    --border: #e7ddd0;
    --white: #ffffff;
}

@media (max-width: 1100px) {
    .navbar,
    .container,
    .hero-content {
        width: min(100% - 42px, 960px);
    }

    .nav-links {
        gap: 22px;
    }

    .about-grid,
    .feature-row {
        gap: 36px;
    }

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

@media (max-width: 860px) {
    .navbar {
        height: 68px;
    }

    .nav-button {
        display: grid;
        gap: 5px;
        cursor: pointer;
    }

    .nav-button span {
        width: 28px;
        height: 2px;
        background: var(--cream);
    }

    .nav-links {
        position: absolute;
        top: 68px;
        left: 0;
        width: 100%;
        display: none;
        flex-direction: column;
        gap: 0;
        background: #07314a;
        box-shadow: 0 18px 30px rgba(6, 40, 59, 0.12);
    }

    .nav-links a {
        display: block;
        width: 100%;
        padding: 15px 24px;
    }

    .nav-links a::after,
    .nav-cta {
        display: none;
    }

    .nav-toggle:checked ~ .nav-links {
        display: flex;
    }

    .hero {
        min-height: auto;
        background:
            linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.88) 52%, rgba(255, 255, 255, 0.2) 100%),
            url("assets/hero-balaton.png") right center / auto 100% no-repeat;
    }

    .hero-content {
        padding: 72px 0;
    }

    .tiny-crown {
        margin-left: 130px;
    }

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

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

    .feature {
        grid-template-columns: 148px 1fr;
    }

    .footer-inner {
        flex-direction: column;
    }

    .footer-links {
        flex-wrap: wrap;
        justify-content: center;
        gap: 18px 28px;
    }
}
