.alert-box {
    background-color: #ffeeef;
    color: #721c24;
    padding: 15px;
    border-radius: 5px;
    margin: 15px 0;
    border-left: 5px solid #dc3545;
}

.info-box {
    background-color: #e7f3ff;
    color: #0c5460;
    padding: 15px;
    border-radius: 5px;
    margin: 15px 0;
    border-left: 5px solid #007bff;
}

.warning-box {
    box-shadow: 0px 0px 1.5px 1.5px #d8d9fcb0;
    color: #0c5460;
    padding: 0.75rem;
    border-radius: 5px;
    margin: 0.75rem 0;
}

.featured-image {
    max-height: 400px;
}

.line-clamp-2,
.line-clamp-3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.line-clamp-2 {
    line-clamp: 2;
    -webkit-line-clamp: 2;
}

.line-clamp-3 {
    line-clamp: 3;
    -webkit-line-clamp: 3;
}

.home-page .home-hero {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(250, 248, 242, 0.96) 100%);
    border-radius: 0;
}

.home-page .home-hero-copy-block {
    max-width: 48rem;
}

.home-page .home-hero-title {
    font-weight: 700;
}

.home-page .home-hero-search {
    max-width: 28rem;
}

.home-page .home-hero-search .form-control,
.home-page .home-hero-search .btn {
    border-radius: 0;
}

.home-page .home-hero-search .btn {
    font-weight: 600;
}

.home-page .home-pillar-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1.5rem;
}


.home-page .home-pillar-overlay {
    inset: auto 0 0 0;
    padding: 1rem;
    background: linear-gradient(180deg, transparent 0%, rgba(15, 23, 42, 0.88) 100%);
}

.home-page .home-pillar-title {
    color: #fff;
    display: inline-block;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

@media (min-width: 992px) {

    .home-page .home-featured-primary-column,
    .home-page .home-featured-secondary-column {
        display: flex;
    }

    .home-page .home-featured-primary-card,
    .home-page .home-featured-secondary-stack {
        flex: 1 1 auto;
    }

    .home-page .home-featured-secondary-card {
        flex: 1 1 0;
    }
}

@media (max-width: 767.98px) {

    .home-page .home-pillar-grid {
        grid-template-columns: 1fr;
    }

    .home-page .home-hero-title {
        font-size: 2.4rem;
    }
}


.faq-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px;
}

.faq-item.right-0,
.faq-item.right-1 {
    flex-direction: row-reverse;
    text-align: left;
}

.icon {
    flex-shrink: 0;
    border-radius: 50%;
    overflow: hidden;
    width: 5vw;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 12px;
}

.icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bubble {
    background: #e5e7eb;
    padding: 12px 16px;
    border-radius: 12px;
    max-width: 85%;
    position: relative;
    font-weight: bold;
}

.bubble-ans {
    padding: 12px 16px;
    border-radius: 12px;
    max-width: 85%;
    position: relative;
}

.bubble::before {
    content: "";
    position: absolute;
    left: -15px;
    top: 12px;
    border-width: 8px;
    border-style: solid;
    border-color: transparent #e5e7eb transparent transparent;
}

.faq-item.right-0 .bubble-ans {
    background: #dbeafe;
}

.faq-item.right-1 .bubble-ans {
    background: #fedbdb;
}

.faq-item.right-0 .bubble-ans::after {
    content: "";
    position: absolute;
    right: -15px;
    top: 12px;
    border-width: 8px;
    border-style: solid;
    border-color: transparent transparent transparent #dbeafe;
}

.faq-item.right-1 .bubble-ans::after {
    content: "";
    position: absolute;
    right: -15px;
    top: 12px;
    border-width: 8px;
    border-style: solid;
    border-color: transparent transparent transparent #fedbdb;
}

.inner-float {
    position: fixed;
    font-size: 1.25rem;
    right: 0px;
    top: 45%;
    transform: translateY(-50%);
    color: #fff;
    line-height: 30px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: bold;
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
    background: orange;
    padding: 3px 0;
    width: 36px;
    height: 125px;
    z-index: 99999;
    transition: background-color 0.3s ease;
}

.inner-float:hover {
    background: #E1700D;
}

@media (max-width: 768px) {
    .inner-float {
        line-height: 24px;
        font-size: 1rem;
        width: 28px;
        height: 100px;
        z-index: 99999;
    }
}

.cta-section {
    text-align: center;
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px dashed #ccc;
}

.cta-button {
    display: inline-block;
    background: #c0392b;
    color: white;
    padding: 6px 18px;
    text-decoration: none;
    border-radius: 25px;
    font-weight: bold;
    margin-top: 10px;
}

.cta-button:hover {
    background: #a93226;
}

h4 {
    color: #f77902;
    font-weight: bold;
}

.cta-section h4 {
    font-weight: 700 !important;
}

@media (min-width: 992px) {
    .sidebar-column {
        border-left: 1px solid #dee2e6;
        padding-left: 1.5rem;
    }
}

@media (max-width: 991.98px) {
    .sidebar-sticky {
        position: static;
    }
}

.story-box {
    box-shadow: 0px 0px 1.5px 1.5px #fcd9d8b0;
    color: #0c5460;
    padding: 0.5rem;
    border-radius: 5px;
    margin: 0.75rem 0;
}

.text-cyan {
    color: darkcyan;
}

html {
    scroll-behavior: smooth;
}

.article-toc {
    background: linear-gradient(180deg, #f8fffb 0%, #ffffff 100%);
    border: 1px solid #78d49f;
    border-radius: 18px;
    padding: 1.5rem 1.75rem;
    box-shadow: 0 0.75rem 1.5rem rgba(35, 115, 76, 0.08);
}

.article-toc-title {
    color: #213b2d;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.article-toc-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.article-toc-item {
    display: block;
}

.article-toc-item+.article-toc-item {
    margin-top: 0.75rem;
}

.article-toc-link {
    color: #1f9c61;
    font-size: 1.05rem;
    line-height: 1.7;
    text-decoration: none;
}

.article-toc-link:hover {
    color: #146c43;
    text-decoration: underline;
    text-underline-offset: 0.2rem;
}

.article-anchor {
    scroll-margin-top: 6.5rem;
}

.faq-group-block {
    position: relative;
}

@media (max-width: 991.98px) {
    .article-toc {
        padding: 1.25rem;
    }

    .article-toc-title {
        font-size: 1.1rem;
    }

    .article-toc-link {
        font-size: 1rem;
    }

    .article-anchor {
        scroll-margin-top: 5.5rem;
    }
}