:root {
    /**
     * colors
     */
  
    --st-patricks-blue: hsl(236, 57%, 28%);
    --amaranth-purple: hsl(335, 88%, 38%);
    --royal-blue-dark: hsl(231, 68%, 21%);
    --chrome-yellow: hsl(39, 100%, 52%);
    --space-cadet-1: hsl(230, 41%, 25%);
    --space-cadet-2: hsl(230, 59%, 16%);
    --winter-sky_50: hsla(335, 87%, 53%, 0.5);
    --purple-navy: hsl(236, 26%, 43%);
    --ksu-purple: hsl(275, 54%, 33%);
    --winter-sky: hsl(335, 87%, 53%);
    --razzmatazz: hsl(335, 87%, 51%);
    --platinum: hsl(0, 0%, 90%);
    --black_70: hsla(0, 0%, 0%, 0.7);
    --rajah: hsl(29, 99%, 67%);
    --white: hsl(0, 0%, 100%);
  
    --gradient-1: linear-gradient(
      90deg,
      var(--royal-blue-dark) 0,
      var(--ksu-purple) 51%,
      var(--royal-blue-dark)
    );
    --gradient-2: linear-gradient(90deg, var(--razzmatazz), var(--rajah));
  
    /**
     * typography
     */
  
    --ff-source-sans-pro: "Source Sans Pro", sans-serif;
    --ff-poppins: "Poppins", sans-serif;
  
    --fs-1: 4.2rem;
    --fs-2: 3.8rem;
    --fs-3: 3.2rem;
    --fs-4: 2.5rem;
    --fs-5: 2.4rem;
    --fs-6: 2rem;
    --fs-7: 1.8rem;
    --fs-8: 1.5rem;
  
    --fw-500: 500;
    --fw-600: 600;
    --fw-700: 700;
  
    /**
     * border radius
     */
  
    --radius-4: 4px;
    --radius-12: 12px;
  
    /**
     * spacing
     */
  
    --section-padding: 60px;
  
    /**
     * transition
     */
  
    --transition-1: 0.15s ease;
    --transition-2: 0.35s ease;
    --cubic-in: cubic-bezier(0.51, 0.03, 0.64, 0.28);
    --cubic-out: cubic-bezier(0.33, 0.85, 0.56, 1.02);
  
    /**
     * shadow
     */
  
    --shadow: 0 5px 20px 1px hsla(220, 63%, 33%, 0.1);
  }
  
  /*-----------------------------------*\
    #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;
  }
  
  button,
  input {
    background: none;
    border: none;
    font: inherit;
  }
  
  button {
    cursor: pointer;
  }
  
  input {
    width: 100%;
  }
  
  ion-icon {
    pointer-events: none;
  }
  
  img {
    height: auto;
  }
  
  address {
    font-style: normal;
  }
  
  html {
    font-family: var(--ff-poppins);
    font-size: 10px;
    scroll-behavior: smooth;
  }
  
  body {
    background-color: var(--white);
    color: var(--purple-navy);
    font-size: 1.6rem;
  }
  
  ::-webkit-scrollbar {
    width: 10px;
  }
  
  ::-webkit-scrollbar-track {
    background-color: hsl(0, 0%, 95%);
  }
  
  ::-webkit-scrollbar-thumb {
    background-color: hsl(0, 0%, 80%);
  }
  
  ::-webkit-scrollbar-thumb:hover {
    background-color: hsl(0, 0%, 70%);
  }
  
  /*-----------------------------------*\
    #REUSED STYLE
  \*-----------------------------------*/
  
  .container {
    padding-inline: 15px;
  }
  
  .h2,
  .h3 {
    font-family: var(--ff-source-sans-pro);
  }
  
  .btn {
    background-image: var(--gradient-2);
    background-size: 200%;
    color: var(--white);
    padding: 12px 35px;
    font-size: var(--fs-8);
    font-weight: var(--fw-500);
    border-radius: 0 25px;
    transition: var(--transition-2);
  }
  
  .btn:is(:hover, :focus) {
    background-position: right;
  }
  
  a.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
  }
  
  .w-100 {
    width: 100%;
  }
  
  .banner-animation {
    animation: waveAnim 2s linear infinite alternate;
  }
  
  @keyframes waveAnim {
    0% {
      transform: translate(0, 0) rotate(0);
    }
    100% {
      transform: translate(2px, 2px) rotate(1deg);
    }
  }
  
  .section {
    padding-block: var(--section-padding);
  }
  
  .section-title {
    color: var(--st-patricks-blue);
    font-size: var(--fs-3);
    margin-block-end: 60px;
    max-width: max-content;
    margin-inline: auto;
  }
  
  .underline {
    position: relative;
  }
  
  .underline::before {
    content: "";
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 70%;
    height: 6px;
    background-image: var(--gradient-2);
    border-radius: 10px;
  }
  
  :is(.service-card, .features-card) .title {
    color: var(--st-patricks-blue);
    font-size: var(--fs-4);
    font-weight: var(--fw-700);
  }
  
  :is(.service-card, .features-card, .blog-card) .text {
    font-size: var(--fs-8);
  }
  
  .img-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  /*-----------------------------------*\
    #HEADER
  \*-----------------------------------*/
  
  .header .btn {
    display: none;
  }
  
  .header {
    --color: var(--white);
  
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding-block: 14px;
    z-index: 4;
    transition: var(--transition-1);
  }
  
  .header.active {
    --color: var(--st-patricks-blue);
  
    position: fixed;
    background-color: var(--white);
    box-shadow: 0 2px 30px hsla(0, 0%, 0%, 0.1);
  }
  
  .header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
  }
  
  .logo {
    color: var(--color);
    font-family: var(--ff-source-sans-pro);
    font-size: var(--fs-3);
  }
  
  .logo.logo--image {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    line-height: 0;
  }
  
  .logo.logo--image .logo-img {
    display: block;
    height: 80px;
    width: auto;
    max-width: min(210px, 50vw);
    object-fit: contain;
  }

  .logo.logo--image .logo-img--scrolled {
    display: none;
  }

  .header.active .logo.logo--image .logo-img--hero {
    display: none;
  }

  .header.active .logo.logo--image .logo-img--scrolled {
    display: block;
  }
  
  .nav-open-btn {
    color: var(--color);
    font-size: 32px;
    padding: 4px;
  }
  
  .navbar {
    background-color: var(--white);
    position: fixed;
    top: 0;
    left: -280px;
    width: 100%;
    max-width: 280px;
    min-height: 100%;
    padding: 20px;
    visibility: hidden;
    z-index: 2;
    transition: 0.25s var(--cubic-in);
  }
  
  .navbar.active {
    transform: translateX(280px);
    visibility: visible;
    transition: 0.5s var(--cubic-out);
  }
  
  .navbar-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-block: 10px 30px;
  }
  
  .navbar-top .logo {
    color: var(--st-patricks-blue);
    font-size: 4.2rem;
    font-weight: var(--fw-700);
  }

  .navbar-top .logo.logo--image img {
    display: block;
    height: 80px;
    width: auto;
    max-width: min(210px, 50vw);
    object-fit: contain;
  }
  
  .nav-close-btn {
    color: var(--space-cadet-1);
    font-size: 2.8rem;
    padding: 4px;
  }
  
  .navbar-item:not(:last-child) {
    border-bottom: 1px solid var(--platinum);
  }
  
  .navbar-link {
    color: var(--space-cadet-1);
    font-size: var(--fs-8);
    font-weight: var(--fw-600);
    padding-block: 12px;
  }
  
  .overlay {
    position: fixed;
    inset: 0;
    background-color: var(--black_70);
    z-index: 1;
    opacity: 0;
    pointer-events: none;
    transition: var(--transition-2);
  }
  
  .overlay.active {
    opacity: 1;
    pointer-events: all;
  }
  
  /*-----------------------------------*\
    #HERO
  \*-----------------------------------*/
  
  .hero {
    background-image: url("https://raw.githubusercontent.com/codewithsadee/desinic/master/assets/images/hero-bg-bottom.png"),
      url("https://raw.githubusercontent.com/codewithsadee/desinic/master/assets/images/hero-bg.png"), var(--gradient-1);
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-position: -280px bottom, center, center;
    background-size: cover, cover, auto;
    padding-block-start: 120px;
    padding-block-end: var(--section-padding);
  }
  
  .hero-content {
    margin-block-end: 50px;
  }
  
  .hero-subtitle {
    color: var(--chrome-yellow);
    font-family: var(--ff-source-sans-pro);
    font-size: var(--fs-7);
    margin-block-end: 15px;
  }
  
  .hero-title {
    color: var(--white);
    font-size: var(--fs-1);
    margin-block-end: 20px;
  }
  
  .hero-text {
    color: var(--white);
    font-size: var(--fs-8);
    margin-block-end: 30px;
  }

  .hero-cta-note {
    color: hsla(0, 0%, 100%, 0.9);
    font-size: 1.4rem;
    line-height: 1.5;
    margin-block-start: 18px;
    margin-block-end: 0;
    max-width: 40ch;
  }

  .hero-media {
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-block-start: 28px;
  }

  .hero-books-img {
    width: 100%;
    max-width: min(100%, 400px);
    height: auto;
    border-radius: var(--radius-12);
    box-shadow: 0 20px 50px hsla(0, 0%, 0%, 0.35);
  }
  
  /*-----------------------------------*\
    #ABOUT
  \*-----------------------------------*/
  
  .about-banner {
    margin-block-end: 30px;
  }
  
  .about .section-title {
    margin-inline: 0;
  }
  
  .about .underline::before {
    left: 0;
    transform: translateX(0);
  }
  
  .about-text {
    font-size: var(--fs-8);
    margin-block-end: 20px;
  }
  
  .quem-sou-eu {
    background-color: hsl(0, 0%, 97%);
  }
  
  .quem-sou-eu-marquee {
    overflow: hidden;
    width: 100%;
    margin-block: 10px 30px;
    mask-image: linear-gradient(
      90deg,
      transparent,
      #000 8%,
      #000 92%,
      transparent
    );
  }
  
  .quem-sou-eu-marquee-track {
    display: flex;
    width: max-content;
    animation: quemSouEuMarquee 24s linear infinite;
  }
  
  .quem-sou-eu-marquee:hover .quem-sou-eu-marquee-track {
    animation-play-state: paused;
  }
  
  .quem-sou-eu-marquee-group {
    display: flex;
    align-items: stretch;
    gap: 20px;
    padding-inline: 10px;
  }
  
  .quem-sou-eu-marquee .quem-sou-eu-photo {
    margin: 0;
    flex: 0 0 auto;
    width: min(78vw, 380px);
    border-radius: var(--radius-12);
    overflow: hidden;
    transform: scale(1.3);
  }
  
  .quem-sou-eu-marquee .quem-sou-eu-photo img {
    display: block;
    width: 100%;
    height: min(78vw, 400px);
    object-fit: cover;
    object-position: center top;
    clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);
  }
  
  @keyframes quemSouEuMarquee {
    to {
      transform: translateX(-50%);
    }
  }
  
  @media (prefers-reduced-motion: reduce) {
    .quem-sou-eu-marquee {
      mask-image: none;
    }
  
    .quem-sou-eu-marquee-track {
      animation: none;
      width: 100%;
      flex-wrap: wrap;
      justify-content: center;
      gap: 20px;
    }
  
    .quem-sou-eu-marquee-group[aria-hidden="true"] {
      display: none;
    }
  
    .quem-sou-eu-marquee .quem-sou-eu-photo {
      width: min(100%, 340px);
    }
  }
  
  .quem-sou-eu-bio {
    text-align: center;
    max-width: 640px;
    margin-inline: auto;
  }
  
  .quem-sou-eu-name {
    font-family: var(--ff-source-sans-pro);
    font-size: var(--fs-4);
    font-weight: var(--fw-700);
    color: var(--st-patricks-blue);
    margin-block-end: 12px;
  }
  
  .quem-sou-eu-text {
    font-size: var(--fs-8);
    color: var(--purple-navy);
    line-height: 1.6;
  }
  
  /*-----------------------------------*\
    #PROVA SOCIAL (marquee)
  \*-----------------------------------*/
  
  .prova-social-marquee {
    overflow: hidden;
    width: 100%;
    margin-block: 10px 0;
    mask-image: linear-gradient(
      90deg,
      transparent,
      #000 8%,
      #000 92%,
      transparent
    );
  }
  
  .prova-social-marquee-track {
    display: flex;
    width: max-content;
    animation: quemSouEuMarquee 80s linear infinite;
  }
  
  .prova-social-marquee:hover .prova-social-marquee-track {
    animation-play-state: paused;
  }
  
  .prova-social-marquee-group {
    display: flex;
    align-items: center;
    gap: 20px;
    padding-inline: 10px;
  }
  
  .prova-social-shot {
    margin: 0;
    flex: 0 0 auto;
    width: min(74vw, 300px);
    height: min(68vh, 480px);
    border-radius: var(--radius-12);
    overflow: hidden;
    box-shadow: var(--shadow);
    background: hsl(220, 14%, 20%);
    display: grid;
    place-items: center;
  }
  
  .prova-social-shot img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
  }
  
  @media (prefers-reduced-motion: reduce) {
    .prova-social-marquee {
      mask-image: none;
    }
  
    .prova-social-marquee-track {
      animation: none;
      width: 100%;
      flex-wrap: wrap;
      justify-content: center;
      gap: 20px;
    }
  
    .prova-social-marquee-group[aria-hidden="true"] {
      display: none;
    }
  
    .prova-social-shot {
      width: min(100%, 300px);
      height: auto;
      min-height: 280px;
      max-height: 520px;
    }
  
    .prova-social-shot img {
      height: auto;
      max-height: 520px;
    }
  }
  
  .features-banner--logo .features-banner-logo {
    max-width: 280px;
    margin-inline: auto;
    width: auto;
    height: auto;
  }
  
  .features-banner--logo {
    animation: none;
  }
  
  .stats-list {
    display: grid;
    gap: 30px;
  }
  
  .stats-card {
    text-align: center;
    padding: 15px;
    box-shadow: var(--shadow);
    border-radius: var(--radius-12);
  }
  
  .stats-title {
    color: var(--st-patricks-blue);
    font-size: var(--fs-2);
    font-weight: var(--fw-700);
  }
  
  .stats-text {
    font-size: var(--fs-8);
  }
  
  /*-----------------------------------*\
    #SERVICE
  \*-----------------------------------*/
  
  .service-list {
    display: grid;
    gap: 30px;
  }
  
  .service-card {
    padding: 30px;
    box-shadow: var(--shadow);
    border-radius: var(--radius-12);
  }
  
  .service-card .card-icon {
    background-image: url("https://raw.githubusercontent.com/codewithsadee/desinic/master/assets/images/service-banner-pattern.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-color: hsla(335, 87%, 53%, 0.12);
    aspect-ratio: 1 / 1;
    max-width: 165px;
    display: grid;
    place-content: center;
    margin-inline: auto;
    transition: var(--transition-1);
  }
  
  .service-card:hover .card-icon {
    background-color: var(--winter-sky);
  }
  
  .service-card .card-icon ion-icon {
    font-size: 5rem;
    color: var(--winter-sky);
    --ionicon-stroke-width: 20px;
    transition: var(--transition-1);
  }
  
  .service-card:hover .card-icon ion-icon {
    color: var(--white);
  }
  
  .service-card .title {
    text-align: center;
    margin-block-end: 15px;
  }
  
  .service-card .text {
    text-align: center;
    margin-block-end: 20px;
  }
  
  .service-card .service-card-cta {
    width: 100%;
    justify-content: center;
    margin-block-start: 4px;
  }
  
  .service-card .service-card-cta ion-icon {
    font-size: 2rem;
    --ionicon-stroke-width: 40px;
  }
  
  .features-banner.service-books-showcase {
    margin-block: 24px 40px;
  }
  
  .features-banner.service-books-showcase > img {
    max-width: min(100%, 520px);
    height: auto;
    border-radius: var(--radius-12);
  }
  
  .service-books-caption {
    max-width: 52ch;
    margin-inline: auto;
    margin-block-start: 16px;
    font-size: var(--fs-8);
    color: var(--purple-navy);
    text-align: center;
    line-height: 1.5;
  }
  
  /*-----------------------------------*\
    #FEATURE
  \*-----------------------------------*/
  
  .features-list > li:first-child {
    margin-block-end: 30px;
  }
  
  .features-card {
    display: flex;
    align-items: flex-start;
    gap: 20px;
  }
  
  .features-card .icon {
    background-image: var(--gradient-1);
    background-size: 200%;
    color: var(--white);
    min-width: max-content;
    max-width: max-content;
    font-size: 36px;
    padding: 22px;
    border-radius: 50%;
  }
  
  .features-card .icon ion-icon {
    --ionicon-stroke-width: 20px;
  }
  
  .features-card .title {
    margin-block-end: 10px;
  }
  
  .features-banner {
    margin-block: 40px;
  }
  
  .features-banner > img {
    max-width: max-content;
    margin-inline: auto;
  }
  
  /*-----------------------------------*\
    #BLOG
  \*-----------------------------------*/
  
  .blog {
    padding-block-end: 120px;
  }
  
  .blog-list {
    display: grid;
    gap: 30px;
  }
  
  .blog-card {
    padding: 20px;
    box-shadow: var(--shadow);
    border-radius: var(--radius-12);
  }
  
  .blog-card .banner {
    border-radius: var(--radius-12);
    overflow: hidden;
    margin-block-end: 15px;
  }
  
  .blog-card .banner img {
    transition: var(--transition-2);
  }
  
  .blog-card .banner a:is(:hover, :focus) img {
    transform: scale(1.1);
  }
  
  .blog-card .title {
    color: var(--st-patricks-blue);
    font-size: var(--fs-6);
    line-height: 1.2;
    margin-block-end: 15px;
  }
  
  .blog-card .title > a {
    color: inherit;
  }
  
  .blog-card .title > a:is(:hover, :focus) {
    color: var(--razzmatazz);
  }
  
  .blog-card .text {
    margin-block-end: 15px;
  }
  
  .blog-card .meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    font-size: var(--fs-8);
    color: var(--purple-navy);
    font-weight: var(--fw-500);
    padding-block-end: 10px;
  }
  
  .blog-card .meta ion-icon {
    color: var(--winter-sky);
    font-size: 22px;
    --ionicon-stroke-width: 35px;
  }
  
  .publish-date,
  .comment {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  
  .comment {
    color: inherit;
    margin-inline-start: auto;
  }
  
  /*-----------------------------------*\
    #LANDING OFFER
  \*-----------------------------------*/
  
  .landing-offer-lead {
    font-size: var(--fs-8);
    color: var(--purple-navy);
    text-align: center;
    max-width: 42em;
    margin-inline: auto;
    margin-block-end: 40px;
    line-height: 1.6;
  }
  
  .landing-offer-box {
    max-width: 560px;
    margin-inline: auto;
    padding: 35px 28px;
    background: var(--white);
    box-shadow: var(--shadow);
    border-radius: var(--radius-12);
    text-align: center;
  }
  
  .landing-offer-label {
    font-size: var(--fs-7);
    font-weight: var(--fw-700);
    color: var(--st-patricks-blue);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-block-end: 16px;
  }
  
  .landing-offer-price {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-block-end: 8px;
  }
  
  .landing-price-old {
    font-size: var(--fs-6);
    color: hsl(0, 0%, 45%);
    text-decoration: line-through;
  }
  
  .landing-price-new {
    font-size: var(--fs-2);
    font-weight: var(--fw-700);
    color: var(--st-patricks-blue);
  }
  
  .landing-offer-note {
    font-size: var(--fs-8);
    color: var(--purple-navy);
    margin-block-end: 24px;
  }
  
  .landing-scarcity {
    font-size: var(--fs-8);
    color: var(--razzmatazz);
    background: hsla(335, 87%, 53%, 0.08);
    padding: 16px;
    border-radius: var(--radius-12);
    margin-block-end: 20px;
    line-height: 1.5;
  }
  
  .landing-payment-info {
    margin-block-end: 22px;
    padding: 14px 14px;
    border-radius: var(--radius-12);
    background: hsl(230, 41%, 97%);
    text-align: left;
  }

  .landing-payment-title {
    margin: 0 0 10px;
    color: var(--st-patricks-blue);
    font-size: var(--fs-7);
  }

  .landing-trust {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: var(--fs-8);
    color: var(--purple-navy);
    margin-block-end: 22px;
    line-height: 1.55;
    padding: 18px 16px;
    background: hsl(230, 41%, 97%);
    border-radius: var(--radius-12);
    text-align: center;
  }

  .landing-trust-title {
    color: var(--st-patricks-blue);
    font-size: var(--fs-7);
  }

  .landing-trust-detail {
    display: block;
  }

  .landing-payment-text {
    margin: 0;
    font-size: var(--fs-8);
    color: var(--purple-navy);
    line-height: 1.6;
  }

  .landing-payment-text + .landing-payment-text {
    margin-top: 10px;
  }

  .landing-inline-link {
    color: var(--winter-sky);
    text-decoration: underline;
    font-weight: var(--fw-600);
    display: inline;
  }

  .landing-inline-link:is(:hover, :focus) {
    color: var(--razzmatazz);
  }
  
  .landing-cta-text {
    font-size: var(--fs-8);
    margin-block-end: 24px;
    line-height: 1.6;
    color: var(--purple-navy);
  }
  
  .landing-offer-btn {
    width: 100%;
    justify-content: center;
    font-size: var(--fs-7);
    padding: 18px 35px;
  }

  /*-----------------------------------*\
    #VALUE STACK
  \*-----------------------------------*/

  .landing-value-stack {
    list-style: none;
    text-align: left;
    margin-block-end: 28px;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .landing-value-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: var(--fs-8);
    color: var(--purple-navy);
    line-height: 1.5;
  }

  .landing-value-check {
    color: hsl(142, 70%, 38%);
    font-size: 1.8rem;
    font-weight: var(--fw-700);
    flex-shrink: 0;
    margin-block-start: 1px;
  }

  .landing-value-price-ref {
    color: hsl(0, 0%, 55%);
    font-size: 1.3rem;
  }

  /*-----------------------------------*\
    #FAQ
  \*-----------------------------------*/

  .faq {
    background-color: hsl(0, 0%, 97%);
  }

  .faq-list {
    max-width: 720px;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-block-end: 50px;
  }

  .faq-item {
    background: var(--white);
    border-radius: var(--radius-12);
    box-shadow: var(--shadow);
    overflow: hidden;
  }

  .faq-question {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 20px 24px;
    text-align: left;
    font-size: var(--fs-8);
    font-weight: var(--fw-600);
    color: var(--st-patricks-blue);
    cursor: pointer;
    transition: background var(--transition-1);
  }

  .faq-question:hover {
    background: hsla(335, 87%, 53%, 0.04);
  }

  .faq-question span {
    display: block;
    flex: 1;
  }

  .faq-question ion-icon {
    font-size: 2rem;
    color: var(--winter-sky);
    flex-shrink: 0;
    transition: transform var(--transition-2);
  }

  .faq-question[aria-expanded="true"] ion-icon {
    transform: rotate(180deg);
  }

  .faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease, padding 0.35s ease;
  }

  .faq-answer.open {
    max-height: 480px;
  }

  .faq-answer p {
    padding: 0 24px 20px;
    font-size: var(--fs-8);
    color: var(--purple-navy);
    line-height: 1.7;
  }

  .faq-answer .landing-inline-link {
    display: inline;
  }

  .faq-cta {
    text-align: center;
  }

  .faq-cta .btn {
    padding: 18px 40px;
    font-size: var(--fs-7);
  }

  /*-----------------------------------*\
    #FOOTER
  \*-----------------------------------*/
  
  .footer {
    font-size: var(--fs-8);
  }
  
  .footer a {
    color: inherit;
  }
  
  .footer-top {
    background-image: url("https://raw.githubusercontent.com/codewithsadee/desinic/master/assets/images/footer-bg.png"), var(--gradient-1);
    background-repeat: no-repeat;
    background-size: auto, 200%;
    background-position: center, center;
    color: var(--white);
  }
  
  .footer-brand {
    margin-block-end: 30px;
  }
  
  .footer-brand .logo {
    font-weight: var(--fw-700);
    margin-block-end: 15px;
  }
  
  .footer-brand .logo.logo--image img {
    height: 80px;
    max-width: 260px;
  }
  
  .footer-brand .text {
    font-size: var(--fs-8);
    margin-block-end: 20px;
  }
  
  .social-list {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
  }
  
  .footer-top .social-link {
    background-color: var(--white);
    color: var(--winter-sky);
    font-size: 18px;
    padding: 8px;
    border-radius: 50%;
  }
  
  .footer-top .social-link:is(:hover, :focus) {
    background-image: var(--gradient-2);
    color: var(--white);
  }
  
  .footer-list:not(:last-child) {
    margin-block-end: 25px;
  }
  
  .footer-list-title {
    font-family: var(--ff-source-sans-pro);
    font-size: var(--fs-5);
    font-weight: var(--fw-700);
    margin-block-end: 15px;
  }
  
  .footer-link {
    padding-block: 5px;
  }
  
  :is(.footer-link, .footer-item-link):not(address):is(:hover, :focus) {
    text-decoration: underline;
  }
  
  .footer-item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    padding-block: 10px;
  }
  
  .footer-item-icon {
    background-image: var(--gradient-2);
    padding: 13px;
    border-radius: 50%;
  }
  
  .footer-bottom {
    background-color: var(--space-cadet-2);
    padding: 20px;
    text-align: center;
    color: var(--white);
  }
  
  .copyright-link {
    display: inline-block;
    text-decoration: underline;
  }
  
  .copyright-link:is(:hover, :focus) {
    text-decoration: none;
  }
  
  /*-----------------------------------*\
    #GO TO TOP
  \*-----------------------------------*/
  
  .sticky-cta-bar {
    display: none;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 8;
    padding: 12px 16px;
    padding-bottom: max(12px, env(safe-area-inset-bottom));
    background: hsla(0, 0%, 100%, 0.97);
    box-shadow: 0 -6px 24px hsla(220, 63%, 33%, 0.12);
  }

  .sticky-cta-bar__btn {
    width: 100%;
    justify-content: center;
    max-width: 520px;
    margin-inline: auto;
  }

  @media (max-width: 767px) {
    .sticky-cta-bar {
      display: block;
    }

    body {
      padding-bottom: calc(76px + env(safe-area-inset-bottom));
    }
  }

  .go-top {
    position: fixed;
    bottom: 0;
    right: 15px;
    background-color: var(--winter-sky);
    color: var(--white);
    font-size: 2rem;
    padding: 14px;
    border-radius: var(--radius-4);
    box-shadow: -3px 3px 15px var(--winter-sky_50);
    z-index: 11;
    visibility: hidden;
    opacity: 0;
    transition: var(--transition-1);
  }
  
  .go-top.active {
    visibility: visible;
    opacity: 1;
    transform: translateY(-15px);
  }

  @media (max-width: 767px) {
    .go-top.active {
      transform: translateY(calc(-88px - env(safe-area-inset-bottom)));
    }
  }
  
  /*-----------------------------------*\
    #MEDIA QUERIES
  \*-----------------------------------*/
  
  /**
   * responsive for larger than 550px screen
   */
  
  @media (min-width: 550px) {
    /**
     * REUSED STYLE
     */
  
    .container {
      max-width: 550px;
      margin-inline: auto;
    }
  
    .section-title {
      --fs-3: 3.6rem;
    }
  
    /**
     * HEADER
     */
  
    .header .btn {
      display: flex;
      align-items: center;
      gap: 5px;
      margin-inline-start: auto;
      white-space: nowrap;
      flex-shrink: 0;
    }
  
    /**
     * ABOUT
     */
  
    .stats-list {
      grid-template-columns: repeat(3, 1fr);
    }
  
    /**
     * BLOG
     */
  
    .blog-card {
      display: grid;
      grid-template-columns: 0.75fr 1fr;
      gap: 20px;
      padding: 30px;
    }
  
    .blog-card .banner {
      margin-block-end: 0;
    }
  
    .blog-card .banner a {
      height: 100%;
    }
  
    /**
     * FOOTER
     */
  
    .footer-brand,
    .footer-list:not(:last-child) {
      margin-block-end: 0;
    }
  
    .footer-top .container {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 30px 50px;
    }
  }
  
  /**
   * responsive for larger than 768px screen
   */
  
  @media (min-width: 768px) {
    /**
     * REUSED STYLE
     */
  
    .container {
      max-width: 720px;
    }
  
    /**
     * HERO
     */
  
    .hero {
      min-height: 600px;
      display: grid;
      place-items: center;
    }
  
    .hero-content {
      margin-block-end: 0;
    }
  
    .hero .container {
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: center;
      gap: 30px;
    }

    .hero-media {
      margin-block-start: 0;
    }

    .hero-books-img {
      max-width: min(100%, 440px);
    }
  
    /**
     * SERVICE
     */
  
    .service-list {
      grid-template-columns: 1fr 1fr;
    }
  
    /**
     * FEATURES
     */
  
    .features-list > li:first-child {
      margin-block-end: 0;
    }
  
    .features-list {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 25px;
    }
  
    /**
     * FOOTER
     */
  
    .footer-top .container {
      grid-template-columns: repeat(3, 1fr);
    }
  }
  
  /**
   * responsive for larger than 992px screen
   */
  
  @media (min-width: 992px) {
    /**
     * CUSTOM PROPERTY
     */
  
    :root {
      /**
       * typography
       */
  
      --fs-1: 5.4rem;
    }
  
    /**
     * REUSED STYLE
     */
  
    .container {
      max-width: 950px;
    }
  
    /**
     * HEADER
     */
  
    .header {
      padding-block: 20px;
    }
  
    .overlay,
    .nav-open-btn,
    .navbar-top {
      display: none;
    }
  
    .navbar,
    .navbar.active {
      all: unset;
      margin-inline-start: auto;
    }
  
    .header .container {
      flex-wrap: nowrap;
      gap: clamp(10px, 1.5vw, 20px);
    }
  
    .header .btn {
      margin-inline-start: 0;
      white-space: nowrap;
      flex-shrink: 0;
    }
  
    .navbar-list {
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      gap: clamp(8px, 1.1vw, 20px);
    }
  
    .navbar-item:not(:last-child) {
      border-bottom: none;
    }
  
    .navbar-link {
      color: var(--color);
      white-space: nowrap;
      font-size: clamp(1.35rem, 0.35vw + 1.28rem, 1.5rem);
    }
  
    .logo.logo--image .logo-img {
      height: clamp(42px, 4.2vw, 54px);
      max-width: min(190px, 24vw);
    }
  
    /**
     * HERO
     */
  
    .hero {
      min-height: 700px;
    }
  
    /**
     * ABOUT
     */
  
    .about .container {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 30px;
    }
  
    .about-content--solo {
      grid-column: 1 / -1;
      max-width: 820px;
      margin-inline: auto;
    }
  
    .quem-sou-eu-marquee .quem-sou-eu-photo {
      width: min(42vw, 420px);
    }
  
    .quem-sou-eu-marquee .quem-sou-eu-photo img {
      height: min(36vw, 440px);
    }
  
    .prova-social-shot {
      width: min(38vw, 340px);
      height: min(62vh, 520px);
    }
  
    /**
     * SERVICE
     */
  
    .service-list {
      grid-template-columns: repeat(3, 1fr);
    }
  
    /**
     * FEATURES
     */
  
    .features-list {
      grid-template-columns: 1fr;
    }
  
    .features .container {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 30px;
    }
  
    .features .section-title {
      grid-column: 1 / 4;
    }
  
    .features-banner {
      margin-block: 0;
      display: grid;
      place-items: center;
    }
  
    /**
     * FOOTER
     */
  
    .footer-top .container {
      grid-template-columns: repeat(4, 1fr);
    }
  
    .footer-brand {
      grid-column: 1 / 5;
    }
  
    .footer-brand .text {
      max-width: 45ch;
    }
  }
  
  /**
   * responsive for larger than 1200px screen
   */
  
  @media (min-width: 1200px) {
    /**
     * REUSED STYLE
     */
  
    .container {
      max-width: 1200px;
    }
  
    .section-title {
      --fs-3: 4.6rem;
    }
  
    /**
     * HERO
     */
  
    .hero {
      min-height: 800px;
    }
  
    /**
     * BLOG
     */
  
    .blog-list {
      grid-template-columns: 1fr 1fr;
    }
  
    .blog-card {
      height: 100%;
    }
  
    .blog-card .content {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }
  
    /**
     * FOOTER
     */
  
    .footer-top .container {
      grid-template-columns: 1fr 0.5fr 0.7fr 0.5fr 1fr;
    }
  
    .footer-brand {
      grid-column: auto;
    }
  }
  