@font-face{font-family:Sora;src:url("../fonts/sora-300.ttf") format("truetype");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Sora;src:url("../fonts/sora-400.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Sora;src:url("../fonts/sora-600.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Sora;src:url("../fonts/sora-700.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Sora;src:url("../fonts/sora-800.ttf") format("truetype");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("../fonts/hanken-400.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("../fonts/hanken-600.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("../fonts/hanken-700.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("../fonts/hanken-300-italic.ttf") format("truetype");font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("../fonts/hanken-500-italic.ttf") format("truetype");font-weight:500;font-style:italic;font-display:swap}

:root{
  /* ===== COLORS ===== */
  --black:#03070d;
  --navy:#071835;
  --dark:#0a111a;
  --blue:#1f2f49;
  --orange:#fda632;
  --white:#fff;
  --off-white:#f6f7f2;
  --gray:#4a4e54;
  --light-gray:#dfe1dd;
  /* ===== TRANSITIONS ===== */
  --transition:250ms ease;
}

*,*::before,*::after{box-sizing:border-box}
html{width:100%;max-width:100%;overflow-x:hidden;overflow-y:scroll;scroll-behavior:smooth;scrollbar-color:#6f7782 #e8e9e5;scrollbar-width:auto}
html::-webkit-scrollbar{width:12px}
html::-webkit-scrollbar-track{background:#e8e9e5}
html::-webkit-scrollbar-thumb{border:3px solid #e8e9e5;border-radius:10px;background:#6f7782}
body{width:100%;max-width:100%;margin:0;overflow-x:hidden;background:var(--white);color:var(--black);font-family:"Hanken Grotesk",Arial,sans-serif;font-size:16px;line-height:1.35}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit}
h1,h2,h3,p,ul,ol,dl,dd,blockquote{margin-top:0}
h1,h2,h3{font-family:Sora,Arial,sans-serif;line-height:1.08}
h2{font-size:clamp(2.25rem,8vw,3.75rem);margin-bottom:24px}
h3{font-size:1.1rem}
p{margin-bottom:20px}
.container{width:min(100% - 40px,1400px);margin-inline:auto}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:1000;left:12px;top:12px;padding:12px 16px;background:var(--orange);color:var(--black);transform:translateY(-200%)}
.skip-link:focus{transform:none}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:12px;color:rgba(3,7,13,.6);font-family:Sora,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}
.eyebrow p{margin:0}
.eyebrow::before{content:"";display:block;width:2px;height:16px;flex:0 0 2px;background:var(--orange)}
.eyebrow.is-light{color:rgba(255,255,255,.65)}
.button {
    display: inline-flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    padding: 15px 24px;
    border: 0;
    background: var(--orange);
    color: var(--black);
    font-family: Sora, sans-serif;
    font-size: .8rem;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    transition: background var(--transition), color var(--transition), transform var(--transition);
    max-width: fit-content;
}
.button:hover{background:#ffb64f;transform:translateY(-2px)}
.button.is-light{background:var(--white)}
.button.is-dark{background:#17243a;color:var(--white)}
.button.is-outline{border:2px solid var(--orange);background:transparent;color:var(--orange)}
.button-row{display:flex;flex-wrap:wrap;gap:12px}

.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;height:80px;color:var(--white);transition:background var(--transition),box-shadow var(--transition),color var(--transition)}
.site-header.is-scrolled{background:var(--white);box-shadow:0 4px 18px rgba(0,0,0,.08);color:var(--black)}
.site-header__inner{width:min(100% - 40px,1400px);height:100%;margin-inline:auto;display:flex;align-items:center;justify-content:space-between}
.site-header__logo{position:relative;z-index:2;width:90px}
.site-header__logo img{width:100%;height:auto}
.site-header.is-scrolled .site-header__logo{filter:brightness(0)}
.menu-toggle {
    position: relative;
    z-index: 2;
    width: 44px;
    height: 44px;
    padding: 10px;
    border: 0;
    background: transparent;
    color: currentColor;
    cursor: pointer;
}
.menu-toggle span:not(.screen-reader-text){display:block;width:24px;height:2px;margin:5px auto;background:currentColor;transition:transform var(--transition),opacity var(--transition)}
.site-header.is-menu-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.site-header.is-menu-open .menu-toggle span:nth-child(2){opacity:0}
.site-header.is-menu-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.primary-nav{display:none}
.menu,.sub-menu{list-style:none;margin:0;padding:0}
.menu>.menu-item{border-bottom:1px solid rgba(3,7,13,.1)}
.menu-item{position:relative}
.menu-item>a{display:block;padding:16px 50px 16px 0;font-family:Sora,sans-serif;font-size:.9rem;font-weight:600;text-transform:uppercase;transition:color var(--transition)}
.menu-item>a:hover,.menu-item>a:focus-visible{color:var(--orange)}
.submenu-toggle{position:absolute;right:0;top:6px;width:42px;height:42px;border:0;background:transparent}
.submenu-toggle::before,.submenu-toggle::after{content:"";position:absolute;left:14px;top:20px;width:14px;height:2px;background:currentColor;transition:transform var(--transition)}
.submenu-toggle::after{transform:rotate(90deg)}
.menu-item.is-open>.submenu-toggle::after{transform:rotate(0)}
.sub-menu{display:grid;grid-template-rows:0fr;padding-left:18px;overflow:hidden;transition:grid-template-rows var(--transition)}
.sub-menu>*{overflow:hidden}
.menu-item.is-open>.sub-menu{grid-template-rows:1fr}
.sub-menu .menu-item>a{padding-block:12px}

.menu-backdrop{position:fixed;z-index:89;inset:0;background:rgba(3,7,13,.62);opacity:0;pointer-events:none;transition:opacity var(--transition)}
.menu-drawer {
    position: fixed;
    z-index: 90;
    top: 0;
    right: 0;
    width: min(100%, 460px);
    height: 100dvh;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    padding: 110px 32px 36px;
    background: var(--dark);
    color: var(--white);
    transform: translateX(100%);
    transition: transform 350ms ease;
    z-index: 999;
}
body.menu-open .menu-backdrop{opacity:1;pointer-events:auto}
body.menu-open .menu-drawer{transform:none}
.menu-drawer__label{margin-bottom:22px;color:var(--orange);font-family:Sora,sans-serif;font-size:.75rem;font-weight:700;text-transform:uppercase}
.menu-drawer__links{list-style:none;margin:0;padding:0}
.menu-drawer__links a{display:block;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12);font-family:Sora,sans-serif;font-size:1.15rem;font-weight:600}
.menu-drawer__links a:hover{color:var(--orange)}
.menu-drawer__footer{margin-top:auto;padding-top:36px}
.menu-drawer__footer>p{font-family:Sora,sans-serif;font-size:.75rem;font-weight:700;text-transform:uppercase}
.social-links{display:flex;gap:10px}
.social-links a{display:block;width:34.5px;height:34.5px;transition:transform var(--transition)}
.social-links svg{display:block;width:100%;height:100%;overflow:visible}
.social-icon__disc{color:var(--orange);transition:color var(--transition)}
.social-icon__glyph{color:var(--dark);transition:color var(--transition)}
.social-links a:hover,.social-links a:focus-visible{transform:translateY(-2px)}
.social-links a:hover .social-icon__disc,.social-links a:focus-visible .social-icon__disc{color:var(--white)}
.social-links a:hover .social-icon__glyph,.social-links a:focus-visible .social-icon__glyph{color:var(--orange)}
.menu-drawer__socials{gap:12px}
.menu-drawer__socials a{width:38px;height:38px}

.hero{position:relative;height:100vh;min-height:0;overflow:hidden;background:var(--dark);color:var(--white)}
.hero::before{content:"";position:absolute;z-index:1;inset:0 0 100px;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.08)),linear-gradient(0deg,rgba(10,17,26,.68),transparent 52%);pointer-events:none}
.hero__background{position:absolute;inset:0 0 100px;width:100%;height:calc(100% - 100px);object-fit:cover;object-position:center;pointer-events:none}
.hero__content {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 250px;
    left: 0;
}
.hero__partners{display:flex;align-items:center;gap:10px;margin-bottom:36px}
.hero__partners span{display:flex;width:128px;height:31px;align-items:center;justify-content:center;background:var(--white)}
.hero__partners span img{width:108px}
.hero h1{max-width:760px;margin-bottom:20px;font-size:clamp(2.7rem,11vw,5rem);line-height:1}
.hero__content>p:not(.eyebrow){max-width:560px;font-size:1.05rem}
.hero .button-row{margin-top:34px}
.hero .button{min-width:190px}
.hero__date{position:absolute;z-index:2;right:20px;bottom:118px;padding-left:10px;border-left:2px solid var(--orange);font-family:Sora,sans-serif;text-transform:uppercase}
.hero__date strong,.hero__date span{display:block}
.hero__date strong{font-size:1.4rem}
.hero__date span{font-size:.85rem;font-weight:300}
.hero__bottom{position:absolute;z-index:3;bottom:0;width:100%;height:100px;background:var(--dark)}
.hero__bottom-inner{min-height:100px;display:flex;align-items:center}
.hero__bottom nav{display:none}
.hero__bottom nav a{transition:color var(--transition)}
.hero__bottom nav a:hover,.hero__bottom nav a:focus-visible{color:var(--orange)}
.countdown {
    position: absolute;
    right: 0;
    top: 0;
    width: min(62vw, 240px);
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0;
}
.countdown>p{position:absolute;left:0;right:0;bottom:100%;display:flex;min-height:34px;align-items:center;margin:0;padding:8px 14px;background:var(--white);color:var(--dark);font-family:Sora,sans-serif;font-size:.65rem;font-weight:600;text-transform:uppercase}
.countdown>div{display:flex;width:100%;height:49px;align-items:center;justify-content:space-between;gap:0}
.countdown span {
    display: flex;
    min-width: 50px;
    height: 50px;
    flex-direction: column;
    justify-content: center;
    padding-right: 0;
    border-right: 1px solid rgba(255, 255, 255, .2);
    font-family: Sora, sans-serif;
    font-size: .6rem;
    color: rgba(255, 255, 255, .6);
    text-transform: uppercase;
    align-items: center;
}
.countdown span:last-child{padding-right:0;border:0}
.countdown strong{font-size:1.1rem;color:var(--white)}

@media (max-width:767px){
  .hero .button-row{flex-wrap:nowrap;gap:8px;margin-top:28px}
  .hero .button{width:0;min-width:0;flex:1 1 0;padding-inline:8px;font-size:.68rem}
}

.media-text {
    padding: 60px 0;
    background: var(--navy);
    color: var(--white);
}
.media-text__grid {
    display: grid;
    gap: 50px;
    align-items: center;
}
.media-text h2{color:var(--orange);font-weight:400}
.media-text h2 strong{color:var(--white)}
.media-text__intro>p:not(.eyebrow),.media-text__media>p{color:rgba(255,255,255,.73)}
.facts {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 20px;
    margin: 40px 0 0;
}
.facts dt{color:var(--orange);font-family:Sora,sans-serif;font-size:1.8rem;font-weight:700}
.facts dd{max-width:175px;color:rgba(255,255,255,.7);font-size:.68rem;font-weight:700;text-transform:uppercase;margin:0px}
.video-cover{position:relative;width:100%;padding:0;border:0;background:var(--black);cursor:pointer}
.video-cover img{width:100%;aspect-ratio:760/460;object-fit:cover;opacity:.8}
.video-cover span{position:absolute;left:50%;top:50%;width:0;height:0;border-top:22px solid transparent;border-bottom:22px solid transparent;border-left:34px solid var(--orange);transform:translate(-42%,-50%)}
.media-text__media>p{margin:28px 0 34px}
.tiles-block {
    overflow: hidden;
    padding: 60px 0;
}
.tiles-block.is-light{background:var(--off-white)}
.tiles-block.is-dark{background:var(--dark);color:var(--white)}
.section-heading {
    display: grid;
    gap: 0;
    margin-bottom: 0px;
}
.section-heading>div:last-of-type>h3{margin-bottom:8px;color:var(--orange);font-size:1.15rem;text-transform:uppercase}
.section-heading>div:last-of-type>p,.section-heading>p{color:rgba(3,7,13,.6)}
.is-dark .section-heading>div:last-of-type>p{color:rgba(255,255,255,.6)}
.is-dark .section-heading h2{color:var(--orange)}
.cards-grid{display:flex;gap:20px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory;scrollbar-width:none}
.cards-grid::-webkit-scrollbar{display:none}
.info-card{position:relative;flex:0 0 calc((100vw - 40px) / 1.5);min-height:405px;scroll-snap-align:start}
.card-media{display:block;overflow:hidden}
.card-media img {
    width: 100%;
    transition: transform 450ms ease, filter 450ms ease;
    scale: 1.01;
}
.card-media:hover img,.card-media:focus-visible img{filter:brightness(.82);transform:scale(1.045)}
.info-card>.card-media img{height:187px;object-fit:cover}
.info-card>div{display:flex;min-height:218px;flex-direction:column;padding:24px 20px}
.info-card h3{margin-bottom:18px;font-size:1rem;text-transform:uppercase}
.info-card h3 a,.social-card h3 a{transition:color var(--transition)}
.info-card h3 a:hover,.info-card h3 a:focus-visible,.social-card h3 a:hover,.social-card h3 a:focus-visible{color:var(--orange)}
.info-card p{color:rgba(3,7,13,.6)}
.info-card>div>a:last-child{margin-top:auto;color:var(--orange);font-family:Sora,sans-serif;font-size:.78rem;font-weight:600;text-transform:uppercase}
.info-card>div>a:last-child::after{content:" →";padding-left:6px}
.info-card mark{align-self:flex-start;margin:-7px 0 12px;padding:7px 9px;background:rgba(255,255,255,.1);color:var(--orange);font-family:Sora,sans-serif;font-size:.68rem;font-weight:600;text-transform:uppercase}
.is-dark .info-card {
    background: #07183500;
}
.is-dark .info-card>.card-media img{height:219px}
.is-dark .info-card>div{min-height:239px}
.is-dark .info-card p{color:rgba(246,247,242,.6)}
.scroll-track{height:4px;margin-top:24px;background:rgba(3,7,13,.12)}
.scroll-track span{display:block;width:30%;height:100%;background:var(--orange);transform-origin:left}
.is-dark .scroll-track{background:rgba(255,255,255,.15)}
.cta-block {
    position: relative;
    padding: 60px 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(8, 14, 21, .65)), url(../img/city-bg.jpg) center / cover no-repeat;
    color: var(--white);
}
.cta-block h2 span,.schedule-block h2 span,.about-block h2 span{color:var(--orange);font-weight:400}
.cta-block__logos {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin: 30px 0;
    padding: 22px;
}
.cta-block__logos img {
    height: 80px;
    object-fit: contain;
    width: auto;
}
.cta-block__logos img:last-child{width:92px}
.cta-block__columns{display:grid;gap:38px}
.cta-block__columns p{font-size:1.05rem}
.cta-block .facts{margin-top:40px}

