*,*::before,*::after{box-sizing:border-box}
:root{
    --blue:#022143;
    --light-blue:#1aa3d9;
    --c-light:#ffffff;
    --radius:10px;
    --container:1160px;
    --shadow:0 20px 50px rgba(0,0,0,.35);
}
html,body{height:100%}
body{
    margin:0;
    font-family:"Lato",sans-serif;
    color:#243949;
    line-height:1.6;
    background:#fff;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
h1,h2,h3,h4{margin:0 0 .6rem}
.section-title{
    letter-spacing:.06em;
    font-weight:700;
    text-align:center;
    position:relative;
    font-size:34px;
    color:var(--blue);
    padding-bottom: 50px;
}
.section-title::before,.section-title::after{
    content:"";
    display:inline-block;
    width:60px;
    height:2px;
    background:#d7e1ea;
    vertical-align:middle;
    margin:0 18px 10px;
}

/* ============= LAYOUT ============= */

.container{
    max-width:var(--container);
    margin-inline:auto;
    padding:0 24px
}

#galeria{
    margin:100px auto;
}

/* ===== NAV (desktop) ===== */
.nav{
    position:fixed; inset:0 0 auto 0; z-index:50;
    background:transparent;
    transition:background .25s, box-shadow .25s, transform .25s;
}

.nav--scrolled{
    background:rgba(2,37,72,.9);
    backdrop-filter:saturate(1.2) blur(6px);
    box-shadow:0 8px 20px rgba(0,0,0,.25)
}

.nav__wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:82px;
}

.nav__brand img{
    height:74px;
    padding:10px 0;
    width:auto;
    filter:drop-shadow(0 2px 8px rgba(0,0,0,.5));
}

.nav__menu{
    display:flex;
    gap:28px;
}

.nav__menu a{
    color:#fff;
    font-weight:600;
    letter-spacing:.03em;
    text-transform:uppercase;
    font-size:14px;
    opacity:.95;
    position:relative;
    padding-bottom:6px;
}

.nav__menu a::after{
    content:"";
    position:absolute;
    left:0; bottom:0;
    width:0; height:2px;
    background:var(--light-blue);
    transition:width .2s;
}
.nav__menu a:hover::after{ width:100%; }

.nav__menu a.active {
    opacity: 1;
}

.nav__menu a.active::after {
    width: 100%;
}

/* ===== TOGGLE (hamburger) ===== */
.nav__toggle{
    display:none; /* domyślnie ukryty na desktopie */
    flex-direction:column;
    justify-content:space-between;
    width:28px; height:20px;
    background:none; border:none; cursor:pointer;
    padding:0; z-index:60;
}
.nav__toggle span{
    display:block;
    height:3px; width:100%;
    background:#fff; border-radius:2px;
    transition:.3s;
}

/* animacja krzyżyka */
.nav__toggle.active span:nth-child(1){ transform:rotate(45deg) translate(5px,5px); }
.nav__toggle.active span:nth-child(2){ opacity:0; }
.nav__toggle.active span:nth-child(3){ transform:rotate(-45deg) translate(5px,-5px); }

/* ===== MOBILE ===== */
@media (max-width: 1100px){
    .nav__toggle{ display:flex; }

    .nav__menu{
        position:fixed;
        top:82px; right:0;
        width:100%; height:calc(100vh - 82px);
        background:rgba(2,37,72,.95);
        backdrop-filter: blur(8px);
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:32px;
        transform:translateX(100%);
        transition:transform .3s ease;
    }

    .nav__menu.open{ transform:translateX(0); }

    .nav__menu a{
        font-size:18px;
        padding:8px 0;
    }
}

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

