/* =========================================================
   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{
  position:relative; padding:160px 20px 130px; 
  background:#f0f4fd url('https://www.casefox.com/assets/img/Mas-group.svg') no-repeat; background-size:cover;
  text-align:left; overflow:hidden; padding-bottom:0;
}
.hero-section h1{ min-width:1000px; }
.hero-container{ max-width:1320px; margin:0 auto; padding-bottom:0px; }
.badge-top{
  display:inline-block; padding:6px 12px; background:#bcc5e543; color:#3d5afe;
  font-size:13px; font-weight:600; border-radius:6px;
}

/* gradient animated text */
.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%; }
}

/* Avatar stack — generic (used outside reviews) */
.avatar-stack{
  display:flex; align-items:center;
}
.avatar-stack img{
  width:46px; height:46px; border-radius:50%;
  border:2px solid rgb(0,0,0); margin-left:0; object-fit:cover;
}

/* Rating card position */
.rating-fixed{
  position:absolute; top:480px; right:10%; z-index:2;
}

/* CTA input + button */
.cta-input{
  height:52px; font-size:16px; border-radius:8px 0 0 8px !important; border-right:none;
}
.cta-btn{
  background:linear-gradient(90deg,#01147e,#556eff); color:#ffffff; border:1px solid #402080;
  padding:0 24px; font-weight:600; font-size:16px; height:52px; border-radius:0 8px 8px 0 !important;
  position:relative; z-index:1; overflow:hidden; transition:all .4s ease;
}
.cta-btn::before{
  content:""; position:absolute; inset:0; background:linear-gradient(135deg,#798aeb,#f8f9ff);
  z-index:-1; transform:translateX(-100%); transition:transform .5s ease;
}
.cta-btn:hover::before{ transform:translateX(0); }
.cta-btn:hover{ color:#402080; border-color:#611ed4; }
.cta-input:focus{ outline:none; box-shadow:none; border-color:#ced4da; }

/* Dashboard image hover */
.dashboard-image{ transition: transform .3s ease; margin-top:0; }
.dashboard-image:hover{ transform: translateY(-5px); }

/* Hero responsive */
@media (max-width:1200px){
  .hero-section h1{ min-width:auto; font-size:2.5rem; }
  .rating-fixed{
    top:auto; bottom:20px; right:20px; position:relative; margin-top:30px;
  }
}
@media (max-width:992px){
  .hero-section{ padding:120px 20px 30px; background-position:center; }
  .hero-section h1{ font-size:2.2rem; line-height:1.3; min-width:auto; }
  .lead{ font-size:1rem; }
  .badge-top{ font-size:12px; padding:5px 10px; margin-top:100px; }
  .cta-note{ font-size:13px; }
  .rating-fixed{ position:relative; top:auto; right:auto; margin-top:24px; }
  .avatar-stack img{ width:38px; height:38px; }
  .hero-container{ padding-bottom:0px; }
}
@media (max-width:768px){
  .hero-section{ padding-top:100px; padding-bottom:60px; }
  .hero-section h1{ font-size:2rem; text-align:left; }
  .cta-box{ width:100%; }
  .dashboard-image{ margin-top:-40px; border-radius:18px; margin-bottom:-50px; }
}
@media (max-width:576px){
  .hero-section{ padding:80px 15px 10px; }
  .hero-section h1{ font-size:1.8rem; line-height:1.3; }
  .lead{ font-size:.95rem; }
  .cta-btn{ padding:0 16px; font-size:14px; }
  .cta-input{ font-size:14px; }
  .cta-note{ font-size:12px; margin-bottom:50px; }
  .avatar-stack img{ width:34px; height:34px; }
  .rating-fixed div{ font-size:14px !important; }
}

/* Gradient text utility */
.gradient-textt{
  font-weight:bold;
  background-image: linear-gradient(to right, #7991f6 0%, #2e3e8e 50%, #132a9d 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; color:transparent;
}

/* 3D perspective container */
.perspective-container {perspective: 1200px;perspective-origin: 50% 30%;max-width: 1100px;margin-top: -80px;}

/* Image with 3D effects */
.animated-3d { transform-style: preserve-3d; will-change: transform, box-shadow, filter; backface-visibility: hidden; transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.4s ease, filter 0.4s ease; border-radius: 27px;}

/* Starting pose before scroll anim kicks in */
.animated-3d.is-pre {  transform:    translateY(120px)    rotateX(25deg)  /* Increased backward tilt */    rotateY(-8deg)    scale(0.94);  filter: saturate(0.9) contrast(0.95) blur(1px);  opacity: 0.8;  box-shadow: 0 40px 90px rgba(0, 0, 0, 0.25);}

/* Final state when fully scrolled into view */
.animated-3d.is-fully-visible {  transform: translateY(0) rotateX(0) rotateY(0) scale(1);  filter: saturate(1.1) contrast(1.05) blur(0);  opacity: 1;  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);}

/* Loading state */
.animated-3d.is-loading {  opacity: 0;  transform: translateY(50px);}
  
/* Motion reduction (accessibility) */
@media (prefers-reduced-motion: reduce) {
  .animated-3d {  transition: none !important;  transform: none !important;  animation: none !important;  opacity: 1 !important;  filter: none !important;}
}

/* Performance optimization for mobile */
@media (max-width: 768px) {
  .perspective-container {  perspective: 800px;}
  .animated-3d.is-pre {  transform:    translateY(80px)    rotateX(20deg)  /* Slightly reduced tilt on mobile */    rotateY(-4deg)    scale(0.96);}
}

@media (max-width:768px){
  .content-row{ flex-direction:column !important; align-items:center !important; gap:40px !important; }
  .trusted-section{ width:100% !important; margin-right:0 !important; margin-bottom:20px !important; text-align:center !important; }
  .trusted-section > div{ justify-content:center !important; }
  .trusted-section img{ margin-top:0 !important; }
  .logos-section{ width:100% !important; justify-content:center !important; gap:20px 30px !important; }
  .logos-section img{ max-height:40px !important; max-width:100px !important; }
}


/* =========================================================
   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; ;
}}


/* =========================================================
   GRADIENT SECTION + ACCORDION + IMG FX
   ========================================================= */


/* =========================================================
   NDA STRIP
   ========================================================= */

.nda-section{ background-color:#ffffff; }
.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; }
}
/* =========================================================
   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 #e9e6ff; background:#e7f1ff; }
#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%, #ffffff 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; }