.schedule-block {
    padding: 60px 0;
    background: var(--navy);
    color: var(--white);
}
.schedule-block__grid{display:grid;gap:20px}
.schedule-block__grid>div:first-child>p{color:rgba(255,255,255,.6)}
.schedule-block__buttons{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:30px}
.schedule-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.schedule-list li{display:grid;grid-template-columns:72px 1fr;gap:20px;align-items:center;min-height:80px;padding:15px 20px;background:var(--blue)}
.schedule-list time{display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.2);font-family:Sora,sans-serif;text-transform:uppercase}
.schedule-list time strong{font-size:1.2rem}
.schedule-list time span{color:rgba(255,255,255,.6);font-size:.7rem}
.schedule-list h3{margin:0;color:var(--orange);font-size:.9rem;text-transform:uppercase}
.schedule-list p{margin:3px 0 0;color:rgba(255,255,255,.7);font-size:.78rem}

.logo-carousel {
    overflow: hidden;
    padding: 60px 0;
    background: var(--white);
}
.logo-swiper{height:110px;margin-top:45px}
.logo-swiper .swiper-wrapper{align-items:center;transition-timing-function:linear}
.logo-swiper .swiper-slide{display:flex;height:110px;align-items:center;justify-content:center}
.logo-swiper img{width:auto;max-width:145px;max-height:85px;object-fit:contain}

