/* ===== Utility & Small Component Classes ===== */
/* Extracted from inline style="" attributes in index.html to keep markup clean. */

/* --- Opacity --- */
.opacity-0 {
    opacity: 0;
}

.opacity-80 {
    opacity: 0.8;
}

.opacity-85 {
    opacity: 0.85;
}

/* --- Spacing --- */
.ml-auto {
    margin-left: auto;
}

/* --- Text --- */
.italic {
    font-style: italic;
}

/* --- Hero section --- */
.hero-logo-img {
    max-width: 340px;
    height: auto;
    display: block;
    margin: 0 auto;
}

.hero-audience {
    display: block;
    text-align: center;
    width: 100%;
}

/* --- FAQ disc lists --- */
.faq-disc-list {
    margin-left: 1.5rem;
    color: #d1d5db;
    list-style-type: disc;
}

/* --- Card corner harmonization --- */
/* Round all card components for a consistent, harmonic look. */
.icon-box5,
.icon-box-wcus,
.facts-item,
.tf-pricing.style-01 {
    border-radius: 16px;
}

/* --- CTA button text visibility --- */
/* Keep CTA text white in every non-hover state (default/focus/active/visited)
   so it never becomes invisible after a click. */
.button-src,
.button-src:focus,
.button-src:focus-visible,
.button-src:active,
.button-src:visited {
    color: #fff;
}

.button-src:hover {
    color: #000;
}

/* Prevent sticky :hover on touch devices from leaving the button in the
   highlighted state after a tap. */
@media (hover: none) {
    .button-src:hover {
        color: #fff;
    }
    .button-src:hover::before,
    .button-src:hover::after {
        width: 0;
    }
}
