
:root {

  
    --space-cadet: hsl(224, 48%, 22%);
    --red-crayola: hsl(0, 0%, 0%);
    --black-coral: hsl(219, 13%, 44%);
    --blue-ryb: hsl(64, 11%, 68%);
    --cultured: hsl(0, 0%, 96%);
    --white: hsl(0, 0%, 100%);
 
  
    --ff-be-vietnam-pro: 'Be Vietnam Pro', sans-serif;
  
    --fs-1: 1.875rem;
    --fs-2: 1.5rem;
    --fs-3: 1.063rem;
    --fs-4: 0.875rem;
    --fs-5: 0.813rem;
  
    --fw-500: 500;
    --fw-600: 600;
    --fw-700: 700;
  
    /**
     * transition
     */
  
    --transition: 0.25s ease;
    --transition-2: 0.5s ease;
  
    /**
     * spacing
     */
  
    --section-padding: 60px;
  
    /**
     * border radius
     */
  
    --radius-4: 4px;
    --radius-8: 8px;
    --radius-12: 12px;
  
  }
  
  
  /*-----------------------------------*\
    #PACKAGE
  \*-----------------------------------*/
  
  .package { padding-block: var(--section-padding); }
  
  .package-list { margin-bottom: 10px; }
  
  .package-list > li:not(:last-child) { margin-bottom: 10px; }
  
  .package-card {
    background: var(--cultured);
    overflow: hidden;
    border-radius: 15px;
  }
  
  .package-card .card-banner { height: 100px; }
  
  .package-card .card-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .package-card .card-content { padding: 30px 20px; }
  
  .package-card .card-title { margin-bottom: 15px; }
  
  .package-card .card-text {
    line-height: 1.6;
    margin-bottom: 20px;
  }
  
  .card-meta-list {
    background: var(--bright-navy-blue);
    max-width: max-content;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 8px;
    box-shadow: 0 0 5px hsla(0, 0%, 0%, 0.15);
    border-radius: 50px;
  }
  
  .card-meta-item { position: relative; }
  
  .card-meta-item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 4px;
    right: -1px;
    bottom: 4px;
    width: 20px;
    background: hsla(0, 0%, 0%, 0.3);
  }
  
  .meta-box {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    padding-inline: 9px;
    color: var(--black-coral);
    font-size: var(--fs-8);
  }
  
  .meta-box > ion-icon {
    color: var(--bright-navy-blue);
    font-size: 13px;
  }
  
  .package-card .card-price {
    background: var(--united-nations-blue);
    color: var(--white);
    padding: 25px 20px;
    text-align: center;
  }
  
  .package-card .card-price .wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 5px 15px;
    margin-bottom: 10px;
  }
  
  .package-card .card-price .reviews { font-size: var(--fs-5); }
  
  .package-card .card-rating {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1px;
    font-size: 14px;
  }
  
  .package-card .card-rating ion-icon:last-child { color: hsl(260, 33%, 26%); }
  
  .package-card .price {
    font-size: var(--fs-2);
    font-family: var(--ff-montserrat);
    font-weight: var(--fw-800);
    margin-bottom: 20px;
  }
  
  .package-card .price span {
    font-size: var(--fs-7);
    font-weight: initial;
  }
  
  .package .btn { margin-inline: auto; }
  
  
  
  
  
  
  /*-----------------------------------*\
    #RESET
  \*-----------------------------------*/
  
  *, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  
  li { list-style: none; }
  
  a { text-decoration: none; }
  
  a,
  img,
  span,
  input,
  button,
  ion-icon { display: block; }
  
  input,
  button {
    background: none;
    border: none;
    font: inherit;
  }
  
  button { cursor: pointer; }
  
  input { width: 100%; }

  
  body { background: var(--white); }
  
  
  
  
  
  /*-----------------------------------*\
    #REUSED STYLE
  \*-----------------------------------*/
  
  .container { padding-inline: 30px; }
  
  .w-100 { width: 100%; }
  
  .h1,
  .h2,
  .h3 {
    color: var(--space-cadet);
    line-height: 1.2;
  }
  
  .h1 { font-size: var(--fs-1); }
  
  .h2 { font-size: var(--fs-2); }
  
  .h3 { font-size: var(--fs-3); }
  
  .section-text,
  .features .card-text {
    color: var(--black-coral);
    font-size: var(--fs-4);
    line-height: 1.8;
    margin-bottom: 15px;
  }
  
  .btn {
    font-size: var(--fs-4);
    font-weight: var(--fw-500);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
    padding: 14px 25px;
    border-radius: var(--radius-4);
    transition: var(--transition);
  }
  
  .btn-primary {
    color: var(--white);
    background: var(--red-crayola);
  }
  
  .btn > ion-icon { font-size: 16px; }
  
  .btn-primary:is(:hover, :focus) { background: var(--blue-ryb); }
  
  .btn-secondary {
    background: var(--blue-ryb);
    color: var(--white);
  }
  
  .btn-secondary:is(:hover, :focus) { background: var(--red-crayola); }
  
  .section-subtitle {
    color: var(--black-coral);
    font-size: var(--fs-5);
    font-weight: var(--fw-600);
    margin-bottom: 15px;
  }
  
  
  
  
  
  /*-----------------------------------*\
    #HEADER
  \*-----------------------------------*/
  
  .header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 74px;
    background: var(--white);
    box-shadow: 0 2px 25px hsla(0, 0%, 0%, 0.1);
    padding-block: 16px;
    overflow: hidden;
    transition: 0.35s ease-out;
    z-index: 4;
  }
  
  .header.nav-active {
    height: 250px;
    transition: 0.5s ease-out;
  }
  
  .header.active {
    position: fixed;
    animation: fadeIn 0.5s ease forwards;
  }
  
  @keyframes fadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
  }
  
  .header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
  .logo img { width: 160px; }
  
  .nav-toggle-btn {
    color: hsla(0, 0%, 0%, 0.8);
    font-size: 35px;
    padding-inline: 5px;
  }
  
  .nav-toggle-btn .open,
  .nav-toggle-btn.active .close { display: block; }
  
  .nav-toggle-btn .close,
  .nav-toggle-btn.active .open { display: none; }
  
  .navbar {
    position: absolute;
    top: 70px;
    left: 0;
    width: 100%;
    background: var(--white);
    padding-block: 10px;
    visibility: hidden;
  }
  
  .header.nav-active .navbar { visibility: visible; }
  
  .navbar-link {
    color: var(--space-cadet);
    font-size: var(--fs-4);
    font-weight: var(--fw-600);
    padding: 6px 15px;
    transition: var(--transition);
    opacity: 0;
    color: rgb(89, 185, 185);
  }
  
  .header.nav-active .navbar-link { opacity: 1; }
  
  .navbar-link:is(:hover, :focus) { color: var(--red-crayola); }
  
  .header .btn { display: none; }
  
  
  
  
  
  /*-----------------------------------*\
    #HERO
  \*-----------------------------------*/
  
  .hero {
    background: var(--cultured);
    padding-top: 130px;
    padding-bottom: var(--section-padding);
  }
  
  .hero .shape { display: none; }
  
  .hero-banner { margin-bottom: 30px; }
  
  .hero-content { text-align: center; }
  
  .hero-title
  .hero .section-text { margin-bottom: 20px; }
  
  .hero .btn { margin-inline: auto; }
  
  
  
  
  
  /*-----------------------------------*\
    #FEATURES
  \*-----------------------------------*/
  
  .features { padding-block: var(--section-padding); }
  
  .features .section-title { margin-bottom: 40px; }
  
  .features :is(.section-subtitle, .section-title) { text-align: center; }
  
  .features-list {
    display: grid;
    gap: 25px;
  }
  
  .features-card {
    border: 1px solid hsl(0, 0%, 90%);
    padding: 30px;
    text-align: center;
  }
  
  .features-card .card-icon {
    max-width: max-content;
    margin-inline: auto;
    margin-bottom: 30px;
  }
  
  .features-card .card-title { margin-bottom: 15px; }
  
  .features-card .card-link {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    color: var(--red-crayola);
    font-size: var(--fs-5);
    font-weight: var(--fw-600);
    transition: var(--transition);
  }
  
  .features-card .card-link:is(:hover, :focus) {
    gap: 10px;
    color: var(--space-cadet);
  }
  
  
  
  
  
  /*-----------------------------------*\
    #SERVICE
  \*-----------------------------------*/
  
  .service {
    background: var(--cultured);
    padding-block: var(--section-padding);
  }
  
  .service-banner { margin-bottom: 30px; }
  
  .service-content:first-of-type {
    padding-bottom: 50px;
    border-bottom: 1px solid hsla(0, 0%, 0%, 0.05);
    margin-bottom: 50px;
  }
  
  .service .section-title { margin-bottom: 30px; }
  
 .service-item {
  background: var(--white);
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 12px 20px;
  border-top: 3px groove hsla(0, 0%, 0%, 0.9);
  border-bottom: 3px none;
  border-left: 3px dotted hsla(0, 0%, 0%, 0.9);
  box-shadow: 0 5px 25px 10px hsla(0, 0%, 0%, 0.02);
  border-radius: var(--radius-8);
}

  
  .service-item:not(:last-child) { margin-bottom: 20px; }
  
  .service-item-icon {
    background: var(--cultured);
    color: var(--red-crayola);
    min-width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    transition: var(--transition);
  }
  
  .service-item-icon ion-icon { --ionicon-stroke-width: 50px; }
  
  .service-item:hover .service-item-icon {
    background: var(--red-crayola);
    color: var(--white);
  }
  
  
  
  
  
  /*-----------------------------------*\
    #BLOG
  \*-----------------------------------*/
  
  .blog { padding-block: var(--section-padding); }
  
  .blog :is(.section-subtitle, .section-title) { text-align: center; }
  
  .blog .section-title { margin-bottom: 40px; }
  
  .blog-list {
    display: grid;
    gap: 25px;
  }
  
  .blog-card {
    background: var(--white);
    box-shadow: 0 2px 25px 10px hsla(0, 0%, 0%, 0.1);
    border-radius: var(--radius-12);
    overflow: hidden;
  }
  
  .blog-banner {
    aspect-ratio: 2 / 1.3;
    overflow: hidden;
  }
  
  .blog-banner :is(a, img) { height: 100%; }
  
  .blog-banner img {
    object-fit: cover;
    transition: var(--transition-2);
  }
  
  .blog-card:hover .blog-banner img { transform: scale(1.1); }
  
  .blog-content { padding: 20px; }
  
  .blog-meta-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
  }
  
  .blog-meta-item {
    display: flex;
    align-items: center;
    gap: 5px;
    color: var(--black-coral);
    font-size: var(--fs-5);
    text-transform: uppercase;
  }
  
  .blog-meta-item > ion-icon {
    color: var(--red-crayola);
    --ionicon-stroke-width: 45px;
  }
  
  .blog-meta-item .blog-meta-link {
    color: var(--black-coral);
    transition: var(--transition);
  }
  
  .blog-meta-item .blog-meta-link:is(:hover, :focus) { color: var(--red-crayola); }
  
  .blog-title > a {
    color: inherit;
    transition: var(--transition);
  }
  
  .blog-title > a:is(:hover, :focus) { color: var(--red-crayola); }
  
  
  
  
  
  /*-----------------------------------*\
    #NEWSLETTER
  \*-----------------------------------*/
  
  .newsletter {
    background: var(--cultured);
    padding-block: var(--section-padding);
  }
  
  .newsletter-banner { margin-bottom: 30px; }
  
  .newsletter .section-title { margin-bottom: 40px; }
  
  .input-field {
    background: var(--white);
    outline: 1px solid hsla(0, 0%, 0%, 0.1);
    padding: 15px 20px;
    border-radius: var(--radius-4);
    margin-bottom: 15px;
    transition: var(--transition);
  }
  
  .input-field:focus { outline-color: var(--red-crayola); }
  
  
  
  
  
  /*-----------------------------------*\
    #FOOTER
  \*-----------------------------------*/
  
  .footer-top { padding-block: var(--section-padding); }
  
  .footer .logo { margin-bottom: 20px; }
  
  .location-text {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    margin-bottom: 30px;
  }
  
  .location-icon {
    background: var(--cultured);
    color: var(--red-crayola);
    font-size: 22px;
    min-width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 50%;
  }
  
  .address {
    color: var(--space-cadet);
    font-size: var(--fs-5);
    font-weight: var(--fw-600);
    line-height: 1.6;
    font-style: normal;
  }
  
  .quicklink-box { margin-bottom: 15px; }
  
  .quicklink-title,
  .contact-title {
    font-weight: var(--fw-700);
    margin-bottom: 20px;
  }
  
  .quicklink-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;                /* space between columns/rows */
  list-style: none;         /* remove bullets */
  padding: 0;               /* reset any default UL padding */
  margin: 0;                /* reset any default UL margin */
}
  
  .quicklink-list > li { padding-block: 3px; }
  
  .quicklink {
    color: var(--black-coral);
    font-size: var(--fs-4);
    transition: var(--transition);
  }
  
  .quicklink:is(:hover, :focus) { color: var(--red-crayola); }
  
  .contact-list {
    background: var(--white);
    padding: 20px;
    border-radius: var(--radius-4);
    box-shadow: 0 2px 50px 10px hsla(0, 0%, 0%, 0.08);
  }
  
  .contact-item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
  }
  
  .contact-item:first-child {
    padding-bottom: 8px;
    border-bottom: 1px solid hsla(0, 0%, 0%, 0.1);
    margin-bottom: 8px;
  }
  
  .contact-icon {
    background: var(--cultured);
    color: var(--red-crayola);
    min-width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    font-size: 18px;
    border-radius: 50%;
    transition: var(--transition);
  }
  
  .contact-icon ion-icon { --ionicon-stroke-width: 40px; }
  
  .contact-item:hover .contact-icon {
    background: var(--red-crayola);
    color: var(--white);
  }
  
  .contact-link {
    color: var(--black-coral);
    font-size: var(--fs-4);
    transition: var(--transition);
  }
  
  .contact-link:is(:hover, :focus) { color: var(--red-crayola); }
  
  .footer-bottom {
    background: var(--space-cadet);
    padding-block: 30px;
  }
  
  .copyright {
    color: var(--white);
    font-size: var(--fs-4);
    line-height: 1.8;
    text-align: center;
    margin-bottom: 15px;
  }
  
  .copyright > a {
    display: inline-block;
    color: inherit;
    text-decoration: underline;
    transition: var(--transition);
  }
  
  .copyright > a:is(:hover, :focus) { color: var(--red-crayola); }
  
  .social-list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
  }
  
  .social-link {
    background: hsla(0, 0%, 100%, 0.2);
    color: var(--white);
    width: 35px;
    height: 35px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    transition: var(--transition);
  }
  
  .social-link:is(:hover, :focus) { background: var(--red-crayola); }
  
  
  
  
  
  /*-----------------------------------*\
    #GO TO TOP
  \*-----------------------------------*/
  
  .go-top {
    background: var(--white);
    color: var(--space-cadet);
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 20px;
    width: 45px;
    height: 45px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    box-shadow: 0 2px 10px hsla(0, 0%, 0%, 0.1);
    opacity: 0;
    transform: translateY(10px);
    visibility: hidden;
    transition: var(--transition);
    z-index: 2;
  }
  
  .go-top.active {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
  }
  
  .go-top:is(:hover, :focus) {
    background: var(--blue-ryb);
    color: var(--white);
  }
  
  
  
  
  
  /*-----------------------------------*\
    #MEDIA QUERIES
  \*-----------------------------------*/
  
  /**
   * responsive larger than 575px screen
   */
  
  @media (min-width: 575px) {
  
    /**
     * REUSED STYLE
     */
  
    .container {
      max-width: 520px;
      margin-inline: auto;
    }
  
  
  
    /**
     * FEATURES
     */
  
    .features-list {
      grid-template-columns: 1fr 1fr;
      gap: 40px 30px;
    }
  
    .features-card {
      border: none;
      padding: 0;
    }
  
  }
  
  
  
  
  
  /**
   * responsive larger than 768px screen
   */
  
  @media (min-width: 768px) {
  
    /**
     * base font size
     */
  
    html { font-size: 17.5px; }
  
    /**
     * CUSTOM PROPERTY
     */
  
    :root {
  
      /**
       * typography
       */
  
      --fs-1: 2.286rem;
      --fs-2: 1.829rem;
  
    }
  
  
  
    /**
     * REUSED STYLE
     */
  
    .container { max-width: 700px; }
  
  
  
    /**
     * FEATURES
     */
  
    .features-card { text-align: left; }
  
    .features-card .card-icon { margin-inline: 0; }
  
    .features-card .card-icon img { width: 60px; }
  
    .features-card .card-link { justify-content: flex-start; }
  
  
  
    /**
     * SERVICE
     */
  
    .service-item:not(:last-child) { margin-bottom: 30px; }
  
    .service-list { padding-right: 80px; }
  
    .service-item:nth-child(even) { transform: translateX(80px); }
  
  
  
    /**
     * BLOG
     */
  
    .blog-list { grid-template-columns: 1fr 1fr; }
  
  
  
    /**
     * FOOTER
     */
  
    .footer-top .container {
      display: grid;
      grid-template-columns: 2fr 1fr;
      gap: 30px ;
    }
  
    .footer-bottom .container {
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
  
    .copyright { margin-bottom: 0; }
  
  }
  
  
  
  
  
  /**
   * responsive larger than 992px screen
   */
  
  @media (min-width: 992px) {
  
    /**
     * base font size
     */
  
    html { font-size: 18px; }
  
    /**
     * CUSTOM PROPERTY
     */
  
    :root {
  
      /**
       * typography
       */
  
      --fs-1: 2.571rem;
      --fs-2: 1.944rem;
      --fs-3: 1.167rem;
  
      /**
       * spacing
       */
  
      --section-padding: 120px;
  
    }
  
  
  
    /**
     * REUSED STYLE
     */
  
    .container { max-width: 950px; }
  
    .section-title {
      max-width: 20ch;
      margin-inline: auto;
    }
  
  
  
    /**
     * HEADER
     */
  
    .header,
    .header.nav-active { height: unset; }
  
    .header {
      background: none;
      box-shadow: none;
    }
  
    .header.active {
      background: transparent;
      box-shadow: 0 2px 25px hsla(0, 0%, 100%, 0.1);
    }
  
    .nav-toggle-btn { display: none; }
  
    .navbar { all: unset; }
  
    .navbar-link {
      opacity: 1;
      padding-block: 20px;
    }
  
    .header.active .navbar-link { padding-block: 5px; }
  
    .navbar-list { display: flex; }
  
    .header .btn {
      display: flex;
      font-size: var(--fs-5);
    }
  
  
  
    /**
     * HERO
     */
  
    .hero .container {
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: center;
    }
    .hero .bookingcontainer {
  display: flex;
  align-items: center;
  justify-items: center;
  justify-content: center;
  /* align items at the top of each grid cell */
}

  
    .hero { padding-top: 180px; }
  
    .hero-banner {
      margin-bottom: 0;
      order: 1;
    }
  
    .hero-content { text-align: left; }
  
    .hero .btn { margin-inline: 0; }
  
  
  
    /**
     * FEATURES
     */
  
    .features-list { grid-template-columns: repeat(4, 1fr); }
  
    .features-card .card-icon img { width: unset; }
  
  
  
    /**
     * SERVICE
     */
  
    .service .container {
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: center;
      gap: 100px 40px;
    }
  
    .service-banner { margin-bottom: 0; }
  
    .service-content:first-of-type {
      padding-bottom: 0;
      border-bottom: none;
      margin-bottom: 0;
    }
  
    .service-list { padding-right: 50px; }
  
    .service-item:nth-child(even) { transform: translateX(50px); }
  
    .service-item-icon {
      min-width: 40px;
      height: 40px;
      font-size: 1.125rem;
    }
  
    .service-banner:last-of-type { order: 1; }
  
  
  
    /**
     * NEWSLETTER
     */
  
    .newsletter .container {
      display: flex;
      align-items: center;
      gap: 50px;
    }
  
    .newsletter-banner {
      width: 50%;
      margin-bottom: 0;
      order: 1;
    }
  
    .newsletter-content { width: 50%; }
  
    .newsletter-form {
      display: flex;
      gap: 25px;
    }
  
    .input-field { margin-bottom: 0; }
  
    .newsletter .btn {
      min-width: max-content;
      padding-inline: 15px;
    }
  
  
  
    /**
     * FOOTER
     */
  
    .footer-top .container {
      grid-template-columns: repeat(3, 1fr);
      gap: 30px;
    }
  
    .contact-list { padding: 10px; }
  
    .contact-item:first-child {
      padding-bottom: 10px;
      margin-bottom: 10px;
    }
  
  }
  
  
  
  
  
  /**
   * responsive larger than 1200px screen
   */
  
  @media (min-width: 1200px) {
  
    /**
     * CUSTOM PROPERTY
     */
  
    :root {
  
      /**
       * typography
       */
  
      --fs-1: 3rem;
      --fs-2: 2.333rem;
      --fs-3: 1.222rem;
      --fs-4: 0.944rem;
  
    }
  
  
  
    /**
     * REUSED STYLE
     */
  
    .container { max-width: 1150px; }
  
  
  
    /**
     * HERO
     */
  
    .hero {
      position: relative;
      z-index: 1;
      overflow: hidden;
    }
  
    .hero .shape {
      display: block;
      position: absolute;
      user-select: none;
      z-index: -1;
    }
  
    .hero .shape-1 {
      top: 0;
      left: -80px;
      height: 100%;
    }
  
    .hero .shape-2 {
      bottom: 60px;
      left: 30%;
    }
  
    .hero .shape-3 {
      top: 0;
      right: -80px;
      height: 100%;
    }
  
  
  
    /**
     * FEATURES
     */
  
    .features .section-title { margin-bottom: 70px; }
  
  
  
    /**
     * SERVICE
     */
  
    .service .container { column-gap: 60px; }
  
    .service .section-title { margin-bottom: 50px; }
  
  
  
    /**
     * BLOG
     */
  
    .blog .section-title { margin-bottom: 70px; }
  
    .blog-list { grid-template-columns: repeat(3, 1fr); }
  
  
  
    /**
     * NEWSLETTER
     */
  
    .newsletter .container { gap: 80px; }
  
    .newsletter-banner { width: 45%; }
  
    .newsletter-content { width: 55%; }
  
  }
  .progress-container {
    position: absolute;
    top: 3%;
    left: 0;
    width: 5px; /* Vertical bar width */
    height: 91%;
    background: rgba(0, 0, 0, 0.1); /* Optional background for the container */
    z-index: 20;
  }

  .progress-bar {
    width: 100%;
    height: 0%;
    background: rgb(255, 255, 255);
    transition: height 0.25s ease-out;
  }

 
/* Glass effect for feature cards */
.features,
.footer-top {
  /* translucent white */
  background: rgba(238, 233, 233, 0.7);
  /* heavy blur behind */
  backdrop-filter: blur(20px);
  /* subtle border for definition */
}
@media (max-width: 768px) {
  .quicklink-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .quicklink-list {
    grid-template-columns: 1fr;
  }
}
.learn-more-link {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  font-weight: 600;
  color: #ffffff;
  background-color: #63768c;
  border: none;
  border-radius: 0.375rem;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease-in-out, transform 0.1s ease-in-out;
}

.learn-more-link:hover {
  background-color: #63768c;
  transform: translateY(-2px);
}

.learn-more-link:active {
  background-color: #63768c;
  transform: translateY(0);
}

.learn-more-link:focus {
  outline: 3px solid rgba(0, 112, 243, 0.5);
  outline-offset: 2px;
}


.service-sticky .pin {
  position: sticky;
  top: 0;
  height: 100vh;
  display: grid;
  grid-template-columns: 1fr 2fr; /* left img, right text */
  gap: 40px;
    background: rgba(255, 255, 255);
  align-items: center;
  overflow: hidden;
}

/* Left image stays pinned */
.pin-left {
  position: sticky; /* extra safety */
  margin-left: 15rem;
  height: 80vh;
  width: 50vh;
  align-items: center;
}
.pin-left img {
  width: 100%;
  height: 80vh;
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,.15);
  transition: opacity .6s ease, transform .6s ease;
}

/* Right side holds staged text, stacked */
.pin-right {
  position: relative;
  height: 80vh;
}
.stage {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  opacity: 0;
  transform: translateX(0);
  transition: opacity .5s ease, transform .6s ease;
  will-change: transform, opacity;
}
.text-inner {
  background: rgba(255,255,255,.75);
  backdrop-filter: blur(10px);
  border-radius: 12px;
  padding: 24px 28px;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}

/* states set by JS */
.is-active   { opacity: 1; transform: translateX(0); }
.from-right  { transform: translateX(60px); }
.from-left   { transform: translateX(-60px); }
.exit-right  { opacity: 0; transform: translateX(60px); }
.exit-left   { opacity: 0; transform: translateX(-60px); }

/* responsive tweaks */
@media (max-width: 992px) {
  .service-sticky .pin { grid-template-columns: 1fr; gap: 20px; }
  .pin-left { height: 40vh; }
  .pin-left img { height: 40vh; }
  .pin-right { height: calc(100vh - 40vh - 40px); }
}