.support-block {
    padding: 60px 0;
    background: var(--off-white);
}
.support-block__grid{display:grid;gap:34px}
.support-block__grid>div>p{color:rgba(3,7,13,.6)}
.support-block__grid article>img, .support-block__ministry {
    width: 100%;
    height: 238px;
    object-fit: contain;
    background: #c0d1db;
    object-position: bottom;
}
.support-block__ministry{display:flex;align-items:center;justify-content:center;background:var(--white)}
.support-block__ministry img{width:230px}
.support-block__grid article>div:last-child{min-height:127px;padding:20px;background:var(--white)}
.support-block__grid article h3{margin:7px 0}
.support-block__grid article p{color:rgba(3,7,13,.6)}
.support-block__grid small{color:rgba(3,7,13,.6);font-family:Sora,sans-serif}
.support-logo-swiper{margin-top:60px}

.social-feed-carousel {
    overflow: hidden;
    padding: 60px 0;
    background: linear-gradient(rgba(10, 17, 26, .8), rgba(10, 17, 26, .8)), url(../img/social-bg.png) center / cover;
    color: var(--white);
}
.social-feed-carousel h2{color:var(--orange)}
.social-feed-carousel .section-heading>p{color:rgba(255,255,255,.6)}

/* Pojedynczy wpis social-feed. Mobile: zdjecie u gory (naturalne proporcje), tresc pod spodem. */
.social-post{display:flex;flex-direction:column;background:var(--gray)}
.social-post__media{display:block;background:var(--navy);overflow:hidden}
.social-post__media img{display:block;width:100%;height:auto;transition:filter var(--transition),transform var(--transition)}
.social-post__media:hover img,.social-post__media:focus-visible img{filter:brightness(.82);transform:scale(1.045)}
.social-post__body{display:flex;flex-direction:column;padding:26px 20px}
.social-post__body small {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--orange);
    margin-bottom: 20px;
}
/* Klikalna meta (logo FB + data) -> post. Link przejmuje uklad flex z <small>, wizualnie bez zmian. */
.social-post__meta{display:flex;align-items:center;gap:10px;color:inherit}
.social-post__body small span{display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:var(--orange);color:var(--white);font-family:Sora,sans-serif;font-size:.75rem;font-weight:700}
.social-post__body small span svg.social-card__fb{width:auto;height:11px;display:block}
.social-post__body h3{margin:10px 0;color:var(--white);font-size:1rem;text-transform:uppercase;line-height:1.2}
.social-post__body h3 a{transition:color var(--transition)}
.social-post__body h3 a:hover,.social-post__body h3 a:focus-visible{color:var(--orange)}
.social-post__desc{margin-bottom:18px;color:rgba(255,255,255,.6)}
.social-post__desc p{margin:0}
.social-post__desc p+p{margin-top:.6em}
/* Czytelny pasek przewijania (widoczny gdy tresc sie przewija - desktop). */
.social-post__desc{scrollbar-width:thin;scrollbar-color:var(--orange) rgba(255,255,255,.15)}
.social-post__desc::-webkit-scrollbar{width:8px}
.social-post__desc::-webkit-scrollbar-track{background:rgba(255,255,255,.12);border-radius:4px}
.social-post__desc::-webkit-scrollbar-thumb{background:var(--orange);border-radius:4px}
.social-post__more{margin-top:auto;color:var(--orange);font-family:Sora,sans-serif;font-size:.78rem;font-weight:600;text-transform:uppercase}
.social-post__more::after{content:" →"}
.social-post__footer{display:flex;justify-content:center;margin-top:40px}