.hero{
    height:88vh; min-height:560px; position:relative;
    background: center/cover no-repeat var(--hero, url('/img/hero.png'));
    display:grid; align-items:end;
}
.hero__overlay{
    position:absolute; inset:0;
}
.hero__inner{position:relative; padding-bottom:52px; max-width: 1250px !important;}
.hero__badge{
    aspect-ratio:1/1; border-radius:50%;
    margin-inline:auto; display:grid; place-items:center; gap:12px;
}
.hero__badge img{width:68%; filter:drop-shadow(0 6px 16px rgba(0,0,0,.5))}
.hero__caption{color:#fff; text-align:center}
.hero__caption .h6{letter-spacing:.06em; font-weight:500;
    font-family: Roboto, serif}
.hero__est{opacity:.8; font-size:12px; letter-spacing:.25em;
    font-family: Cinzel, sans-serif}

.hero__scroll{width:38px;height:38px;border-radius:50%;border:2px solid rgba(255,255,255,.8);margin:28px auto 0;display:grid;place-items:center;cursor:pointer}
.hero__scroll span{display:block;width:10px;height:10px;border-bottom:2px solid #fff;border-right:2px solid #fff;transform:rotate(45deg);margin-top:-3px}

.hero .line img{
    display:block;
    margin: 8px auto;
}


/* ===== MISSION STRIP ===== */


.mission{
    background: center/cover no-repeat url('/img/mission_bg.jpg');
    color:#d7e1ea;
    position:relative; z-index:2;
    font-size: 24px;
}

.mission__inner{text-align:center;padding:104px 0}
.mission p{margin:0; text-transform:uppercase; letter-spacing:.025em; font-weight:300}
.mission__strong{color:#fff; margin-top:10px; font-weight: 600 !important}

@media (max-width: 768px){
    .mission{
        font-size:16px; /* mniejsze litery */
    }

    .mission__inner{
        padding:60px 20px; /* mniej pionowego paddingu, trochę marginesu bocznego */
    }

    .mission p{
        line-height:1.4;
    }

    .mission__strong{
        margin-top:16px;
        font-size:18px; /* żeby nadal była wyróżniona */
    }
}

@media (max-width: 480px){
    .mission{
        font-size:14px;
    }

    .mission__inner{
        padding:40px 16px;
    }

    .mission__strong{
        font-size:16px;
    }
}

/* ===== STATS STRIP ===== */


.about{
    margin: 100px auto;
}

.stats {
    margin: 28px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    overflow: hidden;
}

.stats__item,
.stats__group {
    background: var(--blue);
    color: #cde4f3;
    padding: 11px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.stats__group {
    grid-column: span 2;
    display: grid;
    grid-template-rows: auto 1fr;
    grid-template-columns: repeat(2, 1fr);
    align-items: stretch;
}

.stats__group-title {
    grid-column: 1 / -1;
    text-align: left;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: .1em;
    font-weight: 600;
    color: #cde4f3;
}

.stats__group .stats__item {
    background: transparent;
    padding: 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.stats__label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .12em;
    opacity: .85;
    text-align: left;
    padding: 10px 0;
}

.stats__value {
    font-size: 40px;
    font-weight: 800;
    color: #fff;
    margin-top: 6px;
    line-height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.stats__value img {
    width: 42px;
    height: auto;
}

.stats__sub {
    font-size: 14px;
    opacity: .85;
    padding: 10px 0;
}

.stats__item:not(:last-child)::after,
.stats__group:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 10%;
    bottom: 10%;
    right: 0;
    width: 1px;
    background: rgba(255,255,255,0.2);
}

.stats__item,
.stats__group {
    position: relative;
}

.stats__group .stats__item:first-of-type::after {
    content: "";
    position: absolute;
    top: 25%;
    bottom: 25%;
    right: 0;
    width: 1px;
    background: rgba(255,255,255,0.2);
}


/* ===== TILES ===== */


.duo{
    display: flex;
    position: relative;
    justify-content: space-between;
    align-items: flex-start;
}

.duo__img{
    display: block;
    height: auto;
}

.duo__img--left{
    z-index: 2;
    margin-top: 70px;
    width: 65%;
}

.duo__img--right{
    z-index: -1;
    margin-left: -25%;
    margin-top: -100px;
    width: 60%;
}

.duo__overlay {
    position: absolute;
    padding: 0 20px;
    color: #fff;
}

.duo__overlay--left {
    left: 20px;
    text-align: left;
    z-index: 5;
    bottom: 50px;
}

.duo__overlay--right {
    right: 10px;
    text-align: right;
    bottom: 80px;
}

.duo__title {
    font-size: clamp(26px, 3vw, 50px);
    font-weight: 800;
}

.duo__buttons {
    display: flex;
    gap: 12px;
    margin-top: 12px;
}

.duo__overlay--right .duo__buttons {
    justify-content: flex-end;
}

.btn {
    padding: 15px 25px;
    border: 1px solid var(--blue);
    background: var(--blue);
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 18px;
}

.btn:hover {
    border: 1px solid #ffffff;
    background: #ffffff;
    color: var(--blue);
}

@media (max-width: 900px) {

    .about {
        margin: 60px auto;
    }

    .stats {
        grid-template-columns: 1fr;
        margin: 0;
    }

    .stats__group {
        grid-column: auto;
        grid-template-columns: 1fr;
        margin-bottom: 20px;
    }

    .stats__group-title {
        text-align: center;
        margin-bottom: 12px;
    }

    .stats__item,
    .stats__group .stats__item {
        padding: 16px;
        text-align: center;
    }

    .stats__label {
        text-align: center;
        padding: 6px 0;
    }

    .stats__value {
        font-size: 28px;
        gap: 12px;
    }

    .stats__value img {
        width: 28px;
    }

    .stats__sub {
        font-size: 12px;
    }

    .stats__item::after,
    .stats__group::after,
    .stats__group .stats__item:first-of-type::after {
        display: none;
    }

    .duo {
        flex-direction: column;
        align-items: center;
        margin-top: 50px;
        padding-bottom: 100px;
    }

    .duo__img {
        width: 100% !important;
        margin: 0 !important;
        z-index: 1;
    }

    .duo__overlay {
        position: relative;
        text-align: center;
        padding: 20px 0;
        bottom: auto;
        left: auto;
        right: auto;
    }

    .duo__title {
        font-size: 22px;
        color: var(--blue);
    }

    .duo__buttons {
        justify-content: center !important;
    }
}

@media (max-width: 480px) {
    .stats__value {
        font-size: 24px;
    }
    .duo__title {
        font-size: 20px;
    }
    .btn {
        font-size: 14px;
        padding: 10px 18px;
    }
}

/* ===== NEWS ===== */


.news{
    background:var(--blue);
    color:#fff;
    padding:70px 0 140px 0;
    position:relative;
    background: center/cover no-repeat url('/img/news.jpg');
    margin-top: -150px;
    z-index: 0;
}

.news .container{
    position:relative;
}

.news__intro{
    position: absolute;
    top: -140px;
    right: 0;
    text-align: right;
}

.news__intro h2{
    margin: -10px 0 0 0;
    font-weight: 600;
    font-size: clamp(28px, 3.2vw, 48px);
    letter-spacing: .06em;
    position: relative;
    display: inline-block;
    padding-left: 32px;
}

.news__intro h2::before{
    content: "";
    position: absolute;
    left: 0;
    top: 60%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background: #fff;
}

.news__intro h3{
    margin:0;
    font-weight:300;
    letter-spacing:.1em;
    font-size: clamp(14px, 3vw, 32px);
    color:#94b1c3;
}

.news__wrap{
    display:block;
}
.news__card{
    display:grid;
    grid-template-columns: 300px 1fr;
    gap: 36px;
    align-items: start;
    margin-top: 150px;
}

.news__thumb{margin:0;}
.news__frame{
    display:block;
    width: 260px; height: 260px;
    padding:10px;
    border:2px solid #b7d0e3;
    position:relative;
}

.news__thumb img{
    display:block;
    width:100%; height:100%;
    object-fit:cover; object-position:center;
}

.news__body{padding-top:12px;}
.news__title{
    margin:0 0 14px; font-size:clamp(20px,2vw,26px); font-weight:700;
    position:relative; padding-bottom:18px;
}
.news__title::after{
    content:""; position:absolute; left:0; bottom:0;
    width:64px; height:2px; background:#94b1c3; opacity:.6; border-radius:2px;
}

.news__body p{
    color:#cfe0ea;
    margin:16px 0 22px;
    line-height:1.6;
}

.news__body .btn--ghost{
    background:#fff;
    color:#0f2f49;
    font-weight:400;
    text-transform:uppercase;
    padding:12px 34px;
    border:1px solid #fff;
    float: right;
}

.news__body .btn--ghost:hover{
    background: transparent;
    color:#fff;
    border-color:#fff;
}

.news__controls{
    position:absolute;
    right: 10%;
    bottom:82px;
    display:flex;
    align-items:center;
    gap:14px;
}

.news__dots{
    display:flex;
    gap:10px;
}

.news__dot{
    width:20px; height:20px;
    border:2px solid #cfe0ea;
    border-radius:50%;
    background:transparent;
    opacity:.85;
    cursor:pointer;
    padding:0;
    outline:none;
}

.news__dot.is-active{
    background:#cfe0ea;
}

.news__more{
    color:#cfe0ea;
    text-decoration:none;
    font-size:16px;
}
.news__more:hover{
    text-decoration:underline;
}

@media (max-width: 768px){
    .news__card{grid-template-columns:1fr; gap:18px;}
    .news__frame{width:100%; height:auto; padding:8px;}
    .news__thumb img{height:auto;}
    .news__title::after{left:0; right:auto;}
    .news__intro{right: 10%;}
}


/* ===== BIO ===== */


.bio {
    display: grid;
    grid-template-columns: 50% 2fr;
}

.bio__photo {
    margin: 0;
}

.bio__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.bio__text {
    background: #fff;
    padding: clamp(40px, 6vw, 80px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 800px;
}

.bio__text h3 {
    color: var(--blue);
    font-size: clamp(26px, 3vw, 40px);
    margin: 0 0 8px;
}

.bio__role {
    color: #6a7f92;
    text-transform: uppercase;
    letter-spacing: .16em;
    font-size: 12px;
    margin-bottom: 20px;
}

.bio--reverse {
    grid-template-columns: 2fr 50%;
    background-color: #f4f4f4;
}

.bio--reverse .bio__photo {
    order: 2;
}

.bio--reverse .bio__text {
    order: 1;
    background-color: #f4f4f4;

}

@media (max-width: 900px) {
    .bio {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        min-height: auto;
    }

    .bio__photo img {
        height: auto;
    }
}


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


.footer{
    background:var(--blue);
    color:#c8d5df;
    padding:54px 0 20px;
    font-size:14px;
}

.footer__grid{
    display:grid;
    grid-template-columns: 1.2fr 1fr 1.2fr;
    gap:28px;
    align-items:center;
    position:relative;
}

.footer__col{ position:relative; }

.footer__grid > .footer__col + .footer__col::before{
    content:"";
    position:absolute;
    left:-14px;
    top:12%;
    width:1px; height:76%;
    background:rgba(255,255,255,.25);
}

.footer__col:last-child{
    padding-left:48px;
}

.footer h4{
    color:#fff;
    text-transform:uppercase;
    font-size:16px;
    letter-spacing:.1em;
    margin:0 0 25px;
}

.list{ list-style:none; margin:12px 0 0; padding:0; }
.list li{ display:flex; align-items:center; gap:10px; margin:2px 0; }
.list li img{ width:18px; height:18px; flex-shrink:0; margin: 8px 0;}
.list a{ color:#cfe0ea; text-decoration:none; }
.list a:hover{ color:#fff; }

.footer__center-content{
    display:flex;
    align-items:flex-end;
    justify-content:center;
    gap:26px;
}

.footer__logo{ width:130px; display:block; }

.footer__follow-wrap{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-end;
}

.footer__follow{
    margin:0 0 8px;
    color:#fff;
    text-transform:uppercase;
    font-size:14px;
    letter-spacing:.1em;
}

.footer__social{ display:flex; gap:10px; }
.footer__social a{
    display:grid; place-items:center;
    transition:.2s;
}
.footer__social a:hover{ transform:translateY(-2px); opacity:.9; }
.footer__social svg{ width:24px; height:24px; fill:#ffffff; }

.footer__copy{
    opacity:.7;
    font-size:12px;
    margin-top:10px;
    text-align:center;
}

.footer__madeby{
    margin-top:80px;
    background:#032e5a;
    padding:10px 20px;
    color:#cfe0ea;
    text-align:right;
    font-size:12px;
}
.footer__madeby a{ color:#72aeea; text-decoration:none; }
.footer__madeby a:hover{ text-decoration:underline; }

/* ===== responsywność ===== */
@media (max-width: 900px){
    .footer__grid{
        grid-template-columns: 1fr;
        gap:20px;
    }
    .footer__grid > .footer__col + .footer__col::before{ display:none; }
    .footer__center-content{ flex-direction:column; align-items:center; gap:12px; }
    .footer__col:last-child{ padding-left:0; padding-right:0; }
    .footer__madeby{ text-align:center; }
}


/*============ GALERIA ============*/


#subpage {
    position: relative;
    background: none;
    overflow: visible;
    color: #fff;
}

#subpage .hero-bg {
    position: absolute;
    inset: 0;
    background:
        center/cover no-repeat var(--hero, url('/img/hero_aktualnosci.jpg'));
    z-index: 1;
    clip-path: polygon(38% 0, 100% 0, 100% 100%, 28% 100%);
}

#subpage::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        url("/img/pattern.png") repeat,
        var(--blue);
    clip-path: polygon(0 0, 40% 0, 30% 95%, 0 95%);
    z-index: 0;
    pointer-events: none;
}

#subpage .content {
    position: absolute;
    top: 35%;
    left: 5%;
    z-index: 2;
}

#subpage .content .hrline{
    border-bottom: 1px solid #ffffff;
    width: 20%;
}

#subpage .content h2{
    font-size: clamp(26px, 4vw, 54px);
    text-transform: uppercase;
    margin-top: -5px;
}

#subpage .content h3{
    font-size: clamp(12px, 1.2vw, 24px);
    text-transform: uppercase;
    margin-bottom: 5px;
    max-width: 60%;
    font-weight: 300;
}

.teaser{
    margin-top:-64px;background:#fff;padding:32px;display:grid;gap:28px;
    grid-template-columns: 320px 1fr;border: 1px solid rgba(9,28,61,.08)
}
.teaser__image img{width:100%;height:320px;object-fit:cover;border-radius:6px}
.teaser__title{margin:6px 0 6px;color:#143a63}
.teaser__date{color:#7c8ea3;font-size:12px;margin-bottom:8px;border-left:3px solid #d5e3f3;padding-left:10px}
.teaser__excerpt{color:#425469;line-height:1.6;margin:0 0 18px}
.btn{
    display:inline-block;background: var(--blue);color:#fff; border: 1px solid var(--blue); text-decoration:none;
    padding:12px 22px;border-radius:4px;font-weight:700;letter-spacing:.04em
}
.btn:hover{filter:brightness(1.05); border: 1px solid var(--blue)}

.grid{
    margin-top:40px;display:grid;gap:24px;
    grid-template-columns: repeat(3, 1fr);
}
.card{background:#fff;overflow:hidden;border: 1px solid rgba(9,28,61,.06)}
.card__image img{width:100%;height:360px;object-fit:cover;display:block}
.card__body{padding:18px}
.card__title{font-size:18px;margin:4px 0 18px}
.card__meta{display:flex;align-items:center;justify-content:space-between}
.card__date{color:#7c8ea3;font-size:12px;border-bottom:2px solid #dfe8f3;padding-bottom:6px}
.card__link{text-decoration:none;color:#123f6b;font-weight:700}
.card__link:hover{text-decoration:underline}

@media (max-width: 1100px){
    .grid{grid-template-columns: repeat(2, 1fr)}
}
@media (max-width: 860px){
    .hero__panel{width:70%; clip-path:polygon(0 0, 100% 0, 88% 100%, 0 100%)}
    .teaser{grid-template-columns:1fr}
    .teaser__image img{height:260px}
}
@media (max-width: 640px){
    .topbar__inner{flex-direction:column;height:auto;padding:14px 0;gap:10px}
    .nav{flex-wrap:wrap;gap:16px;justify-content:center}
    .hero{height:280px}
    .grid{grid-template-columns:1fr}
}


/* Wpis */
.post-header{margin:40px 0}
.post-title{font-size:32px;margin:0 0 10px;color:#143a63}
.post-date{color:#7c8ea3;font-size:14px;margin-bottom:20px;border-left:3px solid #d5e3f3;padding-left:10px}
.post-body{line-height:1.6;color:#425469;margin-bottom:40px}

.gallery-grid{
    display:grid;gap:20px;
    grid-template-columns:repeat(3,1fr);
}
.gallery-grid img{
    width:100%;height:260px;object-fit:cover;border-radius:6px;display:block
}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.gallery-grid{grid-template-columns:1fr}}

.gallery-grid a img {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    cursor: zoom-in;
}
.gallery-grid a:hover img {
    transform: scale(1.03);
    box-shadow: 0 6px 20px rgba(0,0,0,0.25);
}
.lb-number{
    display: none !important
}

.topbar{
    background-color: var(--blue);
    width: 100%;
    height: 150px;
}


/*=========== PENSJONAT =============*/

.pack { padding:100px 0}
.pack__title{
    text-align:center; font-size:26px; color:var(--blue); letter-spacing:.06em;
    position:relative; ;margin:24px 0 50px 0; text-transform:uppercase; font-weight:700;
}
.pack__title::before,.pack__title::after{
    content:""; display:inline-block; width:24%; height:1px; background:#cbd8e6;
    position:relative; top:-8px; margin:0 18px;
}
.pack__text{ color:#425469; margin:0 auto 50px auto; line-height:1.7; text-align:justify }
.pack__imgs{ display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.pack__imgs img{ width:100%; object-fit:cover; border-radius:6px }

/* features */
.features{ background:#fff; padding:28px 0 12px; }
.features__grid{
    display:grid; gap:22px; grid-template-columns:1fr 1fr; max-width:920px; margin:0 auto;
}
.feature{
    background:var(--blue); color:#e6f0fa; display:flex; gap:22px; align-items:center;
    padding:40px 40px;
}
.feature__icon{ width:64px; height:64px; display:grid; place-items:center }
.feature__title{ font-weight:700; font-size:32px; line-height:1 }
.feature__desc{ font-size:18px; letter-spacing:.06em; text-transform:uppercase; font-weight: 100}

@media (min-width:980px){
    .features__grid{ grid-template-columns:1fr 1fr; }
}

/* skośny pas */
.band{ position:relative; margin:54px 0 40px; }
.band__img img{ width:32%; object-fit:cover; border-radius:6px; }
.band__panel{
    position:absolute; right:0; top:40px; width:80%; height:100%;
    background:
        url("/img/pattern.png") repeat,
        linear-gradient(180deg, #0b2a48, #0d345a);
    clip-path:polygon(0 0,100% 0,100% 100%,15% 100%);
    color:#e6f0fa;
}
.band__inner{ max-width:520px; margin:80px 0 0 28%; }
.band__inner h3{ margin-bottom: 50px; font-size:28px; font-weight: 700}
.band__inner p{ line-height:1.7; font-weight: 100; font-size: 18px}
.band__price{ margin-top:50px; font-weight:700; text-align: right; font-size: 30px}

/* poznaj nas bliżej */
.near { padding:100px 0 150px 0}
.near__header{ display:flex; align-items:flex-end; gap:10px; margin-bottom:18px; }
.near__grid{ display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.near__grid img{ width:100%; object-fit:cover; }

/* responsywność */
@media (max-width:990px){
    .band__img img{ width:100%; height:300px }
    .band__panel{ position:relative; clip-path:none; width:100%; height:auto; margin-top:-6px; border-radius:6px }
    .band__inner{ margin:24px auto; padding:0 24px }
}
@media (max-width:760px){
    .pack__imgs{ grid-template-columns:1fr }
    .features__grid{ grid-template-columns:1fr }
    .near__grid{ grid-template-columns:1fr }
}


/*============= NAUKA JAZDY =============*/


.intro{padding:40px 0;text-align:center}
.intro p{max-width:100%;margin:50px auto 50px auto;color:#425469;line-height:1.7; text-align: justify}
.intro__imgs{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.intro__imgs img{width:100%;object-fit:cover}

.audience{
    padding:150px 0;
    background:
        url("/img/pattern2.png") repeat,
        linear-gradient(180deg, #ffffff, #ffffff);
}
.audience p{max-width:100%;margin:100px auto 100px auto ;color:#425469;line-height:1.7; text-align: justify}
.audience__imgs{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.audience__imgs img{width:100%;object-fit:cover}

.pricing{padding:60px 0 150px 0}
.pricing__kicker{font-size: 42px; font-weight: 300; margin-left: 20px; text-align: right }
.pricing__kicker::before{
    content: "";
    position: absolute;
    transform: translate(-150%, 200%);
    width: 16px;
    height: 16px;
    background: var(--blue);
}
.pricing__title{text-align: right; text-transform: uppercase; font-size: 52px; margin-top: -30px; margin-bottom: 50px}
.pricing__list{display:grid;gap:22px; font-weight: 300;}
.price{display:flex;align-items:center;gap:16px;background:#fff;padding:0 18px;}
.price__icon{
    flex: 0 0 84px;
    width: 84px;
    height: 84px;
    border-radius: 50%;
    background: var(--blue);
    display: flex;
    align-items: center;
    justify-content: center;
}
.price__icon img{
    width: 43px;
    height: 43px;
    display: block;
}
.price__title{font-weight:700; font-size: 18px; color:var(--blue)}
.price__desc{font-size:16px;color:#425469; }

.price__divider{
    border: 0;
    height: 1px;
    background: var(--blue);
    margin: 22px 0;
    width: 40%;
}

/* ===== odnośnik do Akademii ===== */

.academy-chip{
    margin: 22px 0 20px 0;
    display: grid;
    grid-template-columns: 1fr auto; /* content | actions */
    gap: 14px;
    align-items: center;

    padding: 14px 16px;
    border-radius: 12px;
    text-decoration: none;

    color: #e6f0fa;
    background:
        url("/img/pattern.png") repeat,
        linear-gradient(180deg, rgba(2,33,67,.96), rgba(10,52,90,.96));
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 14px 35px rgba(15, 23, 42, .18);
    position: relative;
    overflow: hidden;

    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

/* delikatny „skos” po prawej */
.academy-chip::after{
    content:"";
    position:absolute;
    top:0; right:0; bottom:0;
    width: 180px;
    background: rgba(255,255,255,.06);
    clip-path: polygon(35% 0, 100% 0, 100% 100%, 0 100%);
    pointer-events: none;
}

.academy-chip__content{
    position: relative;
    z-index: 1;
    min-width: 0; /* ważne dla gridu, żeby tekst się łamał */
}

.academy-chip__kicker{
    font-size: 12px;
    letter-spacing: .22em;
    text-transform: uppercase;
    opacity: .85;
    margin-bottom: 4px;
    white-space: nowrap;
}

.academy-chip__title{
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
    font-size: 13px;
    margin-bottom: 6px;
}

.academy-chip__text{
    color: rgba(230,240,250,.92);
    font-weight: 300;
    line-height: 1.7;
    font-size: 14px;
    margin: 0;
}

/* prawa strona: przycisk + strzałka obok siebie */
.academy-chip__actions{
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    justify-self: end;
}

.academy-chip__btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 10px 16px;
    border-radius: 999px;

    background: #ffffff;
    color: var(--blue);
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-size: 12px;

    border: 1px solid rgba(255,255,255,.85);
    transition: background .18s ease, color .18s ease, transform .18s ease, border-color .18s ease;
    white-space: nowrap;
}

.academy-chip__arrow{
    width: 34px;
    height: 34px;
    border-radius: 999px;
    display: grid;
    place-items: center;

    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18);
    color: #fff;
    font-size: 20px;
    line-height: 1;
}

/* hover */
.academy-chip:hover{
    transform: translateY(-1px);
    box-shadow: 0 18px 45px rgba(15, 23, 42, .22);
    filter: brightness(1.03);
}
.academy-chip:hover .academy-chip__btn{
    background: var(--light-blue);
    color: #ffffff;
    border-color: var(--light-blue);
    transform: translateY(-1px);
}

.academy-chip:focus-visible{
    outline: 2px solid rgba(255,255,255,.65);
    outline-offset: 3px;
}

/* mobile */
@media (max-width: 640px){
    .academy-chip{
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .academy-chip__actions{
        justify-self: start;
    }
}


/* ===== Dane do przelewu ===== */

.bank-transfer{
    margin-top: 60px;
}

.bank-transfer__kicker{
    font-size: 32px;
    font-weight: 300;
    text-align: right;
    color: var(--blue);
}

.bank-transfer__title{
    text-align: right;
    text-transform: uppercase;
    font-size: 38px;
    margin-top: -16px;
    margin-bottom: 22px;
    color: var(--blue);
}

.bank-transfer__box{
    background:#fff;
    border:1px solid rgba(9,28,61,.10);
    padding: 22px 22px;
    border-radius: 10px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
}

.bank-transfer__row{
    display:flex;
    gap: 14px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(9,28,61,.08);
}

.bank-transfer__row:last-child{
    border-bottom: 0;
}

.bank-transfer__label{
    flex: 0 0 170px;
    font-weight: 700;
    color: var(--blue);
}

.bank-transfer__value{
    color:#425469;
    font-weight: 300;
}

.bank-transfer__mono{
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    letter-spacing: .02em;
}

.bank-transfer__note{
    margin-top: 16px;
    color:#425469;
    font-weight: 300;
    line-height: 1.7;
}

@media (max-width: 640px){
    .bank-transfer__row{
        flex-direction: column;
        gap: 6px;
    }
    .bank-transfer__label{
        flex: none;
    }
}
/* ===== Pricing alerts ===== */

.pricing-alert{
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 14px;
    padding: 16px 18px;
    border-radius: 12px;
    border: 1px solid rgba(9,28,61,.10);
    background: #fff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
    position: relative;
    overflow: hidden;
}

/* lewa belka */
.pricing-alert::before{
    content:"";
    position:absolute;
    left:0; top:0; bottom:0;
    width: 6px;
    background: var(--light-blue);
    opacity: .9;
}

.pricing-alert__icon{
    width: 36px;
    height: 36px;
    border-radius: 999px;
    display:grid;
    place-items:center;
    color: #0b2a48;
    background: rgba(26,163,217,.12);
}

.pricing-alert__title{
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--blue);
    font-size: 13px;
    margin-bottom: 6px;
}

.pricing-alert__text{
    color:#425469;
    font-weight: 300;
    line-height: 1.7;
}

.pricing-alert__list{
    margin: 0;
    padding-left: 18px;
}
.pricing-alert__list li{
    margin: 6px 0;
}

/* warianty */
.pricing-alert--warning::before{
    background: #f59e0b; /* bursztyn */
}
.pricing-alert--warning .pricing-alert__icon{
    background: rgba(245,158,11,.14);
    color: #8a5a00;
}

.pricing-alert--danger::before{
    background: #ef4444; /* czerwony, ale kulturalnie */
}
.pricing-alert--danger .pricing-alert__icon{
    background: rgba(239,68,68,.12);
    color: #9b1c1c;
}

/* mobile */
@media (max-width: 640px){
    .pricing-alert{
        grid-template-columns: 1fr;
    }
    .pricing-alert__icon{
        width: 34px;
        height: 34px;
    }
}


/*========== Klub ========*/


.club-about{padding:32px 0 24px}
.club-about p{color:#425469;line-height:1.9;text-align:justify; margin-bottom: 30px !important}

.club-trainer{position:relative;margin:36px 0 0 0}
.club-trainer__img img{width:35%;object-fit:cover;border-radius:6px}
.club-trainer__panel {
    position: absolute;
    right: 0;
    top: 40px;
    width: 80%;
    height: 100%;
    background:
        url("/img/pattern.png") repeat,
        linear-gradient(180deg, #0b2a48, #0d345a);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 15% 100%);
    color: #fff;
    border-radius: 6px;
}

.club-trainer__inner{max-width:640px;margin:56px 0 0 28%}
.club-trainer__kicker{font-size: 42px; font-weight: 300; margin-left: 20px; text-align: right }
.club-trainer__kicker::before{
    content: "";
    position: absolute;
    transform: translate(-150%, 200%);
    width: 16px;
    height: 16px;
    background: #fff;
}
.club-trainer__title{text-align: right; text-transform: uppercase; font-size: 52px; margin-top: -30px; margin-bottom: 50px}
.club-trainer__name{margin:.6rem 0 .1rem; font-size: 24px}
.club-trainer__role{opacity:.85;margin-bottom:12px; font-weight: 300}
.club-trainer__bio{opacity:.96;line-height:1.7;margin-bottom:14px}
.dots{ display:flex; gap:8px; margin-top:32px; pointer-events:auto; justify-content: flex-end}
.dot {
    width: 8px;
    height: 12px;
    border-radius: 999px;
    background: #7ea3c7;
    opacity: .5;
    border: none;
    cursor: pointer;
}
.dot.is-active{ opacity:1; background:#fff; box-shadow:0 0 0 2px rgba(255,255,255,.35); }
.dot:focus-visible{ outline:2px solid #cbd8e6; outline-offset:2px; }

/* slider: domyślnie ukryj slajdy, pokaż aktywny */
.club-trainer__slides { position: relative; }
.club-trainer__slide {
    display: none;
    position: relative;
    opacity: 0;
    visibility: hidden;
    transition: opacity .35s ease;
}

.club-trainer__slide.fade {
    display: block;           /* element w drzewie */
    opacity: 0;               /* nadal niewidoczny */
    visibility: hidden;
}

.club-trainer__slide.fade.is-active {
    opacity: 1;
    visibility: visible;
    display: block;
}
.club-trainer__slide.is-active { display: block; opacity: 1; visibility: visible; transition: opacity .35s ease, visibility 0s step-start;}
.club-trainer__img { position: relative; z-index: 1; }
.club-trainer__panel { z-index: 2; }  /* <-- kluczowe */

@media (max-width:980px){
    .club-trainer__img img{width:100%;height:320px}
    .club-trainer__panel{position:relative;width:100%;clip-path:none;margin-top:-6px}
    .club-trainer__inner{margin:24px auto;padding:0 24px}
}

/* jeźdźcy */
.club-riders{
    padding:150px 0;
    background:
        url("/img/pattern2.png") repeat,
        linear-gradient(180deg, #ffffff, #ffffff);
}
.club-riders__head{margin-bottom:8px}
.club-riders__kicker{color:var(--blue); font-size: 42px; font-weight: 300;}
.club-riders__kicker::after{
    content: "";
    position: absolute;
    transform: translate(50%, 210%);
    width: 16px;
    height: 16px;
    background: var(--blue);
}
.club-riders__title{
    color:var(--blue);
    text-transform: uppercase;
    font-size: 52px;
    margin-top: -25px;
}

/*
.riders-track {
    display: flex;
    overflow: hidden;
}

.riders-page {
    flex: 0 0 100%;
    max-width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding: 10px;
}
.rider {
    display: flex;
    align-items: center;
    gap: 20px;
}

.rider--reverse {
    flex-direction: row-reverse;
    text-align: right;
}
.rider--reverse .rider__hrline {
    margin-left: auto;
}

.rider__img {
    width: 100%;
    height: 320px;
    object-fit: contain;
}

.rider__img-wrap {
    flex: 0 0 40%;
}

.rider__meta{flex: 1; padding:14px; max-width: 40%}

.rider--wide .rider__img-wrap {
    flex: 0 0 30%;
}

.rider--wide .rider__meta {
    max-width: 60%;
}

.rider__name{font-weight:500; font-size: 18px; text-transform: uppercase}
.rider__lastname{color:var(--blue);margin-top: -5px; margin-bottom:4px; font-weight:700; font-size: 24px; text-transform: uppercase}
.rider__hrline{border-bottom: 1px solid var(--blue); width: 15%}
.rider__stats{margin: 15px 0; font-weight: 300}
.rider__desc{font-weight: 300}

.riders-nav{display:flex;gap:5px;justify-content:flex-end;margin-top:8px}
.riders-btn{width:36px;height:36px;border-radius:999px;border:1px solid #cbd8e6;background:#fff;font-size:20px;line-height:1;cursor:pointer}
.riders-btn:hover{background:#f6f9fc}
*/

/* jeźdźcy – nowy layout */

.club-riders{
    padding:150px 0;
    background:
        url("/img/pattern2.png") repeat,
        linear-gradient(180deg, #ffffff, #ffffff);
}

.club-riders__head{margin-bottom:8px; position:relative;}
.club-riders__kicker{color:var(--blue); font-size: 42px; font-weight: 300;}
.club-riders__kicker::after{
    content: "";
    position: absolute;
    transform: translate(50%, 210%);
    width: 16px;
    height: 16px;
    background: var(--blue);
}
.club-riders__title{
    color:var(--blue);
    text-transform: uppercase;
    font-size: 52px;
    margin-top: -25px;
}

/* GRID KART */

.riders-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    margin-top: 40px;
}

@media (max-width: 1200px) {
    .riders-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .riders-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}



.rider-card {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .08);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.rider-card__inner {
    padding: 12px 12px 0 12px;
}

.rider-card__img-wrap {
    width: 100%;
    aspect-ratio: 4 / 5;      /* stałe proporcje */
    border-radius: 8px;
    overflow: hidden;
    background: #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rider-card__img {
    width: 100%;
    height: 100%;
    object-fit: contain;       /* nic nie ucina, całe zdjęcie widoczne */
    display: block;
}

.rider-card__meta {
    padding: 10px 2px 12px 2px;
}

.rider-card__name{
    font-weight:500;
    font-size: 14px;
    text-transform: uppercase;
}

.rider-card__lastname{
    color:var(--blue);
    margin-top: -3px;
    margin-bottom:4px;
    font-weight:700;
    font-size: 18px;
    text-transform: uppercase;
}

.rider-card__stats{
    margin-top: 4px;
    font-size: 12px;
    font-weight: 300;
    opacity: .9;
}

/* przycisk */

.rider-card__more {
    border: none;
    background: transparent;
    border-top: 1px solid #e5e7eb;
    padding: 10px 16px 12px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--blue);
    font-weight: 600;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rider-card__more::after {
    content: "›";
    font-size: 16px;
    line-height: 1;
}

/* aktywna karta */

.rider-card.is-active {
    box-shadow: 0 10px 30px rgba(15, 23, 42, .12);
    border: 1px solid #d1e3f7;
}

/* PANEL SZCZEGÓŁÓW POD GRIDEM */

.rider-detail {
    margin-top: 40px;
}

.rider-detail[hidden] {
    display: none;
}

.rider-detail__inner {
    position: relative;
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 24px;
    background: #0b2643;
    color: #e5f0ff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .3);
}

.rider-detail__photo {
    width: 260px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto;
}

.rider-detail__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.rider-detail__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    line-height: 1.7;
}

.rider-detail__label {
    font-size: 12px;
    letter-spacing: .2em;
    text-transform: uppercase;
    opacity: .8;
    margin-bottom: 6px;
}

.rider-detail__name {
    font-size: 26px;
    text-transform: uppercase;
    margin: 0 0 6px;
}

.rider-detail__stats {
    font-size: 13px;
    font-weight: 300;
    margin-bottom: 12px;
    opacity: .9;
}

.rider-detail__desc {
    font-size: 14px;
    font-weight: 300;
}

.rider-detail__close {
    position: absolute;
    top: 10px;
    right: 10px;
    border-radius: 999px;
    border: none;
    background: rgba(15, 23, 42, .35);
    color: #e5f0ff;
    width: 28px;
    height: 28px;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
}

.rider-detail__close:hover {
    background: rgba(15, 23, 42, .55);
}

/* mobile */

@media (max-width: 900px) {
    .rider-detail__inner {
        grid-template-columns: 1fr;
    }
}


/* Zostań członkiem / liczby */
.club-join{padding:44px 0 52px;margin-top:28px}
.club-join__title{
    text-align:center;font-size:32px;color:var(--blue);text-transform:uppercase;font-weight:700;letter-spacing:.06em;position:relative;margin:24px 0 50px 0
}

.club-join__title::before,.club-join__title::after{
    content:"";display:inline-block;min-width: 5%; max-width:22%; height:1px;background:#cbd8e6;position:relative;top:-8px;margin:0 16px
}

.numbers {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    max-width: 980px;
    margin: 0 auto 22px;
}

.number {
    background: var(--blue);
    color: #e6f0fa;
    padding: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    text-align: left;
}

.number__inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;   /* zawartość do lewej */
    width: 100%;               /* żeby zachować proporcje */
}

.number:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 10%;
    right: 0;
    width: 1px;
    height: 80%;
    background: #fff;
    opacity: 0.6;
}

.number__label,
.number__label2 {
    font-size: 12px;
    letter-spacing: .06em;
    text-transform: uppercase;
    opacity: .9;
    text-align: left;
}

.number__center {
    display:flex;
    align-items:center;
    gap:10px;
    width:max-content;   /* tylko tyle, ile potrzeba */
    margin:6px auto;
}

.number__icon img {
    display: block;
    width: 54px;
    height: 54px;
}

.number__value {
    font-size: 42px;
    font-weight: 800;
}

.club-join__text{max-width:920px;margin:50px auto 30px auto;color:var(--blue);line-height:1.7; font-weight: 300}
.club-join__text h2{margin: 50px 0; text-transform: uppercase; font-size: 28px}
.benefits{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:18px;
    max-width:980px;
    margin:10px auto 100px auto;
}

.benefit{
    border-radius:8px;
    padding:16px;
    display:grid;
    grid-template-columns:124px 1fr;
    align-items:center;
    gap:12px;
    justify-items:start;
    text-align:left;
}

.benefit__icon{
    width:120px;
    height:120px;
    border-radius:50%;
    border:1px solid var(--blue);
    display:grid;
    place-items:center;
}

.benefit__icon img{
    width:64px;
    height:64px;
}

.benefit__title{
    color:var(--blue);
}

.benefit__title p{
    font-size: 14px;
    font-weight:300;
    margin-bottom: -5px;
}

.benefit__title span{
    font-weight:700;
    font-size:26px;
}
@media (max-width: 600px){
    .benefits{ grid-template-columns:1fr; }
}


@media (max-width:960px){
    .numbers{grid-template-columns:repeat(2,1fr)}
    .benefits{grid-template-columns:repeat(2,1fr)}
}

/*=========== WKKW ============*/

.wkkw-video{margin:0;text-align:center}
.wkkw-video__thumb{position:relative;display:inline-block;width:100%;max-width:800px}
.wkkw-video__thumb video{width:100%;display:block}
.wkkw-video__text{margin-top:18px;color:var(--blue);line-height:1.7;text-align:justify}

.video-wrap {
    position: relative;
    display: inline-block;
    width: 100%;
}
.video-wrap .video-el {
    width: 100%;
    height: auto;
    display: block;
    background: #000;
}

/* przycisk na środku */
.video-play {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 84px;
    height: 84px;
    padding: 0;
    border-radius: 9999px;
    background: transparent;
    border: 3px solid #fff;
    color: #ffffff;
    display: grid;
    place-items: center;
    cursor: pointer;
    transition: transform .18s ease, opacity .18s ease;
    /* klik tylko w obrębie przycisku, nie „zabija” gestów na wideo gdy znika */
    pointer-events: auto;
}
.video-play svg {
    margin-left: -5px;
}
.video-play:hover { transform: scale(1.04); }
.video-play:active { transform: scale(0.98); }

/* gdy odtwarzamy – chowamy przycisk */
.video-wrap.is-playing .video-play {
    opacity: 0;
    pointer-events: none;
}

/* preferencje dostępności */
@media (prefers-reduced-motion: reduce) {
    .video-play { transition: none; }
}


.discipline{margin:100px auto 150px auto}
.discipline__head{margin-bottom:20px}
.discipline__kicker{color:var(--blue); font-size: 42px; font-weight: 300;}
.discipline__kicker::after{
    content: "";
    position: absolute;
    transform: translate(50%, 210%);
    width: 16px;
    height: 16px;
    background: var(--blue);
}
.discipline__title{
    color:var(--blue);
    text-transform: uppercase;
    font-size: 52px;
    margin-top: -25px;
}
.discipline__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.discipline__grid img{width:100%;object-fit:cover;}

@media(max-width:760px){.discipline__grid{grid-template-columns:1fr}}

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* ========= AKADEMIA PODKÓWKI ========= */

.academy-kicker{
    color: var(--blue);
    font-size: 42px;
    font-weight: 300;
    position: relative;
    transform: translate(20px, 0);
}
.academy-kicker::before{
    content:"";
    position: absolute;
    transform: translate(-20px, 260%);
    width: 14px;
    height: 14px;
    background:var(--blue);
}
.academy-title{
    color: var(--blue);
    text-transform: uppercase;
    font-size: clamp(28px, 4vw, 52px);
    line-height: 1;
    margin-bottom: 18px;
}

.academy-intro{
    padding: 90px 0 40px 0;
    background: #fff;
}
.academy-intro__grid{
    display:grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 28px;
    align-items:start;
}
.academy-intro__text p{
    color:#425469;
    line-height:1.9;
    text-align: justify;
    margin: 0 0 16px 0;
}

.academy-intro__cards{
    display:grid;
    gap: 14px;
}
.academy-card{
    border: 1px solid rgba(9,28,61,.10);
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
    background:#fff;
    padding: 18px;
    display:grid;
    grid-template-columns: 54px 1fr;
    gap: 14px;
    align-items:start;
}
.academy-card__icon{
    width:54px;height:54px;
    border-radius: 999px;
    background: rgba(26,163,217,.10);
    display:grid;
    place-items:center;
}
.academy-card__icon img{width:28px;height:28px}
.academy-card__title{
    grid-column: 2;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--blue);
    font-size: 13px;
    margin: 2px 0 6px;
}
.academy-card__desc{
    grid-column: 2;
    color:#425469;
    font-weight: 300;
    line-height: 1.7;
    font-size: 14px;
}

.academy-alert{
    margin-top: 22px;
}

/* sekcje */
.academy-section-head{ margin: 0 0 18px 0; }
.academy-section-kicker{
    color: var(--blue);
    font-size: 42px;
    font-weight: 300;
    position: relative;
}
.academy-section-title{
    color: var(--blue);
    text-transform: uppercase;
    font-size: 52px;
    margin-top: -25px;
}

/* program */
.academy-program{
    padding: 70px 0 90px 0;
    background:
        url("/img/pattern2.png") repeat,
        linear-gradient(180deg, #ffffff, #ffffff);
}
.academy-steps{
    display:grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-top: 28px;
}
.academy-step{
    background:#fff;
    border: 1px solid rgba(9,28,61,.10);
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
    padding: 18px;
}
.academy-step__nr{
    font-weight: 800;
    letter-spacing: .08em;
    color: #7c8ea3;
    font-size: 12px;
    margin-bottom: 8px;
}
.academy-step__title{
    color: var(--blue);
    font-size: 18px;
    margin: 0 0 10px;
}
.academy-step__desc{
    color:#425469;
    font-weight: 300;
    line-height: 1.7;
    margin: 0;
}

/* organizacja */
.academy-organization{
    padding: 80px 0 90px 0;
    background:#fff;
}
.academy-org{
    display:grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 24px;
    align-items: stretch;
}

.academy-org__panel{
    background:
        url("/img/pattern.png") repeat,
        linear-gradient(180deg, #0b2a48, #0d345a);
    color:#e6f0fa;
    border-radius: 12px;
    padding: 26px;
    box-shadow: 0 20px 50px rgba(0,0,0,.25);
}
.academy-org__kicker{
    font-size: 36px;
    font-weight: 300;
    text-align: right;
    position: relative;
    margin-top: -10px;
}
.academy-org__kicker::before{
    content:"";
    position:absolute;
    transform: translate(-150%, 200%);
    width: 14px;
    height: 14px;
    background:#fff;
}
.academy-org__title{
    text-align:right;
    text-transform:uppercase;
    font-size: 38px;
    line-height: 1;
    margin: 24px 0;
}
.academy-org__panel p{
    margin:0;
    font-weight: 300;
    line-height: 1.8;
}
.academy-org__facts{
    display:grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 12px;
    margin-top: 18px;
}
.academy-fact{
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 10px;
    padding: 12px;
}
.academy-fact__label{
    font-size: 11px;
    letter-spacing: .16em;
    text-transform: uppercase;
    opacity: .85;
}
.academy-fact__value{
    margin-top: 6px;
    font-weight: 800;
    font-size: 16px;
}
.academy-org__media{
    height: 100%;
}
.academy-org__media img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px;
    border: 1px solid rgba(9,28,61,.10);
    box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
}

/* opieka + harmonogram */
.academy-care{
    padding: 80px 0 110px 0;
    background:
        url("/img/pattern2.png") repeat,
        linear-gradient(180deg, #ffffff, #ffffff);
}
.academy-care__grid{
    display:grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 24px;
    align-items:start;
    margin-top: 22px;
}
.academy-care__text p{
    color:#425469;
    line-height:1.9;
    text-align: justify;
    margin: 0 0 14px 0;
}
.academy-list{
    margin: 0;
    padding-left: 18px;
    color:#425469;
    font-weight: 300;
    line-height: 1.9;
}
.academy-care__box{
    background:#fff;
    border: 1px solid rgba(9,28,61,.10);
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
    padding: 22px;
}
.academy-schedule__kicker{
    color: var(--blue);
    font-size: 28px;
    font-weight: 300;
    text-align:right;
    margin:0;
}

.academy-schedule__kicker:before{
    content:"";
    position:absolute;
    transform: translate(-150%, 150%);
    width: 14px;
    height: 14px;
    background:var(--blue);
}

.academy-schedule__title{
    text-align:right;
    text-transform: uppercase;
    font-size: 32px;
    margin: -10px 0 14px 0;
    color: var(--blue);
}
.academy-schedule__row{
    display:flex;
    justify-content:space-between;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(9,28,61,.08);
}
.academy-schedule__row:last-of-type{ border-bottom:0; }
.academy-schedule__day{ font-weight: 800; color: var(--blue); }
.academy-schedule__time{ color:#425469; font-weight:300; }
.academy-schedule__note{
    margin: 12px 0 16px 0;
    color:#425469;
    font-weight:300;
    line-height: 1.7;
    font-size: 13px;
}

/* RWD */
@media (max-width: 1100px){
    .academy-steps{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px){
    .academy-intro__grid,
    .academy-org,
    .academy-care__grid{
        grid-template-columns: 1fr;
    }
    .academy-org__kicker,
    .academy-org__title,
    .academy-schedule__kicker,
    .academy-schedule__title{
        text-align:left;
    }
}
@media (max-width: 560px){
    .academy-steps{ grid-template-columns: 1fr; }
    .academy-org__facts{ grid-template-columns: 1fr; }
}

