:root{
    --primary-color: #002747;
    --white-color: #FFFFFF;
    --secondary-color: #2177D4;
    --accent-color1: #00C5B4;
    --accent-color2: #FFB511;
    --body-font: 'Inter';
    --header-font: 'Sora';
}


section {
    display: flex;
    flex-direction: column;
    height: 95vh;
    width: 95vw;
    padding-top: 2.5rem;
    padding-left: 5rem;
    padding-right: 5rem;
    border-radius: 12px;
    background: #FFFFFF;
    margin-top: 2rem;
    scroll-margin-top: 2rem;
    scroll-snap-align: start;
    z-index: 0;
    max-width: 1920px;
}


.row {
    display:flex;align-items:center; 
    flex-direction:row;
}

.header-inner{margin-bottom:10rem }

.slogan{margin-left:auto;color:var(--secondary-color);font-weight:700}
.slogan > h1 {margin-left:auto;color:var(--secondary-color);font-weight:700;}
.slogan > div:last-child{margin-left:2rem;color:#002747;font-weight:700; font-size:2rem; font-family: var(--header-font); line-height:2.2em;}

.slide1-item {
    width: 100%;
    margin-right: 2rem;
}

.paragraph {
  margin-bottom: 4rem;
}

main {
    background:var(--primary-color);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding-bottom: 5rem;
}


*{box-sizing:border-box;margin:0;padding:0}
html,body{
    height:100%;
    font-family:var(--body-font);
    color:var(--primary-color); 
    font-size:1.1rem; 
    line-height:1.8em;
    scroll-snap-type: y mandatory;
    scroll-behavior: smooth;
}
.logo-mark{width:30vw;height:auto;opacity:.95}

.logo-mark-mini{height:5rem;width:auto;opacity:.95;margin-bottom:1rem; position:absolute;top:2.5rem;left:5.5rem}


/* .section{position:relative;padding:6rem 0} */

.accent-1, .paah-accent, .accent-3 {
    position:absolute;
    z-index: -1;
}

.accent-1 {
    right:0rem;
    bottom: 0rem;
    height:60vh;
    width: 32vw;
    background-image:url('static/accent-1.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top left;
    border-bottom-right-radius: 12px ;
}

.first-accent {
  right:2rem;
  bottom: 1.6rem;
}

.paah-accent{
    bottom:0;left:0;
    width: 20vw;height:30vh;
    background-image: url('static/accent-3.png');
    background-repeat: no-repeat;
    background-position: top left;
    border-bottom-left-radius:12px;
}

.accent-3 {
    right:0rem;
    bottom: 0rem;
    height:60vh;
    width: 32vw;
    background-image:url('static/accent-dark1.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top left;
    border-bottom-right-radius: 12px ;
}

.section .center-title{text-align:center;;color:var(--white-color);margin-bottom:2.5rem;}

h1, h2, h3, h4, h5, h6{font-family:var(--header-font);color:var(--primary-color); font-weight:bolder}

h1 {
    font-size: 4rem;
}


.subheader{
    color:var(--secondary-color);
    margin-top:-0.5rem;
}

nav {
    position: fixed;
    bottom: 3rem;
    right: 2rem;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    z-index: 1000;
    /* background: rgba(0, 0, 0, 0.1); */
    padding: 0.5rem;
    border-radius: 12px;
}

nav a {
    display: block;
    width: 16px;
    height: 16px;
    background-color: rgba(128, 128, 128);
    border-radius: 12px;
}

nav a:hover {
    background-color: var(--accent-color2);
}

nav a.active, nav a.active:hover {
    width: 24px;
    height: 24px;
    border-radius: 24px;
    background-color: var(--accent-color1);
}

/* Intro */
.intro {
    background-image: url('static/light-cloud-bg.jpg');
    background-size: cover;
    position: relative;
}

.content {
    z-index: 2;
}

/* .cloud-bg{
    position:absolute;
    top:2rem;left:2.4rem;
    width:95vw;height:40vh;
    background-image:url('static/cloud-bg.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top left;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    -z-index: -1;
} */
.lead{
    margin-top:0.5rem;
    margin-bottom:1rem;
    color:var(--primary-color);
    line-height: 1.8em;
    width:85%;

}
.news-card{
  background:#ecf2f6;
  border-radius:10px;
  overflow:hidden;
  box-shadow: 0rem .5rem .5rem rgba(0, 0, 0, 0.4);
  width:80%;
}

.news-img{width:100%;height:200px;object-fit:cover;display:block}
.news-body{padding:1rem}
.news-body h4{color:var(--primary-color);margin-top:.5rem}
.news-body a{color:var(--secondary-color);text-decoration:none}

/* PaaH */
.paah {
    background-image:
      /* linear-gradient(180deg, rgba(0, 36, 71, 0.95) 0%, rgba(0, 36, 71, 0.92) 40%, rgba(0, 36, 71, 0.95) 100%), */
      url('static/dark-cloud-bg.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    position:relative;
    z-index: 0;
    color: #fff;
}

.paah-inner{text-align:center}
.paah-head h2{
    font-size:4rem;
    color:#fff;
    margin:0; 
}
.paah-sub{font-size:1.5rem; font-family:var(--header-font);color:#fff; margin-top:1rem}
.paah-grid{
    display: grid;
    grid-template-columns: 3fr 1fr 3fr;
    grid-template-rows: auto auto;
    gap: 6rem;
    align-items:center;
    z-index: 0
}
.card-heading {
    display:flex;
    align-items:center;
    justify-content:flex-start;
    margin-bottom:1rem;
}
.card-heading > h2 {
    color:var(--white-color);
    text-align:left;
    font-size:1.5rem;
}
.card-heading > img {
    height: 2rem; 
    width: auto;
    margin-right: 1rem;
    display: inline-block;
}
.card{
    background:#e9f0f4;
    padding:1.5rem;
    border-radius:12px;
    text-align:left;
    color:var(--primary-color);
    box-shadow: 0 0 0px rgba(0, 255, 255, 0.0);
    transition: 0.35s ease;
}
.card:hover{
  box-shadow:
    0 0 12px rgba(0, 255, 255, 0.4),
    0 0 24px rgba(0, 255, 255, 0.25),
    0 0 48px rgba(0, 255, 255, 0.15);
    transform: scale(1.05);
  background-image: linear-gradient(180deg, #e9f0f4 0%, #cbcfd1 100%);
}


.cell1 { grid-column: 1; grid-row: 1; }
.cell2 { grid-column: 1; grid-row: 2; }

.cell3 { grid-column: 2; grid-row: 1 / span 2; } /* zajmuje 2 wiersze */

.cell4 { grid-column: 3; grid-row: 1; }
.cell5 { grid-column: 3; grid-row: 2; }

.center-image img{
    position:absolute;top:30%;left:40%;transform:translate(-50%,-50%);
    height: 40vh; width:auto;display:block;border-radius:8px;
    z-index: -1;
    transition: 0.35s ease;
    animation: pulse 10s infinite ease-in-out;
}
/* animacja pulsowania */
@keyframes pulse {
  0% {
    transform: scale(1);
    filter: drop-shadow(0 0 4px rgba(0, 255, 255, 0.4));
  }
  50% {
    transform: scale(1.08);
    filter: drop-shadow(0 0 12px rgba(0, 255, 255, 0.9));
  }
  100% {
    transform: scale(1);
    filter: drop-shadow(0 0 4px rgba(0, 255, 255, 0.4));
  }
}

/* Offerings */
.offerings{
    background-image:url('static/accent-cloud-bg.jpg');
    background-size:cover;
    background-repeat:no-repeat;
    background-position:top left;
    position:relative;
    padding-top:5.5rem;
}
.cards-row{
    display:flex;
    gap:3rem;
    justify-content:center;
    flex-wrap:wrap;
    margin-top:6rem;
}
.feature-card{
    max-width: 30%;
}

.feature-card h2 {
    color: var(--primary-color);
}

/* Team */
.team{
    background-image: url('static/light-cloud-bg.jpg');
    background-size: cover;
    position:relative;

}
.team > .container > h1{
    margin-top:5rem;
    color:var(--primary-color) !important;
}
.team-grid{
    display:flex;
    gap:2rem;
    margin-top:4rem;
}
.profile-card{background:#e9f0f4;border-radius:12px;padding:0 0 1rem 0;flex:1;text-align:left; position:relative}
.profile-card:hover{
  box-shadow:
    0 0 12px rgba(0, 255, 255, 0.4),
    0 0 24px rgba(0, 255, 255, 0.25),
    0 0 48px rgba(0, 255, 255, 0.15);
    transform: scale(1.05);
  background-image: linear-gradient(180deg, #e9f0f4 0%, #cbcfd1 100%);
}
.profile-card .avatar{
  width:100%;
  height:240px;
  object-fit:cover;
  border-top-left-radius:12px;
  border-top-right-radius:12px;
  position:relative;
  object-fit: cover;
  /* object-position: 0% 20%; */
}


.profile-card h2{text-align:center; margin-bottom: 1rem;margin-top: 1.2rem; font-size:1rem; }
.profile-card p{padding:0 2rem 2rem;color:#274a5b; margin-bottom: 1.5rem; font-size:0.9rem; line-height:1.6em;}

.phone {
  font-weight: bolder;
  position: absolute;
  bottom: 0.5rem;
  left: 1rem;
}

/* Contact */
.contact{
    margin-top: 5rem;
    padding-top: 6.5rem;
    color: var(--white-color) !important;
    background-image: url('static/dark-cloud-bg.jpg');
    background-size: cover;
    position:relative;
    z-index: 0;
}
.contact h1,
.contact h2,
.contact h3,
.contact h4,
.contact p,
.contact label,
.contact address,
.contact a,
.contact .btn{
    color: var(--white-color) !important;
}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center; margin-top: 6rem; width: 80%; margin-left: auto;}
.contact-form{background:transparent;display:flex;flex-direction:column;justify-content:center;gap:1.5rem;min-height:420px}
.contact-form label{display:block;color:var(--white-color);font-size:1rem;line-height:1.6;}
.contact-form input, .contact-form textarea{
  width:100%;
  padding:1rem;
  border-radius:10px;
  border:none;
  margin-top:.5rem;
  background: #FFFFFF;
  color:var(--primary-color) !important;
  box-shadow: 0rem 1rem 1.5rem rgba(0, 0, 0, 0.4);
}
.btn{
  max-width: 20%;
  padding:.75rem 1rem;
  border-radius:10px;
  border:none;
  background:var(--secondary-color);
  color:#fff;
  cursor:pointer;
  padding: 1rem;
  font-family: var(--header-font);
}
.btn.outline{background:transparent;border:2px solid var(--secondary-color);color:var(--white-color);border-radius:8px;padding:.5rem 1rem}
.socials {
  margin: 2rem;
}
.socials a {
  margin: 1rem;
}
address {
  margin-top: 2rem;
  color: var(--white-color);
  font-style: normal;
  font-weight: bold;
  
}

/* Responsive */
@media (max-width:1000px) {
  .container { padding: 1.25rem; }
  .two-col { grid-template-columns: 1fr; }
  .paah-grid { grid-template-columns: 1fr; }
  .cards-row { flex-direction: column; }
  .team-grid { flex-direction: column; }
  .contact-grid { grid-template-columns: 1fr; }
}

@media (max-width: 1024px) {
  section {
    position: sticky;
    top: 0;
    width: 100vw;
    min-height: 100vh;
    height: 100vh;
    margin-top: 0;
    padding-top: 1.5rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    border-radius: 0;
    height: 100%;
  }

  body {
    overflow-x: hidden;
  }

  html, body {
    scroll-snap-type: y mandatory;
  }

  .slider,
  main {
    width: 100vw;
  }

  .row {
    flex-direction: column;
    align-items: flex-start;
  }

  .slide1-item {
    margin-right: 0;
  }

  .accent-1,
  .accent-3,
  .paah-accent,
  .cloud-bg,
  .logo-mark-mini {
    display: none !important;
  }

  .intro{
    /* background-image: none !important; */
    background-color: #fff !important;
  }

.paah
 {
    /* background-image: none !important; */
    background-color: var(--primary-color)  !important;
  }

.offerings {
    /* background-image: none !important; */
    background-color: var(--secondary-color) !important;
  }

  .logo-mark {
    width: 70vw;
  }

  .paah-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .paah-grid > * {
    width: 100%;
    max-width: 100%;
  }

  .cell1, .cell2, .cell4, .cell5 {
    grid-column: 1;
    grid-row: auto;
  }

  .paah-grid .card-heading {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }

  .paah p,
  .paah ul,
  .paah li {
    width: 100%;
    max-width: 100%;
  }

.cell3 {
    z-index: -1;
    width: 120%;
    height: auto;
  }

  .card {
    width: 100%;
    max-width: 100%;
  }

  h1 {
    font-size: 2.4rem;
  }

  h2 {
    font-size: 1.75rem;
  }

  h3 {
    font-size: 1.5rem;
  }

  .center-title {
    font-size: 2rem;
  }

  .cards-row {
    flex-direction: column;
    gap: 1rem;
    align-items: stretch;
  }

  .feature-card {
    max-width: 100%;
    width: 100%;
  }

  .team-grid {
    flex-direction: column;
  }

  .contact-grid {
    grid-template-columns: 1fr;
  }

  .contact-form,
  .contact-info {
    width: 100%;
  }

  .news-card,
  .profile-card,
  .contact-form {
    width: 100%;
  }

  .profile-card {
    margin-bottom: 1rem;
  }

  .btn{
  max-width: 100%;
}
}