.gallery-carousel {
    overflow: hidden;
    padding: 60px 0;
    background: var(--navy);
    color: var(--white);
}
.gallery-carousel__heading{display:grid;gap:24px;margin-bottom:45px}
.gallery-tabs{display:flex;align-items:center}
.gallery-tabs button{padding:10px 15px;border:0;background:var(--white);color:var(--black);font-family:Sora,sans-serif;font-size:.7rem;font-weight:600;text-transform:uppercase;transition:background var(--transition),color var(--transition)}
.gallery-tabs button:hover,.gallery-tabs button:focus-visible,.gallery-tabs button.is-active{background:var(--orange)}
.gallery-panel[hidden]{display:none}
.gallery-swiper{overflow:visible;padding-bottom:65px}
.gallery-swiper .swiper-slide{width:300px}
.gallery-swiper .swiper-slide>a{position:relative;display:block;overflow:hidden}
.gallery-swiper img{width:100%;height:410px;object-fit:cover;opacity:.8;transition:opacity var(--transition),transform 450ms ease}
.gallery-swiper .swiper-slide>a:hover img,.gallery-swiper .swiper-slide>a:focus-visible img{opacity:1;transform:scale(1.035)}
.gallery-video span{position:absolute;left:50%;top:50%;width:68px;height:68px;border-radius:50%;background:var(--orange);transform:translate(-50%,-50%);transition:background var(--transition),transform var(--transition)}
.gallery-video span::after{content:"";position:absolute;left:28px;top:21px;width:0;height:0;border-top:13px solid transparent;border-bottom:13px solid transparent;border-left:20px solid var(--dark)}
.gallery-video:hover span,.gallery-video:focus-visible span{background:var(--white);transform:translate(-50%,-50%) scale(1.08)}
.gallery-swiper .swiper-pagination-bullet{width:10px;height:10px;border:1px solid rgba(255,255,255,.6);border-radius:0;background:transparent;opacity:1}
.gallery-swiper .swiper-pagination-bullet-active{border-color:var(--orange);background:var(--orange)}

