/*
 * AirJetCharter theme — HOME sections + cross-cutting RESPONSIVE block.
 * Extracted 1:1 from Archive.zip index.html. Loaded LAST so responsive
 * overrides base/header/footer.
 */
  /* ==========================================================================
     HERO
     ========================================================================== */
  .hero {
    position: relative;
    min-height: 80vh;
    min-height: 80svh;
    display: flex;
    align-items: flex-end;
    padding-top: calc(var(--header-h) + 80px);
    padding-bottom: 40px;
    overflow: hidden;
    color: #fff;
  }
  .hero-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
  }
  .hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10,23,51,.25) 0%, rgba(10,23,51,.05) 30%, rgba(10,23,51,.55) 100%);
    z-index: 1;
  }
  .hero-content { position: relative; z-index: 2; width: 100%; }

  .hero-title {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    font-size: clamp(40px, 7.4vw, 78px);
    font-weight: 600;
    letter-spacing: -.04em;
    margin-bottom: .15em;
    text-shadow: 0 2px 14px rgba(0,0,0,.25);
  }
  .hero-plane { width: clamp(50px, 8vw, 96px); height: auto; flex-shrink: 0; }
  .hero-sub {
    font-size: clamp(14px, 1.4vw, 19px);
    font-weight: 500;
    letter-spacing: -.005em;
    margin-bottom: 28px;
    text-shadow: 0 1px 6px rgba(0,0,0,.25);
    max-width: 880px;
  }

  .search-bar {
    background: #fff;
    border-radius: 14px;
    padding: 8px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    box-shadow: 0 18px 40px -10px rgba(0,0,0,.35);
    color: var(--c-text);
    max-width: none;
  }
  .sb-field {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    border-radius: 10px;
    position: relative;
    flex: 1;
    min-width: 0;
  }
  .sb-field img { width: 22px; height: 22px; flex-shrink: 0; }
  .sb-field input {
    border: 0;
    outline: 0;
    background: transparent;
    width: 100%;
    font-size: 16px;
    color: var(--c-text);
    min-height: 24px;
  }
  .sb-field input::placeholder { color: #94a3b8; }
  .sb-swap {
    width: 36px; height: 36px;
    display: inline-flex; align-items: center; justify-content: center;
    align-self: center;
    margin: 0 auto;
    transition: opacity .18s var(--ease);
  }
  .sb-swap img { width: 100%; height: 100%; display: block; }
  .sb-swap:hover { opacity: .7; }
  .sb-submit { width: 100%; height: 48px; border-radius: 10px; }

  /* Charter hero search (PROMPT 2): <select> dropdownovi + bi ikone u .sb-field,
     i pozicija search-bara nad hero slideshow-om (.home-hero je position:relative). */
  .sb-field select {
    border: 0; outline: 0; background: transparent;
    width: 100%; font-size: 16px; color: var(--c-text);
    min-height: 24px; cursor: pointer;
    -webkit-appearance: none; -moz-appearance: none; appearance: none;
  }
  /* Custom time picker: trigger izgleda kao polje + scrollable lista (max-height
     + overflow) umjesto native <select> popupa koji preuzme cijeli ekran. */
  .sb-timepick { position: relative; }
  .sb-timepick__trigger {
    flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px;
    margin: 0; padding: 0; border: 0; background: transparent;
    font: inherit; font-size: 16px; color: var(--c-text);
    cursor: pointer; text-align: left; min-height: 24px;
  }
  .sb-timepick__value { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .sb-timepick.is-empty .sb-timepick__value { color: #94a3b8; }
  .sb-timepick__trigger::after {
    content: ""; width: 14px; height: 14px; flex-shrink: 0;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.4'><path d='M6 9l6 6 6-6'/></svg>") no-repeat center / 14px;
  }
  .sb-suggest.sb-timepick__list { min-width: 150px; width: 100%; }
  .sb-suggest__item.is-selected { background: #eef2f7; color: var(--c-blue); font-weight: 600; }
  .sb-field > .bi { font-size: 18px; line-height: 1; color: #64748b; flex-shrink: 0; }
  .sb-swap .bi { font-size: 18px; line-height: 1; }
  /* Full-bleed (po dizajnu): search bar prati širinu hero contenta — lijeva ivica
     poravnata sa naslovom, desna sa navigacijom (isti --container/--pad math kao
     .home-hero__content), pozicioniran pri dnu heroja. */
  .home-hero__search {
    position: absolute;
    left: 50%;
    bottom: clamp(20px, 3.5vh, 44px);
    transform: translateX(-50%);
    width: calc(100% - 2 * var(--pad));
    max-width: calc(var(--container) - 2 * var(--pad));
    z-index: 6;
    margin: 0;
  }
  @media (max-width: 991.98px) {
    .home-hero__search { bottom: 16px; }
  }

  /* Predictive-search comboboxi (PROMPT 3B): input + filtrirani dropdown umjesto
     <select>. .sb-field je position:relative (gore) pa .sb-suggest pozicioniramo
     apsolutno ispod polja; fokus highlight na cijelom polju za jasniji affordance. */
  .sb-combo { position: relative; }
  .sb-input { cursor: text; }
  .sb-field:focus-within { background: #f1f5f9; }
  .sb-suggest {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    z-index: 30;
    width: 100%;
    min-width: 244px;
    max-height: 288px;
    overflow-y: auto;
    margin: 0;
    padding: 6px;
    list-style: none;
    background: #fff;
    border: 1px solid var(--c-border);
    border-radius: 12px;
    box-shadow: 0 20px 44px -12px rgba(10,23,51,.38);
  }
  /* Otvaranje nagore kad nema dovoljno prostora ispod (charter-inquiry.js place()). */
  .sb-suggest--up { top: auto; bottom: calc(100% + 10px); box-shadow: 0 -20px 44px -12px rgba(10,23,51,.38); }
  /* Custom time picker (hero) — otvaranje nagore (charter-inquiry.js dodaje tp-up). */
  .sb-timepick__list.tp-up { top: auto; bottom: calc(100% + 10px); box-shadow: 0 -20px 44px -12px rgba(10,23,51,.38); }
  .sb-suggest[hidden] { display: none; }
  .sb-suggest__group {
    padding: 10px 12px 4px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #94a3b8;
  }
  .sb-suggest__item {
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 15px;
    line-height: 1.3;
    color: var(--c-text);
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .sb-suggest__item.is-active,
  .sb-suggest__item:hover { background: #eef2f7; }
  .sb-suggest__empty { padding: 12px; color: #94a3b8; font-size: 14px; }

  /* --------------------------------------------------------------------------
     CMS hero-slideshow partial koristi BEM klase (.home-hero__*) — preslikavamo
     originalni .hero / .hero-bg / .hero-content / .hero-title / .hero-sub izgled
     na njih (PROMPT 3B). Search kartica (.home-hero__search, gore) lebdi preko
     donje ivice heroja; swiper auto-rotira (kontrole skrivene da ne sudaraju).
     -------------------------------------------------------------------------- */
  .home-hero {
    position: relative;
    min-height: 86vh;
    min-height: 86svh;
    color: #fff;
    background: var(--c-navy);
  }
  /* overflow:hidden ide na SWIPER (klipuje slajdove), NE na .home-hero — search
     autocomplete dropdown (sibling) smije prelaziti donju ivicu heroja. */
  .home-hero__swiper { position: absolute; inset: 0; height: 100%; overflow: hidden; }
  .home-hero__swiper .swiper-wrapper { height: 100%; }
  .home-hero__slide {
    position: relative;
    height: 100%;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
  }
  .home-hero__slide-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
  }
  .home-hero__slide::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(10,23,51,.32) 0%, rgba(10,23,51,.08) 32%, rgba(10,23,51,.72) 100%);
  }
  .home-hero__content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: var(--container);
    margin: 0 auto;
    padding: calc(var(--header-h) + 70px) var(--pad) 300px;
  }
  .home-hero__eyebrow {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    margin-bottom: 14px;
    opacity: .95;
    text-shadow: 0 1px 6px rgba(0,0,0,.3);
  }
  .home-hero__title {
    font-size: clamp(40px, 7.4vw, 78px);
    font-weight: 600;
    letter-spacing: -.04em;
    line-height: 1.03;
    margin: 0 0 .2em;
    max-width: 18ch;
    text-shadow: 0 2px 14px rgba(0,0,0,.28);
  }
  .home-hero__subtitle {
    font-size: clamp(14px, 1.4vw, 19px);
    font-weight: 500;
    letter-spacing: -.005em;
    max-width: 720px;
    margin: 0;
    text-shadow: 0 1px 6px rgba(0,0,0,.28);
  }
  .home-hero__actions { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 14px; }
  /* Swiper kontrole + scroll chevron skriveni na herou (auto-rotacija; search kartica je donji fokus). */
  .home-hero .swiper-button-prev,
  .home-hero .swiper-button-next,
  .home-hero .swiper-pagination,
  .home-hero__scroll { display: none; }

  @media (min-width: 1024px) {
    .home-hero__content { padding-bottom: 180px; }
  }
  @media (max-width: 719px) {
    .home-hero { min-height: 90vh; min-height: 90svh; }
    .home-hero__content { padding-top: calc(var(--header-h) + 48px); }
    .home-hero__title { font-size: clamp(34px, 11vw, 52px); }
  }

  /* ==========================================================================
     PRESS LOGOS / PARTNERS STRIP
     ========================================================================== */
  .press {
    background: var(--c-navy);
    min-height: 160px;
    display: flex;
    align-items: center;
    padding: 32px 0;
  }
  .press .container {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .press img {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    filter: brightness(1.1);
  }

  /* ==========================================================================
     COMMITMENT
     ========================================================================== */
  .commitment {
    background: var(--c-navy);
    color: #fff;
    padding: 70px 0 90px;
  }
  .commitment .split {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .commitment-copy p { color: #cbd5e1; font-size: 15px; }
  .commitment-copy p + p { margin-top: 1em; }

  /* ==========================================================================
     EMPTY LEG / FEATURED DEALS
     ========================================================================== */
  .empty-leg { padding: 60px 0; }

  .el-track-wrap { position: relative; margin: 0 -8px; }
  .el-track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 100%;
    gap: 16px;
    padding: 8px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }
  .el-track::-webkit-scrollbar { display: none; }
  .el-card {
    scroll-snap-align: start;
    background: var(--c-bg-soft);
    border-radius: var(--radius);
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  .el-card > img {
    width: 100%;
    height: 220px;
    object-fit: cover;
  }
  .el-route {
    text-align: center;
    padding: 24px 20px 18px;
  }
  .el-route .city {
    display: block;
    font-size: 22px;
    font-weight: 700;
    color: var(--c-text);
    letter-spacing: -.01em;
  }
  .el-cta {
    margin: 0 16px 16px;
    height: 50px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 8px;
  }
  .el-cta span { font-weight: 400; opacity: .85; margin-right: 4px; font-size: 14px; }

  .carousel-btn {
    position: absolute;
    top: 50%;
    width: 44px; height: 44px;
    border-radius: 999px;
    background: #fff;
    box-shadow: var(--shadow);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    z-index: 3;
    color: var(--c-text);
    cursor: pointer;
    transition: background .18s var(--ease), transform .18s var(--ease);
  }
  .carousel-btn.prev { left: 4px; }
  .carousel-btn.next { right: 4px; }
  .carousel-btn:hover { background: var(--c-bg-soft); }
  .carousel-btn:active { transform: translateY(-50%) scale(.95); }
  .carousel-btn[disabled],
  .carousel-btn.is-disabled {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    cursor: not-allowed;
  }
  .carousel-btn,
  .round-btn {
    transition: background .18s var(--ease), opacity .25s var(--ease), visibility .25s var(--ease), transform .18s var(--ease);
  }

  .blog-head-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
  }
  .blog-controls { display: flex; gap: 10px; }

  .fineprint {
    font-size: 12px;
    color: var(--c-muted);
    margin-top: 18px;
    max-width: 70ch;
  }

  /* ==========================================================================
     POPULAR DESTINATIONS — horizontal carousel
     ========================================================================== */
  .popular-destinations { padding: 60px 0; background: var(--c-bg); }
  .popular-destinations .section-head {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 28px;
  }
  .pd-eyebrow {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    color: var(--c-blue);
    letter-spacing: .14em;
    text-transform: uppercase;
    margin-bottom: 10px;
  }
  .popular-destinations .section-head .muted { max-width: 56ch; margin: 6px 0 0; }

  .pd-track-wrap { position: relative; margin: 0 -8px; }
  .pd-track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 80%;
    gap: 18px;
    padding: 8px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }
  .pd-track::-webkit-scrollbar { display: none; }

  .pd-card {
    scroll-snap-align: start;
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: var(--c-bg-soft);
    box-shadow: var(--shadow-sm);
    transition: transform .35s var(--ease), box-shadow .35s var(--ease);
    aspect-ratio: 4 / 5;
    color: #fff;
  }
  .pd-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
  .pd-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s var(--ease);
  }
  .pd-card:hover img { transform: scale(1.06); }
  .pd-card::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 65%;
    background: linear-gradient(180deg, rgba(10,23,51,0) 0%, rgba(10,23,51,.55) 50%, rgba(10,23,51,.88) 100%);
    pointer-events: none;
    z-index: 1;
  }
  .pd-body {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    padding: 22px 22px 20px;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 14px;
  }
  .pd-info h3 {
    font-size: 22px;
    font-weight: 700;
    margin: 0;
    letter-spacing: -.01em;
    color: #fff;
  }
  .pd-info p {
    font-size: 11px;
    letter-spacing: .14em;
    text-transform: uppercase;
    margin: 4px 0 0;
    opacity: .82;
    font-weight: 500;
    color: #fff;
  }
  .pd-price {
    text-align: right;
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: .8;
    font-weight: 500;
    line-height: 1.2;
    flex-shrink: 0;
  }
  .pd-price strong {
    display: block;
    font-size: 17px;
    font-weight: 700;
    margin-top: 3px;
    letter-spacing: -.005em;
    opacity: 1;
    color: #fff;
  }

  /* ==========================================================================
     BOOK PERFECT JET (services #1) — REDESIGN
     ========================================================================== */
  .book-perfect { padding: 50px 0; background: var(--c-bg); }
  .bp-grid, .ms-grid, .pr-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
    align-items: center;
  }
  .bp-visual, .ms-visual, .pr-visual {
    margin: 0;
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: 0 30px 60px -25px rgba(15, 23, 42, .35);
  }
  .bp-visual::after, .ms-visual::after, .pr-visual::after {
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(13,17,35,0) 55%, rgba(13,17,35,.35) 100%);
    pointer-events: none;
  }
  .bp-visual img, .ms-visual img, .pr-visual img {
    display: block;
    width: 100%;
    height: 320px;
    object-fit: cover;
    transition: transform .6s var(--ease);
  }
  .bp-visual:hover img,
  .ms-visual:hover img,
  .pr-visual:hover img { transform: scale(1.05); }

  /* Keep aircraft centered using object-position when there is horizontal crop room */
  .pr-visual img { object-position: center center; }
  .bp-info, .ms-info, .pr-info { padding: 4px; }
  .bp-eyebrow, .ms-eyebrow, .pr-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    color: var(--c-primary);
    letter-spacing: .14em;
    text-transform: uppercase;
    margin-bottom: 14px;
  }
  .bp-eyebrow::before,
  .ms-eyebrow::before,
  .pr-eyebrow::before {
    content: "";
    width: 28px; height: 2px;
    background: var(--c-primary);
    border-radius: 2px;
  }
  .bp-info p, .ms-info p, .pr-info p { color: var(--c-muted); font-size: 15px; line-height: 1.65; margin: 14px 0 18px; }
  .ms-info p.strong, .pr-info p.strong { color: var(--c-text); margin-bottom: 8px; }
  .bp-features {
    list-style: none;
    padding: 0;
    margin: 18px 0 26px;
    display: grid;
    gap: 10px;
  }
  .bp-features li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    color: var(--c-text);
    font-weight: 500;
  }
  .bp-features li img {
    width: 20px; height: 20px;
    flex-shrink: 0;
  }

  /* legacy split-card (still used by Memberships & Precision) */
  .split-card {
    display: grid;
    grid-template-columns: 1fr;
    background: var(--c-bg-soft);
    border-radius: var(--radius-lg);
    overflow: hidden;
  }
  .cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
  }
  .cta-row .btn { flex: 1; min-width: 140px; }

  /* ==========================================================================
     JET CARD (kept unchanged)
     ========================================================================== */
  .jet-card { padding: 80px 0; background: #fff; }
  .split-50 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
    align-items: start;
  }
  .jc-copy p { color: var(--c-text); font-size: 15px; }
  .jc-copy p + p { margin-top: 1em; }
  .jc-copy .btn { margin-top: 18px; min-width: 220px; }

  .jc-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
  .jc-feature {
    background: var(--c-bg-soft);
    border-radius: var(--radius);
    padding: 28px 22px;
    text-align: center;
  }
  .jc-feature img { width: 44px; height: 44px; margin: 0 auto 14px; }
  .jc-feature h3 { font-size: 18px; font-weight: 700; margin-bottom: 8px; }
  .jc-feature p { color: var(--c-muted); font-size: 14px; margin: 0; }

  /* ==========================================================================
     MEMBERSHIPS
     ========================================================================== */
  .memberships { padding: 50px 0; }
  .memberships .split-card { background: var(--c-bg-soft); }
  .ms-copy { padding: 32px 26px; order: 2; }
  .ms-copy p { color: var(--c-text); font-size: 15px; }
  .ms-img { order: 1; }
  .ms-img img { width: 100%; height: 320px; object-fit: cover; }

  .check-list { display: flex; flex-direction: column; gap: 0; margin: 8px 0 22px; }
  .check-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid #d8dde6;
    font-weight: 600;
  }
  .check-list li:last-child { border-bottom: 0; }
  .check-list img { width: 22px; height: 22px; flex-shrink: 0; }

  /* ==========================================================================
     TESTIMONIALS
     ========================================================================== */
  .testimonials { padding: 60px 0; }
  .testimonials .section-head {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 12px;
  }
  .t-controls { display: flex; gap: 10px; }

  .t-track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 100%;
    gap: 24px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    padding: 4px;
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }
  .t-track::-webkit-scrollbar { display: none; }
  .t-card {
    scroll-snap-align: start;
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin: 0;
  }
  .t-card img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: var(--radius);
  }
  .t-card blockquote { margin: 0; }
  .t-card blockquote p { font-size: 15px; line-height: 1.6; color: var(--c-text); }
  .t-card figcaption {
    font-weight: 700;
    margin-top: 10px;
    font-size: 14px;
  }

  .t-dots { display: flex; justify-content: center; gap: 8px; margin-top: 22px; }
  .t-dots button {
    width: 10px; height: 10px;
    border-radius: 999px;
    background: #cdd5e2;
    transition: background .2s var(--ease), transform .2s var(--ease);
  }
  .t-dots button.active { background: var(--c-blue); transform: scale(1.2); }

  /* ==========================================================================
     CTA BANNER (Partnership)
     ========================================================================== */
  .cta-banner {
    position: relative;
    padding: 80px 0;
    color: #fff;
    text-align: center;
    overflow: hidden;
    isolation: isolate;
  }
  .cta-banner img {
    position: absolute;
    inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    z-index: -2;
  }
  .cta-banner::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10,23,51,.55) 0%, rgba(10,23,51,.78) 100%);
    z-index: -1;
  }
  .cta-banner .cta-content {
    max-width: 720px;
    margin: 0 auto;
  }
  .cta-banner h2 { color: #fff; }
  .cta-banner p {
    font-size: 16px;
    line-height: 1.65;
    margin: 0 auto 26px;
    color: rgba(255,255,255,.92);
    max-width: 640px;
  }

  /* ==========================================================================
     PRECISION (services #3)
     ========================================================================== */
  .precision { padding: 60px 0; }
  .precision .split-card {
    display: grid;
    grid-template-columns: 1fr;
    background: var(--c-bg-soft);
    border-radius: var(--radius-lg);
    overflow: hidden;
  }
  .pr-left { display: flex; flex-direction: column; }
  .pr-copy { padding: 32px 26px; }
  .pr-copy p { font-size: 15px; }
  .pr-copy .btn { margin-top: 14px; }
  .pr-img-small img { width: 100%; height: 280px; object-fit: cover; }
  .pr-img-large img { width: 100%; height: 360px; object-fit: cover; }

  /* ==========================================================================
     BLOG
     ========================================================================== */
  .blog { padding: 60px 0; }
  .blog-track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 100%;
    gap: 20px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    padding: 4px;
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }
  .blog-track::-webkit-scrollbar { display: none; }
  .blog-card {
    scroll-snap-align: start;
    background: var(--c-bg-soft);
    border-radius: var(--radius-lg);
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  .blog-card img { width: 100%; height: 220px; object-fit: cover; }
  .bc-body { padding: 22px 24px 24px; display: flex; flex-direction: column; gap: 12px; }
  .bc-body h3 { font-size: 18px; font-weight: 700; line-height: 1.3; }
  .bc-body h3 a:hover { color: var(--c-blue); }
  .bc-body p { color: var(--c-muted); font-size: 14px; margin: 0; }
  .bc-body time { color: var(--c-muted); font-size: 13px; }

  .blog-dots { display: flex; justify-content: center; gap: 8px; margin-top: 22px; }
  .blog-dots button {
    width: 10px; height: 10px;
    border-radius: 999px;
    background: #cdd5e2;
  }
  .blog-dots button.active { background: var(--c-blue); transform: scale(1.2); }

  /* ==========================================================================
     RESPONSIVE
     ========================================================================== */

  /* Tablet ≥ 720px */
  @media (min-width: 720px) {
    :root { --pad: 28px; }

    .header-actions .icon-btn { display: inline-flex; }

    .commitment .split { grid-template-columns: 1.1fr 1fr; gap: 60px; align-items: start; }

    .section-head { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 24px; }
    .section-head .btn-outline { align-self: auto; }

    .el-track { grid-auto-columns: calc(50% - 8px); }

    .split-card { grid-template-columns: 1fr 1fr; align-items: stretch; }

    .bp-grid, .ms-grid, .pr-grid { grid-template-columns: 1.1fr 1fr; gap: 56px; }
    .bp-visual img, .ms-visual img, .pr-visual img { height: 460px; }
    .bp-info, .ms-info, .pr-info { padding: 0; }

    .ms-img { order: 2; }
    .ms-copy { order: 1; padding: 48px 40px; }
    .ms-img img { height: 100%; min-height: 360px; }

    .precision .split-card { grid-template-columns: 1fr 1fr; gap: 0; }
    .pr-img-small img { height: 220px; }
    .pr-img-large img { height: 100%; min-height: 460px; }

    .t-track { grid-auto-columns: calc(50% - 12px); }
    .blog-track { grid-auto-columns: calc(50% - 10px); }

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

    .footer-top { grid-template-columns: 1fr 1fr; align-items: center; gap: 60px; }

    .footer-grid { grid-template-columns: repeat(4, 1fr) auto; }
    .footer-side { grid-column: auto; flex-direction: column; align-items: flex-end; }

    .footer-bottom { flex-direction: row; justify-content: space-between; align-items: center; }
  }

  /* Desktop ≥ 1024px */
  @media (min-width: 1024px) {
    :root { --pad: 32px; }

    .hamburger { display: none; }
    /* Glavni meni: desno poravnat (flex-end) i prislonjen uz CTA ikonice desno
       sa malim razmakom (padding-right). header-inner ima gap:12px, pa je ukupan
       razmak do ikonica ~16px (tijesno, kako je traženo). */
    .main-nav { display: flex; flex: 1; justify-content: flex-end; padding-right: 4px; }
    .main-nav ul { gap: 16px; }

    .search-bar {
      grid-template-columns: 1.1fr auto 1.1fr .9fr .8fr auto;
      gap: 0;
      padding: 8px;
      align-items: stretch;
    }
    .sb-field { padding: 12px 18px; border-radius: 8px; }
    .sb-field + .sb-field { border-left: 1px solid var(--c-border); border-radius: 0; }
    .sb-swap { margin: 0 4px; }
    .sb-submit { width: auto; min-width: 130px; height: 100%; padding: 0 32px; border-radius: 8px; }

    .carousel-btn.prev { left: -8px; }
    .carousel-btn.next { right: -8px; }

    .el-track { grid-auto-columns: calc(33.333% - 11px); }
    .blog-track { grid-auto-columns: calc(33.333% - 14px); }
    .pd-track { grid-auto-columns: calc(33.333% - 12px); }
    .t-track { grid-auto-columns: calc(33.333% - 16px); }
    .t-card { grid-template-columns: 140px 1fr; align-items: start; }
    .t-card img { aspect-ratio: 1/1.2; height: 100%; }

    .jc-grid { grid-template-columns: 1fr 1fr; }
    .split-50 { grid-template-columns: 1fr 1fr; gap: 56px; }

    .commitment { padding: 100px 0 130px; }
    .commitment-copy p { font-size: 16px; }

    .empty-leg, .precision, .testimonials, .blog, .jet-card { padding: 80px 0; }
    .book-perfect, .memberships, .precision { padding: 80px 0; }
    .bp-grid, .ms-grid, .pr-grid { grid-template-columns: 1.15fr 1fr; gap: 80px; }
    .bp-visual img, .ms-visual img, .pr-visual img { height: 520px; }
    .cta-banner { padding: 100px 0; }

    .pr-copy { padding: 48px 40px; }
    .pr-img-small { padding: 0 40px 40px; }
    .pr-img-small img { height: 280px; border-radius: var(--radius); }

    .footer-grid { grid-template-columns: 1fr 1fr 1fr 1fr auto; gap: 40px; }
  }

  /* Wide ≥ 1280px */
  @media (min-width: 1280px) {
    :root { --pad: 40px; }
    .main-nav ul { gap: 20px; }
    .header-actions { gap: 6px; }
    .pd-track { grid-auto-columns: calc(25% - 14px); }
  }

  /* Extra wide ≥ 1600px (airacer-style breathing room) */
  @media (min-width: 1600px) {
    :root { --pad: 60px; }
  }

  /* small mobile tweaks */
  @media (max-width: 719px) {
    :root { --pad: 16px; --header-h: 64px; }
    .hero {
      min-height: 75vh;
      min-height: 75svh;
      padding-top: calc(var(--header-h) + 56px);
      padding-bottom: 30px;
    }
    .hero-title { font-size: clamp(40px, 12vw, 60px); margin-bottom: .25em; }
    .hero-sub { margin-bottom: 22px; font-size: 15px; }
    .commitment .commitment-copy { padding-top: 4px; }
    .precision .pr-img-small { padding: 0 26px 26px; }
    .pr-img-large img { height: 320px; }
    .testimonials .section-head { flex-direction: row; justify-content: space-between; }
    .t-controls { align-self: flex-start; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-side { flex-direction: column; align-items: flex-start; gap: 20px; }
    .social { gap: 6px; }
    .header-inner { gap: 6px; }
    .logo img { width: 100px; }
    .header-actions { gap: 0; }
    .header-actions .icon-btn { display: inline-flex; width: 40px; height: 40px; }
    .header-actions .icon-btn svg { width: 18px; height: 18px; }
    .header-actions .btn-sign-in { padding: 0 14px; height: 36px; font-size: 12px; letter-spacing: .02em; }
    .cta-banner { padding: 60px 0; }
    .big-title { font-size: clamp(26px, 8vw, 38px); }
    .blog-head-actions { width: 100%; justify-content: space-between; margin-top: 8px; }
    .section-head .btn-outline { min-height: 44px; }
    .btn { min-height: 44px; }
  }

  /* very small phones — collapse a couple of icons */
  @media (max-width: 419px) {
    .header-actions .icon-btn:nth-of-type(1),
    .header-actions .icon-btn:nth-of-type(2) { display: none; }
    .social { gap: 4px; }
    .social a { width: 36px; height: 36px; }
    .social img { width: 20px; height: 20px; }
  }

  /* reduce motion */
  @media (prefers-reduced-motion: reduce) {
    * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
  }
