/* =========================================================
   FOUNDATIONS (Fonts, Variables, Resets)
   ========================================================= */

/* Preferred family (others commented in original kept intentional) */
@font-face {
  font-family: 'Basier Square';
  src: url('https://www.casefox.com/assets/font/BasierSquare-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Global Tokens */
:root {
  /* Typography */
  --default-font: 'Basier Square', sans-serif;
  --heading-font: 'Basier Square', sans-serif;
  --nav-font: 'Basier Square', sans-serif;
  --body-font-weight: 400;

  /* Palette */
  --background-color: #F8F9FB;
  --default-color: #0a0a0a;
  --heading-color: #0B3558;
  --accent-color: #0066f2;
  --surface-color: #ffffff;
  --contrast-color: #ffffff;

  /* Nav palette */
  --nav-color: #212529;
  --nav-hover-color: #0058D3;
  --nav-mobile-background-color: #ffffff;
  --nav-dropdown-background-color: #ffffff;
  --nav-dropdown-color: #212529;
  --nav-dropdown-hover-color: #0d83fd;

  /* Motion */
  scroll-behavior: smooth;
}

/* Color presets */
.light-background {
  --background-color: #f3f9ff;
  --surface-color: #ffffff;
}
.dark-background {
  --background-color: #0058D3;
  --default-color: #ffffff;
  --heading-color: #ffffff;
  --surface-color: #0058D3;
  --contrast-color: #ffffff;
}

/* Base */
body {
  color: var(--default-color);
  background-color: var(--background-color);
  font-family: var(--default-font);
  font-weight: var(--body-font-weight);
}
a {
  color: var(--accent-color);
  text-decoration: none;
  transition: 0.3s;
}
a:hover {
  color: color-mix(in srgb, var(--accent-color), transparent 25%);
  text-decoration: none;
}
h1,h2,h3,h4,h5,h6 {
  color: var(--heading-color);
  font-family: var(--heading-font);
}

/* =========================================================
   HEADER / NAV
   ========================================================= */

.header {
  margin-top: 10px;
  color: var(--default-color);
  padding: 0;
  transition: all 0.5s;
  z-index: 997;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
}
.header .header-container {
  background-color: rgba(255, 255, 255, 0.807);
  border-radius: 15px;
  border: 2px solid rgba(0, 4, 255, 0.100);
  padding: 5px 25px;
  max-width: 1295px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
/* Scrolled state */
.scrolled .header { background-color: #ffffff00; }
.scrolled .header .logo h1 { color: #2d405f; }
.scrolled .navmenu ul li a,
.scrolled .navmenu ul li a:focus { color: #2d405f; }
.scrolled .navmenu ul li:hover > a,
.scrolled .navmenu .active,
.scrolled .navmenu .active:focus { color: var(--accent-color); }
.scrolled .mobile-nav-toggle { color: #2d405f; }

/* Logo */
.header .logo {
  line-height: 1;
  padding-left: 5px;
  display: flex;
  align-items: center;
}
.header .logo img { max-height: 50px; margin-right: 0; }
.header .logo h1 {
  font-size: 24px; margin: 0; font-weight: 500;
  color: var(--default-color); transition: color 0.3s;
}

/* Buttons */
.header .btn-getstarted,
.header .btn-getstarted:focus { border: none; cursor: pointer; }
.header .btn-getstarted:hover,
.header .btn-getstarted:focus:hover { color: var(--contrast-color); }

.header .bbtn-getstarted,
.header .bbtn-getstarted:focus {
  color: var(--contrast-color);
  background: linear-gradient(to right, #350091 0%, #0a93e4 100%);
  font-size: 14px;
  padding: 10px 20px;
  margin: 0;
  border-radius: 7px;
  transition: 0.3s;
  border: none; cursor: pointer;
  font-family: var(--nav-font);
}
.header .bbtn-getstarted:hover,
.header .bbtn-getstarted:focus:hover {
  color: var(--contrast-color);
  background: color-mix(in srgb, var(--accent-color), transparent 15%);
}

/* Desktop Nav */
@media (min-width: 1210px) {
  .navmenu { padding: 0; }
  .navmenu ul {
    margin: 0; padding: 0; display: flex; list-style: none; align-items: center;
  }
  .navmenu li { position: relative; }
  .navmenu a,
  .navmenu a:focus {
    color: #10021c;
    padding: 18px 15px;
    font-size: 16px;
    font-family: var(--nav-font);
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: space-between;
    white-space: nowrap;
    transition: 0.3s;
    text-decoration: none;
  }
  .navmenu a i,
  .navmenu a:focus i { font-size: 12px; line-height: 0; margin-left: 5px; transition: 0.3s; }
  .navmenu li:last-child a { padding-right: 0; }
  .navmenu li:hover > a,
  .navmenu .active,
  .navmenu .active:focus { color: #5d07a8a0; }

  /* Dropdown */
  .navmenu .dropdown ul{
    margin:0; padding:10px 0; display:block; position:absolute; visibility:hidden;
    left:14px; top:130%; opacity:0; transition:0.3s; border-radius:4px; z-index:99;
  }
  .navmenu .dropdown ul li { min-width: 200px; }
  .navmenu .dropdown ul a { padding:10px 20px; font-size:15px; }
  .navmenu .dropdown ul a i { font-size:12px; }
  .navmenu .dropdown ul a:hover,
  .navmenu .dropdown ul .active:hover,
  .navmenu .dropdown ul li:hover > a { color: var(--nav-dropdown-hover-color); }
  .navmenu .dropdown:hover > ul { opacity:1; top:100%; visibility:visible; }
  .navmenu .dropdown .dropdown ul { top:0; left:-90%; visibility:hidden; }
  .navmenu .dropdown .dropdown:hover > ul { opacity:1; top:0; left:-100%; visibility:visible; }
}

/* Mobile Nav */
@media (max-width: 1210px) {
  .mobile-nav-toggle {
    color:#5c07a8; font-size:28px; line-height:0; margin-right:10px;
    cursor:pointer; transition:color .3s; display:block;
  }
  .navmenu { padding:0; z-index:9997; }
  .navmenu ul{
    display:none; list-style:none; position:absolute; inset:60px 20px 20px 20px;
    padding:10px 0; margin:0; border-radius:6px; background:var(--nav-mobile-background-color);
    overflow-y:auto; transition:.3s; z-index:9998; box-shadow:0 0 30px rgba(0,0,0,.1);
  }
  .navmenu a,
  .navmenu a:focus{
    color:var(--nav-dropdown-color); padding:10px 20px; font-family:var(--nav-font);
    font-size:17px; font-weight:500; display:flex; align-items:center; justify-content:space-between;
    white-space:nowrap; transition:.3s; text-decoration:none;
  }
  .navmenu a i,
  .navmenu a:focus i{
    font-size:12px; line-height:0; margin-left:5px; width:30px; height:30px; display:flex;
    align-items:center; justify-content:center; border-radius:50%;
    transition:.3s; background-color: color-mix(in srgb, var(--accent-color), transparent 90%);
  }
  .navmenu a i:hover,
  .navmenu a:focus i:hover{ background-color: var(--accent-color); color: var(--contrast-color); }
  .navmenu a:hover,
  .navmenu .active,
  .navmenu .active:focus{ color: var(--nav-dropdown-hover-color); }
  .navmenu .active i,
  .navmenu .active:focus i{ background-color: var(--accent-color); color: var(--contrast-color); transform: rotate(180deg); }
  .navmenu .dropdown ul{
    position:static; display:none; z-index:99; padding:10px 0; margin:10px 20px;
    background:var(--nav-dropdown-background-color);
    border:1px solid color-mix(in srgb, var(--default-color), transparent 90%); box-shadow:none;
    transition:all .5s ease-in-out;
  }
  .navmenu .dropdown ul ul{ background-color: rgba(33,37,41,0.1); }
  .navmenu .dropdown > .dropdown-active { display:block; background-color: rgba(33,37,41,0.03); }

  .mobile-nav-active { overflow:hidden; }
  .mobile-nav-active .mobile-nav-toggle{
    color:#2d405f; position:absolute; font-size:32px; top:15px; right:15px; margin-right:0; z-index:9999;
  }
  .mobile-nav-active .navmenu{
    position:fixed; overflow:hidden; inset:0; background:rgba(33,37,41,.8); transition:.3s;
  }
  .mobile-nav-active .navmenu > ul { display:block; }

  .scrolled .mobile-nav-toggle { color:#2d405f; }
  .scrolled.mobile-nav-active .mobile-nav-toggle { color:#2d405f; }
}

/* Header responsive tweaks */
@media (max-width: 1200px) {
  .header { padding-top: 0; }
  .header .header-container { margin-left:0; margin-right:0; padding:10px 5px 10px 15px; }
  .header .logo { order:1; }
  .header .btn-getstarted { order:2; margin:0 -10px 0 0; padding:6px 15px; margin-top:5px; }
  .navmenu { order:3; }
}

/* Login link */
.login-btn {
  display:inline-flex; align-items:center; text-decoration:none; color:#093444;
  font-size:16px; margin-right:8px; font-family:sans-serif;
}
.login-btn i { color:#093444; font-size:20px; margin-right:8px; }
.login-btn:hover { text-decoration: underline; }
@media (max-width: 499px) { .login-btn { display: none; } }

/* Utility containers (kept values exact) */
.ccustom-section{
  padding: 0 40px; padding-top:20px; background:#ffffff; border-radius:20px;
  border-top:3px solid rgb(7,7,77); margin-left:-380px; padding-bottom:20px;
}
@media (max-width:768px){
  .ccustom-section{
    padding:0; background-color:#ffffff00; border-radius:20px;
    border-top:3px solid rgba(255,255,255,0); margin-left:0; margin-top:-42px;
  }
}
.custom-section{
  padding:0 40px; padding-top:20px; background:#ffffff; border-radius:20px;
  border-top:3px solid rgb(7,7,77); margin-left:-272px; padding-bottom:15px;
}
.custom-container{
  max-width:1000px; min-width:1200px; margin:auto; display:flex; justify-content:space-between; gap:30px;
}
.custom-column{ width:30%; }
.custom-heading{
  font-weight:600; background:#f3f4f6; color:#374151; padding:8px 12px; border-radius:6px;
  margin-bottom:10px; font-size:16px; margin-left:-5px;
}
.custom-heading.custom-active{ background:#e5e7eb; }
.custom-item{ margin-bottom:-5px; }
.custom-title{
  display:inline-block; font-weight:600; color:#0f172a; text-decoration:none; font-size:15px; margin-left:-20px;
}
.custom-title:hover{ text-decoration: underline; }
.custom-item p{ color:#6b7280; font-size:11px; margin:-4px 0 0; }
.custom-see-all{ color:#6b7280; font-size:14px; text-decoration:none; }
.custom-see-all:hover{ text-decoration: underline; }
.custom-column img{ max-width:300px; height:auto; border-radius:10px; display:block; }
@media (max-width:768px){
  .custom-column img{ display:none; }
  .custom-section{
    padding:0; background:#ffffff00; border-radius:20px; border-top:3px solid rgba(255,255,255,0);
    margin-left:0; margin-top:-42px;
  }
  .custom-title{ margin-top:-25px; }
}
@media (max-width:910px){
  .custom-container{ flex-direction:column; }
  .custom-column{ width:100%; }
  .custom-item{ margin-bottom:5px; padding:10px; max-width:25%; }
}

/* =========================================================
   FOOTER
   ========================================================= */

.footer-v2{
  background-image:url('https://www.casefox.com/assets/img/footer-bg.png');
  font-size:15px; background-size:cover; color:#111;
}
.footer-v2 h5{ font-weight:600; color:#111; margin-bottom:16px; }
.footer-v2 ul{ list-style:none; padding-left:0; }
.footer-v2 ul li{ margin-bottom:10px; }
.footer-v2 ul li a{ text-decoration:none; color:#111; }
.footer-v2 ul li a:hover,
.footer-v2 .contact-sales{ text-decoration: underline; }
.footer-v2 .footer-top{ padding:60px 0; }
.footer-v2 .footer-bottom{
  background:#fff; padding:20px 0; border-top:1px solid #cfd8e1; font-size:14px;
}
.footer-v2 .social-icons a{
  margin-right:15px; color:#111; font-size:20px; display:inline-flex; align-items:center; gap:6px; text-decoration:none;
}
.footer-v2 .legal-links{ text-align:center; flex-grow:1; margin-top:10px; margin-left:0; }
.footer-v2 .legal-links a{ margin:0 12px; color:#111; text-decoration:none; }
.footer-v2 .app-buttons{ display:flex; gap:10px; }
.footer-v2 .app-buttons img{ height:40px; }
.footer-v2 .arrow{ font-weight:500; margin-left:5px; }
.footer-v2 .emoji{ font-size:16px; }
@media (max-width:768px){
  .footer-v2 .footer-bottom .container{ flex-direction:column; align-items:center; text-align:center; gap:20px; }
  .footer-v2 .legal-links a{ display:inline-block; margin:6px; }
  .footer-v2 .app-buttons{ justify-content:center; }
}

/* =========================================================
   UTILITIES (Scroll top, AOS mobile)
   ========================================================= */

.scroll-top{
  position:fixed; visibility:hidden; opacity:0; right:15px; bottom:-15px; z-index:99999;
  background-color:var(--accent-color); width:44px; height:44px; border-radius:50px; transition:all .4s;
}
.scroll-top i{ font-size:24px; color:var(--contrast-color); line-height:0; }
.scroll-top:hover{ background-color: color-mix(in srgb, var(--accent-color), transparent 20%); color: var(--contrast-color); }
.scroll-top.active{ visibility:visible; opacity:1; bottom:15px; }
@media screen and (max-width:768px){ [data-aos-delay]{ transition-delay:0 !important; } }

/* =========================================================
   PAGE TITLES
   ========================================================= */

.page-title{
  color:var(--default-color); background-color:var(--background-color);
  padding:170px 0 80px; text-align:center; position:relative;
}
.page-title h1{ font-size:42px; font-weight:700; margin-bottom:10px; }
.page-title .breadcrumbs ol{
  display:flex; flex-wrap:wrap; list-style:none; justify-content:center; padding:0; margin:0; font-size:16px; font-weight:400;
}
.page-title .breadcrumbs ol li+li{ padding-left:10px; }
.page-title .breadcrumbs ol li+li::before{
  content:"/"; display:inline-block; padding-right:10px;
  color: color-mix(in srgb, var(--default-color), transparent 70%);
}

/* =========================================================
   SECTIONS & TITLES
   ========================================================= */

section,.section{
  color:var(--default-color); background-color:var(--background-color);
  padding:60px 0; scroll-margin-top:90px; overflow:clip;
}
@media (max-width:1199px){ section,.section{ scroll-margin-top:66px; } }

.section-title{
  text-align:center; padding-bottom:60px; position:relative; margin-top:-30px;
}
.section-title h2{
  font-size:36px; font-weight:700; margin-bottom:20px; padding-bottom:20px; color:rgb(11,53,88); position:relative;
}
.section-title h2:after{
  content:""; position:absolute; display:block; width:50px; height:3px; background:var(--accent-color);
  left:0; right:0; bottom:0; margin:auto;
}
.section-title p{ margin-bottom:0; }

/* =========================================================
   HERO
   ========================================================= */

.hero-section { background-color: #F8F9FB; display: flex; justify-content: center; align-items: center; text-align: center; padding: 20px 20px; margin-top: 150px; margin-bottom: 0px; width: 100%; min-height:10vh; }
.hero-container { max-width: 1200px; width: 90%; }
.hero-container h1 { font-size: 62px; margin-bottom: 20px; font-weight: bold; color: #000000; line-height: 1.2; }
.hero-container h1 span { background: linear-gradient(90deg, #004b9c, #0679f3, #00c6ff, #024790, #007bff); background-size: 300% 100%; -webkit-background-clip: text; -webkit-text-fill-color: transparent; animation: gradientAnimation 5s infinite ease-in-out; }
@keyframes gradientAnimation { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }
.hero-container p { font-size: 1rem; color: #6c757d; margin-top: 10px; line-height: 1.5;}
/* ==== FEATURES SECTION STYLES ==== */
.features { justify-content: center; align-items: center; padding: 40px 0;}
.features .nav-tabs { border: 0; background-color: white; display: flex; align-items: center; justify-content: center; border-radius: 50px; padding: 10px; width: auto; box-shadow: 0 5px 7px rgba(0, 0, 0, 0.1); transition: all 0.3s ease-in-out;}
.features .nav-item { margin: 0; padding: 0 8px;}
.features .nav-item:last-child {padding-right: 0;}
.features .nav-link { font-size: 1rem; font-weight: 600; color: var(--heading-color); padding: 12px 35px; border-radius: 50px; display: flex; align-items: center; justify-content: center; cursor: pointer; height: 100%; border: 2px solid transparent; transition: all 0.3s ease-in-out;}
.features .nav-link:hover { background: rgba(0, 123, 255, 0.1); border-color: rgba(0, 123, 255, 0.5); color: #0056b3; transform: translateY(-2px);}
.features .nav-link.active {  background: linear-gradient(to right, rgb(53, 0, 145) 0%, rgb(10, 147, 228) 100%);  border-color: rgb(205, 205, 205);  color: var(--contrast-color);}
.features .nav-link.active h4 { color: var(--contrast-color);}
.features .nav-link h4 {  font-size: 16px;  font-weight: 500;  margin: 0;  transition: color 0.3s ease-in-out;}

/* === RESPONSIVE DESIGN === */
@media (max-width: 992px) {
  .features { padding: 30px 0; margin-bottom: 80px; }
  .features .nav-tabs { padding: 8px; }
  .features .nav-link { padding: 10px 28px; font-size: 0.95rem;} }

@media (max-width: 768px) {
  .hero-container h1 { font-size: 2.5rem; }
  .hero-container p { font-size: 1rem; }}

@media (max-width: 480px) {
  .hero-container h1 { font-size: 2rem; }
  .hero-container p { font-size: 0.9rem; }}

.legal-section {
  padding: 40px 20px;
}

.legal-container { max-width: 1300px; margin: 0 auto; background: white; border-radius: 8px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); padding: 40px; position: relative;}
.legal-header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px;}
.legal-header h2 { font-size: 32px; color: #003057; margin: 0;}
.legal-header p { font-size: 16px; color: #4a4a4a; line-height: 1.6; margin-top: 10px;}

.legal-button {
  background-color: #003057;
  color: white;
  padding: 12px 24px;
  border-radius: 25px;
  text-decoration: none;
  font-weight: 500;
}

.legal-includes {
  margin-top: 30px;
}

.legal-includes h3 {
  font-size: 18px;
  color: #003057;
  margin-bottom: 20px;
}

.legal-list-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.legal-list {
  list-style: none;
  padding: 0;
  margin: 0;
  flex: 1;
  min-width: 200px;
}

.legal-list li {
  margin-bottom: 15px;
  color: #003057;
}

.legal-badges {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 30px;
  flex-wrap: wrap;
}

.legal-badges img {
  margin-top: -40px;
  height: 40px;
}

@media (max-width: 768px) {
  .legal-header h2 {
    font-size: 24px;
  }

  .legal-header p {
    font-size: 14px;
  }
}


.greadent-animation {
  background: linear-gradient(
    90deg,
    #00c6ff,
    #0072ff,
    #8e2de2,
    #4a00e0,
    #00c6ff
  );
  background-size: 300% 300%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: gradientShift 6s ease infinite;
  display: inline-block;
}

@keyframes gradientShift {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

/* =========================================================
   MARQUEE / BADGES
   ========================================================= */
.website-dev-services {
  padding: 10px;
  margin-bottom: 50px;
  background: linear-gradient(180deg, #f0f4fd 0%, #f8f9fb 100%);
}

.service-container {
  max-width: 1295px;
  background-color: #ffffff;
  border: 1px solid #d5d7da;
  border-radius: 10px;
  padding: 30px;
}

.website-dev-services h1 {
  font-size: 38px;
  color: #000;
  font-weight: 700;
  margin-bottom: 20px;
}

.pricing-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 5px;
}

.price-amount {
  font-size: 32px;
  font-weight: 700;
  color: #003eb1;
}

.price-note {
  font-size: 16px;
  color: #6c757d;
}

.pricing-description {
  font-size: 16px;
  color: #6c757d;
  margin-bottom: 30px;
}

.features-list {
  margin-bottom: 30px;
}

.feat-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
}

.feat-ico {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: #e8f1ff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: #0041b9;
  flex-shrink: 0;
}

.feat-text {
  font-size: 18px;
  margin: 0;
  color: #343a40;
}

.cta-button .btn-primary {
  background: linear-gradient(90deg, #011958, #2a75ff);
  border: none;
  border-radius: 8px;
  padding: 12px 24px;
  font-weight: 600;
  font-size: 16px;
  color: #fff;
  transition: all 0.3s ease;
}

.cta-button .btn-primary:hover {
  background: linear-gradient(90deg, #2a75ff, #011958); /* reverse gradient */
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25);
}


.service-visual {
  border-radius: 10px;
  overflow: hidden;
}

.service-visual img {
  width: 100%;
  height: auto;
  display: block;
}

/* Responsive adjustments */
@media (max-width: 1199.98px) {
  .service-container {
    padding: 40px;
  }
}

@media (max-width: 991.98px) {
  .website-dev-services {
    padding: 50px 0;
  }
  
  .service-container {
    padding: 30px;
  }
  
  .website-dev-services h1 {
    font-size: 32px;
  }
  
  .feat-text {
    font-size: 16px;
  }
}

@media (max-width: 767.98px) {
  .service-container {
    padding: 25px 20px;
  }
  
  .website-dev-services h1 {
    font-size: 28px;
  }
  
  .price-amount {
    font-size: 28px;
  }
  
  .feat-item {
    padding: 6px 0;
  }
  
  .service-visual {
    margin-top: 30px;
  }
}

@media (max-width: 575.98px) {
  .website-dev-services {
    padding: 40px 0;
  }
  
  .website-dev-services h1 {
    font-size: 24px;
  }
  
  .price-amount {
    font-size: 24px;
  }
  
  .feat-ico {
    width: 32px;
    height: 32px;
    font-size: 16px;
  }
  
  .feat-text {
    font-size: 15px;
  }
}

/* =========================================================
   MARQUEE / BADGES
   ========================================================= */

    .cf-ai-block { background: transparent; }
  .cf-ai-card {
    background-image: url('https://www.casefox.com/assets/img/cta-background-image.webp');
    background-size: cover;
    background-position: center;
    border: 1px solid #9d9d9e57;
    box-shadow: 0 12px 32px rgba(47,102,255,0.08), 0 2px 6px rgba(15,23,42,0.04);
    position: relative;
    border-radius: 12px;
  }
  .cf-ai-card::before{
    content:"";
    position:absolute; inset:-8%;
    background:
      radial-gradient(40% 40% at 15% 20%, #F3F7FF 0%, transparent 60%),
      radial-gradient(35% 35% at 85% 70%, #F3F7FF 0%, transparent 60%);
    z-index:0; pointer-events:none;
  }
  .cf-ai-title{
    position:relative; z-index:1;
    font-weight:800; line-height:1.15; letter-spacing:0.03em;
    font-size: clamp(28px, 6vw, 60px);
    background: linear-gradient(90deg, #000000, #1768fe);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text; color: transparent;
  }
  .cf-ai-sub{
    position:relative; z-index:1; margin:0 auto 1rem;
    color:#474747; font-size: clamp(16px, 3.5vw, 26px); line-height:1.6; max-width: 620px;
  }

  .cta-button .btn-primary{
    background: linear-gradient(90deg, #011958, #2a75ff);
    border:none; border-radius:8px; padding:12px 24px; font-weight:600; font-size:16px; color:#fff;
    transition: all .3s ease; box-shadow: 0 6px 16px rgba(47,102,255,0.25);
  }
  .cta-button .btn-primary:hover{
    background: linear-gradient(90deg, #2a75ff, #011958);
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(47,102,255,0.30);
  }

  .cf-modal { border-radius: 16px; }
  .cf-modal-title{
    font-weight:800; margin:0;
    background: linear-gradient(90deg, #000000, #1768fe);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text; color: transparent;
    font-size: clamp(22px, 3.2vw, 34px);
  }
  .cf-modal-subtitle{
    font-weight:700; margin-bottom:.5rem; color:#0f172a; font-size: clamp(18px, 2.8vw, 24px);
  }
  .cf-modal-text{ color:#4b5563; font-size:16px; line-height:1.6; }

  .cf-feature-list{
    list-style: none;
    padding: 0;
    margin: 0 0 1rem 0;
  }
  .cf-feature-list li{
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    margin: 12px 0;
    line-height: 1.55;
    color: #0f172a;
    font-size: 16px;
  }

  .cf-feature-icon{
    flex: 0 0 18px;
    height: 18px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(23,104,254,.12); 
    color: #1768fe;                     
    margin-top: 5px;                   
  }
  .cf-feature-icon i{
    font-size: 16px;
    line-height: 1;
  }

  .cf-ai-btn{
    background: linear-gradient(90deg, #011958, #2a75ff);
    color:#fff; border:none; border-radius:8px; padding:10px 18px; font-weight:600;
    transition: all .3s ease; box-shadow: 0 6px 16px rgba(47,102,255,0.25);
  }
  .cf-ai-btn:hover{
    background: linear-gradient(90deg, #2a75ff, #011958);
    transform: translateY(-2px);
    color:#fff;
  }
  
  .modal-content {
    max-height: 90vh;
    overflow-y: auto; 
  }
  
  .modal .btn-primary {
    background: linear-gradient(90deg, #011958, #2a75ff);
    border: none;
    transition: all 0.3s ease;
  }
  
  .modal .btn-primary:hover {
    background: linear-gradient(90deg, #2a75ff, #011958);
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(47,102,255,0.25);
  }
  
  .object-fit-cover {
    object-fit: cover;
  }
  
  @media (max-width: 991.98px) {
    .modal-dialog.modal-xl {
      margin: 20px 10px; 
    }
    
    .modal-content .row {
      flex-direction: column; 
    }
    
    .modal-content .col-lg-6 {
      width: 100%; 
    }
    
    .modal-content .col-lg-6:last-child {
      display: none; 
    }
    
    .modal-content .p-4.p-md-5 {
      padding: 1.5rem !important; 
    }
    
    .cf-feature-list li {
      font-size: 15px;
      margin: 10px 0;
    }
  }
  
  @media (max-width: 575.98px) {
    .modal-content .p-4.p-md-5 {
      padding: 1rem !important; 
    }
    
    .cf-feature-list li {
      font-size: 14px; 
    }
    
    .btn {
      font-size: 14px; 
      padding: 10px 20px;
    }
  }
/* =========================================================
   ========================================================= */

.enterprise-card {
  border-radius: 20px;
}

.enterprise-left {
     background: url(https://www.casefox.com/assets/img/background-1.png) no-repeat center center !important;
}

.enterprise-btn {
  transition: all 0.3s ease;
  font-size: 18px;
  border-radius: 10px;
}

.enterprise-btn:hover {
  transform: translateY(-3px);
  background: #2563eb !important;
  color: #fff !important;
}

.enterprise-intro {
  line-height: 1.4;
}

.enterprise-list ul li {
  font-size: 16px;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
}

@media (max-width: 992px) {
  .enterprise-card .row {
    flex-direction: column;
  }
  
  .enterprise-left, .col-lg-7 {
    width: 100%;
    padding: 40px 30px;
  }
}
/* =========================================================
   ========================================================= */

  /* ===== CF PRICING SLIDER — LAYOUT LIKE REFERENCE ===== */
  .cf-pricing-slider{border-radius:12px;padding:20px;max-width:1295px;margin:0 auto 0px; padding-top: 90px;}
  /* header left aligned */
  .cf-slider-header{margin-bottom:28px;text-align:left}
  .cf-slider-title{font-size:52px;line-height:1.2;margin:0 0 12px;color:#23263a;font-weight:800; max-width: 1100px; margin-bottom: 30px;}
  .cf-slider-title .em{color:#5d6cff}
  .cf-slider-subtitle{max-width:780px;color:#667085;font-size:22px;line-height:1.6;margin:0; margin-bottom: -20px;}
  /* two-column footer row */
  .cf-estimator{
    display:grid;gap:48px;align-items:end;
    grid-template-columns:1.3fr 1fr;
    margin-top:34px;padding-top:0px;}
  @media (max-width:992px){ .cf-estimator{grid-template-columns:1fr;gap:24px} }
  /* left column (MRR + slider) */
  .cf-left .cf-mrr-label{font-size:14px;font-weight:700;color:#475467;margin:0 0 8px}
  .cf-left .cf-mrr-value{font-size:44px;font-weight:900;color:#000742dd;margin:0 0 14px}
  .cf-left .cf-slider{width:100%;height:8px;border-radius:999px;background:#e9edfb;outline:0;border:none}
  .cf-left .cf-slider::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:#5d6cff;border:4px solid #fff;box-shadow:0 2px 8px rgba(93,108,255,.35);cursor:pointer}
  .cf-left .cf-slider::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:#5d6cff;border:4px solid #fff;box-shadow:0 2px 8px rgba(93,108,255,.35);cursor:pointer}
  .cf-left .cf-slider-hint{display:flex;gap:8px;align-items:center;color:#4b4b4b;font-size:13px;margin-top:14px}
   /* right column (toggle + price + CTA) */
  .cf-right{display:flex;flex-direction:column;align-items:flex-start;border-left:1px solid #9da3ab;margin-left: 40px; padding-left:86px}
  @media (max-width:992px){.cf-right{border-left:none;padding-left:0}}
  .cf-bill-toggle{display:flex;align-items:center;gap:12px;margin-bottom:16px;color:#475467;font-weight:600;user-select:none; font-size: 30px;}
  .cf-bill-toggle .dim{color:#495467;font-weight:600}
  /* ===== BIG iOS-STYLE TOGGLE (matches reference image) =====
    Expected HTML order inside .cf-switch:
    <input type="checkbox"> + <span class="track"></span> + <span class="thumb"></span>
  */
  .cf-switch{position:relative;display:inline-block;width:78px;height:42px;flex:0 0 auto}
  .cf-switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
  /* Track (blue pill) */
  .cf-switch .track{
    position:absolute;inset:0;border-radius:999px;
    background:linear-gradient(180deg,#35a8ff 0%,#279bff 100%); /* bright blue like the image */
    box-shadow:inset 0 2px 6px rgba(0,0,0,.15);
    transition:background .25s ease,box-shadow .25s ease,transform .2s ease;}
  /* Thumb (glossy white disc) */
  .cf-switch .thumb{position:absolute;top:3px;left:3px;width:36px;height:36px;border-radius:50%;background:radial-gradient(65% 65% at 35% 35%, rgba(255,255,255,.95) 0%, rgba(255,255,255,.6) 60%, rgba(230,233,242,.4) 100%),#ffffff;
    box-shadow: 0 3px 10px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.9), inset 0 -2px 6px rgba(0,0,0,.06);
    transition:left .25s ease,box-shadow .25s ease,transform .2s ease;}
  /* States */
  .cf-switch input:hover + .track{filter:brightness(1.03)}
  .cf-switch input:active + .track{transform:scale(.98)}
  .cf-switch input:focus-visible + .track{outline:2px solid #a9c4ff;outline-offset:2px}
  /* Checked: keep the same blue (image shows full-blue track) and slide thumb right */
  .cf-switch input:checked + .track{background:linear-gradient(180deg,#2fa2ff 0%,#2196f3 100%)}
  .cf-switch input:checked + .track + .thumb{left:39px;box-shadow:0 4px 12px rgba(33,150,243,.45),inset 0 1px 0 rgba(255,255,255,.9),inset 0 -2px 6px rgba(0,0,0,.06)}
  .cf-main-price{font-size:42px;font-weight:900;color:#23263a;margin:6px 0 18px} .cf-main-note{color:#4b4b4b;font-size:13px;margin:-10px 0 18px} .cf-trial-button{ display:inline-block;background:#5d6cff;color:#fff;text-decoration:none; padding:14px 24px;border-radius:10px;font-weight:700;transition:.25s }
  /* Optional: compact on very small phones while keeping look */
  @media (max-width:420px){
    .cf-switch{width:68px;height:36px}
    .cf-switch .thumb{width:30px;height:30px;top:3px;left:3px}
    .cf-switch input:checked + .track + .thumb{left:35px}}
  /* ===========================
   RESPONSIVE ADD-ONS (append)
   =========================== */
/* large tablets & small laptops */
@media (max-width:1200px){
  .cf-pricing-slider{padding:24px;padding-top:80px}
  .cf-slider-title{font-size:48px;line-height:1.15;max-width:100%}
  .cf-slider-subtitle{font-size:22px}
  .cf-left .cf-mrr-value{font-size:38px}
  .cf-main-price{font-size:36px}}
/* tablets */
@media (max-width:992px){
  .cf-pricing-slider{padding:24px 22px;padding-top:70px}
  .cf-estimator{grid-template-columns:1fr;gap:24px}
  .cf-right{border-left:none;margin-left:0;padding-left:0}
  .cf-slider-title{font-size:42px}
  .cf-slider-subtitle{font-size:20px;margin-bottom:0}
  .cf-left .cf-mrr-value{font-size:36px}
  .cf-main-price{font-size:34px}
  .cf-bill-toggle{font-size:22px;gap:10px}
  .cf-trial-button{padding:12px 20px}}
/* large phones / small tablets */
@media (max-width:768px){
  .cf-pricing-slider{padding:20px 18px;padding-top:56px;border-radius:10px}
  .cf-slider-header{margin-bottom:22px}
  .cf-slider-title{font-size:34px;line-height:1.2}
  .cf-slider-subtitle{font-size:18px}
  .cf-estimator{gap:20px;margin-top:24px}
  .cf-left .cf-mrr-label{font-size:13px}
  .cf-left .cf-mrr-value{font-size:32px;margin-bottom:12px}
  .cf-left .cf-slider{height:10px}
  .cf-left .cf-slider::-webkit-slider-thumb{width:24px;height:24px}
  .cf-left .cf-slider::-moz-range-thumb{width:24px;height:24px}
  .cf-bill-toggle{font-size:18px;margin-bottom:12px;flex-wrap:wrap}
  /* scale the big iOS toggle slightly for this range */
  .cf-switch{width:72px;height:40px}
  .cf-switch .thumb{width:34px;height:34px;top:3px;left:3px}
  .cf-switch input:checked + .track + .thumb{left:35px}
  .cf-main-price{font-size:38px;margin:4px 0 14px}
  .cf-main-note{font-size:12px;margin:-8px 0 14px}
  .cf-trial-button{width:100%;text-align:center;border-radius:12px}
  .cf-right .fineprint{font-size:12px;max-width:100%}}
/* phones */
@media (max-width:576px){
  .cf-pricing-slider{padding:16px 14px;padding-top:50px}
  .cf-slider-title{font-size:30px;line-height:1.25;margin-bottom:8px}
  .cf-slider-subtitle{font-size:16px;line-height:1.55}
  .cf-estimator{gap:16px;margin-top:18px}
  .cf-left .cf-mrr-label{font-size:12px;margin-bottom:6px}
  .cf-left .cf-mrr-value{font-size:28px;margin-bottom:10px}
  .cf-left .cf-slider{height:9px}
  .cf-left .cf-slider-hint{font-size:12px;margin-top:10px;gap:6px}
  .cf-main-price{font-size:26px}
  .cf-main-note{font-size:11px;margin:-6px 0 12px}
  .cf-bill-toggle{font-size:16px;gap:8px}
  /* compact the switch while preserving look */
  .cf-switch{width:68px;height:36px}
  .cf-switch .thumb{width:30px;height:30px;top:3px;left:3px}
  .cf-switch input:checked + .track + .thumb{left:35px}}
  /* ============ MAIN PRICING CARDS (CaseFox) ============ */
  .casefox-pricing{background:#f8f9fb00;padding:20px 10px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
  .cf-container{max-width:1295px;margin:auto;display:grid;grid-template-columns:1fr;gap:30px}
  @media(min-width:900px){.cf-container{grid-template-columns:1fr 1fr 1fr}}
  .cf-card{background:#fff;border:1px solid #e7e9ef;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.05);padding:32px;display:flex;flex-direction:column;min-height:100%;position:relative;overflow:hidden;transition:.3s;opacity:0;animation:fadeInUp .6s ease forwards}
  .cf-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px rgba(0,0,0,.08)}
  .cf-card:before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#6b4cff,#3da0ff);opacity:0;transition:.3s}
  .cf-card:hover:before{opacity:1}
  .cf-card:nth-child(1){animation-delay:.1s}.cf-card:nth-child(2){animation-delay:.2s}.cf-card:nth-child(3){animation-delay:.3s}
  .cf-icon-container{width:60px;height:60px;border-radius:12px;margin-bottom:20px;display:flex;align-items:center;justify-content:center}
  .cf-icon{height:52px;object-fit:contain}
  .cf-title{font-size:28px;font-weight:700;margin:2px 0 12px;color:#0c0f1e}
  .cf-desc{margin:0 0 16px;line-height:1.6;font-size:14px;color:#475467}
  .cf-price{font-weight:700;margin:0 0 18px;font-size:16px;color:#0c0f1e}
  .cf-price .emph{font-size:42px;color:#2c73f8;font-weight:800}
  .cf-btn{display:inline-block;padding:12px 18px;border-radius:8px;text-align:center;font-weight:700;font-size:15px;transition:.3s;cursor:pointer;text-decoration:none}
  .cf-btn.dark{background:#0c0f1e;color:#fff}.cf-btn.dark:hover{background:#1a1f36;transform:translateY(-2px);box-shadow:0 4px 12px rgba(12,15,30,.2)}
  .cf-btn.primary{background:#6b4cff;color:#fff}.cf-btn.primary:hover{background:#5a39ff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(107,76,255,.3)}
  .w-100{width:100%}
  .cf-label{font-weight:800;font-size:16px;margin:18px 0 12px;color:#0c0f1e}
  .cf-bullets{list-style:none;padding:0;margin:0}
  .cf-bullets li{position:relative;padding-left:28px;margin:10px 0;color:#475467;font-size:14px;line-height:1.5;transition:color .2s}
  .cf-bullets li:hover{color:#0c0f1e}
  .cf-bullets li:before{content:"✓";position:absolute;left:0;top:0;width:20px;height:20px;background:#f0f7ff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;color:#6b4cff}
  .cf-accordion{margin-top:12px}
  .cf-acc-item{border:1px solid #e7e9ef;border-radius:8px;margin-bottom:10px;overflow:hidden;transition:.3s}
  .cf-acc-item:hover{border-color:#d0d5dd}
  .cf-acc-header{padding:16px 18px;font-size:15px;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;align-items:center;background:#fff;transition:background .2s}
  .cf-acc-header:hover{background:#f9fafb}
  .cf-acc-header:after{content:"↓";font-size:16px;color:#04135d;transition:transform .4s cubic-bezier(.68,-.55,.27,1.55)}
  .cf-acc-item.active .cf-acc-header:after{transform:rotate(180deg)}
  .cf-acc-content{max-height:0;overflow:hidden;transition:max-height .6s cubic-bezier(.4,0,.2,1),padding .4s ease;padding:0 18px;background:#fcfcfe}
  .cf-acc-item.active .cf-acc-content{max-height:500px;padding:16px 18px;border-top:1px solid #eef0f5}
  .cf-popular{position:absolute;top:18px;right:-27px;background:#1c01a7;color:#fff;padding:5px 30px;font-size:12px;font-weight:800;transform:rotate(45deg);box-shadow:0 4px 12px rgba(107,76,255,.3)}
  @keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

/* =========================================================
   MARQUEE / BADGES
   ========================================================= */

.text-success{ margin-top:50px; --bs-text-opacity:1; color:#ff620c; }
.scroll-wrapper{
  margin-top:30px; overflow:hidden; white-space:nowrap; position:relative;
  mask-image:linear-gradient(to right, transparent, black 10%, black 90%, transparent);
  -webkit-mask-image:linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}
.scroll-content{ display:inline-flex; gap:0; animation: scroll-left 20s linear infinite; }
.scroll-content.reverse{ animation: scroll-right 25s linear infinite; }
@keyframes scroll-left{ 0%{transform:translateX(0);} 100%{transform:translateX(-50%);} }
@keyframes scroll-right{ 0%{transform:translateX(-50%);} 100%{transform:translateX(0);} }
.scroll-badge {
  display: inline-block;
  white-space: nowrap;
  margin: 0;
  border-radius: 9999px;
  background: #ffffff;
  color: #333;
  line-height: 1;
  border: 1px solid rgba(0,0,0,0.06);

  /* Default (large screens) */
  padding: 13px 34px;
  font-size: 22px;
}

/* Tablets (≤991px) */
@media (max-width: 991px) {
  .scroll-badge {
    padding: 11px 28px;
    font-size: 18px;
  }
}

/* Mobile (≤575px) */
@media (max-width: 575px) {
  .scroll-badge {
    padding: 9px 22px;
    font-size: 16px;
  }
}

/* Small mobile (≤360px) */
@media (max-width: 360px) {
  .scroll-badge {
    padding: 8px 18px;
    font-size: 14px;
  }
}


/* =========================================================
   H-SCROLL CARDS
   ========================================================= */

.horizontal-scroll{ scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.horizontal-scroll::-webkit-scrollbar{ display:none; }
.custom-card{
  width:300px; min-width:300px; background:#fff; border:2px solid transparent; transition:all .3s ease;
  scroll-snap-align:start; box-shadow:0 2px 8px rgba(0,0,0,.05); display:flex; flex-direction:column; height:450px;
  position:relative; overflow:hidden;
}
.custom-card:hover{ border-color:#001bb165; box-shadow:0 4px 16px rgba(0,44,177,.3); }
.card-footer{ margin-top:auto; overflow:hidden; }
.bottom-image{ transition: transform .3s ease; width:100%; display:block; }
.learn-more{
  position:absolute; top:-30px; left:0; transition:all .3s ease; opacity:0; z-index:2; margin-left:20px;
}
.custom-card:hover .bottom-image{ transform: translateY(30px); }
.custom-card:hover .learn-more{ opacity:1; top:0; }
.scroll-button{
  width:40px; height:40px; border-radius:50%; background:#fff; border:1px solid #dee2e6;
  display:flex; align-items:center; justify-content:center; color:#001bb1;
  box-shadow:0 2px 8px rgba(0,0,0,.1); transition:all .3s ease;
}
.scroll-button:hover{ background:#001bb1; color:#fff; transform:scale(1.1); }
.scroll-button:active{ transform:scale(.95); }
.dot-container{ height:12px; }
.dot{ width:8px; height:8px; border-radius:50%; background:#ccc; transition:all .3s ease; cursor:pointer; }
.dot:hover{ background:#001bb180; }

/* Typography helpers */
.gradient-text{ background:linear-gradient(90deg,#3105c5,#010756); -webkit-background-clip:text; background-clip:text; color:transparent; }
.text-purple{ color:#7b4db7; }
.bg-purple{ background-color:#5f4db7; }
.bg-purple-light{ background-color:#f8f1f9; }
.badgea.bg-purple{ background-color: rgba(77,86,183,0.064) !important; }
@media (max-width:992px){
  .display-5{ font-size:2rem; }
  .fs-5{ font-size:1rem !important; }
  .p-lg-5{ padding:1.5rem !important; }
}
@media (max-width:768px){
  .display-5{ font-size:1.75rem; }
  .lead{ font-size:1rem; }
}

/* =========================================================
   PERFORMANCE STRIPES
   ========================================================= */

.performance-title{ margin-top:50px; color:#ff620c; }
.performance-scroll-wrapper{
  margin-top:30px; overflow:hidden; white-space:nowrap; position:relative;
  mask-image:linear-gradient(to right, transparent, black 10%, black 90%, transparent);
  -webkit-mask-image:linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}
.performance-scroll-track{ display:inline-flex; gap:0; animation: performance-scroll-left 20s linear infinite; }
.performance-scroll-track.reverse{ animation: performance-scroll-right 20s linear infinite; }
@keyframes performance-scroll-left{ 0%{transform:translateX(0);} 100%{transform:translateX(-50%);} }
@keyframes performance-scroll-right{ 0%{transform:translateX(-50%);} 100%{transform:translateX(0);} }
.performance-badge-track{ display:flex; gap:20px; align-items:center; }
.performance-badge{
  display:inline-flex; align-items:center; gap:10px; padding:7px 25px; background:#e9e8e841; border-radius:999px;
  color:#000; font-weight:500; white-space:nowrap; box-shadow:0 2px 6px rgba(0,0,0,.1);
}
.performance-badge img{ width:45px; height:45px; object-fit:cover; padding:5px; }
.performance-badge p{ font-size:20px; margin-bottom:0; }
.performance-gradient-text{
  background:linear-gradient(90deg,#0744c7,#0f8bdd); -webkit-background-clip:text; -webkit-text-fill-color:transparent;
}
@media (max-width:768px){
  .performance-badge img{ width:30px; height:30px; object-fit:cover; padding:0px; }
  .performance-badge p{ font-size:18px; margin-bottom:0; }
  .performance-badge{ display:inline-flex; align-items:center; gap:10px; }
}

/* =========================================================
   FEATURE CARDS (white on gradient bg)
   ========================================================= */

.section-bg-image{
  background: linear-gradient(to bottom,#f3f7fe,#ffffff);
  background-size:cover; background-position:center; background-repeat:no-repeat;
  min-height:300px; color:#fff; position:relative; padding:30px 0; z-index:1;
  margin-bottom: -50px;
}
.feature-card{
  margin: 0px; position:relative; background:#fff; padding:30px 30px 20px; border-radius:15px;
  box-shadow:0 8px 30px rgba(0,0,0,.02); height:110%; overflow:visible; text-align:left; 
}
.feature-card:hover{ box-shadow:0 8px 20px rgba(111, 1, 208, 0.204); }
.icon-top-right{
  position:absolute; top: 35px; left: 20px; width:60px; height:60px; background:#ffffff00; border-radius:10%;
  border:1px solid #ffffff00; display:flex; align-items:center; justify-content:center; ;
}
.icon-top-right img{ width:46px; height:46px; }
.feature-card h5{ font-size:28px; font-weight:600; margin:10px 0 20px; color:#111; }
.feature-card p{ font-size:16px; color:#322f2f; line-height:1.6; margin-left:0; }
@media (max-width:767px){ .feature-card{ padding:35px 20px 0px; } 
.icon-top-right{
  position:absolute; top: 35px; left: 20px; width:60px; height:60px; background:#ffffff00; border-radius:10%;
  border:1px solid #ffffff00; display:flex; align-items:center; justify-content:center; ;
}}


/* =========================================================
   NDA STRIP
   ========================================================= */

.nda-section{ background-color:#f8f9fb; }
.nda-wrapper{
  background:url('https://www.casefox.com/assets/img/background-1.png') no-repeat center center; background-size:cover;
  border-radius: 15px 15px 60px 15px; width:100%;
}
.nda-card{ background-color:#1b1e4aad; border-radius:15px 15px 15px 15px; color:#ffffff; }
.nda-card h5{ color:#fff; }
.nda-card p{ color:#ccc; }
.nda-section .btn-primary{ background:linear-gradient(90deg,#011446,#3171e6); border:none; }
.nda-section .btn-primary:hover{ background:linear-gradient(90deg,#011546c8,#3170e6c0); }

/* =========================================================
   ROLE TABS SECTION
   ========================================================= */

/* Base */
.role-section {   background:url('https://www.casefox.com/assets/img/qghDesign.webp') no-repeat center center; background-size:cover; }
.role-heading { font-size:2.5rem; font-weight:600; margin-bottom: -10px;  }
.role-disc{ font-size: 18px; color: #676666; margin-bottom: -5px;}

/* Tabs / Items */
.role-tab{
  cursor:pointer;
  padding:14px 16px;
  border-radius:12px;
  position:relative;
  overflow:hidden;
  transition:all .3s ease-in-out;
  margin-bottom: 0px;
  color:#6c757d;
}
.role-tab + .role-tab { margin-top:10px; }
.role-tab.active {background:#ffffff; color:#000; }
.role-tab:focus { outline:2px solid #007bff; outline-offset:2px; }

.role-title { font-weight:700; font-size:20px; margin-bottom: 10px;}
.desc { font-size:0.9rem; margin:.25rem 0; color:#6c757d; font-weight:500; }
.learn-more-link { font-size:1.1rem; font-weight:600; color:#0f5aa5; text-decoration:none; margin-top:15px; }

/* Always-visible descriptions */
.role-list .desc-wrap { display:block; margin-top:.25rem; }
.role-list .desc { margin:0 0 .25rem 0; }

/* (Legacy collapsible kept harmless; not used but doesn’t affect layout) */
.collapsible { max-height:none; opacity:1; transition:none; }

/* Image */
.image-wrapper { padding:0; border-radius:0; }
.role-img{
  max-height:530px;
  object-fit:contain;
  width:100%;
  height:auto;
  border-radius:.75rem;
  transition:opacity .35s ease, transform .35s ease;
}
.role-img.switching { opacity:.1; transform:scale(.98); }

/* Progress line (kept) */
.border-progress{
  height:3px;
  background:#e6e8ef;
  border-radius:999px;
  overflow:hidden;
  margin-top:10px;
  position:relative;
}
.border-progress.active::after{
  content:"";
  position:absolute;
  inset:0;
  transform-origin:left;
  transform:scaleX(0);
  background:linear-gradient(90deg, #8c58e1, #8c58e1);
  animation:fillBar 5s linear forwards;
}

/* Single, conflict-free keyframes (scaleX approach) */
@keyframes fillBar { to { transform:scaleX(1); } }

/* Responsive */
@media (max-width:992px){
  .role-heading{ font-size:2.2rem; }
  .role-title{ font-size:1rem; }
  .desc{ font-size:.875rem; }
  .learn-more-link{ font-size:1rem; }
  .role-img{ max-height:400px; }
}
@media (max-width:768px){
  .role-heading{ font-size:1.75rem; }
  .role-title{ font-size:.95rem; }
  .desc{ font-size:.825rem; }
  .learn-more-link{ font-size:.95rem; }
  .role-img{ max-height:400px; }
}
@media (max-width:576px){
  .role-heading{ font-size:1.5rem; }
  .role-title{ font-size:.9rem; }
  .desc{ font-size:.8rem; }
  .learn-more-link{ font-size:.9rem; }
  .role-img{ max-height:400px; }
}



/* Image: minimal defaults; no perpetual will-change */
.animated-3d{
  display:block;
  transform-origin:center center;
  backface-visibility:hidden;
  transform: translate3d(0,0,0);   /* kick to GPU without changing layout */
  filter:none;
  opacity:1;
}

/* Only enable heavy hints while animating (JS toggles .is-animating) */
.perspective-container.is-animating .animated-3d{
  will-change: transform, filter, opacity;  /* allocate GPU resources only in-flight */
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .animated-3d{
    transform:none !important;
    filter:none !important;
    opacity:1 !important;
    transition:none !important;
  }
}



/* =========================================================
   ========================================================= */




/* Base */
.persona-section {  background:url('https://www.casefox.com/assets/img/Bg Design 3.webp') no-repeat center center; background-size:cover; }
.persona-heading { font-size:3.0rem; font-weight:600; }

/* Image (now on the LEFT) */
.media-wrapper { padding:0; border-radius:0; }
.media-img{
  max-height:530px;
  object-fit:contain;
  width:100%;
  height:auto;
  border-radius:.75rem;
  transition:opacity .35s ease, transform .35s ease;
}
.media-switching { opacity:.1; transform:scale(.98); }

/* Tabs / Items (now on the RIGHT) */
.persona-tab{
  cursor:pointer;
  padding:14px 16px;
  border-radius:12px;
  position:relative;
  overflow:hidden;
  transition:all .3s ease-in-out;
  margin-bottom: 0px;
  color:#6c757d;
}
.persona-tab + .persona-tab { margin-top:10px; }
.persona-tab.active { background:#ffffff; color:#000; }
.persona-tab:focus { outline:2px solid #007bff; outline-offset:2px; }

.persona-title { font-weight:700; font-size:20px; }
.persona-desc { font-size:0.9rem; margin:.25rem 0; color:#6c757d; font-weight:500; }
.persona-link { font-size:1.1rem; font-weight:600; color:#0f5aa5; text-decoration:none; margin-top:15px; }

/* Always-visible descriptions */
.persona-list .persona-descwrap { display:block; margin-top:.25rem; }
.persona-list .persona-desc { margin:0 0 .25rem 0; }

/* (Legacy collapsible neutralized) */
.collapsible { max-height:none; opacity:1; transition:none; }

/* Progress line (kept) */
.persona-progress{
  height:3px;
  background:#e6e8ef;
  border-radius:999px;
  overflow:hidden;
  margin-top:10px;
  position:relative;
}
.persona-progress.active::after{
  content:"";
  position:absolute;
  inset:0;
  transform-origin:left;
  transform:scaleX(0);
  background:linear-gradient(90deg, #916cce, #916cce);
  animation:personaFill 5s linear forwards;
}

/* Keyframes */
@keyframes personaFill { to { transform:scaleX(1); } }

/* Responsive */
@media (max-width:992px)
{
  .persona-section .row.align-items-center{ flex-direction: column-reverse; }
  .persona-heading{ font-size:2.2rem; }
  .persona-title{ font-size:1rem; }
  .persona-desc{ font-size:.875rem; }
  .persona-link{ font-size:1rem; }
  .media-img{ max-height:400px; }
}
@media (max-width:768px){
  .persona-heading{ font-size:1.75rem; }
  .persona-title{ font-size:.95rem; }
  .persona-desc{ font-size:.825rem; }
  .persona-link{ font-size:.95rem; }
  .media-img{ max-height:400px; }
}
@media (max-width:576px){
  .persona-heading{ font-size:1.5rem; }
  .persona-title{ font-size:.9rem; }
  .persona-desc{ font-size:.8rem; }
  .persona-link{ font-size:.9rem; }
  .media-img{ max-height:400px; }
}


/* =========================================================
   ========================================================= */


   .uueye-section {  background:url('https://www.casefox.com/assets/img/qghDesign.webp') no-repeat center center; background-size:cover;}
.uueye-heading { font-size:3.5rem; font-weight:600; }

/* Tabs */
.uueye-tab{
  cursor:pointer;
  padding:14px 16px;
  border-radius: 12px;
  position:relative;
  overflow:hidden;
  transition:all .3s ease-in-out;
  margin-bottom: 0rem;
  color:#6c757d;
}
.uueye-tab + .uueye-tab { margin-top:10px; }
.uueye-tab.active { background:#ffffff; font-weight:600; color:#000; }
.uueye-tab:focus { outline:2px solid #007bff; outline-offset:2px; }

.uueye-title { font-weight:700; font-size:20px; }
.uueye-desc { font-size:0.9rem; margin:.25rem 0; color:#6c757d; font-weight:500; }
.uueye-link { font-size:1.1rem; font-weight:600; color:#0f5aa5; text-decoration:none; margin-top:15px; }
.uueye-list .uueye-descwrap { display:block; margin-top:.25rem; }
.uueye-list .uueye-desc { margin:0 0 .25rem 0; }

/* Image */
.uueye-imagewrapper { padding:0; border-radius:0; }
.uueye-img{
  max-height:530px;
  object-fit:contain;
  width:100%;
  height:auto;
  border-radius:.75rem;
  transition:opacity .35s ease, transform .35s ease;
}
.uueye-img.switching { opacity:.1; transform:scale(.98); }

/* Progress bar */
.uueye-progress{
  height:3px;
  background:#e6e8ef;
  border-radius:999px;
  overflow:hidden;
  margin-top:10px;
  position:relative;
}
.uueye-progress.active::after{
  content:"";
  position:absolute;
  inset:0;
  transform-origin:left;
  transform:scaleX(0);
  background:linear-gradient(90deg, #7341c5, #7341c5);
  animation:uueyeFill 5s linear forwards;
}
@keyframes uueyeFill { to { transform:scaleX(1); } }

/* Responsive */
@media (max-width:992px){
  .uueye-heading{ font-size:2.2rem; }
  .uueye-title{ font-size:1rem; }
  .uueye-desc{ font-size:.875rem; }
  .uueye-link{ font-size:1rem; }
  .uueye-img{ max-height:400px; }
}
@media (max-width:768px){
  .uueye-heading{ font-size:1.75rem; }
  .uueye-title{ font-size:.95rem; }
  .uueye-desc{ font-size:.825rem; }
  .uueye-link{ font-size:.95rem; }
  .uueye-img{ max-height:400px; }
}
@media (max-width:576px){
  .uueye-heading{ font-size:1.5rem; }
  .uueye-title{ font-size:.9rem; }
  .uueye-desc{ font-size:.8rem; }
  .uueye-link{ font-size:.9rem; }
  .uueye-img{ max-height:400px; }
}


/* =========================================================
   ========================================================= */

   .persona-section-2 {  background:url('https://www.casefox.com/assets/img/Bg Design 3.webp') no-repeat center center; background-size:cover; }
.persona-heading-2 { font-size:3.0rem; font-weight:600; }

.media-wrapper-2 { padding:0; border-radius:0; }
.media-img-2{
  max-height:530px;
  object-fit:contain;
  width:100%;
  height:auto;
  border-radius:.75rem;
  transition:opacity .35s ease, transform .35s ease;
}
.media-switching-2 { opacity:.1; transform:scale(.98); }

.persona-tab-2{
  cursor:pointer;
  padding:14px 16px;
  border-radius:12px;
  position:relative;
  overflow:hidden;
  transition:all .3s ease-in-out;
  margin-bottom: 0px;
  color:#6c757d;
}
.persona-tab-2 + .persona-tab-2 { margin-top:10px; }
.persona-tab-2.active { background:#ffffff; color:#000; }
.persona-tab-2:focus { outline:2px solid #007bff; outline-offset:2px; }

.persona-title-2 { font-weight:700; font-size:20px; }
.persona-desc-2 { font-size:0.9rem; margin:.25rem 0; color:#6c757d; font-weight:500; }
.persona-link-2 { font-size:1.1rem; font-weight:600; color:#0f5aa5; text-decoration:none; margin-top:15px; }

.persona-list-2 .persona-descwrap-2 { display:block; margin-top:.25rem; }
.persona-list-2 .persona-desc-2 { margin:0 0 .25rem 0; }

.persona-progress-2{
  height:3px;
  background:#e6e8ef;
  border-radius:999px;
  overflow:hidden;
  margin-top:10px;
  position:relative;
}
.persona-progress-2.active::after{
  content:"";
  position:absolute;
  inset:0;
  transform-origin:left;
  transform:scaleX(0);
  background:linear-gradient(90deg, #916cce, #916cce);
  animation:personaFill-2 5s linear forwards;
}

@keyframes personaFill-2 { to { transform:scaleX(1); } }

@media (max-width:992px)
{
  .persona-section-2 .row.align-items-center{ flex-direction: column-reverse; }
  .persona-heading-2{ font-size:2.2rem; }
  .persona-title-2{ font-size:1rem; }
  .persona-desc-2{ font-size:.875rem; }
  .persona-link-2{ font-size:1rem; }
  .media-img-2{ max-height:400px; }
}
@media (max-width:768px){
  .persona-heading-2{ font-size:1.75rem; }
  .persona-title-2{ font-size:.95rem; }
  .persona-desc-2{ font-size:.825rem; }
  .persona-link-2{ font-size:.95rem; }
  .media-img-2{ max-height:400px; }
}
@media (max-width:576px){
  .persona-heading-2{ font-size:1.5rem; }
  .persona-title-2{ font-size:.9rem; }
  .persona-desc-2{ font-size:.8rem; }
  .persona-link-2{ font-size:.9rem; }
  .media-img-2{ max-height:400px; }
}
/* =========================================================
   blog section
   ========================================================= */
   .blog-resources .gradient-text {
      background: linear-gradient(90deg, #0d6efd, #0dcaf0);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    .blog-resources .card {
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }
    .blog-resources .card:hover {
      transform: translateY(-5px);
      box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.08) !important;
    }
    .blog-resources .badge-outline {
      background: transparent;
      border: 1px solid #0dcaf0;
      color: #0dcaf0;
    }
    .blog-resources .link-arrow {
      transition: transform 0.2s ease;
    }
    .blog-resources .card-link:hover .link-arrow {
      transform: translateX(3px);
    }

/* =========================================================
   bottum CTA 
   ========================================================= */


   .msg-section-wrapper {
  background: linear-gradient(to bottom, #f8f9fb 50%, #b9d5fa 50%);
  padding: 30px 0;
}

/* CTA Card */
.msg-card {
  background: url(' https://www.casefox.com/assets/img/background-1.png') center center / cover no-repeat;
}

/* Gradient CTA */
.btn-gradient {
  background: linear-gradient(90deg, #200d7e, #4471f9);
  border: none;
  color: white;
  font-weight: 500;
  border-radius: 7px;
  transition: 0.3s ease;
  font-size: 20px;
}

.btn-gradient:hover {
  background: white;
  color: #021061;
  border: 2px solid #021061;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .msg-card {
    text-align: center;
  }

  .btn-gradient,
  .btn-outline-light {
    width: 100%;
    text-align: center;
  }
}

/* Enhanced CTA Button with improved responsiveness */
.cta-btn-fresh {
background: linear-gradient(90deg, #041264, #098dda);
color: #fff;
font-weight: 600;
font-size: clamp(16px, 2.5vw, 18px); /* Fluid font sizing */
padding: clamp(10px, 2.5vw, 12px) clamp(16px, 4vw, 28px); /* Fluid padding */
border: none;
border-radius: 10px;
transition: all 0.3s ease-in-out;
box-shadow: 0 4px 10px rgba(74, 9, 238, 0.25);
white-space: nowrap;
display: inline-block;
text-align: center;
min-height: 44px; /* Minimum touch target size for accessibility */
line-height: 1.2;
}

.cta-btn-fresh:hover {
background: linear-gradient(90deg, #098dda, #041264);
color: #fff;
box-shadow: 0 6px 14px rgba(51, 9, 238, 0.35);
}

.cta-btn-fresh:active {
transform: translateY(1px) scale(0.97);
box-shadow: 0 2px 6px rgba(9, 59, 238, 0.2);
}

/* Improved responsive behavior */
@media (max-width: 768px) {
.cta-btn-fresh {
width: 100%;
border-radius: 8px;
white-space: normal; /* Allow text wrapping on small screens */
padding: 14px 16px; /* Slightly larger padding for mobile /
display: block; / Full width button */
}
}

/* Enhanced input group compatibility */
.input-group {
flex-wrap: nowrap !important;
width: 100%;
}

.input-group .form-control {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
min-height: 44px; /* Match button height */
}

.input-group .cta-btn-fresh {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
flex-shrink: 0;
width: auto; /* Reset width for input groups */
}


/* =========================================================
   LAW PRACTICE ANIMATIONS
   ========================================================= */

.law-practice-section{ background-color:white; margin-top:-100px; }
.animate{ opacity:0; transform:translateY(40px); transition:all .8s ease-out; }
.fade-up{ transform:translateY(40px); }
.fade-left{ transform:translateX(-40px); }
.fade-right{ transform:translateX(40px); }
.fade-in{ transform:scale(.95); }
.animate.show{ opacity:1; transform:translate(0,0) scale(1); }
.delay-1{ transition-delay:.2s; }
.delay-2{ transition-delay:.4s; }
.delay-3{ transition-delay:.6s; }
.delay-4{ transition-delay:.8s; }

/* =========================================================
   SLIDER / TESTIMONIAL CARDS
   ========================================================= */

.slider112{ background-color:#ffffff00; }
.slider-section{ max-width:1380px; margin:auto; padding:0 20px; }
.display-heading{ font-size:2.7rem; line-height:1.3; font-weight:800; color:#555555; }
.display-stat{ font-size:11rem; line-height:1; font-weight:500; }
.text-gradient{ background:linear-gradient(90deg,#000000,#000000a5); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
@media (max-width:992px){
  .display-heading{ font-size:2.1rem; }
  .display-stat{ font-size:5rem; }
}
@media (max-width:576px){
  .display-heading{ font-size:1.8rem; }
  .display-stat{ font-size:4rem; }
}
.slider-wrapper{ position:relative; overflow:hidden; margin-top:80px; }
.slider-track{ display:flex; gap:1rem; overflow-x:auto; scroll-behavior:smooth; padding-bottom:1rem; }
.slider-track::-webkit-scrollbar{ display:none; }
.card-item{
  flex:0 0 calc(100% / 4.5); min-width:260px; border:none; background:#00000005;
  border-bottom:2px solid #0e042446; border-right:2px solid #0e042446; border-radius:.75rem;
  padding:20px; display:flex; flex-direction:column; justify-content:space-between;
  position:relative; transition:all .3s ease; height:380px;
}
.category{ font-size:1.10rem; font-weight:600; color:#6b7280; text-transform:uppercase; margin-bottom:1rem; }
.profile-img{ width:126px; height:126px; object-fit:cover; border-radius:.75rem; margin:1rem 0 1.7rem; }
.name{ font-size:1.125rem; font-weight:600; color:#111827; margin-bottom:.25rem; }
.role{ font-size:.875rem; color:#6b7280; margin-bottom:1rem; }
.company-logo{ height:35px; margin-top:auto; }
.slider-nav{ display:flex; justify-content:flex-end; margin-top:20px; }
.nav-btn{
  width:40px; height:40px; background:#fff; border:1px solid #d1d5db; border-radius:.5rem; display:flex; align-items:center; justify-content:center;
  transition: box-shadow .2s; margin-left:10px;
}
.nav-btn:hover{ box-shadow:0 4px 6px rgba(0,0,0,.1); }
.nav-btn svg{ width:20px; height:20px; color:#6b7280; }
@media (max-width:768px){ .card-item{ flex:0 0 80%; } .slider-nav{ display:none; } }

.card-content{ transition:all .3s ease; }
.card-hover-content{
  position:absolute; inset:0; padding:20px; background:#ff7a07; opacity:0; visibility:hidden; transform:translateY(10px);
  transition:all .3s ease; display:flex; flex-direction:column; justify-content:center; border-radius:.60rem;
}
.card-item:hover .card-content{ opacity:0; visibility:hidden; }
.card-item:hover .card-hover-content{ opacity:1; visibility:visible; transform:translateY(0); }
.percentage{ font-size:3rem; font-weight:700; color:#ffffff; margin-bottom:1rem; }
.testimonial-text{ font-size:1rem; color:#ffffff; margin-bottom:1rem; line-height:1.5; }
.hover-category{ font-size:1.10rem; font-weight:600; color:#ffffff; text-transform:uppercase; margin-bottom:1rem; }

/* =========================================================
   FAQ
   ========================================================= */

.faq .faq-title{ font-size:44px; font-weight:700; margin-bottom:1rem; color:var(--heading-color); }
.faq .faq-description{ font-size:1rem; color:var(--default-color); margin-bottom:2rem; }
.faq .faq-arrow{ color:var(--accent-color); }
.faq .faq-container .faq-item{
  background-color:var(--surface-color); position:relative; padding:20px; margin-bottom:15px; border-radius:10px; overflow:hidden;
}
.faq .faq-container .faq-item:last-child{ margin-bottom:0; }
.faq .faq-container .faq-item h3{
  font-weight:600; font-size:16px; line-height:24px; margin:0 30px 0 0; transition:.3s; cursor:pointer; display:flex; align-items:center;
}
.faq .faq-container .faq-item h3 .num{ color:var(--accent-color); padding-right:5px; }
.faq .faq-container .faq-item h3:hover{ color:var(--accent-color); }
.faq .faq-container .faq-item .faq-content{
  display:grid; grid-template-rows:0fr; transition:.3s ease-in-out; visibility:hidden; opacity:0;
}
.faq .faq-container .faq-item .faq-content p{ margin-bottom:0; overflow:hidden; }
.faq .faq-container .faq-item .faq-toggle{ position:absolute; top:20px; right:20px; font-size:16px; line-height:0; transition:.3s; cursor:pointer; }
.faq .faq-container .faq-item .faq-toggle:hover{ color:var(--accent-color); }
.faq .faq-container .faq-active h3{ color:var(--accent-color); }
.faq .faq-container .faq-active .faq-content{ grid-template-rows:1fr; visibility:visible; opacity:1; padding-top:10px; }
.faq .faq-container .faq-active .faq-toggle{ transform:rotate(90deg); color:var(--accent-color); }
/* Default (mobile/tablet) → normal flow */
.faq-left {
  position: static;
}

/* Desktop (≥992px) → sticky */
@media (min-width: 992px) {
  .faq-left {
    position: sticky;
    top: 100px; /* adjust based on header height */
    align-self: flex-start;
  }
}

/* =========================================================
   MS TEMPLATES (TEAMS) + CURVE FIX
   ========================================================= */

#ms-templates-teams .ms-card{ border:1px solid #f8f9fb; background:#f8f9fb; }
#ms-templates-teams .team-pill{
  border:1px solid #e6e6ef; background:#fff; color:#3a3a3a; border-radius:14px; padding:.6rem 1rem;
  font-weight:600; display:inline-flex; align-items:center; transition:all .2s;
}
#ms-templates-teams .team-pill:hover{ border-color:#c9c9ea; transform:translateY(-1px); }
#ms-templates-teams .team-pill.active{ background:#0f0f14; color:#fff; border-color:#0f0f14; }

/* Curved bg only behind left pane content */
#ms-templates-teams .left-pane{ position:relative; overflow:hidden; }
#ms-templates-teams .left-pane::after{
  content:""; position:absolute; right:100%; left:-80px; top:-25%; bottom:-25%; width:110%;
  background: radial-gradient(120% 70% at 0% 50%, #ffffff 0%, #ffffff 35%, #ffffff 58%, #ffffff 82%);
  z-index:0; pointer-events:none; border-radius:30%;
}
#ms-templates-teams .left-pane > *{ position:relative; z-index:1; }
#ms-templates-teams .features-box{ background:#fff; }
#ms-templates-teams .feature-row{
  display:flex; align-items:center; padding:16px 18px; border-bottom:1px solid #ececf2;
}
#ms-templates-teams .feature-row:last-child{ border-bottom:0; }
#ms-templates-teams .f-ico{
  width:40px; height:40px; border-radius:12px; background:#f3f3fb; display:flex; align-items:center; justify-content:center;
  font-size:18px; margin-right:12px; color:#1d1d1f;
}
#ms-templates-teams .f-text{ font-weight:600; color:#1d1d1f; }
#ms-templates-teams .cta-gradient{ background:linear-gradient(90deg,#041268 0%, #0a94e5 100%); color:#fff; border:0; }
#ms-templates-teams .cta-gradient:hover{ filter:brightness(.95); }
@media (max-width:991.98px){ #ms-templates-teams .left-pane::after{ display:none; } }

/* =========================================================
   REVIEWS / SOCIAL PROOF
   ========================================================= */

.reviews-section{
  background: radial-gradient(1200px 600px at 50% -10%, #c0d9fb 0%, #f8f9fb 70%);
  position:relative; overflow:hidden;
}
.trusted-pill{
  background: rgba(43,92,255,0.1); color:#2b5cff; letter-spacing:.08em; font-size:.75rem; backdrop-filter: blur(4px);
  border:1px solid rgba(43,92,255,0.2);
}
.reviews-title{
  max-width:900px; background:linear-gradient(120deg,#1a202c,#2d3748);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; line-height:1.2;
}
.brand-accent{
  background:linear-gradient(90deg,#2b5cff,#4b73ff); -webkit-background-clip:text; -webkit-text-fill-color:transparent; position:relative;
}
.brand-accent::after{
  content:''; position:absolute; bottom:-2px; left:0; width:100%; height:2px; background:linear-gradient(90deg,#2b5cff,#4b73ff); border-radius:2px;
}

/* IMPORTANT: Scope avatar stack in reviews to avoid global override */
.reviews-section .avatar-stack{ display:flex; align-items:center; }
.reviews-section .avatar-stack img{
  width:44px; height:44px; border-radius:50%; border:2px solid #fff; object-fit:cover; margin-left:-12px;
  transition:transform .3s ease; box-shadow:0 4px 6px rgba(0,0,0,.1);
}
.reviews-section .avatar-stack img:hover{ transform:translateY(-2px); z-index:2; }
.reviews-section .avatar-stack img:first-child{ margin-left:0; }

/* Cards */
.review-card{
  background:#fff; border:1px solid rgba(43,92,255,0.1); border-radius:1.25rem; padding:1.75rem;
  box-shadow:0 10px 25px rgba(17,24,39,.08); transition:all .3s ease; position:relative; overflow:hidden;
  animation: fadeInUp .6s ease forwards;
}
.review-card::before{
  content:''; position:absolute; top:0; left:0; width:100%; height:4px; background:linear-gradient(90deg,#2b5cff,#4b73ff); opacity:0; transition:opacity .3s ease;
}
.review-card:hover{ transform:translateY(-5px); box-shadow:0 20px 40px rgba(17,24,39,.12); }
.review-card:hover::before{ opacity:1; }
.review-card .g2-logo{ width:40px; height:24px; object-fit:contain; opacity:.7; }
.review-text{ color:#1f2937; line-height:1.7; margin:0; font-size:1.05rem; }
.review-card .avatar{ width:50px; height:50px; object-fit:cover; box-shadow:0 4px 8px rgba(0,0,0,.1); }

.reviews-section .btn-primary{
  background:linear-gradient(90deg,#2b5cff,#4b73ff); border:none; border-radius:.8rem; transition:all .3s ease;
}
.reviews-section .btn-primary:hover{ transform:translateY(-2px); box-shadow:0 8px 15px rgba(43,92,255,.3); }
.reviews-section .btn-outline-primary{
  border-radius:.8rem; border-width:2px; transition:all .3s ease;
}
.reviews-section .btn-outline-primary:hover{ transform:translateY(-2px); box-shadow:0 8px 15px rgba(0,0,0,.1); }

.trusted-logo{ height:30px; opacity:.7; transition:all .3s ease; filter:grayscale(100%); }
.trusted-logo:hover{ opacity:1; filter:grayscale(0%); }

@media (max-width:768px){
  .reviews-title{ font-size:2.2rem; }
  .review-card{ padding:1.5rem; }
  .reviews-section .avatar-stack img{ width:38px; height:38px; }
}
@media (max-width:576px){
  .reviews-title{ font-size:1.8rem; }
  .reviews-section .avatar-stack img{ width:34px; height:34px; }
  .trusted-logo{ height:22px; }
}
@keyframes fadeInUp{
  from{ opacity:0; transform:translateY(20px); }
  to{ opacity:1; transform:translateY(0); }
}
.review-card:nth-child(2){ animation-delay:.2s; }
.review-card:nth-child(3){ animation-delay:.4s; }