.contact-block {
    padding: 60px 0;
    background: var(--white);
}
.contact-block__top{display:grid;gap:35px}
.contact-block__top>div:first-child>p:last-child{max-width:558px;color:rgba(3,7,13,.6)}
.contact-block__map{position:relative;min-width:0;overflow:hidden}
.contact-block__map>img{width:100%;aspect-ratio:859/421;object-fit:cover}
.contact-block__map>div{display:flex;flex-direction:column;gap:12px;padding:20px;background:var(--white);box-shadow:0 3px 8px rgba(0,0,0,.08)}
.contact-block mark{background:transparent;color:var(--orange);font-family:Sora,sans-serif;font-size:.75rem;font-weight:600;text-transform:uppercase}
.contact-block>.container:last-child>h2{margin:50px 0 28px;font-size:2.25rem}
.contact-cards{display:grid;gap:20px}
.contact-cards>a{display:flex;gap:14px;align-items:center;min-height:115px;padding:20px;background:var(--off-white)}
.contact-cards>a>span{display:grid;width:50px;height:50px;flex:0 0 50px;place-items:center;border-radius:50%;background:var(--white);color:var(--orange);font-family:Sora,sans-serif}
.contact-cards strong{font-family:Sora,sans-serif;color:rgba(3,7,13,.6)}
.contact-cards p{margin:6px 0;color:rgba(3,7,13,.6)}
.contact-cards b{color:var(--orange);font-family:Sora,sans-serif;font-size:.86rem}

