@media (min-width: 1400px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl { max-width: 1300px; }
}
.title-wrap h1 { font-size: 50px; font-weight: 600; line-height: 140%; letter-spacing: -0.5px; color: #000; position: relative; z-index: 99; margin: 0; }

/* .title-wrap h1 span {
    color: var(--primarycolor);
    font-family: var(--primaryfont);
} */
.dots { position: relative; }
.common-media { padding: 60px 0 7px 0; }
@media screen and (max-width:1199px) {
  .common-media { padding: 55px 0px 12px 0; }
}
@media screen and (max-width:991px) {
  .common-media { padding: 50px 0 26px 0; }
}
@media screen and (max-width:767px) {
  .common-media { padding: 45px 0px 37px 0; }
}
@media (max-width:576px) {
  .common-media { padding: 35px 0; }
}
@media (max-width:480px) {
  .common-media { padding: 25px 0; }
}
.title-wrap .h4 .dots { left: 0; top: 6px; width: 8px; height: 8px; border-radius: 100%; background: var(--primarycolor); display: block; }
.title-wrap .h4 { font-size: 14px; color: #4C596D; font-weight: 500; line-height: 150%; position: relative; padding-bottom: 15px; display: flex; gap: 10px; margin: 0; }
.details-img-wrap img { margin: 0; }
.banner-right-content { padding: 24px 16px; background: rgba(255, 108, 26, 0.05); }
.banner-right-content .h3, .banner-right-content h3 { color: #192A44; font-size: 22px; font-weight: 600; line-height: 29px; padding-bottom: 24px; margin-bottom: 0; }
.banner-right-content p { color: #192A44; font-size: 14px; font-weight: 400; line-height: 22px; }
.author-main { margin-top: 10px; }
audio { width: 500px; height: 60px; }
.blog-author-detail p a { color: #192A44; font-size: 20px; font-weight: 600; line-height: 40px; }
.blog-author-detail p a:hover { color: #ff6c1a; }
.author-detail { color: #192A44; font-size: 18px; font-weight: 400; line-height: 24px; }
.blogs-main-content-wrap { margin-top: 85px; }
.score-label { color: #192A44; font-size: 16px!important; font-weight: 700!important; line-height: 25px; padding-bottom: 14px; }
.blog-post-content ul li, .blog-post-content ol li, .blog-post-content p { color: #192A44; font-size: 18px; font-weight: 400; line-height: 35px; padding-bottom: 14px; }
label { color: #192A44; font-size: 18px; font-weight: 400; padding-bottom: 14px; }
li b, p b { font-weight: 600; }
@media (max-width:1199px) {
  .banner-right-content .h3, .banner-right-content h3 { font-size: 20px; font-weight: 600; line-height: 24px; margin-bottom: 0; }
  .title-wrap h1 { font-size: 34px; line-height: 132%; }
  audio { width: 400px; height: 50px; }
  .ai-cta .title-wrap { padding: 50px 0px 50px 50px; }
  .blogs-main-content-wrap { margin-top: 60px; }
}
@media (max-width:991px) {
  audio { width: 300px; height: 50px; }
  .blogs-main-content-wrap { margin-top: 50px; }
}
.blog-post-content .h2, .blog-post-content h2 { color: #192A44; font-size: 26px; font-weight: 700; line-height: 36px; padding-bottom: 20px; }
.blog-post-content h3, .blog-post-content .h3 { color: #192A44; font-size: 22px; font-weight: 700; line-height: normal; padding: 30px 0 10px 0px; }
.blog-post-content h4, .blog-post-content .h4 { color: #192A44; font-size: 20px; font-weight: 600; line-height: normal; padding: 10px 0px; }
.sub-titles { color: #192A44; font-size: 18px; font-weight: 600; line-height: normal; margin-bottom: 10px; }

/* Table of contents start */
.table-of-content-section { position: sticky; top: 100px; }
.blog-toc { border: 3px solid #FF6C1A66; border-radius: 15px; padding-top: 10px; }
.recent-blogs-head .h2 { color: #192A44; font-size: 20px; font-weight: 700; line-height: 150%; padding-left: 20px; }
.sidebar-blogs-single .h4 { margin-bottom: 0; }
.smart-header .h4 { display: block; color: #192A44; font-size: 16px; font-weight: 400; line-height: 25px; padding: 10px 25px; border-radius: 4px; width: 100%; margin-bottom: 0; }
.sidebar-blogs-single .h4 a { display: block; color: #192A44; font-size: 16px; font-weight: 400; line-height: 25px; padding: 10px 25px; border-radius: 4px; width: 100%; }
.smart-image { padding: 10px 10px 0 10px; }
.smart-image img { border-radius: 15px; }
.smart-blog-first { cursor: pointer; }
.popular-item:hover .popular-number { color: #FF8A3D !important; transition: 0.3s ease-in-out; }
.popular-item:hover .h4 { color: #FF8A3D; transition: 0.3s ease-in-out; }
.toc-scroll .menu-link.active { background: rgba(255, 108, 26, 0.15); color: #FF6C1A; font-weight: 600; }
.toc-scroll { display: flex; flex-direction: column; gap: 3px; }
.table-responsive.ai-table td, .table-responsive.ai-table th { padding: 14px; text-align: start; border: 1px solid #E5E7EB; }
.ai-table .table th { font-size: 16px; font-weight: 600; background: rgba(255, 108, 26, 0.10); color: #FF6C1A; }
.ai-table .table td ul li, .ai-table .table td { font-size: 18px; font-weight: 400; }
.ai-table .table td.spark { min-width: 250px; }
.ai-table .table { font-size: 20px; border-collapse: separate; border-spacing: 0; border-radius: 20px 20px 0px 0px; overflow: hidden; border: 1px solid #E5E7EB; }
@media (max-width:1199px) {
  .ai-table .table td ul li, .ai-table .table td { font-size: 16px; }
  .smart-header .h4 { padding: 10px 15px; }
}

/* CTA STart */
.ai-cta-request { border-radius: 24px; border: 1.5px solid #E5E7EB; background: rgba(255, 108, 26, 0.02); padding: 50px 60px; max-width: 830px; margin: 0 auto; }
@media (max-width:1199px) {
  .ai-cta-request { padding: 40px 50px; }
}
@media (max-width:991px) {
  .blog-post-content .h2, .blog-post-content h2 { font-size: 24px; line-height: 32px; }
  .ai-table .table td.spark { min-width: auto; }
  .ai-cta-request { padding: 40px; border-radius: 10px; }
  .title-wrap h1 { font-size: 30px; }
  .ai-table { margin-bottom: 20px; }
  .ai-table .table td ul li, .ai-table .table td { font-size: 16px; font-weight: 400; }
  .blog-video iframe { height: 270px !important; }
  .smart-image { padding: 0; }
  .recent-blogs-head .h2 { padding: 0px 0px 10px 0px }
}
@media (max-width: 700px) {
  .ai-cta-request { padding: 35px 40px; margin: 0; }
  .title-wrap h1 { font-size: 28px; }
  .blog-author-detail img { width: 33px !important; height: 33px !important; }
  .blog-author-detail p a { font-size: 18px; line-height: 130%; }
  .author-detail { font-size: 16px; }
  .blogs-main-content-wrap { margin-top: 35px; }
  .blog-post-content .h2, .blog-post-content h2 { font-size: 22px; line-height: 28px; }
  .blog-post-content ul li, .blog-post-content ol li, .blog-post-content p { font-size: 17px; line-height: 150%; }
  label { font-size: 17px; }
  .blog-post-content h4, .blog-post-content .h4 { font-size: 18px; }
  .blog-post-content .h2 { text-align: center !important; }
  .ai-cta .title-wrap { padding: 26px; }
  .blog-post-content h3, .blog-post-content .h3 { padding: 25px 0 5px 0px; }
}
@media (max-width: 575px) {
  .title-wrap h1 { font-size: 26px; }
  .author-detail { font-size: 14px; }
  audio { height: 40px; }
  .blog-video iframe { height: 250px !important; }
}
@media (max-width: 480px) {
  .ai-cta-request { padding: 30px 15px; border-radius: 16px; }
  .title-wrap h1 { font-size: 24px; }
  .blog-post-content .h2, .blog-post-content h2 { font-size: 20px; line-height: 26px; padding-bottom: 15px; }
  .blog-post-content ul li, .blog-post-content ol li, .blog-post-content p { font-size: 16px; }
  label { font-size: 16px; }
  .sub-titles { font-size: 16px; }
  .blog-post-content h4, .blog-post-content .h4 { font-size: 17px; }
  .blog-post-content .h2, .blog-post-content h2 { font-size: 18px; }
  .banner-cta-btns a { font-size: 12px; }
}

/* CTA End */

/* CTA Start */
.ai-cta-main { padding: 70px 0; }
.ai-cta { border: 1px solid #E5E7EB; border-radius: 15px; background: rgba(255, 108, 26, 0.02); min-height: 336px; margin: 0 auto; }
.ai-cta .title-wrap { padding: 0 0 0 45px; }
.ai-cta-imgs { border-radius: 0px 15px 15px 0px; }
@media (max-width: 1199px) {
  .ai-cta .title-wrap h2 { font-size: 24px; }
  .ai-cta-main { padding-top: 0; }
}
@media (max-width: 991px) {
  .ai-cta .title-wrap { padding: 40px; }
  .ai-cta-main { padding: 0 0 60px; }
  .ai-cta { margin: 0px; }
}
@media (max-width: 767px) {
  .ai-cta .title-wrap h2 { font-size: 22px; }
  .ai-cta .title-wrap { padding: 40px; }
}
@media (max-width: 480px) {
  .ai-cta .title-wrap h2 { font-size: 20px; }
  .ai-cta .title-wrap { padding: 30px 20px; }
  .ai-cta-main { padding: 0 0 45px; }
}

/* CTA End */

/* banner-cta-btns style start here */
.banner-cta-btns { flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 20px; }
.banner-cta-btns a { display: block; padding: 8px 20px; border-radius: 8px; font-size: 16px; font-weight: 600; transition: all 0.5s; }
.banner-cta-btns a:first-child { border: 1px solid #ff6c1a; background: rgba(255, 108, 26, 0.10); color: #ff6c1a; }
.banner-cta-btns a:hover { color: #fff; background: #ff6c1a; }
.banner-list p { color: #192A44; font-size: 14px; font-weight: 600; }
.banner-list p span { color: #FF6C1A; }
@media (max-width:1199px) {
  .banner-cta-btns a { font-size: 15px; padding: 12px; }
  .banner-list p { font-size: 12px; }
  .ai-cta { min-height: auto; }
}
@media (max-width: 991px) {
  .banner-cta-btns a { padding: 10px 12px; }
}
@media (max-width:767px) {
  .banner-cta-btns a { font-size: 14px; }
}

/* Blog Scroll Section style start here */
.blog-section .blog-card { padding-bottom: 0 }
.blog-section .blog-card figure { margin-bottom: 0 }
.blog-section .desc { padding: 15px; background: #f7f7f7; border: 1px solid #ededed }
.blog-section .bolg-category-title .h4, .blog-section .bolg-category-title h4 { font-size: 14px; line-height: 21px; font-weight: 600; color: #192a44; padding-right: 10px; margin: 0; }
.blog-section .blog-card .bolg-category-title img { visibility: hidden; }
.blog-section .blog-card:hover .bolg-category-title img { transition: 1s ease-in-out; visibility: visible; }
.blog-section .blog-card h3, .blog-section .blog-card .h3 { color: var(--secondrycolor); font-size: 20px; font-weight: 600; line-height: 150%; transition: .3s ease-in-out; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 60px; margin: 0 !important; padding: 0; }
.blog-section .blog-card:hover h3 { color: var(--primarycolor) }
@media screen and (max-width:1199px) {
  .blog-section .blog-card h3, .blog-section .blog-card .h3 { font-size: 18px; min-height: 54px; }
}
@media screen and (max-width:767px) {
  .blog-section .blog-card h3, .blog-section .blog-card .h3 { font-size: 17px; min-height: 50px; }
}
@media screen and (max-width:480px) {
  .blog-section .desc { padding: 10px; }
  .blog-section .bolg-category-title .h4, .blog-section .bolg-category-title h4 { font-size: 13px; }
  .blog-section .blog-card h3, .blog-section .blog-card .h3 { font-size: 15px; min-height: 45px; }
}

/* Blog Scroll Section style ends here */
.pros-cons { background-color: #f3f6f9; }
.list-img.tick li:before { background: url(../images/tick.svg) no-repeat left top; }
.list-img.exclamation li:before { background: url(../images/exclamation-red.svg) no-repeat left top; }

/* FAQ Start */
.faq .accordion-item { border: 0; border-bottom: 1px solid #E5E7EB;   &:last-child { border-bottom: 0; }
}
.faq .accordion-button { font-size: 20px; color: #4C596D; padding: 30px 0; gap: 5px; }
.faq .accordion-button:not(.collapsed) { font-weight: 600; color: #111928; background-color: transparent; box-shadow: 0 0 0 0; }
.faq .accordion-button::after { background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 36 36" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M18.0007 0.0820312C8.10555 0.0820312 0.0839844 8.1036 0.0839844 17.9987C0.0839844 27.8939 8.10555 35.9154 18.0007 35.9154C27.8958 35.9154 35.9173 27.8939 35.9173 17.9987C35.9173 8.1036 27.8958 0.0820312 18.0007 0.0820312ZM19.6673 11.332C19.6673 10.4116 18.9212 9.66536 18.0007 9.66536C17.0802 9.66536 16.334 10.4116 16.334 11.332V16.332H11.334C10.4135 16.332 9.66732 17.0782 9.66732 17.9987C9.66732 18.9192 10.4135 19.6654 11.334 19.6654H16.334V24.6654C16.334 25.5859 17.0802 26.332 18.0007 26.332C18.9212 26.332 19.6673 25.5859 19.6673 24.6654V19.6654H24.6673C25.5878 19.6654 26.334 18.9192 26.334 17.9987C26.334 17.0782 25.5878 16.332 24.6673 16.332H19.6673V11.332Z" fill="%23FF6C1A" fill-opacity="0.2"/></svg>'); width: 40px; height: 40px; background-size: 40px; }
.faq .accordion-button:not(.collapsed)::after { background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M20.0007 2.08203C10.1056 2.08203 2.08398 10.1036 2.08398 19.9987C2.08398 29.8939 10.1056 37.9154 20.0007 37.9154C29.8958 37.9154 37.9173 29.8939 37.9173 19.9987C37.9173 10.1036 29.8958 2.08203 20.0007 2.08203ZM13.334 18.332C12.4135 18.332 11.6673 19.0782 11.6673 19.9987C11.6673 20.9192 12.4135 21.6654 13.334 21.6654H26.6673C27.5878 21.6654 28.334 20.9192 28.334 19.9987C28.334 19.0782 27.5878 18.332 26.6673 18.332H13.334Z" fill="%23FF6C1A"/></svg>'); }
.faq .accordion-button:focus { box-shadow: 0 0 0 0; }
.faq .accordion-body { padding: 0 0 30px; }
.faq .accordion-body p { color: #192A44; font-size: 18px; font-weight: 400; line-height: 162%; }

/* FAQ End */
@media (max-width: 767px) {
  .faq .accordion-button { font-size: 18px; padding: 20px 0; }
  .faq .accordion-body p { font-size: 17px; }
}
@media (max-width: 576px) {
  .faq .accordion-button { font-size: 16px; padding: 20px 0; }
  .faq .accordion-body p { font-size: 15px; }
  .faq .accordion-button::after { width: 30px; height: 30px; background-size: 30px; }
}

/* Footer Start */
.lines-white hr { background: #D1D5DB; }
.social-icons ul li a { transition: 0.3s ease-in-out;   &:hover svg path { fill: #ff6c1a; }
}
.footer-heading ul li a:hover { font-weight: 400 !important; }
@media screen and (max-width: 991px) {
  .footer-heading p { padding-bottom: 25px !important; }
  .lines-white hr { margin: 0 0 25px; }
}

/* Footer End */

/* Table of Contents style start here */
body button.btn.btn-toc { background: #ff6c1a !important; color: #fff !important; border-radius: 0; position: relative; }
body button.btn.btn-toc.dropdown-toggle::after { display: inline-block; margin-left: 0.255em; vertical-align: 0.255em; content: ""; border-top: 0.3em solid; border-right: 0.3em solid transparent; border-bottom: 0; border-left: 0.3em solid transparent; }
.toc-main { position: relative; margin-top: 30px; margin-bottom: -60px; z-index: 1; }
.btn-toc { background: #ff6c1a !important; color: #fff !important; border-radius: 0; }
.btn-toc .btn.show { color: #fff !important; }
.btn-toc.dropdown-menu.show { position: relative !important; transform: translate(0, 0) !important; transition: all 2s ease-in-out; }
.btn-toc.toc-tab-menu.dropdown-menu.show { position: absolute !important; top: 100% !important; max-height: 300px !important; overflow-y: auto !important;   &::-webkit-scrollbar { width: 5px !important; }
  &::-webkit-scrollbar-thumb { background-color: #ff6c1a !important; border-radius: 20px !important; }
}
.btn-toc.dropdown-menu { width: 100%; background: #f3f6f9 !important; border-radius: 6px; padding: 25px }
.btn-toc.dropdown-menu li { list-style: disc; list-style-position: inside; color: #000 }
.btn-toc.dropdown-menu li a { font-size: 16px; color: #4c596d !important }
.btn-toc.dropdown-menu li a:hover { color: #ff6c1a !important }
@media (max-width:991px) {
  .toc-main { margin-bottom: -40px; }
  .table-of-content-section { top: 20px; }
}
@media (max-width:767px) {
  .toc-main { margin-bottom: -20px; }
  .btn-toc.dropdown-menu li a { font-size: 14px; }
  .btn-toc.dropdown-menu { padding: 15px; }
}
@media (max-width:576px) {
  .btn-toc.dropdown-menu { padding: 10px; }
}
@media (max-width: 767px) {
  .ai-table { overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
  .ai-table .table { min-width: 600px !important; }
}
.ai-table::-webkit-scrollbar { background-color: #e5e7eb; width: 5px; height: 5px; }
.ai-table::-webkit-scrollbar-thumb { background-color: #ff6c1a; border-radius: 6px; width: 5px; height: 5px; }

/* Keep TOC labels in logical LTR order even inside RTL scroll containers */
.blog-toc .menu-link { direction: ltr; unicode-bidi: isolate; text-align: left; display: block; }
.toc-scroll .toc-subitems .menu-link.active { background: transparent; }
.toc-subitems li { list-style: none; position: relative; padding-left: 30px; }
.toc-scroll .toc-subitems li .menu-link.active::before { content: ""; position: absolute; width: 7px; height: 7px; border-radius: 100%; background: #ff6c1a; left: 15px; top: 12px; transform: translate(-50%, -50%); }
.toc-subitems { flex-direction: column; gap: 10px; margin: 10px 0; }
.custom-scroll { max-height: 300px; overflow-y: auto; padding-right: 6px; direction: rtl; text-align: end;   &::-webkit-scrollbar { width: 5px; }
  &::-webkit-scrollbar-thumb { background-color: transparent; border-radius: 20px; }
}
.custom-scrolls { max-height: 600px; overflow-y: auto; padding-right: 6px; direction: rtl; text-align: end; position: sticky; top: 100px;   &::-webkit-scrollbar { width: 5px; }
  &::-webkit-scrollbar-thumb { background-color: #ff6c1a; border-radius: 20px; }
}
.popular-number { margin: auto; color: #FF6C1A66; font-weight: 700; display: flex; justify-content: center; align-items: center; }
.popular-section { border: 3px solid #FF6C1A66; padding: 10px; border-radius: 15px; }
.horizontal-line { margin: 30px 0px; height: 0px; border-top: 0 solid #e6e8ea; position: relative; height: 2px; opacity: 1; background: #e6e8ea; }
.horizontal-lines { margin: 30px 0px 20px 0px; height: 0px; border-top: 0 solid #e6e8ea; position: relative; height: 2px; opacity: 1; background: #e6e8ea; }
.horizontal-lines:before, .horizontal-lines:after, .horizontal-line:before, .horizontal-line:after { width: 35px; height: 2px; background: #ff6c1a; content: ""; position: absolute; left: 0; top: 0; }
.horizontal-lines:after, .horizontal-line:after { width: 6px; background: #fff; left: 35px; }
.responsive-height { height: auto; }
@media (min-width: 768px) {
  .responsive-height { height: 100%; }
}
.toc-subitems { display: none; }

/* End */

/* how-to-build-deploy-spring-boot-application blog Start */
.content-main { border-radius: 15px; background: #2b2f35; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3); }
.content-main:hover { transform: translateY(-3px); }
.content-copy { padding: 10px 15px; border-radius: 15px 15px 0 0; border-bottom: 1px solid #ffddb9; }
.content-body { padding: 15px 15px; }
.content-body p { color: #ffddb9; }
.copy-wrapper { position: relative; display: flex; align-items: center; justify-content: center; font-size: 14px; border-radius: 8px; color: #fff; background: #ff6c1a; padding: 3px 10px; cursor: pointer;   &:hover { background-color: #e65a00; }
}
.content-body pre {   &::-webkit-scrollbar { height: 4px; }
  &::-webkit-scrollbar-thumb { background-color: #ff6c1a; border-radius: 20px; }
}
.content-body pre code { color: #ffddb9; }
.copy-main { position: absolute; right: 10px; top: 10px; }
.copy-tooltip { position: absolute; top: -30px; right: 0; background-color: #fff; color: #000; padding: 4px 8px; border-radius: 4px; font-size: 12px; white-space: nowrap; opacity: 0; pointer-events: none; transform: translateY(5px); transition: opacity 0.3s ease, transform 0.3s ease; z-index: 10; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3); }
.copy-tooltip.show { opacity: 1; transform: translateY(0); }
@media (max-width:991px) {
  .copy-main { position: relative; right: 10px; top: 10px; display: flex; justify-content: end; margin-bottom: 5px; }
}

/* End */
.author-detail-img { width: calc(100% - 70px);   & img { width: 100%; }
}
@media (max-width:991px) {
  .author-detail-img { width: auto;   & img { width: auto; }
 }
}
@media (max-width:700px) {
  .author-detail-img { width: calc(100% - 70px);   & img { width: 100% !important; height: auto !important; }
 }
}
.banner-new { background-color: #4c596d; align-items: center; justify-content: center; }

/* .banner-image {
    width: calc(100% - 250px);
} */
.blog-banner-header { height: auto !important; padding: 20px 0 20px; }
.blog-banner { height: 100%; }
@media(max-width:1199px) {
  .blog-banner-header { height: auto !important; }
  .blog-banner { height: auto; }
}
@media(max-width: 991px) {
  .popular-number { text-align: end; margin: 0; }
}
@media(max-width:576px) {
  .blog-header h1 { text-align: center !important; margin: auto !important; }
  .blog-banner-header { display: block !important; height: auto !important; }
  .blog-banner { display: block; align-items: center !important; margin: auto; }
  .banner-image { display: none; }
}
@media (max-width:991px) {
  .popular-content hr { border-top: 0 solid #e6e8ea; position: relative; height: 2px; opacity: 1; background: #e6e8ea; margin: 70px 0px 10px 0px; }
  .popular-content hr:before, .popular-content hr:after { width: 35px; height: 2px; background: #ff6c1a; content: ""; position: absolute; left: 0; top: 0; }
  .popular-content hr:after { width: 6px; background: #fff; left: 35px; }
}
@media (max-width: 480px) {
  .popular-content hr { margin: 40px 0px 60px 0px; }
}
.recommend { display: flex; border-radius: 24px; border: 1.5px solid #ff6c1a; background: rgba(255, 108, 26, 0.02); padding: 30px 40px; max-width: 830px; margin: 0 auto; flex-direction: row; background: linear-gradient(240deg, #ffe6cf, #fff2e8); }

/* recommend section Start */
.recommend h4 { padding: 10px 0 5px 0 !important; }
.recommend h5 { font-size: 14px !important; padding: 7px !important; border-radius: 24px; font-size: 12px; font-weight: 600; color: #ff7a00; background: linear-gradient(180deg, #ffe6cf); width: fit-content; }
.recommend p { font-size: 16px; padding: 0px; }
@media (max-width:767px) {
  .recommend { flex-direction: column; }
  .recommend p { padding-bottom: 10px; }
}
@media (max-width:567px) {
  .recommend { padding: 20px 17px; }
  .banner-cta-btns a { padding: 8px 10px; }
}

/* recommend section End */

/* protips section Start */
.protips { display: flex; border-radius: 24px; border: 1.5px solid #2563EB; background: rgba(255, 108, 26, 0.02); padding: 30px 40px; max-width: 830px; margin: 0 auto; flex-direction: row; background: linear-gradient(180deg, #DCE6F6 10%, #FFFFFF 100%); }
.protips span { color: #2563EB !important; }
.protips p { color: #2563EB !important; }
.protips ul li { color: #2563EB !important; }
.protips h4,.protips .h4 { color: #2563EB !important; }
.protips.orange { background: linear-gradient(180deg, #FFE6CF 10%, #FFFFFF 100%); border: 1.5px solid #FF6C1A; }
.protips.orange span { color: #FF6C1A !important; }
.protips.orange p { color: #FF6C1A !important; }
.protips.orange ul li { color: #FF6C1A !important; }
.protips.orange h4, .protips.orange .h4 { color: #FF6C1A !important; }
@media (max-width:567px) {
  .protips { padding: 20px 17px; }
}

/* protips section End */

/* quote section Start */
.quote-box { background: #f5f5f5; border-left: 4px solid #F97316; padding: 16px 18px; font-style: italic; font-family: "Georgia", "Times New Roman", serif; color: #1F2937; font-size: 20px; max-width: 880px; margin: 10px 0; }
@media (max-width: 1199px) {
  .quote-box { max-width: 500px; font-size: 18px; }
}
@media (max-width: 767px) {
  .quote-box { max-width: auto; font-size: 16px; }
}

/* quote section End */

/* preferred notes Start */
.preferred-box { padding: 20px 24px!important; margin: 15px 0px!important; background-color: transparent; border-left: 4px solid transparent; transition: background-color 0.4s ease, border-left 0.4s ease, transform 0.3s ease; }
.preferred-box { border-left: 4px solid #FF6C1A; background-color: #f3f7ff; transform: translateY(-2px); }
.preferred-box:hover { transform: translateY(-4px); }

/* preferred notes End */

/* important notes Start */
.important-box { border-left: 4px solid #FF6C1A; padding: 5px 20px; margin: 10px 0; }
@media (max-width: 767px) {
  .important-box { border-left: 3px solid #FF6C1A; padding: 3px 8px; }
}

/* important notes End */

/* Quick Facts Start */
.quick-facts { display: flex; flex-direction: column; gap: 12px; }
.fact-item { display: flex; align-items: center; gap: 10px; }
.fact-item span { font-size: 18px; }
@media (max-width: 700px) {
  .fact-item span { font-size: 17px; }
}
@media (max-width: 480px) {
  .fact-item span { font-size: 16px; }
}

/* Quick Facts End */
.blog-post-content ul.star-list { list-style: none !important; padding-left: 0 !important; margin-left: 0 !important; }
.blog-post-content ul.star-list li { list-style: none !important; position: relative; padding-left: 22px; }
.blog-post-content ul.star-list li::before { content: "\2605"; position: absolute; left: 0; top: 10px; color: #000000; font-size: 14px; line-height: 1; }

/* how-to-build-deploy-spring-boot-application blog Start */
.content-main { border-radius: 15px;background: #2b2f35;box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3); }
.content-main:hover { transform: translateY(-3px); }
.content-copy { padding: 10px 15px;border-radius: 15px 15px 0 0;border-bottom: 1px solid #ffddb9; }
.content-body { padding: 15px 15px; }
.content-body p { color: #ffddb9; }
.copy-wrapper { position: relative;display: flex;align-items: center;justify-content: center;font-size: 14px;border-radius: 8px;color: #fff;background: #ff6c1a;padding: 3px 10px;cursor: pointer;   &:hover { background-color: #e65a00; }
}
.content-body pre {   &::-webkit-scrollbar { height: 4px; }
  &::-webkit-scrollbar-thumb { background-color: #ff6c1a;border-radius: 20px; }
}
.content-body pre code { color: #ffddb9; }
.copy-main { position: absolute;right: 10px;top: 10px; }
.copy-tooltip { position: absolute;top: -30px;right: 0;background-color: #fff;color: #000;padding: 4px 8px;border-radius: 4px;font-size: 12px;white-space: nowrap;opacity: 0;pointer-events: none;transform: translateY(5px);transition: opacity 0.3s ease, transform 0.3s ease;z-index: 10;box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3); }
.copy-tooltip.show { opacity: 1;transform: translateY(0); }
@media (max-width:991px) {
  .copy-main { position: relative;right: 10px;top: 10px;display: flex;justify-content: end;margin-bottom: 5px; }
}

/* End */
.trust-badges { margin: 20px 0; display: flex; flex-wrap: wrap; gap: 10px 16px; font-size: 16px; font-weight: 500; }
.trust-badges > span { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 6px 10px; background: rgba(255, 108, 26, 0.15); border: 1px solid #f68e44; border-radius: 999px; box-shadow: 0 6px 14px rgba(17, 24, 39, 0.06); }
.trust-badges .trust-rating-icon { font-size: 1.05em; color: #FF6C1A; }
.trust-badges .rating-value { font-weight: 700; color: #111827; }
.trust-badges .rating-stars { display: inline-flex; align-items: center; gap: 2px; line-height: 1; }
.trust-badges .rating-stars i { font-size: 0.95em; color: #f59e0b; }
.rating-flex { flex-wrap: wrap; }
@media (max-width: 767px) {
  .trust-badges { gap: 8px; font-size: 14px; }
  .trust-badges > span { width: 100%; justify-content: flex-start; padding: 8px 12px; border-radius: 14px; line-height: 1.4; }
  .trust-badges > span b { white-space: nowrap; }
}
.trend-stats-wrap { background:rgba(255, 108, 26, 0.10); border:1px solid #E5E7EB; border-radius:16px; padding:18px; }
.trend-stats-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.trend-stat-card { background:rgba(255, 108, 26, 0.10); border:1px solid #E5E7EB; border-radius:14px; padding:18px 16px; box-shadow:0 10px 24px #f3f6f9; height:100%; }
.trend-stat-value { color:#FF6C1A; font-weight:800; font-size:28px; line-height:1.15; letter-spacing:-0.02em; margin-bottom:10px; }
.trend-stat-title { color:#000; font-weight:600; font-size:13px; line-height:1.35; margin-bottom:10px; }
.trend-stat-source { color:#000; font-size:12px; line-height:1.3; }
@media (max-width: 1199px) {
  .trend-stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 575px) {
  .trend-stats-wrap { padding:14px;border-radius:14px; }
  .trend-stats-grid { grid-template-columns:1fr;gap:12px; }
  .trend-stat-value { font-size:26px; }
}

.rag-works-box { background: rgba(255, 108, 26, 0.02); border-color: #E5E7EB !important; border-radius: 16px; }
.card-rounded-12 { border-radius: 12px !important; }
.rag-step-num { color: #ff6c1a; font-weight: 600; }
.rag-step-text { font-size: 15px; line-height: 1.4; color: #192A44; }
.scenario-box { background: #f8f9fa; border-color: #E5E7EB !important; border-radius: 16px; }
.scenario-title { font-weight: 600; color: #192A44; margin-bottom: 12px; font-size: 18px; }
.scenario-prompt-box { border-radius: 12px !important; border-left: 4px solid #ff6c1a !important; }
.scenario-prompt-text { font-style: italic; color: #4C596D; }
.chatbot-response-title { font-weight: 600; color: #dc3545; margin-bottom: 8px; }
.agent-response-title { font-weight: 600; color: #198754; margin-bottom: 8px; }
.response-text { font-size: 15px; color: #4C596D; }
.comparison-card-chatbot { border-radius: 16px !important; background: rgba(220, 53, 69, 0.02); border-color: #f5c2c7 !important; }
.comparison-card-agent { border-radius: 16px !important; background: rgba(25, 135, 84, 0.02); border-color: #badbcc !important; }
.chatbot-card-title { color: #dc3545; font-weight: 600; }
.agent-card-title { color: #198754; font-weight: 600; }
.comparison-list { font-size: 16px; line-height: 1.8; }
.comparison-list-item { color: #192A44; margin-bottom: 8px; }
.comparison-icon-check { color: #198754; margin-right: 8px; }
.comparison-icon-cross { color: #dc3545; margin-right: 8px; }
.difference-box { background: rgba(255, 108, 26, 0.04); border-color: #ff6c1a !important; border-radius: 16px; }
.difference-title { color: #192A44; font-weight: 700; margin-bottom: 15px; }
.diff-card-chatbot { border-radius: 12px !important; border-bottom: 3px solid #dc3545 !important; }
.diff-card-label-chatbot { font-weight: 600; color: #dc3545; }
.diff-card-value { font-size: 18px; font-weight: 700; margin-top: 8px; color: #192A44; }
.diff-vs { font-weight: bold; color: #ff6c1a; font-size: 20px; }
.diff-card-agent { border-radius: 12px !important; border-bottom: 3px solid #198754 !important; }
.diff-card-label-agent { font-weight: 600; color: #198754; }
.cost-table-box { background: rgba(255, 108, 26, 0.02); border-color: #E5E7EB !important; border-radius: 16px; }
.cost-table-header { font-weight: 700; color: #192A44; font-size: 16px; }
.cost-cell-mistake { border-radius: 12px !important; border-left: 4px solid #dc3545 !important; }
.cost-text-mistake { font-weight: 600; color: #dc3545; }
.cost-cell-impact { border-radius: 12px !important; border-left: 4px solid #192A44 !important; }
.cost-text-impact { font-weight: 600; color: #192A44; }

/* Why Chatbots Fail Interactive Component */
.why-fail-container { --white: #ffffff; --navy: #172640; --border: #e4e8ef; --orange: #ff6c1a; --blue: #2178d4; --green: #15905e; --purple: #6d3dd2; --teal: #0f9aa5; --red: #e8504f; --shadow-lg: 0 20px 50px rgba(15, 23, 42, 0.08); --shadow-sm: 0 8px 18px rgba(15, 23, 42, 0.06); width: 100%; }
.why-fail-container .blog-frame { width: 100%; position: relative; overflow: hidden; border: 1px solid var(--border); border-radius: 20px; background: radial-gradient(circle at 9% 8%, rgba(255, 108, 26, 0.045), transparent 28%), linear-gradient(135deg, rgba(255, 243, 236, 0.35), rgba(255, 255, 255, 0) 42%), var(--white); box-shadow: var(--shadow-lg); isolation: isolate; padding: 24px 30px 24px; }
.why-fail-container .blog-frame::after { content: none; }
.why-fail-container .canvas { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 16px; }
.why-fail-container .table-head { display: grid; grid-template-columns: 1fr 1fr; gap: 42px; width: 100%; margin: 0 auto; }
.why-fail-container .head-cell { min-height: 38px; display: flex; align-items: center; justify-content: center; padding: 8px 16px; border-radius: 14px; color: var(--white); background: var(--navy); font-size: 14px; font-weight: 700; line-height: 1.15; text-align: center; box-shadow: var(--shadow-sm); }
.why-fail-container .head-cell.impact { background: var(--orange); }
.why-fail-container .mistake-board { width: 100%; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }
.why-fail-container .mistake-row { position: relative; width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr); align-items: stretch; gap: 8px; min-height: 58px; padding: 0; border: 0; border-radius: 18px; background: transparent; color: var(--navy); font: inherit; text-align: left; cursor: pointer; overflow: hidden; box-shadow: none; transition: transform 0.22s ease; }
.why-fail-container .mistake-row::before { content: none; }
.why-fail-container .mistake-row:hover, .why-fail-container .mistake-row:focus-visible, .why-fail-container .mistake-row.is-active { outline: none; transform: translateY(-2px); }

/* Row-specific custom properties classes to avoid inline styles */
.why-fail-container .row-orange { --accent: var(--orange); }
.why-fail-container .row-blue { --accent: var(--blue); }
.why-fail-container .row-green { --accent: var(--green); }
.why-fail-container .row-purple { --accent: var(--purple); }
.why-fail-container .row-teal { --accent: var(--teal); }
.why-fail-container .row-red { --accent: var(--red); }
.why-fail-container .mistake-cell, .why-fail-container .impact-cell, .why-fail-container .connector { position: relative; z-index: 1; }
.why-fail-container .mistake-cell, .why-fail-container .impact-cell { display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 9px; min-width: 0; min-height: 58px; height: 100%; padding: 10px 12px; border: 1px solid color-mix(in srgb, var(--accent) 22%, var(--border)); border-radius: 16px; background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 8%, #ffffff), #ffffff); box-shadow: var(--shadow-sm); transition: border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease; }
.why-fail-container .impact-cell { background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 6%, #ffffff), #ffffff); }
.why-fail-container .mistake-row:hover .mistake-cell, .why-fail-container .mistake-row:focus-visible .mistake-cell, .why-fail-container .mistake-row.is-active .mistake-cell, .why-fail-container .mistake-row:hover .impact-cell, .why-fail-container .mistake-row:focus-visible .impact-cell, .why-fail-container .mistake-row.is-active .impact-cell { border-color: color-mix(in srgb, var(--accent) 58%, var(--border)); background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 13%, #ffffff), #ffffff); box-shadow: 0 14px 28px rgba(15, 23, 42, 0.11); }
.why-fail-container .cell-icon { width: 34px; height: 34px; display: grid; place-items: center; align-self: center; justify-self: center; border-radius: 13px; color: var(--white); background: var(--accent); flex: 0 0 auto; transition: transform 0.22s ease; }
.why-fail-container .impact-cell .cell-icon { background: color-mix(in srgb, var(--accent) 72%, var(--navy)); }
.why-fail-container .mistake-row:hover .cell-icon, .why-fail-container .mistake-row:focus-visible .cell-icon, .why-fail-container .mistake-row.is-active .cell-icon { transform: scale(1.08); }
.why-fail-container .cell-icon svg { width: 20px; height: 20px; fill: currentColor; display: block; margin: auto; }
.why-fail-container .cell-text { min-width: 0; color: var(--navy); font-size: 13px; font-weight: 600; line-height: 1.22; letter-spacing: 0; }
.why-fail-container .impact-cell .cell-text { color: color-mix(in srgb, var(--navy) 90%, var(--accent)); }
.why-fail-container .connector { align-self: center; height: 6px; border-radius: 999px; background: color-mix(in srgb, var(--accent) 24%, #dbe4ef); overflow: hidden; }
.why-fail-container .connector::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: var(--accent); transform: scaleX(0.34); transform-origin: left; transition: transform 0.22s ease; }
.why-fail-container .mistake-row:hover .connector::after, .why-fail-container .mistake-row:focus-visible .connector::after, .why-fail-container .mistake-row.is-active .connector::after { transform: scaleX(1); }
@media (max-width: 768px) {
  .why-fail-container .blog-frame { padding: 16px 20px; }
  .why-fail-container .blog-frame::after { inset: 8px; }
  .why-fail-container .table-head { gap: 15px; }
  .why-fail-container .mistake-row { grid-template-columns: minmax(0, 1fr) 15px minmax(0, 1fr); gap: 4px; }
  .why-fail-container .cell-text { font-size: 11px; }
}
@media (max-width: 576px) {
  .why-fail-container .table-head { display: none; }
  .why-fail-container .mistake-row { grid-template-columns: 1fr; gap: 8px; min-height: auto; margin-bottom: 6px; border-radius: 12px; }
  .why-fail-container .connector { display: none; }
  .why-fail-container .mistake-cell, .why-fail-container .impact-cell { border-radius: 12px; min-height: auto; }
}

/* Our AI Chatbot Services Interactive Component */
.services-frame-container { --white: #ffffff; --navy: #172640; --muted: #5f6f87; --border: #e4e8ef; --orange: #ff6c1a; --blue: #2178d4; --green: #15905e; --purple: #6d3dd2; --teal: #0f9aa5; --red: #e8504f; --shadow-lg: 0 20px 50px rgba(15, 23, 42, 0.08); --shadow-card: 0 12px 26px rgba(15, 23, 42, 0.08); width: 100%; }
.services-frame-container .blog-frame { width: 100%; position: relative; overflow: hidden; border: 1px solid var(--border); border-radius: 20px; background: radial-gradient(circle at 9% 8%, rgba(255, 108, 26, 0.045), transparent 28%), linear-gradient(135deg, rgba(255, 243, 236, 0.34), rgba(255, 255, 255, 0) 42%), var(--white); box-shadow: var(--shadow-lg); isolation: isolate; padding: 24px 30px; }
.services-frame-container .blog-frame::after { content: none; }
.services-frame-container .canvas { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 16px; }
.services-frame-container .services-grid { width: 100%; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.services-frame-container .service-card { position: relative; min-width: 0; display: grid; grid-template-rows: auto auto 1fr; gap: 10px; padding: 17px 16px 16px; border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--border)); border-radius: 18px; background: linear-gradient(145deg, color-mix(in srgb, var(--accent) 12%, #ffffff), #ffffff 48%), var(--white); color: var(--navy); font: inherit; text-align: left; cursor: pointer; overflow: hidden; box-shadow: var(--shadow-card); opacity: 0; transform: translateY(14px); transition: opacity 0.34s ease, transform 0.34s ease, border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease; }
.services-frame-container .services-grid.is-visible .service-card { opacity: 1; transform: translateY(0); }
.services-frame-container .services-grid.is-visible .service-card:nth-child(1) { transition-delay: 0.04s; }
.services-frame-container .services-grid.is-visible .service-card:nth-child(2) { transition-delay: 0.12s; }
.services-frame-container .services-grid.is-visible .service-card:nth-child(3) { transition-delay: 0.20s; }
.services-frame-container .services-grid.is-visible .service-card:nth-child(4) { transition-delay: 0.28s; }
.services-frame-container .services-grid.is-visible .service-card:nth-child(5) { transition-delay: 0.36s; }
.services-frame-container .services-grid.is-visible .service-card:nth-child(6) { transition-delay: 0.44s; }
.services-frame-container .service-card::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 18% 16%, color-mix(in srgb, var(--accent) 20%, transparent), transparent 30%), linear-gradient(180deg, transparent 45%, color-mix(in srgb, var(--accent) 7%, transparent)); opacity: 0.88; pointer-events: none; }
.services-frame-container .service-card::after { content: ""; position: absolute; left: 16px; right: 16px; bottom: 14px; height: 4px; border-radius: 999px; background: color-mix(in srgb, var(--accent) 28%, #e5ecf5); transform: scaleX(0.38); transform-origin: left; transition: transform 0.22s ease, background 0.22s ease; pointer-events: none; }
.services-frame-container .services-grid.is-visible .service-card:hover, .services-frame-container .services-grid.is-visible .service-card:focus-visible, .services-frame-container .services-grid.is-visible .service-card.is-active { outline: none; transform: translateY(-5px); border-color: color-mix(in srgb, var(--accent) 58%, var(--border)); box-shadow: 0 18px 34px rgba(15, 23, 42, 0.14); background: linear-gradient(145deg, color-mix(in srgb, var(--accent) 17%, #ffffff), #ffffff 52%), var(--white); }
.services-frame-container .service-card:hover::after, .services-frame-container .service-card:focus-visible::after, .services-frame-container .service-card.is-active::after { transform: scaleX(1); background: var(--accent); }
.services-frame-container .service-icon, .services-frame-container .service-title, .services-frame-container .service-copy { position: relative; z-index: 1; }
.services-frame-container .service-icon { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 15px; color: var(--white); background: var(--accent); box-shadow: 0 12px 22px color-mix(in srgb, var(--accent) 24%, transparent); transition: transform 0.22s ease; }
.services-frame-container .service-card:hover .service-icon, .services-frame-container .service-card:focus-visible .service-icon, .services-frame-container .service-card.is-active .service-icon { transform: scale(1.07); }
.services-frame-container .service-icon svg { width: 29px; height: 29px; fill: currentColor; display: block; margin: auto; }
.services-frame-container .service-title { color: var(--navy); font-size: 15px; font-weight: 700; line-height: 1.18; letter-spacing: 0; }
.services-frame-container .service-copy { color: var(--muted); font-size: 11.5px; font-weight: 500; line-height: 1.42; padding-bottom: 12px; }
@media (max-width: 991px) {
  .services-frame-container .services-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .services-frame-container .blog-frame { padding: 16px 20px; }
  .services-frame-container .blog-frame::after { inset: 8px; }
}

/* Diagnosis Flow Interactive Component */
.diagnosis-flow-container { --white: #ffffff; --navy: #192a44; --muted: #6b7280; --border: #e5e7eb; --orange: #ff6c1a; --orange-deep: #ff4d0d; --soft-orange: #fff4ec; --soft-green: #ecfdf5; --green: #14885f; --soft-blue: #eff6ff; --blue: #2563eb; --shadow-sm: 0 2px 8px rgba(15, 23, 42, 0.04); --shadow-md: 0 10px 30px rgba(15, 23, 42, 0.06); --shadow-lg: 0 20px 50px rgba(15, 23, 42, 0.08); --radius-md: 12px; --radius-lg: 20px; width: 100%; }
.diagnosis-flow-container .flow-section { width: 100%; position: relative; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-lg); background: radial-gradient(circle at 10% 8%, rgba(255, 108, 26, 0.09), transparent 26%), linear-gradient(135deg, rgba(255, 244, 236, 0.7), rgba(255, 255, 255, 0.9) 46%, rgba(248, 250, 252, 0.94)), var(--white); box-shadow: var(--shadow-lg); isolation: isolate; }

/* Restore inner border line - as shown in the first image, using inset: 20px on desktop */
.diagnosis-flow-container .flow-section::before { content: ""; position: absolute; inset: 20px; border: none; border-radius: 16px; pointer-events: none; z-index: 1; }
.diagnosis-flow-container .flow-section::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(100, 116, 139, 0.07) 1px, transparent 1px), linear-gradient(90deg, rgba(100, 116, 139, 0.07) 1px, transparent 1px); background-size: 34px 34px; mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.52), transparent 82%); z-index: -1; }
.diagnosis-flow-container .flow-canvas { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 0.92fr) minmax(390px, 1.08fr); gap: 28px; align-items: stretch; min-height: 640px; padding: 28px !important; }
.diagnosis-flow-container .symptom-panel, .diagnosis-flow-container .flow-panel { position: relative; z-index: 5; min-width: 0; border: none; border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-lg); overflow: hidden; }
.diagnosis-flow-container .panel-header { padding: 20px 20px 24px; border-bottom: none; background: var(--white); backdrop-filter: blur(14px); }

/* Media query to prevent squishing on medium screens where TOC sidebar is visible */
@media (min-width: 992px) and (max-width: 1200px) {
  .diagnosis-flow-container .flow-section::before { inset: 12px; border-radius: 12px; }
  .diagnosis-flow-container .flow-canvas { grid-template-columns: 1fr 1fr; gap: 16px; padding: 24px !important; }
  .diagnosis-flow-container .symptom-button { padding: 8px 10px; min-height: 48px; gap: 8px; grid-template-columns: 24px 1fr; }
  .diagnosis-flow-container .button-index { width: 24px; height: 24px; font-size: 11px; border-radius: 6px; }
}
.diagnosis-flow-container .panel-header strong { display: block; color: var(--navy); font-size: 20px; font-weight: 800; line-height: 1.25; letter-spacing: 0; }
.diagnosis-flow-container .panel-header span { display: block; margin-top: 6px; color: var(--muted); font-size: 12px; font-weight: 600; line-height: 1.5; }
.diagnosis-flow-container .symptom-list { display: grid; gap: 9px; padding: 24px 18px 18px; }
.diagnosis-flow-container .symptom-button { width: 100%; min-height: 56px; display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 11px; padding: 10px 12px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--white); color: var(--navy); font: inherit; text-align: left; cursor: pointer; box-shadow: var(--shadow-sm); transition: all 0.3s ease; }
.diagnosis-flow-container .symptom-button:hover, .diagnosis-flow-container .symptom-button:focus-visible { outline: none; border-color: rgba(255, 108, 26, 0.34); transform: translateX(3px); }
.diagnosis-flow-container .symptom-button.is-active { border-color: rgba(255, 108, 26, 0.28); background: var(--soft-orange); box-shadow: 0 12px 24px rgba(255, 108, 26, 0.12); }
.diagnosis-flow-container .button-index { width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; border-radius: 10px; color: var(--orange); background: var(--soft-orange); font-size: 12px; font-weight: 800; line-height: 1; }
.diagnosis-flow-container .symptom-button.is-active .button-index { color: var(--white); background: linear-gradient(135deg, var(--orange), var(--orange-deep)); }
.diagnosis-flow-container .symptom-button span:last-child { min-width: 0; color: var(--navy); font-size: 12px; font-weight: 800; line-height: 1.35; }
.diagnosis-flow-container .flow-panel { display: flex; flex-direction: column; }
.diagnosis-flow-container .flow-body { flex: 1; display: grid; align-content: center; gap: 15px; padding: 32px 24px 24px; background: linear-gradient(180deg, rgba(248, 250, 252, 0.72), rgba(255, 255, 255, 0.96)), var(--white); }
.diagnosis-flow-container .flow-step { position: relative; display: grid; grid-template-columns: 48px 1fr; gap: 14px; align-items: center; min-height: 112px; padding: 18px; border: 1px solid color-mix(in srgb, var(--step-color) 18%, var(--border)); border-radius: var(--radius-lg); background: color-mix(in srgb, var(--step-color) 7%, var(--white)); box-shadow: var(--shadow-md); opacity: 0; transform: translateY(14px); }
.diagnosis-flow-container .flow-step.is-visible { opacity: 1; transform: translateY(0); transition: opacity 0.46s ease, transform 0.46s ease; }
.diagnosis-flow-container .flow-step:nth-child(2).is-visible { transition-delay: 0.12s; }
.diagnosis-flow-container .flow-step:nth-child(3).is-visible { transition-delay: 0.24s; }
.diagnosis-flow-container .flow-step + .flow-step::before { content: ""; position: absolute; left: 41px; top: -16px; width: 2px; height: 16px; background: var(--orange); opacity: 0.5; }
.diagnosis-flow-container .flow-step + .flow-step::after { content: ""; position: absolute; left: 36px; top: -9px; width: 12px; height: 12px; border-right: 2px solid var(--orange); border-bottom: 2px solid var(--orange); transform: rotate(45deg); opacity: 0.8; }
.diagnosis-flow-container .step-icon { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; border-radius: var(--radius-md); color: var(--step-color); background: color-mix(in srgb, var(--step-color) 10%, var(--white)); border: 1px solid color-mix(in srgb, var(--step-color) 22%, var(--border)); line-height: 0; }
.diagnosis-flow-container .step-icon svg { width: 22px; height: 22px; display: block; stroke-width: 2.2; }
.diagnosis-flow-container .step-copy b { display: block; color: var(--step-color); font-size: 12px; font-weight: 800; line-height: 1.2; letter-spacing: 0; text-transform: uppercase; }
.diagnosis-flow-container .step-copy strong { display: block; margin-top: 6px; color: var(--navy); font-size: 17px; font-weight: 800; line-height: 1.35; letter-spacing: 0; }
.diagnosis-flow-container .hint-strip { padding: 14px 18px; border-top: 1px solid var(--border); background: rgba(255, 255, 255, 0.9); color: var(--muted); font-size: 12px; font-weight: 600; line-height: 1.55; }

/* Accordion styling for mobile/tablet */
.diagnosis-flow-container .symptom-details { display: none; }
@media (max-width: 991px) {
  .diagnosis-flow-container .flow-panel { display: none !important; }
  .diagnosis-flow-container .symptom-details { display: block; max-height: 0; overflow: hidden; transition: all 0.3s ease-out; opacity: 0; padding: 0; margin-top: 0; }
  .diagnosis-flow-container .symptom-details.is-open { max-height: 500px; opacity: 1; padding: 12px 0 4px; margin-top: 4px; }
  .diagnosis-flow-container .details-step { padding: 12px 14px; border-radius: 8px; margin-bottom: 8px; font-size: 13px; line-height: 1.45; }
  .diagnosis-flow-container .details-step:last-child { margin-bottom: 0; }
  .diagnosis-flow-container .details-cause { border-left: 4px solid var(--blue); background: var(--soft-blue); color: var(--navy); }
  .diagnosis-flow-container .details-fix { border-left: 4px solid var(--green); background: var(--soft-green); color: var(--navy); }
  .diagnosis-flow-container .details-step b { display: block; font-size: 11px; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; margin-bottom: 4px; }
  .diagnosis-flow-container .details-step span { font-weight: 500; }
  .diagnosis-flow-container .flow-canvas { grid-template-columns: 1fr; min-height: 0; padding: 20px !important; }
}
@media (max-width: 560px) {
  .diagnosis-flow-container .flow-step { grid-template-columns: 1fr; }
  .diagnosis-flow-container .flow-step + .flow-step::before, .diagnosis-flow-container .flow-step + .flow-step::after { display: none; }
}
.rag-diagram-container { --content-width: 915px; --white: #ffffff; --page-bg: #f8fafc; --font: #0b1220; --navy: #192a44; --muted: #6b7280; --stroke: #64748b; --border: #e5e7eb; --orange: #ff6c1a; --orange-deep: #ff4d0d; --soft-orange: #fff4ec; --soft-green: #ecfdf5; --green: #14885f; --soft-blue: #eff6ff; --blue: #2563eb; --soft-purple: #f5f3ff; --purple: #6d3dd2; --shadow-sm: 0 2px 8px rgba(15, 23, 42, 0.04); --shadow-md: 0 10px 30px rgba(15, 23, 42, 0.06); --shadow-lg: 0 20px 50px rgba(15, 23, 42, 0.08); --radius-md: 12px; --radius-lg: 20px; --cycle: 8s; width: 100%; position: relative; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-lg); background: radial-gradient(circle at 10% 8%, rgba(255, 108, 26, 0.09), transparent 26%), linear-gradient(135deg, rgba(255, 244, 236, 0.7), rgba(255, 255, 255, 0.9) 46%, rgba(248, 250, 252, 0.94)), var(--white); box-shadow: var(--shadow-lg); isolation: isolate; }
.rag-diagram-container::before { content: ""; position: absolute; inset: 20px; border: none; border-radius: 16px; pointer-events: none; z-index: 1; }
.rag-diagram-container::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(100, 116, 139, 0.07) 1px, transparent 1px), linear-gradient(90deg, rgba(100, 116, 139, 0.07) 1px, transparent 1px); background-size: 34px 34px; mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.52), transparent 82%); z-index: -1; }
.rag-diagram-container .rag-canvas { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(330px, 0.95fr); gap: 28px; align-items: stretch; min-height: 640px; padding: 48px !important; }
.rag-diagram-container .rag-architecture-panel, .rag-diagram-container .rag-context-panel { position: relative; z-index: 5; min-width: 0; border: none; border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-lg); overflow: hidden; }
.rag-diagram-container .rag-architecture-panel { display: flex; flex-direction: column; align-self: stretch; }
.rag-diagram-container .rag-context-panel { display: flex; flex-direction: column; align-self: center; }
.rag-diagram-container .rag-panel-header { padding: 20px 20px 24px; border-bottom: none; background: var(--white); backdrop-filter: blur(14px); }
.rag-diagram-container .rag-panel-header strong { display: block; color: var(--navy); font-size: 20px; font-weight: 800; line-height: 1.25; letter-spacing: 0; }
.rag-diagram-container .rag-flow-stack { position: relative; flex: 1; display: grid; align-content: stretch; gap: 18px; padding: 32px 24px 24px; background: linear-gradient(180deg, rgba(248, 250, 252, 0.72), rgba(255, 255, 255, 0.96)), var(--white); }
.rag-diagram-container .rag-flow-node { position: relative; min-height: 92px; display: grid; grid-template-columns: 48px 1fr; gap: 14px; align-items: center; padding: 16px; border: 1px solid color-mix(in srgb, var(--node-color) 18%, var(--border)); border-radius: var(--radius-lg); background: color-mix(in srgb, var(--node-color) 7%, var(--white)); box-shadow: var(--shadow-md); animation: ragNodeFocus var(--cycle) ease-in-out infinite; animation-delay: var(--delay); }
.rag-diagram-container .rag-flow-node + .rag-flow-node::before { content: ""; position: absolute; left: 39px; top: -17px; width: 2px; height: 17px; background: var(--orange); opacity: 0.48; }
.rag-diagram-container .rag-flow-node + .rag-flow-node::after { content: ""; position: absolute; left: 34px; top: -10px; width: 12px; height: 12px; border-right: 2px solid var(--orange); border-bottom: 2px solid var(--orange); transform: rotate(45deg); opacity: 0.78; }
.rag-diagram-container .rag-node-icon { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; border-radius: var(--radius-md); color: var(--node-color); background: color-mix(in srgb, var(--node-color) 10%, var(--white)); border: 1px solid color-mix(in srgb, var(--node-color) 22%, var(--border)); line-height: 0; }
.rag-diagram-container .rag-node-icon svg { width: 23px; height: 23px; display: block; stroke-width: 2.2; }
.rag-diagram-container .rag-node-copy b { display: block; color: var(--node-color); font-size: 11px; font-weight: 800; line-height: 1.2; letter-spacing: 0; text-transform: uppercase; }
.rag-diagram-container .rag-node-copy strong { display: block; margin-top: 5px; color: var(--navy); font-size: 17px; font-weight: 800; line-height: 1.35; letter-spacing: 0; }
.rag-diagram-container .rag-data-pulse { position: absolute; left: 47px; top: 66px; width: 12px; height: 12px; border-radius: 999px; background: var(--orange); box-shadow: 0 0 0 7px rgba(255, 108, 26, 0.13), 0 0 24px rgba(255, 108, 26, 0.28); animation: ragPulseTravel var(--cycle) linear infinite; z-index: 4; }
.rag-diagram-container .rag-context-body { display: grid; gap: 14px; padding: 24px 22px 22px; }
.rag-diagram-container .rag-process-list { display: grid; gap: 7px; list-style: none; padding: 0; margin: 0; }
.rag-diagram-container .rag-process-list li { display: grid; grid-template-columns: 24px 1fr; align-items: center; gap: 9px; padding: 8px 10px; border: 1px solid rgba(255, 108, 26, 0.14); border-radius: 10px; background: rgba(255, 244, 236, 0.44); color: var(--muted); font-size: 10px; font-weight: 600; line-height: 1.4; }
.rag-diagram-container .rag-process-list b { width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; border-radius: 8px; color: var(--white); background: var(--orange); font-size: 10px; font-weight: 800; line-height: 1; }
.rag-diagram-container .rag-section-title { color: var(--navy); font-size: 14px; font-weight: 800; line-height: 1.25; }
.rag-diagram-container .rag-outcome-note { padding: 12px 14px; border: 1px solid rgba(20, 136, 95, 0.18); border-radius: var(--radius-md); background: var(--soft-green); color: var(--muted); font-size: 10px; font-weight: 600; line-height: 1.55; margin: 0; }
.rag-diagram-container .rag-outcome-note strong { display: block; margin-bottom: 3px; color: var(--green); font-size: 11px; font-weight: 800; line-height: 1.25; }
.rag-diagram-container .rag-mistake-list { display: grid; gap: 7px; list-style: none; padding: 0; margin: 0; }
.rag-diagram-container .rag-mistake-list li { border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); display: grid; grid-template-columns: 24px 1fr; align-items: center; gap: 10px; padding: 8px 10px; color: var(--muted); font-size: 10px; font-weight: 600; line-height: 1.45; }
.rag-diagram-container .rag-mistake-list li::before { content: ""; width: 24px; height: 24px; border-radius: 8px; background: linear-gradient(135deg, var(--orange), var(--orange-deep)); box-shadow: inset 0 0 0 7px var(--soft-orange); }
.rag-diagram-container .rag-mistake-list strong { color: var(--navy); font-size: 10px; font-weight: 800; line-height: 1.35; }
@keyframes ragNodeFocus {
  0%, 16%, 100% { transform: translateY(0); box-shadow: var(--shadow-md); }
  7% { transform: translateY(-3px); box-shadow: 0 16px 32px color-mix(in srgb, var(--node-color) 18%, transparent); }
}
@keyframes ragPulseTravel {
  0% { top: 70px; opacity: 0; }
  7%, 18% { opacity: 1; }
  25% { top: 180px; }
  50% { top: 290px; }
  75% { top: 400px; }
  94% { top: 510px; opacity: 1; }
  100% { top: 510px; opacity: 0; }
}

/* Media query to prevent squishing on medium screens where TOC sidebar is visible */
@media (min-width: 992px) and (max-width: 1200px) {
  .rag-diagram-container::before { inset: 12px; border-radius: 12px; }
  .rag-diagram-container .rag-canvas { grid-template-columns: 1fr 1fr; gap: 16px; padding: 24px !important; }
  .rag-diagram-container .rag-flow-node { padding: 10px 12px; gap: 10px; min-height: 80px; }
  .rag-diagram-container .rag-node-icon { width: 38px; height: 38px; }
  .rag-diagram-container .rag-node-icon svg { width: 18px; height: 18px; }
  .rag-diagram-container .rag-node-copy strong { font-size: 14px; }
  .rag-diagram-container .rag-data-pulse { left: 42px; top: 54px; width: 10px; height: 10px; }
  @keyframes ragPulseTravel {   0% { top: 58px; opacity: 0; }
  7%, 18% { opacity: 1; }
  25% { top: 148px; }
  50% { top: 238px; }
  75% { top: 328px; }
  94% { top: 418px; opacity: 1; }
  100% { top: 418px; opacity: 0; }
 }
}
@media (max-width: 991px) {
  .rag-diagram-container .rag-canvas { grid-template-columns: 1fr; min-height: 0; padding: 20px !important; }
}
@media (max-width: 767px) {
  .rag-diagram-container .rag-data-pulse { display: none; }
}
@media (max-width: 560px) {
  .rag-diagram-container::before { inset: 14px; }
  .rag-diagram-container .rag-flow-node { grid-template-columns: 1fr; }
  .rag-diagram-container .rag-data-pulse { display: none; }
}
.chat-animation-container { --content-width: 915px; --white: #ffffff; --page-bg: #f8fafc; --font: #0b1220; --navy: #192a44; --muted: #6b7280; --stroke: #64748b; --border: #e5e7eb; --orange: #ff6c1a; --orange-deep: #ff4d0d; --soft-orange: #fff4ec; --soft-green: #ecfdf5; --green: #14885f; --soft-red: #fff1f1; --red: #d64545; --shadow-sm: 0 2px 8px rgba(15, 23, 42, 0.04); --shadow-md: 0 10px 30px rgba(15, 23, 42, 0.06); --shadow-lg: 0 20px 50px rgba(15, 23, 42, 0.08); --radius-sm: 8px; --radius-md: 12px; --radius-lg: 20px; width: 100%; margin-top: 1.5rem; margin-bottom: 2rem; }
.chat-animation-container .chat-section { width: 100%; position: relative; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-lg); background: radial-gradient(circle at 14% 6%, rgba(255, 108, 26, 0.09), transparent 26%), linear-gradient(135deg, rgba(255, 244, 236, 0.72), rgba(255, 255, 255, 0.88) 44%, rgba(248, 250, 252, 0.92)), var(--white); box-shadow: var(--shadow-lg); isolation: isolate; }

.chat-animation-container .chat-section::before { content: ""; position: absolute; inset: 24px; border: none; border-radius: 16px; pointer-events: none; z-index: 1; }
.chat-animation-container .chat-section::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(100, 116, 139, 0.07) 1px, transparent 1px), linear-gradient(90deg, rgba(100, 116, 139, 0.07) 1px, transparent 1px); background-size: 34px 34px; mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.52), transparent 80%); z-index: -1; }
.chat-animation-container .chat-canvas { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; align-items: center; min-height: 580px; padding: 28px !important; }

.chat-animation-container .chat-window { position: relative; width: 100%; min-width: 0; overflow: hidden; border: none; border-radius: var(--radius-lg); background: var(--white); box-shadow: none; }

/* Desktop-only animations */
@media (min-width: 768px) {
  .chat-animation-container .chat-window { opacity: 0; transform: translateY(18px) scale(0.98); animation: chatWindowIn 0.72s ease 0.08s forwards; }
}
.chat-animation-container .chat-topbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 68px; height: auto !important; padding: 16px 22px; border-bottom: 1px solid var(--border); background: rgba(255, 255, 255, 0.86); backdrop-filter: blur(14px); }
.chat-animation-container .agent-meta { display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 12px; min-width: 0; }
.chat-animation-container .agent-avatar { position: relative; width: 42px; height: 42px; display: grid; place-items: center; line-height: 0; border-radius: 14px; color: var(--white); background: linear-gradient(135deg, var(--orange), var(--orange-deep)); box-shadow: 0 12px 24px rgba(255, 108, 26, 0.22); }
.chat-animation-container .agent-avatar svg { width: 21px; height: 21px; display: block; stroke-width: 2.3; }
.chat-animation-container .agent-avatar::after { content: ""; position: absolute; right: -2px; bottom: -2px; width: 12px; height: 12px; border: 2px solid var(--white); border-radius: 999px; background: var(--green); }
.chat-animation-container .agent-meta strong { display: block; color: var(--navy); font-size: 14px; font-weight: 800; line-height: 1.2; }
.chat-animation-container .agent-meta span { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; font-weight: 600; line-height: 1.35; }
.chat-animation-container .top-status { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; min-height: 30px; padding: 0 11px; border: 1px solid rgba(20, 136, 95, 0.18); border-radius: 999px; background: var(--soft-green); color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: 0; }
.chat-animation-container .tab-switcher { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 12px 16px; border-bottom: 1px solid var(--border); background: #f8fafc; }
.chat-animation-container .tab-button { min-width: 0; height: 42px; min-height: 42px; display: flex; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: var(--radius-md); background: transparent; color: var(--stroke); font: inherit; font-size: 12px; font-weight: 800; letter-spacing: 0; line-height: 1.15; text-align: center; cursor: pointer; transition: all 0.3s ease; }
.chat-animation-container .tab-button:hover, .chat-animation-container .tab-button:focus-visible { outline: none; color: var(--navy); background: var(--white); border-color: var(--border); }
.chat-animation-container .tab-button.is-active { color: var(--white); background: linear-gradient(135deg, var(--orange), var(--orange-deep)); border-color: transparent; box-shadow: 0 10px 24px rgba(255, 108, 26, 0.22); }
.chat-animation-container .chat-body { position: relative; min-height: 360px; padding: 26px 28px; overflow: hidden; background: linear-gradient(180deg, rgba(248, 250, 252, 0.72), rgba(255, 255, 255, 0.95)), var(--white); }
.chat-animation-container .response-panel { position: absolute; inset: 26px 28px; display: grid; gap: 18px; min-height: 316px; opacity: 0; visibility: hidden; pointer-events: none; z-index: 1; }
.chat-animation-container .response-panel.is-active { opacity: 1; visibility: visible; pointer-events: auto; transform: none; z-index: 3; }
@media (min-width: 768px) {
  .chat-animation-container .response-panel { transform: translateY(14px) scale(0.985); }
  .chat-animation-container .response-panel.is-active { transform: translateY(0) scale(1); }
  .chat-animation-container .response-panel.is-entering { visibility: visible; pointer-events: auto; animation: chatPanelEnter 0.46s cubic-bezier(0.22, 1, 0.36, 1) both; z-index: 4; }
  .chat-animation-container .response-panel.is-exiting { visibility: visible; pointer-events: none; animation: chatPanelExit 0.42s ease-in-out both; z-index: 2; }
}
.chat-animation-container .message-row { display: flex; align-items: flex-end; gap: 10px; opacity: 1; }
@media (min-width: 768px) {
  .chat-animation-container .response-panel.is-entering .message-row { opacity: 0; transform: translateY(14px); animation: chatMessageIn 0.48s ease forwards; }
  .chat-animation-container .response-panel.is-entering .message-row:nth-child(2) { animation-delay: 0.18s; }
  .chat-animation-container .response-panel.is-entering .message-row:nth-child(3) { animation-delay: 0.38s; }
  .chat-animation-container .response-panel.is-entering .message-row:nth-child(4) { animation-delay: 0.58s; }
}
.chat-animation-container .message-row.user { justify-content: flex-end; }
.chat-animation-container .message-row.bot { justify-content: flex-start; }
.chat-animation-container .bubble { max-width: min(78%, 560px); padding: 14px 18px; border-radius: 18px; font-size: 13px; font-weight: 600; line-height: 1.6; box-shadow: var(--shadow-sm); }
.chat-animation-container .user .bubble { border-bottom-right-radius: 6px; color: var(--white); background: var(--navy); }
.chat-animation-container .bot .bubble { border: 1px solid var(--border); border-bottom-left-radius: 6px; color: var(--font); background: var(--white); }
.chat-animation-container .poor .bot .bubble { border-color: rgba(214, 69, 69, 0.2); background: linear-gradient(135deg, var(--soft-red), var(--white)); }
.chat-animation-container .best .bot .bubble { border-color: rgba(255, 108, 26, 0.24); background: linear-gradient(135deg, var(--soft-orange), var(--white)); }
.chat-animation-container .mini-avatar { flex: 0 0 auto; width: 30px; height: 30px; display: grid; place-items: center; line-height: 0; border: 1px solid var(--border); border-radius: 10px; background: var(--white); color: var(--orange); box-shadow: var(--shadow-sm); }
.chat-animation-container .mini-avatar svg { width: 16px; height: 16px; display: block; stroke-width: 2.2; }
.chat-animation-container .quality-card { align-self: end; display: grid; gap: 10px; padding: 16px 18px; border: 1px solid var(--border); border-radius: var(--radius-md); background: rgba(255, 255, 255, 0.9); box-shadow: var(--shadow-sm); opacity: 1; }
@media (min-width: 768px) {
  .chat-animation-container .response-panel.is-entering .quality-card { opacity: 0; transform: translateY(14px); animation: chatMessageIn 0.48s ease 0.76s forwards; }
}
.chat-animation-container .quality-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--navy); font-size: 12px; font-weight: 800; }
.chat-animation-container .badge { display: inline-flex; align-items: center; min-height: 26px; padding: 0 10px; border-radius: 999px; font-size: 10px; font-weight: 800; letter-spacing: 0; text-transform: uppercase; }
.chat-animation-container .poor .badge { border: 1px solid rgba(214, 69, 69, 0.22); background: var(--soft-red); color: var(--red); }
.chat-animation-container .best .badge { border: 1px solid rgba(20, 136, 95, 0.2); background: var(--soft-green); color: var(--green); }
.chat-animation-container .meter { height: 8px; overflow: hidden; border-radius: 999px; background: #eef2f7; }
.chat-animation-container .meter span { display: block; height: 100%; border-radius: inherit; transform-origin: left; transform: scaleX(1); }
@media (min-width: 768px) {
  .chat-animation-container .response-panel.is-entering .meter span { animation: chatMeterFill 0.72s ease 0.92s both; }
}
.chat-animation-container .poor .meter span { width: 32%; background: var(--red); }
.chat-animation-container .best .meter span { width: 92%; background: linear-gradient(90deg, var(--orange), var(--orange-deep)); }
.chat-animation-container .quality-card p { color: var(--muted); font-size: 11px; font-weight: 600; line-height: 1.55; margin-bottom: 0; }

/* Keyframes for Desktop-only Animations */
@keyframes chatWindowIn {
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes chatPanelEnter {
  from { opacity: 0; transform: translateY(14px) scale(0.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes chatPanelExit {
  from { opacity: 1; transform: translateY(0) scale(1); }
  to { opacity: 0; transform: translateY(-10px) scale(0.99); }
}
@keyframes chatMessageIn {
  to { opacity: 1; transform: translateY(0); }
}
@keyframes chatMeterFill {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

/* Responsive Overrides */
@media (max-width: 991px) {
  .chat-animation-container .chat-canvas { padding: 20px !important; }
}
@media (max-width: 767px) {
  .chat-animation-container .chat-window { opacity: 1 !important; transform: none !important; animation: none !important; }
  .chat-animation-container .chat-body { height: auto !important; min-height: auto !important; padding: 20px 16px !important; }
  .chat-animation-container .response-panel { position: relative !important; inset: auto !important; min-height: auto !important; opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transform: none !important; animation: none !important; display: none !important; }
  .chat-animation-container .response-panel.is-active { display: grid !important; }
  .chat-animation-container .response-panel.is-entering { animation: none !important; display: none !important; }
  .chat-animation-container .response-panel.is-exiting { animation: none !important; display: none !important; }
  .chat-animation-container .message-row { opacity: 1 !important; transform: none !important; animation: none !important; }
  .chat-animation-container .quality-card { opacity: 1 !important; transform: none !important; animation: none !important; }
  .chat-animation-container .meter span { transform: scaleX(1) !important; animation: none !important; }
}
@media (max-width: 540px) {
  .chat-animation-container .chat-canvas { gap: 22px; padding: 20px 14px !important; }
  .chat-animation-container .chat-topbar { align-items: flex-start; flex-direction: column; }
  .chat-animation-container .top-status { width: 100%; }
  .chat-animation-container .chat-body { padding: 16px; }
  .chat-animation-container .bubble { max-width: 92%; }
  .chat-animation-container .tab-switcher { grid-template-columns: 1fr; }
}

/* AI Chatbot Health Scorecard Styles */
.scorecard-section { --red: #dc3a3a; --amber: #ca8a16; --green: #16855a; width: min(100%, 915px); position: relative; overflow: hidden; border: 1px solid var(--border); border-radius: 20px; background: radial-gradient(circle at 8% 10%, rgba(255, 108, 26, 0.045), transparent 26%), linear-gradient(135deg, rgba(255, 245, 239, 0.45), rgba(255, 255, 255, 0) 42%), var(--white); box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08); margin: 40px auto; }
.scorecard-section p { margin-bottom: 0 !important; line-height: 1.55 !important; }
.scorecard-canvas { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) 265px; gap: 25px; padding: 44px; }
.checklist-heading { margin-bottom: 7px; color: var(--navy); font-size: 21px; font-weight: 700; line-height: 1.35; letter-spacing: 0; }
.checklist-intro { margin-bottom: 18px !important; color: var(--muted) !important; font-size: 13px !important; font-weight: 600 !important; line-height: 1.5 !important; }
.checklist { display: grid; gap: 10px; }
.check-item { display: grid !important; grid-template-columns: 22px minmax(0, 1fr) !important; align-items: center !important; gap: 12px !important; min-height: 59px !important; padding: 11px 14px !important; border: 1px solid var(--border) !important; border-radius: 12px !important; background: rgba(255, 255, 255, 0.78) !important; color: var(--navy) !important; font-size: 12px !important; font-weight: 600 !important; line-height: 1.4 !important; cursor: pointer !important; margin-bottom: 0 !important; }
.check-item:hover, .check-item:focus-within { transform: translateY(-2px) !important; border-color: rgba(255, 108, 26, 0.52) !important; box-shadow: 0 9px 18px rgba(15, 23, 42, 0.07) !important; }
.check-item.is-checked { border-color: rgba(22, 133, 90, 0.42) !important; background: #f0fdf7 !important; }
.check-item input { appearance: none !important; width: 22px !important; height: 22px !important; margin: 0 !important; border: 2px solid #b8c5d3 !important; border-radius: 6px !important; background: var(--white) !important; cursor: pointer !important; transition: background 0.2s ease, border-color 0.2s ease !important; }
.check-item input:checked { border-color: var(--green) !important; background: var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") no-repeat center/11px !important; }
.score-panel { align-self: stretch !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; padding: 22px !important; border: 1px solid var(--border) !important; border-radius: 18px !important; background: var(--white) !important; box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06) !important; text-align: center !important; }
.score-label { color: var(--muted) !important; font-size: 12px !important; font-weight: 700 !important; line-height: 1.25 !important; }
.score-ring { --score-percent: 0; --active-color: var(--red); position: relative !important; width: 138px !important; height: 138px !important; display: grid !important; place-items: center !important; margin: 15px 0 !important; border-radius: 50% !important; background: conic-gradient(var(--active-color) calc(var(--score-percent) * 1%), #edf2f7 0) !important; transition: background 0.38s ease !important; }
.score-ring::before { content: "" !important; position: absolute !important; inset: 12px !important; border-radius: inherit !important; background: #ffffff !important; }
.score-value { position: relative !important; z-index: 1 !important; }
.score-value strong { display: block !important; font-size: 43px !important; font-weight: 700 !important; line-height: 1 !important; color: var(--navy) !important; }
.result-title { color: var(--navy) !important; font-size: 16px !important; font-weight: 700 !important; line-height: 1.28 !important; }
.result-copy { margin-top: 8px !important; color: var(--muted) !important; font-size: 12px !important; font-weight: 500 !important; line-height: 1.55 !important; }
.note-card { grid-column: 1 / -1 !important; padding: 14px 16px !important; border: 1px solid rgba(255, 108, 26, 0.22) !important; border-radius: 12px !important; background: #fff6f0 !important; color: var(--muted) !important; font-size: 13px !important; font-weight: 600 !important; line-height: 1.6 !important; margin-bottom: 0 !important; }
.scorecard-section[data-risk="high"] .score-ring { --active-color: var(--red); }
.scorecard-section[data-risk="moderate"] .score-ring { --active-color: var(--amber); }
.scorecard-section[data-risk="strong"] .score-ring { --active-color: var(--green); }
@media (max-width: 767px) {
  .scorecard-canvas { grid-template-columns: 1fr; padding: 38px 30px; }
  .score-panel { min-height: 290px; }
}
@media (max-width: 480px) {
  .scorecard-canvas { padding: 30px 20px; }
  .checklist-heading { font-size: 18px; }
  .check-item { font-size: 11px; }
}

/* Sparkout AI Knowledge Base Hero Animation Styles */
.hero-visual { min-height: 430px; height: 430px; display: grid; place-items: center; padding: 40px 48px; background: linear-gradient(90deg, rgba(255, 108, 26, 0.055) 0 1px, transparent 1px 100%), linear-gradient(0deg, rgba(25, 42, 68, 0.045) 0 1px, transparent 1px 100%), #ffffff; background-size: 48px 48px; overflow: hidden; width: 100%; }
.visual-card { width: 100%; max-width: 1180px; height: 350px; position: relative; overflow: hidden; display: flex; flex-direction: column; border: 1px solid var(--border); border-radius: 20px; background: linear-gradient(135deg, rgba(255, 244, 236, 0.82), rgba(255, 255, 255, 0.68) 42%, rgba(248, 250, 252, 0.9)), #ffffff; box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08); isolation: isolate; }
.visual-card::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(100, 116, 139, 0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(100, 116, 139, 0.08) 1px, transparent 1px); background-size: 34px 34px; mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.6), transparent 88%); z-index: -1; }
.visual-header { display: flex; align-items: center; justify-content: space-between; gap: 22px; flex: 0 0 56px; padding: 10px 22px; border-bottom: 1px solid rgba(229, 231, 235, 0.92); background: rgba(255, 255, 255, 0.78); backdrop-filter: blur(14px); }
.visual-title { min-width: 0; }
.visual-title strong { display: block; color: var(--navy); font-size: 18px; font-weight: 800; line-height: 1.2; letter-spacing: 0; }
.visual-title span { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; font-weight: 500; line-height: 1.25; }
.status-pill { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; min-height: 28px; min-width: 108px; padding: 0 10px; border-radius: 999px; border: 1px solid rgba(255, 108, 26, 0.25); background: #fff4ec; color: #ff4d0d; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0; }
.visual-body { position: relative; flex: 1; min-height: 0; padding: 10px 16px 12px; }
.comparison-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 14px; align-items: stretch; height: 100%; }
.path-section { position: relative; min-height: 0; border: none; border-radius: 20px; background: rgba(255, 255, 255, 0.9); box-shadow: 0 8px 22px rgba(15, 23, 42, 0.045); overflow: hidden; }
.path-section.before { border-color: rgba(100, 116, 139, 0.28); background: linear-gradient(180deg, rgba(248, 250, 252, 0.96), rgba(255, 255, 255, 0.94)); animation: beforeState 7s ease-in-out infinite; }
.path-section.after { border-color: rgba(255, 108, 26, 0.28); background: linear-gradient(180deg, rgba(255, 244, 236, 0.96), rgba(255, 255, 255, 0.94)); animation: afterState 7s ease-in-out infinite; }
.section-label { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 18px 0; }
.section-label b { color: var(--navy); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0; }
.section-label span { display: inline-flex; align-items: center; justify-content: center; min-height: 22px; padding: 0 9px; border-radius: 999px; font-size: 10px; font-weight: 800; }
.before .section-label span { background: #f8fafc; color: #64748b; border: 1px solid rgba(100, 116, 139, 0.22); }
.after .section-label span { background: #fff4ec; color: #ff4d0d; border: 1px solid rgba(255, 108, 26, 0.22); }
.vertical-flow { position: relative; display: grid; gap: 8px; padding: 14px 24px 12px; }
.vertical-flow::before { content: ""; position: absolute; left: 39px; top: 36px; bottom: 34px; width: 1px; border-radius: 999px; background: currentColor; opacity: 0.2; z-index: 1; }
.before .vertical-flow { padding-top: 18px; padding-left: 26px; }
.before .vertical-flow::before { left: 41px; top: 40px; }
.step { position: relative; display: grid; grid-template-columns: 30px 1fr; gap: 8px; align-items: center; min-height: 40px; padding: 5px 8px; border: 1px solid transparent; border-radius: 10px; background: transparent; box-shadow: none; z-index: 2; }
.before .step { color: #64748b; background: rgba(248, 250, 252, 0.38); }
.after .step { color: #ff6c1a; background: rgba(255, 255, 255, 0.34); }
.after .step:nth-child(2) { color: #ffffff; border-color: transparent; background: linear-gradient(135deg, #ff6c1a, #ff4d0d); box-shadow: 0 10px 22px rgba(255, 108, 26, 0.22); }
.after .step:nth-child(2) b, .after .step:nth-child(2) small { color: #ffffff !important; }
.icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 12px; background: rgba(248, 250, 252, 0.9); border: 1px solid rgba(229, 231, 235, 0.72); position: relative; z-index: 2; }
.before .icon { background: #f8fafc; border-color: rgba(100, 116, 139, 0.2); color: #64748b; }
.after .icon { background: #fff4ec; border-color: rgba(255, 108, 26, 0.2); color: #ff6c1a; }
.after .step:nth-child(2) .icon { background: rgba(255, 255, 255, 0.16); border-color: rgba(255, 255, 255, 0.38); color: #ffffff; box-shadow: none; }
.icon svg { width: 16px; height: 16px; stroke-width: 2; }
.step b { display: block; color: var(--navy); font-size: 13px; font-weight: 800; line-height: 1.15; }
.step small { display: block; margin-top: 1px; color: var(--muted); font-size: 9px; font-weight: 600; line-height: 1.2; }
.transform-divider { position: relative; display: flex; align-items: center; justify-content: center; min-width: 74px; }
.transform-divider::before, .transform-divider::after { content: ""; position: absolute; top: 50%; width: 50%; height: 1px; background: rgba(255, 108, 26, 0.36); z-index: 0; }
.transform-divider::before { left: 0; }
.transform-divider::after { right: 0; }
.transform-core { position: relative; width: 52px; min-width: 52px; min-height: 52px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border-radius: 50%; border: 1px solid rgba(255, 108, 26, 0.28); background: linear-gradient(135deg, #ff6c1a, #ff4d0d); color: #ffffff; box-shadow: 0 16px 34px rgba(255, 108, 26, 0.24); animation: transformPulse 7s ease-in-out infinite; z-index: 2; }
.transform-core svg { width: 24px; height: 24px; stroke-width: 2.4; animation: arrowSlide 7s ease-in-out infinite; }
@keyframes beforeState {
  0%, 36% { opacity: 1; transform: translateX(0); filter: saturate(1); }
  50%, 100% { opacity: 0.68; transform: translateX(-5px); filter: saturate(0.72); }
}
@keyframes afterState {
  0%, 39% { opacity: 0.64; transform: translateX(5px); filter: saturate(0.72); }
  52%, 100% { opacity: 1; transform: translateX(0); filter: saturate(1); }
}
@keyframes transformPulse {
  0%, 34%, 100% { transform: scale(1); }
  44%, 55% { transform: scale(1.04); }
}
@keyframes arrowSlide {
  0%, 34%, 100% { transform: translateX(0); }
  44%, 55% { transform: translateX(5px); }
}
@media (max-width: 980px) {
  .hero-visual { height: auto; padding: 40px 20px; }
  .visual-card { height: auto; min-height: 350px; }
  .comparison-grid { grid-template-columns: 1fr; height: auto; }
  .path-section.before, .path-section.after { animation: none; }
  .transform-divider { min-width: 0; min-height: 92px; }
  .transform-divider::before, .transform-divider::after { left: 50%; right: auto; top: auto; width: 1px; height: 50%; background: rgba(255, 108, 26, 0.36); }
  .transform-divider::before { top: 0; }
  .transform-divider::after { bottom: 0; }
  .transform-core svg { transform: rotate(90deg); }
  @keyframes arrowSlide {   0%, 34%, 100% { transform: rotate(90deg) translateX(0); }
  44%, 55% { transform: rotate(90deg) translateX(5px); }
 }
}
@media (max-width: 640px) {
  .hero-visual { padding: 28px 16px; }
  .visual-header { align-items: flex-start; flex-direction: column; padding: 22px; }
  .visual-title strong { font-size: 21px; }
  .visual-body { padding: 18px; }
  .section-label { align-items: flex-start; flex-direction: column; gap: 10px; }
  .vertical-flow { padding: 16px; }
  .step { grid-template-columns: 42px 1fr; padding: 12px; }
  .icon { width: 42px; height: 42px; }
  .step b { font-size: 16px; }
  .transform-core { width: 72px; min-width: 72px; min-height: 72px; }
}
