/* ---------------------------------------------------------------------
       Irmusta homepage – single-file refactor
       - semantic HTML5 structure
       - embedded fonts, styles and JS
       - external image URLs preserved
       - visual proportions and layout kept as close as possible to source
    --------------------------------------------------------------------- */

    @font-face {
      font-family: "Outfit";
      font-style: normal;
      font-weight: 100 900;
      font-display: swap;
      src: url("https://irmusta.lt/wp-content/uploads/elementor/google-fonts/fonts/outfit-qgyvz_mvcbenp4njuktqq4e.woff2") format("woff2");
    }

    @font-face {
      font-family: "Jost";
      font-style: normal;
      font-weight: 100 900;
      font-display: swap;
      src: url("https://irmusta.lt/wp-content/uploads/elementor/google-fonts/fonts/jost-92zatbhpnqw73odd4iyl.woff2") format("woff2");
    }

    @font-face {
      font-family: "Inter";
      font-style: normal;
      font-weight: 100 900;
      font-display: swap;
      src: url("https://irmusta.lt/wp-content/uploads/elementor/google-fonts/fonts/inter-ucc73fwrk3iltehus_nvmrmxcp50sjia2jl7suc.woff2") format("woff2");
    }

    @font-face {
      font-family: "Cormorant Garamond";
      font-style: normal;
      font-weight: 300 700;
      font-display: swap;
      src: url("https://irmusta.lt/wp-content/uploads/elementor/google-fonts/fonts/cormorantgaramond-co3bmx5slcnuhli8bley9mk7whwmhyjyqxtk.woff2") format("woff2");
    }

    @font-face {
      font-family: "Cormorant Garamond";
      font-style: italic;
      font-weight: 300 700;
      font-display: swap;
      src: url("https://irmusta.lt/wp-content/uploads/elementor/google-fonts/fonts/cormorantgaramond-co3zmx5slcnuhli8bley9mk7whwmhyjyretimso.woff2") format("woff2");
    }

    :root {
      --site-width: 1207px;
      --content-width: 1140px;
      --white: #ffffff;
      --black: #000000;
      --text: #000000;
      --accent: #fcb404;
      --accent-soft: #d3b574;
      --accent-footer: #ffb200;
      --blue: #0077ff;
      --shadow-header: 0 5px 30px rgba(0, 0, 0, 0.27);
      --shadow-float: 0 10px 30px rgba(0, 0, 0, 0.18);
      --transition: 0.3s ease;
      --font-display: "Cormorant Garamond", Georgia, serif;
      --font-ui: "Outfit", Arial, sans-serif;
      --font-label: "Jost", Arial, sans-serif;
      --font-footer: "Inter", Arial, sans-serif;
    }

    *, *::before, *::after {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      min-width: 320px;
      overflow-x: hidden;
      background: var(--white);
      color: var(--text);
      font-family: var(--font-ui);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    img {
      display: block;
      max-width: 100%;
      height: auto;
    }

    a {
      color: inherit;
      text-decoration: none;
      transition: color var(--transition), background-color var(--transition), opacity var(--transition), transform var(--transition);
    }

    button, input, select {
      font: inherit;
    }

    button {
      margin: 0;
      padding: 0;
      border: 0;
      cursor: pointer;
      background: transparent;
      color: inherit;
    }

    ul {
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .container {
      width: min(calc(100% - 24px), var(--site-width));
      margin-inline: auto;
    }

    .content {
      width: min(calc(100% - 24px), var(--content-width));
      margin-inline: auto;
    }

    .section-eyebrow {
      margin: 0;
      font-family: var(--font-label);
      font-size: 16px;
      font-weight: 500;
      text-transform: uppercase;
    }

    .section-title {
      margin: 0;
      font-family: var(--font-display);
      font-size: 55px;
      font-weight: 600;
      line-height: 1.1;
    }

    .section-title em {
      font-style: italic;
      font-weight: 500;
    }

    .icon {
      display: inline-block;
      width: 1em;
      height: 1em;
      flex: 0 0 auto;
      fill: currentColor;
      vertical-align: middle;
    }

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

    .js[data-reveal] {
      opacity: 0;
      transform: translateY(26px);
      transition: opacity 0.7s ease, transform 0.7s ease;
    }

    .js [data-reveal].is-visible {
      opacity: 1;
      transform: translateY(0);
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      .js [data-reveal] { opacity: 1; transform: none; transition: none; }
      .testimonial-card, .style-card::before, .style-card__content::before, .style-card__heading, .style-card__text, .testimonials__stage, .hero-search__menu, .mobile-menu, .mobile-menu__backdrop { transition: none !important; }
    }

    /* ------------------------------------------------------------------
       Header
    ------------------------------------------------------------------ */
    .mobile-menu__backdrop {
      position: fixed;
      inset: 0;
      z-index: 45;
      background: rgba(0, 0, 0, 0.5);
      opacity: 0;
      visibility: hidden;
      transition: opacity var(--transition), visibility var(--transition);
    }

    .mobile-menu__backdrop.is-visible {
      opacity: 1;
      visibility: visible;
    }

    .site-header {
      position: relative;
      z-index: 30;
      width: 100%;
      box-shadow: var(--shadow-header);
      background: var(--white);
    }

    .header-top {
      background: var(--accent);
    }

    .header-top__inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      padding: 12px;
    }

    .language-switcher {
      display: inline-flex;
      align-items: center;
      gap: 2px;
      flex: 0 0 auto;
      padding: 2px;
      border: 0;
      border-radius: 8px;
      background: var(--white);
    }

    .language-switcher a {
      display: grid;
      place-items: center;
      width: 24px;
      height: 24px;
    }

    .language-switcher img {
      width: 24px;
      height: 24px;
      object-fit: contain;
    }

    .top-links {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      width: 100%;
      color: var(--white);
      font-family: var(--font-label);
      font-size: 14px;
      line-height: 1;
    }

    .top-links__primary {
      display: flex;
      align-items: center;
      gap: 15px;
    }

    .top-links__social {
      display: flex;
      align-items: center;
      gap: 15px;
      margin-left: 20px;
    }

    .top-link, .social-link {
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }

    .top-link .icon { width: 14px; height: 14px; }
    .top-links__social .icon { width: 18px; height: 18px; }
    .social-link--facebook .icon { width: 22px; height: 22px; }
    .social-link i { font-size: 18px; line-height: 1; }

    .top-link:hover, .social-link:hover { color: var(--black); }

    .header-main {
      position: relative;
      background: var(--white);
    }

    .header-main__inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      padding: 7px 12px 6px;
    }

    .brand {
      display: inline-flex;
      align-items: center;
      flex: 0 0 auto;
    }

    .brand img {
      width: auto;
      height: 50px;
      object-fit: contain;
      object-position: center;
    }

    .primary-nav {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      flex: 1 1 auto;
      min-width: 0;
    }

    .primary-nav__list {
      display: flex;
      align-items: center;
      gap: 25px;
    }

    .primary-nav__item {
      position: relative;
      display: flex;
      align-items: center;
      padding: 20px 0;
    }

    .primary-nav__link, .primary-nav__toggle {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 0;
      color: var(--black);
      font-family: var(--font-ui);
      font-size: 16px;
      font-weight: 500;
      line-height: 1;
      text-transform: uppercase;
      white-space: nowrap;
    }

    .primary-nav__link:hover, .primary-nav__toggle:hover,
    .primary-nav__item:hover > .primary-nav__link,
    .primary-nav__item:hover > .primary-nav__toggle {
      color: var(--accent-soft);
    }

    .primary-nav__toggle .icon { width: 14px; height: 14px; }

    .nav-dropdown {
      position: absolute;
      top: 100%;
      left: 0;
      z-index: 5;
      display: flex;
      flex-direction: column;
      min-width: 220px;
      padding: 0;
      border-top: 3px solid var(--accent);
      background: var(--white);
      box-shadow: 0 15px 20px rgba(0, 0, 0, 0.1);
      opacity: 0;
      visibility: hidden;
      transform: translateY(8px);
      transition: opacity var(--transition), visibility var(--transition), transform var(--transition);
    }

    .nav-dropdown a {
      display: block;
      padding: 15px 20px;
      color: #16163f;
      font-family: var(--font-ui);
      font-size: 15px;
      font-weight: 400;
    }

    .nav-dropdown a:hover {
      color: var(--accent-soft);
      background-color: rgba(0, 0, 0, 0.02);
    }

    .primary-nav__item:hover .nav-dropdown,
    .primary-nav__item:focus-within .nav-dropdown,
    .primary-nav__item.is-open .nav-dropdown {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    .header-cta {
      display: inline-flex;
      align-items: center;
      flex-direction: row-reverse;
      gap: 10px;
      flex: 0 0 auto;
      padding: 15px 25px;
      border-radius: 16px;
      background: var(--accent);
      color: var(--black);
      font-family: var(--font-ui);
      font-size: 16px;
      font-weight: 500;
      line-height: 1;
      text-transform: none;
    }

    .header-cta:hover {
      background: var(--black);
      color: var(--white);
    }

    .header-cta .icon { width: 18px; height: 18px; }

    .mobile-menu-toggle {
      display: none;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
      margin-left: auto;
      background: var(--white);
      color: var(--accent);
    }

    .mobile-menu-toggle .icon { width: 30px; height: 30px; }

    .mobile-menu {
      position: fixed;
      inset: 0 0 0 auto;
      width: min(92vw, 360px);
      padding: 24px 22px 32px;
      overflow-y: auto;
      background: var(--black);
      color: var(--white);
      transform: translateX(100%);
      transition: transform 0.35s ease;
      z-index: 50;
    }

    .mobile-menu.is-open { transform: translateX(0); }

    .mobile-menu__header {
      display: flex;
      justify-content: flex-end;
      margin-bottom: 16px;
    }

    .mobile-menu__close { color: var(--accent); }
    .mobile-menu__close .icon { width: 28px; height: 28px; }

    .mobile-menu__nav a, .mobile-submenu__toggle {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      padding: 16px 0;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      color: inherit;
      font-family: var(--font-ui);
      font-size: 16px;
      font-weight: 400;
      text-align: left;
      text-transform: uppercase;
    }

    .mobile-submenu__toggle .icon {
      width: 16px;
      height: 16px;
      transition: transform var(--transition);
    }

    .mobile-submenu.is-open .mobile-submenu__toggle .icon { transform: rotate(180deg); }

    .mobile-submenu__panel {
      display: none;
      padding-left: 14px;
    }

    .mobile-submenu.is-open .mobile-submenu__panel { display: block; }

    .mobile-submenu__panel a {
      padding: 14px 0;
      text-transform: none;
      font-size: 15px;
    }

    /* ------------------------------------------------------------------
       Hero
    ------------------------------------------------------------------ */
    .hero {
      position: relative;
      z-index: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 100vh;
      padding: 0 0 214px;
      color: var(--white);
      text-align: center;
      background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), url("https://irmusta.lt/wp-content/uploads/2025/09/the-ruins-of-the-venetian-castle-in-oia-santorini-2023-11-27-05-08-27-utc.jpg");
      background-repeat: no-repeat;
      background-position: center center;
      background-size: cover;
    }

    .hero__inner {
      display: grid;
      justify-items: center;
      width: min(calc(100% - 24px), 1140px);
    }

    .hero__eyebrow {
      margin-top: -78px;
      color: var(--white);
    }

    .hero__title {
      width: min(100%, 920px);
      margin: -56px 0 30px;
      color: var(--white);
      font-size: 74px;
      line-height: 0.96;
      text-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
    }

    .hero-search {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 8px;
      align-items: center;
      width: min(100%, 1116px);
      padding: 24px;
      border-radius: 16px;
      background: var(--accent);
      box-shadow: 0 20px 45px rgba(0, 0, 0, 0.18);
    }

    .hero-search__field {
      position: relative;
      min-width: 0;
      width: 100%;
      padding: 0;
    }

    .hero-search__field--short {
      min-width: 0;
    }

    .hero-search__trigger {
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      width: 100%;
      height: 64px;
      padding: 12px 44px 12px 16px;
      border: 1px solid #cccccc;
      border-radius: 12px;
      background: var(--white);
      color: var(--black);
      text-align: left;
      transition: background-color var(--transition), border-color var(--transition), transform var(--transition);
    }

    .hero-search__trigger:hover {
      background: #fafafa;
      border-color: #d3b574;
    }

    .hero-search__trigger::after {
      content: "";
      position: absolute;
      top: 50%;
      right: 18px;
      width: 8px;
      height: 8px;
      border-right: 2px solid rgba(0, 0, 0, 0.45);
      border-bottom: 2px solid rgba(0, 0, 0, 0.45);
      transform: translateY(-60%) rotate(45deg);
      pointer-events: none;
    }

    .hero-search__label {
      display: block;
      margin-bottom: 2px;
      color: #666666;
      font-family: var(--font-label);
      font-size: 11px;
      font-weight: 600;
      line-height: 1.2;
      letter-spacing: 0.05em;
      text-transform: uppercase;
    }

    .hero-search__value {
      display: block;
      max-width: 100%;
      overflow: hidden;
      color: var(--black);
      font-family: var(--font-ui);
      font-size: 15px;
      font-weight: 500;
      line-height: 1.35;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .hero-search__menu {
      position: absolute;
      top: calc(100% + 12px);
      left: 3px;
      right: 3px;
      min-width: 240px;
      z-index: 6;
      display: none;
      padding: 8px;
      border-radius: 14px;
      background: var(--white);
      border: 1px solid rgba(0, 0, 0, 0.08);
      box-shadow: 0 14px 34px rgba(0, 0, 0, 0.16);
    }

    .hero-search__menu.is-open { display: block; }

    .hero-search__option {
      display: block;
      width: 100%;
      padding: 12px 16px;
      border-radius: 10px;
      color: var(--black);
      font-size: 14px;
      font-weight: 500;
      text-align: left;
      transition: background-color var(--transition), color var(--transition);
    }

    .hero-search__option:hover {
      background: #f1f1f1;
      color: #2785ff;
    }

    .hero-search__submit {
      display: grid;
      place-items: center;
      width: 100%;
      min-width: 0;
      height: 64px;
      padding: 0 24px;
      border-radius: 12px;
      background: #2785ff;
      color: var(--white);
      box-shadow: 0 8px 20px rgba(39, 133, 255, 0.28);
      transition: transform var(--transition), background-color var(--transition);
    }

    .hero-search__submit:hover {
      transform: scale(1.05);
      background: #1d71db;
    }

    .hero-search__submit .icon { width: 24px; height: 24px; }

    /* ------------------------------------------------------------------
       Intro + reasons
    ------------------------------------------------------------------ */
    .intro-block, .reasons {
      background: var(--black);
      color: var(--white);
    }

    .intro-block {
      padding: 112px 0 30px;
      text-align: center;
    }

    .intro-block__title {
      width: 60%;
      margin: 20px auto 0;
      color: var(--white);
    }

    .reasons { padding: 0 0 110px; }

    .reasons__grid {
      display: grid;
      grid-template-columns: minmax(220px, 1fr) minmax(320px, 1.15fr) minmax(260px, 1fr);
      gap: 48px;
      align-items: center;
      width: 100%;
    }

    .reasons__left {
      display: grid;
      gap: 34px;
      align-content: center;
    }

    .reason-card {
      width: 100%;
      max-width: 250px;
      margin: 0 auto;
      text-align: center;
    }

    .reason-card--featured { max-width: 320px; }

    .reason-card__icon {
      display: block;
      margin: 0 auto 18px;
    }

    .reason-card__title {
      margin: 0 0 14px;
      color: var(--white);
      font-family: var(--font-display);
      font-size: 28px;
      font-weight: 500;
      line-height: 1.1;
    }

    .reason-card__text {
      margin: 0;
      color: #d8d8d8;
      font-size: 16px;
      line-height: 1.7;
    }

    .reasons__center {
      display: grid;
      gap: 34px;
      justify-items: center;
    }

    .reasons__collage {
      position: relative;
      width: min(100%, 520px);
      height: 520px;
      perspective: 1000px;
    }

    .reasons__photo-frame {
      position: absolute;
      margin: 0;
    }

    .reasons__photo-frame--back {
      left: 0;
      bottom: 28px;
      width: 72%;
      transform: rotate(-6deg);
      opacity: 0.82;
      z-index: 1;
    }

    .reasons__photo-frame--front {
      top: 0;
      right: 8%;
      width: 56%;
      transform: rotate(4deg);
      z-index: 2;
    }

    .reasons__photo {
      display: block;
      width: 100%;
      border-radius: 10px;
      box-shadow: 0 18px 40px rgba(0, 0, 0, 0.42);
    }

    .reasons__lead {
      margin: 0;
      color: var(--white);
      font-family: var(--font-ui);
      font-size: 20px;
      font-weight: 400;
      line-height: 1.6;
    }

    .reasons__description {
      margin: 20px 0 0;
      color: #ededed;
      font-family: var(--font-label);
      font-size: 16px;
      line-height: 1.7;
    }

    /* ------------------------------------------------------------------
       Booking gallery
    ------------------------------------------------------------------ */
    .booking {
      padding: 100px 0 40px;
      background: var(--white);
    }

    .booking__grid {
      display: grid;
      grid-template-columns: 30% 70%;
      width: 100%;
      padding-left: 70px;
      column-gap: 0;
    }

    .booking__copy {
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      align-items: flex-start;
      padding: 0 0 82px;
    }

    .booking__copy-inner {
      width: 79%;
      max-width: 455px;
    }

    .booking__title {
      margin: 0;
      color: var(--black);
      line-height: 1.03;
    }

    .booking__text {
      margin: 20px 0 0;
      color: var(--black);
      font-family: var(--font-ui);
      font-size: 18px;
      font-weight: 400;
      line-height: 1.72;
    }

    .booking__gallery-wrap {
      width: 100%;
      max-width: none;
      padding-right: 60px;
    }

    .booking__gallery {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      align-items: start;
      gap: 21px;
    }

    .booking__card { margin: 0; }

    .booking__image {
      width: 100%;
      height: 500px;
      border-radius: 10px;
      object-fit: cover;
    }

    /* ------------------------------------------------------------------
       Testimonials
    ------------------------------------------------------------------ */
    .testimonials {
      padding: 0 0 60px;
      overflow: hidden;
      background: var(--white);
    }

    .testimonials__stage {
      --drag-x: 0px;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      width: min(calc(100% - 24px), 1206px);
      min-height: 400px;
      height: 400px;
      margin: 0 auto;
      transform: translateX(var(--drag-x));
      transition: transform 0.3s ease-out;
      touch-action: pan-y;
      cursor: grab;
      user-select: none;
      -webkit-user-select: none;
    }

    .testimonials__stage.is-dragging { cursor: grabbing; }

    .testimonial-card {
      position: absolute;
      top: 24px;
      width: min(402px, 33.35%);
      padding: 40px;
      border-radius: 10px;
      background: var(--white);
      box-shadow: 0 35px 60px rgba(0, 0, 0, 0.08);
      text-align: center;
      opacity: 0;
      pointer-events: none;
      transition: transform 0.55s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.55s cubic-bezier(0.25, 1, 0.5, 1), filter 0.55s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.55s cubic-bezier(0.25, 1, 0.5, 1);
      will-change: transform, opacity, filter;
    }

    .testimonial-card__title {
      margin: 0 0 18px;
      color: var(--black);
      font-family: var(--font-display);
      font-size: 30px;
      font-style: italic;
      font-weight: 600;
      line-height: 1.1;
    }

    .testimonial-card__text {
      margin: 0 0 18px;
      color: var(--black);
      font-family: var(--font-ui);
      font-size: 15px;
      line-height: 1.7;
    }

    .testimonial-card__footer {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      color: var(--black);
      font-family: var(--font-label);
      font-size: 14px;
      font-weight: 600;
    }

    .testimonial-card__avatar {
      width: 26px;
      height: 26px;
      border-radius: 50%;
      object-fit: cover;
    }

    .testimonial-card.is-prev {
      z-index: 1;
      opacity: 0.3;
      filter: blur(2px);
      pointer-events: none;
      transform: translateX(-105%) scale(0.85);
    }

    .testimonial-card.is-active {
      z-index: 3;
      opacity: 1;
      filter: blur(0);
      pointer-events: auto;
      transform: translateX(0) scale(1);
      box-shadow: 0 40px 70px rgba(0, 0, 0, 0.12);
    }

    .testimonial-card.is-next {
      z-index: 1;
      opacity: 0.3;
      filter: blur(2px);
      pointer-events: none;
      transform: translateX(105%) scale(0.85);
    }

    .testimonial-dots {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 8px;
      margin-top: 20px;
    }

    .testimonial-dot {
      width: 10px;
      height: 10px;
      padding: 0;
      border-radius: 50%;
      background: rgba(0, 119, 255, 0.2);
      transition: transform var(--transition), background-color var(--transition);
    }

    .testimonial-dot.is-active {
      transform: scale(1.2);
      background: var(--blue);
    }

    /* ------------------------------------------------------------------
       Destination hero
    ------------------------------------------------------------------ */
    .destination {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 100vh;
      color: var(--white);
      text-align: center;
      background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)), url("https://irmusta.lt/wp-content/uploads/2024/06/photo-1548678967-f1aec58f6fb2.avif");
      background-repeat: no-repeat;
      background-position: center center;
      background-size: cover;
    }

    .destination__content {
      width: min(calc(100% - 24px), 900px);
      padding-top: 18px;
    }

    .destination__title {
      width: 70%;
      margin: 18px auto 0;
      color: var(--white);
      font-size: 100px;
      line-height: 0.98;
    }

    .outline-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-top: 22px;
      padding: 15px 40px;
      border: 1px solid var(--white);
      border-radius: 50px;
      background: transparent;
      color: var(--white);
      font-family: var(--font-label);
      font-size: 14px;
      font-weight: 600;
      line-height: 1;
      text-transform: uppercase;
    }

    .outline-button:hover {
      background: var(--white);
      color: var(--black);
    }

    .destination__pin {
      position: absolute;
      bottom: 40px;
      left: 90px;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: var(--white);
      font-family: var(--font-label);
      font-size: 14px;
    }

    /* ------------------------------------------------------------------
       Travel styles
    ------------------------------------------------------------------ */
    .styles-intro {
      position: relative;
      display: grid;
      justify-items: center;
      padding: 100px 0 60px;
      background: var(--white);
      color: var(--black);
      text-align: center;
    }

    .styles-intro__arrow {
      position: absolute;
      top: 33px;
      left: 66vw;
      width: 84px;
      transform: rotate(39deg);
    }

    .styles-intro__title {
      width: min(40%, 482px);
      margin-top: 18px;
      color: var(--black);
    }

    .travel-styles {
      padding: 0 0 40px;
      background: var(--white);
    }

    .travel-styles__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      width: min(calc(100% - 64px), var(--content-width));
      margin: 0 auto;
    }

    .style-card {
      position: relative;
      display: flex;
      height: 600px;
      overflow: hidden;
      padding: 0;
      border-radius: 10px;
      background-position: center center;
      background-repeat: no-repeat;
      background-size: cover;
    }

    .style-card:hover { box-shadow: 0 25px 55px rgba(0, 0, 0, 0.22); }

    .style-card::before {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      z-index: 1;
      width: 100%;
      height: 85%;
      background: linear-gradient(to bottom, rgba(15, 15, 15, 0), rgba(15, 15, 15, 0.75) 100%);
      opacity: 0;
      transition: opacity 0.65s cubic-bezier(0.05, 0.2, 0.1, 1);
    }

    .style-card:hover::before { opacity: 1; }

    .style-card__content {
      position: relative;
      display: flex;
      width: 100%;
      padding: 20px;
    }

    .style-card__content::before {
      content: "";
      position: absolute;
      inset: auto 0 0;
      z-index: 1;
      width: 100%;
      height: 85%;
      background: linear-gradient(to bottom, rgba(15, 15, 15, 0), rgba(15, 15, 15, 0.75) 100%);
      transition: opacity 0.65s cubic-bezier(0.05, 0.2, 0.1, 1);
    }

    .style-card:hover .style-card__content::before { opacity: 0; }

    .style-card__frame {
      position: relative;
      z-index: 1;
      display: flex;
      width: 100%;
      border: 1px solid rgba(255, 255, 255, 0.96);
    }

    .style-card__copy {
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      width: 100%;
      height: 100%;
      align-self: stretch;
      padding: 10px 20px 30px;
    }

    .style-card__heading {
      position: relative;
      z-index: 2;
      transform: translateY(0);
      transition: opacity 0.65s cubic-bezier(0.05, 0.2, 0.1, 1), transform 0.65s cubic-bezier(0.05, 0.2, 0.1, 1);
      will-change: transform;
    }

    .style-card:hover .style-card__heading,
    .style-card:focus-within .style-card__heading {
      transform: translateY(calc(-1 * var(--hover-shift, 0px)));
    }

    .style-card__title {
      margin: 0;
      color: var(--white);
      font-family: var(--font-display);
      font-size: 32px;
      font-style: italic;
      font-weight: 600;
      line-height: 1.1;
    }

    .style-card__text {
      position: absolute;
      left: 20px;
      right: 20px;
      bottom: 30px;
      z-index: 2;
      width: auto;
      margin: 0;
      color: var(--white);
      font-size: 15px;
      line-height: 1.7;
      opacity: 0;
      transform: translateY(20px);
      transition: opacity 0.18s cubic-bezier(0.05, 0.2, 0.1, 1), transform 0.18s cubic-bezier(0.05, 0.2, 0.1, 1);
      pointer-events: none;
    }

    .style-card:hover .style-card__text,
    .style-card:focus-within .style-card__text {
      opacity: 1;
      transform: translateY(0);
      transition: opacity 0.65s cubic-bezier(0.05, 0.2, 0.1, 1) 0.15s, transform 0.65s cubic-bezier(0.05, 0.2, 0.1, 1) 0.15s;
    }

    .style-card--family { background-image: url("https://irmusta.lt/wp-content/uploads/2024/05/portrait-of-smiling-multi-generation-family-walkin-2023-11-27-05-24-41-utc-576x1024.jpg"); }
    .style-card--private { background-image: url("https://irmusta.lt/wp-content/uploads/2024/05/young-attractive-girl-stands-on-the-mountain-with-2023-11-27-04-58-45-utc-683x1024.jpg"); }
    .style-card--honeymoon { background-image: url("https://irmusta.lt/wp-content/uploads/2024/05/couple-in-love-chooses-a-turkish-carpet-at-the-mar-2023-11-27-04-53-57-utc-683x1024.jpg"); }

    /* ------------------------------------------------------------------
       Footer
    ------------------------------------------------------------------ */
    .site-footer {
      position: relative;
      padding-bottom: 0;
      background: linear-gradient(180deg, #050505 0%, #000000 100%);
      color: var(--white);
    }

    .partners {
      padding: 26px 0 24px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.14);
      background: transparent;
    }

    .partners__title {
      margin: 0 0 18px;
      color: var(--accent-footer);
      font-family: var(--font-label);
      font-size: 14px;
      font-weight: 600;
      letter-spacing: 0.14em;
      text-align: center;
      text-transform: uppercase;
    }

    .partners__grid {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      align-items: center;
      gap: 10px;
    }

    .partners__grid a, .partners__grid span {
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 54px;
      padding: 6px 10px;
      border-radius: 16px;
      opacity: 0.92;
      transition: opacity var(--transition), transform var(--transition);
    }

    .partners__grid a:hover, .partners__grid span:hover {
      opacity: 1;
      transform: translateY(-2px);
    }

    .partner-logo--coral { width: 152px; max-width: 100%; }
    .partner-logo--tez, .partner-logo--join { width: 100px; max-width: 100%; }
    .partner-logo--nova { width: 141px; max-width: 100%; }
    .partner-logo--anex, .partner-logo--itaka { width: auto; max-width: 100%; }

    .footer-main {
      padding: 42px 0 34px;
      background: transparent;
    }

    .footer-main__grid {
      display: grid;
      grid-template-columns: minmax(280px, 1.2fr) minmax(180px, 0.8fr) minmax(180px, 0.8fr);
      justify-content: space-between;
      align-items: start;
      gap: 44px;
    }

    .footer-brand {
      display: grid;
      justify-items: start;
      align-content: start;
      gap: 18px;
    }

    .footer-brand__logo {
      display: inline-flex;
      justify-content: flex-start;
    }

    .footer-brand__logo img { width: 170px; max-width: 100%; }

    .footer-brand__text {
      max-width: 320px;
      margin: 0;
      color: rgba(255, 255, 255, 0.76);
      font-family: var(--font-label);
      font-size: 15px;
      line-height: 1.7;
    }

    .footer-social {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: 8px;
    }

    .footer-social a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 44px;
      height: 44px;
      border: 0;
      border-radius: 0;
      color: var(--white);
      background: transparent;
    }

    .footer-social a:hover {
      color: var(--accent-footer);
      background: transparent;
      border-color: transparent;
    }

    .footer-social .icon { width: 26px; height: 26px; }
    .footer-social__link--facebook .icon { width: 30px; height: 30px; }
    .footer-social i { font-size: 20px; line-height: 1; }

    .footer-column {
      display: grid;
      gap: 12px;
      align-content: start;
    }

    .footer-column__title {
      margin: 0;
      color: var(--white);
      font-family: var(--font-footer);
      font-size: 21px;
      font-weight: 500;
      line-height: 1.2;
    }

    .footer-list {
      display: grid;
      gap: 7px;
      margin: 0;
    }

    .footer-address { font-style: normal; }
    .footer-list li + li { margin-top: 0; }

    .footer-list a, .footer-list span {
      display: inline-block;
      color: rgba(255, 255, 255, 0.78);
      font-family: var(--font-label);
      font-size: 15px;
      font-weight: 400;
      line-height: 1.7;
      text-shadow: none;
    }

    .footer-list a:hover { color: var(--accent-footer); }

    .footer-bottom {
      padding: 18px 0 22px;
      border-top: 1px solid rgba(255, 255, 255, 0.1);
      background: transparent;
    }

    .footer-bottom__grid {
      display: grid;
      grid-template-columns: auto 1fr auto;
      align-items: center;
      gap: 18px 24px;
    }

    .footer-copy, .footer-legal a {
      color: rgba(255, 255, 255, 0.72);
      font-family: var(--font-label);
      font-size: 14px;
      font-weight: 400;
    }

    .footer-copy {
      padding-left: 0;
      white-space: nowrap;
    }

    .footer-legal {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 18px 24px;
      flex-wrap: wrap;
      margin-right: 0;
    }

    .footer-legal a:hover { color: var(--white); }

    .payment-icons {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      justify-items: center;
      gap: 6px;
      overflow: visible;
    }

    .payment-icons img {
      display: block;
      height: auto !important;
      max-width: none !important;
    }

    .payment-icons__visa {
      width: 50px !important;
      max-width: 50px !important;
      justify-self: start;
    }

    .payment-icons__star {
      width: 14px;
      height: 14px;
      color: rgba(255, 255, 255, 0.65);
      transform: translateY(2px);
    }

    .payment-icons__mastercard {
      width: 45px !important;
      max-width: 45px !important;
      justify-self: end;
    }

    /* ------------------------------------------------------------------
       Responsive
    ------------------------------------------------------------------ */
    @media (min-width: 992px) {
      .hero-search {
        grid-template-columns: 1fr 1fr 1fr 160px 160px auto;
      }
    }

    @media (max-width: 1024px) {
      .container, .content, .header-top__inner, .header-main__inner { width: min(calc(100% - 30px), var(--content-width)); }
      .header-top__inner { padding: 12px 15px; }
      .header-main__inner { padding: 7px 15px 6px; }
      .brand img { width: auto; height: 50px; }
      .primary-nav__list { gap: 20px; }
      .hero__title { font-size: 64px; }
      .hero-search {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        padding: 20px;
        border-radius: 16px;
      }
      .hero-search__field {
        min-width: 0;
        padding-bottom: 0;
      }
      .hero-search__trigger { height: 64px; }
      .hero-search__submit {
        width: 100%;
        min-width: 0;
        height: 64px;
        margin: 0;
        border-radius: 12px;
      }
      .intro-block__title, .styles-intro__title { width: 70%; }
      .reasons__grid { grid-template-columns: 1fr; gap: 42px; }
      .reasons__left { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; max-width: 620px; margin: 0 auto; }
      .reasons__center, .reasons__copy { max-width: 720px; margin: 0 auto; }
      .reasons__copy { text-align: left; }
      .booking__grid { grid-template-columns: 30% 70%; padding-left: 30px; }
      .booking__copy-inner { width: 90%; }
      .booking__gallery-wrap { padding-right: 0; }
      .booking__image { height: 420px; }
      .testimonial-card { width: min(360px, 34%); padding: 32px; }
      .testimonial-card.is-prev { transform: translateX(-82%) scale(0.85); }
      .testimonial-card.is-next { transform: translateX(82%) scale(0.85); }
      .destination__title { width: 100%; font-size: 75px; }
      .destination__pin { left: 70px; }
      .styles-intro__arrow { top: -91px; width: 70px; }
      .styles-intro__title { width: 50%; }
      .travel-styles__grid, .partners__grid, .footer-main__grid, .footer-bottom__grid { width: min(calc(100% - 30px), var(--content-width)); }
      .style-card { height: 600px; }
      .footer-main__grid { grid-template-columns: 1fr 1fr; gap: 30px; }
      .footer-brand { grid-column: 1 / -1; }
      .footer-bottom__grid { grid-template-columns: 1fr; justify-items: center; text-align: center; }
      .footer-copy { padding-left: 0; }
      .footer-legal { justify-content: center; }
      .payment-icons { justify-content: center; }
    }

    @media (max-width: 900px) {
      .hero-search {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
        align-items: stretch;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        padding: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        overflow: visible;
      }
      .hero-search__field,
      .hero-search__submit {
        width: 100%;
        max-width: 100%;
        min-width: 0;
      }
      .hero-search__field {
        display: block;
        flex: none;
        padding: 0;
        margin: 0;
      }
      .hero-search__trigger {
        display: flex;
        width: 100%;
        max-width: 100%;
        height: 72px;
        padding: 0 42px 0 18px;
        border-radius: 14px;
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.14);
      }
      .hero-search__menu {
        left: 0;
        right: 0;
        min-width: 0;
      }
      .hero-search__submit {
        display: grid;
        flex: none;
        height: 64px;
        margin: 0;
        border-radius: 16px;
      }
    }


    @media (max-width: 767px) {
      .header-top__inner { padding: 12px 15px; }
      .top-links__primary { display: none; }
      .brand img { width: auto; height: 50px; }
      .primary-nav, .header-cta { display: none; }
      .mobile-menu-toggle { display: inline-flex; }
      .hero { padding-bottom: 120px; }
      .hero__eyebrow { margin-top: -32px; font-size: 14px; }
      .hero__title { margin: -6px 0 24px; font-size: 50px; line-height: 1.15; }
      .hero-search {
        gap: 8px;
      }
      .hero-search__field {
        margin: 0;
      }
      .hero-search__trigger {
        height: 72px;
        padding: 0 42px 0 18px;
        border-radius: 14px;
      }
      .hero-search__menu {
        left: 0;
        right: 0;
        min-width: 0;
      }
      .hero-search__submit {
        height: 64px;
        border-radius: 16px;
      }
      .intro-block { padding-top: 80px; }
      .intro-block__title, .styles-intro__title, .destination__title { width: 100%; font-size: 50px; line-height: 1.2; }
      .reasons { padding-bottom: 60px; }
      .reasons__grid { gap: 34px; }
      .reasons__left { grid-template-columns: 1fr; }
      .reason-card, .reason-card--featured { max-width: none; }
      .reasons__collage { width: 100%; height: 360px; }
      .reasons__photo-frame--back { width: 72%; left: 0; bottom: 18px; }
      .reasons__photo-frame--front { width: 58%; right: 4%; }
      .booking { padding: 80px 0 0; }
      .booking__grid { grid-template-columns: 1fr; padding: 0 20px; }
      .booking__copy { align-items: center; padding-bottom: 0; }
      .booking__copy-inner { width: 100%; max-width: 100%; text-align: center; }
      .booking__text { margin-top: 0; }
      .booking__gallery { grid-template-columns: 1fr; }
      .booking__image { height: auto; }
      .testimonials { padding-bottom: 0; }
      .testimonials__stage { width: min(calc(100% - 40px), 420px); min-height: 0; height: auto; padding: 10px 0; }
      .testimonial-card { position: relative; top: 0; display: none; width: 100%; padding: 32px 28px; }
      .testimonial-card.is-prev, .testimonial-card.is-next { display: none; }
      .testimonial-card.is-active { display: block; transform: none; }
      .destination { min-height: 76vh; padding: 40px 20px 90px; }
      .destination__pin { bottom: 24px; left: 20px; right: 20px; justify-content: center; }
      .styles-intro { padding-top: 80px; padding-bottom: 40px; }
      .styles-intro__arrow { top: 34px; left: 67vw; width: 60px; }
      .travel-styles__grid { grid-template-columns: 1fr; gap: 20px; width: min(calc(100% - 40px), var(--content-width)); }
      .style-card { height: 520px; }
      .partners__grid { grid-template-columns: repeat(2, 1fr); gap: 14px 0; }
      .footer-main__grid { grid-template-columns: 1fr; gap: 28px; }
      .footer-brand, .footer-column { justify-self: center; justify-items: center; text-align: center; }
      .footer-brand__text { max-width: 420px; }
      .footer-social, .footer-legal { justify-content: center; }
      .footer-legal { gap: 12px 16px; }
    }