.about-block {
    padding: 60px 0;
    background: linear-gradient(rgba(246, 247, 242, .78), rgba(246, 247, 242, .78)), url(../img/about-bg.jpg) center / cover;
}
.about-block__grid{display:grid;gap:36px}
.about-block__grid>div:first-child>p{color:rgba(3,7,13,.8)}
.about-block blockquote {
    margin: 0;
    padding: 24px;
    border-left: 3px solid var(--orange);
    background: var(--light-gray);
    font-style: italic;
    font-weight: 300;
}
.about-block blockquote p {
    margin-bottom: 0;
}
.about-block ul {
    padding-left: 24px;
    font-weight: 600;
    margin-top: 40px;
}
.about-block__grid>div:nth-child(2) .button{margin-top:30px}
.about-block__photo{position:relative}
.about-block__photo>img:first-child{width:100%;aspect-ratio:488/644;object-fit:cover}
.about-block__photo>img:last-child{position:absolute;right:18px;top:27px;width:200px}

.site-footer{padding:70px 0 24px;background:var(--dark);color:rgba(246,247,242,.68)}
.site-footer nav a {
    transition: color 0.3s;
}
.site-footer nav a:hover {
    color: var(--orange);
}
.site-footer__grid{display:grid;gap:40px}
.footer-logo{display:flex;width:120px;flex-direction:column;font-family:Sora,sans-serif;font-weight:700;line-height:.9}
.footer-logo span{color:var(--orange);font-size:20px}
.footer-logo strong{color:var(--white);font-size:42px}
.site-footer__grid>div:first-child>p{max-width:450px;margin:35px 0}
.site-footer h2{margin-bottom:18px;color:var(--white);font-size:.8rem;text-transform:uppercase}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li,.site-footer address p,.site-footer address>a{display:block;margin-bottom:10px}
.site-footer address{font-style:normal}
.site-footer__format{display:flex;flex-direction:column}
.site-footer__format strong{color:var(--orange);font-family:Sora,sans-serif;font-size:2rem}
.site-footer__format small{margin-bottom:16px;text-transform:uppercase}
.footer-socials{gap:10px;margin-top:auto}
.footer-socials a{width:26px;height:26px}
.site-footer__bottom{display:flex;flex-direction:column;gap:16px;margin-top:45px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08)}
.site-footer__bottom nav{display:flex;flex-wrap:wrap;gap:18px}

