@media (max-width: 768px) {
    section {
        max-width: 100vw;
        overflow-x: hidden;
    }
    #home {
        display: block;
    }
    header {
        width: 364px;
        padding: 9px 10px;
        top: 15px;
    }
    nav {
        gap: 10px;
    }
    nav a {
        font-size: 11px;
        letter-spacing: -0.33px;
        padding: 10px;
    }
    nav a.active {
        padding: 10px 20px 10px 20px;
        border-radius: 11.689px;
    }
    .hero {
        background: url(img/bg-mob.webp);
        height: 854px;
        background-size: cover;
    }
    .hero-content {
        margin-top: 159px;
    }
    .hero-badge {
        gap: 5px;
        margin-bottom: 17px;
        width: 292.931px;
        height: 24.973px;
        border-radius: 12.487px;
        border: 0.675px solid #BEDCEB;
    }
    .hero-badge .dot {
        width: 4.05px;
        height: 4.05px;
    }
    .hero-badge span {
        font-size: 10.124px;
        line-height: 120.926%;
        letter-spacing: 3.037px;
    }
    .hero-logo {
        width: 342px;
        height: 55px;
    }
    .hero-logo img {
        height: 100%;
        width: 100%;
    }
    .hero-headline {
        margin-top: 73px;
        margin-bottom: 15px;
        font-size: 25px;
        line-height: 26px;
        letter-spacing: -0.75px;
    }
    .hero-sub {
        max-width: 360px;
        margin-bottom: 109px;
        font-size: 12px;
        font-style: normal;
        font-weight: 300;
        line-height: 19px;
        letter-spacing: -0.36px;
    }
    .hero-ctas {
        gap: 9px;
    }
    .btn-primary {
        border-radius: 18.059px;
        width: 186.332px;
        height: 50.071px;
        font-size: 14px;
        line-height: 22.984px;
        letter-spacing: -0.42px;
    }
    .btn-outline {
        border-radius: 18.059px;
        width: 164.99px;
        height: 50.071px;
        font-size: 14px;
        line-height: 22.984px;
        letter-spacing: -0.42px;
    }
    .section-title {
        margin-bottom: 5px;
        font-size: 25px;
        line-height: 48px;
        letter-spacing: -0.75px;
    }
    .section-sub {
        max-width: 324px;
        font-size: 12px;
        line-height: 19px;
        letter-spacing: -0.36px;
    }
    .section-header {
        text-align: center;
        margin-bottom: 54px;
    }
    #about {
        background: none;
        margin-top: -112px;
        padding: 0;
        height: 913px;
        overflow-y: hidden;
    }
    .tl-year-label {
        margin-bottom: 11px;
        font-size: 18.349px;
        line-height: 16.258px;
        letter-spacing: -0.55px;
    }
    [data-slide="1"].tl-item .tl-year-label {
        width: 110px;
    }
    .tl-dot-wrap {
        width: 29px;
        height: 29px;
        background-size: contain;
    }
    .tl-item:not(.tl-active) .tl-dot-wrap::after {
        width: 9.01px;
        height: 9.01px;
    }
    .tl-row::after {
        top: 41px;
    }
    .tl-content-panel p {
        max-width: 336px;
        font-size: 12px;
        line-height: 19px;
        letter-spacing: -0.36px;
    }
    .tl-content-area {
        margin-top: 37px;
        margin-left: 28px;
    }
    .tl-content-area > div:nth-of-type(2) {
        margin-left: 0;
    }
    .img-content-area img {
        height: 715px;
    }
    #operations {
        position: relative;
        overflow: hidden;
        padding: 25px 0 0;
    }
    #operations .section-header {
        margin-bottom: 31px;
    }
    .ops-grid {
        overflow-x: auto;
        padding: 0 16px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        grid-template-columns: repeat(4, 1fr);
        gap: 15px;
        height: 669px;
        top: -34px;
        width: 100%;
        overflow-y: hidden;
    }

    .ops-card {
        scroll-snap-align: start;
        width: 265.629px;
        height: 530.912px;
        box-sizing: border-box;
        padding: 90px 0 0 28px;
    }
    .ops-grid::-webkit-scrollbar {
        display: none;
    }
    .ops-card:nth-child(1) .ops-title, .ops-card:hover:nth-child(1) .ops-title { color: var(--navy); }
    .ops-card:nth-child(2) .ops-title, .ops-card:hover:nth-child(2) .ops-title { color: var(--navy2); }
    .ops-card:nth-child(3) .ops-title, .ops-card:hover:nth-child(3) .ops-title { color: var(--blue); }
    .ops-card:nth-child(4) .ops-title, .ops-card:hover:nth-child(4) .ops-title { color: var(--accent); }
    .ops-card .ops-icon, .ops-card:hover .ops-icon {
        width: 34px;
        height: 34px;
    }
    .ops-card .ops-icon path, .ops-card:hover .ops-icon path {
        fill: #21749F;
    }
    .ops-card, .ops-card:hover {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='330' height='659' viewBox='0 0 330 659' fill='none'%3E%3Cpath d='M0 0L329.714 25.3462V608.308L0 659V0Z' fill='%23fffff'/%3E%3C/svg%3E");
    }
    .ops-card::after, .ops-card.active::after, .ops-card:hover::after {
        content: '';
        position: absolute;
        width: 320px;
        height: 628px;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='628' viewBox='0 0 320 628' fill='none'%3E%3Cg filter='url(%23filter0_d_247_95)'%3E%3Cpath d='M15.3145 48.338L280.943 68.7577V538.411L15.3145 579.25V48.338Z' fill='url(%23paint0_linear_247_95)' shape-rendering='crispEdges'/%3E%3C/g%3E%3Cdefs%3E%3Cfilter id='filter0_d_247_95' x='-42.6911' y='0' width='362.304' height='627.588' filterUnits='userSpaceOnUse' color-interpolation-filters='sRGB'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeColorMatrix in='SourceAlpha' type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0' result='hardAlpha'/%3E%3CfeOffset dx='-9.6676'/%3E%3CfeGaussianBlur stdDeviation='24.169'/%3E%3CfeComposite in2='hardAlpha' operator='out'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.0442482 0 0 0 0 0.249315 0 0 0 0 0.356731 0 0 0 0.25 0'/%3E%3CfeBlend mode='normal' in2='BackgroundImageFix' result='effect1_dropShadow_247_95'/%3E%3CfeBlend mode='normal' in='SourceGraphic' in2='effect1_dropShadow_247_95' result='shape'/%3E%3C/filter%3E%3ClinearGradient id='paint0_linear_247_95' x1='280.943' y1='313.794' x2='15.3145' y2='313.794' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='white' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='white'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
        top: 4px;
        left: 0px;
        z-index: -1;
        background-size: auto;
    }
    .ops-card:hover * {
        position: relative;
        z-index: 2;
    }
    .ops-card:hover::after {
        transform: scale(1.11);
        left: 10px;
        z-index: 1;
    }
    .ops-card .ops-title, .ops-card:hover .ops-title  {
        margin-top: 16px;
        color: #fff;
    } 
      .ops-grid >:nth-of-type(1) {background-image: none;}
  .ops-grid >:nth-of-type(2) {
    background-image: none;
  }
  .ops-grid >:nth-of-type(3) {
background-image: none;  }
  .ops-grid >:nth-of-type(4) {
background-image: none;  }
.ops-card:not(.active) .ops-title {
    color: inherit;
    margin-top: 21px;
}
.ops-card:hover .ops-desc, .ops-card .ops-desc {
    opacity: 1;
    max-height: 400px;
    display: block;
}
.ops-card:hover {}
.ops-title {
    margin-bottom: 0;
    margin-top: 21px;
    max-width: 182px;
    height: 67px;
    font-size: 25px;
    line-height: 28px;
    letter-spacing: -0.75px;
}
.ops-desc {
    max-width: 212px;
    font-size: 12px;
    line-height: 19px;
    letter-spacing: -0.36px;
}
  .team-desktop { display: none !important; }
  .team-mobile  {
    display: block;
    width: 358.007px;
    margin: 0 auto;
    height: 578px;
   }
  .team-photo {
    top: 0;
    height: 373.074px;
  }
    .team-card {
    width: 358.007px;
    height: 659px;
    background: none;
    position: relative;
    margin-bottom: 0;
    padding-top: 35px;
}
.team-card::before {
  content: "";
  position: absolute;
  top: 0px;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(157deg, #FFF 0%, rgba(255, 255, 255, 0) 47.91%, #FFF 100%);
}
.team-info {
    height: 445px;
}
#team {
    padding: 0 0 0px;
    z-index: 0;
    overflow: hidden;
  }
 
  #team::before {
    height: 100%;
    background-size: cover;
    background-position: top center;
  }
 
  #team .section-header {
    margin-bottom: 30px;
    padding: 0 20px;
  }
 
  #team .section-header .section-title {
    margin-bottom: 7px;
  }
 
  #team .section-header .section-sub {
    max-width: 249px;
  }
 
  /* ── Картка ──────────────────────────────────────────────── */

 
  .team-card::after {
    bottom: 0;
  }
 

 
  .team-name {
    font-size: 20.785px;
    line-height: 99.92%; /* 20.768px */
    letter-spacing: 1.247px;
    margin-bottom: 4px;
  }
 
  .team-role {
    font-size: 10.392px;
    font-style: normal;
    font-weight: 700;
    line-height: 99.92%; /* 10.384px */
    letter-spacing: 0.624px;
    margin-bottom: 24px;
  }
 
  .team-bio {
    font-size: 12.124px;
    font-style: normal;
    font-weight: 300;
    line-height: 119.9%;
    letter-spacing: 0.727px;
    max-width: 293px;
  }
 
  /* ── Slick dots ──────────────────────────────────────────── */

  .team-slider .slick-dots {
    position: static;
    margin-top: 24px;
    list-style: none;
    display: flex !important;
    justify-content: center;
    gap: 8px;
    padding: 0;
  }
 
  .team-slider .slick-dots li {
    margin: 0;
    width: auto;
    height: auto;
  }
 
  .team-slider .slick-dots li button {
    width: 8px;
    height: 8px;
    padding: 0;
    border-radius: 50%;
    background: #C9E4F1;
    border: none;
    font-size: 0;
    cursor: pointer;
    transition: background 0.3s, transform 0.3s;
    display: block;
  }
 
  .team-slider .slick-dots li button::before {
    display: none; /* прибираємо дефолтний символ від slick-theme */
  }
 
  .team-slider .slick-dots li.slick-active button {
    background: var(--navy);
    transform: scale(1.4);
  }
 
  /* ── Slick arrows ────────────────────────────────────────── */
  .team-slider .slick-prev,
  .team-slider .slick-next {
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    z-index: 10;
    border-radius: 50%;
    background: rgba(11,64,91,0.85);
    border: none;
    cursor: pointer;
    transition: opacity .2s;
  }
 
  .team-slider .slick-prev { left: 4px; }
  .team-slider .slick-next { right: 4px; }
 
  .team-grid-mob .slick-dots {
    bottom: -48px;
  }
  .team-grid-mob .slick-dots li button {
    width: 12.676px;
height: 12.676px;
background: #A7C9DB;
border-radius: 50%;
  }
    .team-grid-mob .slick-dots  li.slick-active button {
    background: #0B405B;;
  }
  .team-grid-mob .slick-dots li button:before {
    content: '';
  }
 
  .team-slider .slick-prev:hover,
  .team-slider .slick-next:hover { opacity: 0.7; }
 
  /* ── Clip overflow so other slides are hidden ─────────────── */
 
  /* ── CONTACT / FOOTER ──────────────────────────────────── */
  #contact {
    padding: 73px 15px 0;
  }
 
  .contact-inner {
    padding: 0;
  }
 
  .contact-top {
    display: block;
    margin-bottom: 55px;
  }
 
    .contact-left h2 {
        font-size: 32px;
        margin-bottom: 9px;
        font-size: 25px;
        line-height: 48px;
        letter-spacing: -0.75px;
        text-align: center;
    }
 
    .contact-left p {
        font-size: 14px;
        max-width: 100%;
        font-size: 12px;
        line-height: 19px;
        letter-spacing: -0.36px;
        max-width: 345px;
        margin: 0 auto;
        text-align: center;
        margin-bottom: 42px;
    }
 
    .footer-nav {
        flex-wrap: wrap;
        gap: 12px 16px;
        padding-top: 0;
        max-width: 336px;
        justify-content: space-between;
        margin: 0 auto;
    }
 
  .footer-nav a {
font-size: 12px;
line-height: 120.926%; /* 14.511px */
letter-spacing: -0.36px;
  }
 
    .contact-cards {
        gap: 13px 10px;
        margin-bottom: 48px;
    }
 
    .contact-card {
        min-width: unset;
        width: 100%;
        border-radius: 18px;
        padding: 20px 0px 19px 18px;
        max-width: 50%;
        width: 50%;
        min-width: 48%;
        border-radius: 23.104px;
    }
 
    .contact-card-title {
        font-size: 14px;
        margin-bottom: 10px;
        font-size: 13.862px;
        line-height: 15.862px;
        letter-spacing: -0.416px;
        max-width: 80px;
        height: 28px;
    }
 
  .contact-card a {
font-size: 12.014px;
line-height: 13.862px; /* 115.385% */
letter-spacing: -0.36px;
  }
 
  .footer-bar {
    padding: 52px 0 54px;
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }
 
    .footer-logo img {
        height: 29px;
        width: 181px;
    }
 
  .footer-copy {
    margin-top: 45px;
    font-size: 13px;
line-height: 15px; /* 115.385% */
letter-spacing: -0.39px;
  }
  .tl-content-panel {
        max-width: 87vw;
    }
    .ops-link {
        font-size: 12px;
        width: 133.788px;
        height: 37.941px;
        margin-top: 12px;
        display: flex !important;
    }
    .content__title {
        font-size: 25px;
        max-width: 300px;
        line-height: 32px;
        letter-spacing: -0.75px;
        margin-bottom: 24px;
    }
    .content__body {
        max-width: calc(100vw - 48px);
        font-size: 12px;
        line-height: 19px;
        letter-spacing: -0.36px;
    }
    .content__body p {
        margin-bottom: 12px;
    }
    .content__body h4 {
        margin-top: 32px;
        margin-bottom: 18px;
        font-size: 16px;
        line-height: 19px;
        letter-spacing: -0.48px;
    }
    .content__body h3 {
        margin-top: 32px;
        font-size: 24px;
        line-height: 19px;
        letter-spacing: -0.72px;
    }
    .content {
        padding: 88px 0 62px 0;
    }
    .tl-content-panel::before {
        background: rgba(255, 255, 255, 0.85);
    }
}