@media (min-width:992px){
  body{font-size:20px}
  .container{width:min(100% - 200px,1400px)}
  .site-header{height:100px}
  .site-header__inner{position:relative;width:min(100% - 200px,1400px)}
  .site-header__logo{width:120px}
  .menu-toggle{display:block;position:absolute;right:-30px;order:3;color:inherit}
  .primary-nav{position:absolute;left:400px;top:28px;display:block;order:2;overflow:visible;margin:0;padding:0;background:transparent;color:inherit;transform:none}
  .menu {
      display: flex;
      align-items: center;
      gap: 40px;
  }
  .menu>.menu-item:last-child{margin-left:23px}
  .menu>.menu-item{border:0}
  .menu-item>a {
      padding: 14px 0;
      font-size: 14px;
      white-space: nowrap;
  }
  .submenu-toggle{display:none}
  .sub-menu{position:absolute;left:-20px;top:100%;display:block;min-width:220px;padding:10px 20px;background:var(--white);box-shadow:0 8px 20px rgba(0,0,0,.1);color:var(--black);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity var(--transition),transform var(--transition),visibility var(--transition)}
  .sub-menu .sub-menu{left:100%;top:0}
  .menu-item:hover>.sub-menu,.menu-item:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
  .hero{height:100vh;min-height:0}
  .hero__background{object-position:center}
  .hero__content {
      bottom: 200px;
  }
  .hero .eyebrow{margin-bottom:8px}
  .hero__partners{margin-bottom:40px}
  .hero__partners>img{width:auto;height:45px}
  .hero__partners span{width:190px;height:45px}
  .hero__partners span img{width:150px}
  .hero h1{font-size:80px}
  .hero__content>p:not(.eyebrow){font-size:20px}
  .hero .button{min-width:204px;min-height:60px}
  .hero .button-row{margin-top:51px}
  .hero .button-row .button:first-child{min-width:238px}
.hero__date {
    right: max(230px, calc((100vw - 1400px) / 2 + 128px));
    bottom: 155px;
}
  .hero__bottom nav {
      display: flex;
      gap: 60px;
  }
  .hero__bottom nav a {
      font-family: Sora, sans-serif;
      font-size: 14px;
      font-weight: 600;
      text-transform: uppercase;
  }
.countdown {
    right: 0;
    top: 0;
    width: max(400px, calc((100vw - 1400px) / 2 + 297px));
    height: 100%;
    padding: 0;
}
  .countdown>p{font-size:.75rem}
  .countdown>p::before{content:"⚑";margin-right:8px}
  .countdown>div{width:277px;flex:0 0 277px;justify-content:flex-start;gap:40px}
  .countdown span{position:relative;min-width:0;flex:0 0 auto;padding:0;border:0}
  .countdown span:nth-child(1){width:43px}
  .countdown span:nth-child(2){width:48px}
  .countdown span:nth-child(3){width:34px}
  .countdown span:nth-child(4){width:32px}
  .countdown span:not(:last-child)::after{content:"";position:absolute;right:-20px;top:50%;width:1px;height:30px;background:rgba(255,255,255,.2);transform:translateY(-50%)}
  .countdown strong{font-size:1.5rem}
  .media-text{padding:100px 0}
  .media-text__grid{position:relative;grid-template-columns:558px 1fr;gap:83px}
  .media-text__intro{padding-top:25px}
  .media-text h2{font-size:60px;line-height:65px}
  .media-text__intro>p:not(.eyebrow){margin-top:20px}
  .media-text__media{padding-top:0}
  .media-text.is-left .media-text__intro{grid-column:2}
  .media-text.is-left .media-text__media{grid-column:1;grid-row:1}
  .media-text .facts{margin-top:62px}
  .media-text__media>p{max-width:681px;margin:23px 0 47px;font-size:18px}
  .media-text__media>.button{min-width:239px;min-height:60px}
  .facts{width:495px}
  .facts dt{font-size:36.8px}
  .facts dd{font-size:13.1px}
  .tiles-block{padding:125px 0}
  .section-heading{grid-template-columns:558px 1fr auto;column-gap:83px;row-gap:0;align-items:start;margin-bottom:50px}
  .section-heading h2{font-size:60px;line-height:70px}
  .section-heading h2{margin-bottom:0}
  .section-heading>div:last-of-type{padding-top:50px}
  .section-heading>div:last-of-type>p,.section-heading>p{max-width:759px;font-size:20px}
  .section-heading>.button{align-self:center;min-width:227px;min-height:60px}
  .tiles-block.is-dark .section-heading{margin-bottom:26px}
  .tiles-block.is-dark .section-heading>div:last-of-type{padding-top:21px}
  .cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;overflow:visible;padding:0}
  .info-card{min-width:0;min-height:401px}
  .info-card>.card-media img{height:187px}
  .info-card>div{min-height:204px;padding:30px 20px}
  .info-card h3{font-size:20px}
  .info-card p{font-size:18px}
  .info-card a{font-size:16px}
  .info-card mark::before{content:"⌖";margin-right:6px}
  .info-card:has(>.card-media img[src*="-map"])::after{content:"Google Maps";position:absolute;right:11px;top:107px;display:flex;width:90px;height:70px;align-items:flex-end;justify-content:center;padding-bottom:10px;background:var(--white);color:#66707a;font-size:12px;pointer-events:none}
  .info-card:has(>.card-media img[src*="-map"])::before{content:"";position:absolute;z-index:1;right:43px;top:119px;width:26px;height:34px;border-radius:50% 50% 50% 0;background:linear-gradient(135deg,#4285f4 0 35%,#34a853 35% 55%,#fbbc05 55% 75%,#ea4335 75%);transform:rotate(-45deg);pointer-events:none}
  .is-dark .info-card{min-height:470px}
  .is-dark .info-card>.card-media img{height:219px}
  .is-dark .info-card>div{min-height:239px}
  .scroll-track{display:none}
.cta-block {
    padding: 140px 0 140px;
}
.cta-block h2{font-size:60px;line-height:70px}
.cta-block__logos {
    position: absolute;
    right: 0;
    top: 0;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    gap: 0;
}
  .cta-block .container{position:relative}
.cta-block__columns {
    grid-template-columns: 45% 45%;
    gap: 10%;
    margin-top: 22px;
}
  .cta-block__columns p{font-size:20px}
  .cta-block .button{min-width:208px;min-height:60px}
  .schedule-block{padding:100px 0}
.schedule-block__grid {
    grid-template-columns: 40% 50%;
    gap: 10%;
}
  .schedule-block h2{font-size:60px;line-height:70px}
  .schedule-block__grid>div:first-child>p{font-size:20px}
  .schedule-block__buttons{justify-content:flex-end;margin-bottom:49px}
  .schedule-block__buttons .button{min-width:276px;min-height:60px}
  .schedule-list li{grid-template-columns:99px 1fr;padding:15px 30px}
  .schedule-list h3{font-size:18px}
  .schedule-list p{font-size:15px}
  .logo-carousel{padding:80px 0}
  .logo-carousel h2{font-size:60px;line-height:70px}
  .logo-swiper{height:150px;margin-top:67px}
  .logo-swiper .swiper-slide{height:150px}
  .logo-swiper img{max-width:178px;max-height:150px}
  .support-block{padding:80px 0}
.support-block__grid {
    grid-template-columns: 40% 7.5% 25% 2.5% 25%;
    column-gap: 0;
}
  .support-block__grid>div:first-child{grid-column:1}
  .support-block__grid>article:first-of-type{grid-column:3}
  .support-block__grid>article:last-of-type{grid-column:5}
  .support-block__grid>div>h2{font-size:60px;line-height:70px}
  .support-block__grid>div>p{font-size:20px}
  .support-logo-swiper{height:100px;margin-top:60px}
  .support-logo-swiper .swiper-slide{height:100px}
  .support-logo-swiper img{max-width:150px;max-height:85px}
  .social-feed-carousel{padding:80px 0}
  .social-feed-carousel .section-heading{grid-template-columns:558px 83px 558px;column-gap:0;margin-bottom:23px}
  .social-feed-carousel .section-heading>div:first-child{grid-column:1}
  .social-feed-carousel .section-heading>p{grid-column:3}
  .social-feed-carousel .section-heading>p{padding-top:80px;font-size:20px}
  /* Desktop: zdjecie po lewej (naturalne proporcje), tresc po prawej. */
  .social-post{flex-direction:row;align-items:stretch}
  .social-post__media{flex:0 0 46%;display:flex;align-items:center;justify-content:center}
    .social-post__media img {
        width: auto;
        max-width: 100%;
        height: auto;
        max-height: 70vh;
    }
    .social-post__body {
        flex: 1 1 auto;
        max-height: 70vh;
        padding: 54px 60px;
    }
    .social-post__body small {
        font-size: 16px;
    }
  .social-post__body h3{flex:0 0 auto;margin:0 0 16px;font-size:20px}
  /* Tresc wypelnia dostepna wysokosc i przewija sie wewnatrz. */
  .social-post__desc{flex:1 1 auto;min-height:0;overflow-y:auto;margin-bottom:24px;padding-right:12px;font-size:20px}
  .social-post__more{flex:0 0 auto;margin-top:0}
  .social-post__footer{margin-top:50px}
  .gallery-carousel {
      padding: 80px 0 80px;
  }
  .gallery-carousel__heading{grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:11px}
  .gallery-tabs button:first-child{width:106px}
  .gallery-tabs button:last-child{width:102px}
  .gallery-carousel__heading h2{font-size:60px;line-height:70px}
  .gallery-carousel__heading .button{justify-self:end;min-width:276px;min-height:60px}
  .gallery-swiper .swiper-slide{width:300px}
  .contact-block {
      padding: 80px 0 80px;
  }
.contact-block__top {
    grid-template-columns: 40% 50%;
    gap: 10%;
    align-items: start;
}
  .contact-block__top>div:first-child{padding-top:141px}
  .contact-block__map>div{position:absolute;right:0;bottom:20px;height:153px;gap:28px;padding:26px 16px 24px}
  .contact-block__map>div .button{width:261px;min-height:60px}
  .contact-block__top h2{font-size:60px}
  .contact-block>.container:last-child {margin-top: 80px;}
  .contact-block>.container:last-child>h2{margin:36px 0 73px;font-size:36px}
  .contact-cards{grid-template-columns:repeat(3,1fr)}
  .contact-cards>a{height:115px;min-height:115px;padding:20px}
  .contact-cards strong{font-size:16px}
  .contact-cards p{margin:4px 0;font-size:16px}
  .contact-cards b{font-size:14px}
  .about-block{padding:78px 0;background:linear-gradient(rgba(246,247,242,.68),rgba(246,247,242,.68)),url("../img/about-bg.jpg") center/cover}
.about-block__grid {
    grid-template-columns: 35% 5% 30% 30%;
    gap: 0;
}
  .about-block__grid>div:first-child{grid-column:1;padding-top:57px}
  .about-block__grid>div:first-child h2{margin-bottom:16px}
  .about-block h2{font-size:60px;line-height:65px}
  .about-block__grid>div:first-child>p{font-size:20px}
  .about-block__grid>div:nth-child(2){grid-column:3;padding-top:95px}
  .about-block blockquote{padding:24px 35px 24px 27px;font-size:17px;line-height:1.35}
  .about-block ul{width:390px;margin-left:-24px;padding-left:24px;font-size:17px}
  .about-block__grid>div:nth-child(2) .button{min-width:276px;min-height:60px;margin-top:66px}
  .about-block__photo{grid-column:4}
  .about-block__photo>img:first-child{height:644px}
  .site-footer{padding:76px 0 24px}
  .site-footer{font-size:16px}
  .site-footer__grid{grid-template-columns:minmax(0,597fr) minmax(0,165fr) minmax(0,166fr) minmax(0,165fr) minmax(0,131fr);gap:44px}
  .site-footer__grid>div:first-child>p{margin:43px 0 37px;font-size:19px;line-height:1.45}
  .site-footer__bottom{flex-direction:row;justify-content:space-between;margin-top:42px;border:0;font-size:14px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
